KR20210139449A - 세션 기반 dash 동작들을 위한 패턴 주소 지정 - Google Patents

세션 기반 dash 동작들을 위한 패턴 주소 지정 Download PDF

Info

Publication number
KR20210139449A
KR20210139449A KR1020217034582A KR20217034582A KR20210139449A KR 20210139449 A KR20210139449 A KR 20210139449A KR 1020217034582 A KR1020217034582 A KR 1020217034582A KR 20217034582 A KR20217034582 A KR 20217034582A KR 20210139449 A KR20210139449 A KR 20210139449A
Authority
KR
South Korea
Prior art keywords
key
sequence
timed
repeating pattern
pattern element
Prior art date
Application number
KR1020217034582A
Other languages
English (en)
Other versions
KR102635891B1 (ko
Inventor
이라즈 소다가르
Original Assignee
텐센트 아메리카 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 텐센트 아메리카 엘엘씨 filed Critical 텐센트 아메리카 엘엘씨
Publication of KR20210139449A publication Critical patent/KR20210139449A/ko
Application granted granted Critical
Publication of KR102635891B1 publication Critical patent/KR102635891B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26613Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing keys in general
    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440245Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • 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
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]

Landscapes

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

Abstract

세션 기반의 DASH 동작들의 방법은 미디어 액세스 세션 동안 세션 기반 디스크립션(SBD)을 참조하고 키 이름을 나타내는 미디어 프레젠테이션 디스크립션(MPD)을 수신하는 단계를 포함할 수 있다. SBD는 키 이름의 시간 지정 키 값들의 제1 시퀀스를 포함하는 제1 반복 패턴 요소를 포함한다. 제1 반복 패턴 요소는 키 이름의 시간 지정 키 값들의 제1 시퀀스가 타임라인 또는 오더라인을 따라 반복됨을 나타낸다. 세그먼트들의 시퀀스의 현재 세그먼트의 타이밍 또는 세그먼트 번호에 대응하는 키 이름의 제1 키 값은 SBD 내의 제1 반복 패턴 요소에 기초하여 결정될 수 있다. 현재 세그먼트에 대한 요청은 미디어 콘텐츠 서버에 전송될 수 있다. 요청은 키 이름 및 제1 키 값의 쌍을 포함한다.

Description

