KR102656191B1 - Method and apparatus for point cloud contents access and delivery in 360 video environment - Google Patents

Method and apparatus for point cloud contents access and delivery in 360 video environment Download PDF

Info

Publication number
KR102656191B1
KR102656191B1 KR1020190123018A KR20190123018A KR102656191B1 KR 102656191 B1 KR102656191 B1 KR 102656191B1 KR 1020190123018 A KR1020190123018 A KR 1020190123018A KR 20190123018 A KR20190123018 A KR 20190123018A KR 102656191 B1 KR102656191 B1 KR 102656191B1
Authority
KR
South Korea
Prior art keywords
specifying
information
bounding
sub
spaces
Prior art date
Application number
KR1020190123018A
Other languages
Korean (ko)
Other versions
KR20200111089A (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 삼성전자주식회사
Priority to EP20772923.7A priority Critical patent/EP3884664A4/en
Priority to PCT/KR2020/003553 priority patent/WO2020189983A1/en
Priority to US16/818,345 priority patent/US11113870B2/en
Publication of KR20200111089A publication Critical patent/KR20200111089A/en
Application granted granted Critical
Publication of KR102656191B1 publication Critical patent/KR102656191B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23412Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs for generating or manipulating the scene composition of objects, e.g. MPEG-4 objects
    • 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/194Transmission of image signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • 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/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • H04N13/117Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/366Image reproducers using viewer tracking
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44012Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Processing Or Creating Images (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

본 개시는 3차원 데이터를 포함하는 비디오 컨텐츠를 전송하고 수신하기 위한 방법 및 장치에 관한 것이다. 본 개시의 일 실시 예에 따르면, VR에 포인트 클라우드 컨텐츠를 전송하는 방법은, 수신기의 시청 영역을 수신하는 단계, 수신기의 시청 영역에 재생될 3D 객체들 및 그 일부에 대한 송출 데이터를 식별하는 단계, 수신기의 시청 영역에 재생될 360 비디오의 영역 및 이를 위해 필요한 데이터를 식별하는 단계 및 상기 식별된 데이터를 포함하는 전체 컨텐츠의 일부를 전송하는 단계를 포함할 수 있다.This disclosure relates to methods and devices for transmitting and receiving video content including three-dimensional data. According to an embodiment of the present disclosure, a method of transmitting point cloud content to VR includes receiving a viewing area of a receiver, identifying 3D objects to be played in the viewing area of the receiver and transmitted data for a portion thereof. , It may include identifying the area of the 360 video to be played in the viewing area of the receiver and the data required for this, and transmitting a portion of the entire content including the identified data.

Description

360 비디오 환경에서 포인트 클라우드 콘텐트 액세스 및 전달을 위한 방법 및 장치{METHOD AND APPARATUS FOR POINT CLOUD CONTENTS ACCESS AND DELIVERY IN 360 VIDEO ENVIRONMENT}Method and apparatus for accessing and delivering point cloud content in a 360 video environment {METHOD AND APPARATUS FOR POINT CLOUD CONTENTS ACCESS AND DELIVERY IN 360 VIDEO ENVIRONMENT}

본 개시는 포인트 클라우드 (Point Cloud) 데이터 및 전방위 비디오 데이터를 컨텐츠를 전송하고 수신하기 위한 방법 및 장치에 관한 것이다.This disclosure relates to a method and device for transmitting and receiving content such as point cloud data and omnidirectional video data.

가상 현실(Virtual Reality)이란 어떤 특정한 환경이나 상황을 컴퓨터로 만들어서, 그것을 사용하는 사람이 마치 실제 환경 및 상황과 상호 작용을 하고 있는 것처럼 만들어 주는 사용자와 디바이스 사이의 인터페이스를 나타낸다. 가상 현실 기술은 조작된 감각 자극을 통해 사용자가 현실감을 느끼도록 하는 것으로 게임, 교육, 의료, 저널리즘 등 많은 산업 영역에서 활용될 수 있다. Virtual Reality refers to an interface between a user and a device that creates a specific environment or situation with a computer, making it as if the person using it is interacting with the real environment and situation. Virtual reality technology allows users to feel reality through manipulated sensory stimulation and can be used in many industrial areas such as games, education, medicine, and journalism.

최근 들어, 가상 현실에 대한 사람들의 관심이 높아지면서, 가상 현실을 구현하기 위한 기술에 대한 개발이 활발하게 이루어지고 있다. 특히, 가상 현실을 구현하기 위해 필요한 가상 공간을 구성하는 영상들을 처리하는 기술에 대한 연구가 활발하게 이루어지고 있는 실정이다. 예를 들어, 가상 현실 영상 관련 기술의 발달로, 사용자는 평면 영상이 아닌 360도 영상을 시청할 수 있게 되었다.Recently, as people's interest in virtual reality has increased, technology for implementing virtual reality has been actively developed. In particular, research is being actively conducted on technology for processing the images that make up the virtual space necessary to implement virtual reality. For example, with the development of virtual reality video technology, users can now watch 360-degree videos rather than flat videos.

포인트 클라우드는 3D 컨텐츠를 표현하기 위한 방법의 하나로 전체적인 압축 효율을 높이거나 시청자나 시청할 시청 공간에 해당하는 영역의 해상도를 다른 영역에 비해 높게 처리하기 위하여, 부분 전송이 수행될 수 있다. 서버는, 3D 이미지와 관련된 데이터의 전송량을 감소시키기 위해, 포인트 클라우드의 부분 전송뿐 아니라 배경등을 별도의 360 비디오로 전송할 수 있다. 이 때, 사용자에게 제공되는 3D 컨텐츠 및 그 배경 이미지에 홀(hole)이 발생하지 않도록 하기 위해서는, 렌더링을 위해 요구되는 최소한의 데이터에 대한 정보가 단말에게 제공되어야 하며, 단말은 시청 공간에 대한 정보를 서버에 제공하여야 한다.Point cloud is one of the methods for expressing 3D content, and partial transmission may be performed to increase overall compression efficiency or to process the area corresponding to the viewer or viewing space to have a higher resolution than other areas. The server may transmit not only partial transmission of the point cloud but also the background as a separate 360 video to reduce the amount of transmission of data related to the 3D image. At this time, in order to prevent holes in the 3D content and its background image provided to the user, information about the minimum data required for rendering must be provided to the terminal, and the terminal must provide information about the viewing space. must be provided to the server.

본 개시의 일 실시 예에 따르면, VR에 포인트 클라우드 컨텐츠를 전송하는 방법은, 수신기의 시청 영역을 수신하는 단계; 수신기의 시청 영역에 재생될 3D 객체들 및 그 일부에 대한 송출 데이터를 식별하는 단계; 수신기의 시청 영역에 재생될 360 비디오의 영역 및 이를 위해 필요한 데이터를 식별하는 단계 및 상기 식별된 데이터를 포함하는 전체 컨텐츠의 일부를 전송하는 단계를 포함할 수 있다.According to an embodiment of the present disclosure, a method of transmitting point cloud content to VR includes receiving a viewing area of a receiver; Identifying 3D objects to be reproduced in the viewing area of the receiver and transmitted data for portions thereof; It may include identifying the area of 360 video to be played in the viewing area of the receiver and the data required for this, and transmitting a portion of the entire content including the identified data.

본 개시의 일 실시 예에 따르면, VR에서 포인트 클라우드 컨텐츠를 재생하는 방법은, 수신기의 시청 영역을 송신기에 피드백하는 단계; 수신기된 데이터에서 3D 객체 및 360 비디오를 구별하여 처리하는 단계; 처리된 데이터는 사용자 디스플레이에 재생하는 단계를 포함할 수 있다.According to an embodiment of the present disclosure, a method of playing point cloud content in VR includes feeding back a viewing area of a receiver to a transmitter; Distinguishing and processing 3D objects and 360 video from the received data; The step may include playing the processed data on a user display.

도 1은 본 개시의 일 실시 예에 따라 3D 이미지에 관한 데이터를 전송하기 위한 전송 장치의 일반적인 데이터 처리 과정을 나타낸다.
도 2는 본 개시의 일 실시 예에 따라 3D 이미지를 2D 이미지로 프로젝션 하고, 프로젝션 된 2D 이미지를 패킹하는 방법을 설명하기 위한 도면이다.
도 3은 본 개시의 일 실시 예에 따른 3D 이미지에 관한 데이터를 수신하기 위한 수신 장치의 일반적인 데이터 처리 과정을 나타낸다.
도 4는 3D 객체를 둘러싸는 구를 분할하여 표현하는 방법의 예를 나타내는 도면이다.
도 5는 OMAF의 360 영상 구체와 6DoF 구체의 관계를 나타내는 도면이다.
도 6는 6DoF 구체와 이에 포한된 V-PCC 데이터간의 관계를 나타내는 도면이다.
도 7은 6DoF 구체의 배경으로 사용될 OMAF 영상의 일부를 추출하는 방법을 나타내는 도면이다.
도 8은 시청공간을 나타내는 데이터 구조체에 포함된 각 필드의 기하학적 의미를 나타내는 도면이다.
도 9은 시청공간을 나타내는 데이터 구조체들간의 벡터 표현방법 차이를 나타내는 도면이다
도 10은 시청공간을 나타내는 데이터 구조체에 포함된 각 필드의 기하학적 의미를 나타내는 도면이다.
Figure 1 shows a general data processing process of a transmission device for transmitting data about a 3D image according to an embodiment of the present disclosure.
FIG. 2 is a diagram illustrating a method of projecting a 3D image into a 2D image and packing the projected 2D image according to an embodiment of the present disclosure.
Figure 3 shows a general data processing process of a receiving device for receiving data about a 3D image according to an embodiment of the present disclosure.
Figure 4 is a diagram showing an example of a method for dividing and representing a sphere surrounding a 3D object.
Figure 5 is a diagram showing the relationship between the 360 image sphere of OMAF and the 6DoF sphere.
Figure 6 is a diagram showing the relationship between a 6DoF sphere and V-PCC data included therein.
Figure 7 is a diagram showing a method of extracting a part of an OMAF image to be used as the background of a 6DoF sphere.
Figure 8 is a diagram showing the geometric meaning of each field included in the data structure representing the viewing space.
Figure 9 is a diagram showing the difference in vector expression methods between data structures representing the viewing space.
Figure 10 is a diagram showing the geometric meaning of each field included in the data structure representing the viewing space.

아래에서는 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 개시의 실시 예를 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 또한, 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Below, with reference to the attached drawings, embodiments of the present disclosure will be described in detail so that those skilled in the art can easily implement the present disclosure. However, the present disclosure may be implemented in many different forms and is not limited to the embodiments described herein. In addition, in order to clearly explain the present disclosure in the drawings, parts that are not related to the description are omitted, and similar parts are given similar reference numerals throughout the specification.

본 개시의 일부 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다.Some embodiments of the present disclosure may be represented by functional block configurations and various processing steps. Some or all of these functional blocks may be implemented in various numbers of hardware and/or software configurations that perform specific functions. For example, the functional blocks of the present disclosure may be implemented by one or more microprocessors, or may be implemented by circuit configurations for certain functions. Additionally, for example, functional blocks of the present disclosure may be implemented in various programming or scripting languages. Functional blocks may be implemented as algorithms running on one or more processors. Additionally, the present disclosure may employ conventional technologies for electronic environment setup, signal processing, and/or data processing.

또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.Additionally, connection lines or connection members between components shown in the drawings merely exemplify functional connections and/or physical or circuit connections. In an actual device, connections between components may be represented by various replaceable or additional functional connections, physical connections, or circuit connections.

본 명세서에서 “이미지”란, 정지 이미지, 동영상, 비디오 프레임, 및/또는 비디오 스트림을 모두 포함할 수 있으며, 2D 프레임 및 3D 프레임과 2D와 3D가 혼재된 프레임을 모두 포함할 수 있다. 예를 들어, "이미지"는 포인트 클라우드로 표현되는 3D 프레임 또는 360도 전방향 미디어(Omnidirectional Media) 프레임, 혹은 포인트 클라우드로 표현되는 3D 객체(object)와 360도 전방향 미디어(Omnidirectional Media)가 함께 포함된 프레임을 포함할 수 있다.In this specification, “image” may include all still images, moving images, video frames, and/or video streams, and may include both 2D frames, 3D frames, and mixed 2D and 3D frames. For example, an “image” can be a 3D frame expressed as a point cloud or a 360-degree omnidirectional media frame, or a 3D object expressed as a point cloud and 360-degree omnidirectional media together. Can contain embedded frames.

본 명세서 전반에 걸쳐 사용되는 "이미지"라는 용어는 "이미지"라는 용어 자체뿐만 아니라, "픽쳐", "프레임", "필드" 또는 "슬라이스"등 관련 분야에서 알려질 수 있는 비디오 이미지 정보의 다양한 형태들을 설명하기 위한 포괄적인 용어로서 사용된다. 예를 들어, "이미지"는 비디오 컨텐츠를 구성하는 복수의 픽쳐들 또는 복수의 프레임들 중 하나를 의미할 수도 있고, 복수의 픽쳐들 또는 복수의 프레임들을 포함하는 비디오 컨텐츠 전체를 의미할 수도 있다.The term “image” used throughout this specification refers not only to the term “image” itself, but also to various forms of video image information that may be known in the related field, such as “picture,” “frame,” “field,” or “slice.” It is used as an umbrella term to describe things. For example, “image” may mean one of a plurality of pictures or a plurality of frames constituting video content, or it may mean the entire video content including a plurality of pictures or a plurality of frames.

본 명세서에서는 설명의 편의를 위하여 3D 객체는 포인트 클라우드 형식으로 표현되며, 전송을 위하여 ISO/IEC 23090-5 Video based Point Cloud Compression 등의 기술을 사용하여 압축될 수 있다고 가정하였다. 하지만 이는 본 발명의 적용 범위를 상기 형식 및 압축 기술로 제한하는 것을 의미하는 것은 아니며 Mesh 등 3D 객체를 표현하고 전송하는 일반적인 기술에도 본 발명이 적용될 수 있다. 또한 3D 객체는 하나의 독립적인 물체 또는 물체의 집합을 나타낸다. 일 예로 노트북이 올려져있는 책상을 3D 객체로 나타낼 때, 노트북와 책상을 각각의 객체로 간주하여 2개의 3D 객체를 생성하거나, 노트북와 책상을 모두 포함하는 3D 객체 1개를 생성할 수 있다.In this specification, for convenience of explanation, it is assumed that 3D objects are expressed in point cloud format and can be compressed for transmission using technologies such as ISO/IEC 23090-5 Video based Point Cloud Compression. However, this does not mean that the scope of application of the present invention is limited to the above format and compression technology, and the present invention can also be applied to general technologies for expressing and transmitting 3D objects such as mesh. Additionally, a 3D object represents an independent object or a set of objects. For example, when representing a desk on which a laptop is placed as a 3D object, the laptop and the desk can be regarded as separate objects and two 3D objects can be created, or one 3D object can be created that includes both the laptop and the desk.

이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.Hereinafter, the present disclosure will be described in detail with reference to the attached drawings.

도 1은 본 개시의 일 실시 예에 따라 3D 이미지에 관한 데이터를 전송하기 위한 전송 장치의 일반적인 데이터 처리 과정을 나타낸다. 예를 들어, 일 실시 예에 따른 전송 장치는, 3D 이미지와 관련된 데이터 또는 서비스를 제공하기 위한 서버일 수 있다. 3D 이미지는, 동적 이미지 및 정적 이미지 모두를 지칭할 수 있다. 또한, 3D 이미지에 관한 데이터는, 360도 전방향 가상 현실 컨텐츠 또는 6 자유도 관련 컨텐츠를 포함하는 몰입형 미디어 데이터를 및 포인트 클라우드 등의 3D 객체를 포함할 수 있다.Figure 1 shows a general data processing process of a transmission device for transmitting data about a 3D image according to an embodiment of the present disclosure. For example, a transmission device according to one embodiment may be a server for providing data or services related to 3D images. 3D images can refer to both dynamic and static images. Additionally, data related to 3D images may include immersive media data including 360-degree omnidirectional virtual reality content or 6-degree-of-freedom related content, and 3D objects such as point clouds.

도 1의 단계 110에서 전송 장치는, 3D 이미지를 획득할 수 있다. 일 예로서, 전송 장치는, 여러 방향에서 촬영된 다수의 카메라들로부터 획득된 이미지들을 이어붙여(stitching) 3D 이미지를 생성할 수 있다. 다른 예로서, 전송 장치는, 이미 생성된 3D 이미지에 관한 데이터를 외부로부터 수신할 수도 있다. 예를 들어, 3D 이미지는 구(sphere), 육면체(cube), 원통, 또는 8면체(octahedron) 중 어느 하나의 형태로 렌더링 될 수 있다. 다만, 본 개시는 예시된 3D 이미지의 형태에 제한되지 않으며, 다양한 형태의 3D 이미지가 생성 또는 수신될 수 있다.In step 110 of FIG. 1, the transmission device may acquire a 3D image. As an example, the transmission device can generate a 3D image by stitching images obtained from multiple cameras taken in various directions. As another example, the transmission device may receive data about an already created 3D image from the outside. For example, a 3D image may be rendered in any of the following shapes: a sphere, a cube, a cylinder, or an octahedron. However, the present disclosure is not limited to the exemplified types of 3D images, and various types of 3D images may be generated or received.

단계 120에서, 전송 장치는 공간 상의 3D 이미지를 2D 평면 상에 프로젝션 함으로써, 2D 이미지를 생성할 수 있다. 일 실시 예에 따른 전송 장치는, 3D 공간 상의 전 방향 이미지를 정해진 포맷의 사각형 픽쳐에 투영하는 프로젝션을 수행할 수 있다.In step 120, the transmission device may generate a 2D image by projecting a 3D image in space onto a 2D plane. A transmission device according to an embodiment may perform projection to project an omnidirectional image in 3D space onto a square picture in a predetermined format.

3D 이미지를 2D 이미지로 프로젝션하기 위해, ERP(equirectangular projection), OHP(octahedron projection), 실린더 프로젝션, 큐브 프로젝션 및 해당 기술 분야에서 이용 가능한 다양한 프로젝션 방법들 중 어느 하나가 이용될 수 있다.To project a 3D image into a 2D image, any one of equirectangular projection (ERP), octahedron projection (OHP), cylinder projection, cube projection, and various projection methods available in the art may be used.

단계 130에서, 전송 장치는, 프로젝션된 2D 이미지를 패킹(packing)할 수 있다. 패킹은, 프로젝션된 2D 이미지를 구성하는 복수의 영역들 중 적어도 일부의 위치, 크기 및 방향을 변형하여, 새로운 2D 이미지(즉, 패킹된 2D 이미지)를 생성하는 것을 의미할 수 있다. 예를 들어, 패킹을 위하여, 영역의 리사이징(resize), 형태 변환(transforming), 회전 및/또는 재-샘플링(re-sampling)(예를 들어, 업샘플링, 다운샘플링, 영역 내의 위치에 따른 차등 샘플링), 리전 와이즈(region-wise) 패킹 등이 수행될 수 있다. 또한, 전송 장치는, 전체적인 압축 효율을 높이거나, 특정 뷰포트(viewport)에 해당하는 영역의 해상도를 다른 영역에 비해 높게 처리함으로써 사용자 시점 기반 프로세싱에 사용될 수 있도록 픽쳐의 구성을 가공함으로써 패킹된 픽쳐를 생성할 수 있다.In step 130, the transmission device may pack the projected 2D image. Packing may mean creating a new 2D image (i.e., a packed 2D image) by modifying the position, size, and direction of at least some of the plurality of regions that make up the projected 2D image. For example, for packing purposes, resizing, transforming, rotating, and/or re-sampling the region (e.g., upsampling, downsampling, differentially depending on location within the region) Sampling), region-wise packing, etc. may be performed. In addition, the transmission device improves the overall compression efficiency or processes the structure of the picture so that it can be used for user viewpoint-based processing by processing the resolution of the area corresponding to a specific viewport to be higher than that of other areas, thereby processing the packed picture. can be created.

도 2는 본 개시의 일 실시 예에 따라 3D 이미지를 2D 이미지로 프로젝션 하고, 프로젝션 된 2D 이미지를 패킹하는 방법을 설명하기 위한 도면이다.FIG. 2 is a diagram illustrating a method of projecting a 3D image into a 2D image and packing the projected 2D image according to an embodiment of the present disclosure.

도 2에 도시된 바와 같이, 예를 들어, 3D 이미지(210)는 구 형상을 가질 수 있다. 일 실시 예에 따른 전송 장치는, 3D 이미지(210)를 ERP 방식에 의해 프로젝션하여, 프로젝션된 2D 이미지(220)를 생성될 수 있다. 전송 장치는, 프로젝션된 2D 이미지(220)를 복수의 영역들(221, 222, 223, 224)로 분할할 수 있다. 도 2에서는 프로젝션된 2D 이미지(220)를 네 영역으로 분할하는 경우를 예로 도시하였으나, 본 개시는 도 2에 도시된 예에 제한되지 않는다. 프로젝션된 2D 이미지(220)는, 다양한 개수 및 다양한 형태로 분할될 수 있다. 전송 장치는, 프로젝션된 2D 이미지(220)를 분할하는 방법은 실시 예들에 따라 다양하게 변경될 수 있다. As shown in FIG. 2, for example, the 3D image 210 may have a spherical shape. The transmission device according to one embodiment may generate a projected 2D image 220 by projecting the 3D image 210 using an ERP method. The transmission device may divide the projected 2D image 220 into a plurality of areas 221, 222, 223, and 224. In FIG. 2 , an example of dividing the projected 2D image 220 into four regions is shown, but the present disclosure is not limited to the example shown in FIG. 2 . The projected 2D image 220 may be divided into various numbers and shapes. The transmission device's method of dividing the projected 2D image 220 may vary depending on embodiments.

일 실시 예에 따른 전송 장치는, 프로젝션된 2D 이미지(220)로부터 패킹된 2D 이미지(230)를 생성할 수 있다. 전송 장치는, 프로젝션된 2D 이미지(220)의 복수의 영역들(221, 222, 223, 224)을 변형 및 또는 재배치함으로써 패킹된 2D 이미지(230)를 생성할 수 있다. 패킹된 2D 이미지(230)의 복수의 영역들(231, 232, 233, 234) 각각은 프로젝션된 2D 이미지(220)의 복수의 영역들(221, 222, 223, 224)에 순차적으로 대응될 수 있다. 본 개시는 도 2에 도시된 예에 제한되지 않으며 실시 예들에 따라 다양한 변형 및 재배치가 수행될 수 있다.The transmission device according to one embodiment may generate a packed 2D image 230 from the projected 2D image 220. The transmission device may generate the packed 2D image 230 by transforming and/or rearranging the plurality of regions 221 , 222 , 223 , and 224 of the projected 2D image 220 . Each of the plurality of regions 231, 232, 233, and 234 of the packed 2D image 230 may sequentially correspond to the plurality of regions 221, 222, 223, and 224 of the projected 2D image 220. there is. The present disclosure is not limited to the example shown in FIG. 2 and various modifications and rearrangements may be made depending on the embodiments.

도 1로 돌아와서 설명하면, 단계 140에서 전송 장치는, 패킹된 픽쳐를 인코딩할 수 있다. 인코딩을 위해서는, 예를 들어, HEVC(High Effeciency Video Coding), AVC(Advanced Video Coding) 등의 다양한 비디오 코덱 방식이 이용될 수 있다. Returning to FIG. 1, in step 140, the transmission device may encode the packed picture. For encoding, for example, various video codec methods such as HEVC (High Efficiency Video Coding) and AVC (Advanced Video Coding) can be used.

일 실시 예에 따른 전송 장치는, 패킹된 픽쳐를 복수의 영역들로 분할할 수 있다. 전송 장치는, 패킹된 2D 이미지의 복수의 영역들에 대하여 개별적으로 인코딩을 수행할 수 있다. 전송 장치는 패킹된 픽쳐의 복수의 영역들 중 전송될 하나 이상의 영역에 대하여만 인코딩을 수행할 수도 있다. 일 예로서, 패킹된 픽쳐의 복수의 영역들 중 둘 이상의 영역들에 대한 그룹 이미지에 대하여 인코딩이 수행될 수 있다. 다른 예로서, 패킹된 픽쳐 전체에 대하여 인코딩이 수행될 수 있다.A transmission device according to an embodiment may divide a packed picture into a plurality of regions. The transmission device may individually perform encoding on a plurality of regions of the packed 2D image. The transmission device may perform encoding only on one or more regions to be transmitted among the plurality of regions of the packed picture. As an example, encoding may be performed on a group image for two or more regions among a plurality of regions of a packed picture. As another example, encoding may be performed on the entire packed picture.

단계 150에서 전송 장치는, 인코딩된 데이터를 캡슐화 할 수 있다. 전송 장치는, 인코딩된 데이터를 분할하고, 분할된 데이터에 헤더를 부가하는 등의 프로세싱을 통해 정해진 전송 프로토콜에 따르도록 인코딩된 데이터를 가공할 수 있다. 전송 장치는, 캡슐화된 데이터를 전송할 수 있다. 전송 장치는, 캡슐화된 데이터와 함께, 또는 데이터와 개별적으로 데이터와 관련된 추가적인 데이터 및/또는 데이터를 재생하기 위해 필요한 데이터(예를 들어, 메타데이터)를 전송할 수 있다.In step 150, the transmission device may encapsulate the encoded data. The transmission device can process the encoded data to comply with a designated transmission protocol through processing such as dividing the encoded data and adding a header to the divided data. The transmission device can transmit encapsulated data. The transmitting device may transmit additional data associated with the data, either together with the encapsulated data or separately from the data, and/or data necessary to reproduce the data (e.g., metadata).

전송 장치는, MMT(MPEG Media Transport) 방식에 따라 캡슐화를 통해 생성된 비트스트림을 전송할 수 있다. 일 실시 예에 따른 전송 장치는, 3D 이미지에 대응하는 복수의 트랙들을 생성하고, 복수의 트랙들 중 일부 또는 전부에 대한 데이터를 수신 장치에게 전송할 수 있다. 복수의 트랙들은 서로 상이한 영역들에 대한 데이터를 갖거나, 또는 서로 상이한 품질 등급(quality level)들을 가질 수 있다.The transmission device can transmit a bitstream generated through encapsulation according to the MMT (MPEG Media Transport) method. A transmitting device according to an embodiment may generate a plurality of tracks corresponding to a 3D image and transmit data for some or all of the plurality of tracks to a receiving device. A plurality of tracks may have data for different areas or may have different quality levels.

본 발명의 실시 예에 따른 전송 장치는 공간상의 특정 객체를 별도의 3D 객체로 추출하여 처리하고 이를 공간상의 이미지와 함께 전송할 수 있다. 일 예로 축구 중계 방송에서 경기장 및 관중 들은 2D 혹은 (저해상도 3D) 이미지로 전송하고 선수들은 각각 3D 객체로 추출한 뒤 압축등의 처리를 거쳐 전송할 수 있다. The transmission device according to an embodiment of the present invention can extract and process a specific object in space as a separate 3D object and transmit it together with an image in space. For example, in a soccer broadcast, the stadium and spectators can be transmitted as 2D or (low-resolution 3D) images, and the players can each be extracted as 3D objects and then processed such as compression before transmission.

단계 125에서, 전송장치는, 공간 상의 특정 객체는 포인트 클라우드 형식을 가지는 3D 객체로 추출될 수 있다. 상기 추출된 3D 객체는 일 예로 포인트 클라우드 형식을 가진다. In step 125, the transmission device may extract a specific object in space as a 3D object in a point cloud format. For example, the extracted 3D object has a point cloud format.

전송장치는 단계 135에서 3D 객체를 인코딩하기 위한 전처리를 수행하며, 단계 145에서 상기 전처리된 3D 객체를 인코딩하여 상술한 캡슐화(150) 과정을 거쳐 전송하게 된다. 상기 3D 객체 전처리 과정을 거친 결과는 복수의 2D 이미지 및 메타데이터일 수 있으며, 이는 3D 전용 인코더가 아닌 HEVC(High Effeciency Video Coding), AVC(Advanced Video Coding) 등의 다양한 비디오 코덱 방식이 상기 단계 145에서 사용할 수 있음을 의미한다. 본 발명의 실시 예에 따른 상기 3D 객체 전처리 (135) 과정은 이후에 상세히 기술하도록 한다.The transmission device performs preprocessing to encode the 3D object in step 135, and encodes the preprocessed 3D object in step 145 and transmits it through the encapsulation 150 process described above. The result of the 3D object pre-processing process may be a plurality of 2D images and metadata, which are generated in step 145 using various video codec methods such as HEVC (High Efficiency Video Coding) and AVC (Advanced Video Coding) rather than a 3D-specific encoder. This means that it can be used in . The 3D object preprocessing (135) process according to an embodiment of the present invention will be described in detail later.

상기 도 1에 나타낸 송신 시스템은 하나의 송신 장치가 3D 이미지와 3D 객체를 함께 캡슐화하여 전송하는 것으로 나타내었지만, 서비스 형태에 따라 3D 객체를 별도로 캡슐화하는 부가적인 송신장치를 사용할 수 있다.The transmission system shown in FIG. 1 shows that a single transmission device encapsulates and transmits a 3D image and a 3D object, but an additional transmission device that separately encapsulates the 3D object may be used depending on the service type.

도 3은 본 개시의 일 실시 예에 따른 3D 이미지에 관한 데이터를 수신하기 위한 수신 장치의 일반적인 데이터 처리 과정을 나타낸다.Figure 3 shows a general data processing process of a receiving device for receiving data about a 3D image according to an embodiment of the present disclosure.

본 개시의 일 실시 예에 따른 수신 장치는, 사용자에게 증강 현실 컨텐츠를 제공할 수 있는 AR 디바이스이거나, 가상 현실 컨텐츠를 제공할 수 있는 VR 디바이스일 수 있다. 또한, 수신 장치는 이외에도 3D 이미지에 관한 데이터를 수신하여 이를 재생할 수 있는 모든 종류의 디바이스를 지칭할 수 있다.A receiving device according to an embodiment of the present disclosure may be an AR device capable of providing augmented reality content to a user, or a VR device capable of providing virtual reality content. Additionally, a receiving device may refer to any type of device that can receive data about a 3D image and reproduce it.

일 실시 예에 따른 수신 장치는, 전송 장치에서 전송된 3D 이미지에 관한 데이터를 수신할 수 있다. 도 3의 단계 310에서 수신 장치는, 수신된 데이터에 대하여 캡슐화 해제(decapsulation)를 수행할 수 있다. 단계 310의 캡슐화 해제를 통하여, 도 1에서의 단계 140 및 단계 145의 인코딩을 통해 생성된 인코딩된 데이터 각각이 획득될 수 있다.A receiving device according to an embodiment may receive data related to a 3D image transmitted from a transmitting device. In step 310 of FIG. 3, the receiving device may perform decapsulation on the received data. Through decapsulation in step 310, each of the encoded data generated through encoding in steps 140 and 145 in FIG. 1 can be obtained.

단계 320에서 수신 장치는, 캡슐화 해제된 데이터에 대하여 디코딩을 수행할 수 있다. 단계 320의 디코딩을 통해 패킹된 2D 이미지가 복원될 수 있다. In step 320, the receiving device may perform decoding on the decapsulated data. The packed 2D image may be restored through decoding in step 320.

단계 325에서 수신 장치는, 캡슐화 해제된 데이터에 대하여 디코딩을 수행하여 2D 이미지 및 메타데이트를 복원하고 이를 사용하여 단계 335에서 3D 객체를 복원할 수 있다. In step 325, the receiving device may perform decoding on the de-encapsulated data to restore the 2D image and metadata and use them to restore the 3D object in step 335.

수신 장치는, 디코딩된 데이터에 대해서 이미지 렌더링을 수행함으로써 3D 이미지를 디스플레이 할 수 있다. 구체적으로, 단계 330에서 수신 장치는, 디코딩된 데이터(즉, 패킹된 2D 이미지)에 대하여 패킹 해제(unpacking)를 수행할 수 있다. 단계 330의 패킹 해제를 통하여, 도 1에서의 단계 120의 프로젝션을 통해 생성된 2D 이미지가 복원될 수 있다. The receiving device can display a 3D image by performing image rendering on the decoded data. Specifically, in step 330, the receiving device may perform unpacking on the decoded data (i.e., packed 2D image). Through the unpacking in step 330, the 2D image generated through the projection in step 120 in FIG. 1 can be restored.

수신 장치는, 패킹 해제를 수행하기 위하여, 도 1에서의 단계 130의 패킹에서 수행된 프로젝션 된 2D 이미지의 복수의 영역에 대한 변형 및/또는 재배치의 역변환을 수행할 수 있다. 이를 위해, 수신 장치는, 전송 장치에서 수행된 데이터의 패킹 방식에 대해서 알고 있을 수 있다. 예를 들어, 패킹 방식은, 전송 장치와 수신 장치 간에 미리 알고 있을 수 있다. 일 예로서, 전송 장치는, 패킹 방식에 관한 정보를 메타데이터와 같은 별도의 메시지를 통해 수신 장치에게 전달할 수 있다. 다른 예로서, 캡슐화를 통해 생성된 전송 데이터의 헤더 내부에, 패킹 방식에 관한 정보가 포함되어 수신 장치에게 전달될 수 있다.In order to perform unpacking, the receiving device may perform inverse transformation and/or rearrangement of a plurality of regions of the projected 2D image performed in packing in step 130 in FIG. 1 . To this end, the receiving device may know about the data packing method performed by the transmitting device. For example, the packing method may be known in advance between the transmitting device and the receiving device. As an example, the transmitting device may transmit information about the packing method to the receiving device through a separate message such as metadata. As another example, information about the packing method may be included in the header of the transmission data generated through encapsulation and transmitted to the receiving device.

단계 340에서 수신 장치는, 패킹 해제된 2D 이미지를 3D 이미지로 프로젝션할 수 있다. 일 실시 예에 따른 수신 장치는, 2D 이미지를 3D 이미지로 프로젝션 하기 위해 도 1의 단계 120에서 이용된 프로젝션의 역 프로젝션을 사용할 수 있으나, 반드시 이에 한정되는 것은 아니다. 수신 장치는, 패킹 해제된 2D 이미지를 3D 이미지로 프로젝션하여 3D 이미지를 생성할 수 있다.In step 340, the receiving device may project the unpacked 2D image as a 3D image. The receiving device according to one embodiment may use reverse projection of the projection used in step 120 of FIG. 1 to project a 2D image into a 3D image, but is not necessarily limited thereto. The receiving device can generate a 3D image by projecting the unpacked 2D image as a 3D image.

단계 345에서 수신장치는 단계 335에서 복원된 3D 객체에 대한 후처리를 수행할 수 있다. 상기 후처리는 화질 향상을 위한 작업 및 상기 단계 340의 이미지와의 좌표계 통일을 위한 회전, 확대 등의 처리를 포함할 수 있다.In step 345, the receiving device may perform post-processing on the 3D object restored in step 335. The post-processing may include processing to improve image quality and processing such as rotation and enlargement to unify the coordinate system with the image of step 340.

단계 350에서 수신 장치는, 단계 340에서 생성된 3D 이미지의 적어도 일부를 디스플레이 장치를 통해 디스플레이할 수 있다. 예를 들어, 수신 장치는 3D 이미지 중, 현재의 FOV(field of view)에 대응하는 데이터만을 추출하여 렌더링할 수 있다.In step 350, the receiving device may display at least a portion of the 3D image generated in step 340 through a display device. For example, the receiving device may extract and render only data corresponding to the current field of view (FOV) from among the 3D images.

상기 도 3에 나타낸 수신장치는 3D 이미지와 3D 객체를 함께 수신하여 캡슐화를 해제하는 것으로 나타내었지만, 서비스 형태에 따라 3D 객체를 별도로 스트림으로 수신하여 캡슐화를 해제할 수 있다.The receiving device shown in FIG. 3 is shown to release the encapsulation by receiving the 3D image and the 3D object together, but depending on the service type, it can release the encapsulation by receiving the 3D object separately as a stream.

본 발명의 실시 예에 따른 송신 장치는 컨텐츠를 구성하는 3D 이미지 및 3D 객체 전부를 캡슐화하여 수신 장치에 전달하거나, 상기 3D 이미지 및 3D 객체를 나타내는 데이터의 일부만을 캡슐화하여 수신 장치에 전달할 수 있다. 이 때 전송할 데이터의 일부를 선택하는 기준으로 수신 장치의 디스플레이가 재생할 3D 공간에서의 영역에 대한 피드백 정보가 사용될 수 있다.The transmitting device according to an embodiment of the present invention may encapsulate all of the 3D images and 3D objects constituting the content and transmit them to the receiving device, or may encapsulate only part of the data representing the 3D images and 3D objects and transmit them to the receiving device. At this time, feedback information about the area in 3D space to be reproduced by the display of the receiving device can be used as a standard for selecting a portion of data to be transmitted.

본 발명의 실시 예에 따른 송신 장치는 구(sphere)로 표현되는 공간에서 상기 3D 객체를 독립적인 처리가 가능하도록 절두체(frustum) 단위로 분할하고 처리하여 전송 할 수 있다.The transmitting device according to an embodiment of the present invention can divide and process the 3D object into frustum units to enable independent processing in a space expressed as a sphere and transmit it.

V-PCC (Video based point cloud compression) 기술은 인코딩할 3D 객체를 둘러싸는 가상의 공간을 상정하고 부호화를 위한 전처리를 수행한다. 본 발명의 실시 예에 따른 송신 장치는 3D 객체를 둘러싸는 구(sphere)를 상정하고 상기 전처리를 수행할 수 있다. 이때 3D 객체의 일부만을 별도로 처리하기 위해서는 상기 구를 복수의 영역으로 분할하고 각각의 분할된 영역과 인코딩된 데이터의 상관 관계를 표시하여야 한다.V-PCC (Video based point cloud compression) technology assumes a virtual space surrounding the 3D object to be encoded and performs preprocessing for encoding. The transmitting device according to an embodiment of the present invention can assume a sphere surrounding a 3D object and perform the above preprocessing. At this time, in order to separately process only part of the 3D object, the sphere must be divided into a plurality of areas and the correlation between each divided area and the encoded data must be displayed.

도 4는 상술한 3D 객체를 둘러싸는 구를 분할하여 표현하는 방법을 도시한 예이다. 상기 3D 객체를 둘러싸는 구는 구의 반지름 (bounding_shpere_radius)로 정의된다. 상기 도4에 나타낸 바와 같이 3D 객체를 둘러싸는 구는 (subdivision_columns, subdivision_row)로 표현되는 수평과 수직방향의 원호(circular arc) 및 subdivions_layer로 표현되는 계층으로 분할 될 수 있다. 이 때 부분구블록(sub-sphere block) 도4에 도시한바와 같이 타이어 등의 튜브를 자른 형태로 나타나며, 부분구블록의 크기는 상이할 수 있다.Figure 4 is an example showing a method of dividing and expressing a sphere surrounding the above-described 3D object. The sphere surrounding the 3D object is defined by the radius of the sphere (bounding_shpere_radius). As shown in FIG. 4, the sphere surrounding the 3D object can be divided into horizontal and vertical circular arcs expressed as (subdivision_columns, subdivision_row) and layers expressed as subdivisions_layer. At this time, the sub-sphere block appears in the form of a cut tube such as a tire, as shown in Figure 4, and the size of the sub-sphere block may be different.

상기 부분구블록은 연관된 세로(column), 가로 (row), 계층 (layer)의 색인 (index)로 식별 될 수 있으며, 3D 객체의 부분 처리를 위해서는 상기 부분구블록에 해당하는 데이터를 인코딩된 데이터에서 식별할 수 있어야한다. V-PCC(Video based point cloud compression) 기술을 예로 상기 부분구블록 당 필요한 데이터를 식별하는 방법을 설명하면 다음과 같다.The sub-sphere block can be identified by the index of the associated column, row, and layer, and for partial processing of a 3D object, the data corresponding to the sub-sphere block must be encoded as encoded data. must be identifiable. As an example of V-PCC (Video based point cloud compression) technology, the method for identifying the data required for each subblock is explained as follows.

V-PCC 기술은 HEVC, AVC등의 2D 비디오 코덱을 기본 압축 도구로 사용하므로, 상기 부분구블록에 해당하는 3D 객체의 부분이 상기 2D 비디오 코덱으로 입력되는 하나 혹은 복수의 2D 비디오 프레임에서 어떤 2D 영역에 해당하는지를 식별하면 상기 3D 객체의 부분을 나타내는 데이터를 식별할 수 있다. 이 때 상기 2D 비디오 코덱으로 입력되는 2D 비디오 프레임 각각은 다음 데이터 중 하나 혹은 그 상을 포함할 수 있다: geometry, texture, occupancy, patch data. 또한 상기 2D 비디오 프레임에서의 영역은 다음 방법 중의 하나로 기술될 수 있다.V-PCC technology uses 2D video codecs such as HEVC and AVC as a basic compression tool, so the part of the 3D object corresponding to the subblock is a certain 2D video frame in one or more 2D video frames input to the 2D video codec. By identifying whether it corresponds to an area, data representing a part of the 3D object can be identified. At this time, each 2D video frame input to the 2D video codec may include one or more of the following data: geometry, texture, occupancy, and patch data. Additionally, the area in the 2D video frame can be described in one of the following methods.

1. 픽셀 단위로 정의되는 임의의 사각형 영역1. Random rectangular area defined in pixels

2. 기존 2D 비디오 코덱에서 정의된 영역: HEVC motion constrained tile sets, Slice segment address in AVC, Coding tree units in HEVC 등2. Areas defined in existing 2D video codecs: HEVC motion constrained tile sets, Slice segment address in AVC, Coding tree units in HEVC, etc.

기존의 V-PCC (Video based point cloud compression) 기술은 인코딩할 3D 객체를 둘러싸는 가상의 직육면체(cuboid)를 상정하고 부호화를 위한 전처리를 수행한다. 상기 직육면체 형식의 bounding box와 본 개시에서 제안하는 bounding sphere를 모두 사용하는 시스템에서 3D 부분블록은 다음 [표 1]과 같은 구조체를 사용하여 시그널링 될 수 있다.The existing V-PCC (Video based point cloud compression) technology assumes a virtual cuboid surrounding the 3D object to be encoded and performs preprocessing for encoding. In a system that uses both the cuboid-type bounding box and the bounding sphere proposed in this disclosure, 3D partial blocks can be signaled using the structure shown in [Table 1].

Figure 112019101500618-pat00001
Figure 112019101500618-pat00001

또한 상기 각 부분블록에 해당하는 2D 비디오 프레임 내의 영역과의 관계는 다음 [표 2]와 같은 구조체를 사용하여 시그널링 될 수 있다.Additionally, the relationship with the area within the 2D video frame corresponding to each partial block can be signaled using the structure shown in [Table 2].

Figure 112019101500618-pat00002
Figure 112019101500618-pat00002

상기 [표 1]과 [표 2]의 각 필드에 대한 용법은 일 예로 다음과 같다:As an example, the usage of each field in [Table 1] and [Table 2] is as follows:

block_type equal to 0 represents a cuboid bounding box with a subdivision of the bounding box into cartesian cuboid blocks; equal to 1 represents a spherical bounding sphere with a subdivision of the bounding sphere into spherical sub-sphere blocks. (직육면체 형태의 부분블록을 사용할 경우에는 0, 구를 분할한 부분구블록을 사용할 경우에는 1의 값음 가짐) block_type equal to 0 represents a cuboid bounding box with a subdivision of the bounding box into cartesian cuboid blocks; equal to 1 represents a spherical bounding sphere with a subdivision of the bounding sphere into spherical sub-sphere blocks. (If a cuboid-shaped partial block is used, the value is 0. If a sphere-shaped partial block is used, the value is 1.)

uniform_spacing_flag specifies, when equal to 1, that the subdivision of cuboid blocks or sub-sphere blocks are uniform between the number of subdivisions specified. When equal to 0, cuboid block or sub-sphere block sizes are specified implicitly. (균등분할의 경우에는 1, 비균등분할의 경우에는 0의 값을 가지며, 비균등분할을 사용할 경우에는 각 부분블록/부분구블록의 크기가 기술됨) uniform_spacing_flag specifies, when equal to 1, that the subdivision of cuboid blocks or sub-sphere blocks are uniform between the number of subdivisions specified. When equal to 0, cuboid block or sub-sphere block sizes are specified implicitly. (In the case of equal division, the value is 1, in the case of non-equal division, the value is 0, and when non-equal division is used, the size of each partial block/sub-division block is described)

bounding_box_x_width, bounding_box_y_height, and bounding_box_z_depth specify the dimensions of the bounding box used for the representation of the point cloud data. Units are defined as points equivalent to the number of geometry 3D points representable by the number of bits used for encoding V-PCC data. (직육면체의 바분딩 박스의 크기. V-PCC 압축에 사용한 컨텐츠의 포인트와 동일한 단위로 기술됨) bounding_box_x_width , bounding_box_y_height , and bounding_box_z_depth specify the dimensions of the bounding box used for the representation of the point cloud data. Units are defined as points equivalent to the number of geometry 3D points representable by the number of bits used for encoding V-PCC data. (Size of the cuboidal Babunding box. Described in the same units as the content points used for V-PCC compression)

subdivisions_x, subdivisions_y, and subdivisions_z are intergers specifying the number of subdivision blocks each axes is divided into. (직육면체의 바분딩 박스가 각 축으로 분할되는 개수) subdivisions_x , subdivisions_y , and subdivisions_z are intergers specifying the number of subdivision blocks each axes is divided into. (Number of cuboidal Babunding boxes divided into each axis)

subdivision_width, subdivision_height, and subdivision_depth specify respectively the length of the width, height and depth of the specific PCC block, in the same units as the bouding box. (직육면체의 바분딩 박스를 각 축으로 분할할때, 각 분할선 간의 간격) subdivision_width , subdivision_height , and subdivision_depth specify respectively the length of the width, height and depth of the specific PCC block, in the same units as the bouding box. (When dividing a rectangular Babunding box into each axis, the gap between each dividing line)

bounding_sphere_radius specifies the radius of the bound sphere containing the point cloud data. (구형태의 바분딩 스피어의 크기. V-PCC 압축에 사용한 컨텐츠의 포인트와 동일한 단위로 기술됨) bounding_sphere_radius specifies the radius of the bound sphere containing the point cloud data. (Size of a spherical Babunding sphere. Described in the same units as the content points used for V-PCC compression)

subdivision_columns specifies the number of subdivision volumetric sub-sphere columns which the sphere is divided into. (구를 수직 방향으로 분할하는 개수) subdivision_columns specifies the number of subdivision volumetric sub-sphere columns which the sphere is divided into. (Number of vertical divisions of the sphere)

subdivision_rows specifies the number of subdivision volumetric sub-sphere rows which the sphere is divided into. (구를 수평 방향으로 분할하는 개수) subdivision_rows specifies the number of subdivision volumetric sub-sphere rows which the sphere is divided into. (Number of divisions of the sphere in the horizontal direction)

subdivision_layers specifies the number of subdivision sub-sphere layers which the sphere is divided into. (구를 분할하는 계층의 개수) subdivision_layers specifies the number of subdivision sub-sphere layers which the sphere is divided into. (Number of layers dividing the sphere)

column_width_angle specifies the subtending angle, in radians, which defines the maximum width of the corresponding sub-sphere block (a circular arc). (구의 수직 방향 분할로 생성된 호선(circual arc)의 원점을 기준으로 하는 각도 (subtending angle)) column_width_angle specifies the subtending angle, in radians, which defines the maximum width of the corresponding sub-sphere block (a circular arc). (subtending angle based on the origin of the circular arc created by vertical division of the sphere)

row_length_angle specifies the subtending angle, in radians, which defines the maximum height of the corresponding sub-sphere block (a circular arc). (구의 수평 방향 분할로 생성된 호선(circual arc)의 원점을 기준으로 하는 각도 (subtending angle)) row_length_angle specifies the subtending angle, in radians, which defines the maximum height of the corresponding sub-sphere block (a circular arc). (subtending angle based on the origin of the circular arc created by horizontal division of the sphere)

depth_thickness specifies the thickness of the corresponding sub-sphere block. (해상 부분구블록의 두께) depth_thickness specifies the thickness of the corresponding sub-sphere block. (Thickness of offshore sub-district block)

num _regions specifies the number of 2D frame regions containing V-PCC patch data corrsponding to a specific PCC block volume. (V-PCC patch 데이터에서 해당 3D 부분블록/부분구블록에 해당하는 2D 프레임 영역의 개수) num _regions specifies the number of 2D frame regions containing V-PCC patch data corrsponding to a specific PCC block volume. (Number of 2D frame areas corresponding to the corresponding 3D partial block/partial block in V-PCC patch data)

declaration_type defines the granularity of the declaration for the 2D frame region: (2D 프레임 영역을 정의하는 단위, [표 3] 참조) declaration_type defines the granularity of the declaration for the 2D frame region: (unit defining the 2D frame region, see [Table 3])

ValueValue Declaration TypeDeclaration Type 0x000x00 Rectangular pixel regionRectangular pixel region 0x010x01 Motion constrained tile setMotion constrained tile set 0x020x02 Slice segmentSlice segment 0x030x03 Coding tree unitCoding tree unit 0x04 ~0x04 ~ ReservedReserved

reg _width and reg _height specify the width and height, respectively, of a rectangular pixel region in the 2D frame (사각형 2D 프레임 영역에서 가로, 세로 픽셀의 개수) reg _width and reg _height specify the width and height, respectively, of a rectangular pixel region in the 2D frame (number of horizontal and vertical pixels in the rectangular 2D frame region)

reg _top specifies the pixel distance from the top of the 2D frame to the top edge of the rectangular pixel region (2D 프레임의 상단 원점에서 해당 사각형 2D 프레임 영역의 윗면까지의 픽셀 개수) reg _top specifies the pixel distance from the top of the 2D frame to the top edge of the rectangular pixel region (number of pixels from the top origin of the 2D frame to the top of the rectangular 2D frame region)

reg _left specifies the pixel distance from the left of the 2D frame to the left edge of the rectangular pixel region (2D 프레임의 좌측 원점에서 해당 사각형 2D 프레임 영역의 좌측면까지의 픽셀 개수) reg _left specifies the pixel distance from the left of the 2D frame to the left edge of the rectangular pixel region (number of pixels from the left origin of the 2D frame to the left side of the rectangular 2D frame region)

본 발명의 실시 예에 따른 전방위 비디오 영상과 3D 객체로 구성된 컨텐츠 제공 서비스는 컨텐츠 재생에 필요한 전체 데이터가 아니라 사용자 디스플레이에 재생되는 부분을 포함하는 컨텐츠의 일부를 재생하기 위해 필요한 데이터만을 통신망을 통하여 제공함으로써, 통신망의 전송용량 및 사용자 단말 미디어 처리 능력의 한계를 넘은 고품질의 서비스 제공이 가능하다. 이후로는 ISO/IEC 23090-2 Omnidirectional media format (OMAF) 기술로 생성된 360 비디오와 V-PCC 기술로 처리된 3D 객체 함께 제공하는 서비스를 기준으로 컨텐츠의 일부만을 제공하고 수신기에서 재생하기 위한 방법을 설명한다. The content provision service consisting of omnidirectional video images and 3D objects according to an embodiment of the present invention provides only the data necessary to play a part of the content, including the part played on the user display, through a communication network, rather than the entire data required to play the content. By doing so, it is possible to provide high-quality services that exceed the limits of the communication network's transmission capacity and user terminal media processing capabilities. From now on, it is a method to provide only part of the content and play it on the receiver based on the service provided with 360 video generated with ISO/IEC 23090-2 Omnidirectional media format (OMAF) technology and 3D objects processed with V-PCC technology. Explain.

도 5는 OMAF의 360 영상 구체(OMAF 360 Video sphere)와 후술할 6DoF 구채(6DoF bounding sphere)간의 관계를 나타낸다. 일 예로 상기 OMAF 영상은 컨텐츠의 배경을 나타낼 수 있으며, 사용자는 상기 6DoF 구체 내에서 시점의 원점과 방향을 전방향으로 자유롭게 바꿔가면서 컨텐츠를 재생할 수 있다. 이 때 상기 6DoF 구체는 상술한 3D 객체를 둘러싼 구와 마찬가지로 복수의 부분구블록으로 분할 될 수 있으며, 상기 각각의 부분구블록은 하나의 3D 객체의 일부 혹은 복수의 3D 객체 각각의 일부들을 포함할 수 있다. 사용자 시점의 원점 및 방향에 따라 컨텐츠 재생에 필요한 상기 부분구블록들이 식별될 수 있으며, 상기 [표 1], [표 2]등의 부가 정보를 사용하여 컨텐츠 재생에 필요한 데이터만을 추출하여 전송할 수 있다. 도 6은 상술한 6DoF 구체와 상기 6DoF 구체에 포함된 V-PCC 데이터간의 관계를 개념적으로 나타낸 도면이다.Figure 5 shows the relationship between the OMAF 360 Video sphere and the 6DoF bounding sphere, which will be described later. As an example, the OMAF image may represent the background of the content, and the user can play the content while freely changing the origin and direction of the viewpoint within the 6DoF sphere. At this time, the 6DoF sphere may be divided into a plurality of sub-spherical blocks, similar to the sphere surrounding the 3D object described above, and each sub-spherical block may include a part of one 3D object or parts of each of a plurality of 3D objects. there is. The sub-blocks necessary for content playback can be identified according to the origin and direction of the user's viewpoint, and only the data necessary for content playback can be extracted and transmitted using additional information such as [Table 1] and [Table 2]. . Figure 6 is a diagram conceptually showing the relationship between the above-described 6DoF sphere and V-PCC data included in the 6DoF sphere.

도 7은 6DoF 구체의 배경으로 사용될 OMAF 영상의 일부를 추출하는 방법을 나타내는 도면이다. 도 7을 참조하면 상기 6DoF 구체의 사용자 시점의 원점 및 방향이 정해졌을 때, 상기 6DoF 구체의 시청 공간 (viewing volume)은 절두체(frustum) 형태로 표현될 수 있다. 이 때 상기 OMAF 영상 중 상기 시청공간과 함께 재생될 부분은 상기 절두체를 상기 360 영상 구체의 원점으로 옮기고(translating), 상기 절두체를 상기 360 영상 구체의 안쪽면으로 투영하여 찾을 수 있다. 상기 절두체와 함께 재생될 360 영상의 영역이 식별된 이후에, 상기 식별된 역영을 나타내는 데이터를 추출하여 전송하는 방법은 OMAF 규격 등에서 정의된 Sub-picture tile등의 종래 기술을 사용할 수 있다.Figure 7 is a diagram showing a method of extracting a part of an OMAF image to be used as the background of a 6DoF sphere. Referring to FIG. 7, when the origin and direction of the user's viewpoint of the 6DoF sphere are determined, the viewing volume of the 6DoF sphere can be expressed in the form of a frustum. At this time, the portion of the OMAF image to be played along with the viewing space can be found by translating the frustum to the origin of the 360 image sphere and projecting the frustum onto the inner surface of the 360 image sphere. After the area of the 360 image to be played with the frustum is identified, a method of extracting and transmitting data representing the identified area can use conventional techniques such as sub-picture tile defined in the OMAF standard, etc.

상술한 시청공간 혹은 절두체는 다음 [표 4] 혹은 [표 5]의 구조체와 같이 정의 될 수 있다.The viewing space or frustum described above can be defined as the structure shown in [Table 4] or [Table 5].

Figure 112019101500618-pat00003
Figure 112019101500618-pat00003

Figure 112019101500618-pat00004
Figure 112019101500618-pat00004

도 8은 [표 4]의 구조체에 포함된 각 필드의 기하학적 의미를 나타내다. 상기 [표 5]의 구조체는 상기 [표 4]의 구조체에서의 상기 절두체를 나타내는 벡터를 크기(vector_magniture)와 방향을 나타내는 단위 벡터(vector_azimuth, vector_elevation)로 나누어서 표현한 것으로, 상기 벡터의 상기 절두체의 깊이 (depth)로 간주될 수 있으며, 360 영상에 컨텐츠 깊이(depth)가 주어질 경우에 2가지 컨텐츠의 depth를 비교하여 최종적으로 사용자 디스플레이에 표현될 미디어를 렌더링하는 과정에서 사용될 수 있다. 도 9는 상기 [표 4]과 [표 5]에 나타낸 구조체들간의 벡터 표현 방법의 차이를 나타낸다.Figure 8 shows the geometric meaning of each field included in the structure in [Table 4]. The structure of [Table 5] is expressed by dividing the vector representing the frustum in the structure of [Table 4] into unit vectors (vector_azimuth, vector_elevation) representing size (vector_magniture) and direction, and the depth of the frustum of the vector It can be considered as depth, and when content depth is given to a 360 video, it can be used in the process of rendering media to be ultimately displayed on the user display by comparing the depth of the two pieces of content. Figure 9 shows the difference in vector expression methods between the structures shown in [Table 4] and [Table 5].

본 발명의 다른 실시 예에서 상술한 시청공간 혹은 절두체는 다음 [표 6] 의 구조체와 같이 정의 될 수 있다. In another embodiment of the present invention, the viewing space or frustum described above can be defined as the structure shown in Table 6 below.

Figure 112019101500618-pat00005
Figure 112019101500618-pat00005

도 10은 [표 6]의 구조체에 포함된 각 필드의 기하학적 의미를 나타내다. Figure 10 shows the geometric meaning of each field included in the structure in [Table 6].

상기 구조체에 포함된 값 중에서, 시청공간을 나타내는 절두체의 가까운 면의 중심점 (near_point_x, near_point_y, near_point_z)는 시청자가 시청하고자하는 위치를 나타내며, 절두체의 방향(vector_x, vector_y, vector_z)은 시청하고자 하는 방향 및 깊이를 나타낸다. 일 예로 시청 방향은 수신 장치의 방향 측정 센서 혹은 사용자 입력으로 얻어질 수 있으며, 깊이는 시청 단말의 capability 혹은 컨텐츠의 특성에 따라 정의 될 수 있다. 일 예로 3D 디스플레이의 경우에는 디스플레이에서 지원하는 최대 depth를 물리적인 특성으로 가질 수 있으며, 컨텐츠의 depth 역시 촬영 및 생성 단계에서 정해 질 수 있다. 마찬가지로 절두체의 먼 면의 크기를 정의하는 파라미터들 역시 시청단말의 capability 혹은 컨텐츠의 특성에 따라 정의 될 수 있다.Among the values included in the structure, the center point (near_point_x, near_point_y, near_point_z) of the near side of the frustum representing the viewing space represents the location where the viewer wants to watch, and the direction of the frustum (vector_x, vector_y, vector_z) represents the direction in which the viewer wants to view. and depth. For example, the viewing direction can be obtained from the direction measurement sensor of the receiving device or user input, and the depth can be defined according to the capabilities of the viewing terminal or the characteristics of the content. For example, in the case of a 3D display, the maximum depth supported by the display can be a physical characteristic, and the depth of content can also be determined at the shooting and creation stage. Likewise, parameters defining the size of the far side of the frustum can also be defined according to the capabilities of the viewing terminal or the characteristics of the content.

본 발명의 실시 예에 따른 미디어 서비스에서 MMT 프로토콜을 전송프로토콜로 사용할 경우에, 상기 시청공간은 피드백 메시지를 통하여 수신장치에서 송신장치로 전달 될 수 있다. 송신장치는 상기 피드백 메시지를 수신 및 처리하여 수신장치의 시청공간을 파악한뒤 상기 시청공간에 해당하는 데이터만을 선택하여 수신장치에 전송할 수 있다. 이 때 필요한 3D 객체를 MMT asset 단위로 파악하고 선택하는 과정은 종래 MMT 기반 전송 기술을 따를 수 있다.When the MMT protocol is used as a transmission protocol in a media service according to an embodiment of the present invention, the viewing space can be transferred from the receiving device to the transmitting device through a feedback message. The transmitting device can receive and process the feedback message to identify the viewing space of the receiving device, then select only data corresponding to the viewing space and transmit it to the receiving device. At this time, the process of identifying and selecting the required 3D object in units of MMT assets can follow conventional MMT-based transmission technology.

[표 7]은 상기 [표 4]의 구조체를 송신 장치로 전달하기 위해 MMT 시그널링의 형태로 형식화한 시그널링 메시지의 구현 예이다.[Table 7] is an example of an implementation of a signaling message formatted in the form of MMT signaling to transmit the structure of [Table 4] to the transmitting device.

Figure 112019101500618-pat00006
Figure 112019101500618-pat00006

message_id indicates the identifier of the V-PCC application message. (V-PCC 응용을 위한 시그널링메시지 임을 나타내기 위한 식별자) message_id indicates the identifier of the V-PCC application message. (Identifier to indicate that it is a signaling message for V-PCC application)

version indicates the version of the V-PCC application message. (V-PCC 응용을 위한 시그널링메시지의 버전) version indicates the version of the V-PCC application message. (Version of signaling message for V-PCC application)

length indicates the length of the V-PCC application message in bytes, counting from the beginning of the next field to the last byte of the message. The value of this field shall not be equal to 0. (다음 필드부터 해당 메시지의 마지막까지의 바이트 수) length indicates the length of the V-PCC application message in bytes, counting from the beginning of the next field to the last byte of the message. The value of this field shall not be equal to 0. (Number of bytes from the next field to the end of the message)

application_identifier - indicates the application identifier as a urn that uniquely identifies the application to consume the contents of this message. (V-PCC 응용을 식별하지 위한 urn 형식의 식별자) application_identifier - indicates the application identifier as a urn that uniquely identifies the application to consume the contents of this message. (Identifier in urn format to identify V-PCC application)

app_message_type - defines an application-specific message type. The length of this field is 8 bits. (V-PCC 응용을 위한 시그널링 중에서 해당 메시지(시청영역 피드백)를 식별하지 위한 식별자) app_message_type - defines an application-specific message type. The length of this field is 8 bits. (Identifier to identify the corresponding message (viewing area feedback) among signaling for V-PCC application)

near_point_x - indicates the x coordinate value of the near point of the client's viewing frustum. The near point corresponds to the centre point of the near plane of the viewing frustum. (시청영역을 나타내는 절두체의 가까운 면에서 중심점의 x 좌표) near_point_x - indicates the x coordinate value of the near point of the client's viewing frustum. The near point corresponds to the center point of the near plane of the viewing frustum. (x-coordinate of the center point on the near side of the frustum representing the viewing area)

near_point_y - indicates the y coordinate value of the near point of the client's viewing frustum. The near point corresponds to the centre point of the near plane of the viewing frustum. (시청영역을 나타내는 절두체의 가까운 면에서 중심점의 y 좌표) near_point_y - indicates the y coordinate value of the near point of the client's viewing frustum. The near point corresponds to the center point of the near plane of the viewing frustum. (y coordinate of the center point on the near side of the frustum representing the viewing area)

near_point_z - indicates the z coordinate value of the near point of the client's viewing frustum. The near point corresponds to the centre point of the near plane of the viewing frustum. (시청영역을 나타내는 절두체의 가까운 면에서 중심점의 z 좌표) near_point_z - indicates the z coordinate value of the near point of the client's viewing frustum. The near point corresponds to the center point of the near plane of the viewing frustum. (z coordinate of the center point on the near side of the frustum representing the viewing area)

vector_x - indicates the component, in the x coordinate direction, of the vector representing the direction and length of the viewing frustum (from the near plane to the far plane). (시청영역을 나타내는 절두체의 가까운 면과 먼 명의 중심점간을 잇는 벡터의 x축 요소 값) vector_x - indicates the component, in the x coordinate direction, of the vector representing the direction and length of the viewing frustum (from the near plane to the far plane). (value of the x-axis element of the vector connecting the near side of the frustum representing the viewing area and the center point of the far side)

vector_y - indicates the component, in the y coordinate direction, of the vector representing the direction and length of the viewing frustum. (시청영역을 나타내는 절두체의 가까운 면과 먼 명의 중심점간을 잇는 벡터의 y축 요소 값) vector_y - indicates the component, in the y coordinate direction, of the vector representing the direction and length of the viewing frustum. (Y-axis element value of the vector connecting the near side of the frustum representing the viewing area and the center point of the far side)

vector_z - indicates the component, in the z coordinate direction, of the vector representing the direction and length of the viewing frustum. (시청영역을 나타내는 절두체의 가까운 면과 먼 명의 중심점간을 잇는 벡터의 z축 요소 값) vector_z - indicates the component, in the z coordinate direction, of the vector representing the direction and length of the viewing frustum. (z-axis element value of the vector connecting the near side of the frustum representing the viewing area and the center point of the far side)

centre_tilt - specifies the tilt angle of the viewing frustum in units of 2-16 degrees. centre_tilt shall be in the range of -180 * 216 to 180 * 216 - 1, inclusive. (시청 영역의 기울어짐을 2^-16 단위로 나타낸 값) centre_tilt - specifies the tilt angle of the viewing frustum in units of 2 -16 degrees. center_tilt shall be in the range of -180 * 2 16 to 180 * 2 16 - 1, inclusive. (Value representing the tilt of the viewing area in units of 2^-16)

near_azimuth_range, near_elevation range - specify the azimuth and elevation ranges, respectively, of the near plane region of the viewing frustum in units of 2-16 degrees. near_azimuth_range and near_elevation_range specify the range through the near (centre) point of the near plane region. near_azimuth_range shall be in the range of 0 to 360 * 216, inclusive. near_elevation_range shall be in the range of 0 to 180 * 216, inclusive. (시청 영역을 나타내는 절두체의 가까운 면에서 azimuth와 elevation을 2^-16 단위로 나타낸 값) near_azimuth_range , n ear_elevation range - specify the azimuth and elevation ranges, respectively, of the near plane region of the viewing frustum in units of 2 -16 degrees. near_azimuth_range and near_elevation_range specify the range through the near (centre) point of the near plane region. near_azimuth_range shall be in the range of 0 to 360 * 2 16 , inclusive. near_elevation_range shall be in the range of 0 to 180 * 2 16 , inclusive. (azimuth and elevation in units of 2^-16 on the near side of the frustum representing the viewing area)

far_azimuth_range, far_elevation range - specify the azimuth and elevation ranges, respectively, of the far plane region of the viewing frustum in units of 2-16 degrees. far_azimuth_range and far_elevation_range specify the range through the farr (centre) point of the farr plane region. far_azimuth_range shall be in the range of 0 to 360 * 216, inclusive. far_elevation_range shall be in the range of 0 to 180 * 216, inclusive. (시청 영역을 나타내는 절두체의 먼 면에서 azimuth와 elevation을 2^-16 단위로 나타낸 값) far_azimuth_range , far_elevation range - specify the azimuth and elevation ranges, respectively, of the far plane region of the viewing frustum in units of 2 -16 degrees. far_azimuth_range and far_elevation_range specify the range through the farr (centre) point of the farr plane region. far_azimuth_range shall be in the range of 0 to 360 * 2 16 , inclusive. far_elevation_range shall be in the range of 0 to 180 * 2 16 , inclusive. (azimuth and elevation in units of 2^-16 on the far side of the frustum representing the viewing area)

상기 MMT 시그널링등을 통해 수신기의 시청영역에 대한 정보를 획득한 송신 장치는 상기 도 7에 나타낸 바와 같이 시청영역의 가까운 면의 중심점을 360 영상 구체의 중심점으로 간주하여 OMAF 영상의 viewport를 계산하고 viewport로 정의된 영역의 재생에 필요한 데이터만을 수신 장치에 전달할 수 있다. 이 때 viewport로 정의된 영역의 데이터만을 추출하고 전송하는 방법은 종래 기술을 사용할 수 있다. 참고로 OMAF 영상의 viewport는 360 영상 구체의 중심을 원점으로 간주하고 다음 [표 8]과 같은 구조체로 표현된다.The transmitting device, which has acquired information about the viewing area of the receiver through the MMT signaling, calculates the viewport of the OMAF image by considering the center point of the near side of the viewing area as the center point of the 360 image sphere, as shown in FIG. 7, and calculates the viewport Only the data required for playback of the area defined by can be transmitted to the receiving device. At this time, conventional technology can be used to extract and transmit only data in the area defined by the viewport. For reference, the viewport of the OMAF image considers the center of the 360 image sphere as the origin and is expressed as a structure as shown in [Table 8].

Figure 112019101500618-pat00007
Figure 112019101500618-pat00007

본 발명에 따른 실시 예로 송신장치가 상기 [표 4]에 기술된 구조체를 사용하여 시청영역을 획득하였을 경우에 OMAF 영상의 viewport는 다음과 같이 계산될 수 있다:In an embodiment according to the present invention, when the transmitting device acquires the viewing area using the structure described in [Table 4] above, the viewport of the OMAF image can be calculated as follows:

centre_azimuth = tan-1(vector_y / vector_x)centre_azimuth = tan -1 (vector_y / vector_x)

centre_elevation = tan-1(vector_z / [(vector_x)2 + (vector_y)2]1 /2)center_elevation = tan -1 (vector_z / [(vector_x) 2 + (vector_y) 2 ] 1 /2 )

centre_tilt = centre_tiltcenter_tilt = center_tilt

azimuth_range >= far_azimuth_rangeazimuth_range >= far_azimuth_range

elevation_range >= far_elevation_rangeelevation_range >= far_elevation_range

본 발명에 따른 실시 예로 송신장치가 상기 [표 5]에 기술된 구조체를 사용하여 시청영역을 획득하였을 경우에 OMAF 영상의 viewport는 다음과 같이 계산될 수 있다:In an embodiment according to the present invention, when the transmitting device acquires the viewing area using the structure described in [Table 5] above, the viewport of the OMAF image can be calculated as follows:

centre_azimuth = vector_azimuthcenter_azimuth = vector_azimuth

centre_elevation = vector_elevationcenter_elevation = vector_elevation

centre_tilt = centre_tiltcenter_tilt = center_tilt

azimuth_range >= far_azimuth_rangeazimuth_range >= far_azimuth_range

elevation_range >= far_elevation_rangeelevation_range >= far_elevation_range

6DoF 구체의 크기와 360 비디오 구체의 크기는 촬영 및 컨텐츠 생성 과정에서 획득될 수 있다. 예를 들어 축구 경기를 촬영할 경우에 360 비디오 구체의 크기는 관중석을 포함하는 경기장 전체로 설정될 수 있으며, 6DoF 구체는 실제 경기가 벌어지고 있은 필드의 영역으로 설정될 수 있다. 6DoF 구체와 360 비디오 구체의 크기 비를 나타내는 파라미터 depth_ratio가 주어질 경우에 상기 발명의 실시 예에 따른 송신장치는 다음과 같이 OMAF 영상의 viewport를 계산할 수 있다:The size of the 6DoF sphere and the size of the 360 video sphere can be obtained during the shooting and content creation process. For example, when filming a soccer game, the size of the 360 video sphere can be set to the entire stadium including the spectator seats, and the 6DoF sphere can be set to the area of the field where the actual game is taking place. If the parameter depth_ratio, which represents the size ratio of the 6DoF sphere and the 360 video sphere, is given, the transmitter according to the embodiment of the invention can calculate the viewport of the OMAF image as follows:

1) 시청영역을 나타내는 절두체의 벡터를 360 비디오 구체의 면과 교차하도록 확대한다.1) Enlarge the vector of the frustum representing the viewing area so that it intersects the plane of the 360 video sphere.

2) 교차점(intersection_point)의 좌표를 상기 절두체의 가까운 면의 중심점을 원점으로 간주하여 계산한다.2) The coordinates of the intersection point (intersection_point) are calculated by considering the center point of the near side of the frustum as the origin.

3) 상기 교차점의 좌표를 360 비디오 구체의 좌표계를 기준으로 계산한다. (intersection_point2)3) The coordinates of the intersection point are calculated based on the coordinate system of the 360 video sphere. (intersection_point2)

4) 상기 절두체의 가까운 면의 중심점과 상기 교차점 간의 거리(distance_magnitude)를 계산한다.4) Calculate the distance (distance_magnitude) between the center point of the near side of the frustum and the intersection point.

5) 상기 distance_magnitude와 360 비디오 구체의 반지름 간의 비율 (scaling_factor)를 계산한다.5) Calculate the ratio (scaling_factor) between the distance_magnitude and the radius of the 360 video sphere.

6) 상기 scaling_factor를 기반으로 OMAF viewport의 크기 (azimuth_range, elevation_range)를 계산한다.6) Calculate the size (azimuth_range, elevation_range) of the OMAF viewport based on the scaling_factor above.

7) 상기 intersection_point2와 단계 6)의 viewport 크기를 사용하여 OMAF viewport를 식별한다.7) Identify the OMAF viewport using intersection_point2 and the viewport size from step 6).

한편, 상술한 실시예는, 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터에 의해 판독 가능한 매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 실시예에서 사용된 데이터의 구조는 컴퓨터 판독 가능 매체에 여러 수단을 통하여 기록될 수 있다. 또한, 상술한 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로 구현될 수 있다. 예를 들어, 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 컴퓨터가 읽고 실행할 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있다.Meanwhile, the above-described embodiment can be written as a program that can be executed on a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable medium. Additionally, the data structure used in the above-described embodiments can be recorded on a computer-readable medium through various means. Additionally, the above-described embodiments may be implemented in the form of a recording medium containing instructions executable by a computer, such as program modules executed by a computer. For example, methods implemented as software modules or algorithms may be stored in a computer-readable recording medium as codes or program instructions that a computer can read and execute.

컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 기록 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 포함할 수 있다. 컴퓨터 판독 가능 매체는 마그네틱 저장매체, 예를 들면, 롬, 플로피 디스크, 하드 디스크 등을 포함하고,) 광학적 판독 매체, 예를 들면, 시디롬, DVD 등과 같은 저장 매체를 포함할 수 있으나, 이에 제한되지 않는다. 또한, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다.Computer-readable media can be any recording medium that can be accessed by a computer and can include volatile and non-volatile media, removable and non-removable media. Computer-readable media may include, but are not limited to, magnetic storage media such as ROM, floppy disk, hard disk, etc., and optical readable media such as CD-ROM, DVD, etc. No. Additionally, computer-readable media may include computer storage media and communication media.

