KR20230114282A - 장면 자산 재사용을 위한 몰입형 미디어 분석기 - Google Patents

장면 자산 재사용을 위한 몰입형 미디어 분석기 Download PDF

Info

Publication number
KR20230114282A
KR20230114282A KR1020237022266A KR20237022266A KR20230114282A KR 20230114282 A KR20230114282 A KR 20230114282A KR 1020237022266 A KR1020237022266 A KR 1020237022266A KR 20237022266 A KR20237022266 A KR 20237022266A KR 20230114282 A KR20230114282 A KR 20230114282A
Authority
KR
South Korea
Prior art keywords
media
asset
scene
media asset
unique
Prior art date
Application number
KR1020237022266A
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 KR20230114282A publication Critical patent/KR20230114282A/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/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234336Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by media transcoding, e.g. video is transformed into a slideshow of still pictures or audio is converted into text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

콘텐츠 소스로부터 몰입형 프리젠테이션을 위한 몰입형 미디어 데이터를 수신하는 단계; 상기 몰입형 미디어 데이터에 포함된 장면 세트에 있는 미디어 자산에 대응하는 자산 정보를 취득하는 단계; 상기 자산 정보로부터, 상기 장면 세트에서 사용된 상기 미디어 자산의 특성을 분석하여 각각의 미디어 자산이 상기 미디어 자산들 사이에서 고유한지 여부를 판정하는 단계; 및 각각의 미디어 자산이 상기 몰입형 프리젠테이션을 위한 상기 몰입형 미디어 데이터에 포함된 상기 장면 세트에 있는 상기 미디어 자산들 사이에서 고유하지 않다는 결정에 기초하여, 상기 장면 세트에서 각각의 미디어 자산을 재사용하기 위해 각각의 미디어 자산을 고유하게 식별하는 메타데이터 정보를 생성하는 단계를 포함하는, 적어도 하나의 프로세서에 의해 수행되는 미디어 스트림의 미디어 배포 최적화가 제공된다.

Description

장면 자산 재사용을 위한 몰입형 미디어 분석기
관련 출원에 대한 상호 참조
본 출원은 2021년 11월 5일에 출원된 미국 특허 가출원 제63/276,540호 및 2022년 10월 21일에 출원된 미국 특허 출원 제17/970,712호에 기초하고 이 출원들에 대한 우선권을 주장하며, 이들의 개시 내용은 전체가 본 출원에 참조에 의해 본 출원에 포함된다.
분야
본 개시는 일반적으로 비디오, 오디오, 기하학적(3D) 객체, 햅틱, 연관된 메타데이터, 또는 클라이언트 프리젠테이션 디바이스(client presentation device)를 위한 다른 콘텐츠를 포함한, 미디어를 분배하는 시스템 및 네트워크에 대한 아키텍처, 구조 및 구성요소트에 관련된 실시예를 설명한다. 일부 실시예는 이기종 몰입형 및 상호작용형(heterogeneous immersive and interactive client) 클라이언트 프리젠테이션 디바이스에 미디어 콘텐츠를 배포하기 위한 시스템, 구조 및 아키텍처에 관한 것이다.
몰입형 미디어(Immersive Media)는 일반적으로 인간의 모든 감각계(예: 시각, 청각, 체성 감각(somatosensory), 후각 및 어쩌면 미각)를 자극하여, 사용자가 그 미디어의 체험 속에 물리적으로 존재하고 있다는 인식을 만들어 내거나 강화시키는 미디어, 즉 시간이 정해져 있는 시한(timed) 2차원(two-dimensional, 2D) 비디오 및 대응하는 오디오용의 기존(예: "레거시(legacy)") 상용 네트워크를 통해 배포되는 것 이상의 것을 말하며; 이러한 시간 지정 미디어는 "레거시 미디어"라고도 알려져 있다. 몰입형 미디어는 역학 및 물리 법칙의 디지털 시뮬레이션을 통해 실제 세계를 만들어 내거나 모방하려고 시도하는 미디어로 정의할 수 있으며, 이로써 인간의 임의의 감각 또는 모든 감각계를 자극하여 실제 또는 가상 세계를 묘사하는 장면 안에 사용자가 물리적으로 존재하고 있다는 인식을 만들어 낸다.
머리 장착형(head-mounted display) 디스플레이, 증강 현실(augmented-reality) 안경, 핸드헬드형(hand-held) 제어기, 멀티뷰(hand-held ) 디스플레이, 햅틱(haptic) 장갑, 게임기(game consoles), 홀로그램(holographic) 디스플레이 및 기타 형태의 체적(volumetric) 디스플레이 등을 포함한, 다수의 몰입형 미디어 가능 디바이스가 소비자 시장에 도입(또는 출현할 준비)되고 있다. 이러한 디바이스의 가용성(availability)에도 불구하고 상용 네트워크를 통한 몰입형 미디어 배포를 위한 일관된 종단간 생태계(coherent end-to-end ecosystem)는 실현되지 못했다.
관련 기술에서, 상용 네트워크를 통한 몰입형 미디어의 배포를 위한 일관된 종단간 생태계를 실현하는 데 장애가 되는 것 중 하나는 몰입형 디스플레이를 위한 이러한 배포 네트워크의 종단점(end-point) 역할을 하는 클라이언트 디바이스가 모두 매우 다양하다는 것이다. 레거시 미디어 배포만을 위해 설계된 네트워크와 달리, 다양한 디스플레이 클라이언트(즉, 이기종 클라이언트)를 지원해야 하는 네트워크는, 이러한 네트워크가 적응 프로세스를 채용하여 미디어를 각각의 타깃 디스플레이 및 대응하는 애플리케이션에 적합한 형식으로 변환할 수 있게 되기 전에, 각각의 클라이언트의 능력에 대한 세부사항, 및 배포될 미디어의 형식(format)의 세부 사항과 관련된 상당한 양의 정보를 필요로 한다. 이러한 네트워크는 최소한, 입력 미디어 소스를 타깃 디스플레이 및 애플리케이션에 적합한 형식으로 의미 있게 적응시키는 방법을 확인하기 위해 각각의 타깃 디스플레이의 특성과 인제스팅된 미디어(ingested media)의 복잡도(complexity)를 설명하는 정보에 액세스해야 할 것이다.
따라서, 이기종 몰입형 미디어를 다양한 클라이언트에 효율적으로 표현하고 스트리밍하는 방법이 필요하다.
실시예에 따르면, 몰입형 미디어 프리젠테이션을 포함하는 적어도 하나의 장면 세트에 대해 미디어 자산을 분배하는 시스템을 최적화하기 위한 방법이 제공되며, 적어도 하나의 상기 장면 세트에 걸쳐 한 번보다 많이 되는 상기 개별 미디어 자산은 클라이언트가 수신하는 미디어 자산의 복사본을 저장하기에 충분한 스토리지 자원 갖추고 있거나 그러한 스토리지 자원에 액세스할 수 있는 클라이언트에 한 번만 배포된다.
본 개시의 일 측면에 따르면, 적어도 하나의 프로세서에 의해 수행되는 미디어 배포를 최적화하기 위한 방법이 제공된다. 상기 방법은, 콘텐츠 소스(content source)로부터 몰입형 프리젠테이션(immersive presentation)을 위한 몰입형 미디어 데이터를 수신하는 단계; 상기 몰입형 미디어 데이터에 포함된 장면 세트에 있는 미디어 자산(media asset)에 대응하는 자산 정보를 취득하는 단계; 상기 자산 정보로부터, 상기 장면 세트에서 사용된 상기 미디어 자산의 특성을 분석하여 각각의 미디어 자산이 상기 미디어 자산들 사이에서 고유한지 여부를 판정하는 단계; 및 각각의 미디어 자산이 상기 몰입형 프리젠테이션을 위한 몰입형 미디어 데이터에 포함된 장면 세트에 있는 미디어 자산들 사이에서 고유하지 않다는 결정에 기초하여, 상기 장면 세트에서 각각의 미디어 자산을 재사용하기 위해 각각의 미디어 자산을 고유하게 식별하는 메타데이터 정보를 생성하는 단계를 포함한다.
본 개시의 다른 측면에 따르면, 컴퓨터 프로그램 코드를 저장하도록 구성된 적어도 하나의 메모리, 및 상기 컴퓨터 프로그램 코드를 판독하고 상기 컴퓨터 프로그램 코드에 의해 명령받은 대로 동작하도록 구성된 적어도 하나의 프로세서를 포함하는, 미디어 배포를 최적화하기 위한 디바이스(또는 장치)가 제공된다. 상기 컴퓨터 프로그램 코드는, 상기 적어도 하나의 프로세서로 하여금 콘텐츠 소스로부터 몰입형 프리젠테이션을 위한 몰입형 미디어 데이터를 수신하게 하도록 구성된 수신 코드; 상기 적어도 하나의 프로세서로 하여금 상기 몰입형 미디어 데이터에 포함된 장면 세트에 있는 미디어 자산에 대응하는 자산 정보를 취득하게 하도록 구성된 취득 코드; 상기 적어도 하나의 프로세서로 하여금 상기 자산 정보로부터, 상기 장면 세트에서 사용된 미디어 자산의 특성을 분석하여 각각의 미디어 자산이 상기 미디어 자산들 사이에서 고유한지 여부를 판정하게 하도록 구성된 분석 코드; 및 상기 적어도 하나의 프로세서로 하여금 각각의 미디어 자산이 상기 몰입형 프리젠테이션을 위한 몰입형 미디어 데이터에 포함된 장면 세트에 있는 미디어 자산들 사이에서 고유하지 않다는 결정에 기초하여, 상기 장면 세트에 있는 각각의 미디어 자산을 재사용하기 위해 각각의 미디어 자산을 고유하게 식별하는 메타데이터 정보를 생성하게 하도록 구성된 생성 코드를 포함한다.
본 개시의 다른 측면에 따르면, 미디어 배포를 최적화하기 위한 디바이스의 적어도 하나의 프로세서에 의해 실행되는 명령어를 저장하는, 컴퓨터로 판독 가능한 비일시적 매체가 제공된다. 상기 명령어는 상기 적어도 하나의 프로세서로 하여금, 콘텐츠 소스로부터 몰입형 프리젠테이션을 위한 몰입형 미디어 데이터를 수신하게 하고; 상기 몰입형 미디어 데이터에 포함된 장면 세트에 있는 미디어 자산에 대응하는 자산 정보를 취득하게 하고; 상기 자산 정보로부터, 상기 장면 세트에서 사용된 미디어 자산의 특성을 분석하여 각각의 미디어 자산이 상기 미디어 자산들 사이에서 고유한지 여부를 판정하게 하고; 각각의 미디어 자산이 상기 몰입형 프리젠테이션을 위한 몰입형 미디어 데이터에 포함된 장면 세트에 있는 상기 미디어 자산들 사이에서 고유하지 않다는 결정에 기초하여, 상기 장면 세트에 있는 각각의 미디어 자산을 재사용하기 위해 각각의 미디어 자산을 고유하게 식별하는 메타데이터 정보를 생성하게 한다.
추가적인 실시예는 다음의 설명에서 설명될 것이고, 부분적으로는 설명으로부터 명백할 것이고, 및/또는 본 개시의 제시된 실시예의 실시에 의해 실현될 수 있다.
도 1a는 실시예에 따른, 클라이언트에 배포하기 위한 네트워크를 통한 미디어 흐름의 개략도이다.
도 1b는 재사용 논리 의사결정 프로세스를 나타낸 작업흐름이다.
도 2a는 실시예에 따른, 네트워크가 미디어를 클라이언트에 배포하기 전에 미디어를 변환해야 하는지를 결정하기 위해 의사결정 프로세스가 채용되는 네트워크를 통한 미디어의 흐름의 개략도이다.
도 2b는 실시예에 따른, 자산 재사용 로직을 사용한 미디어 변환 의사결정 프로세스를 나타낸 작업흐름이다.
도 3은 실시예에 따른, 시간 지정 몰입형 미디어의 표현 및 스트리밍을 위한 데이터 모델의 개략도이다.
도 4는 실시예에 따른, 시간 미지정 몰입형 미디어의 표현 및 스트리밍을 위한 데이터 모델의 개략도이다.
도 5는 실시예에 따른, 자연 미디어 합성(natural media synthesis) 프로세스의 개략도이다.
도 6은 실시예에 따른, 합성 미디어 인제스트 생성(synthetic media ingest creation) 프로세스의 일례의 개략도이다.
도 7은 실시예에 따른, 컴퓨터 시스템의 개략도이다.
도 8은 실시예에 따른 네트워크 미디어 배포 시스템의 개략도이다.
도 9는 실시예에 따른 몰입형 미디어 배포(immersive media distribution) 프로세스의 예시적인 작업흐름의 개략도이다.
도 10은 실시예에 따른, 미디어 적응 프로세스(media adaptation process) 시스템의 시스템도이다.
도 11은 실시예에 따른, 예시적인 배포 형식 생성(distribution format creation) 프로세스의 개략도이다.
도 12는 실시예에 따른, 예시적인 패킷화(packetizing) 프로세스의 개략도이다.
도 13은 실시예에 따른, 구성요소 간 통신 흐름의 일례를 나타낸 시퀀스도이다.
도 14a는 실시예에 따른, 미디어 재사용 분석기가 장면의 객체/자산의 고유성을 분석하는 방법을 나타낸 작업흐름이다.
도 14b는 실시예에 따른, 프리젠테이션의 장면에 대한 고유 자산 리스트 세트의 일례이다.
도 15는 실시예에 따른, 미디어 재사용 분석기가 장면의 객체/자산의 고유성을 분석하기 위한 컴퓨터 코드의 일례의 블록도이다.
다음의 예시적인 실시예의 상세한 설명은 첨부된 도면을 참조한다. 서로 다른 도면에서의 동일한 참조 번호로는 동일하거나 유사한 요소를 식별할 수 있다.
전술한 개시는 예시 및 설명을 제공하지만, 개시된 정확한 형태로 구현을 한정하거나 총망라하려는 의도는 아니다. 수정 및 변경은 본 개시에 비추어 가능하거나 구현의 실시로부터 획득될 수 있다. 또한, 하나의 실시예의 하나 이상의 특징 또는 구성요소는 다른 실시예(또는 다른 실시예의 하나 이상의 특징)에 통합되거나 결합될 수 있다. 게다가, 아래에 제공되는 동작의 흐름도 및 설명에서, 하나 이상의 동작이 생략될 수 있고, 하나 이상의 동작이 추가될 수 있으며, 하나 이상의 동작이 동시에(적어도 부분적으로) 수행될 수 있고, 하나 이상의 동작의 순서는 전환될 수 있다.
여기에 기술된 시스템 및/또는 방법은 서로 다른 형태의 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있음이 명백할 것이다. 이러한 시스템 및/또는 방법을 구현하는 데 사용되는 실제 특화된 제어 하드웨어 또는 소프트웨어 코드는 구현에 대한 한정사항이 아니다. 따라서 시스템 및/또는 방법의 동작 및 거동은 특정 소프트웨어 코드를 참조하지 않고 설명되었다. 소프트웨어 및 하드웨어는 여기서의 설명에 기초한 시스템 및/또는 방법을 구현하도록 설계될 수 있음을 이해해야 한다.
특징의 특정 조합이 청구범위에 인용되고 및/또는 명세서에 개시되더라도, 이러한 조합은 가능한 구현의 개시를 한정하려는 것이 아니다. 사실, 이들 특징 중 다수는 청구범위에 구체적으로 언급되지 않은 방식 및/또는 명세서에 개시되지 않은 방식으로 조합될 수 있다. 아래에 나열된 각각의 종속항은 하나의 청구항에만 직접적으로 종속할 수 있지만, 가능한 구현의 개시에는 청구항 세트의 다른 모든 청구항과 조합된 각 종속항이 포함된다.
이하에서 논의되는 제안된 특징들은 개별적으로 또는 임의의 순서로 조합되어 사용될 수 있다. 또한, 실시예는 처리 회로(예: 하나 이상의 프로세서 또는 하나 이상의 집적 회로)에 의해 구현될 수 있다. 하나의 예에서, 하나 이상의 프로세서는 컴퓨터로 판독 가능한 비일시적 매체에 저장된 프로그램을 실행한다.
여기에서 사용된 요소, 행위 또는 명령도 명시적으로 기재되지 않는 한 중요하거나 필수적인 것으로 해석될 수 없다. 또한, 여기에서 사용되는 "일(영어 관사 a 및 an에 대응)"은 하나 이상의 항목을 포함하도록 의도되며, "하나 이상(one or more)"와 상호 교환적으로 사용될 수 있다. 하나의 항목만 의도되는 경우 "하나" 또는 이와 유사한 용어가 사용된다. 또한, 여기에 사용된 용어 "가지다(has, have)", "갖는(having)", "포함하다(include)", "포함하는(including)" 등은 제한이 없는 용어(open-ended terms)를 의미한다. 또한, "~에 기초하여(based on)"라는 어구는 달리 명시적으로 언급되지 않는 한 "적어도 부분적으로 ~에 기초하여"를 의미하는 것으로 의도된다. 또한, "[A] 및 [B] 중 적어도 하나" 또는 "[A] 또는 [B] 중 적어도 하나"와 같은 표현은 A만, B만 또는 A와 B 모두를 포함하는 것으로 이해되어야 한다.
본 개시의 예시적인 실시예는 몰입형 미디어 가능 프리젠테이션 디바이스로의 배포를 위해 미디어 자산을 분석 및 변환하기 위한 방법 및 디바이스를 제공한다. 몰입형 미디어 가능 프레젠테이션 디바이스는 몰입형 미디어에 대한 액세스, 해석 및 제공할 수 있는 충분한 자원과 능력을 갖추고 있음을 의미할 수 있다. 이러한 디바이스는 지원할 수 있는 미디어(네트워크에 의해 제공됨)의 양과 형식 면에서 이종이다. 마찬가지로, 미디어는 이러한 미디어를 대규모로 배포하는 데 필요한 네트워크 자원의 양과 유형 측면에서 이종이다. "규모에 맞게(At scale)"는 네트워크(예: Netflix, Hulu, Comcast 구독, Spectrum 구독 등)를 통해 레거시 비디오 및 오디오 미디어 배포와 동등한 배포를 달성하는 서비스 공급자에 의한 미디어 배포를 의미할 수 있다. 대조적으로, 랩톱 디스플레이, 텔레비전 및 모바일 핸드셋 디스플레이와 같은 레거시 프레젠테이션 디바이스는 이러한 디바이스가 모두 기본 시각적 미디어 형식으로 2D 직사각형 비디오 또는 정지 이미지를 사용하는 직사각형 디스플레이 화면으로 구성되기 때문에 기능면에서 동질적이다. 레거시 프레젠테이션 디바이스에서 일반적으로 사용되는 일부 시각적 미디어 형식에는 예컨대 High Efficiency Video Coding/H.265, Advanced Video Coding/H.264 및 Versatile Video Coding/H.266이 포함될 수 있다.
언급한 바와 같이, 네트워크를 통해 몰입형 미디어를 배포하기 위한 종단점 역할을 하는 클라이언트 디바이스는 모두 매우 다양하다. 그 중 일부는 특정 몰입형 미디어 형식을 지원하지만 다른 형식은 지원하지 않는다. 그 중 일부는 레거시 래스터 기반 형식에서 몰입형 경험을 생성할 수 있는 반면 다른 일부는 불가능하다. 이 문제를 해결하기 위해 네트워크를 통한 모든 미디어 배포는 미디어를 사용할 수 있다. 입력 또는 네트워크 인제스트 미디어 형식에서 해당 배포 미디어 형식이 타깃이 되는 클라이언트 디바이스 및 그 애플리케이션에 의해 인제스팅되기에 적합할 뿐만 아니라 네트워크를 통한 스트리밍에도 도움이 되는 배포 미디어 형식으로 미디어를 다시 포맷(reformat)하는 전달 시스템 및 아키텍처 네트워크를 채용할 수 있다. 따라서 인제스팅된 미디어를 사용하여 네트워크에 의해 수행되는 두 가지 프로세스가 있을 수 있다: 1) 미디어를 형식 A에서 타깃 클라이언트 디바이스에 의해 수집하기에 적합한 형식 B로 전환하는 것(converting), 즉 특정 미디어 형식을 인제스팅하는 클라이언트 디바이스의 능력에 기초하는 것, 2) 스트리밍될 미디어를 준비하는 것.
실시예에서, 스트리밍 미디어는 미디어의 시간적 또는 공간적 구조 중 하나 또는 둘 다에 따라 논리적으로 구성되고 시퀀싱된 연속적인 보다 작은 크기의 청크(chunk)로 네트워크를 통해 전달될 수 있도록 미디어의 단편화(fragmenting) 및/또는 패킷화(packetizing)를 광범위하게 지칭한다. 형식 A에서 형식 B로 미디어를 전환하는 것(때로는 "트랜스코딩(transcoding)"이라고도 함)은 미디어를 클라이언트 디바이스에 배포하기 전에 일반적으로 네트워크 또는 서비스 공급자에 의해 수행되는 프로세스일 수 있다. 이러한 트랜스코딩은 형식 B가 선호되는 형식이라거나, 타깃 클라이언트 디바이스에 의해 인제스팅될 수 있는 유일한 형식이라거나, 상용 네트워크와 같은 제약이 있는 자원을 통한 배포에 더 적합하다는 사전 지식에 기초하여 형식 A에서 형식 B로 미디어를 변환하는 것으로 구성될 수 있다.
전부는 아니지만 대부분의 경우, 미디어가 네트워크으로부터 타깃 클라이언트 디바이스에 의해 수신되거나 처리되기 전에 미디어를 변환하고 스트리밍될 미디어를 준비하는 두 단계가 필요하다.
미디어를 전환(또는 변환)하고 스트리밍을 위해 미디어를 준비하는 것은 클라이언트 디바이스에 미디어를 배포하기 전에 네트워크에 의해 인제스팅된 미디어에 작용하는 프로세스에서의 단계이다. 이러한 프로세스(즉, 스트리밍을 위한 전환 및 준비)의 결과는 배포 미디어 형식 또는 간단히 배포 형식이라고 하는 미디어 형식이다. 네트워크가 정보에 액세스하여 클라이언트가 변환 및/또는 스트리밍된 미디어 객체를 필요로 할 것임을 지시하는 경우 그렇지 않으면 이러한 미디어의 변환 및 스트리밍을 여러 번 트리거하였을 여러 경우에 대해, 주어진 미디어 데이터 객체에 대해 수행되는 경우, 이러한 단계는 한 번만 수행되어야 한다. 즉, 미디어의 변환 및 스트리밍을 위한 데이터 처리 및 전송은 일반적으로
잠재적으로 상당한 양의 네트워크 및/또는 컴퓨팅 자원을 소비해야 하는 요구 사항과 함께 대기 시간의 원인으로 간주된다. 따라서 클라이언트가 잠재적으로 이미 캐시에 저장된 또는 클라이언트에 대해 로컬로 저장된 특정 미디어 데이터 객체를 가지고 있는 경우를 지시하는 정보에 액세스하지 않는 네트워크 설계는 이러한 정보에 액세스하는 네트워크에 비해 최적이 아닌 성능을 발휘할 것이다.
이기종 클라이언트를 지원하는 이상적인 네트워크는 입력 미디어 형식에서 특정 타깃 형식으로 적응되는 자산의 일부가 유사한 디스플레이 타깃 세트에 걸쳐 재사용될 수 있다는 사실을 활용해야 한다. 즉, 타깃 디스플레이에 적합한 형식으로 일단 전환되면, 일부 자산은 유사한 적응 요구 사항을 가진 여러 디스플레이에서 재사용될 수 있다. 따라서, 실시예에 따르면, 그러한 이상적인 네트워크는 예컨대 레거시 네트워크에서 콘텐츠 배포 네트워크(Content Distribution Network, CDN)의 사용과 비교적 유사한 영역에 적응된 자산을 저장하기 위해 캐싱 메커니즘을 채용할 수 있다.
몰입형 미디어는 장면 설명(scene description)으로도 알려진 장면 그래프(scene graph)에 의해 설명되는 장면으로 구성될 수 있다. 실시예에서, (컴퓨터 그래픽의 맥락에서) 장면은 객체(예: 3D 자산), 객체 속성, 그리고 해당 설정 내에서 객체의 상호작용과 관련하여 공간 또는 시간에 의해 바운딩되는(bounded) 특정 설정을 설명하는 시각적, 음향적, 및 물리 기반 특성을 포함하는 기타 메타데이터의 모음(collection)이다. 장면 그래프는 벡터 기반 그래픽 편집 애플리케이션 및 최신 컴퓨터 게임에서 흔히 사용되는 일반적인 데이터 구조로, 그래픽 장면의 논리적이고 또한 종종(반드시 그런 것은 아님) 공간 표현을 정리한다. 장면 그래프는 그래프 구조의 노드와 정점 모음으로 구성될 수 있다. 노드는 시각적, 오디오(청각적), 촉각적, 후각적, 미각적 또는 관련 처리 정보의 논리적, 공간적 또는 시간적 표현과 관련된 정보로 구성될 수 있다. 각각의 노드는 최대 하나의 출력 에지, 0개 이상의 입력 에지 및 노드에 연결된 하나 이상의 에지(입력 또는 출력)를 가져야 한다. 속성 또는 객체 속성은 해당 노드의 특정 특성 또는 특징을 정준으로(canonical) 또는 더 복잡한 형식(예컨대, 다른 노드의 관점에서)으로 설명하는 데 사용되는 노드와 연련된 메타데이터를 말한다. 장면 그래프의 범위는 시각적, 오디오, 및 예를 들어 프레젠테이션(예: 영화)의 일부인 건물 내의 특정 위치에서 발생하는 이벤트 및 배우와 같은, 프레젠테이션의 일부인 특정 설정을 포함하는 다른 형태의 몰입형 자산을 설명하는 것이다. 단일 프레젠테이션을 구성하는 모든 장면의 리스트는 장면의 매니페스트(manifest)로 공식화canonical)될 수 있다
적응된 자산을 저장하기 위해 캐싱 메커니즘을 사용하는 추가 이점은 콘텐츠를 배포해야 하기 전에 미리 준비되는 콘텐츠에 대해 재료 명세서(bill of materials)가 생성될 수 있다는 것이다. 재료 명세서는 전체 프레젠테이션에 사용될 모든 자산과, 프레젠테이션 내의 다양한 장면에서 각각의 자산이 사용되는 빈도를 식별하게 해준다. 이상적인 네트워크는 특정 프레젠테이션에 대한 자산 요구 사항을 충족하는 데 사용할 수 있는 캐시된 자원의 존재에 대한 지식을 가지고 있어야 한다. 마찬가지로, 일련의 장면을 제시하는 클라이언트 디바이스는 여러 장면에서 사용될 특정 자산의 빈도에 대한 지식을 갖길 원할 수 있다. 예를 들어 미디어 자산(미디어 객체로도 알려짐)이 클라이언트 디바이스에서 처리 중이거나 처리될 여러 장면에서 여러 번 참조되면, 클라이언트 디바이스는 특정 자산을 필요로 하는 마지막 장면이 클라이언트 디바이스에 의해 제시될 때까지 캐싱 자원에서 그 자산을 폐기하는 것을 방지해야 한다. 본 개시의 실시예에서, 미디어 "객체" 및 미디어 "자산"이라는 용어는 상호 교환적으로 사용될 수 있으며, 둘 다 미디어 데이터의 특정 형식의 특정 인스턴스를 지칭한다.
레거시 미디어 프리젠테이션 디바이스의 경우, 배포 형식은 프리젠테이션을 생성하기 위해 클라이언트 프리젠테이션 디바이스에 의해 궁극적으로 사용되는 "프리젠테이션 형식"과 동등하거나 충분히 동등할 수 있다. 즉, 프레젠테이션 미디어 형식은 속성(예: 해상도, 프레임 레이트, 비트 심도(bit-depth), 색 영역(color gamut) 등)이 클라이언트 프레젠테이션 디바이스의 능력에 엄밀하게 조정된 미디어 형식이다. 배포 대 프레젠테이션(distribution vs. presentation) 형식의 예는 다음을 포함한다: 해상도 (3840 픽셀 열 × 2160 픽셀 행)의 초고화질(Ultra-high-definition, (UHD) 클라이언트 디바이스에 대해 네트워크에 의해 배포되는 고화질 비디오 신호(High-Definition, HD)(1920 픽셀 열 × 1080 픽셀 행). 앞서 언급한 예에서, UHD 클라이언트 디바이스는 비디오 신호의 해상도를 HD에서 UHD로 높이기 위해 HD 배포 형식에 초해상도(super-resolution) 프로세스를 적용한다. 따라서, 클라이언트 디바이스에 의해 제시되는 최종 신호 형식은 "프리젠테이션 형식"이며, 이 예에서는 UHD 신호인 반면, HD 신호는 분배 형식을 포함한다. 이 예에서, HD 신호 배포 형식은 UHD 신호 표시 형식과 매우 유사한데 이유는 두 신호 모두 직선으로 된(rectilinear) 비디오 형식이기 때문이며, HD 형식을 UHD 형식으로 전환하는 프로세스는 비교적 간단하고 대부분의 레거시 미디어 클라언트 디바이스에서 수행하기 쉽다.
일부 실시예에서, 클라이언트 디바이스에 대한 바람직한 프리젠테이션 형식은 네트워크에 의해 수신되는 인제스트 형식과 상당히 다를 수 있다. 그럼에도 불구하고, 클라이언트 디바이스는 미디어를 인제스트 형식에서 클라이언트 디바이스에 의한 프리젠테이션에 적합한 필요한 프리젠테이션 형식으로 변환하기에 충분한 컴퓨팅, 스토리지 및 대역폭 자원에 액세스할 수 있다. 이 시나리오에서, 네트워크는
클라이언트 디바이스가 네트워크가 선험적으로 그렇게 해야 할 필요 없이 모든 미디어 변환을 수행할 수 있는 충분한 자원에 액세스할 수 있기 때문에 인제스팅된 미디어를 형식 A에서 형식 B로 다시 형식을 설정하거나 트랜스코딩하는 단계를 건너뛸 수 있다. 그러나 네트워크는 미디어가 네트워크를 통해 클라이언트 디바이스로 스트리밍될 수 있도록 인제스트 미디어를 단편화 및 패키징하는 단계를 여전히 수행할 수 있다.
일부 실시예에서, 인제스팅된 미디어는 클라이언트의 선호 프리젠테이션 형식과 상당히 다를 수 있으며, 클라이언트 디바이스는 미디어를 인제스트 형식에서 선호 프리젠테에선 형식으로 변환하기에 충분한 컴퓨팅, 스토리지 및/또는 대역폭 자원에 액세스하지 못할 수 있다. 이러한 시나리오에서, 네트워크는 인제스트 형식에서 클라이언트 디바이스를 대신하여 클라이언트의 선호 프레젠테이션 형식과 동등하거나 거의 동등한 형식으로의 변환의 일부 또는 전부를 수행함으써 클라이언트를 지원할 수 있다. 일부 아키텍처 설계에서, 클라이언트 디바이스를 대신하여 네트워크에 의해 제공되는 이러한 지원을 일반적으로 분할 렌더링(split rendering)이라고 한다.
도 1a는 일부 실시예에 따른, 클라이언트로의 배포를 위한 네트워크를 통한 미디어 흐름 프로세스(100)의 개략도이다. 도 1a는 형식 A(이하 "인제스트 미디어 형식 A")의 미디어의 예시적인 처리를 도시한다. 처리(즉, 미디어 흐름 프로세스(100))는 네트워크 클라우드 또는 에지 디바이스(이하 "네트워크 디바이스(104)")에 의해 수행되거나 실행될 수 있고 클라이언트, 예를 들어 클라이언트 디바이스(108)에 배포될 수 있다. 일부 실시예에서, 동일한 처리가 수동 프로세스에서 또는 클라이언트 디바이스에 의해 선험적으로 수행될 수 있다. 네트워크 디바이스(104)는 인제스트 미디어 모듈(101), 네트워크 처리 모듈(102)(이하 "처리 모듈(102)") 및 배포 모듈(103)을 포함할 수 있다. 클라이언트 디바이스(108)는 렌더링 모듈(106) 및 프리젠테이션 모듈(107)을 포함할 수 있다.
먼저, 네트워크 디바이스(104)는 콘텐츠 제공자 등으로부터 인제스팅된 미디어를 수신한다. 인제스트 미디어 모듈(101)은 인제스트 미디어 형식 A로 저장된 인제스팅된 미디어를 획득한다. 네트워크 처리 모듈(102)은 인제스팅된 미디어의 임의의 필요한 변환 또는 컨디셔닝을 수행하여 미디어의 잠재적인 대체 표현을 생성한다. 즉, 처리 모듈(102)은 인제스트 미디어의 미디어 객체에 대한 배포 형식을 생성한다. 언급된 바와 같이, 배포 형식은 미디어를 배포 형식 B로 형식을 만들어 클라이언트에 배포될 수 있는 미디어 형식이다. 배포 형식 B는 클라이언트 디바이스(108)로 스트리밍되도록 준비되는 형식이다. 처리 모듈(102)은
특정 미디어 객체가 이미 클라이언트 디바이스(108)로 스트리밍되었는지를 결정하기 위한 의사결정 프로세스를 수행하기 위한 최적화 재사용 로직(optimization reuse logic)(121)을 포함할 수 있다. 처리 모듈(102) 및 최적화 재사용 로직(121)의 동작은 도 1b를 참조하여 상세히 설명될 것이다.
미디어 형식 A 및 B는 특정 미디어 형식 사양의 동일한 신택스를 따르는 표현일 수도 있고 아닐 수도 있지만, 형식 B는 네트워크 프로토콜을 통한 미디어 배포를 용이하게 하는 방식으로 컨디셔닝될 가능성이 높다. 네트워크 프로토콜은 예컨대, TCP(Connection Oriented Protocol) 또는 UDP(Connectionless Protocol)일 수 있다. 배포 모듈(103)은 네트워크 연결(105)을 통해 네트워크 디바이스(104)에서 클라이언트 디바이스(108)로 스트리밍 가능한 미디어(즉, 미디어 형식 B)를 스트리밍한다.
클라이언트 디바이스(108)는 배포 미디어를 수신하고 선택적으로 렌더링 모듈(106)을 통해 프리젠테이션을 위해 미디어를 준비한다. 렌더링 모듈(106)은 타깃이 되고 있는 클라언트 디바이스(108)에 따라, 초보적이거나 게다가 정교할 수 있는 일부 렌더링 능력에 액세스할 수 있다. 렌더링 모듈(106)은 프리젠테이션 형식 C로 프리젠테이션 미디어를 생성한다. 프리젠테이션 형식 C는 제3 형식 사양에 따라 표현되거나 표현되지 않을 수 있다. 따라서, 프리젠테이션 형식 C는 미디어 형식 A 및/또는 B와 동일하거나 상이할 수 있다. 렌더링 모듈(106)은 프리젠테이션 형식 C를 프리젠테이션 모듈(107)에 출력하고, 클라이언트 디바이스(108)의 디스플레이(또는 이와 유사한 것)에서 프리젠테이션 미디어를 제시할 수 있다.
본 개시의 실시예는 인제스트 미디어의 일부 또는 전부를 형식 A에서 형식 B로 변환해야 하는지 여부를 판정하기 위해 네트워크 및/또는 클라이언트에 의해 사용되는 의사결정 프로세스를 용이하게 하여 잠재적으로 제3 형식 C로 미디어의 프리젠테이션을 생성하는 클라이언트의 능력을 더욱 촉진한다. 이러한 의사결정 프로세스를 돕기 위해, 실시예는 장면 자산의 재사용을 위한 몰입형 미디어 최적화기(immersive media optimizer)를 설명한다. 몰입형 미디어 최적화기는 프리젠테이션을 구성하는 장면 세트에 걸쳐, 몰입형 미디어 장면의 일부 또는 전체를 포함하는 하나 이상의 미디어 객체를 분석하는 메커니즘으로서 도입된다. 몰입형 미디어 최적화기는 프레젠테이션을 구성하는 각 장면에서 각 개체의 고유성과 관련된 정보를 제공하는(informational) 메타데이터를 생성한다. 메타데이터는 그 속성에 따라 객체를 고유하게(유일한 것으로) 식별하는 정보를 포함할 수 있다. 몰입형 미디어 최적화기 또한 하나 이상의 장면에서 고유한 객체가 사용된 횟수를 추적한다. 이러한 몰입형 미디어 최적화기는 개별적으로 또는 각 장면에서 각 객체의 복잡도를 결정하는 몰입형 미디어 분석기와 함께 구현될 수 있다. 따라서 모든 그러한 메타데이터가 몰입형 미디어 장면의 일부 또는 전체와 관련하여 사용할 수 있으면, 의사결정 프로세스는 완전한 프레젠테이션을 위해 장면 전체에서 특정 객체가 사용되는 빈도를 지시하는 정보를 더 잘 갖추게 되고, 따라서 클라이언트가 이전에 네트워크로부터 그러한 미디어의 사본을 수신한 경우 원본 미디어를 변환 및/또는 스트리밍하는 단계를 건너뛰도록 결정할 수 있다.
실시예는 네트워크 또는 클라이언트에 의해 채용되는 경우, 형식 A에서 형식 B로의 미디어 객체의 변환이 전적으로 네트워크, 전적으로 클라이언트 또는 둘의 혼합을 통해 수행되어야 하는지(클라이언트 또는 네트워크에 의해 변환되어야 하는 자산의 지시와 함께)에 관한 지시를 제공하는 의사결정 프로세스를 지원하는 데 사용될 수 있는 충분한 정보를 획득하기 위해 몰입형 미디어 장면을 분석하는 메커니즘 또는 프로세스에 대한 필요성을 다룬다. 이러한 몰입형 미디어 데이터 복잡도 분석기는 자동화된 컨텍스트에서 클라이언트 또는 네트워크에 의해, 예컨대 시스템 또는 디바이스를 조작하는 사람에 의해 수동으로 채용된다.
실시예에 따르면, 입력 몰입형 미디어 소스를 특정 종단점 클라이언트 디바이스에 적응시키는 프로세스는 동일한 입력 몰입형 미디어 소스를 특정 종단점 디바이스에서 실행되고 있는 애플리케이션에 적응시키는 프로세스와 동일하거나 유사할 수 있다. 따라서 종단점 디바이스의 특성에 맞게 입력 미디어 소스를 적응시키는 문제는 특정 입력 미디어 소스를 특정 애플리케이션의 특성에 맞게 적응시키는 문제와 동일한 복잡도를 가진다.
도 1b는 실시예에 따른, 처리 모듈(102)의 작업흐름이다. 보다 구체적으로, 도 1b의 작업흐름은 특정 미디어 객체가 클라이언트 디바이스(108)에 이미 스트리밍되었는지를 결정하기 위한 의사결정 프로세스를 돕기 위한 최적화 재사용 로직(121)에 의해 수행되는 재사용 로직 의사결정 프로세스이다.
S101에서는 배포 미디어 생성 프로세스이다. 이와 같이, 재사용 로직 의사결정 프로세스도 시작된다. S102에서, 현재 미디어 객체가 이전에 클라이언트 디바이스(108)로 스트리밍되었는지를 결정하기 위해 조건부 로직이 수행된다. 최적화 재사용 로직(121)은 미디어 객체가 이전에 클라이언트에로 스트리밍되었는지를 결정하기 위해 프리젠테이션을 위한 고유 자산 리스트에 액세스할 수 있다. 현재 미디어 객체가 이전에 스트리밍된 적이 있는 경우, 프로세스는 S103으로 진행한다. S103에서, 클라이언트가 현재 미디어 객체를 이미 수신했고 미디어 객체의 로컬 복사본을 사용해야 함을 식별하기 위해 지시자(나중에 "프록시"라고도 함)가 생성된다. 이어서, 현재 미디어 객체에 대한 처리가 종료된다(S104).
미디어 객체가 이전에 스트리밍된 적이 없다고 결정되면, 프로세스는 S105로 진행한다. S105에서, 처리 모듈(102)은 변환 및/또는 배포를 위해 미디어 객체를 계속 준비하고 미디어 객체에 대한 배포 형식이 생성된다. 이어서, S104로 진행하고 현재 미디어 객체에 대한 처리를 종료한다.
도 2a는 네트워크를 통해 인제스팅된 미디어를 처리하기 위한 논리 작업흐름이다. 도 2a에 나타낸 작업흐름은 실시예에 따른, 미디어 변환 의사결정 프로세스(200)를 도시한다. 미디어 변환 의사결정 프로세스(200)는 클라이언트 디바이스에 미디어를 배포하기 전에 네트워크가 미디어를 변환해야 하는지를 결정하기 위해 채용된다. 미디어 변환 의사결정 프로세스(200)는 네트워크 내에서 수동으로 처리될 수 있거나 자동화된 프로세스이다.
형식 A로 표현되는 인제스트 미디어는 콘텐츠 제공자에 의해 네트워크에 제공된다. S201에서, 콘텐츠 제공자로부터 네트워크에 의해 미디어가 인제스팅된다. 그 후, S202에서 타깃 클라이언트에 대한 속성이 아직 알려지지 않은 경우, 취득된다. 속성은 타깃 클라이언트의 처리 능력을 기술한다.
S203에서, 네트워크(또는 클라이언트)가 인제스팅된 미디어의 변환을 도와야 하는지가 결정된다. 특히, 미디어가 타깃이 되는 클라이언트로 스트리밍되기 전에 인제스팅된 미디어 내에 포함된 임의의 미디어 자산에 대한 형식 변환(예: 형식 A에서 형식 B로의 하나 이상의 미디어 객체의 변환)이 있는지가 결정된다. S203에서의 의사결정 프로세스는 수동(즉, 디바이스 운영자 등에 의해)으로 수행되거나, 또는 자동화된 프로세스일 수 있다. S203에서의 의사결정 프로세스는 미디어가 원래의 인제스팅된 형식 A로 스트리밍될 수 있는지 여부, 또는 클라이언트에 의한 미디어의 프리젠테이션을 용이하게 하기 위해 다른 형식 B로 변환되어야 하는지 여부에 대한 결정에 기초할 수 있다. 그러한 결정은 최적의 선택을 하기 위해(즉, 미디어를 클라이언트로 스트리밍하기 전에 인제스트 미디어의 변환이 필요한지, 또는 미디어를 원래 인제스트 형식 A로 클라이언트로 직접 스트리밍해야 하는지를 결정하기 위해) 의사결정 프로세스를 돕는 방식으로, 인제스트 미디어의 측면 또는 특징을 기술하는 정보에 대한 액세스를 필요로 할 수 있다.
네트워크(또는 클라이언트)가 임의의 미디어 자산의 변환을 도와야 한다고 결정되면(S203에서 YES), 프로세스(200)는 S204로 진행한다.
S204에서, 인제스팅된 미디어는 미디어를 형식 A에서 형식 B로 전환하기 위해 변환되어 변환된 미디어(205)를 생성한다. 변환된 미디어(205)가 출력되고 프로세스는 S206으로 진행한다. S206에서, 입력 미디어는 미디어를 클라이언트에 스트리밍하기 위한 준비 프로세스를 거친다. 이 경우, 변환된 미디어(205)(즉, 입력 미디어)는 스트리밍될 준비가 되어 있다.
형식 A에서 다른 형식(예: 형식 B)으로의 미디어의 변환은 전적으로 네트워크에 의해, 전적으로 클라이언트에 의해, 또는 네트워크와 클라이언트 모두 사이에서 공동으로 수행될 수 있다. 분할 렌더링의 경우, 클라이언트와 네트워크가 모두 수행해야 하는 작업을 특징짓는 완전한 정보를 갖기 위해 미디어 형식을 기술하는 속성의 렉시콘(lexicon)이 필요할 수 있다는 것이 명백해진다.
또한, 예컨대 사용 가능한 컴퓨팅 자원, 사용 가능한 스토리지 자원 및 대역폭에 대한 액세스 측면에서 클라이언트의 능력의 속성을 제공하는 렉시콘도 마찬가지로 필요할 수 있다. 더 나아가, 네트워크와 클라이언트가 함께 또는 단독으로 네트워크가 미디어를 클라이언트에 배포하기 위해 분할 렌더링 프로세스를 채용할 수 있는지 또는 채용할 수 있는 때를 결정할 수 있도록 인제스트 미디어 형식의 컴퓨팅, 스토리지 또는 대역폭 복잡도의 레벨을 특징짓는 메커니즘이 필요하다.
네트워크(또는 클라이언트)가 임의의 미디어 자산의 변환을 돕지 않아야(또는 도울 필요가 없다고) 결정되면(S203에서 NO), 프로세스(200)는 S206으로 진행한다. S206에서, 미디어는 스트리밍을 위해 준비된다. 이 경우, 인제스팅된 데이터(즉, 원래 형태의 미디어)가 스트리밍될 준비가 된다.
마지막으로, 미디어 데이터가 스트리밍 가능한 형식이 되면, S206에서 준비된 미디어가 클라이언트로 스트리밍된다(S207). 일부 실시예에서, (도 1b를 참조하여 설명된 바와 같이) 프리젠테이션을 완료하기 위해 클라이언트에 의해 필요하거나 필요하게 될 특정 미디어 객체의 변환 및/또는 스트리밍이 프리젠테이션을 위해 사전 장면을 처리할 작업의 일부로서 이미 이루어졌으면, 클라이언트에 이전에 스트리밍되었된 미디어에 대한 액세스 또는 가용성을 클라이언트가 여전히 가지고 있다고 가정하여, 네트워크는 인제스트 미디어(즉, S204-S207)의 변환 및/또는 스트리밍을 건너뛸 수 있다.
도 2b는 실시예에 따른, 자산 재사용 로직(210)을 사용한 미디어 변환 의사결정 프로세스이다. 미디어 변환 의사결정 프로세스(200)와 유사하게, 자산 재사용 로직(210)을 사용한 미디어 변환 의사결정 프로세스는 네트워크를 통해 인제스트 미디어를 처리하고 클라이언트에게 미디어를 배포하기 전에 네트워크가 미디어를 변환해야 하는지를 결정하기 위해 두 가지 의사결정 프로세스를 채용한다.
형식 A로 표현되는 인제스트 미디어는 콘텐츠 제공자에 의해 네트워크에 제공된다. 다음으로, S221-222가 수행되며 S201-S202(도 2a에 도시됨)와 유사하다. S221에서, 콘텐츠 제공자로부터 네트워크에 의해 미디어가 인제스팅된다. 그 후, S202에서 타깃 클라이언트에 대한 속성이, 아직 알려지지 않은 경우, 획득된다. 속성은 타깃 클라이언트의 처리 능력을 기술한다.
네트워크가 특정 미디어 객체 또는 현재 미디어 객체를 이전에 스트리밍한 적이 있는 것으로 결정되면(S223의 YES), 프로세스는 S224로 진행한다. S224에서, 클라이언트가 이전에 스트리밍된 객체의 로컬 복사본을 사용해야 함을 지시하기 위해 이전에 스트리밍된 미디어 객체를 대체하기 위해 프록시가 생성된다.
네트워크가 특정 미디어 객체를 이전에 스트리밍한 적인 없는 것으로 결정되면(S223의 NO), 프로세스는 S225로 진행한다. S225에서 네트워크 또는 클라이언트가 S221에서 인제스팅된 미디어 내에 포함된 미디어 자산 중 임의의 미디어 자산에 대해 형식 변환을 수행해야 하는지가 결정된다. 예를 들어, 변환에는 미디어가 클라이언트에 스트리밍되기 전에, 특정 미디어 객체를 형식 A에서 형식 B로 변환하는 것이 포함될 수 있다. S225에서 수행되는 처리는 도 2a에 도시된 S203에서 수행되는 것과 유사할 수 있다.
미디어 자산이 네트워크에 의해 변환되어야 한다고 결정되면(S225의 YES), 프로세스는 S226으로 진행한다. S226에서, 미디어 객체는 형식 A에서 형식 B로 변환된다. 변환된 미디어는 클라이언트로 스트리밍될 준비가 된다(S227).
미디어 자산이 네트워크에 의해 변환되지 않아야 한다고 결정되면(S225에서 NO), 프로세스는 S227로 진행한다. S227에서, 미디어 개체는 클라이언트로 스트리밍될 준비가 된다.
마지막으로, 미디어 데이터가 스트리밍 가능한 형식이 되면, S227에서 준비된 미디어가 클라이언트로 스트리밍된다(S228). 도 2b의 S225-S228에서 수행되는 처리는 도 2a에 도시된 S203-S207에서 수행된 것과 유사할 수 있다.
미디어의 스트리밍 가능한 형식은 시간 지정 또는 지정 미지정의 이기종 몰입형 미디어일 수 있다. 도 3은 이종 몰입형 미디어의 스트리밍 가능한 형식의 시간 지정 미디어 표현(300)의 예를 나타낸다. 시간 지정 몰입형 미디어는 N개 장면으로 이루어진 장면 세트를 포함할 수 있다. 시간 지정 미디어는 예컨대 특정 클록에 따른 시작 및 종료 시간이 있는, 시간에 의해 순서가 정해져 있는 미디어 콘텐츠이다. 도 4는 이종 몰입형 미디어의 스트리밍 가능한 형식의 시간 미지정 미디어 표현(400)의 예를 나타낸다. 시간 미지정 미디어는 (예컨대, 한 명 이상의 사용자가 취한 행위에 따라 실현되는 상호작용형 경험에서와 같이) 공간적, 논리적 또는 시간적 관계로 구성되는 미디어 콘텐츠이다.
도 3은 시간 지정 미디어에 대한 시간 지정 장면을 가리키고, 도 4는 시간 미지정 미디어 대한 시간 미지정 장면을 가리킨다. 시간 지정 장면 및 시간 미지정 장면은 다양한 장면 표현 또는 장면 기술에 의해 구체화될 수 있다.
도 3 및 도 4는 모두 특정 클라이언트 종단점의 능력에 매칭되도록 소스 인제스트 미디어 형식으로부터 적응된 하나의 예시적인 포괄 미디어 형식(encompassing media format)을 채용한다. 즉, 포괄 미디어 형식은 클라이언트 디바이스에 스트리밍할 수 있는 배포 형식이다. 포괄적인 미디어 형식은 각 계층이 미디어의 프리젠테이션에 기여하는 두드러진 정보(salient information)의 양에 기초하여 계층화될 수 있는 매우 다양한 미디어 속성을 수용하기에 구조상 충분히 강인하다.
도 3에 도시된 바와 같이, 시간 지정 미디어 표현(300)은 시간 지정 장면(301)의 리스트를 포함한다. 시간 지정 장면(301)은 시간 지정 장면(301)을 구성하는 미디어 자산의 유형 및 처리 정보를 개별적으로 기술하는 구성요소(302)의 리스트를 참조한다. 예를 들어, 자산 리스트 및 기타 처리 정보. 구성요소(302)의 리스트는 자산의 유형(예컨대, 도 3에 도시된 바와 같은 프록시 시각적 및 청각적 자산)에 대응하는 프록시 자산(308)을 참조할 수 있다. 시각적 자산 리스트는 자산의 유형(예컨대, 도 3에 도시된 바와 같은 프록시 시각적 및 청각적 자산)에 대응하는 프록시 자산(310)을 참조한다. 구성요소(302)는 이전에 다른 장면에서 사용되지 않은 고유 자산의 리스트를 참조한다. 예를 들어, (시간 지정) 장면 1에 대한 고유 자산(307)의 리스트가 도 3에 도시되어 있다. 구성요소(302)는 또한 기본 계층(304) 및 속성 강화 계층(305)을 더 참조하는 자산(303)을 참조한다. 기본 계층은 컴퓨팅 자원, 자산을 렌더링하는데 필요한 시간, 및/또는 네트워크를 통해 자산을 송신하는 데 필요한 시간을 최소화하도록 공식화할 수 있는 자산의 명목상 표현이다. 강화 계층은 자산의 기본 계층 표현에 적용될 때, 기본 계층에서 지원되지 않을 수 있는 특징 또는 기능을 포함하도록 기본 계층을 증강하는 정보 세트일 수 있다.
도 4에 도시된 바와 같이, 시간 미지정 미디어 표현(400)은 장면(401)에 대한 정보를 포함한다. 장면(401)은 (클록, 타이머 등에 따른) 시작 및 종료 시간/지속기간과 연관이 없다. 장면(401)은 장면(401)을 구성하는 미디어 자산의 유형 및 처리 정보를 개별적으로 기술하는 구성요소(402)의 리스트를 참조한다. 구성요소(402)는 시각적 자산, 청각적 자산, 햅틱 자산 및 시간 자산(집합적으로 자산(403)이라 함)을 참조한다. 자산(403)은 또한 기본 계층(404) 및 속성 강화 계층(405 및 406)을 참조한다. 장면(401)은 또한 시간 지정 미디어 장면(즉, 도 4에서 시간 지정 장면 3.0으로 참조됨)에 대한 것인 시간 미지정 미디어 소스 및/또는 장면(407)에 대한 것인 다른 시간 미지정 장면(즉, 도 4에서 시간 미지정 장면 2.1-2.4로 참조됨)을 참조할 수 있다. 도 4의 예에서, 시간 미지정 몰입형 미디어는 5개의 장면(시간 지정 및 시간 미지정 모두를 포함)으로 이루진 장면 세트를 포함한다. 고유 자산 리스트(408)는 상위(higher order)(예: 부모) 장면에서 이전에 사용되지 않은 특정 장면과 연관된 고유 자산을 식별하게 해준다. 도 4에 도시된 고유 자산 리스트(408)는 시간 미지정 장면 2.3에 대한 고유 자산을 포함한다.
포괄 미디어 형식에 따라 스트리밍되는 미디어는 레거시 시각 및 오디오 미디어에 한정되지 않는다. 포괄 미디어 형식으로는 시각(sight), 청각(sound), 미각(taste), 촉각(touch) 및 후각(smell)에 대한 인간의 감각을 자극하기 위해 기계와 상호작용하는 신호를 생성할 수 있는 임의의 유형의 미디어 정보가 포함될 수 있다. 도 3 내지 도 4에 도시된 바와 같이, 포괄 미디어 형식에 따라 스트리밍되는 미디어는 시간 지정 또는 시간 미지정 미디어, 또는 이들의 혼합일 수 있다. 포괄 미디어 형식은 기본 계층 및 강화 계층 아키텍처를 사용한, 미디어 객체의 계층화된 표현을 인에이블링함으로써 스트리밍할 수 있다.
일부 실시예에서, 개별 기본 계층 및 강화 계층은 각 장면의 미디어 객체에 대한 다중 해상도(multi-resolution) 또는 다중 테셀레이션(multi-tesselation) 분석 기술의 적용에 의해 계산된다. 이 계산 기술은 래스터 기반(raster-based) 시각적 형식에 한정되지 않는다.
일부 실시예에서, 기하학적 객체의 점진적 표현은 웨이블릿 분석 기술을 사용하여 계산된 객체의 다중 해상도 표현일 수 있다.
일부 실시예에서, 계층화된 표현 미디어 형식에서, 강화 계층은 기본 계층에 서로 다른 속성을 적용할 수 있다. 예를 들어, 강화 계층 중 하나 이상은 기본 계층에 의해 표현되는 시각적 객체의 표면의 재료 속성을 정제(refine)할 수 있다.
일부 실시예에서, 계층화된 표현 미디어 형식에서, 속성은 예컨대 표면을 매끄러운 텍스처에서 다공성 텍스처로 변경하거나, 무광택 표면에서 광택 표면으로 변경함으로써 기본 계층에 의해 표현되는 객체의 표면을 텍스처를 정제할 수 있다.
일부 실시예에서, 계층화된 표현 미디어 형식에서, 장면에서의 하나 이상의 시각적 객체의 표면은 램버시안 표면(lambertian surface)에서 광선 추적 가능한 표면(ray-traceable surface)으로 변경될 수 있다.
일부 실시예에서, 계층화된 표현 미디어 형식에서, 네트워크는 클라이언트가 추가적인 강화 계층의 송신을 기다리면서 클라이언트가 장면의 명목상의 프리젠테이션을 생성하여 기본 계층의 해상도 또는 기타 특성을 정제할 수 있도록 기본 계층 표현을 클라이언트에 배포할 수 있다.
실시예에서, 강화 계층의 강화 정보 또는 속성의 해상도는 기본 계층의 객체의 해상도와 명시적으로 결합되지 않는다. 또한, 포괄 미디어 형식은 프레젠테이션 디바이스 또는 기계에 의해 제시되거나 구동될 수 있는 임의의 유형의 정보 미디어를 지원할 수 있으므로, 이종 클라이언트 종단점에 대한 이종 미디어 형식의 지원을 가능하게 한다. 일부 실시예에서, 미디어 형식을 배포하는 네트워크는 먼저 클라이언트의 능력을 결정하기 위해 클라이언트 종단점에 질의할 것이다. 질의에 기초하여, 클라이언트가 미디어 표현을 의미 있게 인제스팅할 수 없으면, 네트워크는 클라이언트에 의해 지원되는 않는 속성 계층을 제거할 수 있다. 일부 실시예에서, 클라이언트가 미디어 표현을 의미있게 인제팅할 수 없으면, 네트워크는 미디어를 현재 형식에서 클라이언트 종단점에 적합한 형식으로 적응시킬 수 있다. 예를 들어, 네트워크는 체적 시각적 미디어 자산(volumetric visual media asset)을 네트워크 기반 미디어 처리 프로토콜을 사용하는 동일한 시각적 자산의 2D 표현으로 전환함으로써 미디어를 적응시킬 수 있다. 일부 실시예에서, 네트워크는 적절한 형식으로 다시 포맷팅하거나 클라이언트 종단점에 의해 필요한 뷰를 선택적으로 합성하기 위해 신경망(neural network, NN) 프로세스를 채용함으로써 미디어를 적응시킬 수 있다.
완전한(또는 부분적으로 완전한) 몰입형 경험(라이브 스트리밍 이벤트, 게임 또는 주문형 자산의 재생)을 위한 장면 매니페스트(manifest of scene)는 프레젠테이션을 생성하기 위해 렌더링 및 수집에 필요한 최소량의 정보를 포함하는 장면으로 구성된다. 장면 매니페스트에는 클라이언트가 요청한 몰입형 경험 전체에 대해 렌더링될 개별 장면의 리스트가 포함된다. 각 장면과 연관되는 것은 장면 지오메트리의 스트리밍 가능한 버전에 대응하는 장면 내의 기하학적 객체의 하나 이상의 표현이다. 장면에 대한 하나의 실시예는 장면에 대한 기하학적 객체의 저해상도 버전을 참조할 수 있다. 동일한 장면의 다른 실시예는 동일한 장면의 기하학적 객체의 추가 세부 사항을 추가하거나 테셀레이션을 증가시키기 위해 장면의 저해상도 표현을 위한 강화 계층를 참조할 수 있다. 전술한 바와 같이, 각각의 장면은 점진적인 방식으로 장면의 기하학적 객체의 세부 사항을 증가시키기 위해 하나 이상의 강화 계층를 가질 수 있다. 장면 내에서 참조되는 미디어 객체의 각 계층은 자원이 네트워크 내에서 액세스될 수 있는 주소를 가리키는 토큰(예: URI(Uniform Resource Identifier))과 연관될 수 있다. 이러한 자원은 클라이언트에 의해 콘텐츠가 인출될 수 있는 콘텐츠 전달 네트워크(content delivery network, CDN)와 유사하다. 기하학적 객체의 표현에 대한 토큰은 네트워크 내의 위치 또는 클라이언트 내의 위치를 가리킬 수 있다. 즉, 클라이언트는 네트워크 기반 미디어 처리를 위해 네트워크에서 자원을 사용할 수 있음을 네트워크에 시그널링할 수 있다.
실시예에 따르면, 장면(시간 지정 또는 시간 미지정)은 장면 그래프에 의해 MPI(Multi-Plane Image) 또는 MSI(Multi-Spherical Image)로서 구체화될 수 있다. MPI 및 MSI 기술은 둘 다 자연 콘텐츠(natural content)(예: 하나 이상의 카메라에서 동시에 캡처된 실제 세계의 이미지)에 대한 디스플레이 애그노스틱(display-agnostic) 장면 표현의 생성에 도움이 되는 기술의 예이다. 반면 장면 그래프 기술은 합성 표현의 형태로 자연 이미지와 컴퓨터로 생성된 이미지를 모두 표현하는 데 사용될 수 있다. 그러나 이러한 표현은 콘텐츠가 하나 이상의 카메라에 의해 자연 장면으로서 캡처되는 경우 생성하는 데 특히 계산 집약적이다. 자연적으로 캡처된 콘텐츠의 장면 그래프 표현은 생성하는 데 시간과 계산이 모두 집약적이므로, 이후에 충분하고 적절한 수의 뷰를 보간하여 타깃 몰입형 클라이언트 디스플레이의 보기 절두체(viewing frustum)를 채우는 데 사용할 수 있는 합성 표현을 생성하기 위해 사진 측량법(photogrammetry)이나 딥 러닝(deep learning) 또는 이 기술 모두를 사용하여 자연 이미지에 대한 복잡한 분석을 필요로 한다. 결과적으로 이러한 합성 표현은 실시간 배포를 필요로 하는 사용 사례를 고려하여 실제로 실시간으로 생성될 수 없기 때문에 자연 콘텐츠를 표현하는 후보로 고려하기에는 비실용적이다. 이와 같이, 컴퓨터로 생성된 이미지는 3D 모드 및 도구를 사용하여 생성되기 때문에 컴퓨터로 생성된 이미지에 대한 최상의 표현은 합성 모델과 함께 장면 그래프를 채용하는 것이며, 함성 모델과 함께 장면 그래프의 사용을 재용하면 컴퓨터로 생성된 이미지를 가장 잘 표현할 수 있다.
도 5는 실시예에 따른 자연 미디어 합성 프로세스(500)의 예를 나타낸다. 자연 미디어 합성 프로세스(500)는 인제스트 형식을 자연 장면에서 장기종 클라이언트 종단점에 서비스를 제공하는 네트워크를 위한 인제스트 형식으로 사용될 수 있는 표현으로 전환한다. 파선(510)의 왼쪽은 자연 미디어 합성 프로세스(500)의 콘텐츠 캡처 부분이다. 파선(510)의 오른쪽은 자연 미디어 합성 프로세스(500)의 인제스트 형식 합성(자연 이미지용)이다.
도 5에 도시된 바와 같이, 제1 카메라(501)는 예를 들어, 사람(즉, 도 5에 도시된 배우)의 장면을 촬영하기 위해 단일 카메라 렌즈를 사용한다. 제2 카메라(502)는 링 모양의 객체 주위에 5개의 카메라 렌즈를 장착하여 5개의 발산 시야(diverging fields of view)로 장면을 캡처한다. 도 5에 도시된 제2 카메라(502)의 배열은 VR 애플리케이션을 위한 전방향 콘텐츠를 캡처하기 위해 일반적으로 사용되는 예시적인 배열이다. 제3 카메라(503)는 구의 내경 부분에 7개의 카메라 렌즈를 장착하여 7개의 수렴 시야(converging fields of view)로 장면을 촬영한다. 제3 카메라(503)의 배열은 라이트 필드 또는 홀로그램 몰입형 디스플레이를 위한 라이트 필드를 캡처하는 데 일반적으로 사용되는 예시적인 배열이다. 실시예는 도 5에 도시된 구성에 한정되지 않는다. 제2 카메라(502) 및 제3 카메라(503)는 복수의 카메라 렌즈를 포함할 수 있다.
자연 이미지 콘텐츠(509)는 제1 카메라(501), 제2 카메라(502) 및 제3 카메라(503)에서 출력되어 합성기(504)의 입력으로 사용된다. 합성기(504)는 캡처 NN 모델(508)을 생성하기 위해 훈련 이미지(506)의 모음을 사용하는 NN 훈련(505)을 채용할 수 있다. 훈련 이미지(506)는 미리 정의되거나 이전 합성 처리로부터 저장될 수 있다. NN 모델(예를 들어, 캡처 NN 모델(508))은 원래 신호에 의해 명시적으로 제공되지 않은 시각적 신호에 대한 새로운 뷰의 보간을 포함할 수 있는 향상된 시각적 출력에 도달하기 위해 시각적 신호에 적용되는 잘 정의된 수학적 연산에 사용되는 가중치(즉, 수치 값)를 정의하는 파라미터 및 텐서(예: 행렬)의 모음이다.
일부 실시예에서, NN 트레이닝(505) 대신에 사진 측량(photogrammetry) 프로세스가 구현될 수 있다. 캡처 NN 모델(508)이 자연 미디어 합성 프로세스(500) 동안 생성되면, 캡처 NN 모델(508)은 그 자연 미디어 콘텐츠에 대한 인제스트 형식(507)에 있는 자산 중 하나가 된다. 인제스트 형식(507)은 예를 들어 MPI 또는 MSI일 수 있다. 인제스트 형식(507)은 또한 미디어 자산을 포함할 수 있다.
도 6은 실시예에 따른, 합성 미디어 인제스트 생성 프로세스(600)의 예를 나타낸다. 합성 미디어 인제스트 생성 프로세스(600)는 예컨대, 컴퓨터로 생성된 이미지와 같은 합성 미디어에 대한 인제스트 미디어 형식을 생성한다.
도 6에 도시된 바와 같이, 카메라(601)는 장면의 포인트 클라우드(point cloud)(602)를 캡처할 수 있다. 카메라(601)는 예를 들어 LIDAR 카메라일 수 있다. 컴퓨터(603)는 예를 들어 공통 게이트웨이 인터페이스(common gateway interface, CGI) 도구, 3D 모델링 도구 또는 다른 애니메이션 프로세스를 채용하여 합성 콘텐츠(즉, 이기종 클라이언트 종단점을 서비스하는 네트워크에 대한 인제스트 형식으로 사용될 수 있는 합성 장면의 표현)를 생성한다. 컴퓨터(603)는 네트워크를 통해 CGI 자산(604)을 생성할 수 있다. 추가적으로, 센서(605A)는 장면에서 배우(605)에게 착용될 수 있다. 센서(605A)는, 예를 들어 센서가 부착된 모션 캡처 수트일 수 있다. 센서(605A)는 배우(605)의 움직임에 대한 디지털 기록을 캡처하여 애니메이션화된 움직임 데이터(606)(또는 MoCap 데이터)를 생성한다. 포인트 클라우드(602), CGI 자산(604) 및 움직임 데이터(606)로부터의 데이터는 합성 미디어 인제스트 형식(608)을 생성하는 합성기(607)에 대한 입력으로서 제공된다. 일부 실시예에서, 합성기(607)는 NN 및 훈련 데이터를 사용하여 합성 미디어 인제스트 형식(608)을 생성할 NN 모델을 생성할 수 있다.
자연 콘텐츠 및 컴퓨터로 생성된(즉, 합성) 콘텐츠는 모두 컨테이너(container)에 저장될 수 있다. 컨테이너는 장면의 렌더링에 필요한 모든 미디어 자원 및 장면 그래프를 포함하는 모든 자연 장면, 모든 합성 장면, 또는 합성 장면과 자연 장면의 혼합을 나타내는 정보를 저장하고 교환하기 위한 직렬화된 형식을 포함할 수 있다. 콘텐츠의 직렬화 프로세스는 데이터 구조 또는 객체 상태를 저장(예컨대, 파일 또는 메모리 버퍼에) 또는 송신(예컨대, 네트워크 연결 링크를 통해) 및 나중에 동일한 또는 상이한 컴퓨터 환경에서 재구축될 수 있는 형식으로 바꾸는 것을 포함한다. 결과로서 얻은 일련의 비트를 직렬화 형식에 따라 다시 읽으면, 원본 객체의 의미상 동일한 복제본을 만드는 데 사용할 수 있다.
자연 및 컴퓨터로 생성된(즉, 합성) 콘텐츠 모두의 최적 표현에서의 이분법(dichotomy)은 자연적으로 캡처된 콘텐츠에 대한 최적 인제스트 형식이 컴퓨터로 생성된 콘텐츠 또는 실시간 배포 애플리케이션에 필수적이지 않은 자연 콘텐츠에 대한 최적 인제스트 형식과 다르다는 것을 시사합니다. 따라서, 실시예에 따르면, 네트워크는 예컨대, 물리적 카메라의 사용을 통해 또는 컴퓨터에 의해 자연적으로 생성되는지 여부에 관계없이 시각적 몰입형 미디어에 대한 다중 인제스트 형식을 지원하기에 충분히 강인한 것을 목표로 합니다.
OTOY의 ORBX, Pixar의 Universal Scene Description 및 Khronos 3D Group에 의해 작성된 glTF2.0(Graphics Language Transmission Format 2.0) 사양과 같은 기술이 컴퓨터로 생성된 기술을 사용하여 생성되는 시각적 몰입형 미디어, 또는 자연적인 장면에 대응하는 합성 표현(즉, 실시간 배포 애플리케이션에 필수적이지 않은 것)을 생성하기 위해 딥 러닝이나 사진 측량 기술이 채용되는 자연적으로 캡처된 콘텐츠를 표현하는 데 적합한 형식으로서 장면 그래프를 구체화한다.
OTOY의 ORBX는 광선 추적 가능한, 레거시(프레임 기반), 체적 및 기타 유형의 합성 또는 벡터 기반 시각적 형식을 포함한, 시간 지정 또는 시간 미지정의 임의의 유형의 시각적 미디어를 지원할 수 있는 몇 가지 장면 그래프 기술 중 하나이다. ORBX는 메시, 포인트 클라우드 및 텍스처에 대한 무료로 사용 가능한 및/또는 오픈 소스 형식에 대한 기본 지원을 제공하기 때문에 ORBX는 다른 장면 그래프와 다르다. ORBX는 장면 그래프에서 동작하는 여러 공급업체 기술 간의 교환을 용이하게 하는 것을 목표로 의도적으로 설계된 장면 그래프이다. 또한 ORBX는 풍부한 재료 시스템, Open Shader Language 지원, 강인한 카메라 시스템 및 Lua Scripts 지원을 제공한다. ORBX는 또한 IDEA(Immersive Digital Experiences Alliance)에서 로열티 없는 조건에 따라 라이센스를 위해 발행한 몰입형 기술 미디어 형식(Immersive Technologies Media Format)의 기반이기도 하다. 미디어의 실시간 배포 맥락에서, 자연 장면의 ORBX 표현을 생성하고 배포하는 능력은 카메라 캡처 데이터의 복잡한 분석과 동일한 데이터를 합성 표현으로 합성을 수행하기 위한 컴퓨팅 자원의 가용성의 함수이다.
Pixar의 USD는 시각 효과 및 전문 콘텐츠 제작에 널리 사용되는 장면 그래프이다. USD는 Nvidia의 그래픽 처리 디바이스(graphic processing units, GPU)로 3D 모델 생성 및 렌더링을 위한 개발자용 도구 세트인 Nvidia의 Omniverse 플랫폼에 통합된다. Apple과 Pixar에서 공개한 USD의 서브세트는 Apple의 ARKit에서 지원하는 USDZ라고 한다.
glTF2.0은 Khronos 3D Group에 의해 작성된 그래픽 언어 전송 형식(Graphics Language Transmission Format) 사양의 일 버전이다. 이 형식은 일반적으로 PNG 및 JPEG 이미지 형식을 포함한, 장면에서 정적(시간 미지정) 객체를 지원할 수 있는 간단한 장면 그래프 형식을 지원한다. glTF2.0은 glTF 프리미티브(즉, 기하학적 객체)를 사용하여 기술되는 기본 모양의 변환, 회전 및 크기조정에 대한 지원을 포함한, 간단한 애니메이션을 지원한다. glTF2.0은 시간 지정 미디어를 지원하지 않으므로, 비디오 또는 오디오 미디어 입력을 지원하지 않는다.
몰입형 시각적 미디어의 장면 표현을 위한 이들 설계는 단지 예로서 제공되며, 클라이언트 종단점 디바이스의 특정 특성에 적합한 형식으로 입력 몰입형 미디어 소스를 적응시키는 프로세스를 지정하는 능력에 있어서 개시된 주제를 한정하지 않는다. 더욱이, 위의 예시적인 미디어 표현 중 임의 또는 모두는 절두체의 특정 차원에 기초하여 특정 디스플레이의 뷰잉 절두체를 채우기 위해 특정 뷰의 선택을 가능하게 하거나 용이하게 하는 NN 모델을 훈련하고 생성하기 위해 딥 러닝 기술을 사용하거나 사용할 수 있다. 특정 디스플레이의 뷰잉 절두체에 대해 선택되는 뷰는 예컨대, MSI 또는 MPI 기술과 같이 장면 표현에서 명시적으로 제공되는 기존의 뷰에서 보간될 수 있다. 뷰는 특정 가상 카메라 위치, 필터 또는 이러한 렌더링 엔진에 대한 가상 카메라에 대한 설명에 기초하여 렌더링 엔진으로부터 직접 렌더링될 수도 있다.
본 개시의 방법 및 디바이스는 자연적으로 캡처되거나(예컨대, 하나 이상의 카메라로) 또는 컴퓨터로 생성된 기술을 사용하여 생성되는 미디어의 실시간 또는 주문형(예: 비-실시간) 배포에 대한 요구 사항을 충분히 충족시킬 수 있다.
NN 모델 또는 네트워크 기반 렌더링 엔진을 사용에 의한 몰입형 미디어 인제스트 형식으로부터의 뷰 보간은 고급 네트워크 기술(예: 모바일 네트워크의 경우 5G)과, 광섬유 케이블이 고정 네트워크에 배치됨에 따라 더욱 용이해진다.
이러한 고급 네트워크 기술은 이한 고급 네트워크 기술은, 이러한 고급 네트워크 인프라가 점점 더 많은 양의 시각 정보 전송 및 전달을 지원할 수 있기 때문에 상용 네트워크의 용량과 능력을 증가시킨다.
MEC(Multi-access Edge Computing), SDN(Software Defined Networks), NFV(Network Functions Virtualization)와 같은 네트워크 인프라 관리 기술은 상용 네트워크 서비스 공급자가 네트워크 인프라를 유연하게 구성하여 특정 네트워크 자원에 대한 수요 변화에 적응할 수 있게 한다, 예컨대 네트워크 처리량, 네트워크 속도, 왕복 레이턴시 및 컴퓨팅 자원에 대한 수요의 동적인 증가 또는 감소에 대응할 수 있게 한다. 또한 동적 네트워크 요구 사항에 적응하는 이 고유한 능력은 이기종 클라이언트 종단점에 대해 잠재적으로 이기종 시각적 미디어 형식을 사용하는 다양한 몰입형 미디어 애플리케이션을 지원하기 위해 몰입형 미디어 인제스트 형식을 적합한 배포 형식으로 적응시키는 네트워크 기능을 용이하게 한다.
몰입형 미디어 애플리케이션 자체는 또한 게임의 상태에 있어 실시간 업데이트에 응답하기 위해 상당히 낮은 네트워크 레이턴시를 필요로 하는 게이밍 애플리케이션, 네크워크의 업링크와 다운링크 모두에 대해 대칭적인 처리량 요구 사항을 갖는 텔레프레즌스 애플리케이션, 데이터를 소비하는 클라이언트 종단점 디스플레이 유형에 따라 다운링크 자원에 대한 수요가 증가할 수 있는 수동 뷰잉 애플리케이션을 포함하여 네트워크 자원에 대한 다양한 요구 사항을 가질 수 있다. 일반적으로 모든 소비자 대면 애플리케이션은 스토리지, 컴퓨팅 및 전원에 대한 다양한 온보드 클라이언트 능력과, 마찬가지로 특정 미디어 표현에 대한 다양한 요구 사항을 가지는 다양한 클라이언트 종단점에서 지원될 수 있다.
따라서, 본 개시의 실시예는 충분히 갖춰진 네트워크, 즉 현대 네트워크의 특성 중 일부 또는 전부를 채용하는 네트워크가 디바이스 내에서 지정되는 특징에 따라 복수의 레거시 및 몰입형 미디어 가능 디바이스를 동시에 지원할 수 있게 한다. 이와 같이, 여기에 설명된 몰입형 미디어 배포 방법 및 프로세스는 미디어 배포를 위한 실시간 및 주문형 사용 사례 모두에 실용적인 미디어 인제스트 형식을 활용하는 유연성, 레거시와 몰입형 미디어 가능 클라언트 종단점 모두에 대해 자연 콘텐츠 및 컴퓨터로 생성된 콘텐츠를 모두 지원하는 유연성을 지원하고, 시간 지정 및 시간 미정 미디어를 모두 지원한다. 이들 방법 및 프로세스는 또한 소스 미디어 인제스트 형식을 클라이언트 종단점의 특징 및 능력에 기초하고, 또 애플리케이션의 요구 사항에 기초한 적절한 배포 형식으로 동적으로 적응시킨다. 이렇게 하면 배포 형식이 IP 기반 네트워크를 통해 스트리밍 가능하고 네트워크가 레거시 및 몰입형 미디어 지원 디바이스를 모두 포함할 수 있는 여러 이기종 클라이언트 종단점에 동시에 서비스를 제공할 수 있다. 또한, 실시예는 장면 경계를 따라 배포 미디어의 구성을 용이하게 하는 예시적인 미디어 표현 프레임워크를 제공한다.
전술한 개선점을 제공하는 본 개시의 실시예에 따른 이기종 몰입형 미디어 배포의 종단 간 구현은 도 3 내지 도 16의 상세한 설명에 기술된 처리 및 구성요소에 따라 달성되며, 아래에서 자세히 설명합니다.
전술한 이기종 몰입형 미디어를 표현하고 스트리밍하기 위한 기술은 근원지 및 목적지 모두에서 컴퓨터로 판독 가능한 하나 이상의 비일시적 매체에 물리적으로 저장된 컴퓨터로 판독 가능한 명령어를 사용하는 컴퓨터 소프트웨어로서 구현될 수 있거나 또는 특별히 구성된 하나 이상의 하드웨어 프로세서에 의해 구현될 수 있다. 도 7은 개시된 주제의 특정 실시예를 구현하기에 적합한 컴퓨터 시스템(700)을 도시한다.
컴퓨터 소프트웨어는 컴퓨터 중앙 처리 유닛(central processing unit, CPU), 그래픽 처리 유닛(graphics processing unit, GPU) 등에 의해, 어셈블리(assembly), 컴파일(compilation), 링킹(linking), 또는 이와 유사한 메커니즘을 거쳐 직접, 또는 해석(interpretation), 마이크로 코드 실행(micro-code execution) 등을 통해 실행될 수 있는 명령어를 포함하는 코드를 생성할 수 있는 임의의 적절한 기계어 코드 또는 컴퓨터 언어를 사용하여 코딩될 수 있다.
명령어는, 예를 들어 개인용 컴퓨터, 태블릿 컴퓨터, 서버, 스마트폰, 게이밍 디바이스, 사물 인터넷 디바이스 등을 포함한, 다양한 유형의 컴퓨터 또는 그 구성요소에서 실행될 수 있다.
도 7에 도시된 컴퓨터 시스템(700)의 구성요소는 본질적으로 예시적인 것이며, 본 개시의 실시예를 구현하는 컴퓨터 소프트웨어의 사용 또는 기능의 범위에 대한 어떠한 한정도 시사하려는 것은 아니다. 구성요소의 구성은 컴퓨터 시스템(700)의 예시적인 실시예에 나타낸 구성요소 중 어느 하나 또는 조합과 관련된 임의의 종속성 또는 요건을 가지는 것으로 해석되어서는 안 된다.
컴퓨터 시스템(700)은 특정 휴먼 인터페이스 입력 디바이스(human interface input device)를 포함할 수 있다. 이러한 휴먼 인터페이스 입력 디바이스는 한 명 이상의 인간 사용자에 의한 입력, 예를 들어 촉각 입력(예: 키 누름(keystroke), 스와이프(swip), 데이터 장갑(data glove) 움직임), 오디오 입력(예: 음성, 박수), 시각적 입력(예: 제스처), 후각 입력에 응답할 수 있다. 휴먼 인터페이스 디바이스는 또한 오디오(예: 음성, 음악, 주변 소리), 이미지(예: 스캔된 이미지, 정지 이미지 카메라로부터 획득한 사진 이미지), 비디오(예: 2차원 비디오, 입체 비디오(stereoscopic video)를 포함한 3차원 비디오)와 같은, 사람에 의한 의식적 입력과 반드시 직접 관련이 있는 것은 아닌 특정 미디어를 캡처하는 데 사용될 수도 있다.
입력 휴먼 인터페이스 디바이스는 키보드(701), 트랙 패드(702), 마우스(703), 예를 들어 터치 스크린일 수 있는 스크린(709), 데이터 장갑, 조이스틱(704), 마이크로폰(705), 카메라(706) 및 스캐너(707) 중 하나 이상(각각 하나만 표시됨)을 포함할 수 있다.
컴퓨터 시스템(700)은 특정 휴먼 인터페이스 출력 디바이스를 포함할 수 있다. 이러한 휴먼 인터페이스 출력 디바이스는 예를 들어 촉각 출력, 소리, 빛 및 냄새/맛을 통해, 한 명 이상의 인간 사용자의 감각을 자극할 수 있다. 이러한 휴먼 인터페이스 출력 디바이스는 촉각 출력 디바이스(예: 스크린(709), 데이터 장갑, 또는 조이스틱(704)에 의한 촉각 피드백이지만, 입력 디바이스의 역할을 하지 않는 촉각 피드백 디바이스도 있을 수 있음), 오디오 출력 디바이스(예: 스피커(708), 헤드폰), 시각적 출력 디바이스(예: 각각 터치 스크린 입력 기능이 있거나 없는, 각각 촉각 피드백 기능이 있거나 없는, CRT 스크린, LCD 스크린, 플라즈마 스크린, OLED 스크린을 포함한, 스크린(709) - 그 일부는 스테레오그래픽 출력(stereographic), 가상 현실 안경(virtual-reality glasses), 홀로그램 디스플레이(holographic display) 및 연기 탱크(smoke tank)와 같은 수단을 통해 2차원 시각적 출력 또는 3차원 이상의 출력을 할 수 있음 -, 및 프린터를 포함할 수 있다.
컴퓨터 시스템(700)은 또한 CD/DVD 등의 매체(710)를 갖는 CD/DVD ROM RW(711)을 포함한 광학 매체, 썸 드라이브(thumb-drive)(712), 착탈 가능한 하드 드라이브 또는 솔리드 스테이트 드라이브(713), 테이프 및 플로피 디스크와 같은 레거시 자기 매체, 보안 동글(security dongle)과 같은 특수한 ROM/ASIC/PLD 기반 디바이스 등의 인간이 액세스 가능할 수 있는 스토리지 디바이스 및 그 연관 매체를 포함할 수도 있다.
당업자는 또한 현재 개시된 주제와 관련하여 사용된 바와 같이 컴퓨터로 판독 가능한 매체"라는 용어가 송신 매체, 반송파(carrier wave) 또는 기타 일시적인 신호를 포함하지 않는다는 것을 이해해야 한다.
컴퓨터 시스템(700)은 또한 하나 이상의 통신 네트워크(714)에 대한 인터페이스(715)를 포함할 수 있다. 네트워크(714)는 예를 들어 무선, 유선, 광 등의 네트워크일 수 있다. 네트워크는 또한 로컬, 광역, 대도시, 차량 및 산업, 실시간, 지연 허용 등의 네트워크일 수 있다. 네트워크(714)의 예로는 이더넷, 무선 LAN, GSM, 3G, 4G, 5G, LTE, 등을 포함하는 셀룰러 네트워크, 케이블 TV, 위성 TV, 및 지상파 방송 TV를 포함하는 TV 유선 또는 무선 광역 디지털 네트워크, CANBus를 포함하는 차량 및 산업용, 등을 포함한다. 특정 네트워크(714)는 일반적으로 특정 범용 데이터 포트 또는 주변 버스(746)(예: 컴퓨터 시스템(700)의 USB 포트)에 부착된 외부 네트워크 인터페이스 어댑터(예: 그래픽 어댑터(725))를 필요로 하며; 다른 것은 일반적으로 이하에 설명하는 바와 같이 시스템 버스에 부착함으로써 컴퓨터 시스템(700)의 코어에 통합된다(예: PC 컴퓨터 시스템에의 이더넷 인터페이스 또는 스마트폰 컴퓨터 시스템에의 셀룰러 네트워크 인터페이스). 이러한 네트워크(714) 중 어느 것을 사용하여, 컴퓨터 시스템(700)은 다른 네트워크와 통신할 수 있다. 이러한 통신은 단방향, 수신 전용(예: TV 방송), 단방향 전송 전용(예: CANbus에서 특정 CANbus 디바이스로) 또는 양방향(예: 로컬 또는 광역 디지털 네트워크를 사용하여 다른 컴퓨터 시스템으로)일 수 있다. 특정 프로토콜 및 프로토콜 스택이 전술한 바와 같은 네트워크 및 네트워크 인터페이스 각각에 사용될 수 있다.
전술한 휴먼 인터페이스 디바이스, 인간이 액세스 가능한 스토리지 디바이스 및 네트워크 인터페이스는 컴퓨터 시스템(700)의 코어(717)에 부착될 수 있다.
코어(717)는 하나 이상의 중앙 처리 유닛(CPU)(718), 그래픽 처리 유닛(GPU)(719), 필드 프로그래머블 게이트 어레이(Field Programmable Gate Area, FPGA)(720) 형태의 특화된 프로그램 가능한 처리 유닛, 특정 태스크를 위한 하드웨어 가속기(721), 등을 포함할 수 있다. 판독 전용 메모리(Read-only memory, ROM)(723), 랜덤 액세스 메모리(RAM)(724), 사용자가 액세스할 수 없는 내부 하드 드라이브, SSD 등의 내부 대용량 저장장치(722)와 함께, 이러한 디바이스들은 시스템 버스(726)을 통해 연결될 수 있다. 일부 컴퓨터 시스템에서, 시스템 버스(726)는 추가적인 CPU, GPU 등에 의한 확장을 가능하게 하는 하나 이상의 물리 플러그의 형태로 액세스 가능할 수 있다. 주변 디바이스는 코어의 시스템 버스(726)에 직접 연결되거나 주변 버스(716)를 통해 연결될 수 있다. 주변 버스를 위한 아키텍처로는 PCI, USB 등을 포함한다.
CPU(718), GPU(719), FPGA(720) 및 가속기(721)는, 조합하여, 전술한 기계 코드(또는 컴퓨터 코드)를 구성할 수 있는 특정 명령어를 실행할 수 있다. 그 컴퓨터 코드는 ROM(723) 또는 RAM(734)에 저장될 수 있다. 이행 데이터(transitional data)는 RAM(724)에도 저장될 수 있는 반면, 영구 데이터는 예를 들어, 내부 대용량 저장장치(722)에 저장될 수 있다. 메모리 디바이스 중 어느 것에 대한 빠른 저장 및 검색은, 하나 이상의 CPU(7181), GPU(719), 대용량 스토리지(722), ROM(723), RAM(724) 등과 밀접하게 연관될 수 있는 캐시 메모리의 사용을 통해 가능해질 수 있다.
컴퓨터로 판독 가능한 매체는 다양한 컴퓨터로 구현되는 동작(computer-implemented operation)을 수행하기 위한 컴퓨터 코드를 가질 수 있다. 매체 및 컴퓨터 코드는 본 개시의 목적을 위해 특별히 설계되고 구축된 것일 수 있거나, 컴퓨터 소프트웨어 분야의 당업자에게 잘 알려져 있고 이용 가능한 종류일 수 있다.
한정이 아닌 예로서, 컴퓨터 시스템(700)의 아키텍처를 갖는 컴퓨터 시스템, 구체적으로 코어(717)는 컴퓨터 시스템은 하나 이상의 유형의 컴퓨터로 판독 가능한 매체에 구현된 소프트웨어 실행하는 프로세서(들)(CPU, GPU, FPGA, 가속기 등을 포함)의 결과로서 기능을 제공할 수 있다. 이러한 컴퓨터로 판독 가능한 매체는 위에서 소개한 바와 같이 사용자가 액세스할 수 있는 대용량 저장장치와 연관된 매체일 수 있을 뿐만 아니라 코어(717) 내부 대용량 스토리지(722) 또는 ROM(723)과 같은, 비일시적인 성질의 코어(717)의 특정 스토리지일 수 있다. 본 개시의 다양한 실시예를 구현하는 소프트웨어는 이러한 디바이스에 저장되고 코어(717)에 의해 실행될 수 있다. 컴퓨터로 판독 가능한 매체는 구체적인 필요에 따라, 하나 이상의 메모리 디바이스 또는 칩을 포함할 수 있다. 소프트웨어는 코어(717) 및 특히 내부의 프로세서(CPU, GPU, FPGA 등 포함)로 하여금 RAM(724)에 저장된 데이터 구조를 정의하고 소프트웨어에 의해 정의된 프로세스에 따라 이러한 데이터 구조를 수정하는 것을 포함하여, 여기에 설명된 특정 프로세스 또는 특정 프로세스의 특정 부분을 실행하도록 할 수 있다. 추가로 또는 대안으로서, 컴퓨터 시스템은 여기에 설명된 특정 프로세스 또는 특정 프로세스의 특정 부분을 실행하기 위해 소프트웨어 대신 또는 소프트웨어와 함께 작동할 수 있는, 논리 배선(logic hardwired)의 결과로서 그렇지 않으면 회로(예: 가속기(721))에 다른 방식으로 구현되는 기능을 제공할 수 있다. 소프트웨어에 대한 언급은 논리를 포함할 수 있으며, 적절한 경우 그 반대도 마찬가지이다. 컴퓨터로 판독 가능한 매체에 대한 언급은 실행을 위한 소프트웨어를 저장하는 회로(예: 집적 회로(IC)), 실행을 위한 논리를 구현하는 회로, 또는 적절한 경우 둘 다를 포함할 수 있다. 본 개시는 하드웨어와 소프트웨어의 임의의 적절한 조합을 포함한다.
도 7에 도시된 구성요소의 수 및 배열은 예시로 제공된다. 실제로, 입력 휴먼 인터페이스 디바이스는 추가 구성요소, 더 적은 구성요소, 다른 구성요소 또는 도 7에 도시된 구성요소와 다르게 배열된 구성요소를 포함할 수 있다. 추가로 또는 대안적으로, 입력 휴먼 인터페이스 디바이스의 구성요소 세트(예: 하나 이상의 구성요소)는 입력 휴먼 인터페이스 디바이스의 다른 구성요소 세트에 의해 수행되는 것으로 설명된 하나 이상의 기능을 수행할 수 있다.
실시예에서, 도 1 내지 도 6 및 도 8 내지 도 15의 동작 또는 프로세스 중 어느 하나가 도 7에 예시된 요소에 의해 구현될 수 있거나 요소들 중 어느 하나를 사용하여 구현될 수 있다.
도 8은 복수의 이기종 클라이언트 종단점에 서비스를 제공하는 예시적인 네트워크 미디어 분배 시스템(800)을 도시한다. 즉, 시스템(800)은 클라이언트 종던점으로서 다양한 레거시 및 이기종 몰입형 미디어 가능 디스플레이를 지원한다. 시스템(800)은 콘텐츠 취득 모듈(801), 콘텐츠 준비 모듈(802) 및 송신 모듈(803)을 포함할 수 있다.
콘텐츠 취득 모듈(801)은 예를 들어 도 6 및/또는 도 5에 설명된 실시예를 사용하여 소스 미디어를 캡처하거나 생성한다. 콘텐츠 준비 모듈(802)은 송신 모듈(803)을 사용하여 네트워크 미디어 배포 시스템으로 송신되는 인제스트 형식을 생성한다. 게이트웨이(804)는 네트워크에 대한 다양한 클라이언트 종단점에 대한 네트워크 액세스를 제공하기 위해 고객 구내 장비(customer premise equipment )에 서비스를 제공할 수 있다. 셋톱 박스(805)는 또한 네트워크 서비스 제공자에 의해 집합된 콘텐츠에 대한 액세스를 제공하는 고객 구내 장비의 역할을 할 수 있다. 무선 복조기(806)는, 예컨대 모바일 핸드셋 디스플레이(813)과 함께 도시된 바와 같이, 바일 디바이스에 대한 모바일 네트워크 액세스 포인트 역할을 할 수 있다. 시스템(800)의 이 구체적인 실시예에서, 레거시 2D 텔레비전(803)은 게이트웨이(804), 셋톱 박스(805) 또는 WiFi(라우터)(808) 중 하나에 직접 연결된 것으로 도시되어 있다. 랩톱 2D 디스플레이(809)(즉, 레거시 2D 디스플레이가 있는 컴퓨터 또는 랩톱)는 WiFi(라우터)(808)에 연결된 클라이언트 종단점으로 도시되어 있다. 머리 장착형 2D(래스터 기반) 디스플레이(810)도 또한 WiFi(라우터)(808)에 연결된다. 렌티큘러 라이트 필드 디스플레이(811)는 게이트웨이(804) 중 하나에 연결된 것으로 도시되어 있다. 렌티큘러 라이트 필드 디스플레이(811)는 하나 이상의 GPU(811A), 스토리지 디바이스(811B) 및 광선 기반 렌티큘러 광학 기술을 사용하여 다중 뷰를 생성하는 시각적 프리젠테이션 구성요소(811C)를 포함할 수 있다. 홀로그램 디스플레이(812)는 셋톱 박스(805)에 연결된 것으로 도시되어 있다. 홀로그램 디스플레이(812)는 하나 이상의 CPU(812A), GPU(812B), 스토리지 디바이스(812C) 및 시각화 구성요소(812D)를 포함할 수 있다. 시각화 구성요소(812D)는 프레넬 패턴, 웨이브 기반 홀로그램 디바이스/디스플레이일 수 있다. 증강 현실(AR) 헤드셋(814)은 무선 복조기(806)에 연결된 것으로 도시되어 있다. AR 헤드셋(814)은 GPU(814A), 스토리지 디바이스(814B), 배터리(814C) 및 체적 시각적 프리젠테이션 구성요소(814D)를 포함할 수 있다. 조밀한 라이트 필드 디스플레이(815)는 WiFi(라우터)(808)에 연결된 것으로 도시되어 있다. 조밀한 라이트 필드 디스플레이(815)는 하나 이상의 GPU(815A), CPU(815B), 스토리지 디바이스(815C), 눈 추적 디바이스(815D), 카메라(815E) 및 조말한 광선 기반 라이트 필드 패널(815F)를 포함할 수 있다.
도 8에 도시된 구성요소의 수 및 배열은 예시로 제공된다. 실제로, 시스템(800)은 추가 구성요소, 더 적은 구성요소, 다른 구성요소 또는 도 8에 도시된 구성요소와 다르게 배열된 구성요소를 포함할 수 있다. 추가로 또는 대안적으로, 시스템(800)의 구성요소 세트(예: 하나 이상의 구성요소)는 디바이스 또는 각각의 디스플레이의 다른 구성요소 세트에 의해 수행되는 것으로 설명된 하나 이상의 기능을 수행할 수 있다.
도 9는 이전에 도 8에 도시된 바와 같이 레거시 및 이기종 몰입형 미디어 가능 디스플레이에 서비스를 제공할 수 있는 몰입형 미디어 배포 프로세스(900)의 예시적인 작업흐름을 나타낸다. 네트워크에 의해 수행되는 몰입형 미디어 배포 프로세스(900)는 예컨대, (도 10을 참조하여 설명된 바와 같이) 특정 몰입형 미디어 클라이언트 종단점에 의한 소비를 위해 미디어를 적응시키는 네트워크의 프로세스 이전에 미디어 인제스트 형식으로 표현된 특정 미디어에 관한 적응 정보를 제공할 수 있다.
몰입형 미디어 배포 프로세스(900)는 두 부분으로 나뉠 수 있다: 파선선(912)의 왼쪽에 있는 몰입형 미디어 제작 및 파선(912)의 오른쪽에 있는 몰입형 미디어 네트워크 배포. 몰입형 미디어 제작 및 몰입형 미디어 네트워크 배포는 네트워크 또는 클라이언트 디바이스에 의해 수행될 수 있다.
먼저, 미디어 콘텐츠(901)가 네트워크(또는 클라이언트 디바이스)에 의해 또는 콘텐츠 소스로부터 각각 생성되거나 취득된다. 데이터를 생성하거나 취득하는 방법은 예컨대, 자연 및 합성 콘텐츠 각각의 경우에 대해 도 5와 도 6에 구체화되어 있다. 생성된 콘텐츠(901)는 네트워크 인제스트 형식 생성 프로세스(902)를 사용하여 인제스트 형식으로 전환된다. 네트워크 인제스트 생성 프로세스(902)도 또한 자연 및 합성 콘텐츠의 각각의 경우에 대해 도 5와 도 6에 구체화되어 있다. 인제스트 형식은 또한, 예를 들어 미디어 재사용 분석기(911)(도 10 및 도 14a를 참조하여 나중에 상세히 설명됨)로부터 다수의 장면에 걸쳐 잠재적으로 재사용되는 자산에 관한 정보를 저장하도록 업데이트될 수 있다. 인제스트 형식은 네트워크에 송신되고 인제스트 미디어 스토리지 디바이스(903)(즉, 스토리지 디바이스)에 저장된다. 일부 실시예에서, 스토리지 디바이스는 몰입형 미디어 콘텐츠 제작자의 네트워크에 있을 수 있고, 몰입형 미디어 네트워크 배포(920)를 위해 원격으로 액세스될 수 있다. 클라이언트 및 애플리케이션 특정 정보는 원격 스토리지 디바이스 내에서, 클라이언트 특정 정보(904)를 선택적으로 이용 가능하다. 일부 실시예에서, 클라이언트 특정 정보(904)는 대체 클라우드 네트워크에 원격으로 존재할 수 있고, 네트워크에 송신될 수 있다.
그 다음 네트워크 오케스트레이터(905)가 수행된다. 네트워크 오케스트레이션은 네트워크의 주요 태스크를 실행하기 위한 정보의 주요 소스(primary source) 및 싱크(sink) 역할을 한다. 네트워크 오케스트레이터(905)는 네트워크의 다른 구성요소와 통합된 형식으로 구현될 수 있다. 네트워크 오케스트레이터(905)는 클라이언트 디바이스의 특성에 따라 미디어의 모든 처리 및 배포를 용이하게 하기 위해 클라이언트 디바이스와의 양방향 메시지 프로토콜을 추가로 채용하는 프로세스일 수 있다. 또한, 양방향 프로토콜은 상이한 전달 채널(예: 제어 평면 채널 및/또는 데이터 평면 채널)에 걸쳐 구현될 수 있다.
도 9에 도시된 바와 같이, 네트워크 오케스트레이터(905)는 클라이언트 디바이스(908)의 특징 및 속성에 관한 정보를 수신한다. 네트워크 오케스트레이터(905)는 클라이언트 디바이스(908)에서 현재 실행 중인 애플리케이션에 관한 요구사항을 수집한다. 이 정보는 클라이언트 특정 정보(904)로부터 획득될 수 있다. 실시예에서, 정보는 클라이언트 디바이스(908)에 직접 질의함으로써 획득될 수 있다. 클라이언트 디바이스에 직접 질의하는 경우, 클라이언트 디바이스(908)가 네트워크 오케스트레이터(905)와 직접 통신할 수 있도록 양방향 프로토콜이 존재하고 동작 가능한 것으로 가정된다. .
네트워크 오케스트레이터(905)는 또한 미디어 적응 및 단편화 모듈(910)(도 10에 설명됨)을 개시하고 그것과 통신할 수 있다. 인제스트 미디어가 미디어 적응 및 단편화 모듈(910)에 의해 적응되고 단편화됨에 따라, 미디어는 배포를 위해 준비된 미디어(909)와 같은 중간 스토리지 디바이스로 전송될 수 있다. 네트워크 오케스트레이터(905)는 클라이언트 디바이스(908)가 "푸시(push)" 요청을 통해 배포 미디어 및 설명 정보(906)를 수신하거나, 클라이언트 디바이스(908)가 배포 미디어 및 설명 정보(906)의 "풀(pull)" 요청을 개시할 수 있도록 보장한다. 정보는 클라이언트 디바이스(908)의 네트워크 인터페이스(908B)를 통해 "푸시" 또는 "풀"될 수 있다. "푸시"되거나 "풀"되는 배포 미디어 및 설명 정보(906)는 배포 미디어에 대응하는 설명 정보일 수 있다.
일부 실시예에서, 네트워크 오케스트레이터(905)는 "푸시" 요청을 수행하거나 클라이언트 디바이스(908)에 의한 "풀" 요청을 개시하기 위해 양방향 메시지 인터페이스를 사용한다. 클라이언트 디바이스(908)는 선택적으로 GPU(908C)(또는 CPU)를 채용할 수 있다.
배포 미디어 형식은 그 후 클라이언트 디바이스(908)에 포함된 스토리지 디바이스 또는 스토리지 캐시(908D)에 저장된다. 마지막으로, 클라이언트 디바이스(908)는 시각화 구성요소(908A)를 통해 미디어를 시각적으로 제시한다.
몰입형 미디어를 클라이언트 디바이스(908)로 스트리밍하는 프로세스 전체에서, 네트워크 오케스트레이터(905)는 클라이언트 진행 및 상태 피드백 채널(907)을 통해 클라이언트의 진행 상태를 모니터링한다. 일부 실시예에서, 상태 모니터링은 양방향 통신 메시지 인터페이스를 통해 수행될 수 있다.
도 10은 예컨대, 미디어 적응 및 단편화 모듈(910)에 의해 수행되는 미디어 적응 프로세스(1000)의 예를 나타낸다. 미디어 적응 프로세스(1000)를 수행함으로써, 인제스팅된 소스 미디어는 클라이언트(예: 클라이언트 디바이스 908)의 요구사항에 매칭되도록 적절하게 적응될 수 있다.
도 10에 도시된 바와 같이, 미디어 적응 프로세스(1000)는 클라이언트 디바이스(908)를 위한 적절한 배포 형식으로 인제스트 미디어의 적응을 용이하게 하는 다수의 구성요소를 포함한다. 도 10에 나타낸 구성요소는 예시적인 것으로 간주되어야 한다. 실제로, 미디어 적응 프로세스(1000)는 추가 구성요소, 더 적은 구성요소, 다른 구성요소 또는 도 10에 도시된 것과 다르게 배열된 구성요소를 포함할 수 있다. 추가적으로 또는 대안적으로, 미디어 적응 프로세스(1000)의 구성요소 세트(예: 하나 이상의 구성요소)는 다른 구성요소 세트에 의해 수행되는 것으로 설명된 하나 이상의 기능을 수행할 수 있다.
도 10에서, 적응 모듈(1001)은 네트워크 상의 현재 트래픽 부하를 추적하기 위해 네트워크 상태(1005)의 입력을 수신한다. 언급된 바와 같이, 적응 모듈(1001)은 또한 네트워크 오케스트레이터(905)로부터 정보를 수신한다. 정보는 클라이언트 절두체의 지오메트리을 인제스트 몰입형 미디어의 보간 능력에 매핑하는 데 도움이 되도록 클라이언트 디바이스(908)의 속성 및 특징 설명, 애플리케이션 특징 및 설명, 애플리케이션의 현재 상태, 및 클라이언트 NN 모델(이용 가능한 경우)을 포함할 수 있다. 이러한 정보는 양방향 메시지 인터페이스를 통해 획득될 수 있다. 적응 모듈(1001)은 적응된 출력이 생성될 때 클라이언트 적응형 미디어(1006)를 저장하기 위한 스토리지 디바이스에 저장되는 것을 보장한다.
미디어 재사용 분석기(911)는 우선적으로 또는 미디어 배포를 위한 네트워크 자동화 프로세스의 일부로서 실행될 수 있는 선택적 프로세스일 수 있다. 미디어 재사용 분석기(911)는 인제스트 미디어 형식 및 자산을 스토리지 디바이스(1002)에 저장할 수 있다. 인제스트 미디어 형식 및 자산은 스토리지 디바이스(1002)로부터 적응 모듈(1001)로 송신될 수 있다.
적응 모듈(1001)은 논리 제어기(1001F)에 의해 제어될 수 있다. 적응 모듈(1001)은 또한 특정 인제스트 소스 미디어를 클라이언트에 적합한 형식으로 적응시키기 위해 렌더러(1001B) 또는 프로세서(1001C)를 채용할 수 있다. 프로세서(1001C)는 NN 기반 프로세서일 수 있다. 프로세서(1001C)는 NN 모델 1001A를 사용한다. 그러한 프로세서(1001C)의 예로는 MPI 및 MSI에 기술된 바와 같은 Deepview NN 모델 생성기를 포함한다. 미디어가 2D 형식이지만 클라이언트가 3D 형식을 가져야 하는 경우, 프로세서(1001C)는 2D 비디오 신호로부터 고도로 상관된(highly correlated) 이미지를 사용하여 미디어에 나타낸 장면의 체적 표현을 도출하기 위해 프로세스를 호출할 수 있다.
렌더러(1001B)는 음향 물리학, 광 물리학, 시각적 인식, 오디오 인식, 수학 및 소프트웨어 개발과 관련된 분야의 선택적인 혼합에 기반한 소프트웨어 기반(또는 하드웨어 기반) 애플리케이션 또는 프로세스로, 입력 장면 그래프 및 자산 컨테이너가 주어지면, 타깃 디바이스에 프리젠테이션하기에 적합한 (일반적으로) 시각적 및/또는 오디오 신호를 내보내거나 장면 그래프에서 렌더링 타깃 노드의 속성에 의해 지정된 대로 원하는 속성을 준수한다. 시각 기반 미디어 자산의 경우, 렌더러는 타깃 디스플레이에 적합하거나, 중간 자산으로 저장하는 데 적합한 시각적 신호를 방출할 수 있다(예컨대, 다른 컨테이너에 다시 패키징되어 그래픽 파이프라인에서 일련의 렌더링 프로세스에 사용됨). 오디오 기반 미디어 자산의 경우, 렌더러는 다중 채널 라우드스피커 및/또는 양방향 헤드폰에서 프리젠테이션하거나, 다른 (출력) 컨테이너로 다시 패키징하기 위해 오디오 신호를 방출할 수 있다. 예를 들어 렌더러는 소스 및 크로스 플랫폼 게임 엔진의 실시간 렌더링 기능을 포함한다. 렌더러는 장면 그래프 노드에 대한 동적 입력 및 가변 상태 변경을 처리하기 위해 런타임에 렌더러에 의해 실행될 수 있는 스크립팅 언어(scripting language)(즉, 해석된 프로그래밍 언어)를 포함할 수 있다. 동적 입력 및 가변 상태 변경은 공간적 및 시간적 객체 토폴로지(물리적 힘, 제약, 역운동학, 변형, 충돌 포함), 그리고 에너지 전파 및 전송(빛, 소리)의 렌더링 및 평가에 영향을 미칠 수 있다. 공간적 및 시간적 객체 토폴로지의 평가는 출력이 추상적인 결과에서 구체적인 결과로 이동하게 하는 결과(예: 웹 페이지에 대한 문서 객체 모델의 평가와 유사)를 생성한다.
렌더러(1001B)는 예를 들어 적응 모듈(1001)과 직접 상호작용하도록 수정될 OTOY Octane 렌더러의 수정된 버전일 수 있다. 일부 실시예에서, 렌더러(1001B)는 장면의 조명이 현실에 충실하도록 3차원 장면을 렌더링하도록 컴퓨터 그래픽 방법(예: 경로 추적)을 구현한다. 일부 실시예에서 렌더러(1001B)는 셰이더(shader)를 채용할 수 있다(즉, 일종의 컴퓨터 프로그램으로 원래 쉐이딩(이미지 내에 적절한 수준의 빛, 어둠 또는 색상을 생성)에 사용되었지만 이제는 컴퓨터 그래픽 특수 효과, 쉐이딩과 무관한 비디오 후처리, 및 그래픽과 무관한 기타 기능의 다양한 분야에서 다양한 특화된 기능을 수햄함)
적응 모듈(1001)은 인제스트 미디어의 형식 및 클라이언트 디바이스(908)에 의해 요구되는 형식에 기초한 압축과 압축 해제의 필요성에 따라 각각 미디어 압축기(1001D)와 미디어 압축 해제기(1001E)를 사용하여 미디어 콘텐츠의 압축 및 압축 해제를 수행할 수 있다. . 미디어 압축기(1001D)는 미디어 인코더일 수 있고 미디어 압축 해제기(1001E)는 미디어 디코더일 수 있다. 압축 및 압축 해제(필요한 경우)를 수행한 후, 적응 모듈(1001)은 클라이언트 디바이스(908)로의 스트리밍 또는 배포에 최적인 클라이언트 적응형 미디어(1006)를 출력한다. 클라이언트 적응형 미디어(1006)는 적응형 미디어를 저장하기 위한 스토리지 디바이스에 저장될 수 있다.
도 11은 예시적인 배포 형식 생성 프로세스(1100)를 도시한다. 도 11에 도시된 바와 같이, 배포 형식 생성 프로세스(1100)는 미디어 적응 프로세스(1000)로부터 출력되고 클라이언트 적응형 미디어(1006)로서 저장되는 미디어를 패키징하는 적응형 미디어 패키징 모듈(1103)을 포함한다. 미디어 패키징 모듈(1103)은 클라이언트 적응형 미디어(1006)로부터의 적응된 미디어를 형식을 강인한 배포 형식(1104)으로 한다. 배포 형식은 예를 들어 도 3 또는 도 4에 도시된 예시적인 형식일 수 있다. 정보 매니페스트(1104A)는 클라이언트 디바이스(908)에 장면 데이터 자산(1104B)의 리스트를 제공할 수 있다. 장면 데이터 자산(1104B)의 리스트는 또한 장면 데이터 자산(1104B)의 리스트에 있는 모든 자산의 복잡도를 기술하는 복잡도 메타데이터를 포함할 수 있다. 장면 데이터 자산의 리스트(1104B)는 시각적 자산, 오디오 자산 및 햅틱 자산의 리스트를 나타내며, 각각은 자신의 대응하는 메타데이터를 포함한다.
미디어는 스트리밍되기 전에 추가로 패킷화될 수 있다. 도 12는 예시적인 패킷화 프로세스(1200)를 나타낸다. 패킷화 시스템(1200)은 패킷화기(1202)를 포함한다. 패킷화기(1202)는 (도 12에 도시된 바와 같이) 입력 미디어(1201)로서 장면 데이터 자산(1104B)의 리스트를 수신할 수 있다. 일부 실시예에서, 클라이언트 적응형 미디어(1006) 또는 배포 형식(1104)은 패킷화기(1202)에 입력된다. 패킷화기(1202)는 입력 미디어(1201)를 네트워크 상의 클라이언트 디바이스(908)에 대한 표현 및 스트리밍에 적합한 개별 패킷(1203)으로 분리한다.
도 13은 실시예에 따른 구성요소 간의 데이터 및 통신 흐름의 예를 나타낸 시퀀스도이다. 도 13의 시퀀스도는 인제스트 형식의 특정 몰입형 미디어를 특정 몰입형 미디어 클라이언트 종단점에 대해 스트리밍 가능하고 적합한 배포 형식으로 적응시키는 네트워크이다. 데이터 및 통신 흐름은 다음과 같다.
클라이언트 디바이스(908)는 네트워크 오케스트레이터(905)에 대한 미디어 요청(1308)을 개시한다. 일부 실시예에서, 요청은 클라이언트 디바이스의 네트워크 배포 인터페이스에 대해 이루어질 수 있다. 미디어 요청(1308)은 클라이언트 디바이스(908)에 의해 요청된 미디어를 식별하기 위한 정보를 포함한다. 미디어 요청은 예를 들어 URN(Uniform Resource Name) 또는 다른 표준 명명법에 의해 식별될 수 있다. 그러면 네트워크 오케스트레이터(905)는 프로파일 요청(1309)으로 미디어 요청(1308)에 응답한다. 프로파일 요청(1309)은 클라이언트가 현재 이용 가능한 자원에 대한 정보(클라이언트의 현재 운영 사애를 특징짓기 위한 컴퓨팅, 스토리지, 충전된 배터리 백분율, 및 기타 정보)를 제공하도록 요청한다. 프로파일 요청(1309)은 또한 클라이언트의 프리젠테이션 시스템의 특징과 매칭되도록 올바른 미디어 뷰를 추출하거나 보간하기 위해 NN 추론을 위해 네트워크에 의해 사용될 수 있는 하나 이상의 NN 모델을, 그러한 NN 모델이 클라이언트 종단점에서 사용 가능하면, 클라이언트가 제공할 것을 요청한다.
그러면 클라이언트 디바이스(908)는 클라이언트 디바이스(908)에서 네트워크 오케스트레이터(905)로의 응답(1310)에 이어서 클라이언트 토큰, 애플리케이션 토큰 및 하나 이상의 NN 모델 토큰(이러한 NN 모델 토큰이 클라이언트 종단점에서 사용 가능한 경우)으로서 제공한다. 그러면 네트워크 오케스트레이터(905)는 클라이언트 디바이스에 세션 ID 토큰(1311)을 제공한다. 네트워크 오케스트레이터(905)는 그런 다음 인제스트 미디어 서버(1303)로부터 인제스트 미디어(1312)를 요청한다. 인제스트 미디어 서버(1303)은 예를 들어 인제스트 미디어 스토리지(903) 또는 인제스 미디어 포맷 및 자산 스토리지 디바이스(1002)를 포함할 수 있다. 미디어 인제스트(1312)에 대한 요청은 또한 요청(1308)에서 식별된 미디어에 대한 URN 또는 다른 표준 명칭을 포함할 수 있다. 인제스트 미디어 서버(1303)는 인제스트 미디어 토큰을 포함하는 응답(1313)으로 미디어 인제스트(1312) 요청에 응답한다. 그러면 네트워크 오케스트레이터(905)는 호출(1314)의 응답(1313)으로부터의 미디어 토큰을 클라이언트 디바이스(908)에 제공한다. 네트워크 오케스트레이터(905)는 그 후 적응 및 단편화 모듈(910)에 인제스트 미디어 토큰, 클라이언트 토큰, 애플리케이션 토큰 및 NN 모델 토큰을 제공함으로써 요청(1315)에서 요청된 미디어에 대한 적응 프로세스를 개시한다. 적응 및 단편화 모듈(910)은 인제스트 미디어 자산에 대한 액세스를 요청하기 위해 요청(1316)에서 인제스트 미디어 토큰을 인제스트 미디어 서버(1303)에 제공함으로써 인제스트 미디어에 대한 액세스를 요청한다.
인제스트 미디어 서버(1303)는 적응 및 단편화 모듈(910)에 대한 응답(1317)에서 인제스트 미디어 액세스 토큰으로 요청(1316)에 응답한다. 그러면 적응 및 단편화 모듈(910)은 미디어 적응 프로세스(1000)가 응답(1313)에서 생성 및 송신된 세션 ID 토큰에 대응하는 클라이언트, 애플리케이션 및 NN 추론 모델에 대한 인제스트 미디어 액세스 토큰에 위치한 인제스트 미디어를 적응시키도록 요청한다. 적응 및 단편화 모듈(910)로부터 미디어 적응 프로세스(1000)로의 요청(1318)이 이루어진다. 요청(1318)에는 필요한 토큰과 세션 ID가 포함되어 있다. 미디어 적응 프로세스(1000)는 업데이트 응답(1319)에서 적응된 미디어 액세스 토큰 및 세션 ID를 네트워크 오케스트레이터(905)에 제공한다. 그러면 네트워크 오케스트레이터(905)는 인터페이스 호출(1320)에서 적응된 미디어 액세스 토큰 및 세션 ID를 미디어 패키징 모듈(1103)에 제공한다. 그러면 미디어 패키징 모듈(1103)은 응답(1321)에서 패키징된 미디어 액세스 토큰 및 세션 ID를 네트워크 오케스트레이터(905)에 제공한다. 그런 다음 미디어 패키징 모듈(1103)은 응답(1322)에서 패키징된 자산, URN 및 세션 ID에 대한 패키징된 미디어 액세스 토큰을 패키징된 미디어 서버(1307)에 제공하여 저장되도록 한다. 이어서, 클라이언트 디바이스(908)는 응답(1321)에서 수신된 패키징된 미디어 액세스 토큰에 대응하는 미디어 자산의 스트리밍을 개시하기 위해 패키징된 미디어 서버(1307)에 대한 요청(1323)을 실행한다. 마지막으로, 클라이언트 디바이스(908)는 다른 요청을 실행하고 상태 업데이트를 네트워크 오케스트레이터(905)에 대한 메시지(1324)에서 제공한다.
도 14a는 도 9에 도시된 미디어 재사용 분석기(911)에 대한 작업흐름를 나타낸다. 미디어 재사용 분석기(911)는 미디어 데이터에 포함된 장면의 객체 고유성과 관련된 메타데이터를 분석한다.
S1401에서, 예컨대 콘텐츠 제공자 또는 콘텐츠 소스로부터 미디어 데이터가 획득된. S1402에서 초기화가 수행된다. 특히 반복자(iterator) "i"는 0으로 초기화된다. 반복자는 예를 들어 카운터일 수 있다. (도 3 및/또는 도 4에 도시된 바와 같이) 프리젠테이션을 포함하는 모든 장면에 걸쳐 마주치는 고유 자산을 식별할 수 있게 해주는 각 장면에 대한 고유 자산(1420)의 리스트 세트(1420)(도 14b에 도시됨)도 초기화된다.
S1403에서, 반복자 "i"의 값이 프리젠테이션을 포함하는 전체 장면 수 N보다 작은지를 결정하는 결정 프로세스가 수행된다. 반복자 "i"의 값이 프레젠테이션을 구성하는 장면의 수 N과 같은 (또는 그 이상) 경우(S1403에서 NO), 처리는 S1404로 진행하여 재사용 분석을 종료한다(즉, 처리를 종료한다). 반복자 "i"의 값이 프레젠테이션을 구성하는 장면의 수 N 미만인 경우(S1403에서 YEs), 처리는 S1405로 진행한다. S1405에서 반복자 "j"의 값은 0으로 설정된다.
이어서, S1406에서, 반복자 "j"의 값이 현재 장면에서 미디어 자산 X(미디어 객체라고도 함)의 총 수보다 작은지를 결정하기 위한 결정 프로세스가 수행된다. 반복자 "j"의 값이 장면 s에 대한 미디어 자산의 총 수 X와 같은 (또는 그보다 많은) 경우(S1406에서 NO), 처리는 S1407로 진행하며, 반복자 "i"는 S1403으로 돌아가지 전에 1 증가한다. 반복자 "j"의 값이 장면 s에 대한 총 미디어 자산 수 X보다 작으면(S1406에서 YES), 처리는 S1408로 진행한다.
S1408에서, 미디어 자산의 특징은 현재 미디어 자산이 이전에 사용되었는지를 결정하기 위해 현재 장면 이전 장면(즉, 장면 s)으로부터 이전에 분석된 자산과 비교된다.
현재 미디어 자산이 고유한 자산으로 식별된 경우(S1408에서 NO), 즉 현재 미디어 자산이 반복자 "i"의 더 작은 값과 연관된 장면에서 이전에 분석되지 않은 경우, 처리는 S1409로 진행한다. S1409에서, 현재 장면(즉, 장면 s)에 대응하는 고유 자산 리스트 세트(1420)에 고유 자산 엔트리가 생성된다. 고유한 자산 엔트리에도 고유한 식별자가 할당되고, 장면 0에서 N-1까지 자산이 사용된 횟수는 1로 설정된다. 그런 다음 처리는 S1411로 진행된다.
현재 미디어 자산이 장면 s 이전의 하나 이상의 장면에서 사용된 자산으로 식별된 경우(S1408에서 YES), 처리는 S1409로 진행한다. S1410에서, 장면 0 내지 N-1에 걸쳐 현재 미디어 자산이 사용된 횟수는 현재 장면(즉, 장면 s)에 대응하는 고유 자산 리스트(1420)의 세트에서 1 증가된다. 그 후, 처리는 S1411로 진행한다.
S1411에서, 반복자 "j"의 값을 1 증가시킨다. 이어서 처리는 S1406으로 되돌아간다.
일부 실시예에서, 미디어 재사용 분석기(911)는 또한 클라이언트, 예를 들어 클라이언트 디바이스(108)에, 클라이언트가 해당 자산은 장면 세트에서 사용되는 각각의 인스턴스에 대해 자산의 사본을 사용해야 한다는 시그널링을 할 수 있다(자산이 클라이언트에 배포된 첫 번째 이후).
도 13 내지 도 14를 참조하여 설명된 순서도 및 작업흐름의 단계는 실시예에서의 데이터 및 통신 흐름의 구성을 한정하려는 의도가 아님에 유의해야 한다. 예를 들어, 하나 이상의 단계가 동시에 수행될 수 있고, 데이터가 저장될 수 있고 및/또는 도 13 및 도 14a의 흐름에 명시적으로 예시되지 않은 방향으로 흐를 수 있다.
도 14b는 실시예에 따른, 프레젠테이션 완료 시 모든 장면에 대해 S1402에서 초기화된(잠재적으로 S1409-S1410에서 업데이트됨) 고유 자산(1420)의 리스트 세트의 일례이다. 고유 자산 리스트 세트(1420) 내의 고유 자산 리스트는 네트워크 또는 클라이언트 디바이스에 의해 선험적으로 식별되거나 미리 정의될 수 있다. 고유 자산 리스트 세트(1420)는 자산을 포함하는 미디어 유형(예: 메시(Mesh), 오디오(Audio) 또는 볼륨(Volume)에 대한 지시자, 자산에 대한 고유 식별자, 자산을 구성하는 전체 프리젠테이션을 포함하는 장면 세트 전체에서 자산이 사용된 횟수를 포함한, 현재 전체 프리젠테이션에 대해 고유한 자산을 기술하는 정보 엔트리의 샘플 리스트를 보여준다. 예를 들어 장면 N-1의 경우, 장면 N-1에 필요한 모든 자산이 자산 1과 자산 2에서도 사용되는 자산으로 식별되었기 때문에 리스트에 포함된 자산이 없다.
도 15는 실시예에 따른, 미디어 배포를 최적화하기 위한 컴퓨터 코드(1500)의 일례의 블록도이다. 실시예에서, 컴퓨터 코드는 예를 들어 프로그램 코드 또는 컴퓨터 프로그램 코드일 수 있다. 본 개시의 실시예에 따르면, 컴퓨터 프로그램 코드를 저장하는 메모리를 구비한 적어도 하나의 프로세서를 포함하는 장치/디바이스가 제공될 수 있다. 컴퓨터 프로그램 코드는 적어도 하나의 프로세서에 의해 실행될 때, 본 개시의 임의의 수의 측면을 수행하도록 구성될 수 있다.
도 15에 도시된 바와 같이, 컴퓨터 코드(1500)는 수신 코드(1510), 취득 코드(1520), 분석 코드(1530) 및 생성 코드(1540)를 포함할 수 있다.
수신 코드(1510)는 적어도 하나의 프로세서로 하여금 콘텐츠 소스로부터 몰입형 프리젠테이션을 위한 몰입형 미디어 데이터를 수신하게 하도록 구성된다.
취득 코드(1520)은 적어도 하나의 프로세서로 하여금 몰입형 미디어 데이터에 포함된 장면 세트에 있는 미디어 자산에 대응하는 자산 정보를 취득하게 하도록 구성된다.
분석 코드(1530)은 적어도 하나의 프로세서로 하여금 자산 정보로부터, 장면 세트에서 사용된 미디어 자산의 특성을 분석하여 각각의 미디어 자산이 미디어 자산들 사이에서 고유한지 여부를 판정하게 하도록 구성된다.
생성 코드(1540)은 적어도 하나의 프로세서로 하여금 각각의 미디어 자산이 몰입형 프리젠테이션을 위한 몰입형 미디어 데이터에 포함된 장면 세트에 있는 미디어 자산들 사이에서 고유하지 않다는 결정에 기초하여, 장면 세트에 있는 각각의 미디어 자산을 재사용하기 위해 각각의 미디어 자산을 고유하게 식별하는 메타데이터 정보를 생성하게 하도록 구성된다.
비록 도 15는 예시적인 코드 블록을 도시하지만, 일부 구현에서 장치/디바이스는 추가 블록, 더 적은 블록, 다른 블록 또는 도 15에 도시된 것과 다르게 배열된 블록을 포함할 수 있다. 추가적으로 또는 대안적으로, 장치/디바이스의 블록들 중 둘 이상이 결합될 수 있다. 다시 말해, 도 15는 별개의 코드 블록을 보여주지만, 다양한 코드 명령어는 별개일 필요가 없고 혼합될 수 있다.
본 개시가 여러 예시적인 실시예를 설명했지만, 본 개시의 범위 내에 속하는 변경, 순열 및 다양한 대체 등가물이 있다. 따라서 당업자는 본 명세서에 명시적으로 도시되거나 설명되지는 않았지만 본 발명의 원리를 구현하고 따라서 본 발명의 사상 및 범위 내에 있는 수많은 시스템 및 방법을 고안할 수 있음을 이해할 것이다.

Claims (20)

  1. 적어도 하나의 프로세서에 의해 수행되는 미디어 배포를 최적화하는 방법으로서,
    콘텐츠 소스로부터 몰입형 프리젠테이션(immersive presentation)을 위한 몰입형 미디어 데이터를 수신하는 단계;
    상기 몰입형 미디어 데이터에 포함된 장면 세트에 있는 미디어 자산에 대응하는 자산 정보를 취득하는 단계;
    상기 자산 정보로부터, 상기 장면 세트에서 사용된 상기 미디어 자산의 특성을 분석하여 각각의 미디어 자산이 상기 미디어 자산들 사이에서 고유한지 여부를 판정하는 단계; 및
    각각의 미디어 자산이 상기 몰입형 프리젠테이션을 위한 몰입형 미디어 데이터에 포함된 장면 세트에 있는 미디어 자산들 사이에서 고유하지 않다는 결정에 기초하여, 상기 장면 세트에서 각각의 미디어 자산을 재사용하기 위해 각각의 미디어 자산을 고유하게 식별하는 메타데이터 정보를 생성하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    각각의 미디어 자산이 고유 미디어 자산으로 식별되는 경우 상기 장면 세트 내의 장면과 연관된 고유 자산 리스트를 생성하는 단계;
    상기 고유 미디어 자산에 고유 식별자를 할당하고 상기 몰입형 프리젠테이션을 위한 상기 장면 세트에 걸쳐 상기 고유 미디어 자산이 사용되는 횟수를 추적하기 위한 카운터를 생성하는 단계; 및
    각각의 미디어 자산이 상기 미디어 자산들 사이에서 고유하지 않은 것으로 식별되는 경우에 클라이언트 디바이스에 시그널링하는 단계 - 상기 시그널링은 각각의 미디어 자산이 상기 장면 세트에서 사용되는 제1 인스턴스 후의 각각의 인스턴스에 대해 각각의 미디어 자산의 사본을 사용하도록 상기 클라이언트 디바이스에 지시함 -를 더 포함하는 방법.
  3. 제2항에 있어서,
    상기 몰입형 프리젠테이션을 위한 몰입형 미디어 데이터를 수신한 때에 상기 장면 세트에 포함된 각각의 장면과 연관된 고유 자산 리스트 및 상기 카운터를 초기화하는 단계; 및
    상기 몰입형 프레젠테이션에서 상기 고유 미디어 자산이 식별되는 인스턴스 각각에 대한 카운터를 증가시키는 단계를 더 포함하는 방법.
  4. 제1항에 있어서,
    상기 자산 정보는 각각의 미디어 자산의 기본 표현 및 자산 강화 계층 세트를 포함하고, 상기 자산 강화 계층 세트는 상기 미디어 자산의 특성에 대응하는 속성 정보를 포함하며,
    상기 자산 강화 계층 세트가 각각의 미디어 자산의 기본 표현에 적용되는 경우, 각각의 미디어 자산의 기본 표현은 각각의 미디어 자산의 기본 표현을 포함하는 기본 계층에서 지원되지 않는 특징을 포함하도록 증강되는, 방법.
  5. 제4항에 있어서,
    동일한 미디어 자산을 공유하는 둘 이상의 장면을 식별하고 상기 둘 이상의 장면 중 적어도 하나에서 상기 동일한 미디어 자산을 재사용하는 단계를 더 포함하는 방법.
  6. 제1항에 있어서,
    상기 장면 세트 내의 장면에 대응하는 몰입형 미디어 데이터의 형식이 상기 클라이언트 디바이스에 배포되기 전에 제1 형식에서 제2 형식으로 변환되어야 하는지를 상기 장면의 복잡도에 기초하여 판정하는 단계를 더 포함하는 방법.
  7. 제1항에 있어서,
    각각의 미디어 자산이 상기 장면 세트에서 이전에 사용된 미디어 자산들 사이에서 고유한지를 판정하는 단계를 더 포함하는 방법.
  8. 미디어 배포를 최적화하기 위한 디바이스로서,
    컴퓨터 프로그램 코드를 저장하도록 구성된 적어도 하나의 메모리; 및
    상기 컴퓨터 프로그램 코드를 판독하고 상기 컴퓨터 프로그램 코드에 의해 명령받은 대로 동작하도록 구성된 적어도 하나의 프로세서를 포함하고,
    상기 컴퓨터 프로그램 코드는,
    상기 적어도 하나의 프로세서로 하여금 콘텐츠 소스로부터 몰입형 프리젠테이션을 위한 몰입형 미디어 데이터를 수신하게 하도록 구성된 수신 코드;
    상기 적어도 하나의 프로세서로 하여금 상기 몰입형 미디어 데이터에 포함된 장면 세트에 있는 미디어 자산에 대응하는 자산 정보를 취득하게 하도록 구성된 취득 코드;
    상기 적어도 하나의 프로세서로 하여금 상기 자산 정보로부터, 상기 장면 세트에서 사용된 미디어 자산의 특성을 분석하여 각각의 미디어 자산이 상기 미디어 자산들 사이에서 고유한지 여부를 판정하게 하도록 구성된 분석 코드; 및
    상기 적어도 하나의 프로세서로 하여금 각각의 미디어 자산이 상기 몰입형 프리젠테이션을 위한 몰입형 미디어 데이터에 포함된 장면 세트에 있는 미디어 자산들 사이에서 고유하지 않다는 결정에 기초하여, 상기 장면 세트에 있는 각각의 미디어 자산을 재사용하기 위해 각각의 미디어 자산을 고유하게 식별하는 메타데이터 정보를 생성하게 하도록 구성된 생성 코드를 포함하는,
    디바이스.
  9. 제8항에 있어서,
    상기 컴퓨터 프로그램 코드는,
    상기 적어도 하나의 프로세서로 하여금 각각의 미디어 자산이 고유 미디어 자산으로 식별되는 경우에 상기 장면 세트 내의 장면과 연관된 고유 자산 리스트를 생성하게 하도록 구성된 생성 코드;
    상기 적어도 하나의 프로세서로 하여금 상기 고유 미디어 자산에 고유 식별자를 할당하고 상기 몰입형 프리젠테이션을 위한 상기 장면 세트에 걸쳐 상기 고유 미디어 자산이 사용되는 횟수를 추적하기 위한 카운터를 생성하게 하도록 구성된 할당 코드; 및
    상기 적어도 하나의 프로세서로 하여금 각각의 미디어 자산이 상기 미디어 자산들 사이에서 고유하지 않은 것으로 식별되는 경우에 클라이언트 디바이스에 시그널링하게 하도록 구성된 시그널링 코드 - 상기 시그널링은 각각의 미디어 자산이 상기 장면 세트에서 사용되는 제1 인스턴스 후에 각각의 인스턴스에 대해 각각의 미디어 자산의 사본을 사용하도록 상기 클라이언트 디바이스에 지시함 -를 더 포함하는, 디바이스.
  10. 제9항에 있어서,
    상기 컴퓨터 프로그램 코드는,
    상기 적어도 하나의 프로세서로 하여금 상기 몰입형 미디어 데이터를 수신한 때에 상기 장면 세트에 포함된 각각의 장면과 연관된 고유 자산 리스트 및 상기 카운터를 초기화하게 하도록 구성된 초기화 코드; 및
    상기 적어도 하나의 프로세서로 하여금 상기 몰입형 프레젠테이션에서 상기 고유 미디어 자산이 식별되는 각각의 인스턴스에 대한 카운터를 증가시키게 하도록 구성된 증가 코드 더 포함하는, 디바이스.
  11. 제8항에 있어서,
    상기 자산 정보는 각각의 미디어 자산의 기본 표현 및 자산 강화 계층 세트를 포함하고, 상기 자산 강화 계층 세트는 상기 미디어 자산의 특성에 대응하는 속성 정보를 포함하며,
    상기 자산 강화 계층 세트가 각각의 미디어 자산의 기본 표현에 적용되는 경우, 각각의 미디어 자산의 기본 표현은 각각의 미디어 자산의 기본 표현을 포함하는 기본 계층에서 지원되지 않는 특징을 포함하도록 증강되는, 디바이스.
  12. 제8항에 있어서,
    상기 컴퓨터 프로그램 코드는, 상기 적어도 하나의 프로세서로 하여금 동일한 미디어 자산을 공유하는 둘 이상의 장면을 식별하게 하고 상기 둘 이상의 장면 중 적어도 하나에서 상기 동일한 미디어 자산을 재사용하게 하도록 구성된 식별 코드를 더 포함하는, 디바이스.
  13. 제8항에 있어서,
    상기 컴퓨터 프로그램 코드는, 상기 적어도 하나의 프로세서로 하여금 상기 장면 세트 내의 장면에 대응하는 몰입형 미디어 데이터의 형식이 상기 클라이언트 디바이스에 배포되기 전에 제1 형식에서 제2 형식으로 변환되어야 하는지를 상기 장면의 복잡도에 기초하여 판정하게 하도록 구성된 형식 결정 코드를 더 포함하는, 디바이스.
  14. 제8항에 있어서,
    상기 분석 코드는 추가로, 상기 적어도 하나의 프로세서로 하여금 각각의 미디어 자산이 상기 장면 세트에서 이전에 사용된 미디어 자산들 사이에서 고유한지를 판정하게 하도록 구성되는, 디바이스.
  15. 명령어를 저장하는, 컴퓨터로 판독 가능한 비일시적 매체로서,
    상기 명령어는 미디어 배포를 최적화하기 위한 디바이스의 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금,
    콘텐츠 소스로부터 몰입형 프리젠테이션을 위한 몰입형 미디어 데이터를 수신하게 하고;
    상기 몰입형 미디어 데이터에 포함된 장면 세트에 있는 미디어 자산에 대응하는 자산 정보를 취득하게 하고;
    상기 자산 정보로부터, 상기 장면 세트에서 사용된 미디어 자산의 특성을 분석하여 각각의 미디어 자산이 상기 미디어 자산들 사이에서 고유한지 여부를 판정하게 하고;
    각각의 미디어 자산이 상기 몰입형 프리젠테이션을 위한 몰입형 미디어 데이터에 포함된 장면 세트에 있는 상기 미디어 자산들 사이에서 고유하지 않다는 결정에 기초하여, 상기 장면 세트에 있는 각각의 미디어 자산을 재사용하기 위해 각각의 미디어 자산을 고유하게 식별하는 메타데이터 정보를 생성하게 하는,
    컴퓨터로 판독 가능한 저장 매체.
  16. 제15항에 있어서,
    상기 명령어는 추가로 상기 적어도 하나의 프로세서로 하여금,
    각각의 미디어 자산이 고유 미디어 자산으로 식별되는 경우에 상기 장면 세트 내의 장면과 연관된 고유 자산 리스트를 생성하게 하고;
    상기 고유 미디어 자산에 고유 식별자를 할당하고 상기 몰입형 프리젠테이션을 위한 상기 장면 세트에 걸쳐 상기 고유 미디어 자산이 사용되는 횟수를 추적하기 위한 카운터를 생성하게 하고;
    각각의 미디어 자산이 상기 미디어 자산들 사이에서 고유하지 않은 것으로 식별되는 경우에 클라이언트 디바이스에 시그널링하게 하며, 상기 시그널링은 각각의 미디어 자산이 상기 장면 세트에서 사용되는 제1 인스턴스 후에 각각의 인스턴스에 대해 각각의 미디어 자산의 사본을 사용하도록 상기 클라이언트 디바이스에 지시하는, 컴퓨터로 판독 가능한 저장 매체.
  17. 제16항에 있어서,
    상기 명령어는 추가로 상기 적어도 하나의 프로세서로 하여금,
    상기 몰입형 미디어 데이터를 수신한 때에 상기 장면 세트에 포함된 각각의 장면과 연관된 고유 자산 리스트 및 상기 카운터를 초기화하게 하고;
    상기 몰입형 프레젠테이션에서 상기 고유 미디어 자산이 식별되는 각각의 인스턴스에 대한 카운터를 증가시키게 하는, 컴퓨터로 판독 가능한 저장 매체.
  18. 제15항에 있어서,
    상기 명령어는 추가로 상기 적어도 하나의 프로세서로 하여금, 동일한 미디어 자산을 공유하는 둘 이상의 장면을 식별하여 상기 둘 이상의 장면 중 적어도 하나에서 상기 동일한 미디어 자산을 재사용하게 하는, 컴퓨터로 판독 가능한 저장 매체.
  19. 제15항에 있어서,
    상기 명령어는 상기 적어도 하나의 프로세서로 하여금, 상기 장면 세트 내의 장면에 대응하는 몰입형 미디어 데이터의 형식이 상기 클라이언트 디바이스에 배포되기 전에 제1 형식에서 제2 형식으로 변환되어야 하는지를 상기 장면의 복잡도에 기초하여 판정하게 하는, 컴퓨터로 판독 가능한 저장 매체.
  20. 제15항에 있어서,
    상기 명령어는 추가로 상기 적어도 하나의 프로세서로 하여금, 각각의 미디어 자산이 상기 장면 세트에서 이전에 사용된 미디어 자산들 사이에서 고유한지를 판정하게 하는, 컴퓨터로 판독 가능한 저장 매체.
KR1020237022266A 2021-11-05 2022-10-25 장면 자산 재사용을 위한 몰입형 미디어 분석기 KR20230114282A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163276540P 2021-11-05 2021-11-05
US63/276,540 2021-11-05
US17/970,712 US20230146230A1 (en) 2021-11-05 2022-10-21 Immersive media analyzer for reuse of scene assets
US17/970,712 2022-10-21
PCT/US2022/047671 WO2023081036A1 (en) 2021-11-05 2022-10-25 Immersive media analyzer for reuse of scene assets

Publications (1)

Publication Number Publication Date
KR20230114282A true KR20230114282A (ko) 2023-08-01

Family

ID=86229484

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237022266A KR20230114282A (ko) 2021-11-05 2022-10-25 장면 자산 재사용을 위한 몰입형 미디어 분석기

Country Status (5)

Country Link
US (1) US20230146230A1 (ko)
JP (1) JP2024509222A (ko)
KR (1) KR20230114282A (ko)
CN (1) CN116686275A (ko)
WO (1) WO2023081036A1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7402743B2 (en) * 2005-06-30 2008-07-22 Body Harp Interactive Corporation Free-space human interface for interactive music, full-body musical instrument, and immersive media controller
US7506102B2 (en) * 2006-03-28 2009-03-17 Cisco Technology, Inc. Method and apparatus for local access authorization of cached resources
US9417762B2 (en) * 2013-01-09 2016-08-16 Northrop Grumman Systems Corporation System and method for providing a virtual immersive environment
US20140280393A1 (en) * 2013-03-15 2014-09-18 Apple Inc. Cached data validity

Also Published As

Publication number Publication date
JP2024509222A (ja) 2024-02-29
US20230146230A1 (en) 2023-05-11
CN116686275A (zh) 2023-09-01
WO2023081036A1 (en) 2023-05-11

Similar Documents

Publication Publication Date Title
US20230336795A1 (en) Smart client for streaming of scene-based immersive media
KR102598603B1 (ko) 이기종 클라이언트 종단점에 대한 스트리밍을 위한 2d 비디오의 적응
US11983214B2 (en) Reuse of redundant assets with client query
KR20230114282A (ko) 장면 자산 재사용을 위한 몰입형 미디어 분석기
US11991424B2 (en) Immersive media data complexity analyzer for transformation of asset formats
US11930059B2 (en) Immersive media streaming prioritized by frequency of asset reuse
US20230144442A1 (en) Immersive media streaming prioritized by asset complexity
US20230147879A1 (en) Redundant cache for reusable immersive media assets
US20230338834A1 (en) Smart client for streaming of scene-based immersive media to game engine
US20240104803A1 (en) Scene graph translation
US20230370666A1 (en) Streaming scene prioritizer for immersive media

Legal Events

Date Code Title Description
A201 Request for examination