RU2310989C2 - System and method for controlling speed of transmission when providing stream transmission service in real time - Google Patents

System and method for controlling speed of transmission when providing stream transmission service in real time Download PDF

Info

Publication number
RU2310989C2
RU2310989C2 RU2005139357/09A RU2005139357A RU2310989C2 RU 2310989 C2 RU2310989 C2 RU 2310989C2 RU 2005139357/09 A RU2005139357/09 A RU 2005139357/09A RU 2005139357 A RU2005139357 A RU 2005139357A RU 2310989 C2 RU2310989 C2 RU 2310989C2
Authority
RU
Russia
Prior art keywords
buffer level
buffer
network
client
level
Prior art date
Application number
RU2005139357/09A
Other languages
Russian (ru)
Other versions
RU2005139357A (en
Inventor
Дзи Хийе КИМ (KR)
Дзи Хийе КИМ
Кун Су КИМ (KR)
Кун Су КИМ
Дзонг Сунг КИМ (KR)
Дзонг Сунг Ким
Ханг Донг СЕОНГ (KR)
Ханг Донг СЕОНГ
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 Эл Джи Электроникс Инк.
Publication of RU2005139357A publication Critical patent/RU2005139357A/en
Application granted granted Critical
Publication of RU2310989C2 publication Critical patent/RU2310989C2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4385Multiplex stream processing, e.g. multiplex stream decrypting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number

Abstract

FIELD: communications engineering, possible use for providing stream transmission service in real time between stream server and stream client, connected through a predetermined network.
SUBSTANCE: in accordance to the invention, during transmission of multimedia content to stream client, stream server controls transmission speed by compensating for a value of accumulated average by means of addition of average value of difference between the level of buffer, messaged by stream client, and the required level of buffer. To prevent the initial reproduction delay, stream server performs control, setting the maximal speed of transmission allowed by network.
EFFECT: prevented overloading or underloading of buffer which occur when a stream transmission service is provided over extensive time span, minimized time delay from the moment of beginning of stream transmission to the moment of reproduction of actual image or sound.
2 cl, 6 dwg

Description

Область техники, к которой относится изобретениеFIELD OF THE INVENTION

Этот документ относится к системе и способу управления скоростью передачи при оказании услуги потоковой передачи в реальном времени, обеспечивающим возможность управления скоростью передачи данных, передаваемых от потокового сервера клиенту, посредством транспортного протокола реального времени и протокола управления передачей в реальном времени, что позволяет поддерживать уровень буфера потокового клиента на постоянном уровне.This document relates to a system and method for controlling the transmission rate of a real-time streaming service, providing the ability to control the transmission rate of data transmitted from the streaming server to the client using the real-time transport protocol and real-time transmission control protocol, which allows maintaining the buffer level streaming client at a constant level.

Описание предшествующего уровня техникиDescription of the Related Art

Обычно все мультимедийные данные, такие как видеоданные, данные компьютерной анимации или любая их комбинация, загружают в накопитель на жестких дисках персонального компьютера (ПК), например, посредством доступа в Internet для воспроизведения этих данных. Однако в среде потоковой передачи нельзя загрузить все данные сразу, а можно воспроизвести данные в реальном времени в процессе буферизации без загрузки сначала данных всего файла. Иными словами, потоковая передача дает возможность увидеть данные, не загружая сначала весь файл. Вообще говоря, потоковая передача - это способ передачи мультимедийных данных, обеспечивающий считывание, передачу и воспроизведение данных в Internet в реальном времени.Typically, all multimedia data, such as video data, computer animation data, or any combination thereof, is downloaded to a hard disk drive of a personal computer (PC), for example, via Internet access to reproduce this data. However, in a streaming environment, it is not possible to download all the data at once, but it is possible to reproduce the data in real time during buffering without first loading the entire file. In other words, streaming allows you to see data without first downloading the entire file. Generally speaking, streaming is a multimedia data transmission method that enables real-time reading, transmission and playback of data on the Internet.

Когда потоковый сервер и потоковый клиент соединены через проводную или беспроводную сеть, а потоковый сервер передает мультимедийный контент (информационно значимое содержимое), потоковый клиент, принявший передачу мультимедийного контента, буферизует принятый контент и воспроизводит этот контент в реальном времени.When the streaming server and the streaming client are connected via a wired or wireless network, and the streaming server transmits multimedia content (information-relevant content), the streaming client that has received the transmission of multimedia content buffers the received content and plays this content in real time.

Как правило, сама скорость передачи, обеспечиваемая потоковым сервером, удовлетворяет требованиям передаваемых данных. В потоковых пакетах аудио- и/или видеоданных, передаваемых посредством сжатия согласно стандартам Экспертной группы по кинематографии (MPEG), информация о времени для управления скоростью передачи, обеспечиваемой потоковым сервером, записывается в заголовке.As a rule, the transmission speed itself provided by the streaming server satisfies the requirements of the transmitted data. In streaming audio and / or video packets transmitted by compression according to the standards of the Expert Group on Cinematography (MPEG), time information for controlling the bit rate provided by the streaming server is recorded in the header.

Вместе с тем, даже если скорость передачи сохраняется в течение продолжительного времени оказания услуг потоковой передачи, возникает проблема. Вычислить точную скорость передачи невозможно даже в случае, если упомянутая информация о времени имеет исключительную точность, так что даже малая разность скоростей передачи может вызвать переполнение буфера через упомянутое продолжительное время.However, even if the transmission rate is maintained for a long time while providing streaming services, a problem arises. It is impossible to calculate the exact transmission rate even if the mentioned time information has exceptional accuracy, so that even a small difference in the transmission rates can cause a buffer overflow after the mentioned long time.

Существует еще одна проблема, заключающаяся в том, что и потоковый сервер, и потоковый клиент являются независимыми объектами, имеют разные опорные тактовые импульсы, а малые разности этих тактовых импульсов накапливаются в процессе эксплуатации дешевого кварцевого генератора, препятствуя обеспечению стабильной работы.There is another problem, namely, that the streaming server and the streaming client are independent objects, have different reference clock pulses, and small differences of these clock pulses accumulate during the operation of a cheap crystal oscillator, preventing stable operation.

На фиг.1 приведено первое графическое представление, иллюстрирующее изменение уровня буфера в соответствии с известным уровнем техники.1 is a first graphical view illustrating a change in a buffer level in accordance with the prior art.

Как показано на фиг.1, уровень буфера нарастает, если скорость передачи, обеспечиваемая потоковым сервером, больше, чем скорость данных, воспроизводимых фактическим потоковым клиентом, что приводит к случаю превышения максимального уровня буфера, определяемого потоковым клиентом.As shown in FIG. 1, the buffer level increases if the transmission rate provided by the streaming server is greater than the speed of data reproduced by the actual streaming client, which leads to the case when the maximum buffer level determined by the streaming client is exceeded.

Еще одна проблема заключается в том, что способ определения скорости передачи только по информации о времени, содержащейся в мультимедийных данных, вызывает возникновение временной задержки от момента начала потоковой передачи до момента начала фактического воспроизведения.Another problem is that the method of determining the transmission speed only from the time information contained in the multimedia data causes a time delay from the start of streaming to the start of actual playback.

На фиг.2 приведено второе графическое представление, иллюстрирующее изменение уровня буфера в соответствии с известным уровнем техники, где показано изменение уровня буфера после начала потоковой передачи. Для улавливания и воспроизведения контекста мультимедийного контента, передаваемого через MPEG-декодер потокового клиента, необходимо некоторое минимальное количество данных. Причиной является то, что потоковый клиент до некоторой степени способен допускать изменение задержки. Поэтому, как показано на фиг.2, «требуемый уровень буфера», до которого - как предполагается - заполнение буфера происходит без воспроизведения передаваемых данных, определяется с точностью до некоторого уровня перед началом воспроизведения.2 is a second graphical representation illustrating a change in the buffer level in accordance with the prior art, which shows the change in the buffer level after the start of streaming. To capture and reproduce the context of multimedia content transmitted through the MPEG decoder of the streaming client, a certain minimum amount of data is required. The reason is that the streaming client is somewhat capable of allowing delay variation. Therefore, as shown in FIG. 2, the “required buffer level”, to which - as expected - the buffer is filled without reproducing the transmitted data, is determined to a certain level before starting playback.

Вместе с тем управление посредством простого сравнения фактического уровня буфера и требуемого уровня буфера, сообщаемого потоковым клиентом, может негативно повлиять на стабильность системы, поскольку даже очень малая разность скоростей передачи между потоковым сервером и потоковым клиентом может привести к возникновению переполнения или недогрузке буфера.At the same time, control by simply comparing the actual buffer level and the required buffer level reported by the streaming client can negatively affect the stability of the system, since even a very small difference in the transmission rates between the streaming server and the streaming client can lead to buffer overflow or underload.

От потокового сервера требуется непрерывное управление скоростью передачи, чтобы поддерживать уровень буфера, сообщаемый потоковым клиентам. Кроме того, существует потребность в заполнении буфера с как можно большей скоростью, чтобы в момент, когда начинается потоковая передача, оказалось возможным быстрое воспроизведение.The streaming server is required to continuously control the transmission rate in order to maintain the buffer level reported to the streaming clients. In addition, there is a need to fill the buffer at the highest possible speed, so that when streaming starts, fast playback is possible.

Краткое изложение сущности изобретенияSummary of the invention

Одна задача настоящего изобретения состоит в том, чтобы разработать систему и способ управления скоростью передачи при оказании услуги потоковой передачи в реальном времени, обеспечивающие возможность стабильного поддержания уровня буфера путем управления скоростью передачи мультимедийного контента, передаваемого между потоковым сервером и потоковым клиентом.One object of the present invention is to provide a system and method for controlling the transmission rate of a real-time streaming service, enabling the buffer level to be stably maintained by controlling the transmission rate of multimedia content transmitted between the streaming server and the streaming client.

Еще одна задача настоящего изобретения состоит в том, чтобы разработать систему и способ управления скоростью передачи при оказании услуги потоковой передачи в реальном времени, чтобы минимизировать начальную задержку воспроизведения путем максимизации начальной скорости передачи от потокового сервера к потоковому клиенту.Another objective of the present invention is to develop a system and method for controlling the transmission rate when providing real-time streaming services in order to minimize the initial playback delay by maximizing the initial transmission rate from the streaming server to the streaming client.

В соответствии с одним аспектом настоящего изобретения, способ управления скоростью передачи при оказании услуги потоковой передачи в реальном времени включает в себя потоковую передачу мультимедийного контента в реальном времени клиенту, подключенному к сети, причем этот клиент имеет буфер. В этом варианте осуществления, мультимедийный контент разделяют и передают в соответствии со скоростью передачи. Способ также включает в себя посылку в сервер уровня буфера, который указывает объем мультимедийного контента, переданного клиенту, хранящийся в буфере. Способ также включает в себя изменение скорости передачи для завершения передачи мультимедийного контента. В данном случае, сервер изменяет скорость передачи путем компенсации накопленного среднего значения за период времени, связанный с разностью между упомянутым уровнем буфера и предварительно заданным требуемым уровнем буфера.In accordance with one aspect of the present invention, a method for controlling a transmission rate for a real-time streaming service includes real-time streaming of multimedia content to a client connected to the network, the client having a buffer. In this embodiment, multimedia content is shared and transmitted in accordance with a transmission rate. The method also includes sending to the server a buffer level that indicates the amount of multimedia content transmitted to the client stored in the buffer. The method also includes changing the transmission rate to complete the transmission of multimedia content. In this case, the server changes the transmission rate by compensating for the accumulated average over a period of time associated with the difference between the buffer level and the predetermined desired buffer level.

Сервер изменяет предварительно определенную скорость передачи для завершения передачи мультимедийного контента способом компенсации накопленного среднего значения за предварительно определенный период времени, связанный с разностью между принятым уровнем буфера и предварительно заданным требуемым уровнем буфера.The server changes the predefined transmission rate to complete the transmission of multimedia content by compensating for the accumulated average value for a predetermined period of time associated with the difference between the received buffer level and the predetermined required buffer level.

Сеть является либо проводной сетью, либо беспроводной сетью, а в частности представляет собой беспроводную локальную сеть (LAN), сеть Bluetooth, сеть Zigbee или сверхширокополосную (UWB) сеть.The network is either a wired network or a wireless network, and in particular is a wireless local area network (LAN), a Bluetooth network, a Zigbee network, or an ultra-wideband (UWB) network.

Клиент передает уровень буфера посредством сообщения о приложении (АРР), соответствующего протоколу управления передачей в реальном времени (RTCP).The client transmits the buffer level through the application message (APP) corresponding to the Real-Time Transmission Control Protocol (RTCP).

Уровень буфера, передаваемый посредством АРР-сообщения, может включать в себя, по меньшей мере, один из уровня буфера сокета протокола пользовательских дейтаграмм (UDP-сокета), уровня буфера потокового приложения, который задействуется у клиента, и уровня буфера декодера стандарта MPEG (MPEG-декодера), принадлежащего клиенту, а также уровня буфера, передаваемого посредством АРР-сообщения и содержащего все вышеупомянутые категории.The buffer level transmitted by the APP message may include at least one of a user datagram protocol socket socket level (UDP socket), a stream application buffer level that is used by the client, and an MPEG decoder buffer level (MPEG -decoder) belonging to the client, as well as the level of the buffer transmitted by the APP message and containing all of the above categories.

Этап передачи в соответствии с предварительно определенной скоростью передачи дополнительно включает в себя передачу мультимедийного контента с максимальной скоростью передачи, допускаемой сетью, когда начинается потоковая передача.The transmission step in accordance with a predetermined transmission rate further includes transmitting multimedia content with a maximum transmission rate allowed by the network when streaming begins.

Сервер, начавший передачу с максимальной скоростью передачи, поддерживает максимальную скорость передачи до тех пор, пока уровень буфера, принимаемый клиентом на предварительно определенном интервале, не достигнет в первый раз требуемого уровня буфера.The server that started transmission at the maximum transmission rate maintains the maximum transmission rate until the buffer level received by the client at a predetermined interval reaches the required buffer level for the first time.

После этого сервер изменяет уровень буфера в соответствии с предварительно заданной скоростью передачи и передает его для воспроизведения мультимедийного контента, если принимаемый уровень буфера достигает требуемого уровня буфера.After that, the server changes the level of the buffer in accordance with a predefined transmission rate and transmits it to play multimedia content if the received buffer level reaches the desired buffer level.

Вычисляют накопленное среднее значение, при этом разность между уровнем буфера, принятым за упомянутый период времени, и требуемым уровнем буфера умножают на весовой коэффициент, суммируют и усредняют, а разность, связанную с самым последним по времени принятым уровнем буфера, умножают на больший весовой коэффициент. Накопленное среднее значение можно вычислить с помощью следующего уравнения:The accumulated average value is calculated, and the difference between the buffer level adopted for the mentioned time period and the required buffer level is multiplied by a weight coefficient, summed and averaged, and the difference associated with the most recently received buffer level is multiplied by a larger weight coefficient. The accumulated average value can be calculated using the following equation:

Figure 00000002
Figure 00000002

где Δt обозначает накопленное среднее значение, N обозначает величину уровня буфера, принятого в течение предварительно определенного периода времени, lt-k обозначает уровень буфера, принятый на (t-k)-том интервале от клиента, θ обозначает требуемый уровень буфера, а ωk обозначает весовой коэффициент, имеющий значение от 0 до 1.where Δ t denotes the accumulated average value, N denotes the value of the buffer level received over a predefined period of time, l tk denotes the buffer level received at the (tk) -th interval from the client, θ denotes the required buffer level, and ω k denotes the weight coefficient having a value from 0 to 1.

Сервер компенсирует накопленное среднее значение путем изменения предварительно определенной скорости передачи в соответствии со следующим уравнением:The server compensates for the accumulated average value by changing a predefined transmission rate in accordance with the following equation:

Figure 00000003
Figure 00000003

где Δt обозначает накопленное среднее значение, Rt-1 обозначает скорость передачи перед изменением, а Rt обозначает уже измененную скорость передачи.where Δ t denotes the accumulated average value, R t-1 denotes the transmission rate before the change, and R t denotes the already changed transmission rate.

Потоковая система, соответствующая другому варианту осуществления настоящего изобретения, содержит сервер и клиент. Сервер осуществляет потоковую передачу мультимедийного контента в реальном времени путем разделения и передачи мультимедийного контента с некоторой скоростью передачи. Клиент включает в себя буфер и на некотором интервале передает в сервер уровень буфера - объем мультимедийного контента, который был передан и хранится в буфере. Сервер изменяет скорость передачи таким образом, что разность между переданным уровнем буфера и требуемым уровнем буфера компенсируется с использованием накопленного среднего значения за некоторый период времени. В этом варианте осуществления, передачу мультимедийного контента завершает клиент.A streaming system according to another embodiment of the present invention comprises a server and a client. The server streams multimedia content in real time by splitting and transmitting multimedia content at a certain transmission rate. The client includes a buffer and at a certain interval transmits a buffer level to the server - the amount of multimedia content that has been transferred and stored in the buffer. The server changes the transmission speed so that the difference between the transmitted buffer level and the desired buffer level is compensated using the accumulated average over a period of time. In this embodiment, the transfer of multimedia content ends with the client.

Перечень фигур чертежейList of drawings

Эти и/или другие аспекты и преимущества настоящего изобретения станут очевидными и легче воспринимаемыми после изучения нижеследующего подробного описания, приводимого в связи с прилагаемыми чертежами, при этомThese and / or other aspects and advantages of the present invention will become apparent and easier to read after studying the following detailed description given in connection with the accompanying drawings, while

фиг.1 - графическое представление, иллюстрирующее изменение уровня буфера в соответствии с известным уровнем техники;figure 1 is a graphical representation illustrating a change in the level of the buffer in accordance with the prior art;

фиг.2 - графическое представление, иллюстрирующее еще одно изменение уровня буфера в соответствии с известным уровнем техники;figure 2 is a graphical representation illustrating another change in the level of the buffer in accordance with the prior art;

фиг.3 - блок-схема, иллюстрирующая сеть, включающую в себя потоковую систему, соответствующую настоящему изобретению;3 is a block diagram illustrating a network including a streaming system in accordance with the present invention;

фиг.4 - диаграмма состояний, иллюстрирующая сообщение, используемое клиентом для передачи уровня буфера и соответствующее настоящему изобретению;4 is a state diagram illustrating a message used by a client to transmit a buffer level and corresponding to the present invention;

фиг.5 - схема последовательности операций, иллюстрирующая способ управления скоростью передачи при оказании услуги потоковой передачи в реальном времени, соответствующий настоящему изобретению; и5 is a flowchart illustrating a method for controlling a transmission rate when providing a real-time streaming service in accordance with the present invention; and

фиг.6 - графическое представление, иллюстрирующее изменение уровня буфера клиента, соответствующее настоящему изобретению.6 is a graphical representation illustrating a change in the level of a client buffer in accordance with the present invention.

Описание предпочтительных вариантов осуществленияDescription of Preferred Embodiments

Теперь со ссылками на прилагаемые чертежи будет приведено подробное описание вариантов осуществления настоящего изобретения.Now with reference to the accompanying drawings will be given a detailed description of embodiments of the present invention.

Система (обозначенная позицией 300 и именуемая далее «потоковой системой»), применяемая при осуществлении способа управления скоростью передачи при оказании услуги потоковой передачи, в соответствии с настоящим изобретением содержит сервер (310) и клиент (330). Сервер (310) и клиент (330) связаны через сеть (350), причем сервер (310) и клиент (330) поддерживают Internet-протокол (IP).The system (indicated by 300 and hereinafter referred to as the "streaming system") used in the implementation of the method of controlling the transmission rate for the provision of streaming services in accordance with the present invention comprises a server (310) and a client (330). The server (310) and the client (330) are connected through a network (350), and the server (310) and the client (330) support the Internet Protocol (IP).

Сеть (350) включает в себя проводную сеть и беспроводную сеть, а термин «беспроводная сеть» может относиться к беспроводной локальной сети (LAN), сети Bluetooth, сети ZigBee, сверхширокополосной (UWB) сети и т.п.The network (350) includes a wired network and a wireless network, and the term “wireless network” may refer to a wireless local area network (LAN), a Bluetooth network, a ZigBee network, an ultra-wideband (UWB) network, and the like.

Сервер (310) передает мультимедийный контент, включающий в себя данные изображения и звука, сжатые предварительно определенным способом. Упомянутый способ сжатия включает в себя способ, соответствующий стандарту Экспертной группы по кинематографии (MPEG), который является международным стандартом. Кроме того, сервер (310) может сам - посредством включенного в его состав MPEG-кодера (не показан) - сжимать мультимедийный контент.The server (310) transmits multimedia content including image and sound data compressed in a predetermined manner. Said compression method includes a method in accordance with the standard of the Expert Group on Cinematography (MPEG), which is an international standard. In addition, the server (310) can itself — by using the included MPEG encoder (not shown) —compress multimedia content.

Сервер (310) управляет потоковым пакетом посредством уровня буфера, сообщаемого клиентом (330), чтобы гарантировать поддержание уровня буфера клиента (330) на предварительно определенном уровне (именуемом далее "требуемым уровнем буфера").The server (310) controls the streaming packet through a buffer level reported by the client (330) to ensure that the client buffer level (330) is maintained at a predetermined level (hereinafter referred to as the "required buffer level").

Ниже будет приведено подробное описание управления скоростью передачи в отношении клиента (330) сервера (310). Далее следует отметить, что сервер (310) передает пакеты с максимальной скоростью передачи, допускаемой сетью (350), на начальной стадии передачи мультимедийного контента, чтобы таким образом заполнить буфер (331) клиента (330) до требуемого уровня буфера за короткий период времени.Below will be a detailed description of the transmission speed control in relation to the client (330) server (310). Further, it should be noted that the server (310) transmits packets with the maximum transmission rate allowed by the network (350) at the initial stage of the transmission of multimedia content in order to thereby fill the buffer (331) of the client (330) to the desired buffer level in a short period of time.

Клиент (330) включает в себя буфер (331) предварительно определенной емкости и декодирует потоковый пакет, переданный из сервера (310), чтобы получить данные изображения и/или звука, и воспроизводит эти данные изображения и/или звука посредством пользовательского интерфейса (не показан) с помощью громкоговорителя или устройства отображения.The client (330) includes a buffer (331) of predetermined capacity and decodes the stream packet transmitted from the server (310) to receive image and / or sound data and reproduces this image and / or sound data through a user interface (not shown ) using a speaker or display device.

Буфер (331) включает в себя буфер UDP-сокета, буфер программы потокового приложения и буфер MPEG-декодера.The buffer (331) includes a UDP socket buffer, a stream application program buffer, and an MPEG decoder buffer.

Клиент (330) сохраняет принятый потоковый пакет в буфере (331), декодирует и воспроизводит этот потоковый пакет. Клиент (330) передает - регулярно или нерегулярно - в сервер (330) уровень буфера, указывающий объем информации, хранящийся в текущий момент времени.The client (330) stores the received stream packet in the buffer (331), decodes and reproduces this stream packet. The client (330) sends - regularly or irregularly - to the server (330) a buffer level indicating the amount of information stored at the current time.

Теперь, со ссылками на фиг.4, будет приведено пояснение того, как клиент (310) потоковой системы (300), соответствующей настоящему изобретению, передает сообщение в сервер (310).Now, with reference to FIG. 4, an explanation will be given of how the client (310) of the streaming system (300) of the present invention transmits a message to the server (310).

Клиент (330) использует сообщение о приложении (АРР-сообщение), соответствующее протоколу управления передачей в реальном времени (RTCP), чтобы уведомить сервер (310) об уровне буфера.The client (330) uses the application message (APP message) corresponding to the real-time transmission control protocol (RTCP) to notify the server (310) of the buffer level.

Клиент (310) передает уровни буферов трех типов, включая уровень буфера UDP-сокета, уровень буфера программы потокового приложения и уровень буфера MPEG-декодера.Client (310) transmits three types of buffer levels, including a UDP socket buffer level, a streaming application program buffer level, and an MPEG decoder buffer level.

Уровень буфера UDP-сокета определяет уровень буфера, выделяемый для пакета, принимаемого в соответствии с протоколом UDP. Уровень буфера программы потокового приложения обозначает уровень буфера, выделяемый программе, воспроизводящей или обрабатывающей данные потоковой передачи, принимаемые для поддержки пользовательского интерфейса применительно к мультимедийному контенту. Кроме того, уровень буфера MPEG-декодера представляет собой уровень буфера, характерный для буфера, выделяемого для декодера (не показан), воспроизводящего мультимедийный контент путем его декодирования.The UDP socket buffer level determines the buffer level allocated to a packet received in accordance with the UDP protocol. The program buffer level of the streaming application refers to the buffer level allocated to the program that plays or processes the streaming data received to support the user interface for multimedia content. In addition, the buffer level of an MPEG decoder is a buffer level characteristic of a buffer allocated to a decoder (not shown) that reproduces multimedia content by decoding it.

Клиент (310) передает уровни буферов трех типов в байтовом блоке путем заполнения буферов до уровней, соответствующих формату сообщения, показанного на фиг.4. Сервер (310) использует сумму уровней буферов всех трех типов.The client (310) transmits three types of buffer levels in the byte block by filling the buffers to levels corresponding to the message format shown in FIG. 4. Server (310) uses the sum of the buffer levels of all three types.

Потоковые данные, переданные из сервера (310), сначала сохраняются в буфере (331). Потоковые данные, хранящиеся в буфере (331), не передаются в MPEG-декодер (не показан) до тех пор, пока не будет достигнут тот уровень буфера, который является требуемым уровнем буфера. Если MPEG-декодер (не показан) декодирует данные, хранящиеся в буфере, то это происходит, когда уровень буфера достигает требуемого уровня буфера. В действительности, MPEG-декодер (не показан) считывает данные потоковой передачи, чтобы уловить контекст данных, передаваемых и сохраняемых в буфере.Stream data transmitted from the server (310) is first stored in the buffer (331). Stream data stored in the buffer (331) is not transmitted to the MPEG decoder (not shown) until the buffer level that is the required buffer level is reached. If an MPEG decoder (not shown) decodes the data stored in the buffer, this occurs when the buffer level reaches the desired buffer level. In fact, an MPEG decoder (not shown) reads the streaming data to capture the context of the data transmitted and stored in the buffer.

Далее, со ссылками на фиг.5, будет описан способ управления скоростью передачи при оказании услуги потоковой передачи в реальном времени.Next, with reference to FIG. 5, a method for controlling a transmission rate when providing a real-time streaming service will be described.

Когда начинается передача потокового пакета, соответствующего новому мультимедийному контенту, сервер (310) инициализирует начальную скорость (R0) передачи, устанавливая (S501) ее равной максимальной скорости (Rmax) передачи, допускаемой сетью (350).When the transmission of the streaming packet corresponding to the new multimedia content begins, the server (310) initializes the initial transmission rate (R 0 ), setting (S501) its equal to the maximum transmission speed (R max ) allowed by the network (350).

Сервер (310) подтверждает (S503) уровень (lt) буфера, переданный от клиента (330). Сервер (310) устанавливает (S505), превышает ли переданный уровень (lt) буфера уровень (θ) буфера, требуемый клиентом (330).The server (310) confirms (S503) the level (l t ) of the buffer transmitted from the client (330). The server (310) sets (S505) whether the transmitted buffer level (l t ) exceeds the buffer level (θ) required by the client (330).

Если в результате проведения этапа (S505) установлено, что переданный уровень (lt) буфера превышает требуемый уровень (θ) буфера, то сервер (310) изменяет скорость передачи с максимальной скорости (Rmax) передачи до обычной скорости (RDATA) передачи.If, as a result of step (S505), it is established that the transmitted buffer level (l t ) exceeds the required buffer level (θ), then the server (310) changes the transmission speed from the maximum transmission rate (R max ) to the normal transmission rate (R DATA ) .

Обычная скорость (RDATA) передачи потоковых данных - это скорость передачи, на которой клиент (310) осуществляет обычное воспроизведение. Вместе с тем, начальная принятая скорость передачи представляет собой скорость (RDATA) передачи, задаваемую для пакета, подлежащего потоковой передаче. Иными словами скорость (RDATA) передачи представляет собой скорость, с которой воспроизводится (S507) мультимедийный контент, переданный из сервера (310).The normal bit rate (R DATA ) of streaming data is the bit rate at which the client (310) performs normal playback. However, the initial received transmission rate is the transmission rate (R DATA ) specified for the packet to be streamed. In other words, the transmission speed (R DATA ) is the speed at which the multimedia content transmitted from the server (310) is played (S507).

Если в результате проведения этапа (S505) установлено, что переданный уровень (lt) буфера меньше требуемого уровня (θ) буфера, то сервер (310) поддерживает максимальную скорость (Rmax) передачи, чтобы минимизировать время начальной задержки до тех пор, пока переданный уровень (lt) буфера не достигнет требуемого уровня (θ) буфера.If, as a result of step (S505), it is established that the transmitted buffer level (l t ) is less than the required buffer level (θ), then the server (310) maintains the maximum transmission speed (R max ) in order to minimize the initial delay time until the transmitted buffer level (l t ) does not reach the desired buffer level (θ).

После этого, сервер (310) изменяет (S509 - S515) скорость (Rt) передачи, чтобы скомпенсировать разность между уровнем (lt) буфера, вновь переданным от клиента (330), и уровнем (θ) буфера, требуемым клиентом (330) (или MPEG-декодером потокового клиента), до тех пор, пока потоковая передача мультимедийного контента, подлежащего потоковой передаче, не завершится.After that, the server (310) changes (S509 - S515) the transmission rate (R t ) to compensate for the difference between the level (l t ) of the buffer newly transmitted from the client (330) and the level (θ) of the buffer required by the client (330 ) (or MPEG decoder of the streaming client) until the streaming of the multimedia content to be streamed is completed.

Далее будет приведено подробное пояснение способа управления скоростью передачи на этапах (S509 - S515).Next, a detailed explanation of the transmission rate control method in steps (S509 to S515) will be provided.

Прежде всего, сервер (310) принимает от клиента (330) непрерывно изменяющийся текущий уровень (lt) буфера.First of all, the server (310) receives from the client (330) a continuously changing current level (l t ) of the buffer.

Сервер (310) осуществляет поиск накопленного среднего значения за предварительно определенный период времени, связанный с разностью между требуемым уровнем (θ) буфера и сообщенным уровнем (lt) буфера, и компенсирует упомянутое значение.The server (310) searches for the accumulated average value over a predetermined period of time associated with the difference between the required level (θ) of the buffer and the reported level (l t ) of the buffer, and compensates for the value.

Накопленное среднее значение можно вычислить (S511) с помощью следующего уравнения 1.The accumulated average value can be calculated (S511) using the following equation 1.

[Уравнение 1][Equation 1]

Figure 00000002
Figure 00000002

при этом накопленное среднее значение (Δt) вычисляется сервером (310) с использованием предварительно заданной величины (N) уровня (lt) буфера, сообщенного самым последним по времени от клиента (330); ωk - действительное число, имеющее значение между 0 и 1 и являющееся весовым коэффициентом, используемым для уменьшения влияния уровня (lt), принятого ранее от клиента (330); θ - требуемый уровень буфера.wherein the accumulated average value (Δ t ) is calculated by the server (310) using a predetermined value (N) of the level (l t ) of the buffer reported by the most recent in time from the client (330); ω k is a real number having a value between 0 and 1 and is a weighting factor used to reduce the influence of the level (l t ) received earlier from the client (330); θ is the required buffer level.

Сервер (310) вычисляет новую скорость (Rt) передачи путем прибавления величины накопленного среднего значения (Δt), полученной с помощью уравнения 1 и умноженной на предыдущую скорость (Rt-1) передачи, снова к предыдущей скорости (Rt-1) передачи. Новую скорость (Rt) передачи можно получить (S513) с помощью следующего уравнения 2.Server (310) calculates the new transmission rate (R t ) by adding the accumulated average value (Δ t ) obtained using equation 1 and multiplied by the previous transmission speed (R t-1 ), again to the previous speed (R t-1 ) transmission. The new transmission rate (R t ) can be obtained (S513) using the following equation 2.

[Уравнение 2][Equation 2]

Figure 00000003
Figure 00000003

Получив новое значение скорости передачи, сервер (310) передает мультимедийный контент клиенту (330) со скоростью (Rt) передачи, скорректированной с помощью уравнения 2, и устанавливает (S515), завершена ли передача с упомянутой скоростью передачи.Having received a new value of the transmission rate, the server (310) transmits the multimedia content to the client (330) with the transmission rate (R t ) adjusted by Equation 2 and determines (S515) whether the transmission is completed with said transmission rate.

Если в результате проведения этапа (S514) установлено, что передача мультимедийного контента не завершена, то сервер (310) повторяет операции этапов (S509) - (S515) с целью непрерывного изменения скорости (Rt) передачи в соответствии с изменениями уровня буфера.If, as a result of step (S514), it is established that the transmission of multimedia content is not completed, then the server (310) repeats the operations of steps (S509) - (S515) to continuously change the transmission speed (R t ) in accordance with changes in the buffer level.

Посредством вышеупомянутого способа, потоковая система (300), соответствующая настоящему изобретению, может предотвратить нестабильность скорости передачи, соответствующую обычному способу, при котором переданный уровень буфера просто сравнивают с запрашиваемым уровнем буфера, чтобы провести регулирование скорости передачи в сторону увеличения или уменьшения.By the aforementioned method, the streaming system (300) according to the present invention can prevent the transmission rate instability in accordance with the conventional method in which the transmitted buffer level is simply compared with the requested buffer level in order to adjust the transmission rate up or down.

На фиг.6 приведено графическое представление, иллюстрирующее изменение уровня буфера клиента в случае использования способа управления скоростью передачи, описанного в связи с фиг.5, при оказании услуги потоковой передачи в реальном времени; на этом представлении можно увидеть, что уровень буфера (331) сходится к запрашиваемому уровню буфера.FIG. 6 is a graphical representation illustrating a change in a client buffer level in the case of using the transmission rate control method described in connection with FIG. 5 in real-time streaming service; in this view, you can see that the buffer level (331) converges to the requested buffer level.

Управление скоростью передачи в соответствии с настоящим изобретением реализуется посредством обращения к уровню буфера в течение последнего периода времени [t-(N-1), t], что позволяет предотвратить внезапное изменение уровня буфера. Кроме того, информации о последнем по времени уровне буфера присваивается больший вес, чтобы обеспечить быструю и устойчивую сходимость скорости передачи данных к скорости воспроизведения, обеспечиваемой клиентом (330).The transmission rate control in accordance with the present invention is implemented by accessing the buffer level during the last time period [t- (N-1), t], which helps to prevent a sudden change in the buffer level. In addition, information on the most recent buffer level is assigned a greater weight to ensure fast and stable convergence of the data rate to the playback speed provided by the client (330).

Из вышеизложенного очевидно, что преимущество предлагаемых системы и способа управления скоростью передачи при оказании услуги потоковой передачи в реальном времени, описанных выше в соответствии с настоящим изобретением, заключается в том, что переполнение или недогрузку буфера, которые могут происходить в случае оказания услуги потоковой передачи в течение длительного времени, можно предотвратить, а это гарантирует возможность оказания услуги потоковой передачи при поддержании надлежащего уровня буфера в любые моменты времени.From the foregoing, it is obvious that the advantage of the proposed system and method for controlling the transmission rate for the provision of real-time streaming services described above in accordance with the present invention is that the buffer overflow or underload that may occur in the case of the provision of streaming services in for a long time, it can be prevented, and this guarantees the possibility of providing streaming services while maintaining an appropriate buffer level at any time.

Описанное управление можно реализовать относительно простым способом, потому что в его основу заложен уровень буфера клиента.The described control can be implemented in a relatively simple way, because it is based on the client buffer level.

Кроме того, в потоковой системе, соответствующей настоящему изобретению, используется максимальная скорость передачи, допускаемая сетью при первоначальной передаче, чтобы гарантировать максимальное сокращение времени, проходящего от момента начала потоковой передачи до момента воспроизведения фактического изображения или звука.In addition, the streaming system of the present invention utilizes the maximum transmission rate allowed by the network during initial transmission in order to guarantee the maximum reduction in time from the start of streaming to the actual image or sound.

Настоящее изобретение можно воплотить в способе, устройстве и системе. Кроме того, если намереваются воплотить настоящее изобретение в программном обеспечении компьютера, то составляющие элементы настоящего изобретения можно заменить сегментами кода, необходимыми для проведения операций. Программы или сегменты кода можно хранить на носителе, отработку доступа к которому осуществляет микропроцессор, и передавать в качестве данных компьютера, связываемых с сигналами несущей, через посредство сред передачи или сетей связи. Носители, отработку доступа к которым осуществляет микропроцессор, включают в себя любые носители, которые могут обеспечить передачу и хранение информации, такие как электронные схемы, полупроводниковые запоминающие устройства, оперативные запоминающие устройства (ОЗУ), блоки флэш-памяти, электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ), флоппи-диски, оптические диски, жесткие диски, оптические волокна и радиосети. Данные компьютера включают в себя данные, которые можно передавать посредством каналов электрических сетей, оптических волокон, магнитных полей, радиосетей.The present invention can be embodied in a method, device and system. In addition, if you intend to translate the present invention into computer software, then the constituent elements of the present invention can be replaced by code segments necessary for operations. Programs or code segments can be stored on a medium accessed by a microprocessor and transmitted as computer data associated with carrier signals through transmission media or communication networks. The media accessed by the microprocessor includes any media that can transmit and store information, such as electronic circuits, semiconductor memory devices, random access memory (RAM), flash memory blocks, an electrically erasable programmable read-only memory device (EEPROM), floppy disks, optical disks, hard disks, optical fibers and radio networks. Computer data includes data that can be transmitted through the channels of electrical networks, optical fibers, magnetic fields, radio networks.