또한, 컴퓨터가 읽을 수 있는 복수의 기록 매체가 네트워크로 연결된 컴퓨터 시스템들에 분산되어 있을 수 있으며, 분산된 기록 매체들에 저장된 데이터, 예를 들면 프로그램 명령어 및 코드가 적어도 하나의 컴퓨터에 의해 실행될 수 있다.Additionally, a plurality of computer-readable recording media may be distributed across computer systems connected to a network, and data stored in the distributed recording media, such as program instructions and codes, may be executed by at least one computer. there is.

본 개시에서 설명된 특정 실행들은 일 실시예 일 뿐이며, 어떠한 방법으로도 본 개시의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 및 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다.The specific implementations described in this disclosure are only examples and do not limit the scope of this disclosure in any way. For the sake of brevity of the specification, description of conventional electronic components, control systems, software, and other functional aspects of the systems may be omitted.

Claims (20)

전방향 이미지 및 포인트 클라우드 오브젝트를 포함하는 컨텐츠에 관련된 데이터를 전송하기 위한 방법으로서,
상기 전방향 이미지 및 상기 포인트 클라우드 객체를 포함하는 상기 컨텐츠에 대한 미디어 데이터 및 메타데이터를 생성하는 단계; 및
상기 생성된 미디어 데이터 및 상기 생성된 메타데이터를 전송하는 단계를 포함하고,
상기 메타데이터는 상기 전방향 이미지에 대응하는 공간 내에 위치하고 그리고 내부에 상기 포인트 클라우드 객체를 포함하는 바운딩(bounding) 공간의 부분-공간들을 특정하기 위한 정보를 포함하고, 그리고
상기 바운딩 공간의 상기 부분-공간들을 특정하기 위한 정보는 상기 바운딩 공간이 상기 부분-공간들로 균등하게(uniformly) 분할되는지 여부를 특정하는 정보를 포함하는,
방법.
A method for transmitting data related to content including omnidirectional images and point cloud objects, comprising:
generating media data and metadata for the content including the omnidirectional image and the point cloud object; and
Transmitting the generated media data and the generated metadata,
The metadata includes information for specifying sub-spaces of a bounding space located within a space corresponding to the omnidirectional image and containing the point cloud object therein, and
The information for specifying the sub-spaces of the bounding space includes information specifying whether the bounding space is uniformly divided into the sub-spaces,
method.
제1 항에 있어서,
상기 바운딩 공간의 상기 부분-공간들을 특정하기 위한 정보는 상기 바운딩 공간의 타입을 특정하는 정보를 더 포함하고,
상기 바운딩 공간의 타입을 특정하는 정보가 직육면체 블록들로 분할되는 직육면체 바운딩 박스(cuboid bounding box)를 나타내는 경우, 상기 바운딩 공간의 상기 부분-공간들을 특정하기 위한 정보는:
상기 직육면체 바운딩 박스의 차원들을 특정하는 정보, 및
각 축에 대해 상기 직육면체 바운딩 박스가 분할되는 상기 직육면체 블록들의 수를 특정하는 정보를 더 포함하고,
상기 바운딩 공간의 타입을 특정하는 정보가 상기 직육면체 바운딩 박스를 나타내고 그리고 상기 바운딩 공간이 상기 부분-공간들로 균등하게 분할되는지 여부를 특정하는 정보가 상기 바운딩 공간이 상기 부분-공간들로 균등하게 분할되지 않는다는 것을 나타내는 경우, 상기 바운딩 공간의 상기 부분-공간들을 특정하기 위한 정보는:
상기 직육면체 블록들의 각각의 폭, 높이 및 깊이를 특정하는 정보를 더 포함하고,
상기 바운딩 공간의 타입을 특정하는 정보가 부분-구(sub-sphere) 블록들로 분할되는 바운딩 구(bounding sphere)를 나타내는 경우, 상기 바운딩 공간의 상기 부분-공간들을 특정하기 위한 정보는:
상기 바운딩 구의 반지름을 나타내는 정보,
상기 바운딩 구가 분할되는 부분분할(subdivision) 부분-구 컬럼들(columns)의 수를 특정하는 정보,
상기 바운딩 구가 분할되는 부분분할 부분-구 로우들(rows)의 수를 특정하는 정보, 및
상기 바운딩 구가 분할되는 부분분할 부분-구 계층들(layers)의 수를 특정하는 정보를 더 포함하고, 그리고
상기 바운딩 공간의 타입을 특정하는 정보가 상기 바운딩 구를 나타내고 그리고 상기 바운딩 공간이 상기 부분-공간들로 균등하게 분할되는지 여부를 특정하는 정보가 상기 바운딩 공간이 상기 부분-공간들로 균등하게 분할되지 않는다는 것을 나타내는 경우, 상기 바운딩 공간의 상기 부분-공간들을 특정하기 위한 정보는:
상기 부분-구 블록들의 각각의 컬럼 폭 각을 나타내는 정보,
상기 부분-구 블록들의 각각의 로우 길이 각을 나타내는 정보, 및
상기 부분-구 블록들의 각각의 깊이 두께를 나타내는 정보를 포함하는,
방법.
According to claim 1,
The information for specifying the sub-spaces of the bounding space further includes information for specifying a type of the bounding space,
If the information specifying the type of the bounding space indicates a cuboid bounding box divided into cuboid blocks, the information for specifying the sub-spaces of the bounding space is:
Information specifying the dimensions of the cuboid bounding box, and
Further comprising information specifying the number of the cuboid blocks into which the cuboid bounding box is divided for each axis,
Information specifying the type of the bounding space indicates the cuboid bounding box, and information specifying whether the bounding space is evenly divided into the sub-spaces indicates that the bounding space is evenly divided into the sub-spaces. If it indicates that it is not possible, the information for specifying the sub-spaces of the bounding space is:
Further comprising information specifying the width, height, and depth of each of the cuboid blocks,
If the information specifying the type of the bounding space indicates a bounding sphere divided into sub-sphere blocks, the information for specifying the sub-spaces of the bounding space is:
Information indicating the radius of the bounding sphere,
Information specifying the number of subdivision sub-sphere columns into which the bounding sphere is divided,
Information specifying the number of partial division partial-sphere rows into which the bounding sphere is divided, and
further comprising information specifying the number of sub-sphere layers into which the bounding sphere is divided, and
Information specifying the type of the bounding space indicates the bounding sphere and information specifying whether the bounding space is divided equally into the sub-spaces indicates that the bounding space is not evenly divided into the sub-spaces. When indicating that no, the information for specifying the sub-spaces of the bounding space is:
Information indicating the column width angle of each of the partial-sphere blocks,
Information indicating the row length angle of each of the partial-sphere blocks, and
Containing information indicating the depth thickness of each of the partial-sphere blocks,
method.
제2 항에 있어서,
상기 메타데이터는 상기 바운딩 공간의 상기 부분-공간들과 상기 포인트 클라우드 객체와 관련된 2D(2 dimensional) 프레임의 영역들 사이의 관계를 특정하기 위한 정보를 더 포함하고,
상기 바운딩 공간의 상기 부분-공간들과 상기 포인트 클라우드 객체와 관련된 상기 2D 프레임의 영역들 사이의 관계를 특정하기 위한 정보는:
상기 부분-공간들의 각각에 대응하는 상기 2D 프레임의 영역들의 수를 특정하는 정보, 및
상기 부분-공간들의 각각에 대응하는 상기 2D 프레임의 영역들의 각각의 타입을 특정하는 정보를 포함하는,
방법.
According to clause 2,
The metadata further includes information for specifying a relationship between the sub-spaces of the bounding space and regions of a 2-dimensional (2D) frame associated with the point cloud object,
Information for specifying the relationship between the sub-spaces of the bounding space and regions of the 2D frame associated with the point cloud object is:
Information specifying the number of regions of the 2D frame corresponding to each of the sub-spaces, and
Containing information specifying each type of regions of the 2D frame corresponding to each of the sub-spaces,
method.
제1 항에 있어서,
상기 메타데이터는 시청 공간(viewing space)과 관련된 시청 절두체(frustum)를 특정하기 위한 정보를 더 포함하고,
상기 시청 절두체를 특정하기 위한 정보는:
상기 시청 절두체의 가까운 면(near plane)의 중심을 특정하는 정보,
상기 시청 절두체의 방향 및 길이를 나타내는 벡터를 특정하는 정보, 또는 상기 시청 절두체의 먼 면(far plane)의 중심을 특정하는 정보,
상기 시청 절두체의 기울어짐(tilt) 각을 특정하는 정보,
상기 가까운 면의 방위각(azimuth) 범위 및 고도(elevation) 범위를 특정하는 정보, 및
상기 먼 면의 방위각 범위 및 고도 범위를 특정하는 정보를 포함하는,
방법.
According to claim 1,
The metadata further includes information for specifying a viewing frustum associated with a viewing space,
Information for specifying the viewing frustum is:
Information specifying the center of the near plane of the viewing frustum,
Information specifying a vector representing the direction and length of the viewing frustum, or information specifying the center of a far plane of the viewing frustum,
Information specifying the tilt angle of the viewing frustum,
Information specifying the azimuth range and elevation range of the near plane, and
Containing information specifying the azimuth range and elevation range of the far side,
method.
제4 항에 있어서,
상기 시청 절두체를 특정하기 위한 정보는 MMT(MPEG media transport) 시그널링 메시지를 통해 전송되는,
방법.
According to clause 4,
The information for specifying the viewing frustum is transmitted through an MMT (MPEG media transport) signaling message,
method.
전방향 이미지 및 포인트 클라우드 객체를 포함하는 컨텐츠와 관련된 데이터를 수신하기 위한 방법으로서,
상기 전방향 이미지 및 상기 포인트 클라우드 객체를 포함하는 상기 컨텐츠에 대한 미디어 데이터 및 메타데이터를 수신하는 단계; 및
상기 수신된 미디어 데이터 및 상기 수신된 메타데이터에 기초하여 상기 컨텐츠를 렌더링하는 단계를 포함하고,
상기 메타데이터는 상기 전방향 이미지에 대응하는 공간 내에 위치하고 그리고 내부에 상기 포인트 클라우드 객체를 포함하는 바운딩(bounding) 공간의 부분-공간들을 특정하기 위한 정보를 포함하고, 그리고
상기 바운딩 공간의 상기 부분-공간들을 특정하기 위한 정보는 상기 바운딩 공간이 상기 부분-공간들로 균등하게(uniformly) 분할되는지 여부를 특정하는 정보를 포함하는,
방법.
A method for receiving data related to content including omnidirectional images and point cloud objects, comprising:
Receiving media data and metadata for the content including the omnidirectional image and the point cloud object; and
Rendering the content based on the received media data and the received metadata,
The metadata includes information for specifying sub-spaces of a bounding space located within a space corresponding to the omnidirectional image and containing the point cloud object therein, and
The information for specifying the sub-spaces of the bounding space includes information specifying whether the bounding space is uniformly divided into the sub-spaces,
method.
제6 항에 있어서,
상기 바운딩 공간의 상기 부분-공간들을 특정하기 위한 정보는 상기 바운딩 공간의 타입을 특정하는 정보를 더 포함하고,
상기 바운딩 공간의 타입을 특정하는 정보가 직육면체 블록들로 분할되는 직육면체 바운딩 박스 (cuboid bounding box)를 나타내는 경우, 상기 바운딩 공간의 상기 부분-공간들을 특정하기 위한 정보는:
상기 직육면체 바운딩 박스의 차원들을 특정하는 정보, 및
각 축에 대해 상기 직육면체 바운딩 박스가 분할되는 상기 직육면체 블록들의 수를 특정하는 정보를 더 포함하고,
상기 바운딩 공간의 타입을 특정하는 정보가 상기 직육면체 바운딩 박스를 나타내고 그리고 상기 바운딩 공간이 상기 부분-공간들로 균등하게 분할되는지 여부를 특정하는 정보가 상기 바운딩 공간이 상기 부분-공간들로 균등하게 분할되지 않는다는 것을 나타내는 경우, 상기 바운딩 공간의 상기 부분-공간들을 특정하기 위한 정보는:
상기 직육면체 블록들의 각각의 폭, 높이 및 깊이를 특정하는 정보를 더 포함하고,
상기 바운딩 공간의 타입을 특정하는 정보가 부분-구(sub-sphere) 블록들로 분할되는 바운딩 구(bounding sphere)를 나타내는 경우, 상기 바운딩 공간의 상기 부분-공간들을 특정하기 위한 정보는:
상기 바운딩 구의 반지름을 나타내는 정보,
상기 바운딩 구가 분할되는 부분분할(subdivision) 부분-구 컬럼들(columns)의 수를 특정하는 정보,
상기 바운딩 구가 분할되는 부분분할 부분-구 로우들(rows)의 수를 특정하는 정보, 및
상기 바운딩 구가 분할되는 부분분할 부분-구 계층들(layers)의 수를 특정하는 정보를 더 포함하고, 그리고
상기 바운딩 공간의 타입을 특정하는 정보가 상기 바운딩 구를 나타내고 그리고 상기 바운딩 공간이 상기 부분-공간들로 균등하게 분할되는지 여부를 특정하는 정보가 상기 바운딩 공간이 상기 부분-공간들로 균등하게 분할되지 않는다는 것을 나타내는 경우, 상기 바운딩 공간의 상기 부분-공간들을 특정하기 위한 정보는:
상기 부분-구 블록들의 각각의 컬럼 폭 각을 나타내는 정보,
상기 부분-구 블록들의 각각의 로우 길이 각을 나타내는 정보, 및
상기 부분-구 블록들의 각각의 깊이 두께를 나타내는 정보를 포함하는,
방법.
According to clause 6,
The information for specifying the sub-spaces of the bounding space further includes information for specifying a type of the bounding space,
If the information specifying the type of the bounding space indicates a cuboid bounding box divided into cuboid blocks, the information for specifying the sub-spaces of the bounding space is:
Information specifying the dimensions of the cuboid bounding box, and
Further comprising information specifying the number of the cuboid blocks into which the cuboid bounding box is divided for each axis,
Information specifying the type of the bounding space indicates the cuboid bounding box, and information specifying whether the bounding space is evenly divided into the sub-spaces indicates that the bounding space is evenly divided into the sub-spaces. If it indicates that it is not possible, the information for specifying the sub-spaces of the bounding space is:
Further comprising information specifying the width, height, and depth of each of the cuboid blocks,
If the information specifying the type of the bounding space indicates a bounding sphere divided into sub-sphere blocks, the information for specifying the sub-spaces of the bounding space is:
Information indicating the radius of the bounding sphere,
Information specifying the number of subdivision sub-sphere columns into which the bounding sphere is divided,
Information specifying the number of partial division partial-sphere rows into which the bounding sphere is divided, and
further comprising information specifying the number of sub-sphere layers into which the bounding sphere is divided, and
Information specifying the type of the bounding space indicates the bounding sphere and information specifying whether the bounding space is divided equally into the sub-spaces indicates that the bounding space is not evenly divided into the sub-spaces. When indicating that no, the information for specifying the sub-spaces of the bounding space is:
Information indicating the column width angle of each of the partial-sphere blocks,
Information indicating the row length angle of each of the partial-sphere blocks, and
Containing information indicating the depth thickness of each of the partial-sphere blocks,
method.
제7 항에 있어서,
상기 메타데이터는 상기 바운딩 공간의 상기 부분-공간들과 상기 포인트 클라우드 객체와 관련된 2D(2 dimensional) 프레임의 영역들 사이의 관계를 특정하기 위한 정보를 더 포함하고,
상기 바운딩 공간의 상기 부분-공간들과 상기 포인트 클라우드 객체와 관련된 상기 2D 프레임의 영역들 사이의 관계를 특정하기 위한 정보는:
상기 부분-공간들의 각각에 대응하는 상기 2D 프레임의 영역들의 수를 특정하는 정보, 및
상기 부분-공간들의 각각에 대응하는 상기 2D 프레임의 영역들의 각각의 타입을 특정하는 정보를 포함하는,
방법.
According to clause 7,
The metadata further includes information for specifying a relationship between the sub-spaces of the bounding space and regions of a 2-dimensional (2D) frame associated with the point cloud object,
Information for specifying the relationship between the sub-spaces of the bounding space and regions of the 2D frame associated with the point cloud object is:
Information specifying the number of regions of the 2D frame corresponding to each of the sub-spaces, and
Containing information specifying each type of regions of the 2D frame corresponding to each of the sub-spaces,
method.
제6 항에 있어서,
상기 메타데이터는 시청 공간(viewing space)과 관련된 시청 절두체(frustum)를 특정하기 위한 정보를 더 포함하고,
상기 시청 절두체를 특정하기 위한 정보는:
상기 시청 절두체의 가까운 면(near plane)의 중심을 특정하는 정보 ,
상기 시청 절두체의 방향 및 길이를 나타내는 벡터를 특정하는 정보, 또는 상기 시청 절두체의 먼 면(far plane)의 중심을 특정하는 정보,
상기 시청 절두체의 기울어짐(tilt) 각을 특정하는 정보,
상기 가까운 면의 방위각(azimuth) 범위 및 고도(elevation) 범위를 특정하는 정보, 및
상기 먼 면의 방위각 범위 및 고도 범위를 특정하는 정보를 포함하는,
방법.
According to clause 6,
The metadata further includes information for specifying a viewing frustum associated with a viewing space,
Information for specifying the viewing frustum is:
Information specifying the center of the near plane of the viewing frustum,
Information specifying a vector representing the direction and length of the viewing frustum, or information specifying the center of a far plane of the viewing frustum,
Information specifying the tilt angle of the viewing frustum,
Information specifying the azimuth range and elevation range of the near plane, and
Containing information specifying the azimuth range and elevation range of the far side,
method.
제9 항에 있어서,
상기 시청 절두체를 특정하기 위한 정보는 MMT(MPEG media transport) 시그널링 메시지를 통해 수신되는,
방법.
According to clause 9,
The information for specifying the viewing frustum is received through an MMT (MPEG media transport) signaling message,
method.
전방향 이미지 및 포인트 클라우드 객체를 포함하는 컨텐츠에 관련된 데이터를 전송하기 위한 장치로서,
제어기; 및
상기 제어기가 동작들을 수행하도록 하기 위한 명령들을 저장하는 저장 매체를 포함하고, 상기 동작들은:
상기 전방향 이미지 및 상기 포인트 클라우드 객체를 포함하는 상기 컨텐츠에 대한 미디어 데이터 및 메타데이터를 생성하고, 그리고
상기 생성된 미디어 데이터 및 상기 생성된 메타데이터를 전송하는 것을 포함하고,
상기 메타데이터는 상기 전방향 이미지에 대응하는 공간 내에 위치하고 그리고 내부에 상기 포인트 클라우드 객체를 포함하는 바운딩(bounding) 공간의 부분-공간들을 특정하기 위한 정보를 포함하고, 그리고
상기 바운딩 공간의 상기 부분-공간들을 특정하기 위한 정보는 상기 바운딩 공간이 상기 부분-공간들로 균등하게(uniformly) 분할되는지 여부를 특정하는 정보를 포함하는,
장치.
A device for transmitting data related to content including omnidirectional images and point cloud objects, comprising:
controller; and
a storage medium storing instructions for causing the controller to perform operations, the operations being:
Generate media data and metadata for the content including the omni-directional image and the point cloud object, and
Including transmitting the generated media data and the generated metadata,
The metadata includes information for specifying sub-spaces of a bounding space located within a space corresponding to the omnidirectional image and containing the point cloud object therein, and
The information for specifying the sub-spaces of the bounding space includes information specifying whether the bounding space is uniformly divided into the sub-spaces,
Device.
제11 항에 있어서,
상기 바운딩 공간의 상기 부분-공간들을 특정하기 위한 정보는 상기 바운딩 공간의 타입을 특정하는 정보를 더 포함하고,
상기 바운딩 공간의 타입을 특정하는 정보가 직육면체(cartesian cuboid) 블록들로 분할되는 직육면체 바운딩 박스 (cuboid bounding box)를 나타내는 경우, 상기 바운딩 공간의 상기 부분-공간들을 특정하기 위한 정보는:
상기 직육면체 바운딩 박스의 차원들을 특정하는 정보, 및
각 축에 대해 상기 직육면체 바운딩 박스가 분할되는 상기 직육면체 블록들의 수를 특정하는 정보를 더 포함하고,
상기 바운딩 공간의 타입을 특정하는 정보가 상기 직육면체 바운딩 박스를 나타내고 그리고 상기 바운딩 공간이 상기 부분-공간들로 균등하게 분할되는지 여부를 특정하는 정보가 상기 바운딩 공간이 상기 부분-공간들로 균등하게 분할되지 않는다는 것을 나타내는 경우, 상기 바운딩 공간의 상기 부분-공간들을 특정하기 위한 정보는:
상기 직육면체 블록들의 각각의 폭, 높이 및 깊이를 특정하는 정보를 더 포함하고,
상기 바운딩 공간의 타입을 특정하는 정보가 부분-구(sub-sphere) 블록들로 분할되는 바운딩 구(bounding sphere)를 나타내는 경우, 상기 바운딩 공간의 상기 부분-공간들을 특정하기 위한 정보는:
상기 바운딩 구의 반지름을 나타내는 정보,
상기 바운딩 구가 분할되는 부분분할(subdivision) 부분-구 컬럼들(columns)의 수를 특정하는 정보,
상기 바운딩 구가 분할되는 부분분할 부분-구 로우들(rows)의 수를 특정하는 정보, 및
상기 바운딩 구가 분할되는 부분분할 부분-구 계층들(layers)의 수를 특정하는 정보를 더 포함하고, 그리고
상기 바운딩 공간의 타입을 특정하는 정보가 상기 바운딩 구를 나타내고 그리고 상기 바운딩 공간이 상기 부분-공간들로 균등하게 분할되는지 여부를 특정하는 정보가 상기 바운딩 공간이 상기 부분-공간들로 균등하게 분할되지 않는다는 것을 나타내는 경우, 상기 바운딩 공간의 상기 부분-공간들을 특정하기 위한 정보는:
상기 부분-구 블록들의 각각의 컬럼 폭 각을 나타내는 정보,
상기 부분-구 블록들의 각각의 로우 길이 각을 나타내는 정보, 및
상기 부분-구 블록들의 각각의 깊이 두께를 나타내는 정보를 포함하는,
장치.
According to claim 11,
The information for specifying the sub-spaces of the bounding space further includes information for specifying a type of the bounding space,
If the information specifying the type of the bounding space indicates a cuboid bounding box divided into cartesian cuboid blocks, the information for specifying the sub-spaces of the bounding space is:
Information specifying the dimensions of the cuboid bounding box, and
Further comprising information specifying the number of the cuboid blocks into which the cuboid bounding box is divided for each axis,
Information specifying the type of the bounding space indicates the cuboid bounding box, and information specifying whether the bounding space is evenly divided into the sub-spaces indicates that the bounding space is evenly divided into the sub-spaces. If it indicates that it is not possible, the information for specifying the sub-spaces of the bounding space is:
Further comprising information specifying the width, height, and depth of each of the cuboid blocks,
If the information specifying the type of the bounding space indicates a bounding sphere divided into sub-sphere blocks, the information for specifying the sub-spaces of the bounding space is:
Information indicating the radius of the bounding sphere,
Information specifying the number of subdivision sub-sphere columns into which the bounding sphere is divided,
Information specifying the number of partial division partial-sphere rows into which the bounding sphere is divided, and
further comprising information specifying the number of sub-sphere layers into which the bounding sphere is divided, and
Information specifying the type of the bounding space indicates the bounding sphere and information specifying whether the bounding space is divided equally into the sub-spaces indicates that the bounding space is not evenly divided into the sub-spaces. When indicating that no, the information for specifying the sub-spaces of the bounding space is:
Information indicating the column width angle of each of the partial-sphere blocks,
Information indicating the row length angle of each of the partial-sphere blocks, and
Containing information indicating the depth thickness of each of the partial-sphere blocks,
Device.
제12 항에 있어서,
상기 메타데이터는 상기 바운딩 공간의 상기 부분-공간들과 상기 포인트 클라우드 객체와 관련된 2D(2 dimensional) 프레임의 영역들 사이의 관계를 특정하기 위한 정보를 더 포함하고,
상기 바운딩 공간의 상기 부분-공간들과 상기 포인트 클라우드 객체와 관련된 상기 2D 프레임의 영역들 사이의 관계를 특정하기 위한 정보는:
상기 부분-공간들의 각각에 대응하는 상기 2D 프레임의 영역들의 수를 특정하는 정보, 및
상기 부분-공간들의 각각에 대응하는 상기 2D 프레임의 영역들의 각각의 타입을 특정하는 정보를 포함하는,
장치.
According to claim 12,
The metadata further includes information for specifying a relationship between the sub-spaces of the bounding space and regions of a 2-dimensional (2D) frame associated with the point cloud object,
Information for specifying the relationship between the sub-spaces of the bounding space and regions of the 2D frame associated with the point cloud object is:
Information specifying the number of regions of the 2D frame corresponding to each of the sub-spaces, and
Containing information specifying each type of regions of the 2D frame corresponding to each of the sub-spaces,
Device.
제11 항에 있어서,
상기 메타데이터는 시청 공간(viewing space)과 관련된 시청 절두체(frustum)를 특정하기 위한 정보를 더 포함하고,
상기 시청 절두체를 특정하기 위한 정보는:
상기 시청 절두체의 가까운 면(near plane)의 중심을 특정하는 정보 ,
상기 시청 절두체의 방향 및 길이를 나타내는 벡터를 특정하는 정보, 또는 상기 시청 절두체의 먼 면(far plane)의 중심을 특정하는 정보,
상기 시청 절두체의 기울어짐(tilt) 각을 특정하는 정보,
상기 가까운 면의 방위각(azimuth) 범위 및 고도(elevation) 범위를 특정하는 정보, 및
상기 먼 면의 방위각 범위 및 고도 범위를 특정하는 정보를 포함하는,
장치.
According to claim 11,
The metadata further includes information for specifying a viewing frustum associated with a viewing space,
Information for specifying the viewing frustum is:
Information specifying the center of the near plane of the viewing frustum,
Information specifying a vector representing the direction and length of the viewing frustum, or information specifying the center of a far plane of the viewing frustum,
Information specifying the tilt angle of the viewing frustum,
Information specifying the azimuth range and elevation range of the near plane, and
Containing information specifying the azimuth range and elevation range of the far side,
Device.
제14 항에 있어서,
상기 시청 절두체를 특정하기 위한 정보는 MMT(MPEG media transport) 시그널링 메시지를 통해 전송되는,
장치.
According to claim 14,
The information for specifying the viewing frustum is transmitted through an MMT (MPEG media transport) signaling message,
Device.
전방향 이미지 및 포인트 클라우드 객체를 포함하는 컨텐츠와 관련된 데이터를 수신하기 위한 장치로서,
제어기; 및
상기 제어기가 동작들을 수행하도록 하기 위한 명령들을 저장하는 저장 매체를 포함하고, 상기 동작들은:
상기 전방향 이미지 및 상기 포인트 클라우드 객체를 포함하는 상기 컨텐츠에 대한 미디어 데이터 및 메타데이터를 수신하고; 그리고
상기 수신된 미디어 데이터 및 상기 수신된 메타데이터에 기초하여 상기 컨텐츠를 렌더링하는 것을 포함하고,
상기 메타데이터는 상기 전방향 이미지에 대응하는 공간 내에 위치하고 그리고 내부에 상기 포인트 클라우드 객체를 포함하는 바운딩(bounding) 공간의 부분-공간들을 특정하기 위한 정보를 포함하고, 그리고
상기 바운딩 공간의 상기 부분-공간들을 특정하기 위한 정보는 상기 바운딩 공간이 상기 부분-공간들로 균일하게(uniformly) 분할되는지 여부를 특정하는 정보를 포함하는,
장치.
A device for receiving data related to content including omnidirectional images and point cloud objects, comprising:
controller; and
a storage medium storing instructions for causing the controller to perform operations, the operations being:
receive media data and metadata for the content including the omnidirectional image and the point cloud object; and
comprising rendering the content based on the received media data and the received metadata,
The metadata includes information for specifying sub-spaces of a bounding space located within a space corresponding to the omnidirectional image and containing the point cloud object therein, and
The information for specifying the sub-spaces of the bounding space includes information specifying whether the bounding space is uniformly divided into the sub-spaces,
Device.
제16 항에 있어서,
상기 바운딩 공간의 상기 부분-공간들을 특정하기 위한 정보는 상기 바운딩 공간의 타입을 특정하는 정보를 더 포함하고,
상기 바운딩 공간의 타입을 특정하는 정보가 직육면체(cartesian cuboid) 블록들로 분할되는 직육면체 바운딩 박스 (cuboid bounding box)를 나타내는 경우, 상기 바운딩 공간의 상기 부분-공간들을 특정하기 위한 정보는:
상기 직육면체 바운딩 박스의 차원들을 특정하는 정보, 및
각 축에 대해 상기 직육면체 바운딩 박스가 분할되는 상기 직육면체 블록들의 수를 특정하는 정보를 더 포함하고,
상기 바운딩 공간의 타입을 특정하는 정보가 상기 직육면체 바운딩 박스를 나타내고 그리고 상기 바운딩 공간이 상기 부분-공간들로 균등하게 분할되는지 여부를 특정하는 정보가 상기 바운딩 공간이 상기 부분-공간들로 균등하게 분할되지 않는다는 것을 나타내는 경우, 상기 바운딩 공간의 상기 부분-공간들을 특정하기 위한 정보는:
상기 직육면체 블록들의 각각의 폭, 높이 및 깁이를 특정하는 정보를 더 포함하고,
상기 바운딩 공간의 타입을 특정하는 정보가 부분-구(sub-sphere) 블록들로 분할되는 바운딩 구(bounding sphere)를 나타내는 경우, 상기 바운딩 공간의 상기 부분-공간들을 특정하기 위한 정보는:
상기 바운딩 구의 반지름을 나타내는 정보,
상기 바운딩 구가 분할되는 부분분할(subdivision) 부분-구 컬럼들(columns)의 수를 특정하는 정보,
상기 바운딩 구가 분할되는 부분분할 부분-구 로우들(rows)의 수를 특정하는 정보, 및
상기 바운딩 구가 분할되는 부분분할 부분-구 계층들(layers)의 수를 특정하는 정보를 더 포함하고, 그리고
상기 바운딩 공간의 타입을 특정하는 정보가 상기 바운딩 구를 나타내고 그리고 상기 바운딩 공간이 상기 부분-공간들로 균등하게 분할되는지 여부를 특정하는 정보가 상기 바운딩 공간이 상기 부분-공간들로 균등하게 분할되지 않는다는 것을 나타내는 경우, 상기 바운딩 공간의 상기 부분-공간들을 특정하기 위한 정보는:
상기 부분-구 블록들의 각각의 컬럼 폭 각을 나타내는 정보,
상기 부분-구 블록들의 각각의 로우 길이 각을 나타내는 정보, 및
상기 부분-구 블록들의 각각의 깊이 두께를 나타내는 정보를 포함하는,
장치.
According to claim 16,
The information for specifying the sub-spaces of the bounding space further includes information for specifying a type of the bounding space,
If the information specifying the type of the bounding space indicates a cuboid bounding box divided into cartesian cuboid blocks, the information for specifying the sub-spaces of the bounding space is:
Information specifying the dimensions of the cuboid bounding box, and
Further comprising information specifying the number of the cuboid blocks into which the cuboid bounding box is divided for each axis,
Information specifying the type of the bounding space indicates the cuboid bounding box, and information specifying whether the bounding space is evenly divided into the sub-spaces indicates that the bounding space is evenly divided into the sub-spaces. If it indicates that it is not possible, the information for specifying the sub-spaces of the bounding space is:
It further includes information specifying the width, height, and length of each of the cuboid blocks,
If the information specifying the type of the bounding space indicates a bounding sphere divided into sub-sphere blocks, the information for specifying the sub-spaces of the bounding space is:
Information indicating the radius of the bounding sphere,
Information specifying the number of subdivision sub-sphere columns into which the bounding sphere is divided,
Information specifying the number of partial division partial-sphere rows into which the bounding sphere is divided, and
further comprising information specifying the number of sub-sphere layers into which the bounding sphere is divided, and
Information specifying the type of the bounding space indicates the bounding sphere and information specifying whether the bounding space is divided equally into the sub-spaces indicates that the bounding space is not evenly divided into the sub-spaces. When indicating that no, the information for specifying the sub-spaces of the bounding space is:
Information indicating the column width angle of each of the partial-sphere blocks,
Information indicating the row length angle of each of the partial-sphere blocks, and
Containing information indicating the depth thickness of each of the partial-sphere blocks,
Device.
제17 항에 있어서,
상기 메타데이터는 상기 바운딩 공간의 상기 부분-공간들과 상기 포인트 클라우드 객체와 관련된 2D(2 dimensional) 프레임의 영역들 사이의 관계를 특정하기 위한 정보를 더 포함하고,
상기 바운딩 공간의 상기 부분-공간들과 상기 포인트 클라우드 객체와 관련된 상기 2D 프레임의 영역들 사이의 관계를 특정하기 위한 정보는:
상기 부분-공간들의 각각에 대응하는 상기 2D 프레임의 영역들의 수를 특정하는 정보, 및
상기 부분-공간들의 각각에 대응하는 상기 2D 프레임의 영역들의 각각의 타입을 특정하는 정보를 포함하는,
장치.
According to claim 17,
The metadata further includes information for specifying a relationship between the sub-spaces of the bounding space and regions of a 2-dimensional (2D) frame associated with the point cloud object,
Information for specifying the relationship between the sub-spaces of the bounding space and regions of the 2D frame associated with the point cloud object is:
Information specifying the number of regions of the 2D frame corresponding to each of the sub-spaces, and
Containing information specifying each type of regions of the 2D frame corresponding to each of the sub-spaces,
Device.
제16 항에 있어서,
상기 메타데이터는 시청 공간(viewing space)과 관련된 시청 절두체(frustum)를 특정하기 위한 정보를 더 포함하고,
상기 시청 절두체를 특정하기 위한 정보는:
상기 시청 절두체의 가까운 면(near plane)의 중심을 특정하는 정보,
상기 시청 절두체의 방향 및 길이를 나타내는 벡터를 특정하는 정보, 또는 상기 시청 절두체의 먼 면(far plane)의 중심을 특정하는 정보,
상기 시청 절두체의 기울어짐(tilt) 각을 특정하는 정보,
상기 가까운 면의 방위각(azimuth) 범위 및 고도(elevation) 범위를 특정하는 정보, 및
상기 먼 면의 방위각 범위 및 고도 범위를 특정하는 정보를 포함하는,
장치.
According to claim 16,
The metadata further includes information for specifying a viewing frustum associated with a viewing space,
Information for specifying the viewing frustum is:
Information specifying the center of the near plane of the viewing frustum,
Information specifying a vector representing the direction and length of the viewing frustum, or information specifying the center of a far plane of the viewing frustum,
Information specifying the tilt angle of the viewing frustum,
Information specifying the azimuth range and elevation range of the near plane, and
Containing information specifying the azimuth range and elevation range of the far side,
Device.
제19 항에 있어서,
상기 시청 절두체를 특정하기 위한 정보는 MMT(MPEG media transport) 시그널링 메시지를 통해 수신되는,
장치.
According to clause 19,
The information for specifying the viewing frustum is received through an MMT (MPEG media transport) signaling message,
Device.
KR1020190123018A 2019-03-18 2019-10-04 Method and apparatus for point cloud contents access and delivery in 360 video environment KR102656191B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP20772923.7A EP3884664A4 (en) 2019-03-18 2020-03-13 Method and apparatus for accessing and transferring point cloud content in 360-degree video environment
PCT/KR2020/003553 WO2020189983A1 (en) 2019-03-18 2020-03-13 Method and apparatus for accessing and transferring point cloud content in 360-degree video environment
US16/818,345 US11113870B2 (en) 2019-03-18 2020-03-13 Method and apparatus for accessing and transferring point cloud content in 360-degree video environment

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962819929P 2019-03-18 2019-03-18
US62/819,929 2019-03-18

