KR102632387B1 - Http를 통한 동적 적응 스트리밍을 위한 세션 기반 정보 - Google Patents
Http를 통한 동적 적응 스트리밍을 위한 세션 기반 정보 Download PDFInfo
- Publication number
- KR102632387B1 KR102632387B1 KR1020217031589A KR20217031589A KR102632387B1 KR 102632387 B1 KR102632387 B1 KR 102632387B1 KR 1020217031589 A KR1020217031589 A KR 1020217031589A KR 20217031589 A KR20217031589 A KR 20217031589A KR 102632387 B1 KR102632387 B1 KR 102632387B1
- Authority
- KR
- South Korea
- Prior art keywords
- session
- sbd
- dash
- file
- cycles
- Prior art date
Links
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 12
- 238000000034 method Methods 0.000 claims abstract description 36
- 230000000153 supplemental effect Effects 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims abstract description 28
- 230000004044 response Effects 0.000 claims abstract description 10
- 238000012546 transfer Methods 0.000 claims abstract description 10
- 230000001052 transient effect Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 23
- 230000006978 adaptation Effects 0.000 description 9
- 230000000576 supplementary effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000012092 media component Substances 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2353—Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26258—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
- H04N21/4353—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving decryption of additional data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/643—Communication protocols
- H04N21/64322—IP
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/84—Generation or processing of descriptive data, e.g. content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Library & Information Science (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
본 개시내용의 양태들은 세션의 미디어 데이터를 수신하기 위한 방법들, 장치들 및 비-일시적 컴퓨터 판독가능한 매체들을 제공한다. 하나의 장치는 미디어 프레젠테이션 디스크립션(MPD) 파일 및 하나 이상의 세션 기반 디스크립션(SBD) 파일을 수신하는 프로세싱 회로를 포함한다. MPD 파일은 세션 기반의 하이퍼텍스트 전송 프로토콜을 통한 동적 적응 스트리밍(DASH)에 대한 하나 이상의 필수 특성 디스크립터를 포함한다. 세션 기반 DASH에 대한 하나 이상의 필수 특성 디스크립터 각각은 하나 이상의 SBD 파일 중의 상이한 SBD 파일에 연관된다. 프로세싱 회로는 MPD 파일 내의 주기에 대해, 주기가 세션 기반 DASH에 대한 보충 특성 디스크립터를 갖는지를 결정한다. 프로세싱 회로는 주기가 세션 기반 DASH에 대한 임의의 보충 특성 디스크립터를 갖지 않는 것에 응답하여, 하나 이상의 SBD 파일 전부를 주기에 적용한다.
Description
참조에 의한 포함
본 출원은 2019년 9월 30일자로 출원된 미국 가출원 제62/908,251호 "주기 의존 세션 기반 DASH 동작(PERIOD DEPENDENT SESSION-BASED DASH OPERATIONS)"의 우선권의 이익을 주장하는, 2020년 9월 23일자로 출원된 미국 특허 출원 제17/029,948호 "HTTP를 통한 동적 적응 스트리밍을 위한 세션 기반 정보(SESSION-BASED INFORMATION FOR DYNAMIC ADAPTIVE STREAMING OVER HTTP)"의 우선권의 이익을 주장한다. 선행 출원의 전체 개시내용은 그 전체가 여기에 참조로 포함된다.
기술 분야
본 개시내용은 일반적으로 하이퍼텍스트 전송 프로토콜을 통한 동적 적응 스트리밍(dynamic adaptive streaming over hypertext transfer protocol)(DASH)을 위한 세션 기반 정보에 관련된 실시예들을 설명한다.
여기에 제공된 배경 기술 설명은 일반적으로 본 개시내용의 맥락을 제시하기 위한 것이다. 출원 시 선행 기술로서 달리 자격을 갖지 않을 수 있는 설명의 양태들뿐만 아니라, 현재 이름이 기재된 발명자의 작업은, 그 작업이 이러한 배경기술 섹션에 설명되는 한도 내에서, 명시적으로도 암시적으로도 본 개시내용에 대한 선행 기술로 인정되지 않는다.
MPEG(Moving Picture Experts Group)은 세션 기반 DASH 동작을 위해, 하이퍼텍스트 전송 프로토콜을 통한 동적 적응 스트리밍(DASH) 표준화의 새로운 부분을 시작했다. 미디어 프레젠테이션 디스크립션(media presentation description)(MPD) 파일은 모든 클라이언트에 대해 일반적이지만, 클라이언트는 클라이언트가 MPD를 세션에 특정하게 만들기 위한 명령어들을 제공하는 세션 기반 디스크립션(session-based description)(SBD) 파일과 같은 부가 파일을 취득할 수 있다. 그러나, 현재 설계에서는, 단일의 SBD가 전체 MPD에 적용된다.
본 개시내용의 양태들은 세션의 미디어 데이터를 검색하기 위한 장치들을 제공한다. 하나의 장치는 미디어 프레젠테이션 디스크립션(MPD) 파일 및 하나 이상의 세션 기반 디스크립션(SBD) 파일을 수신하는 프로세싱 회로를 포함한다. MPD 파일은 세션 기반의 하이퍼텍스트 전송 프로토콜을 통한 동적 적응 스트리밍(DASH)에 대한 하나 이상의 필수 특성 디스크립터(essential property descriptors)를 포함한다. 세션 기반 DASH에 대한 하나 이상의 필수 특성 디스크립터 각각은 하나 이상의 SBD 파일 중의 상이한 SBD 파일에 연관된다. 프로세싱 회로는 MPD 파일 내의 주기에 대해, 주기가 세션 기반 DASH에 대한 보충 특성 디스크립터(supplemental property descriptor)를 갖는지를 결정한다. 프로세싱 회로는 주기가 세션 기반 DASH에 대한 임의의 보충 특성 디스크립터를 갖지 않는 것에 응답하여, 하나 이상의 SBD 파일 전부를 주기에 적용한다.
실시예에서, 세션 기반 DASH에 대한 하나 이상의 필수 특성 디스크립터 각각은 연관된 SBD 파일을 식별하는 식별(ID) 값을 포함한다.
실시예에서, 프로세싱 회로는, 주기가 세션 기반 DASH에 대한 보충 특성 디스크립터를 갖는 것에 응답하여, 세션 기반 DASH에 대한 보충 특성 디스크립터 내의 ID 값이 세션 기반 DASH에 대한 하나 이상의 필수 특성 디스크립터 중 하나에 포함되는지를 결정한다.
실시예에서, 프로세싱 회로는, 세션 기반 DASH에 대한 보충 특성 디스크립터 내의 ID 값이 세션 기반 DASH에 대한 하나 이상의 필수 특성 디스크립터 중 하나에 포함되는 것에 응답하여, 세션 기반 DASH에 대한 하나 이상의 필수 특성 디스크립터 내의 ID 값에 연관된 하나의 SBD 파일을 주기에 적용한다.
실시예에서, 프로세싱 회로는, 세션 기반 DASH에 대한 보충 특성 디스크립터 내의 ID 값이 세션 기반 DASH에 대한 하나 이상의 필수 특성 디스크립터 내의 임의의 ID 값에 대응하지 않는 것에 응답하여, 하나 이상의 SBD 파일 중 어느 것도 주기에 적용되지 않을 것임을 결정한다.
실시예에서, 세션 기반 DASH에 대한 하나 이상의 필수 특성 디스크립터 각각은 연관된 SBD 파일에 대한 유니폼 리소스 로케이터(uniform resource locator)(URL) 주소를 나타내는 속성을 포함한다.
실시예에서, 세션 기반 DASH에 대한 하나 이상의 필수 특성 디스크립터 각각은 개별 필수 특성 디스크립터가 세션 기반 DASH에 대해 사용됨을 나타내는 속성을 포함하고, 세션 기반 DASH에 대한 보충 특성 디스크립터는, 보충 특성 디스크립터가 세션 기반 DASH에 대해 사용됨을 나타내는 속성을 포함한다.
실시예에서, 프로세싱 회로는, 하나 이상의 SBD 파일의 미리 정의된 순서에 기초하여, 하나 이상의 SBD 파일 전부를 주기에 연관된 요청에 적용한다.
본 개시내용의 양태들은 세션의 미디어 데이터를 검색하기 위한 방법들을 제공한다. 하나의 방법에서, MPD 파일 및 하나 이상의 SBD 파일이 수신된다. MPD 파일은 세션 기반 DASH에 대한 하나 이상의 필수 특성 디스크립터를 포함한다. 세션 기반 DASH에 대한 하나 이상의 필수 특성 디스크립터 각각은 하나 이상의 SBD 파일 중의 상이한 SBD 파일에 연관된다. MPD 파일 내의 주기에 대해, 주기가 세션 기반 DASH에 대한 보충 특성 디스크립터를 갖는지가 결정된다. 주기가 세션 기반 DASH에 대한 임의의 보충 특성 디스크립터를 갖지 않는 것에 응답하여, 하나 이상의 SBD 파일 전부가 주기에 적용된다.
본 개시내용의 양태들은 또한 세션의 미디어 데이터를 수신하기 위해 컴퓨터에 의해 실행될 때 컴퓨터로 하여금 세션에 대한 미디어 데이터를 수신하기 위한 방법들 중 어느 하나 또는 그것들의 조합을 수행하게 하는 명령어들을 저장하는 비-일시적 컴퓨터 판독가능한 매체를 제공한다.
개시된 주제의 추가의 특징들, 본질 및 다양한 이점들은 이하의 상세한 설명 및 첨부 도면들로부터 더욱 명백해질 것이다.
도 1은 본 개시내용의 실시예에 따른 예시적인 세션 기반의 하이퍼텍스트 전송 프로토콜을 통한 동적 적응 스트리밍(DASH) 시스템을 도시한다.
도 2는 본 개시내용의 실시예에 따른 다른 예시적인 세션 기반 DASH 시스템을 도시한다.
도 3은 세션 기반 DASH에 대한 필수 특성 디스크립터 속성들을 나열하는 예시적인 테이블을 도시한다.
도 4는 세션 기반 DASH에 대한 보충 특성 디스크립터 속성들을 나열하는 예시적인 테이블을 도시한다.
도 5는 일부 실시예들에 따른 프로세스 예를 개략적으로 설명하는 흐름도를 도시한다.
도 6은 실시예에 따른 컴퓨터 시스템의 개략도이다.
도 1은 본 개시내용의 실시예에 따른 예시적인 세션 기반의 하이퍼텍스트 전송 프로토콜을 통한 동적 적응 스트리밍(DASH) 시스템을 도시한다.
도 2는 본 개시내용의 실시예에 따른 다른 예시적인 세션 기반 DASH 시스템을 도시한다.
도 3은 세션 기반 DASH에 대한 필수 특성 디스크립터 속성들을 나열하는 예시적인 테이블을 도시한다.
도 4는 세션 기반 DASH에 대한 보충 특성 디스크립터 속성들을 나열하는 예시적인 테이블을 도시한다.
도 5는 일부 실시예들에 따른 프로세스 예를 개략적으로 설명하는 흐름도를 도시한다.
도 6은 실시예에 따른 컴퓨터 시스템의 개략도이다.
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 파일은 콘텐츠 액세스가능성 특징들, 등급들, 및 카메라 뷰들의 표현을 지원한다. 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 파일을 맞춤화하기 위한 명령어들을 제공한다. 그러나, 일부 관련 예들에서, 세션 기반 DASH 동작은 애플리케이션 특정적이다. 즉, 각각의 새로운 애플리케이션에 대해, 새로운 SBD 포맷이 요구된다.
본 개시내용은 모든 세션 기반 애플리케이션을 위한 단일 솔루션을 제공할 수 있는 일반화된 SBD 포맷을 제시한다.
도 1은 본 개시내용의 실시예에 따른 세션 기반 DASH 동작들(100)의 예시적인 아키텍처를 도시한다. 세션 기반 DASH 동작 아키텍처(100)에서, MPD 파일은 DASH 서버(101)(예를 들어, 콘텐츠 서버)로부터 DASH 클라이언트(102)로 송신된다. DASH 클라이언트(102)는 MPD 파일에 기초하여 DASH 서버(101)로부터 미디어 세그먼트들을 수신할 수 있다. 추가로, DASH 클라이언트(102)는 DASH 서버(101) 또는 제3자(예를 들어, 세션 컨트롤러)로부터 SBD 파일을 수신할 수 있다.
본 개시내용의 양태들에 따르면, SBD 파일은 추가 메타데이터와 함께, 복수의 시간 범위 및 대응하는 키-값 쌍(또는 이름-값 쌍)을 포함할 수 있다. SBD 파일은 예를 들어 URL에 의해 MPD 파일에서 참조될 수 있다. SBD 파일은 DASH 클라이언트(102)에 의해 수신된 MPD 파일을 DASH 클라이언트(102)의 세션에 대해 특정하도록 맞춤화하기 위해 사용될 수 있다. 예를 들어, SBD 파일은 고유한 세션 별 MPD들을 생성하지 않고도 세그먼트 URL들에 세션 별 요소들을 추가하는 것을 허용할 수 있다.
도 2는 본 개시내용의 실시예에 따른 다른 예시적인 세션 기반 DASH 동작 아키텍처(200)를 도시한다. 세션 기반 DASH 동작 아키텍처(200)에서, 멀티미디어 콘텐츠는 오디오 소스(예를 들어, 마이크로폰) 및 비디오 소스(예를 들어, 비디오 카메라)를 포함할 수 있는 콘텐츠 생성 디바이스(201)(예를 들어, 스마트폰)에 의해 준비되고 생성된다. 멀티미디어 콘텐츠는 콘텐츠 생성 디바이스(201)에 의해 저장되거나, 다양한 멀티미디어 콘텐츠를 저장할 수 있는 콘텐츠 서버(202)에 송신될 수 있다. 콘텐츠 서버(202)는 멀티미디어 콘텐츠의 하나 이상의 미디어 세그먼트에 대해, DASH 액세스 클라이언트(203)와 같은 클라이언트 디바이스로부터의 요청을 수신할 수 있다. 멀티미디어 콘텐츠는 콘텐츠 서버(202)에 의해 저장 및 업데이트될 수 있고 미디어 세그먼트들을 검색하기 위해 DASH 액세스 클라이언트(203)를 포함하는 클라이언트 디바이스들에 의해 액세스될 수 있는 MPD 파일에 의해 설명된다.
세션 특정 미디어 세그먼트를 검색하기 위해, DASH 액세스 클라이언트(203)는 SBD 클라이언트(204)에 의해 수신되고 현재 세션에 대한 복수의 시간 범위 및 대응하는 키-값 쌍들을 포함하는 SBD 파일에 액세스하기 위한 요청을 SBD 클라이언트(204)(예를 들어, 세션 클라이언트)에 송신할 수 있다. 예를 들어, DASH 액세스 클라이언트(203)는 키 이름(key name) 및 시간 범위(time range)를 SBD 클라이언트(204)에 송신할 수 있으며, 그러면 SBD 클라이언트는 키 이름 및 시간 범위를 구문분석하고, 키 이름 및 시간 범위에 대응하는 값을 DASH 액세스 클라이언트(203)에 반환한다. DASH 액세스 클라이언트(203)는 세그먼트 요청이 HTTP GET 또는 부분 GET 요청일 때 세션 특정 미디어 세그먼트를 요청하기 위해 콘텐츠 서버(202)에 송신될 수 있는 세그먼트 URL의 쿼리에 그 값을 포함시킬 수 있다.
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)는 동일한 디바이스에 포함될 수 있다.
본 개시내용의 양태들에 따르면, 다수의 SBD를 MPD에 링크하기 위해, 세션 기반 DASH에 대한 하나 이상의 필수 특성 디스크립터가 MPD 레벨에서 사용될 수 있으며, 세션 기반 DASH에 대한 각각의 필수 특성 디스크립터는 유사한 또는 동일한 필수 특성 디스크립터 속성들을 포함한다.
도 3은 본 개시내용의 일부 실시예들에 따라 MPD 레벨에서의 세션 기반 DASH에 대한 필수 특성 디스크립터 속성들을 나열하는 예시적인 테이블(300)을 도시한다. 테이블(300)에서, 속성 @schemeIdUri는 예를 들어 "urn:mpeg:dash:session-based-description:2019"로 설정되어, 테이블(300)에 나열된 필수 특성 디스크립터 속성들이 세션 기반 DASH에 대해 사용됨을 나타낸다. 예를 들어, 속성 @id는 SBD 파일을 식별하기 위해 사용되고, 따라서 @id 속성 내의 상이한 값들은 이 MPD에 대해 상이한 SBD 파일들을 식별할 수 있다. 따라서, MPD는 세션 기반 DASH에 대한 하나 이상의 필수 특성 디스크립터를 가질 수 있으며(예를 들어, 하나 이상의 테이블(300)), 그것들 각각은 상이한 SBD 파일에 대응한다. 추가로, 세션 기반 DASH에 대한 각각의 필수 특성 디스크립터 내의 속성 @value는 대응하는 SBD 파일의 URL을 나타내기 위해 사용된다. 이러한 SBD들 중 하나 이상은 주기 레벨들에서의 시그널링에 따라 세션의 임의의 순간에 활성일 수 있음에 유의해야 한다.
본 개시내용의 양태들에 따르면, 상이한 SBD들을 다양한 주기들에 적용하기 위해, 세션 기반 DASH에 대한 보충 특성 디스크립터가 주기 레벨에서 허용될 수 있다. 세션 기반 DASH에 대한 보충 특성 디스크립터는 어느 SBD 파일(들)이 주기에 적용될 수 있는지를 정의할 수 있다.
도 4는 본 개시내용의 일부 실시예에 따라 주기 레벨에서의 세션 기반 DASH에 대한 보충 특성 디스크립터 속성들을 나열하는 예시적인 테이블(400)을 도시한다. 즉, MPD 내의 각각의 주기는 이러한 보충 특성 디스크립터 테이블(400)을 가질 수 있다. 테이블(400)에서, 속성 @schemeIdUri는 예를 들어 "urn:mpeg:dash:session-based-description:2019"로 설정되어, 테이블(400)에 나열된 보충 특성 디스크립터 속성들이 세션 기반 DASH에 대해 사용됨을 나타낸다. 예를 들어, 속성 @id는 어느 SBD 파일(들)이 대응하는 주기에 적용되는지를 식별하기 위해 사용된다. 주기에 대해, 테이블(400) 내의 @id 값이 테이블(300)의 @id 값과 동일한 경우, 테이블(300) 내의 @id 값에 대응하는 SBD 파일이 주기에 적용될 수 있다. 테이블(400) 내의 @id 값이 테이블(300) 내의 임의의 @id 값과 동일하지 않은 경우, 어떠한 SBD 파일도 주기에 적용될 수 없다. 주기에 대해, 테이블(300)에서 사용된 것과 동일한 @schemeIdUri를 가진 임의의 보충 특성 디스크립터 속성이 존재하지 않는 경우, 테이블(300) 내에 나열된 모든 SBD 파일이 주기에 적용될 수 있다. 실시예에서, 이러한 SBD 파일들의 적용의 순서는 이러한 SBD 파일들에 대응하는 필수 특성 디스크립터의 순서를 따르는데, 예를 들어 확장가능한 마크업 언어(Extensible Markup Language)(XML) 포맷에서 왼쪽으로부터 오른쪽(또는 위로부터 아래)이다.
예를 들어, 테이블(300)에서, @id 값은 1 또는 2일 수 있고, @id=1은 SBD[0]에 대응하고 @id=2는 SBD[1]에 대응한다. 주기 1에 대해, 테이블(400)의 @id 값이 1로 설정되어, SBD[0]이 주기 1에 적용될 수 있음을 나타낸다. 주기 2에 대해, 테이블(400)이 존재하지 않거나, 테이블(400) 내의 @schemeIdUri 값이 테이블(300) 내의 @schemeIdUri 값과 동일하지 않고, 이는 SBD[0] 및 SBD[1] 둘 다가 주기 2에 적용될 수 있음을 나타낸다. 주기 3에 대해, 테이블(400) 내의 @id 값은 3으로 설정되고, 이는 주기 3에 SBD가 적용될 수 없음을 나타낸다.
본 개시내용의 양태들에 따라, MPD에 추가된 링킹 정보 외에, MPD와 SBD 사이의 링킹을 시그널링하기 위해 MPD에 추가되는 추가 정보는 존재하지 않는다. 링킹 정보에 기초하여, 하나 이상의 SBD가 MPD 레벨에서 @id 표시자로 설명하고 분리될 수 있다. 어느 SBD(들)가 MPD 내의 각각의 주기에 적용될 수 있는지는 주기 레벨에서 추가된 정보에 기초하여 결정된다.
실시예에서, 주기에 대해, 보충 특성 디스크립터 @schemeIdUri가 MPD 레벨에서 필수 특성 디스크립터 @schemeIdUri와 동일하지 않은 경우, 필수 특성 디스크립터 @id 및 @value에 대응하는 모든 SBD가 주기에 적용될 수 있다. 보충 특성 디스크립터 @schemeIdUri가 MPD 레벨에서 필수 특성 디스크립터 @schemeIdUri와 동일한 경우, 하나 이상의 SBD가 주기에 적용될 수 있다. 예에서, 주기의 보충 특성 디스크립터들 내의 주기 요소 @id가 MPD 필수 특성 디스크립터들에 나열된 @id 값들 중 하나와 동일한 경우, 주기 요소 @id에 대응하는 SBD가 주기에 적용될 수 있다. 예에서, 주기의 보충 특성 디스크립터들 내의 주기 요소 @id가 MPD 필수 특성 디스크립터들 내에 나열된 @id 값들 중 어느 것과도 동일하지 않은 경우, 어떠한 SBD도 주기에 적용될 수 없다.
본 개시내용의 양태들에 따르면, 하나 이상의 SBD 파일이 주기에 적용될 때, 하나 이상의 SBD 파일이 그 주기 동안 요청에 적용될 수 있다. 예를 들어, 요청은 세그먼트 요청, MPD 업데이트 요청 또는 XML 링킹 언어(XLINK) 요청일 수 있다. 각각의 SBD 파일의 하나 이상의 키-값 쌍은 요청의 URL의 쿼리에 첨부되거나 요청의 HTTP 헤더에 포함될 수 있다. 요청은 예에서 DASH 클라이언트(102)로부터 DASH 서버(101)로 송신될 수 있거나, 다른 예에서 DASH 액세스 클라이언트(203)로부터 콘텐츠 서버(202)로 송신될 수 있다.
실시예에서, 다수의 SBD 파일이 요청에 적용될 때, 다수의 SBD 파일은 미리 정의된 순서에 따라, 예를 들어 XML 포맷에서 왼쪽으로부터 오른쪽으로, 또는 위로부터 아래로 적용된다.
Ⅲ. 흐름도
도 5는 본 개시내용의 실시예에 따른 프로세스(500)를 개략적으로 설명하는 흐름도를 도시한다. 다양한 실시예들에서, 프로세스(500)는 DASH 클라이언트(102) 내의 프로세싱 회로, DASH 액세스 클라이언트(203) 내의 프로세싱 회로, SBD 클라이언트(204) 내의 프로세싱 회로, 및 그와 유사한 것과 같은 프로세싱 회로에 의해 실행된다. 일부 실시예들에서, 프로세스(500)는 소프트웨어 명령어들로 구현되므로, 프로세싱 회로가 소프트웨어 명령어들을 실행할 때, 프로세싱 회로는 프로세스(500)를 수행한다. 프로세스(500)는 (S510)에서 시작하며, 여기서 프로세스(500)는 MPD 파일 및 하나 이상의 SBD 파일을 수신한다. MPD 파일은 세션 기반 DASH에 대한 하나 이상의 필수 특성 디스크립터를 포함한다. 세션 기반 DASH에 대한 하나 이상의 필수 특성 디스크립터 각각은 하나 이상의 SBD 파일 중의 상이한 SBD 파일에 연관된다. 실시예에서, 세션 기반 DASH에 대한 하나 이상의 필수 특성 디스크립터 각각은 연관된 SBD 파일을 식별하는 ID 값을 포함한다. 다음으로, 프로세스(500)는 단계(S520)로 진행한다.
단계(S520)에서, 프로세스(500)는 MPD 파일 내의 주기에 대해, 주기가 세션 기반 DASH에 대한 보충 특성 디스크립터를 갖는지를 결정한다. 주기가 세션 기반 DASH에 대한 보충 특성 디스크립터를 갖지 않는 것으로 결정될 때, 프로세스(500)는 단계(S530)로 진행한다. 그렇지 않으면, 프로세스(500)는 단계(S540)로 진행한다.
단계(S530)에서, 프로세스(500)는 하나 이상의 SBD 파일 전부를 주기에 적용한다.
단계(S540)에서, 프로세스(500)는 세션 기반 DASH에 대한 보충 특성 디스크립터 내의 ID 값이 세션 기반 DASH에 대한 하나 이상의 필수 특성 디스크립터 중 하나에 포함되는지를 결정한다. 세션 기반 DASH에 대한 보충 특성 디스크립터 내의 ID 값이 세션 기반 DASH에 대한 하나 이상의 필수 특성 디스크립터 중 하나에 포함된 것으로 결정되는 경우, 프로세스(500)는 단계(S550)로 진행한다. 그렇지 않으면, 프로세스(500)는 단계(S560)로 진행한다.
단계(S550)에서, 프로세스(500)는 세션 기반 DASH에 대한 하나 이상의 필수 특성 디스크립터 내의 ID 값에 연관된 하나의 SBD 파일을 주기에 적용한다.
단계(S560)에서, 프로세스(500)는 하나 이상의 SBD 파일 중 어느 것도 주기에 적용되지 않을 것임을 결정한다.
다음으로, 프로세스(500)가 종료된다.
실시예에서, 세션 기반 DASH에 대한 하나 이상의 필수 특성 디스크립터 각각은 연관된 SBD 파일에 대한 유니폼 리소스 로케이터(URL) 주소를 나타내는 속성을 포함한다.
실시예에서, 세션 기반 DASH에 대한 하나 이상의 필수 특성 디스크립터 각각은 개별 필수 특성 디스크립터가 세션 기반 DASH에 사용됨을 나타내는 속성을 포함하고, 세션 기반 DASH에 대한 보충 특성 디스크립터는 보충 특성 디스크립터가 세션 기반 DASH에 대해 사용됨을 나타내는 속성을 포함한다.
실시예에서, 프로세싱 회로는 하나 이상의 SBD 파일의 미리 정의된 순서에 기초하여 주기에 연관된 요청에 하나 이상의 SBD 파일 전부를 적용한다.
Ⅳ. 컴퓨터 시스템
위에서 설명된 기술은 컴퓨터 판독가능한 명령어들을 사용하며 하나 이상의 컴퓨터 판독가능한 매체에 물리적으로 저장되는 컴퓨터 소프트웨어로서 구현될 수 있다. 예를 들어, 도 6은 개시된 주제의 특정 실시예들을 구현하기에 적합한 컴퓨터 시스템(600)을 도시한다.
컴퓨터 소프트웨어는 하나 이상의 컴퓨터 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU) 및 그와 유사한 것에 의해 직접적으로, 또는 해석, 마이크로코드 실행 및 그와 유사한 것을 통해 실행될 수 있는 명령어들을 포함하는 코드를 생성하기 위해, 어셈블리, 컴파일, 링크 또는 유사한 메커니즘들에 종속될 수 있는, 임의의 적합한 기계 코드 또는 컴퓨터 언어를 사용하여 코딩될 수 있다.
명령어들은 예를 들어 개인용 컴퓨터, 태블릿 컴퓨터, 서버, 스마트폰, 게임 디바이스, 사물 인터넷 디바이스, 및 그와 유사한 것을 포함하는 다양한 타입의 컴퓨터들 또는 그것의 컴포넌트들에서 실행될 수 있다.
컴퓨터 시스템(600)에 대해 도 6에 도시된 컴포넌트들은 본질적으로 예시적이며, 본 개시내용의 실시예들을 구현하는 컴퓨터 소프트웨어의 사용 또는 기능의 범위에 대한 어떠한 제한도 시사하도록 의도된 것이 아니다. 또한, 컴포넌트들의 구성은 컴퓨터 시스템(600)의 예시적인 실시예에 예시된 컴포넌트들 중 어느 하나 또는 그것들의 조합에 관련된 임의의 종속성 또는 요건을 갖는 것으로 해석되어서는 안 된다.
컴퓨터 시스템(600)은 특정의 인간 인터페이스 입력 디바이스들을 포함할 수 있다. 이러한 인간 인터페이스 입력 디바이스는 예를 들어 촉각 입력(예를 들어, 키스트로크, 스와이프, 데이터 글러브 움직임), 오디오 입력(예를 들어, 음성, 박수), 시각적 입력(예를 들어, 제스처), 후각 입력(도시되지 않음)을 통한 한 명 이상의 인간 사용자에 의한 입력에 응답할 수 있다. 인간 인터페이스 디바이스들은 또한 오디오(예를 들어, 음성, 음악, 주변 음향), 이미지(예를 들어, 스캐닝된 이미지, 스틸 이미지 카메라로부터 획득된 사진 이미지), 비디오(예를 들어, 2차원 비디오, 입체 비디오를 포함한 3차원 비디오)와 같이, 반드시 인간의 의식적 입력에 직접 관련이 있는 것은 아닌 특정 미디어를 캡처하기 위해 사용될 수 있다.
입력 인간 인터페이스 디바이스들은 키보드(601), 마우스(602), 트랙패드(603), 터치 스크린(610), 데이터 글러브(도시되지 않음), 조이스틱(605), 마이크로폰(606), 스캐너(607), 및 카메라(608) 중 하나 이상을 포함할 수 있다(각각의 것은 단 하나만이 도시됨).
컴퓨터 시스템(600)은 또한 특정한 인간 인터페이스 출력 디바이스들을 포함할 수 있다. 이러한 인간 인터페이스 출력 디바이스들은 예를 들어 촉각 출력, 음향, 광 및 냄새/맛을 통해 한 명 이상의 인간 사용자의 감각을 자극할 수 있다. 이러한 인간 인터페이스 출력 디바이스들은 촉각 출력 디바이스들(예를 들면, 터치 스크린(610), 데이터 글러브(도시되지 않음) 또는 조이스틱(605)에 의한 촉각 피드백이지만, 입력 디바이스의 역할을 하지 않는 촉각 피드백 디바이스들도 존재할 수 있음), 오디오 출력 디바이스들(예를 들어, 스피커(609), 헤드폰(도시되지 않음)), 시각적 출력 디바이스들(예를 들어, CRT 스크린, LCD 스크린, 플라즈마 스크린, OLED 스크린을 포함하는 스크린(610) - 각각은 터치스크린 입력 능력을 갖거나 갖지 않고, 각각은 촉각 피드백 능력을 갖거나 갖지 않고, 그들 중 일부는 2차원 시각적 출력 또는 스테레오그래픽 출력과 같은 수단을 통한 3차원 이상의 출력을 출력할 수 있음 - ; 가상 현실 안경(도시되지 않음), 홀로그래픽 디스플레이 및 스모크 탱크(도시되지 않음)), 및 프린터(도시되지 않음)를 포함할 수 있다. 이러한 시각적 출력 디바이스들(예를 들어, 스크린(610))은 그래픽 어댑터(650)를 통해 시스템 버스(648)에 연결될 수 있다.
컴퓨터 시스템(600)은 또한 CD/DVD 또는 유사 매체(621)를 갖는 CD/DVD ROM/RW(620)를 포함하는 광학 매체, 썸-드라이브(622), 이동식 하드 드라이브 또는 고체 상태 드라이브(623), 테이프 및 플로피 디스크와 같은 레거시 자기 매체(도시되지 않음), 보안 동글과 같은 특수화된 ROM/ASIC/PLD 기반 디바이스(도시되지 않음), 및 그와 유사한 것과 같은, 인간이 액세스할 수 있는 저장 디바이스들 및 그들의 연관된 매체를 포함할 수 있다.
본 기술분야의 통상의 기술자는 또한 현재 개시된 주제와 관련하여 사용되는 "컴퓨터 판독가능한 매체"라는 용어가 전송 매체, 반송파 또는 다른 일시적인 신호를 포괄하지 않는다는 것을 이해해야 한다.
컴퓨터 시스템(600)은 또한 하나 이상의 통신 네트워크(655)에 대한 네트워크 인터페이스(654)를 포함할 수 있다. 하나 이상의 통신 네트워크(655)는 예를 들어 무선, 유선, 광학적일 수 있다. 하나 이상의 통신 네트워크(655)는 또한 로컬, 광역, 대도시, 차량 및 산업, 실시간, 지연 허용 등일 수 있다. 하나 이상의 통신 네트워크(655)의 예들은 이더넷, 무선 LAN과 같은 근거리 통신망, GSM, 3G, 4G, 5G, LTE 및 그와 유사한 것을 포함하는 셀룰러 네트워크, 케이블 TV, 위성 TV 및 지상파 방송 TV를 포함하는 TV 유선 또는 무선 광역 디지털 네트워크, CANBus를 포함하는 차량 및 산업용 등을 포함한다. 특정 네트워크들은 일반적으로 특정 범용 데이터 포트들 또는 주변장치 버스들(649)(예컨대, 예를 들어 컴퓨터 시스템(600)의 USB 포트들)에 부착된 외부 네트워크 인터페이스 어댑터들을 필요로 하는 한편, 다른 것들은 일반적으로 아래에 설명되는 것과 같은 시스템 버스에의 부착에 의해 컴퓨터 시스템(600)의 코어에 통합된다(예를 들어, PC 컴퓨터 시스템에 대한 이더넷 인터페이스, 또는 스마트폰 컴퓨터 시스템에 대한 셀룰러 네트워크 인터페이스). 컴퓨터 시스템(600)은 이러한 네트워크들 중 임의의 것을 사용하여 다른 엔티티들과 통신할 수 있다. 이러한 통신은 단방향, 수신 전용(예를 들어, 방송 TV), 단방향 송신 전용(예를 들어, CANbus로부터 특정 CANbus 디바이스들로), 또는 예를 들어 근거리 또는 광역 디지털 네트워크를 사용하여 다른 컴퓨터 시스템들에 대해 양방향일 수 있다. 위에서 설명된 바와 같이, 이러한 네트워크들 및 네트워크 인터페이스들 각각에서 특정 프로토콜들 및 프로토콜 스택들이 사용될 수 있다.
앞에서 언급된 인간 인터페이스 디바이스들, 인간 액세스가능한 저장 디바이스들, 및 네트워크 인터페이스들은 컴퓨터 시스템(600)의 코어(640)에 부착될 수 있다.
코어(640)는 하나 이상의 중앙 처리 장치(CPU)(641), 그래픽 처리 장치(GPU)(642), 필드 프로그래밍가능한 게이트 어레이(Field Programmable Gate Array)(FPGA) 형태의 특수화된 프로그래밍가능한 프로세싱 유닛들(643), 특정 작업들을 위한 하드웨어 가속기들(644) 등을 포함할 수 있다. 이러한 디바이스들은 판독 전용 메모리(ROM)(645), 랜덤 액세스 메모리(646), 내부 비-사용자 액세스가능한 하드 드라이브, SSD 및 그와 유사한 것과 같은 내부 대용량 저장소(647)와 함께, 시스템 버스(648)를 통해 연결될 수 있다. 일부 컴퓨터 시스템들에서, 시스템 버스(648)는 추가의 CPU들, GPU 및 그와 유사한 것에 의한 확장들을 가능하게 하기 위해 하나 이상의 물리적 플러그의 형태로 액세스가능할 수 있다. 주변 디바이스들은 코어의 시스템 버스(648)에 직접, 또는 주변장치 버스(649)를 통해 부착될 수 있다. 주변장치 버스를 위한 아키텍처들은 PCI, USB, 및 그와 유사한 것을 포함한다.
CPU들(641), GPU들(642), FPGA들(643) 및 가속기들(644)은, 조합하여 앞에서 언급된 컴퓨터 코드를 구성할 수 있는 특정 명령어들을 실행할 수 있다. 그 컴퓨터 코드는 ROM(645) 또는 RAM(646)에 저장될 수 있다. 과도적 데이터가 또한 RAM(646)에 저장될 수 있는 반면, 영구적 데이터는 예를 들어 내부 대용량 저장소(647)에 저장될 수 있다. 메모리 디바이스들 중 임의의 것에 대한 빠른 저장 및 검색은 하나 이상의 CPU(641), GPU(642), 대용량 저장소(647), ROM(645), RAM(646) 및 그와 유사한 것에 밀접하게 연관될 수 있는 캐시 메모리의 사용을 통해 가능해질 수 있다.
컴퓨터 판독가능한 매체는 다양한 컴퓨터 구현 동작들을 수행하기 위한 컴퓨터 코드를 가질 수 있다. 매체 및 컴퓨터 코드는 본 개시내용의 목적을 위해 특별히 설계되고 구성된 것들일 수 있거나, 컴퓨터 소프트웨어 분야의 기술자들에게 널리 공지되어 있고 그들이 이용할 수 있는 종류의 것들일 수 있다.
제한이 아닌 예로서, 아키텍처(600) 및 특히 코어(640)를 갖는 컴퓨터 시스템은 프로세서(들)(CPU, GPU, FPGA, 가속기, 및 그와 유사한 것을 포함함)가 하나 이상의 유형의(tangible) 컴퓨터 판독가능한 매체에 구현된 소프트웨어를 실행한 것의 결과로서 기능을 제공할 수 있다. 이러한 컴퓨터 판독가능한 매체는 위에서 소개된 사용자 액세스가능한 대용량 저장소에 연관된 매체는 물론, 코어 내부 대용량 저장소(647) 또는 ROM(645)과 같은 비-일시적 특성을 갖는 코어(640)의 특정 저장소일 수 있다. 본 개시내용의 다양한 실시예들을 구현하는 소프트웨어는 이러한 디바이스들에 저장되고 코어(640)에 의해 실행될 수 있다. 컴퓨터 판독가능한 매체는 특정 요구들에 따라 하나 이상의 메모리 디바이스 또는 칩을 포함할 수 있다. 소프트웨어는, 코어(640) 및 특히 그 안의 프로세서들(CPU, GPU, FPGA, 및 그와 유사한 것을 포함함)로 하여금, RAM(646)에 저장되는 데이터 구조들을 정의하고 소프트웨어에 의해 정의된 프로세스들에 따라 이러한 데이터 구조들을 수정하는 것을 포함하여, 여기에 설명된 특정 프로세스들 또는 특정 프로세스들의 특정 부분들을 실행하게 할 수 있다. 추가적으로 또는 대안적으로, 컴퓨터 시스템은 여기에 설명된 특정 프로세스들 또는 특정 프로세스들의 특정 부분들을 실행하기 위해, 소프트웨어를 대신하여 또는 소프트웨어와 함께 동작할 수 있는, 회로(예를 들어, 가속기(644)) 내에 고정배선되거나 다르게 구현된 로직의 결과로서 기능을 제공할 수 있다. 소프트웨어에 대한 참조는 로직을 포괄할 수 있으며, 적절한 경우 그 반대도 마찬가지이다. 컴퓨터 판독가능한 매체에 대한 참조는 실행을 위한 소프트웨어를 저장하는 회로(예를 들어, 집적 회로(IC)), 실행을 위한 로직을 구현하는 회로, 또는 적절한 경우 둘 다를 포괄할 수 있다. 본 개시내용은 하드웨어 및 소프트웨어의 임의의 적절한 조합을 포괄한다.
본 개시내용은 수 개의 예시적인 실시예를 설명했지만, 본 개시내용의 범위 내에 속하는 변경, 순열, 및 다양한 대체 등가물이 존재한다. 따라서, 본 기술분야의 통상의 기술자들은 본 명세서에 명시적으로 도시되거나 설명되지는 않았지만, 본 개시내용의 원리를 구현하고 따라서 그 사상 및 범위 내에 있는 수많은 시스템들 및 방법들을 생각해낼 수 있다는 것을 이해할 것이다.
Claims (20)
- 프로세싱 회로에 의해 수행되는, 세션의 미디어 데이터를 수신하기 위한 방법으로서,
미디어 프레젠테이션 디스크립션(media presentation description)(MPD) 파일 및 하나 이상의 세션 기반 디스크립션(session-based description)(SBD) 파일을 수신하는 단계 - 상기 MPD 파일은 세션 기반의 하이퍼텍스트 전송 프로토콜을 통한 동적 적응 스트리밍(dynamic adaptive streaming over hypertext transfer protocol)(DASH)에 대한 하나 이상의 필수 특성 디스크립터(essential property descriptor) 및 하나 이상의 주기(period)를 포함하고, 상기 세션 기반 DASH에 대한 하나 이상의 필수 특성 디스크립터 각각은 상기 하나 이상의 SBD 파일 중의 상이한 SBD 파일에 연관되고, 상기 하나 이상의 주기 각각은 상이한 시작 시간과 연관됨 - ;
상기 MPD 파일 내의 상기 하나 이상의 주기 중 하나의 주기에 대해, 세션 기반 DASH에 대한 보충 특성 디스크립터(supplemental property descriptor)가 상기 하나 이상의 주기 중 상기 하나의 주기에 대해 상기 MPD 파일 내에 포함되는 필수 특성 디스크립터와 동일한 식별 (ID) 값을 갖는지를 결정하는 단계; 및
세션 기반 DASH에 대한 보충 특성 디스크립터가 상기 하나 이상의 주기 중 상기 하나의 주기에 대해 상기 MPD 파일 내에 포함되는 필수 특성 디스크립터와 동일한 식별 값을 갖는지에 대한 결정에 응답하여 상기 하나 이상의 주기 중 상기 하나의 주기에 SBD 파일을 적용할지를 결정하는 단계
를 포함하는 방법. - 제1항에 있어서, 상기 세션 기반 DASH에 대한 하나 이상의 필수 특성 디스크립터 각각은 연관된 SBD 파일을 식별하는 ID 값을 포함하는, 방법.
- 제2항에 있어서,
상기 결정은 상기 하나 이상의 주기 중 상기 하나의 주기에 대한 상기 MPD 파일 내에 세션-기반 DASH에 대한 적어도 하나의 보충 특성 디스크립터가 존재한다는 결정에 응답하여 수행되는, 방법. - 제1항에 있어서,
상기 하나 이상의 주기 중 상기 하나의 주기에 SBD 파일을 적용할지를 결정하는 단계는:
세션 기반 DASH에 대한 보충 특성 디스크립터가 상기 하나 이상의 주기 중 상기 하나의 주기에 대해 상기 MPD 파일 내에 포함되는 필수 특성 디스크립터와 동일한 식별 값을 가진다는 결정에 응답하여, 상기 하나 이상의 주기 중 상기 하나의 주기에 상기 MPD 파일 내에 포함된 상기 필수 특성 디스크립터의 상기 식별 값에 연관된 SBD 파일을 적용하도록 결정하는 단계를 포함하는, 방법. - 제1항에 있어서,
상기 하나 이상의 주기 중 상기 하나의 주기에 SBD 파일을 적용할지를 결정하는 단계는:
세션 기반 DASH에 대한 보충 특성 디스크립터가 상기 하나 이상의 주기 중 상기 하나의 주기에 대해 상기 MPD 파일 내에 포함되는 필수 특성 디스크립터와 동일한 식별 값을 가지지 않는다는 결정에 응답하여, 상기 하나 이상의 주기 중 상기 하나의 주기에 SBD 파일이 적용되지 않는다고 결정하는 단계를 포함하는, 방법. - 제1항에 있어서, 상기 세션 기반 DASH에 대한 하나 이상의 필수 특성 디스크립터 각각은 연관된 SBD 파일에 대한 유니폼 리소스 로케이터(uniform resource locator)(URL) 주소를 나타내는 속성(attribute)을 포함하는, 방법.
- 제1항에 있어서,
상기 세션 기반 DASH에 대한 하나 이상의 필수 특성 디스크립터 각각은 개별 필수 특성 디스크립터가 세션 기반 DASH에 대해 사용됨을 나타내는 속성을 포함하고,
세션 기반 DASH에 대한 각 보충 특성 디스크립터는, 상기 각 보충 특성 디스크립터가 세션 기반 DASH에 대해 사용됨을 나타내는 속성을 포함하는, 방법. - 제1항에 있어서,
세션 기반 DASH에 대한 보충 특성 디스크립터가 상기 하나 이상의 주기 중 상기 하나의 주기에 대해 상기 MPD 파일 내에 존재하지 않는다는 결정에 응답하여, 상기 하나 이상의 SBD 파일의 미리 정의된 순서에 기초하여 상기 하나 이상의 SBD 파일 전부를 상기 하나 이상의 주기 중 상기 하나의 주기에 연관된 요청에 적용하는 단계
를 더 포함하는 방법. - 세션의 미디어 데이터를 수신하기 위한 장치로서,
제1항 내지 제8항 중 어느 한 항의 방법을 수행하도록 구성된 프로세싱 회로를 포함하는, 장치. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 명령어들을 저장하는 비-일시적 컴퓨터 판독가능한 매체로서,
상기 명령어들은 세션의 미디어 데이터를 수신하기 위해 컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금 제1항 내지 제8항 중 어느 한 항의 방법을 수행하게 하는 - 상기 컴퓨터는 프로세싱 회로를 포함함 -, 비-일시적 컴퓨터 판독가능한 매체. - 삭제
- 삭제
- 삭제
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962908251P | 2019-09-30 | 2019-09-30 | |
US62/908,251 | 2019-09-30 | ||
US17/029,948 | 2020-09-23 | ||
US17/029,948 US11616822B2 (en) | 2019-09-30 | 2020-09-23 | Session-based information for dynamic adaptive streaming over HTTP |
PCT/US2020/052804 WO2021067139A1 (en) | 2019-09-30 | 2020-09-25 | Session-based information for dynamic adaptive streaming over http |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210130805A KR20210130805A (ko) | 2021-11-01 |
KR102632387B1 true KR102632387B1 (ko) | 2024-02-02 |
Family
ID=75162337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217031589A KR102632387B1 (ko) | 2019-09-30 | 2020-09-25 | Http를 통한 동적 적응 스트리밍을 위한 세션 기반 정보 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11616822B2 (ko) |
EP (1) | EP4038859A4 (ko) |
JP (1) | JP7182727B2 (ko) |
KR (1) | KR102632387B1 (ko) |
CN (2) | CN113748659B (ko) |
WO (1) | WO2021067139A1 (ko) |
Families Citing this family (5)
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 |
US11470136B2 (en) * | 2020-10-07 | 2022-10-11 | Tencent America LLC | URL customization using the session-based dash operations |
US11895172B2 (en) * | 2021-04-21 | 2024-02-06 | Tencent America LLC | Session-based description URL customization using the session-based DASH operations |
US11888913B2 (en) * | 2021-04-28 | 2024-01-30 | Lemon Inc. | External stream representation properties |
CN118044199A (zh) * | 2021-10-01 | 2024-05-14 | 字节跳动有限公司 | 用于视频处理的方法、装置和介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9590814B2 (en) * | 2011-08-01 | 2017-03-07 | Qualcomm Incorporated | Method and apparatus for transport of dynamic adaptive streaming over HTTP (DASH) initialization segment description fragments as user service description fragments |
EP2850845A1 (en) * | 2012-07-09 | 2015-03-25 | Huawei Technologies Co., Ltd. | Dynamic adaptive streaming over http client behavior framework and implementation of session management |
US9866608B2 (en) * | 2014-03-24 | 2018-01-09 | Qualcomm Incorporated | Processing continuous multi-period content |
JP6610553B2 (ja) * | 2014-10-10 | 2019-11-27 | ソニー株式会社 | 受信装置、受信方法、送信装置、及び、送信方法 |
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 |
CN107683607A (zh) * | 2015-06-12 | 2018-02-09 | 索尼公司 | 信息处理设备和信息处理方法 |
CN112019883B (zh) * | 2015-07-06 | 2022-04-22 | Lg电子株式会社 | 发送广播信号的方法和设备及接收广播信号的方法和设备 |
US11709799B2 (en) * | 2015-08-29 | 2023-07-25 | Vmware, Inc. | Content or file based application virtualization using a cache |
WO2018087275A1 (en) * | 2016-11-11 | 2018-05-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Content-aware optimized delivery of personalized ads in a cdn |
JP7085816B2 (ja) * | 2017-09-26 | 2022-06-17 | キヤノン株式会社 | 情報処理装置、情報提供装置、制御方法、及びプログラム |
US11323757B2 (en) * | 2018-03-29 | 2022-05-03 | Sony Group Corporation | Information processing apparatus, information processing method, and program |
-
2020
- 2020-09-23 US US17/029,948 patent/US11616822B2/en active Active
- 2020-09-25 KR KR1020217031589A patent/KR102632387B1/ko active IP Right Grant
- 2020-09-25 EP EP20871018.6A patent/EP4038859A4/en active Pending
- 2020-09-25 WO PCT/US2020/052804 patent/WO2021067139A1/en unknown
- 2020-09-25 JP JP2021554631A patent/JP7182727B2/ja active Active
- 2020-09-25 CN CN202080027580.7A patent/CN113748659B/zh active Active
- 2020-09-25 CN CN202310266254.7A patent/CN116366616A/zh active Pending
-
2021
- 2021-12-21 US US17/558,075 patent/US11785067B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11785067B2 (en) | 2023-10-10 |
CN116366616A (zh) | 2023-06-30 |
CN113748659A (zh) | 2021-12-03 |
EP4038859A4 (en) | 2023-07-12 |
JP7182727B2 (ja) | 2022-12-02 |
WO2021067139A1 (en) | 2021-04-08 |
EP4038859A1 (en) | 2022-08-10 |
JP2022525298A (ja) | 2022-05-12 |
KR20210130805A (ko) | 2021-11-01 |
CN113748659B (zh) | 2023-01-31 |
US11616822B2 (en) | 2023-03-28 |
US20220116442A1 (en) | 2022-04-14 |
US20210099508A1 (en) | 2021-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102632387B1 (ko) | Http를 통한 동적 적응 스트리밍을 위한 세션 기반 정보 | |
KR102705349B1 (ko) | Http 동적 적응 스트리밍을 위한 방법들 및 장치들 | |
KR102495551B1 (ko) | Http를 통한 동적 적응 스트리밍을 위한 세션 기반 정보 | |
US11418561B2 (en) | Remote link validity interval in media streaming | |
KR102636993B1 (ko) | Http를 통한 동적 적응적 스트리밍을 위한 방법 및 장치 | |
KR20210141598A (ko) | Http를 통한 동적 적응 스트리밍을 위한 세션 기반 정보 | |
KR102635891B1 (ko) | 세션 기반 dash 동작들을 위한 패턴 주소 지정 | |
KR20220129622A (ko) | Http를 통한 동적 적응 스트리밍을 위한 방법들 및 장치들 | |
KR102659938B1 (ko) | Http를 통한 동적 적응 스트리밍을 위한 방법 및 장치 | |
KR102718059B1 (ko) | Http를 통한 동적 적응 스트리밍을 위한 방법들 및 장치들 | |
KR20220131976A (ko) | Http를 통한 동적 적응 스트리밍을 위한 방법들 및 장치들 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |