KR20230101907A - 미디어 플레이백 동안 프리롤 및 미드롤 콘텐츠를 지원하기 위한 mpeg dash를 위한 방법 및 장치 - Google Patents

미디어 플레이백 동안 프리롤 및 미드롤 콘텐츠를 지원하기 위한 mpeg dash를 위한 방법 및 장치 Download PDF

Info

Publication number
KR20230101907A
KR20230101907A KR1020237019744A KR20237019744A KR20230101907A KR 20230101907 A KR20230101907 A KR 20230101907A KR 1020237019744 A KR1020237019744 A KR 1020237019744A KR 20237019744 A KR20237019744 A KR 20237019744A KR 20230101907 A KR20230101907 A KR 20230101907A
Authority
KR
South Korea
Prior art keywords
media
main
media segments
segments
segment
Prior art date
Application number
KR1020237019744A
Other languages
English (en)
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 KR20230101907A publication Critical patent/KR20230101907A/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/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • 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

Abstract

메인 미디어 스트림에서 프리롤 미디어 콘텐츠 및 미드롤 미디어 콘텐츠를 포함하는 보조 미디어를 시그널링하기 위한 방법 및 장치가 제공될 수 있으며, 이는 하나 이상의 메인 미디어 세그먼트 및 하나 이상의 보조 미디어 프레젠테이션 디스크립션(MPD)을 참조하는 적어도 하나의 보조 디스크립터를 포함하는 메인 MPD를 수신하는 것을 포함한다. 보조 MPD는 하나 이상의 메인 미디어 세그먼트와 독립적인 하나 이상의 보조 미디어 세그먼트를 포함할 수 있다. 방법은, 적어도 하나의 보조 디스크립터를 사용하여 하나 이상의 메인 MPD에서 참조되는 하나 이상의 보조 MPD를 검색하는 단계를 포함할 수 있고, 하나 이상의 보조 MPD 중의 보조 MPD는 하나 이상의 보조 미디어 세그먼트 및 보조 미디어 프레젠테이션 지속기간을 포함한다. 하나 이상의 보조 미디어 세그먼트 및 하나 이상의 메인 미디어 세그먼트는 미디어 소스 확장(MSE) 소스 버퍼에 첨부되고 디스패칭될 수 있다.

Description

미디어 플레이백 동안 프리롤 및 미드롤 콘텐츠를 지원하기 위한 MPEG DASH를 위한 방법 및 장치
본 출원은 2021년 10월 6일자로 출원된 미국 가출원 제63/253,050호 및 2022년 9월 21일자로 출원된 미국 출원 제17/949,592호에 대한 우선권을 주장하며, 이로써 이 특허 출원의 내용은 그 전체가 참조로 본 출원에 명백히 포함된다.
본 발명의 실시예는 스트리밍 미디어 콘텐츠(streaming media content)에 관한 것으로, 보다 구체적으로는 MPEG(Moving Picture Experts Group) DASH(dynamic adaptive streaming over hypertext transfer protocol)에 따라 미디어, ad 및 라이브 콘텐츠를 스트리밍하는 것에 관한 것이다.
MPEG DASH는 IP 네트워크를 통해 미디어 콘텐츠를 스트리밍하기 위한 표준을 제공한다. MPEG DASH에서, 미디어 프레젠테이션 디스크립션(MPD: media presentation description) 및 이벤트는, 미디어 타임라인 관련 이벤트를 클라이언트에 전달하는 데 사용된다. ISO/IEC 23009-1 DASH 표준은 멀티-레이트 콘텐츠의 스트리밍을 허용한다. DASH 표준은, 기간(period)이 단일 타임라인에서 서로 연속인 단일 선형 타임라인을 제공한다. ISO/IEC 23009-1은 또한, MPD 체이닝(chaining), 즉 프리롤 ad 삽입(pre-roll ad insertion)에 사용될 수 있는 MPD에서 플레이할 그 다음 MPD의 URL을 시그널링하기 위한 툴을 제공한다.
MPEG DASH는 IP 네트워크를 통해 멀티미디어 콘텐츠를 스트리밍하기 위한 표준을 제공한다. 표준은 미디어 콘텐츠의 선형 플레이백(linear playback)을 처리하지만, 비선형 동작의 상황(예를 들어, 미디어 세그먼트가 서로 독립적인 상이한 타임라인과 연결된 경우)을 처리하지 못한다. 위에서 언급된 결함을 극복하기 위해 MPD 체이닝 및 프리롤 ad 삽입이 사용될 수 있다. 그러나, DASH 플레이어가 W3C 미디어 소스 확장(Media Source Extension)을 사용하는 경우 심지어 MPD 체이닝 및 프리롤 ad 삽입도 실패하는 데, 이는 하나의 단일 MSE 소스 버퍼로 이러한 비선형 플레이백을 처리하는 것이 매우 어렵기 때문이다. 또한, MPD 체이닝 및 프리롤 ad 삽입은, ad가 MPD 체이닝 또는 프리롤 엘리먼트를 사용하기 전에 ad가 플레이될 것으로 예상될 때, 보호된 라이브 콘텐츠의 플레이백을 위한 W3C 암호화된 미디어 확장(Encrypted Media Extension) 시에 사용될 수 없다.
따라서, 메인 미디어 콘텐츠와 상이한 보조 콘텐츠(auxiliary content) 또는 독립 콘텐츠를 결합하기 위한 방법이 필요하다. 구체적으로, 프리롤 플레이백 또는 미드롤(mid-roll) 플레이백으로서 메인 미디어 콘텐츠와 보조 콘텐츠를 결합하는 방법 및 장치가 필요하다. 또한, MPD 체이닝을 사용하는 보호된 라이브 콘텐츠의 플레이백을 위해 W3C 암호화된 미디어 확장을 프로세싱하기 위한 방법이 또한 필요하다.
본 개시내용은 하나 이상의 기술적 문제점을 해결한다. 본 개시내용은 새로운 개념 ―메인 미디어 프레젠테이션으로부터 보조 또는 독립 미디어 프레젠테이션의 설명을 허용할 수 있는 DASH 표준용 보조 프레젠테이션 및 보조 MPD― 을 구현하기 위한 방법, 프로세스, 장치 및 비-일시적 컴퓨터-판독가능 매체를 포함한다. 또한, 본 개시내용의 실시예는 메인 프레젠테이션 동안 프리롤 및 미드롤 콘텐츠의 포함에 대한 지원을 제공한다.
본 개시내용의 실시예는, 메인 DASH(dynamic adaptive streaming over HTTP) 미디어 스트림에서 프리롤 미디어 콘텐츠 및 미드롤 미디어 콘텐츠를 포함하는 보조 미디어를 시그널링하기 위한 방법을 제공할 수 있다. 방법은, 적어도 하나의 프로세서에 의해 수행될 수 있고, 그리고 하나 이상의 메인 DASH 미디어 세그먼트 및 하나 이상의 보조 미디어 프레젠테이션 디스크립션(MPD)을 참조하는 URL(Uniform Resource Locator)을 포함하는 적어도 하나의 보조 디스크립터를 포함하는 하나 이상의 메인 MPD를 수신하는 단계 ― 하나 이상의 보조 MPD 중의 보조 MPD는 하나 이상의 메인 DASH 미디어 세그먼트와 독립적인 하나 이상의 보조 미디어 세그먼트를 포함함 ―; 적어도 하나의 보조 디스크립터를 사용하여 하나 이상의 메인 MPD에서 URL에 의해 참조되는 하나 이상의 보조 MPD를 검색하는 단계 ― 하나 이상의 보조 MPD 중의 보조 MPD는 하나 이상의 보조 미디어 세그먼트 및 보조 미디어 프레젠테이션 지속기간(duration)을 포함함 ―; 하나 이상의 보조 미디어 세그먼트 및 하나 이상의 메인 DASH 미디어 세그먼트를 미디어 소스 확장(MSE: media source extension) 소스 버퍼에 첨부하는 단계; 및 하나 이상의 보조 미디어 세그먼트 및 하나 이상의 메인 DASH 미디어 세그먼트와 연관된 프레젠테이션 타임 오프셋에 기반하여, MSE 소스 버퍼로부터, 하나 이상의 보조 미디어 세그먼트 및 하나 이상의 메인 DASH 미디어 세그먼트를 디스패칭하는(dispatching) 단계를 포함할 수 있다.
본 개시내용의 실시예는, 메인 DASH(dynamic adaptive streaming over HTTP) 미디어 스트림에서 프리롤 미디어 콘텐츠 및 미드롤 미디어 콘텐츠를 포함하는 보조 미디어를 시그널링하기 위한 장치 제공할 수 있다. 장치는, 컴퓨터 프로그램 코드를 저장하도록 구성된 적어도 하나의 메모리; 및 컴퓨터 프로그램 코드에 액세스하도록 그리고 컴퓨터 프로그램 코드에 의해 명령되는 대로 동작하도록 구성된 적어도 하나의 프로세서를 포함할 수 있다. 프로그램 코드는, 적어도 하나의 프로세서로 하여금, 하나 이상의 메인 DASH 미디어 세그먼트 및 하나 이상의 보조 미디어 프레젠테이션 디스크립션(MPD)을 참조하는 URL(Uniform Resource Locator)을 포함하는 적어도 하나의 보조 디스크립터를 포함하는 하나 이상의 메인 MPD를 수신하게 하도록 구성된 수신 코드 ― 하나 이상의 보조 MPD 중의 보조 MPD는 하나 이상의 메인 DASH 미디어 세그먼트와 독립적인 하나 이상의 보조 미디어 세그먼트를 포함함 ―; 적어도 하나의 프로세서로 하여금, 적어도 하나의 보조 디스크립터를 사용하여 하나 이상의 메인 MPD에서 URL에 의해 참조되는 하나 이상의 보조 MPD를 검색하게 하도록 구성된 검색 코드 ― 하나 이상의 보조 MPD 중의 보조 MPD는 하나 이상의 보조 미디어 세그먼트 및 보조 미디어 프레젠테이션 지속기간을 포함할 수 있음 ―; 적어도 하나의 프로세서로 하여금, 하나 이상의 보조 미디어 세그먼트 및 하나 이상의 메인 DASH 미디어 세그먼트를 미디어 소스 확장(MSE) 소스 버퍼에 첨부하게 하도록 구성된 첨부 코드; 및 적어도 하나의 프로세서로 하여금, 하나 이상의 보조 미디어 세그먼트 및 하나 이상의 메인 DASH 미디어 세그먼트와 연관된 프레젠테이션 타임 오프셋에 기반하여, MSE 소스 버퍼로부터, 하나 이상의 보조 미디어 세그먼트 및 하나 이상의 메인 DASH 미디어 세그먼트를 디스패칭하게 하도록 구성된 디스패칭 코드를 포함할 수 있다.
본 개시내용의 실시예는 명령을 저장하는 비-일시적 컴퓨터-판독가능 매체를 제공할 수 있다. 명령은, 메인 DASH(dynamic adaptive streaming over HTTP) 미디어 스트림에서 프리롤 미디어 콘텐츠 및 미드롤 미디어 콘텐츠를 포함하는 보조 미디어를 시그널링하기 위한 디바이스의 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서로 하여금, 하나 이상의 메인 미디어 세그먼트 및 하나 이상의 보조 미디어 프레젠테이션 디스크립션(MPD)을 참조하는 URL(Uniform Resource Locator)을 포함하는 적어도 하나의 보조 디스크립터를 포함하는 하나 이상의 메인 MPD를 수신하게 하게 하고 ― 하나 이상의 보조 MPD 중의 보조 MPD는 하나 이상의 메인 DASH 미디어 세그먼트와 독립적인 하나 이상의 보조 미디어 세그먼트를 포함함 ―; 적어도 하나의 보조 디스크립터를 사용하여 하나 이상의 메인 MPD에서 URL에 의해 참조되는 하나 이상의 보조 MPD를 검색하게 하고 ― 하나 이상의 보조 MPD 중의 보조 MPD는 하나 이상의 보조 미디어 세그먼트 및 보조 미디어 프레젠테이션 지속기간을 포함할 수 있음 ―; 하나 이상의 보조 미디어 세그먼트 및 하나 이상의 메인 DASH 미디어 세그먼트를 미디어 소스 확장(MSE) 소스 버퍼에 첨부하게 하고; 그리고 하나 이상의 보조 미디어 세그먼트 및 하나 이상의 메인 DASH 미디어 세그먼트와 연관된 프레젠테이션 타임 오프셋에 기반하여, MSE 소스 버퍼로부터, 하나 이상의 보조 미디어 세그먼트 및 하나 이상의 메인 DASH 미디어 세그먼트를 디스패칭하게 하는 하나 이상의 명령을 포함할 수 있다.
개시되는 청구대상의 추가의 특징, 특성 및 다양한 이점은 다음의 상세한 설명 및 첨부 도면으로부터 더 명백해질 것이다.
도 1은, 실시예에 따른 통신 시스템의 단순화된 예시이다.
도 2는, 실시예에 따른 스트리밍 환경에서의 컴포넌트의 배치에 대한 예시적 예시이다.
도 3은, 실시예에 따른 DASH 프로세싱 모델의 단순화된 블록 다이어그램이다.
도 4a는, 실시예에 따른 보조 미디어 프레젠테이션 디스크립터(MPD)의 미디어 소스 확장(MSE) 소스 버퍼 구현의 단순화된 예시이다.
도 4b는, 실시예에 따라 프리롤 및 미드롤 보조 미디어 콘텐츠를 플레이하기 위한 보조 MPD 엘리먼트를 위한 예시적 스크립트(script)이다.
도 5는, 실시예에 따른 보조 MPD에 기반한 스태킹 프레젠테이션의 예시적인 예시이다.
도 6은, 실시예에 따른 메인 미디어 스트림에서 프리롤 미디어 콘텐츠 및 미드롤 미디어 콘텐츠를 포함하는 보조 미디어를 시그널링하기 위한 예시적인 흐름도 예시이다.
도 7은, 실시예에 따른 컴퓨터 시스템의 단순화된 다이어그램이다.
아래에서 논의되는 제안된 특징은 별도로 사용될 수 있거나 또는 임의의 순서로 조합될 수 있다. 추가로, 실시예는 프로세싱 회로부(예를 들어, 하나 이상의 프로세서 또는 하나 이상의 집적 회로)에 의해 구현될 수 있다. 일 예에서, 하나 이상의 프로세서는 비-일시적 컴퓨터-판독가능 매체에 저장된 프로그램을 실행한다.
도 1은, 본 개시내용의 실시예에 따른, 통신 시스템(100)의 간략화된 블록 다이어그램을 예시한다. 통신 시스템(100)은 네트워크(105)를 통해 상호연결된 적어도 2개의 단말기(102, 103)를 포함할 수 있다. 데이터의 단방향 전송에 대해, 제1 단말기(103)는 네트워크(105)를 통해 다른 단말기(102)로의 전송을 위해 로컬 위치에서 비디오 데이터를 코딩할 수 있다. 제2 단말기(102)는, 네트워크(105)로부터 다른 단말기의 코딩된 비디오 데이터를 수신할 수 있고, 코딩된 데이터를 디코딩할 수 있고, 그리고 복원된 비디오 데이터를 디스플레이할 수 있다. 단방향 데이터 전송은 미디어 서빙 애플리케이션 등에서 일반적일 수 있다.
도 1은, 예를 들어, 화상회의 동안 발생할 수 있는, 코딩된 비디오의 양방향 전송을 지원하기 위해 제공된 제2 쌍의 단말기(101 및 104)를 예시한다. 데이터의 양방향 전송의 경우, 각각의 단말기(101 및 104)는 네트워크(105)를 통해 다른 단말기로의 전송을 위해 로컬 위치에서 캡처된 비디오 데이터를 코딩할 수 있다. 각각의 단말기(101 및 104)는 또한, 다른 단말기에 의해 전송된 코딩된 비디오 데이터를 수신할 수 있고, 코딩된 데이터를 디코딩할 수 있고, 그리고 복원된 비디오 데이터를 로컬 디스플레이 디바이스에 디스플레이할 수 있다.
도 1에서, 단말기(101, 102, 103, 및 104)는, 서버, 개인용 컴퓨터 및 스마트폰으로서 예시될 수 있지만, 본 개시내용의 원리는 이로 제한되지 않는다. 본 개시내용의 실시예는 랩톱 컴퓨터, 태블릿 컴퓨터, 미디어 플레이어 및/또는 전용 화상회의 장비를 이용하는 애플리케이션에 맞는다. 네트워크(105)는, 예를 들어, 유선 및/또는 무선 통신 네트워크를 포함하는, 코딩된 비디오 데이터를 단말기(101, 102, 103, 및 104) 사이에서 전달하는 임의의 수의 네트워크를 표현한다. 네트워크(105)는 회선-교환(circuit-switched) 및/또는 패킷-교환(packet-switched) 채널에서 데이터를 교환할 수 있다. 대표적인 네트워크는 전기통신 네트워크, 근거리 네트워크, 광역 네트워크 및/또는 인터넷을 포함한다. 본 논의의 목적을 위해, 네트워크(105)의 아키텍처 및 토폴로지는 이후 본원에서 설명되지 않는 한 본 개시내용의 동작에 중요하지 않을 수 있다.
도 2는, 예로서, 스트리밍 환경에서의 비디오 인코더 및 디코더의 배치를 예시한다. 실시예는, 예를 들어, CD, DVD, 메모리 스틱(memory stick) 등을 포함하는 디지털 미디어에 압축된 비디오를 저장하는 것, 디지털 TV, 화상회의 등을 포함하는 다른 비디오 인에이블 애플리케이션(video enabled application)에 적용될 수 있다.
스트리밍 시스템은, 예를 들어, 비압축 비디오 샘플 스트림(213)을 생성하는 비디오 소스(201), 예를 들어, 디지털 카메라를 포함할 수 있는 캡처 서브시스템(203)을 포함할 수 있다. 해당 샘플 스트림(213)은, 인코딩된 비디오 비트스트림과 비교할 때 높은 데이터 볼륨으로서 강조될 수 있으며, 비디오 소스(201)에 커플링된 인코더(202)에 의해 프로세싱될 수 있다. 인코더(202)는, 아래에서 더 상세히 설명되는 바와 같이, 실시예의 양상을 가능하게 하거나 구현하기 위한 하드웨어, 소프트웨어 또는 이들의 조합을 포함할 수 있다. 샘플 스트림과 비교할 때 더 낮은 데이터 볼륨으로서 강조될 수 있는 인코딩된 비디오 비트스트림(204)은, 향후 사용을 위해 스트리밍 서버(205)에 저장될 수 있다. 하나 이상의 스트리밍 클라이언트(212 및 207)는, 인코딩된 비디오 비트스트림(204)의 카피일 수 있는 인코딩된 비디오 스트림(208 및 206)을 검색하기 위해 스트리밍 서버(205)에 액세스할 수 있다. 클라이언트(212)는, 인코딩된 비디오 비트스트림(208)의 입력(incoming) 카피를 디코딩하고 그리고 디스플레이(209) 또는 다른 렌더링 디바이스에서 렌더링될 수 있는 출력(outgoing) 비디오 샘플 스트림(210)을 생성하는 비디오 디코더(211)를 포함할 수 있다. 일부 스트리밍 시스템에서, 인코딩된 비디오 비트스트림(204, 206 및 208)은 특정 비디오 코딩/압축 표준에 따라 인코딩될 수 있다. 이러한 표준의 예가 위에서 언급되었고 여기에서 추가로 설명된다.
도 3은, DASH 및 CMAF 이벤트를 프로세싱하기 위한 샘플 클라이언트 아키텍처와 같은 샘플 DASH 프로세싱 모델(300)을 도시한다. DASH 프로세싱 모델(300)에서, 미디어 세그먼트(예를 들어, ad 미디어 세그먼트 및 라이브 미디어 세그먼트)의 클라이언트의 요청은 매니페스트(manifest)(303)에서의 설명된 어드레스에 기반할 수 있다. 매니페스트(303)는 또한 메타데이터 트랙을 설명하며, 이 메타데이터 트랙으로부터, 클라이언트는 메타데이터 트랙의 세그먼트에 액세스하고 이를 파싱하고, 그리고 이를 애플리케이션(301)에 송신할 수 있다.
매니페스트(303)는 MPD 이벤트 또는 이벤트 및 인밴드(inband) 이벤트를 포함하고, 'moof' 파서(306)는 MPD 이벤트 세그먼트 또는 이벤트 세그먼트를 파싱하고, 이벤트 세그먼트를 이벤트 및 메타데이터 버퍼(330)에 첨부할 수 있다. 인밴드 이벤트 및 'moof' 파서(306)는 또한, 미디어 세그먼트를 페칭하고(fetch) 이 미디어 세그먼트를 미디어 버퍼(340)에 첨부할 수 있다. 이벤트 및 메타데이터 버퍼(330)는 이벤트 및 메타데이터 정보를 이벤트 및 메타데이터 동기화기 및 디스패처(335)에 송신할 수 있다. 이벤트 및 메타데이터 동기화기 및 디스패처(335)는, 특정 이벤트를 DASH 플레이어 제어, 선택 및 휴리스틱 로직(302)에, 그리고 애플리케이션 관련 이벤트 및 메타데이터 트랙을 애플리케이션(301)에 디스패칭할 수 있다.
일부 실시예에 따르면, MSE는 파일 포맷 파서(350), 미디어 버퍼(340) 및 미디어 디코더(345)를 포함하는 파이프라인을 포함할 수 있다. MSE(320)는 미디어 세그먼트의 로직 버퍼(들)(logical buffer)이며, 여기서 미디어 세그먼트는 미디어 세그먼트의 프레젠테이션 타임에 기반하여 추적되고 정렬될 수 있다. 미디어 세그먼트는 ad MPD와 연관된 ad 미디어 세그먼트 및 라이브 MPD와 연관된 라이브 미디어 세그먼트를 포함할 수 있지만, 이로 제한되지 않을 수 있다. 각각의 미디어 세그먼트는 미디어 세그먼트의 타임스탬프 오프셋에 기반하여 미디어 버퍼(340)에 부가되거나 첨부될 수 있고, 타임스탬프 오프셋은 미디어 버퍼(340)에서 미디어 세그먼트를 정렬하는 데 사용될 수 있다.
본 출원의 실시예가 MPD 체이닝을 사용하여 2개 이상의 비선형 미디어 소스로부터 선형 미디어 소스 확장(MSE) 버퍼를 구축하는 것에 관한 것일 수 있고 그리고 비선형 미디어 소스가 ad MPD 및 라이브 MPD일 수 있기 때문에, 파일 포맷 파서(350)가 라이브 MPD에 포함된 라이브 미디어 세그먼트에 의해 사용되는 상이한 미디어 및/또는 코덱(codec)을 프로세싱하는 데 사용될 수 있다. 일부 실시예에서, 파일 포맷 파서는 라이브 미디어 세그먼트의 코덱, 프로파일 및/또는 레벨에 기반하여 변경 타입을 발행할 수 있다.
미디어 버퍼(340)에 미디어 세그먼트가 존재하는 한, 이벤트 및 메타데이터 버퍼(330)는 해당 이벤트 세그먼트 및 메타데이터를 유지한다. 샘플 DASH 프로세싱 모델(300)은, 인밴드 및 MPD 이벤트와 연관된 메타데이터를 추적하기 위해 타이밍된 메타데이터 트랙 파서(325)를 포함할 수 있다. 도 3에 따르면, MSE(320)는 파일 포맷 파서(350), 미디어 버퍼(340) 및 미디어 디코더(345)만을 포함한다. 이벤트 및 메타데이터 버퍼(330) 및 이벤트 및 메타데이터 동기화기 및 디스패처(335)는 MSE(320)에 고유하지 않으므로, MSE(320)가 고유하게 이벤트를 프로세싱하고 이를 애플리케이션에 송신하는 것을 금지한다.
보조 프레젠테이션
본 개시내용의 실시예는, 보조 미디어 프레젠테이션이 MPD의 메인 미디어 프레젠테이션과 독립적인 미디어 프레젠테이션인 것으로 정의한다. 예를 들어, 메인 미디어 세그먼트와 독립적인 ad 미디어 세그먼트 또는 라이브 미디어 세그먼트가 보조 프레젠테이션일 수 있다. 보조 미디어 프레젠테이션 또는 보조 미디어 세그먼트에 대한 업데이트는 메인 미디어 세그먼트에 영향을 주지 않는다. 유사하게, 메인 미디어 세그먼트에 대한 업데이트는 보조 미디어 세그먼트에 영향을 주지 않는다. 따라서, 보조 미디어 세그먼트(또한, 보조 미디어 프레젠테이션 또는 보조 프레젠테이션으로 지칭됨)는, 메인 미디어 세그먼트(본 개시내용에서 메인 미디어 프레젠테이션 및 미디어 프레젠테이션으로 또한 알려짐)과 완전히 독립적일 수 있다.
보조 MPD
MPD는 계층적 조직(hierarchical organization)에 미디어 프레젠테이션을 포함할 수 있는 미디어 프레젠테이션 디스크립션이다. MPD는 하나 이상의 시퀀스의 기간을 포함할 수 있으며, 각각의 기간은 하나 이상의 적응 세트(adaptation set)를 포함할 수 있다. MPD에서의 각각의 적응 세트는 하나 이상의 프레젠테이션을 포함할 수 있고, 각각의 프레젠테이션은 하나 이상의 미디어 세그먼트를 포함한다. 이러한 하나 이상의 미디어 세그먼트는 인코딩되고, 디코딩되고 그리고/또는 플레이되는 실제 미디어 데이터 및 연관 메타데이터를 전달한다. 보조 MPD는 하나 이상의 보조 미디어 세그먼트를 포함할 수 있고, 그리고 양상에 따라, 보조 MPD에 포함된 각각의 보조 미디어 세그먼트가 메인 MPD 가용성 시작 타임에 이용가능해질 수 있다. 다른 또는 동일한 양상에 따라, 보조 MPD는 @mediaPresentationDuration을 포함해야 한다. 미디어 프레젠테이션 지속기간은 하나 이상의 보조 미디어 세그먼트의 프레젠테이션 지속기간을 포함할 수 있다. 일부 실시예에서, 미디어 프레젠테이션 지속기간은 MPD에 포함된 모든 보조 미디어 세그먼트의 총 미디어 프레젠테이션 타임을 포함할 수 있다.
상술된 바와 같이, 본 개시내용의 실시예는 메인 미디어 콘텐츠와 독립적인 보조 콘텐츠를 표현하는 보조 MPD를 정의한다. 양상에 따르면, 메인 MPD는, 보조 디스크립터를 사용하는 적어도 하나의 또는 일부 실시예에서는, 각각의 보조 MPD에 대한 참조를 포함할 수 있다. 보조 디스크립터는 특정 구문(syntax)을 가질 수 있다. 예를 들어, 보조 디스크립터는 EssentialProperty로 알려진 엘리먼트를 포함할 수 있거나, 또는 보조 MPD를 설명하거나 식별할 수 있는 SupplementalProperty로 알려진 엘리먼트를 포함할 수 있다. 보조 디스크립터는 또한, 보조 디스크립터의 방식(scheme)에 대한 특정 범용 자원 이름을 포함할 수 있다. 예로서, 보조 디스크립터에 대한 특정 urn은 "urn:mpeg:dash:auxiliary:2021"과 같은 @scheme을 포함할 수 있다. 보조 디스크립터는 또한, 보조 MPD URL, 시작 타임 값 및 리턴 타임 값을 포함할 수 있는 @value을 포함할 수 있다.
양상에 따르면, 시작 타임 값(또한, 본 개시내용에서는 시작 값, 시작 타임 속성, 바로 시작으로 지칭됨)은, 메인 미디어 프레젠테이션이 중단되고 보조 미디어 프레젠테이션이 플레이되는, 메인 미디어 프레젠테이션의 순간을 표현할 수 있다. 일부 실시예에서, 보조 미디어 세그먼트에 대한 시작 = 0인 경우, 보조 미디어 프레젠테이션은 프리롤 보조 미디어 세그먼트일 수 있다. 보조 미디어 프레젠테이션이 프리롤 보조 미디어 세그먼트인 경우, 보조 미디어 세그먼트는 메인 미디어 세그먼트가 플레이되기 전에 처음으로 플레이될 수 있다.
양상에 따르면, 리턴 타임(또한, "returnType"으로 지칭됨) 값은, 보조 MPD 또는 하나 이상의 보조 미디어 세그먼트를 플레이하기 위해 메인 미디어 프레젠테이션이 중단되는, 메인 미디어 타임라인의 순간으로부터의 오프셋을 표현할 수 있는 값일 수 있다. 일부 실시예에서, returnTime 값에 대한 디폴트 값은 보조 MPD와 연관된 미디어 프레젠테이션 지속기간이다. 0의 returnTime 값은 보조 미디어 세그먼트를 플레이하기 위해 중단된 순간에 메인 미디어 프레젠테이션에 조인(join)하게 된다.
도 4b는, 실시예에 따라, 프리롤 및 미드롤 보조 미디어 콘텐츠를 플레이하기 위한 보조 MPD 엘리먼트를 인에이블링하는(enabling) xml 코드를 표시하는 예시적인 스크립트(450)이다.
도 4b에 도시된 바와 같이, @id= "e0"인 EssentialProperty 디스크립터에 의해 설명되는 보조 MPD는 프리롤 미디어 세그먼트일 수 있는 반면, @id="e1" 및 @id="e2"인 EssentialProperty 디스크립터에 의해 설명되는 보조 MPD는 미드롤 미디어 세그멘테이션일 수 있다. 일부 실시예에서, 보조 MPD는 보조 MPD의 하나 이상의 기간 이전에 개시될 수 있다.
MSE 소스 버퍼로 보조 MPD 구현.
W3C MSE는 순차 버퍼이다. MSE 소스 버퍼 타임스탬프 오프셋(TSO: TimeStamp Offset)이 순차적으로 재생될 것으로 예상되는 콘텐츠가 올바른 위치에 첨부되도록 적절히 설정되어 있는 한, MSE 소스 버퍼가 콘텐츠를 정확하게 플레이한다. 실시예에 따르면, 메인 프레젠테이션이 보조 프레젠테이션으로 전환되거나 또는 다시 메인 프레젠테이션으로 전환되는 순간마다, MSE 타임 스탬프 오프셋(TSO)은 메인 미디어 세그먼트와 보조 미디어 세그먼트를 MSE 버퍼의 올바른 위치에 배치하도록 조정될 수 있다.
도 4a는 도 4b에서 xml 코드를 사용하여 설명되는 MSE 소스 버퍼의 다이어그램(400)이다.
다이어그램(400)에 도시된 바와 같이, 보조 MPD aux e0는 프리롤 MPD일 수 있고, aux e1 및 aux e2는 미드롤 MPD일 수 있다. 라이브 콘텐츠 p0는 하나 이상의 메인 미디어 세그먼트를 포함하는 메인 MPD일 수 있다.
aux e0는 프리롤 MPD이므로, aux e0로부터의 하나 이상의 보조 미디어 세그먼트가 검색되고, 메인 미디어 세그먼트보다 먼저 MSE 소스 버퍼의 시작부에 배치될 수 있다. aux e0에서 프리롤 보조 미디어 세그먼트를 페칭하고 첨부할 때, MSE TSO는 0이다.
Figure pct00001
... 식 (1)
일부 실시예에서, 각각의 프리롤 보조 미디어 세그먼트를 페칭하고 첨부한 후에, MSE TSO는 라이브 미디어 p0의 시작 타임, 라이브 미디어 p0의 프레젠테이션 타임 및 타임 시프트 버퍼 깊이에 기반하여 업데이트될 수 있다. 예로서, 도 4a에서, T1은 타임 시프트 버퍼의 깊이, 프리롤 보조 미디어 세그먼트의 지속기간, 및 라이브 미디어와 연관된 프레젠테이션 타임 오프셋에 기반할 수 있다.
Figure pct00002
Figure pct00003
... 식 (2)
미드롤 보조 MPD aux e1 및 aux e2에 대해:
Figure pct00004
... 식 (3)
Figure pct00005
... 식 (4)
Figure pct00006
... 식 (5)
Figure pct00007
... 식 (6)
여기서, e0@PTO, e1@PTO 및 e2@PTO는 이 순서로 필수 디스크립터에 링크되는 보조 MPD에서의 첫 번째 기간의 프레젠테이션 타임 오프셋이며, ei@starttime 및 ei@returnTime은 id=ei를 갖는 각각의 해당 디스크립터에서의 시작 타임 값 및 리턴 타임 값이다.
실시예에 따르면, MSE TSO를 업데이트하는 것은 다음에 기반할 수 있다:
프리롤 보조 미디어 세그먼트는 MSE 첨부 윈도우 시작(0)으로부터 시작할 수 있다. 프리롤 보조 미디어 세그먼트가 먼저 페칭되고 첨부되기 때문에, MSE TSO는 보조 MPD의 PTO와 동일하게 설정된다(예를 들어, 식 (1) 참조).
일부 실시예에서, 프리롤 보조 미디어 세그먼트의 마지막 세그먼트를 첨부한 후, 라이브 미디어 또는 메인 미디어 세그먼트와 연관된 라이브 에지가 계산될 수 있다. DVR 윈도우의 크기, 라이브 에지, 프리롤 보조 MPD 또는 미디어 세그먼트의 기간 시작 및 지속기간, 라이브 콘텐츠의 PTO를 사용하여, MSE TSO는, MSE 버퍼에 첨부되는 첫 번째 미디어 세그먼트와, 이전에 부가된 프리롤 보조 MPD의 마지막 세그먼트 사이에 임계 타임 범위가 있도록 조정될 수 있다. 예로서, 식 (2)를 참조한다. 일부 실시예에서, 임계치는 DVR 윈도우보다 작거나, 이와 동일하거나 또는 이보다 더 클 수 있다. DVR 윈도우는, 메인 미디어 스트림의 이전 지점에서 플레이백을 시작하거나 또는 다시 스크러빙하는 클라이언트의 능력을 포함할 수 있다.
실시예에 따르면, 각각의 첨부된 보조 MPD 또는 미디어 세그먼트로, 라이브 에지로부터 그의 오프셋이 계산된다. MSE TSO는 이 오프셋만큼 증가되며, 라이브 기간 PTO 및 보조 MPD의/미디어 세그먼트의 PTO를 기반으로 조정된다. 다른 또는 동일한 실시예로서, 각각의 보조 MPD/미디어 세그먼트의 마지막에서, MSE TSO는 보조 MPD의/미디어 세그먼트의 returnTime, 라이브 기간 PTO, 및 보조 MPD의/미디어 세그먼트의 PTO에 기반하여 조정된다.
일부 실시예에서, 프리롤 보조 MPD/미디어 세그먼트의 플레이백 시에, 클라이언트는 MSE로부터 프리롤 보조 MPD/미디어 세그먼트 타임 범위를 제거하기로 판단할 수 있고, 따라서 프리롤은 단지 한 번만 플레이될 수 있다. 일부 실시예에서, 프리롤은 DVR가 액세스되면 플레이되지 않을 수 있다. 클라이언트는 또한, 라이브 세션에 조인한 후 timeShiftBufferDepth 값에 따라 MSE 첨부 윈도우 버퍼로부터 타임 범위를 제거할 수 있다.
도 5는 보조 MPD에 기반한 스태킹 프레젠테이션을 예시하는 예시적인 스태커(stacker) 프레젠테이션(500)이다.
도 5에 도시된 바와 같이, 결합된 프레젠테이션은 라이브 콘텐츠(메인 미디어)로 시작할 수 있고, 또한 하나 이상의 독립 및 보조 미디어 세그먼트를 포함할 수 있다. aux MPD1가 메인 MPD에서 참조되는 것에 기반하여, 라이브 콘텐츠(메인 미디어 세그먼트)의 프레젠테이션은 대신 aux 1로부터 보조 미디어 세그먼트를 제시하기 위해 중단될 수 있다.
일부 실시예에서, aux MPD2가 aux MPD1에서 참조되는 것에 기반하여, aux 1로부터의 보조 미디어 세그먼트의 프레젠테이션이 중단되고, 대신 aux 2로부터의 보조 미디어 세그먼트가 플레이되고 그리고/또는 디스패칭될 수 있다. aux 1 및 aux 1로부터의 보조 미디어 세그먼트의 마지막 및 aux 2 및 aux 2로부터의 보조 미디어 세그먼트의 마지막에서, 프레젠테이션은 라이브 콘텐츠로 다시 전환할 수 있다. 따라서, 보조 미디어 세그먼트(또는 프레젠테이션)는, 메인 미디어 스트림이 보조 미디어 스트림과 독립적일 때 프리롤 보조 미디어 또는 미드롤 보조 미디어로서 MSE 소스 버퍼 내에서 지원될 수 있다.
따라서, 본 개시내용의 실시예는, 미디어 프레젠테이션에 프리롤 및 미드롤 콘텐츠를 삽입함으로써, MPD에서 정의되는 메인 미디어 프레젠테이션으로부터의 보조 미디어 프레젠테이션을 시그널링하기 위한 방법 및 장치를 제공할 수 있다. 각각의 보조 프레젠테이션은, 보조 MPD에 대한 URL을 포함할 수 있는, MPD의 필수 또는 보충 디스크립터에 의해 표현될 수 있다. 동일한 디스크립터의 시작 타임 값 및 리턴 타임 값에 의해 정의될 수 있는 메인 미디어 프레젠테이션의 중단 및 조인 백(joining back) 타임을 포함하는 추가 제약이 있을 수 있다. 일부 실시예에서, 보조 MPD는, 메인 콘텐츠의 플레이백 또는 보조 콘텐츠의 미드롤 삽입 이전에 프리롤 보조 콘텐츠를 플레이백하기 위해 사용될 수 있다. 제한사항은 또한, 메인 미디어 프레젠테이션이 미드롤 이후에 타임-시프트되야 할 필요가 있을 수 있는지 여부 또는 미드롤이 보조 MPD의 해당 지속기간 동안 메인 콘텐츠를 교체해야 하는지 여부를 정의할 수 있다. 일부 실시예에서, MPD 기간은 보조 MPD와 독립적으로 업데이트될 수 있으며, 버퍼가 메인 콘텐츠의 특성을 고려하여 설정될 수 있기 때문에, MSE 및 EME는 메인 콘텐츠 및 보조 콘텐츠의 플레이백을 위한 단일 MSE 버퍼를 가질 수 있다.
본 개시내용의 실시예는 또한, 본 개시내용의 실시예에 따라 조정되는 MSE TSO에 기반하여 프리롤 보조 콘텐츠, 미드롤 보조 콘텐츠, 및 메인 콘텐츠에 대한 다양한 세그먼트를 첨부하는 동작을 정의함으로써, MSE 소스 버퍼를 사용하여 메인 콘텐츠와 함께 보조 콘텐츠를 페칭하고 플레이백하는 방법 및 장치를 제공할 수 있다.
본 개시내용의 실시예는 또한, 본원의 임의의 실시예에 따라 보조 MPD의 스택 동작에 의해 프레젠테이션을 결합하는 것에 관한 것일 수 있고, 여기서 각각의 메인 MPD는 보조 MPD에 대한 참조를 가질 수 있으며, 보조 MPD는 다른 보조 MPD를 참조하여 참조된 MPD의 스택을 생성할 수 있고, 이는 스택 프레젠테이션을 산출한다.
도 6은 메인 미디어 스트림에서 프리롤 미디어 콘텐츠 및 미드롤 미디어 콘텐츠를 포함하는 보조 미디어를 시그널링하기 위한 프로세스(600)의 예시적인 흐름도이다.
동작(610)에서, 하나 이상의 메인 미디어 세그먼트 및 하나 이상의 보조 MPD을 참조하는 적어도 하나의 보조 디스크립터를 포함하는 하나 이상의 메인 미디어 프레젠테이션 디크립션(MPD)이 수신될 수 있다. 예로서, MSE(320)는, 하나 이상의 메인 미디어 세그먼트 및 하나 이상의 보조 MPD를 참조하는 적어도 하나의 보조 디스크립터를 포함하는 메인 미디어 프레젠테이션 디스크립션(MPD)을 수신할 수 있다. 일부 실시예에서, 하나 이상의 보조 MPD 중의 보조 MPD는 하나 이상의 메인 미디어 세그먼트와 독립적인 하나 이상의 보조 미디어 세그먼트를 포함할 수 있다. 보조 디스크립터는, 하나 이상의 메인 미디어 세그먼트 중의 메인 미디어 세그먼트가 하나 이상의 보조 미디어 세그먼트 중의 보조 미디어 세그먼트를 디스패칭하기 위해 중단되는 제1 타임 오프셋을 표시하는 시작 타임 속성을 포함할 수 있다.
보조 디스크립터는, 하나 이상의 메인 미디어 세그먼트 중의 메인 미디어 세그먼트가 하나 이상의 보조 미디어 세그먼트 중에서 보조 미디어 세그먼트를 디스패칭한 후에 재시작될 수 있는 제2 타임 오프셋을 표시하는 리턴 타임 속성을 포함할 수 있다. 일부 실시예에서, 디폴트 리턴 타임 속성 값은 보조 미디어 세그먼트와 연관된 보조 미디어 프레젠테이션 지속기간일 수 있다. 일부 실시예에서, 보조 디스크립터는, MPD 레벨에서의 필수 프로퍼티 디스크립터(essential property descriptor) 또는 보충 프로퍼티 디스크립터(supplemental property descriptor), 적어도 하나의 보조 디스크립터와 연관된 방식에 대한 URN(uniform resource name), 또는 하나 이상의 보조 MPD 중의 보조 MPD와 연관된 균일한 자원 로케이터(uniform resource locator)를 포함할 수 있다.
단계(615)에서, 적어도 하나의 보조 디스크립터를 사용하여 하나 이상의 메인 MPD에서 참조되는 하나 이상의 보조 MPD가 검색될 수 있다. 예로서, MSE(320)는 적어도 하나의 보조 디스크립터를 사용하여 하나 이상의 메인 MPD에서 참조되는 하나 이상의 보조 MPD를 검색할 수 있다. 하나 이상의 보조 MPD 중의 보조 MPD는 하나 이상의 보조 미디어 세그먼트 및 보조 미디어 프레젠테이션 지속기간을 포함할 수 있다.
동작(620)에서, 하나 이상의 보조 미디어 세그먼트 및 하나 이상의 메인 미디어 세그먼트는 MSE(320)와 같은 MSE(media source extension) 소스 버퍼에 첨부될 수 있다.
일부 실시예에서, 하나 이상의 보조 미디어 세그먼트 중의 보조 미디어 세그먼트가 0인 시작 타임 속성을 갖는 것에 기반하여, 보조 미디어 세그먼트는 프리롤 보조 미디어 세그먼트일 수 있고, 프리롤 보조 미디어 세그먼트는 하나 이상의 메인 미디어 세그먼트보다 먼저 디스패칭될 수 있다.
동작(625)에서, MSE 소스 버퍼로부터의 하나 이상의 보조 미디어 세그먼트 및 하나 이상의 메인 미디어 세그먼트는, 하나 이상의 보조 미디어 세그먼트 및 하나 이상의 메인 미디어 세그먼트와 연관된 프레젠테이션 타임 오프셋에 기반하여 디스패칭될 수 있다. 예로서, MSE(320)는, 타이밍된 메타데이터 트랙 파서(325), 이벤트 및 메타데이터 버퍼(330), 이벤트 및 메타데이터 동기화기 및 디스패처(335)로부터의 타이밍 정보에 기반하여, 하나 이상의 보조 미디어 세그먼트 및 하나 이상의 메인 미디어 세그먼트를 디스패칭할 수 있다.
동작(630)에서, MSE 소스 버퍼 타임 스탬프 오프셋은, 중단되는 하나 이상의 메인 미디어 세그먼트 중의 메인 미디어 세그먼트 또는 재시작되는 하나 이상의 메인 미디어 세그먼트 중의 메인 미디어 세그먼트에 기반하여 업데이트될 수 있다. 예로서, MSE(320)가 업데이트될 수 있다.
일부 실시예에서, MSE 소스 버퍼 타임 스탬프 오프셋은 보조 미디어 세그먼트와 연관된 프레젠테이션 타임 오프셋과 동일할 수 있다. 일부 실시예에서, MSE 소스 버퍼 타임 스탬프 오프셋은 타임 시프트 버퍼의 깊이, 보조 미디어 세그먼트와 연관된 시작 타임 속성, 모든 프리롤 미디어 세그먼트의 총 지속기간, 및 하나 이상의 메인 미디어 세그먼트 중 제1 메인 미디어 세그먼트와 연관된 프레젠테이션 타임 오프셋에 기반하여 업데이트될 수 있다. 동일한 또는 상이한 실시예에서, MSE 소스 버퍼 타임 스탬프 오프셋은 마지막 프리롤 보조 미디어 세그먼트와 첫 번째 메인 미디어 세그먼트 간의 임계 타임 범위를 포함하도록 업데이트될 수 있다. 일부 실시예에서, MSE 소스 버퍼 타임 스탬프 오프셋은, MSE 소스 버퍼의 하나 이상의 보조 미디어 세그먼트 중 하나가 디스패칭되는 경우, 하나 이상의 보조 미디어 세그먼트 중 하나와 연관된 프레젠테이션 타임 오프셋 및 리턴 타임 속성에 기반하여 업데이트될 수 있다.
도 6은, 프로세스(600)의 예시적인 블록을 도시하지만, 실시예에서, 프로세스(600)는 도 6에 도시된 것보다 부가적인 블록, 더 적은 블록, 상이한 블록, 또는 그와 다르게 배열된 블록을 포함할 수 있다. 실시예에서, 프로세스(600)의 임의의 블록은, 원하는 대로, 임의의 양 또는 순서로 조합되거나 또는 배열될 수 있다. 실시예에서, 프로세스(600)의 블록 중 2개 이상은 병렬로 수행될 수 있다.
위에서 설명된 기법은, 컴퓨터-판독가능 명령을 사용하여 컴퓨터 소프트웨어로서 구현될 수 있고 그리고 하나 이상의 컴퓨터-판독가능 매체에 또는 구체적으로 구성된 하나 이상의 하드웨어 프로세서에 의해 물리적으로 저장될 수 있다. 예를 들어, 도 7은 다양한 실시예를 구현하기에 적합한 컴퓨터 시스템(700)을 도시한다.
컴퓨터 소프트웨어는, 임의의 적절한 머신 코드 또는 컴퓨터 언어를 사용하여 코딩될 수 있으며, 이는, 컴퓨터 CPU(central processing unit), GPU(Graphics Processing Unit) 등에 의해, 직접 실행되거나 또는 해석, 마이크로-코드 실행 등을 통해 실행될 수 있는 명령을 포함하는 코드를 생성하기 위해, 어셈블리, 컴필레이션(compilation), 링킹 등의 메커니즘으로 처리될 수 있다.
명령은, 예를 들어, 개인용 컴퓨터, 태블릿 컴퓨터, 서버, 스마트폰, 게이밍 디바이스, 사물 인터넷 디바이스 등을 포함하는, 다양한 타입의 컴퓨터 또는 이의 컴포넌트에서 실행될 수 있다.
컴퓨터 시스템(700)에 대해 도 7에 도시된 컴포넌트는, 사실상 예시적이며, 본 개시내용의 실시예를 구현하는 컴퓨터 소프트웨어의 사용 또는 기능의 범위에 대한 임의의 제한을 제안하려는 의도는 아니다. 컴포넌트의 구성은 컴퓨터 시스템(700)의 예시적인 실시예에 예시된 컴포넌트 중 임의의 하나 또는 이의 조합과 관련된 임의의 종속성 또는 요건을 갖는 것으로 해석되어서는 안 된다.
컴퓨터 시스템(700)은 특정 휴먼 인터페이스 입력 디바이스를 포함할 수 있다. 이러한 휴먼 인터페이스 입력 디바이스는, 예를 들어, 촉각적 입력(이를테면, 키스트로크, 스와이프, 데이터 글러브 움직임), 오디오 입력(이를테면, 음성, 클랩핑), 시각적 입력(이를테면, 제스처), 후각적 입력을 통해, 한 명 이상의 인간 사용자에 의한 입력에 응답할 수 있다. 휴먼 인터페이스 디바이스는 또한, 오디오(예를 들어, 스피치, 음악, 주변 소리), 이미지(예를 들어, 스캔된 이미지, 스틸 이미지 카메라로부터 획득된 사진 이미지), 비디오(이를테면, 2-차원 비디오, 입체 비디오를 포함하는 3-차원 비디오)와 같이, 인간에 의한 의식적인 입력과 반드시 직접 관련된 것은 아닌 특정 미디어를 캡처하는 데 사용될 수 있다.
입력 휴먼 인터페이스 디바이스는 키보드(701), 마우스(702), 트랙 패드(703), 터치 스크린(710), 조이스틱(705), 마이크로폰(706), 스캐너(708), 카메라(707) 중 하나 이상(도면에서는 각각의 하나만이 도시됨)을 포함할 수 있다.
컴퓨터 시스템(700)은 또한, 특정 휴먼 인터페이스 출력 디바이스를 포함할 수 있다. 이러한 휴먼 인터페이스 출력 디바이스는, 예를 들어, 촉각적 출력, 소리, 빛 및 냄새/맛을 통해 한 명 이상의 인간 사용자의 감각을 자극할 수 있다. 이러한 휴먼 인터페이스 출력 디바이스는, 촉각적 출력 디바이스(예를 들어, 터치 스크린(710) 또는 조이스틱(705)에 의한 촉각적 피드백, 그러나 입력 디바이스로서의 역할을 하지 않는 촉각적 피드백 디바이스가 있을 수도 있음), 오디오 출력 디바이스(이를테면, 스피커(709), 헤드폰), 시각적 출력 디바이스(이를테면, CRT 스크린, LCD 스크린, 플라즈마 스크린, OLED 스크린을 포함하는 스크린(710), 이 각각은 터치 스크린 입력 능력이 있거나 없음, 이 각각은 촉각적 피드백 능력이 있거나 없음 ―이 중 일부는 입체 출력과 같은 수단을 통해 2-차원 시각적 출력 또는 3-차원 초과의 출력을 출력할 수 있음; 가상-현실 안경, 홀로그래픽 디스플레이 및 스모크 탱크), 및 프린터를 포함할 수 있다.
컴퓨터 시스템(700)은 또한, 휴먼 액세스가능 저장 디바이스 및 이의 연관된 매체, 이를테면 CD/DVD 등의 매체(711)을 갖는 CD/DVD ROM/RW(720), 썸-드라이브(thumb-drive)(722), 이동식 하드 드라이브 또는 솔리드 스테이트 드라이브(723)를 포함하는 광학 매체, 레거시 자기 매체, 이를테면, 테이프 및 플로피 디스크(floppy disc), 특수 ROM/ASIC/PLD 기반 디바이스, 이를테면, 보안 동글(security dongle) 등을 포함할 수 있다.
당업자는 또한, 현재 개시되는 청구대상과 관련하여 사용되는 “컴퓨터-판독가능 매체"라는 용어가 전송 매체, 반송파 또는 다른 일시적 신호를 망라하지 않는다는 것을 이해해야 한다.
컴퓨터 시스템(700)은 또한, 하나 이상의 통신 네트워크(798)에 대한 인터페이스(799)를 포함할 수 있다. 네트워크(798)는, 예를 들어, 무선, 유선, 광학(optical) 네트워크일 수 있다. 네트워크(798)는 추가로, 근거리, 광역, 대도시, 차량 및 산업, 실시간, 지연-내성(delay-tolerant) 네트워크 등일 수 있다. 네트워크(798)의 예는, 이더넷, 무선 LAN과 같은 근거리 네트워크, GSM, 3G, 4G, 5G, LTE 등을 포함하는 셀룰러 네트워크, 케이블 TV, 위성 TV 및 지상파 방송 TV를 포함하는 TV 유선 또는 무선 광역 디지털 네트워크, CANBus를 포함하는 차량 및 산업 네트워크 등을 포함한다. 특정 네트워크(798)는 일반적으로, 특정-범용 데이터 포트 또는 주변 버스(750 및 751)(이를테면, 예를 들어, 컴퓨터 시스템(700)의 USB 포트와 같이)에 부착된 외부 네트워크 인터페이스를 필요로 하며; 다른 것은 일반적으로, 아래에 설명되는 바와 같은 시스템 버스에 대한 부착에 의해 컴퓨터 시스템(700)의 코어에 (예를 들어, PC 컴퓨터 시스템에 이더넷 인터페이스가 또는 스마트폰 컴퓨터 시스템에 셀룰러 네트워크 인터페이스가) 통합된다. 이러한 네트워크(798) 중 임의의 것을 사용하여, 컴퓨터 시스템(700)이 다른 엔티티와 통신할 수 있다. 이러한 통신은, 예를 들어 로컬 영역 네트워크 또는 광역 디지털 네트워크를 사용하는 다른 컴퓨터 시스템에 대해, 단방향성의 수신-전용(예를 들어, 브로드캐스트 TV), 단방향성의 송신-전용(예를 들어, CANbus-특정 CANbus 디바이스) 또는 양방향성일 수 있다. 위에서 설명된 바와 같이, 특정 프로토콜 및 프로토콜 스택은 이러한 네트워크 및 네트워크 인터페이스 각각에서 사용될 수 있다.
위에서 논의된 휴먼 인터페이스 디바이스, 휴먼 액세스가능 저장 디바이스 및 네트워크 인터페이스는 컴퓨터 시스템(700)의 코어(740)에 부착될 수 있다.
코어(740)는 하나 이상의 CPU(Central Processing Unit)(741), GPU(Graphics Processing Unit)(742), 그래픽 어댑터(717), FPGA(Field Programmable Gate Areas)(743) 형태의 특수 프로그램가능 프로세싱 유닛, 특정 작업을 위한 하드웨어 가속기(744) 등을 포함할 수 있다. 이러한 디바이스는, ROM(Read-only memory)(745), 랜덤 액세스 메모리(746), 내부 비-사용자 액세스가능 하드 드라이브, SSD 등과 같은 내부 대용량 저장소(747)와 함께 시스템 버스(748)를 통해 연결될 수 있다. 일부 컴퓨터 시스템에서, 시스템 버스(748)는 부가적 CPU, GPU 등에 의한 확장을 가능하게 하기 위해 하나 이상의 물리적 플러그의 형태로 액세스가능할 수 있다. 주변 디바이스는 코어의 시스템 버스(748)에 직접 또는 주변 버스(751)를 통해 부착될 수 있다. 주변 버스를 위한 아키텍처는 PCI, USB 등을 포함한다.
CPU(741), GPU(742), FPGA(743) 및 가속기(744)는 앞서 논의된 컴퓨터 코드를 조합하여 구성할 수 있는 특정 명령을 실행할 수 있다. 이 컴퓨터 코드는 ROM(745) 또는 RAM(746)에 저장될 수 있다. 트랜지셔널 데이터(transitional data)는 또한 RAM(746)에 저장될 수 있는 반면, 영구 데이터는, 예를 들어, 내부 대용량 저장소(747)에 저장될 수 있다. 하나 이상의 CPU(741), GPU(742), 대용량 저장소(747), ROM(745), RAM(746) 등과 밀접하게 연관될 수 있는 캐시 메모리의 사용을 통해, 메모리 디바이스 중 임의의 메모리 디바이스에 대한 빠른 저장 및 검색이 가능해질 수 있다.
컴퓨터-판독가능 매체는 다양한 컴퓨터-구현 동작을 수행하기 위한 컴퓨터 코드를 가질 수 있다. 매체 및 컴퓨터 코드는 본 개시내용의 목적을 위해 특별히 설계되고 구성된 것일 수 있거나, 또는 이는, 컴퓨터 소프트웨어 분야의 당업자에게 잘 알려져 있고 이들이 이용가능한 종류의 것일 수 있다.
제한이 아닌 예로서, 예시된 아키텍처를 갖는 컴퓨터 시스템(700), 및 구체적으로 코어(740)는, 하나 이상의 유형의 컴퓨터-판독가능 매체에 구현된 소프트웨어를 실행하는 프로세서(들)(CPU, GPU, FPGA, 가속기 등을 포함)의 결과로서 기능을 제공할 수 있다. 이러한 컴퓨터-판독가능 매체는, 위에서 소개된 바와 같은, 사용자 액세스가능 대용량 저장소와 연관된 매체일 수 있을 뿐만 아니라, 코어-내부 대용량 저장소(747) 또는 ROM(745)과 같은 비-일시적 특성을 갖는 코어(740)의 특정 저장소일 수 있다. 본 개시내용의 다양한 실시예를 구현하는 소프트웨어는 이러한 디바이스에 저장되고 코어(740)에 의해 실행될 수 있다. 컴퓨터-판독가능 매체는 특정 필요사항에 따라 하나 이상의 메모리 디바이스 또는 칩을 포함할 수 있다. 소프트웨어는, 코어(740) 및 구체적으로 그 안에 있는 프로세서(CPU, GPU, FPGA 등을 포함)로 하여금, RAM((746)에 저장된 데이터 구조를 정의하는 것 그리고 소프트웨어에 의해 정의된 프로세스에 따라 이러한 데이터 구조를 수정하는 것을 포함하여, 본원에서 설명되는 특정 프로세스 또는 특정 프로세스의 특정 부분을 실행하게 할 수 있다. 추가로 또는 대안으로서, 컴퓨터 시스템은, 본원에 설명된 특정 프로세스 또는 특정 프로세스의 특정 부분을 실행하기 위해 소프트웨어 대신 또는 소프트웨어와 함께 동작할 수 있는 회로(예를 들어, 가속기(744))에 하드와이어링된 또는 다른 방식으로 구현된 로직의 결과로서 기능을 제공할 수 있다. 소프트웨어에 대한 참조는, 적절한 경우, 로직을 포괄할 수 있으며 이 역도 가능하다. 컴퓨터-판독가능 매체에 대한 참조는, 적절한 경우, 실행을 위한 소프트웨어를 저장하는 회로(이를테면, 집적 회로(IC)), 실행을 위한 로직을 구현하는 회로, 또는 이 둘 다를 포괄할 수 있다. 본 개시내용은 하드웨어 및 소프트웨어의 임의의 적절한 조합을 포괄한다.
본 개시내용이 여러 예시적인 실시예를 설명했지만, 본 개시내용의 범위 내에 속하는 변경, 치환 및 다양한 대체 등가물이 존재한다. 따라서, 당업자가 본원에 명시적으로 도시되거나 설명되지 않았지만, 본 개시내용의 원리를 구현하고, 따라서 본 개시내용의 사상 및 범위 내에 있는 수많은 시스템 및 방법을 안출할 수 있을 것임이 이해될 것이다.

Claims (20)

  1. 메인 DASH(dynamic adaptive streaming over HTTP) 미디어 스트림에서 프리롤(pre-roll) 미디어 콘텐츠 및 미드롤(mid-roll) 미디어 콘텐츠를 포함하는 보조 미디어를 시그널링하기 위한 방법으로서,
    상기 방법은 적어도 하나의 프로세서에 의해 수행되고,
    상기 방법은,
    하나 이상의 메인 DASH 미디어 세그먼트 및 적어도 하나의 보조 디스크립터(auxiliary descriptor)를 포함하는 하나 이상의 메인 미디어 프레젠테이션 디스크립션(MPD: media presentation description)을 수신하는 단계 ― 상기 적어도 하나의 보조 디스크립터는 하나 이상의 보조 MPD를 참조하는 URL(Uniform Resource Locator)을 포함하고, 상기 하나 이상의 보조 MPD 중의 보조 MPD는 상기 하나 이상의 메인 DASH 미디어 세그먼트와 독립적인 하나 이상의 보조 미디어 세그먼트를 포함함 ― ;
    상기 적어도 하나의 보조 디스크립터를 사용하여 상기 하나 이상의 메인 MPD에서 상기 URL에 의해 참조되는 상기 하나 이상의 보조 MPD를 검색하는(retrieving) 단계 ― 상기 하나 이상의 보조 MPD 중의 보조 MPD는 상기 하나 이상의 보조 미디어 세그먼트 및 보조 미디어 프레젠테이션 지속기간(duration)을 포함함 ―;
    상기 하나 이상의 보조 미디어 세그먼트 및 상기 하나 이상의 메인 DASH 미디어 세그먼트를 미디어 소스 확장(MSE: media source extension) 소스 버퍼에 첨부하는 단계; 및
    상기 하나 이상의 보조 미디어 세그먼트 및 상기 하나 이상의 메인 DASH 미디어 세그먼트와 연관된 프레젠테이션 타임 오프셋에 기반하여, 상기 MSE 소스 버퍼로부터, 상기 하나 이상의 보조 미디어 세그먼트 및 상기 하나 이상의 메인 DASH 미디어 세그먼트를 디스패칭하는(dispatching) 단계
    를 포함하는, 보조 미디어를 시그널링하기 위한 방법.
  2. 제1항에 있어서,
    상기 적어도 하나의 보조 디스크립터는,
    상기 하나 이상의 메인 DASH 미디어 세그먼트 중의 메인 DASH 미디어 세그먼트가 상기 하나 이상의 보조 미디어 세그먼트 중의 보조 미디어 세그먼트를 디스패칭하기 위해 중단되는 제1 타임 오프셋을 표시하는 시작 타임 속성; 및
    상기 하나 이상의 메인 DASH 미디어 세그먼트 중의 메인 DASH 미디어 세그먼트가 상기 하나 이상의 보조 미디어 세그먼트 중의 보조 미디어 세그먼트를 디스패칭한 후 재시작되는 제2 타임 오프셋을 표시하는 리턴 타임 속성
    을 포함하는, 보조 미디어를 시그널링하기 위한 방법.
  3. 제2항에 있어서,
    상기 방법은, 상기 하나 이상의 메인 DASH 미디어 세그먼트 중의 메인 DASH 미디어 세그먼트가 중단되는 것 또는 상기 하나 이상의 메인 DASH 미디어 세그먼트 중의 메인 DASH 미디어 세그먼트가 재시작되는 것에 기반하여, MSE 소스 버퍼 타임 스탬프 오프셋을 업데이트하는 단계를 더 포함하는, 보조 미디어를 시그널링하기 위한 방법.
  4. 제2항에 있어서,
    상기 하나 이상의 보조 미디어 세그먼트 중의 보조 미디어 세그먼트가 0인 시작 타임 속성을 갖는 것에 기반하여, 상기 보조 미디어 세그먼트는 프리롤 보조 미디어 세그먼트인, 보조 미디어를 시그널링하기 위한 방법.
  5. 제4항에 있어서,
    상기 보조 미디어 세그먼트가 상기 프리롤 보조 미디어 세그먼트인 것에 기반하여, 상기 MSE 소스 버퍼로부터, 상기 하나 이상의 보조 미디어 세그먼트 및 상기 하나 이상의 메인 DASH 미디어 세그먼트를 디스패칭하는 단계는, 상기 하나 이상의 메인 DASH 미디어 세그먼트보다 먼저 프리롤 보조 미디어 세그먼트를 디스패칭하는 단계를 포함하는, 보조 미디어를 시그널링하기 위한 방법.
  6. 제5항에 있어서,
    상기 보조 미디어 세그먼트가 상기 프리롤 보조 미디어 세그먼트인 것에 기반하여, MSE 소스 버퍼 타임 스탬프 오프셋은 상기 보조 미디어 세그먼트와 연관된 프레젠테이션 타임 오프셋과 동일한, 보조 미디어를 시그널링하기 위한 방법.
  7. 제6항에 있어서,
    상기 MSE 소스 버퍼 타임 스탬프 오프셋은 타임 시프트 버퍼의 깊이, 상기 보조 미디어 세그먼트와 연관된 상기 시작 타임 속성, 모든 프리롤 미디어 세그먼트의 총 지속기간, 및 상기 하나 이상의 메인 DASH 미디어 세그먼트 중 제1 메인 DASH 미디어 세그먼트와 연관된 프레젠테이션 타임 오프셋에 기반하여 업데이트되고,
    상기 MSE 소스 버퍼 타임 스탬프 오프셋은 마지막 프리롤 보조 미디어 세그먼트와 상기 제1 메인 DASH 미디어 세그먼트 간의 임계 타임 범위를 포함하도록 업데이트되는, 보조 미디어를 시그널링하기 위한 방법.
  8. 제7항에 있어서,
    상기 MSE 소스 버퍼 타임 스탬프 오프셋은, 상기 MSE 소스 버퍼의 상기 하나 이상의 보조 미디어 세그먼트 중 하나가 디스패칭되는 경우, 상기 하나 이상의 보조 미디어 세그먼트 중 하나와 연관된 프레젠테이션 타임 오프셋 및 상기 리턴 타임 속성에 기반하여 업데이트되는, 보조 미디어를 시그널링하기 위한 방법.
  9. 제2항에 있어서,
    디폴트 리턴 타임 속성 값은 상기 보조 미디어 세그먼트와 연관된 상기 보조 미디어 프레젠테이션 지속기간인, 보조 미디어를 시그널링하기 위한 방법.
  10. 제1항에 있어서,
    상기 적어도 하나의 보조 디스크립터는,
    MPD 레벨에서의 보충 프로퍼티 디스크립터(supplemental property descriptor) 또는 필수 프로퍼티 디스크립터(essential property descriptor);
    상기 적어도 하나의 보조 디스크립터와 연관된 방식(scheme)에 대한 균일 자원 이름(URN: uniform resource name);
    상기 하나 이상의 보조 MPD 중의 보조 MPD와 연관된 균일 자원 로케이터(uniform resource locator)
    를 더 포함하는, 보조 미디어를 시그널링하기 위한 방법.
  11. 메인 DASH(dynamic adaptive streaming over HTTP) 미디어 스트림에서 프리롤 미디어 콘텐츠 및 미드롤 미디어 콘텐츠를 포함하는 보조 미디어를 시그널링하기 위한 장치로서,
    상기 장치는,
    컴퓨터 프로그램 코드를 저장하도록 구성된 적어도 하나의 메모리; 및
    상기 컴퓨터 프로그램 코드에 액세스하도록 그리고 상기 컴퓨터 프로그램 코드에 의해 명령되는 대로 동작하도록 구성된 적어도 하나의 프로세서
    를 포함하고,
    상기 컴퓨터 프로그램 코드는,
    상기 적어도 하나의 프로세서로 하여금, 하나 이상의 메인 DASH 미디어 세그먼트 및 적어도 하나의 보조 디스크립터를 포함하는 하나 이상의 메인 미디어 프레젠테이션 디스크립션(MPD)을 수신하게 하도록 구성된 수신 코드 ― 상기 적어도 하나의 보조 디스크립터는 하나 이상의 보조 MPD을 참조하는 URL(Uniform Resource Locator)을 포함하고, 상기 하나 이상의 보조 MPD 중의 보조 MPD는 상기 하나 이상의 메인 DASH 미디어 세그먼트와 독립적인 하나 이상의 보조 미디어 세그먼트를 포함함 ―;
    상기 적어도 하나의 프로세서로 하여금, 상기 적어도 하나의 보조 디스크립터를 사용하여 상기 하나 이상의 메인 MPD에서 상기 URL에 의해 참조되는 상기 하나 이상의 보조 MPD를 검색하게 하도록 구성된 검색 코드 ― 상기 하나 이상의 보조 MPD 중의 보조 MPD는 상기 하나 이상의 보조 미디어 세그먼트 및 보조 미디어 프레젠테이션 지속기간을 포함함 ―;
    상기 적어도 하나의 프로세서로 하여금, 상기 하나 이상의 보조 미디어 세그먼트 및 상기 하나 이상의 메인 DASH 미디어 세그먼트를 미디어 소스 확장(MSE) 소스 버퍼에 첨부하게 하도록 구성된 첨부 코드; 및
    상기 적어도 하나의 프로세서로 하여금, 상기 하나 이상의 보조 미디어 세그먼트 및 상기 하나 이상의 메인 DASH 미디어 세그먼트와 연관된 프레젠테이션 타임 오프셋에 기반하여, 상기 MSE 소스 버퍼로부터, 상기 하나 이상의 보조 미디어 세그먼트 및 상기 하나 이상의 메인 DASH 미디어 세그먼트를 디스패칭하게 하도록 구성된 디스패칭 코드
    를 포함하는, 보조 미디어를 시그널링하기 위한 장치.
  12. 제11항에 있어서,
    상기 적어도 하나의 보조 디스크립터는,
    상기 하나 이상의 메인 DASH 미디어 세그먼트 중의 메인 DASH 미디어 세그먼트가 상기 하나 이상의 보조 미디어 세그먼트 중의 보조 미디어 세그먼트를 디스패칭하기 위해 중단되는 제1 타임 오프셋을 표시하는 시작 타임 속성; 및
    상기 하나 이상의 메인 DASH 미디어 세그먼트 중의 메인 DASH 미디어 세그먼트가 상기 하나 이상의 보조 미디어 세그먼트 중의 보조 미디어 세그먼트를 디스패칭한 후 재시작되는 제2 타임 오프셋을 표시하는 리턴 타임 속성
    을 포함하는, 보조 미디어를 시그널링하기 위한 장치.
  13. 제12항에 있어서,
    상기 프로그램 코드는, 상기 적어도 하나의 프로세서로 하여금, 상기 하나 이상의 메인 DASH 미디어 세그먼트 중의 메인 DASH 미디어 세그먼트가 중단되는 것 또는 상기 하나 이상의 메인 DASH 미디어 세그먼트 중의 메인 DASH 미디어 세그먼트가 재시작되는 것에 기반하여, MSE 소스 버퍼 타임 스탬프 오프셋을 업데이트하게 하도록 구성된 제1 업데이트 코드를 더 포함하는, 보조 미디어를 시그널링하기 위한 장치.
  14. 제12항에 있어서,
    상기 하나 이상의 보조 미디어 세그먼트 중의 보조 미디어 세그먼트가 0인 시작 타임 속성을 갖는 것에 기반하여, 상기 보조 미디어 세그먼트는 프리롤 보조 미디어 세그먼트인, 보조 미디어를 시그널링하기 위한 장치.
  15. 제14항에 있어서,
    상기 보조 미디어 세그먼트가 상기 프리롤 보조 미디어 세그먼트인 것에 기반하여, 상기 MSE 소스 버퍼로부터, 상기 하나 이상의 보조 미디어 세그먼트 및 상기 하나 이상의 메인 DASH 미디어 세그먼트를 디스패칭하는 것은, 상기 하나 이상의 메인 DASH 미디어 세그먼트보다 먼저 프리롤 보조 미디어 세그먼트를 디스패칭하는 것을 포함하는, 보조 미디어를 시그널링하기 위한 장치.
  16. 제15항에 있어서,
    상기 보조 미디어 세그먼트가 상기 프리롤 보조 미디어 세그먼트인 것에 기반하여, MSE 소스 버퍼 타임 스탬프 오프셋은 상기 보조 미디어 세그먼트와 연관된 프레젠테이션 타임 오프셋과 동일한, 보조 미디어를 시그널링하기 위한 장치.
  17. 제16항에 있어서,
    상기 MSE 소스 버퍼 타임 스탬프 오프셋은 타임 시프트 버퍼의 깊이, 상기 보조 미디어 세그먼트와 연관된 상기 시작 타임 속성, 모든 프리롤 미디어 세그먼트의 총 지속기간, 및 상기 하나 이상의 메인 DASH 미디어 세그먼트 중 제1 메인 DASH 미디어 세그먼트와 연관된 프레젠테이션 타임 오프셋에 기반하여 업데이트되고,
    상기 MSE 소스 버퍼 타임 스탬프 오프셋은 마지막 프리롤 보조 미디어 세그먼트와 상기 제1 메인 DASH 미디어 세그먼트 간의 임계 타임 범위를 포함하도록 업데이트되는, 보조 미디어를 시그널링하기 위한 장치.
  18. 제17항에 있어서,
    상기 MSE 소스 버퍼 타임 스탬프 오프셋은, 상기 MSE 소스 버퍼의 상기 하나 이상의 보조 미디어 세그먼트 중 하나가 디스패칭되는 경우, 상기 하나 이상의 보조 미디어 세그먼트 중 하나와 연관된 프레젠테이션 타임 오프셋 및 상기 리턴 타임 속성에 기반하여 업데이트되는, 보조 미디어를 시그널링하기 위한 장치.
  19. 명령을 저장하는 비-일시적 컴퓨터-판독가능 매체로서,
    상기 명령은, 메인 DASH(dynamic adaptive streaming over HTTP) 미디어 스트림에서 프리롤 미디어 콘텐츠 및 미드롤 미디어 콘텐츠를 포함하는 보조 미디어를 시그널링하기 위한 디바이스의 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금,
    하나 이상의 메인 DASH 미디어 세그먼트 및 적어도 하나의 보조 디스크립터를 포함하는 하나 이상의 메인 미디어 프레젠테이션 디스크립션(MPD: media presentation description)을 수신하게 하고 ― 상기 적어도 하나의 보조 디스크립터는 하나 이상의 보조 MPD을 참조하는 URL(Uniform Resource Locator)을 포함하고, 상기 하나 이상의 보조 MPD 중의 보조 MPD는 상기 하나 이상의 메인 DASH 미디어 세그먼트와 독립적인 하나 이상의 보조 미디어 세그먼트를 포함함 ―;
    상기 적어도 하나의 보조 디스크립터를 사용하여 상기 하나 이상의 메인 MPD에서 상기 URL에 의해 참조되는 상기 하나 이상의 보조 MPD를 검색하게 하고 ― 상기 하나 이상의 보조 MPD 중의 보조 MPD는 상기 하나 이상의 보조 미디어 세그먼트 및 보조 미디어 프레젠테이션 지속기간을 포함함 ―;
    상기 하나 이상의 보조 미디어 세그먼트 및 상기 하나 이상의 메인 DASH 미디어 세그먼트를 미디어 소스 확장(MSE) 소스 버퍼에 첨부하게 하고; 그리고
    상기 하나 이상의 보조 미디어 세그먼트 및 상기 하나 이상의 메인 DASH 미디어 세그먼트와 연관된 프레젠테이션 타임 오프셋에 기반하여, 상기 MSE 소스 버퍼로부터, 상기 하나 이상의 보조 미디어 세그먼트 및 상기 하나 이상의 메인 DASH 미디어 세그먼트를 디스패칭하게 하는
    하나 이상의 명령을 포함하는, 명령을 저장하는 비-일시적 컴퓨터-판독가능 매체.
  20. 제19항에 있어서,
    상기 적어도 하나의 보조 디스크립터는,
    상기 하나 이상의 메인 DASH 미디어 세그먼트 중의 메인 DASH 미디어 세그먼트가 상기 하나 이상의 보조 미디어 세그먼트 중의 보조 미디어 세그먼트를 디스패칭하기 위해 중단되는 제1 타임 오프셋을 표시하는 시작 타임 속성; 및
    상기 하나 이상의 메인 DASH 미디어 세그먼트 중의 메인 DASH 미디어 세그먼트가 상기 하나 이상의 보조 미디어 세그먼트 중의 보조 미디어 세그먼트를 디스패칭한 후 재시작되는 제2 타임 오프셋을 표시하는 리턴 타임 속성
    을 포함하는, 명령을 저장하는 비-일시적 컴퓨터-판독가능 매체.
KR1020237019744A 2021-10-06 2022-09-23 미디어 플레이백 동안 프리롤 및 미드롤 콘텐츠를 지원하기 위한 mpeg dash를 위한 방법 및 장치 KR20230101907A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163253050P 2021-10-06 2021-10-06
US63/253,050 2021-10-06
US17/949,592 US20230103367A1 (en) 2021-10-06 2022-09-21 Method and apparatus for mpeg dash to support preroll and midroll content during media playback
US17/949,592 2022-09-21
PCT/US2022/044498 WO2023059451A1 (en) 2021-10-06 2022-09-23 Method and apparatus for mpeg dash to support preroll and midroll content during media playback

Publications (1)

Publication Number Publication Date
KR20230101907A true KR20230101907A (ko) 2023-07-06

Family

ID=85775093

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237019744A KR20230101907A (ko) 2021-10-06 2022-09-23 미디어 플레이백 동안 프리롤 및 미드롤 콘텐츠를 지원하기 위한 mpeg dash를 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US20230103367A1 (ko)
EP (1) EP4229854A4 (ko)
JP (1) JP2024510181A (ko)
KR (1) KR20230101907A (ko)
CN (1) CN116547960A (ko)
WO (1) WO2023059451A1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9380096B2 (en) * 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US10902474B2 (en) * 2014-03-24 2021-01-26 Qualcomm Incorporated Targeted advertisement insertion for streaming media data
US20190238950A1 (en) * 2018-01-31 2019-08-01 Qualcomm Incorporated Dynamic conditional advertisement insertion

Also Published As

Publication number Publication date
CN116547960A (zh) 2023-08-04
EP4229854A1 (en) 2023-08-23
EP4229854A4 (en) 2024-04-03
JP2024510181A (ja) 2024-03-06
WO2023059451A1 (en) 2023-04-13
US20230103367A1 (en) 2023-04-06

Similar Documents

Publication Publication Date Title
JP7246508B2 (ja) Httpによる動的適応ストリーミングのための方法及び装置
JP2023520651A (ja) メディア・ストリーミング方法及び装置
US20230103367A1 (en) Method and apparatus for mpeg dash to support preroll and midroll content during media playback
US11799943B2 (en) Method and apparatus for supporting preroll and midroll during media streaming and playback
US20230224557A1 (en) Auxiliary mpds for mpeg dash to support prerolls, midrolls and endrolls with stacking properties
US11588870B2 (en) W3C media extensions for processing DASH and CMAF inband events along with media using process@append and process@play mode
US11838602B2 (en) MPD chaining in a live CMAF/DASH player using W3C media source and encrypted extensions
US11882170B2 (en) Extended W3C media extensions for processing dash and CMAF inband events
US20230108426A1 (en) Method and apparatus for dynamic dash picture-in-picture streaming
CN116547962A (zh) 包括可扩展显示器的电子装置
JP2024517370A (ja) Mpd連鎖を使用して2つ以上の非線形メディアソースから線形メディアソース拡張(mse)バッファを構築するための方法、装置及びプログラム
KR20220116546A (ko) Http를 통한 동적 적응 스트리밍을 위한 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination