KR20220160646A - 미디어 파일 캡슐화 방법, 미디어 파일 캡슐화 해제 방법 및 관련 디바이스 - Google Patents

미디어 파일 캡슐화 방법, 미디어 파일 캡슐화 해제 방법 및 관련 디바이스 Download PDF

Info

Publication number
KR20220160646A
KR20220160646A KR1020227037594A KR20227037594A KR20220160646A KR 20220160646 A KR20220160646 A KR 20220160646A KR 1020227037594 A KR1020227037594 A KR 1020227037594A KR 20227037594 A KR20227037594 A KR 20227037594A KR 20220160646 A KR20220160646 A KR 20220160646A
Authority
KR
South Korea
Prior art keywords
file
application scenario
media stream
media
encapsulation
Prior art date
Application number
KR1020227037594A
Other languages
English (en)
Other versions
KR102661694B1 (ko
Inventor
잉 후
Original Assignee
텐센트 테크놀로지(센젠) 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 filed Critical 텐센트 테크놀로지(센젠) 컴퍼니 리미티드
Publication of KR20220160646A publication Critical patent/KR20220160646A/ko
Application granted granted Critical
Publication of KR102661694B1 publication Critical patent/KR102661694B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 출원은 미디어 파일 캡슐화 방법, 미디어 파일 캡슐화 해제 방법 및 관련 디바이스를 제공한다. 미디어 파일 캡슐화 방법은 타깃 미디어 컨텐츠에 대응하는 어플리케이션 시나리오에서 타깃 미디어 컨텐츠의 미디어 스트림을 획득하는 단계; 미디어 스트림을 캡슐화하고 미디어 스트림의 캡슐화 파일을 생성하는 단계로서, 캡슐화 파일은 제1 어플리케이션 시나리오 유형 필드를 포함하고, 제1 어플리케이션 시나리오 유형 필드는 미디어 스트림에 대응하는 어플리케이션 시나리오를 나타내기 위해 사용되는, 생성하는 단계; 및 제1 디바이스가 제1 어플리케이션 시나리오 유형 필드에 따라 미디어 스트림에 대응하는 어플리케이션 시나리오를 결정하고 미디어 스트림에 대응하는 어플리케이션 시나리오에 따라 미디어 스트림의 렌더링 방법 및 디코딩 방법 중 적어도 하나를 결정하도록 캡슐화 파일을 제1 디바이스로 송신하는 단계를 포함한다. 위의 해결책은 미디어 파일의 캡슐화 동안 다른 어플리케이션 시나리오 간에 구별하는 데 사용될 수 있다.

Description

미디어 파일 캡슐화 방법, 미디어 파일 캡슐화 해제 방법 및 관련 디바이스
본 출원은 2020년 10월 14일자로 중국 국가 지식재산 관리국에 출원되고 발명의 명칭이 "미디어 파일 캡슐화 방법, 미디어 파일 캡슐화 해제 방법 및 관련 디바이스(MEDIA FILE ENCAPSULATION METHOD, MEDIA FILE DECAPSULATION METHOD, AND RELATED DEVICE)"인 중국 특허 출원 2020110981907호에 대한 우선권을 주장하며, 이는 그 전체가 참조로 본원에 통합된다.
본 출원은 데이터 프로세싱 기술 분야에 관한 것으로, 구체적으로 미디어 파일의 캡슐화 및 캡슐화 해제 기술에 관한 것이다.
몰입형 미디어는 사용자에게 몰입형 경험을 제공할 수 있는 미디어 컨텐츠를 지칭하며, 이는 몰입 미디어로도 지칭될 수 있다. 넓은 의미에서, 오디오 및 비디오 기술을 통해 사용자가 몰입감을 느낄 수 있게 하는 미디어 컨텐츠가 몰입형 미디어이다. 예를 들어, 가상 현실(VR: virtual reality) 헤드셋을 착용한 사용자는 장면에 강한 몰입감을 느낀다.
몰입형 미디어는 다양한 형태로 적용 가능하다. 상이한 어플리케이션 시나리오에서 몰입형 미디어를 캡슐화 해제, 디코딩 및 렌더링할 때, 사용자 측에서 상이한 동작 단계와 프로세싱 기능이 필요하다. 그러나, 관련 기술에서는, 몰입형 미디어에 대응하는 어플리케이션 시나리오가 효과적으로 구분될 수 없으며, 이는 사용자 측에서 몰입형 미디어를 프로세싱하는 어려움을 증가시킨다.
본 개시의 실시예는 미디어 파일의 캡슐화에서 상이한 어플리케이션 시나리오를 구분할 수 있는 미디어 파일 캡슐화 방법, 미디어 파일 캡슐화 해제 방법, 미디어 파일 캡슐화 장치, 미디어 파일 캡슐화 해제 장치, 전자 디바이스 및 컴퓨터-판독 가능 저장 매체를 제공한다.
본 개시의 실시예는 전자 디바이스에 의해 수행되는 미디어 파일 캡슐화 방법을 제공하며, 본 방법은 대응하는 어플리케이션 시나리오에서 타깃 미디어 컨텐츠의 미디어 스트림을 획득하는 단계; 미디어 스트림의 캡슐화 파일을 생성하기 위해 미디어 스트림을 캡슐화하는 단계로서, 캡슐화 파일은 제1 어플리케이션 시나리오 유형 필드를 포함하고, 제1 어플리케이션 시나리오 유형 필드는 미디어 스트림에 대응하는 어플리케이션 시나리오를 나타내기 위해 사용되는, 캡슐화하는 단계; 및 제1 디바이스가 제1 어플리케이션 시나리오 유형 필드에 따라 미디어 스트림에 대응하는 어플리케이션 시나리오를 결정하고 미디어 스트림에 대응하는 어플리케이션 시나리오에 따라 미디어 스트림의 렌더링 방법 및 디코딩 방법 중 적어도 하나를 결정하기 위해 캡슐화 파일을 제1 디바이스로 전송하는 단계를 포함한다.
본 개시의 실시예는 전자 디바이스에 의해 수행되는 미디어 파일 캡슐화 해제 방법을 제공하며, 본 방법은 대응하는 어플리케이션 시나리오에서 타깃 미디어 컨텐츠의 미디어 스트림의 캡슐화 파일을 수신하는 단계로서, 캡슐화 파일은 제1 어플리케이션 시나리오 유형 필드를 포함하고, 제1 어플리케이션 시나리오 유형 필드는 미디어 스트림에 대응하는 어플리케이션 시나리오를 나타내기 위해 사용되는, 수신하는 단계; 제1 어플리케이션 시나리오 유형 필드를 얻기 위해 캡슐화 파일을 캡슐화 해제하는 단계; 제1 어플리케이션 시나리오 유형 필드에 따라 미디어 스트림에 대응하는 어플리케이션 시나리오를 결정하는 단계; 및 미디어 스트림에 대응하는 어플리케이션 시나리오에 따라 미디어 스트림의 렌더링 방법 및 디코딩 방법 중 적어도 하나를 결정하는 단계를 포함한다.
본 개시의 실시예는 미디어 파일 캡슐화 장치를 제공하며, 이는 대응하는 어플리케이션 시나리오에서 타깃 미디어 컨텐츠의 미디어 스트림을 획득하도록 구성된 미디어 스트림 획득 유닛; 미디어 스트림의 캡슐화 파일을 생성하기 위해 미디어 스트림을 캡슐화하도록 구성된 미디어 스트림 캡슐화 유닛으로서, 캡슐화 파일은 제1 어플리케이션 시나리오 유형 필드를 포함하고, 제1 어플리케이션 시나리오 유형 필드는 미디어 스트림에 대응하는 어플리케이션 시나리오를 나타내기 위해 사용되는, 미디어 스트림 캡슐화 유닛; 및 제1 디바이스가 제1 어플리케이션 시나리오 유형 필드에 따라 미디어 스트림에 대응하는 어플리케이션 시나리오를 결정하고 미디어 스트림에 대응하는 어플리케이션 시나리오에 따라 미디어 스트림의 렌더링 방법 및 디코딩 방법 중 적어도 하나를 결정하기 위해 캡슐화 파일을 제1 디바이스로 전송하도록 구성된 캡슐화 파일 전송 유닛을 포함한다.
본 개시의 실시예는 미디어 파일 캡슐화 해제 장치를 제공하며, 이는 대응하는 어플리케이션 시나리오에서 타깃 미디어 컨텐츠의 미디어 스트림의 캡슐화 파일을 수신하도록 구성된 캡슐화 파일 수신 유닛으로서, 캡슐화 파일은 제1 어플리케이션 시나리오 유형 필드를 포함하고, 제1 어플리케이션 시나리오 유형 필드는 미디어 스트림에 대응하는 어플리케이션 시나리오를 나타내기 위해 사용되는, 캡슐화 파일 수신 유닛; 제1 어플리케이션 시나리오 유형 필드를 얻기 위해 캡슐화 파일을 캡슐화 해제하도록 구성된 파일 캡슐화 해제 유닛; 제1 어플리케이션 시나리오 유형 필드에 따라 미디어 스트림에 대응하는 어플리케이션 시나리오를 결정하도록 구성된 어플리케이션 시나리오 획득 유닛; 및 미디어 스트림에 대응하는 어플리케이션 시나리오에 따라 미디어 스트림의 렌더링 방법 및 디코딩 방법 중 적어도 하나를 결정하도록 구성된 디코딩 및 렌더링 결정 유닛을 포함한다.
본 개시의 실시예는 컴퓨터 프로그램을 저장한 컴퓨터-판독 가능 저장 매체를 제공하며, 프로그램은 프로세서에 의해 실행될 때, 상술한 실시예의 미디어 파일 캡슐화 방법 또는 미디어 파일 캡슐화 해제 방법을 구현한다.
본 개시의 실시예는 전자 디바이스를 제공하며, 전자 디바이스는 적어도 하나의 프로세서; 및 적어도 하나의 프로그램을 저장하도록 구성된 저장 장치를 포함하고, 적어도 하나의 프로그램은 적어도 하나의 프로세서에 의해 실행될 때, 적어도 하나의 프로세서로 하여금 상술한 실시예의 미디어 파일 캡슐화 방법 또는 미디어 파일 캡슐화 해제 방법을 구현하게 한다.
본 개시의 실시예는 명령을 포함하는 컴퓨터 프로그램 제품을 제공하며, 명령은 컴퓨터 상에서 실행될 때, 컴퓨터로 하여금 상술한 실시예의 미디어 파일 캡슐화 방법 또는 미디어 파일 캡슐화 해제 방법을 수행하게 한다.
본 개시의 일부 실시예에서 제공되는 기술적 해결책에서, 대응하는 어플리케이션 시나리오에서 미디어 스트림의 캡슐화 파일이 생성될 때, 제1 어플리케이션 시나리오 유형 필드가 캡슐화 파일에서 확장되고, 제1 어플리케이션 시나리오 유형 필드는 미디어 스트림에 대응하는 어플리케이션 시나리오를 나타내기 위해 사용된다. 따라서, 상이한 미디어 스트림에 대응하는 어플리케이션 시나리오는 미디어 파일의 캡슐화에서 구별될 수 있다. 한편, 캡슐화 파일이 제1 디바이스로 전송될 때, 제1 디바이스는 캡슐화 파일의 제1 어플리케이션 시나리오 유형 필드에 따라 미디어 스트림의 어플리케이션 시나리오를 구별할 수 있고, 따라서 어떤 디코딩 방법 또는 렌더링 방법을 미디어 스트림에 대응하는 어플리케이션 시나리오에 따른 미디어 스트림에 대해 채용할지 결정할 수 있으며, 이는 제1 디바이스의 컴퓨팅 능력과 자원을 절약할 수 있다. 반면, 미디어 스트림의 어플리케이션 시나리오는 캡슐화 단계에서 결정될 수 있으므로, 제1 디바이스가 미디어 스트림에 대한 디코딩 능력을 갖지 않더라도, 미디어 스트림이 디코딩될 때까지 대기 없이 미디어 스트림에 대응하는 어플리케이션 시나리오가 결정될 수 있다.
도 1은 3DoF의 개략도이다.
도 2는 3DoF+의 개략도이다.
도 3은 6DoF의 개략도이다.
도 4는 본 개시의 실시예에 따른 미디어 파일 캡슐화 방법의 개략적인 흐름도이다.
도 5는 본 개시의 실시예에 따른 미디어 파일 캡슐화 방법의 개략적인 흐름도이다.
도 6은 본 개시의 실시예에 따른 미디어 파일 캡슐화 방법의 개략적인 흐름도이다.
도 7은 본 개시의 실시예에 따른 6DoF 미디어의 업-다운 스티칭(stitching) 모드의 개략도이다.
도 8은 본 개시의 실시예에 따른 6DoF 미디어의 좌-우 스티칭 모드의 개략도이다.
도 9는 본 개시의 실시예에 따른 6DoF 미디어의 깊이 맵 1/4 해상도 스티칭 모드의 개략적인 흐름도이다.
도 10은 본 개시의 실시예에 따른 미디어 파일 캡슐화 방법의 개략적인 흐름도이다.
도 11은 본 개시의 실시예에 따른 미디어 파일 캡슐화 방법의 개략적인 흐름도이다.
도 12는 본 개시의 실시예에 따른 미디어 파일 캡슐화 방법의 개략적인 흐름도이다.
도 13은 본 개시의 실시예에 따른 제1 멀티-뷰 비디오의 업-다운 스티칭 모드의 개략도이다.
도 14는 본 개시의 실시예에 따른 제2 멀티-뷰 비디오의 업-다운 스티칭 모드의 개략도이다.
도 15는 본 개시의 실시예에 따른 미디어 파일 캡슐화 해제 방법의 개략적인 흐름도이다.
도 16은 본 개시의 실시예에 따른 미디어 파일 캡슐화 장치의 개략적인 블록도이다.
도 17은 본 개시의 실시예에 따른 미디어 파일 캡슐화 해제 장치의 개략적인 블록도이다.
도 18은 본 개시의 실시예를 구현하도록 적응된 전자 디바이스의 개략적인 구조도이다.
이제, 예시적인 구현이 첨부 도면을 참조하여 포괄적으로 설명된다. 그러나, 예시적인 구현은 다양한 형태로 구현될 수 있으며 본원에서 설명되는 예에 한정되는 것으로 이해되지 않을 수 있다. 반대로, 본 구현은 본 개시를 보다 포괄적이고 완전하게 만들고 예시적인 구현의 아이디어를 본 기술 분야의 통상의 기술자에게 포괄적으로 전달하기 위해 제공된다.
또한, 설명된 특징, 구조 또는 특성은 임의의 적절한 방식으로 하나 이상의 실시예에서 조합될 수 있다. 이하의 설명에서, 본 개시의 실시예의 완전한 이해를 제공하기 위해 많은 특정 상세 사항이 제공된다. 그러나, 본 기술 분야의 통상의 기술자는 본 개시의 기술적 해결책이 하나 이상의 특정 상세 사항 없이 구현될 수 있거나, 다른 방법, 구성 요소, 장치 또는 단계를 사용하여 구현될 수 있음을 인지해야 한다. 다른 경우에, 공지된 방법, 장치, 구현 또는 동작은 본 개시의 양태를 모호하게 하는 것을 피하기 위해 상세하게 도시되거나 설명되지 않는다.
첨부된 도면에 도시된 블록도는 단지 기능적 엔티티일 뿐이며 물리적으로 독립적인 엔티티에 반드시 대응하는 것은 아니다. 구체적으로, 이러한 기능적 엔티티는 소프트웨어의 형태로 구현될 수 있거나, 적어도 하나의 하드웨어 모듈 또는 집적 회로에서 구현되거나, 상이한 네트워크 및/또는 프로세서 장치 및/또는 마이크로컨트롤러 장치에서 구현될 수 있다.
첨부된 도면에 도시된 흐름도는 단지 설명을 위한 예일 뿐이며, 반드시 모든 컨텐츠 및 동작/단계를 포함하는 것은 아니며, 반드시 설명된 순서대로 수행되는 것은 아니다. 예를 들어, 일부 동작/단계는 추가로 분할될 수 있는 반면, 일부 동작/단계는 조합되거나 부분적으로 조합될 수 있다. 따라서, 실제 실행 순서는 실제 상황에 따라 다를 수 있다.
먼저, 본 개시의 실시예와 관련된 용어를 설명하면 다음과 같다.
포인트 클라우드: 포인트 클라우드는 공간에 랜덤하게 분포되어 3차원(3D: 3-dimension) 객체 또는 장면의 공간 구조 및 표면 속성을 표현하는 이산 포인트의 세트이다. 포인트 클라우드는 거대한 3D 포인트의 세트이다. 포인트 클라우드의 각각의 포인트는 적어도 3D 위치 정보를 가지고 있으며, 어플리케이션 시나리오에 따라 컬러, 재료 또는 다른 정보(반사율과 같은 추가 속성)를 가질 수도 있다. 일반적으로, 포인트 클라우드의 각각의 포인트는 동일한 수량의 추가 속성을 갖는다. 예를 들어, 레이저 측정 원리에 따라 얻은 포인트 클라우드는 3D 좌표(XYZ)와 레이저 반사율을 포함하며; 사진 측량 원리에 따라 얻은 포인트 클라우드는 3D 좌표(XYZ)와 컬러 정보(RGB)를 포함하고; 레이저 측정 원리와 사진 측량 원리 모두에 따라 얻은 포인트 클라우드는 3D 좌표(XYZ), 레이저 반사율 및 컬러 정보(RGB)를 포함한다.
포인트 클라우드는 용도에 따라 기계 인지 포인트 클라우드와 인간의 눈 인지 포인트 클라우드의 2개의 카테고리로 나눌 수 있다. 예를 들어, 기계 인지 포인트 클라우드는 자율 내비게이션 시스템, 실시간 검사 시스템, 지리 정보 시스템, 비주얼 소팅(sorting) 로봇, 긴급 구조 및 재난 구호 로봇 등에 적용될 수 있다. 예를 들어, 인간의 눈 인지 포인트 클라우드는 디지털 문화 유산, 자유 시점 방송, 3D 몰입형 통신, 3D 몰입형 상호 작용 등에 적용될 수 있다.
포인트 클라우드는 획득 방식에 따라 정적 포인트 클라우드, 동적 포인트 클라우드 및 동적으로 획득된 포인트 클라우드의 3개의 카테고리로 나눌 수 있다. 정적 포인트 클라우드: 객체는 정적이고, 포인트 클라우드를 획득하기 위한 디바이스도 정적이다. 동적 포인트 클라우드: 객체는 이동하고 있지만 포인트 클라우드를 획득하기 위한 디바이스는 정적이다. 동적으로 획득된 포인트 클라우드: 포인트 클라우드를 획득하기 위한 디바이스가 이동하고 있다.
포인트 클라우드 압축(PCC: Point cloud compression): 포인트 클라우드는 대량의 포인트의 세트이다. 이러한 포인트 클라우드 데이터는 많은 저장 메모리를 소비할 뿐만 아니라 전송에 도움이 되지 않는다. 관련 기술에서, 네트워크 계층에서 압축 없이 포인트 클라우드의 직접 전송을 지원하는 이러한 큰 대역폭이 없으므로, 포인트 클라우드를 압축할 필요가 있다.
지오메트리(Geometry)-기반 포인트 클라우드 압축(G-PCC: Geometry-based point cloud compression): G-PCC는 정적 포인트 클라우드 및 동적으로 획득된 포인트 클라우드를 압축하는 데 사용될 수 있으며, 이에 대응하여 얻은 포인트 클라우드 미디어는 지오메트리 특징에 기초하여 압축된 포인트 클라우드 미디어, 줄여서 G-PCC 포인트 클라우드 미디어로 지칭될 수 있다.
비디오-기반 포인트 클라우드 압축(V-PCC: Video-based point cloud compression): V-PCC는 동적 포인트 클라우드를 압축하는 데 사용될 수 있으며, 대응하여 얻은 포인트 클라우드 미디어는 통상의 비디오 인코딩에 기초하여 압축된 포인트 클라우드 미디어, 줄여서 V-PCC 포인트 클라우드 미디어로 지칭될 수 있다.
샘플: 미디어 파일 캡슐화 프로세스의 캡슐화 유닛. 미디어 파일은 복수의 샘플을 포함한다. 예를 들어, 미디어 파일이 비디오 미디어인 경우, 비디오 미디어의 샘플은 일반적으로 비디오 프레임이다.
자유도(DoF: Degree of Freedom): 기계 시스템에서 독립 좌표의 개수를 지칭한다. 병진 DoF 외에, 회전 DoF 및 진동 DoF도 있다. 본 개시의 실시예에서, DoF는 사용자가 시청하는 몰입형 미디어에 의해 지원되는 모션 및 컨텐츠 상호 작용의 자유도를 지칭한다.
3DoF: XYZ 축을 주위의 사용자의 머리 회전을 위한 3개의 자유도. 도 1은 3DoF의 개략도이다. 도 1에 도시된 바와 같이, 특정 위치의 특정 포인트는 3개의 축 모두에서 회전할 수 있으므로, 사용자는 머리를 돌리거나, 머리를 위아래로 움직이거나, 머리를 좌우로 흔들 수 있다. 3DoF 경험을 통해, 사용자는 360 도 장면에 자신을 몰입할 수 있다. 장면이 정적인 경우, 이는 파노라마 사진으로 이해될 수 있다. 파노라마 사진이 동적인 경우, 이는 파노라마 비디오, 즉, VR 비디오이다. 그러나, 3DoF VR 비디오는 특정 한계를 가지며, 즉, 사용자가 움직일 수 없고 시청할 장소를 선택할 수 없다.
3DoF+: 3DoF에 기초하여, 사용자는 또한 제한된 6DoF라고도 칭하는 XYZ 축을 따라 제한된 이동의 DoF를 가지며, 대응하는 미디어 스트림은 3DoF+ 미디어 스트림으로 지칭될 수 있다. 도 2는 3DoF+의 개략도이다.
6DoF: 3DoF에 기초하여, 사용자는 또한 XYZ 축을 따라 자유 이동의 DoF를 가지며, 대응하는 미디어 스트림은 6DoF 미디어 스트림으로 지칭될 수 있다. 도 3은 6DoF의 개략도이다. 6DoF 미디어는 6DoF 비디오를 지칭하며, 이는 비디오가 사용자에게 3D 공간에서 XYZ 방향의 자유로운 이동 시점과 XYX 축 주위의 시점의 자유로운 회전으로 높은 DoF 시청 경험을 제공할 수 있음을 의미한다. 6DoF 미디어는 카메라 어레이에 의해 캡처된 대응하는 공간에서 상이한 뷰로부터의 비디오의 조합이다. 6DoF 미디어의 표현, 저장, 압축 및 프로세싱을 용이하게 하기 위해, 6DoF 미디어 데이터는 이하의 정보의 조합으로 표현된다: 복수의 카메라에 의해 캡처된 텍스처 맵, 멀티-카메라 텍스처 맵에 대응하는 깊이 맵, 및 6DoF 미디어 컨텐츠를 설명하기 위한 대응하는 메타데이터. 메타데이터는 복수의 카메라의 파라미터와 6DoF 미디어의 스티칭 레이아웃(stitching layout) 및 에지 보호의 설명 정보를 포함한다. 인코더 측에서, 멀티-카메라 텍스처 맵 정보와 대응하는 깊이 맵 정보는 스티칭되고, 스티칭에 의해 얻은 설명 데이터가 정의된 신택스(syntax) 및 시맨틱(semantic)에 따라 메타데이터에 기입된다. 스티칭된 멀티-카메라 깊이 맵과 텍스처 맵 정보는 플랫 비디오 압축에 의해 인코딩된 후 디코딩을 위해 단말로 전송되어, 사용자가 요청한 6DoF 가상 시점을 합성함으로써 사용자에게 6DoF 미디어의 시청 경험을 제공한다.
볼류메트릭(Volumetric) 미디어: 예를 들어, 볼류메트릭 비디오를 포함할 수 있는 몰입형 미디어의 유형. 볼류메트릭 비디오는 3D 데이터 표현이다. 현재 주류 인코딩은 2D 비디오 데이터를 기초하므로, 시스템 계층에서 캡슐화 및 전송 전에 인코딩을 위해 원본 볼류메트릭 비디오 데이터는 3D에서 2D로 변환될 필요가 있다. 볼류메트릭 비디오의 컨텐츠를 제시하는 프로세스에서, 최종적으로 제시되는 볼류메트릭 비디오를 표현하기 위해서는 2D 데이터를 3D 데이터로 변환하는 것이 필요하다. 볼류메트릭 비디오가 2D 평면에서 표현되는 방식은 시스템 계층에서 최종 볼류메트릭 비디오의 캡슐화, 전송 및 컨텐츠 표현에 직접적인 영향을 미칠 것이다.
아틀라스(Atlas): 평면 프레임 상의 2D 영역 정보, 3D 표현 공간의 영역 정보, 영역 정보의 두 단편 간의 매핑 관계, 및 매핑에 필요한 필수 파라미터 정보를 나타낸다. 아틀라스는 볼류메트릭 데이터의 3D 공간 영역에 대응하는 패치(patch) 및 관련 정보의 세트를 포함한다. 패치는 아틀라스의 직사각형 영역이며 3D 공간의 볼륨 정보와 연관된다. 볼류메트릭 비디오의 2D 표현의 구성 요소 데이터는 패치를 생성하기 위해 프로세싱된다. 지오메트리 구성 요소 데이터에 표현된 볼류메트릭 비디오의 위치에 따라, 볼류메트릭 비디오의 2D 표현이 위치된 2D 평면 영역은 다른 크기의 복수의 직사각형 영역으로 분할된다. 하나의 직사각형 영역이 하나의 패치이다. 패치는 직사각형 영역을 3D 공간으로 역투영하는 데 필요한 정보를 포함한다. 패치는 아틀라스를 생성하기 위해 패킹(packing)된다. 패치는 2D 메쉬에 넣어지며 각각의 패치의 유효한 부분이 중첩되지 않도록 보장된다. 볼류메트릭 비디오로부터 생성된 패치는 하나 이상의 아틀라스로 패킹될 수 있다. 대응하는 지오메트리 데이터, 속성 데이터 및 플레이스홀더(placeholder) 데이터가 2D 평면 상에 볼류메트릭 비디오의 최종 표현을 생성하기 위해 결합된다. 지오메트리 구성 요소는 필수이며, 플레이스홀더 구성 요소는 조건부이며, 속성 구성 요소는 선택 사항이다.
AVS: 오디오 비디오 코딩 표준(Audio Video Coding Standard).
ISO 기반 미디어 파일 포맷(ISOBMFF): 국제 표준화 기구(ISO: International Standard Organization)의 표준에 기반한 미디어 파일 포맷. ISOBMFF는 미디어 파일에 대한 캡슐화 표준이며, 가장 통상적인 ISOBMFF 파일은 동영상 전문가 그룹 4(MP4: Moving Picture Experts Group 4) 파일이다.
깊이 맵: 3D 장면 정보의 표현으로서, 깊이 맵의 각각의 픽셀의 그레이스케일 값은 장면의 특정 포인트와 카메라 사이의 거리를 나타내는 데 사용될 수 있다.
본 개시의 실시예에서 제공하는 미디어 파일 캡슐화 방법은 임의의 전자 디바이스에 의해 수행될 수 있다. 이하의 예시적인 설명에서, 몰입형 시스템에 적용된 서버에 의해 미디어 파일의 캡슐화가 수행되는 예가 설명되지만, 본 개시는 이에 한정되지 않는다.
도 4는 본 개시의 실시예에 따른 미디어 파일 캡슐화 방법의 개략적인 흐름도이다. 도 4에 도시된 바와 같이, 본 개시의 이 실시예에서 제공되는 방법은 이하의 단계를 포함할 수 있다.
단계 S410. 대응하는 어플리케이션 시나리오에서 타깃 미디어 컨텐츠의 미디어 스트림을 획득한다.
본 개시의 이러한 실시예에서, 타깃 미디어 컨텐츠는 비디오, 오디오 및 이미지 중 임의의 하나 또는 이들의 조합일 수 있다. 이하의 예시적인 설명에서, 설명을 위한 예로서 비디오가 사용되지만, 본 개시는 이에 한정되지 않는다.
본 개시의 이러한 실시예에서, 미디어 스트림은 6DoF 미디어 스트림 및 3DoF+ 미디어 스트림과 같은 3D 공간에서 렌더링될 수 있는 임의의 미디어 스트림을 포함할 수 있다. 이하, 설명을 위한 예로서 6DoF 미디어 스트림을 사용한다. 본 개시의 이러한 실시예에서 제공되는 방법은 6DoF 미디어 컨텐츠 레코딩, 온 디맨드(on demand), 라이브 스트리밍, 통신, 프로그램 편집, 제작 등에 적용될 수 있다.
몰입형 미디어는 사용자가 타깃 미디어 컨텐츠를 소비할 때 지원할 수 있는 DoF에 따라 3DoF 미디어, 3DoF+ 미디어 및 6DoF 미디어로 나눌 수 있다. 6DoF 미디어는 멀티-뷰 비디오와 포인트 클라우드 미디어를 포함할 수 있다.
포인트 클라우드 미디어는 인코딩 방법의 관점에서 V-PCC 포인트 클라우드 미디어와 G-PCC 포인트 클라우드 미디어로 추가로 나눌 수 있다.
멀티-뷰 비디오는 일반적으로 사용자 측에서 소비될 수 있는 6DoF 미디어를 형성하는, 2D 평면 프레임으로부터 3D 표현 공간으로의 매핑 정보와 함께, 장면의 (컬러 정보와 같은) 텍스처 정보를 포함하는 텍스처 맵 및 (공간 거리 정보와 같은) 깊이 정보를 포함하는 깊이 맵을 형성하기 위해 (뷰라고도 칭하는) 복수의 각도로부터의 카메라 어레이에 의해 동일한 장면을 촬영함으로써 얻어진다.
6DoF 미디어는 다양한 형태로 적용될 수 있음을 관련 기술로부터 알 수 있다. 상이한 어플리케이션 시나리오에서 6DoF 미디어를 캡슐화 해제, 디코딩 및 렌더링할 때, 사용자에게 상이한 동작 단계와 프로세싱 능력이 필요하다.
예에서, 멀티-뷰 비디오 및 V-PCC의 인코딩은 동일한 세트의 규칙을 채택하고, G-PCC의 인코딩은 다른 인코딩 표준을 나타내는 다른 세트의 규칙을 채택하고, 이에 대응하여, 디코딩 방법도 상이하다.
다른 예에서, 멀티-뷰 비디오와 V-PCC의 인코딩 표준은 동일하지만, 하나는 이미지를 3D 공간으로 렌더링하는 것이고 다른 하나는 포인트를 3D 공간으로 렌더링하는 것이므로, 약간의 차이가 있다. 또한, 멀티-뷰 비디오는 텍스처 맵과 깊이 맵을 필요로 하고, V-PCC도 이에 추가하여 플레이스홀더 맵을 필요로 할 수 있으며, 이는 또한 차이점이다.
단계 S420. 미디어 스트림의 캡슐화 파일을 생성하기 위해 미디어 스트림을 캡슐화하며, 캡슐화 파일은 제1 어플리케이션 시나리오 유형 필드를 포함하고, 제1 어플리케이션 시나리오 유형 필드는 미디어 스트림에 대응하는 어플리케이션 시나리오를 나타내기 위해 사용된다.
예를 들어, 본 개시의 이러한 실시예에서, 6DoF 미디어의 어플리케이션의 관점에서, 6DoF 미디어의 상이한 어플리케이션 시나리오가 구별될 수 있다.
현재 산업계는 6DoF 미디어를 볼류메트릭 미디어로 정의하고 있기 때문에, 파일 캡슐화 동안 상이한 어플리케이션 시나리오를 구별될 수 없다면 프로세싱 중에 사용자 측에 불필요한 문제가 발생하게 될 것이다. 예를 들어, 미디어 파일에 대응하는 상이한 어플리케이션 시나리오가 캡슐화 동안 구별될 수 없다면, 구별하기 전에 미디어 스트림을 디코딩할 필요가 있다. 한편으로, 이것은 컴퓨팅 리소스의 낭비로 이어진다. 반면, 컨텐츠 전달 네트워크(CDN: content delivery network) 노드와 같은 일부 중간 노드는 디코딩 능력을 갖지 않으므로, 디코딩 실패가 발생할 것이다.
위의 내용에 기초하여, 이러한 상이한 어플리케이션은 상이한 프로세싱 방법을 가지며 구별될 필요가 있다. 파일 캡슐화 동안 어플리케이션 시나리오를 구별하는 이점은 이 정보를 미디어 파일의 매우 높은 레벨에서 얻을 수 있으므로, 컴퓨팅 리소스가 절약될 수 있고, CDN 노드와 같이 디코딩 능력이 없는 일부 중간 노드도 이러한 정보를 얻을 수 있다는 것이다.
단계 S430. 제1 디바이스가 제1 어플리케이션 시나리오 유형 필드에 따라 미디어 스트림에 대응하는 어플리케이션 시나리오를 결정하고, 미디어 스트림의 어플리케이션 시나리오에 따라 미디어 스트림의 렌더링 방법 및 디코딩 방법 중 적어도 하나를 결정하기 위해 캡슐화 파일을 제1 디바이스로 전송한다.
본 개시의 이러한 실시예에서, 제1 디바이스는 임의의 중간 노드일 수 있거나, 미디어 스트림을 소비하는 임의의 사용자 단말일 수 있다. 이것은 본 개시에서 제한되지 않는다.
본 개시의 이러한 실시예에서 제공되는 미디어 파일 캡슐화 방법에서, 대응하는 어플리케이션 시나리오에서 미디어 스트림의 캡슐화 파일이 생성될 때, 캡슐화 파일에서 제1 어플리케이션 시나리오 유형 필드가 확장되고, 제1 어플리케이션 시나리오 유형 필드는 미디어 스트림에 대응하는 어플리케이션 시나리오를 나타내는 데 사용된다. 따라서, 미디어 파일의 캡슐화에서 상이한 미디어 스트림의 상이한 어플리케이션 시나리오가 구별될 수 있다. 한편, 캡슐화 파일이 제1 디바이스로 전송될 때, 제1 디바이스는 캡슐화 파일의 제1 어플리케이션 시나리오 유형 필드에 따라 미디어 스트림의 어플리케이션 시나리오를 구별할 수 있고, 따라서 미디어 스트림에 대응하는 어플리케이션 시나리오에 따라 미디어 스트림에 대해 어떤 디코딩 방법 및/또는 렌더링 방법을 채택할지 결정할 수 있으며, 이는 제1 디바이스의 컴퓨팅 능력 및 리소스를 절약할 수 있다. 다른 한편으로, 미디어 스트림의 어플리케이션 시나리오는 캡슐화 단계에서 결정될 수 있으므로, 제1 디바이스가 미디어 스트림에 대한 디코딩 능력을 갖지 않더라도 미디어 스트림이 디코딩될 때까지 대기 없이 미디어 스트림에 대응하는 어플리케이션 시나리오가 결정될 수 있다.
도 5는 본 개시의 실시예에 따른 미디어 파일 캡슐화 방법의 개략적인 흐름도이다. 도 5에 도시된 바와 같이, 본 개시의 이러한 실시예에서 제공되는 방법은 이하의 단계를 포함할 수 있다.
도 5의 이러한 실시예의 단계 S410은 위의 실시예를 참조할 수 있다.
도 5의 이러한 실시예에서, 도 4의 위의 실시예의 단계 S420은 이하의 단계를 추가로 포함할 수 있다.
단계 S421. 제1 어플리케이션 시나리오 유형 필드를 타깃 미디어 파일 포맷 데이터 박스의 (아래의 볼류메트릭 비주얼 미디어 헤더 박스와 같은) 볼류메트릭 비주얼 미디어 헤더 박스에 추가한다.
본 개시의 이러한 실시예에서, 6DoF 미디어의 어플리케이션 시나리오에 따라 미디어 파일을 대응하여 식별하기 위해, 파일 캡슐화 레벨에서의 필드 확장을 포함하는 몇몇 설명 필드가 시스템 계층에서 추가될 수 있다. 예를 들어, 이하의 예시적인 설명에서, (타깃 미디어 파일 포맷 데이터 박스로서) 확장된 ISOBMFF 데이터 박스가 설명을 위한 예로서 사용되지만, 본 개시는 이에 한정되지 않는다.
단계 S422. 미디어 스트림에 대응하는 어플리케이션 시나리오에 따라 제1 어플리케이션 시나리오 유형 필드의 값을 결정한다.
예시적인 실시예에서, 제1 어플리케이션 시나리오 유형 필드의 값은 이하 중 임의의 하나를 포함할 수 있다: 미디어 스트림이 비대규모 아틀라스 정보를 갖는 멀티-뷰 비디오임을 나타내는 제1 값(예를 들어, "0"); 미디어 스트림이 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오임을 나타내는 제2 값(예를 들어, "1"); 미디어 스트림이 통상의 비디오 인코딩에 기초하여 압축된 포인트 클라우드 미디어임을 나타내는 제3 값(예를 들어, "2"); 및 미디어 스트림이 지오메트리 특징에 기초하여 압축된 포인트 클라우드 미디어임을 나타내는 제4 값(예를 들어, "3").
제1 어플리케이션 시나리오 유형 필드의 값은 위의 어플리케이션 시나리오를 나타내는 것으로 한정되지 않고, 실제 요건에 따라 설정될 수 있는 더 많거나 더 적은 어플리케이션 시나리오를 나타낼 수 있음을 이해해야 한다.
도 5의 이러한 실시예의 단계 S430은 위의 실시예를 참조할 수 있다.
본 개시의 이러한 실시예에서 제공되는 미디어 파일 캡슐화 방법에서, 6DoF 미디어의 상이한 어플리케이션 시나리오를 구별함으로써, 6DoF 미디어를 소비하는 제1 디바이스는 6DoF 미디어의 캡슐화 해제, 디코딩 및 렌더링의 링크에서 타깃으로 된 정책 선택을 수행할 수 있다.
도 6은 본 개시의 실시예에 따른 미디어 파일 캡슐화 방법의 개략적인 흐름도이다. 도 6에 도시된 바와 같이, 본 개시의 이러한 실시예에서 제공되는 방법은 이하의 단계를 포함할 수 있다.
도 6의 이러한 실시예의 단계 S410은 위의 실시예를 참조할 수 있다.
도 6의 이러한 실시예에서, 위의 실시예의 단계 S420은 캡슐화 동안 제1 어플리케이션 시나리오 유형 필드를 통해 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오로서 미디어 스트림을 결정하는 다음 단계 S4221을 추가로 포함할 수 있다.
단계 S4221. 미디어 스트림의 캡슐화 파일을 생성하기 위해 미디어 스트림을 캡슐화하며, 캡슐화 파일은 (아래의 application_type과 같은) 제1 어플리케이션 시나리오 유형 필드를 포함하고, 제1 어플리케이션 시나리오 유형 필드의 값은 미디어 스트림이 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오임을 나타내는 제2 값이다.
2D 평면 프레임으로부터 멀티-뷰 비디오의 3D 표현 공간으로의 의 매핑 정보는 멀티-뷰 비디오의 6DoF 경험을 결정한다. 이러한 매핑 관계를 나타내는 2개의 방법이 있다. 하나의 방법은 2D 평면의 영역을 보다 상세한 방식으로 분할하기 위해 아틀라스를 정의한 다음 이러한 2D 작은 영역과 3D 공간 간의 매핑 관계를 나타낸다. 이를 비대규모 아틀라스 정보라고 칭하며, 대응하는 멀티-뷰 비디오는 비대규모 아틀라스 정보를 갖는 멀티-뷰 비디오이다. 캡처 디바이스의 관점으로부터(설명을 위해 카메라가 예로서 사용됨) 각각의 카메라에 의해 생성된 깊이 맵과 텍스처 맵을 직접 식별하고 각각의 카메라의 파라미터에 따라 2D로부터 3D 공간으로의 대응하는 깊이 맵 및 텍스처 맵의 매핑 관계를 복원하는 다른 방법은 더 조잡하다. 이를 대규모 아틀라스 정보라고 칭하며, 대응하는 멀티-뷰 비디오는 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오이다. 대규모 아틀라스 정보와 비대규모 아틀라스 정보는 상대적이며 특정 크기를 직접적으로 제한하지 않는다는 것이 이해될 수 있다.
카메라 파라미터는 일반적으로 카메라 외인성 및 내인성으로 구분된다. 외인성은 일반적으로 카메라 촬영의 위치 및 각도와 같은 정보를 포함한다. 내인성은 일반적으로 카메라의 광학 중심 위치 및 초점 거리와 같은 정보를 포함한다.
6DoF 미디어에서 멀티-뷰 비디오는 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오와 비대규모 아틀라스 정보를 갖는 멀티-뷰 비디오를 추가로 포함할 수 있으며, 즉, 6DoF 미디어는 다양한 형태로 적용 가능하다. 상이한 어플리케이션 시나리오에서 6DoF 미디어를 캡슐화 해제, 디코딩 및 렌더링할 때, 사용자에게 상이한 동작 단계와 프로세싱 능력이 필요하다.
예를 들어, 대규모 아틀라스 정보와 비대규모 아틀라스 정보는 2D 영역으로부터 3D 공간으로 매핑 및 렌더링의 입도가 다르다. 대규모 아틀라스 정보가 3D 공간에 매핑된 6개 단편의 2D 퍼즐이라고 가정하면, 비대규모 아틀라스 정보는 3D 공간에 매핑된 60개 단편의 퍼즐일 수 있다. 그러면, 2개의 매핑 알고리즘의 복잡성이 확실히 다르며, 대규모 지도 정보에 대한 알고리즘은 비대규모 아틀라스 정보에 대한 알고리즘보다 간단하다.
특히, 멀티-뷰 비디오의 경우, 2D 영역으로부터 3D 공간으로의 매핑 관계가 카메라 파라미터로부터 얻어진다면, 즉, 멀티-뷰 비디오가 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오라면, 캡슐화된 파일에서 2D 영역으로부터 3D 공간으로의 더 작은 매핑 관계를 정의할 필요가 없다.
미디어 스트림이 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오인 경우, 본 방법은 이하의 단계를 추가로 포함할 수 있다.
단계 S601. 미디어 스트림이 단일 트랙에 따라 캡슐화되는 경우, 타깃 미디어 포맷 데이터 박스의 (본 개시가 이에 한정되지는 않지만, 아래의 V3CbitstreamSampleEntry와 같은) 비트스트림 샘플 엔트리에 (아래의 large_scale_atlas_flag와 같은) 대규모 아틀라스 플래그를 추가한다.
단계 S602. 대규모 아틀라스 플래그가 미디어 스트림이 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오임을 나타내는 경우, 미디어 스트림을 캡처하기 위한 (아래의 camera_count와 같은) 카메라의 수량 식별자와 미디어 스트림의 현재 파일에 포함된 (아래의 camera_count_contained와 같은) 카메라에 대응하는 뷰의 수량 식별자를 비트스트림 샘플 엔트리에 추가한다.
단계 S603. 현재 파일에 포함된 (아래의 camera_resolution_x 및 camera_resolution_y와 같은) 카메라에 대응하는 뷰로부터 캡처된 텍스처 맵 및 깊이 맵의 해상도를 비트스트림 샘플 엔트리에 추가한다.
추가로 도 6을 참조하면, 본 방법은 이하의 단계 S604 내지 S607 중 적어도 하나를 추가로 포함한다.
단계 S604. 현재 파일에 포함된 카메라에 대응하는 뷰로부터 캡처된 (아래의 depth_downsample_factor와 같은) 깊이 맵의 다운샘플링 팩터를 비트스트림 샘플 엔트리에 추가한다.
단계 S605. 대규모 아틀라스 정보의 평면 프레임의 원점에 대해 현재 파일에 포함된 카메라에 대응하는 뷰로부터 캡처된 (아래의 texture_vetex_x 및 texture_vetex_y와 같은) 텍스처 맵의 왼쪽 상부 정점의 오프셋을 비트스트림 샘플 엔트리에 추가한다.
단계 S606. 대규모 아틀라스 정보의 평면 프레임의 원점에 대해 현재 파일에 포함된 카메라에 대응하는 뷰로부터 캡처된 (아래의 depth_vetex_x 및 depth_vetex_y와 같은) 텍스처 맵의 좌측 상부 정점의 오프셋을 비트스트림 샘플 엔트리에 추가한다.
단계 S607. 현재 파일에 포함된 카메라에 대응하는 뷰로부터 캡처된 (아래의 padding_size_texture 및 padding_size_depth와 같은) 텍스처 맵 및 깊이 맵의 패딩 크기를 비트스트림 샘플 엔트리에 추가한다.
본 개시의 이러한 실시예에서, padding_size_texture 및 padding_size_depth는 각각의 텍스처 맵 및 깊이 맵의 에지 보호 영역의 크기를 정의하여, 스티칭된 이미지의 압축을 위한 에지 급격-변화 영역을 보호한다. padding_size_texture 및 padding_size_depth의 값은 텍스처 맵과 깊이 맵의 가장자리 보호 영역의 폭을 나타낸다. padding_size_texture 및 padding_size_depth가 0과 같은 경우는 에지 보호가 없음을 나타낸다.
도 6을 추가로 참조하면, 미디어 스트림이 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오인 경우, 본 방법은 이하의 단계를 추가로 포함할 수 있다.
단계 S608. 미디어 스트림이 복수의 트랙에 따라 캡슐화되는 경우, 타깃 미디어 파일 포맷 데이터 박스의 샘플 엔트리에 대규모 아틀라스 플래그를 추가한다.
단계 S609. 대규모 아틀라스 플래그가 미디어 스트림이 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오임을 나타내는 경우, 미디어 스트림을 캡처하기 위한 카메라의 수량 식별자와 미디어 스트림의 현재 파일에 포함된 카메라에 대응하는 뷰의 수량 식별자를 샘플 엔트리에 추가한다.
단계 S610. 현재 파일에 포함된 카메라에 대응하는 뷰로부터 캡처된 텍스처 맵 및 깊이 맵의 해상도를 샘플 엔트리에 추가한다.
도 6을 추가로 참조하면, 본 방법은 이하의 단계 S611 내지 S614 중 적어도 하나를 추가로 포함한다.
단계 S611. 현재 파일에 포함된 카메라에 대응하는 뷰로부터 캡처된 깊이 맵의 다운샘플링 팩터를 샘플 엔트리에 추가한다.
단계 S612. 대규모 아틀라스 정보의 평면 프레임의 원점에 대해 현재 파일에 포함된 카메라에 대응하는 뷰로부터 캡처된 텍스처 맵의 좌측 상부 정점의 오프셋을 샘플 엔트리에 추가한다.
단계 S613. 대규모 아틀라스 정보의 평면 프레임의 원점에 대해 현재 파일에 포함된 카메라에 대응하는 뷰로부터 캡처된 깊이 맵의 좌측 상부 정점의 오프셋을 샘플 엔트리에 추가한다.
단계 S614. 현재 파일에 포함된 카메라에 대응하는 뷰로부터 캡처된 텍스처 맵과 깊이 맵의 패딩 크기를 샘플 엔트리에 추가한다.
도 6의 이러한 실시예의 단계 S430은 위의 실시예를 참조할 수 있다.
본 개시의 이러한 실시예에서, six_dof_stitching_layout 필드는 6DoF 미디어의 텍스처 맵과 깊이 맵의 스티칭 레이아웃을 식별하기 위해 사용되는, 6DoF 미디어의 카메라에 대응하는 뷰로부터 캡처된 깊이 맵 및 텍스처 맵의 스티칭 방법을 나타내는 데 사용될 수 있다. 구체적인 값은 표 1에 나타내어질 수 있다.
6DoF 미디어의 스티칭 레이아웃
six_dof_stitching_layout의 값 6DoF 미디어의 스티칭 레이아웃
0 깊이 맵 및 텍스처 맵의 업-다운 스티칭
1 깊이 맵 및 텍스처 맵의 좌-우 스티칭
2 깊이 맵 1/4 다운샘플링 스티칭
기타 예약
도 7은 본 개시의 실시예에 따른 6DoF 미디어의 업-다운 스티칭 모드의 개략도이다.
Six_dof_stitching_layout의 값이 0일 때, 6DoF 미디어의 스티칭 모드는 업-다운 스티칭이다. 도 7에 도시된 바와 같이, 업-다운 스티칭 모드에서 (도 7의 뷰 1 텍스처 맵, 뷰 2 텍스처 맵, 뷰 3 텍스처 맵, 뷰 4 텍스처 맵과 같은) 복수의 카메라에 의해 캡처된 텍스처 맵은 이미지 위에 시퀀스로 배열되고, (도 7의 뷰 1 깊이 맵, 뷰 2 깊이 맵, 뷰 3 깊이 맵 및 뷰 4 깊이 맵과 같은) 대응하는 깊이 맵은 이미지 아래에 시퀀스로 배열된다.
스티칭 후의 6DoF 미디어의 해상도가 nWidth×nHeight로 설정되고, 재구성 모듈은 복수의 카메라의 텍스처 맵 및 깊이 맵의 정보를 사용하여 6DoF 미디어를 추가로 재구성하기 위해, camera_resolution_x 및 camera_resolution_y의 값을 사용하여 대응하는 카메라의 텍스처 맵 및 깊이 맵의 레이아웃 위치를 계산할 수 있다.
도 8은 본 개시의 실시예에 따른 6DoF 미디어의 좌-우 스티칭 모드의 개략도이다.
six_dof_stitching_layout의 값이 1일 때, 6DoF 미디어의 스티칭 모드는 좌-우 스티칭이다. 도 8에 도시된 바와 같이, 좌-우 스티칭 모드에서 (도 8의 뷰 1 텍스처 맵, 뷰 2 텍스처 맵, 뷰 3 텍스처 맵 및 뷰 4 텍스처 맵과 같은) 복수의 카메라에 의해 캡처된 텍스처 맵은 이미지의 좌측 상에 시퀀스로 배열되고, (도 8의 뷰 1 깊이 맵, 뷰 2 깊이 맵, 뷰 3 깊이 맵 및 뷰 4 깊이 맵과 같은) 대응하는 깊이 맵이 이미지 우측 상에 시퀀스로 배열된다.
도 9는 본 개시의 실시예에 따른 6DoF 미디어의 깊이 맵 1/4 해상도 스티칭 모드의 개략적인 흐름도이다.
six_dof_stitching_layout의 값이 2일 때, 6DoF 미디어의 스티칭 모드는 깊이 맵 1/4 다운샘플링 스티칭이다. 도 9에 도시된 바와 같이, 깊이 맵 1/4 다운샘플링 스티칭 모드에서, 1/4 해상도로 다운샘플링된 후, (도 9의 뷰 1 깊이 맵, 뷰 2 깊이 맵, 뷰 3 깊이 맵 및 뷰 4 깊이 맵과 같은) 깊이 맵은 (도 9의 뷰 1 텍스처 맵, 뷰 2 텍스처 맵, 뷰 3 텍스처 맵 및 뷰 4 텍스처 맵과 같은) 텍스처 맵의 우측 하부에 스티칭된다. 깊이 맵의 스티칭이 최종 스티칭된 이미지의 직사각형 영역을 채울 수 없는 경우, 나머지 부분은 빈 이미지로 채워진다.
본 개시의 이러한 실시예에서 제공되는 미디어 파일 캡슐화 방법은 6DoF 미디어의 상이한 어플리케이션 시나리오를 구별할 수 있을 뿐만 아니라, 6DoF 미디어를 소비하는 제1 디바이스가 6DoF 미디어의 캡슐화 해제, 디코딩 및 렌더링의 링크에서 타깃으로 된 정책 선택을 수행할 수 있게 한다. 또한, 6DoF 미디어의 멀티-뷰 비디오의 어플리케이션에 있어서, 파일 캡슐화에서 멀티-뷰 비디오의 깊이 맵과 텍스처 맵에 관련된 정보를 나타내기 위해 방법이 제공되어, 멀티-뷰 비디오의 상이한 뷰로부터의 깊이 맵 및 텍스처 맵의 캡슐화 및 조합이 보다 유연하다.
예시적인 실시예에서, 본 방법은 타깃 미디어 컨텐츠의 타깃 설명 파일을 생성하는 단계로서, 타깃 설명 파일은 제2 어플리케이션 시나리오 유형 필드를 포함하고, 제2 어플리케이션 시나리오 유형 필드는 미디어 스트림에 대응하는 어플리케이션 시나리오를 나타내기 위해 사용되는, 생성하는 단계; 및 제1 디바이스가 제2 어플리케이션 시나리오 유형 필드에 따라 미디어 스트림의 캡슐화 파일로부터 타깃 미디어 스트림에 대응하는 타깃 캡슐화 파일을 결정하기 위해 타깃 설명 파일을 제1 디바이스로 전송하는 단계를 추가로 포함할 수 있다.
대응하여, 제1 디바이스가 제1 어플리케이션 시나리오 유형 필드에 따라 미디어 스트림에 대응하는 어플리케이션 시나리오를 결정하기 위해 캡슐화 파일을 제1 디바이스로 전송하는 단계는 제1 디바이스가 타깃 캡슐화 파일의 제1 어플리케이션 시나리오 유형 필드에 따라 타깃 미디어 스트림에 대응하는 타깃 어플리케이션 시나리오를 결정하기 위해 제1 디바이스로 타깃 캡슐화 파일을 전송하는 단계를 포함할 수 있다.
도 10은 본 개시의 실시예에 따른 미디어 파일 캡슐화 방법의 개략적인 흐름도이다. 도 10에 도시된 바와 같이, 본 개시의 이러한 실시예에서 제공되는 방법은 이하의 단계를 포함할 수 있다.
도 10의 이 실시예의 단계 S410 내지 S420은 위의 실시예를 참조할 수 있으며, 이하의 단계를 추가로 포함할 수 있다.
단계 S1010. 타깃 미디어 컨텐츠의 타깃 설명 파일을 생성하고, 타깃 설명 파일은 (아래의 v3cAppType과 같은) 제2 어플리케이션 시나리오 유형 필드를 포함하고, 제2 어플리케이션 시나리오 유형 필드는 미디어 스트림에 대응하는 어플리케이션 시나리오를 나타낸다.
본 개시의 이러한 실시예에서, 몇몇 설명 필드가 시스템 계층에 추가된다. 파일 캡슐화 레벨에서의 필드 확장에 추가하여, 시그널링 전송 레벨에서의 필드도 확장될 수 있다. 이하의 실시예에서, HTTP를 통한 동적 적응 스트리밍 지원(DASH: dynamic adaptive streaming over HTTP) 미디어 표현 설명(MPD: media presentation description) 시그널링(타깃 설명 파일으로서)의 형태가 설명을 위한 예로서 사용되며, 6DoF 미디어의 어플리케이션 시나리오 유형의 표시와 대규모 아틀라스의 표시가 정의된다.
단계 S1020. 제1 디바이스가 제2 어플리케이션 시나리오 유형 필드에 따라 미디어 스트림의 캡슐화 파일로부터 타깃 미디어 스트림의 타깃 캡슐화 파일을 결정하기 위해 타깃 설명 파일을 제1 디바이스로 전송한다.
단계 S1030. 제1 디바이스가 타깃 캡슐화 파일의 제1 어플리케이션 시나리오 유형 필드에 따라 타깃 미디어 스트림의 타깃 어플리케이션 시나리오를 결정하기 위해 타깃 캡슐화 파일을 제1 디바이스로 전송한다.
본 개시의 이러한 실시예에서 제공되는 미디어 파일 캡슐화 방법은 제1 어플리케이션 시나리오 유형 필드를 통해 캡슐화 파일의 미디어 스트림에 대응하는 어플리케이션 시나리오를 식별할 수 있을 뿐만 아니라, 제2 어플리케이션 시나리오 유형 필드를 통해 타깃 설명 파일의 미디어 스트림에 대응하는 어플리케이션 시나리오도 식별할 수 있다. 이 경우, 제1 디바이스는 서버 측으로부터 대응하는 타깃 미디어 스트림을 요청하기 위해 타깃 설명 파일의 제2 어플리케이션 시나리오 유형 필드에 따라 필요한 미디어 스트림을 먼저 결정할 수 있으며, 이에 의해 데이터 전송을 줄이고 요청된 타깃 미디어 스트림이 제1 디바이스의 실제 능력과 매칭될 수 있도록 보장한다. 요청된 타깃 미디어 스트림을 수신한 후, 제1 디바이스는 캡슐화 파일의 제1 어플리케이션 시나리오 유형 필드에 따라 타깃 미디어 스트림의 타깃 어플리케이션 시나리오를 추가로 결정하여 필요한 디코딩 및 렌더링 방법을 획득하여 컴퓨팅 리소스를 줄일 수 있다.
도 11은 본 개시의 실시예에 따른 미디어 파일 캡슐화 방법의 개략적인 흐름도이다. 도 11에 도시된 바와 같이, 본 개시의 이러한 실시예에서 제공되는 방법은 이하의 단계를 포함할 수 있다.
도 11의 이 실시예에서 단계 S410 내지 S420은 상술한 실시예를 참조할 수 있다.
도 11의 이 실시예에서, 도 10의 위의 실시예의 단계 S1010은 이하의 단계를 추가로 포함할 수 있다.
단계 S1011. 타깃 미디어 컨텐츠의 하이퍼텍스트 전송 프로토콜을 통한 동적 적응 스트리밍(DASH)을 지원하는 타깃 설명 파일에 제2 어플리케이션 시나리오 유형 필드를 추가한다.
단계 S1012. 미디어 스트림에 대응하는 어플리케이션 시나리오에 따라 제2 어플리케이션 시나리오 유형 필드의 값을 결정한다.
도 11의 이 실시예에서 단계 S1020 및 S1030은 위의 실시예를 참조할 수 있다.
본 개시의 이러한 실시예에서 제공되는 미디어 파일 캡슐화 방법이 아래에서 설명된다. 예로서 6DoF 미디어를 사용하여, 본 개시의 이 실시예에서 제공되는 방법은 6DoF 미디어의 어플리케이션 시나리오의 표시에 적용될 수 있고 이하의 단계를 포함할 수 있다.
1. 6DoF 미디어의 어플리케이션 시나리오에 따라 미디어 파일을 대응하여 식별한다.
2. 특히, 멀티-뷰 비디오의 경우, 2D 평면 프레임으로부터 3D 공간으로의 매핑 여부의 결정이 캡처용 카메라의 출력을 단위로 사용하여 수행된다. 즉, 2D 평면 프레임으로부터 3D 공간으로의 매핑은 단위로서 각각의 카메라에 의해 캡처된 텍스처 맵과 깊이 맵을 사용하여 수행되며, 이를 대규모 아틀라스 정보라고 칭한다. 각각의 카메라가 캡처한 텍스처 맵과 깊이 맵을 추가로 미세하게 분할할 필요가 있는 경우, 3D 공간으로 분할한 후 2D 작은 영역의 세트를 나타내는 매핑을 비대규모 아틀라스 정보라고 칭한다.
3. 2D 평면 프레임으로부터 3D 공간으로의 멀티-뷰 비디오의 매핑이 캡처용 카메라의 출력을 단위로서 사용하여 수행되면, 캡처를 위해 다른 카메라에 의해 출력되는 관련 정보가 캡슐화 파일에 표시된다.
이 실시예에서, 본 개시의 이러한 실시예의 위의 단계를 지원하기 위해, 파일 캡슐화 레벨에서의 필드 확장 및 시그널링 전송 레벨에서의 필드 확장을 포함하여, 시스템 계층에서 몇몇 설명 필드가 추가될 수 있다. 확장된 ISOBMFF 데이터 박스와 DASH MPD 시그널링의 형태를 예로 사용하여, 이하는 6DoF 미디어의 어플리케이션 유형 표시 및 대규모 아틀라스 표시를 정의하며, 구체적으로 이하와 같다(확장은 이탤릭체로 식별).
1. ISOBMFF 데이터 박스 확장
이 섹션에서 사용된 수학 연산자 및 서열은 C 프로그래밍 언어를 참조한다. 달리 지정하지 않는 한, 통상의 넘버링 및 카운팅은 0부터 시작한다.
aligned(8) class VolumetricVisualMediaHeaderBox
extends FullBox('vvhd', version = 0, 1) {
unsigned int(8) application_type;//8-비트 부호 없는 정수의 제1 어플리케이션 시나리오 유형 필드}
aligned(8) class V3CBitstreamSampleEntry() extends VolumetricVisualSampleEntry ('v3e1') { //6DoF 미디어가 단일 트랙 또는 복수의 트랙에 따라 캡슐화될 수 있으므로, 이 구조는 단일 트랙에 따른 경우에 대응함.
V3CConfigurationBox config;
unsigned int(1) large_scale_atlas_flag;
bit(7) reserved; //예약된 필드, 일반적인 필드는 바이트의 정수일 필요가 있어, 예약된 비트가 보충을 위해 필요함.
if(large_scale_atlas_flag == 1){//대규모 아틀라스 정보를 갖는 멀티-뷰 비디오로서 나타냄
unsigned int(8) camera_count;
unsigned int(8) camera_count_contained;
unsigned int(8) padding_size_depth;
unsigned int(8) padding_size_texture;
for(i=0; i<camera_count_contained; i++){
unsigned int(8) camera_id;
float(32) camera_resolution_x;// 플로트(32)는 특정 값의 32개의 연속 바이너리 비트를 나타냄
float(32) camera_resolution_y;
unsigned int(8) depth_downsample_factor;
unsigned int(32) texture_vetex_x;
unsigned int(32) texture_vetex_y;
unsigned int(32) depth_vetex_x;
unsigned int(32) depth_vetex_y;
}
}
}
aligned(8) class V3CSampleEntry() extends VolumetricVisualSampleEntry ('v3c1') { //이 구조는 복수의 트랙에 따른 경우에 대응함.
V3CConfigurationBox config;
V3CUnitHeaderBox unit_header;
unsigned int(1) large_scale_atlas_flag;
bit(7) reserved;
if(large_scale_atlas_flag == 1){
unsigned int(8) camera_count;
unsigned int(8) camera_count_contained;
unsigned int(8) padding_size_depth;
unsigned int(8) padding_size_texture;
for(i=0; i<camera_count_contained; i++){
unsigned int(8) camera_id;
float(32) camera_resolution_x;
float(32) camera_resolution_y;
unsigned int(8) depth_downsample_factor;
unsigned int(32) texture_vetex_x;
unsigned int(32) texture_vetex_y;
unsigned int(32) depth_vetex_x;
unsigned int(32) depth_vetex_y;
}
}
}
본 개시의 이러한 실시예에서, 제1 어플리케이션 시나리오 유형 필드 application_type은 6DoF 미디어의 어플리케이션 시나리오 유형을 나타내며, 특정 값은 표 2에 나타낸 컨텐츠를 포함하지만 이에 한정되지 않는다:
시맨틱
0 멀티-뷰 비디오(비대규모 아틀라스 정보)
1 멀티-뷰 비디오(대규모 아틀라스 정보)
2 V-PCC 포인트 클라우드 미디어
3 G-PCC 포인트 클라우드 미디어
large_scale_atlas_flag는 아틀라스 정보가 대규모 아틀라스 정보인지, 즉, 카메라 파라미터와 같은 관련 정보를 통해서만 아틀라스 정보를 얻을 수 있는지 여부를 나타낸다. 1과 같은 large_scale_atlas_flag는 멀티-뷰 비디오(대규모 아틀라스 정보)를 나타내고, 0과 같은 large_scale_atlas_flag는 멀티-뷰 비디오(비대규모 아틀라스 정보)를 나타낸다고 가정한다.
표 2로부터 제1 어플리케이션 시나리오 유형 필드 application_type은 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오를 이미 나타낼 수 있음을 알 수 있다. application_type의 표시가 상대적으로 높다는 점을 고려하여 파싱을 용이하게 하기 위해 large_scale_atlas_flag를 추가한다. 하나만 사용하면 충분하지만 어떤 필드가 사용될지 확실하지 않기 때문에 여기의 정보는 리던던트(redundant)이다.
camera_count는 미디어 스트림을 캡처하기 위한 카메라의 수량 식별자라고 칭하는, 6DoF 미디어를 캡처하기 위한 모든 카메라의 수량을 나타내는 데 사용된다. camera_number의 값은 1 내지 255이다. camera_count_contained는 현재 파일에 포함된 카메라에 대응하는 뷰의 수량 식별자라고 칭하는, 6DoF 미디어의 현재 파일에 포함된 카메라에 대응하는 뷰의 수량을 나타내는 데 사용된다.
padding_size_depth는 깊이 맵의 패딩 크기를 나타낸다. padding_size_texture는 텍스처 맵의 패딩 크기를 나타낸다. 비디오 인코딩 중에, 비디오 인코딩의 결함 허용 오차를 개선하기 위해 일부 보호가 일반적으로 추가된다. 즉, 일부 추가 픽셀이 이미지 프레임의 에지에 채워진다.
camera_id는 각각의 뷰에 대응하는 카메라 식별자를 나타낸다. camera_resolution_x 및 camera_resolution_y는 카메라가 캡처한 텍스처 맵 및 깊이 맵의 해상도의 폭과 높이를 나타내며, 각각 대응하는 카메라가 X 및 Y 방향으로 캡처한 해상도를 나타낸다. depth_downsample_factor는 대응하는 깊이 맵의 다운샘플링 팩터를 나타낸다. 깊이 맵의 실제 해상도의 폭과 높이는 카메라가 캡처한 해상도의 폭과 높이의
Figure pct00001
이다.
depth_vetex_x 및 depth_vetex_y는 각각 평면 프레임의 원점(평면 프레임의 좌측 상부 정점)에 대한 대응하는 깊이 맵의 좌측 상부 정점의 오프셋에서 X 및 Y 성분 값을 나타낸다.
texture_vetex_x 및 texture_vetex_y는 각각 평면 프레임의 원점(평면 프레임의 좌측 상부 정점)에 대한 대응하는 텍스처 맵의 좌측 상부 정점의 오프셋에서 X 및 Y 성분 값을 나타낸다.
2. DASH MPD 시그널링 확장
제2 어플리케이션 시나리오 유형 필드 v3cAppType은 표 3에 나타낸 DASH MPD 시그널링에서 확장될 수 있다.
표현 요소의 시맨틱
요소 또는 속성 이름 사용 설명
표현 M 이 요소는 표현의 설명을 포함한다.
@id M 주기 내의 이러한 표현에 대한 고유 식별자. 스트링은 RFC 1738에 따른 유효한 HTTP-URL을 형성하는 것을 허용하는 문자만을 포함할 것이다.
@bandwidth M 임의의 RAP에서 표현에 액세스할 때 정확하게 @minBufferTime에 대해 버퍼링 후에 클라이언트가 연속적인 플레이아웃을 위해 충분한 데이터를 갖도록 보장될 수 있도록 표현(즉, 표현의 모든 세그먼트의 집합)이 연속적으로 전달될 수 있는 초 당 비트(bps)에서 가상의 일정한 비트레이트 채널의 최소 대역폭.
@v3cAppType O 필드는 각각 멀티-뷰 비디오(비대규모 아틀라스 정보), 멀티-뷰 비디오(대규모 아틀라스 정보), V-PCC 포인트 클라우드 미디어 및 G-PCC 포인트 클라우드 미디어에 대응하는 0 내지 3의 범위의 현재 표현의 어플리케이션 시나리오 유형을 나타냄.
...... ...... ......
도 7의 실시예에 대응하여, 하나의 멀티-뷰 비디오 A가 서버 측 상에 있고, 멀티-뷰 비디오 A의 아틀라스 정보가 대규모 아틀라스 정보인 것으로 가정한다.
이 경우: application_type=1;
large_scale_atlas_flag=1: camera_count=4; camera_count_contained=4;
padding_size_depth=0; padding_size_texture=0;
{camera_id=1; camera_resolution_x=100; camera_resolution_y=100;
depth_downsample_factor=0; texture_vetex =(0,0); depth_vetex = )0,200) }//뷰 1 텍스처 맵 및 뷰 1 깊이 맵
{camera_id=2; camera_resolution_x=100; camera_resolution_y=100;
depth_downsample_factor=0; texture_vetex =(100,0); depth_vetex = )100,200) }//뷰 2 텍스처 맵 및 뷰 2 깊이 맵
{camera_id=3; camera_resolution_x=100; camera_resolution_y=100;
depth_downsample_factor=0; texture_vetex =(0,100); depth_vetex = )0,300) }//뷰 3 텍스처 맵 및 뷰 3 깊이 맵
{camera_id=4; camera_resolution_x=100; camera_resolution_y=100;
depth_downsample_factor=0; texture_vetex =(100,100); depth_vetex = )100,300) }//뷰 4 텍스처 맵 및 뷰 4 깊이 맵
위의 시스템 설명은 도 7의 평면 프레임의 각 영역의 데이터 구조에 대응한다.
도 8의 실시예에 대응하여, 하나의 멀티-뷰 비디오 A가 서버 측 상에 있고, 멀티-뷰 비디오 A의 아틀라스 정보는 대규모 아틀라스 정보인 것으로 가정한다.
이 경우: application_type=1;
large_scale_atlas_flag=1: camera_count=4; camera_count_contained=4;
padding_size_depth=0; padding_size_texture=0;
{camera_id=1; camera_resolution_x=100; camera_resolution_y=100;
depth_downsample_factor=0; texture_vetex =(0,0); depth_vetex = (200,0) }
{camera_id=2; camera_resolution_x=100; camera_resolution_y=100;
depth_downsample_factor=0; texture_vetex =(100,0); depth_vetex = (300,0) }
{camera_id=3; camera_resolution_x=100; camera_resolution_y=100;
depth_downsample_factor=0; texture_vetex =(0,100); depth_vetex = (200,100) }
{camera_id=4; camera_resolution_x=100; camera_resolution_y=100;
depth_downsample_factor=0; texture_vetex =(100,100); depth_vetex = (300,100) }
위의 시스템 설명은 도 8의 평면 프레임의 각 영역의 데이터 구조에 대응한다.
도 9의 실시예에 대응하여, 하나의 멀티-뷰 비디오 A가 서버 측 상에 있고, 멀티-뷰 비디오 A의 아틀라스 정보는 대규모 아틀라스 정보인 것으로 가정한다.
이 경우: application_type=1;
large_scale_atlas_flag=1: camera_count=4; camera_count_contained=4;
padding_size_depth=0; padding_size_texture=0;
{camera_id=1; camera_resolution_x=100; camera_resolution_y=100;
depth_downsample_factor=1; texture_vetex =(0,0); depth_vetex = (0,200) }
{camera_id=2; camera_resolution_x=100; camera_resolution_y=100;
depth_downsample_factor=1; texture_vetex =(100,0); depth_vetex = (50,200) }
{camera_id=3; camera_resolution_x=100; camera_resolution_y=100;
depth_downsample_factor=1; texture_vetex =(0,100); depth_vetex = (100,200) }
{camera_id=4; camera_resolution_x=100; camera_resolution_y=100;
depth_downsample_factor=1; texture_vetex =(100,100); depth_vetex = (150,200) }
위의 시스템 설명은 도 9의 평면 프레임의 각 영역의 데이터 구조에 대응한다.
padding_size_depth 및 padding_size_texture에 대한 절대값 범위는 없으며, 다른 값은 본 개시의 이러한 실시예에서 제공되는 방법에 영향을 미치지 않는다. 이러한 해결책은 padding_size_depth 및 padding_size_texture의 크기만을 나타낸다. padding_size_depth 및 padding_size_texture의 크기가 이와 같은 이유에 대해, 인코딩 알고리즘에 의해 결정되며, 본 개시의 이러한 실시예에서 제공되는 방법과 무관하다.
camera_resolution_x 및 camera_resolution_y는 각 카메라의 해상도인 깊이 맵의 실제 해상도의 폭과 높이를 계산하는 데 사용된다. 멀티-뷰 비디오는 복수의 카메라에 의해 촬영되며, 상이한 카메라의 해상도는 다를 수 있다. 모든 뷰의 해상도의 폭과 높이는 단지 예시의 편의를 위해 100 픽셀로 설정되며, 실제로는 이에 한정되는 것은 아니다.
위의 조합으로 한정되지 않고, 본 개시의 이러한 실시예에서 제공되는 방법은 임의의 조합에 대응하는 표시를 제공할 수 있다는 것을 이해할 수 있다.
서버 측에 의해 전송된 멀티-뷰 비디오의 캡슐화 파일을 수신한 후, 제1 디바이스 상에 설치된 클라이언트는 캡슐화 파일의 대응하는 필드를 파싱하여 멀티-뷰 비디오의 평면 프레임 영역을 상이한 카메라의 텍스처 맵 및 깊이 맵에 매핑하고; 멀티-뷰 비디오의 미디어 스트림의 카메라 파라미터 정보를 파싱하여 멀티-뷰 비디오를 소비하기 위해 평면 프레임의 영역을 3D 렌더링 표현 영역으로 복원한다.
도 10의 위의 실시예에 대응하여 이하의 설명이 이루어진다. 동일한 타깃 미디어 컨텐츠에 대해, 각각 멀티-뷰 비디오 A(대규모 아틀라스 정보), V-PCC 포인트 클라우드 미디어 B, 및 G-PCC 포인트 클라우드 미디어 C의 3개의 다른 형태의 6DoF 미디어가 서버 측 상에 있다고 가정하며, 3개의 미디어 스트림을 캡슐화할 때, 서버 측은 대응하는 값을 VolumetricVisualMediaHeaderBox의 application_type 필드에 할당한다. 구체적으로, 멀티-뷰 비디오 A: application_type=1; V-PCC 포인트 클라우드 미디어 B: application_type=2; G-PCC 포인트 클라우드 미디어 C: application_type=3.
또한, MPD 파일에는 3개의 표현 멀티-뷰 비디오 A(대규모 아틀라스 정보), V-PCC 포인트 클라우드 미디어 B 및 G-PCC 포인트 클라우드 미디어 C의 어플리케이션 시나리오 유형이 설명되며, 즉, v3cAppType 필드의 값은 각각 멀티-뷰 비디오 A: v3cAppType=1; V-PCC 포인트 클라우드 미디어 B: v3cAppType=2; G-PCC 포인트 클라우드 미디어 C: v3cAppType=3.
그 후, 서버는 MPD 시그널링에 대응하는 타깃 설명 파일을 제1 디바이스 상에 설치된 클라이언트로 전달한다.
서버 측에 의해 전송된 MPD 시그널링에 대응하는 타깃 설명 파일을 수신한 후, 클라이언트는 클라이언트의 디바이스 능력 및 표현 요건에 따라 대응하는 어플리케이션 시나리오 유형의 타깃 미디어 스트림의 타깃 캡슐화 파일을 요청한다. 제1 디바이스의 클라이언트의 프로세싱 능력이 낮다고 가정하여, 클라이언트는 멀티-뷰 비디오 A의 타깃 캡슐화 파일을 요청한다.
그 후, 서버 측은 멀티-뷰 비디오 A의 타깃 캡슐화 파일을 제1 디바이스의 클라이언트로 전송한다.
서버 측에 의해 전송된 멀티-뷰 비디오 A의 타깃 캡슐화 파일을 수신한 후, 제1 디바이스의 클라이언트는 대응하는 프로세싱을 위해 VolumetricVisualMediaHeaderBox의 application_type 필드에 따라 현재 6DoF 미디어 파일의 어플리케이션 시나리오 유형을 결정한다. 상이한 어플리케이션 시나리오 유형은 상이한 디코딩 및 렌더링 알고리즘을 갖는다.
멀티-뷰 비디오를 예로서 사용하여, application_type=1은 멀티-뷰 비디오의 아틀라스 정보가 카메라에 의해 캡처된 깊이 맵과 텍스처 맵을 단위로 사용함을 나타내므로 클라이언트는 비교적 간단한 프로세싱 알고리즘을 사용하여 멀티-뷰 비디오를 프로세싱할 수 있다.
다른 실시예에서, DASH MPD에 추가하여, 유사한 확장이 또한 유사한 시그널링 파일에 대해 수행되어 시그널링 파일에서 상이한 미디어 파일의 어플리케이션 시나리오 유형을 나타낼 수 있다.
예시적인 실시예에서, 대응하는 어플리케이션 시나리오에서 타깃 미디어 컨텐츠의 미디어 스트림을 획득하는 단계는: 제2 디바이스에 의해 전송된 제1 멀티-뷰 비디오의 제1 캡슐화 파일 및 제3 디바이스에 의해 전송된 제2 멀티-뷰 비디오의 제2 캡슐화 파일을 수신하는 단계; 제1 멀티-뷰 비디오 및 제2 멀티-뷰 비디오를 얻기 위해 각각 제1 캡슐화 파일 및 제2 캡슐화 파일을 캡슐화 해제하는 단계; 제1 멀티-뷰 비디오에서 제1 깊이 맵 및 제1 텍스처 맵, 그리고 제2 멀티-뷰 비디오에서 제2 깊이 맵 및 제2 텍스처 맵을 얻기 위해 제1 멀티-뷰 비디오 및 제2 멀티-뷰 비디오를 각각 디코딩하는 단계; 및 제1 깊이 맵, 제2 깊이 맵, 제1 텍스처 맵 및 제2 텍스처 맵에 따라 병합된 멀티-뷰 비디오를 얻는 단계를 포함할 수 있다.
제2 디바이스 상에는 제1 수량의 카메라가 설치될 수 있고, 제3 디바이스 상에는 제2 수량의 카메라가 설치될 수 있으며, 제2 디바이스와 제3 디바이스는 제1 멀티-뷰 비디오 및 제2 멀티-뷰 비디오를 얻기 위해 각각의 카메라를 사용하여 동일한 장면에 대한 멀티-뷰 비디오 캡처링 및 촬영을 수행한다.
제1 캡슐화 파일 및 제2 캡슐화 파일은 제1 어플리케이션 시나리오 유형 필드를 포함할 수 있고, 제1 캡슐화 파일 및 제2 캡슐화 파일의 제1 어플리케이션 시나리오 유형 필드의 값은 각각 제1 멀티-뷰 비디오가 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오임을 나타내는 데 사용되는 제2 값 및 제2 멀티-뷰 비디오가 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오임을 나타내기 위해 사용되는 제2 값이다.
도 12는 본 개시의 실시예에 따른 미디어 파일 캡슐화 방법의 개략적인 흐름도이다. 도 12에 도시된 바와 같이, 본 개시의 이러한 실시예에서 제공되는 방법은 이하의 단계를 포함할 수 있다.
단계 S1210. 제2 디바이스에 의해 전송된 제1 멀티-뷰 비디오의 제1 캡슐화 파일 및 제3 디바이스에 의해 전송된 제2 멀티-뷰 비디오의 제2 캡슐화 파일을 수신한다.
단계 S1220. 제1 멀티-뷰 비디오 및 제2 멀티-뷰 비디오를 얻기 위해 각각 제1 캡슐화 파일 및 제2 캡슐화 파일을 캡슐화 해제한다.
단계 S1230. 제1 멀티-뷰 비디오 및 제2 멀티-뷰 비디오를 각각 디코딩하여 제1 멀티-뷰 비디오에서 제1 깊이 맵 및 제1 텍스처 맵을 획득하고, 제2 멀티-뷰 비디오에서 제2 깊이 맵 및 제2 텍스처 맵을 얻는다.
단계 S1240. 제1 깊이 맵, 제2 깊이 맵, 제1 텍스처 맵 및 제2 텍스처 맵에 따라 병합된 멀티-뷰 비디오를 얻는다.
단계 S1250. 병합된 멀티-뷰 비디오의 캡슐화 파일을 생성하기 위해 병합된 멀티-뷰 비디오를 캡슐화하며, 캡슐화 파일은 제1 어플리케이션 시나리오 유형 필드를 포함하고, 제1 어플리케이션 시나리오 유형 필드는 병합된 멀티-뷰 비디오에 대응하는 어플리케이션 시나리오가 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오임을 나타내는 데 사용되는 제2 값이다.
단계 S1260. 제1 디바이스가 제1 어플리케이션 시나리오 유형 필드에 따라 병합된 멀티-뷰 비디오에 대응하는 어플리케이션 시나리오를 획득하고 병합된 멀티-뷰 비디오에 대응하는 어플리케이션 시나리오에 따라 병합된 멀티-뷰 비디오의 디코딩 또는 렌더링 방법을 결정하기 위해 캡슐화 파일을 제1 디바이스로 전송한다.
이하, 도 13 및 도 14를 참조하여 도 12의 실시예에서 제공되는 방법을 예시적으로 설명한다. 제2 디바이스와 제3 디바이스는 각각 무인 항공기 A와 무인 항공기 B라고 가정하고(그러나, 본 개시는 이에 한정되지 않음), 무인 항공기 A와 무인 항공기 B 상에 2개의 카메라가 각각 설치된다(즉, 제1 수량 및 제2 수량은 모두 2와 같지만, 본 개시는 이에 한정되지 않으며, 실제 시나리오에 따라 설정될 수 있음). 무인 항공기 A와 무인 항공기 B를 사용하여 동일한 장면에 대해 멀티-뷰 비디오 캡처 및 촬영이 수행될 때, 무인 항공기 A를 사용하여 제1 멀티-뷰 비디오를 캡처 및 생성하는 프로세스에서, 제1 멀티-뷰 비디오를 캡슐화하여 생성된 제1 캡슐화 파일은 다음과 같다:
application_type=1;
large_scale_atlas_flag=1: camera_count=4; camera_count_contained=2;
padding_size_depth=0; padding_size_texture=0;
{camera_id=1; camera_resolution_x=100; camera_resolution_y=100;
depth_downsample_factor=1; texture_vetex =(0,0); depth_vetex = )0,100) }//뷰 1 텍스처 맵 및 뷰 1 깊이 맵
{camera_id=2; camera_resolution_x=100; camera_resolution_y=100;
depth_downsample_factor=1; texture_vetex =(100,0); depth_vetex = )100,100) }//뷰 2 텍스처 맵 및 뷰 2 깊이 맵
위의 시스템 설명은 도 13의 평면 프레임의 각각의 영역의 데이터 구조에 대응한다. 업-다운 스티칭 모드가 모드가 설명을 위해 예로서 사용된다.
무인 항공기 B를 사용하여 제2 멀티-뷰 비디오를 캡처 및 생성하는 프로세스에서, 제2 멀티-뷰 비디오를 캡슐화하여 생성된 제2 캡슐화 파일은 이하와 같다:
application_type=1;
large_scale_atlas_flag=1: camera_count=4; camera_count_contained=2;
padding_size_depth=0; padding_size_texture=0;
{camera_id=3; camera_resolution_x=100; camera_resolution_y=100;
depth_downsample_factor=1; texture_vetex =(0,0); depth_vetex = )0,100) }//뷰 3 텍스처 맵 및 뷰 3 깊이 맵
{camera_id=4; camera_resolution_x=100; camera_resolution_y=100;
depth_downsample_factor=1; texture_vetex =(100,0); depth_vetex = )100,100) }//뷰 4 텍스처 맵 및 뷰 4 깊이 맵
위의 시스템 설명은 도 14의 평면 프레임의 각 영역의 데이터 구조에 대응한다.
서버 측 상에서, 상이한 무인 항공기에 의해 촬영된 제1 캡슐화 파일 및 제2 캡슐화 파일을 수신한 후, 서버 측은 제1 캡슐화 파일 및 제2 캡슐화 파일을 캡슐화 해제 및 디코딩하고, 모든 깊이 맵 및 텍스처 맵을 병합하고, 깊이 맵 다운샘플링이 수행된다고 가정하여 병합된 멀티-뷰 비디오를 얻는다.
깊이 맵은 텍스처 맵만큼 중요하지 않으며, 데이터 볼륨은 다운샘플링 후에 감소될 수 있다. 본 개시의 이러한 실시예는 이 시나리오를 나타내지만, 이 시나리오를 제한한다.
병합된 멀티-뷰 비디오가 캡슐화된 후, 이하의 캡슐화 파일을 얻을 수 있다:
application_type=1;
large_scale_atlas_flag=1: camera_count=4; camera_count_contained=4;
padding_size_depth=0; padding_size_texture=0;
{camera_id=1; camera_resolution_x=100; camera_resolution_y=100;
depth_downsample_factor=1; texture_vetex =(0,0); depth_vetex = (0,200) }
{camera_id=2; camera_resolution_x=100; camera_resolution_y=100;
depth_downsample_factor=1; texture_vetex =(100,0); depth_vetex = (50,200) }
{camera_id=3; camera_resolution_x=100; camera_resolution_y=100;
depth_downsample_factor=1; texture_vetex =(0,100); depth_vetex = (100,200) }
{camera_id=4; camera_resolution_x=100; camera_resolution_y=100;
depth_downsample_factor=1; texture_vetex =(100,100); depth_vetex = (150,200) }
위의 시스템 설명은 도 9의 평면 프레임의 각 영역의 데이터 구조에 대응한다.
서버 측에 의해 전송된 병합된 멀티-뷰 비디오의 캡슐화 파일을 수신한 후, 제1 디바이스의 클라이언트는 캡슐화 파일의 대응하는 필드를 파싱하여 병합된 멀티-뷰 비디오의 평면 프레임 영역을 상이한 카메라의 텍스처 맵 및 깊이 맵에 매핑하고; 병합된 멀티-뷰 비디오를 소비하기 위하여 병합된 멀티-뷰 비디오의 미디어 스트림의 카메라 파라미터 정보를 파싱하여 평면 프레임의 영역을 3D 렌더링 표현 영역으로 복원한다.
본 개시의 이러한 실시예에서 제공되는 미디어 파일 캡슐화 방법에서, 6DoF 미디어에서의 멀티-뷰 비디오의 어플리케이션을 위해, 멀티-뷰 비디오의 깊이 맵 및 텍스처 맵과 관련된 정보를 나타내기 위한 방법이 제공되어, 멀티-뷰 비디오의 다른 뷰로부터의 깊이 맵과 텍스처 맵의 캡슐화 및 조합이 보다 유연하다. 본 방법은 상이한 어플리케이션 시나리오를 지원할 수 있다. 위의 실시예에서 설명한 바와 같이, 일부 장면은 상이한 디바이스에 의해 촬영되어 2개의 파일로 캡슐화된다. 본 개시의 이러한 실시예에서 제공되는 방법은 조합된 소비를 위해 이러한 2개의 파일을 연관시킬 수 있다. 그렇지 않으면, 위의 실시예에서, 2개의 파일은 개별적으로만 제시될 수 있고 공동으로 제시될 수 없다.
본 개시의 실시예에서 제공되는 미디어 파일 캡슐화 해제 방법은 임의의 전자 디바이스에 의해 수행될 수 있다. 이하의 예시적인 설명에서, 미디어 파일 캡슐화 해제 방법이 몰입형 시스템의 중간 노드 또는 (플레이어 측과 같은) 제1 디바이스에 적용되는 예가 사용되지만, 본 개시가 이에 한정되는 것은 아니다.
도 15는 본 개시의 실시예에 따른 미디어 파일 캡슐화 해제 방법의 개략적인 흐름도이다. 도 15에 도시된 바와 같이, 본 개시의 이러한 실시예에서 제공되는 방법은 이하의 단계를 포함할 수 있다.
단계 S1510. 대응하는 어플리케이션 시나리오에서 타깃 미디어 컨텐츠의 미디어 스트림의 캡슐화 파일을 수신하고, 캡슐화 파일은 제1 어플리케이션 시나리오 유형 필드를 포함하고, 제1 어플리케이션 시나리오 유형 필드는 미디어 스트림에 대응하는 어플리케이션 시나리오를 나타내는 데 사용된다.
예시적인 실시예에서, 본 방법은: 타깃 미디어 컨텐츠의 타깃 설명 파일을 수신하는 단계로서, 타깃 설명 파일은 제2 어플리케이션 시나리오 유형 필드를 포함하고, 제2 어플리케이션 시나리오 유형 필드는 미디어 스트림에 대응하는 어플리케이션 시나리오를 나타내는 데 사용되는, 수신하는 단계; 및 제2 어플리케이션 시나리오 유형 필드에 따라 미디어 스트림의 캡슐화 파일로부터 타깃 미디어 스트림의 타깃 캡슐화 파일을 결정하는 단계를 추가로 포함할 수 있다.
이에 대응하여, 대응하는 어플리케이션 시나리오에서 타깃 미디어 컨텐츠의 미디어 스트림의 캡슐화 파일을 수신하는 단계는: 타깃 캡슐화 파일에서 제1 어플리케이션 시나리오 유형 필드에 따라 타깃 미디어 스트림에 대응하는 타깃 어플리케이션 시나리오를 결정하기 위해 타깃 캡슐화 파일을 수신하는 단계를 포함할 수 있다.
단계 S1520. 제1 어플리케이션 시나리오 유형 필드를 얻기 위해 캡슐화 파일을 캡슐화 해제한다.
단계 S1530. 제1 어플리케이션 시나리오 유형 필드에 따라 미디어 스트림에 대응하는 어플리케이션 시나리오를 결정한다.
단계 S1540. 미디어 스트림에 대응하는 어플리케이션 시나리오에 따라 미디어 스트림의 디코딩 방법 및 렌더링 방법 중 적어도 하나를 결정한다.
예시적인 실시예에서, 제1 어플리케이션 시나리오 유형 필드의 값이 미디어 스트림이 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오임을 나타내는 제2 값인 경우, 본 방법은 대규모 아틀라스 정보의 평면 프레임과 미디어 스트림에 포함된 카메라에 대응하는 뷰로부터 캡처된 텍스처 맵 및 깊이 맵 간의 매핑 관계를 획득하기 위해 캡슐화 파일을 파싱하는 단계; 미디어 스트림에서 카메라 파라미터를 얻기 위해 미디어 스트림을 디코딩하는 단계; 및 매핑 관계 및 카메라 파라미터에 따라 멀티-뷰 비디오를 3-차원(3D) 공간에서 제시하는 단계를 추가로 포함할 수 있다.
본 개시의 이러한 실시예에서 제공되는 미디어 파일 캡슐화 해제 방법의 다른 컨텐츠는 위의 실시예에서 미디어 파일 캡슐화 방법을 참조할 수 있다.
본 개시의 실시예에서 제공되는 미디어 파일 캡슐화 장치는 임의의 전자 디바이스 상에 구성될 수 있다. 이하의 예시적인 설명에서, 미디어 파일 캡슐화 장치가 몰입형 시스템의 서버 측 상에 구성되는 예가 사용되지만, 본 개시는 이에 한정되지 않는다.
도 16은 본 개시의 실시예에 따른 미디어 파일 캡슐화 장치의 개략적인 블록도이다. 도 16에 도시된 바와 같이, 본 개시의 이러한 실시예에서 제공되는 미디어 파일 캡슐화 장치(1600)는 미디어 스트림 획득 유닛(1610), 미디어 스트림 캡슐화 유닛(1620) 및 캡슐화 파일 전송 유닛(1630)을 포함할 수 있다.
본 개시의 이러한 실시예에서, 미디어 스트림 획득 유닛(1610)은 대응하는 어플리케이션 시나리오에서 타깃 미디어 컨텐츠의 미디어 스트림을 획득하도록 구성될 수 있고; 미디어 스트림 캡슐화 유닛(1620)은 미디어 스트림의 캡슐화 파일을 생성하기 위해 미디어 스트림을 캡슐화하도록 구성될 수 있으며, 캡슐화 파일은 제1 어플리케이션 시나리오 유형 필드를 포함하고, 제1 어플리케이션 시나리오 유형 필드는 미디어 스트림에 대응하는 어플리케이션 시나리오를 나타내는 데 사용되고; 캡슐화 파일 전송 유닛(1640)은 제1 디바이스가 제1 어플리케이션 시나리오 유형 필드에 따라 미디어 스트림에 대응하는 어플리케이션 시나리오를 결정하고 미디어 스트림에 대응하는 어플리케이션 시나리오에 따라 미디어 스트림의 렌더링 방법 및 디코딩 방법 중 적어도 하나를 결정하기 위하여 캡슐화 파일을 제1 디바이스로 전송하도록 구성될 수 있다.
본 개시의 이러한 실시예에서 제공되는 미디어 파일 캡슐화 장치에서, 대응하는 어플리케이션 시나리오에서 미디어 스트림의 캡슐화 파일이 생성될 때, 캡슐화 파일에서 제1 어플리케이션 시나리오 유형 필드가 확장되고, 제1 어플리케이션 시나리오 유형 필드는 미디어 스트림에 대응하는 어플리케이션 시나리오를 나타내는 데 사용된다. 따라서 미디어 파일의 캡슐화에서 상이한 미디어 스트림의 대응하는 어플리케이션 시나리오가 구별될 수 있다. 한편, 캡슐화 파일이 제1 디바이스로 전송될 때, 제1 디바이스는 캡슐화 파일의 제1 어플리케이션 시나리오 유형 필드에 따라 미디어 스트림의 어플리케이션 시나리오를 구별할 수 있고, 따라서 미디어 스트림에 대응하는 어플리케이션 시나리오에 따른 미디어 스트림에 대해 어떤 디코딩 방법 또는 렌더링 방법을 채택할지를 결정할 수 있으며, 이는 제1 디바이스의 컴퓨팅 능력 및 리소스를 절약할 수 있다. 다른 한편으로, 미디어 스트림의 어플리케이션 시나리오는 캡슐화 단계에서 결정될 수 있어, 제1 디바이스가 미디어 스트림에 대한 디코딩 능력을 갖지 않는다고 하더라도, 미디어 스트림에 대응하는 어플리케이션 시나리오는 미디어 스트림이 디코딩될 때까지 대기 없이 결정될 수 있다.
예시적인 실시예에서, 미디어 스트림 캡슐화 유닛(1620)은: 타깃 미디어 파일 포맷 데이터 박스의 볼류메트릭 비주얼 미디어 헤더 박스에 제1 어플리케이션 시나리오 유형 필드를 추가하도록 구성된 제1 어플리케이션 시나리오 유형 필드 추가 유닛; 및 미디어 스트림에 대응하는 어플리케이션 시나리오에 따라 제1 어플리케이션 시나리오 유형 필드의 값을 결정하도록 구성된 제1 어플리케이션 시나리오 유형 필드 값 결정 유닛을 포함할 수 있다.
예시적인 실시예에서, 제1 어플리케이션 시나리오 유형 필드의 값은 미디어 스트림이 비대규모 아틀라스 정보를 갖는 멀티-뷰 비디오임을 나타내는 제1 값; 미디어 스트림이 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오임을 나타내는 제2 값; 미디어 스트림이 통상의 비디오 인코딩에 기초하여 압축된 포인트 클라우드 미디어임을 나타내는 제3 값; 및 미디어 스트림이 지오메트리 특징에 기초하여 압축된 포인트 클라우드 미디어임을 나타내는 제4 값 중 임의의 하나를 포함할 수 있다.
예시적인 실시예에서, 미디어 파일 캡슐화 장치(1600)는 제1 어플리케이션 시나리오 유형 필드의 값이 제2 값과 동일한 경우, 미디어 스트림이 단일 트랙에 따라 캡슐화되는 경우 타깃 미디어 파일 포맷 데이터 박스의 비트스트림 샘플 엔트리에 대규모 아틀라스 플래그를 추가하도록 구성된 단일-트랙 대규모 아틀라스 플래그 추가 유닛; 대규모 아틀라스 플래그가 미디어 스트림이 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오임을 나타내는 경우, 미디어 스트림을 캡처하기 위한 카메라의 수량 식별자 및 미디어 스트림의 현재 파일에 포함된 카메라에 대응하는 뷰의 수량 식별자를 비트스트림 샘플 엔트리에 추가하도록 구성된 단일-트랙 카메라 뷰 식별자 추가 유닛; 및 현재 파일에 포함된 카메라에 대응하는 뷰로부터 캡처된 텍스처 맵 및 깊이 맵의 해상도를 비트스트림 샘플 엔트리에 추가하도록 구성된 단일-트랙 텍스처 및 깊이 맵 해상도 추가 유닛을 추가로 포함할 수 있다.
예시적인 실시예에서, 미디어 파일 캡슐화 장치(1600)는 현재 파일에 포함된 카메라에 대응하는 뷰로부터 캡처된 깊이 맵의 다운샘플링 팩터를 비트스트림 샘플 엔트리에 추가하도록 구성된 단일-트랙 다운샘플링 팩터 추가 유닛; 대규모 아틀라스 정보에서 평면 프레임의 원점에 대해 현재 파일에 포함된 카메라에 대응하는 뷰로부터 캡처된 텍스처 맵의 좌측 상부 정점의 오프셋을 비트스트림 샘플 엔트리에 추가하도록 구성된 단일-트랙 텍스처 맵 오프셋 추가 유닛; 대규모 아틀라스 정보에서 평면 프레임의 원점에 대해 현재 파일에 포함된 카메라에 대응하는 뷰로부터 캡처된 깊이 맵의 좌측 상부 정점의 오프셋을 비트스트림 샘플 엔트리에 추가하도록 구성된 단일-트랙 깊이 맵 오프셋 추가 유닛; 및 현재 파일에 포함된 카메라에 대응하는 뷰로부터 캡처된 텍스처 맵 및 깊이 맵의 패딩 크기를 비트스트림 샘플 엔트리에 추가하도록 구성된 단일-트랙 패딩 크기 추가 유닛을 추가로 포함할 수 있다.
예시적인 실시예에서, 미디어 파일 캡슐화 장치(1600)는 제1 어플리케이션 시나리오 유형 필드의 값이 제2 값과 동일한 경우, 미디어 스트림이 복수의 트랙에 따라 캡슐화되는 경우 대규모 아틀라스 플래그를 타깃 미디어 파일 포맷 데이터 박스의 샘플 엔트리에 추가하도록 구성된 멀티-트랙 대규모 아틀라스 플래그 추가 유닛; 대규모 아틀라스 플래그가 미디어 스트림이 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오임을 나타내는 경우 미디어 스트림을 캡처하기 위한 카메라의 수량 식별자 및 미디어 스트림의 현재 파일에 포함된 카메라에 대응하는 뷰의 수량 식별자를 샘플 엔트리에 추가하도록 구성된 멀티-트랙 카메라 뷰 식별자 추가 유닛; 및 현재 파일에 포함된 카메라에 대응하는 뷰로부터 캡처된 텍스처 맵 및 깊이 맵의 해상도를 샘플 엔트리에 추가하도록 구성된 멀티-트랙 텍스처 및 깊이 맵 해상도 추가 유닛을 추가로 포함할 수 있다.
예시적인 실시예에서, 미디어 파일 캡슐화 장치(1600)는 현재 파일에 포함된 카메라에 대응하는 뷰로부터 캡처된 깊이 맵의 다운샘플링 팩터를 샘플 엔트리에 추가하도록 구성된 멀티-트랙 다운샘플링 팩터 추가 유닛; 대규모 아틀라스 정보에서 평면 프레임의 원점에 대해 현재 파일에 포함된 카메라에 대응하는 뷰로부터 캡처된 텍스처 맵의 좌측 상부 정점의 오프셋을 샘플 엔트리에 추가하도록 구성된 멀티-트랙 텍스처 맵 오프셋 추가 유닛; 대규모 아틀라스 정보에서 평면 프레임의 원점에 대해 현재 파일에 포함된 카메라에 대응하는 뷰로부터 캡처된 깊이 맵의 좌측 상부 정점의 오프셋을 샘플 엔트리에 추가하도록 구성된 멀티-트랙 깊이 맵 오프셋 추가 유닛; 및 현재 파일에 포함된 카메라에 대응하는 뷰로부터 캡처된 텍스처 맵 및 깊이 맵의 패딩 크기를 샘플 엔트리에 추가하도록 구성된 멀티-트랙 패딩 크기 추가 유닛을 추가로 포함할 수 있다.
예시적인 실시예에서, 미디어 파일 캡슐화 장치(1600)는 타깃 미디어 컨텐츠의 타깃 설명 파일을 생성하도록 구성된 타깃 설명 파일 생성 유닛으로서, 타깃 설명 파일은 제2 어플리케이션 시나리오 유형 필드를 포함하고, 제2 어플리케이션 시나리오 유형 필드는 미디어 스트림에 대응하는 어플리케이션 시나리오를 나타내기 위해 사용되는, 타깃 설명 파일 생성 유닛; 및 제1 디바이스가 제2 어플리케이션 시나리오 유형에 따라 미디어 스트림의 캡슐화 파일로부터 타깃 미디어 스트림에 대응하는 타깃 캡슐화 파일을 결정하기 위해 제1 디바이스로 타깃 설명 파일을 전송하도록 구성된 타깃 설명 파일 전송 유닛을 추가로 포함할 수 있다. 캡슐화 파일 전송 유닛(1640)은 제1 디바이스가 타깃 캡슐화 파일에서 제1 어플리케이션 시나리오 유형 필드에 따라 타깃 미디어 스트림에 대응하는 타깃 어플리케이션 시나리오를 결정하기 위해 타깃 캡슐화 파일을 제1 디바이스로 전송하도록 구성된 타깃 캡슐화 파일 전송 유닛을 포함할 수 있다.
예시적인 실시예에서, 타깃 설명 파일 생성 유닛은 제2 어플리케이션 시나리오 유형 필드를 타깃 미디어 컨텐츠의 하이퍼텍스트 전송 프로토콜을 통한 동적 적응 스트리밍(DASH)을 지원하는 타깃 설명 파일에 추가하도록 구성된 제2 어플리케이션 시나리오 유형 필드 추가 유닛; 및 미디어 스트림에 대응하는 어플리케이션 시나리오에 따라 제2 어플리케이션 시나리오 유형 필드의 값을 결정하도록 구성된 제2 어플리케이션 시나리오 유형 필드 값 결정 유닛을 포함할 수 있다.
예시적인 실시예에서, 미디어 스트림 획득 유닛(1620)은 제2 디바이스에 의해 전송된 제1 멀티-뷰 비디오의 제1 캡슐화 파일 및 제3 디바이스에 의해 전송된 제2 멀티-뷰 비디오의 제2 캡슐화 파일을 수신하도록 구성된 캡슐화 파일 수신 유닛; 제1 멀티-뷰 비디오 및 제2 멀티-뷰 비디오를 얻기 위해 제1 캡슐화 파일 및 제2 캡슐화 파일을 각각 캡슐화 해제하도록 구성된 캡슐화 파일 캡슐화 해제 유닛; 제1 멀티-뷰 비디오의 제1 깊이 맵 및 제1 텍스처 맵, 및 제2 멀티-뷰 비디오의 제2 깊이 맵 및 제2 텍스처 맵을 얻기 위해 제1 멀티-뷰 비디오 및 제2 멀티-뷰 비디오를 각각 디코딩하도록 구성된 멀티-뷰 비디오 디코딩 유닛; 및 제1 깊이 맵, 제2 깊이 맵, 제1 텍스처 맵 및 제2 텍스처 맵에 따라 병합된 멀티-뷰 비디오를 얻도록 구성된 멀티-뷰 비디오 병합 유닛을 포함할 수 있다.
예시적인 실시예에서, 제1 수량의 카메라가 제2 디바이스 상에 설치될 수 있고, 제2 수량의 카메라가 제3 디바이스 상에 설치되고, 제2 디바이스 및 제3 디바이스는 제1 멀티-뷰 비디오 및 제2 멀티-뷰 비디오를 획득하기 위해 각각의 카메라를 사용하여 동일한 장면에 대한 멀티-뷰 캡처링 및 촬영을 수행할 수 있다. 제1 캡슐화 파일 및 제2 캡슐화 파일은 각각 제1 어플리케이션 시나리오 유형 필드를 포함할 수 있고, 제1 캡슐화 파일 및 제2 캡슐화 파일의 제1 어플리케이션 시나리오 유형 필드의 값은 각각 제1 멀티-뷰 비디오가 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오임을 나타내는 데 사용되는 제2 값 및 제2 멀티-뷰 비디오가 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오임을 나타내는 데 사용되는 제2 값일 수 있다.
예시적인 실시예에서, 미디어 스트림은 6 자유도(6DoF) 미디어 스트림 및 제한된 6DoF(3DoF+) 미디어 스트림을 포함할 수 있다.
본 개시의 이러한 실시예에서 제공되는 미디어 파일 캡슐화 장치의 유닛의 특정 구현에 대해, 상술한 미디어 파일 캡슐화 방법의 내용을 참조할 수 있으며, 상세 사항은 여기에서 다시 설명되지 않는다.
본 개시의 실시예에서 제공되는 미디어 파일 캡슐화 해제 장치는 임의의 전자 디바이스 상에 구성될 수 있다. 이하의 예시적인 설명에서, 미디어 파일 캡슐화 해제 장치가 몰입형 시스템의 중간 노드 또는 (플레이어 측과 같은) 제1 디바이스 상에 구성되는 예가 사용되지만, 본 개시는 이에 한정되지 않는다.
도 17은 본 개시의 실시예에 따른 미디어 파일 캡슐화 해제 장치의 개략적인 블록도이다. 도 17에 도시된 바와 같이, 본 개시의 이러한 실시예에서 제공되는 미디어 파일 캡슐화 해제 장치(1700)는 캡슐화 파일 수신 유닛(1710), 파일 캡슐화 해제 유닛(1720), 어플리케이션 시나리오 획득 유닛(1730), 디코딩 및 렌더링 결정 유닛(1740)을 포함할 수 있다.
본 개시의 이러한 실시예에서, 캡슐화 파일 수신 유닛(1710)은 대응하는 어플리케이션 시나리오에서 타깃 미디어 컨텐츠의 미디어 스트림의 캡슐화 파일을 수신하도록 구성될 수 있고, 캡슐화 파일은 제1 어플리케이션 시나리오 유형 필드를 포함하고, 제1 어플리케이션 시나리오 유형 필드는 미디어 스트림에 대응하는 어플리케이션 시나리오를 나타내기 위해 사용되고; 파일 캡슐화 해제 유닛(1720)은 제1 어플리케이션 시나리오 유형 필드를 얻기 위해 캡슐화 파일을 캡슐화 해제하도록 구성될 수 있으며; 어플리케이션 시나리오 획득 유닛(1730)은 제1 어플리케이션 시나리오 유형 필드에 따라 미디어 스트림에 대응하는 어플리케이션 시나리오를 결정하도록 구성될 수 있고; 디코딩 및 렌더링 결정 유닛(1740)은 미디어 스트림에 대응하는 어플리케이션 시나리오에 따라 미디어 스트림의 디코딩 방법 및 렌더링 방법 중 적어도 하나를 결정하도록 구성될 수 있다.
예시적인 실시예에서, 미디어 파일 캡슐화 해제 장치(1700)는 제1 어플리케이션 시나리오 유형 필드의 값이 미디어 스트림이 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오임을 나타내는 제2 값인 경우, 미디어 스트림에 포함된 카메라에 대응하는 뷰로부터 캡처된 텍스처 맵 및 깊이 맵과 대규모 아틀라스 정보의 평면 프레임 간의 매핑 관계를 얻기 위해 캡슐화 파일을 파싱하도록 구성된 캡슐화 파일 파싱 유닛; 미디어 스트림에서 카메라 파라미터를 얻기 위해 미디어 스트림을 디코딩하도록 구성된 미디어 스트림 디코딩 유닛; 및 매핑 관계 및 카메라 파라미터에 따라 멀티-뷰 비디오를 3-차원(3D) 공간에 제시하도록 구성된 멀티-뷰 비디오 제시 유닛을 추가로 포함할 수 있다.
예시적인 실시예에서, 미디어 파일 캡슐화 해제 장치(1700)는 타깃 미디어 컨텐츠의 타깃 설명 파일을 수신하도록 구성된 타깃 설명 파일 수신 유닛으로서, 타깃 설명 파일은 제2 어플리케이션 시나리오 유형 필드를 포함하고, 제2 어플리케이션 시나리오 유형 필드는 미디어 스트림에 대응하는 어플리케이션 시나리오를 나타내기 위해 사용되는, 타깃 설명 파일 수신 유닛; 및 제2 어플리케이션 시나리오 유형 필드에 따라 미디어 스트림의 캡슐화 파일로부터 타깃 미디어 스트림의 타깃 캡슐화 파일을 결정하도록 구성된 타깃 캡슐화 파일 결정 유닛을 추가로 포함할 수 있다. 캡슐화 파일 수신 유닛(1710)은 타깃 캡슐화 파일을 수신하여 타깃 캡슐화 파일의 제1 어플리케이션 시나리오 유형 필드에 따라 타깃 미디어 스트림에 대응하는 타깃 어플리케이션 시나리오를 결정하도록 구성된 타깃 어플리케이션 시나리오 결정 유닛을 포함할 수 있다.
본 개시의 이러한 실시예에서 제공되는 미디어 파일 캡슐화 해제 장치의 유닛의 특정 구현에 대해, 상술한 미디어 파일 캡슐화 해제 방법의 내용을 참조할 수 있고, 상세 사항은 여기에서 다시 설명하지 않는다.
상술한 상세한 설명에서 액션을 수행하도록 구성된 디바이스의 복수의 유닛이 논의되었지만, 그러한 구분이 필수적인 것은 아니다. 실제로, 본 개시의 구현에 따르면, 상술한 2개 이상의 유닛의 특징 및 기능이 하나의 유닛에서 특정될 수 있다. 반대로, 상술한 하나의 유닛의 특징 또는 기능이 복수의 유닛에 의해 추가로 분할되어 특정될 수 있다.
본 개시의 실시예는 프로세스에 의해 실행될 때 상술한 실시예의 미디어 파일 캡슐화 방법을 구현하는 컴퓨터 프로그램을 저장한 컴퓨터-판독 가능 저장 매체를 제공한다.
본 개시의 실시예는 프로세서에 의해 실행될 때 상술한 실시예의 미디어 파일 캡슐화 해제 방법을 구현하는 컴퓨터 프로그램을 저장한 컴퓨터-판독 가능 저장 매체를 제공한다.
본 개시의 실시예는 적어도 하나의 프로세서; 및 적어도 하나의 프로그램을 저장하도록 구성된 저장 장치를 포함하는 전자 디바이스를 제공하며, 적어도 하나의 프로그램은 적어도 하나의 프로세서에 의해 실행될 때 적어도 하나의 프로세서로 하여금 상술한 실시예의 미디어 파일 캡슐화 방법을 구현하게 한다.
본 개시의 실시예는 적어도 하나의 프로세서; 및 적어도 하나의 프로그램을 저장하도록 구성된 저장 장치를 포함하는 전자 디바이스를 제공하며, 적어도 하나의 프로그램은 적어도 하나의 프로세서에 의해 실행될 때 적어도 하나의 프로세서로 하여금 상술한 실시예의 미디어 파일 캡슐화 해제 방법을 구현하게 한다.
도 18은 본 개시의 실시예를 구현하도록 적응된 전자 디바이스의 개략적인 구조도이다.
도 18에 도시된 전자 디바이스(1800)는 단지 예일 뿐이며, 본 개시의 실시예들의 기능 및 사용 범위에 어떠한 제한도 부과하지 않는다.
도 18에 도시된 바와 같이, 전자 디바이스(1800)는 중앙 처리 장치(CPU)(1801)를 포함한다. CPU는 판독-전용 메모리(ROM)(1802)에 저장된 프로그램 또는 저장 부분(1808)으로부터 랜덤 액세스 메모리(RAM)(1803)로 로드된 프로그램에 따라 다양한 적절한 액션 및 프로세싱을 수행할 수 있다. RAM(1803)은 시스템 동작에 필요한 다양한 프로그램 및 데이터를 추가로 저장한다. CPU(1801), ROM(1802) 및 RAM(1803)은 버스(1804)를 통해 서로 접속된다. 입력/출력(I/O) 인터페이스(1805)도 버스(1804)에 접속된다.
I/O 인터페이스(1805)에는 이하의 구성 요소가 접속된다: 키보드, 마우스 등을 포함하는 입력 부분(1806); 음극선관(CRT: cathode ray tube), 액정 디스플레이(LCD: liquid crystal display), 스피커 등을 포함하는 출력 부분(1807); 하드 디스크 등을 포함하는 저장 부분(1808); 및 근거리 네트워크(LAN: local area network) 카드 및 모뎀과 같은 네트워크 인터페이스 카드를 포함하는 통신 부분(1809). 통신 부분(1809)은 인터넷과 같은 네트워크를 사용하여 통신 프로세싱을 수행한다. 드라이브(1810)가 또한 필요에 따라 I/O 인터페이스(1805)에 접속된다. 자기 디스크, 광 디스크, 자기-광 디스크, 또는 반도체 메모리와 같은 제거 가능 매체(1811)가 필요에 따라 드라이브(1810) 상에 설치되어, 제거 가능 매체로부터 판독된 컴퓨터 프로그램이 저장 부분(1808)에 필요에 따라 설치된다.
특히, 본 개시의 실시예에 따르면, 흐름도를 참조하여 이하에서 설명되는 프로세스는 컴퓨터 소프트웨어 프로그램으로서 구현될 수 있다. 예를 들어, 본 개시의 실시예는 컴퓨터-판독 가능 저장 매체에 담긴 컴퓨터 프로그램을 포함하는 컴퓨터 프로그램 제품을 포함한다. 컴퓨터 프로그램은 흐름도에 도시된 방법을 수행하기 위한 프로그램 코드를 포함한다. 이러한 실시예에서, 컴퓨터 프로그램은 통신 부분(1809)을 통해 네트워크로부터 다운로드 및 설치될 수 있고/있거나 제거 가능 매체(1811)로부터 설치될 수 있다. 컴퓨터 프로그램이 CPU(1801)에 의해 실행될 때, 본 개시의 방법 및/또는 장치에서 정의된 다양한 기능이 실행된다.
본 개시에 따른 컴퓨터-판독 가능 저장 매체는 컴퓨터-판독 가능 신호 매체 또는 컴퓨터-판독 가능 저장 매체 또는 두 매체의 임의의 조합일 수 있다. 컴퓨터-판독 가능 저장 매체는 예를 들어, 전기, 자기, 광학, 전자기, 적외선 또는 반도체 시스템, 장치, 디바이스, 또는 이들의 임의의 조합일 수 있지만 이에 한정되지는 않는다. 컴퓨터-판독 가능 저장 매체의 보다 구체적인 예는 적어도 하나의 와이어를 갖는 전기적 연결, 휴대용 컴퓨터 자기 디스크, 하드 디스크, RAM, ROM, 소거 가능 프로그램 가능 판독 전용 메모리(EPROM: erasable programmable read only memory)(또는 플래시 메모리), 광섬유, 컴팩트 디스크 판독 전용 메모리(CD-ROM: compact disk read only memory), 광학 저장 디바이스, 자기 저장 디바이스 또는 이들의 적절한 조합을 포함할 수 있지만, 이에 한정되는 것은 아니다. 본 개시에서, 컴퓨터-판독 가능 저장 매체는 프로그램을 포함하거나 저장하는 임의의 유형의(tangible) 매체일 수 있고, 프로그램은 명령 실행 시스템, 장치 또는 디바이스에 의해 또는 이와 조합되어 사용될 수 있다. 본 개시에서, 컴퓨터-판독 가능 신호 매체는 기저 대역에 있거나 반송파의 일부로서 전파되는 데이터 신호를 포함할 수 있고, 컴퓨터-판독 가능 프로그램 코드를 운반할 수 있다. 전파된 데이터 신호는 전자기 신호, 광학 신호, 또는 이들의 임의의 적절한 조합을 포함하지만 이에 한정되지 않는 복수의 형태일 수 있다. 컴퓨터-판독 가능 신호 매체는 대안적으로 컴퓨터-판독 가능 저장 매체 이외의 임의의 컴퓨터-판독 가능 저장 매체일 수 있다. 컴퓨터-판독 가능 저장 매체는 명령 실행 시스템, 장치 또는 디바이스에 의해 또는 이와 조합하여 사용되는 프로그램을 송신, 전파 또는 전송할 수 있다. 컴퓨터-판독 가능 저장 매체에 포함된 프로그램 코드는 무선 매체, 유선 매체, 광 케이블, 무선 주파수(RF: radio frequency) 또는 이들의 임의의 적절한 조합을 포함하지만 이에 한정되지 않는 임의의 적절한 매체를 사용하여 전송될 수 있다.
첨부 도면의 흐름도 및 블록도는 본 개시의 실시예에 따른 방법, 장치 및 컴퓨터 프로그램 제품을 사용하여 구현될 수 있는 아키텍처, 기능 및 동작을 도시한다. 이와 관련하여 흐름도 또는 블록도의 각각의 박스는 모듈, 프로그램 세그먼트 또는 코드의 일부를 나타낼 수 있다. 모듈, 프로그램 세그먼트 또는 코드의 일부는 특정된 논리 기능을 구현하는 데 사용되는 적어도 하나의 실행 가능 명령을 포함한다. 대안으로 사용되는 일부 구현에서, 박스에 표기된 기능은 첨부 도면에 표기된 것과 다른 순서로 대안적으로 발생할 수 있다. 예를 들어, 연속적으로 도시된 2개의 박스는 실제로 기본적으로 병렬로 수행될 수 있고, 때로는 2개의 박스가 역순으로 수행될 수 있다. 이것은 관련 기능에 의해 결정된다. 블록도 또는 흐름도의 각각의 블록과 블록도 또는 흐름도의 블록의 조합은 특정 기능 또는 동작을 수행하는 전용 하드웨어-기반 시스템을 사용하여 구현될 수 있거나, 전용 하드웨어 및 컴퓨터 명령의 조합을 사요하여 구현될 수 있다.
본 개시의 실시예에서 설명되는 관련 유닛은 소프트웨어 방식으로 구현될 수 있거나, 하드웨어 방식으로 구현될 수 있으며, 설명된 유닛은 프로세서에서도 설정될 수 있다. 이러한 유닛의 이름은 케이스의 유닛에 대한 제한을 구성하지 않는다.
다른 양태에서, 본 개시는 컴퓨터-판독 가능 저장 매체를 추가로 제공한다. 컴퓨터-판독 가능 저장 매체는 상술한 실시예에서 설명된 전자 디바이스에 포함될 수 있거나, 전자 디바이스에 조립되지 않고 단독으로 존재할 수도 있다. 컴퓨터-판독 가능 저장 매체는 하나 이상의 프로그램을 포함하며, 하나 이상의 프로그램은 전자 디바이스에 의해 실행될 때 전자 디바이스로 하여금 이하의 실시예에서 설명된 방법을 구현하게 한다. 예를 들어, 전자 디바이스는 도 4, 도 5, 도 6, 도 10, 도 11, 도 12 또는 도 15에 도시된 단계를 구현할 수 있다.
상술한 실시예의 설명을 통해, 본 기술 분야에서 통상의 기술자는 본원에서 설명되는 예시적인 구현이 소프트웨어에 의해 구현될 수도 있거나, 필요한 하드웨어와 소프트웨어를 조합하여 구현될 수 있음을 쉽게 이해할 수 있다. 따라서, 본 개시의 실시예의 기술적 해결책은 소프트웨어 제품의 형태로 구현될 수 있다. 소프트웨어 제품은 본 출원의 실시예에 따라 본 방법을 수행하기 위해 컴퓨팅 디바이스(PC, 서버, 터치 단말, 네트워크 디바이스 등일 수 있음)에 명령하기 위한 몇몇 명령을 포함하여 비휘발성 저장 매체(CD-ROM, USB 플래시 드라이브, 제거 가능 하드 디스크 등일 수 있음)에 또는 네트워크 상에 저장될 수 있다.
본 개시의 다른 실시예는 본원에서 본 출원의 명세서 및 실시를 고려함으로써 본 기술 분야의 통상의 기술자에게 명백하다. 본 개시는 본 출원의 임의의 변형, 용도 또는 적응적 변경을 포함하도록 의도된다. 이러한 변형, 사용 또는 적응적 변경은 본 개시의 일반적인 원리를 따르고, 본 개시에 개시되지 않은 본 기술 분야의 공지된 지식 및 통상의 기술적 수단을 포함한다. 명세서 및 실시예는 단지 예시적인 것으로 간주되며, 본 출원의 범위 및 사상은 이하의 청구항에서 지정된다.
본 개시는 상술되고 첨부 도면에 도시된 정확한 구조에 한정되지 않으며, 본 개시의 범위를 벗어나지 않고 다양한 수정 및 변경이 이루어질 수 있음을 이해해야 한다. 본 개시의 범위는 첨부된 청구항에만 따른다.

Claims (19)

  1. 전자 디바이스에 의해 수행되는 미디어 파일 캡슐화 방법으로서,
    대응하는 어플리케이션 시나리오에서 타깃 미디어 컨텐츠의 미디어 스트림을 획득하는 단계;
    상기 미디어 스트림의 캡슐화 파일을 생성하기 위해 상기 미디어 스트림을 캡슐화하는 단계 - 상기 캡슐화 파일은 제1 어플리케이션 시나리오 유형 필드를 포함하고, 상기 제1 어플리케이션 시나리오 유형 필드는 상기 미디어 스트림에 대응하는 어플리케이션 시나리오를 나타내기 위해 사용됨 - ; 및
    제1 디바이스가 상기 제1 어플리케이션 시나리오 유형 필드에 따라 상기 미디어 스트림에 대응하는 상기 어플리케이션 시나리오를 결정하고 상기 미디어 스트림에 대응하는 상기 어플리케이션 시나리오에 따라 상기 미디어 스트림의 렌더링 방법 및 디코딩 방법 중 적어도 하나를 결정하기 위해 상기 캡슐화 파일을 상기 제1 디바이스로 전송하는 단계를 포함하는, 미디어 파일 캡슐화 방법.
  2. 제1항에 있어서,
    상기 미디어 스트림의 캡슐화 파일을 생성하기 위해 상기 미디어 스트림을 캡슐화하는 단계는:
    타깃 미디어 파일 포맷 데이터 박스의 볼류메트릭(volumetric) 비주얼 미디어 헤더 박스에 제1 어플리케이션 시나리오 유형 필드를 추가하는 단계; 및
    상기 미디어 스트림에 대응하는 상기 어플리케이션 시나리오에 따라 상기 제1 어플리케이션 시나리오 유형 필드의 값을 결정하는 단계를 포함하는, 미디어 파일 캡슐화 방법.
  3. 제2항에 있어서,
    상기 제1 어플리케이션 시나리오 유형 필드의 상기 값은:
    상기 미디어 스트림이 비대규모(non-large-scale) 아틀라스(atlas) 정보를 갖는 멀티-뷰 비디오임을 나타내는 제1 값;
    상기 미디어 스트림이 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오임을 나타내는 제2 값;
    상기 미디어 스트림이 통상의 비디오 인코딩에 기초하여 압축된 포인트 클라우드 미디어임을 나타내는 제3 값; 및
    상기 미디어 스트림이 지오메트리 특징들에 기초하여 압축된 포인트 클라우드 미디어임을 나타내는 제4 값
    중 임의의 하나를 포함하는, 미디어 파일 캡슐화 방법.
  4. 제3항에 있어서,
    상기 제1 어플리케이션 시나리오 유형 필드의 상기 값이 상기 제2 값과 동일한 경우, 상기 방법은:
    상기 미디어 스트림이 단일 트랙에 따라 캡슐화되는 경우, 상기 타깃 미디어 파일 포맷 데이터 박스의 비트스트림 샘플 엔트리에 대규모 아틀라스 플래그를 추가하는 단계;
    상기 대규모 아틀라스 플래그가 상기 미디어 스트림이 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오임을 나타내는 경우, 상기 미디어 스트림을 캡처하기 위한 카메라들의 수량 식별자와 상기 미디어 스트림의 현재 파일에 포함된 상기 카메라들에 대응하는 뷰들의 수량 식별자를 상기 비트스트림 샘플 엔트리에 추가하는 단계; 및
    상기 현재 파일에 포함된 상기 카메라들에 대응하는 뷰들로부터 캡처된 깊이 맵들 및 텍스처 맵들의 해상도들을 상기 비트스트림 샘플 엔트리에 추가하는 단계를 더 포함하는, 미디어 파일 캡슐화 방법.
  5. 제4항에 있어서,
    상기 현재 파일에 포함된 상기 카메라들에 대응하는 뷰들로부터 캡처된 상기 깊이 맵들의 다운샘플링 팩터(downsampling factor)들을 상기 비트스트림 샘플 엔트리에 추가하는 단계;
    상기 대규모 아틀라스 정보의 평면 프레임들의 원점들에 대해 상기 현재 파일에 포함된 상기 카메라들에 대응하는 상기 뷰들로부터 캡처된 상기 텍스처 맵들의 좌측 상단 정점(vertex)들의 오프셋들을 상기 비트스트림 샘플 엔트리에 추가하는 단계;
    상기 대규모 아틀라스 정보의 상기 평면 프레임들의 상기 원점들에 대해 상기 현재 파일에 포함된 상기 카메라들에 대응하는 상기 뷰들로부터 캡처된 상기 깊이 맵들의 좌측-상단 정점들의 오프셋들을 상기 비트스트림 샘플 엔트리에 추가하는 단계; 및
    상기 현재 파일에 포함된 상기 카메라들에 대응하는 뷰들로부터 캡처된 깊이 맵들 및 텍스처 맵들의 패딩(padding) 크기들을 상기 비트스트림 샘플 엔트리에 추가하는 단계를 포함하는 정보 추가 방법들 중 적어도 하나를 더 포함하는, 미디어 파일 캡슐화 방법.
  6. 제3항에 있어서,
    상기 제1 어플리케이션 시나리오 유형 필드의 상기 값이 상기 제2 값과 동일한 경우, 상기 방법은:
    상기 미디어 스트림이 복수의 트랙에 따라 캡슐화되는 경우, 상기 타깃 미디어 파일 포맷 데이터 박스의 샘플 엔트리에 대규모 아틀라스 플래그를 추가하는 단계;
    상기 대규모 아틀라스 플래그가 상기 미디어 스트림이 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오임을 나타내는 경우, 상기 미디어 스트림을 캡처하기 위한 카메라들의 수량 식별자 및 상기 미디어 스트림의 현재 파일에 포함된 상기 카메라들에 대응하는 뷰들의 수량 식별자를 상기 샘플 엔트리에 추가하는 단계; 및
    상기 현재 파일에 포함된 상기 카메라들에 대응하는 뷰들로부터 캡처된 깊이 맵들 및 텍스처 맵들의 해상도들을 상기 샘플 엔트리에 추가하는 단계를 더 포함하는, 미디어 파일 캡슐화 방법.
  7. 제1항에 있어서,
    상기 타깃 미디어 컨텐츠의 타깃 설명 파일을 생성하는 단계 - 상기 타깃 설명 파일은 제2 어플리케이션 시나리오 유형 필드를 포함하고, 상기 제2 어플리케이션 시나리오 유형 필드는 상기 미디어 스트림에 대응하는 상기 어플리케이션 시나리오를 나타내기 위해 사용됨 - ; 및
    상기 제1 디바이스가 상기 제2 어플리케이션 시나리오 유형 필드에 따라 상기 미디어 스트림의 상기 캡슐화 파일로부터 타깃 미디어 스트림에 대응하는 타깃 캡슐화 파일을 결정하기 위해 상기 타깃 설명 파일을 상기 제1 디바이스로 전송하는 단계를 더 포함하고,
    상기 제1 디바이스가 상기 제1 어플리케이션 시나리오 유형 필드에 따라 상기 미디어 스트림에 대응하는 상기 어플리케이션 시나리오를 결정하기 위해 상기 캡슐화 파일을 상기 제1 디바이스로 전송하는 단계는:
    상기 제1 디바이스가 상기 타깃 캡슐화 파일의 제1 어플리케이션 시나리오 유형 필드에 따라 상기 타깃 미디어 스트림에 대응하는 타깃 어플리케이션 시나리오를 결정하기 위해 상기 타깃 캡슐화 파일을 상기 제1 디바이스로 전송하는 단계를 포함하는, 미디어 파일 캡슐화 방법.
  8. 제7항에 있어서,
    상기 타깃 미디어 컨텐츠의 타깃 설명 파일을 생성하는 단계는:
    상기 타깃 미디어 컨텐츠의 하이퍼텍스트 전송 프로토콜을 통한 동적 적응 스트리밍을 지원하는 타깃 설명 파일에 상기 제2 어플리케이션 시나리오 유형 필드를 추가하는 단계; 및
    상기 미디어 스트림에 대응하는 상기 어플리케이션 시나리오에 따라 상기 제2 어플리케이션 시나리오 유형 필드의 값을 결정하는 단계를 포함하는, 미디어 파일 캡슐화 방법.
  9. 제1항에 있어서,
    대응하는 어플리케이션 시나리오에서 타깃 미디어 컨텐츠의 미디어 스트림을 획득하는 단계는:
    제2 디바이스에 의해 전송된 제1 멀티-뷰 비디오의 제1 캡슐화 파일 및 제3 디바이스에 의해 전송된 제2 멀티-뷰 비디오의 제2 캡슐화 파일을 수신하는 단계;
    상기 제1 멀티-뷰 비디오 및 상기 제2 멀티-뷰 비디오를 얻기 위해 상기 제1 캡슐화 파일 및 상기 제2 캡슐화 파일을 각각 캡슐화 해제(decapsulating)하는 단계;
    상기 제1 멀티-뷰 비디오의 제1 텍스처 맵 및 제1 깊이 맵, 및 상기 제2 멀티-뷰 비디오의 제2 텍스처 맵 및 제2 깊이 맵을 얻기 위해 상기 제1 멀티-뷰 비디오 및 상기 제2 멀티-뷰 비디오를 각각 디코딩하는 단계; 및
    상기 제1 깊이 맵, 상기 제2 깊이 맵, 상기 제1 텍스처 맵 및 상기 제2 텍스처 맵에 따라 병합된 멀티-뷰 비디오를 얻는 단계를 포함하는, 미디어 파일 캡슐화 방법.
  10. 제9항에 있어서,
    제1 수량의 카메라들이 상기 제2 디바이스 상에 설치되고, 제2 수량의 카메라들이 상기 제3 디바이스 상에 설치되고, 상기 제2 디바이스 및 상기 제3 디바이스는 상기 제1 멀티-뷰 비디오 및 상기 제2 멀티-뷰 비디오를 얻기 위해 상기 각각의 카메라들을 사용하여 동일 장면에 대해 멀티-뷰 비디오 캡처링 및 슈팅을 수행하고;
    상기 제1 캡슐화 파일 및 상기 제2 캡슐화 파일의 각각은 상기 제1 어플리케이션 시나리오 유형 필드를 포함하고, 상기 제1 캡슐화 파일 및 상기 제2 캡슐화 파일의 상기 제1 어플리케이션 시나리오 유형 필드들의 값들은 각각 상기 제1 멀티-뷰 비디오가 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오임을 나타내기 위해 사용되는 제2 값 및 상기 제2 멀티-뷰 비디오가 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오임을 나타내기 위해 사용되는 제2 값인, 미디어 파일 캡슐화 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 미디어 스트림은 6 자유도의 미디어 스트림과 제한된 6 자유도의 미디어 스트림을 포함하는, 미디어 파일 캡슐화 방법.
  12. 전자 디바이스에 의해 수행되는 미디어 파일 캡슐화 해제 방법으로서,
    대응하는 어플리케이션 시나리오에서 타깃 미디어 컨텐츠의 미디어 스트림의 캡슐화 파일을 수신하는 단계 - 상기 캡슐화 파일은 제1 어플리케이션 시나리오 유형 필드를 포함하고, 상기 제1 어플리케이션 시나리오 유형 필드는 상기 미디어 스트림에 대응하는 어플리케이션 시나리오를 나타내기 위해 사용됨 - ;
    상기 제1 어플리케이션 시나리오 유형 필드를 얻기 위해 상기 캡슐화 파일을 캡슐화 해제하는 단계;
    상기 제1 어플리케이션 시나리오 유형 필드에 따라 상기 미디어 스트림에 대응하는 상기 어플리케이션 시나리오를 결정하는 단계; 및
    상기 미디어 스트림에 대응하는 상기 어플리케이션 시나리오에 따라 상기 미디어 스트림의 렌더링 방법 및 디코딩 방법 중 적어도 하나를 결정하는 단계를 포함하는, 미디어 파일 캡슐화 해제 방법.
  13. 제12항에 있어서,
    상기 제1 어플리케이션 시나리오 유형 필드의 값이 상기 미디어 스트림이 대규모 아틀라스 정보를 갖는 멀티-뷰 비디오임을 나타내기 위해 사용되는 제2 값인 경우, 상기 방법은:
    상기 미디어 스트림에 포함된 카메라들에 대응하는 뷰들로부터 캡처된 깊이 맵들 및 텍스처 맵들과 상기 대규모 아틀라스 정보의 평면 프레임들 사이의 매핑 관계들을 얻기 위해 상기 캡슐화 파일을 파싱(parsing)하는 단계;
    상기 미디어 스트림에서 카메라 파라미터들을 얻기 위해 상기 미디어 스트림을 디코딩하는 단계; 및
    상기 매핑 관계들 및 상기 카메라 파라미터들에 따라 멀티-뷰 비디오를 3차원 공간에 표현하는 단계를 더 포함하는, 미디어 파일 캡슐화 해제 방법.
  14. 제12항 및 제13항 중 어느 한 항에 있어서,
    상기 타깃 미디어 컨텐츠의 타깃 설명 파일을 수신하는 단계 - 상기 타깃 설명 파일은 제2 어플리케이션 시나리오 유형 필드를 포함하고, 상기 제2 어플리케이션 시나리오 유형 필드는 상기 미디어 스트림에 대응하는 상기 어플리케이션 시나리오를 나타내기 위해 사용됨 - ; 및
    상기 제2 어플리케이션 시나리오 유형 필드에 따라 상기 미디어 스트림의 상기 캡슐화 파일로부터 타깃 미디어 스트림의 타깃 캡슐화 파일을 결정하는 단계를 더 포함하고,
    대응하는 어플리케이션 시나리오에서 타깃 미디어 컨텐츠의 미디어 스트림의 캡슐화 파일을 수신하는 단계는:
    상기 타깃 캡슐화 파일의 제1 어플리케이션 시나리오 유형 필드에 따라 상기 타깃 미디어 스트림에 대응하는 타깃 어플리케이션 시나리오를 결정하기 위해 상기 타깃 캡슐화 파일을 수신하는 단계를 포함하는, 미디어 파일 캡슐화 해제 방법.
  15. 미디어 파일 캡슐화 장치로서,
    대응하는 어플리케이션 시나리오에서 타깃 미디어 컨텐츠의 미디어 스트림을 획득하도록 구성된 미디어 스트림 획득 유닛;
    상기 미디어 스트림의 캡슐화 파일을 생성하기 위해 상기 미디어 스트림을 캡슐화하도록 구성된 미디어 스트림 캡슐화 유닛 - 상기 캡슐화 파일은 제1 어플리케이션 시나리오 유형 필드를 포함하고, 상기 제1 어플리케이션 시나리오 유형 필드는 상기 미디어 스트림에 대응하는 어플리케이션 시나리오를 나타내기 위해 사용됨 - ; 및
    제1 디바이스가 상기 제1 어플리케이션 시나리오 유형 필드에 따라 상기 미디어 스트림에 대응하는 상기 어플리케이션 시나리오를 결정하고 상기 미디어 스트림에 대응하는 상기 어플리케이션 시나리오에 따라 상기 미디어 스트림의 렌더링 방법 및 디코딩 방법 중 적어도 하나를 결정하기 위해 상기 캡슐화 파일을 상기 제1 디바이스로 전송하도록 구성된 캡슐화 파일 전송 유닛을 포함하는, 미디어 파일 캡슐화 장치.
  16. 미디어 파일 캡슐화 해제 장치로서,
    대응하는 어플리케이션 시나리오에서 타깃 미디어 컨텐츠의 미디어 스트림의 캡슐화 파일을 수신하도록 구성된 캡슐화 파일 수신 유닛 - 상기 캡슐화 파일은 제1 어플리케이션 시나리오 유형 필드를 포함하고, 상기 제1 어플리케이션 시나리오 유형 필드는 상기 미디어 스트림에 대응하는 어플리케이션 시나리오를 나타내기 위해 사용됨 - ;
    상기 제1 어플리케이션 시나리오 유형 필드를 얻기 위해 상기 캡슐화 파일을 캡슐화 해제하도록 구성된 파일 캡슐화 해제 유닛;
    상기 제1 어플리케이션 시나리오 유형 필드에 따라 상기 미디어 스트림에 대응하는 상기 어플리케이션 시나리오를 결정하도록 구성된 어플리케이션 시나리오 획득 유닛; 및
    상기 미디어 스트림에 대응하는 상기 어플리케이션 시나리오에 따라 상기 미디어 스트림의 렌더링 방법 및 디코딩 방법 중 적어도 하나를 결정하도록 구성된 디코딩 및 렌더링 결정 유닛을 포함하는, 미디어 파일 캡슐화 해제 장치.
  17. 전자 디바이스로서,
    적어도 하나의 프로세서; 및
    적어도 하나의 프로그램을 저장하도록 구성된 저장 장치를 포함하고, 상기 적어도 하나의 프로그램은 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금 제1항 내지 제11항 중 어느 한 항에 따른 미디어 파일 캡슐화 방법을 구현하게 하거나, 제12항 내지 제14항 중 어느 한 항에 따른 미디어 파일 캡슐화 해제 방법을 구현하게 하는, 전자 디바이스.
  18. 컴퓨터 프로그램을 저장한 컴퓨터-판독 가능 저장 매체로서,
    상기 컴퓨터 프로그램은 프로세서에 의해 실행될 때, 제1항 내지 제11항 중 어느 한 항에 따른 미디어 파일 캡슐화 방법을 구현하거나, 제12항 내지 제14항 중 어느 한 항에 따른 미디어 파일 캡슐화 해제 방법을 구현하는, 컴퓨터-판독 가능 저장 매체.
  19. 명령들을 포함하는 컴퓨터 프로그램 제품으로서,
    상기 명령들은 컴퓨터 상에서 실행될 때, 상기 컴퓨터로 하여금 제1항 내지 제11항 중 어느 한 항에 따른 미디어 파일 캡슐화 방법을 수행하게 하거나, 제12항 내지 제14항 중 어느 한 항에 따른 미디어 파일 캡슐화 해제 방법을 수행하게 하는, 컴퓨터 프로그램 제품.
KR1020227037594A 2020-10-14 2021-09-16 미디어 파일 캡슐화 방법, 미디어 파일 캡슐화 해제 방법 및 관련 디바이스 KR102661694B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202011098190.7 2020-10-14
CN202011098190.7A CN114374675B (zh) 2020-10-14 2020-10-14 媒体文件的封装方法、媒体文件的解封装方法及相关设备
PCT/CN2021/118755 WO2022078148A1 (zh) 2020-10-14 2021-09-16 媒体文件的封装方法、媒体文件的解封装方法及相关设备

Publications (2)

Publication Number Publication Date
KR20220160646A true KR20220160646A (ko) 2022-12-06
KR102661694B1 KR102661694B1 (ko) 2024-04-26

Family

ID=81138930

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227037594A KR102661694B1 (ko) 2020-10-14 2021-09-16 미디어 파일 캡슐화 방법, 미디어 파일 캡슐화 해제 방법 및 관련 디바이스

Country Status (6)

Country Link
US (1) US20230034937A1 (ko)
EP (1) EP4231609A4 (ko)
JP (1) JP7471731B2 (ko)
KR (1) KR102661694B1 (ko)
CN (2) CN114374675B (ko)
WO (1) WO2022078148A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190101422A (ko) * 2016-12-30 2019-08-30 후아웨이 테크놀러지 컴퍼니 리미티드 정보 처리 방법 및 장치

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120212579A1 (en) * 2009-10-20 2012-08-23 Telefonaktiebolaget Lm Ericsson (Publ) Method and Arrangement for Multi-View Video Compression
US9544612B2 (en) 2012-10-04 2017-01-10 Intel Corporation Prediction parameter inheritance for 3D video coding
GB2524478A (en) * 2014-03-20 2015-09-30 Nokia Technologies Oy Method, apparatus and computer program product for filtering of media content
CN108616751B (zh) * 2016-12-12 2023-05-12 上海交通大学 媒体信息的处理方法、装置及系统
US10819907B2 (en) * 2017-03-30 2020-10-27 Mediatek Inc. Method and apparatus for signaling spherical region information in ISOBMFF
US10559126B2 (en) 2017-10-13 2020-02-11 Samsung Electronics Co., Ltd. 6DoF media consumption architecture using 2D video decoder
CN108833937B (zh) * 2018-05-30 2021-03-23 华为技术有限公司 视频处理方法和装置
US11140380B2 (en) * 2018-06-06 2021-10-05 Lg Electronics Inc. Method and apparatus for processing overlay media in 360 degree video system
GB2575074B (en) * 2018-06-27 2022-09-28 Canon Kk Encapsulating video content with an indication of whether a group of tracks collectively represents a full frame or a part of a frame
CN110706355B (zh) * 2018-07-09 2021-05-11 上海交通大学 基于视频内容的指示信息标识方法、系统及存储介质
CN110704673B (zh) * 2018-07-09 2022-09-23 上海交通大学 基于视频内容消费的反馈信息标识方法、系统及存储介质
WO2020032004A1 (ja) * 2018-08-06 2020-02-13 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ格納方法、三次元データ取得方法、三次元データ格納装置、及び三次元データ取得装置
CN110944222B (zh) * 2018-09-21 2021-02-12 上海交通大学 沉浸媒体内容随用户移动变化的方法及系统
CN113302844A (zh) 2018-12-28 2021-08-24 索尼集团公司 信息处理装置和信息处理方法
CN111435991B (zh) * 2019-01-11 2021-09-28 上海交通大学 基于分组的点云码流封装方法和系统
JPWO2020166612A1 (ja) 2019-02-12 2021-12-16 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 三次元データ多重化方法、三次元データ逆多重化方法、三次元データ多重化装置、及び三次元データ逆多重化装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190101422A (ko) * 2016-12-30 2019-08-30 후아웨이 테크놀러지 컴퍼니 리미티드 정보 처리 방법 및 장치

