KR20130079212A - 다중 경로 환경에서의 적응적 스트리밍 시스템 및 방법 - Google Patents

다중 경로 환경에서의 적응적 스트리밍 시스템 및 방법 Download PDF

Info

Publication number
KR20130079212A
KR20130079212A KR1020120151052A KR20120151052A KR20130079212A KR 20130079212 A KR20130079212 A KR 20130079212A KR 1020120151052 A KR1020120151052 A KR 1020120151052A KR 20120151052 A KR20120151052 A KR 20120151052A KR 20130079212 A KR20130079212 A KR 20130079212A
Authority
KR
South Korea
Prior art keywords
server
bit rate
client
servers
chunk
Prior art date
Application number
KR1020120151052A
Other languages
English (en)
Other versions
KR102048898B1 (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 톰슨 라이센싱
Publication of KR20130079212A publication Critical patent/KR20130079212A/ko
Application granted granted Critical
Publication of KR102048898B1 publication Critical patent/KR102048898B1/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/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
    • 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/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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
    • 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
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2665Gathering content from different sources, e.g. Internet and satellite
    • 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/631Multimode Transmission, e.g. transmitting basic layers and enhancement layers of the content over different transmission paths or transmitting with different error corrections, different keys or with different transmission protocols
    • 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/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
    • 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]

Abstract

본 발명은, 각각이 RTP/RTSP 환경에서 멀티미디어 콘텐츠를 각 데이터 경로(20, 22, 24)를 통해 클라이언트(12)로 전송할 수 있는 복수의 서버(14, 16, 18)를 포함하는 다중 경로 환경에서의 적응적 스트리밍 시스템에 있어서, 상기 클라이언트(12)는 상기 데이터 경로(20, 22, 24) 각각에 연관된 각자의 대역폭을 결정하고 상기 결정된 각자의 대역폭에 따라서 상기 서버(14, 16, 18) 각각으로부터 상기 멀티미디어 콘텐츠의 청크를 요구하기 위해 상기 데이터 경로(20, 22, 24) 각각을 검사할 수 있는 제어기 수단(40)을 포함하는 적응성 스트리밍 시스템에 관한 것이다.

Description

