WO2020242023A1 - 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치 - Google Patents

360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치 Download PDF

Info

Publication number
WO2020242023A1
WO2020242023A1 PCT/KR2020/003456 KR2020003456W WO2020242023A1 WO 2020242023 A1 WO2020242023 A1 WO 2020242023A1 KR 2020003456 W KR2020003456 W KR 2020003456W WO 2020242023 A1 WO2020242023 A1 WO 2020242023A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
image
data
information
metadata
Prior art date
Application number
PCT/KR2020/003456
Other languages
English (en)
French (fr)
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 US17/606,365 priority Critical patent/US11979544B2/en
Publication of WO2020242023A1 publication Critical patent/WO2020242023A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • H04N13/178Metadata, e.g. disparity information
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234345Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42202Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS] environmental sensors, e.g. for detecting temperature, luminosity, pressure, earthquakes
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44218Detecting physical presence or behaviour of the user, e.g. using sensors to detect if the user is leaving the room or changes his face expression during a TV program
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2624Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects for obtaining an image which is composed of whole input images, e.g. splitscreen

Definitions

  • the embodiments relate to a method of transmitting 360 video, a method of receiving 360 video, a 360 video transmitting device, and a 360 video receiving device.
  • the VR (Vertial Reality) system provides the user with a sense of being in an electronically projected environment.
  • the system for providing VR can be further improved to provide higher quality images and spatial sound.
  • the VR system can enable users to interactively consume VR contents.
  • the VR system needs to be improved in order to more efficiently provide the VR environment to the user.
  • data transmission efficiency for transmitting a large amount of data such as VR content robustness between transmission and reception networks, network flexibility in consideration of mobile reception devices, and methods for efficient playback and signaling should be proposed.
  • the embodiments propose a method of transmitting 360 video, a method of receiving 360 video, a 360 video transmission device, and a 360 video receiving device.
  • a video transmission method includes a pre-processing step of processing video data; Encoding the video data; And/or transmitting a bitstream including video data; Includes.
  • a video receiving method includes the steps of: receiving video data; Decoding the video data; And/or rendering the video data; Includes.
  • Embodiments can efficiently transmit 360 content in an environment supporting next-generation hybrid broadcasting using a terrestrial broadcasting network and an Internet network.
  • Embodiments may propose a method for providing an interactive experience in the user's consumption of 360 content.
  • Embodiments may propose a method of signaling so that the intention of the 360 content creator is accurately reflected in the user's consumption of 360 content.
  • Embodiments may propose a method of efficiently increasing transmission capacity and delivering necessary information in 360 content delivery.
  • FIG. 1 is a diagram illustrating an overall architecture for providing 360 video according to embodiments.
  • FIG. 2 is a diagram illustrating a 360 video transmission apparatus according to embodiments.
  • FIG. 3 is a diagram illustrating a 360 video receiving apparatus according to embodiments.
  • FIG. 4 is a diagram illustrating a 360 video transmission device/360 video reception device according to embodiments.
  • FIG. 5 is a diagram illustrating a concept of aircraft principal axes for explaining a 3D space according to embodiments.
  • FIG. 6 is a diagram illustrating projection schemes according to embodiments.
  • FIG. 7 is a diagram illustrating a tile according to embodiments.
  • FIG. 8 is a diagram illustrating 360 video related metadata according to embodiments.
  • FIG. 10 shows a method of implementing a 360-degree video signal processing and related transmission/reception device based on a 3DoF+ system.
  • FIG. 11 shows the structure of a 3DoF+ end-to-end system.
  • FLUS Framework for Live Uplink Streaming
  • 17 shows an overall architecture for providing 6DoF video.
  • FIG. 18 shows the configuration of a transmission device for providing a 6DoF video service.
  • Figure 20 6 It shows the configuration of the DoF video transmission/reception device.
  • Fig. 21 shows a 6DoF space.
  • FIG. 22 illustrates an example of a 3DoF+ 360 video image compression transmission apparatus and a reception apparatus according to embodiments.
  • 25 illustrates an example of a method of extending an area and removing an overlapping area according to embodiments.
  • 26 shows an example of a method of setting a variable block size using a region expansion method according to embodiments.
  • Figure 27 shows an example of sorting and packing (SORTING & PACKING) according to embodiments.
  • 29 shows an example of a method for selecting a partitioning block based on a threshold according to embodiments.
  • FIG. 30 shows an example in which a 360 video transmission/reception apparatus according to embodiments is linked with an architecture for storing and streaming V-PCC-based point cloud data.
  • FIG. 31 shows an example of a video transmission method according to embodiments.
  • FIG. 32 shows an example of a video reception method according to embodiments.
  • FIG. 1 is a diagram illustrating an overall architecture for providing 360 video according to embodiments.
  • the embodiments propose a method of providing 360 content in order to provide VR (Virtual Reality) to a user.
  • VR may mean a technology or environment for replicating a real or virtual environment.
  • VR artificially provides a sensory experience to the user, allowing the user to experience the same as being in an electronically projected environment.
  • 360 content means overall content for implementing and providing VR, and may include 360 video and/or 360 audio.
  • 360 video may mean video or image content that is required to provide VR and is simultaneously captured or reproduced in all directions (360 degrees).
  • the 360 video may refer to a video or an image displayed on various types of 3D spaces according to the 3D model.
  • the 360 video may be displayed on a spherical surface.
  • 360 audio is also an audio content for providing VR, and may mean spatial audio content that can be recognized as being located in a specific three-dimensional space.
  • 360 content can be created, processed, and transmitted to users, and users can consume VR experiences using 360 content.
  • the embodiments particularly propose a way to effectively provide 360 video.
  • the 360 video may be captured first through one or more cameras.
  • the captured 360 video is transmitted through a series of processes, and the receiving side may process and render the received data back into the original 360 video. This allows 360 video to be presented to the user.
  • the overall process for providing 360 video may include a capture process, a preparation process, a transmission process, a processing process, a rendering process, and/or a feedback process.
  • the capture process may mean a process of capturing images or videos for each of a plurality of viewpoints through one or more cameras.
  • Image/video data such as (t1010) illustrated by the capture process may be generated.
  • Each plane of the illustrated (t1010) may mean an image/video for each viewpoint.
  • the captured plurality of images/videos may be referred to as raw data.
  • metadata related to capture may be generated.
  • a special camera for VR can be used for this capture.
  • capturing through an actual camera may not be performed.
  • the capture process may be replaced with a process in which related data is simply generated.
  • the preparation process may be a process of processing the captured image/video and metadata generated during the capture process.
  • the captured image/video may go through a stitching process, a projection process, a region-wise packing and/or an encoding process in this preparation process.
  • each image/video may go through a stitching process.
  • the stitching process may be a process of making one panoramic image/video or a spherical image/video by connecting each of the captured images/videos.
  • the stitched image/video may be subjected to a projection process.
  • the stitched image/video may be projected onto a 2D image.
  • This 2D image may be referred to as a 2D image frame depending on the context.
  • Projection as a 2D image can be expressed as mapping to a 2D image.
  • the projected image/video data may be in the form of a 2D image as shown in (t1020).
  • Video data projected on a 2D image may be subjected to a region-wise packing process to increase video coding efficiency and the like.
  • Packing for each region may mean a process of dividing video data projected on a 2D image by region and applying processing.
  • the region may mean a region in which a 2D image projected with 360 video data is divided. These regions may be divided evenly by dividing the 2D image or may be divided arbitrarily according to the embodiment. Also, according to an embodiment, regions may be classified according to a projection scheme.
  • the packing process for each region is an optional process and may be omitted in the preparation process.
  • this processing may include rotating each region or rearranging on a 2D image in order to increase video coding efficiency. For example, by rotating the regions so that specific sides of the regions are positioned close to each other, efficiency in coding can be increased.
  • this processing may include increasing or decreasing the resolution for a specific region in order to differentiate the resolution for each region of the 360 video. For example, regions corresponding to relatively more important regions on a 360 video may have higher resolution than other regions.
  • Video data projected on a 2D image or packed video data for each region is encoded through a video codec. You can go through the process.
  • the preparation process may additionally include an editing process.
  • editing process editing of image/video data before and after projection may be further performed.
  • metadata for stitching/projection/encoding/editing, etc. may be generated.
  • metadata regarding an initial viewpoint of video data projected on a 2D image or a region of interest (ROI) may be generated.
  • the transmission process may be a process of processing and transmitting image/video data and metadata that have undergone a preparation process. For transmission, processing according to any transmission protocol can be performed. Data processed for transmission may be delivered through a broadcasting network and/or a broadband. These data may be delivered to the receiving side in an on-demand manner. The receiving side can receive the data through various paths.
  • the processing may refer to a process of decoding the received data and re-projecting the projected image/video data onto the 3D model.
  • image/video data projected on 2D images may be re-projected onto 3D space.
  • this process can also be called mapping or projection.
  • the 3D space to be mapped may have a different shape according to the 3D model.
  • a 3D model may include a sphere, a cube, a cylinder, or a pyramid.
  • the processing process may additionally include an editing process, an up scaling process, and the like.
  • editing process editing of image/video data before and after re-projection may be further performed.
  • the size of the image/video data may be enlarged through upscaling of samples during the upscaling process. If necessary, the operation of reducing the size through downscaling may be performed.
  • the rendering process may refer to a process of rendering and displaying image/video data re-projected onto a 3D space. Depending on the expression, it can be expressed as a combination of re-projection and rendering and rendering on a 3D model.
  • the image/video re-projected onto the 3D model (or rendered onto the 3D model) may have a shape as shown (t1030).
  • the illustrated (t1030) is a case of re-projecting onto a 3D model of a sphere.
  • the user can view a partial area of the rendered image/video through a VR display or the like. In this case, the area viewed by the user may have a shape as shown in (t1040).
  • the feedback process may refer to a process of delivering various feedback information that can be obtained during the display process to the transmitter. Interactivity can be provided in 360 video consumption through the feedback process.
  • head orientation information, viewport information indicating an area currently viewed by the user, and the like may be transmitted to the transmitting side.
  • the user may interact with those implemented in the VR environment, and in this case, information related to the interaction may be transmitted to the transmitting side or the service provider side in the feedback process.
  • the feedback process may not be performed.
  • the head orientation information may mean information on the position, angle, and movement of the user's head. Based on this information, information on an area that the user is currently viewing in the 360 video, that is, viewport information may be calculated.
  • the viewport information may be information on a region currently viewed by the user in the 360 video. Through this, a gaze analysis is performed, and it is possible to check how the user consumes the 360 video, which area of the 360 video, and how much.
  • the gaze analysis may be performed at the receiving side and transmitted to the transmitting side through a feedback channel.
  • a device such as a VR display may extract a viewport area based on the position/direction of the user's head and a vertical or horizontal FOV supported by the device.
  • the above-described feedback information is not only transmitted to the transmitting side, but may be consumed by the receiving side. That is, decoding, re-projection, and rendering of the receiver may be performed using the above-described feedback information. For example, only a 360 video for a region currently viewed by the user may be preferentially decoded and rendered using head orientation information and/or viewport information.
  • the viewport to the viewport area may mean an area that the user is viewing in a 360 video.
  • a viewpoint is a point that a user is viewing in a 360 video, and may mean a center point of a viewport area. That is, the viewport is an area centered on a viewpoint, and the size, shape, etc. occupied by the area may be determined by a field of view (FOV) to be described later.
  • FOV field of view
  • 360 video data image/video data that undergoes a series of processes of capture/projection/encoding/transmission/decoding/re-projection/rendering may be referred to as 360 video data.
  • 360 video data may also be used as a concept including metadata or signaling information related to such image/video data.
  • FIG. 2 is a diagram illustrating a 360 video transmission apparatus according to embodiments.
  • embodiments may relate to a 360 video transmission device.
  • the 360 video transmission apparatus according to the embodiments may perform the above-described preparation process or operations related to the transmission process.
  • the 360 video transmission apparatus according to the embodiments includes a data input unit, a stitcher, a projection processing unit, a packing processing unit for each region (not shown), a metadata processing unit, a (transmitting side) feedback processing unit, a data encoder, an encapsulation processing unit.
  • a transmission processing unit and/or a transmission unit may be included as internal/external elements.
  • the data input unit may receive captured images/videos for each viewpoint. These viewpoint-specific images/videos may be images/videos captured by one or more cameras. Also, the data input unit may receive metadata generated during the capture process. The data input unit may transmit input images/videos for each viewpoint to the stitcher, and may transmit metadata of a capture process to the signaling processing unit.
  • the stitcher may perform stitching of captured images/videos for each viewpoint.
  • the stitcher may transmit the stitched 360 video data to the projection processing unit. If necessary, the stitcher can receive necessary metadata from the metadata processing unit and use it for stitching.
  • the stitcher may transfer metadata generated during the stitching process to the metadata processing unit. In the metadata of the stitching process, there may be information such as whether stitching has been performed and a stitching type.
  • the projection processor may project the stitched 360 video data onto the 2D image.
  • the projection processing unit may perform projection according to various schemes, which will be described later.
  • the projection processing unit may perform mapping in consideration of a corresponding depth of 360 video data for each viewpoint. If necessary, the projection processing unit may receive metadata necessary for projection from the metadata processing unit and use it for projection.
  • the projection processing unit may transfer metadata generated during the projection process to the metadata processing unit. In the metadata of the projection processing unit, there may be a type of projection scheme, and the like.
  • the region-specific packing processing unit may perform the above-described region-specific packing process. That is, the region-specific packing processing unit may divide the projected 360 video data by region, rotate and rearrange each region, or perform a process such as changing the resolution of each region. As described above, the packing process for each region is an optional process, and when packing for each region is not performed, the packing processing unit for each region may be omitted. If necessary, the regional packing processing unit may receive metadata required for regional packing from the metadata processing unit and use it for regional packing. The region-specific packing processing unit may transfer metadata generated in the region-specific packing process to the metadata processing unit. The metadata of the packing processing unit for each region may include the degree of rotation and the size of each region.
  • the aforementioned stitcher, projection processing unit, and/or region-specific packing processing unit may be performed by one hardware component according to an embodiment.
  • the metadata processing unit may process metadata that may occur during a capture process, a stitching process, a projection process, a packing process for each region, an encoding process, an encapsulation process, and/or a process for transmission.
  • the metadata processing unit may generate 360 video related metadata using these metadata.
  • the metadata processor may generate 360 video related metadata in the form of a signaling table. Depending on the signaling context, 360 video related metadata may be referred to as metadata or 360 video related signaling information.
  • the metadata processing unit may transmit the acquired or generated metadata to internal elements of the 360 video transmission device as needed.
  • the metadata processing unit may transmit the 360 video related metadata to the data encoder, the encapsulation processing unit, and/or the transmission processing unit so that the 360 video related metadata can be transmitted to the receiving side.
  • the data encoder may encode 360 video data projected on a 2D image and/or 360 video data packed for each region.
  • 360 video data can be encoded in a variety of formats.
  • the encapsulation processing unit may encapsulate the encoded 360 video data and/or 360 video related metadata in the form of a file or the like.
  • the 360 video related metadata may be received from the above-described metadata processing unit.
  • the encapsulation processing unit may encapsulate the corresponding data in a file format such as ISOBMFF or CFF, or may process the data in the form of other DASH segments.
  • the encapsulation processor may include 360 video related metadata on a file format according to an embodiment. 360-related metadata may be included in boxes of various levels on the ISOBMFF file format, or may be included as data in separate tracks in the file. According to an embodiment, the encapsulation processor may encapsulate the 360 video related metadata itself into a file.
  • the transmission processing unit may apply processing for transmission to the encapsulated 360 video data according to the file format.
  • the transmission processor may process 360 video data according to an arbitrary transmission protocol.
  • the processing for transmission may include processing for transmission through a broadcasting network and processing for transmission through a broadband.
  • the transmission processing unit may receive not only 360 video data, but also 360 video-related metadata from the metadata processing unit, and may apply processing for transmission to this.
  • the transmission unit may transmit the transmitted 360 video data and/or 360 video related metadata through a broadcasting network and/or broadband.
  • the transmission unit may include an element for transmission through a broadcasting network and/or an element for transmission through a broadband.
  • the 360 video transmission device may further include a data storage unit (not shown) as internal/external elements.
  • the data storage unit may store the encoded 360 video data and/or 360 video related metadata before being transmitted to the transmission processing unit.
  • the format in which these data are stored may be in the form of a file such as ISOBMFF.
  • a data storage unit may not be required.
  • NRT Non Real Time
  • broadband etc.
  • encapsulated 360 data is stored in the data storage unit for a certain period of time. It can also be sent back.
  • the 360 video transmission device may further include a (transmission side) feedback processing unit and/or a network interface (not shown) as internal/external elements.
  • the network interface may receive feedback information from the 360 video receiving apparatus according to the embodiments, and may transmit the feedback information to the transmitting-side feedback processing unit.
  • the transmitting-side feedback processing unit may transmit the feedback information to a stitcher, a projection processing unit, a regional packing processing unit, a data encoder, an encapsulation processing unit, a metadata processing unit, and/or a transmission processing unit.
  • the feedback information may be transmitted to the metadata processing unit once and then transmitted to each internal element again. Internal elements that have received the feedback information may reflect the feedback information in subsequent processing of 360 video data.
  • the packing processing unit for each region may rotate each region and map it onto a 2D image.
  • each region may be rotated in different directions and angles to be mapped onto the 2D image.
  • Rotation of the region may be performed in consideration of a portion in which 360 video data was adjacent before projection on a spherical surface, a stitched portion, and the like.
  • Information about the rotation of a region that is, a rotation direction, an angle, etc., may be signaled by 360 video related metadata.
  • the data encoder is configured for each region. You can perform encoding differently.
  • the data encoder can perform encoding with high quality in a specific region and low quality in other regions.
  • the transmitting-side feedback processing unit may transmit the feedback information received from the 360 video receiving device to the data encoder, so that the data encoder uses a differentiated encoding method for each region.
  • the feedback processing unit on the transmitting side may transfer viewport information received from the receiving side to the data encoder.
  • the data encoder may encode regions including the region indicated by the viewport information with a higher quality (such as UHD) than other regions.
  • the transmission processing unit may perform different transmission processing for each region.
  • the transmission processing unit may apply different transmission parameters (modulation order, code rate, etc.) for each region to change the robustness of data transmitted for each region.
  • the transmitting-side feedback processing unit may transmit the feedback information received from the 360 video receiving apparatus to the transmission processing unit, so that the transmission processing unit may perform differentiated transmission processing for each region.
  • the feedback processing unit of the transmitting side may transmit the viewport information received from the receiving side to the transmission processing unit.
  • the transmission processing unit may perform transmission processing for regions including the region indicated by the corresponding viewport information to have higher robustness than other regions.
  • the internal/external elements of the 360 video transmission apparatus may be hardware elements implemented in hardware. Depending on the embodiment, internal/external elements may be changed, omitted, or replaced or integrated with other elements. Depending on the embodiment, additional elements may be added to the 360 video transmission device.
  • FIG. 3 is a diagram illustrating a 360 video receiving apparatus according to embodiments.
  • embodiments may relate to a 360 video receiving apparatus.
  • the 360 video receiving apparatus according to the embodiments may perform operations related to the above-described processing and/or rendering process.
  • the 360 video receiving apparatus according to the embodiments may include a receiving unit, a receiving processing unit, a decapsulation processing unit, a data decoder, a metadata parser, a (receiving side) feedback processing unit, a re-projection processing unit, and/or a renderer as internal/external elements. I can.
  • the receiver may receive 360 video data transmitted by the 360 video transmission device according to the embodiments. Depending on the transmitted channel, the receiver may receive 360 video data through a broadcasting network or may receive 360 video data through a broadband.
  • the reception processing unit may perform processing according to a transmission protocol on the received 360 video data.
  • the reception processing unit may perform the reverse process of the transmission processing unit described above so as to correspond to the transmission processing performed by the transmission side.
  • the reception processing unit may transmit the acquired 360 video data to the decapsulation processing unit, and the acquired 360 video related metadata may be transmitted to the metadata parser.
  • the 360 video related metadata obtained by the reception processing unit may be in the form of a signaling table.
  • the decapsulation processing unit may decapsulate 360 video data in the form of a file transmitted from the reception processing unit.
  • the decapsulation processor may decapsulate files according to ISOBMFF or the like to obtain 360 video data to 360 video related metadata.
  • the acquired 360 video data may be transmitted to a data decoder, and the acquired 360 video related metadata may be transmitted to a metadata parser.
  • the 360 video related metadata acquired by the decapsulation processing unit may be in the form of a box or track in a file format. If necessary, the decapsulation processing unit may receive metadata required for decapsulation from the metadata parser.
  • the data decoder may perform decoding on 360 video data.
  • the data decoder may receive metadata necessary for decoding from the metadata parser.
  • the 360 video related metadata obtained in the data decoding process may be transmitted to the metadata parser.
  • the metadata parser may parse/decode 360 video related metadata.
  • the metadata parser may transmit the acquired metadata to a data decapsulation processing unit, a data decoder, a re-projection processing unit, and/or a renderer.
  • the re-projection processor may perform re-projection on the decoded 360 video data.
  • the re-projection processor may re-project 360 video data into a 3D space.
  • the 3D space can have different shapes depending on the 3D model used.
  • the re-projection processing unit may receive metadata required for re-projection from the metadata parser.
  • the re-projection processor may receive information on the type of the 3D model used and detailed information thereof from the metadata parser.
  • the re-projection processor may re-project only 360 video data corresponding to a specific area in the 3D space into the 3D space using metadata required for re-projection.
  • the renderer can render re-projected 360 video data. As described above, it may be expressed that 360 video data is rendered in 3D space. If the two processes occur at once, the re-projection processing unit and the renderer are integrated, and all of these processes can be performed in the renderer. According to an embodiment, the renderer may render only the portion viewed by the user according to the user's viewpoint information.
  • the user can view a partial area of the rendered 360 video through a VR display or the like.
  • the VR display is a device that plays a 360 video, and may be included in the 360 video receiving device (tethered), or may be connected to the 360 video receiving device as a separate device (un-tethered).
  • the 360 video receiving apparatus may further include a (receiving side) feedback processing unit and/or a network interface (not shown) as internal/external elements.
  • the receiving-side feedback processing unit may obtain and process feedback information from a renderer, a re-projection processing unit, a data decoder, a decapsulation processing unit, and/or a VR display.
  • the feedback information may include viewport information, head orientation information, gaze information, and the like.
  • the network interface may receive feedback information from the feedback processing unit on the receiving side and transmit it to the 360 video transmission device.
  • the receiving-side feedback processing unit may transmit the obtained feedback information to internal elements of the 360 video receiving apparatus to be reflected in a process such as rendering.
  • the receiving-side feedback processing unit may transmit the feedback information to a renderer, a re-projection processing unit, a data decoder, and/or a decapsulation processing unit.
  • the renderer may preferentially render an area that the user is viewing by using feedback information.
  • the decapsulation processing unit, the data decoder, etc. may preferentially decapsulate and decode a region viewed by a user or a region to be viewed.
  • the internal/external elements of the 360 video receiving apparatus may be hardware elements implemented in hardware. Depending on the embodiment, internal/external elements may be changed, omitted, or replaced or integrated with other elements. Depending on the embodiment, additional elements may be added to the 360 video receiving device.
  • Another aspect of the embodiments may relate to a method of transmitting 360 video and a method of receiving 360 video.
  • the method of transmitting/receiving 360 video according to the embodiments may be performed by the apparatus for transmitting/receiving 360 video or embodiments of the apparatus, respectively.
  • each embodiment of the 360 video transmission/reception apparatus and the transmission/reception method according to the above-described embodiments, and each of the internal/external elements thereof may be combined with each other.
  • the embodiments of the projection processing unit and the embodiments of the data encoder may be combined with each other to create as many embodiments as 360 video transmission apparatuses.
  • the combined embodiments are also included in the scope of the embodiments.
  • FIG. 4 is a diagram illustrating a 360 video transmission device/360 video reception device according to embodiments.
  • 360 content may be provided by the architecture shown in (a).
  • the 360 content may be provided in the form of a file or may be provided in the form of a segment-based download or streaming service such as DASH.
  • the 360 content may be referred to as VR content.
  • 360 video data and/or 360 audio data may be obtained (Acquisition).
  • audio data may go through an audio preprocessing process and an audio encoding process.
  • audio-related metadata may be generated, and encoded audio and audio-related metadata may be processed for transmission (file/segment encapsulation).
  • 360 video data may go through the same process as described above.
  • the stitcher of the 360 video transmission device may perform stitching on 360 video data (Visual stitching). This process is omitted depending on the embodiment and may be performed at the receiving side.
  • the projection processing unit of the 360 video transmission device may project 360 video data onto a 2D image (Projection and mapping (packing)).
  • This stitching and projection process is specifically shown in (b).
  • (b) shown when 360 video data (Input Images) is received, stitching and projection may be performed thereon.
  • the projection process it can be seen that the stitched 360 video data is specifically projected onto a 3D space, and the projected 360 video data is arranged on a 2D image.
  • this process may be expressed as projecting 360 video data onto a 2D image.
  • the 3D space may be a sphere or a cube. This 3D space may be the same as the 3D space used for re-projection on the receiving side.
  • the 2D image may also be referred to as a projected frame (C).
  • Region-wise packing may optionally be further performed on this 2D image.
  • regions on a 2D image may be mapped onto a packed frame (D) by indicating the location, shape, and size of each region.
  • the projected frame may be the same as the packed frame. Regions will be described later.
  • the projection process and the packing process for each region may be expressed as each region of 360 video data is projected onto a 2D image. Depending on the design, 360 video data may be directly converted into packed frames without an intermediate process.
  • the projected 360 video data may be image encoded or video encoded. Since the same content may exist for different viewpoints, the same content may be encoded in different bit streams.
  • the encoded 360 video data may be processed in a file format such as ISOBMFF by the above-described encapsulation processing unit.
  • the encapsulation processor may process the encoded 360 video data into segments. Segments may be included in separate tracks for DASH based transmission.
  • Metadata related to 360 video may be generated as described above.
  • This metadata can be delivered in a video stream or file format.
  • This metadata can also be used in processes such as encoding process, file format encapsulation, and processing for transmission.
  • 360 audio/video data may be transmitted after going through a process for transmission according to a transmission protocol.
  • the above-described 360 video receiving apparatus may receive this through a broadcasting network or a broadband.
  • a VR service platform may correspond to an embodiment of the above-described 360 video receiving device.
  • the speaker/headphones, the display, and the head/eye tracking component are shown to be performed by an external device or a VR application of the 360 video receiving device.
  • the 360 video receiving apparatus may include all of them.
  • the head/eye tracking component may correspond to the aforementioned feedback processing unit on the receiving side.
  • the 360 video reception device may perform file/segment decapsulation processing for reception on 360 audio/video data.
  • 360 audio data may be provided to a user through a speaker/headphone through audio decoding and audio rendering.
  • 360 video data may be provided to a user through a display through image decoding, video decoding, and visual rendering.
  • the display may be a display supporting VR or a general display.
  • 360 video data is re-projected onto a 3D space, and the re-projected 360 video data is rendered. This can be expressed as 360 video data being rendered in 3D space.
  • the head/eye tracking component may acquire and process the user's head orientation information, gaze information, and viewport information. This has been described above.
  • the receiving side there may be a VR application communicating with the above-described receiving side processes.
  • FIG. 5 is a diagram illustrating a concept of aircraft principal axes for explaining a 3D space according to embodiments.
  • the concept of an airplane main axis may be used to represent a specific point, location, direction, interval, area, etc. in 3D space.
  • the concept of an airplane main axis may be used to describe the 3D space before or after the projection or after the re-projection, and to perform signaling thereon.
  • a method using an X, Y, Z axis concept or a spherical coordinate system may be used.
  • the plane can rotate freely in three dimensions.
  • the three-dimensional axes are referred to as pitch, yaw, and roll axes, respectively. In this specification, these may be abbreviated and expressed as pitch, yaw, roll to pitch direction, yaw direction, and roll direction.
  • the pitch axis may mean an axis that serves as a reference for the direction in which the front nose of an airplane rotates up/down.
  • the pitch axis may mean an axis that extends from the wing of the airplane to the wing.
  • the yaw axis may mean an axis that is the reference of the direction in which the front nose of an airplane rotates left/right. In the illustrated airplane main axis concept, the yaw axis may mean an axis extending from top to bottom of the airplane.
  • the roll axis is an axis extending from the front nose to the tail of the airplane in the illustrated main axis concept, and rotation in the roll direction may mean rotation based on the roll axis.
  • the 3D space in the embodiments may be described through the concepts of pitch, yaw, and roll.
  • FIG. 6 is a diagram illustrating projection schemes according to embodiments.
  • the projection processor of the 360 video transmission apparatus may project stitched 360 video data onto a 2D image.
  • Various projection schemes can be used in this process.
  • the projection processing unit may perform projection using a cubic projection scheme. For example, stitched 360 video data may be displayed on a spherical surface.
  • the projection processing unit may divide the 360 video data into a cube (cube) shape and project it onto a 2D image.
  • the 360 video data on the spherical surface corresponds to each surface of the cube, and can be projected as (a) left or (a) right on the 2D image.
  • the projection processing unit may perform projection by using a cylindrical projection (Cylindrical Projection) scheme.
  • the projection processing unit can divide the 360 video data into a cylinder shape and project it onto a 2D image.
  • the 360 video data on the spherical surface correspond to the side, top, and bottom surfaces of the cylinder, respectively, and can be projected on the 2D image as (b) left or (b) right.
  • the projection processing unit may perform projection using a pyramid projection (Pyramid Projection) scheme.
  • the projection processing unit may view the 360 video data in a pyramid shape and divide each surface to project on a 2D image.
  • the 360 video data on the spherical surface corresponds to the front of the pyramid and the four sides of the pyramid (Left top, Left bottom, Right top, Right bottom), respectively, so that (c) left or ( c) It can be projected as shown on the right.
  • the projection processor may perform projection using an Equirectangular Projection scheme, a Panoramic Projection scheme, or the like in addition to the above-described schemes.
  • a region may mean a region in which a 2D image projected with 360 video data is divided. These regions do not need to match each side of the projected 2D image according to the projection scheme. However, according to an embodiment, regions are divided so that each surface on the projected 2D image corresponds to the region, and packing for each region may be performed. Depending on the embodiment, a plurality of faces may correspond to one region, or regions may be divided so that one face corresponds to a plurality of regions. In this case, the region may vary depending on the projection scheme. For example, in (a), each of the sides (top, bottom, front, left, right, back) of the cube may be a region. In (b), the side, top, and bottom of the cylinder may each be a region. In (c), the front of the pyramid and the four-way side (Left top, Left bottom, Right top, Right bottom) may be regions, respectively.
  • FIG. 7 is a diagram illustrating a tile according to embodiments.
  • 360 video data projected on a 2D image or 360 video data performed up to region-specific packing may be divided into one or more tiles.
  • Figure (a) shows a form in which one 2D image is divided into 16 tiles.
  • the 2D image may be the above-described projected frame or packed frame.
  • the data encoder may independently encode each tile.
  • Packing and tiling for each region described above may be classified.
  • the above-described region-specific packing may mean that 360 video data projected on a 2D image is divided into regions and processed to increase coding efficiency or to adjust resolution.
  • the tiling may mean that the data encoder divides a projected frame or a packed frame into a partition called a tile, and independently performs encoding for each corresponding tile.
  • the user does not consume all portions of the 360 video at the same time.
  • the tiling may enable the receiving side to transmit or consume only tiles corresponding to an important part or a certain part, such as a viewport currently viewed by a user, on a limited bandwidth. Through tiling, the limited bandwidth can be utilized more efficiently, and the receiving side can reduce the computational load compared to processing all 360 video data at once.
  • Regions and tiles are distinct, so the two regions do not need to be the same.
  • the region and the tile may refer to the same area.
  • packing for each region is performed according to the tile, so that the region and the tile may be the same.
  • each surface according to the projection scheme may refer to the same area, region, and tile.
  • a region may be referred to as a VR region
  • a tile may be referred to as a tile region.
  • ROI may mean a region of interest of users proposed by a 360 content provider.
  • a 360 content provider produces a 360 video, it is possible to produce a 360 video in consideration of a certain area that users will be interested in.
  • the ROI may correspond to an area in which important content is played on the content of the 360 video.
  • the receiving-side feedback processing unit may extract and collect viewport information, and transmit it to the transmitting-side feedback processing unit.
  • viewport information can be delivered using both network interfaces.
  • a viewport t6010 is displayed in the 2D image of (a) shown.
  • the viewport can span 9 tiles on the 2D image.
  • the 360 video transmission device may further include a tiling system.
  • the tiling system may be located after the data encoder (shown (b)), may be included in the above-described data encoder or the transmission processing unit, or may be included in the 360 video transmission device as separate inner/outer elements. .
  • the tiling system may receive viewport information from the feedback processing unit of the transmitting side.
  • the tiling system may select and transmit only tiles including the viewport area. Only 9 tiles including the viewport area t6010 among a total of 16 tiles in the 2D image of (a) shown in FIG.
  • the tiling system may transmit tiles in a unicast manner through broadband. This is because the viewport area is different depending on the user.
  • the feedback processing unit on the transmitting side may transmit the viewport information to the data encoder.
  • the data encoder may perform encoding on tiles including the viewport region with a higher quality than other tiles.
  • the feedback processing unit on the transmitting side may transmit the viewport information to the metadata processing unit.
  • the metadata processing unit may transmit metadata related to the viewport area to each internal element of the 360 video transmission device, or may include metadata related to 360 video.
  • Embodiments related to the above-described viewport area may be applied in a similar manner to specific areas other than the viewport area. For example, through the above-described gaze analysis, the area determined to be primarily of interest to users, the ROI area, and the area that is played for the first time when the user encounters a 360 video through the VR display (initial viewpoint) , Processing in the same manner as the above-described viewport area may be performed.
  • the transmission processing unit may perform different transmission processing for each tile.
  • the transmission processing unit may apply different transmission parameters (modulation order, code rate, etc.) for each tile to vary the robustenss of data transmitted for each tile.
  • the transmitting-side feedback processing unit may transmit the feedback information received from the 360 video receiving apparatus to the transmission processing unit, so that the transmission processing unit may perform differential transmission processing for each tile.
  • the feedback processing unit of the transmitting side may transmit the viewport information received from the receiving side to the transmission processing unit.
  • the transmission processing unit may perform transmission processing for tiles including a corresponding viewport area to have higher robustness than other tiles.
  • FIG. 8 is a diagram illustrating 360 video related metadata according to embodiments.
  • the 360 video related metadata described above may include various metadata about 360 video.
  • 360 video related metadata may be referred to as 360 video related signaling information.
  • 360 video related metadata may be included in a separate signaling table and transmitted, included in a DASH MPD, and transmitted, or included in a file format such as ISOBMFF in the form of a box and transmitted.
  • 360 video related metadata When 360 video related metadata is included in the form of a box, it may be included in various levels such as files, fragments, tracks, sample entries, samples, etc. to include metadata about data of a corresponding level.
  • some of the metadata to be described later is configured as a signaling table and transmitted, and the remaining part may be included in the file format in the form of a box or a track.
  • the 360 video related metadata includes basic metadata related to a projection scheme, stereoscopic metadata, and initial viewpoint (Initial View/Initial Viewpoint) related metadata. Metadata, metadata related to ROI, metadata related to a field of view (FOV), and/or metadata related to a cropped region may be included. According to an embodiment, the 360 video related metadata may further include additional metadata in addition to those described above.
  • the embodiments of the 360 video related metadata according to the embodiments include the above-described basic metadata, stereoscopic metadata, initial viewpoint related metadata, ROI related metadata, FOV related metadata, cropped area related metadata, and/or Alternatively, it may be a form including at least one or more of metadata that may be added later.
  • the embodiments of 360 video related metadata according to the embodiments may be configured in various ways according to the number of detailed metadata included respectively. According to an embodiment, the 360 video related metadata may further include additional information in addition to the above.
  • Basic metadata may include 3D model related information and projection scheme related information.
  • Basic metadata may include a vr_geometry field and a projection_scheme field. According to an embodiment, basic metadata may further include additional information.
  • the vr_geometry field may indicate the type of 3D model supported by the 360 video data.
  • the corresponding 3D space may have a shape according to a 3D model indicated by the vr_geometry field.
  • the 3D model used for rendering may be different from the 3D model used for re-projection indicated by the vr_geometry field.
  • the basic metadata may further include a field indicating the 3D model used during rendering. When the corresponding field has a value of 0, 1, 2, and 3, the 3D space may follow the 3D model of a sphere, a cube, a cylinder, and a pyramid, respectively.
  • the 360 video related metadata may further include detailed information on the 3D model indicated by the corresponding field.
  • the specific information on the 3D model may mean, for example, information on a radius of a sphere, information on a height of a cylinder, and the like. This field may be omitted.
  • the projection_scheme field may indicate a projection scheme used when the corresponding 360 video data is projected onto a 2D image. If the field has values of 0, 1, 2, 3, 4, 5, respectively, an Equirectangular Projection scheme, a cubic projection scheme, a cylindrical projection scheme, and a tile-based projection scheme , Pyramid projection scheme, and Panoramic projection scheme may have been used. When the corresponding field has a value of 6, 360 video data may be directly projected onto a 2D image without stitching. If the field has the remaining values, it can be reserved for future use (Reserved for Future Use).
  • the 360 video related metadata may further include detailed information on a region generated by a projection scheme specified by a corresponding field.
  • the specific information on the region may mean, for example, whether the region is rotated, and information on the radius of the top region of the cylinder.
  • the stereoscopic metadata may include information on 3D-related properties of 360 video data.
  • Stereoscopic related metadata may include an is_stereoscopic field and/or a stereo_mode field.
  • the stereoscopic metadata may further include additional information.
  • the is_stereoscopic field may indicate whether the corresponding 360 video data supports 3D. If the field is 1, it may mean 3D support, and if it is 0, it may mean 3D is not supported. This field may be omitted.
  • the stereo_mode field may indicate a 3D layout supported by the 360 video. Only this field may indicate whether or not the 360 video supports 3D. In this case, the is_stereoscopic field described above may be omitted. When the value of this field is 0, the corresponding 360 video may be in a mono mode. That is, the projected 2D image may include only one mono view. In this case, the 360 video may not support 3D.
  • the 360 videos may follow a Left-Right layout and a Top-Bottom layout, respectively.
  • the left and right layout and the top and bottom layout may be referred to as a side-by-side format and a top-bottom format, respectively.
  • 2D images projected with a left image/right image may be positioned left/right on an image frame, respectively.
  • 2D images in which the left and right images are projected may be positioned up and down on the image frame, respectively. If the field has the remaining values, it can be reserved for future use (Reserved for Future Use).
  • the metadata related to the initial view may include information on the view point (initial view point) when the user first plays the 360 video.
  • the metadata related to the initial view may include an initial_view_yaw_degree field, an initial_view_pitch_degree field, and/or an initial_view_roll_degree field.
  • the metadata related to the initial view may further include additional information.
  • the initial_view_yaw_degree field, the initial_view_pitch_degree field, and the initial_view_roll_degree field may indicate an initial viewpoint when the corresponding 360 video is played. That is, the center point of the viewport that is first viewed during playback can be indicated by these three fields. Each field can represent the position of the center point in the direction (sign) rotated with respect to the yaw, pitch, and roll axes, and its degree (angle).
  • the viewport to be displayed at the first playback may be determined according to the FOV. Through the FOV, a horizontal length and a vertical length (width, height) of the initial viewport based on the indicated initial viewpoint may be determined. That is, using these three fields and FOV information, the 360 video receiving apparatus may provide a predetermined area of the 360 video to the user as an initial viewport.
  • the initial viewpoint indicated by the metadata related to the initial viewpoint may be changed for each scene. That is, the scene of the 360 video changes according to the temporal flow of the 360 content.
  • the initial viewpoint or the initial viewport that the user first sees may be changed.
  • the metadata related to the initial viewpoint may indicate the initial viewpoint for each scene.
  • the metadata related to the initial view may further include a scene identifier identifying a scene to which the corresponding initial view is applied.
  • the metadata related to the initial viewpoint may further include FOV information for each scene indicating the FOV corresponding to the corresponding scene.
  • ROI related metadata may include information related to the aforementioned ROI.
  • ROI-related metadata may include a 2d_roi_range_flag field and/or a 3d_roi_range_flag field.
  • Each of the two fields may indicate whether ROI-related metadata includes fields representing ROI based on a 2D image or fields representing ROI based on a 3D space.
  • the ROI-related metadata may further include additional information such as differential encoding information according to ROI and differential transmission processing information according to ROI.
  • ROI-related metadata includes fields representing ROI based on a 2D image
  • ROI-related metadata includes a min_top_left_x field, max_top_left_x field, min_top_left_y field, max_top_left_y field, min_width field, max_width field, min_height field, max_height field, min_x A field, a max_x field, a min_y field, and/or a max_y field may be included.
  • the min_top_left_x field, max_top_left_x field, min_top_left_y field, and max_top_left_y field may represent the minimum/maximum values of the coordinates of the upper left end of the ROI. These fields may in turn represent the minimum x coordinate, the maximum x coordinate, the minimum y coordinate, and the maximum y coordinate of the upper left corner.
  • the min_width field, max_width field, min_height field, and max_height field may represent minimum/maximum values of a horizontal size (width) and a vertical size (height) of an ROI. These fields may in turn represent the minimum value of the horizontal size, the maximum value of the horizontal size, the minimum value of the vertical size, and the maximum value of the vertical size.
  • the min_x field, max_x field, min_y field, and max_y field may represent minimum/maximum values of coordinates in the ROI. These fields, in turn, may represent a minimum x coordinate, a maximum x coordinate, a minimum y coordinate, and a maximum y coordinate of coordinates within the ROI. These fields can be omitted.
  • the ROI-related metadata includes fields representing the ROI based on coordinates in the 3D rendering space
  • the ROI-related metadata includes a min_yaw field, a max_yaw field, a min_pitch field, a max_pitch field, a min_roll field, a max_roll field, a min_field_of_view field and/or It may include a max_field_of_view field.
  • the min_yaw field, max_yaw field, min_pitch field, max_pitch field, min_roll field, and max_roll field may represent an area occupied by the ROI in 3D space as the minimum/maximum values of yaw, pitch, and roll.
  • These fields are, in turn, the minimum value of the yaw axis reference rotation amount, the maximum value of the yaw axis reference rotation amount, the minimum value of the pitch axis reference rotation amount, the maximum value of the pitch axis reference rotation amount, the minimum value of the roll axis reference rotation amount, and the roll axis reference rotation amount. It can represent the maximum value of the total amount.
  • the min_field_of_view field and the max_field_of_view field may indicate minimum/maximum FOV values of the 360 video data.
  • the FOV may mean a field of view that is displayed at one time when playing a 360 video.
  • the min_field_of_view field and the max_field_of_view field may represent a minimum value and a maximum value of FOV, respectively. These fields can be omitted. These fields may be included in FOV related metadata to be described later.
  • FOV related metadata may include information related to the above-described FOV.
  • FOV related metadata may include a content_fov_flag field and/or a content_fov field.
  • the FOV related metadata may further include additional information such as information related to the minimum/maximum value of the FOV described above.
  • the content_fov_flag field may indicate whether information on the intended FOV exists for the 360 video when it is produced. When this field value is 1, the content_fov field may exist.
  • the content_fov field may indicate information on the FOV intended for production of the 360 video.
  • an area displayed to the user at one time among the 360 images may be determined according to a vertical or horizontal FOV of a corresponding 360 video receiving device.
  • the area of the 360 video displayed to the user at a time may be determined by reflecting the FOV information of this field.
  • the cropped region related metadata may include information on a region including actual 360 video data on the image frame.
  • the image frame may include an active video area that is actually projected 360 video data and an area that is not.
  • the active video area may be referred to as a cropped area or a default display area.
  • This active video area is an area that is actually viewed as 360 video on the VR display, and the 360 video receiving device or the VR display can process/display only the active video area. For example, if the aspect ratio of an image frame is 4:3, only the area excluding the upper part and the lower part of the image frame can contain 360 video data, and this part can be referred to as the active video area. .
  • the cropped region related metadata may include an is_cropped_region field, a cr_region_left_top_x field, a cr_region_left_top_y field, a cr_region_width field, and/or a cr_region_height field. According to an embodiment, the cropped region related metadata may further include additional information.
  • the is_cropped_region field may be a flag indicating whether the entire area of the image frame is used by the 360 video receiving device or the VR display. That is, this field may indicate whether the entire image frame is an active video region. When only part of the image frame is the active video area, the following four fields may be added.
  • the cr_region_left_top_x field, cr_region_left_top_y field, cr_region_width field, and cr_region_height field may represent an active video region on an image frame.
  • Each of these fields may represent an x coordinate of the upper left corner of the active video region, a y coordinate of the upper left corner of the active video region, a width of the active video region, and a height of the active video region.
  • the horizontal length and vertical length may be expressed in units of pixels.
  • the 360 video-based VR system can provide a visual/audible experience for a 360 video in different viewing orientations based on a user's location based on the above-described 360 video processing process.
  • This method can be termed as 3DoF (three degree of freedom) plus.
  • a VR system that provides an introductory/auditory experience in different directions from a user's fixed location for 360 video may be referred to as a 3DoF-based VR system.
  • a VR system that can provide extended visual/auditory experiences for different directions in different views and different viewing positions in the same time zone is called a 3DoF+ or 3DoF plus-based VR system. I can.
  • visual/auditory information in various directions can be delivered like the conventional 3DoF.
  • main source video/audio/text
  • additional sources may be integrated and provided, which may be linked to the viewing orientation of the user or independently transmit information.
  • FIG. 10 shows a method of implementing a 360-degree video signal processing and related transmission/reception device based on a 3DoF+ system.
  • FIG. 10 is an example of a flow diagram of a 3DoF+ end-to-end system including image acquisition, pre-processing, transmission, (post) processing, rendering, and feedback processes of 3DoF+.
  • Each component may correspond to hardware, software, processor, and/or a combination thereof.
  • the image information may include not only visual information (texture) but also depth information (depth).
  • depth depth
  • a plurality of pieces of information of different viewing positions according to different photographing positions may be obtained.
  • Composition For synthesizing not only information acquired through video/audio input devices, but also video (video/image, etc.), voice (audio/effect sound, etc.), text (subtitles, etc.) through external media in the user experience. You can define the method.
  • Pre-processing As a preparation (pre-processing) process for transmission/delivery of the acquired 360 video, it may include stitching, projection, region-specific packing process, and/or encoding process. That is, this process may include a pre-processing process and an encoding process to change/complement video/audio/text information according to the intention of the producer.
  • the obtained visual information is mapped onto a 360 sphere (stitching), the area boundary is removed, the color/brightness difference is reduced, or the visual effect of the image is given, and the viewpoint
  • the process of separating the video according to the (view segmentation), the projection process of mapping the video on the 360 sphere to the 2D video, the process of rearranging the video according to the region (region-wise packing), the encoding process of compressing the video information Can be included.
  • a plurality of projection images having different viewing positions may be generated according to different photographing positions.
  • Delivery It may refer to a process of processing and transmitting video/audio data and metadata that have undergone a preparation process (pre-processing process).
  • pre-processing process As a method of transmitting a plurality of video/audio data and related metadata at different viewing positions according to different photographing positions, a method such as a broadcasting network, a communication network, or one-way transmission is used as described above. I can.
  • Post-processing & composition This may mean a post-processing process for decoding received/stored video/audio/text data and for final playback.
  • the post-processing process may include unpacking for unpacking an image packed as described above, and a re-projection process for restoring a 2D projected image to a 3D spherical image.
  • Rendering It may refer to the process of rendering and displaying image/video data re-projected onto a 3D space.
  • the video/audio signal can be reconstructed into a form for final output.
  • the viewing orientation, viewing position/head position, and viewpoint of the user's ROI can be tracked, and only necessary video/audio/text information can be selectively used according to this information.
  • different viewpoints such as c may be selected according to the user's region of interest, and finally, images in a specific direction of a specific viewpoint at a specific position may be output as d.
  • Feedback It may refer to a process of delivering various feedback information that can be obtained during the display process to the transmitter.
  • a viewing orientation, a viewing position, and a viewpoint of a user region of interest may be estimated, and feedback may be transmitted to reproduce an image/audio based on this.
  • FIG. 11 shows the structure of a 3DoF+ end-to-end system.
  • the transmission device of FIG. 11 is a concrete representation of the transmission device of FIG. 2, and may be referenced/correspond to each other.
  • the receiving device of FIG. 11 is a concrete representation of the receiving device of FIG. 2, and may be referred/correspond to by complementing each other.
  • the 360 video transmission device (which can also be referred to as a source or source) is largely a part where 360 video (image)/audio data is acquired (acquisition unit), a part that processes acquired data (video/audio pre-processor), and additional information. It may be composed of a composition generation unit, an encoding unit for encoding text, audio, and a projected 360-degree video, and an encapsulation unit for encapsulating the encoded data. As described above, the encoded data may be output in the form of a bitstream, and the encoded data may be encapsulated in a file format such as ISOBMFF or CFF, or may be processed in the form of other DASH segments.
  • the encoded data can be delivered to the 360 video receiving device through a digital storage medium, or, although not explicitly shown, undergoes processing for transmission through a transmission processing unit as described above, and then through a broadcasting network or broadband. Can be transmitted through.
  • the data acquisition unit 1100 is configured according to a sensor orientation (viewing orientation in the case of an image), a sensor position (viewing position in the case of an image), and an information acquisition position (a viewpoint in the case of an image) of the sensor. Different information can be acquired simultaneously or continuously, and at this time, video, image, audio, location information, etc. can be acquired.
  • Data acquired by the data acquisition unit 1100 may include a scene, an image, a view, a picture, an image/video, an audio, and the like, and may be referred to as image data and video data.
  • the acquisition unit 1100 may acquire data for each of various camera viewing positions of various camera positions.
  • An apparatus/method for performing a process prior to encoding data may be referred to as a pre-processor/pre-processing.
  • the pre-processor 1101 may include a depth processing unit 1102, an image processing unit 1103, a packer 1104, and/or a subpicture generator 1105.
  • the depth processing unit 1102 may estimate, match, rotate, and project the depth data acquired by the acquisition unit 1100. Each process can be optionally combined.
  • the audio pre-processor 1106 may pre-process the audio data acquired by the acquisition unit 1100, and the pre-processed audio data may be input to the depth processing unit 1102.
  • the depth processor 1102 may estimate, map, rotate, or project the depth based on audio data.
  • the depth processing unit 1102 may be referred to as an estimator, a mapper, a rotator, and a projector.
  • the depth processing unit 1102 may generate projected pictures, and the picture is data including depth, and may be referred to as depth.
  • the depth processing unit 1102 may estimate/map/rotate/project the depth data based on image data, audio data, and the like.
  • the image processing unit 1103 may receive image data from the acquisition unit 1100, and the image data may be stitched, rotated, or projected. Each process can be optionally combined.
  • the image processing unit 1103 may stitch/rotate/project an image based on the audio data preprocessed from the audio pre-processor 1106.
  • the image processing unit 1103 may generate projected pictures.
  • a picture is data including a texture, and may be referred to as a texture.
  • the depth processing unit 1102 and/or the image processing unit 1103 may generate video metadata including signaling information related to each process and transmit it to a video/image encoder.
  • the packer 1104 may pack (merge) into a packed picture in order to efficiently transmit projection pictures including depth and/or projection pictures including a texture.
  • packing may be performed based on visual media or the like.
  • Video metadata including signaling information related to packing may be generated.
  • the packing picture may include texture, depth, additional data (overlay), and the like. Overlay refers to an overlapping area between pictures packed according to packing.
  • the sub-picture generator 1105 may receive the packed picture and generate the packed picture as sub-pictures.
  • the sub-picture may mean a partial picture included in a picture.
  • the sub-picture generator 1105 may divide the packed picture into one or more sub-pictures based on the viewing position, viewpoint metadata, and the like.
  • the sub-picture generator 1105 may generate video metadata including signaling information about a sub-picture process.
  • the packer 1104 and/or the sub-picture generator 1105 may be selectively applied according to embodiments.
  • the location estimator 1107 may be linked with the video pre-processor 1101 to receive location data from the acquisition unit 1100 and estimate location data based on the image data.
  • the predicted/estimated location data may be transmitted to the composition generator 1108.
  • the composition generator 1108 receives input signals, text media (subtitles, etc.), visual media (videos, images, etc.), and audio media (audio, sound effects, etc.) from outside the source in connection with the pre-processor, and Information about this can be generated and provided to the file/segment encapsulator. For this reason, the transmitting device (source) can transmit information on the configuration of the data to the receiving device (sink).
  • the text encoder 1109 may encode text media based on location, composition information, audio data, and the like.
  • the encoded text data can be delivered to a video/image encoder.
  • the audio encoder 1110 may encode preprocessed audio data.
  • the audio encoder 1110 may encode audio data based on the encoded video/image data.
  • the encoded audio data can be delivered to a video/image encoder, a text encoder, or the like.
  • the video/image encoder 1111 may encode a packed picture including texture, depth, additional information, and the like, a sub-picture (or may be referred to as a sub-picture), audio data, text data, video metadata, and the like.
  • the file/segment encapsulator 1112 is based on encoded video/image data, video metadata, composition information, and feedback information of the receiving device, such as eye tracking, head position, user-selected ROI area information provided by the file extractor.
  • a file/segment including video/image, metadata, and additional information can be generated.
  • the transmitting device may transmit data based on a file or may transmit data based on DASH.
  • texture and depth information may be obtained, respectively, and different video pre-processing may be performed according to the characteristics of each component.
  • texture information a 360 omnidirectional image can be configured by using images of different viewing orientations of the same viewing position obtained from the same viewpoint using image sensor position information, For this, an image stitching process may be performed.
  • projection for changing to a format for encoding an image and/or packing for each region may be performed.
  • depth image it is generally possible to acquire an image through a depth camera, and in this case, a depth image may be created in the form of a texture.
  • depth data may be generated based on separately measured data.
  • composition generation unit synthesizes externally generated media data (video/image for video, audio/effect sound for audio, subtitles for text, etc.) based on the creator's intention at the final playback stage. Information is generated, and this information is transmitted as composition metadata.
  • the video/audio/text information that has undergone each process is compressed using each encoder and encapsulated in units of files or segments depending on the application. At this time, it is possible to extract only necessary information according to a video, file, or segment configuration method.
  • information for reconstructing each data at the receiver is delivered at the codec or file format/system level.
  • information for video/audio reconstruction (video/audio metadata), composition information for overlay (composition metadata), and video/audio Audio playback possible position (viewpoint) and viewing position information according to each position (viewing position and viewpoint metadata) are included. Processing of such information can also be generated through a separate metadata processing unit.
  • 360 video receiving device (can be referred to as sink) is a part that decapsulates a largely received file or segment (file/segment decapsulation unit), a part that generates video/audio/text information from a bitstream (decoding unit) , A post-processor for reproducing video/audio/text, a tracking unit for tracking a user's region of interest, and a display that is a playback device.
  • the receiving device may perform the reverse process of the transmitting device.
  • the receiving device may receive data (which may be abbreviated as video data) including video/image/audio/metadata/text/additional information, etc. in the form of a file and/or DASH delivery.
  • data which may be abbreviated as video data
  • video data including video/image/audio/metadata/text/additional information, etc. in the form of a file and/or DASH delivery.
  • the file/segment decapsulator 1113 may decapsulate the file/segment. Audio data, video/image data, text data, and the like may be decapsulated from the file/segment.
  • the bitstream generated through decapsulation may be divided into video/audio/text, etc. according to the type of data, and may be individually decoded in a playable format.
  • the audio decoder 1114 may decode audio data.
  • the video/image decoder 1115 may decode video/image data.
  • the video/image decoder 1115 may decode/generate packing pictures including text, depth, and/or aberray transmitted from the transmission device.
  • the text decoder 1116 may decode text data.
  • the sensor and input unit or tracker 1117 is based on the sensor and user input information, etc., based on the user's region of interest position (viewpoint), the viewing position at the corresponding position (viewing position), the direction at the time point (viewing orientation) information is generated, and this information may be used for selecting or extracting a region of interest in each module of the 360 video receiving apparatus, or a post-processing process to highlight information on the region of interest.
  • this information when transmitted to a 360 video transmission device, it can be used for file extractor or sub-picture selection for efficient bandwidth use, and various image reconstruction methods based on an ROI (viewport/viewing position/viewport dependent processing).
  • Orientation, viewport, viewing position, metadata, eye tracking, head position, user selection ROI information, etc. can be fed back to the transmitting device and can be provided for audio decoding, video/image decoding, text decoding, and unpacking/selection. , Texture/depth/overlay rendering, composition, auxiliary generation, etc. may be provided.
  • the unpacker/selector 1118 corresponds to the packer of the transmitting device and may perform a reverse process of the packer. By receiving the packed picture, pictures projected from the packed picture may be unpacked and selected. The process of unpacking/selecting may be optional according to embodiments. Unpacking/selecting may be performed based on orientation/viewport/viewing position/viewpoint/metadata.
  • the texture renderer 1119, the depth renderer 1120, and the overlay renderer 1121 may render texture data, depth data, and video overlay data from projected pictures, respectively.
  • the texture/depth/overlay rendering may be performed based on metadata included in a file/segment and orientation/viewport/viewing position/viewpoint/metadata received from a tracker.
  • the overlay renderer 1121 may render video overlay data and/or texture overlay data.
  • the compositioner 1122 may adjust the composition of the rendered texture/depth/video and text overlay based on metadata, orientation/viewport/viewing position/viewpoint/metadata, and the like.
  • the viewport generator 1123 may generate viewport information about data configured based on metadata, orientation/viewport/viewing position/viewpoint/metadata, and the like.
  • the displayer 1124 may display video data including video/image/texture/depth/text based on the viewport to provide a viewport-based service to a user.
  • a process after decoding of the receiving device may correspond to video post-processing or video post-processor.
  • audio data after the audio decoding 1114, it may be rendered and provided together with video data to a user through a speaker/headphone.
  • the decoded video signal may be processed according to various processing methods according to an image composition method.
  • image packing is performed in the 360 video transmission device, a process of reconstructing the image based on information transmitted through metadata is required.
  • video metadata generated by the 360 video transmission device may be used.
  • the decoded image contains multiple viewing points, multiple viewing positions, or images of various viewing orientations, the location, viewpoint, and direction of the user's region of interest generated through tracking Information matching the information can be selected and processed.
  • the viewing position and viewpoint metadata generated by the transmitting end may be used.
  • a rendering process according to each may be included.
  • Video data (texture, depth, overlay) that has undergone a separate rendering process is subjected to a composition process, and in this case, composition metadata generated by a transmitter may be used. Finally, information for playing back to the viewport can be generated according to the user's region of interest.
  • the decoded audio signal generates a reproducible audio signal through an audio renderer and/or post-processing process, and at this time, it meets the user's request based on the information on the user's region of interest and the metadata transmitted to the 360 video receiver. You can generate the right information.
  • the decoded text signal is transmitted to the overlay renderer and processed as text-based overlay information such as subtitles. If necessary, a separate text post-processing process can be included.
  • FLUS Framework for Live Uplink Streaming
  • Network nodes may include user equipment (UE).
  • the UE may include the above-described 360 video transmission device or 360 video reception device.
  • the transmission/reception processing process based on the architecture described above can be expressed as follows. The following transmission/reception processing process is described based on the video signal processing process, and when processing other signals such as audio or text, the part marked with italic is omitted or changed to suit the audio or text processing process. I can.
  • Each component may correspond to a hardware/software/processor/combination of them.
  • the description of FIG. 11 may be referred to.
  • Each component/configuration device may be implemented in a selectively combined configuration according to embodiments.
  • the data input unit 1300 may receive data. For example, 360 3DOF+ video data may be input.
  • composition information processor may generate information on the configuration of data and transmit it to the projector 1305, the packer 1306, the subpicture controller 1307, the data encoder 1308, and the like.
  • the location/viewpoint/direction information and metadata processor (processing unit, 1302) provides location (viewpoint), viewpoint (viewing position), direction (viewing orientation) information, and related metadata to the input video data and/or feedback information. It can be generated based on and delivered to the components of the transmission device below. Each component (component device) can process each operation based on this metadata.
  • the feedback controller (feedback processing unit) 1303 may receive feedback information related to tracking from the receiving side and transmit it to the transmitting device.
  • the stitcher 1304 may perform a merging process in which the acquired video data is stitched together.
  • the projector may project stitched video data as a picture. For example, if a stitcher continuously connects 360 video/image data on a 3D spherical coordinate system, the projector can project 360 video/image data as a (2D) picture.
  • the packer (packing processing unit) 1306 may pack (merge) the projected pictures into one or more packed pictures. This is a process of collecting a plurality of pictures into fewer pictures so that they can be efficiently encoded and transmitted.
  • the sub-picture processor 1307 may generate a plurality of sub-pictures by dividing the packed picture into regions in order to efficiently encode/transmit the packed picture.
  • the data encoder 1308 may encode picture data based on composition information, position/view point/direction/metadata, and the like.
  • the encapsulator (encapsulation processing unit, 1309) may encapsulate the position/view point/direction/meta data and the encoded data. Encapsulation of selectively encoded data based on location/view point/direction/metadata is possible.
  • the file extractor (file extractor, 1310) may extract encapsulated data in a file format.
  • the transmission processor may perform necessary processing before final transmission. Settings for efficient transmission can be additionally performed.
  • the transmitter (transmitter) 1312 may finally transmit the data to the receiving device.
  • Data may be transmitted in the form of a file/segment/bitstream.
  • the transmitter may perform stitching for constructing a sphere image for each position/view point/component.
  • a 2D image can be projected for coding.
  • a plurality of images may be packed to form an integrated image or may be generated as a sub-picture divided into images of a detailed region.
  • the packing process for each region may not be performed as an optional process, and in this case, the packing processing unit may be omitted.
  • the input data is video/audio/text additional information
  • a method of adding the additional information to the central image and displaying it may be indicated, and additional data may be transmitted together.
  • An encapsulation process of converting the generated image and added data into a file format for transmission or storage may be performed through an encoding process of compressing the generated image and the added data to generate a bit stream.
  • a process of extracting a file required by the receiver may be processed according to the request of the application or system.
  • the generated bitstream may be transmitted after being converted into a transmission format through a transmission processing unit.
  • the feedback processing unit on the transmitting side may process the position/time point/direction information and necessary metadata based on the information transmitted from the receiving end, and transmit the processed information to the related transmission unit.
  • the configuration of the receiving apparatus/method (sink) of FIG. 11 described above can be expressed as shown in the drawing.
  • Each component may correspond to a hardware/software/processor/combination of them.
  • the description of FIG. 11 may be referred to.
  • Each component/configuration device may be implemented in a selectively combined configuration according to embodiments.
  • Each operation of the receiving device may follow the reverse process of the transmitting device.
  • the receiver may receive data transmitted by the transmitting device in the form of a file/segment/bitstream.
  • the reception controller/file extractor 1401 may perform processing related to a reception process and extract (acquire) a received file.
  • the decapsulator 1402 may decapsulate the file/segment.
  • the metadata parser 1403 may parse (obtain) metadata from the received bitstream and file/segment.
  • the parser 1403 may transfer metadata to the constituent devices of each receiving device below.
  • the feedback controller acquires information (feedback information) about orientation/viewport/viewing position/viewpoint, etc. from the user, and can transmit it to each component device of the receiving device and/or each component device of the transmitting device. have. Based on the feedback information, the transmitting/receiving device may encode/decode and provide the video desired by the user.
  • the data decoder 1405 may decode the decapsulated image data.
  • the decoding process may be processed based on metadata, feedback information, or the like obtained from the metadata parser.
  • the unpacker/selector 1406 may unpack the packed picture included in the decoded image data and select a specific picture(s) from among the unpacked pictures.
  • the operation of the unpacker/selector may be selective according to the type of image and the policy of the transmitting/receiving device.
  • the unpacking/selecting process may be processed based on metadata and feedback information obtained from a metadata parser.
  • the renderer 1407 may render image data such as video/image/audio/text including texture, depth, and overlay.
  • the rendering process may be processed based on metadata, feedback information, and the like obtained from a metadata parser.
  • the composer 1408 may set the configuration of the rendered image data before displaying it.
  • the composition process may be processed based on metadata obtained from a metadata parser, feedback information (in particular, information on the composition of image data), and the like.
  • the viewport generator 1409 may generate a viewport to be displayed before displaying the image data. This is to provide the user with an image that matches the user's viewport.
  • the displayer 1410 may display an image based on viewport information.
  • the receiver may extract a necessary file after receiving the bitstream transmitted from the transmitter.
  • the image stream in the generated file format may be selected using position/viewpoint/direction information and video metadata transmitted from the feedback processing unit, and the selected bitstream may be reconstructed into image information through a decoder.
  • unpacking may be performed based on packing information transmitted through metadata.
  • unpacking at the receiving end may also be omitted.
  • a process of selecting an image suitable for the position/view point/direction transmitted from the feedback processing unit and a necessary component may be performed.
  • a rendering process of reconstructing the texture, depth, and overlay information of an image into a format suitable for reproduction may be performed.
  • a composition process in which information of different layers is integrated may be performed, and an image suitable for a display viewport may be generated and played.
  • the configuration of the transmission/reception device/process of FIG. 15 is a summary of the architecture of the configuration devices/processes of FIGS. 2-3, 11, and 13-14. Each of the component devices of FIG. 15 may be expanded and interpreted with reference to the descriptions of 2-3, 11, and 13-14.
  • the 360 video-based VR system may provide a visual/auditory experience for a 360 video in different viewing orientations based on a user's location based on a 360 video processing process.
  • a service that provides an introductory/auditory experience in different directions from a user's fixed location for 360 video may be referred to as a 3DoF-based service.
  • a service capable of providing an extended visual/auditory experience for different directions at an arbitrary location and viewing position in the same time zone may be referred to as a 6DoF (six degree of freedom) based service.
  • the file format for 3DoF service has a structure in which the location of rendering, information of a file to be transmitted, and decoding information can be changed according to the head/eye tracking module, as shown in FIG. 15, for example.
  • this method is not suitable for 6DoF media file transmission in which rendering information/transmission content and decoding information are different according to the user's position or position, and thus needs to be modified.
  • Video transmission method A pre-processing step of processing video data, encoding the video data, and/or transmitting a bitstream including the video data.
  • the video receiving method includes the steps of receiving video data, decoding the video data, and/or rendering the video data; It may include.
  • Embodiments propose a method of providing 6DoF contents in order to provide a user with an immersive media/immersive media experience.
  • Immersive media/realistic media is an expanded concept in the virtual environment provided by the existing 360 content. If the existing 360 content is in the form of (a), the user's position is fixed, and if there is only the concept of rotation, immersion Type media/realistic media, as in (b) or (c), give users the concept of movement when experiencing content, thereby providing an environment or content that can provide more diverse sensory experiences such as movement/rotation of the user in a virtual space. It can mean.
  • (a) shows the media experience when the user's view rotates while the user's position is fixed.
  • (b) represents the media experience when the user's head can additionally move while the user's position is fixed.
  • (c) represents the media experience when the user's position can be moved.
  • Realistic media content may include 6DoF video and 6DoF audio to provide the corresponding content
  • 6DoF video is a video or image that is captured or played as a 3DoF or 360 video newly formed every time a movement required to provide the realistic media content.
  • Can mean 6DoF content may mean a video or an image displayed in a 3D space. If the movement within the content is fixed, the content can be displayed in various types of three-dimensional space like the existing 360 video. For example, it can be represented on a spherical surface. If movement is free within the content, a 3D space is newly formed each time around the user on the movement path, and the user can experience the content at the corresponding location.
  • 6DoF audio is an audio content for providing content that enables the user to experience immersive media, and may mean content for newly forming and consuming spatial audio as the location where the sound is consumed moves.
  • the present invention particularly proposes a method for effectively providing 6DoF video.
  • 6DoF video can be captured with more than one camera from different locations. The captured video is transmitted through a series of processes, and the receiving side can process and render some of the received data into a 360 video with the user's initial position as the origin. 6DoF video can be provided to users by processing and rendering 360 video.
  • 17 shows an overall architecture for providing 6DoF video.
  • HDCA High Density Camera Array
  • Lenslet microlens
  • 6DoF video It can be acquired with a new device designed for capture.
  • the acquired image several image/video data sets can be generated according to the position of the captured camera as shown in Fig. 3a.
  • meta-meters such as internal/external setting values of the camera may be generated during the capture process.
  • the capture process may be substituted.
  • the pre-processing process of the acquired image may be a process of processing the captured image/video and metadata transmitted during the capture process.
  • the stitching process may be a process of creating an image/video that connects images captured in the 360 direction from each camera position in a panoramic or spherical shape centered on each camera position.
  • Projection refers to the process of projecting each stitching result image as a 2D image as shown in Fig3b, and can be expressed as mapping to a 2D image.
  • the image mapped at each camera position can be separated into a main view and a secondary view, and different resolutions for each view can be applied to increase the video coding efficiency, and by varying the arrangement or resolution of the mapping image within the main view. Efficiency can be improved when coding.
  • the secondary viewpoint may not exist depending on the capture environment.
  • the secondary view refers to an image/video that must be reproduced during a moving process when a user moves from a major view to another major view, and may have a lower resolution than the major view, but may have the same resolution as necessary. In some cases, the secondary view may be newly created as virtual information in the receiver.
  • the pre-processing process may further include an editing process.
  • editing of image/video data before and after projection may be further performed, and a meta-meter may be generated in the pre-processing process.
  • meta-meters regarding the initial time point to be played first, the user's initial location, and ROI can be created.
  • the media transmission step may be a process of processing and transmitting image/video data and meta-meters obtained in a pre-processing process.
  • processing according to an arbitrary transmission protocol may be performed, and preprocessed data may be delivered through a broadcasting network and/or a broadband, and these data may be delivered to a receiver in an on demand manner.
  • the processing process includes decoding the received image/video data and meta-meta, mapping into a 3D model, or re-projecting, which can also be called projection, and creating and synthesizing a virtual viewpoint. All steps prior to generating an image for playback can be included in the processing step.
  • the 3D model or projection map to be mapped may have a sphere, a cube, a cylinder, or a pyramid like the existing 360 video, and a modified form of the existing 360 video projection map. May be, and in some cases, a freeform projection map.
  • the process of creating and synthesizing a virtual view may mean a process of generating and synthesizing image/video data to be played when a user moves between a main view and a sub view or between a major view and a major view.
  • it may be necessary to process the meta-meta transmitted during the capture and pre-processing process, and in some cases, it is possible to create/composite not all 360 images/videos, but only part of the virtual view.
  • the processing process may additionally include an editing process, an up scaling process, and a down scaling process.
  • an additional editing process required before playback may be applied after the processing process. If necessary, upscaling or downscaling the transmitted image/video may be performed.
  • the rendering process may mean a process of rendering so that an image/video that has been transmitted or generated and reprojected can be displayed.
  • the process of rendering and reprojection is collectively referred to as rendering. Therefore, a reprojection process may be included during the rendering process.
  • Reprojection is in the form of fig.3c, in which a user-centered 360 video/image and a 360 video/image centered on each moved position according to the user's movement direction are formed.There may be a number of reprojection results. have.
  • the user can view a partial area of the 360 video/image. In this case, the area that the user sees can be in the form of fig.3d.
  • the entire 360 video/image is rendered. Instead, only the image corresponding to the location the user is viewing can be rendered.
  • it is possible to predict movement in advance by receiving meta-meta about the user's position and movement direction, and additionally render the video/image of the moving position.
  • the feedback process may refer to a process of transmitting various feedback information that can be obtained during the display process to the transmitting side. Interactivity between the 6DoF content and the user may occur through the feedback process, and according to an embodiment, the user's head and position position information (head/position orientation) and the user's currently viewing area (viewport) in the feedback process Information, etc. may be delivered. Corresponding information may be delivered to the transmitting side or the service provider during the feedback process, and the feedback process may not be performed according to embodiments.
  • the user's location information may mean information about the user's head position, angle, movement, and movement distance, and the viewport information that the user is viewing may be calculated based on the information.
  • FIG. 18 shows the configuration of a transmission device for providing a 6DoF video service.
  • the present invention at the transmitting side may be related to a 6DoF video transmission apparatus.
  • the 6DoF video transmission apparatus according to the present invention may perform the above-described preparation process and operations.
  • the 6DoF video/image transmission apparatus according to the present invention includes a data input unit, a depth information processing unit (not shown), a stitcher, a projection processing unit, a viewpoint separation processing unit, a packing processing unit for each viewpoint, a meta-meta processing unit, a feedback processing unit, and data.
  • An encoder, an encapsulation processing unit, a transmission processing unit, and/or a transmission unit may be included as internal/external components.
  • the data input unit may receive image/video/depth information/audio data for each viewpoint captured by one or more cameras at one or more locations.
  • the data input unit may receive meta-meta generated during the capture process together with video/image/depth information/audio data.
  • the data input unit may transmit the input video/image data for each viewpoint to the stitcher, and may transmit the metameta generated in the capture process to the metameta processing unit.
  • the stitcher may perform stitching of captured images/videos for each viewpoint/position.
  • the stitcher may transmit the stitched 360 video data to the projection processing unit. If necessary, the stitcher may be transmitted from the meta-meta processing unit to perform stitching.
  • the stitcher can transmit the meta-meta generated in the stitching process to the meta-meta processing unit.
  • the stitcher may vary the video/image stitching position by using the position value transmitted from the depth information processing unit (not shown).
  • the stitcher may transmit meta-meta generated during the stitching process to the processing unit.
  • the transmitted meta-meter may include whether or not stitching is performed, a stitching type, IDs of a primary view and a secondary view, and location information of a corresponding view.
  • the projection processor may project the stitched 6DoF video data onto a 2D image frame.
  • the projection processing unit can obtain different types of results depending on the scheme, and the scheme may be similar to the existing 360 video projection scheme, or a newly proposed scheme for 6DoF may be applied. In addition, different schemes can be applied for each viewpoint.
  • the depth information processing unit may transmit the depth information to the projection processing unit to change a mapping result value. If necessary, the projection processing unit may receive meta-meters required for projection from the meta-meta processing unit and use them for projection, and the projection processing unit may transmit the meta-meters generated in the projection process to the meta-meta processing unit.
  • the meta-meter may include the type of scheme, whether or not to perform the projection, the ID of the 2D frame after the projection of the main view and the secondary view, and location information for each view.
  • the packing processing unit for each viewpoint may divide into a main viewpoint and a sub viewpoint, and may perform a packing process for each region within each viewpoint. That is, the packing processing unit for each viewpoint classifies the projected 6DoF video data for each viewpoint/position into a main viewpoint and a sub viewpoint so that the main viewpoint and the sub viewpoint can have different resolutions or rotates the video data of each viewpoint in order to increase the coding efficiency. It is also possible to change the rearrangement and change the resolution for each region divided within each viewpoint.
  • the process of classifying the main view point and the sub view point may be omitted, may be an optional process, and may be selectively performed to have different resolutions or different arrangements for each region.
  • the packing may be performed using information received from the meta-meta processing unit, and the meta-meta generated during the packing process may be transmitted to the meta-meta processing unit.
  • Metameters defined in the packing process for each viewpoint may be an ID of each viewpoint for classifying a main viewpoint and a sub viewpoint, a size applied for each region within the viewpoint, and a position value for each region of rotation.
  • the above-described stitcher, projection processing unit, and/or packing processing unit for each viewpoint may occur in one or more hardware components or in an ingest server in a streaming/download service according to an embodiment.
  • the meta-meter processing unit may process meta-meters that may occur during a capture process, a stitching process, a projection process, a packing process for each viewpoint, an encoding process, an encapsulation process, and/or a process for transmission.
  • the meta-meter processing unit may generate a new meta-meter for the 6DOF video service by using the meta-meter received from each process.
  • the metameta processing unit may generate a newly created metameta in the form of a signaling table.
  • the meta-meta processing unit may transmit the meta-meta received or newly created/processed in the meta-meta processing unit to other elements.
  • the meta-meta processing unit may transmit the generated or transmitted meta-meta to the data encoder, the encapsulation processing unit, and/or the transmission processing unit so that the generated or transmitted meta-meter can be transmitted to the receiving side.
  • the data encoder may encode 6DoF video data projected on a 2D image frame and/or packed video data for each view/region. Encoding can be performed in a variety of formats, and if it is classified by view, the encoding result value by view can be separated and transmitted.
  • the encapsulation processing unit may encapsulate the encoded 6DoF video data and/or related meta-meters in the form of a file or the like.
  • the related meta-meter can be transmitted from the meta-meter processing unit described above.
  • the encapsulation processing unit may encapsulate the data in a file format such as ISOBMFF or OMAF, or process it in the form of a DASH segment, and may be processed in a new file format. Metameters may be included in boxes existing at various levels in the file format, included as data in separate tracks, or encapsulated only metameters as files. Separate encapsulation processing for each viewpoint may be possible, or meta-meter required for each viewpoint and corresponding video information may be encapsulated together.
  • the transmission processing unit may apply additional processing for transmission to the encapsulated video data according to the format. This processing can be operated by using the meta-meta received from the meta-meta processing unit.
  • the transmission unit may transmit data and/or meta-meta transmitted from the transmission processing unit through a broadcasting network and/or a broadband.
  • the transmission unit may include components necessary for transmission through a broadcasting network and/or broadband.
  • the feedback processing unit may further include and/or a network interface (not shown).
  • the network interface may receive feedback information from a reception device to be described later in the present invention and transmit it to a feedback processing unit (transmitter side).
  • the feedback processing unit can transmit the information received from the receiving side to the stitching, projection, packing by point of view, encoder, encapsulation processing unit and/or transmission processing unit, and the meta-meta processing unit can be transferred to the meta-meta processing unit and other elements. It can be delivered to fields or delivered by creating/processing a new meta-meter in the meta-meta processing unit.
  • the feedback processing unit transfers the location/time point information received from the network interface to the meta-meta processing unit
  • the meta-meta processing unit is a projection, a packing processing unit, encapsulation processing unit and/or data
  • Components of the above-described 6DoF video transmission device may be hardware components implemented in hardware. Depending on the embodiment, each component may be changed or omitted, or a new component may be added or replaced or integrated with another component.
  • the 6DoF video receiving apparatus has a receiving unit, a receiving processing unit, a decapsulation processing unit, a metameta parser, a feedback processing unit, a data decoder, a re-projection processing unit, a virtual view generation/synthesis unit, and/or a renderer.
  • a receiving unit a receiving processing unit
  • a decapsulation processing unit a decapsulation processing unit
  • a metameta parser a feedback processing unit
  • a data decoder a re-projection processing unit
  • a virtual view generation/synthesis unit and/or a renderer.
  • the receiver may receive video data from the above-described 6DoF transmission device. Depending on the channel through which video data is transmitted, the receiver may receive it through a broadcasting network or a broadband.
  • the reception processing unit may perform processing according to a transmission protocol on the received 6DoF video data.
  • the reception processing unit acquires data obtained in the previous step of the transmission processing unit by performing a process in the reverse order of the process performed by the transmission processing unit or through a process according to a protocol processing method.
  • the receiving processing unit may transmit the acquired data to the decapsulation processing unit, and may transmit meta-meta information received from the receiving unit to the meta-meta parser.
  • the decapsulation processing unit may decapsulate the 6DoF video data in the form of a file transmitted from the reception processing unit.
  • the decapsulation processor may decapsulate files according to a corresponding file format to obtain a 6DoF video and/or metameter.
  • the acquired 6DoF video data can be sent to the data decoder, and the 6DoF meta-meter can be transferred to the meta-meter parser.
  • the decapsulation processing unit may receive meta-meters required for decapsulation from the meta-meta parser as needed.
  • the data decoder may perform decoding on 6DoF video data.
  • the data decoder can receive meta-meters necessary for decoding from the meta-meta parser.
  • the meta-meta obtained in the data decoding process can be transferred to and processed by the meta-meta parser.
  • the meta-meta parser may parse/decode 6DoF video related meta-meters.
  • the meta-meta parser may transmit the acquired meta-meta to the decapsulation processing unit, the data decoder, the re-projection processing unit, the virtual view generation/synthesis unit, and/or the renderer.
  • the re-projection processor may perform re-projection on the decoded 6DoF video data.
  • the re-projection processor may re-project 6DoF data for each viewpoint/position into a three-dimensional space, respectively.
  • the 3D space may have a different shape depending on the 3D model used, or may be re-projected into a 3D model of the same shape through a transformation process.
  • the re-projection processing unit may receive necessary meta-meters from the meta-meter parser. Metameters defined in the re-projection process can also be transferred to the metameta parser.
  • a 3D model of 6DoF video data for each viewpoint/position can be delivered to the meta-meta parser, and the 3D model for video data for each viewpoint/position is different, and the video data of all viewpoints is converted into the same 3D model.
  • which model is applied can be passed to the meta-meta parser.
  • using the meta-meter required for re-projection only a specific area in the 3D space can be re-projected, and one or more specific areas can be re-projected.
  • the virtual view generation/synthesis unit is not included in the 6DoF video data transmitted and received in the re-projected 3D space, but creates video data using the given data in the virtual view area that needs to be played back, and focuses on the virtual view.
  • a process of synthesizing video data at a new viewpoint/position may be performed.
  • data of a depth information processing unit (not shown) may be used.
  • the virtual view generation/synthesis unit can generate/composite only a specific area received from the metameta parser and a part of the surrounding virtual view area not received.
  • the virtual view generation/synthesis unit may be selectively performed, and is performed when there is no video information corresponding to a required view and location.
  • the renderer can render the 6DoF video data transmitted from the re-projection or virtual view generation/composite unit. As described above, all processes occurring in the re-projection or virtual view generation/composition unit in the 3D space are integrated with the renderer, so that these processes can be performed within the renderer. Depending on the embodiment, only a portion viewed by the user and a portion on an expected path may be rendered according to the user's viewpoint/location information.
  • a feedback processing unit (receiving side) and/or a network interface (not shown) may be included as additional components.
  • the receiving-side feedback processing unit may obtain and process feedback information from a renderer, a virtual view generation/synthesis unit, a re-projection processing unit, a data decoder, decapsulation, and/or a VR display.
  • the feedback information may include user's viewport information, head and position orientation information, gaze information, gesture information, and the like.
  • the network interface may receive feedback information from the feedback processing unit, transmit it to the transmission device, and may be consumed by each component of the receiving side.
  • the decapsulation processing unit receives the user's location/view point information from the feedback processing unit and performs decapsulation, decoding, re-projection, and rendering of only the location information if there is information about the location in the received 6DoF video. can do. If there is no information on the location, all 6DoF videos located around the location can be decapsulated, decoded, re-projected, virtual view generation/composite, and rendering.
  • Components of the above-described 6DoF video receiving apparatus may be hardware components implemented in hardware. Depending on the embodiment, each component may be changed or omitted, or a new component may be added or replaced or integrated with another component.
  • Figure 20 is 6 It shows the configuration of the DoF video transmission/reception device.
  • 6DoF content may be provided in the form of a file or a segment-based download or streaming service such as DASH, and a new file format or streaming/download service method may be used instead.
  • the 6DoF content may be referred to as immersive media content, light field content, or point cloud content.
  • each process for providing a corresponding file and a streaming/downloading service may be described in detail as follows.
  • Audio Encoding 6DoF audio data may undergo an audio pre-processing and encoding process. In this process, a meta-meter may be generated, and the related meta-meter may go through an encapsulation/encoding process for transmission.
  • 6DoF video data may undergo editing, stitching, and projection processes of images acquired at various locations. Depending on the embodiment, this process may be partially performed or may be omitted entirely and may be performed at the receiver side.
  • the view segmentation/packing processing unit separates and packs the main view required by the receiver based on the stitched image and the image at the primary view (PV) position, and separates and packs the main view.
  • a pre-processing process of packing the remaining images into a secondary view and secondary view (SV) may be performed.
  • the size, resolution, etc. of the main view and the secondary view may be adjusted to increase coding efficiency. Even within a viewpoint of the same nature, it can have a resolution under different conditions for each region, or can be rotated or rearranged according to regions.
  • Depth sensing and/or estimation To perform the process of extracting the depth map from two or more images acquired when there is no depth camera, and the image acquisition location when there is a depth camera In may perform a process of storing location information on how deep each object included in the image is.
  • Point Cloud Fusion/extraction It is possible to perform a process of transforming the previously acquired depth map into data in an encoding format. For example, it is possible to perform a preprocessing process of allocating the position value of each object of an image in 3D by transforming it into a point cloud data type, and a data type that can express 3D spatial information instead of the pointer cloud data type is applied. I can.
  • PV encoding/SV encoding/light field/point cloud encoding Prepacked for each viewpoint, or depth information and/or location information may be image-encoded or video-encoded, respectively. Even the same content at the same time may be encoded in different bit streams for each region. It can be a new codec to be defined in MPEG-I and a media format such as HEVC-3D, OMAF++, etc.
  • File encapsulation 6DoF video data encoded as described above may be processed in a file format such as ISOBMFF by File-encapsulation, which is an encapsulation processing unit.
  • the encoded 6DoF video data can be processed into segments.
  • Metadata (including depth information): As with 6DoF video data processing, meta-meters generated during acquisition, stitching, projection, separation/packing by view, encoding, and encapsulation are transmitted to the meta-meta-processing unit or created by the meta-meta-processing unit. The meta-meter can be delivered to each process. Also, the meta-meta generated at the transmitting side can be generated as a single track or file during the encapsulation process and transmitted to the receiving side. The receiving side may receive a meta-meter stored as a separate file or a track in the file through a broadcasting network or a broadband.
  • Files and/or segments can be included in individual tracks for delivery based on DASH or a new model with similar functionality. At this time, MPEG DASH, MMT, and/or new standards may be applied for transmission.
  • the receiving device may perform processing for receiving 6DoF video/audio data.
  • Audio deconding/Audio rendering/Loudspeakers/headphones 6DoF audio data can be provided to users through speakers and headphones through audio decoding and rendering.
  • PV/SV/light field/point cloud decoding 6DoF video data may be image or video decoded.
  • a codec applied to decoding a codec newly proposed for 6DoF in HEVC-3D, OMAF++, and MPEG may be applied.
  • the main view (PV) and the sub view (SV) are separated so that a video or an image can be decoded within each view packing, and video or image decoding can be performed regardless of the view classification.
  • the feedback of head, position, and gaze tracking is delivered first, and only the image or video of the peripheral view where the user is located can be separated and decoded.
  • Head/eye/position tracking As described above, the user's head, position, gaze, and viewport information can be acquired and processed.
  • Point Cloud rendering When re-projecting the captured video/image data onto a three-dimensional space, a three-dimensional spatial position is set, and a virtual viewpoint, which is a position that the user can move, is not secured from the received video/image data. Performs the process of creating a three-dimensional space.
  • Virtual view synthesis As described above, when there is no 6DoF video data in the space where the user is located, the process of creating and synthesizing video data of a new viewpoint is performed using 6DoF video data already secured around the user's location/view. Depending on the embodiment, the process of creating and/or synthesizing a virtual view may be omitted.
  • Image composition, and rendering As described above, a process for rendering an image centered on the user's location, using decoded video data according to the user's location and gaze, or creating/compositing a virtual view Images can be rendered.
  • Fig. 21 shows a 6DoF space.
  • a concept as shown in FIG. 21 may be used to describe the 6DoF space before or after re-projection and to perform signaling for the 6DoF space.
  • 6DoF space can be divided into two types, rational and translation, unlike 360 video or 3DoF space, which can be described as yaw, pitch, and roll. have.
  • the rational movement can be described in terms of field, pitch, and roll, similar to the direction of the existing 3DoF as shown in a, and can also be referred to as orientation movement.
  • a translation movement it can be called a movement of a position as shown in b. Describes the movement of the central axis by defining values of more than one axis as it can tell where the axis has moved among Left/Right, Forward/Backward, and Up/down directions. can do.
  • a feature of the present invention is to propose an architecture for a 6DoF video service and streaming, and to propose basic metadata of a signaling and file storage method, and thus can be utilized in the invention for 6DoF related metadata and signaling extension in the future.
  • 6DoF video related parameters of content providing 6DoF video service can be stored and signaled in files such as ISOBMFF by adding/modifying/extensing later.
  • 6DoF video metadata can be stored and signaled through the SEI or VUI of the 6DoF video stream by adding/modifying/extending it later.
  • Region meaning in packing by region, Region:
  • a region may mean a region in which 360 video data projected on a 2D image is located within a packed frame through region-wise packing.
  • the region here may mean a region used in regional packing depending on the context. As described above, the regions may be divided evenly by dividing the 2D image, or may be randomly divided and classified according to a projection scheme.
  • Region (general meaning, region) : Unlike a region in the above-described regional packing, the term region may be used as a dictionary meaning. In this case, a region may have a dictionary meaning such as'area','area', and'part'. For example, when referring to an area of a face to be described later, an expression such as'a region of the face' may be used. In this case, the region is a meaning that is distinct from the region in the above-described packing for each region, and both may indicate different regions that are not related to each other.
  • a picture may mean the entire 2D image projected with 360 video data.
  • a projected frame or a packed frame may be a picture.
  • the sub-picture may mean a part of the above-described picture.
  • a picture may be divided into several sub-pictures to perform tiling or the like.
  • each sub-picture may become a tile.
  • an operation of reconstructing a tile or MCTS into a picture format compatible with the existing HEVC may be referred to as MCTS extraction.
  • the result of this MCTS extraction may be an original tile or a sub-picture of a picture to which the MCTS belongs.
  • a sub picture can be used as a tile for tiling. That is, in tiling, a subpicture and a tile may have the same concept.
  • the bond tile may be a tool for enabling parallel decoding, but may be a tool for independent decoding in VR.
  • a tile may mean a Motion Constrained Tile Set (MCTS) in which a range of temporal inter prediction is limited to an inner range of a current tile. Therefore, in this document, tiles may be referred to as MCTS.
  • MCTS Motion Constrained Tile Set
  • Spherical region When 360 video data is rendered on a 3D space (for example, a spherical surface) at the receiving side, a region on the spherical surface is defined. It can mean.
  • the superior region is irrelevant to the region in the packing for each region. In other words, the superior region need not mean the same region as the region defined in regional packing.
  • a superior region is a term used to mean a portion of a sphere to be rendered, and'region' herein may mean'area' as a dictionary meaning. Depending on the context, a superior region may be simply called a region.
  • Face may be a term that refers to each face according to a projection scheme. For example, when cubemap projection is used, the front, back, sides, top, bottom, etc. can be called faces.
  • the method/apparatus according to the embodiments may be interpreted as a video transmission method/apparatus and/or a video receiving method/apparatus according to the embodiments.
  • the video transmission method/apparatus according to the embodiments may be interpreted by complementing each other by encoding (encoder), encoding (encoder), and transmission (transmission device).
  • the video reception method/apparatus may be complemented by decoding (decoder), decoding (decoder), reception (receiving device), and the like.
  • the MPEG-I group which is a subgroup of the moving picture experts group (MPEG) is standardizing on 3DoF+ technology that allows users to freely move and enjoy views while the user's location is fixed.
  • the embodiments describe a system for transmitting a 3DoF+ 360 video image and a technique for selecting a specific block according to a threshold value in a process of partitioning among the technical elements thereof.
  • a block transmitted by not selecting a block when it is determined that the information is insufficient by calculating the ratio of the image information contained in the block before the packing process of merging necessary image information into one image in block units
  • bandwidth can be saved during transmission.
  • the method/apparatus according to the embodiments provides an efficient image processing method for smooth 360 image transmission.
  • the embodiments deal with 3DoF+ processing technology, which is a limited immersive media technology that allows a user to view 360 images by moving a position and moving a viewpoint.
  • 3DoF+ processing technology is a limited immersive media technology that allows a user to view 360 images by moving a position and moving a viewpoint.
  • multiple high-definition images are required because it must contain image information for multiple viewpoints.Since the necessary bandwidth is too large to simply transmit multiple high-definition images, smooth media enjoyment This is impossible.
  • the method/apparatus according to the embodiments can provide a technical problem and effect of efficiently processing and transmitting a plurality of high-definition images with limited resources.
  • the method/apparatus according to the embodiments provides an effect of reducing the number of encoders and decoders for actual services.
  • FIG. 22 illustrates an example of a 3DoF+ 360 video image compression transmission apparatus and a reception apparatus according to embodiments.
  • the 3DoF+ 360 video image compression transmission apparatus in the drawings may correspond to the video transmission apparatus/method according to the embodiments
  • the 3DoF+ 360 video image compression reception apparatus may correspond to the video reception apparatus/method according to the embodiments.
  • Each component according to the embodiments may correspond to hardware/software/software/a combination of them, and each will be described as follows.
  • the video transmitting device may include a pruner (pruning), packing (packer), and/or an encoder
  • the video receiving device may include a decoder, unpacker (unpacking), reconstruction (reconstructor), and/or rendering ( Renderer).
  • a component according to the following embodiments can provide a 3DoF+ scheme according to requirements.
  • Several software/hardware related to 3DoF+ can be combined together.
  • FIG. 22 Each component device/process of FIG. 22 may be included in the devices/processes of FIGS. 2-3, 11, 13-14, and 18-20, or may be further extended/connected. 2-3, 11, 13-14, 18-20, FIG. 22 shows a pre-processor (pruner, packer, etc.) before encoding and a post-processor (unpacker, reconstructor, etc.) after encoding. , Renderer), etc. are shown in more detail. The description of FIG. 22 may be combined with the description of FIGS. 2-3, 11, 13-14, and 18-20 to complement each other.
  • Pruning receives multiple high-quality 360 images as inputs to cover all areas according to the movement of the user's viewpoint. At this time, the high-definition 360 images may have image information overlapping each other according to the acquisition location. Pruning is the process of removing overlapping image information and processing each 360 images to contain only necessary information.
  • a plurality of input 360 images may be expressed as one or more source views.
  • the source view may be referred to as a first view, a second view, or the like for the purpose of distinguishing.
  • Pruner's central view synthesizer can synthesize the center view by receiving the source view(s).
  • the center view refers to a view when the user's gaze (viewport) is located in the center. Since the center view may contain the most important or meaningful data, the center view may be synthesized and created from source views.
  • the pruner/center view synthesizer receives 360 images acquired from multiple views and generates a central view (central view) including the most common points of all images.
  • the center view (central view) is an image including the most common points of all images, and may have a central viewpoint (view point).
  • the method/apparatus according to the embodiments may use the received center view when the center view is included in the input source view, and may generate a center view from the source view when the center view is not included in the source view. .
  • center view may be transmitted to the encoder and included in a bitstream along with encoded and packed views, metadata, and the like, and transmitted to a receiving device.
  • Source view of pruner The pruner can receive source view(s) and perform pruning between source views.
  • the pruning process refers to removing redundant data (redundancy) between source views. Since the source views can contain similar data to each other based on the viewports of adjacent users, it is possible for the sending device to encode and transmit all the source views and the receiving device to decode all the source views can give the system a bonus.
  • the method/apparatus may prun the source view.
  • the source view may be pruned to generate sparse view(s).
  • a sparse view refers to a view in which redundancy of the source view is pruned (removed, pruned, etc.).
  • the role of the center view (which can be variously referred to as the center view, the central view, the first view, etc.) is multi-view by warping the transmitting and receiving device from the center view to each source view (each 360 images). This is to move the perspective of the liver.
  • areas where warping is not performed are areas/images that cannot be expressed by the center view.
  • the area that is not warped is only the area/data that can be represented from source views.
  • the transmission device/pruner may provide both a center view and a source view.
  • source views may be pruned based on a center view (central view). This is because, when comparing the source view and the center view, there may be a lot of redundancy overlapping the center view in adjacent source views.
  • the encoder and decoder of the printer may encode/decode the center view and provide it to the source view pruner for pruning of the source view.
  • the partitioning may be located between the pruner 2200 and the packer 2210 or may be included in the packer 2210.
  • the partitioning process can be included in the packing process together.
  • Partitioning is an operation related to packing, which is a process of collecting only image information necessary for encoder-friendly compression of independent 360 images that have undergone a pruning process and merging them into one image.
  • a process of selecting necessary image information is partitioning.
  • necessary image information is calculated in blocks of a square unit, and the calculated result value is adjusted according to a threshold value, thereby reducing the size of an image to be finally transmitted, thereby reducing bandwidth.
  • the partitioner can check the image information included in the sparse view based on the block generated as a result of pruning and reduce the image information according to the threshold.
  • the packer 2210 sorts the image information selected through partitioning into one image, merges it, and encodes and transmits the image.
  • the transmitted image is restored by the client and divided into independent images according to the criteria that were partitioned.
  • metadata information for reconstructing a single merged image is included and transmitted.
  • 3DoF+ technology is realized using these images, and since each necessary image information is merged and transmitted into one image, efficient image transmission is possible.
  • the packer packs sparse views (that is, partitioned) into one picture.
  • packed views are generated, and metadata including information necessary to restore (unpack) the packed view is also generated.
  • Metadata contains information about the packing process.
  • the metadata may be encoded along with the packed views by the encoder, included in the bitstream, and transmitted.
  • the metadata may be transmitted to the receiving device through a path separate from the packed views.
  • Packing of the packer may be performed for source views (sparse views) other than the center view.
  • the method/apparatus according to the embodiments encodes and transmits a center view, which is an image containing the most meaningful information, and a sparse view from which redundancy of a source view corresponding to a view adjacent to the center view is removed is one image. It can be packed, encoded, and transmitted. This is because the center view and pruning/packed view have the effect of efficiently transmitting multiple images by merging them into the smallest image.
  • the center view may also be packed and transmitted in one image together with the sparse view.
  • An encoder (HEVC Encoder, 2220) encodes the packed views and/or metadata based on a High Efficiency Video Codec (HEVC) scheme, and as a result, a bitstream is generated.
  • An encoder or a transmitter connected to the encoder may transmit a bitstream to a receiving device.
  • HEVC High Efficiency Video Codec
  • reception process according to the embodiments may correspond to a reverse process of the transmission process according to the embodiments.
  • a decoder receives a bitstream from an encoder or a transmitting device and decodes an image (or can be referred to as packed views, data, etc.) included in the bitstream based on the HEVC method.
  • the unpacker 2240 receives the decoded packed views from the decoder and performs unpacking, which is an inverse process of packing.
  • a view packed into one image (an image may correspond to a picture) may be divided into a plurality of images (pictures).
  • the reconstructor 2250 may reconstruct decoded views.
  • the decoded views include a decoded center view and decoded and unpacked sparse views.
  • the reconstructor 2250 may perform the reverse process of the pruning 2200.
  • the reconstructor or the source view of the reconstructor The reconstructor may reconstruct the source view from sparse views. As the sparse view is generated and transmitted through pruning that removes redundancy between source views, the source view may be restored again from the sparse views in a reverse process at the receiving side.
  • the process of restoring the source view may be performed based on the center view and/or sparse view(s).
  • the reconstructor delivers the reconstructed source views and/or center view to the renderer 2260.
  • the renderer 2260 may display/render a 3DoF+ 360 video image.
  • the renderer 260 may receive restored source views and/or center view, and check the viewpoint of the user.
  • the renderer may receive the user's viewpoint from the user side, or may receive from a video transmission/reception system.
  • the renderer may synthesize a virtual view based on the user's viewpoint and restored source views.
  • source views include images for various viewpoints
  • a renderer may synthesize a view suitable for the user's viewpoint from the source views in order to render an image suitable for the user viewpoint. For example, when there is no view that the user wants to see, a view suitable for a virtual viewpoint may be generated from the received view.
  • the renderer may render 360 video image data based on HMD (Header Mounted Display).
  • HMD Header Mounted Display
  • the source view according to the embodiments may be referred to as a reference view. That is, the source view/reference view can be interpreted as views for various viewpoints.
  • a view corresponding to the center viewpoint among the source view/reference views may be referred to as a center view or the like.
  • the pre-processing of the video transmission method according to the embodiments may include packing one or more source views included in the video data into a packed picture.
  • the video reception method may include unpacking a packed picture included in the decoded video data into one or more source views.
  • Video data or image data according to the embodiments may be interpreted as the same/similar terms by complementing image data, video data, and the like.
  • a view according to the embodiments may be interpreted as the same/similar terms by complementing an image, a picture, and the like.
  • the pre-processing includes removing redundancy of one or more source views included in the video data, and/or packing one or more source views into a packed picture. can do.
  • the packing of the video transmission method according to the embodiments may include generating metadata about an area included in the packed picture.
  • the video transmission/reception method/apparatus according to the embodiments can selectively merge blocks of several high-definition images of 3DoF+ based on the above-described embodiments, and additionally, flexible and adaptable 3DoF+ by matching a threshold according to the bandwidth situation. It can provide a standard service.
  • the drawing shows an example of pruning in more detail in the basic conceptual diagram of the 3DoF+ 360 video image compression system described above.
  • the pruning process according to the embodiments may be performed by the pruner 2200 of FIG. 22, and a reconstruction process corresponding to the receiving side process of the pruner may be performed by the reconstructor 2250 of FIG. 22.
  • the pruner and the reconstructor may be referred to as a method/apparatus according to embodiments, and may correspond to hardware, software, a processor, and/or a combination thereof.
  • one or more source views as shown on the left side of the drawing may be input to the source view pruner.
  • a plurality of source views may be referred to as a first source view, a second source view, and the like, and the first and second numbers have a meaning of distinction, and the numbers are not intended to be interpreted limitedly.
  • the first source view, the second source view, etc. include a multi-view 360 image, the first source view corresponds to the first viewpoint, and the reference view, the second source view are interpreted as a reference view corresponding to the second viewpoint, etc. Can be.
  • the transmission method/apparatus according to the embodiments may perform pruning between source views in order to reduce a buffer that transmits all of a plurality of source views.
  • a first sparse view corresponding to a difference between the first source view s1 and the second source view s2 may include fewer images than the first source view and the second source view.
  • the second sparse view corresponding to the difference between the second source view and the third source view (s2-s3), the third spase view corresponding to the difference between the third source view and the fourth source view (s3-s4), etc. Can be generated.
  • the receiving method/apparatus according to the embodiments may reversely receive sparse views, add the sparse views, and reconstruct (reconstruct) source views.
  • the video transmission/reception method/apparatus according to the embodiments can selectively merge blocks of several high-definition images of 3DoF+ based on the above-described embodiments, and additionally, flexible and adaptable 3DoF+ by matching a threshold according to the bandwidth situation. It can provide a standard service.
  • the partitioning process may be performed by the pruner 2200, the packer 2210 of FIG. 22, and/or a partitioner connected between the pruner and the packer.
  • De-partitioning which corresponds to the process of the reception side of the partitioning, may be performed by the unpacker 2240, reconstructor 2250 of FIG. 22, and a departitioner connected between the unpacker and the reconstructor.
  • Pruner, packer, partitioner, unpacker, reconstructor, departitioner may be referred to as a method/apparatus according to embodiments, and may correspond to hardware, software, processor, and/or a combination thereof.
  • the partitioner may receive a plurality of sparse view images that have undergone a pruning process.
  • the partitioner efficiently returns image information regions to be merged into one image according to an algorithm (a certain method).
  • the method/apparatus according to the embodiments encodes and transmits the one image after the packing process of aligning these regions and merging them into one image is completed.
  • a method/apparatus and/or a partitioner may divide one image into a plurality of blocks (division units).
  • the partitioner may collect blocks that can maximize the efficiency of encoding/decoding based on the divided blocks and pack them into one view (video).
  • a packed view may be generated by collecting blocks including information having the same information having a threshold value or more among divided blocks. Rather than encoding/decoding a single view as it is, blocks containing a lot of meaningful information are collected and packed and encoded/transmitted/decoded, thereby enabling efficient image processing.
  • the partitioner uses sparse views s1, s2, s3, ..., s14, a first sparse view, a second sparse view, etc. May be referred to) may pack all and/or some sparse views into one view (image) based on a block partitioning technique.
  • all and/or some of the sparse views may be aggregated into an 8K image in order to optimize encoding/decoding performance.
  • the method/apparatus according to the embodiments may search for image information in a unit of a specific block size in the sparse view.
  • the block size may be arbitrarily set by receiving from a user or from a method/device according to embodiments, and it is also possible to change the size of the width and height according to the image size ratio.
  • This block-based partitioning can be performed on the entire sparse view, and blocks selected according to the partitioning criteria are merged into one image through a packing process.
  • the packing process may be performed through a packer or the like.
  • the receiving method/apparatus according to the embodiments may restore a sparse view from an image that has been merged. For that reason, information about which sparse view was included in each block and which block was located must be generated as metadata.
  • the transmission method/apparatus according to the embodiments may generate and transmit metadata including signaling information on block partitioning.
  • the metadata may include identification information indicating a sparse view to which each block belongs, and location information of a block in the sparse view.
  • the transmission method/apparatus according to the embodiments transmits the merged image together with the metadata in which block information is finally recorded through encoding, thereby enabling efficient 3DoF+ 360 image processing.
  • the packing of the video transmission method may include dividing one or more source views based on a block, and packing the divided division.
  • the unpacking of the video reception method may include unpacking the packed picture based on a block.
  • Block-based de-pititioning may follow the reverse process of partitioning, and departitioning may be performed by an unpacker, or a departitioner connected to the unpacker and reconstruct may perform de-partitioning. .
  • the video transmission/reception method/apparatus according to the embodiments can selectively merge blocks of several high-definition images of 3DoF+ based on the above-described embodiments, and additionally, flexible and adaptable 3DoF+ by matching a threshold according to the bandwidth situation. It can provide a standard service.
  • 25 illustrates an example of a method of extending an area and removing an overlapping area according to embodiments.
  • the block-based partitioning may remove the overlapping area when partitioning into blocks or when an overlapping area between blocks occurs.
  • one block may be included in another block.
  • a block of a large area R1 in the drawing
  • the first block R1 remains as it is, and the second block R2 is the second block, except for a partial overlap between the first block and the second block. It can be packed by excluding an area that overlaps one block.
  • the size of a block (which can be referred to as length, width, size, etc.) is variably changed.
  • the size of the block can be changed to 1X1, 3X3, 3X5, etc.
  • the metadata may include information on the maximum width and maximum height of the block. For example, when the maximum width (max_region_width) of a block (which can be referred to as a region) is 5 and the maximum height (max_region_height) of the block is signaled as 3, the size of the block may vary within the maximum range.
  • the method/apparatus according to the embodiments may variably use a region growing method for a block size according to image information.
  • the larger the size of the block the more continuous information can be obtained in an encoder-friendly way, but the size of the merged image is large because there are many gray areas (areas containing a lot of relatively little information). It has the disadvantage of growing. On the contrary, the smaller the block size, the more video information between each other is cut off, which has a disadvantage in terms of efficiency in the encoder.
  • the method/apparatus according to the embodiments variably selects a block size according to image information, checks adjacent image information in block units, and merges points other than gray areas into one. It is possible to provide an effect of each having blocks of variable sizes by removing regions that overlap each other.
  • Packing according to embodiments may reduce encoding/decoding complexity by transmitting only non-overlapping data without having to transmit all overlapping areas as shown in the figure in consideration of continuity between blocks.
  • regions 1 and 2 according to the embodiments may be interpreted as terms referring to some regions included in one sparse view.
  • the video transmission/reception method/apparatus according to the embodiments can selectively merge blocks of several high-definition images of 3DoF+ based on the above-described embodiments, and additionally, flexible and adaptable 3DoF+ by matching a threshold according to the bandwidth situation. It can provide a standard service. Also, by processing the overlapping area, it is possible to effectively reduce the burden on the data/system.
  • 26 shows an example of a method of setting a variable block size using a region expansion method according to embodiments.
  • the method/apparatus, pruner, partitioner, packer, etc. may merge frames including images such as a center view and/or a reference view (sparse view) to perform block-based partitioning and packing.
  • the method/apparatus, uncapper, departitioner, reconstructor, and the like receive sequence data in which frames including images such as center view and/or reference view (sparse view) are merged, De-partitioning (referred to as departitioning, etc.) and/or unpacking, which is a reverse process of block-based partitioning and/or packing, may be performed.
  • the method/device includes a plurality of frames including an image (center view and/or reference view (sparse view), etc.),
  • frame t to frame t+31 may be partitioned and merged (can be referred to as packing, merge, etc.) based on a block, and signaling information (may be referred to as raw data) related to block-based partitioning may be generated.
  • the raw data according to the embodiments includes information about the size of the block in which sparse view each block is included, where each block is included in a specific sparse view, and when the size of the block is variable (block width/ It can include information necessary for block-based departitioning, such as height, maximum width/maximum height of a block, etc.).
  • data generated according to the merging process may be expressed as a drawing at the sequence level.
  • An example sequence is sequence data including an image generated by block-based partitioning and packing (merging).
  • Example raw data is metadata including signaling information (block location, size, etc.) about a block.
  • the raw data may represent the distribution/characteristic of the data, such as 1 (or 0) for the same/similar data based on 0 and 1, and 0 (or 1) for vice versa.
  • the Example Region Growing Rectangle represents an example of expanding a region of a block by variably changing the size of a block during block-based partitioning.
  • the area expansion of the block may be applied in the process of performing block-based partitioning between sparse views, or after block-based partitioning and merging, the area of the block is further expanded to generate an image optimized for encoding.
  • Hazard area extension may be applied.
  • the block area extension may be variably applied within a range having a maximum value. For example, referring to the bottom of the drawing, block partitioning while extending the block area to the minimum block area (1x1, first block), second block (3x3), third block (3x5), and maximum maximum block. This can be done.
  • the block according to the embodiments has the purpose of increasing the encoding efficiency of an image, it can be enlarged together with adjacent blocks only when the block includes information of an image. Accordingly, blocks can be set according to the required image information type as shown in the drawing.
  • the video transmission/reception method/apparatus according to the embodiments can selectively merge blocks of several high-definition images of 3DoF+ based on the above-described embodiments, and additionally, flexible and adaptable 3DoF+ by matching a threshold according to the bandwidth situation. It can provide a standard service. In addition, flexible contents can be provided by variably changing the size of the block according to the nature of the data.
  • Figure 27 shows an example of sorting and packing (SORTING & PACKING) according to embodiments.
  • the method/apparatus according to the embodiments may additionally sort and pack images when packing/merging.
  • each block (area) may be sorted by size, for example, height.
  • the method/apparatus according to the embodiments may classify regions in order from the largest to the smallest. Thereafter, the sorted regions may be packed as shown on the right side of the drawing. Alternatively, according to embodiments, it is possible to pack after sorting the height from small to high.
  • Sorting and packing according to embodiments provides an effect of further increasing the efficiency of encoding by classifying and packing regions according to a certain standard.
  • the reception method/apparatus may perform unpacking and/or departitioning in a reverse process based on a sorting method on a sorted and packed image (picture) when unpacking and/or departitioning is performed.
  • the method/apparatus according to the embodiments may provide an effect of reducing the size of a packed view (image) as much as possible.
  • sorting and/or packing according to embodiments may reduce the size of a view during packing by assembling blocks having a variable size within a certain period (IntraPeriod) in order of height, arranging and attaching them in order.
  • IntraPeriod a variable size within a certain period
  • An error may occur in the view (image) while the pruner 2200 prunes the center view and/or sparse views.
  • the image generated by being projected as described above may include distortion according to an ERP (Equirectangular Projection) format, which is a type of projection type. Accordingly, due to such distortion, there may be a phenomenon in which the distortion remains intact in the uppermost, lowermost, and left and right edge regions of the image even in the pruning process.
  • 3DoF+'s standard view synthesis tools such as Reference view Synthesizer (RVS) can handle this distortion to some extent, but the area containing the distortion has a great influence on the size of the merged image. Accordingly, the method/apparatus, pruner, partitioner, packer, etc.
  • filtering may additionally perform a filtering operation prior to merging the regions including distortion.
  • Filtering can exclude (remove) a region including distortion, and has an effect of effectively reducing the data bandwidth of the transmission/reception method/device system by reducing the size of an image.
  • the filtering process according to the embodiments may be referred to as poll filtering.
  • filtering may be performed by a filter unit connected between a pruner, a partitioner, and a packer, or the packer may perform a filtering operation.
  • the area of section 1 in the drawing represents the range of the image of the sparse view. Area 1 contains distortion at the top and bottom.
  • the sparse view of area 1 may be filtered as an image whose distortion is filtered as shown in number 2 of the drawing by a filtering process.
  • a merge/packing process may be performed based on the two images from which distortion has been removed.
  • the video transmission/reception method/apparatus according to the embodiments can selectively merge blocks of several high-definition images of 3DoF+ based on the above-described embodiments, and additionally, flexible and adaptable 3DoF+ by matching a threshold according to the bandwidth situation. It can provide a standard service. In addition, by removing the portion with distortion, it is possible to provide an encoder/decoder with low complexity and data robust to error.
  • 29 shows an example of a method for selecting a partitioning block based on a threshold according to embodiments.
  • the method/apparatus, pruner, partitioner, packer (or the corresponding unpacker, departitioner, reconstructor, and/or method/device including them) according to the embodiments are used when performing block-based partitioning.
  • Threshold can be used.
  • Threshold-based block partitioning according to embodiments may provide an effect of minimizing a transmission bandwidth by reducing the size of an image to be finally merged. For example, we propose a method of not selecting a block based on a threshold when selecting a block.
  • Redundant and meaningless information included in the sparse view image is expressed in gray, and this may be referred to as a gray area.
  • the method/apparatus according to the embodiments determines that the gray area in the block occupies most of the information and excludes the corresponding block from the selection candidate. According to embodiments, if the area other than the gray area is less than the threshold (k%), it is excluded from the selection candidate, and the excluded block related information is not stored in the metadata.
  • the method/apparatus according to the embodiments may reduce the size of a merged image to be transmitted by selectively merging blocks based on an image information ratio, and also provides an effect of reducing a transmission bandwidth.
  • a threshold value according to selection can be reduced based on the block partitioning.
  • the partitioning/packing may be included in the packer 2220 of FIG. 22 or may be connected to the packer 2220.
  • the partitioner and packer 2900 may include a partitioner 2910 and/or a packer 2920. Each component may correspond to hardware, software, processor, and/or a combination thereof.
  • the partitioner 2910 receives sparse views.
  • the sparse views may include a plurality of pixels.
  • the partitioner 2910 performs block-based partitioning on the sparse view. Partitioning may generate metadata, which is signaling information for a block of partitioning. Metadata includes the size of the source view (including the width and/or height), which is the sparse view (hereinafter referred to as the source view) that is the source of the partitioner, and the size of the block used for block-based partitioning (including the width and/or height). H), a threshold value/a threshold value used for block-based partitioning, which is a block threshold (k), and information about the number of frames to which the partitioning process (f) is applied.
  • the partitioner 2910 may check a gray area including meaningless information for each generated block. For example, it is possible to check the number of pixels (that is, pixels other than the gray area) including information for each block. If the number of pixels including meaningful information included in the block is equal to or smaller than the threshold value k, the block may be discarded. Alternatively, when a block includes more meaningful pixels than the threshold value k, the block may be included in the view to be packed.
  • the packer 2920 may merge threshold/block-based partitioned blocks and pack them into one or more views.
  • the packer 2950 may generate metadata that is signaling information about packing.
  • the metadata may include size information of the packing view. For example, it may include the width and height of the packing view.
  • the packer 2920 may receive metadata from a method/apparatus/system according to the embodiments to perform an operation related to packing.
  • the metadata may include a packing size (width and/or height, etc.) required when performing packing.
  • Metadata generated after packing may include map information indicating a block inclusion relationship.
  • the transmission method/device according to the embodiments transmits a packed image (view)
  • the receiving method/device according to the embodiments may perform unpacking in a reverse process of the transmitting side based on the metadata.
  • the packer 2920 may generate and transmit the packed view.
  • Metadata may include the following information.
  • the method/apparatus according to the embodiments may generate block-related metadata, and in the case of a uniform block division method, the following metadata may be generated and transmitted/received.
  • Metadata related to the threshold-based partitioning block selection process (parameters) parameter description SparseViewHeightSize Sparse View height size SparseViewWidthSize Width size of Sparse View BlockHeightSize Block height size BlockWidthSize Block width size BlockThreshold Threshold criterion when selecting a block (%) BlockViewIndex Index(Metadata) of which Sparse view the block is included in BlockPositionIndex Index(Metadata) of the position of the block in the sparse view ProcessFrame Number of frames to try
  • the number of frames according to the embodiments refers to the number of frames used as a unit of coding processing according to the embodiments.
  • the method/apparatus according to the embodiments may generate an SEI message of high-level syntax as follows and transmit/receive it together as signaling information together with video image data.
  • the SEI message may include a partiioning_op descriptor.
  • partitioning_op Represents the operation of partitioning.
  • block_height_size indicates the height size of the block.
  • block_width_size Represents the width size of the block.
  • block_threshold Represents the threshold (threshold) of the block.
  • payload represents the payload.
  • non_gray_area indicates that the gray area of the block is not.
  • select(payload) Selects the block and stores it in the payload by including it in the packing view.
  • SEI message may include the following payload.
  • Metadata may be signaled as follows.
  • sparse_view_height_size indicates the height size of the sparse view.
  • sparse_view_width_size represents the width size of the sparse view.
  • block_height_size indicates the height size of the block.
  • block_width_size Represents the width size of the block.
  • block_threshold Represents the threshold (threshold) of the block.
  • block_view_index represents the view index of the block.
  • block_position_index represents the position index of the block.
  • process_frame indicates the number of process frames that are coding processing units.
  • write_metadata represents the process of generating metadata according to partitioning for each process frame.
  • signaling information may be generated in an xml format as follows.
  • sparse view height size 4096, sparse view width size 2048, block height size 64, block width size 32, block threshold 10, block view index 3 and the location index of the block may be 21.
  • the method/apparatus according to the embodiments may perform a threshold-based partitioning block selection technique, and selectively merge blocks of several high-definition images of 3DoF+ to match the threshold according to the bandwidth situation. It has the effect of providing flexible and adaptive services.
  • the packing of the video transmission method according to the embodiments may include dividing one or more source views based on blocks, and selecting and packing blocks based on a threshold.
  • the unpacking of the video reception method may include unpacking the packed picture based on a block and a threshold.
  • the method/apparatus according to the embodiments includes the following signaling information in the form of a file in the bitstream of the block (or can be referred to as a view area, a picture, etc.) used for packing according to the embodiments (encapsulated Can be transmitted by
  • bit(7) reserved 0;
  • bit(3) reserved 0;
  • constituent_picture_matching_flag 1
  • this value is 0, it indicates that the projected area information, the packed area information, and the guard band area information are applied to the projected picture.
  • num_regions represents the number of packed regions.
  • proj_picture_width and proj_picture_height represent the width and height of the projected picture, respectively.
  • packed_picture_width and packed_picture_height represent the width/height of a packed picture, respectively. It may correspond to the width/height of the block described above.
  • guard_band_flag[i] indicates whether a guard band in the picture exists.
  • packing_type[i] represents the type of packing process.
  • RectRegionPacking(i) represents packing between the I-th projected region and the I-th packed region (region).
  • GuardBand(i) represents the guard band for the I-packed region.
  • the video transmission/reception method/apparatus according to the embodiments can selectively merge blocks of several high-definition images of 3DoF+ based on the above-described embodiments, and additionally, flexible and adaptable 3DoF+ by matching a threshold according to the bandwidth situation. It can provide a standard service. In addition, by variably applying the threshold, meaningful information can be efficiently transmitted.
  • FIG. 30 shows an example in which a 360 video transmission/reception apparatus according to embodiments is linked with an architecture for storing and streaming V-PCC-based point cloud data.
  • Some/all of the systems in the drawing correspond to the 360 video transmission/reception method/device (or video transmission/reception method/device) described in FIGS.
  • Each component in the drawing may correspond to software, hardware, a processor, and/or a combination thereof.
  • the video data according to the embodiments may be processed as shown in the drawing in order to provide a VR/AR service to a user by being linked with the point cloud data.
  • the point cloud content represents data representing an object as points, and may be referred to as point cloud, point cloud data, point cloud video data, point cloud image data, and the like.
  • video data according to embodiments may be included in one type of point cloud content.
  • the drawing is a diagram showing the overall architecture for storing or streaming point cloud data compressed based on Video-based Point Cloud Compression (V-PCC).
  • the process of storing and streaming point cloud data may include an acquisition process, an encoding process, a transmission process, a decoding process, a rendering process and/or a feedback process.
  • Embodiments propose a method of effectively providing point cloud media/contents/data.
  • the point cloud acquisition unit 20000 first acquires a point cloud video in order to effectively provide point cloud media/contents/data.
  • point cloud data may be acquired through the process of capturing, synthesizing, or creating a point cloud through one or more cameras.
  • a point cloud video including the 3D position (x, y, z position values, etc.) of each point (hereinafter referred to as geometry) and the attributes of each point (color, reflectance, transparency, etc.) It can be obtained, and can be created as a PLY (Polygon File format or the Stanford Triangle format) file including the same.
  • PLY Polygon File format or the Stanford Triangle format
  • point cloud related metadata eg, metadata related to capture, etc.
  • the captured Point Cloud video may need post-processing to improve the quality of the content.
  • the maximum/minimum depth value can be adjusted within the range provided by the camera equipment, but point data of the unwanted area may be included even after that, so the unwanted area (eg, background) is removed, or the connected space is recognized.
  • Post-treatment of filling the spatial hole can be performed.
  • the Point Cloud extracted from the cameras sharing the spatial coordinate system can be integrated into a single content through the conversion process to the global coordinate system for each point based on the position coordinates of each camera acquired through the calibration process. Through this, it is possible to acquire a Point Cloud video with a high density of points.
  • the point cloud pre-processing unit 30001 may generate one or more pictures/frames of a point cloud video.
  • a picture/frame may generally mean a unit representing one image in a specific time period.
  • Point cloud The points constituting the video are one or more patches (a set of points constituting the point cloud, and points belonging to the same patch are adjacent to each other in the 3D space, and in the process of mapping to a 2D image, one of the six-sided bounding box planes When mapping to a 2D plane by dividing it into a set of points mapped in the same direction), a binary map that informs whether or not data exists at the corresponding position of the 2D plane as a value of 0 or 1 occupancy Map pictures/frames can be created.
  • a geometry picture/frame which is a picture/frame in the form of a depth map that expresses the location information of each point of the Point Cloud video in units of a patch.
  • a texture picture/frame which is a picture/frame that expresses the color information of each point of a point cloud video in a patch unit, can be created.
  • metadata necessary to reconstruct the point cloud from individual patches can be generated.
  • it may include information on patches such as the location and size of each patch in 2D/3D space.
  • the Point Cloud video encoder 30002 may encode one or more video streams associated with Point Cloud video.
  • One video may include a plurality of frames, and one frame may correspond to a still image/picture.
  • a Point Cloud video may include a Point Cloud image/frame/picture, and the Point Cloud video may be used interchangeably with a Point Cloud image/frame/picture.
  • the Point Cloud video encoder may perform a Video-based Point Cloud Compression (V-PCC) procedure.
  • V-PCC Video-based Point Cloud Compression
  • the Point Cloud video encoder can perform a series of procedures such as prediction, transform, quantization, and entropy coding for compression and coding efficiency.
  • the encoded data (encoded video/video information) may be output in the form of a bitstream.
  • the Point Cloud video encoder uses the Point Cloud video as a geometry video, an attribute video, an occupancy map video, and metadata, such as information about a patch, as described later. It can be divided and encoded.
  • the geometry video may include a geometry image
  • the attribute video may include an attribute image
  • the occupancy map video may include an accupancy map image.
  • Patch data which is additional information, may include patch related information.
  • the attribute video/image may include a texture video/image.
  • the Point Cloud image encoder 30003 may encode one or more images associated with a Point Cloud video.
  • the Point Cloud image encoder can perform the Video-based Point Cloud Compression (V-PCC) procedure.
  • the Point Cloud image encoder can perform a series of procedures such as prediction, transformation, quantization, and entropy coding for compression and coding efficiency.
  • the encoded image may be output in the form of a bitstream.
  • the Point Cloud image encoder uses the Point Cloud image as a geometry image, an attribute image, an occupancy map image, and metadata, such as information on a patch, as described later. It can be divided and encoded.
  • the point cloud video encoder and/or point cloud image encoder may generate a PCC bitstream (G-PCC and/or V-PCC bitstream) according to the embodiments.
  • the video encoder 2002, the image encoder 20002, the video decoding 20006, and the image decoding may be performed by one encoder/decoder as described above, and in separate paths as shown in the figure. Can be done.
  • Encapsulation may encapsulate encoded point cloud data and/or point cloud related metadata in the form of a file or a segment for streaming.
  • the metadata related to the point cloud may be transmitted from a metadata processing unit.
  • the metadata processing unit may be included in the point cloud video/image encoder, or may be configured as a separate component/module.
  • the encapsulation processing unit may encapsulate the video/image/metadata in a file format such as ISOBMFF, or may process it in the form of a DASH segment.
  • the encapsulation processor may include point cloud related metadata on a file format according to an embodiment. Point cloud metadata may be included in boxes of various levels in the ISOBMFF file format, for example, or may be included as data in separate tracks within the file.
  • the encapsulation processing unit may encapsulate the point cloud related metadata itself as a file.
  • the encapsulation or encapsulator may divide and store the G-PCC/V-PCC bitstream into one or a plurality of tracks in a file, and encapsulate signaling information for this.
  • the atlas stream included in the G-PCC/V-PCC bitstream may be stored as a track in a file, and related signaling information may be stored.
  • the SEI message existing on the G-PCC/V-PCC bitstream may be stored in a track in the file, and related signaling information may be stored.
  • the transmission processing unit may apply processing for transmission to the encapsulated point cloud data according to the file format.
  • the transmission processing unit may be included in the transmission unit or may be configured as a separate component/module.
  • the transmission processing unit can process point cloud data according to any transmission protocol.
  • the processing for transmission may include processing for transmission through a broadcasting network and processing for transmission through a broadband.
  • the transmission processing unit may receive not only the point cloud data, but also the point cloud related metadata from the metadata processing unit, and may apply processing for transmission to this.
  • the transmission unit may transmit the point cloud bitstream or the file/segment including the corresponding bitstream to the reception unit of the receiving device through a digital storage medium or a network.
  • processing according to any transmission protocol can be performed.
  • Data processed for transmission may be delivered through a broadcasting network and/or a broadband. These data may be delivered to the receiving side in an on-demand manner.
  • Digital storage media may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD.
  • the transmission unit may include an element for generating a media file through a predetermined file format, and may include an element for transmission through a broadcast/communication network.
  • the receiver may extract the bitstream and transmit it to the decoding device.
  • the receiver may receive the point cloud data transmitted by the point cloud data transmission device according to the present invention. Depending on the transmitted channel, the receiver may receive point cloud data through a broadcasting network or may receive point cloud data through a broadband. Alternatively, point cloud video data can be received through a digital storage medium. The receiver may include a process of decoding the received data and rendering it according to a user's viewport.
  • the reception processing unit may perform processing according to a transmission protocol on the received point cloud video data.
  • the receiving processing unit may be included in the receiving unit, or may be configured as a separate component/module.
  • the reception processing unit may perform the reverse process of the transmission processing unit described above so as to correspond to the transmission processing performed by the transmission side.
  • the reception processing unit may transmit the acquired point cloud video to the decapsulation processing unit, and the acquired point cloud related metadata may be transmitted to the metadata parser.
  • the decapsulation processing unit may decapsulate the point cloud data in the form of a file transmitted from the reception processing unit.
  • the decapsulation processor may decapsulate files according to ISOBMFF or the like to obtain a point cloud bitstream or point cloud related metadata (or a separate metadata bitstream).
  • the acquired point cloud bitstream may be transmitted to a point cloud decoder, and the acquired point cloud related metadata (or metadata bitstream) may be transmitted to the metadata processing unit.
  • the point cloud bitstream may include metadata (metadata bitstream).
  • the metadata processing unit may be included in the point cloud video decoder, or may be configured as a separate component/module.
  • the point cloud related metadata acquired by the decapsulation processing unit may be in the form of a box or track in a file format. If necessary, the decapsulation processing unit may receive metadata required for decapsulation from the metadata processing unit. Point cloud related metadata may be transmitted to the point cloud decoder and used for the point cloud decoding procedure, or transmitted to a renderer and used for the point cloud rendering procedure.
  • the point cloud video decoder 30006 may receive a bitstream and perform an operation corresponding to the operation of the point cloud video encoder to decode a video/image.
  • the Point Cloud video decoder can decode the Point Cloud video by dividing it into a geometry video, an attribute video, an occupancy map video, and additional patch-related information, as described later.
  • the geometry video may include a geometry image
  • the attribute video may include an attribute image
  • the occupancy map video may include an accupancy map image.
  • the additional information may include auxiliary patch information.
  • the attribute video/image may include a texture video/image.
  • the 3D geometry is reconstructed using the decoded geometry image, the ocupancy map, and additional patch information, and then the smoothing process can be performed.
  • a color point cloud image/picture may be reconstructed by assigning a color value to the smoothed 3D geometry using a texture image.
  • the renderer may render reconstructed geometry and color point cloud images/pictures.
  • the rendered video/image may be displayed through the display unit. The user can view all or part of the rendered result through a VR/AR display or a general display.
  • the sensing/tracking unit (30007) obtains orientation information and/or user viewport information from a user or a receiving side and transmits it to a receiving unit and/or a transmitting unit.
  • Orientation information may indicate information about the position, angle, and movement of the user's head, or may indicate information about the position, angle, and movement of the device that the user is viewing. Based on this information, information on a region currently viewed by the user in the 3D space, that is, viewport information may be calculated.
  • the viewport information may be information on a region currently viewed by the user through a device or an HMD in a 3D space.
  • a device such as a display may extract a viewport area based on orientation information and a vertical or horizontal FOV supported by the device.
  • Orientation or viewport information can be extracted or calculated at the receiving end.
  • the orientation or viewport information analyzed by the receiving side may be transmitted to the transmitting side through a feedback channel.
  • the receiving unit uses the orientation information acquired by the sensing/tracking unit and/or the viewport information indicating the area currently being viewed by the user, and efficiently extracts only the media data of the specific area, that is, the area indicated by the orientation information and/or the viewport information. It can be extracted or decoded.
  • the transmitter can efficiently encode only media data of a specific area, that is, an area indicated by orientation information and/or viewport information, or generate and transmit a file, using orientation information and/or viewport information acquired by the sensing/track unit. .
  • the renderer can render decoded Point Cloud data in 3D space.
  • the rendered video/image may be displayed through the display unit.
  • the user can view all or part of the rendered result through a VR/AR display or a general display.
  • the feedback process may include a process of transferring various feedback information that can be obtained during the rendering/display process to a transmitter or a decoder at a receiver. Interactivity in Point Cloud data consumption can be provided through the feedback process.
  • head orientation information, viewport information indicating an area currently viewed by the user, and the like may be transmitted in the feedback process.
  • the user may interact with those implemented in the VR/AR/MR/autonomous driving environment.In this case, information related to the interaction may be transmitted to the transmitting side or the service provider side in the feedback process. have.
  • the feedback process may not be performed.
  • the above-described feedback information is not only transmitted to the transmitting side, but may be consumed by the receiving side. That is, a decapsulation process, decoding, rendering process, etc. of the receiver may be performed using the above-described feedback information. For example, point cloud data for a region currently viewed by a user may be preferentially decapsulated, decoded, and rendered using orientation information and/or viewport information.
  • the video transmission/reception method/device may encode/decode multiple high-definition images of 3DoF+ in a V-PCC method and provide them to a user based on the above-described embodiments.
  • FIG. 31 shows an example of a video transmission method according to embodiments.
  • the video transmission method according to the embodiments includes a pre-processing step of processing video data.
  • a pre-processing step of processing video data refer to descriptions related to the pre-processor of the video transmission apparatus according to the embodiments described in FIGS. 1-4, 11-15, 18-20, and 22-30.
  • the video transmission method according to the embodiments may include encoding video data.
  • encoding method according to the embodiments refer to descriptions related to the encoder of the video transmission apparatus according to the embodiments described in FIGS. 1-4, 11-15, 18-20, and 22-30.
  • the video transmission method according to the embodiments may include transmitting a bitstream including video data.
  • the pre-processing method according to the embodiments is a transmitter of the video transmission apparatus according to the embodiments described in FIGS. 1-4, 11-15, 18-20, and 22-30. See the related description.
  • the video transmission method according to the embodiments can selectively merge blocks of several high-definition images of 3DoF+ based on the above-described embodiments, and additionally, a flexible and adaptive service of 3DoF+ by matching a threshold value according to the bandwidth situation. Can provide.
  • FIG. 32 shows an example of a video reception method according to embodiments.
  • the video receiving method according to the embodiments includes receiving video data.
  • the pre-processing method according to the embodiments is a receiver of the video receiving apparatus according to the embodiments described in FIGS. 1-4, 11-15, 18-20, and 22-30. See the related description.
  • the video reception method according to the embodiments may include decoding video data.
  • decoding method according to the embodiments refer to descriptions related to the decoder of the video receiving apparatus according to the embodiments described in FIGS. 1-4, 11-15, 18-20, and 22-30.
  • the decoding method according to the embodiments includes the operation of a post-processor of the video receiving apparatus according to the embodiments described in FIGS. 1-4, 11-15, 18-20, and 22-30, or A post-processor performing the post-processing described in FIGS. 1-4, 11-15, 18-20, and 22-30 in connection with the decoder according to the examples may be further included in the reception device.
  • the video reception method according to the embodiments may include rendering video data.
  • the reception method according to the embodiments refer to descriptions related to the receiver of the video receiving apparatus according to the embodiments described in FIGS. 1-4, 11-15, 18-20, and 22-30.
  • the video reception method according to the embodiments may be combined with the above-described embodiments, and the reception description may refer to the reverse process of the transmission description.
  • the video receiving method according to the embodiments can selectively merge blocks of several high-definition images of 3DoF+ based on the above-described embodiments, and additionally, flexible and adaptable 3DoF+ by matching a threshold value according to the bandwidth situation. It can provide a standard service.
  • each drawing has been described separately, but it is also possible to design a new embodiment by merging the embodiments described in each drawing.
  • designing a computer-readable recording medium in which a program for executing the previously described embodiments is recorded is also within the scope of the rights of the embodiments according to the needs of the skilled person.
  • the apparatus and method according to the embodiments are not limitedly applicable to the configuration and method of the described embodiments as described above, but the embodiments are all or part of each of the embodiments selectively combined so that various modifications can be made. It can also be configured.
  • Various components of the apparatus of the embodiments may be implemented by hardware, software, firmware, or a combination thereof.
  • Various components of the embodiments may be implemented as one chip, for example, one hardware circuit.
  • the components according to the embodiments may be implemented as separate chips.
  • at least one or more of the components of the device according to the embodiments may be composed of one or more processors capable of executing one or more programs, and one or more programs may be implemented. It may include instructions for performing or performing any one or more of the operations/methods according to the examples.
  • Executable instructions for performing the method/operations of the apparatus may be stored in a non-transitory CRM or other computer program products configured to be executed by one or more processors, or may be stored in one or more It may be stored in a temporary CRM or other computer program products configured for execution by the processors.
  • the memory according to the embodiments may be used as a concept including not only volatile memory (for example, RAM, etc.) but also nonvolatile memory, flash memory, PROM, and the like.
  • it may be implemented in the form of a carrier wave such as transmission through the Internet.
  • the processor-readable recording medium is distributed over a computer system connected through a network, so that the processor-readable code can be stored and executed in a distributed manner.
  • first and second may be used to describe various elements of the embodiments. However, the interpretation of various components according to the embodiments should not be limited by the above terms. These terms are only used to distinguish one component from another. It's just a thing.
  • a first user input signal may be referred to as a second user input signal.
  • the second user input signal may be referred to as a first user input signal.
  • the use of these terms should be construed as not departing from the scope of various embodiments.
  • the first user input signal and the second user input signal are both user input signals, but do not mean the same user input signals unless clearly indicated in context.
  • the present invention is used in VR-related fields.

Abstract

실시예들에 따른 비디오 송신 방법은, 비디오 데이터를 프로세싱하는 프리-프로세싱 단계; 비디오 데이터를 인코딩하는 단계; 및/또는 비디오 데이터를 포함하는 비트스트림을 전송하는 단계; 를 포함한다. 실시예들에 따른 비디오 수신 방법은, 비디오 데이터를 수신하는 단계; 비디오 데이터를 디코딩하는 단계; 및/또는 비디오 데이터를 렌더링 하는 단계; 를 포함한다.

Description

360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
실시예들은 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치에 관한 것이다.
VR (Vertial Reality) 시스템은 사용자에게 전자적으로 투영된 환경내에 있는 것 같은 감각을 제공한다. VR 을 제공하기 위한 시스템은 더 고화질의 이미지들과, 공간적인 음향을 제공하기 위하여 더 개선될 수 있다. VR 시스템은 사용자가 인터랙티브하게 VR 컨텐트들을 소비할 수 있도록 할 수 있다.
VR 시스템은 더 효율적으로 VR 환경을 사용자에게 제공하기 위하여, 개선될 필요가 있다. 이를 위하여 VR 컨텐츠와 같은 많은 양의 데이터 전송을 위한 데이터 전송 효율, 송수신 네트워크 간의 강건성, 모바일 수신 장치를 고려한 네트워크 유연성, 효율적인 재생 및 시그널링을 위한 방안등이 제안되어야 한다.
또한 일반적인 TTML (Timed Text Markup Language) 기반의 자막(subtitle) 이나 비트맵 기반의 자막은 360 비디오를 고려하여 제작되지 않았기 때문에, 360 비디오에 적합한 자막을 제공하기 위해서는 VR 서비스의 유즈 케이스(use case) 에 적합하도록 자막 관련 특징 및 자막 관련 시그널링 정보 등이 더 확장될 필요가 있다.
실시예들의 목적에 따라, 실시예들은 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치를 제안한다.
실시예들에 따른 비디오 송신 방법은, 비디오 데이터를 프로세싱하는 프리-프로세싱 단계; 비디오 데이터를 인코딩하는 단계; 및/또는 비디오 데이터를 포함하는 비트스트림을 전송하는 단계; 를 포함한다.
실시예들에 따른 비디오 수신 방법은, 비디오 데이터를 수신하는 단계; 비디오 데이터를 디코딩하는 단계; 및/또는 비디오 데이터를 렌더링 하는 단계; 를 포함한다.
실시예들은 지상파 방송망과 인터넷 망을 사용하는 차세대 하이브리드 방송을 지원하는 환경에서 360 컨텐츠를 효율적으로 전송할 수 있다.
실시예들은 사용자의 360 컨텐츠 소비에 있어서, 인터랙티브 경험(interactive experience) 를 제공하기 위한 방안을 제안할 수 있다.
실시예들은 사용자의 360 컨텐츠 소비에 있어서, 360 컨텐츠 제작자가 의도하는 바가 정확히 반영되도록 시그널링 하는 방안을 제안할 수 있다.
실시예들은 360 컨텐츠 전달에 있어, 효율적으로 전송 캐패시티를 늘리고, 필요한 정보가 전달될 수 있도록 하는 방안을 제안할 수 있다.
도 1 은 실시예들에 따른 360 비디오 제공을 위한 전체 아키텍처를 도시한 도면이다.
도 2 은 실시예들에 따른 360 비디오 전송 장치를 도시한 도면이다.
도 3 은 실시예들에 따른 360 비디오 수신 장치를 도시한 도면이다.
도 4 는 실시예들에 따른 360 비디오 전송 장치/360 비디오 수신 장치를 도시한 도면이다.
도 5 는 실시예들에 따른 3D 공간을 설명하기 위한 비행기 주축(Aircraft Principal Axes) 개념을 도시한 도면이다.
도 6 는 실시예들에 따른 프로젝션 스킴들을 도시한 도면이다.
도 7 은 실시예들에 따른 타일(Tile)을 도시한 도면이다.
도 8 은 실시예들에 따른 360 비디오 관련 메타데이터를 도시한 도면이다.
도9는 3DoF+ VR 시스템에서 추가적으로 정의되는 위치(viewpoint)와 시점(viewing position)를 나타낸다.
도10은 3DoF+ 시스템에 기반한 360도 비디오 신호처리 및 관련 전송장치/수신장치 구현 방법에 대해서 도시한다.
도11은 3DoF+ end-to-end 시스템의 구조를 나타낸다.
도12는 FLUS (Framework for Live Uplink Streaming)의 구조를 나타낸다.
도13은 3DoF+ 송신단의 구성을 나타낸다.
도14는 3DoF+ 수신단의 구성을 나타낸다.
도 15는 OMAF 구조를 나타낸다.
도16은 사용자의 이동에 따른 미디어의 종류를 나타낸다.
도 17은 6DoF 비디오 제공을 위한 전체 아키텍처를 나타낸다.
도18은 6DoF 비디오 서비스 제공을 위한 전송 장치의 구성을 나타낸다.
도19는 6DoF 비디오 수신 장치의 구성을 나타낸다.
도20은 6 DoF 비디오 전송/수신 장치의 구성을 나타낸다.
도21은 6DoF 공간을 나타낸다.
도22는 실시예들에 따른 3DoF+ 360 비디오 영상 압축 송신 장치 및 수신 장치의 예시를 나타낸다.
도23은 실시예들에 따른 프루닝의 예시를 나타낸다.
도24는 실시예들에 따른 파티셔닝의 예시를 나타낸다.
도25는 실시예들에 따른 영역 확장과 겹치는 영역 제거 방법의 예시를 나타낸다.
도26은 실시예들에 따른 영역 확장 방법을 이용한 가변적 블록 크기 설정 방법의 예시를 을 나타낸다.
도27은 실시예들에 따른 소팅 및 패킹(SORTING & PACKING)의 예시를 나타낸다.
도28은 실시예들에 따른 폴 필터링(Pole Filtering)의 예시를 나타낸다.
도29는 실시예들에 따른 임계치 기반 파티셔닝 블록 선택 방법의 예시를 나타낸다.
도30은 실시예들에 따른 360 비디오 송수신 장치가 V-PCC 기반 포인트 클라우드 데이터 저장 및 스트리밍을 위한 아키텍쳐와 연계되는 예시를 나타낸다.
도31은 실시예들에 따른 비디오 송신 방법의 예시를 나타낸다.
도32는 실시예들에 따른 비디오 수신 방법의 예시를 나타낸다.
실시예들의 바람직한 실시예에 대해 구체적으로 설명하며, 그 예는 첨부된 도면에 나타낸다. 첨부된 도면을 참조한 아래의 상세한 설명은 실시예들의 실시예에 따라 구현될 수 있는 실시예만을 나타내기보다는 실시예들의 바람직한 실시예를 설명하기 위한 것이다. 다음의 상세한 설명은 실시예들에 대한 철저한 이해를 제공하기 위해 세부 사항을 포함한다. 그러나 실시예들이 이러한 세부 사항 없이 실행될 수 있다는 것은 당업자에게 자명하다.
실시예들에서 사용되는 대부분의 용어는 해당 분야에서 널리 사용되는 일반적인 것들에서 선택되지만, 일부 용어는 출원인에 의해 임의로 선택되며 그 의미는 필요에 따라 다음 설명에서 자세히 서술한다. 따라서 실시예들은 용어의 단순한 명칭이나 의미가 아닌 용어의 의도된 의미에 근거하여 이해되어야 한다.
도 1 은 실시예들에 따른 360 비디오 제공을 위한 전체 아키텍처를 도시한 도면이다.
실시예들은 사용자에게 VR (Virtual Reality, 가상현실) 을 제공하기 위하여, 360 컨텐츠를 제공하는 방안을 제안한다. VR 이란 실제 또는 가상의 환경을 복제(replicates) 하기 위한 기술 내지는 그 환경을 의미할 수 있다. VR 은 인공적으로 사용자에게 감각적 경험을 제공하며, 이를 통해 사용자는 전자적으로 프로젝션된 환경에 있는 것과 같은 경험을 할 수 있다.
360 컨텐츠는 VR 을 구현, 제공하기 위한 컨텐츠 전반을 의미하며, 360 비디오 및/또는 360 오디오를 포함할 수 있다. 360 비디오는 VR 을 제공하기 위해 필요한, 동시에 모든 방향(360도) 으로 캡쳐되거나 재생되는 비디오 내지 이미지 컨텐츠를 의미할 수 있다. 360 비디오는 3D 모델에 따라 다양한 형태의 3D 공간 상에 나타내어지는 비디오 내지 이미지를 의미할 수 있으며, 예를 들어 360 비디오는 구형(Spherical)면 상에 나타내어질 수 있다. 360 오디오 역시 VR 을 제공하기 위한 오디오 컨텐츠로서, 음향 발생지가 3차원의 특정 공간상에 위치하는 것으로 인지될 수 있는, 공간적(Spatial) 오디오 컨텐츠를 의미할 수 있다. 360 컨텐츠는 생성, 처리되어 사용자들로 전송될 수 있으며, 사용자들은 360 컨텐츠를 이용하여 VR 경험을 소비할 수 있다.
실시예들은 특히 360 비디오를 효과적으로 제공하는 방안을 제안한다. 360 비디오를 제공하기 위하여, 먼저 하나 이상의 카메라를 통해 360 비디오가 캡쳐될 수 있다. 캡쳐된 360 비디오는 일련의 과정을 거쳐 전송되고, 수신측에서는 수신된 데이터를 다시 원래의 360 비디오로 가공하여 렌더링할 수 있다. 이를 통해 360 비디오가 사용자에게 제공될 수 있다.
구체적으로 360 비디오 제공을 위한 전체의 과정은 캡처 과정(process), 준비 과정, 전송 과정, 프로세싱 과정, 렌더링 과정 및/또는 피드백 과정을 포함할 수 있다.
캡처 과정은 하나 이상의 카메라를 통하여 복수개의 시점 각각에 대한 이미지 또는 비디오를 캡쳐하는 과정을 의미할 수 있다. 캡처 과정에 의해 도시된 (t1010) 과 같은 이미지/비디오 데이터가 생성될 수 있다. 도시된 (t1010) 의 각 평면은 각 시점에 대한 이미지/비디오를 의미할 수 있다. 이 캡쳐된 복수개의 이미지/비디오를 로(raw) 데이터라 할 수도 있다. 캡쳐 과정에서 캡쳐와 관련된 메타데이터가 생성될 수 있다.
이 캡처를 위하여 VR 을 위한 특수한 카메라가 사용될 수 있다. 실시예에 따라 컴퓨터로 생성된 가상의 공간에 대한 360 비디오를 제공하고자 하는 경우, 실제 카메라를 통한 캡처가 수행되지 않을 수 있다. 이 경우 단순히 관련 데이터가 생성되는 과정으로 해당 캡처 과정이 갈음될 수 있다.
준비 과정은 캡처된 이미지/비디오 및 캡쳐 과정에서 발생한 메타데이터를 처리하는 과정일 수 있다. 캡처된 이미지/비디오는 이 준비 과정에서, 스티칭 과정, 프로젝션 과정, 리전별 패킹 과정(Region-wise Packing) 및/또는 인코딩 과정 등을 거칠 수 있다.
먼저 각각의 이미지/비디오가 스티칭(Stitching) 과정을 거칠 수 있다. 스티칭 과정은 각각의 캡처된 이미지/비디오들을 연결하여 하나의 파노라마 이미지/비디오 또는 구형의 이미지/비디오를 만드는 과정일 수 있다.
이 후, 스티칭된 이미지/비디오는 프로젝션(Projection) 과정을 거칠 수 있다. 프로젝션 과정에서, 스트칭된 이미지/비디오는 2D 이미지 상에 프로젝션될 수 있다. 이 2D 이미지는 문맥에 따라 2D 이미지 프레임으로 불릴 수도 있다. 2D 이미지로 프로젝션하는 것을 2D 이미지로 매핑한다고 표현할 수도 있다. 프로젝션된 이미지/비디오 데이터는 도시된 (t1020) 과 같은 2D 이미지의 형태가 될 수 있다.
2D 이미지 상에 프로젝션된 비디오 데이터는 비디오 코딩 효율 등을 높이기 위하여 리전별 패킹 과정(Region-wise Packing)을 거칠 수 있다. 리전별 패킹이란, 2D 이미지 상에 프로젝션된 비디오 데이터를 리전(Region) 별로 나누어 처리를 가하는 과정을 의미할 수 있다. 여기서 리전(Region)이란, 360 비디오 데이터가 프로젝션된 2D 이미지가 나누어진 영역을 의미할 수 있다. 이 리전들은, 실시예에 따라, 2D 이미지를 균등하게 나누어 구분되거나, 임의로 나누어져 구분될 수 있다. 또한 실시예에 따라 리전들은, 프로젝션 스킴에 따라 구분되어질 수도 있다. 리전별 패킹 과정은 선택적(optional) 과정으로써, 준비 과정에서 생략될 수 있다.
실시예에 따라 이 처리 과정은, 비디오 코딩 효율을 높이기 위해, 각 리전을 회전한다거나 2D 이미지 상에서 재배열하는 과정을 포함할 수 있다. 예를 들어, 리전들을 회전하여 리전들의 특정 변들이 서로 근접하여 위치되도록 함으로써, 코딩 시의 효율이 높아지게 할 수 있다.
실시예에 따라 이 처리 과정은, 360 비디오상의 영역별로 레졸루션(resolution) 을 차등화하기 위하여, 특정 리전에 대한 레졸루션을 높인다거나, 낮추는 과정을 포함할 수 있다. 예를 들어, 360 비디오 상에서 상대적으로 더 중요한 영역에 해당하는 리전들은, 다른 리전들보다 레졸루션을 높게할 수 있다.2D 이미지 상에 프로젝션된 비디오 데이터 또는 리전별 패킹된 비디오 데이터는 비디오 코덱을 통한 인코딩 과정을 거칠 수 있다.
실시예에 따라 준비 과정은 부가적으로 에디팅(editing) 과정 등을 더 포함할 수 있다. 이 에디팅 과정에서 프로젝션 전후의 이미지/비디오 데이터들에 대한 편집 등이 더 수행될 수 있다. 준비 과정에서도 마찬가지로, 스티칭/프로젝션/인코딩/에디팅 등에 대한 메타데이터가 생성될 수 있다. 또한 2D 이미지 상에 프로젝션된 비디오 데이터들의 초기 시점, 혹은 ROI (Region of Interest) 등에 관한 메타데이터가 생성될 수 있다.
전송 과정은 준비 과정을 거친 이미지/비디오 데이터 및 메타데이터들을 처리하여 전송하는 과정일 수 있다. 전송을 위해 임의의 전송 프로토콜에 따른 처리가 수행될 수 있다. 전송을 위한 처리를 마친 데이터들은 방송망 및/또는 브로드밴드를 통해 전달될 수 있다. 이 데이터들은 온 디맨드(On Demand) 방식으로 수신측으로 전달될 수도 있다. 수신측에서는 다양한 경로를 통해 해당 데이터를 수신할 수 있다.
프로세싱 과정은 수신한 데이터를 디코딩하고, 프로젝션되어 있는 이미지/비디오 데이터를 3D 모델 상에 리-프로젝션(Re-projection) 하는 과정을 의미할 수 있다. 이 과정에서 2D 이미지들 상에 프로젝션되어 있는 이미지/비디오 데이터가 3D 공간 상으로 리-프로젝션될 수 있다. 이 과정을 문맥에 따라 매핑, 프로젝션이라고 부를 수도 있다. 이 때 매핑되는 3D 공간은 3D 모델에 따라 다른 형태를 가질 수 있다. 예를 들어 3D 모델에는 구형(Sphere), 큐브(Cube), 실린더(Cylinder) 또는 피라미드(Pyramid) 가 있을 수 있다.
실시예에 따라 프로세싱 과정은 부가적으로 에디팅(editing) 과정, 업 스케일링(up scaling) 과정 등을 더 포함할 수 있다. 이 에디팅 과정에서 리-프로젝션 전후의 이미지/비디오 데이터에 대한 편집 등이 더 수행될 수 있다. 이미지/비디오 데이터가 축소되어 있는 경우 업 스케일링 과정에서 샘플들의 업 스케일링을 통해 그 크기를 확대할 수 있다. 필요한 경우 다운 스케일링을 통해 사이즈를 축소하는 작업이 수행될 수도 있다.
렌더링 과정은 3D 공간상에 리-프로젝션된 이미지/비디오 데이터를 렌더링하고 디스플레이하는 과정을 의미할 수 있다. 표현에 따라 리-프로젝션과 렌더링을 합쳐 3D 모델 상에 렌더링한다 라고 표현할 수도 있다. 3D 모델 상에 리-프로젝션된 (또는 3D 모델 상으로 렌더링된) 이미지/비디오는 도시된 (t1030) 과 같은 형태를 가질 수 있다. 도시된 (t1030) 은 구형(Sphere) 의 3D 모델에 리-프로젝션된 경우이다. 사용자는 VR 디스플레이 등을 통하여 렌더링된 이미지/비디오의 일부 영역을 볼 수 있다. 이 때 사용자가 보게되는 영역은 도시된 (t1040) 과 같은 형태일 수 있다.
피드백 과정은 디스플레이 과정에서 획득될 수 있는 다양한 피드백 정보들을 송신측으로 전달하는 과정을 의미할 수 있다. 피드백 과정을 통해 360 비디오 소비에 있어 인터랙티비티(Interactivity) 가 제공될 수 있다. 실시예에 따라, 피드백 과정에서 헤드 오리엔테이션(Head Orientation) 정보, 사용자가 현재 보고 있는 영역을 나타내는 뷰포트(Viewport) 정보 등이 송신측으로 전달될 수 있다. 실시예에 따라, 사용자는 VR 환경 상에 구현된 것들과 상호작용할 수도 있는데, 이 경우 그 상호작용과 관련된 정보가 피드백 과정에서 송신측 내지 서비스 프로바이더 측으로 전달될 수도 있다. 실시예에 따라 피드백 과정은 수행되지 않을 수도 있다.
헤드 오리엔테이션 정보는 사용자의 머리 위치, 각도, 움직임 등에 대한 정보를 의미할 수 있다. 이 정보를 기반으로 사용자가 현재 360 비디오 내에서 보고 있는 영역에 대한 정보, 즉 뷰포트 정보가 계산될 수 있다.
뷰포트 정보는 현재 사용자가 360 비디오에서 보고 있는 영역에 대한 정보일 수 있다. 이를 통해 게이즈 분석(Gaze Analysis) 이 수행되어, 사용자가 어떠한 방식으로 360 비디오를 소비하는지, 360 비디오의 어느 영역을 얼마나 응시하는지 등을 확인할 수도 있다. 게이즈 분석은 수신측에서 수행되어 송신측으로 피드백 채널을 통해 전달될 수도 있다. VR 디스플레이 등의 장치는 사용자의 머리 위치/방향, 장치가 지원하는 수직(vertical) 혹은 수평(horizontal) FOV 등에 근거하여 뷰포트 영역을 추출할 수 있다.
실시예에 따라, 전술한 피드백 정보는 송신측으로 전달되는 것 뿐아니라, 수신측에서 소비될 수도 있다. 즉, 전술한 피드백 정보를 이용하여 수신측의 디코딩, 리-프로젝션, 렌더링 과정 등이 수행될 수 있다. 예를 들어, 헤드 오리엔테이션 정보 및/또는 뷰포트 정보를 이용하여 현재 사용자가 보고 있는 영역에 대한 360 비디오만 우선적으로 디코딩 및 렌더링될 수도 있다.
여기서 뷰포트(viewport) 내지 뷰포트 영역이란, 사용자가 360 비디오에서 보고 있는 영역을 의미할 수 있다. 시점(viewpoint) 는 사용자가 360 비디오에서 보고 있는 지점으로서, 뷰포트 영역의 정중앙 지점을 의미할 수 있다. 즉, 뷰포트는 시점을 중심으로 한 영역인데, 그 영역이 차지하는 크기 형태 등은 후술할 FOV(Field Of View) 에 의해 결정될 수 있다.
전술한 360 비디오 제공을 위한 전체 아키텍처 내에서, 캡쳐/프로젝션/인코딩/전송/디코딩/리-프로젝션/렌더링의 일련의 과정을 거치게 되는 이미지/비디오 데이터들을 360 비디오 데이터라 부를 수 있다. 360 비디오 데이터라는 용어는 또한 이러한 이미지/비디오 데이터들과 관련되는 메타데이터 내지 시그널링 정보를 포함하는 개념으로 쓰일 수도 있다.
도 2 은 실시예들에 따른 360 비디오 전송 장치를 도시한 도면이다.
한 관점에 따르면 실시예들은 360 비디오 전송 장치와 관련될 수 있다. 실시예들에 따른 360 비디오 전송 장치는 전술한 준비 과정 내지 전송 과정에 관련된 동작들을 수행할 수 있다. 실시예들에 따른 360 비디오 전송 장치는 데이터 입력부, 스티처(Stitcher), 프로젝션 처리부, 리전별 패킹 처리부(도시되지 않음), 메타데이터 처리부, (송신측) 피드백 처리부, 데이터 인코더, 인캡슐레이션 처리부, 전송 처리부 및/또는 전송부를 내/외부 엘레멘트로서 포함할 수 있다.
데이터 입력부는 캡쳐된 각 시점별 이미지/비디오 들을 입력받을 수 있다. 이 시점별 이미지/비디오 들은 하나 이상의 카메라들에 의해 캡쳐된 이미지/비디오들일 수 있다. 또한 데이터 입력부는 캡쳐 과정에서 발생된 메타데이터를 입력받을 수 있다. 데이터 입력부는 입력된 시점별 이미지/비디오들을 스티처로 전달하고, 캡쳐 과정의 메타데이터를 시그널링 처리부로 전달할 수 있다.
스티처는 캡쳐된 시점별 이미지/비디오들에 대한 스티칭 작업을 수행할 수 있다. 스티처는 스티칭된 360 비디오 데이터를 프로젝션 처리부로 전달할 수 있다. 스티처는 필요한 경우 메타데이터 처리부로부터 필요한 메타데이터를 전달받아 스티칭 작업에 이용할 수 있다. 스티처는 스티칭 과정에서 발생된 메타데이터를 메타데이터 처리부로 전달할 수 있다. 스티칭 과정의 메타데이터에는 스티칭이 수행되었는지 여부, 스티칭 타입 등의 정보들이 있을 수 있다.
프로젝션 처리부는 스티칭된 360 비디오 데이터를 2D 이미지 상에 프로젝션할 수 있다. 프로젝션 처리부는 다양한 스킴(scheme)에 따라 프로젝션을 수행할 수 있는데, 이에 대해서는 후술한다. 프로젝션 처리부는 각 시점별 360 비디오 데이터의 해당 뎁스(depth)를 고려하여 매핑을 수행할 수 있다. 프로젝션 처리부는 필요한 경우 메타데이터 처리부로부터 프로젝션에 필요한 메타데이터를 전달받아 프로젝션 작업에 이용할 수 있다. 프로젝션 처리부는 프로젝션 과정에서 발생된 메타데이터를 메타데이터 처리부로 전달할 수 있다. 프로젝션 처리부의 메타데이터에는 프로젝션 스킴의 종류 등이 있을 수 있다.
리전별 패킹 처리부(도시되지 않음)는 전술한 리전별 패킹 과정을 수행할 수 있다. 즉, 리전별 패킹 처리부는 프로젝션된 360 비디오 데이터를 리전별로 나누고, 각 리전들을 회전, 재배열하거나, 각 리전의 레졸루션을 변경하는 등의 처리를 수행할 수 있다. 전술한 바와 같이 리전별 패킹 과정은 선택적(optional) 과정이며, 리전별 패킹이 수행되지 않는 경우, 리전별 패킹 처리부는 생략될 수 있다. 리전별 패킹 처리부는 필요한 경우 메타데이터 처리부로부터 리전별 패킹에 필요한 메타데이터를 전달받아 리전별 패킹 작업에 이용할 수 있다. 리전별 패킹 처리부는 리전별 패킹 과정에서 발생된 메타데이터를 메타데이터 처리부로 전달할 수 있다. 리전별 패킹 처리부의 메타데이터에는 각 리전의 회전 정도, 사이즈 등이 있을 수 있다.
전술한 스티처, 프로젝션 처리부 및/또는 리전별 패킹 처리부는 실시예에 따라 하나의 하드웨어 컴포넌트에서 수행될 수도 있다.
메타데이터 처리부는 캡처 과정, 스티칭 과정, 프로젝션 과정, 리전별 패킹 과정, 인코딩 과정, 인캡슐레이션 과정 및/또는 전송을 위한 처리 과정에서 발생할 수 있는 메타데이터들을 처리할 수 있다. 메타데이터 처리부는 이러한 메타데이터들을 이용하여 360 비디오 관련 메타데이터를 생성할 수 있다. 실시예에 따라 메타데이터 처리부는 360 비디오 관련 메타데이터를 시그널링 테이블의 형태로 생성할 수도 있다. 시그널링 문맥에 따라 360 비디오 관련 메타데이터는 메타데이터 또는 360 비디오 관련 시그널링 정보라 불릴 수도 있다. 또한 메타데이터 처리부는 획득하거나 생성한 메타데이터들을 필요에 따라 360 비디오 전송 장치의 내부 엘레멘트들에 전달할 수 있다. 메타데이터 처리부는 360 비디오 관련 메타데이터가 수신측으로 전송될 수 있도록 데이터 인코더, 인캡슐레이션 처리부 및/또는 전송 처리부에 전달할 수 있다.
데이터 인코더는 2D 이미지 상에 프로젝션된 360 비디오 데이터 및/또는 리전별 패킹된 360 비디오 데이터를 인코딩할 수 있다. 360 비디오 데이터는 다양한 포맷으로 인코딩될 수 있다.
인캡슐레이션 처리부는 인코딩된 360 비디오 데이터 및/또는 360 비디오 관련 메타데이터를 파일 등의 형태로 인캡슐레이션할 수 있다. 여기서 360 비디오 관련 메타데이터는 전술한 메타데이터 처리부로부터 전달받은 것일 수 있다. 인캡슐레이션 처리부는 해당 데이터들을 ISOBMFF, CFF 등의 파일 포맷으로 인캡슐레이션하거나, 기타 DASH 세그먼트 등의 형태로 처리할 수 있다. 인캡슐레이션 처리부는 실시예에 따라 360 비디오 관련 메타데이터를 파일 포맷 상에 포함시킬 수 있다. 360 관련 메타데이터는 예를 들어 ISOBMFF 파일 포맷 상의 다양한 레벨의 박스(box)에 포함되거나 파일 내에서 별도의 트랙내의 데이터로 포함될 수 있다. 실시예에 따라, 인캡슐레이션 처리부는 360 비디오 관련 메타데이터 자체를 파일로 인캡슐레이션할 수 있다.
전송 처리부는 파일 포맷에 따라 인캡슐레이션된 360 비디오 데이터에 전송을 위한 처리를 가할 수 있다. 전송 처리부는 임의의 전송 프로토콜에 따라 360 비디오 데이터를 처리할 수 있다. 전송을 위한 처리에는 방송망을 통한 전달을 위한 처리, 브로드밴드를 통한 전달을 위한 처리를 포함할 수 있다. 실시예에 따라 전송 처리부는 360 비디오 데이터 뿐 아니라, 메타데이터 처리부로부터 360 비디오 관련 메타데이터를 전달받아, 이 것에 전송을 위한 처리를 가할 수도 있다.
전송부는 전송 처리된 360 비디오 데이터 및/또는 360 비디오 관련 메타데이터를 방송망 및/또는 브로드밴드를 통해 전송할 수 있다. 전송부는 방송망을 통한 전송을 위한 엘레멘트 및/또는 브로드밴드를 통한 전송을 위한 엘레멘트를 포함할 수 있다.
실시예들에 따른 360 비디오 전송 장치의 일 실시예에 의하면, 360 비디오 전송 장치는 데이터 저장부(도시되지 않음)를 내/외부 엘레멘트로서 더 포함할 수 있다. 데이터 저장부는 인코딩된 360 비디오 데이터 및/또는 360 비디오 관련 메타데이터를 전송 처리부로 전달하기 전에 저장하고 있을 수 있다. 이 데이터들이 저장되는 형태는 ISOBMFF 등의 파일 형태일 수 있다. 실시간으로 360 비디오를 전송하는 경우에는 데이터 저장부가 필요하지 않을 수 있으나, 온 디맨드, NRT (Non Real Time), 브로드밴드 등을 통해 전달하는 경우에는 인캡슐레이션된 360 데이터가 데이터 저장부에 일정 기간 저장되었다가 전송될 수도 있다.
실시예들에 따른 360 비디오 전송 장치의 다른 실시예에 의하면, 360 비디오 전송 장치는 (송신측) 피드백 처리부 및/또는 네트워크 인터페이스(도시되지 않음)를 내/외부 엘레멘트로서 더 포함할 수 있다. 네트워크 인터페이스는 실시예들에 따른 360 비디오 수신 장치로부터 피드백 정보를 전달받고, 이를 송신측 피드백 처리부로 전달할 수 있다. 송신측 피드백 처리부는 피드백 정보를 스티처, 프로젝션 처리부, 리전별 패킹 처리부, 데이터 인코더, 인캡슐레이션 처리부, 메타데이터 처리부 및/또는 전송 처리부로 전달할 수 있다. 실시예에 따라 피드백 정보는 메타데이터 처리부에 일단 전달된 후, 다시 각 내부 엘레멘트들로 전달될 수 있다. 피드백 정보를 전달받은 내부 엘레먼트들은 이 후의 360 비디오 데이터의 처리에 피드백 정보를 반영할 수 있다.
실시예들에 따른 360 비디오 전송 장치의 또 다른 실시예에 의하면, 리전별 패킹 처리부는 각 리전을 회전하여 2D 이미지 상에 매핑할 수 있다. 이 때 각 리전들은 서로 다른 방향, 서로 다른 각도로 회전되어 2D 이미지 상에 매핑될 수 있다. 리전의 회전은 360 비디오 데이터가 구형의 면 상에서 프로젝션 전에 인접했던 부분, 스티칭된 부분 등을 고려하여 수행될 수 있다. 리전의 회전에 관한 정보들, 즉 회전 방향, 각도 등은 360 비디오 관련 메타데이터에 의해 시그널링될 수 있다.실시예들에 따른 360 비디오 전송 장치의 또 다른 실시예에 의하면, 데이터 인코더는 각 리전 별로 다르게 인코딩을 수행할 수 있다. 데이터 인코더는 특정 리전은 높은 퀄리티로, 다른 리전은 낮은 퀄리티로 인코딩을 수행할 수 있다. 송신측 피드백 처리부는 360 비디오 수신 장치로부터 전달받은 피드백 정보를 데이터 인코더로 전달하여, 데이터 인코더가 리전별 차등화된 인코딩 방법을 사용하도록 할 수 있다. 예를 들어 송신측 피드백 처리부는 수신측으로부터 전달받은 뷰포트 정보를 데이터 인코더로 전달할 수 있다. 데이터 인코더는 뷰포트 정보가 지시하는 영역을 포함하는 리전들에 대해 다른 리전들보다 더 높은 퀄리티(UHD 등) 로 인코딩을 수행할 수 있다.
실시예들에 따른 360 비디오 전송 장치의 또 다른 실시예에 의하면, 전송 처리부는 각 리전 별로 다르게 전송을 위한 처리를 수행할 수 있다. 전송 처리부는 리전 별로 다른 전송 파라미터(모듈레이션 오더, 코드 레이트 등)를 적용하여, 각 리전 별로 전달되는 데이터의 강건성(robustenss) 을 다르게 할 수 있다.
이 때, 송신측 피드백 처리부는 360 비디오 수신 장치로부터 전달받은 피드백 정보를 전송 처리부로 전달하여, 전송 처리부가 리전별 차등화된 전송 처리를 수행하도록 할 수 있다. 예를 들어 송신측 피드백 처리부는 수신측으로부터 전달받은 뷰포트 정보를 전송 처리부로 전달할 수 있다. 전송 처리부는 해당 뷰포트 정보가 지시하는 영역을 포함하는 리전들에 대해 다른 리전들보다 더 높은 강건성을 가지도록 전송 처리를 수행할 수 있다.
전술한 실시예들에 따른 360 비디오 전송 장치의 내/외부 엘레멘트들은 하드웨어로 구현되는 하드웨어 엘레멘트들일 수 있다. 실시예에 따라 내/외부 엘레멘트들은 변경, 생략되거나 다른 엘레멘트로 대체, 통합될 수 있다. 실시예에 따라 부가 엘레멘트들이 360 비디오 전송 장치에 추가될 수도 있다.
도 3 은 실시예들에 따른 360 비디오 수신 장치를 도시한 도면이다.
다른 관점에 따르면 실시예들은 360 비디오 수신 장치와 관련될 수 있다. 실시예들에 따른 360 비디오 수신 장치는 전술한 프로세싱 과정 및/또는 렌더링 과정에 관련된 동작들을 수행할 수 있다. 실시예들에 따른 360 비디오 수신 장치는 수신부, 수신 처리부, 디캡슐레이션 처리부, 데이터 디코더, 메타데이터 파서, (수신측) 피드백 처리부, 리-프로젝션 처리부 및/또는 렌더러를 내/외부 엘레멘트로서 포함할 수 있다.
수신부는 실시예들에 따른 360 비디오 전송 장치가 전송한 360 비디오 데이터를 수신할 수 있다. 전송되는 채널에 따라 수신부는 방송망을 통하여 360 비디오 데이터를 수신할 수도 있고, 브로드밴드를 통하여 360 비디오 데이터를 수신할 수도 있다.
수신 처리부는 수신된 360 비디오 데이터에 대해 전송 프로토콜에 따른 처리를 수행할 수 있다. 전송측에서 전송을 위한 처리가 수행된 것에 대응되도록, 수신 처리부는 전술한 전송 처리부의 역과정을 수행할 수 있다. 수신 처리부는 획득한 360 비디오 데이터는 디캡슐레이션 처리부로 전달하고, 획득한 360 비디오 관련 메타데이터는 메타데이터 파서로 전달할 수 있다. 수신 처리부가 획득하는 360 비디오 관련 메타데이터는 시그널링 테이블의 형태일 수 있다.
디캡슐레이션 처리부는 수신 처리부로부터 전달받은 파일 형태의 360 비디오 데이터를 디캡슐레이션할 수 있다. 디캡슐레이션 처리부는 ISOBMFF 등에 따른 파일들을 디캡슐레이션하여, 360 비디오 데이터 내지 360 비디오 관련 메타데이터를 획득할 수 있다. 획득된 360 비디오 데이터는 데이터 디코더로, 획득된 360 비디오 관련 메타데이터는 메타데이터 파서로 전달할 수 있다. 디캡슐레이션 처리부가 획득하는 360 비디오 관련 메타데이터는 파일 포맷 내의 박스 혹은 트랙 형태일 수 있다. 디캡슐레이션 처리부는 필요한 경우 메타데이터 파서로부터 디캡슐레이션에 필요한 메타데이터를 전달받을 수도 있다.
데이터 디코더는 360 비디오 데이터에 대한 디코딩을 수행할 수 있다. 데이터 디코더는 메타데이터 파서로부터 디코딩에 필요한 메타데이터를 전달받을 수도 있다. 데이터 디코딩 과정에서 획득된 360 비디오 관련 메타데이터는 메타데이터 파서로 전달될 수도 있다.
메타데이터 파서는 360 비디오 관련 메타데이터에 대한 파싱/디코딩을 수행할 수 있다. 메타데이터 파서는 획득한 메타데이터를 데이터 디캡슐레이션 처리부, 데이터 디코더, 리-프로젝션 처리부 및/또는 렌더러로 전달할 수 있다.
리-프로젝션 처리부는 디코딩된 360 비디오 데이터에 대하여 리-프로젝션을 수행할 수 있다. 리-프로젝션 처리부는 360 비디오 데이터를 3D 공간으로 리-프로젝션할 수 있다. 3D 공간은 사용되는 3D 모델에 따라 다른 형태를 가질 수 있다. 리-프로젝션 처리부는 메타데이터 파서로부터 리-프로젝션에 필요한 메타데이터를 전달받을 수도 있다. 예를 들어 리-프로젝션 처리부는 사용되는 3D 모델의 타입 및 그 세부 정보에 대한 정보를 메타데이터 파서로부터 전달받을 수 있다. 실시예에 따라 리-프로젝션 처리부는 리-프로젝션에 필요한 메타데이터를 이용하여, 3D 공간 상의 특정 영역에 해당하는 360 비디오 데이터만을 3D 공간으로 리-프로젝션할 수도 있다.
렌더러는 리-프로젝션된 360 비디오 데이터를 렌더링할 수 있다. 전술한 바와 같이 360 비디오 데이터가 3D 공간상에 렌더링된다고 표현할 수도 있는데, 이처럼 두 과정이 한번에 일어나는 경우 리-프로젝션 처리부와 렌더러는 통합되어, 렌더러에서 이 과정들이 모두 진행될 수 있다. 실시예에 따라 렌더러는 사용자의 시점 정보에 따라 사용자가 보고 있는 부분만을 렌더링할 수도 있다.
사용자는 VR 디스플레이 등을 통하여 렌더링된 360 비디오의 일부 영역을 볼 수 있다. VR 디스플레이는 360 비디오를 재생하는 장치로서, 360 비디오 수신 장치에 포함될 수도 있고(tethered), 별도의 장치로서 360 비디오 수신 장치에 연결될 수도 있다(un-tethered).
실시예들에 따른 360 비디오 수신 장치의 일 실시예에 의하면, 360 비디오 수신 장치는 (수신측) 피드백 처리부 및/또는 네트워크 인터페이스(도시되지 않음)를 내/외부 엘레멘트로서 더 포함할 수 있다. 수신측 피드백 처리부는 렌더러, 리-프로젝션 처리부, 데이터 디코더, 디캡슐레이션 처리부 및/또는 VR 디스플레이로부터 피드백 정보를 획득하여 처리할 수 있다. 피드백 정보는 뷰포트 정보, 헤드 오리엔테이션 정보, 게이즈(Gaze) 정보 등을 포함할 수 있다. 네트워크 인터페이스는 피드백 정보를 수신측 피드백 처리부로부터 전달받고, 이를 360 비디오 전송 장치로 전송할 수 있다.
전술한 바와 같이, 피드백 정보는 송신측으로 전달되는 것 뿐아니라, 수신측에서 소비될 수도 있다. 수신측 피드백 처리부는 획득한 피드백 정보를 360 비디오 수신 장치의 내부 엘레멘트들로 전달하여, 렌더링 등의 과정에 반영되게 할 수 있다. 수신측 피드백 처리부는 피드백 정보를 렌더러, 리-프로젝션 처리부, 데이터 디코더 및/또는 디캡슐레이션 처리부로 전달할 수 있다. 예를 들어, 렌더러는 피드백 정보를 활용하여 사용자가 보고 있는 영역을 우선적으로 렌더링할 수 있다. 또한 디캡슐레이션 처리부, 데이터 디코더 등은 사용자가 보고 있는 영역 내지 보게될 영역을 우선적으로 디캡슐레이션, 디코딩할 수 있다.
전술한 실시예들에 따른 360 비디오 수신 장치의 내/외부 엘레멘트들은 하드웨어로 구현되는 하드웨어 엘레멘트들일 수 있다. 실시예에 따라 내/외부 엘레멘트들은 변경, 생략되거나 다른 엘레멘트로 대체, 통합될 수 있다. 실시예에 따라 부가 엘레멘트들이 360 비디오 수신 장치에 추가될 수도 있다.
실시예들의 또 다른 관점은 360 비디오를 전송하는 방법 및 360 비디오를 수신하는 방법과 관련될 수 있다. 실시예들에 따른 360 비디오를 전송/수신하는 방법은, 각각 전술한 실시예들에 따른 360 비디오 전송/수신 장치 또는 그 장치의 실시예들에 의해 수행될 수 있다.
전술한 실시예들에 따른 360 비디오 전송/수신 장치, 전송/수신 방법의 각각의 실시예 및 그 내/외부 엘리멘트 각각의 실시예들을 서로 조합될 수 있다. 예를 들어 프로젝션 처리부의 실시예들과, 데이터 인코더의 실시예들은 서로 조합되어, 그 경우의 수만큼의 360 비디오 전송 장치의 실시예들을 만들어 낼 수 있다. 이렇게 조합된 실시예들 역시 실시예들의 범위에 포함된다.
도 4 는 실시예들에 따른 360 비디오 전송 장치/360 비디오 수신 장치를 도시한 도면이다.
전술한 바와 같이, 도시된 (a) 와 같은 아키텍처에 의하여 360 컨텐츠가 제공될 수 있다. 360 컨텐츠는 파일 형태로 제공되거나, DASH 등과 같이 세그먼트(segment) 기반 다운로드 또는 스트리밍 서비스의 형태로 제공될 수 있다. 여기서 360 컨텐츠는 VR 컨텐츠로 불릴 수 있다.
전술한 바와 같이 360 비디오 데이터 및/또는 360 오디오 데이터가 획득될 수 있다(Acquisition).
360 오디오 데이터는 오디오 프리-프로세싱 과정(Audio Preprocessing), 오디오 인코딩 과정(Audio encoding)을 거칠 수 있다. 이 과정에서 오디오 관련 메타데이터가 생성될 수 있으며, 인코딩된 오디오와 오디오 관련 메타데이터는 전송을 위한 처리(file/segment encapsulation)를 거칠 수 있다.
360 비디오 데이터는 전술한 것과 같은 과정을 거칠 수 있다. 360 비디오 전송 장치의 스티처는 360 비디오 데이터에 스티칭을 수행할 수 있다(Visual stitching). 이 과정은 실시예에 따라 생략되고 수신측에서 수행될 수도 있다. 360 비디오 전송 장치의 프로젝션 처리부는 360 비디오 데이터를 2D 이미지 상에 프로젝션할 수 있다(Projection and mapping(packing)).
이 스티칭 및 프로젝션 과정은 (b) 에 구체적으로 도시되었다. 도시된 (b) 에서, 360 비디오 데이터(Input Images) 를 전달받으면, 이에 스티칭 및 프로젝션이 수행될 수 있다. 프로젝션 과정은 구체적으로 스티칭된 360 비디오 데이터를 3D 공간 상으로 프로젝션하고, 프로젝션된 360 비디오 데이터가 2D 이미지 상으로 배열되는 것으로 볼 수 있다. 본 명세서에서 이 과정을 360 비디오 데이터를 2D 이미지 상으로 프로젝션한다고 표현할 수도 있다. 여기서 3D 공간은 구(sphere) 또는 큐브(cube) 등일 수 있다. 이 3D 공간은 수신측에서 리-프로젝션에 사용되는 3D 공간과 같을 수도 있다.
2D 이미지는 프로젝티드 프레임(C, Projected frame) 이라 불릴 수도 있다. 이 2D 이미지에 리전별 패킹(Region-wise packing) 이 선택적으로 더 수행될 수도 있다. 리전별 패킹이 수행되는 경우, 각 리전(Region)의 위치, 형태, 크기를 지시함으로써, 2D 이미지 상의 리전들이 팩드 프레임(D, packed frame) 상으로 매핑될 수 있다. 리전별 패킹이 수행되지 않는 경우, 프로젝티드 프레임은 팩드 프레임과 같을 수 있다. 리전에 대해서는 후술한다. 프로젝션 과정 및 리전별 패킹 과정을, 360 비디오 데이터의 각 리전들이 2D 이미지 상에 프로젝션된다고 표현할 수도 있다. 설계에 따라, 360 비디오 데이터는 중간 과정 없이 팩드 프레임으로 바로 변환될 수도 있다.
도시된 (a) 에서, 프로젝션된 360 비디오 데이터는 이미지 인코딩 내지 비디오 인코딩될 수 있다. 같은 컨텐트라도 다른 시점(viewpoints)별로 존재할 수 있으므로, 같은 컨텐트가 서로 다른 비트 스트림으로 인코딩될 수도 있다. 인코딩된 360 비디오 데이터는 전술한 인캡슐레이션 처리부에 의해 ISOBMFF 등의 파일 포맷으로 처리될 수 있다. 또는 인캡슐레이션 처리부는 인코딩된 360 비디오 데이터를 세그먼트들로 처리할 수 있다. 세그먼트들은 DASH 에 기반한 전송을 위한 개별 트랙에 포함될 수 있다.
360 비디오 데이터의 처리와 함께, 전술한 것과 같이 360 비디오 관련 메타데이터가 생성될 수 있다. 이 메타데이터는 비디오 스트림 혹은 파일 포맷에 포함되어 전달될 수 있다. 이 메타데이터는 인코딩 과정이나 파일 포맷 인캡슐레이션, 전송을 위한 처리 등과 같은 과정에도 쓰일 수 있다.
360 오디오/비디오 데이터는 전송 프로토콜에 따라 전송을 위한 처리를 거치고, 이후 전송될 수 있다. 전술한 360 비디오 수신 장치는 이를 방송망 또는 브로드밴드를 통해 수신할 수 있다.
도시된 (a) 에서 VR 서비스 플랫폼(VR service platform) 은 전술한 360 비디오 수신 장치의 일 실시예에 해당할 수 있다. 도시된 (a) 에서 스피커/헤드폰(Loudspeakers/headphones), 디스플레이(Display), 헤드/아이 트랙킹 컴포넌트(Head/eye tracking) 는 360 비디오 수신 장치의 외부 장치 내지 VR 어플리케이션에 의해 수행되는 것으로 도시되었는데, 실시예에 따라 360 비디오 수신 장치는 이 들을 모두 포함할 수도 있다. 실시예에 따라 헤드/아이 트랙킹 컴포넌트는 전술한 수신측 피드백 처리부에 해당할 수 있다.
360 비디오 수신 장치는 360 오디오/비디오 데이터에 수신을 위한 처리(File/segment decapsulation)를 수행할 수 있다. 360 오디오 데이터는 오디오 디코딩(Audio decoding), 오디오 렌더링(Audio rendering) 과정을 거쳐 스피커/헤드폰을 통해 사용자에게 제공될 수 있다.
360 비디오 데이터는 이미지 디코딩 내지 비디오 디코딩, 렌더링(Visual rendering) 과정을 거쳐 디스플레이를 통해 사용자에게 제공될 수 있다. 여기서 디스플레이는 VR 을 지원하는 디스플레이거나 일반 디스플레이일 수 있다.
전술한 바와 같이 렌더링 과정은 구체적으로, 360 비디오 데이터가 3D 공간 상에 리-프로젝션되고, 리-프로젝션된 360 비디오 데이터가 렌더링되는 것으로 볼 수 있다. 이를 360 비디오 데이터가 3D 공간 상에 렌더링된다고 표현할 수도 있다.
헤드/아이 트랙킹 컴포넌트는 사용자의 헤드 오리엔테이션 정보, 게이즈 정보, 뷰포트(Viewport) 정보 등을 획득, 처리할 수 있다. 이에 대해서는 전술하였다.
수신측에서는 전술한 수신측 과정들과 통신하는 VR 어플리케이션이 존재할 수 있다.
도 5 는 실시예들에 따른 3D 공간을 설명하기 위한 비행기 주축(Aircraft Principal Axes) 개념을 도시한 도면이다.
실시예들에서, 3D 공간에서의 특정 지점, 위치, 방향, 간격, 영역 등을 표현하기 위하여 비행기 주축 개념이 사용될 수 있다.
즉, 실시예들에서 프로젝션 전 또는 리-프로젝션 후의 3D 공간에 대해 기술하고, 그에 대한 시그널링을 수행하기 위하여 비행기 주축 개념이 사용될 수 있다. 실시예에 따라 X, Y, Z 축 개념 또는 구 좌표계를 이용한 방법이 사용될 수도 있다.
비행기는 3 차원으로 자유롭게 회전할 수 있다. 3차원을 이루는 축을 각각 피치(pitch) 축, 야(yaw) 축 및 롤(roll) 축이라고 한다. 본 명세서에서 이 들을 줄여서 pitch, yaw, roll 내지 pitch 방향, yaw 방향, roll 방향이라고 표현할 수도 있다.
Pitch 축은 비행기의 앞코가 위/아래로 회전하는 방향의 기준이 되는 축을 의미할 수 있다. 도시된 비행기 주축 개념에서 pitch 축은 비행기의 날개에서 날개로 이어지는 축을 의미할 수 있다.
Yaw 축은 비행기의 앞코가 좌/우로 회전하는 방향의 기준이 되는 축을 의미할 수 있다. 도시된 비행기 주축 개념에서 yaw 축은 비행기의 위에서 아래로 이어지는 축을 의미할 수 있다.
Roll 축은 도시된 비행기 주축 개념에서 비행기의 앞코에서 꼬리로 이어지는 축으로서, roll 방향의 회전이란 roll 축을 기준으로 한 회전을 의미할 수 있다.
전술한 바와 같이, pitch, yaw, roll 개념을 통해 실시예들에서의 3D 공간이 기술될 수 있다.
도 6 는 실시예들에 따른 프로젝션 스킴들을 도시한 도면이다.
전술한 바와 같이 실시예들에 따른 360 비디오 전송 장치의 프로젝션 처리부는 스티칭된 360 비디오 데이터를 2D 이미지 상에 프로젝션할 수 있다. 이 과정에서 다양한 프로젝션 스킴들이 활용될 수 있다.
실시예들에 따른 360 비디오 전송 장치의 또 다른 실시예에 의하면, 프로젝션 처리부는 큐빅 프로젝션(Cubic Projection) 스킴을 이용하여 프로젝션을 수행할 수 있다. 예를 들어 스티칭된 360 비디오 데이터는 구형의 면 상에 나타내어질 수 있다. 프로젝션 처리부는 이러한 360 비디오 데이터를 큐브(Cube, 정육면체) 형태로 나누어 2D 이미지 상에 프로젝션할 수 있다. 구형의 면 상의 360 비디오 데이터는 큐브의 각 면에 대응되어, 2D 이미지 상에 (a) 좌측 또는 (a) 우측과 같이 프로젝션될 수 있다.
실시예들에 따른 360 비디오 전송 장치의 또 다른 실시예에 의하면, 프로젝션 처리부는 실린더형 프로젝션(Cylindrical Projection) 스킴을 이용하여 프로젝션을 수행할 수 있다. 마찬가지로 스티칭된 360 비디오 데이터가 구형의 면 상에 나타내어질 수 있다고 가정할 때, 프로젝션 처리부는 이러한 360 비디오 데이터를 실린더(Cylinder) 형태로 나누어 2D 이미지 상에 프로젝션할 수 있다. 구형의 면 상의 360 비디오 데이터는 실린더의 옆면(side)과 윗면(top), 바닥면(bottom) 에 각각 대응되어, 2D 이미지 상에 (b) 좌측 또는 (b) 우측과 같이 프로젝션될 수 있다.
실시예들에 따른 360 비디오 전송 장치의 또 다른 실시예에 의하면, 프로젝션 처리부는 피라미드 프로젝션(Pyramid Projection) 스킴을 이용하여 프로젝션을 수행할 수 있다. 마찬가지로 스티칭된 360 비디오 데이터가 구형의 면 상에 나타내어질 수 있다고 가정할 때, 프로젝션 처리부는 이러한 360 비디오 데이터를 피라미드 형태로 보고, 각 면을 나누어 2D 이미지 상에 프로젝션할 수 있다. 구형의 면 상의 360 비디오 데이터는 피라미드의 바닥면(front), 피라미드의 4방향의 옆면(Left top, Left bottom, Right top, Right bottom) 에 각각 대응되어, 2D 이미지 상에 (c) 좌측 또는 (c) 우측과 같이 프로젝션될 수 있다.
실시예에 따라 프로젝션 처리부는 전술한 스킴들 외에 등정방형 프로젝션(Equirectangular Projection) 스킴, 파노라믹 프로젝션(Panoramic Projection) 스킴 등을 이용하여 프로젝션을 수행할 수도 있다.
전술한 바와 같이 리전(Region) 이란, 360 비디오 데이터가 프로젝션된 2D 이미지가 나누어진 영역을 의미할 수 있다. 이 리전들은 프로젝션 스킴에 따라 프로젝션된 2D 이미지 상의 각 면들과 일치할 필요는 없다. 그러나 실시예에 따라, 프로젝션된 2D 이미지 상의 각 면들이 리전과 대응되도록 리전이 구분되어, 리전별 패킹이 수행될 수도 있다. 실시예에 따라 복수개의 면들이 하나의 리전에 대응될 수도 있고, 하나의 면이 복수개의 리전에 대응되게 리전이 구분될 수도 있다. 이 경우, 리전은 프로젝션 스킴에 따라 달라질 수 있다. 예를 들어 (a) 에서 정육면체의 각 면들(top, bottom, front, left, right, back) 은 각각 리전일 수 있다. (b) 에서 실린더의 옆면(side), 윗면(top), 바닥면(bottom) 은 각각 리전일 수 있다. (c) 에서 피라미드의 바닥면(front), 4방향 옆면(Left top, Left bottom, Right top, Right bottom) 들은 각각 리전일 수 있다.
도 7 은 실시예들에 따른 타일(Tile)을 도시한 도면이다.
2D 이미지에 프로젝션된 360 비디오 데이터 또는 리전별 패킹까지 수행된 360 비디오 데이터는 하나 이상의 타일로 구분될 수 있다. 도시된 (a) 는 하나의 2D 이미지가 16 개의 타일로 나뉘어진 형태를 도시하고 있다. 여기서 2D 이미지란 전술한 프로젝티드 프레임 내지는 팩드 프레임일 수 있다. 실시예들에 따른 360 비디오 전송 장치의 또 다른 실시예에 의하면, 데이터 인코더는 각각의 타일을 독립적으로 인코딩할 수 있다.
전술한 리전별 패킹과 타일링(Tiling)은 구분될 수 있다. 전술한 리전별 패킹은 코딩 효율을 높이기 위해 또는 레졸루션을 조정하기 위하여 2D 이미지상에 프로젝션된 360 비디오 데이터를 리전으로 구분하여 처리하는 것을 의미할 수 있다. 타일링은 데이터 인코더가 프로젝티드 프레임 내지는 팩드 프레임을 타일이라는 구획별로 나누고, 해당 타일들 별로 독립적으로 인코딩을 수행하는 것을 의미할 수 있다. 360 비디오가 제공될 때, 사용자는 360 비디오의 모든 부분을 동시에 소비하지 않는다. 타일링은 제한된 밴드위스(bandwidth)상에서 사용자가 현재 보는 뷰포트 등 중요 부분 내지 일정 부분에 해당하는 타일만을 수신측으로 전송 혹은 소비하는 것을 가능케할 수 있다. 타일링을 통해 제한된 밴드위스가 더 효율적으로 활용될 수 있고, 수신측에서도 모든 360 비디오 데이터를 한번에 다 처리하는 것에 비하여 연산 부하를 줄일 수 있다.
리전과 타일은 구분되므로, 두 영역이 같을 필요는 없다. 그러나 실시예에 따라 리전과 타일은 같은 영역을 지칭할 수도 있다. 실시예에 따라 타일에 맞추어 리전별 패킹이 수행되어 리전과 타일이 같아질 수 있다. 또한 실시예에 따라, 프로젝션 스킴에 따른 각 면과 리전이 같은 경우, 프로젝션 스킴에 따른 각 면, 리전, 타일이 같은 영역을 지칭할 수도 있다. 문맥에 따라 리전은 VR 리전, 타일을 타일 리전으로 불릴 수도 있다.
ROI (Region of Interest) 는 360 컨텐츠 제공자가 제안하는, 사용자들의 관심 영역을 의미할 수 있다. 360 컨텐츠 제공자는 360 비디오를 제작할 때, 어느 특정 영역을 사용자들이 관심있어 할 것으로 보고, 이를 고려하여 360 비디오를 제작할 수 있다. 실시예에 따라 ROI 는 360 비디오의 컨텐츠 상, 중요한 내용이 재생되는 영역에 해당할 수 있다.
실시예들에 따른 360 비디오 전송/수신 장치의 또 다른 실시예에 의하면, 수신측 피드백 처리부는 뷰포트 정보를 추출, 수집하여 이를 송신측 피드백 처리부로 전달할 수 있다. 이 과정에서 뷰포트 정보는 양 측의 네트워크 인터페이스를 이용해 전달될 수 있다. 도시된 (a) 의 2D 이미지에서 뷰포트 (t6010) 가 표시되었다. 여기서 뷰포트 는 2D 이미지 상의 9 개의 타일에 걸쳐 있을 수 있다.
이 경우 360 비디오 전송 장치는 타일링 시스템을 더 포함할 수 있다. 실시예에 따라 타일링 시스템은 데이터 인코더 다음에 위치할 수도 있고(도시된 (b)), 전술한 데이터 인코더 내지 전송 처리부 내에 포함될 수도 있고, 별개의 내/외부 엘리먼트로서 360 비디오 전송 장치에 포함될 수 있다.
타일링 시스템은 송신측 피드백 처리부로부터 뷰포트 정보를 전달받을 수 있다. 타일링 시스템은 뷰포트 영역이 포함되는 타일만을 선별하여 전송할 수 있다. 도시된 (a) 의 2D 이미지에서 총 16 개의 타일 중 뷰포트 영역(t6010) 을 포함하는 9 개의 타일들만이 전송될 수 있다. 여기서 타일링 시스템은 브로드밴드를 통한 유니캐스트 방식으로 타일들을 전송할 수 있다. 사용자에 따라 뷰포트 영역이 다르기 때문이다.
또한 이 경우 송신측 피드백 처리부는 뷰포트 정보를 데이터 인코더로 전달할 수 있다. 데이터 인코더는 뷰포트 영역을 포함하는 타일들에 대해 다른 타일들보다 더 높은 퀄리티로 인코딩을 수행할 수 있다.
또한 이 경우 송신측 피드백 처리부는 뷰포트 정보를 메타데이터 처리부로 전달할 수 있다. 메타데이터 처리부는 뷰포트 영역과 관련된 메타데이터 를 360 비디오 전송 장치의 각 내부 엘레먼트로 전달해주거나, 360 비디오 관련 메타데이터에 포함시킬 수 있다.
이러한 타일링 방식을 통하여, 전송 밴드위스(bandwidth)가 절약될 수 있으며, 타일 별로 차등화된 처리를 수행하여 효율적 데이터 처리/전송이 가능해질 수 있다.
전술한 뷰포트 영역과 관련된 실시예들은 뷰포트 영역이 아닌 다른 특정 영역들에 대해서도 유사한 방식으로 적용될 수 있다. 예를 들어, 전술한 게이즈 분석을 통해 사용자들이 주로 관심있어 하는 것으로 판단된 영역, ROI 영역, 사용자가 VR 디스플레이를 통해 360 비디오를 접할 때 처음으로 재생되는 영역(초기 시점, Initial Viewpoint) 등에 대해서도, 전술한 뷰포트 영역과 같은 방식의 처리들이 수행될 수 있다.
실시예들에 따른 360 비디오 전송 장치의 또 다른 실시예에 의하면, 전송 처리부는 각 타일 별로 다르게 전송을 위한 처리를 수행할 수 있다. 전송 처리부는 타일 별로 다른 전송 파라미터(모듈레이션 오더, 코드 레이트 등)를 적용하여, 각 타일 별로 전달되는 데이터의 강건성(robustenss)을 다르게 할 수 있다.
이 때, 송신측 피드백 처리부는 360 비디오 수신 장치로부터 전달받은 피드백 정보를 전송 처리부로 전달하여, 전송 처리부가 타일별 차등화된 전송 처리를 수행하도록 할 수 있다. 예를 들어 송신측 피드백 처리부는 수신측으로부터 전달받은 뷰포트 정보를 전송 처리부로 전달할 수 있다. 전송 처리부는 해당 뷰포트 영역을 포함하는 타일들에 대해 다른 타일들보다 더 높은 강건성을 가지도록 전송 처리를 수행할 수 있다.
도 8 은 실시예들에 따른 360 비디오 관련 메타데이터를 도시한 도면이다.
전술한 360 비디오 관련 메타데이터는 360 비디오에 대한 다양한 메타데이터를 포함할 수 있다. 문맥에 따라, 360 비디오 관련 메타데이터는 360 비디오 관련 시그널링 정보라고 불릴 수도 있다. 360 비디오 관련 메타데이터는 별도의 시그널링 테이블에 포함되어 전송될 수도 있고, DASH MPD 내에 포함되어 전송될 수도 있고, ISOBMFF 등의 파일 포맷에 box 형태로 포함되어 전달될 수도 있다. 360 비디오 관련 메타데이터가 box 형태로 포함되는 경우 파일, 프래그먼트, 트랙, 샘플 엔트리, 샘플 등등 다양한 레벨에 포함되어 해당되는 레벨의 데이터에 대한 메타데이터를 포함할 수 있다.
실시예에 따라, 후술하는 메타데이터의 일부는 시그널링 테이블로 구성되어 전달되고, 나머지 일부는 파일 포맷 내에 box 혹은 트랙 형태로 포함될 수도 있다.
실시예들에 따른 360 비디오 관련 메타데이터의 일 실시예에 의하면, 360 비디오 관련 메타데이터는 프로젝션 스킴 등에 관한 기본 메타데이터, 스테레오스코픽(stereoscopic) 관련 메타데이터, 초기 시점(Initial View/Initial Viewpoint) 관련 메타데이터, ROI 관련 메타데이터, FOV (Field of View) 관련 메타데이터 및/또는 크롭된 영역(cropped region) 관련 메타데이터를 포함할 수 있다. 실시예에 따라 360 비디오 관련 메타데이터는 전술한 것 외에 추가적인 메타데이터를 더 포함할 수 있다.
실시예들에 따른 360 비디오 관련 메타데이터의 실시예들은 전술한 기본 메타데이터, 스테레오스코픽 관련 메타데이터, 초기 시점 관련 메타데이터, ROI 관련 메타데이터, FOV 관련 메타데이터, 크롭된 영역 관련 메타데이터 및/또는 이후 추가될 수 있는 메타데이터들 중 적어도 하나 이상을 포함하는 형태일 수 있다. 실시예들에 따른 360 비디오 관련 메타데이터의 실시예들은, 각각 포함하는 세부 메타데이터들의 경우의 수에 따라 다양하게 구성될 수 있다. 실시예에 따라 360 비디오 관련 메타데이터는 전술한 것 외에 추가적인 정보들을 더 포함할 수도 있다.
기본 메타데이터에는 3D 모델 관련 정보, 프로젝션 스킴 관련 정보 등이 포함될 수 있다. 기본 메타데이터에는 vr_geometry 필드, projection_scheme 필드 등이 포함될 수 있다. 실시예에 따라 기본 메타데이터는 추가적인 정보들을 더 포함할 수도 있다.
vr_geometry 필드는 해당 360 비디오 데이터가 지원하는 3D 모델의 타입을 지시할 수 있다. 전술한 바와 같이 360 비디오 데이터가 3D 공간 상에 리-프로젝션되는 경우, 해당 3D 공간은 vr_geometry 필드가 지시하는 3D 모델에 따른 형태를 가질 수 있다. 실시예에 따라, 렌더링시에 사용되는 3D 모델은 vr_geometry 필드가 지시하는 리-프로젝션에 사용되는 3D 모델과 다를 수도 있다. 이 경우, 기본 메타데이터는 렌더링시에 사용되는 3D 모델을 지시하는 필드를 더 포함할 수도 있다. 해당 필드가 0, 1, 2, 3 의 값을 가지는 경우 3D 공간은 각각 구형(Sphere), 큐브(Cube), 실린더(Cylinder), 피라미드(Pyramid)의 3D 모델을 따를 수 있다. 해당 필드가 나머지 값을 가지는 경우는 향후 사용을 위해 남겨둘 수 있다(Reserved for Future Use). 실시예에 따라 360 비디오 관련 메타데이터는 해당 필드에 의해 지시되는 3D 모델에 대한 구체적인 정보를 더 포함할 수 있다. 여기서 3D 모델에 대한 구체적인 정보란 예를 들어 구형의 반지름 정보, 실린더의 높이 정보 등을 의미할 수 있다. 본 필드는 생략될 수 있다.
projection_scheme 필드는 해당 360 비디오 데이터가 2D 이미지 상에 프로젝션될 때 사용된 프로젝션 스킴을 지시할 수 있다. 해당 필드가 0, 1, 2, 3, 4, 5 의 값을 가지는 경우, 각각 등정방형 프로젝션(Equirectangular Projection) 스킴, 큐빅 프로젝션 스킴, 실린더형 프로젝션 스킴, 타일-베이스드(Tile-based) 프로젝션 스킴, 피라미드 프로젝션 스킴, 파노라믹 프로젝션 스킴이 사용되었을 수 있다. 해당 필드가 6 의 값을 가지는 경우는, 360 비디오 데이터가 스티칭 없이 바로 2D 이미지 상에 프로젝션된 경우일 수 있다. 해당 필드가 나머지 값을 가지는 경우는 향후 사용을 위해 남겨둘 수 있다(Reserved for Future Use). 실시예에 따라 360 비디오 관련 메타데이터는 해당 필드에 의해 특정되는 프로젝션 스킴에 의해 발생한 리전(Region)에 대한 구체적인 정보를 더 포함할 수 있다. 여기서 리전에 대한 구체적인 정보란 예를 들어 리전의 회전 여부, 실린더의 윗면(top) 리전의 반지름 정보 등을 의미할 수 있다.
스테레오스코픽 관련 메타데이터는 360 비디오 데이터의 3D 관련 속성들에 대한 정보들을 포함할 수 있다. 스테레오스코픽 관련 메타데이터는 is_stereoscopic 필드 및/또는 stereo_mode 필드를 포함할 수 있다. 실시예에 따라 스테레오스코픽 관련 메타데이터는 추가적인 정보들을 더 포함할 수도 있다.
is_stereoscopic 필드는 해당 360 비디오 데이터가 3D 를 지원하는지 여부를 지시할 수 있다. 해당 필드가 1 이면 3D 지원, 0 이면 3D 미지원을 의미할 수 있다. 본 필드는 생략될 수 있다.
stereo_mode 필드는 해당 360 비디오가 지원하는 3D 레이아웃을 지시할 수 있다. 본 필드만으로 해당 360 비디오가 3D 를 지원하는지 여부를 지시할 수도 있는데, 이 경우 전술한 is_stereoscopic 필드는 생략될 수 있다. 본 필드 값이 0 인 경우, 해당 360 비디오는 모노(mono) 모드일 수 있다. 즉 프로젝션된 2D 이미지는 하나의 모노 뷰(mono view) 만을 포함할 수 있다. 이 경우 해당 360 비디오는 3D 를 지원하지 않을 수 있다.
본 필드 값이 1, 2 인 경우, 해당 360 비디오는 각각 좌우(Left-Right) 레이아웃, 상하(Top-Bottom) 레이아웃에 따를 수 있다. 좌우 레이아웃, 상하 레이아웃은 각각 사이드-바이-사이드 포맷, 탑-바텀 포맷으로 불릴 수도 있다. 좌우 레이아웃의 경우, 좌영상/우영상이 프로젝션된 2D 이미지들은 이미지 프레임 상에서 각각 좌/우로 위치할 수 있다. 상하 레이아웃의 경우, 좌영상/우영상이 프로젝션된 2D 이미지들은 이미지 프레임 상에서 각각 위/아래로 위치할 수 있다. 해당 필드가 나머지 값을 가지는 경우는 향후 사용을 위해 남겨둘 수 있다(Reserved for Future Use).
초기 시점 관련 메타데이터는 사용자가 360 비디오를 처음 재생했을 때 보게되는 시점(초기 시점)에 대한 정보를 포함할 수 있다. 초기 시점 관련 메타데이터는 initial_view_yaw_degree 필드, initial_view_pitch_degree 필드 및/또는 initial_view_roll_degree 필드를 포함할 수 있다. 실시예에 따라 초기 시점 관련 메타데이터는 추가적인 정보들을 더 포함할 수도 있다.
initial_view_yaw_degree 필드, initial_view_pitch_degree 필드, initial_view_roll_degree 필드는 해당 360 비디오 재생 시의 초기 시점을 나타낼 수 있다. 즉, 재생시 처음 보여지는 뷰포트의 정중앙 지점이, 이 세 필드들에 의해 나타내어질 수 있다. 각 필드는 그 정중앙 지점이 위치를 yaw, pitch, roll 축을 기준으로 회전된 방향(부호) 및 그 정도(각도)로 나타낼 수 있다. 이 때 FOV 에 따라 처음 재생시 보여지게 되는 뷰포트가 결정될 수 있다. FOV 를 통하여, 지시된 초기 시점을 기준으로 한, 초기 뷰포트의 가로길이 및 세로길이(width, height) 가 결정될 수 있다. 즉, 이 세 필드들 및 FOV 정보를 이용하여, 360 비디오 수신 장치는 사용자에게 360 비디오의 일정 영역을 초기 뷰포트로서 제공할 수 있다.
실시예에 따라, 초기 시점 관련 메타데이터가 지시하는 초기 시점은, 장면(scene) 별로 변경될 수 있다. 즉, 360 컨텐츠의 시간적 흐름에 따라 360 비디오의 장면이 바뀌게 되는데, 해당 360 비디오의 장면마다 사용자가 처음 보게되는 초기 시점 내지 초기 뷰포트가 변경될 수 있다. 이 경우, 초기 시점 관련 메타데이터는 각 장면별로의 초기 시점을 지시할 수 있다. 이를 위해 초기 시점 관련 메타데이터는, 해당 초기 시점이 적용되는 장면을 식별하는 장면(scene) 식별자를 더 포함할 수도 있다. 또한 360 비디오의 장면별로 FOV 가 변할 수도 있으므로, 초기 시점 관련 메타데이터는 해당 장면에 해당하는 FOV 를 나타내는 장면별 FOV 정보를 더 포함할 수도 있다.
ROI 관련 메타데이터는 전술한 ROI 에 관련된 정보들을 포함할 수 있다. ROI 관련 메타데이터는, 2d_roi_range_flag 필드 및/또는 3d_roi_range_flag 필드를 포함할 수 있다. 두 필드는 각각 ROI 관련 메타데이터가 2D 이미지를 기준으로 ROI 를 표현하는 필드들을 포함하는지, 3D 공간을 기준으로 ROI 를 표현하는 필드들을 포함하는지 여부를 지시할 수 있다. 실시예에 따라 ROI 관련 메타데이터는, ROI 에 따른 차등 인코딩 정보, ROI 에 따른 차등 전송처리 정보 등 추가적인 정보들을 더 포함할 수도 있다.
ROI 관련 메타데이터가 2D 이미지를 기준으로 ROI 를 표현하는 필드들을 포함하는 경우, ROI 관련 메타데이터는 min_top_left_x 필드, max_top_left_x 필드, min_top_left_y 필드, max_top_left_y 필드, min_width 필드, max_width 필드, min_height 필드, max_height 필드, min_x 필드, max_x 필드, min_y 필드 및/또는 max_y 필드를 포함할 수 있다.
min_top_left_x 필드, max_top_left_x 필드, min_top_left_y 필드, max_top_left_y 필드는 ROI 의 좌측 상단 끝의 좌표의 최소/최대값을 나타낼 수 있다. 이 필드들은 차례로 좌상단 끝의 최소 x 좌표, 최대 x 좌표, 최소 y 좌표, 최대 y 좌표 를 나타낼 수 있다.
min_width 필드, max_width 필드, min_height 필드, max_height 필드는 ROI 의 가로 크기(width), 세로 크기(height)의 최소/최대값을 나타낼 수 있다. 이 필드들은 차례로 가로 크기의 최소값, 가로 크기의 최대값, 세로 크기의 최소값, 세로 크기의 최대값을 나타낼 수 있다.
min_x 필드, max_x 필드, min_y 필드, max_y 필드는 ROI 내의 좌표들의 최소/최대값을 나타낼 수 있다. 이 필드들은 차례로 ROI 내 좌표들의 최소 x 좌표, 최대 x 좌표, 최소 y 좌표, 최대 y 좌표 를 나타낼 수 있다. 이 필드들은 생략될 수 있다.
ROI 관련 메타데이터가 3D 랜더링 공간 상의 좌표 기준으로 ROI 를 표현하는 필드들을 포함하는 경우, ROI 관련 메타데이터는 min_yaw 필드, max_yaw 필드, min_pitch 필드, max_pitch 필드, min_roll 필드, max_roll 필드, min_field_of_view 필드 및/또는 max_field_of_view 필드를 포함할 수 있다.
min_yaw 필드, max_yaw 필드, min_pitch 필드, max_pitch 필드, min_roll 필드, max_roll 필드는 ROI 가 3D 공간상에서 차지하는 영역을 yaw, pitch, roll 의 최소/최대값으로 나타낼 수 있다. 이 필드들은 차례로 yaw 축 기준 회전량의 최소값, yaw 축 기준 회전량의 최대값, pitch 축 기준 회전량의 최소값, pitch 축 기준 회전량의 최대값, roll 축 기준 회전량의 최소값, roll 축 기준 회전량의 최대값을 나타낼 수 있다.
min_field_of_view 필드, max_field_of_view 필드는 해당 360 비디오 데이터의 FOV 의 최소/최대값을 나타낼 수 있다. FOV 는 360 비디오의 재생시 한번에 디스플레이되는 시야범위를 의미할 수 있다. min_field_of_view 필드, max_field_of_view 필드는 각각 FOV 의 최소값, 최대값을 나타낼 수 있다. 이 필드들은 생략될 수 있다. 이 필드들은 후술할 FOV 관련 메타데이터에 포함될 수도 있다.
FOV 관련 메타데이터는 전술한 FOV 에 관련한 정보들을 포함할 수 있다. FOV 관련 메타데이터는 content_fov_flag 필드 및/또는 content_fov 필드를 포함할 수 있다. 실시예에 따라 FOV 관련 메타데이터는 전술한 FOV 의 최소/최대값 관련 정보 등 추가적인 정보들을 더 포함할 수도 있다.
content_fov_flag 필드는 해당 360 비디오에 대하여 제작시 의도한 FOV 에 대한 정보가 존재하는지 여부를 지시할 수 있다. 본 필드값이 1인 경우, content_fov 필드가 존재할 수 있다.
content_fov 필드는 해당 360 비디오에 대하여 제작시 의도한 FOV 에 대한 정보를 나타낼 수 있다. 실시예에 따라 해당 360 비디오 수신 장치의 수직(vertical) 혹은 수평(horizontal) FOV 에 따라, 360 영상 중에서 사용자에게 한번에 디스플레이되는 영역이 결정될 수 있다. 혹은 실시예에 따라 본 필드의 FOV 정보를 반영하여 사용자에게 한번에 디스플레이되는 360 비디오의 영역이 결정될 수도 있다.
크롭된 영역 관련 메타데이터는 이미지 프레임 상에서 실제 360 비디오 데이터를 포함하는 영역에 대한 정보를 포함할 수 있다. 이미지 프레임은 실제 360 비디오 데이터 프로젝션된 액티브 비디오 영역(Active Video Area)과 그렇지 않은 영역을 포함할 수 있다. 이 때 액티브 비디오 영역은 크롭된 영역 또는 디폴트 디스플레이 영역이라고 칭할 수 있다. 이 액티브 비디오 영역은 실제 VR 디스플레이 상에서 360 비디오로서 보여지는 영역으로서, 360 비디오 수신 장치 또는 VR 디스플레이는 액티브 비디오 영역만을 처리/디스플레이할 수 있다. 예를 들어 이미지 프레임의 종횡비(aspect ratio) 가 4:3 인 경우 이미지 프레임의 윗 부분 일부와 아랫부분 일부를 제외한 영역만 360 비디오 데이터를 포함할 수 있는데, 이 부분을 액티브 비디오 영역이라고 할 수 있다.
크롭된 영역 관련 메타데이터는 is_cropped_region 필드, cr_region_left_top_x 필드, cr_region_left_top_y 필드, cr_region_width 필드 및/또는 cr_region_height 필드를 포함할 수 있다. 실시예에 따라 크롭된 영역 관련 메타데이터는 추가적인 정보들을 더 포함할 수도 있다.
is_cropped_region 필드는 이미지 프레임의 전체 영역이 360 비디오 수신 장치 내지 VR 디스플레이에 의해 사용되는지 여부를 나타내는 플래그일 수 있다. 즉, 본 필드는 이미지 프레임 전체가 액티브 비디오 영역인지 여부를 지시할 수 있다. 이미지 프레임의 일부만이 액티브 비디오 영역인 경우, 하기의 4 필드가 더 추가될 수 있다.
cr_region_left_top_x 필드, cr_region_left_top_y 필드, cr_region_width 필드, cr_region_height 필드는 이미지 프레임 상에서 액티브 비디오 영역을 나타낼 수 있다. 이 필드들은 각각 액티브 비디오 영역의 좌상단의 x 좌표, 액티브 비디오 영역의 좌상단의 y 좌표, 액티브 비디오 영역의 가로 길이(width), 액티브 비디오 영역의 세로 길이(height) 를 나타낼 수 있다. 가로 길이와 세로 길이는 픽셀을 단위로 나타내어질 수 있다.
도9는 3DoF+ VR 시스템에서 추가적으로 정의되는 위치(viewpoint)와 시점(viewing position)를 나타낸다.
본 발명은360 비디오 기반 VR 시스템은 전술한 360 비디오 처리 과정을 기반으로 360 비디오에 대하여 사용자의 위치를 기준으로 서로 다른 방향(viewing orientation)에 대한 시각적/청각적 경험을 제공할 수 있다. 이러한 방법을 3DoF (three degree of freedom) plus라고 명명할 수 있다. 구체적으로, 360 비디오에 대하여 사용자의 고정 위치에서의 서로 다른 방향에 대한 시작적/청각적 경험을 제공하는 VR 시스템은 3DoF 기반 VR 시스템이라고 불릴 수 있다.
한편, 동일 시간대에서 서로 다른 위치 (viewpoint), 서로 다른 시점(viewing position)에서의 서로 다른 방향에 대한 확장된 시각적/청각적 경험을 제공할 수 있는 VR 시스템은 3DoF+ 또는 3DoF plus 기반 VR 시스템라고 불릴 수 있다.
(a)와 같은 공간(공연장의 예)을 가정했을 때, 서로 다른 위치(붉은색 동그라미로 표시된 공연장의 위치의 예)를 각각의 viewpoint로 고려할 수 있다. 이 때, 예제와 같이 동일 공간에 존재하는 각 viewpoint에서 제공되는 영상/음성은 동일한 시간 흐름을 가질 수 있다.
이 경우 특정 위치에서 사용자의 시점 변화(head motion)에 따라 서로 다른 시각적/청각적 경험 제공할 수 있다. 즉, 특정 viewpoint에 대해 (b)에 도시된 바와 같은 다양한 viewing position의 sphere를 가정할 수 있으며, 각 시점의 상대적인 위치를 반영한 영상/음성/텍스트 정보를 제공할 수 있다.
한편, (c)에 도시된 바와 같이 특정 위치의 특정 시점에서는 기존의 3DoF와 같이 다양한 방향의 시각적/청각적 정보를 전달할 수 있다. 이 때, main source(영상/음성/텍스트) 뿐만 아니라 추가적인 다양한 소스를 통합하여 제공할 수 있으며, 이는 사용자의 시청 방향 (viewing orientation)과 연계되거나 독립적으로 정보를 전달할 수 있다.
도10은 3DoF+ 시스템에 기반한 360도 비디오 신호처리 및 관련 전송장치/수신장치 구현 방법에 대해서 도시한다.
도 10은 3DoF+ 의 영상획득, 전처리, 전송, (후)처리, 렌더링 및 피드백 과정을 포함한 3DoF+ end-to-end system 흐름도에 대한 예시이다. 각 구성요소는 하드웨어, 소프트웨어, 프로세서, 및/또는 그것들의 조합에 대응할 수 있다.
Acquisition: 360 비디오의 캡쳐, 합성 또는 생성 과정 등을 통한 360 비디오를 획득하는 과정을 의미할 수 있다. 이 과정을 통하여 다수의 위치에 대해 head motion에 따른 다수의 영상/음성 정보를 획득할 수 있다. 이 때, 영상 정보는 시각적 정보(texture) 뿐 아니라 깊이 정보(depth)를 포함할 수 있다. 이 때 a의 영상 정보 예시와 같이 서로 다른 촬영 위치(viewpoint)에 따른 서로 다른 시점(viewing position)의 복수의 정보를 각각 획득할 수 있다.
Composition: 영상/음성 입력 장치를 통해 획득한 정보 뿐 아니라 외부 미디어를 통한 영상(비디오/이미지 등), 음성(오디오/효과음향 등), 텍스트(자막 등)을 사용자 경험에 포함하기 위해 합성하기 위한 방법을 정의할 수 있다.
Pre-processing: 획득된 360 비디오의 전송/전달을 위한 준비(전처리) 과정으로서, 스티칭, 프로젝션, 리전별 패킹 과정 및/또는 인코딩 과정 등을 포함할 수 있다. 즉, 이 과정은 영상/음성/텍스트 정보를 제작자의 의도에 따라 데이터를 변경/보완 하기위한 전처리 과정 및 인코딩 과정이 포함될 수 있다. 예를 들어 영상의 전처리 과정에서는 획득된 시각 정보를 360 sphere 상에 매핑하는 작업(stitching), 영역 경계를 없애거나 색상/밝기 차이를 줄이거나 영상의 시각적 효과를 주는 보정 작업(editing), 시점에 따른 영상을 분리하는 과정(view segmentation), 360 sphere 상의 영상을 2D 영상으로 매핑하는 프로젝션 과정(projection), 영역에 따라 영상을 재배치 하는 과정 (region-wise packing), 영상 정보를 압축하는 인코딩 과정이 포함될 수 있다. B의 비디오 측면의 예시와 같이 서로 다른 촬영 위치(viewpoint)에 따른 서로 다른 시점(viewing position)의 복수의 프로젝션 영상이 생성될 수 있다.
Delivery: 준비 과정(전처리 과정)을 거친 영상/음성 데이터 및 메타데이터들을 처리하여 전송하는 과정을 의미할 수 있다. 서로 다른 촬영 위치(viewpoint)에 따른 서로 다른 시점(viewing position)의 복수의 영상/음성 데이터 및 관련 메타데이터를 전달하는 방법으로써 전술한 바와 같이 방송망, 통신망을 이용하거나, 단방향 전달 등의 방법을 사용할 수 있다.
Post-processing & composition: 수신된/저장된 비디오/오디오/텍스트 데이터를 디코딩하고 최종 재생을 위한 후처리 과정을 의미할 수 있다. 예를 들어 후처리 과정은 전술한 바와 같이 패킹 된 영상을 풀어주는 언패킹 및 2D 프로젝션 된 영상을 3D 구형 영상으로복원하는 리-프로젝션 과정 등이 포함될 수 있다.
Rendering: 3D 공간상에 리-프로젝션된 이미지/비디오 데이터를 렌더링하고 디스플레이하는 과정을 의미할 수 있다. 이 과정에서 영상/음성 신호를 최종적으로 출력하기 위한 형태로 재구성할 수 있다. 사용자의 관심영역이 존재하는 방향(viewing orientation), 시점(viewing position/head position), 위치(viewpoint)를 추적할 수 있으며, 이 정보에 따라 필요한 영상/음성/텍스트 정보만을 선택적으로 사용할 수 있다. 이 때, 영상 신호의 경우 사용자의 관심영역에 따라 c와 같이 서로 다른 시점을 선택할 수 있으며, 최종적으로 d와 같이 특정 위치에서의 특정 시점의 특정 방향의 영상을 출력할 수 있다.
Feedback: 디스플레이 과정에서 획득될 수 있는 다양한 피드백 정보들을 송신측으로 전달하는 과정을 의미할 수 있다. 본 실시예의 경우 사용자 관심영역의 방향(viewing orientation), 시점(viewing position), 위치(viewpoint)를 추정하고, 이를 기반으로 영상/음성을 재생할 수 있도록 피드백을 전달할 수 있다.
도11은 3DoF+ end-to-end 시스템의 구조를 나타낸다.
도11은 3DoF+ end-to-end 시스템 아키텍쳐의 예시이다. 도 11의 아키텍처에 의하여 전술된 바와 같이 3DoF+ 360 컨텐츠가 제공될 수 있다. 각 구성요소는 하드웨어, 소프트웨어, 프로세서, 및/또는 그것들의 결합에 대응할 수 있다. 도11의 전송 장치는 도2의 전송 장치를 구체적으로 표현한 것이고, 상호 보완하여 참조/대응될 수 있다. 도11의 수신 장치는 도2의 수신 장치를 구체적으로 표현한 것이고, 상호 보완하여 참조/대응될 수 있다.
360 비디오 전송 장치(소스, source라도 지칭 가능)는 크게 360 비디오(이미지)/오디오 데이터 획득이 이루어지는 부분 (acquisition unit), 획득된 데이터를 처리하는 부분 (video/audio pre-processor), 추가 정보를 합성하기 위한 부분(composition generation unit), 텍스트, 오디오 및 프로젝션된 360도 비디오를 인코딩하는 부분(encoding unit) 및 인코딩된 데이터를 인캡슐레이션하는 부분(encapsulation unit)으로 구성될 수 있다. 전술한 바와 같이 인코딩된 데이터는 비트스트림(bitstream) 형태로 출력될 수 있으며, 인코딩된 데이터는 ISOBMFF, CFF 등의 파일 포맷으로 인캡슐레이션되거나, 기타 DASH 세그먼트 등의 형태로 처리할 수 있다. 인코딩된 데이터는 디지털 저장 매체를 통하여 360 비디오 수신 장치로 전달될 수 있으며, 또는 비록 명시적으로 도시되지는 않았으나, 전술한 바와 같이 전송 처리부를 통하여 전송을 위한 처리를 거치고, 이후 방송망 또는 브로드밴드 등을 통하여 전송될 수 있다.
데이터 획득부(1100)는 센서의 방향(sensor orientation, 영상의 경우 viewing orientation), 센서의 정보 획득 시점(sensor position, 영상의 경우 viewing position), 센서의 정보 획득 위치(영상의 경우 viewpoint)에 따라 서로 다른 정보를 동시에 혹은 연속적으로 획득할 수 있으며, 이 때 비디오, 이미지, 오디오, 위치 정보 등을 획득할 수 있다.
데이터 획득부(1100)가 획득하는 데이터는 신(scene), 영상, 뷰, 픽쳐, 이미지/비디오, 오디오 등을 포함할 수 있고, 영상 데이터, 비디오 데이터 등으로 지칭될 수 있다. 획득부(1100)는 다양한 카메라 위치들의 다양한 카메라 뷰잉 포지션마다 데이터를 획득할 수 있다.
데이터를 인코딩하기 이전의 프로세스를 수행하는 장치/방법을 프리-프로세서/프리-프로세싱이라고 지칭할 수 있다.
프리-프로세서(1101)는 뎁스 처리부(1102), 이미지 처리부(1103), 패커(1104) 및/또는 서브픽쳐 제너레이터(1105)를 포함할 수 있다.
뎁스 처리부(1102)는 획득부(1100)가 획득한 뎁스 데이터들 추정(estimation)하고, 매칭하고, 회전하고, 프로젝션할 수 있다. 각각의 프로세스는 선택적으로 조합될 수 있다. 또한, 획득부(1100)가 획득한 오디오 데이터를 오디오 프리-프로세서(1106)가 전처리할 수 있고, 전처리된 오디오 데이터가 뎁스 처리부(1102)에 입력될 수 있다. 뎁스 처리부(1102)는 오디오 데이터에 기반하여 뎁스를 추정하거나 매핑하거나 로테이팅하거나 프로젝션할 수 있다. 뎁스 처리부(1102)는 에스티메이터, 매퍼, 로테이터, 프로젝터 등으로 지칭될 수 있다. 뎁스 처리부(1102)는 프로젝션된 픽쳐들을 생성할 수 있고, 픽쳐는 뎁스를 포함하는 데이터로, 뎁스 등으로 지칭될 수 있다. 뎁스 처리부(1102)는 이미지 데이터, 오디오 데이터 등에 기반하여 뎁스 데이터를 에스티메이션/매핑/로테이션/프로젝션할 수 있다.
이미지 처리부(1103)는 획득부(1100)로부터 이미지 데이터를 수신하여, 이미지 데이터는 스티칭하거나, 로테이팅하거나, 프로젝션할 수 있다. 각각의 프로세스는 선택적으로 조합될 수 있다. 이미지 처리부(1103)는 오디오 프리-프로세서(1106)로부터 전처리된 오디오 데이터에 기반하여 이미지를 스티칭/로테이팅/프로젝션할 수 있다. 이미지 처리부(1103)는 프로젝팅된 픽쳐들을 생성할 수 있다. 픽쳐는 텍스쳐를 포함하는 데이터로, 텍스쳐 등으로 지칭될 수 있다.
뎁스 처리부(1102) 및/또는 이미지 처리부(1103)는 각 프로세스에 관련된 시그널링 정보를 포함하는 비디오 메타데이터를 생성하여 비디오/이미지 인코더에 전달할 수 있다.
패커(1104)는 뎁스를 포함하는 프로젝션 픽쳐들 및/또는 텍스쳐를 포함하는 프로젝션 픽쳐들을 효율적으로 전송하기 위해서 패킹 픽쳐로 패킹(병합)할 수 있다. 이때, 비쥬얼 미디어 등에 기반하여 패킹이 수행될 수 있다. 패킹에 관련된 시그널링 정보를 포함하는 비디오 메타데이터가 생성될 수 있다. 패킹 픽쳐는 텍스쳐, 뎁스, 부가 데이터(오버레이) 등을 포함할 수 있다. 오버레이란, 패킹에 따라 패킹되는 픽쳐 간 겹치는 영역을 말한다.
서브-픽쳐 제너레이터(1105)는 패킹 픽쳐를 수신하여, 패킹 픽쳐를 서브-픽쳐들로 생성할 수 있다. 서브-픽쳐란, 픽쳐에 포함되는 부분 픽쳐를 의미할 수 있다. 서브-픽쳐 제너레이터(1105)는 뷰잉 포지션, 뷰포인트 메타데이터 등에 기반하여 패킹 픽쳐를 하나 또는 하나 이상의 서브-픽쳐로 분할할 수 있다. 서브-픽쳐 제터레이터(1105)는 서브-픽쳐 프로세스에 관한 시그널링 정보를 포함하는 비디오 메타데이터를 생성할 수 있다.
패커(1104) 및/또는 서브-픽쳐 제터레이터(1105)는 실시예들에 따라 선택적으로 적용될 수 있다.
로케이션 에스티메이터(1107)은 비디오 프리-프로세서(1101)과 연계되어, 획득부(1100)로부터 로케이션 데이터를 수신하여, 이미지 데이터에 기반하여 로케이션 데이터를 에스티메이션할 수 있다. 예측/추정된 로케이션 데이터는 컴포지션 제너레이터(1108)에 전달될 수 있다.
컴포지션 제너레이터(1108)는 프리-프로세서와 연계하여, 소스 외부로부터 입력 신호, 텍스트 미디어(자막 등), 비쥬얼 미디어(비디오, 이미지 등), 오디오 미디어(오디오, 사운드 이펙트 등) 수신하여 데이터의 구성에 관한 정보를 생성하여 파일/세그먼트 인캡슐레이터에 제공할 수 있다. 이로 인하여, 전송 장치(소스)는 수신 장치(싱크)에 데이터의 구성에 관한 정보를 전달할 수 있다.
텍스트 인코더(1109)는 로케이션, 컴포지션 정보, 오디오 데이터 등에 기반하여 텍스트 미디어를 인코딩할 수 있다. 인코딩된 텍스트 데이터는 비디오/이미지 인코더에 전달될 수 있다.
오디오 인코더(1110)는 전처리된 오디오 데이터를 인코딩할 수 있다. 오디오 인코더(1110)는 오디오 데이터를 인코딩된 비디오/이미지 데이터에 기반하여 인코딩할 수 있다. 인코딩된 오디오 데이터는 비디오/이미지 인코더, 텍스트 인코더 등에 전달뢸 수 있다.
비디오/이미지 인코더(1111)는 텍스쳐, 뎁스, 부가 정보 등을 포함하는 패킹 픽쳐, 서브-픽쳐(또는 서브픽쳐로 지칭 가능), 오디오 데이터, 텍스트 데이터, 비디오 메타데이터 등을 인코딩할 수 있다.
파일/세그먼트 인캡슐레이터(1112)는 인코딩된 비디오/이미지 데이터, 비디오 메타데이터, 컴포지션 정보, 수신 장치의 피드백 정보로서 파일 익스트랙터에 의해 제공되는 아이트랙킹, 헤드 포지션, 유저 선택 ROI영역 정보 등에 기반하여 비디오/이미지, 메타데이터, 부가정보 등을 포함하는 파일/세그먼트를 생성할 수 있다.
송신 장치는 파일에 기반하여 데이터를 전송하거나, DASH 에 기반하여 데이터를 전송할 수 있다.
구체적으로, 영상 데이터의 경우 텍스처 (texture) 및 깊이 정보(depth)를 각각 획득할 수 있으며, 각 컴포넌트의 특성에 따라 서로 다른 전처리 (video pre-processing)가 가능하다. 예를 들어 텍스처 정보의 경우 이미지 센서 위치 정보를 이용하여 동일 위치 (viewpoint)에서 획득한 동일 시점 (viewing position)의 서로 다른 방향 (viewing orientation)의 영상들을 이용하여 360 전방위 영상을 구성할 수 있으며, 이를 위해 영상 스티칭 (stitching) 과정을 수행할 수 있다. 또한 영상을 인코딩하기 위한 포맷으로 변경하기 위한 프로젝션(projection) 및/또는 리전별 팩킹을 수행할 수 있다. 깊이 영상의 경우 일반적으로 뎁스 카메라를 통해 영상을 획득할 수 있으며, 이 경우 텍스쳐와 같은 형태로 깊이 영상을 만들 수 있다. 혹은, 별도로 측정된 데이터를 바탕으로 깊이 데이터를 생성할 수도 있다. 컴포넌트 별 영상이 생성된 후 효율적인 압축을 위한 비디오 포맷으로의 추가 변환 (packing)을 하거나 실제 필요한 부분으로 나누어 재 구성하는 과정 (sub-picture generation)이 수행될 수 있다. Video pre-processing 단에서 사용된 영상 구성에 대한 정보는 video metadata로 전달된다.
획득된 데이터 (혹은 주요하게 서비스 하기 위한 데이터) 이외에 추가적으로 주어지는 영상/음성/텍스트 정보를 함께 서비스 하는 경우, 이들 정보를 최종 재생 시 합성하기 위한 정보를 제공할 필요가 있다. 컴포지션 생성부(Composition generation unit)에서는 제작자의 의도를 바탕으로 외부에서 생성된 미디어 데이터 (영상의 경우 비디오/이미지, 음성의 경우 오디오/효과 음향, 텍스트의 경우 자막 등)를 최종 재생 단에서 합성하기 위한 정보를 생성하며, 이 정보는 composition metadata로 전달된다.
각각의 처리를 거친 영상/음성/텍스트 정보는 각각의 인코더를 이용해 압축되고, 어플리케이션에 따라 파일 혹은 세그먼트 단위로 인캡슐레이션 된다. 이 때, 비디오, 파일 혹은 세그먼트 구성 방법에 따라 필요한 정보만을 추출(file extractor)이 가능하다.
또한 각 데이터를 수신기에서 재구성하기 위한 정보가 코덱 혹은 파일 포멧/시스템 레벨에서 전달되는데, 여기에서는 비디오/오디오 재구성을 위한 정보 (video/audio metadata), 오버레이를 위한 합성 정보 (composition metadata), 비디오/오디오 재생 가능 위치 (viewpoint) 및 각 위치에 따른 시점 (viewing position) 정보 (viewing position and viewpoint metadata) 등이 포함된다. 이와 같은 정보의 처리는 별도의 메타데이터 처리부를 통한 생성도 가능하다.
360 비디오 수신 장치(싱크, sink라고 지칭 가능)는 크게 수신된 파일 혹은 세그먼트를 디캡슐레이션하는 부분 (file/segment decapsulation unit), 비트스트림으로부터 영상/음성/텍스트 정보를 생성하는 부분 (decoding unit), 영상/음성/텍스트를 재생하기 위한 형태로 재구성하는 부분 (post-processor), 사용자의 관심영역을 추적하는 부분 (tracking unit) 및 재생 장치인 디스플레이로 구성될 수 있다.
수신 장치는 송신 장치의 역과정을 수행할 수 있다.
수신 장치는 비디오/이미지/오디오/메타데이터/텍스트/부가정보 등을 포함하는 데이터(비디오 데이터로 약칭할 수 있음)를 파일 및/또는 DASH딜리버리 형태로 수신할 수 있다.
파일/세그먼트 디캡슐레이터(1113)는 파일/세그먼트를 디캡슐레이션할 수 있다. 파일/세그먼트로부터 오디오 데이터, 비디오/이미지 데이터, 텍스트 데이터 등이 디캡슐레이팅될 수 있다. 디캡슐레이션을 통해 생성된 비트스트림은 데이터의 종류에 따라 영상/음성/텍스트 등으로 나뉘어 재생 가능한 형태로 개별적으로 디코딩될 수 있다.
오디오 디코더(1114)는 오디오 데이터를 디코딩할 수 있다.
비디오/이미지 디코더(1115)는 비디오/이미지 데이터를 디코딩할 수 있다. 비디오/이미지 디코더(1115)는 송신 장치에서 전송된 텍스트, 뎁스 및/또는 어버레이 등을 포함하는 패킹 픽쳐들을 디코딩/생성할 수 있다.
텍스트 디코더(1116)는 텍스트 데이터를 디코딩할 수 있다.
센서 및 인풋부 또는 트랙커(1117)는 센서 및 사용자의 입력 정보 등을 바탕으로 사용자의 관심 영역 (Region of interest)의 위치 (viewpoint), 해당 위치에서의 시점 (viewing position), 해당 시점에서의 방향 (viewing orientation) 정보를 생성하게 되며, 이 정보는 360 비디오 수신 장치의 각 모듈에서 관심 영역 선택 혹은 추출 등에 사용되거나, 관심 영역의 정보를 강조하기 위한 후처리 과정 등에 사용될 수 있다. 또한 360 비디오 전송 장치 에 전달되는 경우 효율적인 대역폭 사용을 위한 파일 선택 (file extractor) 혹은 서브 픽처 선택, 관심영역에 기반한 다양한 영상 재구성 방법 (viewport/viewing position / viewpoint dependent processing) 등에 사용될 수 있다. 오리엔테이션, 뷰포트, 뷰잉포지션, 메타데이터, 아이트랙킹, 헤드 포지션, 유저 선택 ROI 정보 등은 송신 장치에 피드백될 수 있고, 오디오 디코딩, 비디오/이미지 디코딩, 텍스트 디코딩에 제공될 수 있고, 언패킹/셀렉션, 텍스쳐/뎁스/오버레이 렌더링, 컴포지션, 부포트 제너레이션 등에 제공될 수 있다.
언패커/셀렉터(1118)는 송신 장치의 패커에 대응되고, 패커의 역과정을 수행할 수 있다. 패킹 픽쳐를 수신하여, 패킹 픽쳐로부터 프로젝션된 픽쳐들을 언패킹하고 선택할 수 있다. 언패킹/셀렉팅의 프로세스는 실시예들에 따라 선택적일 수 있다. 언패킹/셀렉팅은 오리엔테이션/뷰포트/뷰잉포지션/뷰포인트/메타데이터 등에 기반하여 수행될 수 있다.
텍스쳐 렌더러(1119), 뎁스 렌더러(1120), 오버레이 렌더러(1121)는 프로젝션된 픽쳐들로부터 각각 텍스쳐 데이터, 뎁스 데이터, 비디오 오버레이 데이터를 렌더링할 수 있다. 텍스쳐/뎁스/오버레이 렌더링은 파일/세그먼트에 포함된 메타데이터 및 트랙커로부터 수신한 오리엔테이션/뷰포트/뷰잉포지션/뷰포인트/메타데이터 등에 기반하여 수행될 수 있다. 오버레이 렌더러(1121)는 비디오 오버레이 데이터 및/또는 텍스쳐 오버레이 데이터를 렌더링할 수 있다.
컴포지셔너(1122)는 렌더링된 텍스쳐/뎁스/비디오, 텍스트 오버레이를 메타데이터, 오리엔테이션/뷰포트/뷰잉포지션/뷰포인트/메타데이터 등에 기반하여 구성을 조정할 수 있다.
뷰포트 제너레이터(1123)는 메타데이터, 오리엔테이션/뷰포트/뷰잉포지션/뷰포인트/메타데이터 등에 기반하여 구성된 데이터에 관한 뷰포트 정보를 생성할 수 있다.
디스플레이어(1124)는 뷰포트에 기반하여 비디오/이미지/텍스쳐/뎁스/텍스트 등을 포함하는 비디오 데이터를 디스플레이하여 사용자에게 뷰포트 기반 서비스를 제공할 수 있다.
수신 장치의 디코딩 이후의 프로세스(예를 들어, 언패킹/셀렉팅 내지 뷰포트 제너레이션)는 비디오 포스트-프로세싱 또는 비디오 포스트-프로세서에 대응될 수 있다.
오디오 데이터의 경우 오디오 디코딩(1114) 이후, 렌더링되어 스피커/헤드폰 등을 통해 사용자에게 비디오 데이터와 함께 제공될 수 있다.
구체적으로, 디코딩 된 영상 신호는 영상 구성 방법에 따라 다양한 처리 방법에 따라 처리될 수 있다. 360 비디오 전송 장치에서 영상 패킹이 이루어 진 경우 메타데이터를 통해 전달된 정보를 바탕으로 영상을 재구성 하는 과정이 필요하다. 이 경우 360 비디오 전송 장치에서 생성한 video metadata를 이용할 수 있다. 또한 디코딩 된 영상 내에 복수의 시청 위치 (viewpoint), 혹은 복수의 시점 (viewing position), 혹은 다양한 방향 (viewing orientation)의 영상이 포함된 경우 tracking 을 통해 생성된 사용자의 관심 영역의 위치, 시점, 방향 정보와 매칭되는 정보를 선택하여 처리할 수 있다. 이 때, 송신단에서 생성한 viewing position and viewpoint metadata가 사용될 수 있다. 또한 특정 위치, 시점, 방향에 대해 복수의 컴포넌트가 전달되거나, 오버레이를 위한 비디오 정보가 별도로 전달되는 경우 각각에 따른 렌더링 과정이 포함될 수 있다. 별도의 렌더링 과정을 거친 비디오 데이터(텍스처, 뎁스, 오버레이)는 합성 과정 (composition)을 거치게 되며, 이 때, 송신단에서 생성한 composition metadata가 사용될 수 있다. 최종적으로 사용자의 관심 영역에 따라 viewport에 재생하기 위한 정보를 생성할 수 있다.
디코딩 된 음성 신호는 오디오 렌더러 그리고/혹은 후처리 과정을 통해 재생 가능한 음성 신호를 생성하게 되며, 이 때 사용자의 관심 영역에 대한 정보 및 360 비디오 수신 장치에 전달된 메타데이터를 바탕으로 사용자의 요구에 맞는 정보를 생성할 수 있다.
디코딩 된 텍스트 신호는 오버레이 렌더러에 전달되어 서브타이틀 등의 텍스트 기반의 오버레이 정보로써 처리된다. 필요한 경우 별도의 텍스트 후처리 과정이 포함될 수 있다.
도12는 FLUS (Framework for Live Uplink Streaming)의 구조를 나타낸다.
위에서 기술한 송신단 및 수신단의 세부 블록은 FLUS (Framework for Live Uplink Streaming)에서의 source 와 sink의 기능으로 각각 분류할 수 있으며, 이 경우 아래와 같이 정보 획득 장치에서 source의 기능을 구현하고, 네트워크 상에서 sink의 기능을 구현하거나, 혹은 네트워크 노드 내에서 source / sink를 각각 구현할 수 있다. 네트워크 노드는 UE(user equipment)를 포함할 수 있다. UE는 상술한 360 비디오 전송 장치 또는 360 비디오 수신 장치를 포함할 수 있다.
위에서 기술한 아키텍처를 기반으로 한 송수신 처리 과정을 아래와 같이 나타낼 수 있다. 아래의 송수신 처리 과정은 영상 신호 처리 과정을 기준으로 기술하며, 음성 혹은 텍스트와 같은 다른 신호를 처리하는 경우 기울임(italic)으로 표시된 부분은 생략하거나, 음성 혹은 텍스트 처리 과정에 맞도록 변경하여 처리할 수 있다.
도13은 3DoF+ 송신단의 구성을 나타낸다.
상술한 도11의 송신 장치/방법(소스)의 구성이 도면과 같이 표현될 수 있다. 각 구성요소는 하드웨어/소프트웨어/프로세서/그것들의 조합에 대응될 수 있다. 도13의 송신 장치의 동작 설명은 도11의 설명을 참조할 수 있다. 각 구성요소/구성장치는 실시예들에 따라 선택적으로 조합된 구성으로 실시될 수 있다.
데이터 입력부(1300)는 데이터를 수신할 수 있다. 예를 들어, 360 3DOF+ 비디오 데이터가 입력될 수 있다.
컴포지션 정보 프로세서(컴포지션 정보 처리부, 1301)는 데이터의 구성에 관한 정보를 생성하여, 프로젝터(1305), 패커(1306), 서브 픽쳐 컨트롤러(1307), 데이터 인코더(1308) 등에 전달할 수 있다.
위치/시점/방향 정보 및 메타데이터 프로세서(처리부, 1302)는 위치(뷰포인트), 시점(뷰잉포지션), 방향(뷰잉 오리엔테이션) 정보 및 이와 관련된 메타데이터를 입력된 비디오 데이터 및/또는 피드백 정보에 기반하여 생성하고, 이하 송신 장치의 구성요소에 이를 전달할 수 있다. 각 구성요소(구성 장치)는 이러한 메타데이터에 기반하여 각 동작을 처리할 수 있다.
피드백 컨트롤러(피드백 처리부, 1303)는 수신 측으로부터 트랙킹에 관련된 피드백 정보를 수신하여 송신 장치에 전달할 수 있다.
스티쳐(1304)는 획득된 비디오 데이터를 이어 붙이는 병합 과정을 수행할 수 있다.
프로젝터(프로젝션 처리부, 1305)는 스티칭된 비디오 데이터를 픽쳐로 프로젝션할 수 있다. 예를 들어, 3D구면 좌표계 상에서 360 비디오/이미지 데이터를 스티쳐가 연속적으로 이어 붙이면, 프로젝터는 360 비디오/이미지 데이터를 (2D) 픽쳐로 프로젝션할 수 있다.
패커(패킹 처리부, 1306)는 프로젝션된 픽쳐들을 하나 또는 하나 이상의 패킹 픽쳐로 패킹(병합)할 수 있다. 복수의 픽쳐들을 효율적으로 인코딩하여 전송할 수 있게 적은 픽쳐로 모으는 과정이다.
서브 픽쳐 처리부(1307)는 패킹 픽쳐를 효율적으로 인코딩/전송하기 위해서 패킹 픽쳐를 영역으로 분할하여 복수의 서브-픽쳐들을 생성할 수 있다.
데이터 인코더(1308)는 컴포지션 정보, 위치/시점/방향/메타데이터 등에 기반하여 픽쳐 데이터를 인코딩할 수 있다.
인캡슐레이터(인캡슐레이션 처리부, 1309)는 위치/시점/방향/메타데이터 및 인코딩된 데이터를 인캡슐레이션할 수 있다. 위치/시점/방향/메타데이터에 기반하여 선택적으로 인코딩된 데이터를 인캡슐레이션할 수 있다.
파일 익스트랙터(파일 추출부, 1310)는 인캡슐레이션된 데이터를 파일 형태로 추출할 수 있다.
전송 프로세서(전송 처리부, 1311)는 최종적으로 전송하기 이전에 필요한 처리를 수행할 수 있다. 효율적인 전송을 위핸 셋팅을 추가적으로 수행할 수 있다.
트랜스미터(전송부, 1312)는 데이터를 최종적으로 수신 장치로 전송할 수 있다. 파일/세그먼트/비트스트림의 형태로 데이터가 전송될 수 있다.
구체적으로, 송신단(360 비디오 전송 장치)에서는 입력된 데이터가 카메라 출력 영상인 경우 sphere 영상 구성을 위한 스티칭을 위치/시점/컴포넌트 별로 진행할 수 있다. 위치/시점/컴포넌트 별 sphere 영상이 구성되면 코딩을 위해 2D 영상으로 프로젝션을 수행할 수 있다. 어플리케이션에 따라 복수의 영상을 통합 영상으로 만들기 위한 패킹 혹은 세부 영역의 영상으로 나누는 서브 픽처로 생성할 수 있다. 전술한 바와 같이 리전별 패킹 과정은 선택적(optional) 과정으로서 수행되지 않을 수 있으며, 이 경우 패킹 처리부는 생략될 수 있다. 입력된 데이터가 영상/음성/텍스트 추가 정보인 경우 추가 정보를 중심 영상에 추가하여 디스플레이 하는 방법을 알려줄 수 있으며, 추가 데이터도 함께 전송할 수 있다. 생성된 영상 및 추가된 데이터를 압축하여 비트 스트림으로 생성하는 인코딩 과정을 거쳐 전송 혹은 저장을 위한 파일 포맷으로 변환하는 인캡슐레이션 과정을 거칠 수 있다. 이 때 어플리케이션 혹은 시스템의 요구에 따라 수신부에서 필요로하는 파일을 추출하는 과정이 처리될 수 있다. 생성된 비트스트림은 전송처리부를 통해 전송 포맷으로 변환된 후 전송될 수 있다. 이 때, 송신측 피드백 처리부에서는 수신단에서 전달된 정보를 바탕으로 위치/시점/방향 정보와 필요한 메타데이터를 처리하여 관련된 송신부에서 처리하도록 전달할 수 있다.
도14는 3DoF+ 수신단의 구성을 나타낸다.
상술한 도11의 수신 장치/방법(싱크)의 구성이 도면과 같이 표현될 수 있다. 각 구성요소는 하드웨어/소프트웨어/프로세서/그것들의 조합에 대응될 수 있다. 도14의 수신 장치의 동작 설명은 도11의 설명을 참조할 수 있다. 각 구성요소/구성장치는 실시예들에 따라 선택적으로 조합된 구성으로 실시될 수 있다. 수신 장치의 각 동작은 송신 장치의 역과정을 따를 수 있다.
수신기(수신부, 1400)는 송신 장치가 송신한 데이터를 파일/세그먼트/비트스트림의 형태로 수신할 수 있다.
수신 컨트롤러/파일 추출기(1401)는 수신 프로세스에 관련된 처리를 수행하고, 수신된 파일을 추출(획득)할 수 있다.
디캡슐레이터(1402)는 파일/세그먼트를 디캡슐레이션할 수 있다.
메타데이터 파서(1403)는 수신한 비트스트림, 파일/세그먼트로부터 메타데이터를 파싱(획득)할 수 있다. 파서(1403)는 이하 각 수신 장치의 구성장치에 메타데이터를 전달할 수 있다.
피트백 컨트롤러(피드백 처리부, 1404)는 오리엔테이션/뷰포트/뷰잉포지션/뷰포인트 등에 관한 정보(피드백 정보)를 사용자로부터 획득하여, 수신 장치의 각 구성장치 및/또는 송신 장치의 각 구성장치에 전달할 수 있다. 피드백 정보에 기반혀, 송/수신 장치는 사용자가 원하는 영상을 인코딩/디코딩하여 제공할 수 있다.
데이터 디코더(1405)는 디캡슐레이션된 영상 데이터를 디코딩할 수 있다. 디코딩 프로세스는 메타데이터 파서로부터 획득된 메타데이터, 피드백 정보 등에 기반하여 처리될 수 있다.
언패커/셀렉터(1406)는 디코딩된 영상 데이터에 포함된 패킹 픽쳐를 언패킹하고 언패킹된 픽쳐들 중 특정 픽쳐(들)을 선택할 수 있다. 언패커/셀렉터의 동작은 영상의 종류 및 송/수신 장치의 정책에 따라서 선택적일 수 있다. 언패킹/셀렉팅 프로세스는 메타데이터 파서로부터 획득된 메타데이터, 피드백 정보 등에 기반하여 처리될 수 있다.
렌더러(1407)는 텍스쳐, 뎁스, 오버레이 등을 포함하는 비디오/이미지/오디오/텍스트 등의 영상 데이터를 렌더링할 수 있다. 렌더링 프로세스는 메타데이터 파서로부터 획득된 메타데이터, 피드백 정보 등에 기반하여 처리될 수 있다.
컴포지셔너(1408)는 렌더링된 영상 데이터의 구성을 디스플레이하기 이전에 설정할 수 있다. 컴포지션 프로세스는 메타데이터 파서로부터 획득된 메타데이터, 피드백 정보(특히, 영상 데이터의 구성에 관한 정보) 등에 기반하여 처리될 수 있다.
뷰포트 생성기(1409)는 영상 데이터를 디스플레이하기 이전에 디스플레이할 뷰포트를 생성할 수 있다. 사용자의 뷰포트에 부합하는 영상을 사용자에게 제공하기 위함이다.
디스플레이어(1410)는 뷰포트 정보에 기반하여 영상을 디스플레이할 수 있다.
구체적으로, 수신단(360 비디오 수신 장치)에서는 송신단에서 전달한 비트스트림을 수신한 후 필요한 파일을 추출할 수 있다. 생성된 파일 포맷 내의 영상 스트림을 피드백 처리부에서 전달하는 위치/시점/방향 정보 및 비디오 메타데이터를 이용하여 선별하며, 선별된 비트스트림을 디코더를 통해 영상 정보로 재구성할 수 있다. 패킹된 영상의 경우 메타데이터를 통해 전달된 패킹 정보를 바탕으로 언패킹을 수행할 수 있다. 송신단에서 패킹 과정이 생략된 경우, 수신단의 언패킹 또한 생략될 수 있다. 또한 필요에 따라 피드백 처리부에서 전달된 위치/시점/방향에 적합한 영상 및 필요한 컴포넌트를 선택하는 과정을 수행할 수 있다. 영상의 텍스처, 뎁스, 오버레이 정보 등을 재생하기 적합한 포맷으로 재구성하는 렌더링 과정을 수행할 수 있다. 최종 영상을 생성하기에 앞서 서로 다른 레이어의 정보를 통합하는 컴포지션 과정을 거칠 수 있으며, 디스플레이 뷰포트(viewport)에 적합한 영상을 생성하여 재생할 수 있다.
도 15는 OMAF 구조를 나타낸다.
도15의 송수신 장치/프로세스의 구성은 도2-3, 도11, 13-14의 구성장치/프로세스의 아키텍쳐를 요약하여 표현한 것이다. 도15의 각 구성장치는 2-3, 도11, 13-14의 설명을 참조하여 확장해석될 수 있다.
360 비디오 기반 VR 시스템은 360 비디오 처리 과정을 기반으로 360 비디오에 대하여 사용자의 위치를 기준으로 서로 다른 방향(viewing orientation)에 대한 시각적/청각적 경험을 제공할 수 있다. 360 비디오에 대하여 사용자의 고정 위치에서의 서로 다른 방향에 대한 시작적/청각적 경험을 제공하는 서비스를 3DoF 기반 서비스라고 불릴 수 있다. 한편, 동일 시간대에서 임의의 위치 및 시점(viewing position)에서의 서로 다른 방향에 대한 확장된 시각적/청각적 경험을 제공할 수 있는 서비스는 6DoF (six degree of freedom) 기반 서비스라고 불릴 수 있다.
3DoF service를 위한 File format은 예를 들면 도15에 도시된 바와 같이 Head/eye tracking 모듈에 따라 rendering의 위치, 전송할 file의 정보, decoding 정보 등이 달라질 수 있는 구조를 가지고 있다. 그러나, 이러한 방식은 사용자의 위치 혹은 position에 따라 rendering의 정보/전송 내용, decoding의 정보가 달라지는 6DoF의 media file 전송에는 적합하지 않기에 수정이 필요하다.
실시예들에 따른 비디오 송신 방법 비디오 데이터를 프로세싱하는 프리-프로세싱 단계, 비디오 데이터를 인코딩하는 단계, 및/또는 비디오 데이터를 포함하는 비트스트림을 전송하는 단계를 포함할 수 있다.
실시예들에 따른 비디오 수신 방법은 비디오 데이터를 수신하는 단계, 비디오 데이터를 디코딩하는 단계, 및/또는 비디오 데이터를 렌더링 하는 단계; 를 포함할 수 있다.
실시예들에 따른 프리-프로세싱, 전송, 수신, 디코딩, 렌더링 과정은 도2-3, 도11, 13-15, 18-20의 구성요소에 대한 상세 설명을 참조한다.
도16은 사용자의 이동에 따른 미디어의 종류를 나타낸다.
실시예들은 사용자에게 몰입형 미디어/실감미디어(Immersive media)의 경험을 제공하기 위해, 6DoF contents를 제공하는 방안을 제안한다. 몰입형 미디어/실감미디어는 기존의 360 콘텐츠가 제공하는 가상의 환경에서 확대된 개념으로 기존의 360 콘텐츠가 (a)와 같은 형태로 사용자의 position 위치는 고정되어 있고, 회전에 대한 개념만 있었다면 몰입형 미디어/실감미디어는 (b) 혹은 (c) 와 같이 사용자에게 콘텐츠를 경험할 때 이동의 개념을 부여함으로써 가상의 공간에서 사용자의 이동/회전 등 더 다양한 감각적 경험을 제공할 수 있는 환경 혹은 콘텐츠를 의미할 수 있다.
(a)는 사용자의 포지션이 고정된 상태에서 사용자의 뷰가 회전하는 경우의 미디어 경험을 나타낸다.
(b) 는 사용자의 포지션이 고정된 상태에서 나아가 사용자의 머리가 추가적으로 움직일 수 있는 경우의 미디어 경험을 나타낸다.
(c) 는 사용자의 포지션이 움직일 수 있는 경우의 미디어 경험을 나타낸다.
실감 미디어 콘텐츠는 해당 콘텐츠를 제공하기 위한 6DoF비디오 및 6DoF오디오를 포함할 수 있으며, 6DoF 비디오는 실감미디어 콘텐츠 제공에 필요한 매 이동 때마다 새롭게 형성되는 3DoF 혹은 360비디오로 캡쳐되거나 재생되는 비디오 혹은 이미지를 의미 할 수 있다. 6DoF 콘텐츠는 3차원 공간 상에 나타내어지는 비디오 내지 이미지를 의미할 수 있다. 콘텐츠 내에서 이동이 고정된 상태라면 해당 콘텐츠는 기존의 360비디오와 같이 다양한 형태의 3차원 공간에서 나타내어질 수 있다. 예를 들어 구형 (Spherical)면 상에 나타내어질 수 있다. 콘텐츠 내에서 이동이 자유로운 상태라면 이동 경로 상에 사용자를 중심으로 3차원 공간이 매번 새롭게 형성되고 해당 위치의 콘텐츠를 사용자가 경험할 수 있다. 예를 들어 사용자가 처음 보는 위치에서의 구형(spherical)면 상에 나타내어진 영상을 경험하고, 3차원 공간에서 실제 사용자가 이동을 하였다면 이동한 위치를 중심으로 새로운 구형(spherical)면의 영상이 형성되고 해당 콘텐츠를 소비할 수 있다. 6DoF 오디오도 마찬가지로 실감형 미디어를 경험할 수 있도록 하는 콘텐츠를 제공하기 위한 오디오 콘텐츠로, 음향의 소비하는 위치가 이동함에 따른 공간적(spatial)오디오를 새롭게 형성하고 소비하기 위한 콘텐츠를 의미할 수 있다.
본 발명은 특히 6DoF 비디오를 효과적으로 제공하는 방안을 제안한다. 6DoF 비디오는 서로 다른 위치에서 두 개 이상의 카메라로 캡처 될 수 있다. 캡처된 비디오는 일련의 과정을 거쳐 전송되고, 수신측에서는 수신된 데이터 중 일부를 사용자의 초기 위치를 원점으로 하는 360비디오로 가공하여 렌더링 할 수 있으며 사용자의 위치가 이동하면 이동한 위치를 중심으로 새로운 360 비디오를 가공하여 렌더링 함으로써 6DoF비디오가 사용자에게 제공될 수 있다.
이하에서, 6DoF 비디오 서비스 제공을 위한 송신 방법 및 수신 방법을 설명한다.
도 17은 6DoF 비디오 제공을 위한 전체 아키텍처를 나타낸다.
앞서 정리한 일련의 과정들을 도17을 바탕으로 구체적으로 설명하자면 먼저 획득(Acquisition)단계로 6DoF contents 를 캡처를 위해 HDCA(High Density Camera Array), Lenslet (microlens) camera 등이 사용될 수 있으며, 6DoF 비디오 캡처를 위해 디자인 된 새로운 디바이스로 획득 될 수 있다. 획득된 영상은 Fig.3a와 같이 캡처한 카메라의 위치에 따라 생성된 이미지/비디오 데이터 집합이 여러 개 생성될 수 있다. 이 때 캡처 과정에서 카메라의 내부/외부 설정 값 등의 메타메이타가 생성될 수 있다. 카메라가 아닌 컴퓨터로 생성된 영상의 경우 캡처 과정이 갈음될 수 있다. 획득된 영상의 전처리(pre-processing)과정은 캡처된 이미지/비디오 및 캡처 과정에서 전달된 메타데이타(metadata)를 처리하는 과정일 수 있다. 이 준비 과정에서는 스티칭(Stitching) 과정, 색보정(color correction)과정, 프로젝션 과정, 코딩 효율을 높이기 위해 주요 시점 (primary view)와 부차 시점(secondary view)로 분리 하는 시점 분리(view segmenation)과정 및 인코딩 과정 등 전송 전 콘텐츠를 처리하는 모든 형태의 전처리 단계가 해당될 수 있다.
스티칭 과정은 각 카메라의 위치에서 360 방향으로 캡처된 영상을 각각의 카메라 위치를 중심으로 하는 파노라마 혹은 구형의 형태로 영상을 잇는 이미지/비디오를 만드는 과정일 수 있다. 프로젝션은 각각의 스티칭 결과 영상을 Fig3b와 같이 2D 이미지로 투영 시키는 과정을 의미하며, 2D 이미지로 맵핑한다고 표현할 수 있다. 각 카메라 위치에서 맵핑한 영상은 주요시점과 부차 시점으로 분리 하여 비디오 코딩 효율을 높이기 위해 시점별 다른 해상도(resolution)를 적용할 수 있으며, 주요 시점 내에서도 맵핑 영상의 배치나 해상도(resolution)를 달리 함으로써 코딩 시 효율을 높일 수 있다. 부차 시점은 캡처 환경에 따라 없을 수도 있다. 부차 시점은 주요 시점에서 또 다른 주요 시점으로 사용자가 이동할 경우 이동 과정에서 재생되어야 하는 이미지/비디오를 의미하며 주요 시점에 비해 낮은 해상도를 가질 수도 있으나 필요에 따라 동일한 해상도를 가질 수도 있다. 때에 따라서는 부차 시점은 수신기에서 가상의 정보로 새롭게 생성 될 수 있다.
실시예에 따라 전처리 과정으로 에디팅(editing)과정 등을 더 포함할 수 있다. 이 과정에서 프로젝션 전 후의 이미지/비디오 데이터들에 대한 편집 등이 더 수행될 수 있으며, 전처리 과정에서도 메타메이타가 생성될 수 있다. 또한 이미지/비디오 제공시 가장 처음 재생해야 하는 초기 시점, 사용자의 초기 위치 및 ROI(Region of Interest)등에 관한 메타메이타가 생성될 수 있다.
미디어 전송 단계는 전처리 과정에서 얻어진 이미지/비디오 데이터 및 메타메이타들을 처리하여 전송하는 과정일 수 있다. 전송을 위해 임의의 전송 프로토콜에 따른 처리가 수행될 수 있으며, 전처리 된 데이터들은 방송망 및/또는 브로드밴드를 통해 전달될 수 있으며, 이 데이터들은 온디맨드(on demand) 방식으로 수신측으로 전달될 수 있다.
프로세싱 과정은 수신된 이미지/비디오 데이터 및 메타메이타를 디코딩, 3차원 모델로 맵핑 혹은 프로젝션이라고도 불릴 수 있는 리-프로젝션(re-projection) 하는 과정, 가상 시점의 생성 및 합성 과정 등 이미지/비디오를 재생하기 위한 이미지 생성 전 모든 단계가 프로세싱(processing) 단계에 포함될 수 있다. 맵핑 되는 3차원 모델 혹은 프로젝션 맵은 기존의 360비디오와 같이 구형(sphere), 큐브(cube), 실린더(cylinder), 또는 피라미드(pyramid)가 있을 수 있으며 기존의 360 비디오의 프로젝션 맵의 변형된 형태가 될 수 있으며, 경우에 따라 자유형 형태의 프로젝션 맵이 될 수 있다.
가상 시점의 생성 및 합성 과정은 주요 시점과 부차 시점 사이에 혹은 주요 시점과 주요 시점 사이에 사용자가 이동할 경우 재생되어야 하는 이미지/비디오 데이터를 생성하고 합성하는 과정을 의미할 수 있다. 가상 시점 생성을 위해 캡쳐 및 전처리 과정에서 전달된 메타메이타를 처리하는 과정이 필요할 수 있고, 경우에 따라서는 가상 시점에서 360 이미지/비디오 전체가 아닌 일부만 생성/합성할 수도 있다.
실시예에 따라 프로세싱 과정은 부가적으로 에디팅(editing)과정, 업스케일링(up scaling), 다운 스케일링(down scaling) 과정 등이 더 포함될 수도 있다. 에디팅 과정에서 프로세싱 과정 후에 재생 전 필요한 추가 편집 과정이 적용될 수 있다. 필요에 따라서는 전송 받은 이미지/비디오를 업스케일링 혹은 다운 스케일링 하는 작업이 수행될 수도 있다.
렌더링 과정은 전송 혹은 생성되어 리프로젝션 된 이미지/비디오를 디스플레이 할 수 있도록 렌더링 하는 과정을 의미할 수 있다. 때에 따라서는 렌더링과 리프로젝션 과정을 렌더링이라고 통칭하기도 한다. 따라서 렌더링 과정 중에 리프로젝션 과정이 포함될 수 있다. 리프로젝션은 fig.3c와 같은 형태로 사용자 중심의 360 비디오/이미지와 사용자가 이동 방향에 따라 각 이동한 위치를 중심으로 형성되는 360 비디오/이미지가 형성되는 형태로 다수의 리프로젝션 결과물이 있을 수 있다. 사용자는 디스플레이 할 디바이스에 따라 360 비디오/이미지의 일부 영역을 볼 수 있으며, 이 때 사용자가 보게 되는 영역은 fig.3d와 같은 형태가 될 수 있으며, 사용자가 이동하는 경우 전체 360 비디오/이미지가 렌더링 되는 것이 아니라 사용자가 보고 있는 위치에 해당되는 영상만 렌더링 될 수 있다. 또한 사용자의 위치와 이동 방향에 관한 메타메이타를 전달 받아 미리 움직임을 예측하고 이동할 위치의 비디오/이미지를 추가로 렌더링할 수 있다.
피드백 과정은 디스플레이 과정에서 획득될 수 있는 다양한 피드백 정보들을 송신 측으로 전달하는 과정을 의미할 수 있다. 피드백 과정을 통해 6DoF콘텐츠와 사용자간의 인터렉티비티 (interactivity)가 일어날 수 있으며, 실시예에 따라 피드백 과정에서 사용자의 머리와 포지션 위치 정보 (head/position orientation) 및 사용자가 현재 보고 있는 영역(viewport)에 대한 정보 등이 전달 될 수도 있다. 해당 정보는 피드백 과정에서 송신측 혹은 서비스 제공자 측에 전달 될 수 있으며, 실시예에 따라 피드백 과정은 수행되지 않을 수도 있다.
사용자의 위치 정보는 사용자의 머리 위치, 각도, 움직임 및 이동 거리 등에 대한 정보를 의미할 수 있으며, 해당 정보를 바탕으로 사용자가 보고 있는 위치(viewport) 정보가 계산 될 수 있다.
도18은 6DoF 비디오 서비스 제공을 위한 전송 장치의 구성을 나타낸다.
송신측에서의 본 발명은 6DoF 비디오 전송 장치와 관련 될 수 있다. 본 발명에 따른 6DoF 비디오 전송 장치는 전술한 준비 과정 및 동작들을 수행할 수 있다. 본 발명에 따른 6DoF 비디오/이미지 전송 장치는 데이터 입력부, 깊이 정보 처리부 (도시되지 않음), 스티처(Stitcher), 프로젝션 처리부, 시점 분리 처리부, 시점별 패킹 처리부, 메타메이타 처리부, 피드백 처리부, 데이터 인코더, 인캡슐레이션 처리부, 전송 처리부 및/또는 전송부를 내/외부 구성 요소로 포함할 수 있다.
데이터 입력부는 한 군데 이상의 위치에서 한 개 이상의 카메라로 캡쳐된 각 시점별 이미지/비디오/깊이정보/오디오 데이터를 입력 받을 수 있다. 데이터 입력부는 캡처 과정에서 발생된 메타메이타를 비디오/이미지/깊이정보/오디오 데이터와 함께 입력 받을 수 있다. 데이터 입력부는 입력된 각 시점별 비디오/이미지 데이터를 스티처로 전달하고, 캡쳐 과정에서 발생된 메타메이타를 메타메이타 처리부로 전달 할 수 있다.
스티처는 캡쳐된 시점별/위치별 이미지/비디오들에 대한 스티칭 작업을 수행할 수 있다. 스티처는 스티칭된 360 비디오 데이터를 프로젝션 처리부로 전달할 수 있다. 스티처는 필요한 경우 메타메이타 처리부로부터 전달받아 스티칭을 할 수 있다. 스티처는 스티칭 과정에서 발생한 메타메이타를 메타메이타 처리부로 전달 할 수 있다. 스티처는 깊이(depth)정보 처리부 (도식되지 않음) 에서 전달 받은 위치값을 활용하여 비디오/이미지 스티칭 위치를 다르게 할 수 있다. 스티처는 스티칭 과정에서 발생된 메타메이타를 처리부로 전달할 수 있다. 전달 되는 메타메이타는 스티칭 수행 여부, 스티칭 타입, 주요 시점(primary view)과 부차 시점(secondary view)의 ID 및 해당 시점의 위치 정보 등이 있을 수 있다.
프로젝션 처리부는 스티칭된 6DoF 비디오 데이터를 2D 이미지 프레임에 프로젝션할 수 있다. 프로젝션 처리부는 스킴(scheme)에 따라 다른 형태의 결과물을 얻을 수 있는데, 해당 스킴은 기존의 360비디오의 프로젝션 스킴과 유사할 수도 있고, 6DoF를 위해 새롭게 제안된 스킴이 적용 될수도 있다. 또한 각 시점별 서로 다른 스킴을 적용할 수 있다. 깊이 정보 처리부는 깊이 정보를 프로젝션 처리부로 전달하여 맵핑 결과 값을 다르게 할 수 있다. 프로젝션 처리부는 필요한 경우 메타메이타 처리부로부터 프로젝션에 필요한 메타메이타를 전달받아 프로젝션 작업에 이용할 수 있으며, 프로젝션 처리부는 프로젝션 과정에서 발생된 메타메이타를 메타메이타 처리부로 전달 할 수 있다. 해당 메타메이타는 스킴의 종류, 프로젝션 수행 여부, 주요시점과 부차 시점의 프로젝션 후의 2D 프레임의 ID 및 시점별 위치 정보 등이 있을 수 있다.
시점별 패킹 처리부는 전술한 바와 같이 주요 시점과 부차 시점으로 나누고, 각 시점 내 리전별 패킹 과정을 수행할 수 있다. 즉 시점별 패킹 처리부는 각 시점/위치별 프로젝션된 6DoF 비디오 데이터를 주요 시점과 부차 시점으로 분류하여 코딩 효율을 높이기 위해 주요 시점과 부차 시점을 다른 해상도를 가질 수 있도록 하거나 각 시점의 비디오 데이터를 회전, 재배열 달리하고 각 시점 안에서 나누어진 리전별 해상도를 다르게 할 수도 있다. 주요 시점과 부차 시점을 분류하는 과정은 생략될 수 있으며, 선택적인 과정일 수 있으며, 리전별 다른 해상도를 가지거나 배치를 다르게 하는 것도 선택적으로 수행될 수 있다. 시점별 패킹 처리부가 수행될 경우에 패킹은 메타메이타 처리부로부터 전달 받은 정보를 활용하여 수행 될 수 있으며, 패킹 과정에서 발생한 메타메이타를 메타메이타 처리부로 전달 할 수도 있다. 시점별 패킹 처리 과정에서 정의되는 메타메이타는 주요 시점과 부차 시점을 분류하기 위한 각 시점의 ID와 시점 내 리전별 적용되는 사이즈, 회전 각 리전별 위치 값 등이 될 수 있다.
전술한 스티처, 프로젝션 처리부 및/또는 시점별 패킹 처리부는 실시예에 따라 하나 이상의 하드웨어 컴포넌트 혹은 스트리밍/다운로드 서비스 내의 인제스트 서버(Ingest server)에서 일어날 수도 있다.
메타메이타 처리부는 캡쳐 과정, 스티칭 과정, 프로젝션 과정, 시점별 패킹 과정, 인코딩 과정, 인캡슐레이션 과정 및/또는 전송을 위한 처리 과정에서 발생할 수 있는 메타메이타들을 처리할 수 있다. 메타메이타 처리부는 각 프로세스에서 전달 받은 메타메이타를 활용하여 6DOF 비디오 서비스를 위한 새로운 메타메이타를 생성할 수 있다. 실시예에 따라 메타메이타 처리부는 새롭게 생성된 메타메이타를 시그널링 테이블의 형태로 생성할 수도 있다. 메타메이타 처리부는 전달받거나 메타메이타 처리부에서 새롭게 생성/가공된 메타메이타를 다른 요소들에 전달 할 수 있다. 메타메이타 처리부는 생성되거나 전달 받은 메타메이타를 수신측으로 전송될 수 있도록 데이터 인코더, 인캡슐레이션 처리부 및/또는 전송 처리부에 전달 할 수 있다.
데이터 인코더는 2D 이미지 프레임 상에 프로젝션 된 6DoF 비디오 데이터 및/또는 시점별/리전별 패킹된 비디오 데이터를 인코딩 할 수 있다. 인코딩은 다양한 포맷으로 수행 될 수 있으며, 시점별 분류가 되었다면, 시점별 인코딩 결과 값을 분리하여 전달 할 수도 있다.
인캡슐레이션 처리부는 인코딩된 6DoF 비디오 데이터 및/또는 관련 메타메이타를 파일 등의 형태로 인캡슐레이션 할 수 있다. 관련 메타메이타는 전술한 메타메이타 처리부로부터 전달 받을 수 있다. 인캡슐레이션 처리부는 해당 데이터를 ISOBMFF, OMAF 등의 파일 포맷으로 인캡슐레이션 하거나 DASH 세그먼트 등의 형태로 처리할 수 있으며, 새로운 형태의 파일 포맷으로 처리될 수도 있다. 메타메이타는 파일 포맷 내 다양한 레벨에 존재하는 박스(box)에 포함되거나 별로의 트랙내의 데이터로 포함하거나 메타메이타만 파일로 인캡슐레이션 할 수 있다. 시점별 별도의 인캡슐레이션 처리가 가능할 수도 있고, 시점별 필요한 메타메이타와 해당 비디오 정보를 함께 인캡슐레이션 할 수도 있다.
전송 처리부는 포맷에 따라 인캡슐레이션된 비디오 데이터에 전송을 위한 추가 처리를 가할 수 있다. 해당 처리는 메타메이타 처리부에서 전달 받은 메타메이타를 활용하여 작동할 수 있다. 전송부는 전송 처리부로부터 전달 받은 데이터 및/또는 메타메이타를 방송망 및/또는 브로드밴드를 통해 전송될 수 있다. 전송부는 방송망및/또는 브로드밴드를 통한 전송 시 필요한 구성 요소가 포함될 수 있다.
피드백 처리부(송신측)는 및/또는 네트워크 인터페이스(도시되지 않음)를 추가로 더 포함할 수 있다. 네트워크 인터페이스는 본 발명에서 후술 되는 수신 장치로부터 피드백 정보를 전달 받고 피드백 처리부(송신측) 으로 전달 할 수 있다. 피드백 처리부는 수신측에서 전달받은 정보를 스티칭, 프로젝션, 시점별 패킹, 인코터, 인캡슐레이션 처리부 및/또는 전송 처리부로 전달 할 수 있으며, 메타메이타 처리부로 전달하여 메타메이타 처리부가 다른 요소들에 전달하거나 메타메이타 처리부에서 새로운 메타메이타를 생성/가공하여 전달 할 수 있다. 본 발명의 또 다른 실시예에 따르면 피드백 처리부가 네트워크 인터페이스로부터 전달 받은 위치/시점 정보를 메타메이타 처리부로 전달하며, 메타메이타 처리부는 프로젝션, 시점별 패킹 처리부, 인캡슐레이션 처리부 및/또는 데이터 인코더로 해당 위치/시점 정보를 전달하여 현재 사용자의 시점/위치에 맞는 정보와 주변 정보만을 전송하여 코딩 효율을 높일 수 있다.
전술한 6DoF비디오 전송 장치의 구성 요소들은 하드웨어로 구현되는 하드웨어 구성 요소 일 수 있다. 실시예에 따라 각 구성요소들은 변경, 생략 되거나 새로운 구성요소를 추가 혹은 다른 구성요소로 대체, 통합될 수 있다.
도19는 6DoF 비디오 수신 장치의 구성을 나타낸다.
본 발명은 수신 장치와 관련될 수 있다. 본 발명에 따르면 6DoF 비디오 수신 장치는 수신부, 수신 처리부, 디캡슐레이션 처리부, 메타메이타 파서, 피드백 처리부, 데이터 디코더, 리-프로젝션 처리부, 가상시점 생성/합성부 및/또는 렌더러를 구성요소로 가질 수 있다.
수신부는 전술한 6DoF송신 장치로부터 비디오 데이터를 수신할 수 있다. 비디오 데이터가 전송되는 채널에 따라 수신부는 방송망 또는 브로드밴드를 통해 수신할 수도 있다.
수신 처리부는 수신된 6DoF 비디오 데이터에 대해 전송 프로토콜에 따른 처리를 수행할 수 있다. 수신 처리부는 전송 처리부에서 수행된 과정의 역순으로 수행하거나 프로토콜 처리 방법에 따른 과정을 거쳐 전송 처리부 이전 단계에서 얻은 데이터를 획득한다. 수신 처리부는 획득한 데이터를 디캡슐레이션 처리부로 전달하고, 수신부로 부터 받은 메타메이타 정보를 메타메이타 파서로 전달할 수 있다.
디캡슐레이션 처리부는 수신 처리부로부터 전달받은 파일 형태의 6DoF 비디오 데이터를 디캡슐레이션할 수 있다. 디캡슐레이션 처리부는 해당 파일 포맷에 맞추어 파일들을 디캡슐레이션하여, 6DoF 비디오 및/또는 메타메이타를 획득할 수 있다. 획득된 6DoF 비디오 데이터는 데이터 디코더로 보낼 수 있고, 6DoF 메타메이타는 메타메이타 파서로 전달할 수 있다. 디캡슐레이션 처리부는 필요에 따라 메타메이타 파서로부터 디캡슐레이션에 필요한 메타메이타를 전달받을 수도 있다.
데이터 디코더는 6DoF 비디오 데이터에 대한 디코딩을 수행할 수 있다. 데이터 디코더는 메타메이타 파서로부터 디코딩에 필요한 메타메이타를 전달 받을 수 있다. 데이터 디코딩 과정에서 획득 된 메타메이타는 메타메이타 파서로 전달되어 처리될 수 있다.
메타메이타 파서는 6DoF 비디오 관련 메타메이타에 대한 파싱/디코딩을 수행할 수 있다. 메타메이타 파서는 획득한 메타메이타를 디캡슐레이션 처리부, 데이터 디코더, 리-프로젝션 처리부, 가상 시점 생성/합성부 및/또는 렌더러로 전달 할 수도 있다.
리-프로젝션 처리부는 디코딩된 6DoF 비디오 데이터에 대하여 리-프로젝션을 수행할 수 있다. 리-프로젝션 처리부는 각 시점/위치별 6DoF 데이터를 각각 3차원 공간으로 리-프로젝션할 수 있다. 3차원 공간은 사용되는 3차원 모델에 따라 다른 형태를 가질 수도 있고, 변환 과정을 거처 동일한 형태의 3차원 모델로 리-프로젝션 될 수도있다. 리-프로젝션 처리부는 메타메이타 파서로부터 필요한 메타메이타를 전달 받을 수 있다. 리-프로젝션 과정에서 정의된 메타메이타를 메타메이타 파서로 전달할 수도 있다. 예를 들어 각 시점/위치 별 6DoF 비디오 데이터의 3차원 모델을 메타메이타 파서로 전달 받을 수 있고, 각 시점/위치별 비디오 데이터의 3차원 모델이 다르고 모든 시점의 비디오 데이터를 동일한 3차원 모델로 리-프로젝션 되었을 경우 어떤 모델이 적용 되었는지 메타메이타 파서로 전달할 수 있다. 때에 따라서는 리-프로젝션에 필요한 메타메이타를 이용하여, 3차원 공간 내에 특정 영역만 리-프로젝션 할 수 있으며, 한 개 이상의 특정 영역을 리-프로젝션 할 수도 있다.
가상 시점 생성/합성부는 전송되어 리-프로젝션 된 3차원 공간상에서 수신된 6DoF 비디오 데이터에 포함되어 있지 않으나 재생이 필요한 가상의 시점 영역에서 비디오 데이터를 주어진 데이터를 활용하여 생성하고, 가상 시점을 중심으로 새로운 시점/위치에서의 비디오 데이터를 합성하는 과정을 수행할 수 있다. 새로운 시점의 비디오 데이터를 생성할 때 깊이(depth)정보 처리부 (도시하지 않음)의 데이터를 활용할 수 있다. 가상 시점 생성/합성부는 메타메이타 파서로부터 전달 받은 특정 영역과 수신 되지 않은 주변 가상 시점 영역의 일부만 생성/합성 할 수 있다. 가상 시점 생성/합성부는 선택적으로 수행될 수 있으며, 필요한 시점 및 위치에 해당하는 비디오 정보가 없을 때 수행된다.
렌더러는 리-프로젝션 혹은 가상 시점 생성/합성부에서 전달된 6DoF 비디오 데이터를 렌더링 할 수 있다. 전술 한 바와 같이 3차원 공간상에서 리-프로젝션 혹은 가상 시점 생성/합성부에서 일어나는 모든 과정은 렌더러와 통합되어 렌더러 내에서 이 과정들이 진행될 수 있다. 실시예에 따라 사용자의 시점/위치 정보에 따라 사용자가 보고 있는 부분 및 예상 경로 상의 일부만 렌더링 할 수도 있다.
본 발명에서 피드백 처리부(수신측) 및/또는 네트워크 인터페이스(도시되지 않음)을 추가적인 구성요소로 포함할 수 있다. 수신측 피드백 처리부는 렌더러, 가상 시점 생성/합성부, 리-프로젝션 처리부, 데이터 디코더, 디캡슐레이션 및/또는 VR 디스플레이로부터 피드백 정보를 획득하여 처리할 수 있다. 피드백 정보는 사용자의 뷰포트 정보, 헤드 및 포지션 오리엔테이션 정보, 게이즈(gaze) 정보, 제스처(gesture) 정보 등을 포함할 수 있다. 네트워크 인터페이스는 피드백 정보를 피드백 처리부로부터 전달 받고, 전송 장치로 전송할 수 있으며, 수신측의 각 구성요소에서 소비될 수도 있다. 예를 들면, 디캡슐레이션 처리부에서는 피드백 처리부로 부터 사용자의 위치/시점 정보를 전달 받아 수신된 6DoF 비디오 중에 해당 위치의 정보가 있을 경우 해당 위치 정보만 디캡슐레이션, 디코딩, 리-프로젝션, 렌더링을 할 수 있다. 만약 해당 위치의 정보가 없을 경우 해당 위치 주변에 위치한 6DoF 비디오를 모두 디캡슐레이션, 디코딩, 리-프로젝션, 가상 시점 생성/합성, 렌더링의 과정을 거칠 수 있도록 할 수 있다.
전술한 6DoF비디오 수신 장치의 구성 요소들은 하드웨어로 구현되는 하드웨어 구성 요소 일 수 있다. 실시예에 따라 각 구성요소들은 변경, 생략 되거나 새로운 구성요소를 추가 혹은 다른 구성요소로 대체, 통합될 수 있다.
도20은 6 DoF 비디오 전송/수신 장치의 구성을 나타낸다.
6DoF 콘텐츠는 파일 형태로 제공되거나 DASH 등과 같이 세그먼트(segment) 기반 다운로드 또는 스트리밍 서비스의 형태로 제공될 수 있으며, 새로운 파일 포맷 혹은 스트리밍/다운로드 서비스 방법이 대신 쓰일 수도 있다. 여기서 6DoF 콘텐츠는 실감미디어(immersive media) 콘텐츠 혹은 라이트필드(light field) 콘텐츠, 혹은 포인트 클라우드(point cloud) 콘텐츠로 불릴 수 있다.
전술한 바와 같이 해당 파일 제공 및 스트리밍/다운로드 서비스를 위한 각 과정은 아래와 같이 상세하게 설명될 수 있다.
Acquisition : multi view/stereo/depth image를 획득하기 위한 camera 로 부터 capture 후 얻어지는 output 이며, 2개 이상의 video/image및 오디오 데이터가 얻어지게 되고, depth camera가 있는 경우 각 scene에서의 depth map도 획득(acquisition) 될 수 있다.
Audio Encoding : 6DoF 오디오 데이터는 오디오 전처리 과정, 인코딩 과정을 거칠 수 있다. 이 과정에서 메타메이타가 생성될 수 있으며, 관련 메타메이타는 전송을 위해 인캡슐레이션/인코딩 과정을 거칠 수 있다.
Stitching, Projection, mapping, and correction : 6DoF 비디오 데이터는 전술한 바와 같이 다양한 위치에서 획득된 영상의 에디팅, 스티칭, 프로젝션 과정을 거칠 수 있다. 이 과정은 실시예에 따라 일부만 수행되기도 하고, 전체가 생략되어 수신기측에서 수행 될 수도 있다.
View segmentation/packing : 전술한 바와 같이 시점 분리/패킹 처리부는 스티칭 된 영상을 바탕으로 수신기 측에서 요구 되는 주요 시점,Primary View(PV) 위치의 영상을 분리해 내어 패킹 하고, 주요 시점으로 분리되어 패킹 된 후 나머지 영상을 부차 시점, Secondary View(SV)로 패킹하는 전처리 과정을 거칠 수 있다. 패킹하는 과정에서 코딩 효율을 높이기 위해 주요 시점과 부차 시점의 사이즈, 해상도 등이 조정될 수 있다. 동일한 성격의 시점 내에서도 리전별 다른 조건으로 해상도를 가지거나 리전에 따라 회전, 재배치 될 수 있다.
Depth sensing and/or estimation: 깊이 캡처 카메라 (depth camera)가 존재하지 않는 경우 획득된 2개 이상의 영상에서 깊이 맵을 추출해 내는 과정을 수행하기 위함이며 깊이 캡처 카메라 (depth camera)가 있는 경우 영상 획득 위치에서 영상 내 포함된 각 오브젝트(object)의 깊이가 얼만큼 되는지 위치 정보를 저장하기 위한 과정을 수행할 수 있다.
Point Cloud Fusion/extraction 미리 획득 된 깊이 맵을 인코딩 가능한 형태의 데이터로 변형하는 과정을 수행할 수 있다. 예를 들어 포인트 클라우드 데이터 타입으로 변형하여 3차원에서 영상의 각 오브젝트의 위치 값을 할당하는 전처리 과정을 수행할 수 있으며, 포인터 클라우드 데이터 타입이 아닌 3차원 공간 정보를 표현할 수 있는 데이터 타입이 대신 적용될 수 있다.
PV encoding/SV encoding/light field/point cloud encoding : 시점별로 미리 패킹되거나 깊이 정보 및/또는 위치 정보는 각각 이미지 인코딩 내지 비디오 인코딩 될 수 있다. 동일한 시점의 같은 콘텐츠라도 리전별로 다른 비트 스트림으로 인코딩될 수도 있다. MPEG-I에서 정의될 새로운 codec 및 HEVC-3D, OMAF++ 등 media format이 될 수 있다.
File encapsulation : 전술한 대로 인코딩된 6DoF 비디오 데이터는 인캡슐레이션 처리부인 File-encapsulation에 의해 ISOBMFF 등의 파일 포맷으로 처리될 수 있다. 또는 인코딩 된 6DoF 비디오 데이터는 세그먼트들로 처리할 수 있다.
Metadata(including depth information) : 6DoF 비디오 데이터 처리와 같이 획득, 스티칭, 프로젝션, 시점별 분리/패킹, 인코딩, 인캡슐레이션 과정중에 발생한 메타메이타를 메타메이타 처리부로 전달하거나 메타메이타 처리부에서 생성된 메타메이타를 각 과정으로 전달 할 수 있다. 또한 송신측에서 생성된 메타메이타는 인캡슐레이션 과정에서 하나의 트랙 혹은 파일로 생성하여 수신측으로 전달 할 수 있다. 수신측에서는 방송망이나 브로드밴드를 통해 별도의 파일 혹은 파일 내 트랙으로 저장되어 있는 메타메이타를 수신할 수 있다.
Delivery : 파일 및/또는 세그먼트들은 DASH 혹은 유사한 기능을 가진 새로운 모델을 기반으로 전송을 위한 개별 트랙에 포함될 수 있다. 이때 전송을 위해 MPEG DASH, MMT및/또는 새로운 표준이 적용될 수 있다.
File decapsulation : 수신 장치는 6DoF 비디오/오디오 데이터 수신을 위한 처리를 수행할 수 있다.
Audio deconding/Audio rendering/Loudspeakers/headphones : 6DoF 오디오 데이터는 오디오 디코딩, 렌더링 과정을 거쳐 스피커, 헤드폰을 통해 사용자에게 제공될 수 있다.
PV/SV/light field/point cloud decoding : 6DoF 비디오 데이터는 이미지 내지 비디오 디코딩 할 수 있다. 디코딩에 적용되는 코덱은 HEVC-3D, OMAF++ 및 MPEG에서 6DoF를 위해 새롭게 제안되는 코덱이 적용될 수 있다. 이 때 주요 시점(PV)와 부차 시점(SV)이 분리되어 각 시점 패킹 내에서 비디오 내지 이미지가 각각 디코딩 될 수 있고, 시점 분류와 상관없이 비디오 내지 이미지 디코딩이 될 수 있다. 또한 위치, 깊이 정보를 가지고 있는 라이트필드와 포인트 클라우드 디코딩이 먼저 이루어지고나서 헤드, 포지션, 시선 트래킹의 피드백을 먼저 전달하고 사용자가 위치한 주변부 시점의 이미지 내지 비디오만 분리해 내어 디코딩 될 수도 있다.
Head/eye/position tracking : 전술한 바와 같이 사용자의 헤드, 포지션, 게이즈, 뷰포트 정보 등을 획득, 처리할 수 있다.
Point Cloud rendering : 캡쳐한 비디오/이미지 데이터를 3차원 공간상에 리-프로젝션 할 때 3차원의 공간 위치를 설정하고, 수신한 비디오/이미지 데이터에서 확보하지 못하였으나 사용자가 이동 가능한 위치인 가상 시점의 3차원 공간을 생성하는 과정을 수행한다.
Virtual view synthesis : 전술한 바와 같이 사용자가 위치한 공간에 6DoF 비디오 데이터가 없을 경우 사용자 위치/시점 주변에 이미 확보된 6DoF 비디오 데이터를 활용하여 새로운 시점의 비디오 데이터를 생성하고 합성하는 과정을 수행한다. 실시예에 따라 가상 시점 생성 및/또는 합성 과정은 생략될 수 있다.
Image composition, and rendering : 전술한 바와 같이 사용자의 위치를 중심으로 한 영상을 렌더링 하기 위한 과정으로 사용자의 위치 및 시선에 따라 디코딩 된 비디오 데이터를 이용하거나 가상 시점 생성/합성으로 만들어진 사용자 주변의 비디오 및 이미지를 렌더링 할 수 있다.
도21은 6DoF 공간을 나타낸다.
본 발명에서 프로젝션 전 또는 리-프로젝션 후의 6DoF 공간에 대해 기술하고 그에 대한 시그널링을 수행하기 위하여 도 21과 같은 개념을 사용할 수 있다.
6DoF 공간은 360비디오 혹은 3DoF 공간이 야(Yaw), 피치(Pitch), 롤(Roll)로 설명할 수 있는 것과 달리 이동의 방향을 레이셔널(rational)과 트렌스레이션(translation) 두 종류로 나뉠 수 있다. 레이셔널 이동은 a와 같이 기존의 3DoF 의 방향을 설명한 것과 마찬가지로 야, 피치, 롤 로 설명할 수 있으며 방향의 이동(orientation movement)으로 불릴 수도 있다. 반면 트렌스레이션 이동의 경우는 b와 같이 포지션의 이동으로 불릴 수 있다. 왼쪽/오른쪽(Left/Right), 앞/뒤(Forward/Backward), 위/아래(Up/down) 방향 중 축이 어디로 이동했는지 알려 줄 수 있는 것으로 한 축 이상의 값을 정의하여 중심축의 이동을 설명할 수 있다.
본 발명의 특징은 6DoF 비디오 서비스 및 스트리밍을 위한 아키텍쳐를 제안하고 시그널링 및 파일 저장 방법의 기본 메타데이터를 제안하여 향후 6DoF 관련 메타데이터 및 시그널링 확장을 위한 발명에 활용될 수 있다.
- 제안한 6DoF 송,수신기 아키텍처를 바탕으로 각 과정마다 발생하는 메타데이터를 확장할 수 있다.
- 제안한 아키텍처의 과정간에 발생하는 메타데이터를 제안할 수 있다.
- 제안한 메타데이터를 바탕으로 추후 추가/수정/확장하여 6DoF 비디오 서비스를 제공하는 콘텐츠의 6DoF 비디오 관련 파라미터를 ISOBMFF 등 파일에 저장 및 시그널링 할 수 있다.
- 제안한 메타데이터를 바탕으로 추후 추가/수정/확장하여 6DoF 비디오 스트림의 SEI 혹은 VUI를 통해 6DoF 비디오 메타데이터 저장 및 시그널링을 할 수 있다.
리전(리전별 패킹에서의 의미, Region) : 리전(Region) 은 2D 이미지에 프로젝션된 360 비디오 데이터가 리전별 패킹(region-wise packing) 을 통해 팩드 프레임 내에서 위치하게 되는 영역을 의미할 수 있다. 여기서의 리전은 문맥에 따라 리전별 패킹에서 사용되는 리전을 의미할 수 있다. 전술한 바와 같이 리전들을 2D 이미지를 균등하게 나누어 구분되거나, 프로젝션 스킴 등에 따라 임의로 나누어져 구분될 수도 있다.
리전(일반적 의미, region) : 전술한 리전별 패킹에서의 리전과 달리, 사전적 의미로서 리전(region) 이라는 용어가 사용될 수도 있다. 이 경우 리전이란 사전적 의미인 '영역', '구역', '일부분' 등의 의미를 가질 수 있다. 예를 들어 후술할 페이스(face) 의 일 영역을 의미할 때, '해당 페이스의 한 리전' 등과 같은 표현이 사용될 수 있다. 이 경우 리전은 전술한 리전별 패킹에서의 리전과는 구분되는 의미로서, 양자는 서로 무관한, 다른 영역을 지시할 수 있다.
픽쳐 : 픽쳐는 360 비디오 데이터가 프로젝션된 2D 이미지 전체를 의미할 수 있다. 실시예에 따라 프로젝티드 프레임 내지는 팩드 프레임이 픽쳐가 될 수 있다.
서브-픽쳐 : 서브 픽쳐는 전술한 픽쳐의 일부분을 의미할 수 있다. 예를 들어 타일링 등을 수행하기 위해 픽쳐가 여러 서브-픽쳐로 나누어질 수 있다. 이 때 각 서브 픽쳐가 타일이 될 수 있다. 구체적으로, 타일 내지 MCTS 를 기존의 HEVC 와 호환되는 픽쳐 형태로 재구성하는 동작을 MCTS 추출(extraction) 이라고 할 수 있다. 이 MCTS 추출의 결과물은 원래의 타일 내지 MCTS 가 속하는 픽쳐의 서브-픽쳐일 수 있다.
타일 : 서브 픽처의 하위 개념으로서, 서브 픽처가 타일링을 위한 타일로 쓰일 수 있다. 즉, 타일링에 있어서는 서브 픽처와 타일은 동일한 개념일 수 있다. 구체적으로, 본디 타일은 병렬 디코딩을 가능케 하기 위한 툴이나, VR 에 있어서는 독립 디코딩을 위한 툴일 수 있다. VR 에 있어서 타일은, 템포럴 인터 프리딕션(temporal inter prediction) 의 범위를 현재의 타일 내부 범위로 제한한 MCTS (Motion Constrained Tile Set) 을 의미할 수 있다. 이에 이 문서에서 타일은 MCTS 로도 불릴 수 있다.
슈페리컬 리전(Spherical region) : 슈페리컬 리전 내지 슈피어 리전(Sphere region) 은, 360 비디오 데이터가 수신측에서 3D 공간(예를 들어 구면) 상에 렌더링될 때, 그 구면 상의 일 영역을 의미할 수 있다. 여기서 슈페리컬 리전은, 리전별 패킹에서의 리전과는 무관하다. 즉, 슈페리컬 리전이 리전별 패킹에서 정의되었던 리전과 같은 영역을 의미할 필요는 없다. 슈페리컬 리전은 렌더링되는 구면 상의 일 부분을 의미하는 데 사용되는 용어로서, 여기서의 '리전' 은 사전적 의미로서의 '영역'을 뜻할 수 있다. 문맥에 따라 슈페리컬 리전이 단순히 리전이라고 불릴 수도 있다.
페이스(face) : 페이스는 프로젝션 스킴에 따라 각 면을 부르는 용어일 수 있다. 예를 들어 큐브맵 프로젝션이 사용되는 경우, 앞면, 뒷면, 양 옆면, 윗면, 아랫면 등은 페이스라고 불릴 수 있다.
실시예들에 따른 방법/장치는 실시예들에 따른 비디오 송신 방법/장치 및/또는 비디오 수신 방법/장치로 해석될 수 있다.
또한, 실시예들에 따른 비디오 송신 방법/장치는 인코딩(인코더), 부호화(부호화기), 전송(전송 장치) 등으로 서로 보완하여 해석될 수 있다.
마찬가지로, 실시예들에 따른 비디오 수신 방법/장치는 디코딩(디코더), 복호화(복호화기), 수신(수신 장치) 등으로 서로 보완하여 해서될 수 있다.
실시예들에 따른 하나의 동작 또는 하나 이상의 동작 간 결합을 통해서 다음의 효과를 실시예들에 따른 방법/장치가 제공할 수 있다.
구체적으로, 가상 현실 기술을 위한 360 영상 스트리밍 기술에 대해 관심이 증가함에 따라, 이러한 미디어기술에 대한 의견이 제시되었다. 이에 따라 moving picture experts group (MPEG)의 서브 그룹인 MPEG-I 단체는 사용자의 위치가 고정된 상태에서 시점을 자유롭게 이동하여 감상할 수 있는 3DoF+ 기술에 대한 표준화를 진행하고 있다. 실시예들은 3DoF+ 360 비디오 영상 전송을 위한 시스템과 그 기술 요소 중 파티셔닝(partitioning)이라는 과정에서 임계치에 따라 특정 블록을 선택하는 기법에 대하여 서술한다. 필요한 영상의 정보를 블록 단위로 한 영상으로 병합하는 패킹(packing) 과정 이전에, 해당 블록에 담긴 영상 정보의 비율을 계산하여 정보가 충분하지 않다고 판단될 경우 블록을 선택하지 않음을 통해 전송하는 블록의 개수를 줄여 전송 시 대역폭을 절감할 수 있다. 또한 블록 크기와 임계치 설정 등 다양한 파라미터 옵션에 따라 목적에 맞도록 유연하게 360 영상 전송할 수 있게 되어 이를 통한 대역폭 절약이 기대된다.
가상 현실 전송 기술에 대한 연구가 활발하게 진행되고 있지만, 원활한 실시간 재생을 위해서는 초 고화질 영상을 전송해야 하는 요구사항에 따라 아직까지 실시간 처리가 어려운 환경이다. 따라서 실시예들에 따른 방법/장치는 원활한 360 영상 전송을 위해 효율적인 영상 처리 방안을 제공한다. 실시예들은 그 중에서도 사용자가 위치를 움직일 수 없고, 시점을 이동하여 360 영상을 감상하는 제한적인 몰입형 미디어 기술인 3DoF+ 처리 기술에 대하여 다룬다. 사용자의 머리 움직임에 따른 360 영상을 제공하기 위해서는 여러 시점에 대한 영상 정보를 담고 있어야 하므로 여러 장의 고화질 영상이 필요하며, 여러 장의 고화질 영상을 모두 단순히 전송하는 것으로는 필요한 대역폭이 너무 크기 때문에 원활한 미디어 감상이 불가능하다. 따라서, 실시예들에 따른 방법/장치는 제한된 자원으로 여러 장의 고화질 영상을 효율적으로 처리하여 전송하는 기술적 과제 및 효과를 제공할 수 있다.
또한, 3DoF+ 다중 시점 영상 서비스를 제공하기 위해 각 시점 위치에 대한 360 영상을 송수신 해야 하는데, 이 때 각 영상의 위치의 수만큼의 인코더, 디코더가 필요하게 되며, 이는 실제 서비스 시나리오에서 송수신기의 부담이 된다. 따라서, 실시예들에 따른 방법/장치는 실제 서비스를 위해서는 인코더, 디코더의 수를 줄이는 효과를 제공한다.
도22는 실시예들에 따른 3DoF+ 360 비디오 영상 압축 송신 장치 및 수신 장치의 예시를 나타낸다.
도면의 3DoF+ 360 비디오 영상 압축 송신 장치는 실시예들에 따른 비디오 송신 장치/방법에 대응하고, 3DoF+ 360 비디오 영상 압축 수신 장치는 실시예들에 따른 비디오 수신 장치/방법에 대응할 수 있다. 실시예들에 따른 각 구성요소는 하드웨어/소프트웨어/소프트웨어/그것들의 조합에 대응할 수 있고, 각각을 설명하면 다음과 같다.
비디오 송신 장치는 프루너(프루닝), 패킹(패커), 및/또는 인코더를 포함할 수 있고, 비디오 수신 장치는 디코더, 언패커(언패킹), 리컨스트럭션(리컨스트럭터), 및/또는 렌더링(렌더러)를 포함할 수 있다.
또한, 이하의 실시예들에 따른 구성요소가 MPEG-I에서는 요구사항에 맞추어 3DoF+ 방안을 제공할 수 있다. 3DoF+ 관련 여러 소프트웨어/하드웨어 등이 함께 결합될 수 있다.
도22의 각 구성장치/프로세스는 도2-3, 11, 13-14, 18-20의 장치/프로세스에 포함되거나 추가 확장/연결될 수 있다. 도2-3, 11, 13-14, 18-20의 장치/프로세스를 참조하여, 도22는 인코딩 이전의 프리-프로세서(프루너, 패커 등), 디코딩 이후의 포스트-프로세서(언패커, 리컨스트럭터, 렌더러) 등을 더 구체적으로 나타내고 있다. 도22의 설명은 도2-3, 11, 13-14, 18-20의 설명과 상호 보완하여 결합될 수 있다.
프루닝(프루너, Pruning, 2200)은 사용자의 시점 이동에 따른 모든 영역을 커버하기 위하여, 여러 장의 고화질 360 영상을 입력으로 받는다. 이 때, 이 고화질 360 영상들은 취득 위치에 따라 서로 간 중복되는 영상 정보를 가질 수 있게 된다. 이 서로 간 중복되는 영상 정보를 제거하고 각자의 360 영상이 필요한 정보만 담고 있도록 처리하는 과정이 프루닝(pruning)이다.
예를 들어, 입력된 복수의 360영상 (간략히 데이터, 뷰 등으로 호칭 가능)은 하나 또는 하나 이상의 소스 뷰들(Source Views)로 표현될 수 있다. 실시예들에 따라, 소스 뷰는 제1뷰, 제2뷰 등으로 구별의 목적으로 호칭될 수 있다.
프루너의 센트럴 뷰 신테시사이저(센터 뷰 합성기)는 소스 뷰(들)을 수신하여 센터 뷰를 합성할 수 있다. 실시예들에 따른 센터 뷰는 사용자의 시선(뷰포트)가 중앙에 위치하는 경우의 뷰를 말한다. 센터 뷰가 가장 중요하거나 의미 있는 데이터를 포함하고 있을 수 있으므로, 소스 뷰들로부터 센터 뷰가 합성되어 생성될 수 있다. 프루너/센터뷰 합성기는 다시점에서 취득된 360 영상을 수신하고, 모든 영상의 공통점을 가장 많이 포함하는 중앙 뷰(센터 뷰Central view)를 생성한다. 센터 뷰(중앙 뷰)는 모든 영상의 공통점을 가장 많이 포함하는 영상으로 중앙 시점(뷰포인트)를 가질 수 있다. 실시예들에 따른 방법/장치는 센터 뷰는 입력되는 소스 뷰에 포함되는 경우에는 수신한 센터 뷰를 이용하고, 센터 뷰가 소스 뷰에 포함되지 않는 경우에는 소스 뷰로부터 센터 뷰를 생성할 수 있다.
또한, 센터 뷰는 인코더에 전송되어 인코딩되고 패킹된 뷰들, 메타데이터 등과 함께 비트스트림에 포함되어 수신 장치로 전송될 수 있다.
프루너의 소스 뷰 프루너는 소스 뷰(들)을 수신하여 소스 뷰 간 프루닝 처리를 할 수 잇다. 실시예들에 따른 프루닝 프로세스는 소스 뷰 간 중복되는 데이터(리던던시)를 제거하는 것을 말한다. 소스 뷰들은 인접한 사용자의 뷰포트를 기반으로 비슷한 데이터를 서로 포함할 수 있으므로, 전송 장치가 모든 소스 뷰들을 인코딩하고 전송하고, 수신 장치가 모든 소스 뷰를 디코딩하는 것이 시스템에 버든을 줄 수 있다. 이러한 기술적 문제점을 해결하기 위해서, 실시예들에 따른 방법/장치(프루너, 프루너의 소스 뷰 프루너 등)은 소스 뷰를 프루닝할 수 있다. 소스 뷰가 프루닝되어 스파스 뷰(들)이 생성될 수 있다. 실시예들에 따른 스파스 뷰는 소스 뷰의 리던던시가 프루닝(제거, 가지 치기 등)된 뷰를 말한다.
다시 말해, 센터 뷰(중앙 뷰, 센트랄 뷰, 제1뷰 등 다양하게 지칭될 수 있음)의 역할은 송수신 장치가 센터 뷰에서 각 소스뷰(각각의 360 영상)으로 와핑(Warping)함으로써 다시점 간 시점 이동을 하기 위함이다. 여기서, 와핑이 이루어지지 않는 영역들은 센터 뷰에 의해 표현될 수 없는 영역/영상이다. 따라서, 와핑이 되지 않는 영역은 오직 소스 뷰들로부터 표현될 수 있는 영역/데이터이다. 따라서, 실시예들에 따른 송신 장치/프루너는 센터 뷰 및 소스 뷰 모두 제공할 수 있다. 그리고 소스 뷰들을 효율적으로 전송하기 위해서, 각 소스 뷰간 서로 중복되는 영역/데이터를 모두 제거(소스 뷰 프루닝)하고, 소스 뷰 간 독립적인 정보/영역/데이터를 지난 스파스 뷰를 생성하는 것이 프루닝이다.
또한, 소스 뷰들을 프루닝하는 동안, 센터 뷰(센트랄 뷰)에 기반하여 소스 뷰들이 프루닝될 수 있다. 소스 뷰와 센터 뷰를 비교하면, 센터 뷰와 중복되는 리던던시가 인접한 소스 뷰들에 많이 존재할 수 있기 때문이다.
프루터의 인코더 및 디코더는 소스 뷰의 프루닝을 위해서 센터 뷰를 인코딩/디코딩하여 소스 뷰 프루너에 제공할 수 있다.
파티셔닝(파티셔너)은 프루너(2200) 및 패커(2210) 사이에 위치하거나, 패커(2210) 내에 포함될 수도 있다. 파티셔닝 과정은 패킹 과정에 함께 포함될 수 있다.
파티셔닝은, 프루닝(pruning) 과정을 거친 독립적인 360 영상들을 인코더 친화적으로 압축하기 위해 필요한 영상 정보들만을 모아서 하나의 영상으로 병합하는 과정인 패킹에 관련된 동작이다.
구체적으로, 하나의 영상(뷰, 데이터 등으로 호칭 가능함)으로 병합 시, 필요한 영상 정보들을 선택하는 과정이 파티셔닝(partitioning)이다. 실시예들에 따른 파티셔닝은 사각형 단위의 블록으로 필요한 영상 정보들을 계산하며, 계산 결과값을 임계치에 따라 조절함으로써 최종적으로 전송할 영상의 크기를 줄여 대역폭을 절감할 수 있다. 파티셔너는 프루닝의 결과로 생성된 블록에 기반하여 스파스 뷰에 포함된 영상 정보를 확인하고 임계치에 따라서 영상 정보를 줄일 수 있다. 실시예들에 따른 블록 기반 파티셔닝의 구체적인 동작은 이하에서 설명한다.
패커(Packing, 2210)는 파티셔닝(partitioning)을 통해 선택된 영상 정보들을 하나의 영상에 정렬 후, 병합하여 이 영상을 인코딩하고 전송한다. 전송된 영상은 다시 클라이언트에서 복원되어 파티셔닝(partitioning)되었던 기준에 따라 독립적인 영상들로 나누어진다. 이 때, 하나로 병합된 영상을 다시 복원하기 위한 메타데이터 정보를 포함하여 전송하게 된다. 결과적으로 이 영상들을 이용하여 3DoF+ 기술을 실현하며, 각 필요한 영상 정보를 하나의 영상에 병합하여 전송하였으므로 효율적인 영상 전송이 가능하다.
예를 들어, 패커는 스파스 뷰들(즉, 파티셔닝이 처리된)을 하나의 픽쳐로 패킹한다. 그 결과, 패킹된 뷰들이 생성되고, 패킹된 뷰를 복원(언패킹)하기 위해 필요한 정보를 포함하는 메타데이터도 함께 생성된다. 메타데이터는 패킹 프로세스에 관한 정보를 포함한다. 메타데이터는 인코더에 의해 패킹된 뷰들과 함께 인코딩되어 비트스트림에 포함되고 전송될 수 있다. 또는 실시예들에 따라 메타데이터는 패킹된 뷰들과 별개의 경로로 수신 장치에 전송될 수 있다.
패커의 패킹은 센터 뷰가 아닌 소스 뷰(스파스 뷰)들에 대해 수행될 수 있다. 실시예들에 따른 방법/장치는 의미 있는 정보를 제일 많이 포함하는 영상인 센터 뷰를 인코딩하여 전송하고, 센터 뷰와 인접한 뷰에 해당하는 소스 뷰의 리던던시가 제거된 스파스 뷰는 하나의 영상으로 패킹하여 인코딩하여 전송할 수 있다. 센터뷰 및 프루닝/패킹된 뷰로 인하여 다수의 영상을 최소의 영상으로 병합하여 효율적으로 전송할 수 있는 효과가 있기 때문입니다. 실시예들에 따라, 센터 뷰도 스파스 뷰와 함께 하나의 영상에 패킹되어 전송될 수도 있다.
인코더(HEVC Encoder, 2220)는 패킹된 뷰들 및/또는 메타데이터를 HEVC (High Efficiency Video Codec) 방식에 기반하여 인코딩하고, 그 결과 비트스트림이 생성된다. 인코더 또는 인코더와 연결된 트랜스미터는 비트스트림을 수신 장치에 전송할 수 있다.
이하, 실시예들에 따른 수신 장치/방법의 각 구성요소를 설명한다. 실시예들에 따른 수신 과정은 실시예들에 따른 송신 과정의 역과정에 대응할 수 있다.
디코더(HEVC Decoder, 2230)는 인코더 또는 송신 장치로부터 비트스트림을 수신하여 비트스트림에 포함된 영상(또는 패킹된 뷰들, 데이터 등으로 호칭 가능함)을 HEVC 방식에 기반하여 디코딩한다.
언패커(Unpacker, 2240)는 디코더로부터 디코딩된 패킹된 뷰들을 수신하여 패킹의 역과정인 언패킹을 수행한다. 하나의 영상(영상은 픽쳐에 대응될 수 있음)으로 패킹된 뷰가 복수의 영상(픽쳐)로 다시 분할될 수 있다.
리컨스트럭터(Reconstructor, 2250)는 디코딩된 뷰들을 복원할 수 있다. 디코딩된 뷰들은 디코딩된 센터 뷰 및 디코딩되고 언패킹된 스파스 뷰들을 포함한다. 리컨스트럭터(2250)는 프루닝(2200)의 역과정을 수행할 수 있다. 리컨스트럭터 또는 리컨스트럭터의 소스 뷰 리컨스트럭터는 스파스 뷰들로부터 소스 뷰를 복원할 수 있다. 소스 뷰 간 리던던시를 제거하는 프루닝을 통해 스파스 뷰가 생성되고 송신된 것과 같이, 수신 측에서는 역과정으로 스파스 뷰들로부터 소스 뷰가 다시 복원될 수 있다. 소스 뷰를 복원하는 프로세스는 센터 뷰 및/또는 스파스 뷰(들)에 기초하여 수행될 수 있다. 리컨스트럭터는 복원된 소스 뷰들 및/또는 센터 뷰를 렌더러(2260)에 전달한다.
렌더러(Renderer, 2260)는 3DoF+ 360 비디오 영상을 디스플레이/렌더링할 수 있다. 렌더러(260)는 복원된 소스뷰들 및/또는 센터뷰를 수신하고, 사용자의 뷰포인트를 확인할 수 있다. 렌더러는 사용자의 뷰포인트를 사용자 측으로부터 수신할 수 있고, 또는 비디오 송수신 시스템으로부터 수신할 수 있다. 렌더러는 사용자의 뷰포인트 및 복원된 소스 뷰들에 기반하여 가상 뷰(Virtual View)를 합성(Synthesis)할 수 있다. 예를 들어, 소스 뷰들이 다양한 뷰인트에 대한 영상을 포함하고, 렌더러는 사용자의 뷰포인트에 맞는 영상을 렌더링하기 위해서, 소스 뷰들로부터 사용자의 뷰포인트에 맞는 뷰를 합성할 수 있다. 예를 들어, 사용자가 보고 싶어하는 뷰가 없는 경우 수신한 뷰로부터 가상의 시점에 맞는 뷰가 생성될 수 있다. 렌더러는 HMD(Header Mounted Display)에 기반하여 360비디오 영상 데이터를 렌더링할 수 있다.
또한, 본 명세서에서 실시예들에 따른 소스 뷰란, 레퍼런스 뷰 등으로 지칭될 수 있다. 즉, 소스뷰/레퍼런스뷰는 다양한 뷰포인트에 대한 뷰들로 해석될 수 있다. 소스뷰/레퍼런스 뷰들 중 센터 뷰포인트에 해당하는 뷰는 센터 뷰 등으로 지칭될 수 있다.
실시예들에 따른 3DoF+ 360 비디오 영상 압축 송신 장치 및 수신 장치의 전체 구조를 설명하였고, 이하에서 각 구성요소/동작에 대해 각 도면을 참조하여 구체적으로 설명한다. 각 구성요소/동작은 실시예들에 따른 방법/장치로 지칭될 수 있다.
실시예들에 따른 비디오 송신 방법의 프리-프로세싱하는 단계는, 비디오 데이터에 포함된 하나 또는 하나 이상의 소스 뷰들을 패킹 픽쳐로 패킹하는 단계를 포함할 수 있다.
실시예들에 따른 비디오 수신 방법은 디코딩된 비디오 데이터에 포함된 패킹 픽쳐를 하나 또는 하나 이상의 소스 뷰들로 언패킹하는 단계를 포함할 수 있다.
실시예들에 따른 비디오 데이터 또는 영상 데이터는 이미지 데이터, 비디오 데이터 등과 상호 보완하여 동일/유사한 용어로 해석될 수 있다.
실시예들에 따른 뷰는 이미지, 픽쳐 등과 상호 보완하여 동일/유사한 용어로 해석될 수 있다.
또한, 실시에들에 따른 프리-프로세싱하는 단계는 비디오 데이터에 포함된 하나 또는 하나 이상의 소스 뷰들의 리던던시를 제거하는 단계, 및/또는 하나 또는 하나 이상의 소스 뷰들을 패킹 픽쳐로 패킹하는 단계 등을 포함할 수 있다.
실시에들에 따른 비디오 송신 방법의 패킹하는 단계는, 패킹 픽쳐에 포함된 영역에 관한 메타데이터를 생성하는 단계를 포함할 수 있다.
실시예들에 따른 비디오 송수신 방법/장치는 상술한 실시예들에 기초하여, 3DoF+의 여러 장의 고화질 영상의 블록들을 선택적으로 병합할 수 있고, 추가적으로, 대역폭 상황에 따라 임계치를 맞추어 3DoF+의 유연하고 적응적인 서비스를 제공할 수 있다.
도23은 실시예들에 따른 프루닝의 예시를 나타낸다.
도면은 상술한3DoF+ 360 비디오 영상 압축 시스템의 기본 개념도에서 프루링의 예시를 더 구체적으로 나타낸다. 실시예들에 따른 프루닝 과정은 도22의 프루너(2200)에 의해 수행될 수 있고, 프루너의 수신측 과정에 해당하는 리컨스트럭션 과정은 도22의 리컨스트럭터(2250)에 의해 수행될 수 있다. 프루너, 리컨스트럭터는 실시예들에 따른 방법/장치로 지칭될 수 있고, 하드웨어, 소프트웨어, 프로세서, 및/또는 그것들의 조합에 대응될 수 있다.
예를 들어, 도면의 좌측과 같이 하나 또는 하나 이상의 소스 뷰들(s1, s2, s3, s4)이 소스 뷰 프루너에 입력될 수 있다. 본 명세서에 복수의 소스 뷰들은 제1소스뷰, 제2소스뷰 등으로 지칭될 수 있고, 제1, 제2 숫자는 구별의 의미를 가지고, 숫자가 제한 해석하는 의도는 없다. 제1소스뷰, 제2소스 뷰등은 다시점 360영상을 포함하고, 제1소스뷰는 제1뷰포인트에 대응하고 레퍼런스뷰, 제2소스뷰는 제2뷰포인트에 대응하는 레퍼런스뷰 등으로 해석될 수 있다.
실시예들에 따른 송신 방법/장치는 복수의 소스 뷰들을 모두 전송하는 버든을 줄이기 위해서 소스 뷰 간 프루닝을 할 수 있다.
프루닝 결과, 도면의 우측과 같이 소스 뷰 간 프루닝된 스파스 뷰가 생성될 수 있다. 예를 들어, 제1소스뷰(s1) 및 제2소스뷰(s2) 간 차이에 해당하는 제1스파스뷰는 제1소스뷰 및 제2소스뷰보다 적은 영상을 포함할 수 있다.
마찬가지로, 제2소스뷰 및 제3소스뷰 간 차이(s2-s3)에 해당하는 제2스파스뷰, 제3소스뷰 및 제4소스뷰 간 차이(s3-s4)에 해당하는 제3스파스뷰 등이 생성될 수 있다.
실시예들에 따른 수신 방법/장치는 역으로 스파스 뷰들을 수신하여, 스파스 뷰들을 더하여 소스 뷰들을 복원(리컨스트럭션)할 수 있다.
프루닝 과정 이후에 생성된 스파스 뷰들은 각각 원본 360 영상의 크기만큼 사이즈를 갖고 있기 때문에, 인코딩 과정에서 문제가 발생한다. 보통 인코더는 한번에 8K 내의 이미지에 대해 작업할 수 밖에 없기 때문에, 여러 장의 원본 스파스 뷰들을 인코딩하기 위해서는 여러 개의 인코더와 디코더가 필요해 전송 과정에서 불필요한 오버헤드가 발생하게 된다. 이 문제를 해결하기 위해서는 해당 영상 정보들을 적절히 영역별로 선택하여 하나의 영상 안에 병합시켜야 하는 패킹(packing) 과정을 거쳐야 한다.
이 때, 패킹 과정 전에 파티셔닝 과정을 통하여 적절한 영역 별로 선택하는 과정을 거치게 된다.
실시예들에 따른 파티셔닝은 다음 도면을 참조하여 설명한다.
실시예들에 따른 비디오 송수신 방법/장치는 상술한 실시예들에 기초하여, 3DoF+의 여러 장의 고화질 영상의 블록들을 선택적으로 병합할 수 있고, 추가적으로, 대역폭 상황에 따라 임계치를 맞추어 3DoF+의 유연하고 적응적인 서비스를 제공할 수 있다.
도24는 실시예들에 따른 파티셔닝의 예시를 나타낸다.
실시예들에 따른 파티셔닝 과정은 도22의 프루너(2200), 패커(2210), 및/또는 프루너와 패커 사이에 연결된 파티셔너 등에 의해 수행될 수 있다. 파티셔닝의 수신 측 과정에 해당하는 디-파티셔닝은 도22의 언패커(2240), 리컨스트럭터(2250), 및 언패커와 리컨스트럭터 사이에 연결된 디파티셔너 등에 의해 수행될 수 있다. 프루너, 패커, 파티셔너, 언패커, 리컨스트럭터, 디파티셔너는 실시예들에 따른 방법/장치로 지칭될 수 있고, 하드웨어, 소프트웨어, 프로세서 및/또는 그것들의 조합에 대응할 수 있다.
파티셔너는 프루닝 과정을 거친 다수의 스파스 뷰 영상을 수신할 수 있다. 파티셔너는 알고리즘(일정 방식)에 따라 효율적으로 하나의 영상으로 병합될 영상 정보 영역들을 돌려주게 된다. 실시예들에 따른 방법/장치는 이 영역들을 정렬하고 하나의 영상으로 병합하는 패킹 과정이 끝나면 이 하나의 영상을 인코딩하여 전송하게 된다.
도면의 상단을 참조하여, 파티셔닝의 개략적인 개념을 설명하면, 실시예들에 따른 방법/장치 및/또는 파티셔너는 하나의 영상을 복수의 블록(분할의 유닛)들로 분할할 수 있다. 파티셔서는 분할된 블록들에 기반하여 인코딩/디코딩의 효율성을 최대화할 수 있는 블록들 모아서 하나의 뷰(영상)으로 패킹할 수 있다. 실시예들에 따라, 분할된 블록들 중에서 일정 값(Threshold) 이상을 같은 정보를 포함하는 블록들을 모아서 패킹된 뷰가 생성될 수 있다. 하나의 뷰를 그대로 인코딩/디코딩하는 것보다 의미 있는 정보를 많이 포함하는 블록들을 모아서 패킹하여 인코딩/전송/디코딩함으로써, 효율적인 영상 처리를 가능하게 하는 효과가 있다.
구체적으로, 프루너(2200)가 센터 뷰 및/또는 스파스 뷰들을 생성하면, 파티셔너는 스파스 뷰들(s1, s2, s3,…,s14, 제1스파스 뷰, 제2 스파스 뷰 등으로 지칭 가능)을 블록 파티셔닝 기법에 기반하여 전부 및/또는 일부 스파스 뷰들을 하나의 뷰(이미지)로 패킹할 수 있다. 이때 인코딩/디코딩의 성능 최적화를 위해서 8K이미지에 전부 및/또는 일부 스파스 뷰들을 병합(aggregate)할 수 있다.
실시예들에 따른 방법/장치는 스파스 뷰 안에서 특정한 블록 크기의 단위로 영상 정보를 탐색할 수 있다. 이 때, 블록 크기는 사용자로부터 수신하거나 실시예들에 따른 방법/장치로부터 수신하여 임의로 설정할 수 있으며 영상 크기 비율에 맞추어 가로와 세로의 크기가 달라지는 것 또한 가능하다. 이 블록 기반 파티셔닝은 각 스파스 뷰 전체에 대해 수행될 수 있고, 파티셔닝 기준에 의해 선택된 블록들이 하나의 영상으로 패킹 과정을 거쳐 병합된다. 패킹 과정은 패커 등을 통해 수행될 수 있다.
실시예들에 따른 수신 방법/장치는 병합이 완료된 영상으로부터 다시 스파스 뷰로 복원할 수 있다. 그렇게 때문에, 각 블록들은 어떤 스파스 뷰에 포함되어 있었는지, 그리고 어느 위치에 있었던 블록인지에 관한 정보가 메타 데이터로 생성되어야 한다. 실시예들에 따른 송신 방법/장치는 블록 파티셔닝에 관한 시그널링 정보를 포함하는 메타데이터를 생성하여 전송할 수 있다. 메타데이터는 각 블록이 속한 스파스 뷰를 나타내는 식별 정보 및 스파스 뷰 내 블록의 위치 정보 등을 포함할 수 있다. 실시예들에 따른 송신 방법/장치는 최종적으로 블록의 정보가 기록된 메타데이터와 함께 병합된 영상을 인코딩을 통해 전송하게 되며, 이로 인해 효율적인 3DoF+ 360 영상 처리가 가능하게 된다.
실시예들에 따른 비디오 송신 방법의 패킹하는 단계는, 하나 또는 하나 이상의 소스 뷰들을 블록에 기반하여 분할하고, 분할된 분할을 패킹하는 단계를 포함할 수 있다.
실시예들에 따른 비디오 수신 방법의 언패킹하는 단계는, 패킹 픽쳐를 블록에 기반하여 언패킹하는 단계를 포함할 수 있다.
실시예들에 따른 블록 기반 디-피티셔닝은 파티셔닝의 역과정을 따를 수 있고, 디파티셔닝은 언패커가 수행하거나, 언패커 및 리컨스트럭에 연결된 디파티셔너가 디-파티셔닝을 수행할 수 있다.
실시예들에 따른 비디오 송수신 방법/장치는 상술한 실시예들에 기초하여, 3DoF+의 여러 장의 고화질 영상의 블록들을 선택적으로 병합할 수 있고, 추가적으로, 대역폭 상황에 따라 임계치를 맞추어 3DoF+의 유연하고 적응적인 서비스를 제공할 수 있다.
도25는 실시예들에 따른 영역 확장과 겹치는 영역 제거 방법의 예시를 나타낸다.
실시예들에 따른 블록 기반 파티셔닝은 블록으로 분할하는 경우, 블록 간 겹치는 영역이 발생하는 경우, 겹치는 영역을 제거할 수 있다.
또한, 블록의 크기가 가변적으로 변경할 수 있기 때문에, 서로 다른 크기를 가지는 블록 간에 겹치는 영영이 발생할 수 있다.
도면 상단을 참조하면, 제1블록(R1) 및 제2블록(R2)가 완전하게 겹치는 경우, 하나의 블록이 다른 블록에 포함될 수 있다. 이러한 경우, 큰 영역의 블록(도면의 R1)만이 패킹에 사용됨으로써 겹치는 영역을 해결할 수 있다.
도면 하단을 참조하면, 제1블록 및 제2 블록이 일부 겹치는 경우, 제1블록 및 제2블록 간 겹치는 일부 영역을 제외하고, 제1블록(R1)은 그대로, 제2블록(R2)는 제1블록과 겹치는 영역을 제외하여 패킹될 수 있다.
또한, 도면의 우측을 참조하면, 블록의 크기(길이,너비, 사이즈 등으로 지칭 가능)가 가변적으로 변하는 과정을 나타낸다. 예를 들어, 블록의 크기가 1X1, 3X3, 3X5 등으로 변화할 수 있다. 이때 메타데이터는 블록의 최대 너비 및 최대 높이 정보를 포함할 수 있다. 예를 들어, 블록(영역으로 지칭 가능)의 최대 너비(max_region_width)는 5이고, 블록의 최대 높이(max_region_height)는 3으로 시그널링 되는 경우, 최대 범위 내에서 블록의 크기가 다앙하게 변화할 수 있다.
실시예들에 따른 방법/장치는 블록 크기를 영상 정보에 따라 가변적으로 영역 확장(region growing) 방법을 이용할 수 있다. 블록의 크기가 클수록 영상 정보를 인코더 친화적으로 연속적인 정보를 얻을 수 있으나, 그만큼 가져오는 회색 영역(gray area, 상대적으로 의미가 적은 정보를 많이 포함하고 있는 영역)이 많기 때문에 병합되는 영상의 크기가 커지는 단점을 가진다. 반대로 블록의 크기가 작을수록 서로 간의 영상 정보가 끊어지기 때문에 인코더 상에서 효율 상의 단점을 갖는다.
이러한 점을 해결하기 위해서, 실시예들에 따른 방법/장치는 영상 정보에 따라 가변적으로 블록 크기를 선택하고, 블록 단위로 인접한 영상 정보를 확인하여 회색 영역이 아닌 지점은 하나로 병합하는 방식을 택하여 서로 간의 겹치는 영역을 제거하여 각자 가변적인 크기의 블록을 갖도록 하는 효과를 제공할 수 있다.
실시예들에 따른 패킹은 블록 간의 연속성을 고려하여, 도면과 같이 겹치는 영역을 모두 보낼 필요 없이, 중복되지 않은 데이터만 전송함으로써, 인코딩/디코딩 복잡도를 줄일 수 있다.
또한, 실시예들에 따른 영역1,2 등은 하나의 스파스 뷰 내에 포함된 일부 영역을 지칭하는 용어로 해석될 수 있다.
실시예들에 따른 비디오 송수신 방법/장치는 상술한 실시예들에 기초하여, 3DoF+의 여러 장의 고화질 영상의 블록들을 선택적으로 병합할 수 있고, 추가적으로, 대역폭 상황에 따라 임계치를 맞추어 3DoF+의 유연하고 적응적인 서비스를 제공할 수 있다. 또한, 중복 영역을 처리함으로써, 데이터/시스템의 부담을 효과적으로 감소시킬 수 있다.
도26은 실시예들에 따른 영역 확장 방법을 이용한 가변적 블록 크기 설정 방법의 예시를 을 나타낸다.
실시예들에 따른 방법/장치, 프루너, 파티셔너, 패커 등은 센터 뷰 및/또는 레퍼런스 뷰(스파스 뷰) 등의 영상을 포함하는 프레임들을 병합하여 블록 기반 파티셔닝 및 패킹을 수행할 수 있다. 또한, 실시예들에 따른 방법/장치, 언캐퍼, 디파티셔너, 리컨스트럭터 등은 센터 뷰 및/또는 레퍼런스 뷰(스파스 뷰) 등의 영상을 포함하는 프레임이 병합된 시퀀스 데이터를 수신하여, 블록 기반 파티셔닝 및/또는 패킹의 역과정인 디-파티셔닝(디파티셔닝 등 지칭 가능) 및/또는 언패킹을 수행할 수 있다.
도면의 상단을 참조하면, 프루너, 파티셔너, 패커 등을 포함하는 실시예들에 따른 방법/장치는 영상(센터 뷰 및/또는 레퍼런스 뷰(스파스 뷰) 등)을 포함하는 복수의 프레임들, 예를 들어, 프레임t 내지 프레임t+31들을 블록에 기반하여 파티셔닝 및 병합(패킹, merge 등으로 지칭 가능)하고, 블록 기반 파티셔닝에 관련된 시그널링 정보(로우 데이터로 지칭 가능)를 생성할 수 있다. 실시예들에 따른 로우 데이터는 각 블록이 어떤 스파스 뷰에 포함되어 있는지, 각 블록이 특정 스파스 뷰 내 어느 위치에 포함되어 있는지, 블록의 크기 가변적인 경우 블록의 크기 정보(블록의 너비/높이, 블록의 최대 너비/최대 높이 등) 등 블록에 기반한 디파티셔닝을 위해 필요한 정보를 포함할 수 있다.
도면의 중단을 참조하면, 병합 과정에 따라 생성된 데이터를 시퀀스 레벨에서 도면과 같이 표현될 수 있다.
예시 시퀀스(Example Sequence)는 블록 기반 파티셔닝 및 패킹(병합)에 의해 생성된 영상을 포함하는 시퀀스 데이터이다.
예시 로우 데이터(Example Raw Data)는 블록에 관한 시그널링 정보(블록의 위치, 크기 등)를 포함하는 메타데이터이다. 예를 들어, 0과1에 기초하여 동일/유사한 데이터인 경우 1(또는 0) 그 반대의 경우 0(또는 1)과 같이 데이터의 분포/특성을 로우 데이터가 나타낼 수 있다.
예시 영역 확장 사각형(Example Region Growing Rectangle)은 블록 기반 파티셔닝 시 블록의 크기를 가변적으로 변경하여 블록의 영역(region)을 확장하는 예시를 나타낸다. 실시예들에 따라, 블록의 영역 확장은 스파스 뷰 간 블록 기반 파티셔닝을 하는 과정에서 적용될 수 있고, 또는 블록 기반 파티셔닝 및 병합 이후에 블록의 영역을 추가로 확장하여 인코딩에 최적화된 영상을 생성하기 위해 영역 확장이 적용될 수 있다. 블록의 영역 확장은 최댁값을 가지는 범위 내에서 가변적으로 적용될 수 있다. 예를 들어, 도면의 하단을 참조하면, 최소의 블록 영역(1x1, 제1블록), 제2블록(3x3), 제3블록(3x5), 최대 맥시멈 블록까지 블록의 영역을 확장하면서, 블록 파티셔닝이 수행될 수 있다.
실시예들에 따른 블록은 영상의 인코딩 효율성을 증가시키기 위한 목적을 가지므로, 블록이 영상의 정보를 포함할때만 인접한 블록들과 함께 커질 수 있다. 따라서, 도면과 같이 필요한 영상 정보 형태에 맞추어 블록을 설정할 수 있다.
실시예들에 따른 비디오 송수신 방법/장치는 상술한 실시예들에 기초하여, 3DoF+의 여러 장의 고화질 영상의 블록들을 선택적으로 병합할 수 있고, 추가적으로, 대역폭 상황에 따라 임계치를 맞추어 3DoF+의 유연하고 적응적인 서비스를 제공할 수 있다. 또한, 블록의 크기를 데이터의 성질에 따라서 가변적으로 변경함으로써, 유연한 콘텐츠를 제공할 수 있다.
도27은 실시예들에 따른 소팅 및 패킹(SORTING & PACKING)의 예시를 나타낸다.
실시예들에 따른 블록 기반 파티셔닝과 관련하여, 실시예들에 따른 방법/장치는 추가적으로 영상을 패킹/병합 시 소팅하여 패킹할 수 있다.
예를 들어, 영상의 구성에 따라서 블록의 크기가 다양한 경우, 각 블록(영역)을 크기, 예를 들어 높이(Height)로 분류(sorting)할 수 있다.
도면은 영상이 교실의 한 배경을 나타내느 경우, 클래스 룸 비디오 시퀀스(ClassroomVideo Sequence)에 대한 패킹된 뷰가 높이 기반 소팅 및 패킹되는 예시이다.
도면의 좌측을 참조하면, 실시예들에 따른 방법/장치는 m개의 영역(블록)이 있는 경우 높이가 가장 큰 것부터 작은 순서(descending)대로 영역을 분류할 수 있다. 이후, 소팅된 영역들은 도면의 우측과 같이 패킹될 수 있다. 또는 실시예들에 따라서, 반대로 높이를 작은 것에서 높은 순서대로 소팅한 뒤 패킹할 수 있다.
실시예들에 따른 소팅 및 패킹은 영역을 일정한 기준으로 분류하여 패킹함으로써, 인코딩의 효율성을 더 증가시킬 수 있는 효과를 제공한다.
실시예들에 따른 수신 방법/장치는 언패킹 및/또는 디파티셔닝 수행 시 소팅되어 패킹된 영상(픽쳐)을 소팅 방식에 기초하여 역과정으로 언패킹 및/또는 디파티셔닝을 수행할 수 있다.
상술한 실시예들에 따른 동작으로 인하여, 실시예들에 따른 방법/장치는 패킹된 뷰(영상)의 크기를 최대한 줄일 수 있는 효과를 제공할 수 있다. 구체적으로, 실시예들에 따른 소팅 및/또는 패킹은 일정한 주기(IntraPeriod) 내 크기가 가변적인 블록들을 높이 순서대로 모으고 정렬해서 순서대로 붙임으로써 패킹 시 뷰의 크기를 줄일 수 있다.
도28은 실시예들에 따른 폴 필터링(Pole Filtering)의 예시를 나타낸다.
프루너(2200)가 센터 뷰 및/또는 스파스 뷰들을 프루닝하는 과정에서 뷰(영상)에 에러(왜곡)이 발생할 수 있다. 상술한 바와 같이 프로젝션되어 생성된 영상은 프로젝션 타입의 일종인 ERP(Equirectangular Projection) 형식에 따른 왜곡을 포함할 수 있다. 따라서, 이러한 왜곡으로 인해 프루닝 과정에서도 영상의 최상단, 최하단, 좌우 테두리 영역에서 왜곡이 그대로 남아 있는 현상이 있을 수 있다. 3DoF+의 표준 뷰 합성 도구, 예를 들어, 레퍼런스 뷰 합성기(Reference view Synthesizer, RVS)가 이러한 왜곡을 어느 정도 처리할 수 있지만, 왜곡을 포함하는 영역은 병합된 영상의 크기에 큰 영향을 미친다. 따라서, 실시예들에 따른 방법/장치, 프루너, 파티셔너, 패커 등은 왜곡을 포함하는 영역을 병합 시 그 이전에 필터링 동작을 추가로 수행할 수 있다. 필터링은 왜곡을 포함하는 영역을 제외(제거)할 수 있고, 영상의 크기를 줄임으로써 송수신 방법/장치 시스템의 데이터 대역폭을 효과적으로 줄일 수 있는 효과가 있다. 실시예들에 따른 필터링 프로세스는 폴 필터링(Pole Filtering)으로 지칭될 수 있다. 실시예들에 따라서, 필터링은 프루너, 파티셔너, 패커 사이에 연결된 필터부에 의해 수행되거나 또는 패커가 필터링 동작을 수행할 수 있다.
도면의 1번 구간의 영역은 스파스 뷰의 이미지의 범위를 나타낸다. 1번 영역은 상단과 하단에 왜곡을 포함한다. 1번 영역의 스파스 뷰는 필터링 프로세스에 의해서 도면의 2번과 같이 왜곡이 필터링된 영상으로 필터링될 수 있다. 왜곡이 제거된 2번의 영상들에 기초하여 병합/패킹 과정이 수행될 수 있다.
실시예들에 따른 비디오 송수신 방법/장치는 상술한 실시예들에 기초하여, 3DoF+의 여러 장의 고화질 영상의 블록들을 선택적으로 병합할 수 있고, 추가적으로, 대역폭 상황에 따라 임계치를 맞추어 3DoF+의 유연하고 적응적인 서비스를 제공할 수 있다. 또한, 왜곡이 있는 부분을 제거함으로써, 에러에 강인한 데이터 및 복잡도가 낮은 인코더/디코더를 제공할 수 있다.
도29는 실시예들에 따른 임계치 기반 파티셔닝 블록 선택 방법의 예시를 나타낸다.
실시예들에 따른 방법/장치, 프루너, 파티셔너, 패커 (또는 이에 대응되는 수식 측의 언패커, 디파티셔너, 리컨스트럭터 및/또는 그것들 포함하는 방법/장치) 등은 블록 기반 파티셔닝을 수행 시 임계치를 이용할 수 있다. 실시예들에 따른 임계치 기반 블록 파티셔닝은 최종 병합될 영상의 크기를 더 작게 하여 전송 대역폭을 최소화하는 효과를 제공할 수 있다. 예를 들어, 블록 선택 시 임계치에 기반하여 블록을 선택하지 않는 방법을 제안한다.
스파스 뷰 영상 내 포함되어 있는 중복되어 의미없는 정보는 회색(gray)로 표현되고, 이를 그레이 영역이라고 지칭할 수 있다. 실시예들에 따른 방법/장치는 만일 블록 내의 회색 영역이 대부분을 차지하게 되면 필요없는 정보로 판단하여 해당 블록을 선택 후보에서 제외시킨다. 실시예들에 따라, 회색 부분이 아닌 영역이 임계치(k%) 미만이면 선택 후보에서 제외하며, 메타데이터에 제외된 블록 관련 정보를 저장하지 않는다. 실시예들에 따른 방법/장치는 영상 정보 비율을 기준으로 선택적으로 블록을 병합함에 따라 전송할 병합 영상의 크기를 줄일 수 있고, 전송 대역폭 역시 절감하는 효과를 제공한다.
실시예들에 따라서, 병합하는 영상의 구성을 고려하여, 병합 영상의 크기를 고려하지 않고 모든 영상 정보를 가져와서 병합하고 메타데이터를 생성하거나 또는 영상 전송 대역폭을 우선시해야 하는 경우, 선택에 따라 임계치 기반 블록 파티셔닝에 기반하여 영상의 크기를 줄일 수 있다.
도면을 참조하여, 파티셔닝 및 패킹(2900)을 설명하면, 파티셔닝/패킹은 도22의 패커(2220)에 포함되거나, 패커(2220)에 연결될 수 있다.
파티셔너 및 패커(2900)는 파티셔너(2910) 및/또는 패커(2920)를 포함할 수 있다. 각 구성요소는 하드웨어, 소프트웨어, 프로세서 및/또는 그것들의 조합에 대응할 수 있다.
파티셔너(2910)는 스파스 뷰들을 수신한다. 스파스 뷰들은 복수의 픽셀들을 포함할 수 있다. 파티셔너(2910)는 블록 기반 파티셔닝을 스파스 뷰에 대해 수행한다. 파티셔닝은 파티셔닝의 블록에 대한 시그널링 정보인 메타데이터를 생성할 수 있다. 메타데이터는 파티셔너의 소스가 되는 스파스 뷰(이하, 소스 뷰)인 소스 뷰의 사이즈(너비 및/또는 높이를 포함), 블록 기반 파티셔닝에 사용된 블록의 크기(너비 및/또는 높이를 포함함), 임계치/블록 기반 파티셔닝을 위해 사용되는 임계치인 볼록 스레스 홀드(Block Threshold, k), 파티셔닝 프로세스(f)가 적용되는 프레임들의 개수 등에 관한 정보를 포함할 수 있다.
파티셔너(2910)는 생성된 매 블록에 대해 의미 없는 정보를 포함하는 그레이 영역을 확인할 수 있다. 예를 들어, 매 블록마다 정보를 포함하는 픽셀(informative pixels)들(즉, 그레이 영역이 아닌 픽셀들)의 개수를 확인할 수 있다. 만약에, 블록에 포함된 의미 있는 정보를 포함하는 픽셀의 개수가 임계치(k)보다 같거나 또는 작은 경우 그 블록을 버릴 수 있다(discard). 또는 블록이 임계치(k)보다 많은 의미 있는 픽셀들을 포함하는 경우 패킹하고자 하는 뷰에 그 블록을 포함시킬 수 있다.
패커(2920)는 임계치/블록 기반 파티셔닝된 블록들을 병합하여 하나 또는 하나 이상의 뷰로 패킹할 수 있다. 패커(2950)는 패킹에 관한 시그널링 정보인 메타데이터를 생성할 수 있다. 메타데이터는 패킹 뷰의 사이즈 정보를 포함할 수 있다. 예를 들어, 패킹 뷰의 너비, 높이 등을 포함할 수 있다. 실시예들에 따라, 패커(2920)는 패킹에 관련된 동작을 수행하기 위해서 메타데이터를 실시예들에 따른 방법/장치/시스템으로부터 수신할 수 있다. 메타데이터는 패킹 수행 시 필요한 패킹 사이즈 (너비 및/또는 높이 등)를 포함할 수 있다.
패킹 이후 생성되는 메타데이터는 블록의 포함 관계를 나타내는 맵 정보를 포함할 수 있다. 실시예들에 따른 송신 방법/장치가 패킹된 영상(뷰)를 송신하면, 실시예들에 따른 수신 방법/장치가 메타데이터에 기반하여 송신 측의 역과정으로 언패킹을 수행할 수 있다.
최종적으로, 패커(2920)는 패킹된 뷰를 생성하여, 전송할 수 있다.
실시예들에 따른 메타데이터는 다음과 같은 정보를 포함할 수 있다.
실시예들에 따른 방법/장치는 블록 관련 메타데이터를 생성할 수 있고, 균일 블록 분할 방식인 경우 다음과 같은 메타데이터를 생성하고 전송/수신할 수 있다.
임계치 기반 파티셔닝 블록 선택 프로세스와 관련된 메타데이터(파라미터)
파라미터 디스크립션
SparseViewHeightSize Sparse View의 높이 크기
SparseViewWidthSize Sparse View의 너비 크기
BlockHeightSize Block의 높이 크기
BlockWidthSize Block의 너비 크기
BlockThreshold Block 선택 시 임계치 기준(%)
BlockViewIndex Block이 어떤 Sparse view에 포함되어 있는지 에 대한 Index(Metadata)
BlockPositionIndex Block이 Sparse view 내에서 몇 번째 위치인지에 대한 Index(Metadata)
ProcessFrame 시행할 프레임 수
실시예들에 따른 프레임 수란, 실시예들에 따른 코딩 처리의 단위가 되는 프레임의 개수를 말한다.
실시예들에 따른 방법/장치는 하이-레벨 신택스의 SEI메시지를 다음과 같이 생성하고 비디오 영상 데이터와 함께 시그널링 정보로서 함께 전송/수신할 수 있다.
실시예들에 따른 SEI메시지는 partiioning_op 디스크립터를 포함할 수 있다.
파티셔닝 프로세스 관련 신택스
partitioning_op( block_height_size, block_width_size, block_threshold, payload) { Descriptor
non_gray_area
if( (block_height_size * block_width_size) * block_threshold <= non_gray_area)
discard
………
else if( (block_height_size * block_width_size) * block_threshold > non_gray_area)
select(payload)
………
이하, 실시예들에 따른 임계치/블록 파티셔닝에 관련된 메타데이터를 나타낸다.
partitioning_op: 파티셔닝의 동작을 나타낸다.
block_height_size: 블록의 높이 사이즈를 나타낸다.
block_width_size: 블록의 너비 사이즈를 나타낸다.
block_threshold: 블록의 스레스홀드(임계치)를 나타낸다.
payload: 페이로드를 나타낸다.
non_gray_area: 블록의 그레이 영역이 아님을 나타낸다.
if( (block_height_size * block_width_size) * block_threshold <= non_gray_area): 블록의 높이 사이즈 및 브록의 너비 사이즈를 곱한 값에 블록 스레스 홀드을 곱한 값이 논-그레이 영역보다 같거나 작으면, 해당 블록을 버린다.
else if( (block_height_size * block_width_size) * block_threshold > non_gray_area): 반대로, 그렇지 않은 경우, select(payload): 해당 블록을 선택 완료하고, 패킹 뷰에 포함시킴으로써 페이로드에 저장한다.
또한, 실시예들에 따른 SEI메시지는 다음과 같은 페이로드를 포함할 수 있다.
실시예들에 따른 방법/장치가 블록을 선택한 경우 메타데이터가 다음과 같이 시그널링될 수 있다.
페이로드 신택스
select(payload) { Descriptor
sparse_view_height_size u(8)
sparse_view_width_size u(8)
block_height_size u(8)
block_width_size u(8)
block_threshold u(8)
block_view_index u(8)
block_position_index u(8)
process_frame u(8)
for(i=0; i < process_frame; i++) {
write_metadata
}
sparse_view_height_size: 스파스 뷰의 높이 사이즈를 나타낸다.
sparse_view_width_size: 스파스 뷰의 너비 사이즈를 나타낸다.
block_height_size: 블록의 높이 사이즈를 나타낸다.
block_width_size: 블록의 너비 사이즈를 나타낸다.
block_threshold: 블록의 스레스 홀드(임계치)를 나타낸다.
block_view_index: 블록의 뷰 인덱스를 나타낸다.
block_position_index: 블록의 위치 인덱스를 나타낸다.
process_frame: 코딩 처리 단위인 프로세스 프레임의 수를 나타낸다.
for(i=0; i < process_frame; i++) write_metadata: 프로세스 프레임마다 파티셔닝에 따른 메타데이터를 생성하는 과정을 나타낸다.
실시예들에 따라 시그널링 정보는 다음과 같이 xml 형태로 생성될 수 있다.
<packing_block_info>
<sparse_view_height_size=””sparse_view_width_size=”2048”
block_height_size=””block_width_size=””
block_threshold=””
block_view_index=””block_position_index=””?gt;
</packing_block_info>
예를 들어, 스파스 뷰의 높이 사이즌 4096, 스파스 뷰의 너비 사이즈는 2048, 블록의 높이 사이즈는 64, 블록의 너비 사이즈는 32, 블록의 스레스홀드는 10이고, 블록의 뷰 인덱스는 3이고 블록의 위치 인텍스는 21일 수 있다.
상술한 실시예들로 인하여, 실시얘들에 따른 방법/장치는 임계치 기반 파티셔닝 블록 선택 기법을 수행할 수 있고, 3DoF+의 여러 장의 고화질 영상의 블록들을 선택적으로 병합하여 대역폭 상황에 따라 임계치를 맞추어 3DoF+의 유연하고 적응적인 서비스를 제공할 수 있는 효과가 있다.
실시예들에 따른 비디오 송신 방법의 패킹하는 단계는, 하나 또는 하나 이상의 소스 뷰들을 블록들에 기반하여 분할하고, 블록들을 임계치에 기반하여 선택하여 패킹하는 단계를 포함할 수 있다.
실시예들에 따른 비디오 수신 방법의 언패킹하는 단계는, 패킹 픽쳐를 블록 및 임계치에 기반하여 언패킹하는 단계를 포함할 수 있다.
또한, 실시예들에 따른 방법/장치는 실시예들에 따른 패킹에 사용되는 블록(또는 뷰의 영역, 픽쳐 등으로 지칭 가능함)을 다음과 같은 시그널링 정보를 파일 형태로 비트스트림에 포함(인캡슐레이션)시켜서 전송할 수 있다.
예를 들어,
aligned(8) class RegionWisePackingStruct() {
unsigned int(1) constituent_picture_matching_flag;
bit(7) reserved = 0;
unsigned int(8) num_regions;
unsigned int(32) proj_picture_width;
unsigned int(32) proj_picture_height;
unsigned int(16) packed_picture_width;
unsigned int(16) packed_picture_height;
for (i = 0; i < num_regions; i++) {
bit(3) reserved = 0;
unsigned int(1) guard_band_flag[i];
unsigned int(4) packing_type[i];
if (packing_type[i] == 0) {
RectRegionPacking(i);
if (guard_band_flag[i])
GuardBand(i);
}
}
}
constituent_picture_matching_flag 가 1이면, 프로젝션된 영역 정보, 패킹된 영역 정보, 가드 밴드 영역 정보가 각각 픽쳐에 대해 개별적으로 적용됨을 나타낸다. 이 값이 0이면 프로젝션된 영역 정보, 패킹된 영역 정보, 가드 밴드 영역 정보가 프로젝션된 픽쳐에 대해 적용됨을 나타낸다.
num_regions 는 패킹된 영역의 개수를 나타낸다.
proj_picture_width 및 proj_picture_height 는 프로젝션된 픽쳐의 너비 및 높이를 각각 나타낸다.
packed_picture_width 및 packed_picture_height 는 패킹된 픽쳐의 너비/높이를 각각 나타낸다. 상술한 블록의 너비/높이에 대응될 수 있다.
guard_band_flag[i] 는 픽쳐 내 가드밴드가 존재하는지 여부를 나타낸다.
packing_type[i] 는 패킹 프로세스의 타입을 나타낸다.
RectRegionPacking(i) 는 I번째 프로젝션된 리젼 및 I번째 패킹된 리젼(영역) 간의 패킹을 나타낸다.
GuardBand(i) 는 I번재 패킹된 리젼을 위한 가드 밴드를 나타낸다.
실시예들에 따른 비디오 송수신 방법/장치는 상술한 실시예들에 기초하여, 3DoF+의 여러 장의 고화질 영상의 블록들을 선택적으로 병합할 수 있고, 추가적으로, 대역폭 상황에 따라 임계치를 맞추어 3DoF+의 유연하고 적응적인 서비스를 제공할 수 있다. 또한, 임계치를 가변적으로 적용함으로써, 의미 있는 정보를 효율적으로 전달할 수 있다.
도30은 실시예들에 따른 360 비디오 송수신 장치가 V-PCC 기반 포인트 클라우드 데이터 저장 및 스트리밍을 위한 아키텍쳐와 연계되는 예시를 나타낸다.
도면의 시스템의 일부/전부는 도2-4, 11, 13-15에서 설명한 360비디오 송수신 방법/장치(또는 비디오 송수신 방법/장치로 지칭 가능)와 대응되거나, 서로 보완하여 연계될 수 있다. 도면의 각 구성요소는 소프트웨어, 하드웨어, 프로세서 및/또는 그것들의 조합에 대응할 수 있다.
실시예들에 따른 비디오 데이터는 포인트 클라우드 데이터와 함께 연계되어 사용자에게 VR/AR서비스를 제공하기 위해서 도면과 같이 처리될 수 있다.
실시예들에 다른 포인트 클라우드 콘텐츠는 오브젝트를 포인트들로 표현한 데이터를 나타내고, 포인트 클라우드, 포인트 클라우드 데이터, 포인트 클라우드 비디오 데이터, 포인트 클라우드 이미지 데이터 등으로 지칭될 수 있다.
또한, 실시예들에 따른 비디오 데이터는 포인트 클라우드 콘텐츠의 한 종류에 포함될 수 있다.
도면은Video-based Point Cloud Compression(V-PCC) 를 기반으로 압축되는 point cloud 데이터를 저장 혹은 스트리밍을 위한 전체 아키텍쳐를 도시한 도면이다. Point cloud 데이터 저장 및 스트리밍의 과정은 획득 과정, 인코딩 과정, 전송 과정, 디코딩 과정, 랜더링 과정 및/또는 피드백 과정을 포함할 수 있다.
실시예들은point cloud 미디어/콘텐츠/데이터를 효과적으로 제공하는 방안을 제안한다.
포인트 클라우드 획득부(20000)는 Point cloud 미디어/콘텐츠/데이터를 효과적으로 제공하기 위하여 먼저, point cloud 비디오를 획득한다. 예를 들어 하나 이상의 카메라를 통하여 Point Cloud의 캡처, 합성 또는 생성 과정 등을 통한 Point Cloud 데이터를 획득할 수 있다. 이러한 획득 과정에 의해 각 포인트의 3D 위치(x, y, z 위치 값 등으로 나타낼 수 있다. 이하 이를 지오메트리라고 일컫는다), 각 포인트의 속성 (color, reflectance, transparency 등)을 포함하는 point cloud 비디오를 획득할 수 있으며 이를 포함하는, 예를 들어, PLY(Polygon File format or the Stanford Triangle format) 파일 등으로 생성 될 수 있다. 여러 개의 프레임을 갖는 point cloud 데이터의 경우 하나 이상의 파일들이 획득될 수 있다. 이러한 과정에서 point cloud 관련 메타데이터 (예를 들어 캡처 등과 관련된 메타데이터 등)가 생성될 수 있다.
캡쳐된 Point Cloud 비디오는 콘텐츠의 질을 향상시키기 위한 후처리가 필요할 수 있다. 영상 캡쳐 과정에서 카메라 장비가 제공하는 범위에서 최대/최소 깊이 값을 조정할 수 있지만 그 이후에도 원하지 않는 영역의 points 데이터들이 포함될 수 있어서 원하지 않는 영역(예, 배경)을 제거 한다거나, 또는 연결된 공간을 인식하고 구멍(spatial hole)을 메우는 후처리를 수행할 수 있다. 또한 공간 좌표계를 공유하는 카메라들로부터 추출된 Point Cloud는 캘리브레이션 과정을 통해 획득된 각 카메라의 위치 좌표를 기준으로 각 point들에 대한 글로벌 좌표계로의 변환 과정을 통해 하나의 콘텐츠로 통합될 수 있다. 이를 통해point들의 밀도가 높은 Point Cloud 비디오를 획득할 수도 있다.
Point Cloud 전처리부(point cloud pre-processing, 30001) 는 point cloud 비디오를 하나 이상의 픽처(picture)/프레임(frame)을 생성할 수 있다. 여기서 픽처(picture)/프레임(frame)은 일반적으로 특정 시간대의 하나의 영상을 나타내는 단위를 의미할 수 있다. Point cloud 비디오를 구성하는 점들을 하나 이상의 패치(point cloud를 구성하는 점들의 집합으로, 같은 patch에 속하는 점들은 3차원 공간상에서 서로 인접해 있으며 2D 이미지로의 맵핑 과정에서 6면의 bounding box 평면 중 같은 방향으로 맵핑되는 점들의 집합)로 나누어2D 평면에 맵핑할 때 2D 평면의 해당 위치에 데이터가 존재하는 여부를 0 또는 1의 값으로 알려주는 2진 맵 (binary map) 인어큐판시(occupancy) 맵 픽처/프레임을 생성할 수 있다. 그리고 Point Cloud 비디오를 이루는 각 점들의 위치 정보 (geometry)를 패치 단위로 표현하는 depth map 형태의 픽처/프레임인 지오메트리 픽처/프레임을 생성할 수 있다. Point cloud 비디오를 이루는 각 점들의 색상 정보를 패치 단위로 표현하는 픽처/프레임인 텍스처 픽츠/프레임을 생성할 수 있다.이러한 과정에서 개별 패치들로부터 point cloud를 재구성하기 위해 필요한 메타데이터가 생성될 수 있으며 이는 각 패치의2D/3D 공간에서의 위치, 크기 등 패치에 대한 정보를 포함할 수 있다. 이러한 픽처/프레임들이 시간순으로 연속적으로 생성되어 비디오 스트림 혹은 메타데이터 스트림을 구성할 수 있다.
Point Cloud 비디오 인코더(30002)는Point Cloud 비디오와 연관된 하나 이상의 비디오 스트림으로 인코딩할 수 있다. 하나의 비디오는 다수의 프레임을 포함할 수 있으며, 하나의 프레임은 정지 영상/픽처에 대응될 수 있다. 본 문서에서, Point Cloud 비디오라 함은 Point Cloud 영상/프레임/픽처를 포함할 수 있으며, Point Cloud 비디오는 Point Cloud 영상/프레임/픽처와 혼용되어 사용될 수 있다. Point Cloud 비디오 인코더는 Video-based Point Cloud Compression (V-PCC) 절차를 수행할 수 있다. Point Cloud 비디오 인코더는 압축 및 코딩 효율을 위하여 예측, 변환, 양자화, 엔트로피 코딩 등의 일련의 절차를 수행할 수 있다. 인코딩된 데이터(인코딩된 비디오/영상 정보)는 비트스트림(bitstream) 형태로 출력될 수 있다. V-PCC 절차에 기반하는 경우 Point Cloud 비디오 인코더는 Point Cloud 비디오를 후술하는 바와 같이 지오메트리 비디오, 어트리뷰트(attribute) 비디오, 어큐판시(occupancy) 맵 비디오, 그리고 메타데이터, 예를 들어 패치에 대한 정보로 나누어 인코딩할 수 있다. 지오메트리 비디오는 지오메트리 이미지를 포함할 수 있고, 어트리뷰트(attribute) 비디오는 어트리뷰트 이미지를 포함할 수 있고, 어큐판시(occupancy) 맵 비디오는 어큐판시 맵 이미지를 포함할 수 있다. 부가 정보인 패치 데이터는 패치 관련 정보를 포함할 수 있다. 어트리뷰트 비디오/이미지는 텍스쳐 비디오/이미지를 포함할 수 있다.
Point Cloud 이미지 인코더(30003)는Point Cloud 비디오와 연관된 하나 이상의 이미지로 인코딩할 수 있다. Point Cloud이미지인코더는 Video-based Point Cloud Compression (V-PCC) 절차를 수행할 수 있다. Point Cloud이미지 인코더는 압축 및 코딩 효율을 위하여 예측, 변환, 양자화, 엔트로피 코딩 등의 일련의 절차를 수행할 수 있다. 인코딩된 이미지는 비트스트림(bitstream) 형태로 출력될 수 있다. V-PCC 절차에 기반하는 경우 Point Cloud이미지 인코더는 Point Cloud 이미지를 후술하는 바와 같이 지오메트리 이미지, 어트리뷰트(attribute) 이미지, 어큐판시(occupancy) 맵 이미지, 그리고 메타데이터, 예를 들어 패치에 대한 정보로 나누어 인코딩할 수 있다.
실시예들에 따른 포인트 클라우드 비디오 인코더 및/또는 포인트 클라우드 이미지 인코더는 실시예들에 따른 PCC 비트스트림(G-PCC 및/또는 V-PCC 비트스트림)을 생성할 수 있다.
실시예들에 따라, 비디오 인코더(2002), 이미지 인코더(20002), 비디오 디코딩(20006), 이미지 디코딩은 상술한 바와 같이 하나의 인코더/디코더에 의해 수행될 수 있고, 도면과 같이 별개의 경로로 수행될 수 있다.
인캡슐레이션(file/segment encapsulation, 20004)는 인코딩된 Point cloud데이터 및/또는 Point cloud관련 메타데이터를 파일 또는 스트리밍을 위한 세그먼트 등의 형태로 인캡슐레이션할 수 있다. 여기서 Point cloud 관련 메타데이터는 메타데이터 처리부 등으로부터 전달받은 것일 수 있다. 메타데이터 처리부는 point cloud 비디오/이미지 인코더에 포함될 수도 있고, 또는 별도의 컴포넌트/모듈로 구성될 수도 있다. 인캡슐레이션 처리부는 해당 비디오/이미지/메타데이터를 ISOBMFF 등의 파일 포맷으로 인캡슐레이션하거나, DASH 세그먼트 등의 형태로 처리할 수 있다. 인캡슐레이션 처리부는 실시 예에 따라 Point cloud관련 메타데이터를 파일 포맷 상에 포함시킬 수 있다. Point cloud 메타데이터는 예를 들어 ISOBMFF 파일 포맷 상의 다양한 레벨의 박스(box)에 포함되거나 파일 내에서 별도의 트랙내의 데이터로 포함될 수 있다. 실시 예에 따라, 인캡슐레이션 처리부는 Point cloud관련 메타데이터 자체를 파일로 인캡슐레이션할 수 있다.
실시예들에 따른 인캡슐레이션 또는 인캡슐레이터는 G-PCC/V-PCC 비트스트림을 파일 내 하나 혹은 복수 개의 트랙으로 분할 저장하고, 이를 위한 시그널링 정보도 함께 인캡슐레이팅할 수 있다. 또한, G-PCC/V-PCC 비트스트림 상에 포함되어 있는 atlas 스트림을 파일 내 트랙으로 저장하고, 관련 시그널링 정보를 저장할 수 있다. 나아가, G-PCC/V-PCC 비트스트림 상에 존재하는 SEI 메시지를 파일 내 트랙 내 저장하고, 관련 시그널링 정보를 저장할 수 있다.
전송 처리부는 파일 포맷에 따라 인캡슐레이션된 Point cloud데이터에 전송을 위한 처리를 가할 수 있다. 전송 처리부는 전송부에 포함될 수도 있고, 또는 별도의 컴포넌트/모듈로 구성될 수도 있다. 전송 처리부는 임의의 전송 프로토콜에 따라 Point cloud데이터를 처리할 수 있다. 전송을 위한 처리에는 방송망을 통한 전달을 위한 처리, 브로드밴드를 통한 전달을 위한 처리를 포함할 수 있다. 실시 예에 따라 전송 처리부는 Point cloud 데이터 뿐 아니라, 메타데이터 처리부로부터 Point cloud 관련 메타데이터를 전달받아, 이 것에 전송을 위한 처리를 가할 수도 있다.
전송부는 point cloud 비트스트림 혹은 해당 비트스트림을 포함하는 파일/세그먼트를 디지털 저장매체 또는 네트워크를 통하여 수신 디바이스의 수신부로 전달할 수 있다. 전송을 위해 임의의 전송 프로토콜에 따른 처리가 수행될 수 있다. 전송을 위한 처리를 마친 데이터들은 방송망 및/또는 브로드밴드를 통해 전달될 수 있다. 이 데이터들은 온 디맨드(On Demand) 방식으로 수신측으로 전달될 수도 있다.디지털 저장 매체는 USB, SD, CD, DVD, 블루레이, HDD, SSD 등 다양한 저장 매체를 포함할 수 있다. 전송부는 미리 정해진 파일 포멧을 통하여 미디어 파일을 생성하기 위한 엘리먼트를 포함할 수 있고, 방송/통신 네트워크를 통한 전송을 위한 엘레멘트를 포함할 수 있다. 수신부는 비트스트림을 추출하여 디코딩 장치로 전달할 수 있다.
수신부는 본 발명에 따른 point cloud 데이터 전송 장치가 전송한 point cloud 데이터를 수신할 수 있다. 전송되는 채널에 따라 수신부는 방송망을 통하여 point cloud데이터를 수신할 수도 있고, 브로드밴드를 통하여 point cloud데이터를 수신할 수도 있다. 혹은 디지털 저장 매체를 통하여 point cloud 비디오 데이터를 수신할 수도 있다. 수신부는 수신한 데이터를 디코딩 하고 이를 사용자의 뷰포트 등에 따라 랜더링하는 과정을 포함할 수 있다.
수신 처리부는 수신된 point cloud비디오 데이터에 대해 전송 프로토콜에 따른 처리를 수행할 수 있다. 수신 처리부는 수신부에 포함될 수 있고, 또는 별도의 컴포넌트/모듈로 구성될 수도 있다. 전송측에서 전송을 위한 처리가 수행된 것에 대응되도록, 수신 처리부는 전술한 전송 처리부의 역과정을 수행할 수 있다. 수신 처리부는 획득한 point cloud 비디오를 디캡슐레이션 처리부로 전달하고, 획득한 point cloud 관련 메타데이터는 메타데이터 파서로 전달할 수 있다.
디캡슐레이션 처리부(file/segment decapsulation, 30005)는 수신 처리부로부터 전달받은 파일 형태의 point cloud데이터를 디캡슐레이션할 수 있다. 디캡슐레이션 처리부는 ISOBMFF 등에 따른 파일들을 디캡슐레이션하여, point cloud비트스트림 내지 point cloud 관련 메타데이터(혹은 별도의 메타데이터 비트스트림)를 획득할 수 있다. 획득된 point cloud비트스트림은 point cloud디코더로, 획득된 point cloud관련 메타데이터(혹은 메타데이터 비트스트림)는 메타데이터 처리부로 전달할 수 있다. point cloud비트스트림은 메타데이터(메타데이터 비트스트림)를 포함할 수도 있다. 메타데이터 처리부는 point cloud 비디오 디코더에 포함될 수도 있고, 또는 별도의 컴포넌트/모듈로 구성될 수도 있다. 디캡슐레이션 처리부가 획득하는 point cloud관련 메타데이터는 파일 포맷 내의 박스 혹은 트랙 형태일 수 있다. 디캡슐레이션 처리부는 필요한 경우 메타데이터 처리부로부터 디캡슐레이션에 필요한 메타데이터를 전달받을 수도 있다. point cloud관련 메타데이터는 point cloud디코더에 전달되어 point cloud디코딩 절차에 사용될 수도 있고, 또는 렌더러에 전달되어 point cloud렌더링 절차에 사용될 수도 있다.
Point Cloud 비디오 디코더(30006)는 비트스트림을 입력받아 Point Cloud 비디오 인코더의 동작에 대응하는 동작을 수행하여 비디오/영상을 디코딩할 수 있다. 이 경우 Point Cloud 비디오 디코더는 Point Cloud 비디오를 후술하는 바와 같이 지오메트리 비디오, 어트리뷰트(attribute) 비디오, 어큐판시(occupancy) 맵 비디오, 그리고 부가적인 패치 관련 정보(auxiliary patch information )으로 나누어 디코딩할 수 있다. 지오메트리 비디오는 지오메트리 이미지를 포함할 수 있고, 어트리뷰트(attribute) 비디오는 어트리뷰트 이미지를 포함할 수 있고, 어큐판시(occupancy) 맵 비디오는 어큐판시 맵 이미지를 포함할 수 있다. 부가 정보는 부가 패치 정보(auxiliary patch information)를 포함할 수 있다. 어트리뷰트 비디오/이미지는 텍스쳐 비디오/이미지를 포함할 수 있다.
디코딩된 지오메트리 이미지와 오큐판시 맵 및 부가 패치 정보를 이용하여 3차원 지오메트리가 복원되며 이후 스무딩 과정을 거칠 수 있다. 스무딩된 3차원 지오메트리에 텍스처 이미지를 이용하여 컬러값을 부여함으로써 컬러 포인트 클라우드 영상/픽처가 복원될 수 있다. 렌더러는 복원된 지오메트리, 컬러 포인트 클라우드 영상/픽처를렌더링할 수 있다. 렌더링된 비디오/영상은 디스플레이부를 통하여 디스플레이될 수 있다. 사용자는 VR/AR 디스플레이 또는 일반 디스플레이 등을 통하여 렌더링 된 결과의 전부 또는 일부 영역을 볼 수 있다.
센싱/트랙킹부(Sensing/Tracking, 30007)는 사용자 또는 수신측로부터 오리엔테이션 정보 및/또는 사용자 뷰포트 정보를 획득하여 수신부 및/또는 송신부에 전달한다. 오리엔테이션 정보는 사용자의 머리 위치, 각도, 움직임 등에 대한 정보를 나타내거나 혹은 사용자가 보고 있는 장치의 위치, 각도, 움직임 등에 대한 정보를 나타낼 수 있다. 이 정보를 기반으로 사용자가 현재 3차원 공간 상에서 보고 있는 영역에 대한 정보, 즉 뷰포트 정보가 계산될 수 있다.
뷰포트 정보는 현재 사용자가 3차원 공간 상에서 디바이스 혹은 HMD 등을 통하여 보고 있는 영역에 대한 정보일 수 있다. 디스플레이 등의 장치는 오리엔테이션 정보, 장치가 지원하는 수직(vertical) 혹은 수평(horizontal) FOV 등에 근거하여 뷰포트 영역을 추출할 수 있다. 오리엔테이션 혹은 뷰포트 정보는 수신측에서 추출 혹은 계산될 수 있다. 수신측에서 분석된 오리엔테이션 혹은 뷰포트 정보는 송신측으로 피드백 채널을 통해 전달될 수도 있다.
수신부는 센싱/트랙킹부에 의해 획득된 오리엔테이션 정보 및/또는사용자가 현재 보고 있는 영역을 나타내는뷰포트 정보를 사용하여 특정 영역, 즉 오리엔테이션 정보 및/또는 뷰포트 정보가 나타내는 영역의 미디어 데이터만 효율적으로 파일에서 추출하거나 디코딩할 수 있다. 또한, 송신부는 센싱/트랙부에 의해 획득된 오리엔테이션 정보 및/또는 뷰포트 정보를 사용하여 특정 영역, 즉 오리엔테이션 정보 및/또는 뷰포트 정보가 나타내는 영역의 미디어 데이터만 효율적으로 인코딩하거나 파일 생성 및 전송할 수 있다.
렌더러는 3차원 공간 상에 디코딩된 Point Cloud 데이터를 렌더링 할 수 있다. 렌더링된 비디오/영상은 디스플레이부를 통하여 디스플레이될 수 있다. 사용자는 VR/AR 디스플레이 또는 일반 디스플레이 등을 통하여 렌더링 된 결과의 전부 또는 일부 영역을 볼 수 있다.
피드백 과정은 렌더링/디스플레이 과정에서 획득될 수 있는 다양한 피드백 정보들을 송신측으로 전달하거나 수신측의 디코더에 전달하는 과정을 포함할 수 있다. 피드백 과정을 통해 Point Cloud 데이터 소비에 있어 인터랙티비티(interactivity)가 제공될 수 있다. 실시예에 따라, 피드백 과정에서 헤드 오리엔테이션(Head Orientation) 정보, 사용자가 현재 보고 있는 영역을 나타내는 뷰포트(Viewport) 정보 등이 전달될 수 있다. 실시 예에 따라, 사용자는 VR/AR/MR/자율주행 환경 상에 구현된 것들과 상호작용 할 수도 있는데, 이 경우 그 상호작용과 관련된 정보가 피드백 과정에서 송신측 내지 서비스 프로바이더 측으로 전달될 수도 있다. 실시 예에 따라 피드백 과정은 수행되지 않을 수도 있다.
실시예에 따라 전술한 피드백 정보는 송신측으로 전달되는 것 뿐아니라, 수신측에서 소비될 수도 있다. 즉, 전술한 피드백 정보를 이용하여 수신측의 디캡슐레이션 처리, 디코딩, 렌더링 과정 등이 수행될 수 있다. 예를 들어, 오리엔테이션 정보 및/또는 뷰포트 정보를 이용하여 현재 사용자가 보고 있는 영역에 대한 point cloud 데이터가 우선적으로 디캡슐레이션, 디코딩 및 렌더링될 수도 있다.
실시예들에 따른 비디오 송수신 방법/장치는 상술한 실시예들에 기초하여, 3DoF+의 여러 장의 고화질 영상을 V-PCC 방식으로 인코딩/디코딩하여 사용자에게 제공할 수 있다.
도31은 실시예들에 따른 비디오 송신 방법의 예시를 나타낸다.
S3100, 실시예들에 따른 비디오 송신 방법은 비디오 데이터를 프로세싱하는 프리-프로세싱 단계를 포함한다. 실시예들에 따른 프리-프로세싱 방법은 도1-4, 도11 -15, 도18-20, 도22-30에서 설명한 실시예들에 따른 비디오 송신 장치의 프리-프로세서 등에 관련된 설명을 참조한다.
S3110, 실시예들에 따른 비디오 송신 방법은 비디오 데이터를 인코딩하는 단계를 포함할 수 있다. 실시예들에 따른 인코딩 방법은 도1-4, 도11 -15, 도18-20, 도22-30에서 설명한 실시예들에 따른 비디오 송신 장치의 인코더 등에 관련된 설명을 참조한다.
S3120, 실시예들에 따른 비디오 송신 방법은 비디오 데이터를 포함하는 비트스트림을 전송하는 단계를 포함할 수 있다. 실시예들에 따른 전송 방법은 실시예들에 따른 프리-프로세싱 방법은 도1-4, 도11 -15, 도18-20, 도22-30에서 설명한 실시예들에 따른 비디오 송신 장치의 트랜스미터 등에 관련된 설명을 참조한다.
실시예들에 따른 비디오 송신 방법은 상술한 실시예들에 기초하여, 3DoF+의 여러 장의 고화질 영상의 블록들을 선택적으로 병합할 수 있고, 추가적으로, 대역폭 상황에 따라 임계치를 맞추어 3DoF+의 유연하고 적응적인 서비스를 제공할 수 있다.
도32는 실시예들에 따른 비디오 수신 방법의 예시를 나타낸다.
S3200, 실시예들에 따른 비디오 수신 방법은 비디오 데이터를 수신하는 단계를 포함한다. 실시예들에 따른 수신 방법은 실시예들에 따른 프리-프로세싱 방법은 도1-4, 도11 -15, 도18-20, 도22-30에서 설명한 실시예들에 따른 비디오 수신 장치의 리시버 등에 관련된 설명을 참조한다.
S3210, 실시예들에 따른 비디오 수신 방법은 비디오 데이터를 디코딩하는 단계를 포함할 수 있다. 실시예들에 따른 디코딩 방법은 도1-4, 도11 -15, 도18-20, 도22-30에서 설명한 실시예들에 따른 비디오 수신 장치의 디코더 등에 관련된 설명을 참조한다.
또한, 실시예들에 따른 디코딩 방법은 도1-4, 도11 -15, 도18-20, 도22-30에서 설명한 실시예들에 따른 비디오 수신 장치의 포스트-프로세서의 동작을 포함하거나, 실시예들에 따른 디코더와 연계하여 도1-4, 도11 -15, 도18-20, 도22-30에서 설명한 포스트-프로세싱을 수행하는 포스트-프로세서가 수신 장치에 더 포함될 수 있다.
S3220, 실시예들에 따른 비디오 수신 방법은 비디오 데이터를 렌더링 하는 단계를 포함할 수 있다. 실시예들에 따른 수신 방법은 도1-4, 도11 -15, 도18-20, 도22-30에서 설명한 실시예들에 따른 비디오 수신 장치의 리시버 등에 관련된 설명을 참조한다.
실시예들에 따른 비디오 수신 방법은 상술한 실시예들과 결합될 수 있고, 수신 설명은 상술한 송신 설명의 역과정을 참조할 수 있다.
또한, 실시예들에 따른 비디오 수신 방법은 상술한 실시예들에 기초하여, 3DoF+의 여러 장의 고화질 영상의 블록들을 선택적으로 병합할 수 있고, 추가적으로, 대역폭 상황에 따라 임계치를 맞추어 3DoF+의 유연하고 적응적인 서비스를 제공할 수 있다.
실시예들은 방법 및/또는 장치 관점에서 설명되었으며, 방법의 설명 및/또는 장치의 설명은 상호 보완하여 해석될 수 있다.
설명의 편의를 위하여 각 도면을 나누어 설명하였으나, 각 도면에 서술되어 있는 실시 예들을 병합하여 새로운 실시 예를 구현하도록 설계하는 것도 가능하다. 그리고, 통상의 기술자의 필요에 따라, 이전에 설명된 실시 예들을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체를 설계하는 것도 실시예들의 권리범위에 속한다. 실시예들에 따른 장치 및 방법은 상술한 바와 같이 설명된 실시 예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 실시 예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다. 실시예들의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 실시예들은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 실시예들의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 실시예들의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.
실시예들의 장치의 다양한 구성요소들은 하드웨어, 소프트웨어, 펌웨어 또는 그것들의 조합에 의해 수행될 수 있다. 실시예들의 다양한 구성요소들은 하나의 칩, 예를 들면 하나의 하드웨어 서킷으로 구현될 수 있다 실시예들에 따라, 실시예들에 따른 구성요소들은 각각 별도의 칩들로 구현될 수 있다. 실시예들에 따라, 실시예들에 따른 장치의 구성요소들 중 적어도 하나 이상은 하나 또는 그 이상의 프로그램들을 실행 할 수 있는 하나 또는 그 이상의 프로세서들로 구성될 수 있으며, 하나 또는 그 이상의 프로그램들은 실시예들에 따른 동작/방법들 중 어느 하나 또는 그 이상의 동작/방법들을 수행시키거나, 수행시키기 위한 인스트럭션들을 포함할 수 있다. 실시예들에 따른 장치의 방법/동작들을 수행하기 위한 실행 가능한 인스트럭션들은 하나 또는 그 이상의 프로세서들에 의해 실행되기 위해 구성된 일시적이지 않은 CRM 또는 다른 컴퓨터 프로그램 제품들에 저장될 수 있거나, 하나 또는 그 이상의 프로세서들에 의해 실행되기 위해 구성된 일시적인 CRM 또는 다른 컴퓨터 프로그램 제품들에 저장될 수 있다. 또한 실시예들에 따른 메모리는 휘발성 메모리(예를 들면 RAM 등)뿐 만 아니라 비휘발성 메모리, 플래쉬 메모리, PROM등을 전부 포함하는 개념으로 사용될 수 있다. 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함될 수 있다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이 문서에서 “/”와 “,”는 “및/또는”으로 해석된다. 예를 들어, “A/B”는 “A 및/또는 B”로 해석되고, “A, B”는 “A 및/또는 B”로 해석된다. 추가적으로, “A/B/C”는 “A, B 및/또는 C 중 적어도 하나”를 의미한다. 또한, “A, B, C”도 “A, B 및/또는 C 중 적어도 하나”를 의미한다. 추가적으로, 이 문서에서 “또는”는 “및/또는”으로 해석된다. 예를 들어, “A 또는 B”은, 1) “A” 만을 의미하고, 2) “B” 만을 의미하거나, 3) “A 및 B”를 의미할 수 있다. 달리 표현하면, 본 문서의 “또는”은 “추가적으로 또는 대체적으로(additionally or alternatively)”를 의미할 수 있다.
제1, 제2 등과 같은 용어는 실시예들의 다양한 구성요소들을 설명하기 위해 사용될 수 있다. 하지만 실시예들에 따른 다양한 구성요소들은 위 용어들에 의해 해석이 제한되어서는 안된다. 이러한 용어는 하나의 구성요소를 다른 구성요소와 구별하기 위해 사욛외는 것에 불과하다. 것에 불과하다. 예를 들어, 제1 사용자 인풋 시그널은 제2사용자 인풋 시그널로 지칭될 수 있다. 이와 유사하게, 제2사용자 인풋 시그널은 제1사용자 인풋시그널로 지칭될 수 있다. 이러한 용어의 사용은 다양한 실시예들의 범위 내에서 벗어나지 않는 것으로 해석되어야만 한다. 제1사용자 인풋 시그널 및 제2사용자 인풋 시그널은 모두 사용자 인풋 시그널들이지만, 문맥 상 명확하게 나타내지 않는 한 동일한 사용자 인풋 시그널들을 의미하지 않는다.
실시예들을 설명하기 위해 사용된 용어는 특정 실시예들을 설명하기 위한 목적으로 사용되고, 실시예들을 제한하기 위해서 의도되지 않는다. 실시예들의 설명 및 청구항에서 사용된 바와 같이, 문맥 상 명확하게 지칭하지 않는 한 단수는 복수를 포함하는 것으로 의도된다. 및/또는 표현은 용어 간의 모든 가능한 결합을 포함하는 의미로 사용된다. 포함한다 표현은 특징들, 수들, 단계들, 엘리먼트들, 및/또는 컴포넌트들이 존재하는 것을 설명하고, 추가적인 특징들, 수들, 단계들, 엘리먼트들, 및/또는 컴포넌트들을 포함하지 않는 것을 의미하지 않는다. 실시예들을 설명하기 위해 사용되는, ~인 경우, ~때 등의 조건 표현은 선택적인 경우로만 제한 해석되지 않는다. 특정 조건을 만족하는 때, 특정 조건에 대응하여 관련 동작을 수행하거나, 관련 정의가 해석되도록 의도되었다.
상술한 바와 같이, 실시예들을 실시하기 위한 최선의 형태에서 관련 내용을 설명하였다.
본 발명은 VR 관련 분야에서 이용된다.
본 발명의 사상이나 범위를 벗어나지 않고 본 발명에서 다양한 변경 및 변형이 가능함은 당업자에게 자명하다. 따라서, 본 발명은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.

Claims (20)

  1. 비디오 데이터를 프로세싱하는 프리-프로세싱 단계;
    상기 비디오 데이터를 인코딩하는 단계; 및
    상기 비디오 데이터를 포함하는 비트스트림을 전송하는 단계; 를 포함하는,
    비디오 송신 방법.
  2. 제1항에 있어서,
    상기 프리-프로세싱하는 단계는,
    상기 비디오 데이터에 포함된 하나 또는 하나 이상의 소스 뷰들을 패킹 픽쳐로 패킹하는 단계; 를 포함하는,
    비디오 송신 방법.
  3. 제2항에 있어서,
    상기 패킹하는 단계는,
    상기 하나 또는 하나 이상의 소스 뷰들을 블록에 기반하여 분할하고, 분할된 분할을 패킹하는 단계를 포함하는,
    비디오 송신 방법.
  4. 제2항에 있어서,
    상기 패킹하는 단계는,
    상기 하나 또는 하나 이상의 소스 뷰들을 블록들에 기반하여 분할하고, 상기 블록들을 임계치에 기반하여 선택하여 패킹하는 단계를 포함하는,
    비디오 송신 방법.
  5. 제2항에 있어서,
    상기 패킹하는 단계는,
    상기 패킹 픽쳐에 포함된 영역에 관한 메타데이터를 생성하는 단계를 포함하는,
    비디오 송신 방법.
  6. 비디오 데이터를 프로세싱하는 프리-프로세서;
    상기 비디오 데이터를 인코딩하는 인코더; 및
    상기 비디오 데이터를 포함하는 비트스트림을 전송하는 트랜스미터; 를 포함하는,
    비디오 송신 장치.
  7. 제6항에 있어서,
    상기 프리-프로세서는,
    상기 비디오 데이터에 포함된 하나 또는 하나 이상의 소스 뷰들을 패킹 픽쳐로 패킹하는 패커; 를 포함하는,
    비디오 송신 장치.
  8. 제6항에 있어서,
    상기 패커는,
    상기 하나 또는 하나 이상의 소스 뷰들을 블록에 기반하여 분할하고, 분할된 분할을 패킹하는,
    비디오 송신 장치.
  9. 제6항에 있어서,
    상기 패커는,
    상기 하나 또는 하나 이상의 소스 뷰들을 블록들에 기반하여 분할하고, 상기 블록들을 임계치에 기반하여 선택하여 패킹하는,
    비디오 송신 장치.
  10. 제6항에 있어서,
    상기 패커는,
    상기 패킹 픽쳐에 포함된 영역에 관한 메타데이터를 생성하는,
    비디오 송신 장치.
  11. 비디오 데이터를 수신하는 단계;
    상기 비디오 데이터를 디코딩하는 단계; 및
    상기 비디오 데이터를 렌더링 하는 단계; 를 포함하는,
    비디오 수신 방법.
  12. 제11항에 있어서, 상기 방법은
    상기 디코딩된 비디오 데이터에 포함된 패킹 픽쳐를 하나 또는 하나 이상의 소스 뷰들로 언패킹하는 단계를 포함하는,
    비디오 수신 방법.
  13. 제11항에 있어서,
    상기 언패킹하는 단계는,
    상기 패킹 픽쳐를 블록에 기반하여 언패킹하는 단계를 포함하는,
    비디오 수신 방법.
  14. 제11항에 있어서,
    상기 언패킹하는 단계는,
    상기 패킹 픽쳐를 블록 및 임계치에 기반하여 언패킹하는 단계를 포함하는,
    비디오 수신 방법.
  15. 제11항에 있어서,
    상기 언패킹하는 단계는,
    상기 패킹 픽쳐에 포함된 영역에 관한 메타데이터를 수신하는 단계를 포함하는,
    비디오 수신 방법.
  16. 비디오 데이터를 수신하는 수신기;
    상기 비디오 데이터를 디코딩하는 디코더; 및
    상기 비디오 데이터를 렌더링 하는 렌더러; 를 포함하는,
    비디오 수신 장치.
  17. 제16항에 있어서, 상기 장치는,
    상기 디코딩된 비디오 데이터에 포함된 패킹 픽쳐를 하나 또는 하나 이상의 소스 뷰들로 언패킹하는 언패커를 포함하는,
    비디오 수신 장치.
  18. 제16항에 있어서,
    상기 언패커는,
    상기 패킹 픽쳐를 블록에 기반하여 언패킹하는,
    비디오 수신 장치.
  19. 제16항에 있어서,
    상기 언패커는,
    상기 패킹 픽쳐를 블록 및 임계치에 기반하여 언패커하는,
    비디오 수신 장치.
  20. 제16항에 있어서,
    상기 언패커는,
    상기 패킹 픽쳐에 포함된 영역에 관한 메타데이터를 수신하는,
    비디오 수신 장치.
PCT/KR2020/003456 2019-05-24 2020-03-12 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치 WO2020242023A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/606,365 US11979544B2 (en) 2019-05-24 2020-03-12 360 video transmission method, 360 video reception method, 360 video transmission apparatus, and 360 video reception apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0061201 2019-05-24
KR20190061201 2019-05-24

Publications (1)

Publication Number Publication Date
WO2020242023A1 true WO2020242023A1 (ko) 2020-12-03

Family

ID=73553234

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/003456 WO2020242023A1 (ko) 2019-05-24 2020-03-12 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치

Country Status (2)

Country Link
US (1) US11979544B2 (ko)
WO (1) WO2020242023A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11962819B2 (en) * 2018-07-17 2024-04-16 Dolby Laboratories Licensing Corporation Foviation and HDR
CN113923459A (zh) * 2019-07-03 2022-01-11 北京小米移动软件有限公司 视频的编码、解码的方法及装置、存储介质
KR102356037B1 (ko) * 2020-10-14 2022-02-07 성균관대학교산학협력단 다시점 360도 영상 스트리밍 방법 및 장치
KR102447796B1 (ko) * 2020-11-27 2022-09-27 한국전자기술연구원 V-pcc 부호화기를 위한 패치 세그먼트 고속 정제 장치 및 그 방법
US11810335B2 (en) * 2021-02-16 2023-11-07 International Business Machines Corporation Metadata for embedded binary data in video containers

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180124046A (ko) * 2016-03-23 2018-11-20 퀄컴 인코포레이티드 가상 현실 비디오 콘텐츠를 표현하기 위한 절두 정사각 피라미드 지오메트리 및 프레임 패킹 구조
KR20190035678A (ko) * 2016-07-08 2019-04-03 브이아이디 스케일, 인크. 지오메트리 투영을 이용한 360도 비디오 코딩
WO2019066529A1 (ko) * 2017-09-29 2019-04-04 가온미디어 주식회사 프레임 패킹을 제공하는 가상 현실 영상의 부호화/복호화 방법 및 그 장치
KR20190039669A (ko) * 2016-05-26 2019-04-15 엘지전자 주식회사 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10277904B2 (en) * 2015-08-28 2019-04-30 Qualcomm Incorporated Channel line buffer data packing scheme for video codecs
US11200004B2 (en) * 2019-02-01 2021-12-14 EMC IP Holding Company LLC Compression of data for a file system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180124046A (ko) * 2016-03-23 2018-11-20 퀄컴 인코포레이티드 가상 현실 비디오 콘텐츠를 표현하기 위한 절두 정사각 피라미드 지오메트리 및 프레임 패킹 구조
KR20190039669A (ko) * 2016-05-26 2019-04-15 엘지전자 주식회사 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
KR20190035678A (ko) * 2016-07-08 2019-04-03 브이아이디 스케일, 인크. 지오메트리 투영을 이용한 360도 비디오 코딩
WO2019066529A1 (ko) * 2017-09-29 2019-04-04 가온미디어 주식회사 프레임 패킹을 제공하는 가상 현실 영상의 부호화/복호화 방법 및 그 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HO, YO-SUNG: "Creation of AR /VR Content Using 360 Degree Images", THE MAGAZINE OF THE IEIE, August 2018 (2018-08-01), pages 681 - 688 *

Also Published As

Publication number Publication date
US20220256131A1 (en) 2022-08-11
US11979544B2 (en) 2024-05-07

Similar Documents

Publication Publication Date Title
WO2020071703A1 (ko) 포인트 클라우드 데이터 전송 장치, 포인트 클라우드 데이터 전송 방법, 포인트 클라우드 데이터 수신 장치 및/또는 포인트 클라우드 데이터 수신 방법
WO2020242023A1 (ko) 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
WO2018174387A1 (ko) 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
WO2018182144A1 (ko) 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
WO2020190114A1 (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2018038520A1 (ko) 전방향 비디오를 전송하는 방법, 전방향 비디오를 수신하는 방법, 전방향 비디오 전송 장치, 전방향 비디오 수신 장치
WO2018038523A1 (ko) 전방향 비디오를 전송하는 방법, 전방향 비디오를 수신하는 방법, 전방향 비디오 전송 장치, 전방향 비디오 수신 장치
WO2019066436A1 (ko) 360 비디오 시스템에서 오버레이 처리 방법 및 그 장치
WO2017188714A1 (ko) 360도 비디오를 전송하는 방법, 360도 비디오를 수신하는 방법, 360도 비디오 전송 장치, 360도 비디오 수신 장치
WO2019198883A1 (ko) 핫스팟 및 roi 관련 메타데이터를 이용한 360도 비디오를 송수신하는 방법 및 그 장치
WO2017142353A1 (ko) 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
WO2019066191A1 (ko) 스티칭 및 리프로젝션 관련 메타데이터를 이용한 6dof 비디오를 송수신하는 방법 및 그 장치
WO2021187737A1 (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2020091404A1 (ko) 비디오 송신 방법, 비디오 전송 장치, 비디오 수신 방법 및 비디오 수신 장치
WO2019151798A1 (ko) 무선 통신 시스템에서 이미지에 대한 메타데이터를 송수신하는 방법 및 장치
WO2020189895A1 (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2020050577A1 (ko) 비디오 송신 방법, 비디오 송신 장치, 비디오 수신 방법 및 비디오 수신 장치
WO2019194573A1 (en) Method for transmitting 360-degree video, method for receiving 360-degree video, apparatus for transmitting 360-degree video, and apparatus for receiving 360-degree video
WO2020071738A1 (en) Method for transmitting video, apparatus for transmitting video, method for receiving video, and apparatus for receiving video
WO2018131832A1 (ko) 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
WO2019168304A1 (ko) 카메라 렌즈 정보를 포함한 360도 비디오를 송수신하는 방법 및 그 장치
WO2020027349A1 (ko) 다중 뷰포인트 기반 360 비디오 처리 방법 및 그 장치
WO2020189903A1 (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2020036384A1 (en) An apparatus for transmitting a video, a method for transmitting a video, an apparatus for receiving a video, and a method for receiving a video
WO2020071724A1 (en) An apparatus for transmitting a video, a method for transmitting a video, an apparatus for receiving a video, and a method for receiving a video

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20813518

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20813518

Country of ref document: EP

Kind code of ref document: A1