KR102249173B1 - 시간지정된 미디어 데이터의 스트리밍 동안의 렌더링 디스플레이를 개선하기 위한 방법, 디바이스, 및 컴퓨터 프로그램 - Google Patents

시간지정된 미디어 데이터의 스트리밍 동안의 렌더링 디스플레이를 개선하기 위한 방법, 디바이스, 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102249173B1
KR102249173B1 KR1020197012331A KR20197012331A KR102249173B1 KR 102249173 B1 KR102249173 B1 KR 102249173B1 KR 1020197012331 A KR1020197012331 A KR 1020197012331A KR 20197012331 A KR20197012331 A KR 20197012331A KR 102249173 B1 KR102249173 B1 KR 102249173B1
Authority
KR
South Korea
Prior art keywords
quality
delete delete
media
information
media content
Prior art date
Application number
KR1020197012331A
Other languages
English (en)
Other versions
KR20190054165A (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 캐논 가부시끼가이샤
Priority to KR1020217013207A priority Critical patent/KR102286881B1/ko
Publication of KR20190054165A publication Critical patent/KR20190054165A/ko
Application granted granted Critical
Publication of KR102249173B1 publication Critical patent/KR102249173B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing 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
    • 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/262Content 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
    • 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/262Content 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/26258Content 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
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/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/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

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

Abstract

발명은 서버 장치와 클라이언트 장치 사이의, 이미지들을 포함하는 시간지정된 미디어 데이터의 스트리밍 동안의 렌더링 디스플레이를 개선시키는 것에 관한 것이다. 시간지정된 미디어 데이터의 이미지의 부분들 사이의 품질 격차에 관련된 품질 정보를 획득한 후에, 적어도 부분적으로 디스플레이되어야 할 이미지의 적어도 제1 부분 및 제2 부분에 속하는 데이터의 적어도 제1 항목 및 제2 항목이 각각 송신되고, 데이터의 제1 항목 및 제2 항목들에 대응하는 이미지의 부분들 사이의 품질 격차는 획득된 품질 정보에 순응한다.

Description

시간지정된 미디어 데이터의 스트리밍 동안의 렌더링 디스플레이를 개선하기 위한 방법, 디바이스, 및 컴퓨터 프로그램
발명은 일반적으로, 통신 네트워크들, 예를 들어, 비디오 데이터를 원래의 비디오의 주어진 공간적 에어리어(spatial area)에 대응하는 공간시간적 샘플(spatiotemporal sample)들의 세트들로서 송신하는 것을 가능하게 하는 인터넷 프로토콜(Internet Protocol)(IP) 표준을 준수하는 통신 네트워크들 상에서의 시간지정된 미디어 데이터 스트리밍(timed media data streaming)의 분야에 관한 것이다. 더 상세하게는, 발명은 시간지정된 미디어 데이터의 스트리밍 동안의 렌더링 디스플레이(rendering display)를 개선하기 위한 방법들, 디바이스들, 및 컴퓨터 프로그램들에 관한 것이다.
비디오 코딩은 비디오 이미지들이 송신될 수 있거나 저장될 수 있도록, 일련의 비디오 이미지들을 간결한 디지털화된 비트-스트림으로 변환하는 방법이다. 인코딩 디바이스는 비디오 이미지들을 코딩하기 위하여 이용되고, 연관된 디코딩 디바이스는 비디오 이미지들을 디스플레이하기 위한 비트-스트림을 재구성하기 위하여 이용가능하다. 일반적인 목적은 원래의 비디오 정보보다 더 작은 크기가 되도록 비트-스트림을 형성하기 위한 것이다. 이것은 유리하게도, 비트-스트림 코드를 송신하거나 저장하기 위하여, 통신 네트워크 또는 저장 디바이스에 대하여 요구된 용량을 감소시킨다. 송신되도록 하기 위하여, 비디오 비트-스트림 또는 비디오 스트림은 일반적으로, 헤더(header)들, 설명적 메타데이터(descriptive metadata), 및 체크 비트(check bit)들을 전형적으로 추가하는 송신 프로토콜에 따라 캡슐화(encapsulate)된다. 압축된 비트-스트림의 이 개념은 비디오 뿐만 아니라, 오디오 및 궁극적으로 메타데이터와 같은 다른 미디어 유형들에도 적용된다. "미디어 스트림(media stream)"은 임의의 특정 미디어 유형을 타겟화하지 않는다.
통신 네트워크 상에서 미디어 데이터를 스트리밍하는 것은 전형적으로, 미디어 프리젠테이션(media presentation)을 표현하는 데이터가 통신 네트워크 상에서 서버 장치로서 지칭된 호스트 컴퓨터에 의해, 클라이언트 장치로서 지칭된 재생 디바이스(playback device)에 제공된다는 것을 의미한다. 클라이언트 장치는 일반적으로, 데스크톱 개인용 컴퓨터(Personal Computer)(PC), 태블릿 PC, 노트북 또는 휴대용 컴퓨터, 셀룰러 전화, 무선 핸드헬드 디바이스(wireless handheld device), 개인 정보 단말(personal digital assistant)(PDA), 게이밍 콘솔(gaming console), 또는 헤드-장착형 디스플레이(head-mounted display)와 같은 다양한 기존의 컴퓨팅 디바이스들 중의 임의의 것으로서 구현된 미디어 재생 컴퓨터이다. 클라이언트 장치는 전형적으로, (전달되어야 할 전체 파일을 대기하는 것이 아니라) 스트리밍된 컨텐츠가 호스트로부터 수신될 때에 스트리밍된 컨텐츠를 렌더링한다.
미디어 프리젠테이션은 일반적으로, 클라이언트 장치에 의해 공동으로 플레이되도록 하기 위하여 서버 장치로부터 클라이언트 장치로 전송될 수 있는 오디오, 비디오, 텍스트, 메타데이터, 및/또는 서브타이틀(subtitle)들과 같은 몇몇 미디어 컴포넌트(media component)들을 포함한다. 그 미디어 컴포넌트들은 전형적으로 별도의 미디어 스트림들로 개별적으로 인코딩되고, 다음으로, 그것들은 함께 또는 개별적으로 중의 어느 하나로 다수의 미디어 세그먼트(media segment)들로 캡슐화되고, 클라이언트 장치에 의해 공동으로 플레이되도록 하기 위하여 서버 장치로부터 클라이언트 장치로 전송된다.
보편적인 실무는 클라이언트 장치가 그 특성들(예컨대, 해상도, 컴퓨팅 파워, 및 대역폭)의 함수로서 하나의 버전(version)을 선택할 수 있도록, 동일한 미디어 컴포넌트의 몇몇 버전들에 대한 액세스를 부여하는 것을 목표로 한다. 현존하는 독점적인 해결책들에 따르면, 대안적인 버전들의 각각이 설명되고, 미디어 데이터는 작은 시간적 세그먼트들로 세그먼트화된다.
HTTP 상에서의 동적 및 적응적 스트리밍의 상황에서, DASH(Dynamic Adaptive Streaming over HTTP)(HTTP 상에서의 동적 적응적 스트리밍)로 칭해진 표준이 MPEG 표준화 위원회("ISO/IEC 23009-1, Dynamic adaptive streaming over HTTP (DASH), Part1: Media presentation description and segment formats")로부터 등장하였다. 이 표준은 HTTP 균일 자원 위치(HTTP Uniform Resource Location)(URL)들과의 미디어 프리젠테이션의 미디어 컨텐츠의 간결한 설명의 연관성을 가능하게 한다. 이러한 연관성은 전형적으로 매니페스트 파일(manifest file) 또는 설명 파일(description file)로 칭해진 파일에서 설명된다. DASH의 상황에서, 이 매니페스트 파일은 MPD(Media Presentation Description)(미디어 프리젠테이션 설명) 파일로 또한 칭해진 XML 파일이다. XML 파일을 또한 이용하는 평탄한 스트리밍(Smooth Streaming), 또는 플레이리스트(playlist)로 또한 칭해진 매니페스트에 대한 평범한 텍스트 파일을 오히려 이용하는 HTTP 라이브 스트리밍(Live Streaming)과 같은 다른 매니페스트-기반 스트리밍 해결책들이 있다. 선호된 실시예들로서, DASH는 스트리밍 프로토콜로서 이용되지만, 그러나, 매니페스트에서 추가된 설명적 정보는 이 다른 해결책들에서 동일한 효과들을 제공할 것이다.
매니페스트 파일들은 매니페스트에서 설명된 미디어 샘플들에 관한 설명적 정보를 특정하는 디스크립터(descriptor)들의 세트를 수집한다. 디스크립터는 예를 들어, XML 노드들(엘리먼트(element)들 및/또는 속성(attribute)들)과 같은 구조화된 엘리먼트들일 수도 있거나, JSON(JavaScript Object Notation(자바스크립트 객체 표기), JavaScript는 상표임)으로, 또는 심지어, 키워드(keyword)들 또는 코멘트(comment)들이 디스크립터들을 전달하도록 전용될 경우에는 평범한 텍스트 포맷으로 설명될 수도 있다.
MPD 파일, 또는 더 일반적으로 매니페스트 파일을 수신함으로써, 클라이언트 장치는 각각의 미디어 컨텐츠 컴포넌트의 설명을 얻는다. 따라서, 그것은 미디어 프리젠테이션에서 제안된 미디어 컨텐츠 컴포넌트들의 종류를 인지하고, 연관된 미디어 세그먼트들을 다운로딩하기 위하여 이용되어야 할 HTTP URL들을 알고 있다. 그러므로, 클라이언트 디바이스는 어느 미디어 컨텐츠 컴포넌트들을 (HTTP 요청들을 통해) 다운로딩하고 플레이 (즉, 미디어 세그먼트들의 수신 후에 디코딩하고 플레이함) 할 것인지를 판정할 수 있다.
이러한 연관성에 추가하여, DASH 표준은 각각의 미디어 컨텐츠를 시간의 주기(period)들의 함수로서 분할하도록 제안한다. 시간 분해(time decomposition)는 MPD 파일에서 설명된다. 따라서, 후자는 HTTP URL들 사이의 연관성, 및 각각의 시간의 주기 상에서의 미디어 컨텐츠로부터의 각각의 컴포넌트의 간결한 설명을 정의한다. 각각의 미디어 컨텐츠 컴포넌트는 이 시간의 주기들에 대응하는 다수의 독립적인 미디어 세그먼트들로 캡슐화될 수 있다. 미디어 컴포넌트들의 수는 하나의 주기로부터 또 다른 것으로 변경될 수 있고, 및/또는 그 성질들은 하나의 주기로부터 또 다른 것으로 또한 변동될 수도 있다. 시간 주기로의 이 분해는 <Period> 엘리먼트에 의해 DASH에서 표현된다.
이 표준은 클라이언트가 희망된 시간의 주기들 상에서 미디어 프리젠테이션의 희망된 미디어 컨텐츠 컴포넌트들을 다운로딩하는 것을 허용한다.
매니페스트에서 노출된 정보는 실제적으로, 캡슐화 단계 동안에 압축된 미디어 데이터에 추가된 설명적 메타데이터로부터 추출된다. 컨테이너 포맷(container format)들로서 때때로 또한 칭해진 상이한 캡슐화 포맷들은 예를 들어, ISO 기본 미디어 파일 포맷(ISO BMFF)(ISO Base Media File Format), WebM, Quicktime, MPEG-2 전송 스트림(Transport Stream), 및 공통 미디어 애플리케이션 포맷(Common Media Application Format)(Quicktime 및 MPEG은 상표들임)과 같이 존재한다. 실제로, DASH는 캡슐화 포맷에 대해 무관(agnostic)하다.
예시를 위하여, MPEG 표준화 활동의 상황에서 정의된 ISO 기본 미디어 파일 포맷을 이용하는 캡슐화는 다음에서 고려된다.
특히, 캡슐화 파일 포맷은 ISO 기본 미디어 파일 포맷(ISO/IEC 14496 파트(Part) 15)에서의 고효율 비디오 코딩(High Efficiency Video Coding)(HEVC) 및 그 스케일러블(scalable) 확장의 캡슐화의 표준화에 관련될 수도 있다. ISO/IEC 14496-15는 예를 들어, 관심 영역에 대응하거나, 또는 간단하게 비디오 프레임들의 파티셔닝(partitioning)으로 이루어지며 비디오 스트림으로의 공간적 액세스를 제공하는 하나 이상의 타일 영역(tile region)들로서의 HEVC 타일들의 캡슐화를 설명하는 섹션을 포함한다.
타일 합성(tile composition)에 의존하는 관심 영역들의 추출/스트리밍 및 디스플레이하는 것은 예를 들어, 사용자가 특정 선택된 에어리어들에 대한 더 높은 해상도의 비디오에 대한 액세스를 부여하기 위하여 비디오 시퀀스(video sequence)들에서의 특정 에어리어들 상에서 클릭하는 것을 허용함으로써, 스트리밍 동안에 대화형 고 품질 줌-인(zoom-in) 기능들을 가능하게 하게 위하여 특히 유용하다는 것이 주목되어야 한다.
비디오 해상도는 계속적으로 증가하여, 표준 해상도(standard definition)(SD)로부터 고 해상도(high definition)(HD), 및 초고 해상도(ultra-high definition)(예컨대, 4K2K 또는 8K4K)로 가는 것이 상기되어야 한다. 비디오 시퀀스(video sequence)들은 단일-계층(예컨대, HEVC) 또는 멀티-계층(예컨대, 스케일러블 HEVC) 코딩 표준의 어느 하나를 이용하여 인코딩될 수 있다. 멀티-계층 코딩 포맷의 경우에, 주어진 계층은 하나 이상의 다른 계층들을 위한 참조 데이터로서 이용될 수 있다. 계층화된 비디오 편성(layered video organization)은 다수의 종속적인 미디어 컨텐츠 컴포넌트들을 이용하여 효율적으로 표현될 수 있고, 각각의 미디어 컨텐츠 컴포넌트는 스케일러빌러티(scalability)의 상이한 레벨에서 비디오 계층을 표현할 수 있다. 주어진 미디어 컨텐츠 컴포넌트를 디코딩하기 위하여, 클라이언트 디바이스는 미디어 컨텐츠 컴포넌트 자체 뿐만 아니라, 그것이 종속되는 모든 미디어 컨텐츠 컴포넌트들에 대해 액세스해야 한다.
비디오 스트리밍 능력들을 갖는 이동 및 접속된 디바이스들의 확산이 있다는 것이 또한 환기되어야 한다. 따라서, 비디오 시퀀스들을 타일들 또는 공간적 파트들로 분할하거나 파티셔닝하는 것은 이동 디바이스의 사용자가 품질을 유지하거나 심지어 개선시킴으로써 비디오 시퀀스의 서브-파트(sub-part)들을 디스플레이하는 것을 원하거나 비디오 시퀀스의 서브-파트들에 초점(focus)을 맞추는 것을 원할 경우에 중요해진다. 타일들을 이용함으로써, 사용자는 그러므로, 비디오 시퀀스의 공간적 서브-파트들을 대화식으로 요청할 수 있다. 스케일러블 비디오 코딩 포맷(예컨대, 스케일러블 HEVC 또는 멀티-뷰(multi-view) HEVC)의 경우에, 코딩 종속성들이 강화 계층(enhancement layer)의 타일들과 기본 계층(base layer)의 하나 이상의 타일들 사이에서 존재할 수도 있다는 것을 제외하고는, 각각의 비디오 계층은 다수의 독립적인 공간적 서브-파트들로 편성될 수 있다. 타일들은 관련된 미디어 컴포넌트들의 세트로서 또한 편성될 수도 있고, 미디어 컴포넌트들의 전부는 모든 타일들에 공통적인 정보를 포함하는 또 다른 미디어 컴포넌트에 종속될 수도 있다. 전형적으로, ISO 기본 미디어 파일 포맷을 고려할 때, 이것은 타일 트랙(tile track)들 및 타일 기본 트랙(tile base track)에 각각 대응한다.
DASH의 최초의 애플리케이션들에서는, 클라이언트 장치들이 한 번에 미디어 유형 당 하나의 표현(representation)을 다운로딩하기 위하여 이용되었지만, 주어진 미디어 유형의 어느 몇몇 표현들이 동시에 스트리밍되는지에 따라 다음에서 어드레싱된 것과 같이, 더 진화된 시나리오가 나타나기 시작한다. 다수의 오디오 스트림들이 더 양호한 사용자 경험을 제공하기 위하여 동시에 스트리밍될 수 있고 렌더링될 수 있는 차세대 오디오(next generation audio)를 위한 이러한 이용 케이스(use case)들이 있다. 특정 디스크립터는 이러한 이용 케이스를 설명하기 위하여 DASH 매니페스트에서 정의되었다. 이것은 또한, 사용자가 합성(composite) 또는 조립된 또는 집합된(aggregated) 비디오로 렌더링되도록 하기 위하여 동시에 스트리밍되어야 할 비디오의 다수의 파트들을 선택할 수 있는 비디오를 갖는 경우이다. 이것은 전형적으로, 도 1a에서 도시된 바와 같이 공간적 서브 파트들로 편성되고 상이한 품질 레벨들에서 압축된 비디오 스트림들에 대한 경우이다. 이 공간적 서브-파트들은 도 2에서 예시된 예와 같이, DASH의 공간적 관계 설명 특징으로 설명될 수 있다. 사용자는 더 큰 비디오에서 관심 영역(region of interest)(ROI)을 선택할 수 있고, 이 관심 영역에 초점을 맞추도록 판정할 수 있다.
Jens Devloo 등, 2013, Lecture Notes in Computer Sciences, Vol. 7943, pages 25-36에 의한 "Design and evaluation of tile selection algorithms for tiled HTTP adaptive streaming"라는 제목의 논문은 큰 비디오들, 예를 들어, 파노라마 비디오(panorama video)들에 대한 이용의 시나리오에 종속되는 사전-구성된 클라이언트 적응 로직들을 개시한다. 패닝(panning) 및 줌잉(zooming)을 허용하는 고려된 시나리오들 중의 하나에서, 저자들은, 저 품질 버전이 클라이언트로 항상 스트리밍되고 오직 일부 파트들은 이용가능한 대역폭에 따라, 고 품질로 클라이언트로 스트리밍되는 다중 스트림 접근법을 제시한다. 그 다음으로, 가시성 기준, 즉, 공간적 서브 파트가 사용자를 위한 관심 영역을 커버(cover)하는지 또는 그렇지 않은지 여부에 따라, 클라이언트는 타일 요청자를 통해, 먼저 가시적인 공간적 서브-파트들을 다운로딩한다. 그 다음으로, 나머지 대역폭에 따라, 클라이언트는 관심 영역에 근접한 다른 공간적 서브-파트들에 대한 고 품질을 또한 다운로딩한다.
그러나, 이러한 해결책은 대역폭의 이용의 측면에서 효율적이지만, 발명자들은 사용자 경험이 의심스러울 수도 있다는 것을 관찰하였다.
그러므로, 시간지정된 미디어 데이터의 스트리밍 동안의 렌더링 품질을 개선시키기 위하여 현존하는 해결책들을 개선시키는 것이 희망될 수도 있다.
본 발명은 상기한 관심사들 중의 하나 이상을 다루도록 고안되었다.
이 상황에서, 서버 장치와 클라이언트 장치 사이의, 이미지들을 포함하는 시간지정된 미디어 데이터의 스트리밍 동안의 렌더링 디스플레이를 개선하기 위한 해결책이 제공된다.
발명의 제1 목적에 따르면, 서버 장치와 클라이언트 장치 사이의, 이미지들을 포함하는 시간지정된 미디어 데이터의 스트리밍 동안의 렌더링 디스플레이를 개선하기 위한 방법이 제공되고, 방법은 서버 장치에서 구현되고, 방법은,
시간지정된 미디어 데이터의 이미지의 부분들 사이의 품질 격차(quality disparity)에 관련된 품질 정보를 획득하는 단계; 및
적어도 부분적으로 디스플레이되어야 할 이미지의 적어도 제1 부분 및 제2 부분에 속하는 데이터의 적어도 제1 항목(item) 및 제2 항목을 각각 송신하는 단계 - 데이터의 제1 항목 및 제2 항목들에 대응하는 이미지의 부분들 사이의 품질 격차는 획득된 품질 정보에 순응함 - 를 포함한다.
발명의 방법은 이미지들의 부분들 사이에서, 예를 들어, 관심 영역(region of interest)과 그 둘러싸는 부분들 사이에서 지각가능한 품질 점프(perceptible quality jump)들을 회피하거나 감소시킴으로써, 시간지정된 미디어 데이터의 스트리밍 동안의 렌더링 디스플레이를 개선시키는 것을 가능하게 한다.
특정한 실시예들에 따르면, 이미지의 부분은 전체 이미지이다.
실시예에서, 품질 정보는 시간지정된 미디어 데이터의 이미지의 2개의 부분들 사이의 품질 격차 임계치(quality disparity threshold)를 표현한다.
실시예에서, 시간지정된 미디어 데이터는 파티셔닝된 시간지정된 미디어 데이터이고, 데이터의 제1 항목 및 제2 항목은 동일한 이미지의 2개의 인접한 부분들에 속한다. 이미지의 부분은 이미지의 파티션(partition)일 수도 있다.
실시예에서, 시간지정된 미디어 데이터의 이미지들은 적어도 제1 계층 및 제2 계층에 따라 인코딩되고, 데이터의 제1 항목 및 제2 항목은 상이한 계층들에 속하고, 품질 정보는 시간지정된 미디어 데이터의 이미지의 상이한 계층들의 부분들 사이의 품질 격차에 관련된다.
실시예에서, 데이터의 제1 항목 및 제2 항목들은 상이한 이미지들에 속하고, 품질 정보는 시간지정된 미디어 데이터의 상이한 이미지들의 부분들 사이의 품질 격차에 관련된다.
실시예에서, 방법은 매니페스트 - 매니페스트는 스트리밍을 위하여 이용가능한 시간지정된 미디어 데이터의 데이터를 설명하는 정보 및 품질 정보를 포함함 - 를 송신하는 단계를 더 포함한다.
실시예에서, 품질 정보는 스트리밍을 위하여 이용가능한 시간지정된 미디어 데이터의 데이터의 가능한 조합들의 세트로서 매니페스트에서 적어도 부분적으로 인코딩되고, 데이터의 각각의 조합은 품질 격차에 순응한다.
실시예에서, 품질 정보는 클라이언트 장치가 스트리밍을 위하여 이용가능한 시간지정된 미디어 데이터의 데이터가 품질 격차에 순응하는지를 결정하는 것을 가능하게 하는 품질 규칙(quality rule)으로서 매니페스트에서 적어도 부분적으로 인코딩된다.
실시예에서, 매니페스트는 스트리밍을 위하여 이용가능한 시간지정된 미디어 데이터의 데이터와 연관된 적어도 하나의 품질 디스크립터를 더 포함하고, 적어도 하나의 품질 디스크립터는 동일한 품질인 데이터를 시그널링하고, 적어도 하나의 품질 디스크립터는 품질 규칙을 적용하기 위하여 이용된다.
실시예에서, 매니페스트는 동일한 시간지정된 미디어 데이터를 위하여 이용가능한 상이한 품질 레벨들을 분류하기 위한 품질 등급 속성(quality rank attribute)들을 더 포함하고, 품질 등급 속성들은 품질 규칙을 적용하기 위하여 이용된다.
실시예에서, 송신된 데이터의 제1 항목 또는 제2 항목은, 클라이언트로부터의 주요 요청(main request)에 응답하여, 서버 장치로부터 클라이언트 장치로 전송된 주요 데이터를 뒤따르는 푸시된 데이터(pushed data)이다.
발명의 제2 목적에 따르면, 서버 장치와 클라이언트 장치 사이의, 이미지들을 포함하는 파티셔닝된 시간지정된 미디어 데이터의 스트리밍 동안의 렌더링 디스플레이를 개선하기 위한 방법이 제공되고, 방법은 클라이언트 장치에서 구현되고, 방법은,
파티셔닝된 시간지정된 미디어 데이터의 이미지의 부분들 사이의 품질 격차에 관련된 품질 정보를 획득하는 단계; 및
적어도 부분적으로 디스플레이되어야 할 이미지의 적어도 제1 부분 및 제2 부분에 속하는 데이터의 적어도 제1 항목 및 제2 항목을 각각 요청하는 단계 - 데이터의 제1 항목 및 제2 항목들에 대응하는 이미지의 부분들 사이의 품질 격차는 획득된 품질 정보에 순응함 - 를 포함한다.
발명의 방법은 이미지들의 부분들 사이에서, 예를 들어, 관심 영역과 그 둘러싸는 부분들 사이에서 지각가능한 품질 점프들을 회피하거나 감소시킴으로써, 시간지정된 미디어 데이터의 스트리밍 동안의 렌더링 디스플레이를 개선시키는 것을 가능하게 한다.
특정한 실시예들에 따르면, 이미지의 부분은 전체 이미지이다.
실시예에서, 품질 정보는 시간지정된 미디어 데이터의 이미지의 2개의 부분들 사이의 품질 격차 임계치를 표현한다.
실시예에서, 시간지정된 미디어 데이터는 파티셔닝된 시간지정된 미디어 데이터이고, 데이터의 제1 항목 및 제2 항목은 동일한 이미지의 2개의 인접한 부분들에 속한다. 이미지의 부분은 이미지의 파티션일 수도 있다.
실시예에서, 시간지정된 미디어 데이터의 이미지들은 적어도 제1 계층 및 제2 계층에 따라 인코딩되고, 데이터의 제1 항목 및 제2 항목은 상이한 계층들에 속하고, 품질 정보는 시간지정된 미디어 데이터의 이미지의 상이한 계층들의 부분들 사이의 품질 격차에 관련된다.
실시예에서, 데이터의 제1 항목 및 제2 항목들은 상이한 이미지들에 속하고, 품질 정보는 시간지정된 미디어 데이터의 상이한 이미지들의 부분들 사이의 품질 격차에 관련된다.
실시예에서, 방법은 매니페스트 - 매니페스트는 스트리밍을 위하여 이용가능한 시간지정된 미디어 데이터의 데이터를 설명하는 정보 및 품질 정보를 포함함 - 를 수신하는 단계를 더 포함한다.
실시예에서, 품질 정보는 스트리밍을 위하여 이용가능한 시간지정된 미디어 데이터의 데이터의 가능한 조합들의 세트로서 매니페스트에서 적어도 부분적으로 인코딩되고, 데이터의 각각의 조합은 품질 격차에 순응하고, 방법은 데이터의 하나의 가능한 조합을 선택하는 단계, 및 선택된 조합의 데이터를 요청하는 단계를 더 포함한다.
실시예에서, 품질 정보는 클라이언트 장치가 스트리밍을 위하여 이용가능한 시간지정된 미디어 데이터의 데이터가 품질 격차에 순응하는지를 결정하는 것을 가능하게 하는 품질 규칙으로서 매니페스트에서 적어도 부분적으로 인코딩되고, 방법은 데이터를 선택하기 위하여 품질 규칙을 적용하는 단계, 및 선택된 데이터를 요청하는 단계를 더 포함한다.
실시예에서, 품질 정보는 서버 장치로부터 독립적으로 획득된다.
실시예에서, 매니페스트는 스트리밍을 위하여 이용가능한 시간지정된 미디어 데이터의 데이터와 연관된 적어도 하나의 품질 디스크립터를 더 포함하고, 적어도 하나의 품질 디스크립터는 동일한 품질인 데이터를 시그널링하고, 적어도 하나의 품질 디스크립터는 품질 규칙을 적용하기 위하여 이용된다.
실시예에서, 매니페스트는 동일한 시간지정된 미디어 데이터를 위하여 이용가능한 상이한 품질 레벨들을 분류하기 위한 품질 등급 속성들을 더 포함하고, 품질 등급 속성들은 품질 규칙을 적용하기 위하여 이용된다.
발명의 제3 목적에 따르면, 서버 장치와 클라이언트 장치 사이의, 이미지들을 포함하는 시간지정된 미디어 데이터의 스트리밍 동안의 렌더링 디스플레이를 개선하기 위한 디바이스가 제공되고, 디바이스는 서버 장치 내에 있고, 디바이스는,
시간지정된 미디어 데이터의 이미지의 부분들 사이의 품질 격차에 관련된 품질 정보를 획득하는 단계; 및
적어도 부분적으로 디스플레이되어야 할 이미지의 적어도 제1 부분 및 제2 부분에 속하는 데이터의 적어도 제1 항목 및 제2 항목을 각각 송신하는 단계 - 데이터의 제1 항목 및 제2 항목들에 대응하는 이미지의 부분들 사이의 품질 격차는 획득된 품질 정보에 순응함 - 를 수행하도록 구성된 마이크로프로세서를 포함한다.
발명의 디바이스는 이미지들의 부분들 사이에서, 예를 들어, 관심 영역과 그 둘러싸는 부분들 사이에서 지각가능한 품질 점프들을 회피하거나 감소시킴으로써, 시간지정된 미디어 데이터의 스트리밍 동안의 렌더링 디스플레이를 개선시키는 것을 가능하게 한다.
특정한 실시예들에 따르면, 이미지의 부분은 전체 이미지이다.
실시예에서, 품질 정보는 시간지정된 미디어 데이터의 이미지의 2개의 부분들 사이의 품질 격차 임계치를 표현한다.
실시예에서, 시간지정된 미디어 데이터는 파티셔닝된 시간지정된 미디어 데이터이고, 데이터의 제1 항목 및 제2 항목은 동일한 이미지의 2개의 인접한 부분들에 속한다. 이미지의 부분은 이미지의 파티션일 수도 있다.
실시예에서, 시간지정된 미디어 데이터의 이미지들은 적어도 제1 계층 및 제2 계층에 따라 인코딩되고, 데이터의 제1 항목 및 제2 항목은 상이한 계층들에 속하고, 품질 정보는 시간지정된 미디어 데이터의 이미지의 상이한 계층들의 부분들 사이의 품질 격차에 관련된다.
실시예에서는, 여기서, 데이터의 제1 항목 및 제2 항목들은 상이한 이미지들에 속하고, 품질 정보는 시간지정된 미디어 데이터의 상이한 이미지들의 부분들 사이의 품질 격차에 관련된다.
실시예에서, 마이크로프로세서는 매니페스트 - 매니페스트는 스트리밍을 위하여 이용가능한 시간지정된 미디어 데이터의 데이터를 설명하는 정보 및 품질 정보를 포함함 - 를 송신하는 단계를 수행하도록 추가로 구성된다.
실시예에서, 품질 정보는 스트리밍을 위하여 이용가능한 시간지정된 미디어 데이터의 데이터의 가능한 조합들의 세트로서 매니페스트에서 적어도 부분적으로 인코딩되고, 데이터의 각각의 조합은 품질 격차에 순응한다.
실시예에서, 품질 정보는 클라이언트 장치가 스트리밍을 위하여 이용가능한 시간지정된 미디어 데이터의 데이터가 품질 격차에 순응하는지를 결정하는 것을 가능하게 하는 품질 규칙으로서 매니페스트에서 적어도 부분적으로 인코딩된다.
실시예에서, 매니페스트는 스트리밍을 위하여 이용가능한 시간지정된 미디어 데이터의 데이터와 연관된 적어도 하나의 품질 디스크립터를 더 포함하고, 적어도 하나의 품질 디스크립터는 동일한 품질인 데이터를 시그널링하고, 적어도 하나의 품질 디스크립터는 품질 규칙을 적용하기 위하여 이용된다.
실시예에서, 매니페스트는 동일한 시간지정된 미디어 데이터를 위하여 이용가능한 상이한 품질 레벨들을 분류하기 위한 품질 등급 속성들을 더 포함하고, 품질 등급 속성들은 품질 규칙을 적용하기 위하여 이용된다.
실시예에서, 송신된 데이터의 제1 항목 또는 제2 항목은, 클라이언트로부터의 주요 요청에 응답하여, 서버 장치로부터 클라이언트 장치로 전송된 주요 데이터를 뒤따르는 푸시된 데이터이다.
발명의 제4 목적에 따르면, 서버 장치와 클라이언트 장치 사이의, 이미지들을 포함하는 파티셔닝된 시간지정된 미디어 데이터의 스트리밍 동안의 렌더링 디스플레이를 개선하기 위한 디바이스가 제공되고, 디바이스는 클라이언트 장치 내에 있고, 디바이스는,
파티셔닝된 시간지정된 미디어 데이터의 이미지의 부분들 사이의 품질 격차에 관련된 품질 정보를 획득하는 단계; 및
적어도 부분적으로 디스플레이되어야 할 이미지의 적어도 제1 부분 및 제2 부분에 속하는 데이터의 적어도 제1 항목 및 제2 항목을 각각 요청하는 단계 - 데이터의 제1 항목 및 제2 항목들에 대응하는 이미지의 부분들 사이의 품질 격차는 획득된 품질 정보에 순응함 - 를 수행하도록 구성된 마이크로프로세서를 포함한다.
발명의 디바이스는 이미지들의 부분들 사이에서, 예를 들어, 관심 영역과 그 둘러싸는 부분들 사이에서 지각가능한 품질 점프들을 회피하거나 감소시킴으로써, 시간지정된 미디어 데이터의 스트리밍 동안의 렌더링 디스플레이를 개선시키는 것을 가능하게 한다.
특정한 실시예들에 따르면, 이미지의 부분은 전체 이미지이다.
실시예에서, 품질 정보는 시간지정된 미디어 데이터의 이미지의 2개의 부분들 사이의 품질 격차 임계치를 표현한다.
실시예에서, 시간지정된 미디어 데이터는 파티셔닝된 시간지정된 미디어 데이터이고, 데이터의 제1 항목 및 제2 항목은 동일한 이미지의 2개의 인접한 부분들에 속한다. 이미지의 부분은 이미지의 파티션일 수도 있다.
실시예에서, 시간지정된 미디어 데이터의 이미지들은 적어도 제1 계층 및 제2 계층에 따라 인코딩되고, 데이터의 제1 항목 및 제2 항목은 상이한 계층들에 속하고, 품질 정보는 시간지정된 미디어 데이터의 이미지의 상이한 계층들의 부분들 사이의 품질 격차에 관련된다.
실시예에서, 데이터의 제1 항목 및 제2 항목들은 상이한 이미지들에 속하고, 품질 정보는 시간지정된 미디어 데이터의 상이한 이미지들의 부분들 사이의 품질 격차에 관련된다.
실시예에서, 마이크로프로세서는 매니페스트 - 매니페스트는 스트리밍을 위하여 이용가능한 시간지정된 미디어 데이터의 데이터를 설명하는 정보 및 품질 정보를 포함함 - 를 수신하는 단계를 수행하도록 추가로 구성된다.
실시예에서, 품질 정보는 스트리밍을 위하여 이용가능한 시간지정된 미디어 데이터의 데이터의 가능한 조합들의 세트로서 매니페스트에서 적어도 부분적으로 인코딩되고, 데이터의 각각의 조합은 품질 격차에 순응하고, 마이크로프로세서는 데이터의 하나의 가능한 조합을 선택하는 단계, 및 선택된 조합의 데이터를 요청하는 단계를 수행하도록 추가로 구성된다.
실시예에서, 품질 정보는 클라이언트 장치가 스트리밍을 위하여 이용가능한 시간지정된 미디어 데이터의 데이터가 품질 격차에 순응하는지를 결정하는 것을 가능하게 하는 품질 규칙으로서 매니페스트에서 적어도 부분적으로 인코딩되고, 마이크로프로세서는 데이터를 선택하기 위하여 품질 규칙을 적용하는 단계, 및 선택된 데이터를 요청하는 단계를 수행하도록 추가로 구성된다.
실시예에서, 품질 정보는 서버 장치로부터 독립적으로 획득된다.
실시예에서, 매니페스트는 스트리밍을 위하여 이용가능한 시간지정된 미디어 데이터의 데이터와 연관된 적어도 하나의 품질 디스크립터를 더 포함하고, 적어도 하나의 품질 디스크립터는 동일한 품질인 데이터를 시그널링하고, 적어도 하나의 품질 디스크립터는 품질 규칙을 적용하기 위하여 이용된다.
실시예에서, 매니페스트는 동일한 시간지정된 미디어 데이터를 위하여 이용가능한 상이한 품질 레벨들을 분류하기 위한 품질 등급 속성들을 더 포함하고, 품질 등급 속성들은 품질 규칙을 적용하기 위하여 이용된다.
미디어 컨텐츠 컴포넌트들에 관한 정보를 설명하는 설명적 데이터를 위한 프로세싱 방법이 또한 제공되고, 방법은,
설명적 데이터를 생성하는 단계, 및
생성된 설명적 데이터를 클라이언트로 송신하는 단계를 포함하고,
설명적 데이터는,
적어도 2개의 적응 세트(adaptation set)들;
각각의 적응 세트에 속하고 있는 복수의 미디어 컨텐츠 컴포넌트들의 각각의 품질 등급을 식별하기 위한 등급 정보;
적어도 2개의 적응 세트들에 대한 적어도 2개의 등급 정보 간의 관계를 표시하기 위한 등급 관련성 정보, 및
미디어 컨텐츠 컴포넌트를 요청하기 위하여 클라이언트에 의해 참조되는 어드레스 정보를 포함한다.
미디어 컨텐츠 컴포넌트들에 관한 정보를 설명하는 설명적 데이터를 프로세싱하기 위한 프로세싱 장치가 또한 제공되고, 프로세싱 장치는,
설명적 데이터를 생성하는 단계, 및
생성된 설명적 데이터를 클라이언트로 송신하는 단계를 수행하도록 구성되고,
설명적 데이터는,
적어도 2개의 적응 세트들;
각각의 적응 세트에 속하고 있는 복수의 미디어 컨텐츠 컴포넌트들의 각각의 품질 등급을 식별하기 위한 등급 정보;
적어도 2개의 적응 세트들에 대한 적어도 2개의 등급 정보 간의 관계를 표시하기 위한 등급 관련성 정보, 및
미디어 컨텐츠 컴포넌트를 요청하기 위하여 클라이언트에 의해 참조되는 어드레스 정보를 포함한다.
설명적 데이터 - 설명적 데이터는 하나 이상의 미디어 컨텐츠 컴포넌트들의 하나 이상의 대안적인 버전들에 관한 정보를 제공함 - 를 프로세싱하기 위한 방법이 또한 제공되고, 방법은 다음의 단계들,
설명적 데이터를 생성하는 단계, 및
생성된 설명적 데이터를 클라이언트로 송신하는 단계를 포함하고,
설명적 데이터는,
각각이 하나 이상의 미디어 컨텐츠 컴포넌트들의 하나 이상의 대안적인 버전들을 포함하는 적어도 2개의 적응 세트들;
각각의 적응 세트에 대하여, 하나 이상의 미디어 컨텐츠 컴포넌트들의 각각의 대안적인 버전의 품질 등급을 식별하는 제1 정보;
적어도 2개의 적응 세트들과 연관된 제1 정보 사이의 관계를 표시하는 제2 정보; 및
미디어 컨텐츠 컴포넌트들의 하나 이상의 대안적인 버전들 중의 하나를 요청하기 위하여 클라이언트에 의해 각각 참조되는 하나 이상의 어드레스들을 표시하는 제3 정보를 포함한다.
설명적 데이터 - 설명적 데이터는 하나 이상의 미디어 컨텐츠 컴포넌트들의 하나 이상의 대안적인 버전들에 관한 정보를 제공함 - 를 프로세싱하기 위한 디바이스가 또한 제공되고, 디바이스는 다음의 단계들,
설명적 데이터를 생성하는 단계, 및
생성된 설명적 데이터를 클라이언트로 송신하는 단계를 수행하도록 구성되고,
설명적 데이터는,
각각이 하나 이상의 미디어 컨텐츠 컴포넌트들의 하나 이상의 대안적인 버전들을 포함하는 적어도 2개의 적응 세트들;
각각의 적응 세트에 대하여, 하나 이상의 미디어 컨텐츠 컴포넌트들의 각각의 대안적인 버전의 품질 등급을 식별하는 제1 정보;
적어도 2개의 적응 세트들과 연관된 제1 정보 사이의 관계를 표시하는 제2 정보; 및
미디어 컨텐츠 컴포넌트들의 하나 이상의 대안적인 버전들 중의 하나를 요청하기 위하여 클라이언트에 의해 각각 참조되는 하나 이상의 어드레스들을 표시하는 제3 정보를 포함한다.
본 발명의 추가의 장점들은 도면들 및 상세한 설명의 검토 시에 본 기술분야의 통상의 기술자들에게 분명해질 것이다. 임의의 추가적인 장점들이 본원에서 편입되는 것이 의도된다.
발명의 실시예들은 오직 예로서, 그리고 다음의 도면들을 참조하여 이제 설명될 것이다:
도 1a 및 도 1b를 포함하는 도 1은 비디오 시퀀스가 3개의 품질 레벨들로 인코딩되는 비디오의 파티셔닝된 프레임의 예, 및 비디오 합성(video composition)들의 예들을 각각 예시하고;
도 2는 비디오 비트-스트림에서의 공간적 파트들 또는 타일들을 설명하는 스트리밍 매니페스트의 예를 예시하고;
도 3은 발명의 실시예들을 구현하는 것을 가능하게 하는 DASH 서버 장치 및 클라이언트 장치를 예시하고;
도 4는 MPEG DASH 사양에 따른 DASH에서의 미디어 프리젠테이션의 전형적인 설명을 예시하고;
도 5a 및 도 5b를 포함하는 도 5는 서버 장치 관점 및 클라이언트 장치 관점으로부터의 미디어 데이터의 스트리밍 동안의 렌더링 품질을 개선하기 위한 품질 규칙들의 이용을 각각 예시하고;
도 6a 내지 도 6d를 포함하는 도 6은 품질 규칙 디스크립터를 이용할 때, 그리고 품질 등가성 디스크립터(quality equivalence descriptor)를 이용할 때에, "컨텐츠 작성자(content creator)" 실시예들에 따른 매니페스트들의 예들을 예시하고;
도 7은 발명의 하나 이상의 실시예들의 구현을 위한 컴퓨팅 디바이스의 개략적인 블록도이고, 그리고
도 8은 발명의 실시예에 따른 미디어 컴포넌트들의 조합들을 제공하는 표이다.
예시를 위하여, "미디어 컴포넌트"(또는 "미디어 컨텐츠 컴포넌트")는 특정 미디어 유형(예컨대, 오디오, 비디오, 텍스트, 또는 메타데이터)의 미디어 스트림의 데이터의 항목이라는 것이 다음에서 고려된다. MPEG DASH에 따르면, 미디어 컴포넌트는 배정된 미디어 컴포넌트 유형을 갖는 미디어 컨텐츠의 하나의 계속적인 컴포넌트"로서 정의된다. 다음에서는, 미디어 컴포넌트는 DASH에서의 ContentComponent 엘리먼트보다 더 일반적인 방법으로 이용된다.
여전히 예시를 위하여, "타일"은 하나 이상의 이미지들의 공간적 파트(또는 파티션 또는 서브파트)라는 것이 다음에서 고려된다. 이미지들은 인코딩 포맷이 무엇이든지, (도 1a에서 예시된 바와 같은) 비디오 비트-스트림의 프레임들 또는 단지 하나의 압축된 스틸 이미지(still image)일 수 있다. 타일은 포지션(x, y) 및 크기(폭(w), 높이(h))에 의해 정의된다. 디폴트에 의해, 타일은 정적이고, 다시 말해서, 비디오 시퀀스의 각각의 프레임에 대하여, 타일의 포지션 및 크기가 동일하게 유지된다. 그러나, 동적 타일들이 이용될 수 있고, 여기서, 그 포지션 및/또는 크기는 프레임에 기초하여, 또는 시간적 세그먼트들에 기초하여 시퀀스를 따라 변경된다. MPEG DASH에 따르면, 타일은 픽처(picture)에서의 특정한 타일 열(tile column)(x 포지션) 및 특정한 타일 행(tile row)(y 포지션) 내에서 코딩 트리 블록(coding tree block)들(코딩 엔티티(coding entity)들)의 직사각형 영역이다.
"타일 영역"은 일반적으로 (x, y, w, h)에 의해 또한 정의된 픽처에서의 직사각형 에어리어이다. 타일들에 관하여, 타일 영역은 비디오 시퀀스를 따라 고정될 수 있거나, 또는 그렇지 않을 수 있다. ISO BMFF에 따르면, 타일 영역은, 동일한 코딩된 픽처 내에 있고 다른 HEVC 타일들을 포함하지 않는 하나 이상의 완전한 슬라이스 세그먼트들에서의 하나 이상의 완전한 HEVC 타일들을 표현한다.
여전히 예시를 위하여, "관심 영역"(또는 "ROI")은 하나 이상의 타일 영역들과 유사하다는 것이 다음에서 고려된다. ISO BMFF에 따르면, 관심 영역에 대응하는 데이터는 ROI 및 비-ROI(non-ROI)에 대한 양자의 데이터를 포함하는 하나의 트랙에서, 타일 영역에 대응하는 하나의 트랙에서, 또는 각각이 ROI가 커버하는 각각의 타일 영역에 대한 데이터를 포함하는 다수의 트랙들로서 캡슐화될 수도 있다.
조합(combination), 합성(composition), 또는 번들(bundle)은 공동으로 렌더링되도록 의도된 미디어 컨텐츠 컴포넌트들의 세트이다.
여전히 예시를 위하여, "합성된 비디오 또는 이미지"는 비디오 번들 또는 조합 또는 비디오 컨텐츠 컴포넌트들의 조합이라는 것이 다음에서 고려된다. 그것은 적어도 2개의 비디오 프레임 부분들 또는 이미지 부분들의 스티칭(stitching), 합성, 또는 조립(assembly)으로부터 기인하는 비디오 또는 이미지이다. 비디오 프레임 부분 또는 이미지 부분은 타일, 타일 영역, 또는 ROI...뿐만 아니라 이미지 부분에 대응할 수도 있다. 이것은 사용자 장치에 의해 디스플레이된 단일 프레임 또는 이미지에서의 적어도 2개의 비디오 프레임 부분들 또는 이미지 부분들의 스티칭, 합성, 또는 조립을 렌더링하는 것을 가능하게 한다.
최종적으로, "품질 규칙"은 품질-기반 선택을 위한 제약들 또는 파라미터들을 제공하는 힌트(hint)들로서 다음에서 고려된다. 이후로 설명된 바와 같이, 품질 규칙의 예는 max_quality_degradation이다.
특정한 실시예들에 따르면, 스트리밍될 수 있는 데이터를 설명하기 위하여 이용된 포맷, 예를 들어, MPEG DASH의 설명 능력들은 컨텐츠 저자가 몇몇 타일들이 스트리밍 클라이언트에 의해 선택될 때, 각각의 타일의 품질 적응을 위한 일부 안내를 특정할 수 있도록 확장된다. 예시를 위하여, 2개의 인접한 비디오 프레임 부분들 또는 이미지 부분들 사이의 품질 열화(quality degradation)가 미리 결정된 임계치보다 더 클 수 없다는 것이 스트리밍 매니페스트에서 표시될 수도 있다. 이러한 정보의 항목은 스트리밍되어야 할 타일들(즉, 이러한 품질 규칙을 따르는 타일들의 조합)을 선택하기 위하여 클라이언트 장치에 의해 이용될 수도 있다. 이것은 양자의 ROI 및 둘러싸는 타일들의 수락가능한 품질로 이어진다. 이 설명 능력들은 품질 열화 패턴 플러스(plus) 타일을 저장하는 적응 세트들에 걸친 등가적인 표현(Representation)들의 표시를 포함한다.
발명의 많은 실시예들이 존재하지만, 3개의 특정한 실시예들이 다음에서 설명된다.
제1 실시예에 따르면, 스트리밍 매니페스트는 클라이언트 장치가 품질 규칙들을 따르는 타일들의 조합을 결정하는 것을 가능하게 하는 정보를 포함한다. 이것은 매니페스트에서 품질 규칙을 시그널링함으로써, 그리고 클라이언트 장치가 품질 규칙을 따르는 타일들의 조합을 결정할 수 있고 선택할 수 있도록 매니페스트에서의 등가적 미디어 컴포넌트들을 연관시킴으로써 행해질 수 있다.
다음에서 "컨텐츠 작성자"로서 지칭된 제2 실시예에 따르면, 품질 규칙을 따르는 타일들의 조합들은 선험적으로(a priori), 다시 말해서, 스트리밍 매니페스트를 송신하기 전에 결정된다. 이것은 컨텐츠 패키징 국면에서 컨텐츠 저자들에 의해 오프라인으로 행해질 수 있다. 품질 규칙을 따르는 조합들은 클라이언트 장치가 그것들 중의 하나를 선택할 수도 있도록, 스트리밍 매니페스트에서 설명될 수도 있다.
이것은 예를 들어, 뷰잉 모드(viewing mode)에서의 사용자 선택에 따라 활성화된, 동일한 미디어 유형의 다수의 컴포넌트들을 한 번에 처리하기 위하여 스트리밍 클라이언트 장치 엔드(end)에서 수정된 적응 로직을 이용함으로써 또한 행해질 수 있다.
다음에서 "서버 제어"로서 지칭된 제3 실시예에 따르면, 서버 장치는 클라이언트 장치로 송신되지 않는 품질 규칙을 인지하고 있다. 따라서, 서버 장치는 둘러싸는 미디어 컴포넌트들의 버전들을 제안(방향전환(redirection))하거나 전송(푸시(push))하기 위한 관심 있는 미디어 컴포넌트에 대한 클라이언트 요청 상에서, 주도권을 취한다.
도 1a 및 도 1b를 포함하는 도 1은 비디오 시퀀스가 3개의 품질 레벨들로 인코딩되는 비디오의 파티셔닝된 프레임의 예, 및 비디오 합성들의 예들을 각각 예시한다.
도 1a는 비디오 시퀀스가 3개의 품질 레벨들: 100, 110, 및 120으로 각각 나타내어진 고("HQ"), 중간("MQ"), 및 저("LQ")로 인코딩되는 비디오의 파티셔닝된 프레임의 예(오직 하나의 프레임이 명확함을 위하여 예시되지만, 비디오 시퀀스의 모든 프레임들은 타일들로의 동일한 파티셔닝을 가질 수 있음)를 예시한다.
각각의 품질 레벨은 독립적인 비디오 비트-스트림으로서 인코딩될 수 있다. 대안적으로, 각각의 품질 레벨은 또 다른 계층의 스케일러빌러티 계층일 수 있다. 예시를 위하여, 고 품질 프레임(100)은 저 품질 프레임(120)에 대응하는 기본 계층의 강화 계층인 중간 품질 프레임(110)에 대응하는 강화 계층의 품질 강화 계층일 수 있다.
최저 품질을 갖는 계층은 (도 1의 예에서 저 품질 프레임(120)에 대응하는) 기본 계층으로서 지칭된다. 각각의 품질 레벨 또는 계층은 타일들(101 및 102)과 같은 독립적인 타일들의 세트로서 인코딩될 수 있다.
특정한 실시예에서, 타일들은 다른 타일들에 대한 종속성들을 갖지 않는 HEVC 타일들이다. 이것은 선택된 타일들의 세트(예를 들어, 선택된 세트(105))를, 단일 HEVC 디코더가 디코딩할 수 있고 디스플레이할 수 있는 단일 비디오 비트-스트림으로 조립하는 것을 가능하게 한다.
독립적인 타일들 및/또는 인코딩된 비-HEVC의 이용이 또한 가능하다. 예를 들어, 각각의 타일은 아마도, HEVC 이외의 또 다른 인코딩 포맷(예컨대, AVC 또는 VP9)에서, 그 자신의 비디오 비트-스트림에서 인코딩될 수도 있다.
데이터를 스케일러블 계층들로 인코딩하기 위하여, SHVC, SVC, 또는 임의의 스케일러블 또는 계층화된 코딩 포맷이 이용될 수 있다. 클라이언트 장치는 그 다음으로, 단일 디코더에 공급하기 위하여 일부 스트림 재조립을 행할 필요가 있거나, 또는 선택된 타일들의 세트로부터 기인하는 합성된 비디오를 플레이하기 위하여 다수의 디코더들을 이용할 필요가 있다.
이용된 인코딩 포맷이 무엇이든지, 이 인코딩 포맷은 캡슐화된 미디어 스트림에서 설명되고, 클라이언트 장치가 다수의 인코딩 포맷들이 이용가능할 때, 클라이언트 장치가 미디어 파일을 플레이할 수 있고 그것이 선호하는 것을 선택할 수 있는지를 결정할 수 있도록, 이 인코딩 포맷은 스트리밍 매니페스트에서 노출된다.
도 1b는 합성된 비디오들에 대한 평탄한 품질을 생성하기 위하여 발명으로부터 이익을 얻을 수 있는 비디오 합성들의 일부 예들을 예시한다. 예를 들어, 합성된 비디오(150)는 2개의 별개의 비디오 비트-스트림들의 공간적 파트들의 병치(juxtaposition)로부터 기인한다. 이 비트-스트림들은 동일한 장면(scene)의 상이한 버전들일 수 있거나, 심지어 상이한 장면들로부터의 비디오 비트-스트림들일 수 있다.
합성된 비디오(160)는 상이한 품질들에서 동일한 비디오의 파트들을 조립하는 것으로 이루어진다. 비디오들(161 및 162)을 표현하는 비디오 비트-스트림들은 독립적인 비디오 비트-스트림들, 또는 스케일러블 비트 스트림의 계층들일 수 있다. 그것들은 심지어 상이한 포맷들로 인코딩될 수 있고(이에 따라, 클라이언트 측에서 다수의 비디오 디코더들을 요구함), 인코딩 포맷은 ISO BMFF로 전달되고, @codecs DASH 속성으로 노출된다.
도 1b에서 도시된 상이한 파티션들은 비디오들이 타일링(tile)되는 것을 의미하지 않는다는 것이 주목되어야 한다. 하나의 공간적 파트(1, 2, 3, 또는 4)의 추출은 크롭 동작(crop operation)으로부터 기인할 수 있고, 크롭핑된 파트는 직접적으로 또는 계층화(결과적인 합성된 비디오는 몇몇 계층들을 가질 수 있고, 즉, 하위 계층들에서의 일부 파트들은 상위 계층들에 의해 은닉됨)를 통해 중의 어느 하나로 합성 비디오로 붙여진다.
이러한 계층화된 합성된 비디오에 대하여, 그리고 예(160)를 고려하면, 비디오(162)로부터 나오는 공간적 파트 1은 상위 계층에서 배치되는 반면, (또는 심지어 전체) 비디오(161)로부터의 다른 공간적 파트들은 하위 계층에서 배치된다.
도 2는 비디오 비트-스트림에서의 공간적 파트들 또는 타일들을 설명하는 스트리밍 매니페스트의 예를 예시한다. MPEG DASH의 특정한 경우에, 하나의 공간적 관계 디스크립터(Spatial Relationship Descriptor)(SRD)는 각각의 타일, 타일 영역, 또는 공간적 파트의 설명과 연관될 수 있다.
예시를 위하여, 비디오(200)는 4개의 타일들로 파티셔닝된다. 대응하는 DASH MPD 매니페스트(210)의 예는 SRD를 갖는 각각의 공간적 파트(타일들 1, 2, 3, 및 4)의 설명을 예시한다. 여전히 예시를 위하여, 타일들 1 및 2에 대한 오직 MPD 설명이 도시된다.
식별자 id="1"을 가지는 제1 적응 세트(Adaptation Set)는 타일 1의 설명에 대응한다. 그것은 1920x1080 픽셀들(전체 비디오 프레임의 1/4)의 해상도를 갖는 하나의 표현(Representation)을 포함한다. (SupplementalProperty 디스크립터를 이용하는) SRD 디스크립터는 이 비디오가 1과 동일한 source_id에 연관된 참조 프레임의 (0, 0)에서, 220으로 나타내어진 상부-좌측 코너의 포지션을 갖는, 1과 동일한 source_id("value" 속성의 제1 파라미터)를 갖는 (매니페스트에서 설명되지 않은) 비디오의 공간적 파트인 것을 특정한다. 이 공간적 파트의 크기는 각각의 방향에서의 참조 프레임의 절반을 표현한다(221로 나타내어진 폭 및 높이는 222로 나타내어진 참조 프레임의 2개의 임의적인 유닛들 상에서 1 개를 커버함). 전체 참조 공간이 실제로는 4k2k 비디오(3840x2160 픽셀들)를 표현한다는 것은 SRD 디스크립터로부터 추론될 수 있다.
식별자 id="2"를 가지는 제2 적응 세트의 SRD 디스크립터에서 기재된 바와 같이, 이 적응 세트는 또 다른 공간적 파트(타일 2)의 설명을 포함한다. 이 SRD 디스크립터는 참조들(231 및 232)로 예시된 바와 같은 제1 타일과 동일한 크기들을 갖는 참조(230)로 예시된 바와 같이, 타일이 제1 적응 세트가 아니라 동일한 참조 프레임에 귀속한다는 것(동일한 source_id = 1)과, 타일이 x-축 상의 중간-범위(값 1/2)에서 그리고 y-축의 기저부(base)(값 0) 상에서 위치된다는 것을 특정하기 위하여 SupplementalProperty 디스크립터를 이용한다.
유사한 SRD-기반 접근법을 이용하면, 도 1에서 예시된 비디오 프레임은 9개의 적응 세트들로서, 타일 당 하나씩 표현될 수 있고, 각각의 적응 세트는 각각의 품질 레벨의 비디오 비트-스트림을 설명하는 3개의 대안적인 표현 엘리먼트들을 포함한다.
도 1 및 도 2로부터, 스트리밍 클라이언트 장치는 그 공간적 관계들을 갖는 비디오 스트림들의 상이한 버전들에 대해 통지받는 것을 알 수 있다. 그러나, 그 개개의 품질 및 대역폭이 변동될 때에 어떻게 적응시킬 것인지에 대해서는 정보가 제공되지 않는다. 예를 들어, 사용자 장치가 도 1 상에서 타일 영역(105)을 선택할 때, 네트워크 대역폭이 ROI(105)에 대응하는 미디어 세그먼트들 플러스 이 ROI(105)를 둘러싸는 미디어 세그먼트들의 스트리밍을 동일한 고 품질 레벨에서 허용하는지 또는 그렇지 않은지 여부가 결정될 수 없다.
상이한 조합들 및 상이한 적응 전략들이 실제적으로 가능하지만, 클라이언트는 네트워크 대역폭 및 렌더링 품질을 고려하여 어느 조합들이 이용되어야 하는지를 (버퍼 결핍 및 디스플레이 동결을 회피하기 위하여) 신속하게 판정해야 한다. 이것은 전용 적응 로직을 가지는 진보된 클라이언트 장치들을 이용함으로써, 스트리밍 매니페스트들에서 적절한 시그널링을 프로세싱하는 표준 클라이언트 장치를 이용함으로써, 또는 적절한 조합들을 선택하거나 스트리밍함에 있어서 클라이언트를 돕는 품질-인지 서버 장치들에 의해, 컨텐츠 데이터를 준비할 때, 상이한 전략들에 따라 행해질 수 있다.
도 3은 발명의 실시예들을 구현하는 것을 가능하게 하는 DASH 서버 장치 및 클라이언트 장치를 예시한다.
예시된 바와 같이, 미디어 서버 장치(300)는 미디어 프리젠테이션들, 그 중에서도, 특히, 상이한 미디어 컨텐츠 컴포넌트들, 예컨대, 오디오 및 비디오 데이터 스트림들을 포함하는 미디어 프리젠테이션(305)을 포함한다. 오디오 및 비디오 스트림들은 인터리빙(interleaving)될 수 있거나 독립적으로 저장될 수 있다. 미디어 프리젠테이션은 (상이한 비트레이트(bitrate), 품질, 해상도, 샘플링 레이트, 예를 들어, 360° 비디오와 같은 무지향성 미디어에서의 상이한 뷰 포인트(point of view) 등을 갖는) 동일한 미디어 컨텐츠 컴포넌트들의 대안적인 버전들을 제안할 수 있다.
예를 들어, 이 미디어 프리젠테이션의 미디어 컨텐츠 컴포넌트들은 ISO 기본 미디어 파일 포맷에 따라 캡슐화되고, DASH 추천들에 따라 설명되고 스트리밍된다. 캡슐화 단계의 결과로서, 각각의 대안적인 버전(또는 DASH 상황에서의 표현, 예컨대, 표현 1표현 2)은 독립적으로 어드레싱될 수 있고 다운로딩될 수 있는, 작은 독립적인 그리고 연속적인 시간적 미디어 세그먼트들(예컨대, 각각 시간적 미디어 세그먼트들(310-1 내지 310-3, 및 311-1 내지 311-3), 예를 들어, DASH 및 ISO 기본 미디어 파일 포맷 표준들(각각 ISO/IEC 23009-1 및 ISO/IEC 14496 파트들 12 및 15)을 준수하는 미디어 세그먼트들로 시간적으로 분할된다. 각각의 미디어 세그먼트는 컨텐츠가 멀티플렉싱되는지 또는 그렇지 않은지 여부에 따라, 하나 이상의 미디어 컨텐츠 컴포넌트들을 포함할 수도 있다. 어드레스들(즉, 예시된 예에서의 HTTP URL 어드레스들)은 모든 미디어 세그먼트들에 대하여 서버 장치(300)에 의해 설정되고, 미디어 프리젠테이션을 설명하는 매니페스트(315)는 (예를 들어, 도 5a를 참조하여 설명된 바와 같이) 작성된다.
매니페스트, 예를 들어, MPD는 주어진 미디어 프리젠테이션에 대하여 액세스될 수 있는 모든 미디어 컨텐츠 컴포넌트들을 설명하는 문서, 전형적으로, XML 파일(또는 심지어, HTTP 라이브 스트리밍을 위한 평범한 텍스트 파일)인 것이 상기되어야 한다. 이러한 설명은 미디어 컨텐츠 컴포넌트들의 유형들(예를 들어, 오디오, 비디오, 오디오-비디오, 메타데이터, 또는 텍스트), 미디어 세그먼트들의 지속기간(duration)들, 및 미디어 세그먼트들과 연관된 어드레스들(예컨대, URL), 다시 말해서, 미디어 컨텐츠 컴포넌트들이 그로부터 획득될 수 있는 어드레스들을 포함할 수도 있다. 미디어 컨텐츠 컴포넌트들은 동일한 컨텐츠의 대안적인 버전들로서, 또는 동일한 컨텐츠의 파트들(예를 들어, 공간적 파트들, 또는 SRD를 갖는 비디오의 관심 영역들 또는 타일들, 또는 가상 현실 또는 무지향성 미디어 컨텐츠에서의 뷰포트(viewport))로서, 또는 함께 제시되거나 디스플레이되도록 의도된 컨텐츠 컴포넌트들을 설명하는 "미디어 경험"의 파트들로서 설명될 수 있다.
전형적으로, MPD는 도 4에서 도시된 바와 같은 계층적인 데이터 모델에 기초한다.
도 4는 MPEG DASH 사양에 따른 DASH에서의 미디어 프리젠테이션의 전형적인 설명을 예시한다.
예시된 바와 같이, 그것은 주기(Period) 엘리먼트에 의해 각각 설명되는 400으로 나타내어진 하나 또는 몇몇 주기들로 주로 이루어지고, 각각의 주기 엘리먼트는 시작 시간 및 지속기간을 가진다. 결국, 각각의 주기 엘리먼트는 401로 나타내어진 하나 또는 몇몇 적응 세트 엘리먼트들에 주로 있다.
적응 세트 엘리먼트는 참조(402)로 예시된 바와 같이, 하나 또는 다수의 미디어 컨텐츠 컴포넌트들 및 그 다양한 인코딩된 대안들에 대한 정보를 제공한다. 동일한 미디어 컨텐츠 컴포넌트의 각각의 인코딩된 대안은 403으로 나타내어진 하나 또는 몇몇 미디어 및/또는 초기화 세그먼트들로 전형적으로 이루어지는 표현으로서 지칭된다.
도 3으로 다시 돌아가면, 그리고 예시를 위하여, 미디어 프리젠테이션(305)으로부터의 적응 세트의 오직 하나의 예는 서버 장치(300)와 함께 예시된다. 예시된 예에 따르면, 이 적응 세트는 미디어 세그먼트가 상이한 미디어 유형들의 멀티플렉싱된 데이터를 또한 포함할 수도 있는 것으로 관찰되는, 주어진 미디어 유형의 동일한 컨텐츠의, 310 및 311로 나타내어진 2개의 대안적인 버전들을 포함한다. 각각의 버전은 연속적인 시간적 미디어 세그먼트들로, 예를 들어, 3개의 연속적인 시간 간격들에 대응하는 3개의 연속적인 시간적 미디어 세그먼트들(310-1 내지 310-3, 및 311-1 내지 311-3)로 분할된다.
이러한 매니페스트 파일은 전형적으로 HTTP 상에서, 클라이언트 장치(320)로 전송될 수 있다(단계(325)).
수신된 후에, 매니페스트 파일(315)은 어느 프리젠테이션들이 이용가능한지와, 미디어 프리젠테이션(305)의 어느 미디어 세그먼트들(310-1 내지 310-3, 및 311-1 내지 311-3)이 액세스가능한지를 결정하기 위하여 클라이언트 장치의 파서(parser)(307)에 의해 분석된다.
매니페스트 파일(315)은 이 미디어 세그먼트들의 http 어드레스들, 및 이 미디어 세그먼트들 사이의 관련성들을 결정하기 위하여 또한 이용된다. 설명 파일(315) 및 310 및 311로 일반적으로 나타내어진 미디어 세그먼트들은 상이한 서버들 상에서 저장될 수 있다는 것이 여기에서 주목되어야 한다. 또한, 매니페스트 파일(315)은 디스크립터들, 예를 들어, <Role> 엘리먼트 또는 <Label> 엘리먼트의 이용을 통해, 또는 <EssentialProperty> 또는 <SupplementalProperty> 엘리먼트들과 같은 일반적인 디스크립터를 통해 미디어 프리젠테이션의 컨텐츠에 대한 정보의 항목들을 부여한다. 정보의 이 항목들은 해상도, 비트-레이트, 및 유사한 정보를 포함할 수도 있다.
수신된 설명을 고려하면, 클라이언트 장치(320)의 적응 로직 모듈(308)은 그러므로, 이 미디어 세그먼트들을 다운로딩하기 위한 대응하는 http 요청들(단계(330))을 전송하기 위하여 적절한 버전들로부터 미디어 세그먼트들을 선택할 수 있다.
이에 응답하여, 서버 장치(300)는 요청된 시간적 미디어 세그먼트들을 송신한다(단계(335)). http 응답(335)에서 수신된 이 시간적 미디어 세그먼트들은 파서 모듈(340)(예를 들어, mp4 또는 ISOBMFF 판독기)에 의해 파싱(또는 역캡슐화)될 수 있고, 각각의 미디어 스트림은 적절한 미디어 디코더(341 및 342)로 전송된다. 미디어 유형 당 적어도 하나의 디코더(예컨대, 오디오에 대한 디코더(341) 및 비디오에 대한 디코더(342)) 및 임의적으로, 미디어 유형에 대한 몇몇 추가적인 디코더들, 예를 들어, 비디오에 대한 디코더들(343)이 있다. 예를 들어, 오디오와 같은 다른 미디어 유형들에 대한 추가적인 디코더들이 마찬가지로 있을 수 있다.
마지막으로, 디코딩된 미디어 스트림들은 디스플레이 모듈(345)에서 렌더링된다. 때때로, 디스플레이 모듈(345)은 예를 들어, 파노라마 이미지(panorama image)를 새로운 참조 프레임(디스플레이 참조 프레임)으로 투영하기 위한 변환 프로세스, 또는 큰 이미지를 작은 디스플레이 윈도우로 맞추기 위한 클립핑 모듈(clipping module), 또는 필터들을 예를 들어, 디코딩된 이미지들 상으로 적용하기 위한 포스트-프로세싱 능력들을 포함한다.
서버 장치(300)는 각각이 다음의 단계들 중의 하나 이상을 수행하는 별도의 서버 장치들 또는 디바이스들로 이루어질 수도 있다는 것이 주목되어야 한다:
- 미디어 컨텐츠의 생성,
- 파일 포맷에서의 미디어 스트림의 캡슐화,
- 스트리밍 매니페스트 또는 플레이리스트 파일(playlist file)의 생성,
- 미디어 프리젠테이션의 송신, 및
- 가장 자주 컨텐츠 세그먼트들로서의 미디어 컨텐츠의 송신.
클라이언트 장치는 이에 따라, 제1 서버 장치, 예를 들어, 애플리케이션 서버 장치로의 매니페스트에 대한 요청들, 및 하나 이상의 다른 서버 장치들, 예를 들어, 미디어 서버 장치들 또는 스트리밍 서버 장치들로의 미디어 컨텐츠에 대한 요청들을 발행할 수도 있다. 미디어 샘플들을 송신하는 서버 장치는 예를 들어, 미디어 데이터가 CDN(Content Delivery Network)(컨텐츠 전달 네트워크)를 통해 전달될 경우에 또한 상이할 수도 있다.
특정한 실시예들에 따르면, 서버 장치(300)는 DASH 파트-6으로부터의 푸시 지시(push Directive)들을 지원하는 HTTP/2 서버 장치이다. 이러한 경우에, 클라이언트 장치가 HTTP/2 및 유리하게도 DASH 파트-6을 또한 지원한다면(DASH-파트-6을 지원하는 것은 "서버 제어"로서 지칭된 특정 실시예들을 제외하고는, 발명을 구현하기 위하여 요구되지 않는다는 것에 주목함), 일부 데이터는 참조(336)로 예시된 바와 같이, 클라이언트 장치(320)로와 같이 푸시될 수 있다.
도 5a 및 도 5b를 포함하는 도 5는 서버 장치 관점 및 클라이언트 장치 관점으로부터의 미디어 데이터의 스트리밍 동안의 렌더링 품질을 개선하기 위한 품질 규칙들의 이용을 각각 예시한다.
도 5a는 "컨텐츠 생성" 실시예에 따라, 전달을 위하여 컨텐츠 데이터 저자들에 의해, 미디어 스트림의 준비에 대한 상이한 대안들을 예시한다.
예시된 바와 같이, 이러한 실시예들의 제1 단계는 미디어 프리젠테이션으로 또한 칭해진 멀티미디어 컨텐츠를 레코딩하는 것, 예를 들어, 오디오 레코딩(단계(501)) 및 비디오 레코딩(단계(502))에 대한 것이다.
레코딩된 멀티미디어 컨텐츠는 그 다음으로, 특히, 비디오 데이터로부터, 사용자가 각각 505 및 506으로 일반적으로 나타내어진 오디오 및/또는 비디오 인코더들을 제어하기 위하여 활용할 수 있는 일부 특징들을 추출하기 위하여, 비디오 분석 모듈(503)에서 임의적으로 프로세싱될 수 있다.
예시를 위하여, 비디오 분석은 미래의 인코딩을 위하여 비디오에 의해 표현된 장면의 복잡도의 레벨을 추정할 수 있고, 일부 관심 영역들을 검출할 수 있고, 일부 멀티-스트림 인코딩, 예를 들어, 배경에 대한 하나 및 ROI에 대한 하나를 사용자에게 제안할 수 있고, 공간적 에어리어들로의 파티셔닝을 제안할 수 있다. 비디오 분석은 비디오 인코더들(506)을 직접적으로 구성할 수 있다. 대안적으로, 사용자는 단계(531)를 통해 비디오 인코딩 구성들에 대한 제어를 유지할 수 있다. 이러한 단계는 스케일러블 포맷을 이용하든지 또는 그렇지 않든지 간에, 또는 다수의 독립적인 스트림들 또는 단일 비디오 비트-스트림을 선택하든지 간에, 사용자가 인코딩 포맷을 선택하는 것을 가능하게 한다.
사용자는 관심 영역들을 인코딩하고 관심 영역 및 배경에 대한 상이한 압축 비율을 정의하도록 또한 판정할 수 있다. 다수의 관심 영역들이 인코딩될 수 있다. 사용자는 일부 동적 적응 가능성들을 더 이후에 제공하기 위하여 동일한 컨텐츠의 하나 이상의 버전들(전체 비디오, 타일, ROI...)을 인코딩하도록 판정할 수 있다. 파티셔닝은 클라이언트들이 인코딩된 비디오 비트-스트림에서 임의의 타일 영역을 선택하고 스트리밍하는 것을 가능하게 하기 위하여 단계(531) 동안에 사용자에 의해 정의될 수 있다.
동일 사항은 오디오 데이터 및 오디오 인코딩에 적용된다.
비디오 분석 모듈은 메타데이터 스트림들(텍스트 데이터, 또는 XML 또는 JSON과 같은 구조화된 데이터), 아마도, 비디오 및/또는 오디오 프레임들과 시간 정렬될 수 있는 시간지정된 메타데이터로서 고려될 수 있는 비디오 주석부기(video annotation)들을 또한 생성할 수 있다. 사용자가 레코딩된 컨텐츠에 대한 추가적인 자원들을 가질 경우, 추가적인 자원들은 미디어 프리젠테이션에 대한 정보를 제공하는 다른 메타데이터 트랙들로서 또한 추가될 수 있다. 비디오 분석 모듈은 또한, 미디어 인코더들(505 또는 506)로부터 정보 및/또는 통계들을 얻을 수 있고, 정보의 대응하는 항목들을 메타데이터 트랙들로서 저장할 수 있다. 예를 들어, 비디오 비트-스트림들의 경우에, 정보의 품질 항목들은 프레임에 기초하여 저장될 수 있다. 공간적 파티셔닝이 사용자에 의해 구성될 때, 정보의 이 항목들은 타일에 기초하여 저장될 수 있다.
인코딩이 행해질 때, 모든 미디어 스트림들 플러스 메타데이터 스트림들은 하나 이상의 미디어 파일들로 캡슐화된다. 다시, 사용자는 미디어 컨텐츠가 캡슐화되는 방법을 구성할 수 있다(단계(532)). 예를 들어, 비디오 비트-스트림들은 하나의 트랙에서, 또는 별도의 트랙들에서 캡슐화될 수 있다. 특정한 실시예들에 따르면, 인코딩 포맷이 타일들을 갖는 HEVC 또는 계층화된 HEVC일 경우, 사용자는 타일 영역 디스크립터로 타일 트랙에서의 각각의 타일을 캡슐화할 수 있고, 공통적인 정보를 타일 기본 트랙으로 수집할 수 있다.
독립적인 스트림들이 인코딩될 때, 사용자는 그 자신의 트랙에서 하나의 비디오 비트-스트림을 캡슐화할 수 있다. 이 비디오 비트-스트림들이 실제적으로 또 다른 비디오의 공간적인 파트들일 경우, 사용자는 (ISO/IEC 14496-15 제4 판의 섹션 10에서 정의된 바와 같은) 'trif'로서 알려진 타일 영역 디스크립터로 각각의 비디오 트랙을 주석부기할 수 있다. 사용자 설정들 또는 비디오 분석 모듈에 따라, 사용자는 트랙에서 캡슐화된 공간적 파트들의 세분화(granularity)를 제어할 수 있다.
메타데이터 트랙이 비디오 주석부기(507) 또는 일부 사용자 설명(508)과 같이 존재할 때, 이 메타데이터 트랙은 트랙 참조 유형 'cdsc'을 통해 관련된 비디오 트랙과 연관될 수 있다. 이것은 메타데이터 트랙이 비디오 트랙에 대한 설명적 정보를 포함한다는 것을 표시한다. 메타데이터 트랙의 예는 ISO/IEC 23001-10에서 정의된 바와 같은 동적 ROI 정보 또는 품질 메트릭들일 수 있다.
다음으로, 캡슐화 단계(509) 후에, 사용자는 적응적 스트리밍을 위하여 데이터의 패키징을 제어할 수 있다(단계(533)). 이 단계는 mp4(ISO BMFF) 기록기(writer)에 의해 특정한 실시예에 따라 수행될 수 있다. MPEG CMAF, WebM, Matroska, 또는 MPEG-2 전송 스트림과 같은 다른 패키징 또는 설명적 포맷들이 또한 이용될 수 있다. 이 단계 동안에, 사용자는 (단계(532)에서 선택된 캡슐화 포맷이 단계(533)에서 선택된 스트리밍 프로토콜에 의해 지원된다는 것을 확인하여) 적응적 스트리밍 포맷, 예를 들어, DASH, HLS, 또는 평탄한 스트리밍을 선택할 수 있다.
특정한 실시예에 따르면, 사용자는 DASH를 선택하고, 이에 따라, 매니페스트 파일로서의 MPD의 생성, 및 초기화 및 미디어 세그먼트들의 생성으로 이어진다. 초기화 세그먼트들은 클라이언트 장치들의 디코더들을 셋업(setup)하기 위한 데이터를 포함하는 반면, 미디어 세그먼트들은 실제적으로 미디어 데이터를 포함한다. 단계(531)에서의 인코딩 선택들 또는 미디어 인코더들(505 및 506)의 (고정된 설정들이 있을 경우의) 구성에 따라, 동일한 미디어 컴포넌트의 몇몇 대안적인 버전들이 있을 수 있다. 미디어 컴포넌트는 하나의 오디오 스트림, 또는 하나의 비디오 스트림, 또는 하나의 메타데이터 스트림, 또는 특정한 미디어 유형을 갖는 임의의 스트림이다. 비디오 스트림은 실제적으로, 전체 비디오에 대응할 수 있거나, 또는 타일, 타일의 세트와 같은, 또는 관심 영역에 대응하는 전체 비디오의 파티션들에 대응할 수 있다.
라이브 컨텐츠에 대하여, 사용자 제어 단계들(531, 532, 및 533)은 일부 지연을 도입하므로 가능하지 않을 수도 있다는 것이 주목되어야 한다. 이러한 시나리오에서, 사용자는 인코딩(505, 506), 캡슐화(509), 및 매니페스트 및 세그먼트들을 생성하는 것(510)을 담당하는 상이한 모듈들을 선험적으로 구성한다.
도 5b는 클라이언트 장치(예를 들어, 도 3에서의 클라이언트 장치(320))에 의해 미디어 데이터를 프로세싱하기 위한 단계들의 예를 예시한다.
예시된 바와 같이, 제1 단계는 예를 들어, 비디오들이 스트리밍될 수 있는 웹 사이트를 통해, 또는 스트리밍 포탈 서비스(portal service) 상에서 스트리밍 서비스를 액세스하는 것(단계(550))에 대한 것이다. 서비스를 액세스하고 비디오 상에서 선택하거나 클릭함으로써, 클라이언트 장치는 스트리밍 매니페스트를 요청한다(단계(551)). 일부 경우들에는, 클라이언트 기능들 및 연관된 적응 로직이 웹 페이지에서, 또는 사용자가 접속하고 있는 스트리밍 서비스에서 응용적인 자바스크립트 코드(Javascript code)로서 내장될 수 있다는 것이 주목되어야 한다. 이러한 경우에, 그것은 사용자 인터페이스 및 디스플레이로서 작용하는 웹 브라우저(Web browser)에 의해 작동된다. 대안적으로, 스트리밍 클라이언트는, 클라이언트 장치에서 소프트웨어 모듈로서 구현되고 그 자신의 적응 로직(들)을 갖는 단독형 애플리케이션일 수 있다.
수신(단계(552) 후에, 매니페스트는 미디어 자원들 및 그 대안적인 표현들의 측면에서 미디어 프리젠테이션 편성의 메모리-내 표현 또는 컴파일링된 MPD를 구축하기 위하여 파싱된다(단계(553)).
매니페스트로부터, 클라이언트는 합성들 또는 사전선택(preselection)들이 매니페스트 파일에서 선언되는지를 결정할 수 있다(테스트(554)). 이것은 <Preselection> 엘리먼트 또는 디스크립터, 또는 자원들이 (미디어 비트-스트림의 역캡슐화 및 생성을 위한) 파서 및 미디어 디코더에 제공되기 전에 집합될 수도 있다는 것을 표시하는 다른 디스크립터를 검색함으로써 행해질 수 있다. 타일링된 비디오들의 특정한 경우에, 이것은 타일 기본 트랙에 대응하는 표현 또는 적응 세트, 및 타일 트랙들을 설명하는 관련된 표현들 또는 적응 세트들이 있는지를 체크하는 것으로 이루어질 수 있다. 타일 트랙들은 표현(Representation), 적응세 트(AdaptationSet), 사전선택(Preselection), 또는 서브표현( SubRepresentation ) 엘리먼트들에서의 ('hvt1'로 시작하는 값을 갖는) 코덱들 속성을 통해 용이하게 식별될 수 있다.
합성들 또는 사전선택들이 매니페스트 파일에서 선언될 경우, 그리고 클라이언트 장치가 이 합성들 또는 사전선택들을 처리할 수 있을 경우에(테스트(555)), 클라이언트 장치는 선택 프로세스가 네트워크 조건들(예를 들어, 대역폭 변동들 또는 지연 변동들)로의 동적인 적응을 위하여 수행되어야 한다는 것을 인지한다. 다음으로, 클라이언트 장치는 클라이언트 장치가 (이후로 설명된 바와 같이) 요청하기 위한 데이터의 조합을 결정하는 것을 돕는 품질 적응에 대한 일부 안내를 제공하는 매니페스트에서의 추가적인 설명을 검색하기 위하여 매니페스트 파일을 검사한다(단계(556)).
매니페스트가 이러한 추가적인 정보를 포함하지 않을 경우에, 클라이언트 장치는 그것이 매니페스트에서 설명된 진보된 경험(즉, 동시에 플레이되어야 할 동일한 미디어 유형을 갖는 몇몇 미디어 컴포넌트들의 조합들, 합성들, 또는 사전선택들)을 지원할 수도 있는지 또는 그렇지 않은지 여부를 판정할 수 있다(테스트(557)).
클라이언트 장치가 이러한 진보된 경험을 지원하지 않을 경우, 클라이언트 장치는 ("서버 제어" 실시예들을 참조하여 이후로 설명된 바와 같은) 서버 장치와의 협상을 통해 그것이 품질 적응을 처리하기 위하여 서버에 의존할 수 있는지를 결정한다(테스트(558)).
클라이언트 장치가 품질 적응을 처리하기 위하여 서버에 의존할 수 있을 경우, 클라이언트 장치는 관심 있는 주요 미디어 컴포넌트, 예를 들어, 사전선택에서의 주요 자원, 타일링된 비디오에서의 오직 ROI, 360° 비디오에서의 사용자 뷰, 또는 메타데이터 스트림들과 같은 연관된 추가적인 자원들을 갖지 않는 오직 하나의 미디어 스트림을 요청하고(단계(559)), 클라이언트 장치는 추가적인 컨텐츠(동일한 미디어 유형을 갖는 미디어 컴포넌트들의 합성의 사전선택 또는 조합의 나머지 컨텐츠)를 수신하기 위하여 힌트들을 서버 장치에 제공한다.
클라이언트 장치가 품질 적응을 처리하기 위하여 서버에 의존할 수 없을 경우(테스트(558)), 서버는 일부 특징들이 이용가능하지 않을 수도 있다는 것을 사용자 장치에 통지할 수 있고(단계(560)), 예를 들어, 전체의 합성된 비디오(예를 들어, ROI 플러스 둘러싸는 타일들) 상에서의 평탄한 품질을 위한 일부 뷰잉 모드들이 불허용될 수도 있다. 그것은 또한, 지원되지 않은 특징들에 대하여 (사용자 뷰 포인트로부터) 침묵 상태로 유지될 수 있고, 사용자에게 제공된 내비게이션 메뉴들 및/또는 특징들을 그래픽 인터페이스에서 적응시킬 수 있다. 이것은 예를 들어, 단계(553)에서 구축된 MPD 또는 컴파일링된 MPD의 메모리-내 표현에서 합성들, 조합들, 또는 사전선택들을 선언하는 MPD 엘리먼트들을 고려하지 않음으로써 행해질 수 있다. 이러한 경우에, 클라이언트는 주어진 미디어 유형의 오직 하나의 미디어 컴포넌트가 한 번에 스트리밍되는 기본적인 DASH로 폴백(fallback)한다(단계(561)).
예시된 바와 같이, 동일 사항은 클라이언트 장치가 합성들 또는 사전선택들을 처리할 수 없을 경우에 적용된다(테스트(555)).
클라이언트 장치가 진보된 경험을 지원할 경우(테스트(557)), 그것은 매니페스트에서 선언된 조합들, 사전선택들, 또는 합성을 플레이할 수 있다. 따라서, 클라이언트 장치는 이후로 설명된 스트리밍 동안에, 진보된 적응 로직을 활성화하고 적용한다(단계(562)). 다음으로, 클라이언트 장치는 합성, 사전선택, 또는 조합의 모든 선택된 미디어 컴포넌트들에 대응하는 상이한 미디어 세그먼트들을 요청한다. 다운로딩하기 위한 각각의 세그먼트에 대한 적절한 버전은 진보된 적응 로직에 의해 컴퓨팅된다.
매니페스트가 품질 적응 규칙들로서 또한 지칭된, 품질 적응에 대한 일부 안내를 제공하는 추가적인 정보(테스트(556)), 예를 들어, 단일 합성 비디오로서 플레이되어야 할 인접한 비디오 스트림들 사이의 인가된 품질 열화를 포함할 경우, 클라이언트 장치는 요청하기 위한 적절한 미디어 세그먼트들의 선택을 위하여 그것에 의존할 수 있다(단계들(563 및 564)).
마지막으로, 수신된 미디어 세그먼트들은 클라이언트의 파서에 주어지고, 사용자로의 렌더링을 위하여 적절한 미디어 디코더들로 추가로 디스패치(dispatch)된다. 그 다음으로, 클라이언트는 예를 들어, 이용가능한 대역폭, 그 미디어 버퍼의 충전 레이트(filling rate) 등에 따라, 미디어 컨텐츠 컴포넌트 버전의 선택을 재고려하여 미디어 프리젠테이션의 시간적 세그먼트들에 대하여 반복한다.
클라이언트 장치는 전체 스트리밍 세션(session) 동안에 동일한 요청 모드를 유지할 수 있거나, 변경하도록 판정할 수 있다. 요청 모드에서의 변경(단계(561, 559, 562, 또는 563)은 클라이언트 장치 판정에 대하여, 또는 사용자 입력에 대하여, 또는 서버 장치에 따라 발생할 수 있다. 하나의 예는 사용자가 그의 뷰잉 모드를 변경할 때이고, 예를 들어, 전체 비디오 내의 관심 영역의 뷰로부터 오직 ROI를 갖는 뷰로 변경하는 것이다. 이 예는 예를 들어, ROI가 하나의 타일에 대응할 경우에, 기본적인 미디어 스트림 요청(단계(561))으로 스위치 백(switch back)하는 것으로 이어질 것이다.
마찬가지로, 클라이언트 장치는 품질 규칙들의 표시(테스트(556) 및 단계들(563 및 564))에도 불구하고, 그 자신의 진보된 적응 로직(단계(562)을 적용하도록 판정할 수 있다. 그러나, 스트리밍되어야 할 데이터의 조합을 결정하는 것을 시도하는 클라이언트 장치는 적응 쟁점들(예를 들어, 디스플레이 동결, 버퍼 결핍 또는 오버플로우(overflow), 또는 디코딩하고 및/또는 디스플레이하기에 너무 연산 집약적인 합성된 미디어 스트림들)을 직면할 수도 있다. 이러한 경우에, 클라이언트는 그 요청 모드를 예를 들어, 단계(562)로부터 단계(563)로 변경하도록 판정할 수도 있다. 또 다른 예는, 서버 장치에 따라, 예를 들어, 데이터 푸싱(data pushing)을 이용하여, 클라이언트 장치가 서버 장치에 의존하도록 판정하는 경우(단계(559))이고, 그 서버 장치는 일부 포인트에서, 푸싱을 정지하도록 판정한다. 이러한 경우에, 클라이언트 장치는 기본적인 모드로 폴백할 수도 있거나(단계(561)), 다수의 미디어 컴포넌트들의 선택을 적응시키는 것을 스스로 시도할 수도 있다(단계(562)). 여하튼, 매니페스트에 추가되는 품질 규칙들 적응을 위한 주석부기들은 컨텐츠 작성자로부터(또는 미디어 컨텐츠를 집합시키는 MPD 편집자로부터) 클라이언트 장치로의 단지 제안들이다. 클라이언트 장치는 그것을 이용할 것인지 또는 그렇지 않을 것인지(즉, 단계(563)를 수행하는지 또는 그렇지 않은지)를 판정할 수 있다.
일부 브라우징 모드들이 사용자에게 제공될 수도 있다는 것이 또한 주목되어야 한다. 예를 들어, 정적 ROI가 인코딩 시간에서 결정될 때, 사용자는 오직 ROI, 전체 비디오에서의 그러나 최상의 품질을 갖는 ROI, 또는 ROI 주위의 전체 비디오의 크롭 사이에서 선택하기 위하여 하나의 ROI가 존재한다는 것을 통지받을 수도 있다. 2개의 최후의 가능성들에 관하여, 특정 적응 로직은 클라이언트가 양호한 타일들의 세트를 선택하는 것을 돕기 위하여 이용될 수도 있다. ROI는 또한, 동적일 수 있거나, 품질을 최적화하기 위하여 시도하기 위한 비디오의 선호된 파트로서 사용자-선택될 수 있다. 선택된 에어리어가 다수의 비디오 컴포넌트들에 대응할 경우, 일부 진보된 적응은 전체 이미지에 대한 일관된 품질을 보장하기 위하여 또한 요구된다. 마찬가지로, 가상 현실 또는 무지향성 컨텐츠로의 애플리케이션들에 대하여, 상이한 품질들이 사용자의 현재의 뷰 포인트와 둘러싸는 에어리어들 사이에서 선택될 수도 있다. 사용자가 가상적인 장면에서의 또 다른 포인트를 주시하거나 무지향성 비디오에서의 또 다른 에어리어로 주시할 때, 품질이 너무 많이 하락하지 않도록(즉, 상이한 에어리어들 사이의 품질 격차 또는 품질 차이는 제어되어야 함), 현재의 뷰 포인트 및 둘러싸는 에어리어들에 대한 품질들에서 양호한 균형이 있다.
품질 규칙들의 적용
특정한 실시예들에 따르면, 일부 시그널링은 (예를 들어, 도 5a의 단계(533) 동안에) 매니페스트 생성을 위하여 삽입된다. 컨텐츠 작성자는 미디어 컨텐츠 컴포넌트들, 특히, 동일한 미디어 유형(예를 들어, 몇몇 타일들)을 갖는 미디어 컨텐츠 컴포넌트들의 선택에 있어서 클라이언트 장치들을 돕는 일부 품질 적응 규칙들을 제공한다. 이 실시예들에 따르면, 컨텐츠 작성자는 컨텐츠 준비를 더 용이하게 하고 미디어 프리젠테이션 설명을 더 가볍게 하는 모든 가능한 조합들을 설명할 필요가 없다. 또한, 정적 품질 규칙이 매니페스트에서의 전부에 대하여 한번 정의될 수 있고 모든 가능한 조합들의 연산을 요구하지 않으므로, 그것은 라이브 컨텐츠 패키징을 위하여 더 많이 적응될 수도 있다. 이 품질 적응 규칙들은, 동일한 미디어 유형의 다수의 미디어 컨텐츠 컴포넌트들의 선택의 경우에, 컨텐츠 작성자에 의해 계획된 유리한 조합들이 존재한다는 것을 클라이언트 장치에 통지하도록 의도된다.
이러한 품질 규칙들의 이용은 합성된 미디어 스트림의 더 양호한 전체적인 렌더링 품질, 예를 들어, ROI와 그 둘러싸는 타일들 사이의 평탄한 품질로 귀착된다.
이러한 품질 규칙들의 존재에도 불구하고, 클라이언트 장치는 이 표시들을 따르지 않도록 판정할 수 있다는 것이 주목되어야 한다. 마찬가지로, MPD의 이 확장을 지원하지 않는 과거의 클라이언트는 정보의 이러한 항목들을 무시한다.
예시를 위하여, 어느 품질 적응 규칙들이 스트리밍 매니페스트에서 삽입되는지에 따른 이 실시예들은 DASH 컨텍스트에서, 즉, MPD의 확장으로서 설명된다. DASH 클라이언트들에 걸친 일관된 사용자 경험을 보장하기 위하여, 컨텐츠 작성자는 특히, 품질의 측면에서, 공간적으로 관련된 컨텐츠의 선택에 대한 일부 안내를 표시한다. 그 목적을 위하여, MPD는 미디어 컨텐츠 컴포넌트들을, 컨텐츠 작성자가 등가적인 것으로서 고려하는 품질 레벨을 가지는 동일한 미디어 유형과 연관시키기 위한 시그널링 수단을 제공한다. 이 정보는 비디오 분석 모듈(예컨대, 도 5a에서의 비디오 분석 모듈(503))에 의해, 또는 비디오 인코더들(예를 들어, 도 5a에서의 비디오 인코더들(506)), 로그(log)들로부터, 또는 (예를 들어, 도 5b에서의 단계(551) 동안에) 컨텐츠 작성자에 의해 정의된 파라미터들을 인코딩함으로써, 또는 미디어 컨텐츠를 인코딩할 때에 컨텐츠 작성에 의해 행해진 주관적인 테스트들로부터 결정될 수 있다.
품질 등가성 시그널링 또는 교차 적응 세트 품질 시그널링
표현의 품질 레벨은, 표현 엘리먼트가 전형적으로, 비디오와 동일한 미디어 유형을 가지는 미디어 컨텐츠 컴포넌트의 버전을 설명한다는 것이 상기되어, MPEG DASH 표준에 따른 표현 엘리먼트에서의 "qualityRanking (품질등급)" 속성에 의해 정의될 수 있다. qualityRanking 속성의 범위는 적응 세트 내부의 품질 레벨에 따라 표현들을 순서화하는 것을 가능하게 하기 위하여 하나의 적응 세트로 제한된다.
상이한 품질 레벨들을 가지는 이미지들 또는 타일들의 부분들의 조합은 적응 세트들에 걸쳐 표현들을 등급화할 필요가 있으므로, 해결책은 "qualityRanking" 속성에 기초하여 상이한 적응 세트들의 품질 레벨들 사이에서 링크들을 확립하는 것으로 이루어진다. 이것은 주기 레벨에서(또는 심지어, 품질 등급들이 하나의 주기로부터 또 다른 것으로 변경되지 않을 경우에 MPD 엘리먼트 레벨에서) 새로운 디스크립터를 이용함으로써 행해질 수 있다. 이러한 새로운 디스크립터는 다음과 같이 표현될 수 있다:
Figure 112019043697834-pct00001
여기서, 새로운 @schemeIdUri 값은 속성 @qualityRanking이 교차 적응세트 품질등급(cross AdaptationSet qualityRanking)을 제공하고 "value" 속성은 이 @qualityRanking 오버로딩(overloading)에 의해 관련된 적응세트들의 리스트를 제공한다는 것을 표시한다.
예를 들어, 이하에서 언급된 MPD 스닙펫(snippet)에서, 새로운 디스크립터는 주어진 주기에 대하여, id "1.1"을 갖는 표현 및 id "2.1"을 갖는 표현이 품질의 측면에서 등가적인 것으로 고려될 수 있다는 것을 표시한다.
이하의 MPD 예는 품질 등가성 디스크립터를 예시한다.
Figure 112019043697834-pct00002
이 품질 등가성에 대한 다른 대안들은 설명에서 추가로 설명된다. 품질 등가성에 대한 이 제1의 새로운 디스크립터는 해결책의 제1 파트이다. 또 다른 정보는 수락가능한 전체적인 품질을 갖는 합성된 비디오를 생성하도록 요구된다: 품질 열화의 측면에서 인가되는 것의 표시. 우리는 일반적으로 이 표시를 "품질 규칙" 디스크립터로 칭한다.
품질 적응 규칙(또는 품질 규칙) 표시
일단 품질의 측면에서의 유사성들이 상이한 적응세트들표현들 사이에서 결정되었으면, 표현들을 선택하거나 택하기 위한 품질 규칙은, 다시 말해서, 품질 열화의 측면에서 인가되는 것을 표시하기 위하여, 매니페스트 내에 추가되어야 한다.
이러한 품질 규칙은 재구성된 비디오의 전체적인 품질을 보존하기 위하여 양호한 타일들의 세트를 선택함에 있어서 클라이언트 장치를 돕는다. 그것은 품질 열화 패턴의 컨텐츠 작성자로부터의 표시이다.
예를 들어, 컨텐츠 작성자는 ROI에 대응하는 하나 이상의 타일들과 그 둘러싸는 타일들 사이에서 (품질 등급 유닛에서의) 1 레벨 이하의 품질 차이가 있어야 한다는 것을 표시할 수도 있다. 다시 말해서, 컨텐츠 작성자는 하나의 품질 레벨의 최대 품질 격차를 인가한다. 이것을 표현하기 위하여, 다음의 디스크립터가 이용될 수 있다:
Figure 112019043697834-pct00003
이 디스크립터는 이전의 것에 관하여, MPD 엘리먼트 레벨에서, 또는 주기 엘리먼트 레벨에서 배치될 수 있다. @schemeIdUri 속성의 값은 하나의 타일과 그 이웃 타일들 사이, 또는 더 일반적으로, 하나의 미디어 컴포넌트와 함께 디스플레이되어야 할 또 다른 미디어 컴포넌트 사이의 제안된 최대 품질 열화를 표시한다. 속성 @value는 상이한 적응 세트들로부터의 동일한 미디어 유형의 표현들의 세트를 플레이할 때, 클라이언트는 1 보다 더 큰 품질 등급에서의 차이를 가지는 인접한 표현들을 선택하지 않아야 한다는 것을 표시한다.
예시를 위하여, 이러한 적응 방식은 다음의 시나리오로 귀착될 수도 있다: 먼저, 클라이언트 장치는 최고 품질에서 합성된 비디오를 형성하는 모든 공간적 파트들을 선택하는 것을 시도하고; 이 선택에 대응하는 요구된 비트 레이트가 이용가능한 대역폭에 대하여 너무 높을 경우에, 그것은 관심 영역에 대응하는 것들을 제외하고, 모든 타일들에 대하여 더 낮은 품질 레벨로 스위칭하고; 그것이 비트레이트의 측면에서 너무 높게 유지될 경우, 그것은 ROI에 대응하는 타일들에 대하여, 그리고 또한, 둘러싸는 타일들에 대하여 더 낮은 품질 레벨로 스위칭한다. 이러한 품질 규칙의 이용 없이, 클라이언트 장치는 ROI에 대하여 최고 품질에서, 그리고 둘러싸는 타일들에 대하여 최저 품질에서 표현을 선택하였을 수 있고, 이것은 ROI 경계들 주위에서의 품질에서의 점프들로 이어졌을 것이고 열악한 사용자 경험을 생성하였을 것이다.
품질 규칙들을 시그널링하기 위하여 이용된 디스크립터는 또한, 파라미터들, 속성들, 또는 엘리먼트를 추가함으로써 더 많은 설명적 능력들을 가질 수 있는 품질 등가성을 제공하기 위하여 이용될 수도 있다. 예를 들어, 그것은 이하와 같은 표현 id 값들의 리스트로서 등가적인 표현들을 명시적으로 리스팅(list)할 수 있다:
Figure 112019043697834-pct00004
이러한 디스크립터의 이용은 정의되어야 할 속성 qualityRanking을 더 이상 요구하지 않는다.
그 다음으로, 이전의 예(단축됨)는 이하의 예로서 재기록한다:
Figure 112019043697834-pct00005
이 예에 따르면, 컨텐츠 작성자는 대응하는 대역폭들이 동일하지 않더라도, "1.1" 및 "1.2"를 갖는 표현이 등가적인 품질인 것을 보장한다는 것이 주목되어야 한다. 유사하게, 동일한 대역폭 요건들을 갖는 표현들은 그것들이 품질의 측면에서 등가적이라는 것을 자동적으로 의미하지는 않을 것이다. 등가성은 존재할 때에 품질 등가성 디스크립터로부터 추론되어야 한다.
또한, 그것은 품질 등가성(대역폭, 해상도, 연관된 메타데이터 등)을 위하여 컨텐츠 작성자에 의해 이용된 기준이 무엇이든지, 선택가능한 미디어 컨텐츠 컴포넌트들의 표현들 사이의 직접적인 연관성이다.
이 품질 등가성 디스크립터를 이용하는 예는 스트리밍 매니페스트가 예를 들어, SVC 또는 SHVC로 인코딩된 비디오 비트-스트림과 같은 스케일러블 스트림을 포함하는 경우에 대한 것이다. 동일한 매니페스트가 각각의 계층이 예를 들어, AVC 또는 HEVC에서 비디오 비트-스트림으로서 인코딩되는 스케일러블 스트림에 대한 대안들을 포함할 경우, 품질 등가성 디스크립터는 스케일러블 스트림의 하나 이상의 계층들을 갖는 독립적인 비트-스트림 사이의 등가성을 표시하기 위하여 이용될 수 있다.
이하에서 주어진 MPD의 예는 품질 등가성이 기본 계층(id "2.1"을 갖는 표현) 및 강화 계층(표현 "2.1"에 종속되는 표현 "2.2")에 의해 표현된 스케일러블 HEVC 비트-스트림(scalable HEVC bit-stream)(SHVC)의 스케일러블 계층들에 주어지는 HEVC에서 인코딩된 (표현 "1.1" 및 "1.2"에 의해 설명된) 2개의 독립적인 비트-스트림들에 대한 예를 제공한다. 여기에서의 스케일러빌러티의 유형은 공간적 스케일러빌러티이지만, 이것은 스케일러빌러티의 다른 유형들, 특히, 멀티뷰 HEVC에 적용될 수 있다. 각각의 표현의 코덱 속성은 인코딩 포맷을 표시한다.
Figure 112019043697834-pct00006
품질 등가성 디스크립터에 대한 대안적인 실시예는 어느 표현이 등가적인 품질을 갖는 MPD에서의 다른 표현들과 조합될 수 있는지를 표시하는 엘리먼트를, 표현의 정의에서의 새로운 속성으로서 정의하기 위한 것이다. 이 속성의 값은 예를 들어, 무부호(unsigned) 정수 또는 스트링일 수 있다. 이 속성의 각각의 값은 주어진 주기에 대하여 고유해야 한다. 이하의 예는 교차 적응 세트 품질 등급 정보에 대한 이러한 디스크립터의 예를 제공한다:
Figure 112019043697834-pct00007
이 실시예에 따르면, 클라이언트 장치는 "HQ", "MQ", 및 "LQ"인 3개의 사전선택의 레벨들을 즉시 식별할 수 있다. 이 새로운 속성에 의해 취해진 값은 유형 스트링(XML 스키마로 표현될 때에 xs:string)일 수 있다. 그 "preselect" 속성에서의 동일한 값을 공유하는 모든 표현들이 컨텐츠 저자에 의해 품질의 측면에서 등가적인 것으로서 고려되므로, 이 속성의 이용은 정말 간단하다.
이와 같이, 사전선택 속성에 대하여 동일한 값을 가지는 2개 이상의 표현들로부터, 2개의 미디어 스트림들, 예를 들어, 디스플레이 스크린의 좌측 상에 하나의 이미지, 그리고 동일한 디스플레이 스크린의 우측 상에 또 다른 이미지를 조립하는 것은 이 2개의 이미지들 사이의 동질의 품질로 귀착된다.
이 시그널링은 품질 격차를 도입하지 않으면서 서로와 조합될 수 있는 표현들을 발견하는 것을 간단하게 한다: 클라이언트 장치는 그 "preselect" 속성에서 동일한 값을 가지는 표현들의 세트를 선택한다.
동적 적응 및 품질 격차의 제어를 위한 대안들이 존재한다.
제1 대안에 따르면, 사전선택 속성의 값들은 무부호 정수들(XML 스키마로 xs:unsignedInt)로 제한된다. 그렇게 행함으로써, 클라이언트 장치는 그것이 (매니페스트에서의 특정 시그널링을 통해, 클라이언트 장치의 구성을 통해, 또는 그/그녀의 그래픽 인터페이스를 통한 사용자로부터의 동적 정의를 통해 중의 어느 하나로) 2개의 품질의 레벨들로 설정된 인가된 품질 열화를 가질 때, 클라이언트 장치는 "N"으로 설정된 사전선택 속성 값을 갖는 하나의 제1 표현을 선택할 수 있고, 그것을 값 "N-2" 이상으로 설정된 그 사전선택 속성을 가지는 다른 표현들과 조합할 수 있는 것으로 결정할 수 있다. 디폴트에 의해, 조합, 합성, 또는 사전선택 정보가 매니페스트에서 표시되지 않을 때, 사전선택 속성을 갖는 모든 표현들이 조합될 수 있다.
동적 적응 및 품질 격차의 제어를 위한 제2 대안은 (또 다른 명칭이 MPD의 XML 스키마에서 선언된다면, 또 다른 명칭이 이용될 수 있는 것으로 관찰되는) 표현 엘리먼트에서의 또 다른 속성, 예를 들어, "max_quality_disparity" 명칭을 가지는 속성을 정의하는 것으로 주로 이루어진다. 이 속성은 유형 정수인 것으로서 선언될 수 있고, 그 값은 최대 품질 격차, 또는 동시에 합성되어야 하고 렌더링되어야 할 선택된 미디어 컴포넌트들 사이의 차이를 표시할 수 있다.
위의 예는 그 다음으로, 다음과 같이 재기록한다:
Figure 112019043697834-pct00008
Figure 112019043697834-pct00009
max_quality_disparity="2"가 예를 들어, MPD, <Period> 엘리먼트, 또는 <MPD> 엘리먼트의 상단 레벨에서 최대 품질 열화를 설명하기 위한 디스크립터가 이미 있는 매니페스트에서 존재할 때, 이 max_quality_disparity는 바람직하게는 상단 레벨 디스크립터의 값을 재정의한다. 속성 값에 대하여 대안적으로, max_quality_disparity 파라미터는 예를 들어, SupplementalProperty와 같은 표현 엘리먼트의 DASH 디스크립터 엘리먼트에서, 또는 품질 규칙 표시를 위한 전용 엘리먼트에서 배치될 수 있다. 이것은 표현서브표현 엘리먼트들을 포함할 때에 마찬가지로 적용된다. max _quality_disparity 파라미터는 컨텐츠 저자가 표현 또는 서브표현을, 이 max_quality_disparity 파라미터를 포함하는 것의 2 단계들 아래인 품질 레벨을 가지는 또 다른 표현 또는 서브표현과 조합하는 것을 회피할 것을 추천한다는 것을 표시한다.
위에서 제안된 속성에 대한 일 예의 값들은 또한, 값 "0"이 예를 들어, 시작하기 위한 디폴트 버전을 표시할 수 있도록 부호 정수(signed integer)일 수 있고, 양수 값은 더 높은 품질을 표시할 것이고 더 낮은 값들은 더 낮은 품질을 표시할 것이다. qualityRanking 속성에서의 주요 차이는, 그것이 주어진 주기 엘리먼트에 대한 절대적인 품질 표시인 반면, qualityRanking 속성은 오직 하나의 적응 세트에서 적용된다는 것이다.
이 실시예에 기초하여, 표현들의 어느 세트들이 함께 조합될 수 있는지를 특정하기 위하여, 다수의 대안들이 존재한다.
제1 대안은 (예를 들어, @preselect로서 칭해질 수도 있는) 등가적인 품질을 갖는 표현들을 결정하기 위하여 이용된 새로운 속성을 2개의 식별자들: 합성, 조합, 또는 사전선택을 위한 고유한 식별자를 제공하기 위하여 이용된 제1 식별자, 및 즉, 적응 세트들에 걸쳐 절대적인 품질 값을 제공하기 위한, 이전에 설명된 바와 같은 제2 식별자를 포함하는 한 쌍의 값들로서 정의하는 것으로 이루어진다.
제1 식별자는 DASH SRD 디스크립터에서의 "source_id" 파라미터와 개념적으로 유사한 것으로서 보여질 수 있다. 이 제1 식별자의 도입으로, 절대적인 품질의 범위는 그 @preselect 속성이 이 제1 식별자에 대한 동일한 값을 반송(carry)하는 표현들로 감소될 수 있다는 것이 주목되어야 한다. 이 식별자는 하나의 값이 또 다른 것과 상이한지를 비교하는 것이 용이하고 신속하다면, 스트링 또는 정수 또는 임의의 유형일 수 있다.
이전의 예는 다음과 같이 재기록된다:
Figure 112019043697834-pct00010
위의 예에서는, 식별자 "C1"으로 정의된 오직 하나의 합성, 조합, 또는 사전선택이 있다. 상이한 품질 레벨들은 "HQ", "MQ", 또는 "LQ"로서 식별된다.
이하의 예는, 오직 2개의 품질 레벨들 "HQ" 및 "LQ"를 갖지만, "C1" 및 "C2"로 나타내어진 2개의 합성들, 조합들, 또는 사전선택들을 갖는 동일한 속성의 이용을 예시한다. 명확함을 위하여, "max_quality_disparity" 속성을 갖는 가능한 조합은 이 예에서 도시되지 않지만, 마찬가지로 적용될 수 있다.
Figure 112019043697834-pct00011
Figure 112019043697834-pct00012
이 예에 따르면, 클라이언트 장치는 id="1"을 갖는 표현이 id="5"를 가지는 표현과 품질 차이 없이 조합될 수도 있다는 것을 MPD 파싱으로부터 용이하게 추론할 수 있다. 마찬가지로, id="3" 및 id="7"을 갖는 표현들이 조합될 수도 있다. 이 2개의 조합들은 더 낮은 품질으로서 조합들: id="2" 및 id="6"을 갖는 표현들과, id="4" 및 id="8"을 갖는 표현들을 가진다.
이 실시예에서 논의된 품질 규칙 및 품질 등가성은 또한, "컨텐츠 작성자"로서 칭해진 실시예들에 따라 논의된 바와 같은 DASH에서 정의된 <Preselection> 엘리먼트와 조합될 수 있다.
품질 등가성에 대한 이 새로운 속성은 현존하는 qualityRanking 속성의 시맨틱(semantic)들을 변경하는 것을 회피하고, 역호환성(backward compatibility) 쟁점들을 회피할 수도 있다.
품질 등가성 및 품질 규칙 디스크립터들은 함께 합성되거나 조합되도록 시그널링되는 컨텐츠 컴포넌트들에 적용된다. 이것은 클라이언트가 컨텐츠 작성자에 의해 제공되는 것을 알게 할 것을 컨텐츠 컴포넌트 선택 디스크립터에 요구한다. 이 컨텐츠 컴포넌트 선택 디스크립터는 "컨텐츠 작성자"에 대한 실시예로 이하에서 논의되고 설명된다.
더 일반적으로 품질 규칙 디스크립터로 칭해진, 품질 적응 규칙 패턴의 시그널링을 위한 상이한 대안들이 있다.
특정한 실시예들에 따르면, 그것은 적응 규칙이 전체 프리젠테이션에 대하여 고정되거나 하나의 주기 엘리먼트로부터 또 다른 것으로 변동될 수 있는지에 따라 <MPD> 또는 <Period> 레벨에서 설명되고, 전형적으로, 미디어 프리젠테이션이 일부 주기들에서 광고들에 의해 중단될 때, (광고들이 또한, 다수의 미디어 컨텐츠 컴포넌트들의 합성 또는 조합을 암시하지 않는다면) 이 주기들 동안에 품질 적응 규칙을 비활성화하는 것이 유용할 수도 있다. 이 품질 적응 규칙이 주기 엘리먼트보다 더 낮은 레벨들에서 선언될 수 있는 경우들이 있다. 이것은 각각이 표현에서 캡슐화된, 타일 트랙들로 캡슐화된 타일들을 가지는 비디오 스트림들의 프리젠테이션에 대한 경우일 수 있다.
품질 규칙은, 최대 인가된 열화 레벨을 특정할 때, 2개의 차원들로 분할될 수 있다: 수평 차원에서 제1 값을, 그리고 수직 차원에서 또 다른 하나를 특정함. 예를 들어: 수평 이웃에서 하나의 레벨의 최대 인가된 품질 차이 및 수직 차원에서 2개의 품질 레벨들에 이르는 품질 차이를 표시하기 위하여, <SupplementalProperty schemeIdUri="urn:mpeg:dash:max_quality_degradation value="1, 2"/> 또는 명시적 속성 명칭들로: <SupplementalProperty schemeIdUri="urn:mpeg:dash:max_quality_degradation value_h ="1" value_v="2"/>.
특정한 실시예들에 따르면, ROI와 다른 파트들 사이의 최대 품질 차이와 같은 품질 규칙들을 시그널링하기 위하여 이용된 디스크립터들은 또한, (디폴트에 의해, ROI에 중심을 둔) 품질 감소를 적용하기 위하여 "필터-유사(filter-like)" 품질 감소 비율 및/또는 비디오에서의 특정 장소를 표시하기 위한 임의적인 표시들을 포함할 수도 있다. 예를 들어:
<SupplementalProperty schemeIdUri =" urn:mpeg:dash:quality _rule_filter "value="3, 3, 2, 1, 2, 1, 0, 1, 2, 1, 2 "/>는
값 0(필터의 중심) 상에 위치된 비디오의 공간적 파트 주위에서 상이한 인가된 품질 열화 값들을 갖는 3x3 패턴을 표시한다. "필터-유사" 품질 감소는 또한, 2개의 필터들에서, 차원들 당 하나, 예를 들어:
각각의 수평 및 수직 차원에 대하여 값 0 상에서 위치된 비디오의 공간적 파트 주위에서 상이한 인가된 품질 열화 값들을 갖는 1x3 패턴을 특정하기 위한 <SupplementalProperty schemeIdUri =" urn:mpeg:dash:quality _rule_filter_2D "value="(3, 1,0,1); (3, 1, 0,1)"/>로 분할될 수 있다.
위의 예는 양자의 방향들에서 동일한 값들을 배정하지만, 방향에 따라 상이한 패턴들을 가지는 것이 유용한 경우들이 있다. 이것은 사용자가 머리를 하나의 방향을 따라 주로 이동시키는 360° 스트리밍에서와 같은 애플리케이션에 대하여 유리할 수 있다: 클라이언트는 사용자에 의해 잠재적으로 보여진 영역들(즉, 상단 및 하단 영역들 대신에, 현재의 영역의 좌측 및/또는 우측 뷰) 상에서 더 많은 품질을 둘 수도 있다. 품질 규칙은 머리 움직임에 따라 클라이언트에 의해 심지어 동적으로 연산될 수 있다: 우측으로 이동할 때, 품질은 가능한 한 많이 비디오 우측 파트들에 대하여 보존될 것이고, 더 많은 열화가 다른 방향들(좌측, 상단, 및 하단)에서 허용된다. 이상적으로는, 필터가 도 1a 또는 도 1b 상에서 도시된 것처럼 공간적 파트들의 타일링 또는 합성 그리드를 따르므로, 품질 적응 가중치는 사전선택의 컴포넌트마다 특정된다.
그것은 또한, maxDeltaQuality, maxHorizDeltaQuality, maxVertDeltaQuality, 또는 maxDiagDeltaQuality 속성, 단일 비트-스트림을 작성하거나 또는 그렇지 않기 위한 표시, 타일링되거나 타일링되지 않은 미디어 데이터에 관련된 표시와 같은 다른 파라미터들을 표시할 수도 있다. 또 다른 품질 규칙은 조건들이 가혹해질 때(네트워크 정체, 높은 지연 ...), 하나 이상의 세그먼트들 동안에 동결되어야 하는 것으로서 사전선택의 일부 컨텐츠 컴포넌트들을 리스팅하는 것으로 이루어질 수 있다. 품질 규칙은 또한, 360° 비디오 또는 가상 현실 컨텐츠에서 타일 또는 영역을 참조하기 위하여 source_id와 같은 파라미터의 리스트, 및 다음과 같은 관련된 타일 또는 영역에 대하여 허용된 최대 품질 열화를 정의함으로써 SRD 디스크립터와 조합될 수 있다: value="<SRD_source_id>, NULL, <maxQualityDegradation>", 또는 방향 당 하나의 품질 열화를 특정하기 위한 value="<SRD_source_id>, NULL, <maxHQualityDegradation> <maxVQualityDegradation>", 또는 맨해튼 거리(Manhattan distance)에 따른 타일들 가중화를 위한 value="<SRD_source_id>, NULL, <maxHQualityDegradation> <maxVQualityDegradation> <maxDiagQualityDegradation>".품질 규칙들은 또한, 특정 @associationType 값들을 이용하여 메타데이터 트랙들에서 표시될 수도 있다. 예를 들어, 특정 associationType 값은 메타데이터 스트림이 연관된 표현의 품질 적응을 위한 메타데이터, 또는 연관된 표현 상의 품질 정보에 대한 시간지정된 샘플들을 포함한다는 것을 표시하기 위하여 4 문자 코드(예를 들어, 품질 정보에 대한 'qinf')로서 정의되고 등록된다. 메타데이터 스트림이 품질 규칙들을 포함할 때, 품질 규칙 디스크립터는 이것을 직접적으로 반영할 수 있고, 예를 들어:
<SupplementalProperty schemeIdUri =" urn:mpeg:dash:quality _rule_external "value=" (ID of the metadata stream) "/>이다.
이 실시예들에 따르면, 스트리밍 클라이언트는 컨텐츠 작성자에 의해 표시된 열화 품질 패턴이 있다는 것(도 5b에서의 테스트(556)의 결과는 참(true)임)을 알고 있다. 그것은 미디어 데이터를 요청할 때에 고려할 수 있다. 이것은 클라이언트 장치들에 걸친 일관된 경험을 위하여 도움이 되어야 한다.
다른 실시예들은 사용자 작성자에 대하여, 이 조합들에 대한 시그널링을 단지 지원하기 위하여, 클라이언트 장치가 그 적응 로직에서의 임의의 변경을 필요로 하지 않도록 모든 가능한 조합들을 매니페스트에서 설명함으로써, 품질 적응 패턴보다 더 명시적으로 되도록 구성된다.
컨텐츠 작성자
이전의 실시예에 따르면, 컨텐츠 작성자는 품질 적응을 위한 규칙(품질 규칙 디스크립터)을 제공하였고, 모든 가능한 조합 대안들의 포괄적인 선언을 회피하였다.
이 실시예들에서, 컨텐츠 작성자는 (예를 들어, 도 5a의 단계(533)에서, 또는 각각 단계들(531 및 532)에서 인코더들, 트랜스코더들, 또는 패키저(packager)들을 구성할 때) 미디어 컨텐츠 컴포넌트들의 가능한 조합들의 포괄적인 설명을 제공함으로써 품질 규칙을 묵시적으로 되게 한다.
이것을 행하기 위하여, 컨텐츠 작성자는 컨텐츠 컴포넌트 선택 엘리먼트 및/또는 컨텐츠 컴포넌트 디스크립터에 의존한다. 컨텐츠 컴포넌트 선택 엘리먼트는 컨텐츠 작성자가, 함께 플레이될 때, 합성된 비디오의 결과적인 품질이 함께 합성되는 이미지들 파트들 또는 타일들의 경계들에서 강한 품질 변동들을 겪지 않는다는 것을 보장하는 동일한 미디어 유형을 갖는 미디어 컨텐츠 컴포넌트들의 조합들을 표현하는 것을 가능하게 한다.
컨텐츠 컴포넌트 선택 엘리먼트는 (w16221, 2016년 6월에서 정의된 바와 같은 제4 보정 이후로) DASH MPD에서 존재하는 <Preselection> 엘리먼트의 확장일 수 있다. 컨텐츠 컴포넌트 선택 디스크립터는 또한, 이 적응 세트가 동일한 MPD에서, 또는 예를 들어, 다른 MPD들에서 선언되는 적응 세트들의 Xlink 엘리먼트를 통해 선언된 고전적인 적응 세트들의 합성, 조합, 또는 번들인 것을 표시하기 위한 특정 속성 또는 디스크립터를 갖는 특정 종류의 적응 세트일 수 있다. 주석부기의 하나의 예는 그 명칭이 무엇이든지 간에, 적응 세트가 "virtual" 적응 세트:
Figure 112019043697834-pct00013
또는 DASH 디스크립터를 통해 선언된 "참조하는" 적응세트인 것을 표시하기 위한 새로운 속성이다:
Figure 112019043697834-pct00014
위의 예에서, 컨텐츠 컴포넌트 선택을 위한 적응 세트는 id="1" 및 id="2"를 갖는 다른 적응 세트들을 참조한다. 이것은 컨텐츠 컴포넌트 선택으로서 적응 세트를 이용할 때, 참조된 적응 세트가 "id" 속성을 선언해야 한다는 것을 의미한다. 컨텐츠 컴포넌트 선택 엘리먼트는 임의의 세그먼트 url을 선언하는 것이 아니라, 오히려 다른 적응 세트들을 참조한다. 컴포넌트 선택 엘리먼트(확장된 사전선택 엘리먼트 또는 특정 적응 세트)는 합성 또는 조합 또는 번들의 대안적인 버전들을 선언하기 위한 표현 엘리먼트들을 포함할 수 있지만, 이 표현들은 컨텐츠 컴포넌트 선택 엘리먼트에 의한 참조된 적응 세트들로부터의 다른 표현들을 오직 참조한다.
사전선택 엘리먼트 또는 디스크립터가 컨텐츠 컴포넌트 선택 엘리먼트로서 이용될 경우에, 리스팅된 미디어 컴포넌트들의 예상된 조합들의 표시는 유용할 수 있다. 실제로, 현존하는 사전선택 특징 정의는 양자의 특징들 주요 적응세트 및 부분적인 적응세트가 도입될 때에 명확하지 않다는 것이 주목되었다.
특히, 그것은 모든 preselectionComponents이 함께 플레이될 경우에, 또는 오직 주요 적응세트들 또는 주요 적응세트들 플러스 부분적인 적응세트들의 서브세트가 또한 허용될 경우에 명확하지 않다.
발명의 또 다른 실시예에 따르면, 컨텐츠 컴포넌트 선택 엘리먼트에서, 미디어 컴포넌트 조합의 측면에서 컨텐츠 저자의 예상된 이용을 설명하는 추가적인 파라미터를 포함하는 것이 제안된다. 예를 들어, 이 새로운 파라미터(이하의 명칭 "selectionType"은 예임)는 사전선택 엘리먼트에서 추가적인 속성으로서 제공된다:
Figure 112019043697834-pct00015
이 새로운 파라미터는 사전선택 디스크립터에서 또한 선언될 수 있다:
Figure 112019043697834-pct00016
사전선택 내부에서 또는 더 일반적으로, 컨텐츠 컴포넌트 선택 엘리먼트에서 미디어 컴포넌트들의 의도된 또는 예상된 조합들에 대한 이 추가적인 파라미터가 그 선언이 무엇이든지 사전선택에 적용되는 것에 유의해야 한다: SupplementalProperty, EssentialProperty, 또는 MPD 스키마에서 정의된 DescriptorType으로부터 승계하는 특정 엘리먼트. 그것은 사전선택 엘리먼트 또는 디스크립터 하에서 임의의 노드(예를 들어, 엘리먼트 또는 속성)로서 구현될 수 있다. 사전선택 디스크립터의 경우에, 그것은 또한, "value" 속성에서 리스팅된 파라미터들 중의 하나일 수 있다.
이 새로운 파라미터의 시맨틱들은 다음과 같이 정의된다:
- 파라미터가 값 "임의(any)"를 가질 때, 그것은 컨텐츠 컴포넌트 선택 엘리먼트(예를 들어, 사전선택 엘리먼트 또는 디스크립터)에서의 미디어 컴포넌트들의 임의의 조합이 심지어, 주요 적응세트에 대응하는 미디어 컴포넌트 없이, 다운로드 및 렌더링을 위하여 선택될 수 있다는 것을 의미한다;
- 파라미터가 값 "주요(main)"를 취할 때, 그것은 컨텐츠 컴포넌트 선택 엘리먼트(예를 들어, 사전선택 엘리먼트 또는 디스크립터)에서의 미디어 컴포넌트들의 임의의 조합이, 주요 적응세트에 대응하는 미디어 컴포넌트가 선택된다면, 다운로드 및 렌더링을 위하여 선택될 수 있다는 것을 의미한다;
- 최후의 가능한 값이 "전부"이고 - 그것은 오직 리스팅된 조합, 즉, 컨텐츠 컴포넌트 선택 엘리먼트에서 선언된 각각의 미디어 컴포넌트에 대한 하나의 대안적인 인코딩된 버전이 플레이될 수 있다는 것을 의미하고 - 예를 들어, 사전선택 엘리먼트에서, 그것은 속성 "preselectionComponents" 에서 선언된 리스트이고 - 사전선택 디스크립터에 대하여, 그것은 속성 "값"에서 제공된 식별자들의 리스트일 것이고 - 도 8에서의 표(800)는 주요 적응세트와 부분적인 적응세트들 사이의 각각의 조합에 대하여, 이 파라미터에 대한 가능한 값들을 제공한다;
- 또 다른 가능한 값은 오직 주요 적응세트와 전체 사전선택 사이의 관심 있는 조합을 제공하는 사전선택 내부의 컴포넌트들의 리스트를 제공하는 식별자들의 리스트로 "추천된" 또는 "최상" 또는 "폴백"이고 - 이 "추천된" 또는 "최상" 선택은 수신기 측에서의 컨텐츠의 스트리밍 또는 프로세싱의 측면에서의 일부 적응이 적응을 요구할 때에 폴백 동작 포인트로서 보여질 수 있고 - 이러한 경우에, 전체 사전선택을 다운로딩하고 렌더링하는 것이 가능하지 않을 수도 있고 - 오직 주요 적응 세트로의 폴백은 사전선택에서 선언된 컴포넌트들의 서브세트로 스위치 백(switch back)하면서, 열악한 사용자 경험을 제공할 수도 있다.
selectionType 속성에 대한 대안적인 실시예는 어느 컨텐츠 컴포넌트가 주요 미디어 컴포넌트(즉, 적응세트 또는 컨텐츠컴포넌트)에 대응하는지를 명시적으로 표시하기 위하여 그것을 이용하는 것이다. 예를 들어, 이하의 선언:
Figure 112019043697834-pct00017
은 3과 동일한 @id 값을 가지는 미디어 컴포넌트가 식별자들: 1, 2, 또는 4의 리스트에서의 부분적인 적응세트들 사이의 조합이 무엇이든지 간에 플레이되어야 한다는 컨텐츠 저자에 의한 표시이다.
이것은 클라이언트 장치가 하나의 미디어 컨텐츠 컴포넌트가 주어진 시간에 선택된 것처럼 적응 로직을 이용하는 것을 계속하는 것을 가능하게 한다. 실제로, 컨텐츠 컴포넌트 선택 엘리먼트에서 선언된 각각의 표현 엘리먼트는, 예를 들어, 폭 및 높이에 대한 참조된 표현들의 최대 값들, 또는 예를 들어, 대역폭 엘리먼트에 대한 참조된 표현들의 합에 대응하는 속성들을 선언한다. 컨텐츠 컴포넌트 선택 엘리먼트의 각각의 등록은 품질의 측면에서 등가적인 것으로(즉, 함께 디스플레이될 때, 품질 차이가 컨텐츠 컴포넌트의 각각 사이에서, 예를 들어, ROI와 그 둘러싸는 타일들 사이에서 사용자에 의해 두드러지지 않음) 컨텐츠 작성자에 의해 알려지는 표현들을 실제적으로 참조한다.
합성들 또는 조합들에 대한 다른 표현들을 참조하기 위하여, 컨텐츠 작성자는 특히, 주요 컨텐츠 컴포넌트(클라이언트가 전체 조합을 지원할 수 없을 때에 디폴트에 의해 플레이하기 위한 것)에 대한 dependencyId 속성을 이용할 수 있다. 다른 참조된 표현들에 대하여, 컨텐츠 작성자는, DASH에 의해 정의된 바와 같은 associated표현이 그 값이 미디어 합성, 미디어 경험, 또는 번들의 하나의 컴포넌트로서 associationId 속성에서 존재하는 id를 갖는 표현을 포함한다는 것을 표시하기 위하여, associationType 속성에 대하여, "집합적인" 값 또는 임의의 예약된 또는 등록된 값을 갖는 associationId를 통해 그것들을 선언할 수 있다.
컨텐츠 컴포넌트 선택 엘리먼트는 매니페스트에서의 엔트리 포인트(entry point), 즉 스트리밍 및 렌더링을 위하여 선택된 미디어 컴포넌트들의 세트로서 보여질 수 있다. 컨텐츠 컴포넌트 선택 엘리먼트 내부의 하나의 미디어 컴포넌트의 선언은 이 미디어 컴포넌트를 더 많이 선택가능하게 하지 않는 것으로 이어질 수 있다. 이러한 경우에, 이 미디어 컴포넌트는 단독으로 선택되고 렌더링되도록 의도된 것이 아니다. 이것은 오직, 일부 선택가능한 미디어 컴포넌트들이 선언에 종속되므로, 또는 선언이 사전선택 또는 임의의 컨텐츠 컴포넌트 선택 엘리먼트에서 참조되므로, 스트리밍 매니페스트에서 존재한다는 것을 의미한다.
발명의 실시예에서는, 다른 컴포넌트들의 연산에서 이용되거나 번들, 사전선택, 또는 컨텐츠 컴포넌트 선택에서 참조되기 때문에 단지 설명되는 미디어 컴포넌트들로부터 단독으로 선택될 수 있고 렌더링될 수 있는 미디어 컴포넌트들을 구별하는 것이 제안된다. 이것은 스트리밍 미디어 플레이어들이 사용자 또는 컨텐츠 선택을 담당하는 애플리케이션으로 노출하기 위하여 미디어 컴포넌트들을 용이하게 필터링하는 것을 허용한다. 이 구분은 예를 들어, 적응세트, 컨텐츠컴포넌트, 표현, 또는 서브-표현에서의 속성으로서, 미디어 컴포넌트들에 연관된 추가적인 파라미터로 행해진다. 예로서, 이 속성은 "playbackType"으로 칭해질 수 있다.
그것은 예를 들어, 타일 트랙들과 함께 이용될 수 있다. 타일 트랙들을 설명하는 적응세트들이 컨텐츠 컴포넌트 선택(예를 들어, 사전선택)의 일부일 때, 그것들은 타일 트랙들이 단독으로 플레이되도록 선택가능하지 않다는 것을 표시하기 위하여 "디스에이블(disable)"하기 위한 이 "playbackType" 속성 세트를 가질 수 있다. 이 경우의 컨텐츠 컴포넌트 선택(예컨대, 사전선택)은 (엔트리 포인트로 칭해질 수 있는) 미디어 프리젠테이션의 선택가능한 파트를 제공한다. 모든 트랙들을 사전선택에서 참조된 적응세트에서의 표현으로서 노출하였고 디스플레이를 위하여 선택되지 않은 것으로(@playback_type = "disable") 설명한 것은, 매니페스트가 동일한 코덱 유형을 갖는 트랙들을 설명하는 적응세트를 포함할 때에 모호성들이 회피되는 것을 허용한다.
예를 들어, 이것은 hvc2 또는 hev2 타일 기본 트랙이 (디폴트 값인) playbackType="always"으로서 자체적으로 선언될 수도 있는 hvc2 또는 hev2 합성 트랙 또는 고전적인 HEVC 트랙으로부터 구별되는 것을 허용한다:
Figure 112019043697834-pct00018
매니페스트에서 엔트리 포인트(클라이언트에 의해 파싱되어야 할 제1 미디어 컴포넌트를 의미함)인 미디어 컴포넌트는 이 "playbackType" 속성에서 값 "always"로 표기될 수 있다. 이 "always" 값은 "playbackType"에 대한 디폴트 값이고;즉, 부재할 때, 미디어 컴포넌트는 단독으로 선택가능하고 렌더링되는 것으로 가정된다. "단독(alone)"은 대응하는 현재의 표현들 플러스 이 현재의 표현이 종속되는 표현들을 의미한다. 이 새로운 파라미터에 대한 명칭 및 가능한 값들이 표시되고 예들로서 제공된다. 또 다른 가능한 값은 미디어 컴포넌트가 사용자 또는 애플리케이션이 영화의 프리뷰(preview), 또는 오디오 클립의 수 초, 또는 미디어 엘리먼트의 무엇이든지 짧은 프리젠테이션을 필요로 할 때에 있을 수 있다는 것을 표시하기 위한 "프리뷰"이다. 여기에서 제공된 예들은 포괄적이지 않다. 이 속성으로 표기된 적응 세트는 DASH 클라이언트들에 의해 대화식으로 선택가능하고/프리젠테이션에서의 엔트리 포인트로서 고려되지 않아야 한다.
미디어 컨텐츠 컴포넌트들이 서브표현에 의해 설명될 때, 서브표현은 또한, 컨텐츠 컴포넌트 선택 엘리먼트가 되고, 이 서브표현에 대한 컴포넌트들의 리스트는 이 서브표현의 부모(parent) 표현에 의해 참조된 표현들 내에 포함된 다른 서브표현들로부터의 컴포넌트들을 참조한다.
품질 등가성 디스크립터 및 품질 적응 규칙 디스크립터는 이 실시예들에서, 컴포넌트 선택 디스크립터를 포함하는 신택스 엘리먼트(사전선택, 적응세트, 또는 표현)가 대안들의 순서화된 리스트를 제공하므로 묵시적일 수도 있다. 위의 디스크립터들에 추가적으로, 미디어 프리젠테이션 설명은 또한, 다른 정보적 디스크립터들: 합성 목적(또는 "조합 목적" 또는 "사전선택 목적" 또는 "번들 목적") 디스크립터 및 디코더 요건 디스크립터를 포함할 수 있다. 합성 목적 디스크립터는 컨텐츠 컴포넌트 선택 디스크립터와 연관된 디스크립터이다. 그것은 컨텐츠 컴포넌트 선택 디스크립터, 또는 컨텐츠 컴포넌트 선택 디스크립터의 자식(child)으로서의 EssentialProperty 또는 SupplementalProperty 엘리먼트의 속성일 수 있다. 이하의 MPD 스닙펫은 컨텐츠 컴포넌트 선택 디스크립터가 사전선택 엘리먼트를 이용할 때에 이러한 디스크립터의 이용을 예시한다:
Figure 112019043697834-pct00019
목적 설명은 예를 들어, 도 1b에 따라 상이한 조합들을 설명하기 위하여 의도된 조합에 대한 추가적인 정보를 제공할 수 있다. 예를 들어, 합성이 독립적인 비디오들을 암시할 때, 클립핑이 스트림 수정 없이 추출된 타일들의 서브세트에 대해 행해질 때, 몇몇 독립적인 비디오들이 단일 비디오 비트-스트림으로 조립될 때. 오직 하나의 합성 또는 사전선택이 있을 경우에, 목적 디스크립터 및 디코더 요건 디스크립터는 (정적일 경우에) MPD 엘리먼트 레벨에서, 또는 시간에 따라 변경될 경우에 주기 엘리먼트 레벨에서 선언될 수 있다.
이 "합성 목적"의 목표는 컨텐츠 저자가 스트리밍을 위하여 준비하였던 합성, 조합, 또는 사전선택의 종료에 대해 클라이언트 장치에 통지하는 것이다. 이것은 사용자 인터페이스를 튜닝하기 위하여, 그리고, 일부 내비게이션 메뉴들을 제안하거나 활성화하거나 비활성화기 위하여, 클라이언트 장치에 의해 이용될 수 있다. 예를 들어, 위에서 예시된 "HEVC 타일링" 목적으로, 클라이언트 장치는 사용자가 동시에 플레이하기 위한 타일들의 세트를 용이하게 선택할 수 있도록, 타일들의 그리드를 사용자에게 디스플레이할 수 있다. 다른 값들은 "ROI 플러스 둘러싸는 타일들" 또는 "360° 주요 뷰 플러스 다른 뷰들"과 같이 가능하다. 이 "조합 목적" 또는 "합성 목적"의 값은 스트링 유형일 수 있다. 그것은 또한, 레지스트리(registry)에서의 사전-정의된 값들의 리스트로부터 취해진 값일 수 있다. 후자의 옵션은 클라이언트 장치들로부터의 추가의 해독을 용이하게 한다. Label 엘리먼트는 또한, 스트리밍 매니페스트에서 "조합 목적"을 표현하기 위하여 이용될 수 있다는 것이 주목되어야 한다.
또 다른 임의적인 디스크립터는 "디코더 요건" 디스크립터이다. 실제로, 컨텐츠 작성자가 진보된 조합들을 제공할 때, 그것은 클라이언트 장치가 다수의 디코더들을 동시에 이용하기 위하여 요구될 수도 있다. 이에 따라, 디코더 요건 디스크립터는 컨텐츠 컴포넌트 선택 디스크립터 하에서 MPD에서 이용될 수 있다. 이전의 것에 관하여, 디코더 요건 디스크립터는 scheme_id_uri 상에서 그것들을 갖는 컨텐츠 컴포넌트 선택 디스크립터 또는 DASH 디스크립터에서의 특정 속성 또는 파라미터일 수 있다. 예를 들어:
Figure 112019043697834-pct00020
합성, 조합, 또는 사전선택이 주어진 미디어 유형의 디코더의 하나를 초과하는 인스턴스(instance)(예컨대, 도 3에서의 비디오 디코더(343) 또는 오디오 디코더)를 요구할 경우에, 이 디스크립터의 값은 "다수"로 설정될 수 있다. 그것은 또한, 일부 포스트-필터링(post-filtering)(예를 들어, value="post-filter")을 구현하는 클라이언트 장치들에 의해 수행되어야 할 디코딩 단계를 바로 뒤따르는 포스트-프로세싱 동작을 표시하기 위하여 이용될 수 있다. 값들은 조합될 수 있다(예컨대, 단일 디코더를 표시하기 위한 value="post-filter&single"은 포스트-프로세싱 단계에 있어서 요구됨). 디코더 요건 디스크립터는 또한, 예를 들어, 디블록킹 필터(deblocking filter)가 이용가능할 때에 클라이언트 측에서 포스트-필터링 동작을 추천하기 위하여 이용될 수 있다. 포스트 필터링 동작은 ISO BMFF 파일에서 포함된 포스트-디코더 정보에서 시그널링될 수도 있거나, 심지어 메타데이터 스트림에 의해 제공될 수도 있다. 그것은 컨텐츠 컴포넌트 선택 엘리먼트에 연관된다.
사전선택 엘리먼트가 단일 디코더 인스턴스에 제공되어야 할 미디어 컴포넌트들의 세트로서 정의될 경우에, 초기화 세그먼트들에 대한 표시는 클라이언트들을 위하여 유용할 수 있다. 실제로, 사전선택은 "주요" 적응세트를 디코더 특정 정보를 제공하는 것으로서 정의한다. 이것은 주요 적응세트가 (DASH 용어에서) 초기화 세그먼트(Initialization Segment)를 포함한다는 것을 의미한다. 종래 기술에서는, 부분적인 적응세트(들)가 이 초기화 세그먼트를 이용하거나 그 자신의 초기화 세그먼트를 가질 수 있는지 여부가 명확하지 않다. 이 정보는 미디어 플레이어들이 그 디코더들을 올바르게 셋업하기 위하여 유용하다. 예를 들어, 사전선택이 주요 적응세트로서 타일 기본 트랙을 갖는 'hvt1' 타일 트랙들로 비디오 트랙들의 세트를 선언할 경우, 오직 하나의 초기화 세그먼트가 선언된다(타일 기본 트랙 중의 하나). 반대로, 멀티-스트림 오디오로, 3D 오디오에 대한 사전선택을 고려할 때, 몇몇 초기화 세그먼트들, 예를 들어, 각각의 스트림에 대하여 하나가 있을 수도 있다. 이것들은 예를 들어, 각각의 오디오 스트림을 하나 이상의 오디오 디코더들에 제공하는 오디오 공간화기(audio spatializer)에 의해 처리될 수도 있다. 타일링 및 단일 비디오 인스턴스에 대하여, ISOBMFF 파서 및 비디오 디코더는 순응하는 비디오 비트스트림(예를 들어, HEVC의 하나 이상의 프로파일, 티어(tier), 레벨에 순응함)을 각각 형성하는 것과, 이 비트스트림을 디코딩하는 것을 담당한다.
또한, 각각의 타일이 독립적인 HEVC 비트스트림에 대응하는 ('hvt1' 대신에) 'hvc1' 트랙들을 이용하는 타일 트랙들에 대한 경우가 있을 수 있다. 발명의 실시예에서는, 클라이언트가 (매니페스트를 파싱할 때) 디코더 특정 정보에 따라, 컨텐츠 컴포넌트 선택 엘리먼트에서(예를 들어, 사전선택 엘리먼트 또는 디스크립터에서) 리스팅된 미디어 컴포넌트들의 조합들에서의 한정들이 있는지를 급속하게 식별하는 것을 허용하는 것이 특정 시그널링에서 제안된다. 이 시그널링은 예를 들어, 불리언 값(Boolean value)을 취하고 "singleInit"로 칭해진 새로운 속성일 수 있다. 이 속성은 이하에서 도시된 바와 같이 사전선택 엘리먼트에서 또는 사전선택 디스크립터에서 존재할 수 있다:
이하의 2개의 라인들은 사전선택에서 존재하는 초기화 세그먼트들의 수에 대한 정보를 제공하는 추가적인 파라미터를 갖는 사전선택 엘리먼트를 예시한다:
Figure 112019043697834-pct00021
이하의 일 예의 라인들은 사전선택에서 존재하는 초기화 세그먼트들의 수에 대한 정보를 제공하는 추가적인 파라미터를 갖는 사전선택 디스크립터를 (여기에서, SupplementalProperty로서) 예시한다:
Figure 112019043697834-pct00022
DASH 제3 판(w16221, June 2016)에서의 사전선택 디스크립터의 정의에서는, 디스크립터의 값은 콤마(comma)에 의해 분리된 2개의 필드(field)들: 사전선택의 태그(tag) 및 프로세싱 순서에서의 백색 공간 분리된 리스트로서의 이 사전선택 리스트의 포함된 컨텐츠 컴포넌트들의 id를 제공한다는 것이 주목되어야 한다. 제1 id는 주요 미디어 컴포넌트를 정의한다. 이전의 예는 또한, 값 속성에 대한 이러한 시맨틱들과 함께 작동한다. 이 "singleInit" 추가적인 파라미터는 그 선언이 무엇이든지, 사전선택에 적용된다는 것이 주목되어야 한다. SupplementalProperty, EssentialProperty, 또는 MPD 스키마에서 정의된 DescriptorType으로부터 승계하는 특정 엘리먼트.
참(true)으로 설정될 때, 이 새로운 속성은 동일한 초기화 세그먼트를 공유하는 사전선택의 오직 미디어 컴포넌트들이 조합될 수도 있다는 것을 표시한다. 이것은 사전선택 내부에서 선언된 미디어 컴포넌트들의 조합들에서의 한정들을 도입한다. 클라이언트는 그 다음으로, 하나의 요청에서, 그것이 그 디코더(들)를 셋업하기 위한 전체 정보를 얻을 수 있다는 것을 알고 있다. 거짓(false)으로 설정될 때, 이 새로운 속성은, 하나 이상의 초기화 세그먼트들이 있을 수도 있지만, 사전선택 내부에서 선언된 미디어 컴포넌트들의 가능한 조합이 "selectionType" 파라미터에 의해 주어진다는 것을 표시한다. 존재하지 않을 때, 사전선택에 적용되는 디폴트 값은 "거짓"이다. 이것은 이 새로운 파라미터를 해독하지 않은 클라이언트들과의 역호환을 보존한다.
예를 들어, 표 1a 및 표 1b에서의 예로서, 상이한 해상도들에서의 타일링된 비디오들에 대하여 이용될 때, 해상도 당 하나의 초기화 세그먼트가 있을 수도 있다. 그 다음으로, 오직 동일한 해상도의 타일들은 심리스 스위칭(seamless switching)을 제공하기 위하여 조합될 수도 있다. 이것은 또 다른 해상도로의 스위칭이 다른 해상도에 대응하는 초기화 세그먼트로 디코더(들)를 재초기화하는 것을 요구할 수도 있다는 것을 의미한다. DASH MPD는 XML 스키마에 의존하므로, 사전선택 엘리먼트 또는 사전선택 디스크립터 하에서의 임의의 노드(예를 들어, 엘리먼트 또는 속성)는 이 단일 초기화 정보를 전달하기 위하여 이용될 수 있다는 것이 주목되어야 한다. 또한, 그것은 다수의 미디어 컴포넌트들을 설명하는 임의의 MPD 신택스 엘리먼트에서 유용할 수도 있다.
표 1a는 2개의 상이한 해상도 레벨들에서 2개의 타일 트랙들을 수집하는 singleInit="true"를 갖는 (엘리먼트로서의) 하나의 사전선택의 예를 예시한다.
표 1b는 각각이 사전선택 내에 있는(모든 신택스 엘리먼트들이 가독성을 위하여 존재하는 것은 아님) 2개의 상이한 해상도 레벨들에서의 2개의 타일 트랙들의 동일한 세트의 예를 예시한다.
표 1a:
Figure 112019043697834-pct00023
Figure 112019043697834-pct00024
표 1a에서의 MPD 예는 "singleInit" 파라미터를 갖는 확장된 사전선택 엘리먼트를 설명한다. "P1"에 의해 식별된 사전선택은 사전선택 컴포넌트들로서 (10, 11, 및 12와 동일한 id를 갖는) 3개의 적응세트들을 선언한다. 이 적응세트의 각각은 상이한 해상도들에서 HEVC 트랙들에 대한 2개의 표현들을 포함한다. 예에서의 제1 적응세트는 HEVC 타일 기본 트랙을 설명하고, 2개의 다른 것들은 HEVC 타일 트랙들을 설명하였다. 여기에서의 재구성에 대한 2개의 서브세트들이 있으므로: 한편으로 표현들 101, 111, 및 121에 대한, 그리고 다른 한편으로 표현들 102, 112, 및 122에 대한 세그먼트들의 연쇄(concatenation), "singleInit"=true는 사전선택 내부의 모든 조합들이 허용되는 것이 아니라는 것을 표시한다. "selectionType" 속성이 값 "임의"를 표시하더라도, 오직 동일한 초기화 세그먼트를 공유하는 표현은 공동 렌더링을 위하여 조합될 수 있다. "singleInit"은 사전선택 내부의 표현들의 조합들이 평탄한 디스플레이 및 심리스 스위칭을 보장하기 위하여 주의 깊게 선택되어야 한다는 플레이어에 대한 경고이다. 또한, MPD의 저자는 예를 들어, 적응세트 레벨에서의 비트스트림스위칭(bitstreamSwitching) 속성으로, 스위칭이 표현들에 걸쳐 항상 심리스가 아닐 수도 있고, 즉, 스위칭은 디코더 재초기화를 요구할 수도 있다는 것을 표시할 수도 있다.
표 1b:
Figure 112019043697834-pct00025
Figure 112019043697834-pct00026
표 1b의 MPD 예는 상이한 해상도 레벨들에서의 2개의 HEVC 타일 트랙들의 설명에 대한 대안을 제공한다. 이 예에서, 각각의 해상도 레벨은 사전선택으로서 스트리밍 클라이언트에 의해 이용가능하다. 사전선택 "P1"은 HD 해상도에 대한 사전선택을 제공하는 반면, 사전선택 "P2"는 SD 해상도에서의 사전선택을 제공한다. 저자는 각각의 적응 세트들 10, 11, 12, 및 20, 21, 22에서의 표현들 사이의 심리스 스위칭을 보장하므로, 사전선택 엘리먼트에 대한 "singleInit" 값은 값 "거짓"으로 설정될 수 있다. 이것은 사전선택 내부의 표현들의 임의의 조합을 허용한다. 사전선택 "P2"는 "거짓"과 동일한 디폴트 값을 가정하는 singleInit에 대한 임의의 값을 선언하지 않는다. 요약으로서, 파라미터 "singleInit"는 값 "참"으로 설정될 때, 이용 케이스가 무엇이든지, 오직 동일한 초기화 세그먼트를 공유하는 표현들이 조합될 수도 있다는 것을 표시한다: 비디오 스트림들에서의 몇몇 해상도들 또는 상이한 품질들이지만, 심리스 방식으로 스위칭가능함.
표 2a는 DASH MPD에서 설명된 HEVC 타일 트랙들의 예를 제공한다. 더 정밀하게는, 표 2a는 사전선택 디스크립터에서 노출된 품질 등가성 디스크립터를 갖는 타일 트랙들의 예를 제공한다.
표 2a:
Figure 112019043697834-pct00027
Figure 112019043697834-pct00028
이 예에서, 매니페스트는 (그 자식 표현(들)에서, 각각이 'hev2' 트랙 내에 있는 하나 이상의 대안적인 인코딩된 버전들을 제공하는 id="1"을 갖는) 타일 기본 트랙에 대한 하나의 적응세트를 설명한다. 매니페스트는 또한, 타일 트랙(4개의 타일들), 'hvt1' 트랙들 당 하나의 적응세트를 설명한다. 위의 예(표 2a)에서, 사전선택 설명은 "id" 속성에서의 사전선택 식별자, 및 식별자들의 공간-분리된 리스트(표 2a 예에서의 적응세트 식별자들의 리스트)로서 "value" 속성에서의 사전선택을 합성하는 미디어 컴포넌트들의 리스트를 정의한다.
주요 적응세트는 타일 기본 트랙을 설명하는 것(@id="1"을 갖는 것)이다. 부분적인 적응세트들(예에서, id 2 내지 5)은 각각의 타일 트랙 'hvt1'에 대한 적응세트들에 대응한다. 타일 트랙 'hvt1'에 대한 각각의 표현은 그 타일 기본 트랙에 대응하는 표현에 대한 "dependencyId" 속성을 포함한다는 것이 주목되어야 한다. 또한, 각각의 타일 트랙의 각각의 표현은 "qualityRanking" 속성을 가진다. 이것은 hvt1 타일 트랙들의 설명에 대한 2개의 옵션들을 허용한다. 제1 옵션에서, 타일 기본 트랙(표 2a에서의 타일 기본 트랙이 아님)은 사전선택의 컴포넌트들의 리스트에서 선언되지 않는다. 사전선택은 그 다음으로, (hvt1) 타일 트랙들을 오직 선언한다. 타일 기본 트랙은 각각의 타일 트랙으로부터의 종속성들(각각의 타일 트랙은 타일 기본 트랙으로의 'tbas' 트랙 참조를 가짐)로 인해 다운로드 및 디스플레이를 위하여 자동적으로 선택된다. 사전선택의 "selectionType" 속성의 값은 그 다음으로, "임의"이다. 제2 옵션(표 2a 상의 것)은 사전선택의 컴포넌트들의 리스트에서 타일 기본 트랙을 포함하는 것이다. 타일 기본 트랙에 대응하는 적응세트는 그 다음으로, 사전선택의 컴포넌트들의 리스트에서 먼저 리스팅된다. 타일 트랙에 대응하는 각각의 표현은 ('tbas' 트랙 참조 유형으로 인한) 타일 기본 트랙에 대한 대응하는 표현으로의 종속성을 여전히 선언한다. 사전선택의 "selectionType" 속성에 대한 값은 그 다음으로, "주요"로 설정된다.
표 2a의 예에서, 임의적으로, 사전선택 디스크립터는 또한, DASH 플레이어가 타일 기본 트랙에 대한 것인, 동일한 초기화 세그먼트를 공유하는 컨텐츠 컴포넌트들("selectionType" 파라미터의 값에 따라, 하나, 다수, 또는 전부)의 표현들을 오직 조합해야 한다는 것을 표시하기 위하여, 참(true)으로 여기에서 설정된 "singleInit" 속성을 포함한다. DASH 종속성 메커니즘은 표현의 "dependencyId" 속성에 기초하여, 선택된 표현들의 @mimeType에서 특정된 바와 같은 미디어 포맷을 준수하는 세그먼트 또는 서브-세그먼트(sub-segment) 시퀀스를 획득하기 위하여 초기화 세그먼트 및 미디어 세그먼트를 식별하고 연쇄시키는 것을 허용한다는 것이 주목되어야 한다. "P1" 식별자를 갖는 사전선택을 여기에서 참조하면, 품질 등가성은 MPD에서 또한 존재한다. 사전선택 식별을 허용하는 임의의 속성("tag"....) 또는 값(예를 들어, "value" 속성에서의 제1 파라미터)은 사전선택을 참조하기 위하여 이용될 수 있다는 것에 주목한다. 품질 등가성은 사전선택에서 리스팅된 미디어 컴포넌트들의 표현들 사이의 품질 등가성이 적용된다는 것을 표시한다. 예를 들어, 하나의 적응세트로부터 또 다른 것까지, 품질 측면에서의 등가적인 표현들이 식별될 수 있다. 여기에서의 품질 등가성은 이 표현들 사이의 최대 품질 차이에 대한 추천을 제공하지 않는다. 위의 예들에서 도시된 바와 같이, 품질 등가성은 사전선택 엘리먼트에 적용될 수 있다. 이와 같이, 그것은 사전선택 엘리먼트의 자식(child)으로서 정의될 수 있고, 그 다음으로, 컨텐츠 컴포넌트 선택을 위한 파라미터가 더 이상 필요하지 않다. 이와 같이, 그것은 품질 등가성 디스크립터에서의 임의적인 파라미터로 고려된다. 위의 예들은 타일 기본 트랙들 및 타일 트랙들을 설명하는 적응세트들을 이용하지만, 임의의 미디어 트랙들(예를 들어, 오디오 또는 비디오)에 유사하게 적용된다.
예를 들어:
표 2b:
Figure 112019043697834-pct00029
일 예의 표 2b에서, 디스크립터의 단순한 존재는 사전선택의 모든 컴포넌트들(품질 등가성 디스크립터의 부모(parent) 엘리먼트)에 대하여, 품질 등가성이 적용된다는 것을 표시한다. 모든 품질 등가성 파라미터들에 대한 디폴트 값들을 갖는 이 특정한 경우에, 그것은 부모 사전선택 엘리먼트의 모든 컨텐츠 컴포넌트들이 적응세트들에 걸쳐 비교될 수 있는 품질등급을 가진다는 것을 암시적으로 의미한다. 또한, 추천된 품질 차이는 디폴트 값에 대응하는 0이다.
표 2c:
Figure 112019043697834-pct00030
일 예의 표 2c에서, 품질 등가성 디스크립터의 존재는 부모 사전선택 엘리먼트의 모든 컴포넌트들에 대하여, 품질 등가성은 2와 동일한 최대 품질 차이로 적용된다는 것을 표시한다. 디스크립터는 사전선택 엘리먼트의 자식으로서 선언되므로, 관련된 컴포넌트들의 리스트는 암시적이고: 그것은 그 다음으로, 사전선택의 모든 컨텐츠 컴포넌트들에 적용된다.
표 2d:
Figure 112019043697834-pct00031
위의 예(표 2d)에서, 품질 등가성 디스크립터의 존재는 사전선택의 컴포넌트들의 서브세트(13 및 14와 동일한 "id"를 갖는 적응세트들)에 대하여, 품질 등가성이 2와 동일한 최대 품질 차이로 적용된다는 것을 표시한다.
표 2e:
Figure 112019043697834-pct00032
위의 예(표 2e)에서, 품질 등가성 디스크립터의 존재는 사전선택의 컴포넌트들의 서브세트(13 및 14와 동일한 "id"를 갖는 적응세트들)에 대하여, 품질 등가성이 (디폴트 값인) 0과 동일한 최대 품질 차이로 적용된다는 것을 표시한다.
표 2f:
Figure 112019043697834-pct00033
위의 예(표 2f)에서, 품질 등가성 디스크립터의 존재는 사전선택의 모든 컴포넌트들에 대하여, 품질 등가성이 (디폴트 값인) 0과 동일한 디폴트 최대 품질 차이로 적용된다는 것을 표시한다.
표 2g:
Figure 112019043697834-pct00034
위의 예(표 2g)에서, 품질 등가성 디스크립터의 존재는 사전선택의 모든 컴포넌트들에 대하여, 품질 등가성이 1과 동일한 디폴트 최대 품질 차이로 적용된다는 것을 표시한다. 품질 등가성 디스크립터에 대한 위의 선언은 다음의 것과 등가적이다:
Figure 112019043697834-pct00035
사전선택 엘리먼트 및 디스크립터가 스키마 뷰 포인트로부터 확장가능하므로, 품질 등가성의 동일한 이용은 새로운 엘리먼트들 또는 속성들로 확장된 사전선택 엘리먼트 또는 디스크립터에 적용된다.
품질 등가성 디스크립터는 사전선택 디스크립터에 유사하게 적용된다.
표 3a:
Figure 112019043697834-pct00036
표 3a 상에서의 예는 품질 등가성 디스크립터가 0(디폴트 값)과 동일한 최대 품질 차이로, "P1"에 의해 식별된 사전선택 디스크립터에서 선언된 모든 컨텐츠 컴포넌트들에 적용된다는 것을 표시한다.
표 3b:
Figure 112019043697834-pct00037
표 3b에서의 예는 품질 등가성 디스크립터가 0(디폴트 값)과 동일한 최대 품질 차이로, "P1"에 의해 식별된 사전선택 디스크립터에서 선언된 컨텐츠 컴포넌트들의 서브세트에 적용된다는 것을 표시한다.
표 3c:
Figure 112019043697834-pct00038
표 3c 상에서의 예는 품질 등가성 디스크립터가 2와 동일한 최대 품질 차이로, "P1"에 의해 식별된 사전선택 디스크립터에서 선언된 모든 컨텐츠 컴포넌트들에 적용된다는 것을 표시한다.
표 3d:
Figure 112019043697834-pct00039
표 3d 상에서의 예는 품질 등가성 디스크립터가 1과 동일한 최대 품질 차이로, "P1"에 의해 식별된 사전선택 디스크립터에서 선언된 컨텐츠 컴포넌트들의 서브세트(여기에서는, 1 및 2와 동일한 id를 갖는 적응세트들)에 적용된다는 것을 표시한다.
표 3e:
Figure 112019043697834-pct00040
표 3e 상에서의 예는 품질 등가성 디스크립터가 "P1" 및 "P2"에 의해 식별된 양자의 사전선택 디스크립터들의 모든 컨텐츠 컴포넌트들에 적용된다는 것을 표시한다. 최대 품질 차이는 0(디폴트 값)이다.
표 3f:
Figure 112019043697834-pct00041
Figure 112019043697834-pct00042
표 3f의 예는 제1 품질 등가성 디스크립터가 0과 동일한 최대 품질 차이로, "P1"에 의해 식별된 사전선택 디스크립터에 적용된다는 것을 표시한다.
제2 품질 등가성 디스크립터는 1과 동일한 최대 품질 차이로, "P2"에 의해 식별된 사전선택 디스크립터에 적용된다.
사전선택 엘리먼트가 MPD에서 선언되지 않을 때, 품질 등가성 디스크립터는 존재할 때에, 그 제1 파라미터를 통해 일부 적응세트들을 직접적으로 참조할 수 있다. 제2 파라미터는 최대 품질 차이를 표시할 수 있거나, 디폴트에 의해, 0과 동일한 최대 품질 차이 값을 표시할 수 있다. 이하의 표들은 이용의 일부 예를 제공한다.
표 4a:
Figure 112019043697834-pct00043
표 4a 상의 예는 품질 등가성 디스크립터가 0과 동일한 최대 품질 차이 값으로, 주어진 주기에 대하여 정의된 모든 컨텐츠 컴포넌트들(여기에서는, id 1 내지 4를 갖는 적응세트들)에 적용된다는 것을 표시한다.
표 4b:
Figure 112019043697834-pct00044
Figure 112019043697834-pct00045
표 4b 상의 예는 품질 등가성 디스크립터가 3과 동일한 최대 품질 차이 값으로, 주어진 주기에 대하여 정의된 모든 컨텐츠 컴포넌트들(여기에서는, id 1 내지 4를 갖는 적응세트들)에 적용된다는 것을 표시한다. 최대 품질 차이가 명시적일 때, 품질 등가성에 의해 관련된 컨텐츠 컴포넌트들의 리스트는 묵시적이다. 위의 표기는 다음의 것과 등가적이다:
Figure 112019043697834-pct00046
표 4c:
Figure 112019043697834-pct00047
표 4c 상의 예는 품질 등가성 디스크립터가 0(디폴트 값)과 동일한 최대 품질 차이 값으로, 주어진 주기에 대하여 정의된 컨텐츠 컴포넌트들의 서브세트(여기에서는, id 1 및 2를 갖는 적응세트들)에 적용된다는 것을 표시한다. 최대 품질 차이가 묵시적일 때, 품질 등가성에 의해 관련된 컨텐츠 컴포넌트들의 리스트는 명시적이다.
표 4d:
Figure 112019043697834-pct00048
Figure 112019043697834-pct00049
표 4d 상의 예는 품질 등가성 디스크립터가 1(명시적 값)과 동일한 최대 품질 차이 값으로, 주어진 주기에 대하여 정의된 컨텐츠 컴포넌트들의 서브세트(여기에서는, id 1 및 2를 갖는 적응세트들)에 적용된다는 것을 표시한다.
표 4e:
Figure 112019043697834-pct00050
표 4e 상에서의 예는 2개의 품질 등가성 디스크립터가 주기 엘리먼트에서 정의된 적응세트들의 서브세트에 각각 적용된다는 것을 표시한다. 제1의 것은 1과 동일한 최대 품질 차이 값을 추천하는 반면, 제2는 2와 동일한 최대 품질 차이 값을 추천한다.
주기 엘리먼트가 위에서 정의될 때, 품질 등가성 디스크립터는 MPD의 각각의 주기에서 정의된 컨텐츠 컴포넌트들(사전선택 엘리먼트 또는 사전선택 디스크립터 또는 적응세트 엘리먼트 또는 컨텐츠컴포넌트 엘리먼트)에 유사하게 적용된다.
품질 등가성 디스크립터가 "참"과 동일한 "singleInit" 파라미터를 선언하는 사전선택 엘리먼트 또는 디스크립터를 참조할 때, 표현들의 가능한 조합은 먼저, 초기화 세그먼트, 그 다음으로, 품질등급에 대한 제약들에 의해 제약된다는 것이 주목되어야 한다.
품질 등가성이 주기 레벨에서 선언될 때, 그리고 이 품질 등가성 디스크립터가 임의의 컨텐츠 컴포넌트들을 표시하지 않을 때, 품질 등가성은 품질 등가성 디스크립터의 부모 엘리먼트 내부에서 선언된 모든 미디어 컴포넌트들에 적용된다. 이것은 다수의 컨텐츠 컴포넌트 선택 엘리먼트들, 예를 들어, 사전선택 엘리먼트 또는 디스크립터가 이 부모 엘리먼트 내부에서 존재할 때, 품질 등가성이 모든 사전선택들의 모든 미디어 컴포넌트들에 적용된다는 것을 의미한다. 이것은 임의의 조합들이 허용된다는 것을 의미하지 않고, 이것은 오히려, 각각의 사전선택의 컴포넌트들에 의해, 그리고 궁극적으로, "singleInit" 파라미터로 표시된다. 품질 등가성이 스트리밍 매니페스트에서의 주어진 레벨에서 선언된 사전선택들의 리스트에서 오직 하나의 사전선택에 적용될 경우에, 품질 등가성 디스크립터는 컨텐츠 컴포넌트 선택 파라미터에서, 품질 등가성에 의해 영향받는 미디어 컴포넌트의 리스트를 표시해야 한다.
도 6a 내지 도 6d를 포함하는 도 6은 품질 규칙 디스크립터를 이용할 때, 그리고 품질 등가성 디스크립터를 이용할 때에, "컨텐츠 작성자" 실시예들에 따른 매니페스트들의 예들을 예시한다.
도 6a는 타일-기반 스트리밍에 대한 것이다. 도 1에서 예시된 비디오 구성을 입력으로서 고려하면, 도 6a는 601로 나타내어진 하나의 타일 설명(9개의 타일들 중에서, 간결함 및 명확함을 위하여, 다른 8 개의 타일들은 유사한 방법으로 설명될 것임)을 갖는 하나의 스트리밍 매니페스트(600)의 예를 제공한다. 이 스트리밍 매니페스트는 특정 적응세트 엘리먼트("virtual" 속성 및 "purpose" 속성)의 이용에 기초하여 컨텐츠 컴포넌트 선택 엘리먼트(602)를 선언한다. SRD 디스크립터(603)는 이 가상적인 적응세트(602)가 3x3 타일들의 결과적인 비디오에서의 9개의 타일들의 조립으로 이루어진다는 것을 표시한다.
제2 디스크립터(604)는 합성이 아마도 타일 당 하나인 다수의 디코더들을 요구할 것이라는 것을 여기에서 표시하는 "디코더 요건" 디스크립터이다. 대안적인 실시예에서, "multiple" 값은 요구된 동시 디코더 사례들의 수, 예를 들어, value="multiple=9"를 표시하는 "number" 값을 예상한다.
제1 표현(605)은 602에서 설명된 합성에서 관여된 모든 표현들에 대한 품질 등가성을 명시적으로 설명하기 위하여 매니페스트에서 선언된다. 이 품질 등가성은 합성(602)에 의해 관련된 적응세트들에서의 모든 표현들의 리스트로서, 예를 들어, associationId 속성에서 여기에서 주어진다. 이 리스트는 (여기에서는, 도 1의 "HQ" 최고 품질 레벨에 대응하는) 동일한 품질 레벨을 갖는 모든 표현들을 포함한다. dependencyId 속성(예에서의 5.1)에서 언급된 타일 표현은 컨텐츠 작성자가 조합(602)의 주요 컴포넌트로서 설명하는 타일이다. 이것은 사전선택 또는 조합 설명을 지원하지 않거나 9개의 타일들을 한 번에 디코딩할 수 없는 클라이언트 장치에 의해 플레이될 타일이다.
다음의 표현은 클라이언트 장치가 스트리밍을 동적으로 적응시킬 필요가 있을 경우에, 사전선택, 조합, 또는 합성(602)에 대한 대안들을 설명한다. 디폴트에 의해, 컨텐츠 컴포넌트 선택 엘리먼트 내부의 표현들의 선언의 순서는 최고 품질로부터 최저 품질로 간다는 것이 가정된다. 이것은 (이전의 실시예들에서와 같이 품질 등가성 디스크립터에 의해 오버로딩되지 않는 그 원래의 시맨틱들을 갖는) 이 표현들에서의 품질등급 속성을 이용함으로써 명시적일 수 있다.
예를 들어, (id="C.2"를 갖는) 표현(606)은 결과적인 합성된 비디오에 대한 더 낮은 전체적인 품질에서, 합성의 대안적인 버전을 클라이언트 장치에 표시한다. 이 대안은 최고 품질(dependencyId 속성에서의 표현 "5.1")에서의 중심 타일을 여전히 고려하지만, 둘러싸는 타일들에 대한 품질을 열화시킨다: 전부는 606에서의 "MQ" 표현으로부터 선택된다.
최후의 표현(607)은 대역폭이 이전의 표현 중의 하나를 이용하는 것을 가능하게 하지 않을 경우에 또 다른 대안을 설명한다: 이 하나는 중심 타일에 대한 품질을 "HQ로부터 "MQ"로 열화시키고(dependencyId 속성에서의 표현 "5.2"), 또한, 특정한 패턴을 갖는 둘러싸는 타일들에 대하여: 동일한 행 상의 타일들은 중간 품질로 보존되는(associationId 속성에서의 표현들 4.2 및 6.2) 반면, 나머지 타일들(상부 및 하부 행들)은 최저 품질로 열화된다. 이것은 컨텐츠 작성자에 의해 선택된 품질 규칙을 명시적으로 표시하고, 이전의 실시예에서 설명된 바와 같은 품질 규칙 디스크립터에서 표현된 품질 열화 패턴에 대한 대안이다.
도 6b는 컨텐츠 컴포넌트 선택 엘리먼트가 사전선택 엘리먼트의 확장을 이용하는 대안적인 실시예이다. 그것은 요구된, 예를 들어, 요구된 속성 "preselectionComponents"에서, 조합 또는 사전선택에서 관여된 컨텐츠 컴포넌트 또는 적응세트들의 리스트를 선언한다. 이 예에서, 이것은 각각의 적응세트에서 도 1로부터의 타일을 선언하는 것으로 주로 이루어진다. 이것은 "id" 속성 또는 "tag" 속성 또는 식별 목적을 위하여 예약된 임의의 다른 신택스 엘리먼트와 같은 컨텐츠 컴포넌트 또는 적응세트의 고유한 식별자를 이용함으로써 행해질 수 있다.
이 사전선택 엘리먼트는 사전선택이 9개의 타일들을 하나의 큰 비디오로 조립하는 픽처로 귀착된다는 것을 표시하기 위한 SRD 디스크립터(623)를 포함한다. 제2 디스크립터인 디코딩 요건들 디스크립터(624)는 사전선택으로부터 기인하는 합성된 비디오가 단일 디코더로 디코딩될 수 있고 디스플레이될 수 있다는 것을 표시하지만, 비트-스트림 재구성(디코더 요건들 디스크립터의 값 속성에서의 제2 파라미터의 객체)을 먼저 요구한다. 이 비트-스트림 재구성은 (즉, 각각의 타일에 대한) 사전선택에서 관여된 각각의 비디오 컨텐츠 컴포넌트의 연쇄된 비트-스트림들이 여기에서, 9개의 타일들을 가지는 단일 비트-스트림으로 트랜스코딩(transcode)되어야 한다는 것을 의미한다. 또 다른 디스크립터(625)는 사전선택의 목적이 "tile composition"이라는 것을 표시한다. 이것은 비트-스트림 재구성 프로세스를 위한 유용한 표시이다: 클라이언트는 표시를 해독할 수 있고, 그것이 실제적으로 HEVC 비트-스트림이어야 한다는 것을 의미하는 주어진 예에서, 컨텐츠 컴포넌트 선택 엘리먼트(여기에서는, 사전선택 엘리먼트)에서 선언된 코덱 속성의 값 및 'hvc2...'와, 그 다음으로, 프로파일, 티어, 레벨 정보에 의해 표시된 유형의 비트-스트림을 재구성해야 한다.
그 다음으로, 클라이언트가 이 대안들의 순서화(선택우선순위(selectionPriority) 속성이 또한 이용될 수 있다는 것이 주목되어야 함)를 이해하는 것을 확인하기 위하여, 도 6a의 예에서와 같이, 여기에서 명시적 품질등급 속성을 갖는 대안적인 표현들의 리스트가 뒤따른다. 사전선택 또는 조합의 각각의 표현에 대한 합성된 비디오를 위한 집합된 대역폭을 표시하는 대역폭 속성은 또한, 그 동적 적응을 위하여 클라이언트에 의해 이용될 수 있다.
대안적인 실시예들에서, 목적 디스크립터(625)는 사전선택 엘리먼트의 새로운 속성 또는 엘리먼트로서 구현될 수 있다. 유사하게, 디코더 요건들 디스크립터는 사전선택 엘리먼트의 새로운 속성 또는 엘리먼트로서 구현될 수 있다. 양자의 경우들 도 6a 및 도 6b에서는, "composition purpose(합성 목적)" 디스크립터가 컨텐츠 컴포넌트 선택 엘리먼트에서의 라벨(Label) 엘리먼트로서 대안적으로 선언될 수 있다.
도 6c는 주기의 시작부에서 표현된 품질 규칙 디스크립터(640) 및 품질 등가성 디스크립터(641)를 이용할 때에 동일한 미디어 프리젠테이션(즉, 도 1의 9개의 타일들 및 중심 타일 상에서 초점을 갖는 그 조합)을 예시한다. 적응세트(642)는 타일 1의 설명이다. MPD는 (간결함 및 명확함을 위하여 표현되지 않은) 타일 당 하나의 이러한 적응세트를 포함할 것이다. 이 예에서, 컨텐츠 컴포넌트 선택 디스크립터, 여기에서는, 사전선택 엘리먼트(643)는 동적 적응을 위한 임의의 표현을 포함하지 않는다. 그 대신에, 클라이언트 장치는 등가적인 품질 레벨을 가지는 preselectionComponents 속성에서 리스팅된 적응세트들에 걸쳐 표현들의 세트에 의존한다. 그 다음으로, 품질 규칙 디스크립터(640) 후에, 클라이언트 장치는 필요할 때에 인가된 품질 열화를 연산한다. 이 예에서, 품질 규칙 디스크립터(640)는 사전선택에서 조립된 표현들이 2 보다 더 큰 품질 등급 차이를 가지지 않아야 하고, 이에 따라, 클라이언트 선택을 위한 가능한 조합들의 수를 감소시킨다는 것을 표시한다. 도 6c에서 예시된 예에서의 품질 등가성은 그 값 속성에서, 사전선택에서 관여된 적응세트들의 리스트를 제공한다는 것이 주목되어야 한다. 여기서, 그것은 그 "id" 속성의 값에 기초한다. 미디어 컨텐츠 컴포넌트의 어느 파라미터가 품질 등가성을 표시하기 위하여 이용되는지를 분명하게 하기 위하여, schemeIdUri 속성에서 놓여진 값은 예를 들어, 실제로 명시적이도록 정의될 수 있다:
속성 "id"가 이용 중이라는 것을 표시하기 위한 "urn:mpeg:dash:quality-equivalence-id", 또는
속성 "tag"가 조합의 사전선택에서 관여된 미디어 컨텐츠 컴포넌트를 리스팅하기 위하여 이용 중이라는 것을 표시하기 위한 "urn:mpeg:dash:quality-equivalence-tag". 더 일반적으로, "xxx" 신택스 엘리먼트가 사전선택 또는 조합의 파트들인 미디어 컨텐츠 컴포넌트들을 식별하기 위하여 이용된다는 것을 표시하기 위한 "urn:mpeg:dash:quality-equivalence-xxx".
참조를 명시적으로 하기 위한 대안적인 실시예는, schemeIdUri 속성에서 일반적인 값을 유지하는 것, 및 관련된 미디어 컨텐츠 컴포넌트들을 리스팅하기 위하여 이용된 신택스 엘리먼트를 제공하는 제공하는 값 속성에서의 제1 파라미터로 시작하는 것이다. 예를 들어:
schemeIdUri="urn:mpeg:dash:quality-equivalence" 및 value="id, 1, 2" 또는
schemeIdUri="urn:mpeg:dash:quality-equivalence" 및 value="tag, AS1, AS2"는, id="1" 및 id ="2"를 갖는 적응세트들이 사전선택 또는 조합에서 관여되고, tag="AS1" 및 tag ="AS2"를 갖는 적응세트들이 사전선택 또는 조합에서 관여된다는 것을 각각 표시할 것이다. 더 일반적으로:
schemeIdUri="urn:mpeg:dash:quality-equivalence" 및 value="foo, foo1, foo2"는 값 foo1 및 foo2를 가지는 "foo" 엘리먼트 또는 속성을 갖는 미디어 컨텐츠 컴포넌트들이 사전선택 또는 조합의 일부라는 것을 표시할 것이다.
도 6d는 품질 등가성 디스크립터가 각각의 적응세트(참조(661))의 표현 엘리먼트의 새로운 속성으로서 배치되는 예를 예시한다. 임의적으로, 컨텐츠 컴포넌트 선택 엘리먼트(663)는 사전선택 또는 조합에 대한 일부 사전-정의된 품질 레벨들을 리스팅하는 신택스 엘리먼트를 포함할 수 있다.
도 6d에서 예시된 예에 따르면, 사전선택 엘리먼트(663)는 가능한 품질 레벨들의 리스트의 설명을 위하여 예약되는 새로운 "levels" 속성을 포함한다. 이 정보는 컨텐츠 컴포넌트 선택 엘리먼트의 자식(child)으로서, 예를 들어, DASH descriptorType 엘리먼트, 전형적으로, 그 자신의 schemeIdUri 특정 값을 갖는 SupplementalProperty 엘리먼트로서 배치될 수 있다. 이것은 클라이언트가 일부 적응이 미디어 컨텐츠 컴포넌트들의 합성 또는 조합 또는 사전선택을 선택하기 전에 가능하다는 것을 알기 위하여 유용하다. 동적 적응이 가능하지 않을 경우에, 이것은 사용자를 위한 경험의 열악한 품질로 귀착될 수도 있으므로, 스트리밍 클라이언트는 클라이언트에 경고하기 위하여 이 정보를 이용할 수도 있다.
품질의 레벨들을 컨텐츠 컴포넌트 선택 엘리먼트와 연관시키기 위한 대안적인 실시예는, 표현들(661)의 사전선택 속성의 제1 값으로서, 관련된 조합 또는 사전선택의 값, 예를 들어, 도 6d의 예에서의 "P1"을 정의하는 것일 수 있다. 사전선택 속성은 preselect="P1, HQ" 또는 preselect="P1, MQ" 등을 기록할 것이다. 컨텐츠 컴포넌트 선택 엘리먼트가 이전의 실시예에서 설명된 바와 같은 적응세트 또는 확장된 적응세트일 경우에, "id" 속성의 값이 마찬가지로 이용될 수 있다.
타일-기반 스트리밍의 경우에, 입력 비디오는 (각각의 품질 레벨에 대하여) 타일 기본 트랙 플러스 9개의 타일 트랙들로 (예컨대, 도 5에서의 캡슐화 단계(509) 동안에) 캡슐화된 하나의 타일링된 비디오 HEVC 비트-스트림이다. 그 다음으로, DASH에서의 타일 기본 트랙 설명에 대하여 MPEG DASH에서 행해진 일부 제안들은 재이용될 수 있다.
타일들 및 비디오 스트림들의 특정 경우에는, ISO/IEC 14496-15 제4 판에서 정의된 바와 같은 타일 기본 트랙의 설명에 대응하는 하나 이상의 적응세트들이 이용될 수 있다. 이것은 또한, 적응세트 타일 기본 트랙이 모든 타일들, 하나의 타일, 또는 타일들의 세트의 재구성을 허용하므로, 컨텐츠 컴포넌트 디스크립터로서의 이 적응세트 타일 기본 트랙에 종속되는 표현들 사이의 품질 등가성의 일부 표시를 요구한다. 여기에서의 적응세트의 특정한 파트는, 그것이 사전선택 또는 조합에서 관여된 모든 타일 트랙들 사이에서, 디코더 셋업 정보를 포함하는 타일 기본 트랙을 공유한다는 사실이다. 목적 디스크립터는 HEVC 타일링을 표시하고, 디코더 요건 디스크립터는 비디오 디코더의 오직 단일 인스턴스가 결과적인 합성된 비디오를 처리할 수 있다는 것을 표시한다.
타일들이 VR 또는 360° 비디오를 위하여 이용될 때, 주어진 영역, 예를 들어, 정육면체의 면들 상으로 투영된 구형 장면의 일부에 대한 데이터를 포함하기 위하여, 발명은 예를 들어, 전방 뷰와 다른 뷰들 사이의 품질을 처리하도록 적용된다. 더 일반적으로, 발명은 레코딩된 3D 장면의 투영된 파트들이 하나 이상의 타일들 내에 포함된 2D 표면 상으로 투영될 때에 VR 컨텐츠에 적용된다. 위의 실시예들로, 스트리밍 클라이언트는 컨텐츠 작성자에 의해 표시된 열화 품질 패턴이 있다는 것을 안다. 그것은 미디어를 요청할 때에 고려한다. 이것은 스트리밍 클라이언트들에 걸친 일관된 경험을 위하여 도움이 되어야 한다. 또 다른 실시예는 클라이언트들이 다음에서 설명된 바와 같은 품질 적응을 위한 그 자신의 독점적인 해결책들을 구현하게 하는 것으로 이루어질 수 있다.
클라이언트 적응 로직
특정한 실시예들에 따르면, 클라이언트 장치의 그래픽 사용자 인터페이스는 미디어 프리젠테이션에서 몇몇 비디오 스트림들을 택하여 동일한 디스플레이 윈도우에서 비디오 스트림들을 합성하고 렌더링하기 위하여 이용될 수 있다. 이것은 예를 들어, 직사각형을 플레이되는 비디오 상으로 묘화(draw)하는 것에 타일들의 세트를 선택함으로써, 또는 자동적 ROI 디스플레이를 위한 일부 설정들을 정적으로 정의함으로써, 또는 임의의 다른 선택 수단에 의해 행해질 수 있다.
대안적으로, 사용자/클라이언트 장치는 타일들의 특정 세트를 ROI인 것으로서 선택하는 것이 아니라, 모든 타일들을 선택한다. 이러한 경우들에는, 타일들의 전체 세트가 ROI로서 고려될 수 있고, 품질 적응은 이 타일들 사이의 품질의 측면에서 너무 많은 차이가 있지 않을 것이라는 것을 확인하기 위하여 수행되어야 한다. 그 목적을 위하여, 각각의 비디오 스트림은 품질, 비트레이트, 해상도 등의 측면에서 설명되고, 대응하는 데이터를 다운로딩하기 위한 대응하는 URL이 또한 제공된다.
이 실시예들에 따르면, 클라이언트 장치는 ROI의 타일들의 세트의 품질을 유리하게 하면서, 렌더링된 비디오 합성의 전체적인 시각적 품질을 최적화하기 위한 상이한 적응 알고리즘들을 구현한다. 예를 들어, 하나의 실시예에서, 클라이언트 장치는 레이트 할당 문제를 해결하기 위하여 적용되는 고전적인 최적화 알고리즘을 작동시킨다. 최적화는 최대 이용가능한 대역폭의 제약 하에서, 각각의 타일에 대한 양호한 표현을 선택하기 위하여 작동된다. 최대화하기 위한 목표 함수는 이에 따라, 전체적인 렌더링 품질을 표현하여, ROI 타일들에 더 많은 우선순위를 부여하고, 비디오의 상이한 에어리어들 사이의 품질 격차 또는 품질 차이를 제어하기 위하여 이웃하는 타일들 사이의 품질의 차이를 처벌한다. 예를 들어, 최대화하기 위한 목표 함수는 다음일 수 있고:
Figure 112019043697834-pct00051
여기서,
ROI는 ROI에 속하는 타일들의 세트이고;
Figure 112019043697834-pct00052
는 ROI에 속하지 않는 타일들의 세트이고;
NBT는 타일 이웃들의 세트이고: 그것은 타일들의 쌍들의 세트이고, 각각의 쌍은 2개의 이웃 타일들을 포함하고;
q(t)는 주어진 타일 t에 대한 품질 값을 제공하고, 이 품질은 그 타일에 대한 선택된 표현에 종속적이고; 그리고
α, β, 및 γ는 지각된 전체적인 품질과 ROI 품질 사이의 양호한 절충을 획득하기 위하여 오프라인으로 결정된 파라미터들이다. 예를 들어, α=2, β=1,γ=0.5가 이용될 수 있다.
이 최적화 알고리즘의 입력들은 이에 따라:
- 최대 이용가능한 대역폭,
- 각각의 선택된 타일 및 연관된 품질들의 각각의 가능한 표현의 가능한 대역폭/이용가능한 비트레이트들, 및
- 사용자가 더 양호한 품질을 가지기를 원할 ROI를 커버하는 타일들, 및
- 더 근접한 타일들을 보존하기 위한 타일 기하구조일 것이다.
주어진 타일에 대한 품질들은 예를 들어, 최고 비트레이트로부터 최저 비트레이트까지, 이 타일의 표현들의 비트레이트들을 순서화함으로써 (또는 존재할 경우에, 품질등급 속성을 이용함으로써), 그리고 비트레이트들을 레이트/왜곡 곡선에 맞춤으로써 추정된다.
단순함을 위하여, 품질은 n-번째 비트레이트에 대하여 1/n으로 설정될 수 있고: 최고 비트레이트는 그 다음으로, 1과 동일한 품질을 가질 것이다. 대안적으로, n-번째 비트레이트의 품질은
Figure 112019043697834-pct00053
으로 설정될 수 있고, 여기서,
Figure 112019043697834-pct00054
은 n-번째 비트레이트이고,
Figure 112019043697834-pct00055
은 그 타일의 표현에 대한 최고 비트레이트이다.
이 종류의 문제는 조합적인 최적화 문제로서 보여질 수 있다.
그것은 해결될 수 있거나, 또는 차선의 해결책이 고전적인 최적화 알고리즘들을 이용하여 구해질 수도 있다. 예를 들어, 동적 프로그래밍 또는 전문가 시스템 기법들이 이용될 수도 있다. 휴리스틱(heuristics)은 최적화 프로세스를 단순화하기 위하여 또한 이용될 수 있다. 이러한 가능한 최적화 알고리즘의 예로서, 제로 가중치(zero weight)가 각각의 ROI 타일에 부여되고, 가중치는 ROI 타일까지의 그 최소 맨해튼 거리인 각각의 다른 타일에 부여된다. 최적화는 품질 없음(no quality)을 모든 타일들에 연관시킴으로써 시작된다(즉, 타일들은 송신되지 않을 것임). 다음으로, 최대 대역폭이 초과되지 않는 동안, 제로 가중치를 갖는, 그 다음으로, 1 가중치를 갖는, 최고 가중치에 이르기까지의 타일들에 대한 최저 품질이 반복적으로 고려된다. 다음으로, 최대 대역폭이 초과되지 않는 동안, 'max_d=0'으로 시작하여, 제로 가중치를 갖는 타일들, 'max_d' 가중치를 갖는 타일들에 이르기까지의 (더 양호한 품질이 이용가능할 경우의) 품질이 반복적으로 증가된다. 그 다음으로, 'max_d'가 증가된다. 모든 타일들이 최상의 품질을 가지지 않을 경우에는, 알고리즘이 계속된다. 이 값들은 가장 먼 타일들, 그 다음으로, 가장 먼 그리고 '가장 먼-1' 타일들까지의 품질을 먼저 하락시키기 위하여 이용된다. 이 최적화 알고리즘은 이웃하는 타일들 사이의 '1'의 최대 품질 차이를 획득하는 것을 가능하게 한다. 다른 최대 품질 차이, 또는 품질 변동들의 다른 패턴들을 지원하는 것은 용이하게 확장될 수 있다.
이 종류의 최적화 알고리즘은 사전-정의된 적응 로직 알고리즘으로서 클라이언트 장치에서 내장될 수 있다. 다른 적응 로직 알고리즘들이 클라이언트 장치(예컨대, 도 3에서의 모듈(309))에서 내장될 수 있고, 각각은 상이한 미리 결정된 품질 적응 규칙을 따른다. 그 다음으로, 컨텐츠의 사용에 대한 사용자 선택에 따라, 클라이언트 장치는 가장 관련된 적응 알고리즘을 활성화할 수 있다.
가장 관련된 알고리즘의 선택은 클라이언트에게 허용될 수 있어서, 추가적인 시그널링이 스트리밍 매니페스트에서 요구되지 않는다. 이것은 컨텐츠 작성자의 작업을 단순화한다.
또 다른 대안은 하나의 적응세트에 대하여 한 번에 작동되는 고전적인 적응 로직(예컨대, 도 3에서의 적응 로직(308))의 확장에 대한 것이고: 클라이언트는 매니페스트로부터의 정보: 예를 들어, SRD 디스크립터들, 사전선택 엘리먼트들 등을 이용하여 가능한 조합을 연산한다. 그 다음으로, 그것은 (조합에서 관여된 각각의 표현의 @bandwidth의 합으로서) 연관된 요구된 대역폭을 갖는 가능한 조합들의 메모리-내 순서화된 리스트를 구축한다.
다음으로, 스위칭에서 너무 많은 시간을 소비하는 것을 회피하기 위하여, 가능한 조합들의 세트는 미리 결정된 조합들의 서브세트, 예를 들어, 5개의 대안들로 감소될 수 있다. 이것은 요구된 대역폭의 측면에서 상당한 차이를 갖는 조합들을 유지함으로써 행해질 수 있다. 그렇게 행함으로써, 클라이언트는 더 만은 대역폭이 이용가능할(또는 버퍼가 급속하게 충전하고 있음) 때에 표현들의 다음 세트로, 또는 이용가능한 대역폭이 감소하고 있을(또는 버퍼가 결핍의 우려가 있음) 때에 표현들의 더 낮은 세트로의 역방향 스위치 백(reverse switch back)에서 스위칭함으로써 하나의 적응 세트에 관하여 적응 로직을 이용하는 것을 계속할 수 있다. 주요 차이는 이 경우에, 스위치가 다수의 요청들(조합을 형성하는 동일한 미디어 유형을 갖는 표현들의 세트에서의 표현 당 하나)로 귀착되는 반면, 고전적인 이용 케이스에서는, 스위치가 주어진 미디어 유형의 하나의 표현의 세그먼트에 대한 하나의 요청으로 귀착된다는 것이다. 이 적응 로직들은 "품질 규칙" 디스크립터를 임의로 요구하지 않으면서, 직접적으로 작동될 수 있다. 이 경우에, 모든 선택은 클라이언트에게 허용된다. 대안적으로, 클라이언트는 그 적응 로직의 최상의 하나를 선택하여 사용자로의 렌더링을 개선시키기 위하여, "품질 규칙들" 및/또는 "품질 등가성" 디스크립터들의 이득들을 취할 수 있다.
서버 장치 제어: 푸시 및 방향전환
특정한 실시예들에 따르면, 클라이언트 장치는 품질 적응 규칙에 대한 정보 없이 미디어 세그먼트들을 요청한다. 이 실시예에서, 품질 적응 규칙들은 서버 측에서 유지되고, 스트리밍 매니페스트는 이전의 실시예들에서 도입된 품질 적응 규칙 디스크립터를 포함하지 않는다.
매니페스트는 조합들 또는 사전선택의 설명을 포함할 수 있다. 이 실시예에서, 사용자는 그래픽 사용자 인터페이스를 통해, 예를 들어, ROI 및 둘러싸는 타일들의 더 낮은 버전들에 대한 강조와 같은 뷰잉 모드를 선택할 수 있다. 서버 및 클라이언트 양자가 HTTP/2를 지원할 경우, 클라이언트는 조합 또는 사전선택의 주요 컴포넌트를 요청하면서, 클라이언트가 다른 컴포넌트들에 또한 관심이 있다는 것을 서버에 표시할 수 있다.
이것은 예를 들어, "urn:mpeg:dash:fdh:push-bundle"로 설정된 푸시 유형 명칭을 갖는 새로운 푸시 지시를 도입함으로써 행해질 수 있다. 이것은 푸시 지시들을 또한 지시할 것과, 가능한 조합 또는 사전선택들을 인지할 것을 서버에 요구한다. 품질 규칙, 예를 들어, 주요 자원과 사전선택의 다른 컴포넌트들 사이의 품질 레벨에서의 최대 차이는 서버에 의해 또한 알려진다. 이것은 스트리밍 매니페스트를 분석할 수 있는 DASH 인지 서버로, 또는 서버가 어느 자원들이 사전선택의 주요 자원에 관련되는지를 알도록 구성된 서버에 의해 행해질 수 있다. 사전선택의 주요 자원에 대한 GET 요청에 응답하여, 서버는 사전선택에서의 관련된 자원을 푸시할 것을 약속할 수 있다. 요청된 자원으로부터, MPD를 알 때, 서버는 클라이언트에 의해 요청된 품질의 레벨을 결정할 수 있다. 대안적으로, 푸시 지시는 주요 자원에 대하여 요청된 품질의 레벨을 푸시-번들 지시의 파라미터로서 표시할 수 있다. 예를 들어, 그것은 대역폭 정보로서 주어질 수 있다:
주요 자원이 1 Mbit/sec.에서, 또는 품질 레벨의 표시로서 요청된다는 것을 의미하는 Accept-Push-Policy= "urn:mpeg:fdh:push-bundle"; "bw:1000000":
도 1의 타일들의 경우, 또는 사전선택 속성이 품질 등가성을 위하여 이용되는 경우의 Accept-Push-Policy= "urn:mpeg:fdh:push-bundle"; "qRank:HQ":
Accept-Push-Policy= "urn:mpeg:fdh:push-bundle"; "preselect:HQ". ROI 이용 케이스에서, 이 푸시-지시는 클라이언트에 의한 요청을 단순화할 수 있고: 클라이언트는 ROI에 대응하는 비디오 파트들에 대한 요청을 발행하는 반면, 서버는 둘러싸는 타일들을 푸시한다. 이 푸시-지시 기반 접근법은 클라이언트 작업을 단순화하고: 클라이언트는 오직, 사전선택이 존재한다는 것을 알아야 하고, 주요 자원을 요청하는 것에 초점을 맞추어야 하고, 서버가 주요 자원에 대하여 선택된 품질 레벨과 동질인 품질 레벨에서의 추가적인 컴포넌트들을 전송하는 것을 대기해야 한다. 푸시 지시를 수락하고 적용할 때, 서버는 푸시 Ack를 응답한다:
Push-policy= "urn:mpeg:fdh:push-bundle"; 임의의 파라미터들 없이, 클라이언트에 의해 전송된 요청 및 지시를 수신확인(acknowledge)하기 위한 것임. 푸시-번들의 수신확인이 파라미터를 포함할 때, 파라미터는 미디어 컨텐츠 컴포넌트들의 사전선택 또는 조합에서의 품질 등가성 레벨을 식별하기 위하여 클라이언트에 의해 이용된다. 이것은 어느 품질 등가성 디스크립터가 이용 중인지에 따라, "preselect=HQ" 또는 "qRank=MQ"와 같은 파라미터일 수 있다.
도 7은 발명의 하나 이상의 실시예들의 구현을 위한 컴퓨팅 디바이스(700)의 개략적인 블록도이다. 컴퓨팅 디바이스(700)는 마이크로-컴퓨터, 워크스테이션, 또는 광 휴대용 디바이스와 같은 디바이스일 수도 있다. 컴퓨팅 디바이스(700)는:
- 마이크로프로세서와 같은 중앙 프로세싱 유닛(central processing unit)(CPU)(701);
- 발명의 실시형태들의 방법의 실행가능한 코드를 저장하기 위한 랜덤 액세스 메모리(random access memory)(RAM)(702) 뿐만 아니라, 데이터를 스트리밍하기 위한 방법을 구현하기 위하여 필요한 변수들 및 파라미터들을 레코딩하도록 적응된 레지스터들 - 그 메모리 용량은 예를 들어, 확장 포트에 접속된 임의적인 RAM에 의해 확대될 수 있음 -;
- 발명의 실시예들을 구현하기 위한 컴퓨터 프로그램들을 저장하기 위한 판독 전용 메모리(read only memory)(ROM)(703);
- 궁극적으로, 프로세싱되어야 할 디지털 데이터가 그 상에서 송신되거나 수신되는 통신 네트워크에 전형적으로 접속되는 네트워크 인터페이스(704)에 접속된 통신 버스를 포함한다. 네트워크 인터페이스(704)는 단일 네트워크 인터페이스일 수 있거나, 상이한 네트워크 인터페이스들(예를 들어, 유선 및 무선 인터페이스들, 또는 상이한 종류들의 유선 또는 무선 인터페이스들)의 세트로 구성될 수 있다. 데이터는 CPU(701)에서 작동되는 소프트웨어 애플리케이션의 제어 하에서, 송신을 위하여 네트워크 인터페이스로 기록되거나, 수신을 위하여 네트워크 인터페이스로부터 판독된다;
- 사용자로부터 입력들을 수신하거나 정보를 사용자에게 디스플레이하기 위한 사용자 인터페이스(user interface)(UI)(705);
- 하드 디스크(hard disk)(HD)(706);
- 비디오 소스 또는 디스플레이와 같은 외부 디바이스들로부터/외부 디바이스들로 데이터를 수신/전송하기 위한 I/O 모듈(707).
실행가능한 코드는 판독 전용 메모리(703) 내에, 하드 디스크(706) 상에서, 또는 예를 들어, 디스크와 같은 분리가능한 디지털 매체 상에서 중의 어느 하나로 저장될 수도 있다. 변형에 따르면, 프로그램들의 실행가능한 코드는 실행되기 전에, 하드 디스크(706)와 같은, 통신 디바이스(700)의 저장 수단들 중의 하나에서 저장되도록 하기 위하여, 네트워크 인터페이스(704)를 통해, 통신 네트워크의 수단에 의해 수신될 수 있다.
중앙 프로세싱 유닛(701)은 발명의 실시예들에 따라 프로그램 또는 프로그램들의 소프트웨어 코드의 명령어들 또는 부분들의 실행을 제어하고 지시하도록 적응되고, 명령어들은 전술한 저장 수단들 중의 하나에서 저장된다. 파워 온(power on) 후, CPU(701)는 그 명령어들이 예를 들어, 프로그램 ROM(703) 또는 하드-디스크(hard-disc)(HD)(706)로부터 로딩된 후에, 소프트웨어 애플리케이션에 관련되는 주요 RAM 메모리(702)로부터의 명령어들을 실행할 수 있다. 이러한 소프트웨어 애플리케이션은, CPU(701)에 의해 실행될 때, 이전의 도면들에서 도시된 플로우차트들의 단계들이 수행되게 한다.
이 실시예에서, 장치는 발명을 구현하기 위하여 소프트웨어를 이용하는 프로그래밍가능한 장치이다. 그러나, 대안적으로, 본 발명은 하드웨어로(예를 들어, 애플리케이션 특정 집적 회로(Application Specific Integrated Circuit) 또는 ASIC의 형태로) 구현될 수도 있다.
발명은 도면들 및 상기한 설명에서 상세하게 예시되었고 설명되었지만, 이러한 예시 및 설명은 한정적인 것이 아니라, 예시 또는 예시적인 것으로 고려되어야 하고, 발명은 개시된 실시예로 한정되지는 않는다. 개시된 실시예에 대한 다른 변동들은 도면들, 개시내용, 및 첨부된 청구항들의 연구로부터, 청구된 발명을 실시함에 있어서 본 기술분야의 통상의 기술자들에 의해 이해될 수 있고 달성될 수 있다.
이러한 변동들은 특히, 발명의 개요에서 및/또는 첨부된 청구항들에서 기재된 바와 같은 실시예들을 조합하는 것으로부터 유도할 수 있다.
청구항들에서, 단어 "포함하는"은 다른 엘리먼트들 또는 단계들을 배제하지 않고, 부정 관사 "a" 또는 "an"은 복수를 배제하지 않는다. 단일 프로세서 또는 다른 유닛은 청구항들에서 인용된 몇몇 항목들의 기능들을 이해할 수도 있다. 상이한 특징들이 상호 상이한 종속항들에서 인용된다는 단순한 사실은 이 특징들의 조합이 유리하게 이용될 수 없다는 것을 표시하지는 않는다. 청구항들에서의 임의의 참조 부호들은 발명의 범위를 제한하는 것으로 해석되지 않아야 한다.

Claims (64)

  1. 미디어 컨텐츠 컴포넌트들에 관한 정보를 설명하는 설명적 데이터(descriptive data)를 위한 프로세싱 방법으로서,
    상기 설명적 데이터를 생성하는 단계, 및
    생성된 상기 설명적 데이터를 클라이언트에 송신하는 단계
    를 포함하고,
    상기 설명적 데이터는,
    적어도 2개의 적응 세트(adaptation set);
    각각의 적응 세트에 속하고 있는 복수의 미디어 컨텐츠 컴포넌트들의 각각의 품질 등급을 식별하기 위한 등급 정보;
    상기 적어도 2개의 적응 세트에 대한 적어도 2개의 등급 정보 간의 관계를 표시하기 위한 등급 관련성 정보, 및
    미디어 컨텐츠 컴포넌트를 요청하기 위하여 상기 클라이언트에 의해 참조되는 어드레스 정보를 포함하고,
    상기 등급 관련성 정보는, 상기 클라이언트에서 동시에 렌더링하기 위해서 상기 적어도 2개의 적응 세트의 적어도 2개의 미디어 컨텐츠 컴포넌트를 선택하고 조합하기 위한 품질 규칙을 정의하고,
    상기 품질 규칙은, 상기 적어도 2개의 미디어 컨텐츠 컴포넌트가 선택되기 위해서 상기 적어도 2개의 미디어 컨텐츠 컴포넌트의 상기 등급 정보가 따라야만 하는 관계를 나타내는, 방법.
  2. 제1항에 있어서, 상기 설명적 데이터는 하나 이상의 미디어 컨텐츠 컴포넌트들의 하나 이상의 대안적인 버전들에 관한 정보를 제공하는, 방법.
  3. 제2항에 있어서, 상기 적어도 2개의 적응 세트의 각각은 하나 이상의 미디어 컨텐츠 컴포넌트들의 하나 이상의 대안적인 버전들을 포함하는, 방법.
  4. 제3항에 있어서, 상기 등급 정보는, 각각의 적응 세트에 대하여, 상기 하나 이상의 미디어 컨텐츠 컴포넌트들의 각각의 대안적인 버전의 품질 등급을 식별하는, 방법.
  5. 제4항에 있어서, 상기 등급 관련성 정보는 상기 적어도 2개의 적응 세트에 연관된 상기 등급 정보 간의 관계를 표시하는, 방법.
  6. 제5항에 있어서, 상기 어드레스 정보는, 상기 미디어 컨텐츠 컴포넌트들의 상기 하나 이상의 대안적인 버전들 중의 하나를 요청하기 위하여 상기 클라이언트에 의해 각각 참조되는 하나 이상의 어드레스를 표시하는, 방법.
  7. 제1항에 있어서, 상기 미디어 컨텐츠 컴포넌트들은 시간지정된 파티셔닝된 이미지(timed partitioned image)들을 포함하는 파티셔닝된 시간지정된 미디어 데이터를 포함하고, 상기 등급 정보는 상기 시간지정된 미디어 데이터의 이미지의 2개의 부분 간의 품질 격차 임계치(quality disparity threshold)를 표현하고, 각각의 부분은 미디어 컨텐츠 컴포넌트에 대응하는, 방법.
  8. 제1항에 있어서, 매니페스트(manifest) - 상기 매니페스트는 스트리밍을 위하여 이용가능한 상기 미디어 컨텐츠 컴포넌트들을 설명하는 정보 및 상기 등급 정보를 포함함 - 를 송신하는 단계를 더 포함하는, 방법.
  9. 제8항에 있어서, 상기 미디어 컨텐츠 컴포넌트들은 시간지정된 파티셔닝된 이미지들을 포함하는 파티셔닝된 시간지정된 미디어 데이터를 포함하고, 상기 등급 정보는, 스트리밍을 위하여 이용가능한 시간지정된 미디어 데이터의 데이터의 가능한 조합들의 세트로서 상기 매니페스트에서 적어도 부분적으로 인코딩되고, 데이터의 각각의 조합은 상기 등급 정보를 준수하는, 방법.
  10. 미디어 컨텐츠 컴포넌트들에 관한 정보를 설명하는 설명적 데이터를 프로세싱하기 위한 프로세싱 장치로서,
    상기 프로세싱 장치는,
    상기 설명적 데이터를 생성하는 단계, 및
    생성된 상기 설명적 데이터를 클라이언트에 송신하는 단계
    를 수행하도록 구성되고,
    상기 설명적 데이터는,
    적어도 2개의 적응 세트;
    각각의 적응 세트에 속하고 있는 복수의 미디어 컨텐츠 컴포넌트들의 각각의 품질 등급을 식별하기 위한 등급 정보;
    상기 적어도 2개의 적응 세트에 대한 적어도 2개의 등급 정보 간의 관계를 표시하기 위한 등급 관련성 정보, 및
    미디어 컨텐츠 컴포넌트를 요청하기 위하여 상기 클라이언트에 의해 참조되는 어드레스 정보를 포함하고,
    상기 등급 관련성 정보는, 상기 클라이언트에서 동시에 렌더링하기 위해서 상기 적어도 2개의 적응 세트의 적어도 2개의 미디어 컨텐츠 컴포넌트를 선택하고 조합하기 위한 품질 규칙을 정의하고,
    상기 품질 규칙은, 상기 적어도 2개의 미디어 컨텐츠 컴포넌트가 선택되기 위해서 상기 적어도 2개의 미디어 컨텐츠 컴포넌트의 상기 등급 정보가 따라야만 하는 관계를 나타내는, 프로세싱 장치.
  11. 제10항에 있어서, 상기 설명적 데이터는 하나 이상의 미디어 컨텐츠 컴포넌트들의 하나 이상의 대안적인 버전들에 관한 정보를 제공하는, 프로세싱 장치.
  12. 제11항에 있어서, 상기 적어도 2개의 적응 세트의 각각은 하나 이상의 미디어 컨텐츠 컴포넌트들의 하나 이상의 대안적인 버전들을 포함하는, 프로세싱 장치.
  13. 제12항에 있어서, 상기 등급 정보는, 각각의 적응 세트에 대하여, 상기 하나 이상의 미디어 컨텐츠 컴포넌트들의 각각의 대안적인 버전의 품질 등급을 식별하는, 프로세싱 장치.
  14. 제13항에 있어서, 상기 등급 관련성 정보는 상기 적어도 2개의 적응 세트에 연관관 상기 등급 정보 간의 관계를 표시하는, 프로세싱 장치.
  15. 제14항에 있어서, 상기 어드레스 정보는, 상기 미디어 컨텐츠 컴포넌트들의 상기 하나 이상의 대안적인 버전들 중의 하나를 요청하기 위하여 상기 클라이언트에 의해 각각 참조되는 하나 이상의 어드레스를 표시하는, 프로세싱 장치.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
  62. 삭제
  63. 삭제
  64. 삭제
KR1020197012331A 2016-10-10 2017-10-10 시간지정된 미디어 데이터의 스트리밍 동안의 렌더링 디스플레이를 개선하기 위한 방법, 디바이스, 및 컴퓨터 프로그램 KR102249173B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020217013207A KR102286881B1 (ko) 2016-10-10 2017-10-10 시간지정된 미디어 데이터의 스트리밍 동안의 렌더링 디스플레이를 개선하기 위한 방법, 디바이스, 및 컴퓨터 프로그램

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1617205.8A GB2554877B (en) 2016-10-10 2016-10-10 Methods, devices, and computer programs for improving rendering display during streaming of timed media data
GB1617205.8 2016-10-10
PCT/EP2017/075870 WO2018069357A1 (en) 2016-10-10 2017-10-10 Methods, devices, and computer programs for improving rendering display during streaming of timed media data

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020217013207A Division KR102286881B1 (ko) 2016-10-10 2017-10-10 시간지정된 미디어 데이터의 스트리밍 동안의 렌더링 디스플레이를 개선하기 위한 방법, 디바이스, 및 컴퓨터 프로그램

Publications (2)

Publication Number Publication Date
KR20190054165A KR20190054165A (ko) 2019-05-21
KR102249173B1 true KR102249173B1 (ko) 2021-05-10

Family

ID=57610533

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020217013207A KR102286881B1 (ko) 2016-10-10 2017-10-10 시간지정된 미디어 데이터의 스트리밍 동안의 렌더링 디스플레이를 개선하기 위한 방법, 디바이스, 및 컴퓨터 프로그램
KR1020197012331A KR102249173B1 (ko) 2016-10-10 2017-10-10 시간지정된 미디어 데이터의 스트리밍 동안의 렌더링 디스플레이를 개선하기 위한 방법, 디바이스, 및 컴퓨터 프로그램

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020217013207A KR102286881B1 (ko) 2016-10-10 2017-10-10 시간지정된 미디어 데이터의 스트리밍 동안의 렌더링 디스플레이를 개선하기 위한 방법, 디바이스, 및 컴퓨터 프로그램

Country Status (9)

Country Link
US (2) US10979783B2 (ko)
EP (2) EP3523981B1 (ko)
JP (2) JP7035038B2 (ko)
KR (2) KR102286881B1 (ko)
CN (2) CN113141379B (ko)
ES (1) ES2952427T3 (ko)
GB (1) GB2554877B (ko)
RU (1) RU2724318C1 (ko)
WO (1) WO2018069357A1 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2554877B (en) 2016-10-10 2021-03-31 Canon Kk Methods, devices, and computer programs for improving rendering display during streaming of timed media data
US11659057B2 (en) * 2017-04-19 2023-05-23 Comcast Cable Communications, Llc Methods and systems for content delivery using server push
CA3060578C (en) 2017-04-21 2020-07-21 Zenimax Media Inc. Systems and methods for encoder-guided adaptive-quality rendering
JP7035401B2 (ja) 2017-09-15 2022-03-15 ソニーグループ株式会社 画像処理装置およびファイル生成装置
JP2019054417A (ja) * 2017-09-15 2019-04-04 ソニー株式会社 画像処理装置およびファイル生成装置
US11321516B2 (en) * 2018-01-19 2022-05-03 Qualcomm Incorporated Processing dynamic web content of an ISO BMFF web resource track
EP3531703A1 (en) * 2018-02-26 2019-08-28 Thomson Licensing Method and network equipment for encoding an immersive video spatially tiled with a set of tiles
US11153482B2 (en) * 2018-04-27 2021-10-19 Cubic Corporation Optimizing the content of a digital omnidirectional image
US10419738B1 (en) 2018-06-14 2019-09-17 Telefonaktiebolaget Lm Ericsson (Publ) System and method for providing 360° immersive video based on gaze vector information
US10567780B2 (en) 2018-06-14 2020-02-18 Telefonaktiebolaget Lm Ericsson (Publ) System and method for encoding 360° immersive video
US10623736B2 (en) 2018-06-14 2020-04-14 Telefonaktiebolaget Lm Ericsson (Publ) Tile selection and bandwidth optimization for providing 360° immersive video
US10432970B1 (en) 2018-06-14 2019-10-01 Telefonaktiebolaget Lm Ericsson (Publ) System and method for encoding 360° immersive video
US10523914B1 (en) 2018-07-26 2019-12-31 Telefonaktiebolaget Lm Ericsson (Publ) System and method for providing multiple 360° immersive video sessions in a network
US10841662B2 (en) 2018-07-27 2020-11-17 Telefonaktiebolaget Lm Ericsson (Publ) System and method for inserting advertisement content in 360° immersive video
US10440416B1 (en) 2018-10-01 2019-10-08 Telefonaktiebolaget Lm Ericsson (Publ) System and method for providing quality control in 360° immersive video during pause
US10757389B2 (en) 2018-10-01 2020-08-25 Telefonaktiebolaget Lm Ericsson (Publ) Client optimization for providing quality control in 360° immersive video during pause
GB2582155B (en) * 2019-03-12 2023-12-27 Canon Kk Method, device, and computer program for signaling available portions of encapsulated media content
US11831702B2 (en) * 2019-10-04 2023-11-28 Eexpway Method for broadcasting DASH/HLS hybrid multimedia streams
US11178439B2 (en) * 2019-12-16 2021-11-16 Rovi Guides, Inc. Systems and methods for optimizing bandwidth for data transmission
JP7467647B2 (ja) 2020-06-24 2024-04-15 中興通訊股▲ふん▼有限公司 ボリュメトリックメディア処理方法および装置
CN111726687B (zh) * 2020-06-30 2022-12-27 北京百度网讯科技有限公司 用于生成显示数据的方法和装置
KR20220012740A (ko) * 2020-07-23 2022-02-04 삼성전자주식회사 통신 시스템에서 컨텐츠의 송수신을 제어하기 위한 방법 및 장치
WO2022056666A1 (en) * 2020-09-15 2022-03-24 Qualcomm Incorporated Methods and apparatus for video over nr-dc
US11687386B2 (en) * 2020-10-07 2023-06-27 Tencent America LLC MPD validity expiration processing model
US20220369000A1 (en) * 2021-05-12 2022-11-17 Qualcomm Incorporated Split rendering of extended reality data over 5g networks
US20230007210A1 (en) * 2021-06-30 2023-01-05 Lemon Inc. Signaling the Purpose of Preselection
US11985333B2 (en) 2021-06-30 2024-05-14 Lemon Inc. Indicating which video data units represent a target picture-in-picture region
US20230144442A1 (en) * 2021-11-05 2023-05-11 Tencent America LLC Immersive media streaming prioritized by asset complexity
US20240129537A1 (en) * 2022-10-18 2024-04-18 Tencent America LLC Method and apparatus for signaling cmaf switching sets in isobmff

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140082054A1 (en) 2012-09-14 2014-03-20 Canon Kabushiki Kaisha Method and device for generating a description file, and corresponding streaming method
JP2016522622A (ja) * 2013-07-19 2016-07-28 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 動的適応型ハイパーテキスト転送プロトコルストリーミングにおけるメタデータ情報のシグナリングおよび搬送

Family Cites Families (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491645A (en) * 1993-10-13 1996-02-13 International Business Machines Corporation Method and system for N-track correlation
KR100931870B1 (ko) * 2005-04-13 2009-12-15 노키아 코포레이션 비디오 데이터를 효과적으로 코딩 및 디코딩하는 방법,장치 및 시스템
US9049449B2 (en) * 2005-04-13 2015-06-02 Nokia Corporation Coding of frame number in scalable video coding
US9521469B2 (en) * 2013-04-19 2016-12-13 Futurewei Technologies, Inc. Carriage of quality information of content in media formats
EP2433256A4 (en) 2009-05-21 2016-10-05 Intertrust Tech Corp SYSTEMS AND METHODS FOR CONTENT DISTRIBUTION
US8924580B2 (en) * 2011-08-12 2014-12-30 Cisco Technology, Inc. Constant-quality rate-adaptive streaming
US8396983B1 (en) * 2012-03-13 2013-03-12 Google Inc. Predictive adaptive media streaming
US9294531B2 (en) * 2012-07-12 2016-03-22 Futurewei Technologies, Inc. Signaling and processing content with variable bitrates for adaptive streaming
US9125073B2 (en) 2012-08-03 2015-09-01 Intel Corporation Quality-aware adaptive streaming over hypertext transfer protocol using quality attributes in manifest file
US8949206B2 (en) * 2012-10-04 2015-02-03 Ericsson Television Inc. System and method for creating multiple versions of a descriptor file
US9426196B2 (en) * 2013-01-04 2016-08-23 Qualcomm Incorporated Live timing for dynamic adaptive streaming over HTTP (DASH)
GB2512310A (en) * 2013-03-25 2014-10-01 Sony Corp Media Distribution
EP2984841B1 (en) * 2013-04-12 2016-06-08 Telefonaktiebolaget LM Ericsson (publ) Constructing inter-layer reference picture lists
GB2513140B (en) 2013-04-16 2016-05-04 Canon Kk Methods, devices, and computer programs for streaming partitioned timed media data
US10284612B2 (en) 2013-04-19 2019-05-07 Futurewei Technologies, Inc. Media quality information signaling in dynamic adaptive video streaming over hypertext transfer protocol
US20150006621A1 (en) * 2013-07-01 2015-01-01 Futurewei Technologies, Inc. Adaptive Video Streaming for Information Centric Networks
GB2519746B (en) * 2013-10-22 2016-12-14 Canon Kk Method, device and computer program for encapsulating scalable partitioned timed media data
US20160269759A1 (en) * 2013-10-22 2016-09-15 Sharp Kabushiki Kaisha Display processing device, distribution device, and metadata
US10841353B2 (en) * 2013-11-01 2020-11-17 Ericsson Ab System and method for optimizing defragmentation of content in a content delivery network
GB2524531B (en) * 2014-03-25 2018-02-07 Canon Kk Methods, devices, and computer programs for improving streaming of partitioned timed media data
CN106664443B (zh) * 2014-06-27 2020-03-24 皇家Kpn公司 根据hevc拼贴视频流确定感兴趣区域
US10187648B2 (en) * 2014-06-30 2019-01-22 Sony Corporation Information processing device and method
KR101788067B1 (ko) * 2014-10-21 2017-10-19 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016080721A1 (ko) * 2014-11-17 2016-05-26 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
US10742705B2 (en) * 2014-11-20 2020-08-11 Lg Electronics Inc. Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method
US10205556B2 (en) * 2014-11-20 2019-02-12 Lg Electronics Inc. Apparatus for transmitting broadcast signal, apparatus for receiving broadcast signal, method for transmitting broadcast signal and method for receiving broadcast signal
US20160149956A1 (en) * 2014-11-21 2016-05-26 Whip Networks, Inc. Media management and sharing system
EP3232668A4 (en) * 2014-12-10 2018-06-13 LG Electronics Inc. Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method and broadcast signal reception method
WO2016122267A1 (ko) * 2015-01-29 2016-08-04 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016129868A1 (ko) * 2015-02-10 2016-08-18 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016129866A1 (ko) * 2015-02-10 2016-08-18 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016129869A1 (ko) * 2015-02-13 2016-08-18 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
US10270989B2 (en) * 2015-04-22 2019-04-23 Lg Electronics Inc. Broadcasting signal transmission device, broadcasting signal reception device, broadcasting signal transmission method, and broadcasting signal reception method
WO2016204481A1 (ko) * 2015-06-16 2016-12-22 엘지전자 주식회사 미디어 데이터 전송 장치, 미디어 데이터 수신 장치, 미디어 데이터 전송 방법, 및 미디어 데이터 수신 방법
JP6675475B2 (ja) * 2015-08-20 2020-04-01 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ メディア・ストリームに基づくタイルド・ビデオの形成
US10715843B2 (en) * 2015-08-20 2020-07-14 Koninklijke Kpn N.V. Forming one or more tile streams on the basis of one or more video streams
US10674185B2 (en) * 2015-10-08 2020-06-02 Koninklijke Kpn N.V. Enhancing a region of interest in video frames of a video stream
US11115689B2 (en) * 2015-10-13 2021-09-07 Sony Corporation Transmission apparatus, transmission method, reception apparatus, and reception method
US9854375B2 (en) * 2015-12-01 2017-12-26 Qualcomm Incorporated Selection of coded next generation audio data for transport
WO2017136354A1 (en) * 2016-02-01 2017-08-10 Dolby Laboratories Licensing Corporation Enabling personalized audio in adaptive streaming
WO2017164270A1 (en) * 2016-03-25 2017-09-28 Sharp Kabushiki Kaisha Systems and methods for signaling of information associated with audio content
WO2017188714A1 (ko) * 2016-04-26 2017-11-02 엘지전자 주식회사 360도 비디오를 전송하는 방법, 360도 비디오를 수신하는 방법, 360도 비디오 전송 장치, 360도 비디오 수신 장치
GB2550604A (en) * 2016-05-24 2017-11-29 Canon Kk Method, device, and computer program for encapsulating and parsing timed media data
EP3466079B1 (en) 2016-05-24 2023-07-12 Nokia Technologies Oy Method and an apparatus and a computer program for encoding media content
JP2019521587A (ja) * 2016-05-26 2019-07-25 ヴィド スケール インコーポレイテッド ビューポート適応360度映像配信の方法および装置
GB2550912B (en) * 2016-05-27 2019-09-04 Canon Kk Method, device and computer program for encapsulating and parsing timed media data
GB2554877B (en) * 2016-10-10 2021-03-31 Canon Kk Methods, devices, and computer programs for improving rendering display during streaming of timed media data
US10917564B2 (en) * 2016-10-12 2021-02-09 Qualcomm Incorporated Systems and methods of generating and processing files for partial decoding and most interested regions
WO2018083378A1 (en) * 2016-11-01 2018-05-11 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US10433027B2 (en) * 2017-02-15 2019-10-01 Electronics And Telecommunications Research Institute Method and apparatus for signaling video enhancement information (VEI) for video quality enhancement of fixed/mobile broadcasting hybrid 3DTV
WO2018175855A1 (en) * 2017-03-23 2018-09-27 Vid Scale, Inc. Metrics and messages to improve experience for 360-degree adaptive streaming
GB2560921B (en) * 2017-03-27 2020-04-08 Canon Kk Method and apparatus for encoding media data comprising generated content
US11095907B2 (en) * 2017-03-27 2021-08-17 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
CA3060578C (en) * 2017-04-21 2020-07-21 Zenimax Media Inc. Systems and methods for encoder-guided adaptive-quality rendering
US10893256B2 (en) * 2017-06-26 2021-01-12 Nokia Technologies Oy Apparatus, a method and a computer program for omnidirectional video
CN110870302B (zh) * 2017-07-03 2021-06-29 诺基亚技术有限公司 用于全向视频的装置、方法和计算机程序
KR102371574B1 (ko) * 2017-07-06 2022-03-07 프라운 호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 분할된 비디오 스트리밍 개념
EP3649790A4 (en) * 2017-07-06 2021-01-06 Sharp Kabushiki Kaisha VIEW INFORMATION SIGNALING SYSTEMS AND METHODS FOR VIRTUAL REALITY APPLICATIONS
US20190014362A1 (en) * 2017-07-10 2019-01-10 Qualcomm Incorporated Enhanced region-wise packing and viewport independent hevc media profile
US11665219B2 (en) * 2017-07-10 2023-05-30 Qualcomm Incorporated Processing media data using a generic descriptor for file format boxes
US10587883B2 (en) * 2017-07-14 2020-03-10 Qualcomm Incorporated Region-wise packing, content coverage, and signaling frame packing for media content
JP2019054417A (ja) * 2017-09-15 2019-04-04 ソニー株式会社 画像処理装置およびファイル生成装置
JP7035401B2 (ja) * 2017-09-15 2022-03-15 ソニーグループ株式会社 画像処理装置およびファイル生成装置
CN111543060B (zh) * 2017-10-09 2024-03-08 诺基亚技术有限公司 用于视频编码和解码的装置、方法和计算机程序
GB2567624B (en) * 2017-10-12 2021-05-26 Canon Kk Method, device and computer program for transmitting media content
BR112020012494A2 (pt) * 2017-12-28 2020-11-24 Sony Corporation dispositivo de processamento de informação, método de processamento de informação, e, programa.
CN111869222B (zh) * 2018-03-22 2022-05-17 华为技术有限公司 基于http的dash客户端网元、方法及介质
JP2021520711A (ja) * 2018-04-04 2021-08-19 シャープ株式会社 仮想現実アプリケーション用のサブピクチャコンポジション情報をシグナリングするためのシステム及び方法
WO2019195101A1 (en) * 2018-04-05 2019-10-10 Futurewei Technologies, Inc. Efficient association between dash objects
EP3776484A4 (en) * 2018-04-06 2021-05-05 Huawei Technologies Co., Ltd. ASSOCIATION OF FILE FORMAT OBJECTS AND OBJECTS WITH DYNAMIC ADAPTIVE STREAMING OVER HYPERTEXT TRANSFER PROTOCOL (DASH)
US10623736B2 (en) * 2018-06-14 2020-04-14 Telefonaktiebolaget Lm Ericsson (Publ) Tile selection and bandwidth optimization for providing 360° immersive video
US10432970B1 (en) * 2018-06-14 2019-10-01 Telefonaktiebolaget Lm Ericsson (Publ) System and method for encoding 360° immersive video
US10567780B2 (en) * 2018-06-14 2020-02-18 Telefonaktiebolaget Lm Ericsson (Publ) System and method for encoding 360° immersive video
US10419738B1 (en) * 2018-06-14 2019-09-17 Telefonaktiebolaget Lm Ericsson (Publ) System and method for providing 360° immersive video based on gaze vector information
US10523914B1 (en) * 2018-07-26 2019-12-31 Telefonaktiebolaget Lm Ericsson (Publ) System and method for providing multiple 360° immersive video sessions in a network
US10841662B2 (en) * 2018-07-27 2020-11-17 Telefonaktiebolaget Lm Ericsson (Publ) System and method for inserting advertisement content in 360° immersive video
JP2021536163A (ja) * 2018-08-30 2021-12-23 シャープ株式会社 サブピクチャ時限メタデータ情報をシグナリングするシステム及び方法
US11082728B2 (en) * 2018-08-31 2021-08-03 Electronics And Telecommunications Research Institute Method and apparatus for providing broadcast service based on scalable codec
WO2020053477A2 (en) * 2018-09-12 2020-03-19 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US10440416B1 (en) * 2018-10-01 2019-10-08 Telefonaktiebolaget Lm Ericsson (Publ) System and method for providing quality control in 360° immersive video during pause
US10757389B2 (en) * 2018-10-01 2020-08-25 Telefonaktiebolaget Lm Ericsson (Publ) Client optimization for providing quality control in 360° immersive video during pause
CN111417008B (zh) * 2019-01-08 2022-06-03 诺基亚技术有限公司 用于虚拟现实的方法、装置和计算机可读介质
US11381739B2 (en) * 2019-01-23 2022-07-05 Intel Corporation Panoramic virtual reality framework providing a dynamic user experience
US11094130B2 (en) * 2019-02-06 2021-08-17 Nokia Technologies Oy Method, an apparatus and a computer program product for video encoding and video decoding
EP4085642A4 (en) * 2020-01-03 2024-01-03 Nokia Technologies Oy REAL-TIME TEXTURE ADAPTATION METHOD

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140082054A1 (en) 2012-09-14 2014-03-20 Canon Kabushiki Kaisha Method and device for generating a description file, and corresponding streaming method
JP2016522622A (ja) * 2013-07-19 2016-07-28 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 動的適応型ハイパーテキスト転送プロトコルストリーミングにおけるメタデータ情報のシグナリングおよび搬送

Also Published As

Publication number Publication date
GB201617205D0 (en) 2016-11-23
JP7035038B2 (ja) 2022-03-14
US11184683B2 (en) 2021-11-23
KR102286881B1 (ko) 2021-08-09
GB2554877A (en) 2018-04-18
JP2019531662A (ja) 2019-10-31
CN109804635A (zh) 2019-05-24
JP7263583B2 (ja) 2023-04-24
GB2554877B (en) 2021-03-31
EP4224863A3 (en) 2023-08-16
US10979783B2 (en) 2021-04-13
EP3523981A1 (en) 2019-08-14
US20200053435A1 (en) 2020-02-13
CN113141379B (zh) 2022-12-20
JP2022066370A (ja) 2022-04-28
CN113141379A (zh) 2021-07-20
US20210185411A1 (en) 2021-06-17
EP3523981B1 (en) 2023-05-17
KR20210052596A (ko) 2021-05-10
KR20190054165A (ko) 2019-05-21
EP4224863A2 (en) 2023-08-09
ES2952427T3 (es) 2023-10-31
WO2018069357A1 (en) 2018-04-19
CN109804635B (zh) 2021-06-18
RU2724318C1 (ru) 2020-06-22

Similar Documents

Publication Publication Date Title
KR102249173B1 (ko) 시간지정된 미디어 데이터의 스트리밍 동안의 렌더링 디스플레이를 개선하기 위한 방법, 디바이스, 및 컴퓨터 프로그램
US11019408B2 (en) Methods, devices, and computer programs for streaming partitioned timed media data
US10135952B2 (en) Method and corresponding device for streaming video data
US10862943B2 (en) Methods, devices, and computer programs for improving streaming of partitioned timed media data
JP2016521497A5 (ko)
KR101944601B1 (ko) 기간들에 걸쳐 오브젝트들을 식별하기 위한 방법 및 이에 대응하는 디바이스
GB2567485A (en) Method and device for exchanging data between a web application and an associated web engine

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)