KR20150119170A - 적응형 스트리밍 트래픽을 관리 및 조절하기 위한 장치, 시스템, 및 방법 - Google Patents

적응형 스트리밍 트래픽을 관리 및 조절하기 위한 장치, 시스템, 및 방법 Download PDF

Info

Publication number
KR20150119170A
KR20150119170A KR1020157024813A KR20157024813A KR20150119170A KR 20150119170 A KR20150119170 A KR 20150119170A KR 1020157024813 A KR1020157024813 A KR 1020157024813A KR 20157024813 A KR20157024813 A KR 20157024813A KR 20150119170 A KR20150119170 A KR 20150119170A
Authority
KR
South Korea
Prior art keywords
media segment
bit rate
priority
network
media
Prior art date
Application number
KR1020157024813A
Other languages
English (en)
Other versions
KR101699656B1 (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 KR20150119170A publication Critical patent/KR20150119170A/ko
Application granted granted Critical
Publication of KR101699656B1 publication Critical patent/KR101699656B1/ko

Links

Images

Classifications

    • H04L65/602
    • 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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2475Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
    • H04L65/4076
    • H04L65/4084
    • 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/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • 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 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
    • H04N21/23439Processing 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 for generating different versions
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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/64322IP
    • 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/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • 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/643Communication protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

공정성을 최적화하기 위해 적응형 스트리밍 트래픽을 관리하고 조절하기 위한 시스템, 장치 및 방법이 여기에서 기술된다. 한 실시 형태에서, 방법은 다음을 포함한다: 미디어 세그먼트에 대한 요청을 수신하는 단계; 미디어 세그먼트를 찾아내는 단계; 요청된 미디어 세그먼트의 비트레이트를 결정하는 단계; 및 우선순위 정보를 미디어 세그먼트에 할당하는 단계 - 최저 보장된 비트레이트를 갖는 미디어 세그먼트가 높은 비트레이트들을 갖는 미디어 세그먼트들보다 상위의 우선순위를 할당받음 -.

Description

적응형 스트리밍 트래픽을 관리 및 조절하기 위한 장치, 시스템, 및 방법{DEVICES, SYSTEMS, AND METHODS FOR MANAGING AND ADJUSTING ADAPTIVE STREAMING TRAFFIC}
본 개시는 일반적으로 디지털 네트워크들을 통한 데이터 전송의 분야에 관한 것이고, 더 구체적으로는 공정성을 최적화하기 위해 적응형 스트리밍 트래픽을 관리하고 조절하기 위한 시스템, 장치 및 방법에 관한 것이다.
배경에 의해서, 인터넷 프로토콜 텔레비전("IPTV")은 디지털 텔레비전 서비스가 광대역 접속에 의한 송출을 포함할 수 있는 네트워크 기반 구조를 통해 인터넷 프로토콜을 이용하여 송출되는 시스템이다. IPTV의 일반적 정의는, 종래 방송과 케이블 포맷들을 통해 송출되는 것 대신, 컴퓨터 네트워크들에 사용된 기술들을 통해 뷰어에 의해 수신되는 텔레비전 콘텐츠이다.
주거 사용자들을 위해, IPTV는 종종 주문형 비디오("VOD")와 관련하여 제공되고, 웹 액세스와 보이스 오버 인터넷 프로토콜("VoIP")과 같은 인터넷 서비스들이 번들로 제공될 수 있다. 기업에서, IPTV는 기업 근거리 통신망("LAN")을 통해 텔레비전 콘텐츠를 송출하는데 사용될 수 있다.
IPTV는 라이브 TV(예를 들면, 멀티캐스팅)뿐만 아니라 저장된 비디오(예를 들면, VOD) 둘 다를 커버한다. IPTV의 재생은 일반적으로 퍼스널 컴퓨터 또는 TV에 연결된 셋톱 박스 중 어느 하나를 필요로 한다. 비디오 콘텐츠는 전형적으로 MPEG-2 또는 MPEG-4 코덱 중 어느 하나를 이용하여 압축된 다음, 라이브 TV의 경우에는 IP 멀티캐스트를 통해 또는 VOD의 경우에는 IP 유니캐스트를 통해 송출된 동화상 전문가 그룹("MPEG") 전송 스트림으로 전송된다. IP 멀티캐스트 또는 IP 멀티캐스트 프로토콜은 정보 또는 콘텐츠가 동시에 여러 대의 컴퓨터에 전송될 수 있는 방법이다. IP 멀티캐스트 프로토콜에서, 각각의 프로그램 채널(Px)은, 클라이언트가 인터넷 그룹 관리 프로토콜의("IGMP의") 가입/탈퇴 명령들을 통해 프로그램을 시청하는, 하나의 멀티캐스트 그룹으로서 규정될 수 있다. IGMP는 2002년 10월에 발간된 IETF 표준, RFC3376, "Internet Group Management Protocol, Version 3"에 더욱 상세히 기술되고, 그 전체 내용은 참조로서 여기에서 인용된다.
일반적으로, 대부분의 광대역 서비스들에서, (예를 들면, 꼬인 전화선을 이용하는 디지털 가입자 회선("DSL") 또는 동축 케이블을 사용하는 케이블 모뎀), 에지 라우터와 홈 게이트웨이 사이의 라스트 마일(last mile)(이하, "라스트 마일" 또는 "라스트 마일 대역폭"으로서 언급됨)은 대역폭 가용성의 병목이다. 예를 들어, AT&T의 유버스(U-verse) 서비스는 DSL 대역폭 제한들 때문에 단지 2 고해상도("HD")와 2 표준 정의("SD") 채널을 동시에 제공하기 위해 제한된다. 이러한 라스트 마일 대역폭 가용성은 홈 간의 물리적 거리와 신호 품질(장애)에 따라 다르다.
적응형 비트 레이트(ABR) 스트리밍은 콘텐츠를 일련의 작은 HTTP 기반의 파일 세그먼트들로 나눔으로써 미디어 콘텐츠의 스트리밍을 제공하기 위해 스트리밍과 프로그레시브 다운로드의 양태들을 결합시키는 기술이고, 각각의 세그먼트는 영화 또는 스포츠 경기의 생방송과 같이, 지속 시간이 잠재적으로 긴 콘텐츠의 재생 시간의 짧은 구간을 포함한다. ABR 플레이어는 재생, 일시 정지, 되감기 등과 같은 사용자 요청들과 매니페스트(manifest) 또는 재생 리스트 파일에 의해 결정된 세그먼트들의 적절한 시리즈를 요청함으로써 스트리밍 재생을 제공한다.
따라서, 공정성을 최적화하기 위해 적응형 스트리밍 트래픽을 관리하고 조절하기 위한 장치, 시스템 및 방법이 여기에서 제공된다.
제1 양태에서, 다음 단계들을 포함하는 방법이 개시된다: 미디어 세그먼트에 대한 요청을 수신하는 단계; 미디어 세그먼트를 찾아내는 단계; 요청된 미디어 세그먼트의 비트레이트를 결정하는 단계; 및 우선순위 정보를 미디어 세그먼트에 할당하는 단계 - 여기서, 최저 보장된 비트레이트를 갖는 미디어 세그먼트는 높은 비트레이트들을 갖는 미디어 세그먼트들보다 상위 우선순위를 할당받음 -. 제1 양태의 한 실시 형태에서, 이 방법은 다음을 더 포함한다: 우선순위 정보를 가진 미디어 세그먼트를 네트워크로 전송하는 단계. 제1 양태의 한 실시 형태에서, 미디어 세그먼트 요청은 클라이언트로부터 수신된다. 제1 양태의 한 실시 형태에서, 수신하고, 찾아내고, 결정하고, 할당하는 단계들 중 적어도 하나는 하이퍼텍스트 전송 프로토콜(HTTP) 서버 또는 HTTP 프록시 서버에서 수행된다. 제1 양태의 한 실시 형태에서, 상기 요청된 미디어 세그먼트의 비트레이트를 결정하는 상기 단계는 비트레이트 정보에 대해 매니페스트 파일 또는 재생 목록을 체크하는 단계를 포함한다. 제1 양태의 한 실시 형태에서, 우선순위 정보를 할당하는 상기 단계는 미디어 세그먼트에 대한 인터넷 프로토콜(IP) 헤더의 차등화 서비스 코드 포인트(DSCP) 필드를 설정하는 단계를 포함한다. 제1 양태의 한 실시 형태에서, DSCP 필드는 보장된 포워딩(AF)의 12개의 DSCP 레벨들 중 하나로부터 선택된다. 제1 양태의 한 실시 형태에서, 우선순위를 할당하는 상기 단계는 12개의 DSCP 레벨들 중 하나를 나타내기 위해 DSCP 값을 선택하는 단계를 포함한다. 제1 양태의 한 실시 형태에서, 최저 보장된 비트레이트를 갖는 미디어 세그먼트들은 가능한 최상위 우선순위를 할당 받는다. 제1 양태의 한 실시 형태에서, 네트워크 정체의 기간들에서, 상위 우선순위를 갖는 미디어 세그먼트들은 하위 우선순위를 갖는 미디어 세그먼트들에 앞서 전송된다. 제1 양태의 한 실시 형태에서, 하위 우선순위를 갖는 미디어 세그먼트가 전송되지 않으면, 낮은 비트레이트를 갖는 미디어 세그먼트에 대한 요청이 수신되고 상위 우선순위를 할당받을 수 있다. 제1 양태의 한 실시 형태에서, 하위 우선순위를 갖는 미디어 세그먼트는 네트워크에서 대역폭 제한들 때문에 전송되지 않는다. 제1 양태의 한 실시 형태에서, 네트워크는 인터넷 프로토콜(IP) 네트워크이다. 제1 양태의 한 실시 형태에서, 미디어 세그먼트는 하이퍼텍스트 전송 프로토콜(HTTP) 적응형 스트리밍 미디어 세그먼트를 포함한다.
제2 양태에서, 다음 구성 요소들을 포함하는 시스템이 개시된다: 미디어 세그먼트에 대한 요청을 수신하고; 미디어 세그먼트를 찾아내고; 요청된 미디어 세그먼트의 비트레이트를 결정하고; 그리고 우선순위 정보를 미디어 세그먼트에 할당하도록 - 최저 보장된 비트레이트를 갖는 미디어 세그먼트가 높은 비트레이트들을 갖는 미디어 세그먼트들보다 상위 우선순위를 할당받음 - 구성된 프로세서를 갖는 콘텐츠 서버, 및 우선순위 정보를 가진 미디어 세그먼트를 수신하고; 그리고 우선순위 정보를 가진 미디어 세그먼트를 네트워크로 전송하도록 구성되는 프로세서를 갖는 라우터. 제2 양태의 한 실시 형태에서, 상기 콘텐츠 서버는 하이퍼텍스트 전송 프로토콜(HTTP) 서버 또는 HTTP 프록시 서버를 포함한다. 제2 양태의 한 실시 형태에서, 상기 라우터는 코어 라우터 또는 에지 라우터를 포함한다. 제2 양태의 한 실시 형태에서, 상기 요청된 미디어 세그먼트의 비트레이트를 결정하는 것은 비트레이트 정보에 대해 매니페스트 파일 또는 재생 목록을 체크하는 것을 포함한다. 제2 양태의 한 실시 형태에서, 상기 우선순위 정보를 할당하는 것은 미디어 세그먼트에 대한 인터넷 프로토콜(IP) 헤더의 차등화 서비스 코드 포인트(DSCP) 필드를 설정하는 것을 포함한다. 제2 양태의 한 실시 형태에서, 상기 DSCP 필드는 보장된 포워딩(AF)의 12개의 DSCP 레벨들 중 하나로부터 선택된다. 제2 양태의 한 실시 형태에서, 상기 우선순위를 할당하는 것은 12개의 DSCP 레벨들 중 하나를 나타내기 위해 DSCP 값을 선택하는 것을 포함한다. 제2 양태의 한 실시 형태에서, 네트워크 정체의 기간들에서, 상위 우선순위를 갖는 미디어 세그먼트들은 하위 우선순위를 갖는 미디어 세그먼트들에 앞서 전송된다. 제2 양태의 한 실시 형태에서, 상기 네트워크는 인터넷 프로토콜(IP) 네트워크이다. 제2 양태의 한 실시 형태에서, 상기 미디어 세그먼트는 하이퍼텍스트 전송 프로토콜(HTTP) 적응형 스트리밍 미디어 세그먼트를 포함한다.
본 개시의 상세들은 그의 구조와 동작 둘 다에 관해서, 동일한 참조 번호들이 동일한 부분들을 지칭하는 첨부 도면들의 연구에 의해 부분적으로 이해될 수 있다. 도면들은 반드시 축척에 따라 도시되는 것은 아니며, 그 대신에 본 개시의 원리들을 예시하는 것이 강조된다.
도 1은 실시 형태에 따라서 하이퍼텍스트 전송 프로토콜(HTTP) 서버로부터 다수의 최종 사용자들 또는 클라이언트들로 시스템 내의 콘텐츠의 예시적 흐름을 설명하는 기능 블록도이다.
도 2는 프로그램이 실시 형태에 따라 다수의 비트 레이트로 인코딩된 예시적 구조를 설명하는 기능 블록도이다.
도 3은 실시 형태에 따라 인제스팅, 트랜스코딩, 세그멘테이션 및 적응형 스트리밍을 위한 예시적 프로세스를 설명하는 기능 블록도이다.
도 4는 실시 형태에 따라 동적 적응형 스트리밍 오버 HTTP(DASH)의 예시적 데이터 흐름을 설명하는 기능 블록도이다.
도 5는 실시 형태에 따라 하나 이상의 그리디 클라이언트들이 또 다른 클라이언트에 어떻게 영향을 미칠 수 있는지를 설명하는 그래프이다.
도 6은 실시 형태에 따라 대역폭을 할당하는 방법을 설명하는 그래프이다.
도 7은 실시 형태에 따라 대역폭 할당에서의 공정성을 최적화하기 위해 DiffServ를 이용하는 예시적 프로세스를 설명하는 흐름도이다.
지난 수십 년에 있어서, 비디오 압축과 영상 전송 시스템들의 관련 분야들에서의 발달들은 다양한 통신 시스템들과 네트워크들을 통해 전송된 디지털 비디오 프로그램들의 광범위한 가용성으로 이어졌다. 최근에는, 텔레비전 프로그램들이 멀티캐스트, 예를 들어, IP 멀티캐스트로서 전송되고, 다중화된 비디오 및 오디오 신호들의 디지털 비트 스트림들이 패킷 교환 네트워크들을 통해 사용자들 또는 클라이언트 가입자들에게 송출되게 하는 새로운 기술들이 개발되었다.
적응형 비트 레이트(ABR) 스트리밍은 전체적인 미디어 스트림을 일련의 작은 HTTP 기반 파일 다운로드들로 나눠서 작업하는 기술이고, 각각의 다운로드는 전체적이고 잠재적으로 한정되지 않은 전송 스트림의 하나의 짧은 세그먼트를 로딩한다. 스트림이 재생될 때, 클라이언트(예를 들면, 미디어 플레이어)는 다양한 데이터 레이트로 인코딩된 동일한 자료를 포함하는 다수의 상이한 대체 스트림으로부터 선택할 수 있는데, 이는 스트리밍 세션이 상기 가용 데이터 레이트에 적응되게 한다. 스트리밍 세션의 초기에, 플레이어는 이용 가능한 다양한 서브-스트림들을 위한 메타데이터를 포함하는 매니페스트를 다운로드/수신한다. 그 요청들이 표준 HTTP 트랜잭션들만을 이용하기 때문에, 적응형 비트 레이트 스트리밍은 RTP와 같은 UDP 기반 프로토콜들과는 달리, 표준 HTTP 트래픽을 통과시키는 방화벽 또는 프록시 서버를 횡단할 수 있다. 이것은 또한 콘텐츠 송출 네트워크(CDN)가 임의의 주어진 스트림을 위해 쉽게 구현되게 한다. ABR 스트리밍 방법들은 애플사의 HTTP 라이브 스트리밍(HLS)과 마이크로소프트사의 HTTP 스무드 스트리밍을 포함하는 독점적 포맷으로 구현되었다.
도 1을 참조하면, 시스템(100)에서 콘텐츠가 콘텐츠 서버로부터 다수의 최종 사용자들 또는 클라이언트들로 흐르는 예시적 흐름이 도시된다. 시스템(100)은 일반적으로, 콘텐츠 서버(HTTP 서버(110)로 도시됨), 코어 라우터(120), IP 분산 네트워크(130), HTTP 프록시 서버(140), 에지 라우터(150), 홈 게이트웨이(160), 및 하나 이상의 클라이언트(170a, 170b, 170c, 170d)를 포함한다. 또한, 에지 라우터(150)와 홈 게이트웨이(160) 사이에 위치한 라스트 마일 네트워크(180)가 도시된다. 상술한 바와 같이, 라스트 마일 네트워크(180)는 일반적으로 시스템(100)에서 대역폭 가용성의 병목이다.
본 분야의 숙련자들에 의해 이해되는 바와 같이, HTTP 서버(110)는 일반적으로 시스템(100)에 콘텐츠를 제공한다. 콘텐츠는 예를 들어, 패킷 형태로 제공된 예를 들어, 오디오, 비디오, 또는 다른 데이터 정보를 포함할 수 있다. 코어 라우터(120)는 일반적으로 HTTP 서버(110)로부터 패킷 콘텐츠를 수신할 수 있고, 그들의 궁극적 목적지를 결정하기 위해 패킷들에서 주소 정보를 판독한다. 그리고 나서, 예를 들어 라우팅 테이블 또는 라우팅 정책에서의 정보를 이용하여, 코어 라우터(120)는 패킷들을 IP 네트워크(130)로 보낼 수 있다. HTTP 서버(110)와 이것의 콘텐츠의 송출 방법은 도 2와 관련하여 하기에 제공될 것이다.
여기에서 사용된 바와 같이, "코어 라우터"는 "코어"에서의 또는 IP 분산 네트워크의 IP 싱글-캐스트와 멀티-캐스트 패킷들을 라우팅하는 IP 라우터이다. 에지 라우터들은 코어 네트워크에 연결된다. 일반적으로, 이러한 코어 라우터들은 "백본(backbone)" 광역 네트워크("WAN") 서비스 제공자들에 의해 관리된다. 상호 연결 대역폭들은 수십 기가비트(또는 더 많은)일 수 있고 다중-프로토콜 라벨 스위칭("MPLS")과 같은 스위칭 프로토콜들을 구동한다.
IP 네트워크(130)는 일반적으로 그들의 통신 프로토콜을 위해 인터넷 프로토콜 사용하는 하나 이상의 컴퓨터의 네트워크일 수 있다. 코어 라우터(120)와 유사하게, 에지 라우터(150)는 IP 네트워크(130)로부터 패킷들을 보낼 수 있다.
일부 실시 형태에서, HTTP 프록시 서버(140)는 HTTP 서버(110)의 에지 에이전트로서 작동한다. HTTP 프록시 서버(140)는 HTTP 서버(110)가 전송하는 것을 저장하거나 캐시하고 하나보다 많은 클라이언트(170)가 콘텐츠에 대한 요청을 송신하는 경우 전송들의 중복을 회피하도록 구성될 수 있다. 예를 들어, 클라이언트(170a)는 콘텐츠 X에 대한 요청을 송신할 수 있다. HTTP 프록시 서버(140)는 먼저 요청을 수신하고 이 요청을 HTTP 서버(110)에 중계할 수 있다. HTTP 서버(110)는 HTTP 프록시 서버(140)를 통해 콘텐츠 X로 응답할 수 있다. HTTP 프록시 서버(140)는 클라이언트(170a)에 콘텐츠 X를 전송할 수 있고, 일부 실시 형태들에서는, 콘텐츠 X를 그것의 캐시 메모리에 저장할 수 있다. 클라이언트(170b)가 동일한 콘텐츠 X를 요청하면, HTTP 프록시 서버(140)는 콘텐츠를 HTTP 서버(110)에 요청하지 않고, 그것을 즉시 전송할 수 있다.
여기에서 사용된 바와 같이, "에지 라우터"는 코어 네트워크에 액세스 라우터들을 연결하고 IP 분산 네트워크의 "에지"에서 IP 싱글-캐스트와 멀티-캐스트 패킷들을 라우팅하는 IP 라우터이다. 에지 라우터들은 일반적으로 인터넷 서비스 공급자("ISP")에 의해 관리되고, 여전히 네트워크의 WAN 부분이라고 생각할 수 있지만, 일반적으로 "백본"은 아니다. 액세스 네트워크들에의 상호 연결 대역폭들은 넓은 범위에 걸쳐 라스트 마일 대역폭에 따라 다르고, 일반적으로 주택용 액세스 네트워크들을 위한 메가비트 내지 멀티-메가비트 범위에 있다. 기업(예를 들면, 상용 사업)을 위한 대역폭들은 상당히 클 수 있다.
네트워크를 통해 데이터 패킷들을 전송할 때, 마지막 헤드-엔드(last head-end)(또는 중앙국, 상호 접속 위치(POP), 기업 게이트웨이, 등)가 전형적으로 도달되고, 이것은 헤드-엔드 라우터를 이용하여, 데이터 채널 상의 다수의 사용자들에게 서비스를 제공한다. 싱글 헤드-엔드가 다수의 사용자들에게 서비스를 제공하는 그와 같은 데이터 채널들은 공유된 데이터 채널들로서 가끔 지칭된다. 헤드-엔드 라우터는 주어진 공유 채널의 "헤드-엔드"에 있고, 외부 네트워크들과의 통신 인터페이스의 역할을 한다. 이러한 자격으로, 헤드-엔드 라우터는 적절한 사용자에게 수신된 데이터 패킷들을 라우팅하고, 또한 사용자들에게 라우팅하기 위한 데이터 패킷들을 우선 순위화하고 스케줄링한다. 일부 실시 형태에서, 에지 라우터(150)는 헤드-엔드 라우터를 포함할 수 있다. 일부 실시 형태에서, 코어 라우터(120)는 헤드-엔드 라우터를 포함할 수 있다. 그와 같은 실시 형태들에서, 코어 라우터(120)는 전체적인 네트워크의 "관리된" 부분에 대한 진입점(entry point)의 역할을 할 수 있다.
데이터 패킷이 헤드-엔드에 의해 수신된 후, 헤드-엔드 라우터는 그리고 나서 적절한 사용자에게 데이터를 공유 채널, 예를 들어, 홈 게이트웨이(160)를 통해 전달한다. 병목은 이용 가능한 대역폭이 요구(예를 들면, 채널 자체 상의 전송 대역폭 또는 라우터 또는 헤드-엔드의 전송 및/또는 처리 대역폭)를 충족시키기에 불충분한 경우 이러한 포인트에서 발생할 수 있는데, 이는 "다운스트림" 패킷들(예를 들면, 헤드-엔드에 의해 서비스되는 공유 채널의 사용자를 위해 예정된 패킷들)의 큐잉(queuing)을 초래한다.
예로서, AT&T UverseSM 서비스에 있어서, VDSL2 DSL 전송기들이 있는 거리에는 보통 헤드-엔드 라우터와 키오스크가 있다. 그것은, 일반적으로 네트워크의 혼잡한 부분인 홈에서 헤드-엔드 라우터와 게이트웨이 간의 대역폭이다.
예를 들어, 복수의 사용자들은, 그 자체가 IP 네트워크(130)에 결합된 소정의 헤드-엔드에 접속될 수 있다. 사용자들 중 하나는 프로그램을 HTTP 서버(110)에 요청할 수 있다. 이러한 프로그램은 패킷들의 형태로 IP 네트워크(130)를 통해 라우팅되고, 궁극적으로 사용자 자신의 헤드-엔드에 송출될 수 있다. 그 다음, 헤드-엔드는 가능한 경우, 전형적으로 헤드-엔드 라우터를 이용하여 수신인/사용자에게 패킷들을 즉시 라우팅하고, 또는 이들 패킷들을, 다른 패킷들이 현재 공유 채널을 차지하고 있는 경우에는 버퍼(전형적으로, 선입 선출(FIFO) 버퍼) 내에 큐잉한다.
일부 실시 형태에서, 홈 게이트웨이(160)는 전형적으로 홈에서 활용되는 디지털 장치들, 예를 들어, 개인용 컴퓨터들과 부속품들(예를 들면, 프린터들과 모바일 컴퓨팅 장치들) 사이의 통신을 위해 주택용 근거리 통신망("LAN")이다. 홈 게이트웨이(160)가 사용자의 홈 내에 있는 디지털 장치들의 전부 또는 일부를 포함할 수 있다는 것을 이해해야 한다. 대안적으로, 홈 게이트웨이(160)는 지역에서의 주택 집합 등과 같이, 더 광범위한 장치들을 포함하도록 규정될 수 있다.
다시 클라이언트 1-4(170a-d)들을 참조하면, 도면에 도시된 바와 같이, 클라이언트 1(170a)와 클라이언트 2(170b)는 동일한 LAN의 일부이다. 예를 들어, 클라이언트 1(170a)과 클라이언트 2(170b)는 제1 사용자의 홈 내에서 작동하는 컴퓨터와 텔레비전용 셋톱 박스일 수 있다. 클라이언트 3(170c)은 제2 사용자의 홈 내에서 작동하는 셋톱 박스일 수 있고, 클라이언트 4(170d)는 제3 사용자의 홈 내에 작동하는 셋톱 박스일 수 있다.
라스트 마일 대역폭 가용성이 물리적 거리, 홈(예를 들면, 클라이언트 1-2(170a-b)와 클라이언트 3(170c)와 클라이언트 4(170d)) 간의 신호 품질과 활동중인 사용자들의 수에 따라 변하기 때문에, 협정된 서비스를 모든 홈들에 제공하기 위해서는 그에 따라 콘텐츠 압축 파라미터들을 조절하는 것이 바람직할 수 있다. 그러나, 더 많은 대역폭이 이용 가능할 때, 콘텐츠 압축을 더 조절함으로써 활동중인 사용자들에게 개선된 품질을 전달하는 것이 바람직할 것이다. 이는, 일부 실시 형태들에서는, 다수의 비트 레이트들로 준비된 콘텐츠의 적응형 스위칭을 통해 달성될 수 있다. 대안적으로, 한 예에서, 클라이언트 2-4(170b-d)들이 활성화되지 않으면, 클라이언트 1(170a)은 단독으로 전체 파이프를 이용할 수 있다. 클라이언트 1(170a)에 대해 더 높은 비트 레이트로의 콘텐츠의 적응형 스위칭은 그러한 경우에 실행될 수 있다.
이제, 도 2를 참조하면, 다수의 비트 레이트들로 인코딩된 프로그램의 예시적 구조를 설명하는 기능 블록도가 도시된다. 도 2에서는, 188 바이트의 길이를 갖고 있는 MPEG-2 전송 패킷이 도시된다. MPEG-2 인코딩의 바람직한 특징은 프레임 내에서뿐 아니라, 한 그룹의 프레임들 중에서도 중복성을 제거하기 위한 능력이다. 일반적으로, MPEG-2는 비디오를 나타내기 위해 3가지 프레임 형태(I, P, B)들을 이용한다. 한 그룹의 픽처들("GOP")의 세팅은 상기 이용된 3가지 프레임 형태들의 패턴을 규정한다.
인트라-프레임("I-프레임")은 또한 키 프레임으로도 알려져 있다. 모든 GOP는 하나의 I-프레임을 포함한다. I-프레임은 그것에 선행하거나 후속하는 프레임들에 대한 어떠한 기준도 없이 완전히 압축 해제될 수 있는 유일한 MPEG-2 프레임 형태이다. 이는, 또한 최상의 대역폭 또는 비트레이트를 요청하는 최상의 데이터-헤비(data-heavy)이다. 사용자가 I-프레임을 장면 전환 또는 일부 다른 특정한 프레임 위치에 두기를 원하면, 사용자는 수동으로 그것을 세팅해야 한다. 이는 강제적 I-프레임으로도 알려져 있다.
예측-프레임("P-프레임")은 가장 가까운 선행 I- 또는 P-프레임을 기반으로 "예측된" 픽처로부터 인코딩된다. P-프레임들은 전형적으로, 그들이 GOP에서의 선행하는 I- 또는 P-프레임을 기준으로 하기 때문에 I-프레임들보다 훨씬 적은 대역폭 또는 비트레이트를 요청한다.
I-프레임들과 P-프레임들 양측은 또한 기준 프레임들로도 알려져 있는데, 이는 양방향-프레임("B-프레임")이 하나의 프레임 형태 또는 양측의 프레임 형태들 중 어느 하나를 참조할 수 있기 때문이다. B-프레임은 I-프레임이든지 P-프레임이든지, 후속 및 선행하는 기준 프레임들의 보간법으로부터 인코딩된다. B-프레임들은 최소 크기의 대역폭 또는 비트레이트를 요청하는 최대 저장 효율의 MPEG-2 프레임 형태이다.
본 분야의 숙련자들에게 알려진 바와 같이, 적응형 스트리밍의 사용은, 동일한 콘텐츠가 다수의 비트 레이트 스트림들로 인코딩되도록, 콘텐츠, 예를 들면 비디오 콘텐츠를 준비할 수 있다. 일반적으로, 비트 레이트가 더 높을수록, 콘텐츠 품질이 더 좋다. 임의의 적절한 일반적 비디오 인코딩 프로세스, 예를 들면, 본 분야의 숙련자에게 알려진 소프트웨어와 하드웨어가 이용될 수 있다. 일부 실시 형태에서, 인코딩은 멀티-비트 레이트 트랜스코더에 의해 실행되고, 처리된 미디어 콘텐츠들은 HTTP 서버 박스에 저장된다.
도 2에서, 프로그램 X(200)는 다수의 비트 레이트로 인코딩되는 것으로서 도시된다. 이러한 특별한 예에서, 프로그램 X(200)는 높은 비트 레이트 구조 스트림(210)과 낮은 비트 레이트 구조 스트림(250)을 가지고 있을 수 있다. 따라서, 각각의 프로그램 Pn에 있어서는, PnH 및 PnL 구조일 것이다(예를 들면, 프로그램 1에 있어서는, P1H, P1L일 것이고; 프로그램 2에 있어서는, P2H, P2L일 것이고, 등등이다).
일부 실시 형태에서, 인코딩 프로세스에서, GOP/I-프레임 얼라인먼트는 스트림(210, 250)들 사이에 유지된다. 일부 실시 형태에서, I-프레임은 순시 디코더 리프레시("IDR") 프레임이다. IDR 프레임은 MPEG-4 AVC 인코딩에 사용된 특별한 종류의 I-프레임이다. 일반적으로, IDR 프레임을 따르는 프레임들은 IDR 프레임에 선행하는 프레임들을 다시 참조하지 않을 수 있다. 한 비트 레이트로부터 또 다른 비트 레이트로의 끊김 없는 스위칭(seamless switch)을 위해서는, IDR 프레임이 바람직할 수 있다. 여기에서 사용된 바와 같이, "스트림 간 얼라인먼트(alignment amongst streams)"는 모든 비트 레이트 스트림들에 대해 동일한 프레젠테이션 타임스탬프("PTS")를 갖는 IDR 프레임들이 동일한 장면 콘텐츠를 나타낸다는 것을 의미한다.
도 2의 예에서, 높은 비트 레이트 데이터 구조 스트림(210)에 있어서는, 3개의 패킷들이 220, 230 및 240으로 도시된다. 각각의 패킷(220-240)은, 패킷(230)에 대해서 도시되는, IP 또는 사용자 데이터그램 프로토콜(User Datagram Protocol)("UDP") 헤더부(232)와 전송 패킷부(234)를 갖는 유사한 구조를 포함한다. 마찬가지로, 낮은 비트 레이트 데이터 구조 스트림(250)에서는, 2개의 패킷들이 260과 270으로 도시된다. 각각의 패킷(220-240)은, 패킷(270)에 대해서 도시되는, IP 또는 사용자 데이터그램 프로토콜(User Datagram Protocol)("UDP") 헤더부(272)와 전송 패킷부(274)를 갖는 유사한 구조를 포함한다.
GOP/I-프레임 얼라인먼트가 스트림(210, 250)들 사이에 유지되기 때문에, 클라이언트는 스위칭이 적절한 또는 소정의 스위칭 포인트에서 발생하는 경우 재생될 때 한 비트 레이트 스트림으로부터 또 다른 비트 레이트 스트림으로 끊김 없이 스위칭할 수 있다. 일부 실시 형태에서, 적절한 스위칭 포인트는 참조 번호 280으로 도시된, 폐쇄형 GOP/I-프레임의 한정된 경계(예를 들면, 헤더부(232, 272)의 초기)에 있을 수 있다. 일부 실시 형태에서, 스위칭 식별자 또는 스위칭 포인트는 IP 패킷에서의 미디어 페이로드 패킷 내의 제1 미디어 프레임으로서 운반될 수 있다.
일부 실시 형태에서, HTTP 서버(110)가 콘텐츠를 높은 비트 레이트로 제1 사용자에게 스트리밍하고(예를 들면, 스트림(210)), 그리고 제2 사용자가 대역폭을 요청하면, 제2 사용자는 제1 사용자가 그 대역폭을 할당받은 후 이용 가능한 경우 대역폭을 할당받는다. 클라이언트(170)는 어느 비트 레이트를 요청해야 하는지를 결정하고, 따라서 더 높은 비트 레이트를 수용하기 위해 이용 가능한 대역폭이 있다면, 클라이언트(170)는 더 높은 비트 레이트를 할당받을 것이다. 적응형 스트리밍으로 인해, 사용자 또는 클라이언트(170)는 대역폭이 충분할 때(예를 들면, 프로그램 채널들이 적고 또는 라스트 마일 접속이 양호할 때) 더 양호한 비디오를 볼 수 있고, 또는 낮은 비트 레이트(그러나, 여전히 수용가능한) 프로그램 품질을 가진 더 많은 채널들을 얻는다.
이제, 도 3을 참조하면, HTTP 서버(110)에 의해 준비된 및/또는 이로부터 송출된 콘텐츠는 HTTP 적응형 스트리밍으로서 분류될 수 있다. 적응형 스트리밍은 재버퍼링의 필요없이, 플레이-아웃 레이트를 주어진 엔드포인트로 실제 네트워크 처리량 내에 있도록 동적으로 조절함으로써 작동한다. 그래서, 네트워크 처리량이 갑자기 저하되면, 픽처는 저하될 수 있지만 최종 사용자는 여전히 픽처를 본다.
적응형 스트리밍이 비관리형 네트워크들을 통해서 오버-더-톱 비디오 애플리케이션(over-the-top video applications)들을 위해 원래 개발되었을지라도, 이는 또한 관리형 네트워크 애플리케이션들에 장점들을 가져온다. 예를 들어, 네트워크 정체의 주기 동안, 운영자들은 모든 새로운 세션들을 차단하는 것보다는 오히려 미리 정의된 레벨의 네트워크 초과 가입을 허용하도록 세션 관리 정책을 설정할 수 있다(라스트 마일 대역폭 가용성이 너무 제한되어 또 다른 클라이언트가 참가할 수 없게 될 때와 같이). 이러한 융통성은 가입자들이 더 높은 품질 공급(예를 들면, 1080p와 4K)을 요구하기 때문에 더 중요하게 될 것이다.
여기에서 사용된 바와 같이, HTTP 적응형 스트리밍은 다양한 구현들을 위한 일반 용어이다: 애플사의 HTTP 라이브 스트리밍(HLS), 마이크로소프트사의 IIS 스무드 스트리밍, 어도비사의 HTTP 동적 스트리밍(HDS), 및 MPEG DASH.
HTTP 적응형 스트리밍의 다양한 구현들 각자가 상이할지라도, 그들 전부는 일련의 공통 속성들을 가지고 있다. 예를 들어, 도 3을 또 참조하면, 소스 콘텐츠(310)는 트랜스코딩 프로세스(320)에서 다수의 비트 레이트들(예를 들면, 멀티-레이트 코딩)로 병렬로 트랜스코딩된다. 각각의 비트 레이트는 프로파일 또는 표현(representation)이라고 불린다. 도시된 바와 같이, 소스 콘텐츠(310)는 라이브 소스 콘텐츠 및/또는 파일 소스 콘텐츠와 같은 미디어 콘텐츠를 포함할 수 있다. 예를 들어, 파일 소스 콘텐츠는 영화들, TV 프로그램들, 등을 포함할 수 있다. 라이브 소스 콘텐츠는 스포츠 프로그램 또는 게임의 생방송과 같은, 라이브 스트리밍 포맷을 포함할 수 있다.
인코딩된 콘텐츠는 세그멘테이션 프로세스(330)에서 고정된 지속기간 세그먼트들(예를 들어, 청크들)로 나뉘어진다. 세그먼트들 또는 청크들은 지속시간이 더 길거나 더 짧을지라도, 전형적으로는 2 내지 10 초일 수 있다 . 일부 실시 형태에서, 더 짧은 세그먼트들은 더 긴 세그먼트들이 네트워크 처리량의 변화들에 적응하도록 속도에 영향을 미치는 동안 코딩 효율을 감소시킨다.
매니페스트 파일은 매니페스트 파일 생성 프로세스(340)에서 세그먼트들에 대한 인코딩 레이트들과 URL 포인터들을 기술하기 위해 필요에 따라 생성 및 업데이트된다. 여기에서 사용된 바와 같이, 매니페스트 파일 또는 재생 리스트는, 어떻게 콘텐츠가 준비되는지, 얼마나 많이 상이한 인코딩 비트레이트들이 있는지, 그리고 각각의 비트레이트 스트림에 있어서, 세그먼트가 얼마나 긴지, 그리고 어디에서 각각의 비트레이트 스트림의 각각의 세그먼트를 획득하는지를 기술한다.
일부 실시 형태에서, 클라이언트는 네트워크로부터 세그먼트들을 페치하고, 이들을 버퍼링한 다음, 이들을 디코딩 및 재생하기 위해 HTTP를 사용한다. 클라이언트는 버퍼 언더플로우의 위험 및 플레이-아웃의 스톨링(예를 들어, 리버퍼링) 없이 품질을 극대화하기 위해서 최적의 프로파일을 선택하도록 설계된 하나 이상의 알고리즘들을 이용할 수 있다. 예를 들어, 클라이언트가 세그먼트를 페치할 때마다, 그것은 이전 세그먼트를 다운로드하기 위해 측정된 시간에 기초하여 프로파일을 선택할 수 있다.
HTTP 적응형 스트리밍이 일반적으로 논의되었지만, 상기 제공된 바와 같이, 다양한 구현들이 주어진다면 HTTP 적응형 스트리밍의 표준화를 위한 노력이 있었음을 알아야 한다. 예를 들어, MPEG(Moving Picture Experts Group) 동적 적응형 스트리밍 오버 HTTP(MPEG-DASH)는 인기있는 선택이 될 수 있다. HLS가 MPEG-2 전송 스트림 포맷을 이용하는 반면, 스무드 스트리밍 및 MPEG-DASH는 MPEG-4 파트 14를 이용한다. 스무드 스트리밍과 MPEG-DASH는 자막 처리와 트릭 모드들(예를 들면, 고속-전진, 등)을 위한 완벽한 지원을 포함하지만, HLS는 이러한 점에서 제한된다. MPEG-DASH는 다수의 권리자 및 다수의 장치로부터 콘텐츠의 보안 송출을 단순화한 공통 암호화를 가능하게 한다.
또 다른 차이는 MPEG-DASH와 스무드 스트리밍 플레이-아웃이 전송 경로 상태들이 변할 때 제어되는 방식이다. 예를 들어, HLS는 효과적으로 상이한 세그먼트들을 확인하는 재생 리스트인 매니페스트 파일들을 사용하여서 경로 장애가 발생할 때, 매니페스트 파일로부터의 URL(Uniform Resource Locator)의 선택은 더 낮은 비트 레이트 세그먼트들이 선택되도록 적용된다. 스무드 스트리밍에서, 클라이언트는 필요한 세그먼트들을 식별하기 위해 타임스탬프를 이용함으로써, 효율성을 획득한다. HLS와 스무드 스트리밍 양쪽은 미묘하게 상이한 방식으로 파일들을 다루는데, 각각은 다른 것에 비해 약간의 효율성의 이점을 얻는다. 양쪽은 HTTP를 사용하는데, 이는 방화벽들을 통과할 수 있는 능력과 네트워크 주소 변환(Network Address Translation)을 갖는다.
현재, 스트리밍 비디오를 위한 전체적 해결책의 대부분을 목표로 하는 다수의 계획이 있다. 도 4에 설명된 것과 같이, MPEG는 매니페스트 파일(MF), 송출 포맷(DF), 및 기존 파일 포맷(FF)과 전송 스트림(TS)으로부터/로의 용이한 변환을 위한 수단을 표준화했다. 특히, MPEG-DASH는 IP 비디오의 송출을 단순화하고 집중시키고, 풍부하고 즐거운 사용자 경험을 제공하기 위한 잠재력을 갖고 있다.
구현되는 HTTP 적응형 스트리밍의 타입에 상관없이, HTTP 적응형 스트리밍 클라이언트들은 일반적으로 "그리디" 알고리즘을 구현하는데, 그들은 (예를 들면, 클라이언트들에 콘텐츠 압축을 조절함으로써) 이용 가능한 최대 비트 레이트를 달성하려고 항상 노력할 것이다. 이러한 탐욕(greediness)은 불안정성, 동요 및 불공정성으로 이어질 수 있는데, 여기서 네트워크 정체 시간에 일부 클라이언트들은 이길 것이고 다른 클라이언트들은 질 것이다.
예를 들어, 도 1을 다시 참조하면, HTTP 적응형 스트리밍은 HTTP 서버(110)로부터 각각의 클라이언트(170)로의 유니캐스트 비디오 송출이다. 많은 클라이언트들이 동시에 구동할 때, 특히 모든 요청하는 클라이언트들이 라스트 마일(180) 뒤에 위치할 때, 그들은 대역폭 리소스들을 위해 경쟁하고 있다.
현재, 그리고 예상 가능한 미래에, 각각의 클라이언트는 다른 클라이언트들과 독립적으로 구동하거나 작동할 것이다. 조정 없이는, 그리디 클라이언트(예를 들어, 그리디 알고리즘을 구현하는) 또는 최근에 론칭된 클라이언트는 파이프에서 전체 대역폭 요건 초과를 야기할 수 있다(예를 들어, 라스트 마일(180)에서 전송 도관에서 허용된 전체 대역폭). 이러한 정체 상황에서, 에지 라우터(150)는 패킷들의 드롭(drop)을 시작할 수 있다. 높은 비트레이트들의 스트림이 드롭된 패킷들로 인해 느려지면, 클라이언트(170)는 낮은 비트레이트들로 전환하지만, 최저 비트레이트들의 스트림이 느려지면, 클라이언트 플레이-아웃은 스톨링될 수 있다(예를 들면, 재버퍼링을 위해).
도 5는 실시 형태에 따라 하나 이상의 그리디 클라이언트들이 또 다른 클라이언트에 어떻게 영향을 미칠 수 있는지를 설명하는 그래프이다. 도 5에서, 3개의 클라이언트들, A, B 및 C가 시간이 지남에 따라 그들의 대역폭 사용과 함께 도시된다. 3+ 클라이언트들에 대한 전체 이용 가능한 대역폭은 6 Mbps에서 설정된다. 그래프를 보는 것으로부터, 클라이언트들 A와 B가 클라이언트 C보다 임의의 주어진 시간에 더 많은 대역폭을 이용하고 있다는 것이 명백하다. 조정 없이는, 각각의 클라이언트는 개별적으로 스위칭하고(예를 들면, 대역폭을 요청하고), 그리고 가끔은 트래픽 제어의 불공정성 때문에 클라이언트들 중 하나가 동결된다. 실제로, 시간 TF에서, 1.5 Mpbs에서 클라이언트 C를 지원하기에 충분한 대역폭이 없기 때문에(클라이언트 A가 3 Mpbs에 작동하고 있고 클라이언트 B가 2 Mpbs에 작동하고 있기 때문에) 클라이언트 C는 동결되는 것(예를 들어, 재버퍼링)으로 도시된다.
도 6은 실시 형태에 따라 대역폭을 할당하는 방법을 설명하는 그래프이다. 도 6에서, 3개의 클라이언트들, A, B 및 C가 시간이 지남에 따라 그들의 대역폭 사용과 함께 도시된다. 다시 한번, 3+ 클라이언트들에 대한 전체 이용 가능한 대역폭은 6 Mbps에서 설정된다. 그러나, 탐욕 때문에 클라이언트가 동결되는 일은 없다. 이러한 대역폭 할당은 최소 보장된 대역폭이 그들의 최저 비트레이트로 구동하는 모든 동시적 스트림들의 비트 레이트의 합계보다 더 크다는 것을 가정하는 방법을 이용하여 달성될 수 있다. 즉, 모든 스트림들의 오퍼레이팅을 위한 적어도 최소 비트레이트가 충족되는 것을 보장함에 따라, 모든 클라이언트들이 일부 대역폭을 할당받게 된다(예를 들면, 적어도 최소 비트레이트). 도시된 바와 같이, 시간 Ts에서, 클라이언트 C는 대역폭을 요청하였고 데이터를 스트리밍하기 시작한다. 또한, 시간 Ts에서, 클라이언트들 A와 B는 클라이언트 A의 할당을 수용하기 위해, 할당된 대역폭에서의 축소를 도시한다.
최소 보장된 대역폭이 모든 현재 그리고 미래의 클라이언트들에게 제공되는 것을 보장하게 하기 위해서, 트래픽 제어의 방법이 구현될 수 있다. 일부 실시 형태들에서, 기본적인 가정이 행해질 수 있는데 - 임의의 가능한 정체된 대역폭 파이프에 있어서, 최소 보장된 대역폭은 그들의 최저 비트레이트에서 구동하는 모든 동시적 스트림들에 의해 요구된 비트레이트의 합계보다 더 크다.
일부 실시 형태들에서, 트래픽 제어는 현대의 IP 네트워크들 상의 서비스 품질(quality of service: QoS)에 광범위하게 사용된 차등화 서비스들(DiffServ)을 이용하여 구현될 수 있다. 일반적으로 말해서, DiffServ는 네트워크 트래픽을 분류 및 관리하고 QOS를 제공하기 위한 단순하고, 스케일링 가능하고 조대한(coarse-grained) 메커니즘을 상세화하는 컴퓨터 네트워킹 아키텍처이다. DiffServ는, 예를 들어, 단순한 최선의 노력 서비스를 웹 트래픽 또는 파일 전송들과 같은 중요하지 않은 서비스들에 제공하면서, 음성 또는 스트리밍 미디어와 같은 중요한 네트워크 트래픽에 저-지연을 제공하는데 사용될 수 있다. DiffServ는 패킷 분류 목적을 위해 IP 헤더에서 6-비트 차등화 서비스 필드(DS 필드)를 이용한다. DiffServ에는 총 64개의 우선순위 레벨들이 있다.
DiffServ는 트래픽 분류의 원리에 따라 동작하는데, 여기서 각각의 데이터 패킷은 개별적 흐름의 요건들에 기초하여 네트워크 트래픽을 차별화하는 것보다는, 제한된 수의 트래픽 클래스들에 배치된다. 네트워크 상의 각각의 라우터는 그것의 클래스 또는 지정된 우선순위 레벨을 기반으로 트래픽을 차별하도록 구성된다. 각각의 트래픽 클래스는 다르게 관리될 수 있는데, 이는 네트워크 상의 상위-우선순위 트래픽에 대한 우선적인 처리를 보장한다.
DiffServ가 트래픽 클래스들의 표준화된 세트를 제안하지만, DiffServ 아키텍처는 트래픽의 어떠한 타입이 우선순위 처리를 받아야 하는지에 대한 소정의 판단들을 포함하지 않고; DiffServ는 분류와 차별화된 처리를 허용하기 위해 간단하게 프레임워크를 제공한다.
일부 실시 형태들에서, 트래픽 제어는 HTTP 서버에서 상위의 송출 우선순위를 낮은 비트레이트 스트림들의 IP 패킷들에 할당함으로써 구현될 수 있다. 그와 같은 실시 형태들에서, DiffServ QoS를 지원하는 에지 라우터는 대역폭 정체가 발생할 때 먼저 높은 비트레이트 스트림의 패킷들을 드롭시키고, 따라서 높은 비트레이트 스트림을 구동하는 클라이언트를 낮은 비트레이트로 전환하도록 "강제"한다. 다시 도 6을 참조하면, 그러한 스위칭이 시간 Ts에서 발생하는 것이 도시된다. 부가적으로, 그와 같은 실시 형태들에서, 최저 비트레이트로 구동하는 클라이언트는 최상위 우선순위 처리를 받는다(예를 들면, 마지막 클라이언트가 드롭된 패킷들 때문에 감속되거나 재버퍼링되도록).
일부 실시 형태들에서, 우선순위는 RFC 2597 및 RFC 3260에서 규정된 보장된 포워딩(AF) 행위의 12개의 차등화 서비스 코드 포인트(DSCP) 레벨들을 사용하여 할당될 수 있다. 보장된 포워딩은 오퍼레이터가 트래픽이 일부 가입된 레이트(예를 들면, 최소 보장된 대역폭)를 초과하지 않는 한 송출의 보장을 제공할 수 있게 한다. 가입 레이트를 초과하는 트래픽은, 정체가 발생하는 경우에 드롭되는 더 높은 확률을 직면한다.
AF 행위 그룹은 최상위 우선순위를 갖는 클래스 4를 이용하여 4개의 개별 AF 클래스들을 규정한다. 각각의 클래스 내에서, 패킷들에는 드롭 우선순위(drop precedence)(높은, 중간 또는 낮은)가 주어진다. 클래스들과 드롭 우선순위의 조합은 표 1에 나타난 바와 같이 AF11 내지 AF43로부터 12개의 개별 DSCP 인코딩들을 만든다.
보장된 포워딩(AF) 행위 그룹
클래스 1(최하위) 클래스 2 클래스 3 클래스 4(최상위)
낮은 드롭 AF11(DSCP 10) AF21(DSCP 18) AF31(DSCP 26) AF41(DSCP 34)
중간 드롭 AF12(DSCP 12) AF22(DSCP 20) AF32(DSCP 28) AF42(DSCP 36)
높은 드롭 AF13(DSCP 14) AF23(DSCP 22) AF33(DSCP 30) AF43(DSCP 38)
우선순위의 일부 측정과 비례 공정성이 상이한 클래스들에서의 트래픽 사이에서 규정된다. 정체가 클래스들 사이에서 발생한다면, 더 높은 클래스에서의 트래픽은 우선순위를 받는다. 엄격한 우선순위 큐잉을 이용하는 것보다는 오히려, 공정 큐잉 또는 가중치 공정 큐잉(WFQ)과 같은 더 균형적인 큐 서비싱 알고리즘들이 이용될 수 있다. 정체가 클래스 내에 발생하면, 상위의 드롭 우선순위를 가진 패킷들이 먼저 폐기된다. 테일 드롭(tail drop)과 관련된 이슈들을 방지하기 위해, 무작위 조기 검출(RED)과 같은 좀 더 정교한 드롭 선택 알고리즘들이 이용될 수 있다.
부가적으로, 비트레이트 스트림 외에, DSCP를 할당하면, 다른 인자들이 적절한 트래픽 흐름을 유지하기 위해 고려될 수 있다. 예를 들어, 또 다른 것을 통한 하나의 프로그램/콘텐츠에 대한 선호도, 프리미엄 사용자에 대한 선호도, 특정 시간에 대한 선호도, 등이 그러한 추가적 인자(들)로서 이용될 수 있다.
이제, 도 7을 참조하면, 대역폭 할당에서의 공정성을 최적화하기 위해 DiffServ를 이용하는 예시적 프로세스(700)를 설명하는 흐름도가 도시된다. 블록(710)에서, HTTP 서버(110) 또는 HTTP 프록시(140)(이하, 명료성을 위해 "HTTP 서버 시스템"으로서 집합적으로 언급됨)는 클라이언트(170)로부터 미디어 세그먼트에 대한 요청을 수신한다. 그 후에 HTTP 서버 시스템은 블록(720)에서 미디어 세그먼트를 찾아낸다. 블록(730)에서, HTTP 서버 시스템은 매니페스트 파일 또는 재생 목록을 체크함으로써 상기 요청된 세그먼트의 비트레이트를 판독한다. 블록(740)에서, HTTP 서버 시스템은 우선순위 정보를 가진 미디어 세그먼트의 IP 헤더의 DSCP 필드를 할당하거나 설정한다. 예를 들어, 최저 비트레이트를 가진 미디어 세그먼트에 대해서, 우선순위 정보는 상위(또는 최상위) 우선순위에 설정된다. 최저 비트레이트보다 높은 비트레이트들을 가진 미디어 세그먼트들에 대해서, 우선순위 정보는 보통이거나 하위 우선순위에 설정된다. 일부 실시 형태들에서, 미디어 세그먼트들에 할당된 우선순위는 비트레이트 요구들에 따라 스케일된다(예를 들면, 최저 비트레이트가 "1"의 우선순위를 할당받고, 중간 비트레이트가 "2"의 우선순위를 할당받고, 최고 비트레이트가 "3"의 우선순위를 할당받는다). 블록(750)에서, HTTP 서버 시스템은 우선순위 정보를 가진 미디어 세그먼트를 IP 네트워크로 전송한다. 도시되지 않았지만, 코어 라우터(120) 및/또는 에지 라우터(150)는 그 후에 미디어 세그먼트를 수신하고, 이용 가능한 대역폭을 상기 요청하는 클라이언트에 할당한다.
미디어 세그먼트들이 코어 라우터(120) 및/또는 에지 라우터(150)에 의해 다르게(예를 들면, 우선순위 정보에 따라) 처리될 것이라는 것을 알 수 있다. 도 6에 도시된 바와 같이, 최저 비트레이트를 가진 미디어 세그먼트는 클라이언트가 최저 비트레이트에서 미디어 세그먼트를 수신한다고 보장되기 때문에 네트워크 정체의 기간에 드롭되지 않을 것이다.
개시된 실시 형태의 상기 설명은 본 분야의 숙련자가 본 발명을 만들거나 이용할 수 있게 하기 위해 제공된 것이다. 이들 실시 형태들에 대한 다양한 수정이 본 분야의 숙련자에게는 명백할 것이며, 여기서 설명된 일반 원리들은 본 발명의 사상과 범위를 벗어나지 않고 다른 실시 형태들에 적용될 수 있다. 따라서, 여기서 제시된 설명과 도면들은 본 발명의 예시적 실시 형태를 나타내므로, 본 발명에 의해 광범위하게 고려되는 주제를 나타낸다는 점을 이해하여야 한다. 본 발명의 범위는 다른 실시 형태들을 완전히 포함하며 본 발명의 범위는 그에 따라 첨부된 청구항들에 의해서만 제한된다는 점을 더 이해하여야 한다.

Claims (24)

  1. 방법으로서,
    미디어 세그먼트에 대한 요청을 수신하는 단계;
    상기 미디어 세그먼트를 찾아내는 단계;
    상기 요청된 미디어 세그먼트의 비트레이트를 결정하는 단계; 및
    상기 미디어 세그먼트에 우선순위 정보를 할당하는 단계를 포함하고,
    최저 보장된 비트레이트를 갖는 미디어 세그먼트가 높은 비트레이트들을 갖는 미디어 세그먼트들보다 상위 우선순위를 할당받는, 방법.
  2. 제1항에 있어서, 우선순위 정보를 가진 상기 미디어 세그먼트를 네트워크에 전송하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서, 상기 미디어 세그먼트 요청은 클라이언트로부터 수신되는, 방법.
  4. 제1항에 있어서, 상기 수신하고, 찾아내고, 결정하고, 할당하는 단계들 중 적어도 하나의 단계가 하이퍼텍스트 전송 프로토콜(HTTP) 서버 또는 HTTP 프록시 서버에서 실행되는, 방법.
  5. 제1항에 있어서, 상기 요청된 미디어 세그먼트의 비트레이트를 결정하는 상기 단계는 비트레이트 정보에 대해 매니페스트 파일 또는 재생 목록을 체크하는 단계를 포함하는, 방법.
  6. 제1항에 있어서, 우선순위 정보를 할당하는 단계는 상기 미디어 세그먼트에 대한 인터넷 프로토콜(IP) 헤더의 차등화 서비스 코드 포인트(DSCP) 필드를 설정하는 단계를 포함하는, 방법.
  7. 제6항에 있어서, 상기 DSCP 필드는 보장된 포워딩(AF)의 12개의 DSCP 레벨들 중 하나로부터 선택되는, 방법.
  8. 제7항에 있어서, 상기 우선순위 할당 단계는 상기 12개의 DSCP 레벨들 중 하나를 나타내기 위해 DSCP 값을 선택하는 단계를 포함하는, 방법.
  9. 제1항에 있어서, 최저 보장된 비트레이트를 갖는 미디어 세그먼트들이 가능한 최상위 우선순위를 할당받는, 방법.
  10. 제2항에 있어서, 네트워크 정체의 기간들에서, 상위 우선순위를 갖는 미디어 세그먼트들은 하위 우선순위를 갖는 미디어 세그먼트들에 앞서 전송되는, 방법.
  11. 제10항에 있어서, 하위 우선순위를 갖는 미디어 세그먼트가 전송되지 않으면, 낮은 비트레이트를 갖는 상기 미디어 세그먼트에 대한 요청이 수신되고 상위 우선순위를 할당받을 수 있는, 방법.
  12. 제11항에 있어서, 하위 우선순위를 갖는 상기 미디어 세그먼트는 상기 네트워크에서의 대역폭 제한들 때문에 전송되지 않는, 방법.
  13. 제1항에 있어서, 상기 네트워크는 인터넷 프로토콜(IP) 네트워크인, 방법.
  14. 제1항에 있어서, 상기 미디어 세그먼트는 하이퍼텍스트 전송 프로토콜(HTTP) 적응형 스트리밍 미디어 세그먼트를 포함하는, 방법.
  15. 시스템으로서,
    미디어 세그먼트에 대한 요청을 수신하고;
    상기 미디어 세그먼트를 찾아내고;
    상기 요청된 미디어 세그먼트의 비트레이트를 결정하고;
    상기 미디어 세그먼트에 우선순위 정보를 할당하도록 - 최저 보장된 비트레이트를 갖는 미디어 세그먼트가 높은 비트레이트들을 갖는 미디어 세그먼트들보다 상위의 우선순위를 할당받음 - 구성된 프로세서를 갖는 콘텐츠 서버, 및
    우선순위 정보를 가진 상기 미디어 세그먼트를 수신하고;
    우선순위 정보를 가진 상기 미디어 세그먼트를 네트워크에 전송하도록 구성된 프로세서를 갖는 라우터를 포함하는, 시스템.
  16. 제15항에 있어서, 상기 콘텐츠 서버는 하이퍼텍스트 전송 프로토콜(HTTP) 서버 또는 HTTP 프록시 서버를 포함하는, 시스템.
  17. 제15항에 있어서, 상기 라우터는 코어 라우터 또는 에지 라우터를 포함하는, 시스템.
  18. 제15항에 있어서, 상기 요청된 미디어 세그먼트의 비트레이트를 결정하는 것은 비트레이트 정보에 대해 매니페스트 파일 또는 재생 목록을 체크하는 것을 포함하는, 시스템.
  19. 제15항에 있어서, 상기 우선순위 정보를 할당하는 것은 상기 미디어 세그먼트에 대한 인터넷 프로토콜(IP) 헤더의 차등화 서비스 코드 포인트(DSCP) 필드를 설정하는 것을 포함하는, 시스템.
  20. 제19항에 있어서, 상기 DSCP 필드는 보장된 포워딩(AF)의 12개의 DSCP 레벨들 중 하나로부터 선택되는, 시스템.
  21. 제20항에 있어서, 상기 우선순위 할당은 상기 12개의 DSCP 레벨들 중 하나를 나타내기 위해 DSCP 값을 선택하는 것을 포함하는, 시스템.
  22. 제15항에 있어서, 네트워크 정체의 기간들에서, 상위 우선순위를 갖는 미디어 세그먼트들이 하위 우선순위를 갖는 미디어 세그먼트들에 앞서 전송되는, 시스템.
  23. 제15항에 있어서, 상기 네트워크는 인터넷 프로토콜(IP) 네트워크인, 시스템.
  24. 제15항에 있어서, 상기 미디어 세그먼트는 하이퍼텍스트 전송 프로토콜(HTTP) 적응형 스트리밍 미디어 세그먼트를 포함하는, 시스템.
KR1020157024813A 2013-03-14 2014-03-07 적응형 스트리밍 트래픽을 관리 및 조절하기 위한 장치, 시스템, 및 방법 KR101699656B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/830,898 US20140281002A1 (en) 2013-03-14 2013-03-14 Devices, systems, and methods for managing and adjusting adaptive streaming traffic
US13/830,898 2013-03-14
PCT/US2014/022160 WO2014159136A1 (en) 2013-03-14 2014-03-07 Devices, systems, and methods for managing and adjusting adaptive streaming traffic

Publications (2)

Publication Number Publication Date
KR20150119170A true KR20150119170A (ko) 2015-10-23
KR101699656B1 KR101699656B1 (ko) 2017-01-24

Family

ID=50686098

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157024813A KR101699656B1 (ko) 2013-03-14 2014-03-07 적응형 스트리밍 트래픽을 관리 및 조절하기 위한 장치, 시스템, 및 방법

Country Status (6)

Country Link
US (1) US20140281002A1 (ko)
EP (1) EP2954694A1 (ko)
KR (1) KR101699656B1 (ko)
CA (1) CA2903218C (ko)
MX (1) MX346987B (ko)
WO (1) WO2014159136A1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150110694A (ko) * 2013-04-03 2015-10-02 후아웨이 테크놀러지 컴퍼니 리미티드 스트리밍 미디어 세그먼트 준비 방법 및 장치
KR101867319B1 (ko) * 2017-02-21 2018-06-15 (주)온넷시스템즈코리아 스트리밍 서비스 제공 방법
KR20200054574A (ko) * 2018-11-12 2020-05-20 광운대학교 산학협력단 홈 네트워크에서 단말-미디어 상황정보 매칭 기반의 적응적 트래픽 관리 시스템 및 방법
WO2021045474A1 (ko) * 2019-09-04 2021-03-11 네이버 주식회사 로컬 스트리밍 서버를 이용한 스트리밍 콘텐츠의 재생 방법 및 시스템
KR20210037639A (ko) * 2021-03-22 2021-04-06 네이버 주식회사 로컬 스트리밍 서버를 이용한 스트리밍 콘텐츠의 재생 방법 및 시스템
KR20230076325A (ko) * 2021-11-24 2023-05-31 인하대학교 산학협력단 엣지 컴퓨팅 환경에서 라이브 비디오 스트리밍 품질을 고려한 비용 최적화를 위한 트랜스코딩 작업 할당 방법 및 시스템

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9584573B2 (en) * 2012-08-29 2017-02-28 Ericsson Ab Streaming policy management system and method
US9438652B2 (en) * 2013-04-15 2016-09-06 Opentv, Inc. Tiered content streaming
US20140351871A1 (en) * 2013-05-22 2014-11-27 Microsoft Corporation Live media processing and streaming service
US9973559B2 (en) * 2013-05-29 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for presenting content streams to a client device
US10326805B2 (en) * 2013-05-31 2019-06-18 Avago Technologies International Sales Pte. Limited Distributed adaptive bit rate proxy system
FR3016263A1 (fr) * 2014-01-07 2015-07-10 Orange Procede de traitement d'erreur de restitution d'un contenu numerique
US9860612B2 (en) * 2014-04-10 2018-01-02 Wowza Media Systems, LLC Manifest generation and segment packetization
US9961004B2 (en) * 2015-02-18 2018-05-01 Viasat, Inc. Popularity-aware bitrate adaptation of linear programming for mobile communications
KR102367134B1 (ko) * 2015-06-25 2022-02-24 삼성전자주식회사 가속기를 제어하는 방법 및 이를 이용한 가속기
CN106330845A (zh) * 2015-07-02 2017-01-11 中兴通讯股份有限公司 一种传输流媒体数据的方法和装置
US10230812B1 (en) * 2016-01-29 2019-03-12 Amazon Technologies, Inc. Dynamic allocation of subtitle packaging
WO2017175047A1 (en) * 2016-04-07 2017-10-12 Telefonaktiebolaget Lm Ericsson (Publ) Media stream prioritization
US10523451B2 (en) 2016-07-07 2019-12-31 Telefonaktiebolaget Lm Ericsson (Publ) System, apparatus, and method providing data cap avoidance
US10404541B2 (en) 2016-07-07 2019-09-03 Ericsson Ab Smart data cap avoidance with personalized predictions based on linear regression or historical usage alpha-generation patterns
US9888278B2 (en) 2016-07-07 2018-02-06 Telefonaktiebolaget Lm Ericsson (Publ) Bandwidth and ABR video QoE management based on OTT video providers and devices
US10104413B2 (en) 2016-07-07 2018-10-16 Telefonaktiebolaget Lm Ericsson (Publ) Bandwidth and ABR video QoE management based on OTT video providers and devices
US10306293B2 (en) * 2017-07-18 2019-05-28 Wowza Media Systems, LLC Systems and methods of server based interactive content injection
US10327040B1 (en) 2017-09-28 2019-06-18 Twitch Interactive, Inc. Forward error correction for low latency streaming
US11146834B1 (en) * 2017-09-28 2021-10-12 Twitch Interactive, Inc. Server-based encoded version selection
US10735783B1 (en) 2017-09-28 2020-08-04 Twitch Interactive, Inc. Intra-rendition latency variation
US10623787B1 (en) 2017-11-01 2020-04-14 Amazon Technologies, Inc. Optimizing adaptive bit rate streaming for content delivery
US10659512B1 (en) * 2017-12-05 2020-05-19 Amazon Technologies, Inc. Optimizing adaptive bit rate streaming at edge locations
US10728180B2 (en) * 2018-08-21 2020-07-28 At&T Intellectual Property I, L.P. Apparatus, storage medium and method for adaptive bitrate streaming adaptation of variable bitrate encodings
US11102260B1 (en) 2020-09-23 2021-08-24 Amazon Technologies, Inc. Dynamic congestion control through real-time QOS monitoring in video streaming
CN113542874A (zh) * 2020-12-31 2021-10-22 腾讯科技(深圳)有限公司 信息播放控制方法、装置、设备及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010047423A1 (en) * 1999-12-15 2001-11-29 Huai-Rong Shao Generalized differentiation methods and arrangements for adaptive multimedia communications
US20120042090A1 (en) * 2010-08-10 2012-02-16 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0004088D0 (en) * 2000-02-21 2000-04-12 Nokia Networks Oy Packet data services in a telecommunications system
JP4552290B2 (ja) * 2000-08-21 2010-09-29 ソニー株式会社 データ伝送装置及び方法、データ処理装置及び方法
BRPI0318155B1 (pt) * 2003-03-03 2017-05-02 Nokia Corp método para transmitir uma transmissão debanda larga digital, método para receber uma transmissão de banda larga digital, sistema para prover uma transmissão de banda larga digital, transmissor para transmitir uma transmissão de banda larga digital, receptor para receber uma transmissão de banda larga digital"
US7787416B2 (en) * 2004-11-18 2010-08-31 Gidwani Sanjay M Wireless network having real-time channel allocation
US7688725B2 (en) * 2007-02-07 2010-03-30 King Fahd University Of Petroleum & Minerals Content-aware congestion control system
GB0813203D0 (en) * 2008-07-18 2008-08-27 Eldon Technology Ltd Dynamic QoS in a network distributing audio visual content
KR101628432B1 (ko) * 2010-02-19 2016-06-21 텔레폰악티에볼라겟엘엠에릭슨(펍) 에이치티티피 스트리밍에서 레프리젠테이션 스위칭을 위한 방법 및 장치
JP5408332B2 (ja) * 2010-03-10 2014-02-05 富士通株式会社 中継装置および通信プログラム
EP2408205A1 (en) * 2010-07-12 2012-01-18 Alcatel Lucent A video server, video client and method of scalable encoding video files
WO2012125347A1 (en) * 2011-03-11 2012-09-20 Citrix Systems, Inc. SYSTEMS AND METHODS OF QoS FOR SINGLE STREAM ICA
US8996719B2 (en) * 2011-04-03 2015-03-31 Jeremiah Condon System and method of adaptive transport of multimedia data
US8989029B2 (en) * 2011-06-10 2015-03-24 Comcast Cable Communications, Llc Quality of service in packet networks
EP2557753A1 (en) * 2011-08-09 2013-02-13 Alcatel Lucent Method for streaming video content, edge node and client entity realizing such a method
CN103959798B (zh) * 2011-09-30 2018-06-08 英特尔公司 无线网络上的体验质量增强
US8763057B2 (en) * 2012-11-06 2014-06-24 Verizon Patent And Licensing Inc. Method and system for enhancing delivery of third party content
US9319458B2 (en) * 2013-01-07 2016-04-19 Netflix, Inc. Site-based server selection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010047423A1 (en) * 1999-12-15 2001-11-29 Huai-Rong Shao Generalized differentiation methods and arrangements for adaptive multimedia communications
US20120042090A1 (en) * 2010-08-10 2012-02-16 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150110694A (ko) * 2013-04-03 2015-10-02 후아웨이 테크놀러지 컴퍼니 리미티드 스트리밍 미디어 세그먼트 준비 방법 및 장치
KR101867319B1 (ko) * 2017-02-21 2018-06-15 (주)온넷시스템즈코리아 스트리밍 서비스 제공 방법
KR20200054574A (ko) * 2018-11-12 2020-05-20 광운대학교 산학협력단 홈 네트워크에서 단말-미디어 상황정보 매칭 기반의 적응적 트래픽 관리 시스템 및 방법
WO2021045474A1 (ko) * 2019-09-04 2021-03-11 네이버 주식회사 로컬 스트리밍 서버를 이용한 스트리밍 콘텐츠의 재생 방법 및 시스템
KR20210028805A (ko) * 2019-09-04 2021-03-15 네이버 주식회사 로컬 스트리밍 서버를 이용한 스트리밍 콘텐츠의 재생 방법 및 시스템
US11838560B2 (en) 2019-09-04 2023-12-05 Naver Corporation Method and system for playing back streaming content using local streaming server
KR20210037639A (ko) * 2021-03-22 2021-04-06 네이버 주식회사 로컬 스트리밍 서버를 이용한 스트리밍 콘텐츠의 재생 방법 및 시스템
KR20230076325A (ko) * 2021-11-24 2023-05-31 인하대학교 산학협력단 엣지 컴퓨팅 환경에서 라이브 비디오 스트리밍 품질을 고려한 비용 최적화를 위한 트랜스코딩 작업 할당 방법 및 시스템

Also Published As

Publication number Publication date
US20140281002A1 (en) 2014-09-18
CA2903218A1 (en) 2014-10-02
CA2903218C (en) 2019-05-14
MX346987B (es) 2017-04-07
KR101699656B1 (ko) 2017-01-24
MX2015011998A (es) 2015-12-01
EP2954694A1 (en) 2015-12-16
WO2014159136A1 (en) 2014-10-02

Similar Documents

Publication Publication Date Title
KR101699656B1 (ko) 적응형 스트리밍 트래픽을 관리 및 조절하기 위한 장치, 시스템, 및 방법
US20210352125A1 (en) Devices, systems, and methods for converting or translating dynamic adaptive streaming over http (dash) to http live streaming (hls)
US10158577B2 (en) Devices, systems, and methods for adaptive switching of multicast content delivery to optimize bandwidth usage
US10333858B2 (en) Method for controlling bandwidth and corresponding device
EP2912813B1 (en) A method and apparatus for distributing a media content service
JP5612105B2 (ja) データ・サービスに対するスケーラブルなビデオ制御帯域幅の割り当て
US7885286B2 (en) Method and arrangements in an IP network
US10645463B2 (en) Efficient multicast ABR reception
US10298965B2 (en) Selection of a content source based on performance data
WO2007073319A1 (en) Resource manager for media distribution in an ip network

Legal Events

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