다중 경로 환경에서의 적응적 스트리밍 시스템 및 방법{SYSTEM AND METHOD FOR ADAPTIVE STREAMING IN A MULTIPATH ENVIRONMENT}
본 발명은 다중 경로 환경에서의 적응적 스트리밍 시스템에 관한 것이다. 특히, 본 발명은 네트워크 대역폭 조건이 보증되지 않아 변동하는 다중 경로 환경에서 오디오/비디오 스트리밍을 개선하기 위한 적응적 스트리밍 시스템에 관한 것이다. 또한, 본 발명은 다중 경로 환경에서의 적응적 스트리밍 방법에 관한 것이다.
스트리밍은, 재생 전에 멀티미디어 파일 전체가 클라이언트에게 전송되는 다운로딩과 달리, 클라이언트가 소비하는 콘텐츠가 작은 조각으로 나뉘어 클라이언트에게 전송되는 프로세스이다. 기존의 스트리밍 프로토콜로는 RTP(Real-Time Transport Protocol)와 MPEG TS/UDP(MPEG Transport Stream under User Datagram Protocol)가 있다. 반면에, 다운로드는 일반적으로 HTTP(HyperText Transfer Protocol)를 이용하여 행해진다.
엔터테인먼트 및 통신 시스템에서, RTSP(Real-Time Transport Streaming Protocol)는 스트리밍 미디어 서버를 제어하는 네트워크 제어 프로토콜로서 제공된다. RTSP 서버에 의한 스트리밍 데이터의 전송은 RTP(Real-time Transport Protocol)를 통해 행해진다. RTSP는 스트리밍 데이터의 재생을 제어하는데 유용한 제어 시퀀스를 정의한다. 제어 시퀀스는 IETF(Internet Engineering Task Force)에 의한 RFC 2326에 정의되어 있다.
스트리밍 세션은 클라이언트에 의해 스트리밍 서버쪽으로 개시된다. 스트리밍 서버는 요구된 비디오를 유니캐스트 링크를 통해 클라이언트쪽으로 전달한다. 스트리밍 세션 설정은 클라이언트와 스트리밍 서버 간의 몇몇 RTSP 메시지를 수반하는데, 통상적으로는 콘텐츠 선택과, 스크린 크기, 비트 레이트 또는 최대 버퍼 크기와 같은 클라이언트 특성의 표시를 수반한다. 마지막으로 이전에 협의된 파라미터를 이용하여 유니캐스트 RTP 스트리밍 세션이 설정된다. 스트리밍 세션 파라미터는 일반적으로 클라이언트가 추가적인 콘텐츠를 선택하거나 스트리밍 세션을 종료할 때까지는 변치 않고 그대로 유지된다. 명백히 이런 형태의 환경은 가변적인 네트워크 특성에 잘 적응하지 못한다. 일부 운영자는 문제를 회피하기 위해 특정 서비스에의 접근을 실제 필요한 대역폭 이외의 충분한 여유 대역폭을 가진 클라이언트로 한정한다.
인터넷을 통해 TV 채널을 전송하는데 실시간 스트리밍이 점점 대중화되고 있다(IPTV). 그러나, 멀티미디어 제공업자와 클라이언트 간의 변동하는 대역폭 레이트에 대처할 수 있는 수단이 있어야 한다. 그렇지 않으면, 일반적으로 고객이 싫어하는 멀티미디어 스트림의 "프리징(freezing)"이 일어난다.
이러한 대역폭 레이트 변동에 따른 문제를 해결하려는 시도가 많이 있었다.
WO 2002/073441 A1에서는, 단일 파일이 복수의 서브파일로 분할되고, 이들 서브파일이 하나 이상의 서버로 분배되어 저장된다. 서브파일은 하나 이상의 서버로부터 병렬로 동시에 전송될 수 있으며, 이는 데이터 전송 속도를 증가시킨다. 더욱이, 서브파일들 중 적어도 하나는 리던던시(redundancy)를 제공하기 위해 둘 이상의 서버에 저장될 수 있다. 어떤 한 서버가 이용될 수 없거나 전송 링크가 느리거나 이용될 수 없는 경우에는 서브파일은 다른 서버로부터 스트리밍될 수 있다.
US 2009/0259762 A1에서는, 복수의 제어기와 복수의 서버를 포함하는 분산식 확장형 콘텐츠 스트리밍 구조가 개시되어 있다. 제어기들은 개별적인 장치들과 RTSP(Real-Time Streaming Protocol)를 설정하도록 동작할 수 있다. 제어기는 요구된 미디어 스트림을 장치에 제공하는 서버를 선택한다. 서버는 장치에의 근접성, 대역폭 가용성 또는 레이턴시(latency) 특성에 기초하여 선택될 수 있다. 추가적인 서버가 시스템 운용에 지장을 주지 않으면서 시스템에 추가될 수 있다.
WO 2010/111261 A1은 동적 레이트 적응을 이용하는 스트리밍 미디어 시스템을 개시한다. 이 시스템은 지속적 접속을 통해 미디어를 전송하는 레거시 HTTP 기반시설에 맞는 파일 포맷을 포함한다. 레거시 클라이언트 미디어 플레이어는 지속적 접속을 통해 미디어의 인코딩된 전송 속도를 동적으로 변화시킬 수 있다.
US 2010/0094955 A1에서는, 적어도 하나의 어셈블링 장치의 각 그룹에 대해 적어도 하나의 기준에 따른 부분 저장 CDN 서버의 서브그룹이 선택되는 분산식 스토리지가 개시되어 있다. 복수의 서버 서브그룹이 복수의 어셈블링 장치 그룹에 대해 선택된다. 복수의 콘텐츠 세그먼트와 연관된 소거 코딩된 프래그먼트(erasure-coded fragment)가, 프래그먼트를 검색하는데 이용된 총 대역폭이 서브그룹에 포함된 서버의 총 대역폭에 근접할 때까지, 그리고 각 세그먼트를 전송하는데 이용된 총 대역폭이 그 세그먼트로부터 발생된 프래그먼트를 저장하는 서버의 총 대역폭을 초과하지 않는 한, 어셈블링 장치에 의해 서버의 서브그룹으로부터 검색된다.
US 2006/0215596 A1에서는, 어떤 장치, 예컨대 멀티미디어 서버에 대한 전송 속도 조정이 개시되어 있다. 이 전송 속도 조정은 멀티미디어 서버가 각각 액세스 포인트와 비디오 플레이어를 포함할 수 있는 2개의 서로 다른 네트워크 노드들 간의 무선 링크로부터 여러 가지 서비스 품질 파라미터를 결정하는 것에 기초한다.
US 6405256 B1에서는, 하나 이상의 캐싱(caching) 서버를 가진 통신 네트워크를 통해 클라이언트 장치에 연결된 네트워크 서버를 이용한 데이터 스트리밍 전송이 개시되어 있다. 네트워크 서버는 데이터 스트리밍 애플리케이션과, 데이터를 저장하는 메모리를 갖고 있다. 각각이 데이터 스트리밍 구성을 이용하는 일련의 접속이 캐싱 서버에 의해 소스 네트워크와 클라이언트 장치 간의 경로에 형성되어 있다. 각 캐싱 서버는 스트리밍된 데이터의 추가적인 세그먼트를 저장하는 확장형 버퍼를 이용하고 그 서버의 다운스트림 접속에서의 전송 데이터율을 변화시킴으로써 그 다운스트림 접속에서의 네트워크 혼잡을 흡수할 수 있다.
더욱이, 3GPP(3rd Generation Partnership Project)는, 스트리밍 서버측의 스마트 제어 로직과 연관하여 네트워크 상태의 변동에 대처할 수 있는 동일 콘텐츠의 (서로 다른 인코딩 비트 레이트를 가져야 하는) 복수의 버전을 저장할 수 있는 컨테이너 포맷을 포함하는 전달 프레임워크를 표준화하였다. 그러나 이 제어 로직은 3GPP에 의해 규정되지 않았다.
HTTP 스트리밍은 Apple사가 그 iPhone을 가지고, Microsoft사가 Smoothstreaming을 가지고, 또는 3GPP가 그 HTTP Adaptive streamming을 가지고 최근에 광고하고 있는 기술이다. 최근 기술은 HTTP 프로토콜을 이용하여 현재 네트워크 상태에 대해 클라이언트로부터 서버에 피드백을 주기적으로 제공한다. 지속기간은 고정이나 비트 레이트는 가변인 멀티미디어 콘텐츠의 작은 청크(chunk)인 적응성 콘텐츠가 네트워크 상태에 지속적으로 적응됨에 따라서 클라이언트에게 제공된다.
확실한 결점은 대역폭이 변함에 따라 클라이언트가 인식하는 품질이 심하게 저하될 수 있다는 것이다. 더욱이, 이러한 기술들은 RTP/RTSP 프로토콜에 기반하는 기존 IPTV 장비에는 효과가 없다.
따라서, 종래 시스템과 관련된 문제를 적어도 부분적으로 각각 해소할 수 있는, 다중 경로 환경에서의 적응적 스트리밍 방법 및 시스템을 제공할 필요가 있다.
본 발명에 따라서, 각각이 RTP/RTSP 환경에서 멀티미디어 콘텐츠를 각 데이터 경로를 통해 클라이언트로 전송하도록 구성된 복수의 서버를 포함하는 다중 경로 환경에서의 적응적 스트리밍 시스템에 있어서, 상기 클라이언트는 상기 데이터 경로 각각에 연관된 각자의 대역폭을 결정하고 상기 결정된 각자의 대역폭에 따라서 상기 서버 각각으로부터 상기 멀티미디어 콘텐츠의 청크를 요구하기 위해 상기 데이터 경로 각각을 검사할 수 있는 제어기 수단을 포함하는 적응성 스트리밍 시스템이 제공된다.
본 발명의 실시예에 따라서, 상기 제어기 수단은 상기 각 서버와 데이터 경로에 대해 서버 속도 제어, 대역폭 측정 및 대역폭 평가를 수행할 수 있는 경로 레이트 평가 수단을 포함한다.
본 발명의 다른 실시예에 따라서, 상기 제어기 수단은 상기 각 서버에 의해 전달될 다음 청크에 대한 비트 레이트 선택을 수행할 수 있는 청크 스케쥴링 수단을 포함한다.
본 발명의 다른 실시예에 따라서, 상기 제어기 수단은 정확한 소비 순서를 달성하기 위해 상기 서버들 중 하나의 특정 청크를 링크된 리스트로부터 할당된 빈(bin)에 링크시키기 위한 빈 할당 수단을 포함한다.
본 발명의 다른 실시예에 따라서, 상기 제어기 수단은 디코더가 복수의 서버로부터 수신된 스트림과 단일 서버로부터 수신된 스트림을 구별할 수 없도록 RTP 타임스탬프와 시퀀스 번호를 갱신할 수 있는 RTP 리넘버링 및 리타임 스탬핑 수단을 포함한다.
본 발명의 다른 양상에 따라서, 다중 경로 환경에서의 적응적 스트리밍 방법에 있어서, 클라이언트를 제공하는 단계, 및 각각이 RTP/RTSP 환경에서 멀티미디어 콘텐츠를 각 데이터 경로를 통해 상기 클라이언트로 전송할 수 있는 복수의 서버를 제공하는 단계를 포함하고, 상기 클라이언트는 상기 데이터 경로 각각에 연관된 각자의 대역폭을 결정하고 상기 결정된 각자의 대역폭에 따라서 상기 서버 각각으로부터 상기 멀티미디어 콘텐츠의 청크를 요구하기 위해 상기 데이터 경로 각각을 검사할 수 있는 제어기 수단을 포함하는 적응적 스트리밍 방법이 제공된다.
본 발명의 실시예에 따라서, 상기 제어기 수단은 다중 경로 스트리밍 세션에서 이용되는 상기 서버 각각에 대해 서버 속도 제어, 대역폭 측정 및 대역폭 평가를 병렬로 수행하기 위한 경로 레이트 평가 수단을 포함한다.
본 발명의 실시예에 따라서, 상기 경로 레이트 평가는 주기적으로 반복된다.
본 발명의 실시예에 따라서, 상기 경로 레이트 평가는 각자의 데이터 경로가 현재 레이트보다 높은 레이트에서의 전송을 지속할 것인지를 판단하기 위해 속도 RTS 표준 속성을 재생 요구에 부가함으로써 각 서버의 속도를 제어한다.
본 발명의 실시예에 따라서, 현재 레이트는, 각 서버에 대해, 평활화 알고리즘이 이전 반복 중에 측정된 비트 레이트로부터 달성가능한 비트 레이트를 추론하기 위한 신뢰할 수 있는 평가치를 반복하여 결정하는 데 이용된다.
본 발명의 실시예에 따라서, 각 서버에 대해, 현재 레이트에 대한 분산도가 계산된다.
본 발명의 실시예에 따라서, 상기 제어기 수단은 상기 각 서버에 의해 전달될 다음 청크에 대한 비트 레이트 선택을 수행할 수 있는 청크 스케쥴링 수단을 포함한다.
본 발명의 실시예에 따라서, 총 비트 레이트를 얻기 위해 모든 서버에 대한 개별적인 비트 레이트가 합산되고, 상기 총 비트 레이트보다 바로 아래의 인코딩 비트 레이트로 청크의 재생 레이트가 선택된다.
본 발명의 실시예에 따라서, 상기 제어기 수단은 정확한 소비 순서를 달성하기 위해 상기 서버들 중 하나의 특정 청크를 링크된 리스트로부터 할당된 빈에 링크시킬 수 있는 빈 할당 수단을 포함한다.
본 발명의 실시예에 따라서, 상기 제어기 수단은 디코더가 복수의 서버로부터 수신된 스트림과 단일 서버로부터 수신된 스트림을 구별할 수 없도록 RTP 타임스탬프와 시퀀스 번호를 갱신할 수 있는 RTP 리넘버링 및 리타임 스탬핑 수단을 포함한다.
본 발명은 RTSP/RTP 프로토콜을 이용하여 기존의 IPTV 기반 시설에 효과가 있으면서 스트리밍 레이트에 대한 즉시 제어를 클라이언트에게 제공하는 메카니즘을 제시한다. RTSP(RFC 2326)는 미디어 스트리밍을 구축하고 제어하는 프로토콜이다. 이는 흔히 RTP인 데이터 자체에 대한 전송 프로토콜을 포함하지 않는다. 더욱이, 이는 다중 통신 경로의 동시 이용에 의한 네트워크 변동을 보상하며, 이에 따라서 총 수신 레이트를 평활화하며 그 관련 사용자 경험을 증강시킨다.
본 발명은 HTTP 적응적 스트리밍과 유사하게, 서로 다른 비트 레이트의 버전들 간의 중단없는 스위칭을 가능하게 하는 파일 포맷을 제시한다.
RTSP 프로토콜의 스마트한 이용에 따라, 다중 경로 통신에 효과가 있으면서 기존의 서버 기반 시설을 변경하지 않고도 클라이언트에 의한 네트워크 상태 검사와 스트림 레이트의 제어가 가능하다. 클라이언트는, 레거시 IPTV와 같이 전체 스트림을 요구하는 대신, 다중 경로 통신으로부터 이익을 얻는 복수의 서버로부터 스트림의 독립적인 프래그먼트를 수신한다. 각 서버에 대한 전송 레이트는 개별적으로 조정되어 네트워크 혼잡의 위험을 최소화한다.
더욱이, 클라이언트는 클라이언트 자신과 콘텐츠의 더 중요한 공유 부분을 전달하는 서버 간의 네트워크 용량을 평가하기 위해, 서버에게 명목 레이트보다 더 높은 레이트로 스트림의 작은 프래그먼트를 스트리밍하도록 요구한다. 모든 네트워크 경로의 총 용량이 더 높은 비트 레이트 스트림에 대해 충분하면, 클라이언트는 그 스트림의 더 높은 비트 레이트 버전을 선택하기 위해 모든 서버에 상이한 요구를 보낸다. 현재 재생 레이트에 대해 스트림 수신 레이트가 너무 느리면, 클라이언트는 서버에게 콘텐츠의 더 낮은 비트 레이트 버전을 선택하라고 요구한다.
본 발명은 장비 교체 없이도 RTSP/RTP에 기초한 관련 프로토콜 슈트에 잘 맞게 함으로써 소위 IPTV (관리된) 환경에서의 네트워크 변동에 적응할 수 있는 능력을 추가한다. 더욱이, 본 발명은 다중 네트워크 경로에 걸쳐 통신을 분산시킴으로써 단일 네트워크 경로의 대역폭 변동을 빠르게 평활화하는 경향이 있다.
이하, 본 발명을 첨부도면을 참조로 예를 통해 상세히 설명한다.
도 1은 본 발명의 실시예에 따른 다중 경로 환경에서의 적응적 스트리밍 시스템의 개략도.
도 2는 본 발명의 실시예에 따른 다중 경로 환경에서의 적응적 스트리밍 시스템의 다른 개략도.
도 3은 본 발명의 실시예에 따른 클라이언트-서버 통신의 개략도.
도 4는 본 발명의 실시예에 따른 클라이언트-서버 통신의 다른 개략도.
도 5는 본 발명의 실시예에 따른 클라이언트-서버 통신의 다른 개략도.
도 6은 본 발명의 실시예에 따른 클라이언트-서버 통신의 다른 개략도.
도 7은 본 발명의 실시예에 따른 클라이언트의 다른 개략도.
도면 전체에 걸쳐, 달리 표시하지 않는 한, 동일 구성요소에 대해서는 동일 도면부호를 병기한다.
이제, 특히 도 1을 참조로 설명하면, 본 발명에 따른 다중 경로 환경에서의 적응적 스트리밍 시스템(10)은 클라이언트(12)와, 각각이 RTP/RTSP 환경에서 각 데이터 경로를 통해 클라이언트(12)에게 멀티미디어 콘텐츠를 전송할 수 있는 복수의 서버를 포함한다. 클라이언트(12)는 디스플레이와 함께 셋톱 박스로서 도시되어 있다. 도 1에는, 일례로서, 제1 서버(14), 제2 서버(16) 및 제3 서버(18)가 도시되어 있으며, 이들은 각각 제1 경로(20), 제2 경로(22) 및 제3 경로(24)를 통해 클라이언트에 연결되어 있다.
대부분의 적응적 스트리밍 기술과 마찬가지로, 콘텐츠는 적응적 전달을 지원하기 위해 복수의 비트 레이트로 미리 인코딩되어 있어야 한다. 게다가, 스트림의 여러 가지 버전은 "GOP 정렬"되어 있고, 이는 스트림으로의 임의 접근을 가능하게 하는 기준 프레임의 위치가 모든 서로 다른 비트 레이트 스트림에 대해 동일한 시간 순간에 위치한다는 것을 의미한다. 이 특성에 따라서, 디코더는 시각적 아티팩트 없이 어떤 정확한 위치(기준 프레임)에서 서로 다른 스트림들 간에 전환할 수가 있다. 그러면, 클라이언트(12)는 이들 스트림 버전 중 임의의 것의 청크(이 청크는 GOP 세트이며 일정한 지속기간(예컨대, 2초)을 갖고 있음)를 요구/다운로드할 수가 있다.
그러면, 이러한 멀티 비트 레이트 콘텐츠는 가용 비트 레이트를 수록한 디스크립션(description) 파일과 함께 서버(14, 16, 18)에 분배된다. 이 디스크립션 파일은 통상적인 적응적 스트리밍 구현에 이용되는 매니페스트 파일(manifest file)과 유사하다. 이 실시예에서, 디스크립션 파일은 SDP 파일로서 구현된다.
도 2는 콘텐츠 작성을 보여주는 것으로, 멀티미디어 콘텐츠(30)는, 모든 기준 프레임이 각 인코딩된 스트림에서 동일한 순간에 나타나야 한다는 부가적인 제약을 갖고서, 인코더(32)에 의해 복수의 비트 레이트로 인코딩된다. 비트 레이트간 전환은 각 GOP에서보다 덜 자주 일어날 수 있다는 것을 고려하면, 수십 밀리초(이 예에서는 2초)의 주기로 기준 프레임의 정렬이 필요할 수 있다. 이 실시예에서는, 콘텐츠는 기준 프레임이 2초마다 나타나는 H.264 및 AAC 코덱들을 이용하여 인코딩된 다음에 MPEG 전송 스트림으로 압축된다(encapsulated). 이 실시예를 기술하는데 이용된 예시적인 콘텐츠는 다음의 총 비트 레이트 세트: 500kbps, 1000kbps, 1500kbps 및 2000kbps로 인코딩된다. 스트림 디스크립션은 SDP 프로토콜을 이용하여 표현될 수 있다.
이 예에서, 4개의 MPEG TS 트랙이 전송되며 그 비트 레이트는 SDP 프로토콜 중의 b=TIAS 속성을 이용하여 통지된다. 게다가, "X-altservers" 속성은 클라이언트(12)에게 그로부터 콘텐츠(30)가 수신될 수 있는 대안적인 위치들의 리스트를 제공한다. 이 대안적인 위치들은 주 위치와 정확히 같은 것을 유지하므로 그 주 위치 대신 이용될 수 있다.
스트리밍 세션을 제어하는 정상적인 RTSP 동작이 도 3에 도시되어 있다. 제1 메시지에 의해 클라이언트(12)는 스트림의 특성을 알 수가 있다. SETUP이라 불리는 제2 메시지는 스트리밍 세션을 작성하며, 마지막으로 PLAY 메시지에 따라 서버(14)는 멀티미디어 스트림 전송을 개시한다.
본 발명에서, 클라이언트는 스트리밍 세션 중에 스트림들 간에 전환한다. 이 실시예에서, 명확하게 하기 위해, 클라이언트는 스트리밍 세션의 개시 시에 몇 개의 SETUP 메시지를 발행한다. 가용 트랙마다 하나의 설정이 행해진다. 그러나 각 트랙에 대한 SETUP 메시지는 클라이언트가 실제로 그 트랙을 수신할 필요가 있기 직전에 클라이언트에 의해 발행될 수도 있다는 것은 분명하다.
이 멀티트랙 설정 단계가 도 4에 도시되어 있다. 최적화로서, 클라이언트(12)는 세션의 개별적인 트랙에 대한 별도의 SETUP 메시지 대신에 세션의 URL에 대한 SETUP 메시지를 발행함으로써 모든 트랙을 한 번에 설정할 수도 있다. 멀티서버 동작을 지원하기 위해, 클라이언트(12)는 X-altservers 속성에 수록된 모든 서버에 대해 이러한 초기화 단계를 수행한다.
모든 트랙이 설정되고 나면, 클라이언트(12)는, 도 5에 도시된 바와 같이, 원하는 트랙으로부터 원하는 시간 간격에 대한 PLAY 요구를 발행함으로써 멀티미디어 콘텐츠의 작은 청크를 요구한다.
트랙은 SDP에 있는 trackID를 이용하여 선택된다. 시간 간격은 레인지: 헤더를 이용하여 서버에 표시된다. 예컨대, 시간 간격 2-4초를 선택하기 위해, 클라이언트는 그의 플레이 요구에 다음의 헤더를 추가할 것이다.
PLAY rtsp://multimedia.example.com/stream/trackID=1 RTSP/1.0 Range: npt=2-4
스트리밍 청크들 간의 플레이아웃 중단(playout interruptions)을 피하기 위해, 클라이언트는 플레이아웃 버퍼 내에 충분한 데이터를 유지하기 위해 다음 청크에 대한 새로운 RTSP PLAY 요구를 미리 발행한다. 이 실시예에서, 플레이아웃 버퍼는 미리 다운로드된 2초의 멀티미디어 스트림을 포함한다.
다중 경로 멀티서버 동작을 위해, 클라이언트(12)는, 도 6에 도시된 바와 같이, 여러 가지 청크가 각 서버(14, 16, 18)로부터, 그 네트워크 경로 용량의 클라이언트 평가에 대응하는 속도로 병렬로 스트리밍될 것을 요구한다.
도 7은 클라이언트의 다중 경로 멀티서버 동작에 적합한 제어기(40)의 개략도이다. 제어기(40)는 각 서버와 데이터 경로에 대한 서버 속도 제어, 대역폭 측정 및 대역폭 평가를 수행할 수 있는 경로 레이트 평가 수단(42)을 포함한다. 더욱이, 제어기(40)는 각 서버에 의해 전달될 다음 청크에 대한 비트 레이트 선택을 수행할 수 있는 청크 스케쥴링 수단(44)을 포함한다. 제어기(40)는 정확한 소비 순서를 달성하기 위해 서버들 중 하나의 특정 청크를 링크된 리스트로부터 할당된 빈(bin)에 링크시킬 수 있는 빈 할당 수단(46)을 더 포함한다. 제어기(40)는 RTP 리넘버링(re-numbering) 및 리타임(re-time) 샘플링 수단(48)을 포함한다. 그 외에도, 수신된 스트림이 표시되게 할 수 있는 소비 유닛(50)이 있다.
클라이언트(12)는 이들 수신된 스트림을 합하여, 단일 서버로부터 수신되었을 수 있는 스트림과 똑같도록 단일 스트림으로 만든다. 즉, 시퀀스 번호와 RTP 타임스탬프가 단조 증가한다. 이 작업은 서로 다른 서버로부터 수신된 RTP 패킷의 버퍼링과 리넘버링을 포함한다. 이는 도 7에 도시된 빈 할당과 RTP 리넘버링 단계에 의해 해결된다. 마지막으로 이 합쳐진 스트림은 클라이언트의 디코딩 버퍼에 입력된다.
경로 레이트(경로에 대한 가용 비트 레이트)는 각 서버(14, 16, 18)와 그 관련 네트워크 경로(20, 22, 24)에 대해 독립적으로 경로 레이트 평가 수단(42)에 의해 평가된다. 따라서, 하기에 설명되는 프로세스는 다중 경로 스트리밍 세션에 이용되는 서버들 각각에 대해 병렬로 수행된다.
대역폭 평가 프로세스는 다음의 단계로 이루어진다. 첫째, 서버 속도 제어가 수행된다. 따라서, 서버(14, 16, 18)의 전송 속도는 네트워크 경로(20, 22, 24)의 실제 가용 비트 레이트를 측정하기 위해 클라이언트(12)에 의해 관리된다. 둘째, 대역폭 측정이 실시된다. 따라서, 현재 청크에 대한 현재 네트워크 비트 레이트를 결정하기 위해 서버(14, 16, 18) 전송 속도와 비교되는 클라이언트(12)에 의해 수신된 스트림의 특성이 결정된다. 셋째, 대역폭 평가가 수행된다. 개별적인 대역폭 측정치들은 평활화되어 후속되는 청크들을 선택하는데 이용될 수 있는 정확한 값을 생성한다.
이렇게 하여, 서버의 전송 속도는 네트워크의 실제 가용 비트 레이트를 측정하기 위해 클라이언트에 의해 관리된다.
대역폭 측정은 현재 청크에 대한 현재 네트워크 비트 레이트를 결정하기 위해 서버 전송 속도와 비교되는 클라이언트에 의해 수신된 스트림의 특성을 결정하는 것에 있다.
대역폭 측정은 후속되는 청크들을 선택하는데 이용될 수 있는 정확한 값을 생성하기 위해 개별적인 대역폭 평가를 평활화하는 것에 있다.
전체 대역폭 평기 프로세스는 네트워크 상태가 느리게 변하는 상황에서 주기적으로 반복되지만 반드시 모든 청크에 대해 주기적으로 반복되는 것은 아니다.
그러면, 양호하게도, 가장 느린 경로를 이용하여 시간적으로 "멀리" 렌더링될 청크를 얻고, 가장 빠른 경로를 이용하여 "곧" 렌더링될 청크를 얻는 것이 가능하다.
서버(14, 16, 18)의 속도는 기존의 표준 속성 "Speed"를 PLAY 요구에 부가함으로써 제어된다. 서버 속도를 변경하는 목적은 네트워크가 현재 속도보다 더 높은 속도로 전송을 지속할 것인지를 판단하기 위한 것이다. 도 6과 7의 실시예에서, 클라이언트(12)는 서버에게 현재 속도의 1.2배로 청크를 보낼 것을 요구함으로써 20% 더 빠르게 전송하기 위해 네트워크의 용량을 주기적으로 검사한다.
예시적인 RTSP 요구는 다음과 같을 것이다.
PLAY rtsp://multimedia.example.com/stream/trackID=1 RTSP/1.0
CSeq: 833
Range: npt=2-4
Speed: 1.2
서버는 다음과 같이 상기 요구에 응답할 것이다.
RTSP/1.0 200 OK
CSeq: 834
Range: npt=2-4
RTP
Info:url=rtsp://multimedia.example.com/stream/trackID=1;seq=45102;rtptime=12345678
rtptime이라 불리는 파라미터는 선택된 npt 레인지의 개시에 대응하는 RTP 타임스탬프를 표시한다. 주어진 클록 레이트를 가지고서, 클라이언트는 그 요구된 청크에 대응하는 rtptime 레인지를 결정한다. 현재 비트 레이트 Bi을 계산하기 위해, 클라이언트(12)는 상기 rtptime 구간에서 수신된 RTP 패킷 바이트들을 합한다. 클라이언트는 이를 (맨 먼저 수신된 바이트와 맨 뒤에 수신된 바이트 간에 측정된) 이들 바이트의 전송 지속기간으로 나눈다.
Bi=Bytes·8/transmitDuration
그러면, 이 현재 비트 레이트는 평활화 알고리즘에 의해 신뢰할 수 있는 평가치를 결정하는데 이용된다. 이 실시예에서 이용되는 알고리즘은 반복적이며, 이전의 반복 중에 측정된 비트 레이트로부터 달성가능한 비트 레이트를 추론한다.
다음 번 반복에 대한 평균 비트 레이트는 하기의 공식에서 보는 바와 같이 현재 비트 레이트 평균과 현재 측정치의 가중 평균으로서 계산된다.
avgi +1=(1-α)·avgi+α·Bi
여기서, Bi는 측정된 비트 레이트, avgi는 현재 반복에 대해 계산된 비트 레이트, α는 현재 비트 레이트 측정에 주어진 가중치이다. 일례에서 가중치는 α=1/16으로 선택되었다.
알고리즘은 평균 비트 레이트 외에도 비트 레이트 분산도(variance)를 평가한다. 이 분산도는 하기와 같이 비트 레이트와 동일한 방식으로 평활화된다.
Figure pat00001
Figure pat00002
여기서, Δi는 측정된 비트 레이트와 현재 반복에 대한 평균 비트 레이트 간의 차, vari는 현재 평가에 대해 계산된 분산도, β는 현재 분산도 측정에 주어진 가중치이다. 원형(prototype) 구현에서, β는 1/8로 선택되었다.
각 반복에 대해, 현재 평가치(또는 달성가능한 비트 레이트)는 다음과 같이 계산된다.
Figure pat00003
이는, 분산도가 크면 클라이언트(12)가 평균 대역폭보다 훨씬 작은 대역폭을 사용한다는 것을 의미한다. 반면에, 대역폭이 안정되고 분산도가 낮으면 클라이언트(12)는 링크 상의 총 가용 대역폭을 사용하는 쪽으로 간다.
평가가 리셋되는 2개의 예외적인 경우, 즉, 분산도가 너무 큰 경우(예컨대, 평균 비트 레이트의 절반보다 큰 경우)와 RTP 시퀀스 번호에 불연속이 있었던 경우(이는 RTP 패킷이 손실되었음을 의미함)를 고려한다.
상기 경우들에서 평균 및 분산도 평가는 다음과 같이 리셋된다.
Figure pat00004
Figure pat00005
RTP 불연속의 경우는 관계된 경로/서버에 대한 새로운 비트 레이트 평가 및/또는 이전에 스케쥴링된 청크 전부의 재스케쥴링을 트리거한다.
서버와 청크 스케쥴링은 서버 및 청크 스케쥴링 수단(44)에 의해 수행된다. 클라이언트(12)가 특정 서버에 대해 요구된 청크를 수신하는 것을 종료할 때마다(서버가 유휴 상태가 될 때마다), 클라이언트는 그 서버에 대한 대역폭 평가를 갱신하고, 다시 그 접속을 이용하여 다른 청크를 검색한다. 모든 서버 경로의 가용성과 상대 비트 레이트에 따라서, 서버 접속을 이용하여, 재생될 다음 청크를 검색하거나 뒤에 재생될 청크를 검색할 수 있다. 즉, 이는 청크 스케쥴링이라 불린다. 스케쥴링 알고리즘에 대해서 하기에 설명한다.
먼저, 서버 및 청크 스케쥴링 수단(44)은 다음 청크의 비트 레이트를 선택한다. 그렇게 하기 위해, 서버 및 청크 스케쥴링 수단(44)은, 모든 서버(14, 16, 18)가 병렬로 사용되므로, 모든 서버의 개별적인 비트 레이트 평가치들(후술함)을 합산하여 총 비트 레이트를 얻는다. 선택된 청크의 재생 속도는 총 비트 레이트보다 바로 아래의 인코딩 비트 레이트이다.
디코더 버퍼가 비어 있게 될 시간 te에서는, 먼저, 현재 재생 및 스트리밍 파라미터 ak, d, B 및 Bk를 이용하여 각 서버(14, 16, 18)에 대한 청크 도달 시간이 계산된다. 여기서, ak는 경로 k가 유휴 상태가 되는 시간(마지막 또는 스케쥴링된 청크의 수신이 종료한 시간), d는 청크 지속 기간, B는 재생 비트 레이트, Bk는 서버/경로 k에 대한 현재 비트 레이트 평가치이다. 서버 k로부터 다음 청크를 다운로드하는데 걸리는 시간은 Dk로 표시되고, Dk=d·B/Bk이다. 서버 k가 이용되는 경우의 청크의 도달 시간은 Rk=ak+Dk이다.
알고리즘은 가장 낮은 Rk를 산출하는 서버를 선택한다. 게다가, 청크의 도달 시간은 디코더 버퍼가 비어있을 시간(te)보다 빨라야 한다. 즉, Rk<te가 만족되어야 한다. 그렇지 않으면, 버퍼는 고갈되고 재생에 가시적인 중단이 있을 것이다. 그와 같은 경우에, 재생 비트 레이트는 그 다음 낮은 비트 레이트로 감소될 것이다. 도달 시간 조건이 만족되면, 청크 검색은 서버 k 상에서 스케쥴링된다. 전송 레이트는 서버/경로 k에 대한 현재 비트 레이트 평가치에 맞도록 조정되어야 한다. 이는 Speed: Speed=Bk/B인 RTSP PLAY 요구의 헤더를 이용하여 행해진다.
예컨대, 재생 레이트(B)가 1Mbps이고(trackID 1이 재생되고 있음) 현재 비트 레이트 평가치(Bk)가 400kbps라고 가정하면, Speed는 0.4가 될 것이다. 한편, 주기적 대역폭 평가 프로세스가 현재 청크에 대해 트리거되었다면, 도출된 속도에 1.2가 곱해질 것이다.
(현재 청크에 대해 수행되는 대역폭 평가가 없다고 가정하면) 서버 k에 전송될 대응 요구는 다음과 같다.
PLAY rtsp://multimedia.example.com/stream/trackID=1
RTSP/1.0
CSeq: 838
Range: npt=40-42
Speed: 0.4
서버가 현재 유휴 상태라면, 후속 RTSP 요구가 바로 즉시 발행된다. 그렇지 않고 서버가 계속 사용되고 있다면, RTSP 요구는 서버가 유휴 상태가 될 때까지 지연될 것이다.
마지막으로, 새로운 청크가 버퍼 내로 푸시될 것이며, 그러므로 값(te)은 청크의 지속 기간(d)만큼 증분된다. 즉, te=te+d가 된다. 서버들 중 유휴 상태에 있는 것이 있다면, 모든 서버(14, 16, 18)가 작동 상태가 될 때까지 이전 단계들이 반복된다. 그렇지 않으면 서버 및 청크 스케쥴링 수단(44)은 서버가 다시 유휴 상태가 될 때까지 기다린다.
빈(bin) 할당은 빈 할당 수단(46)에 의해 수행된다. 특정 청크에 대한 요구가 서버(14, 16, 18)로 보내질 때마다, 정확한 소비 순서를 보증하는 링크된 리스트로부터 할당된 빈으로 응답이 링크된다. 즉, 리스트의 첫 부분은 디코더에 주어질 다음 패킷을 포함하는 빈이다. 리스트의 끝 부분은 디코딩될 마지막 패킷을 포함하는 빈이다.
RTP 리넘버링 및 리타임 스탬핑은 RTP 리넘버링 및 리타임 스탬핑 수단(48)에 의해 수행된다. 비디오 디코더/디멀티플렉서에 전달된 마지막 RTP 스트림을 정규화할 필요가 있다. 특정 서버(14, 16, 18)에 보내진 각 요구에 대해서는 수신 빈에 정확한 소비 순서가 할당되었다. 그 요구에 대응하는 모든 RTP 패킷이 수신되고 나면, RTP 타임스탬프 및 시퀀스 번호는, 디코더가 복수의 서버로부터 수신된 스트림과 단일 서버로부터 수신된 스트림을 구별할 수 없도록 갱신된다.
실제로, 모든 패킷의 시퀀스 번호와 RTP 시간은 디코딩 버퍼를 피딩(feeding)하는데 이용된 마지막 시퀀스 번호와 RTP 타임스탬프부터 시작하여 리넘버링된다.
따라서, 본 발명은 RTSP/RTP 프로토콜 슈트(suite)에 적용되는 다중 경로 적응적 스트리밍을 제공할 수 있다. RTSP 프로토콜 중의 Speed 파라미터의 스마트한 이용에 의해 복수 서버의 병렬적 이용과 네트워크 상태 검사가 가능하게 된다. 클라이언트에 의한 복수 RTSP 서버의 병렬적 이용에 의해, 변화하는 네트워크 상태에 빠르게 반응하고 사용자 경험을 최대화할 수 있다. 본 발명은 IPTV 기반 시설에 이용되는 기존의 RTSP/RTP에 적용된다.
즉, 본 발명의 바람직한 실시예에 따른 시스템은, 각각이 RTP/RTSP 컴플라이언트 통신 프로토콜에 기초하여 멀티미디어 콘텐츠를 각 데이터 경로(20, 22, 24)를 통해 클라이언트(12)로 전송하도록 구성된 복수의 서버(14, 16, 18)를 포함하는 네트워크 환경에서 다중 경로 적응적 스트리밍 기술을 이용하여 시청각 콘텐츠를 전송하는 시스템에 있어서, 상기 클라이언트(12)는 상기 데이터 경로(20, 22, 24) 각각에 연관된 각자의 대역폭을 결정하고 상기 결정된 각자의 대역폭에 따라서 상기 서버(14, 16, 18) 각각으로부터 상기 멀티미디어 콘텐츠의 청크를 요구하기 위해 상기 데이터 경로(20, 22, 24) 각각을 검사할 수 있는 제어기(40)를 포함하는 콘텐츠 전송 시스템이다.
상기 제어기(40)는 상기 서버(14, 16, 18) 각각과 상기 클라이언트(12) 간의 상기 데이터 경로(20, 22, 24) 각각에 대한 가용 비트 레이트 평가 수단(42)을 포함하고, 서버(14, 16, 18) 속도 제어를 수행하도록 구성된다.
상기 제어기(40)는 상기 가용 비트 레이트에 따라서, 상기 각각의 서버(14, 16, 18)에 의해 전달될 다음 청크를 선택하기 위한 청크 선택 수단(44)을 더 포함한다.
상기 제어기(40)는 클라이언트(수신기)측에서 정확한 소비 순서를 달성하기 위해 상기 서버들(14, 16, 18) 중 하나의 특정 청크를 링크된 리스트로부터 할당된 빈(bin)에 링크시키도록 구성된 빈 할당 수단(46)을 더 포함한다.
단일 코히어런트(coherent) 스트림을 구성 또는 형성하기 위해, 상기 제어기(40)는 RTP 타임스탬프와 시퀀스 번호를 갱신하기 위한 RTP 리넘버링 및 리타임 스탬핑 수단(48)을 포함한다. 이 수단에 의해, 마치, 예컨대 고유 서버로부터 단일 코히어런트 스트림이 수신된 것처럼, 클라이언트측에서 단일 코히어런트 스트림을 형성할 수 있다.
본 발명의 바람직한 실시예에 따라 이용되는 방법은, 다중 경로 환경에서의 적응적 스트리밍 방법에 있어서,
클라이언트를 제공하는 단계; 및
각각이 RTP/RTSP 환경에서 멀티미디어 콘텐츠를 각 데이터 경로(20, 22, 24)를 통해 상기 클라이언트로 전송하도록 구성된 복수의 서버(14, 16, 18)를 제공하는 단계
를 포함하고,
상기 클라이언트(12)는 상기 데이터 경로(20, 22, 24) 각각에 연관된 각자의 대역폭을 결정하고 상기 결정된 각자의 대역폭에 따라서 상기 서버(14, 16, 18) 중 임의의 서버에 대해 상기 멀티미디어 콘텐츠의 청크를 요구하기 위해 상기 데이터 경로(20, 22, 24) 각각을 검사하는 제어기(40)를 포함하는 적응적 스트리밍 방법이다.
상기 제어기는 다중 경로 스트리밍 세션에서 이용되는 상기 서버(14, 16, 18) 각각에 대해 서버(14, 16, 18) 속도 제어, 대역폭 측정 및 대역폭 평가를 병렬로 수행하기 위한 경로 비트 레이트 평가 수단(42)을 포함한다.
바람직한 실시예에 따라서, 상기 경로 비트 레이트 평가는 주기적으로 반복된다.
상기 경로 비트 레이트 평가(42)는 속도 RTS 표준 속성을 재생 요구에 부가함으로써 대응 서버(14, 16, 18)의 속도를 제어하는 단계를 포함한다.
각 서버(14, 16, 18)에 대해, 현재 레이트는 평활화 알고리즘이 이전 반복 중에 측정된 비트 레이트로부터 달성가능한 비트 레이트를 추론하기 위한 평가치를 결정하는 데 이용된다.
각 서버(14, 16, 18)에 대해, 현재 레이트에 대한 분산도가 계산된다.
상기 제어기(40)는 상기 각 서버(14, 16, 18)에 의해 전달될 다음 청크에 대한 비트 레이트 선택을 수행하기 위한 청크 스케쥴링(또는 청크 선택) 수단(44)을 포함한다.
총 비트 레이트를 얻기 위해 모든 서버(14, 16, 18)에 대한 개별적인 비트 레이트가 합산되고, 청크의 재생 레이트가 상기 총 비트 레이트보다 바로 아래의 인코딩 비트 레이트로 선택된다.
본 발명의 핵심 구성요소는 (HTTP 스트리밍이 아니라) 표준 RTSP 프로토콜이며, 그러므로, 기존 에코 시스템의 재사용, 복수의 서버 상의 콘텐츠의 가용성을 표시하는 새로운 속성을 가진 표준 SDP에 의한 복수의 콘텐츠 버전의 시그널링, RTSP 프로토콜에 기초한 개별적인 네트워크 경로 상의 가용 대역폭의 연속적 평가를 시그널링하는 RTSP를 통한 복수 서버/다중 네트워크 경로의 동시 동작, 및 예상 전달 방식에 기초한 다중 경로 상의 데이터 레이트의 연속적 밸런싱(balancing)이다.
이상과 같이 본 발명의 특정 실시예들을 설명하였지만, 당업자라면 본 발명의 다른 변형, 수정, 및 가능성이 가능함을 잘 알 것이다. 그러므로, 그와 같은 변형, 수정, 및 가능성은 본 발명의 본질과 범위 내에 있는 것이며, 따라서 여기서 설명 및/또는 예시된 본 발명의 일부를 구성한다고 할 것이다.
본 발명은 바람직한 실시예로서 설명되었으며, 당업자의 능력 내에서 창의적 능력을 발휘하지 않더라도 본 발명의 많은 변형과 실시예를 생각해 낼 수 있을 것이다. 따라서, 본 발명의 범위는 첨부된 청구범위에 의해 정해진다.
여기서 사용된 모든 예와 조건문은 본 발명자가 기술 발전에 기여한 본 발명의 원리와 개념을 이해할 수 있도록 하기 위해 제시된 것이며, 본 발명이 그러한 구체적인 예와 조건에 한정되는 것으로 해석해서는 안 된다.
더욱이, 본 발명의 원리, 양상 및 실시예는 물론 그 구체적인 예를 기술하는 모든 설명은 그 구조적, 기능적 등가물을 포함하는 것이다. 그 외에도, 그와 같은 등가물은 현재 공지된 등가물은 물론 장래 개발될 등가물, 즉 구조와 무관하게 동일 기능을 수행하는 개발될 모든 구성요소를 포함하는 것이다.
따라서, 예컨대, 당업자라면 여기서 제시된 블록도들은 본 발명을 구체화하는 예시적인 회로의 개념도를 표현함을 잘 알 것이다. 마찬가지로, 플로우차트, 흐름도, 상태 천이도, 의사코드 등도 컴퓨터 판독 매체에서 실체적으로 표현될 수 있고, 컴퓨터나 프로세서가 명시적으로 나타나 있든지 없든지 상관없이 컴퓨터나 프로세서에 의해 실행될 수 있는 각종 프로세스를 표현함을 잘 알 것이다.
도면에 도시된 여러 가지 구성요소의 기능은 전용 하드웨어는 물론, 적당한 소프트웨어와 관련하여 소프트웨어를 실행할 수 있는 하드웨어의 사용을 통해 제공될 수 있다. 이러한 기능들은 프로세서에 의해 제공되는 경우, 단일의 전용 프로세서, 단일의 공유 프로세서, 또는 일부가 공유될 수 있는 복수의 개별 프로세서에 의해 제공될 수 있다. 더욱이, "디코더", "제어기", "스케쥴러", "평가기" 또는 그 등가적 용어를 명시적으로 사용한 것은 해당 기능을 수행하는 것이 소프트웨어를 실행할 수 있는 하드웨어만을 말하는 것으로 해석해서는 안 되고, 디지털 신호 프로세서(DSP) 하드웨어, 소프트웨어를 저장하는 ROM(Read Only Memory), RAM(Random Access Memory) 및 불휘발성 저장 장치(이에 한정되는 것은 아님)를 암시적으로 포함할 수 있다는 것을 의미한다.
다른 종래 및/또는 커스텀 하드웨어도 포함될 수 있다. 마찬가지로, 본 명세서에 설명된 스위칭은 프로그램 로직의 동작을 통해, 전용 로직을 통해, 프로그램 제어부와 전용 로직의 상호 작용을 통해 실시될 수 있으며, 문맥으로부터 더 구체적으로 이해할 수 있듯이 구현자에 의해 특정 기술이 선택될 수 있다.
청구범위에서, 특정 기능을 수행하기 위한 수단으로 표현된 구성요소는, 예컨대, a) 그 기능을 수행하는 회로 구성요소들의 조합, 또는 b) 그 기능을 수행하는 소프트웨어를 실행하는 적당한 회로와 조합된 펌웨어, 마이크로코드 등을 포함하는 임의 형태의 소프트웨어를 포함하여, 그 기능을 수행하는 임의의 방식을 포함하는 것이다. 청구범위에 기재된 본 발명의 원리는 기재된 여러 가지 수단이 제공하는 기능들이 청구범위가 요구하는 방식으로 조합되고 합쳐진다는 사실에 있다. 따라서 이러한 기능들을 제공할 수 있는 수단은 여기서 보인 것들과 등가인 것으로 간주된다.
명세서에서, 본 발명의 "일 실시예" 또는 "소정 실시예"는 물론 그 변형은 그 실시예와 관련하여 기술된 특정 특징, 구조, 특성 등이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 명세서 전체에 걸쳐 여러 군데 나타나는 "일 실시예에서"나 "소정 실시예에서"라는 구절은 물론 그 변형은 반드시 모두가 같은 실시예를 말하는 것은 아니다.
본 발명은 여러 가지 형태의 하드웨어, 소프트웨어, 펌웨어, 전용 프로세서, 또는 그 조합으로 구현될 수 있음을 알아야 한다. 바람직하게는, 본 발명은 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 더욱이, 소프트웨어는 바람직하게는, 프로그램 저장 장치에서 유형적을 구체화된 애플리케이션 프로그램으로 구현될 수 있다. 애플리케이션 프로그램은 임의의 적당한 구조를 포함하는 기계로 업로드되어 실행될 수 있다. 바람직하게는, 기계는 하나 이상의 CPU(Central Processing Unit), RAM(Random Access Memory) 및 I/O(Input/Output) 인터페이스와 같은 하드웨어를 가진 컴퓨터 플랫폼 상에서 구현된다. 컴퓨터 플랫폼은 운영체제와 마이크로명령 코드도 포함한다. 여기서 설명된 각종 프로세스와 기능은 운영체제를 통해 실행되는 마이크로명령 코드의 일부 또는 애플리케이션 프로그램의 일부(또는 그의 조합)일 수 있다. 게다가, 추가적인 데이터 저장 장치와 프린팅 장치와 같은 다른 각종 주변 장치가 컴퓨터 플랫폼에 연결될 수 있다.
첨부도면에 도시된 구성 시스템 성분과 방법 단계의 일부는 바람직하게는 소프트웨어로 구현되기 때문에, 시스템 성분들(또는 프로세스 단계들) 간의 실제 연결은 본 발명이 프로그램되는 방식에 따라 달라질 수 있음을 알아야 한다. 당업자라면 본 발명의 교시에 따라서 본 발명의 이러한 구현이나 구성과 그 유사한 것들을 생각해 낼 수 있을 것이다.
12: 클라이언트
14, 16, 18: 서버
20. 22, 24: 데이터 경로
30; 멀티미디어 콘텐츠
32: 인코더
40: 제어기
42: 경로 비트 레이트 평가 수단
44: 서버 및 청크 스케쥴링 수단
46: 빈 할당 수단
48: RTP 리넘버링 및 리타임 스탬핑 수단
50: 소비 유닛

Claims (15)

  1. 각각이 RTP/RTSP 컴플라이언트 통신 프로토콜에 기초하여 멀티미디어 콘텐츠를 각 데이터 경로(20, 22, 24)를 통해 클라이언트(12)로 전송하도록 구성된 복수의 서버(14, 16, 18)를 포함하는 네트워크 환경에서 다중 경로 적응적 스트리밍 기술을 이용하여 시청각 콘텐츠를 전송하는 시스템에 있어서,
    상기 클라이언트(12)는 상기 데이터 경로(20, 22, 24) 각각에 연관된 각자의 대역폭을 결정하고 상기 결정된 각자의 대역폭에 따라서 상기 서버(14, 16, 18) 각각으로부터 상기 멀티미디어 콘텐츠의 청크를 요구하기 위해 상기 데이터 경로(20, 22, 24) 각각을 검사할 수 있는 제어기(40)를 포함하는 것을 특징으로 하는 콘텐츠 전송 시스템.
  2. 제1항에 있어서,
    상기 제어기(40)는 상기 서버(14, 16, 18) 각각과 상기 클라이언트(12) 간의 상기 데이터 경로(20, 22, 24) 각각에 대한 가용 비트 레이트 평가 수단(42)을 포함하고, 서버(14, 16, 18) 속도 제어를 수행하도록 구성된 것을 특징으로 하는 콘텐츠 전송 시스템.
  3. 제1항 또는 제2항에 있어서,
    상기 제어기(40)는 상기 가용 비트 레이트에 따라서, 상기 각 서버(14, 16, 18)에 의해 전달될 다음 청크를 선택하기 위한 청크 선택 수단(44)을 포함하는 것을 특징으로 하는 콘텐츠 전송 시스템.
  4. 제1항에 있어서,
    상기 제어기(40)는 정확한 소비 순서를 달성하기 위해 상기 서버들(14, 16, 18) 중 하나의 특정 청크를 링크된 리스트로부터 할당된 빈(bin)에 링크시키도록 구성된 빈 할당 수단(46)을 포함하는 것을 특징으로 하는 콘텐츠 전송 시스템.
  5. 제1항에 있어서,
    상기 제어기(40)는 단일 코히어런트(coherent) 스트림을 형성하기 위해 RTP 타임스탬프와 시퀀스 번호를 갱신하기 위한 RTP 리넘버링 및 리타임 스탬핑 수단(48)을 포함하는 것을 특징으로 하는 콘텐츠 전송 시스템.
  6. 다중 경로 환경에서의 적응적 스트리밍 방법에 있어서,
    클라이언트를 제공하는 단계; 및
    각각이 RTP/RTSP 환경에서 멀티미디어 콘텐츠를 각 데이터 경로(20, 22, 24)를 통해 상기 클라이언트로 전송하도록 구성된 복수의 서버(14, 16, 18)를 제공하는 단계
    를 포함하고,
    상기 클라이언트(12)는 상기 데이터 경로(20, 22, 24) 각각에 연관된 각자의 대역폭을 결정하고 상기 결정된 각자의 대역폭에 따라서 상기 서버(14, 16, 18) 중 임의의 서버로부터 상기 멀티미디어 콘텐츠의 청크를 요구하기 위해 상기 데이터 경로(20, 22, 24) 각각을 검사하는 제어기(40)를 포함하는 것을 특징으로 하는 적응적 스트리밍 방법.
  7. 제6항에 있어서,
    상기 제어기(40)는 다중 경로 스트리밍 세션에서 이용되는 상기 서버(14, 16, 18) 각각에 대해 서버(14, 16, 18) 속도 제어, 대역폭 측정 및 대역폭 평가를 병렬로 수행하기 위한 경로 비트 레이트 평가 수단(42)을 포함하는 것을 특징으로 하는 적응적 스트리밍 방법.
  8. 제7항에 있어서,
    상기 경로 비트 레이트 평가는 주기적으로 반복되는 것을 특징으로 하는 적응적 스트리밍 방법.
  9. 제7항 또는 제8항에 있어서,
    상기 경로 비트 레이트 평가(42)는 속도 RTS 표준 속성을 재생 요구에 부가함으로써 대응 서버(14, 16, 18)의 속도를 제어하는 것을 특징으로 하는 적응적 스트리밍 방법.
  10. 제9항에 있어서,
    각 서버(14, 16, 18)에 대해, 현재 레이트는 평활화 알고리즘이 이전 반복 중에 측정된 비트 레이트로부터 달성가능한 비트 레이트를 추론하기 위한 평가치를 반복하여 결정하는 데 이용되는 것을 특징으로 하는 적응적 스트리밍 방법.
  11. 제9항에 있어서,
    각 서버(14, 16, 18)에 대해, 현재 레이트에 대한 분산도(variance)가 계산되는 것을 특징으로 하는 적응적 스트리밍 방법.
  12. 제6항 또는 제7항에 있어서,
    상기 제어기(40)는 상기 각 서버(14, 16, 18)에 의해 전달될 다음 청크에 대한 비트 레이트 선택을 수행할 수 있는 청크 스케쥴링 수단(44)을 포함하는 것을 특징으로 하는 적응적 스트리밍 방법.
  13. 제12항에 있어서,
    총 비트 레이트를 얻기 위해 모든 서버(14, 16, 18)에 대한 개별적인 비트 레이트 평가치들이 합산되고, 청크의 재생 레이트가 상기 총 비트 레이트보다 바로 아래의 인코딩 비트 레이트로 선택되는 것을 특징으로 하는 적응적 스트리밍 방법.
  14. 제6항 또는 제7항에 있어서,
    상기 제어기(40)는 정확한 소비 순서를 달성하기 위해 상기 서버들(14, 16, 18) 중 하나의 특정 청크를 링크된 리스트로부터 할당된 빈에 링크시키기 위한 빈 할당 수단(46)을 포함하는 것을 특징으로 하는 적응적 스트리밍 방법.
  15. 제6항 또는 제7항에 있어서,
    상기 제어기(40)는 단일 코히어런트 스트림을 형성하기 위해 RTP 타임스탬프와 시퀀스 번호를 갱신할 수 있는 RTP 리넘버링 및 리타임 스탬핑 수단(48)을 포함하는 것을 특징으로 하는 적응적 스트리밍 방법.