Настоящее изобретение описано выше в различных подробностях со ссылками на конкретные варианты осуществления и чертежи. Однако эти подробности следует считать не наложением ограничений на объем притязаний настоящего изобретения, а просто иллюстрацией некоторых из предпочтительных в настоящее время вариантов его осуществления. Следует также понять, что специалисты в данной области техники смогут провести другие модификации или замены в описанных вариантах осуществления в рамках толкуемого в широком смысле объема притязаний изобретения. Вышеописанные варианты осуществления и чертежи не следует интерпретировать в отрыве от идей и аспектов настоящего изобретения.The present invention has been described above in various details with reference to specific embodiments and drawings. However, these details should not be construed as imposing limitations on the scope of the claims of the present invention, but merely illustrating some of the currently preferred embodiments. It should also be understood that those skilled in the art will be able to make other modifications or replacements to the described embodiments within the broadly interpreted scope of the claims of the invention. The above embodiments and drawings should not be interpreted in isolation from the ideas and aspects of the present invention.

Claims (18)

1. Способ управления скоростью передачи при потоковой передаче в реальном времени, заключающийся в том, что осуществляют потоковую передачу мультимедийного контента в реальном времени клиенту, подключенному к серверу через сеть, причем этот клиент имеет буфер, при этом мультимедийный контент разделяют и передают в соответствии со скоростью передачи, посылают в сервер уровень буфера, указывающий объем мультимедийного контента, переданного клиенту, хранящийся в буфере, изменяют скорость передачи для завершения передачи мультимедийного контента, при этом сервер изменяет скорость передачи путем компенсации накопленного среднего значения за период времени, связанный с разностью между упомянутым уровнем буфера и предварительно заданным требуемым уровнем буфера.1. A method for controlling the transmission rate in real-time streaming, which comprises real-time streaming of multimedia content to a client connected to the server via a network, the client having a buffer, wherein the multimedia content is shared and transmitted in accordance with the transmission rate, send to the server a buffer level indicating the amount of multimedia content transmitted to the client stored in the buffer, change the transmission speed to complete the transmission of multimedia ontenta, wherein the server changes the transmission rate by compensating for the accumulated average value for a period of time related to the difference between said buffer layer and specify required buffer level. 2. Способ по п.1, в котором сеть является беспроводной сетью, а беспроводная сеть представляет собой беспроводную локальную сеть (LAN), сеть Bluetooth, сеть Zigbee или сверхширокополосную (UWB) сеть.2. The method of claim 1, wherein the network is a wireless network, and the wireless network is a wireless local area network (LAN), a Bluetooth network, a Zigbee network, or an ultra-wideband (UWB) network. 3. Способ по п.1 или 2, в котором уровень буфера, принимаемый сервером, включен в переданное от клиента сообщение о приложении (АРР-сообщение), соответствующее протоколу управления передачей в реальном времени (RTCP).3. The method according to claim 1 or 2, in which the buffer level received by the server is included in the application message transmitted from the client (APP message) corresponding to the real-time transmission control protocol (RTCP). 4. Способ по п.3, в котором уровень буфера, передаваемый посредством АРР-сообщения, включает в себя, по меньшей мере, один из уровня буфера номера порта, соответствующего протоколу пользовательских дейтаграмм (UDP), уровня буфера потокового приложения и уровня буфера декодера, соответствующего стандарту Экспертной группы по кинематографии (MPEG-декодера).4. The method according to claim 3, in which the buffer level transmitted by the APP message includes at least one of a buffer level of a port number corresponding to a user datagram protocol (UDP), a buffer level of a streaming application, and a buffer level of a decoder corresponding to the standard of the Expert Group on Cinematography (MPEG decoder). 5. Способ по п.1, в котором передача мультимедийного контента с некоторой скоростью передачи заключается в том, что5. The method according to claim 1, in which the transmission of multimedia content with a certain transmission rate is that передают мультимедийный контент с максимальной скоростью передачи, допускаемой сетью,transmit multimedia content with the maximum transfer rate allowed by the network, принимают уровень буфера, передаваемый от клиента,accept the buffer level passed from the client, поддерживают максимальную скорость передачи до тех пор, пока принимаемый уровень буфера не достигнет упомянутого предварительно заданного требуемого уровня буфера,maintaining a maximum transmission rate until the received buffer level reaches said predefined desired buffer level, изменяют на предварительно заданную скорость передачи для воспроизведения мультимедийного контента, если принятый уровень буфера достиг упомянутого предварительно заданного требуемого уровня буфера.change to a predetermined transmission rate for reproducing multimedia content if the received buffer level has reached said predetermined desired buffer level. 6. Способ по п.1, в котором вычисляют накопленное среднее значение, при этом разность между уровнем буфера, принятым за упомянутый период времени, и требуемым уровнем буфера умножают на весовой коэффициент, суммируют и усредняют, а разность, связанную с самым последним по времени принятым уровнем буфера, умножают на больший весовой коэффициент.6. The method according to claim 1, in which the accumulated average value is calculated, wherein the difference between the buffer level adopted for the said time period and the desired buffer level is multiplied by a weight coefficient, summed and averaged, and the difference associated with the most recent in time the accepted buffer level is multiplied by a larger weight coefficient. 7. Способ по п.6, в котором накопленное среднее значение вычисляют с помощью следующего уравнения:7. The method according to claim 6, in which the accumulated average value is calculated using the following equation:
Figure 00000004
Figure 00000004
где Δt - накопленное среднее значение, N - величина уровня буфера, принятого в течение предварительно определенного периода времени, lt-k - уровень буфера, принятый на (t-k)-том интервале от клиента, θ - требуемый уровень буфера, а ωk - весовой коэффициент, имеющий значение от 0 до 1.where Δt is the accumulated average value, N is the value of the buffer level received during a predefined period of time, l tk is the buffer level received at the (tk) interval from the client, θ is the required buffer level, and ω k is the weight coefficient having a value from 0 to 1.
8. Способ по п.7, в котором завершение передачи предусматривает компенсацию накопленного среднего значения путем изменения упомянутой предварительно определенной скорости передачи в соответствии со следующим уравнением:8. The method according to claim 7, in which the completion of the transmission provides for the compensation of the accumulated average value by changing said predefined transmission rate in accordance with the following equation:
Figure 00000005
Figure 00000005
где Δt - накопленное среднее значение, Rt-1 - скорость передачи перед изменением, a Rt - уже измененная скорость передачи.where Δt is the accumulated average value, R t-1 is the transmission rate before the change, and R t is the already changed transmission rate.
9. Способ по п.1, в котором сеть является проводной сетью.9. The method of claim 1, wherein the network is a wired network. 10. Потоковая система, содержащая10. Stream system containing сервер, подключенный к сети, причем этот сервер осуществляет потоковую передачу мультимедийного контента в реальном времени путем разделения и передачи мультимедийного контента с некоторой скоростью передачи, иa server connected to the network, and this server streams multimedia content in real time by splitting and transmitting multimedia content at a certain transmission rate, and клиент, включающий в себя буфер, причем клиент на некотором интервале передает в сервер уровень буфера, указывающий объем мультимедийного контента, который был передан и хранится в буфере, причем сервер изменяет скорость передачи таким образом, что разность между переданным уровнем буфера и требуемым уровнем буфера компенсируется с использованием накопленного среднего значения за некоторый период времени, причем передачу мультимедийного контента завершает клиент.a client including a buffer, and the client at a certain interval transmits to the server a buffer level indicating the amount of multimedia content that has been transferred and stored in the buffer, and the server changes the transmission speed so that the difference between the transmitted buffer level and the desired buffer level is compensated using the accumulated average over a period of time, and the transfer of multimedia content ends the client. 11. Система по п.10, в которой сеть является беспроводной сетью, а беспроводная сеть представляет собой беспроводную локальную сеть (LAN), сеть Bluetooth, сеть Zigbee или сверхширокополосную (UWB) сеть.11. The system of claim 10, wherein the network is a wireless network, and the wireless network is a wireless local area network (LAN), a Bluetooth network, a Zigbee network, or an ultra-wideband (UWB) network. 12. Система по п.10 или 11, в которой уровень буфера, принимаемый сервером, включен в переданное от клиента сообщение о приложении (АРР-сообщение), соответствующее протоколу управления передачей в реальном времени (RTCP).12. The system of claim 10 or 11, in which the buffer level received by the server is included in the application message sent from the client (APP message) corresponding to the real-time transmission control protocol (RTCP). 13. Система по п.12, в которой уровень буфера, передаваемый посредством АРР-сообщения, включает в себя, по меньшей мере, один из уровня буфера номера порта, соответствующего протоколу пользовательских дейтаграмм UDP-сокета, уровня буфера потокового приложения и уровня буфера MPEG-декодера.13. The system of claim 12, wherein the buffer level transmitted by the APP message includes at least one of a buffer level of a port number corresponding to a protocol of user datagrams of a UDP socket, a buffer level of a streaming application, and an MPEG buffer level decoder. 14. Система по п.10, в которой сервер начинает передачу мультимедийного контента с максимальной скоростью передачи, допускаемой сетью, поддерживает максимальную скорость передачи до тех пор, пока уровень буфера, принимаемый от клиента на некотором интервале, не достигнет требуемого уровня буфера в первый раз, и изменяет уровень буфера для достижения предварительно заданной скорости передачи и передает мультимедийный контент для воспроизведения, если принятый уровень буфера достигает требуемого уровня буфера.14. The system of claim 10, in which the server starts transmitting multimedia content with the maximum transfer rate allowed by the network, maintains the maximum transfer rate until the buffer level received from the client at a certain interval reaches the desired buffer level for the first time , and changes the level of the buffer to achieve a predetermined transmission rate and transmits multimedia content for playback if the received buffer level reaches the desired buffer level. 15. Система по п.10, в которой накопленное среднее значение вычисляется таким образом, что разность между уровнем буфера, принятым за упомянутый период времени, и требуемым уровнем буфера, умножается на весовой коэффициент, суммируется и усредняется, а разность, связанная с самым последним по времени принятым уровнем буфера, умножается на больший весовой коэффициент.15. The system of claim 10, in which the accumulated average value is calculated in such a way that the difference between the level of the buffer adopted for the mentioned period of time and the desired level of the buffer is multiplied by a weight coefficient, summed and averaged, and the difference associated with the most recent the time taken by the buffer level is multiplied by a larger weight coefficient. 16. Система по п.15, в которой накопленное среднее значение вычисляется с помощью следующего уравнения:16. The system of clause 15, in which the accumulated average value is calculated using the following equation:
Figure 00000006
Figure 00000006
где Δt - накопленное среднее значение, N - величина уровня буфера, принятого в течение предварительно определенного периода времени, lt-k - уровень буфера, принятый на (t-k)-том интервале от клиента, θ - требуемый уровень буфера, а ωt - весовой коэффициент, имеющий значение от 0 до 1.where Δt is the accumulated average value, N is the value of the buffer level received over a predefined period of time, l tk is the buffer level received at the (tk) interval from the client, θ is the required buffer level, and ω t is the weight coefficient having a value from 0 to 1.
17. Система по п.16, в которой завершение передачи предусматривает компенсацию накопленного среднего значения путем изменения упомянутой предварительно определенной скорости передачи в соответствии со следующим уравнением:17. The system according to clause 16, in which the completion of the transmission provides for the compensation of the accumulated average value by changing the aforementioned predetermined transmission speed in accordance with the following equation:
Figure 00000007
Figure 00000007
где Δt - накопленное среднее значение, Rt-1 - скорость передачи перед изменением, a Rt - уже измененная скорость передачи.where Δ t is the accumulated average value, R t-1 is the transmission rate before the change, and R t is the already changed transmission rate.
18. Система по п.10, в которой сеть является проводной сетью.18. The system of claim 10, in which the network is a wired network.
RU2005139357/09A 2004-12-16 2005-12-15 System and method for controlling speed of transmission when providing stream transmission service in real time RU2310989C2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020040107266A KR100631514B1 (en) 2004-12-16 2004-12-16 Method for controlling transport rate of real-time streaming service
KR10-2004-0107266 2004-12-16

Publications (2)

Publication Number Publication Date
RU2005139357A RU2005139357A (en) 2007-06-20
RU2310989C2 true RU2310989C2 (en) 2007-11-20

Family

ID=36087370

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2005139357/09A RU2310989C2 (en) 2004-12-16 2005-12-15 System and method for controlling speed of transmission when providing stream transmission service in real time

Country Status (5)

Country Link
US (1) US7627685B2 (en)
EP (1) EP1672870A1 (en)
KR (1) KR100631514B1 (en)
CN (1) CN1790973A (en)
RU (1) RU2310989C2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2553433C2 (en) * 2010-01-18 2015-06-10 Телефонактиеболагет Лм Эрикссон (Пабл) Method and assembly for supporting content playback
RU2687273C1 (en) * 2016-03-08 2019-05-13 Фиберхоум Телекоммьюникейшн Технолоджис Ко., Лтд Method of generating a value of cn by displaying gmp settings in an optical transport network otn

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8483243B2 (en) * 2006-09-15 2013-07-09 Microsoft Corporation Network jitter smoothing with reduced delay
KR100841217B1 (en) * 2007-01-29 2008-06-26 주식회사 에이스엠이 Apparatus and method for controlling file streaming
KR101382135B1 (en) 2007-04-11 2014-04-07 삼성전자주식회사 Apparatus and method for playing back network contents
US7881335B2 (en) * 2007-04-30 2011-02-01 Sharp Laboratories Of America, Inc. Client-side bandwidth allocation for continuous and discrete media
JP2009110609A (en) * 2007-10-31 2009-05-21 Hitachi Ltd Stream data transfer control mechanism
US20090138614A1 (en) * 2007-11-28 2009-05-28 Motorola, Inc. Method and apparatus for streaming media in a communication network
US8854964B2 (en) * 2007-12-14 2014-10-07 General Instrument Corporation Method and apparatus for determining a transport bit rate for a Multiprogram transport stream
CA2723788C (en) * 2008-07-28 2016-10-04 Vantrix Corporation Data streaming through time-varying transport media
KR101009822B1 (en) 2008-08-06 2011-01-19 삼성전자주식회사 Method for transfering and receiving streaming data in communication system comprising server and mobile communication terminal and the communication system
KR20110065100A (en) * 2009-12-09 2011-06-15 삼성전자주식회사 Method and apparatus for supporting multimedia streaming service
CN103139188B (en) * 2011-12-05 2016-03-23 中国电信股份有限公司 Flow-medium transmission method and system
TWI507022B (en) 2012-12-05 2015-11-01 Ind Tech Res Inst Buffer output method for multimedia stream and multimedia stream buffer module

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6850965B2 (en) * 1998-11-17 2005-02-01 Arthur Douglas Allen Method for connection acceptance and rapid determination of optimal multi-media content delivery over network
US6978312B2 (en) * 1998-12-18 2005-12-20 Microsoft Corporation Adaptive flow control protocol
US20050021830A1 (en) 2001-09-21 2005-01-27 Eduardo Urzaiz Data communications method and system using buffer size to calculate transmission rate for congestion control
JP4126928B2 (en) * 2002-02-28 2008-07-30 日本電気株式会社 Proxy server and proxy control program
KR20050010832A (en) 2002-05-22 2005-01-28 코닌클리케 필립스 일렉트로닉스 엔.브이. Transmission method using a virtual reception buffer to absorb fluctuation of the channel transmission rate

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2553433C2 (en) * 2010-01-18 2015-06-10 Телефонактиеболагет Лм Эрикссон (Пабл) Method and assembly for supporting content playback
RU2687273C1 (en) * 2016-03-08 2019-05-13 Фиберхоум Телекоммьюникейшн Технолоджис Ко., Лтд Method of generating a value of cn by displaying gmp settings in an optical transport network otn

