WO2020013513A1 - 비디오 송신 방법, 비디오 송신 장치, 비디오 수신 방법 및 비디오 수신 장치 - Google Patents

비디오 송신 방법, 비디오 송신 장치, 비디오 수신 방법 및 비디오 수신 장치 Download PDF

Info

Publication number
WO2020013513A1
WO2020013513A1 PCT/KR2019/008122 KR2019008122W WO2020013513A1 WO 2020013513 A1 WO2020013513 A1 WO 2020013513A1 KR 2019008122 W KR2019008122 W KR 2019008122W WO 2020013513 A1 WO2020013513 A1 WO 2020013513A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
video data
picture
view
data
Prior art date
Application number
PCT/KR2019/008122
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/259,077 priority Critical patent/US11463671B2/en
Publication of WO2020013513A1 publication Critical patent/WO2020013513A1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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

Definitions

  • the present invention relates to a video transmission method, a video transmission device, a video reception method and a video reception device.
  • the VR (Vertial Reality) system gives the user the feeling of being in an electronically projected environment.
  • the system for providing VR can be further refined to provide higher quality images and spatial sound.
  • the VR system can enable a user to consume VR content interactively.
  • the VR system needs to be improved in order to provide the VR environment to the user more efficiently.
  • data transmission efficiency for transmitting a large amount of data such as VR content robustness between a transmission and reception network, network flexibility considering a mobile receiving device, and methods for efficient playback and signaling should be proposed.
  • the present invention proposes a video transmission method, a video transmission apparatus, a video reception method and a video reception apparatus.
  • a video transmission apparatus includes a pre-processor for processing video data, an encoder for encoding the pre-processed video data, and a transmission for transmitting the encoded video data. It may include a transmission unit.
  • the video transmission apparatus may further include a projector for projecting the video data to generate a picture and projection parameters related to the picture, wherein the pre-processor may view select video data for a particular view of the video data. ..
  • the pre-processor of the video transmission apparatus may view-view the video data and pack the video data into specific video data.
  • the present invention can provide 3DoF + video including the optimal combination.
  • the present invention can provide 3DoF + video with minimal redundancy.
  • the present invention can provide a 3DoF + video transmission and reception system that reflects real-time motion.
  • the present invention can provide an apparatus for reconstructing a specific view image for low latency transmission and reception.
  • the present invention can provide an apparatus for generating and processing an image for any viewpoint optimized for a viewport of a user.
  • the present invention can provide a view that is robust to encoding errors and / or reconstruction errors.
  • the present invention can provide an effect of reducing motion-to-photon delay by generating an image optimized for a viewport of a user.
  • the present invention can provide an apparatus that can be integrated with a renderer for low delay.
  • the present invention can reflect real-time movement, minimize receiver burden and latency, and generate a multiview 3DoF + image.
  • FIG. 1 is a diagram illustrating an overall architecture for providing a 360 degree video according to the present invention.
  • FIG. 2 illustrates a 360 degree video transmission apparatus according to an aspect of the present invention.
  • FIG. 3 is a diagram illustrating a 360 degree video receiving apparatus according to another aspect of the present invention.
  • FIG. 4 is a diagram illustrating a 360-degree video transmission device / 360-degree video receiving apparatus according to another embodiment of the present invention.
  • FIG. 5 is a diagram illustrating the concept of an airplane main axis (Aircraft Principal Axes) for explaining the 3D space of the present invention.
  • FIG. 6 is a diagram illustrating projection schemes according to an embodiment of the present invention.
  • FIG. 7 is a diagram illustrating a tile according to an embodiment of the present invention.
  • FIG. 8 is a diagram illustrating metadata related to 360 degree video according to an embodiment of the present invention.
  • FIG. 10 illustrates a 360 degree video signal processing and related transmitter / receiver implementation method based on the 3DoF + system.
  • Figure 11 shows the structure of a 3DoF + end-to-end system.
  • FLUS Framework for Live Uplink Streaming
  • Fig. 13 shows the configuration of the 3DoF + transmitter.
  • 16 shows the types of media according to the movement of the user.
  • FIG. 18 shows a configuration of a transmission apparatus for providing a 6DoF video service.
  • Figure 20 6 Shows the configuration of a DoF video transmission / reception device.
  • Figure 23 shows the configuration of pre-processing.
  • Figure 24 shows the configuration of post-processing.
  • 25 shows a 3DoF + video receiving method.
  • Figure 26 shows pro-processing to perform view selection.
  • Figure 27 shows pre-processing to perform packing.
  • 35 shows a video transmission method
  • FIG. 1 is a diagram illustrating an overall architecture for providing a 360 degree video according to the present invention.
  • the present invention proposes a method of providing 360-degree content in order to provide VR (Virtual Reality) to a user.
  • VR may refer to a technique or environment for replicating a real or virtual environment.
  • VR artificially provides the user with a sensational experience, which allows the user to experience the same as being in an electronically projected environment.
  • 360-degree content refers to the overall content for implementing and providing VR, and may include 360-degree video and / or 360-degree audio.
  • 360 degree video may refer to video or image content that is required to provide VR, and simultaneously captured or played in all directions (360 degrees).
  • the 360 degree video may refer to a video or an image displayed on various types of 3D space according to the 3D model.
  • the 360 degree video may be represented on a spherical surface.
  • 360-degree audio is also audio content for providing VR, and may mean spatial audio content, in which a sound source can be recognized as being located in a specific space in three dimensions.
  • 360 degree content may be generated, processed, and transmitted to users, and users may consume the VR experience using the 360 degree content.
  • 360 degree content / video / image / audio may be used as 360 content / video / image / audio, etc., in which units (degrees) are omitted, or VR content / video / image / audio or the like.
  • the present invention particularly proposes a method for effectively providing 360 video.
  • first 360 video may be captured through one or more cameras.
  • the captured 360 video is transmitted through a series of processes, and the receiving side can process and render the received data back into the original 360 video. Through this, 360 video may be provided to the user.
  • the entire process for providing the 360 video may include a capture process, preparation process, transmission process, processing process, rendering process, and / or feedback process.
  • the capturing process may mean a process of capturing an image or a video for each of a plurality of viewpoints through one or more cameras.
  • image / video data such as illustrated at t1010 may be generated.
  • Each plane of t1010 illustrated 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.
  • Special cameras for VR can be used for this capture.
  • capture through an actual camera may not be performed.
  • the corresponding capture process may be replaced by simply generating related data.
  • 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 undergo a stitching process, a projection process, a region-wise packing process, and / or an encoding process in this preparation process.
  • each image / video can be stitched.
  • the stitching process may be a process of connecting each captured image / video to create a panoramic image / video or a spherical image / video.
  • the stitched image / video may be subjected to a projection process.
  • the stretched image / video can be projected onto a 2D image.
  • This 2D image may be called a 2D image frame depending on the context. It can also be expressed as mapping a projection to a 2D image to a 2D image.
  • the projected image / video data may be in the form of a 2D image as shown (t1020).
  • the video data projected onto the 2D image may be subjected to region-wise packing to increase video coding efficiency and the like.
  • the region-specific packing may refer to a process of dividing the video data projected on the 2D image by region and applying the process.
  • the region may mean an area in which 2D images projected with 360 video data are divided.
  • the regions may be divided evenly or arbitrarily divided into 2D images according to an embodiment. In some embodiments, regions may be divided according to a projection scheme.
  • the region-specific packing process is an optional process and may be omitted in the preparation process.
  • this processing may include rotating each region or rearranging on 2D images in order to increase video coding efficiency. For example, by rotating the regions so that certain sides of the regions are located close to each other, efficiency in coding can be increased.
  • the process may include increasing or decreasing a resolution for a specific region in order to differentiate the resolution for each region of the 360 video. For example, regions that correspond to regions of greater importance on 360 video may have higher resolution than other regions.
  • Video data projected on 2D images or region-packed video data may be encoded via a video codec. You can go through the process.
  • the preparation process may further include an editing process.
  • editing process editing of image / video data before and after projection may be further performed.
  • metadata about stitching / projection / encoding / editing may be generated.
  • metadata about an initial time point, or a region of interest (ROI) of video data projected on the 2D image may be generated.
  • the transmission process may be a process of processing and transmitting image / video data and metadata that have been prepared. Processing may be performed according to any transport protocol for the transmission. Data that has been processed for transmission may be delivered through a broadcast network and / or broadband. These data may be delivered to the receiving side in an on demand manner. The receiving side can receive the corresponding 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 may be called mapping or projection depending on the context.
  • the mapped 3D space may have a different shape according to the 3D model.
  • the 3D model may have a sphere, a cube, a cylinder, or a pyramid.
  • the processing process may further 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 sample may be increased by upscaling the samples during the upscaling process. If necessary, downscaling may be performed to reduce the size.
  • the rendering process may refer to a process of rendering and displaying re-projected image / video data in 3D space. Depending on the representation, it may be said to combine re-projection and rendering to render 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 where it is re-projected onto a 3D model of a sphere.
  • the user may view some areas of the rendered image / video through the VR display. In this case, the region seen by the user may be in the form as illustrated in t1040.
  • the feedback process may mean a process of transmitting various feedback information that can be obtained in the display process to the transmitter. Through the feedback process, interactivity may be provided for 360 video consumption. According to an embodiment, in the feedback process, head orientation information, viewport information indicating an area currently viewed by the user, and the like may be transmitted to the transmitter. According to an embodiment, the user may interact with those implemented on the VR environment, in which case the information related to the interaction may be transmitted to the sender or service provider side in the feedback process. In some embodiments, the feedback process may not be performed.
  • the head orientation information may mean information about a head position, an angle, and a movement of the user. Based on this information, information about the area currently viewed by the user in the 360 video, that is, viewport information, may be calculated.
  • the viewport information may be information about an area currently viewed by the user in the 360 video. Through this, a gaze analysis may be performed to determine how the user consumes 360 video, which areas of the 360 video are viewed and how much. Gayes analysis may be performed at the receiving end and delivered to the transmitting side via a feedback channel.
  • a device such as a VR display may extract a viewport area based on a user's head position / direction, a vertical or horizontal FOV supported by the device.
  • the above-described feedback information may be consumed at the receiving side as well as being transmitted to the transmitting side. That is, the decoding, re-projection, rendering process, etc. of the receiving side may be performed using the above-described feedback information. For example, only 360 video for the area 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 360 video.
  • a viewpoint is a point that a user is viewing in the 360 video and may mean a center point of the viewport area. That is, the viewport is an area centered on the viewpoint, and the size shape 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 associated with such image / video data.
  • FIG. 2 illustrates a 360 degree video transmission apparatus according to an aspect of the present invention.
  • the present invention may be related to a 360 video transmission device.
  • the 360 video transmission apparatus according to the present invention may perform operations related to the above-described preparation process or transmission process.
  • the 360 video transmission apparatus according to the present invention includes a data input unit, a stitcher, a projection processor, a region-specific packing processor (not shown), a metadata processor, a (transmitter) feedback processor, a data encoder, an encapsulation processor,
  • the transmission processing unit and / or the transmission unit may be included as internal / external elements.
  • the data input unit may receive the captured images / videos of each viewpoint. These point-in-time images / videos may be images / videos captured by one or more cameras. In addition, the data input unit may receive metadata generated during the capture process. The data input unit may transfer the input image / video for each view to the stitcher, and may transmit metadata of the capture process to the signaling processor.
  • the stitcher may perform stitching on the captured view-point images / videos.
  • the stitcher may transfer the stitched 360 video data to the projection processor. If necessary, the stitcher may receive the necessary metadata from the metadata processor and use the stitching work.
  • the stitcher may transmit metadata generated during the stitching process to the metadata processing unit.
  • the metadata of the stitching process may include information such as whether stitching is performed or a stitching type.
  • the projection processor may project the stitched 360 video data onto the 2D image.
  • the projection processor may perform projection according to various schemes, which will be described later.
  • the projection processor 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 required for projection from the metadata processing unit and use the same for the projection work.
  • the projection processor may transmit the metadata generated in the projection process to the metadata processor. Metadata of the projection processing unit may include a type of projection scheme.
  • the region-specific packing processor may perform the region-specific packing process described above. That is, the region-specific packing processing unit may divide the projected 360 video data into regions, and perform processes such as rotating and rearranging the regions, changing the resolution of each region, and the like. As described above, the region-specific packing process is an optional process. If the region-specific packing is not performed, the region-packing processing unit may be omitted.
  • the region-specific packing processor may receive metadata necessary for region-packing from the metadata processor and use the region-specific packing operation if necessary.
  • the region-specific packing processor may transmit metadata generated in the region-specific packing process to the metadata processor.
  • the metadata of each region packing processor may include a rotation degree and a size of each region.
  • the stitcher, the projection processing unit, and / or the regional packing processing unit may be performed in one hardware component according to an embodiment.
  • the metadata processor may process metadata that may occur in a capture process, a stitching process, a projection process, a region-specific packing process, an encoding process, an encapsulation process, and / or a process for transmission.
  • the metadata processor 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.
  • 360 video related metadata may be referred to as metadata or 360 video related signaling information.
  • the metadata processor may transfer the acquired or generated metadata to internal elements of the 360 video transmission apparatus as needed.
  • the metadata processor may transmit the 360 video related metadata to the data encoder, the encapsulation processor, and / or the transmission processor so that the 360 video related metadata may be transmitted to the receiver.
  • the data encoder may encode 360 video data projected onto the 2D image and / or region-packed 360 video data.
  • 360 video data may be encoded in various formats.
  • the encapsulation processing unit may encapsulate the encoded 360 video data and / or 360 video related metadata in the form of a file.
  • the 360 video related metadata may be received from the above-described metadata processing unit.
  • the encapsulation processing unit may encapsulate the data in a file format such as ISOBMFF, CFF, or other DASH segments.
  • the encapsulation processing unit may include 360 video-related metadata on a file format.
  • the 360 related metadata may be included, for example, in boxes at various levels in the ISOBMFF file format or as data in separate tracks within the file.
  • the encapsulation processing unit 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 the 360 video data according to any transmission protocol.
  • the processing for transmission may include processing for delivery through a broadcasting network and processing for delivery through a broadband.
  • the transmission processor may receive not only 360 video data but also metadata related to 360 video from the metadata processor, and may apply processing for transmission thereto.
  • the transmitter may transmit the processed 360 video data and / or 360 video related metadata through a broadcast network and / or broadband.
  • the transmitter 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 an internal / external element.
  • the data store may store the encoded 360 video data and / or 360 video related metadata before transmitting to the transfer processor.
  • the data is stored in the form of a file such as ISOBMFF.
  • the data storage unit may not be required.However, when delivering on demand, non real time (NRT) or broadband, the encapsulated 360 data is stored in the data storage unit for a certain period of time. May be sent.
  • the 360 video transmitting apparatus may further include a (transmitting side) feedback processing unit and / or a network interface (not shown) as internal / external elements.
  • the network interface may receive the feedback information from the 360 video receiving apparatus according to the present invention, and transmit the feedback information to the transmitter feedback processor.
  • the transmitter feedback processor may transmit the feedback information to the stitcher, the projection processor, the region-specific packing processor, the data encoder, the encapsulation processor, the metadata processor, and / or the transmission processor.
  • the feedback information may be delivered to each of the internal elements after being transmitted to the metadata processor.
  • the internal elements receiving the feedback information may reflect the feedback information in the subsequent processing of the 360 video data.
  • the region-specific packing processing unit may rotate each region to map on the 2D image.
  • the regions may be rotated at different angles and at different angles and mapped on the 2D image.
  • the rotation of the region can be performed taking into account the portion where the 360 video data was adjacent before projection on the spherical face, the stitched portion, and the like.
  • Information about the rotation of the region, that is, rotation direction, angle, etc., may be signaled by 360 video related metadata.
  • the data encoder may be different for each region. Encoding can be performed. The data encoder may encode at a high quality in one region and at a low quality in another region.
  • the transmitter feedback processor may transmit the feedback information received from the 360 video receiving apparatus to the data encoder so that the data encoder uses a region-differential encoding method.
  • the transmitter feedback processor may transmit the viewport information received from the receiver to the data encoder.
  • the data encoder may perform encoding with higher quality (UHD, etc.) than other regions for regions including the region indicated by the viewport information.
  • the transmission processing unit may perform processing for transmission differently 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 the data transmitted for each region.
  • the transmitting-side feedback processor 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 regional differential transmission processing.
  • the transmitter feedback processor may transmit the viewport information received from the receiver to the transmitter.
  • the transmission processor may perform transmission processing on regions that include an area indicated by corresponding viewport information so as to have higher robustness than other regions.
  • Inner and outer elements of the 360 video transmission apparatus may be hardware elements implemented in hardware.
  • the inner and outer elements may be changed, omitted, or replaced with other elements.
  • additional elements may be added to the 360 video transmission device.
  • FIG. 3 is a diagram illustrating a 360 degree video receiving apparatus according to another aspect of the present invention.
  • the invention may relate to a 360 video receiving device.
  • the 360 video receiving apparatus according to the present invention may perform operations related to the above-described processing and / or rendering.
  • the 360 video receiving apparatus according to the present invention may include a receiver, a receiver processor, a decapsulation processor, a data decoder, a metadata parser, a (receiver side) feedback processor, a re-projection processor, and / or a renderer as internal / external elements. have.
  • the receiver may receive 360 video data transmitted by the 360 video transmission device according to the present invention. According to 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 processor may perform processing according to a transmission protocol on the received 360 video data.
  • the reception processing unit may perform a reverse process of the above-described transmission processing unit so as to correspond to that the processing for transmission is performed at the transmission side.
  • the reception processor may transmit the obtained 360 video data to the decapsulation processing unit, and the obtained 360 video data may be transferred to the metadata parser.
  • the 360 video related metadata acquired by the reception processor may be in the form of a signaling table.
  • the decapsulation processor may decapsulate the 360 video data in the form of a file received from the reception processor.
  • the decapsulation processing unit may decapsulate files according to ISOBMFF or the like to obtain 360 video data to 360 video related metadata.
  • the obtained 360 video data may be transmitted to the data decoder, and the obtained 360 video related metadata may be transmitted to the metadata parser.
  • the 360 video-related metadata obtained by the decapsulation processing unit may be in the form of a box or track in the file format.
  • the decapsulation processing unit may receive metadata necessary for decapsulation from the metadata parser if necessary.
  • the data decoder may perform decoding on 360 video data.
  • the data decoder may receive metadata required for decoding from the metadata parser.
  • the 360 video-related metadata obtained in the data decoding process may be delivered to the metadata parser.
  • the metadata parser may parse / decode 360 video related metadata.
  • the metadata parser may transfer the obtained metadata to the data decapsulation processor, the data decoder, the re-projection processor, and / or the renderer.
  • the re-projection processor may perform re-projection on the decoded 360 video data.
  • the re-projection processor may re-project the 360 video data into the 3D space.
  • the 3D space may have a different shape depending on the 3D model used.
  • the re-projection processor may receive metadata required for re-projection from the metadata parser.
  • the re-projection processor may receive information about the type of the 3D model used and its detailed information 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 by using metadata required for the re-projection.
  • the renderer may render the re-projected 360 video data.
  • the 360 video data may be rendered in 3D space. If the two processes occur at once, the re-projection unit and the renderer may be integrated so that all processes may be performed in the renderer. According to an exemplary embodiment, the renderer may render only the portion that the user is viewing based on the viewpoint information of the user.
  • the user may view a portion of the 360 video rendered through the VR display.
  • the VR display is a device for playing 360 video, which may be included in the 360 video receiving device (tethered) or may be un-tethered as a separate device to the 360 video receiving device.
  • 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 feedback processor may obtain and process feedback information from a renderer, a re-projection processor, a data decoder, a decapsulation processor, 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 the feedback information from the receiver feedback processor and transmit the feedback information to the 360 video transmission apparatus.
  • the receiving side feedback processor may transmit the obtained feedback information to the internal elements of the 360 video receiving apparatus to be reflected in a rendering process.
  • the receiving feedback processor may transmit the feedback information to the renderer, the re-projection processor, the data decoder, and / or the decapsulation processor.
  • the renderer may preferentially render the area that the user is viewing by using the feedback information.
  • the decapsulation processing unit, the data decoder, and the like may preferentially decapsulate and decode the region viewed by the user or the region to be viewed.
  • Inner and outer elements of the 360 video receiving apparatus may be hardware elements implemented in hardware. In some embodiments, the inner and outer elements may be changed, omitted, or replaced with other elements. According to an embodiment, additional elements may be added to the 360 video receiving apparatus.
  • Another aspect of the invention 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 present invention may be performed by the above-described 360 video transmitting / receiving device or embodiments of the device, respectively.
  • the above-described embodiments of the 360 video transmission / reception apparatus, the transmission / reception method, and the respective internal / external elements 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 produce as many embodiments of the 360 video transmission device as that case. Embodiments thus combined are also included in the scope of the present invention.
  • FIG. 4 is a diagram illustrating a 360-degree video transmission device / 360-degree video receiving apparatus according to another embodiment of the present invention.
  • 360 content may be provided by an architecture as shown (a).
  • the 360 content may be provided in the form of a file or in the form of a segment-based download or streaming service such as a DASH.
  • the 360 content may be referred to as VR content.
  • 360 video data and / or 360 audio data may be acquired (Acquisition).
  • the 360 audio data may go through an audio preprocessing process and an audio encoding process.
  • audio related metadata may be generated, and the encoded audio and audio related metadata may be processed for transmission (file / segment encapsulation).
  • the 360 video data may go through the same process as described above.
  • the stitcher of the 360 video transmission device may perform stitching on the 360 video data (Visual stitching). This process may be omitted in some embodiments and may be performed at the receiving side.
  • the projection processor of the 360 video transmission apparatus may project 360 video data onto a 2D image (Projection and mapping (packing)).
  • This stitching and projection process is shown in detail in (b).
  • stitching and projection may be performed.
  • the projection process specifically, the stitched 360 video data is projected onto the 3D space, and the projected 360 video data may be viewed as being arranged on the 2D image.
  • This process may be expressed herein 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 be called 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 by indicating the location, shape, and size of each region. If regional packing is not performed, the projected frame may be the same as the packed frame. The region will be described later.
  • the projection process and the region-specific packing process may be expressed as each region of 360 video data being projected onto a 2D image. Depending on the design, 360 video data may be converted directly to packed frames without intermediate processing.
  • 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 encapsulation processing unit described above.
  • the encapsulation processor may process the encoded 360 video data into segments. Segments can be included in separate tracks for DASH-based transmission.
  • 360 video related metadata may be generated as described above.
  • This metadata may be delivered in a video stream or file format.
  • This metadata can also be used for encoding, file format encapsulation, and processing for transfer.
  • the 360 audio / video data is processed for transmission according to the transmission protocol and then transmitted.
  • 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 apparatus.
  • the speakers / 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 above-described feedback feedback processor.
  • the 360 video receiving apparatus may perform file / segment decapsulation on the 360 audio / video data.
  • the 360 audio data may be provided to the user through a speaker / headphone through an audio decoding process and an audio rendering process.
  • 360 video data may be provided to a user through a display through image decoding, video decoding, and rendering.
  • the display may be a display supporting VR or a general display.
  • the rendering process may specifically be regarded as 360 video data being re-projected onto 3D space, and the re-projected 360 video data is rendered. This may be expressed as 360 video data being rendered in 3D space.
  • the head / eye tracking component may acquire and process user head orientation information, gaze information, viewport information, and the like. This has been described above.
  • FIG. 5 is a diagram illustrating the concept of an airplane main axis (Aircraft Principal Axes) for explaining the 3D space of the present invention.
  • the plane principal axis concept may be used to represent a specific point, position, direction, spacing, area, etc. in 3D space.
  • the plane axis concept may be used to describe the 3D space before the projection or after the re-projection and to perform signaling on the 3D space.
  • 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 called the pitch axis, the yaw axis, and the roll axis, respectively. In the present specification, these may be reduced to express pitch, yaw, roll to pitch direction, yaw direction, and roll direction.
  • the pitch axis may mean an axis that is a reference for the direction in which the nose of the airplane rotates up and down.
  • the pitch axis may mean an axis extending from the wing of the plane to the wing.
  • the Yaw axis may mean an axis that is a reference of the direction in which the front nose of the plane rotates left and right.
  • the yaw axis can mean an axis running from top to bottom of the plane.
  • the roll axis is an axis extending from the front nose to the tail of the plane in the illustrated plane axis concept, and the rotation in the roll direction may mean a rotation about the roll axis.
  • the 3D space in the present invention can be described through the concept of pitch, yaw, and roll.
  • FIG. 6 is a diagram illustrating projection schemes according to an embodiment of the present invention.
  • the projection processing unit of the 360 video transmission apparatus may project the stitched 360 video data onto the 2D image.
  • Various projection schemes can be used in this process.
  • the projection processing unit may perform projection using a cubic projection scheme (Cubic Projection) scheme.
  • Cubic Projection cubic projection scheme
  • stitched 360 video data may be represented on a spherical face.
  • the projection processor may divide the 360 video data into cubes and project them on a 2D image.
  • 360 video data on a spherical face may correspond to each face of a cube and may be projected onto the 2D image as (a) left or (a) right.
  • the projection processing unit may perform the projection by using a cylindrical projection (Cylindrical Projection) scheme.
  • the projection processor may divide the 360 video data into a cylinder and project it on a 2D image.
  • 360 video data on a spherical surface may be projected on the 2D image as (b) left or (b) right, respectively, corresponding to the side, top and bottom of the cylinder.
  • the projection processing unit may perform projection by using a pyramid projection scheme.
  • the projection processor can view the 360 video data in a pyramid form, and divide each face to project on a 2D image.
  • 360 video data on a spherical face correspond to the front of the pyramid and the four sides of the pyramid (Left top, Left bottom, Right top, Right bottom), respectively, and (c) left or ( c) can be projected as shown on the right.
  • the projection processing unit may perform projection using an isometric square projection scheme, a panoramic projection scheme, or the like in addition to the above-described schemes.
  • the region may mean a region in which the 2D image projected with the 360 video data is divided. These regions need not coincide with the faces on the projected 2D image according to the projection scheme. However, according to an embodiment, regions may be divided so that respective surfaces on the projected 2D image correspond to regions, and region-specific packing may be performed. According to an embodiment, a plurality of faces may correspond to one region or regions may be divided such 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 side of the cube (top, bottom, front, left, right, back) may be a region, respectively. In (b), the side, top and bottom of the cylinder may each be a region. In (c), the front, left, right, and bottom of the pyramid may be regions, respectively.
  • FIG. 7 is a diagram illustrating a tile according to an embodiment of the present invention.
  • 360 video data projected onto a 2D image or 360 video data performed up to region-specific packing may be divided into one or more tiles.
  • (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 can encode each tile independently.
  • the region-specific packing and tiling may be distinguished.
  • the region-specific packing described above may mean processing the 360 video data projected on the 2D image into regions in order to increase coding efficiency or to adjust resolution.
  • Tiling may mean that the data encoder divides a projected frame or a packed frame into sections called tiles, and independently encodes corresponding tiles.
  • the user does not consume all parts of the 360 video at the same time.
  • Tiling may enable transmitting or consuming only the tiles corresponding to the critical part or a certain part, such as the viewport currently viewed by the user, on the limited bandwidth. Tiling allows for more efficient use of limited bandwidth and reduces the computational load on the receiving side compared to processing all 360 video data at once.
  • Regions and tiles are distinct, so the two regions do not have to be the same. However, in some embodiments, regions and tiles may refer to the same area. According to an exemplary embodiment, region-specific packing may be performed according to tiles so that regions and tiles may be the same. Further, according to an embodiment, when each side and region according to the projection scheme are the same, each side, region and tile according to the projection scheme may refer to the same region. Depending on the context, a region may be called a VR region, a tile region.
  • Region of Interest may refer to areas of interest of users, which are suggested by 360 content providers.
  • a 360 content provider produces a 360 video
  • a certain area may be considered to be of interest to users, and the 360 content provider may produce a 360 video in consideration of this.
  • the ROI may correspond to an area where important content is played on the content of the 360 video.
  • the receiving feedback processor may extract and collect the viewport information and transmit it to the transmitting feedback processor.
  • viewport information can be delivered using both network interfaces.
  • the viewport t6010 is displayed in the 2D image of (a) shown.
  • the viewport may span nine 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 ((b)), may be included in the above-described data encoder or transmission processing unit, or may be included in the 360 video transmission apparatus as a separate internal / external element. .
  • the tiling system may receive viewport information from the feedback feedback processor.
  • the tiling system may select and transmit only the tiles including the viewport area. In the 2D image shown in (a), only nine tiles including the viewport area t6010 among the total 16 tiles may be transmitted.
  • the tiling system may transmit tiles in a unicast manner through broadband. This is because the viewport area is different for each user.
  • the transmitter-side feedback processor may transmit the viewport information to the data encoder.
  • the data encoder may perform encoding on tiles including the viewport area at higher quality than other tiles.
  • the feedback feedback processor may transmit the viewport information to the metadata processor.
  • the metadata processor may transmit metadata related to the viewport area to each internal element of the 360 video transmission apparatus or include the metadata related to 360 video.
  • Embodiments related to the viewport area described above may be applied in a similar manner to specific areas other than the viewport area.
  • the above-described gaze analysis may be used to determine areas of interest, ROI areas, and areas that are first played when the user encounters 360 video through a VR display (initial viewpoint).
  • the processes may be performed.
  • the transmission processor may perform processing for transmission differently for each tile.
  • the transmission processor may apply different transmission parameters (modulation order, code rate, etc.) for each tile to vary the robustness of the data transmitted for each tile.
  • the transmitting-side feedback processor may transmit the feedback information received from the 360 video receiving apparatus to the transmission processor so that the transmission processor performs the differential transmission process for each tile.
  • the transmitter feedback processor may transmit the viewport information received from the receiver to the transmitter.
  • the transmission processor may perform transmission processing on tiles including the corresponding viewport area to have higher robustness than other tiles.
  • FIG. 8 is a diagram illustrating metadata related to 360 degree video according to an embodiment of the present invention.
  • the above-described 360 video related metadata may include various metadata about 360 video.
  • 360 video related metadata may be referred to as 360 video related signaling information.
  • the 360 video related metadata may be transmitted in a separate signaling table, included in a DASH MPD, transmitted, or included in a box format in a file format such as ISOBMFF.
  • the file, the fragment, the track, the sample entry, the sample, and the like may be included in various levels to include metadata about the data of the corresponding level.
  • some of the metadata to be described later may be configured as a signaling table, and the other may be included in a box or track in the file format.
  • the 360 video related metadata may include basic metadata related to a projection scheme, stereoscopic related metadata, and initial view / initial viewpoint related metadata. Data, ROI related metadata, Field of View (FOV) related metadata, and / or cropped region related metadata. According to an embodiment, the 360 video related metadata may further include additional metadata in addition to the above.
  • Embodiments of 360 video related metadata according to the present invention include the above-described basic metadata, stereoscopic related metadata, initial viewpoint related metadata, ROI related metadata, FOV related metadata, cropped region related metadata and / or It may be in the form including at least one or more of the metadata that can be added later.
  • Embodiments of the 360 video related metadata according to the present invention may be variously configured according to the number of detailed metadata cases included in the 360 video. According to an embodiment, the 360 video related metadata may further include additional information in addition to the above.
  • the basic metadata may include 3D model related information and projection scheme related information.
  • Basic metadata may include a vr_geometry field, a projection_scheme field, and the like.
  • the basic metadata may further include additional information.
  • the vr_geometry field may indicate the type of 3D model supported by the corresponding 360 video data.
  • the 3D space may have a shape according to the 3D model indicated by the vr_geometry field.
  • the 3D model used during 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 at the time of rendering. If the corresponding field has a value of 0, 1, 2, and 3, the 3D space may follow 3D models of sphere, cube, cylinder, and pyramid, respectively.
  • the 360 video related metadata may further include specific information about the 3D model indicated by the corresponding field.
  • the specific information about the 3D model may mean, for example, radius information of a sphere and height information of a cylinder. This field may be omitted.
  • the projection_scheme field may indicate a projection scheme used when the corresponding 360 video data is projected on the 2D image. If the field has a value of 0, 1, 2, 3, 4, 5, respectively, an isometric square projection scheme, a cubic projection scheme, a cylindrical projection scheme, and a tile-based projection scheme , Pyramid projection scheme, panoramic projection scheme may have been used. If the corresponding field has a value of 6, 360 video data may be directly projected onto the 2D image without stitching. If the field has the remaining value, it can be reserved for future use.
  • the 360 video related metadata may further include specific information about a region generated by the projection scheme specified by the corresponding field.
  • the specific information about the region may mean, for example, whether the region is rotated or radius information of the top region of the cylinder.
  • Stereoscopic related metadata may include information about 3D related attributes of 360 video data.
  • Stereoscopic related metadata may include an is_stereoscopic field and / or a stereo_mode field.
  • stereoscopic related 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, 3D support is available. If the field is 0, 3D support is not supported. This field may be omitted.
  • the stereo_mode field may indicate a 3D layout supported by the corresponding 360 video. Only this field may indicate whether the corresponding 360 video supports 3D. In this case, the above-described is_stereoscopic field may be omitted. If this field value is 0, the 360 video may be in 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 corresponding 360 video may be based on left-right layout and top-bottom layout, respectively.
  • the left and right layouts and the top and bottom layouts may be referred to as side-by-side format and top-bottom format, respectively.
  • 2D images projected from the left image and the right image may be positioned left and right on the image frame, respectively.
  • the 2D images projected from the left image and the right image may be positioned up and down on the image frame, respectively. If the field has the remaining value, it can be reserved for future use.
  • the initial view-related metadata may include information about a view point (initial view point) when the user first plays the 360 video.
  • the initial view related metadata may include an initial_view_yaw_degree field, an initial_view_pitch_degree field, and / or an initial_view_roll_degree field.
  • the initial view-related metadata 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 time point when playing the corresponding 360 video.
  • the center point of the viewport that is first seen upon playback can be represented by these three fields.
  • Each field may indicate a position (sign) and a degree (angle) at which its center point is rotated about the yaw, pitch, and roll axes.
  • the viewport that is displayed during the first playback may be determined according to the FOV. Through the FOV, the width and height of the initial viewport may be determined based on the indicated initial view. That is, using these three fields and the FOV information, the 360 video receiving apparatus may provide a user with a predetermined area of 360 video as an initial viewport.
  • the initial view point indicated by the initial view-related metadata may be changed for each scene. That is, the scene of the 360 video is changed according to the temporal flow of the 360 content. For each scene of the 360 video, the initial view point or the initial viewport that the user first sees may be changed.
  • the metadata regarding the initial view may indicate the initial view for each scene.
  • the initial view-related metadata may further include a scene identifier for identifying a scene to which the initial view is applied.
  • the initial view-related metadata may further include scene-specific FOV information indicating the FOV corresponding to the scene.
  • the ROI related metadata may include information related to the above-described ROI.
  • the 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 the ROI-related metadata includes fields representing the ROI based on the 2D image or fields representing the ROI based on the 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 may include 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 Field, max_x field, min_y field and / or max_y field.
  • the min_top_left_x field, max_top_left_x field, min_top_left_y field, and max_top_left_y field may indicate minimum / maximum values of coordinates of the upper left end of the ROI. These fields may indicate the minimum x coordinate, the maximum x coordinate, the minimum y coordinate, and the maximum y coordinate of the upper left end in order.
  • the min_width field, the max_width field, the min_height field, and the max_height field may indicate minimum / maximum values of the width and height of the ROI. These fields may indicate 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 in order.
  • the min_x field, max_x field, min_y field, and max_y field may indicate minimum / maximum values of coordinates in the ROI. These fields may in turn indicate the minimum x coordinate, maximum x coordinate, minimum y coordinate, and maximum y coordinate of coordinates in the ROI. These fields may be omitted.
  • the ROI-related metadata may include min_yaw field, max_yaw field, min_pitch field, max_pitch field, min_roll field, max_roll field, 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 indicate the 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 yaw axis rotation, maximum yaw axis rotation, minimum pitch axis rotation, pitch axis rotation, minimum roll axis rotation, roll axis rotation It can represent the maximum value of the whole quantity.
  • the min_field_of_view field and the max_field_of_view field may indicate a minimum / maximum value of the FOV of the corresponding 360 video data.
  • the FOV may refer to a field of view displayed at a time when the 360 video is played.
  • the min_field_of_view field and the max_field_of_view field may represent minimum and maximum values of the FOV, respectively. These fields may be omitted. These fields may be included in FOV related metadata to be described later.
  • the FOV related metadata may include information related to the above-described FOV.
  • the 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 the minimum / maximum value related information of the above-described FOV.
  • the content_fov_flag field may indicate whether information about an FOV intended for production is present for the corresponding 360 video. If this field value is 1, there may be a content_fov field.
  • the content_fov field may indicate information about an FOV intended for production of the corresponding 360 video.
  • an area displayed at one time from among 360 images may be determined based on a vertical or horizontal FOV of the corresponding 360 video receiving apparatus.
  • an area of 360 video displayed to the user at one time may be determined by reflecting the FOV information of the field.
  • the cropped region related metadata may include information about an region including actual 360 video data on an image frame.
  • the image frame may include an active 360 video projected active video area and an area that is not.
  • the active video region may be referred to as a cropped region or a default display region.
  • This active video area is an area shown as 360 video on the actual VR display, and the 360 video receiving apparatus 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 regions except for the upper part and the lower part of the image frame may include 360 video data, which may be called an 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 an entire region of an image frame is used by the 360 video receiving apparatus or the VR display. That is, this field may indicate whether the entire image frame is an active video area. If only a part of the image frame is an 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 indicate an active video region on an image frame. These fields may indicate the x coordinate of the upper left of the active video area, the y coordinate of the upper left of the active video area, the width of the active video area, and the height of the active video area, respectively. The width and height may be expressed in pixels.
  • the 360-degree video-related signaling information or metadata may be included in an arbitrarily defined signaling table, may be included in a box format in a file format such as ISOBMFF or Common File Format, or transmitted in a DASH MPD. have.
  • 360 degree media data may be transmitted in a file format or a DASH segment.
  • the 360 video-based VR system may provide a visual / audio experience with different viewing orientations based on the user's position with respect to 360 video based on the 360 video processing described above.
  • 3DoF three degree of freedom
  • a VR system that provides a 360 video with a starting / audible experience in different directions at a fixed position of a user may be referred to as a 3DoF based VR system.
  • a VR system that can provide extended visual and audio experiences in different directions at different time points and at different viewing positions in the same time zone is called a 3DoF + or 3DoF plus based VR system. Can be.
  • viewpoints Assuming the same space as in (a) (example of the performance hall), different viewpoints (example of the location of the performance hall indicated by red circles) can be considered as viewpoints. In this case, as shown in the example, the image / audio provided from each viewpoint present in the same space may have the same time flow.
  • visual / audio information in various directions may be delivered as in the existing 3DoF.
  • main source video / audio / text
  • additional various sources may be integrated and provided, which may be related to the viewing orientation of the user or may independently transmit information.
  • FIG. 10 illustrates a 360 degree video signal processing and related transmitter / receiver implementation method based on the 3DoF + system.
  • 3DoF + end-to-end system flow diagram including image acquisition, preprocessing, transmission, (post) processing, rendering, and feedback processes of 3DoF +.
  • This may mean a process of acquiring 360 video through a process of capturing, synthesizing, or generating 360 video. Through this process, a plurality of image / audio information according to head motions can be obtained for a plurality of positions.
  • the image information may include not only visual information but also depth information.
  • a plurality of pieces of information of different viewing positions may be obtained according to different shooting positions.
  • Composition Synthesis to include not only the information obtained through the video / audio input device, but also the video (video / image, etc.), voice (audio / effect sound, etc.), text (subtitles, etc.) through external media in the user experience. You can define a method for doing this.
  • Pre-processing A preparation (preprocessing) process for transmission / delivery of the obtained 360 video, which may include stitching, projection, region-specific packing, and / or encoding. That is, this process may include a preprocessing process and an encoding process for changing / supplementing data according to the intention of the producer for video / audio / text information. For example, in the preprocessing of an image, it is necessary to map the acquired visual information onto a 360 sphere, to edit, to remove an area boundary, to reduce color / brightness differences, or to give a visual effect of an image.
  • Image segmentation (view segmentation), projection process of mapping image on 360 sphere to 2D image, region-wise packing according to region (region-wise packing), encoding process of compressing image information May be included.
  • a plurality of projection images of different viewing positions according to different viewing positions may be generated.
  • This may mean a process of processing and transmitting image / audio data and metadata that have been prepared (preprocessed).
  • a broadcasting network, a communication network, or a unidirectional transmission method may be used as described above. Can be.
  • Post-processing & composition Refers to a post-processing process for decoding received / stored video / audio / text data and for final playback.
  • the post-processing process may include an unpacking process of unpacking the packed image and a re-projection process of restoring the 2D projected image to the 3D spherical image as described above.
  • Rendering Refers to the process of rendering and displaying re-projected image / video data in 3D space.
  • the video / audio signal can be reconstructed into a form for finally outputting.
  • the viewing orientation, the viewing position / head position, and the viewpoint of the user's region of interest may be tracked, and only the necessary video / audio / text information may be selectively used according to this information.
  • different viewpoints may be selected as shown in c according to the ROI of the user, and finally, as shown in d, images of a specific direction of a specific viewpoint at a specific position may be output.
  • Feedback Refers to a process of transmitting various feedback information that can be obtained in a display process to a transmitting side.
  • 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.
  • Figure 11 shows the structure of a 3DoF + end-to-end system.
  • FIG. 11 is an illustration of a 3DoF + end-to-end system architecture.
  • the 3DoF + 360 content may be provided as described above by the architecture of FIG. 11.
  • the 360 video transmission device is largely composed of an acquisition unit in which 360 video (audio) / audio data is acquired, a part in processing acquired data (video / audio pre-processor), and a part for composing additional information (composition generation unit). ), An encoding unit for encoding text, audio, and projected 360 degree video, and an encapsulation unit for encapsulating the encoded data.
  • 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, CFF, or processed in the form of other DASH segments.
  • the encoded data may be delivered to the 360 video receiving apparatus through a digital storage medium, or although not explicitly illustrated, the encoded data may be processed through a transmission processor as described above, and then the broadcasting network or the broadband may be used. Can be sent through.
  • different information depends on the sensor orientation (viewing orientation in the image), the sensor position (viewing position in the image), and the sensor information acquisition position (in the viewpoint in the image). Can be obtained simultaneously or continuously, and video, image, audio, and location information can be obtained.
  • texture and depth information can be obtained, and different video pre-processing can be performed according to characteristics of each component.
  • the 360 omnidirectional image may be configured by using images of different viewing orientations of the same viewing position acquired at the same location using image sensor position information.
  • an image stitching process may be performed.
  • projection and / or region-specific packing may be performed to change the image into a format for encoding the image.
  • the depth image an image may be generally acquired through a depth camera, and in this case, the depth image may be made in the form of a texture.
  • depth data may be generated based on separately measured data.
  • a sub-picture generation may be performed by further packing (packing) into a video format for efficient compression or dividing it into necessary parts.
  • Information on the video composition used in the video pre-processing stage is delivered as video metadata.
  • the composition generation unit synthesizes externally generated media data (video / image for video, audio / effect sound for audio, subtitles for text, etc.) at the final playback stage based on the intention of the creator. Generates information for the application, which is passed to the composition metadata.
  • the processed video / audio / text information is compressed using each encoder and encapsulated in file or segment units depending on the application. At this time, only the necessary information can be extracted (file extractor) according to the video, file or segment composition method.
  • information for reconstructing each data at the receiver is delivered at the codec or file format / system level, where information for video / audio reconstruction (video / audio metadata), composition metadata for overlays, and video / Audio playable positions (viewpoints) and viewing position (viewing position) information (viewing position and viewpoint metadata) according to each position is included.
  • the processing of such information may be generated through a separate metadata processing unit.
  • the 360 video receiving device 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, and plays back video / audio / text. It may be composed of a post-processor reconstructed in the form for the following, a tracking unit for tracking a region of interest of the user and a display which is a playback device.
  • the bitstream generated through decapsulation may be separately decoded into a playable form by dividing into video / audio / text according to the type of data.
  • the tracking part generates information on the location of the region of interest of the user, the viewing position at the location, and the viewing orientation at the viewpoint based on the sensor and the user's input information.
  • This information may be used for selecting or extracting a region of interest in each module of the 360 video receiving apparatus or may be used for a post-processing process for emphasizing information of the region of interest.
  • it when delivered to a 360 video transmission device, it may be used for file extractor or subpicture selection for efficient bandwidth use, and various image reconstruction methods based on the region of interest (viewport / viewing position / viewpoint dependent processing).
  • the decoded video signal may be processed according to various processing methods according to the video composition method.
  • image packing is performed in a 360 video transmission device, a process of reconstructing an image based on information transmitted through metadata is required.
  • the video metadata generated by the 360 video transmission device may be used.
  • the decoded image includes a plurality of viewing positions, a plurality of viewing positions, or a variety of 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 transmitter 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 composition.
  • the composition metadata generated by the transmitter may be used.
  • information for playing on the viewport may be generated according to the ROI of the user.
  • the decoded speech signal generates a reproducible speech signal through an audio renderer and / or post-processing process, based on information about the user's region of interest and metadata delivered to the 360 video receiving device. 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 a subtitle. If necessary, a separate text post-process may be included.
  • FLUS Framework for Live Uplink Streaming
  • the detailed blocks of the transmitter and receiver described above can be classified into functions of source and sink in FLUS (Framework for Live Uplink Streaming) .
  • the function of the source is implemented in the information acquisition device as shown below, and the sink is networked.
  • the network node may include user equipment (UE).
  • the UE may include the above-described 360 video transmitting apparatus or 360 video receiving apparatus.
  • the transmission / reception process based on the above-described architecture can be shown as follows. Transmitting / receiving processing below is described based on video signal processing, and when processing other signals such as voice or text, the part indicated by italics is omitted, or it is changed to be suitable for voice or text processing. Can be.
  • Fig. 13 shows the configuration of the 3DoF + transmitter.
  • the transmitter 360 may transmit stitching for forming a sphere image for each position / time / component.
  • projection may be performed as a 2D image for coding.
  • a plurality of images may be generated as sub-pictures divided into packings or sub-pictures for making integrated images.
  • the region-specific packing process may not be performed as an optional process, and in this case, the packing process unit may be omitted. If the input data is video / audio / text additional information, the additional information may be added to the center image to display a method, and additional data may also be transmitted.
  • An encoding process of compressing the generated image and the added data to generate a bit stream may be performed through an encapsulation process of converting the generated image and the added data into a file format for transmission or storage.
  • a process of extracting a file required by the receiver according to an application or system request may be processed.
  • the generated bitstream may be transmitted after being converted into a transport format through a transport processor.
  • the feedback feedback processor may process the location / view / direction information and necessary metadata based on the information transmitted from the receiver, and transmit the processed metadata to the associated transmitter.
  • the receiving end 360 video receiving apparatus may extract a required file after receiving the bitstream transmitted from the transmitting end.
  • the video stream in the generated file format may be selected using location / view / direction information and video metadata delivered from the feedback processor, and the selected bitstream may be reconstructed into video information through a decoder.
  • unpacking may be performed based on packing information transmitted through metadata. If the packing process is omitted in the transmitter, unpacking of the receiver may also be omitted.
  • a process of selecting an image and a necessary component suitable for the position / view / direction transmitted from the feedback processor may be performed.
  • a rendering process of reconstructing a texture, depth, overlay information, and the like of an image into a format suitable for reproducing may be performed.
  • a composition process of integrating information of different layers may be performed, and an image suitable for a display viewport may be generated and reproduced.
  • the 360 video-based VR system may provide a visual / audio experience with different orientations (viewing orientations) with respect to 360 video based on the 360 video processing.
  • a service that provides a starter / aural experience for 360 video in different directions at a fixed location of a user may be called a 3DoF based service.
  • a service capable of providing an extended visual / audio experience in different directions at an arbitrary position and viewing position in the same time zone may be referred to as 6DoF (six degree of freedom) based service.
  • the file format for the 3DoF service has a structure in which a rendering position, information of a file to be transmitted, decoding information, and the like may vary according to the head / eye tracking module.
  • this method needs to be modified because it is not suitable for 6DoF media file transmission in which rendering information / transmission content and decoding information vary depending on the position or position of the user.
  • 16 shows the types of media according to the movement of the user.
  • the present invention proposes 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 enlarged concept in the virtual environment provided by the existing 360 contents.
  • the existing 360 contents are the same as (a), and the user's position is fixed and there is only the concept of rotation.
  • Type Media / Sensory Media provides environment or contents that can provide a variety of sensory experiences such as user's movement / rotation in virtual space by giving the concept of movement when users experience the content as (b) or (c). Can mean.
  • (a) shows the media experience when the user's view is rotated while the user's position is fixed.
  • (b) shows the media experience in the case where the user's head can move further while the user's position is fixed.
  • (c) shows the media experience when the user's position is movable.
  • Realistic media content can include 6DoF video and 6DoF audio to provide that content, and 6DoF video captures video or images that are captured or played back in a newly formed 3DoF or 360 video for every move required to provide realistic media content.
  • 6DoF content may refer to a video or an image displayed on a three-dimensional space. If the movement is fixed within the content, the content may be represented in various forms of three-dimensional space like the existing 360 video. For example, it may be displayed on a spherical surface. If the movement is free within the content, a three-dimensional space is newly formed each time around the user on the movement path, and the user can experience the content at the corresponding position.
  • 6DoF audio is audio content for providing content that enables a immersive media experience, and may refer to content for newly forming and consuming spatial audio as a location where a sound is consumed moves.
  • the present invention particularly proposes a method for effectively providing 6DoF video.
  • 6DoF video can be captured by two or more cameras at 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 360 video starting from the user's initial position. By processing and rendering 360 video, 6DoF video can be provided to the user.
  • an HDCA High Density Camera Array
  • a Lenslet microlens
  • 6DoF contents as an acquisition step.
  • a plurality of image / video data sets can be generated according to the captured camera position.
  • the meta-data such as internal / external setting values of the camera may be generated during the capture process.
  • the capture process can be replaced.
  • the pre-processing process of the acquired image may be a process of processing the captured image / video and metadata transmitted in the capture process. This preparation includes stitching, color correction, projection, and view segmenation to separate the primary and secondary views to improve coding efficiency. All types of preprocessing steps that process content before transmission, such as an encoding process, may correspond.
  • the stitching process may be a process of creating an image / video connecting images captured in 360 directions from each camera position in the form of a panorama or a sphere centered on each camera position.
  • Projection refers to the process of projecting each stitching result image to 2D image as shown in Fig. 3b, and can be expressed as mapping to 2D image.
  • the image mapped at each camera position can be divided into main view and secondary view to apply different resolution for each point of view to improve video coding efficiency. You can increase efficiency when coding.
  • Secondary viewpoints may not be present depending on the capture environment.
  • the secondary view means an image / video to be reproduced in the moving process when the user moves from the main view to another main view and may have a lower resolution than the main view, but may have the same resolution as necessary. In some cases, the secondary view may be newly generated as virtual information at the receiver.
  • a preprocessing process may further include an editing process.
  • editing of image / video data before and after projection may be further performed, and metadata may also be generated during preprocessing.
  • a metadata may be generated regarding an initial time point, a user's initial position, and a region of interest (ROI) that should be played first when providing an image / video.
  • ROI region of interest
  • the media transmission step may be a process of processing and transmitting image / video data and metadata obtained in the preprocessing process. Processing according to any transmission protocol may be performed for transmission, and the preprocessed data may be delivered through a broadcasting network and / or broadband, and the data may be delivered to a receiving side on demand.
  • the processing process decodes the received image / video data and metadata, maps them into a three-dimensional model, or re-projections (also called projections), and creates and synthesizes virtual views. All steps before generating an image for playback may be included in the processing step.
  • the three-dimensional model or projection map that is mapped can be a sphere, a cube, a cylinder, or a pyramid like a traditional 360 video, and a modified form of the projection map of the existing 360 video. In some cases, the projection map may be a freeform form.
  • the process of generating 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 secondary view or between a main view and a main view.
  • a process of processing a metadata transmitted during capture and preprocessing may be required, and in some cases, only a part of the 360 view may be generated / synthesized rather than the entire 360 image / video.
  • the processing may additionally include an editing process, an upscaling process, a downscaling process, or the like.
  • the editing process the additional editing process required after the processing process and before playback may be applied. If necessary, upscaling or downscaling the received image / video may be performed.
  • the rendering process may refer to a process of rendering the image / video transmitted or generated to be reprojected. Sometimes the rendering and reprojection process is sometimes referred to as rendering. Therefore, the reprojection process may be included in the rendering process.
  • Reprojection is like fig.3c, which consists of 360 video / images centered on the user and 360 video / images formed around each position of the user according to the direction of movement. There can be multiple reprojections. have. Depending on the device you want to display, you may see some areas of the 360 video / image, where the area you see may look like fig.3d, and the entire 360 video / image renders when you move. Only the image corresponding to the location that the user is viewing may be rendered. In addition, by receiving metadata about the user's position and direction of movement, it is possible to predict the movement in advance and further render the video / image of the position to be moved.
  • the feedback process may refer to a process of delivering various feedback information that can be obtained in the display process to the transmitter. Interactivity may occur between the 6DoF content and the user through a feedback process, and according to an embodiment, the user's head and position position and the viewport currently viewed by the user during the feedback process may be used. Information about may also be delivered. The information may be transmitted to the sender or the service provider in the feedback process, and the feedback process may not be performed in some embodiments.
  • the location information of the user may mean information about a head position, an angle, a movement, and a moving distance of the user, and the viewport information viewed by the user may be calculated based on the corresponding information.
  • FIG. 18 shows a configuration of a transmission apparatus 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 device according to the present invention may perform the preparation and operations described above.
  • the 6DoF video / image transmitting apparatus according to the present invention includes a data input unit, a depth information processor (not shown), a stitcher, a projection processor, a viewpoint separation processor, a viewpoint packing processor, a metadata processor, a feedback processor, and data
  • An encoder, an encapsulation processor, a transmission processor, and / or a transmitter may be included as internal and external components.
  • the data input unit may receive image / video / depth information / audio data for each viewpoint captured by one or more cameras in one or more locations.
  • the data input unit may receive the metadata generated during the capture process together with the video / image / depth information / audio data.
  • the data input unit may transfer the input video / image data for each viewpoint to the stitcher, and may transfer the metadata generated during the capture process to the metadata processing unit.
  • the stitcher may perform a stitching operation on captured point-in-time / position-specific images / videos.
  • the stitcher may transfer the stitched 360 video data to the projection processor.
  • the stitcher can be stitched from the metadata processing unit if necessary.
  • the stitcher may transfer the metameter generated during the stitching process to the metameter processing unit.
  • the stitcher may change the video / image stitching position by using the position value transmitted from the depth information processor (not shown).
  • the stitcher may transfer the metadata generated during the stitching process to the processing unit.
  • the transmitted metadata may include stitching, stitching type, ID of primary view and secondary view, location information of the corresponding view, and the like.
  • the projection processor may project the stitched 6DoF video data into a 2D image frame.
  • the projection processing unit may obtain different types of outputs according to the scheme.
  • 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 may be applied to each viewpoint.
  • the depth information processor may transmit the depth information to the projection processor to change the mapping result value. If necessary, the projection processing unit may receive the metadata necessary for the projection from the metadata processing unit and use it for the projection work, and the projection processing unit may deliver the metadata generated during the projection process to the metadata processing unit.
  • the metadata may include the type of scheme, whether projection is performed, the ID of the 2D frame after the projection of the main view and the secondary view, and the location information for each view.
  • the viewpoint-packing processing unit may divide the main view and the secondary view, and may perform the region-specific packing process in each view. That is, the viewpoint packing processor classifies the projected 6DoF video data for each viewpoint / position into the main view and the secondary view so that the main view and the sub view can have different resolutions or rotate the video data of each view to improve coding efficiency. For example, you may want to rearrange and change the resolution of each region divided within each point in time.
  • the process of classifying the main view point and the secondary 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 by using information received from the metadata processing unit, and the metadata generated during the packing process may be delivered to the metadata processing unit.
  • the metadata defined in the viewpoint packing process may be an ID of each viewpoint for classifying a main viewpoint and a secondary viewpoint, a size applied to each region within a viewpoint, and a position value of each region of rotation.
  • the stitcher, projection processing unit, and / or point-of-view packing processing unit described above may occur in one or more hardware components or an ingest server in a streaming / download service.
  • the metadata processing unit may process metadata that may occur in a capture process, a stitching process, a projection process, a per-view packing process, an encoding process, an encapsulation process, and / or a process for transmission.
  • the metadata processing unit can generate new metadata for 6DOF video service by using the metadata received from each process.
  • the metadata processing unit may generate the newly generated metadata in the form of a signaling table.
  • the metadata processing unit may transfer the metadata to another element that is received or newly created / processed by the metadata processing unit.
  • the metadata processor may transmit the generated or received metadata to the data encoder, the encapsulation processor, and / or the transmission processor.
  • the data encoder may encode 6DoF video data and / or viewpoint / region packed video data projected onto a 2D image frame. Encoding may be performed in various formats, and if the classification by time, the encoding result value of each time may be separately transmitted.
  • the encapsulation processing unit may encapsulate the encoded 6DoF video data and / or related metadata in the form of a file.
  • the related metadata may be received from the above-described metadata processing unit.
  • the encapsulation processing unit may encapsulate the data in a file format such as ISOBMFF or OMAF, or process the data in the form of a DASH segment.
  • the encapsulation processing unit may be processed in a new file format. Metameters can be included in boxes that exist at various levels in the file format, as data in separate tracks, or only encapsulated as metafiles. A separate encapsulation process may be performed for each point of view, or the required metadata and the corresponding video information may be encapsulated together.
  • the transmission processor may apply additional processing for transmission to the encapsulated video data according to the format.
  • the process may operate by utilizing the metameter received from the metadata processing unit.
  • the transmission unit may transmit data and / or metadata received from the transmission processor through a broadcast network and / or broadband.
  • the transmitter may include components necessary for transmission through the broadcast network and / or broadband.
  • the feedback processing unit may further include a network interface (not shown) and / or.
  • the network interface may receive the feedback information from the receiving apparatus described later in the present invention and transmit the feedback information to the feedback processing unit (transmitting side).
  • the feedback processor may transmit the information received from the receiving side to the stitching, projection, point-of-view packing, encoder, encapsulation processing unit, and / or transmission processing unit, and the metadata processing unit transmits the metameter processing unit to other elements.
  • the new metadata may be generated / processed by the metadata processing unit.
  • the feedback processor transmits the position / view information received from the network interface to the metadata processor, where the metadata processor is a projection, a point-by-point packing processor, an encapsulation processor, and / or data. Coding efficiency can be improved by transmitting the corresponding location / view information to the encoder to transmit only the information and surrounding information corresponding to the current user's view / location.
  • Components of the aforementioned 6DoF video transmission device may be hardware components implemented in hardware. According to an embodiment, each component may be changed, omitted, or a new component may be added or replaced with another component.
  • the 6DoF video receiving apparatus includes a receiver, a receiver processor, a decapsulation processor, a metadata parser, a feedback processor, a data decoder, a re-projection processor, a virtual viewpoint generator / synthesis unit, and / or a renderer as components.
  • a receiver a receiver processor
  • a decapsulation processor a metadata parser
  • a feedback processor a data decoder
  • a re-projection processor a virtual viewpoint generator / synthesis unit
  • / or a renderer as components.
  • the receiver may receive video data from the aforementioned 6DoF transmitter. According to a channel through which video data is transmitted, the receiver may be received through a broadcasting network or a broadband.
  • the reception processor may perform processing according to a transmission protocol on the received 6DoF video data.
  • the reception processor performs data in the reverse order of the procedure performed by the transmission processor or obtains data obtained in a previous step of the transmission processor through a process according to a protocol processing method.
  • the reception processor may transfer the obtained data to the decapsulation processing unit, and may transfer metadata information received from the reception unit to the metadata parser.
  • the decapsulation processor may decapsulate 6DoF video data in the form of a file received from the reception processor.
  • the decapsulation processor may decapsulate files according to a corresponding file format to acquire 6DoF video and / or metadata.
  • the acquired 6DoF video data may be sent to the data decoder, and the 6DoF metadata may be transferred to the metadata parser.
  • the decapsulation processing unit may receive a metameter required for decapsulation from the metameter parser.
  • the data decoder may perform decoding on 6DoF video data.
  • the data decoder may receive the metadata required for decoding from the metadata parser.
  • the metadata obtained during the data decoding process may be delivered to the metadata parser for processing.
  • the metadata parser can parse / decode the 6DoF video related metadata.
  • the metameter parser may deliver the acquired metameter to the decapsulation processing unit, the data decoder, the re-projection processing unit, the virtual viewpoint generating / compositing 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 the 6DoF data for each viewpoint / position into a three-dimensional space, respectively.
  • the three-dimensional space may have a different shape depending on the three-dimensional model used, or may be re-projected into a three-dimensional model of the same shape through a transformation process.
  • the re-projection processor may receive the necessary metadata from the metadata parser. Metameta defined during the re-projection process can also be passed to the metameta parser.
  • a 3D model of 6DoF video data for each viewpoint / location can be delivered to the metadata parser, and the 3D model of video data for each viewpoint / position is different, and the video data of all viewpoints is the same 3D model.
  • the meta-data required for re-projection may be used to re-project only a specific area within a three-dimensional space, and may also re-project one or more specific areas.
  • the virtual view generator / synthesis unit does not include 6DoF video data received in the transmitted and re-projected 3D space, but generates video data using the given data in the virtual view area that needs to be reproduced, and focuses on the virtual view.
  • a process of synthesizing video data at a new viewpoint / location may be performed.
  • data of a depth information processor (not shown) may be utilized.
  • the virtual view generation / synthesis unit may generate / synthesize only a part of the specific area received from the meta-data parser and a portion of the surrounding virtual view area not received.
  • the virtual view generation / compositing unit may be selectively performed and is performed when there is no video information corresponding to the required view and location.
  • the renderer can render the 6DoF video data delivered from the re-projection or virtual view generation / composite. As described above, all the processes occurring in the re-projection or the virtual view generation / synthesis unit in the three-dimensional space are integrated with the renderer so that these processes can be performed in the renderer. According to an exemplary embodiment, only a part of the user's view and a part of the 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 feedback processor may obtain and process feedback information from a renderer, a virtual view generator / synthesizer, a re-projection processor, a data decoder, a decapsulation, and / or a VR display.
  • the feedback information may include viewport information of the user, head and position orientation information, gaze information, gesture information, and the like.
  • the network interface may receive the feedback information from the feedback processing unit, transmit the feedback information to the transmitting device, and consume the same at each component of the receiving side.
  • the decapsulation processing unit receives the position / view information of the user from the feedback processing unit, and if the position information is received in the received 6DoF video, only the position information is decapsulated, decoded, re-projected, and rendered. can do. If there is no information on the location, all 6DoF videos located around the location can be decapsulated, decoded, re-projected, virtual viewpoint generation / synthesis, and rendering.
  • each component may be changed, omitted, or a new component may be added or replaced with another component.
  • Figure 20 6 Shows the configuration of a DoF video transmission / reception device.
  • the 6DoF content may be provided in the form of a file or in the form of a segment-based download or streaming service such as DASH, or a new file format or a 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 the corresponding file and the streaming / downloading service may be described in detail as follows.
  • Audio Encoding 6DoF audio data can go through audio preprocessing and encoding.
  • a metadata may be generated, and the associated metadata may be encapsulated / encoded for transmission.
  • 6DoF video data may be subjected to editing, stitching, and projection processes of images acquired at various positions as described above. This process may be performed only partly, depending on the embodiment, the whole may be omitted may be performed at the receiver side.
  • View segmentation / packing As described above, the view separation / packing processing unit separates and packs the image of the main view and the primary view (PV) required by the receiver based on the stitched image, and then separates and packs the image into the main view. Afterwards, the remaining images may be subjected to a preprocessing process of packing the secondary image into the secondary view (SV). In the packing process, sizes and resolutions of the main view point and the secondary view point may be adjusted to improve coding efficiency. Even within the same point of view, it can be resized or resized according to the region under different conditions.
  • 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 position of image acquisition if there is a depth camera. In FIG. 2, a process for storing location information about how deep each object included in the image becomes.
  • Point Cloud Fusion / extraction The process of transforming a previously acquired depth map into data in an encoding form can be performed.
  • the preprocessing process may be performed by transforming to a point cloud data type and assigning a location value of each object of an image in 3D, and a data type capable of representing 3D spatial information instead of a pointer cloud data type may be applied instead.
  • PV encoding / SV encoding / light field / point cloud encoding Pre-packed for each view point, or depth information and / or position information may be image encoded or video encoded, respectively. 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 media formats such as HEVC-3D and OMAF ++.
  • File encapsulation The 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. Alternatively, encoded 6DoF video data can be processed into segments.
  • Metadata (including depth information) : Delivers meta-data generated during acquisition, stitching, projection, point-of-view separation / packing, encoding, and encapsulation process, such as 6DoF video data processing, to metameta processing unit or generated by metameta processing unit. Can be passed to each process.
  • the metadata generated by the transmitting side may be generated as a track or file in the encapsulation process and transmitted to the receiving side.
  • the receiver may receive a metadata stored as a separate file or a track in the file through a broadcast network or a broadband.
  • Files and / or segments can be included in separate tracks for delivery based on DASH or a new model with similar functionality.
  • MPEG DASH, MMT and / or a new standard 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 the user through speakers and headphones through audio decoding and rendering.
  • 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 secondary view SV may be separated to decode the video or the image in each view packing, and may be the video or image decoding regardless of the view classification.
  • light field and point cloud decoding with position and depth information is performed first, and then head, position, and eye tracking feedback is first transmitted, and only the image or video of the peripheral point of view where the user is located can be decoded.
  • Head / eye / position tracking As described above, the user's head, position, gaze, and viewport information may be acquired and processed.
  • Point Cloud rendering When re-projection of captured video / image data in 3D space, the 3D spatial location is set, and the virtual view, which is a location where the user can move, was not obtained from the received video / image data. Perform 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, a process of generating and synthesizing video data of a new view is performed by using 6DoF video data already secured around the user location / viewpoint. In some embodiments, a virtual view generation and / or synthesis process may be omitted.
  • Image composition, and rendering A process for rendering an image centered on a user's location, as described above, using video data decoded according to the user's location and gaze, or video around the user created by virtual viewpoint generation / synthesis.
  • the image can be rendered.
  • the concept as shown in FIG. 21 may be used to describe the 6DoF space before the projection or after the re-projection and to perform signaling thereof.
  • 6DoF space can be divided into two types of rational and translation, as 360 video or 3DoF space can be described as Yaw, Pitch, and Roll. have.
  • the lateral movement can be described as a yaw, pitch, and roll as described in the conventional 3DoF direction as in a, and can also be called an orientation movement.
  • a translation movement it may be referred to as a position movement as shown in b. Left / Right, Forward / Backward, and Up / down directions can tell you where the axis has moved. Define one or more values to describe the movement of the center axis. can do.
  • a feature of the present invention is to propose an architecture for 6DoF video service and streaming, and to propose the basic metadata of the signaling and file storage method can be utilized in the invention for future 6DoF-related metadata and signaling extension.
  • the metadata that occurs in each process can be extended.
  • 6DoF video-related parameters of contents providing 6DoF video service can be stored and signaled in a file such as ISOBMFF.
  • 6DoF video metadata can be stored and signaled through SEI or VUI of 6DoF video stream later.
  • Region may mean a region in which 360 video data projected in a 2D image is located in a packed frame through region-wise packing.
  • the region herein may mean a region used in region-specific packing according to the context. As described above, regions may be divided equally by dividing the 2D image, or may be arbitrarily divided according to a projection scheme.
  • Region (general meaning, region) : Unlike regions in the region-specific packing described above, the term region may be used as a dictionary meaning. In this case, the region may have the meaning of 'region', 'region', 'partial', and so on. For example, when referring to a region of a face to be described later, an expression such as 'one region of the face' may be used. In this case, the region is a meaning distinguished from the region in the region-specific packing described above, and both regions may indicate different regions irrelevant to each other.
  • a picture may mean an entire 2D image projected with 360 video data.
  • a projected frame or a packed frame may be a picture.
  • a sub-picture may mean a part of the above-described picture.
  • a picture may be divided into several sub-pictures to perform tiling and the like.
  • each subpicture may be a tile.
  • an operation of reconfiguring the tiles or the MCTS into a picture form compatible with the existing HEVC may be referred to as MCTS extraction.
  • the result of this MCTS extraction may be the original tile or a sub-picture of the picture to which the MCTS belongs.
  • a sub picture may 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 or a tool for independent decoding in VR.
  • a tile may refer to a motion constrained tile set (MCTS) in which a range of temporal inter prediction is limited to a current range of tiles.
  • MCTS motion constrained tile set
  • tiles can also be called MCTS.
  • Spherical region A superregion to sphere region, when 360 video data is rendered in 3D space (e.g., spherical) on the receiving side, is a region on that spherical region. Can mean.
  • the superior region is independent of the region in the region-specific packing. In other words, it is not necessary to mean the same region as a region defined in a regional packing.
  • Superior region is a term used to mean a part of a rendered sphere, and 'region' may mean 'region' in a dictionary meaning. Depending on the context, a superior region may simply be called a region.
  • a face may be a term that calls each face according to a projection scheme. For example, if cubemap projection is used, the front, back, sides, top, bottom, etc. may be called faces.
  • 3DoF + video processing includes the structure of a video transmission method and a video reception method according to embodiments of the present invention.
  • the video transmission method may refer to the operation of the encoder
  • the video reception method may refer to the operation of the decoder.
  • the 3DoF + video processing process at the encoder stage includes pre-processing and HEVC encoding. Each step is performed by a pre-processor and / or encoder of the video transmission device.
  • the 3DoF + video processing process of the decoder stage includes HEVC decoding, postprocessing, and render model. Each step is performed by a decoder, post processor, and / or render model unit of the video receiving apparatus.
  • Pre-processing receives the sequences in source format. Pre-processing can receive test materials and perform preprocessing on the test materials.
  • Pre-processing includes view selection, view analysis, packing, and / or projection, etc.
  • view analysis includes view estimation, inter-position redundancy Inter-position redundancy removal and the like.
  • the packing scheme provides an optimal packing combination based on the texture, depth, patch, residual, and the like of the data.
  • a method of reducing redundancy in packing is proposed. With processing dependent on the viewport / viewing position, we propose a method of handling packing in the same viewing direction.
  • the viewing direction represents the direction that the user sees.
  • the viewing position shows the position of the user's head in the 3DoF + environment.
  • the viewport represents the position of the user's body.
  • the residual may represent a set of meaningful or valid pixel information since the image is divided into patches.
  • Each picture can have a residual.
  • an error that occurs when the original image is not accurately estimated is called a residual.
  • a method such as frame packing or multicast may be used.
  • Encoding encodes data by HEVC encoding and transmits the data to a decoder or a video receiving apparatus in the form of a bitstream.
  • Decoding decodes data by HEVC decoding.
  • Post-processing is dependent on pre-processing.
  • Post-processing regenerates the views on the source position.
  • the render model may additionally perform modeling for rendering the decoded data.
  • the render model process may optionally be performed.
  • the render model produces rendered views.
  • the Reference View Synthesizer may receive post-processed data to synthesize a view to generate a rendered view.
  • the reference view synthesizer may receive post-processed data in source format.
  • Figure 23 shows the configuration of pre-processing.
  • Pre-processing includes projection, preprocessing (3DoF + preprocessing), and / or encoding, and each step of pre-processing may be performed by a pre-processor of the video transmission device.
  • the projection receives multi-spherical videos / images and texture / depth information, which is metadata thereof, and the like.
  • Projection projects a sphere image for each position / view / component into a 2D image based on texture / depth.
  • projection parameters for projection may be generated. Projection parameters can be used in the encoding process.
  • Preprocessing receives projected pictures, textures, depths, and the like. Preprocessing performs preprocessing for pictures for 3DoF + video data generation, and generates and provides 3DoF + preprocessing metadata to the encoding process. Preprocessing performs processing such as packing, and the specific process of preprocessing will be described below.
  • Encoding receives the packed picture, 3DoF + preprocessing metadata, projection parameters, and encodes the packed picture based on the 3DoF + preprocessing metadata, the projection parameters.
  • the encoded picture is transmitted through the server in the form of a bitstream.
  • Figure 24 shows the configuration of post-processing.
  • Post-processing includes decoding, view regeneration, view synthesis, and / or rendering. Each operation of post-processing is performed by a decoder, view / viewport regenerator, view synthesizer, pre-processor, and / or renderer of the video receiving device. Or the like.
  • Decoding receives data in the form of a bitstream from a server and decodes the data.
  • View regeneration receives a decoded picture (or packed picture) and performs an operation such as unpacking based on a reconstruction parameter generated in decoding. The detailed operation of view generation is described below.
  • View synthesis synthesizes the reconstructed picture based on texture, depth, view synthesis parameter, viewing position information, and / or viewport information. The detailed operation of the view synthesis is described below.
  • Rendering may receive and render a picture including a texture.
  • the rendering may render the picture using the target viewing position information.
  • the display may display a picture including a texture based on the target viewport information.
  • Each operation of decoding, view regeneration, view synthesis, and / or rendering may use the viewing position and viewport information.
  • Viewing position and viewport information transmitted from the encoder or the transmitter side may be provided to each step on the decoder or receiver side.
  • 25 shows a 3DoF + video receiving method.
  • Decoding receives a bitstream containing data from a server and decodes the data.
  • View / viewport regeneration may receive a decoded picture or a packed picture and unpack the decoded picture using reconstruction parameters and / or viewing position information, viewport information, and the like. View / viewport generation reconstructs the image at a specific time point for low latency transmission and reception. View / viewport regeneration includes a post-decoding process and view (or viewport) regeneration.
  • the post-decoding process may perform unpacking for a full view, unpacking for a portion of a viewport, and unpacking for related views.
  • View (or viewport) generation can perform view estimation with selected views (or decoded views), view reconstruction with metadata, patch / residual hole filling, etc. You can perform view reconstruction through Alternatively, view reconstruction can be performed without a patch.
  • View synthesis can receive a reconstructed picture that includes a texture and depth, and can perform view negotiation on the reconstructed picture using view synthesis parameters and / or viewing position information and viewport information. have.
  • View Synthesis can provide view synthesis that is robust to coding / reconstruction errors, and can provide a view synthesizer optimized for the user's viewport. In particular, it provides an optimization effect in terms of reducing motion-to-photon delay.
  • a module integrated with a renderer for low delay only an area corresponding to a viewport can be synthesized. That is, the view synthesis generates an image of any viewpoint optimized for the user's viewport.
  • Rendering may receive a picture including a texture and / or target viewing position information, and render the picture using the viewing position information and / or viewport information.
  • the display may display a picture including a texture based on the target viewport information.
  • Each operation of decoding, view / viewport regeneration, view synthesis, and / or rendering may use the viewing position and the viewport information.
  • the viewing position information and the viewport information may be received from the transmitting end.
  • Decoding, View / viewport regeneration, View synthesis, Rendering and / or Display may be decoders, view / viewport regenerators, views of the video receiving device.
  • the operation may be performed by a synthesizer, a rendering unit or a renderer, a display unit, or a displayer.
  • the video transmission apparatus and the video reception apparatus may provide a video transmission / reception system reflecting real-time movement, and further, the view / viewport regeneration process may provide an image of a specific time point for low latency transmission / reception. Reconstructed, the view synthesis may generate an image of any viewpoint optimized for the user's viewport.
  • Figure 26 shows pro-processing to perform view selection.
  • the video transmission apparatus may include a plurality of HEVC encoders.
  • the encoders receive videos (including video 0 through video N) that include texture T and depth D, and encode the N videos.
  • Delivery refers to a process in which a video transmitting apparatus transmits data to a video receiving apparatus.
  • HEVC decoders receive and decode N videos.
  • the view synthesizer synthesizes N videos to generate and provide synthesized video to a display unit or a display device.
  • An HDM (Head mounted display) device or the like may display the synthesized video to the user, and the view synthesizer may receive information related to the user's view from the HDM as feedback information.
  • the video transmitting apparatus and the video receiving apparatus may further include pre-processing and view / viewport generation for view selection.
  • Encoder pre-processing may receive N videos including texture and depth and perform view selection. Pre-processing may select a view according to the characteristics of the video among the N videos. For example, two video data of the N video data may be view selected. Pre-processing may generate metadata related to the view selection while performing the view selection. Pre-processing may transmit metadata related to the view selection to the video receiving device. Metadata related to the view selection may be used in the view / viewport regenerator of the video receiving device.
  • View selection selects one or more video data from among a plurality of received video data.
  • the step of selecting a view may select a view having the least error through view synthesis.
  • the encoder encodes the video on which the view selection was performed.
  • Delivery refers to a process in which a video transmitting apparatus transmits the encoded video to the video receiving apparatus.
  • the decoder decodes the video on which the view selection is performed.
  • View / viewport regeneration receives the decoded video and regenerates the view and viewport using metadata related to the view selection and the like.
  • View / viewport regeneration can produce N or fewer than N videos.
  • the decoder decodes two video that are view selected to produce video 0 and video N that include texture and depth, and view / viewport generation is based on the texture for the view cell line and texture and depth.
  • Video 1 including the reconstructed may be.
  • the view synthesizer may receive the decoded video and the regenerated video to perform view synthesis.
  • the view synthesizer generates an image of a random left view point in the user's viewport.
  • the image of the specific viewing position may be estimated, or the image of the viewing position may be estimated without additional information.
  • the HDM may display an image for a specific viewpoint.
  • the HDM may provide information related to the view of the user to the view synthesizer as feedback information.
  • Figure 27 shows pre-processing to perform packing.
  • the video transmission apparatus may further perform view analysis and encoder pre-processing (packing).
  • the view analysis unit may receive N videos including a texture and a depth, and analyze a view of the videos.
  • the view analyzer analyzes the view to generate an image of a specific viewpoint optimized for the user's viewport.
  • View analysis includes view estimation and / or inter-position redundancy removal, and the like. The detailed process of view analysis is described in FIG.
  • Pre-processing receives the video on which view analysis has been performed and encodes the video.
  • pre-processing may perform packing on the video.
  • View analyzed videos may represent various viewing positions, textures, depths, and the like, and packing may pack these various pictures to produce an optimal picture that may provide optimal encoding performance.
  • packing receives the picture and constructs a picture set corresponding to the optimal combination of the plurality of pictures based on the picture's texture, depth, residual, and the like. Packing can produce packed pictures with high coding efficiency. Unpacking also reverses packing.
  • the encoder encodes video data including packed pictures, and delivers the encoded data for delivery.
  • the video receiving apparatus may further perform a decoder (decoder, post-processing (unpacking)) and view / viewport regeneration.
  • the decoder receives the encoded data and decodes the data.
  • Decoder post-processing may perform the reverse process of packing. Unpacking unpacks packed pictures. Unpacking may include unpacking for a full view, unpacking for parts of a viewport, unpacking for related views, etc., and may use viewing position information, viewport information, HDM feedback information and / or reconstruction parameters, etc. Can be.
  • the view / viewport regeneration may receive data including unpacked pictures and regenerate video according to the view / viewport.
  • View / viewport redirection can be performed by using video 0 including texture and depth 0, reconstructed video 1,... Then, the reconstructed video N may be generated.
  • View / viewport regeneration can use HDM feedback information.
  • the view synthesizer may synthesize (generate) an image of a specific viewpoint optimized for the user's viewport based on the regenerated videos.
  • Displayer HDM displays the synthesized view.
  • the video transmission apparatus may be referred to as an encoder, and the video receiving apparatus according to the embodiments of the present invention may be referred to as a decoder.
  • the encoder may perform preprocessing and encoding, including rotation / projection, inter-view redundance removal, and packing. Each process may be performed by an encoder, a rotation / projection unit, an inter-view removal unit, a packing unit, a preprocessor, or the like of the video transmission apparatus.
  • Rotation / projection receives multi-spherical videos / audio (s).
  • Multi- spherical video / audio may include texture and depth, and the like.
  • Rotation / projection may rotate and / or project multi- spherical video / audio and generate parameters related to projection. Projected pictures are generated here.
  • Preprocessing can remove redundancy between views of projected pictures.
  • preprocessing may pack the projected pictures.
  • Preprocessing generates metadata related to the packed picture and the preprocessing.
  • Preprocessing optimizes the plurality of projected pictures to produce a picture consisting of one or more packing combinations.
  • Encoding encodes the data contained in the packed pictures.
  • parameters related to projection and metadata related to preprocessing may be used.
  • Encoding transmits the encoded data through the server in the form of a bitstream.
  • the decoder may perform decoding, view reconstruction, view synthesis and rendering / viewport generation. Each process may be performed by a decoder, a view reconstruction unit, a view synthesizer, a rendering / viewport generation unit, or the like of the video receiving apparatus.
  • Decoding receives a bitstream containing the data from the server and decodes the data.
  • Decoding may generate a reconstruction parameter and generate a view synthesis parameter.
  • View reconstruction receives the packed pictures, receives the reconstruction parameters, and reconstructs the packed pictures based on the reconstruction parameter, the viewing position information, and / or the viewport information. View reconstruction generates a plurality of pictures by unpacking the packed picture.
  • View synthesis receives a picture that includes a texture and a depth, and generates a picture based on the target viewing position based on the view synthesis parameter, the viewing position information, and / or the viewport information.
  • Rendering / viewport generation generates a viewport, renders a picture including a texture based on the target viewport based on the viewing position information and / or viewport information, and renders the image based on the viewport.
  • the display displays the picture that contains the texture for the target viewport.
  • Each process of decoding, view reconstruction, view synthesis and rendering / viewport generation may use viewing position information and / or viewing port information.
  • the viewing position information and the viewing port information may be received from the transmitting end or provided to each process of the receiving end as feedback information from the display unit.
  • the video transmission apparatus (encoder) according to the embodiments of the present invention may perform the following operations.
  • Viewing volume generation obtains 360 video data for any multiview from the scene.
  • the viewing volume generation may receive the information of the scene in the form of CG graphics, and may generate the volume of the viewing in consideration of the 3D space for the scene.
  • multiple spherical videos are generated that include the texture and the depth.
  • a scene means an image obtained from a camera
  • a CG means an image obtained through pre-processing such as computer graphics.
  • the viewing volume generation generates a viewing space parameter related to the viewing volume.
  • the viewing volume refers to a space that supports 3DoF +. Rather than using the images captured by the camera as it is, the process of synthesizing the images of the virtual view (viewtual view) in the three-dimensional space through processing such as computer graphics and shows the process of making the synthesized image into 3DoF + image.
  • Virtual camera capturing may perform virtual camera capturing to create a multi-sphere for each viewing position. Virtual camera capture information may be generated based on the viewing volume. Virtual camera capturing can optionally be performed.
  • Projected texture / depth generation for each viewing position creates a projected picture that includes the texture / depth for each viewing position, and generates view synthesis parameters for compositing the projected picture. .
  • Inter-view redundancy removal removes the inter-view redundancy for the projected picture to produce a picture that includes the dex and the depth.
  • the inter-view redundancy remover creates an optimal picture in consideration of patches and residuals for the texture, and generates a reconstruction parameter for reconstructing the picture.
  • Packing generates a packed picture by packing a plurality of pictures, and generates packing metadata related to the packing of the picture.
  • Encoding encodes the packed picture.
  • the encoding encodes data included in the picture based on the viewing space parameter, view synthesis parameter, reconstruction parameter, and / or packing metadata generated in the above-described operation.
  • the encoded data is transmitted from the video transmitter (encoder) to the video receiver (decoder) in the form of a bitstream through a server.
  • the viewing position information and / or the viewport information may be transmitted together.
  • Each operation of the video transmission apparatus described above may be performed by a viewing volume generator, a virtual camera capturer, a projector, an inter-view redundancy remover, a packing unit, an encoder, and the like included in the video transmission apparatus.
  • the video transmission apparatus may perform the following operations.
  • Virtual camera capturing receives computer-generated graphic data and generates multi- spherical data for each viewing position. Virtual camera capturing generates multiple spherical videos including texture and depth, and generates viewing space parameters related to the multiple spherical videos.
  • Rotation / projection rotates and / or projects a plurality of spherical videos including a dex and a depth to generate projected pictures. It also generates view synthesis parameters for view synthesizing the pictures.
  • Inter-view redundancy removal removes redundancy between views for the projected picture.
  • the inter-view redundancy remover creates a picture from which inter-view redundancy is optimized for patch / residual (texture), and generates a reconstruction parameter for reconstructing the picture.
  • Packing packs a plurality of pictures to produce an optimal picture.
  • the packing generates packing metadata to represent the packed picture.
  • Encoding encodes the packed picture.
  • the encoding encodes data included in the packed picture based on the viewing space parameter, view synthesis parameter, reconstruction parameter, and / or packing metadata generated in the above-described operation.
  • the encoded data is transmitted from the video transmitter (encoder) to the video receiver (decoder) in the form of a bitstream through a server.
  • the viewing position information and / or the viewport information may be transmitted together.
  • Each operation of the video transmission apparatus described above may be performed by a virtual camera capturer, a rotator / projector, an inter-view redundancy remover, a packing unit, an encoder, or the like.
  • the video receiving apparatus (decoder) according to the embodiments of the present invention may perform the following operations.
  • the video receiving apparatus may receive data from the video transmitting apparatus through a server.
  • Decoding decodes data included in the bitstream. Decoding decodes the data to produce a packed picture, unpacking metadata for unpacking the packed picture from the data contained in the bitstream, reconstruction parameters for reconstructing the picture, and synthesizing the view for the picture. Create view synthesis parameters
  • Unpacking unpacks one or more packed pictures to produce a plurality of pictures.
  • Unpacked pictures are pictures that include a texture and a depth, and pictures that are optimized in terms of patch / residual (texture).
  • Unpacking unpacks a packed picture based on unpacking metadata.
  • View generation creates a view for unpacked pictures. View generation creates a view from a picture based on the reconstruction parameters.
  • View synthesis receives pictures containing the generated view and generates a picture for the texture based on the target viewing position. View synthesis generates (composites) a picture based on view synthesis parameters.
  • Rendering / viewport generation creates a viewport for the synthesized view and renders the picture for the texture based on the target viewport.
  • Display displays the picture for the target viewport.
  • Each operation of the above-described video receiving apparatus may additionally use the viewing position information and / or viewport information received from the encoder and / or the feedback information received from the display unit.
  • Each operation of the video receiving apparatus described above may be performed by a decoder, an unpacking unit, a view generator, a view synthesizer, a rendering / viewport generator, or the like.
  • the video transmitting apparatus and the video receiving apparatus provide a 3DoF + video transmitting / receiving system reflecting real-time movement.
  • the video transmission method and the video reception method according to the embodiments of the present invention can reduce the burden on the receiver and reduce the latency of the receiver.
  • the view estimation and reconstruction process removes redundancy between viewpoints.
  • 3D prediction & patch and 2D prediction & patch can be used.
  • textures, depths, patches, and the like of multiple viewing positions may pack different pictures to produce a picture having an optimal or minimum size with high coding efficiency.
  • layered patches can be used, which provides the effect of simultaneously handling view generation and view synthesis.
  • an image for changing a viewpoint of a low delay may be generated.
  • the same view direction may be bundled and processed using MCTS.
  • the video transmission method and the video reception method according to the embodiments of the present invention may generate a multiview 3DoF + image.
  • the view synthesizer may be robust to view generation error, thereby improving the performance of the view synthesizer.
  • the view synthesizer is viewport dependent and can be integrated with the renderer to optimize the performance of the view synthesizer.
  • the video transmitting apparatus and the video receiving apparatus may generate and use the following metadata.
  • Un-packing metadata includes configuration information regarding decoding.
  • Decoding generates configuration information about the configuration of the decoded picture as unpacking metadata while decoding the data.
  • the unpacking metadata includes attribute information related to the index, patch, residual, depth, overlay, and the like included in the picture.
  • Unpacking metadata includes attribute information for each part of a packed picture, information about which viewing position each part of the packed picture corresponds to, and where each part of the packed picture corresponds to the projected picture. Contains information about
  • the unpacking metadata may include spatial scaling, transformation, brightness scaling information, and the like for the decoded picture.
  • the reconstruction parameter may be used as the view generation parameter.
  • View generation combines textures, patches, and residuals after unpacking to create textures or pictures that contain textures.
  • the reconstruction parameter includes information related to the combination of texture, patch, and residual for view compositing pictures.
  • the reconstruction parameter includes information related to view estimation.
  • the reconstruction parameter may include information related to which viewing position (s) texture and depth are used for the prediction, information indicating the method of view estimation (e.g., view synthesizer method, 3D prediction). , Type information such as 2D prediction).
  • 3D prediction means a method of reprojecting a picture in 3D space. For example, it means a method of wrapping in the viewing position B.
  • 2D prediction refers to a method of motion estimating a picture on a projection format. For example, it means object / viewing direction-based motion estimation.
  • the reconstruction parameter may include information indicating how to process the patch / residual.
  • the view synthesis synthesizes a view using a signal (or information) for each viewing position of a picture including texture and depth, so a view synthesis parameter is required.
  • the view synthesis parameter may include information representing a texture and a depth of a video and information about a current video.
  • the information about the current video may mean a viewpoint and a viewing position.
  • the view synthesis parameter may include information about the movable video. For example, it may mean available viewpoints and viewing space information.
  • the view synthesis parameters include information indicating the location of the source viewing position, information indicating the presence of a depth, information indicating the near / far range of the depth, and the presence of a reconstructed view.
  • Information for view synthesis such as information indicating whether or not, information indicating quality, information indicating resolution, information indicating camera parameters, and the like, may be included.
  • the above-described metadata may be variously referred to herein as signaling information, first signaling information, first information, or the like.
  • the video transmission apparatus may further perform inter-position redundancy removal, packing, and / or encoding.
  • Each process of the video transmission apparatus may be performed by an inter-position redundancy remover, a packing unit, and / or an encoder.
  • Inter-position redundancy removal receives video sequences for multiple viewing positions and removes redundancy between positions of video sequences.
  • the inter-position redundancy remover generates a reconstruction parameter related to the redundancy revival.
  • the inter-position redundancy remover removes redundancy between positions of video sequences to create a picture containing a texture, a picture containing a depth, a patch containing a texture, a residual containing a texture, and the like.
  • the inter-position redundancy remover receives a sequence comprising a video (or image) of a plurality of viewing positions and removes redundancy of video of adjacent viewing positions between the plurality of viewing positions. Create texture pictures, depth pictures, texture patches, and texture residuals for viewing positions with redundancy removed.
  • a texture, a depth, a patch, or the like may not be transmitted.
  • Packing receives the pictures and packs the pictures. Packing may pack the pictures to produce the optimal picture (s). Packing produces packing metadata related to packing of pictures.
  • Encoding encodes the pictures. Encoding encodes the data included in the pictures based on the reconstruction parameters and / or packing metadata. The encoded data is transmitted to the video receiving device in the form of a bitstream.
  • the inter-position redundancy remove may further include a viewing position selection and a prediction and patch / residual estimation.
  • Viewing Position Selection receives video sequences for multiple viewing positions to select a target viewing position (or a specific viewing position) among the multiple viewing positions.
  • the viewing position selection generates information indicating the selected viewing position, and generates patch / residual setting or attribute information for the selected target viewing position. It also generates texture pictures on the projected format based on the texture coding viewing position information.
  • an anchor view is selected since the result of the viewing position selection becomes a texture / depth picture.
  • Prediction Patch / Residual Estimation receives the patch / residual property information and / or viewing position information generated in the viewing position selection, predicates the target viewing position, and The residuals are agitated to produce patches / residual pictures on the projected format.
  • the video for the original first viewing position is predicated based on the second viewing position that is the object of the estimation, and the patch / resistance between the first viewing position and the second viewing position is esteemed. I can make it.
  • the prediction patch / residual estimation further includes 3D prediction, hole filling, crack removal, and patch / residual estimation. do.
  • the 3D prediction receives a video about the anchor viewing position.
  • the 3D prediction 3D predicates the video for the anchor viewing position with respect to the specific viewing position. For example, wrapping for viewing position B may be applied to the video in the anchor viewing position.
  • the anchor viewing position may mean a viewing position of one of the multiple viewing positions, and may mean a viewing position including important data.
  • Hole filling may fill holes that may be created in the 3D prediction. It is possible to fill in the holes between the video for the anchor viewing position and the 3D predicated video for other viewing positions. For example, holes such as interpolation can be used to fill the holes. Hole filling may optionally be performed.
  • Crack removal removes cracks that may be generated in the 3D prediction. For example, cracks may be removed using a scheme such as interpolation.
  • Patch / residual estimation receives the video and the prescribed picture for viewing position B and generates a patch / residual through subtraction between the original picture and the aestheticd picture. . That is, the patch / resistance that can occur due to the difference between the picture in which the video of the anchor viewing position is prescribed and the video of the viewing position B can be estimated.
  • the prediction patch / resistive estimation may generate patches and residuals (eg, for ERP) for the video between viewing positions.
  • the prediction patch / residual estimation may generate the following metadata or signaling information. Specifically, there may be information indicating lapping parameters, camera parameters, pole peeling and crack removal methods, information indicating a reconstruction method, and the like.
  • the encoder according to embodiments of the present invention is efficient by transmitting only the patch and / or residual and the signaling information related to the viewing position B, without having to transmit all the videos of the specific viewing position, for example, the viewing position B.
  • 3DoF + video can be processed.
  • the video receiving apparatus may further perform decoding, unpacking, view generation, and / or view synthesis. have.
  • Each operation of the video receiving apparatus may be performed by a decoder, an unpacking unit or an unpacker, a view generator, a view synthesizer, or the like of the video receiving apparatus.
  • Decoding receives a bitstream from a video transmitting apparatus and decodes data included in the bitstream.
  • Decoding may decode the data based on the viewing position information and the viewport information.
  • the decoding may generate unpacking metadata including information for unpacking, reconstruction parameters including information necessary for view generation, and view synthesis parameters including information necessary for view synthesis.
  • Un-packing receives decoded data or decoded pictures and unpacks the packed pictures. Unpacking unpacks packed pictures using unpacking metadata to generate texture pictures, depth pictures, texture patches, and texture residuals.
  • View generation receives texture pictures, depth pictures, texture patches, texture residuals, and synthesizes views for one or more viewing positions using reconstruction parameters. View generation creates a picture that includes a texture and depth for single or multiple viewing positions.
  • View synthesis synthesizes the view using the generated view parameters from the view-generated picture.
  • the view synthesis finally generates a picture of the target viewing position or the specific viewing position.
  • the view generation may perform 3D prediction, hole filing, crack removal, and reconstruction.
  • 3D prediction Receives a picture of the anchor viewing position and performs 3D prediction. For example, the prediction may be performed by wrapping the viewing position B.
  • FIG. 1
  • Hole filing may fill holes that may occur in the process of applying a prediction to a picture of the anchor viewing position.
  • holes may be filled using a scheme such as interpolation. Hole filling may be performed selectively.
  • Crack removal removes cracks that may be generated in the 3D prediction. For example, cracks may be removed using a scheme such as interpolation.
  • the reconstruction may generate the picture of the viewing position B using the picture of the anchoring viewing position where the prediction was performed and the patch and the residual of the viewing position B.
  • the video transmission apparatus may further perform inter-position redundancy removal, packing, and / or encoding.
  • Each process of the video transmission apparatus may be performed by an inter-position redundancy remover, a packing unit, and / or an encoder.
  • Inter-position redundancy removal receives video sequences for multiple viewing positions and removes redundancy between positions of video sequences.
  • the inter-position redundancy remover generates a reconstruction parameter related to the redundancy revival.
  • the inter-position redundancy remover removes redundancy between positions of video sequences to create a picture containing a texture, a picture containing a depth, a patch containing a texture, a residual containing a texture, and the like.
  • Packing receives the pictures and packs the pictures. Packing may pack the pictures to produce the optimal picture (s). Packing produces packing metadata related to packing of pictures.
  • Encoding encodes the pictures. Encoding encodes the data included in the pictures based on the reconstruction parameters and / or packing metadata. The encoded data is transmitted to the video receiving device in the form of a bitstream.
  • the inter-position redundancy remove may further include a viewing position selection and a prediction and patch / residual estimation.
  • Viewing Position Selection receives video sequences for multiple viewing positions to select a target viewing position (or a specific viewing position) among the multiple viewing positions.
  • the viewing position selection generates information indicating the selected viewing position, and generates patch / residual setting or attribute information for the selected target viewing position. It also generates texture pictures on the projected format based on the texture coding viewing position information.
  • Prediction Patch / Residual Estimation receives the patch / residual property information and / or viewing position information generated in the viewing position selection, predicates the target viewing position, and The residuals are agitated to produce patches / residual pictures on the projected format.
  • the video for the original first viewing position is predicated based on the second viewing position that is the object of the estimation, and the patch / resistance between the first viewing position and the second viewing position is esteemed. I can make it.
  • Prediction estimates information of one viewing position from one viewing position. In other words, Predition finds redundant information. Since the estimable information can be considered to be reproducible in the decoder, the encoder or the transmitter does not transmit the estimable information to the decoder or the receiver, but transmits an unestimateable portion, thereby removing redundant information.
  • the prediction patch / residual estimation further includes 2D prediction, hole filling, and patch / residual estimation.
  • 2D prediction applies 2D prediction to the video for the anchor viewing position.
  • 2D prediction may be performed using an object / viewing direction-based motion estimation scheme.
  • the video for the anchor viewing position is 2D prediction based on the object / viewing direction.
  • 2D prediction projects on a 2D image. Meanwhile, 3D prediction projects based on positional differences in 3D space.
  • Hole filling may fill the holes created by the prediction. It can fill a hole between the video for the anchor viewing position and the 2D predicated video for the object / viewing direction.
  • the hole can be filled using a method such as interpolation. Hole filling may optionally be performed.
  • Patch / residual estimation receives the video and the prescribed picture for viewing position B and generates a patch / residual through a subtraction between the original picture and the aestheticted picture.
  • the prediction patch / resistive estimation may generate patches and residuals (eg, for ERP) for the video between viewing positions.
  • the prediction patch / residual estimation may generate the following metadata or signaling information. Specifically, there may be information indicating lapping parameters, camera parameters, pole peeling and crack removal methods, information indicating a reconstruction method, and the like.
  • the encoder according to embodiments of the present invention is efficient by transmitting only the patch and / or residual and the signaling information related to the viewing position B, without having to transmit all the videos of the specific viewing position, for example, the viewing position B.
  • 3DoF + video can be processed.
  • the video receiving apparatus may further perform decoding, unpacking, view generation, and / or view synthesis. have.
  • Each operation of the video receiving apparatus may be performed by a decoder, an unpacking unit or an unpacker, a view generator, a view synthesizer, or the like of the video receiving apparatus.
  • Decoding receives a bitstream from a video transmitting apparatus and decodes data included in the bitstream.
  • Decoding may decode the data based on the viewing position information and the viewport information.
  • the decoding may generate unpacking metadata including information for unpacking, reconstruction parameters including information necessary for view generation, and view synthesis parameters including information necessary for view synthesis.
  • Un-packing receives decoded data or decoded pictures and unpacks the packed pictures. Unpacking unpacks packed pictures using unpacking metadata to generate texture pictures, depth pictures, texture patches, and texture residuals.
  • View generation receives texture pictures, depth pictures, texture patches, texture residuals, and synthesizes views for one or more viewing positions using reconstruction parameters. View generation creates a picture that includes a texture and depth for single or multiple viewing positions.
  • View synthesis synthesizes the view using the generated view parameters from the view-generated picture.
  • the view synthesis finally generates a picture of the target viewing position or the specific viewing position.
  • the view generation may perform 2D prediction, hole filing, and reconstruction.
  • 2D prediction applies 2D prediction to the video for the anchor viewing position.
  • 2D prediction may be performed using an object / viewing direction-based motion estimation scheme.
  • the video for the anchor viewing position is 2D prediction based on the object / viewing direction.
  • Hole filing may fill holes that may occur in the process of applying a prediction to a picture of the anchor viewing position. For example, holes such as interpolation can be used to fill the holes. Hole filling may optionally be performed.
  • the reconstruction may generate the picture of the viewing position B using the picture of the anchoring viewing position where the prediction was performed and the patch and the residual of the viewing position B.
  • 35 shows a video transmission method
  • a video transmission method includes the steps of pre-processing video data (S28001), encoding pre-processed video data (S28002), and / or transmitting encoded video data. Step S28003 is included.
  • each step can be processed by each configuration of the video transmitting apparatus shown in FIG.
  • a video receiving method includes receiving video data (S29001), receiving video data (S29002), and / or post-processing the decoded data (S29003). do.
  • each step can be processed by each component of the video receiving apparatus shown in FIG.
  • Each part, module, or unit described above may be a software, processor, or hardware part that executes successive procedures stored in a memory (or storage unit). Each of the steps described in the above embodiment may be performed by a processor, software, or hardware parts. Each module / block / unit described in the above embodiments can operate as a processor, software, or hardware.
  • the methods proposed by the present invention can be executed as code. This code can be written to a processor readable storage medium and thus read by a processor provided by an apparatus.
  • Apparatus and method according to the present invention is not limited to the configuration and method of the embodiments described as described above, the above-described embodiments may be selectively all or part of each embodiment so that various modifications can be made It may be configured in combination.
  • the processor-readable recording medium includes all kinds of recording devices that store data that can be read by the processor.
  • Examples of the processor-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like, and may also be implemented in the form of a carrier wave such as transmission over the Internet.
  • the processor-readable recording medium can also be distributed over network coupled computer systems so that the processor-readable code is stored and executed in a distributed fashion.
  • a / B is interpreted as A and / or B
  • A, B is interpreted as A and / or B
  • a / B / C means at least one of A, B and / or C.
  • A, B, C also means at least one of A, B and / or C.
  • a or B may mean 1) A only, 2) B only, or 3) A and B. In other words, or in this document may mean additionally or alternatively. (Further, in the document, the term or should be interpreted to indicate and / or.For instance, the expression A or B may comprise 1) only A, 2) only B, and / or 3) both A and B. In other words, the term or in this document should be interpreted to indicate additionally or alternatively.)
  • the present invention is used in the VR related field.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