KR1020120151052A 2011-12-22 2012-12-21 다중 경로 환경에서의 적응적 스트리밍 시스템 및 방법 KR102048898B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP11306744.1A EP2608558A1 (en) 2011-12-22 2011-12-22 System and method for adaptive streaming in a multipath environment
EP11306744.1 2011-12-22

Publications (2)

Publication Number Publication Date
KR20130079212A true KR20130079212A (ko) 2013-07-10
KR102048898B1 KR102048898B1 (ko) 2020-01-08

Family

ID=47290841

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120151052A KR102048898B1 (ko) 2011-12-22 2012-12-21 다중 경로 환경에서의 적응적 스트리밍 시스템 및 방법

Country Status (13)

Country Link
US (1) US9374409B2 (ko)
EP (2) EP2608558A1 (ko)
JP (1) JP6308718B2 (ko)
KR (1) KR102048898B1 (ko)
CN (1) CN103179107B (ko)
CA (1) CA2797895C (ko)
ES (1) ES2704625T3 (ko)
MX (1) MX349401B (ko)
MY (1) MY161489A (ko)
PL (1) PL2608559T3 (ko)
RU (1) RU2627303C2 (ko)
TR (1) TR201820876T4 (ko)
TW (1) TWI561071B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200050220A (ko) * 2018-11-01 2020-05-11 카테노이드 주식회사 방송 서비스 제공 장치, 방송 서비스 수신 장치 및 이를 이용한 방송 서비스 송수신 시스템

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8560604B2 (en) 2009-10-08 2013-10-15 Hola Networks Ltd. System and method for providing faster and more efficient data communication
IL210169A0 (en) 2010-12-22 2011-03-31 Yehuda Binder System and method for routing-based internet security
US9571827B2 (en) * 2012-06-08 2017-02-14 Apple Inc. Techniques for adaptive video streaming
US9654533B2 (en) * 2013-01-17 2017-05-16 Electronics And Telecommunications Research Institute Method of adaptively delivering media based on reception status information from media client and apparatus using the same
US9485289B2 (en) * 2013-08-28 2016-11-01 Cisco Technology, Inc. HTTP streaming client adaptation algorithm based on proportional-integral control
US9241044B2 (en) 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
US9401944B2 (en) 2013-10-22 2016-07-26 Qualcomm Incorporated Layered adaptive HTTP streaming
JP6305738B2 (ja) * 2013-11-27 2018-04-04 エヌ・ティ・ティ・コミュニケーションズ株式会社 メディア再生制御装置、メディア再生制御方法、及びプログラム
CN104735115A (zh) * 2013-12-24 2015-06-24 乐视网信息技术(北京)股份有限公司 一种p2p下载方法及装置
US9887914B2 (en) * 2014-02-04 2018-02-06 Fastly, Inc. Communication path selection for content delivery
US9680685B2 (en) * 2014-05-08 2017-06-13 Spb Tv Ag System and method for managing video content feeds
US10045367B2 (en) * 2014-10-03 2018-08-07 Qualcomm Incorporated Uplink data fragmentation for multi-user networks
JP6342839B2 (ja) * 2015-04-20 2018-06-13 西日本電信電話株式会社 受信端末及び映像視聴システム
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
US10003357B2 (en) * 2015-08-28 2018-06-19 Qualcomm Incorporated Systems and methods for verification of code resiliency for data storage
CN105430533B (zh) * 2015-12-31 2018-09-11 武汉鸿瑞达信息技术有限公司 Hls视频点播加速方法及系统
US20180205802A1 (en) * 2017-01-13 2018-07-19 Cisco Technology, Inc. Cache Aware Streaming
US11190374B2 (en) 2017-08-28 2021-11-30 Bright Data Ltd. System and method for improving content fetching by selecting tunnel devices
EP4020940A1 (en) 2017-08-28 2022-06-29 Bright Data Ltd. Content fetching by selecting tunnel devices
US11622020B2 (en) 2017-08-31 2023-04-04 Micro Focus Llc Push control
JP6471252B1 (ja) * 2018-03-20 2019-02-13 株式会社Jストリーム 再生装置及びプログラム
WO2020055333A1 (en) * 2018-09-14 2020-03-19 National University Of Singapore Method and device for streaming content
JP7222748B2 (ja) * 2019-02-13 2023-02-15 日本放送協会 受信装置及び配信サーバ
LT3780547T (lt) 2019-02-25 2023-03-10 Bright Data Ltd. Turinio parsisiuntimo, naudojant url bandymų mechanizmą, sistema ir būdas
WO2020202135A2 (en) 2019-04-02 2020-10-08 Luminati Networks Ltd. System and method for managing non-direct url fetching service
US11343551B1 (en) * 2019-07-23 2022-05-24 Amazon Technologies, Inc. Bandwidth estimation for video streams
EP3902275A1 (en) * 2020-04-21 2021-10-27 THEO Technologies A method for estimating bandwidth between a video server and a video client
CN117151440B (zh) * 2023-10-31 2024-02-09 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) 一种机器组策略选择的仓储分配方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006345582A (ja) * 2001-02-08 2006-12-21 Nokia Corp メディアデータをストリーミングする方法、システム及びクライアント装置
US20080189429A1 (en) * 2007-02-02 2008-08-07 Sony Corporation Apparatus and method for peer-to-peer streaming
KR20090108520A (ko) * 2008-04-11 2009-10-15 한국전자통신연구원 네트워크에서 파일을 분배하는 방법

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6405256B1 (en) 1999-03-31 2002-06-11 Lucent Technologies Inc. Data streaming using caching servers with expandable buffers and adjustable rate of data transmission to absorb network congestion
EP1181648A1 (en) * 1999-04-09 2002-02-27 Clearspeed Technology Limited Parallel data processing apparatus
JP2002176609A (ja) * 2000-08-25 2002-06-21 Matsushita Electric Ind Co Ltd データ受信再生方法及びデータ受信再生装置
WO2002025878A1 (fr) * 2000-09-22 2002-03-28 Matsushita Electric Industrial Co., Ltd. Procede de transmission/reception de donnees, dispositif de transmission, dispositif de reception, systeme de transmission/reception et programme
WO2002073441A1 (en) 2001-03-12 2002-09-19 Edgestream, Inc. Splitting and redundant storage on multiple servers
US8077679B2 (en) * 2001-03-28 2011-12-13 Qualcomm Incorporated Method and apparatus for providing protocol options in a wireless communication system
US6862028B2 (en) * 2002-02-14 2005-03-01 Intel Corporation Bin pointer and state caching apparatus and method
US7231442B2 (en) * 2002-04-03 2007-06-12 Tonic Software, Inc. Global network monitoring system
DE60208474T2 (de) * 2002-08-27 2006-07-13 Matsushita Electric Industrial Co., Ltd., Kadoma Verfahren zur Übertragung von Datenströmen abhängig vom überwachten Zustand des Anwendungsspeichers des Nutzers
US7483532B2 (en) * 2003-07-03 2009-01-27 Microsoft Corporation RTP payload format
US7342968B2 (en) * 2003-08-13 2008-03-11 Skystream Networks Inc. Method and system for modeling the relationship of the bit rate of a transport stream and the bit rate of an elementary stream carried therein
US20060215596A1 (en) 2005-03-23 2006-09-28 Intel Corporation Network aware cross-layer protocol methods and apparatus
JP4706908B2 (ja) * 2005-06-30 2011-06-22 ソニー株式会社 同時再生システム、情報処理装置、途中参加方法及び途中参加プログラム
US9124357B2 (en) * 2006-04-20 2015-09-01 Qualcomm Incorporated Media access control for ultra-wide band communication
US7899137B2 (en) 2006-10-12 2011-03-01 Mediatek Inc. Mobile communication system with integrated GPS receiver
US20080163056A1 (en) * 2006-12-28 2008-07-03 Thibaut Lamadon Method and apparatus for providing a graphical representation of content
JP4809256B2 (ja) * 2007-01-31 2011-11-09 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. データストリーミング方法
US8194657B2 (en) * 2007-05-22 2012-06-05 Actiontec Electronics, Inc. Systems and methods for dynamic quality of service
US20080291916A1 (en) * 2007-05-22 2008-11-27 Bo Xiong Systems and methods for dynamic quality of service
WO2008148181A1 (en) * 2007-06-05 2008-12-11 Steve Masson Methods and systems for delivery of media over a network
US8346959B2 (en) * 2007-09-28 2013-01-01 Sharp Laboratories Of America, Inc. Client-controlled adaptive streaming
CN101198016A (zh) * 2007-12-05 2008-06-11 中兴通讯股份有限公司 交互式个人电视媒体交付系统的内容发布和存储方法
US9003050B2 (en) 2008-04-11 2015-04-07 Mobitv, Inc. Distributed and scalable content streaming architecture
US20100153578A1 (en) * 2008-07-16 2010-06-17 Nokia Corporation Method and Apparatus for Peer to Peer Streaming
US7840680B2 (en) 2008-10-15 2010-11-23 Patentvc Ltd. Methods and systems for broadcast-like effect using fractional-storage servers
US7822869B2 (en) * 2008-10-15 2010-10-26 Patentvc Ltd. Adaptation of data centers' bandwidth contribution to distributed streaming operations
JP4934660B2 (ja) * 2008-11-28 2012-05-16 日本電信電話株式会社 通信帯域算出方法、装置、およびトラヒック管理方法
WO2010111261A1 (en) 2009-03-23 2010-09-30 Azuki Systems, Inc. Method and system for efficient streaming video dynamic rate adaptation
US9565239B2 (en) * 2009-05-29 2017-02-07 Orions Digital Systems, Inc. Selective access of multi-rate data from a server and/or peer
CN102006217A (zh) * 2009-08-28 2011-04-06 青岛海信传媒网络技术有限公司 内容分发带宽控制方法
CN102648636B (zh) * 2009-10-21 2016-08-17 爱立信(中国)通信有限公司 用于媒体位置控制的方法、设备和系统
US10003851B2 (en) * 2009-11-24 2018-06-19 Imagine Communications Corp. Managed multiplexing of video in an adaptive bit rate environment
EP2362651A1 (en) * 2010-02-19 2011-08-31 Thomson Licensing Multipath delivery for adaptive streaming
JP2013521743A (ja) * 2010-03-05 2013-06-10 トムソン ライセンシング 適応型ストリーミングシステムにおけるビットレート調整
US8335172B2 (en) * 2010-06-10 2012-12-18 Cisco Technology, Inc. Switchable conference multicast streaming with dynamic asymmetry
US8935508B1 (en) * 2010-08-30 2015-01-13 Qualcomm Incorporated Implementing pseudo content access memory
US8589583B2 (en) * 2010-09-08 2013-11-19 Hulu, Inc. Method and apparatus for adaptive bit rate switching
CN102088620B (zh) * 2010-12-01 2014-06-18 中兴通讯股份有限公司南京分公司 一种内容分发网络中媒体文件下载方法及客户端
CN102123303B (zh) * 2011-03-25 2012-10-24 天脉聚源(北京)传媒科技有限公司 一种音视频文件播放方法、系统及传输控制装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006345582A (ja) * 2001-02-08 2006-12-21 Nokia Corp メディアデータをストリーミングする方法、システム及びクライアント装置
US20080189429A1 (en) * 2007-02-02 2008-08-07 Sony Corporation Apparatus and method for peer-to-peer streaming
KR20090108520A (ko) * 2008-04-11 2009-10-15 한국전자통신연구원 네트워크에서 파일을 분배하는 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Stephane Gouache et.al, DISTRIBUTED & ADAPTIVE HTTP STREAMING, Multimedia and Expo(ICME),2011 IEEE International Conference *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200050220A (ko) * 2018-11-01 2020-05-11 카테노이드 주식회사 방송 서비스 제공 장치, 방송 서비스 수신 장치 및 이를 이용한 방송 서비스 송수신 시스템

Also Published As

Publication number Publication date
US9374409B2 (en) 2016-06-21
EP2608558A1 (en) 2013-06-26
TW201332342A (zh) 2013-08-01
ES2704625T3 (es) 2019-03-19
RU2627303C2 (ru) 2017-08-07
TWI561071B (en) 2016-12-01
KR102048898B1 (ko) 2020-01-08
CN103179107B (zh) 2019-06-28
TR201820876T4 (tr) 2019-01-21
EP2608559A1 (en) 2013-06-26
CN103179107A (zh) 2013-06-26
MX2012015001A (es) 2015-06-01
MX349401B (es) 2017-07-27
US20130166768A1 (en) 2013-06-27
CA2797895A1 (en) 2013-06-22
JP6308718B2 (ja) 2018-04-11
MY161489A (en) 2017-04-14
JP2013135471A (ja) 2013-07-08
CA2797895C (en) 2020-01-14
RU2012152900A (ru) 2014-06-20
PL2608559T3 (pl) 2019-03-29
EP2608559B1 (en) 2018-11-21

Similar Documents

Publication Publication Date Title
KR102048898B1 (ko) 다중 경로 환경에서의 적응적 스트리밍 시스템 및 방법
US11856329B2 (en) Dynamic advertisement stream replacement
CA3031584C (en) Client feedback enhanced methods and devices for efficient adaptive bitrate streaming
KR102110627B1 (ko) 적응적 비트레이트 스트리밍에서 대역폭 할당을 위한 방법들 및 디바이스들
Jarnikov et al. Client intelligence for adaptive streaming solutions
CN106576182B (zh) 支持超文本传输协议上的动态自适应流的设备和方法
US10034048B2 (en) Multipath delivery for adaptive streaming
US20180262439A1 (en) Excess bitrate distribution based on quality gain in sabr server
US7979557B2 (en) Fast setup response prediction
US9003050B2 (en) Distributed and scalable content streaming architecture
JP6436772B2 (ja) 受信ビットレートの動的適応方法および関連する受信機
Yoon et al. Low-cost video transcoding at the wireless edge
EP3107261B1 (en) System, method and devices for low latency transmission
Yoon Optimizing Video Delivery for Enhancing User Experience in Wireless Networks

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant