KR20120038367A - 스트리밍 컨텐츠 제공 장치 및 방법 - Google Patents

스트리밍 컨텐츠 제공 장치 및 방법 Download PDF

Info

Publication number
KR20120038367A
KR20120038367A KR1020110100706A KR20110100706A KR20120038367A KR 20120038367 A KR20120038367 A KR 20120038367A KR 1020110100706 A KR1020110100706 A KR 1020110100706A KR 20110100706 A KR20110100706 A KR 20110100706A KR 20120038367 A KR20120038367 A KR 20120038367A
Authority
KR
South Korea
Prior art keywords
period
media
attribute
type
information
Prior art date
Application number
KR1020110100706A
Other languages
English (en)
Other versions
KR101206698B1 (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=45928228&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR20120038367(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 한국전자통신연구원, 한국항공대학교산학협력단 filed Critical 한국전자통신연구원
Priority to KR1020110100706A priority Critical patent/KR101206698B1/ko
Priority to CN201180048729.0A priority patent/CN103181186B/zh
Priority to US13/824,995 priority patent/US8909805B2/en
Priority to EP17184168.7A priority patent/EP3273404A1/en
Priority to PCT/KR2011/007387 priority patent/WO2012047028A2/ko
Priority to EP11830913.7A priority patent/EP2626829A4/en
Priority to CN201610221910.1A priority patent/CN105704159A/zh
Priority to EP17162129.5A priority patent/EP3226198A1/en
Publication of KR20120038367A publication Critical patent/KR20120038367A/ko
Publication of KR101206698B1 publication Critical patent/KR101206698B1/ko
Application granted granted Critical
Priority to US14/247,488 priority patent/US9986009B2/en
Priority to US14/247,697 priority patent/US9369512B2/en
Priority to US15/990,251 priority patent/US20180288125A1/en

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q90/00Systems or methods specially adapted for administrative, commercial, financial, managerial or supervisory purposes, not involving significant data processing
    • 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
    • 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/80Responding to QoS
    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2355Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
    • H04N21/2358Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages for generating different versions, e.g. for different recipient devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8541Content authoring involving branching, e.g. to different story endings

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

미디어 콘텐츠에 대한 메타데이터를 사용하는 적응형 HTTP 스트리밍 서비스를 위한 방법 및 장치가 개시된다. 미디어 콘텐츠는 하나 이상의 주기들의 일련으로 구성된다. 메타데이터는 각 주기의 시작 시각 속성 및/또는 지속시간 속성을 포함할 수 있다. 메타데이터는 각 주기의 시작 시간 및 상기 주기가 포함하는 세그먼트들의 시작 시각을 결정한다. 단말은 각 주기가 포함하는 세그먼트들에 접근하고, 세그먼트들 내에 포함된 미디어 콘텐츠의 데이터를 디코딩 및 렌더링함으로써 미디어 콘텐츠를 재생한다.

Description

스트리밍 컨텐츠 제공 장치 및 방법{APPARATUS AND METHOD FOR PROVIDING STREAMING CONTENTS}
본 발명의 기술 분야는 스트리밍 컨텐츠 제공 기술에 관한 것으로, 특히, 적응적 스트리밍을 이용한 미디어 콘텐츠 제공 장치 및 방법에 관한 것이다.
스트리밍(streaming)은 소리 및 동영상 등의 멀티미디어 콘텐츠를 전송 및 재생하기 위한 방식 중 하나이다. 클라이언트는 스트리밍을 통해 콘텐츠을 수신하는 동시에 상기의 콘텐츠를 재생할 수 있다.
적응적 스트리밍 서비스는, 클라이언트의 요청 및 상기의 요청에 대한 서버의 응답으로 구성되는 통신 방식을 통해 스트리밍 서비스를 제공하는 것을 의미한다.
클라이언트는 적응적 스트리밍 서비스를 통해 자신의 환경(예컨대, 자신의 전송 채널)에 적합한 미디어 시퀀스를 요청할 수 있으며, 서버는 자신이 갖고 있는 다양한 퀄리티의 미디어 시퀀스들 중 클라이언트의 요청에 부합하는 미디어 시퀀스를 제공할 수 있다.
적응적 스트리밍 서비스는 다양한 프로토콜에 기반하여 제공될 수 있다.
HTTP 적응적 스트리밍 서비스는 HTTP 프로코콜에 기반하여 제공되는 적응적 스트리밍 서비스를 의미한다. HTTP 적응적 스트리밍 서비스의 클라이언트는 HTTP 프로토콜을 사용하여 서버로부터 콘텐츠를 제공받을 수 있으며, 스트리밍 서비스와 관련된 요청을 서버에게 전송할 수 있다.
본 발명의 일 실시예는 각 주기 별로 구분된 세그먼트들을 사용하여 하나 이상의 주기들의 일련으로 구성된 미디어를 재생하는 장치 및 방법을 제공할 수 있다.
본 발명의 일 실시예는 하나 이상의 주기들의 일련으로 구성된 미디어를 재생함에 있어서 각 주기의 시작 시각 속성 및/또는 지속시간 속성을 나타내는 메타데이터를 사용하는 장치 및 방법을 제공할 수 있다.
본 발명의 일 측에 따르면, 하나 이상의 주기들을 포함하는 미디어의 메타데이터를 수신하는 단계, 상기 메타데이터가 제공하는 정보에 기반하여 상기 미디어의 세그먼트들에 접근하는 단계 및 상기 세그먼트들 내에 포함된 상기 미디어의 데이터를 디코딩 및 렌더링하는 단계를 포함하고, 각 주기는 상기 미디어의 하나 이상의 레프리젠테이션들을 포함하고, 각 레프리젠테이션은 상기 주기의 시작점에서 시작하고 상기 주기의 종료점까지 지속하며, 하나 이상의 세그먼트들을 포함하는, 미디어 제공 방법이 제공된다.
상기 메타데이터는 상기 미디어 콘텐츠의 미디어 정보(media presentation description; MPD)일 수 있다.
상기 하나 이상의 주기들 각각은 주기 요소에 의해 정의될 수 있다.
상기 주기 요소는 상기 주기의 시작 시각을 특정하는 시작 속성을 포함할 수 있다.
상기 주기 요소는 상기 주기의 지속시간을 특정하는 지속시간 속성을 포함할 수 있다.
상기 지속시간 속성은 상기 주기의 다음 주기의 시작 시각을 특정할 수 있다.
상기 주기의 시작 시각은 상기 주기에 포함되는 상기 세그먼트들의 시작 시각을 결정할 수 있다.
상기 주기 요소는 외부의 주기 요소에 대한 참조를 특정하는 참조 속성을 포함할 수 있고, 상기 주기는 상기의 외부의 주기 요소에 의해 정의될 수 있다.
본 발명의 다른 일 측에 따르면, 하나 이상의 주기들을 포함하는 미디어의 메타데이터를 수신하고, 상기 메타데이터가 제공하는 정보에 기반하여 상기 미디어의 세그먼트들을 수신하고, 상기 세그먼트들 내에 포함된 상기 미디어의 데이터를 디코딩하는 접근 엔진 및 상기 접근 엔진으로부터 상기 미디어의 데이터를 제공받아 상기 미디어를 출력하는 미디어 엔진을 포함하고, 각 주기는 상기 미디어의 하나 이상의 레프리젠테이션들을 포함하고, 각 레프리젠테이션은 상기 주기의 시작점에서 시작하고 상기 주기의 종료점까지 지속하며, 하나 이상의 세그먼트들을 포함하는, 단말이 제공된다.
본 발명의 일 실시예에 따른 방법 및 장치는 하나 이상의 주기들의 일련으로 구성된 미디어를 재생함에 있어서, 각 주기에 포함되는 세그먼트들을 사용할 수 있다.
본 발명의 일 실시예에 따른 방법 및 장치는 하나 이상의 주기들의 일련으로 구성된 미디어를 재생함에 있어서, 각 주기의 시작 시간 속성 및 지속시간 속성을 나타내는 메타데이터를 사용할 수 있다.
도 1은 본 발명의 일 실시예에 따른 콘텐츠 처리 방법의 신호 흐름도이다..
도 2는 본 발명의 일 예에 따른 시그널링 정보의 카테고리들을 도시한다.
도 3은 본 발명의 일 예에 따른 콘텐츠 디비전(division)의 계층 및 시그널링 정보의 레벨들(levels)을 나타낸다.
도 4는 본 발명의 일 예에 따른 MPEG-2 TS 내에서의 가상 경계들의 감지를 설명한다.
도 5는 본 발명의 일 실시예에 따른 클라이언트의 구조도이다.
이하에서, 본 발명의 일 실시예를, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
HTTP 상의 동적 적응적 스트리밍(Dynamic Adaptive Streaming over HTTP; DASH)는 1) HTTP 서버로부터 HTTP 클라이언트로의 미디어 콘텐츠의 전달을 가능하게 하고, 2) 표준(standard) HTTP 캐쉬(cache)들에 의한 콘텐츠의 캐슁(caching)을 가능하게 하는 포맷(format)들을 명세한다.
미디어 컴포넌트(media component)는, 예컨대 대역폭(bandwidth), 언어(language) 또는 해상도(resolution)와 같은, 특정한 속성(attribute)들을 갖는 오디오(audio), 비디오(video) 또는 자막(timed text)과 같은 개별(individual) 미디어 타입(type)들의 인코드된(encoded) 버전(version)이다.
미디어 콘텐츠는, 예컨대 비디오, 오디오 및 자막과 같은, 공통(common) 타임라인(timeline)을 갖는 미디어 컴포넌트들의 집합이다. 또한, 미디어 컴포넌트들은 프로그램 또는 영화로서 어떻게(예를 들면, 개별적으로(individually), 결합하여(jointly) 또는 상호 배타적(mutually exclusive)으로) 미디어 컴포넌트들이 상연(present)될 지에 대한 관계(relationships)를 갖는다.
하기에서, 미디어 콘텐츠, 미디어 및 콘텐츠는 동일한 의미로 사용될 수 있다.
미디어 프리젠테이션(또는, 미디어)은 연속적인 미디어의 컴포넌트들로 구성된 미디어 콘텐츠의 제한되거나(bounded) 제한되지 않은(unbounded) 프리젠테이션(presentation)을 설정하는(establish) 데이터의 구조화된(structured) 컬렉션(collection)이다.
즉, 미디어 프리젠테이션은 스트리밍 서비스를 사용자에게 제공하기 위해, DASH 클라이언트에게 접근 가능한 데이터의 구조화된 컬렉션이다.
미디어 정보(media presentation description; MPD)는 미디어 프리젠테이션의 양식화된(formalized) 설명(description)일 수 있다.
미디어 프리젠테이션은, MPD의 가능한 업데이트들(possible updates)을 포함하여, MPD에 의해 설명될 수 있다.
콘텐츠는 요청(demand)에 따른 콘텐츠 또는 라이브(live) 콘텐츠일 수 있다.
콘텐츠는 하나 이상의 인터벌(interval)들로 나뉘어질 수 있다. 즉, 콘텐츠는 하나 이상의 인터벌들을 포함할 수 있다.
하기에서, 인터벌 및 주기(period)는 동일한 의미로 사용될 수 있다. 특히, 주기는 3GPP(Generation Partnership Project) 적응적 HTTP 스트리밍에서 사용되는 용어일 수 있다. 즉, 주기는 미디어 프리젠테이션의 인터벌일 수 있다. 모든 주기들의 연속적인 일련(sequence)은 미디어 프리젠테이션을 구성한다.
즉, 미디어 프리젠테이션은 하나 이상의 주기들을 포함할 수 있다. 또는, 미디어 프리젠테이션은 하나 이상의 주기들의 일련으로 구성될 수 있다.
하나 이상의 인터벌들은 기본 유닛일 수 있다. 하나 이상의 인터벌들은 메타데이터를 시그널링함에 의해 설명될 수 있다. 즉, 메타데이터는 하나 이상의 인터벌들 각각을 설명할 수 있다.
상기의 메타데이터는 MPD일 수 있다.
MPD는 세그먼트를 위한 자원 식별자들을 알리기 위한 포맷을 정의할 수 있다. MPD는 미디어 프리젠테이션 내에서의 식별된 자원들에 대한 컨텍스트(context)를 제공할 수 있다. 자원 식별자들은 HTTP-URL일 수 있다. URL들은 바이트 범위(byte range) 속성에 의해 제한될 수 있다.
각 인터벌은 세그먼트(segment)들로 나뉘어질 수 있다. 하기에서, 세그먼트 및 프래그먼트(fragment)는 동일한 의미로 사용될 수 있다. 세그먼트는 3GPP(Generation Partnership Project) 적응적 HTTP 스트리밍의 용어일 수 있다.
세그먼트는, 예컨대 RFC 2616에서 정의된, HTTP-URL에 대한 HTTP/1.1 GET 요청(또는, 바이트 범위(range)에 의해 가리켜진(indicated) 일부에 대한 GET 요청)에 대한 응답(response)의 객체(entity) 바디(body)를 의미할 수 있다.
단말은, 수신된 바이트들(즉, 세그먼트)을 사용하여 미디어 콘텐츠를 재생할 수 있다.
부(sub)-세그먼트는 세그먼트 레벨에서의 세그먼트 인덱스(index)에 의해 인덱스될 수 있는 세그먼트들 내의 가장 작은(smallest) 유닛(unit)을 의미할 수 있다.
하나의 인터벌에 대응하는 두 개 이상의 프래그먼트의 집합들이 있을 수 있다. 프래그먼트의 집합들 각각을 대안(alternative)으로 명명한다.
대안 및 레프리젠테이션(representation)(또는, 표현)은 동일한 의미로 사용될 수 있다.
각 주기는 하나 이상의 그룹들을 포함할 수 있다.
각 그룹은 동일한 미디어 콘텐츠의 하나 이상의 레프리젠테이션들을 포함할 수 있다. 따라서, 각 주기는 미디어 콘텐츠의 하나 이상의 레프리젠테이션들을 포함할 수 있다.
하기에서, 그룹 및 적응 집합(adaptation set)은 동일한 의미로 사용될 수 있다.
레프리젠테이션은 하나의 주기 내의 하나 이상의 미디어 컴포넌트들의 구조화된(structured) 컬렉션이다. 즉, 레프리젠테이션은 정의된 주기 동안의 미디어 콘텐츠를 구성하는 미디어 콘텐츠 컴포넌트들의 완전한 집합 또는 부분 집합의 대안적인 선택사항들(alternative choices) 중 하나이다. 레프리젠테이션은 하나 이상의 미디어 스트림들을 포함한다. 각 미디어 스트림은 하나의 미디어 콘텐츠 컴포넌트의 인코드된 버전(encoded version)일 수 있다.
레프리젠테이션은 주기(즉, 자신을 포함하는 주기)의 시작점에서 시작하고, 상기의 주기의 종료점까지 지속한다.
레프리젠테이션은, 비트레이트(bitrate), 해상도(resolution), 언어(language) 및 코덱(codec) 등과 같은 인코딩(encoding) 선택(choice)이 상이한, 미디어 콘텐츠 또는 미디어 콘텐츠의 부분집합의 대안적인(alternative) 선택(choice)들 중 하나일 수 있다.
MPD(또는, MPD 요소)는 클라이언트가 하나 이상의 레프리젠테이션을 선택하는 것을 가능하게 하는 설명적인 정보를 제공한다.
임의 접근 포인트(Random Access Point; RAP)는 미디어 세그먼트 내의 특정한 위치이다. RAP는 단지 미디어 세그먼트 내에 포함된 정보만을 사용하여 RAP의 위치로부터 계속하여 재생(playback)을 시작할 수 있는 위치인 것으로 식별된다.
각 레프리젠테이션은 하나 이상의 세그먼트들로 구성될 수 있다. 즉, 레프리젠테이션은 하나 이상의 세그먼트들을 포함할 수 있다.
MPD는 1) 세그먼트들을 접근하고, 2) 사용자에게 스트리밍 서비스를 제공하기 위해 적합한(appropriate) HTTP-URL들을 구성하기 위해 DASH 클라이언트에게 요구되는 메타데이터를 포함하는 문서이다. HTTP-URL들은 절대적이거나 상대적일 수 있다.
MPD는 XML-문서일 수 있다.
MPD는 MPD 요소(element)를 포함할 수 있다. MPD는 단지 1 개의 MPD 요소만을 포함할 수 있다.
도 1은 본 발명의 일 실시예에 따른 콘텐츠 처리 방법의 신호 흐름도이다.
단말(100)은 DASH 클라이언트일 수 있다.
DASH 클라이언트는 RFC 2616에 명세된 클라이언트와 호환될 수 있다.
DASH 클라이언트는, 세그먼트들 또는 세그먼트들의 일부들에 접군하기 위해, RFC 2616에서 명세된 것처럼, 일반적으로 HTTP GET 메쏘드(method) 또는 HTTP partial GET 메쏘드를 사용할 수 있다.
서버(110)는 DASH 세그먼트들을 호스팅(hosting)할 수 있다. 서버(110)는 RFC 2616에 명세된 서버와 호환될 수 있다.
단계(120)에서, 단말(100)은 서버(110)로부터 미디어(또는, 콘텐츠)의 메타데이터를 수신한다. 즉, 서버(110)는 단말(100)에게 미디어에 대한 메타데이터를 전송한다. 미디어는 하나 이상의 주기들을 포함한다.
메타데이터는 베이스(base) 통합 자원 지시기(Uniform Resource Locator; URL) 요소를 포함할 수 있다. 베이스 URL 요소는 하나 이상일 수 있다.
단계(130)에서, 단말(100)은 수신된 메타데이터를 처리한다. 단계(130)에서, 단말(100)은 메타데이터가 제공하는 정보 또는 메타데이터 내에 포함된 정보를 추출할 수 있다.
단계들(140 내지 150)에서, 단말(100)은 메타데이터가 제공하는 정보에 기반하여 미디어의 세그먼트에 접근(access)한다.
여기서, 각 주기는 하나 이상의 그룹들을 포함할 수 있고, 각 그룹은 미디어의 하나 이상의 레프리젠테이션을 포함할 수 있다. 즉, 각 주기는 미디어의 하나 이상의 레프리젠테이션을 포함할 수 있다. 따라서, 각 레프리젠테이션은 자신을 포함하는 주기의 시작점에서 시작하고, 상기의 주기의 종료점까지 지속한다. 각 레프리젠테이션은 하나 이상의 세그먼트들을 포함할 수 있다.
하나 이상의 주기들 각각은 주기 요소에 의해 정의될 수 있다.
주기 요소는 주기의 시작 시각을 특정하는 시작(start) 속성을 포함할 수 있다., 또한, 주기 요소는 주기의 지속시간(duration)을 특정하는 지속시간 속성을 포함할 수 있다.
하나 이상의 주기들 중 제1 주기의 시작 시각을 특정하기 위해, 하기의 방법 1) 내지 방법 3)가 적용될 수 있다. 하기에서, 제2 주기는 제1 주기의 이전 주기이다.
방법 1) : 제1 주기의 제1 주기 요소 내에 시작 속성이 있는 경우, 제1 주기의 시작 시각은 시작 속성의 값과 동일하다.
방법 2) : 제1 주기의 제1 주기 요소 내에 시작 속성이 없고, 제2 주기의 제2 주기 요소가 지속시간 속성을 포함하는 경우, 제1 주기의 시작 시간은 제2 주기의 시작 시간에 제2 주기 요소의 지속시간 속성의 값을 합한 것이다. 따라서, 주기의 지속시간 속성은 상기 주기의 다음 주기의 시작 시각을 특정할 수 있다.
방법 3) : 제1 주기의 제1 주기 요소 내에 시작 속성이 없고, 제1 주기가 하나 이상의 주기들 중 첫 번째 주기이면, 제1 주기의 시작 시각은 0이다.
주기 요소는 외부의 주기 요소에 대한 참조를 특정하는 참조 속성을 포함할 수 있다, 주기는 상기의 외부의 주기 요소에 의해 정의될 수 있다.
단계(140)에서, 단말(100)은 서버(110)에게 미디어의 세그먼트를 세그먼트의 URL을 사용하여 요청한다. 여기서, URL은 전술된 베이스 URL 요소에 상관되어 해석될 수 있다. 예컨대, 세그먼트의 URL은 베이스 URL 요소에 기반하여 생성될 수 있다.
단말(100)은 상기의 메타데이터 처리에 기반하여 특정 주기에 대한 적합한 세그먼트를 서버(110)에게 요청할 수 있다. 즉, 요청되는 세그먼트는 메타데이터에 기반하여 선택된 것이다. 단말(100) 은 HTTP GET 메쏘드(method)를 실행함으로써 세그먼트를 서버(110)에게 요청할 수 있다.
메타데이터는 범위(range) 속성을 포함할 수 있다. 상기의 요청은 URL이 가리키는 자원의, 범위 속성이 지정하는 바이트들에 대한 요청일 수 있다.
세그먼트의 URL은 절대적 URL 또는 상대적 URL일 수 있다.
하나 이상의 베이스 URL 요소들 각각에 의해 상관되어 해석된, URL들이 가리키는 다중 위치들은 동일한 세그먼트들을 접근한다. 즉, 하나 이상의 베이스 URL 요소들에 의해 제공되는 URL들에 의해, 동일한 세그먼트들이 선택적으로 접근될 수 있다.
또한, 하나 이상의 베이스 URL 요소들 중 첫 번째 베이스 URL은 기본적인 통합 자원 식별자(Universal Resource Indicator; URI)로 사용될 수 있고, 하나 이상의 베이스 URL 요소들 중 첫 번째 베이스 URL을 제외한 나머지 베이스 URL 요소들은 대안적인(alternative) 베이스 URL일 수 있다.
또한, 메타데이터는 세그먼트의 소스(source) URL 속성을 선택적으로 포함할 수 있다. 메타데이터가 세그먼트의 소스 URL 속성을 선택적으로 포함할 경우, 하나 이상의 베이스 URL 요소들 중 임의의 베이스 URL 요소가 소스 URL 속성에 사상됨으로써 세그먼트의 URL이 생성될 수 있다.
단계(145)에서, 몇몇 경우에 있어서, 서버(110)는 미디어(예컨대, SVC를 위한 MP4 파일)를 파스(parse)할 필요가 있고, 상기 요청된 세그먼트에 적합한 데이터 파트를 추출할 수 있다.
단계(150)에서, 서버(110)는 단말(100)로부터의 각 요청에 대해 적합한 세그먼트들을 단말(100)로 전송한다. 단말(100)은 서버로부터 세그먼트들을 수신한다.
단계(160)에서, 단말(100)은 세그먼트 내에 포함된 미디어의 데이터를 디코딩 및 렌더링함으로써 미디어를 재생한다.
주기의 시작 시각은 주기에 포함되는 세그먼트들의 시작 시각을 결정할 수 있다. 따라서, 단말(100)은 세그먼트들을 사용하여 미디어를 재생함에 있어서, 세그먼트들을 포함하는 주기의 시작 시각을 참조하여 재생 시각을 결정할 수 있다.
단말(100)은, 단계들(120 내지 160)을 반복함으로써 수신된 세그먼트를 사용하여, 미디어를 재생할 수 있다.
이 때, 베이스 URL 요소는 미디어 정보에 대한 미디어 정보 레벨 베이스 URL 요소를 포함할 수 있으며, 각 주기에 대한 주기 레벨 베이스 URL 요소를 포함할 수 있다. 주기 레벨 베이스 URL 요소는 자신이 속하는 주기에 적용되는 베이스 URL 요소이다. 즉, 각 주기에 포함되는 세그먼트의 URL은 상기의 주가의 주기 레벨 베이스 URL 요소에 상관하여 해석된다.
미디어 정보 레벨 베이스 URL 요소는 하나 이상일 수 있으며, 주기 레벨 베이스 URL 요소는 하나 이상일 수 있다.
베이스 URL 요소는 그룹에 대한 그룹 레벨 베이스 URL 요소를 더 포함할 수 있다. 각 그룹에 포함되는 세그먼트의 URL은 그룹의 그룹 레벨 베이스 URL 요소에 상관하여 해석될 수 있다. 그룹 레벨 베이스 URL 요소는 하나 이상일 수 있다.
베이스 URL 요소는 레프리젠테이션에 대한 레프리젠테이션 레벨 베이스 URL 요소를 더 포함할 수 있다. 각 레프리젠테이션에 포함되는 세그먼트의 URL은 레프리젠테이션의 레프리젠테에션 레벨 베이스 URL 요소에 상관하여 해석될 수 있다.
특정한 레벨의 베이스 URL 요소는 자신의 상위 레벨의 베이스 URL 요소에 상관하여 해석될 수 있다. 예컨대, 주기 레벨 베이스 URL 요소는 미디어 정보 레벨 베이스 URL 요소에 상관하여 해석될 수 있다. 그룹 레벨 베이스 URL 요소는 주기 레벨 베이스 URL 요소에 상관하여 해석될 수 있다. 레프리젠테이션 레벨 베이스 URL 요소는 그룹 레벨 베이스 URL 요소 또는 주기 레벨 베이스 URL 요소에 상관하여 해석될 수 있다.
도 2는 본 발명의 일 예에 따른 시그널링 정보의 카테고리들을 도시한다.
시그널링 정보(즉, 메타데이터)는 하기의 카테고리들 1) 내지 4)로 나뉘어진다.
1) 일반 정보(general information)(210) : 일반 정보는, 예컨대 지속시간(duration) 및 시작 시각과 같은, 콘텐츠의 일반 설명(description) 및 각 인터벌의 일반 설명을 포함한다.
2) 서비스의 품질 정보(QoS information)(220) : 비트레이트(bitrate), 해상도(resolution), 품질(quality)와 같은, 각 대안의 특성들(characteristics)을 설명한다. 즉, 서비스의 품질 정보는 콘텐츠의 대안들 각각의 특성들을 설명한다.
대안은 물리적(physical)(즉, 미리 생성된)일 수 있고, 가상(virtual)(즉, 온-더-플라이(on the fly)로 생성될)일 수 있다. 대안들의 정보에 기반하여, 클라이언트는 적합한 대안의 프래그먼트를 선택한다. 따라서, 단말들 및 네트워크들의 문맥(context)들에 대한 적합성(adaptivity)을 지원한다.
3) 매핑 정보(Mapping Information)(230) : 콘텐츠를 추출(retrieve)할 위치들(locations)을 설명한다. 특정 경우들(cases)에 의존하여, 상이한 대안들은 동일하거나 상이한 위치들을 가질 수 있다.
4) 클라이언트 요청(Client request)(240) : 이러한 종류의 시그널링 정보는 HTTP 1.1 요청(request) 메시지의 포멧을 따른다(conform). 도 1에서 도시된 것과 같이, 클라이언트에 의해서 요청된 파라미터들은 상기의 1) 내지 3) 카테고리들의 정보로부터 비롯한다(derive).
도 3은 본 발명의 일 예에 따른 콘텐츠 디비전(division)의 계층 및 시그널링 정보의 레벨들(levels)을 나타낸다.
본 발명의 일시예들에 따른 메타데이터의 시그널링은 콘텐츠-레벨 정보(310), 인터벌 레벨 정보(320), QoS 정보(330) 및 매핑(340) 정보로 물리적으로 분리될(separated) 수 있다. 콘텐츠-레벨 정보(310), 인터벌 레벨 정보(320), QoS 정보(330) 및 매핑(340)의 관련된 부분들의 링킹(linking)은 참조(referencing)에 의해 이루어진다.
시그널링 정보의 이러한 부분들은 유연성을 지원하기 위한 상이한 방법들(ways)으로 조합(combine)될 수 있다.
예를 들면, 단지 콘텐츠-레벨 정보(310) 및 인터벌 레벨 정보(320)만이 클라이언트로 전송될 때, 모든 대안들의 결정 및 위치들의 해결(resolve)을 위한 계산들은 서버에 의해 수행된다. 따라서, 콘텐츠-레벨 정보(310) 및 인터벌 레벨 정보(320)만이 클라이언트로 전송될 때 의 프로세싱 모델은 "서버-기반"이다.
만약, 콘텐츠-레벨 정보(310), 인터벌-레벨 정보(320) 및 QoS 정보(330)가 클라이언트로 전송되면, 모든 대안들의 결정 및 위치들의 해결(resolve)을 위한 계산들은 클라이언트 및 서버에 의해 분산하여 수행된다. 따라서, 콘텐츠-레벨 정보(310), 인터벌-레벨 정보(320) 및 QoS 정보(330)가 클라이언트로 전송될 때, 상기의 모델은 "분산된"이 될 것이다.
모든 시그널링 정보들(콘텐츠-레벨 정보(310), 인터벌-레벨 정보(320), QoS 정보(330) 및 매핑 정보(340))이 클라이언트로 전송될 때, 이러한 모델에서 대부분(또는, 전부)의 프로세싱(즉, 대안들의 결정 및 위치들의 해결을 위한 계산)은 클라이언트에서 되기 수행 때문에, 상기 모델은 클라이언트-기반(client-based)이다.
메타데이터 파트들의 분리는 저장 및 전달에 있어서 효율성을 가능하게 한다. 예를 들면, 세션 동안, 콘텐츠-레벨 정보(310)의 메타데이터는 1회 보내질 수 있고, 인터벌 레벨 정보(320)만이 주기적으로 갱신될 수 있다. 유사하게, QoSInfo 파트(330)를 포함하는 하나의 파일이 상이한 인터벌들 및 상이한 콘텐츠를 위해 사용될 수 있다.
XML, 슈도-코드(pseudo-code), 세션 설명 프로토콜(Session Description Protocol; SDP) 등과 같은, 메타데이터의 집합을 표현(represent)하기 위한 상이한 방법들이 있다.
본 발명의 실시예들은 시그널링 신택스를 나타내기 위해 XML 및 슈도-코드 양자를 사용할 수 있다. XML 신택스는 MPEG-21 및 그와 유사한 스키마를 기반으로 하는 XLM 프로파일을 지원하는 클라이언트들을 위해 사용될 수 있다. 반면, 슈도-코드 신택스는 ISO 베이스 미디어 파일 포멧 등의 "언어(language)"에 기반할 수 있으며, 비-XML 클라이언트들 내에서 사용될 수 있다. 특히, 슈도-코드 신택스의 프로파일은 파일-포멧 파싱의 파싱 모듈과 유사한 파실 모듈을 채용(employ)할 수 있다. 이러한 목적을 위한 신택스를 설계하기 위해서, 하기의 실시예들에서 공통 요소들의 테이블(table)이 정의될 것이고, 각 포멧 내의 요소들이 나타내어질 것이다.
이러한 제안된 신택스들은, 임의의 다른 언어들에 의해서도 표현될 수 있다.
하기에서 일반 신택스 요소들의 테이블이 설명된다.
하기의 표들에서, 신택스 요소들은 계층적으로 설명된다. 즉, 자식(child) 요소는 그것의 부모(parent) 요소의 우측에 있는 열(column) 내에서 보인다. "리프"-레벨 요소들은 이텔릭체(italic)로 보인다. 부모 요소들은 볼드체(bold letters)로 보인다. 부모 요소는 대응하는 XML 타입 및 파일 박스로 나타내어진다.
발생횟수(occurrence)의 열 내에서, "0...N"은 발생횟수 요소의 인스턴스들의 개수가 0으로부터 "무제한(unbounded)"까지일 수 있음을 의미한다. 그러나, 0의 최소 발생횟수는 요소가 선택적인(optional)(즉, 존재하지 않음)일 수 있음을 의미한다. 1 이상의 최소 발생횟수는 요소가 신택스 내에서 의무적임(mandatory)을 의미한다.
발생횟수(occurrence)는 카디널리티(cardinality)와 동일한 의미로 사용될 수 있다.
타입 행에서, A는 속성을 나타내고, E는 요소를 나타낸다. 선택성(optionality) 행에서, M은 의무적인 것을 의미하고, O는 선택적인 것을 의미한다. 속성에 있어서, M은 의무적인 것을 의미하고, O는 선택적인 것을 의미하고, OD는 디폴트(default) 값을 갖는 선택적인 것을 의미하고, CM은 조건적으로(conditionally) 의무적인 것을 의미한다. 요소에 있어서, 요소는 <최소 발생들(minOccurs)> ... <최대 발생들(maxOccurs)>과 같이 표현될 수 있다. 이때, N은 무제한(unbounded)를 나타낸다.
이러한 의미는, 본 명세서의 다른 표들에서도 동일하게 적용될 수 있다.
또한, QoSInfo는 더 특정하게는, AdaptationInfo로 불릴 수 있다. 더욱이, 몇몇 요소들은 신택스의 유동성(flexibility)을 높이기 위해 개정(revise)되었다.
하기의 표 1은 일반 정보를 설명한다.
      발생횟수 시맨틱 XML 신택스 syntax
