KR20120117829A - 에이치티티피 미디어 스트림 분배를 위한 방법과 배열 - Google Patents

에이치티티피 미디어 스트림 분배를 위한 방법과 배열 Download PDF

Info

Publication number
KR20120117829A
KR20120117829A KR1020127018847A KR20127018847A KR20120117829A KR 20120117829 A KR20120117829 A KR 20120117829A KR 1020127018847 A KR1020127018847 A KR 1020127018847A KR 20127018847 A KR20127018847 A KR 20127018847A KR 20120117829 A KR20120117829 A KR 20120117829A
Authority
KR
South Korea
Prior art keywords
representation
media
client
presentation description
periodic element
Prior art date
Application number
KR1020127018847A
Other languages
English (en)
Other versions
KR101636108B1 (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 KR20120117829A publication Critical patent/KR20120117829A/ko
Application granted granted Critical
Publication of KR101636108B1 publication Critical patent/KR101636108B1/ko

Links

Images

Classifications

    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/756Media network packet handling adapting media to device 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 

Abstract

HTTP 미디어 스트림에 클라이언트가 액세스할 수 있도록 만들기 위해 통신망의 서버에 의해 수행되는 방법이 제공되는 바, 미디어 프리젠테이션 설명(MPD)에 미디어 재생 시각표에 따라 순차적으로 배열되는 적어도 하나의 주기 요소가 제공되도록; 각 주기요소에 적어도 하나의 레프리젠테이션이 제공되도록; 그리고 적어도 하나의 주기 요소 중 적어도 하나에 적어도 두 개의 대안적 레프리젠테이션들이 제공되도록 미디어 프리젠테이션 설명(MPD)가 생성되고, 각 레프리젠테이션에는 적어도 하나의 미디어 세그먼트 URI가 제공되고, 각 미디어 세그먼트 URI는 HTTP 미디어 스트림의 적어도 하나의 미디어 세그먼트를 참조한다. 생성된 MPD는 클라이언트가 레프리젠테이션을 선택할 수 있도록 하고 또한 선택된 레프리젠테이션을 기반으로 참조된 미디어 세그먼트들을 취득할 수 있도록 한다.

Description

에이치티티피 미디어 스트림 분배를 위한 방법과 배열{METHODS AND ARRANGEMENTS FOR HTTP MEDIA STREAM DISTRIBUTION}
본 발명은 클라이언트에게 액세스 가능한 HTTP 미디어 스트림을 만들기 위한 방법과, HTTP 미디어 스트림을 취득하기 위한 방법과, 그리고 상기 방법들 각각을 수행하기 위한 서버와 클라이언트에 관한 것이다.
HTTP 스트리밍은 예컨대 서버 또는 클라이언트에 대한 중간망으로부터, 엔티티들 간에 라이브 또는 온-디맨드(on-demand) 콘텐츠의 파일 기반 스트리밍(file based streaming)의 방법이다. HTTP 스트리밍은 업로드하게 될 콘텐츠를 요청하는 HTTP 스트리밍 인에블드 클라이언트(HTTP streaming enabled client)는 먼저 작은 파일들 또는 파일들의 세그먼트들의 리스트를 취득하는데, 서버 또는 다른 망노드로부터 페칭(fetching)함으로써 상기 파일들은 함께 필요한 콘텐츠에 대한 스트림, 또는 콘텐츠의 설명을 구성한다. 본 문장들에서, 본 출원인은 플레이리스트(Playlist) 및 매니페스트(Manifest)에 대해 용어 MPD를 동의어로 사용한다. 플레이리스트는 M3U8 포맷으로 기술되거나 또는 XML 포맷에 제공되는 리스트로서 기술된다.
매 시점마다, 다수의 작은 파일들, 또는 파일들의 세그먼트들이 있는데, 이들은 이후부터 클라이언트에 의해 선택될 수 있는 미디어 세그먼트들로 부른다. HTTP 스트리밍은 템플리트 기반(template based) 또는 플레이리스트 기반일 수 있다. 템플리트 기반 HTTP 스트리밍에서, 요청된 URL들은 다음과 같은 유형들일 수 있는 템플리트를 사용하여 MPD 내에 기술된다:
www.server.com/streamfile/$Rep$/$Index$/
여기서, $Rep$는 요청된 레프리젠테이션(representation)으로 eoc되고 그리고 $Index$는, 미디어 세그먼트가 요청되는 시간을 결정하는데 사용하는 순차번호(sequence number)로 대체된다.
플레이트리스 기반 HTTP 스트리밍에서, 각 미디어 세그먼트와 각 시간은, 예컨대 다음과 같은 그 자신의 URL을 가진다:
비디오 시간 0
-> 비디오 시간 0과 관련된 URL들
비디오 시간 1
-> 비디오 시간 1과 관련된 URL들
-> 비디오 시간 2
비디오 시간 2와 관련된 URL들
그러나 공지된 MPD 구조는 매우 엄격하여, 상이한 콘텐츠 소오스들로부터 액세스 가능한 콘텐츠가 되거나 및/또는 시간에 걸쳐 상이한 특성들을 가질 수 있는 콘텐츠가 될 때 매우 작은 양의 유연성이 허용된다.
본 발명의 목적은 상기에서 언급한 문제점들 중 적어도 일부를 처리하는 것이다. 특히, 본 발명의 목적은 MPD의 새로운 구조와, 이러한 MPD를 제공하기 위한 방법과, HTTP 미디어 스트림의 다운로딩이 보다 탄력적인 방식으로 수행될 수 있도록 MPD를 취득하고 또한 프로세싱하는 방법을 제공하는 것이고, 또한 미디어 스트림 다운로딩을 요청하는 클라이언트에게 대안들을 제공하는 방법도 포함한다.
제1특징에 따라, 클라이언트에게 액세스 가능한 HTTP 미디어 스트림을 만들기 위해 통신망의 서버에 의해 수행되게 되는 방법이 제공된다. 상기 방법을 적용하면, 적어도 하나의 주기 요소(period element)가 제공되어, 미디어 재생 시간표(media play timeline)에 따라 순차적으로 배열되고; 각 주기 요소에 적어도 하나의 레프리젠테이션이 제공되고 또한 적어도 하나의 주기 요소중 적어도 하나에 적어두 두 개의 대안적인 레프리젠테이션들이 제공되도록 MPD가 생성되고, 각 레프리젠테이션에는 적어도 하나의 미디어 세그먼트 URI의 정리된 시퀀스가 제공되고, 각 미디어 세그먼트 URI는 HTTP 미디어 스트림의 적어도 하나의 미디어 세그먼트를 참조한다.
그런 다음, 클라이언트가 취득할 수 있고; 적어도 하나의 주기 요소 동안, MPD의 콘텐츠를 기반으로 레프리젠테이션을 선택할 수 있고, 그리고 선택된 각 레프리젠테이션에 대해, 각 참조된 미디어 세그먼트들을 취득하도록 MPD가 제공된다.
제안된 MPD 배열은 대안적 미디어 세그먼트들을 참조하는 것을 단순화하고, 특히 상이한 소오스들로부터 기원되는 미디어 세그먼트들을 참조하는 것을 단순화한다.
생성단계는, 적어도 하나의 레프리젠테이션으로서 제공되고 또한 템플리트 포맷으로 기술되도록, 적어도 하나의 미디어 세그먼트 URI의 정리된 시퀀스들 중 적어도 하나를 배열하는 단계를 포함한다.
대안적으로 또는 하나 이상의 레프리젠테이션들을 템플리트 포맷으로 제공하는 것과 조합하여, 생성단계는, 적어도 두 개의 미디어 세그먼트 URI들의 정리된 시퀀스를 제공하고 또한 플레이리스트 포맷으로 기술되도록, 레프리젠테이션들 중 적어도 하나를 배열하는 단계를 포함한다.
또한, 동일 주기 요소와 관련되는 각 레프리젠테이션에는, 제1레프리젠테이션 속성(attribute)이라 부르고, 레프리젠테이션 내에서 참조되는 미디어 세그먼트들을 나타내는 셋팅(setting)을 가지는 제1속성이 제공될 수 있어서, 클라이언트는 각 셋팅을 기반으로 각 주기 요소의 레프리젠테이션을 선택할 수 있게 된다.
주기 요소에는 제2속성, 또는 레프리젠테이션 속성이 제공될 수 있는데, 제2레프리젠테이션 속성의 셋팅은, 각 주기 요소와 관련된 모든 미디어 세그먼트들에 대해 공통이 되고, 또한 이 주기 요소와 관련된 모든 레프리젠테이션들을 나타내도록 선택된다.
만일 보다 계층적인 구조가 필요하면, 제2레프리젠테이션 속성이 레프리젠테이션 레벨에서 기술되도록 제2레프리젠테이션 속성 각각이 각 주기 요소의 각 레프리젠테이션에 제공될 수 있거나, 또는 제2레프리젠테이션 속성이 주기 요소 레벨에서 기술되도록 각 주기 요소에 제공될 수 있다.
대안적으로, 생성단계 동안에 MPD의 적어도 하나의 주기 요소에 적어도 두 개의 대안적 주기 구성들이 제공되도록 계층적 구조가 더 발전될 수 있는데, 여기서 각 주기 구성에는 적어도 두 개의 레프리젠테이션들과, 제2레프리젠테이션 속성이 제공되고, 그리고 클라이언트가 상기 레프리젠테이션 속성들 중 하나 이상을 기반으로 주기 요소의 레프리젠테이션을 선택할 수 있게 되는 방식으로, 각 주기 구성을 나타내도록 제2레프리젠테이션 속성의 셋팅이 선택된다.
MPD에 적용되는 레프리젠테이션 속성들은 예컨대, 코덱(codec), 비트율, 해상도 또는 언어를 규정할 수 있어서, 사용자 장치 용량, 사용자 선호도 또는 환경적 조건, 또는 이들의 조합에 의존할 수 있는 하나 이상의 선택 가능한 대안들을 서비스 제공자가 제공할 수 있도록 한다.
보다 탄력적인 MPD를 제공하는 것 이외에도, MPD는 또한 적어도 하나의 레프리젠테이션을 부가함으로써, 적어도 하나의 레프리젠테이션을 제거함으로써, 또는 MPD의 적어도 하나의 레프리젠테이션에서의 수정을 통해 갱신될 수 있다.
한 실시예에 따라, MPD의 갱신이 폴링(polling)을 기반으로 하는 곳에서, MPD를 요청한 클라이언트가 표시(indication)에 의해 결정되는 간격에서 MPD의 갱신들에 대해 폴할 수 있게 되도록 MPD에 폴 간격의 표시가 제공될 수 있는 한편, 다른 대안에 따라, 갱신된 MPD들이 대신에 클라이언트로 푸시될(pushed) 수 있다.
클라이언트가 가장 최근의 가용 미디어 세그먼트를 결정할 수 있도록 하기 위하여, MP에는 또한 서버 시각표(serveer time line) 또는 벽 시간(wall clock time)과 같은 기준으로 HTTP 전송 스트림의 미디어 재생 시각표의 맵핑의 설명이 제공될 수 있다.
동일 주기 요소의 상이한 레프리젠테이션들의 미디어 세그먼트들은 바람직하게, 이들이 주기 요소의 시작에서 시간 정렬되도록 배열된다.
다른 특징에 따라, 통신망의 적어도 하나의 망노드로부터 HTTP 미디어 스트림을 획득하기 위해 통신망의 클라이언트에 의해 수행되는 방법이 제공된다. 이 방법에 따라, 클라이언트는 적어도 하나의 주기 요소를 포함하고, 망노드들의 미디어 재생 시각표에 따라 순차적으로 배열되는 MPD를 취득하는데, 상기 각 주기 요소는 적어도 하나의 레프리젠테이션을 포함하고 또한 상기 적어도 하나의 주기 요소 중 적어도 하나는 적어도 두 개의 대안적 레프리젠테이션을 포함하고, 각 레프리젠테이션은 적어도 하나의 미디어 세그먼트 URI의 정리된 시퀀스를 포함하고, 각 미디어 세그먼트 URI는 HTTP 미디어 스트림의 적어도 하나의 미디어 세그먼트를 참조한다. MPD를 소유하기만 하면, 클라이언트는 MPD의 콘텐츠를 기반으로, 주기 요소들 중 적어도 하나에 대한 레프리젠테이션을 선택할 수 있고, 그리고 선택된 각 레프리젠테이션에 대해 참조된 미디어 세그먼트들을 취득할 수 있다.
각각의 레프리젠테이션은 각각의 주기 요소의 하나 이상의 레프리젠테이션 속성들을 기반으로 선택될 수 있고, 각 레프리젠테이션은 각각의 레프리젠테이션 또는 주기 요소를 나타내는 각각의 셋팅을 가진다.
환경 변화들에서 레프리젠테이션의 선택을 기반으로 할 수 있도록 하기 위하여, 상기 적어도 하나의 망노드에서 클라이언트로 HTTP 미디어 스트림을 송신하는데 이용할 수 있는 비트율을 추정할 수 있고, 그리고 클라이언트는 적어도 하나의 비트율 종속 레프리젠테이션 속성을 고려함으로써, 상기 추정을 기반으로 적어도 하나의 주기 요소의 레프리젠테이션을 선택할 수 있다.
또 다른 특징에 따라, 클라이언트에게 액세스 가능한 HTTP 미디어 스트림을 만들 수 있는 서버가 제공되는데, 서버는 상기에서 기술한 것과 같이 구성되는 MPD를 생성하도록 구성되는 생성유닛과, 클라이언트가 MPD를 취득할 수 있도록 MPD를 클라이언트에게 액세스 가능하게 만들도록 구성되고; MPD의 콘텐츠를 기반으로 적어도 한 주기 요소에 대한 레프리젠테이션을 선택하도록 구성되고, 그리고 선택된 각 레프리젠테이션에 대한 각각의 참조된 미디어 세그먼트들을 최득하도록 구성되는 제공유닛을 포함한다.
생성유닛은 템플리트 포맷, 플레이리스트 포맷, 또는 이들의 조합으로 기술되는 적어도 하나의 레프리젠테이션을 MPD에 제공하도록 구성될 수 있다.
이외에도, 생성유닛은 각 미디어 세그먼트 URI에 대해, 각각의 참조한 하나 이상의 미디어 세그먼트들의 지속 기간(duation)의 표시를 MPD에 제공하도록 구성될 수 있다.
생성유닛은 또한, 레프리젠테이션 속성을 기반으로 클라이언트들이 레프리젠테이션들을 선택할 수 있도록, 동일 주기 요소와 관련된 각 레프리젠테이션에 레프리젠테이션 속성과 각각의 레프리젠테이션 속성 셋팅을 제공하도록 구성될 수 있다.
생성유닛은, 각각의 레프리젠테이션 속성이 주기 레벨에 제공되는 경우에, 각각의 주기 요소의 모든 레프리젠테이션들에 대해서는 유효한 한편, 레프리젠테이션 레벨에 제공되는 경우에, 각각의 주기 요소의 각각의 레프리젠테이션에 대해서만 유효하게 되도록, 적어도 두 개의 상이한 범주(categories)들의 레프리젠테이션 속성ㄷㄹ을 제공하고, 또한 계층적 방식으로 레프리젠테이션 속성들을 제공하도록 구성될 수 있다.
생성유닛은, 적어도 하나의 레프리젠테이션을 부가함으로써, 적어도 하나의 레프리젠테이션을 제거함으로써, 또는 미디어 프리젠테이션 설명(Media Presentation Description)의 적어도 하나의 레프리젠테이션을 수정함으로써 MPD를 갱신하도록 구성될 수 있다.
본 발명의 다른 특징에 따라, 통신망의 적어도 하나의 망노드로부터 HTTP 미디어 스트림을 취득할 수 있는, 통신망의 클라이언트가 제공된다. 클라이언트는 상기 적어도 하나의 망노드 중 하나로부터, 상기에서 나타낸 것과 같이 배열되는 MPD를 취득하도록 구성되는 요청유닛(requesting unit)과, MPD 콘텐츠를 기반으로, 각각의 레프리젠테이션을 선택하도록 구성되는 선택유닛을 포함한다.
선택유닛은 전형적으로, 레프리젠테이션의 적어도 하나의 레프리젠테이션 속성을 기반으로 각각의 레프리젠테이션을 선택하도록 구성된다.
또한, 적어도 하나의 비트율 종속 레프리젠테이션 속성을 고려함으로써, 선택유닛이 추정을 기반으로 하여 적어도 하나의 주기 요소의 레프리젠테이션을 선택할 수 있게 되도록, 적어도 하나의 망노드에서 클라이언트로 HTTP 미디어 스트림을 송신하는데 이용할 수 있는 비트율을 추정하도록 구성되는 추정유닛(estimation unit)이 클라이언트에 제공될 수 있다.
본 발명에 따라 MPD의 새로운 구조와, 이러한 MPD를 제공하기 위한 방법과, HTTP 미디어 스트림의 다운로딩이 보다 탄력적인 방식으로 수행될 수 있도록 MPD를 취득하고 또한 프로세싱하는 방법이 제공된다.
도 1은 HTTP 미디어 스트림 분배를 위해 적합한 통신망의 간략화된 개요를 설명하는 도면.
도 2는 망노드에서 MPD를 생성하고 또한 제공하기 위한 방법을 설명하는 흐름도.
도 3은 도 2의 생성 프로세스를 더 상세히 설명하는 다른 흐름도.
도 4는 망노드로부터 MPD를 취득하기 위한 방법을 설명하는 또 다른 흐름도.
도 5는 한 실시예에 따라 배열되는 MPD를 설명하는 도면.
도 6은 다른 실시예에 따라 배열되는 MPD를 설명하는 도면.
도 7은 또 다른 실시예에 따라 배열되는 MPD를 설명하는 도면.
도 8a 및 8b는 제1MPD와 제1MPD의 갱신된 버전을 각각 설명하는 도면.
도 9는 한 실시예에 따라 MPD를 제공하도록 구성되는 서버의 간략화된 블록도.
도 10은 한 실시예에 따라 MPD를 취득하고 또한 프로세스하도록 구성되는 클라이언트의 간략화된 블록도.
도 11은 다른 실시예에 따른 서버 구성을 간략히 설명하는 도면.
도 12는 다른 실시예에 따른 클라이언트 구성을 간략히 설명하는 도면.
본 발명의 특징들뿐만 아니라, 목적들, 장점들 및 효과들은 다음의 첨부도면들과 함께 본 발명의 예시적 실시예들의 상세한 설명들로부터 쉽게 이해하게 될 것이다.
본 발명은 도면들을 참조하여 아래에서 기술되는 바와 같은 방법과 배열들의 다양한 대안적 실시예들을 커버하는 한편, 특정 설명과 도면들은 본 발명의 범위를 기재한 특정 형태로 한정하고자 하는 것은 아니라는 것을 이해해야 한다. 반대로, 청구한 본 발명의 범위는, 첨부 청구항에서 표현한 것과 같은 본 발명의 사상과 범위 내에 들어가는 모든 수정안들과 대안적 구성들을 포함하는 것으로 볼 수 있다.
본 발명은 HTTP 스트리밍과 관련하여 사용하기에 적합한 새로운, 보다 탄력성이 있는 MPD 구조에 관한 것이다. 도 1은 MPD들의 분배를 포함해 서버들과 클라이언트들 간에 적응성 HTTP 스트리밍이 가능하게 하기에 적합한 간략화된 시스템구조를 도시하고 있다. 도 1은 HTTP 스트리밍 클라이언트들이라고 부를 수 있는 두 개의 클라이언트(100a. 100b)를 포함하는데, 클라이언트 각각은, 미디어 프리젠테이션을 기술하고 또한 미디어 세그먼트들의 형태로 미디어 프리젠테이션을 관련시키는 관련 메타데이터(metadata)를 다운로딩함으로써, 전형적으로 미디어 프리젠테이션이라고 불리는, 구조화된 데이터 세트를 얻기 위해 사용자에게 각각의 스트리밍 서비스를 개시할 수 있다. 메타데이터와 관련 미디어 프리젠테이션의 다운로딩은, HTTP 스트리밍 서버로서 부를 수 있는 서버(100)로부터 직접, 또는 여기서 캐시(102a)와 캐시(102b)로 나타내는 중간 망노드로부터 직접 실행될 수 있고, 이들은 미디어 세그먼트들과 이의 관련 메타데이터의 사본을 유지할 수 있다. 기술한 실시예에서, 캐시(102a, 102b) 각각은 각각의 HTTP 프록시(103a, 103b)에 연결된다.
상기에서 언급한 메타데이터는 전형적으로 MPD, 매니페스트, 또는 리스트로 부른다. 본 명세서에서, 이러한 리스트는, 전형적이지만 XML 구조화 문서로서 반드시 제공될 필요가 없는 플레이리스트로 부른다.
아래에서, HTTP 스트리밍을 위해 적용할 수 있는 보다 탄력적인 MPD 구조를 기술한다. 제안한 MPD를 적용함으로써, 특히 요청한 미디어 프리젠테이션이 시간에 걸쳐 상이한 특징을 가질 때, 클라이언트는 단순하고 또한 보다 탄력적인 방식으로 미디어 콘텐츠의 업로딩을 요청할 수 있게 된다. 특히, 여기서 대안적 레프리젠테이션(alternative representation)이라고 부르는, 대안적 옵션들을 기술을 메타데이터를 클라이언트에게로 반송할 수 있는 탄력적인 MPD 구조가 제안된다. 대안적 레프리젠테이션들은 템플리트 및/또는 플레이리스트 형 구조로서 제공될 수 있는데, 이는 원래 해결책들에 대해 최소의 변경을 필요로 하게 된다.
제안된 새로운 MPD 구조는 특히, 상기에서 기술한 것과 같은, HTTP 캐싱 계층구조를 통한 전달을 위해 연속적인 미디어 흐름이 미디어 세그먼트들로 세분되는, 적응성 HTTP 스트리밍 시나리오에 적용 가능하다.
망의 서버 측에서, 서버는 미디어 소오스(104)로부터 제공되는 연속적인 바이트(byte) 스트림으로 연속적인 세그먼트 또는 파일 스트림을 생성하고, 여기서 새로운 미디어 세그먼트들이 지속적으로 서버(101)로 갱신될 수 있다. 요청하는 클라이언트들에게 탄력적인 MPD를 제공하는 것 이외에도, 서버(101)는 또한, MPD로부터 URI들을 수정하거나 또는 제거함으로써, 또는 MPD에 새로운 URI들을 부가함으로써, 새로운 미디어 세그먼트들에 대한 새로운 URI들로 MPD를 갱신할 수 있다. 본 발명에 따라서, 이러한 MPD 갱신 절차는 미디어 프리젠테이션의 진행중인 업로딩 절차 동안에 수행될 수 있다.
제안된 MPD 구조는, 미디어 프리젠테이션이 하나 이상의 주기들이 시퀀스로 기술되고, 각 주기에는 주기의 설명(description), 또는 미디어 재생 시간의 시간 범위(time range) 또는 간격이 제공되는, 주기 규정(period definition)으로 구성된다. MPD의 일부를 형성하는, 이러한 설명은 주기 요소로 부를 수 있다. MPD는 또한, 레프리젠테이션은, 관련 미디어 콘텐츠의 디코딩과 프리젠테이션을 위한 미디어 데이터 및/또는 메타데이터를 포함하는, 하나 이상의 미디어 세그먼트들의 정리된 리스트를 기술하도록 각 레프리젠테이션이 제공되는, 레프리젠테이션들로 이루어지는 구성으로서 기술할 수 있다. 동일 주기 요소와 관련되는 상이한 레프리젠테이션들은 미디어 콘텐츠의 상이한 대안들을 나타내고, 여기서 각 레프리젠테이션은 적어도 하나의 레프리젠테이션 속성에 의해 구별된다.
공통 셋팅에 설정된 특정 레프리젠테이션 속성에 의해 식별가능한 연속적인 주기 요소들의 관련 레프리젠테이션들은 함께 특정 트랙 또는 채널을 형성하게 된다. 주기 요소에, 각각이 하나 이상의 레프리젠테이션 속성에 의해 식별되는 두 개 이상의 대안 레프리젠테이션들을 제공함으로써, 각 주기 요소 동안, 하나 이상의 레프리젠테이션 속성의 각각의 셋팅들을 기반으로, MPD를 취득한 클라이언트는, 각 주기 요소 동안, 가장 적절한 미디어 세그먼트들이 취득될 수 있도록, 각각의 소오스로부터 페칭함으로써 대안 레프리젠테이션들 중 하나를 선택할 수 있게 된다. 상세히 설명하면, 클라이언트는 언제든지 한 채널 또는 트랙에서 다른 것으로 스위치하는 것을 선택할 수 있고, 그런 다음 예컨대, 환경적 변화 또는 사용자 선호와 같은 상황의 변화가 더 선호적이거나 또는 바람직한 대안을 만들기 전까지 선택딘 트랙에 머물게 된다.
클라이언트가 액세스 가능한 각 미디어 세그먼트는 MPD에 포함된 미디어 세그먼트 URI에 의해 고유하게 참조되고, 각 미디어 세그먼트 URI는 템플리트를 통해 함축적으로(implicitly) 생성되었거나, 또는 예컨대 플레이리스트와 같은 리스트로서 명시적으로(explicitly) 생성되었을 수 있다.
도 2는 MPD를 제공하기 위해 서버에 의해 수행될 수 있는 방법을 설명하는, 간략화된 흐름도이다. 제1단계(200)에서, MPD 내에 기술되게 되는 미디어 프리젠테이션의 각 주기 동안 요청된 대안들이 제공되도록, 상기에서 논의한 원리들을 따르는 템플리트 처리방법(template approach), 플레이리스트 처리방법(playlist approach) 또는 이들의 조합을 적용함으로써 MPD가 생성되고, 그리고 후속단계(210)에서, 전형적으로 서버에 배열되거나 또는 서버에 작동적으로 연결되는 저장수단에 MPD를 저장함으로써, 또는 클라이언트가 MPD를 요청할 수 있는, 캐시와 같은 중간노드에 MPD를 전송함으로써 클라이언트들이 액세스할 수 있도록, 생성된 MPD는 서버에 의해 제공된다. 후자의 단계는 도 2에 나타낸 바와 같이, MPD를 제공하는 단계로서 부를 수 있다.
서버를 통해 미디어 콘텐츠를 분배하는 콘텐츠 제공자는 분배된 미디어 콘텐츠와 관련된 MPD가, 특히 라이브 세션 동안에 갱신 가능하게 될 것을 요청할 수 있다. 이에 따라, 부가적인 레프리젠테이션들이 이용가능하게 될 수 있게 되거나, 또는 이미 이용가능한 레프리젠테이션들이 제거되거나 또는 수정될 수 있다. 콘텐츠 제공자는, 예컨대 라이브 세션 동안에 높은 품질의 레프리젠테이션을 공급하도록 결정할 수 있거나, 또는 MPD를 통해 표시되는 미디어 스트림에 광고 삽입의 유연성을 증가시키도록 결정할 수 있다.
다른 단계(220)에 표시된 바와 같이, 단계(200)에서 제1MPD의 생성에 후속하여 언제든지 주기 요소의 추가, 삭제 또는 수정을 통해 갱신될 수 있다. 단계(220)에서, 소정의 MPD 갱신이 필요하다고 결정되는 경우에, 갱신된 MPD가 후속 단계(230)에서 생성되고 그리고, 클라이언트들이 액세스할 수 있도록 갱신된 MPD가 단계(210)에서 서버에 의해 제공된다. 후자의 경우, 단계(210)는 예컨대 하나 이상의 클라이언트들로 갱신된 MPD를 푸싱하는(pushing) 것을 포함할 수 있다. 그러나, MPD 내에 기술된 미디어 재생시간의 시작에서, 또는 MPD의 종료에서의 주기들만이 부가되거나, 삭제되거나 또는 수정될 수 있다.
도 2의 생성단계(200 및 230)들을, 한 실시예에 따라 도 3을 참조하여 보다 상세하게 설명한다. 제1단계(300)에 표시된 바와 같이, 미디어 프리젠테이션의 제1주기 요소로 시작하면, 후속 단계(310)에 표시된 바와 같이, 제1레프리젠테이션이 제1주기 요소 동안에 제공되거나 또는 보다 특별히, 제1레프리젠테이션을 기술하는 명령이 제공된다. 후자 단계는, 레프리젠테이션을 나타내는 셋팅을 가지는 레프리젠테이션 속성을 레프리젠테이션에 제공하는 단계를 포함하고, 그리고 모든 요청된 레프리젠테이션 속성들이 레프리젠테이션에 대해 설정될 때까지 반복된다. 후자 단계는 또한, 적절한 미디어 세그먼트 URI들을 각 레프리젠테이션에 제공하는 단계를 포함한다. 상기에서 나타낸 바와 같이, MPD를 생성할 때, 어느 대안적 레프리젠테이션들과, 또한 선택적으로 대안적 주기 구성들을 적용할지는 다양한 환경에 의존한다. 레프리젠테이션 속성은, 예컨대 대안적 언어들, 비트율, 코덱들, 해상도, 또는 클라이언트들이 선택가능할 수 있는 다른 표준들을 규정하도록 설정될 수 있다.
다음 단계(320)에서, 적절한 주기 요소 동안에 다른 레프리젠테이션이 MPD에 제공되게 되는지, 또는 제공된 레프리젠테이션이 주기 요소에 대해 가장 최신의 레프리젠테이션이었는지를 결정한다. 전자의 경우에, 단계(330)과 이에 후행하는 단계(310)으로 나타낸 바와 같이, 주기 요소에 다른 레프리젠테이션을 제공함으로써 프로세스가 계속되는 한편, 후자의 경우에, 후속 단계(340)에서, 구성(construction) 하의 주기 요소가 다른 주기 구성(period construction), 즉 단계(330)에서 생성된 세트 이외에, 추가적으로 선택가능한 대안들로서 MPD에 제공되게 되는, 하나 이상의 다른 세트의 레프리젠테이션들을 포함하는지가 결정된다. 만일 다른 주기 구성이 구성 하의 주기 요소에 대해 적절하다면, 새로운 주기 구성이 단계(350)에서 시작하고, 그리고 단계(330 및 310)에서, 적절한 레프리젠테이션과 레프리젠테이션 속성들이 선택되고 또한 생성된다.
MPD 갱신의 경우에, 단계(310)는 또한 이러한 MPD 갱신들과 관련된 명령들을 제공하는 단계를 포함할 수 있다. 전형적으로, 이러한 정보는 주기 레벨(period level)에서 제공된다. 이외에도, 서버 시각표 또는 벽 시간들 중 소정의 하나, 또는 소정의 다른 시간 기준으로 MPD에 의해 기술되는 HTTP 전송스트림의 미디어 재생 시각표의 맵핑의 설명이 또한 단계(310)에서 MPD에 제공될 수 있다. 단계(310)에서 레프리젠테이션을 제공할 때, 각각의 레프리젠테이션의 미디어 세그먼트들은 전형적으로, 이들이 각각의 주기 요소의 시작과 정렬되도록 제공된다.
상이한 주기 구성들의 경우에, 두 개의 주기 구성들을 서로 구분하도록 적어도 하나의 레프리젠테이션 속성이 설정되는 한편, 주기 구성의 한 레프리젠테이션을 적어도 하나의 다른 레프리젠테이션가 구분하도록 적어도 하나의 다른 레프리젠테이션 속성이 제공된다. 만일 상이한 계층적 레벨들이 적용된다면, 레프리젠테이션 속성 각각은 요청된 계층적 레벨에 제공된다.
주기 요소가 준비되면, 후속 단계(360)에서, 하나 이상의 레프리젠테이션들이 규정되어야할 더 이상의 주기 요소들이 있는지가 결정된다. 만일 있다면, 다음 주기 요소가 단계(370)에서 제공되어, 다음 주기 요소의 모든 주기 요소들이 MPD에 포함될 때까지 상기에서 기술한 단계들을 지속한다. MPD의 모든 주기 요소들이 규정되고 또한 배열되면, 최종 단계(380)로 나타낸 바와 같이, 생성 절차가 종료된다.
전형적으로, 각각의 주기 요소의 모든 레프리젠테이션에 공통인 소정의 레프리젠테이션 속성들은 단계(300 및 370)에서 각각 MPD 내에 포함된다. 대응하는 방식으로, 각각의 주기 요소의 주기 구성들에 공통인 소정의 레프리젠테이션 속성들은 단계(350)에서 MPD에 포함된다.
MPD가 이렇게 구성되고 또한 클라이언트들이 액세스할 수 있게 되면, 이들 클라이언트들 중 몇몇은 MPD에 액세스할 수 있게 되고, 또한 MPD의 콘텐츠를 기반으로, 즉 MPD에 제공된 명령들을 기반으로, 클라이언트가 트랙을 선택할 수 있게 되어, 적절한 미디어 부분들을 취득할 수 있다. 그러나 클라이언트 관점에서 보아, MPD가 처리되었으면, MPD의 콘텐츠를 기반으로 미디어 세그먼트들에 액세스하기 위한 절차는 다수의 공지된 선행기술 해결책들에 따라 실행될 수 있는데, 상기 선행기술들은 본 발명의 범위 밖이다.
도 4는 MPD에 표시된 대안적 옵션들로서 선택 가능한, 미디어 콘텐츠의 형식의 요청한 미디어 프리젠테이션을 클라이언트가 취득할 수 있도록 하기 위하여 클라이언트에서 실행될 수 있는 방법을 설명하는 다른 흐름도이다. 도 4의 제1단계(400)에서, 요청된 미디어 프리젠테이션과 관련된 MPD가, 예컨대 서버와 같은 망노드, 또는 중간 캐시로부터 취득되고, 그리고 후속 단계(410)에서, MPD는 클라이언트 측의 통상적인 저장수단 또는 클라이언트에 작동적으로 연결되는 유닛에 저장된다. 요청된 미디어 프리젠테이션과 관련되는 MPD를 어떻게 찾느냐는 본 기술분야의 당업자에게 보편적으로 알려져 있고, 이에 따라 본 발명의 범위 밖이라는 것을 알아야 한다.
단계(42))에 나타낸 바와 같이, 클라이언트 측에서, 각각의 주기 요소들에 포함되는 주기 설명들의 형식으로 제공되는 MPD의 콘텐츠는 미디어 프레젠테이션의 요청된 부분과 관련되는 제1주기 요소로부터 시작하는, 주기에 의해 식별가능한 주기이다. 온-디맨드(on-demand) 미디어 프리젠테이션의 다운로딩의 경우에, 제1주기 요소는 각각의 MPD의 초기 주기 요소가 되게 되는 한편, 라이브 세션(live session)의 다운로딩의 경우에, 제1주기 요소는 MPD의 식별가능한 제1주기 요소가 되게 된다. 즉 다운로딩이 수행될 수 있는 제1주기 요소가 되게 된다.
후속 단계(430)에서, 모든 레프리젠테이션들에 대해 적절한 명령들, 또는 주기 구성에 표시되는 레프리젠테이션의 그룹뿐만 아니라, 각 레프리젠테이션에 대해 특정한 명령들을 포함하는, 적절한 주기 요소를 나타내는 MPD의 콘텐츠는, 적어도 부분적으로 이들 명령들을 기반으로, 각각의 주기 요소에 대해 레프리젠티이션들이 선택될 수 있도록 문의된다(interrogated). 상이한 레프리젠테이션들 간에 스위칭뿐만 아니라, 이러한 레프리젠테이션의 선택은 앞서 언급하였듯이 하나 이상의 표준을 기반으로 할 수 있다. 이외에도, MPD는 또한 어떻게 갱신된 MPD들을 획득하는지에 대한 명령들과 같은, 레프리젠테이션에 독립인 추가적인 명령들을 포함할 수 있다.
무선자원을 낭비하지 않기 위하여, 클라이언트는 각각의 주기에서부터 하나의 레프리젠테이션만을 페치하여야 하고, 그리고 변화하는 환경 조건들을 기반으로 예컨대 비트율과 같은 부호화 선택이 상대적으로 빈번히 주기 요소에서 주기 요소로 스위치될 수 있는 한편, 언어의 변경은 상이한 미디어 비트율로 부호화되는 상이한 언어들 간에 반복된 스위칭으로 인해, 언어의 변경이 매우 열악한 품질의 느낌을 일으킬 수 있기 때문에, 소정의 언어로 표시되는 오디오 트랙과 같은 다른 선택은, 링크 비트율 추정들 또는 다른 품질 기반 추정을 기반으로 다운로드시 변경되지 말아야 한다.
전형적으로, 예컨대 상이한 디스플레이 해상도와 같은, 역량 종속 레프리젠테이션 속성(capability dependant representation attribute)들에 대해 적용할 수 있는 클라이언트 행위는, 클라이언트에게 분배된 미디어 콘텐츠를 예컨대 QVGA 및 VGA와 같은 상이한 해상도에서 이용할 수 있게 되도록 비슷하게 기술될 수 있다. 전형적으로, 취득한 미디어 콘텐츠가 레더링되기(being rendered) 전에 단말기 성능 및/또는 사용자 선호도를 기반으로 클라이언트는 최고로 적절한 해상도를 선택하고, 그리고 완전한 다운로딩 동안에 선택된 해상도를 유지한다. 대안적으로, 너무 열악한 접속성을 느낄 수 있기 때문에, 클라이언트는 다운로딩 동안에 해상도를 변경하는 옵션을 가진다. 만일, 예컨대 선택된 오디오 트랙을 재생 시간의 모든 주기들 동안에 이용할 수 없다면, 대신에 클라이언트는 디폴트 언어, 또는 제1가용 언어를 선택하도록 구성될 수 있다.
레프리젠테이션 및/또는 주기 구성의 선택은 또한, 전형적으로 클라이언트에 의해 연속적으로 실행되는, 추정된 가용 비트율과 같은 측정치 또는 추정(estimate)을 기반으로 할 수 있다. 비트율의 추정을 수행하는 경우에, 상이한 품질의 레프리젠테이션들은 전형적으로 이러한 추정들을 기반으로 하여 선택될 수 있다.
단계(440)에 나타낸 바와 같이, 레프리젠테이션이 선택되었으면, 적절한 미디어 세그먼트들이 MPD의 각각의 명령들에 따라 그의 소오스에서부터 페치될 수 있다. 다음 단계(450)에서, 요청된 미디어 레프리젠테이션을 취득하는데 소정의 주가 주기 요소가 적절한지가 결정되고, 만일 그러하다면, 다음 주기 요소의 레프리젠테이션들이 고려되고 또한 단계(430)에서 선택되며, 이 이후에 프로세스는 단계(440)에 따라, 선택된 레프리젠테이션과 관련되는 미디어 세그먼트들을 취득하는 것으로 지속된다.
특정 주기 요소에 대해 두 개 이상의 주기 구성이 규정되었다면, 각각의 주기 요소의 주기 구성들 중 하나의 한 레프리젠테이션이 선택되도록, 대안적 주기 구성의 레프리젠테이션들이 단계(430)에서 고려되게 된다. 다운로딩을 위해 더 이상의 주기 요소가 적절하지 않다면, 즉 클라이언트에 의해 요청된 완전한 미디어 프리젠테이션이 다운로드되었다면, 기술된 프로세스는 단계(470)에서 종료한다.
상기에서 제안된 MPD 구조 또는 구성의 몇몇 기본적 원리들을 도 5를 참조하여 아래에서 설명한다. 도 5에 나타낸 바와 같이, MPD를 통해 기술되는 단일 미디어 재생 시각표(500)는, 재생 시각표(500)가, MPD에 의해 기술되는 각 주기의 시각표의 연속, 또는 주기 요소에 의해 규정되도록, 하나 이상의 재생 시간의 주기들로 세분된다. MPD는 여기서 두 개의 주기 요소(501, 502)들로 도시되는, 하나 이상의 주기 요소들의 시퀀스를 포함하고, 각 주기 요소는 여기에서 레프리젠테이션이라고 부르는, 동일 미디어 콘텐츠의 하나 이상의 대안적 설명들, 또는 기술된 미디어 프리젠테이션 또는 미디어 스트림의 미디어 콘텐츠의 레프리젠테이션 요소들을 포함한다. 대안적으로, MPD는, 예컨대 오디오 및 비디오에 대한 동기화 지점들을 가지는 개별적인 시각표를 적용할 수 있도록 미디어 요소(media component) 당 하나의 미디어 시각표를 포함할 수 있다.
도 5에서, 제2주기 요소(501)는 세 개의 상이한 레프리젠테이션(503a, 503b, 503c)들을 포함하고, 레프리젠테이션들은 비트율 속성, 즉 100 kbps의 비트율을 나타내는 낮은 품질(Low quality:LQ) 속성과, 200 kbps를 나타내는 중간 품질(Medium Quality:MQ) 속성과 그리고 400 kbps를 나타내는 높은 품질(High Quality:HQ) 속성으로 표시되는 상이한 레프리젠테이션 속성들을 나타내고 또한 이에 의해 구별되는 한편, 제2주기 요소(502)는 단지 150 kbps의 LQ 옵션과 500 kbps의 HQ 옵션을제공하는, 두 개의 대안적 레프리젠테이션(504a, 504b)를 포함한다. 동일 주기에 대해 기술되는 여러 레프리젠테이션들의 미디어 세그먼트들은 전형적으로 주기 요소의 시작에서 시간 정렬된다. 그러므로, 도 5의 MPD는, 레프리젠테이션의 콘텐츠를 고려함으로써 각각의 레프리젠테이션, 또는 레프리젠테이션 요소에 배열되고, 이 레프리젠테이션에 대해 정당한 모든 명령들을 클라이언트가 이용할 수 있게 된다.
주기 요소의 각 레프리젠테이션은 동일 콘텐츠를 기술하지만 하나 이상의 레프리젠테이션 속성들을 기술하고, 선택가능한 옵션들이 클라이언트에게 제공되게 된다면, 이들 특징들 중 하나 이상은 레프리젠테이션마다 다를 수 있다.
일반적으로, 동일 콘텐츠는 하나 이상의 레프리젠테이션 속성들을 통해 식별 가능한, 상이한 레프리젠테이션들에서 이용 가능할 수 있으며, 레프리젠테이션 속성들 각각은 클라이언트에 대해 대안적 선택들을 규정할 수 있다. 만일 각각의 주기 요소에 대해 각각의 레프리젠테이션 속성이 될 때 클라이언트가 이용할 수 있게 될 옵션들이 없다면, 이 속성에는 주기 요소의 모든 레프리젠테이션들에 대해 동일 셋팅이 제공될 수 있다. 도 5에 도시한 바와 같이, 여기에서 H.264 @ Baseline Profile Level 1.3과 AAC 오디오에 각각 설정되는 각각의 레프리젠테이션 속성들에 의해 규정되는 비디오 및 오디오 특성들은, 두 개의 도시된 주기 요소들의 모든 레프리젠테이션들에 대해 정당한 공통의 레프리젠테이션 속성들로서 규정되었다. 즉 이들 특성들은 사용자가 선택가능한 것이 아니고, 도 5에 도시된 모든, 또는 적어도 두 개의 주기들에 대해 클라이언트에 의해 적용되어야만 한다.
상이한 미디어 품질들을 나타내는 레프리젠테이션들은 전형적으로, 가용 비트율과 같은 몇몇 환경적인 면들을 기반으로 선택가능할 수 있고, 대신에 상이한 언어들을 가지는 레프리젠테이션들은, 특정 선호 언어로 된 요청된 콘텐츠를 취득하는 선호도와 같은 사용자들의 선호도를 기반으로,또는 요청된 콘텐츠가 영어 버전으로만 이용가능한 것과 같은 콘텐츠 공연물을 기반으로 선택가능하다. 후자의 경우에, 클라이언트가 인식할 수 있는 소정의 가능한 환경 변화들에 상관없이 전형적으로 언어가 선택되어 후속 주기들 동안에 유지된다. 전형적으로 사용자 장치의 디스플레이의 유형에 종속하고, 또한 미디어 프리젠테이션의 업로딩 동안에 변하지 않게 되는 상이한 해상도들에 대해 규정되는 레프리젠테이션들에 대해서도 동일한 고려 사항을 적용한다.
다른 실시예에 따라, MPD는 모든 레프리젠테이션들에 대해 공통인 레프리젠테이션 속성이 MPD의 높은 계층적 레벨, 주기 요소 레벨, 또는 주기 레벨에 위치되도록 해주는 계층적 설명 구조(hierarchical description structrue)로 생성되거나, 또는 구성되는 한편, 주기 요소의 대안적 레프리젠테이션들 간에 상이한 레프리젠테이션 속성들, 즉 각각의 레프리젠테이션에 대해서만 유효하게 되는 레프리젠테이션 속성들이, 여기에서 레프리젠테이션 레벨로 부르는 MPD의 낮은 계층적 레벨에 제공된다. 아래에서 더 설명되는 바와 같이, 중간 주기구성 레벨(intermediate period construction level)과 같은 추가 레벨들이 이러한 계층적 구조에 적용될 수 있다.
도 6은 이러한, 계층적으로 배열되는 대안적 구조를 도시하는 것으로서, 비트율을 제외한, 도 5의 MPD에 기술된 모든 비디오 및 오디오 관련 레프리젠테이션 속성들이 각각의 주기(601, 602)에 대해 주기 레벨 상에 공통적으로 규정된다. 도 2의 실시예와 유사하게, 여기에서 주기(601)에 대하여 세 개의 레프리젠테이션들(603a, 603b, 603c)로 표시되고 그리고 주기(602)에 대해서는 두 개의 레프리젠테이션들(604a, 604b)들로 표시되는 각 레프리젠테이션 요소들은, 비트율 종속 대안적 레프리젠테이션(bit rate dependent alternative representation)들로서 제공되고, 비트율 종속 대안적 레프리젠테이션들은, 주기(601)의 레프리젠테이션들에 대해서는 각각 LQ, MQ, HQ로 설정되고 그리고 주기(602)의 레프리젠테이션들에 대해서는 각각 LQ, MQ로 설정되는 그들의 비트율 속성에 의해 식별가능할 수 있다. 즉 비트율 속성들은 레프리젠테이션 레벨 상에서 규정된다.
대안적으로, MPD의 하나 이상의 주기 요소에 대해, 두 개 이상의 속성을 클라이언트가 선택할 수 있도록 만들 수 있다. 도 7은 다른 실시예에 따른 대안적 계츠억 MPD 구조를 설명하고 있는데, 제1 및 제2주기(701, 702)들은 각각 도 6의 제1 및 제2주기에 대응한다. 그러나, 제3주기(703)에서, 주기 요소는 두 개의 상이한 레프리젠테이션들의 그룹들(704a, 704)을 포함하고, 이들은 이후부터 대안적 주기 구성들이라 부르고, 또한 이들은 레프리젠테이션 레벨 위이지만 주기 레벨 아래인 또 다른 계층적 레벨을 형성한다. 대안적 주기 구성들을 도입함으로써, 선택가능한 레프리젠테이션들은 상이한 그룹들 내에 배열될 수 있어서, 두 개 이상의 선택 기준을 기반으로 클라이언트가 각각의 레프리젠테이션을 쉽게 선택할 수 있도록 해준다.
본 예에서, 주기 구성(704a)은 영어(en)에 설정된 공통의 언어속성(Lang)을 가지는, 언어 기반 레프리젠테이션 그룹을 포함하는 한편, 대안적 주기 구성(704b)에 대해서는, 대응하는 레프리젠테이션 그룹은 프랑스어(Fr)에 설정된 공통의 언어속성(Lang)을 가진다. 제1주기 구성(704a)은 두 개의 상이한 비트율(LQ 및 HQ)들을 각각 기술하는, 두 개의 대안적 레프리젠테이션(705a, 705b)들을 포함하는 한편, 제2주기 구성(704b)은 세 개의 상이한 비트율(LQ, MQ 및 HQ)들을 기술하는 세 개의 대안적 레프리젠테이션(706a, 706b, 706c)들을 포함한다. 이에 의해, 선호하는 언어, 즉 주기 구성(704a, 704b)들 중 하나를 선택한 클라이언트는 또한 선택된 주기 구성으로부터 선호하는 품질을 선택할 수 있게 되고, 따라서 선택되는 이들 가용 옵션들을 기반으로 상이한 미디어 세그먼트들을 페치하게 된다. 도면에 도시되어 있듯이, 각각의 주기 구성들에 대해 주어진 잔여 레프리젠테이션 속성들은 주기 레벨 상에 주어지고, 그러므로 세 주기들 모두의 미디어 세그먼트들에 대해 공통인 비-선택가능 옵션들이다.
MPD 내 각각의 레프리젠테이션의 미디어 세그먼트들의 각각의 시퀀스를 참조 표시하는, URI들의 시퀀스를 기술하는 상이한 방식들이 있다. 상기에서 기술한 실시예들에 대해, 각각의 미디어 세그먼트들은 템플리트 처리방법을 적용함으로써 기술될 수 있거나, 또는 미디어 세그먼트들은 리스트에 의해, 전형적으로 플레이리스트에 의해 명시적으로 기술될 수 있다. 대안적으로, 이들 처리방법들의 조합을 적용할 수 있다.
템플리트 처리방법이 적용되면, 클라이언트가 콘텐츠의 정상적인 미디어 재생시간을 얻을 수 있도록, 각각의 미디어 세그먼트들은 기준 트랙(reference track)의 세그먼트 당 동일 미디어 지속기간(duration)을 포함하여야 한다. 즉 특정 레프리젠테이션 속성에 의해 표시되는 레프리젠테이션을 포함하여야 한다. 따라서, 미디어 프리젠테이션의 각각의 주기의 시작과 지속기간과 같은, 정보를 명시하는 유효성 인덱스들의 범위는 각 템플리트에 대해 규정된다.
여기서 하나의 URL로 기술되고 또한 템플리트로서 기술되는, 미디어 세그먼트 URI들의 시퀀스는 다음과 같이 규정할 수 있다:
Figure pct00001
Figure pct00002
여기서, $SegmentNumber$ 로서 식별되는 인덱스는 각각의 세그먼트 번호를 식별하기 위하여 MPD에서 사용된다. 상기에서 기술한 템플리트는 200 kbps에 설정된, 대역폭 특정 레프리젠테이션 속성을 포함한다. 이외에도, 기술한 미디어 세그먼트 시퀀스의 유효성 인텍스 범위는, 여기에서 시퀀스 번호 11에 설정되는 "SegmentNumberStart"에 의한 각각의 레프리젠테이션의 시작과 그리고 여기서 10s의 세그먼트 지속기간에 설정되는 "SegmentDuration"에 의한 지속시간을 통해 기술된다. 상기에서, 인용한 요청 URL로부터 취득할 수 있는 각 세그먼트는 10s 길이인 지속기간을 가진다.
대신에 만일 플레이리스트 처리방법이 미디어 세그먼트들을 참조하는, URI들의 시퀀스의 설명에 사용된다면, 참조된 각 미디어 세그먼트는 상이한 지속기간들의 미디어 데이터를 포함할 수 있다. 플레이리스트로서 기술되는 한 레프리젠테이션과 관련되는 미디어 세그먼트 URI 들의 시퀀스의 한 예를 아래에 주어진다.
Figure pct00003
Figure pct00004
여기서 "segment"로 표시되는, 미디어 세그먼트의 미디어 지속기간을 규정하는 인덱스는 바람직하게 각 미디어 세그먼트에 대해 주어져, 클라이언트가 수신된 세그먼트들로부터 정상적인 미디어 재생 시각표를 계산할 수 있도록 한다. 주어진 플레이리스트 예에서 나타낸 바와 같이, 정확한 지속기간이 초(second)로 기술된다.
소정의 플레이리스트가 없는 표준-템플리트 기반이고, 두 개의 대안적 레프리젠테이션을 가지는 하나의 주기를 기술하는, 계층적으로 배열된 MPD의 다른 예를 아래에 도시한다:
Figure pct00005
Figure pct00006
명백히, 상기 템플리트는 240 s 길이이고, 동일 길이의 단일 주기를 가지는 세션을 기술한다. 레프리젠테이션 레벨 상에 주어지는 공통 언어로서 영어(en)를 가지는, 두 개의 상이한 레프리젠테이션들을 포함하지만, 이들 레프리젠테이션들은 두 개의 레프리젠테이션들 내 상이한 대역폭 속성들로 구별된다. 주어진 주기에 대해, 1.0에 설정되고 또한 부호화되며, UTF-8에 설정되는, xml 버전과 같은, 두 레프리젠테이션에 대해 공통인 몇몇 레프리젠테이션 속성들이 주기 레벨 상에서 MPD 내에 삽입된다.
플레이리스트형 MPD는 상기에서 기술한 템플리트 기반의 것과 비교하면 유사한 구조를 가지지만, 플레이리스트형 MPD는 다수의 주기 요소들을 포함한다는 차이점이 있다. 소정의 템플리트들이 없고, 세 개의 주기들을 포함하는, 이러한 플레이리스트형 MPD의 예를 아래에 나타낸다.
Figure pct00007
Figure pct00008
Figure pct00009
상기에서 기술한 MPD에는, 각 주기에 대해 바람직한 대역폭의 선택을 가능하게 하는 대역폭 속성을 가지는 레프리젠테이션들이 제공되는 한편, 플레이리스트의 시초부에서 표시되는 다른 레프리젠테이션 속성들은 모든 주기들과 레프리젠테이션들에 대해 공통이다. 각 주기에 대해, 클라이언트는 기술된 URL을 사용하여 단일 요청을 할 수 있고 또한 각 주기를 순차적으로 재생할 수 있다.
아래에 주어진 또 다른 실시예에 따라, MPD는 플레이리스트들과 템플리트들의 조합으로서 구성될 수 있다. 이러한 구성은 다수의 소오스로부터 다운로드 가능한 콘텐츠의 수신을 가능하게 한다. 주어진 예에서, 플레이리스트는 "period star" 0, 110 및 120을 각각 가지는 세 개의 템플리트 레프리젠테이션들을 링크한다. 이와 같은 MPD는 예컨대, 중간부에서 광고를 가지는 두 부분으로 분할되는 TV 프로그램을 기술하는데 적합할 수 있다. 클라이언트는 상기 예와 유사하게 제1 및 제3주기에 대한 요청을 할 수 있는데, 여기서 적절한 레프리젠테이션들이 선택될 수 있고, 한편 제2주기에서는, 단지 단일 레프리젠테이션만을 이용할 수 있고 또한 클라이언트는 이 레프리젠테이션에 액세스하기 위한 상이한 서버로 요청을 행할 수 있게 된다.
Figure pct00010
Figure pct00011
상기에서 알 수 있듯이, 채널들 또는 트랙들 중에 다수의 상관관계(correlation)가 있을 수 있다. 즉, 상이한 대안적 레프리젠테이션들 간에 선택과 스위칭의 대안적 방식들이 있다. 예컨대, 하나를 제외한 모든 채널들이 영어로 제공될 수 있거나, 또는 상이한 레프리젠테이션들을 기술하는 URL이 마지막 문자들전까지 공통일 수 있다.
한 실시예에 따라, 예컨대 언어 속성과 같은 레프리젠테이션 속성은, 중단되기 전까지 해당 전체 종속-트로(sun-tree)에 대해 언어가 규정되도록 계층적 구조에서 모든 레벨에 적용될 수 있다.
다른 처리방법은 여기서 RequestURLExtension 요소로 부르는, 확장 요소(extension element)가 레프리젠테이션 레벨에서 규정되도록 허용하는 것이고, 한편으로 요청URL(requestURL)은 예컨대 주기 요소 레벨에서 기술될 수 있다,
RequsetURL=http://www.example.com/content/example.3gp
그리고, 주기 요소 레벨의 상기 URL은 예컨대 다음에 의해 레프리젠테이션 레벨에서 확장된다.
RequestURIExtension="R2/$SegmentNumber$
상기에서 주어진 예에서, 클라이언트가 요청을 할 수 있도록 하기 위하여, 클라이언트는 "RequsetURL=http://www.example.com/content/example.3gp"와 "R2/$SegmentNumber$"를 연결시킴으로써 콘텐츠의 요청URL을 생성하여 다음을 만들어,
http://www.example.com/content/example.3gp R2/$SegmentNumber$
각각의 레프리젠테이션을 선택하도록 한다.
아래에, 계층적 방식으로 기술되는 레프리젠테이션 속성들의 다른 예가 주어지는데, 여기서 비디오 콘텐츠 크기와 언어속성들을 제1 및 2주기들에서 주기 레벨에서 표시되므로, 이들 두 대안들은 이들 주기들의 모든 레프리젠테이션들에 대해 유효하다.
제3주기에서, 비디오 콘텐츠 크기와 대역폭 속성들은 높은 주기 레벨에서 표시되므로, 이들 레프리젠테이션 속성들은 이 주기의 모든 레프리젠테이션들에 대해 유효한 한편, 제3주기의 각 레프리젠테이션마다 상이한 언어는 레프리젠테이션 레벨에서 언어속성으로서 표시된다.
Figure pct00012

Figure pct00013
Figure pct00014
레프리젠테이션 속성들이 계층적인 방식을 기술되는 다른 실시예에 따라, 주기 요소들은 시작 미디어 재생시간(start media play time)을 포함한 지속기간을 기술하고, 미디어 세그먼트 URI들은 이 지속기간에 대해 기술된다. 레프리젠테이션 요소는 단일 스트림 특성에 대한 모든 URI들, 예컨대 200 kbps 스트림에 대한 미디어 세그먼트들의 제1트랙과 400 kbps 스트림에 대한 미디어 세그먼트들의 제2트랙을 압축한다(encapsulate).
아래에서 제시하는 MPD에서, 제1주기는 템플리트 기반 구성을 사용하여 기술되는 한편, 제2주기는 플레이리스트 구성을 사용하여 기술된다. 이미 앞서 언급하였듯이, 플레이리스트 구성에 의해 기술되는 미디어 세그먼트들에 대한 콘텐츠 지속기간은 상이한 레프리젠테이션마다 상이하다.
제1주기 동안에, 미디어 세그먼트들은 200 kbps 품질 레벨에 대해서는 10초의 미디어 데이터를, 400 kbps 품질 레벨에 대해서는 5초의 미디어 데이터를 포함한다. 그러나, 각 미디어 세그먼트는 정확히 동일 미디어 지속시간을 포함한다.
제2주기 동안에, 미디어 세그먼트들의 지속기간이 변한다. 200 kbps 에 설정된 대역폭 속성을 가지는 LQ 레프리젠테이션에 대해, 미디어 세그먼트들은 평균적으로 20초의 미디어 데이터를 포함하는 한편, HQ 버전 미디어 세그먼트들에 대해서는, 즉 대역폭 속성이 400 kbps에 설정되는 세그먼트들에 대해서는, 미디어 세그먼트들은 평균적으로 단지 10초를 포함한다.
Figure pct00015
Figure pct00016

