KR20190008901A - 가상 현실 미디어 콘텐트의 스트리밍을 개선하는 방법, 디바이스, 및 컴퓨터 프로그램 - Google Patents

가상 현실 미디어 콘텐트의 스트리밍을 개선하는 방법, 디바이스, 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20190008901A
KR20190008901A KR1020187036347A KR20187036347A KR20190008901A KR 20190008901 A KR20190008901 A KR 20190008901A KR 1020187036347 A KR1020187036347 A KR 1020187036347A KR 20187036347 A KR20187036347 A KR 20187036347A KR 20190008901 A KR20190008901 A KR 20190008901A
Authority
KR
South Korea
Prior art keywords
media data
wide view
information
projection
client
Prior art date
Application number
KR1020187036347A
Other languages
English (en)
Other versions
KR102246002B1 (ko
Inventor
나엘 우드라오고
프랑크 드누알
조나당 따께
Original Assignee
캐논 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 캐논 가부시끼가이샤 filed Critical 캐논 가부시끼가이샤
Publication of KR20190008901A publication Critical patent/KR20190008901A/ko
Application granted granted Critical
Publication of KR102246002B1 publication Critical patent/KR102246002B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • 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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • 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/234327Processing 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 by decomposing into layers, e.g. base layer and one or more enhancement layers
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 서버로부터 클라이언트에의, 장면의 와이드 뷰의 캡처링 투사를 표현하는 미디어 데이터의 스트리밍에 관한 것으로, 스트리밍된 미디어 데이터는 클라이언트가 3D 디스플레이 표면 상에 와이드 뷰를 렌더링하거나 또는 상이한 시점들에 따라 디스플레이 표면 상에 와이드 뷰를 렌더링하는 것을 가능하게 하고, 렌더링은 미디어 데이터의 렌더링 투사를 포함한다. 미디어 데이터를 발생시키기 위해 와이드 뷰의 캡처와 관련한 디스크립티브 정보 및 미디어 데이터의 공간적 분할의 품질 레벨과 관련한 디스크립티브 정보를 포함하는, 미디어 데이터에 관한 정보를 포함하는 디스크립션 파일을 클라이언트에 송신한 후에, 디스크립션 파일에 기초하여 미디어 데이터 스트림을 요청하는 요청 메시지를 클라이언트로부터 수신하고, 요청된 미디어 데이터 스트림에 대응하는 미디어 데이터가 클라이언트에 송신된다.

Description

가상 현실 미디어 콘텐트의 스트리밍을 개선하는 방법, 디바이스, 및 컴퓨터 프로그램
본 발명은 일반적으로 통신 네트워크들, 예를 들어 인터넷 프로토콜(IP) 표준에 따르는 통신 네트워크들을 통하는 적시의 미디어 데이터 스트리밍의 분야에 관한 것이다. 보다 구체적으로, 본 발명은 하이퍼덱스트 프로토콜 트랜스퍼 프로토콜(HTTP)을 사용하는 IP 네트워크들을 통하는, 가상 현실 또는 전방향 미디어 데이터의 스트리밍을 개선하는 방법들, 디바이스들, 및 컴퓨터 프로그램들에 관한 것이다.
비디오 코딩은 비디오 영상들이 송신되거나 저장될 수 있도록 일련의 비디오 영상들을 압축된 디지털화된 비트-스트림으로 변환하는 방식이다. 인코딩 디바이스가 비디오 영상들을 코딩하기 위해 사용되고, 연관된 디코딩 디바이스가 디스플레이하고 보기 위해 비트-스트림을 재구성하기 위해 가용하다. 일반적인 목적은 원래의 비디오 정보보다 크기가 작도록 비트-스트림을 형성하는 것이다. 이것은 비트-스트림 코드를 전송하거나 저장하기 위해, 전송 네트워크, 또는 저장 디바이스에 요구되는 용량을 유리하게 감소시킨다. 전송되기 위해, 비디오 비트-스트림은 일반적으로 헤더들 및 체크 비트들을 전형적으로 부가하는 전송 프로토콜에 따라 캡슐화된다.
통신 네트워크를 통해 미디어 데이터를 스트리밍하는 것은 전형적으로 미디어 프리젠테이션을 표현하는 데이터가 서버라고 하는 호스트 컴퓨터에 의해, 통신 네트워크를 통해, 클라이언트 디바이스라고 하는 재생 디바이스에 제공된다는 것을 의미한다. 클라이언트 디바이스는 일반적으로 데스크탑, 퍼스널 컴퓨터(PC), 태블릿 PC, 노트북 또는 휴대용 컴퓨터, 휴대 전화, 무선 휴대 디바이스, 개인 휴대 단말기(PDA), 게이밍 콘솔, 헤드 마운트 디바이스 등과 같은 다양한 통상적인 컴퓨팅 디바이스들 중 어느 것으로서 구현되는 미디어 재생 컴퓨터이다. 클라이언트 디바이스는 전형적으로 (전달될 전체 파일을 대기하기보다는) 그것이 호스트로부터 수신되는 대로 스트리링된 콘텐트를 렌더링한다.
미디어 프리젠테이션은 일반적으로 서버로부터 클라이언트 디바이스에 의해 공동으로 재생되기 위해 클라이언트 디바이스에 보내질 수 있는 오디오, 비디오, 텍스트, 메타데이터 및/또는 서브타이틀들과 같은 여러 미디어 컴포넌트들을 포함한다. 그들 미디어 컴포넌트는 전형적으로 별개의 미디어 스트림들로 개별적으로 인코드되고, 다음에 그들은 함께 또는 개별적으로, 다수의 미디어 세그먼트 내로 캡슐화되고, 서버로부터 클라이언트 디바이스에 의해 공동으로 재생되기 위해 클라이언트 디바이스에 보내진다.
통상적인 관례는 클라이언트 디바이스가 그것의 특성(예를 들어, 해상도, 컴퓨팅 능력, 및 대역폭)의 함수로서 하나의 버전을 선택할 수 있도록 동일한 미디어 컴포넌트의 여러 버전들에 액세스를 제공하는 것이 목적이다. 기존의 전용 해결책들에 따르면 대안적 버전들 각각이 디스크라이브되고 미디어 데이터가 작은 시간적 세그먼트들로 분리된다. 세그먼트들은 상이한 미디어를 위한 압축되거나 원시 데이터를 포함하는 미디어 세그먼트들일 수 있거나 클라이언트 내의 미디어 디코더들을 셋업, 인스턴트화 및 초기화하기 위해 사용되는 초기화 세그먼트일 수 있다.
HTTP를 통한 동적 및 적응 스트리밍의 콘텍스트에서, DASH(HTTP를 통한 동적 적응 스트리밍)이라고 하는 표준이 MPEG 표준화 위원회("ISO/IEC 23009-1, HTTP를 통한 동적 적응 스트리밍(DASH)), 파트 1: 미디어 프리젠테이션 디스크립션 및 세그먼트 포맷들")로부터 부상하였다. 이 표준은 HTTP 통합 리소스 위치들(URL들)과의 미디어 프리젠테이션의 미디어 콘텐트의 컴팩트 디스크립션의 연관을 가능하게 한다. 이러한 연관성은 전형적으로 매니페스트 파일 또는 디스크립션 파일이라고 하는 파일에서 디스크라이브된다. DASH의 콘텍스트에서, 이 매니페스트 파일은 MPD 파일(미디어 프리젠테이션 디스크립션)이라고도 하는 XML 파일이다. 플레이리스트라고도 하는 매니페스트를 위한 평문 파일을 사용하기보다는 XML 파일을 또한 사용하는 스므스 스트리밍과 같은, 또는 HTTP 스트리밍과 같은, 다른 매니페스트-기반 스트리밍 해결책들이 있다. 양호한 실시예들에서, DASH는 스트리밍 프로토콜들로서 사용되지만, 매니페스트에서 부가된 디스크립티브 정보는 이들 다른 해결책에서 동일한 효과들을 제공할 것이다.
매니페스트 파일들은 매니페스트에서 디스크라이브된 미디어 샘플들에 관한 디스크립티브 정보를 지정하는 디스크립터들의 세트를 모은다. 디스크립터는 예를 들어 XML 노드들(요소들 및/또는 속성들)과 같은 구조화된 요소들일 수 있거나 JSON(자바스크립트 오브젝트 노테이션) 또는 키워드들 또는 코멘트들이 이들 디스크립터를 전달하기 위해 전용되는 경우에 심지어 평문 포맷으로 디스크라이브될 수 있다.
매니페스트 파일을 수신함으로써, 클라이언트 디바이스는 각각의 미디어 콘텐트 컴포넌트의 디스크립션을 취한다. 따라서, 미디어 프리젠테이션에서 제안된 미디어 콘텐트 컴포넌트들의 종류를 알고 연관된 초기화 및/또는 미디어 세그먼트들을 다운로드하기 위해 사용될 HTTP URL들을 알게 된다. 그러므로, 클라이언트 디바이스는 어느 미디어 콘텐트 컴포넌트들을 (HTTP 요청들을 통해) 다운로드하고 재생(즉, 미디어 세그먼트들의 수신 후에 디코드 및 재생)할지를 결정할 수 있다.
이러한 연관성 외에, DASH 표준은 각각의 미디어 콘텐트를 시간의 주기들의 함수로서 분리하는 것을 제안한다. 시간 분해는 MPD 파일에서 디스크라이브된다. 따라서, 후자는 시간의 각각의 주기에 걸쳐 HTTP URL들과 미디어 콘텐트로부터의 각각의 컴포넌트의 컴팩트 디스크립션 사이의 연관성을 정의한다. 각각의 미디어 콘텐트 컴포넌트는 시간의 이들 주기에 대응하는 다수의 독립하는 미디어 세그먼트 내로 캡슐화될 수 있다.
이 표준은 클라이언트가 원하는 시간 주기들에 걸쳐 미디어 프리젠테이션의 원하는 미디어 콘텐트 컴포넌트들을 다운로드하게 한다.
MPEG DASH에서 미디어 세그먼트들 내의 미디어 콘텐트 컴포넌트들을 스트리밍하기 위해 사용되는 캡슐화 파일 포맷은 MPEG 표준화 활동의 콘텍스트에서 정의된 ISO 베이스 미디어 파일 포맷을 따를 수 있다. 특히, 캡슐화 파일 포맷은 고 효율 비디오 코딩(HEVC)의 캡슐화의 표준화 및 ISO 베이스 미디어 파일 포맷(ISO/IEC 14496 파트 15)에서의 그것의 스케일가능한 확장과 관련될 수 있다. DASH는 캡슐화 파일 포맷에 관용적이라는 점에 주목한다. 예를 들어, MPEG-2 트랜스포트 스트림은 미디어 스트림들을 캡슐화하기 위해 WebM 또는 공통 미디어 응용 포맷으로 사용될 수 있다.
타일 합성에 의존하는 관심 있는 영역들의 추출/스트리링 및 디스플레잉은, 예를 들어 사용자가 특정한 선택된 영역들을 위해 더 높은 해상도 비디오에의 액세스를 제공하기 위해 비디오 시퀀스들에서 특정한 영역들에 클릭 온하게 하거나, 하나의 공간적 영역(또는 타일)로부터 또 하나의 것으로의 비디오 시퀀스 내로 내비게이트/팬하게 함으로써 스트리밍 동안 대화형 고 품질 줌-인 기능들을 가능하게 하기 위해 특히 유용하다는 점에 주목한다.
비디오 해상도는 표준 화질(SD)로부터 고 화질(HD)로, 그리고 초고화질(예를 들어, 4K2K 또는 8K4K)로 계속 증가하는 것으로 가고 있다는 것이 상기된다. 비디오 시퀀스들은 단일-층(예를 들어, HEVC) 또는 다층(예를 들어, 스케일가능한 HEVC) 코딩 표준을 사용하여 인코드될 수 있다. 다층 코딩 포맷의 경우에, 주어진 층은 하나 이상의 다른 층을 위한 기준 데이터로서 사용될 수 있다. 층이 진 비디오 구성은 각각의 컴포넌트가 상이한 레벨의 스케일가능성으로 비디오 층을 표현하는, 다수의 종속 미디어 콘텐트 컴포넌트를 사용하여 효율적으로 표현될 수 있다. 주어진 미디어 콘텐트 컴포넌트를 디코드하기 위해, 클라이언트 디바이스는 미디어 콘텐트 컴포넌트 자체에 액세스할 뿐만 아니라 그것이 의존하는 모든 미디어 콘텐트 컴포넌트들에 액세스하여야 한다.
비디오 스트리밍 능력들을 갖는 이동 및 커넥티드 디바이스들이 급증하고 있다는 것이 또한 상기된다. 따라서, 비디오 시퀀스들을 타일들로 분리하는 것은 이동 디바이스의 사용자가 품질을 유지하거나 심지어 개선함으로써 비디오 시퀀스의 서브-부분들을 디스플레이하거나 그들에 초점 맞추기를 원하는 경우에 중요해지고 있다. 타일들을 사용함으로써, 사용자는 그러므로 비디오 시퀀스의 공간적 서브-부분들(또는 부분들 또는 영역들)을 대화식으로 요청할 수 있다. 스케일가능한 비디오 코딩 포맷(예를 들어, 스케일가능한 HEVC 또는 멀티-뷰 HEVC)의 경우에, 각각의 비디오 층은 또한 코딩 의존성들이 향상 층의 타일들과 베이스 층의 하나 이상의 타일 사이에 존재할 수 있는 것을 제외하고 다수의 독립하는 공간적 서브-부분으로 구성될 수 있다.
또한, 와이드 스크린들 및 또한 고글들과 같은 헤드 마운트 디바이스들의 사용이 급속히 증가하고 사용자에게 실감형 경험을 제공한다. 게다가, 전통적인 2D 스크린들 상에 실감형 경험을 제공하기 위해, 일부 미디어 플레이어들은 클라이언트가 내비게이션 메뉴를 통해 비디오 내로 팬하는 것을 가능하게 하는 특정한 사용자 인터페이스를 제공한다. 몇가지 디바이스들이 사용자를 가상 현실(VR) 환경에 몰입시키기 위해 현재 사용되고 있다. VR 비디오 시퀀스들 또는 전방향 비디오 시퀀스들은 일반적으로 넓은 영역을 찍는 적어도 하나의 광각 대물 렌즈가 장착된 하나의 카메라로 또는 또한 다양한 방향들에서 비디오 및 오디오 데이터를 캡처하는 여러 개의 동기화된 카메라들에 의해 캡처된다. 후자의 경우에, 결과적인 다수의 비디오 시퀀스는 다음에 일반적으로 파노라마 비디오 시퀀스라고 하는 단일 비디오 시퀀스를 형성하기 위해 변환된다. 예를 들어 4K 해상도를 갖는 각각의 카메라를 고려하면, 결과적인 파노라마 비디오 시퀀스는 (계산, 메모리 저장, 전송, 및 심지어 네트워크 전송의 면에서) 그것의 처리를 복잡하게 하는, 10K보다 더 큰 해상도를 가질 수 있다.
이러한 비디오 시퀀스들의 파일 포맷으로의 캡슐화는 예를 들어 전방향 파일 포맷 규격에 기초하여 또는 ISO 베이스 미디어 파일 포맷으로 행해질 수 있다.
상이한 처리 및 디스플레이 능력들을 갖는 다양한 디스플레이 디바이스들 예를 들어 대형 스크린 또는 헤드 마운트 디스플레이들(HMD들)은 특히 HTTP를 통한 적응 스트리밍의 콘텍스트에서 모든 디바이스들에 적응할 수 있는 스트리밍의 필요를 생기게 한다. 특히, HMD의 디스플레이 크기는 일반적으로 와이드 대형 스크린의 것보다 작다. 결과적으로, 파노라마 비디오 시퀀스의 서브부분들(또는 부분들 또는 영역들)에의 공간적 액세스는 HMD 디바이스를 갖는 디스플레이를 위해 전체 파노라마 비디오 시퀀스를 보내는 것을 피한다.
그러므로, 클라이언트 필요들 및 특성들의 함수로서 가상 현실 또는 전방향 미디어 데이터의 스트리밍을 최적화할 필요가 있다.
본 발명은 전술한 문제들 중 하나 이상을 다루기 위해 고안되었다.
본 맥락에서, 예를 들어 http 프로토콜을 사용하는 인터넷과 같은 IP 네트워크를 통하는, 가상 현실 미디어 콘텐트의 적응 스트리밍을 위한 해결책이 제공된다.
본 발명의 제1 목적에 따르면, 서버로부터, 장면의 와이드 뷰의 캡처링 투사를 표현하는 미디어 데이터를 수신하는 방법으로서, 상기 수신된 미디어 데이터는 3D 기하학적 디스플레이 표면 상에 상기 와이드 뷰의 적어도 일부를 렌더링하거나 또는 적어도 2개의 상이한 시점에 따라 디스플레이 표면 상에 상기 와이드 뷰의 적어도 일부를 렌더링하는 것을 가능하게 하고, 상기 렌더링은 상기 와이드 뷰의 적어도 일부의 캡처링 투사를 표현하는 미디어 데이터의 적어도 하나의 렌더링 투사를 포함하고, 상기 방법은 클라이언트에서 수행되고,
서버로부터, 상기 와이드 뷰의 캡처링 투사를 표현하는 상기 미디어 데이터에 관한 정보를 포함하는 디스크립션 파일을 수신하는 단계 - 상기 정보는 상기 미디어 데이터를 발생시키기 위해 상기 와이드 뷰의 상기 캡처와 관련한 디스크립티브 정보 및 상기 와이드 뷰의 캡처링 투사를 표현하는 상기 미디어 데이터의 적어도 하나의 공간적 분할의 품질 레벨과 관련한 디스크립티브 정보를 포함함 - ; 및
상기 서버에, 상기 디스크립션 파일에 기초하여 적어도 하나의 미디어 데이터 스트림을 요청하는 적어도 하나의 요청 메시지를 보내는 단계; 및
상기 서버로부터, 상기 적어도 하나의 요청 메시지에 응답하여, 상기 적어도 하나의 요청된 미디어 데이터 스트림에 대응하는 미디어 데이터를 수신하는 단계를 포함하는 방법이 제공된다.
그러므로, 본 발명의 방법은 요구된 데이터 만이 송신되기 때문에, 가상 현실 미디어 데이터의 송신을 최적화하고, 높은 해상도 영상들이 처리될 수 있기 때문에 품질을 개선하고, 송신될 상기 데이터의 제어가 상기 클라이언트들에 의해 수행되기 때문에 상기 서버 측에서 스케일가능성을 보존하는 것을 가능하게 한다. 더구나, 본 발명의 방법에 따르면, 클라이언트들은 적은 리소스들을 필요로 한다.
한 실시예에서, 상기 미디어 데이터를 발생시키기 위해 상기 와이드 뷰의 상기 캡처와 관련한 상기 디스크립티브 정보가 상기 캡처링 투사와 관련한다.
한 실시예에서, 상기 와이드 뷰의 캡처링 투사를 표현하는 상기 미디어 데이터의 적어도 하나의 공간적 분할의 상기 품질 레벨은 디스플레이 표면 상에 렌더링될 때 상기 대응하는 공간적 분할의 원하는 품질 레벨의 함수로서 결정된다.
한 실시예에서, 상기 디스크립티브 정보는 적어도 하나의 디스크립터 내에 적어도 부분적으로 제공된다.
한 실시예에서, 상기 적어도 하나의 디스크립터는 상기 미디어 데이터의 공간적 분할의 적어도 하나의 버전의 디스크립티브 정보를 포함하고, 상기 디스크립티브 정보는 상기 적어도 하나의 디스크립터에서 적어도 부분적으로 디스크라이브된 상기 공간적 분할의 정의 및 연관된 품질 레벨을 포함한다.
한 실시예에서, 상기 적어도 하나의 디스크립터에서 적어도 부분적으로 디스크라이브된 상기 공간적 분할은 상기 캡처링 투사로부터 초래된 영역들의 함수로서 정의된다.
한 실시예에서, 상기 적어도 하나의 디스크립터는 상기 미디어 데이터의 상이한 공간적 분할들의 디스크립티브 정보를 포함하는 디스크립터들의 리스트를 포함하고 적어도 하나의 다른 디스크립터는 상기 미디어 데이터의 상기 상이한 공간적 분할들과 연관된 적어도 하나 이상의 상이한 품질 레벨을 포함한다.
한 실시예에서, 상기 디스크립티브 정보는 수신될 상기 미디어 데이터와 관련된 리소스들을 식별하기 위한 정보를 포함한다.
한 실시예에서, 상기 품질 레벨은 프레임 기준의 함수로서 정의된 시야를 포함하고, 상기 시야는 상기 공간적 부분에 또는 선호되는 렌더링 시야에 대응한다.
한 실시예에서, 상기 시야는 복수의 값에 의해 정의되고, 상기 복수의 값 중 적어도 하나의 값은 상기 품질 레벨의 항목의 함수로서 및 상기 클라이언트의 적어도 하나의 특성의 함수로서 계산된다.
한 실시예에서, 상기 품질 레벨은 프레임 기준의 함수로서 정의된 시점을 포함하고, 상기 시점은 상기 공간적 부분과 관련되거나 또는 선호된 렌더링 시점과 관련된다.
한 실시예에서, 상기 디스크립티브 정보는 프레임 기준의 식별자를 추가로 포함한다.
한 실시예에서, 상기 품질 레벨은 품질 등급을 포함한다.
한 실시예에서, 상기 디스크립터 내의 상기 디스크립티브 정보에 대응하는 상기 미디어 데이터가, 수신된 미디어 데이터의 렌더링을 가능하게 하면서 상기 클라이언트에 의해 폐기될 수 있는지를 시그널하는 시그널링 정보와 연관된다.
본 발명의 제2 목적에 따르면, 서버로부터 클라이언트에, 장면의 와이드 뷰의 캡처링 투사를 표현하는 미디어 데이터를 스트리밍하는 방법으로서, 상기 스트리밍된 미디어 데이터는 상기 클라이언트가 3D 기하학적 디스플레이 표면 상에 상기 와이드 뷰의 적어도 일부를 렌더링하거나 또는 적어도 2개의 상이한 시점에 따라 디스플레이 표면 상에 상기 와이드 뷰의 적어도 일부를 렌더링하는 것을 가능하게 하고, 상기 렌더링은 상기 와이드 뷰의 적어도 일부의 캡처링 투사를 표현하는 미디어 데이터의 적어도 하나의 렌더링 투사를 포함하고, 상기 방법은 서버에서 수행되고,
상기 클라이언트에, 상기 와이드 뷰의 캡처링 투사를 표현하는 상기 미디어 데이터에 관한 정보를 포함하는 디스크립션 파일을 송신하는 단계 - 상기 정보는 상기 미디어 데이터를 발생시키기 위해 상기 와이드 뷰의 상기 캡처와 관련한 디스크립티브 정보 및 상기 와이드 뷰의 캡처링 투사를 표현하는 상기 미디어 데이터의 적어도 하나의 공간적 분할의 품질 레벨과 관련한 디스크립티브 정보를 포함함 - ; 및
상기 클라이언트로부터, 상기 디스크립션 파일에 기초하여 적어도 하나의 미디어 데이터 스트림을 요청하는 적어도 하나의 요청 메시지를 수신하는 단계; 및
상기 클라이언트에, 상기 적어도 하나의 요청 메시지에 응답하여, 상기 적어도 하나의 요청된 미디어 데이터 스트림에 대응하는 미디어 데이터를 송신하는 단계를 포함하는 방법이 제공된다.
그러므로, 본 발명의 방법은 요구된 데이터 만이 송신되기 때문에, 가상 현실 미디어 데이터의 송신을 최적화하고, 높은 해상도 영상들이 처리될 수 있기 때문에 품질을 개선하고, 송신될 상기 데이터의 제어가 상기 클라이언트들에 의해 수행되기 때문에 상기 서버 측에서 스케일가능성을 보존하는 것을 가능하게 한다. 더구나, 본 발명의 방법에 따르면, 클라이언트들은 적은 리소스들을 필요로 한다.
한 실시예에서, 상기 미디어 데이터를 발생시키기 위해 상기 와이드 뷰의 상기 캡처와 관련한 상기 디스크립티브 정보가 상기 캡처링 투사와 관련한다.
한 실시예에서, 상기 와이드 뷰의 캡처링 투사를 표현하는 상기 미디어 데이터의 적어도 하나의 공간적 분할의 상기 품질 레벨은 디스플레이 표면 상에 렌더링될 때 상기 대응하는 공간적 분할의 원하는 품질 레벨의 함수로서 결정된다.
한 실시예에서, 상기 디스크립티브 정보는 적어도 하나의 디스크립터 내에 적어도 부분적으로 제공된다.
한 실시예에서, 상기 적어도 하나의 디스크립터는 상기 미디어 데이터의 공간적 분할의 적어도 하나의 버전의 디스크립티브 정보를 포함하고, 상기 디스크립티브 정보는 상기 적어도 하나의 디스크립터에서 적어도 부분적으로 디스크라이브된 상기 공간적 분할의 정의 및 연관된 품질 레벨을 포함한다.
한 실시예에서, 상기 적어도 하나의 디스크립터에서 적어도 부분적으로 디스크라이브된 상기 공간적 분할은 상기 캡처링 투사로부터 초래된 영역들의 함수로서 정의된다.
한 실시예에서, 상기 적어도 하나의 디스크립터는 상기 미디어 데이터의 상이한 공간적 분할들의 디스크립티브 정보를 포함하는 디스크립터들의 리스트를 포함하고 적어도 하나의 다른 디스크립터는 상기 미디어 데이터의 상기 상이한 공간적 분할들과 연관된 적어도 하나 이상의 상이한 품질 레벨을 포함한다.
한 실시예에서, 상기 디스크립티브 정보는 수신될 상기 미디어 데이터와 관련된 리소스들을 식별하기 위한 정보를 포함한다.
한 실시예에서, 상기 품질 레벨은 프레임 기준의 함수로서 정의된 시야를 포함하고, 상기 시야는 상기 공간적 부분에 또는 선호되는 렌더링 시야에 대응한다.
한 실시예에서, 상기 시야는 복수의 값에 의해 정의되고, 상기 복수의 값 중 적어도 하나의 값은 상기 품질 레벨의 항목의 함수로서 및 상기 클라이언트의 적어도 하나의 특성의 함수로서 계산된다.
한 실시예에서, 상기 품질 레벨은 프레임 기준의 함수로서 정의된 시점을 포함하고, 상기 시점은 상기 공간적 부분과 관련되거나 또는 선호된 렌더링 시점과 관련된다.
한 실시예에서, 상기 디스크립티브 정보는 프레임 기준의 식별자를 추가로 포함한다.
한 실시예에서, 상기 품질 레벨은 품질 등급을 포함한다.
한 실시예에서, 상기 디스크립터 내의 상기 디스크립티브 정보에 대응하는 상기 미디어 데이터가, 수신된 미디어 데이터의 렌더링을 가능하게 하면서 상기 클라이언트에 의해 폐기될 수 있는지를 시그널하는 시그널링 정보와 연관된다.
본 발명의 제3 목적에 따르면, 서버로부터, 장면의 와이드 뷰의 캡처링 투사를 표현하는 미디어 데이터를 수신하는 클라이언트를 위한 디바이스로서, 상기 수신된 미디어 데이터는 3D 기하학적 디스플레이 표면 상에 상기 와이드 뷰의 적어도 일부를 렌더링하거나 또는 적어도 2개의 상이한 시점에 따라 디스플레이 표면 상에 상기 와이드 뷰의 적어도 일부를 렌더링하는 것을 가능하게 하고, 상기 렌더링은 상기 와이드 뷰의 적어도 일부의 캡처링 투사를 표현하는 미디어 데이터의 적어도 하나의 렌더링 투사를 포함하고, 상기 디바이스는
서버로부터, 상기 와이드 뷰의 캡처링 투사를 표현하는 상기 미디어 데이터에 관한 정보를 포함하는 디스크립션 파일을 수신하는 단계 - 상기 정보는 상기 미디어 데이터를 발생시키기 위해 상기 와이드 뷰의 상기 캡처와 관련한 디스크립티브 정보 및 상기 와이드 뷰의 캡처링 투사를 표현하는 상기 미디어 데이터의 적어도 하나의 공간적 분할의 품질 레벨과 관련한 디스크립티브 정보를 포함함 - ; 및
상기 서버에, 상기 디스크립션 파일에 기초하여 적어도 하나의 미디어 데이터 스트림을 요청하는 적어도 하나의 요청 메시지를 보내는 단계; 및
상기 서버로부터, 상기 적어도 하나의 요청 메시지에 응답하여, 상기 적어도 하나의 요청된 미디어 데이터 스트림에 대응하는 미디어 데이터를 수신하는 단계를 수행하도록 구성되는 마이크로프로세서를 포함하는 디바이스가 제공된다.
그러므로, 본 발명의 디바이스는 요구된 데이터 만이 송신되기 때문에 가상 현실 미디어 데이터의 송신을 최적화하고, 높은 해상도 영상들이 처리될 수 있기 때문에 품질을 개선하고, 송신될 상기 데이터의 제어가 상기 클라이언트들에 의해 수행되기 때문에 상기 서버 측에서 스케일가능성을 보존하는 것을 가능하게 한다. 더구나, 본 발명의 디바이스에 따르면, 클라이언트들은 적은 리소스들을 필요로 한다.
한 실시예에서, 상기 마이크로프로세서는 상기 미디어 데이터를 발생시키기 위해 상기 와이드 뷰의 상기 캡처와 관련한 상기 디스크립티브 정보가 상기 캡처링 투사와 관련하도록 추가로 구성된다.
한 실시예에서, 상기 마이크로프로세서는 상기 와이드 뷰의 캡처링 투사를 표현하는 상기 미디어 데이터의 적어도 하나의 공간적 분할의 상기 품질 레벨이 디스플레이 표면 상에 렌더링될 때 상기 대응하는 공간적 분할의 원하는 품질 레벨의 함수로서 결정되도록 추가로 구성된다.
한 실시예에서, 상기 마이크로프로세서는 상기 디스크립티브 정보가 적어도 하나의 디스크립터 내에 적어도 부분적으로 제공되도록 추가로 구성된다.
한 실시예에서, 상기 마이크로프로세서는 상기 적어도 하나의 디스크립터가 상기 미디어 데이터의 공간적 분할의 적어도 하나의 버전의 디스크립티브 정보를 포함하고, 상기 디스크립티브 정보가 상기 적어도 하나의 디스크립터에서 적어도 부분적으로 디스크라이브된 상기 공간적 분할의 정의 및 연관된 품질 레벨을 포함하도록 추가로 구성된다.
한 실시예에서, 상기 마이크로프로세서는 상기 적어도 하나의 디스크립터에서 적어도 부분적으로 디스크라이브된 상기 공간적 분할이 상기 캡처링 투사로부터 초래된 영역들의 함수로서 정의되도록 추가로 구성된다.
한 실시예에서, 상기 마이크로프로세서는 상기 적어도 하나의 디스크립터가 상기 미디어 데이터의 상이한 공간적 분할들의 디스크립티브 정보를 포함하는 디스크립터들의 리스트를 포함하고 적어도 하나의 다른 디스크립터가 적어도 상기 미디어 데이터의 상기 상이한 공간적 분할들과 연관된 하나 이상의 상이한 품질 레벨을 포함하도록 추가로 구성된다.
한 실시예에서, 상기 마이크로프로세서는 상기 디스크립티브 정보가 수신될 상기 미디어 데이터와 관련된 리소스들을 식별하기 위한 정보를 포함하도록 추가로 구성된다.
한 실시예에서, 상기 마이크로프로세서는 상기 품질 레벨이 프레임 기준의 함수로서 정의된 시야를 포함하고, 상기 시야가 상기 공간적 부분에 또는 선호되는 렌더링 시야에 대응하도록 추가로 구성된다.
한 실시예에서, 상기 마이크로프로세서는 상기 시야가 복수의 값에 의해 정의되고, 상기 복수의 값 중 적어도 하나의 값이 상기 품질 레벨의 항목의 함수로서 및 상기 클라이언트의 적어도 하나의 특성의 함수로서 계산되도록 추가로 구성된다.
한 실시예에서, 상기 마이크로프로세서는 상기 품질 레벨이 프레임 기준의 함수로서 정의된 시점을 포함하고, 상기 시점이 상기 공간적 부분과 관련되거나 또는 선호된 렌더링 시점과 관련되도록 추가로 구성된다.
한 실시예에서, 상기 마이크로프로세서는 상기 디스크립티브 정보가 프레임 기준의 식별자를 추가로 포함하도록 추가로 구성된다.
한 실시예에서, 상기 마이크로프로세서는 상기 품질 레벨이 품질 등급을 포함하도록 추가로 구성된다.
한 실시예에서, 상기 마이크로프로세서는 상기 디스크립터 내의 상기 디스크립티브 정보에 대응하는 상기 미디어 데이터가, 수신된 미디어 데이터의 렌더링을 가능하게 하면서 상기 클라이언트에 의해 폐기될 수 있는지를 시그널하는 시그널링 정보와 연관되도록 추가로 구성된다.
본 발명의 제4 목적에 따르면, 서버로부터 클라이언트에, 장면의 와이드 뷰의 캡처링 투사를 표현하는 미디어 데이터를 스트리밍하는 서버를 위한 디바이스로서, 상기 스트리밍된 미디어 데이터는 상기 클라이언트가 3D 기하학적 디스플레이 표면 상에 상기 와이드 뷰의 적어도 일부를 렌더링하거나 또는 적어도 2개의 상이한 시점에 따라 디스플레이 표면 상에 상기 와이드 뷰의 적어도 일부를 렌더링하는 것을 가능하게 하고, 상기 렌더링은 상기 와이드 뷰의 적어도 일부의 캡처링 투사를 표현하는 미디어 데이터의 적어도 하나의 렌더링 투사를 포함하고, 상기 디바이스는
상기 클라이언트에, 상기 와이드 뷰의 캡처링 투사를 표현하는 상기 미디어 데이터에 관한 정보를 포함하는 디스크립션 파일을 송신하는 단계 - 상기 정보는 상기 미디어 데이터를 발생시키기 위해 상기 와이드 뷰의 상기 캡처와 관련한 디스크립티브 정보 및 상기 와이드 뷰의 캡처링 투사를 표현하는 상기 미디어 데이터의 적어도 하나의 공간적 분할의 품질 레벨과 관련한 디스크립티브 정보를 포함함 - ; 및
상기 클라이언트로부터, 상기 디스크립션 파일에 기초하여 적어도 하나의 미디어 데이터 스트림을 요청하는 적어도 하나의 요청 메시지를 수신하는 단계; 및
상기 클라이언트에, 상기 적어도 하나의 요청 메시지에 응답하여, 상기 적어도 하나의 요청된 미디어 데이터 스트림에 대응하는 미디어 데이터를 송신하는 단계를 수행하도록 구성되는 마이크로프로세서를 포함하는 디바이스가 제공된다.
그러므로, 본 발명의 디바이스는 요구된 데이터 만이 송신되기 때문에 가상 현실 미디어 데이터의 송신을 최적화하고, 높은 해상도 영상들이 처리될 수 있기 때문에 품질을 개선하고, 송신될 상기 데이터의 제어가 상기 클라이언트들에 의해 수행되기 때문에 상기 서버 측에서 스케일가능성을 보존하는 것을 가능하게 한다. 더구나, 본 발명의 디바이스에 따르면, 클라이언트들은 적은 리소스들을 필요로 한다.
한 실시예에서, 상기 마이크로프로세서는 상기 미디어 데이터를 발생시키기 위해 상기 와이드 뷰의 상기 캡처와 관련한 상기 디스크립티브 정보가 상기 캡처링 투사와 관련하도록 추가로 구성된다.
한 실시예에서, 상기 마이크로프로세서는 상기 와이드 뷰의 캡처링 투사를 표현하는 상기 미디어 데이터의 적어도 하나의 공간적 분할의 상기 품질 레벨이 디스플레이 표면 상에 렌더링될 때 상기 대응하는 공간적 분할의 원하는 품질 레벨의 함수로서 결정되도록 추가로 구성된다.
한 실시예에서, 상기 마이크로프로세서는 상기 디스크립티브 정보가 적어도 하나의 디스크립터 내에 적어도 부분적으로 제공되도록 추가로 구성된다.
한 실시예에서, 상기 마이크로프로세서는 상기 적어도 하나의 디스크립터가 상기 미디어 데이터의 공간적 분할의 적어도 하나의 버전의 디스크립티브 정보를 포함하고, 상기 디스크립티브 정보가 상기 적어도 하나의 디스크립터에서 적어도 부분적으로 디스크라이브된 상기 공간적 분할의 정의 및 연관된 품질 레벨을 포함하도록 추가로 구성된다.
한 실시예에서, 상기 마이크로프로세서는 상기 적어도 하나의 디스크립터에서 적어도 부분적으로 디스크라이브된 상기 공간적 분할이 상기 캡처링 투사로부터 초래된 영역들의 함수로서 정의되도록 추가로 구성된다.
한 실시예에서, 상기 마이크로프로세서는 상기 적어도 하나의 디스크립터가 상기 미디어 데이터의 상이한 공간적 분할들의 디스크립티브 정보를 포함하는 디스크립터들의 리스트를 포함하고 적어도 하나의 다른 디스크립터가 적어도 상기 미디어 데이터의 상기 상이한 공간적 분할들과 연관된 하나 이상의 상이한 품질 레벨을 포함하도록 추가로 구성된다.
한 실시예에서, 상기 마이크로프로세서는 상기 디스크립티브 정보가 수신될 상기 미디어 데이터와 관련된 리소스들을 식별하기 위한 정보를 포함하도록 추가로 구성된다.
한 실시예에서, 상기 마이크로프로세서는 상기 품질 레벨이 프레임 기준의 함수로서 정의된 시야를 포함하고, 상기 시야가 상기 공간적 부분에 또는 선호되는 렌더링 시야에 대응하도록 추가로 구성된다.
한 실시예에서, 상기 마이크로프로세서는 상기 시야가 복수의 값에 의해 정의되고, 상기 복수의 값 중 적어도 하나의 값이 상기 품질 레벨의 항목의 함수로서 및 상기 클라이언트의 적어도 하나의 특성의 함수로서 계산되도록 추가로 구성된다.
한 실시예에서, 상기 마이크로프로세서는 상기 품질 레벨이 프레임 기준의 함수로서 정의된 시점을 포함하고, 상기 시점이 상기 공간적 부분과 관련되거나 또는 선호된 렌더링 시점과 관련되도록 추가로 구성된다.
한 실시예에서, 상기 마이크로프로세서는 상기 디스크립티브 정보가 프레임 기준의 식별자를 추가로 포함하도록 추가로 구성된다.
한 실시예에서, 상기 마이크로프로세서는 상기 품질 레벨이 품질 등급을 포함하도록 추가로 구성된다.
한 실시예에서, 상기 마이크로프로세서는 상기 디스크립터 내의 상기 디스크립티브 정보에 대응하는 상기 미디어 데이터가, 수신된 미디어 데이터의 렌더링을 가능하게 하면서 상기 클라이언트에 의해 폐기될 수 있는지를 시그널하는 시그널링 정보와 연관되도록 추가로 구성된다.
본 발명은 소프트웨어에서 구현될 수 있기 때문에, 본 발명은 임의의 적합한 캐리어 매체 상의, 그리고 특히 적합한 실재하는 캐리어 매체 또는 적합한 일시적인 캐리어 매체 상의 프로그램가능한 장치에 제공하기 위한 컴퓨터 판독가능 코드로서 실시될 수 있다. 실재하는 캐리어 매체는 플로피 디스크, CD-ROM, 하드 디스크 드라이브, 자기 테이프 디바이스 또는 고상 메모리 디바이스 등과 같은 저장 매체를 포함할 수 있다. 일시적인 캐리어 매체는 전기 신호, 전자 신호, 광학 신호, 음향 신호, 자기 신호 또는 전자기 신호, 예를 들어, 마이크로웨이브 또는 RF 신호들과 같은 신호를 포함할 수 있다.
본 발명의 추가 장점들은 도면 및 상세한 설명을 참조한다면 본 기술 분야의 기술자들에게 분명해질 것이다. 임의의 추가적인 장점들이 여기에 포함되는 것이 의도된다.
본 발명의 실시예들이 단지 예로서, 그리고 다음의 도면을 참조하여 이제부터 설명될 것이다.
도 1a, 1b, 1c를 포함하는 도 1은 파노라마 비디오 시퀀스의 특성들을 개략적으로 도시하고;
도 2는 본 발명의 실시예들이 기초하는 HTTP를 통한 미디어 스트리밍의 일반적 원리를 도시하고;
도 3a는 미디어 프리젠테이션 및 대응하는 매니페스트 파일을 발생시키는 단계들을 도시하고;
도 3b는 매니페스트 파일을 수신하고 미디어 스트림을 선택하는 단계들을 도시하고;
도 4는 DASH 콘텍스트에서 매니페스트 파일들의 구조의 예를 도시하고;
도 5는 본 발명의 하나 이상의 실시예의 구현을 위한 컴퓨팅 디바이스의 개략 블록도이다.
실시예들에 따르면, 본 발명은 스트리밍 매니페스트 또는 스트리밍 플레이리스트에서 가상 현실 또는 전방향 미디어 콘텐트들의 세그먼트들의 디스크립션을 제공하는 것을 가능하게 하므로, 클라이언트가 필요로 하는 것들에 대응하는 특성들을 갖는 세그먼트들이 요청될 수 있다. 이러한 특성들은 특히, 동적 어댑테이션을 가능하게 하기 위해 시야들, 시점들, 및 상대적 품질 정보를 포함할 수 있다.
DASH의 콘텍스트에서, 그리고 양호한 실시예로서, ISO BMFF 표준이 스트리밍 매니페스트: 미디어 프리젠테이션 디스크립션(MPD)를 형성하기 위해 미디어 콘텐트들을 미디어 데이터 세그먼트들 내로 캡슐화하기 위해 사용된다. 일반적으로, DASH를 사용하여, 각각의 트랙이 독립하는 미디어 콘텐트로서 매니페스트에서 디스크라이브된다.
그러나, (예를 들어, 메타데이터 트랙으로서 OMAF 정의들을 통해) MPD에서 디스크라이브된 VR 비디오 시퀀스의 특정한 인코딩 구성을 결정하기 위해서, 사용자는 (매니페스트 외에) 제1 초기화 세그먼트를 다운로드하여야 한다는 것이 관찰되었다. 다음에, 사용자는 VR 비디오 콘텐트의 인코딩 구성을 검색하기 위해 각각의 비디오 콘텐트의 각각의 제1 미디어 데이터 세그먼트의 시작을 최소로, 다운로드하고 또한 VR 콘텐트 특성들을 특정하는 메타데이터 샘플들을 포함하는 메타데이터 트랙을 다운로드하여야 한다. 이 초기화 정보의 다운로딩은 지연들 및 추가적인 HTTP 라운드트립들에 이르게 한다. 이들 지연으로 인해, 사용자는 미디어 프리젠테이션을 보는 것을 시작하기 전에 대기하여야 한다.
이들 문제를 해결하기 위해, 품질의 면에서 다양한 구성들을 갖는 모든 가상 현실 미디어 콘텐트 컴포넌트들이 매니페스트에서 압축 방식으로 디스크라이브된다. 이러한 방식으로, 특정한 코딩 구성 및/또는 특정한 품질 레벨과 HTTP URL들 간의 연관성이 확립될 수 있고 비디오 세그먼트들의 다운로딩이 모든 비디오 세그먼트 대안들에 대해 최적하게 수행된다. 바꾸어 말하면, 본 발명의 실시예들은 매니페스트 또는 플레이리스트에서 디스크라이브된 상이한 미디어 스트림들 내에 코딩 구성들(및 또한 품질)을 정확하게 표현하고 스트리밍 클라이언트들에게 다운로드되어야 하는 것 및 비디오 버전을 선택할 때 선택적으로 다운로드될 수 있는 것을 표시하는 것을 가능하게 한다.
위에 언급된 것과 같이, 최종 사용자들에게 실감형 경험을 제공하도록 발생되는 새로운 종류들의 비디오 시퀀스들이 존재한다. 이러한 비디오 시퀀스들은 "어안" 대물 렌즈를 사용하여 또는 여러 방향들에 따라 취득된 영상들에 특별한 리그 상에 배치된 여러 개의 카메라들 사용하여 캡처될 수 있다. 후자의 구성에 따르면, 획득된 영상들이 넓은 장면의 파노라마 영상들을 형성하기 위해 스티치된다(이들 파노라마 영상은 "어안" 대물 렌즈를 사용할 때 직접 획득된다).
도 1a, 1b, 1c를 포함하는 도 1은 다방향, 복수 방향, 전방향, 360°, 또는 가상 현실 비디오 시퀀스라고도 하는 파노라마 비디오 시퀀스들의 특성들을 개략적으로 도시한다.
다음에서, 와이드 뷰는 영상들이 취득되는 장면의 뷰이고, 이 와이드 뷰는 통상적으로 사용되는 것보다 큰 광학 각도(넓은 각도)에 대응한다는 것이 고려된다. 예시의 목적을 위해, 180-도 파노라마는 와이드 뷰로서 고려된다. 또 하나의 예는 찍힌 장면의 실감형 뷰를 형성하는 수직 축(및 가능하게는 또한 수직 축에서 360°)을 따르는 360°와이드 뷰이다. 이러한 와이드 뷰들에 대응하는 영상들은 전형적으로 가상 현실을 위해 사용된다. 360°뷰는 또한 컴퓨터에 의해 발생된 합성 시퀀스일 수 있다는 점에 주목한다.
넓은 각도에 비추어서, 파노라마 비디오 시퀀스들은 일반적으로 적절한 비율들을 보존하도록 디스플레이되기 전에 기하학적 투사들을 필요로 한다. 사용된 투사는 현실을 반영하지 않을 수 있고 오히려 와이드 뷰의 예술적 표현일 수 있다는 점에 주목한다(즉, 입체 투사 https://en.wikipedia.org/wiki/Stereographic_projection에 기초한 "리틀 플래닛" 사진 효과).
캡처된(또는 계산된) 영상들 및 와이드 뷰로부터의 영상의 시퀀스들은 각각 파노라마 영상들 및 파노라마 영상 시퀀스들을 형성한다.
예를 들어, 도 1a의 비디오(100)는 파노라마 영상들(105-1 내지 105-n)의 시퀀스로 구성된다. 이들 파노라마 영상은 와이드 뷰의 영상들의 2D 평면 상으로의 투사로부터 초래된다.
각각의 파노라마 비디오 또는 파노라마 영상은 그러므로 특정한 기하학적 투사, 또는 2D 맵 내로의 기준 점을 둘러싸는 3D 구형 장면(또는 부분)의 기하학적 변환인 파노라마 투사와 연관된다. 투사들의 몇가지 유형들이 (비제한적인 리스트인) 다음 중에 있다:
- 구형 투사;
- 찌그러진 구형 투사;
- 원통형 투사;
- 정육면체형 투사;
- 피라미드형 투사; 및
- 투사가 사용되지 않음
화소들의 비연속적인 맵을 발생시킬 수 있는 투사들이 존재한다는 점이 여기서 주목된다. 예시의 목적을 위해, 정육면체형 투사는 전체적으로 정육면체의 한 면에 각각 대응하는 6개의 투사 영역으로 구성된다.
파노라마 영역은 파노라마 영상의 직사각형 형상이거나 아닐 수 있는 화소들의 서브셋이다. 각각의 파노라마 영역은 파노라마 투사 유형의 특정한 유형으로부터 초래된다. 예를 들어, 정육면체형 투사를 고려하여, 파노라마 영상의 각각의 영역은 정육면체의 한 면에 대응할 수 있다.
도 1a를 다시 참조하면, 파노라마 영상(105-1)이 정육면체형 투사로부터 발행된다. 그것은 그러므로 6개의 영역 R1 내지 R6으로 나누어진다. 이들 영역 각각은 정육면체의 한 면에 대응하는 참조번호(110)로 전체적으로 표시된 파노라마 영역이다.
도 1b에 도시된 것과 같이, 디스플레이 상의 360°파노라마 영상의 렌더링은 전체적으로 구(115)로서 표현될 수 있는 3D 와이드 뷰의 실감형 관찰을 가능하게 하기 위해 투사를 통한 파노라마 영상을 디스플레이 상으로 변환하는 것으로 구성된다.
도 1c에 도시된 것과 같이, 디스플레이의 특성들에 따라, 3D 와이드 뷰를 표현하는 3D 구의 부분(120) 만이 보여질 수 있다. 이 부분은 디스플레이의 시야(FOV)에 의해 결정된다. 이 FOV는 예를 들어, 수평 FOV 각도(125)와 수직 FOV 각도(130)를 갖는, 부분의 2개의 관찰 각도에 의해 파라미터화된다. 또 하나의 파라미터화는 수평 FOV와 대각선 FOV 각도들이다.
미리 결정된 3D 프레임 기준(예를 들어, 도 1b 내의 3D 프레임 기준(135)) 내의 구 표면 상의 와이드 뷰의 버전의 투사의 관찰 방향은 시점으로서 표시된다. 뷰포트(140)는 특정한 시점 및 측정한 FOV에 따라 (3D 구 상에 투사된) 파노라마 영상의 투사에 대응하는 2D 영상이다.
도 2는 본 발명의 실시예들이 기초하는, HTTP를 통한 미디어 스트리밍의 일반적 원리를 도시한다.
도시된 것과 같이, 미디어 서버(200)는 미디어 프리젠테이션들을 포함하고 그 중에서, 특히 상이한 미디어 콘텐트 컴포넌트들, 예를 들어 오디오 및 비디오 데이터 스트림들을 포함하는 미디어 프리젠테이션(205)이 있다. 오디오 및 비디오 스트림들은 인터리브되거나 독립적으로 저장될 수 있다. 미디어 프리젠테이션은 (상이한 비트레이트, 품질, 해상도, 샘플링 율 등을 갖는) 미디어 콘텐트 컴포넌트들의 대안적 버전들을 제안할 수 있다.
예를 들어, 이 미디어 프리젠테이션의 미디어 콘텐트 컴포넌트들이 ISO 베이스 미디어 파일 포맷 및 DASH 권장들에 따라 캡슐화된다. 캡슐화 단계의 결과로서, 각각의 대안적 버전들(또는 DASH 콘텍스트 내의 표현, 예를 들어, Representation 1Representation 2)은 작은 독립적이고 연속적인 시간적 미디어 세그먼트들(예를 들어, 각각, 시간적 미디어 세그먼트들(210-1 내지 210-3 및 211-1 내지 211-3)), 예를 들어 독립적으로 어드레스되고 다운로드될 수 있는, MP4 표준(ISO/IEC 14496-14)에 따르는 미디어 세그먼트들로 시간적으로 분리된다. 각각의 미디어 세그먼트는 하나 이상의 미디어 콘텐트 컴포넌트를 포함할 수 있다. 어드레스들(즉, 도시된 예들에서 HTTP URL 어드레스들)은 모든 미디어 세그먼트들에 대해 서버(200)에 의해 설정되고 매니페스트는 도 3을 참조하여 여기서 아래에 설명되는 것과 같이 생성된다.
매니페스트, 예를 들어 MPD는 주어진 미디어 프리젠테이션에 대해 어드레스될 수 있는 모든 미디어 콘텐트 컴포넌트들을 디스크라이브하는 문서, 전헝적으로 XML 파일(또는 심지어 HTTP 라이브 스트리밍을 위한, 평문 파일)이다. 이러한 디스크립션은 미디어 콘텐트 컴포넌트들의 유형들(예를 들어, 오디오, 비디오, 오디오-비디오, 메타데이터, 또는 텍스트), 미디어 세그먼트들의 기간들, 및 미디어 세그먼트들과 연관된 어드레스들(예를 들어, URL), 즉 미디어 콘텐트 컴포넌트들이 획득될 수 있는 어드레스들을 포함할 수 있다.
전형적으로, MPD는 도 4에 도시된 계층적 데이터 모델에 기초한다. 그것은 하나 또는 다수의 주기(도 4에서 기준(400))로 구성되는데, 각각의 주기는 시작 시간 및 기간을 갖고 하나 또는 다수의 어댑테이션 세트(도 4에서 기준(401))로 구성된다. 어댑테이션 세트는 하나 또는 다수의 미디어 콘텐트 컴포넌트들에 관한 정보를 제공하고, 그것의 다양한 인코드된 대안들(도 4에서 기준(402)), 동일한 미디어 콘텐트 컴포넌트의 각각의 인코드된 대안은 표현으로서 참조된다. 결국, 각각의 표현은 전형적으로 하나 또는 다수의 미디어 및/또는 미디어 초기화 세그먼트들(도 4에서 기준(403))로 구성된다.
예시의 목적을 위해, 미디어 프리젠테이션(205)의 오디오와 비디오 스트림들은 인터리브되는 것으로 고려된다. 이들 인터리브된 오디오 및 비디오 데이터 스트림은 2개의 대안 버전으로서 제안되고, 각각의 버전은 연속하는 시간적 미디어 세그먼트들 내로, 예를 들어 3개의 연속하는 시간 주기에 대응하는 3개의 시간적 미디어 세그먼트(210-1 내지 210-3 및 211-1 내지 211-3) 내로 분리된다. 매니페스트 파일은 여러 개의 미디어 세그먼트들을 포함하는 적어도 2개의 버전을 포함하는 적어도 하나의 어댑테이션 세트(표현되지 않음)로 구성된 것과 같은 미디어 프리젠테이션을 디스크라이브한다. 이들 세그먼트들의 어드레스들은 서버(200)에 의해 설정된다. 이들 어드레스 및 미디어 콘텐트 컴포넌트들에 대한 그리고 미디어 세그먼트들(210-1 내지 210-3 및 211-1 내지 211-3)에 대한 정보의 다른 항목들이 미디어 프리젠테이션(205)에 대응하는 매니페스트(215)에서 액세스가능하다.
매니페스트 파일은 클라이언트(220)에 보내진다(단계 225). 수신된 후에, 매니페스트 파일(215)은 어느 프리젠테이션들이 가용한지 그리고 미디어 프리젠테이션(205)의 어느 미디어 세그먼트들(210-1 내지 210-3 및 211-1 내지 211-3)이 액세스가능한지를 결정하기 위해 클라이언트(220)에 의해 분석된다. 매니페스트 파일(215)은 또한 이들 미디어 세그먼트의 http 어드레스들 및 이들 미디어 세그먼트 간의 관계들을 결정하기 위해 사용된다. 또한, 매니페스트 파일(215)은 미디어 프리젠테이션의 콘텐트(즉, 주어진 예에서 인터리브된 오디오 및 비디오)에 관한 정보의 항목들을 준다. 정보의 이들 항목은 해상도, 비트-레이트, 및 유사한 정보를 포함할 수 있다.
이 정보에 비추어서, 클라이언트(220)의 어댑테이션 로직 모듈(250)은 그러므로 이들 미디어 세그먼트를 다운로드하기 위한 대응하는 http 요청들을 방출할 적절한 버전들로부터 미디어 세그먼트들을 선택할 수 있다(단계 230). 응답하여, 서버(200)는 요청된 시간적 미디어 세그먼트들을 송신한다(단계 235). http 응답(235)에서 수신된 이들 시간적 미디어 세그먼트는 파스(캡슐화 해제)된 다음에 적절한 미디어 디코더(240)(전형적으로 미디어 유형 당 하나의 디코더)에서 디코드되고 디스플레이(245) 상에 디스플레이될 수 있다. 특히 디스플레이는 예를 들어 파노라마 영상을 새로운 프레임 기준(디스플레이 프레임 기준)으로 투사하기 위한 변환 과정을 포함할 수 있다.
서버(200)는 별도의 서버들 또는 디바이스들로 구성될 수 있고, 각각 다음의 단계들 중 하나 이상을 수행한다는 점에 주목한다:
- 미디어 콘텐트의 발생,
- 파일 포맷으로 미디어 스트림의 캡슐화,
- 스트리밍 매니페스트 또는 플레이리스트 파일의 발생,
- 미디어 프리젠테이션의 송신, 및
- 콘텐트 세그먼트들로서 가장 자주, 미디어 콘텐트의 송신.
클라이언트는 그러므로 매니페스트에 대한 요청들을 제1 서버, 예를 들어 애플리케이션 서버에 그리고 미디어 콘텐트에 대한 요청들을 하나 이상의 다른 서버, 예를 들어 미디어 서버들 또는 스트리밍 서버들에 발행할 수 있다. 미디어 샘플들을 송신하는 서버는 또한, 예를 들어 미디어가 CDN(클라이언트 전달 네트워크)을 통해 전달되는 경우에 상이할 수 있다.
도 3a는 미디어 프리젠테이션 및 대응하는 매니페스트 파일을 발생시키는 단계들을 도시한다. 이러한 단계들은 전형적으로 도 2 내의 서버(200)와 같은 서버에 의해 수행된다.
각각 300 및 305로 표시된 오디오 및 비디오는 예를 들어, 도 3에 도시된 단계들을 수행하는 서버에 접속된 데이터 저장 서버와 같은, 통신 네트워크를 통해, 외부 소스로부터 획득될 수 있다.
도시된 것과 같이, 원시 비디오 데이터(301)는 가상 현실 비디오를 발생시키기 위해 스티치될 수 있다(단계 302). 이러한 단계는 예를 들어 비디오 소스에서, 서버 내에서 또는 원격으로 수행될 수 있다.
장면의 와이드 뷰, 예를 들어 도 1b에서 기준(180)으로 도시된 것과 같은, 수평과 수직 차원 둘 다에서의 360°뷰를 고려하면서, 와이드 뷰의 파노라마 영상은 2D 영상 내로의 하나의 영상 센서 또는 영상 센서들의 세트에 의해 캡처된 이 와이드 뷰의 (캡처링 투사로 표시된) 투사에 대응한다. 따라서, 캡처링 투사 방식은 예를 들어, 기록된 장면 내에 적절한 비율들을 보존하기 위해 각각의 파노라마 영상과 연관된다.
오디오 데이터는 단계 310 동안에 압축된다. 이러한 압축은 예를 들어, MP3 표준(MPEG-1/2 오디오 층 3)에 기초할 수 있다. 동시에(또는 전후에), 비디오 데이터는 단계 315 동안에 압축된다. 그 목적을 위해, MPEG4, MPEG/AVC, SVC, HEVC, 또는 스케일가능한 HEVC와 같은 비디오 데이터 압축 알고리즘들이 사용될 수 있다.
오디오 및 비디오 데이터는 각각 기준들(320 및 325)로 도시된 것과 같이, 데이터 기본 스트림들로서 압축된다. 오디오 및 비디오 데이터가 처리된(단계 326) 후에, 압축된 기본 스트림들은 전체적인 미디어 프리젠테이션(335)을 생성하기 위해 단계 330 동안 캡슐화된다.
예를 들어, ISO BMFF 표준(또는, 또한 예시의 목적을 위해, AVC, SVC, HEVC 또는 스케일가능한 HEVC로의 이 ISO BMFF의 확장)이 전체적인 미디어 프리젠테이션으로서 인코드된 오디오 및 비디오 기본 스트림들의 콘텐트를 디스크라이브하기 위해 사용될 수 있다. 따라서, 캡슐화된 미디어 프리젠테이션은 매니페스트, 예를 들어 XML 매니페스트(345)의 발생(단계 340)을 위한 입력으로서 사용된다.
디스크립티브 메타데이터 및 MPEG-2 트랜스포트 스트림, 공통 미디어 애플리케이션 포맷, 및 WebM과 같은 미디어 데이터 스트림을 위한 타이밍 정보를 제공하는 임의의 캡슐화 포맷이 또한 사용될 수 있다. 캡슐화 포맷은 서버에 의해 추출될 수 있고 스트리밍 클라이언트가 미디어 데이터의 가장 적합한 버전들을 선택하는 데 도움을 주기 위해 매니페스트 파일에서 제공되는 디스크립티브 정보를 제공하여야 한다.
도 3b는 매니페스트 파일로부터 미디어 프리젠테이션을 선택하는 단계들을 도시한다. 이러한 단계들은 도 2 내의 클라이언트(220)와 같은 스트리밍 클라이언트에 의해 전형적으로 수행된다. 초기의 클라이언트의 요청(350)에 응답하여, 매니페스트 파일(345)이 클라이언트에 의해 수신된다. 매니페스트 파일은 어떤 미디어 스트림이 다운로드되어야 하는지를 결정하기 위해 단계 360에서 파스된다.
다음에, 미디어 스트림의 선택 단계 365는 (예를 들어, 대역폭, 코텍, 해상도들, VR 지원 등의 면에서) 클라이언트의 특성들과 일치하는 미디어 세그먼트들의 리스트를 결정하는 것을 목표로 한다. 이것은 도 2에 도시된 클라이언트(220)의 어댑테이션 로직(250)과 같은, 어댑테이션 로직에 의해 처리될 수 있다. 예를 들어, 클라이언트는 그들의 HTTP URL 어드레스들로 단계 370에서 요청된 미디어 세그먼트들의 리스트를 포함하는 표현을 MPD 파일로부터 선택한다.
응답하여, 미디어 프리젠테이션 파일이 수신된다. 그것은 캡슐화된 미디어 스트림들을 포함한다. 미디어 데이터 기본 스트림들은 다음에 단계 380에서 미디어 스트림을 디코드하기 전에 캡슐화 포맷으로부터 추출된다. 예를 들어, ISO BMFF 파일들의 경우에, 기본 스트림들의 추출은 전형적으로 mp4 리더 또는 mp4 파서에 의해 처리된다. 따라서, 각각의 기본 스트림이 적절한 디코더로 디코드된 다음에 단계 390 동안에 VR 렌더 상에 렌더링된다.
렌더링 과정은 특히 실감형 경험을 제공하기 위해 디코드된 샘플들의 렌더링 투사 단계를 포함한다. 스트리밍 세션 중에, 클라이언트의 어댑테이션 로직은 송신을 모니터하고(단계 385) 미디어의 또 하나의 버전으로 전환할 수 있다(예를 들어 클라이언트 버퍼가 사용자 인터페이스를 통해 사용자로부터의 선택 또는 동작을 오버플로우 또는 언더플로우 또는 그에 따르는 것을 시도하는 경우에). 이러한 경우에, 알고리즘은 단계 365로 다시 간다. 전환이 이루어지지 않을 때, 동일한 버전들에서의 다음 미디어 세그먼트들이 단계 370에서 요청된다.
도 4는 DASH 매니페스트 파일들의 계층적 콘텐트의 예를 도시한다. 보다 정확하게는, 그것은 서버에서 가용한 미디어 프리젠테이션의 콘텐트 및 미디어 데이터라고 하는 각각의 미디어 컴포넌트와 HTTP 어드레스들 간의 관계를 도시한다.
예시의 목적을 위해, 미디어 프리젠테이션은 주기라고 하는 대략적 입도의 주기들로 시간적으로 분리된다(임의의 콘텐트의 스플라이싱).
MPD 레벨에서의 "주기"는 (단지 하나의 주기가 있는 경우에 미디어 프리젠테이션의 완전한 기간일 수 있는) 시간의 주기 동안 가용한 모든 미디어 컴포넌트들을 디스크라이브한다. 이 주기 내에서, 미디어 콘텐트 컴포넌트는 용이한 스트리밍, 랜덤 액세싱, 및 전환을 가능하게 하기 위해, 앞서 언급된 시간의 작은 주기에 대응하는 여러 개의 데이터 세그먼트로 구성될 수 있다.
MPD(예를 들어, XML MPD)는 각각의 주기에 대응하는 모든 데이터를 포함한다. 그러므로, 이 정보를 수신할 때, 클라이언트는 시간의 각각의 주기의 콘텐트를 알게 된다. 예를 들어, 미디어 프리젠테이션(400)은 각각의 하나가 주기에 대응하는 여러 요소들로 나누어진다. 또한 예시의 목적을 위해, 제2 주기는 순간들 100s 및 294s로 구성된다.
각각의 미디어 프리젠테이션의 주기는 시간의 대응하는 주기 동안 가용한 미디어 콘텐트 컴포넌트를 디스크라이브하는 데이터를 포함한다. 401로 표시된 미디어 프리젠테이션의 주기의 하나가 보다 상세히 예시된다.
또한 여러 개의 "어댑테이션 세트" 요소들이 포함되는데: 비디오 디스크립션에 대해 하나 그리고 오디오 디스크립션에 대해 하나이다. 각각의 어댑테이션 세트는 주어진 트랙과 연관된다. 이 예에서, 제1 어댑테이션 세트는 비디오 트랙과 연관되고 제2 어댑테이션 세트는 고려된 시간 주기 동안 비디오 트랙에 대응하는 오디오 트랙과 연관된다.
도시된 것과 같이, 어댑테이션 세트 구조(402)는 서버에서 가용한 인코드된 비디오의 상이한 가능한 표현들(즉, 버전들)에 관한 정보를 포함한다. 이 예에서, 제1 표현은 500kbit/s의 비트 레이트에서 인코드된 640x480의 공간적 해상도를 갖는 비디오이다. 더 많은 파라미터들이 필드 "세그먼트 정보"(403)에 의해 주어진다.
제2 표현은 250kbit/s의 레이트에서 인코드된 동일한 비디오이다. 그것은 예를 들어 제1 표현과 비교하여 품질이 낮은 것을 표현할 수 있다. 클라이언트는 네트워크의 가용한 대역폭에 따라 그들 표현 간에 전환할 수 있다.
이들 표현 각각은 클라이언트가 비디오와 관련된 HTTP 어드레스를 알고 있으면 HTTP 요청들에 의해 다운로드될 수 있다. 각각의 표현의 콘텐트와 HTTP 어드레스 간의 연관이 추가의 시간적 서브-층을 사용하여 이루어진다.
기준(403)으로 도시된 것과 같이, 비디오 표현(402)은 (이 예에서 10초의) 시간적 세그먼트들로 분리된다.
각각의 시간적 세그먼트(403)는 HTTP를 통해 액세스가능한 서버에 저장된 콘텐트이다. 또한, 초기화 세그먼트가 가용하다. 초기화 세그먼트는 캡슐화된 비디오의 MP4 콘텐트를 디스크라이브하는(비디오가 ISO BMFF 또는 확장들을 사용하여 캡슐화된 경우) MP4 초기화 정보를 포함한다. 예를 들어, 그것은 클라이언트가 비디오와 관련된 디코딩 알고리즘들을 인스턴스화하는 데 도움을 준다. 초기화 세그먼트들 및 미디어 세그먼트들의 HTTP 어드레스들은 아래에 더 상세히 예시되는, MPD(또는 디스크립션) 파일에서 주어진다.
DASH 표준은 어댑테이션 세트 레벨에서 또는 부표현 레벨에서 MPD 내의 미디어 콘텐트 컴포넌트들 간의 공간적 관계들을 표현하는 능력을 도입한다는 점에 주목한다. 그것은"urn:mpeg:dash:srd:2014"와 동일한 @schemeIdURI를 갖는 SupplementalProperty 또는 EssentialProperty 디스크립터들을 사용하는 것으로 구성된다. @value 속성은 다음의 파라미터들을 포함하는 SRD(Spatial Relationship Description: 공간적 관계 디스크립션) 파라미터들에 대한 콤마 분리된 값들의 리스트로 구성된다:
- source_id는 미디어 콘텐트의 소스의 식별자를 제공한다. Period 내의 "source_id value"라고 하는 동일한 값을 공유하는 상이한 SRD에서 사용된 파라미터들(object_x, object_y, object_width, object_height)은 2개의 표현이 서로 공간적으로 관련한다는 것을 결정하기 위해 비교될 수 있고;
- object_x: 이 디스크립터를 사용하여 AdaptationSets 또는 SubRepresentations에서 디스크라이브된 비디오의 상부-좌측 모서리의, 이 SRD 디스크립터에 의해 정의된 기준 공간 내의 수평 위치를 제공하고;
- object_y: 이 디스크립터를 사용하여 AdaptationSets 또는 SubRepresentations에서 디스크라이브된 비디오의 상부-좌측 모서리의, 이 SRD 디스크립터에 의해 정의된 기준 공간 내의 수평 위치를 제공하고;
- object_width: 이 디스크립터를 사용하여 AdaptationSets 또는 SubRepresentations에서 디스크라이브된 비디오의, 이 SRD 디스크립터에 의해 정의된 기준 공간 내의 폭을 제공하고;
- object_height: 이 디스크립터를 사용하여 AdaptationSets 또는 SubRepresentations에서 디스크라이브된 비디오의, 이 SRD 디스크립터에 의해 정의된 기준 공간 내의 높이를 제공하고;
- total_width: SRD를 갖는 AdaptationSets 또는 SubRepresentations에서 디스크라이브된 비디오의 x-축을 따르는 최대 범위에 동일한 source_id 값을 제공한다. 존재하지 않을 때, 이 값은 동일한 source_id 값을 갖는 SRD 주석의 total_width 값으로 설정된다. 주어진 source_id 값에 대해, 적어도 하나의 total_width 값이 지정될 것이고;
- total_height: SRD를 갖는 AdaptationSets 또는 SubRepresentations에서 디스크라이브된 비디오의 y-축을 따르는 최대 범위에 동일한 source_id 값을 제공한다. 존재하지 않을 때, 이 값은 동일한 source_id 값을 갖는 SRD 주석의 total_height 값으로 설정된다. 주어진 source_id 값에 대해, 적어도 하나의 total_height 값이 지정될 것이고;
- spatial_set_id: 동일한 source_id 값을 갖는 AdaptationSets 또는 SubRepresentations의 그룹에 대한 식별자를 제공한다. spatial_set_id 파라미터는 AdaptationSets 또는 SubRepresentations의 그룹이 갭들이 없이 비중첩하거나 연속하는 비디오들의 그룹을 형성하거나 동일한 스케일가능성 층의 부분이라는 것을 표시하기 위해 사용될 수 있고;
object_xobject_y 파라미터들(각각 object_widthobject_height)은 source_id 파라미터에 의해 식별된 소스와 연관된 좌표계에서 연관된 AdaptationSets 또는 SubRepresentations의 2D 위치들(각각 2D 크기들)을 표현한다. 이 좌표계는 임의의 원점을 사용할 수 있다. 특정한 실시예들에 따르면, x-축은 좌측으로부터 우측으로 y 축은 상부로부터 하부로 배향된다. 동일한 source_id 값을 공유하는 모든 SRD는 동일한 원점 및 축들 배향들을 갖는다.
total_width total_height 값들은 이 좌표계에서 기준 공간을 정의한다. object_x, object_y, object_width, 및 object_height 파라미터들의 값들은 total_widthtotal_height 파라미터의 값들에 대한 것이다. 동일한 source_id 값을 공유하는 SRD의 위치들(object_x, object_y) 및 크기들(object_width, object_height)은 기준 공간의 크기를 고려한 후에, 즉 object_xobject_width 값들이 total_width 값으로 나누어지고 object_yobject_height 값들이 그들의 각각의 디스크립터들의 total_height 값으로 나누어진 후에 비교될 수 있다.
위에 설명된 것과 같이, 가상 현실 비디오 서버는 예를 들어 좁은 각도 디스플레이(전형적으로 고글용 40-120°FOV)로부터 매우 넓은 각도까지(멀티-프로젝터 디스플레이 및/또는 벽 스크린들용의 360° FOV까지), 상이한 처리 능력들 및 상이한 구성들을 가질 수 있는 많은 다양한 클라이언트에 대처해야 한다. 따라서, 적응 스트리밍 콘텍스트에서, 비디오 서버는 각각의 특정한 클라이언트가 (클라이언트에 의해 올바르게 렌더링될 수 없는 샘플들에 대해, 송신 중에, 대역폭을 소비하는 것을 피하도록) 그것의 처리 제한들에 맞는 적절한 미디어 스트림을 찾을 수 있는 것을 보장하기 위해 비디오 시퀀스의 수많은 인코드된 버전들을 발생시켜야 한다.
본 발명의 실시예들에 따르면, 비디오 서버는 VR 콘텐트의 사용에 특정된 가상 현실 미디어 데이터의 새로운 조합들을 발생시킨다. 이들 새로운 조합은 VR 클라이언트의 필요들의 함수로서 최적한 VR 스트림을 선택하는 것을 가능하게 하는, VR 클라이언트에 대한 선택 대안들을 추가한다. 특히, 비디오 서버는 상이한 시야들(FOV)을 갖는 비디오 시퀀스들을 발생시킬 수 있다. 서버는 또한 클라이언트가 주어진 시점에서 최상의 품질을 선택할 수 있도록 파노라마 영상들의 특정한 영역들에서 상이한 인코딩 품질들을 사용할 수 있다.
품질의 차이는 다음의 항목들 중 어느 하나 또는 둘 다에 기인할 수 있다:
- 특정한 영역들에 대한 상이한 인코딩 품질들(QP); 및
- 특정한 시점에서 더 높은 화소 해상도들에 이르게 할 수 있는 상이한 파노라마 투사들;
예를 들어, 비디오 서버는 피라미드형 투사를 사용할 수 있다. 이 투사 모델에서, 파라미드 기부 면은 그것의 다른 4개의 면보다 높은 화소 해상도를 갖는다. 결과적으로, 피라미드 기부 상의 구로서 표현된 3D 와이드 뷰의 하나의 시점으로부터 투사된 샘플들의 품질은 반대 방향에 따라 투사된 샘플들보다 더 양호한 품질을 갖는다. 비디오 서버는 그러므로 상이한 투사 방향들을 사용하여(예를 들어 모든 배향들에서, 3D 와이드 뷰를 표현하는 구의 정규 샘플로) 여러 개의 스트림(예를 들어 30개)을 계산한다.
인코딩 처리 루프(예를 들어, 도 3을 참조하여 설명된 단계들 300 내지 326)의 끝에서 획득된 스트림들의 세트는 다음에 파일 포맷(전형적으로 ISO BMFF)을 사용하여 상이한 미디어 스트림들에서 캡슐화된다. 스트림들의 세트는 각각의 스트림에 대해 상이한 캡슐화 트랙들을 사용하여 동일한 미디어 스트림에서 캡슐화될 수 있다는 점에 주목한다. 이것은 특히 각각의 인코드된 층이 단일의 미디어 스트림의 상이한 트랙들에서 캡슐화될 수 있는 스케일가능한 비디오 스트림들에 대해 적용한다.
부록의 표 1에 예시된 제1 실시예에 따르면, 비디오 서버는 하나의 미디어 스트림의 적어도 하나의 세그먼트의 시야를 특정하는 정보를 포함하는 매니페스트 파일(예를 들어, DASH 콘텍스트에 대한 MPD)을 발생시킨다. 이 정보는 3D 와이드 뷰를 표현하는 구의 3D 프레임 기준, 예를 들어, 도 1b 내의 3D 프레임 기준(135)에서, 해당되는 세그먼트로 볼 수 있는 최대 시야에 대응한다.
제1 대안에 따르면, FOV는 수평 각도, 수직 각도, 또는 도 1c에 각각 도시된 수평과 수직 각도들(125 및 130)과 같은 대각선 각도에 대응하는 단일 값에 의해 파라미터화된다. 이 FOV 값은 0으로부터 360까지 변화할 수 있고 도(degrees)로 측정된 각도에 대응한다.
MPD 파일에서, 이 새로운 파라미터는 MPD의 여러 레벨들로 전용 디스크립터에서 정의될 수 있다.
특히, 이 새로운 디스크립터는 세그먼트들의 디스크립션: 수평 FOV 각도에 대해 @HFOV, 수직 FOV 각도에 대해 @VFOV, 또는 대각선 FOV 각도에 대해 @DFOV에서 XML 노드(속성 또는 요소)로서 정의될 수 있다. 그것은 또한 어댑테이션 세트, 표현, 또는 부표현 레벨로 속성 또는 요소에서 정의될 수 있다. 이름들이 여기서 제공되는데, 예를 들어, 임의의 확보된 이름이 RepresentationBaseType 요소, AdaptationSetType, RepresentationType, 또는 SubRepresentationType의 새로운 속성으로서 MPD의 XML 스키마에서 사용되고 선언될 수 있다.
이 새로운 디스크립터는 전용 디스크립터, 예를 들어, 부표현 레벨, 표현 레벨, 또는 어댑테이션 세트 레벨로 정의될 수 있는 (예를 들어 그것의 schemeIdUri 속성 내에서 "urn:mpeg:dash:VR:2016"와 같은 특정한 URN으로 시그널된) VR 콘텐트에 전용된 디스크립터에서 정의될 수 있다. 그것은 페어런트 AdapatationSet, Representation, 또는 SubRepresentation가 VR의 schemeIdUri 속성을 지원하지 않는 클라이언트에 의해 처리될 수 있을 때 SupplementalProperty 디스크립터로서 그리고 페어런트 AdapatationSet, Representation, 또는 SubRepresentation가 VR의 schemeIdUri 속성을 지원하지 않는 클라이언트에 의해 폐기되어야 할 때 EssentialProperty 디스크립터로서 정의될 수 있다.
다음에, (2개의 각도 값에 의해 파라미터화되는) 사용될 FOV는 MPD에 의해 제공된 각도 값 및 대응하는 미디어 샘플의 크기 또는 애스펙트 비를 사용하여 계산된다. 예시의 목적을 위해, MPD에 의해 제공된 FOV 정보가 수평 FOV 각도이면, 수직 FOV 각도가 이 FOV 정보 값을 애스펙트 비로 나눔으로써 계산된다. 그러므로, MPD가 180(도, 디폴트로)인 HFOV 값을 표시하고 애스팩트 비가 16/9이면, 수직 값은 180°9/16=101°이다.
제2 대안에 따르면, FOV가 동일한 디스크립터를 사용하는 적어도 2개의 각도 값에 의해 매니페스트 파일 내에 지정된다. 제2 FOV를 계산할 필요가 없고 클라이언트 측에서의 매니페스트의 처리 시간이 약간 개선된다.
매니페스트 파일 내에 FOV 파라미터들을 정의하는 장점은 클라이언트가 단지 그것의 FOV 파라미터들의 함수로서 선택하기 위해 적절한 버전을 식별할 매니페스트 파일을 파스할 필요만 있다는 점에 주목한다. 매니페스트 내의 이 추가적인 정보 없이, 클라이언트는 스트림의 FOV에 관한 파일 포맷으로 정보를 파스하기 위해 모든 버전들의 초기화 세그먼트를 다운로드하여야 한다.
그러므로, 클라이언트는 매니페스트 파일을 파스하고 각각의 미디어 스트림 대안에 대한 FOV의 정보를 추출한다. 클라이언트는 그것의 FOV에 가장 가까운 FOV를 갖는 미디어 스트림들을 선택한다. FOV가 디스플레이의 FOV보다 좁을 때, 디코드된 영상이 VR 콘텐트의 올바른 뷰잉을 보장하기 위해 렌더링 전에 스티치된다.
대안에서, 클라이언트는 예비 단계에서, FOV 값이 그것의 FOV보다 좁은 미디어 스트림들을 폐기한다.
다음에, FOV가 클라이언트의 디스플레이 FOV에 가장 가까운 미디어 스트림이 선택된다. 그것은 충분한 FOV를 갖는 미디어 스트림 만이 선택되는 것을 보장한다.
또 하나의 실시예에 따르면, 비디오 서버는 미디어 세그먼트와 연관된 타깃된 디스플레이의 구성을 특정하기 위해 매니페스트 내에 다른 정보를 특정한다. 예를 들어, MPD에서, 이것은 어댑테이션 세트 레벨에서, 표현 레벨에서, 또는 심지어 부표현 레벨에서 행해질 수 있다.
예를 들어, 이러한 정보는 디스플레이의 타깃된 FOV로 지향될 수 있다. 따라서, 스트림은 90°수평 FOV를 갖는 HMD를 타깃하기 위해 인코될 수 있고 또 하나의 스트림은 210°수평 FOV를 타깃하기 위해 인코드될 수 있다. 타깃된(또는 선호된) FOV는 미디어 스트림의 FOV보다 좁을 수 있기 때문에 타깃된(또는 선호된) FOV는 이전의 디스크라이브된 FOV 정보와 상이하다는 것이 관찰된다. 특히, 일부 캡처링 투사들은 파노라마의 특정한 부분 상에 보다 많은 화소 해상도를 제공한다. 예를 들어, 피라미드형 투사는 그것의 기부 상에 더 높은 품질을 발생시킨다. 파라미드 기부의 대응하는 FOV는 투사의 하나의 파라미터이므로 하나의 VR 스트림 내지 또 하나의 것과 상이할 수 있다. 예를 들어, 결과적인 스트림은 360°FOV 및 3D 프레임 기준(예를 들어, 도 1b 내의 3D 프레임 기준(135)) 내의 피라미드 기부의 크기에 대응하는 120°의 선호된(또는 타깃된) FOV를 제공할 수 있다.
부록의 표 2의 의사-매니페스트는 어댑테이션 세트 레벨에서 선호된(또는 타깃된) FOV 값(여기서 도의 단위로 가정하여 180)을 전용 디스크립터에 표시하는 매니페스트의 예이다. SupplementalProperty 포괄적 DASH 디스크립터에 대한 새로운 속성들에 의해 전달된 정보는 이 DASH 포괄적 디스크립터의 값 속성에 배치될 수 있다는 점에 주목한다.
결과적으로, 이 어댑테이션 세트에 속하는 모든 표현들이 180°의 FOV로 디스플레이되기에 적합하다. 선호된(또는 타깃된) FOV 파라미터들의 신택스가 이전의 실시예의 FOV 파라미터와 유사하게 정의될 수 있다. 특히, 그것은 수평 또는 수직, 또는 대각선 선호된 FOV 값에 각각 대응하는 다수의 값을 갖는 단일 파라미터를 통해 또는 3개의 가능한 FOV 각도로부터의 2개의 값에 의해 지정될 수 있다. 단일 FOV 각도 값을 사용할 때, HFOV가 디폴트로 사용된다. 2개의 값이 사용될 때, HFOV 및 VFOV가 디폴트로 사용된다. 대안에서, 선호된 FOV 디스크립터는 어떤 각도들이 사용되는지를 지정하는 정보 및 또한 FOV를 정의하는 그들의 값을 포함한다.
클라이언트 측에서, 매니페스트의 수신 시에 그리고 후자를 파스한 후에, 선호된 FOV 파라미터가 획득될 수 있다. 결과적으로, 클라이언트는 그것의 미리 정의된 디스플레이의 FOV보다 크거나 동일이고 또한 그에 가장 가까운 선호된(또는 타깃된) FOV를 갖는 버전을 선택할 수 있다. 결과적으로, 클라이언트는 그것의 렌더링 디바이스 상에 최상의 렌더링 품질을 제공하는 미디어 세그먼트들을 요청할 수 있다.
매니페스트에서 지정될 수 있는 제2 파라미터는 최적한 시점(즉, 하나의 버전을 보기 위해 사용되는 보는 방향)이다. 이 파라미터는 와이드 뷰 표현의 프레임 기준(예를 들어, 도 1b 내의 프레임 기준(135))에서 보는 방향을 지정하는 값들의 세트를 디스크라이브한다.
부록의 표 3은 버전 레벨로 SupplementalProperty 디스크립터 내에 이러한 파라미터를 추가함으로써 클라이언트에 최적한 시점을 어떻게 제공하는지를 나타내는 의사 매니페스트의 예이다. 이 예에 따르면, 이 파라미터는 4개의 값 optimalViewpoint="refID, yaw, pitch, roll"에 의해 정의되는데, 여기서
- refID는 그 목적이 공통 프레임 기준을 선택하는 프레임 기준의 식별자이고;
- 요는 프레임 기준 식별자 값과 연관된 프레임 기준 내의 요 각도 값이고;
- 피치는 프레임 기준 식별자 값과 연관된 프레임 기준 내의 피치 각도 값이고;
- 롤은 프레임 기준 식별자 값과 연관된 프레임 기준 내의 롤 각도 값이다.
전형적으로, HMD 시스템들에 대해, 요 각도는 머리의 좌측-우측 또는 우측-좌측 회전에 대응하고, 피치 각도는 상부로부터 하부 또는 하부로부터 상부의 회전에 대응하고 롤 각도는 보는 방향 축 주위의 머리의 회전(경사)에 대응한다.
프레임 기준의 식별자는 바람직하게는 최적한 보는 방향 좌표들이 동일한 프레임 기준에서 정의되는 버전에 대해 동일한 유일한 식별자 값이다. 프레임 기준의 원점은 디폴트 또는 클라이언트에 의해(DASH 콘텍스트 내에 예를 들어 "메인" 값을 갖는 Role 디스크립터를 통해, 또는 특정한 이름 및 디폴트 시점 정보를 제공하기 위해 정의된 schemeIdUri를 갖는 전용 DASH 디스크립터를 통해) 선택된 초기 버전이어야 하고 요, 피치, 롤은 이 표현에 대해 0과 동일하여야 한다.
대안에 따르면, 단지 요 값이 정의되고 2개의 나머지 값(피치 및 롤)은 선택적이고(0 또는 디폴트로 설정됨)이다. 예를 들어, value="0, 180, 0"은 요 각도의 값은 0이고, 피치 각도의 값은 180°이고, 롤 각도의 값은 0인 것을 의미한다. 또 하나의 예는 value="120"이다. 이 경우에, 단지 요 값이 특정되고(120이고) 피치 및 롤은 디폴트 값 0인 것으로 추론된다. 디폴트로, 각도 값들은 도로 표현되고, 다른 단위들이 선호되는 경우에, 그것은 추가의 속성이 angle_unit, (예를 들어, angle_unit="radian") 또는 FOV 디스크립터에서 제4 선택 파라미터를 제공하는 것을 요구한다.
대안에 따르면, 요, 피치 및 롤은 모두 선택적(및 디폴트로 0으로 설정됨) 이다. 이러한 경우에, 디스크립터는 어느 각도가 정의되는지를 명시적으로 특정한다. 예를 들어, 이전에 설명된 값 속성은 2개의 컴포넌트 파라미터들의 리스트이다. 제1 컴포넌트는 각도의 유형이 예를 들어 "요", "피치" 또는 "롤"인지를 지정하는 스트링 또는 각각의 각도 유형과 연관된 미리 정의된 정수 값이다. 제2 컴포넌트는 제1 컴포넌트 값에 의해 지정된 각도의 대응하는 값이다.
또한, 클라이언트 측에서, 매니페스트의 수신 시에 그리고 후자를 파스한 후에, 최적한 시점 파라미터가 획득될 수 있다. 결과적으로, 클라이언트는 시점 조건들에 가장 가까운 최적한 시점을 갖는 버전을 선택할 수 있다. 예를 들어, 사용자의 현재 보는 방향(시점)이 미디어 스트림 선택 과정(예를 들어, 도 3b 내의 단계 365) 중에 결정되면, 이 관찰 시점은 각각의 버전의 최적한 시점 정보와 비교되는 기준 값으로서 사용된다. 관찰 시점과의 차이를 최소화하는 버전(즉, DASH 콘텍스트 내의 AdaptationSet, Representation, 또는 SubRepresentation)이 선택된다. 결과적으로, 클라이언트는 현재의 클라이언트의 보는 조건들에 대한 최상의 품질을 제공하여햐 하는 미디어 세그먼트들을 요청할 수 있다.
부록의 표들 2 및 3에 예시된 예들에서, 선호된 FOV 및/또는 최적 시점이 매니페스트 파서가 지원되지 않는다면 디스크립터를 무시하게 하게 위해 SupplementalProperty 디스크립터에서 지정된다는 것이 관찰된다. 실제로, 표현들은 최적한 시점 또는 선호된 FOV 중 어느 것이 무시되어도 여전히 플레이가능하다.
대안에 따르면, 비디오 서버는 비VR 클라이언트들이 유용하지 않을 수 있는 대안적 표현들을 무시하고 디폴트 표현(SupplementallProperty 디스크립터를 갖는 것)을 선택하게 하도록 하나의 특정한 표현 또는 어댑테이션 세트를 제외하고 EssentialProperty 디스크립터 내에 이들 파라미터들을 지정한다. 파라미터들은 이들 파라미터가 어댑테이션 세트 레벨에서, 표현 레벨에서, 또는 부표현 레벨에서 사용될 수 있도록 RepresentationBaseType 레벨에서 바람직하게 제공된다.
또 하나의 대안에 따르면, 선호된 FOV 및/또는 최적한 시점이 VR 콘텐트와 관련된 정보의 파싱을 더 간단히 하기 위해 어댑테이션 세트 레벨에서(또는 표현 또는 부표현 레벨에서) 하나의 전용 XML 노드(그것의 이름이 MPD 스키마에서 선언됨) 내에서 지정된다. VR 정보 파라미터들은 다음에 차일드 요소로서 또는 MPD의 XML 요소의 어느 것의 속성으로서 지정될 수 있다. 이러한 경우에, VR 정보는 있다면, 그것이 지정되는 XML 요소에 의해 디스크라이브되는 미디어 스트림에 뿐만 아니라 모든 그것의 차일드에 적용한다.
계속 또 하나의 실시예에 따르면, 비디오 서버는 파노라마 영상들의 서브 부분들과 연관된 품질의 상이한 레벨들의 함수로서 클라이언트가 적절한 버전을 선택하는 데 도움을 주는 매니페스트 파일을 발생시킬 수 있다. 예를 들어, 비디오 서버는 정육면체형 투사를 사용하는 하나의 파노라마 비디오 시퀀스에 대한 여러 개의 미디어 데이터 스트림들을 인코드할 수 있다. 정육면체형 투사의 각각의 면은 상이한 품질 레벨들로 인코드될 수 있다. 따라서, 비디오 서버는 하나의 파노라마 영역(각각의 스트림에 대해 상이함)이 고 품질이고 다른 것들이 각각의 스트림 내에서, 중간 또는 저 품질이도록 6개의 상이한 스트림을 발생시킨다. 유사한 스트림 구성들이 파노라마 투사의 다른 유형들을 위해 사용될 수 있다.
이러한 경우에, 클라이언트는 사용자가 보는 방향(또는 시점)의 함수로서 선택할 버전을 결정할 수 없다. 그러므로, 비디오 서버는 바람직하게는 클라이언트에게 사용자 시점의 함수로서 적절한 버전을 선택하는 데 도움을 주는 힌트들을 제공하기 위해 매니페스트 파일 내에 새로운 정보를 추가한다.
이 실시에에 따르면, 서버는 파노라마 영역들에 양호하게 대응하는 파노라마 스트림 내에 품질 영역들의 세트를 정의한다. 품질 영역들의 위치들은 품질 영역의 디스크립션인 매니페스트의 새로운 정보 필드 내에 미리 결정되거나 지정될 수 있다. 이러한 qualityRegion 파라미터는 각각의 파노라마 영상 내의 영역을 위치 지정하는 x-축 및 y-축 좌표들 및 파노라마 영역의 크기(폭 및 높이)를 포함한다. 이들 4개의 값은 파노라마 영역을 식별하는 qualityRegion 파라미터의 값들의 제1 세트를 형성한다.
파노라마 영역의 위치 외에, 선택적인 파라미터가 파노라마 영역에 관한 보다 많은 정보를 지정하기 위해 사용될 수 있다. 예시의 목적을 위해, 그것은 파노라마 영역이 대응하는 정육면체형 투사의 면을 표시하는 식별자를 지정할 수 있다. 식별자는 전방, 후방, 상부, 하부, 좌측, 또는 우측 면에 대응하는 미리 정의된 정수 값일 수 있다. 그것은 예를 들어, OMAF에서 제안된 표면 식별자 값들 중 하나일 수 있다. 식별자는 직접적으로 이전의 리스트 내의 면의 이름인 스트링 요소로서 또한 정의될 수 있다. 유사한 방식이 다른 투사 유형을 위해 사용될 수 있다.
또 하나의 필드가 영역과 연관된 품질 등급을 제공하기 위해 값들의 제1 세트와 연관될 수 있다. 이러한 품질 등급은 그것이 제로일 때 최고 품질을 표시하는 정수 값일 수 있다. 품질은 품질 등급이 증가할 때 감소한다. 대안적으로, 품질 등급은 "high, low, medium, highest, 및 lowest"와 같은 미리 결정된 값들의 세트 내에서 선택될 수 있다.
부록의 표 4a는 다음의 신택스 qualityRegion="qRegId, x,y, w,h"를 갖는 품질 영역들 디스크립터의 예를 예시하고 여기서:
- qRegId는 품질 영역의 유일한 식별자이고,
- (x, y)는 품질 영역의 좌표들이고,
- (w, h)는 각각 품질 영역의 폭 및 높이이다.
이 예에서, qualityRegion은 DASH 포괄적 디스크립터의 새로운 요소들로서 표현된다. 그들은 또한 하나의 새로운 속성 내에 리스트로서 및 DASH의 경우에 선택된 디스크립터(DASH 포괄적인 것 또는 명시적인 것) 내부에 이들 5개의 파라미터를 제공하는 임의의 XML 구조에 의해 표현될 수 있다.
qualityRegion 좌표들은 파노라마 비디오 시퀀스 프레임 기준 내에 정의된다. qualityRegion은 파노라마 비디오 시퀀스의 상이한 버전들 모두에 공통인 디스크립터에서 정의된다. 전형적으로, 표 4a의 예에서 예시된 것과 같이, MPD 파일은 각각의 파노라마 영역에 대한 여러 개의 표현들을 갖는 AdaptationSet를 포함한다. QualityRegion 디스크립터는 그러므로 AdaptationSet 레벨에서 정의된다. 파노라마 비디오 시퀀스의 상이한 버전들이 상이한 크기를 가질 때, qualityRegion 좌표들은 그것의 폭 및 높이 속성을 사용하여 AdaptativeSet 기준에서 정의된다. 파노라마 내의 qualityRegion의 대응하는 위치는 (높이에 대한) AdaptationSet의 폭과 (높이에 대한) 파노라마 비디오 시퀀스의 폭을 비를 적용함으로써 결정된다. 품질 등급 정보가 제1 파라미터가 qualityRegion 디스크립터에서 디스크라이브된 영역의 유일한 식별자 qRegIdqualityRegionDescriptor를 갖는 각각의 파노라마 버전 레벨에서 지정된다. qualityRegionDescriptor의 제2 파라미터는 qualityRank의 값이다.
대안에서, 파노라마 영역의 위치는 공간적 관계 디스크립터에 따라 지정된다. 예를 들어, DASH 콘텍스트에서, SRD 디스크립터는 각각의 품질 영역에 대응하는 각각의 미디어 스트림을 위해 사용된다. 이 경우에, SRD 디스크립터가 그 값이 대응하는 품질 영역의 유일한 식별자에 대응하는 spatial_set_id를 포함한다. 표 4b는 SRD 디스크립터들을 사용하여 qualityRegion 정보를 지정하는 정보를 갖는 매니페스트 파일을 예시한다. 시퀀스의 2개의 파노라마 버전은 제1 AdaptationSet 내의 2개의 표현 내에 디스크라이브된다. 또한, SRD 디스크립터는 파노라마 비디오 시퀀스들이 품질 영역에서 추가로 나누어진다는 것을 표시하기 위해 이 제1 AdaptationSet에서 사용된다. 각각의 (예를 들어 2개의) 품질 영역들이 다음에 상이한 AdaptationSet(예를 들어 제2 및 제3 AdaptationSet)에서 디스크라이브된다. 품질 영역에 대응하는 AdaptationSet의 SRD 디스크립터에서 사용된 spatial_set_id 값이 qRegId 품질 영역의 유일한 식별자로서 사용된다. 이전의 실시예에서와 같이 동일한 qualityRegionDescriptor가 다음에 하나의 파노라마 비디오 시퀀스 버전에 대응하는 각각의 표현에서 사용된다.
또 하나의 실시예에 따르면, 품질 영역이 와이드 뷰 버전의 프레임 기준(예를 들어, 도 1b 내의 프레임 기준(135)) 내에 정의된다. 이러한 경우에, 품질 영역을 위치 지정하는 것을 가능하게 하는 값들의 제1 세트가 (도 1c를 참조하여 설명된 것과 같이) 시점 및 FOV와 연관된 프레임 기준에서 결정된다.
선호된 시점을 참조하여 위에 설명된 것과 같이, 품질 영역의 시점이 요, 피치, 및 롤 값들에 대응하는 3개의 벡터 성분의 세트로서 정의될 수 있다. 대안에서 3개의 성분 중 적어도 하나가 제공되고 다른 것들이 0과 동일한 것으로 추론된다.
유사하게, 품질 영역의 FOV는 단일 FOV 값 전형적으로 수평 FOV 각도에 의해 또는 2개의 FOV 값, 예를 들어 수평 FOV 각도와 수직 FOV 각도에 의해 표현될 수 있다.
마지막 실시예에 의해 제공된 장점은 품질 영역이 파노라마 투사와 독립적으로 정의될 수 있다는 사실에 있다.
부록의 표 4c는 파노라마 시퀀스의 2개의 버전에 대응하는 2개의 표현에 관한 의사-매니페스트의 예를 예시한다. 제1 표현에 따르면, 120°의 수평 FOV와 90°의 수직 FOV에 대한 (0,0,0) 시점 방향 내의 품질 영역이 고 품질 레벨("r0")을 사용하여 인코드된다. 파노라마 영상들의 나머지 영역은 저 품질 레벨을 사용하여 인코드된다. 제2 표현에 따르면, 120°의 수평 FOV와 90°의 수직 FOV에 대한 (180,0,0) 시점 방향 내의 품질 영역이 고 품질 레벨로 인코드되고, 파노라마 영상들의 나머지 영역은 여전히 저 품질 레벨을 사용하여 인코드된다.
특정한 실시예에 따르면, 서버(200)는 어댑테이션 세트, 표현 또는 부표현 레벨에서 전용 SupplementalProperty 디스크립터 내에 qualityRegionDescription 파라미터를 포함하는 MPD 파일을 발생시킨다.
이 파라미터의 신택스는 다음과 같을 수 있다:
qualityRegionDescription="pitch,yaw,roll,h_fov,v_fov,qualityRank [, regionId]" 여기서
- 피치, 요, 및 롤은 프레임 기준 내의 시점 방향이고;
- h_fovv_fov는 각각 수평 및 수직 FOV 각도들이고;
- qualityRank는 품질 등급이고;
- 선택적인 regionId 값은 품질 영역이 대응하는 파노라마 영역을 (적용가능할 때) 표시한다.
이러한 매니페스트를 수신할 때, 클라이언트는 그들을 각각의 품질 영역 디스크립션에서 디스크라이브된 대응하는 값들과 비교하도록 그것의 보는 방향 및 현재의 FOV를 결정한다. 그것은 현재 디스플레이될 수 있는 파노라마 영상의 영역을 포함하는 품질 영역에 대한 최고 품질 등급을 제공하는 표현을 선택할 수 있다.
클라이언트 측에서 매니페스트 예를 들어 MPD의 파싱을 간단히 하기 위해, 비디오 서버는 MPD에서 지정된 품질 영역들의 리스트를 발생시킬 수 있다. 품질 영역들의 리스트는 리스트가 영역 리스트의 레벨의 임의의 서브레벨에 대해 유효한 제약을 갖는 MPD(탑 레벨, 주기, 어댑테이션 세트, 표현, 또는 부표현)의 임의의 레벨에서 정의될 수 있다. 바람직하게는 품질 영역들의 리스트가 주기 레벨에서 정의된다.
이전의 실시예들을 참조하여 위에 설명된 것과 같이, 품질 영역들의 리스트의 품질 영역들이 와이드 뷰 표현의 기준 프레임(예를 들어, 도 1b 내의 프레임 기준(135))에서 시점 및 FOV로부터 결정될 수 있다. 예를 들어, 하나의 qualityRegion 파라미터는 값들 qualityRegion="qRegId, pitch,yaw,roll,h_fov,v_fov"qRegId인 품질 영역의 유일한 식별자인 것으로 정의될 수 있고, (pitch, yaw, roll)는 시점 값들을 표현하고, (h_fov, v_fov)는 수평 및 수직 FOV 각도들을 표현한다.
품질 영역들의 리스트는 품질 영역들 내의 와이드 뷰의 샘플링에 대응하는 여러 개의 품질 영역들의 리스트이다.
부록의 표 5에 예시된 것과 같이, 의사-매니페스트 파일은 VR schemeIdUri 속성이 주기 레벨에서 정의되는 전용 디스크립터에서 n개의 품질 영역(여기서 n은 4보다 큰 정수 값이다)의 리스트를 정의한다.
각각의 표현은 품질 등급 값이 이후 따르는 품질 영역 식별자를 포함하는 qualityRegionDescription 속성 내의 각각의 영역과 연관된 qualityRank 속성을 지정하기 위해 품질 영역 식별자를 참조한다.
n개의 품질 영역들 각각에 대해 qualityRank 값을 지정하는 것을 피하기 위해, 특별한 품질 영역 식별자(전형적으로 "default" 스트링과 또는 -1과 동일)는 비지정된 영역들에 대한 디폴트 qualityRank 값을 표시한다.
표 5에 예시된 예에서, 제1 표현은 품질 영역들의 디폴트 qualityRank 값이 5인 반면 품질 영역 식별자 제로에 대응하는 qualityRegion이 품질 등급 0을 갖는다는 것을 표시하는 2개의 품질 영역 디스크립션 파라미터를 포함한다.
클라이언트 측에서, 매니페스트의 수신 시에, 후자는 사용자에 의해 디스플레이될 품질 영역의 식별자를 결정하기 위해 파스된다. 클라이언트는 다음에 그렇게 결정된 품질 영역 식별자에 대해 최저 qualityRank 값을 갖는 표현을 선택한다. 그러므로, 이 마지막 실시예에서, 클라이언트 측 상에서의 파싱 과정이 감소된다.
앞서 설명된 실시예들에서, VR 관련 파라미터들이 MPD의 임의의 레벨에서 정의될 수 있다는 점에 주목한다. 특히, 새로운 파라미터들의 임의의 조합이 서버와 클라이언트 사이의 스트리밍 콘텍스트에 따라 가능하다. 또한, VR 관련 파라미터들은 전용 디스크립터 전형적으로 "urn:mpeg:dash:VR:2016"와 동일한 SchemeIdUri 속성을 갖는 SupplementalProperty 디스크립터(또는 EssentialProperty 디스크립터)에서 정의되어야 한다. VR 관련 파라미터들은 새로운 XML 노드들(요소들 또는 속성들)로서 정의될 수 있다. 대안에서, 이들 파라미터는 임의의 RepresentationBaseType 호환가능한 XML 요소들의 새로운 요소(또는 속성)로서 직접 도입된다. 이러한 경우에, VR 관련 파라미터들은 VR 관련 파라미터들 및 그것의 차일드를 포함하는 최상급 XML 요소에 대해 유효하다.
특정한 실시예들에 따르면, 서버는 플레이가능한 VR 콘텐트에 대해 디폴트 표현을 선택함으로써 새로운 VR 디스크립터들을 지원하지 않는 클라이언트와의 백워드 호환성을 제공한다. 선택된 표현은 예를 들어 파노라마 뷰에 또는 투사 과정이 디스플레이 측에서 적용되지 않아도 너무 많은 왜곡 없이 디스플레이가능한 파노라마 뷰의 디폴트 파노라마 영역에 대응할 수 있다.
그 목적을 위해, 서버는 이 선택된 표현과 연관된 새로운 VR 디스크립터에 대한 SupplementalProperty 디스크립터 유형 및 다른 표현들에 대한 EssentialProperty 디스크립터 유형을 사용할 수 있다. 이것은 새로운 VR 디스크립터를 지원하지 않는 클라이언트가 새로운 매니페스트 파일에서 하나의 뷰를 여전히 디코드할 수 있는 것을 보장한다. 또 하나의 대안에서, 선택된 표현은 예를 들어 "메인" 값을 갖는 Role 디스크립터를 통해 디폴트 뷰로서 정의된다.
도 5는 본 발명의 하나 이상의 실시예의 구현을 위한 컴퓨팅 디바이스(500)의 개략 블록도이다. 컴퓨팅 디바이스(500)는 마이크로-컴퓨터, 워크스테이션 또는 가벼운 휴대용 디바이스와 같은 디바이스일 수 있다. 컴퓨팅 디바이스(500)는
- 마이크로프로세서와 같은 중앙 처리 장치(CPU)(501);
- 매니페스트들을 판독 및 기입하고/하거나 비디오를 인코드하고/하거나 주어진 파일 포맷 하에서 데이터를 판독 또는 발생시키는 방법을 구현하기 위해 필요한 변수들 및 파라미터들을 기록하도록 적응된 레지스터들뿐만 아니라 본 발명의 방법의 실행가능한 코드를 저장하고, 그것의 메모리 용량이 예를 들어 확장 포트에 접속된 선택적 RAM에 의해 확장될 수 있는, 랜덤 액세스 메모리(RAM)(502);
- 본 발명의 실시예들을 구현하기 위한 컴퓨터 프로그램들을 저장하는 리드 온리 메모리(ROM)(503);
- 결국, 처리될 디지털 데이터가 송신 또는 수신되는 통신 네트워크에 전형적으로 접속된 네트워크 인터페이스(504)
에 접속된 통신 버스를 포함한다. 네트워크 인터페이스(504)는 단일 네트워크 인터페이스일 수 있거나, 상이한 네트워크 인터페이스들(예를 들어, 유선 및 무선 인터페이스들, 또는 상이한 종류들의 유선 또는 무선 인터페이스들)의 세트로 구성될 수 있다. 데이터는 CPU(501)에서 실행하는 소프트웨어 애플리케이션의 제어 하에서 송신을 위해 네트워크 인터페이스에 기입되거나 수신을 위해 네트워크 인터페이스로부터 판독되고;
- 사용자로부터 입력들을 수신하고 사용자에 정보를 디스플레이하는 사용자 인터페이스(UI)(505)에 송신을 위해 기입되고 수신을 위해 그로부터 판독되고;
- 하드 디스크(HD)(506)에 송신을 위해 기입되고 수신을 위해 그로부터 판독되고;
- 비디오 소스 또는 디스플레이와 같은 외부 디바이스들로부터/에 데이터를 수신/송신하는 I/O 모듈(507)에 송신을 위해 기입되고 수신을 위해 그로부터 판독된다.
실행가능한 코드가 리드 온리 메모리(503) 내에, 하드 디스크(506) 상에 또는 예를 들어 디스크와 같은 착탈가능한 디지털 매체 상에 저장될 수 있다. 변형에 따르면, 프로그램들의 실행가능한 코드는 실행되기 전에 하드 디스크(506)와 같은, 통신 디바이스(500)의 저장 수단들 중 하나 내에 저장되기 위해서, 네트워크 인터페이스(504)를 통해, 통신 네트워크에 의해 수신될 수 있다.
중앙 처리 장치(501)는 그 명령어들이 위에 언급된 저장 수단들 중 하나 내에 저장되는, 본 발명의 실시예들에 따른 프로그램 또는 프로그램들의 소프트웨어 코드의 명령어들 또는 부분들의 실행을 제어하고 지시하도록 적응된다. 파워 온한 후에, CPU(501)는 예를 들어 프로그램 ROM(503) 또는 하드 디스크(HD)(506)로부터 그들 명령어가 로드된 후에 소프트웨어 애플리케이션과 관련한 주 RAM 메모리(502)로부터의 명령어들을 실행할 수 있다. 이러한 소프트웨어 애플리케이션은 CPU(501)에 의해 실행될 때, 앞서의 도면들에 도시한 플로우차트들의 단계들이 수행되게 한다.
이 실시예에서, 장치는 본 발명을 구현하기 위해 소프트웨어를 사용하는 프로그램가능한 장치이다. 그러나, 대안적으로, 본 발명은 (예를 들어, 주문형 집적 회로 또는 ASIC의 형태의) 하드웨어에서 구현될 수 있다.
본 발명이 특정한 실시예들을 참조하여 위에 설명되었지만, 본 발명은 특정한 실시예들로 제한되지 않고, 수정들이 본 발명의 범위 내에서 본 기술 분야의 기술자에게 명백할 것이다.
예를 들어, 본 발명은 예를 들어 특정한 관심 있는 영역 상으로 줌 인하기 위해, 카메라, 스마트폰, 헤드 마운트 디스플레이 또는 TV 또는 멀티미디어 디스플레이용 원격 제어기로서 동작하는 태블릿과 같은 디바이스 내에 내장될 수 있다. 그것은 또한 특정한 관심 있는 영역들을 선택함으로써 멀티미디어 프리젠테이션의 개인화된 브라우징 경험을 갖기 위해 동일한 디바이스들로부터 사용될 수 있다. 사용자에 의한 이들 디바이스 및 방법으로부터의 또 하나의 사용은 그의 선호되는 비디오들의 일부 선택된 서브-부분들을 다른 접속된 디바이스들과 공유하는 것이다. 그것은 또한 감시 카메라가 본 발명에 따른 데이터를 제공하는 방법을 지원하는 경우에 감시 하에 있는 빌딩의 특정한 지역에서 발생시키는 것을 모니터하기 위해 스마트폰 또는 태블릿에서 사용될 수 있다.
많은 다른 수정들 및 변형들이 본 발명의 범위를 제한하려는 것이 아니고, 단지 예로서만 주어진 전술한 예시적인 실시예들을 참조한다면 본 기술 분야의 기술자들에게 저절로 떠올려질 것이고, 그 범위가 첨부된 청구범위에 의해서만 결정된다. 특히, 상이한 실시예들로부터의 상이한 특징들이 적절한 경우에 서로 교환될 수 있다.
Figure pct00001
Figure pct00002
Figure pct00003
Figure pct00004
Figure pct00005
Figure pct00006

Claims (22)

  1. 서버로부터, 장면의 와이드 뷰의 캡처링 투사를 표현하는 미디어 데이터를 수신하는 방법으로서, 상기 수신된 미디어 데이터는 3D 기하학적 디스플레이 표면 상에 상기 와이드 뷰의 적어도 일부를 렌더링하거나 또는 적어도 2개의 상이한 시점에 따라 디스플레이 표면 상에 상기 와이드 뷰의 적어도 일부를 렌더링하는 것을 가능하게 하고, 상기 렌더링은 상기 와이드 뷰의 적어도 일부의 캡처링 투사를 표현하는 미디어 데이터의 적어도 하나의 렌더링 투사를 포함하고, 상기 방법은 클라이언트에서 수행되고,
    서버로부터, 상기 와이드 뷰의 캡처링 투사를 표현하는 상기 미디어 데이터에 관한 정보를 포함하는 디스크립션 파일을 수신하는 단계 - 상기 정보는 상기 미디어 데이터를 발생시키기 위해 상기 와이드 뷰의 상기 캡처와 관련한 디스크립티브 정보 및 상기 와이드 뷰의 캡처링 투사를 표현하는 상기 미디어 데이터의 적어도 하나의 공간적 분할의 품질 레벨과 관련한 디스크립티브 정보를 포함함 - ; 및
    상기 서버에, 상기 디스크립션 파일에 기초하여 적어도 하나의 미디어 데이터 스트림을 요청하는 적어도 하나의 요청 메시지를 보내는 단계; 및
    상기 서버로부터, 상기 적어도 하나의 요청 메시지에 응답하여, 상기 적어도 하나의 요청된 미디어 데이터 스트림에 대응하는 미디어 데이터를 수신하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 디스크립티브 정보는 적어도 하나의 디스크립터 내에 적어도 부분적으로 제공되는 방법.
  3. 제2항에 있어서, 상기 적어도 하나의 디스크립터는 상기 미디어 데이터의 공간적 분할의 적어도 하나의 버전의 디스크립티브 정보를 포함하고, 상기 디스크립티브 정보는 상기 적어도 하나의 디스크립터에서 적어도 부분적으로 디스크라이브된 상기 공간적 분할의 정의 및 연관된 품질 레벨을 포함하는 방법.
  4. 제2항에 있어서, 상기 적어도 하나의 디스크립터는 상기 미디어 데이터의 상이한 공간적 분할들의 디스크립티브 정보를 포함하는 디스크립터들의 리스트를 포함하고 적어도 하나의 다른 디스크립터는 상기 미디어 데이터의 상기 상이한 공간적 분할들과 연관된 적어도 하나 이상의 상이한 품질 레벨을 포함하는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 디스크립티브 정보는 수신될 상기 미디어 데이터와 관련된 리소스들을 식별하기 위한 정보를 포함하는 방법.
  6. 서버로부터 클라이언트에, 장면의 와이드 뷰의 캡처링 투사를 표현하는 미디어 데이터를 스트리밍하는 방법으로서, 상기 스트리밍된 미디어 데이터는 상기 클라이언트가 3D 기하학적 디스플레이 표면 상에 상기 와이드 뷰의 적어도 일부를 렌더링하거나 또는 적어도 2개의 상이한 시점에 따라 디스플레이 표면 상에 상기 와이드 뷰의 적어도 일부를 렌더링하는 것을 가능하게 하고, 상기 렌더링은 상기 와이드 뷰의 적어도 일부의 캡처링 투사를 표현하는 미디어 데이터의 적어도 하나의 렌더링 투사를 포함하고, 상기 방법은 서버에서 수행되고,
    상기 클라이언트에, 상기 와이드 뷰의 캡처링 투사를 표현하는 상기 미디어 데이터에 관한 정보를 포함하는 디스크립션 파일을 송신하는 단계 - 상기 정보는 상기 미디어 데이터를 발생시키기 위해 상기 와이드 뷰의 상기 캡처와 관련한 디스크립티브 정보 및 상기 와이드 뷰의 캡처링 투사를 표현하는 상기 미디어 데이터의 적어도 하나의 공간적 분할의 품질 레벨과 관련한 디스크립티브 정보를 포함함 - ; 및
    상기 클라이언트로부터, 상기 디스크립션 파일에 기초하여 적어도 하나의 미디어 데이터 스트림을 요청하는 적어도 하나의 요청 메시지를 수신하는 단계; 및
    상기 클라이언트에, 상기 적어도 하나의 요청 메시지에 응답하여, 상기 적어도 하나의 요청된 미디어 데이터 스트림에 대응하는 미디어 데이터를 송신하는 단계
    를 포함하는 방법.
  7. 제6항에 있어서, 상기 미디어 데이터를 발생시키기 위한 상기 와이드 뷰의 상기 캡처와 관련한 상기 디스크립티브 정보가 상기 캡처링 투사와 관련되는 방법.
  8. 제6항 또는 제7항에 있어서, 상기 와이드 뷰의 캡처링 투사를 표현하는 상기 미디어 데이터의 적어도 하나의 공간적 분할의 상기 품질 레벨은 디스플레이 표면 상에 렌더링될 때 상기 대응하는 공간적 분할의 원하는 품질 레벨의 함수로서 결정되는 방법.
  9. 제6항 내지 제8항 중 어느 한 항에 있어서, 상기 디스크립티브 정보는 적어도 하나의 디스크립터 내에 적어도 부분적으로 제공되는 방법.
  10. 제9항에 있어서, 상기 적어도 하나의 디스크립터는 상기 미디어 데이터의 공간적 분할의 적어도 하나의 버전의 디스크립티브 정보를 포함하고, 상기 디스크립티브 정보는 상기 적어도 하나의 디스크립터에서 적어도 부분적으로 디스크라이브된 상기 공간적 분할의 정의 및 연관된 품질 레벨을 포함하는 방법.
  11. 제10항에 있어서, 상기 적어도 하나의 디스크립터에서 적어도 부분적으로 디스크라이브된 상기 공간적 분할은 상기 캡처링 투사로부터 초래된 영역들의 함수로서 정의되는 방법.
  12. 제9항에 있어서, 상기 적어도 하나의 디스크립터는 상기 미디어 데이터의 상이한 공간적 분할들의 디스크립티브 정보를 포함하는 디스크립터들의 리스트를 포함하고, 적어도 하나의 다른 디스크립터는 상기 미디어 데이터의 상기 상이한 공간적 분할들과 연관된 적어도 하나 이상의 상이한 품질 레벨을 포함하는 방법.
  13. 제6항 내지 제12항 중 어느 한 항에 있어서, 상기 디스크립티브 정보는 수신될 상기 미디어 데이터와 관련된 리소스들을 식별하기 위한 정보를 포함하는 방법.
  14. 제6항 내지 제13항 중 어느 한 항에 있어서, 상기 품질 레벨은 프레임 기준의 함수로서 정의된 시야를 포함하고, 상기 시야는 상기 공간적 부분에 또는 선호되는 렌더링 시야에 대응하는 방법.
  15. 제14항에 있어서, 상기 시야는 복수의 값에 의해 정의되고, 상기 복수의 값 중 적어도 하나의 값은 상기 품질 레벨의 항목의 함수로서 및 상기 클라이언트의 적어도 하나의 특성의 함수로서 계산되는 방법.
  16. 제6항 내지 제15항 중 어느 한 항에 있어서, 상기 품질 레벨은 프레임 기준의 함수로서 정의된 시점을 포함하고, 상기 시점은 상기 공간적 부분과 관련되거나 또는 선호된 렌더링 시점과 관련되는 방법.
  17. 제14항 내지 제16항 중 어느 한 항에 있어서, 상기 디스크립티브 정보는 프레임 기준의 식별자를 추가로 포함하는 방법.
  18. 제16항 내지 제17항 중 어느 한 항에 있어서, 상기 품질 레벨은 품질 등급을 포함하는 방법.
  19. 제9항에 있어서, 상기 디스크립터는, 상기 디스크립터 내의 상기 디스크립티브 정보에 대응하는 상기 미디어 데이터가, 수신된 미디어 데이터의 렌더링을 가능하게 하면서 상기 클라이언트에 의해 폐기될 수 있는지를 시그널하는 시그널링 정보와 연관되는 방법.
  20. 프로그램가능한 장치를 위한 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 제품은 상기 프로그램이 프로그램가능한 장치에 의해 로드되고 실행될 때 제1항 내지 제19항 중 어느 한 항에 따른 방법의 각각의 단계를 수행하기 위한 명령어들을 포함하는 컴퓨터 프로그램 제품.
  21. 컴퓨터 판독가능 저장 매체로서, 제1항 내지 제19항 중 어느 한 항에 따른 방법을 구현하기 위한 컴퓨터 프로그램의 명령어들을 저장하는 컴퓨터 판독가능 저장 매체.
  22. 서버로부터, 장면의 와이드 뷰의 캡처링 투사를 표현하는 미디어 데이터를 수신하는 클라이언트를 위한 디바이스로서, 상기 수신된 미디어 데이터는 3D 기하학적 디스플레이 표면 상에 상기 와이드 뷰의 적어도 일부를 렌더링하거나 또는 적어도 2개의 상이한 시점에 따라 디스플레이 표면 상에 상기 와이드 뷰의 적어도 일부를 렌더링하는 것을 가능하게 하고, 상기 렌더링은 상기 와이드 뷰의 적어도 일부의 캡처링 투사를 표현하는 미디어 데이터의 적어도 하나의 렌더링 투사를 포함하고, 상기 디바이스는
    서버로부터, 상기 와이드 뷰의 캡처링 투사를 표현하는 상기 미디어 데이터에 관한 정보를 포함하는 디스크립션 파일을 수신하는 단계 - 상기 정보는 상기 미디어 데이터를 발생시키기 위해 상기 와이드 뷰의 상기 캡처와 관련한 디스크립티브 정보 및 상기 와이드 뷰의 캡처링 투사를 표현하는 상기 미디어 데이터의 적어도 하나의 공간적 분할의 품질 레벨과 관련한 디스크립티브 정보를 포함함 - ; 및
    상기 서버에, 상기 디스크립션 파일에 기초하여 적어도 하나의 미디어 데이터 스트림을 요청하는 적어도 하나의 요청 메시지를 보내는 단계; 및
    상기 서버로부터, 상기 적어도 하나의 요청 메시지에 응답하여, 상기 적어도 하나의 요청된 미디어 데이터 스트림에 대응하는 미디어 데이터를 수신하는 단계
    를 수행하도록 구성되는 마이크로프로세서를 포함하는 디바이스.
KR1020187036347A 2016-05-23 2017-05-18 가상 현실 미디어 콘텐트의 스트리밍을 개선하는 방법, 디바이스, 및 컴퓨터 프로그램 KR102246002B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1609058.1A GB2550589B (en) 2016-05-23 2016-05-23 Method, device, and computer program for improving streaming of virtual reality media content
GB1609058.1 2016-05-23
PCT/EP2017/062051 WO2017202700A1 (en) 2016-05-23 2017-05-18 Method, device, and computer program for improving streaming of virtual reality media content

Publications (2)

Publication Number Publication Date
KR20190008901A true KR20190008901A (ko) 2019-01-25
KR102246002B1 KR102246002B1 (ko) 2021-04-29

Family

ID=56369831

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187036347A KR102246002B1 (ko) 2016-05-23 2017-05-18 가상 현실 미디어 콘텐트의 스트리밍을 개선하는 방법, 디바이스, 및 컴퓨터 프로그램

Country Status (7)

Country Link
US (1) US20190158933A1 (ko)
EP (1) EP3466091B1 (ko)
JP (1) JP6979035B2 (ko)
KR (1) KR102246002B1 (ko)
CN (1) CN109155873B (ko)
GB (1) GB2550589B (ko)
WO (1) WO2017202700A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220156880A1 (en) * 2019-03-15 2022-05-19 STX Financing, LLC Systems and methods for compressing and decompressing a sequence of images

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6485865B2 (ja) * 2015-05-15 2019-03-20 日本電気株式会社 配信制御装置、中継装置、配信システム、配信制御方法、及びプログラム
KR102170550B1 (ko) * 2016-05-24 2020-10-29 노키아 테크놀로지스 오와이 미디어 콘텐츠를 인코딩하는 방법, 장치 및 컴퓨터 프로그램
US10587934B2 (en) * 2016-05-24 2020-03-10 Qualcomm Incorporated Virtual reality video signaling in dynamic adaptive streaming over HTTP
MX2022004787A (es) * 2016-10-12 2022-12-01 Fraunhofer Ges Forschung Transmisión continua espacialmente desigual.
KR102633595B1 (ko) 2016-11-21 2024-02-05 삼성전자주식회사 디스플레이장치 및 그 제어방법
US10560660B2 (en) * 2017-01-04 2020-02-11 Intel Corporation Rectilinear viewport extraction from a region of a wide field of view using messaging in video transmission
US20190104326A1 (en) * 2017-10-03 2019-04-04 Qualcomm Incorporated Content source description for immersive media data
JP2019118026A (ja) * 2017-12-27 2019-07-18 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
WO2019162567A1 (en) 2018-02-23 2019-08-29 Nokia Technologies Oy Encoding and decoding of volumetric video
CN111869221B (zh) * 2018-04-05 2021-07-20 华为技术有限公司 Dash对象之间的有效关联
CN110519652B (zh) * 2018-05-22 2021-05-18 华为软件技术有限公司 Vr视频播放方法、终端及服务器
US10779014B2 (en) 2018-10-18 2020-09-15 At&T Intellectual Property I, L.P. Tile scheduler for viewport-adaptive panoramic video streaming
CN113170235A (zh) * 2018-12-03 2021-07-23 索尼集团公司 信息处理装置和方法
EP3949422A1 (en) 2019-03-26 2022-02-09 PCMS Holdings, Inc. System and method for multiplexed rendering of light fields
CN112150603B (zh) * 2019-06-28 2023-03-28 上海交通大学 基于三维点云的初始视角控制和呈现方法及***
CN110619669B (zh) * 2019-09-19 2023-03-28 深圳市富视康智能股份有限公司 一种支持多种图形样式的鱼眼图像渲染***及方法
CN116347183A (zh) * 2020-06-04 2023-06-27 腾讯科技(深圳)有限公司 一种沉浸媒体的数据处理方法及相关装置
CN115004716A (zh) * 2020-06-24 2022-09-02 中兴通讯股份有限公司 容积媒体处理方法和装置
US20220103655A1 (en) * 2020-09-29 2022-03-31 International Business Machines Corporation Proactively selecting virtual reality content contexts
US11922561B2 (en) * 2020-10-06 2024-03-05 Mediatek Singapore Pte. Ltd. Methods and systems for implementing scene descriptions using derived visual tracks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2824885A1 (en) * 2013-07-12 2015-01-14 Alcatel Lucent A manifest file format supporting panoramic video
WO2015197815A1 (en) * 2014-06-27 2015-12-30 Koninklijke Kpn N.V. Determining a region of interest on the basis of a hevc-tiled video stream

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001285832A (ja) * 2000-01-24 2001-10-12 Matsushita Electric Ind Co Ltd データ受信装置,データ受信方法,データ伝送方法,およびデータ記憶媒体
CN102056015B (zh) * 2009-11-04 2012-12-05 沈阳迅景科技有限公司 一种全景虚拟现实漫游中的流媒体应用方法
PL2719190T3 (pl) * 2011-06-08 2018-02-28 Koninklijke Kpn N.V. Dostarczanie treści segmentowanej przestrzennie
US10447746B2 (en) * 2013-07-26 2019-10-15 Futurewei Technologies, Inc. System and method for spatial adaptation in adaptive streaming
US20150130814A1 (en) * 2013-11-11 2015-05-14 Amazon Technologies, Inc. Data collection for multiple view generation
US10694192B2 (en) * 2014-06-27 2020-06-23 Koninklijke Kpn N.V. HEVC-tiled video streaming

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2824885A1 (en) * 2013-07-12 2015-01-14 Alcatel Lucent A manifest file format supporting panoramic video
WO2015197815A1 (en) * 2014-06-27 2015-12-30 Koninklijke Kpn N.V. Determining a region of interest on the basis of a hevc-tiled video stream

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Niamut, Omar A., et al. "MPEG DASH SRD: spatial relationship description." Proceedings of the 7th International Conference on Multimedia Systems. ACM(2016.05.13.) 1부.* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220156880A1 (en) * 2019-03-15 2022-05-19 STX Financing, LLC Systems and methods for compressing and decompressing a sequence of images
US12020395B2 (en) * 2019-03-15 2024-06-25 STX Financing, LLC Systems and methods for compressing and decompressing a sequence of images

Also Published As

Publication number Publication date
GB201609058D0 (en) 2016-07-06
GB2550589B (en) 2019-12-04
EP3466091B1 (en) 2022-05-04
JP6979035B2 (ja) 2021-12-08
KR102246002B1 (ko) 2021-04-29
CN109155873A (zh) 2019-01-04
JP2019524004A (ja) 2019-08-29
US20190158933A1 (en) 2019-05-23
GB2550589A (en) 2017-11-29
CN109155873B (zh) 2021-09-17
EP3466091A1 (en) 2019-04-10
WO2017202700A1 (en) 2017-11-30

Similar Documents

Publication Publication Date Title
KR102246002B1 (ko) 가상 현실 미디어 콘텐트의 스트리밍을 개선하는 방법, 디바이스, 및 컴퓨터 프로그램
KR102247399B1 (ko) 가상 현실 미디어 콘텐트의 적응적 스트리밍을 위한 방법, 디바이스, 및 컴퓨터 프로그램
JP6735415B2 (ja) オーディオビジュアルコンテンツの観察点および観察向きの制御された選択のための方法および装置
JP7399224B2 (ja) メディアコンテンツを送信するための方法、装置及びコンピュータプログラム
WO2019202207A1 (en) Processing video patches for three-dimensional content
KR102559862B1 (ko) 미디어 콘텐츠 전송을 위한 방법, 디바이스, 및 컴퓨터 프로그램
GB2524531A (en) Methods, devices, and computer programs for improving streaming of partitioned timed media data
JP7035088B2 (ja) 魚眼ビデオデータのための高レベルシグナリング
US11348307B2 (en) Method and device for processing content
CN111869223A (zh) 沉浸式媒体的视场角度量
KR101944601B1 (ko) 기간들에 걸쳐 오브젝트들을 식별하기 위한 방법 및 이에 대응하는 디바이스
WO2021198553A1 (en) An apparatus, a method and a computer program for video coding and decoding
Podborski et al. 360-degree video streaming with MPEG-DASH
CN114930869A (zh) 用于视频编码和视频解码的方法、装置和计算机程序产品
Kammachi‐Sreedhar et al. Omnidirectional video delivery with decoder instance reduction

Legal Events

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