본 발명의 실시예들에 따른 비디오 송신 장치는 비디오 데이터를 프로세싱하는 프리-프로세서(pre-processor), 상기 프리-프로세싱된 비디오 데이터를 인코딩하는 인코더(encoder), 및 상기 인코딩된 비디오 데이터를 전송하는 전송부를 포함할 수 있다. 나아가, 비디오 송신 장치는 상기 비디오 데이터를 프로젝션하여 픽쳐 및 상기 픽쳐에 관련된 프로젝션 파라미터를 생성하는 프로젝터를 더 포함하고, 상기 프리-프로세서는 상기 비디오 데이터 중 특정 뷰에 대한 비디오 데이터를 뷰 셀렉션할 수 있다.. 또한, 비디오 송신 장치의 프리-프로세서는, 상기 비디오 데이터를 뷰 분석하여 상기 비디오 데이터를 특정 비디오 데이터로 패킹할 수 있다.

Description

비디오 송신 방법, 비디오 송신 장치, 비디오 수신 방법 및 비디오 수신 장치
본 발명은 비디오 송신 방법, 비디오 송신 장치, 비디오 수신 방법 및 비디오 수신 장치에 관한 것이다.
VR (Vertial Reality) 시스템은 사용자에게 전자적으로 투영된 환경내에 있는 것 같은 감각을 제공한다. VR 을 제공하기 위한 시스템은 더 고화질의 이미지들과, 공간적인 음향을 제공하기 위하여 더 개선될 수 있다. VR 시스템은 사용자가 인터랙티브하게 VR 컨텐트들을 소비할 수 있도록 할 수 있다.
VR 시스템은 더 효율적으로 VR 환경을 사용자에게 제공하기 위하여, 개선될 필요가 있다. 이를 위하여 VR 컨텐츠와 같은 많은 양의 데이터 전송을 위한 데이터 전송 효율, 송수신 네트워크 간의 강건성, 모바일 수신 장치를 고려한 네트워크 유연성, 효율적인 재생 및 시그널링을 위한 방안등이 제안되어야 한다.
또한 일반적인 TTML (Timed Text Markup Language) 기반의 자막(subtitle) 이나 비트맵 기반의 자막은 360 비디오를 고려하여 제작되지 않았기 때문에, 360 비디오에 적합한 자막을 제공하기 위해서는 VR 서비스의 유즈 케이스(use case) 에 적합하도록 자막 관련 특징 및 자막 관련 시그널링 정보 등이 더 확장될 필요가 있다.
본 발명의 목적에 따라서, 본 발명은 비디오 송신 방법, 비디오 송신 장치, 비디오 수신 방법 및 비디오 수신 장치를 제안한다.
본 발명의 실시예들에 따른 비디오 송신 장치는 비디오 데이터를 프로세싱하는 프리-프로세서(pre-processor), 상기 프리-프로세싱된 비디오 데이터를 인코딩하는 인코더(encoder), 및 상기 인코딩된 비디오 데이터를 전송하는 전송부를 포함할 수 있다.
나아가, 비디오 송신 장치는 상기 비디오 데이터를 프로젝션하여 픽쳐 및 상기 픽쳐에 관련된 프로젝션 파라미터를 생성하는 프로젝터를 더 포함하고, 상기 프리-프로세서는 상기 비디오 데이터 중 특정 뷰에 대한 비디오 데이터를 뷰 셀렉션할 수 있다..
또한, 비디오 송신 장치의 프리-프로세서는, 상기 비디오 데이터를 뷰 분석하여 상기 비디오 데이터를 특정 비디오 데이터로 패킹할 수 있다.
본 발명은 최적의 조합을 포함하는 3DoF+비디오를 제공할 수 있다.
본 발명은 리던던시를 최소화한 3DoF+비디오를 제공할 수 있다.
본 발명은 실시간 움직임을 반영하는 3DoF+ 비디오 송신 및 수신 시스템을 제공할 수 있다.
본 발명은 저지연 송수신을 위한 특정 시점 영상을 재구성하는 장치를 제공할 수 있다
본 발명은 사용자의 뷰포트에 최적화된 임의의 시점에 대한 영상을 생성하고 처리하는 장치를 제공할 수 있다.
본 발명은 인코딩 에러 및/또는 리컨스트럭션 에러에 강인한 뷰를 제공할 수 있다.
본 발명은 사용자의 뷰포트에 최적화된 영상을 생성하여, motion-to-photon delay 저감하는 효과를 제공할 수 있다.
본 발명은 로우 딜레이를 위한 렌더러와 통합될 수 있는 장치를 제공할 수 있다.
본 발명은 실시간 움직임을 반영할 수 있고, 수신기 부담 및 레이턴시를 최소화할 수 있고, 다시점 3DoF+영상을 생성할 수 있다.
도 1 은 본 발명에 따른 360도 비디오 제공을 위한 전체 아키텍처를 도시한 도면이다.
도 2 은 본 발명의 일 측면(aspect)에 따른 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+ video processing 의 구조를 나타낸다.
도23은 프리-프로세싱의 구성을 나타낸다.
도24은 포스트-프로세싱의 구성을 나타낸다.
도25은 3DoF+ 비디오 수신 방법을 나타낸다.
도26는 뷰 셀렉션을 수행하는 프로-프로세싱을 나타낸다.
도27은 패킹을 수행하는 프리-프로세싱을 나타낸다.
도28은 인코더 및 디코더를 나타낸다.
도29는 인코더의 구체적인 구성을 나타낸다.
도30은 디코더의 구체적인 구성을 나타낸다.
도31는 인코더를 나타낸다.
도32는 디코더를 나타낸다.
도33은 인코더를 나타낸다.
도34는 디코더를 나타낸다.
도35는 비디오 송신 방법을 나타낸다.
도36은 비디오 수신 방법을 나타낸다.
본 발명의 바람직한 실시예에 대해 구체적으로 설명하며, 그 예는 첨부된 도면에 나타낸다. 첨부된 도면을 참조한 아래의 상세한 설명은 본 발명의 실시예에 따라 구현될 수 있는 실시예만을 나타내기보다는 본 발명의 바람직한 실시예를 설명하기 위한 것이다. 다음의 상세한 설명은 본 발명에 대한 철저한 이해를 제공하기 위해 세부 사항을 포함한다. 그러나 본 발명이 이러한 세부 사항 없이 실행될 수 있다는 것은 당업자에게 자명하다.
본 발명에서 사용되는 대부분의 용어는 해당 분야에서 널리 사용되는 일반적인 것들에서 선택되지만, 일부 용어는 출원인에 의해 임의로 선택되며 그 의미는 필요에 따라 다음 설명에서 자세히 서술한다. 따라서 본 발명은 용어의 단순한 명칭이나 의미가 아닌 용어의 의도된 의미에 근거하여 이해되어야 한다.
도 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도 콘텐트/비디오/이미지/오디오 등은 단위(도, degree)가 생략된 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 은 본 발명의 일 측면(aspect)에 따른 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) 를 나타낼 수 있다. 가로 길이와 세로 길이는 픽셀을 단위로 나타내어질 수 있다.
전술한 바와 같이, 360도 비디오 관련 시그널링 정보 또는 메타데이터는 임의로 정의된 시그널링 테이블에 포함될 수 있고, ISOBMFF 또는 Common File Format 등의 파일 포맷에 box형태로 포함될 수도 있으며, DASH MPD 내에 포함되어 전송될 수도 있다. 또한, 360도 미디어 데이터는 이러한 파일 포맷 또는 DASH segment에 포함되어 전송될 수도 있다.
이하, ISOBMFF 및 DASH MPD에 대해 순차적으로 설명한다.
도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 시스템라고 불릴 수 있다.
1) (a)와 같은 공간(공연장의 예)을 가정했을 때, 서로 다른 위치(붉은색 동그라미로 표시된 공연장의 위치의 예)를 각각의 viewpoint로 고려할 수 있다. 이 때, 예제와 같이 동일 공간에 존재하는 각 viewpoint에서 제공되는 영상/음성은 동일한 시간 흐름을 가질 수 있다.
2) 이 경우 특정 위치에서 사용자의 시점 변화(head motion)에 따라 서로 다른 시각적/청각적 경험 제공할 수 있다. 즉, 특정 viewpoint에 대해 (b)에 도시된 바와 같은 다양한 viewing position의 sphere를 가정할 수 있으며, 각 시점의 상대적인 위치를 반영한 영상/음성/텍스트 정보를 제공할 수 있다.
3) 한편, (c)에 도시된 바와 같이 특정 위치의 특정 시점에서는 기존의 3DoF와 같이 다양한 방향의 시각적/청각적 정보를 전달할 수 있다. 이 때, main source(영상/음성/텍스트) 뿐만 아니라 추가적인 다양한 소스를 통합하여 제공할 수 있으며, 이는 사용자의 시청 방향 (viewing orientation)과 연계되거나 독립적으로 정보를 전달할 수 있다.
도10은 3DoF+ 시스템에 기반한 360도 비디오 신호처리 및 관련 전송장치/수신장치 구현 방법에 대해서 도시한다.
도 10은 3DoF+ 의 영상획득, 전처리, 전송, (후)처리, 렌더링 및 피드백 과정을 포함한 3DoF+ end-to-end system 흐름도에 대한 예시이다.
1) Acquisition: 360 비디오의 캡쳐, 합성 또는 생성 과정 등을 통한 360 비디오를 획득하는 과정을 의미할 수 있다. 이 과정을 통하여 다수의 위치에 대해 head motion에 따른 다수의 영상/음성 정보를 획득할 수 있다. 이 때, 영상 정보는 시각적 정보(texture) 뿐 아니라 깊이 정보(depth)를 포함할 수 있다. 이 때 a의 영상 정보 예시와 같이 서로 다른 촬영 위치(viewpoint)에 따른 서로 다른 시점(viewing position)의 복수의 정보를 각각 획득할 수 있다.
2) Composition: 영상/음성 입력 장치를 통해 획득한 정보 뿐 아니라 외부 미디어를 통한 영상(비디오/이미지 등), 음성(오디오/효과음향 등), 텍스트(자막 등)을 사용자 경험에 포함하기 위해 합성하기 위한 방법을 정의할 수 있다.
3) Pre-processing: 획득된 360 비디오의 전송/전달을 위한 준비(전처리) 과정으로서, 스티칭, 프로젝션, 리전별 패킹 과정 및/또는 인코딩 과정 등을 포함할 수 있다. 즉, 이 과정은 영상/음성/텍스트 정보를 제작자의 의도에 따라 데이터를 변경/보완 하기위한 전처리 과정 및 인코딩 과정이 포함될 수 있다. 예를 들어 영상의 전처리 과정에서는 획득된 시각 정보를 360 sphere 상에 매핑하는 작업(stitching), 영역 경계를 없애거나 색상/밝기 차이를 줄이거나 영상의 시각적 효과를 주는 보정 작업(editing), 시점에 따른 영상을 분리하는 과정(view segmentation), 360 sphere 상의 영상을 2D 영상으로 매핑하는 프로젝션 과정(projection), 영역에 따라 영상을 재배치 하는 과정 (region-wise packing), 영상 정보를 압축하는 인코딩 과정이 포함될 수 있다. B의 비디오 측면의 예시와 같이 서로 다른 촬영 위치(viewpoint)에 따른 서로 다른 시점(viewing position)의 복수의 프로젝션 영상이 생성될 수 있다.
4) Delivery: 준비 과정(전처리 과정)을 거친 영상/음성 데이터 및 메타데이터들을 처리하여 전송하는 과정을 의미할 수 있다. 서로 다른 촬영 위치(viewpoint)에 따른 서로 다른 시점(viewing position)의 복수의 영상/음성 데이터 및 관련 메타데이터를 전달하는 방법으로써 전술한 바와 같이 방송망, 통신망을 이용하거나, 단방향 전달 등의 방법을 사용할 수 있다.
5) Post-processing & composition: 수신된/저장된 비디오/오디오/텍스트 데이터를 디코딩하고 최종 재생을 위한 후처리 과정을 의미할 수 있다. 예를 들어 후처리 과정은 전술한 바와 같이 패킹 된 영상을 풀어주는 언패킹 및 2D 프로젝션 된 영상을 3D 구형 영상으로복원하는 리-프로젝션 과정 등이 포함될 수 있다.
6) Rendering: 3D 공간상에 리-프로젝션된 이미지/비디오 데이터를 렌더링하고 디스플레이하는 과정을 의미할 수 있다. 이 과정에서 영상/음성 신호를 최종적으로 출력하기 위한 형태로 재구성할 수 있다. 사용자의 관심영역이 존재하는 방향(viewing orientation), 시점(viewing position/head position), 위치(viewpoint)를 추적할 수 있으며, 이 정보에 따라 필요한 영상/음성/텍스트 정보만을 선택적으로 사용할 수 있다. 이 때, 영상 신호의 경우 사용자의 관심영역에 따라 c와 같이 서로 다른 시점을 선택할 수 있으며, 최종적으로 d와 같이 특정 위치에서의 특정 시점의 특정 방향의 영상을 출력할 수 있다.
7) Feedback: 디스플레이 과정에서 획득될 수 있는 다양한 피드백 정보들을 송신측으로 전달하는 과정을 의미할 수 있다. 본 실시예의 경우 사용자 관심영역의 방향(viewing orientation), 시점(viewing position), 위치(viewpoint)를 추정하고, 이를 기반으로 영상/음성을 재생할 수 있도록 피드백을 전달할 수 있다.
도11은 3DoF+ end-to-end 시스템의 구조를 나타낸다.
도11은 3DoF+ end-to-end 시스템 아키텍쳐의 예시이다. 도 11의 아키텍처에 의하여 전술된 바와 같이 3DoF+ 360 컨텐츠가 제공될 수 있다.
360 비디오 전송 장치는 크게 360 비디오(이미지)/오디오 데이터 획득이 이루어지는 부분 (acquisition unit), 획득된 데이터를 처리하는 부분 (video/audio pre-processor), 추가 정보를 합성하기 위한 부분(composition generation unit), 텍스트, 오디오 및 프로젝션된 360도 비디오를 인코딩하는 부분(encoding unit) 및 인코딩된 데이터를 인캡슐레이션하는 부분(encapsulation unit)으로 구성될 수 있다. 전술한 바와 같이 인코딩된 데이터는 비트스트림(bitstream) 형태로 출력될 수 있으며, 인코딩된 데이터는 ISOBMFF, CFF 등의 파일 포맷으로 인캡슐레이션되거나, 기타 DASH 세그먼트 등의 형태로 처리할 수 있다. 인코딩된 데이터는 디지털 저장 매체를 통하여 360 비디오 수신 장치로 전달될 수 있으며, 또는 비록 명시적으로 도시되지는 않았으나, 전술한 바와 같이 전송 처리부를 통하여 전송을 위한 처리를 거치고, 이후 방송망 또는 브로드밴드 등을 통하여 전송될 수 있다.
데이터 획득 부분에서는 센서의 방향(sensor orientation, 영상의 경우 viewing orientation), 센서의 정보 획득 시점(sensor position, 영상의 경우 viewing position), 센서의 정보 획득 위치(영상의 경우 viewpoint)에 따라 서로 다른 정보를 동시에 혹은 연속적으로 획득할 수 있으며, 이 때 비디오, 이미지, 오디오, 위치 정보 등을 획득할 수 있다.
영상 데이터의 경우 텍스처 (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 비디오 수신 장치는 크게 수신된 파일 혹은 세그먼트를 디캡슐레이션하는 부분 (file/segment decapsulation unit), 비트스트림으로부터 영상/음성/텍스트 정보를 생성하는 부분 (decoding unit), 영상/음성/텍스트를 재생하기 위한 형태로 재구성하는 부분 (post-processor), 사용자의 관심영역을 추적하는 부분 (tracking unit) 및 재생 장치인 디스플레이로 구성될 수 있다.
디캡슐레이션을 통해 생성된 비트스트림은 데이터의 종류에 따라 영상/음성/텍스트 등으로 나뉘어 재생 가능한 형태로 개별적으로 디코딩될 수 있다.
tracking 부분에서는 센서 및 사용자의 입력 정보 등을 바탕으로 사용자의 관심 영역 (Region of interest)의 위치 (viewpoint), 해당 위치에서의 시점 (viewing position), 해당 시점에서의 방향 (viewing orientation) 정보를 생성하게 되며, 이 정보는 360 비디오 수신 장치의 각 모듈에서 관심 영역 선택 혹은 추출 등에 사용되거나, 관심 영역의 정보를 강조하기 위한 후처리 과정 등에 사용될 수 있다. 또한 360 비디오 전송 장치 에 전달되는 경우 효율적인 대역폭 사용을 위한 파일 선택 (file extractor) 혹은 서브 픽처 선택, 관심영역에 기반한 다양한 영상 재구성 방법 (viewport/viewing position / viewpoint dependent processing) 등에 사용될 수 있다.
디코딩 된 영상 신호는 영상 구성 방법에 따라 다양한 처리 방법에 따라 처리될 수 있다. 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+ 송신단의 구성을 나타낸다.
송신단(360 비디오 전송 장치)에서는 입력된 데이터가 카메라 출력 영상인 경우 sphere 영상 구성을 위한 스티칭을 위치/시점/컴포넌트 별로 진행할 수 있다. 위치/시점/컴포넌트 별 sphere 영상이 구성되면 코딩을 위해 2D 영상으로 프로젝션을 수행할 수 있다. 어플리케이션에 따라 복수의 영상을 통합 영상으로 만들기 위한 패킹 혹은 세부 영역의 영상으로 나누는 서브 픽처로 생성할 수 있다. 전술한 바와 같이 리전별 패킹 과정은 선택적(optional) 과정으로서 수행되지 않을 수 있으며, 이 경우 패킹 처리부는 생략될 수 있다. 입력된 데이터가 영상/음성/텍스트 추가 정보인 경우 추가 정보를 중심 영상에 추가하여 디스플레이 하는 방법을 알려줄 수 있으며, 추가 데이터도 함께 전송할 수 있다. 생성된 영상 및 추가된 데이터를 압축하여 비트 스트림으로 생성하는 인코딩 과정을 거쳐 전송 혹은 저장을 위한 파일 포맷으로 변환하는 인캡슐레이션 과정을 거칠 수 있다. 이 때 어플리케이션 혹은 시스템의 요구에 따라 수신부에서 필요로하는 파일을 추출하는 과정이 처리될 수 있다. 생성된 비트스트림은 전송처리부를 통해 전송 포맷으로 변환된 후 전송될 수 있다. 이 때, 송신측 피드백 처리부에서는 수신단에서 전달된 정보를 바탕으로 위치/시점/방향 정보와 필요한 메타데이터를 처리하여 관련된 송신부에서 처리하도록 전달할 수 있다.
도14는 3DoF+ 수신단의 구성을 나타낸다.
수신단(360 비디오 수신 장치)에서는 송신단에서 전달한 비트스트림을 수신한 후 필요한 파일을 추출할 수 있다. 생성된 파일 포맷 내의 영상 스트림을 피드백 처리부에서 전달하는 위치/시점/방향 정보 및 비디오 메타데이터를 이용하여 선별하며, 선별된 비트스트림을 디코더를 통해 영상 정보로 재구성할 수 있다. 패킹된 영상의 경우 메타데이터를 통해 전달된 패킹 정보를 바탕으로 언패킹을 수행할 수 있다. 송신단에서 패킹 과정이 생략된 경우, 수신단의 언패킹 또한 생략될 수 있다. 또한 필요에 따라 피드백 처리부에서 전달된 위치/시점/방향에 적합한 영상 및 필요한 컴포넌트를 선택하는 과정을 수행할 수 있다. 영상의 텍스처, 뎁스, 오버레이 정보 등을 재생하기 적합한 포맷으로 재구성하는 렌더링 과정을 수행할 수 있다. 최종 영상을 생성하기에 앞서 서로 다른 레이어의 정보를 통합하는 컴포지션 과정을 거칠 수 있으며, 디스플레이 뷰포트(viewport)에 적합한 영상을 생성하여 재생할 수 있다.
도 15는 OMAF 구조를 나타낸다.
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 전송에는 적합하지 않기에 수정이 필요하다.
도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) : 페이스는 프로젝션 스킴에 따라 각 면을 부르는 용어일 수 있다. 예를 들어 큐브맵 프로젝션이 사용되는 경우, 앞면, 뒷면, 양 옆면, 윗면, 아랫면 등은 페이스라고 불릴 수 있다.
도22는 3DoF+ video processing 의 구조를 나타낸다.
3DoF+ 비디오 프로세싱은 본 발명의 실시예들에 따른 비디오 전송 방법 및 비디오 수신 방법의 구조를 포함한다. 비디오 전송 방법은 인코더단의 동작을 의미할 수 있고, 비디오 수신 방법은 디코더단의 동작을 의미할 수 있다.
인코더단의 3DoF+ 비디오 프로세싱 과정은 프리-프로세싱(pre-processing), HEVC 인코딩(encoding)을 포함한다. 각 단계는 비디오 전송 장치의 프리-프로세서 및/또는 인코더에 의해 수행된다.
디코더단의 3DoF+ 비디오 프로세싱 과정은 HEVC 디코딩(decoding), 포스트 프로세싱(Postprocessing), 렌더 모델(Render model)을 포함한다. 각 단계는 비디오 수신 장치의 디코더, 포스트 프로세서, 및/또는 렌터 모델 유닛에 의해 수행된다.
프리-프로세싱(pre-processing)은 소스 포맷(source format) 형태로 시퀀스들을 수신한다. 프리-프로세싱은 테스트 머터리얼(test materials)를 수신하고, 테스트 머터리얼에 전처리를 수행할 수 있다.
프리-프로세싱은 뷰 셀렉션(view selection), 뷰 분석(view analysis), 패킹(packing), 및/또는 프로젝션(projection) 등을 포함하고, 뷰 분석은 뷰 에스티메이션(view estimation), 인터-포지션 리던던시 리무벌(inter-position redundancy removal) 등을 포함할 수 있다.
구체적으로, 패킹 스킴(Packing scheme)은 데이터의 텍스쳐(texture), 뎁스(depth), 패치(patch), 레지듀얼(residual) 등에 기반하여 최적의 패킹 조합을 제공한다. 또한, 패킹 시 리던던시(redundancy)를 줄이는 방법을 제안한다. 뷰포트/뷰잉포지션에 디펜던트한 프로세싱으로, 같은 뷰잉 방향(viewing direction)의 패킹을 처리하는 방법을 제안한다.
여기서, 뷰잉 다이렉션(viewing direction)은 사용자가 보는 방향을 나타낸다. 뷰잉 포지션(viewing position)은 3DoF+환경에서 사용자의 머리의 위치를 나타난다. 뷰 포트(viewport)는 사용자의 몸의 위치를 나타낸다.
또한, 레지듀얼(residual)은 영상을 패치로 나누기 때문에 의미있는 또는 유효한 픽셀 정보들의 집합을 나타낼 수 있다. 매 픽쳐마다 레지듀얼을 가질 수 있다. 특정 뷰잉 포지션에 해당하는 영상으로부터 다른 뷰잉 포지션에 해당하는 영상을 추정할 때 원본 영상을 정확히 추정하지 못 하는 경우 발생하는 오차를 레지듀얼이라고 한다.
인코더단에서 디코더단으로 비트스트림의 데이터를 전송하는 방식은 프레임 패킹 또는 멀티캐스트 등의 방식이 사용될 수 있다.
인코딩(Encoding)은 HEVC 인코딩 방식으로 데이터를 인코딩하여 비트스트림 형태로 데이터를 디코더단 또는 비디오 수신 장치에 전송한다.
디코딩(Decoding)은 HEVC 디코딩 방식으로 데이터를 디코딩한다.
포스트-프로세싱(Post-processing)은 프리-프로세싱에 디펜던트하다. 포스트-프로세싱은 소스 포지션 상에서 뷰들을 리제너레이션한다.
렌더 모델(Render model)은 디코딩된 데이터를 렌더링하기 위한 모델링을 추가적으로 수행할 수 있다. 렌터 모델 과정은 선택적으로 수행될 수 있다. 렌더 모델은 렌더링된 뷰들을 생성한다.
레퍼런스 뷰 신테사이저(Reference View Synthesizer)는 포스트-프로세싱된 데이터를 수신하여 뷰를 합성하여 렌더링된 뷰를 생성할 수 있다. 레퍼런스 뷰 신테사이저는 포스트-프로세싱된 데이터를 소스 포맷 형태로 수신할 수 있다.
이하에서, 3DoF플러스 비디오 프로세싱의 구체적 방법을 설명한다.
도23은 프리-프로세싱의 구성을 나타낸다.
프리-프로세싱은 프로젝션(projection), 프리프로세싱(3DoF+ preprocessing), 및 /또는 인코딩(encoding)을 포함하고, 프리-프로세싱의 각 단계는 비디오 전송 장치의 프리-프로세서에 의해 수행될 수 있다.
프로젝션(projection)은 멀티-스페리컬 비디오/이미지(multi-spherical videos/images) 및 이에 대한 메타데이터인 텍스쳐/뎁스(texture/depth) 정보 등을 수신한다. 프로젝션은 위치/시점/컴포넌트 별 sphere 영상을 텍스쳐/뎁스(texture/depth)에 기반하여 2D 영상으로 프로젝션한다. 여기서 프로젝션에 대한 프로젝션 파라미터들이 생성될 수 있다. 프로젝션 파라미터는 인코딩 과정에서 사용될 수 있다.
프리프로세싱(3DoF+ preprocessing)은 프로젝션된 픽쳐, 텍스쳐, 뎁스 등을 수신한다. 프리프로세싱은 3DoF+ 비디오 데이터 생성을 위한 프리프세싱을 픽쳐에 대해 수행하고, 3DoF+ 프리프로세싱 메타데이터를 생성하여 인코딩 과정에 제공한다. 프리프로세싱은 패킹 등의 처리를 수행하고, 프리프로세싱의 구체적인 과정은 이하에서 설명한다.
인코딩(encoding)은 패킹된 픽쳐, 3DoF+ 프리프로세싱 메타데이터, 프로젝션 파라미터를 수신하고, 3DoF+ 프리프로세싱 메타데이터, 프로젝션 파라미터에 기반하여 패킹된 픽쳐를 인코딩한다. 인코딩된 픽쳐는 비트스트림의 형태로 서버를 통해 전송된다.
도24은 포스트-프로세싱의 구성을 나타낸다.
포스트-프로세싱은 디코딩(decoding), 뷰 리제너레이션(view regeneration), 뷰 신테시스(view synthesis), 및/또는 렌더링(rendering)을 포함한다. 포스트-프로세싱의 각 동작은 비디오 수신 장치의 디코더(decoder), 뷰/뷰포트 리제너레이터(view/viewport regenerator), 뷰 신테사이저(view synthesizer), 프리-프로세서(pre-processor), 및/또는 렌더러 등에 의해 처리될 수 있다.
디코딩(decoding)은 서버로부터 비트스트림의 형태로 데이터를 수신한고, 데이터를 디코딩한다.
뷰 리제너레이션(view regeneration)은 디코딩된 픽쳐(또는 패킹된 픽쳐)를 수신하여 디코딩에서 생성된 리컨스트럭션 파라디터에 기초하여 언패킹 등의 동작을 수행한다. 뷰 리제너레이션의 구체적 동작은 이하에서 설명한다.
뷰 신테시스(view synthesis)는 리컨스트럭션된 픽쳐를 텍스쳐, 뎁스, 뷰 신테시스 파라미터, 뷰잉포지션 정보, 및/또는 뷰포트 정보 등에 기반하여 합성한다. 뷰 신테시스의 구체적인 동작은 이하에서 설명한다.
렌더링(Rendering)은 텍스쳐를 포함하는 픽쳐를 수신하여 렌더링할 수 있다. 여기서, 렌더링은 타겟 뷰잉 포지션 정보를 사용하여 픽쳐를 렌더링할 수 있다.
디스플레이(Display)는 텍스쳐를 포함하는 픽쳐를 타겟 뷰포트 정보에 기반하여 디스플레이할 수 있다.
디코딩(decoding), 뷰 리제너레이션(view regeneration), 뷰 신테시스(view synthesis), 및/또는 렌더링(rendering)의 각 동작은 뷰잉포지션 및 뷰포트 정보를 사용할 수 있다. 인코더 또는 송신단 측에서 전송된 뷰잉포지션 및 뷰포트 정보가 디코더 또는 수신단 측의 각 단계에 제공될 수 있다.
도25은 3DoF+ 비디오 수신 방법을 나타낸다.
디코딩(Decoding)은 서버로부터 데이터를 포함하는 비트스트림을 수신하고, 데이터를 디코딩한다.
뷰/뷰포트 리제너레이션(View/viewport regeneration)은 디코딩된 픽쳐 또는 패킹된 픽쳐를 수신하고, 리컨스트럭션 파라미터 및/또는 뷰잉 포지션 정보, 뷰포트 정보 등을 사용하여 디코딩된 픽쳐를 언패킹할 수 있다. 뷰/뷰포트 리제너레이션은 저지연 송수신을 위한 특정 시점의 영상을 재구성한다. 뷰/뷰포트 리제너레이션은 포스트-디코딩 프로세스(post-decoding process) 및 뷰(또는 뷰포트) 리제너레이션(view (or viewport) regeneration)을 포함한다.
포스트-디코딩 프로세스(post-decoding process)는 풀 뷰(full view)를 위한 언패킹을 수행하고, 뷰포트의 일부를 위한 언패킹을 수행하고, 관련된 뷰들을 위한 언패킹을 수행할 수 있다.
뷰(또는 뷰포트) 리제너레이션은 선택된 뷰들(또는 디코딩된 뷰들)을 가지고 뷰 에스티메이션을 수행하고, 메타데이터를 가지고 뷰 리컨스트럭션을 수행하고, 패치/레지듀얼 홀 필링(pathch/residual hole filling) 등을 통한 뷰 리컨스트럭션을 수행할 수 있다. 또는 패치 없이 뷰 리컨스트럭션을 수행할 수 있다.
뷰 신테시스(View synthesis)는 텍스쳐 및 뎁스를 포함하는 리컨스트럭션된 픽쳐를 수신하고, 뷰 신테시스 파라미터 및/또는 뷰잉 포지션 정보, 뷰포트 정보를 사용하여 리컨스트럭션된 픽쳐에 대한 뷰 합섭을 수행할 수 있다. 뷰 신테시스는 코딩/리컨스트럭션 에러에 강인한 뷰 합성을 제공하고, 사용자의 뷰포트에 최적화된 뷰 신테사이저를 제공할 수 있다. 특히, 모션-투-포톤 딜레이(motion-to-photon delay) 저감 측면의 최적화 효과를 제공한다. 또한, 로우 딜레이(low delay)를 위해서 렌더러(renderer)와 통합된 모듈을 구현하여 뷰포트에 해당하는 영역만 합성할 수 있다. 즉, 뷰 신테시스는 사용자의 뷰포트에 최적화된 임의의 시점의 영상을 생성한다.
렌더링(Rendering)은 텍스쳐를 포함하는 픽쳐 및/또는 타겟 뷰잉 포지션 정보를 수신하고, 뷰잉 포지션 정보 및/또는 뷰포트 정보를 사용하여 픽쳐를 렌더링할 수 있다.
디스플레이(Display)는 텍스쳐를 포함하는 픽쳐를 타겟 뷰포트 정보에 기반하여 디스플레이할 수 있다.
디코딩(Decoding), 뷰/뷰포트 리제너레이션(View/viewport regeneration), 뷰 신테시스(View synthesis), 및/또는 렌더링(Rendering)의 각 동작은 뷰잉포지션 및 뷰포트 정보를 사용할 수 있다. 뷰잉포지션 정보 및 뷰포트 정보는 송신단으로부터 수신할 수 있다.
디코딩(Decoding), 뷰/뷰포트 리제너레이션(View/viewport regeneration), 뷰 신테시스(View synthesis), 렌더링(Rendering) 및/또는 디스플레이(Display)는 비디오 수신 장치의 디코더, 뷰/뷰포트 리제너레이터, 뷰 신테사이저, 렌더링 유닛 또는 렌더러, 디스플레이 유닛 또는 디스플레이어 등에 의해 수행될 수 있다.
따라서, 본 발명의 실시예들에 따른 비디오 송신 장치 및 비디오 수신 장치는 실시간 움직임을 반영한 비디오 송수신 시스템을 제공할 수 있고, 나아가, 뷰/뷰포트 리제너레이션 과정은 저지연 송수신을 위한 특정 시점의 영상을 재구성하고, 뷰 신테시스는 사용자의 뷰포트에 최적화된 임의의 시점의 영상을 생성할 수 있다.
도26는 뷰 셀렉션을 수행하는 프로-프로세싱을 나타낸다.
본 발명의 실시예들에 따른 비디오 송신 장치는 복수의 인코더(HEVC encoder)를 포함할 수 있다.
인코더들은 텍스쳐(T) 및 뎁스(D)를 포함하는 비디오들(video 0부터 video N까지를 포함하는)을 수신하고, N개의 비디오들을 인코딩한다.
딜리버리(delivery)는 비디오 송신 장치가 비디오 수신 장치로 데이터를 전송하는 과정을 의미한다.
디코더들(HEVC decoder)는 N개의 비디오를 수신하고 디코딩한다.
뷰 신테사이저(View synthesizer)는 N개의 비디오를 합성하여 디스플레이 유닛 또는 디스플레이 장치 등에 합성된 비디오를 생성하고 제공한다. HDM(Head mounted display) 장치 등이 합성된 비디오를 사용자에게 디스플레이할 수 있고, 뷰 신테사이저는 HDM으로부터 사용자의 뷰에 관련된 정보를 피드백 정보로써 수신할 수 있다.
나아가, 본 발명의 실시예들에 따른 비디오 송신 장치 및 비디오 수신 장치는 뷰 셀렉션을 위한 프리-프로세싱 및 뷰/뷰포트 리제너레이션을 추가적으로 포함할 수 있다.
인코더의 프리-프로세싱(encoder pre-processing)은 텍스쳐 및 뎁스를 포함하는 N개의 비디오를 수신하고, 뷰 셀렉션(view selection)을 수행할 수 있다. 프리-프로세싱은 N개의 비디오 중 비디오의 특성에 따라서 뷰를 선택할 수 있다. 예를 들어, N개의 비디오 데이터 중 2개의 비디오 데이터가 뷰 셀렉션될 수 있다. 프리-프로세싱은 뷰 셀렉션을 수행하면서, 뷰 셀렉션에 관련된 메타데이터를 생성할 수 있다. 프리-프로세싱은 뷰 셀렉션에 관련된 메타데이터를 비디오 수신 장치로 전송할 수 있다. 뷰 셀렉션에 관련된 메타데이터는 비디오 수신 장치의 뷰/뷰포트 리제너레이터에서 사용될 수 있다.
뷰 셀렉션(View selection)은 수신한 복수 개의 비디오 데이터 중 하나 또는 하나 이상의 비디오 데이터를 선택한다. 뷰를 선택하는 단계는 뷰 합성을 통해 가장 적은 오류가 발생하는 뷰를 선택할 수 있다.
인코더는 뷰 셀렉션이 수행된 비디오를 인코딩한다.
딜리버리는 비디오 송신 장치가 인코딩된 비디오를 비디오 수신 장치로 전송하는 과정을 의미한다.
디코더는 뷰 셀렉션이 수행된 비디오를 디코딩한다.
뷰/뷰포트 리제너레이션은 디코딩된 비디오를 수신하고, 뷰 셀렉션에 관련된 메타데이터 등을 사용하여 뷰 및 뷰포트를 리제너레이션한다. 뷰/뷰포트 리제너레이션은 N개 또는 N개 이하의 비디오를 생성할 수 있다. 예를 들어, 디코더는 뷰 셀렉션이 된 2개의 비디오를 디코딩하여 텍스쳐와 뎁스를 포함하는 비디오0 및 비디오N을 생성하고, 뷰/뷰포트 리제너레이션은 뷰 셀력선에 대한 메타데이터에 기반하여 텍스쳐 및 뎁스를 포함하는 비디오1을 리컨스트럭팅할 수 있다.
뷰 신테사이저는 디코딩된 비디오 및 리제너레이션된 비디오를 수신하여 뷰 신테시스를 수행할 수 있다. 뷰 신테사이저는 사용자의 뷰포트에 최적환왼 임의의 시점에 대한 영상을 생성한다.
레지듀얼과 같은 추가 정보가 있는 경우 특정 뷰잉 포지션의 영상을 추정할 수 있고, 또는 추가 정보가 없이 뷰잉 포지션의 영상을 추정할 수 있다.
HDM은 특정 시점에 대한 영상을 디스플레이할 수 있다. 또한, HDM은 사용자의 뷰에 관련된 정보를 피드백 정보로써, 뷰 신테사이저에 제공할 수 있다.
도27은 패킹을 수행하는 프리-프로세싱을 나타낸다.
본 발명의 실시예들에 따른 비디오 송신 장치는 뷰 분석부(View analysis) 및 프리-프로세싱(encoder pre-processing(packing))을 더 수행할 수 있다.
뷰 분석부(View analysis)는 텍스쳐 및 뎁스를 포함하는 N개의 비디오를 수신하고, 비디오들에 대한 뷰를 분석할 수 있다. 뷰 분석부는 사용자의 뷰포트에 최적화된 특정 시점에 대한 영상을 생성하기 위해서 뷰를 분석한다. 뷰 분석은 뷰 에스티메이션 및/또는 인터-포지션 리던던시 리무벌 등을 포함한다. 뷰 분석의 구체적인 과정은 도24에서 설명한다.
프리-프로세싱(패킹)은 뷰 분석이 수행된 비디오를 수신하고, 비디오를 인코딩한다. 여기서 프리-프로세싱은 비디오에 대해 패킹(packing)을 수행할 수 있다. 뷰 분석된 비디오들은 다양한 뷰잉 포지션, 텍스쳐, 뎁스 등을 나타낼 수 있고, 패킹은 이러한 다양한 픽쳐들을 패킹하여 최적의 인코딩 퍼포먼스를 제공할 수 있는 최적의 픽쳐를 생성할 수 있다.
다시 밀해, 패킹은 픽쳐를 수신하고, 픽쳐의 텍스쳐, 뎁스, 레지듀얼 등에 기반하여 복수의 픽쳐 중 최적의 조합에 해당하는 픽쳐 세트를 구성한다. 패킹은 높은 코딩 효율성을 갖는 패킹된 픽쳐를 생성할 수 있다. 또한, 언패킹은 패킹의 역과정을 수행한다.
인코더는 패킹된 픽쳐들을 포함하는 비디오 데이터를 인코딩하고, 딜리버리는 인코딩된 데이터를 전송한다.
본 발명의 실시예들에 따른 비디오 수신 장치는 디코더(decoder, post-processing(unpacking)) 및 뷰/뷰포트 리제너레이션(View/viewport regeneration)을 더 수행할 수 있다.
디코더는 인코딩된 데이터를 수신하고, 데이터를 디코딩한다.
디코더 포스트-프로세싱(언패킹)(Decoder post-processing(Unpacking))은 패킹의 역과정을 수행할 수 있다. 언패킹은 패킹된 픽쳐들을 언패킹한다. 언패킹은 풀 뷰를 위한 언패킹, 뷰포트의 일부를 위한 언패킹, 관련된 뷰들을 위한 언패킹 등을 포함할 수 있고, 뷰잉 포지션 정보, 뷰포트 정보, HDM 피드백 정보 및/또는 리컨스트럭션 파라미터 등을 사용할 수 있다.
뷰/뷰포트 리제너레이션은 언패킹된 픽쳐들을 포함하는 데이터를 수신하고, 뷰/뷰포트에 따른 비디오를 리제너레이션할 수 있다. 뷰/뷰포트 리네터레이션은 텍스쳐 및 뎁스를 포함하는 비디오0, 리컨스트럭션된 비디오1, …, 리컨스트럭션된 비디오N을 생성할 수 있다. 뷰/뷰포트 리제너레이션은 HDM피드백 정보를 사용할 수 있다.
뷰 신테사이저(View synthesizer)는 리제너레이션된 비디오들에 기반하여 사용자의 뷰포트에 최적화된 특정 시점의 영상을 합성(생성)할 수 있다.
디스플레이어(HDM)는 합성된 뷰를 디스플레이한다.
도28은 인코더 및 디코더를 나타낸다.
본 발명의 실시예들에 따른 비디오 송신 장치는 인코더로 명명될 수 있고, 본 발명의 실시예들에 따른 비디오 수신 장치는 디코더로 명명될 수 있다.
인코더는 로테이션/프로젝션(Rotation/projection), 인터-뷰 리던던시 리무벌(Inter-view redundance removal) 및 패킹(packing)을 포함하는 프리프로세싱(preprocessing), 인코딩을 수행할 수 있다. 각 과정은 비디오 송신 장치의 인코더, 로테이션/프로젝션 유닛, 인터-뷰 리무벌 유닛, 패킹 유닛, 프리프로세서 등에 의해 수행될 수 있다.
로테이션/프로젝션(Rotation/projection)은 멀티-스페리컬 비디오/오디오(들)(multi-spherical videos/images)을 수신한다. 멀티-스페리컬 비디오/오디오는 텍스쳐 및 뎁스 등을 포함할 수 있다. 로테이션/프로젝션은 멀티-스페리컬 비디오/오디오를 로테이션 및/또는 프로젝션할 수 있고, 프로젝션에 관련된 파라미터들을 생성할 수 있다. 여기서 프로젝션된 픽쳐들이 생성된다.
프리프로세싱은 프로젝션된 픽쳐들의 뷰 간의 리던던시를 제거할 수 있다. 추가로, 프리프로세싱은 프로젝션된 픽쳐들을 패킹할 수 있다. 프리프로세싱은 패킹된 픽쳐 및 프리프로세싱에 관련된 메타데이터를 생성한다. 프리프로세싱은 프로젝션된 복수의 픽쳐들을 최적화하여 하나 또는 하나 이상의 패킹 조합으로 구성된 픽쳐를 생성한다.
인코딩은 패킹된 픽쳐들에 포함된 데이터를 인코딩한다. 여기서 프로젝션에 관련된 파라미터들 및 프리프로세싱에 관련된 메타데이터이 사용될 수 있다. 인코딩은 인코딩된 데이터를 비트스트림의 형태로 서버를 통해 전송한다.
디코더는 디코딩, 뷰 리컨스트럭션, 뷰 신테시스, 렌더링/뷰포트 제너레이션을 수행할 수 있다. 각 과정은 비디오 수신 장치의 디코더, 뷰 리컨스트럭션 유닛, 뷰 신테사이저, 렌더링/뷰포트 제너레이션 유닛 등에 의해 수행될 수 있다.
디코딩은 서버로부터 데이터를 포함하는 비트스트림을 수신하고, 데이터를 디코딩한다. 디코딩은 리컨스트럭션 파라미터를 생성하고, 뷰 신테시스 파라미터를 생성할 수 있다.
뷰 리컨스트럭션(View reconstruction)은 패킹된 픽쳐들을 수신하고, 리컨스트럭션 파라미터들을 수신하여, 패킹된 픽쳐들을 리컨스트럭션 파라미터, 뷰잉 포지션 정보 및/또는 뷰포트 정보에 기반하여 뷰를 리컨스트럭션한다. 뷰 리컨스트럭션은 패킹된 픽쳐를 언패킹하여 복수의 픽쳐들을 생성한다.
뷰 신테시스(View synthesis)는 텍스쳐 및 뎁스를 포함하는 픽쳐를 수신하고, 뷰 신테시스 파라미터, 뷰잉 포지션 정보 및/또는 뷰포트 정보에 기반하여 타겟 뷰잉 포지션에 기반한 픽쳐를 생성한다.
렌더링/뷰포트 제너레이션(rendering/viewport generation)은 뷰포트를 생성하고, 타겟 뷰포트에 기반한 텍스쳐를 포함하는 픽쳐를 뷰잉포지션 정보 및/또는 뷰포트 정보에 기반하여 렌더링하고 뷰포트에 기반한 영상을 렌더링한다.
디스플레이는 타겟 뷰포트에 대한 텍스쳐를 포함하는 픽쳐를 디스플레이한다.
디코딩, 뷰 리컨스트럭션, 뷰 신테시스, 렌더링/뷰포트 제너레이션의 각 과정은 뷰잉 포지션 정보 및/또는 뷰잉포트 정보를 사용할 수 있다. 뷰잉 포지션 정보 및 뷰잉포트 정보는 송신단으로부터 수신하거나 디스플레이 유닛으로부터 피드백 정보로써 수신단의 각 과정에 제공될 수 있다.
도29는 인코더의 구체적인 구성을 나타낸다.
본 발명의 실시예들에 따른 비디오 송신 장치(인코더)는 이하의 동작을 수행할 수 있다.
뷰잉 볼륨 제너레이션(Viewing volume generation)은 임의의 다시점에 대한 360 비디오 데이터를 대상이 되는 신(Scene)으로부터 획득한다. 뷰잉 볼륨 제너레이션은 신의 정보를 CG 그래픽의 형태로 수신할 수 있고, 신에 대한 3D 공간을 고려하여 뷰잉의 볼륨을 생성할 수 있다. 그 결과, 텍스쳐 및 뎁스를 포함하는 멀티 스페리컬 비디오(multiple spherical videos)가 생성된다.
여기서 신(scene)은 카메라로부터 획득된 영상을 의미하고, CG는 컴퓨터 그래픽스 등의 사전 처리를 통해 획득된 영상을 의미한다.
뷰잉 볼륨 제너레이션은 뷰잉 볼륨에 관련된 뷰잉 스페이스 파라미터를 생성한다. 뷰잉 볼륨(viewing volume)은 3DoF+를 지원하는 공간을 의미한다. 카메라가 촬영한 영상을 그대로 사용하기 보다는 컴퓨터 그래픽스 등의 처리를 통해서 3차원 공간 상에서 가상 시점(viewtual view)의 영상을 합성하고 합성된 영상을 3DoF+영상으로 만드는 과정을 나타낸다.
버츄얼 카메라 캡쳐링(Virtual camera capturing)은 각 뷰잉 포지션에 대한 멀티-스피어(mulita-sphere)를 생성하기 위해서 가상의 카메라 캡쳐링을 수행할 수 있다. 뷰잉 볼륨에 기반하여 가상의 카메라 캡쳐 정보를 생성할 수 있다. 버츄얼 카메라 캡쳐링은 선택적으로 수행될 수 있다.
프로젝션된 텍스쳐/뎁스 제너레이션(Projected texture/depth generation for each viewing position)은 각 뷰잉 포지션에 대한 텍스쳐/뎁스를 포함하는 프로젝션된 픽쳐를 생성하고, 프로젝션된 픽쳐를 합성하기 위한 뷰 신테시스 파라미터를 생성한다.
인터-뷰 리던던시 리무벌(inter-view redundancy removal)은 프로젝션된 픽쳐에 대한 뷰 간 리던던시를 제거하여 덱스쳐 및 뎁스를 포함하는 픽쳐를 생성한다. 인터-뷰 리던던시 리무벌 은 텍스쳐에 대한 패치 및 레지듀얼을 고려한 최적의 픽쳐를 생성하고, 픽쳐를 리컨스트럭션하기 위한 리컨스트럭션 파라미터를 생성한다.
패킹(Packing)은 복수의 픽쳐들을 패킹하여 패킹된 픽쳐를 생성하고, 픽쳐의 패킹에 관련된 패킹 메타데이터를 생성한다.
인코딩(Encoding)은 패킹된 픽쳐를 인코딩한다. 인코딩은 상술한 동작에서 생성된 뷰잉 스페이스 파라미터, 뷰 신테시스 파라미터, 리컨스트럭션 파라미터, 및/또는 패킹 메타데이터에 기반하여 픽쳐에 포함된 데이터를 인코딩한다.
서버(server)를 통해 인코딩된 데이터를 비트스트림의 형태로 비디오 송신 장치(인코더)에서 비디오 수신 장치(디코더)로 전송한다. 여기서 뷰잉 포지션 정보 및/또는 뷰포트 정보가 함께 전송될 수 있다.
상술한 비디오 송신 장치의 각 동작은 비디오 송신 장치에 포함된 뷰잉 볼륨 제너레이터, 버츄얼 카메라 캡쳐러, 프로젝터, 인터-뷰 리던던시 리무버, 패킹 유닛, 인코더 등에 의해 수행될 수 있다.
본 발명의 실시예들에 따른 비디오 송신 장치는 이하의 동작을 수행할 수 있다.
버츄얼 카메라 캡쳐링(Virtual camera capturing)은 컴퓨터로 생성된 그래픽 데이터를 수신하여 각 뷰잉 포지션에 대한 멀티-스페리컬 데이터를 생성한다. 버츄얼 카메라 캡쳐링은 텍스쳐 및 뎁스를 포함하는 멀티플 스페리컬 비디오들을 생성하고, 멀티플 스페리컬 비디오에 관련된 뷰잉 스페이스 파라미터를 생성한다.
로테이션/프로젝션(Rotation/projection)은 덱스쳐 및 뎁스를 포함하는 복수의 스페리컬 비디오들을 로테이션 및/또는 프로젝션하여 프로젝션된 픽쳐들을 생성한다. 또한, 픽쳐를 뷰 합성하기 위한 뷰 신테시스 파라미터를 생성한다.
인터-뷰 리던던시 리무벌(inter-view redundancy removal)은 프로젝션된 픽쳐에 대한 뷰 간에 리던던시를 제거한다. 인터-뷰 리던던시 리무벌은 패치/레지듀얼(텍스쳐)에 대해 최적화된 뷰 간 리던던시가 제거된 픽쳐를 생성하고, 픽쳐를 리컨스트럭션하기 위한 리컨스트럭션 파라미터를 생성한다.
패킹(Packing)은 복수의 픽쳐들을 패킹하여 최적의 픽쳐를 생성한다. 패킹은 패킹된 픽쳐를 나타내기 위한 패킹 메타데이터를 생성한다.
인코딩(Encoding)은 패킹된 픽쳐를 인코딩한다. 인코딩은 상술한 동작에서 생성된 뷰잉 스페이스 파라미터, 뷰 신테시스 파라미터, 리컨스트럭션 파라미너, 및/또는 패킹 메타데이터에 기반하여 패킹된 픽쳐에 포함된 데이터를 인코딩한다.
서버(server)를 통해 인코딩된 데이터를 비트스트림의 형태로 비디오 송신 장치(인코더)에서 비디오 수신 장치(디코더)로 전송한다. 여기서 뷰잉 포지션 정보 및/또는 뷰포트 정보가 함께 전송될 수 있다.
상술한 비디오 송신 장치의 각 동작은 버츄얼 카메라 캡쳐러, 로테이터/프로젝터, 인터-뷰 리던던시 리무버, 패킹 유닛, 인코더 등에 의해 수행될 수 있다.
도30은 디코더의 구체적인 구성을 나타낸다.
본 발명의 실시예들에 따른 비디오 수신 장치(디코더)는 이하의 동작을 수행할 수 있다.
서버(Server)를 통해 비디오 수신 장치는 데이터를 비디오 송신 장치로부터 수신할 수 있다.
디코딩(Decoding)은 비트스트림에 포함된 데이터를 디코딩한다. 디코딩은 데이터를 디코딩하여 패킹된 픽쳐를 생성하고, 비트스트림에 포함된 데이터로부터 패킹된 픽쳐를 언패킹하기 위한 언패킹 메타데이터, 픽쳐를 리컨스트럭션하기 위한 리컨스트럭션 파라미터, 픽쳐에 대한 뷰를 합성하기 위한 뷰 합성 파라미터 등을 생성할 수 있다.
언패킹(Unpacking)은 하나 또는 하나 이상의 패킹된 픽쳐를 언패킹하여 복수의 픽쳐들을 생성한다. 언패킹된 픽쳐는 텍스쳐 및 뎁스를 포함하는 픽쳐들이고, 패치/레지듀얼(텍스쳐) 관점에서 최적화된 픽쳐들이다. 언패킹은 언패킹 메타데이터에 기반하여 패킹된 픽쳐를 언패킹한다.
뷰 제너레이션(View generation)은 언패킹된 픽쳐들에 대한 뷰를 생성한다. 뷰 제너레이션은 리컨스트럭션 파라미터들에 기반하여 픽쳐로부터 뷰를 생성한다.
뷰 신테시스(View synthesis)는 생성된 뷰를 포함하는 픽쳐들을 수신하여, 타겟 뷰잉 포지션에 기반한 텍스쳐에 대한 픽쳐를 생성한다. 뷰 신테시스는 뷰 신테시스 파라미터들에 기반하여 픽쳐를 생성(합성)한다.
렌더링/뷰포트 제너레이션(rendering/viewport generation)은 합성된 뷰에 대한 뷰포트를 생성하고, 타겟 뷰포트에 기반한 텍스쳐에 대한 픽쳐를 렌더링한다.
디스플레이(Display)는 타겟 뷰포트에 대한 픽쳐를 디스플레이한다.
상술한 비디오 수신 장치의 각 동작은 인코더로부터 수신한 뷰잉 포지션 정보 및/또는 뷰포트 정보 및/또는 디스플레이 유닛으로부터 수신한 피드백 정보를 추가적으로 사용할 수 있다.
상술한 비디오 수신 장치의 각 동작은 디코더, 언패킹 유닛, 뷰 제너레이터, 뷰 신테사이저, 렌더링/뷰포트 제너레이터 등에 의해 수행될 수 있다.
본 발명의 실시예들에 따른 비디오 송신 장치 및 비디오 수신 장치는 실시간 움직임을 반영한 3DoF+ 비디오 송수신 시스템을 제공한다.
본 발명의 실시예들에 따른 비디오 송신 방법 및 비디오 수신 방법은 수신기의 부담을 줄이고, 수신기의 레이턴시(latency)를 줄일 수 있다. 구체적으로, 뷰 에스티메이션 및 리컨스트럭션(View estimation and reconstruction) 과정은 시점 간의 리던던시를 제거한다. 예를 들어, 3D 프레딕션 및 패치(3D prediction & patch) 및 2D 프레딕션 및 패치(2D prediction & patch)이 사용될 수 있다. 또한, 멀티플 뷰잉 포지션들의 텍스쳐, 뎁스, 패치 등이 다른 픽쳐들을 패킹하여 높은 코딩 효율을 가진 최적 또는 최소의 사이즈를 갖는 픽쳐를 생성할 수 있다. 또한, 수신기에 최적화된 영상을 생성할 수 있다. 예를 들어, 레이어드 패치(layerd patch)가 사용될 수 있고, 이는 뷰 제너레이션 및 뷰 신테시스(view generation & view synthesis)를 동시에 처리할 수 있는 효과를 제공한다. 또한, 로우 딜레이의 시점 변화를 위한 영상을 생성할 수 있다. 예를 들어, MCTS를 이용해서 동일한 뷰잉 디렉션(view direction)을 묶어서 처리할 수 있다.
추가적으로, 본 발명의 실시예들에 따른 비디오 송신 방법 및 비디오 수신 방법은 다시점 3DoF+영상을 생성할 수 있다. 구체적으로, 뷰 신테사이저는 뷰 제너레이션 에러에 강인하여, 뷰 신테사이저의 성능을 개선할 수 있다. 또한, 뷰 신테사이저는 뷰포트 디펜던트하고, 렌더러와 통합되어 뷰 신테사이저의 성능을 최적화할 수 있다.
본 발명의 실시예들에 따른 비디오 송신 장치 및 비디오 수신 장치는 이하의 메타데이터를 생성하고 사용할 수 있다.
언패킹 메타데이터(Un-packing metadata)는 디코딩에 관한 구성 정보를 포함한다. 디코딩은 데이터를 디코딩하면서 디코딩된 픽쳐의 구성에 관한 구성 정보를 언패킹 메타데이터로써 생성한다. 언패킹 메타데이터는 픽쳐에 포함된 덱스쳐, 패치, 레지듀얼, 뎁스, 오버레이 등에 관한 속성 정보를 포함한다. 언패킹 메타데이터는 패킹된 픽쳐의 각 부분에 대한 속성 정보, 패킹된 픽쳐의 각 부분이 어느 뷰잉 포지션에 대응하는지에 관한 정보, 패킹된 픽쳐의 각 부분이 프로젝션된 픽쳐 상에서 어느 위치에 해당하는지에 관한 정보를 포함한다. 또한, 언패킹 메타데이터는 디코딩된 픽쳐를 위한 스파셜 스케일링(spartial scaling), 트랜스포메이션(transformation), 밝기 스케일링 정보 등을 포함할 수 있다.
뷰 제너레이션 파라미터로써 리컨스트럭션 파라티터(reconstruction parameter)가 사용될 수 있다. 뷰 제너레이션은 언패킹 이후 텍스쳐, 패치, 레지듀얼을 조합하여 텍스쳐 또는 텍스쳐를 포함하는 픽쳐를 생성한다. 따라서, 리컨스트럭션 파라미터는 픽쳐들을 뷰 합성하기 위한 텍스쳐, 패치, 레지듀얼의 조합에 관련된 정보를 포함한다. 또한, 뷰 제너레이션은 뷰 에스티메이션을 추가로 수행할 수 있으므로, 리컨스트럭션 파라미터는 뷰 에스티메이션에 관련된 정보를 포함한다. 구체적으로, 리컨스트럭션 파라미터는 어느 뷰잉 포지션(들)의 텍스쳐 및 뎁스를 이용해서 프레딕션을 하는지에 관련된 정보, 뷰 에스티메이션의 방법을 나타내는 정보(예를 들어, 뷰 신테사이저 방법, 3D 프레딕션, 2D 프레딕션 등의 타입 정보) 등을 포함할 수 있다. 여기서 3D 프레딕션은 픽쳐를 3D 공간 상에서 리프로젝션(reprojection)을 하는 방법을 의미한다. 예를 들어, 뷰잉 포지션 B에 랩핑(wraping)하는 방법을 의미한다. 또한, 2D 프레딕션은 픽쳐를 프로젝션 포맷 상에서 모션 에스티메이션을 하는 방법을 의미한다. 예를 들어, 오브젝트/뷰잉 디렉션 기반의 모션 에스티메이션(object/viewing direction-based motion estimation)을 의미한다. 리컨스트럭션 파라미터는 패치/레지듀얼을 처리하는 방법을 나타내는 정보를 포함할 수 있다.
뷰 신테시스는 텍스쳐 및 뎁스를 포함하는 픽쳐를 각 뷰잉 포지션에 대한 신호(또는 정보)를 사용하여 뷰를 합성하므로, 뷰 신테시스 파라미터(view synthesis parameter)가 필요하다. 구체적으로, 뷰 신테시스 파라미터는 비디오의 텍스쳐 및 뎁스를 나타내는 정보, 현재 비디오에 대한 정보를 포함할 수 있다. 예를 들어, 현재 비디오에 대한 정보는 뷰포인트 및 뷰잉 포지션 등을 의미할 수 있다. 뷰 신테시스 파라미터는 이동 가능한 비디오에 대한 정보를 포함할 수 있다. 예를 들어, 이용 가능한 뷰포인트들 및 뷰잉 스페이스 정보 등을 의미할 수 있다. 뷰 신테시스 파라미터는 소스 뷰잉 포지션의 위치를 나타내는 정보, 뎁스의 존재 여부를 나타내는 정보, 뎁스의 니어(near)/파(far)의 범위를 나타내는 정보, 리컨스럭티드 뷰(reconstructed view)의 존재 여부를 나타내는 정보, 퀄리티(quality)를 나타내는 정보, 레졸루션(resolution)을 나타내는 정보, 카메라 파라미터를 나타내는 정보 등 뷰 신테시스를 위한 정보를 포함할 수 있다.
상술한 메타데이터는 본 명세서에서 시그널링 정보, 제1시그널링 정보, 제1정보 등으로 다양하게 명명될 수 있다.
도31는 인코더를 나타낸다.
본 발명의 실시예들에 따른 비디오 송신 장치(인코더)는 인터-포지션 리던던시 리무벌(inter-position redundancy removal), 패킹(Packing), 및/또는 인코딩(Encoding)을 더 수행할 수 있다. 비디오 송신 장치의 각 과정은 인터-포지션 리던던시 리무버, 패킹 유닛, 및/또는 인코더 등에 의해 수행될 수 있다.
인터-포지션 리던던시 리무벌(inter-position redundancy removal)은 멀티플 뷰잉 포지션들에 대한 비디어 시퀀스들을 수신하고, 비디오 시퀀스들의 포지션 간에 리던던시를 제거한다. 인터-포지션 리던던시 리무벌은 리던던시 리부벌에 관련된 리컨스트럭션 파라미터를 생성한다. 인터-포지션 리던던시 리무벌은 비디오 시퀀스들의 포지션 간 리던던시를 제거하여 텍스쳐를 포함하는 픽쳐, 뎁스를 포함하는 픽쳐, 텍스쳐를 포함하는 패치, 텍스쳐를 포함하는 레지듀얼 등을 생성한다.
인터-포지션 리던던시 리무벌은 복수의 뷰잉 포지션의 비디오(또는 영상)을 포함하는 시퀀스를 수신하고, 복수의 뷰잉 포지션 간 인접하는 뷰잉 포지션의 비디오의 리던던시를 제거한다. 리던던시가 제거된 뷰잉 포지션에 대한 텍스쳐 픽쳐, 뎁스 픽쳐, 텍스쳐 패치, 텍스쳐 레지듀얼을 생성한다. 또한, 특정 뷰잉 포지션에 대해 텍스쳐, 뎁스, 패치 등이 전달된 경우, 텍스, 뎁스 픽쳐 등은 전달되지 않을 수 있다.
패킹(Packing)은 픽쳐들을 수신하여, 픽쳐들을 패킹한다. 패킹은 픽쳐들을 패킹하여 최적의 픽쳐(들)을 생성할 수 있다. 패킹은 픽쳐들의 패킹에 관련된 패킹 메타데이터를 생성한다.
인코딩(Encoding)은 픽쳐들을 인코딩한다. 인코딩은 리컨스트럭션 파라미터들 및/또는 패킹 메타데이터에 기반하여 픽쳐들에 포함된 데이터를 인코딩한다. 인코딩된 데이터는 비트스트림의 형태로 비디오 수신 장치에 전송된다.
인터-포지션 리던던시 리무벌은 뷰잉 포지션 셀렉션( Viewing Position Selection), 프레딕션 패치/레지듀얼 에스티메이션(Prediction and patch/residual estimation)을 더 포함할 수 있다.
뷰잉 포지션 셀렉션( Viewing Position Selection)은 멀티플 뷰잉 포지션들에 대한 비디오 시퀀스들을 수신하여 멀티플 뷰잉 포지션 중에서 타겟 뷰잉 포지션(또는 특정 뷰잉 포지션)을 선택한다. 여기서 뷰잉 포지션 셀렉션은 선택된 뷰잉 포지션을 나타내는 정보를 생성하고, 선택된 타겟 뷰잉 포지션에 대한 패치/레지듀얼 설정 또는 속성 정보를 생성한다. 또한, 텍스쳐 코딩 뷰잉 포지션 정보에 기반하여 프로젝션된 포맷 상의 텍스쳐 픽쳐들을 생성한다.
여기서, 뷰잉 포지션 셀렉션의 결과는 텍스쳐/뎁스 픽쳐가 되므로 앵커 뷰(anchor view)가 선택된다.
프레딕션 패치/레지듀얼 에스티메이션(Prediction and patch/residual estimation)은 뷰잉 포지션 셀렉션에서 생성된 패치/레지듀얼 속성 정보 및/또는 뷰잉 포지션 정보를 수신하고, 타겟이 되는 뷰잉 포지션을 프레딕션하고 패치/레지듀얼을 에스티메이션하여 프로젝션된 포맷 상의 패치/레지듀얼 픽쳐를 생성한다. 다시 말해, 뷰잉 포지션 셀렉션 이후, 오리지날 제 1 뷰잉 포지션에 대한 비디오를 에스티메이션의 대상이 되는 제2뷰잉 포지션에 기반하여 프레딕션하고, 제1뷰잉 포지션 및 제2뷰잉 포지션 간 패치/레지듀얼을 에스티메이션할 수 있다.
구체적으로, 프레딕션 패치/레지듀얼 에스티메이션은 3D 프레딕션(3D prediction), 홀 필링(hole filling), 크랙 리무벌(crack removal), 패치/레지듀얼 에스티메이션(patch/residual estimation)을 더 포함한다.
3D 프레딕션(3D prediction)은 앵커 뷰잉 포지션(anchor viewing position)에 대한 비디오를 수신한다. 3D 프레딕션은 앵커 뷰잉 포지션에 대한 비디오를 특정 뷰잉 포시션에 대해 3D 프레딕션한다. 예를 들어, 앵커 뷰잉 포지션의 비디오에 대해 뷰잉 포지션 B에 대한 랩핑(wraping)을 적용할 수 있다. 여기서 앵커 뷰잉 포지션은 멀티블 뷰잉 포지션 중 하나의 뷰잉 포지션을 의미할 수 있고, 중요한 데이터를 포함하는 뷰잉 포지션을 의미할 수 있다.
홀 필링(hole filling)은 3D 프레딕션에서 생성될 수 있는 홀(hole)을 채울 수 있다. 앵커 뷰잉 포지션에 대한 비디오 및 다른 뷰잉 포지션에 대해 3D프레딕션 된 비디오 간의 홀을 채울 수 있다. 예를 들어, 인터폴레이션(interpolation) 등의 스킴을 사용하여 홀을 채울 수 있다. 홀 필링은 선택적으로 수행될 수 있다.
크랙 리무벌(crack removal)은 3D 프레딕션에서 생성될 수 있는 크랙을 제거한다. 예를 들어, 인터폴레이션(interpolation) 등의 스킴을 사용하여 크랙을 제거할 수 있다.
패치/레지듀얼 에스티메이션(patch/residual estimation)은 뷰잉 포지션B에 대한 비디오 및 프레딕션된 픽쳐를 수신하여, 오리지날 픽쳐 및 에스티메이션된 픽쳐 간의 서브트랙션(subtraction)을 통해 패치/레지듀얼을 생성한다. 즉, 앵커뷰잉 포지션의 비디오를 프레딕션한 픽쳐 및 뷰잉 포지션B의 비디오 간 차이로 인해 발생할 수 있는 패치/레지듀얼을 에스티메이션할 수 있다.
결과적으로, 프레딕션 패치/레지듀얼 에스티메이션은 뷰잉 포지션 간의 비디오에 대한 패치 및 레지듀얼(예를 들어, ERP에 대한)을 생성할 수 있다. 또한, 프레딕션 패치/레지듀얼 에스티메이션은 다음의 메타데이터 또는 시그널링 정보 등을 생성할 수 있다. 구체적으로, 랩핑 파라미터, 카메라 파라미터, 폴 필링 및 크랙 리무벌 방법을 나타내는 정보, 리컨스트럭션 방법을 나타내는 정보 등이 있을 수 있다.
따라서, 본 발명의 실시예들에 따른 인코더는 특정 뷰잉 포지션, 예를 들어 뷰잉 포지션B의 비디오를 전부 전송할 필요 없이, 뷰잉 포지션 B에 대한 패치 및/또는 레지듀얼 그리고 이와 관련된 시그널링 정보만 전송함으로써 효율적으로 3DoF+ 비디오를 처리할 수 있다.
도32는 디코더를 나타낸다.
본 발명의 실시예들에 따른 비디오 수신 장치(디코더)는 디코딩(decoding), 언패킹(un-packing), 뷰 제너레이션(view generation), 및/또는 뷰 신테시스(view synthesis)를 더 수행할 수 있다. 비디오 수신 장치의 각 동작은 비디오 수신 장치의 디코더, 언패킹 유닛 또는 언패커, 뷰 제너레이터, 뷰 신테사이저 등에 의해 수행될 수 있다.
디코딩(decoding)은 비디오 송신 장치로부터 비트스트림을 수신하고, 비트스트림에 포함된 데이터를 디코딩한다. 디코딩은 뷰잉 포지션 정보 및 뷰포트 정보에 기반하여 데이터를 디코딩할 수 있다. 디코딩은 언패킹을 위한 정보를 포함하는 언패킹 메타데이터, 뷰 제너레이션에 필요한 정보를 포함하는 리컨스트럭션 파라미터들, 뷰 신테시스에 필요한 정보를 포함하는 뷰 신테시스 파라미터들을 생성할 수 있다.
언패킹(un-packing)은 디코딩된 데이터 또는 디코딩된 픽쳐들을 수신하여, 패킹된 픽쳐들을 언패킹한다. 언패킹은 언패킹 메타데이터를 사용하여 패킹된 픽쳐들을 언패킹하여 텍스쳐 픽쳐, 뎁스 픽쳐, 텍스쳐 패치, 텍스쳐 레지듀얼을 생성한다.
뷰 제너레이션(view generation)은 텍스쳐 픽쳐, 뎁스 픽쳐, 텍스쳐 패치, 텍스쳐 레지듀얼을 수신하고, 리컨스트럭션 파라미터들을 사용하여 하나 또는 하나 이상의 뷰잉 포지션에 대한 뷰를 합성한다. 뷰 제너레이션은 싱글 또는 멀티플 뷰잉 포지션들에 대한 텍스쳐 및 뎁스를 포함하는 픽쳐를 생성한다.
뷰 신테시스(view synthesis)를 뷰 제너레이션된 픽쳐를 뷰 신테시스 파라미터를 사용하여 뷰를 합성한다. 뷰 신테시스는 타겟 뷰잉 포지션 또는 특정 뷰잉 포지션의 픽쳐를 최종적으로 생성한다.
구체적으로, 뷰 제너레이션은 3D 프레딕션(3D prediction), 홀 필링(hole filing), 크랙 리무벌(crack removal), 리컨스트럭션(reconstruction)을 수행할 수 있다.
3D 프레딕션(3D prediction) 앵커 뷰잉 포지션의 픽쳐를 수신하여 3D 프레딕션을 수행한다. 예를 들어, 뷰잉 포지션 B에 랩핑하여 프레딕션을 수행할 수 있다.
홀 필링(hole filing)은 앵커 뷰잉 포지션의 픽쳐에 대해 프레딕션을 적용하는 과정에서 발생할 수 있는 홀을 채울 수 있다. 예를 들어, 인터폴레이션(interpolation) 등의 스킴을 사용하여 홀을 채울 수 있다.홀 필링은 선택적으로 수행될 수 있다.
크랙 리무벌(crack removal)은 3D 프레딕션에서 생성될 수 있는 크랙을 제거한다. 예를 들어, 인터폴레이션(interpolation) 등의 스킴을 사용하여 크랙을 제거할 수 있다.
리컨스트럭션(reconstruction)은 프레딕션이 수행된 앵커 뷰잉 포지션의 픽쳐 및 뷰잉 포지션B의 패치 및 레지듀얼을 사용하여 뷰잉 포지션B의 픽쳐를 생성할 수 있다.
도33은 인코더를 나타낸다.
본 발명의 실시예들에 따른 비디오 송신 장치(인코더)는 인터-포지션 리던던시 리무벌(inter-position redundancy removal), 패킹(Packing), 및/또는 인코딩(Encoding)을 더 수행할 수 있다. 비디오 송신 장치의 각 과정은 인터-포지션 리던던시 리무버, 패킹 유닛, 및/또는 인코더 등에 의해 수행될 수 있다.
인터-포지션 리던던시 리무벌(inter-position redundancy removal)은 멀티플 뷰잉 포지션들에 대한 비디어 시퀀스들을 수신하고, 비디오 시퀀스들의 포지션 간에 리던던시를 제거한다. 인터-포지션 리던던시 리무벌은 리던던시 리부벌에 관련된 리컨스트럭션 파라미터를 생성한다. 인터-포지션 리던던시 리무벌은 비디오 시퀀스들의 포지션 간 리던던시를 제거하여 텍스쳐를 포함하는 픽쳐, 뎁스를 포함하는 픽쳐, 텍스쳐를 포함하는 패치, 텍스쳐를 포함하는 레지듀얼 등을 생성한다.
패킹(Packing)은 픽쳐들을 수신하여, 픽쳐들을 패킹한다. 패킹은 픽쳐들을 패킹하여 최적의 픽쳐(들)을 생성할 수 있다. 패킹은 픽쳐들의 패킹에 관련된 패킹 메타데이터를 생성한다.
인코딩(Encoding)은 픽쳐들을 인코딩한다. 인코딩은 리컨스트럭션 파라미터들 및/또는 패킹 메타데이터에 기반하여 픽쳐들에 포함된 데이터를 인코딩한다. 인코딩된 데이터는 비트스트림의 형태로 비디오 수신 장치에 전송된다.
인터-포지션 리던던시 리무벌은 뷰잉 포지션 셀렉션( Viewing Position Selection), 프레딕션 패치/레지듀얼 에스티메이션(Prediction and patch/residual estimation)을 더 포함할 수 있다.
뷰잉 포지션 셀렉션( Viewing Position Selection)은 멀티플 뷰잉 포지션들에 대한 비디오 시퀀스들을 수신하여 멀티플 뷰잉 포지션 중에서 타겟 뷰잉 포지션(또는 특정 뷰잉 포지션)을 선택한다. 여기서 뷰잉 포지션 셀렉션은 선택된 뷰잉 포지션을 나타내는 정보를 생성하고, 선택된 타겟 뷰잉 포지션에 대한 패치/레지듀얼 설정 또는 속성 정보를 생성한다. 또한, 텍스쳐 코딩 뷰잉 포지션 정보에 기반하여 프로젝션된 포맷 상의 텍스쳐 픽쳐들을 생성한다.
프레딕션 패치/레지듀얼 에스티메이션(Prediction and patch/residual estimation)은 뷰잉 포지션 셀렉션에서 생성된 패치/레지듀얼 속성 정보 및/또는 뷰잉 포지션 정보를 수신하고, 타겟이 되는 뷰잉 포지션을 프레딕션하고 패치/레지듀얼을 에스티메이션하여 프로젝션된 포맷 상의 패치/레지듀얼 픽쳐를 생성한다. 다시 말해, 뷰잉 포지션 셀렉션 이후, 오리지날 제 1 뷰잉 포지션에 대한 비디오를 에스티메이션의 대상이 되는 제2뷰잉 포지션에 기반하여 프레딕션하고, 제1뷰잉 포지션 및 제2뷰잉 포지션 간 패치/레지듀얼을 에스티메이션할 수 있다.
프레딕션은 하나의 뷰잉 포지션으로부터 다른 뷰잉 포지션의 정보를 추정한다. 즉, 프레디션은 리던던트한 정보를 찾는다. 추정 가능한 정보는 디코더에서 재현 가능하다고 고려할 수 있으므로, 인코더 또는 송신단은 추정 가능한 정보를 디코더 또는 수신단에 전송하지 않고, 추정 불가능한 부분(residual)을 전송하므로 중복되는 정보를 제거할 수 있는 효과가 있다.
구체적으로, 프레딕션 패치/레지듀얼 에스티메이션은 2D 프레딕션(2D prediction), 홀 필링(hole filling), 패치/레지듀얼 에스티메이션(patch/residual estimation)을 더 포함한다.
2D 프레딕션(2D prediction)은 앵커 뷰잉 포지션에 대한 비디오에 2D 프레딕션을 적용한다. 예를 들어, 오브젝트/뷰잉 디렉션 기반의 모션 에스티메이션(object/viewing direction-based motion estimation) 스킴을 사용하여 2D 프레딕션이 수행될 수 있다. 앵커 뷰잉 포지션에 대한 비디오를 오브젝트/뷰잉 디렉션에 기반하여 2D 프레딕션한다.
2D 프레딕션(2D prediction)은 2D 이미지 상에서 프로젝션한다. 한편, 3D 프레딕션은 3D 공간 상 위치 차이를 기반으로 프로젝션한다.
홀 필링(hole filling)은 프레딕션으로 생성된 홀을 채울 수 있다. 앵커 뷰잉 포지션에 대한 비디오 및 오브젝트/뷰잉 디렉션에 대한 2D프레딕션된 비디오 간의 홀을 채울 수 있다. 예를 들어, 인터폴레이션 등의 방식을 사용하여 홀을 채울 수 있다. 홀 필링은 선택적으로 수행될 수 있다.
패치/레지듀얼 에스티메이션(patch/residual estimation)은 뷰잉 포지션B에 대한 비디오 및 프레딕션된 픽쳐를 수신하여, 오리지날 픽쳐 및 에스티메이션된 픽쳐 간의 서브트랙션을 통해 패치/레지듀얼을 생성한다.
결과적으로, 프레딕션 패치/레지듀얼 에스티메이션은 뷰잉 포지션 간의 비디오에 대한 패치 및 레지듀얼(예를 들어, ERP에 대한)을 생성할 수 있다. 또한, 프레딕션 패치/레지듀얼 에스티메이션은 다음의 메타데이터 또는 시그널링 정보 등을 생성할 수 있다. 구체적으로, 랩핑 파라미터, 카메라 파라미터, 폴 필링 및 크랙 리무벌 방법을 나타내는 정보, 리컨스트럭션 방법을 나타내는 정보 등이 있을 수 있다.
따라서, 본 발명의 실시예들에 따른 인코더는 특정 뷰잉 포지션, 예를 들어 뷰잉 포지션B의 비디오를 전부 전송할 필요 없이, 뷰잉 포지션 B에 대한 패치 및/또는 레지듀얼 그리고 이와 관련된 시그널링 정보만 전송함으로써 효율적으로 3DoF+ 비디오를 처리할 수 있다.
도34는 디코더를 나타낸다.
본 발명의 실시예들에 따른 비디오 수신 장치(디코더)는 디코딩(decoding), 언패킹(un-packing), 뷰 제너레이션(view generation), 및/또는 뷰 신테시스(view synthesis)를 더 수행할 수 있다. 비디오 수신 장치의 각 동작은 비디오 수신 장치의 디코더, 언패킹 유닛 또는 언패커, 뷰 제너레이터, 뷰 신테사이저 등에 의해 수행될 수 있다.
디코딩(decoding)은 비디오 송신 장치로부터 비트스트림을 수신하고, 비트스트림에 포함된 데이터를 디코딩한다. 디코딩은 뷰잉 포지션 정보 및 뷰포트 정보에 기반하여 데이터를 디코딩할 수 있다. 디코딩은 언패킹을 위한 정보를 포함하는 언패킹 메타데이터, 뷰 제너레이션에 필요한 정보를 포함하는 리컨스트럭션 파라미터들, 뷰 신테시스에 필요한 정보를 포함하는 뷰 신테시스 파라미터들을 생성할 수 있다.
언패킹(un-packing)은 디코딩된 데이터 또는 디코딩된 픽쳐들을 수신하여, 패킹된 픽쳐들을 언패킹한다. 언패킹은 언패킹 메타데이터를 사용하여 패킹된 픽쳐들을 언패킹하여 텍스쳐 픽쳐, 뎁스 픽쳐, 텍스쳐 패치, 텍스쳐 레지듀얼을 생성한다.
뷰 제너레이션(view generation)은 텍스쳐 픽쳐, 뎁스 픽쳐, 텍스쳐 패치, 텍스쳐 레지듀얼을 수신하고, 리컨스트럭션 파라미터들을 사용하여 하나 또는 하나 이상의 뷰잉 포지션에 대한 뷰를 합성한다. 뷰 제너레이션은 싱글 또는 멀티플 뷰잉 포지션들에 대한 텍스쳐 및 뎁스를 포함하는 픽쳐를 생성한다.
뷰 신테시스(view synthesis)를 뷰 제너레이션된 픽쳐를 뷰 신테시스 파라미터를 사용하여 뷰를 합성한다. 뷰 신테시스는 타겟 뷰잉 포지션 또는 특정 뷰잉 포지션의 픽쳐를 최종적으로 생성한다.
구체적으로, 뷰 제너레이션은 2D 프레딕션(2D prediction), 홀 필링(hole filing), 리컨스트럭션(reconstruction)을 수행할 수 있다.
2D 프레딕션(2D prediction)은 앵커 뷰잉 포지션에 대한 비디오에 2D 프레딕션을 적용한다. 예를 들어, 오브젝트/뷰잉 디렉션 기반의 모션 에스티메이션(object/viewing direction-based motion estimation) 스킴을 사용하여 2D 프레딕션이 수행될 수 있다. 앵커 뷰잉 포지션에 대한 비디오를 오브젝트/뷰잉 디렉션에 기반하여 2D 프레딕션한다.
홀 필링(hole filing)은 앵커 뷰잉 포지션의 픽쳐에 대해 프레딕션을 적용하는 과정에서 발생할 수 있는 홀을 채울 수 있다. 예를 들어, 인터폴레이션(interpolation) 등의 스킴을 사용하여 홀을 채울 수 있다. 홀 필링은 선택적으로 수행될 수 있다.
리컨스트럭션(reconstruction)은 프레딕션이 수행된 앵커 뷰잉 포지션의 픽쳐 및 뷰잉 포지션B의 패치 및 레지듀얼을 사용하여 뷰잉 포지션B의 픽쳐를 생성할 수 있다.
도35는 비디오 송신 방법을 나타낸다.
본 발명의 실시예들에 따른 비디오 송신 방법은 비디오 데이터를 프로세싱하는 프리-프로세싱 하는 단계(S28001), 프리-프로세싱된 비디오 데이터를 인코딩하는 단계(S28002), 및/또는 인코딩된 비디오 데이터를 전송하는 단계(S28003)를 포함한다. 여기서 각 단계는 도23에 도시된 비디오 송신 장치의 각 구성에 의해 처리될 수 있다.
도36은 비디오 수신 방법을 나타낸다.
본 발명의 실시예들에 따른 비디오 수신 방법은 비디오 데이터를 수신하는 단계(S29001), 비디오 데이터를 수신하는 단계(S29002), 및/또는 상기 디코딩된 데이터를 포스트-프로세싱하는 단계(S29003)를 포함한다. 여기서 각 단계는 도22에 도시된 비디오 수신 장치의 각 구성에 의해 처리될 수 있다.
전술한 각각의 파트, 모듈 또는 유닛은 메모리(또는 저장 유닛)에 저장된 연속된 수행과정들을 실행하는 소프트웨어, 프로세서, 하드웨어 파트일 수 있다. 전술한 실시예에 기술된 각 단계들은 프로세서, 소프트웨어, 하드웨어 파트들에 의해 수행될 수 있다. 전술한 실시예에 기술된 각 모듈/블락/유닛들은 프로세서, 소프트웨어, 하드웨어로서 동작할 수 있다. 또한, 본 발명이 제시하는 방법들은 코드로서 실행될 수 있다. 이 코드는 프로세서가 읽을 수 있는 저장매체에 쓰여질 수 있고, 따라서 장치(apparatus)가 제공하는 프로세서에 의해 읽혀질 수 있다.
설명의 편의를 위하여 각 도면을 나누어 설명하였으나, 각 도면에 서술되어 있는 실시 예들을 병합하여 새로운 실시 예를 구현하도록 설계하는 것도 가능하다. 그리고, 통상의 기술자의 필요에 따라, 이전에 설명된 실시 예들을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체를 설계하는 것도 본 발명의 권리범위에 속한다.
본 발명에 따른 장치 및 방법은 상술한 바와 같이 설명된 실시 예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상술한 실시 예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
한편, 본 발명이 제안하는 방법을 네트워크 디바이스에 구비된, 프로세서가 읽을 수 있는 기록매체에, 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.
본 발명의 사상이나 범위를 벗어나지 않고 본 발명에서 다양한 변경 및 변형이 가능함은 당업자에게 이해된다. 따라서, 본 발명은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.
본 명세서에서 장치 및 방법 발명이 모두 언급되고, 장치 및 방법 발명 모두의 설명은 서로 보완하여 적용될 수 있다.
이 문서에서 /와 ,는 및/또는으로 해석된다. 예를 들어, A/B는 A 및/또는 B로 해석되고, A, B는 A 및/또는 B로 해석된다. 추가적으로, A/B/C는 A, B 및/또는 C 중 적어도 하나를 의미한다. 또한, A, B, C도 A, B 및/또는 C 중 적어도 하나를 의미한다. (In this document, the term / and , should be interpreted to indicate and/or. For instance, the expression A/B may mean A and/or B. Further, A, B may mean A and/or B. Further, A/B/C may mean at least one of A, B, and/or C. Also, A/B/C may mean at least one of A, B, and/or C.)
추가적으로, 이 문서에서 또는는 및/또는으로 해석된다. 예를 들어, A 또는 B은, 1) A 만을 의미하고, 2) B만을 의미하거나, 3) A 및 B를 의미할 수 있다. 달리 표현하면, 본 문서의 또는은 추가적으로 또는 대체적으로(additionally or alternatively)를 의미할 수 있다. (Further, in the document, the term or should be interpreted to indicate and/or. For instance, the expression A or B may comprise 1) only A, 2) only B, and/or 3) both A and B. In other words, the term or in this document should be interpreted to indicate additionally or alternatively.)
다양한 실시예가 본 발명을 실시하기 위한 최선의 형태에서 설명되었다.
본 발명은 VR 관련 분야에서 이용된다.
본 발명의 사상이나 범위를 벗어나지 않고 본 발명에서 다양한 변경 및 변형이 가능함은 당업자에게 자명하다. 따라서, 본 발명은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.

Claims (14)

  1. 비디오 데이터를 프로세싱하는 프리-프로세서(pre-processor);
    상기 프리-프로세싱된 비디오 데이터를 인코딩하는 인코더(encoder); 및
    상기 인코딩된 비디오 데이터를 전송하는 전송부; 를 포함하는,
    비디오 송신 장치.
  2. 제1항에 있어서, 상기 비디오 송신 장치는,
    상기 비디오 데이터를 프로젝션하여 픽쳐 및 상기 픽쳐에 관련된 프로젝션 파라미터를 생성하는 프로젝터를 더 포함하고,
    상기 프리-프로세서는 상기 비디오 데이터 중 특정 뷰에 대한 비디오 데이터를 뷰 셀렉션하는,
    비디오 송신 장치.
  3. 제1항에 있어서, 상기 프리-프로세서는,
    상기 비디오 데이터를 뷰 분석하여 상기 비디오 데이터를 특정 비디오 데이터로 패킹하는,
    비디오 송신 장치.
  4. 제1항에 있어서, 상기 프리-프로세서는,
    상기 비디오 데이터애 포함된 뷰잉 포지션들에 대한 비디오 데이터 간의 인터-포지션 리던던시를 제거하고, 또는
    상기 뷰잉 포지션들에 대한 비디오 데이터 중 특정 뷰잉 포지션을 선택하여 텍스쳐 픽쳐를 생성하고, 상기 특정 뷰잉 포지션에 기반하여 패치 및 레지듀얼 픽쳐를 생성하는,
    비디오 송신 장치.
  5. 비디오 데이터를 프로세싱하는 프리-프로세싱 하는 단계;
    상기 프리-프로세싱된 비디오 데이터를 인코딩하는 단계; 및
    상기 인코딩된 비디오 데이터를 전송하는 단계; 를 포함하는,
    비디오 송신 방법.
  6. 제1항에 있어서, 상기 비디오 송신 방법은,
    상기 비디오 데이터를 프로젝션하여 픽쳐 및 상기 픽쳐에 관련된 프로젝션 파라미터를 생성하는 프로젝션 단계를 더 포함하고,
    상기 프리-프로세싱하는 단계는 상기 비디오 데이터 중 특정 뷰에 대한 비디오 데이터를 뷰 셀렉션하는,
    비디오 송신 방법.
  7. 제1항에 있어서, 상기 프리-프로세싱하는 단계는,
    상기 비디오 데이터를 뷰 분석하여 상기 비디오 데이터를 특정 비디오 데이터로 패킹하는,
    비디오 송신 방법.
  8. 제1항에 있어서, 상기 프리-프로세싱하는 단계는,
    상기 비디오 데이터애 포함된 뷰잉 포지션들에 대한 비디오 데이터 간의 인터-포지션 리던던시를 제거하고, 또는
    상기 뷰잉 포지션들에 대한 비디오 데이터 중 특정 뷰잉 포지션을 선택하여 텍스쳐 픽쳐를 생성하고, 상기 특정 뷰잉 포지션에 기반하여 패치 및 레지듀얼 픽쳐를 생성하는,
    비디오 송신 방법.
  9. 비디오 데이터를 수신하는 수신부;
    상기 비디오 데이터를 디코딩하는 디코더(decoder);
    상기 디코딩된 데이터를 프로세싱하는 포스트-프로세서(postprocessor); 를 포함하는,
    비디오 수신 장치.
  10. 제9항에 있어서, 상기 포스트-프로세서는,
    상기 디코딩된 비디오 데이터에 포함된 패킹된 픽쳐를 언패킹(unpacking)하여 텍스쳐 및 뎁스를 포함하는 픽쳐를 생성하고,
    상기 언패킹된 픽쳐로부터 타겟 뷰잉 포지션에 대한 픽쳐를 생성하는,
    비디오 수신 장치.
  11. 제9항에 있어서, 상기 포스트-프로세서는,
    상기 디코딩된 비디오 데이터에 포함된 픽쳐를 언패킹하여 텍스쳐 픽쳐, 뎁스 픽쳐, 덱스쳐 패치, 텍스쳐 레지듀얼을 생성하고,
    상기 언패킹된 픽쳐에 포함된 제1뷰잉 포지션의 픽쳐를 제2뷰잉 포지션에 기반하여 프레딕션하고, 상기 제2뷰잉 포지션의 패치 및 레지듀얼을 사용하여 상기 프레딕션된 픽쳐를 리컨스트럭션하여 상기 제2뷰잉 포시션의 픽쳐를 생성하고, 또는
    상기 디코딩된 비디오 데이터는 상기 포스트-프로세서를 위한 메타데이터를 포함하는,
    비디오 수신 장치.
  12. 비디오 데이터를 수신하는 단계;
    상기 비디오 데이터를 디코딩하는 단계;
    상기 디코딩된 데이터를 포스트-프로세싱하는 단계; 를 포함하는,
    비디오 수신 방법.
  13. 제12항에 있어서, 상기 포스트-프로세싱하는 단계는,
    상기 디코딩된 비디오 데이터에 포함된 패킹된 픽쳐를 언패킹(unpacking)하여 텍스쳐 및 뎁스를 포함하는 픽쳐를 생성하고,
    상기 언패킹된 픽쳐로부터 타겟 뷰잉 포지션에 대한 픽쳐를 생성하는,
    비디오 수신 방법.
  14. 제12항에 있어서, 상기 포스트-프로세싱하는 단계는,
    상기 디코딩된 비디오 데이터에 포함된 픽쳐를 언패킹하여 텍스쳐 픽쳐, 뎁스 픽쳐, 덱스쳐 패치, 텍스쳐 레지듀얼을 생성하고,
    상기 언패킹된 픽쳐에 포함된 제1뷰잉 포지션의 픽쳐를 제2뷰잉 포지션에 기반하여 프레딕션하고, 상기 제2뷰잉 포지션의 패치 및 레지듀얼을 사용하여 상기 프레딕션된 픽쳐를 리컨스트럭션하여 상기 제2뷰잉 포시션의 픽쳐를 생성하고, 또는
    상기 디코딩된 비디오 데이터는 상기 포스트-프로세서를 위한 메타데이터를 포함하는,
    비디오 수신 방법.