Figure pct00017

Figure pct00018
필요할 때마다 MPD는 갱신될 수 있다. 도 8a 및 8b들은 단순한 설명도로서, 도 8a는 각각의 레프리젠테이션을 갖는 두 개의 주기 요소들(801, 802)를 포함하는 구(old) MPD의 설명도인 한편, 도 6b는 추가적인 주기 요소(803)이 제공된 갱신된 MPD의 설명도로서, 제3주기에서 세 개의 대안적인 레프리젠테이션들을 포함하고, 미디어 재생 시각표의 말미에 부가된다. 갱신 동안에, 최신 주기 설명은, 미디어 URI들의 유효 범위를 기술하도록 반드시 수정되어야 한다. 또한, 템플리트 구성은 새로운 레프리젠테이션의 추가로 인해 변경될 수 있다. 도 8a와 8b에 나타난 바와 같이, 주기(801 및 802)들의 명령들은 구 MPD와 갱신된 MPD에서 동일하다.
MPD의 갱신이 적용되지 않는다 하더라도, 라이브 케이스에 대한 지원이 가능할 수 있다. 만일 클라이언트가, 적어도 대략적인 정확도로 서버와 시간 동기화된다면, 잘 규정된 종단(end)을 가지는 소정의 라이브 전송을 관련 MPD를 통해 기술할 수 있다. 이와 같은 상황에서, MPD는 예컨대 NTP(Network Time Period)와 같은, 서버의 시간 또는 벽 시간으로 각각의 미디어 재생 시각표의 맵핑을 기술하도록 구성될 수 있다.
예를 들면, MPD는, 미디어 재생 시간이 1605h CET에서 시작하는 것을 규정할 수 있다. 클라이언트가 소정의 정확도로 시간 동기화되었으면, 클라이언트는 가장 최근의 가용 미디어 세그먼트, 또는 클라이언트측 구성 하에 현재 있는 미디어 세그먼트를 결정할 수 있게 된다.
시간이동(time shifting)은 라이크 케이스에 의존하게 된다. 단말기가 "가장 최근의 가용 미디어 세그먼트"를 충분히 정확히 이해를 하면, 시간이동 버퍼는 "정상 미디어 재생시간(normal media play time)" 또는 "세그먼트의 숫자(number of segments)"에 기술될 수 있다. 다른 방법들에서, 이러한 시간이동 버퍼를 기술하는 것은 벽 시간을 통해 가능할 수 있다.
서버로부터 이용할 수 있도록 할 수 있는 MPD 갱신들의 이벤트에서, 클라이언트가 MPD 갱신을 인식할 수 있도록 하는 두 가지 상이한 처리방법을 아래에서 기술한다.
제1실시예에 따라, 클라이언트는 서버에서부터 또는 캐시 또는 소정의 다른 중간 망노드로부터 새로운 MPD 갱신들에 대해 빈번한 폴링(polling)을 수행하도록 구성된다. 폴 간격(poll interval)은 전형적으로 MPD 설명에 주어지지만, 대안적으로 선규정될 수 있다. MPD 파일들은 전형적으로 미디어 세그먼트들보다 많이 작고, 따라서, 미디어 세그먼트들보다는 HTTP 캐시들로 처리하기가 훨씬 더 용이하다. 통상적 캐싱 계층(caching hierarchies)들은 또한 점진적으로 증가하는 작은 도큐먼트(documents)들의 숫자를 처리하여, 갱신된 MPD들을 처리하도록 최적화된다.
다른 실시예에 따라, 클라이언트는 대신에, 푸시 노티피케이션(push notification) 처리방법을 적용하도록 구성되는데, 여기서 클라이언트는 서버에 의해 MPD 갱신들에 대해 통지를 받는데, 전형적으로는 관련 미디어 세그먼트들과 함께 노티피케이션 전송 인-밴드(notification sent in-band)를 수신함으로써 통지받는다. 새로운 MPD는 서버에 의해 관련 미디어 세그먼트들과 함께, 멀티파트 MIME 컨테이너(Multipart MIME container)에 제공될 수 있다. 중간 캐시(intermediate cache)들은, 다른 유형의 파일들이 처리되는 것과 동일한 방식으로 이러한 멀티파트 MIME 컨테이너들을 처리할 수 있다. 만일 클라이언트가 시간이동 모드에 있으면, 전형적으로 클라이언트는 소정의 검색작업(seek operation)을 시작하기 전에 MPD 갱신들에 대해 폴을 하도록 구성되게 된다.
상기에서 기술한 실시예들 중 하니에 따른 구조를 가지는 MPD를 제공하도록 구성되는 서버를, 도 9의 간략화된 블록도를 참조하여 아래에서 더 상세히 설명한다. 서버(900)는, 재생 시각표의 각 주기에 대해 적절한 레프리젠테이션들을 생성하고, 그리고 각각의 레프리젠테이션들과 함께, 선택 가능한 레프리젠테이션 속성들을 선택 가능한 옵션으로 클라이언트가 이용할 수 있도록 만들어지도록, 제1통신유닛(920)을 통해 소정 유형의 통상적인 미디어 소오스(미도시)에서부터 서버(900)로 입력 데이터로서 제공되는 각각의 미디어 프리젠테이션에 대해, 선택적으로 대안적 주기 구성들을 생성하도록 구성되는 생성유닛(910)을 포함한다.
생성유닛(910)은 또한 전형적으로, 상기에서 기술한 절차들에 따라 필요할 때마다 MPD를 갱신하도록 구성된다. 여기에서 서버(900)의 제공유닛(930)으로서 언급되는 다른 유닛은 MPD를 제공하도록 구성되어, 요청하는 클라이언트가 액세스가 가능하게 되도록 만들어지게 된다. 따라서 한 실시예에 따라, 제공유닛(930)은, 서버(900)에 액세스를 하는 클라이언트가, 여기에서 제2통신유닛(940)으로 표시되는 통신유닛을 통해 저장수단으로부터 MPD를 요청하여 취득할 수 있도록, 소정 유형의 저장수단 내에 MPD를 저장하도록 구성된다. 여기서 이러한 저장 기능은 저장유닛(950)의 의해 제공되고, 이는 소정 유형의 통상적인 저장 기능을 기반으로 할 수 있다. 대안적으로, 제공유닛(930)은 제2통신유닛(940)을 통해, 예컨대 캐시와 같은 중간 망노드에 MPD를 전송하도록 구성될 수 있어서, 클라이언트가 필요할 때마다 중간 노드로부터 MPD를 취득할 수 있도록 한다.
상기에서 언급하였듯이, 서버(900)는 또한 이전에 생성되어 서버(900)에서 저장된 MPD를 갱신하도록 구성될 수 있다. 이러한 갱신 옵션이 적용되게 된다면, MPD의 현존하는 주기 요소에 하나 이상의 레프리젠테이션의 추가를 가능하게 하고, 새로운 주기 요소의 추가를 가능하게 하고, 주기 요소로부터 하나 이상의 레프리젠텐이션을 제거할 수 있도록 하고 및/또는 하나 이상의 레프리젠테이션을 수정할 수 있도록 해주는, 적절한 갱신 기능이 생성유닛(910)에 제공될 수 있게 된다. MPD를 수정하도록 하는 명령들이, 여기에서 UI(960)으로 표시되는 소정 유형의 사용자 인터페이스(UI)를 통해 생성유닛(910)에 제공될 수 있다. MPD에 의해 기술되는 미디어 재생시간은 "미래(the future)"로 언바운드된다(unbounded). 콘텐츠 제공기가 현존하는 주기요소, 또는 새로운 주기 요소의 하나 이상의 새로운 레프리젠테이션을 추가하기를 원하면, 새로운 주기 설명이 미디어 재생 시각표의 말디에 부가되고, 소정의 잔여 이전 요소들이 변경되지 않도록 서버(900)를 제어할 수 있다.
대응하는 방식으로, 미디어 프리젠테이션을 렌더링할 수 있고, 또한 서버 또는 캐시와 같은 망노드로부터 MPD와 관련 미디어 세그먼트들을 렌더링할 수 잇는 소정 유형의 사용자 장치에서 구현하기에 적합한, 이동전화, 셋탑박스, 랩탑 또는 PC와 같은 클라이언트를 도 10의 간략화된 블록도를 참조하여 아래에서 상세히 설명한다.
클라이언트(1000)는, 소정 유형의 통상적인 UI일 수 있는, UI(1030)로 표시되는 사용자 인터페이스를 통해 입력된 명령을 기반으로 하여, 통신유닛(1020)을 통해 망노드로부터 MPD와 관련 미디어 세그먼트들을 요청하고 또한 취득하도록 구성되는 요청유닛(1010)을 포함한다. 만일 클라이언트(1000)가 갱신된 MPD들에 대해 폴하도록 구성된다면, 상기에서 가능한 옵션으로서 언급하였듯이, 요청유닛(1010)은 MPD로부터 이전에 취득된 폴링 간격에 따라, 이러한 폴링을 실행하도록 구성될수 있다. 이와 같은 폴링 매카니즘은 본 기술분야의 당업자에게 잘 공지된 것이고 또한 본 발명의 범위 밖이다.
클라이언트(1000)는 또한, 소정 유형의 가용 저장기술을 기반으로 구성될 수 있고, 통신유닛(1020)을 통해 요청유닛(1010)에 의해 수신되면, MPD가 저장되고 또함 미디어 프레젠테이션 목적을 위해 클라이언트(1000)가 액세스할 수 있게 되도록 요청유닛(1010)에 연결되는 저장유닛(1040)을 포함한다. 클라이언트는 또한, 각각의 주기 요소에 대해 적용할 수 있는 하나 이상의 선택 표준에 따라 레프리젠테이션 및/또는 주기 구성들을 선택하도록 구성되는 선택유닛(1050)을 포함한다. 선택유닛(1050)은, UI(1030)를 통해, 예컨대 사용자에 의해 선택되는 선호 언어와 같은 옵션들을 수신할 수 있고, 이 입력은 선택유닛(1050)에 의해 사용되어 각각의 주기 요소에 대한 적절한 주기 구성 또는 레프리젠테이션을 선택한다.
최종 사용자에게 최고 품질의 느낌을 제공하기 위하여, 클라이언트(1000)는 가용 링크 비트율 또는 소정의 다른 품질 관련 추정에 따라 레프리젠테이션들 간에 스위칭을 행함으로써 미디어 프리젠테이션의 미디어 품질을 적응적으로 조정하도록 구성될 수 있다. 이러한 옵션을 제공하기 위하여, 클라이언트(100)에는, 전형적으로 지속적으로 적절한 변수를 추정하고, 또한 추정을 기반으로 최고로 적합한, 구현 특정(implementation specific) 레프리젠테이션을 선택하도록 구성되는 유닛이 제공될 수 있다. 여기서, 이러한 기능은 추정유닛(1060)에 의해 제공된다. 추정유닛(1060)은 전형적으로, 추정된 비트율이 현재 선택된 레프리젠테이션에 의해 표시되는 비트율을 규정된 마진으로 초과하거나 또는 낮을 때 한 대안 레프리젠테이션에서 다른 대안 레프리젠테이션으로 스위치하도록 구성될 수 있다.
대안적으로, 또는 UI(1030)로부터 제공되는 입력 이외에, 선택유닛(1050)은 추정유닛(1060)으로부터 제공되는 입력데이터를 기반으로, 또는 UI(1030)으로부터 입력과 조합하여 결정을 만들도록 구성될 수 있다. 게다가, 선택유닛(10505)은 선-규정된, 저장된 셋팅들 또는 선호도를 상기에서 기술한 가능한 입력 데이터와 조합하여 또는 우선화된 셋팅들을 고려하도록 구성될 수 있다. 예컨대, 클라이언트가 상주하는 사용자 장치의 디스플레이는 선규정되고 또한 다른 대안들에 대해 우선화될 수 있다.
도 10의 선택유닛(1050)은 또한, 선택된 레프리젠테이션의 URI의 각각의 정리된 리스트에 따라 하나 이상의 각각의 망노드들로부터 선택된 미디어 세그먼트들을 요청유닛(1010)이 요청하도록 명령할 수 있게, 요청유닛(1010)에 작동적으로 연결된다.
전형적으로, MPD로부터 획득되는 동기정보를 기반으로, 서버와 동기화될 수 있도록 하기 위한 기능이 통신유닛((1020)에 제공된다.
션택유닛(1050)에 의해 레프리젠테이션의 선택이 수행되고 또한 대응한 미디어 세그먼트들이 요청유닛(1010)에 의해 요청되었으면, 클라이언트의 통신수단 또는 클라이언트(1000)가 상주하는 장치에 의해 적절한 미디어 세그먼트들이 수신되고, 여기서 미디어 세그먼트들은, 미디어 세그먼트들이 통상적인 방식으로 제공될 수 있도록 버퍼될 수 있다. 또한, 미디어 세그먼트들을 취득하고 또한 프로세싱하기 위한 프로세스들은 본 기술분야의 당업자에게 잘 공지되어 있기 때문에, 본 명세서에서는 더 세부적으로 논의하지 않는다.
도 9의 서버와 도 10의 클라이언트는 간략화된 구성들을 나타내고, 여기서 정상적인 서버 또는 클라이언트에 포함되게 되지만, 본 명세서에서 제안된 MPD들의 처리의 이해에는 필수적인 않은 엔티티들은 간략화의 목적을 위해 생략하였다는 것을 알아야 한다. 이외에도, 이들 표면들에 나타낸 유닛들은 한 가지 가능한 구성으로서만 보여지고, 또한 기술한 기능이 상기에서 기술한 일반적인 원리를 따라 실행될 수 있는 한, 다른 기능적 유닛들뿐만 아니라, 기능적 유닛들의 다른 조합도 적용할 수 있다는 것을 알아야 한다.
상기에서 기술한 클라이언트뿐만 아니라 서버는 각각의 하드웨어 기반 솔루션, 소프트웨어 기반 솔루션 또는 이들의 조합으로서 구현할 수 있다. 전자의 경우에, 도 9와 10에 기술된 각각의 유닛들은 각각 응용 특정 집적회로(ASIC) 구성의 형태로 실현될 수 있다.
소프트웨어 기반 솔루션으로서 구성되는 서버(100)를 도 11을 참조하여 설명하는데, 여기서 프로세서(1110)는 저장유닛(830)과, 제1통신유닛(820)과 그리고 제2통신유닛(840)에 연결되고 그리고 저장유닛(0830)에서 유지되는 명령들을 기반으로 서버 기능을 제어하도록 구성된다. 상세하게, 프로세서(1110)는 도 8의 생성유닛(810)의 기능에 대응하는 기능을 실현함으로써 MPD들을 생성하도록 구성되는 생성기능(1120)과, 그리고 도 8의 제공유닛(930)의 기능에 대응하는 기능을 실현함으로서 생성된 MPD들을 제공하도록 구성되는 제공기능(1130)을 제어하도록 구성된다.
대응하는 방식으로, 소프트웨어 기반 클라이언트(1200)를 도 12를 참조하여 아래에서 기술하는데, 여기서 통신유닛(920)과 저장유닛(940)에 연결된 프로세서(1210)는, 저장유닛(940)에 포함된 명령들을 기반으로, 각각의 대응하는 도 9의 요청유닛(910)과 선택유닛(950)에 의해 실행되는 것에 대응하는 기능을 수행하기 위하여 요청기능(1220)과 선택기능(1230)을 제어하도록 구성된다.
이외에도, 프로세서(1210)는 도 9의 추정유닛(960)의 기능에 대응하는 방식으로 추정기능을 수행하도록 구성되는 추정기능(1240)을 제어하도록 구성된다.

Claims (37)

  1. HTTP 미디어 스트림에 클라이언트가 액세스할 수 있도록 하기 위해 통신망의 서버에 의해 수행되는 방법에 있어서, 방법은:
    - 미디어 재생 시각표에 따라 순차적으로 배열되는, 적어도 하나의 주기 요소가 제공되고; 각 주기 요소에 적어도 하나의 레프리젠테이션이 제공되고 그리고 적어도 하나의 주기 요소 중 적어도 하나에 적어도 두 개의 대안 레프리젠테이션들이 제공되도록 미디어 프리젠테이션 설명(Media Presentation Description)을 생성하는 단계를 포함하되, 각 레프리젠테이션에는 적어도 하나의 미디어 세그먼트 URI의 정리된 시퀀스가 제공되고, 각 미디어 세그먼트 URI는 상기 HTTP 미디어 스트림의 적어도 하나의 미디어 세그먼트를 참조하도록 구성되고, 그리고
    - 상기 클라이언트가 MPD를 취득할 수 있도록 하고; 미디어 프리젠테이션 설명의 상기 콘텐츠를 기반으로, 적어도 하나의 주기 요소에 대해 한 레프리젠테이션을 선택하고 또한 각 선택된 레프리젠테이션에 대해, 각각의 참조된 미디어 세그먼트들을 취득할 수 있도록 하기 위해, 미디어 프리젠테이션 설명을 제공하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 생성단계는:
    - 적어도 하나의 레프리젠테이션으로서 제공되고 또한 템플리트 포맷으로 기술되도록 상기 적어도 하나의 미디어 세그먼트 URI의 정리된 시퀀스들 중 적어도 하나를 배열하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제1항 또는 제2항에 있어서, 상기 생성단계는:
    - 적어도 두 개의 미디어 세그먼트 URI들의 정리된 시퀀스로서 제공되고 또한 플레이리스트 포맷으로 기술되도록 레프리젠테이션들 중 적어도 하나를 배열하는 단계를 포함하는 것을 특징으로 하는 방법.
  4. 상기 항들 중 어느 한 항에 있어서, 상기 생성단계는:
    - 동일 주기 요소와 관련된 각 레프리젠테이션에, 상기 레프리젠테이션에서 참조되는 미디어 세그먼트를 나타내는 셋팅을 가지는 제1레프리젠테이션 속성을 제공하여, 클라이언트가 각각의 셋팅을 기반으로 각각의 주기 요소의 레프리젠테이션을 선택할 수 있도록 하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서, 상기 생성단계는:
    - 각 주기 요소에 제2레프리젠테이션 속성을 제공하는 단계와, 그리고
    - 상기 주기 요소와 관련된 모든 레프리젠테이션들을 나타내도록, 상기 주기 요소와 관련된 모든 미디어 세그먼트들에 대해 공통인 제2레프리젠테이션 속성의 셋팅을 선택하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서, 상기 생성단계는:
    - 상기 제2레프리젠테이션 속성이 레프리젠테이션 레벨에 기술되도록, 각각의 주기 요소의 각 레프리젠테이션에 각각의 제2레프리젠테이션 속성을 제공하거나, 또는
    - 상기 제2레프리젠테이션 속이 주기 요소 레벨에 기술되도록, 각각의 주기 요소에 각각의 제2레프리젠테이션 속성을 제공하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 제4항에 있어서, 상기 생성단계는:
    - 미디어 프리젠테이션 설명의 적어도 하나의 주기 요소에 적어도 두 개의 대안적 주기 구성들을 제공하는 단계를 포함하되, 각 주기 구성에는 적어도 두 개의 레프리젠테이션들과, 제2레프리젠테이션 속성이 제공되고,
    - 각각의 주기 구성을 나타내어, 클라이언트가 상기 레프리젠테이션 속성들 중 하나 이상을 기반으로 상기 주기 요소의 레프리젠테이션을 선택할 수 있도록, 제2레프리젠테이션 속성의 셋팅을 선택하는 단계를 포함하는 것을 특징으로 하는 방법.
  8. 제5항, 제6항 또는 제7항 중 어느 한 항에 있어서, 상기 레프리젠테이션 속성들 각각은 코덱, 비트율, 해상도 및 언어 중 소정의 것을 규정하는 것을 특징으로 하는 방법.
  9. 상기 항들 중 어느 한 항에 있어서,,
    - 적어도 하나의 레프리젠테이션을 부가함으로써, 적어도 하나의 레프리젠테이션을 제거함으로써, 또는 미디어 프리젠테이션 설명의 적어도 하나의 레프리젠테이션을 수정함으로써, 미디어 프레젠테이션 설명을 갱신하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  10. 제9항에 있어서, 상기 생성단계는:
    - 미디어 프리젠테이션 설명에 폴 간격의 표시를 제공하는 단계를 포함하여, 상기 표시에 의해 결정되는 간격에서 미디어 프리젠테이션 설명 갱신에 대해 클라이언트가 폴할 수 있도록 하는 것을 특징으로 하는 방법.
  11. 제9항에 있어서, 갱신된 미디어 프리젠테이션 설명을 클라이언트에게 푸싱하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  12. 상기 항들 중 어느 한 항에 있어서,
    상기 생성단계는:
    - 서버 시각표 또는 벽 시간 중 소정의 것으로 상기 HTTP 전송 스트림의 미디어 재생 시각표의 맵핑의 설명을 상기 미디어 프리젠테이션 설명에 제공하는 단계를 포함하는 것을 특징으로 하는 방법.
  13. 상기 항들 중 어느 한 항에 있어서,
    상기 생성단계는:
    - 상기 주기 요소의 시작에서 시간 정렬이 되도록, 동일 주기 요소의 상이한 레프리젠테이션들의 미디어 세그먼트들을 배열하는 단계를 포함하는 것을 특징으로 하는 방법.
  14. 통신망의 적어도 하나의 망노드로부터 HTTP 미디어 스트림을 얻기 위해 통신망의 클라이언트에 의해 수행되는 방법에 있어서, 상기 방법은:
    - 미디어 재생 시각표에 따라 순차적으로 배열된, 적어도 하나의 주기 요소를 포함하는 미디어 프리젠테이션 설명을 상기 적어도 하나의 노드 중 하나로부터 취득하는 단계를 포함하되, 각 주기 요소는 적어도 하나의 레프리젠테이션을 포함하고 그리고 적어도 하나의 주기 요소 중 적어도 하나는, 각각이 적어도 하나의 미디어 세그먼트 URI의 정리된 시퀀스를 포함하는 적어도 두 개의 대안적 레프리젠테이션들을 포함하고, 각 미디어 세그먼트 URI는 상기 HTTP 미디어 스트림의 적어도 하나의 미디어 세그먼트를 참조하도록 구성되고, 그리고
    - 미디어 프리젠테이션 설명의 콘텐츠를 기반으로, 상기 주기 요소들 중 적어도 하나에 대해 레프리젠테이션을 선택하는 단계를 포함하고, 그리고
    - 각 선택된 레프리젠테이션에 대해, 각각의 레프리젠테이션과 관련된 참조된 미디어 세그먼트들을 취득하는 단계를 포함하는 것을 특징으로 하는 방법.
  15. 제14항에 있어서, 상기 선택단계는:
    - 각각의 주기 요소의 하나 이상의 레프리젠테이션 속성들을 기반으로 각각의 레프리젠테이션을 선택하는 단계를 포함하고, 레프리젠테이션 속성들 각각은 각각의 레프리젠테이션 또는 주기 요소를 나타내는 각각의 셋팅을 가지는 것을 특징으로 하는 방법.
  16. 제15항에 있어서,
    - 상기 적어도 하나의 망노드에서 클라이언트로 HTTP 미디어 스트림을 전송하는데 이용할 수 있는 비트율을 추정하는 단계와, 그리고
    - 비트율 종속 레프리젠테이션 속성인, 상기 하나 이상의 레프리젠테이션 속성들 중 적어도 하나를 고려함으로써, 상기 추정을 기반으로 적어도 하나의 주기 요소의 레프리젠테이션을 선택하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  17. 제15항 또는 제16항에 있어서, 상기 선택단계는:
    - 적어도 하나의 클라이언트 능력을 고려함으로써 각각의 레프리젠테이션을 선택하는 단계를 포함하는 것을 특징으로 하는 방법.
  18. 제14항 내지 제17항 중 어느 한 항에 있어서,
    - 미디어 프리젠테이셔 설명 갱신에 대해 상기 망노드를 폴링하는 단계와,
    - 미디어 프리젠테이션 설명이 갱신되었다고 결정되는 경우에 상기 갱신된 미디어 프리젠테이션 설명을 취득하여 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  19. 제18항에 있어서, 상기 폴링은 이전에 취득한 미디어 프리젠테이션 설명으로부터 취득하는 폴링 간격에 따라 수행되는 것을 특징으로 하는 방법.
  20. 제14항 내지 제 17항 중 어느 한 항에 있어서,
    - 상기 적어도 하나의 망노드로부터 제공되는 푸시 노티피케이션에서 갱신된 미디어 프리젠테이션 설명을 수신하는 단계와, 그리고
    - 상기 갱신된 미디어 프리젠테이션 설명을 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  21. 클라이언트가 액세스할 수 있는 HTTP 미디어 스트림을 만들 수 있는 통신망의 서버에 있어서, 상기 서버는:
    - 미디어 재생 시각표에 따라 순차적으로 배열되는, 적어도 하나의 주기 요소가 제공되고; 각 주기 요소에 적어도 하나의 레프리젠테이션이 제공되고 그리고 적어도 하나의 주기 요소 중 적어도 하나에 적어도 두 개의 대안 레프리젠테이션들이 제공되도록 미디어 프리젠테이션 설명(Media Presentation Description)을 생성하도록 구성되는 생성유닛을 포함하되, 각 레프리젠테이션에는 적어도 하나의 미디어 세그먼트 URI의 정리된 시퀀스가 제공되고, 각 미디어 세그먼트 URI는 상기 HTTP 미디어 스트림의 적어도 하나의 미디어 세그먼트를 참조하도록 구성되고, 그리고
    - 상기 클라이언트가 MPD를 취득할 수 있도록 하고; 미디어 프리젠테이션 설명의 상기 콘텐츠를 기반으로, 적어도 하나의 주기 요소에 대해 한 레프리젠테이션을 선택하고 또한 각 선택된 레프리젠테이션에 대해, 각각의 참조된 미디어 세그먼트들을 취득할 수 있도록 하기 위해, 미디어 프리젠테이션 설명을 만들도록 구성되는 제공유닛을 포함하는 것을 특징으로 하는 서버.
  22. 제21항에 있어서, 상기 생성유닛은 템플리트 포맷, 플레이리스트 포맷 또는 이들의 조합으로 기술되는 적어도 하나의 레프리젠테이션을 미디어 프리젠테이션 설명에 제공하도록 구성되는 것을 특징으로 하는 서버.
  23. 제21항 또는 제22항에 있어서, 상기 생성유닛은 각 미디어 세그먼트 URI에 대해, 각각의 참조된 하나 이상의 세그먼트들의 지속기간의 표시를 미디어 프리젠테이션 설명에 제공하도록 구성되는 것을 특징으로 하는 서버.
  24. 제21항, 제22항 또는 제23항 중 어느 한 항에 있어서, 상기 생성유닛은, 레프리젠테이션 속성을 기반으로 상기 클라이언트가 상기 레프리젠테이션들을 선택할 수 있도록, 상기 레프리젠테이션 속성과 각각의 레프리젠테이션 속성 셋팅을 동일 주기 요소와 관련된 각 레프리젠테이션에 제공하도록 구성되는 것을 특징으로 하는 서버.
  25. 제24항에 있어서, 상기 생성유닛은, 각 레프리젠테이션 속성이 주기 레벨에 제공되는 경우에 각 주기 요소의 모든 레프리젠테이션들에 대해 유효한 한편, 레프리젠테이션 레벨에 제공되는 경우에 각 주기 요소의 각각의 레프리젠테이션에 대해서만 유효하도록, 적어도 두 개의 상이한 범주들의 레프리젠테이션 속성들 제공하고, 또한 상기 레프리젠테이션 속성들을 계층적 방식으로 제공하도록 구성되는 것을 특징으로 하는 서버.
  26. 제21항 내지 제25항 중 어느 한 항에 있어서, 상기 생성유닛은, 적어도 하나의 레프리젠테이션을 부가함으로써, 적어도 하나의 레프리젠테이션을 제거함으로써, 또는 미디어 프리젠테이션 설명으로 적어도 한 레프리젠이션을 수정함으로써 미디어 프리젠테이션 설명을 갱신하도록 구성되는 것을 특징으로 하는 서버.
  27. 제26항에 있어서, 상기 생성유닛은 폴 간격의 표시를 미디어 프리젠테이션 설명에 제공하여, 폴 간격 표시에 의해 결정되는 간격에서 미디어 프리젠테이션 설명 갱신들들에 대해 상기 미디어 프리젠테이셔 설명을 취득한 클라이언트가 폴할 수 있도록 구성되는 것을 특징으로 하는 서버.
  28. 제26항에 있어서, 미디어 프리젠테이션 설명 갱신이 실행되었을 때를 인식하고 또한 갱신된 미디어 프리젠테이션 설명을 클라이언트로 푸시하도록 구성되는 통신유닛을 더 포함하는 것을 특징으로 하는 서버.
  29. 제21항 내지 제28항 중 어느 한 항에 있어서, 상기 생성유닛은, 서버 시각표 또는 벽 시간 중 어느 것으로 상기 HTTP 전송 스트림의 미디어 재생 시각표의 맵핑의 설명을 상기 미디어 프리젠테이션 설명에 제공하도록 구성되는 것을 특징으로 하는 서버.
  30. 제29항에 있어서, 상기 생성유닛은, 상기 주기 요소의 시작에서 시간 정렬되도록 동일 주기 요소의 상이한 레프리젠테이션들의 미디어 세그먼트들을 배열하도록 구성되는 것을 특징으로 하는 서버.
  31. 통신망의 적어도 하나의 망노드로부터 HTTP 미디어 스트림을 취득할 수 있는 통신망의 클라이언트에 있어서, 상기 클라이언트는:
    - 미디어 재생 시각표에 따라 순차적으로 배열된, 적어도 하나의 주기 요소를 포함하는 미디어 프리젠테이션 설명을 상기 적어도 하나의 노드 중 하나로부터 취득하도록 구성되는 요청유닛을 포함하되, 각 주기 요소는 적어도 하나의 레프리젠테이션을 포함하고 그리고 적어도 하나의 주기 요소 중 적어도 하나는, 각각이 적어도 하나의 미디어 세그먼트 URI의 정리된 시퀀스를 포함하는 적어도 두 개의 대안적 레프리젠테이션들을 포함하고, 각 미디어 세그먼트 URI는 상기 HTTP 미디어 스트림의 적어도 하나의 미디어 세그먼트를 참조하고 또한 각각의 레프리젠테이션과 관련된, 참조된 미디어 세그먼트를 취득하고, 그리고
    - 미디어 프리젠테이션 설명의 콘텐츠를 기반으로, 상기 주기 요소들 중 적어도 하나에 대해 레프리젠테이션을 선택하도록 구성되는 선택유닛을 포함하는 것을 특징으로 하는 클라이언트.
  32. 제31항에 있어서, 상기 선택유닛은, 상기 레프리젠테이션의 적어도 하나의 레프리젠테이션 속성을 기반으로, 각각의 레프리젠테이션을 선택하여, 선택된 레프리젠테이션에 의해 참조되는 하나 이상의 미디어 세그먼트들을 상기 요청유닛이 취득할 수 있도록 구성되는 것을 특징으로 하는 클라이언트.
  33. 제32항에 있어서, 상기 적어도 하나의 망노드에서 클라이언트로 HTTP 미디어 스트림을 전송하는데 이용할 수 있는 비트율을 추정하여, 비트율 종속 레프리젠테이션 속성인, 상기 하나 이상의 레프리젠테이션 속성들 중 적어도 하나를 고려함으로써, 상기 추정을 기반으로 적어도 하나의 주기 요소의 레프리젠테이션을 상기 선택유닛이 선택할 수 있도록 구성되는 추정유닛을 더 포함하는 것을 특징으로 하는 클라이언트.
  34. 제32항 또는 제33항에 있어서, 상기 선택유닛은, 적어도 하나의 클라이언트 능력을 고려함으로써 각각의 레프리젠테이션을 선택하도록 더 구성되는 것을 특징으로 하는 클라이언트.
  35. 제30항 내지 제34항 중 어느 한 항에 있어서, 상기 요청유닛은, 미디어 프리젠테이션 설명 갱신들에 대해 상기 망노드를 폴하고, 또한 미디어 프리젠테이션 설명이 갱신되었다고 판단되는 경우에 상기 망노드로부터 갱신된 미디어 프리젠테이션 설명을 취득하도록 더 구성되는 것을 특징으로 하는 클라이언트.
  36. 제35항에 있어서, 상기 요청유닛은, 이전에 취득된 미디어 프리젠테이션으로부터 취득되는 폴링 간격을 적용함으로써 미디어 프리젠테이션 설명 갱신들에 대해 상기 망노드를 폴하도록 구성되는 것을 특징으로 하는 클라이언트.
  37. 제30항 내지 제34항 중 어느 한 항에 있어서, 상기 요청유닛은 상기 적어도 하나의 망노드로부터, 갱신된 미디어 프리젠테이션 설명을 포함하는 푸시 노티피케이션을 수신하도록 구성되는 것을 특징으로 하는 클라이언트.
KR1020127018847A 2010-01-18 2011-01-18 에이치티티피 미디어 스트림 분배를 위한 방법과 배열 KR101636108B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US29583010P 2010-01-18 2010-01-18
US61/295,830 2010-01-18
US29610410P 2010-01-19 2010-01-19
US61/296,104 2010-01-19

Publications (2)

Publication Number Publication Date
KR20120117829A true KR20120117829A (ko) 2012-10-24
KR101636108B1 KR101636108B1 (ko) 2016-07-04

Family

ID=43734037

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127018847A KR101636108B1 (ko) 2010-01-18 2011-01-18 에이치티티피 미디어 스트림 분배를 위한 방법과 배열

Country Status (8)

Country Link
US (1) US9621610B2 (ko)
EP (1) EP2526671B1 (ko)
JP (1) JP5667646B2 (ko)
KR (1) KR101636108B1 (ko)
CN (1) CN102714662B (ko)
CA (1) CA2784233C (ko)
DK (1) DK2526671T3 (ko)
WO (1) WO2011087449A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160114203A (ko) * 2014-02-13 2016-10-04 코닌클리즈케 케이피엔 엔.브이. 단일 메세지 요청에 기초하여 네트워크 노드로부터 다수의 청크 요청

Families Citing this family (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
EP1999883A4 (en) 2006-03-14 2013-03-06 Divx Llc FEDERATED DIGITAL RIGHTS MANAGEMENT SYSTEM COMPRISING CONFIDENCE SYSTEMS
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
CN103561278B (zh) 2007-01-05 2017-04-12 索尼克知识产权股份有限公司 包含连续播放的视频分配系统
CN101861583B (zh) 2007-11-16 2014-06-04 索尼克Ip股份有限公司 用于多媒体文件的分级及简化索引结构
US8260877B2 (en) 2008-12-31 2012-09-04 Apple Inc. Variant streams for real-time or near real-time streaming to provide failover protection
US8156089B2 (en) 2008-12-31 2012-04-10 Apple, Inc. Real-time or near real-time streaming with compressed playlists
US20100169458A1 (en) 2008-12-31 2010-07-01 David Biderman Real-Time or Near Real-Time Streaming
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
CA2782825C (en) 2009-12-04 2016-04-26 Divx, Llc Elementary bitstream cryptographic material transport systems and methods
US8805963B2 (en) 2010-04-01 2014-08-12 Apple Inc. Real-time or near real-time streaming
GB201105502D0 (en) 2010-04-01 2011-05-18 Apple Inc Real time or near real time streaming
GB2479455B (en) 2010-04-07 2014-03-05 Apple Inc Real-time or near real-time streaming
KR101652255B1 (ko) * 2010-04-26 2016-09-09 삼성전자주식회사 라이브 컨텐츠의 효과적인 재생방법
US8667164B2 (en) 2010-04-26 2014-03-04 Samsung Electronics Co., Ltd. Method and apparatus for playing live content
US9253548B2 (en) * 2010-05-27 2016-02-02 Adobe Systems Incorporated Optimizing caches for media streaming
GB201010456D0 (en) * 2010-06-22 2010-08-04 Vodafone Ip Licensing Ltd Congestion control for streaming data
EP3122056B1 (en) 2010-09-01 2020-07-29 Ideahub Inc. Method and device for providing content via http adaptive streaming using a general media presentation description and specific media presentation descriptions
WO2012065186A2 (en) * 2010-11-12 2012-05-18 Realnetworks, Inc. Traffic management in adaptive streaming protocols
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
KR20120079880A (ko) * 2011-01-06 2012-07-16 삼성전자주식회사 스트리밍 서비스 시스템에서 북마크 생성 장치 및 방법
US9661104B2 (en) * 2011-02-07 2017-05-23 Blackberry Limited Method and apparatus for receiving presentation metadata
WO2012125006A2 (ko) * 2011-03-16 2012-09-20 한국전자통신연구원 레프리젠테이션을 사용하는 스트리밍 콘텐츠 제공 장치 및 방법
US8843586B2 (en) * 2011-06-03 2014-09-23 Apple Inc. Playlists for real-time or near real-time streaming
US8856283B2 (en) 2011-06-03 2014-10-07 Apple Inc. Playlists for real-time or near real-time streaming
US20130191745A1 (en) * 2012-01-10 2013-07-25 Zane Vella Interface for displaying supplemental dynamic timeline content
US9762967B2 (en) 2011-06-14 2017-09-12 Comcast Cable Communications, Llc System and method for presenting content with time based metadata
US8812662B2 (en) 2011-06-29 2014-08-19 Sonic Ip, Inc. Systems and methods for estimating available bandwidth and performing initial stream selection when streaming content
US9258344B2 (en) * 2011-08-01 2016-02-09 Intel Corporation Multi-hop single sign-on (SSO) for identity provider (IdP) roaming/proxy
US9590814B2 (en) * 2011-08-01 2017-03-07 Qualcomm Incorporated Method and apparatus for transport of dynamic adaptive streaming over HTTP (DASH) initialization segment description fragments as user service description fragments
WO2013033458A2 (en) 2011-08-30 2013-03-07 Divx, Llc Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8818171B2 (en) 2011-08-30 2014-08-26 Kourosh Soroushian Systems and methods for encoding alternative streams of video for playback on playback devices having predetermined display aspect ratios and network connection maximum data rates
US8787570B2 (en) 2011-08-31 2014-07-22 Sonic Ip, Inc. Systems and methods for automatically genenrating top level index files
US8799647B2 (en) 2011-08-31 2014-08-05 Sonic Ip, Inc. Systems and methods for application identification
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US9591361B2 (en) * 2011-09-07 2017-03-07 Qualcomm Incorporated Streaming of multimedia data from multiple sources
EP3968691A1 (en) * 2011-10-21 2022-03-16 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. Resource management concept
US9712891B2 (en) 2011-11-01 2017-07-18 Nokia Technologies Oy Method and apparatus for selecting an access method for delivery of media
US8977704B2 (en) 2011-12-29 2015-03-10 Nokia Corporation Method and apparatus for flexible caching of delivered media
PL2798816T3 (pl) * 2011-12-29 2016-11-30 Inicjowane sieciowo sterowanie strumieniowego przesyłania zawartości
US20130179199A1 (en) 2012-01-06 2013-07-11 Rovi Corp. Systems and methods for granting access to digital content using electronic tickets and ticket tokens
US20130182643A1 (en) * 2012-01-16 2013-07-18 Qualcomm Incorporated Method and system for transitions of broadcast dash service receptions between unicast and broadcast
CN104040993A (zh) * 2012-01-17 2014-09-10 瑞典爱立信有限公司 用于发送相应地接收媒体流的方法
EP2805523B1 (en) 2012-01-19 2019-03-27 VID SCALE, Inc. Methods and systems for video delivery supporting adaption to viewing conditions
US9401968B2 (en) * 2012-01-20 2016-07-26 Nokia Techologies Oy Method and apparatus for enabling pre-fetching of media
EP2661045A1 (en) * 2012-05-04 2013-11-06 Thomson Licensing Method and apparatus for providing a plurality of transcoded content streams
EP4250745A3 (en) 2012-07-09 2023-11-15 Vid Scale, Inc. Power aware video decoding and streaming
US8924582B2 (en) * 2012-07-09 2014-12-30 Futurewei Technologies, Inc. Dynamic adaptive streaming over hypertext transfer protocol client behavior framework and implementation of session management
US20140052824A1 (en) * 2012-08-20 2014-02-20 Qualcomm Incorporated Conveying state information for streaming media
US20140068657A1 (en) * 2012-08-29 2014-03-06 The Directv Group, Inc. Method and apparatus for inserting advertising into a video signal at a receiving device not having a digital video recorder (non-dvr) receiver
US9936267B2 (en) 2012-08-31 2018-04-03 Divx Cf Holdings Llc System and method for decreasing an initial buffering period of an adaptive streaming system
US8949206B2 (en) * 2012-10-04 2015-02-03 Ericsson Television Inc. System and method for creating multiple versions of a descriptor file
US10708335B2 (en) 2012-11-16 2020-07-07 Time Warner Cable Enterprises Llc Situation-dependent dynamic bit rate encoding and distribution of content
JP6141628B2 (ja) * 2012-12-07 2017-06-07 ハンファテクウィン株式会社Hanwha Techwin Co.,Ltd. 映像信号圧縮装置、映像信号伸長装置、映像信号圧縮方法、及び映像信号伸長方法
JP6139872B2 (ja) * 2012-12-10 2017-05-31 キヤノン株式会社 情報処理装置及びその制御方法、プログラム、記憶媒体、並びに、映像処理システム
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9426196B2 (en) 2013-01-04 2016-08-23 Qualcomm Incorporated Live timing for dynamic adaptive streaming over HTTP (DASH)
ES2606552T3 (es) * 2013-01-16 2017-03-24 Huawei Technologies Co., Ltd. Inserción y adición de parámetros de URL en flujo continuo adaptativo
FR3002105A1 (fr) * 2013-02-13 2014-08-15 France Telecom Procede de selection de la representation des segments d'un contenu multimedia transmis sur un reseau de communication
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
HUE043713T2 (hu) * 2013-03-29 2019-09-30 Intel Ip Corp Minõségtudatos sebességillesztési technikák DASH streameléshez
US9438652B2 (en) 2013-04-15 2016-09-06 Opentv, Inc. Tiered content streaming
CA2908163A1 (en) * 2013-04-19 2014-10-23 Sony Corporation Information processing device, content requesting method, and computer program
CN104125516B (zh) 2013-04-24 2018-09-28 华为技术有限公司 媒体文件接收、媒体文件发送方法和装置及系统
FR3005820B1 (fr) 2013-05-17 2015-05-29 Envivio France Procede de gestion de listes de lecture personnalisees du type comprenant un gabarit d'uri et une liste d'identifiants de segments.
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9100687B2 (en) 2013-05-31 2015-08-04 Sonic Ip, Inc. Playback synchronization across playback devices
US9380099B2 (en) 2013-05-31 2016-06-28 Sonic Ip, Inc. Synchronizing multiple over the top streaming clients
EP2819367A1 (en) 2013-06-28 2014-12-31 Thomson Licensing Method for retrieving, by a client terminal, a content part of a multimedia content
JP6444398B2 (ja) 2013-07-03 2018-12-26 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ セグメント化コンテンツのストリーミング
RU2671946C2 (ru) * 2013-07-19 2018-11-08 Сони Корпорейшн Устройство и способ обработки информации
US9386067B2 (en) 2013-12-30 2016-07-05 Sonic Ip, Inc. Systems and methods for playing adaptive bitrate streaming content by multicast
US10476930B2 (en) * 2014-01-06 2019-11-12 Intel IP Corporation Client/server signaling commands for dash
WO2015109492A1 (zh) * 2014-01-23 2015-07-30 华为技术有限公司 移动终端、第一基站及流媒体分段获取方法
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
US10045050B2 (en) 2014-04-25 2018-08-07 Vid Scale, Inc. Perceptual preprocessing filter for viewing-conditions-aware video coding
US10523723B2 (en) 2014-06-06 2019-12-31 Koninklijke Kpn N.V. Method, system and various components of such a system for selecting a chunk identifier
US10033824B2 (en) * 2014-06-30 2018-07-24 Samsung Electronics Co., Ltd. Cache manifest for efficient peer assisted streaming
US10749919B2 (en) * 2014-07-07 2020-08-18 Saturn Licensing Llc Reception device, reception method, transmission device, and transmission method for distributing signaling information
CA2952847A1 (en) 2014-08-07 2016-02-11 Sonic Ip, Inc. Systems and methods for protecting elementary bitstreams incorporating independently encoded tiles
US9894130B2 (en) * 2014-09-23 2018-02-13 Intel Corporation Video quality enhancement
JP6944371B2 (ja) 2015-01-06 2021-10-06 ディビックス, エルエルシー コンテンツを符号化し、デバイス間でコンテンツを共有するためのシステムおよび方法
EP3057319A1 (en) * 2015-02-10 2016-08-17 Harmonic Inc. Adaptive resolution video decoder
US9826016B2 (en) 2015-02-24 2017-11-21 Koninklijke Kpn N.V. Fair adaptive streaming
CN107251008B (zh) 2015-02-27 2020-11-13 帝威视有限公司 在实况视频编码和流传输中进行帧复制和帧扩展的系统和方法
CN104935595B (zh) * 2015-06-16 2019-10-15 华为技术有限公司 内容项聚合方法和相关装置及通信系统
CN106936808B (zh) * 2015-12-31 2021-01-26 中兴通讯股份有限公司 Http流媒体传输方法及装置
US10075292B2 (en) 2016-03-30 2018-09-11 Divx, Llc Systems and methods for quick start-up of playback
US10129574B2 (en) 2016-05-24 2018-11-13 Divx, Llc Systems and methods for providing variable speeds in a trick-play mode
US10587934B2 (en) * 2016-05-24 2020-03-10 Qualcomm Incorporated Virtual reality video signaling in dynamic adaptive streaming over HTTP
US10231001B2 (en) 2016-05-24 2019-03-12 Divx, Llc Systems and methods for providing audio content during trick-play playback
JP6669402B2 (ja) * 2016-05-26 2020-03-18 キヤノン株式会社 通信装置、システム、情報処理方法及びプログラム
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
JP7162295B2 (ja) * 2018-08-01 2022-10-28 株式会社radiko セグメントファイル分割機能を備えたストリーム配信システム及びプログラム
JP7305371B2 (ja) * 2019-02-20 2023-07-10 キヤノン株式会社 情報配信装置、情報配信方法及びプログラム
EP3942437B1 (en) 2019-03-21 2024-01-10 DivX, LLC Systems and methods for multimedia swarms
US11606592B2 (en) * 2019-10-01 2023-03-14 Tencent America LLC Playlist events for combining multiple media timelines and content-insertion in dash streaming
WO2023056386A1 (en) * 2021-10-01 2023-04-06 Bytedance Inc. Method, apparatus, and medium for video processing

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6128653A (en) * 1997-03-17 2000-10-03 Microsoft Corporation Method and apparatus for communication media commands and media data using the HTTP protocol
JP2002149673A (ja) 2000-06-14 2002-05-24 Matsushita Electric Ind Co Ltd データ処理装置およびデータ処理方法
WO2002057943A1 (en) * 2001-01-18 2002-07-25 Yahoo! Inc. Method and system for managing digital content, including streaming media
US6910078B1 (en) * 2001-11-15 2005-06-21 Cisco Technology, Inc. Methods and apparatus for controlling the transmission of stream data
FR2834285B1 (fr) * 2002-01-02 2004-10-01 Ondeo Degremont Procede de traitement des boues et des dechets issus du traitement d'eaux usees
US7451229B2 (en) * 2002-06-24 2008-11-11 Microsoft Corporation System and method for embedding a streaming media format header within a session description message
US8204079B2 (en) * 2002-10-28 2012-06-19 Qualcomm Incorporated Joint transmission of multiple multimedia streams
US20070110074A1 (en) * 2004-06-04 2007-05-17 Bob Bradley System and Method for Synchronizing Media Presentation at Multiple Recipients
JP2007074684A (ja) 2005-09-09 2007-03-22 Ssc Partners:Kk 動画配信システム
JP2007207328A (ja) * 2006-01-31 2007-08-16 Toshiba Corp 情報記憶媒体、プログラム、情報再生方法、情報再生装置、データ転送方法、及びデータ処理方法
US9432433B2 (en) * 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
KR20080018778A (ko) 2006-08-25 2008-02-28 삼성전자주식회사 Av 컨텐츠를 세그먼트 단위로 실행하는 방법, 제어포인트 장치 및 홈 네트워크 시스템
US8543720B2 (en) * 2007-12-05 2013-09-24 Google Inc. Dynamic bit rate scaling
KR20100121574A (ko) 2008-02-15 2010-11-18 파나소닉 주식회사 재생장치, 기록장치, 재생방법 및 기록방법
US8612620B2 (en) 2008-04-11 2013-12-17 Mobitv, Inc. Client capability adjustment
US8379851B2 (en) * 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US9167007B2 (en) * 2008-06-06 2015-10-20 Amazon Technologies, Inc. Stream complexity mapping
US20090307602A1 (en) * 2008-06-06 2009-12-10 Life In Focus, Llc Systems and methods for creating and sharing a presentation
US8205004B1 (en) * 2009-06-26 2012-06-19 Adobe Systems Incorporated Multi-bit-rate streaming delivery
US8914835B2 (en) * 2009-10-28 2014-12-16 Qualcomm Incorporated Streaming encoded video data
BR112012001150B1 (pt) 2009-11-09 2021-06-29 Snaptrack, Inc Método para implementar serviço de transmissão baseado em http
KR101786051B1 (ko) 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치
KR101786050B1 (ko) 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 전송 방법 및 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ALEX ZAMBELLI: "IIS Smooth Streaming Technical Overview", pages 1 - 18, XP002620446, Retrieved from the Internet <URL:http://www.microsoft.com/downloads/en/details.aspx?FamilyID=03d22583-3ed6-44da-8464-b1b4b5ca7520> [retrieved on 20110121] *
PANTOS R: "HTTP Live Streaming DRAFT-PANTOS-HTTP-LIVE-STREAMING-00", INTERNET-DRAFT INFORMATIONAL DRAFT, XX, XX, 1 May 2009 (2009-05-01), XX, pages 1 - 17, XP002606603, Retrieved from the Internet <URL:http://tools.ietf.org/html/draft-pantos-http-live-streaming-00> [retrieved on 20101021] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160114203A (ko) * 2014-02-13 2016-10-04 코닌클리즈케 케이피엔 엔.브이. 단일 메세지 요청에 기초하여 네트워크 노드로부터 다수의 청크 요청

Also Published As

Publication number Publication date
CN102714662A (zh) 2012-10-03
CN102714662B (zh) 2017-06-09
JP2013517676A (ja) 2013-05-16
KR101636108B1 (ko) 2016-07-04
US9621610B2 (en) 2017-04-11
CA2784233A1 (en) 2011-07-21
CA2784233C (en) 2017-05-16
EP2526671B1 (en) 2016-11-16
WO2011087449A1 (en) 2011-07-21
US20120290644A1 (en) 2012-11-15
DK2526671T3 (en) 2017-02-27
EP2526671A1 (en) 2012-11-28
JP5667646B2 (ja) 2015-02-12

Similar Documents

Publication Publication Date Title
KR101636108B1 (ko) 에이치티티피 미디어 스트림 분배를 위한 방법과 배열
AU2018202004B2 (en) Enhanced streaming media playback
US11477521B2 (en) Media presentation description patches for video streaming
US9344517B2 (en) Downloading and adaptive streaming of multimedia content to a device with cache assist
US9639246B2 (en) Seamless playback of composite media
US9558282B2 (en) Playlists for real-time or near real-time streaming
JP5658820B2 (ja) Httpストリーミングのためのメディアプレゼンテーション記述デルタファイル
US8639832B2 (en) Variant streams for real-time or near real-time streaming to provide failover protection
JP2016519895A (ja) メディアファイル受信およびメディアファイル送信方法、装置、およびシステム
JP6609468B2 (ja) 受信装置、再生時刻制御方法、及びプログラム
JP6535273B2 (ja) 受信装置、セグメント取得方法、及びプログラム
JP6581884B2 (ja) 受信装置、バッファ管理方法、及びプログラム
CN114501166A (zh) Dash点播快进快退方法及系统
WO2022128898A1 (en) Low latency live video streaming
JP2020129734A (ja) コンテンツ生成装置、受信装置、及びプログラム

Legal Events

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

Payment date: 20190614

Year of fee payment: 4