Also Published As

Publication number Publication date
RU2005139357A (en) 2007-06-20
EP1672870A1 (en) 2006-06-21
US20060168296A1 (en) 2006-07-27
CN1790973A (en) 2006-06-21
US7627685B2 (en) 2009-12-01
KR20060068547A (en) 2006-06-21
KR100631514B1 (en) 2006-10-09

Similar Documents

Publication Publication Date Title
RU2310989C2 (en) System and method for controlling speed of transmission when providing stream transmission service in real time
JP4819873B2 (en) Technology to control data packet transmission of variable bit rate data
JP4558802B2 (en) Method and apparatus for adaptive buffering
EP1622385B1 (en) Media transrating over a bandwidth-limited network
US7594025B2 (en) Startup methods and apparatuses for use in streaming content
KR101702562B1 (en) Storage file format for multimedia streaming file, storage method and client apparatus using the same
US8230105B2 (en) Adaptive bitrate management for streaming media over packet networks
JP4988346B2 (en) Method and system for adaptive transcoding and rate conversion in video networks
US20100040347A1 (en) Video Stream Adaptive Frame Rate Scheme
US20080133766A1 (en) Method and apparatus for streaming media to a plurality of adaptive client devices
US20080148327A1 (en) Method and Apparatus for Providing Adaptive Trick Play Control of Streaming Digital Video
JP2004343701A (en) Data receiving reproduction apparatus, data receiving reproduction method, and data receiving reproduction processing program
JP2008508791A (en) Home entertainment system, playback method, and television receiver
KR20210135338A (en) How to broadcast streaming content on a peer-to-peer (P2P) network
WO2010147878A1 (en) Methods and apparatus to facilitate client controlled sessionless adaptation
US7548585B2 (en) Audio stream adaptive frequency scheme
US7627702B2 (en) Data reproduction device and method, and program
TWI666928B (en) Delivery control apparatus and delivery control method for abr streaming of content delivery
KR101090440B1 (en) Apparatus and method for controlling buffer data level in receiver of data communication system, and apparatus and method for playing streaming data with adaptive clock synchronizer
JP2005086362A (en) Data multiplexing method, data transmitting method and data receiving method
JP2009188735A (en) Device, system, method for distributing animation data and program
WO2004039034A1 (en) System and method for reducing initial buffering time for a streaming application
KR100931344B1 (en) Method for providing video streaming service and system, server and user terminal for same
JP2008293436A (en) Content reception control device and content reception control program
KR20040071937A (en) Transmission and receiving method for multimedia data

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20081216