KR20140031916A - 멀티미디어 컨텐츠를 스트리밍하는 방법 및 장치 - Google Patents

멀티미디어 컨텐츠를 스트리밍하는 방법 및 장치 Download PDF

Info

Publication number
KR20140031916A
KR20140031916A KR1020137031553A KR20137031553A KR20140031916A KR 20140031916 A KR20140031916 A KR 20140031916A KR 1020137031553 A KR1020137031553 A KR 1020137031553A KR 20137031553 A KR20137031553 A KR 20137031553A KR 20140031916 A KR20140031916 A KR 20140031916A
Authority
KR
South Korea
Prior art keywords
peer
sender
rate
receiver
multimedia content
Prior art date
Application number
KR1020137031553A
Other languages
English (en)
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 톰슨 라이센싱
Publication of KR20140031916A publication Critical patent/KR20140031916A/ko

Links

Images

Classifications

    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • 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/80Responding to QoS
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1053Group management mechanisms  with pre-configuration of logical or physical connections with a determined number of other peers
    • H04L67/1055Group management mechanisms  with pre-configuration of logical or physical connections with a determined number of other peers involving connection limits
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2401Monitoring of the client buffer
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44245Monitoring the upstream path of the transmission network, e.g. its availability, bandwidth
    • 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/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • 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/632Control 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 using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices

Abstract

적어도 하나의 송신자 피어로부터 수신자 피어로 멀티미디어 컨텐츠를 스트리밍하는 방법은, 멀티미디어 컨텐츠의 재생 레이트 및 수신자 피어의 버퍼 점유 레벨에 따라 적어도 하나의 송신자 피어로부터 수신자 피어로의 멀티미디어 컨텐츠의 목표 다운로딩 레이트를 주기적으로 획득하는 단계; 적어도 하나의 송신자 피어 의 각각의 개별 송신자 피어로부터 수신자 피어로의 데이터 전송 상황 및 상기 획득된 목표 다운로딩 레이트에 따라 상기 적어도 하나의 송신자 피어 각각으로부터 상기 수신자 피어로의 다운로딩 레이트를 결정하는 단계; 및 상기 개별 결정된 다운로딩 레이트로 상기 적어도 하나의 송신자 피어로부터 상기 수신자 피어로 상기 멀티미디어 컨텐츠를 스트리밍하는 단계를 포함한다.

Description

멀티미디어 컨텐츠를 스트리밍하는 방법 및 장치{METHOD AND APPARATUS FOR STREAMING MULTIMEDIA CONTENTS}
본 발명은 오디오, 비디오, 텍스트 등과 같은 멀티미디어 컨텐츠를 멀티미디어 통신 네트워크를 통해 스트리밍하는 방법 및 장치에 관한 것이다.
고품질 비디오와 같은 멀티미디어 컨텐츠를 운송하기 위한 인터넷의 사용이 지속적으로 증가하고 있다. 품질 적응형 인코딩 방식, 순방향 오류 정정 기법, 및 혼잡 제어 알고리즘의 통합은 효과적인 비디오 전달 시스템을 제공하는데 매우 중요하다. 혼잡 제어는 웹 TV와 같은 멀티미디어 애플리케이션들이 멀티미디어 통신 네트워크에서 가용 대역폭을 찾아서 전송 혼잡을 피하고 부하 균형을 이루기 위한 효과적인 방법이다. 따라서, 이는 소스로부터 사용자들로의 멀티미디어 컨텐츠 스트리밍을 포함하는 인터넷 환경에 폭넓게 적용되고 있다.
인터넷 환경은 대용량 데이터 전송과 같은 애플리케이션들에 적절한 전송 제어 프로토콜(TCP) 종단간 혼잡 제어를 주로 사용한다. 그러나, 매우 짧은 시간 범위에서의 전송 레이트의 급격한 변화를 허용하지 않는 비디오 스트리밍 애플리케이션들의 대부분에 적합하지 않으며, 사용자의 인식 품질에 영향을 미칠 수 있다. TCP 친화적 레이트 제어(TCP-friendly rate control)(TFRC)가 상대적으로 공정한 사용자 데이터그램 프로토콜(user datagram protocol)(UDP) 트래픽 전송을 위해 고안되었는데, 그 이유는 TCP 혼잡 제어에 비해 시간에 따른 수율의 변화량이 훨씬 적으며, 이로 인해 멀티미디어 컨텐츠의 스트리밍과 같은 애플리케이션들에 더 적합하게 되기 때문이다.
현재의 P2P(Peer to peer) 비디오 애플리케이션들에서, TCP 또는 TFRC 혼잡 제어는 폭넓게 채용되고 있으며, 애플리케이션을 스트리밍하는 것 대신에 애플리케이션을 다운로딩하는 것에 초점을 맞추고 있다. 애플리케이션들을 다운로딩하는 목적은 모든 피어에 대한 종합적 유용성을 최대화하는 것에 있다. 사용자는 적절히 필수 랜더링 레이트로 소스로부터 수신하는 동안 멀티미디어 컨텐츠를 재생하는 경우인 애플리케이션들을 스트리밍하는 경우의 중요한 이슈인 데이터의 적시 도달을 보증할 필요가 없다.
그러므로, 멀티미디어 컨텐츠를 위한 스트리밍 애플리케이션들을 지원하기 위해 혼잡 문제를 처리할 수 있는 해결 방법을 찾는 것이 매우 바람직할 수 있다.
본 발명은 적어도 하나의 송신자 피어(sender peer)로부터 수신자 피어(receiver peer)로 멀티미디어 컨텐츠를 스트리밍하는 방법에 관한 것으로서, 멀티미디어 컨텐츠의 재생 레이트 및 수신자 피어의 버퍼 점유 레벨에 따라 적어도 하나의 송신자 피어부터 수신자 피어로의 멀티미디어 컨텐츠의 목표 다운로딩 레이트를 주기적으로 획득하는 단계; 개별 송신자 피어로부터 수신자 피어로의 데이터 전송 상황 및 획득된 목표 다운로딩 레이트에 따라 적어도 하나의 송신자 피어 각각으로부터 수신자 피어로의 다운로딩 레이트를 결정하는 단계; 및 개별적으로 결정된 다운로딩 레이트로 적어도 하나의 송신자 피어로부터 수신자 피어로 멀티미디어 컨텐츠를 스트리밍하는 단계를 포함한다.
본 발명은 또한 멀티미디어 컨텐츠를 스트리밍하는 방법을 사용하는 멀티미디어 통신 시스템에서의 수신자 피어에 관한 것이다.
본 발명의 일 실시예에 따르면, 송신자 피어로부터 수신자 피어로의 데이터 전송 레이트는 계산된 전송 레이트와 수신자 피어의 버퍼 검사의 조합에 따라 조정된다. 수신자 피어는 TFRC 수식에 따라 전송 레이트를 계산하기 위해 왕복 시간 및 손실 이벤트 레이트를 측정한다. 목표 레이트는 수신자 피어에서의 버퍼 레벨에 따라 계산된다. 최종 데이터 전송 레이트는 전송 레이트로서 또는 미리결정된 조건에 기반한 목표 레이트로서 선택적으로 결정된다. 이러한 해결방안은 데이터가 적시에 도달하는 것을 보장할 수 있고, 수신 측에서 연속 비디오 재생을 유지할 수 있다.
본 발명의 이들 및 그 밖의 다른 양태, 특징, 및 이점들은 첨부된 도면과 함께 실시예들에 대한 다음의 상세한 설명으로부터 명확해질 것이다.
도 1은 본 발명의 일 실시예가 사용된 예시적인 멀티미디어 통신 시스템의 도면이다.
도 2는 본 발명의 일 실시예에 따라 멀티미디어 통신 시스템에서 수신자 피어 및 송신자 피어의 아키텍처를 도시한 블록도이다.
도 3은 본 발명의 실시예에 따른 메시지 및 데이터 전송 절차를 도시한 도면이다.
도 4는 본 발명의 실시예에 따른 수신자의 버퍼 점유 레벨을 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 멀티미디어 컨텐츠를 스트리밍하는 방법을 도시한 흐름도이다.
일 실시예에서, 송신자 피어 및 수신자 피어라는 용어는 P2P 네트워크 분야에서 사용된다. 송신자 피어는 서비스를 제공하는 장치 또는 피어를 의미한다. 송신자 피어는 또한 서버일 수 있다. 수신자 피어는 서비스를 요청하는 장치 또는 피어를 의미한다. 공지된 바와 같이, P2P 네트워크의 피어는 동시에 송신자 피어 및 수신자 피어일 수 있다.
각각의 수신자 피어는 송신자 피어 세트와의 접속을 유지한다. 이러한 송신자 피어들은 활성 송신자 피어 및 대기 송신자 피어를 포함한다. 활성 송신자 피어는 멀티미디어 컨텐츠를 요청한 수신자 피어에 그 멀티미디어 컨텐츠를 제공하는 송신자 피어로서 정의된다. 대기 송신자 피어는 요청된 멀티미디어 컨텐츠를 수신자 피어에 제공하지 않는 송신자 피어로서 정의되지만, 수신자 피어에 관심을 갖고 수신자 피어와 접속할 수 있다. 수신자 피어는 대기 피어들의 가용 업로딩 정도, 대기 피어들의 가용 업로딩 레이트, 및 버퍼에서의 가용 비디오 세그먼트들과 같은 임의의 정보를 대기 피어들로부터 획득하기 위해 이들과의 접속을 셋업할 수 있다. 수신자 피어는 동시에 접속된 활성 송신자 피어의 최대 개수를 정의하는 최대 다운로딩 정도를 가질 수 있다.
실시예를 설명하기 위해, 일부 수식들이 사용되며, 수식들의 심볼은 다음의 형태로 열거된 정의를 갖는다.
Figure pct00001
도 1은 본 발명의 일 실시예가 사용되는 예시적인 멀티미디어 통신 시스템(100)의 도면이다. 도 1에서, 수신자 피어 A는 멀티미디어 통신 시스템(100)에서 다수의 송신자 피어 B 내지 G로부터 비디오 데이터를 스트리밍하고 있다. 최대 다운로딩 정도(downloading degree)는 인터넷 관리를 용이하게 하기 위해 당업자에 의해 선택될 수 있다. 여기서 수신자 피어 A의 최대 다운로딩 정도는 3이다. 피어 B, C, 및 D는 비디오 데이터를 수신자 피어 A에 제공하는 활성 송신자 피어이고, 피어 E, F, 및 G는 이 순간에 비디오 데이터를 수신자 피어 A에 제공하지 않는 대기 송신자 피어이다.
실시예에 따른 혼잡 제어는 멀티미디어 통신 시스템(100)에서 다수의 송신자 피어들로부터 비디오 데이터를 스트리밍하는 수신자 피어 A의 경우를 처리하는데 사용되는데, 그 목적은 활성 송신자 피어 B, C, D로부터의 총 다운로딩 레이트를 비디오 재생 레이트에 가깝게 유지함으로써 수신자 피어 A가 연속 비디오 재생을 계속 얻게 하는 것이다.
도 2는 멀티미디어 통신 시스템(100)에서 수신자 피어 A 및 송신자 피어 B의 아키텍처를 도시한 블록도이다. 본 발명의 실시예의 설명에 관련된 부분만이 도시된다. 수신자 피어 A는 네트워크(200)를 통해 멀티미디어 통신 시스템(100)에서 모든 송신자 피어(송신자 피어 B를 포함함)로부터 오디오/비디오 멀티미디어 컨텐츠를 수신할 수 있다. 네트워크(200)는 인터넷, 인트라넷, 엑스트라넷, 위성 네트워크, 또는 임의의 다른 유무선 네트워크일 수 있다.
송신자 피어 B는 멀티미디어 컨텐츠 소스(201), 인코더(203), 트랜시버(205), 레이트 제어 유닛(207), 및 프로세서(209)를 포함한다. 송신자 피어 B는 프로세서 기반 시스템이며 하나 이상의 프로세서 및 관련 메모리를 포함할 수 있다. 이러한 경우, 컴퓨터 프로그램들 또는 소프트웨어가 프로세서(209)에 의한 실행을 위해 메모리(미도시)에 저장되어, 예를 들어 멀티미디어 컨텐츠 전달을 구현한다. 프로세서는 하나 이상의 저장 프로그램 제어 프로세서를 나타내며, 피어 B의 다른 기능들을 제어할 수도 있다. 소스(201)는 임의의 멀티미디어 컨텐츠를 저장하기 위한 임의의 저장 디바이스를 나타내며, 피어 B의 내부 및/또는 외부에 존재할 수 있고, 필요에 따라 휘발성 및/또는 비휘발성이다.
피어 B에서, 인코더(203)는 소스(201)로부터의 멀티미디어 컨텐츠를 인코딩하도록 적응되어, 예를 들어, 리드 솔로몬(Reed Solomon)(RS) 인코딩 방법들에 의해 필요에 따라 인코딩된 데이터 컨텐츠를 형성하고, 트랜시버(205)는 네트워크(200)를 통해 요청을 한 수신자 피어 A에 인코딩된 멀티미디어 컨텐츠를 송신한다.
수신자 피어 A는 버퍼(202), 디코더(204), 트랜시버(206), 레이트 셀렉터(208), 및 프로세서(210)를 포함한다. 송신자 피어 B와 같이, 수신자 피어 A는 또한 프로세서 기반 시스템이며 하나 이상의 프로세서 및 관련 메모리(미도시)를 포함한다. 수신자 피어 A에서, 트랜시버(206) 및 디코더(204)는 네트워크(200)로부터 인코딩된 멀티미디어 컨텐츠를 수신하여 이를 디코딩하도록 적응된다. 멀티미디어 컨텐츠는 버퍼(202)에 저장되어 수신자 피어 A에 의해 재생된다. 실시예에 따르면, 레이트 셀렉터(208)는 프로세서(210)의 제어 하에서의 컨텐츠 전송 상황 및 버퍼 점유 레벨에 기반하여 다운로딩 레이트를 선택하도록 적응된다.
도 3은 멀티미디어 통신 시스템(100)에서 메시지 및 데이터 전송 절차를 도시한 도면이다. 실시예에 따르면, 수신자 피어 A의 사용자가 비디오 컨텐츠에 대한 요청을 입력하는 경우, 피어 A는 자신의 메모리(미도시)에서 목록을 검색할 수 있는데, 예를 들어, 다른 피어들에 대한 비디오 컨텐츠의 명칭 목록일 수 있다. 대안으로서, 그 목록은 네트워크(200)에 있는 서버에 존재할 수 있는데, 여기에는 피어들에서의 모든 가용 멀티미디어 서비스들을 열거하고 있으며, 임의의 피어들은 목록을 탐색하여 스트리밍하기 위한 관심 비디오를 찾을 수 있다. 그 후, 요청된 비디오 컨텐츠를 갖는 후보 피어 세트가 그 목록의 정보로부터 획득된다. 컨텐츠 전송을 위한 원하는 다운로딩 레이트 및 품질을 양산하기 위해 후보 피어들은 수신자 피어로부터의 거리, 남은 대역폭, 및 송신자 피어들의 가용 업로딩 레이트 등에 따라 선택될 수 있다. 그 다음, 수신자 피어 A는 네트워크(200)를 통해 이들과의 접속을 셋업한다. 유사하게, 후보 피어들의 일부, 예를 들어 송신자 피어 B, C, 및 D가 다른 피어들보다 더 높은 가용 업로딩 레이트를 갖거나 수신자 피어에 더 가까운 경우, 이들은 활성 송신자 피어로서 선택된다. 다른 나머지 피어, 예를 들어 송신자 피어 E, F, 및 G들은 대기 송신자 피어로서 선택되며, 이들로부터의 대체 피어가 활성 송신자들로부터 실패 또는 성능 저하 피어들을 대체할 것이다. 도 3에 도시된 바와 같이, 모든 송신자 피어(활성 및 대기)는 주기적으로 자신의 가용 업로딩 레이트를 수신자 피어 A에 알린다.
송신자 피어들로부터 관심 비디오 컨텐츠를 다운로드하기 위해, 수신자 피어 A는 활성 송신자 피어들로부터 데이터를 획득하도록 요청하며, 네트워크(200)를 통해 메시지 내의 다음 정보를 활성 송신자 피어 각각에 전송한다.
1) 각각의 활성 송신자 B, C, 및 D로부터 원하는 다운로딩 레이트(Dij_desired); 활성 송신자로부터의 총 다운로드 레이트는 수신자 피어 A에서의 비디오 컨텐츠의 재생 레이트와 동일하거나, 버퍼 점유 레벨에 따라 증가 또는 감소한다. 예를 들어, DBA_desired 및 DCA_desired는 각각 송신자 피어 B 및 C의 최대 가용 업로딩 레이트일 수 있고, DDA_desired는 총 레이트의 남은 레이트이다.
2) 특정 송신자 피어에 속하는 각각의 원하는 다운로딩 레이트의 인덱스; 예를 들어, 송신자 피어 B, C, 및 D에 전송되는 인덱스는 각각 1, 2, 및 3이다. 이는 메시지의 제1 레이트가 송신자 피어 B를 위한 것이고, 제2 레이트가 송신자 피어 C를 위한 것이고, 제3 레이트가 송신자 피어 D를 위한 것이라는 점을 의미하고, 각각의 송신자 피어에 의해 자신의 레이트를 찾는데 사용될 수 있다.
3) 요청된 컨텐츠의 인덱스; 전체 비디오 컨텐츠는 부분 또는 세그먼트로 분할되어 송신자 피어 또는 상이한 송신자 피어로부터 요청될 수 있다. 인덱스는 수신자 피어로 전송될 부분 또는 세그먼트들을 선택하기 위해 각각의 활성 송신자 피어에 의해 사용된다.
수신자 피어 A를 위한 각각의 활성 송신자 피어는 원하는 다운로딩 레이트 및 요청된 컨텐츠에 따라 데이터 세그먼트들을 할당하고, 데이터를 수신자 피어 A에 전송한다.
송신자 피어 B, C, 및 D로부터의 총 다운로딩 레이트를 비디오 재생 레이트에 가깝게 유지하거나, 합리적인 점유 레벨로 버퍼(202)를 유지함으로써 수신자 피어 A가 연속 비디오 재생을 유지하게 하기 위한 혼잡 제어의 목적에 도달하기 위해, 수신자 피어 A의 레이트 셀렉터(208)는 버퍼(202)의 버퍼 점유 레벨 및 비디오 컨텐츠 전송 상황에 따라 레이트를 선택할 것이다. 레이트 셀렉터(208)는 수신자 피어 A와 각각의 송신자 피어 사이의 비디오 스트리밍 상황을 측정하여 손실 이벤트 레이트 p, 평균 왕복 시간 RTT, 및 재전송 타임아웃 값 tRTO을 획득한다. 손실 이벤트 레이트는 0과 1 사이에 있으며, 손실 이벤트 횟수와 패킷 전송 횟수의 비를 나타낸다. 왕복 시간은 데이dd터 패킷의 전송 시간 및 수신자 피어 A로부터의 확인 응답 메시지의 송신 시간에 따라 송신자 피어에 의해 획득될 수 있으며, 수신자 피어는 각각의 송신자 피어로부터 왕복 시간을 주기적으로 획득한다. 재전송 타임아웃 값 tRTO는 데이터 패킷을 재전송할 시간 주기로서, 예를 들어, 4*RTT이다.
동일한 비디오 스트리밍과 관련된 활성 송신자 피어로부터 수신자 피어로의 각각의 접속에 대해, 수신자 피어의 레이트 셀렉터는 다음의 TFRC 수식에 따라 개별적으로 송신자 피어들로부터 최적의 전송 레이트를 획득할 수 있다.
Figure pct00002
여기서, s는 비트 단위의 패킷 사이즈이고, RTT는 초 단위의 왕복 시간이고, p는 손실 이벤트 레이트이고, tRTO는 초 단위의 TCP 재전송 타임아웃 값으로서 경험칙상 tRTO = 4*RTT이다.
수학식 1에 따르면, 수신자 피어 j는 Dij_desired를 주기적으로 결정하는데, 이는 네트워크 상황을 최적화하고 네트워크에서의 혼잡을 피할 수 있다.
그 후, 새로운 전송 레이트를 얻기 위해 수신자 피어 A에서의 버퍼(202)의 버퍼 점유 레벨이 고려된다. 도 4는 버퍼(202)의 버퍼 점유 레벨을 도시한 도면이다. 비디오를 연속적으로 계속 재생하기 위해, 버퍼는 언더 플로우 또는 오버 플로우되지 않아야 한다. LT 및 HT는 각각 저레벨 임계치 및 고레벨 임계치를 의미하며, 버퍼 사이즈는 V이다.
버퍼 점유 레벨은 주기적으로 확인되는데, 여기서, 주기는 T로서 당업자에 의해 선택될 수 있다. 통상적으로, 하나의 비디오 프레임에서 다중 시간 지속 시간을 T로서 선택한다. 예를 들어, 현재 비디오 프레임 레이트가 25fps인 경우 T를 80ms로 한다. L_target 및 L(t)는 각각 목표 버퍼 레벨 및 (시간 t에서) 현재 버퍼 레벨이다. 예를 들어, L_target는 V/2이다. 단기 변동(short-term fluctuation)을 필터링하기 위해, 스무딩 기능이 L(t)에 적용될 수 있다. L_smoothed(t)는 스무딩된 현재 버퍼 레벨이라고 한다(t는 현재 시각을 나타냄).
Figure pct00003
여기서 a는 스무딩 효과를 조정하는데 사용되는 0과 1 사이의 계수로서 당업자에 의해 선택될 수 있다. a의 값이 작으면 스무딩 효과가 작고 최근 버퍼 레벨 변화에 더 반응할 것이며, a의 값이 크면 스무딩 효과가 크고, 최근 버퍼 레벨 변화에 덜 반응할 것이다.
또한, 버퍼 레벨 임계치 LT 및 HT의 파라미터들은 시스템 성능에 중대한 영향을 미친다. 여기에서, LT 및 HT의 선택은 허용 가능 피어 스위칭 시간에 기반하는데, 이는 하나의 송신자 피어 그룹으로부터 다른 그룹으로 멀티미디어 컨텐츠의 수신을 스위칭하는 시간을 말한다. 허용 가능 피어 스위칭 시간이 w라면, LT = r*w일 수 있는데, 여기서 r은 비디오 컨텐츠의 재생 레이트이다. HT는 도 4에 도시된 바와 같이 LT에 대해 대칭적인 레벨을 가질 수 있다.
일반적으로, 모든 송신자 피어들로부터의 목표 총 다운로딩 레이트 Dj_target는 비디오 컨텐츠의 재생 레이트 r일 것이다. 그러나, 스무딩된 현재 버퍼 점유 레벨 L_smoothed(t) 및 버퍼 레벨 임계치들 LT 및 HT에 따르면, 목표 총 다운로딩 레이트는 그에 따라 관련 값을 버퍼 점유 레벨로 증가 또는 감소시킴으로써 조정될 수 있다.
예를 들어,
케이스 1: L_smoothed(t)가 LT와 HT 사이에 있으면,
Dj_target = r이다.
케이스 2: L_smoothed(t)가 LT보다 낮고, HT보다 높으면,
Dj_target = r + (V/2 - L_smoothed(t))/T이다.
여기서, V/2는 사이즈가 V인 버퍼의 하프 레벨이다. T는 버퍼 레벨 확인 주기 또는 목표 다운로딩 레이트 조정 주기이다.
그 다음, 결정된 목표 총 다운로딩 레이트 Dj_target 및 스트리밍 상황에 기반하여 활성 송신자 피어마다 계산된 최적의 전송 레이트 Dij_calculated에 따르면, 각각의 활성 송신자 피어로부터의 원하는 다운로딩 레이트 또는 활성 송신자 피어들의 개수가 조정될 수 있다. 조정은 새로운 다운로딩 레이트 결정, 새로운 활성 송신자 피어 선택, 및 중단되어 있는 일부 기존의 접속을 포함한다. 예를 들어, 계산된 전송 레이트 Dij_calculated의 총 레이트가 목표 다운로딩 레이트보다 낮으면, 새로운 송신자 피어는 허용되면 추가되거나, 활성 송신자 피어로부터의 다운로딩 레이트가 증가될 수 있다. 그렇지 않으면, 총 레이트가 목표보다 높으면, 일부 송신자 피어들은 대기 피어로 변경되거나, 다운로딩 레이트는 감소될 수 있다.
활성 송신자 피어 및 그 레이트 조정의 원리는 다음과 같다.
적은 개수의 활성 피어들이 높은 버퍼 유용성을 초래하기 때문에, 활성 송신자 피어들의 개수는 가능한 한 작다.
각각의 수신자 피어의 총 다운로딩 레이트는 비디오 재생 레이트 r과 동일해야 하거나, 버퍼 점유 레벨에 따라 조정되어야 한다.
송신자 피어가 새로운 다운로딩 레이트 정보를 수신자 피어로부터 수신하는 경우, 원하는 다운로딩 레이트에 따라 데이터 세그먼트를 할당하고, 그 다음 데이터를 새로운 전송 레이트를 갖는 수신자 피어에 전송한다. 그리고, 접속되어 있는 피어들에게 가용 대역폭을 주기적으로 알린다.
도 5는 본 발명의 일 실시예에 따른 멀티미디어 컨텐츠를 스트리밍하는 방법을 도시한 흐름도이다. 단계 501에서, 멀티미디어 컨텐츠의 목표 다운로딩 레이트는 전술한 버퍼 점유 레벨 및 관심 멀티미디어 컨텐츠의 재생 레이트에 따라 주기적으로(주기 T) 획득된다. 목표 다운로딩 레이트는 모든 활성 송신자 피어들로부터의 총 다운로딩 레이트로서, 재생 레이트와 동일하거나, 버퍼 점유 레벨에 따라 재생 레이트보다 높거나 낮을 수 있다. 그 다음, 단계 502에서, 각각의 송신자 피어에 대한 최적의 다운로딩 레이트는 데이터 전송 상황에 의해 TFRC 수식에 기반하여 획득된다. 단계 503에서, 각각의 송신자 피어로부터의 최적의 다운로딩 레이트와 목표 다운로딩 레이트 모두는 단계 504에서 각각의 송신자 피어들로부터의 다운로딩 레이트를 조정하기 위해 고려된다. 또한, 단계 505에서 송신자 피어들의 개수는 목표 다운로딩 레이트에 도달하도록 조정될 수 있다. 그리고, 단계 506에서 멀티미디어 컨텐츠는 미리결정된 컨텐츠 다운로딩 레이트로 송신자 피어들로부터 수신자 피어로 스트리밍된다. 전술한 단계들에서, 목표 다운로딩 레이트가 단계 501에서 주기적으로 획득되기 때문에, 각각의 송신자 피어의 다운로딩 레이트를 획득하는 다음 단계도 또한 동일한 주기로 주기적으로 구현된다.
멀티미디어 통신 네트워크의 송신자 피어들과 수신자 피어의 시나리오에서 단계별로 특정 절차가 설명되었지만, 당업자는 단계들 중 일부가 하나의 단계로 결합되거나, 추가적인 단계들로 분할되어 본 발명의 실시예를 구현할 수 있다는 것을 알고 있으며, 송신자 피어는 네트워크에서 하나 이상의 서버일 수도 있다. 이들 결합 및 변형은 본 발명의 범위 내에 있다.
본 발명을 설명하기 위해 비디오 컨텐츠가 일 실시예로서 사용되고 있지만, 당업자는 실시예에서 멀티미디어 컨텐츠를 스트리밍하는 방법은 동시에 다운로드되면서 재생될 수 있는 임의의 인터넷 자료(internet material)에 대해 사용될 수 있다는 것을 알고 있다.
전술한 설명은 단지 본 발명의 실시예를 예시한 것이고, 당업자라면 여기에 명백히 설명되지 않았다고 할지라도 본 발명의 원리들을 구체화하고, 본 발명의 사상 및 범위 내에 포함되는 수많은 대체적인 배열들을 고안할 수 있다는 점이 이해될 수 있다.

Claims (9)

  1. 적어도 하나의 송신자 피어로부터 수신자 피어로 멀티미디어 컨텐츠를 스트리밍하는 방법으로서,
    상기 멀티미디어 컨텐츠의 재생 레이트(playback rate) 및 상기 수신자 피어의 버퍼 점유 레벨에 따라 상기 적어도 하나의 송신자 피어로부터 상기 수신자 피어로의 상기 멀티 미디어 컨텐츠의 목표 다운로딩 레이트(target downloading rate)를 주기적으로 획득하는 단계;
    상기 적어도 하나의 송신자 피어 중 각각의 개별 송신자 피어로부터 상기 수신자 피어로의 데이터 전송 상황 및 상기 획득된 목표 다운로딩 레이트에 따라 상기 적어도 하나의 송신자 피어 각각으로부터 상기 수신자 피어로의 다운로딩 레이트를 결정하는 단계; 및
    개별적으로 결정된 다운로딩 레이트로 상기 적어도 하나의 송신자 피어로부터 상기 수신자 피어로 상기 멀티미디어 컨텐츠를 스트리밍하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 결정하는 단계는,
    상기 개별 송신자 피어로부터 상기 수신자 피어로의 데이터 전송 상황에 따라 상기 적어도 하나의 송신자 피어 각각에 대한 최적의 다운로딩 레이트를 획득하는 단계; 및
    상기 최적의 다운로딩 레이트와 상기 획득된 목표 다운로딩 레이트의 결합에 기반하여 상기 적어도 하나의 송신자 피어 각각에 대해 상기 다운로딩 레이트를 결정하는 단계를 포함하는 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 결정하는 단계 이후에 상기 적어도 하나의 송신자 피어의 개수를 업데이트하고, 최소 개수의 활성 송신자 피어를 이용하는 단계를 더 포함하는 방법.
  4. 제3항에 있어서,
    새로운 송신자 피어를 추가하거나 또는 상기 적어도 하나의 송신자 피어로부터 송신자 피어를 제거(drop)하는 단계를 더 포함하는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 목표 다운로딩 레이트를 주기적으로 획득하는 단계는, 상기 버퍼 점유 레벨이 미리결정된 임계치들 (LT, HT) 내에 있는 경우 상기 목표 다운로딩 레이트로서 상기 멀티미디어 컨텐츠의 재생 레이트를 사용하는 단계; 및 상기 버퍼 점유 레벨이 상기 미리결정된 임계치들을 초과하는 경우 상기 목표 다운로딩 레이트를 상기 버퍼 점유 레벨에 대한 상대적인 값만큼 증가 또는 감소시키는 단계를 포함하는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 결정하는 단계는 상기 획득하는 단계와 동일한 주기로 상기 획득하는 단계 후에 주기적으로 구현되는 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 데이터 전송 상황은 상기 적어도 하나의 송신자 피어 각각으로부터 상기 수신자 피어로의 왕복 시간, 손실 이벤트 레이트, 및 재송신 타임아웃 값을 포함하는 방법.
  8. 제2항 내지 제6항 중 어느 한 항에 있어서,
    상기 적어도 하나의 송신자 피어 각각으로부터의 최적의 다운로딩 레이트는 TCP 친화적 레이트 제어(Transmission Control Protocol Friendly rate control; TFRC)에 의해 획득되는 방법.
  9. 제1항 내지 제8항 중 어느 한 항의 멀티미디어 컨텐츠를 스트리밍하는 방법을 이용하는 멀티미디어 통신 시스템의 수신자 피어.
KR1020137031553A 2011-05-31 2011-05-31 멀티미디어 컨텐츠를 스트리밍하는 방법 및 장치 KR20140031916A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/074987 WO2012162882A1 (en) 2011-05-31 2011-05-31 Method and apparatus for streaming multimedia contents

Publications (1)

Publication Number Publication Date
KR20140031916A true KR20140031916A (ko) 2014-03-13

Family

ID=47258275

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137031553A KR20140031916A (ko) 2011-05-31 2011-05-31 멀티미디어 컨텐츠를 스트리밍하는 방법 및 장치

Country Status (6)

Country Link
US (1) US20140101330A1 (ko)
EP (1) EP2715987B1 (ko)
JP (1) JP2014522594A (ko)
KR (1) KR20140031916A (ko)
CN (1) CN103597847A (ko)
WO (1) WO2012162882A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9386058B2 (en) 2012-02-27 2016-07-05 Qualcomm Incorporated DASH client and receiver with playback rate selection
US9374406B2 (en) * 2012-02-27 2016-06-21 Qualcomm Incorporated Dash client and receiver with a download rate estimator
CN111385315B (zh) * 2018-12-27 2022-12-16 阿里巴巴集团控股有限公司 点对点资源下载方法和装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6637031B1 (en) * 1998-12-04 2003-10-21 Microsoft Corporation Multimedia presentation latency minimization
CN1588909A (zh) * 2004-07-15 2005-03-02 复旦大学 一种控制网络数字电视节目组播发送速率的方法
JP4567007B2 (ja) * 2005-01-11 2010-10-20 パナソニック株式会社 通信方法および受信端末
WO2007015428A1 (ja) * 2005-08-01 2007-02-08 Matsushita Electric Industrial Co., Ltd. 送信装置および送信方法
CA2618328C (en) * 2005-08-12 2015-12-15 Nokia Siemens Networks Gmbh & Co. Kg A multi-source and resilient video on demand streaming system for a peer-to-peer subscriber community
JP4513725B2 (ja) * 2005-11-09 2010-07-28 ソニー株式会社 パケット送信装置、通信システム及びプログラム
US9325786B2 (en) * 2006-07-27 2016-04-26 The Hong Kong University Of Science And Technology Peer-to-peer interactive media-on-demand
CN100531385C (zh) * 2007-04-28 2009-08-19 西安交通大学 易于管理的实时流媒体p2p网络传输系统设计方法
US20090100128A1 (en) * 2007-10-15 2009-04-16 General Electric Company Accelerating peer-to-peer content distribution
WO2009103343A1 (en) * 2008-02-22 2009-08-27 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for distributing media over a communications network
EP2209240A1 (en) * 2009-01-20 2010-07-21 Deutsche Thomson OHG Method for controlling a flow in a packet switched network
KR101562974B1 (ko) * 2009-09-07 2015-10-30 삼성전자 주식회사 스트리밍 서비스의 지연 감소를 위한 단말기, 시드 서버 및 트랙커 서버
US8738986B2 (en) * 2010-03-05 2014-05-27 Microsoft Corporation Remote presentation over lossy transport with forward error correction

Also Published As

Publication number Publication date
EP2715987A1 (en) 2014-04-09
EP2715987B1 (en) 2017-08-23
WO2012162882A1 (en) 2012-12-06
CN103597847A (zh) 2014-02-19
US20140101330A1 (en) 2014-04-10
JP2014522594A (ja) 2014-09-04
EP2715987A4 (en) 2014-11-05

Similar Documents

Publication Publication Date Title
Sani et al. Adaptive bitrate selection: A survey
CN107210993B (zh) 无线网络中的多媒体内容流的动态速率调整的方法与系统
JP6072276B2 (ja) マルチメディアデータの処理
US10320869B2 (en) Network-capacity optimized adaptive HTTP streaming
EP2537340B1 (en) Multipath delivery for adaptive streaming
US9712408B2 (en) Bandwidth management in a content distribution network
US10251178B2 (en) QoE provisioning method and apparatus for mobile video application
Bhat et al. Not so QUIC: A performance study of DASH over QUIC
Mol et al. Give-to-get: free-riding resilient video-on-demand in p2p systems
US9215182B2 (en) Enhancing performance of rapid channel changes and other playback positioning changes in adaptive streaming
US9485289B2 (en) HTTP streaming client adaptation algorithm based on proportional-integral control
Liu et al. Parallel adaptive HTTP media streaming
KR101446450B1 (ko) 비디오 청크들을 전송하기 위한 방법, 그러한 방법을 실현하는 서버 엔티티, 클라이언트 엔티티 및 중간 네트워크 엔티티
US11057445B2 (en) Method for adapting the downloading behavior of a client terminal configured, to receive multimedia content, and corresponding terminal
CN101741890A (zh) 一种实现速率控制的方法、系统和设备
KR20160106701A (ko) 세그먼트들로 분할된 멀티미디어 콘텐츠를 수신하도록 구성된 클라이언트 단말에 의해 네트워크 정보를 획득하기 위한 방법
KR20150067233A (ko) 하나 이상의 사용자 디바이스에의 콘텐츠의 스트리밍에 관한 장치 및 방법
US9131251B2 (en) Use of a receive-window size advertised by a client to a content server to change a video stream bitrate streamed by the content server
KR20160134802A (ko) 클라이언트 단말기들과 적어도 하나의 서버 사이의 전송 경로를 따라 배열된 캐시를 동작시키기 위한 방법, 및 대응하는 캐시
US20150188963A1 (en) Systems and Methods for Distributing Adaptive Bitrate Streaming Content by Multicast
Bouten et al. A multicast-enabled delivery framework for QoE assurance of over-the-top services in multimedia access networks
KR20140031916A (ko) 멀티미디어 컨텐츠를 스트리밍하는 방법 및 장치
Ma et al. Access point centric scheduling for dash streaming in multirate 802.11 wireless network
Noh et al. Time-shifted streaming in a tree-based peer-to-peer system.
Kim et al. A network-aware adaptive streaming for improving the video quality

Legal Events

Date Code Title Description
WITB Written withdrawal of application