Publications (2)

Publication Number Publication Date
KR20200111089A KR20200111089A (en) 2020-09-28
KR102656191B1 true KR102656191B1 (en) 2024-04-09

Family

ID=72801181

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190123018A KR102656191B1 (en) 2019-03-18 2019-10-04 Method and apparatus for point cloud contents access and delivery in 360 video environment

Country Status (1)

Country Link
KR (1) KR102656191B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230328216A1 (en) * 2022-04-06 2023-10-12 Samsung Electronics Co., Ltd. Encoding Depth Information for Images

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019013384A1 (en) * 2017-07-09 2019-01-17 엘지전자 주식회사 Method for transmitting region-based 360-degree video, method for receiving region-based 360-degree video, region-based 360-degree video transmission device, and region-based 360-degree video reception device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101740259B1 (en) * 2011-10-07 2017-05-29 한국전자통신연구원 Auto segmentation method of 3d point clouds

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019013384A1 (en) * 2017-07-09 2019-01-17 엘지전자 주식회사 Method for transmitting region-based 360-degree video, method for receiving region-based 360-degree video, region-based 360-degree video transmission device, and region-based 360-degree video reception device

Also Published As

Publication number Publication date
KR20200111089A (en) 2020-09-28

Similar Documents

Publication Publication Date Title
KR102208129B1 (en) Overlay processing method and apparatus for 360 video system
CN111034201B (en) Method, apparatus and stream for encoding and decoding volumetric video
US11095920B2 (en) Method and apparatus for encoding a point cloud representing three-dimensional objects
EP3453170B1 (en) Method and apparatus for signaling region of interests
US11457231B2 (en) Methods and apparatus for signaling spatial relationships for point cloud multimedia data tracks
KR20200065076A (en) Methods, devices and streams for volumetric video formats
TWI670973B (en) Method and apparatus for deriving vr projection, packing, roi and viewport related tracks in isobmff and supporting viewport roll signaling
JP7151486B2 (en) Generation device, generation method, reproduction device and reproduction method
CN112189345B (en) Method, device or medium for encoding or decoding data representing a 3D scene
US11113870B2 (en) Method and apparatus for accessing and transferring point cloud content in 360-degree video environment
US10846820B2 (en) Generation device, identification information generation method, reproduction device, and image generation method
US10313763B2 (en) Method and apparatus for requesting and receiving selected segment streams based on projection information
JP7177034B2 (en) Method, apparatus and stream for formatting immersive video for legacy and immersive rendering devices
US11710274B2 (en) Image processing apparatus and file generation apparatus
US20200288217A1 (en) Image processing apparatus and file generation apparatus
CN113891117B (en) Immersion medium data processing method, device, equipment and readable storage medium
WO2018028512A1 (en) File format for indication of video content
CN114189697A (en) Video data processing method and device and readable storage medium
KR102656191B1 (en) Method and apparatus for point cloud contents access and delivery in 360 video environment
JP2022541908A (en) Method and apparatus for delivering volumetric video content
US11503382B2 (en) Method and device for transmitting video content and method and device for receiving video content

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