Also Published As

Publication number Publication date
CN114374675B (zh) 2023-02-28
JP7471731B2 (ja) 2024-04-22
WO2022078148A1 (zh) 2022-04-21
JP2023520736A (ja) 2023-05-18
US20230034937A1 (en) 2023-02-02
KR102661694B1 (ko) 2024-04-26
EP4231609A4 (en) 2024-03-13
EP4231609A1 (en) 2023-08-23
CN114374675A (zh) 2022-04-19
CN116248642A (zh) 2023-06-09

Similar Documents

Publication Publication Date Title
US11765407B2 (en) Method, device, and computer program for transmitting media content
CN109155874B (zh) 虚拟现实媒体内容的自适应流传输的方法、装置和计算机程序
JP6984841B2 (ja) イメージ処理方法、端末およびサーバ
KR102261559B1 (ko) 정보 처리 방법 및 장치
KR102559862B1 (ko) 미디어 콘텐츠 전송을 위한 방법, 디바이스, 및 컴퓨터 프로그램
KR102320455B1 (ko) 미디어 콘텐트를 전송하는 방법, 디바이스, 및 컴퓨터 프로그램
US11638066B2 (en) Method, device and computer program for encapsulating media data into a media file
US20230421810A1 (en) Encapsulation and decapsulation methods and apparatuses for point cloud media file, and storage medium
CN113574903B (zh) 针对媒体内容中的后期绑定的方法和装置
CN115396647B (zh) 一种沉浸媒体的数据处理方法、装置、设备及存储介质
KR102661694B1 (ko) 미디어 파일 캡슐화 방법, 미디어 파일 캡슐화 해제 방법 및 관련 디바이스
CN115002470A (zh) 一种媒体数据处理方法、装置、设备以及可读存储介质
WO2023169003A1 (zh) 点云媒体的解码方法、点云媒体的编码方法及装置
WO2023169004A1 (zh) 点云媒体的数据处理方法、装置、设备及介质
WO2022193875A1 (zh) 多视角视频的处理方法、装置、设备及存储介质
US20230360678A1 (en) Data processing method and storage medium
CN116347118A (zh) 一种沉浸媒体的数据处理方法及相关设备
CN115061984A (zh) 点云媒体的数据处理方法、装置、设备、存储介质
CN118118694A (zh) 点云封装与解封装方法、装置、介质及电子设备
CN115733576A (zh) 点云媒体文件的封装与解封装方法、装置及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant