KR20240052837A - 몰입형 미디어를 위한 스트리밍 장면 우선순위화기 - Google Patents

몰입형 미디어를 위한 스트리밍 장면 우선순위화기 Download PDF

Info

Publication number
KR20240052837A
KR20240052837A KR1020247011189A KR20247011189A KR20240052837A KR 20240052837 A KR20240052837 A KR 20240052837A KR 1020247011189 A KR1020247011189 A KR 1020247011189A KR 20247011189 A KR20247011189 A KR 20247011189A KR 20240052837 A KR20240052837 A KR 20240052837A
Authority
KR
South Korea
Prior art keywords
scene
media
asset
assets
network
Prior art date
Application number
KR1020247011189A
Other languages
English (en)
Inventor
폴 스펜서 도킨스
아리안 힌즈
스테판 웽거
Original Assignee
텐센트 아메리카 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 텐센트 아메리카 엘엘씨 filed Critical 텐센트 아메리카 엘엘씨
Publication of KR20240052837A publication Critical patent/KR20240052837A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/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/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/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
    • H04N21/26208Content 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 the scheduling operation being performed under constraints
    • H04N21/26216Content 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 the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/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/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)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Library & Information Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

개시내용의 측면은 몰입형 미디어 프로세싱을 위한 방법 및 장치를 제공한다. 일부 예에서, 미디어 프로세싱 방법은 명시야 기반 디스플레이에서 플레이하기 위한 장면 기반 몰입형 미디어를 수신하는 단계를 포함한다. 장면 기반 몰입형 미디어는 복수의 장면을 포함한다. 방법은 우선순위 값을 장면 기반 몰입형 미디어 내의 복수의 장면에 각각 배정하는 단계, 및 우선순위 값에 따라 복수의 장면을 엔드 디바이스로 스트리밍하기 위한 순서를 결정하는 단계를 포함한다. 일부 예에서, 미디어 프로세싱 방법은 명시야 기반 디스플레이에서 플레이하기 위한 장면 기반 몰입형 미디어를 수신하는 단계를 포함한다. 장면 기반 몰입형 미디어 내의 장면은 제1 순서인 복수의 자산을 포함한다. 방법은 복수의 자산을 엔드 디바이스로 스트리밍하기 위한 제2 순서를 결정하는 단계를 포함하고, 제2 순서는 제1 순서와는 상이하다.

Description

몰입형 미디어를 위한 스트리밍 장면 우선순위화기
참조에 의한 통합
본 출원은 "명시야 홀로그래픽 미디어를 위한 스트리밍 장면 우선순위화기(STREAMING SCENE PRIORITIZER FOR LIGHTFIELD HOLOGRAPHIC MEDIA)"라는 명칭으로 2022년 5월 12일자로 출원된 미국 가출원 제63/341,191호, "명시야, 홀로그래픽, 및/또는 몰입형 미디어를 위한 스트리밍 장면 우선순위화기(STREAMING SCENE PRIORITIZER FOR LIGHTFIELD, HOLOGRAPHIC AND/OR IMMERSIVE MEDIA)"라는 명칭으로 2022년 5월 16일자로 출원된 미국 가출원 제63/342,532호, "자산 크기에 기초한 명시야, 홀로그래픽, 및/또는 몰입형 미디어를 위한 스트리밍 자산 우선순위화기(STREAMING ASSET PRIORITIZER FOR LIGHTFIELD, HOLOGRAPHIC AND/OR IMMERSIVE MEDIA BASED ON ASSET SIZE)"라는 명칭으로 2022년 5월 16일자로 출원된 미국 가출원 제63/342,526호, "자산 가시성에 기초한 명시야, 홀로그래픽, 또는 몰입형 미디어를 위한 스트리밍 자산 우선순위화기(STREAMING ASSET PRIORITIZER FOR LIGHTFIELD, HOLOGRAPHIC, OR IMMERSIVE MEDIA BASED ON ASSET VISIBILITY)"라는 명칭으로 2022년 5월 23일자로 출원된 미국 가출원 제63/344,907호, "다수의 정책에 기초한 명시야, 홀로그래픽, 및/또는 몰입형 미디어를 위한 스트리밍 자산의 우선순위화(PRIORITIZING STREAMING ASSETS FOR LIGHTFIELD, HOLOGRAPHIC AND/OR IMMERSIVE MEDIA BASED ON MULTIPLE POLIICIES)"라는 명칭으로 2022년 6월 21일자로 출원된 미국 가출원 제63/354,071호, "장면 디폴트 뷰포트에서의 자산 가시성에 기초한 자산 렌더링의 우선순위화를 위한 장면 분석기(SCENE ANALYZER FOR PRIORITIZATION OF ASSET RENDERING BASED ON ASSET VISIBILITY IN SCENE DEFAULT VIEWPORT)"라는 명칭으로 2022년 6월 27일자로 출원된 미국 가출원 제63/355,768호, "관측 시야 내의 거리에 기초한 명시야, 홀로그래픽, 또는 몰입형 미디어를 위한 스트리밍 자산 우선순위화기(STREAMING ASSET PRIORITIZER FOR LIGHTFIELD, HOLOGRAPHIC OR IMMERSIVE MEDIA BASED ON DISTANCE WITHIN FIELD OF VIEW)"라는 명칭으로 2022년 10월 14일자로 출원된 미국 가출원 제63/416,390호, "자산 복잡도에 기초한 명시야, 홀로그래픽, 또는 몰입형 미디어를 위한 스트리밍 자산 우선순위화기(STREAMING ASSET PRIORITIZER FOR LIGHTFIELD, HOLOGRAPHIC OR IMMERSIVE MEDIA BASED ON ASSET COMPLEXITY)"라는 명칭으로 2022년 10월 14일자로 출원된 미국 가출원 제63/416,395호, "다수의 메타데이터 속성에 기초한 명시야, 홀로그래픽, 또는 몰입형 미디어를 위한 스트리밍 자산 우선순위화기(STREAMING ASSET PRIORITIZER FOR LIGHTFIELD, HOLOGRAPHIC, OR IMMERSIVE MEDIA BASED ON MULTIPLE METADATA ATTRIBUTES)"라는 명칭으로 2022년 11월 3일자로 출원된 미국 가출원 제63/422,175호, 및 "연결된 클라이언트 유형에 의한 미디어 적응의 우선순위화(PRIORITIZATION OF MEDIA ADAPTATION BY ATTACHED CLIENT TYPES)"라는 명칭으로 2022년 11월 29일자로 출원된 미국 가출원 제63/428,698호에 대한 우선권의 이익을 주장하는, "몰입형 미디어를 위한 스트리밍 장면 우선순위화기(STREAMING SCENE PRIORITIZER FOR IMMERSIVE MEDIA)"라는 명칭으로 2023년 4월 21일자로 출원된 미국 특허 출원 제18/137,849호에 대한 우선권의 이익을 주장한다. 종래 출원의 전체 개시내용은 이로써, 그 전체적으로 참조로 통합된다.
본 개시내용은 명시야(lightfield) 또는 홀로그래픽(holographic) 몰입형 디스플레이를 위한 것과 같은, 몰입형 미디어의 적응적 스트리밍을 포함하는 미디어 프로세싱 및 분배에 일반적으로 관련되는 실시예를 설명한다.
본 명세서에서 제공되는 배경 설명은 개시내용의 맥락을 일반적으로 제시하는 목적을 위한 것이다. 작업이 이 배경 섹션에서 설명되는 한도까지의 현재 거명된 발명자의 작업 뿐만 아니라, 출원 시에 종래 기술로서 이와 다르게 자격부여하지 않을 수 있는 설명의 측면은 본 개시내용에 대하여 종래 기술로서 명백히 또한 묵시적으로도 인정되지 않는다.
몰입형 미디어(immersive media)는 일반적으로, 시간 지정된(timed) 2 차원(2D) 비디오 및 "레거시 미디어(legacy media)"로서 알려지는 대응하는 오디오에 대한 현존하는 상업적 네트워크 상에서 분배되는 것을 넘어서는 것과 같이, 미디어의 경험에서 물리적으로 존재하고 있는 사용자의 지각을 생성하거나 강화하기 위하여 임의의 또는 모든 인간 감각 기관(시각, 청각, 체지각(somatosensory), 후각(olfactory), 및 아마도 미각(gustatory))을 자극하는 미디어를 지칭한다. 몰입형 미디어 및 레거시 미디어의 둘 모두는 시간 지정된(timed) 또는 시간 비지정된(untimed) 것의 어느 하나로서 특성화될 수 있다.
시간 지정된 미디어는 시간에 따라 구조화되고 프레젠트(present)되는 미디어를 지칭한다. 예는 시간의 기간에 따라 편성되는 영화 특집, 뉴스 보도, 에피소드 컨텐츠(episodic content) 등을 포함한다. 레거시 비디오 및 오디오는 일반적으로 시간 지정된 미디어인 것으로 간주된다.
시간 비지정된 미디어는, 시간에 의해 구조화되는 것이 아니라, 오히려, 논리적, 공간적, 및/또는 시간적 관계에 의해 구조화되는 미디어이다. 예는 사용자가 게이밍 디바이스에 의해 생성되는 경험에 대하여 제어하는 비디오 게임을 포함한다. 시간 비지정된 미디어의 또 다른 예는 카메라에 의해 촬영되는 정지 이미지 사진이다. 시간 비지정된 미디어는 예를 들어, 비디오 게임에 대한 장면(scene)의 계속적으로 루프화된 오디오 또는 비디오 세그먼트에서 시간 지정된 미디어를 통합할 수 있다. 반대로, 시간 지정된 미디어는 시간 비지정된 미디어, 예를 들어, 고정된 정지 이미지를 갖는 비디오를 배경으로서 통합할 수 있다.
몰입형 미디어-가능 디바이스(immersive media-capable device)는 몰입형 미디어를 액세스하고, 해독하고, 프레젠트하기 위한 능력을 구비한 디바이스를 지칭할 수 있다. 이러한 미디어 및 디바이스는 미디어의 수량 및 포맷, 그리고 이러한 미디어를 어떤 규모로 분배하기 위하여, 즉, 네트워크 상에서의 레거시 비디오 오디오 미디어의 분배와 동등한 분배를 달성하기 위하여 요구되는 네트워크 자원의 수 및 유형의 관점에서 이종적(heterogeneous)이다. 대조적으로, 랩톱 디스플레이, 텔레비전, 및 모바일 핸드셋 디스플레이와 같은 레거시 디바이스는 그 능력에 있어서 동종적(homogenous)인데, 그 이유는 이러한 디바이스의 전부가 직사각형 디스플레이 스크린으로 구성되고 그 주요 미디어 포맷으로서 2D 직사각형 비디오 또는 정지 이미지를 소비하기 때문이다.
개시내용의 측면은 미디어 프로세싱을 위한 방법 및 장치를 제공한다. 개시내용의 일부 측면에 따르면, 미디어 프로세싱 방법은 네트워크 디바이스에 의해, 명시야 기반 디스플레이에서 플레이하기 위한 장면 기반 몰입형 미디어를 수신하는 단계를 포함한다. 장면 기반 몰입형 미디어는 복수의 장면을 포함한다. 방법은 우선순위 값을 장면 기반 몰입형 미디어 내의 복수의 장면에 각각 배정하는 단계, 및 우선순위 값에 따라 복수의 장면을 엔드 디바이스로 스트리밍하기 위한 순서를 결정하는 단계를 포함한다.
일부 예에서, 방법은 우선순위 값에 따라 복수의 장면을 재순서화하는 단계, 및 재순서화된 복수의 장면을 엔드 디바이스(end device)로 송신하는 단계를 포함한다.
일부 예에서, 방법은 우선순위-인지(priority-aware) 네트워크 디바이스에 의해, 복수의 장면 중 비송신된 장면의 서브세트로부터 최고 우선순위 값을 갖는 최고 우선순위 장면을 선택하는 단계, 및 최고 우선순위 장면을 엔드 디바이스로 송신하는 단계를 포함한다.
일부 예에서, 방법은 장면을 렌더링하기 위해 필요한 가능성에 기초하여 장면에 대한 우선순위 값을 결정하는 단계를 포함한다.
일부 예에서, 방법은 이용가능한 네트워크 대역폭이 제한되는 것으로 결정하는 단계, 복수의 장면 중 비송신된 장면의 서브세트로부터 최고 우선순위 값을 갖는 최고 우선순위 장면을 선택하는 단계, 및 이용가능한 네트워크 대역폭이 제한되는 것에 응답하여 최고 우선순위 장면을 송신하는 단계를 포함한다.
일부 예에서, 방법은 이용가능한 네트워크 대역폭이 제한되는 것으로 결정하는 단계, 우선순위 값에 기초하여, 다음으로 렌더링하기 위하여 필요할 것 같지 않은 복수의 장면의 서브세트를 식별하는 단계, 및 이용가능한 네트워크 대역폭이 제한되는 것에 응답하여, 복수의 장면의 서브세트가 스트리밍하는 것을 억제하는 단계를 포함한다.
일부 예에서, 방법은 제1 장면과 제2 장면 사이의 관계에 응답하여, 제2 장면의 제2 우선순위 값에 기초하여 제1 우선순위 값을 제1 장면에 배정하는 단계를 포함한다.
일부 예에서, 방법은 엔드 디바이스로부터 피드백 신호를 수신하는 단계, 및 피드백 신호에 기초하여 적어도 복수의 장면 중 한 장면의 우선순위 값을 조절하는 단계를 포함한다. 예에서, 방법은 피드백 신호가 현재 장면이 제1 장면과 관련되는 제2 장면인 것을 지시하는 것에 응답하여, 최고 우선순위를 제1 장면에 배정하는 단계를 포함한다. 또 다른 예에서, 피드백 신호는 엔드 디바이스에 의해 결정되는 우선순위 조절을 지시한다.
개시내용의 일부 측면에 따르면, 미디어 프로세싱 방법은 명시야 기반 디스플레이를 갖는 엔드 디바이스에 의해, 명시야 기반 디스플레이에 의해 플레이하기 위한 장면 기반 몰입형 미디어에 대한 미디어 프레젠테이션 설명(MPD : media presentation description)을 수신하는 단계를 포함한다. 장면 기반 몰입형 미디어는 복수의 장면을 포함하고, MPD는 복수의 장면을 순서대로 엔드 디바이스로 스트리밍하는 것을 지시한다. 방법은 대역폭 이용가능성을 결정하는 단계, 대역폭 이용가능성에 기초하여 적어도 하나의 장면의 순서 변경을 결정하는 단계, 및 적어도 하나의 장면의 순서 변경을 지시하는 피드백 신호를 전송하는 단계를 더 포함한다.
일부 예에서, 피드백 신호는 렌더링하기 위한 다음 장면을 지시한다. 일부 예에서, 피드백 신호는 적어도 하나의 장면의 우선순위 값의 조절을 지시한다. 일부 예에서, 피드백 신호는 현재 장면을 지시한다.
개시내용의 일부 측면에 따르면, 미디어 프로세싱 방법은 네트워크 디바이스에 의해, 명시야(light field) 기반 디스플레이에서 플레이하기 위한 장면 기반 몰입형 미디어를 수신하는 단계를 포함한다. 장면 기반 몰입형 미디어 내의 장면은 제1 순서인 복수의 자산을 포함한다. 방법은 복수의 자산을 엔드 디바이스로 스트리밍하기 위한 제2 순서를 결정하는 단계를 포함하고, 제2 순서는 제1 순서와는 상이하다.
일부 예에서, 방법은 복수의 자산의 하나 이상의 속성에 따라 우선순위 값을 장면 내의 복수의 자산에 각각 배정하는 단계, 및 우선순위 값에 따라 복수의 자산을 스트리밍하기 위한 제2 순서를 결정하는 단계를 포함한다.
일부 예에서, 방법은 자산의 크기에 따라 우선순위 값을 장면 내의 자산에 배정하는 단계를 포함한다.
일부 예에서, 방법은 장면의 디폴트 엔트리 위치(default entry location)와 연관되는 자산의 가시성(visibility)에 따라 우선순위 값을 장면 내의 자산에 배정하는 단계를 포함한다.
일부 예에서, 방법은 복수의 자산의 제1 속성에 기초하여 우선순위 값의 제1 세트를 복수의 자산에 배정하는 단계를 포함한다. 우선순위 값의 제1 세트는 제1 우선순위화 방식으로 복수의 자산을 순서화하기 위하여 이용된다. 방법은 복수의 자산의 제2 속성에 기초하여 우선순위 값의 제2 세트를 복수의 자산에 배정하는 단계를 더 포함한다. 우선순위 값의 제2 세트는 제2 우선순위화 방식으로 복수의 자산을 순서화하기 위하여 이용된다. 방법은 엔드 디바이스의 정보에 따라 제1 우선순위화 방식 및 제2 우선순위화 방식으로부터 엔드 디바이스에 대한 우선순위화 방식을 선택하는 단계, 및 선택된 우선순위화 방식에 따라 스트리밍하기 위한 복수의 자산을 순서화하는 단계를 더 포함한다.
일부 예에서, 방법은 제1 자산이 제2 자산보다 더 높은 연산 복잡도를 가지는 것에 응답하여, 제1 우선순위 값을 제1 자산에 그리고 제2 우선순위 값을 제2 자산에 배정하는 단계를 포함하고, 제1 우선순위 값은 제2 우선순위 값보다 높다.
개시내용의 일부 측면에 따르면, 미디어 프로세싱 방법은 장면 기반 몰입형 미디어 내의 장면을 관측하기 위한 카메라와 연관되는 뷰포트(viewport)의 위치 및 크기를 결정하는 단계를 포함한다. 장면은 복수의 자산을 포함한다. 방법은 각각의 자산에 대하여, 뷰포트의 위치 및 크기와, 자산의 기하구조(geometry)에 기초하여, 자산이 뷰포트와 적어도 부분적으로 교차하는지 여부를 결정하는 단계, 자산이 뷰포트와 적어도 부분적으로 교차하는 것에 응답하여, 자산의 식별자를 관측가능한 자산의 리스트 내에 저장하는 단계, 및 관측가능한 자산의 리스트를 장면과 연관되는 메타데이터 내로 포함하는 단계를 더 포함한다.
개시내용의 일부 측면에 따르면, 미디어 프로세싱 방법은 미디어를 클라이언트 디바이스로 분배하기 위하여 미디어를 클라이언트 디바이스의 하나 이상의 미디어 요건에 적응시키기 위한 네트워크에 연결되는 클라이언트 디바이스의 프로파일 정보(유형 및 각각의 유형의 수)를 수신하는 단계, 및 클라이언트 디바이스의 프로파일 정보에 따라, 클라이언트 디바이스의 제1 서브세트로 분배하기 위한 제1 미디어 요건으로 미디어를 적응시키는 제1 적응을 우선순위화하는 단계를 포함한다.
개시내용의 측면은 또한, 컴퓨터에 의해 실행될 때, 컴퓨터로 하여금, 미디어 프로세싱을 위한 방법을 수행하게 하는 명령을 저장하는 비-일시적 컴퓨터-판독가능 매체를 제공한다.
개시된 발명 요지의 추가의 특징, 본질, 및 다양한 장점은 다음의 상세한 설명 및 첨부 도면으로부터 더 분명할 것이다:
도 1은 일부 예에서 미디어 흐름 프로세스를 도시한다.
도 2는 일부 예에서 미디어 변환 판단 결정 프로세스를 도시한다.
도 3은 예에서 시간 지정되는 이종적 몰입형 미디어에 대한 포맷의 표현을 도시한다.
도 3은 예에서 시간 비지정되는 이종적 몰입형 미디어에 대한 스트리밍가능한 포맷의 표현을 도시한다.
도 5는 일부 예에서 미디어를 자연 컨텐츠(natural content)로부터 수집 포맷(ingest format)으로 합성하기 위한 프로세스의 도면을 도시한다.
도 6은 일부 예에서 합성 미디어에 대한 수집 포맷을 생성하기 위한 프로세스의 도면을 도시한다.
도 7은 실시예에 따른, 컴퓨터 시스템의 개략적인 예시도이다.
도 8은 일부 예에서 다양한 레거시 및 이종적 몰입형-미디어 가능 디스플레이를 클라이언트 엔드-포인트(end-point)로서 지원하는 네트워크 미디어 분배 시스템을 도시한다.
도 9는 일부 예에서 레거시 및 이종적 몰입형 미디어-가능 디스플레이를 서빙할 수 있는 몰입형 미디어 분배 모듈의 도면을 도시한다.
도 10은 일부 예에서 미디어 적응 프로세스의 도면을 도시한다.
도 11은 일부 예에서 분배 포맷 생성 프로세스를 도시한다.
도 12는 일부 예에서 패킷화기 프로세스 시스템을 도시한다.
도 13은 일부 예에서 수집 포맷(ingest format)인 구체적인 몰입형 미디어를 구체적인 몰입형 미디어 클라이언트 엔드-포인트를 위한 스트리밍가능하고 적당한 분배 포맷으로 적응시키는 네트워크의 시퀀스 도면(sequence diagram)을 도시한다.
도 14는 일부 예에서 장면-기반 미디어 프로세싱을 위한 가상적 네트워크 및 클라이언트 디바이스를 갖는 미디어 시스템의 도면을 도시한다.
도 15는 일부 예에서 장면-기반 몰입형 미디어를 엔드 디바이스로 스트리밍하기 위한 예의 도면을 도시한다.
도 16은 일부 예에서 복잡도 값 및 우선순위 값을 장면 매니페스트(scene manifest) 내의 장면에 추가하기 위한 도면을 도시한다.
도 17은 일부 예에서 장면-기반 몰입형 미디어를 엔드 디바이스로 스트리밍하기 위한 예의 도면을 도시한다.
도 18은 일부 예에서 장면 우선순위를 예시하기 위한 가상적 박물관의 도면을 도시한다.
도 19는 일부 예에서 장면 기반 몰입형 미디어에 대한 장면의 도면을 도시한다.
도 20은 일부 예에서 장면-기반 몰입형 미디어를 엔드 디바이스로 스트리밍하기 위한 예의 도면을 도시한다.
도 21은 개시내용의 실시예에 따른 프로세스의 개요를 기술하는 흐름도를 도시한다.
도 22는 개시내용의 실시예에 따른 프로세스의 개요를 기술하는 흐름도를 도시한다.
도 23은 예에서 자산으로의 장면의 매핑을 갖는 장면 매니페스트의 도면을 도시한다.
도 24는 일부 예에서 장면에 대한 자산을 스트리밍하기 위한 도면을 도시한다.
도 25는 일부 예에서 장면 내의 자산을 재순서화하기 위한 도면을 도시한다.
도 26은 일부 예에서 장면-기반 몰입형 미디어를 엔드 디바이스로 스트리밍하기 위한 예의 도면을 도시한다.
도 27은 일부 예에서 장면의 도면을 도시한다.
도 28은 일부 예에서 장면 내의 자산을 재순서화하기 위한 도면을 도시한다.
도 29는 일부 예에서 장면-기반 몰입형 미디어를 엔드 디바이스로 스트리밍하기 위한 예의 도면을 도시한다.
도 30은 일부 예에서 장면의 도면을 도시한다.
도 31은 일부 예에서 우선순위 값을 장면 내의 자산에 배정하기 위한 도면을 도시한다.
도 32는 일부 예에서 장면-기반 몰입형 미디어를 엔드 디바이스로 스트리밍하기 위한 예의 도면을 도시한다.
도 33은 일부 예에서 장면의 도면을 도시한다.
도 34는 일부 예에서 장면 내의 자산을 재순서화하기 위한 도면을 도시한다.
도 35는 일부 예에서 장면-기반 몰입형 미디어를 엔드 디바이스로 스트리밍하기 위한 예의 도면을 도시한다.
도 36은 일부 예에서 디스플레이된 장면의 도면을 도시한다.
도 37은 일부 예에서 장면 기반 몰입형 미디어 내의 장면(3701)에 대한 도면을 도시한다.
도 38은 일부 예에서 장면 내의 자산을 우선순위화하기 위한 도면을 도시한다.
도 39는 일부 예에서 장면-기반 몰입형 미디어를 엔드 디바이스로 스트리밍하기 위한 예의 도면을 도시한다.
도 40은 예에서 자산의 메타데이터 속성을 예시하는 도면을 도시한다.
도 41은 일부 예에서 장면 내의 자산을 우선순위화하기 위한 도면을 도시한다.
도 42는 개시내용의 실시예에 따른 프로세스의 개요를 기술하는 흐름도를 도시한다.
도 43은 개시내용의 실시예에 따른 프로세스의 개요를 기술하는 흐름도를 도시한다.
도 44는 일부 예에서 디폴트 카메라 뷰포인트 내의 자산의 시그널링을 갖는 시간 지정된 미디어 표현의 도면을 도시한다.
도 45는 일부 예에서 디폴트 뷰포트(default viewport) 내의 자산의 시그널링을 갖는 시간 비지정된 미디어 표현의 도면을 도시한다.
도 46은 장면 분석기가 디폴트 뷰포트에 따라 장면 내의 자산을 분석하기 위한 프로세스 흐름을 도시한다.
도 47은 개시내용의 실시예에 따른 프로세스의 개요를 기술하는 흐름도를 도시한다.
도 48은 일부 예에서 몰입형 미디어 분배 모듈의 도면을 도시한다.
도 49는 일부 예에서 미디어 적응 프로세스의 도면을 도시한다.
도 50은 개시내용의 실시예에 따른 프로세스(5000)의 개요를 기술하는 흐름도를 도시한다.
개시내용의 측면은 클라이언트 디바이스에 대한 비디오, 오디오, 기하학적 (3D) 객체, 햅틱(haptic), 연관된 메타데이터, 또는 다른 컨텐츠를 포함하는 미디어를 분배하기 위한 아키텍처, 구조, 컴포넌트, 기법, 시스템, 및/또는 네트워크를 제공한다. 일부 예에서, 아키텍처, 구조, 컴포넌트, 기법, 시스템, 및/또는 네트워크는 이종적 몰입형 및 대화형 클라이언트 디바이스, 예컨대, 게임 엔진으로의 미디어 컨텐츠의 분배를 위하여 구성된다. 일부 예에서, 클라이언트 디바이스는 명시야 또는 홀로그래픽 몰입형 디스플레이를 포함할 수 있다. 명시야 또는 홀로그래픽 몰입형 디스플레이에 대한 몰입형 미디어가 본 개시내용의 일부 실시예에서 예로서 이용되지만, 개시된 기법은 임의의 적당한 몰입형 미디어에 대해 이용될 수 있다는 것이 주목된다.
몰입형 미디어(immersive media)는 디지털 시뮬레이션(digital simulation)을 통해 물리적 세계를 생성하거나 모방하도록 시도하는 몰입형 기술에 의해 정의되고, 이에 의해, 사용자가 장면의 내부에 물리적으로 존재한다는 지각을 생성하기 위하여 임의의 또는 모든 인간 감각 기관이 시뮬레이팅된다.
현재 개발 및 이용 중인 몇몇 상이한 유형의 몰입형 미디어 기술이 있다: 가상 현실(VR : virtual reality), 증강 현실(AR : augmented reality), 혼합 현실(MR : mixed reality), 명시야, 홀로그래픽 등. VR은 컴퓨터-생성된 세계에서 사용자를 배치하기 위하여 헤드셋을 이용함으로써 사용자의 물리적 환경을 대체하는 디지털 환경을 지칭한다. 다른 한편으로, AR은 클리어 비전(clear vision) 또는 스마트폰의 어느 하나를 이용함으로써 디지털 미디어를 취하고 이들을 사용자 주위의 실세계 상에서 계층화한다. MR은 실세계와 디지털 세계와의 블렌딩(blending)을 지칭하고, 이에 의해, 기술 및 물리적 세계가 공존할 수 있는 환경을 생성한다.
홀로그래픽 및 명시야 기술은 임의의 헤드셋을 이용할 필요 없이, 심도(depth) 및 3 차원성의 정확한 감각을 갖는 가상적 환경을 생성할 수 있고, 그러므로, 멀미(motion sickness)와 같은 부작용을 회피할 수 있다. 명시야 및 홀로그래픽 기술은 일부 예에서 각각의 포인트 및 방향으로부터 나오는 광선(ray)을 갖는 3D 공간 내의 광 광선(light ray)을 이용할 수 있다. 명시야 및 홀로그래픽 기술은, 임의의 소스(source)로부터 나오고, 공간을 통해 통행하고, 광이 인간의 눈에 도달하기 전에 또 다른 표면으로 부분적으로 흡수되고 부분적으로 반사되는 객체의 표면을 타격하는 광에 의해 보이는 모든 것이 조명된다는 개념에 기초한다. 일부 예에서, 명시야 및 홀로그래픽 기술은 양안성(binocularity) 및 연속적인 운동 시차(motion parallax)와 같은 3D 효과를 사용자에게 제공하는 명시야를 재현할 수 있다. 예를 들어, 명시야 디스플레이는 약간 상이한 방향에서 상이하지만 일관된 정보를 도시함으로써 명시야의 근사화(approximation)를 재현하기 위하여 광 광선을 홀로그래픽 스크린 상에 투영하는 투영 모듈의 대용량 어레이를 포함할 수 있다. 또 다른 예에서, 명시야 디스플레이는 플렌옵틱(plenoptic) 기능에 따라 광 광선을 방출할 수 있고, 광 광선은 실제의 3D 에어리얼(arial) 이미지를 생성하기 위하여 명시야 디스플레이의 전방에서 수렴한다. 본 개시내용에서, 명시야 기반 디스플레이는 명시야 디스플레이, 홀로그래픽 디스플레이 등과 같은, 3D 공간 내의 광 광선을 이용하는 디스플레이를 지칭한다.
일부 예에서, 광 광선은 5-차원 플렌옵틱 기능에 의해 정의될 수 있고, 여기서, 각각의 광선은 3D 공간(3 차원) 내의 3개의 좌표 및 3D 공간 내의 방향에 특정적인 2개의 각도에 의해 정의될 수 있다.
일반적으로, 360-도 비디오에 대한 컨텐츠를 캡처하기 위하여, 360-도 카메라가 요구된다. 그러나, 명시야 또는 홀로그래픽 기반 디스플레이에 대한 컨텐츠를 캡처하기 위하여, 일부 예에서, 다수-심도 카메라를 포함하는 고가의 셋업, 또는 카메라의 어레이는 렌더링되어야 할 장면의 관측 시야(FoV : field of view)에 따라 요구될 수 있다.
예에서, 전통적인 카메라는 주어진 포지션에서 카메라 렌즈에 도달하는 광 광선의 2D 표현을 캡처할 수 있다. 이미지 센서는 각각의 픽셀에 도달하는 모든 광 광선의 밝기(brightness) 및 컬러(color)의 합을 레코딩한다.
일부 예에서, 명시야 기반 디스플레이에 대한 컨텐츠를 캡처하기 위하여, 명시야 카메라(또한, 플렌옵틱 카메라로서 알려짐)가 이용되고, 명시야 카메라는 밝기 및 컬러 뿐만 아니라, 카메라 센서에 도달하는 모든 광 광선의 방향도 캡처할 수 있다. 명시야 카메라에 의해 캡처되는 정보를 이용하면, 디지털 장면은 각각의 광 광선의 원점의 정확한 표현으로 재구성될 수 있어서, 정확한 캡처된 장면을 3D에서 디지털 방식으로 재구성하는 것이 가능하게 될 수 있다.
2개의 기법은 이러한 체적계측 장면(volumetric scene)을 캡처하기 위하여 개발된다. 제1 기법은 각각의 방향으로부터 상이한 광선/뷰를 캡처하기 위하여 카메라 또는 카메라 모듈의 어레이를 이용한다. 제2 기법은 상이한 방향으로부터 광선을 또한 캡처할 수 있는 플렌옵틱 카메라(또는 플렌옵틱 카메라의 어레이)를 이용한다.
일부 예에서, 체적계측 장면은 또한, 컴퓨터 생성된 화상(CGI : computer generated imagery) 기법을 이용하여 합성될 수 있고, 그 다음으로, 카메라에 의해 캡처되는 체적계측 장면을 렌더링하기 위하여 이용되는 것과 동일한 기법을 이용하여 렌더링될 수 있다.
플렌옵틱 카메라에 의해 캡처되든지 또는 CGI에 의해 합성되든지 간에, 명시야 기반 디스플레이에 대한 멀티미디어 컨텐츠는 캡처되고 미디어 서버(또한, 미디어 서버 디바이스로서 지칭됨) 내에 저장된다. 궁극적으로, 컨텐츠는 시각적 장면 내의 각각의 객체의 기하구조(geometry)에 대한 명시적 정보 뿐만 아니라, 표면 성질(예컨대, 평활도(smoothness), 거칠기(roughness), 광을 반사하거나, 회절하거나, 흡수하기 위한 능력)을 설명하기 위한 메타데이터(metadata)를 포함하는 기하학적 표현으로 컨버팅(convert)된다. 가상적 장면 내의 각각의 객체는 장면에 대한 "자산(asset)"으로서 지칭된다. 이 데이터를 클라이언트 디바이스로 송신하는 것은, 데이터가 압축된 후에도 대량의 대역폭을 요구한다. 그러므로, 대역폭이 제한되는 상황에서는, 클라이언트 디바이스가 버퍼링 또는 중단을 경험할 수 있어서, 경험이 불쾌하게 된다.
일부 예에서, CDN 및 에지 네트워크 엘리먼트(edge network element)의 이용은 장면에 대한 클라이언트 디바이스의 요청과 클라이언트 디바이스로의 (장면에 대한 각각의 시각적 객체, 장면에 대한 "자산"으로서 지칭되는 집합을 포함하는) 장면의 전달 사이의 지연을 감소시킬 수 있다. 게다가, 사용자에게 프레젠트되도록 하기 위하여 간단하게 디코딩되고 일련의 직선적 프레임 버퍼(rectilinear frame buffer) 내에 배치되는 비디오와 대조적으로, 몰입형 미디어 장면은, 연산 집약적일 수 있고 장면을 완전히 구성하기 위하여 상당한 자원을 요구할 수 있는 (Unity Technologies에 의한 Unity Engine, 또는 Epic Games에 의한 Unreal Engine과 같은 게임 엔진이 제공되는 렌더러(renderer)와 유사한) 실시간 렌더러에 의해 렌더링될 필요가 있는 객체 및 풍부한 메타데이터로 구성된다. 이러한 장면-기반 미디어에 대하여, 클라우드/에지 네트워크 엘리먼트의 이용은 네트워크 내의 하나 이상의 서버 디바이스 등과 같은 더 강력한 연산 엔진으로 클라이언트 디바이스에 의한 렌더링의 연산 부하를 오프로딩(offload)하기 위하여 이용될 수 있다.
명시야 기반 디스플레이에 대한 멀티미디어 컨텐츠는 캡처되고 미디어 서버 내에 저장된다. 멀티미디어 컨텐츠는 실세계 또는 합성 컨텐츠일 수 있다. 멀티미디어 컨텐츠의 데이터를 클라이언트의 엔드 디바이스(end device)(또한, 클라이언트 디바이스 또는 엔드 디바이스로서 지칭됨)로 송신하는 것은 데이터가 압축된 후에도 대량의 대역폭을 요구한다. 그러므로, 대역폭이 제한되는 상황에서는, 클라이언트 디바이스가 경험을 불쾌하게 할 수 있는 버퍼링 또는 중단을 경험할 수 있다.
이전에 설명된 바와 같이, 몰입형 미디어는 즉, 시간 지정된 2 차원(2D) 비디오 및 "레거시 미디어"로서 알려지는 대응하는 오디오에 대한 현존하는 상업적 네트워크 상에서 분배되는 것을 넘어서서, 미디어의 경험에서 물리적으로 존재하고 있는 사용자의 지각을 생성하거나 강화하기 위하여 임의의 또는 모든 인간 감각 기관(시각, 청각, 체지각(somatosensory), 후각(olfactory), 및 아마도 미각)을 자극하는 미디어를 일반적으로 지칭한다. 일부 예에서, 몰입형 미디어는 역학 또는 물리 법칙의 디지털 시뮬레이션을 통해 물리적 세계를 생성하거나 모방하도록 시도하는 미디어를 지칭하여, 이에 의해, 실제 또는 가상적 세계를 묘사하는 장면의 내부에 물리적으로 존재하는 사용자에 의한 지각을 생성하기 위하여 임의의 또는 모든 인간 감각 기관을 자극한다. 몰입형 미디어 및 레거시 미디어의 둘 모두는 시간 지정된 또는 시간 비지정된 것의 어느 하나로서 특성화될 수 있다.
시간 지정된 미디어는 시간에 따라 구조화되고 프레젠트되는 미디어를 지칭한다. 예는 영화 특집, 뉴스 보도, 에피소드 컨텐츠를 포함하고, 이들 모두는 시간의 주기에 따라 편성된다. 레거시 비디오 및 오디오는 일반적으로 시간 지정된 미디어인 것으로 간주된다.
시간 비지정된 미디어는, 시간에 의해 구조화되는 것이 아니라, 오히려, 논리적, 공간적, 및/또는 시간적 관계에 의해 구조화되는 미디어이다. 예는 사용자가 게이밍 디바이스에 의해 생성되는 경험에 대하여 제어하는 비디오 게임을 포함한다. 시간 비지정된 미디어의 또 다른 예는 카메라에 의해 촬영되는 정지 이미지 사진이다. 시간 비지정된 미디어는 예를 들어, 비디오 게임에 대한 장면의 계속적으로 루프화된 오디오 또는 비디오 세그먼트에서 시간 지정된 미디어를 통합할 수 있다. 반대로, 시간 지정된 미디어는 시간 비지정된 미디어, 예를 들어, 고정된 정지 이미지를 갖는 비디오를 배경으로서 통합할 수 있다.
몰입형 미디어-가능 디바이스는 몰입형 미디어를 액세스하고, 해독하고, 프레젠트하기 위한 충분한 자원 및 능력을 구비한 디바이스를 지칭할 수 있다. 이러한 미디어 및 디바이스는 미디어의 수량 및 포맷, 그리고 이러한 미디어를 어떤 규모로 분배하기 위하여, 즉, 네트워크 상에서의 레거시 비디오 오디오 미디어의 분배와 동등한 분배를 달성하기 위하여 요구되는 네트워크 자원의 수 및 유형의 관점에서 이종적이다. 마찬가지로, 미디어는 어떤 규모로 이러한 미디어를 분배하기 위하여 요구되는 네트워크 자원의 양 및 유형의 측면에서 이종적이다. "어떤 규모로(at scale)"는 네트워크, 예컨대, Netflix, Hulu, Comcast 구독, 및 Spectrum 구독 상에서 레거시 비디오 및 오디오 미디어의 분배와 동등한 분배를 달성하는 서비스 제공자에 의한 미디어의 분배를 지칭할 수 있다.
일반적으로, 랩톱 디스플레이, 텔레비전, 및 모바일 핸드셋 디스플레이와 같은 레거시 디바이스는 그 능력에 있어서 동종적인데, 그 이유는 이러한 디바이스의 전부가 직사각형 디스플레이 스크린으로 구성되고 그 주요 미디어 포맷으로서 2D 직사각형 비디오 또는 정지 이미지를 소비하기 때문이다. 마찬가지로, 레거시 디바이스에서 지원되는 오디오 포맷의 수는 상대적으로 작은 세트로 제한된다.
용어 "프레임-기반(frame-based)" 미디어는 시각적 미디어가 화상(imagery)의 하나 이상의 연속적인 직사각형 프레임으로 이루어진다는 특성을 지칭한다. 대조적으로, "장면-기반(scene-based)" 미디어는, 각각의 장면이 장면의 시각적 특성을 집합적으로 설명하는 개별적인 자산을 지칭하는 "장면"에 의해 편성되는 시각적 미디어(visual media)를 지칭한다.
프레임-기반 및 장면-기반 시각적 미디어 사이의 비교 예는 숲(forest)을 예시하는 시각적 미디어를 이용하여 설명될 수 있다. 프레임-기반 표현에서, 숲은 카메라를 갖는 모바일 전화와 같은 카메라 디바이스를 이용하여 캡처된다. 사용자는 카메라 디바이스가 숲에 초점을 맞추는 것을 가능하게 할 수 있고, 카메라 디바이스에 의해 캡처되는 프레임-기반 미디어는, 사용자에 의해 개시되는 카메라 디바이스의 임의의 이동을 포함하는, 사용자가 카메라 디바이스 상에서 제공되는 카메라 뷰포트(viewport)를 통해 보는 것과 동일하다. 숲의 결과적인 프레임-기반 표현은, 통상적으로, 30 초 당 프레임(frame-per-second) 또는 60 초 당 프레임의 표준 레이트에서 카메라 디바이스에 의해 레코딩되는 일련의 2D 이미지이다. 각각의 이미지는 각각의 픽셀 내에 저장되는 정보가 하나의 픽셀에서 다음 픽셀까지 일치하는 픽셀의 집합이다.
대조적으로, 숲의 장면-기반 표현은 숲 내의 객체 각각을 설명하는 개별적인 자산, 및 자산, 또는 자산이 어떻게 렌더링되어야 하는지를 설명하는 무수한 메타데이터를 프레젠트하는 인간-판독가능 장면 그래프 설명으로 구성된다. 예를 들어, 장면-기반 표현은 "나무(tree)"로 칭해지는 개별적인 객체를 포함할 수 있고, 여기서, 각각의 나무는 "줄기(trunk)", "가지(branch)", 및 "잎(leaf)"으로 칭해지는 더 작은 자산의 집합으로 이루어진다. 각각의 나무 줄기는 나무 줄기의 전체 3D 기하구조를 설명하는 메시(mesh)(나무 줄기 메시), 및 나무 줄기의 컬러(color) 및 방사(radiance) 성질을 캡처하기 위하여 나무 줄기 메시에 적용되는 텍스처(texture)에 의해 개별적으로 추가로 설명될 수 있다. 게다가, 나무 줄기는 그 평활도(smoothness) 또는 거칠기(roughness) 또는 광을 반사하기 위한 능력의 관점에서 나무 줄기의 표면을 설명하는 추가적인 정보를 동반할 수 있다. 대응하는 인간-판독가능 장면 그래프 설명은 숲 장면으로 초점이 맞추어지는 가상적 카메라의 뷰포트(viewport)에 대하여 나무 줄기를 어디에 배치할 것인지에 대한 정보를 제공할 수 있다. 게다가, 인간-판독가능 설명은 얼마나 많은 가지를 생성할 것인지, 그리고 "가지"로 칭해지는 단일 가지 자산으로부터 이들을 장면 내로 어디에 배치할 것인지에 대한 정보를 포함할 수 있다. 마찬가지로, 설명은 얼마나 많은 잎을 생성할 것인지와, 가지 및 나무 줄기에 대한 잎의 포지션을 포함할 수 있다. 또한, 변환 행렬(transformation matrix)은 잎을 어떻게 스케일링(scale)하거나 회전(rotate)시킬 것인지에 대한 정보를 제공할 수 있어서, 이로써 잎은 동종적으로 보이지 않는다. 대체로, 장면을 포함하는 개별적인 자산은 각각의 자산 내에 저장되는 정보의 유형 및 수량의 관점에서 변동된다. 각각의 자산은 통상적으로, 그 자신의 파일 내에 저장되지만, 종종 자산은 예컨대, 각각의 나무에 대한 가지 및 잎을 생성하도록 설계되는 객체의 다수의 사례를 생성하기 위하여 이용된다.
일부 예에서, 장면 그래프의 인간-판독가능 부분은 장면 내의 그 포지션에 대한 자산의 관계를 설명하기 위한 메타데이터에 있어서 뿐만 아니라, 예컨대, 다양한 유형의 광원(light source)으로, 또는 (객체가 금속성(metallic) 대 매트(matte) 표면을 가진다는 것을 지시하기 위한) 표면 성질 또는 다른 재료(다공성 또는 평활한 텍스처)로 객체를 어떻게 렌더링할 것인지에 대한 명령에 있어서 풍부하다. 그래프의 인간 판독가능 부분 내에 종종 저장되는 다른 정보는 예컨대, 단일 엔티티(entity)로서 렌더링되거나 취급되는 자산의 그룹, 예컨대, 가지 및 잎을 갖는 나무 줄기를 형성하기 위한 자산과 다른 자산과의 관계이다.
인간 판독가능 컴포넌트를 갖는 자산 그래프의 예는, 노드-트리(node-tree) 컴포넌트가 객체를 설명하기 위한 인간-판독가능 표기법인 자바 스크립트 객체 표기법(JSON : Jave Script Obejct Notation)에서 제공되는 glTF 2.0을 포함한다. 인간 판독가능 컴포넌트를 갖는 장면 그래프의 또 다른 예는, OCS 파일이 또 다른 인간-판독가능 표기법 포맷인 XML을 이용하여 생성되는 몰입형 미디어 기술 미디어 포맷이다.
장면-기반 및 프레임-기반 미디어 사이의 또 다른 차이는, 프레임-기반 미디어에서, 장면에 대하여 생성되는 뷰(view)가, 즉, 미디어가 생성되었을 때에 사용자가 카메라를 통해 캡처한 뷰와 동일하다는 것이다. 프레임-기반 미디어가 클라이언트에 의해 프레젠트될 때, 프레젠트되는 미디어의 뷰는, 예컨대, 비디오를 레코딩하기 위하여 이용된 카메라에 의해 미디어에서 캡처되는 뷰와 동일하다. 그러나, 장면-기반 미디어로, 다양한 가상적 카메라, 예컨대, 씬-렌즈(thin-lens) 카메라 대 파노라마(panoramic) 카메라를 이용하여 사용자가 장면을 관측하기 위한 다수의 방식이 있을 수 있다. 일부 예에서, 뷰어(viewer)에게 관측가능한 장면의 시각적 정보는 뷰어의 시야각(viewing angle) 및 위치에 따라 변경될 수 있다.
장면-기반 미디어를 지원하는 클라이언트 디바이스는 렌더러, 및/또는 그 능력 및 지원되는 기능이 다양한 장면-기반 미디어 포맷을 수집하기 위한 클라이언트 디바이스의 총 능력을 특성화하기 위하여 상부 경계 또는 상부 제한을 집합적으로 포함하는 자원(예컨대, GPU, CPU, 로컬 미디어 캐시 스토리지)을 구비할 수 있다. 예를 들어, 모바일 핸드셋 클라이언트 디바이스는, 특히, 실시간 애플리케이션의 지원을 위하여, 기하학적 자산의 복잡도, 예컨대, 모바일 핸드셋 클라이언트 디바이스가 렌더링할 수 있는 기하학적 자산을 설명하는 다각형의 수에서 제한될 수 있다. 이러한 제한은 모바일 클라이언트가 배터리에 의해 급전된다는 사실에 기초하여 확립될 수 있고, 따라서, 실시간 렌더링을 수행하기 위하여 이용가능한 연산 자원의 양이 마찬가지로 제한된다. 이러한 시나리오에서는, 클라이언트 디바이스가 클라이언트-특정된 상부 제한보다 크지 않은 다각형 카운트(polygon count)를 갖는 기하학적 자산을 액세스하는 것을 선호한다는 것을 클라이언트 디바이스가 네트워크에 통지하는 것이 바람직할 수 있다. 게다가, 클라이언트로부터 네트워크로 전달되는 정보는 양호하게-정의된 속성의 어휘(lexicon)를 활용하는 양호하게-정의된 프로토콜을 이용하여 최상으로 통신될 수 있다.
마찬가지로, 미디어 분배 네트워크는 다양한 능력을 갖는 다양한 클라이언트로의 다양한 포맷인 몰입형 미디어의 분배를 용이하게 하는 연산 자원을 가질 수 있다. 이러한 네트워크에서는, 네트워크가 양호하게-정의된 프로파일 프로토콜에 따른 클라이언트-특정 능력, 예컨대, 양호하게-정의된 프로토콜을 통해 통신되는 속성의 어휘를 통지받는 것이 바람직할 수 있다. 이러한 속성의 어휘는 미디어를 설명하기 위한 정보, 또는 미디어를 실시간으로 렌더링하기 위하여 필요한 최소 연산 자원을 포함할 수 있어서, 이로써 네트워크는 미디어를 그 이종적 클라이언트로 어떻게 서빙할 것인지에 대한 우선순위를 더 양호하게 확립할 수 있다. 게다가, 클라이언트-제공된 프로파일 정보가 클라이언트의 도메인(domain)에 걸쳐 집합되는 중앙집중화된 데이터 저장소(centralized data store)는 어느 유형의 자산 및 어느 포맷이 높은 수요가 있는지의 개요를 제공하기 위하여 도움이 된다. 어느 유형의 자산이 더 높은 수요가 있는지와 더 낮은 수요가 있는지에 대한 정보가 프로비저닝(provision)되는 것은, 최적화된 네트워크가 더 높은 수요가 있는 자산에 대한 요청에 응답하는 태스크(task)를 우선순위화하는 것을 허용한다.
일부 예에서, 네트워크 상에서의 미디어의 분배는, 미디어를 입력 또는 네트워크 "수집(ingest)" 미디어 포맷으로부터 분배 미디어 포맷으로 재포맷(reformat)하는 미디어 전달 시스템 및 아키텍처를 채용할 수 있다. 예에서, 분배 미디어 포맷은 타깃 클라이언트 디바이스 및 그 애플리케이션에 의해 수집되기에 적당할 뿐만 아니라, 네트워크 상에서 "스트리밍되는" 것에 도움이 된다 일부 예에서, 네트워크에 의해 수집된 미디어에 대해 수행되는 2개의 프로세스가 있을 수 있다: 1) 즉, 어떤 미디어 포맷을 수집하기 위한 클라이언트 디바이스의 능력에 기초하여, 미디어를 포맷 A로부터, 타깃 클라이언트 디바이스에 의해 수집되기에 적당한 포맷 B로 컨버팅하는 것, 및 2) 스트리밍되도록 미디어를 준비하는 것.
일부 예에서, 미디어의 "스트리밍"은 미디어의 프래그먼트화(fragmenting) 및/또는 패킷화(packetizing)를 폭넓게 지칭하여, 이로써 프로세싱된 미디어는 미디어의 시간적 또는 공간적 구조의 어느 하나 또는 둘 모두에 따라 논리적으로 편성되고 시퀀스되는 연속적인 더 작은 크기의 "청크(chunk)"로 네트워크 상에서 전달될 수 있다. 일부 예에서, 포맷 A로부터 포맷 B로의 미디어의 "트랜스코딩(transcoding)"으로서 때때로 지칭될 수 있는 "변환(transforming)"은, 미디어를 타깃 클라이언트 디바이스로 분배하기 이전에, 네트워크에 의해 또는 서비스 제공자에 의해 통상적으로 수행된다. 이러한 트랜스코딩은, 포맷 B가 타깃 클라이언트 디바이스에 의해 수집될 수 있거나 상업적 네트워크와 같은 제약된 자원 상에서의 분배를 위하여 더 양호하게 적합한 여하튼 선호된 포맷 또는 유일한 포맷이라는 이전의 지식에 기초하여 미디어를 포맷 A로부터 포맷 B로 컨버팅하는 것으로 이루어질 수 있다. 미디어의 변환의 하나의 예는 장면-기반 표현으로부터 프레임-기반 표현으로의 미디어의 컨버전(conversion)이다. 일부 예에서, 미디어를 변환하고 스트리밍되도록 미디어를 준비하는 두 단계는, 미디어가 네트워크로부터 타깃 클라이언트 디바이스에 의해 수신되고 프로세싱될 수 있기 전에 필요하다. 클라이언트-선호된 포맷에 대한 이러한 이전의 지식은 다양한 클라이언트 디바이스에 걸쳐 선호되는 장면-기반 미디어의 특성을 요약하는 속성의 합의된 어휘를 사용하는 프로파일 프로토콜의 이용을 통해 취득될 수 있다.
일부 예에서, 즉, 미디어를 타깃 클라이언트 디바이스로 분배하기 이전에, 네트워크에 의해 수집된 미디어에 대해 작동되는 위의 1 또는 2-단계 프로세스는, "분배 미디어 포맷" 또는 간단하게 "분배 포맷"으로서 지칭되는 미디어 포맷으로 귀착된다. 일반적으로, 이 단계는 타깃 클라이언트 디바이스가 다수의 시기에 대하여 변환된 및/또는 스트리밍된 미디어 객체를 필요로 할 것이고 이와 다를 경우에 이러한 미디어의 변환 및 스트리밍을 다수 횟수 트리거링할 것이라는 것을 지시하기 위한 정보에 대해 네트워크가 액세스하는 경우에, 주어진 미디어 데이터 객체에 대하여, 적어도 수행되더라도 오직 한 번 수행될 수 있다. 즉, 미디어의 변환 및 스트리밍을 위한 데이터의 프로세싱 및 전송은 일반적으로, 잠재적으로 상당한 양의 네트워크 및/또는 연산 자원을 지출하기 위한 요건을 갖는 레이턴시(latency)의 소스로서 일반적으로 간주된다. 따라서, 클라이언트 디바이스가 그 캐시 내에 저장되거나 클라이언트 디바이스에 대해 로컬 방식으로 저장되는 특정한 미디어 데이터 객체를 언제 잠재적으로 이미 가지는지를 지시하기 위한 정보를 액세스하지 않는 네트워크 설계는 이러한 정보를 액세스하는 네트워크에 대해 부차적으로 수행될 것이다.
일부 예에서, 레거시 프레젠테이션 디바이스에 대하여, 분배 포맷은 프레젠테이션을 생성하기 위하여 클라이언트 디바이스(예컨대, 클라이언트 프레젠테이션 디바이스)에 의해 궁극적으로 이용되는 "프레젠테이션 포맷(presentation format)"과 동등하거나 충분히 동등할 수 있다. 예를 들어, 프레젠테이션 미디어 포맷은, 그 성질(해상도(resolution), 프레임레이트(framerate), 비트-심도(bit-depth), 색역(colour gamut) 등)이 클라이언트 프레젠테이션 디바이스의 능력으로 밀접하게 조율되는 미디어 포맷이다. 분배 대 프레젠테이션 포맷의 일부 예는, 네트워크에 의해 분배되는 고해상도(HD : high-definition) 비디오 신호(1920 픽셀 열 x 1080 픽셀 행) 대 해상도(3840 픽셀 열 x 2160 픽셀 행)를 갖는 초고해상도(UHD : ultra-high-definition) 클라이언트 디바이스를 포함한다. 예를 들어, UHD 클라이언트 디바이스는 비디오 신호의 해상도를 HD로부터 UHD로 증가시키기 위하여 "슈퍼-해상도(super-resolution)"로 칭해지는 프로세스를 HD 분배 포맷에 적용할 수 있다. 따라서, UHD 클라이언트 디바이스에 의해 프레젠트되는 최종적인 신호 포맷은, 이 예에서, UHD 신호인 "프레젠테이션 포맷"인 반면, HD 신호는 분배 포맷을 포함한다. 이 예에서, HD 신호 분배 포맷은 UHD 신호 프레젠테이션 포맷과 매우 유사한데, 그 이유는 두 신호가 직선적 비디오 포맷이기 때문이고, HD 포맷을 UHD 포맷으로 컨버팅하기 위한 프로세스는 대부분의 레거시 클라이언트 디바이스 상에서 수행하기가 비교적 간단하고 용이한 프로세스이다.
일부 예에서, 타깃 클라이언트 디바이스를 위한 선호된 프레젠테이션 포맷은 네트워크에 의해 수신되는 수집 포맷과는 상당히 상이할 수 있다. 그럼에도 불구하고, 타깃 클라이언트 디바이스는 미디어를 수집 포맷으로부터 타깃 클라이언트 디바이스에 의한 프레젠테이션을 위하여 적당한 필요한 프레젠테이션 포맷으로 변환하기 위하여 충분한 연산, 저장, 및 대역폭 자원을 액세스할 수 있다. 이 시나리오에서, 네트워크는 수집된 미디어를 포맷 A로부터 포맷 B로 재포맷하는, 예컨대, 미디어를 "트랜스코딩"하는 단계를 간단하게 우회할 수 있는데, 그 이유는 네트워크가 그렇게 행할 필요 없이, 클라이언트 디바이스가 모든 미디어 변환을 수행하기 위한 충분한 자원을 액세스하기 때문이다. 그러나, 네트워크는 수집 미디어를 프랜그먼트화하고 패키징하는 단계를 여전히 수행할 수 있어서, 이로써 미디어는 타깃 클라이언트 디바이스로 스트리밍될 수 있다.
일부 예에서, 네트워크에 의해 수신되는 수집된 미디어는 타깃 클라이언트 디바이스의 선호된 프레젠테이션 포맷과는 상당히 상이하고, 타깃 클라이언트 디바이스는 미디어를 선호된 프레젠테이션 포맷으로 컨버팅하기 위한 충분한 연산, 저장, 및/또는 대역폭 자원을 액세스하지 않는다. 이러한 시나리오에서, 네트워크는 타깃 클라이언트 디바이스를 대신하여, 수집 포맷으로부터, 타깃 클라이언트 디바이스의 선호된 프레젠테이션 포맷과 동등하거나 거의 동등한 포맷으로의 변환의 일부 또는 전부를 수행함으로써 타깃 클라이언트 디바이스를 보조할 수 있다. 일부 아키텍처 설계에서, 타깃 클라이언트 디바이스를 대신하여 네트워크에 의해 제공되는 이러한 보조는 미디어의 "분할된 렌더링(split rendering)" 또는 "적응(adaptation)"으로서 지칭된다.
도 1은 일부 예에서 미디어 흐름 프로세스(100)(또한, 프로세스(100)로서 지칭됨)를 도시한다. 미디어 흐름 프로세스(100)는 네트워크 클라우드(또는 에지(edge) 디바이스)(104)에 의해 실행될 수 있는 제1 단계, 및 클라이언트 디바이스(108)에 의해 실행될 수 있는 제2 단계를 포함한다. 일부 예에서, 수집 미디어 포맷 A인 미디어는 단계(101)에서 컨텐츠 제공자로부터 네트워크에 의해 수신된다. 네트워크 프로세스 단계인 단계(102)는 미디어를 포맷 B로 포맷함으로써, 및/또는 클라이언트 디바이스(108)로 스트리밍되도록 미디어를 준비함으로써, 클라이언트 디바이스(108)로의 분배를 위하여 미디어를 준비할 수 있다. 단계(103)에서, 미디어는 예를 들어, TCP 또는 UDP와 같은 네트워크 프로토콜을 이용하여, 네트워크 접속을 통해 네트워크 클라우드(104)로부터 클라이언트 디바이스(108)로 스트리밍된다. 일부 예에서, 미디어(105)로서 도시되는 이러한 스트리밍가능한 미디어는 미디어 저장소(110)로 스트리밍될 수 있다. 클라이언트 디바이스(108)는 페칭 메커니즘(fetching mechanism)(111)(예컨대, ISO/IEC 23009 HTTP 상에서의 동적 적응적 스트리밍(Dynamic Adaptive Streaming)을 통해 미디어 저장소(110)를 액세스한다. 클라이언트 디바이스(108)는 분배 미디어를 수신하거나, 네트워크로부터 분배 미디어를 페치하고, 106에 의해 도시된 바와 같은 렌더 프로세스를 통한 프레젠테이션을 위하여 미디어를 준비할 수 있다. 렌더 프로세스(106)의 출력은 107에 의해 도시된 바와 같은 또 다른 잠재적으로 상이한 포맷 C인 프레젠테이션 미디어이다.
도 2는 예를 들어, 네트워크 내의 하나 이상의 디바이스에 의해 네트워크(또한, 네트워크 클라우드로서 지칭됨) 내에서 수집된 미디어를 프로세싱하기 위한 네트워크 로직 흐름을 예시하는 미디어 변환 판단 결정 프로세스(200)(또한, 프로세스(200)로서 지칭됨)를 도시한다. 201에서, 미디어는 컨텐츠 제공자로부터 네트워크 클라우드에 의해 수집된다. 타깃 클라이언트 디바이스에 대한 속성은, 아직 알려지지 않은 경우에, 202에서 취득된다. 판단 결정 단계(203)는 필요한 경우에, 네트워크가 미디어의 변환을 보조해야 하는지를 결정한다. 판단 결정 단계(203)가 네트워크가 변환을 보조해야 하는 것으로 결정할 때, 수집된 미디어는 미디어를 포맷 A로부터 변환된 미디어(205)를 생성하는 포맷 B로 컨버팅하기 위한 프로세스 단계(204)에 의해 변환된다. 206에서, 변환되거나 그 원본 형태인 미디어는 스트리밍되도록 하기 위하여 준비된다. 207에서, 준비된 미디어는 게임 엔진 클라이언트 디바이스와 같은 타깃 클라이언트 디바이스로 또는 도 1에서의 미디어 저장소(110)로 적당하게 스트리밍된다.
도 2에서의 로직에 대한 중요한 측면은 자동화된 프로세스에 의해 수행될 수 있는 판단 결정 프로세스(203)이다. 판단 결정 단계는 미디어가 그 원본 수집된 포맷 A로 스트리밍될 수 있는지 여부, 또는 타깃 클라이언트 디바이스에 의해 미디어의 프레젠테이션을 용이하게 하기 위하여 미디어가 상이한 포맷 B로 변환될 필요가 있는지를 결정할 수 있다.
일부 예에서, 판단 결정 프로세스 단계(203)는 최적의 선택을 행하기 위하여, 즉, 미디어를 타깃 클라이언트 디바이스로 스트리밍하기 이전에 수집 미디어의 변환이 필요한지, 또는 미디어가 원본 수집 포맷 A로 직접적으로 타깃 클라이언트 디바이스로 스트리밍될 수 있는지를 결정하기 위하여, 판단 결정 프로세스 단계(203)를 보조하기 위한 그러한 방식으로, 수집 미디어의 측면 또는 특징을 설명하는 정보에 대한 액세스를 요구할 수 있다.
개시내용의 측면에 따르면, 장면-기반 몰입형 미디어의 스트리밍은 프레임-기반 미디어를 스트리밍하는 것과는 상이할 수 있다. 예를 들어, 프레임-기반 미디어의 스트리밍은 비디오의 프레임의 스트리밍과 동등할 수 있고, 여기서, 각각의 프레임은 클라이언트 디바이스에 의해 프레젠트되어야 할 전체 장면의 전체적인 픽처 또는 전체 객체의 완전한 픽처를 캡처한다. 그 압축된 형태로부터 클라이언트 디바이스에 의해 재구성되고 뷰어(viewer)에게 프레젠트될 때의 프레임의 시퀀스(sequence)는, 전체 몰입형 프레젠테이션 또는 프레젠테이션의 부분을 포함하는 비디오 시퀀스(video sequence)를 생성한다. 프레임-기반 미디어 스트리밍에 대하여, 프레임이 네트워크로부터 클라이언트 디바이스로 스트리밍되는 순서는 포괄적 오디오 시각적 서비스(Generic Audio Visual Service)에 대한 ITU-T 추천안 H.264 진보된 비디오 코딩(Advanced Video Coding)과 같은 사전정의된 사양과 일치할 수 있다.
그러나, 미디어의 장면-기반 스트리밍은 프레임-기반 스트리밍과는 다른데, 그 이유는 장면이 자체적으로 서로에 대해 독립적일 수 있는 개별적인 자산으로 이루어질 수 있기 때문이다. 주어진 장면-기반 자산은 특정한 장면 내에서 또는 일련의 장면에 걸쳐 다수 횟수 이용될 수 있다. 클라이언트 디바이스 또는 임의의 주어진 렌더러가 특정한 자산의 올바른 프레젠테이션을 생성할 필요가 있는 시간량은, 자산의 크기, 렌더링을 수행하기 위한 연산 자원의 이용가능성, 및 자산의 전체적인 복잡도를 설명하는 다른 속성을 포함하지만 이것으로 제한되지 않는 인자의 수에 종속될 수 있다. 장면-기반 스트리밍을 지원하는 클라이언트 디바이스는 장면 내의 각각의 자산에 대한 렌더링의 일부 또는 전부가 장면에 대한 프레젠테이션 중의 임의의 프레젠테이션이 시작될 수 있기 전에 완료되는 것을 요구할 수 있다. 따라서, 자산이 네트워크로부터 클라이언트 디바이스로 스트리밍되는 순서는 전체적인 성능에 영향을 줄 수 있다.
개시내용의 측면에 따르면, 예컨대, 분할된 렌더링을 위하여, 포맷 A로부터 또 다른 포맷으로의 미디어의 변환이 전적으로 네트워크에 의해, 전적으로 클라이언트 디바이스에 의해, 또는 네트워크와 클라이언트 디바이스의 둘 사이에서 공동으로 행해질 수 있는 위의 시나리오 각각이 주어지면, 미디어 포맷을 설명하는 속성의 어휘가 필요할 수 있어서, 이로써 클라이언트 디바이스 및 네트워크의 둘 모두는 변환 작업을 특성화하기 위한 완전한 정보를 가진다. 게다가, 예컨대, 이용가능한 연산 자원, 이용가능한 저장 자원, 및 대역폭에 대한 액세스의 관점에서 클라이언트 디바이스의 능력의 속성을 제공하는 어휘가 마찬가지로 필요할 수 있다. 더 추가로, 수집 포맷의 연산, 저장, 또는 대역폭 복잡도의 레벨을 특성화하기 위한 메커니즘이 필요할 수 있어서, 이로써 네트워크 및 클라이언트 디바이스는 공동으로 또는 단독으로, 네트워크가 미디어를 클라이언트 디바이스로 분배하기 위한 분할된-렌더링 단계를 채용할 수 있는지 또는 언제 채용할 수 있는지를 결정할 수 있다. 또한, 미디어의 그 프레젠테이션을 완료하기 위하여 클라이언트 디바이스에 의해 필요하거나 필요하게 될 특정한 미디어 객체의 변환 및/또는 스트리밍이 회피될 수 있는 경우에, 클라이언트 디바이스가 클라이언트 디바이스의 미디어의 프레젠테이션을 완료하기 위하여 필요로 할 수 있는 (예컨대, 클라이언트 디바이스로 이전에 스트리밍되는) 미디어 객체에 대한 액세스 또는 이용가능성을 가진다는 것을 가정하여, 네트워크는 수집 미디어의 변환 및 스트리밍의 단계를 스킵(skip)할 수 있다. 일부 예에서, 포맷 A로부터 또 다른 포맷으로의 변환이 클라이언트 디바이스에 의해 또는 클라이언트 디바이스를 대신하여 수행되어야 할 필요한 단계인 것으로 결정되는 경우에, 장면 내의 개별적인 자산의 변환 프로세스를 순서화하기 위한 우선순위화 방식이 수행될 수 있고, 지능적이고 효율적인 네트워크 아키텍처의 이익을 얻을 수 있다.
그 전체 잠재력에서 수행하기 위한 클라이언트 디바이스의 능력을 가능하게 하기 위하여 장면-기반 자산이 네트워크로부터 클라이언트 디바이스로 스트리밍되는 순서에 대하여, 네트워크가 충분한 정보를 구비하는 것이 바람직할 수 있어서, 이로써 네트워크는 클라이언트 디바이스의 성능을 개선시키기 위한 이러한 순서를 결정할 수 있다. 예를 들어, 특정한 프레젠테이션에서 한 번 초과하여 이용되는 자산에 대한 반복적인 변환 및/또는 스트리밍 단계를 회피하기 위한 충분한 정보를 가지는 이러한 네트워크는 그렇게 설계되지 않은 네트워크보다 더 최적으로 수행할 수 있다. 마찬가지로, 클라이언트로의 자산의 전달을 "지능적으로(intelligently)" 시퀀스할 수 있는 네트워크는 그 전체 잠재력에서 수행하기 위한, 즉, 최종 사용자에게 더 즐거울 수 있는 경험을 생성하기 위한 클라이언트 디바이스의 능력을 가능하게 할 수 있다. 추가로, 클라이언트 디바이스와 네트워크(예컨대, 네트워크 내의 서버 디바이스) 사이의 인터페이스는, 클라이언트 디바이스의 동작 상태의 특성, 클라이언트 디바이스에서의 또는 클라이언트에 대해 로컬인 자원의 이용가능성, 스트리밍되어야 할 미디어의 유형, 및 이용되어야 할 또는 다수의 장면에 걸친 자산의 빈도에 관한 필수적인 정보가 전달되는 하나 이상의 통신 채널을 이용하여 구현될 수 있다. 따라서, 이종적 클라이언트로의 장면-기반 미디어의 스트리밍을 구현하는 네트워크 아키텍처는, 연산 및 저장 자원을 액세스하기 위한 클라이언트 디바이스의 능력에 관련되는 현재의 조건을 포함하는, 각각의 장면의 프로세싱에 관련되는 정보로 네트워크 서버 프로세스를 제공하고 업데이트할 수 있는 클라이언트 인터페이스에 대한 액세스를 필요로 할 수 있다. 이러한 클라이언트 인터페이스는 또한, 클라이언트 디바이스 상에서 실행되는 다른 프로세스와, 특히, 몰입형 경험을 최종 사용자에게 전달하기 위한 클라이언트 디바이스의 능력을 대신하여 필수적인 역할을 서빙할 수 있는 게임 엔진과 밀접하게 상호작용할 수 있다. 게임 엔진이 서빙할 수 있는 필수적인 역할의 예는 대화형 경험의 전달을 가능하게 하기 위하여 애플리케이션 프로그램 인터페이스(API)를 제공하는 것을 포함한다. 클라이언트 디바이스를 대신하여 게임 엔진에 의해 제공될 수 있는 또 다른 역할은, 클라이언트 디바이스의 능력과 일치하는 시각적 경험을 전달하기 위하여 클라이언트 디바이스에 의해 필요한 정확한 시각적 신호의 렌더링이다.
본 개시내용에서 이용되는 일부 용어의 정의는 다음의 단락에서 제공된다.
장면 그래프(Scene graph): 그래픽 장면의 논리적 및 종종(반드시 그렇지는 않음) 공간적 표현을 배열하는 벡터-기반 그래픽 편집 애플리케이션 및 최신 컴퓨터 게임에 의해 보편적으로 이용되는 일반적인 데이터 구조; 그래프 구조 내의 노드 및 정점(vertex)의 집합.
장면(Scene): 컴퓨터 그래픽의 맥락에서, 장면은 그 설정 내에서의 객체의 상호작용에 대하여 공간 또는 시간의 어느 하나에 의해 경계설정되는 특정한 설정을 설명하는 시각적, 음향적, 및 물리-기반 특성을 포함하는 객체(예컨대, 3D 자산), 객체 속성, 및 다른 메타데이터(metadata)의 집합이다.
노드(Node): 시각적, 오디오, 햅틱(haptic), 후각, 미각, 또는 관련된 프로세싱 정보의 논리적 또는 공간적 또는 시간적 표현에 관련되는 정보로 이루어지는 장면 그래프의 기본적인 엘리먼트; 각각의 노드는 최대 하나의 출력 에지(edge), 제로 이상의 입력 에지, 및 노드에 연결되는 적어도 하나의 에지(입력 또는 출력 중의 어느 하나)를 가질 것이다.
기본 계층(Base Layer): 자산을 렌더링하기 위하여 필요한 연산 자원 또는 시간, 또는 네트워크 상에서 자산을 송신하기 위한 시간을 최소화하도록 통상적으로 공식화되는, 자산의 명목상 표현.
강화 계층(Enhancement Layer): 자산의 기본 계층 표현에 적용될 때, 기본 계층에서 지원되지 않는 특징 또는 능력을 포함하기 위하여 기본 계층을 증강시키는 정보의 세트.
속성(Attribute): (예컨대, 또 다른 노드의 관점에서) 표준적 또는 더 복잡한 형태의 어느 하나인 그 노드의 특정한 특성 또는 특징을 설명하기 위하여 이용되는 노드와 연관되는 메타데이터.
LUT 바인딩: ISO/IEC 23090 파트 28의 IMS로부터의 메타데이터를, 구체적인 장면 그래프 포맷, 예컨대, ITMF, glTF, 유니버셜 장면 설명(Universal Scene Description)의 특징 또는 기능을 설명하기 위하여 이용되는 메타데이터 또는 다른 메커니즘과 연관시키는 논리적 구조.
컨테이너(Container): 장면 그래프, 및 장면의 렌더링을 위하여 요구되는 미디어 자원의 전부를 포함하는, 모두 자연, 모두 합성, 또는 합성 및 자연 장면의 혼합을 표현하기 위한 정보를 저장하고 교환하기 위한 직렬화된 포맷.
직렬화(Serialization): 데이터 구조 또는 객체 상태를, (예를 들어, 파일 또는 메모리 버퍼 내에) 저장되거나 (예를 들어, 네트워크 접속 링크에 걸쳐) 송신되고 (아마도 상이한 컴퓨터 환경에서) 더 이후에 재구성될 수 있는 포맷으로 변환하는 프로세스. 결과적인 일련의 비트가 직렬화 포맷에 따라 재판독될 때, 그것은 원본 객체의 의미론적으로 동일한 복제본(clone)을 생성하기 위하여 이용될 수 있다.
렌더러(Renderer): 입력 장면 그래프 및 자산 컨테이너가 주어지는 경우에, 타깃화된 디바이스 상에서의 프레젠테이션을 위하여 적당하거나, 장면 그래프 내의 렌더 타깃 노드의 속성에 의해 특정되는 바와 같은 희망된 성질을 준수하는 전형적으로 시각적 및/또는 오디오 신호를 방출하는 음향 물리, 광 물리, 시각적 지각, 오디오 지각, 수학, 및 소프트웨어 개발에 관련되는 선택적인 혼합에 기초한 (전형적으로 소프트웨어-기반) 애플리케이션 또는 프로세스. 시각적-기반 미디어 자산에 대하여, 렌더러는 타깃화된 디스플레이를 위하여 또는 중간 자산으로서의 저장을 위하여(예컨대, 또 다른 컨테이너 내로 재패키징되고, 즉, 그래픽 파이프라인 내의 일련의 렌더링 프로세스에서 이용됨) 적당한 시각적 신호를 방출할 수 있고; 오디오-기반 미디어 자산에 대하여, 렌더러는 멀티-채널 라우드스피커 및/또는 바이노럴라이즈된(binauralized) 헤드폰에서의 프레젠테이션을 위한, 또는 또 다른(출력) 컨테이너로 재패키징하기 위한 오디오 신호를 방출할 수 있다. 렌더러의 대중적인 예는 게임 엔진 유니티(Unity) 및 언리얼 엔진(Unreal Engine)의 실시간 렌더링 특징을 포함한다.
평가(Evaluate): 출력이 추상적인 결과로부터 구체적인 결과로 이동하게 하는 결과(예컨대, 웹페이지(webpage)에 대한 문서 객체 모델(Document Object Model)의 평가와 유사함)를 생성함.
스크립팅 언어(scripting language): (물리력, 제약, 역 운동학(inverse kinematics), 변형, 충돌을 포함하는) 공간적 및 시간적 객체 토폴로지, 및 에너지 전파 및 수송(광, 사운드)의 렌더링 및 평가에 영향을 주는, 장면 그래프 노드에 대해 행해지는 동적 입력 및 가변적 상태 변경을 프로세싱하기 위하여 런타임(runtime)에서 렌더러에 의해 실행될 수 있는 해독된 프로그래밍 언어(interpreted programming language).
셰이더(Shader): 셰이딩(이미지 내의 명, 암, 및 컬러의 적절한 레벨의 생성)을 위하여 원래 이용되었지만, 컴퓨터 그래픽 특수 효과의 다양한 분야에서 다양한 특화된 기능을 이제 수행하거나, 셰이딩에 비관련되는 비디오 포스트-프로세싱, 또는 심지어 그래픽에 전혀 비관련되는 기능을 수행하는 컴퓨터 프로그램의 유형.
경로 추적(Path Tracing): 장면의 조명이 현실에 충실하도록, 3 차원 장면을 렌더링하는 컴퓨터 그래픽 방법.
시간 지정된 미디어: 예컨대, 특정한 클록(clock)에 따른 시작 및 종료 시간을 갖는, 시간에 의해 순서화되는 미디어.
시간 비지정된 미디어: 예컨대, 사용자(들)에 의해 취해지는 액션에 따라 실현되는 대화형 경험에서와 같이, 공간적, 논리적, 또는 시간적 관계에 의해 편성되는 미디어.
신경망 모델(Neural Network Model): 원본 신호에 의해 명시적으로 제공되지 않은 시각적 신호에 대한 새로운 뷰의 보간(interpolation)을 포함할 수 있는 개선된 시각적 출력에 도달하기 위하여 시각적 신호에 적용되는 양호하게 정의된 수학적 연산에서 이용되는 가중치(즉, 수치 값)를 정의하는 파라미터 및 텐서(tensor)(예컨대, 행렬)의 집합.
변환(translation): 하나의 미디어 포맷 또는 유형을 또 다른 미디어 포맷 또는 유형으로 각각 컨버팅하는 프로세스를 지칭함.
적응(adaptation): 미디어를 비트레이트(bitrate)의 다수의 표현으로 변환 및/또는 컨버팅하는 것을 지칭함.
프레임-기반 미디어(Frame-based media): 연관된 오디오를 갖거나 갖지 않는 2D 비디오.
장면-기반 미디어(Scene-based media): 장면 그래프의 이용에 의해 논리적으로 그리고 공간적으로 편성되는 오디오, 시각적, 햅틱, 다른 주요 유형의 미디어 및 미디어-관련된 정보.
지난 10년 간, 다수의 몰입형 미디어-가능 디바이스가 헤드-장착형 디스플레이(head-mounted display), 증강-현실 안경(augmented-reality glasses), 핸드-헬드 제어기(hand-held controller), 멀티-뷰 디스플레이(multi-view display), 햅틱 장갑(haptic glove), 및 게임 콘솔(game console)을 포함하는 소비자 시장으로 도입되었다. 마찬가지로, 홀로그래픽 디스플레이(holographic display) 및 다른 형태의 체적계측 디스플레이(volumetric display)는 다음 3년 내지 5년 내에 소비자 시장 내로 등장할 것으로 준비되고 있다. 이 디바이스의 즉각적인 또는 임박한 이용가능성에도 불구하고, 상업적 네트워크 상에서의 몰입형 미디어의 분배를 위한 일관된 엔드-투-엔드(end-to-end) 생태계는 몇몇 이유로 실현하는 것에 실패하였다.
상업적 네트워크 상에서의 몰입형 미디어의 분배를 위한 일관된 엔드-투-엔드 생태계를 실현하기 위한 장애 중의 하나는, 몰입형 디스플레이를 위한 이러한 분배 네트워크에 대한 엔드-포인트(end-point)로서 역할을 하는 클라이언트 디바이스가 모두 매우 다양하다는 것이다. 이들의 일부는 어떤 몰입형 미디어 포맷을 지원하는 반면, 다른 것은 그렇게 하지 않는다. 이들의 일부는 레거시 래스터-기반 포맷(legacy raster-based format)으로부터 몰입형 경험을 생성할 수 있는 반면, 다른 것은 그렇게 할 수 없다. 오직 레거시 미디어의 분배를 위하여 설계되는 네트워크와는 달리, 다양한 디스플레이 클라이언트를 지원해야 하는 네트워크는, 이러한 네트워크가 미디어를 각각의 타깃 디스플레이 및 대응하는 애플리케이션을 위하여 적당한 포맷으로 변환하기 위한 적응 프로세스를 채용할 수 있기 전에, 클라이언트의 능력 각각의 세부사항에 속하는 상당한 양의 정보, 및 분배되어야 할 미디어의 포맷을 필요로 한다. 이러한 네트워크는 네트워크가 입력 미디어 소스를 타깃 디스플레이 및 애플리케이션을 위하여 적당한 포맷으로 의미 있게 어떻게 적응시킬 것인지를 확인하기 위하여, 각각의 타깃 디스플레이의 특성 및 수집된 미디어의 복잡도를 설명하는 정보에 대한 액세스를 최소한으로 필요로 할 것이다. 유사하게, 효율을 위하여 최적화되는 네트워크는 이러한 네트워크에 연결되는 클라이언트 디바이스에 의해 지원되는 미디어의 유형 및 그 대응하는 속성의 데이터베이스를 유지하기를 원할 수 있다.
마찬가지로, 이종적 클라이언트 디바이스를 지원하는 이상적인 네트워크는, 입력 미디어 포맷으로부터 구체적인 타깃 포맷으로 적응되는 자산의 일부가 유사한 디스플레이 타깃의 세트에 걸쳐 재이용될 수 있다는 사실을 활용해야 한다. 즉, 일부 자산은 타깃 디스플레이를 위하여 적당한 포맷으로 일단 컨버팅되면, 유사한 적응 요건을 가지는 다수의 이러한 디스플레이에 걸쳐 재이용될 수 있다. 그러므로, 이러한 이상적인 네트워크는, 즉, 레거시 네트워크를 위하여 이용 중인 컨텐츠 분배 네트워크(CDN : Content Distribution Network)의 이용과 유사하게, 적응된 자산을 비교적 불변인 영역으로 저장하기 위한 캐싱 메커니즘(caching mechanism)을 채용할 것이다.
또한, 몰입형 미디어는 "장면", 예컨대, 장면 설명으로서 또한 알려져 있는, 장면 그래프에 의해 설명되는 "장면-기반 미디어" 내로 편성될 수 있다. 장면 그래프의 범위는 프레젠테이션의 일부인 특정한 설정, 예를 들어, 배우 또는 이벤트가 프레젠테이션, 예컨대, 영화의 일부인 건물 내의 특정한 위치에서 발생하는 것을 포함하는 시각적, 오디오, 및 다른 형태의 몰입형 자산을 설명하기 위한 것이다. 단일 프레젠테이션을 포함하는 모든 장면의 리스트는 장면의 매니페스트(manifest)(또한, 장면 매니페스트로서 지칭됨)로 공식화(formulate)될 수 있다.
이러한 접근법의 추가적인 장점은, 이러한 컨텐츠를 분배해야 하기 전에 미리 준비되는 컨텐츠에 대하여, 전체 프레젠테이션을 위하여 이용될 자산의 전부, 및 각각의 자산이 프레젠테이션 내의 다양한 장면에 걸쳐 얼마나 자주 이용되는지를 식별하는 "재료의 청구서(bill of materials)"가 생성될 수 있다. 이상적인 네트워크는 특정한 프레젠테이션에 대한 자산 요건을 만족시키기 위하여 이용될 수 있는 캐싱된 자원의 존재의 지식을 가져야 한다. 유사하게, 일련의 장면을 프레젠트학고 있는 클라이언트는 다수의 장면에 걸쳐 이용되어야 할 임의의 주어진 자산의 빈도에 대한 지식을 가지기를 희망할 수 있다. 예를 들어, 미디어 자산(또한, "객체"로서 알려짐)이 클라이언트에 의해 프로세싱되거나 프로세싱될 다수의 장면에 걸쳐 다수 횟수 참조되는 경우에, 클라이언트는 그 특정한 자산을 요구하는 마지막 장면이 클라이언트에 의해 프레젠트되었을 때까지, 그 캐싱 자원으로부터 자산을 폐기하는 것을 회피해야 한다.
게다가, 주어진 장면 또는 장면의 집합에 대한 "재료의 청구서"를 생성할 수 있는 이러한 프로세스는 또한, 하나의 포맷으로부터 또 다른 포맷으로의 장면의 적응을 용이하게 하기 위하여, 예컨대, ISO/IEC 23090 파트 28의 IMS로부터의 표준화된 메타데이터로 장면(들)에 주석부기(annotate)할 수 있다.
최종적으로, Oculus Rift, Samsung Gear VR, Magic Leap 고글(goggle), 모든 록킹 유리 팩토리 디스플레이(Looking Glass Factory display), Light Field Lab에 의한 SolidLight, 아발론 홀로그래픽 디스플레이(Avalon Holographic display), 및 디멘코 디스플레이(Dimenco display)를 포함하지만, 이것으로 제한되지 않는 많은 최근 등장하는 진보된 이미징 디스플레이는 게임 엔진을, 그 개개의 디스플레이가 디스플레이 상에서 렌더링되고 프레젠트되어야 할 컨텐츠를 수집할 수 있는 메커니즘으로서 사용한다. 현재, 이 전술한 디스플레이의 세트에 걸쳐 채용되는 가장 대중적인 게임 엔진은 Epic Games에 의한 언리얼 엔진(Unreal Engine), 및 Unity Technologies에 의한 유니티(Unity)를 포함한다. 즉, 진보된 이미징 디스플레이는, 디스플레이가 이러한 진보된 이미징 디스플레이에 의해 렌더링되고 프레젠트되어야 할 미디어를 취득할 수 있는 메커니즘으로서, 이 게임 엔진 중의 어느 하나 또는 둘 모두로 현재 설계되고 출시된다. 언리얼 엔진 및 유니티의 둘 모두는 프레임-기반 미디어와 대조적으로 장면-기반을 수집하도록 최적화된다. 그러나, 현존하는 미디어 분배 생태계는 프레임-기반 미디어만을 스트리밍할 수 있다. 최근 등장하는 진보된 이미징 디스플레이로의 장면-기반 컨텐츠의 분배를 가능하게 하기 위한 표준(법적으로 또는 사실상) 및 최상의 실무를 포함하는 현재의 미디어 분배 생태계에는 큰 "갭(gap)"이 존재하여, 이로써 미디어는 "어떤 규모로", 예컨대, 장면-기반 미디어가 분배되는 것과 동일한 규모로 전달될 수 있다.
일부 예에서, 네트워크 서버 프로세스(들)에 대해 응답하고, 조합된 네트워크 및 몰입형 클라이언트 아키텍처에 참여하는 메커니즘 또는 프로세스는, 장면-기반 미디어를 수집하기 위하여 게임 엔진이 사용되는 클라이언트 디바이스를 대신하여 이용될 수 있다. 이러한 "스마트 클라이언트" 메커니즘은 특히, 장면-기반 미디어를 몰입형 이종적 및 대화형 클라이언트 디바이스로 스트리밍하도록 설계되는 네트워크에서 관련되어, 미디어의 분배가 효율적으로, 그리고 네트워크를 전체로서 포함하는 다양한 컴포넌트의 능력의 제약 내에서 수행된다. "스마트 클라이언트"는 특정한 클라이언트 디바이스와 연관되고, 장면-기반 미디어의 프레젠테이션을 렌더링하고 생성하기 위한 클라이언트 디바이스 상에서의 자원의 이용가능성을 포함하는, 그 연관된 클라이언트 디바이스의 현재 상태에 속하는 정보에 대한 네트워크의 요청에 대해 응답한다. "스마트 클라이언트"는 또한, 게임 엔진이 채용되는 클라이언트 디바이스와 네트워크 자체 사이의 "매개자(intermediary)"로서 역할을 한다.
개시된 발명 요지의 나머지는, 일반성의 손실 없이, 특정한 클라이언트 디바이스를 대신하여 응답할 수 있는 스마트 클라이언트가 또한, 하나 이상의 다른 애플리케이션(즉, 게임 엔진 애플리케이션이 아님)이 활성인 클라이언트 디바이스를 대신하여 응답할 수 있다는 것에 주목한다. 즉, 클라이언트 디바이스를 대신하여 응답하는 문제는, 하나 이상의 다른 애플리케이션이 활성인 클라이언트 디바이스를 대신하여 응답하는 문제와 동등하다.
추가로, 용어 "미디어 객체" 및 "미디어 자산"은 상호 교환가능하게 이용될 수 있고, 둘 모두 구체적인 포맷의 미디어의 구체적인 사례를 지칭할 수 있다는 것에 주목한다. 용어 클라이언트 디바이스 또는 클라이언트(임의의 자격을 갖지 않음)는 미디어의 프레젠테이션이 궁극적으로 수행되는 디바이스 및 그 구성 컴포넌트를 지칭한다. 용어 "게임 엔진(game engine)"은 유니티(Unity) 또는 언리얼 엔진(Unreal Engine), 또는 분배 네트워크 아키텍처에서 역할을 서빙하는 임의의 게임 엔진을 지칭한다.
일부 예에서, 판단 결정 프로세스를 지원하기 위하여 이용될 수 있는 충분한 정보를 획득하기 위하여 몰입형 미디어 장면을 분석하는 메커니즘 또는 프로세스는 네트워크 또는 클라이언트 디바이스에 의해 이용될 수 있다. 메커니즘 또는 프로세스가 네트워크 또는 클라이언트에 의해 채용될 때, 메커니즘 또는 프로세스는 포맷 A로부터 포맷 B로의 미디어 객체(또는 미디어 자산)의 변환이 전적으로 네트워크에 의해, 전적으로 클라이언트에 의해, 또는 (어느 자산이 클라이언트 또는 네트워크에 의해 변환되어야 하는지의 지시와 함께) 이 둘의 혼합을 통해 수행되어야 하는지 여부에 대한 지시를 제공할 수 있다. 이러한 "몰입형 미디어 데이터 복잡도 분석기"(또한, 일부 예에서 미디어 분석기로서 지칭됨)는 자동화된 컨텍스트에서 클라이언트 디바이스 또는 네트워크 디바이스의 어느 하나에 의해 채용될 수 있다.
도 1을 다시 참조하면, 미디어 흐름 프로세스(100)는 네트워크(104)를 통한 미디어의 흐름, 또는 게임 엔진이 채용되는 클라이언트 디바이스(108)로의 분배를 보여준다. 도 1에서, 수집 미디어 포맷 A의 프로세싱은 클라우드 또는 에지 디바이스(104)에서의 프로세싱에 의해 수행된다. 101에서, 미디어는 컨텐츠 제공자(도시되지 않음)로부터 획득된다. 프로세스 단계(102)는 미디어의 잠재적으로 대안적인 표현을 분배 포맷 B로서 생성하기 위하여 수집된 미디어의 임의의 필요한 변환 또는 조절을 수행한다. 미디어 포맷 A 및 B는 특정한 미디어 포맷 사양의 동일한 신택스(syntax)를 따르는 표현일 수 있거나 그렇지 않을 수 있지만, 포맷 B는 TCP 또는 UDP와 같은 네트워크 프로토콜 상에서의 미디어의 분배를 용이하게 하는 방식으로 조절될 가능성이 있다. 이러한 "스트리밍가능한(streamable)" 미디어는 클라이언트 디바이스(108)로 스트리밍되는 미디어로서, 네트워크 접속(105)을 통해 스트리밍되는 것으로 도시되어 있다. 클라이언트 디바이스(108)는 106으로서 도시된 일부 렌더링 능력을 액세스할 수 있다. 이러한 렌더 능력(106)은 클라이언트 디바이스(108) 및, 클라이언트 디바이스 상에서 동작하고 있는 게임 엔진의 유형에 따라, 기본적일 수 있거나, 마찬가지로 정교할 수 있다. 렌더 프로세스(106)는 제3 포맷 사양, 예컨대, 포맷 C에 따라 표현될 수 있거나 그렇지 않을 수 있는 프레젠테이션 미디어를 생성한다. 일부 예에서, 게임 엔진을 채용하는 클라이언트 디바이스에서는, 렌더 프로세서(106)가 전형적으로, 게임 엔진에 의해 제공되는 기능이다.
도 2를 참조하면, 미디어 변환 판단 결정 프로세스(200)는 네트워크가 미디어를 클라이언트 디바이스로 분배하기 이전에 미디어를 변환할 필요가 있는지를 결정하기 위하여 채용될 수 있다. 도 2에서, 포맷 A로 표현되는 수집된 미디어(201)는 컨텐츠 제공자(도시되지 않음)에 의해 네트워크에 제공된다. 프로세스 단계(202)는 타깃화된 클라이언트(도시되지 않음)의 프로세싱 능력을 설명하는 속성을 취득한다. 판단 결정 프로세스 단계(203)는 네트워크 또는 클라이언트가 미디어가 클라이언트로 스트리밍되기 이전에, 예컨대, 포맷 A로부터 포맷 B로의 특정한 미디어 객체의 컨버전과 같은, 수집된 미디어(201) 내에 포함되는 미디어 자산 중의 임의의 미디어 자산에 대한 임의의 포맷 컨버전을 수행해야 하는지를 결정하기 위하여 채용된다. 미디어 자산 중의 임의의 미디어 자산이 네트워크에 의해 변환될 필요가 있는 경우에, 네트워크는 미디어 객체를 포맷 A로부터 포맷 B로 변환하기 위하여 프로세스 단계(204)를 채용한다. 변환된 미디어(205)는 프로세스 단계(204)로부터의 출력이다. 변환된 미디어는 게임 엔진 클라이언트(도시되지 않음)로 스트리밍되도록 미디어를 준비하기 위하여 준비 프로세스(206) 내로 통합된다. 프로세스 단계(207)는 준비된 미디어를, 예를 들어, 게임 엔진 클라이언트로 스트리밍한다.
도 3은 예에서 시간 지정되는 이종적 몰입형 미디어에 대한 스트리밍가능한 포맷(300)의 표현을 도시하고; 도 4는 예에서 시간 비지정되는 이종적 몰입형 미디어에 대한 스트리밍가능한 포맷(400)의 표현을 도시한다. 도 3의 경우에, 도 3은 시간 지정된 미디어에 대한 장면(301)을 지칭한다. 도 4의 경우에, 도 4는 시간 비지정된 미디어에 대한 장면(401)을 지칭한다. 두 경우에 대하여, 장면은 다양한 장면 표현 또는 장면 설명에 의해 구체화될 수 있다.
예를 들어, 일부 몰입형 미디어 설계에서, 장면은 장면 그래프에 의해, 또는 멀티-평면 이미지(MPI : multi-plane image)로서, 또는 멀티-구형 이미지(MSI : multi-spherical image)로서 구체화될 수 있다. MPI 및 MSI 기법의 둘 모두는, 자연 컨텐츠, 즉, 하나 이상의 카메라로부터 동시에 캡처되는 실세계의 이미지에 대한 디스플레이-무관한(display-agnostic) 장면 표현의 생성을 보조하는 기술의 예이다. 다른 한편으로, 장면 그래프 기술은 합성 표현의 형태로 자연 및 컴퓨터-생성된 화상의 둘 모두를 표현하기 위하여 채용될 수 있지만, 그러나, 이러한 표현은 특히, 컨텐츠가 하나 이상의 카메라에 의해 자연 장면으로서 캡처되는 경우에 대하여 생성하기에 연산-집약적이다. 즉, 자연적으로-캡처된 컨텐츠의 장면 그래프 표현은 생성하기에 시간 및 연산-집약적이어서, 타깃 몰입형 클라이언트 디스플레이의 관측 절두체(viewing frustum)를 채우기 위한 충분하고 적당한 수의 뷰를 보간하기 위하여 추후에 이용될 수 있는 합성 표현을 생성하기 위하여, 사진측량(photogrammetry) 또는 심층 학습(deep learning) 또는 둘 모두의 기법에 의한 자연 이미지의 복잡한 분석을 요구한다. 그 결과, 이러한 합성 표현은 자연 컨텐츠를 표현하기 위한 후보로서 고려하기에 현재 비현실적인데, 그 이유는 이들이 실시간 분배를 요구하는 이용 케이스를 고려하여 실시간으로 실제적으로 생성될 수 없기 때문이다. 일부 예에서, 컴퓨터 생성된 화상은 3D 모델링 프로세스 및 도구를 이용하여 생성되므로, 컴퓨터 생성된 화상에 대한 최상의 후보 표현은 합성 모델을 갖는 장면 그래프의 이용을 채용하기 위한 것이다.
자연 및 컴퓨터 생성된 컨텐츠의 둘 모두의 최적의 표현에서의 이러한 이분법(dichotomy)은, 자연적으로-캡처된 컨텐츠에 대한 최적의 수집 포맷이 컴퓨터 생성된 컨텐츠에 대한, 또는 실시간 분배 애플리케이션에 대하여 필수적이지 않은 자연 컨텐츠에 대한 최적의 수집 포맷과는 상이한 것을 제안한다. 그러므로, 개시된 발명 요지는 시각적 몰입형 미디어에 대한 다수의 수집 포맷이 물리적 카메라의 이용을 통해 또는 컴퓨터에 의해 자연적으로 생성되든지 간에, 시각적 몰입형 미디어에 대한 다수의 수집 포맷을 지원하기에 충분히 강인한 것을 목표로 한다.
다음은 컴퓨터 생성된 기법을 이용하여 생성되는 시각적 몰입형 미디어, 또는 심층 학습 또는 사진측량 기법이 즉, 실시간 분배 애플리케이션에 대하여 필수적이지 않은 자연 장면의 대응하는 합성 표현을 생성하기 위하여 채용되는 자연적으로 캡처된 컨텐츠를 표현하기에 적당한 포맷으로서 장면 그래프를 구체화하는 예시적인 기술이다.
1. OTOY에 의한 ORBX®
OTOY에 의한 ORBX는, 광선-추적가능, 레거시(프레임-기반), 체적계측(volumetric), 및 다른 유형의 합성 또는 벡터-기반 시각적 포맷을 포함하는, 시간 지정된 또는 시간 비지정된 임의의 유형의 시각적 미디어를 지원할 수 있는 몇몇 장면 그래프 기술 중의 하나이다. 측면에 따르면, ORBX는 메시, 포인트 클라우드, 및 텍스처에 대한 무료로 이용가능한 및/또는 오픈 소스(open source) 포맷에 대한 네이티브 지원(native support)을 제공하므로, ORBX는 다른 장면 그래프와는 다르다. ORBX는 장면 그래프 상에서 동작하는 다수의 벡터 기술에 걸친 교환을 용이하는 목적으로 의도적으로 설계된 장면 그래프이다. 또한, ORBX는 풍부한 재료 시스템, 오픈 셰이더 언어(open shader language)에 대한 지원, 강인한 카메라 시스템, 및 루아 스크립트(Lua script)에 대한 지원을 제공한다. ORBX는 또한, 몰입형 디지털 경험 동맹(IDEA : immersive digital experiences alliance)에 의해 로열티 없는 조건(royalty-free terms) 하의 허가를 위하여 발표된 몰입형 기술 미디어 포맷의 기초이다. 미디어의 실시간 분배의 맥락에서, 자연 장면의 ORBX 표현을 생성하고 분배하기 위한 능력은 카메라-캡처된 데이터의 복잡한 분석 및 합성 표현으로의 동일한 데이터의 합성을 수행하기 위한 연산 자원의 이용가능성의 기능이다. 지금까지, 실시간 분배를 위한 충분한 연산의 이용가능성은 실현가능하지 않지만, 그럼에도 불구하고, 불가능하지도 않다.
2. Pixar에 의한 유니버셜 장면 설명(universal scene description)
Pixar에 의한 유니버셜 장면 설명(USD : universal scene description)은 시각적 효과(VFX : visual effect) 및 전문적 컨텐츠 제작 커뮤니티에서 이용될 수 있는 또 다른 장면 그래프이다. USD는 Nvidia의 GPU에 의한 3D 모델 생성 및 렌더링을 위한 개발자를 위한 도구의 세트인 Nvidia의 Omniverse 플랫폼으로 통합된다. USD의 서브세트는 Apple 및 Pixar에 의해 USDZ으로서 발표되었다. USDZ은 Apple의 ARKit에 의해 지원된다.
3. Khronos에 의한 glTF2.0
glTF2.0은 Khronos 3D Group에 의해 작성된 그래픽 언어 송신 포맷 사양의 가장 최근 버전이다. 이 포맷은 "png" 및 "jpeg" 이미지 포맷을 포함하는, 장면 내의 정적(시간 비지정된) 객체를 일반적으로 지원할 수 있는 간단한 장면 그래프 포맷을 지원한다. glTF2.0은 즉, 기하학적 객체에 대하여, glTF 프리미티브(primitive)를 이용하여 설명되는 기본적인 형상의 변환(translate), 회전(rotate), 및 스케일(scale)에 대한 지원을 포함하는 간단한 애니메이션을 지원한다. glTF2.0은 시간 지정된 미디어를 지원하지 않고, 이 때문에, 비디오 뿐만 아니라 오디오도 지원하지 않는다.
4. ISO/IEC 23090 파트 14 장면 설명은 시간 지정된 미디어, 예컨대, 비디오 및 오디오에 대한 지원을 추가하는 glTF2.0의 확장이다.
몰입형 시각적 미디어의 위의 장면 표현은 단지 예를 들어 제공되고, 입력 몰입형 미디어 소스를, 클라이언트 엔드-포인트 디바이스의 구체적인 특성에 적당한 포맷으로 적응시키기 위한 프로세스를 특정하기 위한 그 능력에 있어서 개시된 발명 요지를 제한하지 않는다는 것이 주목된다.
또한, 위의 예시적인 미디어 표현 중의 임의의 미디어 표현 또는 전부는 절두체의 구체적인 치수에 기초하여 특정한 디스플레이의 관측 절두체를 채우기 위하여 구체적인 뷰의 선택을 가능하게 하거나 용이하게 하는 신경망 모델을 훈련시키고 생성하기 위한 심층 학습(deep learning) 기법을 현재 채용하고 있거나 채용할 수 있다. 특정한 디스플레이의 관측 절두체에 대하여 선택되는 뷰는 장면 표현에서 명시적으로 제공되는 현존하는 뷰로부터, 예컨대, MSI 또는 MPI 기법으로부터 보간될 수 있거나, 이러한 뷰는 이 렌더 엔진에 대한 가상적 카메라의 구체적인 가상적 카메라 위치, 필터, 또는 설명에 기초하여 렌더 엔진으로부터 직접적으로 렌더링될 수 있다.
그러므로, 개시된 발명 요지는, (예컨대, 하나 이상의 카메라로) 자연적으로 캡처되거나 컴퓨터 생성된 기법을 이용하여 생성되는 미디어의 실시간 또는 "주문형(on-demand)"(예컨대, 비실시간) 분배의 둘 모두를 위한 요건을 충분히 만족시킬 수 있는 몰입형 미디어 수집 포맷의 상대적으로 작지만 널리 알려진 세트가 있다는 것을 고려하기에 충분히 강인하다.
신경망 모델 또는 네트워크-기반 렌더 엔진의 어느 하나의 이용에 의한 몰입형 미디어 수집 포맷으로부터의 뷰의 보간은 또한, 모바일 네트워크를 위한 5G와 같은 진보된 네트워크 기술로서 용이하게 되고, 고정된 네트워크를 위한 광섬유 케이블이 전개된다. 즉, 이 진보된 네트워크 기술은 상업적 네트워크의 용량 및 용량들을 증가시키는데, 그 이유는 이러한 진보된 네트워크 기반구조가 점점 더 큰 양의 시각적 정보의 전송 및 전달을 지원할 수 있기 때문이다. 멀티-액세스 에지 컴퓨팅(MEC : multi-access edge computing), 소프트웨어 정의된 네트워크(SDN : software defined network), 및 네트워크 기능 가상화(NFV : network functions virtualization)와 같은 네트워크 기반구조 관리 기술은 상업적 네트워크 서비스 제공자가 어떤 네트워크 자원에 대한 수요에 있어서의 변경에 적응시키기 위하여, 예컨대, 네트워크 스루풋(network throughput), 네트워크 속력(network speed), 왕복 레이턴시(roundtrip latency), 및 연산 자원에 대한 수요에 있어서의 동적 증가 또는 감소에 응답하기 위하여 그 네트워크 기반구조를 유연하게 구성하는 것을 가능하게 한다. 또한, 동적 네트워크 요건에 적응시키기 위한 이 내재적인 능력은 마찬가지로, 이종적 클라이언트 엔드-포인트에 대한 잠재적으로 이종적 시각적 미디어 포맷을 갖는 다양한 몰입형 미디어 애플리케이션을 지원하기 위하여 몰입형 미디어 수집 포맷을 적당한 분배 포맷으로 적응시키기 위한 네트워크의 능력을 용이하게 한다.
게임의 상태에서 실시간 업데이트에 응답하기 위하여 상당히 더 낮은 네트워크 레이턴시를 요구하는 게이밍 애플리케이션(gaming application), 네트워크의 업링크 및 다운링크 부분의 둘 모두에 대한 대칭적 스루풋 요건을 가지는 텔레프레즌스 애플리케이션(telepresence application), 및 데이터를 소비하고 있는 클라이언트 엔드-포인트 디스플레이의 유형에 따라 다운링크 자원에 대한 증가된 수요를 가질 수 있는 수동 관측 애플리케이션(passive viewing application)을 포함하는 몰입형 미디어 애플리케이션 자체는 또한, 네트워크 자원에 대한 변동되는 요건을 가질 수 있다. 일반적으로, 임의의 소비자향(consumer-facing) 애플리케이션은 저장, 연산, 및 전력에 대한 다양한 온보드-클라이언트(onboard-client) 능력, 및 특정한 미디어 표현에 대한 마찬가지로 다양한 요건을 갖는 다양한 클라이언트 엔드-포인트에 의해 지원될 수 있다.
그러므로, 개시된 발명 요지는 충분하게 구비된 네트워크, 즉, 그 네트워크 내에서 특정되는 특징에 따라 복수의 레거시 및 몰입형 미디어-가능 디바이스를 동시에 지원하기 위하여, 최신 네트워크의 특성 중의 일부 또는 전부를 채용하는 네트워크를 가능하게 한다:
1. 미디어의 분배를 위한 실시간 및 주문형 이용 케이스의 둘 모두에 대하여 실용적인 미디어 수집 포맷을 활용하기 위한 유연성을 제공함.
2. 레거시 및 몰입형-미디어 가능 클라이언트 엔드-포인트의 둘 모두에 대한 자연 및 컴퓨터 생성된 컨텐츠의 둘 모두를 지원하기 위한 유연성을 제공함.
3. 시간 지정된 및 시간 비지정된 미디어의 둘 모두를 지원함.
4. 클라이언트 엔드-포인트의 특징 및 능력에 기초하는 것 뿐만 아니라, 애플리케이션의 요건에 기초하여 소스 미디어 수집 포맷을 적당한 분배 포맷으로 동적으로 적응시키기 위한 프로세스를 제공함.
5. 분배 포맷이 IP-기반 네트워크 상에서 스트리밍가능한 것을 보장함.
6. 네트워크가 레거시 및 몰입형 미디어-가능 디바이스 및 애플리케이션의 둘 모두를 포함할 수 있는 복수의 이종적 클라이언트 엔드-포인트를 동시에 서빙하는 것을 가능하게 함.
7. 장면 경계를 따라 분배 미디어의 편성을 용이하게 하는 예시적인 미디어 표현 프레임워크를 제공함.
개시된 발명 요지에 의해 가능하게 되는 개선의 엔드-투-엔드 실시예는 다음의 상세한 설명에서 설명되는 프로세싱 및 컴포넌트에 따라 달성된다.
도 3 및 도 4는 구체적인 클라이언트 엔드-포인트의 능력을 정합하기 위하여 수집 소스 포맷으로부터 적응될 수 있는 예시적인 포괄하는 분배 포맷을 각각 채용한다. 위에서 설명된 바와 같이, 도 3에서 도시되는 미디어는 시간 지정되고, 도 4에서 도시되는 미디어는 시간 비지정된다. 구체적인 포괄하는 포맷은 각각의 계층이 미디어의 프레젠테이션에 기여하는 핵심적인 정보의 양에 기초하여 각각 계층화될 수 있는 매우 다양한 미디어 속성을 수용하기에 그 구조에 있어서 충분히 강인하다. 계층화 프로세스는 예를 들어, (예컨대, ISO/IEC 14496-10 확장가능한 진보된 비디오 코딩에서 특정되는) 점진적 JPEG 및 확장가능한 비디오 아키텍처에서 적용될 수 있다는 것이 주목된다.
측면에 따르면, 포괄하는 미디어 포맷에 따라 스트리밍되는 미디어는 레거시 시각적 및 오디오 미디어로 제한되는 것이 아니라, 시각, 사운드, 터치, 및 냄새에 대한 인간 감각을 자극하기 위하여 머신과 상호작용하는 신호를 생성할 수 있는 임의의 유형의 미디어 정보를 포함할 수 있다.
또 다른 측면에 따르면, 포괄하는 미디어 포맷에 따라 스트리밍되는 미디어는 시간 지정된 또는 시각 비지정된 미디어의 둘 모두일 수 있거나, 이 둘의 혼합일 수 있다.
또 다른 측면에 따르면, 포괄하는 미디어 포맷은 기본 계층 및 강화 계층 아키텍처의 이용에 의해 미디어 객체에 대한 계층화된 표현을 가능하게 함으로써 또한 스트리밍가능하다. 하나의 예에서, 별도의 기본 계층 및 강화 계층은 각각의 장면 내의 미디어 객체에 대한 멀티-해상도(multi-resolution) 또는 멀티-테셀레이션(multi-tesselation) 분석 기법의 적용에 의해 연산된다. 이것은 ISO/IEC 10918-1(JPEG), 및 ISO/IEC 15444-1(JPEG2000)에서 특정되는 점진적으로 렌더링된 이미지 포맷과 유사하지만, 래스터-기반 시각적 포맷으로 제한되지 않는다. 예에서, 기하학적 객체에 대한 점진적 표현은 웨이블렛 분석(wavelet analysis)을 이용하여 연산되는 객체의 멀티-해상도 표현일 수 있다.
미디어 포맷의 계층화된 표현의 또 다른 예에서, 기본 계층에 의해 표현되는 시각적 객체의 표면의 재료 성질을 정제하는 것과 같이, 강화 계층은 상이한 속성을 기본 계층에 적용한다. 또 다른 예에서, 표면을 평활한(smooth) 것으로부터 다공성 텍스처로, 또는 헝클어진 표면으로부터 윤기 있는 표면으로 변경하는 것과 같이, 속성은 기본 계층 객체의 표면의 텍스처를 정제할 수 있다.
계층화된 표현의 또 다른 예에서, 장면 내의 하나 이상의 시각적 객체의 표면은 램버시안(Lambertian)으로부터 광선-추적가능한 것으로 변경될 수 있다.
계층화된 표현의 또 다른 예에서, 네트워크는 기본-계층 표현을 클라이언트로 분배하여, 이로써 클라이언트는 장면의 명목적인 프레젠테이션을 생성할 수 있는 반면, 클라이언트는 기본 표현의 해상도 또는 다른 특성을 정제하기 위하여 추가적인 강화 계층의 송신을 대기한다.
또 다른 측면에 따르면, 강화 계층 내의 속성 또는 정제 정보의 해상도는, 오늘 날의 현존하는 MPEG 비디오 및 JPEG 이미지 표준에서와 같이, 기본 계층 내의 객체의 해상도와 명시적으로 결합되지 않는다.
또 다른 측면에 따르면, 포괄하는 미디어 포맷은 프레젠테이션 디바이스 또는 머신에 의해 프레젠트되거나 작동될 수 있는 임의의 유형의 정보 미디어를 지원하여, 이에 의해, 이종적 클라이언트 엔드-포인트에 대한 이종적 미디어 포맷의 지원을 가능하게 할 수 있다. 미디어 포맷을 분배하는 네트워크의 하나의 실시예에서, 네트워크는 먼저, 클라이언트의 능력을 결정하기 위하여 클라이언트 엔드-포인트에 질의할 것이고, 클라이언트가 미디어 표현을 의미 있게 수집할 수 없는 경우에, 네트워크는 클라이언트에 의해 지원되지 않는 속성의 계층을 제거하거나, 미디어를 그 현재의 포맷으로부터, 클라이언트 엔드-포인트를 위하여 적당한 포맷으로 적응시킬 수 있다. 이러한 적응의 하나의 예에서, 네트워크는 네트워크-기반 미디어 프로세싱 프로토콜의 이용에 의해, 체적계측 시각적 미디어 자산을 동일한 시각적 자산의 2D 표현으로 컨버팅할 것이다. 이러한 적응의 또 다른 예에서, 네트워크는 미디어를 적절한 포맷으로 재포맷하거나 클라이언트 엔드-포인트가 필요로 하는 뷰를 임의적으로 합성하기 위하여 신경망 프로세스를 채용할 수 있다.
또 다른 측면에 따르면, 완전한 또는 부분적으로 완전한 몰입형 경험(라이브 스트리밍 이벤트, 게임, 또는 주문형 자산의 재생)에 대한 매니페스트는, 렌더링 및 게임 엔진이 프레젠테이션을 생성하기 위하여 현재 수집할 수 있는 최소량의 정보인 장면에 의해 편성된다. 매니페스트는 클라이언트에 의해 요청되는 몰입형 경험의 전체에 대하여 렌더링되어야 하는 개별적인 장면의 리스트를 포함한다. 각각의 장면과 연관되는 것은, 장면 기하구조의 스트리밍가능한 버전에 대응하는 장면 내의 기하학적 객체의 하나 이상의 표현이다. 장면 표현의 하나의 실시예는 장면에 대한 기하학적 객체의 저해상도 버전을 지칭한다. 동일한 장면의 또 다른 실시예는 동일한 장면의 기하학적 객체에 대해 추가적인 세부사항을 추가하거나 테셀레이션을 증가시키기 위한 장면의 저해상도 표현에 대한 강화 계층을 지칭한다. 위에서 설명된 바와 같이, 각각의 장면은 장면의 기하학적 객체의 세부사항을 점진적인 방식으로 증가시키기 위하여 하나 초과의 강화 계층을 가질 수 있다.
또 다른 측면에 따르면, 장면 내에서 참조되는 미디어 객체의 각각의 계층은, 자원이 네트워크 내에서 액세스될 수 있는 어드레스를 가리키는 토큰(token)(예컨대, URI)과 연관된다. 이러한 자원은 컨텐츠가 클라이언트에 의해 페치(fetch)될 수 있는 CDN과 유사하다.
또 다른 측면에 따르면, 기하학적 객체의 표현에 대한 토큰은 네트워크 내의 위치 또는 클라이언트 내의 위치를 가리킬 수 있다. 즉, 클라이언트는 그 자원이 네트워크-기반 미디어 프로세싱을 위하여 네트워크에 의해 이용가능하다는 것을 네트워크로 시그널링할 수 있다.
도 3은 일부 예에서 시간 지정된 미디어 표현(300)을 도시한다. 시간 지정된 미디어 표현(300)은 시간 지정된 미디어에 대한 포괄하는 미디어 포맷의 예를 설명한다. 시간 지정된 장면 매니페스트(300A)는 장면 정보(301)의 리스트를 포함한다. 장면 정보(301)는 장면 정보(301) 내에 있는 미디어 자산의 프로세싱 정보 및 유형을 별도로 설명하는 컴포넌트(302)의 리스트를 지칭한다. 컴포넌트(302)는 기본 계층(304) 및 속성 강화 계층(305)을 또한 지칭하는 자산(303)을 지칭한다. 도 3의 예에서, 기본 계층(304) 각각은 자산이 프레젠테이션 내의 장면의 세트에 걸쳐 이용되는 횟수를 지시하는 수치 빈도 메트릭(numeric frequency metric)을 지칭한다. 다른 장면에서 이전에 이용되지 않은 고유 자산(unique asset)의 리스트는 307에서 제공된다. 프록시 시각적 자산(306)은 재이용된 시각적 자산의 고유 식별자와 같은, 재이용된 시각적 자산의 정보를 포함하고, 프록시 오디오 자산(308)은 재이용된 오디오 자산의 고유 식별자와 같은, 재이용된 오디오 자산의 정보를 포함한다.
도 4는 일부 예에서 시간 비지정된 미디어 표현(400)을 도시한다. 시간 비지정된 미디어 표현(400)은 시간 비지정된 미디어에 대한 포괄하는 미디어 포맷의 예를 설명한다. 시간 비지정된 장면 매니페스트(도시되지 않음)는 장면 1.0으로 분기할 수 있는 다른 장면이 없는 장면 1.0을 참조한다. 장면 정보(401)는 클록에 따른 시작 및 종료 기간과 연관되지 않는다. 장면 정보(401)는 장면을 포함하는 미디어 자산의 프로세싱 정보 및 유형을 별도로 설명하는 컴포넌트(402)의 리스트를 지칭한다. 컴포넌트(402)는 기본 계층(404) 및 속성 강화 계층(405 및 406)을 또한 지칭하는 자산(403)을 지칭한다. 도 4의 예에서, 기본 계층(404) 각각은 자산이 프레젠테이션 내의 장면의 세트에 걸쳐 이용되는 횟수를 지시하는 수치 빈도 값을 지칭한다. 게다가, 장면 정보(401)는 시간 비지정된 미디어에 대한 것인 다른 장면 정보(401)를 지칭할 수 있다. 장면 정보(401)는 또한, 시간 지정된 미디어 장면에 대한 것인 장면 정보(407)를 지칭할 수 있다. 리스트(408)는 더 높은 순서(예컨대, 부모) 장면에서 이전에 이용되지 않은 특정한 장면과 연관되는 고유 자산을 식별한다.
도 5는 자연 컨텐츠로부터 수집 포맷을 합성하기 위한 프로세스(500)의 도면을 도시한다. 프로세스(500)는 컨텐츠 캡처를 위한 제1 서브-프로세스, 및 자연 이미지에 대한 수집 포맷 합성의 제2 서브-프로세스를 포함한다.
도 5의 예에서, 제1 서브-프로세스에서는, 카메라 유닛이 자연 이미지 컨텐츠(509)를 캡처하기 위하여 이용될 수 있다. 예를 들어, 카메라 유닛(501)은 사람의 장면을 캡처하기 위하여 단일 카메라 렌즈를 이용할 수 있다. 카메라 유닛(502)은 링-형상 객체 주위에 5개의 카메라 렌즈를 장착함으로써 뷰(view)의 5개의 발산 시야(diverging field)를 갖는 장면을 캡처할 수 있다. 카메라 유닛(502) 내의 배열은 VR 애플리케이션에 대한 전방향 컨텐츠(omnidirectional content)를 캡처하기 위한 예시적인 배열이다. 카메라 유닛(503)은 구체(sphere)의 내부 직경 부분 상에 7개의 카메라 렌즈를 장착함으로써 뷰의 7개의 수렴 시야(converging field)를 갖는 장면을 캡처한다. 카메라 유닛(503) 내의 배열은 명시야(light field) 또는 홀로그래픽 몰입형 디스플레이에 대한 명시야를 캡처하기 위한 예시적인 배열이다.
도 5의 예에서, 제2 서브-프로세스에서는, 자연 이미지 컨텐츠(509)가 합성된다. 예를 들어, 자연 이미지 컨텐츠(509)는, 예에서, 캡처 신경망 모델(508)을 생성하기 위하여 훈련 이미지(506)의 집합을 이용하는 신경망 훈련 모듈(505)을 채용할 수 있는 합성 모듈(504)에 대한 입력으로서 제공된다. 훈련 프로세스 대신에 보편적으로 이용되는 또 다른 프로세스는 사진측량이다. 모델(508)이 도 5에서 도시된 프로세스(500) 동안에 생성되는 경우에, 모델(508)은 자연 컨텐츠에 대한 수집 포맷(507)인 자산 중의 하나가 된다. 일부 예에서, 주석부기 프로세스(511)는 IMS 메타데이터로 장면-기반 미디어에 주석부기하기 위하여 임의적으로 수행될 수 있다. 수집 포맷(507)의 예시적인 실시예는 MPI 및 MSI를 포함한다.
도 6은 합성 미디어(608), 예컨대, 컴퓨터-생성된 화상에 대한 수집 포맷을 생성하기 위한 프로세스(600)의 도면을 도시한다. 도 6의 예에서, LIDAR 카메라(601)는 장면의 포인트 클라우드(602)를 캡처한다. 컴퓨터-생성된 화상(CGI : computer-generated imagery) 도구, 3D 모델링 도구, 또는 합성 컨텐츠를 생성하기 위한 또 다른 애니메이션 프로세스는 네트워크 상에서 604개의 CGI 자산을 생성하기 위하여 컴퓨터(603) 상에서 채용된다. 센서(605A)를 갖는 모션 캡처 슈트(motion capture suit)는 배우(605)에 대한 모션의 디지털 기록을 캡처하여 애니메이팅된 모션 캡처(MoCap : animated motion capture) 데이터(606)를 생성하기 위하여 배우(605)에게 착용된다. 데이터(602, 604, 및 606)는, 마찬가지로, 예를 들어, 신경망 모델(도 6에서 도시되지 않음)을 생성하기 위하여 신경망 및 훈련 데이터를 이용할 수 있는 합성 모듈(607)에 대한 입력으로서 제공된다. 일부 예에서, 합성 모듈(607)은 수집 포맷의 합성 미디어(608)를 출력한다. 그 다음으로, 수집 포맷의 합성 미디어(6608)는, 출력이 수집 포맷의 IMS-주석부기된 합성 미디어(610)인 임의의 IMS 주석부기 프로세스(609)로 입력될 수 있다.
본 개시내용에서 이종적 몰입형 미디어를 표현하고, 스트리밍하고, 프로세싱하기 위한 기법은, 컴퓨터-판독가능 명령을 이용하고 하나 이상의 컴퓨터-판독가능 매체 내에 물리적으로 저장되는 컴퓨터 소프트웨어로서 구현될 수 있다. 예를 들어, 도 7은 개시된 발명 요지의 어떤 실시예를 구현하기 위하여 적당한 컴퓨터 시스템(700)을 도시한다.
컴퓨터 소프트웨어는, 하나 이상의 컴퓨터 중앙 프로세싱 유닛(CPU : central processing unit), 그래픽 프로세싱 유닛(GPU : Graphics Processing Unit) 등에 의해 직접적으로, 또는 해독, 마이크로-코드 실행 등을 통해 실행될 수 있는 명령을 포함하는 코드를 생성하기 위하여 어셈블리(assembly), 컴파일링(compilation), 링크(linking) 등의 대상이 될 수 있는 임의의 적당한 머신 코드 또는 컴퓨터 언어를 이용하여 코딩될 수 있다.
명령은 예를 들어, 개인용 컴퓨터, 태블릿 컴퓨터, 서버, 스마트폰, 게이밍 디바이스, 사물 인터넷 디바이스 등을 포함하는 다양한 유형의 컴퓨터 또는 그 컴포넌트 상에서 실행될 수 있다.
컴퓨터 시스템(700)에 대하여 도 7에서 도시되는 컴포넌트는 본질적으로 예시적이고, 본 개시내용의 실시예를 구현하는 컴퓨터 소프트웨어의 이용 또는 기능성의 범위에 대한 임의의 제한을 제안하도록 의도되지는 않는다. 컴포넌트의 구성은 컴퓨터 시스템(700)의 예시적인 실시예에서 예시되는 컴포넌트의 임의의 하나 또는 조합에 관련되는 임의의 종속성 또는 요건을 가지는 것으로서 해독되지 않아야 한다.
컴퓨터 시스템(700)은 어떤 인간 인터페이스 입력 디바이스를 포함할 수 있다. 이러한 인간 인터페이스 입력 디바이스는 예를 들어, (키스트로크(keystroke), 스와이프(swipe), 데이터 글러브(data glove) 이동과 같은) 촉각적 입력, (보이스, 클랩핑(clapping)과 같은) 오디오 입력, (제스처(gesture)와 같은) 시각적 입력, 후각적 입력(도시되지 않음)을 통한 하나 이상의 인간 사용자에 의한 입력에 응답할 수 있다. 인간 인터페이스 디바이스는 또한, (음성, 음악, 주변 사운드와 같은) 오디오, (스캐닝된 이미지, 스틸 이미지 카메라로부터 획득된 사진 이미지와 같은) 이미지, (2 차원 비디오, 입체적 비디오를 포함하는 3 차원 비디오와 같은) 비디오와 같은, 인간에 의한 지각적 입력에 반드시 직접적으로 관련되지 않은 어떤 미디어를 캡처하기 위하여 이용될 수 있다.
입력 인간 인터페이스 디바이스는 키보드(701), 마우스(702), 트랙패드(703), 터치 스크린(710), 데이터-글러브(도시되지 않음), 조이스틱(705), 마이크로폰(706), 스캐너(707), 카메라(708) 중의 하나 이상(각각의 도시된 것의 오직 하나)을 포함할 수 있다.
컴퓨터 시스템(700)은 또한, 어떤 인간 인터페이스 출력 디바이스를 포함할 수 있다. 이러한 인간 인터페이스 출력 디바이스는 예를 들어, 촉각적 출력, 사운드, 광, 및 냄새/맛을 통해 하나 이상의 인간 사용자의 감각을 자극하는 것일 수 있다. 이러한 인간 인터페이스 출력 디바이스는 촉각적 출력 디바이스(예를 들어, 터치-스크린(710), 데이터-글로브(도시되지 않음), 또는 조이스틱(705)에 의한 촉각적 피드백이지만, 입력 디바이스로서 역할을 하지 않는 촉각적 피드백 디바이스가 또한 있을 수 있음), (스피커(709), 헤드폰(도시되지 않음)과 같은) 오디오 출력 디바이스, (각각이 터치-스크린 입력 능력을 갖거나 갖지 않고, 각각이 촉각적 피드백 능력을 갖거나 갖지 않고, 그 일부는 입체적 출력, 가상 현실 안경(도시되지 않음), 홀로그래픽 디스플레이, 및 연기 탱크(smoke tank)(도시되지 않음)와 같은 수단을 통해 2 차원 시각적 출력 또는 3 차원 초과 출력을 출력하는 것이 가능할 수 있는, CRT 스크린, LCD 스크린, 플라즈마 스크린, OLED 스크린을 포함하기 위한 스크린(710)과 같은) 시각적 출력 디바이스, 및 프린터(도시되지 않음)를 포함할 수 있다.
컴퓨터 시스템(700)은 또한, CD/DVD 또는 유사한 매체(721)를 갖는 CD/DVD ROM/RW(720)를 포함하는 광학 매체, 썸-드라이브(thumb-drive)(722), 분리가능 하드 드라이브 또는 솔리드 스테이트 드라이브(723), 테이프 및 플로피 디스크(도시되지 않음)와 같은 레거시 자기 매체, 보안 동글(security dongle)(도시되지 않음)과 같은 특화된 ROM/ASIC/PLD 기반 디바이스 등과 같은 인간 액세스가능한 저장 디바이스 및 그 연관된 매체를 포함할 수 있다.
본 기술분야에서의 통상의 기술자는 또한, 현재 개시된 발명 요지와 관련하여 이용된 바와 같은 용어 "컴퓨터 판독가능 매체"가 송신 매체, 반송파, 또는 다른 일시적 신호를 망라하지 않는다는 것을 이해해야 한다.
컴퓨터 시스템(700)은 또한, 하나 이상의 통신 네트워크(755)에 대한 인터페이스(754)를 포함할 수 있다. 네트워크는 예를 들어, 무선, 유선, 광학일 수 있다. 네트워크는 추가로, 로컬, 광역, 대도시, 차량 및 산업, 실시간, 내지연성(delay-tolerant) 등일 수 있다. 네트워크의 예는 이더넷(Ethernet), 무선 LAN, GSM, 3G, 4G, 5G, LTE 등을 포함하기 위한 셀룰러 네트워크, 케이블 TV, 위성 TV, 및 지상 방송 TV를 포함하기 위한 TV 유선 또는 무선 광역 디지털 네트워크, CANBus를 포함하기 위한 차량 및 산업 등과 같은 로컬 영역 네트워크를 포함한다. 어떤 네트워크는 (예를 들어, 컴퓨터 시스템(700)의 USB 포트와 같은) 어떤 범용 데이터 포트 또는 주변 버스(749)에 연결된 외부 네트워크 인터페이스 어댑터를 통상적으로 요구하고; 다른 것은 통상적으로, 이하에서 설명된 바와 같은 시스템 버스로의 연결(예를 들어, PC 컴퓨터 시스템으로의 이더넷 인터페이스, 또는 스마트폰 컴퓨터 시스템으로의 셀룰러 네트워크 인터페이스)에 의해 컴퓨터 시스템(700)의 코어로 통합된다. 이 네트워크 중의 임의의 네트워크를 이용하면, 컴퓨터 시스템(700)은 다른 엔티티와 통신할 수 있다. 이러한 통신은 단방향성 수신 단독(예를 들어, 방송 TV), 단방향성 전송-단독(예를 들어, 어떤 CANbus 디바이스로의 CANbus), 또는 예를 들어, 로컬 또는 광역 디지털 네트워크를 이용하는 다른 컴퓨터 시스템으로의 양방향성일 수 있다. 어떤 프로토콜 및 프로토콜 스택(protocol stack)은 위에서 설명된 바와 같은 그 네트워크 및 네트워크 인터페이스의 각각 상에서 이용될 수 있다.
전술한 인간 인터페이스 디바이스, 인간-액세스가능한 저장 디바이스, 및 네트워크 인터페이스는 컴퓨터 시스템(700)의 코어(740)에 연결될 수 있다.
코어(740)는 하나 이상의 중앙 프로세싱 유닛(CPU : Central Processing Unit)(741), 그래픽 프로세싱 유닛(GPU : Graphics Processing Unit)(742), 필드 프로그래밍가능 게이트 어레이(FPGA : Field Programmable Gate Area)의 형태인 특화된 프로그래밍가능 프로세싱 유닛(743), 어떤 태스크를 위한 하드웨어 가속기(744), 그래픽 어댑터(750) 등을 포함할 수 있다. 이 디바이스는 판독-전용 메모리(ROM : Read-only memory)(745), 랜덤-액세스 메모리(Random-access memory)(746), 내부 비-사용자 액세스가능한 하드 드라이브와 같은 내부 대용량 스토리지, SSD 등(747)과 함께, 시스템 버스(748)를 통해 접속될 수 있다. 일부 컴퓨터 시스템에서, 시스템 버스(748)는 추가적인 CPU, GPU 등에 의한 확장을 가능하게 하기 위하여 하나 이상의 물리적 플러그(physical plug)의 형태로 액세스가능할 수 있다. 주변 디바이스는 직접적으로 코어의 시스템 버스(748)에, 또는 주변 버스(749)를 통해 연결될 수 있다. 예에서, 스크린(710)은 그래픽 어댑터(750)에 접속될 수 있다. 주변 버스를 위한 아키텍처는 PCI, USB 등을 포함한다.
CPU(741), GPU(742), FPGA(743), 및 가속기(744)는 전술한 컴퓨터 코드를 조합으로 구성할 수 있는 어떤 명령을 실행할 수 있다. 그 컴퓨터 코드는 ROM(745) 또는 RAM(746) 내에 저장될 수 있다. 과도적 데이터(transitional data)는 또한, RAM(746) 내에 저장될 수 있는 반면, 영구적 데이터(permanent data)는 예를 들어, 내부 대용량 스토리지(747) 내에 저장될 수 있다. 메모리 디바이스 중의 임의의 메모리 디바이스에 대한 고속 저장 및 인출은 하나 이상의 CPU(741), GPU(742), 대용량 스토리지(747), ROM(745), RAM(746) 등과 밀접하게 연관될 수 있는 캐시 메모리의 이용을 통해 가능하게 될 수 있다.
컴퓨터 판독가능 매체는 다양한 컴퓨터-구현된 동작을 수행하기 위하여 그 상에서 컴퓨터 코드를 가질 수 있다. 매체 및 컴퓨터 코드는 본 개시내용의 목적을 위하여 특수하게 설계되고 구성된 것일 수 있거나, 이들은 컴퓨터 소프트웨어 기술분야에서 통상의 기술자에게 널리 공지되고 이용가능한 종류일 수 있다.
제한이 아닌 예로서, 아키텍처(700) 및 구체적으로 코어(740)를 가지는 컴퓨터 시스템은 하나 이상의 유형의 컴퓨터-판독가능 매체에서 구체화된 소프트웨어를 실행하는 (CPU, GPU, FPGA, 가속기 등을 포함하는) 프로세서(들)의 결과로서의 기능성을 제공할 수 있다. 이러한 컴퓨터-판독가능 매체는 위에서 도입된 바와 같은 사용자-액세스가능한 대용량 스토리지 뿐만 아니라, 코어-내부 대용량 스토리지(747) 또는 ROM(745)과 같은, 비-일시적 본질인 코어(740)의 어떤 스토리지와 연관되는 매체일 수 있다. 본 개시내용의 다양한 실시예를 구현하는 소프트웨어는 이러한 디바이스 내에 저장될 수 있고 코어(740)에 의해 실행될 수 있다. 컴퓨터-판독가능 매체는 특정한 필요성에 따라, 하나 이상의 메모리 디바이스 또는 칩을 포함할 수 있다. 소프트웨어는 코어(740) 및 구체적으로, (CPU, GPU, FPGA 등을 포함하는) 그 안의 프로세서들로 하여금, RAM(746) 내에 저장된 데이터 구조를 정의하는 것, 및 소프트웨어에 의해 정의된 프로세스에 따라 이러한 데이터 구조를 수정하는 것을 포함하는, 본 명세서에서 설명되는 특정한 프로세스 또는 특정한 프로세스의 특정한 부분을 실행하게 할 수 있다. 추가적으로 또는 대안으로서, 컴퓨터 시스템은 본 명세서에서 설명되는 특정한 프로세스 또는 특정한 프로세스의 특정한 부분을 실행하기 위하여 소프트웨어 대신에 또는 소프트웨어와 함께 동작할 수 있는, 회로(예를 들어, 가속기(744))에서 와이어링되거나 또는 그렇지 않을 경우에 구체화된 로직의 결과로서의 기능성을 제공할 수 있다. 소프트웨어에 대한 참조는 로직을 망라할 수 있고, 적절할 경우에 그 반대도 마찬가지이다. 컴퓨터-판독가능 매체에 대한 참조는 실행을 위한 소프트웨어를 저장하는 (집적 회로(IC : integrated circuit)와 같은) 회로, 실행을 위한 로직을 구체화하는 회로, 또는 적절할 경우에 둘 모두를 망라할 수 있다. 본 개시내용은 하드웨어 및 소프트웨어의 임의의 적당한 조합을 망라한다.
도 8은 일부 예에서 다양한 레거시 및 이종적 몰입형-미디어 가능 디스플레이를 클라이언트 엔드-포인트로서 지원하는 네트워크 미디어 분배 시스템(800)을 도시한다. 도 8의 예에서, 컨텐츠 취득 모듈(801)은 도 6 또는 도 5에서의 예시적인 실시예를 이용하여 미디어를 캡처하거나 생성한다. 수집 포맷은 컨텐츠 준비 모듈(802)에서 생성되고, 그 다음으로, 송신 모듈(803)을 이용하여 네트워크 미디어 분배 시스템 내의 하나 이상의 클라이언트 엔드-포인트로 송신된다. 게이트웨이(804)는 네트워크를 위한 다양한 클라이언트 엔드-포인트에 대한 네트워크 액세스를 제공하기 위하여 고객 댁내 장비(customer premise equipment)를 서빙할 수 있다. 셋톱 박스(805)는 또한, 네트워크 서비스 제공자에 의한 집합된 컨텐츠에 대한 액세스를 제공하기 위하여 고객 댁내 장비로서 역할을 할 수 있다. 무선 복조기(806)는 (예컨대, 모바일 핸드셋 및 디스플레이(813)를 갖는 것과 같은) 모바일 디바이스를 위한 모바일 네트워크 액세스 포인트로서 역할을 할 수 있다. 하나 이상의 실시예에서, 레거시 2D 텔레비전(807)은 게이트웨이(804), 셋톱 박스(805), 또는 WiFi 라우터(808)에 직접적으로 접속될 수 있다. 레거시 2D 디스플레이(809)를 갖는 컴퓨터 랩톱은 WiFi 라우터(808)에 접속되는 클라이언트 엔드-포인트일 수 있다. 헤드 장착형 2D(래스터-기반) 디스플레이(810)는 또한, 라우터(808)에 접속될 수 있다. 렌티큘러 명시야 디스플레이(lenticular light field display)(811)는 게이트웨이(804)에 접속될 수 있다. 디스플레이(811)는 로컬 연산 GPU(811A), 저장 디바이스(811B), 및 광선-기반 렌티큘러 광학 기술을 이용하여 다수의 뷰(view)를 생성하는 시각적 프레젠테이션 유닛(811C)으로 구성될 수 있다. 홀로그래픽 디스플레이(812)는 셋톱 박스(805)에 접속될 수 있고, 로컬 연산 CPU(812A), GPU(812B), 저장 디바이스(812C), 및 프레스널 패턴(Fresnal pattern), 파동-기반 홀로그래픽 시각화 유닛(812D)을 포함할 수 있다. 증강 현실 헤드셋(814)은 무선 복조기(806)에 접속될 수 있고, GPU(814A), 저장 디바이스(814B), 배터리(814C), 및 체적계측 시각적 프레젠테이션 컴포넌트(814D)를 포함할 수 있다. 조밀한 명시야 디스플레이(815)는 WiFi 라우터(808)에 접속될 수 있고, 다수의 GPU(815A), CPU(815B), 및 저장 디바이스(815C); 시선 추적 디바이스(815D); 카메라(815E); 및 조밀한 광선-기반 명시야 패널(815F)을 포함할 수 있다.
도 9는 도 8에서 이전에 도시된 바와 같이 레거시 및 이종적 몰입형 미디어-가능 디스플레이를 서빙할 수 있는 몰입형 미디어 분배 모듈(800)의 도면을 도시한다. 컨텐츠는 모듈(901)에서 생성되거나 취득되고, 이것은 자연 및 CGI 컨텐츠에 대하여 각각 도 5 및 도 6에서 구체화된다. 그 다음으로, 컨텐츠는 네트워크 수집 포맷 생성 모듈(902)을 이용하여 수집 포맷으로 컨버팅된다. 모듈(902)의 일부 예는 자연 및 CGI 컨텐츠에 대하여 각각 도 5 및 도 6에서 구체화된다. 일부 예에서, 미디어 분석기(911)는 수집 미디어에 대해 적당한 미디어 분석을 수행할 수 있고, 수집된 미디어는 미디어 분석기(911)로부터의 정보를 저장하기 위하여 업데이트될 수 있다. 예에서, 수집 미디어는 미디어 분석기(911)에서 임의적인 IMS 명명법을 갖는 장면 분석기에 의해 IMS 메타데이터로 주석부기되도록 업데이트된다. 수집 미디어 포맷은 네트워크로 송신되고 저장 디바이스(903) 상에서 저장된다. 일부 다른 예에서, 저장 디바이스는 몰입형 미디어 컨텐츠 제작사의 네트워크에서 상주할 수 있고, 이등분되는 파선 라인에 의해 도시된 바와 같이 몰입형 미디어 네트워크 분배 모듈(900)에 의해 원격으로 액세스될 수 있다. 클라이언트 및 애플리케이션 특정 정보는 일부 예에서, 원격 저장 디바이스(904) 상에서 이용가능하고, 이 원격 저장 디바이스(904)는 임의적으로, 예에서 대안적인 클라우드 네트워크 내에 원격으로 존재할 수 있다.
도 9에서 도시된 바와 같이, 네트워크 오케스트레이터(network orchestrator)(905)는 분배 네트워크의 주요 태스크를 실행하기 위한 정보의 일차적인 소스(source) 및 싱크(sink)로서 역할을 한다. 이 특정한 실시예에서, 네트워크 오케스트레이터(905)는 네트워크의 다른 컴포넌트와의 통합된 포맷으로 구현될 수 있다. 그럼에도 불구하고, 도 9에서의 네트워크 오케스트레이터(905)에 의해 도시되는 태스크는 일부 예에서 개시된 발명 요지의 엘리먼트를 형성한다. 네트워크 오케스트레이터(905)는 소프트웨어로 구현될 수 있고, 프로세스를 수행하기 위하여 프로세싱 회로부에 의해 실행될 수 있다.
개시내용의 일부 측면에 따르면, 네트워크 오케스트레이터(905)는 또한, 클라이언트 디바이스의 특성에 따라 미디어(예컨대, 몰입형 미디어)의 프로세싱 및 분배를 용이하게 하기 위하여 클라이언트 디바이스와의 통신을 위한 양방향 메시지 프로토콜을 채용할 수 있다. 게다가, 양방향 메시지 프로토콜은 상이한 전달 채널, 즉, 제어 평면 채널 및 데이터 평면 채널에 걸쳐 구현될 수 있다.
네트워크 오케스트레이터(905)는 도 9에서의 클라이언트(908)(또한, 클라이언트 디바이스(908)로서 지칭됨)와 같은 클라이언트 디바이스의 특징 및 속성에 대한 정보를 수신하고, 게다가, 클라이언트(908) 상에서 현재 작동하는 애플리케이션에 관한 요건을 모은다. 이 정보는 디바이스(904)로부터 획득될 수 있거나, 대안적인 실시예에서는, 클라이언트(908)에 직접적으로 질의함으로써 획득될 수 있다. 일부 예에서, 양방향 메시지 프로토콜은 네트워크 오케스트레이터(905)와 클라이언트(908) 사이의 직접 통신을 가능하게 하기 위하여 이용된다. 예를 들어, 네트워크 오케스트레이터(905)는 직접 질의를 클라이언트(908)로 전송할 수 있다. 일부 예에서, 스마트 클라이언트(908E)는 클라이언트(908)를 대신하여 클라이언트 스테이터스 및 피드백의 수집 및 보고에 참여할 수 있다. 스마트 클라이언트(908E)는 프로세스를 수행하기 위하여 프로세싱 회로부에 의해 실행될 수 있는 소프트웨어로 구현될 수 있다.
네트워크 오케스트레이터(905)는 또한, 도 10에서 설명될 미디어 적응 및 프래그먼트화 모듈(media adaptation and fragmentation module)(910)을 개시하고 이와 통신한다. 수집 미디어가 모듈(910)에 의해 적응되고 프래그먼트화됨에 따라, 미디어는 일부 예에서, 분배 저장 디바이스(909)를 위하여 준비된 미디어로서 도시된 인터미디어 저장 디바이스로 전송된다. 분배 미디어가 디바이스(909)에서 준비되고 저장됨에 따라, 네트워크 오케스트레이터(905)는, 몰입형 클라이언트(908)가 그 네트워크 인터페이스(908B)를 통해, 분배 미디어 및 대응하는 설명 정보(906)의 어느 하나를 푸시 요청(push request)을 통해 수신하거나, 클라이언트(908) 자체가 저장 디바이스(909)로부터의 미디어(906)의 풀 요청(pull request)을 개시할 수 있다는 것을 보장한다. 일부 예에서, 네트워크 오케스트레이터(905)는 "푸시" 요청을 수행하거나 몰입형 클라이언트(908)에 의한 "풀" 요청을 개시하기 위하여 양방향 메시지 인터페이스(도 9에서 도시되지 않음)를 채용할 수 있다. 예에서, 몰입형 클라이언트(908)는 네트워크 인터페이스(908B), GPU(또는 도시되지 않은 CPU)(908C), 및 스토리지(908D)를 채용할 수 있다. 게다가, 몰입형 클라이언트(908)는 게임 엔진(908A)을 채용할 수 있다. 게임 엔진(908A)은 또한, 시각화 컴포넌트(908A1) 및 물리 엔진(908A2)을 채용할 수 있다. 게임 엔진(908A)은 게임 엔진 API 및 콜백 기능(callback function)(908F)을 통해 미디어의 프로세싱을 집합적으로 오케스트레이팅하기 위하여 스마트 클라이언트(908E)와 통신한다. 미디어의 분배 포맷은 클라이언트(908)의 저장 디바이스 또는 저장 캐시(908D) 내에 저장된다. 최종적으로, 클라이언트(908)는 시각화 컴포넌트(908A1)를 통해 미디어를 시각적으로 프레젠트한다.
몰입형 미디어를 몰입형 클라이언트(908)로 스트리밍하는 프로세스의 전반에 걸쳐, 네트워크 오케스트레이터(905)는 클라이언트 진행 및 스테이터스 피드백 채널(907)을 통해 클라이언트의 진행의 스테이터스를 모니터링할 수 있다. 스테이터스의 모니터링은 스마트 클라이언트(908E)에서 구현될 수 있는 양방향 통신 메시지 인터페이스(도 9에서 도시되지 않음)에 의해 수행될 수 있다.
도 10은 일부 예에서 수집된 소스 미디어가 몰입형 클라이언트(908)의 요건과 정합하게 적절하게 적응될 수 있도록 한 미디어 적응 프로세스(1000)의 도면을 도시한다. 미디어 적응 및 프래그먼트화 모듈(1001)은 몰입형 클라이언트(908)를 위한 적절한 분배 포맷으로의 수집 미디어의 적응을 용이하게 하는 다수의 컴포넌트로 구성된다. 도 10에서, 미디어 적응 및 프래그먼트화 모듈(1001)은 네트워크 상의 현재 트래픽 부하를 추적하기 위하여 입력 네트워크 스테이터스(1005)를 수신한다. 몰입형 클라이언트(908) 정보는 속성 및 특징 설명, 애플리케이션 특징 및 설명 뿐만 아니라, 애플리케이션 현재 스테이터스, 및 클라이언트의 절두체의 기하구조를 수집 몰입형 미디어의 보간 능력으로 매핑하는 것을 보조하기 위한 (이용가능한 경우에) 클라이언트 신경망 모델을 포함할 수 있다. 이러한 정보는 도 9에서 908E로서 도시된 스마트 클라이언트 인터페이스의 도움으로 양방향 메시지 인터페이스(도 10에서 도시되지 않음)에 의해 획득될 수 있다. 미디어 적응 및 프래그먼트화 모듈(1001)은 적응된 출력이 생성될 때, 클라이언트-적응된 미디어 저장 디바이스(1006) 내로 저장된다는 것을 보장한다. 미디어 분석기(1007)는 선험적으로(a prioi) 실행될 수 있는 프로세스로서, 또는 미디어의 분배를 위한 네트워크 자동화된 프로세스의 일부로서 도 10에서 도시되어 있다. 일부 예에서, 미디어 분석기(1007)는 임의적인 IMS 명명법 기능을 갖는 장면 분석기를 포함한다.
일부 예에서, 네트워크 오케스트레이터(1003)는 적응 프로세스(1001)를 개시한다. 미디어 적응 및 프래그먼트화 모듈(1001)은 로직 제어기(1001F)에 의해 제어된다. 예에서, 미디어 적응 및 프래그먼트화 모듈(1001)은 구체적인 수집 소스 미디어를 클라이언트를 위하여 적당한 포맷으로 적응시키기 위하여 렌더러(1001B) 또는 신경망 프로세서(1001C)를 채용한다. 예에서, 미디어 적응 및 프래그먼트화 모듈(1001)은 예에서의 서버 디바이스와 같은 클라이언트 인터페이스 모듈(1003)로부터 클라이언트 정보(1004)를 수신한다. 클라이언트 정보(1004)는 클라이언트 설명 및 현재 스테이터스를 포함할 수 있고, 애플리케이션 설명 및 현재 스테이터스를 포함할 수 있고, 클라이언트 신경망 모델을 포함할 수 있다. 신경망 프로세서(1001C)는 신경망 모델(1001A)을 이용한다. 이러한 신경망 프로세서(1001C)의 예는 MPI 및 MSI에서 설명된 바와 같은 딥뷰(deepview) 신경망 모델 생성기를 포함한다. 일부 예에서, 미디어는 2D 포맷이지만, 클라이언트는 3D 포맷을 요구하고, 그 다음으로, 신경망 프로세서(1001C)는 비디오에서 도시된 장면의 체적계측 표현을 도출하기 위하여 2D 비디오 신호로부터의 고도로 상관된 이미지를 이용하기 위한 프로세스를 호출할 수 있다. 그러한 프로세스의 예로는 캘리포니아의 버클리(Berkley) 대학교에서 개발된 하나 또는 몇몇 이미지 프로세스로부터의 신경 방사 필드(neural radiance field)일 수 있다. 적당한 렌더러(1001B)의 예는 미디어 적응 및 프래그먼트화 모듈(1001)과 직접적으로 상호작용하도록 수정될 OTOY Octane 렌더러(도시되지 않음)의 수정된 버전일 수 있다. 미디어 적응 및 프래그먼트화 모듈(1001)은, 일부 예에서, 수집 미디어의 포맷 및 몰입형 클라이언트(908)에 의해 요구되는 포맷에 대한 이 도구를 위한 필요성에 따라 미디어 압축기(1001D) 및 미디어 압축해제기(1001E)를 채용할 수 있다.
도 11은 일부 예에서 분배 포맷 생성 프로세스(1100)를 도시한다. 적응된 미디어 패키징 모듈(1103)은 클라이언트 적응된 미디어 저장 디바이스(1102) 상에서 지금 상주하는 미디어 적응 모듈(1101)(도 10에서 프로세스(1000)로서 도시됨)로부터의 미디어를 패키징한다. 패키징 모듈(1103)은 미디어 적응 모듈(1101)로부터의 적응된 미디어를 강인한 분배 포맷(1104), 예를 들어, 도 3 또는 도 4에서 도시된 예시적인 포맷으로 포맷한다. 매니페스트 정보(1104A)는 클라이언트가 수신할 것으로 예상할 수 있는 장면 데이터 자산(1104B)의 리스트 뿐만 아니라, 프레젠테이션을 포함하는 장면의 세트에 걸쳐 각각의 자산이 이용되는 빈도를 설명하는 임의적인 메타데이터를 클라이언트(908)에 제공한다. 리스트(1104B)는 시각적 자산, 오디오 자산, 및 햅틱 자산의 리스트를 도시하고, 각각은 그 대응하는 메타데이터를 갖는다. 이 예시적인 실시예에서, 리스트(1104B) 내의 자산 각각은, 프레젠테이션을 포함하는 모든 장면에 걸쳐 특정한 자산이 이용되는 횟수를 지시하는 수치 빈도 값을 포함하는 메타데이터를 참조한다.
도 12는 일부 예에서 패킷화기 프로세스 시스템(1200)을 도시한다. 도 12의 예에서, 패킷화기(1202)는 적응된 미디어(1201)를, 네트워크 상의 클라이언트 엔드 포인트(1204)로서 도시된 몰입형 클라이언트(908)로의 스트리밍을 위하여 적당한 개별적인 패킷(1203)으로 분리한다.
도 13은 일부 예에서 수집 포맷인 구체적인 몰입형 미디어를 구체적인 몰입형 미디어 클라이언트 엔드-포인트를 위한 스트리밍가능하고 적당한 분배 포맷으로 적응시키는 네트워크의 시퀀스 도면(1300)을 도시한다.
도 13에서 도시된 컴포넌트 및 통신은 다음과 같이 설명된다: 클라이언트(1301)(또한, 일부 예에서 클라이언트 엔드-포인트, 클라이언트 디바이스로서 지칭됨)는 네트워크 오케스트레이터(1302)(또한, 일부 예에서 네트워크 분배 인터페이스로서 지칭됨)에 대한 미디어 요청(1308)을 개시한다. 미디어 요청(1308)은 URN 또는 다른 표준 명명법에 의해, 클라이언트(1301)에 의해 요청되는 미디어를 식별하기 위한 정보를 포함한다. 네트워크 오케스트레이터(1302)는 프로파일 요청(1309)으로 미디어 요청(1308)에 응답하고, 이 프로파일 요청(1309)은 클라이언트(1301)가 그 현재 이용가능한 자원(연산, 저장, 충전되는 배터리 백분율, 및 클라이언트의 현재 동작 스테이터스를 특성화하기 위한 다른 정보를 포함함)에 대한 정보를 제공하도록 요청한다. 프로파일 요청(1309)은 또한, 클라이언트가 이러한 모델이 클라이언트에서 이용가능한 경우에, 클라이언트의 프레젠테이션 시스템의 특징과 정합하기 위하여 올바른 미디어를 추출하거나 보간하기 위한 신경망 추론을 위하여 네트워크에 의해 이용될 수 있는 하나 이상의 신경망 모델을 제공하도록 요청한다. 클라이언트(1301)로부터 네트워크 오케스트레이터(1302)로의 응답(1310)은 클라이언트 토큰(client token), 애플리케이션 토큰(application token), 및 하나 이상의 신경망 모델 토큰(이러한 신경망 모델 토큰이 클라이언트에서 이용가능한 경우)을 제공한다. 그 다음으로, 네트워크 오케스트레이터(1302)는 세션 ID 토큰(1311)을 클라이언트(1301)에 제공한다. 그 다음으로, 네트워크 오케스트레이터(1302)는, 요청(1308)에서 식별되는 미디어에 대한 URN 또는 표준 명명법 명칭을 포함하는 수집 미디어 요청(1312)으로 수집 미디어 서버(1303)에 요청한다. 수집 미디어 서버(1303)는 미디어 수집 토큰을 포함하는 응답(1313)으로 요청(1312)에 대해 답신한다. 그 다음으로, 네트워크 오케스트레이터(1302)는 호출(1314) 내의 응답(1313)으로부터의 미디어 토큰을 클라이언트(1301)에 제공한다. 그 다음으로, 네트워크 오케스트레이터(1302)는 수집 미디어 토큰, 클라이언트 토큰, 애플리케이션 토큰, 및 신경망 모델 토큰(1315)을 적응 인터페이스(1304)에 제공함으로써 미디어 요청(1308)에 대한 적응 프로세스를 개시한다. 적응 인터페이스(1304)는 수집 미디어 자산에 대한 액세스를 요청하기 위한 호출(1316)에서 수집 미디어 토큰을 수집 미디어 서버(1303)에 제공함으로써 수집 미디어에 대한 액세스를 요청한다. 수집 미디어 서버(1303)는 적응 인터페이스(1304)에 대한 응답(1317)에서 수집 미디어 액세스 토큰으로 요청(1316)에 대해 응답한다. 그 다음으로, 적응 인터페이스(1304)는 미디어 적응 모듈(1305)이 1313에서 생성되는 세션 ID 토큰에 대응하는 클라이언트, 애플리케이션, 및 신경망 추론 모델에 대하여 수집 미디어 액세스 토큰에서 위치되는 수집 미디어를 적응시키도록 요청한다. 적응 인터페이스(1304)로부터 미디어 적응 모듈(1305)로의 요청(1318)은 요구된 토큰 및 세션 ID를 포함한다. 미디어 적응 모듈(1305)은 업데이트(1319)에서 적응된 미디어 액세스 토큰 및 세션 ID를 네트워크 오케스트레이터(1302)에 제공한다. 네트워크 오케스트레이터(1302)는 인터페이스 호출(1320)에서 적응된 미디어 액세스 토큰 및 세션 ID를 패키징 모듈(1306)에 제공한다. 패키징 모듈(1306)은 응답 메시지(1321)에서, 패키징된 미디어 액세스 토큰 및 세션 ID를 네트워크 오케스트레이터(1302)에 대한 응답(1321)에 제공한다. 패키징 모듈(1306)은 응답(1322)에서, 세션 ID에 대한 패키징된 자산, URN, 및 패키징된 미디어 액세스 토큰을 패키징된 미디어 서버(1307)에 제공한다. 클라이언트(1301)는 응답 메시지(1321)에서 수신되는 패키징된 미디어 액세스 토큰에 대응하는 미디어 자산의 스트리밍을 개시하기 위하여 요청(1323)을 실행한다. 클라이언트(1301)는 다른 요청을 실행하고, 메시지(1324) 내의 스테이터스 업데이트를 네트워크 오케스트레이터(1302)에 제공한다.
도 14는 일부 예에서 장면-기반 미디어 프로세싱을 위한 가상적 네트워크 및 클라이언트 디바이스(1418)(또한, 게임 엔진 클라이언트 디바이스(1418)로서 지칭됨)를 갖는 미디어 시스템(1400)의 도면을 도시한다. 도 4에서, MPEG 스마트 클라이언트 프로세스(1401)에 의해 도시된 바와 같은 스마트 클라이언트는 게임 엔진 클라이언트 디바이스(1418) 내의 다른 엔티티 뿐만 아니라, 게임 엔진 클라이언트 디바이스(1418)의 외부에 존재하는 엔티티를 위하여 그리고 이러한 다른 엔티티에 의해 프로세싱되어야 할 미디어를 준비하기 위한 중앙 조정자(central coordinator)로서 역할을 할 수 있다. 일부 예에서, 스마트 클라이언트는 MPEG 스마트 클라이언트 프로세스(1401)(또한, 일부 예에서 MPEG 스마트 클라이언트(1401)로서 지칭됨)와 같은 프로세스를 수행하기 위하여 프로세싱 회로부에 의해 실행될 수 있는 소프트웨어 명령으로서 구현된다. 게임 엔진(1405)은 최종-사용자(들)에 의해 경험될 프레젠테이션을 생성하기 위하여 미디어를 렌더링하는 것을 주로 담당한다. 햅틱 컴포넌트(1413), 시각화 컴포넌트(1415), 및 오디오 컴포넌트(1414)는 햅틱, 시각적, 및 오디오 미디어를 각각 렌더링하도록 게임 엔진(1405)을 보조할 수 있다. 에지 프로세서 또는 네트워크 오케스트레이터 디바이스(1408)는 네트워크 인터페이스 프로토콜(1420)을 통해, 정보 및 시스템 미디어를 MPEG 스마트 클라이언트(1401)로 전달할 수 있고 MPEG 스마트 클라이언트(1401)로부터 스테이터스 업데이트 및 다른 정보를 수신할 수 있다. 네트워크 인터페이스 프로토콜(1420)은 다수의 통신 채널 및 프로세스에 걸쳐 분할될 수 있고, 다수의 통신 프로토콜을 채용할 수 있다. 일부 예에서, 게임 엔진(1405)은 제어 로직(14051), GPU 인터페이스(14052), 물리 엔진(14053), 렌더러(들)(14054), 압축 디코더(들)(14055), 및 디바이스-특정 플러그인(plugin)(들)(14056)을 포함하는 게임 엔진 디바이스이다. MPEG 스마트 클라이언트(1401)는 또한, 네트워크와 클라이언트 디바이스(1418) 사이의 주 인터페이스로서 역할을 한다. 예를 들어, MPEG 스마트 클라이언트(1401)는 게임 엔진(1405)과 상호작용하기 위하여 게임 엔진 API 및 콜백 기능(1417)을 채용할 수 있다. 예에서, MPEG 스마트 클라이언트(1401)는 게임 엔진(1405)으로 하여금, 재구성된 미디어를 프로세싱하게 하기 위하여, 게임 엔진 제어 로직(14051)에 의해 관리되는 게임 엔진 API 및 콜백 기능(1417)을 호출하기 이전에, 1420에서 전달되는 스트리밍된 미디어를 재구성하는 것을 담당할 수 있다. 이러한 예에서, MPEG 스마트 클라이언트(1401)는, 압축 디코더 프로세스(1406)를 궁극적으로 사용할 수 있는 클라이언트 미디어 재구성 프로세스(1402)를 사용할 수 있다.
일부 다른 예에서, MPEG 스마트 클라이언트(1401)는 API 및 콜백 기능(1417)을 호출하기 이전에, 1420에서 스트리밍되는 패킷화된 미디어를 재구성하는 것을 담당하지 않을 수 있다. 이러한 예에서, 게임 엔진(1405)은 미디어를 압축해제하고 재구성할 수 있다. 게다가, 이러한 예에서, 게임 엔진(1405)은 미디어를 압축해제하기 위하여 압축 디코더(들)(14055)를 채용할 수 있다. 재구성된 미디어의 수신 시에, 게임 엔진 제어 로직(14051)은 렌더러 프로세스(들)(14054)를 통해 미디어를 렌더링하기 위하여 GPU 인터페이스(14052)를 채용할 수 있다.
일부 예에서, 렌더링된 미디어는 애니메이팅되고, 그 다음으로, 물리 엔진(14053)은 장면의 애니메이션에서 물리 법칙을 시뮬레이팅하기 위하여 게임 엔진 제어 로직(14051)에 의해 채용될 수 있다.
일부 예에서, 클라이언트 디바이스(1418)에 의한 미디어의 프로세싱 전반에 걸쳐, 신경망 모델(1421)은 MPEG 스마트 클라이언트(1401)에 의해 오케스트레이팅되는 동작을 보조하기 위하여 신경망 프로세서(1403)에 의해 채용될 수 있다. 일부 예에서, 재구성 프로세스(1402)는 미디어를 완전히 재구성하기 위하여 신경망 모델(1421) 및 신경망 프로세서(1403)를 채용할 필요가 있을 수 있다. 마찬가지로, 클라이언트 디바이스(1418)는 미디어가 재구성된 후에 네트워크로부터 수신되는 미디어를 클라이언트-적응된 캐시(1404)로 캐싱하거나, 미디어가 일단 렌더링되면, 렌더링된 클라이언트 미디어 캐시(1407) 내에 렌더링된 미디어를 캐싱하기 위하여, 사용자에 의해 사용자 인터페이스(1412)를 통해 구성될 수 있다. 추가로, 일부 예에서, MPEG 스마트 클라이언트(1401)는 시스템-제공된 시각적/비시각적 자산을, 사용자-제공된 미디어 캐시(1416)로부터의 사용자-제공된 시각적/비시각적 자산으로 치환할 수 있다. 이러한 실시예에서, 사용자 인터페이스(1412)는 (예컨대, 클라이언트 디바이스(1418)의 외부의) 사용자-제공된 미디어 캐시(1419)로부터의 사용자-제공된 시각적/비시각적 자산을 (예컨대, 클라이언트 디바이스(1418)의 내부의) 클라이언트-액세스가능한 사용자-제공된 미디어 캐시(1416) 내로 로딩하기 위한 단계를 실행하기 위하여 최종-사용자를 안내할 수 있다. 일부 실시예에서, MPEG 스마트 클라이언트(1401)는 (잠재적인 재이용 또는 다른 클라이언트와의 공유를 위한) 렌더링된 자산을 렌더링된 미디어 캐시(1411) 내에 저장하도록 구성될 수 있다.
일부 예에서, 미디어 분석기(1410)는 게임 엔진(1405)에 의한 렌더링을 위한 잠재적인 우선순위화를 위해, 및/또는 MPEG 스마트 클라이언트(1401)를 통한 재구성 프로세싱을 위해, 자산의 복잡도, 또는 자산이 하나 이상의 장면(도시되지 않음)에 걸쳐 재이용되는 빈도를 결정하기 위하여 (네트워크 내의) 클라이언트 적응된 미디어(1409)를 검사할 수 있다. 이러한 예에서, 미디어 분석기(1410)는 1409에서 저장되는 미디어 내에 복잡도, 우선순위화, 및 자산-이용-빈도 정보를 저장할 것이다.
본 개시내용에서, 프로세스가 도시되고 설명되지만, 프로세스는 소프트웨어 모듈 내의 명령으로서 구현될 수 있고, 명령은 프로세스를 수행하기 위하여 프로세싱 회로부에 의해 실행될 수 있다는 것이 주목된다. 본 개시내용에서, 모듈이 도시되고 설명되지만, 모듈은 명령을 갖는 소프트웨어 모듈로서 구현될 수 있고, 명령은 프로세스를 수행하기 위하여 프로세싱 회로부에 의해 실행될 수 있다는 것이 또한 주목된다.
일부 관련된 예에서, 다양한 기법은 장면에 대한 클라이언트 디바이스 요청 및 클라이언트 디바이스에서의 장면의 외관 사이의 지연을 감소시키기 위한 컨텐츠 전달 네트워크(CDN : content delivery network) 및 에지 네트워크 엘리먼트의 이용, 및 렌더링의 연산 부하를 더 강력한 연산 엔진으로 오프로딩하기 위한 클라우드/에지 네트워크 엘리먼트의 이용을 포함하는, 장면의 평활한 흐름을 클라이언트에 제공하는 문제를 해결할 수 있다. 이 기법은 장면에 대한 클라이언트 디바이스의 요청과 클라이언트 디바이스에서의 장면의 외관 사이의 지연을 단축시킬 수 있지만, 이들은 완성하기 위한 CDN의 이용가능성에 의존하고, 몰입형 장면 제공자는 CDN 및 네트워크 에지 디바이스를 이용하든지, 또는 이들을 이용하지 않든지, 장면의 데이터가 엔드 디바이스로 스트리밍될 수 있기 전에 장면을 요청하기 위하여 엔드 디바이스에 종속될 수 있다.
개시내용의 제1 측면에 따르면, 몰입형 미디어 스트리밍을 위한 우선순위화된 장면 스트리밍 방법론은 명시야 기반 디스플레이(예컨대, 명시야 디스플레이, 홀로그래픽 디스플레이 등)에 대한 몰입형 미디어 스트리밍을 위하여 이용될 수 있다. 장면의 우선순위는 일부 예에서 장면 사이의 관계에 의해 결정된다.
일부 예에서, 동작 동안에, 미디어 서버는 미디어 데이터를, 명시야 기반 디스플레이를 갖는 엔드 디바이스와 같은 엔드 디바이스로 스트리밍하기 위하여 적응적 스트리밍을 이용할 수 있다. 예에서, 엔드 디바이스가 전체 몰입형 환경을 즉시 요청할 때, 장면이 이용가능하게 되는 순서는 수용가능한 사용자 경험을 제공하지 않을 수 있다.
도 15는 일부 예에서 장면-기반 몰입형 미디어를 엔드 디바이스로 스트리밍하기 위한 예의 도면을 도시한다. 도 15의 예에서, 장면-기반 몰입형 미디어는 몰입형 경험을 위하여 렌더링되어야 하는 개별적인 장면의 리스트를 포함하는 장면 매니페스트(1501)에 의해 표현된다. 장면 매니페스트(1501)는 미디어 서버(1502)에 의해 클라우드(1503)(예컨대, 네트워크 클라우드)를 통해 엔드 디바이스(1504)에 제공된다. 도 15의 예에서, 장면은 엔드 디바이스(1504)에 의해 인출되고 있고, 장면 매니페스트(1501) 내의 장면 번호 순서로 엔드 디바이스(1504)로 전송된다. 예를 들어, 장면 매니페스트(1501) 내의 장면은 장면 1, 장면 2, 장면 3, 장면 4, 장면 5 등에 의해 순서화된다. 장면은 장면 1(1505에 의해 도시됨), 장면 2(1506에 의해 도시됨), 장면 3(1507에 의해 도시됨), 장면 4(1508에 의해 도시됨), 장면 5(1509에 의해 도시됨) 등의 순서에 의해 인출되고 엔드 디바이스(1504)로 전송된다.
일부 예에서, 장면 매니페스트 내의 각각의 장면은 예를 들어, 장면의 메타데이터 내에, 장면의 복잡도를 지시하는 복잡도 값, 및 장면의 우선순위를 지시하는 우선순위 값을 포함할 수 있다.
도 16은 일부 예에서 복잡도 값 및 우선순위 값을 장면 매니페스트 내의 장면에 추가하기 위한 도면을 도시한다. 도 16의 예에서, 장면 복잡도 분석기(1602)는 각각의 장면의 복잡도를 분석하고 각각의 장면에 대한 복잡도 값을 배정하기 위하여 이용되고, 그 다음으로, 장면 우선순위화기(1603)는 우선순위 값을 각각의 장면에 배정하기 위하여 이용된다. 예를 들어, 제1 장면 매니페스트(1601)는 몰입형 경험을 위하여 렌더링되어야 할 복수의 장면을 포함한다. 제1 장면 매니페스트(1601)는 복수의 장면 중 각각의 장면에 대한 복잡도 값(SC로서 도시됨)을 결정하는 장면 복잡도 분석기(1602)에 의해 프로세싱되고, 그 다음으로, 우선순위 값(우선순위로서 도시됨)을 복수의 장면 중 각각의 장면에 배정하는 장면 우선순위화기(1603)에 의해 프로세싱되어, 제2 장면 매니페스트(1604)로 귀착된다. 제2 장면 매니페스트(1604)는 개개의 복잡도 값 및 우선순위 값을 갖는 복수의 장면을 포함한다. 제2 장면 매니페스트(1604) 내의 복수의 장면은 복잡도 값 및/또는 우선순위 값에 따라 재순서화된다. 예를 들어, 장면 5는 (1605에 의해 도시된 바와 같은) 제1 장면 매니페스트(1601) 내의 제5 장면인 것으로 순서화되고, (1606에 의해 도시된 바와 같은) 우선순위 값에 따라 제2 장면 매니페스트(1604) 내의 제3 장면인 것으로 재순서화된다.
추가로, 일부 예에서, 우선순위-인지 미디어 서버는 장면의 우선순위 값에 따라 순서대로 장면을 엔드 디바이스로 스트리밍하기 위하여 이용될 수 있다.
도 17은 일부 예에서 장면-기반 몰입형 미디어를 엔드 디바이스로 스트리밍하기 위한 예의 도면을 도시한다. 도 17의 예에서, 장면-기반 몰입형 미디어는 몰입형 경험을 위하여 렌더링되어야 하는 개별적인 장면의 리스트를 포함하는 장면 매니페스트(1701)에 의해 표현된다. 복수의 장면 각각은 분석된 복잡도 값(SC에 의해 도시됨) 및 배정된 우선순위 값(우선순위에 의해 도시됨)을 가진다. 장면 매니페스트(1701)는 우선순위-인지 미디어 서버(1702)에 의해 클라우드(1703)를 통해 엔드 디바이스(1704)에 제공된다. 예에서, 장면은 엔드 디바이스(1704)에 의해 인출되고 있고, 장면 매니페스트(1701) 내의 우선순위 값에 따라 순서대로 엔드 디바이스(1704)로 전송된다. 예를 들어, 장면 매니페스트(1701) 내의 장면은 우선순위 값에 따라 순서화된다. 장면은 장면 7(1705에 의해 도시됨), 장면 8(1706에 의해 도시됨), 장면 5(1707에 의해 도시됨), 장면 2(1708에 의해 도시됨), 장면 11(1709에 의해 도시됨) 등의 순서에 의해 인출되고 엔드 디바이스(1704)로 전송된다.
개시내용의 측면에 따르면, 장면 우선순위 기반 스트리밍 기법은 몰입형 환경에서 동시에 장면의 전부를 요청하는 것과 비교하여 이점을 제공하기 위하여 이용될 수 있는데, 왜냐하면, 많은 경우에, 엔드 디바이스가 장면을 "순서에 관계없이(out of order)" 렌더링할 필요가 있을 수 있는 이유가 있기 때문이다. 예를 들어, 장면은 몰입형 환경에서 일반적으로 이용되는 가장 유용한 순서로 초기에 순서화될 수 있고, 몰입형 환경은 가장 유용한 순서와는 상이하게 장면을 렌더링할 필요가 있을 수 있는 가지(branch), 루프(loop) 등을 포함할 수 있다. 예에서는, 장면이 가장 유용한 순서로 전송될 때에 수용가능한 사용자 경험을 잠재적으로 제공하기 위한 충분한 대역폭이 있고, 필요한 장면이 이미 요청되었던 하나 이상의 장면 뒤에 큐잉(queue)되는 경우가 있을 수 있다. 또 다른 예에서, 대역폭이 제한될 때, 장면 우선순위 기반 스트리밍 기법은 사용자 경험을 개선시키기 위하여 더 유용할 수 있다.
장면 우선순위화기는 장면에 대한 우선순위 값을 결정하기 위하여 임의의 적당한 기법을 이용할 수 있다는 것이 주목된다. 일부 예에서, 장면 우선순위화기는 장면 사이의 관계를 우선순위화의 일부로서 이용할 수 있다.
도 18은 일부 예에서 장면 우선순위를 예시하기 위한 가상적 박물관(1801)의 도면을 도시한다. 가상적 박물관(1801)은 지면 바닥(1802) 및 상부 바닥(1803), 그리고 지면 바닥(1802)과 상부 바닥(1803) 사이의 계단실(1804)을 가진다. 예에서, 몰입형 투어(immersive tour)는 로비(lobby)(1805)에서 시작된다. 로비(1805)는 5개의 비상구, 즉, 가상적 박물관(1801)을 진출하기 위한 제1 비상구, 계단실(1804)에 접근하기 위한 제2 비상구, 지면 바닥 전시 E에 접근하기 위한 제3 비상구, 지면 바닥 전시 D에 접근하기 위한 제4 비상구, 및 지면 바닥(1802) 상의 지면 바닥 전시 H에 접근하기 위한 제5 비상구를 가진다. 예에서, 장면 우선순위화기는 로비(1805)에 대한 제1 장면을 합리적으로 우선순위화할 수 있고, 그 다음으로, 계단실(1804)에 대한 제2 장면 및 그 다음으로 지면 바닥 전시 E, D, 및 H에 대한 제3 장면을 우선순위화할 수 있는데, 그 이유는 지면 바닥 전시 E, D, 및 H가 가상적 관광객이 로비(1805)를 떠날 때에 렌더링되어야 할 가능한 "다음" 장면이기 때문이다.
일부 예에서, 장면 우선순위화기는 동일한 클라이언트 또는 다른 클라이언트에 의한 이전의 경험에 기초하여 장면 우선순위를 조절할 수 있다. 도 18을 참조하면, 예에서, 가상적 박물관(1801)은 상부 바닥 전시실(1808) 내의 특히 인기 있는 전시(예컨대, 상부 바닥 전시 I)를 개방하고, 장면 우선순위화기는 많은 가상적 관광객이 인기 있는 전시에 대하여 곧장 향하고 있다는 것을 관찰할 수 있다. 그 다음으로, 장면 우선순위화기는 이전에 제공된 우선순위를 조절할 수 있다. 예를 들어, 장면 우선순위화기는 로비(1805)에 대한 제1 장면, 계단실(1804)에 대한 제2 장면, 및 그 다음으로, 상부 바닥 전시 J의 장면 및 상부 바닥 전시 I의 장면과 같은, 상부 바닥 전시실(1808)로 가는 도중의 상부 바닥(1803)의 장면을 우선순위화할 수 있다.
일부 예에서, 몰입형 미디어에 대하여 미디어 서버에 의해 제공되는 컨텐츠 설명은 2개의 파트: 이용가능한 장면, 다양한 대안, 및 다른 특성의 매니페스트를 설명하는 미디어 프레젠테이션 설명(MPD); 변동되는 자산을 갖는 다수의 장면을 포함할 수 있다. 일부 예에서, 엔드 디바이스는 먼저, 플레이하기 위한 몰입형 미디어의 MPD를 획득할 수 있다. 엔드 디바이스는 MPD를 파싱(parse)할 수 있고, 변동되는 자산을 갖는 다양한 장면, 장면 타이밍, 미디어-컨텐츠 이용가능성, 미디어 유형, 미디어 컨텐츠의 다양한 인코딩된 대안, 지원되는 최소 및 최대 대역폭, 및 다른 컨텐츠 특성에 대해 학습할 수 있다. MPD로부터 획득되는 정보를 이용하면, 엔드 디바이스는 언제 그리고 어느 대역폭 이용가능성에서 어느 장면이 렌더링되어야 하는지를 적절하게 선택할 수 있다. 엔드 디바이스는 대역폭 등락을 연속적으로 측정할 수 있고, 측정에 따라, 엔드 디바이스는 더 적거나 더 많은 자산을 갖는 대안적인 장면을 페치함으로써 이용가능한 대역폭에 어떻게 적응시킬 것인지를 판정한다.
일부 예에서, 장면 기반 몰입형 미디어 내의 장면의 우선순위 값은 서버 디바이스 또는 전송기 디바이스에 의해 정의되고, 장면 기반 몰입형 미디어를 플레이하기 위한 세션(session) 동안에 엔드 디바이스에 의해 변경될 수 있다.
개시내용의 제2 측면에 따르면, 명시야 기반 디스플레이에 대한 장면 기반 몰입형 미디어 내의 장면의 우선순위 값은 동적으로 조절될 수 있다. 일부 예에서, 우선순위 값은 엔드 디바이스(또한, 클라이언트 디바이스로서 지칭됨)로부터의 피드백에 기초하여 업데이트될 수 있다. 예를 들어, 장면 우선순위화기는 엔드 디바이스로부터 피드백을 수신할 수 있고, 피드백에 기초하여 장면의 우선순위 값을 동적으로 변경할 수 있다.
도 19는 일부 예에서 몰입형 게임(1901)과 같은 장면 기반 몰입형 미디어에 대한 장면의 도면을 도시한다. 장면의 관계는 장면을 연결하는 점선 라인에 의해 도시되어 있다. 예에서, 게임 인물(1902)은 스폰 영역(spawn area)(1903)에 나타나고, 그 다음으로, 최고 우선순위를 갖는 장면은 스폰 영역(1903)의 장면이다. 스폰 영역(1903)의 장면은 스폰 영역(1903)에 직접적으로 연결되는 장면에 선행할 수 있고, 여기서, 게임 인물(1902)은 장면 1, 장면 11, 및 장면 20과 같이 시작한다. 게임 인물(1902)이 장면 1(1904에 의해 도시됨)로 이동할 때, 장면 2(1905에 의해 도시됨)와 같은, 장면 1에 직접적으로 연결되는 장면이 이제 최고 우선순위이다. 게임 인물(1902)이 장면 2로 이동할 때, 장면 12 및 장면 5와 같은, 장면 2에 의해 직접적으로 연결되는 장면이 이제 최고 우선순위이다.
일부 예에서, 게임 인물(1902)이 엔드 디바이스로 아직 스트리밍되지 않은 새로운 장면으로 이동할 때, 엔드 디바이스는 게임 인물의 현재 포지션을 장면 우선순위화기로 전송할 수 있어서, 이로써 현재 위치는 우선순위화 내에 포함될 수 있다.
도 20은 일부 예에서 장면-기반 몰입형 미디어를 엔드 디바이스로 스트리밍하기 위한 예의 도면을 도시한다. 도 20의 예에서, 장면-기반 몰입형 미디어는 몰입형 경험을 위하여 렌더링되어야 하는 개별적인 장면의 리스트를 포함하는 장면 매니페스트(2001)에 의해 표현된다. 복수의 장면 각각은 분석된 복잡도 값(SC에 의해 도시됨) 및 배정된 우선순위 값(우선순위에 의해 도시됨)을 가진다. 장면 매니페스트(2001)는 우선순위-인지 미디어 서버(2002)에 의해 클라우드(2003)를 통해 엔드 디바이스(2004)에 제공된다. 도 20의 예에서, 장면은 엔드 디바이스(2004)에 의해 인출되고 있고, 장면 매니페스트(2001) 내의 우선순위 순서로 엔드 디바이스(2004)로 전송된다.
추가로, 도 19의 몰입형 게임을 예로서 이용하면, 엔드 디바이스(2004)는 게임 인물의 현재 위치(2010)를 장면 우선순위화기(2011)로 전송할 수 있다. 그 다음으로, 장면 우선순위화기(2011)는 장면 매니페스트(2001) 내의 장면 우선순위에 대한 업데이트를 위한 계산 내에 현재 위치 정보를 포함할 수 있다.
위에서 설명된 명시야 기반 미디어에 대한 적응적 스트리밍을 위한 기법은 컴퓨터-판독가능 명령을 이용하고 하나 이상의 컴퓨터-판독가능 매체 내에 물리적으로 저장되는 컴퓨터 소프트웨어로서 구현될 수 있다는 것이 주목된다.
일부 예에서, 명시야 기반 디스플레이에 대한 적응적 스트리밍을 위한 방법은 우선순위 값을 명시야 기반 디스플레이에 대한 몰입형 미디어 내의 복수의 장면에 각각 배정하는 것, 및 우선순위 값에 기초하여 복수의 장면을 적응적으로 스트리밍하는 것을 포함한다. 예에서, 복수의 장면은 배정된 우선순위 값에 기초하여 전송(예컨대, 스트리밍)된다. 일부 예에서, 장면의 우선순위 값은 장면을 렌더링하기 위해 필요한 가능성에 기초하여 배정된다. 일부 예에서, 장면의 우선순위 값은 엔드 디바이스로부터의 피드백에 기초하여 동적으로 조절된다. 예를 들어, 장면의 우선순위 값은 예를 들어, 클라이언트 디바이스로부터 피드백되는 게임 인물의 위치에 기초하여 조절될 수 있다.
일부 예에서, 이용가능한 네트워크 대역폭이 제한되는 것에 응답하여, 최고 우선순위를 갖는 장면은 다음 장면으로서 스트리밍되도록 선택된다. 일부 예에서, 이용가능한 네트워크 대역폭이 제한되는 것에 응답하여, 방법은 필요할 것 같지 않은 복수의 장면을 식별하는 것, 및 식별된 복수의 장면이 필요한 가능성 임계치를 초과할 때까지, 식별된 복수의 장면이 스트리밍하는 것을 억제하는 것을 포함한다.
도 21은 개시내용의 실시예에 따른 프로세스(2100)의 개요를 기술하는 흐름도를 도시한다. 프로세스(2100)는 네트워크 내의 서버 디바이스에 의한 것과 같이, 네트워크에서 실행될 수 있다. 일부 실시예에서, 프로세스(2100)는 소프트웨어 명령으로 구현되고, 이에 따라, 프로세싱 회로부가 소프트웨어 명령을 실행할 때, 프로세싱 회로부는 프로세스(2100)를 수행한다. 프로세스는 S2101에서 시작되고, S2110으로 진행한다.
S2110에서, 명시야 기반 디스플레이에서 플레이하기 위한 장면 기반 몰입형 미디어가 수신된다. 장면 기반 몰입형 미디어는 복수의 장면을 포함한다.
S2120에서, 우선순위 값은 장면 기반 몰입형 미디어 내의 복수의 장면에 각각 배정된다.
S2130에서, 복수의 장면을 명시야 기반 디스플레이를 갖는 엔드 디바이스로 스트리밍하기 위한 순서는 우선순위 값에 따라 결정된다.
일부 예에서, 복수의 장면은 장면 매니페스트 내에 초기 순서를 가지고, 우선순위 값에 따라 재순서화되고, 재순서화된 장면은 엔드 디바이스로 송신(스트리밍)된다.
일부 예에서, 우선순위-인지 네트워크 디바이스는 복수의 장면 중 비송신된 장면의 서브세트로부터 최고 우선순위 값을 갖는 최고 우선순위 장면을 선택할 수 있고, 최고 우선순위 장면을 엔드 디바이스로 송신할 수 있다.
일부 예에서, 장면에 대한 우선순위 값은 장면을 렌더링하기 위해 필요한 가능성에 기초하여 결정된다.
일부 예에서는, 이용가능한 네트워크 대역폭이 제한되는 것으로 결정된다. 복수의 장면 중 비송신된 장면의 서브세트로부터, 최고 우선순위 값을 갖는 최고 우선순위 장면이 선택된다. 최고 우선순위 장면은 이용가능한 네트워크 대역폭이 제한되는 것에 응답하여 송신된다.
일부 예에서는, 이용가능한 네트워크 대역폭이 제한되는 것으로 결정된다. 다음으로 렌더링하기 위하여 필요할 것 같지 않은 복수의 장면의 서브세트는 우선순위 값에 기초하여 식별된다. 복수의 장면의 서브세트는 이용가능한 네트워크 대역폭이 제한되는 것에 응답하여 스트리밍하는 것이 억제된다.
일부 예에서, 제1 장면과 제2 장면 사이의 관계에 응답하여, 제1 우선순위 값은 제2 장면이 제2 우선순위 값을 가지는 것에 기초하여 제1 장면에 배정된다.
일부 예에서, 피드백 신호는 엔드 디바이스로부터 수신된다. 적어도 복수의 장면 중 한 장면의 우선순위 값은 피드백 신호에 기초하여 조절된다. 예에서, 피드백 신호가 현재 장면이 제1 장면과 관련되는 제2 장면인 것을 지시하는 것에 응답하여, 최고 우선순위는 제1 장면에 배정된다. 또 다른 예에서, 피드백 신호는 엔드 디바이스에 의해 결정되는 우선순위 조절을 지시한다.
그 다음으로, 프로세스(2100)는 S2199로 진행하여 종결된다.
프로세스(2100)는 다양한 시나리오에 적당하게 적응될 수 있고, 프로세스(2100) 내의 단계는 이에 따라 조절될 수 있다. 프로세스(2100) 내의 단계 중의 하나 이상은 적응되고, 생략되고, 반복되고, 및/또는 조합될 수 있다. 임의의 적당한 순서는 프로세스(2100)를 구현하기 위하여 이용될 수 있다. 추가적인 단계(들)가 추가될 수 있다.
도 22는 개시내용의 실시예에 따른 프로세스(2200)의 개요를 기술하는 흐름도를 도시한다. 프로세스(2200)는 엔드 디바이스(또한, 클라이언트 디바이스로서 지칭됨)에 의해 실행될 수 있다. 일부 실시예에서, 프로세스(2200)는 소프트웨어 명령으로 구현되고, 이에 따라, 프로세싱 회로부가 소프트웨어 명령을 실행할 때, 프로세싱 회로부는 프로세스(2200)를 수행한다. 프로세스는 S2201에서 시작되고, S2210으로 진행한다.
S2210에서, 명시야 기반 디스플레이를 갖는 엔드 디바이스는 명시야 기반 디스플레이에 의해 플레이하기 위한 장면 기반 몰입형 미디어에 대한 미디어 프레젠테이션 설명(MPD)을 수신한다. 장면 기반 몰입형 미디어는 복수의 장면을 포함하고, MPD는 복수의 장면을 순서대로 엔드 디바이스로 스트리밍하는 것을 지시한다.
S2220에서, 대역폭 이용가능성이 검출된다.
S2230에서, 적어도 하나의 장면의 순서 변경은 대역폭 이용가능성에 기초하여 결정된다.
S2240에서는, 적어도 하나의 장면의 순서 변경을 지시하는 피드백 신호가 송신된다.
일부 예에서, 피드백 신호는 렌더링하기 위한 다음 장면을 지시한다.
일부 예에서, 피드백 신호는 적어도 하나의 장면의 우선순위 값의 조절을 지시한다.
일부 예에서, 피드백 신호는 현재 장면을 지시한다.
그 다음으로, 프로세스(2200)는 S2299로 진행하여 종결된다.
프로세스(2200)는 다양한 시나리오에 적당하게 적응될 수 있고, 프로세스(2200) 내의 단계는 이에 따라 조절될 수 있다. 프로세스(2200) 내의 단계 중의 하나 이상은 적응되고, 생략되고, 반복되고, 및/또는 조합될 수 있다. 임의의 적당한 순서는 프로세스(2200)를 구현하기 위하여 이용될 수 있다. 추가적인 단계(들)가 추가될 수 있다.
개시내용의 일부 측면은 또한, 명시야 기반 디스플레이에 대한 몰입형 미디어 스트리밍과 같은 몰입형 미디어 스트리밍을 위한 우선순위화된 자산 스트리밍 방법론을 제공한다.
클라이언트 디바이스로부터의 클라이언트 요청에 응답하는 클라이언트 디바이스(또한, 엔드 디바이스로서 지칭됨)에서의 장면의 외관은 장면이 클라이언트 디바이스에 의존하는 자산의 이용가능성에 종속될 수 있어서, 이로써 클라이언트 디바이스는 장면을 렌더링할 수 있다는 것이 주목된다. 자산을 클라이언트 디바이스로 전송하기 위하여 요구되는 시간량을 최소화하기 위하여, 자산은 일부 예에서 우선순위화될 수 있다.
개시내용의 제3 측면에 따르면, 명시야 기반 디스플레이(예컨대, 명시야 디스플레이, 홀로그래픽 디스플레이 등)에 대한 장면 기반 몰입형 미디어와 같은 장면 기반 몰입형 미디어 내의 자산은 자산의 자산 크기와 같은 자산의 속성에 기초하여 우선순위화될 수 있다.
일부 예에서, 동작 동안에, 미디어 서버는 명시야 기반 디스플레이에 대한 적응적 스트리밍을 이용할 수 있다. 적응적 스트리밍은 엔드 디바이스로의 장면의 전송에 의존하고, 궁극적으로, 각각의 장면을 구성하는 자산의 전송에 의존한다.
도 23은 예에서 자산으로의 장면의 매핑을 갖는 장면 매니페스트(2301)의 도면을 도시한다. 장면 매니페스트(2301)는 다수의 장면(2303)을 포함하고, 다수의 장면(2303) 각각은 자산(2302)의 세트 내의 하나 이상의 자산에 의존한다. 예를 들어, 장면 2는 자산(2302)의 세트 내의 자산 B, D, E, F, 및 G에 의존한다.
일부 예에서, 엔드 디바이스가 장면에 대한 자산을 요청할 때, 자산은 순서대로 엔드 디바이스로 스트리밍된다.
도 24는 일부 예에서 장면에 대한 자산을 스트리밍하기 위한 도면을 도시한다. 도 24에서, 장면(2401)은 자산 A(2405에 의해 도시됨), 자산 B(2406에 의해 도시됨), 자산 C(2407에 의해 도시됨), 및 자산 D(2408에 의해 도시됨)와 같은 복수의 자산에 종속된다. 복수의 자산은 미디어 서버(2402)에 의해 클라우드(2403)를 통해 엔드 디바이스(2404)에 제공된다. 도 24의 예에서, 장면(2401) 내의 복수의 자산은 자산 A, 자산 B, 자산 C, 및 자산 D에 의해 순서화된다. 복수의 자산은 자산 A, 자산 B, 자산 C, 및 자산 D의 순서와 같은, 장면(2401) 내의 자산 순서에 의해 인출되고 엔드 디바이스로 전송된다. 자산이 엔드 디바이스에 의해 이용가능하게 되는 자산 순서는 수용가능한 사용자 경험을 제공하지 않을 수 있다.
개시내용의 측면에 따르면, 장면에 대한 자산이 엔드 디바이스로 스트리밍되기 전에, 자산 우선순위화기는 장면에 대하여 필요한 자산을 분석하고 각각의 자산에 대한 우선순위 값을 배정하기 위하여 이용될 수 있다.
도 25는 일부 예에서 장면 내의 자산을 재순서화하기 위한 도면을 도시한다. 도 25의 예에서, 자산 우선순위화기(2502)는 우선순위 값을 장면 내의 각각의 자산에 배정하기 위하여 이용된다. 예를 들어, 장면은 (2504에 의해 도시된 바와 같은) 자산 A, (2505에 의해 도시된 바와 같은) 자산 B, (2506에 의해 도시된 바와 같은) 자산 C, 및 (2507에 의해 도시된 바와 같은) 자산 D로서 지칭되는 4개의 자산에 의존한다. 먼저, 4개의 자산은 2501에 의해 도시된 바와 같이, 자산 A, 자산 B, 자산 C, 및 자산 D의 자산 순서이다. 자산 우선순위화기(2502)는 제1 우선순위 값(예컨대, 2)을 자산 A에, 제2 우선순위 값(예컨대, 4, 최고 우선순위 값)을 자산 B에, 제3 우선순위 값(예컨대, 1, 최저 우선순위 값)을 자산 C에, 그리고 제4 우선순위 값(예컨대, 3)을 자산 D에 배정한다. 4개의 자산은 2503에 의해 도시된 바와 같이, 자산 B, 자산 D, 자산 A, 및 자산 C의 순서와 같은 우선순위 값에 따라 재순서화될 수 있다.
예에서, 재순서화된 자산은 미디어 서버에 의해 엔드 디바이스로 스트리밍될 수 있다.
더 높은 우선순위를 나타내기 위하여 더 큰 값이 본 개시내용에서 이용되지만, 다른 적당한 우선순위 번호부여 기법은 자산 우선순위를 프레젠트하기 위하여 이용될 수 있다는 것이 주목된다.
도 26은 일부 예에서 장면-기반 몰입형 미디어를 엔드 디바이스로 스트리밍하기 위한 예의 도면을 도시한다. 도 26의 예에서, 장면-기반 몰입형 미디어의 장면은 2601에 의해 도시된 바와 같이 높은 것으로부터 낮은 것으로 자산 B, 자산 D, 자산 A, 및 자산 C의 순서와 같은, 4개의 자산의 우선순위 값에 따라 재순서화되는 4개의 자산을 포함한다. 4개의 자산은 미디어 서버(2602)에 의해 우선순위 값의 순서로 클라우드(2603)를 통해 엔드 디바이스(2604)에 제공된다. 예를 들어, 4개의 자산은 자산 B(2605에 의해 도시됨), 자산 D(2606에 의해 도시됨), 자산 A(2607에 의해 도시됨), 및 자산 C(2608에 의해 도시됨)의 순서에 의해 인출되고 엔드 디바이스(2604)로 전송된다.
개시내용의 측면에 따르면, 자산 우선순위화기(2502)는 바이트(byte)인 각각의 자산의 크기에 기초하여 우선순위 값을 자산에 배정할 수 있다. 예에서, 가장 작은 자산에는 최고 우선순위 값이 배정되어, 이로써 엔드 디바이스가 더 큰 자산이 도달하는 것을 여전히 대기하고 있는 동안에, 일련의 자산이 더 많은 자산(예컨대, 더 작은 자산)을 더 신속하게 사용자에게 도시하는 순서로 렌더링될 수 있다. 도 26을 예로서 이용하면, 자산 B는 최저 개수의 바이트(크기에 있어서 가장 작음)를 가지고, 자산 C는 최고 개수의 바이트(크기에 있어서 가장 큼)를 가진다. 도 24에서의 제1 스트리밍 순서 및 도 26에서의 제2 스트리밍 순서를 비교하면, 엔드 디바이스(2604)는 엔드 디바이스(2404)보다 더 빨리 자산을 도시하는 것을 시작할 수 있는데, 그 이유는 도 24에서, 상대적으로 더 큰 자산이 먼저 스트리밍되고, 엔드 디바이스(2404)는 상대적으로 더 큰 자산이 도달하였을 때까지 도시할 것을 가지지 않을 수 있기 때문이다.
일부 예에서, 자산 우선순위화기에 의해 배정되는 우선순위화는 또한, MPD 내의 매니페스트 내에 포함될 수 있다. 일부 예에서, 장면 기반 몰입형 미디어 내의 장면 내의 자산의 자산 우선순위 값은 서버 디바이스 또는 전송기 디바이스에 의해 정의될 수 있고, 자산 우선순위 값은 장면 기반 몰입형 미디어를 플레이하기 위한 세션 동안에 클라이언트 디바이스에 의해 변경될 수 있다.
개시내용의 일부 측면은 배정된 자산 우선순위 값에 따라 명시야 기반 디스플레이(예컨대, 명시야 디스플레이 또는 홀로그래픽 디스플레이)에 대한 동적 적응적 스트리밍을 위한 방법을 제공한다. 배정된 자산 우선순위 값을 갖는 자산은 자산 우선순위 값에 기초하여 송신(스트리밍)될 수 있다. 일부 예에서, 자산 우선순위 값은 자산의 크기에 기초하여 자산에 배정된다. 일부 예에서, 자산 우선순위 값은 하나 이상의 클라이언트 디바이스로부터의 피드백에 기초하여 조절된다.
개시내용의 제4 측면에 따르면, 명시야 기반 디스플레이(예컨대, 명시야 디스플레이, 홀로그래픽 디스플레이 등)에 대한 장면 기반 몰입형 미디어와 같은 장면 기반 몰입형 미디어 내의 자산은 자산 가시성에 기초하여 우선순위화될 수 있다.
개시내용의 측면에 따르면, 스트림 내의 모든 자산이 시간에 있어서의 임의의 순간에 동일하게 관련되지는 않는데, 그 이유는 일부 자산이 어떤 순간에 최종 사용자에게 가시적이지 않을 수 있기 때문이다. 일부 예에서, 스트리밍 시에 은닉된 자산에 비해 가시적 자산을 우선순위화하는 것은 엔드 디바이스(예컨대, 클라이언트 디바이스)에 의해 이용가능하여 할 관련된 자산(예컨대, 가시적 자산)에 대한 지연을 감소시킬 수 있다. 일부 예에서, 자산에 대한 우선순위 값은 장면의 디폴트 엔트리 위치 등과 같은 카메라 포지션으로부터의 자산의 가시성에 따라 결정된다.
일부 예에서, 최종 사용자와 연관되는 가상적 인물(또한, 일부 예에서 카메라로서 지칭됨)이 엔트리 위치(예컨대, 장면의 디폴트 엔트리 위치)에서 장면에 진입할 때, 장면의 일부 자산은 즉각적으로 가시적이지만, 다른 자산은 엔트리 위치로부터 관측할 때 또는 카메라 엔트리 위치에 배치될 때에 가시적이지 않을 수 있다.
도 27은 일부 예에서 장면(2701)의 도면을 도시한다. 카메라는 최종 사용자에 대응하는 관측 포지션을 갖는 가상적 인물을 나타낸다. 카메라는 디폴트 엔트리 위치(2702)에서 장면(2701)에 진입한다. 장면(2701)은 자산 A, 자산 B, 자산 C, 및 자산 D를 포함한다. 자산 A는 2703에 의해 도시된 바와 같은 책장의 바닥-대-천장 세트이다. 자산 B는 2704에 의해 도시된 바와 같은 컴퓨터 책상이다. 자산 C는 2705에 의해 도시된 바와 같은 회의 테이블이다. 자산 D는 2706에 의해 도시된 바와 같은, 또 다른 장면으로의 출입구이다.
도 27의 예에서, 자산 B는 디폴트 위치(2702)로부터 가시적이지 않은데, 그 이유는 자산 B가 자산 A에 의해 완전히 은닉되어 있기 때문이다. 도 27에서, 자산 B는 자산 B가 디폴트 엔트리 위치(2702)에서 카메라에게 비가시적이라는 것을 지시하기 위하여 음영표시(shade)된다.
일부 예에서, 장면에 대한 자산이 엔드 디바이스로 스트리밍되기 전에, 자산 우선순위화기는 장면에 대한 자산을 분석하고 장면의 디폴트 엔트리 위치에 관한 자산의 가시성에 따라 각각의 자산에 대한 우선순위 값을 배정하기 위하여 이용된다.
도 28은 일부 예에서 장면(예컨대, 장면(2701)) 내의 자산을 재순서화하기 위한 도면을 도시한다. 도 28의 예에서, 자산 우선순위화기(2802)는 우선순위 값을 장면 내의 각각의 자산에 배정하기 위하여 이용된다. 예를 들어, (도 27에서의 장면(2701)과 같은) 장면은 (2804에 의해 도시된 바와 같은) 자산 A, (2805에 의해 도시된 바와 같은) 자산 B, (2806에 의해 도시된 바와 같은) 자산 C, 및 (2807에 의해 도시된 바와 같은) 자산 D에 의존한다. 먼저, 4개의 자산은 2801에 의해 도시된 바와 같이, 자산 A, 자산 B, 자산 C, 및 자산 D의 자산 순서이다. 자산 우선순위화기(2802)는 장면에 진입하기 위한 디폴트 엔트리 위치에 따라 자산의 가시성을 분석한다. 예를 들어, 자산 A, C, 및 D는 디폴트 엔트리 위치로부터 가시적이고, 자산 B는 디폴트 엔트리 위치로부터 비가시적이다. 자산 우선순위화기(2802)는 가시성에 따라 우선순위 값을 자산에 배정한다. 예를 들어, 자산 우선순위화기(2802)는 높은 우선순위 값을 자산 A, 자산 C, 및 자산 D에 배정하고, 낮은 우선순위 값을 자산 B에 배정한다. 4개의 자산은 2803에 의해 도시된 바와 같이, 자산 A, 자산 C, 자산 D, 및 자산 B의 순서와 같은 우선순위 값에 따라 재순서화될 수 있다.
예에서, 재순서화된 자산은 미디어 서버에 의해 엔드 디바이스로 스트리밍될 수 있다.
도 29는 일부 예에서 장면-기반 몰입형 미디어를 엔드 디바이스로 스트리밍하기 위한 예의 도면을 도시한다. 도 29의 예에서, 장면-기반 몰입형 미디어의 장면(예컨대, 장면(2701))은 2901에 의해 도시된 바와 같이 높은 것으로부터 낮은 것으로 자산 A, 자산 C, 자산 D, 및 자산 B의 순서와 같은, 4개의 자산의 우선순위 값에 따라 재순서화되는 4개의 자산을 포함한다. 4개의 자산은 미디어 서버(2902)에 의해 우선순위 값의 순서로 클라우드(2903)를 통해 엔드 디바이스(2904)에 제공된다. 예를 들어, 4개의 자산은 자산 A(2905에 의해 도시됨), 자산 C(2906에 의해 도시됨), 자산 D(2907에 의해 도시됨), 및 자산 B(2908에 의해 도시됨)의 순서에 의해 인출되고 엔드 디바이스(2904)로 전송된다.
개시내용의 측면에 따르면, 자산 우선순위화기(2802)는 자산의 가시성에 기초하여 우선순위 값을 장면 내의 자산에 배정할 수 있다. 예에서, 가시적 자산에는 최고 우선순위 값이 배정되어, 이로써 가시적 자산이 먼저 스트리밍되고, 렌더링을 위하여 최종 사용자에게 더 신속하게 도달할 수 있다. 도 24에서의 제1 스트리밍 순서 및 도 29에서의 제2 스트리밍 순서를 비교하면, 엔드 디바이스(2904)는 엔드 디바이스(2404)보다 더 빨리 장면의 가시적 자산을 도시하는 것을 시작할 수 있다.
일부 예에서, 자산 우선순위화기(2802)는 자산이 또 다른 자산에 의해 카메라 뷰로부터 차단되는지 여부에 기초하여 우선순위 값을 자산에 배정할 수 있다. 우선순위 값은 "가시적 자산 먼저, 모든 가시적 자산 후에 비가시적 자산"의 정책에 따라 배정될 수 있어서, 이로써 일련의 자산은 가시적 자산의 전부를 최종 사용자에게 더 신속하게 도시하는 순서로 렌더링될 수 있다.
일부 예에서, 자산 우선순위화기(2802)는 다른 자산이 이 자산을 가리는지 여부에 기초하여 우선순위 값을 자산에 배정할 수 있는데, 그 이유는 다른 자산이 이 자산과 광원 사이에 있기 때문이다. 우선순위 값은 "가시적 자산 먼저, 모든 가시적 자산 후에 비가시적 자산"의 정책에 따라 배정될 수 있어서, 이로써 일련의 자산은 가시적 자산의 전부를 최종 사용자에게 더 신속하게 도시하는 순서로 렌더링될 수 있다.
도 30은 일부 예에서 장면(3001)의 도면을 도시한다. 장면(3001)은 도 27에서의 장면(2701)과 유사하다. 카메라는 최종 사용자에 대응하는 관측 포지션을 갖는 가상적 인물을 나타낸다. 카메라는 디폴트 엔트리 위치(3002)에서 장면(3001)에 진입한다. 장면(3001)은 자산 A, 자산 B, 자산 C, 및 자산 D를 포함한다. 자산 A는 3003에 의해 도시된 바와 같은 책장의 바닥-대-천장 세트이다. 자산 B는 3004에 의해 도시된 바와 같은 컴퓨터 책상이다. 자산 C는 3005에 의해 도시된 바와 같은 회의 테이블이다. 자산 D는 3006에 의해 도시된 바와 같은, 또 다른 장면으로의 출입구이다. 자산 B는 디폴트 엔트리는 위치(3002)로부터 가시적이지 않은데, 그 이유는 자산 B가 자산 A에 의해 완전히 은닉되어 있기 때문이다. 도 30에서, 자산 B는 자산 B가 디폴트 엔트리 위치(3002)에서 카메라에게 비가시적이라는 것을 지시하기 위하여 음영표시된다.
도 30은 광원(3007)을 추가로 도시한다. 광원(3007)의 포지션으로 인해, 회의 테이블(3005) 및 출입구(3006)는 (예컨대, 3008과 3009 사이에서) 책장의 그늘에 의해 둘 모두 가려진다. 따라서, 자산 C 및 자산 D는 카메라에게 가시적이지 않아서, 이로써 자산 우선순위화기(2802)는 예에서 자산 C 및 자산 D의 우선순위를 낮출 수 있다.
일부 예에서, 미디어 서버는 2개의 파트인 컨텐츠 설명을 가질 수 있다: 이용가능한 장면, 다양한 대안, 및 다른 특성의 매니페스트를 설명하는 미디어 프레젠테이션 설명(MPD); 및 변동되는 자산을 갖는 다수의 자산. 자산 우선순위화기에 의해 배정되는 우선순위화는 또한, MPD 내의 매니페스트 내에 포함될 수 있다.
일부 예에서, 장면 기반 몰입형 미디어의 장면 내의 자산의 우선순위 값은 서버 디바이스 또는 전송기 디바이스에 의해 정의될 수 있다. 자산의 우선순위 값은 MPD 내에 포함될 수 있고, 클라이언트 디바이스에 제공될 수 있다. 예에서, 우선순위 값은 장면 기반 몰입형 미디어를 플레이하는 세션 동안에 클라이언트 디바이스에 의해 변경될 수 있다.
개시내용의 일부 측면은 배정된 자산 우선순위 값에 따라 명시야 기반 디스플레이에 대한 동적 적응적 스트리밍을 위한 방법을 제공한다. 자산은 배정된 자산 우선순위 값에 기초하여 송신(예컨대, 스트리밍)될 수 있다. 일부 예에서, 자산에 대한 배정된 자산 우선순위 값은 자산이 하나 이상의 다른 자산에 의해 카메라 뷰로부터 차단되고 이에 따라 가시적이지 않은 것에 응답하여 낮추어진다. 일부 예에서, 자산에 대한 자산 우선순위 값은, 자산이 하나 이상의 다른 자산에 의해 하나 이상의 광원으로부터 가려지고, 카메라에게 가시적이지 않을 때에 낮추어진다. 일부 예에서, 우선순위 값(자산 우선순위 값)은 업데이트된 카메라 포지션과 같은, 클라이언트 디바이스로부터의 피드백에 기초하여 조절된다.
개시내용의 제5 측면에 따르면, 명시야 기반 디스플레이(예컨대, 명시야 디스플레이, 홀로그래픽 디스플레이 등)에 대한 장면 기반 몰입형 미디어와 같은 장면 기반 몰입형 미디어 내의 자산은 다수의 정책에 기초하여 우선순위화될 수 있다.
개시내용의 측면에 따르면, 자산의 크기에서의 차이를 포함하지만, 이것으로 제한되지 않는 다양한 이유로, 스트림 내의 모든 자산이 시간에 있어서 동일한 순간에 엔드 디바이스에 도달하는 것은 아니다. 추가로, 일부 자산이 다른 자산의 뒤에서 가려지는 것을 포함하지만, 이것으로 제한되지 않는 다양한 이유로, 모든 자산이 시간에 있어서의 임의의 순간에 동일하게 가치 있는 것은 아니다. 다양한 이유로, 클라이언트는 자산을 우선순위화할 것을 희망할 수 있다.
예에서, 충분히 상세한 매니페스트가 장면에서 이용되는 자산을 설명한다면, 클라이언트의 엔드 디바이스는 모든 자산 우선순위화 자체를 수행하기 위한 충분한 로컬 자원을 가질 수 있다. 많은 예측가능한 상황에서, 이것은 다양한 이유(예컨대, 이용가능한 프로세서 파워, 또는 자산 우선순위화를 오프로딩하고 이용가능한 배터리 수명을 절감하기 위한 필요성)로 반드시 그렇지 않을 수 있다. 개시내용의 일부 측면은 클라이언트의 엔드 디바이스를 대신하여 스트리밍하기 위한 자산을 우선순위화하기 위한 방식을 제공한다. 예를 들어, 자산의 우선순위 값은 클라이언트의 엔드 디바이스의 외부에 배정되고, 하나 이상의 우선순위화 방식에 의해 결정된다.
일부 예에서, 장면에 대한 자산이 엔드 디바이스로 스트리밍되기 전에, 자산 우선순위화기는 장면에 대하여 필요한 자산을 분석하고 각각의 자산에 대한 우선순위를 배정하기 위하여 이용된다.
도 31은 일부 예에서 우선순위 값을 장면 내의 자산에 배정하기 위한 도면을 도시한다. 도 31의 예에서, 자산 우선순위화기(3102)는 하나 이상의 우선순위 값을 장면 내의 각각의 자산에 배정하기 위하여 이용된다. 예를 들어, (도 27에서의 장면(2701)과 같은) 장면은 (3105에 의해 도시된 바와 같은) 자산 A, (3106에 의해 도시된 바와 같은) 자산 B, (3107에 의해 도시된 바와 같은) 자산 C, 및 (3108에 의해 도시된 바와 같은) 자산 D에 의존한다. 먼저, 4개의 자산은 3101에 의해 도시된 바와 같이, 자산 A, 자산 B, 자산 C, 및 자산 D의 자산 순서이다. 자산 우선순위화기(3102)는 다수의 정책에 따라 우선순위 값을 자산에 배정한다. 자산은 배정된 우선순위 값에 따라 재순서화된다. 도 31에서, 자산 A 내지 D는 3103에 의해 도시된 바와 같이, 자산 A, 자산 C, 자산 D, 및 자산 B의 순서로 배정된 우선순위 값에 따라 재순서화된다. 3103에서의 각각의 자산은 각각의 자산에 대하여 +P1+P2에 의해 도시된 2개의 우선순위 값과 같은, 자산 우선순위화기(3102)에 의해 배정되는 하나 이상의 우선순위 값을 이제 운반한다는 것이 또한 주목된다. 예에서, 자산 우선순위화기(3102)는 제1 우선순위 정책에 따라 P1과 같은, 우선순위 값의 제1 세트를 장면 내의 각각의 자산에 배정할 수 있고, 제2 우선순위 정책에 따라 P2와 같은, 우선순위 값의 제2 세트를 장면 내의 각각의 자산에 배정할 수 있다. 자산은 우선순위 값의 제1 세트에 따라 재순서화될 수 있거나, 우선순위 값의 제2 세트에 따라 재순서화될 수 있다.
일부 예에서, 자산이 우선순위화된 후에, 자산은 우선순위 순서로 요청되고 스트리밍된다.
도 32는 일부 예에서 장면-기반 몰입형 미디어를 엔드 디바이스로 스트리밍하기 위한 예의 도면을 도시한다. 도 32의 예에서, 장면-기반 몰입형 미디어의 장면은 3201에 의해 도시된 바와 같이 높은 것으로부터 낮은 것으로 자산 A, 자산 C, 자산 D, 및 자산 B의 순서와 같은, 4개의 자산의 우선순위 값에 따라 재순서화되는 4개의 자산을 포함한다. 4개의 자산은 미디어 서버(3202)에 의해 우선순위 값의 순서로 클라우드(3203)를 통해 엔드 디바이스(3204)에 제공된다. 예를 들어, 4개의 자산은 자산 A(3205에 의해 도시됨), 자산 C(3206에 의해 도시됨), 자산 D(3207에 의해 도시됨), 및 자산 B(3208에 의해 도시됨)의 순서에 의해 인출되고 엔드 디바이스(3204)로 전송된다.
개시내용의 측면에 따르면, 엔드 디바이스가 우선순위화 순서로 장면의 자산을 요청할 때, 엔드 디바이스는 장면을 더 신속하게 렌더링하는 것을 시작하는 것이 가능할 수 있다.
자산 우선순위화기(3102)는 개선된 이용 경험을 우선순위 값을 자산에 배정하기 위한 기초로서 제공하는 임의의 등급화 기준을 이용할 수 있다는 것이 주목된다.
일부 예에서, 자산 우선순위화기(3102)는 하나 초과의 우선순위화 방식을 이용할 수 있고, 하나 초과의 우선순위 값을 각각의 자산에 배정할 수 있어서, 이로써 미디어 서버(3202)는 그 다음으로, 각각의 엔드 디바이스(3204)에 대한 가장 적절한 우선순위화 방식을 이용할 수 있다.
예에서, 엔드 디바이스(3204)는 미디어 서버(3202)로부터의 상대적으로 길고 및/또는 낮은 비트레이트 네트워크 경로의 종단부에 있고, 엔드 디바이스(3204)는 자산을 가장 작은 파일 크기로부터 가장 큰 파일 크기로 등급화하는 우선순위 방식으로부터 이익을 얻을 수 있어서, 이로써 엔드 디바이스는 도달하기 위한 더 큰 자산을 대기하지 않으면서, 더 많은 자산을 신속하게 렌더링하는 것을 시작할 수 있다. 또 다른 예에서, 엔드 디바이스(3204)는 미디어 서버(3202)로부터의 더 짧고 더 빠른 네트워크 경로의 종단부에 있고, 자산 우선순위화기(3102)는 자산이 또 다른 자산에 의해 카메라 뷰로부터 차단되는지 여부에 기초하여 별도의 우선순위를 각각의 자산에 배정할 수 있다. 이 우선순위 정책은 "가시적 자산 먼저, 모든 가시적 자산 후에 비가시적 자산"만큼 간단할 수 있어서, 이로써 미디어 서버(3202)는 엔드 디바이스가 가시적 자산의 전부를 최종 사용자에게 더 신속하게 도시하는 것을 허용하는 순서로 일련의 자산을 제공할 수 있다.
일부 예에서, 미디어 서버(3202)는 엔드 디바이스(3204)로 전송되는 설명(예컨대, MPD) 내에 자산의 배정된 우선순위 값을 포함할 수 있다. 엔드 디바이스(3204)에서의 클라이언트는 2개 이상의 자산이 동일한 클라이언트-배정된 우선순위 값(예컨대, "가시적"/"가시적이지 않음"과 같은, 작은 개수의 별개의 가능한 값에 의한 우선순위화 방식)을 가질 때, 타이브레이커(tiebreaker)로서의 설명 내의 배정된 우선순위 값에 의존하면서, 자산 우선순위화기(3102)에 의해 지원되지 않는 추가적인 우선순위화 방식을 이용할 수 있다.
개시내용의 일부 측면은 배정된 자산 우선순위 값에 기초하여 명시야 기반 디스플레이에 대한 동적 적응적 스트리밍을 위한 방법을 제공한다. 일부 예에서, 자산 스트리밍에서의 자산의 순서는 별개의 자산 우선순위화 방식을 이용하여 배정되는 다수의 배정된 자산 우선순위 값 중의 하나에 기초할 수 있다. 일부 예에서, 자산의 동일한 세트는 상이한 자산 우선순위화 방식을 이용하여 세트 내의 각각의 자산에 배정되는 우선순위 값에 기초하여, 상이한 순서로 상이한 클라이언트로 전송될 수 있다. 일부 예에서, 자산 우선순위화기-배정된 우선순위 값은 자산 설명과 함께 클라이언트로 전송되고, 자산 우선순위화기-배정된 우선순위 값은 클라이언트가, 동일한 클라이언트-배정된 자산 우선순위 값을 가지는 자산을 우선순위화하기 위하여 자산 우선순위화기-배정된 우선순위 값에 의존하면서, 자산 우선순위화기에 의해 지원되지 않는 자산 우선순위화 방식을 이용하는 것을 허용한다. 일부 예에서, 우선순위 값은 클라이언트로부터의 피드백에 기초하여 자산 우선순위화기에 의해 조절될 수 있다.
개시내용의 제6 측면에 따르면, 명시야 기반 디스플레이(예컨대, 명시야 디스플레이, 홀로그래픽 디스플레이 등)에 대한 자산 기반 몰입형 미디어와 같은 자면 기반 몰입형 미디어 내의 자산은 관측 시야 내의 거리에 기초하여 우선순위화될 수 있다.
개시내용의 측면에 따르면, 스트림 내의 모든 자산은 시간에 있어서의 임의의 순산에 동일하게 관련되지는 않는데, 그 이유는 사용자가 장면에 진입할 때, 일부 자산이 (예컨대, 가상적 인물에 의해 표현되거나, 가상적 카메라에 의해 표현되는) 사용자의 관측 시야의 외부에 있을 수 있기 때문이다. 최종 사용자에게 가장 가시적이고 현저한 자산이 엔드 디바이스에 의해 이용가능할 때까지 지연을 최소화하기 위하여, 사용자가 장면에 진입하는 장면의 디폴트 엔트리 위치에서의 관측 시야 내에서 가시적인 자산이 우선순위화될 수 있다. 일부 예에서, 장면 내의 자산은 자산이 렌더러의 가상적 카메라의 관측 시야 내에 있는지 여부, 및 사용자에게 프레젠트되는 뷰를 렌더링하기 위하여 이용되는 가상적 카메라 포지션으로부터의 자산의 거리에 따라 우선순위화될 수 있다.
도 33은 일부 예에서 장면(3301)의 도면을 도시한다. 장면(3301)은 도 27에서의 장면(2701)과 유사하다. 카메라는 최종 사용자에 대응하는 관측 포지션을 갖는 가상적 인물을 나타낸다. 카메라는 디폴트 엔트리 위치(3302)(또한, 초기 위치로서 지칭됨)에서 장면(3301)에 진입한다. 장면(3301)은 자산 A, 자산 B, 자산 C, 및 자산 D를 포함한다. 자산 A는 3303에 의해 도시된 바와 같은 책장의 바닥-대-천장 세트이다. 자산 B는 3304에 의해 도시된 바와 같은 컴퓨터 책상이다. 자산 C는 3305에 의해 도시된 바와 같은 회의 테이블이다. 자산 D는 3306에 의해 도시된 바와 같은, 또 다른 장면으로의 출입구이다.
가상적 카메라가 디폴트 엔트리 위치(3302)에서 장면(3301)에 진입할 때, 일부 자산은 즉각적으로 가시적이지만, 다른 자산은 그렇지 않을 수 있다. 가상적 카메라의 시각 시야(또한, 관측 시야로서 지칭됨)(3307)는 제한되고, 전체 장면을 포함하지는 않는다. 도 33의 예에서, 자산 A 및 자산 B는 가상적 카메라의 초기 위치(3302)로부터 가시적인데, 그 이유는 이들이 가상적 카메라로부터의 시각 시야(3307) 내에 있기 때문이다. 자산 A는 가상적 카메라의 초기 위치(3302)로부터 자산 B로부터 더 멀다는 것이 주목된다.
도 33에서, 자산 C 및 자산 D는 가상적 카메라의 초기 위치(3302)로부터 가시적이지 않은데, 그 이유는 이들이 가상적 카메라로부터의 시각 시야(3307) 외부에 있기 때문이다.
일부 예에서, 장면에 대한 자산이 엔드 디바이스로 스트리밍되기 전에, 자산 우선순위화기는 장면에 대하여 필요한 자산을 분석하고, 장면의 디폴트 엔트리 위치와 연관되는 관측 시야, 및 장면의 디폴트 엔트리 위치까지의 자산의 거리에 따라 각각의 자산에 대한 우선순위 값을 배정하기 위하여 이용된다.
도 34는 일부 예에서 장면 내의 자산을 재순서화하기 위한 도면을 도시한다. 도 34의 예에서, 자산 우선순위화기(3402)는 우선순위 값을 장면 내의 각각의 자산에 배정하기 위하여 이용된다. 예를 들어, (도 33에서의 장면(3301)과 같은) 장면은 (3404에 의해 도시된 바와 같은) 자산 A, (3405에 의해 도시된 바와 같은) 자산 B, (3406에 의해 도시된 바와 같은) 자산 C, 및 (3407에 의해 도시된 바와 같은) 자산 D에 의존한다. 먼저, 4개의 자산은 3401에 의해 도시된 바와 같이, 자산 A, 자산 B, 자산 C, 및 자산 D의 자산 순서이다. 자산 우선순위화기(3402)는 장면에 진입하기 위한 디폴트 엔트리 위치에서의 관측 시야, 및 디폴트 엔트리 위치로부터의 관측 시야 내의 거리에 따라 자산을 분석한다. 일부 예에서, 자산의 우선순위 값은 자산이 카메라 관측 시야 내에서 가시적인지 여부에 기초하여 결정될 수 있다. 일부 예에서, 자산의 우선순위 값은 카메라로부터의 자산의 상대적인 거리에 기초할 수 있다. 예를 들어, 자산 A 및 B는 관측 시야 내에 있고, 디폴트 엔트리 위치로부터 가시적이고, 자산 C 및 D는 관측 시야의 외부에 있고, 디폴트 엔트리 위치로부터 비가시적이다. 추가로, 자산 B는 자산 A보다 디폴트 엔트리 위치까지의 더 짧은 거리를 가진다. 4개의 자산은 3403에 의해 도시된 바와 같이, 자산 B, 자산 A, 자산 C, 및 자산 D의 순서와 같은 우선순위 값에 따라 재순서화될 수 있다.
예에서, 재순서화된 자산은 미디어 서버에 의해 엔드 디바이스로 스트리밍될 수 있다.
도 35는 일부 예에서 장면-기반 몰입형 미디어를 엔드 디바이스로 스트리밍하기 위한 예의 도면을 도시한다. 도 35의 예에서, 장면-기반 몰입형 미디어의 장면은 3501에 의해 도시된 바와 같이 높은 것으로부터 낮은 것으로 자산 B, 자산 A, 자산 C, 및 자산 D의 순서와 같은, 4개의 자산의 우선순위 값에 따라 재순서화되는 4개의 자산을 포함한다. 4개의 자산은 미디어 서버(3502)에 의해 우선순위 값의 순서로 클라우드(3503)를 통해 엔드 디바이스(3504)에 제공된다. 예를 들어, 4개의 자산은 자산 B(3505에 의해 도시됨), 자산 A(3506에 의해 도시됨), 자산 C(3507에 의해 도시됨), 및 자산 D(3508에 의해 도시됨)의 순서에 의해 인출되고 엔드 디바이스(3504)로 전송된다.
도 24에서의 제1 스트리밍 순서 및 도 35에서의 제2 스트리밍 순서를 비교하면, 가시적 자산이 먼저 스트리밍되고, 따라서, 엔드 디바이스(3504)는 엔드 디바이스(2404)보다 더 신속하게 장면의 가시적 자산을 렌더링할 수 있다.
일부 예에서, 자산 우선순위화기(3402)는 가상적 카메라의 시각 시야 및 가상적 카메라로부터의 거리에 기초하여 자산에 대한 우선순위 값을 배정할 수 있어서, 이로써 시각 시야 내의 사용자에게 가장 근접한 자산이 먼저 렌더링된다.
일부 예에서, 관측 시야(또한, 시각 시야로서 지칭됨) 외부의 자산은, 시각 시야 내의 모든 자산이 송신을 위하여 스케줄링되었을 때까지 엔드 디바이스(3504)로의 송신을 위하여 스케줄링되지 않을 수 있다. 시각 시야 외부의 자산이 송신을 위하여 스케줄링되기 전에 지연이 있을 수 있다. 극단적인 경우에, 사용자가 또 다른 장면에 진입하기 위하여 신속하게 장면 내부 그리고 다시 장면 외부를 보는 경우에, 송신을 위하여 스케줄링되지 않은 자산은 출발한 사용자가 장면에 재진입할 때까지 스케줄링되지 않을 수 있다.
도 36은 일부 예에서 디스플레이된 장면(3601)의 도면을 도시한다. 디스플레이된 장면(3601)은 장면(3301)에 대응한다. 디스플레이된 장면(3601)에서, 책장(3603) 및 워크스테이션(3604)은 인출되고 렌더링되었는데, 그 이유는 이들이 디폴트 엔트리 위치로부터 카메라에게 가시적인 장면(3601) 내의 자산이기 때문이다.
개시내용의 일부 측면은 자산이 카메라(예컨대, 몰입형 미디어 경험을 위하여 사용자 또는 플레이에 대응하는 가상적 카메라)의 관측 시야(또한, 시각 시야로서 지칭됨) 내에 있는지 여부에 의해 결정되는 배정된 자산 우선순위 값에 따라 명시야 기반 디스플레이에 대한 동적 적응적 스트리밍을 위한 방법을 제공한다. 일부 예에서, 자산의 배정된 자산 우선순위 값은 카메라의 위치로부터의 자산의 거리에 의해 결정된다. 자산은 자산 우선순위 값에 기초하여 결정되는 순서로 송신될 수 있다. 일부 예에서, 자산의 우선순위 값은 자산이 카메라의 관측 시야 외부에 있을 때에 낮추어진다. 일부 예에서, 자산의 우선순위 값은 자산이 관측 시야 내의 또 다른 자산보다 카메라로부터 더 떨어져 있을 때에 낮추어진다. 일부 예에서, 우선순위 값은 하나 이상의 클라이언트 디바이스로부터의 피드백에 기초하여 조절된다.
개시내용의 제7 측면에 따르면, 명시야 기반 디스플레이(예컨대, 명시야 디스플레이, 홀로그래픽 디스플레이 등)에 대한 장면 기반 몰입형 미디어와 같은 장면 기반 몰입형 미디어 내의 자산은 자산 복잡도에 기초하여 우선순위화될 수 있다.
개시내용의 측면에 따르면, 장면 내의 모든 자산은 동일하게 복잡하지는 않고, 최종 사용자의 엔드 디바이스 상에서의 디스플레이를 위한 자산을 렌더링하기 위하여 컴퓨팅 자원(예컨대, 그래픽 프로세싱 유닛(GPU : graphics processing unit))으로부터 동일한 양의 연산을 요구하지는 않는다. 장면이 최종 사용자에게 프레젠트될 수 있을 때까지 지연을 최소화하기 위하여, 장면을 구성하는 자산은 일부 예에서 장면 설명 내에 존재하는 각각의 자산의 상대적인 복잡도에 기초하여 스트리밍을 위하여 우선순위화될 수 있다.
도 37은 일부 예에서 장면 기반 몰입형 미디어 내의 장면(3701)에 대한 도면을 도시한다. 장면(3701)은 4개의 자산: 자산 A, 자산 B, 자산 C, 및 자산 D를 포함한다. 도 37에서, 자산 A는 3705에 의해 도시된 바와 같은 평활한 외장을 갖는 최신 주택이고, 자산 B는 3706에 의해 도시된 바와 같은 현실적인 사람이고, 자산 C는 3707에 의해 도시된 바와 같은 스타일이 좋은 인간 조각상이고, 자산 D는 3708에 의해 도시된 바와 같은 고도로 상세한 나무라인이다.
예에서, 엔드 디바이스가 장면(3701)에 대한 자산을 요청할 때, 예를 들어, 미디어 서버(2402)는 자산 A, 자산 B, 자산 C, 및 자산 D의 순서와 같은 임의적인 순서로 자산을 엔드 디바이스에 제공할 수 있다. 자산이 엔드 디바이스에 의해 이용가능하게 되는 순서는 수용가능한 사용자 경험을 제공하지 않을 수 있다.
장면(3701) 내의 자산이 동일한 복잡도가 아니고, 자산은 엔드 디바이스 내의 GPU에 대해 동일한 연산 부하를 모두 배치하지는 않는다는 것이 주목된다. 본 개시내용에서, 자산을 구성하는 다각형의 수는 GPU에 대한 자산의 연산 부하를 나타내는 프록시(proxy)로서 이용된다. 표면 성질 등과 같은 자산의 다른 특성은 GPU에 대해 연산 부하를 배치할 수 있다는 것이 주목된다.
일부 예에서, 자산을 구성하는 다각형의 수는 자산의 복잡도를 측정하기 위하여 이용된다. 장면(3701)의 자산에서, 자산 A는 평활한 외장을 갖는 최신 주택이며 최저 개수의 다각형을 가지고, 자산 C는 스타일 좋은 인간 조각상이며 두 번째 최저 개수의 다각형을 가지고, 자산 B는 현실적인 사람이며 두 번째 최고 개수의 다각형을 가지고, 자산 D는 고도로 상세한 나무 라인이며 최고 개수의 다각형을 가진다. 다각형의 수에 기초하면, 장면(3701) 내의 자산은 자산 A, 자산 C, 자산 B, 및 자산 D의 순서로 최저 복잡도로부터 최고 복잡도로 등급화될 수 있다.
일부 예에서, 장면에 대한 자산이 엔드 디바이스로 스트리밍되기 전에, 자산 우선순위화기는 장면에 대하여 필요한 자산을 분석하고, 자산의 상대적인 복잡도에 기초하여 각각의 자산에 대한 우선순위 값을 배정하기 위하여 이용된다.
도 38은 일부 예에서 장면 내의 자산을 우선순위화하기 위한 도면을 도시한다. 도 38의 예에서, 자산 우선순위화기(3802)는 자산의 상대적인 복잡도에 기초하여 우선순위 값을 장면 내의 각각의 자산에 배정하기 위하여 이용된다. 예를 들어, (도 37에서의 장면(3701)과 같은) 장면은 (3804에 의해 도시된 바와 같은) 자산 A, (3805에 의해 도시된 바와 같은) 자산 B, (3806에 의해 도시된 바와 같은) 자산 C, 및 (3807에 의해 도시된 바와 같은) 자산 D에 의존한다. 먼저, 4개의 자산은 3801에 의해 도시된 바와 같이, 자산 A, 자산 B, 자산 C, 및 자산 D의 자산 순서이다. 자산 우선순위화기(3802)는 각각의 자산 내의 다각형의 수에 기초하는 것과 같은, 자산의 상대적인 복잡도에 따라 자산을 우선순위화(예컨대, 재순서화)한다. 예를 들어, 자산 D는 최고 개수의 다각형을 가지며 최고 우선순위 값(예컨대, 4)을 배정받고; 자산 B는 두 번째 최고 개수의 다각형을 가지며, 두 번째 최고 우선순위 값(예컨대, 3)으로 배정받고; 자산 C는 두 번째 최저 개수의 다각형을 가지며 두 번째 최저 우선순위 값(예컨대, 2)을 배정받고; 자산 A는 최저 개수의 다각형을 가지며 최저 우선순위 값(예컨대, 1)을 배정받는다. 4개의 자산은 3803에 의해 도시된 바와 같이, 자산 D, 자산 B, 자산 C, 및 자산 A의 순서와 같은 우선순위 값에 따라 재순서화될 수 있다.
자산 내의 다각형의 수는 위의 예에서 자산의 복잡도를 평가하고 자산에 대한 우선순위 값을 결정하기 이용되지만, 엔드 디바이스 내의 GPU에 대한 연산 부하에 영향을 줄 수 있는 자산의 다른 속성은 복잡도를 평가하고 우선순위 값을 결정하기 위하여 이용될 수 있다는 것이 주목된다.
예에서, 재순서화된 자산은 미디어 서버에 의해 엔드 디바이스로 스트리밍될 수 있다.
도 39는 일부 예에서 장면-기반 몰입형 미디어를 엔드 디바이스로 스트리밍하기 위한 예의 도면을 도시한다. 도 39의 예에서, 장면-기반 몰입형 미디어의 장면은 3901에 의해 도시된 바와 같이 높은 것으로부터 낮은 것으로 자산 D, 자산 B, 자산 C, 및 자산 A의 순서와 같은, 4개의 자산의 우선순위 값에 따라 재순서화되는 4개의 자산을 포함한다. 4개의 자산은 미디어 서버(3902)에 의해 우선순위 값의 순서로 클라우드(3903)를 통해 엔드 디바이스(3904)에 제공된다. 예를 들어, 4개의 자산은 자산 D(3905에 의해 도시됨), 자산 B(3906에 의해 도시됨), 자산 C(3907에 의해 도시됨), 및 자산 A(3908에 의해 도시됨)의 순서에 의해 인출되고 엔드 디바이스(3904)로 전송된다.
도 24에서의 제1 스트리밍 순서 및 도 39에서의 제2 스트리밍 순서를 비교하면, 엔드 디바이스(3904)는 엔드 디바이스(2404)보다 더 신속하게 장면을 렌더링할 수 있는데, 그 이유는 가장 복잡한 자산을 렌더링하기 위하여 요구되는 시간이 엔드 디바이스에 의해 렌더링되어야 할 전체 자산에 대한 최소 경과된 시간으로서 작동하기 때문이다. 일부 예에서, 엔드 디바이스 내의 GPU는 멀티스레딩(multithread)되도록 구성될 수 있어서, GPU는 가장 복잡한 자산과 병렬로 덜 복잡한 자산을 렌더링할 수 있고, 덜 복잡한 자산은 가장 복잡한 자산이 렌더링되었을 때에 이용가능할 수 있다.
개시내용의 일부 측면은 GPU에 대한 예상된 연산 부하에 의해 결정되는 배정된 자산 우선순위 값에 기초하여 명시야 기반 디스플레이에 대한 동적 적응적 스트리밍을 위한 방법을 제공한다. 일부 예에서, 스트리밍하기 위한 자산의 순서는 자산 우선순위 값에 기초할 수 있다. 일부 예에서, 자산 우선순위 값은 자산이 다른 자산보다 더 높은 연산된 복잡도를 가질 때에 증가된다. 일부 예에서, 우선순위 값은 클라이언트 디바이스로부터의 피드백에 기초하여 조절된다. 예를 들어, 피드백은 클라이언트 디바이스에서의 GPU 구성을 지시할 수 있거나, 복잡도 평가를 위한 상이한 속성을 지시할 수 있다.
개시내용의 제8 측면에 따르면, 명시야 기반 디스플레이(예컨대, 명시야 디스플레이, 홀로그래픽 디스플레이 등)에 대한 장면 기반 몰입형 미디어와 같은 장면 기반 몰입형 미디어 내의 자산은 다수의 메타데이터 속성에 기초하여 우선순위화될 수 있다.
개시내용의 측면에 따르면, 장면 내의 각각의 자산은, 이들이 장면 매니페스트에서 나타나는 순서로 자산을 간단하게 인출하는 것보다 더 양호한 사용자에 대한 경험을 제공하는 방식으로 장면을 렌더링하기 위하여, 렌더러가 자산이 인출되는 순서를 우선순위화하는 것을 각각 허용할 다양한 메타데이터 속성을 가질 수 있다.
개시내용의 또 다른 측면에 따르면, 단일 메타데이터 속성에 기초한 우선순위 값은 우선순위화를 위한 최상의 전략을 반영하지 않을 수 있다. 일부 예에서, 다수의 메타데이터 속성을 반영하는 우선순위 값의 세트는 단일 메타데이터 속성에 기초한 우선순위 값의 또 다른 세트보다 더 양호한 사용자 경험을 제공할 수 있다.
개시내용의 또 다른 측면에 따르면, 우선순위 선호도의 단일 세트에 기초한 우선순위 값은 우선순위화를 위한 최상의 전략을 반영하지 않을 수 있는데, 그 이유는 엔드 디바이스가 많은 방식, 즉, 2개의 방식을 단지 거명하면, 엔드 디바이스와 클라우드 사이의 경로 특성, 및 엔드 디바이스의 GPU 연산 능력에 있어서 상당히 변동될 수 있기 때문이다. 더 양호한 사용자 경험을 제공하기 위하여, 2개 이상의 자산 메타데이터 속성에 기초하여 스트리밍하기 위한 자산을 우선순위화하기 위한 기법이 이용될 수 있다.
도 37에서의 장면(3701)을 예로서 이용하면, 4개의 자산 각각은 다수의 메타데이터 속성을 가질 수 있다.
도 40은 예에서 자산(4001)의 메타데이터 속성을 예시하는 도면을 도시한다. 자산(4001)은 현실적인 사람인, 장면(3701) 내의 자산 B(3706)에 대응할 수 있다. 자산(4001)은 4003에 의해 도시된 바와 같은 바이트에 있어서의 크기와 같은 다양한 메타데이터 속성(4002), 4004에 의해 도시된 바와 같은 다각형의 수, 4005에 의해 도시된 바와 같은 디폴트 카메라로부터의 거리, 4006에 의해 도시된 바와 같은 디폴트 카메라(또한, 디폴트 엔트리 위치에서의 가상적 카메라로서 지칭됨)로부터의 가시성, 및 4007 및 4008에 의해 도시된 바와 같은 다른 메타데이터 속성을 포함한다.
메타데이터 속성(4002)은 예시를 위한 것이고, 일부 예에서, 다른 적당한 메타데이터 속성이 존재할 수 있고, 도 40에서 열거되는 일부 메타데이터 속성은 일부 예에서 부재할 수 있다는 것이 주목된다.
예에서, 엔드 디바이스가 장면(3701)에 대한 자산을 요청할 때, 예를 들어, 미디어 서버(2402)는 자산 A, 자산 B, 자산 C, 및 자산 D의 순서와 같은 임의적인 순서로 자산을 엔드 디바이스에 제공할 수 있다. 자산이 엔드 디바이스에 의해 이용가능하게 되는 순서는 수용가능한 사용자 경험을 제공하지 않을 수 있다.
장면(3701) 내의 자산은 동일한 크기, 복잡도, 및 최종 사용자에 대한 즉각적인 값이 아니다. 이 메타데이터 속성 각각은 우선순위화의 기초로서 별도로 이용될 수 있지만, 이 메타데이터 속성 각각은 또한, 상대적인 자산 우선순위를 결정하기 위하여 다른 메타데이터 속성과 조합하여 이용될 수 있다. 예를 들어, 자산은 4006에 의해 도시된 디폴트 카메라로부터의 가시성의 제1 메타데이터 속성, 4004에 의해 도시된 수의 범위로서 표현되는 다각형의 수의 제2 메타데이터 속성, 및 4005에 의해 도시된 피트(feet)의 수로서 표현되는 디폴트 카메라로부터의 거리의 제3 메타데이터 속성과 같은 복수의 메타데이터 속성을 포함하는 정책에 따라 우선순위화될 수 있다. 예에서, 장면의 자산 중에서, 디폴트 카메라로부터 가시적인 제1 자산에는 최고 우선순위(예컨대, 예에서 4)가 배정되고, 자산의 나머지는 제2 메타데이터 속성 및 제3 메타데이터 속성에 따라 추가로 프로세싱된다. 예를 들어, 자산의 나머지 중에서, 다각형 임계치보다 큰 다각형의 수를 갖는 제2 자산은 두 번째 최고 우선순위(예컨대, 예에서 3)를 배정받고, 자산의 나머지는 제3 메타데이터 속성에 따라 추가로 프로세싱된다. 예를 들어, 자산의 나머지 중에서, 디폴트 카메라까지의 거리가 거리 임계치보다 짧은 제3 자산은 세 번째 최고 우선순위(예컨대, 예에서 2)를 배정받는다.
일부 예에서, 장면에 대한 자산이 엔드 디바이스로 스트리밍되기 전에, 자산 우선순위화기는 장면에 대하여 필요한 자산을 분석하고, 복수의 메타데이터 속성을 포함하는 정책과 같은, 이용 중인 우선순위화 방식에 따라 각각의 자산에 대한 우선순위를 배정하기 위하여 이용된다. 예를 들어, 자산 우선순위화기(3802)는 복수의 메타데이터 속성의 조합을 갖는 정책을 이용하여 우선순위화를 적용하기 위하여 이용될 수 있다. 자산이 우선순위화된 후에, 자산은 도 39에서 도시된 바와 같은 우선순위 순서로 스트리밍된다.
다수의 메타데이터 속성에 기초한 우선순위화의 이용은 엔드 디바이스가 사용자 경험을 개선시키기에 적당한 방식으로 자신이 엔드 디바이스로 송신되는 것을 허용한다. 예를 들어, 엔드 디바이스는 (예컨대, 제1 메타데이터 속성에 따라) 사용자에게 즉각적으로 가시적인 자산을 요청할 수 있고, 그 다음으로, (예컨대, 제2 메타데이터 속성에 따라) 렌더링하기 위하여 연산적으로 가장 요구하는 자산을 요청할 수 있고, 그 다음으로, (예컨대, 제3 메타데이터 속성에 따라) 렌더링된 장면에서 사용자에게 가장 근접한 자산을 요청할 수 있다.
개시내용의 측면에 따르면, 모든 엔드 디바이스가 동일한 능력을 가지지는 않고, 모든 엔드 디바이스가 엔드 디바이스와 클라우드 사이의 이용가능한 대역폭과 같은 동일한 경로 특성을 가지지는 않고, 상이한 사용자에 대한 최상의 사용자 경험은 상이한 우선순위화 방식의 이용으로부터 기인할 수 있다. 일부 예에서, 엔드 디바이스는 우선순위 선호도 정보를, 이에 따라 우선순위 값을 배정하기 위한 자산 우선순위화기에 제공할 수 있다.
도 41은 일부 예에서 장면 내의 자산을 우선순위화하기 위한 도면을 도시한다. 도 41의 예에서, 엔드 디바이스(4108)는 우선순위 선호도의 세트(4109)를 자산 우선순위화기(4102)에 제공할 수 있다. 예를 들어, 우선순위 선호도의 세트(4109)는 다수의 메타데이터 속성을 포함한다. 그 다음으로, 자산 우선순위화기(4102)는 우선순위 선호도의 세트에 기초하여 우선순위 값을 장면 내의 각각의 자산에 배정할 수 있다. 따라서, 장면 내의 자산의 배정된 우선순위 값은 엔드 디바이스(4108)에 대하여 최적화된다.
일부 예에서, 엔드 디바이스(4108)는 엔드 디바이스에 의해 행해지는 측정에 기초하여, 우선순위 선호도의 세트를 동적으로 조절할 수 있다. 예를 들어, 엔드 디바이스(4018)가 클라우드에 대해 상대적으로 낮은 이용가능한 대역폭을 가질 때, 엔드 디바이스는 바이트로 측정되는 자산 크기(예컨대, 도 40에서의 4003)에 기초하여 자산을 우선순위화할 수 있는데, 그 이유는 가장 큰 자산에 대한 전송 시간이 장면이 얼마나 신속하게 렌더링될 수 있는지에 대한 하한(lower bound)으로서 작동할 것이기 때문이다. 동일한 엔드 디바이스(4108)가 클라우드로부터 엔드 디바이스(4108)로의 경로가 풍부한 대역폭을 가진다는 것을 검출할 때, 엔드 디바이스(4108)는 상이한 우선순위 선호도의 세트를 자산 우선순위화기(4102)에 제공할 수 있다.
일부 예에서, 관련된 메타데이터 속성은 복합 속성으로서 간주될 수 있고, 엔드 디바이스는 그 우선순위 선호도의 세트 내에 복합 속성을 포함할 수 있다. 예를 들어, 각각의 자산에 대한 이용가능한 메타데이터 속성이 다각형의 수 및 표면 세밀함의 레벨의 일부 척도를 포함하는 경우에, 이 속성은 연산 복잡도의 척도로서 함께 고려될 수 있고, 엔드 디바이스는 그 우선순위 선호도의 세트 내에 그 척도를 포함할 수 있다.
개시내용의 일부 측면은 배정된 자산 우선순위 값에 따른 명시야 기반 디스플레이에 대한 동적 적응적 스트리밍을 위한 방법을 제공한다. 자산 우선순위 값은 스트리밍되어야 할 각각의 자산에 대한 2개 이상의 메타데이터 속성에 기초하여 배정될 수 있다. 일부 예에서, 장면 내의 자산의 자산 우선순위 값은 우선순위 선호도의 세트에 기초하여 결정된다. 일부 예에서, 스트리밍을 위한 자산의 순서는 자산 우선순위 값에 기초한다. 일부 예에서, 우선순위 선호도의 세트는 엔드 디바이스 사이에서 변동된다. 일부 예에서, 우선순위 선호도의 세트는 엔드 디바이스에 의해 제공된다. 일부 예에서, 우선순위 선호도의 세트는 엔드 디바이스에 의해 업데이트된다. 일부 예에서, 우선순위 선호도의 세트는 하나 이상의 복합 속성을 포함한다. 일부 예에서, 엔드 디바이스에 의해 제공되는 우선순위 선호도의 세트는 하나 이상의 복합 속성을 포함한다.
도 42는 개시내용의 실시예에 따른 프로세스(4200)의 개요를 기술하는 흐름도를 도시한다. 프로세스(4200)는 네트워크 내의 서버 디바이스에 의한 것과 같이, 네트워크에서 실행될 수 있다. 일부 실시예에서, 프로세스(4200)는 소프트웨어 명령으로 구현되고, 따라서, 프로세싱 회로부가 소프트웨어 명령을 실행할 때, 프로세싱 회로부는 프로세스(4200)를 실행한다. 예를 들어, 스마트 클라이언트는 소프트웨어 명령으로 구현되고, 소프트웨어 명령은 프로세스(4200)를 포함하는 스마트 클라이언트 프로세스를 수행하기 위하여 실행될 수 있다. 프로세스는 S4201에서 시작되고, S4210으로 진행한다.
S4210에서, 서버 디바이스는 명시야 기반 디스플레이에서 플레이하기 위한 장면 기반 몰입형 미디어를 수신한다. 장면 기반 몰입형 미디어 내의 장면은 제1 순서인 복수의 자산을 포함한다.
S4220에서, 서버 디바이스는 복수의 자산을 엔드 디바이스로 스트리밍하기 위한 제2 순서를 결정한다. 제2 순서는 제1 순서와는 상이하다.
일부 예에서, 서버 디바이스는 복수의 자산의 하나 이상의 속성에 따라 우선순위 값을 장면 내의 복수의 자산에 각각 배정하고, 우선순위 값에 따라 복수의 자산을 스트리밍하기 위한 제2 순서를 결정한다.
일부 예에서, 서버 디바이스는 복수의 자산에 대한 설명 내에 복수의 자산에 대한 우선순위 값을 포함하고, 설명을 엔드 디바이스에 제공한다. 엔드 디바이스는 설명 내의 우선순위 값에 따라 복수의 자산을 요청한다.
개시내용의 일부 측면에 따르면, 서버 디바이스는 자산의 크기에 따라 우선순위 값을 장면 내의 자산에 배정한다. 예에서, 서버 디바이스는 제1 자산이 바이트에 있어서 제2 자산보다 작은 크기를 가지는 것에 응답하여, 제1 우선순위 값을 제1 자산에 그리고 제2 우선순위 값을 제2 자산에 배정하고, 제1 우선순위 값은 제2 우선순위 값보다 높다.
개시내용의 일부 측면에 따르면, 서버 디바이스는 장면의 디폴트 엔트리 위치(default entry location)와 연관되는 자산의 가시성에 따라 우선순위 값을 장면 내의 자산에 배정한다. 일부 예에서, 서버 디바이스는 제1 우선순위 값을, 장면의 디폴트 엔트리 위치로부터 가시적인 제1 자산에, 그리고 제2 우선순위 값을, 디폴트 엔트리 위치로부터 비가시적인 제2 자산에 배정하고, 제1 우선순위 값은 제2 우선순위 값보다 높다. 예에서, 서버 디바이스는 자산이 장면 내의 또 다른 자산에 의해 차단되는 것에 응답하여, 제2 우선순위 값을 자산에 배정한다. 또 다른 예에서, 서버 디바이스는 자산이 장면의 디폴트 엔트리 위치와 연관되는 관측 시야의 외부에 있는 것에 응답하여, 제2 우선순위 값을 자산에 배정한다. 또 다른 예에서, 서버 디바이스는 자산이 장면 내의 광원으로 인해 장면 내의 또 다른 자산의 그늘에 의해 가려지는 것에 응답하여, 제2 우선순위 값을 자산에 배정한다.
개시내용의 일부 측면에 따르면, 서버 디바이스는 제1 자산 및 제2 자산이 장면의 디폴트 엔트리 위치와 연관되는 관측 시야 내에 있는 것에 응답하여, 제1 우선순위 값을 제1 자산에 그리고 제2 우선순위 값을 제2 자산에 배정하고, 제1 자산은 제2 자산보다 장면의 디폴트 엔트리 위치에 근접하고, 제1 우선순위 값을 제2 우선순위 값보다 크다.
일부 예에서, 서버 디바이스는 복수의 자산의 제1 속성에 기초하여 우선순위 값의 제1 세트를 복수의 자산에 배정하고, 우선순위 값의 제1 세트는 제1 우선순위화 방식으로 복수의 자산을 순서화하기 위하여 이용된다. 추가로, 서버 디바이스는 복수의 자산의 제2 속성에 기초하여 우선순위 값의 제2 세트를 복수의 자산에 배정하고, 우선순위 값의 제2 세트는 제2 우선순위화 방식으로 복수의 자산을 순서화하기 위하여 이용된다. 서버 디바이스는 엔드 디바이스의 정보에 따라 제1 우선순위화 방식 및 제2 우선순위화 방식으로부터 엔드 디바이스에 대한 우선순위화 방식을 선택하고, 선택된 우선순위화 방식에 따라 스트리밍하기 위한 복수의 자산을 순서화한다.
일부 예에서, 서버 디바이스는 복수의 자산에 대한 설명 내에 복수의 자산에 배정되는 우선순위 값을 포함한다. 우선순위 값은 제1 우선순위화 방식으로 복수의 자산을 순서화하기 위하여 이용된다. 서버 디바이스는 복수의 자산에 대한 설명을 엔드 디바이스에 제공한다. 예에서, 엔드 디바이스는 복수의 자산의 요청 순서에 대해 제2 우선순위화 방식을 적용하고, 제2 우선순위화 방식에 의한 동점(tie)에 응답하여 제1 우선순위화 방식을 타이브레이커로서 이용한다.
일부 예에서, 서버 디바이스는 제1 자산이 제2 자산보다 높은 연산의 복잡도를 가지는 것에 응답하여, 제1 우선순위 값을 제1 자산에 그리고 제2 우선순위 값을 제2 자산에 배정한다. 제1 우선순위 값은 제2 우선순위 값보다 높다. 예에서, 더 높은 연산의 복잡도는 제1 자산 내의 다각형의 수 및 제1 자산의 표면 성질 중의 적어도 하나에 기초하여 결정된다.
일부 예에서, 하나 이상의 속성은 각각의 자산과 연관되는 메타데이터 속성이고, 바이트인 크기, 다각형의 수, 디폴트 카메라로부터의 거리, 및 디폴트 카메라로부터의 가시성 중의 적어도 하나를 포함할 수 있다.
일부 예에서, 서버 디바이스는 엔드 디바이스의 우선순위 선호도의 세트 - 우선순위 선호도의 세트는 속성의 제1 세트를 포함함 - 를 수신하고, 속성의 제1 세트에 따라 제2 순서를 결정한다. 예에서, 서버 디바이스는 엔드 디바이스의 우선순위 선호도의 업데이트를 수신하고, 우선순위 선호도의 업데이트는 속성의 제1 세트와는 상이한 속성의 제2 세트를 지시한다. 서버 디바이스는 속성의 제2 세트에 따라 업데이트된 제2 순서를 결정할 수 있다.
일부 예에서, 서버 디바이스는 엔드 디바이스로부터 피드백 신호를 수신하고, 피드백 신호에 따라 우선순위 값 및 제2 순서를 조절한다.
그 다음으로, 프로세스(4200)는 S4299로 진행하여 종결된다.
프로세스(4200)는 다양한 시나리오에 적당하게 적응될 수 있고, 프로세스(4200) 내의 단계는 이에 따라 조절될 수 있다. 프로세스(4200) 내의 단계 중의 하나 이상은 적응되고, 생략되고, 반복되고, 및/또는 조합될 수 있다. 임의의 적당한 순서는 프로세스(4200)를 구현하기 위하여 이용될 수 있다. 추가적인 단계(들)가 추가될 수 있다.
도 43은 개시내용의 실시예에 따른 프로세스(4300)의 개요를 기술하는 흐름도를 도시한다. 프로세스(4300)는 엔드 디바이스(또한, 클라이언트 디바이스로서 지칭됨)와 같은 전자 디바이스에 의해 실행될 수 있다. 일부 실시예에서, 프로세스(4300)는 소프트웨어 명령으로 구현되고, 따라서, 프로세싱 회로부가 소프트웨어 명령을 실행할 때, 프로세싱 회로부는 프로세스(4300)를 실행한다. 예를 들어, 프로세스(4300)는 소프트웨어 명령으로서 구현되고, 프로세싱 회로부는 스마트 제어기 프로세스를 수행하기 위하여 소프트웨어 명령을 실행할 수 있다. 프로세스는 S4301에서 시작되고, S4310으로 진행한다.
S4310에서, 명시야 기반 디스플레이에서 플레이하기 위한 장면 기반 몰입형 미디어에 대한 요청은 전자 디바이스에 의해 네트워크로 전송된다. 장면 기반 몰입형 미디어 내의 장면은 제1 순서인 복수의 자산을 포함한다.
S4320에서, 전자 디바이스의 정보는 복수의 자산을 전자 디바이스로 스트리밍하기 위한 순서를 조절하기 위하여 제공된다. 순서는 그 다음으로, 전자 디바이스의 정보에 따라 결정된다.
일부 예에서, 전자 디바이스는 명시야 기반 디스플레이에서 플레이하기 위한 장면 기반 몰입형 미디어의 장면 내의 복수의 자산의 설명을 수신한다. 설명은 복수의 자산에 대한 우선순위 값을 포함한다. 전자 디바이스는 우선순위 값에 따라 복수의 자산 중 하나 이상의 자산을 요청한다.
일부 예에서, 우선순위 값은 제1 우선순위화 방식과 연관된다. 전자 디바이스는 제1 우선순위화 방식과는 상이한 제2 우선순위화 방식에 따라, 제1 자산 및 제2 자산이 동일한 우선순위를 가지는 것으로 결정한다. 그 다음으로, 전자 디바이스는 제1 우선순위화 방식에 따라 제1 자산 및 제2 자산 중의 하나를 다른 것에 비해 우선순위화한다.
일부 예에서, 전자 디바이스는 우선순위 선호도의 세트를 네트워크에 제공한다. 추가로, 예에서, 전자 디바이스는 네트워크 스테이터스 변경과 같은 동작 환경 변경을 검출하고, 동작 환경 변경에 응답하여 우선순위 선호도의 세트에 대한 업데이트를 제공한다.
일부 예에서, 전자 디바이스는 네트워크 스테이터스 변경과 같은 동작 환경 변경을 검출한다. 그 다음으로, 전자 디바이스는 동작 환경 변경을 지시하는 피드백 신호를 네트워크에 제공한다.
그 다음으로, 프로세스(4300)는 S4399로 진행하여 종결된다.
프로세스(4300)는 다양한 시나리오에 적당하게 적응될 수 있고, 프로세스(4300) 내의 단계는 이에 따라 조절될 수 있다. 프로세스(4300) 내의 단계 중의 하나 이상은 적응되고, 생략되고, 반복되고, 및/또는 조합될 수 있다. 임의의 적당한 순서는 프로세스(4300)를 구현하기 위하여 이용될 수 있다. 추가적인 단계(들)가 추가될 수 있다.
개시내용의 제9 측면에 따르면, 장면 분석기는 장면 디폴트 뷰포트 내의 자산 가시성에 기초한 자산 렌더링의 우선순위화를 위하여 이용될 수 있다.
개시내용의 측면에 따르면, 장면-기반 미디어를 지원하는 클라이언트 디바이스는, 디폴트 카메라 및 장면으로의 뷰포트의 개념을 지원하는 렌더러 및/또는 게임 엔진을 구비할 수 있다. 디폴트 카메라는 렌더러가 장면의 내부 이미지를 생성하기 위하여 이용할 수 있는 카메라의 속성을 제공한다. 따라서, 이러한 내부 이미지는 많은 다른 가능한 속성 중에서, 수평 및 수직 해상도, x 및 y 치수, 및 시야의 심도와 같은 카메라 속성에 의해 정의된다. 뷰포트는 내부 이미지 자체 및 장면 내의 카메라의 가상적 위치에 의해 정의된다. 장면 내로의 카메라의 가상적 위치는 장면의 어느 부분이 내부 이미지로 렌더링되는지를 정확하게 특정하기 위한 능력을 컨텐츠 창작자 또는 사용자에게 제공한다. 따라서, 디폴트 카메라의 뷰포트에서 직접적으로 가시적이지 않은 객체, 예컨대, 디폴트 카메라의 후방에 있거나 장면 내로의 뷰포트의 외부에 위치되는 객체는, 즉, 사용자가 이들을 여하튼 볼 수 없을 경우에, 렌더러에 의한 렌더링을 위하여 우선순위화되지 않을 수 있다. 그럼에도 불구하고, 일부 객체는 디폴트 카메라의 뷰포트에 충분히 근접하게 위치될 수 있어서, 그 존재에 의해 드리워지고 및/또는 뷰포트에 인접한 그늘은 뷰포트 내에 실제적으로 존재할 수 있을 가능성이 있다. 예를 들어, 뷰포트에서 가시적이지 않은 포인트 광원(point light source)이 장면에서 또한 가시적이지 않은 다른 객체의 후방에 위치되는 경우에, 장면의 뷰포트로 반사되는 광은 비-가시적 객체에 의해 생성되는 그늘에 영향을 받을 수 있는데, 그 이유는 그 존재가 장면의 뷰포트 내로 통행하기 위한 광의 능력을 차단하기 때문이다. 따라서, 렌더러가 뷰포트에 의해 캡처되는 장면의 부분으로 통행하기 위한 광의 능력에 영향을 주는 이러한 객체를 렌더링하는 것이 중요할 수 있다.
개시내용의 일부 측면은 장면 분석기가 클라이언트에 의해 또는 클라이언트를 대신하여 포맷 A로부터 포맷 B로의 변환을 위하여 장면 내의 개별적인 자산을 순서화하는 별도의 판단 결정 프로세스를 용이하게 하기 위한 기법을 제공한다. 장면 분석기는 우선순위 값을 장면 내의 메타데이터로 연산하고 저장할 수 있고, 장면 내의 개별적인 자산에 대한 우선순위 값은 자산이 디폴트 카메라 뷰포트에 의해 캡처되는 장면의 영역 내에 있는지 여부를 포함하는 다수의 상이한 인자에 기초하여 결정될 수 있다. 그 다음으로, 연산된 우선순위 값은 설명을 설명하는 메타데이터 내로 직접적으로 저장될 수 있어서, 네트워크 또는 클라이언트 디바이스에서의 추후의 프로세스는 또 다른 자산 이전에, 즉, 장면 분석기에 의해 장면 메타데이터 내로 저장되는 우선순위 값에 의해 지시된 바와 같이, 하나의 자산을 변환하는 잠재적인 중요도에 대해 시그널링된다. 일부 예에서, 이러한 장면 분석기는 장면으로의 뷰포트를 생성하기 위하여, 즉, 특정한 자산이 장면으로의 카메라의 뷰포트 내에 또는 그 외부에 있는지 여부를 연산하기 위하여 이용되도록 예상되는 카메라의 특징을 설명하는 메타데이터를 사용할 수 있다. 장면 분석기는 카메라의 속성, 예컨대, 뷰포트의 폭 및 길이, 카메라 내의 초점에서의 객체에 대한 시야의 심도 등에 기초하여 뷰포트의 영역을 연산할 수 있다. 일부 예에서, 장면에 대한 카메라 뷰포트 내에 있지 않은 제1 자산은, 디폴트 카메라 뷰포트 내에 있는 제2 자산이 변환된 후에 변환이 발생하게 하기 위하여 장면 분석기에 의해 우선순위화될 수 있다. 이러한 우선순위화는 장면 분석기에 의해 장면 메타데이터 내로 시그널링되고 저장될 수 있다. 장면 내로의 이러한 메타데이터의 저장은 분배 네트워크 내의 추후의 프로세스, 즉, 우선순위화가 장면 분석기에 의해 연산되고 장면의 메타데이터 내로 저장된 경우에, 다른 자산이 수행될 필요가 있기 전에 어느 자산을 변환할 것인지를 결정하기 위한 동일한 연산에 유익할 수 있다. 장면 분석기의 프로세스는 클라이언트에 의해 스트리밍되고 있는 미디어에 대해 선험적으로, 또는 일부 예에서 클라이언트 디바이스 자체에 의해 수행되는 특정한 단계로서 수행될 수 있다.
도 44는 일부 예에서 디폴트 카메라 뷰포인트 내의 자산의 시그널링을 갖는 시간 지정된 미디어 표현(4400)의 도면을 도시한다. 시간 지정된 미디어 표현(4400)은 장면(4401)의 리스트의 정보를 포함하는 시간 지정된 장면 매니페스트(4400A)를 포함한다. 장면(4401)의 정보는 장면(4401) 내의 미디어 자산의 프로세싱 정보 및 유형을 별도로 설명하는 컴포넌트(4402)의 리스트를 지칭한다. 컴포넌트(4402)는 기본 계층(4404) 및 속성 강화 계층(4405)을 추가로 지칭하는 자산(4403)을 지칭한다. 장면에 대한 디폴트 카메라 뷰포트 내에 위치되는 자산(4407)의 리스트는 각각의 장면(4401)에 대하여 제공된다.
도 45는 일부 예에서 디폴트 뷰포트 내의 자산의 시그널링을 갖는 시간 비지정된 미디어 표현(4500)의 도면을 도시한다. 시간 비지정된 매니페스트(도시되지 않음)는 장면 1.0으로 분기할 수 있는 다른 장면이 없는지에 대하여 장면 1.0을 참조한다. 장면(4501)의 정보는 클록에 따른 시작 및 종료 기간과 연관되지 않는다. 장면(4501)의 정보는 장면 내의 미디어 자산의 프로세싱 정보 및 유형을 별도로 설명하는 컴포넌트(4502)의 리스트를 지칭한다. 컴포넌트(4502)는 기본 계층(4504) 및 속성 강화 계층(4505 및 4506)을 추가로 지칭하는 자산(4503)을 지칭한다. 게다가, 장면(4501)의 정보는 시간 비지정된 미디어에 대한 것인 다른 장면 정보(4501)를 지칭할 수 있다. 장면(4501)의 정보는 또한, 시간 지정된 미디어 장면에 대한 것인 장면 정보(4507)를 지칭할 수 있다. 리스트(4508)는 기하구조가 장면에 대한 디폴트 카메라의 뷰포트 내에 위치되는 자산을 식별한다.
도 9를 다시 참조하면, 일부 예에서, 도 9에서의 미디어 분석기(911)는 장면의 자산에 대해 분석을 수행할 수 있는 장면 분석기를 포함한다. 예에서, 장면 분석기는 장면의 자산 중 어느 자산이 디폴트 뷰포트 내에 있는지를 결정할 수 있다. 예를 들어, 수집 미디어는 어느 자산이 장면으로의 카메라에 대한 디폴트 뷰포트 내에 위치되는지에 관한 정보를 저장하기 위하여 업데이트될 수 있다.
도 14를 다시 참조하면, 일부 예에서, 도 14에서의 미디어 분석기(1410)는 장면의 자산에 대해 분석을 수행할 수 있는 장면 분석기를 포함한다. 예에서, 장면 분석기는 게임 엔진(1405)에 의한 렌더링 및/또는 MPEG 스마트 클라이언트(1401)를 통한 재구성 프로세싱을 위한 잠재적인 우선순위화를 위하여, 어느 자산이 장면에 대한 디폴트 카메라의 뷰포트(또한, 장면 내로의 진입을 위한 디폴트 뷰포트로서 지칭됨) 내에 위치되는지를 결정하기 위하여 클라이언트 적응된 미디어(1409)를 검사할 수 있다. 이러한 실시예에서, 미디어 분석기는 클라이언트 적응된 미디어(1409) 내의 각 개개의 장면 내로의 디폴트 카메라에 대한 뷰포트 내에 있는 각각의 장면에 대한 자산의 리스트를 저장할 수 있다.
도 46은 디폴트 뷰포트에 따른, 장면 분석기가 장면 내의 자산을 분석하기 위한 프로세스 흐름(4600)을 도시한다. 프로세스는 단계(4601)에서 시작되고, 여기서, 장면 분석기는 뷰포트를 정의하기 위하여 이용되는 카메라의 속성에 기초하여 디폴트 뷰포트(장면이 최초로 렌더링될 때에 장면으로의 초기 뷰)를 설명하는 (예컨대, 장면으로부터 또는 도시되지 않은 외부 소스로부터) 디폴트 카메라 포지션 및 특성의 속성을 취득한다. 이러한 카메라 속성은 뷰포트에 의해 캡처되는 장면 내의 영역의 치수 길이, 폭, 및 심도와 함께, 뷰포트를 생성하기 위하여 이용되는 카메라의 유형을 포함한다. 단계(4602)에서, 장면 분석기는 단계(4601)에서 취득되는 속성에 기초하여 실제적인 디폴트 뷰포트를 연산할 수 있다. 다음으로, 단계(4603)에서, 장면 분석기는 특정한 장면에 대한 자산의 리스트 내에 검사되어야 할 더 많은 자산이 있는지를 결정한다. 검사하기 위한 더 많은 자산이 없을 때, 프로세스는 단계(4606)로 진행한다. 단계(4606)에서, 장면 분석기는 장면에 대한 디폴트 뷰포트 내에 그 기하구조가 (전체적으로 또는 부분적으로) 있는 자산의 리스트를 (장면에 대한 메타데이터 내로) 기입한다. 분석된 미디어는 4607로서 도시되어 있다. 단계(4603)에서 프로세싱하기 위한 더 많은 자산이 있을 때, 프로세스는 단계(4604)로 계속된다. 단계(4604)에서, 장면 분석기는 장면 내의 다음 자산의 기하구조를 분석하고, 다음 자산은 현재 자산이 된다. 장면 내의 현재 자산의 기하구조 및 위치는 단계(4602)에서 연산되는 디폴트 뷰포트의 영역과 비교된다. 단계(4604)에서, 장면 분석기는 자산 기하구조의 임의의 부분이 디폴트 뷰포트의 영역 내로 속하는지를 결정하기 위하여 장면 내의 자산 및 그 위치의 기하구조를 연구한다. 자산 기하구조의 임의의 부분이 디폴트 뷰포트 내로 속하는 경우에, 프로세스는 단계(4605)로 계속된다. 단계(4605)에서, 장면 분석기는 자산 식별자를, 디폴트 뷰포트 내에 위치되는 자산의 리스트 내로 저장한다. 단계(4605) 후에, 프로세스는 단계(4603)로 리턴하고, 여기서, 장면에 대한 자산의 리스트는 프로세싱하기 위한 더 많은 자산이 있는지를 결정하기 위하여 검사된다.
개시내용의 일부 측면은 자산 우선순위화를 위한 방법을 제공한다. 방법은 장면을 관측하기 위하여 이용되는 카메라에 의해 생성되는 뷰포트의 위치 및 크기를 연산할 수 있고, 자산의 기하구조의 부분이 뷰포트(예컨대, 카메라에 의해 생성되는 뷰포트의 위치 및 크기)와 교차하는지 여부를 결정하기 위하여 장면의 각각의 자산의 기하구조를 뷰포트와 비교할 수 있다. 방법은 기하구조가 카메라에 의해 생성되는 뷰포트와 부분적으로 또는 전체적으로 교차하는 자산을 식별하고, 자산의 아이덴티티(identify)를, 기하구조가 카메라에 의해 생성되는 뷰포트의 영역과 교차하는 유사한 자산의 리스트 내로 저장한다. 그 다음으로, 방법은 기하구조가 카메라에 의해 생성되는 뷰포트의 영역과 교차하는 유사한 자산의 리스트에 기초하여, 장면-기반 미디어 프레젠테이션 내의 장면에 대한 자산의 렌더링을 시컨스화(sequencing)하고 우선순위화하는 것을 포함한다.
도 47은 개시내용의 실시예에 따른 프로세스(4700)의 개요를 기술하는 흐름도를 도시한다. 프로세스(4700)는 네트워크 내의 서버 디바이스에 의한 것과 같이, 네트워크에서 실행될 수 있다. 일부 실시예에서, 프로세스(4700)는 소프트웨어 명령으로 구현되고, 따라서, 프로세싱 회로부가 소프트웨어 명령을 실행할 때, 프로세싱 회로부는 프로세스(4700)를 실행한다. 프로세스는 S4701에서 시작되고, S4710으로 진행한다.
S4710에서는, 장면 기반 몰입형 미디어 내의 장면을 관측하기 위한 카메라와 연관되는 뷰포트의 위치 및 크기와 같은 뷰포트의 속성이 결정된다. 장면은 복수의 자산을 포함한다.
S4720에서, 각각의 자산에 대하여, 자산이 뷰포트와 적어도 부분적으로 교차하는지 여부는 뷰포트의 위치 및 크기와, 자산의 기하구조에 기초하여 결정된다.
S4730에서, 자산의 식별자는 자산이 뷰포트와 적어도 부분적으로 교차하는 것에 응답하여, 관측가능한 자산의 리스트 내에 저장된다.
S4740에서, 관측가능한 자산의 리스트는 장면과 연관되는 메타데이터 내로 포함된다.
일부 예에서, 뷰포트의 위치 및 크기는 장면을 관측하기 위한 카메라의 카메라 위치 및 특성에 따라 결정된다.
일부 예에서, 적어도 제1 자산 및 제2 자산을 제1 포맷으로부터 제2 포맷으로 변환하기 위한 순서는 관측가능한 자산의 리스트에 따라 결정된다. 예에서는, 관측가능한 자산의 리스트 내에 있지 않은 장면의 또 다른 자산을 변환하기 전에, 관측가능한 자산의 리스트가 제1 포맷으로부터 제2 포맷으로 변환된다.
일부 예에서, 적어도 제1 자산 및 제2 자산을 엔드 디바이스로 스트리밍하기 위한 순서는 관측가능한 자산의 리스트에 따라 결정된다. 예에서는, 관측가능한 자산의 리스트 내에 있지 않은 장면의 또 다른 자산을 스트리밍하기 전에, 관측가능한 자산의 리스트가 스트리밍된다.
그 다음으로, 프로세스(4700)는 S4799로 진행하여 종결된다.
프로세스(4700)는 다양한 시나리오에 적당하게 적응될 수 있고, 프로세스(4700) 내의 단계는 이에 따라 조절될 수 있다. 프로세스(4700) 내의 단계 중의 하나 이상은 적응되고, 생략되고, 반복되고, 및/또는 조합될 수 있다. 임의의 적당한 순서는 프로세스(4700)를 구현하기 위하여 이용될 수 있다. 추가적인 단계(들)가 추가될 수 있다.
개시내용의 제10 측면에 따르면, 연결된 클라이언트 유형에 의한 미디어 적응의 우선순위화를 위한 기법이 이용될 수 있다.
개시내용의 측면에 따르면, 이종적 클라이언트에 대한 미디어 분배 네트워크의 효율에 영향을 주는 문제 중의 하나는, 미디어가 변환될 필요가 있는, 네트워크에 연결되는 큰 수의 클라이언트(예컨대, 클라이언트 디바이스, 엔드 디바이스)가 있다는 것을 가정하여, 어느 미디어를 변환을 위하여 우선순위화할 것인지를 결정하는 것이다.
일반성의 손실 없이, 변환 프로세스는 또한, "적응" 프로세스로서 지칭될 수 있는 것으로 가정되는데, 그 이유는 두 명칭이 업계에서 이용될 수 있기 때문이다. 그 다음으로, 그 연결된 클라이언트를 대신하여 미디어 적응을 수행하는 네트워크는, 네트워크에 연결되는 현재 클라이언트 유형에 대한 정보에 의해 이러한 적응의 우선순위화를 안내하는 정보로부터 이익을 얻을 것이다.
개시내용의 일부 측면은 네트워크에 의해 수행되는 적응(또는 변환) 프로세스로부터 이익을 얻을 수 있는 클라이언트의 수를 최대화하기 위하여 수행될 수 있는 미디어 적응 또는 미디어 변환 프로세스의 기법을 제공한다. 개시된 발명 요지는 네트워크에 현재 연결되는 클라이언트의 수 및 유형에 기초하여 적응 프로세스를 우선순위화하기 위하여, 하나 이상의 클라이언트 및 클라이언트 유형을 대신하여 미디어 적응의 일부 또는 전부를 수행하는 네트워크에 대한 필요성을 해결한다.
도 48은 일부 예에서의 몰입형 미디어 분배 모듈(4800)의 도면을 도시한다. 몰입형 미디어 분배 모듈(4800)은 도 9에서의 몰입형 미디어 분배 모듈(900)과 유사하지만, 클라이언트 추적 프로세스를 갖는 몰입형 미디어 네트워크 분배를 예시하기 위하여 4812에 의해 도시되는 클라이언트 추적 프로세스가 추가된다. 몰입형 분배 모듈(4800)은 도 8에서 이전에 도시된 바와 같이 레거시 및 이종적 몰입형 미디어-가능 디스플레이를 서빙할 수 있다. 컨텐츠는 4801에 의해 도시된 바와 같이 생성되거나 취득되고, 이는 자연 및 CGI 컨텐츠에 대하여 각각 도 5 및 도 6에서 추가로 구체화된다. 그 다음으로, 4801의 컨텐츠는 4802에 의해 도시되는 네트워크 수집 포맷 생성 프로세스를 이용하여 수집 포맷으로 컨버팅된다. 4802에 의해 도시되는 프로세스는 마찬가지로, 자연 및 CGI 컨텐츠에 대하여 각각 도 5 및 도 6에서 추가로 구체화된다. 수집 미디어는 임의적으로, IMS 메타데이터로 주석부기되거나, 미디어 분석기(4811) 내의 장면 분석기에 의해 복잡도 속성을 결정하기 위하여 분석된다. 수집 미디어 포맷은 네트워크로 송신되고 저장 디바이스(4803) 상에 저장된다. 일부 다른 예에서, 저장 디바이스는 몰입형 미디어 컨텐츠 제작사의 네트워크에서 상주할 수 있고, 4803을 이등분하는 파선 라인에 의해 도시된 바와 같은 몰입형 미디어 네트워크 분배 프로세스(번호부여되지 않음)에 의해 원격으로 액세스될 수 있다. 클라이언트 및 애플리케이션 특정 정보는 일부 예에서, 대안적인 "클라우드" 네트워크에서 원격으로 존재할 수 있는 원격 저장 디바이스(4804)에서 일부 예에서 이용가능하다.
도 48에서 도시된 바와 같이, 4805에 의해 도시된 네트워크 오케스트레이터는 분배 네트워크의 주요한 태스크를 실행하기 위한 정보의 일차적인 소스 및 싱크로서 역할을 한다. 이 특정한 실시예에서, 네트워크 오케스트레이터(4805)는 네트워크의 다른 컴포넌트와 통합된 포맷으로 구현될 수 있다. 그럼에도 불구하고, 도 48에서의 네트워크 오케스트레이터(4805)에 의해 도시되는 태스크는 개시된 발명 요지의 일부 엘리먼트를 형성한다. 네트워크 오케스트레이터(4805)는 추가로, 클라이언트의 특성에 따라 미디어의 모든 프로세싱 및 분배를 용이하게 하기 위하여 클라이언트와의 양방향 메시지 프로토콜을 채용할 수 있다. 게다가, 양방향 프로토콜은 상이한 전달 채널, 즉, 제어 평면 채널 및 데이터 평면 채널에 걸쳐 구현될 수 있다.
일부 예에서, 네트워크 오케스트레이터(4805)는 채널(4807)을 통해 하나 이상의 클라이언트 디바이스(4808)의 특징 및 속성에 대한 정보를 수신하고, 게다가, 4808 상에서 현재 작동하는 애플리케이션에 관한 요건을 수집한다. 이 정보는 디바이스(4804)로부터 획득될 수 있거나, 대안적인 실시예에서는, 클라이언트(4808)에 직접적으로 질의함으로써 획득될 수 있다. 클라이언트 디바이스(4808)에 대한 직접적인 질의의 경우에, 예에서, 양방향 프로토콜(도 48에서 도시되지 않음)은 존재하고 동작하는 것으로 가정되어, 이로써 클라이언트 디바이스는 네트워크 오케스트레이터(4805)로 직접적으로 통신할 수 있다.
일부 예에서, 채널(4807)은 또한, 클라이언트 추적 프로세스(4812)를 업데이트할 수 있어서, 이로써 클라이언트 디바이스(4808)의 현재 수 및 유형의 레코드(record)는 네트워크에 의해 유지된다. 네트워크 오케스트레이터(4805)는 클라이언트 추적 프로세스(4812)에서 저장되는 정보에 기초하여 미디어 적응 및 프래그먼트화 프로세스(4810)를 스케줄링하기 위한 하나 이상의 우선순위를 연산할 수 있다.
네트워크 오케스트레이터(4805)는 또한, 도 10에서 설명되는 미디어 적응 및 프래그먼트화 프로세스(4810)를 개시하고 이와 통신한다. 수집 미디어가 프로세스(4810)에 의해 적응되고 프래그먼트화됨에 따라, 미디어는 일부 예에서, 분배 저장 디바이스(4809)를 위하여 준비된 미디어로서 도시되는 인터미디어 저장 디바이스로 전송된다. 분배 미디어가 디바이스(4809)에서 준비되고 저장됨에 따라, 네트워크 오케스트레이터(4805)는, 클라이언트 디바이스(4808)가 그 네트워크 인터페이스(4808B)를 통해, 분배 미디어 및 대응하는 설명 정보(4806)의 어느 하나를 푸시 요청을 통해 수신하거나, 클라이언트 디바이스(4808) 자체가 저장 디바이스(4809)로부터의 미디어(4806)의 풀 요청을 개시할 수 있다는 것을 보장한다. 네트워크 오케스트레이터(4805)는 "푸시" 요청을 수행하거나 클라이언트 디바이스(4808)에 의한 "풀" 요청을 개시하기 위하여 양방향 메시지 인터페이스(도 48에서 도시되지 않음)를 채용할 수 있다. 클라이언트(4808)는 일부 예에서, GPU(또는 도시되지 않은 CPU)(4808C)를 채용할 수 있다. 미디어의 분배 포맷은 클라이언트 디바이스(4808)의 저장 디바이스 또는 저장 캐시(4808D) 내에 저장된다. 최종적으로, 클라이언트 디바이스(4808)는 그 시각화 컴포넌트(4808A)를 통해 미디어를 시각적으로 프레젠트한다.
몰입형 미디어를 클라이언트 디바이스(4808)로 스트리밍하는 프로세스의 전반에 걸쳐, 네트워크 오케스트레이터(4805)는 클라이언트 진행 및 스테이터스 피드백 채널(4807)을 통해 클라이언트의 진행의 스테이터스를 모니터링할 수 있다. 스테이터스의 모니터링은 양방향 통신 메시지 인터페이스(도 48에서 도시되지 않음)에 의해 수행될 수 있다.
도 49는 일부 예에서 미디어 적응 프로세스(4900)의 도면을 도시한다. 미디어 적응 프로세스는 클라이언트 디바이스(908)(도 9에서 도시됨)와 같은 하나 이상의 클라이언트 디바이스의 요건을 정합하기 위하여 수집된 소스 미디어를 적응시킬 수 있다. 미디어 적응 프로세스(4901)는 클라이언트 디바이스를 위한 적절한 분배 포맷으로의 수집 미디어의 적응을 용이하게 하는 다수의 컴포넌트에 의해 수행될 수 있다.
일부 예에서, 네트워크 오케스트레이터(4903)는 적응 프로세스(4901)를 개시한다. 데이터베이스(4912)는 일부 예에서, 네트워크에 연결되는 클라이언트 디바이스(예컨대, 몰입형 클라이언트 디바이스(4808))의 유형 및 수에 관련된 정보를 제공함으로써, 적응 프로세스(4901)를 우선순위화하기 위하여 네트워크 오케스트레이터(4903)를 보조할 수 있다.
도 49에서, 적응 프로세스(4901)는 네트워크 상의 현재 트래픽 부하를 추적하기 위한 입력 네트워크 스테이터스(4905)를 수신하고, 클라이언트 디바이스 정보는 속성 및 특징 설명, 애플리케이션 특징 및 설명 뿐만 아니라, 애플리케이션 현재 스테이터스, 및 클라이언트의 절두체의 기하구조를 수집 몰입형 미디어의 보간 능력으로 매핑하는 것을 보조하기 위한 클라이언트 신경망 모델(이용가능한 경우)을 포함한다. 이러한 클라이언트 디바이스 정보는 양방향 메시지 인터페이스(도 49에서 도시되지 않음)에 의해 획득될 수 있다. 적응 프로세스(4901)는, 적응된 출력이 생성될 때, 적응된 출력이 클라이언트-적응된 미디어 저장 디바이스(4906) 내로 저장된다는 것을 보장한다. 일부 예에서, 장면 분석기(4907)는 미디어의 분배를 위한 네트워크 자동화된 프로세스 이전에 또는 그의 일부로서 실행될 수 있다.
일부 예에서, 적응 프로세스(4901)는 로직 제어기(4901F)에 의해 제어된다. 적응 프로세스(4901)는 또한, 특정 수집 소스 미디어를 클라이언트 디바이스를 위하여 적당한 포맷으로 적응시키기 위하여, 렌더러(4901B) 또는 신경망 프로세서(4901C)를 채용한다. 신경망 프로세서(4901C)는 4901A에서의 신경망 모델을 이용한다. 이러한 신경망 프로세서(4901C)의 예는 MPI 및 MSI에서 설명된 바와 같은 딥뷰(Deepview) 신경망 모델 생성기를 포함한다. 미디어가 2D 포맷이지만, 클라이언트가 3D 포맷을 요구하는 경우에, 신경망 프로세서(4901C)는 비디오에서 도시되는 장면의 체적계측 표현을 도출하기 위하여 2D 비디오 신호로부터의 고도로 상관된 이미지를 이용하기 위한 프로세스를 호출할 수 있다. 적당한 렌더러(4901B)의 예는 적응 프로세스(4901)와 직접적으로 상호작용하도록 수정될 OTOY Octane 렌더러(도시되지 않음)의 수정된 버전일 수 있다. 적응 프로세스(4901)는 임의적으로, 수집 미디어의 포맷 및 클라이언트 디바이스에 의해 요구되는 포맷에 대한 이 도구의 필요성에 따라 미디어 압축(4901D) 및 미디어 압축해제(4901E)를 채용할 수 있다.
개시내용의 일부 측면은 네트워크 내의 클라이언트 디바이스의 미디어 요건에 대해 미디어를 적응시키기 위한 우선순위화 프로세스를 안내하는 것을 포함하는 방법을 제공한다. 방법은 네트워크에 연결되는 클라이언트 디바이스의 프로파일 정보를 수집하는 것을 포함한다. 클라이언트 디바이스의 미디어 요건은 예에서 미디어의 포맷 및 비트레이트 중의 하나 이상과 같은 속성을 포함한다. 클라이언트 디바이스의 프로파일 정보는 일부 예에서, 네트워크에 연결되는 클라이언트 디바이스의 유형 및 수를 포함한다.
도 50은 개시내용의 실시예에 따른 프로세스(5000)의 개요를 기술하는 흐름도를 도시한다. 프로세스(5000)는 네트워크 내의 서버 디바이스에 의한 것과 같이, 네트워크에서 실행될 수 있다. 일부 실시예에서, 프로세스(5000)는 소프트웨어 명령으로 구현되고, 따라서, 프로세싱 회로부가 소프트웨어 명령을 실행할 때, 프로세싱 회로부는 프로세스(5000)를 실행한다. 프로세스는 S5001에서 시작되고, S5010으로 진행한다.
S5010에서는, 네트워크에 연결되는 클라이언트 디바이스의 프로파일 정보가 수신된다. 프로파일 정보는 미디어를 클라이언트 디바이스로 분배하기 위하여 클라이언트 디바이스의 하나 이상의 미디어 요건에 대한 미디어의 적응을 안내하기 위하여 이용될 수 있다.
S5020에서, 클라이언트 디바이스의 제1 서브세트로 분배하기 위한 제1 미디어 요건에 대해 미디어를 적응시키는 제1 적응은 클라이언트 디바이스의 프로파일 정보에 따라 우선순위화된다.
일부 예에서, 하나 이상의 미디어 요건 중 미디어 요건은 미디어의 포맷 요건 및 비트레이트 요건 중의 적어도 하나를 포함한다.
일부 예에서, 클라이언트 디바이스의 프로파일 정보는 클라이언트 디바이스의 유형, 및 각각의 유형의 클라이언트 디바이스의 수를 포함한다.
예에서, 클라이언트 디바이스의 제1 서브세트로의 분배를 위한 제1 미디어 요건에 대해 미디어를 적응시키는 제1 적응은, 제1 서브세트 내의 클라이언트 디바이스의 제1 수가 제2 서브세트 내의 클라이언트 디바이스의 제2 수보다 큰 것에 응답하여, 클라이언트 디바이스의 제2 서브세트로의 분배를 위한 제2 미디어 요건에 대해 미디어를 적응시키는 제2 적응에 비해 우선순위화된다.
그 다음으로, 프로세스(5000)는 S5099로 진행하여 종결된다.
프로세스(5000)는 다양한 시나리오에 적당하게 적응될 수 있고, 프로세스(5000) 내의 단계는 이에 따라 조절될 수 있다. 프로세스(5000) 내의 단계 중의 하나 이상은 적응되고, 생략되고, 반복되고, 및/또는 조합될 수 있다. 임의의 적당한 순서는 프로세스(5000)를 구현하기 위하여 이용될 수 있다. 추가적인 단계(들)가 추가될 수 있다.
이 개시내용은 몇몇 예시적인 실시예를 설명하였지만, 개시내용의 범위 내에 속하는 개조, 치환, 다양한 적당한 등가물이 있다. 본 기술분야에서의 통상의 기술자는, 본 명세서에서 명시적으로 도시되거나 설명되지 않았지만, 개시내용의 원리를 구체화하고, 이에 따라, 그 사상 및 범위 내에 있는 수많은 시스템 및 방법을 고안할 수 있을 것이라는 것이 이에 따라 인식될 것이다.

Claims (20)

  1. 몰입형 미디어 프로세싱 방법으로서,
    네트워크 디바이스에 의해, 명시야(light field) 기반 디스플레이에서 플레이하기 위한 장면 기반 몰입형 미디어를 수신하는 단계 - 상기 장면 기반 몰입형 미디어는 몰입형 미디어의 복수의 장면을 포함함 -;
    우선순위 값을 상기 장면 기반 몰입형 미디어 내의 상기 복수의 장면에 각각 배정하는 단계; 및
    상기 우선순위 값에 따라 상기 복수의 장면을 엔드 디바이스로 스트리밍하기 위한 순서를 결정하는 단계
    를 포함하는 몰입형 미디어 프로세싱 방법.
  2. 제1항에 있어서,
    상기 순서를 결정하는 단계는,
    상기 우선순위 값에 따라 상기 복수의 장면을 재순서화하는 단계; 및
    상기 재순서화된 복수의 장면을 상기 엔드 디바이스로 송신하는 단계
    를 더 포함하는, 몰입형 미디어 프로세싱 방법.
  3. 제1항에 있어서,
    상기 순서를 결정하는 단계는,
    우선순위-인지 네트워크 디바이스에 의해, 상기 복수의 장면 중 비-송신된 장면의 서브세트로부터, 최고 우선순위 값을 갖는 최고 우선순위 장면을 선택하는 단계; 및
    상기 최고 우선순위 장면을 상기 엔드 디바이스로 송신하는 단계
    를 더 포함하는, 몰입형 미디어 프로세싱 방법.
  4. 제1항에 있어서,
    상기 우선순위 값을 배정하는 단계는,
    장면을 렌더링하기 위해 필요한 가능성에 기초하여 상기 장면에 대한 우선순위 값을 결정하는 단계를 더 포함하는, 몰입형 미디어 프로세싱 방법.
  5. 제1항에 있어서,
    이용가능한 네트워크 대역폭이 제한되는 것으로 결정하는 단계;
    상기 복수의 장면 중 비송신된 장면의 서브세트로부터, 최고 우선순위 값을 갖는 최고 우선순위 장면을 선택하는 단계; 및
    상기 이용가능한 네트워크 대역폭이 제한되는 것에 응답하여 상기 최고 우선순위 장면을 송신하는 단계
    를 더 포함하는 몰입형 미디어 프로세싱 방법.
  6. 제1항에 있어서,
    이용가능한 네트워크 대역폭이 제한되는 것으로 결정하는 단계;
    상기 우선순위 값에 기초하여, 다음으로 렌더링하기 위하여 필요할 것 같지 않은 상기 복수의 장면의 서브세트를 식별하는 단계; 및
    상기 이용가능한 네트워크 대역폭이 제한되는 것에 응답하여, 상기 복수의 장면의 서브세트가 스트리밍하는 것을 억제하는 단계
    를 더 포함하는 몰입형 미디어 프로세싱 방법.
  7. 제1항에 있어서,
    상기 우선순위 값을 배정하는 단계는,
    제1 장면과 제2 장면 사이의 관계에 응답하여, 상기 제2 장면의 제2 우선순위 값에 기초하여 제1 우선순위 값을 상기 제1 장면에 배정하는 단계를 더 포함하는, 몰입형 미디어 프로세싱 방법.
  8. 제1항에 있어서,
    상기 엔드 디바이스로부터 피드백 신호를 수신하는 단계; 및
    상기 피드백 신호에 기초하여 적어도 상기 복수의 장면 중 한 장면의 우선순위 값을 조절하는 단계
    를 더 포함하는 몰입형 미디어 프로세싱 방법.
  9. 제8항에 있어서,
    상기 피드백 신호가 현재 장면이 제1 장면과 관련되는 제2 장면인 것을 지시하는 것에 응답하여, 최고 우선순위를 상기 제1 장면에 배정하는 단계를 더 포함하는 몰입형 미디어 프로세싱 방법.
  10. 제8항에 있어서,
    상기 피드백 신호는 상기 엔드 디바이스에 의해 결정되는 우선순위 조절을 지시하는, 몰입형 미디어 프로세싱 방법.
  11. 몰입형 미디어 프로세싱 방법으로서,
    명시야 기반 디스플레이를 갖는 엔드 디바이스에 의해, 상기 명시야 기반 디스플레이에 의해 플레이하기 위한 장면 기반 몰입형 미디어에 대한 미디어 프레젠테이션 설명(MPD : media presentation description)을 수신하는 단계 - 상기 장면 기반 몰입형 미디어는 몰입형 미디어의 복수의 장면을 포함하고, 상기 MPD는 상기 복수의 장면을 순서대로 상기 엔드 디바이스로 스트리밍하는 것을 지시함 -;
    대역폭 이용가능성을 검출하는 단계;
    상기 대역폭 이용가능성에 기초하여, 적어도 하나의 장면의 순서 변경을 결정하는 단계; 및
    상기 적어도 하나의 장면의 상기 순서 변경을 지시하는 피드백 신호를 전송하는 단계
    를 포함하는 몰입형 미디어 프로세싱 방법.
  12. 제11항에 있어서,
    상기 피드백 신호는 렌더링하기 위한 다음 장면을 지시하는, 몰입형 미디어 프로세싱 방법.
  13. 제11항에 있어서,
    상기 피드백 신호는 상기 적어도 하나의 장면의 우선순위 값의 조절을 지시하는, 몰입형 미디어 프로세싱 방법.
  14. 제11항에 있어서,
    상기 피드백 신호는 현재 장면을 지시하는, 몰입형 미디어 프로세싱 방법.
  15. 몰입형 미디어 프로세싱 방법으로서,
    네트워크 디바이스에 의해, 명시야 기반 디스플레이에서 플레이하기 위한 장면 기반 몰입형 미디어를 수신하는 단계 - 상기 장면 기반 몰입형 미디어 내의 장면은 제1 순서인 복수의 자산(asset)을 포함함 -; 및
    상기 복수의 자산을 엔드 디바이스로 스트리밍하기 위한 제2 순서를 결정하는 단계 - 상기 제2 순서는 상기 제1 순서와는 상이함 -
    를 포함하는 몰입형 미디어 프로세싱 방법.
  16. 제15항에 있어서,
    상기 복수의 자산의 하나 이상의 속성에 따라 우선순위 값을 상기 장면 내의 상기 복수의 자산에 각각 배정하는 단계; 및
    상기 우선순위 값에 따라 상기 복수의 자산을 스트리밍하기 위한 상기 제2 순서를 결정하는 단계
    를 포함하는 몰입형 미디어 프로세싱 방법.
  17. 제16항에 있어서,
    상기 자산의 크기에 따라 우선순위 값을 상기 장면 내의 자산에 배정하는 단계를 포함하는 몰입형 미디어 프로세싱 방법.
  18. 제16항에 있어서,
    상기 장면의 디폴트 엔트리 위치(default entry location)와 연관되는 상기 자산의 가시성(visibility)에 따라 우선순위 값을 상기 장면 내의 자산에 배정하는 단계를 포함하는 몰입형 미디어 프로세싱 방법.
  19. 제16항에 있어서,
    상기 복수의 자산의 제1 속성에 기초하여 우선순위 값의 제1 세트를 상기 복수의 자산에 배정하는 단계 - 상기 우선순위 값의 제1 세트는 제1 우선순위화 방식으로 상기 복수의 자산을 순서화하기 위하여 이용됨 -;
    상기 복수의 자산의 제2 속성에 기초하여 우선순위 값의 제2 세트를 상기 복수의 자산에 배정하는 단계 - 상기 우선순위 값의 제2 세트는 제2 우선순위화 방식으로 상기 복수의 자산을 순서화하기 위하여 이용됨 -;
    상기 엔드 디바이스의 정보에 따라 상기 제1 우선순위화 방식 및 상기 제2 우선순위화 방식으로부터 상기 엔드 디바이스에 대한 우선순위화 방식을 선택하는 단계; 및
    상기 선택된 우선순위화 방식에 따라 스트리밍하기 위한 상기 복수의 자산을 순서화하는 단계
    를 포함하는 몰입형 미디어 프로세싱 방법.
  20. 제16항에 있어서,
    제1 자산이 제2 자산보다 더 높은 연산 복잡도를 가지는 것에 응답하여, 제1 우선순위 값을 상기 제1 자산에 그리고 제2 우선순위 값을 상기 제2 자산에 배정하는 단계 - 상기 제1 우선순위 값은 상기 제2 우선순위 값보다 높음 - 를 포함하는 몰입형 미디어 프로세싱 방법.
KR1020247011189A 2022-05-12 2023-05-02 몰입형 미디어를 위한 스트리밍 장면 우선순위화기 KR20240052837A (ko)

Applications Claiming Priority (23)

Application Number Priority Date Filing Date Title
US202263341191P 2022-05-12 2022-05-12
US63/341,191 2022-05-12
US202263342532P 2022-05-16 2022-05-16
US202263342526P 2022-05-16 2022-05-16
US63/342,532 2022-05-16
US63/342,526 2022-05-16
US202263344907P 2022-05-23 2022-05-23
US63/344,907 2022-05-23
US202263354071P 2022-06-21 2022-06-21
US63/354,071 2022-06-21
US202263355768P 2022-06-27 2022-06-27
US63/355,768 2022-06-27
US202263416395P 2022-10-14 2022-10-14
US202263416390P 2022-10-14 2022-10-14
US63/416,395 2022-10-14
US63/416,390 2022-10-14
US202263422175P 2022-11-03 2022-11-03
US63/422,175 2022-11-03
US202263428698P 2022-11-29 2022-11-29
US63/428,698 2022-11-29
US18/137,849 US20230370666A1 (en) 2022-05-12 2023-04-21 Streaming scene prioritizer for immersive media
US18/137,849 2023-04-21
PCT/US2023/066479 WO2023220535A1 (en) 2022-05-12 2023-05-02 Streaming scene prioritizer for immersive media

Publications (1)

Publication Number Publication Date
KR20240052837A true KR20240052837A (ko) 2024-04-23

Family

ID=88698646

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247011189A KR20240052837A (ko) 2022-05-12 2023-05-02 몰입형 미디어를 위한 스트리밍 장면 우선순위화기

Country Status (3)

Country Link
US (1) US20230370666A1 (ko)
KR (1) KR20240052837A (ko)
WO (1) WO2023220535A1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10313745B2 (en) * 2016-01-17 2019-06-04 Bitmovin Gmbh Adaptive streaming of an immersive video scene
US11875476B2 (en) * 2018-05-02 2024-01-16 Quidient, Llc Codec for processing scenes of almost unlimited detail
US12069321B2 (en) * 2020-06-12 2024-08-20 Tencent America LLC Data model for representation and streaming of heterogeneous immersive media

Also Published As

Publication number Publication date
US20230370666A1 (en) 2023-11-16
WO2023220535A1 (en) 2023-11-16

Similar Documents

Publication Publication Date Title
US20230319328A1 (en) Reference of neural network model for adaptation of 2d video for streaming to heterogeneous client end-points
US20240292041A1 (en) Adaptation of 2d video for streaming to heterogenous client end-points
US20240179203A1 (en) Reference of neural network model by immersive media for adaptation of media for streaming to heterogenous client end-points
US11570227B2 (en) Set up and distribution of immersive media to heterogenous client end-points
US20230336795A1 (en) Smart client for streaming of scene-based immersive media
US20230370666A1 (en) Streaming scene prioritizer for immersive media
US20240236443A1 (en) Independent mapping space for asset interchange using itmf
US11930059B2 (en) Immersive media streaming prioritized by frequency of asset reuse
US20230338834A1 (en) Smart client for streaming of scene-based immersive media to game engine
US20240104803A1 (en) Scene graph translation
CN117397243A (zh) 用于沉浸式媒体的流式传输场景优先级排序器
KR20230152130A (ko) 클라이언트 질의를 이용한 중복 자산의 재사용
KR20230119018A (ko) 자산 복잡도에 의해 우선순위가 정해지는 몰입형 미디어스트리밍
KR20230121144A (ko) 재이용가능한 몰입형 미디어 자산들을 위한 리던던트캐시
KR20230141816A (ko) 자산 포맷들의 변환을 위한 몰입형 미디어 데이터 복잡도 분석기

Legal Events

Date Code Title Description
A201 Request for examination