세션 기반 DASH 동작들을 위한 패턴 주소 지정
참조에 의한 포함
이 본 출원은 2020년 1월 7일자로 출원된 미국 가출원 제62/958,136호 "세션 기반 DASH 동작들의 패턴 주소 지정(PATTERN ADDRESSING FOR SESSION-BASED DASH OPERATIONS)"의 우선권의 이익을 주장하는, 2020년 11월 11일자로 출원된 미국 특허 출원 제17/095,182호 "세션 기반 DASH 동작들을 위한 패턴 주소 지정(PATTERN ADDRESSING FOR SESSION-BASED DASH OPERATIONS)"의 우선권의 이익을 주장한다. 선행 출원의 개시내용은 그 전체가 여기에 참조로 포함된다.
기술 분야
본 개시내용은 일반적으로 하이퍼텍스트 전송 프로토콜을 통한 동적 적응 스트리밍(dynamic adaptive streaming over hypertext transfer protocol)(DASH)을 위한 방법들 및 장치들에 관련된 실시예들을 설명한다.
여기에 제공된 배경 기술 설명은 일반적으로 본 개시내용의 맥락을 제시하기 위한 것이다. 출원 시 선행 기술로의 자격을 갖지 않을 수 있는 설명의 양태들뿐만 아니라, 현재 이름이 기재된 발명자의 작업은, 그 작업이 이러한 배경기술 섹션에 설명되는 한도 내에서, 명시적으로도 암시적으로도 본 개시내용에 대한 선행 기술로 인정되지 않는다.
MPEG(moving picture expert group)의 하이퍼텍스트 전송 프로토콜을 통한 동적 적응 스트리밍(DASH)은 IP 네트워크들을 통해 멀티미디어 콘텐츠를 스트리밍하기 위한 표준을 제공한다. DASH 표준에서, 미디어 프레젠테이션 디스크립션(media presentation description)(MPD)은 DASH 클라이언트가 DASH 서버로부터 미디어 세그먼트들을 다운로드함으로써 미디어 콘텐츠를 적응적으로 스트리밍하기 위한 정보를 제공하기 위해 사용된다. 그러나, MPD는 모든 DASH 클라이언트들에 대해 일반적이다. 따라서, DASH 클라이언트는 클라이언트가 MPD를 DASH 보기 세션에 특정하게 만들기 위한 정보를 제공하는 세션-기반 디스크립션(SBD) 파일과 같은 부가 파일을 취득할 수 있다.
본 개시내용의 양태들은 DASH 클라이언트에서의 세션 기반의 HTTP를 통한 동적 적응 스트리밍(DASH) 동작들의 방법을 제공한다. 방법은 미디어 액세스 세션 동안 세션 기반 디스크립션(SBD)을 참조하고 키 이름을 나타내는 미디어 프레젠테이션 디스크립션(MPD)을 수신하는 단계를 포함할 수 있다. MPD는 세그먼트들의 시퀀스로 분할된 미디어 콘텐츠의 미디어 프레젠테이션을 설명한다. MPD에 의해 참조되는 SBD가 수신될 수 있다. SBD는 키 이름의 시간 지정 키 값들(timed key values)의 제1 시퀀스를 포함하는 제1 반복 패턴 요소를 포함한다. 제1 반복 패턴 요소는 키 이름의 시간 지정 키 값들의 제1 시퀀스가 타임라인 또는 오더라인을 따라 반복됨을 나타낸다. 세그먼트들의 시퀀스의 현재 세그먼트의 타이밍 또는 세그먼트 번호에 대응하는 키 이름의 제1 키 값은 SBD 내의 제1 반복 패턴 요소에 기초하여 결정될 수 있다. 현재 세그먼트에 대한 요청은 미디어 콘텐츠 서버에 전송될 수 있다. 요청은 키 이름 및 제1 키 값의 쌍을 포함한다.
예에서, 제1 반복 패턴 요소는 키 이름의 시간 지정 키 값들의 제1 시퀀스가 몇 회 반복되는지를 나타내는 반복 속성을 포함한다. 예에서, 반복 속성이 -1의 값을 가질 때, 키 이름의 시간 지정 키 값의 제1 시퀀스는 미디어 액세스 세션의 끝까지 반복된다. 예에서, 반복 속성이 1의 값을 가질 때, 키 이름의 시간 지정 키 값의 제1 시퀀스는 반복되지 않는다.
예에서, 제1 반복 패턴 요소는 내포된 방식(nested manner)으로 제2 반복 패턴 요소를 포함한다. 제2 반복 패턴 요소는 키 이름의 시간 지정 키 값들의 제2 시퀀스를 포함한다. 키 이름의 시간 지정 키 값들의 제2 시퀀스는 키 이름의 시간 지정 키 값들의 제3 시퀀스를 형성하기 위해 제2 반복 패턴 요소에 의해 나타내어진 대로 반복된다. 키 이름의 시간 지정 키 값들의 제3 시퀀스는 키 이름의 시간 지정 키 값들의 제1 시퀀스의 일부이다.
예에서, SBD는 제1 반복 패턴 요소 외부에 있는 키 이름의 시간 지정 키 값들의 제4 시퀀스를 포함한다. 예에서, 제1 반복 패턴 요소는 제1 반복 패턴 요소 내의 키 이름의 시간 지정 키 값들의 제1 시퀀스가 적용되기 시작하는 시작 타이밍을 나타내는 시작 시간 속성을 포함한다. 예에서, 시작 타이밍은 기준 타이밍에 대한 오프셋에 의해 표현된다.
실시예에서, 키 이름의 시간 지정 키 값들의 제1 시퀀스는 오더라인을 따라 반복되고, 제1 반복 패턴 요소는 제1 반복 패턴 요소 내의 키 이름의 시간 지정 키 값들의 시퀀스가 적용되기 시작하는 시작 세그먼트 번호를 나타내는 시작 카운트 속성을 포함한다. 실시예에서, 시작 세그먼트 번호는 SBD의 SBD 시작 시간 속성에 의해 나타내어진 시작 타이밍에 대한 세그먼트 번호이다.
본 개시내용의 양태들은 세션 기반의 DASH 동작들의 장치를 제공한다. 장치는 미디어 액세스 세션 동안 SBD를 참조하고 키 이름을 나타내는 MPD를 수신하도록 구성되는 회로를 포함할 수 있다. MPD는 세그먼트들의 시퀀스로 분할된 미디어 콘텐츠의 미디어 프레젠테이션을 설명한다. MPD에 의해 참조되는 SBD가 수신될 수 있다. SBD는 키 이름의 시간 지정 키 값들의 제1 시퀀스를 포함하는 제1 반복 패턴 요소를 포함한다. 제1 반복 패턴 요소는 키 이름의 시간 지정 키 값들의 제1 시퀀스가 타임라인 또는 오더라인을 따라 반복됨을 나타낸다. 세그먼트들의 시퀀스의 현재 세그먼트의 타이밍 또는 세그먼트 번호에 대응하는 키 이름의 제1 키 값은 SBD 내의 제1 반복 패턴 요소에 기초하여 결정될 수 있다. 현재 세그먼트에 대한 요청은 미디어 콘텐츠 서버에 전송될 수 있다. 요청은 키 이름 및 제1 키 값의 쌍을 포함한다.
본 개시내용의 양태들은 또한 미디어 데이터를 수신하기 위한 컴퓨터에 의해 실행될 때, 컴퓨터로 하여금, 세션 기반의 DASH 동작들의 방법을 수행하게 하는 명령어들을 저장하는 비-일시적 컴퓨터 판독가능한 매체를 제공한다.
개시된 주제의 추가의 특징들, 본질 및 다양한 이점들은 이하의 상세한 설명 및 첨부 도면들로부터 더욱 명백해질 것이다.
도 1은 본 개시내용의 실시예에 따른 예시적인 하이퍼텍스트 전송 프로토콜을 통한 동적 적응 스트리밍(DASH) 시스템을 도시한다.
도 2는 본 개시내용의 실시예에 따른 다른 예시적인 DASH 시스템을 도시한다.
도 3은 일부 실시예들에 따른 세션-기반 DASH 동작들의 예시적인 프로세스를 개략적으로 설명하는 흐름도를 도시한다.
도 4는 실시예에 따른 컴퓨터 시스템의 개략도이다.
I. 하이퍼텍스트 전송 프로토콜을 통한 동적 적응 스트리밍( DASH ) 및 미디어 프레젠테이션 디스크립션 ( MPD )
하이퍼텍스트 전송 프로토콜을 통한 동적 적응 스트리밍(DASH)은 웹 서버들, 콘텐츠 배송 네트워크들(content delivery networks)(CDN들), 다양한 프록시들 및 캐시들, 및 그와 유사한 것과 같은 하이퍼텍스트 전송 프로토콜(HTTP) 인프라스트럭쳐를 사용하여 미디어 콘텐츠를 스트리밍할 수 있는 적응형 비트레이트 스트리밍 기술이다. DASH는 DASH 서버로부터 DASH 클라이언트로의 온-디맨드 및 라이브 스트리밍 둘 다를 지원하고, DASH 클라이언트가 스트리밍 세션을 제어하는 것을 허용하며, 그에 의해 DASH 서버는 대규모 배포에서의 스트림 적응 관리의 추가적 부하에 대처할 필요가 없게 된다. DASH는 또한 DASH 클라이언트가 다양한 DASH 서버들로부터의 스트리밍을 선택하는 것을 허용하고, 따라서 DASH 클라이언트의 이익을 위해 네트워크의 추가 로드 밸런싱을 달성한다. DASH는 예를 들어 네트워크 조건들에 적응되도록 비트레이트들을 변경함으로써 상이한 미디어 트랙들 간의 동적 전환을 제공한다.
DASH에서, 미디어 프레젠테이션 디스크립션(MPD) 파일은 DASH 클라이언트가 DASH 서버로부터 미디어 세그먼트들을 다운로드함으로써 미디어 콘텐츠를 적응적으로 스트리밍하기 위한 정보를 제공한다. MPD 파일은 계층적 데이터 모델로 정의될 수 있다. 세션 스타트업 지연을 줄이기 위해, MPD 파일은 조각화되어 부분들로 배송될 수 있다. MPD 파일은 또한 스트리밍 세션 동안 업데이트될 수 있다. 일부 예들에서, MPD 파일은 콘텐츠 액세스가능성 특징들, 등급들, 및 카메라 뷰들의 표현을 지원한다. DASH는 또한 멀티-뷰 및 스케일가능한 코딩된 콘텐츠의 배송을 지원한다.
MPD 파일은 하나의 주기 또는 주기들의 시퀀스를 포함할 수 있다. 하나 이상의 주기 각각은 MPD 파일 내의 주기 요소에 의해 정의될 수 있다. MPD 파일은 MPD에 대한 availableStartTime 속성, 및 각각의 주기에 대한 시작 속성을 포함할 수 있다. (예를 들어, 라이브 서비스들을 위해 사용되는) 동적 타입을 갖는 미디어 프레젠테이션들에 대해, 미디어 세그먼트의 기간(duration) 및 MPD 속성 availableStartTime 및 주기의 시작 속성의 합계는 조정된 표준시(UTC) 포맷의 주기의 가용성 시간, 특히 대응하는 주기 내의 각각의 표현의 제1 미디어 세그먼트를 나타낼 수 있다. (예를 들어, 온-디맨드 서비스들을 위해 사용되는) 정적 타입의 미디어 프레젠테이션들에 대해, 제1 주기의 시작 속성은 0일 수 있다. 임의의 다른 주기에 대해, 시작 속성은 제1 주기의 시작 시간에 대한 대응하는 주기의 시작 시간 간의 시간 오프셋을 지정할 수 있다. 각각의 주기는 다음 주기의 시작까지, 또는 마지막 주기의 경우에는 미디어 프레젠테이션의 끝까지 연장될 수 있다. 주기 시작 시간들은 정확할 수 있으며, 모든 이전 주기들의 미디어 재생으로 인한 실제 타이밍을 반영할 수 있다.
각각의 주기는 하나 이상의 적응 세트를 포함할 수 있고, 적응 세트들 각각은 동일한 미디어 콘텐츠에 대한 하나 이상의 표현(representation)을 포함할 수 있다. 표현은 오디오 또는 비디오 데이터의 다수의 대안적인 인코딩된 버전 중 하나일 수 있다. 표현들은 인코딩 타입들, 예를 들어 비트레이트, 해상도, 및/또는 비디오 데이터를 위한 코덱 및 비트레이트, 및/또는 오디오 데이터의 코덱에 따라 다를 수 있다. 표현이라는 용어는 멀티미디어 콘텐츠의 특정 주기에 대응하고 특정 방식으로 인코딩된, 인코딩된 오디오 또는 비디오 데이터의 섹션을 지칭하기 위해 사용될 수 있다.
MPD 파일에서 그룹 속성에 의해 표시되는 그룹에 대해, 특정 주기의 적응 세트들이 할당될 수 있다. 동일한 그룹 내의 적응 세트들은 일반적으로 서로에 대한 대안으로 고려된다. 예를 들어, 특정 주기에 대한 비디오 데이터의 각각의 적응 세트가 동일한 그룹에 할당될 수 있으며, 그에 의해, 대응하는 주기 동안 멀티미디어 콘텐츠의 비디오 데이터를 디스플레이하기 위한 디코딩을 위해, 적응 세트 중 임의의 것이 선택될 수 있다. 일부 예들에서, 하나의 주기 내의 미디어 콘텐츠는, 그룹 0으로부터의 하나의 적응 세트가 존재한다면 그것에 의해, 또는 각각의 비-제로 그룹으로부터의 최대 하나의 적응 세트의 조합에 의해 표현될 수 있다. 주기의 각각의 표현에 대한 타이밍 데이터는 주기의 시작 시간에 대해 표현될 수 있다.
표현은 하나 이상의 세그먼트를 포함할 수 있다. 각각의 표현은 초기화 세그먼트를 포함할 수 있고, 또는 표현의 각각의 세그먼트가 자체 초기화될 수 있다. 존재하는 경우, 초기화 세그먼트는 표현에 액세스하기 위한 초기화 정보를 포함할 수 있다. 일부 경우들에서, 초기화 세그먼트는 미디어 데이터를 포함하지 않는다. 세그먼트는 유니폼 리소스 로케이터(URL), 유니폼 리소스 네임(uniform resource name)(URN), 또는 유니폼 리소스 식별자(uniform resource identifier)(URI)와 같은 식별자에 의해 고유하게 참조될 수 있다. MPD 파일은 각각의 세그먼트에 대한 식별자들을 제공할 수 있다. 일부 예들에서, MPD 파일은 또한 URL, URN 또는 URI에 의해 액세스가능한 파일 내의 세그먼트에 대한 데이터에 대응할 수 있는 범위 속성(range attribute)의 형태로 바이트 범위들(byte ranges)을 제공할 수 있다.
각각의 표현은 또한 하나 이상의 미디어 컴포넌트를 포함할 수 있고, 여기서 각각의 미디어 컴포넌트는 오디오, 비디오 또는 시간이 지정된 텍스트(timed text)(예를 들어, 폐쇄 자막용)와 같은 하나의 개별 미디어 타입의 인코딩된 버전에 대응할 수 있다. 미디어 컴포넌트들은 하나의 표현 내에서 연속적인 미디어 세그먼트들의 경계들에 걸쳐 시간-연속적일 수 있다.
일부 실시예들에서, DASH 클라이언트는 DASH 서버로부터의 MPD 파일에 액세스하고 그것을 다운로드할 수 있다. 즉, DASH 클라이언트는 라이브 세션을 시작하는 데 사용할 MPD 파일을 검색할 수 있다. MPD 파일에 기초하여, 그리고 각각의 선택된 표현에 대해, DASH 클라이언트는 서버에서 이용가능한 최신 세그먼트가 무엇인지를 결정하는 것, 다음 세그먼트 및 가능하게는 장래 세그먼트의 세그먼트 가용성 시작 시간을 결정하는 것, 세그먼트의 재생을 언제, 그리고 세그먼트 내의 어느 타임라인으로부터 시작할지를 결정하는 것, 새로운 MPD 파일을 언제 가져오거나/페치할지를 결정하는 것을 포함하여, 몇몇 결정을 할 수 있다. 서비스가 실행되고 나면, 클라이언트는 검출되고 보상될 필요가 있는, 라이브 서비스와 자체 재생 사이의 드리프트를 추적할 수 있다.
Ⅱ. 세션 기반 DASH 동작들 및 세션 기반 디스크립션 ( SBD )
MPD 파일은 모든 DASH 클라이언트에 대해 일반적일 수 있다. MPD 파일을 DASH 클라이언트의 세션에 특정하게 만들기 위해, MPEG(moving picture expert group)는 세션 기반 DASH 동작들을 지원하기 위한 체계를 개발했다. 세션 기반 DASH 동작들에서, DASH 클라이언트는 세션 기반 디스크립션(SBD) 파일이라고 지칭되는 부가 파일을 수신할 수 있고, 이것은 DASH 클라이언트가 세션 별로, 그리고 가능하게는 클라이언트 별로 MPD 파일을 맞춤화하기 위한 정보를 제공한다.
도 1은 본 개시내용의 실시예에 따른 세션 기반 DASH 시스템(100)을 도시한다. 세션 기반 DASH 시스템(100)에서, MPD 파일은 DASH 서버(101)(예를 들어, 콘텐츠 서버)로부터 DASH 클라이언트(102)로 송신된다. DASH 클라이언트(102)는 MPD 파일에 기초하여 DASH 서버(101)로부터 미디어 세그먼트들을 수신할 수 있다. DASH 클라이언트(102)는 MPD 파일을 업데이트하기 위해 DASH 서버(101)에 요청을 송신할 수 있다. 추가로, DASH 클라이언트(102)는 DASH 서버(101) 또는 제3자(예를 들어, 세션 컨트롤러)로부터 SBD 파일(SBD 문서라고도 지칭됨)을 수신할 수 있다.
다양한 예들에서, 복수의 DASH 서버는 MPD 파일 및 미디어 세그먼트들을 송신할 수 있다. MPD 파일 및 미디어 세그먼트들은 상이한 DASH 서버들로부터 DASH 클라이언트(102)에 송신될 수 있다. DASH 클라이언트(102)로부터 송신된 요청을 수신하는 DASH 서버는 미디어 세그먼트들을 송신하는 DASH 서버와 상이할 수 있다.
본 개시내용의 양태들에 따르면, SBD 파일은 추가 메타데이터와 함께, 복수의 시간 범위 및 대응하는 키-값 쌍(또는 이름-값 쌍)을 포함할 수 있다. SBD 파일은 예를 들어 URL에 의해 MPD 파일에서 참조될 수 있다. SBD 파일은 DASH 클라이언트(102)에 의해 수신된 MPD 파일을 DASH 클라이언트(102)의 세션에 대해 특정하도록 맞춤화하기 위해 사용될 수 있다. 예를 들어, SBD 파일은 고유한 세션 별 MPD들을 생성하지 않고도 세그먼트 URL들에 세션 별 매개변수들을 추가하는 것을 허용할 수 있다.
도 2는 본 개시내용의 실시예에 따른 다른 세션 기반 DASH 시스템(200)을 도시한다. 세션 기반 DASH 시스템(200)에서, 멀티미디어 콘텐츠는 오디오 소스(예를 들어, 마이크로폰) 및 비디오 소스(예를 들어, 비디오 카메라)를 포함할 수 있는 콘텐츠 생성 디바이스(201)(예를 들어, 스마트폰)에 의해 준비되고 생성된다. 멀티미디어 콘텐츠는 콘텐츠 생성 디바이스(201)에 의해 저장되거나, 다양한 멀티미디어 콘텐츠를 저장할 수 있는 콘텐츠 서버(202)에 송신될 수 있다. 멀티미디어 콘텐츠는 MPD 파일에 의해 설명될 수 있다. MPD 파일은 콘텐츠 서버(202)에 의해 저장 및 업데이트될 수 있고, 미디어 세그먼트들을 검색하기 위해 DASH 액세스 클라이언트(203)를 포함하는 클라이언트 디바이스들에 의해 액세스될 수 있다. 콘텐츠 서버(202)는 멀티미디어 콘텐츠의 하나 이상의 미디어 세그먼트에 대해, DASH 액세스 클라이언트(203)와 같은 클라이언트 디바이스로부터의 요청을 수신할 수 있다.
세션 특정 정보를 획득하기 위해, DASH 액세스 클라이언트(203)는 SBD 파일에 액세스하기 위한 요청을 SBD 클라이언트(204)(예를 들어, 세션 클라이언트)에 송신할 수 있다. SBD 파일은 현재 세션에 대한 복수의 시간 범위 및 대응하는 키-값 쌍들을 포함할 수 있다. 예를 들어, DASH 액세스 클라이언트(203)는 키 이름(예를 들어, 매개변수 이름) 및 시간을 SBD 클라이언트(204)에 송신할 수 있다. 이에 응답하여, SBD 클라이언트(204)는 키 이름 및 시간에 대응하는 값을 DASH 액세스 클라이언트(203)에 반환할 수 있다. DASH 액세스 클라이언트(203)는 요청 내의 세그먼트 URL의 쿼리 부분에 그 값을 포함시킬 수 있다. 요청은 대응하는 미디어 세그먼트를 요청하기 위해 콘텐츠 서버(202)에 송신될 수 있다. 예를 들어, 세그먼트 요청은 HTTP GET 또는 부분 GET 요청일 수 있다.
SBD 클라이언트(204)는 세션 컨트롤러(205) 및 세션 컨트롤러(206)와 같은 상이한 세션 컨트롤러들로부터 다수의 SBD 파일을 수신할 수 있다.
본 개시내용의 양태들에 따르면, 다양한 예들에서, 콘텐츠 서버(202)(예를 들어, DASH 서버)의 임의의 또는 모든 특징은 라우터들, 브리지들, 프록시 디바이스들, 스위치들, 또는 다른 디바이스들과 같은 콘텐츠 배송 네트워크(CDN)의 하나 이상의 디바이스에서 구현될 수 있다. 예에서, 콘텐츠 서버(202)는 클라이언트 디바이스들(예를 들어, DASH 액세스 클라이언트(203))로부터 네트워크 요청들을 수신하도록 구성된 요청 프로세싱 유닛을 포함할 수 있다. 예를 들어, 요청 프로세싱 유닛은 HTTP GET 또는 부분 GET 요청을 수신하고, 요청들에 응답하여 멀티미디어 콘텐츠의 데이터를 제공하도록 구성될 수 있다. 요청들은 세그먼트의 URL을 사용하여 세그먼트를 지정할 수 있다. 일부 예들에서, 요청들은 또한 세그먼트의 하나 이상의 바이트 범위를 지정할 수 있고, 따라서 부분 GET 요청들을 포함한다. 요청 프로세싱 유닛은 세그먼트의 헤더 데이터를 제공하기 위해 HTTP HEAD 요청들을 서비스하도록 더 구성될 수 있다.
다양한 예들에서, 콘텐츠 생성 디바이스(201) 및 콘텐츠 서버(202)는 무선 네트워크 또는 유선 네트워크에 의해 결합될 수 있거나, 직접적으로 통신 결합될 수 있다. 콘텐츠 생성 디바이스(201) 및 콘텐츠 서버(202)는 동일한 디바이스에 포함될 수 있다. 콘텐츠 서버(202) 및 세션 컨트롤러들(205)-(206)은 동일한 디바이스에 포함될 수 있다. 콘텐츠 서버(202) 및 DASH 액세스 클라이언트(203)는 무선 네트워크 또는 유선 네트워크에 의해 결합될 수 있다. SBD 클라이언트(204) 및 세션 컨트롤러들(205)-(206)은 무선 네트워크 또는 유선 네트워크에 의해 결합될 수 있거나, 직접적으로 통신 결합될 수 있다.
일부 실시예들에서, DASH 액세스 클라이언트(203) 및 SBD 클라이언트(204)는 동일한 디바이스에 포함될 수 있다. 디바이스는 DASH 액세스 클라이언트(203) 및 SBD 클라이언트(204) 둘 다의 기능들을 수행하는 DASH 클라이언트로서 기능할 수 있다.
Ⅲ. 세션들 및 세션 매개변수들
다양한 실시예들에서, SBD 메커니즘은 고유한 세션 별 MPD들을 생성하지 않고도 세그먼트 URL들에 세션 별 요소들을 추가하는 것을 허용한다. SBD에서 타임라인 상의 특정 시간 범위에 속하는 세션 매개변수 스트링들은 SBD 클라이언트(204)에 의해 구문분석될 수 있고, DASH 액세스 클라이언트(203)에 의해 발행된 HTTP 세그먼트 요청(들)에 추가될 매개변수들로 변환될 수 있다. SBD는 그것의 URL에 의해 MPD에서 참조될 수 있다.
예로서, SBD에서 운반되는 정보는 표 1에서 개념적으로 제시될 수 있다.
Figure pct00001
표 1에서, 각각의 행은 시간 범위에 대응하고, 각각의 열은 하나의 명명된 매개변수에 대응한다. 매개변수들 "p1" 및 "p2"는 세그먼트 요청 URL의 쿼리 부분에서 정보를 운반할 것으로 예상된다. 시간 범위 00:00:00-00:00:42에 대해, "p1" 값은 "foo"이고, "p2" 값은 42이다. 시간 범위 00:00:42-00:04:20에 대해, "p1"은 "bar"이고, "p2"는 420이다. 2초 세그먼트들의 경우에서, 처음 21개의 세그먼트는 그들의 URL 쿼리 매개변수들의 일부로서 "p1=foo&p2=42"를 포함할 것이고, 다음 109개의 세그먼트는 HTTP GET 요청에서 세그먼트 URL의 일부로 "p1=bar&p2=420"을 포함할 것이다.
Ⅳ. 타임라인 오더라인 주소 지정
일부 실시예들에서, SBD 문서는 개념적으로, 식별된 (ID)에 각각 연관된 하나 이상의 테이블을 포함할 수 있다. 각각의 테이블은 표 2에 보여진 바와 같이 상이한 시간 간격들에 대한 키-값 쌍 할당들을 포함할 수 있다.
Figure pct00002
표 2에서, ti는 미디어 타임라인 내의 순간을 나타내고, (kj, vi,j)는 시간 ti에 대한 키-값 쌍 j이다.
대안적으로, SBD 문서는 개념적으로 하나 이상의 표를 포함할 수 있다. 각각의 표는 표 3에 보여진 바와 같이 세그먼트 순서에 대한 키-값 쌍 정보를 포함할 수 있다.
Figure pct00003
표 3에서, ni는 세그먼트 ni를 나타내는 세그먼트 인덱스 또는 세그먼트 번호이고, (kj, vi,j)는 세그먼트 ni로부터 세그먼트 ni +1까지의, 그러나 ni +1 세그먼트는 포함하지 않는 모든 세그먼트들에 대한 키-값 쌍 j이다.
V. SBD를 위한 MPD 시그널링
일부 예들에서, DASH 매니페스트에서 세션 기반 정보를 시그널링하기 위해 하나 이상의 SBD 디스크립터가 정의될 수 있다. 예에서, SBD 디스크립터는 MPD 계층적 데이터 모델에 대한 하나 이상의 레벨에서 한 번 이상 나타날 수 있다.
예에서, SBD 디스크립터는 MPD의 EssentialProperty에 의해 표시되는 필수 속성 디스크립터일 수 있다. 예를 들어, SBD 디스크립터는 그것의 @schemeIdUri로서 URN "urn:mpeg:dash:sbd:2020"을 가질 수 있고, 하나 이상의 KeyList 요소를 포함할 수 있다. 예로서, 표 4는 SBD를 시그널링하기 위한 요소들 및 속성들을 포함하는 MPD EssentialProperty 디스크립터를 보여준다.
요소 또는 속성 이름 사용 설명
EssentialProperty 세션 기반 DASH 동작들을 위한 EssentialProperty(ISO/IEC 23009-1에 정의됨)의 인스턴스화
@schemeIdUri M
(스트링)
"urn:mpeg:dash:sbd:2020"으로 설정될 수 있음
@value M
(스트링)
이 세션에 대한 SBD 문서의 URL
@template O SBD 문서 내에서 발견되는 키-값 쌍에 적용하기 위한 템플릿
Key 1...N SBD 문서 내에서 발견될 키 이름 및 그것의 디폴트 값
부재 시에, SBD 문서의 대응하는 keyList 내의 모든 키 및 대응하는 값들이 (서브)세그먼트 요청 URL 쿼리에 추가되어야 한다.
@name M @template에 의해 설명되는 프로세싱 후에 이 세션에 대한 쿼리들에 추가될 SBD 문서의 키의 이름. 이 값은 공백이 없는 스트링일 수 있고, 문자로 시작할 수 있고, RFC 3986에 따라 예약되지 않은 문자만을 포함할 수 있다.
@name 값이 SBD 문서의 keyList에 나타나지 않는 경우, @name 값-@defaultValue 값 쌍이 템플릿에서, 또는 템플릿의 부재 시에 사용되어야 한다.
@defaultValue OD
('null')
SBD 문서 내에서 @name 값이 발견되지 않는 경우, 또는 SBD 문서에서 요청된 시간 범위 또는 세그먼트 번호에 대해 정의된 값이 없는 경우의 키-값 쌍 내의 디폴트 값.
범례:
속성들에 대해: M=필수, O=선택사항, OD=디폴트 값을 갖는 선택사항, CM=조건부 필수
요소들에 대해: <minOccurs>…<maxOccurs>(N=무한)
요소들은 진하게 표시되고; 속성들은 진하게 표시되지 않으며 @가 앞에 온다.
Ⅵ. 세션 기반 DASH 동작들을 위한 패턴 기반 주소 지정
Ⅵ. 1 단순 타임라인 주소 지정 체계
일부 예들에서, 세션 별 및 클라이언트 별로 MPD를 맞춤화하기 위해, 세션 기반 DASH 동작을 위해 간단한 타임라인 주소 지정 체계가 사용된다. 이러한 시나리오에서, SBD 파일은 세그먼트들을 위한 타이밍 또는 순서를 설명하는 요소(키 값 타임라인 요소로 명명됨), 및 SBD 테이블(예를 들어, 표 2 또는 표 3과 유사함) 내의 각각의 엔트리에 대응하는, 대응하는 키-값 쌍들을 포함할 수 있다.
표 5는 단순 SBD 타임라인 주소 지정을 구현하는 키 값 타임라인 요소의 예를 보여준다. 키 값 타임라인 요소는 확장가능한 마크업 언어(extensible markup language)(XML) 형태의 SBD 파일의 부분일 수 있다.
Figure pct00004
표 5에서, KeyValueTimeline으로 표시되는 키 값 타임라인 요소는 타임라인 요소를 포함한다(2행부터 6행까지). 타임라인 요소는 V로 표시되는 3개의 값 요소를 포함한다(3행부터 5행까지). 3개의 값 요소 각각은 d로 표시되는 지속시간 속성, 및 v로 표시되는 키 값 속성을 포함한다. 추가로, 제1 값 요소는 또한 s로 표시되는 시작 시간 속성을 포함한다. 예를 들어, 1초의 타임스케일이 사용된다고 가정하면, 키 값 타임라인 요소는 기준 타이밍(예를 들어, 표 5의 키 값 타임라인 요소를 포함하는 SBD를 적용하기 위한 시작 시간, 또는 표 5의 SBD에 대한 참조를 포함하는 기간의 시작 시간)에 대해 0의 시간 오프셋에서 적용을 시작한다. 3행부터 5행까지, 3개의 키 값들의 시퀀스는 각각 1초, 3초 및 1초 동안 지속되는 3개의 각각의 연속 지속시간들에 적용된다.
대응하는 키-값 쌍 테이블 내에 반복 패턴이 존재하는 경우들에서, 단순 타임라인 주소 지정 체계에 기초하여 패턴이 반복될 수 있다. 예를 들어, 표 5의 키-값 쌍들이 3회 반복되는 경우, 대응하는 SBD 파일은 표 6에 보여진 것일 수 있다. 3-5행의 키 값들의 시퀀스는 6-8행 및 9-11행에서 2회 반복된다. 패턴들의 반복은 반복 횟수들에 비례하는 SBD 파일의 성장을 야기한다.
Figure pct00005
Ⅵ. 2 패턴 기반 타임라인 오더라인 주소 지정
일부 응용들에서, 쿼리들의 패턴이 반복될 수 있기 때문에, 본 개시내용의 양태들은 패턴 기반 주소 지정 체계를 제공한다. 패턴 기반 주소 지정 체계를 사용함으로써, SBD의 보다 컴팩트한 표현이 달성될 수 있고, 이는 SBD를 시그널링하기 위한 비트들과 SBD를 구문분석하기 위한 시간을 절약한다. 비트들 및 시간의 절약은 패턴 반복 횟수에 비례할 수 있다.
실시예에서, 요소는 표 6의 시간 지정 키 값들의 시퀀스에서 반복 패턴을 시그널링하도록 정의될 수 있다. 이러한 요소는 반복 패턴 요소 또는 패턴 요소라고 지칭될 수 있다. 표 7은 타임라인 주소 지정에 대한 패턴 요소를 사용하는 XML의 예시적인 키 값 타임라인 요소를 보여준다.
Figure pct00006
표 7에 보여진 바와 같이, P에 의해 표시되는 반복 패턴 요소는 3행부터 7행까지 포함된다. P 요소를 사용한 결과로서, 표 6의 반복 패턴은 6개의 추가 라인을 갖는 패턴들을 반복하는 대신에 3행 및 7행에서 2개의 추가 라인을 사용하여 시그널링된다. 추가로, P 요소는 P 요소 내에서 (행 4-6에서) 시간 지정 키 값들의 시퀀스가 반복되는 횟수를 나타내기 위해 r로 표시되는 반복 속성을 포함한다.
표 8은 오더라인 주소 지정을 위한 패턴 요소를 사용하는 XML의 예시적인 키 값 타임라인 요소를 보여준다.
Figure pct00007
표 8에 보여진 바와 같이, P 요소는 키 값 타임라인 요소의 오더라인 요소에 포함된다. P 요소는 4-6행에 O로 표시된 3개의 오더라인 값 요소를 포함한다. 각각의 O 요소는 v로 표시되는 키 값 속성을 포함한다. 추가로, P 요소는 c로 표시되는 시작 세그먼트 번호 속성을 포함할 수 있고, 이는 기준 타이밍에 대한 시간 오프셋을 나타낸다. 예를 들어, 기준 타이밍은 표 8의 키 값 타임라인 요소를 포함하는 SBD를 적용하기 위한 시작 시간, 또는 표 8의 SBD에 대한 참조를 포함하는 기간의 시작 시간일 수 있다. 값 5를 갖는 속성 c는 기준 타이밍에 대한 처음 4개의 세그먼트를 건너뛸 수 있음을 나타낼 수 있다. P 요소의 키 값들은 제5 세그먼트부터 적용되기 시작한다.
Ⅵ. 3 패턴 주소 지정을 사용한 타임라인 주소 지정
표 9는 본 개시내용의 일부 실시예들에 따라 이용되는 패턴 주소 지정을 갖는 예시적인 타임라인 요소의 시맨틱 테이블을 보여준다.
요소 또는 속성 이름 사용 설명
0 KeyValuetimeline 쿼리 스트링 내의 키-값 쌍에 대한 정보를 제공한다. 참고: 값은 (서브)세그먼트마다 변경될 수 있다. 서브세그먼트는 세그먼트 내의 유닛이며 세그먼트의 바이트들의 서브세트에 대응한다.
1 @id M SBD 파일 내의 고유 정수 식별자
2 @keys M(스트링) 이 요소에 설명된 키-값 속성들의 고유 키 이름들의 목록.
3 @comment O(스트링) 파일에 관한 인간 판독가능한 코멘트
4 @timescale OD @d 속성들에 대한 초 당 틱에서의 타임스케일. 디폴트 값은 1이다(즉, 디폴트로, V@d는 초 단위임). 이 값은 오더라인 주소 지정에 대해 무시될 것이다.
5 @type OD 가능한 값들: "동적", "정적". 디폴트: "정적". 정적: SBD 파일 및 그것의 값들은 스트리밍 세션 동안 변경되지 않을 것이다. 동적: SBD 파일 및 그것의 값은 @ttl 초마다 업데이트될 수 있다.
6 @ttl CM 동적 SBD가 업데이트되지 않는 초 단위의 최소 보장 지속시간. 이 속성은 @type=static일 때 존재하지 않을 것이다.
7 timeline 0..1 시간 값들을 갖는 값들. 타임라인 요소는 적어도 하나의 P 요소 또는 적어도 하나의 V 요소를 가질 것이다.
8 V 0..1 대응하는 시간 값들을 갖는 값들.
9 P 0..N 반복될 수 있는 시간 지정 값들의 시퀀스를 포함하는 패턴.
10 V 0..N 내포된 키 값들에 대해.
11 P 0..N 내포된 패턴들에 대해.
적어도 P의 하나의 요소 또는 V의 하나의 요소가 임의의 P 요소에 존재할 것이다.
12 @s O 키 값이 적용되는 시간 범위의 시작.
13 @r OD 패턴의 반복 횟수. r=1은 패턴이 반복되지 않음을 의미한다. r=-1은 세션이 끝날 때까지 패턴이 반복됨을 의미한다.
14 orderline 0..1 순서 값들을 갖는 값들(시간 지정 키 값들의 다른 형태). 오더라인 요소는 적어도 하나의 O 또는 P 요소를 가질 것이다. timeline 또는 orderline 둘 다가 아니라 그들 중 어느 하나가 존재할 것이다.
15 O 1..N 값들(임의적으로 대응하는 순서 값들을 포함함)
16 P 0..N 반복될 수 있는 시간 지정 값들의 시퀀스를 포함하는 패턴.
17 O 0..N 내포된 키 값들에 대해.
18 P 0..N 내포된 패턴들에 대해. 적어도 P의 하나의 요소 또는 V의 하나의 요소가 임의의 P 요소에 존재할 것이다.
19 @s O 값들이 적용되는 시간 범위의 시작. c 또는 s 속성들 둘 다가 아니라 그들 중 하나만이 존재할 수 있다.
20 @c O 값이 적용되는 세그먼트의 시작 번호, 즉 c=5인 경우, 처음 4개 세그먼트는 건너뛰고 제5 세그먼트가 시작 세그먼트이다. 이 때의 앵커(기준 타이밍)는 SBDStart 매개변수이다. SBDStart는 SBD 디스크립터의 @startTime 시맨틱에 정의된 대로 획득된다. 부재 시에, 시작 세그먼트는 SBD 디스크립터가 포함된 요소에 따라, 대응하는 MPD 또는 Period 요소의 제1 세그먼트이다. c 또는 s 속성들 둘 다가 아니라 그들 중 하나만이 존재할 수 있다.
21 @r OD 패턴의 반복 시간. r=1은 패턴이 반복되지 않음을 의미한다. r=-1은 세션이 끝날 때까지 패턴이 반복됨을 의미한다.
범례:
속성들에 대해: M=필수, O=선택사항, OD=디폴트 값을 갖는 선택사항, CM=조건부 필수
XML; 요소들은 진하게 표시되고; 속성들은 진하게 표시되지 않으며 @가 앞에 온다. 목록은 공백으로 분리된 스트링이다(xml:list 별)
표 9에 보여진 바와 같이, 행 9 및 16에 정의된 P 요소들에 의해 표현되는 패턴 주소 지정은 7행의 타임라인 요소 및 14행의 오더라인 요소에 의해 표현되는 타임라인 및 오더라인 주소 지정 둘 다에 사용될 수 있다.
추가로, 패턴 주소 지정은 일반 주소 지정과 결합될 수 있다. 예를 들어, 7행의 타임라인 요소는 V 요소(일반 주소 지정) 및 P 요소(패턴 주소 지정) 둘 다를 포함할 수 있다. 9행에 정의된 P 요소 내에는 V 요소(들) 및 P 요소(들) 둘 다가 있을 수 있다. 14행의 오더라인 요소는 O 요소(일반 주소 지정) 및 P 요소(패턴 주소 지정) 둘 다를 포함할 수 있다. 16행에 정의된 P 요소 내에는 O 요소(들) 및 P 요소(들) 둘 다가 있을 수 있다.
또한, 패턴 주소 지정은 무한 패턴 반복을 시그널링하기 위해 사용될 수 있다(즉, 세션의 끝까지). 예를 들어, 13행 및 21행에 정의된 바와 같이, 반복 속성 r은 미디어 액세스 세션의 끝까지 패턴이 반복됨을 나타내기 위해 미리 정의된 값(예를 들어, -1)을 가질 수 있다.
패턴 주소 지정은 또한 내포된 방식으로 사용될 수 있고 임의의 내포 레벨로 일반 주소 지정과 결합될 수 있다. 11행 및 18행에 나타내어진 바와 같이, P 요소는 내포된 패턴 반복을 나타내도록 다른 P 요소를 포함할 수 있다.
일반 타임라인 및 오더라인 주소 지정과 마찬가지로, 패턴 주소 지정은 시작 시간 속성 s 또는 시작 세그먼트 번호 c를 사용함으로써 시간 또는 카운트 오프셋을 가질 수 있다. 타임라인 주소 지정의 패턴 주소 지정은 속성 s로 시간 오프셋될 수 있다. 오더라인 주소 지정 내의 패턴 주소 지정은 시간(속성 s를 사용함) 또는 카운트(속성 c를 사용함)에 의해 오프셋될 수 있다.
표 5 내지 표 9의 요소들 또는 속성들은 발명의 개념들을 설명하기 위한 예로서 사용되는 한편, 본 개시내용은 이러한 예들로 제한되지 않는다. 예를 들어, 다양한 실시예들에서, 타임라인 또는 오더라인에서 시간 지정된 키 값들의 시퀀스를 설명하기 위해 반복 요소 P 내의 요소들 및 속성들은 표 5-9에 제공된 것들과 유사할 수 있거나 유사하지 않을 수 있는 다양한 형태들을 취할 수 있다. 예를 들어, 키 값들은 표 7에 표시된 지속시간들의 시퀀스를 대신하여 복수의 시간 범위의 시작 시간들의 시퀀스에 연관될 수 있다.
추가로, 반복 패턴 요소는 XML 파일 내의 요소로서 정의되는 것을 대신하여, 타임라인 또는 오더라인 요소에 포함된 속성으로 정의될 수 있다. 대안적으로, SBD의 키 값 타임라인 요소는 요소를 대신하여 객체로 정의될 수 있다. 따라서, 표 9의 요소들 및 속성들은 객체의 포맷에 적합한 매개변수들의 세트에 적응될 수 있다. 예를 들어, 반복 패턴 요소는 시간 지정 키 값들의 시퀀스의 반복을 제어하는 루프 매개변수로 변환될 수 있다.
Ⅶ. 세션 기반 DASH 동작들의 예시적인 프로세스
도 3은 본 개시내용의 일부 실시예에 따른 세션 기반 DASH 동작들의 프로세스(300)를 개략적으로 설명하는 흐름도를 도시한다. 다양한 실시예들에서, 프로세스(300)는 DASH 클라이언트(102)의 프로세싱 회로와 같은 프로세싱 회로에 의해 실행된다. 일부 실시예들에서, 프로세스(300)는 소프트웨어 명령어들로 구현되고, 따라서 프로세싱 회로가 소프트웨어 명령어들을 실행할 때, 프로세싱 회로는 프로세스(300)를 수행한다. 프로세스(300)는 (S301)부터 시작하여 (S310)으로 진행한다.
(S310)에서, 예를 들어, 미디어 콘텐츠 서버로부터 미디어 액세스 세션 동안 MPD가 수신될 수 있다. MPD는 SBD를 참조하고 키 이름을 나타낼 수 있다. MPD는 세그먼트들의 시퀀스로 분할된 미디어 콘텐츠의 미디어 프레젠테이션을 설명할 수 있다.
(S320)에서, MPD에 의해 참조되는 SBD가 예를 들어 세션 컨트롤러로부터 수신될 수 있다. SBD는 키 이름의 시간 지정 키 값들의 제1 시퀀스를 포함하는 제1 반복 패턴 요소를 포함할 수 있다. 제1 반복 패턴 요소는 키 이름의 시간 지정 키 값들의 제1 시퀀스가 타임라인 또는 오더라인을 따라 반복됨을 나타낸다.
(S330)에서, 세그먼트들의 시퀀스의 현재 세그먼트의 타이밍 또는 세그먼트 번호에 대응하는 키 이름의 제1 키 값이 SBD의 제1 반복 패턴 요소에 기초하여 결정될 수 있다.
(S340)에서, 현재 세그먼트에 대한 요청이 미디어 콘텐츠 서버로 전송한다. 요청은 키 이름과 제1 키 값의 쌍을 포함할 수 있다. 예를 들어, 요청은 URL의 쿼리 부분에 키 이름과 제1 키 값이 포함된 URL을 포함할 수 있다. 프로세스는 (S399)로 진행하고 (S399)에서 종료할 수 있다.
Ⅷ. 컴퓨터 시스템
본 명세서에 설명된 기술들, 컴포넌트들(예를 들어, 도 1 및 도 2), 기능들 및 실시예들은 회로(예를 들어, 집적 회로, 프로세서 등), 또는 소프트웨어와 하드웨어의 조합에 의해 구현될 수 있다. 일부 예들에서, 컴포넌트들의 기능들은 비-일시적 컴퓨터 판독가능한 매체에 저장된 명령어들에 의해 구현될 수 있다.
위에서 설명된 기술은 컴퓨터 판독가능한 명령어들을 사용하며 하나 이상의 컴퓨터 판독가능한 매체에 물리적으로 저장되는 컴퓨터 소프트웨어로서 구현될 수 있다. 예를 들어, 도 4는 개시된 주제의 특정 실시예들을 구현하기에 적합한 컴퓨터 시스템(400)을 도시한다.
컴퓨터 소프트웨어는 하나 이상의 컴퓨터 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU) 및 그와 유사한 것에 의해 직접적으로, 또는 해석, 마이크로코드 실행 및 그와 유사한 것을 통해 실행될 수 있는 명령어들을 포함하는 코드를 생성하기 위해, 어셈블리, 컴파일, 링크 또는 유사한 메커니즘들에 종속될 수 있는, 임의의 적합한 기계 코드 또는 컴퓨터 언어를 사용하여 코딩될 수 있다.
명령어들은 예를 들어 개인용 컴퓨터, 태블릿 컴퓨터, 서버, 스마트폰, 게임 디바이스, 사물 인터넷 디바이스, 및 그와 유사한 것을 포함하는 다양한 타입의 컴퓨터들 또는 그것의 컴포넌트들에서 실행될 수 있다.
컴퓨터 시스템(400)에 대해 도 4에 도시된 컴포넌트들은 본질적으로 예시적이며, 본 개시내용의 실시예들을 구현하는 컴퓨터 소프트웨어의 사용 또는 기능의 범위에 대한 어떠한 제한도 시사하도록 의도된 것이 아니다. 또한, 컴포넌트들의 구성은 컴퓨터 시스템(400)의 예시적인 실시예에 예시된 컴포넌트들 중 어느 하나 또는 그것들의 조합에 관련된 임의의 종속성 또는 요건을 갖는 것으로 해석되어서는 안 된다.
컴퓨터 시스템(400)은 특정의 인간 인터페이스 입력 디바이스들을 포함할 수 있다. 이러한 인간 인터페이스 입력 디바이스는 예를 들어 촉각 입력(예를 들어, 키스트로크, 스와이프, 데이터 글러브 움직임), 오디오 입력(예를 들어, 음성, 박수), 시각적 입력(예를 들어, 제스처), 후각 입력(도시되지 않음)을 통한 한 명 이상의 인간 사용자에 의한 입력에 응답할 수 있다. 인간 인터페이스 디바이스들은 또한 오디오(예를 들어, 음성, 음악, 주변 음향), 이미지(예를 들어, 스캐닝된 이미지, 스틸 이미지 카메라로부터 획득된 사진 이미지), 비디오(예를 들어, 2차원 비디오, 입체 비디오를 포함한 3차원 비디오)와 같이, 반드시 인간의 의식적 입력에 직접 관련이 있는 것은 아닌 특정 미디어를 캡처하기 위해 사용될 수 있다.
입력 인간 인터페이스 디바이스들은 키보드(401), 마우스(402), 트랙패드(403), 터치-스크린(410), 데이터 글러브(도시되지 않음), 조이스틱(405), 마이크로폰(406), 스캐너(407), 및 카메라(408) 중 하나 이상을 포함할 수 있다(각각의 것은 단 하나만이 도시됨).
컴퓨터 시스템(400)은 또한 특정한 인간 인터페이스 출력 디바이스들을 포함할 수 있다. 이러한 인간 인터페이스 출력 디바이스들은 예를 들어 촉각 출력, 소리, 빛 및 냄새/맛을 통해 한 명 이상의 인간 사용자의 감각을 자극할 수 있다. 이러한 인간 인터페이스 출력 디바이스들은 촉각 출력 디바이스들(예를 들면, 터치-스크린(410), 데이터 글러브(도시되지 않음) 또는 조이스틱(404)에 의한 촉각 피드백이지만, 입력 디바이스의 역할을 하지 않는 촉각 피드백 디바이스들도 존재할 수 있음), 오디오 출력 디바이스들(예를 들어, 스피커(409), 헤드폰(도시되지 않음)), 시각적 출력 디바이스들(예를 들어, CRT 화면, LCD 화면, 플라즈마 화면, OLED 화면을 포함하는 화면(410) - 각각은 터치-스크린 입력 능력을 갖거나 갖지 않고, 각각은 촉각 피드백 능력을 갖거나 갖지 않고, 그들 중 일부는 2차원 시각적 출력 또는 스테레오그래픽 출력과 같은 수단을 통한 3차원 이상의 출력을 출력 가능할 수 있음 -); 가상 현실 안경(도시되지 않음), 홀로그래픽 디스플레이 및 스모크 탱크(도시되지 않음)), 및 프린터(도시되지 않음)를 포함할 수 있다. 이러한 시각적 출력 디바이스들(예를 들어, 스크린(410))은 그래픽 어댑터(450)를 통해 시스템 버스(448)에 연결될 수 있다.
컴퓨터 시스템(400)은 또한 CD/DVD 또는 유사 매체(421)를 갖는 CD/DVD ROM/RW(420)를 포함하는 광학 매체, 썸-드라이브(422), 이동식 하드 드라이브 또는 고체 상태 드라이브(423), 테이프 및 플로피 디스크와 같은 레거시 자기 매체(도시되지 않음), 보안 동글과 같은 특수화된 ROM/ASIC/PLD 기반 디바이스(도시되지 않음), 및 그와 유사한 것과 같은, 인간이 액세스할 수 있는 저장 디바이스들 및 그들의 연관된 매체를 포함할 수 있다.
본 기술분야의 통상의 기술자는 또한 현재 개시된 주제와 관련하여 사용되는 "컴퓨터 판독가능한 매체"라는 용어가 전송 매체, 반송파 또는 다른 일시적인 신호를 포괄하지 않는다는 것을 이해해야 한다.
컴퓨터 시스템(400)은 또한 하나 이상의 통신 네트워크(455)에 대한 네트워크 인터페이스(454)를 포함할 수 있다. 하나 이상의 통신 네트워크(455)는 예를 들어 무선, 유선, 광학적일 수 있다. 하나 이상의 통신 네트워크(455)는 또한 로컬, 광역, 대도시, 차량 및 산업, 실시간, 지연 허용 등일 수 있다. 하나 이상의 통신 네트워크(455)의 예들은 이더넷, 무선 LAN과 같은 근거리 통신망, GSM, 3G, 4G, 5G, LTE 및 그와 유사한 것을 포함하는 셀룰러 네트워크, 케이블 TV, 위성 TV 및 지상파 방송 TV를 포함하는 TV 유선 또는 무선 광역 디지털 네트워크, CANBus를 포함하는 차량 및 산업용 등을 포함한다. 특정 네트워크들은 일반적으로 특정 범용 데이터 포트들 또는 주변장치 버스들(449)(예컨대, 예를 들어 컴퓨터 시스템(400)의 USB 포트들)에 부착된 외부 네트워크 인터페이스 어댑터들을 필요로 하는 한편, 다른 것들은 일반적으로 아래에 설명되는 것과 같은 시스템 버스에의 부착에 의해 컴퓨터 시스템(400)의 코어에 통합된다(예를 들어, PC 컴퓨터 시스템에 대한 이더넷 인터페이스, 또는 스마트폰 컴퓨터 시스템에 대한 셀룰러 네트워크 인터페이스). 컴퓨터 시스템(400)은 이러한 네트워크들 중 임의의 것을 사용하여 다른 엔티티들과 통신할 수 있다. 이러한 통신은 단방향, 수신 전용(예를 들어, 방송 TV), 단방향 송신 전용(예를 들어, CANbus로부터 특정 CANbus 디바이스들로), 또는 예를 들어 근거리 또는 광역 디지털 네트워크를 사용하여 다른 컴퓨터 시스템들에 대해 양방향일 수 있다. 위에서 설명된 바와 같이, 이러한 네트워크들 및 네트워크 인터페이스들 각각에서 특정 프로토콜들 및 프로토콜 스택들이 사용될 수 있다.
앞에서 언급된 인간 인터페이스 디바이스들, 인간 액세스가능한 저장 디바이스들, 및 네트워크 인터페이스들은 컴퓨터 시스템(400)의 코어(440)에 부착될 수 있다.
코어(440)는 하나 이상의 중앙 처리 장치(CPU)(441), 그래픽 처리 장치(GPU)(442), 필드 프로그래밍가능한 게이트 영역들(Field Programmable Gate Area)(FPGA) 형태의 특수화된 프로그래밍가능한 프로세싱 유닛들(443), 특정 작업들을 위한 하드웨어 가속기들(444) 등을 포함할 수 있다. 이러한 디바이스들은 판독 전용 메모리(ROM)(445), 랜덤 액세스 메모리(446), 내부 비-사용자 액세스가능한 하드 드라이브, SSD 및 그와 유사한 것과 같은 내부 대용량 저장소(447)와 함께, 시스템 버스(448)를 통해 연결될 수 있다. 일부 컴퓨터 시스템들에서, 시스템 버스(448)는 추가의 CPU들, GPU 및 그와 유사한 것에 의한 확장들을 가능하게 하기 위해 하나 이상의 물리적 플러그의 형태로 액세스가능할 수 있다. 주변 디바이스들은 코어의 시스템 버스(448)에 직접, 또는 주변장치 버스(449)를 통해 부착될 수 있다. 주변장치 버스를 위한 아키텍처들은 PCI, USB, 및 그와 유사한 것을 포함한다.
CPU들(441), GPU들(442), FPGA들(443) 및 가속기들(444)은, 조합하여 앞에서 언급된 컴퓨터 코드를 구성할 수 있는 특정 명령어들을 실행할 수 있다. 그 컴퓨터 코드는 ROM(445) 또는 RAM(446)에 저장될 수 있다. 과도적 데이터가 또한 RAM(446)에 저장될 수 있는 반면, 영구적 데이터는 예를 들어 내부 대용량 저장소(447)에 저장될 수 있다. 메모리 디바이스들 중 임의의 것에 대한 빠른 저장 및 검색은 하나 이상의 CPU(441), GPU(442), 대용량 저장소(447), ROM(445), RAM(446) 및 그와 유사한 것에 밀접하게 연관될 수 있는 캐시 메모리의 사용을 통해 가능해질 수 있다.
컴퓨터 판독가능한 매체는 다양한 컴퓨터 구현 동작들을 수행하기 위한 컴퓨터 코드를 가질 수 있다. 매체 및 컴퓨터 코드는 본 개시내용의 목적을 위해 특별히 설계되고 구성된 것들일 수 있거나, 컴퓨터 소프트웨어 분야의 기술자들에게 널리 공지되어 있고 그들이 이용할 수 있는 종류의 것들일 수 있다.
제한이 아닌 예로서, 아키텍처(400) 및 특히 코어(440)를 갖는 컴퓨터 시스템은 프로세서(들)(CPU, GPU, FPGA, 가속기, 및 그와 유사한 것을 포함함)가 하나 이상의 유형의(tangible) 컴퓨터 판독가능한 매체에 구현된 소프트웨어를 실행한 것의 결과로서 기능을 제공할 수 있다. 이러한 컴퓨터 판독가능한 매체는 위에서 소개된 사용자 액세스가능한 대용량 저장소에 연관된 매체는 물론, 코어 내부 대용량 저장소(447) 또는 ROM(445)과 같은 비-일시적 특성을 갖는 코어(440)의 특정 저장소일 수 있다. 본 개시내용의 다양한 실시예들을 구현하는 소프트웨어는 이러한 디바이스들에 저장되고 코어(440)에 의해 실행될 수 있다. 컴퓨터 판독가능한 매체는 특정 요구들에 따라 하나 이상의 메모리 디바이스 또는 칩을 포함할 수 있다. 소프트웨어는, 코어(440) 및 특히 그 안의 프로세서들(CPU, GPU, FPGA, 및 그와 유사한 것을 포함함)로 하여금, RAM(446)에 저장되는 데이터 구조들을 정의하고 소프트웨어에 의해 정의된 프로세스들에 따라 이러한 데이터 구조들을 수정하는 것을 포함하여, 여기에 설명된 특정 프로세스들 또는 특정 프로세스들의 특정 부분들을 실행하게 할 수 있다. 추가적으로 또는 대안적으로, 컴퓨터 시스템은 여기에 설명된 특정 프로세스들 또는 특정 프로세스들의 특정 부분들을 실행하기 위해, 소프트웨어를 대신하여 또는 소프트웨어와 함께 동작할 수 있는, 회로(예를 들어, 가속기(444)) 내에 하드웨어적으로 배선되거나 다르게 구현된 로직의 결과로서 기능을 제공할 수 있다. 소프트웨어에 대한 참조는 로직을 포괄할 수 있으며, 적절한 경우 그 반대도 마찬가지이다. 컴퓨터 판독가능한 매체에 대한 참조는 실행을 위한 소프트웨어를 저장하는 회로(예를 들어, 집적 회로(IC)), 실행을 위한 로직을 구현하는 회로, 또는 적절한 경우 둘 다를 포괄할 수 있다. 본 개시내용은 하드웨어 및 소프트웨어의 임의의 적절한 조합을 포괄한다.
본 개시내용은 수 개의 예시적인 실시예를 설명했지만, 본 개시내용의 범위 내에 속하는 변경, 순열, 및 다양한 대체 등가물이 존재한다. 따라서, 본 기술분야의 통상의 기술자들은 본 명세서에 명시적으로 도시되거나 설명되지는 않았지만, 본 개시내용의 원리를 구현하고 따라서 그 사상 및 범위 내에 있는 수많은 시스템들 및 방법들을 생각해낼 수 있다는 것을 이해할 것이다.

Claims (20)

  1. DASH 클라이언트에서의 세션 기반의 HTTP를 통한 동적 적응 스트리밍(dynamic adaptive streaming over HTTP)(DASH) 동작들의 방법으로서,
    미디어 액세스 세션 동안 세션 기반 디스크립션(session-based description)(SBD)을 참조하고 키 이름을 나타내는 미디어 프레젠테이션 디스크립션(media presentation description)(MPD)을 수신하는 단계 - 상기 MPD는 세그먼트들의 시퀀스로 분할된 미디어 콘텐츠의 미디어 프레젠테이션을 설명함 - ;
    상기 MPD에 의해 참조되는 상기 SBD를 수신하는 단계 - 상기 SBD는 상기 키 이름의 시간 지정 키 값들(timed key values)의 제1 시퀀스를 포함하는 제1 반복 패턴 요소를 포함하고, 상기 제1 반복 패턴 요소는 상기 키 이름의 상기 시간 지정 키 값들의 제1 시퀀스가 타임라인 또는 오더라인을 따라 반복됨을 나타냄 - ;
    상기 SBD 내의 상기 제1 반복 패턴 요소에 기초하여 상기 세그먼트들의 시퀀스의 현재 세그먼트의 타이밍 또는 세그먼트 번호에 대응하는 상기 키 이름의 제1 키 값을 결정하는 단계; 및
    상기 현재 세그먼트에 대한 요청을 미디어 콘텐츠 서버에 전송하는 단계 - 상기 요청은 상기 키 이름 및 상기 제1 키 값의 쌍을 포함함 -
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 제1 반복 패턴 요소는 상기 키 이름의 상기 시간 지정 키 값들의 제1 시퀀스가 몇 회 반복되는지를 나타내는 반복 속성을 포함하는, 방법.
  3. 제2항에 있어서, 상기 반복 속성이 -1의 값을 가질 때, 상기 키 이름의 상기 시간 지정 키 값의 제1 시퀀스는 상기 미디어 액세스 세션의 끝까지 반복되는, 방법.
  4. 제2항에 있어서, 상기 반복 속성이 1의 값을 가질 때, 상기 키 이름의 상기 시간 지정 키 값의 제1 시퀀스는 반복되지 않는, 방법.
  5. 제1항에 있어서, 상기 제1 반복 패턴 요소는 내포된 방식(nested manner)으로 제2 반복 패턴 요소를 포함하고, 상기 제2 반복 패턴 요소는 상기 키 이름의 시간 지정 키 값들의 제2 시퀀스를 포함하고,
    상기 키 이름의 상기 시간 지정 키 값들의 제2 시퀀스는 상기 키 이름의 시간 지정 키 값들의 제3 시퀀스를 형성하기 위해 상기 제2 반복 패턴 요소에 의해 나타내어진 대로 반복되고,
    상기 키 이름의 상기 시간 지정 키 값들의 제3 시퀀스는 상기 키 이름의 상기 시간 지정 키 값들의 제1 시퀀스의 일부인, 방법.
  6. 제1항에 있어서, 상기 SBD는 상기 제1 반복 패턴 요소 외부에 있는 상기 키 이름의 시간 지정 키 값들의 제4 시퀀스를 포함하는, 방법.
  7. 제1항에 있어서, 상기 제1 반복 패턴 요소는 상기 제1 반복 패턴 요소 내의 상기 키 이름의 상기 시간 지정 키 값들의 제1 시퀀스가 적용되기 시작하는 시작 타이밍을 나타내는 시작 시간 속성을 포함하는, 방법.
  8. 제7항에 있어서, 상기 시작 타이밍은 기준 타이밍에 대한 오프셋에 의해 표현되는, 방법.
  9. 제1항에 있어서, 상기 키 이름의 상기 시간 지정 키 값들의 상기 제1 시퀀스는 상기 오더라인을 따라 반복되고, 상기 제1 반복 패턴 요소는 상기 제1 반복 패턴 요소 내의 상기 키 이름의 상기 시간 지정 키 값들의 시퀀스가 적용되기 시작하는 시작 세그먼트 번호를 나타내는 시작 카운트 속성을 포함하는, 방법.
  10. 제9항에 있어서, 상기 시작 세그먼트 번호는 상기 SBD의 SBD 시작 시간 속성에 의해 나타내어진 시작 타이밍에 대한 세그먼트 번호인, 방법.
  11. 세션 기반의 HTTP를 통한 동적 적응 스트리밍(DASH) 동작들의 장치로서,
    미디어 액세스 세션 동안 세션 기반 디스크립션(SBD)을 참조하고 키 이름을 나타내는 미디어 프레젠테이션 디스크립션(MPD)을 수신하고 - 상기 MPD는 세그먼트들의 시퀀스로 분할된 미디어 콘텐츠의 미디어 프레젠테이션을 설명함 - ;
    상기 MPD에 의해 참조되는 상기 SBD를 수신하고 - 상기 SBD는 상기 키 이름의 시간 지정 키 값들의 제1 시퀀스를 포함하는 제1 반복 패턴 요소를 포함하고, 상기 제1 반복 패턴 요소는 상기 키 이름의 상기 시간 지정 키 값들의 제1 시퀀스가 타임라인 또는 오더라인을 따라 반복됨을 나타냄 - ;
    상기 SBD 내의 상기 제1 반복 패턴 요소에 기초하여 상기 세그먼트들의 시퀀스의 현재 세그먼트의 타이밍 또는 세그먼트 번호에 대응하는 상기 키 이름의 제1 키 값을 결정하고;
    상기 현재 세그먼트에 대한 요청을 미디어 콘텐츠 서버에 전송하도록 - 상기 요청은 상기 키 이름 및 상기 제1 키 값의 쌍을 포함함 -
    구성되는 회로를 포함하는 장치.
  12. 제11항에 있어서, 상기 제1 반복 패턴 요소는 상기 키 이름의 상기 시간 지정 키 값들의 제1 시퀀스가 몇 회 반복되는지를 나타내는 반복 속성을 포함하는, 장치.
  13. 제12항에 있어서, 상기 반복 속성이 -1의 값을 가질 때, 상기 키 이름의 상기 시간 지정 키 값의 제1 시퀀스는 상기 미디어 액세스 세션의 끝까지 반복되는, 장치.
  14. 제12항에 있어서, 상기 반복 속성이 1의 값을 가질 때, 상기 키 이름의 상기 시간 지정 키 값의 제1 시퀀스는 반복되지 않는, 장치.
  15. 제11항에 있어서, 상기 제1 반복 패턴 요소는 내포된 방식으로 제2 반복 패턴 요소를 포함하고, 상기 제2 반복 패턴 요소는 상기 키 이름의 시간 지정 키 값들의 제2 시퀀스를 포함하고,
    상기 키 이름의 상기 시간 지정 키 값들의 제2 시퀀스는 상기 키 이름의 시간 지정 키 값들의 제3 시퀀스를 형성하기 위해 상기 제2 반복 패턴 요소에 의해 나타내어진 대로 반복되고,
    상기 키 이름의 상기 시간 지정 키 값들의 제3 시퀀스는 상기 키 이름의 상기 시간 지정 키 값들의 제1 시퀀스의 일부인, 장치.
  16. 비-일시적 컴퓨터 판독가능한 매체로서,
    명령어들을 저장하고, 상기 명령어들은 프로세서에 의해 실행될 때, 상기 프로세서로 하여금, DASH 클라이언트에서의 세션 기반의 HTTP를 통한 동적 적응 스트리밍(DASH) 동작들의 방법을 수행하게 하고, 상기 방법은:
    미디어 액세스 세션 동안 세션 기반 디스크립션(SBD)을 참조하고 키 이름을 나타내는 미디어 프레젠테이션 디스크립션(MPD)을 수신하는 단계 - 상기 MPD는 세그먼트들의 시퀀스로 분할된 미디어 콘텐츠의 미디어 프레젠테이션을 설명함 - ;
    상기 MPD에 의해 참조되는 상기 SBD를 수신하는 단계 - 상기 SBD는 상기 키 이름의 시간 지정 키 값들의 제1 시퀀스를 포함하는 제1 반복 패턴 요소를 포함하고, 상기 제1 반복 패턴 요소는 상기 키 이름의 상기 시간 지정 키 값들의 제1 시퀀스가 타임라인 또는 오더라인을 따라 반복됨을 나타냄 - ;
    상기 SBD 내의 상기 제1 반복 패턴 요소에 기초하여 상기 세그먼트들의 시퀀스의 현재 세그먼트의 타이밍 또는 세그먼트 번호에 대응하는 상기 키 이름의 제1 키 값을 결정하는 단계; 및
    상기 현재 세그먼트에 대한 요청을 미디어 콘텐츠 서버에 전송하는 단계 - 상기 요청은 상기 키 이름 및 상기 제1 키 값의 쌍을 포함함 -
    를 포함하는, 비-일시적 컴퓨터 판독가능한 매체.
  17. 제16항에 있어서, 상기 제1 반복 패턴 요소는 상기 키 이름의 상기 시간 지정 키 값들의 제1 시퀀스가 몇 회 반복되는지를 나타내는 반복 속성을 포함하는, 비-일시적 컴퓨터 판독가능한 매체.
  18. 제17항에 있어서, 상기 반복 속성이 -1의 값을 가질 때, 상기 키 이름의 상기 시간 지정 키 값의 제1 시퀀스는 상기 미디어 액세스 세션의 끝까지 반복되는, 비-일시적 컴퓨터 판독가능한 매체.
  19. 제17항에 있어서, 상기 반복 속성이 1의 값을 가질 때, 상기 키 이름의 상기 시간 지정 키 값의 제1 시퀀스는 반복되지 않는, 비-일시적 컴퓨터 판독가능한 매체.
  20. 제16항에 있어서, 상기 제1 반복 패턴 요소는 내포된 방식으로 제2 반복 패턴 요소를 포함하고, 상기 제2 반복 패턴 요소는 상기 키 이름의 시간 지정 키 값들의 제2 시퀀스를 포함하고,
    상기 키 이름의 상기 시간 지정 키 값들의 제2 시퀀스는 상기 키 이름의 시간 지정 키 값들의 제3 시퀀스를 형성하기 위해 상기 제2 반복 패턴 요소에 의해 나타내어진 대로 반복되고,
    상기 키 이름의 상기 시간 지정 키 값들의 제3 시퀀스는 상기 키 이름의 상기 시간 지정 키 값들의 제1 시퀀스의 일부인, 비-일시적 컴퓨터 판독가능한 매체.
KR1020217034582A 2020-01-07 2021-01-04 세션 기반 dash 동작들을 위한 패턴 주소 지정 KR102635891B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202062958136P 2020-01-07 2020-01-07
US62/958,136 2020-01-07
US17/095,182 US11228796B2 (en) 2020-01-07 2020-11-11 Pattern addressing for session-based dash operations
US17/095,182 2020-11-11
PCT/US2021/012060 WO2021141847A1 (en) 2020-01-07 2021-01-04 Pattern addressing for session-based dash operations

Publications (2)

Publication Number Publication Date
KR20210139449A true KR20210139449A (ko) 2021-11-22
KR102635891B1 KR102635891B1 (ko) 2024-02-14

Family

ID=76654727

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217034582A KR102635891B1 (ko) 2020-01-07 2021-01-04 세션 기반 dash 동작들을 위한 패턴 주소 지정

Country Status (6)

Country Link
US (2) US11228796B2 (ko)
EP (1) EP4088417A4 (ko)
JP (1) JP7190589B2 (ko)
KR (1) KR102635891B1 (ko)
CN (3) CN117376614A (ko)
WO (1) WO2021141847A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11228796B2 (en) * 2020-01-07 2022-01-18 Tencent America LLC Pattern addressing for session-based dash operations

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9253233B2 (en) * 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
EP3065408A4 (en) * 2013-10-30 2017-09-13 Sony Corporation Transmission device, transmission method, reception device, and reception method
EP3145209A4 (en) * 2014-05-16 2017-11-01 Sony Corporation Reception device, reception method, transmission device, and transmission method
WO2015178690A1 (ko) * 2014-05-21 2015-11-26 엘지전자 주식회사 방송 신호 송/수신 처리 방법 및 장치
KR101899827B1 (ko) * 2014-09-03 2018-09-18 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
CA2932717C (en) * 2014-10-10 2023-10-10 Sony Corporation Reception device, reception method, transmission device, and transmission method
US10129308B2 (en) * 2015-01-08 2018-11-13 Qualcomm Incorporated Session description information for over-the-air broadcast media data
GB2534136A (en) * 2015-01-12 2016-07-20 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US10454985B2 (en) * 2015-03-04 2019-10-22 Qualcomm Incorporated File format based streaming with dash formats based on LCT
US9641578B2 (en) * 2015-04-02 2017-05-02 Arris Enterprises, Inc. Minimizing unicast bandwidth in an adaptive bit rate system
JPWO2016199513A1 (ja) * 2015-06-09 2018-03-29 ソニー株式会社 受信装置、送信装置、およびデータ処理方法
JP6807032B2 (ja) * 2015-06-12 2021-01-06 ソニー株式会社 情報処理装置および情報処理方法
US11617019B2 (en) * 2016-07-28 2023-03-28 Qualcomm Incorporated Retrieving and accessing segment chunks for media streaming
US11425187B2 (en) * 2019-09-30 2022-08-23 Tencent America Llc. Session-based information for dynamic adaptive streaming over HTTP
US11616822B2 (en) * 2019-09-30 2023-03-28 Tencent America LLC Session-based information for dynamic adaptive streaming over HTTP
US11570509B2 (en) * 2020-01-06 2023-01-31 Tencent America LLC Session-based information for dynamic adaptive streaming over HTTP
US11184420B2 (en) * 2020-01-06 2021-11-23 Tencent America LLC Methods and apparatuses for dynamic adaptive streaming over HTTP
US11228796B2 (en) * 2020-01-07 2022-01-18 Tencent America LLC Pattern addressing for session-based dash operations

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WD of ISO/IEC 23009-8 Session-based DASH operations, MPEG 128th Geveva meeting, w18844, 2020.01.02.* *

Also Published As

Publication number Publication date
EP4088417A4 (en) 2024-02-21
US20220038762A1 (en) 2022-02-03
JP7190589B2 (ja) 2022-12-15
US11638056B2 (en) 2023-04-25
CN117376614A (zh) 2024-01-09
CN114208107A (zh) 2022-03-18
CN114208107B (zh) 2023-12-08
US11228796B2 (en) 2022-01-18
US20210211759A1 (en) 2021-07-08
CN117998125A (zh) 2024-05-07
WO2021141847A1 (en) 2021-07-15
EP4088417A1 (en) 2022-11-16
JP2022526162A (ja) 2022-05-23
KR102635891B1 (ko) 2024-02-14

Similar Documents

Publication Publication Date Title
KR102495551B1 (ko) Http를 통한 동적 적응 스트리밍을 위한 세션 기반 정보
US11930064B2 (en) Query signaling in media presentation description
KR102632387B1 (ko) Http를 통한 동적 적응 스트리밍을 위한 세션 기반 정보
KR20210141598A (ko) Http를 통한 동적 적응 스트리밍을 위한 세션 기반 정보
CN115299022A (zh) 基于http的动态自适应流传输的方法和装置
KR102635891B1 (ko) 세션 기반 dash 동작들을 위한 패턴 주소 지정
KR20220129622A (ko) Http를 통한 동적 적응 스트리밍을 위한 방법들 및 장치들
KR102659938B1 (ko) Http를 통한 동적 적응 스트리밍을 위한 방법 및 장치
KR20220131976A (ko) Http를 통한 동적 적응 스트리밍을 위한 방법들 및 장치들
CN118301137A (en) Method, device and storage medium for receiving media data

Legal Events

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