PCT/KR2019/008122 2018-07-09 2019-07-03 비디오 송신 방법, 비디오 송신 장치, 비디오 수신 방법 및 비디오 수신 장치 WO2020013513A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/259,077 US11463671B2 (en) 2018-07-09 2019-07-03 Video transmitting method, video transmitting device, video receiving method and video receiving device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862695812P 2018-07-09 2018-07-09
US62/695,812 2018-07-09

Publications (1)

Publication Number Publication Date
WO2020013513A1 true WO2020013513A1 (ko) 2020-01-16

Family

ID=69141875

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/008122 WO2020013513A1 (ko) 2018-07-09 2019-07-03 비디오 송신 방법, 비디오 송신 장치, 비디오 수신 방법 및 비디오 수신 장치

Country Status (2)

Country Link
US (1) US11463671B2 (ko)
WO (1) WO2020013513A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150339843A1 (en) * 2012-12-28 2015-11-26 Microsoft Technology Licensing, Llc View direction determination
KR20170095035A (ko) * 2016-02-12 2017-08-22 삼성전자주식회사 360도 영상 처리 방법 및 장치
WO2017204491A1 (ko) * 2016-05-26 2017-11-30 엘지전자 주식회사 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
KR20180016461A (ko) * 2018-02-05 2018-02-14 이화여자대학교 산학협력단 결합 정보를 포함하는 영상 데이터에 대한 디코딩 방법 및 결합 정보를 포함하는 영상 데이터를 인코딩 하는 방법
KR20180040507A (ko) * 2016-10-12 2018-04-20 삼성전자주식회사 가상 현실 영상을 처리하는 방법 및 장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102450001B (zh) * 2009-05-29 2015-08-12 惠普开发有限公司 减少多投影仪***中的视点相关伪像的方法、设备和投影***
US10200708B2 (en) * 2011-11-30 2019-02-05 Qualcomm Incorporated Sequence level information for multiview video coding (MVC) compatible three-dimensional video coding (3DVC)
US10957044B2 (en) * 2017-03-22 2021-03-23 Qualcomm Incorporated Sphere pole projections for efficient compression of 360-degree video

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150339843A1 (en) * 2012-12-28 2015-11-26 Microsoft Technology Licensing, Llc View direction determination
KR20170095035A (ko) * 2016-02-12 2017-08-22 삼성전자주식회사 360도 영상 처리 방법 및 장치
WO2017204491A1 (ko) * 2016-05-26 2017-11-30 엘지전자 주식회사 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
KR20180040507A (ko) * 2016-10-12 2018-04-20 삼성전자주식회사 가상 현실 영상을 처리하는 방법 및 장치
KR20180016461A (ko) * 2018-02-05 2018-02-14 이화여자대학교 산학협력단 결합 정보를 포함하는 영상 데이터에 대한 디코딩 방법 및 결합 정보를 포함하는 영상 데이터를 인코딩 하는 방법