(MPEG-21 기반)
슈도-코드
(파일 포멧 박스)
HttpStr     1 HTTP 스트리밍을 위한 메타데이터의 시그널링의 최상위-레벨(top-level) 요소 HttpStreamingType(HTTP스트리밍타입) 'htps' box(박스)
  GeneralInfo   0...N 설명된 콘텐츠의 일반 정보를 포함 GeneralInfoType(일반정보타입) 'geni' box
    TimeScale 0...1 1 초 내의 타임 유닛들의 개수.
이 값은, 시간 유닛이 명세되지 않았을 때, time-related 요소들과 함께 사용됨.
integer(정수) unsigned int(부호없는정수)(32)
    LiveStartTime 0...1 LiveStartTime 요소가 없으면, 콘텐츠는 Vod 타입임.
LiveStartTime 요소가 존재한다는 것은 LiveStartTime의 시각 값에 디스플레이될 라이브 콘텐츠를 가리킴.
만약, LiveStartTime의 시각 값이 0이면, 상기 디스플레이 시각은 알려지지 않음.
dateTime unsigned int(64)
    Duration 0...1 만약 있다면, 콘텐츠의 지속시간(duration)을 가리킴. 그렇지 않으면 지속시간은 알려지지 않음. integer unsigned int(32)
DefaultIntDuration 0...1 만약 있다면, 콘텐츠의 각 인터벌의 기본(default) 지속시간을 가리킴. integer unsigned int(32)
    MinUpdateTime 0...1 만약 있다면, 주 설명 파일을 다시 요청하기 전에 최소 대기 시간을 가리킴. integer unsigned int(32)
    ConsistentQoSInfo 0...1 True(참)일 때, QoS 정보는 전체(whole) 콘텐츠 지속시간과 동일함을 가리킴. Boolean(이진) flag of the box
(박스의 플레그)
    DefaultContentLoc 0...1 콘텐츠의 기본 위치를 제공함. anyURI(임의의 URI) string of URL
(URL의 문자열)
  IntervalsRef   0...N Interval 요소의 하나 이상의 인스턴스를 포함하는 설명에 대한 참조(reference)를 제공함.
Interval 요소의 하나 이상의 인스턴스는 잇달은(consecutive) 인터벌(들)의 시퀀스(sequence)을 나타냄..
IntervalsRefType(인터벌참조타입) 'iref' box
  Interval   0...N 콘텐츠의 인터벌의 정보를 제공.
인터벌의 정보는 Interval 요소의 인스턴스로서 포함될 수 있고, IntervalsRef 요소에 의해 참조될 수 있음
IntervalType(인터벌타입) 'intv' box
    IntervalInfo 0...1 인터벌의 일반 정보를 제공. IntervalInfoType(인터벌정보타입) 'inti' box
    QoSInfoRef 0...1 QoSInfo 요소에 의해 표현된 설명으로의 참조를 제공.
만약 QosInfoRef 요소가 있다면, 동일한 레벨에서 QoSInfo 요소는 표현되지 않아야 함.
dia:ReferenceType 'qref' box
    QoSInfo 0...1 자원 특성들(characteristics) 및 품질(quality)/유용성(utility)과 같은, 콘텐츠의 대안들에 관한 정보를 제공.
QoSInfo 요소가 있으면 QoSInfoRef 요소는 있지 않음.
QoSInfoType
(QoS정보타입)
'QoSi' box
    MappingInfoRef 0...1 MappingInfo 요소에 의해 표현된 설명으로의 참조를 제공.
MappingInfoRef 요소가 있다면, 동일한 레벨에서 MappingInfo 요소는 표현되지 않아야 함.
dia:ReferenceType 'mref' box
    MappingInfo 0...1 콘텐츠 대안들의 위치들에 대한 정보를 제공함.
만약 이 정보가 제공되지 않으면, DefaultContentIntLoc(만약 아니면, DefaultContentLoc) 요소가 콘텐츠를 추출(retrieve)하기 위해 사용될 수 있음.
MappingInfo 요소가 있으면 MappingINfoRef 요소는 있지 않음.
MappingInfoType
(매핑정보타입)
'mapi' box
    NextIntervalsRef 0...1 다음 인터벌(들)의 정보로의 참조를 제공.
다음 인터벌(들)의 정보는 인터벌 요소의 하나 이상의 인스턴스를 포함하는 설명임.
다음 인터벌들의 정보는 Interval 요소에 의해 표현된 설명임.
NextIntervalsRef 요소를 사용함으로써, 클라이언트는 HttpStr 요소에 의해 표현되는 주 설명을 리로드(reload)할 필요가 없음.
현재 타임 윈도우(time window) 내에서, 단지 마지막의 인터벌만이 NextIntervalsRef 요소를 포함할 수 있음.
IntervalsRefType, dia:ReferenceType으로부터 확장될 수 있음.
'nref' box
PreviousIntervalsRef 0...1 이전 인터벌(들)의 정보로의 참조를 제공.
다음 인터벌(들)의 정보는 인터벌 요소의 하나 이상의 인스턴스를 포함하는 설명임.
다음 인터벌들의 정보는 Interval 요소에 의해 표현된 설명임.
PreviousIntervalsRef 요소를 사용함으로써, 클라이언트는 HttpStr 요소에 의해 표현되는 주 설명을 리로드(reload)할 필요가 없음.
현재 타임 윈도우(time window) 내에서, 단지 최초의 인터벌만이 NextIntervalsRef 요소를 포함할 수 있음.
IntervalsRefType, dia:ReferenceType으로부터 확장될 수 있음.
'nref' box
하기의 표 2는 IntervalsRef, NextIntervalsRef, PreviousIntervalsRef, QoSInfoRef, MappingInfoRef a및 IntervalInfo 요소를 설명한다.
    발생횟수 시맨틱 XML 신택스 syntax
(MPEG-21 기반)
슈도-코드
(파일 포멧 박스)
QoSInfoRef,
MappingInfoRef
 
  Index 1 다음 Location 요소에 의해 참조되는 설명 파일 내의 참조 설명 또는 박스(Interval, QoSInfo, MappingINfo)의 순서(1부터 시작)를 가리킴 not applicable
(적용 불가)
unsigned int(8)
  Location 1 Interval, QoSInfo 또는 MappingInfo에 의해 표현되는 설명에 대한 참조를 제공. dia:ReferenceType 내의 uri 요소 string (representing url)
IntervalInfo    
  TimeScale 0...1 1 초 내의 시간 유닛들의 개수. 이 값은 시간 유닛이 명세되지 않았을 때 시간-관련된 요소들과 함께 사용됨.
TimeScale 요소가, 만약 있다면, GeneralInfo에 의해 제공되는 타임 스케일(time scale)을 오버라이드(override)함.
integer unsigned int(32)
StartTime 0...1 인터벌의 시작 시각을 가리킴.
  Duration 0...1 인터벌의 지속시간을 가리킴. integer unsigned int(32)
  DefaultFragDuration 0...1 인터벌의 프래그먼트들의 기본 지속시간을 가리킴. (마지막 프래그먼트 예외) integer unsigned int(32)
DefaultContentIntLoc 0...1 콘텐츠 인터벌을 위한 기본 위치를 제공함. anyURI type string
  Last 0...1 만약 참이면, 콘텐츠의 최후의 인터벌임을 가리킴. boolean by flag
(플래그로)
IntervalsRef,
PreviousIntervalsRef
NextIntervalRef
   
startTime 콘텐츠의 시작 시각(라이브 콘텐츠를 위한 LiveStartTime 및 온-디맨드 콘텐츠를 위한 0)에 대해 상대적인 인터벌들/주기들의 참조된 시퀀스의 시작 시각을 가리킴. xs:duration
(xs:지속시간)
  AvailableTime 0...1 다음 인터벌의 설명이 가용한 시각을 가리킴. 이 시각은 콘텐츠의 시작 시각으로부터의 상대적인 시각임. integer unsigned int(32)
Index 1 다음 Location 요소에 의해 참조되는 설명 파일 내의 참조된 인터벌 설명(또는, 박스)의 순서(1부터 시작)을 가리킴. not applicable unsigned int(8)
Location 1 Interval 설명들을 포함하는 설명 파일에 대한 참조를 제공함. sx:anyURI type 또는 dia:ReferenceType 내의 uri 요소 string (representing url)(url을 표현)
하기의 표 3은 QoSInfo 요소를 설명한다.
    발생횟수 시맨틱 XML 신택스 syntax
(MPEG-21 기반)
슈도-코드
(파일 포멧 박스)
QoSInfo     1 자원 특성들 및 품질/유용성과 같은, 콘텐츠 대안들의 리스트에 대한 정보를 제공함. QoSInfoType containing a UtilityFunction of dia:AdaptiveQoSType
(dia:AdaptiveQoSType의 UtilityFunction을 포함하는 QoS정보타입)
'QoSi' box
  ClassSchemeRef   0...1 분류(Classification) 스킴들(Schemes)의 리스트를 제공함.
분류 스킴들은 몇몇 용어 또는 명칭을 위한 시맨틱스를 제공함.
dia:DescriptionMetadataType
(dia:설명메타데이터타입)
'csmr' box
    scheme 1...N 분류 스킴에 대한 참조 Attr. alias & href in dia:DescriptionMetadataType
(dia:DescriptionMetadataType 내의 속성 앨리어스 및 href)
a url string
(1) Resource   0...N Resource 요소의 각 인스턴스들은, 대안들의 리스트를 위해, 어떤(certain) 자원 타입(예컨대, 비트레이트)의 특성 값들을 설명함. Element Constraint of dia:UFDataType in DIA Utility-FunctionType
(DIA 유틸리티-평션타입 내의 dia:UF데이터타입의 요소 제약)
'resi' box
(2) AdaptationOperator   0...N AdaptationOperator 요소의 각 인스턴스들은, 대안들의 리스트를 위해, 어떤 적응 타입(예컨대, 템포럴(temporal) 레이어들을 제거)의 값들을 설명함. dia:UFDataType 'adpo' box
(3) Utility   0...N Utility 요소의 각 인스턴스들은, 대안들의 리스트를 위해, 어떤 품질/유용성 타입(예컨대, MOS) 내의 값들을 설명함. dia:UFDataType 'util' box
  UtilityRank   0...1 대안들의 리스트를 위한 품질 랭킹을 설명함. dia:UtilityRankType
(유용성순위타입)
'utir' box
    Value 1...N 대안의 품질/유용성 순위를 가리킴.
Value 요소의 인스턴스들의 개수는 대안들의 개수와 같음.
integer unsigned int(16)
하기의 표 4는 표 3의 (1) Resource, (2) AdaptationOperator 및 (3) Utility 요소들의 공통 시맨틱을 나타낸다.
  Element (1), (2), (3)   시맨틱스 XML 신택스 syntax
(MPEG-21 기반)
슈도-코드
(파일 포멧 박스)
    Name 1 요소의 특정 타입에 대한 식별자.
이 식별자가 이 실시예에 의해 의미론적으로 정의되지 않은 경우, 다음 3 개의 요소들이 분류 스킴 내에서 식별자의 시맨틱스를 찾기 위해 사용됨.
Att. 'iOPinRef', ref. a CS term('iOPinRef" 속성, CS 텀 참조) unsigned int(32)
    CSref_ind 0...1 ClassSchemeRef 요소에 의해 제공되는 리스트 내의 분류 스킴의 참조 인덱스를 가리킴 Not applicable unsigned int(16)
    LevelNum 0...1 레벨들의 개수를 가리킴. Not applicable unsigned int(16)
    LevelIndex 1...N LevelIndex 요소의 각 인스턴스는 분류 스킴의 레벨에서의 인덱스 값을 나타냄. Not applicable unsigned int(16)
    Value 1...N 대안의 자원(적응 연산자 또는 유용성) 타입의 값을 가리킴.
Value 요소의 인스턴스들의 개수는 대안들의 개수와 같다.
a component in dia:VectorDataType
(dia:벡터데이터타입 내 콤포넌트)
unsigned int(32)
하기의 표 5는 매핑 정보를 나타낸다.
      발생횟수 시맨틱 XML 신택스 syntax
(MPEG-21 기반)
슈도-코드
(파일 포멧 박스)
MappingInfo     0...1   MappingInfoType 'mapi'box
  AlterLocID   0...1 QoSInfo 내에 설명된 각 대안에 대한 위치 ID를 제공함.
만약 AlterLocID 요소가 없으면, 위치 리스트 내의 제1 위치가 모든 대안들을 위해 사용됨.
dia:IntegerVectorType 'aloc' box
    Value 1...N 대안을 위한 위치 ID를 가리킴.
The number of instances of this element is equal to the number of alternatives.
Value 요소의 n 번째 인스턴스는 QoSInfo 설명의 n 번째 대안에 대응함.
integer unsigned int(16)
  ReqQoSPara   0...N 클라이언트에 의해 서버로 보내지는 (대안에 대한) 요청 내에 넣어지는 QoSInfo의 파라미터를 가리킴.
파라미터는 Resource, AdaptationOperator, Utility 또는 UtilityRank 요소의 인스턴스일 수 있다.
ReqQoSParaType that extends dia:BooleanVectorType
(dia:BooleanVectorType을 확장하는 ReqQoSParaType)
'reqp' box
    RefIndex 1 Resource, AdaptationOperator, Utility 및 UtilityRank 요소들의 인스턴스 리스트 내의 인스턴스 인덱스/참조를 가리킨다. represented by attribute 'iOPinRef' that references an IOPin in QoSInfo
(QoSInfo 내의 IOPin을 참조하는 'iOPinRef'속성에 의해 표현됨)
unsigned int(16)
    All 1 참일 때, 파라미터는 모든 대안들 및 생략(skip)될 수 있는 ReqFlag에 대해 요청됨. boolean flag
    ReqFlag 0...N ReqFlag 요소의 각 인스턴스는 대안에 대응함.
ReqFlag의 값이 참일 때, 대응하는 대안에 대한 요청은 상기에서 식별된 파라미터를 가짐.
component of BooleanVectorType
(BooleanVectorType의 콤포넌트)
unsigned int(8)
  LocationList   1 콘텐츠 대안들을 추출하기 위한 위치들의 목록을 제공함. LocationListType 'locl' 박스
    Location 1...N 위치 정보를 제공함. LocationType 'loca' 박스
Location 요소들의 시맨틱스는 하기의 표 6과 같이 더 제공될 수 있다.
        발생횟수 시맨틱 XML 신택스 syntax
(DIA 기반)
슈도-코드
(MP4)
Location       0...N LocationType
(위치타입)
'loca' box
  LocID     1 Location 요소의 인스턴스의 ID를 가리킨다. 위치 요소는 AlterLocID에 의해 참조된다. integer unsigned int(16)
StrLocation     0...N 콘텐츠 인터벌의 스트림의 위치 정보를 제공한다.
각 스트림은 스트림 URL 또는 다수의 프래그먼트 URL들에 의해 제공된다..
StrLocationType 'stlo' box
FragNum 0...1 프래그먼트들의 개수를 제공함. integer unsigned int(16)
    StreamUrl   0...1 스트림의 URL을 설명한다. anyURI type string
    FragmentUrl   0...N 프래그먼트의 URL을 설명한다. FragmentUrl 요소의 인스턴스들의 개수는 프래그먼트들의 개수이다. anyURI type string
FragTime 0...1 프래그맨트들의 지속시간을 제공한다. dia:VectorDataType 'frtm' box
Value 1...N 프래그먼트의 지속시간을 가리킨다.
Value 요소의 인스턴스들의 개수는 프래그먼트들의 개수이다.
integer unsigned int(32)
RandAccess 0...1 임의 접근(random access)을 지원하는 프래그먼트들을 설명한다. dia:VectorDataType 'rdac' box
  Value 1...N 임의 접근 프래그먼트의 순서를 가리킨다. integer unsigned int(16)
    MP2TSPara   0...1 MPEG-2 TS 스트림 내의 콘텐츠/프로그램의 정확한 위치를 찾기(locating)위한 추가적인 파라미터들(URL 외의)을 설명한다. MP2TSParaType
(MP2TS파라미터타입)
'mp2p' box
      PID 0...N MPEG-2 TS 스트림 내의 콘텐츠/프로그램의 PID들의 값들을 설명한다. dia:VectorDataType unsigned int(16)
  FragBoundaries   0...1 스트림 내 (가상) 프래그먼트들의 경계들을 설명한다.
FragBoundaries 요소의 인스턴스들의 개수는 스트림의 프래그먼트들의 개수와 같다.
하기의 요소들 중 하나의 타입만이 FragBoundaries 인스턴스 내에서 나타난다.
FragBoundariesType 'frbd' box
    MP2TSBoundary 0...N MPEG-2 TS 스트림 내의 (가상) 프래그먼트 경계를 감지하기 위한 파라미터들을 설명한다.
만약 MP2TSBoundary 요소의 2 개의 인스턴스들이 있다면, 2 개의 인스턴스들은 프래그먼트의 시작 및 끝의 경계들이다.
만약 MP2TSBoundary 요소의 단지 1 개의 인스턴스만이 있다면, 1 개의 인스턴스는 시작 경계이다. 끝 경계는 다음 프래그먼트의 시작 경계의 바로 이전이다.
MP2TSBoundaryType
(MP2TS경계타입)
'mp2b' box
ISOFileBoundary 1...2 ISO 베이스 미디어 파일 포멧에 기반한 파일 내의 (가상) 프래그먼트 경계를 감지하기 위한 파라미터들을 설명한다.
만약 ISOFileBoundary 요소의 2 개의 인스턴스들이 있다면, 2 개의 인스턴스들은 프래그먼트의 시작 및 끝의 경계들이다.
만약 ISOFileBoundary 요소의 단지 1 개의 인스턴스만이 있다면, 1 개의 인스턴스는 시작 경계이다. 끝 경계는 다음 프래그먼트의 시작 경계의 바로 이전이다.
ISOFileBoundaryType
(ISO파일경계타입)
'isfb' box
ByteRanges 1 파일의 파트/프래그먼트를 식별하는 바이트 범위들(ranges)을 설명함.
ByteRanges 요소에 의해 제공되는 파라미터들은 HTTP 요청 내의 바이트 범위 옵션들을 위해 사용될 수 있음.
ByteRangesTypes
(바이트범위들타입)
'brag' box
MP2TSBoundary, ISOFileBoundary 및 ByteRanges 요소들의 시맨틱스는 하기의 표 7과 같이 더 제공될 수 있다.
    발생횟수 시맨틱 XML 신택스 syntax
(DIA 기반)
슈도-코드
(MP4)
MP2TSBoundary MP2TSBoundaryType
(MP2TS경계타입)
'mp2b' box
  PCR_PID 1 연관된 콘텐츠/프로그램의 PCR을 나르는(carring) PID를 설명함. integer unsigned int(16)
  PCR_base 1 PCR 베이스 필드의 값을 기술함 long unsigned int(40)
  PCR_ext 1 PCR 확장(extension) 필드의 값을 기술함. integer unsigned int(16)
  Appearance 1 상기의 두 요소들에 의해 식별되는 PCR 값을 포함하는 TS 패킷의 출현(appearance) 순서(예컨대, 제1, 제2)를 설명함.
PCR의 리셋팅(resetting)/불연속성(discontinuity)가 있을 때, PCR 값은 인터벌 동안 한 번 이상 출현할 수 있음.
integer unsigned int(16)
  Media_PID 1...N 프로그램의 미디어(예컨대, 비디오)의 PID를 설명함.
Media_PID 요소의 개수는 프로그램/콘텐츠의 미디어의 개수와 같음.
integer unsigned int(16)
  Media_Offset 1...N 상기의 식별된 PCR 패킷으로부터 프래그먼트의 첫 번째 미디어 패킷으로의, (동일한 미디어 PID의 TS 패킷 내의) 옵셋을 설명함.
Media_Offset의 n 번째 인스턴스는 Media_PID의 n 번째 인스턴스와 연관됨.
integer unsigned int(16)
ISOFileBoundary ISOFileBoundaryType
(ISO파일경계타입)
'isfb' box
  SequenceNo 1 mfhd 박스 내에서 제공되는 시퀀스 번호를 설명함.
mfhd 박스는 MP4 파일의 프래그먼트를 정의함.
SequenceNo 값이 0인 것은 파일의 시작(beginning)을 가리킴.
integer unsigned int(16)
ByteRanges ByteRangesType
(바이트범위타입)
'brag' box
Start 1...N 바이트 범위의 시작 값을 설명
'-1'의 값은 HTTP 요청 내에서 값이 없음을(missing)을 의미함.
integer unsigned int(32)
End 1...N 바이터 범위의 끝 값을 설명.
'-1'의 값은 HTTP 요청 내에서 값이 없음을(missing)을 의미함.
Start-End 인스턴스들은 쌍으로 있다. End의 n 번째 인스턴스는 Start의 n 번째 인스턴스와 연관됨.
integer unsigned int(32)
Media _ PID 0...N 상기의 Start-End 쌍의 바이트 범위로부터 추출될 미디어(예컨대, 비디오)의 PID를 설명함.
Media _ PID 요소는 바이트 범위가 MPEG-2 TS의 세그먼트(segment)일 때 사용되며, 모든 PID가 전달될 필요는 없음.
integer unsigned int(16)
클라이언트에 의해 획득된 메타데이터의 시그널링은 시그널링 정보의 상이한 파트들 또는 레벨들을 포함할 수 있다. 따라서, 클라이언트로부터 서버로의 요청은 세부사항(detail)의 상이한 레벨들의 파라미터들을 포함할 수 있다.
클라이언트의 주 파라미터들은 URI이고, 주 파라미터들은 쿼리 파트와 연관되었다.
하기에서 3개의 주요한 시나리오들을 검토한다.
1) 서버-기반 시나리오
이 경우, 서버로부터 클라이언트로 제공되는 메타데이터는 일반 콘텐츠 정보(310) 및 일반 인터벌 정보(320)로 구성된다.
요청된 콘텐츠의 URI에 대해, DefaultContentIntLoc(만약 아니라면, DefaultContentIntLoc)가 사용된다. 클라이언트가 콘텐츠의 특정 프래그먼트를 요청하는 것을 가능하게 하기 위해, (단계(140)의 요청의) 쿼리 부분 내에서 하기의 파라미터들 a) 및 b)가 정의된다.
a) "fragno" : 상기의 인터벌 내에서, 프래그먼트의 순서 값
b) "fragti" : 상기의 인터벌 내에서, 프래그먼트의 시작 시각
예컨대, 요청 URI는 ""가 될 수 있다.
2) 분산된 시나리오
이 경우, 서버로부터 클라이언트로 제공되는 메타데이터는 일반 콘텐츠 정보(310), 일반 인터벌 정보(320) 및 QoS 정보(330)를 포함한다.
상기의 파라미터들에 더해, 클라이언트가 적합한 대안을 요청하는 것을 가능하게 하기 위해 하기의 QoS-관련 파라미터들 a) 내지 c)가 (단계(140)의 요청의) 쿼리(query) 파트에서 정의된다.
a) "alter" : 대안의 순서 값이다. 대안의 순서 값에 따라 대안은 QoS 정보 내에서 나타난다.
b) "oper1", "oper2", ... "operN" : "operi"는 QoS 정보 내에서 나타나는 i 번째 적응 연산자(operation)의 값을 나른다(carry).
c) "res1", "res2", ... "resN" : "resi"는 QoS 정보 내에서 나타나는 i 번째 자원의 값을 나른다.
하나의 요청 내에서, 상기의 3 개의 옵션들 중 하나만이 사용될 수 있다.
전형적인 적응 연산자들 및 자원 타입들과 함께, 더 낳은 명료성(intelligibility) 및 상호운용성(interoperability) 특별 파라미터 명칭들이 정의될 수 있다.
적응 연산자들은 하기의 a) 내지 e)와 같다.
a) 오디오레이어들(audiolayers) : 버려질 확장가능한 오디오 레이어들의 개수를 가리킴.
b) 템포럴레이어들(temporallayers) : 버려질 확장가능한 비디오의 템포럴 레이어들의 개수를 가리킴.
c) 공간적레이어들(spatiallayers) : 버려질 확장가능한 비디오의 공간적 레이어들의 개수를 가리킴.
d) 품질레이어들(qualitylayers) : 버려질 확장가능한 비디오의 공간적 레이어들의 개수를 가리킴.
e) 우선순위레이어들(prioritylayers) : 버려질 확장가능한 비디오의 우선순위 레이어들의 개수를 가리킴.
자원 타입들은 하기의 a) 내지 d)와 같다.
a) 비트레이트(bitrate) : 요청된 대안의 평균 비트레이트(Kbps 단위로)를 가리킴.
b) 수직해상도(vertresolution) : 요청된 대안의 수직 해상도를 가리킴.
c) 수평해상도(horiresolution) : 요청된 대안의 수평 해상도를 가리킴.
d) 프레임레이트(framerate): 요청된 대안의 프레임레이트를 가리킴.
이러한 미리 정의된 파라미터들을 사용하는 것으로서, "http://server.com/file.mp4?fragno=5&bitrate=550"이 bitrate에 기반한 URI 요청의 일 예가 될 수 있다.
3) 클라이언트-기반 시나리오
이 경우, 서버로부터 클라이언트로 제공되는 메타데이터는 일반 콘텐츠, 일반 인터벌 정보, QoS 정보 및 매핑 정보를 포함한다.
요청 내에서 사용되는 QoS-관련 파라미터들은 QoSInfo 메타데이터의 ReqQoSPara 파트에 의해 가리켜진다. 만약, ReqQoSPara의 RefIndex가 0 또는 널(null)이면, "alter" 파라미터가 다른 옵션들 대신에 사용된다.
QoSInfo 메타데이터 내에 ReqQoSPara가 없으면, QoS-연관 파라미터들이 사용되지 않는다. 이 경우에서의 대안들은 MappingInfo의 위치들에 의해 암시된다.
콘텐츠의 URI는 MappingInfo의 풍부한 설명으로부터 유래한다. 콘텐츠/프로그램이 MPEG-2 TS 스트림 내에서 운반될 때, 하나 이상의 PID가 상기 스트림 내에서 콘텐츠의 위치를 찾기 위해 사용된다.
프래그먼트 경계들을 감지하기 위한 추가적인 정보가 제공될 때, (단계(140)의 요청의) 쿼리 파트를 위한 하기의 파라미터들 1) 내지 3)이 사용될 수 있다.
1) MPEG-2 TS 경계를 위해, Apperance, PCR_PID, PCR_base, PCR_ext, Media_PID 및 Media_Offset
2) ISO 미디어 파일 경계를 위해, SequenceNo
3) 로(raw) 바이트-시퀀스로서 간주되는 파일을 위해, Start 및 End
이러한 파라미터들의 시맨틱스는 FragBoundaries 요소의 시맨틱스 내에서 제공된다.
Start-End 페어들은 HTTP 요청 메시지의 범위 헤더에 의해 사용될 수 있다. 예컨대, 만약 {(Start=0, End=99); (Start=200, End=299)}이면, 헤더는 "Range: bytes=0-99,200-299"일 수 있다.
하기에서, XML 포멧의 신택스 레프리젠테이션(representation)이 설명된다. 하기에서, 상기의 신택스 요소들의 레프리젠테이션이 XML 포멧으로 제공된다. 각 요소의 시맨틱스는 상기의 표 1 내지 표 7 내에서 추적(trace back)될 수 있다.
몇몇 요소들은 MPEG-21 DIA 내에서 정의된 몇몇 타입들의 확장일 수 있다. 몇몇 요소들은 MPEG-21 DIA 내에서 정의된 몇몇 타입들을 취할 수 있다.
하기의 표 8은 HTTPStreamingType의 XML 포멧을 사용한 신택스 레프리젠테이션이다.
<complexType name="HTTPStreamingType">
<complexContent>
<extension base="dia:DIADescriptionType">
<sequence>
<element name="GeneralInfo" type="GeneralInfoType" minOccurs="0"/>
<choice minOccurs="0" maxOccurs="unbounded">
<element name="IntervalsRef" type="IntervalsRefType"/>
<element name="Interval" type="IntervalType"/>
</choice>
</sequence> </complexContent>
</complexType>
하기의 표 9는 GeneralInfoType의 XML 포멧을 사용한 신택스 레프리젠테이션이다.
<complexType name="GeneralInfoType">
<complexContent>
<extension base="dia:DIADescriptionType">
<sequence>
<element name="TimeScale" type="integer" minOccurs="0"/>
<element name="LiveStartTime" type="dateTime" minOccurs="0"/>
<element name="Duration" type="integer" minOccurs="0"/>
<element name="DefaultIntDuration" type="integer" minOccurs="0"/>
<element name="MinUpdateTime" type="integer" minOccurs="0"/>
<element name="ConsistentQoSInfo" type="boolean" minOccurs="0"/>
<element name="DefaultContentLoc" type="anyURI" minOccurs="0"/>
</sequence>
</extension>
</complexContent>
</complexType>
하기의 표 10은 IntervalRefType의 XML 포멧을 사용한 신택스 레프리젠테이션이다.
<complexType name="IntervalsRefType">
<complexContent>
<extension base="dia:ReferenceType">
<sequence>
<element name="AvaliableTime" type="integer" minOccurs="0"/>
</sequence>
<attribute name="startTime" type="xs:duration" use="optional"/>
</extension>
</complexContent>
</complexType>
하기의 표 11은 IntervalType의 XML 포멧을 사용한 신택스 레프리젠테이션이다.
<complexType name="IntervalType">
<complexContent>
<extension base="dia:DIADescriptionType">
<sequence>
<element name="IntervalInfo" type="IntervalInfoType" minOccurs="0"/>
<choice minOccurs="0">
<element name="QoSInfo" type="QoSInfoType"/>
<element name="QoSInfoRef" type="dia:ReferenceType"/>
</choice>
<choice minOccurs="0">
<element name="MappingInfo" type="MappingInfoType"/>
<element name="MappingInfoRef" type="dia:ReferenceType"/>
</choice>
<element name="PreviousIntervalsRef" type="IntervalsRefType" minOccurs="0"/>
<element name="NextIntervalsRef" type="IntervalsRefType" minOccurs="0"/>
</sequence>
</extension>
</complexContent>
</complexType>
하기의 표 12는 IntervalInfoType의 XML 포멧을 사용한 신택스 레프리젠테이션이다.
<complexType name="IntervalInfoType">
<sequence>
<element name="TimeScale" type="integer" minOccurs="0"/>
<element name="StartTime" type="dateTime" minOccurs="0"/>
<element name="Duration" type="integer" minOccurs="0"/>
<element name="DefaultFragDuration" type="integer" minOccurs="0"/>
<element name="DefaultContentIntLoc" type="anyURI" minOccurs="0"/>
<element name="Last" type="boolean" minOccurs="0"/>
</sequence>
</complexType>
하기의 표 13는 ISOFileBoundaryType 및 ByteRangesType의 XML 포멧을 사용한 신택스 레프리젠테이션이다.
<complexType name="ISOFileBoundaryType">
<sequence>
<element name="SequenceNo" type="integer" maxOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="ByteRangesType">
<sequence maxOccurs="unbounded">
<element name="Start" type="integer"/>
<element name="End" type="integer"/>
<element name="Media_PID" type="integer" minOccurs="0"/>
</sequence>
</complexType>
하기에서, MP4 슈도-코드 포멧의 신택스 레프리젠테이션이 설명된다. 하기에서, 상기의 신택스 요소들의 레프리젠테이션이 MP4 슈도-코드로 제공된다.
하기의 표 14는 HTTPStreamingBox의 MP4 슈도-코드를 사용한 신택스 레프리젠테이션이다.
HTTPStreamingBox
Box Type: 'htps'
Container: Signaling file
Mandatory: Yes
Quantity: One

Aligned(8) class HTTPStreamingBox extends Box('htps') {
}
하기에서 PeriodsRef 요소의 몇몇 다른 옵션들이 설명된다.
XInclude는 XML 문서들을 병합하기 위한 포함(inclusion) 매커니즘을 제공하는 W3C 기술(technology)이다.
PeriodsRef 및 XInclude는 자원/설명을 참조하기 위해 임의의 URI 타입을 (Location 요소 및 href 속성과 함께) 사용한다는 점에서 유사하다. 그러나 이러한 두 접근방법들 간에는 주요한 차이가 있다.
XInclude는 XML 문서들을 병합하기 위해 사용될 수 있다. 이는 병합된 문서가 임의의 그 이상의 처리 이전에 획득되어야 한다는 것을 의미할 수 있다. 반면, PeriodsRef는 과거 또는 미래의 주기들을 참조하기 위해 사용된다. 과거 또는 미래의 주기들은 항상 병합될 필요가 있는 것은 아니다. PeriodsRef의 의도는 단지 사용자가 원할 때 적절한 주기 정보를 추출할 수 있도록 허용하는 것일 수 있다.
특정한(specific) 속성들/요소들에 대해서, PeriodsRef의 startTime 및 availableTime는 주기 정보 추출(retrieval)에 대해 고유할 수 있다. XInclude의 속성들/요소들 중, "fallback" 및 "xpointer"는 PeriodsRef의 기능성(functionality)을 향상시키기 위해 사용될 수가 있다. 반면, "parse", "encoding", "accept", "accept-language"는 PeriodsRef에 대해 불필요할 수 있다.
상기의 설명에 기반하여, Period들을 참조함에 있어서 2 개의 추가적인 선택사항들인 1) "향상된(enhanced) PeroidsRef" 및 2) "XInclude-확장(extending) PeriodsRef"가 제안될 수 있다.
1) 향상된 PeroidsRef : 이 선택 사항에서, 현존하는(existing) PeriodsRef는 XInclude의 fallback 요소 및 xpointer 속성에 의해 향상될 수 있다. 이 선택사항의 하나의 이점(advantage)은 신택스 및 처리에 있어서의 단순성(simplicity)이다. 변형된 PeriodsRef의 신택스는 하기의 표 15에서 제공된다.
2) XInclude-확장 PeriodsRef : 이 선택사항에서 PeriodRef는 XInclude를 startTime 및 availableTime 속성에 관하여 단순히 확장함으로써 구축될 수 있다. 이 선택사항의 이점은 표준적인(standard) XInclude를 사용한다는 것이다. 항상 초기에 문서들을 병합하는 것을 피하기 위해, "클라이언트는 병합이 이루어져야 할지 아니면 그렇지 않은지 여부에 대해 결정하도록 허락된다"는 것이 PeriodsRef의 시맨틱스에 있어서 의무적이다. 이러한 PeriodsRef의 신택스는 하기의 표 16에서 제공된다.
이러한 신택스들에서, ids 속성이 현재의 미디어 프리젠테이션(media presentation) 내에서 참조되는 Period들의 id들을 가리키기 위해 부가될 수 있다. 또한, XInclude의 href 속성과 일관성을 갖기 위해, Location 요소는 선택적인 location 속성으로 변경될 수 있다.
<xs:complexType name="PeriodsRefType">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element minOccurs="0" maxOccurs="unbounded" name="fallback" type="fallbackType"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attribute name="ids" type="xs:string"/>
<xs:attribute name="location" type="xs:anyURI"/>
<xs:attribute name="xpointer" type="xs:string"/>
<xs:attribute name="startTime" type="xs:duration"/>
<xs:attribute name="availableTime" type="xs:duration"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>

<xs:complexType name="fallbackType">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="PeriodsRef" type="PeriodsRefType"/>
<xs:any namespace="##other" processContents="lax"/>
</xs:choice>
<xs:anyAttribute namespace="##other" processContents="lax" />
</xs:complexType>
<xs:schema
...
xmlns:xi="http://www.w3.org/2001/XInclude"
...

<xs:complexType name="PeriodsRefType">
<xs:complexContent>
<xs:extension base="xi:includeType">
<xs:attribute name="ids" type="xs:string"/>
<xs:attribute name="startTime" type="xs:duration"/>
<xs:attribute name="availableTime" type="xs:duration"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
상기의 요소들/속성들의 시맨틱은 하기의 표 17와 같이 제공될 수 있다.
 요소 또는 속성 명칭  타입
(속성 또는 요소)
발생횟수 선택성
(optionality)
설명
 MPD E 1 M 미디어 프리젠테이션(Media Presentation)을 위한 미디어 정보(Media Presentation Description; MPD)를 전달하는 루트 요소이다.
............
  Period E 1...N O Period의 정보를 제공한다.
  PeriodsRef E 1...N O Period 요소의 하나 이상의 인스턴스를 포함하는 설명에 대한 참조를 제공한다. Period 요소의 하나 이상의 인스턴스는 연속적인(consecution) Period(들)의 일련(sequence)를 나타낸다. Period의 정보는 Period 요소의 인스턴스로서 포함될 수 있으며, 또는 PeriodsRef 요소에 의해 참조될 수 있다.
  ids A O. 참조되는 Period(들)의 id(들)을 제공한다. 다중의 연속적인 Period들이 참조될 때, id는 세미콜론으로 분리된 이 문자열에 의해 전달된다(conveyed).
locatoin A O. Period(들)의 설명에 대한 참조를 제공한다.
  xpointer A O. 참조되는 설명의 부분을 식별하기 위한 XPointer를 제공한다. 이 속성이 부재하면, location 속성이 존재한다.
  startTime A 0...1 O. 콘텐츠의 시작 시간에 상대적으로, Period들의 참조된 일련의 시작 시각을 가리킨다. startTime 요소는 클라이언트가 이 참조된 정보가 추출되어야 할지 그렇지 않은지 여부를 결정하는데 도움을 준다.
  availableTime A 0...1 O. 참조된 Period(들)의 설명이 가용한 시간을 가리킨다. 상기 시간은 콘텐츠의 시작 시각으로부터 상대적인 시간이다. 만약, 이 속성이 부재하면, 설명은 이미 가용하다.
하기에서, Period Timeline을 설명한다.
각 주기는 주기의 시작 시각을 가리키는 start 속성을 가질 수 있다. 그러나, 이러한 접근방법은 주기들의 타임라인을 변경(modify)하기에 유동성있지 않을 수 있다.
예컨대, VOD를 위한 MPD 내에 광고 주기를 삽입하기 위해, 삽입된 주기 이후의 모든 주기들의 시작 시각들이 변경되어야 한다. 더욱이, 동일한 광고 주기가 반복적으로(예컨대, 매 1 시간 마다) 재생된다면, 이 주기는 계속하여 삽입된다. 동일한 방식으로, 하나 이상의 주기가 MPD로부터 제거될 때, 시공간상 제거된 주기 이후의 남은 주기들의 시작 시각이 변경된다.
본 실시예에서, 주기 관리에 있어서의 유동성을 위해, 하기와 같은 변형들이 제안될 수 있다.
1) Period에 새 속성 "duration" 추가
2) Period의 현 start 속성을 선택적인 것으로 변경
3) MPD 타입에 새로운 PeriodTimeline 요소 추가
PeriodTimeline 요소는 타임라인에 따른 주기들의 프리젠테이션에 대한 정보를 제공할 수 있다. PeriodTimeline 요소의 시맨틱스 및 신택스가 하기의 표 18 내지 표 20에서 제공된다.
PeriodTimeline을 사용함에 의해, Period의 설명은 프리젠테이션 시간에 독립적일 수 있다.. 따라서, Period는 (전적 또는 부분적으로) 동일한 미디어 프리젠테이션 또는 다른 미디어 프리젠테이션 내에서 재사용될 수 있다. 프리젼테이션 시간을 변형할 때, 단지 Period Timeline이 변경될 필요가 있다.
추가로, PartialPlay 요소는 Period의 하나 이상의 부분을 (다시)재생((re)play)하는 것을 허용할 수 있다. 예컨대, 광고 Period가 상연(present)된 후, (beginning 및 ending에 의해 나타내어진(denoted)) 그 Period의 일 부분이 전체 세션(session) 동안 때때로 반복될 수 있다.
PeriodTimeline 요소는 Period들의 명시적인(explicit) 타임라인을 가할 수 있다(impose). PeriodTimeline 요소 없이, Period들의 묵시적인(implicit) 타임라인은 Period들의 순서가 정해진(ordered) 연쇄(sequence)로부터 추론(infer)될 수 있다. 묵시적인 타임라인의 경우에 있어서, Period의 다시재생을 지원하기 위해, PartialPlay 요소는 Period 요소의 자식 요소로서도 제공될 수 있다.
 요소 또는 속성 명칭  타입
(속성 또는 요소)
발생횟수 선택성
(optionality)
설명
 MPD E 1 M 미디어 프리젠테이션(Media Presentation)을 위한 미디어 정보(Media Presentation Description; MPD)를 나르는 루트 요소이다.
............
  PeriodTimeline E 0...1 O 미디어 프리젠테이션의 Period들의 프리젠테이션 타임라인을 제공한다.
  PeriodsTime E 1...N O Period를 상연하기 위한 시간 정보를 제공한다.
  id A O. 미디어 프리젠테이션의 Period의 id를 가리킨다. 이 값은 Period의 id 속성이 있을 경우, Period의 id 속성의 값과 동일하다. 만약, id 속성들이 없다면, 이 값은 MPD 내의 Period의 등장(appearance) 순서와 동일하다.
start A O. 미디어 프리젠테이션의 availabilityStart 시각 속성의 값에 상대적인 Period의 정확한 시작 시각을 제공한다.
이 속성은 대응하는 Period(즉, Period 요소의 인스턴스)의 start 속성을 오버라이드(override)한다. 이 속은 타임라인의 제1 Period를 위해 존재해야한다. 다른 Period들에 있어서, 이전 Period들의 상연 지속시간에 대한 정보가 가용하다면, 이 값은 추론될 수 있으며, 속성은 부재할 수 있다.
  PartialPlay E 0...N O. Period의 (임시) 일부를 상연하기 위한 정보를 제공한다.
beginning A O. Period의 일부의 시작 점을 가리킨다. 이 시각 값은 Period의 시작에 상대적이다.
ending A O. Period의 일부의 종료 점을 가리킨다. 이 시각 값은 Period의 시작에 상대적이다.
Period E 1...N M Period의 정보를 제공한다.
start A O Period의 시작 시각을 가리킨다.
id A O Period의 ID를 가리킨다. 이 Period가 다른 Period의 (부분적인) 반복일 때, 이 속성의 값은 참조되는 Period의 ID 또는 등장 순서이다.
duration A O. Period의 지속시간을 가리킨다. start 속성이 부재 일 때, 이 속성은 있다. 또한, 미디어 프리젠테이션의 마지막 Period에 대해, availabilityEndTime 및 SegmentTimeline이 가용하지 않다면, 이 Period의 duration 속성은 있다.
PartialPlay E 0...N O. Period의 (임시) 일부를 상연하기 위한 정보를 제공한다.
beginning A O. Period의 일부의 시작 점을 가리킨다. 이 시각 값은 Period의 시작에 상대적이다.
ending A O. Period의 일부의 종료 점을 가리킨다. 이 시각 값은 Period의 시작에 상대적이다.
Representation E 0...N Representation 요소는 Representation의 설명을 포함한다.
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="urn:3GPP:ns:PSS:AdaptiveHTTPStreamingMPD:2009"
attributeFormDefault="unqualified"
elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="urn:3GPP:ns:PSS:AdaptiveHTTPStreamingMPD:2009">
...

<!-- MPD Type -->
<xs:complexType name="MPDtype">
<xs:sequence>
<xs:element minOccurs="0" name="ProgramInformation" type="ProgramInformationType"/>
<xs:element minOccurs="0" name="PeriodTimeline" type="PeriodTimelineType"/>
<xs:element maxOccurs="unbounded" name="Period" type="PeriodType"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute default="OnDemand" name="type" type="PresentationType"/>
<xs:attribute name="availabilityStartTime" type="xs:dateTime"/>
<xs:attribute name="availabilityEndTime" type="xs:dateTime"/>
<xs:attribute name="mediaPresentationDuration" type="xs:duration"/>
<xs:attribute name="minimumUpdatePeriodMPD" type="xs:duration"/>
<xs:attribute name="minBufferTime" type="xs:duration" use="required"/>
<xs:attribute name="timeShiftBufferDepth" type="xs:duration"/>
<xs:attribute name="baseUrl" type="xs:anyURI"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>

<!-- Type of presentation - live or on-demand -->
<xs:simpleType name="PresentationType">
<xs:restriction base="xs:string">
<xs:enumeration value="OnDemand"/>
<xs:enumeration value="Live"/>
</xs:restriction>
</xs:simpleType>

<!-- Period Timeline -->
<xs:complexType name="PeriodTimelineType">
<xs:sequence>
<xs:element maxOccurs="unbounded" name="PeriodTime" type="PeriodTimeType"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
<xs:complexType name="PeriodTimeType">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="PartialPlay" type="PartialPlayType"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required"/>
<xs:attribute name="start" type="xs:duration"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>

<xs:complexType name="PartialPlayType">
<xs:sequence>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="beginning" type="xs:duration"/>
<xs:attribute name="ending" type="xs:duration"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>

<!-- Period of a presentation -->
<xs:complexType name="PeriodType">
<xs:sequence>
<xs:element minOccurs="0" name="SegmentInfoDefault" type="SegmentInfoDefaultType"/>
<xs:element minOccurs="0" maxOccurs="unbounded" name="PartialPlay" type="PartialPlayType"/>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Representation" type="RepresentationType"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="start" type="xs:duration"/>
<xs:attribute name="duration" type="xs:duration"/>
<xs:attribute name="id" type="xs:string"/>
<xs:attribute default="false" name="segmentAlignmentFlag" type="xs:boolean"/>
<xs:attribute default="false" name="bitStreamSwitchingFlag" type="xs:boolean"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
...
...
</xs:schema>
반복되는 Period가 어떤 Representation 설명을 다시 포함하지 않는 것과 같이, Representation 인스턴스들의 최소 개수는 0으로 변경될 수 있다.
id 속성을 직접적으로 사용하는 것 대신, 반복되어야 하는 이전의 Period의 id 값을 가리키기 위해 특별한(special) 속성을 사용할 수 있다.
도 5는 본 발명의 일 실시예에 따른 클라이언트의 구조도이다.
클라이언트(100)는 접근 엔진(510) 및 미디어 엔진(520)을 포함한다.
접근 엔진(510)은 DASH 접근 엔진일 수 있다.
접근 엔진(510)은 서버(110)로부터, 메타데이터(예컨대, MPD)를 수신한다.
접근 엔진(510)은, 요청들을 구성하고, 구성된 요청들을 서버(110)에게 발행(issue)한다.
접근 엔진(510)은, 콘텐츠(예켄더, 세그먼트들 또는 세그먼트들의 일부들)을 서버(110)로부터 수신한다.
접근 엔진(510)은 콘텐츠를 미디어 엔진(520)에게 제공한다.
접근 엔진(510)의 출력은, MPEG 컨테니어(container)(예컨대, ISO/IEC 14492-12 ISO 베이스 미디어 파일 포멧 또는 ISO/IEC 13818-2 MPEG-2 트랜스포트 스트림)의 미디어(또는, 미디어의 일부들)을 포함할 수 있다. 또한, 접근 엔진(510)의 출력은 상기 미디어의 내부적(internal) 타이밍을 미디어 프리젠테이션의 타임 라인으로 사상(map)하는 타이밍 정보를 포함할 수 있다.
미디어 엔진(520)은 제공된 콘텐츠를 재생한다. 즉, 미디어 엔진(520)은 접근 엔진(510)으로부터 출력된 미디어 및 타이밍 정보를 사용하여 미디어를 출력할 수 있다.
앞서 도 1 내지 도 4를 참조하여 설명된 본 발명의 일 실시예에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 단말
110: 서버

Claims (16)

  1. 하나 이상의 주기들을 포함하는 미디어의 메타데이터를 수신하는 단계;
    상기 메타데이터가 제공하는 정보에 기반하여 상기 미디어의 세그먼트들에 접근하는 단계; 및
    상기 세그먼트들 내에 포함된 상기 미디어의 데이터를 디코딩 및 렌더링하는 단계
    를 포함하고,
    각 주기는 상기 미디어의 하나 이상의 레프리젠테이션들을 포함하고,
    각 레프리젠테이션은 상기 주기의 시작점에서 시작하고 상기 주기의 종료점까지 지속하며, 하나 이상의 세그먼트들을 포함하는, 미디어 제공 방법.
  2. 제1항에 있어서,
    상기 메타데이터는 상기 미디어 콘텐츠의 미디어 정보(media presentation description; MPD)인, 콘텐츠 제공 방법.
  3. 제1항에 있어서,
    상기 하나 이상의 주기들 각각은 주기 요소에 의해 정의되는, 미디어 제공 방법.
  4. 제3항에 있어서,
    상기 주기 요소는 상기 주기의 시작 시각을 특정하는 시작 속성을 포함하는, 미디어 제공 방법.
  5. 제3항에 있어서,
    상기 주기 요소는 상기 주기의 지속시간을 특정하는 지속시간 속성을 포함하는, 미디어 제공 방법.
  6. 제5항에 있어서,
    상기 지속시간 속성은 상기 주기의 다음 주기의 시작 시각을 특정하는, 미디어 제공 방법.
  7. 제3항에 있어서,
    상기 주기의 시작 시각은 상기 주기에 포함되는 상기 세그먼트들의 시작 시각을 결정하는, 미디어 제공 방법.
  8. 제3항에 있어서,
    상기 주기 요소는 외부의 주기 요소에 대한 참조를 특정하는 참조 속성을 포함하고, 상기 주기는 상기의 외부의 주기 요소에 의해 정의되는, 미디어 제공 방법.
  9. 하나 이상의 주기들을 포함하는 미디어의 메타데이터를 수신하고, 상기 메타데이터가 제공하는 정보에 기반하여 상기 미디어의 세그먼트들을 수신하고, 상기 세그먼트들 내에 포함된 상기 미디어의 데이터를 디코딩하는 접근 엔진; 및
    상기 접근 엔진으로부터 상기 미디어의 데이터를 제공받아 상기 미디어를 출력하는 미디어 엔진을 포함하고,
    각 주기는 상기 미디어의 하나 이상의 레프리젠테이션들을 포함하고,
    각 레프리젠테이션은 상기 주기의 시작점에서 시작하고 상기 주기의 종료점까지 지속하며, 하나 이상의 세그먼트들을 포함하는, 단말.
  10. 제9항에 있어서,
    상기 메타데이터는 상기 미디어 콘텐츠의 미디어 정보(media presentation description; MPD)인, 콘텐츠 제공 방법.
  11. 제8항에 있어서,
    상기 하나 이상의 주기들 각각은 주기 요소에 의해 정의되는, 미디어 제공 방법.
  12. 제11항에 있어서,
    상기 주기 요소는 상기 주기의 시작 시각을 특정하는 시작 속성을 포함하는, 미디어 제공 방법.
  13. 제11항에 있어서,
    상기 주기 요소는 상기 주기의 지속시간을 특정하는 지속시간 속성을 포함하는, 미디어 제공 방법.
  14. 제13항에 있어서,
    상기 지속시간 속성은 상기 주기의 다음 주기의 시작 시각을 특정하는, 미디어 제공 방법.
  15. 제11항에 있어서,
    상기 주기의 시작 시각은 상기 주기에 포함되는 상기 세그먼트들의 시작 시각을 결정하는, 미디어 제공 방법.
  16. 제11항에 있어서,
    상기 주기 요소는 외부의 주기 요소에 대한 참조를 특정하는 참조 속성을 포함하고, 상기 주기는 상기의 외부의 주기 요소에 의해 정의되는, 미디어 제공 방법.
KR1020110100706A 2010-10-06 2011-10-04 스트리밍 콘텐츠 제공 장치 및 방법 KR101206698B1 (ko)

Priority Applications (11)

Application Number Priority Date Filing Date Title
KR1020110100706A KR101206698B1 (ko) 2010-10-06 2011-10-04 스트리밍 콘텐츠 제공 장치 및 방법
CN201610221910.1A CN105704159A (zh) 2010-10-06 2011-10-06 用于提供媒体的方法和服务器
US13/824,995 US8909805B2 (en) 2010-10-06 2011-10-06 Apparatus and method for providing streaming content
EP17184168.7A EP3273404A1 (en) 2010-10-06 2011-10-06 Apparatus and method for providing streaming content
PCT/KR2011/007387 WO2012047028A2 (ko) 2010-10-06 2011-10-06 스트리밍 컨텐츠 제공 장치 및 방법
EP11830913.7A EP2626829A4 (en) 2010-10-06 2011-10-06 APPARATUS AND METHOD FOR PROVIDING REAL-TIME MULTIMEDIA CONTENT
CN201180048729.0A CN103181186B (zh) 2010-10-06 2011-10-06 提供串流内容的装置及方法
EP17162129.5A EP3226198A1 (en) 2010-10-06 2011-10-06 Apparatus and method for providing streaming content
US14/247,488 US9986009B2 (en) 2010-10-06 2014-04-08 Apparatus and method for providing streaming content
US14/247,697 US9369512B2 (en) 2010-10-06 2014-04-08 Apparatus and method for providing streaming content
US15/990,251 US20180288125A1 (en) 2010-10-06 2018-05-25 Apparatus and method for providing streaming content

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US39032810P 2010-10-06 2010-10-06
US61/390,328 2010-10-06
US40567410P 2010-10-22 2010-10-22
US61/405,674 2010-10-22
US41446210P 2010-11-17 2010-11-17
US61/414,462 2010-11-17
US41793110P 2010-11-30 2010-11-30
US61/417,931 2010-11-30
US201161434036P 2011-01-19 2011-01-19
US61/434,036 2011-01-19
KR1020110100706A KR101206698B1 (ko) 2010-10-06 2011-10-04 스트리밍 콘텐츠 제공 장치 및 방법

Related Child Applications (3)

Application Number Title Priority Date Filing Date
KR1020120029956A Division KR101877905B1 (ko) 2010-10-06 2012-03-23 스트리밍 콘텐츠 제공 장치 및 방법
KR1020120102674A Division KR101285058B1 (ko) 2010-10-06 2012-09-17 스트리밍 콘텐츠 제공 장치 및 방법
KR1020120102675A Division KR101291992B1 (ko) 2010-10-06 2012-09-17 스트리밍 콘텐츠 제공 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20120038367A true KR20120038367A (ko) 2012-04-23
KR101206698B1 KR101206698B1 (ko) 2012-11-30

Family

ID=45928228

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110100706A KR101206698B1 (ko) 2010-10-06 2011-10-04 스트리밍 콘텐츠 제공 장치 및 방법

Country Status (5)

Country Link
US (1) US8909805B2 (ko)
EP (3) EP3273404A1 (ko)
KR (1) KR101206698B1 (ko)
CN (2) CN105704159A (ko)
WO (1) WO2012047028A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013162304A1 (ko) * 2012-04-25 2013-10-31 삼성전자 주식회사 비디오 데이터를 재생하는 방법 및 장치
WO2014069905A1 (ko) * 2012-10-31 2014-05-08 삼성전자 주식회사 적응형 스트리밍을 이용한 미디어 세그먼트 송수신 방법 및 장치

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
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
KR20120034550A (ko) 2010-07-20 2012-04-12 한국전자통신연구원 스트리밍 컨텐츠 제공 장치 및 방법
US9467493B2 (en) 2010-09-06 2016-10-11 Electronics And Telecommunication Research Institute Apparatus and method for providing streaming content
EP2661863B1 (en) * 2011-01-04 2016-07-20 Thomson Licensing Apparatus and method for transmitting live media content
WO2012125006A2 (ko) * 2011-03-16 2012-09-20 한국전자통신연구원 레프리젠테이션을 사용하는 스트리밍 콘텐츠 제공 장치 및 방법
KR101691266B1 (ko) * 2011-10-20 2016-12-29 엘지전자 주식회사 방송 서비스 수신 방법 및 방송 서비스 수신 장치
US8977704B2 (en) 2011-12-29 2015-03-10 Nokia Corporation Method and apparatus for flexible caching of delivered media
US9401968B2 (en) * 2012-01-20 2016-07-26 Nokia Techologies Oy Method and apparatus for enabling pre-fetching of media
US9438883B2 (en) * 2012-04-09 2016-09-06 Intel Corporation Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content
EP3340634B1 (en) * 2012-04-26 2020-02-12 Huawei Technologies Co., Ltd. System and method for signaling segment encryption and key derivation for adaptive streaming
CN104429093B (zh) 2012-07-09 2018-01-05 华为技术有限公司 超文本传输协议动态自适应流媒体客户端及其会话管理实施方法
US10616297B2 (en) 2012-07-09 2020-04-07 Futurewei Technologies, Inc. Content-specific identification and timing behavior in dynamic adaptive streaming over hypertext transfer protocol
US9680689B2 (en) * 2013-02-14 2017-06-13 Comcast Cable Communications, Llc Fragmenting media content
JP6493765B2 (ja) 2013-07-19 2019-04-03 ソニー株式会社 情報処理装置および方法
US9807452B2 (en) * 2013-10-07 2017-10-31 Samsung Electronics Co., Ltd. Practical delivery of high quality video using dynamic adaptive hypertext transport protocol (HTTP) streaming (DASH) without using HTTP in a broadcast network
CN109379576B (zh) * 2013-11-27 2021-07-06 交互数字专利控股公司 计算设备和调度mpeg-dash事件的方法
US20150172347A1 (en) * 2013-12-18 2015-06-18 Johannes P. Schmidt Presentation of content based on playlists
KR20150083429A (ko) * 2014-01-08 2015-07-17 한국전자통신연구원 Dash를 사용하는 비디오 재생을 위한 비트 깊이 표현 방법
US9866608B2 (en) * 2014-03-24 2018-01-09 Qualcomm Incorporated Processing continuous multi-period content
US10110652B2 (en) * 2014-10-14 2018-10-23 Intel IP Corporation Carriage of media content quality information
WO2016171518A2 (ko) * 2015-04-22 2016-10-27 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
CN107615774B (zh) * 2015-06-09 2020-12-22 索尼公司 接收装置、发送装置及数据处理方法
WO2016205733A1 (en) * 2015-06-19 2016-12-22 Huawei Technologies Co., Ltd. Template uniform resource locator signing
US11102259B2 (en) * 2019-01-22 2021-08-24 Apple Inc. Network system for content playback on multiple devices

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030093790A1 (en) * 2000-03-28 2003-05-15 Logan James D. Audio and video program recording, editing and playback systems using metadata
US7330875B1 (en) * 1999-06-15 2008-02-12 Microsoft Corporation System and method for recording a presentation for on-demand viewing over a computer network
US7624337B2 (en) * 2000-07-24 2009-11-24 Vmark, Inc. System and method for indexing, searching, identifying, and editing portions of electronic multimedia files
US20050193425A1 (en) * 2000-07-24 2005-09-01 Sanghoon Sull Delivery and presentation of content-relevant information associated with frames of audio-visual programs
US20050193408A1 (en) * 2000-07-24 2005-09-01 Vivcom, Inc. Generating, transporting, processing, storing and presenting segmentation information for audio-visual programs
US20050203927A1 (en) * 2000-07-24 2005-09-15 Vivcom, Inc. Fast metadata generation and delivery
US20050204385A1 (en) * 2000-07-24 2005-09-15 Vivcom, Inc. Processing and presentation of infomercials for audio-visual programs
US7512665B1 (en) * 2000-08-17 2009-03-31 International Business Machines Corporation Chained uniform resource locators
US20050273514A1 (en) * 2000-12-22 2005-12-08 Ray Milkey System and method for automated and optimized file transfers among devices in a network
US20050005308A1 (en) * 2002-01-29 2005-01-06 Gotuit Video, Inc. Methods and apparatus for recording and replaying sports broadcasts
US7739601B1 (en) * 2002-01-23 2010-06-15 Microsoft Corporation Media authoring and presentation
US7418494B2 (en) * 2002-07-25 2008-08-26 Intellectual Ventures Holding 40 Llc Method and system for background replication of data objects
KR100486713B1 (ko) * 2002-09-17 2005-05-03 삼성전자주식회사 멀티미디어 스트리밍 장치 및 방법
KR20040096718A (ko) * 2003-05-10 2004-11-17 삼성전자주식회사 멀티미디어 데이터 재생장치, 오디오 데이터 수신방법 및오디오 데이터 구조
JP4340483B2 (ja) 2003-06-27 2009-10-07 富士通株式会社 複合コンテンツの配信方法および配信システム
US20050102371A1 (en) * 2003-11-07 2005-05-12 Emre Aksu Streaming from a server to a client
KR100563659B1 (ko) 2003-12-09 2006-03-23 한국전자통신연구원 실시간 스트리밍 서비스 장치
JP2005318471A (ja) * 2004-04-30 2005-11-10 Toshiba Corp 動画像のメタデータ
US20060235883A1 (en) * 2005-04-18 2006-10-19 Krebs Mark S Multimedia system for mobile client platforms
JP2007048348A (ja) * 2005-08-08 2007-02-22 Toshiba Corp 情報記憶媒体、情報再生装置、情報再生方法、及び情報再生プログラム
US9386064B2 (en) * 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US20080034424A1 (en) * 2006-07-20 2008-02-07 Kevin Overcash System and method of preventing web applications threats
US7711797B1 (en) * 2006-07-31 2010-05-04 Juniper Networks, Inc. Optimizing batch size for prefetching data over wide area networks
KR20080018778A (ko) * 2006-08-25 2008-02-28 삼성전자주식회사 Av 컨텐츠를 세그먼트 단위로 실행하는 방법, 제어포인트 장치 및 홈 네트워크 시스템
US20080155602A1 (en) * 2006-12-21 2008-06-26 Jean-Luc Collet Method and system for preferred content identification
US8533310B2 (en) * 2007-03-09 2013-09-10 Riverbed Technology, Inc. Method and apparatus for acceleration by prefetching associated objects
JP2008259001A (ja) 2007-04-06 2008-10-23 Japan Radio Co Ltd ディジタルコンテンツ配信システム
US9542394B2 (en) * 2007-06-14 2017-01-10 Excalibur Ip, Llc Method and system for media-based event generation
WO2009054907A2 (en) * 2007-10-19 2009-04-30 Swarmcast, Inc. Media playback point seeking using data range requests
US8365271B2 (en) * 2008-02-27 2013-01-29 International Business Machines Corporation Controlling access of a client system to access protected remote resources supporting relative URLs
US8209609B2 (en) * 2008-12-23 2012-06-26 Intel Corporation Audio-visual search and browse interface (AVSBI)
US20100169303A1 (en) * 2008-12-31 2010-07-01 David Biderman Playlists for real-time or near real-time streaming
US8909806B2 (en) * 2009-03-16 2014-12-09 Microsoft Corporation Delivering cacheable streaming media presentations
US8621044B2 (en) * 2009-03-16 2013-12-31 Microsoft Corporation Smooth, stateless client media streaming
US8793282B2 (en) 2009-04-14 2014-07-29 Disney Enterprises, Inc. Real-time media presentation using metadata clips
US8201204B2 (en) * 2009-07-31 2012-06-12 Cisco Technology, Inc. Minimizing black video segments during ad insertion
US8510375B2 (en) * 2009-12-11 2013-08-13 Nokia Corporation Apparatus and methods for time mapping media segments in streaming media files
US8918533B2 (en) * 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9456015B2 (en) * 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
US9160978B2 (en) * 2010-08-10 2015-10-13 Google Technology Holdings LLC Method and apparatus related to variable duration media segments
US20120124179A1 (en) * 2010-11-12 2012-05-17 Realnetworks, Inc. Traffic management in adaptive streaming protocols
US8812621B2 (en) * 2011-05-03 2014-08-19 Cisco Technology, Inc. Reducing fetching load on cache servers in adaptive streaming
US8468145B2 (en) * 2011-09-16 2013-06-18 Google Inc. Indexing of URLs with fragments

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013162304A1 (ko) * 2012-04-25 2013-10-31 삼성전자 주식회사 비디오 데이터를 재생하는 방법 및 장치
US10158888B2 (en) 2012-04-25 2018-12-18 Samsung Electronics Co., Ltd. Method and apparatus for reproducing video data
WO2014069905A1 (ko) * 2012-10-31 2014-05-08 삼성전자 주식회사 적응형 스트리밍을 이용한 미디어 세그먼트 송수신 방법 및 장치
US10320872B2 (en) 2012-10-31 2019-06-11 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving media segments using adaptive streaming

Also Published As

Publication number Publication date
EP3226198A1 (en) 2017-10-04
CN103181186B (zh) 2016-05-04
KR101206698B1 (ko) 2012-11-30
CN105704159A (zh) 2016-06-22
EP2626829A4 (en) 2014-05-14
WO2012047028A3 (ko) 2012-05-31
CN103181186A (zh) 2013-06-26
EP2626829A2 (en) 2013-08-14
EP3273404A1 (en) 2018-01-24
US20130185398A1 (en) 2013-07-18
US8909805B2 (en) 2014-12-09
WO2012047028A2 (ko) 2012-04-12

Similar Documents

Publication Publication Date Title
KR101206698B1 (ko) 스트리밍 콘텐츠 제공 장치 및 방법
KR101206111B1 (ko) 스트리밍 콘텐츠 제공 장치 및 방법
US10277660B1 (en) Apparatus and method for providing streaming content
KR20120034550A (ko) 스트리밍 컨텐츠 제공 장치 및 방법
US20180288125A1 (en) Apparatus and method for providing streaming content
KR102042213B1 (ko) 스트리밍 컨텐츠 제공 장치 및 방법
KR101956113B1 (ko) 스트리밍 컨텐츠 제공 장치 및 방법
KR102272853B1 (ko) 스트리밍 컨텐츠 제공 장치 및 방법

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A107 Divisional application of patent
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161027

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171027

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190904

Year of fee payment: 8