KR102002676B1 - Dash를 위한 클라이언트/서버 시그널링 명령 - Google Patents

Dash를 위한 클라이언트/서버 시그널링 명령 Download PDF

Info

Publication number
KR102002676B1
KR102002676B1 KR1020167014895A KR20167014895A KR102002676B1 KR 102002676 B1 KR102002676 B1 KR 102002676B1 KR 1020167014895 A KR1020167014895 A KR 1020167014895A KR 20167014895 A KR20167014895 A KR 20167014895A KR 102002676 B1 KR102002676 B1 KR 102002676B1
Authority
KR
South Korea
Prior art keywords
server
clients
client
arc
media
Prior art date
Application number
KR1020167014895A
Other languages
English (en)
Other versions
KR20160106563A (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 KR20160106563A publication Critical patent/KR20160106563A/ko
Application granted granted Critical
Publication of KR102002676B1 publication Critical patent/KR102002676B1/ko

Links

Images

Classifications

    • 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
    • H04L65/4076
    • 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
    • H04L65/602
    • H04L65/608
    • 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
    • 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
    • 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
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

개선된 경험 품질 인식 멀티미디어 스트리밍을 제공하기 위한 기술이 개시된다. 클라이언트들과 서버들 사이에서 행해질 수 있는 여러 타입의 통신이 설명된다. 이러한 통신들은 하이퍼텍스트 전송 프로토콜(HTTP) 적응성 스트리밍을 달성하는 데 사용되는 현재 접근법들에 대한 개선을 가능하게 한다. 이러한 메시지들은 HTTP 적응성 스트리밍 콘텐츠를 복수의 클라이언트로 전송하기 위해 서버에 의해 이용 가능한 대역폭을 결정하고; HTTP 적응성 스트리밍에 대한 목록 파일 내에서 서버에 의해 제공되는 표현들에 대한 복수의 클라이언트로부터의 HTTP 요청들을 수신하고; 서버에 대한 목록 파일 내에서 제공되는 각각의 표현의 가용성을 계산하도록 구성되는 컴퓨터 회로와 연계하여 사용될 수 있다. 가용성은 결정된 대역폭에 적어도 부분적으로 기초하여 계산될 수 있다. 각각의 표현의 가용성은 서버로부터 복수의 클라이언트로 통신될 수 있다.

Description

DASH를 위한 클라이언트/서버 시그널링 명령{CLIENT/SERVER SIGNALING COMMANDS FOR DASH}
멀티미디어 스트리밍 서비스들은 새로운 이동 광대역 기술들의 진보를 촉진하는 데 도움이 되었는데, 이는 디지털 비디오 콘텐츠가 이동 장치들 상에서 점점 더 많이 소비되기 때문이다. 많은 비디오 스트리밍 애플리케이션은 엔터테인먼트, 통신 및 다른 목적을 위해 이동 장치들 상에서 자주 사용된다. 온라인 비디오 스트리밍이 YouTube™, Hulu™, Netflix™, Amazon Instant Video™, WatchESPN™ 등과 같은 대중적인 서비스들에 의해 제공된다. 2011년에, YouTube는 1조 이상의 글로벌 뷰를 가졌다. 이러한 뷰들 중 10 퍼센트는 이동 전화 또는 태블릿을 통해 액세스되었다. 더 많은 스마트폰, 태블릿 및 다른 이동 컴퓨팅 장치가 구매됨에 따라, 미디어 서버는 다수의 클라이언트 장치로부터의 스트리밍 요청들의 점점 더 큰 부하를 겪을 것이다. 미디어 압축 및 무선 네트워크 기반구조들의 개발과 결합된 멀티미디어 서비스들에 대한 그러한 높은 소비자 요구에 따라, 미래의 셀룰러 및 이동 광대역 시스템들의 멀티미디어 서비스 능력을 향상시키고, 높은 경험 품질(QoE)을 소비자들에게 전달하여, 임의의 위치로부터, 임의의 시간에, 임의의 장치 및 기술을 이용하는 비디오 콘텐츠에 대한 유비쿼터스 액세스를 보증하는 것이 중요하다.
본 발명의 특징들을 함께 예시하는 첨부 도면들과 연계하여 이루어지는 아래의 상세한 설명으로부터 본 발명의 특징들 및 장점들이 명백할 것이다. 도면들에서:
도 1은 일례에 따른 미디어 설명 파일(MPD) 메타데이터 파일 구성의 블록도를 나타낸다.
도 2a는 일례에 따른, 시간에 따라 변하는 하이퍼텍스트 전송 프로토콜(HTTP) 적응성 스트림(HAS)의 일례를 나타낸다.
도 2b는 일례에 따른 하이퍼텍스트 전송 프로토콜(HTTP) 스트리밍의 블록도를 나타낸다.
도 3은 일례에 따른, 하이퍼텍스트 전송 프로토콜 기반(HTTP 기반) 비디오 스트리밍을 위한 에너지 특성화 인식 무선 액세스 네트워크(RAN) 아키텍처의 블록도를 나타낸다.
도 4는 일례에 따른, 가용 표현들 및 가용 세그먼트들을 갖는 MPD 파일의 일례를 제공하는 표를 나타낸다.
도 5는 일례에 따른, 선택된 서버 대역폭들에 대한 가용 표현 코드의 일례를 제공하는 테이블을 나타낸다.
도 6은 일례에 따른, HTTP 적응성 스트리밍을 제공하도록 동작할 수 있는 서버의 컴퓨터 회로의 기능을 나타낸다.
도 7은 일례에 따른, HTTP 적응성 스트리밍을 제공하도록 동작할 수 있는 이동 장치의 컴퓨터 회로의 기능을 나타낸다.
도 8은 일례에 따른, 서버로부터 복수의 클라이언트로 멀티미디어의 가변 비트레이트 적응성 스트리밍을 제공하기 위한 방법의 블록도를 나타낸다.
도 9는 일례에 따른 무선 장치(예로서, UE)의 도면을 나타낸다.
이제, 도시된 실시예들이 참조될 것이며, 본 명세서에서는 이들을 설명하기 위해 특정 언어가 사용될 것이다. 그러나, 그에 의해 본 발명의 범위의 제한을 의도하지 않는다는 것을 이해할 것이다.
본 발명을 개시하고 설명하기 전에, 본 발명은 본 명세서에서 개시되는 특정 구조들, 프로세스 단계들 또는 재료들로 한정되는 것이 아니라, 관련 분야의 통상의 기술자들에 의해 인식되는 바와 같은 그들의 균등물들로 확장된다는 것을 이해해야 한다. 본 명세서에서 사용되는 용어는 한정을 의도하는 것이 아니라 특정 예들을 설명하는 목적을 위해 사용될 뿐이라는 것도 이해해야 한다. 상이한 도면들 내의 동일한 참조 번호들은 동일한 요소를 나타낸다. 흐름도들 및 프로세스들에서 제공되는 번호들은 단계들 및 동작들의 예시의 명료화를 위해 제공되며, 반드시 특정 순서 또는 시퀀스를 지시하지는 않는다.
기술 실시예들의 초기 개요가 아래에서 제공되며, 이어서 특정 기술 실시예가 나중에 더 상세히 설명된다. 이러한 초기 요약은 독자들이 기술을 더 빠르게 이해하는 것을 돕기를 의도하지만, 기술의 중요한 특징들 또는 본질적인 특징들을 식별하는 것을 의도하지 않으며, 청구 발명의 범위를 한정하는 것을 의도하지도 않는다.
적응성 멀티미디어 스트리밍은 멀티미디어가 스트리밍되는 동안에 동일 멀티미디어 파일의 상이한 버전들이 이동 장치에 의해 액세스되는 것을 가능하게 한다. 무선 링크 조건들의 변화는 이동 장치에서의 가용 대역폭을 증감시킬 수 있다. 파일이 이동 장치에서 프레젠테이션되는 동안에 멀티미디어 파일의 상이한 버전들로 변경함으로써 "적응"하기 위한 능력은 대역폭 감소가 발생할 때에도 프레젠테이션이 계속되는 것을 가능하게 한다.
하이퍼텍스트 전송 프로토콜(HTTP) 기반 스트리밍 서비스들, 예로서 프로그레시브 다운로드 및 DASH(dynamic adaptive streaming over HTTP)를 포함하는 현행 적응성 멀티미디어 스트리밍 표준들 및 사양들은 소정 조건들에서 사용자들의 경험 품질을 낮출 수 있는 제한들을 갖는다.
예로서, 클라이언트들은 일반적으로 미디어 서버들이 스케줄링된 유지보수를 위해(또는 소정의 다른 이유로) 언제 오프라인 상태로 될지를 미리 예측하지 못한다. 클라이언트들은 여러 요청이 이행되지 못하고 여러 버퍼링 이벤트가 발생한 후에야 서버가 오프라인 상태로 된 것으로 추정해야 할 수 있다. 게다가, 클라이언트들은 여러 버퍼링 이벤트가 발생한 후에야 미디어 서버에 대한 업로드 레이트가 변경된 것으로 추정해야 할 수도 있다. 어느 상황이나 클라이언트 QoE(경험 품질)의 저하를 유발할 수 있다.
다른 예에서, 원하는 콘텐츠를 가진 제1 미디어 서버가 오버로드될 때, 클라이언트들은 콘텐츠를 더 낮은 레이트로 스트리밍해야 할 수 있다. 유사한 콘텐츠를 가진 하나 이상의 추가 서버가 온라인 상태로 될 수 있다. 그러나, 클라이언트들은 추가 서버들이 온라인 상태로 된 것을 인식하지 못할 수 있으며, 따라서 제1 서버로부터 콘텐츠를 계속 더 낮은 레이트로 스트리밍할 수 있다. 이러한 상황은 또한 클라이언트들이 원하는 콘텐츠가 추가 서버들로부터 스트리밍될 수 있다는 것을 인식할 경우에 달성될 수 있는 QoE에 비해 저하된 클라이언트 QoE(경험 품질)를 유발할 수 있다.
다른 예에서, DASH(dynamic adaptive streaming through HTTP)는 서버 상에서 이용 가능한 미디어 콘텐츠의 상이한 포맷들, 버전들 및 세그먼트들에 대한 정보를 제공하는 미디어 프레젠테이션 설명(MPD) 메타데이터 파일에 대한 포맷들을 지정한다. MPD 메타데이터 파일은 추가 콘텐츠가 서버를 통해 이용 가능해질 때 서버에 의해 갱신될 수 있다. 그러나, 클라이언트들은 클라이언트들이 서버로부터 MPD 갱신들을 명확히 요청할 때까지 소정 기간 동안 추가 콘텐츠가 이용 가능하다는 것을 인식하지 못할 수 있다. 그 기간 동안, QoE가 즉시 개선될 수 있는 클라이언트들은 추가 콘텐츠가 이용 가능해지는 이익을 전혀 누리지 못한다.
다른 예에서, 미디어 서버는 트랜스코딩(예로서, 원하는 포맷 또는 비트레이트를 달성하기 위한 하나의 코딩으로부터 다른 코딩으로의 직접 변환)을 지원할 수 있다. 일부 클라이언트들은 서버 상에서 쉽게 이용 가능하지 않지만 서버의 트랜스코딩 능력을 이용하여 이용 가능해질 수 있는 미디어 콘텐츠의 인코딩에 의해 더 양호하게 서빙될 수 있다. 그러나, 이러한 클라이언트들은 서버의 트랜스코딩 능력을 인식하지 못할 수 있으며, 따라서 그에 의해 제공되는 이익을 누리지 못할 수 있다.
다른 예에서, 네트워크 전송 레이트들은 이동 장치가 하나의 장소로부터 다른 장소로 운반될 때 갑자기 감소할 수 있다. 그러나, 이동 장치가 서버로부터 표현의 높은 비트레이트 세그먼트를 이미 요청한 경우, 일반적으로, 높은 비트레이트 세그먼트에 대한 요청을 자동으로 취소하고, 감소된 네트워크 전송 레이트에 더 적합한 더 낮은 비트레이트 세그먼트를 위한 요청으로 대체할 어떠한 방법도 존재하지 않는다. 이것은 클라이언트가 클라이언트 QoE를 낮출 수 있는 버퍼링 이벤트를 겪게 할 수 있다.
무선 멀티미디어 표준들
멀티미디어가 이동 컴퓨팅 장치들로, 그들로부터 또는 그들 사이에서 통신되는 것을 가능하게 하도록 개발된 다수의 멀티미디어 표준이 존재한다. 예로서, 스트리밍 비디오에서, 3 세대 파트너십 프로젝트(3GPP)는 주문형 또는 라이브 콘텐츠의 유니캐스트 스트리밍을 위한 실시간 스트리밍 프로토콜(RTSP)에 기초하는 패킷 교환 스트리밍 서비스(PSS)를 설명하는 기술 사양(TS) 26.234(예로서, 릴리스 11.0.0)를 개발하였다. 게다가, 프로그레시브 다운로드 및 DASH(dynamic adaptive streaming over HTTP)를 포함하는 하이퍼텍스트 전송 프로토콜(HTTP) 기반 스트리밍 서비스들은 3GPP TS 26.247(예로서, 릴리스 11.0.0)에서 설명된다. 3GPP 기반 멀티미디어 브로드캐스트 및 멀티캐스트 서비스(MBMS) 사양 TS 26.346(예로서, 릴리스 11.0.0)은 멀티캐스트/브로드캐스트 콘텐츠 배포를 위한 스트리밍 및 다운로드 기술들을 지정한다. 따라서, DASH/PSS/MBMS 기반 이동 컴퓨팅 장치들, 예로서 사용자 장비(UE들)는 스트리밍된 비디오들을 UE 장치들에서 디코딩 및 렌더링한다. 3GPP TS 26.244(예로서, 릴리스 11.0.0)에서의 3GP 파일 포맷에 대한 지원은 파일 다운로드 및 HTTP 기반 스트리밍 사용 예들을 지원하도록 이러한 사양들 모두에서 요구된다.
전술한 표준들은 멀티미디어 파일들을 멀티미디어 장치들로, 그들로부터 그리고/또는 그들 사이에서 통신하는 데 사용될 수 있는 무선 멀티미디어 표준들의 예들로서 제공된다. 예들은 한정을 의도하지 않는다. 추가 표준들을 이용하여 스트리밍 비디오 또는 비디오 공유를 제공할 수 있다.
스트리밍 미디어 표준들
여기서는 본 발명의 실시예들과 관련하여 HTTP 스트리밍 및 DASH 표준의 더 상세한 설명이 제공된다. 상세한 설명은 한정을 의도하지 않는다. 이어지는 단락들에서 더 설명되는 바와 같이, 본 명세서에서 설명되는 예들은 DASH 상황에서 클라이언트 QoE를 개선할 수 있는 클라이언트들과 서버들 간의 통신을 촉진시키는 데 사용될 수 있다.
인터넷 비디오의 하이퍼텍스트 전송 프로토콜(HTTP) 스트리밍 전달. HTTP 스트리밍에서, 멀티미디어 파일은 하나 이상의 세그먼트로 분할되고, HTTP 프로토콜을 이용하여 클라이언트로 전달될 수 있다. HTTP 기반 전달은 전송 제어 프로토콜(TCP)/인터넷 프로토콜(IP)을 포함하는 HTTP 및 HTTP의 기본 프로토콜들 양자의 광범위한 채택으로 인해 신뢰성 및 배치 간소화를 제공할 수 있다. HTTP 기반 전달은 네트워크 주소 변환(NAT) 및 방화벽 통과 문제들을 방지함으로써 간소화된 스트리밍 서비스들을 가능하게 할 수 있다. HTTP 기반 전달 또는 스트리밍은 특수화된 스트리밍 서버들 대신에 표준 HTTP 서버들 및 캐시들을 사용하기 위한 능력도 제공할 수 있다. HTTP 기반 전달은 서버 측에 대한 최소의 또는 감소된 상태 정보를 인해 축소성을 제공할 수 있다. HTTP 스트리밍 기술들의 예들은 마이크로소프트(상표) IIS 스무스 스트리밍, 애플(상표) HTTP 라이브 스트리밍 및 어도비(상표) HTTP 동적 스트리밍을 포함할 수 있다.
DASH는 표준화된 HTTP 스트리밍 프로토콜이다. 도 1에 도시된 바와 같이, DASH는 미디어 프레젠테이션 설명(MPD) 메타데이터 파일(102)에 대한 상이한 포맷들을 지정할 수 있다. MPD 메타데이터 파일(102)은 구조에 관한 그리고 서버 상에 저장된 미디어 콘텐츠 표현들의 상이한 버전들(또한 세그먼트 포맷들)에 관한 정보를 제공할 수 있다. MPD 메타데이터 파일은 미디어 플레이어에 대한 초기화 및 미디어 세그먼트들에 관한 정보를 포함한다. MPD 메타데이터 파일에 의해 제공되는 이러한 정보는 미디어 플레이어에 의해 컨테이너 포맷 및 미디어 타이밍 정보를 결정하는 데 사용될 수 있다. 이것은 미디어 플레이어가 세그먼트들을 스위칭 및 다른 표현들과의 동기 프레젠테이션을 위한 미디어 프레젠테이션 타임라인으로 맵핑하는 것을 가능하게 한다. DASH 기술은 동화상 전문가 그룹(MPEG), 오픈 IPTV 포럼(OIPF) 및 하이브리드 브로드캐스트 광대역 TV(Hbb TV)와 같은 다른 조직들에 의해서도 표준화되었다.
DASH 클라이언트는 일련의 HTTP 요청-응답 트랜잭션들을 통해 세그먼트들을 다운로드함으로써 멀티미디어 콘텐츠를 수신할 수 있다. DASH는 이동 장치에 의해 이용 가능한 대역폭이 변함에 따라 미디어 콘텐츠의 상이한 비트레이트 표현들 사이에서 동적으로 스위칭하기 위한 능력을 제공할 수 있다. 따라서, DASH는 (1) 바뀌는 네트워크 및 무선 링크 조건들; (2) 사용자 선호들 및 장치 능력들, 예로서 디스플레이 해상도; (3) 상이한 타입의 중앙 처리 유닛들(CPU); (4) 상이한 메모리 자원들 등에 대한 빠른 적응을 가능하게 할 수 있다. DASH의 동적 적응은 다른 스트리밍 프로토콜들보다 짧은 시동 지연들 및 적은 리버퍼링 이벤트들과 함께 사용자에게 더 양호한 경험 품질(QoE)을 제공할 수 있다.
DASH에서, 미디어 프레젠테이션 설명(MPD) 메타데이터(102)는 도 2b에 도시된 바와 같이 웹/미디어 서버(212) 내에 저장된 미디어 콘텐츠 표현들의 구조 및 상이한 버전들에 대한 정보를 제공할 수 있다. 도 1에 도시된 예에서, MPD 메타데이터는 이 예에서 60초와 같은 사전 결정된 길이를 갖는 기간들로 시간적으로 분할된다. 각각의 기간은 복수의 적응 세트(104)를 포함할 수 있다. 각각의 적응 세트는 다수의 인코딩된 대안을 갖는 하나 이상의 미디어 컴포넌트에 대한 정보를 제공할 수 있다. 예로서, 이 예에서 적응 세트 0은 다양한 상이하게 인코딩된 오디오 대안들, 예로서 비트레이트들을 갖는 상이한 대안들, 모노, 스테레오 또는 서라운드 사운드를 갖는 대안들 등을 포함할 수 있다. 기간 ID를 통해 멀티미디어 프레젠테이션에 대한 상이한 품질 오디오를 제공하는 것에 더하여, 적응 세트는 상이한 언어들의 오디오도 포함할 수 있다. 적응 세트에서 제공되는 상이한 대안들은 표현들(106)로서 지칭된다.
도 1에서, 적응 세트 1은 5 Mbps(mega-bits per second), 2 Mbps, 500 kbps(kilo-bits per second) 또는 트릭 모드와 같은 상이한 비트레이트들에서 비디오를 제공하는 것으로 도시된다. 트릭 모드는 탐색, 고속 진행, 되감기, 또는 멀티미디어 스트리밍 파일에서의 다른 위치 변경들의 수행을 위해 사용될 수 있다. 게다가, 비디오는 이차원(2D) 또는 삼차원(3D) 비디오와 같은 상이한 포맷들로 이용 가능할 수도 있다. 각각의 표현(106)은 세그먼트 정보(108)를 포함할 수 있다. 세그먼트 정보는 초기화 정보(110) 및 실제 미디어 세그먼트 데이터(112)를 포함할 수 있다. 이 예에서는, MPEG 4(MP4) 파일이 서버로부터 이동 장치로 스트리밍된다. 이 예에서는 MP4가 사용되지만, 전술한 바와 같이, 다양한 상이한 코덱들이 사용될 수 있다.
적응 세트 내의 멀티미디어는 더 작은 세그먼트들로 더 분할될 수 있다. 도 1의 예에서, 적응 세트 1의 60초 비디오 세그먼트는 각각 15초의 4개의 서브세그먼트(112)로 더 분할된다. 이러한 예들은 한정을 의도하지 않는다. 적응 세트 및 각각의 미디어 세그먼트 또는 서브세그먼트의 실제 길이는 미디어의 타입, 시스템 요구들, 간섭의 잠재적 타입 등에 의존한다. 실제 미디어 세그먼트들 및 서브세그먼트들은 1초 미만의 길이 내지 수 분의 길이의 범위에 걸치는 길이를 가질 수 있다.
도 2a는 시간에 따라 변하는 HTTP 적응성 스트림(HAS)(210)의 예시를 제공한다. 제1 30초 기간 내에서, 클라이언트는 먼저 고품질 표현(202)으로부터 세그먼트들(208)을 검색한다. 이 예의 세그먼트들은 약 10초의 길이를 갖는다. 그러나, 이것은 한정을 의도하지 않는다. 세그먼트들은 서버에서 임의의 원하는 길이를 갖도록 구성될 수 있다. 게다가, 서브세그먼트들도 다운로드될 수 있다.
이어서, 클라이언트는 중간 품질 표현(204)에서 2개의 세그먼트를 검색한다. 10초 지속기간을 갖는 제2 기간 내에, 클라이언트는 다시 스위칭하여, 저품질 표현(206)으로부터 세그먼트들을 검색한다. 클라이언트는 멀티미디어 서버와의 무선 링크 품질의 변화로 인해 저품질 표현으로 스위칭할 수 있다. 20초 지속기간을 갖는 제3 기간 내에, 클라이언트는 도 2a에 도시된 바와 같이 다시 중간 품질 표현(204)으로 스위칭한다. 클라이언트는 서버로부터 멀티미디어 장치 상에서 동작하는 클라이언트로의 멀티미디어 파일의 HAS의 길이 전반의 선택된 표현으로부터 세그먼트들을 계속 요청할 수 있다.
도 2b에 도시된 바와 같이, MPD 메타데이터 정보가 클라이언트(220)로 통신될 수 있다. 클라이언트는 이동 장치 상에서 동작할 수 있다. 이동 장치는 스트리밍 미디어를 수신 및 표시하도록 구성되는 무선 장치일 수 있다. 일 실시예에서, 이동 장치는 이러한 기능의 일부만을 수행할 수 있는데, 예로서 스트리밍 미디어를 수신한 후에 이를 렌더링을 위해 다른 장치 또는 디스플레이 장치로 통신할 수 있다. 이동 장치는 클라이언트(220)를 실행하도록 구성될 수 있다. 클라이언트는 HTTP GET(240) 메시지 또는 일련의 부분 GET 메시지들을 이용하여 세그먼트들을 요청할 수 있다. 클라이언트는 예로서 세그먼트들의 시퀀스의 정기적인 요청 및 원활한 재생을 관리함으로써 또는 무선 링크, 장치 상태 또는 사용자 선호의 변화에 대응하도록 비트레이트 또는 다른 속성을 조정함으로써 스트리밍 세션을 제어할 수 있다.
도 2b는 DASH 기반 스트리밍 프레임워크를 나타낸다. 웹/미디어 서버(212) 내의 미디어 인코더(214)는 오디오/비디오 입력(210)으로부터의 입력 미디어를 저장 또는 스트리밍을 위한 포맷으로 인코딩할 수 있다. 미디어 세그먼터(216)는 입력 미디어를 웹 서버(218)에 제공될 수 있는 일련의 세그먼트들(232)로 분할하는 데 사용될 수 있다. 클라이언트(220)는 웹 서버(예로서, HTTP 서버)로 전송되는 HTTP GET 메시지들(234)을 이용하여 세그먼트들 내의 새로운 데이터를 요청할 수 있다.
예로서, 클라이언트(220)의 웹 브라우저(222)는 HTTP GET 메시지(240)를 이용하여 멀티미디어 콘텐츠를 요청할 수 있다. 웹 서버(218)는 멀티미디어 콘텐츠에 대한 MPD(242)를 클라이언트에 제공할 수 있다. MPD는 관련 메타데이터 정보(252)에 나타나는 바와 같은 각각의 세그먼트의 인덱스 및 세그먼트의 대응하는 위치들을 운반하는 데 사용될 수 있다. 웹 브라우저는 236에 도시된 바와 같이 MPD(242)에 따라 서버로부터 미디어를 세그먼트 단위로 풀링할 수 있다. 예로서, 웹 브라우저는 HTTP GET URL(frag 1 req)(244)을 이용하여 제1 세그먼트를 요청할 수 있다. 유니폼 리소스 로케이터(URL) 또는 유니버설 리소스 로케이터를 이용하여, 클라이언트가 어느 세그먼트를 요청하는지를 웹 서버에 알릴 수 있다(254). 웹 서버는 제1 단편(즉, 세그먼트 1(246))을 제공할 수 있다. 후속 세그먼트들에 대해, 웹 브라우저는 HTTP GET URL(frag i req)(248)을 이용하여 세그먼트 i를 요청할 수 있으며, 여기서 i는 세그먼트의 정수 인덱스이다. 결과적으로, 웹 서버는 세그먼트 i(250)를 제공할 수 있다. 세그먼트들은 미디어 디코더/플레이어(224)를 통해 클라이언트에 프레젠테이션될 수 있다.
도 3은 멀티미디어 콘텐츠를 제공하는 HTTP 서버(310)와 UE(336)와 같은 이동 장치 상에서 동작하는 3GPP 클라이언트(338) 사이의 멀티미디어 콘텐츠(312)의 흐름을 나타낸다. HTTP 서버는 무선 광역 네트워크(WWAN)의 코어 네트워크(324)와 통신하는 공개 또는 비공개 네트워크(322)(또는 인터넷)와 인터페이스할 수 있다. 일 실시예에서, WWAN은 3GPP LTE 기반 네트워크(예로서, 릴리스 11 또는 12) 또는 IEEE 802.16 기반 네트워크(예로서, 802.16-2009 또는 802.16m-2011)일 수 있다. 코어 네트워크는 무선 액세스 네트워크(RAN)(332)를 통해 진화 패킷 시스템(EPS)과 같은 무선 네트워크(330)에 액세스할 수 있다. RAN은 UE 상에서 동작하는 클라이언트에 노드(예로서, 진화 노드 B(eNB)(334))를 통해 멀티미디어 콘텐츠를 제공할 수 있다.
QoE 인식 적응성 스트리밍
HTTP 적응성 스트리밍(HAS)의 경험 품질(QoE)은 표현들 및 대응하는 세그먼트들을 호스팅하는 하나 이상의 서버에 의해 영향을 받을 수 있다. 전술한 바와 같이, 현재의 사양은 모든 서버들(베이스 유니폼 리소스 로케이터(URL)) 각각이 모든 표현들 및 대응하는 세그먼트들을 포함하는 것으로 가정한다. 이것은 부분 콘텐츠만을 갖는 서버들이 MPD 파일 내에 목록화될 수 없다는 것을 의미한다. 부분 콘텐츠를 갖는 서버들이 MPD 파일 내에 목록화되는 경우, 클라이언트는 요청이 행해지고 특정 서버로부터 이행되지 못할 때까지 그러한 서버들이 소정의 표현들 또는 세그먼트들을 갖지 않는 것으로 결정하지 못할 것이다. 이것이 발생할 때, 클라이언트 QoE는 누락 세그먼트들의 검색 지연으로 인해 급격히 떨어질 수 있다.
서버들은 제한된 동작 용량을 가질 수 있다. 특정 서버가 오버로딩되고, 적절한 시간 프레임에 콘텐츠를 전달할 수 없는 경우, 서버가 이동 장치 상에서 동작하는 하나 이상의 클라이언트에 통지하여 서버로부터의 그의 다운로드 레이트를 줄여서 잠재적인 세그먼트 검색 지연 또는 큰 패킷 손실을 방지하기 위한 어떠한 방법도 존재하지 않는다.
게다가, 서버들은 제한된 대역폭을 가질 수 있다. 다수의 클라이언트가 공동의 제한된 대역폭을 공유하고, 자원들에 대해 경쟁할 때, 다수의 사용자에 대한 여러 DASH 스트림의 존재는 혼잡을 유발하고, 클라이언트들에서의 재생 경험을 저하시킬 수 있다. 서버에 의해 세그먼트들을 제공하기 위한 능력의 감소는 클라이언트들에서의 바람직하지 않은 리버퍼링을 유발할 수 있다. 이것은 다수의 클라이언트가 서버로부터 동일 DASH 콘텐츠를 인출하려고 시도하는 경우에 특히 사실일 수 있다.
미디어 스트리밍은 종종 비교적 큰 대역폭 자원들을 요구하므로, 미디어 서버들에 대한 부하가 종종 매우 클 수 있다. 미디어 서버들에 대한 부하들을 줄이는 것을 도울 수 있는 하나의 접근법은 피어 지원 DASH(pDASH)이다. 피어 지원 DASH를 이용하는 접근법들에서, 미디어 콘텐츠의 소정 세그먼트들을 이미 다운로드 및 캐싱한 클라이언트들은 그러한 세그먼트들을 피어 대 피어 배열 내의 다른 클라이언트들에 제공할 수 있다. 이러한 방식으로, 클라이언트들은 다른 클라이언트들로부터 적어도 일부 세그먼트들을 스트리밍할 수 있다. 이것은 클라이언트들이 제한된 용량 내에서 지원 서버들로서 작용함으로써 부하의 일부를 담당하는 것을 가능하게 하므로 미디어 서버들에 대한 부하를 줄인다. 일 실시예에 따르면, 미디어 서버는 피어 대 피어(P2P) 캐싱 가용성 통신을 전송함으로써 피어 대 피어 캐싱 및 스트리밍이 이용 가능하다는 것을 클라이언트들에게 통지할 수 있다. 피어링 장치들 사이의 캐싱 및 스트리밍 스케줄이 P2P 서버에 의해 결정될 수 있다. 미디어 서버는 P2P 서버 식별 기반 통신을 클라이언트들로 전송하여, P2P 서버의 식별자를 클라이언트들에 통지할 수 있다.
다른 실시예에 따르면, 서버는 MPD와 같은 목록 파일 내에서 클라이언트들에게 제공되는 DASH 표현들의 세트를 수정할 수 있다. 수정은 서버가 가용 표현들 및/또는 세그먼트들, 가용 서버 용량 및/또는 가용 서버 대역폭 또는 처리량과 같은 정보를 클라이언트로 통신하는 것을 가능하게 할 수 있다. 이어서, 클라이언트는 능동적으로 이용 가능한 표현들을 요청할 수 있다. 더 큰 용량 또는 대역폭을 갖는 다른 서버가 이용 가능하지 않은 경우, 클라이언트는 가용 서버 용량 및 대역폭을 오버로딩하지 않는 표현 또는 세그먼트를 선택할 수 있다.
서버는 통상적으로 <Base URL>http://192.168.10.10/sintel/,/Base URL>과 같은 서버 인터넷 프로토콜(IP) 주소를 포함하는 지원 베이스 URL 사이트들을 통신한다. 서버 IP 주소에 더하여, 선택된 표현이 서버에서 이용 가능한지의 여부를 지시하는 각각의 표현에 대응하는 이진 코드가 포함될 수 있다. 예로서, 가용 표현 코드(ARC)로서 지칭되는 이진 코드를 이용하여 표현 가용성이 통신될 수 있다. 서버로부터의 통신은 ARC 메시지, 예를 들어 <Base URL arc="0011001111">http://192.168.10.10/sintel/</BaseURL>을 포함할 수 있다. 이것은 이어지는 단락들에서 더 충분히 설명될 것이다.
표현의 가용성을 통신하기 위한 능력은 서버가 가용 표현들에 대한 갱신된 이진 코드를 이용하여 클라이언트들에 동적으로 통지하는 것을 가능하게 할 수 있다. 이러한 이진 코드는 서버의 능력 및/또는 처리량에 부담을 주는 표현들에 대한 클라이언트 요청들을 제한하기 위해 서버에 의해 사용될 수 있다. 클라이언트는 갱신된 이진 코드들을 그의 비트레이트 적응 논리 내에 포함시키고, 능동적으로 이용 가능한 리스트 내의 표현들만을 요청할 수 있다. 피드백 메커니즘은 서버에 의해 서빙되는 클라이언트들이 서버에서의 혼잡 문제를 방지하는 데 도움이 되는 결정을 행하는 것을 가능하게 하며, 따라서 리버퍼링 이벤트들을 줄이고, 클라이언트로 통신될 수 있는 표현 레벨을 증가시킴으로써 클라이언트 장치에서의 QoE를 향상시킨다.
가용 표현 코드
일 실시예에 따르면, ARC와 같은 이진 코드가 MPD 파일과 같은 목록 파일 내의 각각의 표현에 대해 사전 결정될 수 있다. 일례에서, 각각의 ARC는 각각의 표현에 대해 '0' 또는 '1'일 수 있는 표현 액세스 비트(RAB)로서 지칭되는 비트를 할당할 수 있다. 실행 시간에, 서버는 클라이언트들로 서빙되고 있는 스트리밍 미디어에 대한 서버의 업로드 레이트를 계산하고, ARC를 동적으로 갱신할 수 있으며, 이어서 ARC는 그에 따라 각각의 클라이언트에 통지하는 데 사용된다.
ARC는 다수의 상이한 방식으로 통신될 수 있다. 일례에서, ARC는 MPD 내의 BaseURL 요소에 속성으로서 추가될 수 있다. 이어서, 클라이언트들은 갱신된 ARC 값들을 갖는 MPD를 주기적으로 요청할 수 있다. 그러나, 빈번한 MPD 갱신들은 네트워크 접속들에 대한 추가적인 오버헤드 트래픽을 유발할 수 있다. 다른 예에서, ARC는 HTTP 포스트 요청을 통해 클라이언트로 전송될 수 있다. 이러한 접근법이 사용될 때, 클라이언트는 그러한 HTTP 포스트 요청들을 청취할 수 있는 간단한 HTTP 서버를 구현할 수 있다. 다른 예에서, ARC는 헤더 값으로서 또는 클라이언트로 전송되는 세그먼트 패킷의 처음 n개의 비트(여기서, n은 가용 표현들의 수임)로서 첨부될 수 있다.
세그먼트 가용성 코드
pDASH 배열에서, 참가 피어 장치는 일반적으로 모든 표현의 세그먼트들을 동시에 캐싱하지 않을 것이다. 결과적으로, 세그먼트 가용성을 통신하는 효율적인 방법은 pDASH 배열에서 피어 대 피어 스트리밍을 체계화 및 조정하는 데에 매우 도움이 될 것이다. 다른 실시예에 따르면, 세그먼트 가용성은 세그먼트 가용성 코드(SAC)로서 지칭되는 이진 코드를 이용하여 통신될 수 있다. 서버로부터의 이러한 통신은 <Representation_ID>:{0|1}m과 같은 메시지 내의 SAC를 포함할 수 있으며, 여기서 m은 지정된 표현 내의 세그먼트들의 수이다. 이것은 이어지는 단락들에서 더 충분히 설명될 것이다.
세그먼트 가용성을 클라이언트들로 통신함으로써, 서버는 어느 세그먼트들이 서버로부터 이용 가능하지 않은지를 클라이언트들에게 사전에 통지할 수 있다. 이러한 정보를 이용하여, 스트리밍 동안 하나의 서버 상에서 이용 가능하지 않은 세그먼트를 발견하는 클라이언트들은 대안 서버로부터 세그먼트를 즉시 요청할 수 있다(피어 지원 DASH에서, 피어 장치가 서버로서 동작할 수 있다). 이것은 세그먼트가 서버에서 이용 가능하지 않다는 것을 추정하기 전에 클라이언트가 여러 개의 이행되지 않는 요청을 서버로 전송할 - 그리고 아마도 버퍼링 이벤트들을 겪을 - 필요를 없앤다.
일 실시예에 따르면, SAC와 같은 이진 코드가 MPD 파일과 같은 목록 파일 내의 표현 내의 각각의 세그먼트에 대해 사전 결정될 수 있다. 일례에서, 각각의 SAC는 각각의 세그먼트에 대해 0 또는 1일 수 있는 비트를 할당할 수 있다. 실행 시간에, 서버는 하나 이상의 세그먼트의 가용성이 변할 때 SAC를 동적으로 갱신할 수 있다.
도 4는 가용 표현들의 가용 세그먼트들을 갖는 MPD 파일의 일례를 나타내는 표를 제공한다. 이 예에서, MPD 파일은 6개의 상이한 표현을 포함하며, 각각의 표현은 0 내지 5의 범위에 걸치는 표현 식별 번호(RepID)로 라벨링된다. 각각의 표현은 상이한 비트레이트를 갖는다. 이 예에서, RepID 0은 초당 킬로비트(Kbits/sec) 단위로 측정될 때 가장 낮은 비트레이트를 가지며, RepID 5는 가장 높은 비트레이트를 갖는다. 각각의 표현 RepID는 레이트 가용성 비트(RAB)에도 할당되며, 도시된 바와 같이, 표현 RepID 0은 RAB5에 할당되고, RepID 5는 RAB0에 할당된다. 알 수 있듯이, 대안 배열들도 가능하다.
예시적인 MPD 파일은 6개의 표현을 포함하므로, 대응하는 ARC는 RAB5-RAB0을 포함하는 6개의 표현 액세스 비트(RAB)를 포함할 수 있다. 이러한 예시적인 구현에서, 최상위 비트는 가장 낮은 비트레이트를 갖는 표현에 대응하고, 최하위 비트는 가장 높은 비트레이트를 갖는 표현에 대응한다. 이 예는 한정을 의도하지 않는다. 다수의 상이한 타입의 코드를 이용하여, ARC를 서버로부터 각각의 클라이언트로 통신할 수 있다.
게다가, 각각의 상이한 표현에 대해, 0 내지 19의 범위에 걸치는 세그먼트 식별 번호들(SegID들)로 라벨링되는 20개의 상이한 세그먼트가 존재한다. 이 예에서, 각각의 SegID는 또한 세그먼트 가용성 비트(SAB)에 할당되며, SegID 0은 도시된 바와 같이 SAB0에 할당된다. 예시적인 MPD 파일에서 설명되는 각각의 표현은 20개의 세그먼트를 포함하므로, 각각의 표현에 대응하는 SAC는 SAB0-SAB19를 포함하는 20개의 비트(예로서, SAB)를 포함할 수 있다. 0의 SAB 값은 대응하는 세그먼트가 이용 가능하지 않다는 것을 나타내는 반면, 1의 SAB 값은 대응하는 세그먼트가 이용 가능하다는 것을 나타낸다. 비트 값들의 세그먼트 가용성으로의 대안 맵핑들과 같이, SegID들의 SAB들로의 대안 맵핑들도 가능하며, 이 예는 한정을 의도하지 않는다. 더구나, 전술한 바와 같이, 많은 상이한 수의 세그먼트가 가능하며, 이러한 비한정적인 예에서는 도 4가 과도하게 크거나 난해한 것을 방지하기 위해 20개의 세그먼트가 사용된다.
도 5는 서버에서 선택된 가용 대역폭 레이트들을 나타내는 데 사용되는 ARC 코드들의 예시적인 표를 제공한다. 알 수 있듯이, 서버에서의 각각의 표현에 대해, 대응하는 가용 표현 비트가 '0'과 같은 선택된 이진 값으로 설정될 때, 클라이언트에 의한 표현 액세스는 디스에이블된다. 가용 표현 비트가 '1'과 같은 반대 이진 값으로 설정될 때, 표현 액세스가 인에이블된다. 이것은 각각의 클라이언트가 어느 표현들이 클라이언트에 의해 이용 가능한지를 아는 것을 가능하게 한다.
이전 단락들에서의 예들에서는, 코드를 이용하여, 어느 표현들이 서버에서 이용 가능한지를 통신한다. 코드는 각각의 MPD 파일 내에서 통신된다. 그러나, 코드는 HAS 시스템에서 서버 대역폭 또는 서버 용량의 변화가 얼마나 빠르게 발생하는지에 따라 원하는 빈도로 다른 방식으로 통신될 수도 있다.
추가 예에서, 스트리밍 세션 동안, 서버 및 클라이언트는 한 세트의 통신들 및 다른 동작들을 수행하여 각각의 클라이언트에 의한 QoE를 향상시킬 수 있다. 서버는 각각의 클라이언트로부터 피드백 정보를 수신하여, 각각의 사용자에 대해 할당될 대역폭을 계산할 수 있다. 피드백 정보는 사용자에 의해 인식되는 평균 품질 및 HAS 세션 동안 클라이언트에 의해 경험되는 리버퍼링 이벤트들의 수를 포함할 수 있다. 일 실시예에서, 사용자에 의해 인식되는 품질은 각각의 세그먼트와 관련되고 달성될 MOS(mean opinion score)를 대략 추정하는 사전 계산된 품질 팩터일 수 있다. 이러한 사전 계산된 품질 팩터는 MPD와 같은 목록 파일 내에 포함될 수 있다. 대역폭 할당에 사용되는 알고리즘들은 이어지는 단락들에서 더 설명될 것이다.
서버는 하나 이상의 클라이언트의 다운로드 레이트가 서버에 의한 최대 지원 대역폭 레이트 또는 특정 클라이언트에 의한 최대 지원 레이트를 초과하지 않도록 ARC를 동적으로 수정할 수 있다. 이어서, 서버는 갱신된 ARC를 사용자 HTTP 요청들에 대한 응답을 통해 사용자에게 전송할 수 있다. ARC 정보를 통신하는 예들은 ARC 정보를 MPD와 같은 목록 파일 내에서 전송하는 것, ARC 정보를 맞춤형 HTTP 헤더 내에서 전송하는 것, HAS를 통신하는 데 사용되는 무선 채널과 다른 별개의 무선 채널을 통해 ARC 정보를 전송하는 것, 더 높은 계층 시그널링을 통해 ARC를 전송하는 것, HTTP 포스트 요청을 통해 ARC를 전송하는 것 또는 클라이언트로 전송되는 세그먼트 패킷에 ARC를 첨부함으로써 ARC를 전송하는 것을 포함한다. 이어서, 클라이언트는 ARC를 수신하고, 후속 요청들을 행할 때 클라이언트의 비트레이트 적응 알고리즘에서 정보를 이용할 수 있다.
게다가, 클라이언트들에 대한 QoE 개선을 촉진할 수 있는 다수의 추가 타입의 통신이 존재한다. 전술한 바와 같이, 서버는 소정 미디어 콘텐츠에 대응하는 ARC를 갱신할 수 있다. 그러한 ARC 갱신은 서버가 다수의 클라이언트에 대한 QoE를 최대화하려고 시도할 때 다양한 이유로 인해 발생할 수 있다. 예로서, 네트워크 트래픽이 너무 커서 서버가 최고 비트레이트를 갖는 표현을 모든 클라이언트들로 스트리밍할 수 없는 경우, 서버는 클라이언트들 사이의 임의의 QoE 불균형을 완화하기 위해 최고 비트레이트를 갖는 표현을 이용 가능하지 않게 할 수 있다. 한편, 서버 상의 부하가 감소하는 경우, 서버는 표현을 다시 이용 가능하게 할 수 있다. 어느 경우에나, ARC는 표현의 변경된 가용성을 나타내도록 갱신될 것이다. 그러한 갱신이 발생할 때, 서버는 ARC 변경 통신을 하나 이상의 클라이언트로 전송하여, ARC의 변경이 발생했다는 것을 클라이언트들에 통지할 수 있다. 이어서, 클라이언트들은 ARC의 갱신 버전에 대한 요청을 즉시 전송할 수 있다.
다른 예에서, 스트리밍 세션 동안, 서버에서의 MPD 파일이 갱신될 수 있다. 이러한 갱신은 예로서 이용 가능한 표현들의 변경 또는 하나 이상의 표현에 대해 이용 가능한 세그먼트들의 변경을 지시할 수 있다. 서버는 MPD 파일이 변경되었다는 것을 지시하는 MPD 변경 통신을 복수의 클라이언트로 전송할 수 있다. 이어서, 클라이언트들은 일부 사전 결정된 주기적 스케줄에 따라 요청을 행하기 위해 기다리는 것이 아니라 MPD 파일의 갱신 버전을 즉시 요청할 수 있다. MPD 파일의 갱신 버전은 클라이언트 QoE의 향상을 가능하게 하는 정보를 클라이언트들에 제공할 수 있다. 예로서, 갱신된 MPD 파일은 더 높은 비트레이트를 갖는 새로운 표현이 클라이언트가 현재 스트리밍하고 있는 미디어 콘텐츠에 대해 이용 가능하다는 것을 지시할 수 있다. 클라이언트는 더 높은 비트레이트를 갖는 새로운 표현으로부터 후속 세그먼트가 선택되도록 즉시 요청할 수 있다.
다른 예에서, 서버는 미디어 서버가 지정된 시간에 오프라인 상태로 될 것이라는 것을 지시하는 서버 가용성 통신을 복수의 클라이언트로 전송할 수 있다. 이어서, 이러한 통신을 수신하는 클라이언트들은 이러한 정보를 이용하여 그들의 동작들을 여러 방식으로 조정할 수 있다. 예로서, 서버에 대해 행해진 요청이 지정된 시간 전에 이행되지 않은 경우, 클라이언트는 지정된 시간에 도달할 때 즉시 요청을 대안 서버로 전송할 수 있다. 더구나, 클라이언트는 임의의 후속 요청들을 대안 서버로 즉시 전송할 수 있다. 양 경우에, 클라이언트는 요청이 서버로부터 이행되는 것을 기다리는 것의 무용성을 사전에 통지받을 것이다.
다른 예에서, 스트리밍 세션 동안, 서버는 (예로서, 상이한 로딩 조건들에 응답하여) 그의 업로드 레이트를 조정할 수 있다. 서버가 그러한 조정을 행할 때, 서버는 업로드 레이트들이 변경되었음을 지시하는 업로드 레이트 통신을 복수의 클라이언트로 전송할 수 있다. 이것은 클라이언트들이 기다리고, 결국에는 스트리밍 성능 변화가 관측될 때 업로드 레이트들이 변경된 것으로 추정할 필요성을 없앤다. 따라서, 클라이언트들은 그들의 동작들을 여러 방식으로 즉시 조정할 수 있다. 예로서, 업로드 레이트가 감소한 경우, 클라이언트들은 버퍼링 이벤트들을 방지하기 위해 더 낮은 비트레이트들을 갖는 표현들로부터 후속 세그먼트들을 요청하기로 즉시 결정할 수 있다. 한편, 업로드 레이트가 증가한 경우, 클라이언트는 더 높은 비트레이트들을 갖는 표현들로부터 후속 세그먼트들을 요청할 수 있다.
다른 예에서, 스트리밍 세션 동안, 제1 서버는 서버에서의 MPD 파일과 공통인 적어도 하나의 표현을 갖는 제2 서버가 최근에 오프라인 상태로 되었다는 통지를 수신할 수 있다. 이어서, 제1 서버는 제2 서버가 클라이언트들이 원하는 미디어 콘텐츠를 스트리밍할 수 있는 대안으로서 이용 가능하다는 것을 지시하는 신규 서버 통신을 복수의 클라이언트로 전송할 수 있다. 이어서, 클라이언트들은 정보에 기초한 결정을 행하여, 제1 서버로부터 원하는 콘텐츠를 계속 스트리밍하거나 제2 서버로부터 원하는 콘텐츠의 스트리밍을 시작할 수 있다. 예로서, 제1 서버에 대해 불량한 전송 레이트들을 경험한 클라이언트는 원하는 미디어 콘텐츠를 더 양호한 전송 레이트로 수신하기 위해 제2 서버로부터 스트리밍을 시작하기로 즉시 결정할 수 있다.
일부 예들에서, 클라이언트 장치들은 미디어 서버 상에서 즉시 이용 가능하지 않지만, 트랜스코딩을 통해 미디어 서버에 의해 제공될 수 있는 인코딩에서의 미디어 콘텐츠의 수신으로부터 이익을 얻을 수 있다. 클라이언트 장치는 예로서 제한된 저장 용량을 가질 수 있으며, 따라서 파일 크기들을 줄이는 것으로부터 이익을 얻을 수 있다. 클라이언트 장치는 또한 미디어 콘텐츠 표현들이 미디어 서버 상에 저장되는 포맷들 중 어느 것도 지원하지 않을 수 있다. 이러한 타입의 문제들을 해결하기 위해, 미디어 서버는 하나의 인코딩을 다른 인코딩으로 직접 변환할 수 있는 트랜스코딩 능력을 제공할 수 있다. 고정 비트레이트(CBR) 트랜스코딩, 가변 비트레이트(VBR) 트랜스코딩 및 2-패스 가변 비트레이트(2-Pass VBR) 트랜스코딩과 같은 많은 상이한 트랜스코딩 방법이 이용될 수 있다. DASH와 관련하여, 미디어 서버는 미디어 서버가 DASH 미디어 콘텐츠를 트랜스코딩할 수 있다는 것을 클라이언트들에게 알리기 위해 트랜스코딩 능력 통신을 복수의 클라이언트로 전송할 수 있다. 미디어 서버는 또한 코덱들, 캡슐화 포맷들, MIME 타입들, 비트레이트들, 해상도들 및 프레임 레이트들을 변환하기 위한 가용 구성들을 포함하는 어떤 특정 트랜스코딩 타입들을 미디어 서버가 지원하는지를 지시하는 트랜스코딩 지원 통지를 복수의 클라이언트로 전송할 수 있다. 클라이언트는 그에 응답하여 클라이언트가 존재할 경우에 어떤 타입의 트랜스코딩을 선택하는지를 지시하는 통신을 전송할 수 있다.
스트리밍 세션 동안, 클라이언트는 QoE의 변화를 경험할 수 있다. 미디어 서버가 클라이언트 QoE를 개선하는 것을 돕기 위해, 클라이언트는 평균 QoE를 지시하는 통신을 주기적으로 서버로 전송할 수 있다. 이러한 통신은 평균 다운로드 레이트, 버퍼링 이벤트들의 수, 및 평균 MOS(mean opinion score)와 같은 하나 이상의 규준에 관한 정보를 포함할 수 있다. 미디어 서버들은 이러한 타입의 클라이언트 피드백을 이용하여, 스트리밍 클라이언트들 사이의 부하 균형화를 어떻게 최상으로 수행할지를 동적으로 결정할 수 있다.
게다가, 클라이언트 사용자 장비는 UE가 스트리밍 세션 동안 QoE 변화를 경험한 시기를 검출하도록 구성될 수 있다. 그러한 변화가 발생한 때, 클라이언트 UE는 표현의 새로운 세그먼트에 대한 요청을 자동으로 전송하도록 구성될 수 있으며, 이러한 세그먼트는 검출된 QoE 변화에 부분적으로 기초하여 선택된다. QoE가 예로서 다운로드 레이트의 감소로 인해 변한 경우, UE는 버퍼링 이벤트들이 덜 발생하도록 더 낮은 비트레이트를 갖는 새로운 세그먼트를 요청할 수 있다. 한편, 다운로드 레이트가 증가한 경우, UE는 더 높은 비트레이트를 갖는 새로운 세그먼트를 요청할 수 있다. 게다가, UE는 또한 새로운 세그먼트에 대한 요청 전에 요청된 임의의 다운로드들에 대한 취소 요청을 미디어 서버로 자동으로 전송하도록 구성될 수 있다. 이것은 미디어 서버가 임의의 이전에 요청된 세그먼트들의 전송을 즉시 중지하는 것을 가능하게 한다.
피어 지원 DASH(pDASH) 상황에서, 클라이언트 UE는 또한 UE가 피어 대 피어(P2P) 스트리밍 모드를 지원하는지를 지시하는 P2P 캐싱 가용성 통신을 전송할 수 있다. P2P 서버는 이러한 타입의 통신을 복수의 UE로부터 수신하고, 그에 따라 피어링 장치들에 대한 캐싱 및 스트리밍 스케줄을 고안할 수 있다.
미디어 서버가 트랜스코딩 서비스들을 제공하는 경우, UE는 또한 어느 코덱, 캡슐화, MIME 타입, 비트레이트, 해상도 및/또는 프레임 레이트 포맷들이 UE에 대해 추천되는지를 지시하는 DASH 표현 추천 통신을 미디어 서버로 전송하도록 구성될 수 있다. 이것은 미디어 서버가 UE에 적합한 표현 및 표현 세그먼트들을 선택하는 것을 가능하게 할 수 있다.
도 6은 도 6의 흐름도에 도시된 바와 같이 하이퍼텍스트 전송 프로토콜(HTTP) 적응성 스트리밍을 제공하고 여러 상이한 타입의 통신들을 클라이언트들로 전송하도록 동작할 수 있는 미디어 서버의 컴퓨터 회로의 기능(600)을 나타낸다. 610에서와 같이, 미디어 서버는 미디어 서버가 지정된 시간에 오프라인 상태가 될 것임을 지시하는 서버 가용성 통신을 복수의 클라이언트로 전송할 수 있다. 620에서와 같이, 미디어 서버는 미디어 서버에 대한 업로드 레이트의 변경을 지시하기 위한 업로드 레이트 통신을 복수의 클라이언트로 전송할 수 있다. 630에서와 같이, 미디어 서버는 미디어 서버에서의 MPD 파일과 공통인 적어도 하나의 표현을 갖는 신규 서버가 이용 가능해지는 시기를 지시하기 위한 신규 서버 통신을 복수의 클라이언트로 전송할 수 있다. 640에서와 같이, 미디어 서버는 미디어 서버의 MPD 파일에 대해 적어도 하나의 변경이 행해진 시기를 지시하는 미디어 프레젠테이션 설명(MPD) MPD 변경 통신을 미디어 서버로부터 복수의 클라이언트로 전송할 수 있다. 이러한 메시지들 중 하나 이상은 필요에 따라 전송될 수 있다. 상이한 타입의 메시지들은 임의의 순서로 전송될 수도 있다.
일례에서, 미디어 서버는 가용 표현 코드(ARC)를 미디어 서버 상에서 이용 가능한 표현들과 관련시키도록 더 구성되는 회로를 가질 수 있다. ARC는 이진 열을 포함할 수 있으며, 각각의 비트는 미디어 서버 상에서 이용 가능한 표현에 대응한다. 일부 실시예들에서, ARC 내의 1의 비트 값은 해당 비트에 대응하는 표현이 이용 가능하다는 것을 나타낼 수 있다. ARC 내의 하나 이상의 비트가 HTTP 포스트 요청을 통해 클라이언트로 전송될 수 있다. ARC는 또한 클라이언트로 전송되는 세그먼트 패킷에 첨부되거나, 세그먼트 패킷의 헤더에 포함될 수 있다. ARC는 MPD 메타파일 내에 속성으로서 포함될 수도 있다. 더구나, 미디어 서버는 ARC에 대한 변경이 행해질 때마다 ARC 변경 통신을 복수의 클라이언트로 자동 전송하도록 구성되는 회로를 구비할 수도 있다.
다른 예에서, 미디어 서버는 세그먼트 가용성 코드(SAC)를 미디어 프레젠테이션 설명(MPD) 메타파일과 관련시키도록 구성되는 회로를 구비할 수 있다. SAC는 이진 열을 포함할 수 있으며, 각각의 비트는 MPD 메타파일과 관련된 표현 내의 세그먼트의 가용성에 대응한다. 일부 실시예들에서, SAC 내의 1의 비트 값은 해당 비트에 대응하는 세그먼트가 이용 가능하다는 것을 나타낼 수 있다.
다른 예에서, 미디어 서버는 피어 대 피어(P2P) 캐싱 및 스트리밍이 이용 가능한지를 지시하는 P2P 캐싱 가용성 통신을 복수의 클라이언트로 전송하도록 구성되는 회로를 구비할 수 있다. 게다가, 미디어 서버는 피어링 장치들 사이의 캐싱 및 스트리밍 스케줄의 관리를 담당하는 P2P 서버의 식별자를 지시하는 P2P 서버 식별자 통신을 복수의 클라이언트로 전송하도록 구성되는 회로를 구비할 수 있다.
도 7은 도 7의 흐름도에 도시된 바와 같이 하이퍼텍스트 전송 프로토콜(HTTP) 적응성 스트리밍을 제공하고 여러 상이한 타입의 트랜스코딩 통신들을 클라이언트들로 전송하도록 동작할 수 있는 미디어 서버의 컴퓨터 회로의 기능(700)을 나타낸다. 710에서와 같이, 미디어 서버의 컴퓨터 회로는 미디어 서버가 DASH(dynamic adaptive streaming over HTTP) 미디어 콘텐츠를 트랜스코딩할 수 있음을 지시하기 위한 트랜스코딩 능력 통신을 클라이언트로 전송하도록 구성될 수 있다. 720에서와 같이, 미디어 서버의 컴퓨터 회로는 미디어 서버가 지원하는 트랜스코딩의 타입들을 지시하기 위한 트랜스코딩 지원 통신을 클라이언트로 전송하도록 구성될 수도 있다. 트랜스코딩 지원 통신은 코덱들, 캡슐화 포맷들, MIME 타입들, 비트레이트들, 해상도들 및 프레임 레이트들을 변환하기 위한 가용 구성들을 포함할 수 있다. 트랜스코딩 지원 통신은 미디어 서버가 고정 비트레이트(CBR) 트랜스코딩, 가변 비트레이트(VBR) 트랜스코딩 및 2-패스 가변 비트레이트(2-Pass VBR) 트랜스코딩을 지원하는지를 지시할 수도 있다. 730에서와 같이, 미디어 서버의 컴퓨터 회로는 클라이언트에 의해 선택된 트랜스코딩 타입을 지시하는 클라이언트로부터의 통신을 수신하도록 구성될 수도 있다. 740에서와 같이, 미디어 서버는 DASH 미디어 콘텐츠를 선택된 트랜스코딩 콘텐츠와 함께 클라이언트로 전송할 수 있다.
도 8은 도 8의 흐름도에 도시된 바와 같이 하이퍼텍스트 전송 프로토콜(HTTP) 적응성 스트리밍을 이용하고 미디어 서버와 통신하도록 동작할 수 있는 UE의 컴퓨터 회로의 기능(800)을 나타낸다. 810에서와 같이, UE의 회로는 UE가 수신된 스트리밍 미디어에서 경험 품질(QoE)의 변화를 겪은 시기를 검출하도록 구성될 수 있다. 820에서와 같이, UE 회로는 DASH 표현 내의 새로운 세그먼트에 대한 요청을 미디어 서버로 전송하도록 구성될 수도 있다. 830에서와 같이, UE의 회로는 새로운 세그먼트에 대한 요청 전에 요청된 세그먼트 다운로드들에 대한 취소 요청을 미디어 서버로 전송하여, 미디어 서버가 새로운 세그먼트에 대한 요청 전에 요청된 세그먼트 다운로드들의 전송을 중지하는 것을 가능하게 하도록 구성될 수도 있다.
다른 예에서, UE의 회로는 UE가 피어 대 피어(P2P) 스트리밍 모드를 지원하는지를 지시하는 P2P 캐싱 가용성 통신을 미디어 서버로 전송하도록 구성될 수도 있다. UE의 회로는 미디어 서버에 대해 스트리밍 이벤트 동안 수신된 스트리밍 미디어의 평균 경험 품질을 지시하는 QoE 통신을 서버로 전송하도록 구성될 수도 있다. UE의 회로는 어느 코덱, 캡슐화, MIME 타입, 비트레이트, 해상도 및/또는 프레임 레이트 포맷들이 UE에 대해 추천되는지를 지시하는 DASH 표현 추천 통신을 미디어 서버로 전송하도록 구성될 수도 있다. UE의 회로는 사용자가 스트리밍 미디어와 관련된 탐색 동작을 수행할 때 DASH 표현 내의 새로운 세그먼트에 대한 요청 및 취소 요청을 자동으로 전송하도록 구성될 수도 있다. UE의 회로는 스트리밍 미디어의 QoE가 임계치 아래로 떨어질 때 DASH 표현 내의 새로운 세그먼트에 대한 요청 및 취소 요청을 자동으로 전송하도록 구성될 수도 있다.
도 9는 사용자 장비(UE), 이동국(MS), 이동 무선 장치, 이동 통신 장치, 태블릿, 핸드셋, 또는 다른 타입의 무선 장치와 같은 무선 장치의 예시를 제공한다. 무선 장치는 기지국(BS), eNB(evolved Node B), BBU(base band unit), RRH(remote radio head), RRE(remote radio equipment), RS(relay station), RE(radio equipment), RRU(remote radio unit), CPM(central processing module) 또는 다른 유형의 WWAN(wireless wide area network) 액세스 포인트와 같은 노드 또는 송신국과 통신하도록 구성되는 하나 이상의 안테나들을 포함할 수 있다. 무선 장치는 3GPP LTE, WiMAX, HSPA(High Speed Packet Access), 블루투스, 및 WiFi를 포함하는 적어도 하나의 무선 통신 표준을 사용하여 통신하도록 구성될 수 있다. 무선 장치는 각각의 무선 통신 표준에 대해 개별 안테나들을 이용하여 또는 다수의 무선 통신 표준에 대해 공유 안테나들을 이용하여 통신할 수 있다. 무선 장치는 WLAN(wireless local area network), WPAN(wireless personal area network) 및/또는 WWAN에서 통신할 수 있다. 이동 무선 장치의 예들이 제공되지만, 장치는 반드시 무선일 필요는 없다. 유선 장치도 HAS를 위해 사용될 수 있다.
도 9는 또한 무선 장치로부터의 오디오 입력 및 출력을 위해 사용될 수 있는 마이크 및 하나 이상의 스피커의 예시를 제공한다. 디스플레이 스크린은 액정 디스플레이(LCD) 스크린, 또는 유기 발광 다이오드(OLED) 디스플레이와 같은 다른 타입의 디스플레이 스크린일 수 있다. 디스플레이 스크린은 터치스크린으로서 구성될 수 있다. 터치 스크린은 용량, 저항, 또는 다른 타입의 터치 스크린 기술을 이용할 수 있다. 애플리케이션 프로세서 및 그래픽 프로세서가 내부 메모리에 결합되어, 처리 및 표시 능력을 제공할 수 있다. 비휘발성 메모리 포트가 또한 사용자에게 입출력 옵션들을 제공하는 데 사용될 수 있다. 비휘발성 메모리 포트는 또한 무선 장치의 메모리 능력을 확장하는 데 사용될 수 있다. 키보드가 무선 장치와 통합되거나, 무선 장치에 무선 접속되어, 추가적인 사용자 입력을 제공할 수 있다. 가상 키보드가 또한 터치스크린을 이용하여 제공될 수 있다.
다양한 기술들 또는 그들의 소정 양태들 또는 부분들은 플로피 디스켓, CD-ROM(compact disc-read-only memory), 하드 드라이브, 비일시적 컴퓨터 판독 가능 저장 매체, 또는 임의의 다른 기계 판독 가능 저장 매체와 같은 유형적인 매체들 내에 구현되는 프로그램 코드(즉, 명령어들)의 형태를 취할 수 있으며, 프로그램 코드가 컴퓨터와 같은 기계 내에 로딩되고 그에 의해 실행될 때, 기계는 다양한 기술들을 실시하기 위한 기기가 된다. 회로는, 하드웨어, 펌웨어, 프로그램 코드, 실행가능한 코드, 컴퓨터 명령어, 및/또는 소프트웨어를 포함할 수 있다. 비일시적 컴퓨터 판독가능 저장 매체는 신호를 포함하지 않는 컴퓨터 판독가능 저장 매체일 수 있다. 프로그래밍 가능 컴퓨터들 상에서의 프로그램 코드 실행의 경우, 컴퓨팅 장치는 프로세서, (휘발성 및 비휘발성 메모리 및/또는 저장 요소들을 포함하는) 프로세서에 의해 판독 가능한 저장 매체, 적어도 하나의 입력 장치, 및 적어도 하나의 출력 장치를 포함할 수 있다. 휘발성 및 비휘발성 메모리 및/또는 저장 요소들은 RAM(random-access memory), EPROM(erasable programmable read only memory), 플래시 드라이브, 광학 드라이브, 자기 하드 드라이브, 반도체 드라이브, 또는 전자 데이터를 저장하기 위한 다른 매체일 수 있다. 노드 및 무선 장치는 또한 송수신기 모듈(즉, 송수신기), 카운터 모듈(즉, 카운터), 처리 모듈(즉, 프로세서), 및/또는 클럭 모듈(즉, 클럭) 또는 타이머 모듈(즉, 타이머)을 포함할 수 있다. 본 명세서에서 설명되는 다양한 기술들을 구현 또는 이용할 수 있는 하나 이상의 프로그램은 애플리케이션 프로그래밍 인터페이스(API), 재사용 가능 제어 등을 이용할 수 있다. 그러한 프로그램들은 컴퓨터 시스템과 통신하기 위해 고레벨 절차 또는 객체 지향 프로그래밍 언어로 구현될 수 있다. 그러나, 프로그램(들)은 원한다면 어셈블리어 또는 기계어로 구현될 수 있다. 임의의 경우에, 언어는 컴파일링되거나 해석되는 언어일 수 있으며, 하드웨어 구현들과 결합될 수 있다.
본 명세서에서 설명되는 많은 기능 유닛들은, 그들의 구현 독립성을 보다 특별히 강조하기 위하여, 모듈들로서 라벨링되었음을 이해해야 한다. 예를 들어, 모듈은 맞춤형 VLSI(very-large-scale integration) 회로들 또는 게이트 어레이들을 포함하는 하드웨어 회로, 논리 칩들, 트랜지스터들 또는 기타 개별 컴포넌트들과 같은 기성품 반도체로서 구현될 수 있다. 모듈은 또한 필드 프로그래머블 게이트 어레이, 프로그래머블 어레이 논리, 프로그래머블 논리 장치들 등과 같은 프로그래머블 하드웨어 장치들로 구현될 수 있다.
모듈들은 또한 다양한 유형들의 프로세서들에 의한 실행에 대해 소프트웨어로 구현될 수 있다. 실행가능한 코드의 식별된 모듈은 예를 들어 객체, 절차 또는 함수로서 구성될 수 있는, 컴퓨터 명령어들의 하나 이상의 물리적 또는 논리적 블록들을 포함할 수 있다. 그러나, 식별된 모듈의 실행 파일들(executables)은 물리적으로 함께 위치할 필요는 없고, 논리적으로 함께 결합될 때, 모듈을 포함하며 모듈의 기술된 목적을 달성하는 상이한 위치들에 저장된 상이한 명령어들을 포함할 수 있다.
실제로, 실행가능한 코드의 모듈은 단일의 명령어 또는 복수의 명령어일 수 있으며, 심지어 여러 상이한 코드 세그먼트들에 걸쳐, 상이한 프로그램들 사이에, 그리고 여러 메모리 장치들에 걸쳐 분산될 수 있다. 유사하게, 동작 데이터는 본 명세서에서 모듈들 내에서 식별되고 예시될 수 있으며, 임의의 적합한 형태로 구현될 수 있고 임의의 적합한 유형의 데이터 구조 내에 구성될 수 있다. 동작 데이터는 단일의 데이터 세트로서 수집될 수 있거나, 또는 상이한 저장 장치들을 포함하는 상이한 위치들에 걸쳐 분산될 수 있고, 단순히 시스템이나 네트워크 상에서 전자 신호들로서 적어도 부분적으로 존재할 수 있다. 모듈들은 수동적이거나 능동적일 수 있고, 원하는 기능들을 수행하도록 동작할 수 있는 에이전트들을 포함할 수 있다.
본 명세서 전체에 걸쳐 "예" 또는 "예시적인"에 대한 언급은 이 예와 관련하여 설명된 특정 특징, 구조 또는 특성이 본 발명의 적어도 하나의 실시예에 포함되는 것을 의미한다. 따라서, 본 명세서 전반적으로 다양한 곳들에서 나타나는 "일례에서"라는 문구들 또는 "예시적인"이라는 단어의 출현들은 반드시 동일한 실시예를 언급하는 것은 아니다.
본 명세서에서 사용되는 바와 같이, 복수의 항목, 구조적 요소들, 구성적 요소들, 및/또는 재료들은 편의상 공통 리스트 내에 제시될 수 있다. 그러나, 이러한 리스트는 마치 리스트의 각 멤버가 별개의 고유한 멤버로서 개별적으로 식별되는 것처럼 해석되어야 한다. 따라서, 그러한 리스트의 어떤 개별적 멤버도, 반대의 표시 없이 이들이 공통 그룹에 제시되었다는 것에만 기초하여, 동일한 리스트의 임의의 다른 멤버와 실질적으로 동등하다고 해석되어서는 안 된다. 또한, 본 발명의 다양한 실시예 및 예는 본 명세서에서 그것의 다양한 컴포넌트들에 대한 대안과 함께 지칭될 수 있다. 그러한 실시예들, 예들 및 대안들은 서로의 사실상의 등가물들로서 해석될 게 아니라, 본 발명의 개별적이고 자율적인 표현들로서 간주되어야 한다는 것을 이해한다.
또한, 설명되는 특정 특징들, 구조들 또는 특성들은 하나 이상의 실시예들에서 임의의 적합한 방식으로 조합될 수 있다. 다음의 설명에서, 본 발명의 실시예들의 철저한 이해를 제공하기 위해서 레이아웃들, 거리들, 네트워크 예들 등과 같은 다수의 특정 상세가 제공된다. 그러나, 관련 분야의 기술자는 본 발명이 하나 이상의 특정 상세 없이 또는 다른 방법, 컴포넌트, 레이아웃 등을 이용하여 실시될 수 있다는 것을 인식할 것이다. 다른 예들에서, 본 발명의 양태들을 불명확하게 하지 않기 위해 공지 구조들, 재료들 또는 동작들은 상세히 도시 또는 설명되지 않는다.
전술한 예들은 하나 이상의 특정 응용에서 본 발명의 원리들을 예시하지만, 본 발명의 원리들 및 개념들로부터 벗어나지 않으면서 그리고 본 발명의 능력의 연습 없이 구현의 상세, 이용, 및 형태에 있어서 복수의 변형이 행해질 수 있다는 것은 본 기술분야의 숙련된 자에게 명백할 것이다. 따라서, 아래에 제시되는 청구항들에 의한 것을 제외하고는 본 발명은 제한되는 것으로 의도되지는 않는다.

Claims (20)

  1. 하이퍼텍스트 전송 프로토콜(HTTP) 적응성 스트리밍을 제공하도록 동작할 수 있는 미디어 서버로서,
    상기 미디어 서버는 하나 이상의 프로세서 및 메모리를 포함하고, 상기 하나 이상의 프로세서는,
    상기 미디어 서버가 지정된 시간에 오프라인 상태가 될 것임을 지시하는 서버 가용성 통신을 복수의 클라이언트로 전송하고;
    상기 미디어 서버에 대한 업로드 레이트(upload-rate)의 변경을 지시하는 업로드 레이트 통신을 상기 복수의 클라이언트로 전송하고;
    신규 서버가 이용 가능한 시기를 지시하는 신규 서버 통신을 상기 복수의 클라이언트로 전송하고 - 상기 신규 서버는 상기 미디어 서버에서의 미디어 프레젠테이션 설명(MPD:Media Presentation Description) 파일과 공통인 적어도 하나의 표현(representation)을 가짐 -;
    상기 미디어 서버에서의 상기 MPD 파일에 대해 적어도 하나의 변경이 행해진 시기를 지시하는 MPD 변경 통신을 상기 미디어 서버로부터 상기 복수의 클라이언트로 전송하여, 상기 미디어 서버가 상기 HTTP 적응성 스트리밍을 효율적으로 전달하는 것을 가능하게 하고;
    가용 표현 코드(ARC: available representation code)를 상기 미디어 서버 상에서 이용 가능한 상기 표현들과 관련시키고 - 상기 ARC는 이진 열(binary string)을 포함할 수 있으며, 각각의 비트는 상기 미디어 서버 상에서 이용 가능한 상기 표현들 중 하나에 대응함 -;
    상기 복수의 클라이언트로부터 경험 품질(QoE: Quality of Experience) 정보를 수신하고;
    공평한 QoE를 보증하기 위하여 하나 이상의 클라이언트에 대해 최고 비트레이트를 갖는 표현을 비활성화하고;
    상기 복수의 클라이언트에 의하여 송신된 상기 QoE 정보를 이용하여 상기 ARC를 동적으로 업데이트하도록 구성되는 미디어 서버.
  2. 삭제
  3. 제1항에 있어서,
    상기 하나 이상의 프로세서는, 상기 ARC 내의 적어도 하나의 비트의 값을 클라이언트에 대한 HTTP 포스트 요청을 통해 상기 클라이언트로 전송하도록 더 구성되는 미디어 서버.
  4. 제1항에 있어서,
    상기 하나 이상의 프로세서는, 상기 ARC를 클라이언트로 전송할 세그먼트 패킷에 첨부하도록 더 구성되는 미디어 서버.
  5. 제1항에 있어서,
    상기 하나 이상의 프로세서는, 상기 ARC를 클라이언트로 전송할 세그먼트 패킷에 헤더로서 첨부하도록 더 구성되는 미디어 서버.
  6. 제1항에 있어서,
    상기 하나 이상의 프로세서는, 상기 ARC를 미디어 프레젠테이션 설명(MPD) 메타파일 내에 속성으로서 포함시키도록 더 구성되는 미디어 서버.
  7. 제1항에 있어서,
    상기 하나 이상의 프로세서는, 상기 ARC에 대한 변경이 행해질 때마다 ARC 변경 통신을 상기 복수의 클라이언트로 자동 전송하도록 더 구성되는 미디어 서버.
  8. 제1항에 있어서,
    상기 ARC 내의 1의 비트 값은 해당 비트에 대응하는 상기 표현이 이용 가능하다는 것을 나타내는(signify) 미디어 서버.
  9. 제1항에 있어서,
    상기 하나 이상의 프로세서는, 세그먼트 가용성 코드(SAC)를 미디어 프레젠테이션 설명(MPD) 메타파일과 관련시키도록 더 구성되고, 상기 SAC는 이진 열을 포함할 수 있으며, 각각의 비트는 상기 MPD 메타파일과 관련된 표현 내의 세그먼트의 가용성에 대응하는 미디어 서버.
  10. 제9항에 있어서,
    상기 SAC 내의 1의 비트 값은 해당 비트에 대응하는 상기 세그먼트가 이용 가능하다는 것을 나타내는 미디어 서버.
  11. 제1항에 있어서,
    상기 하나 이상의 프로세서는, 피어 대 피어(P2P) 캐싱 및 스트리밍이 이용 가능한지를 지시하는 P2P 캐싱 가용성 통신을 복수의 클라이언트로 전송하도록 더 구성되는 미디어 서버.
  12. 제11항에 있어서,
    상기 하나 이상의 프로세서는, 피어링 장치(peering device)들 사이의 캐싱 및 스트리밍 스케줄의 관리를 담당하는 P2P 서버의 식별자(identity)를 지시하는 P2P 서버 식별자 통신을 복수의 클라이언트로 전송하도록 더 구성되는 미디어 서버.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020167014895A 2014-01-06 2015-01-06 Dash를 위한 클라이언트/서버 시그널링 명령 KR102002676B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461924194P 2014-01-06 2014-01-06
US61/924,194 2014-01-06
US14/583,036 2014-12-24
US14/583,036 US10476930B2 (en) 2014-01-06 2014-12-24 Client/server signaling commands for dash
PCT/US2015/010353 WO2015103627A1 (en) 2014-01-06 2015-01-06 Client/server signaling commands for dash

Publications (2)

Publication Number Publication Date
KR20160106563A KR20160106563A (ko) 2016-09-12
KR102002676B1 true KR102002676B1 (ko) 2019-07-23

Family

ID=53494148

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167014895A KR102002676B1 (ko) 2014-01-06 2015-01-06 Dash를 위한 클라이언트/서버 시그널링 명령

Country Status (7)

Country Link
US (2) US10476930B2 (ko)
EP (1) EP3092754B1 (ko)
JP (1) JP6316967B2 (ko)
KR (1) KR102002676B1 (ko)
CN (2) CN105794160B (ko)
HK (1) HK1225532A1 (ko)
WO (1) WO2015103627A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022045656A1 (ko) * 2020-08-31 2022-03-03 엘지전자 주식회사 미디어 데이터 처리 방법 및 미디어 데이터 처리 장치

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015137702A1 (en) * 2014-03-10 2015-09-17 Samsung Electronics Co., Ltd. Method and apparatus for transmitting messages to a dash client
US11553018B2 (en) * 2014-04-08 2023-01-10 Comcast Cable Communications, Llc Dynamically switched multicast delivery
CN113037768A (zh) * 2014-09-12 2021-06-25 索尼公司 发送设备、发送方法、接收设备和接收方法
CN112738201A (zh) * 2016-01-28 2021-04-30 联发科技股份有限公司 一种消息交互的方法和提供媒体服务的系统
CN114363667B (zh) * 2016-02-01 2024-01-02 松下电器(美国)知识产权公司 客户端、服务器、接收方法及发送方法
JP2017143475A (ja) * 2016-02-12 2017-08-17 日本放送協会 配信管理装置、受信装置、分散処理システム、及びプログラム
CN108886626B (zh) 2016-03-28 2021-07-16 索尼公司 信息处理装置、信息处理方法以及信息处理系统
US10104143B1 (en) * 2016-06-03 2018-10-16 Amazon Technologies, Inc. Manifest segmentation
US10432690B1 (en) 2016-06-03 2019-10-01 Amazon Technologies, Inc. Manifest partitioning
US10116719B1 (en) 2016-06-03 2018-10-30 Amazon Technologies, Inc. Customized dash manifest
CN106961630B (zh) * 2017-03-24 2019-08-16 西安理工大学 一种基于dash优化的p2p流媒体视频播放方法
WO2018234080A1 (en) * 2017-06-20 2018-12-27 Telefonaktiebolaget Lm Ericsson (Publ) APPARATUSES AND METHODS FOR ADAPTIVE DIRECT UPLINK CONTINUOUS BROADCAST
JP2019092133A (ja) * 2017-11-17 2019-06-13 株式会社東芝 送信装置、受信装置、通信システムおよびプログラム
US11178453B2 (en) * 2018-01-29 2021-11-16 Qualcomm Incorporated Signaling and reporting interactivity usage in streaming services
KR102017422B1 (ko) * 2018-05-08 2019-10-14 인하대학교 산학협력단 핫 앤 콜드 데이터 분류에 기반한 사용자 인지 품질을 고려한 비디오 스토리지 전력관리 방법 및 시스템
US11025880B2 (en) 2018-11-05 2021-06-01 Korea Electronics Technology Institute ROI-based VR content streaming server and method
KR102027172B1 (ko) * 2018-11-05 2019-10-01 전자부품연구원 Roi 기반의 vr 콘텐츠 스트리밍 서버 및 방법
US10958705B2 (en) * 2019-02-27 2021-03-23 Citrix Systems, Inc. Client computing device providing end-to-end quality of service (QoS) control for software as a service (SaaS) sessions and related methods
US11425187B2 (en) * 2019-09-30 2022-08-23 Tencent America Llc. Session-based information for dynamic adaptive streaming over HTTP
KR102289670B1 (ko) * 2020-04-07 2021-08-13 인하대학교 산학협력단 이기종 프로세서를 사용한 트랜스코딩 서버의 비디오 품질 최대화를 위한 태스크 할당 및 스케쥴링 기법
US11451602B2 (en) * 2021-01-06 2022-09-20 Tencent America LLC Methods and apparatuses for dynamic adaptive streaming over HTTP
US20230336603A1 (en) * 2022-04-19 2023-10-19 Tencent America LLC Processing model for dash client processing model to support handling of dash event updates

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100299552A1 (en) * 2009-05-19 2010-11-25 John Schlack Methods, apparatus and computer readable medium for managed adaptive bit rate for bandwidth reclamation
US20110167169A1 (en) * 2003-03-03 2011-07-07 Realnetworks, Inc. System and method for uninterrupted streaming
US20120203867A1 (en) * 2011-02-07 2012-08-09 Research In Motion Limited Method and apparatus for receiving presentation metadata

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6286045B1 (en) 1997-05-19 2001-09-04 Matchlogic, Inc. Information storage and delivery over a computer network using centralized intelligence to monitor and control the information being delivered
US6567821B1 (en) * 1998-05-15 2003-05-20 Acs State & Local Solutions, Inc. Method and apparatus for electronic collection, translation, grouping and delivery of wage assignment information
JP2006203505A (ja) 2005-01-20 2006-08-03 Yamaha Corp コンテンツ配信システム、サーバ、ユーザ端末およびプログラム
US9386064B2 (en) * 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US20080256255A1 (en) 2007-04-11 2008-10-16 Metro Enterprises, Inc. Process for streaming media data in a peer-to-peer network
US8223788B1 (en) * 2007-10-24 2012-07-17 Ethernity Networks Ltd Method and system for queuing descriptors
US8539532B2 (en) * 2007-11-23 2013-09-17 International Business Machines Corporation Retransmission manager and method of managing retransmission
US9917874B2 (en) * 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
DK2526671T3 (en) * 2010-01-18 2017-02-27 ERICSSON TELEFON AB L M (publ) METHODS AND DEVICES FOR HTTP MEDIA FLOW DISTRIBUTION
EP2583432B1 (en) * 2010-06-18 2019-02-20 Nokia Technologies Oy Method and apparatus for generating and handling streaming media quality-of-experience metrics
US9456015B2 (en) * 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
US8595319B2 (en) * 2010-10-13 2013-11-26 Verizon Patent And Licensing Inc. Home network video peer-to-peer for mobile devices
US20120117184A1 (en) * 2010-11-08 2012-05-10 Aixin Liu Accessing Android Media Resources from Sony Dash
EP2472866A1 (en) * 2011-01-04 2012-07-04 Alcatel Lucent Method for providing an HTTP adaptive streaming service
WO2012109520A1 (en) * 2011-02-11 2012-08-16 Interdigital Patent Holdings, Inc. Method and apparatus for distribution and reception of content
WO2012134530A1 (en) 2011-04-01 2012-10-04 Intel Corporation Cross-layer optimized adaptive http streaming
US9462024B2 (en) 2011-06-08 2016-10-04 Futurewei Technologies, Inc. System and method of media content streaming with a multiplexed representation
KR101829064B1 (ko) * 2011-06-16 2018-02-13 삼성전자주식회사 Dash 규격의 미디어 데이터와 mmt 전송 시스템과의 연동 방법 및 그 장치
CN103959798B (zh) 2011-09-30 2018-06-08 英特尔公司 无线网络上的体验质量增强
US9479562B2 (en) * 2011-12-16 2016-10-25 Netflix, Inc. Measuring user quality of experience for a streaming media service
US9660922B2 (en) * 2012-03-23 2017-05-23 Cisco Technology, Inc. Network assisted rate shifting for adaptive bit rate streaming
US9438883B2 (en) 2012-04-09 2016-09-06 Intel Corporation Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content
US9712887B2 (en) * 2012-04-12 2017-07-18 Arris Canada, Inc. Methods and systems for real-time transmuxing of streaming media content
CN103384236A (zh) * 2012-05-04 2013-11-06 华为技术有限公司 获取流媒体数据的方法、装置及系统
EP2696552A1 (en) * 2012-08-07 2014-02-12 NTT DoCoMo, Inc. Method, system and network for transmitting multimedia data to a plurality of clients
WO2014106692A1 (en) * 2013-01-07 2014-07-10 Nokia Corporation Method and apparatus for video coding and decoding
KR101693584B1 (ko) * 2013-01-18 2017-01-06 후아웨이 테크놀러지 컴퍼니 리미티드 미디어 콘텐츠에 대해 적응 스트리밍을 수행하는 방법 및 장치
US9178631B2 (en) * 2013-04-19 2015-11-03 Spacebar, Inc. Asynchronously streaming high quality audio of a live event from a handheld device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110167169A1 (en) * 2003-03-03 2011-07-07 Realnetworks, Inc. System and method for uninterrupted streaming
US20100299552A1 (en) * 2009-05-19 2010-11-25 John Schlack Methods, apparatus and computer readable medium for managed adaptive bit rate for bandwidth reclamation
US20120203867A1 (en) * 2011-02-07 2012-08-09 Research In Motion Limited Method and apparatus for receiving presentation metadata

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022045656A1 (ko) * 2020-08-31 2022-03-03 엘지전자 주식회사 미디어 데이터 처리 방법 및 미디어 데이터 처리 장치

Also Published As

Publication number Publication date
CN105794160A (zh) 2016-07-20
KR20160106563A (ko) 2016-09-12
EP3092754B1 (en) 2022-04-20
JP2017505024A (ja) 2017-02-09
WO2015103627A1 (en) 2015-07-09
CN110417752A (zh) 2019-11-05
US11038944B2 (en) 2021-06-15
JP6316967B2 (ja) 2018-04-25
US20150195328A1 (en) 2015-07-09
CN105794160B (zh) 2019-08-20
CN110417752B (zh) 2022-12-06
EP3092754A4 (en) 2017-11-15
EP3092754A1 (en) 2016-11-16
US20200137137A1 (en) 2020-04-30
US10476930B2 (en) 2019-11-12
HK1225532A1 (zh) 2017-09-08

Similar Documents

Publication Publication Date Title
US11038944B2 (en) Client/server signaling commands for dash
US10455404B2 (en) Quality of experience aware multimedia adaptive streaming
CN106576182B (zh) 支持超文本传输协议上的动态自适应流的设备和方法
KR101900168B1 (ko) 적응적 미디어 스트리밍
KR20170101193A (ko) 미디어 콘텐츠 스트리밍
KR20170101192A (ko) 링크 인식 스트리밍 적응

Legal Events

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