Also Published As

Publication number Publication date
US20210274146A1 (en) 2021-09-02
US11463671B2 (en) 2022-10-04

Similar Documents

Publication Publication Date Title
WO2019066436A1 (ko) 360 비디오 시스템에서 오버레이 처리 방법 및 그 장치
WO2020071703A1 (ko) 포인트 클라우드 데이터 전송 장치, 포인트 클라우드 데이터 전송 방법, 포인트 클라우드 데이터 수신 장치 및/또는 포인트 클라우드 데이터 수신 방법
WO2019066191A1 (ko) 스티칭 및 리프로젝션 관련 메타데이터를 이용한 6dof 비디오를 송수신하는 방법 및 그 장치
WO2020091404A1 (ko) 비디오 송신 방법, 비디오 전송 장치, 비디오 수신 방법 및 비디오 수신 장치
WO2019194434A1 (ko) 복수의 뷰포인트들에 대한 메타데이터를 송수신하는 방법 및 장치
WO2018038520A1 (ko) 전방향 비디오를 전송하는 방법, 전방향 비디오를 수신하는 방법, 전방향 비디오 전송 장치, 전방향 비디오 수신 장치
WO2018038523A1 (ko) 전방향 비디오를 전송하는 방법, 전방향 비디오를 수신하는 방법, 전방향 비디오 전송 장치, 전방향 비디오 수신 장치
WO2019198883A1 (ko) 핫스팟 및 roi 관련 메타데이터를 이용한 360도 비디오를 송수신하는 방법 및 그 장치
WO2017188714A1 (ko) 360도 비디오를 전송하는 방법, 360도 비디오를 수신하는 방법, 360도 비디오 전송 장치, 360도 비디오 수신 장치
WO2018174387A1 (ko) 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
WO2018182144A1 (ko) 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
WO2017142353A1 (ko) 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
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
WO2020027349A1 (ko) 다중 뷰포인트 기반 360 비디오 처리 방법 및 그 장치
WO2017204491A1 (ko) 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
WO2020071738A1 (en) Method for transmitting video, apparatus for transmitting video, method for receiving video, and apparatus for receiving video
WO2019151798A1 (ko) 무선 통신 시스템에서 이미지에 대한 메타데이터를 송수신하는 방법 및 장치
WO2019168304A1 (ko) 카메라 렌즈 정보를 포함한 360도 비디오를 송수신하는 방법 및 그 장치
WO2020242027A1 (ko) 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
WO2020242023A1 (ko) 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
WO2019083266A1 (ko) 피쉬아이 비디오 정보를 포함한 360도 비디오를 송수신하는 방법 및 그 장치
WO2019245302A1 (en) Method for transmitting 360-degree video, method for providing a user interface for 360-degree video, apparatus for transmitting 360-degree video, and apparatus for providing a user interface for 360-degree video
WO2018169176A1 (ko) 퀄리티 기반 360도 비디오를 송수신하는 방법 및 그 장치
WO2018131832A1 (ko) 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치

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: 19833887

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: 19833887

Country of ref document: EP

Kind code of ref document: A1