[go: up one dir, main page]

KR100631514B1 - 실시간 스트리밍 서비스의 전송률 제어 방법 - Google Patents

실시간 스트리밍 서비스의 전송률 제어 방법 Download PDF

Info

Publication number
KR100631514B1
KR100631514B1 KR1020040107266A KR20040107266A KR100631514B1 KR 100631514 B1 KR100631514 B1 KR 100631514B1 KR 1020040107266 A KR1020040107266 A KR 1020040107266A KR 20040107266 A KR20040107266 A KR 20040107266A KR 100631514 B1 KR100631514 B1 KR 100631514B1
Authority
KR
South Korea
Prior art keywords
streaming
buffer level
rate
client
reported
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020040107266A
Other languages
English (en)
Other versions
KR20060068547A (ko
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 KR1020040107266A priority Critical patent/KR100631514B1/ko
Priority to US11/284,896 priority patent/US7627685B2/en
Priority to EP05026862A priority patent/EP1672870A1/en
Priority to RU2005139357/09A priority patent/RU2310989C2/ru
Priority to CNA2005101369584A priority patent/CN1790973A/zh
Publication of KR20060068547A publication Critical patent/KR20060068547A/ko
Application granted granted Critical
Publication of KR100631514B1 publication Critical patent/KR100631514B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream 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 encoded video stream 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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

본 발명은 실시간 스트리밍 서비스의 전송률 제어 방법에 관한 것으로, 종래에는 스트리밍 서버와 스트리밍 클라이언트 간의 아주 약간의 전송 속도 차이가 장시간 후에는 버퍼 오버플로우 또는 언더런을 발생시키는 문제점이 있었다. 이러한 문제점을 감안한 본 발명은 스트리밍 클라이언트에 멀티미디어 자료를 전송하는 스트리밍 서버의 전송률 제어 방법에 있어서, 상기 스트리밍 서버의 초기 전송률 R0를 통신망이 허용하는 최고 전송률 Rmax로 설정하고, 상기 스트리밍 서버에 보고된 상기 스트리밍 클라이언트의 버퍼 레벨 lt를 체크하는 단계와, 상기 스트리밍 서버에 보고된 상기 스트리밍 클라이언트의 버퍼 레벨 lt가 기준 버퍼 레벨 θ를 초과하면 전송률을 상기 스트리밍 클라이언트에서 자료를 소모하는 속도 RDATA로 설정하고, 상기 스트리밍 서버에 보고된 상기 스트리밍 클라이언트의 버퍼 레벨 lt를 체크하는 단계와, 상기 스트리밍 서버에 보고된 상기 스트리밍 클라이언트의 버퍼 레벨 lt과 기준 버퍼 레벨 θ의 차이에 따른 보정값 Δt를 계산하는 단계와, 상기 전송률을 상기 보정값 Δt를 이용해 변경하는 단계로 구성되어 항상 적절한 버퍼 레벨을 유지할 수 있는 효과가 있다.

Description

실시간 스트리밍 서비스의 전송률 제어 방법{METHOD FOR CONTROLLING TRANSPORT RATE OF REAL-TIME STREAMING SERVICE}
도 1은 종래 기술에 의한 버퍼 레벨 변화를 보여주는 제 1 그래프도.
도 2는 종래 기술에 의한 버퍼 레벨 변화를 보여주는 제 2 그래프도.
도 3은 본 발명에 의한 버퍼 레벨 정보를 포함하는 메시지의 구성도.
도 4는 본 발명에 의한 전송률을 제어하기 위한 방법을 보여주는 흐름도.
도 5는 본 발명에 의한 버퍼 레벨 변화를 보여주는 그래프도.
본 발명은 실시간 스트리밍 서비스의 전송률 제어 방법에 관한 것으로, 특히 실시간 전송 프로토콜(Real-time Transport Protocol) 및 실시간 전송 제어 프로토콜(Real-time Transport Control Protocol)을 사용하는 스트리밍 서버에서 스트리밍 클라이언트로 전송되는 데이터의 전송 속도를 제어할 수 있게 한 실시간 스트리밍 서비스의 전송률 제어 방법에 관한 것이다.
기본적으로, 스트리밍 서버의 전송률은 전송하고자 하는 데이터의 요구 사항에 따른다. MPEG으로 대표되는 오디오/비디오 자료에는 스트리밍 서버의 전송률을 제어하기 위한 시간 정보가 기록되어 있다.
그러나 상기 전송률도 장시간 스트리밍 서비스를 하게 되면 문제가 발생한다. 시간 정보의 정밀도가 높은 경우에도 정확한 전송 속도를 계산하는 것은 불가능하며, 아주 약간의 전송 속도 차이가 장시간 후에는 버퍼 오버플로우(Buffer Overflow)나 언더런(Under Run)을 발생시킨다.
또한, 스트리밍 서버와 스트리밍 클라이언트는 네트워크에서 각각 독립적인 개체로서, 별도의 참조 시각장치(Reference Clock)를 가지게 되고, 저가의 수정진동자(Oscillator)를 사용하는 경우 안정적인 동작을 제공할 수 없다. 따라서, 스트리밍 클라이언트는 스트리밍 서버가 보내주는 자료보다 더 많은 양을 소모하거나, 스트리밍 서버가 제공하는 만큼의 자료를 소모하지 않을 수 있다.
도 1은 종래 기술에 의한 버퍼 레벨 변화를 보여주는 제 1 그래프도로서, 이에 도시된 바와 같이 실제 클라이언트에서 자료가 소모되는 속도보다 서버의 전송 속도가 빠른 경우 버퍼 레벨(buffer level)은 지속적으로 높아지게 되어 클라이언트에서 정의한 최대 버퍼 레벨을 초과하는 경우가 발생한다.
또한, 전송하고자 하는 멀티미디어 자료의 시간 정보만으로 전송률을 결정하는 방식은, 스트리밍 시작 시점부터 실제 재생이 시작되기까지의 시간 지연이 발생하는 문제가 있다.
이를, 도 2의 스트리밍이 시작된 시점부터 버퍼 레벨이 변화하는 양상을 나타내는 그래프도로 표현한다. 이에 도시된 바와 같이 시간 지연이 발생하는 이유는, 디코더가 멀티미디어 자료의 문맥을 파악하기 위하여 최소한으로 필요한 자료 의 양이 있고, 전송 지연의 변화(delay variance)를 어느 정도 수용해 줄 수 있도록 재생을 시작하기 전에 채워져야 하는 버퍼 레벨이 정해져 있기 때문이다.
따라서, 스트리밍 서버는 스트리밍 클라이언트에 의해 보고된 버퍼 레벨이 요구된 버퍼 레벨을 유지할 수 있도록 지속적으로 전송률을 제어해야 하며, 스트리밍이 시작되는 시점에서 최대한 빠른 속도로 버퍼를 채워줘야 할 필요가 있다.
상기 언급한 바와 같이 종래 기술에 있어서, 스트리밍 서버와 스트리밍 클라이언트 간의 아주 약간의 전송 속도 차이가 장시간 후에는 버퍼 오버플로우 또는 언더런을 발생시키는 문제점이 있다.
따라서, 본 발명은 상기와 같은 문제점을 감안하여 창안한 것으로, 스트리밍 서버와 클라이언트 간에 전송되는 멀티미디어 자료의 전송률을 제어하여 버퍼 레벨을 안정적으로 유지할 수 있도록 한 실시간 스트리밍 서비스의 전송률 제어 방법을 제공함에 그 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명은, 스트리밍 클라이언트에 멀티미디어 자료를 전송하는 스트리밍 서버의 전송률 제어 방법에 있어서, 상기 스트리밍 서버의 초기 전송률 R0를 통신망이 허용하는 최고 전송률 Rmax로 설정하고, 상기 스트리밍 서버에 보고된 상기 스트리밍 클라이언트의 버퍼 레벨 lt를 체크하는 단계와, 상기 스트리밍 서버에 보고된 상기 스트리밍 클라이언트의 버퍼 레벨 lt가 기준 버퍼 레벨 θ를 초과하면 전송률을 상기 스트리밍 클라이언트에서 자료를 소모하는 속도 RDATA로 설정하고, 상기 스트리밍 서버에 보고된 상기 스트리밍 클라이언트의 버퍼 레벨 lt를 체크하는 단계와, 상기 스트리밍 서버에 보고된 상기 스트리밍 클라이언트의 버퍼 레벨 lt과 기준 버퍼 레벨 θ의 차이에 따른 보정값 Δt를 계산하는 단계와, 상기 전송률을 상기 보정값 Δt를 이용해 변경하는 단계로 이루어진 것을 특징으로 한다.
이하, 본 발명에 따른 실시 예를 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.
도 3은 본 발명에 의한 스트리밍 클라이언트에서 스트리밍 서버로 전송하는 메시지의 구성도로서, 스트리밍 클라이언트에서 스트리밍 서버로 버퍼 레벨을 알려주기 위하여 이에 도시한 바와 같이 실시간 전송 제어 프로토콜(Real-Time Transport Control Protocol)의 APP 메시지를 정의한다.
스트리밍 클라이언트 측면에서 볼 때, 버퍼는 UDP 소켓 버퍼 레벨(UDP socket buffer level), 스트리밍 응용 프로그램 버퍼 레벨(Streaming application buffer level) 및 MPEG 디코더 버퍼 레벨(Decoder buffer level)의 크게 세 가지로 구분한다. 이 때, 스트리밍 클라이언트는 상기 세 가지 버퍼 레벨을 바이트(byte) 단위로 알아낸 다음, 도 3의 메시지 형식에 맞게 채워 넣은 후 스트리밍 서버로 전송한다.
스트리밍 서버는 상기 세 가지 버퍼 레벨의 총 합을 사용한다. 버퍼 레벨이 일정 레벨에 도달할 때까지 상기 스트리밍 클라이언트의 소프트웨어는 디코더(decoder)로 자료를 전송하지 않고 버퍼를 채운다. 그리고 정해진 버퍼 레벨까지 도달하게 되면 상기 디코더에서 자료를 소모하기 시작하며, 상기 디코더는 자료의 문맥을 파악하기 위하여 실제로 자료를 재생하는 속도보다 빠른 속도로 자료를 소모한다.
도 4는 본 발명에 의한 전송률 제어 방법을 보여주는 흐름도로서, 이에 도시한 바와 같이 새로운 멀티미디어 자료가 스트리밍 되기 시작할 때의 초기 전송 속도 R0을 통신망이 허용하는 최대 전송 속도 Rmax로 초기화 한다.
그리고, 스트리밍 서버에 보고된 스트리밍 클라이언트의 버퍼 레벨 lt를 참조하여, 상기 보고된 스트리밍 클라이언트의 버퍼 레벨 lt가 요구된 버퍼 레벨 Θ에 도달할 때까지의 초기 지연 시간을 최소화하기 위하여 최대 전송 속도 Rmax를 유지한다.
이 때, 상기 보고된 스트리밍 클라이언트의 버퍼 레벨 lt가 요구된 버퍼 레벨 θ보다 큰 경우, 정상적인 재생 상태에서의 전송률 Rt의 초기값은 멀티미디어 자료 내에서 기술된 요구 전송률 RDATA로 한다. 즉, 상기 RDATA는 스트리밍 서버에서 전송한 멀티미디어 자료가 소모되는 속도를 의미한다.
그 다음, 상기 스트리밍 클라이언트에 의해 보고된 버퍼 레벨 lt와, 상기 스트리밍 클라이언트 또는 상기 스트리밍 클라이언트의 디코더에 의해 요구된 버퍼 레벨 Θ을 기준으로 전송률 Rt를 제어한다. 전송률의 제어는, 보고된 버퍼 레벨과 요구된 버퍼 레벨을 비교하여 전송률을 상향/하향 조절하는 방법이 있으나, 이 방법은 전송률이 안정화되지 못하고 계속 표류하게 될 가능성이 있으므로 본 발명에서는 다음과 같은 방법을 사용한다.
우선, 보고된 버퍼 레벨 lt와 요구된 버퍼 레벨 Θ의 차이 Δt를 계산하며, 이는 스트리밍 서버가 가장 최근에 클라이언트로부터 보고된 버퍼 레벨 lt를 소정 개수 N으로 유지할 때, 하기 수학식 1에 의해 계산된다.
Figure 112004059467403-pat00001
참고로, 상기 수학식 1에서 ω는 0에서 1 사이의 값을 갖는 실수로서, 오래된 정보의 가중치를 낮추기 위해 사용하는 값이다.
그에 따라, 보고된 버퍼 레벨 lt와 요구된 버퍼 레벨 Θ의 차이 Δt가 구해지면 하기 수학식 2에 의해 수정되기 전의 전송률 Rt-1로부터 수정된 전송률 Rt를 계산할 수 있다.
Figure 112004059467403-pat00002
상기 수학식 2에 의해 수정된 전송률 Rt이 얻어지면 그 수정된 전송률 Rt로 멀티미디어 자료를 전송하고, 더 이상의 전송할 멀티미디어 자료가 존재하지 않을 때까지 시간 변화에 따라 계속적으로 전송률 Rt를 변경한다.
이와 같은 전송률 제어 방식을 사용하여 얻어진 시간 추이에 따른 버퍼 레벨의 그래프도를 살펴보면, 도 5에 도시한 바와 같이 스트리밍 클라이언트의 버퍼 레벨은 최근 [t-(N-1), t] 시간 동안의 버퍼 레벨을 참조하여 전송률을 제어하므로 전송률이 급격하게 변화하는 것을 방지한다. 또한, 최신의 버퍼 레벨 정보일수록 비중을 높게 두어, 자료 전송률이 스트리밍 클라이언트의 자료 소모율에 빠르고 안정적으로 수렴할 수 있게 된다.
이상에서 상세히 설명한 바와 같이, 본 발명은 스트리밍 서비스를 제공함에 있어서 자료의 전송 속도를 스트리밍 클라이언트의 버퍼 레벨을 기준으로 결정하므로, 비교적 간단한 계산 방법으로 장시간 스트리밍 서비스를 제공했을 때 발생하는 버퍼의 오버플로우나 언더런을 방지할 수 있고 항상 적절한 버퍼 레벨을 유지할 수 있는 효과가 있다.
또한, 스트리밍 시작 시점에서 실제 화면이나 음향으로 발현되는 시점까지의 시간을 최대한 짧게 할 수 있는 효과도 기대할 수 있다.

Claims (5)

  1. 스트리밍 클라이언트에 멀티미디어 자료를 전송하는 스트리밍 서버의 전송률 제어 방법에 있어서,
    상기 스트리밍 서버의 초기 전송률 R0를 통신망이 허용하는 최고 전송률 Rmax로 설정하고, 상기 스트리밍 서버에 보고된 상기 스트리밍 클라이언트의 버퍼 레벨 lt를 체크하는 단계와,
    상기 스트리밍 서버에 보고된 상기 스트리밍 클라이언트의 버퍼 레벨 lt가 기준 버퍼 레벨 θ를 초과하면 전송률을 상기 스트리밍 클라이언트에서 자료를 소모하는 속도 RDATA로 설정하고, 상기 스트리밍 서버에 보고된 상기 스트리밍 클라이언트의 버퍼 레벨 lt를 체크하는 단계와,
    상기 스트리밍 서버에 보고된 상기 스트리밍 클라이언트의 버퍼 레벨 lt과 기준 버퍼 레벨 θ의 차이에 따른 보정값 Δt를 계산하는 단계와,
    상기 전송률을 상기 보정값 Δt를 이용해 변경하는 단계로 이루어진 것을 특징으로 하는 실시간 스트리밍 서비스의 전송률 제어 방법.
  2. 제 1 항에 있어서, 상기 스트리밍 서버에 보고된 상기 스트리밍 클라이언트의 버퍼 레벨을 측정하는 단계는, 상기 스트리밍 서버가 상기 스트리밍 클라이언트로부터 UDP 소켓 버퍼 레벨(UDP socket buffer level), 스트리밍 응용 프로그램 버퍼 레벨(Streaming application buffer level) 및 MPEG 디코더 버퍼 레벨(Decoder buffer level)로 구성된 메시지를 수신하여 버퍼 레벨을 측정하도록 이루어진 것을 특징으로 하는 실시간 스트리밍 서비스의 전송률 제어 방법.
  3. 제 2 항에 있어서, 상기 스트리밍 서버에 보고된 상기 스트리밍 클라이언트의 버퍼 레벨을 측정하는 단계는, 상기 스트리밍 서버가 상기 UDP 소켓 버퍼 레벨, 스트리밍 응용 프로그램 버퍼 레벨 및 MPEG 디코더 버퍼 레벨의 총 합으로 버퍼 레벨을 측정하도록 이루어진 것을 특징으로 하는 실시간 스트리밍 서비스의 전송률 제어 방법.
  4. 제 1 항에 있어서, 상기 스트리밍 서버에 보고된 상기 스트리밍 클라이언트의 버퍼 레벨 lt과 기준 버퍼 레벨 θ의 차이값에 따른 보정값 Δt를 계산하는 단계는, ω가 0부터 1사이의 값을 가지고, 상기 스트리밍 클라이언트로부터 보고된 버퍼 레벨 lt의 개수가 N개 일 때, 수식
    Figure 112006033838544-pat00003
    에 의해 보정값 Δt를 계산하는 것을 특징으로 하는 실시간 스트리밍 서비스의 전송률 제어 방법.
  5. 제 1 항에 있어서, 상기 전송률을 상기 보정값 Δt를 이용해 변경하는 단계는, Rt가 변경 후의 전송률이고 Rt-1이 변경 전의 전송률일 때, 수식
    Figure 112004059467403-pat00004
    에 의해 전송률을 변경하는 것을 특징으로 하는 실시간 스트리밍 서비스의 전송률 제어 방법.
KR1020040107266A 2004-12-16 2004-12-16 실시간 스트리밍 서비스의 전송률 제어 방법 Expired - Fee Related KR100631514B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020040107266A KR100631514B1 (ko) 2004-12-16 2004-12-16 실시간 스트리밍 서비스의 전송률 제어 방법
US11/284,896 US7627685B2 (en) 2004-12-16 2005-11-23 System and method for controlling transport rate of real time streaming service
EP05026862A EP1672870A1 (en) 2004-12-16 2005-12-08 System and method for controlling the ransport rate of a real time streaming service
RU2005139357/09A RU2310989C2 (ru) 2004-12-16 2005-12-15 Система и способ управления скоростью передачи при оказании услуги потоковой передачи в реальном времени
CNA2005101369584A CN1790973A (zh) 2004-12-16 2005-12-16 用于控制实时流业务的传送速率的系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040107266A KR100631514B1 (ko) 2004-12-16 2004-12-16 실시간 스트리밍 서비스의 전송률 제어 방법

Publications (2)

Publication Number Publication Date
KR20060068547A KR20060068547A (ko) 2006-06-21
KR100631514B1 true KR100631514B1 (ko) 2006-10-09

Family

ID=36087370

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040107266A Expired - Fee Related KR100631514B1 (ko) 2004-12-16 2004-12-16 실시간 스트리밍 서비스의 전송률 제어 방법

Country Status (5)

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

Families Citing this family (14)

* 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 (ko) * 2007-01-29 2008-06-26 주식회사 에이스엠이 파일 스트리밍 제어기 및 제어방법
KR101382135B1 (ko) 2007-04-11 2014-04-07 삼성전자주식회사 네트워크 콘텐츠 재생 장치 및 방법
US7881335B2 (en) * 2007-04-30 2011-02-01 Sharp Laboratories Of America, Inc. Client-side bandwidth allocation for continuous and discrete media
JP2009110609A (ja) * 2007-10-31 2009-05-21 Hitachi Ltd ストリームデータ転送制御機構
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
CA2723628C (en) * 2008-07-28 2015-12-22 Vantrix Corporation Flow-rate adaptation for a connection of time-varying capacity
KR101009822B1 (ko) 2008-08-06 2011-01-19 삼성전자주식회사 서버 및 이동통신 단말기를 포함하는 통신 시스템에서스트리밍 데이터를 송수신하는 방법 및 그 통신 시스템
KR20110065100A (ko) * 2009-12-09 2011-06-15 삼성전자주식회사 멀티미디어 스트리밍 서비스를 지원하는 방법 및 장치
CN102771134B (zh) * 2010-01-18 2016-04-13 瑞典爱立信有限公司 用于支持播放内容的方法及装置
CN103139188B (zh) * 2011-12-05 2016-03-23 中国电信股份有限公司 流媒体传输方法与系统
TWI507022B (zh) 2012-12-05 2015-11-01 Ind Tech Res Inst 多媒體串流的緩存輸出方法以及多媒體串流緩存模組
CN105792031B (zh) * 2016-03-08 2019-01-11 烽火通信科技股份有限公司 一种OTN中GMP映射产生Cn值的方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5546118A (en) * 1994-06-20 1996-08-13 Sony Corporation Data recording/reproducing method and data send-out method
EP1078517A1 (en) * 1998-05-08 2001-02-28 Qualcomm Incorporated Apparatus and method for distribution of high quality image and audio programs to remote locations
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
EP1428357A1 (en) 2001-09-21 2004-06-16 British Telecommunications Public Limited Company Data communications method and system using receiving buffer size to calculate transmission rate for congestion control
JP4126928B2 (ja) * 2002-02-28 2008-07-30 日本電気株式会社 プロキシサーバ及びプロキシ制御プログラム
US20050201485A1 (en) 2002-05-22 2005-09-15 Koninkljke Phillips Electronics N.V. Transmission method using a virtual reception buffer to absorb fluctuation of the channel transmission rate

Also Published As

Publication number Publication date
RU2310989C2 (ru) 2007-11-20
US20060168296A1 (en) 2006-07-27
EP1672870A1 (en) 2006-06-21
KR20060068547A (ko) 2006-06-21
RU2005139357A (ru) 2007-06-20
CN1790973A (zh) 2006-06-21
US7627685B2 (en) 2009-12-01

Similar Documents

Publication Publication Date Title
KR100631514B1 (ko) 실시간 스트리밍 서비스의 전송률 제어 방법
US6625656B2 (en) Method and apparatus for continuous playback or distribution of information including audio-visual streamed multimedia
US8346959B2 (en) Client-controlled adaptive streaming
KR101996877B1 (ko) 대역폭 가변 접속을 통한 동적 비트 레이트 적응
US7581019B1 (en) Active client buffer management method, system, and apparatus
US9667967B2 (en) Systems and methods for encoding alternative streams of video for use in adaptive bitrate streaming
US7543073B2 (en) System and process for performing an exponentially weighted moving average on streaming data to establish a moving average bit rate
US7536469B2 (en) System and process for controlling the coding bit rate of streaming media data employing a limited number of supported coding bit rates
US8230105B2 (en) Adaptive bitrate management for streaming media over packet networks
CN105263037B (zh) 一种基于客户端缓存的自适应流化方法
RU2408149C2 (ru) Обнаружение отклонения тактирования в сетевых устройствах посредством контроля заполнения клиентского буфера
JP2006174419A (ja) ストリーミングメディアデータの符号化ビットレートを制御するシステム
JP2009049529A (ja) 通信制御装置、通信制御方法、及びコンピュータプログラム
US7711841B2 (en) Systems and methods for reducing the effects of variations on the playback of streaming media
CN101160848A (zh) 用于动态控制数据分组传输的技术
KR102020025B1 (ko) 수신품질피드백 메시지를 이용한 mmt 버퍼 모델 관리 장치 및 방법
US8009687B2 (en) Measurement of network performance in transporting packet streams
KR101038645B1 (ko) 스트리밍 시스템의 언더플로우/오버플로우 방지 방법 및 그시스템
US7830794B2 (en) Method and apparatus for improved isochronous data delivery over non-isochronous communication fabric
KR20060003743A (ko) 디코더 버퍼 제어기를 이용한 티씨피 친화적 스트리밍 방법

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

FPAY Annual fee payment

Payment date: 20120827

Year of fee payment: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

FPAY Annual fee payment

Payment date: 20130823

Year of fee payment: 8

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

FPAY Annual fee payment

Payment date: 20140822

Year of fee payment: 9

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 9

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

FPAY Annual fee payment

Payment date: 20150824

Year of fee payment: 10

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 10

FPAY Annual fee payment

Payment date: 20160824

Year of fee payment: 11

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 11

FPAY Annual fee payment

Payment date: 20170814

Year of fee payment: 12

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 12

FPAY Annual fee payment

Payment date: 20180814

Year of fee payment: 13

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 13

FPAY Annual fee payment

Payment date: 20190814

Year of fee payment: 14

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 14

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 15

PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20210928

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20210928