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

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

Info

Publication number
WO2020091404A1
WO2020091404A1 PCT/KR2019/014437 KR2019014437W WO2020091404A1 WO 2020091404 A1 WO2020091404 A1 WO 2020091404A1 KR 2019014437 W KR2019014437 W KR 2019014437W WO 2020091404 A1 WO2020091404 A1 WO 2020091404A1
Authority
WO
WIPO (PCT)
Prior art keywords
view
sparse
picture
pictures
video
Prior art date
Application number
PCT/KR2019/014437
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/287,034 priority Critical patent/US11394946B2/en
Publication of WO2020091404A1 publication Critical patent/WO2020091404A1/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Definitions

  • Embodiments of the present specification are a video transmitting method, a video transmitting device, a video receiving method and a video receiving device (A method for transmitting a video, an apparatus for transmitting a video, a method for receiving a video and an apparatus for receiving a video) It is about.
  • the VR (Virtual Reality) system gives the user a sense of being in an electronically projected environment.
  • the system for providing VR can be further improved to provide higher quality images and spatial sound.
  • the VR system can allow users to interactively consume VR content.
  • 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 transmission / reception networks such as network flexibility in consideration of mobile reception devices, and methods for efficient reproduction and signaling should be proposed.
  • a video transmission method includes: removing inter-view redundancy of pictures for a plurality of viewing positions; Packing pictures with inter-view redundancy removed; Encoding packed pictures and signaling information; It may include.
  • the video transmission method includes: generating a center view picture and center view generation information based on source view pictures included in pictures for a plurality of viewing positions; And synthesizing the intermediate view picture based on the source view pictures, and synthesizing the intermediate view picture generate pre-generation information and view synthesis recommendation information. ; It may further include. Also, the step of removing inter-view redundancy may generate sparse view pictures based on at least two of source view pictures, intermediate view pictures, and center view pictures. Also, the step of removing inter-view redundancy may further generate reference view pictures, reference view information, and regeneration information.
  • a video transmission method includes: generating a temporarily regenerated view picture based on a first sparse view picture and a center view picture of sparse view pictures; And pruning the source view estimated from the temporarily regenerated view picture and the center view picture, the pruning step generating a second sparse view picture; And may further include encoding the second sparse view picture.
  • the video transmission method includes decoding and unpacking packed and encoded pictures, and the decoded and unpacked pictures are temporarily decoded common reference view picture and temporarily decoded sparse view picture. (temporally decoded sparse view picture); Generating a regenerated view based on the temporarily decoded common reference view picture and the temporarily decoded sparse view picture; And pruning the source view picture guessed from the regenerated view and the temporarily decoded common reference view picture, the pruning step generating an error robust sparse view picture; It may include.
  • the step of packing may further pack the error robust sparse view picture.
  • the step of removing inter-view redundancy includes: first pruning a first source view picture associated with a first viewing position based on a center view picture; Create a first sparse view picture; Second pruning the first source view picture based on a second source view picture associated with a second viewing position different from the first viewing position, and the second pruning generates a second sparse view picture; Selecting one of the first sparse view picture and the second sparse view picture; It may include.
  • the encoding may further encode a selected one of the first sparse view picture and the second sparse view picture.
  • the video transmission method may refer to a reference sparse view picture related to the first viewing position included in the sparse view pictures, based on the sparse view picture associated with the second viewing position included in the sparse view pictures. Pruning the sparse view picture, the second viewing position is a different viewing position from the first viewing position, and pruning the reference sparse view picture is pruned sparse view picture); And detecting residual from the pruned sparse view picture. It may include.
  • the pruned sparse view picture may be packed in response to the presence of residuals.
  • a video receiving method includes decoding a bitstream of a video based on a viewing position and viewport information; Unpacking pictures and signaling information in the decoded bitstream, the unpacked bitstream including signaling information; View regenerating the unpacked pictures; And, view synthesizing the view regenerated pictures; It may include.
  • the signaling information includes viewing position group information
  • the viewing position group information includes center view generation information, pre-generation information, and view synthesis records. Includes view synthesis recommendation information, reference view information, and regeneration information,
  • the video receiving method may include generating a center view picture based on reference view pictures and center view generation information included in the unpacked pictures.
  • the step of regenerating the view is a regenerated view based on reference view pictures, sparse view pictures in unpacked pictures, center view picture, reference view information, and regeneration information.
  • the step of synthesizing the view may generate a synthesized view based on the regenerated view, the center view picture, the reference view pictures, the pre-generation information, and the view synthesis recording information.
  • the step of regenerating the video view may include generating a first regenerated view associated with the first viewing position, based on the first sparse view picture associated with the first viewing position included in the center view picture and the sparse view pictures. Generating; And, based on the first regenerated picture and the center view picture, generating a second regenerated picture associated with the second viewing position; You can do
  • the second viewing position may be a viewing position different from the first viewing position.
  • the step of regenerating the view may generate a temporarily generated view associated with the first viewing position, based on the first viewing position associated with the center viewing picture and the first viewing position included in the sparse view pictures.
  • the step of regenerating the view includes regenerating the second sparse view picture from the first sparse view picture, and includes a pruned sparse view picture in the sparse view pictures.
  • Regenerating the second sparse view picture generates a second sparse view picture based on the pruned sparse view picture; And generating a first regenerated view based on the regenerated second sparse view picture and the center view picture.
  • the second viewing position may be different from the first viewing position.
  • the video transmission device performs an adaptive inter-view redundancy removal operation to adjust the amount of data and the amount of computation in response to the transmission / reception environment of the transmission device and the reception device by selecting a sparse view picture for one viewing position. It can be done. Therefore, the transmission device according to the embodiments can quickly respond to the transmission / reception environment by selecting a sparse view in consideration of the transmission environment of the transmission device and the reception environment of the reception device.
  • the video transmission apparatus can efficiently provide a plurality of multi-spherical images representing different viewing positions of the viewpoint.
  • the video transmission apparatus may increase unnecessary data transmission efficiency of the transmission apparatus according to the embodiments by further removing unnecessary or redundant information by the sparse view pruning unit and the residual detection unit.
  • the video transmission device determines the amount of errors of various sparse view pictures for one viewing position and selects pictures with less errors, so that it is accurate and real to the viewers using the receiving device. It can provide a virtual reality environment such as.
  • the video transmission apparatus may reduce the number of sparse view pictures to be transmitted and reduce the amount of data to be transmitted.
  • the video receiving apparatus according to the embodiments can reduce the number of sparse view pictures to be received, thereby reducing the burden on the receiving end.
  • the encoder end according to the embodiments may reduce the number of sparse view pictures to be transmitted and reduce the amount of data to be transmitted.
  • the video transmission apparatus provides an effect that a decoder stage can generate an accurate view of a corresponding viewing position by detecting and pruning an error between a plurality of sparse views again.
  • the decoder stage according to the embodiments may increase bit efficiency by generating a virtual space that is realistic even when receiving a small amount of data.
  • the video receiving apparatus can accurately and efficiently generate regenerated views.
  • the video receiving apparatus can regenerate and synthesize views for different viewing positions with a small amount of data due to this configuration, thereby improving transmission and reception efficiency.
  • FIG. 1 is a diagram illustrating an overall architecture for providing 360-degree video according to embodiments.
  • FIG. 2 is a diagram illustrating a 360-degree video transmission apparatus according to an aspect according to embodiments.
  • FIG. 3 is a diagram illustrating a 360-degree video receiving apparatus according to embodiments.
  • FIG. 4 is a diagram illustrating a 360-degree video transmitting device / 360-degree video receiving device according to embodiments.
  • FIG. 5 is a diagram illustrating the concept of an aircraft principal axis for explaining a 3D space according to embodiments.
  • FIG. 6 is a diagram illustrating projection schemes according to embodiments.
  • FIG. 7 is a diagram illustrating a tile according to embodiments.
  • FIG. 8 is a diagram illustrating metadata related to 360-degree video according to embodiments.
  • FIG 9 shows a view point and a viewing position that are additionally defined in a 3DoF + VR system.
  • FIG. 10 shows a method of implementing a 360-degree video signal processing based on a 3DoF + system and a related transmission / reception device.
  • FIG. 11 shows the structure of a 3DoF + end-to-end system.
  • FLUS Framework for Live Uplink Streaming
  • 16 shows the type of media according to the user's movement.
  • 17 shows the overall architecture for providing 6DoF video.
  • FIG. 18 shows a configuration of a transmission device for providing 6DoF video service.
  • Figure 21 shows the 6 DoF space.
  • FIG. 22 shows an example of a structure capable of interworking with a video transmission / reception method / device according to embodiments.
  • FIG. 23 shows a block diagram of an encoder pre-processing module according to embodiments.
  • FIG. 24 shows a block diagram of a decoder post-processing module according to embodiments.
  • 25 shows a block diagram of encoder pre-processing modules according to embodiments.
  • 26 shows a block diagram of a decoder post-processing modules according to embodiments.
  • FIG. 27 shows a block diagram of encoder pre-processing modules according to embodiments.
  • FIG. 28 shows a block diagram of a decoder post-processing modules according to embodiments.
  • 29 shows a software platform of a video receiving device according to embodiments and / or a video transmitting device according to embodiments.
  • FIG. 30 illustrates an operation of a pruning unit of an encoder pre-processing unit according to embodiments.
  • 31 illustrates view generation of a decoder post-processing unit according to embodiments.
  • FIG 32 shows an encoder pre-processing scheme according to embodiments using a pruning unit and a sparse view selection unit according to the embodiments.
  • FIG. 33 illustrates performing view regeneration using a regenerated view according to embodiments as a reference view.
  • 34 illustrates an encoder pre-processing unit according to embodiments performing pruning and sparse view pruning according to embodiments.
  • 35 illustrates a decoder post processing scheme according to embodiments using view regeneration and / or sparse view regeneration according to embodiments.
  • FIG. 36 shows a decoder post-processing scheme according to embodiments using view regeneration and / or sparse view regeneration according to embodiments.
  • FIG. 37 illustrates a decoder post-processing scheme according to embodiments using view regeneration and / or sparse view regeneration according to embodiments.
  • 38 illustrates a decoder post-processing scheme according to embodiments using view regeneration and / or sparse view regeneration according to embodiments.
  • 39 shows a syntax of a sparse view regeneration information SEI message according to embodiments.
  • FIG. 40 shows the syntax of a viewing position group information SEI message according to embodiments.
  • 41 shows a block diagram of encoder pre-processing modules according to embodiments.
  • 43 is a block diagram of a decoder post-processing module according to embodiments.
  • 44 shows a block diagram of a decoder decoder post-processing modules according to embodiments.
  • 45 shows an operation flow of a decoder stage according to embodiments.
  • 46 shows a pruning scheme of an encoder pre-processing module according to embodiments.
  • 47 illustrates an operation of view regeneration according to embodiments of a decoder post-processing module according to embodiments.
  • FIG. 48 shows an embodiment of a pruning scheme of an encoder pre-processing module according to embodiments.
  • 49 illustrates view regeneration according to embodiments of decoder post-processing modules according to embodiments.
  • 50 illustrates view regeneration according to embodiments of a decoder post-processing module according to embodiments.
  • 51 illustrates view regeneration according to embodiments of decoder post-processing modules according to embodiments.
  • FIG. 52 shows an embodiment of a pruning scheme of an encoder pre-processing modules according to embodiments.
  • FIG. 53 illustrates view regeneration according to embodiments of a decoder post-processing module according to embodiments.
  • FIG. 54 shows an embodiment of a pruning scheme of an encoder pre-processing modules according to embodiments.
  • 55 illustrates view regeneration according to embodiments of a decoder post-processing module according to embodiments.
  • 57 illustrates view regeneration according to embodiments of decoder post-processing modules according to embodiments.
  • FIG. 58 illustrates view regeneration according to embodiments of decoder post-processing modules according to embodiments.
  • FIG. 59 shows view regeneration according to embodiments of a decoder post-processing module according to embodiments.
  • 60 is a block diagram of a video transmission apparatus according to embodiments.
  • 61 shows a video receiving apparatus according to embodiments.
  • FIG. 62 is a flowchart of a video transmission method according to embodiments.
  • 63 is a flowchart of a video receiving method according to embodiments.
  • FIG. 1 is a diagram illustrating an overall architecture for providing 360-degree video according to embodiments.
  • the embodiments of the present specification propose a method of providing 360-degree content in order to provide VR (Virtual Reality) to a user.
  • VR may refer to a technology or environment for replicating a real or virtual environment.
  • VR artificially provides the user with a sensuous experience, which allows the user to experience the same experience as being in an electronically projected environment.
  • the 360-degree content refers to overall content for implementing and providing VR, and may include 360-degree video and / or 360-degree audio.
  • the 360-degree video may refer to video or image content necessary to provide VR, and simultaneously captured or played in all directions (360-degree).
  • the 360-degree video may mean a video or image displayed on various forms of 3D space according to a 3D model, and for example, the 360-degree video may be displayed on a spherical surface.
  • 360-degree audio is also audio content for providing VR, and may mean spatial audio content, which can be recognized as being located in a specific 3D space.
  • the 360-degree content can be generated, processed, and transmitted to users, and users can consume the VR experience using the 360-degree content.
  • 360-degree content / video / image / audio and the like may be used as 360 content / video / image / audio, etc. in which a unit (degree) is omitted, or may be used as VR content / video / image / audio.
  • embodiments of the present specification propose a method of effectively providing 360 video.
  • the 360 video can be captured through one or more cameras first.
  • the captured 360 video is transmitted through a series of processes, and the receiving side can process the received data back to the original 360 video and render it. This allows 360 video to be provided to the user.
  • the entire process for providing 360 video may include a capture process, a preparation process, a transmission process, a processing process, a rendering process, and / or a feedback process.
  • the capturing process may refer to a process of capturing an image or video for each of a plurality of viewpoints through one or more cameras.
  • Image / video data such as (t1010) shown by the capture process may be generated.
  • Each plane of (t1010) illustrated may mean an image / video for each viewpoint.
  • the plurality of captured images / videos may be referred to as raw data.
  • metadata related to capture may be generated.
  • a special camera for VR can be used for this capture.
  • capture through a real camera may not be performed.
  • the capturing process may be replaced by simply generating the relevant data.
  • the preparation process may be a process of processing captured image / video and metadata generated in 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 the preparation process.
  • each image / video may go through a stitching process.
  • the stitching process may be a process of making a panoramic image / video or a spherical image / video by connecting each captured 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 referred to as a 2D image frame depending on the context. Projecting with a 2D image can also be expressed as mapping to a 2D image.
  • the projected image / video data may be in the form of a 2D image as illustrated (t1020).
  • Video data projected on a 2D image may be subjected to a region-wise packing to increase video coding efficiency and the like.
  • Packing by region may mean a process of dividing and processing video data projected on a 2D image for each region.
  • the region may mean an area in which a 2D image in which 360 video data is projected is divided.
  • these regions may be divided into equally divided 2D images or arbitrarily divided.
  • regions may be classified 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 a 2D image to increase video coding efficiency. For example, by rotating regions so that specific sides of regions are positioned close to each other, efficiency in coding can be increased.
  • the process may include increasing or decreasing the resolution for a specific region in order to differentiate resolution for each region on the 360 video. For example, regions corresponding to a region that is relatively more important on 360 video may have higher resolution than other regions.
  • Video data projected on a 2D image or packed video data by region is encoded through 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, etc. may be generated.
  • metadata regarding an initial viewpoint of a video data projected on a 2D image or a Region of Interest (ROI) may be generated.
  • the transmission process may be a process of processing and transmitting image / video data and metadata that have undergone a preparation process. For transmission, processing according to any transmission protocol may be performed. Data that has been processed for transmission may be transmitted 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 process may mean a process of decoding the received data and re-projecting the projected image / video data onto a 3D model.
  • image / video data projected on 2D images may be re-projected onto 3D space.
  • this process can also be called mapping and projection.
  • the 3D space to be mapped may have a different shape according to the 3D model.
  • a 3D model may have a sphere, cube, cylinder, or 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 may be enlarged through upscaling of samples in the upscaling process. If necessary, the operation of reducing the size through downscaling may be performed.
  • the rendering process may refer to a process of rendering and displaying re-projected image / video data in 3D space.
  • re-projection and rendering can be combined 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 a re-projection is performed on a spherical 3D model.
  • the user can view some areas of the rendered image / video through a VR display or the like. At this time, the area viewed by the user may be in the form of (t1040).
  • the feedback process may refer to a process of transmitting various feedback information that can be obtained in the display process to the transmitting side. Through the feedback process, interactivity in 360 video consumption may be provided. According to an embodiment, in the feedback process, head orientation information, viewport information indicating an area currently viewed by a user, and the like may be transmitted to the transmitting side. Depending on the embodiment, the user may interact with those implemented on the VR environment, in which case information related to the interaction may be delivered to the sending side or the service provider side in the feedback process. Depending on the embodiment, the feedback process may not be performed.
  • the head orientation information may mean information about a user's head position, angle, and movement. Based on this information, information about an area that a user is currently viewing within a 360 video, that is, viewport information may be calculated.
  • the viewport information may be information about an area currently viewed by a user in 360 video. Through this, gaze analysis may be performed to check how the user consumes 360 video, which area of the 360 video, and how much gaze. Gaze analysis may be performed at the receiving side and transmitted to the transmitting side through a feedback channel.
  • a device such as a VR display can extract a viewport area based on the user's head position / orientation, and a vertical or horizontal FOV supported by the device.
  • the feedback information described above may not only be transmitted to the transmitting side, but may be consumed at the receiving side. That is, the decoding, re-projection, and rendering processes of the receiver may be performed using the feedback information described above. For example, only 360 videos for an area currently viewed by a user may be preferentially decoded and rendered using head orientation information and / or viewport information.
  • a viewport or a viewport area may mean an area that a user is viewing in 360 video.
  • a viewpoint is a point that a user is viewing in a 360 video, and may mean a center point of the viewport area. That is, the viewport is an area centered on a viewpoint, and a size shape occupied by the area may be determined by a field of view (FOV), which will be described later.
  • FOV field of view
  • 360 video data image / video data that undergoes a series of processes of capture / projection / encoding / transfer / decoding / re-projection / rendering may be referred to as 360 video data.
  • the term 360 video data may also be used as a concept including metadata or signaling information related to these image / video data.
  • FIG. 2 is a diagram illustrating a 360-degree video transmission apparatus according to an aspect of the present invention.
  • embodiments of the present specification may relate to a 360 video transmission device.
  • the 360 video transmission apparatus according to the embodiments may perform operations related to the above-described preparation process or transmission process.
  • the 360 video transmission apparatus according to the embodiments includes a data input unit, a stitcher, a projection processing unit, a region-specific packing processing unit (not shown), a metadata processing unit, a (transmission-side) feedback processing unit, a data encoder, and an encapsulation processing unit.
  • the transmission processing unit and / or the transmission unit may be included as internal / external elements.
  • the data input unit may receive captured images / videos for each viewpoint.
  • the image / videos for each view may be images / videos captured by one or more cameras.
  • the data input unit may receive metadata generated during the capture process.
  • the data input unit may transmit the input image / video for each view point to the stitcher, and transmit metadata of the capture process to the signaling processing unit.
  • the stitcher may perform stitching on captured images / videos by viewpoint.
  • the stitcher may deliver the stitched 360 video data to the projection processing unit. If necessary, the stitcher can receive necessary metadata from the metadata processing unit and use it for stitching.
  • the stitcher may transmit metadata generated in the stitching process to the metadata processing unit. In the metadata of the stitching process, there may be information such as whether stitching has been performed, stitching type, and the like.
  • the projection processing unit may project stitched 360 video data onto a 2D image.
  • the projection processing unit may perform projection according to various schemes, which will be described later.
  • the projection processing unit may perform mapping in consideration of a corresponding depth of 360 video data for each viewpoint. If necessary, the projection processing unit may receive metadata required for projection from the metadata processing unit and use it for projection work.
  • the projection processing unit may transmit metadata generated in the projection process to the metadata processing unit.
  • the metadata of the projection processing unit may include a type of projection scheme and the like.
  • the region-specific packing processing unit may perform the aforementioned region-specific packing process. That is, the packing processing unit for each region may perform processing such as dividing the projected 360 video data into regions, rotating and rearranging each region, or changing the resolution of each region. As described above, the packing process for each region is an optional process. When the packing for each region is not performed, the packing process for each region may be omitted. If necessary, the region-specific packing processing unit may receive metadata required for region-specific packing from the metadata processing unit and use the region-specific packing operation. The region-specific packing processing unit may transmit metadata generated in the region-specific packing process to the metadata processing unit.
  • the region-specific packing processing unit metadata may include a rotation degree and a size of each region.
  • the above-described stitcher, projection processing unit and / or region-specific packing processing unit may be performed in one hardware component according to an embodiment.
  • the metadata processing unit may process metadata that may occur in the capture process, stitching process, projection process, region-specific packing process, encoding process, encapsulation process, and / or transmission process.
  • the metadata processing unit may generate 360 video-related metadata using these metadata.
  • the metadata processing unit 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 processing unit may transmit the acquired or generated metadata to internal elements of the 360 video transmission device as needed.
  • the metadata processing unit may transmit the 360 video-related metadata to the data encoder, the encapsulation processing unit, and / or the transmission processing unit so that the metadata can be transmitted to the receiver.
  • the data encoder can encode 360 video data projected onto a 2D image and / or packed regional video. 360 video data can be encoded in a variety of formats.
  • the encapsulation processing unit may encapsulate the encoded 360 video data and / or 360 video related metadata in the form of a file.
  • the 360 video-related metadata may be received from the metadata processing unit described above.
  • 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 various levels of boxes on the ISOBMFF file format, or as data in separate tracks in 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 a file format.
  • the transmission processing unit may process 360 video data according to any transmission protocol.
  • the processing for transmission may include processing for delivery through a broadcast network, and processing for delivery through a broadband.
  • the transmission processing unit may receive not only 360 video data, but also metadata related to 360 video from the metadata processing unit, and may apply processing for transmission to the 360 video data.
  • the transmitting unit may transmit the processed 360 video data and / or metadata related to 360 video through a broadcast network and / or broadband.
  • the transmission unit may include an element for transmission over a broadcast network and / or an element for transmission over broadband.
  • the 360 video transmission device may further include a data storage unit (not shown) as an internal / external element.
  • the data storage unit may store the encoded 360 video data and / or 360 video-related metadata before transmitting it to the transmission processing unit.
  • the format in which these data are stored may be a file format such as ISOBMFF.
  • the data storage unit may not be necessary, but when transmitting through on-demand, NRT (Non Real Time), broadband, etc., encapsulated 360 data is stored in the data storage unit for a certain period of time. It can also be transmitted.
  • the 360 video transmission device may further include a (transmission-side) feedback processor and / or a network interface (not shown) as internal / external elements.
  • the network interface may receive feedback information from the 360 video receiving apparatus according to the embodiments, and transmit the feedback information to the transmitting side feedback processing unit.
  • the transmitting-side feedback processing unit may transmit feedback information to the stitcher, projection processing unit, region-specific packing processing unit, data encoder, encapsulation processing unit, metadata processing unit, and / or transmission processing unit.
  • the feedback information may be transmitted once to the metadata processing unit, and then to each internal element again. Internal elements that receive the feedback information may reflect the feedback information in subsequent processing of 360 video data.
  • the region-specific packing processing unit may rotate each region to map on a 2D image. At this time, each region may be rotated at different directions and at different angles, and then mapped on the 2D image.
  • the rotation of the region may be performed by taking into account the portion where the 360 video data was contiguous before projection on the spherical surface, the stitched portion, and the like.
  • Information about the rotation of the region that is, the rotation direction, angle, etc., may be signaled by metadata related to 360 video.
  • the data encoder is configured for each region. Encoding can be performed differently.
  • the data encoder may perform encoding in a specific region with high quality and in other regions with low quality.
  • the transmitting-side feedback processing unit may transmit feedback information received from the 360 video receiving device to the data encoder, so that the data encoder uses a region-specific differential encoding method.
  • the feedback processing unit of the transmitting side may transmit the viewport information received from the receiving side to the data encoder.
  • the data encoder may perform encoding for regions including an area indicated by viewport information with higher quality (UHD, etc.) than other regions.
  • 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, so that the robustness of data transmitted for each region may be different.
  • the transmission-side feedback processing unit may transmit the feedback information received from the 360 video receiving device to the transmission processing unit, so that the transmission processing unit performs differential transmission processing for each region.
  • the transmission-side feedback processing unit may transmit viewport information received from the reception side to the transmission processing unit.
  • the transmission processing unit may perform transmission processing for regions including a region indicated by the corresponding viewport information to have higher robustness than other regions.
  • the internal / external elements of the 360 video transmission device may be hardware elements implemented in hardware. Depending on the embodiment, internal / external elements may be changed, omitted, or replaced with other elements. Depending on the embodiment, additional elements may be added to the 360 video transmission device.
  • FIG. 3 is a diagram illustrating a 360-degree video receiving apparatus according to another aspect of the present invention.
  • embodiments herein may relate to a 360 video receiving device.
  • the 360 video receiving apparatus according to the embodiments may perform operations related to the above-described processing process and / or rendering process.
  • the 360 video receiving apparatus according to the embodiments includes a receiving unit, a receiving processing unit, a decapsulation processing unit, a data decoder, a metadata parser, a (receiving side) feedback processing unit, a re-projection processing unit and / or a renderer as internal / external elements. Can be.
  • the reception unit may receive 360 video data transmitted by the 360 video transmission device according to the embodiments. Depending on the channel being transmitted, the receiver may receive 360 video data through a broadcast network or 360 video data through a broadband.
  • the reception processing unit may perform processing according to a transmission protocol on the received 360 video data.
  • the reception processing unit may perform the reverse process of the above-described transmission processing unit so that the transmission side corresponds to the processing for transmission.
  • the receiving processing unit may deliver the obtained 360 video data to the decapsulation processing unit, and transmit the obtained 360 video-related metadata to the metadata parser.
  • the 360 video-related metadata obtained by the reception processing unit may be in the form of a signaling table.
  • the decapsulation processing unit may decapsulate 360 video data in a file format received from the reception processing unit.
  • 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 a data decoder, and the obtained 360 video related metadata may be transmitted to a metadata parser.
  • the metadata related to 360 video acquired by the decapsulation processor may be in the form of a box or track in a file format. If necessary, the decapsulation processing unit may receive metadata required for decapsulation from a metadata parser.
  • the data decoder may decode 360 video data.
  • the data decoder may receive metadata required for decoding from the metadata parser.
  • the metadata related to 360 video obtained in the data decoding process may be transmitted to a metadata parser.
  • the metadata parser can parse / decode 360 video-related metadata.
  • the metadata parser may transfer the obtained metadata to a data decapsulation processing unit, a data decoder, a re-projection processing unit, and / or a renderer.
  • the re-projection processing unit may perform re-projection on the decoded 360 video data.
  • the re-projection processing unit may re-project 360 video data into 3D space.
  • the 3D space may have a different shape depending on the 3D model used.
  • the re-projection processing unit may receive metadata required for re-projection from the metadata parser.
  • the re-projection processing unit may receive information on the type of the 3D model used and its detailed information from a metadata parser.
  • the re-projection processing unit may re-project only 360 video data corresponding to a specific area in 3D space into 3D space using metadata required for re-projection.
  • the renderer can render the re-projected 360 video data. As described above, it may be expressed that the 360 video data is rendered on the 3D space.
  • the re-projection processing unit and the renderer are integrated, so that all of these processes can be performed in the renderer.
  • the renderer may render only the part the user is viewing according to the user's viewpoint information.
  • the user can view a partial area of the rendered 360 video through a VR display or the like.
  • the VR display is a device that plays 360 video, may be included in a 360 video receiving device (tethered), or may be connected to a 360 video receiving device as a separate device (un-tethered).
  • the 360 video receiving apparatus may further include a (receiving side) feedback processor and / or a network interface (not shown) as internal / external elements.
  • the receiver feedback processing unit may obtain and process feedback information from a renderer, a re-projection processing unit, a data decoder, a decapsulation processing unit, and / or a VR display.
  • the feedback information may include viewport information, head orientation information, gaze information, and the like.
  • the network interface may receive feedback information from the feedback processing unit on the receiving side and transmit it to the 360 video transmission device.
  • the receiving-side feedback processing unit may transmit the obtained feedback information to internal elements of the 360-video receiving device so that it can be reflected in a process such as rendering.
  • the receiving-side feedback processing unit may transmit feedback information to a renderer, a re-projection processing unit, a data decoder and / or a decapsulation processing unit.
  • the renderer may preferentially render an area viewed by a user using feedback information.
  • the decapsulation processing unit, the data decoder, etc. may preferentially decapsulate and decode the area viewed by the user or the area to be viewed.
  • the internal / external elements of the 360 video receiving apparatus may be hardware elements implemented in hardware. Depending on the embodiment, internal / external elements may be changed, omitted, or replaced with other elements. Depending on the embodiment, additional elements may be added to the 360 video receiving device.
  • 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 videos according to the embodiments may be performed by the 360 video transmission / reception devices according to the above-described embodiments or embodiments of the device, respectively.
  • each embodiment of the 360 video transmission / reception device may be combined with each other.
  • the embodiments of the projection processing unit and the embodiments of the data encoder can be combined with each other to produce as many embodiments of the 360 video transmission device as the number of cases. Such combined embodiments are also included in the scope of the present invention.
  • FIG. 4 is a diagram illustrating a 360-degree video transmitting device / 360-degree video receiving device according to another embodiment of the present invention.
  • 360 content may be provided by an architecture as shown in (a).
  • the 360 content may be provided in the form of a file, or may be provided in the form of a segment-based download or streaming service such as DASH.
  • the 360 content may be referred to as VR content.
  • 360 video data and / or 360 audio data may be acquired (Acquisition).
  • the 360 audio data may be subjected to an audio pre-processing process and an audio encoding process.
  • audio-related metadata may be generated, and encoded audio and audio-related metadata may be processed for transmission (file / segment encapsulation).
  • 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 360 video data (Visual stitching). This process may be omitted according to an embodiment and may be performed at the receiving side.
  • the projection processing unit of the 360 video transmission device may project 360 video data on a 2D image (Projection and mapping (packing)).
  • This stitching and projection process is specifically shown in (b).
  • stitching and projection may be performed thereon.
  • stitched 360 video data may be projected onto a 3D space, and the projected 360 video data may be viewed as being arranged on a 2D image.
  • this process may be expressed as projecting 360 video data onto a 2D image.
  • the 3D space may be a sphere or a cube. This 3D space may be the same as the 3D space used for re-projection at the receiving side.
  • the 2D image may also be called a projected frame (C).
  • Region-wise packing may be selectively performed on this 2D image.
  • regions on a 2D image may be mapped onto a packed frame (D) by indicating the location, shape, and size of each region.
  • the projected frame may be the same as the packed frame. 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 on a 2D image. Depending on the design, 360 video data may be directly converted into packed frames without intermediate processing.
  • the projected 360 video data may be image encoded to 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 processing unit may process the encoded 360 video data into segments. Segments may be included in individual tracks for DASH based transmission.
  • 360 video related metadata can be generated as described above.
  • This metadata can be delivered as part of a video stream or file format.
  • This metadata can also be used in processes such as encoding, file format encapsulation, and processing for transmission.
  • the 360 audio / video data is processed for transmission according to a transmission protocol, and then transmitted.
  • the above-described 360 video receiving device may receive it through a broadcast network or broadband.
  • the VR service platform may correspond to one embodiment of the above-described 360 video receiving device.
  • the speaker / headphones Lidspeakers / headphones
  • Display Display
  • head / eye tracking component Head / eye tracking
  • the 360 video receiving apparatus may include all of them.
  • the head / eye tracking component may correspond to the aforementioned feedback processing unit.
  • the 360 video receiving apparatus may perform processing (File / segment decapsulation) for receiving 360 audio / video data.
  • the 360 audio data may be provided to a user through a speaker / headphone through audio decoding and audio rendering processes.
  • the 360 video data may be provided to a user through a display through an image decoding, video decoding, and rendering process.
  • the display may be a display supporting VR or a general display.
  • the rendering process may be specifically viewed as 360 video data being re-projected onto a 3D space, and the re-projected 360 video data being rendered. It can also be expressed that 360 video data is rendered in 3D space.
  • the head / eye tracking component may acquire and process a user's head orientation information, gaze information, viewport information, and the like. This was described above.
  • the receiving side there may be a VR application communicating with the above-described receiving-side processes.
  • FIG. 5 is a view showing the concept of an aircraft main axis (Aircraft Principal Axes) for explaining the 3D space of the present invention.
  • the concept of the main axis of the airplane can be used to express a specific point, position, direction, spacing, area, and the like in 3D space.
  • a 3D space is described before or after re-projection, and an airplane headstock concept may be used to perform signaling thereon.
  • the X, Y, Z axis concept or a method using a spherical coordinate system may be used.
  • the plane can rotate freely in three dimensions.
  • the three-dimensional axes are called a pitch axis, a yaw axis, and a roll axis, respectively.
  • pitch axis a pitch axis
  • yaw axis a yaw axis
  • roll axis a yaw axis
  • the pitch axis may mean an axis that is a reference for a direction in which the front nose of the airplane rotates up / down.
  • the pitch axis may mean an axis extending from the wing of the airplane to the wing.
  • the yaw axis may mean an axis that serves as a reference for a direction in which the front nose of the airplane rotates left / right.
  • the yaw axis may mean an axis extending from the top to the bottom of the airplane.
  • the roll axis is an axis from the nose of the airplane to the tail in the concept of the main axis of the airplane, and rotation in the roll direction may mean rotation based on 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 stitched 360 video data onto a 2D image.
  • Various projection schemes can be used in this process.
  • the projection processing unit may perform projection using a Cubic Projection scheme. For example, stitched 360 video data may be displayed on a spherical surface.
  • the projection processing unit may divide the 360 video data into cubes (cubes) to project on a 2D image.
  • 360 video data on a spherical face corresponds to each face of the cube, and can be projected on the 2D image as (a) left or (a) right.
  • the projection processing unit may perform projection using a cylindrical projection scheme.
  • the projection processing unit may divide the 360 video data into a cylinder shape and project it on a 2D image.
  • the 360 video data on the spherical surface corresponds to the side, top, and bottom of the cylinder, respectively, and can be projected on the 2D image as (b) left or (b) right.
  • the projection processing unit may perform projection using a pyramid projection scheme.
  • the projection processing unit may view the 360 video data in a pyramid shape and divide each surface to project on a 2D image.
  • the 360 video data on the spherical surface corresponds to the front side of the pyramid and the four sides of the pyramid (Left top, Left bottom, Right top, Right bottom), respectively. c) It can be projected as shown on the right.
  • the projection processing unit may perform projection using an equirectangular projection scheme, a panoramic projection scheme, or the like, in addition to the above-described schemes.
  • a region may mean a region in which 2D images projected with 360 video data are divided. These regions do not have to match each face on the projected 2D image according to the projection scheme. However, according to an embodiment, regions may be divided so that each face on the projected 2D image corresponds to a region, so that region-specific packing may be performed. Depending on the embodiment, a plurality of faces may correspond to one region, or regions may be divided so that one face corresponds to a plurality of regions. In this case, the region may vary depending on the projection scheme. For example, in (a), each face of the cube (top, bottom, front, left, right, back) may be a region. In (b), the side, top, and bottom of the cylinder may each be regions. In (c), the pyramid's front and four-way sides (Left top, Left bottom, Right top, Right bottom) may each be a region.
  • FIG. 7 is a diagram illustrating a tile according to an embodiment of the present invention.
  • 360 video data projected on a 2D image or 360 video data performed up to region-specific packing may be divided into one or more tiles.
  • the illustrated (a) shows a form in which one 2D image is divided into 16 tiles.
  • the 2D image may be the aforementioned projected frame or packed frame.
  • the data encoder may independently encode each tile.
  • the above-described region-specific packing and tiling may be divided.
  • the above-mentioned region-specific packing may mean processing 360 video data projected on a 2D image into regions to improve coding efficiency or to adjust resolution.
  • the tiling may mean that the data encoder divides the projected frame or the packed frame into sections called tiles, and performs encoding independently for each tile.
  • 360 video is provided, the user does not consume all parts of the 360 video simultaneously.
  • the tiling can make it possible to transmit or consume only tiles corresponding to an important part or a certain part, such as a viewport currently viewed by a user, on a limited bandwidth. Through tiling, the limited bandwidth can be utilized more efficiently, and the receiving side can also reduce the computational load compared to processing all 360 video data at once.
  • Regions and tiles are distinct, so the two areas need not be the same. However, according to embodiments, regions and tiles may refer to the same area. Depending on the embodiment, packing by region is performed according to a tile, so that the region and the tile may be the same. Also, according to an embodiment, when each surface and region according to the projection scheme are the same, each surface, 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, or a tile region.
  • ROI may mean an area of interest of users, as suggested by the 360 content provider.
  • a 360 content provider may view a certain area as users' interest, and may take into account this and produce a 360 video.
  • the ROI may correspond to an area in which important content is reproduced on the content of 360 video.
  • the reception-side feedback processing unit may extract and collect viewport information and transmit it to the transmission-side feedback processing unit.
  • viewport information can be transferred using both network interfaces.
  • a viewport t6010 is displayed.
  • the viewport can span 9 tiles on a 2D image.
  • the 360 video transmission device may further include a tiling system.
  • the tiling system may be located after the data encoder ((b) shown), may be included in the above-described data encoder or transmission processing unit, or may be included in the 360 video transmission device as a separate internal / external element. .
  • the tiling system may receive viewport information from the feedback processing unit of the transmitting side.
  • the tiling system may select and transmit only the tile including the viewport area. Of the total of 16 tiles in the 2D image of (a) shown, only 9 tiles including the viewport area t6010 may be transmitted.
  • the tiling system may transmit tiles in a unicast manner over broadband. This is because the viewport area is different for each user.
  • the transmitting-side feedback processing unit may transmit viewport information to the data encoder.
  • the data encoder may perform encoding on tiles including the viewport region with higher quality than other tiles.
  • the transmission-side feedback processing unit may transmit viewport information to the metadata processing unit.
  • the metadata processing unit may transmit metadata related to the viewport area to each internal element of the 360 video transmission device, or may include it in the 360 video related metadata.
  • the above-described embodiments related to the viewport area may be applied in a similar manner to specific areas other than the viewport area. For example, through the gaze analysis described above, it is also determined that the area that the user is mainly interested in, the ROI area, the area that is played first when the user touches 360 video through the VR display (initial view, Initial Viewpoint), etc. , In the same manner as the above-described viewport area, processes may be performed.
  • the transmission processing unit may perform processing for transmission differently for each tile.
  • the transmission processing unit may apply different transmission parameters (modulation order, code rate, etc.) for each tile, so that the robustness of data transmitted for each tile may be different.
  • the transmitting-side feedback processing unit may transmit the feedback information received from the 360 video receiving device to the transmitting processing unit, so that the transmitting processing unit performs the differentiated transmission processing for each tile.
  • the transmission-side feedback processing unit may transmit viewport information received from the reception side to the transmission processing unit.
  • the transmission processing unit may perform transmission processing on tiles including the corresponding viewport region 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 aforementioned 360 video-related metadata may include various metadata for 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, may be included in a DASH MPD, and may be transmitted in a file format such as ISOBMFF.
  • files, fragments, tracks, sample entries, samples, etc. may be included in various levels to include metadata for the corresponding level of data.
  • a part of the metadata to be described later is configured and transmitted as a signaling table, and the other part may be included in a box or track form in the file format.
  • the 360 video-related metadata includes basic metadata related to a projection scheme, stereoscopic related metadata, and initial view (Initial View / Initial Viewpoint). Metadata, ROI-related metadata, FOV (Field of View) -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.
  • the embodiments of the 360 video-related metadata according to the embodiments include the above-described basic metadata, stereoscopic-related metadata, initial view-related metadata, ROI-related metadata, FOV-related metadata, cropped area-related metadata, and / or Or it may be a form including at least one or more of metadata that can be added later.
  • Embodiments of 360 video-related metadata according to embodiments may be variously configured according to the number of cases of detailed metadata included in each.
  • the 360 video-related metadata may further include additional information in addition to the above.
  • the basic metadata may include 3D model-related information, projection scheme-related information, and the like.
  • 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 for rendering may be different from the 3D model used for re-projection indicated by the vr_geometry field.
  • the basic metadata may further include a field indicating a 3D model used in rendering.
  • the corresponding field has a value of 0, 1, 2, 3, the 3D space may follow a 3D model of a sphere, a cube, a cylinder, and a pyramid, respectively.
  • the 360 video-related metadata may further include specific information on the 3D model indicated by the corresponding field.
  • the detailed information about the 3D model may mean, for example, spherical radius information, cylinder height information, and the like. This field can be omitted.
  • the projection_scheme field may indicate a projection scheme used when the corresponding 360 video data is projected on a 2D image. If the corresponding field has a value of 0, 1, 2, 3, 4, 5, respectively, an equirectangular projection scheme, a cubic projection scheme, a cylindrical projection scheme, and a tile-based projection scheme , Pyramid projection scheme, Panoramic projection scheme may have been used. When the corresponding field has a value of 6, it may be a case where 360 video data is directly projected on a 2D image without stitching. If the corresponding field has the remaining value, it can be reserved for future use (Reserved for Future Use).
  • the 360 video-related metadata may further include specific information about a region generated by a projection scheme specified by a corresponding field.
  • the specific information about the region may mean, for example, whether the region is rotated, radius information of a top region of the cylinder, and the like.
  • the stereoscopic related metadata may include information on 3D related properties of 360 video data.
  • the stereoscopic related metadata may include an is_stereoscopic field and / or a stereo_mode field. According to an embodiment, the stereoscopic related metadata may further include additional information.
  • the is_stereoscopic field may indicate whether the corresponding 360 video data supports 3D. If the corresponding field is 1, it means 3D support, and if it is 0, it may mean 3D support. This field can be omitted.
  • the stereo_mode field may indicate a 3D layout supported by the corresponding 360 video. It is also possible to indicate whether the corresponding 360 video supports 3D only with this field. In this case, the above-described is_stereoscopic field may be omitted. When the value of this field is 0, the corresponding 360 video may be in a mono mode. That is, the projected 2D image may include only one mono view. In this case, the corresponding 360 video may not support 3D.
  • the corresponding 360 video may follow a left-right layout and a top-bottom layout, respectively.
  • the left and right layouts and the top and bottom layouts may also be called side-by-side and top-bottom formats, respectively.
  • 2D images in which the left image / right image is projected may be positioned left and right respectively on the image frame.
  • the 2D images in which the left image / right image is projected may be positioned above and below each on the image frame. If the corresponding field has the remaining value, it can be reserved for future use (Reserved for Future Use).
  • the initial view-related metadata may include information about a view point (initial view point) that the user sees when the 360 video is first played.
  • 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 metadata related to the initial view may further include additional information.
  • the initial_view_yaw_degree field, the initial_view_pitch_degree field, and the initial_view_roll_degree field may indicate an initial viewpoint when playing the corresponding 360 video. That is, the center point of the viewport, which is displayed first during playback, may be indicated by these three fields. Each field may indicate the position of the center point of the yaw, pitch, and rotation (relative to the axis) and the degree (angle) of rotation.
  • the viewport that is displayed during the first playback may be determined according to the FOV. Through the FOV, the horizontal and vertical lengths (width and height) of the initial viewport based on the indicated initial viewpoint may be determined. That is, using these three fields and FOV information, the 360 video receiving apparatus may provide a user with a predetermined area of 360 video as an initial viewport.
  • the initial time point indicated by the metadata related to the initial time point 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, and the initial view or initial viewport that the user first sees may be changed for each scene of the 360 video.
  • metadata related to the initial viewpoint may indicate an initial viewpoint for each scene.
  • the metadata related to the initial view may further include a scene identifier identifying a scene to which the corresponding initial view is applied.
  • the metadata related to the initial view may further include FOV information for each scene indicating the FOV corresponding to the scene.
  • the ROI-related metadata may include information related to the ROI described above.
  • 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 an ROI based on a 2D image or fields representing an ROI based on a 3D space.
  • the ROI-related metadata may further include additional information such as differential encoding information according to the ROI and differential transmission processing information according to the ROI.
  • the ROI-related metadata includes fields representing an ROI based on a 2D image
  • the ROI-related metadata include a min_top_left_x field, max_top_left_x field, min_top_left_y field, max_top_left_y field, min_width field, max_width field, min_height field, max_height field, min_x 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 the minimum / maximum values of the coordinates of the upper left end of the ROI. These fields, in turn, may indicate the minimum x-coordinate, maximum x-coordinate, minimum y-coordinate, and maximum y-coordinate at the top left corner.
  • the min_width field, the max_width field, the min_height field, and the max_height field may indicate minimum / maximum values of the ROI's horizontal size and vertical height. These fields in turn 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.
  • the min_x field, the max_x field, the min_y field, and the max_y field may indicate minimum / maximum values of coordinates in the ROI. These fields, in turn, may indicate the minimum x coordinate, maximum x coordinate, minimum y coordinate, and maximum y coordinate of the coordinates in the ROI. These fields can be omitted.
  • the ROI-related metadata includes fields representing an ROI based on coordinates in the 3D rendering space
  • the ROI-related metadata includes a min_yaw field, a max_yaw field, a min_pitch field, a max_pitch field, a min_roll field, a max_roll field, a min_field_of_view field, and / or The max_field_of_view field may be included.
  • the min_yaw field, the max_yaw field, the min_pitch field, the max_pitch field, the min_roll field, and the max_roll field may represent 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 amount, the maximum yaw axis rotation amount, the pitch axis rotation amount, the maximum pitch axis rotation amount, the roll axis rotation amount, and the 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 the minimum / maximum value of the FOV of the corresponding 360 video data.
  • the FOV may mean a field of view displayed at a time when playing 360 video.
  • the min_field_of_view field and the max_field_of_view field may indicate the minimum and maximum values of the FOV, respectively. These fields can be omitted. These fields may be included in FOV-related metadata, which will be described later.
  • the FOV-related metadata may include information related to the FOV described above.
  • 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 aforementioned FOV.
  • the content_fov_flag field may indicate whether information about an intended FOV at the time of production for the corresponding 360 video exists. When this field value is 1, a content_fov field may exist.
  • the content_fov field may indicate information about an intended FOV in production for a corresponding 360 video.
  • an area displayed to the user at a time among 360 images may be determined.
  • an area of 360 video displayed at a time to a user may be determined by reflecting FOV information of this field.
  • the cropped region-related metadata may include information about a region including actual 360 video data on an image frame.
  • the image frame may include an active video area that is actually projected with 360 video data and an area that is not.
  • the active video area may be referred to as a cropped area or a default display area.
  • This active video area is an area shown as 360 video on an actual VR display, and the 360 video receiving device or VR display can process / display only the active video area. For example, if the aspect ratio of the image frame is 4: 3, only the area excluding the upper part and the lower part of the image frame may include 360 video data, which can be referred to as an active video area. .
  • the cropped region-related metadata may include is_cropped_region field, cr_region_left_top_x field, cr_region_left_top_y field, cr_region_width field and / or cr_region_height field. According to an embodiment, the cropped region-related metadata may further include additional information.
  • the is_cropped_region field may be a flag indicating whether the entire region of the image frame is used by the 360 video receiving device or the VR display. That is, this field may indicate whether the entire image frame is an active video area. If only part of the image frame is an active video area, the following 4 fields may be further 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.
  • Each of 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.
  • the horizontal length and vertical length may be expressed in units of pixels.
  • 360-degree video-related signaling information or metadata may be included in an arbitrarily defined signaling table, or may be included in a file format such as ISOBMFF or Common File Format in a box format, or included in DASH MPD and transmitted. have.
  • 360-degree media data may be transmitted in such a file format or DASH segment.
  • FIG 9 shows a view point and a viewing position that are additionally defined in a 3DoF + VR system.
  • the 360 video-based VR system can provide a visual / aural experience for viewing orientation based on the user's location with respect to the 360 video based on the above-described 360 video processing process. have.
  • This method can be called 3 degree of freedom (DoDoF) plus.
  • a VR system that provides a start / audible experience for different directions in a user's fixed position for 360 video may be referred to as a 3DoF based VR system.
  • a VR system capable of providing an extended visual / aural experience for different views at the same time zone and different directions at different viewing positions is called a 3DoF + or 3DoF plus based VR system. You can.
  • different visual / aural experiences may be provided according to a user's point of view (head motion) at a specific location. That is, a sphere of various viewing positions as shown in (b) may be assumed for a specific viewpoint, and image / voice / text information reflecting the relative position of each viewpoint may be provided.
  • FIG. 10 shows a method of implementing a 360-degree video signal processing based on a 3DoF + system and a related transmission / reception device.
  • FIG. 10 is an example of a 3DoF + end-to-end system flow diagram including 3DoF + image acquisition, preprocessing, transmission, (post) processing, rendering, and feedback processes.
  • the image information may include depth information (depth) as well as visual information (texture).
  • depth depth
  • texture texture
  • Composition for synthesizing to include video (video / image, etc.), voice (audio / effect sound, etc.), text (subtitles, etc.), text (subtitles, etc.) through external media as well as information obtained through a video / audio input device Method can be defined.
  • Pre-processing As a preparation (pre-processing) process for transmission / delivery of the obtained 360 video, it may include stitching, projection, region-specific packing process, and / or encoding process. That is, this process may include a pre-processing process and an encoding process for changing / supplementing video / audio / text information according to the manufacturer's intention. For example, in the pre-processing process of the image, the obtained visual information is mapped onto a 360 sphere (stitching), the area boundary is removed, the color / brightness difference is reduced, or the editing operation that gives the visual effect of the image is edited.
  • the process of separating the images (view segmentation), the projection process of mapping an image on a 360 sphere into a 2D image, the process of rearranging images according to regions (region-wise packing), and the encoding process of compressing image information Can be included.
  • a plurality of projection images of different viewing positions according to different viewing positions may be generated.
  • Delivery It may mean a process of processing and transmitting video / audio data and metadata that have undergone a preparation process (pre-processing process).
  • pre-processing process As a method of transmitting a plurality of video / audio data and related metadata of different viewing positions according to different viewing positions, a broadcasting network, a communication network, or a one-way transmission method may be used as described above. You can.
  • Post-processing & composition Decoding received / stored video / audio / text data and may refer to a post-processing process for final playback.
  • the post-processing process may include an unpacking to unpack the packed image and a re-projection process to restore a 2D projected image to a 3D spherical image as described above.
  • Rendering It can mean the process of rendering and displaying the re-projected image / video data in 3D space.
  • the video / audio signal can be reconstructed into a form for final output.
  • the viewing orientation, viewing position / head position, and viewpoint of the user's region of interest can be tracked, and only necessary video / audio / text information can be selectively used according to this information.
  • different viewpoints such as c may be selected according to a user's region of interest, and finally, an image in a specific direction at a specific viewpoint at a specific position as d may be output.
  • Feedback It may refer to a process of transmitting various feedback information that can be obtained in the display process to the transmitting side.
  • the viewing direction, the viewing position, and the viewing point of the user's region of interest may be estimated, and feedback may be transmitted to reproduce a video / audio based on this.
  • FIG. 11 shows the structure of a 3DoF + end-to-end system.
  • 3DoF + 360 content may be provided by the architecture of FIG. 11.
  • the 360 video transmission device is largely composed of a 360 video (image) / audio data acquisition part (acquisition unit), a part that processes the acquired data (video / audio pre-processor), and a composition generation unit for synthesizing additional information. ), An encoding unit for encoding text, audio, and a 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 or CFF, or processed in the form of other DASH segments.
  • the encoded data may be transmitted to a 360 video receiving device through a digital storage medium, or although not explicitly shown, undergoes processing for transmission through the transmission processing unit as described above, and then broadcasts a network or broadband. It can be transmitted through.
  • sensor orientation sensor orientation, viewing orientation for images
  • sensor information acquisition point sensor position, viewing position for images
  • sensor information acquisition location viewpoint for images
  • texture and depth information can be respectively obtained, and different video pre-processing is possible according to characteristics of each component.
  • texture information 360 omnidirectional images may be configured using images of different viewing orientations at the same viewing position obtained from the same location using image sensor location information.
  • an image stitching process may be performed.
  • projection and / or region-specific packing for changing to a format for encoding an image may be performed.
  • depth image an image can generally be acquired through a depth camera, and in this case, a depth image may be created in the form of a texture.
  • depth data may be generated based on separately measured data.
  • a sub-picture generation may be performed by additionally packing into a video format for efficient compression or dividing it into parts that are actually required.
  • Information about the video composition used in the video pre-processing stage is transmitted as video metadata.
  • the composition generation unit synthesizes externally generated media data (video / image for video, audio / effect sound for audio, subtitle for text, etc.) based on the creator's intention in the final playback stage. Information is generated, and this information is transmitted as composition metadata.
  • the video / audio / text information after each processing is compressed using each encoder and encapsulated in units of files or segments depending on the application. At this time, only necessary information can be extracted according to the video, file, or segment configuration method.
  • information for reconstructing each data in the receiver is transmitted at a codec or file format / system level, in which information for video / audio reconstruction (video / audio metadata), composition metadata for overlay, video / It includes audio playable position (viewpoint) and viewing position information (viewing position and viewpoint metadata) for each position.
  • the processing of such information may be generated through a separate metadata processing unit.
  • the 360 video receiving device plays a part that decapsulates a largely received file or segment (file / segment decapsulation unit), a part that generates video / audio / text information from a bitstream (decoding unit), and plays video / audio / text It may consist of a post-processor reconstructed in a form for tracking, a tracking unit tracking a user's region of interest, and a display that is a playback device.
  • the bitstream generated through decapsulation can be divided into video / audio / text, etc., and can be individually decoded in a playable form according to the type of data.
  • the location of the user's region of interest (viewpoint), the viewing position (viewing position), and the viewing orientation (viewing orientation) information are generated based on the sensor and user input information.
  • This information may be used for selection or extraction of a region of interest in each module of the 360 video receiving device, or may be used for a post-processing process for highlighting information of the region of interest.
  • it when delivered to a 360 video transmission device, it can be used for file selection or sub-picture selection for efficient bandwidth use, and various image reconstruction methods based on a region of interest (viewport / viewing position / viewpoint dependent processing).
  • the decoded video signal can be processed according to various processing methods according to a video configuration method.
  • a process of reconstructing an image based on information transmitted through metadata is required.
  • video metadata generated by the 360 video transmission device may be used.
  • the location, viewpoint, and direction of a user's region of interest generated through tracking when a plurality of viewing positions, or multiple viewing positions, or views are included in the decoded image Information matching the information can be selected and processed.
  • the viewing position and viewpoint metadata generated by the transmitting end can be used.
  • a rendering process according to each may be included.
  • composition metadata generated by the transmitting end may be used.
  • information for playback in the viewport can be generated according to the user's region of interest.
  • the decoded voice signal generates a reproducible voice signal through an audio renderer and / or a post-processing process. At this time, based on the information on the user's region of interest and metadata transmitted to the 360 video receiving device, the user's request is made. You can generate the right information.
  • the decoded text signal is transmitted to the overlay renderer and processed as text-based overlay information such as subtitles. If necessary, a separate text post-processing process may be included.
  • FLUS Framework for Live Uplink Streaming
  • the detailed blocks of the transmitter and receiver described above can be classified into the functions of the source and the sink in FLUS (Framework for Live Uplink Streaming), and in this case, implement the function of the source in the information acquisition device as follows, and sink on the network. You can implement the function of, or source / sink within a network node.
  • the network node may include user equipment (UE).
  • the UE may include the above-described 360 video transmission device or 360 video reception device.
  • the process of transmitting and receiving based on the architecture described above can be represented as follows. The following transmit / receive processing process is described based on the video signal processing process. When processing other signals such as voice or text, the part marked with italic is omitted or changed to suit the voice or text processing process. Can be.
  • the transmitting end may perform stitching for constructing a sphere image for each location / viewpoint / component.
  • a sphere image for each position / viewpoint / component is constructed, projection can be performed as a 2D image for coding.
  • a plurality of images can be created as packings to make an integrated image or as sub-pictures that are divided into images in a detailed area.
  • the packing process for each region may not be performed as an optional process, and in this case, the packing processing unit may be omitted.
  • the input data is video / audio / text supplementary information, it can inform a method of adding and displaying additional information to the central image, and also transmit additional data.
  • the encapsulation process of converting the generated image and the added data into a file format for transmission or storage may be performed through an encoding process of compressing and generating a bit stream.
  • a process of extracting a file required by the receiver may be processed according to an application or a system request.
  • the generated bitstream may be transmitted after being converted into a transmission format through a transmission processing unit.
  • the transmitting-side feedback processing unit may process the location / viewpoint / direction information and necessary metadata based on the information transmitted from the receiving end and transmit it to the related transmitting unit for processing.
  • the receiving end may extract a necessary file after receiving the bitstream delivered by the transmitting end.
  • the video stream in the generated file format is selected using position / viewpoint / direction information and video metadata delivered from the feedback processor, and the selected bitstream can 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 at the transmitting end, unpacking at the receiving end may also be omitted.
  • a process of selecting an image and necessary components suitable for a position / viewpoint / direction transmitted from the feedback processor may be performed.
  • a rendering process of reconstructing an image texture, depth, and overlay information into a format suitable for reproduction 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 / aural experience for different viewing directions based on the user's location with respect to the 360 video based on the 360 video processing process.
  • a service that provides a start / audience experience for different directions in a user's fixed position for 360 video may be called a 3DoF-based service.
  • a service capable of providing an extended visual / aural experience for different directions at a random position and viewing position in the same time zone may be referred to as a 6 degree of freedom (DoF) based service.
  • DoF 6 degree of freedom
  • the file format for the 3DoF service has a structure in which, for example, as shown in FIG. 15, the location of rendering, information of a file to be transmitted, decoding information, etc. may vary according to a head / eye tracking module.
  • this method is not suitable for 6DoF media file transmission, where rendering information / transmission content and decoding information vary depending on the user's location or position.
  • 16 shows the type of media according to the user's movement.
  • the embodiments of the present specification propose a method of providing 6DoF contents in order to provide the user with an immersive media / Immersive media experience.
  • Immersive media / realistic media is an expanded concept in the virtual environment provided by the existing 360 contents, and the user's position position is fixed in the form of (a) of the existing 360 contents, and if the concept of rotation is immersive
  • Type media / sensational media provides the environment or contents that can provide more sensational experiences such as movement / rotation of the user in the virtual space by giving the concept of movement when experiencing the content to the user as shown in (b) or (c).
  • (a) represents a media experience when the user's view is rotated while the user's position is fixed.
  • (b) shows the media experience when the user's head can move further while the user's position is fixed.
  • (c) represents the media experience when the user's position can move.
  • the sensational media content may include 6DoF video and 6DoF audio to provide the content, and the 6DoF video is a video or image captured or played as a newly formed 3DoF or 360 video for each movement required to provide the sensational media content.
  • 6DoF content may mean a video or image displayed on a 3D space. If the movement is fixed within the content, the content can be represented in various forms of 3D space, such as the existing 360 video. For example, it may be represented on a spherical surface. If the movement is free within the content, a three-dimensional space is newly formed around the user on the movement path each time, and the user can experience the content at the corresponding location.
  • 6DoF audio is audio content for providing content that enables immersive media to be experienced, and may mean content for forming and consuming spatial audio as the sound's consuming position moves.
  • embodiments of the present specification propose 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 as a 360 video with the user's initial position as the origin. By processing and rendering 360 video, 6 DoF video can be provided to the user.
  • 17 shows the overall architecture for providing 6DoF video.
  • HDCA High Density Camera Array
  • Lenslet microlens
  • 6DoF contents can be captured as an acquisition step.
  • the acquired image several image / video data sets generated according to the position of the captured camera can be generated as shown in Fig. 3a.
  • metadata such as internal / external setting values of the camera may be generated.
  • the capture process may be altered.
  • the pre-processing process of the acquired image may be a process of processing captured images / videos and metadata transmitted in the capture process. In this preparation, stitching, color correction, projection, and view segmenation are separated into primary and secondary views to improve coding efficiency. Any type of pre-processing step of processing content before transmission, such as an encoding process, may be applicable.
  • the stitching process may be a process of creating an image / video connecting images captured in a 360 direction from the position of each camera in a panorama or spherical shape centered on each camera position.
  • Projection means the process of projecting the image of each stitching result into a 2D image as shown in Fig. 3b, and can be expressed as mapping to a 2D image. Images mapped from each camera position can be separated into a main view and a sub view, and different resolutions can be applied for each view to improve video coding efficiency. Efficiency can be improved when coding.
  • the secondary view may not be present depending on the capture environment.
  • the secondary view refers to an image / video that needs to be reproduced in a 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 needed. In some cases, the secondary view may be newly generated as virtual information in the receiver.
  • a pre-processing process may further include an editing process.
  • editing of image / video data before and after projection may be further performed, and metadata may be generated in the pre-processing process.
  • metadata may be generated in the pre-processing process.
  • metadata related to an initial viewpoint, an initial location of a user, and a region of interest (ROI) may be generated.
  • the media transmission step may be a process of processing and transmitting image / video data and metadata obtained in the pre-processing process.
  • processing according to any transmission protocol may be performed, and pre-processed data may be transmitted through a broadcast network and / or broadband, and these data may be delivered to a receiver in an on demand manner.
  • the processing process includes decoding the received image / video data and metadata, mapping it into a 3D model, or re-projecting it can also be called projection, and creating and synthesizing virtual views. All steps before generating an image for reproduction may be included in the processing step.
  • the 3D model or projection map to be mapped may have a sphere, cube, cylinder, or pyramid like the existing 360 video, and a modified form of the projection map of the existing 360 video. It can be, and in some cases, can be a free-form projection map.
  • the process of generating and synthesizing a virtual viewpoint may refer to a process of generating and synthesizing image / video data to be reproduced when the user moves between the main viewpoint and the secondary viewpoint or between the main viewpoint and the main viewpoint.
  • a process of processing the metadata transferred in the capture and pre-processing process may be required, and in some cases, only a part of the 360 images / videos in the virtual viewpoint may be generated / composited.
  • the processing process may additionally include an editing process, an up scaling, a down scaling process, and the like.
  • an additional editing process required before playback may be applied after the processing process. If necessary, upscaling or downscaling of the transmitted image / video may be performed.
  • the rendering process may refer to a process of rendering to display a reprojected image / video transmitted or generated. Sometimes the rendering and reprojection process is collectively referred to as rendering. Therefore, a reprojection process may be included in the rendering process.
  • the re-projection can be a result of a large number of re-projections in the form of a user-centered 360 video / image and a 360 video / image that is formed around a position where the user moves according to the movement direction. have.
  • the user can view some areas of the 360 video / image. At this time, the area the user sees may be shaped like fig.3d, and when the user moves, the entire 360 video / image is rendered. Instead, only the image corresponding to the location the user is viewing can be rendered.
  • it is possible to predict the motion in advance by receiving metadata about the user's location and the moving direction, and additionally render a video / image of the moving position.
  • the feedback process may refer to a process of transmitting various feedback information that can be obtained in the display process to the transmitting side.
  • interactivity between the 6DoF content and the user may occur, and according to an embodiment, the user's head and position position information (head / position orientation) and the area the user is currently viewing in the feedback process Information about, etc. may be delivered.
  • the information may be transmitted to the transmitting side or the service provider in the feedback process, and depending on the embodiment, the feedback process may not be performed.
  • the user's location information may mean information about the user's head position, angle, movement and distance, and the viewport information viewed by the user may be calculated based on the information.
  • FIG. 18 shows a configuration of a transmission device for providing 6DoF video service.
  • Embodiments of the present specification at the transmitting side may relate to a 6DoF video transmission apparatus.
  • the 6DoF video transmission apparatus according to the embodiments may perform the above-described preparation process and operations.
  • the 6DoF video / image transmission apparatus according to the embodiments includes a data input unit, a depth information processing unit (not shown), a stitcher, a projection processing unit, a viewpoint separation processing unit, a packing processing unit for each viewpoint, a metadata processing unit, a feedback processing unit, A data encoder, an encapsulation processing unit, a transmission processing unit, and / or a transmission unit may be included as internal / external components.
  • the data input unit may receive image / video / depth information / audio data for each viewpoint captured by one or more cameras at one or more locations.
  • the data input unit may receive metadata generated in the capture process together with video / image / depth information / audio data.
  • the data input unit may transmit the input video / image data for each viewpoint to the stitcher, and transfer the metadata generated in the capture process to the metadata processing unit.
  • the stitcher may perform stitching operations on captured images / videos for each view / location.
  • the stitcher may deliver the stitched 360 video data to the projection processing unit. If necessary, the stitcher can be stitched by receiving it from the metadata processing unit.
  • the stitcher can transfer the metadata generated in the stitching process to the metadata processing unit.
  • the stitcher can make the video / image stitching position different by using the position value received from the depth information processing unit (not shown).
  • the stitcher can transfer the metadata generated in the stitching process to the processing unit.
  • the transmitted metadata may include whether or not stitching is performed, the stitching type, the ID of the primary view and the secondary view, and location information of the corresponding view.
  • the projection processing unit may project stitched 6DoF video data into a 2D image frame. Depending on the scheme, the projection processing unit may obtain different types of results. The scheme may be similar to the existing 360 video projection scheme, or the newly proposed scheme for 6DoF may be applied. In addition, different schemes can be applied for each viewpoint.
  • the depth information processing unit may transmit the depth information to the projection processing unit to change the mapping result value. If necessary, the projection processing unit may receive metadata required for projection from the metadata processing unit and use it for projection work, and the projection processing unit may transmit metadata generated in the projection process to the metadata processing unit.
  • the metadata may include a type of scheme, whether or not projection is performed, ID of a 2D frame after projection at a main view point and a secondary view point, and location information for each view point.
  • the packing processing unit for each time point is divided into a main time point and a secondary time point, and may perform a packing process for each region within each time point. That is, the packing processing unit for each view classifies the projected 6DoF video data for each view / location into main view and sub view, so that the main view and sub view can have different resolutions or rotate the video data of each view to improve coding efficiency. , You can rearrange them, and you can set different regional resolutions within each time point.
  • the process of classifying the main view and the sub-view may be omitted, and may be an optional process, and different resolutions for different regions or different arrangements may be selectively performed.
  • the packing may be performed by using the information received from the metadata processing unit, and the metadata generated in the packing process may be transmitted to the metadata processing unit.
  • the metadata defined in the packing process for each view may be an ID of each view to classify a main view and a sub view, a size applied to each region within the view, and a position value for each region of rotation.
  • the above-described stitcher, projection processing unit, and / or packing processing unit for each view 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 capturing process, a stitching process, a projection process, a packing process for each viewpoint, an encoding process, an encapsulation process, and / or a processing process for transmission.
  • the metadata processing unit may generate new metadata for the 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 received or newly created / processed metadata from the metadata processing unit to other elements.
  • the metadata processing unit may transmit the generated or received metadata to the data encoder, the encapsulation processing unit, and / or the transmission processing unit to be transmitted to the receiving side.
  • the data encoder may encode 6DoF video data projected on 2D image frames and / or packed video data by view / region.
  • the encoding can be performed in various formats, and if it is classified by view, the encoding result value for each view can be transmitted separately.
  • the encapsulation processing unit may encapsulate the encoded 6DoF video data and / or related metadata in the form of a file.
  • the related metadata can 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 it in the form of a DASH segment, or may be processed in a new format.
  • Metadata can be included in boxes that exist at various levels in the file format, included as data in separate tracks, or only metadata can be encapsulated as files. Separate encapsulation processing for each view may be possible, or necessary metadata for each view and corresponding video information may be encapsulated together.
  • the transmission processing unit may apply additional processing for transmission to the encapsulated video data according to the format.
  • the processing can be performed by using the metadata received from the metadata processing unit.
  • the transmission unit may transmit data and / or metadata received from the transmission processing unit through a broadcast network and / or broadband.
  • the transmission unit may include components necessary for transmission through a broadcasting network and / or broadband.
  • the feedback processing unit may further include a and / or network interface (not shown).
  • the network interface may receive feedback information from the receiving device described later in the embodiments, and transmit the feedback information to the feedback processing unit (transmission side).
  • the feedback processing unit may transmit information received from the receiving side to the stitching, projection, point-by-point packing, encoder, encapsulation processing unit and / or transmission processing unit. It can be delivered to the field or the new metadata can be created / processed by the metadata processing unit.
  • the feedback processing unit transmits the location / viewpoint information received from the network interface to the metadata processing unit
  • the metadata processing unit is a projection, a packing processing unit for each viewpoint, an encapsulation processing unit and / or data
  • the coding efficiency can be improved by transmitting the corresponding location / viewpoint information to the encoder and transmitting only the information and surrounding information suitable for the current user's viewpoint / location.
  • the above-described components of the 6DoF video transmission device may be hardware components implemented in hardware. Depending on the embodiment, each component may be changed, omitted, or a new component may be added or replaced with another component.
  • the 6DoF video receiving apparatus comprises a receiving unit, a receiving processing unit, a decapsulation processing unit, a metadata parser, a feedback processing unit, a data decoder, a re-projection processing unit, a virtual view generation / synthesis unit and / or a renderer as components.
  • the receiving unit may receive video data from the aforementioned 6DoF transmission device. Depending on the channel through which the video data is transmitted, the receiver may receive through a broadcast network or broadband.
  • the reception processing unit may perform processing according to a transmission protocol on the received 6DoF video data.
  • the reception processing unit acquires data obtained in the previous step of the transmission processing unit by performing the procedure in the reverse order of the process performed by the transmission processing unit or through a process according to a protocol processing method.
  • the reception processing unit may transmit the acquired data to the decapsulation processing unit, and may transmit metadata information received from the reception unit to the metadata parser.
  • the decapsulation processing unit may decapsulate 6 DoF video data in a file format received from the reception processing unit.
  • the decapsulation processing unit may decapsulate files according to a corresponding file format to obtain 6 DoF video and / or metadata.
  • the obtained 6DoF video data can be sent to a data decoder, and the 6DoF metadata can be delivered to a metadata parser.
  • the decapsulation processing unit may receive metametries required for decapsulation from a metameta parser, if necessary.
  • the data decoder can decode 6DoF video data.
  • the data decoder may receive metadata required for decoding from the metadata parser. Metameta obtained in the data decoding process may be transmitted to a metameta parser and processed.
  • the metameta parser can perform parsing / decoding for 6DoF video related metameta.
  • the metameta-parser may transfer the obtained meta-metadata to a decapsulation processing unit, a data decoder, a re-projection processing unit, a virtual view generation / synthesis unit, and / or a renderer.
  • the re-projection processing unit may perform re-projection on the decoded 6DoF video data.
  • the re-projection processing unit may re-project 6 DoF data for each viewpoint / position into a 3D space.
  • the 3D space may have a different shape depending on the 3D model used, or may be re-projected into a 3D model of the same shape through a transformation process.
  • the re-projection processing unit may receive necessary metadata from the metadata parser. Metadata defined in the re-projection process may be transferred to the metameta parser.
  • a 3D model of 6DoF video data for each viewpoint / location can be delivered to a metameter parser, and the 3D model of video data for each viewpoint / location is different, and the video data of all viewpoints is the same 3D model.
  • re-projection it is possible to communicate to the metadata parser which model was applied.
  • a meta area required for re-projection may be used to re-project only a specific area in a 3D space, or re-project one or more specific areas.
  • the virtual view generation / synthesis unit generates video data using the given data in the virtual view area that is not included in the 6 DoF video data received in the transmitted and re-projected 3D space, but focuses on the virtual view.
  • a process of synthesizing video data at a new viewpoint / position may be performed.
  • data of a depth information processing unit (not shown) can be utilized.
  • the virtual view generation / composite unit can generate / compose only a part of a specific area received from the metameta parser and a surrounding virtual view area not received.
  • the virtual viewpoint generation / synthesis unit may be selectively performed, and is performed when there is no video information corresponding to a required viewpoint and location.
  • the renderer can render 6DoF video data delivered from a re-projection or virtual view generation / composite unit. As described above, all processes occurring in the re-projection or virtual view generation / synthesis unit in the 3D space are integrated with the renderer and these processes can be performed within the renderer. Depending on the user's viewpoint / location information, only the part the user is viewing and the part on the expected path may be rendered.
  • a feedback processing unit (receiving side) and / or a network interface (not shown) may be included as additional components.
  • the receiving-side feedback processing unit may obtain and process feedback information from a renderer, a virtual view generation / synthesis unit, a re-projection processing unit, a data decoder, decapsulation and / or VR display.
  • the feedback information may include user viewport information, head and position orientation information, gaze information, gesture information, and the like.
  • the network interface may receive feedback information from the feedback processing unit, transmit it to the transmission device, or consume it in each component of the receiving side.
  • the decapsulation processing unit decapsulates, decodes, re-projects, and renders only the location information if there is information of the location in the 6 DoF video received by receiving the user's location / viewpoint information from the feedback processor. can do. If there is no information of the corresponding location, all 6DoF videos located around the corresponding location can be decapsulated, decoded, re-projected, generated / synthesized in a virtual view, and rendered.
  • the above-described components of the 6DoF video receiving device may be hardware components implemented in hardware. Depending on the embodiment, 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 a segment-based download or streaming service such as DASH, and a new file format or a streaming / download service method may be used instead.
  • 6DoF content may be referred to as immersive media content, light field content, or point cloud content.
  • Audio Encoding 6DoF audio data can be subjected to an audio pre-processing and encoding process.
  • metadata may be generated, and the related metadata may be subjected to an encapsulation / encoding process for transmission.
  • 6DoF video data may undergo editing, stitching, and projection processes of images acquired at various locations. Depending on the embodiment, this process may be partially performed, or the entire process may be omitted and performed at the receiver side.
  • View segmentation / packing As described above, the view separation / packing processing unit separates and packs the main view required at the receiver side and the image at the primary view (PV) position based on the stitched image and packs it separately. After it is processed, the pre-processing process of packing the remaining images into a secondary view (SV) may be performed. In the packing process, the size and resolution of the main view and the sub view can be adjusted to increase coding efficiency. Even within the viewpoint of the same personality, it can have resolution in different conditions for each region, or can be rotated and rearranged depending on the region.
  • Depth sensing and / or estimation To perform the process of extracting a depth map from two or more acquired images when a depth capture camera does not exist, and where to acquire the image if there is a depth capture camera
  • a process for storing location information may be performed to determine the depth of each object included in the image.
  • Point Cloud Fusion / extraction You can perform the process of transforming the previously acquired depth map into data in an encoding form. For example, by transforming to a point cloud data type, a pre-processing process for allocating the position value of each object in 3D may be performed. Instead of the pointer cloud data type, a data type capable of expressing 3D spatial information may be applied instead. Can be.
  • PV encoding / SV encoding / light field / point cloud encoding pre-packed for each viewpoint or depth information and / or location information may be image-encoded or video-encoded, respectively. Even the same content at the same time may be encoded in different bit streams for each region. It can be a new codec to be defined in MPEG-I and media formats such as HEVC-3D and OMAF ++.
  • File encapsulation 6DoF video data encoded as described above can be processed in a file format such as ISOBMFF by File-encapsulation, an encapsulation processing unit. Or, the encoded 6DoF video data can be processed into segments.
  • Metadata (including depth information) : Transfers metadata generated during the process of acquisition, stitching, projection, separation / packing by viewpoint, encoding, and encapsulation, such as 6DoF video data processing, to the metadata processing unit or generated by the metadata processing unit Metadata can be delivered to each process.
  • the metadata generated by the transmitting side can be generated as one track or file in the encapsulation process and delivered to the receiving side.
  • the receiving side may receive metadata stored as a separate file or a track in a file through a broadcast network or broadband.
  • Files and / or segments can be included in individual tracks for delivery based on DASH or a new model with similar functionality. At this time, MPEG DASH, MMT and / or new standards may be applied for transmission.
  • the receiving device can perform processing for receiving 6DoF video / audio data.
  • Audio deconding / Audio rendering / Loudspeakers / headphones 6DoF audio data can be provided to users through speakers and headphones after audio decoding and rendering.
  • PV / SV / light field / point cloud decoding 6DoF video data can be image to video decoding.
  • a codec applied to decoding a newly proposed codec for 6DoF in HEVC-3D, OMAF ++, and MPEG can be applied.
  • the main view point (PV) and the sub view point (SV) are separated, so that the video or image can be decoded within each view packing, and the video or image can be decoded regardless of the view classification.
  • feedback of head, position, and eye tracking can be delivered first, and only the image or video from the peripheral view where the user is located can be separated and decoded.
  • Head / eye / position tracking As described above, a user's head, position, gaze, and viewport information may be acquired and processed.
  • Point Cloud rendering When re-projecting captured video / image data onto a 3D space, a 3D spatial position is set, and the received video / image data is not secured, but the virtual view that is a user-movable position The process of creating a 3D space is performed.
  • 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 viewpoint is performed using 6DoF video data already secured around the user's location / viewpoint. Depending on the embodiment, the process of generating and / or synthesizing the virtual viewpoint may be omitted.
  • Image composition, and rendering As described above, this is a process for rendering an image centered on the user's location. It uses decoded video data according to the user's location and gaze, or creates a virtual view / composite video around the user and The image can be rendered.
  • Figure 21 shows the 6 DoF space.
  • a concept as shown in FIG. 21 may be used to describe 6DoF space before or after reprojection and to perform signaling for the space.
  • 6DoF space is 360 video or 3DoF space, which can be explained as Yaw, Pitch, and Roll, and the direction of movement can be divided into two types: rational and translation.
  • the rational movement can be described as a yaw, pitch, or roll as described in the direction of the existing 3DoF as a, and may also be called an orientation movement.
  • the translation movement it can be called a movement of the position as b. It can tell where the axis has moved in the left / right (Left / Right), forward / backward, and up / down directions, and defines the value of one or more axes to describe the movement of the central axis can do.
  • Metadata generated for each process can be extended.
  • -6DoF video metadata can be stored and signaled through SEI or VUI of 6DoF video stream by adding / modifying / extending based on the proposed metadata.
  • Region may mean an area where 360 video data projected on a 2D image is located in a packed frame through region-wise packing.
  • the region may mean a region used in region-specific packing according to context. As described above, regions may be divided evenly by dividing the 2D image, or may be arbitrarily divided according to a projection scheme or the like.
  • Region (general meaning, region) : Unlike the region in the region-specific packing described above, the term region may be used as a dictionary meaning. In this case, the region can have the meanings of 'region', 'zone', 'part of', which are dictionary meanings. For example, when referring to a region of a face to be described later, an expression such as 'one region of the corresponding face' may be used. In this case, the region has a meaning different from the region in the above-mentioned region-specific packing, and both may indicate different regions that are independent of each other.
  • Picture may refer to the entire 2D image in which 360 video data is projected. Depending on the embodiment, 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 or the like.
  • each sub-picture may be a tile.
  • an operation of reconstructing tiles or MCTS into a picture form compatible with existing HEVC may be referred to as MCTS extraction.
  • the result of this MCTS extraction may be an original tile or a sub-picture of a picture to which MCTS belongs.
  • a sub-picture may be used as a tile for tiling. That is, in tiling, the sub-picture and the tile may have the same concept.
  • the Bondi tile may be a tool for enabling parallel decoding, or may be a tool for independent decoding in VR.
  • a tile may mean a Motion Constrained Tile Set (MCTS) that limits the range of temporal inter prediction to the current tile inner range.
  • MCTS Motion Constrained Tile Set
  • the Spherical region or the Sphere region is a region on a spherical surface when 360 video data is rendered on 3D space (for example, a spherical surface) at the receiving side.
  • the superior region is independent of the region in packing by region. That is, it is not necessary that the regional region is the same region as the region defined in the region-specific packing.
  • the Superior Region is a term used to mean a part of a spherical surface to be rendered, where 'Region' may mean 'region' as a dictionary meaning. Depending on the context, the Superior Region may simply be called the Region.
  • Face may be a term that refers to each face according to a projection scheme. For example, when cubemap projection is used, the front, back, sides, top, bottom, etc. may be called face.
  • FIG. 22 shows an example of a structure capable of interworking with a video transmission / reception method / device according to embodiments.
  • the structure according to the embodiments includes a server 2260, a robot 2210, an autonomous vehicle 2220, an XR device 2230, a smartphone 2240, a home appliance 2250, and / or an HMD At least one of 2270 is connected to the cloud network 2210.
  • the robot 2210, the autonomous vehicle 2220, the XR device 2230, the smartphone 2240, or the home appliance 2250 may be referred to as a device.
  • the XR device 2230 may correspond to a video transmission / reception device according to embodiments or may be interlocked with a video transmission / reception device.
  • the cloud network 2200 may form a part of the cloud computing infrastructure or may mean a network existing in the cloud computing infrastructure.
  • the cloud network 2200 may be configured using a 3G network, a 4G or a Long Term Evolution (LTE) network, a 5G network, or the like.
  • LTE Long Term Evolution
  • the server 2260 includes at least one of the robot 2210, the autonomous vehicle 2220, the XR device 2230, the smartphone 2240, the home appliance 2250, and / or the HMD 2270 and the cloud network 2200. And may assist at least some of the processing of the connected devices 2210-2270.
  • the Head-Mount Display (HMD) 2270 represents one of the types in which the XR device and / or the PCC device according to the embodiments can be implemented.
  • the HMD type device according to the embodiments includes a communication unit, a control unit, a memory unit, an I / O unit, a sensor unit, and a power supply unit.
  • the devices 2210 to 2250 illustrated in FIG. 22 may be interlocked / coupled with the video transmission / reception device according to the above-described embodiments.
  • the XR may include 3Dof, 3Dof +, 6Dof and / or PCC according to embodiments.
  • XR device 2230 is applied with XR (AR + VR) technology, HMD (Head-Mount Display), HUD (Head-Up Display) provided in a vehicle, television, mobile phone, smart phone, computer, wearable device, home appliance It may be implemented as a device, a digital signage, a vehicle, a stationary robot or a mobile robot.
  • HMD Head-Mount Display
  • HUD Head-Up Display
  • the XR device 2230 analyzes 3D point cloud data or image data obtained through various sensors or from an external device to generate location data and attribute data for 3D points, thereby providing information about surrounding space or real objects.
  • the XR object to be acquired and output can be rendered and output.
  • the XR device 2230 may output an XR object including additional information about the recognized object in correspondence with the recognized object.
  • the autonomous vehicle 2220 is applied with XR technology and can be implemented as a mobile robot, a vehicle, or an unmanned aerial vehicle.
  • the autonomous driving vehicle 2220 to which the XR technology is applied may mean an autonomous driving vehicle having a means for providing an XR image or an autonomous driving vehicle that is a target of control / interaction within an XR image.
  • the autonomous vehicle 2220 which is the object of control / interaction within the XR image, is distinguished from the XR device 2230 and can be interlocked with each other.
  • the autonomous vehicle 2220 having a means for providing an XR image may acquire sensor information from sensors including a camera, and output an XR image generated based on the acquired sensor information.
  • the autonomous vehicle 2220 may provide an XR object corresponding to a real object or an object on the screen to the occupant by outputting an XR image with a HUD.
  • the XR object when the XR object is output to the HUD, at least a portion of the XR object may be output so as to overlap with an actual object facing the occupant's gaze.
  • the XR object when the XR object is output to a display provided inside the autonomous vehicle, at least a part of the XR object may be output to overlap the object in the screen.
  • the autonomous vehicle 2220 may output XR objects corresponding to objects such as lanes, other vehicles, traffic lights, traffic signs, motorcycles, pedestrians, buildings, and the like.
  • VR Virtual Reality
  • AR Augmented Reality
  • MR Magnetic Reality
  • PCC Point Cloud Compression
  • VR technology is a display technology that provides objects or backgrounds of the real world only as CG images.
  • AR technology refers to a technology that shows a virtually created CG image on a real object image.
  • MR technology is similar to the AR technology described above in that it shows virtual objects by mixing and combining them in the real world.
  • AR technology the distinction between a real object and a virtual object made of a CG image is clear, and a virtual object is used in a form to complement the real object, whereas in MR technology, the virtual object is regarded as having the same characteristics as a real object. It is distinct from technology. More specifically, for example, a hologram service is applied to the MR technology described above.
  • embodiments of the present invention are applicable to all VR, AR, MR, and XR technologies.
  • encoding / decoding based on PCC, V-PCC, and G-PCC technologies can be applied.
  • the method / device according to the embodiments may be applied to a vehicle providing autonomous driving service.
  • Vehicles that provide autonomous driving services are connected to the devices to enable wired / wireless communication.
  • the video transmission / reception device may receive / process AR / VR / PCC service related content data that can be provided along with the autonomous driving service and transmit it to the vehicle when the vehicle is connected to enable wired / wireless communication.
  • the video transmission / reception device may receive / process AR / VR / PCC service related content data according to a user input signal input through a user interface device and provide it to a user.
  • the vehicle or the user interface device may receive a user input signal.
  • the user input signal according to the embodiments may include a signal indicating an autonomous driving service.
  • FIG. 23 shows a block diagram of an encoder pre-processing module according to embodiments.
  • the encoder pre-processing unit may be referred to as an encoder pre-processing module, an encoder stage, or an encoding unit, and may mean a term that collectively refers to a device constituting a video transmission device. That is, the encoder pre-processing unit may include inter-view redundancy removal, packing, and / or encoder units, which are components included in the video transmission apparatus described above.
  • each view may be composed of different components, textures, and depth maps.
  • the texture and depth map may refer to a picture generated by a projected picture of each component for each view. Texture and depth maps may be generated by stitching / rotation / projection and / or multi-view packing operations according to embodiments. (Each view could be composed by different components, texture and depth map, which are produced into a projected picture of each component of each view by stitching, rotation, projection and multi-view packing process)
  • the video transmission apparatus may include views (eg, source views) by an inter-view redundancy removal unit (or pruning unit according to the embodiments), etc. Redundancy between pictures) may be eliminated.
  • the redundancy removal unit (or pruning unit) or video transmission apparatus according to the embodiments may include an anchor view (or center view picture) and a right head motion view (eg, source view pictures for a specific viewing position). By removing redundancy between pictures, a sparse view picture (and / or related signaling information) related to the right head motion view may be generated.
  • the redundancy removing unit (or pruning unit) or video transmission apparatus removes the redundancy between the anchor view (or center view picture) and the depth picture (or a picture related to other components), so that the depth picture (or other Sparse view pictures (and / or related signaling information), and the like.
  • the video transmission apparatus may maximize transmission efficiency of the transmission apparatus by removing redundancy between views (eg, source view picture, projected picture and / or sparse view picture), and bit efficiency (bit rate) By increasing), it is possible to provide a realistic 360-degree image to users with a small amount of data.
  • views eg, source view picture, projected picture and / or sparse view picture
  • bit efficiency bit rate
  • inter-view redundancy removal is performed on these projected pictures or source view pictures, they can be packed on a 2D image. That is, a projected picture (texture, residual, and / or depth) for each view (ie, multi-views) is packed according to embodiments or a multi-view packing (multi-) view packing, 23004).
  • a picture on a 2D image packed with a projected picture (ie, texture, residual, and / or depth) for each view may be referred to as a packed picture.
  • the packed picture may be encoded by the encoder unit 23005 according to embodiments.
  • the encoding unit according to the embodiments may encode, for example, the above-mentioned packed picture by a single layer video encoder.
  • the single layer video encoder may be, for example, HEVC or a futur video codec.
  • FIG. 23 shows a block diagram of a video transmission apparatus according to embodiments.
  • the video transmission apparatus according to the embodiments may mean a structure of a pre-encoding process for multi-views 3DoF + video.
  • the video transmission apparatus according to the embodiments may include a processing unit 23001 for view 1 to processing unit 23003 for view N, a multi-view packing unit 23004, and an encoding unit (or encoder, 23005).
  • the processing unit 23001 for view 1 includes stitching / rotation / projection according to embodiments for each of a texture source image and / or a depth source image corresponding to view 1 / projection), and generate a texture projected picture and / or a depth projected picture for each.
  • the view 1 may mean an anchor view different from the embodiments.
  • the anchor view may be referred to as a center view picture or center view, which will be described later.
  • the processing unit 23001 for view 1 includes stitching / rotation / projection according to embodiments for each of a texture source image and / or a depth source image corresponding to view 1 / projection) can generate metadata for View 1.
  • the metadata for view 1 may include signaling information regarding a method of performing stitching, rotation for view 1, and / or projection.
  • the metadata for view 1 may include reconstruction parameters according to embodiments.
  • the processing unit 23002 for the view 2 is provided in each of the texture source image and / or the depth source image corresponding to the view 2, not the view 1 (ie, anchor view) according to embodiments.
  • texture projected pictures and / or depth projected pictures for each may be generated. have.
  • the processing unit for view 2 further performs inter-view redundancy removal according to embodiments with respect to a textured projected picture, resulting in a residual projected picture.
  • Can generate The residual projected picture may refer to a reference view picture and / or a sparse view picture, which will be described later.
  • the inter-view redundancy removal according to the embodiments generates a residual projected picture based on a texture projected picture corresponding to view 1 (ie, anchor view). Can be.
  • the processing unit 23002 for the view 2 is the stitching / rotation / projection (stitching) according to the embodiment for each of the texture source image (texture source image) and / or depth source image (depth source image) corresponding to the view 2 / rotation / projection) can generate metadata for View 2.
  • the metadata for view 2 may include signaling information regarding a method for performing stitching, rotation for view 2, and / or projection.
  • metadata for view 2 may include reconstruction parameters according to embodiments.
  • the processing unit 23003 for view N is provided in each of a texture source image and / or a depth source image corresponding to view N, not view 1 (ie, anchor view) according to embodiments.
  • texture projected pictures and / or depth projected pictures for each may be generated. have.
  • the processing unit for view N further performs inter-view redundancy removal according to embodiments with respect to a textured projected picture, resulting in a residual projected picture.
  • Can generate The residual projected picture may refer to a reference view picture and / or a sparse view picture, which will be described later.
  • the inter-view redundancy removal according to the embodiments generates a residual projected picture based on a texture projected picture corresponding to view 1 (ie, anchor view). Can be.
  • the processing unit 23003 for the view N is stitching / rotation / stitching according to the embodiments for each of the texture source image and / or the depth source image corresponding to the view N / rotation / projection) can generate metadata for View N.
  • the metadata for view N may include signaling information regarding a method for performing stitching, rotation for view N, and / or projection.
  • the metadata for the view N may include reconstruction parameters according to embodiments.
  • the multi-view packing (23004) includes a texture projected picture for view 1, a depth projected picture for view 1, metadata for view 1, generated from processing unit 23001 for view 1, Texture projected picture for view 2, depth projected picture for view 2, metadata for view 2, generated from processing unit 23002 for view 2,. ... , Packed picture by packing texture projected picture for view N, depth projected picture for view N, and / or metadata for view N generated from processing unit 23001 for view N can do.
  • the multi-view packing unit 23004 may mean a packing unit according to embodiments, and the multi-view packing unit may be referred to as a multi-view packing module.
  • the encoder unit 23005 may perform encoding of a packed picture generated from the multi-view packing unit 23004 according to embodiments.
  • the encoder unit may mean an encoding unit according to embodiments.
  • the encoding unit may be encoded by a single-layer video encoder or a device corresponding thereto, such as HEVC or Future video codec.
  • Each of the processing unit 23003 for view N, the multi-view packing unit 23004 and / or the encoder unit 23005 may correspond to hardware, and according to embodiments, the video transmission apparatus may process unit for view 1 Processing, processing according to the processing unit for view 2, processing according to the processing unit for view N, multi-view packing, and / or encoding operations.
  • a video transmission method includes removing inter-view redundancy of pictures for a plurality of viewing positions; Packing pictures with inter-view redundancy removed; And encoding packed pictures and signaling information. It may include.
  • a video transmission apparatus includes an inter-view redundancy remover that removes inter-view redundancy from pictures for a plurality of viewing positions; A packer for packing inter-view redundancy removed pictures; An encoder that encodes packed pictures and signaling information; It may include.
  • the transmitting and receiving device can reduce the bandwidth for transmitting 3DoF + video and the storage space of the storage device, and ensure high-quality 3DoF + video provided with head motion parallax and / or binocular parallax.
  • the receiver can generate a video or other viewpoint provided with head motion parallax and / or binocular parallax, and the receiver can generate interactive video with a changing position.
  • FIG. 24 shows a block diagram of a decoder post-processing module according to embodiments.
  • the decoder post-processing unit may be referred to as a decoder post-processing module, a decoder stage, a decoding unit, or the like, and may mean a term that collectively refers to a device constituting a video receiving device. That is, the decoder post-processing unit includes decoders, view regeneration, view synthesis, and rendering / viewport generation, which are components included in the video receiving apparatus described above. And the like.
  • the post-decoder processing unit receives a bitstream including multi-view 3DoF + video and generates a plurality of projected pictures representing a view for each viewpoint .
  • the video receiving apparatus may not necessarily display all viewing positions (or all receiving pictures). Accordingly, the video receiving apparatus according to the embodiments decodes a target projected picture based on information about a viewer's viewpoint and / or viewing position, and regenerates the decoded target picture. And / or can be synthesized. That is, the video receiving apparatus may not decode or unpack other pictures other than the target projected picture among all pictures included in the received bitstream.
  • the target projected picture may be referred to as a target view picture.
  • the video receiving apparatus may refer to viewing position and / or view point information for a user to generate or synthesize a target view picture. Accordingly, some or all of the components included in the video receiving apparatus according to the embodiments may be performed based on viewing position and / or view point information for the user.
  • the unpacking unit 24003 may unpack only view pictures related to a user among the received view pictures.
  • the unpacking unit according to the embodiments may perform unpacking based on viewing position information and / or viewport information for a user.
  • the unpacking unit 24003 according to the embodiments selects a view B (view B) for a viewpoint A among a plurality of viewpoints and a plurality of views corresponding to each viewpoint.
  • a texture, residual, and / or depth map included in view B may be generated (or extracted).
  • the receiving device may include a texture depth regeneration process and / or a view regeneration.
  • the target view can be reconstructed (ie, regenerated and / or synthesized).
  • the process of the target device reconstructing the target view according to the embodiments may be performed using some or all of textures, depths, and / or residuals included in the corresponding view or other views.
  • FIG. 24 shows a block diagram of a video receiving apparatus according to embodiments.
  • the video receiving apparatus according to the embodiments may refer to a post-decoder process for multi-views 3DoF + video structure.
  • the video receiving apparatus according to the embodiments includes a decoder unit 24001, a multi-view unpacking unit 24002 for one or more viewpoints, and an unpacking unit for one or more views ( 24003), view regeneration for view (view 2400), sphere coordinate conversion / view synthesis / rendering (24005) and display unit (24006) It can contain.
  • the HEVC decoder (24001) may decode a bitstream received by the video receiving device.
  • the HEVC decoder unit may mean a decoder according to embodiments.
  • the HEVC decoder unit may generate or output multi-views for one or more viewpoints.
  • the multi-view unpacking unit 24002 for one or more viewpoints selects (or unpacks) pictures (or views) for each viewpoint included in the decoded bitstream. Can be.
  • the multi-view unpacking unit 24003 for one or more views may select (or unpack) one or more pictures of views for the selected viewpoint.
  • the view regeneration unit 24004 is selected by the multi-view unpacking unit 24002 for one or more viewpoints and / or the multi-view unpacking unit 24003 for one or more views
  • a regenerated view according to embodiments may be generated from one or more views (or pictures).
  • the sphere coordinate conversion / view synthesis / rendering (24005) can be performed at any point in time using the regenerated view generated by the view regeneration unit 24004. (Or a picture for a target viewing position).
  • the display unit 24006 may display a rendered random viewpoint (or a picture for a target viewing position).
  • HEVC decoder unit 24001 multi-view unpacking unit 24002 for one or more viewpoints, multi-view unpacking unit 24003 for one or more views according to embodiments,
  • Each of the view regeneration unit 24004, the sphere coordinate conversion / view synthesis / rendering unit 24005, and / or the display unit 24006 may correspond to hardware, and an embodiment Depending on the field, the video transmission device may perform all or part of them.
  • a video receiving method includes decoding a bitstream of a video based on a viewing position and viewport information; Unpacking pictures and signaling information in the decoded bitstream, the unpacked bitstream including signaling information; View regenerating the unpacked pictures; And, view synthesizing the view regenerated pictures; It may include.
  • a decoder for decoding a bitstream (bitstream) of a video based on the viewing position (viewing position) and viewport information (viewport information);
  • An unpacker that unpacks pictures and signaling information in the decoded bitstream;
  • a view regenerator for regenerating unpacked pictures;
  • a view synthesizer for view synthesizing the view regenerated pictures; It may include.
  • the transmitting and receiving device can reduce the bandwidth for transmitting 3DoF + video and the storage space of the storage device, and ensure high-quality 3DoF + video provided with head motion parallax and / or binocular parallax.
  • the receiver can generate a video or other viewpoint provided with head motion parallax and / or binocular parallax, and the receiver can generate interactive video with a changing position.
  • 25 shows a block diagram of encoder pre-processing modules according to embodiments.
  • the encoder pre-processing unit may be referred to as an encoder pre-processing module, an encoder stage, or an encoding unit, and may mean a term that collectively refers to a device constituting a video transmission device. That is, the encoder pre-processing unit may include inter-view redundancy removal, packing, and / or encoder units, which are components included in the video transmission apparatus described above.
  • FIG. 25 shows a device (and / or operation) for pre-encoding processing (or head motion parallax) according to embodiments for multi-view video for 3DoF +.
  • Pictures included in adjacent viewing positions may have high correlation (or high similarity). Accordingly, views in viewing positions having high similarity may have unnecessary pixels (ie, elements having many common elements and overlapping elements, redundant pixel information between pictures).
  • pre-encoding processing according to embodiments may eliminate such unnecessary pixels, that is, redundancy. Such a process may be performed by the inter-view redundancy removal unit according to embodiments.
  • the pre-encoding processing unit removes the redundancy described above, a small number of pictures (or pictures) for predicting the removed pixels described above is used. That is, after the pre-encoding processing unit removes the redundancy described above, the small number of remaining pictures (or pictures) includes information (or pixels) indicating elements that are unpredictable or difficult to predict.
  • information about the viewing position of the preserved (ie remaining) pictures, information about the different viewing positions, and information about how different views can be generated (or derived) from the preserved pictures may be generated by signaling information or other pictures.
  • information about the anchor view (or center view) representing the entire viewing position may be generated.
  • Signaling information including such information may be included in a reconstruction parameter.
  • the reconstruction information may be included in a view regeneration information SEI message or a texture depth regeneration information SEI message.
  • the pre-encoding processing unit may generate information about packing. For example, when packed, information about the location of a specific picture (or patches, residuals, reference view pictures, sparse view pictures, etc.), information about size, and type of pixel It may include information about. Such information may also be referred to as packing metadata, which may be transmitted by a Multiview region-wise packing information SEI message.
  • FIG. 25 shows a block diagram of a video transmission apparatus according to embodiments.
  • the video transmission apparatus according to the embodiments may include an encoder pre-processing unit.
  • the video transmission apparatus according to the embodiments may include an inter-view redundancy removal (25001), a packing (25002), and / or an encoder (25003).
  • the encoder pre-processing unit may be referred to as an encoder pre-processing module, an encoder stage, or an encoding unit, and may mean a term that collectively refers to a device constituting a video transmission device. That is, the encoder pre-processing unit includes inter-view redundancy removal (25001), packing (Packing, 25002), and / or encoder unit 25003, which are components included in the video transmission apparatus described above. can do.
  • the inter-view redundancy removal 25001 receives video sequences for a plurality of viewing positions and includes a plurality of viewing positions included in the video sequence. Removes redundancy between adjacent views for.
  • the inter-view redundancy removal unit 25001 may output a texture picture, a texture picture, a depth picture, a texture patch, and / or a texture residual from which redundancy is removed between views. have.
  • video sequences for multiple viewing positions may mean or include images or source images for the above-described viewing positions.
  • the inter-view redundancy removal unit may generate reconstruction parameters.
  • Reconstruction parameters may refer to signaling information necessary for performing view regeneration of a receiving end according to embodiments.
  • the reconstruction parameter may include all or part of the parameters included in the Viewing position group information SEI message syntax shown in FIG. 31.
  • the packing unit 25002 packs pictures (texture picture, depth picture, texture patch, and / or texture residual) generated from the inter-view redundancy removal unit 25001 to generate one or more packed pictures. can do.
  • the packing unit may further generate packing metadata.
  • Packing metadata may refer to signaling information required to perform unpacking according to embodiments.
  • the packing metadata may include all or part of parameters included in the Viewing position group information SEI message syntax shown in FIG. 31.
  • the encoder unit may encode the packed pictures received from the packing unit and output a bitstream.
  • the encoder unit may mean an encoder unit according to FIG. 23 or the above-described embodiments.
  • the encoder unit may further encode not only a packed picture, but also packing metadata and / or reconstruction parameters according to embodiments.
  • the inter-view redundancy removal unit 25001, the packing unit 25002, and the encoder unit 25003 may each correspond to hardware, and according to embodiments, the video transmission apparatus may perform inter-view redundancy , Packing and / or encoding operations.
  • a video transmission method includes removing inter-view redundancy of pictures for a plurality of viewing positions; Packing pictures with inter-view redundancy removed; And encoding packed pictures and signaling information. It may include.
  • a video transmission apparatus includes an inter-view redundancy remover that removes inter-view redundancy from pictures for a plurality of viewing positions; A packer for packing inter-view redundancy removed pictures; An encoder that encodes packed pictures and signaling information; It may include.
  • the transmitting and receiving device can reduce the bandwidth for transmitting 3DoF + video and the storage space of the storage device, and ensure high-quality 3DoF + video provided with head motion parallax and / or binocular parallax.
  • the receiver can generate a video or other viewpoint provided with head motion parallax and / or binocular parallax, and the receiver can generate interactive video with a changing position.
  • 26 shows a block diagram of a decoder post-processing modules according to embodiments.
  • the decoder post-processing unit may be referred to as a decoder post-processing module, a decoder stage, a decoding unit, or the like, and may mean a term that collectively refers to a device constituting a video receiving device. That is, the decoder post-processing unit includes decoders, view regeneration, view synthesis, and rendering / viewport generation, which are components included in the video receiving apparatus described above. And the like.
  • 26 shows a block diagram of decoder post-processing for multi-view 3DoF + video.
  • the decoder post-processing unit may receive a bitstream and decode it by decoding units 26001.
  • the decoded bitstream may be referred to as output pictures.
  • the output pictures may be unpacked by the unpacking 26002 unit.
  • the unpacking unit according to the embodiments may be performed by packing metadata according to the embodiments.
  • the packing metadata may indicate which pictures among the pictures included in the decoded bitstream should be unpacked and output, and so on.
  • the packing metadata according to the embodiments may include information about the size, type, location, viewing position, etc. of target pictures.
  • view regeneration and / or view of missing pictures ie, pictures for a missing viewing position
  • the view regeneration operation can be restored (or restored) by a view synthesis operation.
  • the view regeneration operation may be referred to as a texture depth regeneration process and / or a texture depth regeneration operation.
  • the view regeneration operation may be performed based on reconstructiuon parameters.
  • Reconstruction parameters include information about the size and location of unpacked pictures (eg, patches, residuals), information on how to predict the removed pixel values, It may include information on how to regenerate missing pixel values, and post-filtering parameters for block boundary removal.
  • the view synthesis unit may synthesize one view of the viewing positions of the viewers.
  • FIG. 26 shows a block diagram of a video receiving apparatus according to embodiments.
  • the video receiving apparatus according to the embodiments may include a post-processing unit according to the embodiments.
  • the video receiving apparatus according to the embodiments may include a decoder unit 26001, an unpacking unit 26002, a view regeneration unit 2603 and / or a view synthesis unit 26040.
  • the decoder unit may generate or output packed views (or pictures) and / or related signaling information by decoding a bitstream received from a video receiving apparatus according to embodiments.
  • the relevant signaling information output from the decoder may include, for example, packing metadata, reconstruction parameters, and view synthesis parameters.
  • the packing metadata may be signaling information necessary for the unpacking unit 26002 according to embodiments to perform unpacking.
  • the reconstruction parameters may be signaling information necessary for the view regeneration unit 26003 according to embodiments to perform view regeneration.
  • the view synthesis parameters may be signaling information necessary for the view synthesis unit 2604 according to embodiments to perform view synthesis (or view synthesis).
  • the decoder unit may perform decoding based on the viewing position and / or viewport information of the receiving end with information generated within the receiving end.
  • Viewing position and / or viewport information is information regarding a user's viewing position and / or viewport.
  • the decoder unit 26001 may decode all pictures included in the received bitstream.
  • the decoder 26001 according to embodiments may decode pictures included in the received bitstream based on the viewing position and / or viewport information, and decode pictures corresponding to the viewing position and / or viewport information.
  • the decoder unit 26001 according to embodiments may provide an effect of efficiently decoding only pictures related to a viewing position and / or viewport viewed by a user.
  • the unpacking unit (Unpacking 26002) unpacks a packed view (or packed pictures) included in a bitstream decoded by the decoder unit, and performs one or more texture pictures, depth pictures. Depth pictures, texture patches and / or texture residuls can be generated or output.
  • the unpacking unit may perform unpacking based on packing metadata included in signaling information included in the bitstream decoded by the decoder unit.
  • the packing metadata may include all or part of parameters included in the Viewing position group information SEI message syntax shown in FIG. 31.
  • the view regeneration unit 26003 generates one or more texture pictures, depth pictures, texture patches, and / or output / generated by the unpacking unit. Regenerated views may be generated or output based on texture residuls.
  • the regenerated view includes texture pictures of a single or multiple viewing positions and / or depth pictures of one or multiple viewing positions. positions).
  • the view regeneration unit 2603 may perform view regeneration based on reconstruction parameters included in signaling information included in the bitstream decoded by the decoder unit.
  • Reconstruction parameters may include all or part of parameters included in the Viewing position group information SEI message syntax shown in FIG. 31.
  • the view synthesis (26004) may generate a picture of the target viewing position based on the regenerated view generated by the view regeneration unit.
  • the picture of the target viewing position may refer to a picture for an arbitrary viewing position.
  • the view synthesis performs view synthesis based on view synthesis parameters according to embodiments included in signaling information included in the bitstream decoded by the decoder unit. Can be.
  • the view synthesis parameters may refer to signaling information required for performing view synthesis according to embodiments.
  • View synthesis parameters may include all or part of parameters included in the Viewing position group information SEI message syntax shown in FIG. 31.
  • a video receiving method includes decoding a bitstream of a video based on a viewing position and viewport information; Unpacking pictures and signaling information in the decoded bitstream, the unpacked bitstream including signaling information; View regenerating the unpacked pictures; And, view synthesizing the view regenerated pictures; It may include.
  • a decoder for decoding a bitstream (bitstream) of a video based on the viewing position (viewing position) and viewport information (viewport information);
  • An unpacker that unpacks pictures and signaling information in the decoded bitstream;
  • a view regenerator for regenerating unpacked pictures;
  • a view synthesizer for view synthesizing the view regenerated pictures; It may include.
  • the transmitting and receiving device can reduce the bandwidth for transmitting 3DoF + video and the storage space of the storage device, and ensure high-quality 3DoF + video provided with head motion parallax and / or binocular parallax.
  • the receiver can generate a video or other viewpoint provided with head motion parallax and / or binocular parallax, and the receiver can generate interactive video with a changing position.
  • FIG. 27 shows a block diagram of encoder pre-processing modules according to embodiments.
  • the encoder pre-processing unit may be referred to as an encoder pre-processing module, an encoder stage, or an encoding unit, and may mean a term that collectively refers to a device constituting a video transmission device. That is, the encoder pre-processing unit may include inter-view redundancy removal, packing, and / or encoder units, which are components included in the video transmission apparatus described above.
  • FIG 27 illustrates an inter-view redundancy removal unit of an encoder pre-processing unit according to embodiments.
  • Center view generation (or center view generation unit, 27002): Creates a center view for a group of viewing positions from received pictures (eg, source view pictures).
  • the center view generator may generate a center view picture, and / or may further generate center view generation information.
  • the center view picture may mean a spherical video / image with respect to the center position of the multi-spherical video / image.
  • it may be generated through virtual viewpoint generation of the center view generation according to embodiments.
  • Intermediate view synthesis (27003):
  • the intermediate view may be synthesized (if the processor uses generated views on top of the provided views (or source view), intermediate view could be synthesized).
  • the intermediate view synthesizer may output intermediate views including additional information of pre-generation information.
  • the transmission apparatus according to the embodiments may transmit information related to intermediate view synthesis to a decoder post-processing unit.
  • Pruning unit using a source view (source view), center view (center view) and / or intermediate view (intermediate view) according to embodiments, respectively Redundancy can be eliminated for pictures.
  • the pruning unit may generate sparse view pictures and reference view pictures.
  • the sparse view picture means a picture that contains unpredictable information (ie, includes unique information / pixels) for a specific viewing position. That is, the sparse view picture may represent a picture in which information that is common among a plurality of pictures to be pruned is removed.
  • the reference view picture may mean a picture that can provide basic information / picture for a specific viewing position.
  • reference view information and / or regeneration information may be generated.
  • the sparse view pruning unit uses the sparse view pictures generated by the pruning unit according to embodiments to remove redundancy for the corresponding sparse view pictures. Can be.
  • the sparse view pruning unit according to the embodiments may generate pruned sparse view picture (s) and / or related metadata.
  • Related metadata may include information about a target viewing position of a corresponding viewing position (metadata which indicate the target viewing position), information about a reference sparse view, and a sparse view regeneration method.
  • related metadata may include target_view_id, component_id, component_type, pruned_sparse_view_present_flag, reference_sparse_view_present_flag sparse_view_regeneration_type, output_sparse_view_id, pruned_sparse_view_id, and reference_sparse_view_id.
  • the video transmission apparatus (or encoder pre-processing unit, encoding unit, encoder unit, encoding stage) according to the embodiments includes a rotation / projection (27001) unit, a center view generator (27002), according to the embodiments. center view genearation module, center view generator (27003, intermediate view synthesizer), pruning part (27004, pruner, pruner), sparse view pruning part (27005, sparse view) pruner, sparse view pruner), packer 27006, packer and / or encoding unit 27007 (encoder).
  • the rotation / projection unit 27001 (or rotation / projection) according to the embodiments rotates and / or projects multiple spherical video / images (multi-spherical video / image data) including texture / depth pictures.
  • Picture (s) of multiple spherical video / images (texture / depth) can be rotated and / or projected.
  • the output of the rotator / projector is a picture (texture / depth) and / or a rotated / projected picture that may be referred to as source view picture (s) according to embodiments.
  • the center view generator 27002 (or center view generation) according to embodiments can be used for a center view picture and a center view from a rotated / projected picture and / or a picture (texture / depth). Signaling information including center view generation information regarding a profile / characteristic is generated.
  • Intermediate view synthesizer (27003) (or intermediate view compositing) synthesizes intermediate view pictures from rotated / projected pictures and / or pictures (texture / depth) (source view pictures) and pre- Signaling information including pre-generation information and / or view synthesis recommandataion information is generated. Signaling information can be used to decode data at the receiver (decoder).
  • Pruner 27004 removes redundancy between pictures. Pruning indicates elimination of redundancy between views. This process may be referred to as inter-view redundancy remover.
  • the input of the pruner includes a center view picture, a source view picture and / or an intermediate view picture. Also, pruned sparse view (s) may be input to the pruner.
  • the prune generates signaling information including reference view information and / or regeneration information that can be used to decode data in a receiver (decoder).
  • the signaling information includes information related to pruning to regenerate the view.
  • the output of pruning includes a sparse view picture, a reference view picture and / or a sparse view picture.
  • the view may be referred to as a view picture.
  • Sparse view pruner 27005 removes redundancy (redundancy) between pictures.
  • Sparse view pruning refers to removing redundancy between sparse views (sparse view pictures). According to embodiments, pruning removes redundancy between reference (reference) views, while sparse view pruning removes redundancy between sparse views. Due to sparse view pruning, redundancy per view can be more efficiently removed, thereby improving performance and efficiency of encoding and / or transmission.
  • the output of the sparse view pruning may be a pruned sparse view picture, and some pruned sparse view pictures may be provided to the input of pruning.
  • the packer 27006 (or packing) is, for example, a center view picture, a pruned sparse view picture, a reference view picture and / or a sparse view picture. The same picture is packed. The output of the packer is a packed picture.
  • Encoder 27007 may include, for example, packed picture and / or center view generation information, reference view information, regeneration information, pre-generation information, and / or view synthesis recreation information (view synthesis level). Encoding information). According to embodiments, the encoded data is transmitted as the format of the bit stream (s).
  • the preprocessor (or encoder pre-processing unit) includes rotation / projection, center view generation, intermediate view synthesis (middle view synthesis), pruning, sparse (sparse) view pruning, packing and / Or performs the same operation as described above, including encoding.
  • a center view picture means a spherical video / image with respect to a center position of multiple spherical videos / images.
  • the center view image may be included in the input data or generated from virtual viewpoint generation
  • the intermediate view picture refers to a virtually (virtually) generated picture. Intermediate view pictures are not included in the input data (eg multi-spherical video / image).
  • a source view picture and / or a center view picture is used for pruning.
  • the viewing position group information SEI message is transmitted by the encoder and received as signaling information by the receiver.
  • the viewing position group information SEI message includes views_position_picture_type.
  • VIEW_position_picture_type describes the picture type of the i-th viewing position in terms of picture generation.
  • the i-th viewing position is the center view (center view).
  • view_position_picture_type is equal to 1
  • the picture of the i-th viewing position is used as a reference picture (reference picture) in the view regeneration process.
  • view_position_picture_type is equal to 2
  • the picture of the i-th viewing position will be generated from the view regeneration process.
  • views_position_picture_type is equal to 3
  • the picture of the i-th viewing position is a pre-generated view in the encoding preprocessing.
  • views_position_picture_type is equal to 4
  • the picture of the i-th viewing position may not be present in the decoded picture, but the view synthesis method is recommended with additional information. This can be used to reduce the time consuming process associated with view synthesis.
  • views_position_picture_type is equal to 5
  • the picture of the i-th viewing position may not be present in the decoded picture, but there is another picture from another viewing position.
  • the rare view picture refers to a picture that includes information that cannot be predicted when the current view is predicted based on the surrounding view (s).
  • gray or black area (s) means that information is overlapped between an image for the current viewpoint and an image for the surrounding viewpoint.
  • the duplicated information means predictable information. Therefore, the unpredictable information is included in the sparse view picture (sparse view picture).
  • the reference view picture means a picture for a peripheral view used to predict a picture for the current view.
  • a source view picture / image and / or picture / image generated by virtual viewpoint generation may be used.
  • sparse view pruning indicates a target viewing position, a reference sparse view, and a type of a sparse view playback method, such as target_view_id, component_id, component_type, pruned_sparse_view_present_flag, reference_sparse_view_present_flag_sprese_view_present, output_sparse_view_id, pruned_s_separation, etc.
  • a type of a sparse view playback method such as target_view_id, component_id, component_type, pruned_sparse_view_present_flag, reference_sparse_view_present_flag_sprese_view_present, output_sparse_view_id, pruned_s_separation, etc.
  • sparse view pruning generates sparse view regeneration information according to embodiments.
  • the center view picture and / or the center view generation information may be based on source view pictures included in pictures for a plurality of viewing positions. ); And synthesizing the intermediate view picture based on the source view pictures, and synthesizing the intermediate view picture include pre-generation information and / or view synthesis recommendation information. Generated; It may further include.
  • the step of removing inter-view redundancy may generate sparse view pictures based on at least two of source view pictures, intermediate view pictures, and / or center view pictures.
  • the step of removing view redundancy may further generate reference view pictures, reference view information, and regeneration information.
  • the video transmission apparatus can efficiently provide a plurality of multi-spherical images representing different viewing positions of the viewpoint.
  • the amount of data to be transmitted may be reduced by using a pruner and / or a sparse view pruning unit according to embodiments.
  • a pruner or pruning step
  • a sparse view pruner or sparse view pruning
  • FIG. 28 shows a block diagram of a decoder post-processing modules according to embodiments.
  • the decoder post-processing unit may be referred to as a decoder post-processing module, a decoder stage, a decoding unit, or the like, and may mean a term that collectively refers to a device constituting a video receiving device. That is, the decoder post-processing unit includes decoders, view regeneration, view synthesis, and rendering / viewport generation, which are components included in the video receiving apparatus described above. And the like.
  • the decoder post-processing unit may determine a viewing position related to the view synthesis unit synthesizing the view, according to a viewer's viewpoint. Thereafter, the decoder post-processing unit may determine an operation for each viewing position, and / or determine an operation order of the receiver.
  • a sparse view regeneration operation may be performed according to sparse_view_regeneration_type information for each viewing position. Subsequently, post-processing may be performed on all components indicated according to component_id and component_type corresponding to target_view_id.
  • the following shows an example of a sparse view regeneration operation that can be performed according to sparse_view_regeneration_type information.
  • the sparse view regeneration operation may be performed according to FIG. 35.
  • the reference sparse view (s1) and the pruned sparse view (res_s1) according to FIG. 35 may be represented by reference_sparse_view_id and pruned_sparse_view_id, respectively.
  • reference_sparse_view_id the location, rotation, and coverage of target views indicated by the reference sparse view picture and view_position_descriptor () are used. Disparity between views can be calculated.
  • the location, rotation, coverage of the reference sparse view, and the location, rotation, and coverage of the target view are view position descriptors corresponding to reference_sparse_view_id and target_view_id, respectively. It can be indicated by information (that is, view_position_descriptor ()).
  • a sparse view regeneration operation may be performed according to FIG. 36.
  • the reference sparse view (s1) according to FIG. 36 may be represented by reference_sparse_view_id.
  • the location, rotation, and coverage of target views indicated by the reference sparse view picture and view_position_descriptor () are used. Disparity between views can be calculated.
  • the location, rotation, coverage of the reference sparse view, and the location, rotation, and coverage of the target view ( coverage) to calculate disparity between views.
  • the location, rotation, coverage of the reference sparse view, and the location, rotation, and coverage of the target view are view position descriptors corresponding to reference_sparse_view_id and target_view_id, respectively. It can be indicated by information (that is, view_position_descriptor ()).
  • a sparse view regeneration operation may be performed according to FIG. 37.
  • the reference sparse view (s1) according to FIG. 37 may be represented by reference_sparse_view_id.
  • the temporarily regenerated view v1 may be generated.
  • the temporarily regenerated view may be referred to as a reference view.
  • the location, rotation, coverage of the reference sparse view, and the location, rotation, and coverage of the target view are view position descriptors corresponding to reference_sparse_view_id and target_view_id, respectively. It can be indicated by information (that is, view_position_descriptor ()).
  • a sparse view regeneration operation may be performed according to FIG. 38.
  • the reference sparse view (s1) according to FIG. 38 may be represented by reference_sparse_view_id.
  • the target view may be regenerated by the operation of the view synthesis unit.
  • the location, rotation, and coverage of the reference view ie, the regenerated v1 picture
  • the target view's location, rotation, and coverage To calculate disparity between views.
  • the location, rotation, coverage of the reference sparse view, and the location, rotation, and coverage of the target view are view position descriptors corresponding to reference_sparse_view_id and target_view_id, respectively. It can be indicated by information (that is, view_position_descriptor ()).
  • View position group information transmitted by the encoder pre-processing unit according to the embodiments may be parsed by the controller 2806 according to the embodiments.
  • the controller determines the overall viewport generation operation by determining which viewing position, which view regeneration operation and / or view composition operation method is performed, and in what order the view regeneration and / or view composition operates. Can be controlled. For example, a user wants to watch a picture that is exactly the same with the reference picture position, which is exactly the same as the center position or the position corresponding to the reference view picture. In this case, unpacking may be performed by selecting only a corresponding picture (center view picture or reference view picture).
  • the controller controls the center view generation unit according to the embodiments to generate the center view from the received reference views. Can be.
  • the controller may control the view regeneration unit and / or the center view generation unit according to the embodiments. That is, the controller may control the view regeneration unit and / or the center view generation unit according to embodiments using related metadata.
  • the metadata may be signaled by an encoder pre-processor, and the decoder post-processing unit according to the embodiments may include a center view picture, a reference view pictures, and / or based on the metadata. Alternatively, sparse view pictures may be generated.
  • a center view picture and / or a reference view picture may be used to generate other views (eg, target views) according to embodiments. Accordingly, the center view generation, the operation of generating the reference view, and / or the operation of generating the intermediate view may be performed prior to other view regeneration units according to embodiments.
  • the operation of the view regeneration unit according to the embodiments may precede the operation of the view synthesis unit according to the embodiments.
  • the above-described processing order may be indicated by viewing_position_picture_type and / or view_position_processing_order_idx.
  • An apparatus for receiving video includes a decoder, an unpacker, a controller, a central view generator, a view player, a sparse view player, a view synthesizer and / or a renderer / viewport generator.
  • the decoder 2800 (or decoding unit, decoding) decodes the received data, including, for example, pictures in a bitstream and signaling information according to embodiments (including viewing position group information).
  • the unpacker 2802 (or unpacking unit, unpacking) unpacks a picture, such as a picture packed in a bit stream.
  • the controller 2806 may include signaling information in a bit stream, for example, viewing position group information, center view generation information (center view generation information) according to embodiments, and reference view information according to embodiments (Reference view information), playback information according to embodiments (regeneration information), pre-generated information according to embodiments (pre-generation information) and / or synthesis recommendation information according to embodiments (view synthesis recording) Information). It is used to provide signaling information to each operation in post processing.
  • the center view generator 2803 (or center view generator, center view generator) generates a center view picture based on the center view generation information.
  • center view generation is processed when signaling information according to embodiments in which viewing_position_picture_type is equal to 0 or center_view_present_flag is equal to 0.
  • Reference viewing positions and parameters for each viewing position are given by views_position_id, center_view_generation_parameter.
  • an alternative viewing position may be used by given information such as alternative_viewing_position_id, alternative_view_distance, rec_center_view_generation_method_type.
  • the view regenerator 2804 regenerates the regenerated view based on the reference view (reference view) and / or sparse view (sparse view) (s).
  • the sparse view may be transmitted in a bitstream or the sparse view may be generated by sparse view regeneration (sparse view regeneration).
  • the picture when viewing_position_picture_type is equal to 1, the picture may be used as a reference picture for another viewing position.
  • the decoder can store the picture in the buffer along with the information of the viewing position using this picture given by views_position_id.
  • view regeneration should be used to restore the cue of the viewing position.
  • the reference and sparse views required for the regeneration process are represented by views_position_id and picture_id, respectively.
  • the receiver according to the embodiments may restore the viewing position intended by the encoder using the regeneration processing method given by view_regeneration_method_type.
  • the sparse view player regenerates the sparse view picture (sparse view picture) based on the sparse view picture and signaling information in the bit stream.
  • the View Synthesizer (View Synthesis, 2807) (or View Synthesis) includes a central view (eg, center position), a playback view picture, a reference view picture (eg, surrounding viewpoints and / or pre-generation information and And / or synthesize pictures and / or pictures for a target viewing position based on (for signaling information including synthesis recommendation information).
  • the picture when viewing_position_picture_type is equal to 3, the picture is not a source picture, but a pre-generated view.
  • the receiver decides whether to use this picture or synthesize a new picture with the regenerated picture.
  • the processed method may be one of the decision criteria given by pregeneration_method_type.
  • the reference picture provided by views_position_id and the sparse view provided by picture_id are used together with the reproduction method.
  • viewing_position_picture_type when viewing_position_picture_type is equal to 4, recommended view composition information for this viewing position is provided.
  • These are the synthesis method, parameters, reference viewing position indicator and sparse view presence flags given by ref_view_systhesis_method_type, view_synthesis_parameter, views_position_id, sparse_view_present_flag, respectively.
  • the viewing position when the viewing_position_picture_type is equal to 5, the viewing position may be replaced with another view from a source view, a playback view or a composite view indicated by alternative_viewing_position_id.
  • the renderer / viewport generator 2808 (or render / viewport generation) renders the view generated by view synthesis, and generates viewport information for the user viewport obtained from the user, displayer, or receiver. Viewport information according to embodiments is provided to a controller.
  • the post processor performs the operations as described above, including decoding (s), unpacking, center view generation, view playback, sparse view playback, control, view synthesis and / or rendering / viewport generation. .
  • a video receiving method includes decoding a bitstream of a video based on a viewing position and viewport information; Unpacking pictures and signaling information in the decoded bitstream, the unpacked bitstream including signaling information; View regenerating the unpacked pictures; And, view synthesizing the view regenerated pictures; It may include.
  • a decoder for decoding a bitstream (bitstream) of a video based on the viewing position (viewing position) and viewport information (viewport information);
  • An unpacker that unpacks pictures and signaling information in the decoded bitstream;
  • a view regenerator for regenerating unpacked pictures;
  • a view synthesizer for view synthesizing the view regenerated pictures; It may include.
  • the video transmission apparatus can efficiently provide a plurality of multi-spherical images representing different viewing positions of the viewpoint.
  • the receiver according to the embodiments may reduce the amount of data to be received and provide accurate and realistic views to users.
  • 29 shows a software platform of a video receiving device according to embodiments and / or a video transmitting device according to embodiments.
  • the center view synthesizer generates general and full ERP (texture + depth) views that are responsible for most of the visual information transmission. It includes information on parameters (parameters) of the center view synthesis unit according to the embodiments, Resolution of the related stream, and Exact position of the central view.
  • the source view pruning unit may use the depth buffer output of the Central View Synthesis module and discard already projected pixels.
  • the parameters (parameters) of this module include information about the resolution of the related stream and QP for the texture and QP for the depth.
  • this module searches the entire sparse source view and implements the following.
  • the view synthesizer according to the embodiments generates the final viewport as in RVS.
  • the view synthesizer according to the embodiments receives as input a heterogeneous texture + depth video set supplemented with previously generated additional information.
  • the view is then composited in ERP or Perspective mode.
  • the central view synthesis module, the source view pruning module, the partitioning and packing module and / or the view synthesis module may correspond to hardware, software and / or processors on the transmitter side.
  • the center view synthesizer 29003 generates a center view image from a source view picture obtained from a source view picture or virtually generated from the source view picture.
  • the source view pruner 29001 prunes (eg, removes) the redundancy between the source view pictures and / or the source view pictures and the center view picture.
  • the output of source view pruning is multiple sparse source views (including texture and / or depth) (eg sparse source view # 0,... sparse source view #i).
  • the sparse view is further pruned by the sparse view pruning 29001.
  • Practitioner & packer packs sparse source view and / or sparse view into packed video (s) including texture and / or depth, according to embodiments Additional packing information related to signaling information is generated.
  • multiple bitstreams are encoded by the HEVC coding scheme 29004.
  • N streams and / or signaling information are transmitted.
  • N streams (including texture and / or depth) and / or signaling information are received at the receiver side.
  • the ERP synthesizer 29006 synthesizes a view based on signaling information and N streams.
  • the view for the target viewing position can be regenerated (predicted).
  • FIG. 30 illustrates an operation of a pruning unit of an encoder pre-processing unit according to embodiments.
  • the first source view v1 may be generated based on one reference view, that is, the center view picture c0, and the first sparse view s1 may be described above. It may be generated by removing redundancy of the first source view v1. That is, the encoder pre-processing unit according to the embodiments may generate the first sparse view picture s1 according to the first example.
  • the second source view v2 may be generated using a plurality of reference views, that is, a center view picture c0 and a reference view picture v1.
  • the second sparse view picture may be generated by removing redundancy of the second source view picture v2 described above. That is, the encoder pre-processing unit according to the embodiments may generate the second sparse view picture s2 according to the second example.
  • a picture indicated by a bold line may mean a picture that is packed and / or encoded by a packing unit and / or an encoding unit and transmitted by a transmission device according to embodiments.
  • the packer and / or encoder can efficiently pack and encode sparse view pruned pictures.
  • a pruning module aimed at removing extra visual information caused by a spatial relationship between views in an encoder preprocessing step Is used.
  • view regeneration the reverse processing aimed at restoring the original view.
  • the information of the reference and source views and the method to be used in the view playback process should be provided by a texture depth regeneration information SEI message or a view regeneration information SEI message, and details are covered in other documents.
  • the pruning module may correspond to the pruning of FIG. 27 according to embodiments. According to embodiments, the pruning module may be referred to as a pruner.
  • pruning 30000 creates a sparse view, for example s1 or a first sparse view, based on the central view c0 and the source view v1.
  • the sparse view s1 is created by subtracting the source view v1 from the central view c0 and / or the central view c0 from the source view v1.
  • the sparse view s1 is a picture containing unpredictable data, and the gray or black display area of the sparse view s1 is redundant data or redundancy between the center view c0 and the source view s1.
  • the pruning 30001 (or pruner) generates a sparse view s2 based on the central view c0, the reference view r1 and / or the source view v2. For example, the central view (c0) is added to the reference view (r1) and the added picture is subtracted with the source view (v2).
  • Packing / encoding 30002 (or packer / encoder) packs / encodes sparse view s1 and / or sparse view s2.
  • multiple sparse views including s1 and s2 may be generated based on pruning to encode / transmit data including a picture.
  • the sparse view (s2) (view point for s2) is the center view (c0), the reference view for the viewpoint for r1 (r1) and / or the sparse view It can be produced by pruning (v2).
  • pruning adds a central view (c0) and a reference view (r1) and subtracts the source view (v2) for the view of v2.
  • sparse views can be packed and / or encoded.
  • sparse view s1 and sparse view s2 are packed and / or encoded.
  • the term c0 is a central viewpoint / viewpoint position picture
  • the term v1 is a first viewpoint / viewpoint position source view picture
  • the term s1 is a first viewpoint / viewpoint position sparse view picture
  • the term r1 is a first viewpoint / Viewpoint position reference viewpoint picture
  • the term v2 is a second viewpoint / viewpoint position source viewpoint picture
  • the term s2 may be interpreted in a second viewpoint / viewpoint position rare viewpoint picture and / or a similar manner.
  • the view to be regenerated by the view generation unit may be a view (or picture) for different viewing positions (or viewpoint / viewpoint positions).
  • Each different viewing position may be referred to as a first viewing position, a second viewing position, and the like.
  • Each viewing position can be one or more source views (source view picture), one or more reference views (reference view picture), one or more sparse views (sparse view picture, sparse) view picture).
  • source view picture source view picture
  • reference view picture reference view picture
  • sparse view pictures sparse view picture
  • the first source view picture for the first viewing position, the second source view picture for the first viewing position, etc. can be.
  • each source view picture may mean different viewing positions.
  • a video transmission method includes removing inter-view redundancy of pictures for a plurality of viewing positions; Packing pictures with inter-view redundancy removed; And encoding packed pictures and signaling information. It may include.
  • a video transmission apparatus includes an inter-view redundancy remover that removes inter-view redundancy from pictures for a plurality of viewing positions; A packer for packing inter-view redundancy removed pictures; An encoder that encodes packed pictures and signaling information; It may include.
  • the video transmission apparatus can efficiently provide a plurality of multi-spherical images representing different viewing positions of the viewpoint.
  • the amount of data to be transmitted can be reduced by using a pruner according to embodiments.
  • a pruner or pruning step of a video transmission device, it is possible to efficiently and accurately provide views required for users with a small amount of data.
  • the configuration according to these embodiments can reduce the computational load on the video transmission and reception devices.
  • 31 illustrates view generation of a decoder post-processing unit according to embodiments.
  • FIG. 31 shows a decoder post-processing scheme with view regeneration according to embodiments.
  • FIG. 31 shows a decoder post-processing scheme in which different inputs are used to regenerate the first regenerated view picture (or regenerated v1 picture) and / or the second regenerated view picture (or regenerated v2 picture).
  • the target view is predicted based on the reference view (s), and the area that is difficult to predict (or unexpected) is filled by sparse views according to the embodiments. Can be.
  • the first regenerated view picture may be generated by the center view picture c0 and the first sparse view picture s1.
  • the second regenerated view picture may be generated by two reference pictures (ie, a center view picture c0 and one reference view picture r1) and a sparse view picture.
  • the decoder performs view regeneration to regenerate (or predict) the view (s) from the received pictures.
  • the view playback 31000 (or view player) generates (plays / predicts) the playback view v1 based on the center view c0 and the rare view s1.
  • a central view may be transmitted from an encoder or transmitter according to embodiments.
  • the central view may be generated by generating a central view according to the embodiments illustrated in FIG. 33.
  • the sparse view v1 is transmitted through the packed image. Therefore, in view regeneration, the view v1 can be generated using the center view c0 and the sparse view s1 that contain data that cannot be predicted.
  • the view playback 31001 (or view player) generates (plays / predicts) the playback view v2 based on the center view c0, the reference view r1 and the sparse view s2.
  • views (v1, v2, ... vN) can be (re) created based on the central view (s), sparse view (s) and / or reference view (s). .
  • the center view c0 may be generated by generating a center view from received reference view pictures, or according to embodiments, the center view c0 is included in the received reference view pictures. According to embodiments, one or more source views (v1, v2, ... vN) or one or more reference views (r1, r2 ,,,, rN) are included in the received picture.
  • a video receiving method includes decoding a bitstream of a video based on a viewing position and viewport information; Unpacking pictures and signaling information in the decoded bitstream, the unpacked bitstream including signaling information; View regenerating the unpacked pictures; And, view synthesizing the view regenerated pictures; It may include.
  • a decoder for decoding a bitstream (bitstream) of a video based on the viewing position (viewing position) and viewport information (viewport information);
  • An unpacker that unpacks pictures and signaling information in the decoded bitstream;
  • a view regenerator for regenerating unpacked pictures;
  • a view synthesizer for view synthesizing the view regenerated pictures; It may include.
  • the video transmission apparatus can efficiently provide a plurality of multi-spherical images representing different viewing positions of the viewpoint.
  • the receiver according to the embodiments may reduce the amount of data to be received and provide accurate and realistic views to users.
  • a view regeneration (or view regenerator) of a video receiving device may be used to efficiently and accurately provide views required for users with a small amount of data.
  • the configuration according to these embodiments can reduce the computational load on the video transmission and reception devices.
  • FIG 32 shows an encoder pre-processing scheme according to embodiments using a pruning unit and a sparse view selection unit according to the embodiments.
  • FIG. 32 illustrates an operation of an encoder pre-processing unit according to embodiments including a pruning unit and a sparse view selection unit according to the embodiments.
  • a sparse view with higher data efficiency may be selected. This may be determined by comparing whether a sparse view having a small amount of pixels among sparse view pictures or the like.
  • the source view picture (v1) in this example, since the source view v1 appears closer to the source view than the central view, the sparse view s2-2 may have higher data efficiency than s2-1.
  • the packer and / or encoder performs pruning and further performs sparse view selection.
  • the pruning 32000 (or pruner) removes the sparse view s1 based on the central view c0 and the source view v1.
  • the pruning 32001 prunes the sparse view s2-1 based on the center view c0 and the source view v2. For example, the source view v2 is subtracted from the central view c0.
  • Pruning 32002 prunes sparse view s2-2 based on source view (v1) and source view (v2) (e.g. source view (v2) is source view (v1) Subtract from).
  • the sparse view selection 32003 selects the sparse view to be packed or encoded, taking into account which sparse view is more efficient. For example, if the number of effective pixels of the rare view s2-1 is small, the rare view s2-1 is selected, and if the number of effective pixels of the rare view s2-2 is small, the rare view s2-1 is selected. .
  • Packing 32004 packs the sparse view (s1) or sparse view (s1) and the selected sparse view.
  • a video transmission method includes removing inter-view redundancy of pictures for a plurality of viewing positions; Packing pictures with inter-view redundancy removed; And encoding packed pictures and signaling information. It may include.
  • the step of removing inter-view redundancy may include: first pruning a first source view picture related to a first viewing position based on a center view picture; first pruning is a first sparse Create a view picture; Second pruning the first source view picture based on a second source view picture associated with a second viewing position different from the first viewing position, and the second pruning generates a second sparse view picture; And selecting one of the first sparse view picture and the second sparse view picture. It may include. Also, the encoding may further encode a selected one of the first sparse view picture and the second sparse view picture.
  • the transmission device performs an adaptive inter-view redundancy removal operation to adjust the amount of data and the amount of computation in response to the transmission / reception environment of the transmission device and the reception device by selecting a sparse view picture for one viewing position can do. Therefore, the transmission device according to the embodiments can quickly respond to the transmission / reception environment by selecting a sparse view in consideration of the transmission environment of the transmission device and the reception environment of the reception device.
  • the transmission device determines the amount of errors of various sparse view pictures for one viewing position and selects a picture with few errors, so that it is accurate to viewers using the receiving device. It is possible to provide a realistic virtual reality environment.
  • FIG. 33 illustrates performing view regeneration using a regenerated view according to embodiments as a reference view.
  • the decoder post-processor shows that the first regenerated view v1 regenerated by the first view regenerating unit 33000 is replaced with a reference view for generating the second regenerated view v2. Due to this configuration, it is possible to reduce the data size required to deliver the regenerated view (ie, the first regenerated view v1 and the second regenerated view v2) according to the embodiments.
  • the decoder (or receiver) performs view regeneration to generate a regenerated view (v1, v2, etc.).
  • the view playback 33000 regenerates (creates) the playback view v1 based on the center view and the rare view s1.
  • the reproduction view v1 can be predicted based on the center view and the sparse view s1.
  • the view regeneration 33001 regenerates the playback view v2 based on the sparse view s2 and at least one playback view r1 or the central view.
  • a video receiving method includes decoding a bitstream of a video based on a viewing position and viewport information; Unpacking pictures and signaling information in the decoded bitstream, the unpacked bitstream including signaling information; View regenerating the unpacked pictures; And, view synthesizing the view regenerated pictures; It may include.
  • a decoder for decoding a bitstream (bitstream) of a video based on the viewing position (viewing position) and viewport information (viewport information);
  • An unpacker that unpacks pictures and signaling information in the decoded bitstream;
  • a view regenerator for regenerating unpacked pictures;
  • a view synthesizer for view synthesizing the view regenerated pictures; It may include.
  • the reception device can accurately and efficiently generate regenerated views.
  • the receiving apparatus uses a picture for the first viewpoint (or first viewing position) to generate a picture for the second viewpoint (or second viewing position), thereby reducing the amount of data. You can regenerate views efficiently.
  • the transmission apparatus transmits the efficiency of data transmission by transmitting only the picture for the first viewpoint (or first viewing position) to provide a picture for the second viewpoint (or second viewing position). It can be increased, and the amount of computation can be reduced.
  • a decoder in accordance with embodiments can regenerate data more precisely and efficiently and replace reference views which can provide effects of decreasing burden on the decoder.By using this approach, the data size that is occupied to deliver reference view v1 could be reduced.
  • 34 illustrates an encoder pre-processing unit according to embodiments performing pruning and sparse view pruning according to embodiments.
  • FIG. 34 shows an encoder pre-processing scheme of an encoder pre-processing unit including a pruning unit and / or a sparse view pruning unit according to embodiments.
  • the sparse view pruning unit compares the sparse views and the reference sparse view (s) according to the embodiments, and the sparse views And redundancy between the reference sparse view (s).
  • FIG 33 an example of encoder pre-processing scheme with pruning module is described with the additional step called sparse view pruning.In this step, the sparse view of one view is compared with the reference sparse views and the redundancy between the sparse views are removed.
  • transmitting the first sparse view picture s1 and the second sparse view picture s2 may include a first sparse view picture corresponding to a reference sparse view picture. It may be replaced by transmitting a pruned sparse view picture (res_s2) indicating redundancy between (s1) and the first sparse view picture (s1) and the second sparse view picture (s2).
  • the pruned sparse view picture (res_s2, pruned sparse view picture) uses the first sparse view picture (i.e., the reference sparse view picture) to re-prune the picture using the second sparse view picture (s2).
  • the pruned sparse view picture prunes the second sparse view picture (ie, the reference sparse view picture) again using the first sparse view picture s1. It can also mean a picture. That is, if the first sparse view picture and the second sparse view picture are correlated or related, the second sparse view picture is pruned by the first sparse view picture. Can be predicted using.
  • the residual data or residual depending on the second sparse view picture s2 is transmitted by the reference sparse view picture s1 and the pruned sparse view picture res_s2. Can be.
  • the pruned sparse view picture according to the embodiments may display very small amounts of data. Can have This very small amount of data can be noise or less useful data. Therefore, the transmission apparatus according to the embodiments may not transmit the pruned sparse view picture having such a small amount of data.
  • whether or not to transmit the pruned sparse view picture may be determined by a residual detection unit (34003). That is, the residual detection unit may determine whether to transmit the pruned sparse view picture based on the size of the pruned sparse view picture.
  • the encoder performs pruning, sparse view pruning, residual detection and / or (packing) encoding.
  • the pruning 34000 prunes (creates) the sparse view s1 based on the central view c0 and the source view v1. For example, the sparse view s1 is created by subtracting the source view v1 from the central view c0.
  • the pruning 34001 removes the sparse view s2 based on the central view c0 and the source view v2. For example, the sparse view s2 is created by subtracting the source view v2 from the central view c0.
  • sparse view pruning 34002 (or sparse view pruner) is provided to reference sparse view s1 and sparse view s1, which are sparse views s1 generated by pruning.
  • the underlying pruned sparse view (res_s2) (s2) is a sparse view (s2) generated by pruning.
  • a pruned sparse view (res_s2) is created by subtracting the sparse view (s2) from the reference sparse view (s1).
  • Residual detection or residual detection (34003) (or residual detector, residual detector, residual detection unit) residual information in the pruned sparse view (res_s2) to determine whether the cut out sparse view (res_s2) is packed / encoded Detects.
  • Packing / encoding 34003 (or packet / encoder) is a sparse view (s1) or sparse view and a pruned sparse view (res_s2) when the pruned sparse view (res_s2) has data useful for encoding. Packing / encoding.
  • the center view picture and / or the center view generation information may be based on source view pictures included in pictures for a plurality of viewing positions. ); And synthesizing the intermediate view picture based on the source view pictures, and synthesizing the intermediate view picture include pre-generation information and / or view synthesis recommendation information. Generated; It may further include.
  • the step of removing inter-view redundancy may generate sparse view pictures based on at least two of source view pictures, intermediate view pictures, and / or center view pictures.
  • the step of removing view redundancy may further generate reference view pictures, reference view information, and regeneration information.
  • the video transmission method based on the sparse view picture associated with the second viewing position included in the sparse view pictures, the reference sparse associated with the first viewing position included in the sparse view pictures. It may include pruning a reference sparse view picture, and detecting residuals from the pruned sparse view picture.
  • the second viewing position is a viewing position different from the first viewing position, and the step of pruning the reference sparse view picture may generate a pruned sparse view picture.
  • the pruned sparse view picture may be packed in response to the presence of residuals.
  • the sparse view pruning unit and the residual detection unit according to the embodiments may further remove unnecessary or redundant information to increase data transmission efficiency of the transmission device according to the embodiments.
  • the receiving device can efficiently and accurately provide views required for users with a small amount of data.
  • the configuration according to these embodiments can reduce the computational load on the transmitting device and the receiving device.
  • 35 illustrates a decoder post processing scheme according to embodiments using view regeneration and / or sparse view regeneration according to embodiments.
  • a sparse view regeneration operation may be performed according to FIG. 35.
  • the reference sparse view (s1) and the pruned sparse view (res_s1) according to FIG. 35 may be represented by reference_sparse_view_id and pruned_sparse_view_id, respectively.
  • the location, rotation, and coverage of target views indicated by the reference sparse view picture and view_position_descriptor () are used. Disparity between views can be calculated.
  • the location, rotation, and coverage of the reference sparse view and the location, rotation, and coverage of the target view ( coverage) to calculate disparity between views.
  • the decoder performs sparse view playback and / or view playback (regeneration).
  • Sparse view playback (35000) (or sparse view regenerator) generates a playback sparse view (s2) based on the reference sparse view (s1) and the pruned sparse view (res_s1) according to embodiments )do.
  • the reference sparse view s1 (for the first viewpoint / viewpoint position) may be a reference view.
  • a sparse view player regenerates a sparse view from sparse views received in packed pictures in response to sparse view playback type information.
  • the view playback 3501 (or view player) generates a playback view v2 based on the center view c0 and the playback sparse view s2.
  • the central view is transmitted or generated at the decoder using the reference view.
  • the playback view (v2) can be (re) created using the central view and / or playback sparse view.
  • a video receiving method includes decoding a bitstream of a video based on a viewing position and viewport information; Unpacking pictures and signaling information in the decoded bitstream, the unpacked bitstream including signaling information; View regenerating the unpacked pictures; And, view synthesizing the view regenerated pictures; It may include.
  • the video receiving method includes generating a center view picture based on reference view pictures and center view generation information included in the unpacked pictures.
  • the step of regenerating the view may include regenerated views based on reference view pictures, sparse view pictures in unpacked pictures, center view picture, reference view information, and regeneration information. view).
  • the step of synthesizing the view may generate a synthesized view based on the regenerated view, the center view picture, the reference view pictures, the pre-generation information, and the view synthesis recording information.
  • the step of regenerating the view includes, as a first mode, regenerating a second sparse view picture from the first sparse view picture, based on the regenerated second sparse view picture and the center view picture. And generating a first regenerated view.
  • the step of regenerating the second sparse view picture is based on the pruned sparse view picture.
  • Can generate The second viewing position may be different from the first viewing position.
  • the sparse view pruning unit and the residual detection unit according to the embodiments may further remove unnecessary or redundant information to increase data transmission efficiency of the transmission device according to the embodiments.
  • the receiving device can efficiently and accurately provide views required for users with a small amount of data.
  • the configuration according to these embodiments can reduce the computational load on the transmitting device and the receiving device.
  • FIG. 36 shows a decoder post-processing scheme according to embodiments using view regeneration and / or sparse view regeneration according to embodiments.
  • a sparse view regeneration operation may be performed according to FIG. 36.
  • the reference sparse view (s1) according to FIG. 36 may be represented by reference_sparse_view_id.
  • the location, rotation, and coverage of target views indicated by the reference sparse view picture and view_position_descriptor () are used. Disparity between views can be calculated.
  • the location, rotation, coverage of the reference sparse view, and the location, rotation, and coverage of the target view ( coverage) to calculate disparity between views.
  • the location, rotation, coverage of the reference sparse view, and the location, rotation, and coverage of the target view are view position descriptors corresponding to reference_sparse_view_id and target_view_id, respectively. It can be indicated by information (that is, view_position_descriptor ()).
  • 36 shows another embodiment of a decoder post-processing scheme using sparse view regeneration.
  • 36 shows a sparse view regeneration operation when sparse_view_regeneration_type equal is 2.
  • the view regeneration unit according to the embodiments may not receive the pruned sparse view picture.
  • the sparse view regeneration unit (36000, or decoder post-processing unit) according to the embodiments uses a reference sparse view (s1) (or only using s1) to generate a sparse view. view, s2) can be predicted or estimated.
  • the view regeneration unit 36001 according to the embodiments regenerates the view (or target view) using the center view picture c0. , v2) can be regenerated.
  • other reference view pictures may be used together. Accordingly, when generating the regenerated view v2, the sparse view generation unit according to the embodiments may be performed before the view regeneration unit.
  • the decoder performs sparse view playback and / or view playback.
  • the sparse view playback 36000 (or sparse view player) generates a playback sparse view s2 based on the reference sparse view s1.
  • a reference sparse view eg, s1, s3, etc.
  • signaling information related to sparse views may be used for sparse view playback.
  • View playback 36001 (or view player) creates a playback view v2 based on the center view c0 and the playback sparse view s2 according to embodiments.
  • a video receiving method includes decoding a bitstream of a video based on a viewing position and viewport information; Unpacking pictures and signaling information in the decoded bitstream, the unpacked bitstream including signaling information; View regenerating the unpacked pictures; And, view synthesizing the view regenerated pictures; It may include.
  • the video receiving method includes generating a center view picture based on reference view pictures and center view generation information included in the unpacked pictures.
  • the step of regenerating the view may include regenerated views based on reference view pictures, sparse view pictures in unpacked pictures, center view picture, reference view information, and regeneration information. view).
  • the step of synthesizing the view may generate a synthesized view based on the regenerated view, the center view picture, the reference view pictures, the pre-generation information, and the view synthesis recording information.
  • the step of regenerating the view includes, as a first mode, regenerating a second sparse view picture from the first sparse view picture, based on the regenerated second sparse view picture and the center view picture. And generating a first regenerated view.
  • the step of regenerating the second sparse view picture is based on the pruned sparse view picture.
  • Can generate The second viewing position may be different from the first viewing position.
  • the sparse view pruning unit and the residual detection unit according to the embodiments may further remove unnecessary or redundant information to increase data transmission efficiency of the transmission device according to the embodiments.
  • the receiving device can efficiently and accurately provide views required for users with a small amount of data.
  • the configuration according to these embodiments can reduce the computational load on the transmitting device and the receiving device.
  • FIG. 37 illustrates a decoder post-processing scheme according to embodiments using view regeneration and / or sparse view regeneration according to embodiments.
  • sparse_view_regeneration_type 3
  • a sparse view regeneration operation may be performed according to FIG. 37.
  • the pruned sparse view picture may not be included in the decoded and / or unpacked pictures.
  • the decoder post-processing unit may predict (or predict) the sparse view picture s2 from the reference sparse view picture s1 (or only from the reference sparse view picture).
  • the difference from the case in which sparse_view_regeneration_type equal is 2 is that the sparse view regeneration unit 37001 predicts the sparse view picture s2 using the temporarily regenerated view v1.
  • the decoder post-processing unit may include a sparse view regeneration unit for generating the predicted sparse view picture s2.
  • the regenerated v2 picture may be generated by the center view picture c0 and / or the predicted sparse view picture s2. Therefore, as shown in FIG. 37, the sparse view regenerating unit may be performed prior to the view regeneration unit for regenerating the regenerated v2 picture.
  • a sparse view regeneration operation may be performed according to FIG. 37.
  • the reference sparse view (s1) according to FIG. 37 may be represented by reference_sparse_view_id.
  • the temporarily regenerated view v1 may be generated.
  • the temporarily regenerated view may be referred to as a reference view.
  • the location, rotation, coverage of the reference sparse view, and the location, rotation, and coverage of the target view are view position descriptors corresponding to reference_sparse_view_id and target_view_id, respectively. It can be indicated by information (that is, view_position_descriptor ()).
  • the decoder or receiver performs view playback, sparse view playback, and / or view playback.
  • the view playback 37000 (or view player) generates a temporally generated view v1 based on the central view c0 and the sparse view s1.
  • the temporally generated view is a view picture used for temporally sparse view reproduction according to embodiments.
  • the sparse view reproduction 37001 (or sparse view player) generates an estimated sparse view s2 based on the temporally generated view v1.
  • the (estimated) sparse view by reproducing the center estimate c0, the sparse view s1, the temporally generated view v1 (s2) is generated.
  • View playback (37002) (or view player) creates a playback view (v2) based on the center view (c0) and the estimated sparse view (s2).
  • the reproduction view v2 is generated using the center view c0 and the sparse view s1.
  • a video receiving method includes decoding a bitstream of a video based on a viewing position and viewport information; Unpacking pictures and signaling information in the decoded bitstream, the unpacked bitstream including signaling information; View regenerating the unpacked pictures; And, view synthesizing the view regenerated pictures; It may include.
  • the video receiving method includes generating a center view picture based on reference view pictures and center view generation information included in the unpacked pictures.
  • the step of regenerating the view may include regenerated views based on reference view pictures, sparse view pictures in unpacked pictures, center view picture, reference view information, and regeneration information. view).
  • the step of synthesizing the view may generate a synthesized view based on the regenerated view, the center view picture, the reference view pictures, the pre-generation information, and the view synthesis recording information.
  • the step of regenerating the view according to the embodiments is based on the first viewing position associated with the first viewing position included in the center view picture and the sparse view pictures as the second mode, and any associated with the first viewing position.
  • Generating a temporally generated view estimating a second sparse view picture associated with the second viewing position from the randomly generated view and a second based on the estimated second sparse view picture and the center view picture And generating a regenerated view associated with the viewing position.
  • the estimating step may estimate the second sparse view picture based on the pruned sparse view picture.
  • the sparse view pruning unit and the residual detection unit according to the embodiments may further remove unnecessary or redundant information to increase data transmission efficiency of the transmission device according to the embodiments.
  • the receiving device can efficiently and accurately provide views required for users with a small amount of data.
  • the configuration according to these embodiments can reduce the computational load on the transmitting device and the receiving device.
  • 38 illustrates a decoder post-processing scheme according to embodiments using view regeneration and / or sparse view regeneration according to embodiments.
  • sparse_view_regeneration_type 4
  • a sparse view regeneration operation may be performed according to FIG. 38.
  • the pruned sparse view picture may not be included in the decoded and / or unpacked pictures.
  • the reference sparse view (s1) according to FIG. 38 may be represented by reference_sparse_view_id.
  • the target view may be regenerated by the operation of the view synthesis unit.
  • the location, rotation, and coverage of the reference view ie, the regenerated v1 picture
  • the target view's location, rotation, and coverage To calculate disparity between views.
  • the location, rotation, coverage of the reference sparse view, and the location, rotation, and coverage of the target view are view position descriptors corresponding to reference_sparse_view_id and target_view_id, respectively. It can be indicated by information (that is, view_position_descriptor ()).
  • the decoder performs view reproduction and / or view synthesis.
  • the view playback 3800 (or view player) generates a playback view v1 based on the center view c0 and the sparse view s1.
  • View synthesis 38001 (or view synthesizer) synthesizes the playback view v2 based on the center view c0 and the playback view v1. According to embodiments, view synthesis generates a viewpoint for a new viewpoint or a target viewpoint.
  • a video receiving method includes decoding a bitstream of a video based on a viewing position and viewport information; It may include unpacking pictures and signaling information in the decoded bitstream, view regenerating unpacked pictures, and view synthesizing the view regenerated pictures.
  • the unpacked bitstream may include signaling information.
  • the video receiving method includes generating a center view picture based on reference view pictures and center view generation information included in the unpacked pictures.
  • the step of regenerating the view may include regenerated views based on reference view pictures, sparse view pictures in unpacked pictures, center view picture, reference view information, and regeneration information. view).
  • the step of synthesizing the view may generate a synthesized view based on the regenerated view, the center view picture, the reference view pictures, the pre-generation information, and the view synthesis recording information.
  • the reception device can efficiently synthesize the target view.
  • the sparse view pruning unit and the residual detection unit may further remove unnecessary or redundant information to increase data transmission efficiency of the transmission device according to the embodiments.
  • the receiving device can efficiently and accurately provide views required for users with a small amount of data.
  • the configuration according to these embodiments can reduce the computational load on the transmitting device and the receiving device.
  • 39 shows a syntax of a sparse view regeneration information SEI message according to embodiments.
  • parameters shown in FIG. 39 may be included in a view regeneration information SEI message or a multi-view packing and view reproduction information SEI message.
  • the sparse view regeneration information SEI message according to the embodiments indicates information on performing regeneration of the sparse view picture according to the embodiments.
  • sparse_view_regeneration_info_id may contain identifier an identifying number that may be used to identify the purpose of sparse view regeneration.
  • the value of sparse_view_regeneration_info_id indicates different use cases of this SEI message, supports different receiver functions, indicates how to play different sparse view pictures, or requires an action to replay sparse view pictures before regenerating the view. Can be used to indicate the location (texture and depth, etc.) for other views.
  • sparse_view_regeneration_info_id the contents of this view regeneration information SEI message are the same. If a sparse view regeneration information SEI message exists, this information is information indicated by other values of the sparse view regeneration info ID when it has one or more values of the sparse view regeneration info ID (sparse_view_regeneration_info_id). Shows. It is also alternative information that is provided for different purposes, different components, such as textures, depths, or is a continuation of the correction.
  • sparse view regeneration information SEI message When more than one sparse view regeneration information SEI message is present with the same value of sparse_view_regeneration_info_id, the content of these sparse view regeneration information SEI messages may be the same.When sparse view regeneration information SEI messages are present that have more than one value of sparse_view_regeneration_info_id, this may indicate that the information indicated by the different values of sparse_view_regeneration_info_id are alternatives that are provided for different purposes , for different component (such as texture , depth, etc) or that a cascading of correction The value of sparse_view_regeneration_info_id may be in the range of 0 to 2 12 -. 1, inclusive).
  • sparse_view_regeneration_info_cancel_flag 1 indicates that the sparse view regeneration information SEI message cancels the persistence of the previous sparse view regeneration information SEI message in the output order applied to the current layer. (Equal to 1 indicates that the sparse view regeneration information SEI message cancels the persistence of any previous sparse view regeneration information SEI message in output order that applies to the current layer.sparr_view_regeneration_info_cancel_flag equal to 0 indicates that sparse view regeneration information follows.)
  • sparse_view_regeneration_info_persistence_flag specifies the persistence of the sparse view regeneration information SEI message for the current layer.
  • sparse_view_regeneration_info_persistence_flag 0 indicates that the sparse view regeneration information applies to the current decoded picture only.
  • the picture A is a current picture as an example, it is as follows. If the Sparse View Regeneration Info Persistence flag is 1, the Sparse View Regeneration Information SEI message continues for the current layer as an output order until the next conditions become true.
  • PicOrderCnt (picB) and PicOrderCnt (picA) are the PicOrderCntVal values of Picture A and Picture B, respectively, and immediately after the information of the decoding process for the picture order count of Picture B (Let picA be the current picture.
  • Sparse_view_regeneration_info_persistence_flag to 1 specifies that the sparse view regeneration information SEI message persists for the current layer in output order until any of the following conditions are true:
  • the bitstream ends.
  • a picture picB in the current layer in an access unit containing a sparse view regeneration information SEI message that is applicable to the current layer is output for which PicOrderCnt (picB) is greater than PicOrderCnt (picA), where PicOrderCnt (picB) and PicOrderCnt ( picA) are the PicOrderCntVal values of picB and picA, respectively, immediately after the invocation of the decoding process for the picture order count of picB.
  • num_sparse_view_minus1 represents the number of views (or the number of views minus 1) when a component is generated by a sparse view regeneration operation. . (num_sparse_view_minus1 plus 1 specifies the number of views that needs sparse view regeneration process to generate the component of the viewing position by this SEI message.)
  • target_view_id is signaling information indicating the number of head positions or viewing positions of a sparse view regeneration process. This is one of pre-defined information identifying the number of 3DoF + viewing positions described in the same SEI message or another SEI message.
  • target_view_id [i] represents identification information for the target view. (target_view_id specifies the i-th identifying number of the viewing position or head position of the sparse view regeneration process.
  • This value may be one of the pre-defined identifying number of a viewing positions of a 3DoF + video specified in the same or in the other SEI message, such as mrwp_view_id specified in the multiview region-wise packing SEI message, viewing_position_id specified in the viewing position group information SEI message.
  • target view id [i] represents identifier information for a target view.
  • num_components [i] The number of components related to the i-th view. (specifies the number of the components that are related to the i-th view)
  • component_id [i] [j] is a j-th component according to embodiments of a reference viewing position or head position used to predict (or reconstruct, predict) the i-th component. Indicates the identifier (number) to be identified. (specifies the identifying number of the j-th component of a reference viewing position or head position that is used to estimate (to regenerate, to reconstruct, or to predict) the i-th component). This value may be one of the predefined identification numbers of components belonging to the viewing position of the 3DoF + video specified in the same or different SEI message, such as mrwp_component_id specified in the packing SEI message for each multi-view region.
  • component_type [i] [j] Indicates the type of the i-th component.
  • component_type [i] [j] is 1, the component may mean a video or texture component. (1 indicates the component is a video or texture component.)
  • component_type [i] [j] is 2
  • the component may indicate a depth map.
  • the component may mean an alpha channel. (3 indicates the component is an alpha channel)
  • the pixel value of the texture picture corresponding to the pixel position may not be transparent (When the value of a pixel equals to 1, the value in a texture picture at the corresponding pixel location is not transparent).
  • the pixel When the value of the pixel is 0, the pixel may be transparent.
  • component_type [i] [j] is 4, the component may mean an indication map for usability indication (4 indicates the component is an indication map for usability indication).
  • the pixel value of the texture picture corresponding to the pixel position may be a target pixel for occlusion enhancement.
  • the pixel may be a pixel in which the occlusion enhancement operation is not performed.
  • component_type [i] [j] is 5
  • the component may mean an overlay (5 indicates the component is a overlay)
  • component_type [i] [j] is 6 to 15, it may be left for future use.
  • the component type information may indicate texture, depth, alpha channel, overlay, and the like.
  • pruned_sparse_view_present_flag [i] [j] When pruned_sparse_view_present_flag [i] [j] is 1, it indicates that there is a pruned sparse view for the j-th component of the i-th viewing position. (equal to 1 specifies the pruned_sparse_view is present for the j-th component of the i-th viewing position). When pruned_sparse_view_present_flag [i] [j] is 0, it indicates that there is no pruned sparse view for the j-th component of the i-th viewing position. Accordingly, the sparse view regeneration operation can be performed without additional information.
  • the reference sparse view may be directly predicted, or the sparse view picture may be directly predicted using the reference view picture.
  • reference_sparse_view_present_flag [i] [j] When reference_sparse_view_present_flag [i] [j] is 1, it indicates that there is a reference sparse view for the j-th component of the i-th viewing position. (specifies the reference sparse view is present for the j-th component of the i-th viewing position.) On the other hand, when reference_sparse_view_present_flag [i] [j] is 0, the reference sparse view is the j-th component of the i-th viewing position. Indicates that there is no reference sparse view for. (the reference sparse view is not present for the j-th component of the i-th viewing position)
  • sparse_view_regeneration_type [i] [j] represents the recommended sparse view regeneration action for the j th component of the i th viewing position. (specifies the indicator of the recommended sparse view regeneration process for the j-th component of the i-th viewing position.)
  • sparse_view_regeneration_type [i] [j] is 1, the sparse view regeneration scheme 1 is recommended (used).
  • the sparse view regeneration scheme 1 uses the reference sparse view picture and / or the pruned sparse view picture according to the embodiments to determine the sparse view picture for the jth component for the i-th viewing position. It means to create. (equal to 1 indicates that the sparse view regeneration scheme 1 is recommended.
  • type 1 could be a scheme that uses both reference sparse view and pruned sparse view to regenerate the sparse view of the j-th component of the i- th viewing position.) The specific operation will be described in FIG. 55.
  • sparse_view_regeneration_type [i] [j] If this is 2, the sparse view regeneration scheme 2 is recommended (used).
  • the sparse view regeneration scheme 2 uses j for the i-th viewing position using only the reference sparse view picture according to the embodiments without the pruned sparse view. It means creating a sparse view picture for the second component. (equal to 2 indicates that the sparse view regeneration scheme 2 is recommended.
  • type 2 could be the scheme that predicts the sparse view from the reference sparse view without pruned sparse view of the j-th component of the i-th Viewing position.) Specific operation is described in FIG. 57.
  • sparse view regeneration scheme 3 means generating (predicting) a sparse view picture using a temporarily regenerated view picture without a pruned sparse view picture according to embodiments. . It means generating a sparse view picture for the j-th component for the i-th viewing position using only the reference sparse view picture according to the embodiments without the pruned sparse view picture.
  • type 3 could be the scheme that predicts the sparse view from the regenerated view without pruned sparse view of the j-th component of the i-th viewing position.
  • sparse_view_regeneration_type [i] [j] is 4, Sparse View Regeneration Scheme 3 is recommended (used).
  • the sparse view regeneration scheme 4 means predicting another regenerated view using an adjacent regenerated view. (equal to 4 indicates that the sparse view regeneration scheme 4 is recommended.In this document, type 4 could be the scheme that predicts the regenerated view with the adjacent regenerated view.
  • sparse_view_regeneration_type [i] [j] values may be reserved for future use. (Other valuse of sparse_view_regeneration_type [i] [j] are reserved for future use cases.)
  • pruned_sparse_view_id [i] [j] and reference_sparse_view_id [i] [j] denote identifiers (numbers) that identify the pruned sparse view picture and the reference sparse view picture, respectively.
  • identifiers numbers
  • a pruned sparse view picture and a reference view picture related to sparse view regeneration of the j-th component of each i-th viewing position (or head position) may be represented. (specifies the identifying number of the pruned sparse view and reference sparse view those are related to the sparse view regeneration of the j-th component of the i-th viewing position or head position.)
  • pruned_sparse_view_id [i] [j] and reference_sparse_view_id [i] [j] are in the same or different SEI messages (e.g. mrwp_component_id in the multiview region-wise packing SEI messag or picture_id in the viewing position group information SEI message Etc.)
  • This value can be one of the pre-defined identifying number of a component that belongs to a viewing positions).
  • a 3DoF + video specified in the same or in the other SEI message such as mrwp_component_id specified in the multiview region-wise packing SEI message, or picture_id specified in the viewing position group information SEI message.
  • the corresponding identifier may be managed or managed according to the decoder post-processing unit of the receiving device according to the embodiments. Accordingly, the receiving device according to the embodiments may provide a relationship between pictures generated by an unpacking operation and pictures used for view regeneration (and / or view composition and / or viewport renderer). (In the other implementation of the sparse view regeneration, the identifier could be managed within the receiver decoder post-processing so that could provide linkage between pictures generated from unpacking process and the pictures used for the view regeneration including sparse view regeneration or view synthesis and viewport renderer.)
  • the viewing position can be used to provide disparity (disparity or parallax) between current and reference viewing positions.
  • disparity disarity or parallax
  • the view position could be provided to use the disparity between the current and the reference viewing positions.
  • an identifier of a texture and / or depth of a current viewing position and / or a different viewing position may be provided for use as information in other component types.
  • the identifier of texture and / or depth of the current and / or other viewing position could be provided to utilize the information in the other component type.
  • viewing_position_id represents an identifier for a viewing position. This parameter may be described by a viewing position, orientation, and coverage. This parameter can be described by viewing_position_x, viewing_position_y, and viewing_position_z, viewing_orientation_yaw, viewing_orientation_pitch, viewing_orientation_roll, coverage_horizontal coverage_vertical, each parameter.
  • viewing_position_id indicate the identifier of a viewing position that is described by the viewing position, orientation and coverage, specified by viewing_position_x, viewing_position_y, and viewing_position_z, viewing_orientation_yaw, viewing_orientation_pitch, and viewing_orientation_roll, and coverage_horizontal and coverage_vertical, respectively.
  • viewing_position_id is another viewing position It may be a parameter described to distinguish the difference from. (The parameters or features which describe the viewing position could be added to differentiate different viewing positions.)
  • the viewing_position_x , viewing_position_y , and viewing_position_z are 2 -16th millimeters units, respectively, and may be information for indicating the (x, y, z) position of the viewing position of the decoded picture.
  • the range of viewing_position_x, viewing_position_y and viewing_position_z may include -32768 * 2 ⁇ 16-1 (ie, -2147483647) or more and 32768 * 2 ⁇ 16 (ie, 2147483648) or less.
  • viewing_position_x, viewing_position_y and viewing_position_z may be in the range of -32768 * 2 16 - 1 (ie, -2147483647) to 32768 * 2 16 (ie, 2147483648), inclusive.
  • viewing_position_x, viewing_position_y and viewing_position_z may be expressed as absolute positions in XYZ coordinates, or as relative positions from an anchor position (center position). (The value of viewing_position_x, viewing_position_y and viewing_position_z could be reprsented by absolute position in the XYZ coordinate or relateive position corresponding to the anchor location.)
  • the viewing_orientation_yaw , viewing_orientation_pitch , and viewing_orientation_roll may mean a yaw, pitch, or roll orientation angle in 2 ⁇ -16 degree units.
  • the value of viewing_orientation_yaw may include a range of -180 * 2 ⁇ 16 (ie, -11796480) or more and 180 * 2 ⁇ 16 (ie, 11796480) or less.
  • the value of viewing_orientation_pitch may include a range of -90 * 2 ⁇ 16 (ie, -5898240) or more and 90 * 2 ⁇ 16 (ie, 5898240) or less.
  • the value of viewing_orientation_roll may include a range of -180 * 2 ⁇ 16 (ie, -11796480) or more and 180 * 2 ⁇ 16 (ie, 11796480) or less. . (indicate the yaw, pitch, and roll orientation angles in units of 2 -16 degrees, repectively
  • the value of viewing_orientation_yaw may be in the range of -180 * 2 16 (ie, -11796480) to 180 * 2 16 - 1 ( ie, 11796479), inclusive
  • the value of viewing_orientation_pitch may be in the range of -90 * 2 16 (ie, -5898240) to 90 * 2 16 (ie, 5898240), inclusive
  • the value of viewing_orientation_roll may be in the range of -180 * 2 16 (ie , -11796480) to 180 * 2 16 - 1 (ie, 11796479), inclusive).
  • viewing_orientation_yaw, viewing_orientation_pitch, and viewing_orientation_roll may be used as azimuth, elevation, and tilt, respectively.
  • viewing_orientation_yaw, viewing_orientation_pitch, and viewing_orientation_roll could be used to indicate azimuth, elevation, and tilt, respectively.
  • the coverage_horizontal and coverage_vertical indicate horizontal ranges and vertical ragnes of the coverage of the viewing position.
  • the unit of each range is 2 -16 degree. (specifies the horizontal and vertical ranges of the coverage of the viewing position corresponding to the decoded picture, in units of 2 -16 degrees, respectively.)
  • the video transmitting apparatus and the video receiving apparatus use sparse view regeneration information, which may be referred to as signaling information and / or metadata, to regenerate texture and depth pictures for viewing positions (transmission / Receive).
  • sparse view regeneration information which may be referred to as signaling information and / or metadata
  • Signaling information may be generated in a process of sparse view pruning described in more detail in FIG. 32.
  • Signaling information (sparse view regeneration information) according to embodiments may be used in the process of sparse view regeneration described in more detail in FIG. 33.
  • signaling information (sparse view regeneration information) is used in FIGS. 30 to 42.
  • Signaling information includes viewing position group information, and viewing position group information includes center view generation information, pre-generation information, and view synthesis recording information. (view synthesis recommendation information), reference view information (reference view information) and regeneration information (regeneration information).
  • the video transmission apparatus can efficiently provide a plurality of multi-spherical images representing different viewing positions of the viewpoint.
  • FIG. 40 shows the syntax of a viewing position group information SEI message according to embodiments.
  • the Viewing position group information SEI message syntax according to the embodiments described with reference to FIG. 31 illustrates an embodiment of the syntax of signaling information for the operation of the video transmission method according to the embodiments and the video reception method according to the embodiments. It is shown. That is, the video transmission method according to the embodiments and the video reception method (or device) according to the embodiments may include all or part of signaling information and parameters in the Viewing position group information SEI message syntax according to the embodiments shown in FIG. 31. Can be sent or received.
  • Viewing position group information SEI message syntax may be included in a bitstream encoded by an encoder according to embodiments at a transmitting end, or transmitted from a block or module other than the encoder according to embodiments It can also mean information. Conversely, Viewing position group information SEI message syntax or some parameters or groups of parameters included therein may be included in a bitstream received at a receiving end or may be received through a separate path.
  • signaling information and parameters in the Viewing position group information SEI message syntax shown in FIG. 31 may be all encoded and transmitted by an encoder according to embodiments of the encoder stage (transmission stage), and only some of them may be encoded by the encoder May be transmitted.
  • the Viewing position group information SEI message syntax may include all or part of the signaling information described with reference to FIGS. 24 to 40.
  • packing metadata and reconstruction parameters according to the embodiments may be included in a part of the Viewing position group information SEI message syntax, and conversely, the Viewing position group information SEI message syntax May include only some of packing metadata and reconstruction parameters.
  • center view generation information, reference view information, regeneration information, pre-generation information, and / or view syntheses may be included in part of the Viewing position group information SEI message syntax, and conversely, the Viewing position group information SEI message syntax may include only a part of the related signaling information described above. Similarly, the signaling information according to the embodiments in FIG. 28 may be included in part of the Viewing position group information SEI message syntax, or vice versa.
  • Viewing position group information SEI message provides information between viewing position groups and relations between viewing position groups within a 3D virtual space and pre-decoding process.
  • the viewing position group information SEI message may provide information for restoring pictures in a regeneration process for a viewing position.
  • the Viewing position group information SEI message provides information of the a viewing position group and the relationship between them in the 3D virtual space and post-decoding process (eg, regeneration process to restore pictures of intended viewing positions) corresponding to a viewpoint (or center / anchor viewing position))
  • viewing_position_group_info_id includes an identification number that identifies the purpose of the viewing position information.
  • the value of viewing_position_info_id can be used to indicate different use cases of this SEI message, such as to support different receiver capabilities, or to indicate different points or different levels of information contained in this SEI message.
  • this information indicates that this information is indicated by other values of the viewing position group info ID when it has one or more values of the viewing position group info ID (sparse_view_regeneration_info_id). It is also alternative information that is provided for different purposes, different components, such as textures, depths, or is a continuation of the correction.
  • viewing position group information SEI message When more than one viewing position information SEI message is present with the same value of viewing_posidion_group_info_id, the content of these viewing position group information SEI messages may be the same.
  • viewing position group information SEI messages are present that have more than one value of viewing_position_group_info_id, this may indicate that the information indicated by the different values of viewing_posidion_group_info_id are alternatives that are provided for different purposes or that a cascading of correction to be applied in a sequential order (an order might be specified depending on the application) .
  • the value of viewing_posidion_group_info_id may be in the range of 0 to 2 12 1, inclusive.
  • viewing_position_group_info_cancel_flag When viewing_position_group_info_cancel_flag has a value of 1, it indicates that the viewing position group information SEI message cancels the persistence of the previous viewing position group information SEI message in the output order applied to the current layer. equaling 1 indicates that the viewing position group information SEI message cancels the persistence of any previous viewing position group information SEI message in output order that applies to the current layer .viewing_position_group_info_cancel_flag equal to 0 indicates that viewing position group information follows.)
  • viewing_position_group_info_persistence_flag describes the persistence of the viewing position information SEI message for the current layer. (specifies the persistence of the viewing position group information SEI message for the current layer.)
  • picture A is a current picture as an example, it is as follows. If viewing_position_group_info_persistence_flag is 1, the viewing positioning information SEI message continues for the current layer as an output order until the next conditions become true.
  • PicOrderCnt (picB) is greater than PicOrderCnt (picA).
  • PicOrderCnt (picB) and PicOrderCnt (picA) are PicOrderCntVal values of Picture A and Picture B, respectively, and immediately after the information of the decoding process for picture order count of Picture B.
  • viewing_position_group_info_persistence_flag 0 specifies that the viewing position group information applies to the current decoded picture only.
  • viewing_position_group_info_persistence_flag 1 specifies that the viewing position group information SEI message persists for the current layer in output order until any of the following conditions are true:
  • viewpoint_id may mean identifier information indicating a viewpoint of a viewing position group described by the corresponding SEI message. (specifies the identifier that indicates the viewpoint of the viewing position group that is described in this SEI message.)
  • the viewpoint ID (viewpoint_id) may be described in another SEI message. Viewpoint IDs can be defined in different SEI messages to describe the entire view comprising a subset of spatially or conceptually adjacent VR / AR environments or perspectives that are related to each other so that users can switch from one location to another.
  • viewpoint_id might be defined in the other SEI message to describe the overall viewpoints that consists the overall VR / AR environment or subset of viewpoints those are related to each other with spatially or conceptually adjacent so that user could switch from one position to the other positions.
  • viewpoint_id can indicate where the viewpoint is located under the assumption that there is a viewpoint map.
  • the viewpoint may mean one of the corresponding viewing positions.
  • a center viewing position or an anchor viewing position For example, a center viewing position or an anchor viewing position.
  • the viewpoint could be one of the viewing positions, such as center viewing position or anchor viewing position, which could represent the viewing position group.
  • the viewpoint may be represented by XYZ coordinates indicated by view_point_descriptor (), viewing orientation (yaw, pitch, roll), horizontal and / or vertical coverage. .
  • view_point_descriptor The details of viewpoint could be described by XYZ position, viewing orientation (yaw, pitch, and roll), and horizontal and vertical coverage described in view_point_descriptor ().
  • the viewing_position_id could indicate one of the viewing position defined in this SEI message.
  • the view_point_descriptor means information or a descriptor indicating the position of the viewpoint, the coverage of the viewing position (that is, information about the entire coverage) and information about the viewing orientation (that is, information about the entire rotation).
  • the view_point_descriptor may include viewing_position_id, viewing_position_x, viewing_position_y, viewing_position_z, viewing_position_yaw, viewing_position_pitch, viewing_position_roll, coverage_horizontal and / or coverage_vertical, which will be described later.
  • out_of_center_ref_view_present_flag could signal the numbers if needed.
  • center_view_present_flag 1
  • received pictures according to embodiments for a viewpoint corresponding to viewpoint_id include a center viewing position (or anchor viewing position, a representative viewing position) corresponding to the center view. . ( equal to 1 indicate that the video corresponding to the center (or anchor or representative) viewing position is present in the group of videos for this viewpoint corresponding to viewpoint_id.)
  • center_view_present_flag 0
  • the viewpoint corresponding to viewpoint_id is performed.
  • the received pictures according to examples may mean that the center viewing position corresponding to the center view (or an anchor viewing position, a representative viewing position) is not included. (equal to 0 indicate that the video the corresponding to the center (or anchor or representative) viewing position is not present in the group of videos for this viewpoint corresponding to viewpoint_id.)
  • center_view_present_flag may be set to 1 when there is at least one viewing position with viewing_position_picture_type 0 in the corresponding SEI message. (might be set equal to 1 when at least one viewing position whose viewing_position_picture_type [i] equal to 0 is present in the current SEI message.)
  • out_of_center_ref_view_present_flag When out_of_center_ref_view_present_flag is 1, a video (or picture) that does not correspond to a center (or anchor or representative, viewing) position is present in a group of videos (or pictures) for a viewpoint corresponding to the viewpoint_id Means When out_of_center_ref_view_present_flag is 0, a video (or picture) that does not correspond to a center (or anchor or representative, viewing) position is present in a group of videos (or pictures) for a viewpoint corresponding to the viewpoint_id It means not. out_of_center_ref_view_present_flag may be signaled as a number or may indicate the number of videos (or pictures) that do not correspond to the center viewing position.
  • out_of_center_ref_view_present_flag may be set to 1 when a picture for at least one viewing position with viewing_position_picture_type [i] 1 is present in a current SEI message. (out_of_center_ref_view_present_flag might be set equal to 1 when at least one viewing position whose viewing_position_picture_type [i] equal to 1 is present in the current SEI message.)
  • source_view_with_regeneration_present_flag When source_view_with_regeneration_present_flag is 1, it means that a viewing position requiring additional processing (s) to reconstruct the intended picture is included in the set of viewing positions of the viewpoint corresponding to the current viewpoint_id. Can be. (equal to 1 indicate that viewing position that needs additional processing (s) to reconstruct a intended picture is included in the set of viewing positions of a viewpoint that corresponding to the current viewpoint_id.)
  • source_view_with_regeneration_present_flag When source_view_with_regeneration_present_flag is 0, it means that a viewing position that requires additional processing (s) to reconstruct the intended picture is not included in the set of viewing positions of the viewpoint corresponding to the current viewpoint_id. can do. (source_view_with_regeneration_present_flag equal to 0 indicate that viewing position that needs additional processing (s) to reconstruct a intended picture is not included in the set of viewing positions of a viewpoint that corresponding to the current viewpoint_id.)
  • source_view_with_regeneration_present_flag may be set to 1 when a picture for at least one viewing position with viewing_position_picture_type [i] 2 is present in a current SEI message. (source_view_with_regeneration_present_flag might be set equal to 1 when at least one viewing position whose viewing_position_picture_type [i] equal to 2 is present in the current SEI message.)
  • pregenerated_view_present_flag 1
  • pregenerated_view_present_flag 0, it means that the viewing position (or picture for the viewing position) not originally captured but generated before the encoding operation is not included in the set of viewing positions of the viewpoint corresponding to the current viewpoint_id. Can be.
  • pregenerated_view_present_flag may be set to 1 when a picture for at least one viewing position with viewing_position_picture_type [i] 3 is present in the current SEI message. (pregenerated_view_present_flag might be set equal to 1 when at least one viewing position whose viewing_position_picture_type [i] equal to 3 is present in the current SEI message.)
  • a viewing position (or picture related to a viewing position) with respect to additional information or additional information that can be used in the operation of view synthesis of a intermediate view or intermediate view generation It may mean that it is included in the set of viewing positions of the viewpoint corresponding to the current viewpoint_id.
  • a viewing position (or picture regarding a viewing position) with respect to additional information or additional information that can be used in the operation of view synthesis of a intermediate view or intermediate view generation It may mean that it is not included in the set of viewing positions of the viewpoint corresponding to the current viewpoint_id (equal to 1 indicate that viewing position that additional information that could be used in the view synthesis of a intermediate view or determine the process of the intermediate view generation is present in the set of viewing positions of a viewpoint that corresponding to the current viewpoint_id.
  • analyzed_view_synthesis_info_present_flag 0 indicate that viewing position that additional information that could be used in the view synthesis of a intermediate view or determine the process of the intermediate view generation is not p resent in the set of viewing positions of a viewpoint that corresponding to the current viewpoint_id.
  • the analyzed_view_synthesis_info_present_flag may be set to 1 when a picture for at least one viewing position with viewing_position_picture_type [i] 4 is present in the current SEI message. (analyzed_view_synthesis_info_present_flag might be set equal to 1 when at least one viewing position whose viewing_position_picture_type [i] equal to 4 is present in the current SEI message.)
  • dynamic_interview_reference_flag When dynamic_interview_reference_flag is 1, it indicates that a view reconstruct (reconstruct or regenerate) operation (or a regeneration operation of a viewing position) may change as time changes. When dynamic_interview_reference_flag is 0, it indicates that a view reconstruct (reconstruct or regenerate) operation (or a regeneration operation of a viewing position) does not change with time. Accordingly, it indicates that a reference picture relationship can be utilized within the entire video sequence.
  • Center view generation information may include alternative_viewing_position_id, alternative_view_distance, rec_center_view_generation_method_type [i], viewing_position_id [i], center_view_generation_parameter [i], num_pictures_for_center_view_generation, rec_center_view_generation_method_type [i], and the like. Whether all or part of the signaling information included in the center view generation information is present can be known by center_view_present_flag.
  • alternative_viewing_position_id may mean an identifier indicating a viewing position (or a picture for a viewing position) of a center reference viewing position (ie, center view position, anchor view position, etc.) that can be replaced.
  • the value of the corresponding parameter may be a value that can be indicated by the viewing position_id in the corresponding SEI message or related SEI message. (specifies the viewing position that could be used alternative to the center / anchor reference viewing position.
  • the value of alternative_viewing_position_id may be one of the viewing position indicated by viewing_position_id in this SEI message or related SEI message.
  • alternative_view_distance may mean a distance from an alternative viewing position corresponding to alternative_viewing_position_id.
  • alternative_viewing_position_id may mean a distance between a viewing position corresponding to the original center view picture and a viewing position that can be replaced.
  • alternative_viewing_position_id can be expressed in 2 ⁇ -16 millimeters. (specifies the distance of the alternative viewing position corresponding to the alternative_viewing_position_id, in the units of 2 16 millimeters.)
  • rec_center_view_generation_method_type may mean a method of generating a center view when a center view picture (or center view) does not exist in a corresponding SEI message.
  • rec_center_view_generation_method_type When rec_center_view_generation_method_type is 0, it represents a view synthesis method that combines the viewing positions provided by viewing_position_id with other weights given by center_view_generation_parameter.
  • rec_center_view_generation_method_type is 1, it indicates a method of performing image stitching with viewing weights provided by viewing_position_id along with other weights given by center_view_generation_parameter (image stitching method).
  • rec_center_view_generation_method_type 0 represent the view synthesis method that uses given viewing positions by viewing_position_id with different weights given by center_view_generation_parameter.
  • rec_center_view_generation_method_type 1 could represent image stitching method with given viewing positions by viewing_position_id with different weights given by center_view_generation_parameter.
  • viewing_position_id represents a viewing position for use as a center view position (ie, a center view picture, etc.).
  • the value of viewing_position_id may mean one of viewing positions indicated by a corresponding SEI message or a related SEI message. (indicates the viewing position that is used for the center view position.
  • the value of viewing_position_id may be one of the viewing position indicated by viewing_position_id in this SEI message or related SEI message.
  • center_view_generation_parameter represents a parameter dependent (dependent) on the viewing position of rec_center_view_generation_method_type indicating the center view generation method. (specifies the viewing position dependent parameter that is recommended to be used in the center view generation methods indicated by rec_center_view_generation_method_type.)
  • rec_center_view_generation_method_type, viewing_position_id, and center_view_generation_parameter are used to indicate a center view generation method according to recommended embodiments. Further, rec_center_view_generation_method_type, viewing_position_id, and center_view_generation_parameter may be represented by a method for generating a center view picture performed by an encoder pre-processing unit and a parameter corresponding thereto. In this case, instead of center_view_present_flag, new information (such as signaling information) may be indicated.
  • rec_center_view_generation_method_type, viewing_position_id, and center_view_generation_parameter are used to indicate the recommended method of center view generation.Otherwise, rec_center_view_generation_method_type, viewing_position_id, and center_view_generation_parameter could be used to indicate the method and its corresponding parameters that were used to generate the center view picture in the pre -processing before encoding.In this case, a new flag to indicate the presence of this information could be defined and used instead of center_view_present_flag not present flag.
  • num_pictures_for_center_view_generation may indicate information about the number of pictures required when performing center view generation.
  • the signaling information for one or more viewing positions may include num_viewing_position, view_position_depth_present_flag, view_position_texture_present_flag, view_position_processing_order_idx, viewing_position_picture_type, and the like.
  • num_viewing_position is a parameter for indicating the total number of viewing positions associated with a center viewing position indicated by a viewpoint or viewoint_id. (specifies the total number of viewing positions that are related to the viewpoint or center viewing position that is indicated by viewoint_id.)
  • each parameter indicates that there is depth and texture for the i-th viewing position. If other components are present (e.g. alpha channel representing the transparency of each pixel position) or if other layers are present (e.g. overlays, logos), they are flags corresponding to the component. Can be directed by. (equal to 1 specify the depth or texture is present for the i-th viewing position, respectively. If there is other component, such as alpha channel to indicate the opacity of the pixel values at each pixel position or other layers such as overlay, logos, they could be indicated by defining flags corresponding to component.)
  • view_position_processing_order_idx indicates the sequence of operations performed on multiple viewing positions (specify the processing order of the multiple viewing positions). For example, the smaller the number of corresponding parameters, the faster the order of operations for the corresponding viewing position (the lower the number is, the faster the processing order). If two different viewing positions have the same view_position_processing_order_idx, there is no preference in processing order.)
  • view_position_processing_order_idx for example, a center viewing position (or a viewing position corresponding to a center view picture) within a view regeneration operation according to embodiments, or a frequently (or most) referenced viewing position (i.e., It can be used to indicate the viewing position for the reference view picture).
  • reference view pictures are used to restore other pictures in a view regeneration operation according to embodiments, so that reference pictures are referenced to non-referenced pictures. It may have a lower view_position_processing_order_idx.
  • a reference relationship between unreferenced pictures or reference view pictures when a reference relationship between unreferenced pictures or reference view pictures occurs, it may be indicated as a different view_position_processing_order_idx according to the order of operations (view regeneration, etc.) according to embodiments.
  • the reference pictures As the reference pictures are used to restore the other pictures in the view regeneration process, the reference pictures could be assigned with lower view_position_processing_order_idx compared to the non-referenced pictures.
  • the reference relationship is happened between non-referenced pictures or reference pictures, they could be indicated with different view_position_processing_order_idx according to the processing order.
  • the viewing_position_picture_type may be information for indicating a picture type of the i-th viewing position with respect to picture generation (eg, view regeneration ).
  • this parameter may mean the processing type of the picture of the i-th viewing position. (specifies the picture type of the i-th viewing position in terms of picture generation.In other words, this may mean proceessing type of picture of i (i-th viewing position))
  • viewing_position_picture_type When viewing_position_picture_type equal is 0, it may indicate that the i-th viewing position (or a picture for the i-th viewing position) is a center view (or a center view picture). (When viewing_position_picture_type equal to 0, the i-th viewing position is a center view.)
  • viewing_position_picture_type 1
  • viewing_position_picture_type 1
  • the picture of the i-th viewing position is used as a reference picture in the view regeneration process.
  • viewing_position_picture_type 2
  • viewing_position_picture_type is 3
  • the picture of the i-th viewing position is a view pre-generated by an encoder pre-processing part (or an encoding pre-process) (e.g., an intermediate view generated by an intermediate view generator, intermediate) view).
  • an encoder pre-processing part or an encoding pre-process
  • the picture of the i-th viewing position is pre-generated view in the encoding pre-process.
  • viewing_position_picture_type 4
  • the picture of the i-th viewing position is a picture not included in the decoded pictures, but additional information (e.g., view synthesis recording information according to embodiments) view synthesis method (operation) It can mean that it is a recommended picture to be synthesized by. This operation can reduce time consumption in performing view synthesis.
  • view synthesis method 4
  • viewing_position_picture_type 4
  • the picture of the i-th viewing position might not be present in the decoded pictures but a view synthesis method is recommended with additional information.This could be used to reduce the time consumption process with regard to view synthesis.
  • a picture of the i-th viewing position may mean that a picture not included in the decoded pictures or an alternative picture exists in another viewing position (such as a picture for). (When viewing_position_picture_type equal to 5, the picture of the i-th viewing position might not be present in the decoded pictures but alternative picture from other viewing position is present.)
  • the reference view information according to the embodiments may include num_views_using_this_ref_view, num_ref_views, and the like.
  • viewing_position_id is viewing positions that uses this reference view.
  • num_views_using_this_ref_view is reference view pictures in a regeneration operation according to embodiments, and indicates the number of pictures for a viewing position that can be used as the i-th viewing position. (Specifies the number of viewing positions that uses the picture of the i-th viewng position as the reference view in the regeneration process.The viewing positions that uses this reference view are indicated by viewing_position_id.)
  • num_ref_views represents the number of reference views used for the regeneration of the picture corresponding to the i-th viewing position.
  • the reference viewing positions are indicated by the viewing_position_id.)
  • the reference views can be identified by viewing_position_id. (Specifies the number of referencec views that are used for the regeneration of the picture corresponding to the i-th viewing position.)
  • the view regeneration information according to the embodiments may include the above-described num_ref_views and viewing_position_id.
  • view regeneration information according to embodiments may include view_regeneration_method_type, num_sparse_views, picture_id, and the like.
  • viewing_position_id may mean reference viewing positions for view regeneration.
  • view_regeneration_method_type (view_regeneration_method_type [i] [j]) represents the type of view regeneration method for regenerating (restore, or regenerate) the picture of the i-th viewing position. (specifies the type of view regeneration method that is used to restore the picture of the i-th viewing position.)
  • view_regeneration_method_type is 0, it may mean that a view prediction method based on view synthesis is used. If view_regeneration_method_type is 1, it may mean that a block disparity prediction method is used. (When view_regeneration_method_type equal to 0, view synthesis based prediction method is used.When view_regeneration_method_type equal to 1, block disparity prediction method is used.)
  • num_sparse_views indicates the number of sparse views used to recreate the picture corresponding to the i-th viewing position. (specifies the number of sparse views used to regenerate the picture corresponding to the i-th viewing position.)
  • picture_id (picture_id [i] [j]) represents an identifier including a j-th sparse view used to reconstruct a picture corresponding to the i-th viewing position.
  • the pre-generation information according to embodiments may include the above-described num_ref_views and viewing_position_id. Also, pre-generation information according to embodiments may include pregeneration_method_type, view_regeneration_method_type, picture_id, and num_sparse_views.
  • pregeneration_method_type (pregeneration_method_type [i] [j]) represents a view generation method for generating a picture corresponding to the i-th viewing position. If Pregeneration_method_type is 0, it indicates that the reference view synthesis algorithm is used. If Pregeneration_method_type is 1, it indicates that view generation algorithm A is used. (specifies the view generation method that is used to generate the picture corresponding to the i-th viewing posotion.When pregeneration_method_type equal to 0, the reference view synthesis algorithm is used.when pregeneration_method_type equal to 1, the view generation algorithm A is used. )
  • View_regeneration_method_type may indicate signaling information related to a method for performing view regeneration according to embodiments.
  • the view synthesis recording information according to the embodiments may include ref_view_synthesis_method_type and viewing_position_id.
  • the view synthesis recording information according to the embodiments may further include the above-described sparse_view_present_flag and / or num_ref_views.
  • num_ref_views may indicate whether it is a single view or multiple views.
  • viewing_position_id is reference viewing positions for view synthesis.
  • ref_view_synthesis_method_type (ref_view_synthesis_method_type [i] [j]) represents a recommended view synthesis method for generating a picture corresponding to the i-th viewing position. specifies the view synthesis method that is recommended to generate the picture corresponding to the i-th viewing position. If ref_view_synthesis_method is 0, it indicates that the reference view synthesis algorithm is used, and if ref_view_synthesis_method is 1, it indicates that the view synthesis algorithm A is used. (When ref_view_synthesis_method_type equal to 0, the reference view synthesis algorithm is recommended. When ref_view_synthesis_method _type equal to 1, the view synthesis algorithm A is recommended.)
  • alternative_view_position_id (alternative_view_position_id [i] [j]) represents an identifier associated with a viewing position recommended to be used as an alternative viewing position of the i-th viewing position. (specifies the identifier that is recommended to be used as an alternative viewing position of the i-th viewing position.)
  • sparse_view_present_flag is signaling information indicating whether a sparse view (or sparse view picture) according to embodiments exists.
  • the view_point_descriptor means information or a descriptor indicating the position of the viewpoint, the coverage of the viewing position (that is, information about the entire coverage) and information about the viewing orientation (that is, information about the entire rotation).
  • the view_point_descriptor may include viewing_position_id, viewing_position_x, viewing_position_y, viewing_position_z, viewing_position_yaw, viewing_position_pitch, viewing_position_roll, coverage_horizontal and / or coverage_vertical, which will be described later.
  • the viewing_position_id represents an identifier of a viewing position described by a viewing position, orientation, and coverage. Viewing position, orientation, and coverage may be described by viewing_position_x, viewing_position_y, and viewing_position_z, viewing_orientation_yaw, viewing_orientation_pitch, and viewing_orientation_roll, and coverage_horizontal and coverage_vertical, respectively. Parameters describing the viewing position may be added to differentiate it from other viewing positions.
  • the viewing_position_x , viewing_position_y , and viewing_position_z are 2 -16th millimeters units, respectively, and may be information for indicating the (x, y, z) position of the viewing position of the decoded picture.
  • the range of viewing_position_x, viewing_position_y and viewing_position_z may include -32768 * 2 ⁇ 16-1 (ie, -2147483647) or more and 32768 * 2 ⁇ 16 (ie, 2147483648) or less.
  • viewing_position_x, viewing_position_y and viewing_position_z may be in the range of -32768 * 2 16 - 1 (ie, -2147483647) to 32768 * 2 16 (ie, 2147483648), inclusive.
  • viewing_position_x, viewing_position_y and viewing_position_z may be expressed as absolute positions in XYZ coordinates, or as relative positions from an anchor position (center position). (The value of viewing_position_x, viewing_position_y and viewing_position_z could be reprsented by absolute position in the XYZ coordinate or relateive position corresponding to the anchor location.)
  • the viewing_orientation_yaw , viewing_orientation_pitch , and viewing_orientation_roll may mean yaw, pitch, and roll orientation angles in 2 ⁇ -16 degree units.
  • the value of viewing_orientation_yaw may include a range of -180 * 2 ⁇ 16 (ie, -11796480) or more and 180 * 2 ⁇ 16 (ie, 11796480) or less.
  • the value of viewing_orientation_pitch may include a range of -90 * 2 ⁇ 16 (ie, -5898240) or more and 90 * 2 ⁇ 16 (ie, 5898240) or less.
  • the value of viewing_orientation_roll may include a range of -180 * 2 ⁇ 16 (ie, -11796480) or more and 180 * 2 ⁇ 16 (ie, 11796480) or less. (indicate the yaw, pitch, and roll orientation angles in units of 2 -16 degrees, repectively.
  • the value of viewing_orientation_yaw may be in the range of -180 * 2 16 (ie, -11796480) to 180 * 2 16 1 (ie , 11796479), inclusive
  • the value of viewing_orientation_pitch may be in the range of -90 * 2 16 (ie, -5898240) to 90 * 2 16 (ie, 5898240), inclusive
  • the value of viewing_orientation_roll may be in the range of -180 * 2 16 (ie, -11796480) to 180 * 2 16 1 (ie, 11796479), inclusive.)
  • viewing_orientation_yaw, viewing_orientation_pitch, and viewing_orientation_roll may be used as azimuth, elevation, and tilt, respectively.
  • viewing_orientation_yaw, viewing_orientation_pitch, and viewing_orientation_roll could be used to indicate azimuth, elevation, and tilt, respectively.
  • orientation_yaw, viewing_orientation_pitch, and viewing_orientation_roll are in a unit sphere of a head position corresponding to a decoded picture for converting from local coordinate axes to global coordiate axes. It can indicate the rotation applied.
  • viewing_orientation_yaw, viewing_orientation_pitch, and viewing_orientation_roll could represent the rotation that is applied to the unit sphere of head position corresponding to the decoded picture to convert the local coordinate axes to the global coordinate axes, respectively.
  • the coverage_horizontal and coverage_vertical are 2 ⁇ -16 degree units, and may indicate horizontal and vertical ranges of coverage of a viewing position corresponding to a decoded picture. (specifies the horizontal and vertical ranges of the coverage of the viewing position corresponding to the decoded picture, in units of 2 -16 degrees, respectively.)
  • the signaling information includes viewing position group information, and the viewing position group information includes center view generation information, pre-generation information, and view synthesis recording information. (view synthesis recommendation information), reference view information (reference view information) and regeneration information (regeneration information).
  • the video transmission apparatus can efficiently provide a plurality of multi-spherical images representing different viewing positions of the viewpoint.
  • 41 shows a block diagram of encoder pre-processing modules according to embodiments.
  • the encoder pre-processing unit may be referred to as an encoder pre-processing module, an encoder stage, or an encoding unit, and may mean a term that collectively refers to a device constituting a video transmission device. That is, the encoder pre-processing unit may include inter-view redundancy removal, packing, and / or encoder units, which are components included in the video transmission apparatus described above.
  • the video transmission apparatus (or encoder pre-processing unit, encoding unit, encoder unit, encoding stage) according to the embodiments is a rotation / projection unit (41000, rotation / projection, or rotation / projection) according to embodiments, 3DoF + free It includes a processing unit (41001, 3DoF + preprocessing, or 3DoF + preprocessing) and / or an encoding unit (41002, encoder, or encoder).
  • the rotation / projection unit 41000 (or rotating / projecting) according to the embodiments rotates and / or projects multiple spherical video / images (multi-spherical video / image data) including texture / depth pictures.
  • Picture (s) of multiple spherical video / images (texture / depth) can be rotated and / or projected.
  • the output of the rotator / projector is a picture (texture / depth) and / or a rotated / projected picture that may be referred to as source view picture (s) according to embodiments.
  • the rotation / projection unit 41000 may refer to the rotation / projection unit 27001 described with reference to FIG. 27. Also, the rotation / projection unit may further generate projection parameters related to a source view picture and / or rotation and / or a projection operation according to embodiments.
  • the 3DoF + preprocessing unit (41001, 3DoF + preprocessing, or 3DoF + preprocessing, 3DoF + preprocessor) receives picture (s) of multiple spherical video / images (texture / depth) rotated and projected by the rotation / projection unit 41000 And, the redundancy between the picture (s) of the received multi-spherical video / image (texture / depth) may be removed or these may be packed.
  • the 3DoF + pre-processing unit receives video sequences for a plurality of viewing positions according to embodiments and adjacent to a plurality of viewing positions included in the video sequence. An inter-view redundancy removal step of removing redundancy between views may be performed. Also, pictures (texture pictures, depth pictures, texture patches, and / or texture residuals) generated from the inter-view redundancy removal step may be packed to generate one or more packed pictures.
  • the 3DoF + pre-processing unit may include an inter-view redundancy removal and / or a packer (or packing unit) according to the above-described embodiments.
  • the 3DoF + pre-processing unit is a center view generation, an intermediate view synthesis, or an intermediate view synthesizer, a pruner, or a pruner according to the above-described embodiments. It may include.
  • the 3DoF + preprocessing unit may include a sparse view pruning unit, or a sparse view selection unit, and a sparse view selection unit and / or residual detection unit according to embodiments. residual detector, residual detector, and residual detector).
  • the 3DoF + pre-processing unit 41001 may generate pre-processing metadata.
  • the preprocessing metadata includes center view generation information, pre-generation information, view synthesis recommendation information, and regeneration according to embodiments. information), and reference view information.
  • the preprocessing metadata may include packing metadata and / or reconstruction parameters according to embodiments.
  • the preprocessing metadata may include all or part of the signaling information or parameters shown in FIGS. 39 and / or 40.
  • the encoding units 41002 may include, for example, packed picture and / or center view generation information, reference view information, regeneration information, pre-generation information, and / or view synthesis recording information (view synthesis record). Encoding information). According to embodiments, the encoded data is transmitted as the format of the bit stream (s).
  • the 3DoF + preprocessing includes tactics including rotation / projection, center view generation, intermediate view synthesis (middle view synthesis), pruning, sparse (sparse) view pruning, packing and / or encoding. It performs the same operation.
  • the 3DoF + pre-processing unit may perform an operation according to the preprocessor (encoder-pre-processing unit) described in the paragraphs of the specifications related to FIGS. 27 and 27.
  • a video transmission method includes removing inter-view redundancy of pictures for a plurality of viewing positions; Packing pictures with inter-view redundancy removed; And encoding packed pictures and signaling information. It may include.
  • a video transmission apparatus includes an inter-view redundancy remover that removes inter-view redundancy from pictures for a plurality of viewing positions; A packer for packing inter-view redundancy removed pictures; An encoder that encodes packed pictures and signaling information; It may include.
  • the encoder pre-processing unit may be referred to as an encoder pre-processing module, an encoder stage, or an encoding unit, and may mean a term that collectively refers to a device constituting a video transmission device. That is, the encoder pre-processing unit may include inter-view redundancy removal, packing, and / or encoder units, which are components included in the video transmission apparatus described above.
  • -Center view generation Generates a center view for a group of viewing positions from received pictures (eg, source view pictures).
  • the center view generator may generate a center view picture, and / or may further generate center view generation information.
  • the center view picture may mean a spherical video / image with respect to the center position of the multi-spherical video / image.
  • it may be generated through virtual viewpoint generation of the center view generation according to embodiments.
  • Intermediate view synthesis (Intermediate view synthesis, 42002):
  • intermediate views may be synthesized (if the processor uses generated views on top of the provided views (or source view), intermediate view could be synthesized).
  • the intermediate view synthesizer may output intermediate views including additional information of pre-generation information.
  • the transmission apparatus according to the embodiments may transmit information related to intermediate view synthesis to a decoder post-processing unit.
  • the pruning unit may generate sparse view pictures and reference view pictures.
  • the sparse view picture means a picture that contains unpredictable information (ie, includes unique information / pixels) for a specific viewing position. That is, the sparse view picture may represent a picture in which information that is common among a plurality of pictures to be pruned is removed.
  • the reference view picture may mean a picture that can provide basic information / picture for a specific viewing position.
  • reference view information and / or regeneration information may be generated.
  • the video transmission apparatus (or encoder pre-processing unit, encoding unit, encoder unit, encoding stage) according to the embodiments includes a rotation / projection (42000) unit, a center view generating unit 42001, according to embodiments. center view genearation module, intermediate view synthesizer (42002, intermediate view synthesizer), pruning section (42003, pruner, pruner), sparse view pruning section (27005, sparse view) pruner, sparse view pruner), packer 42004, packer, and / or encoding unit 42005, encoder.
  • the rotation / projection unit 42000 (or rotating / projecting) according to the embodiments rotates and / or projects multiple spherical video / images (multi-spherical video / image data) including texture / depth pictures. .
  • Picture (s) of multiple spherical video / images (texture / depth) can be rotated and / or projected.
  • the output of the rotator / projector is a picture (texture / depth) and / or a rotated / projected picture that may be referred to as source view picture (s) according to embodiments.
  • the center view generator 4201 (or center view generation) according to embodiments can be used for a center view picture and a center view from a rotated / projected picture and / or a picture (texture / depth). Signaling information including center view generation information regarding a profile / characteristic is generated.
  • the Intermediate View Synthesizer (42002) (or Intermediate View Synthesis) synthesizes an intermediate view picture from a rotated / projected picture and / or a picture (texture / depth) (source view picture)
  • Signaling information including pre-generation information and / or view synthesis recommandataion information is generated. Signaling information can be used to decode data at the receiver (decoder).
  • Pruner 42003 removes redundancy between pictures. Pruning indicates elimination of redundancy between views. This process may be referred to as inter-view redundancy remover.
  • the input of the pruner includes a center view picture, a source view picture and / or an intermediate view picture. Also, pruned sparse view (s) may be input to the pruner.
  • the prune generates signaling information including reference view information and / or regeneration information that can be used to decode data in a receiver (decoder).
  • the signaling information includes information related to pruning to regenerate the view.
  • the output of pruning includes a sparse view picture, a reference view picture and / or a sparse view picture.
  • the view may be referred to as a view picture.
  • the packer 42004 (or packing) is, for example, a center view picture, a pruned sparse view picture, a reference view picture and / or a sparse view picture. The same picture is packed. The output of the packer is a packed picture.
  • the encoder 42005 may be, for example, packed picture and / or center view generation information, reference view information, regeneration information, pre-generation information, and / or view synthesis recreation information (view synthesis level). Encoding information). According to embodiments, the encoded data is transmitted as the format of the bit stream (s).
  • the preprocessor (or encoder pre-processing unit) comprises rotation / projection, center view generation, intermediate view synthesis (middle view synthesis), pruning, sparse (sparse) view pruning, packing and And / or perform operations as described above, including encoding.
  • a center view picture means a spherical video / image with respect to a center position of multiple spherical videos / images.
  • the center view image may be included in the input data or generated from virtual viewpoint generation
  • the intermediate view picture refers to a virtually (virtually) generated picture. Intermediate view pictures are not included in the input data (eg multi-spherical video / image).
  • a source view picture and / or a center view picture is used for pruning.
  • the viewing position group information SEI message is transmitted by the encoder and received as signaling information by the receiver.
  • the viewing position group information SEI message includes views_position_picture_type.
  • VIEW_position_picture_type describes the picture type of the i-th viewing position in terms of picture generation.
  • the i-th viewing position is the center view (center view).
  • view_position_picture_type is equal to 1
  • the picture of the i-th viewing position is used as a reference picture (reference picture) in the view regeneration process.
  • view_position_picture_type is equal to 2
  • the picture of the i-th viewing position will be generated from the view regeneration process.
  • views_position_picture_type is equal to 3
  • the picture of the i-th viewing position is a pre-generated view in the encoding preprocessing.
  • views_position_picture_type is equal to 4
  • the picture of the i-th viewing position may not be present in the decoded picture, but the view synthesis method is recommended with additional information. This can be used to reduce the time consuming process associated with view synthesis.
  • views_position_picture_type is equal to 5
  • the picture of the i-th viewing position may not be present in the decoded picture, but there is another picture from another viewing position.
  • the rare view picture refers to a picture that includes information that cannot be predicted when the current view is predicted based on the surrounding view (s).
  • gray or black area (s) means that information is overlapped between an image for the current viewpoint and an image for the surrounding viewpoint.
  • the duplicated information means predictable information. Therefore, the unpredictable information is included in the sparse view picture (sparse view picture).
  • the reference view picture means a picture for a peripheral view used to predict a picture for the current view.
  • a source view picture / image and / or picture / image generated by virtual viewpoint generation may be used.
  • sparse view pruning indicates a target viewing position, a reference sparse view, and a type of a sparse view playback method, such as target_view_id, component_id, component_type, pruned_sparse_view_present_flag, reference_sparse_view_present_flag_sprese_view_present, output_sparse_view_id, pruned_s_separation, etc.
  • a type of a sparse view playback method such as target_view_id, component_id, component_type, pruned_sparse_view_present_flag, reference_sparse_view_present_flag_sprese_view_present, output_sparse_view_id, pruned_s_separation, etc.
  • sparse view pruning generates sparse view regeneration information according to embodiments.
  • a video transmission method includes removing inter-view redundancy of pictures for a plurality of viewing positions; Packing pictures with inter-view redundancy removed; And encoding packed pictures and signaling information. It may include.
  • a video transmission apparatus includes an inter-view redundancy remover that removes inter-view redundancy from pictures for a plurality of viewing positions; A packer for packing inter-view redundancy removed pictures; An encoder that encodes packed pictures and signaling information; It may include.
  • 43 is a block diagram of a decoder post-processing module according to embodiments.
  • the decoder post-processing unit may be referred to as a decoder post-processing module, a decoder stage, a decoding unit, or the like, and may mean a term that collectively refers to a device constituting a video receiving device. That is, the decoder post-processing unit includes decoders, view regeneration, view synthesis, and rendering / viewport generation, which are components included in the video receiving apparatus described above. And the like.
  • Decoder post-processing unit according to embodiments decoding unit (Decodings, 43001, or decoder), view reconstruction unit (View reconstruction, 43002, or view reconstructor, view reconstruction), view synthesis unit (View synthesis, 43003, Or view synthesis), rendering / viewport generation (43004, or rendering / viewport generator), and display unit 43005 (display, or display).
  • decoding unit Decodings, 43001, or decoder
  • view reconstruction unit View reconstruction, 43002, or view reconstructor, view reconstruction
  • view synthesis unit View synthesis, 43003, Or view synthesis
  • rendering / viewport generation 43004, or rendering / viewport generator
  • display unit 43005 display, or display.
  • the server 430,000 may transmit a bitstream to a decoder post-processing unit according to embodiments.
  • the server may provide information about a viewing position (information about a current viewing position, viewing position) and / or information about a viewport (viewport information, viewport information) transmitted from a video receiving device (or decoder post-processing unit) according to embodiments. ) (Or correspondingly) based on the.
  • the decoding unit 43001 may generate, output, or parse packed views (or pictures) and / or related signaling information by receiving a bitstream from the server 4300.
  • the decoding unit may decode the received bitstream based on information on a viewing position and / or information on a viewport generated by a decoder post-processing unit according to embodiments.
  • Relevant signaling information may include, for example, reconstruction parameters and view synthesis parameters according to embodiments.
  • Reconstruction parameters may refer to signaling information necessary for performing view regeneration of a receiving end according to embodiments.
  • the reconstruction parameter may include all or part of parameters included in the Viewing position group information SEI message syntax according to FIGS. 39 and / or 40.
  • the reconstruction parameter according to the embodiments may include all or part of viewing position group information, which will be described later. That is, the reconstitution parameter according to the embodiments may include all or part of the preprocessing metadata according to the embodiments.
  • the preprocessing metadata includes center view generation information, pre-generation information, view synthesis recommendation information, and regeneration according to embodiments. information), and reference view information.
  • the view reconstruction 43002 may receive a packed picture (or a packed view) generated by the decoding unit 43001 and generate a regenerated view picture.
  • the view reconstruction may generate a regenerated view based on information on a viewing position and / or viewport for a decoding unit (or decoder post-processor) according to embodiments.
  • the view reconstruction may regenerate pictures (views) associated with a corresponding viewing position and / or view port according to viewing position and / or view port information for a user of a receiving end.
  • the view reconstruction may generate a regenerated view based on reconstruction parameters generated from a decoding unit according to embodiments.
  • the view reconstruction (or view regenerating unit) may generate a view that is regenerated simultaneously for a plurality of viewing positions, first generate (or regenerate) the first viewing position, and then regenerate the view to the regenerated view for the first viewing position. Based on this, a second viewing position may be generated. That is, when the decoder according to the embodiments generates pictures for a plurality of viewing positions, information including the order for the viewing position of the view to be regenerated may be received as signaling information. At this time, information including the order for the viewing position may be included in the reconstruction parameters and / or view synthesis parameters.
  • the view synthesis 43003 may generate a synthesized view picture (texture) (or a picture for a target viewing position) based on the regenerated view picture (texture / depth).
  • the view synthesis may generate a synthesized view based on information about a viewing position and / or viewport for a decoding unit (or decoder post-processor) according to embodiments.
  • the view synthesis may synthesize pictures (views) associated with a corresponding viewing position and / or view port according to viewing position and / or view port information for a user of the receiving end.
  • the view synthesis may generate a synthesized view based on view synthesis parameters generated from a decoding unit according to embodiments.
  • Rendering / viewport generation (43004, rendering / viewport generation) renders a synthesized view picture (texture) according to embodiments (or a picture for a target viewing position) and renders a viewport for the synthesized view picture. Can be created.
  • the display 43005 may display a rendered picture (texture) according to embodiments (or a picture for a target viewing position).
  • a video receiving method includes decoding a bitstream of a video based on a viewing position and viewport information; Unpacking pictures and signaling information in the decoded bitstream, the unpacked bitstream including signaling information; View regenerating the unpacked pictures; And, view synthesizing the view regenerated pictures; It may include.
  • a decoder for decoding a bitstream (bitstream) of a video based on the viewing position (viewing position) and viewport information (viewport information);
  • An unpacker that unpacks pictures and signaling information in the decoded bitstream;
  • a view regenerator for regenerating unpacked pictures;
  • a view synthesizer for view synthesizing the view regenerated pictures; It may include.
  • 44 shows a block diagram of a decoder decoder post-processing modules according to embodiments.
  • the decoder post-processing unit may determine a viewing position related to the view synthesis unit synthesizing the view, according to a viewer's viewpoint. Thereafter, the decoder post-processing unit may determine an operation for each viewing position, and / or determine an operation order of the receiver.
  • a sparse view regeneration operation may be performed according to sparse_view_regeneration_type information for each viewing position. Subsequently, post-processing may be performed on all components indicated according to component_id and component_type corresponding to target_view_id.
  • the following shows an example of a sparse view regeneration operation that can be performed according to sparse_view_regeneration_type information.
  • Center view generation unit (Cneter view generation, or center view generation unit, 44002): When viewing_position_picture_type is 0 or center_view_present_flag is 0, the center view generation unit according to embodiments operates.
  • reference viewing positions and parameters for each viewing position are provided by viewing_position_id and center_view_generation_parameter, respectively.
  • an alternative viewing position may be used. The alternative viewing positions may be signaled or used by alternative_viewing_position_id, alternative_view_distance, rec_center_view_generation_method_type.
  • the center view generation is processed.
  • the reference viewing positions and the parameters for each viewing position is given by viewing_position_id, center_view_generation_parameter.
  • alternative viewing position could be used by the information given alternative_viewing_position_id, alternative_view_distance, rec_center_view_generation_method_type.
  • the center view picture means a spherical video / image for the center position of a multi-spherical video / image Can be.
  • it may be generated through virtual viewpoint generation.
  • -View generation unit View generation, or view regeneration unit, 44003:
  • viewing_position_picture_type 1
  • the corresponding picture may be used as a reference picture (reference picture, or reference picture) for another viewing position.
  • the decoder may store the picture in a buffer together with viewing position information using the picture given by views_position_id.
  • viewing_position_picture_type 1
  • the picture could be used as a reference picture to the other viewing position.
  • decoder could store the picture in the buffer with the information of viewing position that uses this picture given by viewing_position_id.
  • the view generation according to the embodiments may reproduce the picture of the corresponding viewing position.
  • Reference views and sparse views required for the regeneration process according to the embodiments may be indicated by viewing_position_id and picture_id, respectively.
  • the receiving device may use the regeneration method given by view_regeneration_method_type to restore the viewing position intended by the encoder. (when viewing_position_picture_type equal to 2, view generation may be used to restore the picture of this viewing position.
  • the reference views and the sparse view that are needed to the regeneration process are indicated by viewing_position_id and picture_id, respectively.
  • the receiver may use the regeneration process method given by view_regeneration_method_type to restore the viewing position intended by the encoder.
  • View synthesis, 44005) When viewing_position_picture_type equal is 3, the picture may be pre-generated views.
  • the receiving apparatus according to the embodiments may determine whether to use the target picture as a target view using the corresponding picture or synthesize a new picture using the regenerated views. In this decision, the method performed may be one of the decision criteria given by pregeneration_method_type. If the receiving apparatus according to the embodiments uses the corresponding picture, reference pictures provided by viewing_position_id and sparse view pictures provided by picture_id may be used in the corresponding regeneration method. (when viewing_position_picture_type equal to 3, the picture is not a source picture but pre-generated views.
  • Receivers could determine whether it uses this picture or synthesize a new picture with the regenerated views.In the determination, the processed method could be one of the determination criteria given by pregeneration_method_type. If the receiver uses this picture, reference pictures given by viewing_position_id and the sparse view given by picture_id are used with the regeneration method.)
  • recommended view synthesis information (eg, view synthesis recording information according to embodiments) may be provided for a corresponding viewing position.
  • the information may include a method, parameters, a reference viewing position indicator, and a sparse view present flag. Information on these may be provided by ref_view_systhesis_method_type, view_synthesis_parameter, viewing_position_id, sparse_view_present_flag, respectively, according to embodiments.
  • viewing_position_picture_type 4
  • recommended view synthesis information is provided for this viewing position.They are the synthesis method, parameter, reference viewing position indicator, and sparse view present flag, given by ref_view_systhesis_method_type, view_synthesis_parameter, viewing_position_id, sparse_view_present_flag, respectively.
  • the viewing position may be replaced (or provided, replaced) by source views indicated by alternative_viewing_position_id, regenerated views, or synthesized views. (when viewing_position_picture_type equal to 5, the viewing position could be replaced by other view from the source view, regenerated view, or synthesized views, indicated by alternative_viewing_position_id)
  • the view position group information provided by the encoder pre-processing unit according to the embodiments may be parsed by a controller 44004.
  • the controller according to the embodiments, which viewing position to generate, which components (modules) to control, in what order to generate views related to the viewing positions, in which order the components (modules) Controls the overall viewport generation behavior by deciding whether to enable them.
  • the metadata, view position group information given by the encoder pre-processing is parsed by controller in Figure 43.In this module, the whole viewport generation process is controlled by determining which viewing position may be generated, which process module may be worked, and in which order the modules may be processed.
  • View position group information transmitted by the encoder pre-processing unit according to the embodiments may be parsed by the controller 44004 according to the embodiments.
  • the controller determines the overall viewport generation operation by determining which viewing position, which view regeneration operation and / or view composition operation method is performed, and in what order the view regeneration and / or view composition operates. Can be controlled. For example, a user wants to watch a picture that is exactly the same with the reference picture position, which is exactly the same as the center position or the position corresponding to the reference view picture. In this case, unpacking may be performed by selecting only a corresponding picture (center view picture or reference view picture). (For example, if a viewing position that viewer want to watch is a center position or a picture position that is exactly same with the reference picture position, only the picture of that position could be selected from the unpacked picture.)
  • the controller controls the center view generation unit according to the embodiments to generate the center view from the received reference views. (However if the center position is not generated in the encoder pre-processor, the center view generation module could be processed with the reference pictures in the packed picture.)
  • the controller may control the view regeneration unit and / or the center view generation unit according to the embodiments. That is, the controller may control the view regeneration unit and / or the center view generation unit according to embodiments using related metadata.
  • the metadata may be signaled by an encoder pre-processor, and the decoder post-processing unit according to the embodiments may include a center view picture, a reference view pictures, and / or based on the metadata. Alternatively, sparse view pictures can be generated.
  • the processing modules such as view regeneration or center view generation, may be turned on and the method which is indicated in the metadata, which means intended by the encoder pre-processor, is used to generate picture of a viewing position from reference pictures and sparse pictures.
  • a center view picture and / or a reference view picture may be used to generate other views (eg, target views) according to embodiments. Accordingly, the center view generation, the operation of generating the reference view, and / or the operation of generating the intermediate view may be performed prior to other view regeneration units according to embodiments. (In this step, it is general to use the center view or reference views to generate the other views, so center view or reference view generation may be processed precedent to the view regeneration.)
  • the operation of the view regeneration unit according to the embodiments may precede the operation of the view synthesis unit according to the embodiments.
  • the above-described processing order may be indicated by viewing_position_picture_type and / or view_position_processing_order_idx.
  • the picture may be synthesized using given viewing positions.
  • view synthesis module produces a new view by using other views
  • view regeneration module may be precedent to the view synthesis model for all viewing positions that are needed to generate the synthesized view. The relationship or the processing order is given by viewing_position_picture_type and view_position_processing_order_idx.
  • Decodings may perform decoding on the received bitstream. Decoding may be performed by a decoder of a video receiving apparatus according to embodiments.
  • the decoding and / or decoder described in FIG. 28 may mean the decoding and / or decoder according to the above.
  • Unpacking (44001) may unpack the decoded bitstream. Unpacking may unpack the decoded bitstream to output or generate one or more reference views, one or more sparse views. That is, when the received bitstream is decoded, the decoded bitstream may include one or more reference views and / or one or more sparse views. Unpacking described in FIG. 44 may mean unpacking according to the above. Further, unpacking may be performed by unpackers in embodiments.
  • the center view generation (44002) may generate a center view (center view) based on one or more reference views output or generated according to the aforementioned unpacking.
  • the center view may mean a view representing a viewing position or a group of viewing positions.
  • the center view generation may generate a center view (center view picture) based on one or more reference views, and the center view generation may be generated in center view generation information.
  • the center view generation information may mean signaling information used by the center view generation to generate the center view.
  • the center view generation information may include alternative_viewing_position_id [i], alternative_view_distance, rec_center_view_generation_method_type [i], num_pictures_for_center_view_generation [i], viewing_position_id [i] and / or center_view_generation_parameter [i] in FIG. have.
  • the center view described in FIG. 44 may also be referred to as a center view picture.
  • the center view is a spherical video or image (video / image) with respect to a center position of a multi-spherical video or image (or a corresponding picture) according to embodiments. It can mean a picture.
  • Center view generation according to embodiments may generate a center view according to embodiments from a reference view picture (or reference view pictures) when the center view is not included in the unpacked pictures. That is, if the center view is included in the input image or not, it may be generated through virtual viewpoint generation by center view generation.
  • View regeneration (44003) may generate a regenerated view based on one or more reference views that are unpacked. View regeneration is based on an unpacked one or more reference views, unpacked one or more sparse views and / or a center view generated according to center view generation 44002 To create a regenerated view. Also, the regenerated view may be generated based on reference view information and / or regeneration information.
  • Reference view information may refer to signaling information indicating information about one or more reference views or each of them.
  • the regeneration information may mean signaling information related to the view regeneration 444003.
  • the reference view information may include num_views_using_this_ref_view [i] and / or viewing_position_id [i] shown in FIG. 31 as embodiments.
  • the controller may receive and parse viewing position group information (viewing position groun information) included in the decoded bitstream.
  • Viewing position group information (viewing position groun information) may mean a group of signaling information for one or more viewing positions.
  • Viewing position group information includes center view generation information, reference view information, regeneration information, pre-generation information and / or view synthesis record It may include view synthesis recommendation information.
  • the controller may receive and parse information (eg, viewport information and / or information about the viewing position) regarding the receiving device according to the embodiments generated by the rendering / viewport generation.
  • the controller 44004 may transmit center view generation information to the center view generation 44002 as embodiments.
  • the controller 44004 may transmit reference view information and / or regeneration information to the view regeneration 4440 in embodiments.
  • the controller 44004 may transmit pre-generation information and / or view synthesis recording information to the view synthesis 4405 in embodiments.
  • the view synthesis 4405 may perform view synthesis based on a view regenerated by view regeneration. Furthermore, the view synthesis may perform view synthesis (or view synthesis) based on the center view generated by center view generation and / or one or more unpacked reference views. View synthesis may refer to view synthesis according to embodiments. In addition, the view synthesis may perform view synthesis based on pre-generation information, which is signaling information, and / or view synthesis recommendation information.
  • Rendering / viewport generation (44006) may generate or render a viewport synthesized by the view synthesis 4405.
  • the video transmission apparatus may perform according to the fields, each of which is a decoding unit (or decoder), an unpacking unit (or unpacker), a center view generator (or center view generation unit), and a view regeneration unit (or view). Regenerator), a view synthesizer (or a view synthesizer) and / or a render / viewport generator (or render / viewport generator).
  • the controller 44004 according to the embodiments may be performed by a video transmission device according to the embodiments.
  • the receiver may generate a video or other viewpoint in which head motion parallax and / or binocular parallax are provided, and the receiver may generate interactive video with a changing position.
  • the receiver may generate interactive video with a changing position.
  • Receivers could generate a video with head motion parallax and / or binocular disparity, or different viewpoints, which receivers could generate interactive video with changing locations.
  • the transmitting and receiving device can reduce the bandwidth for transmitting 3DoF + video and the storage space of the storage device, and ensure high-quality 3DoF + video provided with head motion parallax and / or binocular parallax.
  • the receiving device is a virtual reality environment
  • different audiovisual experiences can be provided according to the actions of users.
  • receiver can provide different viewing experience with viewer ’s action in the VR environment.
  • the receiving device can efficiently generate or estimate the center view picture from the reference view pictures and / or the center view generation information.
  • the receiving device is a reference view (reference view picture), a sparse view (sparse view picture), a center view (center view picture), a reference
  • a reference view reference view picture
  • sparse view sparse view picture
  • center view center view picture
  • a reference view of a viewing position desired by a user may be efficiently generated based on signaling information including reference view information and / or view regeneration informatin.
  • the view synthesis 4440 may include a center view generated by the center view generation according to the embodiments, pre-generation information, and / or view synthesis recording. Based on the information (view synthesis recommandation information), it is possible to efficiently generate an accurate view of the viewing position desired by the user.
  • the above-described operation increases the transmission efficiency of 3DoF + video data based on signaling information according to embodiments, and provides an effect of improving decoding performance.
  • 45 shows an operation flow of a decoder stage according to embodiments.
  • 45 shows the operation of the decoder post-processing of the receiving apparatus according to the embodiments, and specifically shows an example of relationship between viewing positions due to the processing orders.
  • the reference views 4500a may refer to unpacked reference view pictures according to embodiments.
  • Reference view pictures may refer to pictures that can provide basic information about one or more source view pictures (or some or all of corresponding viewing positions).
  • the reference view is an image of a surrounding viewpoint used to estimate (or generate) the current viewpoint.
  • a source view picture or a source view picture may be used, or a picture or image generated by virtual viewpoint synthesis may be used. That is, the reference view according to the receiving device according to the embodiments may be a source view picture or an intermediate view picture according to the embodiments.
  • reference view there may be a plurality of reference views according to embodiments.
  • the center view generation 4500 may generate a center view picture 4500b based on all or part of unpacked reference view pictures.
  • the center view generation may refer to a center view generation 2801b according to the embodiments described with reference to FIG. 28.
  • the center view may mean a center view picture according to embodiments.
  • the center view picture may refer to the center view picture described with reference to FIGS. 42 and / or 44. That is, the center view picture is a multi-spherical video or image according to embodiments (or a corresponding video) with respect to a central position of a spherical video or image (video / image). It can mean a picture.
  • Center view generation according to embodiments may generate a center view according to embodiments from a reference view picture (or reference view pictures) when the center view is not included in the unpacked pictures. That is, if the center view is included in the input image or not, it may be generated through virtual viewpoint generation by center view generation.
  • the center view generation 4500 generates pictures for a peripheral view, for example, a center view that is a picture for a central view from reference views.
  • viewing_position_picture_type [i] may mean type information of a picture having an i-th index. Accordingly, if a specific picture having an i-th index is a center view, viewing_position_picture_type [i] may be represented by 0.
  • a picture with viewing_position_picture_type 0 among unpacked pictures in a decoder of a receiving apparatus that is, when there is a center view picture among unpacked pictures
  • an embodiment The center view generation of the decoder stage (receiving device) according to the field may not be performed. However, if there is no picture whose viewing_position_picture_type is 0 among the unpacked pictures (ie, the center view picture is not among the unpacked pictures), center view generation according to embodiments may be performed.
  • signaling information related to a processing order for a specific picture may be disclosed.
  • the value of view_position_processing_order_idx of the picture corresponding to the center view may be 0. That is, the center view may refer to a view to be preferentially processed from reference views.
  • the sparse view 4501b may mean a sparse view picture according to embodiments.
  • Sparse view picture (sparse view picture) for one or more source view picture (source view picture) (or for some or all of the corresponding viewing position) refers to a picture containing specific information (or pixels) Can be. That is, the sparse view picture is an image containing information that cannot be estimated when the current view is estimated from the surrounding view through pruning or source view pruning according to embodiments. (Or picture). At this time, the information overlapping with the periphery in the current view image (presumable information) may be represented as a gray / black (or monochromatic) area, and information that cannot be estimated at this time is a sparse view picture. Can be included in
  • the view regenration 4501 may generate a regenerated view 4501c based on the center view 4501a and / or the sparse view 4501b according to embodiments.
  • the view regeneration 4501 may refer to view regeneration according to the embodiments described with reference to FIG. 44.
  • the view regeneration 4500 may efficiently regenerate (estimate, prediction) a view using a center view and / or a sparse view.
  • the center view according to embodiments is generated from the received reference views. Since the received sparse view according to the embodiments is a picture in which redundancy between views is removed (pruned) in an encoder or a transmitter, it includes data that cannot be estimated.
  • the receiver according to the embodiments can efficiently estimate the view using only the generated center view (center view picture) and / or sparse view (sparse view picture).
  • the regenerated views 4501c and 4502c may refer to pictures generated based on the center view 4501a and / or the sparse view 4501b.
  • signaling information indicating whether a specific picture is a regenerated view or a picture for the picture may be disclosed.
  • viewing_position_picture_type [i] may mean type information of a picture having an i-th index. Accordingly, if a specific picture having an i-th index is a regenerated view, viewing_position_picture_type [i] may be represented by 2.
  • a view_position_processing_order_idx value of a picture corresponding to the regenerated view may be 1. That is, the view regeneration 4501 may refer to an operation to be performed after the above-described center view generation.
  • v0 and v1 may mean view 0 and view 1
  • v0 and v1 may be viewpoints adjacent to each other.
  • the sparse view 4501b may refer to a sparse view according to embodiments in the v1 position
  • the transmitted sparse view (v1 position) Shows the view regeneration process to create a view at the final v1 location.
  • the reference view the image transferred for the v0 position
  • a regenerated view using a reconstructed image through a sparse view for the v1 position
  • v0 may mean a first time point and v1 may mean a second time point.
  • the view regeneration may generate a regenerated view for the first view point corresponding to v0 using the center view 4501a according to embodiments.
  • the center view and the sparse view for the first viewpoint corresponding to v0 may be used.
  • the view regeneration may generate a view (picture) at the final v1 position using the sparse view (v1 position) transferred after estimating v1 through the center view.
  • One or more reference views 4502b to be used for view synthesis may mean pictures of all or part of the reference views 4500a described above.
  • View synthesis 4502 is synthesized based on the center view 4502a described above, one or more reference views 4502b to be used for view synthesis, and / or a regenerated view 4502c according to embodiments.
  • a view 4502c may be created.
  • the synthesized view may mean an arbitrary viewing position. Any viewing position (arbitrary viewing position) may be referred to as a target viewing position (target viewing position).
  • the view synthesis may refer to view synthesis (44005) described in FIG. 44 as embodiments.
  • Arbitrary viewing positions 4501c, 4502c are provided in the center view 4502a described above, one or more reference views 4502b to be used for view synthesis, and / or regenerated views 4502c according to embodiments. It may mean a picture for an arbitrary viewing position synthesized on the basis, that is, a synthesized view according to embodiments.
  • signaling information indicating whether a specific picture is a synthesized view 4502c or a picture thereof may be disclosed.
  • viewing_position_picture_type [i] may mean type information of a picture having an i-th index.
  • viewing_position_picture_type [i] may be represented by 4.
  • a view_position_processing_order_idx value of a picture corresponding to a synthesized view may be 2. That is, the view synthesis 4502 may refer to an operation that must be performed after the view regeneration described above.
  • the view synthesis 4502 has a center view 4502a, a reference view at a viewpoint associated with a given viewpoint (for example, a first viewpoint v0) to generate a picture for a given viewpoint.
  • a reference view) and / or a regenerated view at a time point related to a given time point may be used. That is, when performing view synthesis, a center view picture (picture for center), a picture related to view v0 (for example, a reference view for v0), and a picture related to view v1 (for example, to v1)
  • the decoder may perform view synthesis in order to provide higher accuracy. For example, a center view generated from reference views for a plurality of viewing positions, a view estimated from a sparse view (eg, v1) for a center view and / or a first viewing position (or viewpoint) (eg, v1) In addition, a view for a final viewing position may be synthesized using a reference view (eg, v0) for an adjacent second viewpoint.
  • a reference view eg, v0
  • the receiver may generate a video or other viewpoint in which head motion parallax and / or binocular parallax are provided, and the receiver may generate interactive video with a changing position.
  • the receiver may generate interactive video with a changing position.
  • Receivers could generate a video with head motion parallax and / or binocular disparity, or different viewpoints, which receivers could generate interactive video with changing locations.
  • the transmitting and receiving device can reduce the bandwidth for transmitting 3DoF + video and the storage space of the storage device, and ensure high-quality 3DoF + video provided with head motion parallax and / or binocular parallax.
  • the receiving device is a virtual reality environment
  • different audiovisual experiences can be provided according to the actions of users.
  • receiver can provide different viewing experience with viewer ’s action in the VR environment.
  • the receiving device can efficiently generate or estimate the center view picture from the reference view pictures and / or the center view generation information.
  • the receiving device includes a reference view (reference view picture), a sparse view (sparse view picture), a center view (center view picture), and a reference.
  • a regenerated view of a viewing position desired by a user may be efficiently generated based on signaling information including reference view information and / or view regeneration informatin.
  • the view synthesis 4502 may include a center view generated by the center view generation according to the embodiments, pre-generation information, and / or view synthesis recording. Based on the information (view synthesis recommandation information), it is possible to efficiently generate an accurate view of the viewing position desired by the user.
  • the transmitter according to the embodiments does not transmit all the images, but transmits only the image necessary for estimation at the pruned (ie, the redundancy is eliminated) according to the embodiments and the receiver It is possible to provide an effect of increasing efficiency and improving decoding performance.
  • the above-described operation increases the transmission efficiency of 3DoF + video data based on signaling information according to embodiments, and provides an effect of improving decoding performance.
  • 46 shows a pruning scheme of an encoder pre-processing module according to embodiments.
  • the pruning scheme may mean an operation performed by the inter-view redundancy removal unit or the pruning unit according to embodiments of the encoder pre-processing unit.
  • the transmitted information (c0, s1, r1, s2) indicates that the image information indicated by the red frame is transmitted.
  • the first pruning 46000 is a sparse view, for example s1 or a first sparse, based on the common reference view (c0) and the source view (v1).
  • the sparse view s1 is created by subtracting the source view v1 from the common reference view c0 and / or the central view c0 from the source view v1.
  • the sparse view s1 is a picture containing unpredictable data, and the gray or black display area of the sparse view s1 is redundant data or redundancy between the common reference view c0 and the source view s1.
  • the second pruning 46001 (or pruner) generates a sparse view s2 based on the common reference view c0, the reference view r1 and / or the source view v2. For example, the central view (c0) is added to the reference view (r1) and the added picture is subtracted with the source view (v2).
  • Packing / encoding 4602 (or packer / encoder) packs / encodes sparse view s1 and / or sparse view s2.
  • multiple sparse views including s1 and s2 may be generated based on pruning to encode / transmit data including a picture.
  • the sparse view (s2) (view point for s2) is the center view (c0), the reference view for the viewpoint for r1 (r1) and / or the sparse view It can be produced by pruning (v2).
  • pruning adds a common reference view (c0) and a reference view (r1) and subtracts the source view (v2) for the view of v2.
  • sparse views can be packed and / or encoded.
  • sparse view s1 and sparse view s2 are packed and / or encoded.
  • the term c0 is a common reference viewpoint / viewpoint position picture
  • the term v1 is a first viewpoint / viewpoint position source view picture
  • the term s1 is a first viewpoint / viewpoint position sparse view picture
  • the term r1 is the first A viewpoint / viewpoint position reference viewpoint picture
  • the term v2 is a second viewpoint / viewpoint position source viewpoint picture
  • the term s2 may be interpreted in a second viewpoint / viewpoint position rare viewpoint picture and / or a similar manner.
  • the common reference view may mean a center view (center view).
  • the inter-view redundancy removal unit may perform only the first pruning according to the embodiments described in FIG. 46, or may perform only the second pruning according to the embodiments, or the first pruning And second pruning may be performed simultaneously.
  • the first pruning may be performed only on some of the plurality of source views and / or the second pruning may be performed only on the remaining portions.
  • the first viewing position and the second viewing position mean different viewing positions.
  • a video transmission method includes removing inter-view redundancy of pictures for a plurality of viewing positions; Packing pictures with inter-view redundancy removed; And encoding packed pictures and signaling information. It may include.
  • a video transmission apparatus includes an inter-view redundancy remover that removes inter-view redundancy from pictures for a plurality of viewing positions; A packer for packing inter-view redundancy removed pictures; An encoder that encodes packed pictures and signaling information; It may include.
  • 47 illustrates an operation of view regeneration according to embodiments of a decoder post-processing module according to embodiments.
  • This figure shows a view regeneration process of restoring original view information when information with which information redundancy is removed using pruning according to embodiments is received.
  • the necessary information may be information such as position / direction / rotation of the target view, information such as position / direction / rotation of the reference view, a target view estimation method from the reference view, and a final regenerated view generation method using the sparse view. .
  • the target view is estimated using c0 and r1, and the final target view is restored using s2.
  • the information required at this time is information such as the position / direction / rotation of the target view, information such as the position / direction / rotation of each reference view, a method of estimating the target view from a plurality of reference views, and a method of generating the final regenerated view using the sparse view Can be.
  • the view regeneration according to the embodiments may perform the first view regeneration and the second view regeneration 47001.
  • the first view regeneration and / or the second view regeneration according to the embodiments may refer to a block (or operation) included in the view regeneration (or view regeneration unit) according to the above-described embodiments.
  • the first view regeneration (47000) is a first regenerated view using a common reference view picture (c0) according to embodiments and a sparse view picture according to embodiments (regenerated view, v2).
  • the first regenerated view v1 may refer to a regenerated view of the first viewing position.
  • the above-described sparse view picture used to produce the first regenerated view v1 may be the first sparse view picture s1.
  • the first sparse view picture s1 may mean a sparse view picture for the first viewing position described above.
  • the common reference view may be, for example, a center view picture (or center view, c0).
  • the common reference view according to the embodiments may mean a center view picture generated from a center view generation (or a center view generator), or a center view picture included in a bitstream transmitted from an encoder end according to embodiments. It can also mean.
  • the view regeneration unit includes a first sparse view picture s1 related to the first viewing position included in the received sparse view pictures, and a common reference view picture (or center view) according to the embodiments.
  • a first regenerated view v1 may be generated using a picture c0).
  • the first view regeneration unit may use information about the first viewing position. For example, the first view regeneration unit may generate the first regenerated view v1 using information such as the position / direction / rotation of the first regenerated view (or first target view, v1). .
  • the first view regeneration unit includes information such as position / direction / rotation of reference views, information related to a method for estimating a first target view from reference views, and sparse views. Information related to a method for generating final regenerated views using (sparse views) may be used.
  • the second view regeneration 47001 is a second regenerated view using a common reference view picture (c0) according to embodiments and a sparse view picture according to embodiments (regenerated view, v2).
  • the second regenerated view v2 may refer to a regenerated view of the first viewing position.
  • the above-described sparse view picture used to produce the second regenerated view v2 may be the second sparse view picture s2.
  • the first viewing position and the second viewing position mean different viewing positions.
  • the second view regeneration unit may use information about the second viewing position. For example, the second view regeneration unit may generate the second regenerated view v2 using information such as the position / direction / rotation of the second regenerated view (or first target view). In addition, the second view regeneration unit includes information such as position / direction / rotation of reference views, information related to a method of estimating a second target view (v2) from reference views, spa Information related to a method for generating final regenerated views using sparse views may be used.
  • the decoder post-processing unit may receive signaling information related to whether the first view regeneration and / or the second view regeneration is used. That is, in order to regenerate the second regenerated view according to the embodiments, information indicating that the first regenerated view can be used may be signaled.
  • An example of such signaling information may be view_position_processing_order_idx according to FIG. 40.
  • the video transmission apparatus can improve transmission / reception efficiency by reducing transmission amount for a reference view picture, a sparse view picture, or related pictures to be transmitted.
  • the video transmission apparatus can effectively reduce the amount of data transmitted and received by transmitting only a sparse view with a small transmission amount instead of a reference view.
  • the video receiving apparatus can reduce the amount of data received, thereby reducing the burden on the memory and / or processor depending on the receiver.
  • FIG. 48 shows an embodiment of a pruning scheme of an encoder pre-processing module according to embodiments.
  • a regenerated view restored at a receiving end When a regenerated view restored at a receiving end according to embodiments is used as a reference view, information may be lost during pruning and / or view regeneration. To compensate for this, the transmitter may give additional consideration.
  • a source view (v2) is estimated using two or more reference views (c0, v1), and a sparse view corresponds to an estimation error or additional information )
  • a source view (v2) is estimated using two or more reference views (c0, v1), and a sparse view corresponds to an estimation error or additional information )
  • the transmitting end may generate a sparse view s2 in consideration of the restoration error of v1 used as a reference view.
  • v1 is restored using c0 and s1 using a view regeneration method to be used by a receiving end according to embodiments.
  • a view regeneration method to be used by a receiving end according to embodiments.
  • prediction accuracy is lower than when using source view v1 by using 'v1 that has lost information during pruning / view regeneration'.
  • Possible problems can be reproduced in advance, and this is reflected in the error with the source view v2. In this case, bit efficiency can be improved in that r1 is not sent directly.
  • the pruning scheme of the encoder pre-processing modules according to the embodiments includes a first pruning process 4800, view regeneration of the encoder stage 48001, and / or A second pruning process 4802 may be performed.
  • the encoder pre-processing unit according to the embodiments includes a first pruning unit 40000 that performs a first pruning process, an encoder end view regenerator 48001 that performs view regeneration of the encoder end, and And / or a second pruning unit 4802 that performs a second pruning process.
  • pruning removes a portion (or region) that is common within one or more pictures (or views), and information about a portion difficult to predict (predict) by the receiving device according to the embodiments ( Or a picture). That is, when the second picture is pruned using the first picture (or the first picture is pruned using the second picture), the common area (or common part) of the first picture and the second picture is Removes and generates a picture (that is, a sparse view picture) that represents unique information (area of the picture) that exists only in the first picture and / or unique information that exists only in the second picture.
  • the pruning unit according to the embodiments may generate a sparse view picture using a difference operation between a first picture and a second picture.
  • Pruning may be referred to as inter-view redundancy removal.
  • a method (or embodiment) of pruning according to the above-described embodiments may also be referred to as a pruning scheme.
  • the view regeneration of the encoder end is a view regeneration included in the transmission device according to the embodiments, and may also mean a view regeneration included in the reception device according to the embodiments. That is, the view regeneration unit generates a picture for generating a target view for the first viewing position using the reference view and the sparse view for the first viewing position.
  • the first pruning process (or the first pruning unit 48000) is performed using the common reference view picture (c0) according to the embodiments to first source sources according to the embodiments.
  • a first sparse view may be generated by pruning the source view.
  • the first source view means the source view for the first viewing position.
  • the first sparse view means a sparse view for the first viewing position.
  • the common reference view c0 may mean a center view according to embodiments.
  • the view regeneration process of the encoder end (or the view regenerator of the encoder end, 48001) is a randomly regenerated view (or based on the common reference view c0 according to the embodiments and the first sparse view s1 described above)
  • a randomly regenerated view picture, temporally regenerated view, v1) may be generated.
  • the randomly regenerated view may or may not be encoded by the encoder.
  • the second pruning process uses the common reference view picture c0 and / or the randomly reproduced view picture described above according to the embodiments, Pruning the second source view of the source views according to (pruning).
  • the second source view v2 may be pruned to generate the second sparse view s2.
  • the second source view v2 means the source view for the second viewing position.
  • the second sparse view s2 means a sparse view for the second viewing position.
  • the common reference view c0 may mean a center view according to embodiments.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

실시예들에 따른 비디오 전송 방법은 복수의 뷰잉 포지션(viewing positions)들에 대한 픽처(picture)들의 인터-뷰 리던던시를 제거하는 단계, 인터-뷰 리던던시가 제거된 픽처들을 패킹하는 단계, 및 패킹된 픽처들 및 시그널링 정보를 인코딩하는 단계를 포함할 수 있다. 실시예들에 따른 비디오 수신 방법은 뷰잉 포지션 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 단계, 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 단계, 및 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 단계 및 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 단계를 포함할 수 있다.

Description

비디오 송신 방법, 비디오 전송 장치, 비디오 수신 방법 및 비디오 수신 장치
본 명세서의 실시예들은 비디오 송신 방법, 비디오 전송 장치, 비디오 수신 방법 및 비디오 수신 장치(A method for transmitting a video, an apparatus for transmitting a video, a method for receiving a video and an apparatus for receiving a video)에 관한 것이다.
VR (Virtual Reality) 시스템은 사용자에게 전자적으로 투영된 환경내에 있는 것 같은 감각을 제공한다. VR 을 제공하기 위한 시스템은 더 고화질의 이미지들과, 공간적인 음향을 제공하기 위하여 더 개선될 수 있다. VR 시스템은 사용자가 인터랙티브하게 VR 컨텐트들을 소비할 수 있도록 할 수 있다.
VR 시스템은 더 효율적으로 VR 환경을 사용자에게 제공하기 위하여, 개선될 필요가 있다. 이를 위하여 VR 컨텐츠와 같은 많은 양의 데이터 전송을 위한 데이터 전송 효율, 송수신 네트워크 간의 강건성, 모바일 수신 장치를 고려한 네트워크 유연성, 효율적인 재생 및 시그널링을 위한 방안등이 제안되어야 한다.
상술한 기술적 과제를 달성하기 위하여, 실시예들에 따른 비디오 전송 방법 및 비디오 수신 방법이 개시된다.
실시예들에 따른 비디오 전송 방법은, 복수의 뷰잉 포지션(viewing positions)들에 대한 픽처(picture)들의 인터-뷰 리던던시를 제거하는 단계; 인터-뷰 리던던시가 제거된 픽처들을 패킹하는 단계; 패킹된 픽처들 및 시그널링 정보를 인코딩하는 단계; 를 포함할 수 있다.
또한, 비디오 전송 방법은, 복수의 뷰잉 포지션들에 대한 픽처들에 포함된 소스 뷰 픽처들에 기초하여 센터 뷰 픽처(center view picture) 및 센터 뷰 제너레이션 정보(center view generation information)를 생성하는 단계; 및 소스 뷰 픽처들에 기초하여 중간 뷰 픽처를 합성하는 단계, 중간 뷰 픽처를 합성하는 단계는 프리-제너레이션 정보(pre-generation information) 및 뷰 합성 레코멘데이션 정보(view synthesis recommendation information)를 생성함; 를 더 포함할 수 있다. 또한, 인터-뷰 리던던시를 제거하는 단계는 소스 뷰 픽처들, 중간 뷰 픽처 및 센터 뷰 픽처 중 적어도 두 개의 픽처에 기초하여 스파스 뷰(sparse view) 픽처들을 생성할 수 있다. 또한, 인터-뷰 리던던시를 제거하는 단계는 레퍼런스 뷰(reference view) 픽처들, 레퍼런스 뷰 정보(reference view information) 및 리제너레이션 정보(regeneration information)를 더 생성할 수 있다.
추가적으로, 실시예들에 따르면, 비디오 전송 방법은, 스파스 뷰 픽처들의 제 1 스파스 뷰 픽처 및 센터 뷰 픽처에 기초하여 임시 재생성된 뷰 픽처(temporally regenerated view picture)를 생성하는 단계; 및 임시 재생성된 뷰 픽처 및 센터 뷰 픽처로부터 추측된 소스 뷰를 프루닝(pruning)하는 단계, 프루닝하는 단계는 제 2 스파스 뷰 픽처를 생성함; 를 더 포함할 수 있고, 인코딩하는 단계는 제 2 스파스 뷰 픽처를 더 인코딩할 수 있다.
또한, 비디오 전송 방법은, 패킹 및 인코딩된 픽처들을 디코딩 및 언패킹하는 단계, 디코딩 및 언패킹된 픽처들은 임시 디코딩된 공통 레퍼런스 뷰 픽처(temporally decoded common reference view picture) 및 임시 디코딩된 스파스 뷰 픽처(temporally decoded sparse view picture)를 포함함; 임시 디코딩된 공통 레퍼런스 뷰 픽처 및 임시 디코딩된 스파스 뷰 픽처에 기초하여 재생성된 뷰를 생성하는 단계; 및, 재생성된 뷰 및 임시 디코딩된 공통 레퍼런스 뷰 픽처로부터 추측된 소스 뷰 픽처를 프루닝하는 단계, 프루닝하는 단계는 오류 로버스트 스파스 뷰 픽처(error robust sparse view picture)를 생성함; 를 포함할 수 있다. 여기서, 패킹하는 단계는 오류 로버스트 스파스 뷰 픽처를 더 패킹할 수 있다.
추가로 실시예들에 따르면, 인터-뷰 리던던시를 제거하는 단계는, 제 1 뷰잉 포지션과 관련된 제 1 소스 뷰 픽처를 센터 뷰 픽처에 기초하여 제 1 프루닝하는 단계, 제 1 프루닝하는 단계는 제 1 스파스 뷰 픽처를 생성함; 제 1 소스 뷰 픽처를 제 1 뷰잉 포지션과 다른 제 2 뷰잉 포지션과 관련된 제 2 소스 뷰 픽처에 기초하여 제 2 프루닝하는 단계, 제 2 프루닝하는 단계는 제 2 스파스 뷰 픽처를 생성함; 제 1 스파스 뷰 픽처 및 제 2 스파스 뷰 픽처 중 하나의 픽처를 선택하는 단계; 를 포함할 수 있다. 여기서, 인코딩하는 단계는 제 1 스파스 뷰 픽처 및 제 2 스파스 뷰 픽처 중 선택된 하나의 픽처를 더 인코딩할 수 있다.
나아가, 비디오 전송 방법은, 스파스 뷰 픽처들 내 포함된 제 2 뷰잉 포지션과 관련된 스파스 뷰 픽처에 기초하여, 스파스 뷰 픽처들 내 포함된 제 1 뷰잉 포지션과 관련된 레퍼런스 스파스 뷰 픽처(reference sparse view picture)를 프루닝(pruning)하는 단계, 제 2 뷰잉 포지션은 제 1 뷰잉 포지션과 다른 뷰잉 포지션이고, 레퍼런스 스파스 뷰 픽처를 프루닝하는 단계는 프루닝된 스파스 뷰 픽처(pruned sparse view picture)를 생성함; 및, 프루닝된 스파스 뷰 픽처로부터 레지듀얼(residual)를 검출하는 단계; 를 포함할 수 있다. 여기서, 프루닝된 스파스 뷰 픽처는 레지듀얼의 존재에 대응하여 패킹될 수도 있다.
실시예들에 따른 비디오 수신 방법은, 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 단계; 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 단계, 언패킹된 비트스트림은 시그널링 정보를 포함함; 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 단계; 및, 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 단계; 를 포함할 수 있다.
여기서, 시그널링 정보는 뷰잉 포지션 그룹 정보(viewing position group information)를 포함하고, 뷰잉 포지션 그룹 정보는 센터 뷰 제너레이션 정보(center view generation information), 프리-제너레이션 정보(pre-generation information), 뷰 합성 레코멘데이션 정보(view synthesis recommendation information), 레퍼런스 뷰 정보(reference view information) 및 리제너레이션 정보(regeneration information)를 포함하고,
상기 비디오 수신 방법은, 언패킹된 픽처들 내에 포함된 레퍼런스 뷰 픽처(reference view picture)들 및 센터 뷰 제너레이션 정보에 기초하여 센터 뷰 픽처(center view picture)를 생성하는 단계를 포함할 수 있다. 또한, 뷰 재생성하는 단계는 레퍼런스 뷰 픽처들, 언패킹된 픽처들 내의 스파스 뷰 픽처(sparse view picture)들, 센터 뷰 픽처, 레퍼런스 뷰 정보 및 리제너레이션 정보에 기초하여 재생성된 뷰(regenerated view)를 생성할 수 있다. 또한, 뷰 합성하는 단계는 재생성된 뷰, 센터 뷰 픽처, 레퍼런스 뷰 픽처들, 프리-제너레이션 정보 및 뷰 합성 레코멘데이션 정보에 기초하여 합성된 뷰를 생성할 수 있다.
추가로, 비디오 뷰 재생성하는 단계는, 센터 뷰 픽처 및 스파스 뷰 픽처들 내에 포함된 제 1 뷰잉 포지션과 관련된 제 1 스파스 뷰 픽처에 기초하여, 제 1 뷰잉 포지션과 관련된 제 1 재생성된 뷰를 생성하는 단계; 및, 제 1 재생성된 픽처 및 센터 뷰 픽처에 기초하여, 제 2 뷰잉 포지션과 관련된 제 2 재생성된 픽처를 생성하는 단계; 를 수행할 수 있다. 여기서, 제 2 뷰잉 포지션은 제 1 뷰잉 포지션과 다른 뷰잉 포지션일 수 있다.
추가적으로, 뷰 재생성하는 단계는, 센터 뷰 픽처 및 스파스 뷰 픽처들 내에 포함된 제 1 뷰잉 포지션과 관련된 제 1 스파스 뷰에 기초하여, 제 1 뷰잉 포지션과 관련된 임의 생성 뷰(temporally generated view)를 생성하는 단계; 임의 생성 뷰로부터 제 2 뷰잉 포지션과 관련된 제 2 스파스 뷰 픽처를 추정하는 단계, 스파스 뷰 픽처들 내에 프루닝된 스파스 뷰(pruned sparse view) 픽처를 포함하는 경우, 추정하는 단계는 프루닝된 스파스 뷰 픽처에 기초하여 제 2 스파스 뷰 픽처를 추정함; 및 상기 추정된 제 2 스파스 뷰 픽처 및 센터 뷰 픽처에 기초하여 제 2 뷰잉 포지션과 관련된 재생성된 뷰를 생성하는 단계; 를 수행할 수 있다. 또한, 뷰 재생성하는 단계는, 제 1 스파스 뷰 픽처로부터 제 2 스파스 뷰 픽처를 재생성하는 단계, 스파스 뷰 픽처들 내에 프루닝된 스파스 뷰(pruned sparse view) 픽처를 포함하는 경우, 제 2 스파스 뷰 픽처를 재생성하는 단계는 프루닝된 스파스 뷰 픽처에 기초하여 제 2 스파스 뷰 픽처를 생성함; 및 재생성된 제 2 스파스 뷰 픽처 및 센터 뷰 픽처에 기초하여 제 재생성된 뷰를 생성하는 단계; 를 수행하여 재생성된 뷰를 생성할 수 있다. 여기서, 제 2 뷰잉 포지션은 제 1 뷰잉 포지션과 다를 수 있다.
실시예들에 따른 비디오 전송 장치는, 하나의 뷰잉 포지션에 대하여 스파스 뷰 픽처를 선택함으로써 전송 장치 및 수신 장치의 송수신 환경에 대응하여 데이터의 양과 연산량을 조절하는 적응적 인터-뷰 리던던시 제거 동작을 수행할 수 있다. 따라서, 실시예들에 따른 전송 장치는 전송 장치의 송신 환경 및 수신 장치의 수신 환경을 고려하여 스파스 뷰를 선택함으로써 송수신 환경에 신속하게 대응할 수 있다.
실시예들에 따른 비디오 전송 장치는 뷰포인트의 다른 뷰잉 포지션들을 나타내는 복수의 멀티 스피리컬 이미지들을 효율적으로 제공할 수 있다.
실시예들에 따른 비디오 전송 장치는 스파스 뷰 프루닝부 및 레지듀얼 디텍션부에 의해, 불필요하거나 중복되는 정보들을 더 제거하여 실시예들에 따른 전송 장치의 데이터 송신 효율을 높일 수 있다.
실시예들에 따른 비디오 전송 장치는, 하나의 뷰잉 포지션에 대한 다양한 스파스 뷰 픽처의 오류의 양을 판단하여 오류가 적은 픽처를 선택함으로써, 수신 장치를 사용하는 사용자들(viewer)에게 정확하고 실제와 같은 가상 현실 환경을 제공할 수 있다.
실시예들에 따른 비디오 전송 장치는, 송신할 스파스 뷰 픽처들의 수를 줄일 수 있고, 송신할 데이터의 양을 줄일 수 있다. 또한 실시예들에 따른 비디오 수신 장치는, 수신하는 스파스 뷰 픽처들의 수를 줄일 수 있어, 수신단에서의 부담을 줄일 수 있다.
실시예들에 따른 비디오 전송 장치는, 실시예들에 따른 인코더단은 송신할 스파스 뷰 픽처들의 수를 줄일 수 있고, 송신할 데이터의 양을 줄일 수 있다.
실시예들에 따른 비디오 전송 장치는, 복수의 스파스 뷰들 간의 에러를 다시 검출하여 프루닝함으로써 디코더단으로 하여금 해당 뷰잉 포지션에 대한 정확한 뷰를 생성할 수 있는 효과를 제공한다. 또한, 실시예들에 따른 디코더단은 적은 양의 데이터의 수신으로도 실제와 같은 가상 공간을 생성함으로써 비트 효율을 높일 수 있다.
실시예들에 따른 비디오 수신 장치는 재생성된 뷰(regenerated view)들을 정확하고 효율적으로 생성할 수 있다.
실시예들에 따른 비디오 수신 장치는, 이러한 구성으로 인해 서로 다른 뷰잉 포지션에 대한 뷰들을 적은 양의 데이터로 재생성 및 합성할 수 있어 송수신 효율을 높일 수 있다.
도 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은 6DoF 비디오 전송/수신 장치의 구성을 나타낸다.
도21은 6DoF 공간을 나타낸다.
도 22는 실시예들에 따른 비디오 송수신 방법/장치와 연동 가능한 구조의 예시를 나타낸다.
도 23은 실시예들에 따른 인코더 프리-프로세싱부(encoder pre-processing modules)의 블록도를 나타낸다.
도 24는 실시예들에 따른 디코더 포스트-프로세싱부(decoder post-processing modules)의 블록도를 나타낸다.
도 25는 실시예들에 따른 인코더 프리-프로세싱부(encoder pre-processing modules)의 블록도를 나타낸다.
도 26은 실시예들에 따른 디코더 포스트-프로세싱부(decoder post-processing modules)의 블록도를 나타낸다.
도 27은 실시예들에 따른 인코더 프리-프로세싱부(encoder pre-processing modules)의 블록도를 나타낸다.
도 28은 실시예들에 따른 디코더 포스트-프로세싱부(decoder post-processing modules)의 블록도를 나타낸다.
도 29는 실시예들에 따른 비디오 수신 장치 및/또는 실시예들에 따른 비디오 전송 장치의 소프트웨어 플랫폼을 나타낸다.
도 30은 실시예들에 따른 인코더 프리-프로세싱부의 프루닝부의 동작을 나타낸다.
도 31은 실시예들에 따른 디코더 포스트-프로세싱부의 뷰 제너레이션을 나타낸다.
도 32는 실시예들에 따른 프루닝부 및 스파스 뷰 셀렉션부를 이용한 실시예들에 따른 인코더 프리-프로세싱 스킴을 나타낸다.
도 33은 실시예들에 따른 재생성된 뷰(regenerated view)를 레퍼런스 뷰(reference view)로 사용하여 뷰 리제너레이션(view regeneration)을 수행하는 것을 나타낸다.
도 34는 실시예들에 따른 프루닝 및 스파스 뷰 프루닝을 수행하는 실시예들에 따른 인코더 프리-프로세싱부를 나타낸다.
도 35는 실시예들에 따른 뷰 리제너레이션 및/또는 스파스 뷰 리제너레이션을 이용한 실시예들에 따른 디코더 포스트-프로세싱 스킴(decoder post processing scheme)을 나타낸 것이다.
도 36은 실시예들에 따른 뷰 리제너레이션 및/또는 스파스 뷰 리제너레이션을 이용한 실시예들에 따른 디코더 포스트-프로세싱 스킴(decoder post processing scheme)을 나타낸 것이다.
도 37은 실시예들에 따른 뷰 리제너레이션 및/또는 스파스 뷰 리제너레이션을 이용한 실시예들에 따른 디코더 포스트-프로세싱 스킴(decoder post processing scheme)을 나타낸 것이다.
도 38은 실시예들에 따른 뷰 리제너레이션 및/또는 스파스 뷰 리제너레이션을 이용한 실시예들에 따른 디코더 포스트-프로세싱 스킴(decoder post processing scheme)을 나타낸 것이다.
도 39는 실시예들에 따른 스파스 뷰 리제너레이션 정보 SEI 메시지(sparse view regeneration information SEI message)의 신텍스를 나타낸다.
도 40은 실시예들에 따른 뷰잉 포지션 그룹 정보 SEI 메시지(Viewing position group information SEI message)의 신텍스(syntax)를 나타낸다.
도 41은 실시예들에 따른 인코더 프리-프로세싱부(encoder pre-processing modules)의 블록도를 나타낸다.
도 42는 실시예들에 따른 인코더 프리-프로세싱부(encoder pre-processing modules)의 블록도를 나타낸다.
도 43은 실시예들에 따른 디코더 포스트-프로세싱부(decoder post-processing modules)의 블록도를 나타낸다.
도 44는 실시예들에 따른 디코더 디코더 포스트-프로세싱부(decoder post-processing modules)의 블록도를 나타낸다.
도 45는 실시예들에 따른 디코더단의 동작 흐름을 나타낸다.
도 46은 실시예들에 따른 인코더 프리-프로세싱부(encoder pre-processing modules)의 프루닝 스킴(pruning scheme)을 나타낸다.
도 47은 실시예들에 따른 디코더 포스트-프로세싱부(decoder post-processing modules)의 실시예들에 따른 뷰 리제너레이션(view regeneration)의 동작을 나타낸다.
도 48은 실시예들에 따른 인코더 프리-프로세싱부(encoder pre-processing modules)의 프루닝 스킴(pruning scheme)의 실시예를 나타낸다.
도 49는 실시예들에 따른 디코더 포스트-프로세싱부(decoder post-processing modules)의 실시예들에 따른 뷰 리제너레이션(view regeneration)을 나타낸다.
도 50은 실시예들에 따른 디코더 포스트-프로세싱부(decoder post-processing modules)의 실시예들에 따른 뷰 리제너레이션(view regeneration)을 나타낸다.
도 51은 실시예들에 따른 디코더 포스트-프로세싱부(decoder post-processing modules)의 실시예들에 따른 뷰 리제너레이션(view regeneration)을 나타낸다.
도 52는 실시예들에 따른 인코더 프리-프로세싱부(encoder pre-processing modules)의 프루닝 스킴(pruning scheme)의 실시예를 나타낸다.
도 53는 실시예들에 따른 디코더 포스트-프로세싱부(decoder post-processing modules)의 실시예들에 따른 뷰 리제너레이션(view regeneration)을 나타낸다.
도 54는 실시예들에 따른 인코더 프리-프로세싱부(encoder pre-processing modules)의 프루닝 스킴(pruning scheme)의 실시예를 나타낸다.
도 55는 실시예들에 따른 디코더 포스트-프로세싱부(decoder post-processing modules)의 실시예들에 따른 뷰 리제너레이션(view regeneration)을 나타낸다.
도 56은 실시예들에 따른 인코더 프리-프로세싱부(encoder pre-processing modules)의 프루닝 스킴(pruning scheme)의 실시예를 나타낸다.
도 57은 실시예들에 따른 디코더 포스트-프로세싱부(decoder post-processing modules)의 실시예들에 따른 뷰 리제너레이션(view regeneration)을 나타낸다.
도 58는 실시예들에 따른 디코더 포스트-프로세싱부(decoder post-processing modules)의 실시예들에 따른 뷰 리제너레이션(view regeneration)을 나타낸다.
도 59는 실시예들에 따른 디코더 포스트-프로세싱부(decoder post-processing modules)의 실시예들에 따른 뷰 리제너레이션(view regeneration)을 나타낸다.
도 60은 실시예들에 따른 비디오 전송 장치의 블록도를 나타낸다.
도 61은 실시예들에 따른 비디오 수신 장치를 나타낸다.
도 62는 실시예들에 따른 비디오 전송 방법의 흐름도를 나타낸다.
도 63은 실시예들에 따른 비디오 수신 방법의 흐름도를 나타낸다.
본 발명의 바람직한 실시예에 대해 구체적으로 설명하며, 그 예는 첨부된 도면에 나타낸다. 첨부된 도면을 참조한 아래의 상세한 설명은 본 발명의 실시예에 따라 구현될 수 있는 실시예만을 나타내기보다는 본 발명의 바람직한 실시예를 설명하기 위한 것이다. 다음의 상세한 설명은 본 발명에 대한 철저한 이해를 제공하기 위해 세부 사항을 포함한다. 그러나 본 발명이 이러한 세부 사항 없이 실행될 수 있다는 것은 당업자에게 자명하다.
본 발명에서 사용되는 대부분의 용어는 해당 분야에서 널리 사용되는 일반적인 것들에서 선택되지만, 일부 용어는 출원인에 의해 임의로 선택되며 그 의미는 필요에 따라 다음 설명에서 자세히 서술한다. 따라서 본 명세서의 실시예들은 용어의 단순한 명칭이나 의미가 아닌 용어의 의도된 의미에 근거하여 이해되어야 한다.
도 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에 포함되어 전송될 수도 있다.
도9는 3DoF+ VR 시스템에서 추가적으로 정의되는 위치(viewpoint)와 시점(viewing position)를 나타낸다.
본 명세서의 실시예들 은360 비디오 기반 VR 시스템은 전술한 360 비디오 처리 과정을 기반으로 360 비디오에 대하여 사용자의 위치를 기준으로 서로 다른 방향(viewing orientation)에 대한 시각적/청각적 경험을 제공할 수 있다. 이러한 방법을 3DoF (three degree of freedom) plus라고 명명할 수 있다. 구체적으로, 360 비디오에 대하여 사용자의 고정 위치에서의 서로 다른 방향에 대한 시작적/청각적 경험을 제공하는 VR 시스템은 3DoF 기반 VR 시스템이라고 불릴 수 있다.
한편, 동일 시간대에서 서로 다른 위치 (viewpoint), 서로 다른 시점(viewing position)에서의 서로 다른 방향에 대한 확장된 시각적/청각적 경험을 제공할 수 있는 VR 시스템은 3DoF+ 또는 3DoF plus 기반 VR 시스템라고 불릴 수 있다.
(a)와 같은 공간(공연장의 예)을 가정했을 때, 서로 다른 위치(붉은색 동그라미로 표시된 공연장의 위치의 예)를 각각의 viewpoint로 고려할 수 있다. 이 때, 예제와 같이 동일 공간에 존재하는 각 viewpoint에서 제공되는 영상/음성은 동일한 시간 흐름을 가질 수 있다.
이 경우 특정 위치에서 사용자의 시점 변화(head motion)에 따라 서로 다른 시각적/청각적 경험 제공할 수 있다. 즉, 특정 viewpoint에 대해 (b)에 도시된 바와 같은 다양한 viewing position의 sphere를 가정할 수 있으며, 각 시점의 상대적인 위치를 반영한 영상/음성/텍스트 정보를 제공할 수 있다.
한편, (c)에 도시된 바와 같이 특정 위치의 특정 시점에서는 기존의 3DoF와 같이 다양한 방향의 시각적/청각적 정보를 전달할 수 있다. 이 때, main source(영상/음성/텍스트) 뿐만 아니라 추가적인 다양한 소스를 통합하여 제공할 수 있으며, 이는 사용자의 시청 방향 (viewing orientation)과 연계되거나 독립적으로 정보를 전달할 수 있다.
도10은 3DoF+ 시스템에 기반한 360도 비디오 신호처리 및 관련 전송장치/수신장치 구현 방법에 대해서 도시한다.
도 10은 3DoF+ 의 영상획득, 전처리, 전송, (후)처리, 렌더링 및 피드백 과정을 포함한 3DoF+ end-to-end system 흐름도에 대한 예시이다.
Acquisition: 360 비디오의 캡쳐, 합성 또는 생성 과정 등을 통한 360 비디오를 획득하는 과정을 의미할 수 있다. 이 과정을 통하여 다수의 위치에 대해 head motion에 따른 다수의 영상/음성 정보를 획득할 수 있다. 이 때, 영상 정보는 시각적 정보(texture) 뿐 아니라 깊이 정보(depth)를 포함할 수 있다. 이 때 a의 영상 정보 예시와 같이 서로 다른 촬영 위치(viewpoint)에 따른 서로 다른 시점(viewing position)의 복수의 정보를 각각 획득할 수 있다.
Composition: 영상/음성 입력 장치를 통해 획득한 정보 뿐 아니라 외부 미디어를 통한 영상(비디오/이미지 등), 음성(오디오/효과음향 등), 텍스트(자막 등)을 사용자 경험에 포함하기 위해 합성하기 위한 방법을 정의할 수 있다.
Pre-processing: 획득된 360 비디오의 전송/전달을 위한 준비(전처리) 과정으로서, 스티칭, 프로젝션, 리전별 패킹 과정 및/또는 인코딩 과정 등을 포함할 수 있다. 즉, 이 과정은 영상/음성/텍스트 정보를 제작자의 의도에 따라 데이터를 변경/보완 하기위한 전처리 과정 및 인코딩 과정이 포함될 수 있다. 예를 들어 영상의 전처리 과정에서는 획득된 시각 정보를 360 sphere 상에 매핑하는 작업(stitching), 영역 경계를 없애거나 색상/밝기 차이를 줄이거나 영상의 시각적 효과를 주는 보정 작업(editing), 시점에 따른 영상을 분리하는 과정(view segmentation), 360 sphere 상의 영상을 2D 영상으로 매핑하는 프로젝션 과정(projection), 영역에 따라 영상을 재배치 하는 과정 (region-wise packing), 영상 정보를 압축하는 인코딩 과정이 포함될 수 있다. B의 비디오 측면의 예시와 같이 서로 다른 촬영 위치(viewpoint)에 따른 서로 다른 시점(viewing position)의 복수의 프로젝션 영상이 생성될 수 있다.
Delivery: 준비 과정(전처리 과정)을 거친 영상/음성 데이터 및 메타데이터들을 처리하여 전송하는 과정을 의미할 수 있다. 서로 다른 촬영 위치(viewpoint)에 따른 서로 다른 시점(viewing position)의 복수의 영상/음성 데이터 및 관련 메타데이터를 전달하는 방법으로써 전술한 바와 같이 방송망, 통신망을 이용하거나, 단방향 전달 등의 방법을 사용할 수 있다.
Post-processing & composition: 수신된/저장된 비디오/오디오/텍스트 데이터를 디코딩하고 최종 재생을 위한 후처리 과정을 의미할 수 있다. 예를 들어 후처리 과정은 전술한 바와 같이 패킹 된 영상을 풀어주는 언패킹 및 2D 프로젝션 된 영상을 3D 구형 영상으로복원하는 리-프로젝션 과정 등이 포함될 수 있다.
Rendering: 3D 공간상에 리-프로젝션된 이미지/비디오 데이터를 렌더링하고 디스플레이하는 과정을 의미할 수 있다. 이 과정에서 영상/음성 신호를 최종적으로 출력하기 위한 형태로 재구성할 수 있다. 사용자의 관심영역이 존재하는 방향(viewing orientation), 시점(viewing position/head position), 위치(viewpoint)를 추적할 수 있으며, 이 정보에 따라 필요한 영상/음성/텍스트 정보만을 선택적으로 사용할 수 있다. 이 때, 영상 신호의 경우 사용자의 관심영역에 따라 c와 같이 서로 다른 시점을 선택할 수 있으며, 최종적으로 d와 같이 특정 위치에서의 특정 시점의 특정 방향의 영상을 출력할 수 있다.
Feedback: 디스플레이 과정에서 획득될 수 있는 다양한 피드백 정보들을 송신측으로 전달하는 과정을 의미할 수 있다. 본 실시예의 경우 사용자 관심영역의 방향(viewing orientation), 시점(viewing position), 위치(viewpoint)를 추정하고, 이를 기반으로 영상/음성을 재생할 수 있도록 피드백을 전달할 수 있다.
도11은 3DoF+ end-to-end 시스템의 구조를 나타낸다.
도11은 3DoF+ end-to-end 시스템 아키텍쳐의 예시이다. 도 11의 아키텍처에 의하여 전술된 바와 같이 3DoF+ 360 컨텐츠가 제공될 수 있다.
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는 실시예들에 따른 비디오 송수신 방법/장치와 연동 가능한 구조의 예시를 나타낸다.
도 22를 참조하면, 실시예들에 따른 구조는 서버(2260), 로봇(2210), 자율 주행 차량(2220), XR 장치(2230), 스마트폰(2240), 가전(2250) 및/또는 HMD(2270) 중에서 적어도 하나 이상이 클라우드 네트워크(2210)와 연결된다. 여기서, 로봇(2210), 자율 주행 차량(2220), XR 장치(2230), 스마트폰(2240) 또는 가전(2250) 등을 장치라 칭할 수 있다. 또한, XR 장치(2230)는 실시예들에 따른 비디오 송수신 장치에 대응되거나 비디오 송수신 장치와 연동될 수 있다.
클라우드 네트워크(2200)는 클라우드 컴퓨팅 인프라의 일부를 구성하거나 클라우드 컴퓨팅 인프라 안에 존재하는 네트워크를 의미할 수 있다. 여기서, 클라우드 네트워크(2200)는 3G 네트워크, 4G 또는 LTE(Long Term Evolution) 네트워크 또는 5G 네트워크 등을 이용하여 구성될 수 있다.
서버(2260)는 로봇(2210), 자율 주행 차량(2220), XR 장치(2230), 스마트폰(2240), 가전(2250) 및/또는 HMD(2270) 중에서 적어도 하나 이상과 클라우드 네트워크(2200)을 통하여 연결되고, 연결된 장치들(2210 내지 2270)의 프로세싱을 적어도 일부를 도울 수 있다.
HMD (Head-Mount Display)(2270)는 실시예들에 따른 XR 디바이스 및/또는 PCC 디바이스가 구현될 수 있는 타입 중 하나를 나타낸다. 실시예들에 따른HMD 타입의 디바이스는, 커뮤니케이션 유닛, 컨트롤 유닛, 메모리 유닛, I/O 유닛, 센서 유닛, 그리고 파워 공급 유닛 등을 포함한다.
이하에서는, 상술한 기술이 적용되는 장치(2210 내지 2250)의 다양한 실시 예들을 설명한다. 여기서, 도 22에 도시된 장치(2210 내지 2250)는 상술한 실시예들에 따른 비디오 송수신 장치와 연동/결합될 수 있다. 이하에서, XR은 실시예들에 따른 3Dof, 3Dof+, 6Dof 및/또는 PCC를 포함할 수 있다.
<XR>
XR 장치(2230)는 XR(AR+VR) 기술이 적용되어, HMD(Head-Mount Display), 차량에 구비된 HUD(Head-Up Display), 텔레비전, 휴대폰, 스마트 폰, 컴퓨터, 웨어러블 디바이스, 가전 기기, 디지털 사이니지, 차량, 고정형 로봇이나 이동형 로봇 등으로 구현될 수도 있다.
XR 장치(2230)는 다양한 센서들을 통해 또는 외부 장치로부터 획득한 3차원 포인트 클라우드 데이터 또는 이미지 데이터를 분석하여 3차원 포인트들에 대한 위치 데이터 및 속성 데이터를 생성함으로써 주변 공간 또는 현실 객체에 대한 정보를 획득하고, 출력할 XR 객체를 렌더링하여 출력할 수 있다. 예컨대, XR 장치(2230)는 인식된 물체에 대한 추가 정보를 포함하는 XR 객체를 해당 인식된 물체에 대응시켜 출력할 수 있다.
<자율주행+XR>
자율 주행 차량(2220)은 XR 기술이 적용되어, 이동형 로봇, 차량, 무인 비행체 등으로 구현될 수 있다.
XR 기술이 적용된 자율 주행 차량(2220)은 XR 영상을 제공하는 수단을 구비한 자율 주행 차량이나, XR 영상 내에서의 제어/상호작용의 대상이 되는 자율 주행 차량 등을 의미할 수 있다. 특히, XR 영상 내에서의 제어/상호작용의 대상이 되는 자율 주행 차량(2220)은 XR 장치(2230)와 구분되며 서로 연동될 수 있다.
XR영상을 제공하는 수단을 구비한 자율 주행 차량(2220)은 카메라를 포함하는 센서들로부터 센서 정보를 획득하고, 획득한 센서 정보에 기초하여 생성된 XR 영상을 출력할 수 있다. 예컨대, 자율 주행 차량(2220)은 HUD를 구비하여 XR 영상을 출력함으로써, 탑승자에게 현실 객체 또는 화면 속의 객체에 대응되는 XR 객체를 제공할 수 있다.
이때, XR 객체가 HUD에 출력되는 경우에는 XR 객체의 적어도 일부가 탑승자의 시선이 향하는 실제 객체에 오버랩되도록 출력될 수 있다. 반면, XR 객체가 자율 주행 차량의 내부에 구비되는 디스플레이에 출력되는 경우에는 XR 객체의 적어도 일부가 화면 속의 객체에 오버랩되도록 출력될 수 있다. 예컨대, 자율 주행 차량(2220)은 차로, 타 차량, 신호등, 교통 표지판, 이륜차, 보행자, 건물 등과 같은 객체와 대응되는 XR 객체들을 출력할 수 있다.
실시예들에 의한 VR (Virtual Reality) 기술, AR (Augmented Reality) 기술, MR (Mixed Reality) 기술 및/또는 PCC(Point Cloud Compression)기술은, 다양한 디바이스에 적용 가능하다.
즉, VR 기술은, 현실 세계의 객체나 배경 등을 CG 영상으로만 제공하는 디스플레이 기술이다. 반면, AR 기술은, 실제 사물 영상 위에 가상으로 만들어진 CG 영상을 함께 보여 주는 기술을 의미한다. 나아가, MR 기술은, 현실세계에 가상 객체들을 섞고 결합시켜서 보여준다는 점에서 전술한 AR 기술과 유사하다. 그러나, AR 기술에서는 현실 객체와 CG 영상으로 만들어진 가상 객체의 구별이 뚜렷하고, 현실 객체를 보완하는 형태로 가상 객체를 사용하는 반면, MR 기술에서는 가상 객체가 현실 객체와 동등한 성격으로 간주된다는 점에서 AR 기술과는 구별이 된다. 보다 구체적으로 예를 들면, 전술한 MR 기술이 적용된 것이 홀로그램 서비스 이다.
다만, 최근에는 VR, AR, MR 기술을 명확히 구별하기 보다는 XR (extended Reality) 기술로 부르기도 한다. 따라서, 본 발명의 실시예들은 VR, AR, MR, XR 기술 모두에 적용 가능하다. 이런 한 기술은 PCC, V-PCC, G-PCC 기술 기반 인코딩/디코딩이 적용될 수 있다.
실시예들에 따른 방법/장치는 자율 주행 서비스를 제공하는 차량에 적용될 수 있다.
자율 주행 서비스를 제공하는 차량은 디바이스와 유/무선 통신이 가능하도록 연결된다.
실시예들에 따른 비디오 송수신 장치는 차량과 유/무선 통신이 가능하도록 연결된 경우, 자율 주행 서비스와 함께 제공할 수 있는 AR/VR/PCC 서비스 관련 콘텐트 데이터를 수신/처리하여 차량에 전송할 수 있다. 또한 포인트 클라우드 데이터 송수신 장치 차량에 탑재된 경우, 비디오 송수신 장치는 사용자 인터페이스 장치를 통해 입력된 사용자 입력 신호에 따라 AR/VR/PCC 서비스 관련 콘텐트 데이터를 수신/처리하여 사용자에게 제공할 수 있다. 실시예들에 따른 차량 또는 사용자 인터페이스 장치는 사용자 입력 신호를 수신할 수 있다. 실시예들에 따른 사용자 입력 신호는 자율 주행 서비스를 지시하는 신호를 포함할 수 있다.
도 23은 실시예들에 따른 인코더 프리-프로세싱부(encoder pre-processing modules)의 블록도를 나타낸다.
인코더 프리-프로세싱부는 인코더 프리-프로세싱 모듈, 인코더단, 인코딩부로 호칭될 수도 있고, 비디오 전송 장치를 구성하는 장치를 포괄적으로 호칭하는 용어를 의미할 수 있다. 즉, 인코더 프리-프로세싱부는 상술한 비디오 전송 장치에 포함된 구성들인 인터-뷰 리던던시 제거부(Inter-view redundancy removal), 패킹부(Packing) 및/또는 인코더부 등을 포함할 수 있다.
도 23은 3DoF+를 위한 멀티-뷰 비디오에 대하여 실시예들에 따른 프리-인코딩 프로세싱(또는 헤드 모션 페럴렉스, head motion parallax)는 장치(및/또는 동작)을 나타낸다. 본 도면에서 설명한 바와 같이, 각각의 뷰 (또는 뷰 픽처)들은 서로 다른 컴포넌트들, 텍스처 및 뎁스 맵으로 구성될 수 있다. 텍스처 및 뎁스 맵은, 각각의 뷰들에 대한 각각의 컴포넌트의 투영된(projected) 픽처에 의해 생성된 픽처를 의미할 수 있다. 텍스처 및 뎁스 맵은 실시예들에 따른 스티칭/로테이션/프로젝션(stitching/rotation/projection) 및/또는 멀티-뷰 패킹(multi-view packing) 동작에 의해 생성될 수 있다. (Each view could be composed by different components, texture and depth map, which are produced into a projected picture of each component of each view by stitching, rotation, projection and multi-view packing process)
또한, 실시예들에 따른 비디오 전송 장치(또는 인코더 프리-프로세싱부)는 실시예들에 따른 인터-뷰 리던던시 제거부(또는 실시예들에 따른 프루닝부) 등에 의하여 뷰들(예를 들어, 소스 뷰 픽처들) 간의 리던던시(redundancy)를 제거할 수 있다. 예를 들어, 실시예들에 따른 리던던시 제거부(또는 프루닝부) 또는 비디오 전송 장치는 앵커 뷰(또는 센터 뷰 픽처)와 우측 헤드 모션 뷰(예를 들어, 특정 뷰잉 포지션에 대한 소스 뷰 픽처들) 픽처 간의 리던던시를 제거하여, 우측 헤드 모션 뷰와 관련된 스파스 뷰 픽처 (및/또는 관련 시그널링 정보)등을 생성할 수 있다. 또는, 실시예들에 따른 리던던시 제거부(또는 프루닝부) 또는 비디오 전송 장치는 앵커 뷰(또는 센터 뷰 픽처)와 뎁스 픽처(또는 다른 컴포넌트와 관련된 픽처) 간의 리던던시를 제거하여, 뎁스 픽처(또는 다른 컴포넌트와 관련된 픽처)와 관련된 스파스 뷰 픽처 (및/또는 관련 시그널링 정보)등을 생성할 수 있다.
실시예들에 따른 비디오 전송 장치는 뷰들(예를 들어, 소스 뷰 픽처, 프로젝티드 픽처 및/또는 스파스 뷰 픽처) 간의 리던던시를 제거함으로써 전송 장치의 송신 효율을 극대화할 수 있고, 비트 효율(비트율)을 높임으로써 적은 양의 데이터로 사용자들에게 실제와 같은 360도 영상을 제공할 수 있다.
이러한 프로젝티드 픽처(projected picture) 또는 소스 뷰 픽처들에 대하여 인터-뷰 리던던시 제거가 수행되면, 이들은 2D 이미지 상에 패킹될 수 있다. 즉, 각각의 뷰(view)들 (즉, 멀티 뷰들)에 대한 프로젝티드 픽처(텍스처, 레지듀얼 및/또는 뎁스)를 실시예들에 따른 패킹부(packing) 또는 멀티-뷰 패킹부(multi-view packing, 23004)에 의해 2D 이미지 상으로 패킹할 수 있다. 각각의 뷰에 대한 프로젝티드 픽처(즉, 텍스처, 레지듀얼 및/또는 뎁스)가 패킹된 2D 이미지 상의 픽처를 패킹된 픽처(packed picture)라고 호칭할 수 있다.
패킹된 픽처는 실시예들에 따른 인코더부(23005)에 의해 인코딩될 수 있다. 실시예들에 따른 인코딩부는, 예를 들어 상술한 패킹된 픽처를 싱글 레이어 비디오 인코더(single layer video encoder)에 의해 인코딩될 수 있다. 싱글 레이어 비디오 인코더는 예를 들면 HEVC 또는 퓨터 비디오 코덱(future video codec)일 수 있다.
구체적으로 도 23은 실시예들에 따른 비디오 전송 장치의 블록도를 나타낸다. 실시예들에 따른 비디오 전송 장치는 a pre-encoding process for multi-views 3DoF+ video의 구조를 의미할 수 있다. 실시예들에 따른 비디오 전송 장치는 뷰 1에 대한 처리부(23001) 내지 뷰 N에 대한 처리부(23003), 멀티-뷰 패킹부(23004) 및 인코딩부(또는 인코더, 23005)를 포함할 수 있다.
뷰 1에 대한 처리부(23001)는 뷰 1에 대응하는 텍스처 소스 이미지(texture source image) 및/또는 뎁스 소스 이미지(depth source image) 각각에 대하여 실시예들에 따른 스티칭/로테이션/프로젝션(stitching/rotation/projection)을 수행하고, 각각에 대한 텍스처 프로젝티드 픽처(texture projected picture) 및/또는 뎁스 프로젝티드 픽처(depth projected picture)를 생성할 수 있다. 여기서 뷰 1은 실시예들에 다른 앵커 뷰(anchor view)를 의미할 수 있다. 앵커 뷰는 후술할 센터 뷰 픽처(center view picture) 또는 센터 뷰(center view)로 호칭할 수 있다.
뷰 1에 대한 처리부(23001)는 뷰 1에 대응하는 텍스처 소스 이미지(texture source image) 및/또는 뎁스 소스 이미지(depth source image) 각각에 대하여 실시예들에 따른 스티칭/로테이션/프로젝션(stitching/rotation/projection)을 수행하는 경우 뷰 1에 대한 메타데이터를 생성할 수 있다. 여기서 뷰 1에 대한 메타데이터는 스티칭, 뷰 1에 대한 로테이션 및/또는 프로젝션을 수행하는 방법에 관한 시그널링 정보를 포함할 수 있다. 여기서 뷰 1에 대한 메타데이터는 실시예들에 따른 리컨스트럭션 파라미터들(reconstruction parameters)을 포함할 수 있다.
뷰 2에 대한 처리부(23002)는 실시예들에 따른 뷰 1 (즉, 앵커 뷰)가 아닌 뷰 2에 대응하는 텍스처 소스 이미지(texture source image) 및/또는 뎁스 소스 이미지(depth source image) 각각에 대하여 실시예들에 따른 스티칭/로테이션/프로젝션(stitching/rotation/projection)을 수행하고, 각각에 대한 텍스처 프로젝티드 픽처(texture projected picture) 및/또는 뎁스 프로젝티드 픽처(depth projected picture)를 생성할 수 있다. 또한, 뷰 2에 대한 처리부는 텍스처 프로젝티드 픽처(texture projected picture)에 대하여 실시예들에 따른 인터-뷰 리던던시 제거(inter-view redundancy removal)를 더 수행하여 레지듀얼 프로젝티드 픽처(residual projected picture)를 생성할 수 있다. 레지듀얼 프로젝티드 픽처는 후술할 레퍼런스 뷰 픽처 및/또는 스파스 뷰 픽처를 의미할 수 있다. 이 때, 실시예들에 따른 인터-뷰 리던던시 제거는 뷰 1(즉, 앵커 뷰)에 대응하는 텍스처 프로젝티드 픽처(texture projected picture)에 기초하여 레지듀얼 프로젝티드 픽처(residual projected picture)를 생성할 수 있다.
마찬가지로, 뷰 2에 대한 처리부(23002)는 뷰 2에 대응하는 텍스처 소스 이미지(texture source image) 및/또는 뎁스 소스 이미지(depth source image) 각각에 대하여 실시예들에 따른 스티칭/로테이션/프로젝션(stitching/rotation/projection)을 수행하는 경우 뷰 2에 대한 메타데이터를 생성할 수 있다. 여기서 뷰 2에 대한 메타데이터는 스티칭, 뷰 2에 대한 로테이션 및/또는 프로젝션을 수행하는 방법에 관한 시그널링 정보를 포함할 수 있다. 여기서 뷰 2에 대한 메타데이터는 실시예들에 따른 리컨스트럭션 파라미터들(reconstruction parameters)을 포함할 수 있다.
뷰 N에 대한 처리부(23003)는 실시예들에 따른 뷰 1 (즉, 앵커 뷰)가 아닌 뷰 N에 대응하는 텍스처 소스 이미지(texture source image) 및/또는 뎁스 소스 이미지(depth source image) 각각에 대하여 실시예들에 따른 스티칭/로테이션/프로젝션(stitching/rotation/projection)을 수행하고, 각각에 대한 텍스처 프로젝티드 픽처(texture projected picture) 및/또는 뎁스 프로젝티드 픽처(depth projected picture)를 생성할 수 있다. 또한, 뷰 N에 대한 처리부는 텍스처 프로젝티드 픽처(texture projected picture)에 대하여 실시예들에 따른 인터-뷰 리던던시 제거(inter-view redundancy removal)를 더 수행하여 레지듀얼 프로젝티드 픽처(residual projected picture)를 생성할 수 있다. 레지듀얼 프로젝티드 픽처는 후술할 레퍼런스 뷰 픽처 및/또는 스파스 뷰 픽처를 의미할 수 있다. 이 때, 실시예들에 따른 인터-뷰 리던던시 제거는 뷰 1(즉, 앵커 뷰)에 대응하는 텍스처 프로젝티드 픽처(texture projected picture)에 기초하여 레지듀얼 프로젝티드 픽처(residual projected picture)를 생성할 수 있다.
마찬가지로, 뷰 N에 대한 처리부(23003)는 뷰 N에 대응하는 텍스처 소스 이미지(texture source image) 및/또는 뎁스 소스 이미지(depth source image) 각각에 대하여 실시예들에 따른 스티칭/로테이션/프로젝션(stitching/rotation/projection)을 수행하는 경우 뷰 N에 대한 메타데이터를 생성할 수 있다. 여기서 뷰 N에 대한 메타데이터는 스티칭, 뷰 N에 대한 로테이션 및/또는 프로젝션을 수행하는 방법에 관한 시그널링 정보를 포함할 수 있다. 여기서 뷰 N에 대한 메타데이터는 실시예들에 따른 리컨스트럭션 파라미터들(reconstruction parameters)을 포함할 수 있다.
멀티-뷰 패킹부(Multi-view packing, 23004)는 뷰 1에 대한 처리부(23001)로부터 생성된 뷰 1에 대한 텍스처 프로젝티드 픽처, 뷰 1에 대한 뎁스 프로젝티드 픽처, 뷰 1에 대한 메타데이터, 뷰 2에 대한 처리부(23002)로부터 생성된 뷰 2에 대한 텍스처 프로젝티드 픽처, 뷰 2에 대한 뎁스 프로젝티드 픽처, 뷰 2에 대한 메타데이터, ……, 뷰 N에 대한 처리부(23001)로부터 생성된 뷰 N에 대한 텍스처 프로젝티드 픽처, 뷰 N에 대한 뎁스 프로젝티드 픽처 및/또는 뷰 N에 대한 메타데이터를 패킹하여 패킹된 픽처(packed picture)를 생성할 수 있다. 멀티-뷰 패킹부(23004)는 실시예들에 따른 패킹부를 의미할 수 있고, 멀티-뷰 패킹부는 멀티-뷰 패킹 모듈 등으로 호칭할 수 있다.
인코더부(23005)는 멀티-뷰 패킹부(23004)로부터 생성된 패킹된 픽처(packed picture)를 실시예들에 따른 인코딩을 수행할 수 있다. 인코더부는 실시예들에 따른 인코딩부를 의미할 수 있다. 인코딩부는 HEVC 또는 퓨쳐 비디오 코덱(future video codec)과 같이 싱글-레이어 비디오 인코더(single layer video encoder) 또는 그에 대응하는 장치로 인해 인코딩될 수 있다.
실시예들에 따라 뷰 1에 대한 처리부(23001), 뷰 2에 대한 처리부(23002), ……, 뷰 N에 대한 처리부(23003), 멀티-뷰 패킹부(23004) 및/또는 인코더부(23005) 각각은 하드웨어에 대응될 수 있고, 실시예들에 따라 비디오 전송 장치가 뷰 1 에 대한 처리부에 따른 처리, 뷰 2 에 대한 처리부에 따른 처리, 뷰 N 에 대한 처리부에 따른 처리, 멀티-뷰 패킹 및/또는 인코딩 동작을 수행할 수 있다.
따라서, 실시예들에 따른 비디오 전송 방법은 복수의 뷰잉 포지션(viewing positions)들에 대한 픽처(picture)들의 인터-뷰 리던던시를 제거하는 단계; 인터-뷰 리던던시가 제거된 픽처들을 패킹하는 단계; 및 패킹된 픽처들 및 시그널링 정보를 인코딩하는 단계; 를 포함할 수 있다.
또한, 실시예들에 따른 비디오 전송 장치는, 복수의 뷰잉 포지션(viewing positions)들에 대한 픽처(picture)들로부터 인터-뷰 리던던시 를 제거하는 인터-뷰 리던던시 제거부(inter-view redundancy remover); 인터-뷰 리던던시 제거된 픽처들을 패킹하는 패커(packer); 패킹된 픽처들 및 시그널링 정보를 인코딩하는 인코더(encoder); 를 포함할 수 있다.
따라서, 실시예들에 따른 송수신 장치는 3DoF+ 비디오를 전송하기 위한 대역폭과 저장 장치의 저장공간을 줄일 수 있고, 헤드 모션 시차 및/또는 양안 시차가 제공되는 높은 품질의 3DoF+ 비디오를 보장할 수 있다.
또한, 이러한 구성으로 인해, 수신기는 헤드 모션 시차 및/또는 양안 시차가 제공되는 비디오 또는 다른 시점을 생성 할 수 있으며, 수신기는 변화하는 위치로 인터렉티브(interactive)한 비디오를 생성 할 수 있다.
도 24는 실시예들에 따른 디코더 포스트-프로세싱부(decoder post-processing modules)의 블록도를 나타낸다.
디코더 포스트-프로세싱부는 디코더 포스트-프로세싱 모듈, 디코더단, 디코딩부 등으로 호칭될 수도 있고, 비디오 수신 장치를 구성하는 장치를 포괄적으로 호칭하는 용어를 의미할 수 있다. 즉, 디코더 포스트-프로세싱부는 상술한 비디오 수신 장치에 포함된 구성들인 디코더(Decoder), 뷰 리저네레이션부(View regeneration), 뷰 합성부(View synthesis), 렌더링/뷰포트 제너레이터(rendering/viewport generation)등을 포함할 수 있다.
도 24는 멀티-뷰 3DoF+ 비디오를 수신하여 처리하는 실시예들에 따른 포스트-디코더 프로세싱부를 설명한다. 실시예들에 따른 포스트-디코더 프로세싱부는 멀티-뷰 3DoF+ 비디오를 포함하는 비트스트림을 수신하여 각각의 뷰포인트(viewpoint)에 대한 뷰(view)를 나타내는 복수의 프로젝티드 픽처(projected picture)들을 생성한다.
이 때, 실시예들에 따른 비디오 수신 장치는 반드시 모든 뷰잉 포지션들(또는 모든 수신하는 픽처들)을 디스플레이하지 않을 수 있다. 따라서, 실시예들에 따른 비디오 수신 장치는 사용자(viewer)의 뷰포인트(viewpoint) 및/또는 뷰잉 포지션(viewing position)에 대한 정보에 기초하여, 목표하는 프로젝티드 픽처를 디코딩하여 재생성(regenerate) 및/또는 합성(synthesis)할 수 있다. 즉, 비디오 수신 장치는 수신한 비트스트림 내에 포함된 모든 픽처들 중 목표하는 프로젝티드 픽처 이외에 다른 픽처들에 대해서는 디코딩하거나 언패킹하지 않을 수 있다. 여기서, 목표하는 프로젝티드 픽처는 타겟 뷰(target view) 픽처로 호칭될 수도 있다.
다시 말하면, 실시예들에 따른 비디오 수신 장치는 타겟 뷰 픽처를 생성하거나 합성하기 위하여 사용자에 대한 뷰잉 포지션(viewing position) 및/또는 뷰 포인트(viewpoint) 정보를 참조할 수 있다. 따라서, 실시예들에 따른 비디오 수신 장치에 포함된 구성요소 일부 또는 전부는 사용자에 대한 뷰잉 포지션(viewing position) 및/또는 뷰 포인트(viewpoint) 정보에 기초하여 수행될 수 있다.
예를 들면, 실시예들에 따른 언패킹부(unpacking, 24003)는 수신한 뷰 픽처들 중 사용자(viewer)와 관련이 있는 뷰 픽처들만 언패킹할 수 있다. 이 경우, 실시예들에 따른 언패킹부는 사용자(viewer)에 대한 뷰잉 포지션 정보 및/또는 뷰포트 정보에 기초하여 언패킹을 수행할 수 있다. 또 다른 예로, 실시예들에 따른 언패킹부(24003)은 복수의 뷰포인트 및 각각의 뷰포인트에 대응하는 복수의 뷰들 중 뷰포인트 A(viewpoint A)에 대한 뷰B(view B)를 선택하여, 뷰 B에 포함된 텍스처, 레지듀얼 및/또는 뎁스 맵을 생성(또는 추출)할 수 있다.
또한, 선택하여 생성(추출)된 뷰가 실시예들에 따른 수신 장치에 디스플레이되는 전체 뷰(full view)가 아닌 경우, 실시예들에 따른 수신 장치는 텍스처 뎁스 리제너레이션 프로세스 및/또는 뷰 리제너레이션 프로세스를 수행하여, 타겟 뷰를 리컨스트럭트(reconstruct, 즉, 재생성 및/또는 합성)할 수 있다. 실시예들에 따른 수신 장치가 타겟 뷰를 리컨스트럭트하는 과정은 해당 뷰 또는 다른 뷰들에 포함된 텍스터, 뎁스 및/또는 레지듀얼 중 일부 또는 전부를 이용하여 수행될 수 있다.
구체적으로 도 24는 실시예들에 따른 비디오 수신 장치의 블록도를 나타낸다. 실시예들에 따른 비디오 수신 장치는 a post-decoder process for multi-views 3DoF+ video 의 구조를 의미할 수 있다. 실시예들에 따른 비디오 수신 장치는 디코더부(24001), 하나 또는 그 이상의 뷰포인트(viewpoint)에 대한 멀티-뷰 언패킹부(24002), 하나 또는 그 이상의 뷰(view)에 대한 언패킹부(24003), 뷰(view)에 대한 뷰 리제너레이션부(view regeneration, 24004), 스피어 코오디네이트 변환/뷰 합성/렌더링부(sphere coordinate conversion/view synthesis/rendering, 24005) 및 디스플레이부(24006)을 포함할 수 있다.
HEVC 디코더부(HEVC decoder, 24001)는 비디오 수신 장치로 수신되는 비트스트림을 디코딩(decoding)할 수 있다. HEVC 디코더부는 실시예들에 따른 디코더(decoder)를 의미할 수 있다. HEVC 디코더부는 하나 또는 그 이상의 뷰포인트(viewpoint)에 대한 멀티-뷰들을 생성 또는 출력할 수 있다.
하나 또는 그 이상의 뷰포인트(viewpoint)에 대한 멀티-뷰 언패킹부(24002)는 디코딩된 비트스트림에 포함된 각각의 뷰포인트(viewpoint)에 대한 픽처(또는 뷰)들을 선택(또는 언패킹)할 수 있다.
하나 또는 그 이상의 뷰들에 대한 멀티-뷰 언패킹부(24003)은 선택된 뷰포인트에 대한 뷰들 중 하나 또는 그 이상의 픽처들을 선택(또는 언패킹)할 수 있다.
뷰 리제너레이션부(24004)는 하나 또는 그 이상의 뷰포인트(viewpoint)에 대한 멀티-뷰 언패킹부(24002) 및/또는 하나 또는 그 이상의 뷰들에 대한 멀티-뷰 언패킹부(24003)에 의해 선택된 하나 또는 그 이상의 뷰들(또는 픽처들)로부터 실시예들에 따른 재생성된 뷰를 생성할 수 있다.
스피어 코오디네이트 변환/뷰 합성/렌더링부(sphere coordinate conversion/view synthesis/rendering, 24005)는 뷰 리제너레이션부(24004)에 의해 생성된 재생성된 뷰(regenerated view)를 이용하여 임의의 시점에 대한 (또는 타겟 뷰잉 포지션에 대한 픽처)를 렌더링할 수 있다.
디스플레이부(24006)은 렌더링된 임의의 시점에 대한 (또는 타겟 뷰잉 포지션에 대한 픽처)를 디스플레이할 수 있다.
실시예들에 따라 HEVC 디코더부(24001), 하나 또는 그 이상의 뷰포인트(viewpoint)에 대한 멀티-뷰 언패킹부(24002), 하나 또는 그 이상의 뷰들에 대한 멀티-뷰 언패킹부(24003), 뷰 리제너레이션부(24004), 스피어 코오디네이트 변환/뷰 합성/렌더링부(sphere coordinate conversion/view synthesis/rendering, 24005) 및/또는 디스플레이부(24006) 각각은 하드웨어에 대응될 수 있고, 실시예들에 따라 비디오 전송 장치가 이들의 전부 또는 일부를 수행할 수 있다.
실시예들에 따른 비디오 수신 방법은 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 단계; 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 단계, 언패킹된 비트스트림은 시그널링 정보를 포함함; 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 단계; 및, 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 단계; 를 포함할 수 있다.
또한, 실시예들에 따른 비디오 수신 장치는, 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 디코더(decoder); 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 언패커(unpacker); 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 뷰 재생성부(view regenerator); 및, 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 뷰 합성부(view synthesizer); 를 포함할 수 있다.
따라서, 실시예들에 따른 송수신 장치는 3DoF+ 비디오를 전송하기 위한 대역폭과 저장 장치의 저장공간을 줄일 수 있고, 헤드 모션 시차 및/또는 양안 시차가 제공되는 높은 품질의 3DoF+ 비디오를 보장할 수 있다.
또한, 이러한 구성으로 인해, 수신기는 헤드 모션 시차 및/또는 양안 시차가 제공되는 비디오 또는 다른 시점을 생성 할 수 있으며, 수신기는 변화하는 위치로 인터렉티브(interactive)한 비디오를 생성 할 수 있다.
도 25는 실시예들에 따른 인코더 프리-프로세싱부(encoder pre-processing modules)의 블록도를 나타낸다.
인코더 프리-프로세싱부는 인코더 프리-프로세싱 모듈, 인코더단, 인코딩부로 호칭될 수도 있고, 비디오 전송 장치를 구성하는 장치를 포괄적으로 호칭하는 용어를 의미할 수 있다. 즉, 인코더 프리-프로세싱부는 상술한 비디오 전송 장치에 포함된 구성들인 인터-뷰 리던던시 제거부(Inter-view redundancy removal), 패킹부(Packing) 및/또는 인코더부 등을 포함할 수 있다.
도 25는, 3DoF+를 위한 멀티-뷰 비디오에 대하여 실시예들에 따른 프리-인코딩 프로세싱(또는 헤드 모션 페럴렉스, head motion parallax)는 장치(및/또는 동작)을 나타낸다. 인접한 뷰잉 포지션들 내에 포함된 픽처들은 높은 상관성(high correlation, 또는 높은 유사성)을 가질 수 있다. 따라서, 이러한 높은 유사성을 가지는 뷰잉 포지션들 내의 뷰들은 불필요한 픽셀들(즉, 공통된 요소가 많아 중복되는 요소들, redundant pixel information between pictures)이 존재할 수 있다. 따라서 실시예들에 따른 프리-인코딩 프로세싱은 이러한 불필요한 픽셀들 즉, 리던던시(redundany)를 제거할 수 있다. 이러한 과정은 실시예들에 따른 인터-뷰 리던던시 제거부에 의해 수행될 수 있다.
프리-인코딩 프로세싱부가 상술한 리던던시를 제거하면, 상술한 제거된 픽셀들을 예측(estimate)하기 위한 적은 수의 픽처(또는 픽처들)가 사용된다. 즉, 프리-인코딩 프로세싱부가 상술한 리던던시를 제거한 후, 남아 있는 적은 수의 픽처(또는 픽처들)은 예측할 수 없거나 예측하기 곤란한 요소들을 나타내는 정보(또는 픽셀들)을 포함한다.
이 때, 보존되는(즉, 남아 있는) 픽처들의 뷰잉 포지션(viewing position)에 관한 정보, 다른 뷰잉 포지션에 관한 정보, 보존되는 픽처들로부터 다른 뷰들이 어떻게 생성(또는 도출)될 수 있는지에 대한 정보들이 시그널링 정보 또는 다른 픽처들에 의해 생성될 수 있다. 또한, 전체 뷰잉 포지션을 대표하는 앵커 뷰(또는 센터 뷰)에 대한 정보가 생성될 수 있다. 이러한 정보들을 포함하는 시그널링 정보는 리컨스트럭션 파라미터(reconstruction parameter)에 포함될 수 있다. 리컨스트럭션 정보는 뷰 리제너레이션 정보 SEI 메시지(view regeneration information SEI message)또는 텍스처 뎁스 리제너레이션 정보 SEI 메시지(texture depth regeneration information SEI message)에 포함될 수도 있다.
프리-인코딩 프로세싱부가 상술한 리던던시를 제거하면, 리던던시가 제거된 픽처들을 하나 또는 그 이상의 픽처로 패킹할 수 있다. 즉, 남아 있는 픽처들(즉, 레퍼런스 뷰 픽처들, 스파스 뷰 픽처들, 패치들(patches), 레지듀얼들(residuals) 등)을 병합할 수 있다. 이 때, 프리-인코딩 프로세싱부는 패킹에 관한 정보를 생성할 수 있다. 예를 들면, 패킹된 경우 특정 픽처(또는 패치들, 레지듀얼들, 레퍼런스 뷰 픽처들, 스파스 뷰 픽처들 등)의 위치에 관한 정보, 크기(size)에 관한 정보, 픽셀의 타입(type)에 관한 정보 등을 포함할 수 있다. 이러한, 정보를 패킹 메타데이터로 호칭할 수도 있으며, 이는 멀티뷰 리전-와이즈 패킹 정보 SEI 메시지(Multiview region-wise packing information SEI message)에 의해 전송될 수 있다.
구체적으로 도 25는 실시예들에 따른 비디오 전송 장치의 블록도를 나타낸다. 구체적으로 실시예들에 따른 비디오 전송 장치는 인코더 프리-프로세싱부를 포함할 수 있다. 실시예들에 따른 비디오 전송 장치는 인터-뷰 리던던시 제거부(Inter-view redundancy removal, 25001), 패킹부(Packing, 25002) 및/또는 인코더부(25003)를 포함할 수 있다.
인코더 프리-프로세싱부는 인코더 프리-프로세싱 모듈, 인코더단, 인코딩부로 호칭될 수도 있고, 비디오 전송 장치를 구성하는 장치를 포괄적으로 호칭하는 용어를 의미할 수 있다. 즉, 인코더 프리-프로세싱부는 상술한 비디오 전송 장치에 포함된 구성들인 인터-뷰 리던던시 제거부(Inter-view redundancy removal, 25001), 패킹부(Packing, 25002) 및/또는 인코더부(25003)를 포함할 수 있다.
인터-뷰 리던던시 제거부(Inter-view redundancy removal, 25001)는 복수의 뷰잉 포지션(viewing position)들에 대한 비디오 시퀀스(video sequence)들을 수신하여 비디오 시퀀스에 포함된 복수의 뷰잉 포지션(viewing position)들에 대한 인접한 뷰 간에 리던던시(redundancy)를 제거한다. 인터-뷰 리던던시 제거부(25001)는 뷰들 간에 리던던시가 제거된 텍스쳐 픽쳐(texture picture), 뎁스 픽쳐(depth picture), 텍스쳐 패치(texture patch) 및/또는 텍스쳐 레지듀얼(texture residual)를 출력할 수 있다. 여기서, 멀티 뷰잉 포지션들에 대한 비디오 시퀀스들(video sequences for multiple viewing positions)은 상술한 뷰잉 포지션들에 대한 이미지들 또는 소스 이미지(source image)를 의미하거나 포함할 수 있다.
이 때, 인터-뷰 리던던시 제거부는 리컨스트럭션 파라미터들(reconstruction parameters)을 생성할 수 있다. 리컨스트럭션 파라미터들은 실시예들에 따른 수신 단의 뷰 리제너레이션(view regeneration)을 수행함에 있어 필요한 시그널링 정보를 의미할 수 있다. 예를 들어, 리컨스트럭션 파라미터는 도 31에서 나타난 Viewing position group information SEI message syntax 에 포함된 파라미터들의 전부 또는 일부를 포함할 수 있다.
패킹부(Packing, 25002)는 인터-뷰 리던던시 제거부(25001)로부터 생성된 픽처들(텍스쳐 픽쳐, 뎁스 픽쳐, 텍스쳐 패치 및/또는 텍스쳐 레지듀얼)을 패킹하여 하나 또는 그 이상의 패킹된 픽처들을 생성할 수 있다. 패킹부는 패킹 메타데이터(packing metadata)를 더 생성할 수 있다. 패킹 메타데이터는 실시예들에 따른 언패킹(unpacking)을 수행하기 위해 필요한 시그널링 정보를 의미할 수 있다. 예를 들어, 패킹 메타데이터는 도 31에서 나타난 Viewing position group information SEI message syntax 에 포함된 파라미터들의 전부 또는 일부를 포함할 수 있다.
인코더부(Encoding, 25003)은 패킹부로부터 수신된 패킹된 픽처들을 인코딩하여 비트스트림을 출력할 수 있다. 인코더부는 도 23 또는 상술한 실시예들에 따른 인코더부를 의미할 수 있다. 인코더부는 패킹된 픽처뿐 아니라 실시예들에 따른 패킹 메타데이터(packing metadata) 및/또는 리컨스트럭션 파라미터들(reconstruction parameters)를 더 인코딩할 수 있다.
실시예들에 따라 인터-뷰 리던던시 제거부(25001), 패킹부(25002), 인코더부(25003) 각각은 하드웨어에 대응될 수 있고, 실시예들에 따라 비디오 전송 장치가 인터-뷰 리던던시 리부빙, 패킹 및/또는 인코딩 동작을 수행할 수 있다.
실시예들에 따른 비디오 전송 방법은 복수의 뷰잉 포지션(viewing positions)들에 대한 픽처(picture)들의 인터-뷰 리던던시를 제거하는 단계; 인터-뷰 리던던시가 제거된 픽처들을 패킹하는 단계; 및 패킹된 픽처들 및 시그널링 정보를 인코딩하는 단계; 를 포함할 수 있다.
또한, 실시예들에 따른 비디오 전송 장치는, 복수의 뷰잉 포지션(viewing positions)들에 대한 픽처(picture)들로부터 인터-뷰 리던던시 를 제거하는 인터-뷰 리던던시 제거부(inter-view redundancy remover); 인터-뷰 리던던시 제거된 픽처들을 패킹하는 패커(packer); 패킹된 픽처들 및 시그널링 정보를 인코딩하는 인코더(encoder); 를 포함할 수 있다.
따라서, 실시예들에 따른 송수신 장치는 3DoF+ 비디오를 전송하기 위한 대역폭과 저장 장치의 저장공간을 줄일 수 있고, 헤드 모션 시차 및/또는 양안 시차가 제공되는 높은 품질의 3DoF+ 비디오를 보장할 수 있다.
또한, 이러한 구성으로 인해, 수신기는 헤드 모션 시차 및/또는 양안 시차가 제공되는 비디오 또는 다른 시점을 생성 할 수 있으며, 수신기는 변화하는 위치로 인터렉티브(interactive)한 비디오를 생성 할 수 있다.
도 26은 실시예들에 따른 디코더 포스트-프로세싱부(decoder post-processing modules)의 블록도를 나타낸다.
디코더 포스트-프로세싱부는 디코더 포스트-프로세싱 모듈, 디코더단, 디코딩부 등으로 호칭될 수도 있고, 비디오 수신 장치를 구성하는 장치를 포괄적으로 호칭하는 용어를 의미할 수 있다. 즉, 디코더 포스트-프로세싱부는 상술한 비디오 수신 장치에 포함된 구성들인 디코더(Decoder), 뷰 리저네레이션부(View regeneration), 뷰 합성부(View synthesis), 렌더링/뷰포트 제너레이터(rendering/viewport generation)등을 포함할 수 있다.
도 26은 멀티-뷰 3DoF+ 비디오에 대한 디코더 포스트-프로세싱의 블록도를 나타낸다.
실시예들에 따른 디코더 포스트 프로세싱부는(또는, 비디오 데이터 수신 장치는) 비트스트림을 수신하여 디코딩부(Decodings, 26001)에 의해 디코딩(decoding)할 수 있다. 디코딩된 비트스트림은 아웃풋 픽처(output picture)들로 호칭할 수도 있다.
아웃풋 픽처들(또는 디코딩된 비트스트림)은 언패킹(26002)부에 의해 언패킹될 수 있다. 이 때, 실시예들에 따른 언패킹부는 실시예들에 따른 패킹 메타데이터에 의해 수행될 수 있다. 패킹 메타데이터는 수신한 비트스트림이 디코딩된 경우, 디코딩된 비트스트림 내 포함된 픽처들 중 어떤 픽처들이 언패킹되어 출력되어야 하는지, 어떻게 출력되어야 하는지 등을 나타낼 수 있다. 예를 들면, 실시예들에 따른 패킹 메타데이터는 타겟 픽처들(target pictures)의 크기, 타입, 위치, 뷰잉 포지션 등에 관한 정보를 포함할 수 있다.
언패킹 과정(un-packing process)이 수행된 후, 언패킹된 픽처들에 포함되지 않은 빠진 픽처들(missing pictures, 즉, 빠진 뷰잉 포지션에 대한 픽처들)을 뷰 재생성(view regeneration) 및/또는 뷰 합성(view synthesis) 동작에 의해 복구(또는 재생, restore)될 수 있다. 뷰 재생성 동작은 텍스처 뎁스 리제너레이션 프로세스(texture depth regeneration process) 및/또는 텍스처 뎁스 재생성 동작으로 호칭될 수도 있다. 뷰 재생성 동작은 리컨스트럭션 파라미터(reconstructiuon parameter)들에 기초하여 수행될 수 있다. 리컨스트럭션 파라미터에는 언패킹된 픽처들(예를 들어, 패치들(patches), 레지듀얼들(residuals))의 크기 및 위치에 대한 정보, 제거된 픽셀 값들을 예측(estimating)하는 방법에 관한 정보, 빠진(missing) 픽셀 값들을 재생성하는 방법에 관한 정보, 블록 바운더리 제거(block boundary removal)에 대한 포스트-필터링 파라미터들을 포함할 수 있다.
재생성된 픽처들을 이용하여, 실시예들에 따른 뷰 합성부(view synthesis)는 사용자(viewer)들의 뷰잉 포지션에 대한 하나의 뷰(view)를 합성할 수 있다.
구체적으로, 도 26은 실시예들에 따른 비디오 수신 장치의 블록도를 나타낸다. 실시예들에 따른 비디오 수신 장치는 실시예들에 따른 포스트-프로세싱부를 포함할 수 있다. 실시예들에 따른 비디오 수신 장치는 디코더부(26001), 언패킹부(26002), 뷰 리제너레이션부(26003) 및/또는 뷰 합성부(26004)를 포함할 수 있다.
디코더부(Decoding, 26001)는 실시예들에 따른 비디오 수신 장치로부터 수신되는 비트스트림을 디코딩하여 패킹된 뷰(또는 픽처들) 및/또는 관련 시그널링 정보를 생성 또는 출력할 수 있다. 디코더로부터 출력되는 관련 시그널링 정보는 예를 들어 패킹 메타데이터(packing metadata), 리컨스트럭션 파라미터(reconstruction parameter)들, 뷰 합성 파라미터(view synthesis parameter)들을 포함할 수 있다. 패킹 메타데이터는 실시예들에 따른 언패킹부(26002)가 언패킹을 수행하기 위해 필요한 시그널링 정보일 수 있다. 리컨스트럭션 파라미터들은 실시예들에 따른 뷰 리제너레이션부(26003)가 뷰 재생성을 수행하기 위해 필요한 시그널링 정보일 수 있다. 뷰 합성 파라미터들은 실시예들에 따른 뷰 합성부(26004)가 뷰 합성(또는 뷰 신테시스)을 수행하기 위해 필요한 시그널링 정보일 수 있다. 디코더부는 수신단 내에서 생성되는 정보로 수신단의 뷰잉 포지션 및/또는 뷰포트(viewport) 정보에 기초하여 디코딩을 수행할 수 있다.
실시예들에 따른 뷰잉 포지션 및/또는 뷰포트(viewport) 정보는 사용자의 뷰잉 포시션 및/또는 뷰포트에 관한 정보이다. 실시예들에 따른 디코더부(26001)는 수신한 비트스트림에 포함된 픽쳐들을 모두 디코딩할 수 있다. 실시예들에 따른 디코더부(26001)는 수신한 비트스트림에 포함된 픽쳐들을 뷰잉 포지션 및/또는 뷰포트 정보에 기반하여 뷰잉 포지션 및/또는 뷰포트 정보에 대응하는 픽쳐들을 디코딩할 수 있다. 실시예들에 따른 디코더부(26001)는 사용자가 보는 뷰잉 포지션 및/또는 뷰포트에 관한 픽쳐들만 효율적으로 디코딩할 수 있는 효과를 제공할 수 있다.
언패킹부(Un-packing, 26002)는 디코더부에 의해 디코딩된 비트스트림에 포함된 패킹된 뷰(또는 패킹된 픽처들)을 언패킹하여 하나 또는 그 이상의 텍스처 픽처들(texture pictures), 뎁스 픽처들(depth pictures), 텍스처 패치들(texture patches) 및/또는 텍스처 레지듀얼들(texture residuls)를 생성 또는 출력할 수 있다. 언패킹부는 디코더부에 의해 디코딩된 비트스트림에 포함된 시그널링 정보에 포함된 패킹 메타데이터(packing metadata)에 기초하여 언패킹을 수행할 수 있다. 예를 들어, 패킹 메타데이터는 도 31에서 나타난 Viewing position group information SEI message syntax 에 포함된 파라미터들의 전부 또는 일부를 포함할 수 있다.
뷰 리제너레이션부(View regeneration, 26003)은 언패킹부에 의해 생성/출력된 하나 또는 그 이상의 텍스처 픽처들(texture pictures), 뎁스 픽처들(depth pictures), 텍스처 패치들(texture patches) 및/또는 텍스처 레지듀얼들(texture residuls)에 기초하여 재생성된 뷰들을 생성 또는 출력할 수 있다. 재생성된 뷰는, 하나 또는 복수의 뷰잉 포지션들에 대한 텍스처 픽처(texture picture of a single or multiple viewing positions) 및/또는 하나 또는 복수의 뷰잉 포지션들에 대한 뎁스 픽처(depth picture of a single or multiple viewing positions)를 의미할 수 있다. 이 때, 뷰 리제너레이션부(26003)은 디코더부에 의해 디코딩된 비트스트림에 포함된 시그널링 정보에 포함된 리컨스트럭션 파라미터들(reconstruction parameters)에 기초하여 뷰 재생성을 수행할 수 있다. 리컨스트럭션 파라미터들은 도 31에서 나타난 Viewing position group information SEI message syntax 에 포함된 파라미터들의 전부 또는 일부를 포함할 수 있다.
뷰 신테시스(View synthesis, 26004)는 뷰 리제너레이션부에 의해 생성된 재생성된 뷰에 기초하여 타겟 뷰잉 포지션의 픽처(picture of the target viewing position)를 생성할 수 있다. 타겟 뷰잉 포지션의 픽처(picture of the target viewing position)는, 임의의 뷰잉 포지션(arbitrary viewing position)에 대한 픽처를 의미할 수 있다. 이 때, 뷰 신테시스는 디코더부에 의해 디코딩된 비트스트림에 포함된 시그널링 정보에 포함된 실시예들에 따른 뷰 합성 파리미터들(view synthesis parameters)에 기초하여 뷰 신테시스(view synthesis)을 수행할 수 있다. 뷰 합성 파라미터들(view synthesis parameters)는 실시예들에 따른 뷰 신테시스(view synthesis)을 수행함에 있어 필요한 시그널링 정보를 의미할수 있다. 뷰 합성 파라미터들은 도 31에서 나타난 Viewing position group information SEI message syntax 에 포함된 파라미터들의 전부 또는 일부를 포함할 수 있다.
실시예들에 따른 비디오 수신 방법은 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 단계; 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 단계, 언패킹된 비트스트림은 시그널링 정보를 포함함; 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 단계; 및, 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 단계; 를 포함할 수 있다.
또한, 실시예들에 따른 비디오 수신 장치는, 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 디코더(decoder); 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 언패커(unpacker); 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 뷰 재생성부(view regenerator); 및, 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 뷰 합성부(view synthesizer); 를 포함할 수 있다.
따라서, 실시예들에 따른 송수신 장치는 3DoF+ 비디오를 전송하기 위한 대역폭과 저장 장치의 저장공간을 줄일 수 있고, 헤드 모션 시차 및/또는 양안 시차가 제공되는 높은 품질의 3DoF+ 비디오를 보장할 수 있다.
또한, 이러한 구성으로 인해, 수신기는 헤드 모션 시차 및/또는 양안 시차가 제공되는 비디오 또는 다른 시점을 생성 할 수 있으며, 수신기는 변화하는 위치로 인터렉티브(interactive)한 비디오를 생성 할 수 있다.
도 27은 실시예들에 따른 인코더 프리-프로세싱부(encoder pre-processing modules)의 블록도를 나타낸다.
인코더 프리-프로세싱부는 인코더 프리-프로세싱 모듈, 인코더단, 인코딩부로 호칭될 수도 있고, 비디오 전송 장치를 구성하는 장치를 포괄적으로 호칭하는 용어를 의미할 수 있다. 즉, 인코더 프리-프로세싱부는 상술한 비디오 전송 장치에 포함된 구성들인 인터-뷰 리던던시 제거부(Inter-view redundancy removal), 패킹부(Packing) 및/또는 인코더부 등을 포함할 수 있다.
도 27은 실시예들에 따른 인코더 프리-프로세싱부의 인터-뷰 리던던시 제거부를 나타낸다.
- 센터 뷰 생성부(Center view generation, 또는 센터 뷰 제너레이션부, 27002) : 수신한 픽처들(예를 들어, 소스 뷰 픽처들)로부터, 뷰잉 포지션들의 그룹에 대한 센터 뷰를 생성한다. 실시예들에 따른 센터 뷰 생성부는 센터 뷰 픽처(center view picture)를 생성할 수 있고, 및/또는 센터 뷰 제너레이션 정보(center view generation information)을 더 생성할 수 있다. 구체적으로, Center view picture는 multi-spherical video/image의 중심 위치에 대한 spherical video/image를 의미할 수 있다. 또한, 입력 영상에 포함되어 있거나, 없는 경우 실시예들에 따른 센터 뷰 제너레이션의 가상시점생성을 통해 만들어 낼 수도 있다.
- 중간 뷰 합성부(Intermediate view synthesis, 27003): 실시예들에 따른 전송 장치가, 소스 뷰들(또는 제공된 뷰들, provided views)에 따라 생성된 뷰들을 이용하는 경우, 중간 뷰가 합성될 수 있다(if the processor uses generated views on top of the provided views (or source view), intermediate view could be synthesized). 실시예들에 따르면, 중간 뷰 합성부는 프리-제너레이션 정보의 추가 정보를 포함하는 중간 뷰들을 출력할 수 있다. 나아가, 실시예들에 따른 전송 장치는 디코더 포스트-프로세싱부로 중간 뷰 합성과 관련된 정보를 전송할 수 있다.
- 프루닝부(Pruning, 27004) : 실시예들에 따른 프루닝부는, 실시예들에 따른 소스 뷰(source view), 센터 뷰(center view) 및/또는 중간 뷰(intermediate view)를 이용하여, 각각의 픽처들에 대한 리던던시를 제거할 수 있다. 실시예들에 따른 프루닝부는 스파스 뷰 픽처들(sparse view pictures), 레퍼런스 뷰 픽처들(reference view pictures)을 생성할 수 있다. 스파스 뷰 픽처는, 특정 뷰잉 포지션에 대하여, 예측할 수 없는 정보가 포함된(즉, 특이한(unique) 정보/픽셀들을 포함하는) 픽처를 의미한다. 즉, 스파스 뷰 픽처는 프루닝을 수행할 복수의 픽처들 간 공통적으로 존재하는 정보들이 제거된 픽처를 나타낼 수 있다. 레퍼런스 뷰 픽처는, 특정 뷰잉 포지션에 대하여 기본적인 정보/픽처를 제공할 수 있는 픽처를 의미할 수 있다. 여기서, 실시예들에 따른 레퍼런스 뷰 정보(reference view information) 및/또는 리제너레이션 정보(regeneration information)이 생성될 수 있다.
- 스파스 뷰 프루닝부(Sparse view pruning, 27005) : 스파스 뷰 프루닝부는 실시예들에 따른 프루닝부에서 생성된 스파스 뷰 픽처들을 이용하여, 해당 스파스 뷰 픽처들에 대한 리던던시를 제거할 수 있다. 여기서, 실시예들에 따른 스파스 뷰 프루닝부는 프루닝된 스파스 뷰 픽처(pruned sparse view picture) (들) 및/또는 관련 메타데이터를 생성할 수 있다. 관련 메타데이터는 해당 뷰잉 포지션의 타겟 뷰잉 포지션에 대한 정보(metadata which indicate the target viewing position), 레퍼런스 스파스 뷰(reference sparse view)에 대한 정보, 스파스 뷰 리제너레이션 방법을 포함할 수 있다. 예를 들어, 관련 메타데이터는 target_view_id , component_id, component_type, pruned_sparse_view_present_flag, reference_sparse_view_present_flag sparse_view_regeneration_type, output_sparse_view_id, pruned_sparse_view_id, and reference_sparse_view_id 등을 포함할 수 있다.
실시예들에 따른 비디오 전송 장치(또는 인코더 프리-프로세싱부, 인코딩부, 인코더부, 인코딩단)는 실시예들에 따른 로테이션/프로젝션(27001, rotation/projection)부, 센터 뷰 생성부(27002, center view genearation module, 센터 뷰 제너레이터), 중간 뷰 합성부(27003, intermediate view synthesizer, 인터미디에이트 뷰 신테사이저), 프루닝부(27004, pruner, 프루너), 스파스 뷰 프루닝부(27005, sparse view pruner, 스파스 뷰 프루너), 패커(27006, packer) 및/또는 인코딩부(27007, encoder, 인코더)를 포함한다.
실시예들에 따른 로테이션/프로젝션부(27001) (또는 로테이팅/프로젝팅)는 텍스처/뎁스 픽처를 포함하는 다중 구형 비디오/이미지(멀티 스피리컬 비디오/이미지 데이터)를 회전 및/또는 투사한다. 다중 구형 비디오/이미지 (텍스처/깊이)의 픽쳐 (들)이 회전 및/또는 투사 될 수 있다. 로테이터/프로젝터의 출력은 실시예들에 따라 소스 뷰 픽쳐(들)이라고 지칭 될 수 있는 픽쳐(텍스처/깊이) 및/또는 회전/투영 된 픽쳐이다.
실시예들에 따른 센터 뷰 생성기 (27002) (또는 센터 뷰 생성)는 회전/투영된 픽처 및/또는 픽처 (텍스처/깊이)로부터 센터 뷰 픽처(center view picture) 및 센터 뷰(center view)에 대한 프로파일/특성에 관한 센터 뷰 제너레이션 정보(center view generation information)를 포함하는 시그널링 정보를 생성한다.
인터미디에이트 뷰 신시사이저 (27003) (또는 중간 뷰 합성)는 회전/투영된 픽처 및/또는 픽처 (텍스처/깊이) (소스 뷰 픽처)로부터 인터미디에이트 뷰 픽처(intermediate view picture)를 합성하고 프리-제너레이션 정보(pre-generation information) 및/또는 뷰 합성 레코멘데이션 정보(view synthesis recommandataion information)를 포함하는 시그널링 정보를 생성한다. 시그널링 정보는 수신기 (디코더)에서 데이터를 디코딩하는데 사용될 수 있다.
실시예들에 따른 프루너(27004) (또는 프루닝)는 픽쳐 사이의 리던던시를 제거한다. 프루닝은 뷰 간 리던던시를 제거함을 나타낸다. 이 프로세스는 인터-뷰 리던던시 리무벌로 지칭될 수 있다. 실시 예들에 따르면, 프루너의 입력은 센터 뷰 픽쳐, 소스 뷰 픽쳐 및/또는 인터미디에이트 뷰 픽쳐를 포함한다. 또한, 프루닝된 스파스 뷰(들)가 프루너에 입력될 수 있다. 프루너는 수신기(디코더)에서 데이터를 디코딩하는데 사용될 수 있는 레퍼런스 뷰 정보(reference view information) 및/또는 리제너레이션 정보(regeneration information)를 포함하는 시그널링 정보를 생성한다. 시그널링 정보는 뷰를 재생성하기 위해 프루닝과 관련된 정보를 포함한다. 실시예들에 따르면, 프루닝의 아웃풋은 스파스 뷰 픽처, 레퍼런스 뷰 픽처 및/또는 스파스 뷰 픽처를 포함한다. 실시예들에 따르면, 뷰는 뷰 픽쳐로 지칭될 수 있다.
실시예들에 따른 스파스 뷰 프루너(27005) (또는 스파스 뷰 프루닝)는 픽쳐 사이의 중복성(리던던시)을 제거한다. 스파스 뷰 프루닝은 스파스 뷰(스파스 뷰 픽쳐) 사이의 중복성을 제거하는 것을 나타낸다. 실시예들에 따르면, 프루닝은 참조(레퍼런스) 뷰들 사이의 중복성을 제거하는 반면, 스파스 뷰 프 루닝은 스파스 뷰들 사이의 중복성을 제거한다. 스파스 뷰 프루닝 (sparse view pruning)으로 인해, 뷰 당 리던던시를 보다 효율적으로 제거 할 수 있어 인코딩 및/또는 전송의 성능 및 효율이 향상될 수 있다. 실시예들에 따르면, 스파스 뷰 프루닝의 출력은 프루닝된 스파 스 뷰 픽쳐이고 일부 프루닝된 스파스 뷰 픽쳐는 프루닝의 입력에 제공 될 수 있다.
패커 (27006) (또는 패킹)는 예를 들어 센터 뷰 픽쳐, 프루닝된 스파스 뷰 픽쳐(pruned sparse view picture), 레퍼런스 뷰 픽쳐(reference view picture) 및/또는 스파스 뷰 픽쳐(sparse view picture)와 같은 픽쳐를 패킹한다. 패커의 출력은 패킹된 픽쳐(packed picture)이다.
인코더 (27007) (또는 인코딩)는 예를 들어, 패킹된 픽처 및/또는 센터 뷰 제너레이션 정보, 레퍼런스 뷰 정보, 리제너레이션 정보, 프리-제너레이션 정보 및/또는 뷰 합성 레코멘데이션 정보(뷰 신테시스 레코멘데이션 정보)를 포함하는 시그널링 정보를 인코딩한다. 실시예들에 따르면, 인코딩된 데이터는 비트 스트림 (들)의 포맷으로서 전송된다.
실시예들에 따르면, 전처리기(또는 인코더 프리-프로세싱부)는 회전/투영, 센터 뷰 제너레이션, 인터미디에이트 뷰 합성(중간 뷰 합성), 프루닝, 희소(스파스) 뷰 프루닝, 패킹 및/또는 인코딩을 포함하여 전술 한 바와 같은 동작을 수행한다.
실시예들에 따르면, 중심 뷰 화상(픽쳐)(또는 센터 뷰 픽처)은 다중 구형 비디오/이미지의 중심 위치에 대한 구형 비디오/이미지를 의미한다. 실시예들에 따르면, 중심 뷰 화상은 입력 데이터에 포함되거나 가상 시점 생성으로부터 생성 될 수 있다
실시예들에 따르면, 중간 뷰 픽쳐는 버츄얼(가상으로)하게 생성된 픽쳐를 의미한다. 중간 뷰 픽처는 입력 데이터 (예 : 다중 구형 비디오 / 이미지)에 포함되지 않는다. 실시예들에 따르면, 프리 제너레이션 정보 및 / 또는 뷰 합성 추천 정보(뷰 합성 레코멘데이션 정보)는 실시예들에 따른 viewing_position_picture_type[ i ] == 3, 4 에 관련된 뷰잉 포지션 그룹 정보 SEI 메시지 구문에 포함된다.
실시예들에 따르면, 소스 뷰 픽처 및/또는 중심 뷰 픽처(센터 뷰 픽처)가 프루닝에 사용된다. 실시예들에 따른 기준 뷰 정보(레퍼런스 뷰 정보) 및/또는 재생 정보(리제너레이션 정보)는 실시예들에 따른 viewing_position_picture_type[ i ] == 1 에 관련된 뷰잉 포지션 위치 정보 SEI 메시지 신택스에 포함된다
실시예들에 따르면, 뷰잉 포지션 그룹 정보 SEI 메시지는 인코더에 의해 전송되고 수신기에 의해 시그널링 정보로서 수신된다. 뷰잉 포지션 그룹 정보 SEI 메시지는 views_position_picture_type을 포함한다.
실시예들에 따르면, VIEW_position_picture_type은 i 번째 뷰잉 포지션의 픽쳐 타입을 픽쳐 생성 측면에서 기술한다. viewer_position_picture_type이 0과 같은 경우, i 번째 뷰잉 포지션은 중앙 뷰(센터 뷰)이다. view_position_picture_type이 1과 같은 경우, i 번째 뷰잉 포지션의 픽쳐는 뷰 리제너레이션 과정에서 참조 픽쳐(레퍼런스 픽쳐)로 사용된다. view_position_picture_type이 2와 같은 경우, i 번째 뷰잉 포지션의 픽쳐는 뷰 리제너레이션 프로세스로부터 생성될 것이다. views_position_picture_type이 3과 같은 경우, i 번째 뷰잉 포지션의 픽쳐는 부호화 전처리에서 프리-제너레이트된 뷰이다. views_position_picture_type이 4와 동일한 경우, i 번째 뷰잉 포지션의 픽쳐는 디코딩된 픽쳐에 존재하지 않을 수 있지만, 추가 정보와 함께 뷰 신테시스 방법이 권장된다. 이것은 뷰 합성과 관련하여 시간 소비 프로세스를 줄이는 데 사용될 수 있다. views_position_picture_type이 5와 같은 경우, i 번째 뷰잉 포지션의 픽쳐는 디코딩된 픽쳐에 존재하지 않을 수 있지만 다른 뷰잉 포지션으로부터의 다른(alternative) 픽쳐가 존재한다.
실시예들에 따르면, 희소 뷰 픽쳐(스파스 뷰 픽처)는 주변 시점(들)에 기초하여 현재 시점이 예측될 때 예측 될 수 없는 정보를 포함하는 픽쳐를 의미한다. 예를 들어, 그레이 또는 블랙 영역(들)은 현재 시점에 대한 화상과 주변 시점에 대한 화상 사이에서 정보가 중복됨을 의미한다. 실시예들에 따르면, 중복된 정보는 예측 가능한 정보를 의미한다. 따라서 희소 뷰 픽쳐(스파스 뷰 픽처)에는 예측할 수 없는 정보가 포함된다.
실시예들에 따라, 참조 시점 픽쳐(레퍼런스 뷰 픽처)는 현재 시점에 대한 픽쳐를 예측하는데 사용되는 주변 시점에 대한 픽쳐를 의미한다. 실시예들에 따르면, 가상 시점 생성에 의해 생성 된 소스 뷰 픽쳐/ 이미지 및/또는 픽쳐/이미지가 사용될 수 있다.
실시예들에 따르면, 희소 뷰 프루닝은 타겟 뷰잉 위치, 기준 스파스 뷰, 및 스파스 뷰 재생 방법 유형, 예컨대 target_view_id, component_id, component_type, pruned_sparse_view_present_flag, reference_sparse_view_present_flag_sprese_view_present, output_sparse_view_id, pruned_sparse_view_id 및 reference_sparse_view_id 등과 같은 정보를 나타내기 위한 메타데이터 또는 스파스 뷰를 위한 시그널링 정보를 생성한다.
실시예들에 따르면, 희소 뷰 프루닝(스파스 뷰 프루닝)은 실시예들에 따른 스파스 뷰 리제너레이션 정보를 생성한다.
따라서 실시예들에 따른 비디오 전송 방법은, 복수의 뷰잉 포지션들에 대한 픽처들에 포함된 소스 뷰 픽처들에 기초하여 센터 뷰 픽처(center view picture) 및/또는 센터 뷰 제너레이션 정보(center view generation information)를 생성하는 단계; 및 소스 뷰 픽처들에 기초하여 중간 뷰 픽처를 합성하는 단계, 중간 뷰 픽처를 합성하는 단계는 프리-제너레이션 정보(pre-generation information) 및/또는 뷰 합성 레코멘데이션 정보(view synthesis recommendation information)를 생성함; 를 더 포함할 수 있다. 이 때, 인터-뷰 리던던시를 제거하는 단계는 소스 뷰 픽처들, 중간 뷰 픽처 및/또는 센터 뷰 픽처 중 적어도 두 개의 픽처에 기초하여 스파스 뷰(sparse view) 픽처들을 생성할 수 있고, 인터-뷰 리던던시를 제거하는 단계는 레퍼런스 뷰(reference view) 픽처들, 레퍼런스 뷰 정보(reference view information) 및 리제너레이션 정보(regeneration information)를 더 생성할 수 있다.
이러한 구성으로 인해, 실시예들에 따른 비디오 전송 장치는 뷰포인트의 다른 뷰잉 포지션들을 나타내는 복수의 멀티 스피리컬 이미지들을 효율적으로 제공할 수 있다.
실시예들에 따른 프루너 및/또는 스파스 뷰 프루닝부를 이용하여 전송되어야 할 데이터의 양을 줄일 수 있다.
또한, 비디오 전송 장치의 프루너(pruner, 또는 프루닝 단계) 및/또는 스파스 뷰 프루너(sparse view pruner, 또는 스파스 뷰 프루닝)을 이용하여 적은 양의 데이터로 사용자들에게 필요한 뷰들을 효율적이고 정확하게 제공할 수 있다. 이러한 실시예들에 따른 구성은 비디오 전송 장치 및 수신 장치의 연산량 부담을 줄일 수 있다.
도 28은 실시예들에 따른 디코더 포스트-프로세싱부(decoder post-processing modules)의 블록도를 나타낸다.
디코더 포스트-프로세싱부는 디코더 포스트-프로세싱 모듈, 디코더단, 디코딩부 등으로 호칭될 수도 있고, 비디오 수신 장치를 구성하는 장치를 포괄적으로 호칭하는 용어를 의미할 수 있다. 즉, 디코더 포스트-프로세싱부는 상술한 비디오 수신 장치에 포함된 구성들인 디코더(Decoder), 뷰 리저네레이션부(View regeneration), 뷰 합성부(View synthesis), 렌더링/뷰포트 제너레이터(rendering/viewport generation)등을 포함할 수 있다.
실시예들에 따른 디코더 포스트-프로세싱부는 사용자(viewer)의 뷰포인트(viewpoint)에 따라, 뷰 합성부가 뷰를 합성하는데 관련된 뷰잉 포지션을 결정할 수 있다. 그 후, 디코더 포스트-프로세싱부는 각각의 뷰잉 포지션을 위한 동작을 결정할 수 있고, 및/또는 수신기의 동작 순서를 결정할 수 있다.
예를 들면, 스파스 뷰 리제너레이션 SEI 메시지가 존재하는 경우, 스파스 뷰 리제너레이션(sparse view regeneration) 동작은 각각의 뷰잉 포지션에 대하여 sparse_view_regeneration_type 정보에 따라 수행될 수 있다. 이어서, target_view_id에 대응하는 component_id and component_type에 따라 지시되는 모든 컴포넌트들에 대하여 포스트-프로세싱이 수행될 수 있다. 아래는 sparse_view_regeneration_type 정보에 따라 수행될 수 있는 스파스 뷰 리제너레이션 동작의 예시를 나타낸 것이다.
- sparse_view_regeneration_type equal이 1인 경우, 스파스 뷰 재생성 동작은 도 35에 따라 수행될 수 있다. 도 35에 따른 레퍼런스 스파스 뷰(reference sparse view, s1)와 프루닝된 스파스 뷰 픽처(pruned sparse view, res_s1)는 각각 reference_sparse_view_id 및 pruned_sparse_view_id에 의해 나타내어질 수 있다. 여기서, 도 35에 따른 재생성된 뷰를 예측(prediction)하는 경우, 레퍼런스 스파스 뷰 픽처 및 view_position_descriptor()에 의해 지시되는 타겟 뷰들의 위치(location), 회전(rotation), 커버리지(coverage)를 이용하여 뷰들 간의 디스페리티를 계산할 수 있다. 도 35에 따른 재생성된 뷰를 예측(prediction)하는 경우, 레퍼런스 스파스 뷰의 위치(location), 회전(rotation), 커버리지(coverage)와 타겟 뷰의 위치(location), 회전(rotation), 커버리지(coverage)를 이용하여 뷰들 간의 디스페리티(disparity)를 계산할 수 있다. 여기서, 레퍼런스 스파스 뷰의 위치(location), 회전(rotation), 커버리지(coverage)와 타겟 뷰의 위치(location), 회전(rotation), 커버리지(coverage)는 reference_sparse_view_id, target_view_id 각각에 대응하는 뷰 포지션 디스크립터 정보(즉, view_position_descriptor())에 의해 나타내어질 수 있다.
- sparse_view_regeneration_type equal이 2인 경우, 스파스 뷰 재생성 동작은 도 36에 따라 수행될 수 있다. 도 36에 따른 레퍼런스 스파스 뷰(reference sparse view, s1)는 reference_sparse_view_id에 의해 나타내어질 수 있다. 여기서, 도 36에 따른 재생성된 뷰를 예측(prediction)하는 경우, 레퍼런스 스파스 뷰 픽처 및 view_position_descriptor()에 의해 지시되는 타겟 뷰들의 위치(location), 회전(rotation), 커버리지(coverage)를 이용하여 뷰들 간의 디스페리티를 계산할 수 있다. 도 36에 따른 재생성된 뷰를 예측(prediction)하는 경우, 레퍼런스 스파스 뷰의 위치(location), 회전(rotation), 커버리지(coverage)와 타겟 뷰의 위치(location), 회전(rotation), 커버리지(coverage)를 이용하여 뷰들 간의 디스페리티(disparity)를 계산할 수 있다. 여기서, 레퍼런스 스파스 뷰의 위치(location), 회전(rotation), 커버리지(coverage)와 타겟 뷰의 위치(location), 회전(rotation), 커버리지(coverage)는 reference_sparse_view_id, target_view_id 각각에 대응하는 뷰 포지션 디스크립터 정보(즉, view_position_descriptor())에 의해 나타내어질 수 있다.
- sparse_view_regeneration_type equal이 3인 경우, 스파스 뷰 재생성 동작은 도 37에 따라 수행될 수 있다. 도 37에 따른 레퍼런스 스파스 뷰(reference sparse view, s1)는 reference_sparse_view_id에 의해 나타내어질 수 있다. 여기서, 실시예들에 따른 스파스 뷰 재생성 동작을 수행하기 앞서, 임시 재생성된 뷰(v1)을 생성할 수 있다. 임시 재생성된 뷰는 레퍼런스 뷰로 호칭할 수도 있다. 도 37에 따른 스파스 뷰(s2)를 예측(prediction)하는 경우, 레퍼런스 스파스 뷰의 위치(location), 회전(rotation), 커버리지(coverage)와 타겟 뷰의 위치(location), 회전(rotation), 커버리지(coverage)를 이용하여 뷰들 간의 디스페리티(disparity)를 계산할 수 있다. 여기서, 레퍼런스 스파스 뷰의 위치(location), 회전(rotation), 커버리지(coverage)와 타겟 뷰의 위치(location), 회전(rotation), 커버리지(coverage)는 reference_sparse_view_id, target_view_id 각각에 대응하는 뷰 포지션 디스크립터 정보(즉, view_position_descriptor())에 의해 나타내어질 수 있다.
- sparse_view_regeneration_type equal이 4인 경우, 스파스 뷰 재생성 동작은 도 38에 따라 수행될 수 있다. 도 38에 따른 레퍼런스 스파스 뷰(reference sparse view, s1)는 reference_sparse_view_id에 의해 나타내어질 수 있다. 실시예들에 따른 디코더 포스트-프로세싱부가 레퍼런스 뷰를 재생성한 경우, 타겟 뷰가 뷰 합성부의 동작에 의해 재생성될 수 있다. 여기서 뷰 합성을 수행하는 경우, 레퍼런스 뷰(즉, 재생성된 v1 픽처)의 위치(location), 회전(rotation), 커버리지(coverage)와 타겟 뷰의 위치(location), 회전(rotation), 커버리지(coverage)를 이용하여 뷰들 간의 디스페리티(disparity)를 계산할 수 있다. 여기서, 레퍼런스 스파스 뷰의 위치(location), 회전(rotation), 커버리지(coverage)와 타겟 뷰의 위치(location), 회전(rotation), 커버리지(coverage)는 reference_sparse_view_id, target_view_id 각각에 대응하는 뷰 포지션 디스크립터 정보(즉, view_position_descriptor())에 의해 나타내어질 수 있다.
실시예들에 따른 인코더 프리-프로세싱부에 의해 전송되는 뷰 포지션 그룹 정보(view position group information)은 실시예들에 따른 콘트롤러(2806)에 의해 파싱될 수 있다. 콘트롤러는, 어떤 뷰잉 포지션(viewing position), 어떤 뷰 재생성 동작 및/또는 뷰 합성 동작 방법이 수행되는지, 뷰 재생성 및/또는 뷰 합성이 어떤 순서로 동작하는지를 결정함으로써, 전체 뷰포트(viewport) 생성 동작을 제어할 수 있다. 예를 들어, 사용자(viewer)가 중심 위치(center position) 또는 레퍼런스 뷰 픽처에 해당하는 위치와 정확히 동일한 위치에 해당하는 픽처(a picture position that is exactly same with the reference picture position)를 시청하기를 원하는 경우, 해당하는 픽처(센터 뷰 픽처 또는 레퍼런스 뷰 픽처)만 선택하여 언패킹을 수행할 수도 있다.
그러나, 만약 중심 위치(center position)가 인코더 프리-프로세싱부에 의해 생성되지 않은 경우, 실시예들에 따른 콘트롤러는 수신한 레퍼런스 뷰들로부터 센터 뷰를 생성하도록 실시예들에 따른 센터 뷰 제너레이션부를 제어할 수 있다.
또한, 예를 들면, 해당 뷰잉 포지션이 하나의 전체 픽처(a full picture)가 아니어서, 전체 픽처를 위한 추가 동작이 필요할 수 있다. 이 경우, 실시예들에 따른 콘트롤러는 실시예들에 따른 뷰 재생성부 및/또는 센터 뷰 제너레이션부를 제어할 수 있다. 즉, 콘트롤러는 관련 메타데이터를 이용하여 실시예들에 따른 뷰 재생성부 및/또는 센터 뷰 제너레이션부를 제어할 수 있다. 여기서 메타데이터는 인코더 프리-프로세서에 의해 시그널링될 수 있으며, 실시예들에 따른 디코더 포스트-프로세싱부는 해당 메타데이터에 기초하여 센터 뷰 픽처(center view picture), 레퍼런스 뷰 픽처(reference view pictures) 및/또는 스파스 뷰 픽처(sparse view pictures)들을 생성할 수 있다.
이 과정에서, 실시예들에 따른 다른 뷰들(other views, 예를 들면 타겟 뷰들)을 생성하기 위하여 실시예들에 따른 센터 뷰 픽처 및/또는 레퍼런스 뷰 픽처를 이용할 수 있다. 따라서, 센터 뷰 제너레이션, 레퍼런스 뷰 생성하는 동작 및/또는 중간 뷰 생성하는 동작은 실시예들에 다른 뷰 리제너레이션부에 앞서 수행될 수 있다.
만약, 실시예들에 따른 수신 장치의 뷰잉 포지션이 재생성된 또는 제공된 뷰잉 포지션과 매치(match)되지 않는 경우에는, 해당 재생성된 및/또는 제공된 뷰잉 포지션에 대한 픽처들을 합성할 수 있다. 따라서, 실시예들에 따른 뷰 재생성부의 동작은 실시예들에 따른 뷰 합성부의 동작에 선행할 수 있다. 여기서, 상술한 프로세싱의 순서는 viewing_position_picture_type 및/또는 view_position_processing_order_idx에 의해 나타내어질 수 있다.
실시예들에 따른 비디오를 수신하기 위한 장치는 디코더, 언 패커, 제어기, 중심 뷰 생성기, 뷰 재생기, 스파스 뷰 재생기, 뷰 합성기 및/또는 렌더러/뷰포트 생성기를 포함한다.
디코더 (2800) (또는 디코딩부, 디코딩)는 예를 들어 비트스트림 내의 픽처 및 실시예들에 따른 시그널링 정보 (viewing position group information 를 포함)를 포함하여 수신 된 데이터를 디코딩한다.
언패커 (2802) (또는 언패킹부, 언패킹)는 비트 스트림에서 패킹 된 픽처와 같은 픽처를 언 패킹한다.
제어기 (2806) (또는 제어, 콘트롤러)는 비트 스트림에서의 시그널링 정보, 예를 들어 뷰잉 포지션 그룹 정보, 실시예들에 따른 중심 뷰 생성 정보(센터 뷰 제너레이션 정보), 실시예들에 따른 참조 뷰 정보(레퍼런스 뷰 정보), 실시예들에 따른 재생 정보(리제너레이션 정보), 실시예들에 따른 사전 생성 정보(프리-제너레이션 정보) 및 / 또는 실시예들에 따른 합성 추천 정보(뷰 합성 레코멘데이션 정보)를 제어한다. 후 처리에서의 각 동작에 시그널링 정보를 제공하기 위해 사용된다.
중앙 뷰 생성기 (2803) (또는 센터 뷰 제너레이션, 센터 뷰 제너레이터)는 센터 뷰 생성 정보에 기초하여 센터 뷰 픽쳐를 생성한다. 실시예들에 따르면, viewing_position_picture_type 이 0과 동일한 실시 예들에 따른 시그널링 정보 또는 center_view_present_flag이 0과 동일한 경우 센터 뷰 제너레이션이 처리된다. 각 뷰잉 포지션에 대한 레퍼런스 뷰잉 포지션들 및 파라미터들은 views_position_id, center_view_generation_parameter에 의해 주어진다. 다른 경우에, 계산 복잡도가 수신기에 큰 부담인 경우, alternative_viewing_position_id, alternative_view_distance, rec_center_view_generation_method_type과 같은 주어진 정보에 의해 대안적인 시청 위치가 사용될 수 있다.
뷰 재생기 (2804) (또는 뷰 재생성, 뷰 리제너레이션부)는 레퍼런스 뷰(참조 뷰) 및/또는 희소 뷰(스파스 뷰) (들)에 기초하여 리제너레이트된 뷰를 재생성한다. 실시예들에 따르면, 희소 뷰는 비트스트림으로 전송될 수 있거나 희소 뷰는 희소 뷰 리제너레이션(스파스 뷰 리제너레이션)에 의해 생성 될 수 있다.
실시예들에 따르면, viewing_position_picture_type이 1과 동일한 경우, 픽쳐는 다른 뷰잉 포지션에 대한 참조 픽쳐로서 사용될 수 있다. 이 경우, 디코더는 views_position_id에 의해 주어진 이 픽처를 사용하는 뷰잉 포지션의 정보와 함께 픽처를 버퍼에 저장할 수 있다. viewing _position_picture_type이 2와 같은 경우, 뷰 리제너레이션 이 뷰잉 위치의 칙쳐를 복원하는데 사용되어야 한다. 리제너레이션 프로세스에 필요한 참조 뷰 및 스파스 뷰는 각각 views_position_id 및 picture_id에 의해 표현된다. 실시예들에 따른 수신기는 view_regeneration_method_type에 의해 주어진 리제너레이션 처리 방법을 사용하여 인코더가 의도 한 시청 위치를 복원할 수 있다.
희소 뷰 재생기(스파스 뷰 리제너레이션, 2805)는 비트 스트림에서의 희소 뷰 픽처 및 시그널링 정보에 기초하여 희소 뷰 픽처(스파스 뷰 픽처)를 재생성한다.
뷰 합성기 (뷰 신테시스, 2807) (또는 뷰 합성)는 중심 뷰 (예를 들어, 중심 위치), 재생 뷰 픽쳐, 참조 뷰 픽쳐 (예를 들어, 주변을 뷰포인트들 및/또는 프리 제너레이션 정보 및/또는 합성 추천 정보를 포함하는 시그널링 정보에 대한)에 기초하여 목표 시청 위치에 대한 픽쳐 및 / 또는 픽쳐를 합성한다.
실시예들에 따르면, viewing_position_picture_type이 3과 같은 경우, 픽처는 소스 픽처가 아니라 미리 생성된 뷰이다. 수신기는 이 픽쳐를 사용할지 또는 리제너레이트된 픽쳐로 새로운 픽쳐를 합성할지 결정한다. 이 결정에서, 처리된 방법은 pregeneration_method_type에 의해 주어진 결정 기준 중 하나 일 수 있다. 수신기가 이 픽처를 사용하는 경우, views_position_id에 의해 제공된 참조 픽처 및 picture_id에 의해 제공된 희소 뷰는 재생 방법과 함께 사용된다.
실시예들에 따르면, viewing_position_picture_type이 4와 동일한 경우, 이 뷰잉 위치에 대해 추천된 뷰 합성 정보가 제공된다. 이들은 각각 ref_view_systhesis_method_type, view_synthesis_parameter, views_position_id, sparse_view_present_flag에 의해 주어진 합성 방법, 파라미터, 레퍼런스 뷰잉 포지션 인디케이터 및 스파스 뷰 존재 플래그이다.
실시예들에 따르면, viewing_position_picture_type이 5와 같은 경우, 시청 위치는 alternative_viewing_position_id로 표시되는 소스 뷰, 재생 뷰 또는 합성 뷰로부터 다른 뷰로 대체될 수 있다.
렌더러/뷰포트 생성기 (2808) (또는 렌더링/뷰포트 생성)는 뷰 합성에 의해 생성된 뷰를 렌더링하고, 사용자, 디스플레이어 또는 수신기로부터 획득된 사용자 뷰포트에 대한 뷰포트 정보를 생성한다. 실시예들에 따른 뷰포트 정보는 제어기에 제공된다.
실시예들에 따르면, 포스트 프로세서는 디코딩(들), 언 패킹, 중심 뷰 생성, 뷰 재생, 희소 뷰 재생, 제어, 뷰 합성 및/또는 렌더링/뷰포트 생성을 포함하여 전술한 바와 같은 동작을 수행한다.
실시예들에 따른 비디오 수신 방법은 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 단계; 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 단계, 언패킹된 비트스트림은 시그널링 정보를 포함함; 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 단계; 및, 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 단계; 를 포함할 수 있다.
또한, 실시예들에 따른 비디오 수신 장치는, 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 디코더(decoder); 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 언패커(unpacker); 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 뷰 재생성부(view regenerator); 및, 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 뷰 합성부(view synthesizer); 를 포함할 수 있다.
이러한 구성으로 인해, 실시예들에 따른 비디오 전송 장치는 뷰포인트의 다른 뷰잉 포지션들을 나타내는 복수의 멀티 스피리컬 이미지들을 효율적으로 제공할 수 있다.
실시예들에 따른 뷰 리제너레이션부 및/또는 스파스 뷰 리제너레이션부를 이용하여, 실시예들에 따른 수신기가 수신할 데이터 양을 줄이면서 사용자들에게 정확하고 실제와 같은 뷰들을 제공할 수 있다.
또한, 비디오 수신 장치의 뷰 리제너레이션부(view regeneration, 또는 뷰 리제너레이터) 및/또는 스파스 뷰 리제너레이션부(sparse view regenearation, 또는 스파스 뷰 리제너레이터)을 이용하여 적은 양의 데이터로 사용자들에게 필요한 뷰들을 효율적이고 정확하게 제공할 수 있다. 이러한 실시예들에 따른 구성은 비디오 전송 장치 및 수신 장치의 연산량 부담을 줄일 수 있다.
도 29는 실시예들에 따른 비디오 수신 장치 및/또는 실시예들에 따른 비디오 전송 장치의 소프트웨어 플랫폼을 나타낸다.
- 센터 뷰 합성부(Central View Synthesis module, 29003)
실시예들에 따른 센터 뷰 합성부는 대부분의 시각 정보 전달을 담당하는 일반 및 전체 ERP (텍스처 + 뎁스) 뷰를 생성한다. 실시예들에 따른 센터 뷰 합성부의 파라미터(매개변수), Resolution of the related stream(관련 스트림에 대한 해상도), Exact position of the central view(중심 뷰의 정확한 위치)에 관한 정보를 포함한다.
- 소스 뷰 프루닝부(Source View Pruning module, 29001)
실시예들에 따른 소스 뷰 프루닝부는 Central View Synthesis 모듈의 뎁스 버퍼 출력을 사용하고 이미 투영 된 픽셀을 버릴 수 있다. 이 모듈의 파라미터(매개변수)는 Resolution of the related stream(관련 스트림에 대한 해상도) 및 텍스처에 대한 QP 및 뎁스에 대한 QP(QP for the texture and QP for the depth)에 대한 정보를 포함한다.
- 파티셔닝 앤 패킹부(Partitioning & packing module, 29002)
실시예들에 따른 파티셔닝 앤 패킹부가 동작하는 경우, 이 모듈은 스파스 소스 뷰(sparse source view)의 전체를 탐색하고 다음을 구현한다.
partitions each sparse source views (각각의 스파스 소스 뷰들을 분할)
discards empty partitions (빈 파티션을 제거)
packs them in a patch atlas on one or more streams (하나 또는 그 이상의 스트림들에 패치 아틀라스에 패킹)
generates additional informations accordingly (추가 정보를 생성함)
- 뷰 합성부(View synthesis module, 29006 등)
실시예들에 따른 뷰 합성부는 RVS와 마찬가지로 최종 뷰포트(the final viewport)를 생성한다. 실시예들에 따른 뷰 합성부는 이전에 생성된 추가 정보로 보완된 이종 텍스처 + 깊이 비디오 세트를 입력으로 수신한다. 그런 다음 ERP 또는 퍼스펙티브(Perspective) 모드에서 뷰를 합성한다.
실시예들에 따르면, 중앙 뷰 합성 모듈, 소스 뷰 프루닝 모듈, 분할 및 패킹 모듈 및/ 또는 뷰 합성 모듈은 송신기 측의 하드웨어, 소프트웨어 및/또는 프로세서에 대응할 수 있다.
실시예들에 따르면, 중앙 뷰 신시사이저(29003)는 소스 뷰 픽쳐로부터 획득되거나 소스 뷰 픽쳐로부터 가상으로 생성된 소스 뷰 픽쳐로부터 중심 뷰 화상을 생성한다.
실시예들에 따르면, 소스 뷰 프루너(29001)는 소스 뷰 픽쳐들 및/또는 소스 뷰 픽쳐들과 중심 뷰 픽쳐 사이의 리던던시를 프루닝(예를 들어, 제거)한다. 소스 뷰 프루닝의 출력은 여러 희소 소스 뷰 (텍스처 및/또는 깊이 포함)이다 (예 : 스파스 소스 뷰 # 0,…스파스 소스 뷰 #i).
실시예들에 따르면, 스파스 뷰는 스파스 뷰 프루닝(29001)에 의해 추가로 프루닝된다.
실시예들에 따르면, Practitioner & packer(분할 및 패킹, 29002)는 희소 소스 뷰 및 / 또는 스파 스 뷰를 텍스쳐 및/또는 깊이를 포함하는 패킹된 비디오(들)에 패킹하고, 실시예들에 따른 시그널링 정보와 관련된 추가적인 패킹 정보를 생성한다.
실시예들에 따르면, 다수의 비트스트림, 예를 들어 N 개의 스트림은 HEVC 코딩 방식(29004)에 의해 인코딩된다.
실시예들에 따르면, N 개의 스트림 및/또는 시그널링 정보가 전송된다.
실시예들에 따르면, N 개의 스트림 (텍스처 및/또는 깊이 포함) 및/또는 시그널링 정보는 수신기 측에서 수신된다.
실시예들에 따르면, ERP 신시사이저(29006)는 시그널링 정보 및 N 개의 스트림에 기초하여 뷰를 합성한다. 목표 시청 위치에 대한 뷰가 재생성 (예측) 될 수 있다.
도 30은 실시예들에 따른 인코더 프리-프로세싱부의 프루닝부의 동작을 나타낸다.
도 30은 실시예들에 따른 다른 프루닝 인풋/아웃풋이 사용되는 실시예들에 따른 프루닝부를 나아낸 것이다. 예를 들어, 첫째, 실시예들에 따른 제 1 소스 뷰(v1)는 하나의 레퍼런스 뷰 즉, 센터 뷰 픽처(c0)에 기초하여 생성될 수 있고, 제 1 스파스 뷰(s1)는 상술한 제 1 소스 뷰(v1)의 리던던시를 제거하여 생성될 수 있다. 즉, 실시예들에 따른 인코더 프리-프로세싱부는 첫 번째 예시에 따라 제 1 스파스 뷰 픽처(s1)을 생성할 수 있다.
또 다른 예시로, 둘째, 제 2 소스 뷰 (v2)는 복수 개의 레퍼런스 뷰를 이용하여, 즉, 센터 뷰 픽처(c0), 레퍼런스 뷰 픽처(v1)를 이용하여 생성될 수 있다. 또한, 제 2 스파스 뷰 픽처는 상술한 제 2 소스 뷰 픽처(v2)의 리던던시를 제거하여 생성될 수 있다. 즉, 실시예들에 따른 인코더 프리-프로세싱부는 두 번째 예시에 따라 제 2 스파스 뷰 픽처(s2)을 생성할 수 있다.
본 도면에서, 굵은 선으로 표시된 픽처는 패킹부 및/또는 인코딩부에 의해 패킹 및/또는 인코딩되어 실시예들에 따른 전송 장치에 의해 전송되는 픽처를 의미할 수 있다. 실시예들에 따르면, 패커 및/또는 인코더는 스파스 뷰 프루닝된 픽처들을 효율적으로 패킹 및 인코딩할 수 있다.
다시 말해, 도 30를 참조하면, 수신기로 전달되는 데이터 크기의 양을 감소시키기 위해, 뷰들 사이의 공간적 관계에 의해 야기되는 여분의 시각적 정보를 제거하는 것을 목적으로 하는 프루닝 모듈이 인코더 전처리 단계에서 사용된다. 이것이 사용될 때, 원래의 뷰를 복원하는 것을 목표로 하는 역 처리는 뷰 리제너레이션이라고 한다. 이러한 단계들에 대해, 참조 및 소스 뷰들의 정보 및 뷰 재생 프로세스에서 사용될 방법은 텍스처 깊이 리제너레이션 정보 SEI 메시지 또는 뷰 리제너레이션 정보 SEI 메시지에 의해 제공되어야 하며, 다른 문서들에서 세부 사항들이 다루어진다.
프루닝 모듈은 실시예들에 따른 도 27의 프루닝에 대응할 수 있다. 실시예들에 따르면, 프루닝 모듈은 프루너라고 지칭될 수 있다.
실시예들에 따르면, 프루닝 (30000) (또는 프루너)은 중심 뷰 (c0) 및 소스 뷰 (v1)에 기초하여 스파스 뷰, 예를 들어 s1 또는 제 1 스파스 뷰를 생성한다. 실시예들에 따르면, 스파스 뷰 (s1)는 중심 뷰 (c0)로부터 소스 뷰 (v1) 및/또는 소스 뷰 (v1)로부터 중심 뷰 (c0)를 감산함으로써 생성된다. 희소 뷰 (s1)는 예측 불가능한 데이터를 포함하는 픽쳐이며, 희소 뷰 (s1)의 회색 또는 검은 색 표시 영역은 중앙 뷰 (c0)와 소스 뷰 (s1) 사이에 중복된 데이터 또는 리던던시이다. 희소 뷰 (s1)를 생성함으로써, 데이터를 인코딩 또는 전송하는 성능 및 효율이 증가될 수 있다.
프루닝 (30001) (또는 프루너)은 중심 뷰 (c0), 참조 뷰 (r1) 및/또는 소스 뷰 (v2)를 기반으로 스파스 뷰 (s2)를 생성한다. 예를 들어, 중앙 뷰 (c0)는 참조 뷰 (r1)에 추가되고 추가된 픽쳐는 소스 뷰 (v2)와 함께 차감된다.
패킹/인코딩 (30002) (또는 패커 / 인코더)은 스파스 뷰 (s1) 및 / 또는 스파스 뷰 (s2)를 패킹/인코딩한다.
실시예들에 따르면, 픽처를 포함하는 데이터를 인코딩/전송하기 위해 프루닝에 기초하여 s1 및 s2를 포함하는 다수의 스파스 뷰가 생성될 수 있다.
예를 들어, 복수의 뷰잉 포지션들 중 하나인 스파스 뷰 (s2) (s2에 대한 뷰 포인트)는 중심 뷰 (c0), r1에 대한 뷰포인트에 대한 참조 뷰 (r1) 및/또는 스파스 뷰(v2)를 프루닝함으로써 생성될 수 있다. 실시예들에 따르면, 프루닝은 중심 뷰 (c0) 및 참조 뷰 (r1)를 더하고 v2의 시점에 대한 소스 뷰 (v2)를 뺀다.
실시예들에 따르면, 희소 뷰들은 패킹 및/또는 인코딩될 수 있다. 예를 들어, 스파스 뷰 (s1) 및 스파스 뷰 (s2) (또는 더 많은 스파스 뷰를 포함)는 패킹 및/또는 인코딩된다.
실시 예에 따르면, 용어 c0은 중심 시점/시점 위치 픽쳐이고, 용어 v1은 제 1 시점/ 시점 위치 소스 뷰 픽쳐이며, 용어 s1은 제 1 시점/시점 위치 희소 뷰 픽쳐이며, 용어 r1은 제 1 시점/시점 위치 참조 시점 픽쳐이고, 용어 v2는 제 2 시점/시점 위치 소스 시점 픽쳐이며, s2 항은 제 2 시점/시점 위치 희소 시점 픽쳐 및/또는 이와 유사한 방식으로 해석 될 수 있다.
여기서, 실시예들에 따른 수신 장치가 뷰 리제너레이션부에 의해 재생성할 뷰는 서로 다른 뷰잉 포지션(또는 시점/시점 위치)에 대한 뷰(또는 픽처)일 수 있다. 각각의 서로 다른 뷰잉 포지션은 제 1 뷰잉 포지션, 제 2 뷰잉 포지션 등으로 호칭할 수 있다. 각각의 뷰잉 포지션은 하나 또는 그 이상의 소스 뷰(소스 뷰 픽처, source view picture), 하나 또는 그 이상의 레퍼런스 뷰(레퍼런스 뷰, reference view picture), 하나 또는 그 이상의 스파스 뷰(스파스 뷰 픽처, sparse view picture) 등을 포함할 수 있다. 각각의 뷰잉 포지션 내 소스 뷰 픽처, 레퍼런스 뷰 픽처, 스파스 뷰 픽처가 복수 개로 존재하는 경우, 제 1 뷰잉 포지션에 대한 제 1 소스 뷰 픽처, 제 1 뷰잉 포지션에 대한 제 2 소스 뷰 픽처 등과 같이 호칭될 수 있다. 또한, 제 1 소스 뷰 픽처 및 제 2 소스 뷰 픽처라고 호칭되는 경우, 각각의 소스 뷰 픽처가 서로 다른 뷰잉 포지션을 의미할 수도 있다.
따라서, 실시예들에 따른 비디오 전송 방법은 복수의 뷰잉 포지션(viewing positions)들에 대한 픽처(picture)들의 인터-뷰 리던던시를 제거하는 단계; 인터-뷰 리던던시가 제거된 픽처들을 패킹하는 단계; 및 패킹된 픽처들 및 시그널링 정보를 인코딩하는 단계; 를 포함할 수 있다.
또한, 실시예들에 따른 비디오 전송 장치는, 복수의 뷰잉 포지션(viewing positions)들에 대한 픽처(picture)들로부터 인터-뷰 리던던시 를 제거하는 인터-뷰 리던던시 제거부(inter-view redundancy remover); 인터-뷰 리던던시 제거된 픽처들을 패킹하는 패커(packer); 패킹된 픽처들 및 시그널링 정보를 인코딩하는 인코더(encoder); 를 포함할 수 있다.
이러한 구성으로 인해, 실시예들에 따른 비디오 전송 장치는 뷰포인트의 다른 뷰잉 포지션들을 나타내는 복수의 멀티 스피리컬 이미지들을 효율적으로 제공할 수 있다.
실시예들에 따른 프루너를 이용하여 전송되어야 할 데이터의 양을 줄일 수 있다.
또한, 비디오 전송 장치의 프루너(pruner, 또는 프루닝 단계)를 이용하여 적은 양의 데이터로 사용자들에게 필요한 뷰들을 효율적이고 정확하게 제공할 수 있다. 이러한 실시예들에 따른 구성은 비디오 전송 장치 및 수신 장치의 연산량 부담을 줄일 수 있다.
도 31은 실시예들에 따른 디코더 포스트-프로세싱부의 뷰 제너레이션을 나타낸다.
도 31은 실시예들에 따른 뷰 리제너레이션이 포함된 디코더 포스트-프로세싱 스킴을 나타낸다. 구체적으로 도 31은 제 1 재생성된 뷰 픽처(또는 재생성된 v1 픽처) 및/또는 제 2 재생성된 뷰 픽처(또는 재생성된 v2 픽처)를 재생성하기 위해 다른 인풋들이 사용되는 디코더 포스트-프로세싱 스킴을 나타낸다. 실시예들에 따른 뷰 리제너레이션 동작에서, 타겟 뷰는 레퍼런스 뷰(들)에 기초하여 예측(predicted)되고, 예측하기 어려운(또는 예측하지 못한) 영역은 실시예들에 따른 스파스 뷰들에 의해 채워질 수 있다. 실시예들에 따른 뷰 리제너레이션 동작에서 사용되는 픽처들에 대한 정보가 주어지면, 제 1 재생성된 뷰 픽처는 센터 뷰 픽처(c0) 및 제 1 스파스 뷰 픽처(s1)에 의해 생성될 수 있다. 또 다른 실시예는, 제 2 재생성된 뷰 픽처는 두 개의 레퍼런스 픽처들(즉, 센터 뷰 픽처(c0) 및 하나의 레퍼런스 뷰 픽처(r1)) 및 스파스 뷰 픽처에 의해 생성될 수 있다.
실시예들에 따르면, 디코더는 수신된 픽처들로부터 뷰(들)를 재생성(또는 예측)하기 위해 뷰 재생성을 수행한다.
뷰 재생 (31000) (또는 뷰 재생기)은 중심 뷰 (c0) 및 희소 뷰 (s1)에 기초하여 재생 뷰 (v1)를 생성 (재생/예측)한다. 실시예들에 따르면, 중심 뷰는 실시예들에 따라 인코더 또는 송신기로부터 전송 될 수 있다. 실시 예에 따르면, 중심 뷰는 도 33에 도시 된 실시예들에 따른 중앙 뷰 생성에 의해 생성 될 수 있다. 실시 예에 따르면, 희소 뷰 (v1)는 패킹 된 화상을 통해 전송된다. 따라서, 뷰 재생성에서는 예측할 수 없는 데이터를 포함하는 중심 뷰 (c0) 및 희소 뷰 (s1)를 사용하여 뷰 (v1)를 생성 할 수 있다.
뷰 재생 (31001) (또는 뷰 재생기)은 중심 뷰 (c0), 참조 뷰 (r1) 및 희소 뷰 (s2)에 기초하여 재생 뷰 (v2)를 생성 (재생/예측)한다.
따라서, 다수의 시청 위치 또는 시점에 대하여, 뷰 (v1, v2,…vN)는 중심 뷰 (들), 희소 뷰 (들) 및/또는 참조 뷰 (들)에 기초하여 (재) 생성 될 수 있다.
실시 예들에 따르면, 중심 뷰 (c0)는 수신된 참조 뷰 화상들로부터 중심 뷰 생성에 의해 생성 될 수 있거나 실시 예들에 따라 중앙 뷰 (c0)는 수신 된 참조 뷰 화상들에 포함된다. 실시 예들에 따르면, 하나 이상의 소스 뷰 (v1, v2,…vN) 또는 하나 이상의 참조 뷰 (r1, r2 ,,,, rN)가 수신 된 픽처에 포함된다.
실시예들에 따른 비디오 수신 방법은 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 단계; 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 단계, 언패킹된 비트스트림은 시그널링 정보를 포함함; 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 단계; 및, 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 단계; 를 포함할 수 있다.
또한, 실시예들에 따른 비디오 수신 장치는, 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 디코더(decoder); 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 언패커(unpacker); 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 뷰 재생성부(view regenerator); 및, 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 뷰 합성부(view synthesizer); 를 포함할 수 있다.
이러한 구성으로 인해, 실시예들에 따른 비디오 전송 장치는 뷰포인트의 다른 뷰잉 포지션들을 나타내는 복수의 멀티 스피리컬 이미지들을 효율적으로 제공할 수 있다.
실시예들에 따른 뷰 리제너레이션부를 이용하여, 실시예들에 따른 수신기가 수신할 데이터 양을 줄이면서 사용자들에게 정확하고 실제와 같은 뷰들을 제공할 수 있다.
또한, 비디오 수신 장치의 뷰 리제너레이션부(view regeneration, 또는 뷰 리제너레이터)를 이용하여 적은 양의 데이터로 사용자들에게 필요한 뷰들을 효율적이고 정확하게 제공할 수 있다. 이러한 실시예들에 따른 구성은 비디오 전송 장치 및 수신 장치의 연산량 부담을 줄일 수 있다.
도 32 은 실시예들에 따른 프루닝부 및 스파스 뷰 셀렉션부를 이용한 실시예들에 따른 인코더 프리-프로세싱 스킴을 나타낸다.
레퍼런스 뷰의 교체와 관련하여: (Regarding Replacement of reference view:)
도 32는 실시예들에 따른 프루닝부 및 스파스 뷰 셀렉션부를 포함하는 실시예들에 따른 인코더 프리-프로세싱부의 동작을 나타낸다. 실시예들에 따른 스파스 뷰 셀렉션 동작에서, 데이터 효율이 더 높은 스파스 뷰를 선택할 수 있다. 이는, 스파스 뷰 픽처 중 적은 양의 픽셀을 가지는 스파스 뷰인지 등을 비교하여 결정될 수 있다. 도 32에서, 소스 뷰 픽처 (v1) 이 예에서 소스 뷰 v1은 중앙 뷰보다 소스 뷰에 더 가깝게 보이기 때문에 스파 스 뷰 s2-2는 s2-1보다 데이터 효율성이 높을 수 있다.
실시예들에 따르면, 패커 및/또는 인코더는 프루닝을 수행하고 스파스 뷰 선택을 추가로 수행한다.
프루닝 (32000) (또는 프루너)는 중앙 뷰 (c0)와 소스 뷰 (v1)를 기반으로 스파스 뷰 (s1)를 제거한다.
프루닝 (32001) (또는 프루너)은 중심 뷰 (c0) 및 소스 뷰 (v2)를 기준으로 스파스 뷰 (s2-1)를 프루닝한다. 예를 들어 소스 뷰 (v2)는 중앙 뷰 (c0)에서 차감된다.
프루닝 (32002) (또는 프루너)은 소스 뷰 (v1) 및 소스 뷰 (v2)를 기반으로 스파스 뷰 (s2-2)를 프루닝한다 (예 : 소스 뷰 (v2)는 소스 뷰 (v1)에서 빼기).
스파스 뷰 선택 (32003) (또는 스파 스 뷰 선택기)은 어느 스파스 뷰가 더 효율적인지를 고려하여 패킹되거나 인코딩될 스파스 뷰를 선택한다. 예를 들어, 희소 뷰 (s2-1)의 유효 픽셀 수가 적으면 희소 뷰 (s2-1)가 선택되고 희소 뷰 (s2-2)의 유효 픽셀 수가 적으면 희소 뷰 (s2-1) 가 선택된다.
패킹 (32004) (또는 패커)은 스파스 뷰 (s1) 또는 스파스 뷰 (s1) 및 선택된 스파스 뷰를 패킹한다.
실시예들에 따른 비디오 전송 방법은 복수의 뷰잉 포지션(viewing positions)들에 대한 픽처(picture)들의 인터-뷰 리던던시를 제거하는 단계; 인터-뷰 리던던시가 제거된 픽처들을 패킹하는 단계; 및 패킹된 픽처들 및 시그널링 정보를 인코딩하는 단계; 를 포함할 수 있다.
실시예들에 따른 인터-뷰 리던던시 제거하는 단계는, 제 1 뷰잉 포지션과 관련된 제 1 소스 뷰 픽처를 센터 뷰 픽처에 기초하여 제 1 프루닝하는 단계, 제 1 프루닝하는 단계는 제 1 스파스 뷰 픽처를 생성함; 제 1 소스 뷰 픽처를 제 1 뷰잉 포지션과 다른 제 2 뷰잉 포지션과 관련된 제 2 소스 뷰 픽처에 기초하여 제 2 프루닝하는 단계, 제 2 프루닝하는 단계는 제 2 스파스 뷰 픽처를 생성함; 및 제 1 스파스 뷰 픽처 및 제 2 스파스 뷰 픽처 중 하나의 픽처를 선택하는 단계; 를 포함할 수 있다. 또한, 인코딩하는 단계는 제 1 스파스 뷰 픽처 및 제 2 스파스 뷰 픽처 중 선택된 하나의 픽처를 더 인코딩할 수 있다.
실시예들에 따른 전송 장치는, 하나의 뷰잉 포지션에 대하여 스파스 뷰 픽처를 선택함으로써 전송 장치 및 수신 장치의 송수신 환경에 대응하여 데이터의 양과 연산량을 조절하는 적응적 인터-뷰 리던던시 제거 동작을 수행할 수 있다. 따라서, 실시예들에 따른 전송 장치는 전송 장치의 송신 환경 및 수신 장치의 수신 환경을 고려하여 스파스 뷰를 선택함으로써 송수신 환경에 신속하게 대응할 수 있다.
또한, 실시예들에 따른 전송 장치는, 하나의 뷰잉 포지션에 대한 다양한 스파스 뷰 픽처의 오류의 양을 판단하여 오류가 적은 픽처를 선택함으로써, 수신 장치를 사용하는 사용자들(viewer)에게 정확하고 실제와 같은 가상 현실 환경을 제공할 수 있다.
도 33은 실시예들에 따른 재생성된 뷰(regenerated view)를 레퍼런스 뷰(reference view)로 사용하여 뷰 리제너레이션(view regeneration)을 수행하는 것을 나타낸다.
도 33은 실시예들에 따른 디코더 포스트-프로세서의 디코더 포스트-프로세싱 스킴의 실시예를 나타낸다. 실시예들에 따른 디코더 포스트-프로세서는 제 1 뷰 재생성부(33000)에 의해 재생성된 제 1 재생성된 뷰(v1)를 제 2 재생성된 뷰(v2)를 생성하기 위한 레퍼런스 뷰로 대체한 것을 나타낸다. 이러한 구성으로 인해, 실시예들에 따른 재생성된 뷰(즉, 제 1 재생성된 뷰(v1) 및 제 2 재생성된 뷰(v2))를 전달하는데 필요한 데이터 사이즈를 줄일 수 있다.
본 도면에서 레퍼런스 뷰의 대체(Replacement of reference view)가 설명될 수 있다.
실시예들에 따르면, 디코더 (또는 수신기)는 리제너레이트된 뷰 (v1, v2 등)를 생성하기 위해 뷰 리제너레이션을 수행한다.
뷰 재생 (33000) (또는 뷰 재생기)은 중심 뷰 및 희소 뷰 (s1)에 기초하여 재생 뷰 (v1)를 재생성(생성)한다. 예를 들어, 재생 뷰 (v1)는 중심 뷰 및 희소 뷰 (s1)에 기초하여 예측 될 수 있다.
뷰 재생성 (33001) (또는 뷰 재생성)은 희소 뷰 (s2) 및 적어도 하나의 재생 뷰 (r1) 또는 중심 뷰에 기초하여 재생 뷰 (v2)를 재생성한다.
실시예들에 따른 비디오 수신 방법은 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 단계; 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 단계, 언패킹된 비트스트림은 시그널링 정보를 포함함; 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 단계; 및, 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 단계; 를 포함할 수 있다.
또한, 실시예들에 따른 비디오 수신 장치는, 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 디코더(decoder); 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 언패커(unpacker); 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 뷰 재생성부(view regenerator); 및, 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 뷰 합성부(view synthesizer); 를 포함할 수 있다.
상술한 실시예들에 따른 구성으로 인해, 실시예들에 따른 수신 장치는 재생성된 뷰(regenerated view)들을 정확하고 효율적으로 생성할 수 있다. 또한, 실시예들에 따른 수신 장치는 제 2 뷰포인트(또는 제 2 뷰잉 포지션)에 대한 픽처를 생성하기 위해 제 1 뷰포인트(또는 제 1 뷰잉 포지션)에 대한 픽처를 이용함으로써 적은 양의 데이터로 효율적으로 뷰들을 재생성할 수 있다.
또한, 실시예들에 따른 전송 장치는 제 2 뷰포인트(또는 제 2 뷰잉 포지션)에 대한 픽처를 제공하기 위해 제 1 뷰포인트(또는 제 1 뷰잉 포지션)에 대한 픽처만을 전송함으로써 데이터 송신의 효율성을 높일 수 있고, 연산량을 감소시킬 수 있다. (Due to using a regenerated view for a first viewpoint(or a first viewing position) when regenerating a regenerated view for a second viewpoint(or a second viewing position), a decoder in accordance with embodiments can regenerate data more precisely and efficiently and replace reference views which can provide effects of decreasing burden on the decoder. By using this approach, the data size that is occupied to deliver reference view v1 could be reduced.)
도 34는 실시예들에 따른 프루닝 및 스파스 뷰 프루닝을 수행하는 실시예들에 따른 인코더 프리-프로세싱부를 나타낸다.
구체적으로 도 34는 실시예들에 따른 프루닝부 및/또는 스파스 뷰 프루닝부를 포함하는 인코더 프리-프로세싱부의 인코더 프리-프로세싱 스킴(encoder pre-processing scheme)을 나타낸다.
스파스 뷰 리제너레이션(Sparse view regeneration):
도 34에서는 실시예들에 따른 프루닝부와 명세서에서 추가적으로 설명하는 스파스 뷰 프루닝부를 나타낸다. 실시예들에 따른 스파스 뷰 프루닝부는, 실시예들에 따른 스파스 뷰(sparse view)들과 레퍼런스 스파스 뷰(reference sparse view) (들)과 비교하고, 스파스 뷰(sparse view)들과 레퍼런스 스파스 뷰(reference sparse view) (들) 간의 리던던시(redundancy)를 제거한다. (In Figure 33, an example of encoder pre-processing scheme with pruning module is described with the additional step called sparse view pruning. In this step, the sparse view of one view is compared with the reference sparse views and the redundancy between the sparse views are removed.
따라서, 예를 들면, 제 1 스파스 뷰 픽처(s1)와 제 2 스파스 뷰 픽처(s2)를 전송하는 것은, 레퍼런스 스파스 뷰 픽처(reference sparse view picture)에 해당하는 제 1 스파스 뷰 픽처(s1)와 제 1 스파스 뷰 픽처(s1) 및 제 2 스파스 뷰 픽처(s2) 간의 리던던시를 나타내는 프루닝된 스파스 뷰 픽처(res_s2)를 전송하는 것으로 대체될 수 있다. 프루닝된 스파스 뷰 픽처(res_s2, pruned sparse view picture)는 제 1 스파스 뷰 픽처(즉, 레퍼런스 스파스 뷰 픽처)를 제 2 스파스 뷰 픽처(s2)를 이용하여 다시 프루닝한 픽처를 의미할 수 있다. 반대로, 프루닝된 스파스 뷰 픽처(res_s2, pruned sparse view picture)는 제 2 스파스 뷰 픽처(즉, 레퍼런스 스파스 뷰 픽처)를 제 1 스파스 뷰 픽처(s1)를 이용하여 다시 프루닝한 픽처를 의미할 수도 있다. 즉, 제 1 스파스 뷰 픽처와 제 2 스파스 뷰 픽처가 상관관계(correlated) 또는 연관성을 지닌다면, 제 1 스파스 뷰 픽처에 의해 제 2 스파스 뷰 픽처를, 프루닝된 스파스 뷰 픽처를 이용하여 예측할 수 있다.
따라서, 제 2 스파스 뷰 픽처(s2)에 의존하는 잔여 데이터(remaining data)나 레지듀얼(residual)은 레퍼런스 스파스 뷰 픽처(s1)과 프루닝된 스파스 뷰 픽처(res_s2)에 의해 전달될 수 있다.
만약, 제 1 스파스 뷰 픽처와 제 2 스파스 뷰 픽처가 높은 상관관계(highly correlated)를 지니거나 연관성이 높다면, 실시예들에 따른 프루닝된 스파스 뷰 픽처는 매우 적은 양의 데이터를 가질 수 있다. 이러한 매우 적은 양의 데이터는 노이즈(noise)이거나 필요 없는 데이터(less useful data)일 수 있다. 따라서, 실시예들에 따른 전송 장치는 이러한 적은 양의 데이터를 갖는 프루닝된 스파스 뷰 픽처는 전송하지 않을 수 있다. 이 때, 프루닝된 스파스 뷰 픽처를 전송할지 말지 여부는 레지듀얼 디텍션부(residual detection, 34003)에 의해 결정될 수 있다. 즉, 레지듀얼 디텍션부는 프루닝된 스파스 뷰 픽처의 크기에 기초하여 프루닝된 스파스 뷰 픽처를 전송할지 여부를 결정할 수 있다.
실시예들에 따르면, 인코더는 프루닝, 희소 뷰 프루닝, 잔차 검출 및/또는 (패킹) 인코딩을 수행한다.
프루닝 (34000) (또는 프루너)은 중심 뷰 (c0) 및 소스 뷰 (v1)에 기초하여 희소 뷰 (s1)를 프룬 (prune) (생성)한다. 예를 들어 스파스 뷰 (s1)는 중앙 뷰 (c0)에서 소스 뷰 (v1)를 빼서 생성된다.
프루닝 (34001) (또는 프루너)는 중앙 뷰 (c0)와 소스 뷰 (v2)를 기반으로 스파스 뷰 (s2)를 제거한다. 예를 들어 스파스 뷰 (s2)는 중앙 뷰 (c0)에서 소스 뷰 (v2)를 빼서 생성된다.
실시예들에 따르면, 스파스 뷰 프루닝 (34002) (또는 스파스 뷰 프루너)은 프루닝에 의해 생성 된 스파스 뷰 (s1) 인 참조 스파스 뷰 (s1) 및 스파스 뷰 (s1)에 기초한 프루닝된 스파스 뷰 (res_s2) (s2)는 프루닝으로 생성된 스파스 뷰 (s2)이다. 예를 들어, 프룬 된 스파스 뷰 (res_s2)는 참조 스파스 뷰 (s1)에서 스파스 뷰 (s2)를 빼서 생성됩니다.
레지듀얼 디텍션 또는 잔차 검출 (34003) (또는 잔차 검출기, 레지듀얼 디텍터, 레지듀얼 검출부)은 잘라낸 스파스 뷰 (res_s2)가 패킹/인코딩되는지 여부를 결정하기 위해 프룬 스파스 뷰 (res_s2)에서 잔차 정보를 검출한다.
패킹/인코딩 (34003) (또는 패킷/인코더)은 프루닝 된 스파스 뷰 (res_s2)가 인코딩에 유용한 데이터를 가질 때 스파스 뷰 (s1) 또는 스파스 뷰 및 프루닝 된 스파스 뷰 (res_s2)를 패킹/인코딩한다.
따라서 실시예들에 따른 비디오 전송 방법은, 복수의 뷰잉 포지션들에 대한 픽처들에 포함된 소스 뷰 픽처들에 기초하여 센터 뷰 픽처(center view picture) 및/또는 센터 뷰 제너레이션 정보(center view generation information)를 생성하는 단계; 및 소스 뷰 픽처들에 기초하여 중간 뷰 픽처를 합성하는 단계, 중간 뷰 픽처를 합성하는 단계는 프리-제너레이션 정보(pre-generation information) 및/또는 뷰 합성 레코멘데이션 정보(view synthesis recommendation information)를 생성함; 를 더 포함할 수 있다. 이 때, 인터-뷰 리던던시를 제거하는 단계는 소스 뷰 픽처들, 중간 뷰 픽처 및/또는 센터 뷰 픽처 중 적어도 두 개의 픽처에 기초하여 스파스 뷰(sparse view) 픽처들을 생성할 수 있고, 인터-뷰 리던던시를 제거하는 단계는 레퍼런스 뷰(reference view) 픽처들, 레퍼런스 뷰 정보(reference view information) 및 리제너레이션 정보(regeneration information)를 더 생성할 수 있다.
또한 실시예들에 따른 비디오 전송 방법은, 스파스 뷰 픽처들 내 포함된 제 2 뷰잉 포지션과 관련된 스파스 뷰 픽처에 기초하여, 스파스 뷰 픽처들 내 포함된 제 1 뷰잉 포지션과 관련된 레퍼런스 스파스 뷰 픽처(reference sparse view picture)를 프루닝(pruning)하는 단계, 및 프루닝된 스파스 뷰 픽처로부터 레지듀얼(residual)를 검출하는 단계를 포함할 수 있다. 여기서 제 2 뷰잉 포지션은 제 1 뷰잉 포지션과 다른 뷰잉 포지션이고, 레퍼런스 스파스 뷰 픽처를 프루닝하는 단계는 프루닝된 스파스 뷰 픽처(pruned sparse view picture)를 생성할 수 있다. 또한, 프루닝된 스파스 뷰 픽처는 레지듀얼의 존재에 대응하여 패킹될 수 있다.
이러한 실시예들에 따른 스파스 뷰 프루닝부 및 레지듀얼 디텍션부는, 불필요하거나 중복되는 정보들을 더 제거하여 실시예들에 따른 전송 장치의 데이터 송신 효율을 높일 수 있다.
또한 실시예들에 따른 수신 장치는 적은 양의 데이터로 사용자들에게 필요한 뷰들을 효율적이고 정확하게 제공할 수 있다. 이러한 실시예들에 따른 구성은 전송 장치 및 수신 장치의 연산량 부담을 줄일 수 있다.
도 35는 실시예들에 따른 뷰 리제너레이션 및/또는 스파스 뷰 리제너레이션을 이용한 실시예들에 따른 디코더 포스트-프로세싱 스킴(decoder post processing scheme)을 나타낸 것이다.
스파스 뷰 리제너레이션:
실시예들에 따르면, sparse_view_regeneration_type equal이 1인 경우, 스파스 뷰 재생성 동작은 도 35에 따라 수행될 수 있다. 도 35에 따른 레퍼런스 스파스 뷰(reference sparse view, s1)와 프루닝된 스파스 뷰 픽처(pruned sparse view, res_s1)는 각각 reference_sparse_view_id 및 pruned_sparse_view_id에 의해 나타내어질 수 있다. 여기서, 도 35에 따른 재생성된 뷰를 예측(prediction)하는 경우, 레퍼런스 스파스 뷰 픽처 및 view_position_descriptor()에 의해 지시되는 타겟 뷰들의 위치(location), 회전(rotation), 커버리지(coverage)를 이용하여 뷰들 간의 디스페리티를 계산할 수 있다. 도 35에 따른 재생성된 뷰를 예측(prediction)하는 경우, 레퍼런스 스파스 뷰의 위치(location), 회전(rotation), 커버리지(coverage)와 타겟 뷰의 위치(location), 회전(rotation), 커버리지(coverage)를 이용하여 뷰들 간의 디스페리티(disparity)를 계산할 수 있다.
실시예들에 따르면, 디코더는 스파스 뷰 재생 및/또는 뷰 재생(리제너레이션)을 수행한다.
스파스 뷰 재생 (35000) (또는 스파스 뷰 재생기)은 실시 예에 따라 참조 스파스 뷰 (s1) 및 프루닝 된 스파스 뷰 (res_s1)에 기초하여 재생 스파스 뷰 (s2)를 생성 (예측)한다. 재생 스파 스 뷰 (s2)에 비추어 (제 2 시점/시점 위치에 대한), 기준 스파스 뷰 (s1) (제 1 시점/시점 위치에 대한)는 참조 뷰일 수 있다. 예를 들어, 실시예들에 따른 스파스 뷰 재생기는 스파스 뷰 재생 유형 정보에 응답하여 패킹된 픽처들에서 수신된 스파스 뷰들로부터 스파스 뷰를 재생성한다.
뷰 재생 (35001) (또는 뷰 재생기)은 중심 뷰 (c0) 및 재생 스파 스 뷰 (s2)에 기초하여 재생 뷰 (v2)를 생성한다. 실시 예에 따르면, 중심 뷰는 참조 뷰를 사용하여 디코더에서 전송되거나 생성된다. 재생 뷰 (v2)는 중심 뷰 및/또는 재생 스파 스 뷰를 사용하여 (재) 생성될 수 있다.
실시예들에 따른 비디오 수신 방법은 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 단계; 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 단계, 언패킹된 비트스트림은 시그널링 정보를 포함함; 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 단계; 및, 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 단계; 를 포함할 수 있다.
또한 실시예들에 따른 비디오 수신 방법은, 언패킹된 픽처들 내에 포함된 레퍼런스 뷰 픽처(reference view picture)들 및 센터 뷰 제너레이션 정보에 기초하여 센터 뷰 픽처(center view picture)를 생성하는 단계를 포함할 수 있고, 뷰 재생성하는 단계는 레퍼런스 뷰 픽처들, 언패킹된 픽처들 내의 스파스 뷰 픽처(sparse view picture)들, 센터 뷰 픽처, 레퍼런스 뷰 정보 및 리제너레이션 정보에 기초하여 재생성된 뷰(regenerated view)를 생성할 수 있다. 또한, 뷰 합성하는 단계는 재생성된 뷰, 센터 뷰 픽처, 레퍼런스 뷰 픽처들, 프리-제너레이션 정보 및 뷰 합성 레코멘데이션 정보에 기초하여 합성된 뷰를 생성할 수 있다.
또한 실시예들에 따른 뷰 재생성하는 단계는, 제 1 모드로서, 제 1 스파스 뷰 픽처로부터 제 2 스파스 뷰 픽처를 재생성하는 단계, 재생성된 제 2 스파스 뷰 픽처 및 센터 뷰 픽처에 기초하여 제 재생성된 뷰를 생성하는 단계를 포함할 수 있다. 스파스 뷰 픽처들 내에 프루닝된 스파스 뷰(pruned sparse view) 픽처를 포함하는 경우, 제 2 스파스 뷰 픽처를 재생성하는 단계는 프루닝된 스파스 뷰 픽처에 기초하여 제 2 스파스 뷰 픽처를 생성할 수 있다. 제 2 뷰잉 포지션은 제 1 뷰잉 포지션과 다를 수 있다.
이러한 실시예들에 따른 스파스 뷰 프루닝부 및 레지듀얼 디텍션부는, 불필요하거나 중복되는 정보들을 더 제거하여 실시예들에 따른 전송 장치의 데이터 송신 효율을 높일 수 있다.
또한 실시예들에 따른 수신 장치는 적은 양의 데이터로 사용자들에게 필요한 뷰들을 효율적이고 정확하게 제공할 수 있다. 이러한 실시예들에 따른 구성은 전송 장치 및 수신 장치의 연산량 부담을 줄일 수 있다.
도 36은 실시예들에 따른 뷰 리제너레이션 및/또는 스파스 뷰 리제너레이션을 이용한 실시예들에 따른 디코더 포스트-프로세싱 스킴(decoder post processing scheme)을 나타낸 것이다.
sparse_view_regeneration_type equal이 2인 경우, 스파스 뷰 재생성 동작은 도 36에 따라 수행될 수 있다. 도 36에 따른 레퍼런스 스파스 뷰(reference sparse view, s1)는 reference_sparse_view_id에 의해 나타내어질 수 있다. 여기서, 도 36에 따른 재생성된 뷰를 예측(prediction)하는 경우, 레퍼런스 스파스 뷰 픽처 및 view_position_descriptor()에 의해 지시되는 타겟 뷰들의 위치(location), 회전(rotation), 커버리지(coverage)를 이용하여 뷰들 간의 디스페리티를 계산할 수 있다. 도 36에 따른 재생성된 뷰를 예측(prediction)하는 경우, 레퍼런스 스파스 뷰의 위치(location), 회전(rotation), 커버리지(coverage)와 타겟 뷰의 위치(location), 회전(rotation), 커버리지(coverage)를 이용하여 뷰들 간의 디스페리티(disparity)를 계산할 수 있다. 여기서, 레퍼런스 스파스 뷰의 위치(location), 회전(rotation), 커버리지(coverage)와 타겟 뷰의 위치(location), 회전(rotation), 커버리지(coverage)는 reference_sparse_view_id, target_view_id 각각에 대응하는 뷰 포지션 디스크립터 정보(즉, view_position_descriptor())에 의해 나타내어질 수 있다.
도 36에서는 스파스 뷰 리제너레이션을 이용한 디코더 포스트-프로세싱 스킴의 다른 실시예를 나타낸 것이다. 도 36은 sparse_view_regeneration_type equal이 2인 경우, 스파스 뷰 리제너레이션 동작을 나타낸다.
도 36에서, 실시예들에 따른 뷰 리제너레이션부는 프루닝된 스파스 뷰 픽처를 수신하지 않을 수 있다. 따라서, 실시예들에 따른 스파스 뷰 리제너레이션부(36000, 또는 디코더 포스트-프로세싱부)는 레퍼런스 스파스 뷰(reference sparse view, s1)를 이용하여(또는 s1만을 이용하여) 스파스 뷰(sparse view, s2)를 예측(predicted or estimated)할 수 있다. 스파스 뷰(s2)가 재생성된 경우(또는 예측된 경우, estimated), 실시예들에 따른 뷰 재생성부(view regeneration, 36001)는 센터 뷰 픽처(c0)를 이용하여 재생성된 뷰(또는 타겟 뷰, v2)가 재생성될 수 있다. 이 때, 다른 레퍼런스 뷰 픽처가 같이 사용될 수도 있다. 따라서, 재생성된 뷰(v2)를 생성하는 경우, 실시예들에 따른 스파스 뷰 제너레이션부가 뷰 재생성부에 앞서 수행될 수 있다.
실시예들에 따르면, 디코더는 스파스 뷰 재생 및/또는 뷰 재생을 수행한다.
스파스 뷰 재생 (36000) (또는 스파스 뷰 재생기)은 참조 스파스 뷰 (s1)에 기초하여 재생 스파스 뷰 (s2)를 생성한다. 실시예들에 따르면, 참조 스파스 뷰 (예를 들어, s1, s3 등)는 스파스 뷰 재생에서 재생 스파스 뷰 (s2)를 생성하는데 사용될 수 있다. 실시 예들에 따르면, 단일 참조 스파스 뷰를 사용하는 것이 가장 좋은 경우 일 수 있다. 실시 예들에 따르면, 스파스 뷰들과 관련된 시그널링 정보는 스파스 뷰 재생에 사용될 수 있다.
뷰 재생 (36001) (또는 뷰 재생기)은 실시예들에 따라 중심 뷰 (c0) 및 재생 스파스 뷰 (s2)에 기초하여 재생 뷰 (v2)를 생성한다.
실시예들에 따른 비디오 수신 방법은 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 단계; 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 단계, 언패킹된 비트스트림은 시그널링 정보를 포함함; 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 단계; 및, 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 단계; 를 포함할 수 있다.
또한 실시예들에 따른 비디오 수신 방법은, 언패킹된 픽처들 내에 포함된 레퍼런스 뷰 픽처(reference view picture)들 및 센터 뷰 제너레이션 정보에 기초하여 센터 뷰 픽처(center view picture)를 생성하는 단계를 포함할 수 있고, 뷰 재생성하는 단계는 레퍼런스 뷰 픽처들, 언패킹된 픽처들 내의 스파스 뷰 픽처(sparse view picture)들, 센터 뷰 픽처, 레퍼런스 뷰 정보 및 리제너레이션 정보에 기초하여 재생성된 뷰(regenerated view)를 생성할 수 있다. 또한, 뷰 합성하는 단계는 재생성된 뷰, 센터 뷰 픽처, 레퍼런스 뷰 픽처들, 프리-제너레이션 정보 및 뷰 합성 레코멘데이션 정보에 기초하여 합성된 뷰를 생성할 수 있다.
또한 실시예들에 따른 뷰 재생성하는 단계는, 제 1 모드로서, 제 1 스파스 뷰 픽처로부터 제 2 스파스 뷰 픽처를 재생성하는 단계, 재생성된 제 2 스파스 뷰 픽처 및 센터 뷰 픽처에 기초하여 제 재생성된 뷰를 생성하는 단계를 포함할 수 있다. 스파스 뷰 픽처들 내에 프루닝된 스파스 뷰(pruned sparse view) 픽처를 포함하는 경우, 제 2 스파스 뷰 픽처를 재생성하는 단계는 프루닝된 스파스 뷰 픽처에 기초하여 제 2 스파스 뷰 픽처를 생성할 수 있다. 제 2 뷰잉 포지션은 제 1 뷰잉 포지션과 다를 수 있다.
이러한 실시예들에 따른 스파스 뷰 프루닝부 및 레지듀얼 디텍션부는, 불필요하거나 중복되는 정보들을 더 제거하여 실시예들에 따른 전송 장치의 데이터 송신 효율을 높일 수 있다.
또한 실시예들에 따른 수신 장치는 적은 양의 데이터로 사용자들에게 필요한 뷰들을 효율적이고 정확하게 제공할 수 있다. 이러한 실시예들에 따른 구성은 전송 장치 및 수신 장치의 연산량 부담을 줄일 수 있다.
도 37은 실시예들에 따른 뷰 리제너레이션 및/또는 스파스 뷰 리제너레이션을 이용한 실시예들에 따른 디코더 포스트-프로세싱 스킴(decoder post processing scheme)을 나타낸 것이다.
sparse_view_regeneration_type equal이 3인 경우, 스파스 뷰 재생성 동작은 도 37에 따라 수행될 수 있다. 이 경우, 프루닝된 스파스 뷰 픽처가 디코딩된 및/또는 언패킹된 픽처들에 포함되지 않을 수 있다. 따라서 실시예들에 따른 디코더 포스트-프로세싱부는 레퍼런스 스파스 뷰 픽처(s1)로부터 (또는 레퍼런스 스파스 뷰 픽처만으로부터) 스파스 뷰 픽처(s2)를 예측(predicted or estimated)할 수 있다. 여기서, sparse_view_regeneration_type equal가 2인 경우와 다른 점은, 실시예들에 따른 스파스 뷰 리제너레이션부(37001)는 임시 재생성된 뷰(v1)을 이용하여 스파스 뷰 픽처(s2)를 예측한다는 것이다.
여기서, 재생성된 v2 픽처를 재생성하기 위하여 임시 재생성된 v1 픽처의 전부가 사용되지 않을 수 있다. 다라서, 임시 재생성된 v1 픽처는 재생성된 v2 픽처를 예측하기 위한 정보만을 포함할 수도 있다. 따라서, 실시예들에 따른 디코더 포스트-프로세싱부는 예측된 스파스 뷰 픽처(s2)를 생성하기 위한 스파스 뷰 리제너레이션부를 포함할 수 있다.
스파스 뷰 픽처(s2)가 재생성(또는 예측)된 경우, 재생성된 v2 픽처는 센터 뷰 픽처(c0) 및/또는 예측된 스파스 뷰 픽처(s2)에 의해 생성될 수 있다. 따라서, 도 37에서 도시된 바와 같이, 스파스 뷰 재생성부는 재생성된 v2 픽처를 재생성하기 위한 뷰 리제너레이션부에 앞서 수행될 수 있다.
sparse_view_regeneration_type equal이 3인 경우, 스파스 뷰 재생성 동작은 도 37에 따라 수행될 수 있다. 도 37에 따른 레퍼런스 스파스 뷰(reference sparse view, s1)는 reference_sparse_view_id에 의해 나타내어질 수 있다. 여기서, 실시예들에 따른 스파스 뷰 재생성 동작을 수행하기 앞서, 임시 재생성된 뷰(v1)을 생성할 수 있다. 임시 재생성된 뷰는 레퍼런스 뷰로 호칭할 수도 있다. 도 37에 따른 스파스 뷰(s2)를 예측(prediction)하는 경우, 레퍼런스 스파스 뷰의 위치(location), 회전(rotation), 커버리지(coverage)와 타겟 뷰의 위치(location), 회전(rotation), 커버리지(coverage)를 이용하여 뷰들 간의 디스페리티(disparity)를 계산할 수 있다. 여기서, 레퍼런스 스파스 뷰의 위치(location), 회전(rotation), 커버리지(coverage)와 타겟 뷰의 위치(location), 회전(rotation), 커버리지(coverage)는 reference_sparse_view_id, target_view_id 각각에 대응하는 뷰 포지션 디스크립터 정보(즉, view_position_descriptor())에 의해 나타내어질 수 있다.
실시예들에 따르면, 디코더 또는 수신기는 뷰 재생, 희소 뷰 재생 및/또는 뷰 재생을 수행한다.
뷰 재생 (37000) (또는 뷰 재생기)은 중심 뷰 (c0) 및 희소 뷰 (s1)에 기초하여 시간적으로 생성된 뷰 (v1)를 생성한다. 실시 예들에 따르면, 시간적으로 생성된 뷰는 실시 예들에 따라 시간적으로 스파 스 뷰 재생을 위해 사용되는 뷰 픽쳐이다.
희소 뷰 재생 (37001) (또는 희소 뷰 재생기)은 시간적으로 생성된 뷰 (v1)에 기초하여 추정된 희소 뷰 (s2)를 생성한다. 실시 예들에 따르면, 수신된 스파스 뷰 (s2)를 사용하는 대신에, 중심 추정 (c0), 스파스 뷰 (s1), 시간적으로 생성된 뷰 (v1)를 재생함으로써 (추정된) 스파스 뷰 (s2)가 생성된다.
뷰 재생 (37002) (또는 뷰 재생기)은 중심 뷰 (c0) 및 추정 스파스 뷰 (s2)에 기초하여 재생 뷰 (v2)를 생성합니다. 재생 뷰 (v2)는 중심 뷰 (c0)와 희소 뷰 (s1)를 사용하여 생성된다.
실시예들에 따른 비디오 수신 방법은 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 단계; 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 단계, 언패킹된 비트스트림은 시그널링 정보를 포함함; 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 단계; 및, 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 단계; 를 포함할 수 있다.
또한 실시예들에 따른 비디오 수신 방법은, 언패킹된 픽처들 내에 포함된 레퍼런스 뷰 픽처(reference view picture)들 및 센터 뷰 제너레이션 정보에 기초하여 센터 뷰 픽처(center view picture)를 생성하는 단계를 포함할 수 있고, 뷰 재생성하는 단계는 레퍼런스 뷰 픽처들, 언패킹된 픽처들 내의 스파스 뷰 픽처(sparse view picture)들, 센터 뷰 픽처, 레퍼런스 뷰 정보 및 리제너레이션 정보에 기초하여 재생성된 뷰(regenerated view)를 생성할 수 있다. 또한, 뷰 합성하는 단계는 재생성된 뷰, 센터 뷰 픽처, 레퍼런스 뷰 픽처들, 프리-제너레이션 정보 및 뷰 합성 레코멘데이션 정보에 기초하여 합성된 뷰를 생성할 수 있다.
또한 실시예들에 따른 뷰 재생성하는 단계는, 제 2 모드로서 센터 뷰 픽처 및 스파스 뷰 픽처들 내에 포함된 제 1 뷰잉 포지션과 관련된 제 1 스파스 뷰에 기초하여, 제 1 뷰잉 포지션과 관련된 임의 생성 뷰(temporally generated view)를 생성하는 단계, 임의 생성 뷰로부터 제 2 뷰잉 포지션과 관련된 제 2 스파스 뷰 픽처를 추정하는 단계 및 추정된 제 2 스파스 뷰 픽처 및 센터 뷰 픽처에 기초하여 제 2 뷰잉 포지션과 관련된 재생성된 뷰를 생성하는 단계를 포함할 수 있다. 여기서, 스파스 뷰 픽처들 내에 프루닝된 스파스 뷰(pruned sparse view) 픽처를 포함하는 경우, 추정하는 단계는 프루닝된 스파스 뷰 픽처에 기초하여 제 2 스파스 뷰 픽처를 추정할 수 있다.
이러한 실시예들에 따른 스파스 뷰 프루닝부 및 레지듀얼 디텍션부는, 불필요하거나 중복되는 정보들을 더 제거하여 실시예들에 따른 전송 장치의 데이터 송신 효율을 높일 수 있다.
또한 실시예들에 따른 수신 장치는 적은 양의 데이터로 사용자들에게 필요한 뷰들을 효율적이고 정확하게 제공할 수 있다. 이러한 실시예들에 따른 구성은 전송 장치 및 수신 장치의 연산량 부담을 줄일 수 있다.
도 38은 실시예들에 따른 뷰 리제너레이션 및/또는 스파스 뷰 리제너레이션을 이용한 실시예들에 따른 디코더 포스트-프로세싱 스킴(decoder post processing scheme)을 나타낸 것이다.
sparse_view_regeneration_type equal이 4인 경우, 스파스 뷰 재생성 동작은 도 38에 따라 수행될 수 있다. 이 경우, 프루닝된 스파스 뷰 픽처가 디코딩된 및/또는 언패킹된 픽처들에 포함되지 않을 수 있다.
도 38에 따른 레퍼런스 스파스 뷰(reference sparse view, s1)는 reference_sparse_view_id에 의해 나타내어질 수 있다. 실시예들에 따른 디코더 포스트-프로세싱부가 레퍼런스 뷰를 재생성한 경우, 타겟 뷰가 뷰 합성부의 동작에 의해 재생성될 수 있다. 여기서 뷰 합성을 수행하는 경우, 레퍼런스 뷰(즉, 재생성된 v1 픽처)의 위치(location), 회전(rotation), 커버리지(coverage)와 타겟 뷰의 위치(location), 회전(rotation), 커버리지(coverage)를 이용하여 뷰들 간의 디스페리티(disparity)를 계산할 수 있다. 여기서, 레퍼런스 스파스 뷰의 위치(location), 회전(rotation), 커버리지(coverage)와 타겟 뷰의 위치(location), 회전(rotation), 커버리지(coverage)는 reference_sparse_view_id, target_view_id 각각에 대응하는 뷰 포지션 디스크립터 정보(즉, view_position_descriptor())에 의해 나타내어질 수 있다.
실시예들에 따르면, 디코더는 뷰 재생 및/또는 뷰 합성을 수행한다.
뷰 재생 (38000) (또는 뷰 재생기)은 중심 뷰 (c0) 및 희소 뷰 (s1)에 기초하여 재생 뷰 (v1)를 생성한다.
뷰 합성 (38001) (또는 뷰 합성기)은 중심 뷰 (c0) 및 재생 뷰 (v1)에 기초하여 재생 뷰 (v2)를 합성한다. 실시예들에 따르면, 뷰 합성은 새로운 시점 또는 목표 시점에 대한 시점을 생성한다.
실시예들에 따른 비디오 수신 방법은 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 단계; 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 단계, 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 단계 및, 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 단계를 포함할 수 있다. 여기서, 언패킹된 비트스트림은 시그널링 정보를 포함할 수 있다.
또한 실시예들에 따른 비디오 수신 방법은, 언패킹된 픽처들 내에 포함된 레퍼런스 뷰 픽처(reference view picture)들 및 센터 뷰 제너레이션 정보에 기초하여 센터 뷰 픽처(center view picture)를 생성하는 단계를 포함할 수 있고, 뷰 재생성하는 단계는 레퍼런스 뷰 픽처들, 언패킹된 픽처들 내의 스파스 뷰 픽처(sparse view picture)들, 센터 뷰 픽처, 레퍼런스 뷰 정보 및 리제너레이션 정보에 기초하여 재생성된 뷰(regenerated view)를 생성할 수 있다. 또한, 뷰 합성하는 단계는 재생성된 뷰, 센터 뷰 픽처, 레퍼런스 뷰 픽처들, 프리-제너레이션 정보 및 뷰 합성 레코멘데이션 정보에 기초하여 합성된 뷰를 생성할 수 있다.
이러한 구성으로 인해, 실시예들에 따른 수신 장치는 타겟 뷰를 효율적으로 합성할 수 있다. 이러한 실시예들에 따른 스파스 뷰 프루닝부 및 레지듀얼 디텍션부는, 불필요하거나 중복되는 정보들을 더 제거하여 실시예들에 따른 전송 장치의 데이터 송신 효율을 높일 수 있다.
또한 실시예들에 따른 수신 장치는 적은 양의 데이터로 사용자들에게 필요한 뷰들을 효율적이고 정확하게 제공할 수 있다. 이러한 실시예들에 따른 구성은 전송 장치 및 수신 장치의 연산량 부담을 줄일 수 있다.
도 39는 실시예들에 따른 스파스 뷰 리제너레이션 정보 SEI 메시지(sparse view regeneration information SEI message)의 신텍스를 나타낸다.
본 도면의 구성, 동작 및 다른 특징은 첨부 도면을 참조하여 설명된 본 도면의 실시 예에 의해 이해된다. 본 도면에서는
다음으로, 시점의 상이한 시청 위치를 나타내는 다수의 구형 이미지의 효율적인 전달을 지원하기위한 다수의 방법론이 제공된다. 이하 도 39에서 나타난 파라미터들은 뷰 리제너레이션 정보 SEI 메시지 또는 멀티 뷰 패킹 및 뷰 재생 정보 SEI 메시지에 포함될 수 있다.
실시예들에 따른 스파스 뷰 리제너레이션 정보 SEI 메시지는 실시예들에 따른 스파스 뷰 픽처의 재생성을 수행하는 것에 관한 정보를 나타낸다.
sparse_view_regeneration_info_id 는 스파스 뷰 리제너레이션의 목적을 나타내기 위한 식별자 숫자 정보를 포함(contains an identifying number that may be used to identify the purpose of sparse view regeneration)할 수 있다. sparse_view_regeneration_info_id의 값은 이 SEI 메시지의 다른 사용 사례를 나타내거나, 다른 수신기 기능을 지원하거나, 다른 스파스 뷰 픽처의 재생 방법을 나타내거나, 또는 뷰의 재생성하기 앞서 스파스 뷰 픽처를 재생하는 동작을 필요로하는 다른 뷰들에 대한 위치(텍스처 및 뎁스 등)를 나타내는 데 사용될 수있다.
하나 이상의 스파스 뷰 리제너레이션 인포메이션 SEI 메시지가 뷰 리제너레이션 인포 아이디(sparse_view_regeneration_info_id)의 같은 값과 함게 존재하는 경우, 이 뷰 리제너레이션 인포메이션 SEI 메시지의 컨텐츠는 같다. 스파스 뷰 리제너레이션 인포메이션 SEI 메시지가 존재하는 경우, 이때 스파스 뷰 리제너레이션 인포 아이디(sparse_view_regeneration_info_id)의 하나 이상의 값을 갖을 때 이 정보는 스파스 뷰 리제너레이션 인포 아이디의 다른 값들에 의해 나타내지는 정보임을 나타낸다. 또한, 다른 목적들, 다른 컴포넌트들, 예를 들어 텍스쳐, 뎁스 등을 위해서 제공되거나 또는 코렉션의 연속인 대안정보이다. 스파스 뷰 리제너레이션 인포 아이디의 값의 범위는 0부터 2의12승 마이너스 1 (포함)일 수 있다 (When more than one sparse view regeneration information SEI message is present with the same value of sparse_view_regeneration_info_id, the content of these sparse view regeneration information SEI messages may be the same. When sparse view regeneration information SEI messages are present that have more than one value of sparse_view_regeneration_info_id, this may indicate that the information indicated by the different values of sparse_view_regeneration_info_id are alternatives that are provided for different purposes, for different component (such as texture, depth, etc) or that a cascading of correction. The value of sparse_view_regeneration_info_id may be in the range of 0 to 2 12 - 1, inclusive.)
sparse_view_regeneration_info_cancel_flag 이 1의 값인 경우 스파스 뷰 리제너레이션 인포메이션 SEI 메시지가 커런트 레이어에 적용하는 아웃풋 오더 내 이전 스파스 뷰 리제너레이션 인포메이션 SEI 메시지의 퍼시스턴스를 캔슬하는 것을 나타낸다. 이 값이 0을 갖는 경우 텍스쳐 뎁스 리제너레이션 인포메이션이 팔로우함을 나타낸다.(equal to 1 indicates that the sparse view regeneration information SEI message cancels the persistence of any previous sparse view regeneration information SEI message in output order that applies to the current layer. sparse_view_regeneration_info_cancel_flag equal to 0 indicates that sparse view regeneration information follows.)
sparse_view_regeneration_info_persistence_flag 는 커런트 레이어를 위한 스파스 뷰 리제너레이션 인포메이션 SEI 메시지의 퍼시스턴스를 설명한다(specifies the persistence of the sparse view regeneration information SEI message for the current layer).
sparse_view_regeneration_info_persistence_flag가 0이면, 스파스 뷰 리제너레이션 인포메이션이 커런트 디코딩된 픽쳐에만 적용됨을 나타낸다. (sparse_view_regeneration_info_persistence_flag equal to 0 specifies that the sparse view regeneration information applies to the current decoded picture only.)
픽쳐A가 커런트 픽쳐인 경우를 예로 설명하면 다음과 같다. 스파스 뷰 리제너레이션 인포 퍼시스턴스 플래그가 1이면, 스파스 뷰 리제너레이션 인포메이션 SEI 메시지는 다음 컨디션들이 트루가 될때까지 아웃풋 오더로 커런트 레이어를 위해 계속된다.
- 커런트 레이어의 뉴 CLVS가 시작
- 비트스트림이 끝
- 커런트 레이어에 적용 가능한 스파스 뷰 리제너레이션 인포메이션 SEI 메시지를 포함하는 어세스 유닛의 커런트 레이어 내 픽쳐B가 출력되는데 PicOrderCnt( picB )가 PicOrderCnt( picA )보다 큰 경우. 여기서 PicOrderCnt( picB ) 및 PicOrderCnt( picA )는 각각 픽쳐A 및 픽쳐B의 PicOrderCntVal 값들이고, 픽쳐B의 픽쳐 오더 카운트를 위한 디코딩 프로세스의 인포케이션 이후 바로이다 (Let picA be the current picture. sparse_view_regeneration_info_persistence_flag to 1 specifies that the sparse view regeneration information SEI message persists for the current layer in output order until any of the following conditions are true:
A new CLVS of the current layer begins.
The bitstream ends.
A picture picB in the current layer in an access unit containing a sparse view regeneration information SEI message that is applicable to the current layer is output for which PicOrderCnt( picB ) is greater than PicOrderCnt( picA ), where PicOrderCnt( picB ) and PicOrderCnt( picA ) are the PicOrderCntVal values of picB and picA, respectively, immediately after the invocation of the decoding process for the picture order count of picB.)
num_sparse_view_minus1 는 이 SEI 메시지에서 스파스 뷰 리제너레이션(sparse view regeneration) 동작에 의해 컴포넌트를 생성하는 경우, 해당 스파스 뷰 리제너레이션이 수행되는 뷰들의 개수(도는 뷰들의 개수에 1을 뺀 값)를 나타낸다. (num_sparse_view_minus1 plus 1 specifies the number of views that needs sparse view regeneration process to generate the component of the viewing position by this SEI message.)
target_view_id 는 스파스 뷰 리제너레이션 동작(sparse view regeneration process)의 헤드 포지션 또는 뷰잉 포지션의 개수를 나타내는 시그널링 정보이다. 같은 SEI 메시지 또는 다른 SEI 메시지에서 설명되는 3DoF+의 뷰잉 포지션들의 개수를 식별하는 프리-디파인드된 정보 중의 하나이다. 실시예들에 따르면 target_view_id[i]는 타겟 뷰에 대한 식별 정보를 나타낸다. (target_view_id specifies the i-th identifying number of the viewing position or head position of the sparse view regeneration process. This value may be one of the pre-defined identifying number of a viewing positions of a 3DoF+ video specified in the same or in the other SEI message, such as mrwp_view_id specified in the multiview region-wise packing SEI message, viewing_position_id specified in the viewing position group information SEI message. In accordance with embodiments, target view id [i] represents identifier information for a target view.)
num_components[ i ] i번째 뷰와 관련된 컴포넌트들의 개수를 나타낸다. (specifies the number of the components that are related to the i-th view)
component_id[ i ][ j ] 는 i번째 컴포넌트를 예측(도는 재생성, reconstruct, predict)하기 위해 사용되는 레퍼런스 뷰잉 포지션(reference viewing position) 또는 헤드 포지션(head position)의 실시예들에 따른 j번째 컴포넌트를 식별하는 식별자(숫자)를 나타낸다. (specifies the identifying number of the j-th component of a reference viewing position or head position that is used to estimate (to regenerate, to reconstruct, or to predict) the i-th component). 이 값은 멀티 뷰 리전 별 패킹 SEI 메시지에 지정된 mrwp_component_id와 같이 동일하거나 다른 SEI 메시지에 지정된 3DoF + 비디오의 뷰잉 포지션에 속하는 구성 요소의 사전 정의 된 식별 번호 중 하나일 수 있다.
component_type[ i ][ j ] i번째 컴포넌트의 타입을 나타낸다.
component_type[ i ][ j ] 이 0 인 경우, 컴포넌트의 타입은 미정일 수 있다. (0 indicates the type of the component is unspecified.)
component_type[ i ][ j ] 이 1인 경우, 컴포넌트는 비디오 또는 텍스처 컴포넌트를 의미할 수 있다. (1 indicates the component is a video or texture component.)
component_type[ i ][ j ] 이 2인 경우, 컴포넌트는 뎁스 맵(a depth map)을 나타낼 수 있다.
component_type[ i ][ j ] 이 3인 경우 컴포넌트는 알파 채널을 의미할 수 있다. (3 indicates the component is an alpha channel) 픽셀의 값이 1인 경우, 해당 픽셀 위치에 대응하는 텍스처 픽처의 픽셀 값은 투명이 아닐 수 있다(When the value of a pixel equals to 1, the value in a texture picture at the corresponding pixel location is not transparent). 픽셀의 값이 0인 경우, 해당 픽셀은 투명일 수 있다(transparent).
component_type[ i ][ j ] 이 4인 경우 컴포넌트는 유용성 표시를위한 인디케이션 맵을 의미할 수 있다 (4 indicates the component is an indication map for usability indication). 픽셀의 값이 0인 경우, 해당 픽셀 위치에 대응하는 텍스처 픽처의 픽셀 값은 오클루전 인헨스먼트(occlusion enhancement) 동작을 위한 대상이 되는 픽셀일 수 있다. 픽셀의 값이 0인 경우, 해당 픽셀은 오클루전 인헨스먼트 동작이 수행되지 않는 픽셀일 수 있다.
component_type[ i ][ j ] 이 5인 경우 컴포넌트는 오버레이를 의미할 수 있다 (5 indicates the component is a overlay)
component_type[ i ][ j ] 이 6에서 15인 경우, 추후 사용을 위해 남겨둔 것일 수 있다.
따라서 실시예들에 따르면, 컴포넌트 타입 정보는 텍스처(texture), 뎁스(depth), 알파 채널(alpha channel), 오버레이(overlay) 등을 나타낼 수 있다.
pruned_sparse_view_present_flag[ i ][ j ] 가 1인 경우, i번째 뷰잉 포지션의 j번째 컴포넌트에 대한 프루닝된 스파스 뷰가 존재함을 나타낸다. (equal to 1 specifies the pruned_sparse_view is present for the j-th component of the i-th viewing position). pruned_sparse_view_present_flag[ i ][ j ] 가 0인 경우, i번째 뷰잉 포지션의 j번째 컴포넌트에 대한 프루닝된 스파스 뷰가 존재하지 않음을 나타낸다. 따라서, 스파스 뷰 리제너레이션 동작은 추가 정보 없이 수행될 수 있다. 예를 들어, 레퍼런스 스파스 뷰를 바로 예측하거나, 스파스 뷰 픽처를 레퍼런스 뷰 픽처를 이용하여 바로 예측하는 것이 있을 수 있다. (specifies the pruned_sparse_view is not present for the j-th component of the i-th viewing position so sparse view regeneration process may be processed without additional information, e.g., prediction of reference sparse view or directly predict the sparse view from the reference views.)
reference_sparse_view_present_flag[ i ][ j ] 이 1인 경우, i번째 뷰잉 포지션의 j번째 컴포넌트에 대한 레퍼런스 스파스 뷰가 존재함을 나타낸다. (specifies the reference sparse view is present for the j-th component of the i-th viewing position.) 반면, reference_sparse_view_present_flag[ i ][ j ] 가 0인 경우, 레퍼런스 스파스 뷰가 i번째 뷰잉 포지션의 j번째 컴포넌트에 대한 레퍼런스 스파스 뷰가 존재하지 않음을 나타낸다. (the reference sparse view is not present for the j-th component of the i-th viewing position)
sparse_view_regeneration_type[ i ][ j ] 는 i번째 뷰잉 포지션의 j번재 컴포넌트에 대한 추천되는 스파스 뷰 리제너레이션 동작을 나타낸다. (specifies the indicator of the recommended sparse view regeneration process for the j-th component of the i-th viewing position.)
sparse_view_regeneration_type[ i ][ j ] 이 0인 경우, 스파스 뷰 리제너레이션이 미정임을 나타낸다. (0 indicates the type of the recommended sparse view regeneration is unspecified.)
sparse_view_regeneration_type[ i ][ j ] 이 1인 경우, 스파스 뷰 리제너레이션 스킴 1이 추천(사용)된다. 본 명세서에서 스파스 뷰 리제너레이션 스킴 1은 실시예들에 따른 레퍼런스 스파스 뷰 픽처 및/또는 프루닝된 스파스 뷰 픽처를 이용하여 i번째 뷰잉 포지션에 대한 j번째 컴포넌트에 대한 스파스 뷰 픽처를 생성하는 것을 의미한다. (equal to 1 indicates that the sparse view regeneration scheme 1 is recommended. In this document, type 1 could be a scheme that uses both reference sparse view and pruned sparse view to regenerate the sparse view of the j-th component of the i-th viewing position.) 구체적인 동작은 도 55에서 설명한다.
sparse_view_regeneration_type[ i ][ j ] 이 2 경우, 스파스 뷰 리제너레이션 스킴 2이 추천(사용)된다. 본 명세서에서 스파스 뷰 리제너레이션 스킴 2는 프루닝된 스파스 뷰 픽처(pruned sparse view) 없이 실시예들에 따른 레퍼런스 스파스 뷰(reference sparse view picture) 픽처만을 이용하여 i번째 뷰잉 포지션에 대한 j번째 컴포넌트에 대한 스파스 뷰 픽처를 생성하는 것을 의미한다. (equal to 2 indicates that the sparse view regeneration scheme 2 is recommended. In this document, type 2 could be the scheme that predicts the sparse view from the reference sparse view without pruned sparse view of the j-th component of the i-th viewing position.)구체적인 동작은 도 57에서 설명한다.
sparse_view_regeneration_type[ i ][ j ] 이 3 경우, 스파스 뷰 리제너레이션 스킴 3이 추천(사용)된다. 본 명세서에서 스파스 뷰 리제너레이션 스킴 3은 실시예들에 따른 프루닝된 스파스 뷰(pruned sparse view) 픽처 없이 임시 재생성된 뷰 픽처를 이용하여 스파스 뷰 픽처를 생성(예측)하는 것을 의미한다. 프루닝된 스파스 뷰 픽처 없이 실시예들에 따른 레퍼런스 스파스 뷰 픽처만을 이용하여 i번째 뷰잉 포지션에 대한 j번째 컴포넌트에 대한 스파스 뷰 픽처를 생성하는 것을 의미한다. (equal to 3 indicates that the sparse view regeneration scheme 3 is recommended. In this document, type 3 could be the scheme that predicts the sparse view from the regenerated view without pruned sparse view of the j-th component of the i-th viewing position.) 구체적인 동작은 도 58에서 설명한다.
sparse_view_regeneration_type[ i ][ j ] 이 4인 경우, 스파스 뷰 리제너레이션 스킴 3이 추천(사용)된다. 본 명세서에서 스파스 뷰 리제너레이션 스킴 4는 인접하는 재생성된 뷰를 이용하여 다른 재생성된 뷰를 예측(predict)하는 것을 의미한다. (equal to 4 indicates that the sparse view regeneration scheme 4 is recommended. In this document, type 4 could be the scheme that predicts the regenerated view with the adjacent regenerated view. 구체적인 동작은 도 59에서 설명한다.
다른 sparse_view_regeneration_type[ i ][ j ]의 값은 추후의 사용을 위해 남겨둔 값일 수 있다. (Other valuse of sparse_view_regeneration_type[ i ][ j ] are reserved for future use cases.)
pruned_sparse_view_id[ i ][ j ] and reference_sparse_view_id[ i ][ j ] 는 각각 프루닝된 스파스 뷰(pruned sparse view) 픽처 및 레퍼런스 스파스 뷰(reference sparse view) 픽처를 식별하는 식별자(숫자)를 나타낸다. 구체적으로, 각각 i번째 뷰잉 포지션(viewing position, 또는 헤드 포지션)의 j번째 컴포넌트의 스파스 뷰 재생성과 관련된 프루닝된 스파스 뷰 픽처 및 레퍼런스 뷰 픽처를 나타낼 수 있다. (specifies the identifying number of the pruned sparse view and reference sparse view those are related to the sparse view regeneration of the j-th component of the i-th viewing position or head position.)
pruned_sparse_view_id[ i ][ j ] 및 reference_sparse_view_id[ i ][ j ]의 값은, 동일한 또는 다른 SEI 메시지 내(예를 들어, multiview region-wise packing SEI messag에 있는 mrwp_component_id 또는 viewing position group information SEI message에 있는 picture_id 등) 에서 나타난 3DoF+ 비디오의 뷰잉 포지션들에 속하는 하나의 컴포넌트를 식별하는 기 정의된 숫자 중의 하나일 수 있다.(This value can be one of the pre-defined identifying number of a component that belongs to a viewing positions of a 3DoF+ video specified in the same or in the other SEI message, such as mrwp_component_id specified in the multiview region-wise packing SEI message, or picture_id specified in the viewing position group information SEI message.)
실시예들에 따른 스파스 뷰 리제너레이션에서, 해당 식별자는 실시예들에 따른 수신 장치의 디코더 포스트-프로세싱부에 따라 관리 또는 제어(manage)될 수 있다. 따라서, 실시예들에 따른 수신 장치는 언패킹 동작에 의해 생성된 픽처들과 뷰 리제너레이션(및/또는 뷰 합성 및/또는 뷰포트 렌더러)을 위해 사용되는 픽처들 간의 관계를 제공할 수 있다. (In the other implementation of the sparse view regeneration, the identifier could be managed within the receiver decoder post-processing so that could provide linkage between pictures generated from unpacking process and the pictures used for the view regeneration including sparse view regeneration or view synthesis and viewport renderer.)
레퍼런스 스파스 뷰와 관련하여, 뷰잉 포지션은 현재 및 레퍼런스 뷰잉 포지션들 간의 디스페리티(disparity 또는 시차)를 제공하기 위해 사용될 수 있다. (In case of reference sparse view, the view position could be provided to use the disparity between the current and the reference viewing positions.)
스파스 뷰 리제너레이션 동작에 대하여, 현재 뷰잉포지션 및/또는 다른 뷰잉 포지션의 텍스처 및/또는 뎁스의 식별자가, 다른 컴포넌트 타입 내의 정보로 활용하기 위해 제공될 수 있다.(For the sparse view regeneration process, the identifier of texture and/or depth of the current and/or other viewing position could be provided to utilize the information in the other component type.)
i번째 뷰잉 포지션의 j번째 컴포넌트 각각에 대하여, 실시예들에 따른 스파스 리제너레이션 동작 내에서 사용될 수 있는 상세한 파라미터 값들(예를 들어, 각각의 패치(patch)들의 위치에 관한 정보, 픽처들/패치들, 웨이팅 함수(weighting function)들 등 간의 전체/로컬 디스페리티 값들)이 사용될 수 있다. (In each of the j-th component of the i-th viewing position, detailed parameter values which could be used in the sparse view regeneration process, such as location of each patches, global/local disparity values between pictures/patches, wieghting functions, etc, could be provided.)
viewing_position_id 는 뷰잉 포지션에 대한 식별자를 나타낸다. 본 파라미터는 뷰잉 포지션(viewing position), 오리엔테이션(orientation), 커버리지(coverage)에 의해 기술될 수 있다. 본 파라미터는 viewing_position_x, viewing_position_y, and viewing_position_z, viewing_orientation_yaw, viewing_orientation_pitch, viewing_orientation_roll, coverage_horizontal coverage_vertical, 각각의 파라미터에 의해 기술될 수 있다. (viewing_position_id indicate the identifier of a viewing position that is described by the viewing position, orientation and coverage, specified by viewing_position_x, viewing_position_y, and viewing_position_z, viewing_orientation_yaw, viewing_orientation_pitch, and viewing_orientation_roll, and coverage_horizontal and coverage_vertical, respectively.) viewing_position_id 은 다른 뷰잉 포지션과의 차이를 구별하기 위해 기술되는 파라미터일 수 있다. (The parameters or features which describe the viewing position could be added to differentiate different viewing positions.)
viewing_position_x, viewing_position_y, viewing_position_z 는 각각 2의 -16승 밀리미터(millimeters) 단위로써, 디코딩된 픽처의 뷰잉 포지션의 (x, y, z) 위치를 나타내기 위한 정보일 수 있다. viewing_position_x, viewing_position_y 및 viewing_position_z의 범위는 -32768*2^16 - 1 (i.e., -2147483647) 이상 32768 * 2^16 (i.e., 2147483648) 이하를 포함할 수 있다. (indicate the (x,y,z) location of viewing position corresponding to the decoded picture in the units of 2 -16 millimeters, respectively The range of viewing_position_x, viewing_position_y and viewing_position_z may be in the range of -32768 * 2 16 - 1 (i.e., -2147483647) to 32768 * 2 16 (i.e., 2147483648), inclusive.)
viewing_position_x, viewing_position_y and viewing_position_z의 값은 XYZ 좌표로 절대 위치로 표현될 수도 있고, 또는 앵커 위치(중심 위치)로부터 상대 위치로 표현될 수도 있다.(The value of viewing_position_x, viewing_position_y and viewing_position_z could be reprsented by absolute position in the XYZ coordinate or relateive position corresponding to the anchor location.)
viewing_orientation_yaw, viewing_orientation_pitch, and viewing_orientation_roll 는 2^-16 도(degree) 단위로 요(yaw), 피치(pitch), 롤(roll) 오리엔테이션(orientation) 각도를 의미할 수 있다. viewing_orientation_yaw의 값은 -180 * 2^16 (i.e., -11796480)이상 180 * 2^16 (i.e., 11796480)이하의 범위를 포함할 수 있다. viewing_orientation_pitch의 값은 -90 * 2^16 (i.e., -5898240)이상 90 * 2^16 (i.e., 5898240)이하의 범위를 포함할 수 있다. viewing_orientation_roll의 값은 -180 * 2^16 (i.e., -11796480)이상 180 * 2^16 (i.e., 11796480)이하의 범위를 포함할 수 있다. (indicate the yaw, pitch, and roll orientation angles in units of 2 -16 degrees, repectively. The value of viewing_orientation_yaw may be in the range of -180 * 2 16 (i.e., -11796480) to 180 * 2 16 - 1 (i.e., 11796479), inclusive, the value of viewing_orientation_pitch may be in the range of -90 * 2 16 (i.e., -5898240) to 90 * 2 16 (i.e., 5898240), inclusive, and the value of viewing_orientation_roll may be in the range of -180 * 2 16 (i.e., -11796480) to 180 * 2 16 - 1 (i.e., 11796479), inclusive.)
실시예들에 따라, viewing_orientation_yaw, viewing_orientation_pitch, and viewing_orientation_roll는 각각 아지무스(azimuth), 엘리베이션(elevation) 및 틸트(tilt)로 사용될 수도 있다. (Depending on the applications, viewing_orientation_yaw, viewing_orientation_pitch, and viewing_orientation_roll could be used to indicate azimuth, elevation, and tilt, respectively.)
coverage_horizontalcoverage_vertical 은 뷰잉 포지션(viewing position)의 커버리지의 수평 범위(horizontal ranges) 및 수직 범위(vertical ragnes)를 나타낸다. 각각의 범위의 단위는 2의 -16승 도(degree)이다. (specifies the horizontal and vertical ranges of the coverage of the viewing position corresponding to the decoded picture, in units of 2 -16 degrees, respectively.)
실시예들에 따른 비디오 전송 장치 및 비디오 수신 장치는 뷰잉 포지션들에 대한 텍스처 및 깊이 픽처들을 리제너레이트하기 위해 시그널링 정보 및/또는 메타 데이터로 지칭 될 수 있는 스파스 뷰 리제너레이션 정보를 사용(전송/수신)할 수 있다.
실시예들에 따른 시그널링 정보 (스파스 뷰 리젠너레이션 정보)는 도32에 보다 구체적으로 설명 된 스파스 뷰 프루닝의 프로세스에서 생성 될 수 있다. 실시예들에 따른 시그널링 정보 (스파스 뷰 리제너레이션 정보)는 도 33에 보다 구체적으로 설명되는 스파스 뷰 리제너레이션의 프로세스에서 사용될 수있다
실시예들에 따르면, 시그널링 정보 (스파스 뷰 리제너레이션 정보)가 도 30 내지 42에 사용된다.
실시예들에 따른 비디오 전송 장치가 전송하는(또는 실시예들에 따른 비디오 수신 장치가 수신하는), 시그널링 정보는 뷰잉 포지션 그룹 정보(viewing position group information)를 포함하고, 뷰잉 포지션 그룹 정보는 센터 뷰 제너레이션 정보(center view generation information), 프리-제너레이션 정보(pre-generation information), 뷰 합성 레코멘데이션 정보(view synthesis recommendation information), 레퍼런스 뷰 정보(reference view information) 및 리제너레이션 정보(regeneration information)를 포함할 수 있다.
이러한 구성으로 인해, 실시예들에 따른 비디오 전송 장치는 뷰포인트의 다른 뷰잉 포지션들을 나타내는 복수의 멀티 스피리컬 이미지들을 효율적으로 제공할 수 있다.
도 40은 실시예들에 따른 뷰잉 포지션 그룹 정보 SEI 메시지(Viewing position group information SEI message)의 신텍스(syntax)를 나타낸다.
다시 말해, 도 31에서 설명하는 실시예들에 따른 Viewing position group information SEI message syntax는 실시예들에 따른 비디오 송신 방법 및 실시예들에 따른 비디오 수신 방법의 동작에 대한 시그널링 정보의 신텍스의 실시예를 나타낸 것이다. 즉, 실시예들에 따른 비디오 송신 방법 및 실시예들에 따른 비디오 수신 방법(또는 장치)는 도 31에 나타난 실시예들에 따른 Viewing position group information SEI message syntax 내의 시그널링 정보 및 파라미터들의 전부 또는 일부를 전송하거나 수신할 수 있다.
실시예들에 따른 Viewing position group information SEI message syntax 또는 그 중 일부는 송신단에서 실시예들에 따른 인코더에 의해 인코딩된 비트스트림 내에 포함될 수도 있고, 실시예들에 따른 인코더 이외의 블록 또는 모듈로부터 전송되는 정보를 의미할 수도 있다. 반대로, Viewing position group information SEI message syntax 또는 그 내에 포함된 일부 파라미터 또는 파라미터의 그룹들은 수신단에서 수신되는 비트스트림 내에 포함될 수도 있고, 별도의 경로를 통해 수신될 수도 있다.
구체적으로 말하면, 도 31에 나타난 Viewing position group information SEI message syntax 내의 시그널링 정보 및 파라미터들은 인코더 단(송신단)의 실시예들에 따른 인코더에 의해 모두 인코딩되어 전송될 수도 있고, 그 중 일부만 인코더에 의해 인코딩되어 전송될 수도 있다.
따라서, 실시예들에 따른 Viewing position group information SEI message syntax는 도 24 내지 도 40에서 설명하는 시그널링 정보들의 전부 또는 일부를 포함할 수 있다. 예를 들어, 도 25에서 실시예들에 따른 패킹 메타데이터(packing metadata), 리컨스트럭션 파라미터(reconstruction parameter)는 Viewing position group information SEI message syntax의 일부에 포함될 수도 있고, 반대로 Viewing position group information SEI message syntax은 패킹 메타데이터(packing metadata), 리컨스트럭션 파라미터(reconstruction parameter) 중 일부만 포함할 수도 있다.
마찬가지로, 실시예들에 따른 센터 뷰 제너레이션 정보(center view generation information), 레퍼런스 뷰 정보(reference view information), 리제너레이션 정보(regeneration information), 프리-제너레이션 정보(pre-generation information) 및/또는 뷰 신테시스 레코멘데이션 정보(view synthesis recommandation information)는 Viewing position group information SEI message syntax의 일부에 포함될 수도 있고, 그 반대로 Viewing position group information SEI message syntax은 상술한 관련 시그널링 정보의 일부만 포함할 수도 있다. 마찬가지로 도 28에서 실시예들에 따른 시그널링 정보들도 Viewing position group information SEI message syntax의 일부에 포함되거나, 그 반대일 수도 있다.
이하에서는 실시예들에 따른 시그널링 정보의 실시예로, Viewing position group information SEI message syntax를 설명한다.
뷰잉 포지션 그룹 인포메이션 SEI 메시지(Viewing position group information SEI message)는 3D 가상 공간 및 프리-디코딩 프로세스 내에서 뷰잉 포지션 그룹(viewing position group)의 정보 및 뷰잉 포지션 그룹 간의 관계(relationship between them)를 제공한다. 예를 들면, 뷰잉 포지션 그룹 인포메이션 SEI 메시지는 뷰잉 포지션에 대하여 리제너레이션 프로세스(regeneration process)에서 픽처들을 복구(restore)하기 위한 정보를 제공할 수 있다. (The Viewing position group information SEI message provides information of the a viewing position group and the relationship between them in the 3D virtual space and post-decoding process (e.g., regeneration process to restore pictures of intended viewing positions) corresponding to a viewpoint (or center/anchor viewing position))
viewing_position_group_info_id 는 뷰잉 포지션 인포메이션의 목적을 식별하는 식별번호를 포함한다. viewing_position_info_id 의 값은 다른 리시버 캐퍼빌리티를 서포트하기 위해서, 또는 다른 포인트 또는 이 SEI 메시지에 포함된 정보의 다른 레벨을 인디케이팅하기 위해서 등 이 SEI 메시지의 다른 유즈 케이스를 나타내는데 사용될 수 있다.
하나 이상의 뷰잉 포지션 정보 SEI 메시지가 뷰잉포지션 그룹 인포 아이디(viewing_posidion_group_info_id)의 같은 값과 함게 존재하는 경우, 이 뷰 리제너레이션 인포메이션 SEI 메시지의 컨텐츠는 같다. 뷰잉 포지션 정보 SEI 메시지가 존재하는 경우, 이때 뷰잉포지션 그룹 인포 아이디(sparse_view_regeneration_info_id)의 하나 이상의 값을 갖을 때 이 정보는 뷰잉포지션 그룹 인포 아이디의 다른 값들에 의해 나타내지는 정보임을 나타낸다. 또한, 다른 목적들, 다른 컴포넌트들, 예를 들어 텍스쳐, 뎁스 등을 위해서 제공되거나 또는 코렉션의 연속인 대안정보이다. 뷰잉포지션 그룹 인포 아이디의 값의 범위는 0부터 2의12승 마이너스 1 (포함)일 수 있다 (When more than one viewing position information SEI message is present with the same value of viewing_posidion_group_info_id, the content of these viewing position group information SEI messages may be the same. When viewing position group information SEI messages are present that have more than one value of viewing_position_group_info_id, this may indicate that the information indicated by the different values of viewing_posidion_group_info_id are alternatives that are provided for different purposes or that a cascading of correction to be applied in a sequential order (an order might be specified depending on the application). The value of viewing_posidion_group_info_id may be in the range of 0 to 2 12 1, inclusive.)
viewing_position_group_info_cancel_flag 이 1의 값을 가지면, 뷰잉 포지션 그룹 정보 SEI 메시지가 커런트 레이어에 적용되는 아웃풋 오더 내 이전 뷰잉 포지션 그룹 정보 SEI 메시지의 퍼시스턴스를 캔슬하는 것을 나타낸다. viewing_position_group_info_cancel_flag 가 0이면 멀티뷰 리젼-와이즈 패킹 정보가 팔로우함을 나타낸다 (equal to 1 indicates that the viewing position group information SEI message cancels the persistence of any previous viewing position group information SEI message in output order that applies to the current layer. viewing_position_group_info_cancel_flag equal to 0 indicates that viewing position group information follows.)
viewing_position_group_info_persistence_flag 는 커런트 레이어를 위한 뷰잉포지션 정보 SEI 메시지의 퍼시스턴스를 설명한다. (specifies the persistence of the viewing position group information SEI message for the current layer.)
픽쳐A가 커런트 픽쳐인 경우를 예로 설명하면 다음과 같다. viewing_position_group_info_persistence_flag가 1이면, 뷰잉포지션 인포메이션 SEI 메시지는 다음 컨디션들이 트루가 될때까지 아웃풋 오더로 커런트 레이어를 위해 계속된다.
- 커런트 레이어의 뉴 CLVS가 시작
- 비트스트림이 끝
- 커런트 레이어에 적용 가능한 뷰잉 포지션 정보 SEI 메시지를 포함하는 어세스 유닛의 커런트 레이어 내 픽쳐B가 출력되는데 PicOrderCnt( picB )가 PicOrderCnt( picA )보다 큰 경우. 여기서 PicOrderCnt( picB ) 및 PicOrderCnt( picA )는 각각 픽쳐A 및 픽쳐B의 PicOrderCntVal 값들이고, 픽쳐B의 픽쳐 오더 카운트를 위한 디코딩 프로세스의 인포케이션 이후 바로이다.
(viewing_position_group_info_persistence_flag equal to 0 specifies that the viewing position group information applies to the current decoded picture only.
Let picA be the current picture. viewing_position_group_info_persistence_flag to 1 specifies that the viewing position group information SEI message persists for the current layer in output order until any of the following conditions are true:
- A new CLVS of the current layer begins.
- The bitstream ends.
- A picture picB in the current layer in an access unit containing a viewing position group information SEI message that is applicable to the current layer is output for which PicOrderCnt( picB ) is greater than PicOrderCnt( picA ), where PicOrderCnt( picB ) and PicOrderCnt( picA ) are the PicOrderCntVal values of picB and picA, respectively, immediately after the invocation of the decoding process for the picture order count of picB.)
viewpoint_id 는 해당 SEI 메시지가 설명하는 뷰잉 포지션 그룹의 뷰포인트를 나타내는 식별자 정보를 의미할 수 있다. (specifies the identifier that indicates the viewpoint of the viewing position group that is described in this SEI message.) 뷰포인트 아이디(viewpoint_id)는 다른 SEI 메시지에서 기술될 수도 있다. 뷰포인트 아이디는 다른 SEI 메시지에서 정의되어 사용자가 한 위치에서 다른 위치로 전환 할 수 있도록 공간적으로 또는 개념적으로 인접한 서로 관련된 VR / AR 환경 또는 관점의 서브 세트를 구성하는 전체 뷰를 기술할 수 있다. (The viewpoint_id might be defined in the other SEI message to describe the overall viewpoints that consists the overall VR/AR environment or subset of viewpoints those are related to each other with spatially or conceptually adjacent so that user could switch from one position to the other positions.) 다시 말해, viewpoint_id는 뷰포인트 맵(viewpoint map)이 있다는 가정 하에 해당 뷰포인트가 어디에 위치하는지를 나타낼 수 있다.
뷰포인트는 해당 뷰잉 포지션 중 하나를 의미할 수 있다. 예를 들어, 센터 뷰잉 포지션 또는 앵커 뷰잉 포지션이 그것이다. (The viewpoint could be one of the viewing positions, such as center viewing position or anchor viewing position, which could represent the viewing position group.)
실시예들에 따르면, 뷰포인트는 view_point_descriptor()에 의해 지시되는 XYZ 좌표, 시선 방향(viewing orientation, yaw, pitch, roll), 수평 및/또는 수직 커버리지(horizontal and vertical coverage)에 의해 나타내어질 수도 있다. (The details of viewpoint could be described by XYZ position, viewing orientation (yaw, pitch, and roll), and horizontal and vertical coverage described in view_point_descriptor(). In this case, the viewing_position_id could indicate one of the viewing position defined in this SEI message.)
view_point_descriptor는 뷰포인트(viewpoint)의 위치, 뷰잉 포지션의 적용 범위(즉 전체 coverage에 대한 정보) 및 뷰잉 오리엔테이션에 대한 정보(즉, 전체 rotation에 대한 정보)를 나타내는 정보 또는 디스크립터를 의미한다. view_point_descriptor는 후술할 viewing_position_id, viewing_position_x, viewing_position_y, viewing_position_z, viewing_position_yaw, viewing_position_pitch, viewing_position_roll, coverage_horizontal 및/또는 coverage_vertical을 포함할 수 있다. 여기서 out_of_center_ref_view_present_flag는 could signal the numbers if needed.
center_view_present_flag 가 1인 경우, viewpoint_id에 대응하는 뷰포인트에 대한 실시예들에 따른 수신 픽처들은 센터 뷰에 해당하는 센터 뷰잉 포지션(또는 앵커 뷰잉 포지션, 레프리젠터티브 뷰잉 포지션)을 포함하는 것을 의미할 수 있다. (equal to 1 indicate that the video corresponding to the center (or anchor or representative) viewing position is present in the group of videos for this viewpoint corresponding to viewpoint_id.) center_view_present_flag 가 0인 경우, viewpoint_id에 대응하는 뷰포인트에 대한 실시예들에 따른 수신 픽처들은 센터 뷰에 해당하는 센터 뷰잉 포지션(또는 앵커 뷰잉 포지션, 레프리젠터티브 뷰잉 포지션)을 포함하지 않음을 의미할 수 있다. (equal to 0 indicate that the video the corresponding to the center (or anchor or representative) viewing position is not present in the group of videos for this viewpoint corresponding to viewpoint_id.)
center_view_present_flag 은 해당 SEI 메시지 내에서 viewing_position_picture_type 이 0인 뷰잉 포지션이 적어도 하나 존재하는 경우 1로 설정될 수도 있다. (might be set equal to 1 when at least one viewing position whose viewing_position_picture_type[ i ] equal to 0 is present in the current SEI message. )
out_of_center_ref_view_present_flag 이 1인 경우, 센터(또는 앵커 또는 대표되는, representative) 뷰잉 포지션에 대응하지 않는 비디오(또는 픽처)가 해당 viewpoint_id에 대응하는 뷰포인트(viewpoint)에 대한 비디오들의(또는 픽처들의) 그룹 내에 존재함을 의미한다. out_of_center_ref_view_present_flag이 0인 경우, 센터(또는 앵커 또는 대표되는, representative) 뷰잉 포지션에 대응하지 않는 비디오(또는 픽처)가 해당 viewpoint_id에 대응하는 뷰포인트(viewpoint)에 대한 비디오들의(또는 픽처들의) 그룹 내에 존재하지 않음을 의미한다. out_of_center_ref_view_present_flag는 숫자로 시그널링될 수도 있으며, 센터 뷰잉 포지션에 대응하지 않는 비디오(또는 픽처)의 개수를 나타낼 수도 있다.(equal to 1 indicate that the video that are not corresponding to the center (or anchor or representative) viewing position is present in the group of videos for this viewpoint corresponding to viewpoint_id. out_of_center_ref_view_present_flag equal to 0 indicate that the video that are not corresponding to the center (or anchor or representative) viewing position is not present in the group of videos for this viewpoint corresponding to viewpoint_id. Or this could signal the numbers if needed.)
out_of_center_ref_view_present_flag는 viewing_position_picture_type[ i ]가 1인 적어도 하나의 뷰잉 포지션에 대한 픽처가 현재(current) SEI 메시지 내에 존재하는 경우 1로 설정될 수도 있다. (out_of_center_ref_view_present_flag might be set equal to 1 when at least one viewing position whose viewing_position_picture_type[ i ] equal to 1 is present in the current SEI message.)
source_view_with_regeneration_present_flag 가 1인 경우, 의도하는 픽처를 재생성(reconstruct)하기 위해 추가적인 동작(additional processing) (들)이 필요한 뷰잉 포지션이, 현재 viewpoint_id에 대응하는 뷰포인트의 뷰잉 포지션들의 세트 내에 포함되어 있음을 의미할 수 있다. (equal to 1 indicate that viewing position that needs additional processing(s) to reconstruct a intended picture is included in the set of viewing positions of a viewpoint that corresponding to the current viewpoint_id.)
source_view_with_regeneration_present_flag가 0인 경우, 의도하는 픽처를 재생성(reconstruct)하기 위해 추가적인 동작(additional processing) (들)이 필요한 뷰잉 포지션이, 현재 viewpoint_id에 대응하는 뷰포인트의 뷰잉 포지션들의 세트 내에 포함되어 있지 않음을 의미할 수 있다. (source_view_with_regeneration_present_flag equal to 0 indicate that viewing position that needs additional processing(s) to reconstruct a intended picture is not included in the set of viewing positions of a viewpoint that corresponding to the current viewpoint_id.)
source_view_with_regeneration_present_flag는 viewing_position_picture_type[ i ]가 2인 적어도 하나의 뷰잉 포지션에 대한 픽처가 현재(current) SEI 메시지 내에 존재하는 경우 1로 설정될 수도 있다. (source_view_with_regeneration_present_flag might be set equal to 1 when at least one viewing position whose viewing_position_picture_type[ i ] equal to 2 is present in the current SEI message.)
pregenerated_view_present_flag 가 1인 경우, 초기에(originally) 캡처되지 않았으나 인코딩 동작 전에 생성된 뷰잉 포지션(또는 뷰잉포지션에 대한 픽처)가 현재 viewpoint_id에 대응하는 뷰포인트의 뷰잉 포지션들의 세트 내에 포함되어 있음을 의미할 수 있다. pregenerated_view_present_flag 가 0인 경우, 초기에(originally) 캡처되지 않았으나 인코딩 동작 전에 생성된 뷰잉 포지션(또는 뷰잉포지션에 대한 픽처)가 현재 viewpoint_id에 대응하는 뷰포인트의 뷰잉 포지션들의 세트 내에 포함되어 있지 않음을 의미할 수 있다. (equal to 1 indicate that viewing position that are not originally captured but generated before encoding is present in the set of viewing positions of a viewpoint that corresonding to the current viewpoint_id. pregenerated_view_present_flag equal to 0 indicate that viewing position that are not originally captured but generated before encoding is not present in the set of viewing positions of a viewpoint that corresonding to the current viewpoint_id.)
pregenerated_view_present_flag는 viewing_position_picture_type[ i ]가 3인 적어도 하나의 뷰잉 포지션에 대한 픽처가 현재(current) SEI 메시지 내에 존재하는 경우 1로 설정될 수도 있다. (pregenerated_view_present_flag might be set equal to 1 when at least one viewing position whose viewing_position_picture_type[ i ] equal to 3 is present in the current SEI message.)
analyzed_view_synthesis_info_present_flag 이 1인 경우, 중간 뷰 합성(view synthesis of a intermediate view) 또는 중간 뷰 생성(interemediate view generation)의 동작에 사용될 수 있는 추가 정보 또는 추가 정보에 관한 뷰잉 포지션(또는 뷰잉 포지션에 관한 픽처)이 현재 viewpoint_id에 대응하는 뷰포인트의 뷰잉 포지션들의 세트 내에 포함되어 있음을 의미할 수 있다. analyzed_view_synthesis_info_present_flag 이 0인 경우, 중간 뷰 합성(view synthesis of a intermediate view) 또는 중간 뷰 생성(interemediate view generation)의 동작에 사용될 수 있는 추가 정보 또는 추가 정보에 관한 뷰잉 포지션(또는 뷰잉 포지션에 관한 픽처)이 현재 viewpoint_id에 대응하는 뷰포인트의 뷰잉 포지션들의 세트 내에 포함되어 있지 않음을 의미할 수 있다 (equal to 1 indicate that viewing position that additional information that could be used in the view synthesis of a intermediate view or determine the process of the intermediate view generation is present in the set of viewing positions of a viewpoint that corresponding to the current viewpoint_id. analyzed_view_synthesis_info_present_flag equal to 0 indicate that viewing position that additional information that could be used in the view synthesis of a intermediate view or determine the process of the intermediate view generation is not present in the set of viewing positions of a viewpoint that corresponding to the current viewpoint_id.)
analyzed_view_synthesis_info_present_flag 는 viewing_position_picture_type[ i ]가 4인 적어도 하나의 뷰잉 포지션에 대한 픽처가 현재(current) SEI 메시지 내에 존재하는 경우 1로 설정될 수도 있다. (analyzed_view_synthesis_info_present_flag might be set equal to 1 when at least one viewing position whose viewing_position_picture_type[ i ] equal to 4 is present in the current SEI message.)
dynamic_interview_reference_flag 가 1인 경우, 뷰 재생성(reconstruct 또는 regenerate) 동작(또는 뷰잉 포지션의 재생성 동작)이 시간이 변화함에 따라 변경될 수 있음을 나타낸다. dynamic_interview_reference_flag 가 0인 경우, 뷰 재생성(reconstruct 또는 regenerate) 동작(또는 뷰잉 포지션의 재생성 동작)이 시간이 변화함에 따라 변경되지 않음을 나타낸다. 따라서, 레퍼런스 픽처 관계(reference picture relationship)이 전체 비디오 시퀀스 내에서 활용될 수 있음을 나타낸다.(equal to 1 specifies that the reference pictures of the reconstruct/regenerate process of a viewing position could vary when time changes. dynamic_interview_reference_flag equal to 0 indicate that the reference pictures of the reconstruct/regenerate process of a viewing position does not vary when time changes so the reference picture relationship could be utilized in whole video sequences.)
이하에서는 실시예들에 따른 센터 뷰 제너레이션 정보(center view generation information)에 포함될 수 있는 시그널링 정보를 설명한다. 실시예들에 따른 센터 뷰 제너레이션 정보는 alternative_viewing_position_id, alternative_view_distance, rec_center_view_generation_method_type[ i ], viewing_position_id[ i ], center_view_generation_parameter[ i ], num_pictures_for_center_view_generation, rec_center_view_generation_method_type[ i ] 등을 포함할 수 있다. 센터 뷰 제너레이션 정보에 포함된 시그널링 정보의 전부 또는 일부의 존재 여부는 center_view_present_flag에 의해 알 수 있다.
alternative_viewing_position_id 는 대체될 수 있는 센터 레퍼런스 뷰잉 포지션(즉, 센터 뷰 포지션, 앵커 뷰 포지션 등)의 뷰잉 포지션(또는 뷰잉 포지션에 대한 픽처)를 나타내는 식별자를 의미할 수 있다. 해당 파라미터의 값은 해당 SEI 메시지 또는 관련된 SEI 메시지 내의 viewing position_id에 의해 지시될 수 있는 값일 수 있다. (specifies the viewing position that could be used alternative to the center/anchor reference viewing position. The value of alternative_viewing_position_id may be one of the viewing position indicated by viewing_position_id in this SEI message or related SEI message. )
alternative_view_distance 는 alternative_viewing_position_id 에 대응되는 대체될 수 있는 뷰잉 포지션과의 거리를 의미할 수 있다. 예를 들어, alternative_viewing_position_id는 본래의 센터 뷰 픽처에 해당하는 뷰잉 포지션과 대체될 수 있는 뷰잉 포지션과의 거리를 의미할 수 있다. alternative_viewing_position_id는 2^-16 밀리미터 단위로 표현될 수 있다. (specifies the distance of the alternative viewing position corresponding to the alternative_viewing_position_id, in the units of 2 16 millimeters.)
rec_center_view_generation_method_type 은 센터 뷰 픽처(또는 센터 뷰)가 해당 SEI 메시지 내에 존재하지 않는 경우, 센터 뷰를 생성하는 방법을 의미할 수 있다. rec_center_view_generation_method_type이 0인 경우, viewing_position_id에 의해 제공되는 뷰잉 포지션들을 center_view_generation_parameter 에 의해 주어지는 다른 웨이트들(weights)과 함께 뷰를 합성하는 방법(view synthesis method)을 나타낸다. rec_center_view_generation_method_type이 1인 경우, viewing_position_id에 의해 제공되는 뷰잉 포지션들을 center_view_generation_parameter 에 의해 주어지는 다른 웨이트들(weights)과 함께 이미지 스티칭을 수행하는 방법(image stitching method)을 나타낸다. (specifies the method to generate the center view when center view is not present in this SEI message. rec_center_view_generation_method_type equal to 0 represent the view synthesis method that uses given viewing positions by viewing_position_id with different weights given by center_view_generation_parameter. rec_center_view_generation_method_type equal to 1 could represent image stitching method with given viewing positions by viewing_position_id with different weights given by center_view_generation_parameter.)
viewing_position_id 은 센터 뷰 포지션(즉, 센터 뷰 픽처 등)으로 사용하기 위한 뷰잉 포지션을 나타낸다. viewing_position_id 의 값은 해당 SEI 메시지 또는 관련 SEI 메시지에 의해 지시되는 뷰잉 포지션 중 하나를 의미할 수 있다. (indicates the viewing position that is used for the center view position. The value of viewing_position_id may be one of the viewing position indicated by viewing_position_id in this SEI message or related SEI message.)
center_view_generation_parameter 는 센터 뷰 제너레이션 방법을 나타내는 rec_center_view_generation_method_type의, 뷰잉 포지션에 종속하는(의존하는, dependent) 파라미터를 나타낸다. (specifies the viewing position dependent parameter that is recommended to be used in the center view generation methods indicated by rec_center_view_generation_method_type.)
rec_center_view_generation_method_type, viewing_position_id, and center_view_generation_parameter 는 추천되는 실시예들에 따른 센터 뷰 제너레이션 방법을 나타내기 위하여 사용된다. 또한, rec_center_view_generation_method_type, viewing_position_id, and center_view_generation_parameter는 인코더 프리-프로세싱부에서 수행되는 센터 뷰 픽처를 생성하기 위한 방법 및 그에 대응하는 파라미터로 나타낼 수도 있다. 이 경우, center_view_present_flag 대신 새로운 정보(시그널링 정보 등)으로 나타내어질 수도 있다. (rec_center_view_generation_method_type, viewing_position_id, and center_view_generation_parameter are used to indicate the recommended method of center view generation. Otherwise, rec_center_view_generation_method_type, viewing_position_id, and center_view_generation_parameter could be used to indicate the method and its corresponding parameters that were used to generate the center view picture in the pre-processing before encoding. In this case, a new flag to indicate the presence of this information could be defined and used instead of center_view_present_flag not present flag.)
num_pictures_for_center_view_generation 은 센터 뷰 제너레이션을 수행하는 경우 필요한 픽처들의 개수에 대한 정보를 나타낼 수 있다.
이하에서는 실시예들에 따른 하나 또는 그 이상의 뷰잉 포지션(viewing position)들에 대한 시그널링 정보를 나타낸다. 하나 또는 그 이상의 뷰잉 포지션(viewing position)들에 대한 시그널링 정보는, num_viewing_position, view_position_depth_present_flag, view_position_texture_present_flag, view_position_processing_order_idx, viewing_position_picture_type 등을 포함할 수 있다.
num_viewing_position 은 뷰포인트 또는 viewoint_id 에 의해 지시되는 센터 뷰잉 포지션(center viewing position)과 관련된 뷰잉 포지션들의 총 개수를 나타내기 위한 파라미터이다. (specifies the total number of viewing positions that are related to the viewpoint or center viewing position that is indicated by viewoint_id.)
view_position_depth_present_flagview_position_texture_present_flag 이 1인 경우, 각각의 파라미터는 i 번째 뷰잉 포지션에 대한 뎁스 및 텍스처가 존재한다는 것을 나타낸다. 만약, 다른 컴포넌트가 존재한다면, (예를 들면, 각각의 픽셀 위치의 투명도를 나타내는 알파 채널) 또는 다른 레이어들이 존재한다면(예를 들면, 오버레이, 로고들(logos)), 이들은 컴포넌트에 대응하는 플래그들에 의해 지시될 수 있다. (equal to 1 specify the depth or texture is present for the i-th viewing position, respectively. If there is other component, such as alpha channel to indicate the opacity of the pixel values at each pixel position or other layers such as overlay, logos, they could be indicated by defining flags corresponding to component. )
view_position_processing_order_idx 는 복수의 뷰잉 포지션들에 대하여 수행되는 일련의 동작들의 순서를 나타낸다(specify the processing order of the multiple viewing positions). 예를 들면, 해당 파라미터의 숫자가 작을수록, 해당 뷰잉 포지션에 대한 동작의 순서가 더 빠를 수 있다(the lower the number is, the faster the processing order). 만약 두 개의 다른 뷰잉 포지션들이 동일한 view_position_processing_order_idx을 가진다면, 두 개의 다른 뷰잉 포지션 간에는 순서 상의 우선이 없을 수 있다(If two different viewing positions have same view_position_processing_order_idx, there is no preference in processing order.)
view_position_processing_order_idx의 사용에 대한 실시예를 들면, 실시예들에 따른 뷰 리제너레이션 동작 내에서의 센터 뷰잉 포지션(또는 센터 뷰 픽처에 대응하는 뷰잉 포지션) 또는 자주 (또는 가장 많이) 참조되는 뷰잉 포지션(즉, 레퍼런스 뷰 픽처에 대한 뷰잉 포지션)을 나타내는데 사용될 수 있다. 예를 들어, 레퍼런스 뷰 픽처(reference view)들은 실시예들에 따른 뷰 리제너레이션 동작 내의 다른 픽처들을 재생(restore)하기 위해 사용되므로, 레퍼런스 픽처들에 대해서는 참조되지 않은(non-referenced) 픽처들에 비해 낮은(lower) view_position_processing_order_idx 를 가질 수 있다. 그러나, 참조되지 않은 픽처들 또는 레퍼런스 뷰 픽처들 간 참조 관계(reference relationship)가 발생하는 경우에는, 실시예들에 따른 동작(뷰 리제너레이션 등)의 순서에 따라서 다른 view_position_processing_order_idx 으로 지시될 수 있다.(The example use case of the view_position_processing_order_idx is the center viewing position or mostly referenced viewing position in view regeneration process. As the reference pictures are used to restore the other pictures in the view regeneration process, the reference pictures could be assigned with lower view_position_processing_order_idx compared to the non-referenced pictures. When the reference relationship is happened between non-referenced pictures or reference pictures, they could be indicated with different view_position_processing_order_idx according to the processing order.)
viewing_position_picture_type 은 픽처 제너레이션(예를 들어 뷰 리제너레이션 등)에 대하여, i번째 뷰잉 포지션의 픽처 타입(picture type)을 나타내기 위한 정보일 수 있다. 다시 말해, 본 파라미터는 i번째 뷰잉 포지션의 픽처의 프로세싱 타입(processing type)을 의미할 수 있다. (specifies the picture type of the i-th viewing position in terms of picture generation. In other words, this may mean proceessing type of picture of i(i-th viewing position))
viewing_position_picture_type equal 이 0이면, i번째 뷰잉 포지션(또는 i번째 뷰잉 포지션에 대한 픽처)는 센터 뷰(또는 센터 뷰 픽처)임을 나타낼 수 있다. (When viewing_position_picture_type equal to 0, the i-th viewing position is a center view.)
viewing_position_picture_type equal 이 1이면, i번째 뷰잉 포지션은 뷰 리제너레이션 동작 내에서 레퍼런스 픽처(reference picture)로 사용될 수 있는 픽처임을 의미할 수 있다. (When viewing_position_picture_type equal to 1, the picture of the i-th viewing position is used as a reference picture in the view regeneration process.)
viewing_position_picture_type equal 이 2이면, i번째 뷰잉 포지션의 픽처는 뷰 리제너레이션 동작에 의해 생성될 픽처임을 의미할 수 있다. (When viewing_position_picture_type equal to 2, the picture of the i-th viewing position will be generated from the view regeneration process.)
viewing_position_picture_type equal 이 3이면, i번째 뷰잉 포지션의 픽처는 인코더 프리-프로세싱부(또는 인코딩 프리-프로세스)에 의해 프리-제너레이트된 뷰(예를 들어, 중간 뷰 생성부에 의해 생성된 중간 뷰, intermediate view)임을 의미할 수 있다.(When viewing_position_picture_type equal to 3, the picture of the i-th viewing position is pre-generated view in the encoding pre-process.)
viewing_position_picture_type equal 이 4이면, i번째 뷰잉 포지션의 픽처는 디코딩된 픽처들 내에 포함되지 않은 픽처이나, 추가적인 정보(예를 들면, 실시예들에 따른 뷰 합성 레코멘데이션 정보 등)뷰 합성 방법(동작)에 의해 합성되는 것이 권장되는 픽처임을 의미할 수 있다. 이 동작은 뷰 합성을 수행함에 있어서 시간 소비를 감소시킬 수 있다.(When viewing_position_picture_type equal to 4, the picture of the i-th viewing position might not be present in the decoded pictures but a view synthesis method is recommended with additional information. This could be used to reduce the time consumption process with regard to view synthesis.)
viewing_position_picture_type equal 이 5이면, i번째 뷰잉 포지션의 픽처는 디코딩된 픽처들 내에 포함되지 않은 픽처이나, 다른 뷰잉 포지션(에 대한 픽처 등)에서 대체 픽처(alternative picture)가 존재함을 의미할 수 있다. (When viewing_position_picture_type equal to 5, the picture of the i-th viewing position might not be present in the decoded pictures but alternative picture from other viewing position is present.)
이하에서는 실시예들에 따른 레퍼런스 뷰 정보(reference view information)에 포함될 수 있는 시그널링 정보를 설명한다. 실시예들에 따른 레퍼런스 뷰 정보는 num_views_using_this_ref_view, num_ref_views 등을 포함할 수 있다. 레퍼런스 뷰 정보는 viewing_position_picture_type [ i ] == 1에 의해 전달되는 정보일 수 있다. 여기서 viewing_position_id는 viewing positions that uses this reference view이다.
num_views_using_this_ref_view 는 실시예들에 따른 리제너레이션 동작 내에서의 레퍼런스 뷰 픽처들로써, i번째 뷰잉 포지션으로 사용될 수 있는 뷰잉 포지션에 대한 픽처들의 수를 나타낸다. (specifies the number of viewing positions that uses the picture of the i-th viewng position as the reference view in the regeneration process. The viewing positions that uses this reference view are indicated by viewing_position_id.)
num_ref_views 는 i번째 뷰잉 포지션에 대응하는 픽처의 리제너레이션을 위해 사용되는 레퍼런스 뷰들의 수를 나타낸다. 레퍼런스 뷰들은 viewing_position_id에 의해 식별될 수 있다.(specifies the number of referencec views that are used for the regeneration of the picture corresponding to the i-th viewing position. The reference viewing positions are indicated by the viewing_position_id.)
이하에서는 실시예들에 따른 뷰 리제너레이션 정보(view regeneration information)에 포함될 수 있는 시그널링 정보를 설명한다. 실시예들에 따른 뷰 리제너레이션 정보는 상술한 num_ref_views, viewing_position_id을 포함할 수 있다. 또한, 실시예들에 따른 뷰 리제너레이션 정보는 view_regeneration_method_type, num_sparse_views, picture_id 등을 포함할 수 있다. 레퍼런스 뷰 정보는 viewing_position_picture_type [ i ] == 2의해 전달되는 정보일 수 있다. 여기서 viewing_position_id는 reference viewing positions for view regeneration을 의미할 수 있다.
view_regeneration_method_type (view_regeneration_method_type[ i ][ j ]) 는 i번째 뷰잉 포지션의 픽처를 재생(restore, 또는 재생성, regenerate)하기 위한 뷰 재생성 방법의 타입을 나타낸다. (specifies the type of view regeneration method that is used to restore the picture of the i-th viewing position.)
view_regeneration_method_type 이 0이면, 뷰 합성(view synthesis)에 기반한 뷰 예측(prediction) 방법이 사용되는 것임을 의미할 수 있다. view_regeneration_method_type 이 1이면, 블록 디스페리티 프리딕션(block disparity prediction) 방법이 사용되는 것임을 의미할 수 있다. (When view_regeneration_method_type equal to 0, view synthesis based prediction method is used. When view_regeneration_method_type equal to 1, block disparity prediction method is used.)
num_sparse_views (num_sparse_views [ i ][ j ])는 i번째 뷰잉 포지션에 대응하는 픽처를 재생성하기 위해 사용되는 스파스 뷰들의 개수를 나타낸다. (specifies the number of sparse views used to regenerate the picture corresponding to the i-th viewing position.)
picture_id (picture_id [ i ][ j ])는 i번째 뷰잉 포지션에 대응하는 픽처를 재생성(reconstruct)하기 위해 사용되는 j번째 스파스 뷰를 포함하는 식별자를 나타낸다.
specifiest the identifier which contains the j-th sparse view that is used to reconstruct the picture corresponding to the i-th viewing position.
이하에서는 실시예들에 따른 프리-제너레이션 정보(pre-generation information)에 포함될 수 있는 시그널링 정보를 설명한다. 실시예들에 따른 프리-제너레이션 정보는 상술한 num_ref_views, viewing_position_id을 포함할 수 있다. 또한, 실시예들에 따른 프리-제너레이션 정보는 pregeneration_method_type, view_regeneration_method_type, picture_id, num_sparse_views 을 포함할 수 있다. 레퍼런스 뷰 정보는 viewing_position_picture_type [ i ] == 3의해 전달되는 정보일 수 있다. 여기서 viewing_position_id는 reference viewing positions for view regeneration을 의미할 수 있다.
pregeneration_method_type (pregeneration_method_type[ i ][ j ])은 i번째 뷰잉 포지션에 대응하는 픽처를 생성하기 위한 뷰 생성(view generation) 방법을 나타낸다. Pregeneration_method_type이 0이면, 레퍼런스 뷰 합성 알고리즘이 사용되는 것임을 나타낸다. Pregeneration_method_type이 1이면 뷰 생성 알고리즘 A (view generation algorithm A)가 사용되는 것임을 나타낸다. (specifies the view generation method that is used to generate the picture corresponding to the i-th viewing posotion. When pregeneration_method_type equal to 0, the reference view synthesis algorithm is used. when pregeneration_method_type equal to 1, the view generation algorithm A is used.)
view_regeneration_method_type 실시예들에 따른 뷰 리제너레이션을 수행하는 방법과 관련된 시그널링 정보를 의미할 수 있다.
이하에서는 실시예들에 따른 뷰 합성 레코멘데이션 정보(view synthesis recommendataion information)에 포함될 수 있는 시그널링 정보를 설명한다. 실시예들에 따른 뷰 합성 레코멘데이션 정보는 ref_view_synthesis_method_type, viewing_position_id를 포함할 수 있다. 또한 실시예들에 따른 뷰 합성 레코멘데이션 정보는 상술한 sparse_view_present_flag 및/또는 num_ref_views를 더 포함할 수 있다. 실시예들에 따른 뷰 합성 레코멘데이션 정보는 viewing_position_picture_type [ i ] == 4의해 전달되는 정보일 수 있다. 여기서 num_ref_views는 하나의 뷰인지 또는 멀티플(multiple) 뷰인지 여부를 나타낼 수 있다. 또한, 여기서 viewing_position_id는 reference viewing positions for view synthesis이다.
ref_view_synthesis_method_type (ref_view_synthesis_method_type[ i ][ j ])는 i번째 뷰잉 포지션에 대응하는 픽처를 생성하기 위한 추천되는 뷰 합성 방법을 나타낸다. specifies the view synthesis method that is recommended to generate the picture corresponding to the i-th viewing position. ref_view_synthesis_method가 0이면, 레퍼런스 뷰 합성 알고리즘이 사용된 것임을, ref_view_synthesis_method가 1이면, 뷰 합성 알고리즘 A(view synthesis algorithm A)가 사용되는 것임을 추천하는 것을 나타낸다. (When ref_view_synthesis_method_type equal to 0, the reference view synthesis algorithm is recommended. when ref_view_synthesis_method _type equal to 1, the view synthesis algorithm A is recommended.)
alternative_view_position_id (alternative_view_position_id[ i ][ j ])는 i번째 뷰잉 포지션의 대체 뷰잉 포지션으로 사용되도록 추천되는 뷰잉 포지션과 관련된 식별자를 나타낸다. (specifies the identifier that is recommended to be used as an alternative viewing position of the i-th viewing position.)
sparse_view_present_flag 는 실시예들에 따른 스파스 뷰(또는 스파스 뷰 픽처)가 존재하는지를 나타내는 시그널링 정보이다.
이하에서는 상술한 view_point_descriptor 및 view_point_descriptor에 포함된 시그널링 정보를 구체적으로 설명한다.
view_point_descriptor는 뷰포인트(viewpoint)의 위치, 뷰잉 포지션의 적용 범위(즉 전체 coverage에 대한 정보) 및 뷰잉 오리엔테이션에 대한 정보(즉, 전체 rotation에 대한 정보)를 나타내는 정보 또는 디스크립터를 의미한다. view_point_descriptor는 후술할 viewing_position_id, viewing_position_x, viewing_position_y, viewing_position_z, viewing_position_yaw, viewing_position_pitch, viewing_position_roll, coverage_horizontal 및/또는 coverage_vertical을 포함할 수 있다.
viewing_position_id 는 시점의 위치(viewing position), 오리엔테이션(orientation), 커버리지(coverage)에 의해 기술되는 뷰잉 포지션의 식별자를 나타낸다. 시점의 위치(viewing position), 오리엔테이션(orientation), 커버리지(coverage)는 각각 viewing_position_x, viewing_position_y, 및 viewing_position_z, viewing_orientation_yaw, viewing_orientation_pitch, 및 viewing_orientation_roll, and coverage_horizontal 및 coverage_vertical에 의해 기술될 수 있다. 해당 뷰잉 포지션을 기술하는 파라미터들은 다른 뷰잉 포지션들과 차별화하기 위하여 추가될 수 있다. (indicate the identifier of a viewing position that is described by the viewing position, orientation and coverage, specified by viewing_position_x, viewing_position_y, and viewing_position_z, viewing_orientation_yaw, viewing_orientation_pitch, and viewing_orientation_roll, and coverage_horizontal and coverage_vertical, respectively. The parameters or features which describe the viewing position could be added to differentiate different viewing positions.)
viewing_position_x, viewing_position_y, 및 viewing_position_z 는 각각 2의 -16승 밀리미터(millimeters) 단위로써, 디코딩된 픽처의 뷰잉 포지션의 (x, y, z) 위치를 나타내기 위한 정보일 수 있다. viewing_position_x, viewing_position_y 및 viewing_position_z의 범위는 -32768*2^16 - 1 (i.e., -2147483647) 이상 32768 * 2^16 (i.e., 2147483648) 이하를 포함할 수 있다. (indicate the (x,y,z) location of viewing position corresponding to the decoded picture in the units of 2 -16 millimeters, respectively The range of viewing_position_x, viewing_position_y and viewing_position_z may be in the range of -32768 * 2 16 - 1 (i.e., -2147483647) to 32768 * 2 16 (i.e., 2147483648), inclusive.)
viewing_position_x, viewing_position_y and viewing_position_z의 값은 XYZ 좌표로 절대 위치로 표현될 수도 있고, 또는 앵커 위치(중심 위치)로부터 상대 위치로 표현될 수도 있다.(The value of viewing_position_x, viewing_position_y and viewing_position_z could be reprsented by absolute position in the XYZ coordinate or relateive position corresponding to the anchor location.)
viewing_orientation_yaw, viewing_orientation_pitch, 및 viewing_orientation_roll 는 2^-16 도(degree) 단위로 요(yaw), 피치(pitch), 롤(roll) 오리엔테이션(orientation) 각도를 의미할 수 있다. viewing_orientation_yaw의 값은 -180 * 2^16 (i.e., -11796480)이상 180 * 2^16 (i.e., 11796480)이하의 범위를 포함할 수 있다. viewing_orientation_pitch의 값은 -90 * 2^16 (i.e., -5898240)이상 90 * 2^16 (i.e., 5898240)이하의 범위를 포함할 수 있다. viewing_orientation_roll의 값은 -180 * 2^16 (i.e., -11796480)이상 180 * 2^16 (i.e., 11796480)이하의 범위를 포함할 수 있다. (indicate the yaw, pitch, and roll orientation angles in units of 2 -16 degrees, repectively. The value of viewing_orientation_yaw may be in the range of -180 * 2 16 (i.e., -11796480) to 180 * 2 16  1 (i.e., 11796479), inclusive, the value of viewing_orientation_pitch may be in the range of -90 * 2 16 (i.e., -5898240) to 90 * 2 16 (i.e., 5898240), inclusive, and the value of viewing_orientation_roll may be in the range of -180 * 2 16 (i.e., -11796480) to 180 * 2 16  1 (i.e., 11796479), inclusive.)
실시예들에 따라, viewing_orientation_yaw, viewing_orientation_pitch, and viewing_orientation_roll는 각각 아지무스(azimuth), 엘리베이션(elevation) 및 틸트(tilt)로 사용될 수도 있다. (Depending on the applications, viewing_orientation_yaw, viewing_orientation_pitch, and viewing_orientation_roll could be used to indicate azimuth, elevation, and tilt, respectively.)
또한, orientation_yaw, viewing_orientation_pitch, and viewing_orientation_roll은 로컬 좌표 축(local coordinate axes)에서 글로벌 좌표 축(global coordiate axes)로 변환하기 위한 디코딩된 픽처에 대응하는 헤드 위치(head position)의 단위 구(unit sphere)에 적용되는 회전을 나타낼 수 있다. (Also, viewing_orientation_yaw, viewing_orientation_pitch, and viewing_orientation_roll could represent the rotation that is applied to the unit sphere of head position corresponding to the decoded picture to convert the local coordinate axes to the global coordinate axes, respectively.)
coverage_horizontalcoverage_vertical 는 2^-16 도(degree) 단위로써, 디코딩된 픽처에 대응하는 뷰잉 포지션의 커버리지의 수평 및 수직 범위를 나타낼 수 있다. (specifies the horizontal and vertical ranges of the coverage of the viewing position corresponding to the decoded picture, in units of 2 -16 degrees, respectively.)
실시예들에 따른 비디오 전송 장치가 전송하는(또는 실시예들에 따른 비디오 수신 장치가 수신하는), 시그널링 정보는 뷰잉 포지션 그룹 정보(viewing position group information)를 포함하고, 뷰잉 포지션 그룹 정보는 센터 뷰 제너레이션 정보(center view generation information), 프리-제너레이션 정보(pre-generation information), 뷰 합성 레코멘데이션 정보(view synthesis recommendation information), 레퍼런스 뷰 정보(reference view information) 및 리제너레이션 정보(regeneration information)를 포함할 수 있다.
이러한 구성으로 인해, 실시예들에 따른 비디오 전송 장치는 뷰포인트의 다른 뷰잉 포지션들을 나타내는 복수의 멀티 스피리컬 이미지들을 효율적으로 제공할 수 있다.
도 41은 실시예들에 따른 인코더 프리-프로세싱부(encoder pre-processing modules)의 블록도를 나타낸다.
인코더 프리-프로세싱부는 인코더 프리-프로세싱 모듈, 인코더단, 인코딩부로 호칭될 수도 있고, 비디오 전송 장치를 구성하는 장치를 포괄적으로 호칭하는 용어를 의미할 수 있다. 즉, 인코더 프리-프로세싱부는 상술한 비디오 전송 장치에 포함된 구성들인 인터-뷰 리던던시 제거부(Inter-view redundancy removal), 패킹부(Packing) 및/또는 인코더부 등을 포함할 수 있다.
실시예들에 따른 비디오 전송 장치(또는 인코더 프리-프로세싱부, 인코딩부, 인코더부, 인코딩단)는 실시예들에 따른 로테이션/프로젝션부(41000, rotation/projection, 또는 로테이션/프로젝션), 3DoF+ 프리프로세싱부(41001, 3DoF+ preprocessing, 또는 3DoF+ 프리프로세싱) 및/또는 인코딩부(41002, encoder, 또는 인코더)를 포함한다.
실시예들에 따른 로테이션/프로젝션부(41000, 또는 로테이팅/프로젝팅)는 텍스처/뎁스 픽처를 포함하는 다중 구형 비디오/이미지(멀티 스피리컬 비디오/이미지 데이터)를 회전 및/또는 투사한다. 다중 구형 비디오/이미지 (텍스처/깊이)의 픽쳐 (들)이 회전 및/또는 투사 될 수 있다. 로테이터/프로젝터의 출력은 실시예들에 따라 소스 뷰 픽쳐(들)이라고 지칭 될 수 있는 픽쳐(텍스처/깊이) 및/또는 회전/투영 된 픽쳐이다.
실시예들에 따른 로테이션/프로젝션부(41000)는 도 27에서 설명한 로테이션/프로젝션부(27001)를 의미할 수 있다. 또한, 로테이션/프로젝션부는 실시예들에 따라 소스 뷰 픽쳐 및/또는 회전 및/또는 투사 동작과 관련된 프로젝션 파라미터들(projection parameters)을 더 생성할 수 있다.
3DoF+ 프리프로세싱부(41001, 3DoF+ preprocessing, 또는 3DoF+ 프리프로세싱, 3DoF+ 프리프로세서)은 로테이션/프로젝션부(41000)에 의해 회전 및 투사된 다중 구형 비디오/이미지 (텍스처/깊이)의 픽쳐 (들)을 수신하고, 수신한 다중 구형 비디오/이미지(텍스처/깊이)의 픽처(들) 간의 리던던시를 제거하거나 이들을 패킹(packing)할 수 있다. 예를 들어, 3DoF+ 프리프로세싱부는 실시예들에 따른 복수의 뷰잉 포지션(viewing position)들에 대한 비디오 시퀀스(video sequence)들을 수신하여 비디오 시퀀스에 포함된 복수의 뷰잉 포지션(viewing position)들에 대한 인접한 뷰 간에 리던던시(redundancy)를 제거하는 인터-뷰 리던던시 제거 단계를 수행할 수 있다. 또한, 인터-뷰 리던던시 제거 단계로부터 생성된 픽처들(텍스쳐 픽쳐, 뎁스 픽쳐, 텍스쳐 패치 및/또는 텍스쳐 레지듀얼)을 패킹하여 하나 또는 그 이상의 패킹된 픽처들을 생성할 수 있다.
3DoF+ 프리프로세싱부는 상술한 실시예들에 따른 인터-뷰 리던던시 제거부(Inter-view redundancy removal) 및/또는 패커(Packer, 또는 패킹부)를 포함할 수 있다. 또한, 3DoF+ 프리프로세싱부는 상술한 실시예들에 따른 센터 뷰 제너레이션부(center view generation), 중간 뷰 합성부(intermediate view synthesis, 또는 인터미디에이트 뷰 신테사이저), 프루닝부(Pruner, 또는 프루너)를 포함할 수 있다. 또한, 3DoF+ 프리프로세싱부는 실시예들에 따른 스파스 뷰 프루닝부(sparse view pruning, 또는 스파스 뷰 프루너), 스파스 뷰 셀릭션부(sparse view selection, 스파스 뷰 셀렉션) 및/또는 레지듀얼 디텍션(residual detector, 레지듀얼 검출부, 잔차 검출기)를 포함할 수 있다.
3DoF+ 프리프로세싱부(41001)는 프리프로세싱 메타데이터(preprocessing metadata)를 생성할 수 있다. 프리프로세싱 메타데이터는 실시예들에 따른 센터 뷰 제너레이션 정보(center view generation information), 프리-제너레이션 정보(pre-generation information), 뷰 합성 레코멘데이션 정보(view synthesis recommendation information), 리제너레이션 정보(regeneration information), 레퍼런스 뷰 정보(reference view information)를 포함할 수 있다. 또한, 프리프로세싱 메타데이터는 실시예들에 따른 패킹 메타데이터(packing metadata) 및/또는 리컨스트럭션 파라미터들(reconstruction parameters)을 포함할 수 있다. 예를 들어, 프리프로세싱 메타데이터는 도 39 및/또는 도 40에서 나타난 시그널링 정보들 또는 파라미터들의 전부 또는 일부를 포함할 수 있다.
인코딩부(41002, Encodings)는 예를 들어, 패킹된 픽처 및/또는 센터 뷰 제너레이션 정보, 레퍼런스 뷰 정보, 리제너레이션 정보, 프리-제너레이션 정보 및/또는 뷰 합성 레코멘데이션 정보(뷰 신테시스 레코멘데이션 정보)를 포함하는 시그널링 정보를 인코딩한다. 실시예들에 따르면, 인코딩된 데이터는 비트 스트림 (들)의 포맷으로서 전송된다.
실시예들에 따르면, 3DoF+ 프리프로세싱부는 회전/투영, 센터 뷰 제너레이션, 인터미디에이트 뷰 합성(중간 뷰 합성), 프루닝, 희소(스파스) 뷰 프루닝, 패킹 및/또는 인코딩을 포함하여 전술 한 바와 같은 동작을 수행한다. 또한, 예를 들어 3DoF+ 프리프로세싱부는 도 27 및 도 27과 관련된 명세서의 단락에서 설명한 전처리기(인코더-프리프로세싱부)에 따른 동작을 수행할 수 있다.
따라서, 실시예들에 따른 비디오 전송 방법은 복수의 뷰잉 포지션(viewing positions)들에 대한 픽처(picture)들의 인터-뷰 리던던시를 제거하는 단계; 인터-뷰 리던던시가 제거된 픽처들을 패킹하는 단계; 및 패킹된 픽처들 및 시그널링 정보를 인코딩하는 단계; 를 포함할 수 있다.
또한, 실시예들에 따른 비디오 전송 장치는, 복수의 뷰잉 포지션(viewing positions)들에 대한 픽처(picture)들로부터 인터-뷰 리던던시 를 제거하는 인터-뷰 리던던시 제거부(inter-view redundancy remover); 인터-뷰 리던던시 제거된 픽처들을 패킹하는 패커(packer); 패킹된 픽처들 및 시그널링 정보를 인코딩하는 인코더(encoder); 를 포함할 수 있다.
도 42는 실시예들에 따른 인코더 프리-프로세싱부(encoder pre-processing modules)의 블록도를 나타낸다.
인코더 프리-프로세싱부는 인코더 프리-프로세싱 모듈, 인코더단, 인코딩부로 호칭될 수도 있고, 비디오 전송 장치를 구성하는 장치를 포괄적으로 호칭하는 용어를 의미할 수 있다. 즉, 인코더 프리-프로세싱부는 상술한 비디오 전송 장치에 포함된 구성들인 인터-뷰 리던던시 제거부(Inter-view redundancy removal), 패킹부(Packing) 및/또는 인코더부 등을 포함할 수 있다.
도 42는 실시예들에 따른 인코더 프리-프로세싱부의 인터-뷰 리던던시 제거부를 나타낸다.
- 센터 뷰 생성부(Center view generation, 또는 센터 뷰 제너레이션부, 42001) : 수신한 픽처들(예를 들어, 소스 뷰 픽처들)로부터, 뷰잉 포지션들의 그룹에 대한 센터 뷰를 생성한다. 실시예들에 따른 센터 뷰 생성부는 센터 뷰 픽처(center view picture)를 생성할 수 있고, 및/또는 센터 뷰 제너레이션 정보(center view generation information)을 더 생성할 수 있다. 구체적으로, Center view picture는 multi-spherical video/image의 중심 위치에 대한 spherical video/image를 의미할 수 있다. 또한, 입력 영상에 포함되어 있거나, 없는 경우 실시예들에 따른 센터 뷰 제너레이션의 가상시점생성을 통해 만들어 낼 수도 있다.
- 중간 뷰 합성부(Intermediate view synthesis, 42002): 실시예들에 따른 전송 장치가, 소스 뷰들(또는 제공된 뷰들, provided views)에 따라 생성된 뷰들을 이용하는 경우, 중간 뷰가 합성될 수 있다(if the processor uses generated views on top of the provided views (or source view), intermediate view could be synthesized). 실시예들에 따르면, 중간 뷰 합성부는 프리-제너레이션 정보의 추가 정보를 포함하는 중간 뷰들을 출력할 수 있다. 나아가, 실시예들에 따른 전송 장치는 디코더 포스트-프로세싱부로 중간 뷰 합성과 관련된 정보를 전송할 수 있다.
- 프루닝부(Pruning, 42003) : 실시예들에 따른 프루닝부는, 실시예들에 따른 소스 뷰(source view), 센터 뷰(center view) 및/또는 중간 뷰(intermediate view)를 이용하여, 각각의 픽처들에 대한 리던던시를 제거할 수 있다. 실시예들에 따른 프루닝부는 스파스 뷰 픽처들(sparse view pictures), 레퍼런스 뷰 픽처들(reference view pictures)을 생성할 수 있다. 스파스 뷰 픽처는, 특정 뷰잉 포지션에 대하여, 예측할 수 없는 정보가 포함된(즉, 특이한(unique) 정보/픽셀들을 포함하는) 픽처를 의미한다. 즉, 스파스 뷰 픽처는 프루닝을 수행할 복수의 픽처들 간 공통적으로 존재하는 정보들이 제거된 픽처를 나타낼 수 있다. 레퍼런스 뷰 픽처는, 특정 뷰잉 포지션에 대하여 기본적인 정보/픽처를 제공할 수 있는 픽처를 의미할 수 있다. 여기서, 실시예들에 따른 레퍼런스 뷰 정보(reference view information) 및/또는 리제너레이션 정보(regeneration information)이 생성될 수 있다.
실시예들에 따른 비디오 전송 장치(또는 인코더 프리-프로세싱부, 인코딩부, 인코더부, 인코딩단)는 실시예들에 따른 로테이션/프로젝션(42000, rotation/projection)부, 센터 뷰 생성부(42001, center view genearation module, 센터 뷰 제너레이터), 중간 뷰 합성부(42002, intermediate view synthesizer, 인터미디에이트 뷰 신테사이저), 프루닝부(42003, pruner, 프루너), 스파스 뷰 프루닝부(27005, sparse view pruner, 스파스 뷰 프루너), 패커(42004, packer) 및/또는 인코딩부(42005, encoder, 인코더)를 포함한다.
실시예들에 따른 로테이션/프로젝션부(42000) (또는 로테이팅/프로젝팅)는 텍스처/뎁스 픽처를 포함하는 다중 구형 비디오/이미지(멀티 스피리컬 비디오/이미지 데이터)를 회전 및/또는 투사한다. 다중 구형 비디오/이미지 (텍스처/깊이)의 픽쳐 (들)이 회전 및/또는 투사 될 수 있다. 로테이터/프로젝터의 출력은 실시예들에 따라 소스 뷰 픽쳐(들)이라고 지칭 될 수 있는 픽쳐(텍스처/깊이) 및/또는 회전/투영 된 픽쳐이다.
실시예들에 따른 센터 뷰 생성기 (42001) (또는 센터 뷰 생성)는 회전/투영된 픽처 및/또는 픽처 (텍스처/깊이)로부터 센터 뷰 픽처(center view picture) 및 센터 뷰(center view)에 대한 프로파일/특성에 관한 센터 뷰 제너레이션 정보(center view generation information)를 포함하는 시그널링 정보를 생성한다.
인터미디에이트 뷰 신테사이저 (42002) (또는 중간 뷰 합성)는 회전/투영된 픽처 및/또는 픽처 (텍스처/깊이) (소스 뷰 픽처)로부터 인터미디에이트 뷰 픽처(intermediate view picture)를 합성하고 프리-제너레이션 정보(pre-generation information) 및/또는 뷰 합성 레코멘데이션 정보(view synthesis recommandataion information)를 포함하는 시그널링 정보를 생성한다. 시그널링 정보는 수신기 (디코더)에서 데이터를 디코딩하는데 사용될 수 있다.
실시예들에 따른 프루너(42003) (또는 프루닝)는 픽쳐 사이의 리던던시를 제거한다. 프루닝은 뷰 간 리던던시를 제거함을 나타낸다. 이 프로세스는 인터-뷰 리던던시 리무벌로 지칭될 수 있다. 실시 예들에 따르면, 프루너의 입력은 센터 뷰 픽쳐, 소스 뷰 픽쳐 및/또는 인터미디에이트 뷰 픽쳐를 포함한다. 또한, 프루닝된 스파스 뷰(들)가 프루너에 입력될 수 있다. 프루너는 수신기(디코더)에서 데이터를 디코딩하는데 사용될 수 있는 레퍼런스 뷰 정보(reference view information) 및/또는 리제너레이션 정보(regeneration information)를 포함하는 시그널링 정보를 생성한다. 시그널링 정보는 뷰를 재생성하기 위해 프루닝과 관련된 정보를 포함한다. 실시예들에 따르면, 프루닝의 아웃풋은 스파스 뷰 픽처, 레퍼런스 뷰 픽처 및/또는 스파스 뷰 픽처를 포함한다. 실시예들에 따르면, 뷰는 뷰 픽쳐로 지칭될 수 있다.
패커 (42004) (또는 패킹)는 예를 들어 센터 뷰 픽쳐, 프루닝된 스파스 뷰 픽쳐(pruned sparse view picture), 레퍼런스 뷰 픽쳐(reference view picture) 및/또는 스파스 뷰 픽쳐(sparse view picture)와 같은 픽쳐를 패킹한다. 패커의 출력은 패킹된 픽쳐(packed picture)이다.
인코더 (42005) (또는 인코딩)는 예를 들어, 패킹된 픽처 및/또는 센터 뷰 제너레이션 정보, 레퍼런스 뷰 정보, 리제너레이션 정보, 프리-제너레이션 정보 및/또는 뷰 합성 레코멘데이션 정보(뷰 신테시스 레코멘데이션 정보)를 포함하는 시그널링 정보를 인코딩한다. 실시예들에 따르면, 인코딩된 데이터는 비트 스트림 (들)의 포맷으로서 전송된다.
실시예들에 따르면, 전처리기(도는 인코더 프리-프로세싱부)는 회전/투영, 센터 뷰 제너레이션, 인터미디에이트 뷰 합성(중간 뷰 합성), 프루닝, 희소(스파스) 뷰 프루닝, 패킹 및/또는 인코딩을 포함하여 전술한 바와 같은 동작을 수행한다.
실시예들에 따르면, 중심 뷰 화상(픽쳐)(또는 센터 뷰 픽처)은 다중 구형 비디오/이미지의 중심 위치에 대한 구형 비디오/이미지를 의미한다. 실시예들에 따르면, 중심 뷰 화상은 입력 데이터에 포함되거나 가상 시점 생성으로부터 생성될 수 있다
실시예들에 따르면, 중간 뷰 픽쳐는 버츄얼(가상으로)하게 생성된 픽쳐를 의미한다. 중간 뷰 픽처는 입력 데이터 (예: 다중 구형 비디오 / 이미지)에 포함되지 않는다. 실시예들에 따르면, 프리 제너레이션 정보 및 / 또는 뷰 합성 추천 정보(뷰 합성 레코멘데이션 정보)는 실시예들에 따른 viewing_position_picture_type[ i ] == 3, 4 에 관련된 뷰잉 포지션 그룹 정보 SEI 메시지 구문에 포함된다.
실시예들에 따르면, 소스 뷰 픽처 및/또는 중심 뷰 픽처(센터 뷰 픽처)가 프루닝에 사용된다. 실시예들에 따른 기준 뷰 정보(레퍼런스 뷰 정보) 및/또는 재생 정보(리제너레이션 정보)는 실시예들에 따른 viewing_position_picture_type[ i ] == 1 에 관련된 뷰잉 포지션 위치 정보 SEI 메시지 신택스에 포함된다
실시예들에 따르면, 뷰잉 포지션 그룹 정보 SEI 메시지는 인코더에 의해 전송되고 수신기에 의해 시그널링 정보로서 수신된다. 뷰잉 포지션 그룹 정보 SEI 메시지는 views_position_picture_type을 포함한다.
실시예들에 따르면, VIEW_position_picture_type은 i 번째 뷰잉 포지션의 픽쳐 타입을 픽쳐 생성 측면에서 기술한다. viewer_position_picture_type이 0과 같은 경우, i 번째 뷰잉 포지션은 중앙 뷰(센터 뷰)이다. view_position_picture_type이 1과 같은 경우, i 번째 뷰잉 포지션의 픽쳐는 뷰 리제너레이션 과정에서 참조 픽쳐(레퍼런스 픽쳐)로 사용된다. view_position_picture_type이 2와 같은 경우, i 번째 뷰잉 포지션의 픽쳐는 뷰 리제너레이션 프로세스로부터 생성될 것이다. views_position_picture_type이 3과 같은 경우, i 번째 뷰잉 포지션의 픽쳐는 부호화 전처리에서 프리-제너레이트된 뷰이다. views_position_picture_type이 4와 동일한 경우, i 번째 뷰잉 포지션의 픽쳐는 디코딩된 픽쳐에 존재하지 않을 수 있지만, 추가 정보와 함께 뷰 신테시스 방법이 권장된다. 이것은 뷰 합성과 관련하여 시간 소비 프로세스를 줄이는 데 사용될 수 있다. views_position_picture_type이 5와 같은 경우, i 번째 뷰잉 포지션의 픽쳐는 디코딩된 픽쳐에 존재하지 않을 수 있지만 다른 뷰잉 포지션으로부터의 다른(alternative) 픽쳐가 존재한다.
실시예들에 따르면, 희소 뷰 픽쳐(스파스 뷰 픽처)는 주변 시점(들)에 기초하여 현재 시점이 예측될 때 예측 될 수 없는 정보를 포함하는 픽쳐를 의미한다. 예를 들어, 그레이 또는 블랙 영역(들)은 현재 시점에 대한 화상과 주변 시점에 대한 화상 사이에서 정보가 중복됨을 의미한다. 실시예들에 따르면, 중복된 정보는 예측 가능한 정보를 의미한다. 따라서 희소 뷰 픽쳐(스파스 뷰 픽처)에는 예측할 수 없는 정보가 포함된다.
실시예들에 따라, 참조 시점 픽쳐(레퍼런스 뷰 픽처)는 현재 시점에 대한 픽쳐를 예측하는데 사용되는 주변 시점에 대한 픽쳐를 의미한다. 실시예들에 따르면, 가상 시점 생성에 의해 생성 된 소스 뷰 픽쳐/ 이미지 및/또는 픽쳐/이미지가 사용될 수 있다.
실시예들에 따르면, 희소 뷰 프루닝은 타겟 뷰잉 위치, 기준 스파스 뷰, 및 스파스 뷰 재생 방법 유형, 예컨대 target_view_id, component_id, component_type, pruned_sparse_view_present_flag, reference_sparse_view_present_flag_sprese_view_present, output_sparse_view_id, pruned_sparse_view_id 및 reference_sparse_view_id 등과 같은 정보를 나타내기 위한 메타데이터 또는 스파스 뷰를 위한 시그널링 정보를 생성한다.
실시예들에 따르면, 희소 뷰 프루닝(스파스 뷰 프루닝)은 실시예들에 따른 스파스 뷰 리제너레이션 정보를 생성한다.
따라서, 실시예들에 따른 비디오 전송 방법은 복수의 뷰잉 포지션(viewing positions)들에 대한 픽처(picture)들의 인터-뷰 리던던시를 제거하는 단계; 인터-뷰 리던던시가 제거된 픽처들을 패킹하는 단계; 및 패킹된 픽처들 및 시그널링 정보를 인코딩하는 단계; 를 포함할 수 있다.
또한, 실시예들에 따른 비디오 전송 장치는, 복수의 뷰잉 포지션(viewing positions)들에 대한 픽처(picture)들로부터 인터-뷰 리던던시 를 제거하는 인터-뷰 리던던시 제거부(inter-view redundancy remover); 인터-뷰 리던던시 제거된 픽처들을 패킹하는 패커(packer); 패킹된 픽처들 및 시그널링 정보를 인코딩하는 인코더(encoder); 를 포함할 수 있다.
도 43은 실시예들에 따른 디코더 포스트-프로세싱부(decoder post-processing modules)의 블록도를 나타낸다.
디코더 포스트-프로세싱부는 디코더 포스트-프로세싱 모듈, 디코더단, 디코딩부 등으로 호칭될 수도 있고, 비디오 수신 장치를 구성하는 장치를 포괄적으로 호칭하는 용어를 의미할 수 있다. 즉, 디코더 포스트-프로세싱부는 상술한 비디오 수신 장치에 포함된 구성들인 디코더(Decoder), 뷰 리저네레이션부(View regeneration), 뷰 합성부(View synthesis), 렌더링/뷰포트 제너레이터(rendering/viewport generation)등을 포함할 수 있다.
실시예들에 따른 디코더 포스트-프로세싱부는 디코딩부(Decodings, 43001, 또는 디코더), 뷰 리컨스트럭션부(View reconstruction, 43002, 또는 뷰 리컨스트럭터, 뷰 리컨스트럭션), 뷰 합성부(View synthesis, 43003, 또는 뷰 신테시스), 렌더링/뷰포트 제너레이션부(Rendering/viewport generation, 43004, 또는 렌더링/뷰포트 제너레이터), 디스플레이부(43005, Display, 또는 디스플레이)를 포함할 수 있다.
서버(43000)는 실시예들에 따른 디코더 포스트-프로세싱부로 비트스트림을 전송할 수 있다. 서버는 실시예들에 따른 비디오 수신 장치(또는 디코더 포스트-프로세싱부)로부터 전송되는 뷰잉 포지션에 대한 정보(현재 뷰잉 포지션에 대한 정보, viewing position) 및/또는 뷰포트에 대한 정보(뷰포트 정보, viewport information)에 기초하여 (또는 대응하여) 비트스트림을 전송할 수 있다.
디코딩부(43001)는 서버(43000)로부터 비트스트림을 수신하여 패킹된 뷰(또는 픽처들) 및/또는 관련 시그널링 정보를 생성, 출력 또는 파싱할 수 있다. 디코딩부는 실시예들에 따른 디코더 포스트-프로세싱부에서 생성되는 뷰잉 포지션에 대한 정보 및/또는 뷰포트에 대한 정보에 기초하여 수신된 비트스트림을 디코딩할 수 있다. 관련된 시그널링 정보로는 예를 들어, 실시예들에 따른 리컨스트럭션 파라미터(reconstruction parameter)들, 뷰 합성 파라미터들(view synthesis parameters)이 있을 수 있다. 리컨스트럭션 파라미터들은 실시예들에 따른 수신 단의 뷰 리제너레이션(view regeneration)을 수행함에 있어 필요한 시그널링 정보를 의미할 수 있다. 예를 들어, 리컨스트럭션 파라미터는 도 39 및/또는 도 40에 따른 Viewing position group information SEI message syntax 에 포함된 파라미터들의 전부 또는 일부를 포함할 수 있다. 또한, 실시예들에 따른 리컨스트럭션 파라미터는 후술할 뷰잉 포지션 그룹 정보(viewing position group information) 의 전부 또는 일부를 포함할 수 있다. 즉, 실시예들에 따른 리컨스트럭션 파라미터는 실시예들에 따른 프리프로세싱 메타데이터(preprocessing metadata)의 전부 또는 일부를 포함할 수 있다. 프리프로세싱 메타데이터는 실시예들에 따른 센터 뷰 제너레이션 정보(center view generation information), 프리-제너레이션 정보(pre-generation information), 뷰 합성 레코멘데이션 정보(view synthesis recommendation information), 리제너레이션 정보(regeneration information), 레퍼런스 뷰 정보(reference view information)를 포함할 수 있다.
뷰 리컨스트럭션(43002, view reconstruction)은 디코딩부(43001)에 의해 생성된 패킹된 픽처(또는 패킹된 뷰)를 수신하여 재생성된 뷰(regenerated view) 픽처를 생성할 수 있다. 뷰 리컨스트럭션은 실시예들에 따른 디코딩부(또는 디코더 포스트-프로세서)에 대한 뷰잉 포지션 및/또는 뷰포트에 대한 정보에 기초하여 재생성된 뷰를 생성할 수 있다. 예를 들어, 뷰 리컨스트럭션은 수신단의 사용자에 대한 뷰잉 포지션 및/또는 뷰 포트 정보에 따라, 해당 뷰잉 포지션 및/또는 뷰 포트와 관련된 픽처들(뷰들)을 재생성할 수 있다. 이 때, 뷰 리컨스트럭션은 실시예들에 따른 디코딩부로부터 생성된 리컨스트럭션 파라미터들(reconstruction parameters)에 기초하여 재생성된 뷰를 생성할 수도 있다.
뷰 리컨스트럭션(또는 뷰 재생성부)는 복수의 뷰잉 포지션에 대하여 동시에 재생성된 뷰를 생성할 수도 있고, 제 1 뷰잉 포지션을 먼저 생성(또는 재생성)한 후, 제 1 뷰잉 포지션에 대한 재생성된 뷰에 기초하여 제 2 뷰잉 포지션을 생성할 수도 있다. 즉, 실시예들에 따른 디코더단이 복수의 뷰잉 포지션에 대한 픽처들을 생성하는 경우, 재생성되는 뷰의 뷰잉 포지션에 대한 순서를 포함한 정보를 시그널링 정보로 수신할 수 있다. 이 때, 뷰잉 포지션에 대한 순서를 포함한 정보는 리컨스트럭션 파라미터들 및/또는 뷰 신테시스 파라미터들에 포함될 수도 있다.
뷰 신테시스(43003)은 재생성된 뷰 픽처(텍스처/뎁스)에 기초하여 합성된 뷰 픽처(텍스처) (또는 타겟 뷰잉 포지션에 대한 픽처)를 생성할 수 있다. 뷰 신테시스는 실시예들에 따른 디코딩부(또는 디코더 포스트-프로세서)에 대한 뷰잉 포지션 및/또는 뷰포트에 대한 정보에 기초하여 합성된 뷰를 생성할 수 있다. 예를 들어, 뷰 신테시스는 수신단의 사용자에 대한 뷰잉 포지션 및/또는 뷰 포트 정보에 따라, 해당 뷰잉 포지션 및/또는 뷰 포트와 관련된 픽처들(뷰들)을 합성할 수 있다. 이 때, 뷰 신테시스는 실시예들에 따른 디코딩부로부터 생성된 뷰 신테시스 파라미터들(view synthesis parameters)에 기초하여 합성된 뷰를 생성할 수도 있다.
렌더링/뷰포트 생성(43004, rendering/viewport generation)은 실시예들에 따른 합성된 뷰 픽처(텍스처) (또는 타겟 뷰잉 포지션에 대한 픽처)를 렌더링(rendering)하고, 해당 합성된 뷰 픽처에 대한 뷰포트를 생성할 수 있다.
디스플레이(43005)는 실시예들에 따른 렌더링된 픽처(텍스처) (또는 타겟 뷰잉 포지션에 대한 픽처)를 디스플레이할 수 있다.
실시예들에 따른 비디오 수신 방법은 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 단계; 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 단계, 언패킹된 비트스트림은 시그널링 정보를 포함함; 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 단계; 및, 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 단계; 를 포함할 수 있다.
또한, 실시예들에 따른 비디오 수신 장치는, 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 디코더(decoder); 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 언패커(unpacker); 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 뷰 재생성부(view regenerator); 및, 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 뷰 합성부(view synthesizer); 를 포함할 수 있다.
도 44는 실시예들에 따른 디코더 디코더 포스트-프로세싱부(decoder post-processing modules)의 블록도를 나타낸다.
실시예들에 따른 디코더 포스트-프로세싱부는 사용자(viewer)의 뷰포인트(viewpoint)에 따라, 뷰 합성부가 뷰를 합성하는데 관련된 뷰잉 포지션을 결정할 수 있다. 그 후, 디코더 포스트-프로세싱부는 각각의 뷰잉 포지션을 위한 동작을 결정할 수 있고, 및/또는 수신기의 동작 순서를 결정할 수 있다.
예를 들면, 스파스 뷰 리제너레이션 SEI 메시지가 존재하는 경우, 스파스 뷰 리제너레이션(sparse view regeneration) 동작은 각각의 뷰잉 포지션에 대하여 sparse_view_regeneration_type 정보에 따라 수행될 수 있다. 이어서, target_view_id에 대응하는 component_id and component_type에 따라 지시되는 모든 컴포넌트들에 대하여 포스트-프로세싱이 수행될 수 있다. 아래는 sparse_view_regeneration_type 정보에 따라 수행될 수 있는 스파스 뷰 리제너레이션 동작의 예시를 나타낸 것이다.
센터 뷰 생성부(Cneter view generation, 또는 센터 뷰 제너레이션부, 44002) : viewing_position_picture_type이 0이거나 또는 center_view_present_flag이 0인 경우, 실시예들에 따른 센터 뷰 생성부가 동작한다. 여기서, 레퍼런스 뷰잉 포지션들(reference viewing positions) 및 각각의 뷰잉 포지션에 대한 파라미터들은 각각 viewing_position_id, center_view_generation_parameter에 의해 제공된다. 다른 실시예로, 만약 연산 복잡도(computational complexity)가 커서 실시예들에 따른 수신 장치의 부담이 있는 경우, 대체적인 뷰잉 포지션(alternative viewing position)이 이용될 수 있다. 대체적인 뷰잉 포지션은 alternative_viewing_position_id, alternative_view_distance, rec_center_view_generation_method_type에 의해 시그널링되거나 사용될 수 있다. (when the viewing_position_picture_type equal to 0 or center_view_present_flag equal to 0, the center view generation is processed. The reference viewing positions and the parameters for each viewing position is given by viewing_position_id, center_view_generation_parameter. In other case, if the computational complexity is huge burden to the receiver, alternative viewing position could be used by the information given alternative_viewing_position_id, alternative_view_distance, rec_center_view_generation_method_type.) 구체적으로, 센터 뷰 픽처(center view picture)는 multi-spherical video/image의 중심 위치에 대한 spherical video/image를 의미할 수 있다. 또한, 입력 영상에 포함되어 있거나, 없는 경우 가상시점생성을 통해 만들어 낼 수도 있다.
- 뷰 제너레이션부(View generation, 또는 뷰 리제너레이션부, 44003) : viewing_position_picture_type equal 이 1인 경우, 해당 픽처는 다른 뷰잉 포지션에 대한 레퍼런스 픽처(reference picture, 또는 참조 픽처)로 사용될 수 있다. 이 경우, 디코더는 views_position_id에 의해 주어진 해당 픽처를 사용하는 뷰잉 포지션 정보와 함께 해당 픽처를 버퍼에 저장할 수 있다. (when viewing_position_picture_type equal to 1, the picture could be used as a reference picture to the other viewing position. In this case, decoder could store the picture in the buffer with the information of viewing position that uses this picture given by viewing_position_id. )
viewing_position_picture_type equal 이 2인 경우, 실시예들에 따른 뷰 제너레이션은 해당 뷰잉 포지션의 해당 픽처를 재생할 수 있다. 실시예들에 따른 리제너레이션 과정에 필요한 레퍼런스 뷰들 및 스파스 뷰는 각각 viewing_position_id 및 picture_id 에 의해 지시될 수 있다. 수신 장치는 인코더에 의해 의도된 뷰잉 포지션을 재생(restore)하기 위하여 view_regeneration_method_type 에 의해 주어진 리제너레이션 방법을 이용할 수 있다. (when viewing_position_picture_type equal to 2, view generation may be used to restore the picture of this viewing position. The reference views and the sparse view that are needed to the regeneration process are are indicated by viewing_position_id and picture_id, respectively. The receiver may use the regeneration process method given by view_regeneration_method_type to restore the viewing position intended by the encoder.)
- 뷰 합성부(View synthesis, 뷰 신테시스, 44005) : viewing_position_picture_type equal 이 3인 경우, 해당 픽처는 프리-제너레이션된 뷰(pre-generated view)들일 수 있다. 실시예들에 따른 수신 장치는 해당 픽처를 이용하여 타겟 뷰로 이용할지 또는 재생성된 뷰들을 이용하여 새로운 픽처를 합성할지 여부를 결정할 수 있다. 이 결정에서, 수행된 방법은 pregeneration_method_type에 의해 주어진 결정 기준 중 하나일 수 있다. 만약, 실시예들에 따른 수신 장치가 해당 픽처를 사용하는 경우, viewing_position_id에 의해 제공된 레퍼런스 픽처들 및 picture_id에 의해 제공된 스파스 뷰 픽처들이 해당 리제너레이션 방법에서 사용될 수 있다. (when viewing_position_picture_type equal to 3, the picture is not a source picture but pre-generated views. Receivers could determine whether it uses this picture or synthesize a new picture with the regenerated views. In the determination, the processed method could be one of the determination criteria given by pregeneration_method_type. If the receiver uses this picture, reference pictures given by viewing_position_id and the sparse view given by picture_id are used with the regeneration method.)
viewing_position_picture_type equal 이 4인 경우, 추천된 뷰 합성 정보(recommended view synthesis information, 예를 들어 실시예들에 따른 뷰 합성 레코멘데이션 정보)가 해당 뷰잉 포지션에 대하여 제공될 수 있다. 해당 정보는, 방법, 파라미터, 레퍼런스 뷰잉 포지션 식별자(reference viewing position indicator), 스파스 뷰 존재 여부를 나타내는 플래그(sparse view present flag)를 포함할 수 있다. 이들에 대한 정보는 예를 들어, 실시예들에 따른 ref_view_systhesis_method_type, view_synthesis_parameter, viewing_position_id, sparse_view_present_flag 각각에 의해 제공될 수 있다. (when viewing_position_picture_type equal to 4, recommended view synthesis information is provided for this viewing position. They are the synthesis method, parameter, reference viewing position indicator, and sparse view present flag, given by ref_view_systhesis_method_type, view_synthesis_parameter, viewing_position_id, sparse_view_present_flag, respectively.)
viewing_position_picture_type equal 이 5인 경우, 뷰잉 포지션은 alternative_viewing_position_id 에 의해 지시되는 소스 뷰들, 재생성된 뷰(regenerated view) 또는 합성된 뷰(synthesized view)들 에 의해 대체(또는 제공, replaced)될 수 있다. (when viewing_position_picture_type equal to 5, the viewing position could be replaced by other view from the source view, regenerated view, or synthesized views, indicated by alternative_viewing_position_id)
실시예들에 따른 인코더 프리-프로세싱부에 의해 제공되는 뷰 포지션 그룹 정보(view position group information)은 콘트롤러(controller, 44004)에 의해 파싱(parsing)될 수 있다. 실시예들에 따른 콘트롤러는, 어떤 뷰잉 포지션(viewing position)을 생성할지, 어떤 구성요소(모듈)들을 제어할지, 어떤 순서로 뷰잉 포지션들과 관련된 뷰들을 생성할지, 어떤 순서로 구성요소(모듈)들을 동작하게 할지 여부를 결정함으로써 전체적인 뷰포트 생성(viewport generation) 동작을 제어한다.(The metadata, view position group information given by the encoder pre-processing, is parsed by controller in Figure 43. In this module, the whole viewport generation process is controlled by determining which viewing position may be generated, which process module may be worked, and in which order the modules may be processed.)
실시예들에 따른 인코더 프리-프로세싱부에 의해 전송되는 뷰 포지션 그룹 정보(view position group information)은 실시예들에 따른 콘트롤러(44004)에 의해 파싱될 수 있다. 콘트롤러는, 어떤 뷰잉 포지션(viewing position), 어떤 뷰 재생성 동작 및/또는 뷰 합성 동작 방법이 수행되는지, 뷰 재생성 및/또는 뷰 합성이 어떤 순서로 동작하는지를 결정함으로써, 전체 뷰포트(viewport) 생성 동작을 제어할 수 있다. 예를 들어, 사용자(viewer)가 중심 위치(center position) 또는 레퍼런스 뷰 픽처에 해당하는 위치와 정확히 동일한 위치에 해당하는 픽처(a picture position that is exactly same with the reference picture position)를 시청하기를 원하는 경우, 해당하는 픽처(센터 뷰 픽처 또는 레퍼런스 뷰 픽처)만 선택하여 언패킹을 수행할 수도 있다. (For example, if a viewing position that viewer want to watch is a center position or a picture position that is exactly same with the reference picture position, only the picture of that position could be selected from the unpacked picture.)
그러나, 만약 중심 위치(center position)가 인코더 프리-프로세싱부에 의해 생성되지 않은 경우, 실시예들에 따른 콘트롤러는 수신한 레퍼런스 뷰들로부터 센터 뷰를 생성하도록 실시예들에 따른 센터 뷰 제너레이션부를 제어할 수 있다.(However if the center position is not generated in the encoder pre-processor, the center view generation module could be processed with the reference pictures in the packed picture.)
또한, 예를 들면, 해당 뷰잉 포지션이 하나의 전체 픽처(a full picture)가 아니어서, 전체 픽처를 위한 추가 동작이 필요할 수 있다. 이 경우, 실시예들에 따른 콘트롤러는 실시예들에 따른 뷰 재생성부 및/또는 센터 뷰 제너레이션부를 제어할 수 있다. 즉, 콘트롤러는 관련 메타데이터를 이용하여 실시예들에 따른 뷰 재생성부 및/또는 센터 뷰 제너레이션부를 제어할 수 있다. 여기서 메타데이터는 인코더 프리-프로세서에 의해 시그널링될 수 있으며, 실시예들에 따른 디코더 포스트-프로세싱부는 해당 메타데이터에 기초하여 센터 뷰 픽처(center view picture), 레퍼런스 뷰 픽처(reference view pictures) 및/또는 스파스 뷰 픽처(sparse view pictures)들을 생성할 수 있다.(In other cases, if the viewing position is not a full picture so additional process is needed, the processing modules, such as view regeneration or center view generation, may be turned on and the method which is indicated in the metadata, which means intended by the encoder pre-processor, is used to generate picture of a viewing position from reference pictures and sparse pictures.)
이 과정에서, 실시예들에 따른 다른 뷰들(other views, 예를 들면 타겟 뷰들)을 생성하기 위하여 실시예들에 따른 센터 뷰 픽처 및/또는 레퍼런스 뷰 픽처를 이용할 수 있다. 따라서, 센터 뷰 제너레이션, 레퍼런스 뷰 생성하는 동작 및/또는 중간 뷰 생성하는 동작은 실시예들에 다른 뷰 리제너레이션부에 앞서 수행될 수 있다. (In this step, it is general to use the center view or reference views to generate the other views, so center view or reference view generation may be processed precedent to the view regeneration.)
만약, 실시예들에 따른 수신 장치의 뷰잉 포지션이 재생성된 또는 제공된 뷰잉 포지션과 매치(match)되지 않는 경우에는, 해당 재생성된 및/또는 제공된 뷰잉 포지션에 대한 픽처들을 합성할 수 있다. 따라서, 실시예들에 따른 뷰 재생성부의 동작은 실시예들에 따른 뷰 합성부의 동작에 선행할 수 있다. 여기서, 상술한 프로세싱의 순서는 viewing_position_picture_type 및/또는 view_position_processing_order_idx에 의해 나타내어질 수 있다. (If the viewing position is not match with the viewing positions provided or regenerated from the decoded picture, the picture may be synthesized using given viewing positions. As the view synthesis module produces a new view by using other views, view regeneration module may be precedent to the view synthesis model for all viewing positions that are needed to generate the synthesized view. The relationship or the processing order is given by viewing_position_picture_type and view_position_processing_order_idx.)
다시 말해, 도 44에서 설명하는 실시예들에 따른 비디오 수신 방법 및/또는 비디오 수신 장치를 설명한다.
디코딩(Decodings, 44000)은 수신한 비트스트림에 대하여 디코딩을 수행할 수 있다. 디코딩은 실시예들에 따른 비디오 수신 장치의 디코더에 의해 수행될 수 있다. 도 28에서 설명하는 디코딩 및/또는 디코더는 상술한 바에 따른 디코딩 및/또는 디코더를 의미할 수 있다.
언패킹(Unpacking, 44001)는 디코딩된 비트스트림을 언패킹할 수 있다. 언패킹은 디코딩된 비트스트림을 언패킹하여 하나 또는 그 이상의 레퍼런스 뷰(reference view), 하나 또는 그 이상의 스파스 뷰(sparse view)를 출력 또는 생성할 수 있다. 즉, 수신된 비트스트림이 디코딩된 경우, 디코딩된 비트스트림은 하나 또는 그 이상의 레퍼런스 뷰 및/또는 하나 또는 그 이상의 스파스 뷰를 포함할 수 있다. 도 44에서 설명하는 언패킹은 상술한 바에 따른 언패킹을 의미할 수 있다. 또한, 언패킹은 실시예들로 언패커(unpacker)에 의해 수행될 수 있다.
센터 뷰 제너레이션(Center view generation, 44002)는 상술한 언패킹에 따라 출력 또는 생성된 하나 또는 그 이상의 레퍼런스 뷰에 기초하여 센터 뷰(센터 뷰 픽처, center view)를 생성할 수 있다. 센터 뷰는 뷰잉 포지션(viewing position) 또는 뷰잉 포지션들의 그룹(group of viewing positions)를 나타내는 뷰를 의미할 수 있다. 센터 뷰 제너레이션은 하나 또는 그 이상의 레퍼런스 뷰에 기초하여 센터 뷰(센터 뷰 픽처)를 생성할 수 있고, 센터 뷰 제너레이션은 센터 뷰 제너레이션 정보(center view generation information)에 생성될 수 있다.
센터 뷰 제너레이션 정보는, 센터 뷰 제너레이션이 센터 뷰를 생성하기 위하여 사용되는 시그널링 정보를 의미할 수 있다. 센터 뷰 제너레이션 정보는 실시예로, 도 31의 alternative_viewing_position_id[ i ], alternative_view_distance, rec_center_view_generation_method_type[ i ], num_pictures_for_center_view_generation[ i ], viewing_position_id[ i ] 및/또는 center_view_generation_parameter[ i ] 를 포함하거나 그 중 일부만을 포함할 수 있다. 도 44에서 설명하는 센터 뷰(center view)는 센터 뷰 픽처(center view picture)로 호칭할 수도 있다.
센터 뷰(Center view)는, 실시예들에 따른 멀티-스피리컬(multi-spherical) 비디오 또는 이미지(또는 해당 픽처)의 중심 위치에 대한 스피리컬(spherical) 비디오 또는 이미지(video/image) 픽처를 의미할 수 있다. 실시예들에 따른 센터 뷰 제너레이션은 언패킹된 픽처들 내에 센터 뷰가 포함되어 있지 않은 경우 레퍼런스 뷰 픽처(또는 레퍼런스 뷰 픽처들)로부터 실시예들에 따른 센터 뷰를 생성할 수 있다. 즉, 센터 뷰가 입력 영상에 포함되어 있거나, 없는 경우 센터 뷰 제너레이션에 의해 가상시점생성을 통해 만들어 낼 수도 있다.
뷰 리제너레이션(View regeneration, 44003)는 언패킹된 하나 또는 그 이상의 레퍼런스 뷰들에 기초하여 재생성된 뷰(regenerated view)를 생성할 수 있다. 뷰 리제너레이션은 언패킹된 하나 또는 그 이상의 레퍼런스 뷰, 언패킹된 하나 또는 그 이상의 스파스 뷰(sparse view)들 및/또는 센터 뷰 제너레이션(44002)에 따라 생성된 센터 뷰(center view)에 기초하여 재생성된 뷰(regenerated view)를 생성할 수 있다. 또한, 재생성된 뷰(regenerated view)는 레퍼런스 뷰 정보(reference view information) 및/또는 리제너레이션 정보(regeneration information)에 기초하여 생성될 수 있다.
레퍼런스 뷰 정보(reference view information)는 하나 또는 그 이상의 레퍼런스 뷰들 또는 그 각각에 대한 정보를 나타내는 시그널링 정보를 의미할 수 있다. 또한, 리제너레이션 정보는 뷰 리제너레이션(44003)과 관련된 시그널링 정보를 의미할 수 있다. 레퍼런스 뷰 정보는 실시예들로 도 31에서 나타난 num_views_using_this_ref_view[ i ] 및/또는 viewing_position_id[ i ] 를 포함할 수 있다. 또한, 뷰 리제너레이션 정보는 실시예들에 따른 num_ref_views[ i ], view_regeneration_method_type[ i ], num_sparse_views[ i ] 및/또는 picture_id[ i ][ j ] 을 포함할 수 있다. 즉, 레퍼런스 뷰 정보 및/또는 리제너레이션 정보는 viewing_position_picture_type[ i ] == 1, 2에 의해 전달될 수 있는 정보를 포함하거나 그 중 일부만을 포함할 수 있다.
컨트롤러(controller, 44004)는 디코딩된 비트스트림에 포함된 뷰잉 포지션 그룹 정보(viewing position groun information)를 수신하여 파싱할 수 있다. 뷰잉 포지션 그룹 정보(viewing position groun information)는, 하나 또는 그 이상의 뷰잉 포지션에 대한 시그널링 정보의 그룹을 의미할 수 있다. 뷰잉 포지션 그룹 정보는 센터 뷰 제너레이션 정보(center view generation information), 레퍼런스 뷰 정보(reference view information), 리제너레이션 정보(regeneration information), 프리-제너레이션 정보(pre-generation information) 및/또는 뷰 합성 레코멘데이션 정보(view synthesis recommendation information)를 포함할 수 있다. 컨트롤러는 렌더링/뷰포트 제너레이션에 의해 생성된 실시예들에 따른 수신 장치에 관한 정보(예를 들어, 뷰포트 정보 및/또는 뷰잉 포지션에 대한 정보)를 수신하고 이에 기초하여 파싱할 수 있다.
컨트롤러(44004)는 실시예들로, 센터 뷰 제너레이션 정보(center view generation information)를 센터 뷰 제너레이션(44002)로 전달할 수 있다. 컨트롤러(44004)는 실시예들로, 레퍼런스 뷰 정보 및/또는 리제너레이션 정보를 뷰 리제너레이션(44003)으로 전달할 수 있다. 컨트롤러(44004)는 실시예들로, 프리-제너레이션 정보 및/또는 뷰 합성 레코멘데이션 정보를 뷰 신테시스(44005)로 전달할 수 있다.
뷰 신테시스(44005)는, 뷰 리제너레이션에 의해 재생성된 뷰(regenerated view)에 기초하여 뷰 합성(view synthesis)를 수행할 수 있다. 나아가, 뷰 신테시스는 센터 뷰 제너레이션에 의해 생성된 센터 뷰 및/또는 언패킹된 하나 또는 그 이상의 레퍼런스 뷰들에 기초하여 뷰 합성(또는 뷰 신테시스)을 수행할 수 있다. 뷰 신테시스는 실시예들에 따른 뷰 합성(View Synthesis)를 의미할 수 있다. 또한, 뷰 신테시스는 시그널링 정보인 프리-제너레이션 정보(pre-generation information) 및/또는 뷰 합성 레코멘데이션 정보(view synthesis recommendation information)에 기초하여 뷰 합성을 수행할 수 있다.
렌더링/뷰포트 제너레이션(rendering/viewport generation, 44006)은 뷰 신테시스(44005)에 의해 합성된 뷰를 뷰포트(viewport)를 생성하거나 렌더링할 수 있다.
실시예들에 따라 디코딩(44000), 언패킹(44001), 센터 뷰 제너레이션(44002), 뷰 리제너레이션(44003), 뷰 신테시스(44005) 및/또는 렌더링/뷰포트 제너레이션(44006) 각각은 실시예들에 따라 비디오 전송 장치가 수행할 수 있고, 이들 각각은 각각 디코딩부(또는 디코더), 언패킹부(또는 언패커), 센터 뷰 제너레이터(또는 센터 뷰 제너레이션부), 뷰 리제너레이션부(또는 뷰 리제너레이터), 뷰 신테사이저(또는 뷰 합성부) 및/또는 렌더링/뷰포트 제너레이터(또는 렌더링/뷰포트 생성부)에 의해 수행될 수 있다. 실시예들에 따른 컨트롤러(44004)는 실시예들에 따라 비디오 전송 장치가 수행할 수도 있다.
수신기는 헤드 모션 시차 및/또는 양안 시차가 제공되는 비디오 또는 다른 시점을 생성 할 수 있으며, 수신기는 변화하는 위치로 인터렉티브(interactive)한 비디오를 생성 할 수 있다. (Receivers could generate a video with head motion parallax and/or binocular disparity, or different viewpoints, which receivers could generate interactive video with changing locations.)
따라서, 실시예들에 따른 송수신 장치는 3DoF+ 비디오를 전송하기 위한 대역폭과 저장 장치의 저장공간을 줄일 수 있고, 헤드 모션 시차 및/또는 양안 시차가 제공되는 높은 품질의 3DoF+ 비디오를 보장할 수 있다. (Therefore, by saving bandwidth to deliver the 3DoF+ video or the storage space, high quality of 3DoF+ video which could provide head motion parallax could be achieved.) 즉, 이러한 구성으로 인해, 실시예들에 따른 수신 장치는 가상 현실 환경 속에서 사용자들의 행동에 따라 다른 시청각 경험을 제공할 수 있다. (Due to this configuration, receiver can provide different viewing experience with viewer’s action in the VR environment.)
실시예들에 따른 센터 뷰 제너레이션(44002)으로 인하여, 실시예들에 따른 수신 장치는 레퍼런스 뷰 픽쳐들 및/또는 센터 뷰 제너레이션 정보로부터 센터 뷰 픽쳐를 효율적으로 생성 또는 추정할 수 있다.
또한 실시예들에 따른 뷰 리제너레이션(44003)으로 인하여, 실시예들에 따른 수신 장치는 레퍼런스 뷰(레퍼런스 뷰 픽처), 스파스 뷰(스파스 뷰 픽처), 센터 뷰(센터 뷰 픽처), 레퍼런스 뷰 정보(reference view information) 및/또는 뷰 리제너레이션 정보(view regeneration informatin)를 포함하는 시그널링 정보에 기초하여 사용자가 원하는 뷰잉 포지션에 대한 재생성된 뷰(regenerated view)를 효율적으로 생성할 수 있다.
또한 실시예들에 따른 뷰 신테시스(44005)는 실시예들에 따른 센터 뷰 제너레이션에 의해 생성된 센터 뷰(center view), 프리-제너레이션 정보(pre-generation information) 및/또는 뷰 합성 레코멘데이션 정보(view synthesis recommandation information)에 기초하여 사용자가 원하는 뷰잉 포지션에 대한 정확한 뷰를 효율적으로 생성할 수 있다.
상술한 동작은 실시예들에 따른 시그널링 정보에 기반하여 3DoF+ 비디오 데이터의 전송 효율을 증가시키고, 디코딩 성능을 향상시킬 수 있는 효과를 제공한다.
도 45는 실시예들에 따른 디코더단의 동작 흐름을 나타낸다.
도 45는 실시예들에 따른 수신 장치의 디코더 포스트-프로세싱의 동작을 나타내며, 구체적으로 example of relationship between viewing positions due to the processing orders를 나타낸다.
레퍼런스 뷰들(reference views, 4500a)는 실시예들에 따른 언패킹된 레퍼런스 뷰 픽처들을 의미할 수 있다. 레퍼런스 뷰 픽처(reference view picture)들은, 하나 또는 그 이상의 소스 뷰 픽처(source view picture)에 대하여(또는 해당 뷰잉 포지션의 일부 또는 전부에 대하여) 기본 정보를 제공할 수 있는 픽처들을 의미할 수 있다. 레퍼런스 뷰는 현재 시점을 추정(또는 생성)하기 위해 사용되는 주변 시점의 영상이다. 레퍼런스 뷰(reference view)는 소스 뷰 픽처 또는 소스 뷰 이미지(source view picture/image)를 사용하거나, 가상시점합성으로 생성된 픽처 또는 이미지(picture/image)를 사용할 수도 있다. 즉, 실시예들에 따른 수신 장치에 따른 레퍼런스 뷰(reference view)는 소스 뷰 픽처(source view picture)일 수도 있고, 실시예들에 따른 인터미디에이트 뷰 픽처(intermediate view picture)일 수도 있다.
실시예들에 따른 레퍼런스 뷰(reference view)는 복수 개가 있을 수 있다. 예를 들어, 레퍼런스 뷰 r0 내지 레퍼런스 뷰 rN를 포함하는 복수 개의 레퍼런스 뷰들이 있을 수 있다. 즉 레퍼런스 뷰는 복수의 뷰잉 포지션 또는 복수의 주변 시점에 대한 픽처를 의미하고, 레퍼런스 뷰는 r0 내지 rN으로 나타낼 수 있다.
센터 뷰 제너레이션(4500)은 언패킹된 레퍼런스 뷰 픽처들의 전부 또는 일부에 기초하여 센터 뷰 픽처(center view, 4500b)를 생성할 수 있다. 센터 뷰 제너레이션은 도 28에서 설명한 실시예들에 따른 센터 뷰 제너레이션(2801b)를 의미할 수 있다.
센터 뷰(center view, 4500b, 4501a, 4502b)는 실시예들에 따라 센터 뷰 픽처(center view picture)를 의미할 수 있다. 센터 뷰 픽처는 도 42 및/또는 도 44에서 설명한 센터 뷰 픽처를 의미할 수 있다. 즉, 센터 뷰 픽처는, 실시예들들에 따른 멀티-스피리컬(multi-spherical) 비디오 또는 이미지(또는 해당 픽처)의 중심 위치에 대한 스피리컬(spherical) 비디오 또는 이미지(video/image) 픽처를 의미할 수 있다. 실시예들에 따른 센터 뷰 제너레이션은 언패킹된 픽처들 내에 센터 뷰가 포함되어 있지 않은 경우 레퍼런스 뷰 픽처(또는 레퍼런스 뷰 픽처들)로부터 실시예들에 따른 센터 뷰를 생성할 수 있다. 즉, 센터 뷰가 입력 영상에 포함되어 있거나, 없는 경우 센터 뷰 제너레이션에 의해 가상시점생성을 통해 만들어 낼 수도 있다.
실시예들에 따른 센터 뷰 제너레이션(4500)는 주변 시점에 대한 픽쳐들, 예를 들어 레퍼런스 뷰들로부터 중앙 시점에 대한 픽처인 센터 뷰를 생성한다.
여기서, 특정 픽처가 센터 뷰 픽처인지는 관련 시그널링 정보에 의해 알 수 있다. 실시예들로, 도 31에서 후술할 viewing_position_picture_type[ i ] 파라미터가 있을 수 있다. viewing_position_picture_type[ i ]는 i 번째 인덱스를 가지는 픽처의 타입 정보를 의미할 수 있다. 따라서, i 번째 인덱스를 가지는 특정 픽처가 센터 뷰라면, viewing_position_picture_type[ i ]는 0으로 나타내어질 수도 있다.
실시예들로, 실시예들에 따른 수신 장치의 디코더에서 언패킹된 픽처들 중 viewing_position_picture_type이 0인 픽처가 존재하는 경우(즉, 언패킹된 픽처들 중 센터 뷰 픽처가 존재하는 경우), 실시예들에 따른 디코더단(수신 장치)의 센터 뷰 제너레이션은 수행되지 않을 수도 있다. 그러나, 언패킹된 픽처들 중 viewing_position_picture_type이 0인 픽처가 존재하지 않는 경우(즉, 언패킹된 픽처들 중 센터 뷰 픽처가 하지 않는 경우) 실시예들에 따른 센터 뷰 제너레이션을 수행할 수 있다.
또한, 특정 픽처에 대한 프로세싱 순서와 관련된 시그널링 정보가 개시될 수 있다. 실시예들로, 도 31에서 후술할 view_position_processing_order_idx[ i ] 파라미터가 있을 수 있다. 여기서, 센터 뷰에 해당하는 픽처의 view_position_processing_order_idx 값은 0일 수 있다. 즉, 센터 뷰(center view)는 레퍼런스 뷰들로부터 우선적으로 처리되어야 하는 뷰를 의미할 수 있다.
스파스 뷰(sparse view, 4501b)는 실시예들에 따른 스파스 뷰 픽처(sparse view picture)를 의미할 수 있다. 스파스 뷰 픽처(sparse view picture)는 하나 또는 그 이상의 소스 뷰 픽처(source view picture)에 대하여(또는 해당 뷰잉 포지션의 일부 또는 전부에 대하여) 특이한 정보(또는 픽셀들)을 포함하는 픽처를 의미할 수 있다. 즉, 스파스 뷰 픽처(sparse view picture)는 실시예들에 따른 프루닝(pruning) 또는 소스 뷰 프루닝(source view pruning)을 통해 현재 시점을 주변 시점으로부터 추정했을 때 추정 불가한 정보를 담은 영상(또는 픽처)을 나타낸다. 이 때, 현재 시점의 영상에서 주변부와 중복되는 정보 (추정 가능한 정보)는 회색/검은색(또는 단색) 영역으로 나타낼 수 있으며, 이 때 추정이 불가한 정보가 스파스 뷰 픽처(sparse view picture)에 포함될 수 있다.
뷰 리제너레이션(view regenration, 4501)은 실시예들에 따른 센터 뷰(4501a) 및/또는 스파스 뷰(4501b)에 기초하여 재생성된 뷰(4501c)를 생성할 수 있다. 뷰 리제너레이션은(4501)은 도 44에서 설명한 실시예들에 따른 뷰 리제너레이션을 의미할 수 있다.
실시예들에 따른 뷰 리제너레이션(4500)는 센터 뷰 및/또는 스파스 뷰를 사용하여 효율적으로 뷰를 재생성(추정, 프레딕션)할 수 있다. 실시예들에 따른 센터 뷰는 수신된 레퍼런스 뷰들로부터 생성된다. 실시예들에 따른 수신된 스파스 뷰는 인코더 또는 송신기에서 뷰들 간 리던던시가 제거된(프루닝된) 픽쳐이므로, 추정이 불가능한 데이터를 포함한다. 실시예들에 따른 수신기는 생성한 센터 뷰(센터 뷰 픽처) 및/또는 스파스 뷰(스파스 뷰 픽처)만을 이용하여 뷰를 효율적으로 추정할 수 있다.
재생성된 뷰(regenerated view, 4501c, 4502c)는 센터 뷰(4501a) 및/또는 스파스 뷰(4501b)에 기초하여 생성된 픽처를 의미할 수 있다. 여기서, 특정 픽처가 재생성된 뷰 또는 그에 대한 픽처인지를 나타내는 시그널링 정보가 개시될 수 있다. 실시예들로, 도 31에서 후술할 viewing_position_picture_type[ i ] 파라미터가 있을 수 있다. viewing_position_picture_type[ i ]는 i 번째 인덱스를 가지는 픽처의 타입 정보를 의미할 수 있다. 따라서, i 번째 인덱스를 가지는 특정 픽처가 재생성된 뷰라면, viewing_position_picture_type[ i ]는 2로 나타내어질 수도 있다. 또한, 재생성된 뷰에 해당하는 픽처의 view_position_processing_order_idx 값은 1일 수 있다. 즉, 뷰 리제너레이션(4501)은 상술한 센터 뷰 제너레이션 이후에 수행되어야 하는 동작을 의미할 수 있다.
여기서 v0, v1은 view 0, view 1을 의미할 수 있고, v0 및 v1은 상호간에 인접한 시점일 수 있다. 도 45에서 스파스 뷰(4501b)는 v1 위치에서의 실시예들에 따른 스파스 뷰를 의미할 수 있고, 센터 뷰(4501b)를 통해 v1을 추정한 후 전달된 스파스 뷰(v1 위치)를 이용하여 최종적인 v1 위치에서의 뷰(view)를 생성하는 뷰 리제너레이션 과정을 나타낸낸다. 또한 도 45에서 시점 합성 (view synthesis) 을 할 때 중심(즉 센터 뷰에 대한 위치), v0, v1의 세 개 위치를 이용하는 예시로, center view, reference view (v0 위치에 대해 전달된 영상을 사용), regenerated view (v1 위치에 대해 sparse view를 통해 재구성된 영상을 사용)를 사용하여 임의의 시점을 생성할 수 있다.
다른 말로 하면, v0은 제 1 시점을 의미하고, v1은 제 2 시점을 의미할 수 있다. 즉, 뷰 리제너레이션은 실시예들에 따른 센터 뷰(4501a)를 이용하여 v0에 해당하는 제 1 시점에 대한 재생성된 뷰를 생성할 수 있다. 재생성된 뷰를 생성하기 위해 센터 뷰와 v0에 해당하는 제 1 시점에 대한 스파스 뷰를 이용할 수 있다. 구체적으로, 뷰 리제너레이션은 센터 뷰를 통해 v1을 추정한 후 전달된 스파스 뷰(v1 위치)를 이용하여 최종적인 v1 위치에서의 뷰(픽처)를 생성할 수 있다.
뷰 합성(뷰 신테시스)에 사용될 하나 또는 그 이상의 레퍼런스 뷰(4502b)는 상술한 레퍼런스 뷰들(4500a)의 전부 또는 일부의 픽처들을 의미할 수 있다.
뷰 신테시스(view synthesis, 4502)는 상술한 센터 뷰(4502a), 뷰 합성에 사용될 하나 또는 그 이상의 레퍼런스 뷰(4502b) 및/또는 실시예들에 따른 재생성된 뷰(4502c)에 기초하여 합성된 뷰(4502c)를 생성할 수 있다. 합성된 뷰는 임의의 뷰잉 포지션(arbitrary viewing position)을 의미할 수 있다. 임의의 뷰잉 포지션(arbitrary viewing position)은 타겟 뷰잉 포지션(target viewing position)으로 호칭할 수 있다. 뷰 신테시스는 실시예들로 도 44에서 설명한 뷰 신테시스(view synthesis, 44005)를 의미할 수 있다.
임의의 뷰잉 포지션(arbitrary viewing position, 4501c, 4502c)는 상술한 센터 뷰(4502a), 뷰 합성에 사용될 하나 또는 그 이상의 레퍼런스 뷰(4502b) 및/또는 실시예들에 따른 재생성된 뷰(4502c)에 기초하여 합성된 임의의 뷰잉 포지션에 대한 픽처 즉, 실시예들에 따른 합성된 뷰를 의미할 수 있다. 여기서, 특정 픽처가 합성된 뷰(4502c) 또는 그에 대한 픽처인지를 나타내는 시그널링 정보가 개시될 수 있다. 실시예들로, 도 31에서 후술할 viewing_position_picture_type[ i ] 파라미터가 있을 수 있다. viewing_position_picture_type[ i ]는 i 번째 인덱스를 가지는 픽처의 타입 정보를 의미할 수 있다. 따라서, i 번째 인덱스를 가지는 특정 픽처가 합성된 뷰라면, viewing_position_picture_type[ i ]는 4로 나타내어질 수도 있다. 또한, 합성된 뷰에 해당하는 픽처의 view_position_processing_order_idx 값은 2일 수 있다. 즉, 뷰 신테시스(4502)은 상술한 뷰 리제너레이션 이후에 수행되어야 하는 동작을 의미할 수 있다.
구체적으로 말하면, 뷰 신테시스(4502)는 임의의 시점에 대한 픽처를 생성하기 위하여 센터 뷰(4502a), 해당 임의의 시점과 관련된 시점에서의 레퍼런스 뷰(예를 들어, 제 1 시점인 v0에 대한 레퍼런스 뷰) 및/또는 해당 임의의 시점과 관련된 시점에서의 재생성된 뷰(예를 들어, 도 45에서는 제 2 시점에 대한 재생성된 뷰)를 이용할 수 있다. 즉, 뷰 신테시스(view synthesis)를 수행할 때 센터 뷰 픽처(중심에 대한 픽처), v0 시점과 관련된 픽처(예를 들어 v0에 대한 레퍼런스 뷰), v1 시점과 관련된 픽처(예를 들어 v1에 대한 재생성된 뷰) 세 개 위치를 이용할 수 있다. 즉, 도 45에서 도시된 바와 같이 센터 뷰(center view), 레퍼런스 뷰 (실시예로, v0 위치에 대해 전달된 영상을 사용), 재생성된 뷰(실시예로, v1 위치에 대해 스파스 뷰를 통해 재구성된 재생성된 픽처를 사용)를 사용하여 임의의 시점을 생성할 수 있다.
실시예들에 따른 디코더는 좀 더 높은 정확성을 제공하기 위해서, 뷰 신테시스를 수행할 수 있다. 예를 들어, 복수의 뷰잉 포지션에 대한 레퍼런스 뷰들로부터 생성된 센터 뷰, 센터 뷰 및/또는 제 1 뷰잉 포지션(또는 시점)에 대한 스파스 뷰(e.g, v1)로부터 추정된 뷰(e.g., v1) 그리고 인접한 제 2 시점에 대한 레퍼런스 뷰(e.g., v0)를 사용하여 최종적인 뷰잉 포지션에 대한 뷰를 합성할 수 있다.
수신기는 헤드 모션 시차 및/또는 양안 시차가 제공되는 비디오 또는 다른 시점을 생성 할 수 있으며, 수신기는 변화하는 위치로 인터렉티브(interactive)한 비디오를 생성 할 수 있다. (Receivers could generate a video with head motion parallax and/or binocular disparity, or different viewpoints, which receivers could generate interactive video with changing locations.)
따라서, 실시예들에 따른 송수신 장치는 3DoF+ 비디오를 전송하기 위한 대역폭과 저장 장치의 저장공간을 줄일 수 있고, 헤드 모션 시차 및/또는 양안 시차가 제공되는 높은 품질의 3DoF+ 비디오를 보장할 수 있다. (Therefore, by saving bandwidth to deliver the 3DoF+ video or the storage space, high quality of 3DoF+ video which could provide head motion parallax could be achieved.) 즉, 이러한 구성으로 인해, 실시예들에 따른 수신 장치는 가상 현실 환경 속에서 사용자들의 행동에 따라 다른 시청각 경험을 제공할 수 있다. (Due to this configuration, receiver can provide different viewing experience with viewer’s action in the VR environment.)
실시예들에 따른 센터 뷰 제너레이션(4500)으로 인하여, 실시예들에 따른 수신 장치는 레퍼런스 뷰 픽쳐들 및/또는 센터 뷰 제너레이션 정보로부터 센터 뷰 픽쳐를 효율적으로 생성 또는 추정할 수 있다.
또한 실시예들에 따른 뷰 리제너레이션(4501)으로 인하여, 실시예들에 따른 수신 장치는 레퍼런스 뷰(레퍼런스 뷰 픽처), 스파스 뷰(스파스 뷰 픽처), 센터 뷰(센터 뷰 픽처), 레퍼런스 뷰 정보(reference view information) 및/또는 뷰 리제너레이션 정보(view regeneration informatin)를 포함하는 시그널링 정보에 기초하여 사용자가 원하는 뷰잉 포지션에 대한 재생성된 뷰(regenerated view)를 효율적으로 생성할 수 있다.
또한 실시예들에 따른 뷰 신테시스(4502)는 실시예들에 따른 센터 뷰 제너레이션에 의해 생성된 센터 뷰(center view), 프리-제너레이션 정보(pre-generation information) 및/또는 뷰 합성 레코멘데이션 정보(view synthesis recommandation information)에 기초하여 사용자가 원하는 뷰잉 포지션에 대한 정확한 뷰를 효율적으로 생성할 수 있다.
또한, 상술한 실시예들로 인하여 실시예들에 따른 송신기는 모든 영상을 전송하지 않고, 실시예들에 따른 프루닝된(즉, 리던던시가 제거된), 수신기에서 추정에 필요한 영상만 전송함으로써 데이터 전소으이 효율을 증가시키고, 디코딩 성능을 향상시키는 효과를 제공할 수 있다.
또한, 상술한 동작은 실시예들에 따른 시그널링 정보에 기반하여 3DoF+ 비디오 데이터의 전송 효율을 증가시키고, 디코딩 성능을 향상시킬 수 있는 효과를 제공한다.
도 46은 실시예들에 따른 인코더 프리-프로세싱부(encoder pre-processing modules)의 프루닝 스킴(pruning scheme)을 나타낸다.
구체적으로 프루닝 스킴(pruning scheme)은 인코더 프리-프로세싱부의 실시예들에 따른 인터-뷰 리던던시 제거부 또는 프루닝부에서 수행하는 동작을 의미할 수 있다.
실시예들에 따른 뷰(view, 또는 픽처) 간의 정보 중복도를 줄이기 위한 방법으로써 사용하는 실시예들에 따른 프루닝(pruning)의 두 가지 케이스를 나타낸 것이다.
1) 하나의 reference view (c0)를 이용해 source view (v1)를 추정하고, 추정 불가한 정보 혹은 부가 정보에 해당하는 것을 sparse view (s1)로 전달하는 경우
2) 두개 이상의 reference view (c0, r1)를 이용해 source view (v2)를 추정하고, 추정 에러 혹은 부가 정보에 해당하는 것을 sparse view (s2)로 전달하는 경우
이 때, 송신되는 정보 (c0, s1, r1, s2)은 붉은색 테두리로 표시된 영상 정보는 송신한다는 것을 나타낸다.
실시예들에 따르면, 제 1 프루닝 (46000) (또는 프루너)은 커먼 레퍼런스 뷰 (common reference view, c0) 및 소스 뷰 (v1)에 기초하여 스파스 뷰, 예를 들어 s1 또는 제 1 스파스 뷰를 생성한다. 실시예들에 따르면, 스파스 뷰 (s1)는 커먼 레퍼런스 뷰 (c0)로부터 소스 뷰 (v1) 및/또는 소스 뷰 (v1)로부터 중심 뷰 (c0)를 감산함으로써 생성된다. 희소 뷰 (s1)는 예측 불가능한 데이터를 포함하는 픽쳐이며, 희소 뷰 (s1)의 회색 또는 검은 색 표시 영역은 커먼 레퍼런스 뷰 (c0)와 소스 뷰 (s1) 사이에 중복된 데이터 또는 리던던시이다. 희소 뷰 (s1)를 생성함으로써, 데이터를 인코딩 또는 전송하는 성능 및 효율이 증가될 수 있다.
제 2 프루닝 (46001) (또는 프루너)은 커먼 레퍼런스 뷰 (c0), 참조 뷰 (r1) 및/또는 소스 뷰 (v2)를 기반으로 스파스 뷰 (s2)를 생성한다. 예를 들어, 중앙 뷰 (c0)는 참조 뷰 (r1)에 추가되고 추가된 픽쳐는 소스 뷰 (v2)와 함께 차감된다.
패킹/인코딩 (46002) (또는 패커 / 인코더)은 스파스 뷰 (s1) 및 / 또는 스파스 뷰 (s2)를 패킹/인코딩한다.
실시예들에 따르면, 픽처를 포함하는 데이터를 인코딩/전송하기 위해 프루닝에 기초하여 s1 및 s2를 포함하는 다수의 스파스 뷰가 생성될 수 있다.
예를 들어, 복수의 뷰잉 포지션들 중 하나인 스파스 뷰 (s2) (s2에 대한 뷰 포인트)는 중심 뷰 (c0), r1에 대한 뷰포인트에 대한 참조 뷰 (r1) 및/또는 스파스 뷰(v2)를 프루닝함으로써 생성될 수 있다. 실시예들에 따르면, 프루닝은 커먼 레퍼런스 뷰 (common reference view, c0) 및 참조 뷰 (r1)를 더하고 v2의 시점에 대한 소스 뷰 (v2)를 뺀다.
실시예들에 따르면, 희소 뷰들은 패킹 및/또는 인코딩될 수 있다. 예를 들어, 스파스 뷰 (s1) 및 스파스 뷰 (s2) (또는 더 많은 스파스 뷰를 포함)는 패킹 및/또는 인코딩된다.
실시 예에 따르면, 용어 c0은 커먼 레퍼런스 시점/시점 위치 픽쳐이고, 용어 v1은 제 1 시점/ 시점 위치 소스 뷰 픽쳐이며, 용어 s1은 제 1 시점/시점 위치 희소 뷰 픽쳐이며, 용어 r1은 제 1 시점/시점 위치 참조 시점 픽쳐이고, 용어 v2는 제 2 시점/시점 위치 소스 시점 픽쳐이며, s2 항은 제 2 시점/시점 위치 희소 시점 픽쳐 및/또는 이와 유사한 방식으로 해석 될 수 있다. 실시예에 따르면, 커먼 레퍼런스 뷰는 중심 뷰(센터 뷰)를 의미할 수도 있다.
실시예들에 따른 인터-뷰 리던던시 제거부는 도 46에서 설명하는 실시예들에 따른 제 1 프루닝만을 수행할 수도 있고, 실시예들에 따른 제 2 프루닝만을 수행할 수도 있고, 제 1 프루닝 및 제 2 프루닝을 동시에 수행할 수도 있다. 또는, 복수 개의 소스 뷰들 중 일부에 대해서만 제 1 프루닝을 및/또는 나머지 일부에 대해서만 제 2 프루닝을 수행할 수도 있다. 여기서, 제 1 뷰잉 포지션과 제 2 뷰잉 포지션은 서로 다른 뷰잉 포지션을 의미한다.
따라서, 실시예들에 따른 비디오 전송 방법은 복수의 뷰잉 포지션(viewing positions)들에 대한 픽처(picture)들의 인터-뷰 리던던시를 제거하는 단계; 인터-뷰 리던던시가 제거된 픽처들을 패킹하는 단계; 및 패킹된 픽처들 및 시그널링 정보를 인코딩하는 단계; 를 포함할 수 있다.
또한, 실시예들에 따른 비디오 전송 장치는, 복수의 뷰잉 포지션(viewing positions)들에 대한 픽처(picture)들로부터 인터-뷰 리던던시 를 제거하는 인터-뷰 리던던시 제거부(inter-view redundancy remover); 인터-뷰 리던던시 제거된 픽처들을 패킹하는 패커(packer); 패킹된 픽처들 및 시그널링 정보를 인코딩하는 인코더(encoder); 를 포함할 수 있다.
도 47은 실시예들에 따른 디코더 포스트-프로세싱부(decoder post-processing modules)의 실시예들에 따른 뷰 리제너레이션(view regeneration)의 동작을 나타낸다.
본 도면은 실시예들에 따른 프루닝(pruning)을 이용해 정보 중복도가 제거된 정보가 수신된 경우 원래의 view 정보를 복원하는 view regeneration 과정을 나타낸 것이다.
첫째, 하나의 레퍼런스 뷰(reference view) (c0) 와 부가 정보 스파스 뷰(sparse view) (s1)가 전달된 경우, c0를 이용하여 타겟 뷰(target view)를 추정하고 (이 때 송신단에서 사용한 추정 방법을 이용) s1을 이용해 최종 target view를 복원한다. 이 때, 필요한 정보는 target view 의 위치/방향/회전 등의 정보, reference view의 위치/방향/회전 등의 정보, reference view로부터 target view 추정 방법, sparse view를 이용한 최종 regenerated view 생성 방법일 수 있다.
둘째, 두 개 이상의 reference view (c0, r1)와 부가 정보 sparse view (s2)가 전달된 경우, c0과 r1를 이용하여 target view를 추정하고 s2을 이용해 최종 target view를 복원한다. 이 때 필요한 정보는 target view 의 위치/방향/회전 등의 정보, reference view 각각의 위치/방향/회전 등의 정보, 복수의 reference view로부터 target view 추정 방법, sparse view를 이용한 최종 regenerated view 생성 방법일 수 있다.
이 때, view 2 를 복원하는 과정에서 전달된 reference view 가 아니라 수신단에서 view regeneration 을 통해 복원된 정보를 사용하도록 할 수 있으며 (위의 예시에서는 regenerated view v1을 r1 대신 사용하는 것을 점선 화살표로 나타내었다), 이 때에는 reference view r1를 보내지 않고 복원된 v1을 reference view로 사용해야함을 추가 정보로 전달할 수 있다.
다시 말하면, 실시예들에 따른 뷰 리제너레이션은 제 1 뷰 리제너레이션(view regeneration) 및 제 2 뷰 리제너레이션(47001)을 수행할 수 있다. 실시예들에 따른 제 1 뷰 리제너레이션 및/또는 제 2 뷰 리제너레이션은 상술한 실시예들에 따른 뷰 리제너레이션(또는 뷰 재생성부)에 포함되는 블록(또는 동작)을 의미할 수 있다.
제 1 뷰 리제너레이션(47000)은, 실시예들에 따른 커먼 레퍼런스 뷰 픽처(common reference view picture, c0) 및 실시예들에 따른 스파스 뷰 픽처(sparse view picture)를 이용하여 제 1 재생성된 뷰(regenerated view, v2)를 생성할 수 있다. 제 1 재생성된 뷰(v1)는, 제 1 뷰잉 포지션(viewing position)에 대한 재생성된 뷰를 의미할 수 있다. 여기서, 제 1 재생성된 뷰(v1)를 생산하기 위하여 사용되는 상술한 스파스 뷰 픽처는 제 1 스파스 뷰 픽처(s1)일 수 있다. 제 1 스파스 뷰 픽처(s1)는 상술한 제 1 뷰잉 포지션에 대한 스파스 뷰 픽처를 의미할 수 있다. 커먼 레퍼런스 뷰는 예를 들어 센터 뷰 픽처(또는 센터 뷰, c0)일 수 있다. 여기서 실시예들에 따른 커먼 레퍼런스 뷰는 센터 뷰 제너레이션(또는 센터 뷰 제너레이터)으로부터 생성된 센터 뷰 픽처를 의미할 수도 있고, 실시예들에 따른 인코더단으로부터 전송된 비트스트림에 포함된 센터 뷰 픽처를 의미할 수도 있다.
즉, 실시예들에 따른 뷰 재생성부는 수신한 스파스 뷰 픽처들에 포함된 제 1 뷰잉 포지션과 관련된 제 1 스파스 뷰 픽처(s1)와, 실시예들에 따른 커먼 레퍼런스 뷰 픽처(또는 센터 뷰 픽처, c0)를 이용하여 제 1 재생성된 뷰(v1)를 생성할 수 있다.
제 1 뷰 리제너레이션부가 제 1 재생성된 뷰(v1)를 생성하기 위하여, 제 1 뷰잉 포지션에 대한 정보를 이용할 수 있다. 예를 들어, 제 1 뷰 리제너레이션부는 제 1 재생성된 뷰(또는 제 1 타겟 뷰, v1)의 의 위치/방향/회전 등의 정보를 이용하여 제 1 재생성된 뷰(v1)를 생성할 수 있다. 또한, 제 1 뷰 리제너레이션부는 레퍼런스 뷰(reference view)들의 위치/방향/회전 등의 정보, 레퍼런스 뷰들(reference view)로부터 제 1 타겟 뷰(target view)를 추정하는 방법과 관련된 정보, 스파스 뷰(sparse view)들을 이용한 최종 재생성된 뷰들(regenerated view)에 대한 생성 방법과 관련된 정보 등을 이용할 수 있다.
제 2 뷰 리제너레이션(47001)은, 실시예들에 따른 커먼 레퍼런스 뷰 픽처(common reference view picture, c0) 및 실시예들에 따른 스파스 뷰 픽처(sparse view picture)를 이용하여 제 2 재생성된 뷰(regenerated view, v2)를 생성할 수 있다. 제 2 재생성된 뷰(v2)는, 제 1 뷰잉 포지션(viewing position)에 대한 재생성된 뷰를 의미할 수 있다. 여기서, 제 2 재생성된 뷰(v2)를 생산하기 위하여 사용되는 상술한 스파스 뷰 픽처는 제 2 스파스 뷰 픽처(s2)일 수 있다. 여기서, 제 1 뷰잉 포지션과 제 2 뷰잉 포지션은 서로 다른 뷰잉 포지션을 의미한다.
제 2 뷰 리제너레이션부가 제 2 재생성된 뷰(v2)를 생성하기 위하여, 제 2 뷰잉 포지션에 대한 정보를 이용할 수 있다. 예를 들어, 제 2 뷰 리제너레이션부는 제 2 재생성된 뷰(또는 제 1 타겟 뷰)의 의 위치/방향/회전 등의 정보를 이용하여 제 2 재생성된 뷰(v2)를 생성할 수 있다. 또한, 제 2 뷰 리제너레이션부는 레퍼런스 뷰(reference view)들의 위치/방향/회전 등의 정보, 레퍼런스 뷰들(reference view)로부터 제 2 타겟 뷰(target view, v2)를 추정하는 방법과 관련된 정보, 스파스 뷰(sparse view)들을 이용한 최종 재생성된 뷰들(regenerated view)에 대한 생성 방법과 관련된 정보 등을 이용할 수 있다.
실시예들에 따르면, 실시예들에 따른 디코더 포스트-프로세싱부는 제 1 뷰 리제너레이션 및/또는 제 2 뷰 리제너레이션이 사용되는지 여부와 관련된 시그널링 정보를 수신할 수 있다. 즉, 실시예들에 다른 제 2 재생성된 뷰를 재생성하기 위하여, 제 1 재생성된 뷰를 이용할 수 있음을 나타내는 정보를 시그널링할 수 있다. 이러한 시그널링 정보의 예시로는, 도 40에 따른 view_position_processing_order_idx일 수 있다.
이러한 구성으로 인해, 실시예들에 따른 비디오 전송 장치는, 전송할 레퍼런스 뷰 픽처, 스파스 뷰 픽처 또는 관련된 픽처들에 대한 전송량을 줄임으로써 송수신 효율성을 높일 수 있다. 또한, 실시예들에 따른 비디오 전송 장치는 레퍼런스 뷰 대신 전송량이 적은 스파스 뷰만을 전송함으로써 송수신되는 데이터의 양을 효과적으로 줄일 수 있다.
이러한 구성으로 인해, 실시예들에 따른 비디오 수신 장치는 수신되는 데이터의 양을 줄일 수 있어 수신기에 따른 메모리 및/또는 프로세서의 부담을 줄일 수 있다.
도 48은 실시예들에 따른 인코더 프리-프로세싱부(encoder pre-processing modules)의 프루닝 스킴(pruning scheme)의 실시예를 나타낸다.
실시예들에 따른 수신단에서 복원되는 재생성된 뷰(regenerated view)를 레퍼런스 뷰(reference view)로 사용하는 경우 프루닝(pruning) 및/또는 뷰 재생성(view regeneration)과정에서 정보가 손실 될 수 있는데, 이를 보완하기 위해 송신단에서 추가적인 고려를 해줄 수 있다.
실시예들에 따르면, 두 개 이상의 레퍼런스 뷰(reference view) (c0, v1)를 이용해 소스 뷰(source view) (v2)를 추정하고, 추정 에러 혹은 부가 정보에 해당하는 것을 스파스 뷰(sparse view) (s2)로 전달하는 경우 레퍼런스 뷰(reference view) 중 일부 (본 예제에서는 복원되는 v1)를 직접 전달하지 않고 복원된 정보를 사용함으로써 비트 효율을 높이는 경우를 가정하였다. 이 때, 송신단에서는 레퍼런스(reference) 뷰로 사용되는 v1의 복원 에러를 고려하여 스파스 뷰(sparse view) s2를 생성할 수 있다.
여기서, 실시예들에 따른 수신단에서 사용하게 될 뷰 리제너레이션(view regeneration)방법을 사용해 c0와 s1을 이용하여 v1을 복원한다. s2를 생성할 때 원본 source의 v1이 아닌 regenerated view v1을 이용하게 되면 'pruning/view regeneration 과정에서 정보가 손실된 v1'을 사용함으로써 source view v1을 사용할 때보다 prediction의 정확성이 떨어지는 등 수신기에서 발생할 수 있는 문제를 미리 재현할 수 있으며 이것이 source view v2와의 오차에 반영된다. 이 경우 r1을 직접 보내지 않는다는 점에서 비트 효율을 향상시킬 수 있다.
실시예들에 따른 인코더 프리-프로세싱부(encoder pre-processing modules)의 프루닝 스킴(pruning scheme)은 제 1 프루닝 과정(48000), 인코더단의 뷰 리제너레이션(view regeneration, 48001) 및/또는 제 2 프루닝 과정(48002)을 수행할 수 있다. 달리 말하면, 실시예들에 따른 인코더 프리-프로세싱부는 제 1 프루닝 과정을 수행하는 제 1 프루닝부(48000), 인코더단의 뷰 리제너레이션을 수행하는 인코더단 뷰 리제너레이터(view regenerator, 48001) 및/또는 제 2 프루닝 과정을 수행하는 제 2 프루닝부(48002)를 포함할 수 있다.
여기서, 프루닝이란, 하나 또는 그 이상의 픽처(또는 뷰) 내에서 공통되는 부분(또는 영역)을 제거하고, 실시예들에 따른 수신 장치에 의해 예측하기(estimate, predict) 어려운 부분에 대한 정보(또는 픽처)를 생성하는 것이다. 즉, 제 1 픽처를 이용하여 제 2 픽처를 프루닝한다(또는 제 2 픽처를 이용하여 제 1 픽처를 프루닝한다)고 함은, 제 1 픽처와 제 2 픽처의 공통 영역(또는 공통 부분)을 제거하고 제 1 픽처에만 존재하는 특수(unique)한 정보(픽처의 영역) 및/또는 제 2 픽처에만 존재하는 특수(unique)한 정보를 나타내는 픽처(즉, 스파스 뷰 픽처)를 생성한다. 예를 들면, 실시예들에 따른 프루닝부는 제 1 픽처와 제 2 픽처의 차이(difference) 연산을 이용하여 스파스 뷰 픽처를 생성할 수 있다. 실시예들에 따른 프루닝부에 따른 동작의 전부 또는 일부를 의미할 수 있다. 프루닝은 인터-뷰 리던던시 제거(inter-view redundancy removal)로 호칭될 수도 있다. 상술한 실시예들에 따른 프루닝을 하는 방법(또는 실시예)는 프루닝 스킴(pruning scheme)이라고 호칭할 수도 있다.
또한, 여기서 인코더단의 뷰 리제너레이션은 실시예들에 따른 전송 장치에 포함된 뷰 리제너레이션으로, 실시예들에 따른 수신 장치에 포함된 뷰 리제너레이션을 의미할 수도 있다. 즉, 뷰 리제너레이션부는 제 1 뷰잉 포지션에 대한 레퍼런스 뷰와 스파스 뷰를 이용하여 제 1 뷰잉 포지션에 대한 타겟 뷰를 생성하기 위한 픽처를 생성하는 것이다.
제 1 프루닝 과정(또는 제 1 프루닝부, 48000)은, 실시예들에 따른 커먼 레퍼런스 뷰 (common reference view) 픽처 (c0)를 이용하여 실시예들에 따른 소스 뷰(source view)들의 제 1 소스 뷰를 프루닝(pruning)하여 제 1 스파스 뷰를 생성할 수 있다. 제 1 소스 뷰는 제 1 뷰잉 포지션에 대한 소스 뷰를 의미한다. 또한 제 1 스파스 뷰는 제 1 뷰잉 포지션에 대한 스파스 뷰를 의미한다. 여기서 커먼 레퍼런스 뷰 (c0) 는 실시예들에 따른 센터 뷰를 의미할 수 있다.
인코더단의 뷰 리제너레이션 과정(또는 인코더단의 뷰 리제너레이터, 48001)은 실시예들에 따른 커먼 레퍼런스 뷰 (c0) 및 상술한 제 1 스파스 뷰 (s1)에 기초하여 임의 재생성된 뷰 (또는 임의 재생성된 뷰 픽처, temporally regenerated view, v1)을 생성할 수 있다. 여기서 임의 재생성된 뷰는 인코더에 의해 인코딩될 수도 있고 인코딩되지 않을 수도 있다.
제 2 프루닝 과정(또는 제 2 프루닝부, 48002)는, 실시예들에 따른 커먼 레퍼런스 뷰 (common reference view) 픽처 (c0) 및/또는 상술한 임의 재생성된 뷰 픽처를 이용하여, 실시예들에 따른 소스 뷰(source view)들의 제 2 소스 뷰를 프루닝(pruning)할 수 있다. 이 때, 제 2 소스 뷰(v2)를 프루닝하여 제 2 스파스 뷰(s2)를 생성할 수 있다. 제 2 소스 뷰(v2)는 제 2 뷰잉 포지션에 대한 소스 뷰를 의미한다. 또한 제 2 스파스 뷰(s2)는 제 2 뷰잉 포지션에 대한 스파스 뷰를 의미한다. 여기서 커먼 레퍼런스 뷰 (c0) 는 실시예들에 따른 센터 뷰를 의미할 수 있다.
여기서 제 2 스파스 뷰는 실시예들에 따른 인코더에 의해 인코딩될 수 있다. 제 2 스파스 뷰는 실시예들에 따른 디코더단의 뷰 리제너레이션에서 재생성된 뷰를 생성하는 과정에서, 발생할 수 있는 에러를 송신단에서 재생성하여, 그 에러에 대한 스파스 뷰를 의미할 수 있다.
인코더(encoder, 48003)은 실시예들에 따른 인코딩을 수행한다. 인코더는 실시예들에 따른 커먼 레퍼런스 뷰 픽처(c0), 제 1 스파스 뷰(s1) 픽처 및/또는 제 2 스파스 뷰(s2) 픽처를 인코딩할 수 있다. 실시예들에 따른 인코더는 수신 장치에게 비트스트림 형태로 상술한 커먼 레퍼런스 뷰 픽처(c0), 제 1 스파스 뷰 픽처(s1) 및/또는 제 2 스파스 뷰 픽처(s2)를 전송할 수 있다. 여기서, 제 1 뷰잉 포지션과 제 2 뷰잉 포지션은 서로 다른 뷰잉 포지션을 의미한다.
따라서 실시예들에 따른 비디오 전송 방법은, 복수의 뷰잉 포지션들에 대한 픽처들에 포함된 소스 뷰 픽처들에 기초하여 센터 뷰 픽처(center view picture) 및/또는 센터 뷰 제너레이션 정보(center view generation information)를 생성하는 단계; 및 소스 뷰 픽처들에 기초하여 중간 뷰 픽처를 합성하는 단계, 중간 뷰 픽처를 합성하는 단계는 프리-제너레이션 정보(pre-generation information) 및/또는 뷰 합성 레코멘데이션 정보(view synthesis recommendation information)를 생성함; 를 더 포함할 수 있다. 이 때, 인터-뷰 리던던시를 제거하는 단계는 소스 뷰 픽처들, 중간 뷰 픽처 및/또는 센터 뷰 픽처 중 적어도 두 개의 픽처에 기초하여 스파스 뷰(sparse view) 픽처들을 생성할 수 있고, 인터-뷰 리던던시를 제거하는 단계는 레퍼런스 뷰(reference view) 픽처들, 레퍼런스 뷰 정보(reference view information) 및 리제너레이션 정보(regeneration information)를 더 생성할 수 있다.
여기서 실시예들에 따른 비디오 전송 방법은, 스파스 뷰 픽처들의 제 1 스파스 뷰 픽처 및 센터 뷰(연구원 문의. 같은 건지. 명세서 설명 위해서라도.) 픽처에 기초하여 임시 재생성된 뷰 픽처(temporally regenerated view picture)를 생성하는 단계 및 임시 재생성된 뷰 픽처 및 센터 뷰 픽처로부터 추측된 소스 뷰를 프루닝(pruning)하는 단계를 더 포함할 수 있다. 또한, 프루닝하는 단계는 제 2 스파스 뷰 픽처를 생성할 수 있고, 인코딩하는 단계는 제 2 스파스 뷰 픽처를 더 인코딩할 수 있다.
이러한 실시예들에 따른 인코더 프리-프로세싱부의 구조는 실시예들에 따른 프루닝으로 인한 스파스 뷰, 뷰 리제너레이션으로 인한 템포럴리 리제너레이티드 뷰, 프루닝으로 인한 스파스 뷰를 생성하여 실시예들에 따른 수신 장치의 뷰 재생성(view regeneration) 과정을 점검함으로써, 수신 장치에 의해 발생될 수 있는 오류를 방지할 수 있고, 전송 장치에 의해 발생된 인코딩 과정에서의 에러를 검출할 수 있다.
또한, 실시예들에 따른 인코더 프리-프로세싱부의 구조는 실시예들에 따른 프루닝으로 인한 스파스 뷰, 뷰 리제너레이션으로 인한 템포럴리 리제너레이티드 뷰, 프루닝으로 인한 스파스 뷰에 의해, 수신 장치의 뷰 재생성 과정을 재연함으로써, 수신 장치를 사용하는 사용자들(viewers)에게 정확하고 실제와 같은 가상현실 환경을 제공할 수 있다.
또한 실시예들에 따른 수신 장치는 적은 양의 데이터로 사용자들에게 필요한 뷰들을 효율적이고 정확하게 제공할 수 있다. 이러한 실시예들에 따른 구성은 비디오 전송 장치 및 수신 장치의 연산량 부담을 줄일 수 있다.
도 49는 실시예들에 따른 디코더 포스트-프로세싱부(decoder post-processing modules)의 실시예들에 따른 뷰 리제너레이션(view regeneration)을 나타낸다.
실시예들에 따른 인코더 디코더 포스트-프로세싱부(decoder post-processing modules)의 실시예들에 따른 뷰 리제너레이션(first view regeneration)은 제 1 템포럴리 재생성된 뷰 픽처를 생성하기 위한 제 1 뷰 리제너레이션 과정(49000), 및/또는 제 1 템포럴리 재생성된 뷰를 이용하여 제 2 뷰 리제너레이션(second view regeneration, 49001)을 수행할 수 있다. 달리 말하면, 실시예들에 따른 디코더 포스트-프로세싱부는 제 1 뷰 리제너레이션 과정을 수행하는 제 1 리제너레이터(49000), 제 2 뷰 리제너레이션 과정을 수행하는 제 2 뷰 리제너레이터를 포함할 수 있다.
에러에 강인하도록 인코딩 된 정보의 경우 실시예들에 따른 수신기를 그대로 사용할 수 있다. 다만 view 2를 복원할 때 view 1을 reference view로 사용하기 때문에 view 1 regeneration후에 view 2 regeneration 이 이루어 져야 한다는 view 간의 복원 순서가 중요하게 되며, 이를 view 2 regeneration 관련 메타데이터 혹은 관련 시스템에 추가적으로 전달할 수 있다.
따라서 첫째, 하나의 reference view (c0) 와 부가 정보 sparse view (s1)가 전달된 경우, c0를 이용하여 target view를 추정하고 (이 때 송신단에서 사용한 추정 방법을 이용) s1을 이용해 최종 target view를 복원할 수 있다. 여기서, 필요한 정보는 타겟 뷰(target view)의 위치/방향/회전 등에 대한 정보, 레퍼런스 뷰(reference view)의 위치/방향/회전 등의 정보, 레퍼런스 뷰(reference view)로부터 타겟 뷰(target view)를 추정하는 방법에 관한 정보, 스파스 뷰(sparse view)를 이용한 최종 재생성된 뷰(regenerated view) 생성 방법 관련 정보를 포함할 수 있다.
또한 둘째, 두 개 이상의 레퍼런스 뷰(reference view) (c0, r1)와 부가 정보 스파스 뷰(sparse view) (s2)가 전달된 경우, c0과 r1를 이용하여 타겟 뷰(target view)를 추정하고 s2을 이용해 최종 타겟 뷰(target view)를 복원한다. 여기서 필요한 정보는 타겟 뷰(target view)의 위치/방향/회전 등의 정보, 레퍼런스 뷰(reference view) 각각의 위치/방향/회전 등의 정보, 복수의 레퍼런스 뷰(reference view)로부터 타겟 뷰(target view) 추정 방법, 스파스 뷰(sparse view)를 이용한 최종 재생성된 뷰(regenerated view)생성 방법 관련 정보를 포함할 수 있다. 또한 레퍼런스 뷰(reference view)의 전달 여부, 레퍼런스 뷰(reference view)의 생성 방법 (view regeneration 방법 및 이 때 필요한 정보와 영상에 관한 정보(예를 들어, c0, s1), reference view 위치, error robust하게 생성 되었는지 여부 등)을 포함할 수 있다.
실시예들에 따른 뷰 리제너레이션은 제 1 뷰 리제너레이션(view regeneration, 49000) 및 제 2 뷰 리제너레이션(49001)을 수행할 수 있다. 도 49에서 나타난 실시예들에 따른 제 1 뷰 리제너레이션 및/또는 제 2 뷰 리제너레이션은 상술한 실시예들에 따른 뷰 리제너레이션(또는 뷰 재생성부)에 포함되는 블록(또는 동작)을 의미할 수 있다.
제 1 뷰 리제너레이션(또는 제 1 뷰 리제너레이터, 49000)은, 실시예들에 따른 커먼 레퍼런스 뷰 픽처(common reference view picture, c0) 및/또는 수신한 스파스 뷰 픽처들의 제 1 스파스 뷰 픽처를 이용하여 임시 재생성된 뷰(또는 타겟 뷰, v1)를 생성할 수 있다. 제 1 스파스 뷰 픽처는 제 1 뷰잉 포지션에 대한 스파스 뷰 픽처를 의미할 수 있다. 제 1 스파스 뷰 픽처는 수신한 스파스 뷰 픽처들 내에 포함된다. 실시예들에 따른 커먼 레퍼런스 뷰 픽처(c0)는 센터 뷰(또는 중앙 뷰)를 의미할 수 있다. 제 1 뷰 리제너레이션은 제 1 뷰잉 포지션에 대한 타겟 픽처를 생성할 수도 있다. 즉, 임시 재생성된 뷰는 제 1 뷰잉 포지션에 대한 타겟 픽처일 수도 있다.
제 1 뷰 리제너레이션부가 제 1 재생성된 뷰(v1)를 생성하기 위하여, 제 1 뷰잉 포지션에 대한 정보를 이용할 수 있다. 예를 들어, 제 1 뷰 리제너레이션부는 제 1 재생성된 뷰(또는 제 1 타겟 뷰, v1)의 의 위치/방향/회전 등의 정보를 이용하여 제 1 재생성된 뷰(v1)를 생성할 수 있다. 또한, 제 1 뷰 리제너레이션부는 레퍼런스 뷰(reference view)들의 위치/방향/회전 등의 정보, 레퍼런스 뷰들(reference view)로부터 제 1 타겟 뷰(target view)를 추정하는 방법과 관련된 정보, 스파스 뷰(sparse view)들을 이용한 최종 재생성된 뷰들(regenerated view)에 대한 생성 방법과 관련된 정보 등을 이용할 수 있다.
제 2 뷰 리제너레이션(또는 제 2 뷰 리제너레이터, 49001)은 제 2 뷰잉 포지션에 대한 타겟 픽처를 생성한다. 이 때, 제 2 뷰 리제너레이션(또는 제 2 리제너레이션부는) 상술한 생성된 임시 재생성된 뷰(또는 제 1 뷰잉 포지션에 대한 타겟 픽처) 및/또는 제 2 스파스 뷰 픽처 (s2)를 이용하여 제 2 재생성된 뷰 픽처(v2)를 생성할 수 있다.
제 2 뷰 리제너레이션부가 제 2 재생성된 뷰(v2)를 생성하기 위하여, 제 2 뷰잉 포지션에 대한 정보를 이용할 수 있다. 예를 들어, 제 2 뷰 리제너레이션부는 제 2 재생성된 뷰(또는 제 1 타겟 뷰)의 의 위치/방향/회전 등의 정보를 이용하여 제 2 재생성된 뷰(v2)를 생성할 수 있다. 또한, 제 2 뷰 리제너레이션부는 레퍼런스 뷰(reference view)들의 위치/방향/회전 등의 정보, 레퍼런스 뷰들(reference view)로부터 제 2 타겟 뷰(target view, v2)를 추정하는 방법과 관련된 정보, 스파스 뷰(sparse view)들을 이용한 최종 재생성된 뷰들(regenerated view)에 대한 생성 방법과 관련된 정보 등을 이용할 수 있다. 예를 들어, 레퍼런스 뷰(reference view)(들)이 전달되었는지 여부, 레퍼런스 뷰의 생성 방법과 관련된 정보(즉, 제 1 뷰 리제너레이션과 관련된 정보로써, 제 1 뷰 리제너레이션의 뷰 재생성 방법 등), 레퍼런스 뷰의 위치, 에러 로버스트하게 생성되었는지 여부에 관한 정보를 이용할 수 있다. 예를 들면, 실시예들에 따른 view_regeneration_method_type, num_ref_views, num_views_using_this_ref_view, viewing_position_picture_type, picture_id, view_regeneration_method_type 등이 이용될 수 있다.
실시예들에 따르면, 실시예들에 따른 디코더 포스트-프로세싱부는 제 1 뷰 리제너레이션 및/또는 제 2 뷰 리제너레이션이 사용되는지 여부와 관련된 시그널링 정보를 수신할 수 있다. 즉, 실시예들에 다른 제 2 재생성된 뷰를 재생성하기 위하여, 제 1 재생성된 뷰를 이용할 수 있음을 나타내는 정보를 시그널링할 수 있다. 이러한 시그널링 정보의 예시로는, 도 40에 따른 view_position_processing_order_idx일 수 있다.
도 50은 실시예들에 따른 디코더 포스트-프로세싱부(decoder post-processing modules)의 실시예들에 따른 뷰 리제너레이션(view regeneration)을 나타낸다.
실시예들에 따른 regenerated view를 사용함으로 인해 발생하는 오류를 고려하는 것 (좌측 <BOX 1>)에 더하여 packed picture를 encoding하는 과정에서 발생하는 오류를 추가적으로 고려 (우측 <BOX 2>)할 수 있다.
즉, 인코딩 디코딩 과정에서 발생할 수 있는 오류를 재현하기 위해 1) sparse view 및 reference view 등 전송되어야 할 정보들을 packing 한 후에 2) target bitrate로 encoding 을 하고, 생성된 bitstream에 대해 3) decoding 및 4) unpacking 과정을 거쳐서 reference view와 sparse view를 획득할 수 있다. 이 때, 각각의 영상은 encoding/decoding으로 인한 오류를 가지고 있는데, 이들을 이용하여 view regeneration 과정을 거치게 되면 수신기에서 영상 재현 시 에 발생하는 코딩 오류와 view regeneration 으로 인한 오류가 발생한 영상이 view regeneration 에서 미치는 영향을 고려할 수 있으며, 이렇게 재현된 c0, s1, v1을 바탕으로 source view v2를 추정하고 생성된 sparse view s2에는 '코딩으로 인해 발생할 수 있는 오류'와 'reference view regeneration 으로 인해 발생하는 오류' 가 모두 반영되게 된다.
실시예들에 따른 인코더 프리-프로세싱부는 제 1 프루닝부(50000), 인코더단의 제 1 뷰 리제너레이션부(50001), 제 2 프루닝부(50002), 제 1 패킹/인코딩부(50003, packing/encoder), 인코더단의 디코더/언패킹부(50004, decoder/unpacking), 인코더단의 제 2 뷰 리제너레이션부(50005), 제 3 프루닝부(50006) 및/또는 제 2 패킹/인코딩부(50007)를 포함한다. 도 50에서 나타난 실시예들에 따른 제 1 뷰 리제너레이션 및/또는 제 2 뷰 리제너레이션은 상술한 실시예들에 따른 뷰 리제너레이션(또는 뷰 재생성부)에 포함되는 블록(또는 동작)을 의미할 수 있다. 또한, 실시예들에 따른 제 1 프루닝부, 제 2 프루닝부 및/또는 제 3 프루닝부는 실시예들에 따른 인터-뷰 리던던시 제거부에 포함될 수도 있다. 또한, 패킹/인코딩부는 실시예들에 따른 패커(packer, 또는 패킹부) 및/또는 인코딩부(encoding, 또는 인코더)를 포함하는 개념이다.
제 1 프루닝부(50000)는, 실시예들에 따른 커먼 레퍼런스 뷰 픽처(c0)를 이용하여 실시예들에 따른 제 1 소스 뷰 픽처(v1)를 프루닝(또는 인터-뷰 리던던시 제거)하여 제 1 스파스 뷰를 생성할 수 있다. 제 1 소스 뷰 픽처는 소스 뷰 픽처들 중 제 1 뷰잉 포지션에 대한 소스 뷰 픽처를 의미한다. 또한 제 1 스파스 뷰 픽처는 인터-뷰 리던던시 제거부에 의해 생성된 스파스 뷰 픽처들 중 제 1 뷰잉 포지션에 대한 스파스 뷰 픽처를 의미한다. 생성된 제 1 스파스 뷰 픽처는 제 1 패킹/인코딩부 및/또는 제 2 패킹/인코딩부에 의해 패킹되고 인코딩될 수 있다.
여기서, 커먼 레퍼런스 뷰란 레퍼런스 뷰(reference view)로서 실시예들에 따른 프루닝부 또는 실시예들에 따른 인코더단의 제 1 뷰 리제너레이션부에 공통적으로 사용되는 뷰를 의미할 수 있다. 예를 들어, 여기서 커먼 레퍼런스 뷰 (c0) 는 실시예들에 따른 센터 뷰를 의미할 수 있다.
소스 뷰 픽처(sourc view picture, 또는 소스 뷰)란, 실시예들에 따른 인코더 프리-프로세싱부가 획득한 원본 픽처(또는 원본 영상)을 의미한다. 스파스 뷰 픽처(sparse view picture, 또는 스파스 뷰)란, 실시예들에 따른 프루닝부에 의해 리던던시(redundancy)가 제거된 픽처를 의미한다.
인코더단의 제 1 뷰 리제너레이션부(50001)는, 실시예들에 따른 커먼 레퍼런스 뷰 픽처(c0) 및/또는 상술한 제 1 스파스 뷰 픽처(s1)에 기초하여 임시 재생성된 뷰 (v1)를 생성한다. 여기서 임시 재생성된 뷰 (v1)는 제 1 뷰잉 포지션에 대한 타겟 뷰와 관련된 픽처이다. 임시 재생성된 뷰는 실시예들에 따른 제 1 패킹/인코더부 및/또는 제 2 패킹/인코더부에 의해 패킹 및/또는 인코딩될 수도 있고, 안될 수도 있다. 즉, 임시 재생성된 뷰는 실시예들에 따른 수신단으로 전송될 수도 있고 전송되지 않을 수도 있다.
제 2 프루닝부(50002)는, 실시예들에 따른 커먼 레퍼런스 뷰 픽처(c0) 및/또는 상술한 임시 재생성된 뷰에 기초하여 추정된 제 2 소스 뷰 픽처(v2)를 프루닝(또는 인터-뷰 리던던시 제거)하여 템포랄 스파스 뷰(temporal sparse view)를 생성할 수 있다. 이 때, 제 2 소스 뷰 픽처는 수신한 소스 뷰들 내에 포함된 제 2 뷰잉 포지션과 관련된 소스 뷰 픽처를 의미할 수도 있고, 상술한 임시 재생성된 뷰와 커먼 레퍼런스 뷰 픽처(c0)로부터 추청된 제 2 뷰잉 포지션에 대한 소스 뷰 픽처를 의미할 수도 있다. 템포랄 스파스 뷰 픽처(s2)는 소스 뷰 픽처들 중 제 2 뷰잉 포지션에 대한 소스 뷰 픽처를 의미할 수 있다. 즉 템포랄 스파스 뷰 픽처는 제 1 뷰 리제너레이션부에 의해 생성된 제 1 뷰잉 포지션에 대한 재생성된 뷰를 이용하여 추정된 제 2 소스 뷰에 대한 에러들을 포함할 수 있다.
실시예들에 따른 인코더단의 제 1 뷰 리제너레이션부 및/또는 제 2 프루닝부는 수신 장치로 하여금 패킹(packing)에 의한 영향을 최소화(또는 고려)하기 위한 목적을 지닌다.
제 1 패킹/인코더부(50003)은 상술한 제 1 스파스 뷰 픽처(s1) 및/또는 상술한 템포랄 스파스 뷰 픽처(s2)를 수신하여 실시예들에 따라 패킹된 픽처(packed picture)로 패킹할 수 있고, 패킹된 픽처를 실시예들에 따라 인코딩하여 비트스트림을 출력할 수 있다.
인코더단의 디코더/언패킹부(50004)는, 실시예들에 따른 제 1 패킹/인코더부(50003)으로부터 생성된 비트스트림을 실시예들에 따라 디코딩한 후, 디코딩된 비트스트림에 대하여 언패킹(unpacking)을 수행할 수 있다. 실시예들에 따른 디코더/언패킹부는 제 1 패킹/인코더부로부터 수신한 비트스트림을 디코딩 및/또는 언패킹하여 임시 디코딩된 커먼 레퍼런스 뷰(temporally decoded common reference view, c0) 및/또는 제 1 뷰잉 포지션에 대한 임시 디코딩된 스파스 뷰(temporally decoded sparse view, s1)를 포함할 수 있다.
임시 디코딩된 커먼 레퍼런스 뷰(temporally decoded sparse view, 또는 템포럴리 디코딩된 커먼 레퍼런스 뷰 픽처)는 실시예들에 따른 인코더-프리 프로세싱부가 패킹/인코딩한 비트스트림을 뷰 재생성하기 위하여 다시 디코딩/언패킹하여 생성한 커먼 레퍼런스 뷰 픽처를 의미한다. 또한, 임시 디코딩된 스파스 뷰 픽처는 실시예들에 따른 인코더-프리 프로세싱부가 패킹/인코딩한 비트스트림을 뷰 재생성하기 위하여 다시 디코딩/언패킹하여 생성한 스파스 뷰 픽처이다. 템포럴리 리제너레이티트 뷰란 실시예들에 따른 인코더-프리 프로세싱부가 패킹/인코딩한 비트스트림을 뷰 재생성하기 위하여 다시 디코딩/언패킹하고 인코더단의 뷰 리제너레이션부에 의해 임시로 생성된 뷰를 의미한다.
디코디드 센터 뷰(decoded center view)란, 임시 디코딩된 커먼 레퍼런스의 예일 수 있다.
임시 디코딩된 커먼 레퍼런스 뷰 및/또는 임시 디코딩된 스파스 뷰 픽처들은 패킹/인코딩부에 의해 패킹 및/또는 인코딩된 비트스트림이 다시 디코딩 및/또는 언패킹되는 경우 생성되는 픽처일 수 있다. 여기서 임시 디코딩된 스파스 뷰 픽처들은, 제 1 뷰잉 포지션에 대한 임시 디코딩된 스파스 뷰(s1)을 포함할 수 있다.
인코더단의 제 2 뷰 리제너레이션부(50005)는, 실시예들에 따른 임시 디코딩된 커먼 레퍼런스 뷰(c0) 픽처 및/또는 실시예들에 따른 제 1 뷰잉 포지션에 대한 임시 디코딩된 스파스 뷰 픽처(s1)에 기초하여 제 1 재생성된 뷰(v1, regenerated view)를 생성할 수 있다. 이 때, 임시 디코딩된 커먼 레퍼런스 뷰 픽처는 상술한 커먼 레퍼런스 뷰 픽처와 동일할 수도 있고 다를 수도 있다. 또한, 임시 디코딩된 커먼 레퍼런스 뷰 픽처는 디코딩된 센터 뷰로 호칭될 수도 있다.
제 3 프루닝부(50006)는 실시예들에 따른 디코딩된 센터 뷰 및/또는 상술한 제 1 재생성된 뷰(v1)을 이용하여 추정된 제 2 추정 소스 뷰(v2)를 프루닝하여 에러 로버스트 스파스 뷰 픽처(error robust sparse view picture, s2)를 생성할 수 있다. 여기서 제 1 재생성된 뷰는 제 1 뷰잉 포지션과 관련된 재생성된 뷰를 의미한다. 또한, 제 2 추정 소스 뷰는 제 2 뷰잉 포지션과 관련된 임시 생성된 소스 뷰를 의미한다. 여기서 제 2 추정 소스 뷰는 상술한 제 2 소스 뷰 픽처와 동일할 수도 있고 다를 수도 있다. 또한, 에러 로버스트 스파스 뷰 픽처(s2)는 제 2 뷰잉포지션에 대한 스파스 뷰 픽처를 의미할 수 있다.
에러 로버스트 스파스 뷰 픽처(error robust sparse view picture, s2)란, 실시예들에 따른 인코더 프리-프로세싱부의 디코딩/언패킹 및/또는 뷰 리제너레이션 및/또는 프루닝부에 의해 추가적으로 검출된 오류를 나타내는 픽처를 의미한다. 즉, 에러 로버스트 스파스 뷰 픽처는 수신기로 하여금 발생할 수 있는 추가 오류를 더 방지하여 에러 강인성(error robustness)를 보장하기 위한 픽처이다. 에러 로버스트 스파스 뷰 픽처는 제 1 재생성된 뷰를 재생성하는 과정에서 발생할 수 있는 오류(v1 regeneration error)에 대한 정보, 수신 장치가 센터 뷰를 생성하거나 디코딩/언패킹을 수행하면서 발생할 수 있는 오류(c0, s1 encoding error)에 대한 정보를 포함할 수 있다.
제 2 패킹/인코더부(50007)는, 실시예들에 따른 에러 로버스트 스파스 뷰 픽처 및/또는 상술한 제 1 스파스 뷰 픽처를 패킹 및/또는 인코딩할 수 있다. 제 2 패킹/인코더부는, 상술한 제 1 스파스 뷰 픽처(s1) 및/또는 에러 로브스트 스파스 뷰 픽처(s2)를 수신하여 실시예들에 따라 패킹된 픽처(packed picture)로 패킹할 수 있고, 패킹된 픽처를 실시예들에 따라 인코딩하여 비트스트림을 출력할 수 있다.
따라서 실시예들에 따른 비디오 전송 방법은, 복수의 뷰잉 포지션들에 대한 픽처들에 포함된 소스 뷰 픽처들에 기초하여 센터 뷰 픽처(center view picture) 및/또는 센터 뷰 제너레이션 정보(center view generation information)를 생성하는 단계; 및 소스 뷰 픽처들에 기초하여 중간 뷰 픽처를 합성하는 단계, 중간 뷰 픽처를 합성하는 단계는 프리-제너레이션 정보(pre-generation information) 및/또는 뷰 합성 레코멘데이션 정보(view synthesis recommendation information)를 생성함; 를 더 포함할 수 있다. 이 때, 인터-뷰 리던던시를 제거하는 단계는 소스 뷰 픽처들, 중간 뷰 픽처 및/또는 센터 뷰 픽처 중 적어도 두 개의 픽처에 기초하여 스파스 뷰(sparse view) 픽처들을 생성할 수 있고, 인터-뷰 리던던시를 제거하는 단계는 레퍼런스 뷰(reference view) 픽처들, 레퍼런스 뷰 정보(reference view information) 및 리제너레이션 정보(regeneration information)를 더 생성할 수 있다.
실시예들에 따른 비디오 전송 방법은, 패킹 및 인코딩된 픽처들을 디코딩 및 언패킹하는 단계 임시 디코딩된 공통 레퍼런스 뷰 픽처 및 임시 디코딩된 스파스 뷰 픽처에 기초하여 재생성된 뷰를 생성하는 단계 및, 재생성된 뷰 및 임시 디코딩된 공통 레퍼런스 뷰 픽처로부터 추측된 소스 뷰 픽처를 프루닝하는 단계를 포함할 수 있다.
여기서, 디코딩 및 언패킹된 픽처들은 임시 디코딩된 공통 레퍼런스 뷰 픽처(temporally decoded common reference view picture) 및 임시 디코딩된 스파스 뷰 픽처(temporally decoded sparse view picture)를 포함할 수 있다. 또한, 프루닝하는 단계는 오류 로버스트 스파스 뷰 픽처(error robust sparse view picture)를 생성할 수 있다. 또한, 패킹하는 단계는 오류 로버스트 스파스 뷰 픽처를 더 패킹할 수 있다.
이러한 실시예들에 따른 인코더 프리-프로세싱부의 구조는 도 50의 <BOX 1> 및/또는 <BOX 2>에서 나타난 구성요소 전부 또는 일부를 더 수행함으로써, 실시예들에 따른 수신 장치의 뷰 재생성(view regeneration) 과정을 점검할 수 있다. 따라서, 실시예들에 따른 전송 장치는, 수신 장치에 의해 발생될 수 있는 오류를 방지하여 오류 강인성(error robustness)를 보장할 수 있고, 비디오 전송 장치에 의해 발생된 인코딩 과정에서의 에러를 검출할 수 있다.
또한 실시예들에 따른 인코더 프리-프로세싱부의 구조는 실시예들에 따른 수신 장치의 디코딩 동작, 언패킹 동작, 실시예들에 따른 센터 뷰 제너레이션 동작, 중간 뷰 생성 동작 등을 재연함으로써 발생할 수 있는 오류를 미리 검출할 수 있다. 따라서, 실시예들에 따른 수신 장치는 비디오 전송 장치로부터 정확하고 오류 없는 데이터를 수신할 수 있다.
또한, 실시예들에 따른 인코더 프리-프로세싱부의 구조는 수신 장치의 뷰 재생성 과정을 재연함으로써, 수신 장치를 사용하는 사용자들(viewers)에게 정확하고 실제와 같은 가상현실 환경을 제공할 수 있다.
또한 실시예들에 따른 수신 장치는 적은 양의 데이터로 사용자들에게 필요한 뷰들을 효율적이고 정확하게 제공할 수 있다. 이러한 실시예들에 따른 구성은 전송 장치 및 수신 장치의 연산량 부담을 줄일 수 있다.
도 51은 실시예들에 따른 디코더 포스트-프로세싱부(decoder post-processing modules)의 실시예들에 따른 뷰 리제너레이션(view regeneration)을 나타낸다.
에러에 강인하도록 인코딩 된 정보의 경우 기존 수신기를 그대로 사용할 수 있다. 다만 view 2를 복원할 때 view 1을 reference view로 사용하기 때문에 view 1 regeneration후에 view 2 regeneration 이 이루어 져야 한다는 view 간의 복원 순서가 중요하게 되며, 이를 view 2 regeneration 관련 메타데이터 혹은 관련 시스템에 추가적으로 전달할 수 있다.
따라서 첫째, 하나의 레퍼런스 뷰(reference view, 또는 공통 레퍼런스 뷰, 센터 뷰 픽처) (c0) 와 부가 정보 sparse view (s1)가 전달된 경우, c0를 이용하여 타겟 뷰(target view)를 추정하고 (이 때 송신단에서 사용한 추정 방법을 이용) s1을 이용해 최종 타겟 뷰(target view)를 복원할 수 있다. 이 때, 필요한 정보는, 타겟 뷰(target view) 의 위치/방향/회전 등의 정보, 레퍼런스 뷰(reference view)의 위치/방향/회전 등의 정보, 레퍼런스 뷰(reference view)로부터 타겟 뷰(target view) 추정 방법, 스파스 뷰(sparse view)를 이용한 최종 재생성된 뷰(regenerated view)생성 방법에 관한 정보를 포함할 수 있다.
또한 둘째, 두 개 이상의 reference view (c0, r1)와 부가 정보 sparse view (s2)가 전달된 경우, c0과 r1를 이용하여 target view를 추정하고 s2을 이용해 최종 target view를 복원할 수 있다. 이 때 필요한 정보는 타겟 뷰(target view)의 위치/방향/회전 등의 정보, 레퍼런스 뷰(reference view)각각의 위치/방향/회전 등의 정보, 복수의 레퍼런스 뷰(reference view)로부터 타겟 뷰(target view)추정 방법, 스파스 뷰(sparse view)를 이용한 최종 재생성된 뷰(regenerated view)생성 방법에 관한 정보를 포함할 수 있다. 또한 레퍼런스 뷰(reference view)전달 여부, 레퍼런스 뷰(reference view)생성 방법, 뷰 리제너레이션(view regeneration)방법 및 이 때 필요한 정보와 영상 : c0, s1), 레퍼런스 뷰(reference view)위치, 에러 로버스트(error robust)하게 생성 되었는지 여부 및 고려된 에러(error)의 종류 등이 요구될 수 있다.
구체적으로 말하면, 실시예들에 따른 뷰 리제너레이션은 제 1 뷰 리제너레이션(view regeneration, 51000) 및 제 2 뷰 리제너레이션(51001)을 수행할 수 있다. 도 49에서 나타난 실시예들에 따른 제 1 뷰 리제너레이션 및/또는 제 2 뷰 리제너레이션은 상술한 실시예들에 따른 뷰 리제너레이션(또는 뷰 재생성부)에 포함되는 블록(또는 동작)을 의미할 수 있다.
제 1 뷰 리제너레이션(또는 제 1 뷰 리제너레이터, 51000)은, 실시예들에 따른 커먼 레퍼런스 뷰 픽처(common reference view picture, c0) 및/또는 수신한 스파스 뷰 픽처들의 제 1 스파스 뷰 픽처를 이용하여 임시 재생성된 뷰(또는 타겟 뷰, v1)를 생성할 수 있다. 제 1 스파스 뷰 픽처는 제 1 뷰잉 포지션에 대한 스파스 뷰 픽처를 의미할 수 있다. 제 1 스파스 뷰 픽처는 수신한 스파스 뷰 픽처들 내에 포함된다. 실시예들에 따른 커먼 레퍼런스 뷰 픽처(c0)는 센터 뷰(또는 중앙 뷰)를 의미할 수 있다. 제 1 뷰 리제너레이션은 제 1 뷰잉 포지션에 대한 타겟 픽처를 생성할 수도 있다. 즉, 제 1 재생성된 뷰(또는 임시 재생성된 뷰)는 제 1 뷰잉 포지션에 대한 타겟 픽처일 수도 있다.
제 1 뷰 리제너레이션부가 제 1 재생성된 뷰(v1)를 생성하기 위하여, 제 1 뷰잉 포지션에 대한 정보를 이용할 수 있다. 예를 들어, 제 1 뷰 리제너레이션부는 제 1 재생성된 뷰(또는 임시 재생성된 뷰, 제 1 타겟 뷰, v1)의 의 위치/방향/회전 등의 정보를 이용하여 제 1 재생성된 뷰(v1)를 생성할 수 있다. 또한, 제 1 뷰 리제너레이션부는 레퍼런스 뷰(reference view)들의 위치/방향/회전 등의 정보, 레퍼런스 뷰들(reference view)로부터 제 1 타겟 뷰(target view)를 추정하는 방법과 관련된 정보, 스파스 뷰(sparse view)들을 이용한 최종 재생성된 뷰들(regenerated view)에 대한 생성 방법과 관련된 정보 등을 이용할 수 있다.
제 2 뷰 리제너레이션(또는 제 2 뷰 리제너레이터, 51001)은 제 2 뷰잉 포지션에 대한 타겟 픽처를 생성한다. 이 때, 제 2 뷰 리제너레이션(또는 제 2 리제너레이션부는) 상술한 생성된 제 1 재생성된 뷰(또는 임시 재생성된 뷰, 제 1 뷰잉 포지션에 대한 타겟 픽처) 및/또는 제 2 스파스 뷰 픽처 (s2)를 이용하여 제 2 재생성된 뷰 픽처(v2)를 생성할 수 있다.
제 2 뷰 리제너레이션부가 제 2 재생성된 뷰(v2)를 생성하기 위하여, 제 2 뷰잉 포지션에 대한 정보를 이용할 수 있다. 예를 들어, 제 2 뷰 리제너레이션부는 제 2 재생성된 뷰(또는 제 1 타겟 뷰)의 의 위치/방향/회전 등의 정보를 이용하여 제 2 재생성된 뷰(v2)를 생성할 수 있다. 또한, 제 2 뷰 리제너레이션부는 레퍼런스 뷰(reference view)들의 위치/방향/회전 등의 정보, 레퍼런스 뷰들(reference view)로부터 제 2 타겟 뷰(target view, v2)를 추정하는 방법과 관련된 정보, 스파스 뷰(sparse view)들을 이용한 최종 재생성된 뷰들(regenerated view)에 대한 생성 방법과 관련된 정보 등을 이용할 수 있다.
실시예들에 따르면, 실시예들에 따른 디코더 포스트-프로세싱부는 제 1 뷰 리제너레이션 및/또는 제 2 뷰 리제너레이션이 사용되는지 여부와 관련된 시그널링 정보를 수신할 수 있다. 또한, 제 1 뷰 리제너레이션이 수행된 후 제 2 뷰 리제너레이션이 수행되는지 등 그 순서와 관련된 시그널링 정보를 수신할 수 있다. 이는 실시예로 리제너레이션 정보(regeneration information)에 포함될 수 있다.
또한, 레퍼런스 뷰 픽처(reference view)가 추가적으로 전달되는 경우, 레퍼런스 뷰의 생성 방법과 관련된 정보 등이 추가적으로 전달될 수 있다. 또한, 해당 레퍼런스 뷰 픽처의 위치, 해당 레퍼런스 뷰 픽처가 실시예들에 따른 인코더단에 의해 에러-강인하게(error-robust) 생성되었는지 여부 및/또는 해당 에러의 종류에 관한 정보를 더 포함할 수 있다.
예를 들어, 레퍼런스 뷰(reference view)(들)이 전달되었는지 여부, 레퍼런스 뷰의 생성 방법과 관련된 정보(즉, 제 1 뷰 리제너레이션과 관련된 정보로써, 제 1 뷰 리제너레이션의 뷰 재생성 방법 등), 레퍼런스 뷰의 위치, 에러 로버스트하게 생성되었는지 여부에 관한 정보를 이용할 수 있다. 예를 들면, 실시예들에 따른 view_regeneration_method_type, num_ref_views, num_views_using_this_ref_view, viewing_position_picture_type, picture_id, view_regeneration_method_type 등이 이용될 수 있다.
실시예들에 따른 비디오 수신 방법은 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 단계; 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 단계, 언패킹된 비트스트림은 시그널링 정보를 포함함; 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 단계; 및, 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 단계; 를 포함할 수 있다.
또한, 실시예들에 따른 비디오 수신 장치는, 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 디코더(decoder); 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 언패커(unpacker); 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 뷰 재생성부(view regenerator); 및, 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 뷰 합성부(view synthesizer); 를 포함할 수 있다.
상술한 실시예들에 따른 제 1 뷰 리제너레이션 및 제 1 재생성된 뷰를 이용한 제 2 뷰 리제너레이션과 같은 구성으로 인해, 실시예들에 따른 수신 장치는 재생성된 뷰(regenerated view)들을 정확하고 효율적으로 생성할 수 있다. 또한, 실시예들에 따른 수신 장치는 제 2 뷰포인트(또는 제 2 뷰잉 포지션)에 대한 픽처를 생성하기 위해 제 1 뷰포인트(또는 제 1 뷰잉 포지션)에 대한 픽처를 이용함으로써 적은 양의 데이터로 효율적으로 뷰들을 재생성할 수 있다.
또한, 실시예들에 따른 전송 장치는 제 2 뷰포인트(또는 제 2 뷰잉 포지션)에 대한 픽처를 제공하기 위해 제 1 뷰포인트(또는 제 1 뷰잉 포지션)에 대한 픽처만을 전송함으로써 데이터 송신의 효율성을 높일 수 있고, 연산량을 감소시킬 수 있다.
도 52는 실시예들에 따른 인코더 프리-프로세싱부(encoder pre-processing modules)의 프루닝 스킴(pruning scheme)의 실시예를 나타낸다.
실시예들에 따른 인코더 프리-프로세싱부(encoder pre-processing modules)의 프루닝 스킴(pruning scheme)으로 제 1 스파스 뷰를 위한 프루닝(52000), 제 2 스파스 뷰를 위한 제 1 프루닝(52001, 제 2 스파스 뷰를 위한 제 1 프루닝부, 제 2 스파스 뷰를 위한 제 1 프루너), 제 2 스파스 뷰를 위한 제 2 프루닝(52002, 제 2 스파스 뷰를 위한 제 2 프루너, 제 2 스파스 뷰를 위한 제 2 프루닝부) 및 스파스 뷰 셀렉션(52003, 스파스 뷰 셀렉션부, sparse view selection)을 포함할 수 있다. 실시예들에 따른 프루닝 스킴은 실시예들에 따른 인터-뷰 리던던시 제거부에서 수행될 수도 있다. 실시예들에 따른 프리-프로세싱부는 패킹/인코딩부(52004, packing/encoding)를 포함할 수 있다.
pruning 정보의 정확성 및 효율성을 높이기 위해 송신단에서 위의 그림과 같이 다양한 입력 영상을 바탕으로 target view를 추정하고 이를 통해 생성된 sparse view를 비교하여 선택적으로 전달하는 방법을 구성할 수 있다. 이 때 추정하기 위해 사용하는 영상의 수를 변화시킬 수도 있고, 서로 다른 영상을 사용할 수도 있다.
sparse view selection 은 복원된 영상의 객관적 화질 혹은 오류 여부 등을 근거로 판단할 수 있으며, 이를 위해 sparse view 및 reference view 를 바탕으로 영상을 재구성 (view regeneration) 하여 원본 영상과 비교 (e.g., WS-PSNR, hole을 통한 prediction error detection 등) 하는 과정을 거칠 수 있다.
여기서, sparse view selection은 sparse view 의 정보가 적은 것을 select할 수 있다. selection 에 따라서 reference view에 대한 정보가 다르게 전달될 수 있다.
제 1 스파스 뷰를 위한 프루닝(52000)은 실시예들에 따른 커먼 레퍼런스 뷰 픽처(c0) 및 실시예들에 따른 소스 뷰들의 제 1 소스 뷰(v1)를 이용하여(또는 기초하여) 제 1 뷰잉 포지션을 위한 스파스 뷰 픽처(s1)를 생성할 수 있다. 다시 말하면, 제 1 스파스 뷰를 위한 프루닝은, 제 1 소스 뷰(v1)를 실시예들에 따른 커먼 레퍼런스 뷰 픽처(c0)를 이용하여 프루닝하여 제 1 뷰잉 포지션을 위한 스파스 뷰 픽처(s1)를 생성한다. 여기서 제 1 소스 뷰(v1)은 실시예들에 따른 소스 뷰들 중 제 1 뷰잉 포지션에 대한 소스 뷰를 의미한다.
제 2 스파스 뷰를 위한 제 1 프루닝(52001)은 실시예들에 따른 커먼 레퍼런스 뷰 픽처(c0) 및 실시예들에 따른 소스 뷰들의 제 2 소스 뷰(v2)를 이용하여(또는 기초하여) 제 2 뷰잉 포지션을 위한 제 1 스파스 뷰 픽처(s2-1)를 생성할 수 있다. 다시 말하면, 제 2 스파스 뷰를 위한 제 1 프루닝은, 제 2 소스 뷰(v2)를 실시예들에 따른 커먼 레퍼런스 뷰 픽처(c0)를 이용하여 프루닝하여 제 2 뷰잉 포지션을 위한 제 1 스파스 뷰 픽처(s2-1)를 생성한다. 여기서 제 2 소스 뷰(v2)은 실시예들에 따른 소스 뷰들 중 제 2 뷰잉 포지션에 대한 소스 뷰를 의미한다. 제 2 뷰잉 포지션은 제 1 뷰잉 포지션과 다른 뷰잉 포지션이다.
제 2 스파스 뷰를 위한 제 2 프루닝(52001)은 실시예들에 따른 제 1 소스 뷰(v1) 및 실시예들에 따른 소스 뷰들의 제 2 소스 뷰(v2)를 이용하여(또는 기초하여) 제 2 뷰잉 포지션을 위한 제 2 스파스 뷰 픽처(s2-1)를 생성할 수 있다. 다시 말하면, 제 2 스파스 뷰를 위한 제 2 프루닝은, 제 2 소스 뷰(v2)를 실시예들에 따른 제 1 소스 뷰(v1)를 이용하여(또는 제 1 소스 뷰를 실시예들에 다른 제 2 소스 뷰를 이용하여) 프루닝하여 제 2 뷰잉 포지션을 위한 제 2 스파스 뷰 픽처(s2-2)를 생성한다.
즉, 제 2 스파스 뷰를 위한 제 1 프루닝(52002)과 제 2 스파스 뷰를 위한 제 2 프루닝(52002)은 제 2 소스 뷰와 관련된 스파스 뷰인, 제 2 뷰잉 포지션에 대한 스파스 뷰 픽처를 생성한다. 즉, 제 2 뷰잉 포지션과 관련된 스파스 뷰를 생성하기 위하여 제 2 스파스 뷰를 위한 제 1 프루닝은 실시예들에 따른 커먼 레퍼런스 뷰 픽처(또는 센터 뷰 픽처)를 이용하고, 제 2 스파스 뷰를 위한 제 2 프루닝은 실시예들에 다른 제 1 소스 뷰를 이용한다.
스파스 뷰 셀렉션(52003)은 상술한 제 2 뷰잉 포지션을 위한 제 1 스파스 뷰 픽처(s2-1) 및/또는 제 2 뷰잉 포지션을 위한 제 2 스파스 뷰 픽처(s2-2) 중 하나(또는 그 이상)을 선택한다. 여기서 스파스 뷰 셀렉션은 상술한 제 2 뷰잉 포지션을 위한 제 1 스파스 뷰 픽처(s2-1) 및/또는 제 2 뷰잉 포지션을 위한 제 2 스파스 뷰 픽처(s2-2) 중 데이터의 양이 작은 것을 선택할 수 있다.
스파스 뷰 셀렉션(52003)은 상술한 제 2 뷰잉 포지션을 위한 제 1 스파스 뷰 픽처(s2-1) 및/또는 제 2 뷰잉 포지션을 위한 제 2 스파스 뷰 픽처(s2-2) 중, 이들에 기초하여 복원되는 영상이 생성되는 경우 발생할 수 있는 오류의 양(예를 들어, 화질의 변화 등) 및 오류의 질 등을 확인할 수 있다. 예를 들어 스파스 뷰 셀렉션은, 복원 영상의 오류 여부를 확인하기 위해 실시예들에 따른 스파스 뷰들(sparse views) 및 레퍼런스 뷰들(reference views)을 이용하여 영상을 재구성 (또는 뷰 리제너레이션) 하여 원본 영상(예를 들어, 소스 뷰 픽처들)과 비교 (e.g., WS-PSNR, hole을 통한 prediction error detection 등) 하는 과정을 거칠 수 있다.
패킹/인코딩부(52004)는 실시예들에 따른 스파스 뷰들을 패킹 및/또는 인코딩할 수 있다. 여기서 패킹/인코딩부(52004)는 상술한 제 1 뷰잉 포지션에 대한 스파스 뷰 픽처(s1) 및 스파스 뷰 셀렉션(52003)에 의해 선택된 제 2 뷰잉 포지션을 위한 스파스 뷰 픽처(s2-1 또는 s2-2)를 패킹 및/또는 인코딩할 수 있다.
예를 들어, 만약 제 2 뷰잉 포지션에 대한 제 2 스파스 뷰 픽처(s2-2)의 데이터 양이 제 2 뷰잉 포지션에 대한 제 1 스파스 뷰 픽처(s2-1)의 데이터 양보다 크다면, 실시예들에 따른 스파스 뷰 셀렉션은 제 2 뷰잉 포지션에 대한 제 1 스파스 뷰 픽처(s2-1)를 선택하고, 실시예들에 따른 패킹/인코딩부는 제 1 뷰잉 포지션에 대한 스파스 뷰 픽처(s1) 및 제 2 뷰잉 포지션에 대한 제 1 스파스 뷰 픽처(s2-1)를 패킹 및/또는 인코딩할 수 있다.
다른 예로, 만약 제 2 뷰잉 포지션에 대한 제 2 스파스 뷰 픽처(s2-2)의 추정되는 오류가 제 2 뷰잉 포지션에 대한 제 1 스파스 뷰 픽처(s2-1)의 추정되는 오류보다 크다면, 실시예들에 따른 스파스 뷰 셀렉션은 제 2 뷰잉 포지션에 대한 제 1 스파스 뷰 픽처(s2-1)를 선택하고, 실시예들에 따른 패킹/인코딩부는 제 1 뷰잉 포지션에 대한 스파스 뷰 픽처(s1) 및 제 2 뷰잉 포지션에 대한 제 1 스파스 뷰 픽처(s2-1)를 패킹 및/또는 인코딩할 수 있다.
따라서 실시예들에 따른 비디오 전송 방법은, 복수의 뷰잉 포지션들에 대한 픽처들에 포함된 소스 뷰 픽처들에 기초하여 센터 뷰 픽처(center view picture) 및/또는 센터 뷰 제너레이션 정보(center view generation information)를 생성하는 단계; 및 소스 뷰 픽처들에 기초하여 중간 뷰 픽처를 합성하는 단계, 중간 뷰 픽처를 합성하는 단계는 프리-제너레이션 정보(pre-generation information) 및/또는 뷰 합성 레코멘데이션 정보(view synthesis recommendation information)를 생성함; 를 더 포함할 수 있다. 이 때, 인터-뷰 리던던시를 제거하는 단계는 소스 뷰 픽처들, 중간 뷰 픽처 및/또는 센터 뷰 픽처 중 적어도 두 개의 픽처에 기초하여 스파스 뷰(sparse view) 픽처들을 생성할 수 있고, 인터-뷰 리던던시를 제거하는 단계는 레퍼런스 뷰(reference view) 픽처들, 레퍼런스 뷰 정보(reference view information) 및 리제너레이션 정보(regeneration information)를 더 생성할 수 있다.
여기서, 실시예들에 따른 인터-뷰 리던던시 제거하는 단계는, 제 1 뷰잉 포지션과 관련된 제 1 소스 뷰 픽처를 센터 뷰 픽처에 기초하여 제 1 프루닝하는 단계, 여기서 제 1 프루닝하는 단계는 제 1 스파스 뷰 픽처를 생성함; 제 1 소스 뷰 픽처를 제 1 뷰잉 포지션과 다른 제 2 뷰잉 포지션과 관련된 제 2 소스 뷰 픽처에 기초하여 제 2 프루닝하는 단계, 여기서 제 2 프루닝하는 단계는 제 2 스파스 뷰 픽처를 생성함; 제 1 스파스 뷰 픽처 및 제 2 스파스 뷰 픽처 중 하나의 픽처를 선택하는 단계; 를 포함할 수 있고, 인코딩하는 단계는 제 1 스파스 뷰 픽처 및 제 2 스파스 뷰 픽처 중 선택된 하나의 픽처를 더 인코딩할 수 있다.
실시예들에 따른 전송 장치는, 스파스 뷰 셀렉션부(sparse view selection)를 하나의 뷰잉 포지션에 대하여 스파스 뷰 픽처를 이용하여 선택함으로써 전송 장치 및 수신 장치의 송수신 환경에 대응하여 데이터의 양과 연산량을 조절하는 적응적 인터-뷰 리던던시 제거 동작을 수행할 수 있다. 따라서, 실시예들에 따른 전송 장치는 전송 장치의 송신 환경 및 수신 장치의 수신 환경을 고려하여 스파스 뷰를 선택함으로써 송수신 환경에 신속하게 대응할 수 있다.
또한, 실시예들에 따른 전송 장치는, 스파스 뷰 셀렉션부(sparse view selection)를 하나의 뷰잉 포지션에 대하여 스파스 뷰 픽처를 이용하여 선택함으로써 하나의 뷰잉 포지션에 대한 다양한 스파스 뷰 픽처의 오류의 양을 판단하여 오류가 적은 픽처를 선택하고, 수신 장치를 사용하는 사용자들(viewer)에게 정확하고 실제와 같은 가상 현실 환경을 제공할 수 있다.
도 53는 실시예들에 따른 디코더 포스트-프로세싱부(decoder post-processing modules)의 실시예들에 따른 뷰 리제너레이션(view regeneration)을 나타낸다.
실시예들에 따른 뷰 리제너레이션은 제 1 뷰 리제너레이션(view regeneration, 53000) 및 제 2 뷰 리제너레이션(53001)을 수행할 수 있다. 도 53에서 나타난 실시예들에 따른 제 1 뷰 리제너레이션 및/또는 제 2 뷰 리제너레이션은 상술한 실시예들에 따른 뷰 리제너레이션(또는 뷰 재생성부)에 포함되는 블록(또는 동작)을 의미할 수 있다.
실시예들에 따르면, 디코더 (또는 수신기)는 리제너레이트된 뷰 (v1, v2 등)를 생성하기 위해 뷰 리제너레이션을 수행한다.
제 1 뷰 리제너레이션 (53000) (또는 뷰 재생기)은 커먼 레퍼런스 뷰(c0) 및 스파스 뷰 픽처들 중 제 1 스파스 뷰 (s1)에 기초하여 리제너레이티드 뷰(v1)를 재생성(생성)한다. 예를 들어, 재생 뷰 (v1)는 센터 뷰 픽처 및 제 1 스파스 뷰 픽처(s1)에 기초하여 예측 될 수 있다. 여기서 제 1 스파스 뷰 픽처는 실시예들에 따른 수신한 스파스 뷰 픽처들 중 제 1 뷰잉 포지션에 대한 스파스 뷰 픽처를 의미한다. 또한 커먼 레퍼런스 뷰(또는 커먼 레퍼런스 뷰 픽처)는 센터 뷰일 수 있다. 즉, 예를 들어 커먼 레퍼런스 뷰 픽처는 디코딩단의 센터 뷰 제너레이션에 의해 생성된 센터 뷰 픽처일 수도 있고, 인코딩단으로부터 수신한 센터 뷰 픽처를 의미할 수 있다.
제 2 뷰 리제너레이션(53001)은 실시예들에 다른 수신한 스파스 뷰들 중 제 2 뷰잉 포지션에 대한 스파스 뷰(즉, 제 2 스파스 뷰, 또는 제 2 희소 뷰) (s2) 및 적어도 하나의 재생 뷰(예를 들어, 상술한 제 1 리제너레이티드 뷰(또는 제 1 재생성된 뷰) (r1) 및/또는 커먼 레퍼런스 뷰 픽처(예를 들어, 중심 뷰)에 기초하여 제 2 재생성된 뷰 픽처(v2)를 재생성한다.
이 때, 제 2 뷰 리제너레이션은, 실시예들에 따른 시그널링 정보 중 실시예들에 따른 리제너레이션 정보(regeneration information)에 기초하여 수행될 수 있다. 나아가, 실시예들에 따른 제 2 뷰 리제너레이션은, 리제너레이션 정보 중 제 1 리제너레이티드 뷰를 생성하기 위한 리제너레이션 정보의 일부 또는 전부의 시그널링 정보에 기초하여 수행될 수 있다.
예를 들어, 레퍼런스 뷰(reference view)(들)이 전달되었는지 여부, 레퍼런스 뷰의 생성 방법과 관련된 정보(즉, 제 1 뷰 리제너레이션과 관련된 정보로써, 제 1 뷰 리제너레이션의 뷰 재생성 방법 등), 레퍼런스 뷰의 위치 등에 관한 정보를 이용할 수 있다. 예를 들면, 실시예들에 따른 view_regeneration_method_type, num_ref_views, num_views_using_this_ref_view, viewing_position_picture_type, picture_id, view_regeneration_method_type 등이 이용될 수 있다.
실시예들에 따른 비디오 수신 방법은 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 단계; 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 단계, 언패킹된 비트스트림은 시그널링 정보를 포함함; 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 단계; 및, 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 단계; 를 포함할 수 있다.
또한, 실시예들에 따른 비디오 수신 장치는, 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 디코더(decoder); 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 언패커(unpacker); 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 뷰 재생성부(view regenerator); 및, 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 뷰 합성부(view synthesizer); 를 포함할 수 있다.
따라서 도 53에서 도시된 예시는, 디코딩된 픽처들이 상술한 커먼 레퍼런스 뷰(c0), 제 1 스파스 뷰 픽처(s1) 및 제 2 스파스 뷰 픽처(s2)를 나타낸다. (decoded pics: c0, s1, s2)
여기서 실시예들에 따른 수신 장치는 수신 시그널링 정보로, v1에 대한 재생성과 관련된 리제너레이션 파라미터들 및 v2에 대한 재생성과 관련된 리제너레이션 파라미터들을 포함한다.
즉, v1에 대한 재생성과 관련된 리제너레이션 파라미터들로 제 1 리제너레이션 방법, 레퍼런스 뷰 픽처에 관한 정보(즉, c0에 관한 정보), 스파스 뷰 픽처에 관한 정보(즉, s1에 관한 정보), 출력 픽처에 대한 정보(사이즈, 뷰 포지션 정보 등)을 포함한다. (signaling : v1 regeneration - method, ref. pic (c0) / sparse pic (s1), output pic info (size, view position..))
또한 v2에 대한 재생성과 관련된 리제너레이션 파라미터들로 제 2 리제너레이션 방법, 레퍼런스 뷰 픽처에 관한 정보(즉, c0 및/또는 v1에 관한 정보), 스파스 뷰 픽처에 관한 정보(즉, s2에 관한 정보), 출력 픽처에 대한 정보(사이즈, 뷰 포지션 정보 등)을 포함한다. (signaling : v2 regeneration - reg. method (regeneration), ref. pic. (c0, v1, or both), output pic info (size, view position..) + v1 regeneration info.)
이 때 수신단에서는 전달 된 s2를 바탕으로 target view를 복원하기 위해 사용되는 reference view에 대한 정보가 필요하며, 이는 메타데이터를 통해 전달될 수 있다.
실시예들에 따른 제 1 뷰 리제너레이션 및 재생성된 뷰를 이용한 제 2 뷰 리제너레이션과 같은 구성으로 인해, 실시예들에 따른 수신 장치는 재생성된 뷰(regenerated view)들을 정확하고 효율적으로 생성할 수 있다. 또한, 실시예들에 따른 수신 장치는 제 2 뷰포인트(또는 제 2 뷰잉 포지션)에 대한 픽처를 생성하기 위해 제 1 뷰포인트(또는 제 1 뷰잉 포지션)에 대한 픽처를 이용함으로써 적은 양의 데이터로 효율적으로 뷰들을 재생성할 수 있다.
또한, 실시예들에 따른 전송 장치는 실시예들에 따른 수신 장치의 제 1 뷰 리제너레이션 및 재생성된 뷰를 이용한 제 2 뷰 리제너레이션과 같은 구성으로 인해, 제 2 뷰포인트(또는 제 2 뷰잉 포지션)에 대한 픽처를 제공하기 위해 제 1 뷰포인트(또는 제 1 뷰잉 포지션)에 대한 픽처만을 전송함으로써 데이터 송신의 효율성을 높일 수 있고, 연산량을 감소시킬 수 있다.
도 54는 실시예들에 따른 인코더 프리-프로세싱부(encoder pre-processing modules)의 프루닝 스킴(pruning scheme)의 실시예를 나타낸다.
전달되는 정보의 효율성을 높이기 위한 방법으로써 sparse view 간의 유사도를 줄이는 방법을 고려할 수 있다.
sparse view pruning 과정은 source view pruning과 같이 입력 영상 간 유사한 정보를 제거해주는 과정으로써 source view pruning 과정에서 남아있는 유사성을 제거하는 과정이다. 예를 들어 view 1과 view 2 사이에 공간적인 유사도가 높은 경우 view 1을 통해 view 2를 추정하는 것과 유사하게 각각의 공간 정보를 바탕으로 view 1을 통해 view 2를 추정할 수 있다. 이러한 추정 과정을 통해 sparse view 사이의 유사한 정보를 제거하고 남은 정보 (pruned sparse view: res_s2)를 전송하는 경우 sparse view s2를 전달할 때보다 높은 비트 효율로 정보를 전달할 수 있다.
실시예들에 따른 인코더 프리-프로세싱부(encoder pre-processing modules)의 프루닝 스킴(pruning scheme)으로 제 1 스파스 뷰를 위한 제 1 프루닝(54000, 제 1 프루징부, 제 1 프루너), 제 2 스파스 뷰를 위한 제 2 프루닝(54001, 제 2 프루너, 제 2 프루닝부) 및 스파스 뷰 프루닝(54002, 스파스 뷰 프루닝부, sparse view pruning)을 포함할 수 있다. 실시예들에 따른 프루닝 스킴은 실시예들에 따른 인터-뷰 리던던시 제거부에서 수행될 수도 있다. 실시예들에 따른 프리-프로세싱부는 패킹/인코딩부(54003, packing/encoding)를 포함할 수 있다.
제 1 프루닝(54000)은 실시예들에 따른 커먼 레퍼런스 뷰 픽처(c0)를 이용하여 제 1 뷰잉 포지션에 대한 제 1 소스 뷰 픽처를 프루닝한다. 즉, 제 1 소스 뷰 픽처에 대한 리던던시를 제거하여 제 1 스파스 뷰 픽처(s1)를 생성한다. 제 1 스파스 뷰 픽처(s1)는 제 1 뷰잉 포지션에 대한 스파스 뷰 픽처를 의미한다. 여기서 제 1 스파스 뷰 픽처(s1)는 레퍼런스 스파스 뷰 픽처(s1)으로 호칭될 수도 있다.
제 2 프루닝(54001)은 실시예들에 따른 커먼 레퍼런스 뷰 픽처(c0)를 이용하여 제 2 뷰잉 포지션에 대한 제 2 소스 뷰 픽처를 프루닝한다. 즉, 제 2 소스 뷰 픽처에 대한 리던던시를 제거하여 제 2 스파스 뷰 픽처(s2)를 생성한다. 제 2 스파스 뷰 픽처(s2)는 제 2 뷰잉 포지션에 대한 스파스 뷰 픽처를 의미한다.
스파스 뷰 프루닝(54002)은 실시예들에 따른 레퍼런스 스파스 뷰 픽처(s1)을 이용하여 상술한 제 2 스파스 뷰 픽처(s2)를 프루닝할 수 있다. 즉, 스파스 뷰 프루닝은, 이미 제 1 프루닝부 및/또는 제 2 프루닝부에 의해 프루닝된 각각의 제 1 스파스 뷰 픽처 및/또는 제 2 스파스 뷰 픽처에 대하여 프루닝할 수 있다. 다시 말해 제 2 스파스 뷰 픽처를 레퍼런스 스파스 뷰 픽처(s1)을 이용하여 다시 프루닝한 후 프루닝된 스파스 뷰 픽처(pruned sparse view, res_s2)를 생성한다.
패킹/인코딩(54003)은 실시예들에 따른 제 1 스파스 뷰 픽처 및/또는 프루닝된 스파스 뷰 픽처를 패킹 및/또는 인코딩할 수 있다. 여기서 실시예들에 따른 커먼 레퍼런스 뷰 픽처(c0)도 함께 패킹 및/또는 인코딩할 수 있다. 패킹 및/또는 인코딩된 제 1 스파스 뷰 픽처 및/또는 프루닝된 스파스 뷰 픽처(및/또는 커먼 레퍼런스 뷰 픽처(c0))는 비트스트림 형태로 변환되어, 패킹/인코딩부에 의해 실시예들에 따른 디코더단으로 전송된다.
따라서 실시예들에 따른 비디오 전송 방법은, 복수의 뷰잉 포지션들에 대한 픽처들에 포함된 소스 뷰 픽처들에 기초하여 센터 뷰 픽처(center view picture) 및/또는 센터 뷰 제너레이션 정보(center view generation information)를 생성하는 단계; 및 소스 뷰 픽처들에 기초하여 중간 뷰 픽처를 합성하는 단계, 중간 뷰 픽처를 합성하는 단계는 프리-제너레이션 정보(pre-generation information) 및/또는 뷰 합성 레코멘데이션 정보(view synthesis recommendation information)를 생성함; 를 더 포함할 수 있다. 이 때, 인터-뷰 리던던시를 제거하는 단계는 소스 뷰 픽처들, 중간 뷰 픽처 및/또는 센터 뷰 픽처 중 적어도 두 개의 픽처에 기초하여 스파스 뷰(sparse view) 픽처들을 생성할 수 있고, 인터-뷰 리던던시를 제거하는 단계는 레퍼런스 뷰(reference view) 픽처들, 레퍼런스 뷰 정보(reference view information) 및 리제너레이션 정보(regeneration information)를 더 생성할 수 있다.
여기서, 실시예들에 따른 비디오 전송 방법은, 스파스 뷰 픽처들 내 포함된 제 2 뷰잉 포지션과 관련된 스파스 뷰 픽처에 기초하여, 스파스 뷰 픽처들 내 포함된 제 1 뷰잉 포지션과 관련된 레퍼런스 스파스 뷰 픽처(reference sparse view picture)를 프루닝(pruning)하는 단계, 제 2 뷰잉 포지션은 제 1 뷰잉 포지션과 다른 뷰잉 포지션이고, 레퍼런스 스파스 뷰 픽처를 프루닝하는 단계는 프루닝된 스파스 뷰 픽처(pruned sparse view picture)를 생성함; 및, 프루닝된 스파스 뷰 픽처로부터 레지듀얼(residual)를 검출하는 단계; 를 포함할 수 있다. 여기서, 프루닝된 스파스 뷰 픽처는 레지듀얼의 존재에 대응하여 패킹될 수 있다.
이러한 구성으로 인해, 실시예들에 따른 인코더단은 송신할 스파스 뷰 픽처들의 수를 줄일 수 있고, 송신할 데이터의 양을 줄일 수 있다. 또한 이러한 구성으로 인해, 실시예들에 따른 디코더단은 수신하는 스파스 뷰 픽처들의 수를 줄일 수 있어, 수신단에서의 부담을 줄일 수 있다.
또한, 실시예들에 따른 인코더단은 복수의 스파스 뷰들 간의 에러를 다시 검출하여 프루닝함으로써 디코더단으로 하여금 해당 뷰잉 포지션에 대한 정확한 뷰를 생성할 수 있는 효과를 제공한다.
이러한 실시예들에 따른 스파스 뷰 프루닝부 및 레지듀얼 디텍션부는, 불필요하거나 중복되는 정보들을 더 제거하여 실시예들에 따른 전송 장치의 데이터 송신 효율을 높일 수 있다.
또한 실시예들에 따른 수신 장치는 적은 양의 데이터로 사용자들에게 필요한 뷰들을 효율적이고 정확하게 제공할 수 있다. 이러한 실시예들에 따른 구성은 전송 장치 및 수신 장치의 연산량 부담을 줄일 수 있다.
또한, 실시예들에 따른 전송 장치는 레지듀얼 디텍션부에 의해 프루닝된 스파스 뷰 픽처를 전송할지 여부를 결정하고, 프루닝된 스파스 뷰 픽처가 전송되었는지 여부를 나타내는 시그널링 정보를 함께 전송함으로써, 수신 장치의 연산 부담을 줄일 수 있다.
도 55는 실시예들에 따른 디코더 포스트-프로세싱부(decoder post-processing modules)의 실시예들에 따른 뷰 리제너레이션(view regeneration)을 나타낸다.
다시 말하면, 실시예들에 따른 뷰 리제너레이션은 스파스 뷰 리제너레이션(sparse view regeneration, 55000) 및 뷰 리제너레이션(view regeneration, 55001)을 수행할 수 있다. 도 55에서 나타난 실시예들에 따른 스파스 뷰 리제너레이션(sparse view regeneration, 55000) 및 뷰 리제너레이션(view regeneration, 55001)은 상술한 실시예들에 따른 뷰 리제너레이션(또는 뷰 재생성부)에 포함되는 블록(또는 동작)을 의미할 수 있다.
실시예들에 따르면, 디코더 (또는 수신기)는 리제너레이트된 뷰 (v2 등)를 생성하기 위해 뷰 리제너레이션을 수행한다.
스파스 뷰 리제너레이션(sparse view regeneration, 55000)은, 실시예들에 따른 스파스 뷰들 중 제 1 뷰잉 포지션에 대한 레퍼런스 스파스 뷰 픽처(s1) 및/또는 제 2 뷰잉 포지션에 대한 프루닝된 스파스 뷰 픽처(res_s2)에 기초하여 제 2 뷰잉 포지션에 대한 재생성된 스파스 뷰 픽처(s2)를 생성한다. 레퍼런스 스파스 뷰 픽처(s1)는, 제 2 뷰잉 포지션에 대한 재생성된 스파스 뷰 픽처를 생성하기 위하여 기준이 되는 스파스 뷰 픽처를 의미할 수 있다. 프루닝된 스파스 뷰 픽처(res_s2)는 도 54에서 상술한 프루닝된 스파스 뷰 픽처(res_s2)를 의미할 수 있다. 즉, 프루닝된 스파스 뷰 픽처(res_s2)는 제 2 뷰잉 포지션에 대한 스파스 뷰를 생성하기 위하여 사용되는 잔차 정보를 포함하는 뷰 픽처일 수 있다.
여기서, 실시예들에 따른 스파스 뷰 리제너레이션(55000)은 관련 시그널링 정보에 기초하여 제 2 뷰잉 포지션에 대한 재생성된 스파스 뷰 픽처(s2)를 생성할 수 있다. 여기서, 관련 시그널링 정보는 실시예들에 따른 리제너레이션 정보(regeneration information) 및/또는 레퍼런스 뷰 정보(reference view information)의 일부 또는 전부에 포함될 수 있다. 예를 들어, 관련 시그널링 정보는 도 39내지 도 40에서 설명한 target_view_id, component_id, component_type, pruned_sparse_view_present_flag, reference_sparse_view_present_flag_sprese_view_present, output_sparse_view_id, pruned_sparse_view_id 및 reference_sparse_view_id 등과 같은 정보의 일부 또는 전부를 포함할 수 있다.
뷰 리제너레이션(55001)은 실시예들에 따른 커먼 레퍼런스 뷰 픽처(c0) 및/또는 상술한 재생성된 제 2 재생성된 스파스 뷰 픽처(s2)에 기초하여 제 2 뷰잉 포지션에 대한 타겟 뷰(또는 재생성된 뷰, regenerated view) (v2)를 생성한다.
도55 내지 도58 에서 설명한 실시예들에 따른 수신 장치 내의 구성(실시예들에 따른 뷰 리제너레이션 및/또는 스파스 뷰 리제너레이션 등) 및 대응하는 동작의 각 구성은 상호 보완/변형/결합이 가능하다.
따라서 도 55에서 도시된 예시는, 디코딩된 픽처들이 상술한 커먼 레퍼런스 뷰(c0), 제 1 스파스 뷰 픽처(s1) 및 프루닝된 스파스 뷰 픽처(res_s2)를 나타낸다. (decoded pics: c0, s1, res_s2)
여기서 실시예들에 따른 수신 장치는 수신 시그널링 정보로, s2에 대한 재생성과 관련된 리제너레이션 파라미터들 및 v2에 대한 재생성과 관련된 리제너레이션 파라미터들을 포함한다.
즉, s2에 대한 재생성과 관련된 리제너레이션 파라미터들로 제 s2 리제너레이션 방법, 레퍼런스 스파스 뷰 픽처에 관한 정보(즉, s1에 관한 정보), 프루닝된 스파스 뷰 픽처에 관한 정보(즉, res_s2에 관한 정보), 출력 픽처에 대한 정보(사이즈, 뷰 포지션 정보 등)을 포함한다. (signaling : s2 regeneration - method, ref. sparse pic (s1), pruned sparse pic (res_s2), output pic info (size, view position..))
또한 v2에 대한 재생성과 관련된 리제너레이션 파라미터들로 제 2 리제너레이션 방법, 레퍼런스 뷰 픽처에 관한 정보(즉, c0에 관한 정보), 스파스 뷰 픽처 재생성에 관한 정보(즉, s2에 관한 재생성 정보), 출력 픽처에 대한 정보(사이즈, 뷰 포지션 정보 등)을 포함한다. (v2 regeneration - reg. method, ref. pic. (c0), regen. sparse view (s2), output pic info (size, view position..) + s2 regeneration info.)
이 때 수신단에서는 전달 된 s2를 바탕으로 target view를 복원하기 위해 사용되는 reference view에 대한 정보가 필요하며, 이는 메타데이터를 통해 전달될 수 있다.
실시예들에 따른 스파스 뷰 프루닝(sparse view pruning)을 통해 생성된 스파스 뷰(sparse view)의 경우 수신기에서는 스파스 뷰 (sparse view)를 복원하는 스파스 뷰 리제너레이션(sparse view regeneration) 과정이 필요하다. 예를 들어, 첫째, 레퍼런스 스파스 뷰 s1(reference sparse view s1)과 위치 정보 (v1과 v2 위치정보)를 기반으로 s2를 추정할 수 있으며, res_s2를 이용해 s2를 복원할 수 있다. 둘째, 복원된 정보를 바탕으로 reference view를 이용해 v2를 복원할 수 있다.
따라서 v2 복원을 위해서는 스파스 뷰 리제너레이션(sparse view regeneration) 수행 여부, 레퍼런스 스파스 뷰(reference sparse view) 정보 (s1 및 위치정보), 타겟 스파스 뷰(target sparse view) 정보 (res_s2 및 위치 정보), 스파스 뷰 리제너레이션(sparse view regeneration) 방법, v2 복원을 위한 레퍼런스 뷰(reference view) (c0) 에 대한 정보가 전달되어야 한다.
이 때 v1에 대한 복원 정보 대신 스파스 뷰 리제너레이션(sparse view regeneration) 정보가 전달되며, v1, s1 대신 s1, res_s2가 전달된다는 점에서 비트 효율을 높일 수 있다. (특히 viewport dependent processing에서 효과가 크게 나타날 수 있다. )
실시예들에 따른 비디오 수신 방법은 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 단계; 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 단계, 언패킹된 비트스트림은 시그널링 정보를 포함함; 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 단계; 및, 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 단계; 를 포함할 수 있다.
또한 실시예들에 따른 비디오 수신 방법은, 언패킹된 픽처들 내에 포함된 레퍼런스 뷰 픽처(reference view picture)들 및 센터 뷰 제너레이션 정보에 기초하여 센터 뷰 픽처(center view picture)를 생성하는 단계를 포함할 수 있고, 뷰 재생성하는 단계는 레퍼런스 뷰 픽처들, 언패킹된 픽처들 내의 스파스 뷰 픽처(sparse view picture)들, 센터 뷰 픽처, 레퍼런스 뷰 정보 및 리제너레이션 정보에 기초하여 재생성된 뷰(regenerated view)를 생성할 수 있다. 또한, 뷰 합성하는 단계는 재생성된 뷰, 센터 뷰 픽처, 레퍼런스 뷰 픽처들, 프리-제너레이션 정보 및 뷰 합성 레코멘데이션 정보에 기초하여 합성된 뷰를 생성할 수 있다.
또한 실시예들에 따른 뷰 재생성하는 단계는, 제 1 모드로서, 제 1 스파스 뷰 픽처로부터 제 2 스파스 뷰 픽처를 재생성하는 단계, 재생성된 제 2 스파스 뷰 픽처 및 센터 뷰 픽처에 기초하여 제 재생성된 뷰를 생성하는 단계를 포함할 수 있다. 스파스 뷰 픽처들 내에 프루닝된 스파스 뷰(pruned sparse view) 픽처를 포함하는 경우, 제 2 스파스 뷰 픽처를 재생성하는 단계는 프루닝된 스파스 뷰 픽처에 기초하여 제 2 스파스 뷰 픽처를 생성할 수 있다. 제 2 뷰잉 포지션은 제 1 뷰잉 포지션과 다를 수 있다.
이러한 실시예들에 따른 스파스 뷰 리제너레이션부의 구성으로 인해, 실시예들에 따른 인코더단은 송신할 스파스 뷰 픽처들의 수를 줄일 수 있고, 송신할 데이터의 양을 줄일 수 있다. 또한 이러한 구성으로 인해, 실시예들에 따른 디코더단은 수신하는 스파스 뷰 픽처들의 수를 줄일 수 있어, 수신단에서의 부담을 줄일 수 있다.
구체적으로, 제 1 뷰잉포지션에 대한 타겟 뷰 관련 정보 대신 스파스 뷰 리제너레이션(sparse view regeneration) 정보가 전달되게 함으로써, 비트 효율을 높일 수 있다. (특히 viewport dependent processing에서 효과가 크게 나타날 수 있다.)
도 56은 실시예들에 따른 인코더 프리-프로세싱부(encoder pre-processing modules)의 프루닝 스킴(pruning scheme)의 실시예를 나타낸다.
residual 이 없는 경우 s1으로 추정 가능하다고 판단하고 데이터 전송 하지 않을 수 있다.
sparse view pruning의 효과가 극대화 되는 경우로써 pruned spare view를 전달하지 않는 경우를 고려할 수 있다. 즉, residual 이 없는 경우 s1으로 추정 가능하다고 판단하고 데이터 전송 하지 않고 수신단에서는 s1만을 가지고 s2를 추정하는 것이다. 판단 기준으로써는 블록 내 정보 분포도, 주파수 분석을 통한 정보량 판단 등을 고려할 수 있으며 임계값을 기반으로 전송 여부를 판단하거나 혹은 정보가 적은 경우 quantization 등을 통해 정보량을 더 줄일 수 있다.
다시 말하면, 실시예들에 따른 인코더 프리-프로세싱부(encoder pre-processing modules)의 프루닝 스킴(pruning scheme)으로 제 1 스파스 뷰를 위한 제 1 프루닝(56000, 제 1 프루징부, 제 1 프루너), 제 2 스파스 뷰를 위한 제 2 프루닝(56001, 제 2 프루너, 제 2 프루닝부), 스파스 뷰 프루닝(56002, 스파스 뷰 프루닝부, sparse view pruning) 및/또는 레지듀얼 검출기(56003, residual detection, 레지듀얼 디텍션)를 포함할 수 있다. 실시예들에 따른 프루닝 스킴은 실시예들에 따른 인터-뷰 리던던시 제거부에서 수행될 수도 있다. 실시예들에 따른 프리-프로세싱부는 패킹/인코딩부(54003, packing/encoding)를 포함할 수 있다.
제 1 프루닝(56000)은 실시예들에 따른 커먼 레퍼런스 뷰 픽처(c0)를 이용하여 제 1 뷰잉 포지션에 대한 제 1 소스 뷰 픽처를 프루닝한다. 즉, 제 1 소스 뷰 픽처에 대한 리던던시를 제거하여 제 1 스파스 뷰 픽처(s1)를 생성한다. 제 1 스파스 뷰 픽처(s1)는 제 1 뷰잉 포지션에 대한 스파스 뷰 픽처를 의미한다. 여기서 제 1 스파스 뷰 픽처(s1)는 레퍼런스 스파스 뷰 픽처(s1)으로 호칭될 수도 있다.
제 2 프루닝(56001)은 실시예들에 따른 커먼 레퍼런스 뷰 픽처(c0)를 이용하여 제 2 뷰잉 포지션에 대한 제 2 소스 뷰 픽처를 프루닝한다. 즉, 제 2 소스 뷰 픽처에 대한 리던던시를 제거하여 제 2 스파스 뷰 픽처(s2)를 생성한다. 제 2 스파스 뷰 픽처(s2)는 제 2 뷰잉 포지션에 대한 스파스 뷰 픽처를 의미한다.
스파스 뷰 프루닝(56002)은 실시예들에 따른 레퍼런스 스파스 뷰 픽처(s1)을 이용하여 상술한 제 2 스파스 뷰 픽처(s2)를 프루닝할 수 있다. 즉, 스파스 뷰 프루닝은, 이미 제 1 프루닝부 및/또는 제 2 프루닝부에 의해 프루닝된 각각의 제 1 스파스 뷰 픽처 및/또는 제 2 스파스 뷰 픽처에 대하여 프루닝할 수 있다. 다시 말해 제 2 스파스 뷰 픽처를 레퍼런스 스파스 뷰 픽처(s1)을 이용하여 다시 프루닝한 후 프루닝된 스파스 뷰 픽처(pruned sparse view, res_s2)를 생성한다. 이 때, 프루닝된 스파스 뷰 픽처(res_s2)는 실시예들에 따른 디코더단으로 전송될 수도 있고 전송되지 않을 수도 있다. 프루닝된 스파스 뷰 픽처(res_s2)가 전송될지 전송되지 않을지 여부는 레지듀얼 디텍션부(54003)가 결정할 수 있다. 프루닝된 스파스 뷰 픽처(res_s2)가 수신되는 픽처들에 포함되어 있는지 여부는 관련 시그널링 정보를 이용하여 시그널링될 수 있다. 예를 들어, 실시예들에 따른 수신 장치는 도 39에서 pruned_sparse_view_present_flag 시그널링 정보를 통해, 상술한 프루닝된 스파스 뷰 픽처(res_s2)가 수신되는 픽처들에 포함되어 있는지 여부를 알 수 있다.
레지듀얼 디텍션부(54003)는, 프루닝된 스파스 뷰 픽처(res_s2)가 전송될지 전송되지 않을지 여부를 결정할 수 있다. 즉, 레지듀얼(residual)이 없는 경우 상술한 제 2 소스 뷰 픽처가 디코더단에 의해 제 1 스파스 뷰 픽처(s1)를 이용하여 추정 가능하다고 판단하고 데이터 전송 하지 않을 수 있다. 즉, 디코더단에서 제 1 스파스 뷰 픽처(s1)만으로 제 2 스파스 뷰 픽처(s2)를 추정할 수 있으므로 실시예들에 따른 프루닝된 스파스 뷰 픽처를 전송하지 않을 수 있다. 판단 기준으로써는 블록 내 정보 분포도, 주파수 분석을 통한 정보량 판단 등을 고려할 수 있으며 임계값을 기반으로 전송 여부를 판단하거나 혹은 정보가 적은 경우 양자화(quantization) 등을 통해 정보량을 더 줄일 수 있다.
패킹/인코딩(54004)은 실시예들에 따른 제 1 스파스 뷰 픽처 및/또는 프루닝된 스파스 뷰 픽처를 패킹 및/또는 인코딩할 수 있다. 여기서 실시예들에 따른 커먼 레퍼런스 뷰 픽처(c0)도 함께 패킹 및/또는 인코딩할 수 있다. 패킹 및/또는 인코딩된 제 1 스파스 뷰 픽처 및/또는 프루닝된 스파스 뷰 픽처(및/또는 커먼 레퍼런스 뷰 픽처(c0))는 비트스트림 형태로 변환되어, 패킹/인코딩부에 의해 실시예들에 따른 디코더단으로 전송된다.
도55 내지 도58 에서 설명한 실시예들에 따른 수신 장치 내의 구성(실시예들에 따른 뷰 리제너레이션 및/또는 스파스 뷰 리제너레이션 등) 및 대응하는 동작의 각 구성은 상호 보완/변형/결합이 가능하다.
따라서 실시예들에 따른 비디오 전송 방법은, 복수의 뷰잉 포지션들에 대한 픽처들에 포함된 소스 뷰 픽처들에 기초하여 센터 뷰 픽처(center view picture) 및/또는 센터 뷰 제너레이션 정보(center view generation information)를 생성하는 단계; 및 소스 뷰 픽처들에 기초하여 중간 뷰 픽처를 합성하는 단계, 중간 뷰 픽처를 합성하는 단계는 프리-제너레이션 정보(pre-generation information) 및/또는 뷰 합성 레코멘데이션 정보(view synthesis recommendation information)를 생성함; 를 더 포함할 수 있다. 이 때, 인터-뷰 리던던시를 제거하는 단계는 소스 뷰 픽처들, 중간 뷰 픽처 및/또는 센터 뷰 픽처 중 적어도 두 개의 픽처에 기초하여 스파스 뷰(sparse view) 픽처들을 생성할 수 있고, 인터-뷰 리던던시를 제거하는 단계는 레퍼런스 뷰(reference view) 픽처들, 레퍼런스 뷰 정보(reference view information) 및 리제너레이션 정보(regeneration information)를 더 생성할 수 있다.
여기서, 실시예들에 따른 비디오 전송 방법은, 스파스 뷰 픽처들 내 포함된 제 2 뷰잉 포지션과 관련된 스파스 뷰 픽처에 기초하여, 스파스 뷰 픽처들 내 포함된 제 1 뷰잉 포지션과 관련된 레퍼런스 스파스 뷰 픽처(reference sparse view picture)를 프루닝(pruning)하는 단계, 제 2 뷰잉 포지션은 제 1 뷰잉 포지션과 다른 뷰잉 포지션이고, 레퍼런스 스파스 뷰 픽처를 프루닝하는 단계는 프루닝된 스파스 뷰 픽처(pruned sparse view picture)를 생성함; 및, 프루닝된 스파스 뷰 픽처로부터 레지듀얼(residual)를 검출하는 단계; 를 포함할 수 있다. 여기서, 프루닝된 스파스 뷰 픽처는 레지듀얼의 존재에 대응하여 패킹될 수 있다.
이러한 제 1 프루닝부, 제 2 프루닝부 및/또는 제 1 프루닝부로부터 생성된 스파스 뷰와 제 2 프루닝부로부터 생성된 스파스 뷰를 이용한 스파스 뷰 프루닝의 구성으로 인해, 실시예들에 따른 인코더단은 송신할 스파스 뷰 픽처들의 수를 줄일 수 있고, 송신할 데이터의 양을 줄일 수 있다. 또한 이러한 구성으로 인해, 실시예들에 따른 디코더단은 수신하는 스파스 뷰 픽처들의 수를 줄일 수 있어, 수신단에서의 부담을 줄일 수 있다.
또한, 실시예들에 따른 인코더단은 레지듀얼 디텍션부를 이용하여 복수의 스파스 뷰들 간의 에러를 다시 검출하여 프루닝함으로써 디코더단으로 하여금 해당 뷰잉 포지션에 대한 정확한 뷰를 생성할 수 있는 효과를 제공한다.
이러한 실시예들에 따른 스파스 뷰 프루닝부 및 레지듀얼 디텍션부는, 불필요하거나 중복되는 정보들을 더 제거하여 실시예들에 따른 전송 장치의 데이터 송신 효율을 높일 수 있다.
또한 실시예들에 따른 수신 장치는 적은 양의 데이터로 사용자들에게 필요한 뷰들을 효율적이고 정확하게 제공할 수 있다. 이러한 실시예들에 따른 구성은 전송 장치 및 수신 장치의 연산량 부담을 줄일 수 있다.
또한, 실시예들에 따른 전송 장치는 레지듀얼 디텍션부에 의해 프루닝된 스파스 뷰 픽처를 전송할지 여부를 결정하고, 프루닝된 스파스 뷰 픽처가 전송되었는지 여부를 나타내는 시그널링 정보를 함께 전송함으로써, 수신 장치의 연산 부담을 줄일 수 있다.
또한, 레지듀얼 디텍션의 이러한 구성으로 인해 실시예들에 따른 전송 장치는 불필요한 데이터 전송을 피하고 수신단으로 하여금 불필요한 연산 과정을 방지할 수 있어 스파스 뷰 프루닝(sparse view pruning)의 효과가 극대화될 수 있다.
도 57은 실시예들에 따른 디코더 포스트-프로세싱부(decoder post-processing modules)의 실시예들에 따른 뷰 리제너레이션(view regeneration)을 나타낸다.
실시예들에 따른 뷰 리제너레이션은 스파스 뷰 리제너레이션(sparse view regeneration, 57000) 및 뷰 리제너레이션(view regeneration, 57001)을 수행할 수 있다. 도 57에서 나타난 실시예들에 따른 스파스 뷰 리제너레이션(sparse view regeneration, 57000) 및 뷰 리제너레이션(view regeneration, 57001)은 상술한 실시예들에 따른 뷰 리제너레이션(또는 뷰 재생성부)에 포함되는 블록(또는 동작)을 의미할 수 있다.
실시예들에 따르면, 디코더 (또는 수신기)는 리제너레이트된 뷰 (v2 등)를 생성하기 위해 뷰 리제너레이션을 수행한다.
실시예들에 따른 스파스 뷰 리제너레이션(57000)은 실시예들에 따른 프루닝된 스파스 뷰 픽처(res_s2) 및 레퍼런스스파스 뷰 픽처(s1)을 이용하여 재생성된 스파스 뷰 픽처(s2)를 생성할 수 있다. 여기서 레퍼런스 스파스 뷰 픽처는 수신한 스파스 뷰 픽처들 내에 포함된, 제 1 뷰잉 포지션에 대한 스파스 뷰 픽처를 의미한다. 또한, 재생성된 스파스 뷰 픽처(s2)는 제 2 뷰잉 포지션에 대한 스파스 뷰 픽처를 의미한다. 또한, 프루닝된 스파스 뷰 픽처(pruned sparse view, res_s2)는 도 56에서 설명한 프루닝된 스파스 뷰 픽처를 나타낼 수 있다. 재생성된 스파스 뷰 픽처(s2)는 제 2 뷰잉 포지션에 대한 타겟 뷰를 생성하기 위한, 제 2 뷰잉 포지션에 대한 스파스 뷰를 의미한다. 프루닝된 스파스 뷰 픽처(res_s2)가 수신되는 픽처들에 포함되어 있는지 여부는 관련 시그널링 정보를 이용하여 시그널링될 수 있다. 예를 들어, 실시예들에 따른 수신 장치는 도 39에서 pruned_sparse_view_present_flag 시그널링 정보를 통해, 상술한 프루닝된 스파스 뷰 픽처(res_s2)가 수신되는 픽처들에 포함되어 있는지 여부를 알 수 있다.
여기서, 실시예들에 따른 스파스 뷰 리제너레이션(57000)은 관련 시그널링 정보에 기초하여 제 2 뷰잉 포지션에 대한 재생성된 스파스 뷰 픽처(s2)를 생성할 수 있다. 여기서, 관련 시그널링 정보는 실시예들에 따른 리제너레이션 정보(regeneration information) 및/또는 레퍼런스 뷰 정보(reference view information)의 일부 또는 전부에 포함될 수 있다. 예를 들어, 관련 시그널링 정보는 도 39내지 도 40에서 설명한 target_view_id, component_id, component_type, pruned_sparse_view_present_flag, reference_sparse_view_present_flag_sprese_view_present, output_sparse_view_id, pruned_sparse_view_id 및 reference_sparse_view_id 등과 같은 정보의 일부 또는 전부를 포함할 수 있다.
실시예들에 따른 뷰 리제너레이션(57001)은 실시예들에 따른 커먼 레퍼런스 뷰 픽처(c0) 및 실시예들에 따른 재생성된 스파스 뷰 픽처(s2)를 이용하여 제 2 뷰잉 포지션에 대한 재생성된 뷰를 생성할 수 있다. 예를 들어, 뷰 리제너레이션(57001)은 센터 뷰 픽처(c0)와 재생성된 스파스 뷰 픽처(s2)를 이용하여 제 2 뷰잉 포지션에 대한 뷰를 생성할 수 있다.
따라서 실시예들에 따른 디코딩부(또는 포스트-디코딩 프로세싱부) 또는 수신 장치는 제 2 뷰잉 포지션에 대한 타겟 뷰를 생성하기 위하여 두 가지 동작을 수행할 수 있다. 첫째, 스파스 뷰 리제너레이션부(57000)는 수신한 스파스 뷰 픽처들 중 제 1 뷰잉 포지션에 대한 스파스 뷰 픽처를 나타내는 레퍼런스 스파스 뷰 픽처(s1)를 이용하여 제 2 뷰잉 포지션에 대한 스파스 뷰 픽처(즉, 재생성된 스파스 뷰 픽처, s2)를 생성한다. 이 때, 스파스 뷰 리제너레이션부(57000)는 스파스 뷰 픽처들 내 포함된 프루닝된 스파스 뷰 픽처(res_s2)를 더 이용할 수 있다. 둘재, 스파스 뷰 리제너레이션부(57000)가 재생성된 스파스 뷰 픽처(s2)를 생성하면, 재생성된 스파스 뷰 픽처(s2)와 커먼 레퍼런스 뷰 픽처(c0)를 이용하여 제 2 뷰잉 포지션에 대한 재생성된 뷰(v2)를 생성할 수 있다.
도55 내지 도58 에서 설명한 실시예들에 따른 수신 장치 내의 구성(실시예들에 따른 뷰 리제너레이션 및/또는 스파스 뷰 리제너레이션 등) 및 대응하는 동작의 각 구성은 상호 보완/변형/결합이 가능하다.
따라서 도 57에서 도시된 예시는, 디코딩된 픽처들이 상술한 커먼 레퍼런스 뷰(c0), 제 1 스파스 뷰 픽처(s1) 및/또는 프루닝된 스파스 뷰 픽처(res_s2)를 나타낸다. (decoded pics: c0, s1, (res_s2))
여기서 실시예들에 따른 수신 장치는 수신 시그널링 정보로, s2에 대한 재생성과 관련된 리제너레이션 파라미터들 및 v2에 대한 재생성과 관련된 리제너레이션 파라미터들을 포함한다.
즉, s2에 대한 재생성과 관련된 리제너레이션 파라미터들로 제 s2 리제너레이션 방법, 레퍼런스 뷰 픽처에 관한 정보(즉, v1에 관한 정보), 스파스 뷰 픽처에 관한 정보(즉, res_s2에 관한 정보), 출력 픽처에 대한 정보(사이즈, 뷰 포지션 정보 등)을 포함한다. 여기서, 프루닝된 스파스 뷰 픽처는 전송될 수도 있고 전송되지 않을 수도 있다. (s2 regeneration - reg. method (type), ref. sparse pic (s1), pruned sparse pic (res_s2), output pic info (size, view position..) (recommended)))
또한 v2에 대한 재생성과 관련된 리제너레이션 파라미터들로 제 2 리제너레이션 방법, 레퍼런스 스파스 뷰 픽처에 관한 정보(즉, s1에 관한 정보), 스파스 뷰 픽처 재생성에 관한 정보(즉, s2에 관한 재생성 정보), 출력 픽처에 대한 정보(사이즈, 뷰 포지션 정보 등)을 포함한다. (v2 regeneration - reg. method (type), ref. pic. (c0), regen. sparse view (s2), output pic info (size, view position..) + s2 regeneration info.)
sparse view pruning 및 residual detection 과정을 통해 pruned sparse view을 전달 혹은 전달하지 않은 경우, 수신기에서는 전달된 정보 및 수신기 성능을 기반으로 다음과 같이 서로 다른 동작을 할 수 있다.
1. 다이렉트 스파스 뷰 리제너레이션(direct sparse view regeneration)
스파스 뷰 리제너레이션(sparse view regeneration) 을 통해 타겟 스파스 뷰(target sparse view) (s2)를 복원한 후, 뷰 리제너레이션(view regeneration) 을 통해 타겟 뷰(target view)를 복원할 수 있다.
이 때, 프루닝된 스파스 뷰(pruned sparse view)가 전달되는지 여부를 수신기에 전달함으로써 스파스 뷰 리제너레이션부(sparse view regeneration)가 추가 작업을 수행할지 여부를 결정할 수 있다.
실시예들에 따른 비디오 수신 방법은 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 단계; 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 단계, 언패킹된 비트스트림은 시그널링 정보를 포함함; 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 단계; 및, 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 단계; 를 포함할 수 있다.
또한 실시예들에 따른 비디오 수신 방법은, 언패킹된 픽처들 내에 포함된 레퍼런스 뷰 픽처(reference view picture)들 및 센터 뷰 제너레이션 정보에 기초하여 센터 뷰 픽처(center view picture)를 생성하는 단계를 포함할 수 있고, 뷰 재생성하는 단계는 레퍼런스 뷰 픽처들, 언패킹된 픽처들 내의 스파스 뷰 픽처(sparse view picture)들, 센터 뷰 픽처, 레퍼런스 뷰 정보 및 리제너레이션 정보에 기초하여 재생성된 뷰(regenerated view)를 생성할 수 있다. 또한, 뷰 합성하는 단계는 재생성된 뷰, 센터 뷰 픽처, 레퍼런스 뷰 픽처들, 프리-제너레이션 정보 및 뷰 합성 레코멘데이션 정보에 기초하여 합성된 뷰를 생성할 수 있다.
또한 실시예들에 따른 뷰 재생성하는 단계는, 제 1 모드로서, 제 1 스파스 뷰 픽처로부터 제 2 스파스 뷰 픽처를 재생성하는 단계, 재생성된 제 2 스파스 뷰 픽처 및 센터 뷰 픽처에 기초하여 제 재생성된 뷰를 생성하는 단계를 포함할 수 있다. 스파스 뷰 픽처들 내에 프루닝된 스파스 뷰(pruned sparse view) 픽처를 포함하는 경우, 제 2 스파스 뷰 픽처를 재생성하는 단계는 프루닝된 스파스 뷰 픽처에 기초하여 제 2 스파스 뷰 픽처를 생성할 수 있다. 제 2 뷰잉 포지션은 제 1 뷰잉 포지션과 다를 수 있다.
이러한 스파스 뷰 리제너레이션부 및 재생성된 스파스 뷰에 기초한 뷰 리제너레이션과 같은 구성으로 인해, 실시예들에 따른 인코더단은 송신할 스파스 뷰 픽처들의 수를 줄일 수 있고, 송신할 데이터의 양을 줄일 수 있다. 또한 이러한 구성으로 인해, 실시예들에 따른 디코더단은 수신하는 스파스 뷰 픽처들의 수를 줄일 수 있어, 수신단에서의 부담을 줄일 수 있다.
또한, 실시예들에 따른 인코더단은, 수신기의 뷰 리제너레이션부 및 재생성된 스파스 뷰에 기초한 뷰 리제너레이션과 같은 구성으로 인해 해당 뷰잉 포지션에 대한 정확한 뷰를 생성할 수 있는 효과를 제공한다. 또한, 실시예들에 따른 디코더단은 적은 양의 데이터의 수신으로도 실제와 같은 가상 공간을 생성함으로써 비트 효율을 높일 수 있다.
구체적으로, 제 1 뷰잉포지션에 대한 타겟 뷰 관련 정보 대신 스파스 뷰 리제너레이션(sparse view regeneration) 정보가 전달되게 함으로써, 비트 효율을 높일 수 있다. (특히 viewport dependent processing에서 효과가 크게 나타날 수 있다.)
도 58는 실시예들에 따른 디코더 포스트-프로세싱부(decoder post-processing modules)의 실시예들에 따른 뷰 리제너레이션(view regeneration)을 나타낸다.
실시예들에 따른 뷰 리제너레이션은 제 1 뷰 리제너레이션(58000), 스파스 뷰 에스티메이션(sparse view estimation, 58001) 및 제 2 뷰 리제너레이션(58002)을 수행할 수 있다. 도 58에서 나타난 실시예들에 따른 제 1 뷰 리제너레이션(58000) 및 제 2 뷰 리제너레이션(58002)은 상술한 실시예들에 따른 뷰 리제너레이션(또는 뷰 재생성부)에 포함되는 블록(또는 동작)을 의미할 수 있다.
실시예들에 따르면, 디코더 (또는 수신기)는 리제너레이트된 뷰 (v2 등)를 생성하기 위해 뷰 리제너레이션을 수행한다.
제 1 뷰 리제너레이션(58000)은 실시예들에 따른 커먼 레퍼런스 뷰 픽처(c0) 및 제 1 스파스 뷰(s1)를 이용하여 임시 생성된 뷰(temporally generated view, v1)을 생성할 수 있다. 실시예들에 따른 커먼 레퍼런스 뷰 픽처(c0)는 실시예들에 따른 센터 뷰 제너레이션부에 의해 생성된 센터 뷰이거나, 수신된 픽처들 내에 포함된 센터 뷰일 수 있다. 제 1 스파스 뷰 픽처는 실시예들에 따른 스파스 뷰 픽처들 내에 포함되고, 제 1 뷰잉 포지션에 대한 스파스 뷰 픽처를 의미한다. 여기서, 임의 생성된 뷰(v1)는 제 1 뷰잉 포지션에 대한 타겟 뷰 픽처를 의미할 수 있다.
스파스 뷰 에스티메이션(58001)은 실시예들에 따른 임시 생성된 뷰(v1) 픽처에 기초하여 제 2 뷰잉 포지션에 대한 추측된 스파스 뷰 픽처(s2, estimated sparse view)를 생성(또는 복원)할 수 있다. 즉, 임시 생성된 뷰(v1)로부터 제 제 2 뷰잉 포지션에 대한 추측된 스파스 뷰 픽처(s2)를 추측한다. 이 때, 스파스 뷰 에스티메이션은 실시예들에 따른 프루닝된 스파스 뷰 픽처(res_s2)를 이용할 수 있다. 프루닝된 스파스 뷰 픽처(res_s2)가 수신되는 픽처들에 포함되어 있는지 여부는 관련 시그널링 정보를 이용하여 시그널링될 수 있다. 예를 들어, 실시예들에 따른 수신 장치는 도 39에서 pruned_sparse_view_present_flag 시그널링 정보를 통해, 상술한 프루닝된 스파스 뷰 픽처(res_s2)가 수신되는 픽처들에 포함되어 있는지 여부를 알 수 있다. 프루닝된 스파스 뷰 픽처(res_s2)는 도 54 내지 도 57에서 설명한 실시예들에 따른 프루닝된 스파스 뷰 픽처를 의미한다.
여기서, 실시예들에 따른 스파스 뷰 리제너레이션(58001)은 관련 시그널링 정보에 기초하여 제 2 뷰잉 포지션에 대한 재생성된 스파스 뷰 픽처(s2)를 생성할 수 있다. 여기서, 관련 시그널링 정보는 실시예들에 따른 리제너레이션 정보(regeneration information) 및/또는 레퍼런스 뷰 정보(reference view information)의 일부 또는 전부에 포함될 수 있다. 예를 들어, 관련 시그널링 정보는 도 39내지 도 40에서 설명한 target_view_id, component_id, component_type, pruned_sparse_view_present_flag, reference_sparse_view_present_flag_sprese_view_present, output_sparse_view_id, pruned_sparse_view_id 및 reference_sparse_view_id 등과 같은 정보의 일부 또는 전부를 포함할 수 있다. 또한, 실시예들에 따른 제 1 뷰잉 포지션에 대한 레퍼런스 뷰 정보를 포함할 수도 있다.
제 2 뷰 리제너레이션(58002)는 실시예들에 따른 커먼 레퍼런스 뷰 픽처(c0) 및 추측된 스파스 뷰 픽처(s2)를 이용하여 제 2 뷰잉 포지션에 대한 재생성된 뷰(regenerated view, v2)를 생성(또는 복원)할 수 있다.
실시예들에 따른 수신한 픽처들은 실시예들에 따른 커먼 레퍼런스 뷰 픽처, 제 1 뷰잉 포지션에 대한 스파스 뷰 픽처 및/또는 프루닝된 스파스 뷰 픽처(res_s2)를 포함할 수 있다.
도55 내지 도58 에서 설명한 실시예들에 따른 수신 장치 내의 구성(실시예들에 따른 뷰 리제너레이션 및/또는 스파스 뷰 리제너레이션 등) 및 대응하는 동작의 각 구성은 상호 보완/변형/결합이 가능하다.
따라서 도 57에서 도시된 예시는, 디코딩된 픽처들이 상술한 커먼 레퍼런스 뷰(c0), 제 1 스파스 뷰 픽처(s1) 및/또는 프루닝된 스파스 뷰 픽처(res_s2)를 나타낸다. (decoded pics: c0, s1, res_s2(임의))
여기서 실시예들에 따른 수신 장치는 수신 시그널링 정보로, v1에 대한 재생성과 관련된 리제너레이션 파라미터들, s2 재생성과 관련된 파라미터들 및 v2에 대한 재생성과 관련된 리제너레이션 파라미터들을 포함한다.
즉, v1에 대한 재생성과 관련된 리제너레이션 파라미터들로 제 v1 리제너레이션 방법, 레퍼런스 뷰 픽처에 관한 정보(즉, c0에 관한 정보), 스파스 뷰 픽처에 관한 정보(즉, s1에 관한 정보), 출력 픽처에 대한 정보(사이즈, 뷰 포지션 정보 등)을 포함한다. (signaling : v1 regeneration - reg. method (type), ref. pic (c0), sparse pic (s1), output pic info (size, view position..))
또한 s2에 대한 재생성과 관련된 리제너레이션 파라미터들로 스파스 뷰 리제너레이션 방법(에스티메이션), 레퍼런스 스파스 뷰 픽처에 관한 정보(즉, c0에 관한 정보), 스파스 뷰 픽처 재생성에 관한 정보(즉, s2에 관한 재생성 정보), 출력 픽처에 대한 정보(사이즈, 뷰 포지션 정보 등)을 포함한다. 또한, s2 리제너레이션에 관한 정보도 포함할 수 있다. (s2 regeneration - reg. method (type), ref. pic (v1), pruned sparse pic (res_s2), output pic info (size, view position..) + v1 regeneration informatoin)
또한 v2에 대한 재생성과 관련된 리제너레이션 파라미터들로 리제너레이션 방법, 레퍼런스 스파스 뷰 픽처에 관한 정보(즉, c0에 관한 정보), 스파스 뷰 픽처 재생성에 관한 정보(즉, s2에 관한 재생성 정보), 출력 픽처에 대한 정보(사이즈, 뷰 포지션 정보 등)을 포함한다. (v2 regeneration - reg. method (type), ref. pic. (c0), regen. sparse pic (s2), output pic info (size, view position..) + s2 regeneration info)
sparse view pruning 및 residual detection 과정을 통해 pruned sparse view을 전달 혹은 전달하지 않은 경우, 수신기에서는 전달된 정보 및 수신기 성능을 기반으로 다음과 같이 서로 다른 동작을 할 수 있다.
2. 스파스 뷰 에스티메이션(sparse view estimation)
sparse view를 복원하는 방법으로써 reference view로 부터 sparse view를 추정하는 방법을 고려할 수 있다. 즉, 1) sparse view s1을 기반으로 v1을 추정한 후 2) 추정된 view v1과 pruned sparse view res_s2를 이용해 sparse view 2를 복원하고 3) 복원된 s2를 바탕으로 target view v2를 복원할 수 있다.
실시예들에 따른 비디오 수신 방법은 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 단계; 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 단계, 언패킹된 비트스트림은 시그널링 정보를 포함함; 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 단계; 및, 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 단계; 를 포함할 수 있다.
또한 실시예들에 따른 비디오 수신 방법은, 언패킹된 픽처들 내에 포함된 레퍼런스 뷰 픽처(reference view picture)들 및 센터 뷰 제너레이션 정보에 기초하여 센터 뷰 픽처(center view picture)를 생성하는 단계를 포함할 수 있고, 뷰 재생성하는 단계는 레퍼런스 뷰 픽처들, 언패킹된 픽처들 내의 스파스 뷰 픽처(sparse view picture)들, 센터 뷰 픽처, 레퍼런스 뷰 정보 및 리제너레이션 정보에 기초하여 재생성된 뷰(regenerated view)를 생성할 수 있다. 또한, 뷰 합성하는 단계는 재생성된 뷰, 센터 뷰 픽처, 레퍼런스 뷰 픽처들, 프리-제너레이션 정보 및 뷰 합성 레코멘데이션 정보에 기초하여 합성된 뷰를 생성할 수 있다.
또한 실시예들에 따른 뷰 재생성하는 단계는, 제 2 모드로서 센터 뷰 픽처 및 스파스 뷰 픽처들 내에 포함된 제 1 뷰잉 포지션과 관련된 제 1 스파스 뷰에 기초하여, 제 1 뷰잉 포지션과 관련된 임의 생성 뷰(temporally generated view)를 생성하는 단계, 임의 생성 뷰로부터 제 2 뷰잉 포지션과 관련된 제 2 스파스 뷰 픽처를 추정하는 단계 및 추정된 제 2 스파스 뷰 픽처 및 센터 뷰 픽처에 기초하여 제 2 뷰잉 포지션과 관련된 재생성된 뷰를 생성하는 단계를 포함할 수 있다. 여기서, 스파스 뷰 픽처들 내에 프루닝된 스파스 뷰(pruned sparse view) 픽처를 포함하는 경우, 추정하는 단계는 프루닝된 스파스 뷰 픽처에 기초하여 제 2 스파스 뷰 픽처를 추정할 수 있다.
이러한 수신기의 제 1 뷰 리제너레이션, 임시 재생성된 뷰를 이용한 스파스 뷰 에스티메이션 및/또는 제 2 뷰 리제너레이션 구성으로 인해, 실시예들에 따른 인코더단은 송신할 스파스 뷰 픽처들의 수를 줄일 수 있고, 송신할 데이터의 양을 줄일 수 있다. 또한 이러한 구성으로 인해, 실시예들에 따른 디코더단은 수신하는 스파스 뷰 픽처들의 수를 줄일 수 있어, 수신단에서의 부담을 줄일 수 있다.
구체적으로, 제 1 뷰잉포지션에 대한 타겟 뷰 관련 정보 대신 스파스 뷰 리제너레이션(sparse view regeneration) 정보가 전달되게 함으로써, 비트 효율을 높일 수 있다. (특히 viewport dependent processing에서 효과가 크게 나타날 수 있다.)
도 59는 실시예들에 따른 디코더 포스트-프로세싱부(decoder post-processing modules)의 실시예들에 따른 뷰 리제너레이션(view regeneration)을 나타낸다.
실시예들에 따른 뷰 리제너레이션은 뷰 리제너레이션(59000) 및 뷰 신테시스(59001)을 수행할 수 있다. 도 59에서 나타난 실시예들에 따른 뷰 리제너레이션(58000) 및 뷰 신테시스(58002)는 상술한 실시예들에 따른 뷰 리제너레이션(또는 뷰 재생성부)에 포함되는 블록(또는 동작)을 의미할 수 있다. 도 59에서 설명하는 뷰 리제너레이션은 뷰 재생성, 뷰 재생성부, 뷰 리제너레이팅, 뷰 리제너레이션 모듈 등으로 호칭될 수 있다. 또, 도 59에서 설명하는 뷰 신테시스는 뷰 합성, 뷰 합성부, 뷰 합성기, 뷰 신테사이저, 뷰 신디사이저 등으로 호칭될 수도 있다.
실시예들에 따르면, 디코더 (또는 수신기)는 리제너레이트된 뷰 (v2 등)를 생성하기 위해 뷰 리제너레이션을 수행한다.
뷰 리제너레이션(59000)은 실시예들에 따른 커먼 레퍼런스 뷰 픽처(c0) 및 실시예들에 따른 제 1 스파스 뷰 픽처(s1)를 이용하여 실시예들에 따른 제 1 뷰잉 포지션에 대한 재생성된 뷰(v1) 픽처를 생성할 수 있다. 실시예들에 따른 커먼 레퍼런스 뷰 픽처(c0)는 실시예들에 따른 센터 뷰 제너레이션부에 의해 생성된 센터 뷰이거나, 수신된 픽처들 내에 포함된 센터 뷰일 수 있다. 제 1 스파스 뷰 픽처는 실시예들에 따른 스파스 뷰 픽처들 내에 포함되고, 제 1 뷰잉 포지션에 대한 스파스 뷰 픽처를 의미한다. 여기서, 재생성된 뷰 픽처(v1)는 제 1 뷰잉 포지션에 대한 타겟 뷰 픽처를 의미할 수 있다.
뷰 신테시스(59001)는 실시예들에 따른 커먼 레퍼런스 뷰 픽처(c0) 및 실시예들에 따른 제 1 뷰잉 포지션에 대한 재생성된 뷰(v1) 픽처를 이용하여 제 2 뷰잉 포지션에 대한 재생성된 뷰(또는 제 2 뷰잉 포지션에 대한 합성된 뷰) (v2)를 생성할 수 있다. 뷰 신테시스는 커먼 레퍼런스 뷰 픽처(c0) 및 실시예들에 따른 제 1 뷰잉 포지션에 대한 재생성된 뷰를 이용하여 제 2 뷰잉 포지션에 대한 합성된 뷰를 실시예들에 따른 뷰 합성(view synthesis) 동작을 통해 합성할 수도 있고, 실시예들에 따른 뷰 재생성(view regeneration) 동작을 통해 재생성될 수도 있다.
여기서, 실시예들에 따른 뷰 신테시스(58001)는 관련 시그널링 정보에 기초하여 제 2 뷰잉 포지션에 대한 재생성된 뷰 픽처(s2)를 합성 수 있다. 여기서, 관련 시그널링 정보는 실시예들에 따른 리제너레이션 정보(regeneration information), 레퍼런스 뷰 정보(reference view information) 및/또는 뷰 합성 레코멘데이션 정보(view synthesis recommendation information)의 일부 또는 전부에 포함될 수 있다. 예를 들어, 관련 시그널링 정보는 도 39내지 도 40에서 설명한 ref_view_systhesis_method_type, view_synthesis_parameter, viewing_position_id, sparse_view_present_flag, 등과 같은 정보의 일부 또는 전부를 포함할 수 있다.
실시예들에 따른 수신한 픽처들은 실시예들에 따른 커먼 레퍼런스 뷰 픽처, 제 1 뷰잉 포지션에 대한 스파스 뷰 픽처 및/또는 프루닝된 스파스 뷰 픽처(res_s2)를 포함할 수 있다.
따라서 도 58에서 도시된 예시는, 디코딩된 픽처들이 상술한 커먼 레퍼런스 뷰(c0), 제 1 스파스 뷰 픽처(s1) 및/또는 프루닝된 스파스 뷰 픽처(res_s2)를 나타낸다. (decoded pics: c0, s1, res_s2(임의))
여기서 실시예들에 따른 수신 장치는 수신 시그널링 정보로, v1에 대한 재생성과 관련된 리제너레이션 파라미터들, s2 재생성과 관련된 파라미터들 및 v2에 대한 재생성과 관련된 리제너레이션 파라미터들을 포함한다.
즉, v1에 대한 재생성과 관련된 리제너레이션 파라미터들로 제 v1 리제너레이션 방법, 레퍼런스 뷰 픽처에 관한 정보(즉, c0에 관한 정보), 스파스 뷰 픽처에 관한 정보(즉, s1에 관한 정보), 출력 픽처에 대한 정보(사이즈, 뷰 포지션 정보 등)을 포함한다. (signaling : v1 regeneration - method, ref. pic (c0), sparse pic (s1), output pic info (size, view position..))
또한 s2에 대한 재생성과 관련된 리제너레이션 파라미터들로 스파스 뷰 리제너레이션 방법(뷰 합성), 레퍼런스 스파스 뷰 픽처에 관한 정보(즉, c0, v1에 관한 정보), 출력 픽처에 대한 정보(사이즈, 뷰 포지션 정보 등)을 포함한다. 또한, v1 리제너레이션에 관한 정보도 포함할 수 있다. (v2 regeneration - reg. method (v synthesis), ref. pic. (c0, v1), output pic info (size, view position..) + v1 regeneration info)
스파스 뷰 프루닝(sparse view pruning)및 레지듀얼 디텍션(residual detection)과정을 통해 pruned sparse view을 전달 혹은 전달하지 않은 경우, 수신기에서는 전달된 정보 및 수신기 성능을 기반으로 다음과 같이 서로 다른 동작을 할 수 있다.
3. 뷰 합성(view synthesis, 뷰 신테시스)
스파스 뷰 프루닝(sparse view pruning)이 수행된 경우 v1 과 v2의 간의 유사성이 매우 높다는 것을 가정할 수 있으며, 이 경우 수신기에서는 스파스 뷰 리제너레이션(sparse view regeneration)과정을 거치지 않고 복원된 v1으로부터 v2를 합성하는 방법을 수행할 수 도 있다.
실시예들에 따른 비디오 수신 방법은 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 단계; 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 단계, 언패킹된 비트스트림은 시그널링 정보를 포함함; 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 단계; 및, 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 단계; 를 포함할 수 있다.
또한 실시예들에 따른 비디오 수신 방법은, 언패킹된 픽처들 내에 포함된 레퍼런스 뷰 픽처(reference view picture)들 및 센터 뷰 제너레이션 정보에 기초하여 센터 뷰 픽처(center view picture)를 생성하는 단계를 포함할 수 있고, 뷰 재생성하는 단계는 레퍼런스 뷰 픽처들, 언패킹된 픽처들 내의 스파스 뷰 픽처(sparse view picture)들, 센터 뷰 픽처, 레퍼런스 뷰 정보 및 리제너레이션 정보에 기초하여 재생성된 뷰(regenerated view)를 생성할 수 있다. 또한, 뷰 합성하는 단계는 재생성된 뷰, 센터 뷰 픽처, 레퍼런스 뷰 픽처들, 프리-제너레이션 정보 및 뷰 합성 레코멘데이션 정보에 기초하여 합성된 뷰를 생성할 수 있다.
여기서, 실시예들에 따른 비디오 수신 방법은, 센터 뷰 픽처 및 스파스 뷰 픽처들 내에 포함된 제 1 뷰잉 포지션과 관련된 제 1 스파스 뷰 픽처에 기초하여, 제 1 뷰잉 포지션과 관련된 제 1 재생성된 뷰를 생성하는 단계 및, 제 1 재생성된 픽처 및 센터 뷰 픽처에 기초하여, 제 2 뷰잉 포지션과 관련된 제 2 재생성된 픽처를 생성하는 단계를 수행할 수 있다. 여기서, 제 2 뷰잉 포지션은 제 1 뷰잉 포지션과 다른 뷰잉 포지션일 수 있다.
실시예들에 따른 비디오 수신 방법 및 장치는, 이러한 뷰 리제너레이션 및 재생성된 뷰를 이용한 뷰 신테시스 구성으로 인해 서로 다른 뷰잉 포지션에 대한 뷰들을 적은 양의 데이터로 재생성 및 합성할 수 있어 송수신 효율을 높일 수 있다. 이 경우, 추가적인 뷰 재생성 동작을 하지 않고도 뷰 합성을 수행할 수 있어 수신 장치의 뷰 생성/합성 속도를 증가시킬 수 있다.
도 60은 실시예들에 따른 비디오 전송 장치의 블록도를 나타낸다.
구체적으로, 도 60(A)는 실시예들에 따른 비디오 전송 장치의 전체적인 블록도를 나타낸다.
실시예들에 따른 비디오 전송 장치(또는 인코더 프리-프로세싱부, 인코딩부, 인코더부, 인코딩단)는 실시예들에 따른 로테이션/프로젝션부(60000, rotation/projection, 또는 로테이션/프로젝션), 3DoF+ 프리프로세싱부(60001, 3DoF+ preprocessing, 또는 3DoF+ 프리프로세싱) 및/또는 인코딩부(60002, encoder, 또는 인코더)를 포함한다. 여기서, 인코더 프리-프로세싱부는 인코더 프리-프로세싱 모듈, 인코더단, 인코딩부로 호칭될 수도 있고, 비디오 전송 장치를 구성하는 장치를 포괄적으로 호칭하는 용어를 의미할 수 있다. 즉, 인코더 프리-프로세싱부는 상술한 비디오 전송 장치에 포함된 구성들인 인터-뷰 리던던시 제거부(Inter-view redundancy removal), 패킹부(Packing) 및/또는 인코더부 등을 포함할 수 있다.
실시예들에 따른 로테이션/프로젝션부(60000, 또는 로테이팅/프로젝팅)는 텍스처/뎁스 픽처를 포함하는 다중 구형 비디오/이미지(멀티 스피리컬 비디오/이미지 데이터)를 회전 및/또는 투사한다. 다중 구형 비디오/이미지 (텍스처/깊이)의 픽쳐 (들)이 회전 및/또는 투사 될 수 있다. 로테이터/프로젝터의 출력은 실시예들에 따라 소스 뷰 픽쳐(들)이라고 지칭 될 수 있는 픽쳐(텍스처/깊이) 및/또는 회전/투영 된 픽쳐이다.
실시예들에 따른 로테이션/프로젝션부(60000)는 도 27 및/또는 도 41에서 설명한 로테이션/프로젝션부(27001, 41000)를 의미할 수 있다. 또한, 로테이션/프로젝션부는 실시예들에 따라 소스 뷰 픽쳐 및/또는 회전 및/또는 투사 동작과 관련된 프로젝션 파라미터들(projection parameters)을 더 생성할 수 있다.
3DoF+ 프리프로세싱부(60001, 3DoF+ preprocessing, 또는 3DoF+ 프리프로세싱, 3DoF+ 프리프로세서)은 로테이션/프로젝션부(60000)에 의해 회전 및 투사된 다중 구형 비디오/이미지 (텍스처/깊이)의 픽쳐 (들)을 수신하고, 수신한 다중 구형 비디오/이미지(텍스처/깊이)의 픽처(들) 간의 리던던시를 제거하거나 이들을 패킹(packing)할 수 있다. 예를 들어, 3DoF+ 프리프로세싱부는 실시예들에 따른 복수의 뷰잉 포지션(viewing position)들에 대한 비디오 시퀀스(video sequence)들을 수신하여 비디오 시퀀스에 포함된 복수의 뷰잉 포지션(viewing position)들에 대한 인접한 뷰 간에 리던던시(redundancy)를 제거하는 인터-뷰 리던던시 제거 단계를 수행할 수 있다. 또한, 인터-뷰 리던던시 제거 단계로부터 생성된 픽처들(텍스쳐 픽쳐, 뎁스 픽쳐, 텍스쳐 패치 및/또는 텍스쳐 레지듀얼)을 패킹하여 하나 또는 그 이상의 패킹된 픽처들을 생성할 수 있다.
3DoF+ 프리프로세싱부는 상술한 실시예들에 따른 인터-뷰 리던던시 제거부(Inter-view redundancy removal) 및/또는 패커(Packer, 또는 패킹부)를 포함할 수 있다. 또한, 3DoF+ 프리프로세싱부는 상술한 실시예들에 따른 센터 뷰 제너레이션부(center view generation), 중간 뷰 합성부(intermediate view synthesis, 또는 인터미디에이트 뷰 신테사이저), 프루닝부(Pruner, 또는 프루너)를 포함할 수 있다. 또한, 3DoF+ 프리프로세싱부는 실시예들에 따른 스파스 뷰 프루닝부(sparse view pruning, 또는 스파스 뷰 프루너), 스파스 뷰 셀릭션부(sparse view selection, 스파스 뷰 셀렉션) 및/또는 레지듀얼 디텍션(residual detector, 레지듀얼 검출부, 잔차 검출기)를 포함할 수 있다.
3DoF+ 프리프로세싱부(60001)는 프리프로세싱 메타데이터(preprocessing metadata)를 생성할 수 있다. 프리프로세싱 메타데이터는 실시예들에 따른 센터 뷰 제너레이션 정보(center view generation information), 프리-제너레이션 정보(pre-generation information), 뷰 합성 레코멘데이션 정보(view synthesis recommendation information), 리제너레이션 정보(regeneration information), 레퍼런스 뷰 정보(reference view information)를 포함할 수 있다. 또한, 프리프로세싱 메타데이터는 실시예들에 따른 패킹 메타데이터(packing metadata) 및/또는 리컨스트럭션 파라미터들(reconstruction parameters)을 포함할 수 있다. 예를 들어, 프리프로세싱 메타데이터는 도 39 및/또는 도 40에서 나타난 시그널링 정보들 또는 파라미터들의 전부 또는 일부를 포함할 수 있다.
3DoF+ 프리프로세싱부는 도 41에서 설명한 3DoF+ 프리프로세싱부를 의미할 수 있다. 또한, 실시예들에 따른 3DoF+ 프리프로세싱부는 도 46, 도 48, 도 50, 도 52, 도 54 및/또는 도 56에 따른 인코더-프리 프로세싱부를 포함할 수 있다. 구체적으로, 3DoF+ 프리프로세싱부는 도 46, 도 48, 도 50, 도 52, 도 54 및/또는 도 56에 따른 제 1 프루닝(46000, 48000), 제 2 프루닝(46001, 48002), 인코더단의 뷰 리제너레이션(48001), 제 1 스파스 뷰를 위한 프루닝(52000), 제 2 스파스 뷰를 위한 제 1 프루닝(52001), 제 2 스파스 뷰를 위한 제 2 프루닝(52002, 54001), 스파스 뷰 셀렉션(52003), 제 1 스파스 뷰를 위한 제 1 프루닝(54000), 스파스 뷰 프루닝(54002)을 포함할 수 있다.
인코딩부(60002, Encodings)는 예를 들어, 패킹된 픽처 및/또는 센터 뷰 제너레이션 정보, 레퍼런스 뷰 정보, 리제너레이션 정보, 프리-제너레이션 정보 및/또는 뷰 합성 레코멘데이션 정보(뷰 신테시스 레코멘데이션 정보)를 포함하는 시그널링 정보를 인코딩한다. 실시예들에 따르면, 인코딩된 데이터는 비트 스트림 (들)의 포맷으로서 전송된다.
실시예들에 따르면, 3DoF+ 프리프로세싱부는 회전/투영, 센터 뷰 제너레이션, 인터미디에이트 뷰 합성(중간 뷰 합성), 프루닝, 희소(스파스) 뷰 프루닝, 패킹 및/또는 인코딩을 포함하여 전술 한 바와 같은 동작을 수행한다. 또한, 예를 들어 3DoF+ 프리프로세싱부는 도 27 및 도 27과 관련된 명세서의 단락에서 설명한 전처리기(인코더-프리프로세싱부)에 따른 동작을 수행할 수 있다. 또한, 실시예들에 따르면, 3DoF+ 프리프로세싱부는 도 41 및 도 41과 관련된 명세서의 단락에서 설명한 전송 장치에 따른 동작을 수행할 수 있다.
구체적으로, 도 60(B)는 실시예들에 따른 비디오 전송 장치의 전체적인 블록도를 나타낸다. 실시예들에 따른 비디오 전송 장치(또는 인코더 프리-프로세싱부, 인코딩부, 인코더부, 인코딩단)는 실시예들에 따른 로테이션/프로젝션부(60000, rotation/projection, 또는 로테이션/프로젝션), 3DoF+ 프리프로세싱부(60001, 3DoF+ preprocessing, 또는 3DoF+ 프리프로세싱) 및/또는 인코딩부(60002, encoder, 또는 인코더)를 포함한다.
실시예들에 따른 비디오 전송 장치(또는 인코더 프리-프로세싱부, 인코딩부, 인코더부, 인코딩단)는 실시예들에 따른 로테이션/프로젝션(60010, rotation/projection)부, 센터 뷰 생성부(60011, center view genearation module, 센터 뷰 제너레이터), 중간 뷰 합성부(60012, intermediate view synthesizer, 인터미디에이트 뷰 신테사이저), 프루닝부(60013, pruner, 프루너), 스파스 뷰 프루닝부(60014, sparse view pruner, 스파스 뷰 프루너), 패커(60015, packer) 및/또는 인코딩부(60016, encoder, 인코더)를 포함한다.
실시예들에 따른 로테이션/프로젝션부(60010) (또는 로테이팅/프로젝팅)는 텍스처/뎁스 픽처를 포함하는 다중 구형 비디오/이미지(멀티 스피리컬 비디오/이미지 데이터)를 회전 및/또는 투사한다. 다중 구형 비디오/이미지 (텍스처/깊이)의 픽쳐 (들)이 회전 및/또는 투사 될 수 있다. 로테이터/프로젝터의 출력은 실시예들에 따라 소스 뷰 픽쳐(들)이라고 지칭 될 수 있는 픽쳐(텍스처/깊이) 및/또는 회전/투영 된 픽쳐이다.
실시예들에 따른 센터 뷰 생성기 (60011) (또는 센터 뷰 생성)는 회전/투영된 픽처 및/또는 픽처 (텍스처/깊이)로부터 센터 뷰 픽처(center view picture) 및 센터 뷰(center view)에 대한 프로파일/특성에 관한 센터 뷰 제너레이션 정보(center view generation information)를 포함하는 시그널링 정보를 생성한다.
인터미디에이트 뷰 신시사이저 (60012) (또는 중간 뷰 합성)는 회전/투영된 픽처 및/또는 픽처 (텍스처/깊이) (소스 뷰 픽처)로부터 인터미디에이트 뷰 픽처(intermediate view picture)를 합성하고 프리-제너레이션 정보(pre-generation information) 및/또는 뷰 합성 레코멘데이션 정보(view synthesis recommandataion information)를 포함하는 시그널링 정보를 생성한다. 시그널링 정보는 수신기 (디코더)에서 데이터를 디코딩하는데 사용될 수 있다.
실시예들에 따른 프루너(60013) (또는 프루닝)는 픽쳐 사이의 리던던시를 제거한다. 프루닝은 뷰 간 리던던시를 제거함을 나타낸다. 이 프로세스는 인터-뷰 리던던시 리무벌로 지칭될 수 있다. 실시 예들에 따르면, 프루너의 입력은 센터 뷰 픽쳐, 소스 뷰 픽쳐 및/또는 인터미디에이트 뷰 픽쳐를 포함한다. 또한, 프루닝된 스파스 뷰(들)가 프루너에 입력될 수 있다. 프루너는 수신기(디코더)에서 데이터를 디코딩하는데 사용될 수 있는 레퍼런스 뷰 정보(reference view information) 및/또는 리제너레이션 정보(regeneration information)를 포함하는 시그널링 정보를 생성한다. 시그널링 정보는 뷰를 재생성하기 위해 프루닝과 관련된 정보를 포함한다. 실시예들에 따르면, 프루닝의 아웃풋은 스파스 뷰 픽처, 레퍼런스 뷰 픽처 및/또는 스파스 뷰 픽처를 포함한다. 실시예들에 따르면, 뷰는 뷰 픽쳐로 지칭될 수 있다.
실시예들에 따른 스파스 뷰 프루너(60014) (또는 스파스 뷰 프루닝)는 픽쳐 사이의 중복성(리던던시)을 제거한다. 스파스 뷰 프루닝은 스파스 뷰(스파스 뷰 픽쳐) 사이의 중복성을 제거하는 것을 나타낸다. 실시예들에 따르면, 프루닝은 참조(레퍼런스) 뷰들 사이의 중복성을 제거하는 반면, 스파스 뷰 프 루닝은 스파스 뷰들 사이의 중복성을 제거한다. 스파스 뷰 프루닝 (sparse view pruning)으로 인해, 뷰 당 리던던시를 보다 효율적으로 제거 할 수 있어 인코딩 및/또는 전송의 성능 및 효율이 향상될 수 있다. 실시예들에 따르면, 스파스 뷰 프루닝의 출력은 프루닝된 스파 스 뷰 픽쳐이고 일부 프루닝된 스파스 뷰 픽쳐는 프루닝의 입력에 제공 될 수 있다.
패커 (60015) (또는 패킹)는 예를 들어 센터 뷰 픽쳐, 프루닝된 스파스 뷰 픽쳐(pruned sparse view picture), 레퍼런스 뷰 픽쳐(reference view picture) 및/또는 스파스 뷰 픽쳐(sparse view picture)와 같은 픽쳐를 패킹한다. 패커의 출력은 패킹된 픽쳐(packed picture)이다.
인코더 (60016) (또는 인코딩)는 예를 들어, 패킹된 픽처 및/또는 센터 뷰 제너레이션 정보, 레퍼런스 뷰 정보, 리제너레이션 정보, 프리-제너레이션 정보 및/또는 뷰 합성 레코멘데이션 정보(뷰 신테시스 레코멘데이션 정보)를 포함하는 시그널링 정보를 인코딩한다. 실시예들에 따르면, 인코딩된 데이터는 비트 스트림 (들)의 포맷으로서 전송된다.
실시예들에 따르면, 전처리기(또는 인코더 프리-프로세싱부)는 회전/투영, 센터 뷰 제너레이션, 인터미디에이트 뷰 합성(중간 뷰 합성), 프루닝, 희소(스파스) 뷰 프루닝, 패킹 및/또는 인코딩을 포함하여 전술 한 바와 같은 동작을 수행한다.
실시예들에 따르면, 중심 뷰 화상(픽쳐)(또는 센터 뷰 픽처)은 다중 구형 비디오/이미지의 중심 위치에 대한 구형 비디오/이미지를 의미한다. 실시예들에 따르면, 중심 뷰 화상은 입력 데이터에 포함되거나 가상 시점 생성으로부터 생성 될 수 있다
실시예들에 따르면, 중간 뷰 픽쳐는 버츄얼(가상으로)하게 생성된 픽쳐를 의미한다. 중간 뷰 픽처는 입력 데이터 (예 : 다중 구형 비디오 / 이미지)에 포함되지 않는다. 실시예들에 따르면, 프리 제너레이션 정보 및 / 또는 뷰 합성 추천 정보(뷰 합성 레코멘데이션 정보)는 실시예들에 따른 viewing_position_picture_type[ i ] == 3, 4 에 관련된 뷰잉 포지션 그룹 정보 SEI 메시지 구문에 포함된다.
실시예들에 따르면, 소스 뷰 픽처 및/또는 중심 뷰 픽처(센터 뷰 픽처)가 프루닝에 사용된다. 실시예들에 따른 기준 뷰 정보(레퍼런스 뷰 정보) 및/또는 재생 정보(리제너레이션 정보)는 실시예들에 따른 viewing_position_picture_type[ i ] == 1 에 관련된 뷰잉 포지션 위치 정보 SEI 메시지 신택스에 포함된다
실시예들에 따르면, 뷰잉 포지션 그룹 정보 SEI 메시지는 인코더에 의해 전송되고 수신기에 의해 시그널링 정보로서 수신된다. 뷰잉 포지션 그룹 정보 SEI 메시지는 views_position_picture_type을 포함한다.
실시예들에 따르면, VIEW_position_picture_type은 i 번째 뷰잉 포지션의 픽쳐 타입을 픽쳐 생성 측면에서 기술한다. viewer_position_picture_type이 0과 같은 경우, i 번째 뷰잉 포지션은 중앙 뷰(센터 뷰)이다. view_position_picture_type이 1과 같은 경우, i 번째 뷰잉 포지션의 픽쳐는 뷰 리제너레이션 과정에서 참조 픽쳐(레퍼런스 픽쳐)로 사용된다. view_position_picture_type이 2와 같은 경우, i 번째 뷰잉 포지션의 픽쳐는 뷰 리제너레이션 프로세스로부터 생성될 것이다. views_position_picture_type이 3과 같은 경우, i 번째 뷰잉 포지션의 픽쳐는 부호화 전처리에서 프리-제너레이트된 뷰이다. views_position_picture_type이 4와 동일한 경우, i 번째 뷰잉 포지션의 픽쳐는 디코딩된 픽쳐에 존재하지 않을 수 있지만, 추가 정보와 함께 뷰 신테시스 방법이 권장된다. 이것은 뷰 합성과 관련하여 시간 소비 프로세스를 줄이는 데 사용될 수 있다. views_position_picture_type이 5와 같은 경우, i 번째 뷰잉 포지션의 픽쳐는 디코딩된 픽쳐에 존재하지 않을 수 있지만 다른 뷰잉 포지션으로부터의 다른(alternative) 픽쳐가 존재한다.
실시예들에 따르면, 희소 뷰 픽쳐(스파스 뷰 픽처)는 주변 시점(들)에 기초하여 현재 시점이 예측될 때 예측 될 수 없는 정보를 포함하는 픽쳐를 의미한다. 예를 들어, 그레이 또는 블랙 영역(들)은 현재 시점에 대한 화상과 주변 시점에 대한 화상 사이에서 정보가 중복됨을 의미한다. 실시예들에 따르면, 중복된 정보는 예측 가능한 정보를 의미한다. 따라서 희소 뷰 픽쳐(스파스 뷰 픽처)에는 예측할 수 없는 정보가 포함된다.
실시예들에 따라, 참조 시점 픽쳐(레퍼런스 뷰 픽처)는 현재 시점에 대한 픽쳐를 예측하는데 사용되는 주변 시점에 대한 픽쳐를 의미한다. 실시예들에 따르면, 가상 시점 생성에 의해 생성 된 소스 뷰 픽쳐/ 이미지 및/또는 픽쳐/이미지가 사용될 수 있다.
실시예들에 따르면, 희소 뷰 프루닝은 타겟 뷰잉 위치, 기준 스파스 뷰, 및 스파스 뷰 재생 방법 유형, 예컨대 target_view_id, component_id, component_type, pruned_sparse_view_present_flag, reference_sparse_view_present_flag_sprese_view_present, output_sparse_view_id, pruned_sparse_view_id 및 reference_sparse_view_id 등과 같은 정보를 나타내기 위한 메타데이터 또는 스파스 뷰를 위한 시그널링 정보를 생성한다.
실시예들에 따르면, 희소 뷰 프루닝(스파스 뷰 프루닝)은 실시예들에 따른 스파스 뷰 리제너레이션 정보를 생성한다.
도 61은 실시예들에 따른 비디오 수신 장치를 나타낸다.
구체적으로, 도 61(A)는 실시예들에 따른 비디오 수신 장치의 전체적인 블록도를 나타낸다.
디코더 포스트-프로세싱부는 디코더 포스트-프로세싱 모듈, 디코더단, 디코딩부 등으로 호칭될 수도 있고, 비디오 수신 장치를 구성하는 장치를 포괄적으로 호칭하는 용어를 의미할 수 있다. 즉, 디코더 포스트-프로세싱부는 상술한 비디오 수신 장치에 포함된 구성들인 디코더(Decoder), 뷰 리저네레이션부(View regeneration), 뷰 합성부(View synthesis), 렌더링/뷰포트 제너레이터(rendering/viewport generation)등을 포함할 수 있다.
실시예들에 따른 디코더 포스트-프로세싱부는 디코딩부(Decodings, 61001, 또는 디코더), 뷰 리컨스트럭션부(View reconstruction, 61002, 또는 뷰 리컨스트럭터, 뷰 리컨스트럭션), 뷰 합성부(View synthesis, 61003, 또는 뷰 신테시스), 렌더링/뷰포트 제너레이션부(Rendering/viewport generation, 61004, 또는 렌더링/뷰포트 제너레이터), 디스플레이부(61005, Display, 또는 디스플레이)를 포함할 수 있다.
서버(61000)는 실시예들에 따른 디코더 포스트-프로세싱부로 비트스트림을 전송할 수 있다. 서버는 실시예들에 따른 비디오 수신 장치(또는 디코더 포스트-프로세싱부)로부터 전송되는 뷰잉 포지션에 대한 정보(현재 뷰잉 포지션에 대한 정보, viewing position) 및/또는 뷰포트에 대한 정보(뷰포트 정보, viewport information)에 기초하여 (또는 대응하여) 비트스트림을 전송할 수 있다. 서버(61000)는 도 43에서 설명한 실시예들에 따른 서버를 의미할 수 있다. 또한 서버(61000)는 실시예들에 따른 인코더 프리-프로세싱부(또는 인코더단, 송신단, 전송 장치)를 의미할 수 있다.
디코딩부(61001)는 서버(61000)로부터 비트스트림을 수신하여 패킹된 뷰(또는 픽처들) 및/또는 관련 시그널링 정보를 생성, 출력 또는 파싱할 수 있다. 디코딩부는 실시예들에 따른 디코더 포스트-프로세싱부에서 생성되는 뷰잉 포지션에 대한 정보 및/또는 뷰포트에 대한 정보에 기초하여 수신된 비트스트림을 디코딩할 수 있다. 관련된 시그널링 정보로는 예를 들어, 실시예들에 따른 리컨스트럭션 파라미터(reconstruction parameter)들, 뷰 합성 파라미터들(view synthesis parameters)이 있을 수 있다. 리컨스트럭션 파라미터들은 실시예들에 따른 수신 단의 뷰 리제너레이션(view regeneration)을 수행함에 있어 필요한 시그널링 정보를 의미할 수 있다. 예를 들어, 리컨스트럭션 파라미터는 도 39 및/또는 도 40에 따른 Viewing position group information SEI message syntax 에 포함된 파라미터들의 전부 또는 일부를 포함할 수 있다. 또한, 실시예들에 따른 리컨스트럭션 파라미터는 후술할 뷰잉 포지션 그룹 정보(viewing position group information) 의 전부 또는 일부를 포함할 수 있다. 즉, 실시예들에 따른 리컨스트럭션 파라미터는 실시예들에 따른 프리프로세싱 메타데이터(preprocessing metadata)의 전부 또는 일부를 포함할 수 있다. 프리프로세싱 메타데이터는 실시예들에 따른 센터 뷰 제너레이션 정보(center view generation information), 프리-제너레이션 정보(pre-generation information), 뷰 합성 레코멘데이션 정보(view synthesis recommendation information), 리제너레이션 정보(regeneration information), 레퍼런스 뷰 정보(reference view information)를 포함할 수 있다.
뷰 리컨스트럭션(61002, view reconstruction)은 디코딩부(61001)에 의해 생성된 패킹된 픽처(또는 패킹된 뷰)를 수신하여 재생성된 뷰(regenerated view) 픽처를 생성할 수 있다. 뷰 리컨스트럭션은 실시예들에 따른 디코딩부(또는 디코더 포스트-프로세서)에 대한 뷰잉 포지션 및/또는 뷰포트에 대한 정보에 기초하여 재생성된 뷰를 생성할 수 있다. 예를 들어, 뷰 리컨스트럭션은 수신단의 사용자에 대한 뷰잉 포지션 및/또는 뷰 포트 정보에 따라, 해당 뷰잉 포지션 및/또는 뷰 포트와 관련된 픽처들(뷰들)을 재생성할 수 있다. 이 때, 뷰 리컨스트럭션은 실시예들에 따른 디코딩부로부터 생성된 리컨스트럭션 파라미터들(reconstruction parameters)에 기초하여 재생성된 뷰를 생성할 수도 있다.
뷰 리컨스트럭션(또는 뷰 재생성부)는 복수의 뷰잉 포지션에 대하여 동시에 재생성된 뷰를 생성할 수도 있고, 제 1 뷰잉 포지션을 먼저 생성(또는 재생성)한 후, 제 1 뷰잉 포지션에 대한 재생성된 뷰에 기초하여 제 2 뷰잉 포지션을 생성할 수도 있다. 즉, 실시예들에 따른 디코더단이 복수의 뷰잉 포지션에 대한 픽처들을 생성하는 경우, 재생성되는 뷰의 뷰잉 포지션에 대한 순서를 포함한 정보를 시그널링 정보로 수신할 수 있다. 이 때, 뷰잉 포지션에 대한 순서를 포함한 정보는 리컨스트럭션 파라미터들 및/또는 뷰 신테시스 파라미터들에 포함될 수도 있다.
실시예들에 따른 뷰 리컨스트럭션은 도 47, 도 49, 도 51, 도 53 및/또는 도 58에서 설명한 각각의 실시예들에 따른 제 1 뷰 리제너레이션(47000, 49000, 51000, 53000, 55000, 58000) 및/또는 각각의 실시예들에 따른 제 2 뷰 리제너레이션(47001, 49001, 51001, 53001, 55001, 58002) 전부 또는 일부를 포함할 수 있다. 또한, 실시예들에 따른 뷰 리컨스트럭션은 도 55 및/또는 도 57에서 설명한 각각의 실시예들에 따른 스파스 뷰 리제너레이션(55000, 57000)을 포함할 수 있다. 또한 실시예들에 따른 뷰 리컨스트럭션은 도 58에 따른 스파스 뷰 에스티메이션을 포함할 수도 있다. 여기서, 도 47, 도 49, 도 51, 도 53 및/또는 도 58에서 설명한 각각의 제 1 뷰 리제너레이션 및/또는 제 2 뷰 리제너레이션은 서로 다른 용어로 호칭될 수도 있다. 예를 들면, 실시예들에 따른 디코더던이 도 47 및 도 51에서 설명한 뷰 리제너레이션 구조를 포함하는 경우, 도 51에 따른 제 1 뷰 리제너레이션은 제 3 뷰 리제너레이션으로, 도 51에 따른 제 2 뷰 리제너레이션은 제 4 뷰 리제너레이션으로 호칭될 수도 있다.
뷰 신테시스(61003)은 재생성된 뷰 픽처(텍스처/뎁스)에 기초하여 합성된 뷰 픽처(텍스처) (또는 타겟 뷰잉 포지션에 대한 픽처)를 생성할 수 있다. 뷰 신테시스는 실시예들에 따른 디코딩부(또는 디코더 포스트-프로세서)에 대한 뷰잉 포지션 및/또는 뷰포트에 대한 정보에 기초하여 합성된 뷰를 생성할 수 있다. 예를 들어, 뷰 신테시스는 수신단의 사용자에 대한 뷰잉 포지션 및/또는 뷰 포트 정보에 따라, 해당 뷰잉 포지션 및/또는 뷰 포트와 관련된 픽처들(뷰들)을 합성할 수 있다. 이 때, 뷰 신테시스는 실시예들에 따른 디코딩부로부터 생성된 뷰 신테시스 파라미터들(view synthesis parameters)에 기초하여 합성된 뷰를 생성할 수도 있다. 여기서, 실시예들에 따른 뷰 신테시스는 도 59에 따른 뷰 신테시스(59001)를 포함할 수 있다.
렌더링/뷰포트 생성(61004, rendering/viewport generation)은 실시예들에 따른 합성된 뷰 픽처(텍스처) (또는 타겟 뷰잉 포지션에 대한 픽처)를 렌더링(rendering)하고, 해당 합성된 뷰 픽처에 대한 뷰포트를 생성할 수 있다.
디스플레이(61005)는 실시예들에 따른 렌더링된 픽처(텍스처) (또는 타겟 뷰잉 포지션에 대한 픽처)를 디스플레이할 수 있다.
도 61(B)는 실시예들에 따른 비디오 수신 장치의 블록도를 나타낸다.
디코더 포스트-프로세싱부는 디코더 포스트-프로세싱 모듈, 디코더단, 디코딩부 등으로 호칭될 수도 있고, 비디오 수신 장치를 구성하는 장치를 포괄적으로 호칭하는 용어를 의미할 수 있다. 즉, 디코더 포스트-프로세싱부는 상술한 비디오 수신 장치에 포함된 구성들인 디코더(Decoder), 뷰 리저네레이션부(View regeneration), 뷰 합성부(View synthesis), 렌더링/뷰포트 제너레이터(rendering/viewport generation)등을 포함할 수 있다.
실시예들에 따른 디코더 포스트-프로세싱부는 사용자(viewer)의 뷰포인트(viewpoint)에 따라, 뷰 합성부가 뷰를 합성하는데 관련된 뷰잉 포지션을 결정할 수 있다. 그 후, 디코더 포스트-프로세싱부는 각각의 뷰잉 포지션을 위한 동작을 결정할 수 있고, 및/또는 수신기의 동작 순서를 결정할 수 있다.
예를 들면, 스파스 뷰 리제너레이션 SEI 메시지가 존재하는 경우, 스파스 뷰 리제너레이션(sparse view regeneration) 동작은 각각의 뷰잉 포지션에 대하여 sparse_view_regeneration_type 정보에 따라 수행될 수 있다. 이어서, target_view_id에 대응하는 component_id and component_type에 따라 지시되는 모든 컴포넌트들에 대하여 포스트-프로세싱이 수행될 수 있다. 아래는 sparse_view_regeneration_type 정보에 따라 수행될 수 있는 스파스 뷰 리제너레이션 동작의 예시를 나타낸 것이다.
- sparse_view_regeneration_type equal이 1인 경우, 스파스 뷰 재생성 동작은 도 35에 따라 수행될 수 있다. 도 35에 따른 레퍼런스 스파스 뷰(reference sparse view, s1)와 프루닝된 스파스 뷰 픽처(pruned sparse view, res_s1)는 각각 reference_sparse_view_id 및 pruned_sparse_view_id에 의해 나타내어질 수 있다. 여기서, 도 35에 따른 재생성된 뷰를 예측(prediction)하는 경우, 레퍼런스 스파스 뷰 픽처 및 view_position_descriptor()에 의해 지시되는 타겟 뷰들의 위치(location), 회전(rotation), 커버리지(coverage)를 이용하여 뷰들 간의 디스페리티를 계산할 수 있다. 도 35에 따른 재생성된 뷰를 예측(prediction)하는 경우, 레퍼런스 스파스 뷰의 위치(location), 회전(rotation), 커버리지(coverage)와 타겟 뷰의 위치(location), 회전(rotation), 커버리지(coverage)를 이용하여 뷰들 간의 디스페리티(disparity)를 계산할 수 있다. 여기서, 레퍼런스 스파스 뷰의 위치(location), 회전(rotation), 커버리지(coverage)와 타겟 뷰의 위치(location), 회전(rotation), 커버리지(coverage)는 reference_sparse_view_id, target_view_id 각각에 대응하는 뷰 포지션 디스크립터 정보(즉, view_position_descriptor())에 의해 나타내어질 수 있다.
- sparse_view_regeneration_type equal이 2인 경우, 스파스 뷰 재생성 동작은 도 36에 따라 수행될 수 있다. 도 36에 따른 레퍼런스 스파스 뷰(reference sparse view, s1)는 reference_sparse_view_id에 의해 나타내어질 수 있다. 여기서, 도 36에 따른 재생성된 뷰를 예측(prediction)하는 경우, 레퍼런스 스파스 뷰 픽처 및 view_position_descriptor()에 의해 지시되는 타겟 뷰들의 위치(location), 회전(rotation), 커버리지(coverage)를 이용하여 뷰들 간의 디스페리티를 계산할 수 있다. 도 36에 따른 재생성된 뷰를 예측(prediction)하는 경우, 레퍼런스 스파스 뷰의 위치(location), 회전(rotation), 커버리지(coverage)와 타겟 뷰의 위치(location), 회전(rotation), 커버리지(coverage)를 이용하여 뷰들 간의 디스페리티(disparity)를 계산할 수 있다. 여기서, 레퍼런스 스파스 뷰의 위치(location), 회전(rotation), 커버리지(coverage)와 타겟 뷰의 위치(location), 회전(rotation), 커버리지(coverage)는 reference_sparse_view_id, target_view_id 각각에 대응하는 뷰 포지션 디스크립터 정보(즉, view_position_descriptor())에 의해 나타내어질 수 있다.
- sparse_view_regeneration_type equal이 3인 경우, 스파스 뷰 재생성 동작은 도 37에 따라 수행될 수 있다. 도 37에 따른 레퍼런스 스파스 뷰(reference sparse view, s1)는 reference_sparse_view_id에 의해 나타내어질 수 있다. 여기서, 실시예들에 따른 스파스 뷰 재생성 동작을 수행하기 앞서, 임시 재생성된 뷰(v1)을 생성할 수 있다. 임시 재생성된 뷰는 레퍼런스 뷰로 호칭할 수도 있다. 도 37에 따른 스파스 뷰(s2)를 예측(prediction)하는 경우, 레퍼런스 스파스 뷰의 위치(location), 회전(rotation), 커버리지(coverage)와 타겟 뷰의 위치(location), 회전(rotation), 커버리지(coverage)를 이용하여 뷰들 간의 디스페리티(disparity)를 계산할 수 있다. 여기서, 레퍼런스 스파스 뷰의 위치(location), 회전(rotation), 커버리지(coverage)와 타겟 뷰의 위치(location), 회전(rotation), 커버리지(coverage)는 reference_sparse_view_id, target_view_id 각각에 대응하는 뷰 포지션 디스크립터 정보(즉, view_position_descriptor())에 의해 나타내어질 수 있다.
- sparse_view_regeneration_type equal이 4인 경우, 스파스 뷰 재생성 동작은 도 38에 따라 수행될 수 있다. 도 38에 따른 레퍼런스 스파스 뷰(reference sparse view, s1)는 reference_sparse_view_id에 의해 나타내어질 수 있다. 실시예들에 따른 디코더 포스트-프로세싱부가 레퍼런스 뷰를 재생성한 경우, 타겟 뷰가 뷰 합성부의 동작에 의해 재생성될 수 있다. 여기서 뷰 합성을 수행하는 경우, 레퍼런스 뷰(즉, 재생성된 v1 픽처)의 위치(location), 회전(rotation), 커버리지(coverage)와 타겟 뷰의 위치(location), 회전(rotation), 커버리지(coverage)를 이용하여 뷰들 간의 디스페리티(disparity)를 계산할 수 있다. 여기서, 레퍼런스 스파스 뷰의 위치(location), 회전(rotation), 커버리지(coverage)와 타겟 뷰의 위치(location), 회전(rotation), 커버리지(coverage)는 reference_sparse_view_id, target_view_id 각각에 대응하는 뷰 포지션 디스크립터 정보(즉, view_position_descriptor())에 의해 나타내어질 수 있다.
실시예들에 따른 인코더 프리-프로세싱부에 의해 전송되는 뷰 포지션 그룹 정보(view position group information)은 실시예들에 따른 콘트롤러(2806)에 의해 파싱될 수 있다. 콘트롤러는, 어떤 뷰잉 포지션(viewing position), 어떤 뷰 재생성 동작 및/또는 뷰 합성 동작 방법이 수행되는지, 뷰 재생성 및/또는 뷰 합성이 어떤 순서로 동작하는지를 결정함으로써, 전체 뷰포트(viewport) 생성 동작을 제어할 수 있다. 예를 들어, 사용자(viewer)가 중심 위치(center position) 또는 레퍼런스 뷰 픽처에 해당하는 위치와 정확히 동일한 위치에 해당하는 픽처(a picture position that is exactly same with the reference picture position)를 시청하기를 원하는 경우, 해당하는 픽처(센터 뷰 픽처 또는 레퍼런스 뷰 픽처)만 선택하여 언패킹을 수행할 수도 있다.
그러나, 만약 중심 위치(center position)가 인코더 프리-프로세싱부에 의해 생성되지 않은 경우, 실시예들에 따른 콘트롤러는 수신한 레퍼런스 뷰들로부터 센터 뷰를 생성하도록 실시예들에 따른 센터 뷰 제너레이션부를 제어할 수 있다.
또한, 예를 들면, 해당 뷰잉 포지션이 하나의 전체 픽처(a full picture)가 아니어서, 전체 픽처를 위한 추가 동작이 필요할 수 있다. 이 경우, 실시예들에 따른 콘트롤러는 실시예들에 따른 뷰 재생성부 및/또는 센터 뷰 제너레이션부를 제어할 수 있다. 즉, 콘트롤러는 관련 메타데이터를 이용하여 실시예들에 따른 뷰 재생성부 및/또는 센터 뷰 제너레이션부를 제어할 수 있다. 여기서 메타데이터는 인코더 프리-프로세서에 의해 시그널링될 수 있으며, 실시예들에 따른 디코더 포스트-프로세싱부는 해당 메타데이터에 기초하여 센터 뷰 픽처(center view picture), 레퍼런스 뷰 픽처(reference view pictures) 및/또는 스파스 뷰 픽처(sparse view pictures)들을 생성할 수 있다.
이 과정에서, 실시예들에 따른 다른 뷰들(other views, 예를 들면 타겟 뷰들)을 생성하기 위하여 실시예들에 따른 센터 뷰 픽처 및/또는 레퍼런스 뷰 픽처를 이용할 수 있다. 따라서, 센터 뷰 제너레이션, 레퍼런스 뷰 생성하는 동작 및/또는 중간 뷰 생성하는 동작은 실시예들에 다른 뷰 리제너레이션부에 앞서 수행될 수 있다.
만약, 실시예들에 따른 수신 장치의 뷰잉 포지션이 재생성된 또는 제공된 뷰잉 포지션과 매치(match)되지 않는 경우에는, 해당 재생성된 및/또는 제공된 뷰잉 포지션에 대한 픽처들을 합성할 수 있다. 따라서, 실시예들에 따른 뷰 재생성부의 동작은 실시예들에 따른 뷰 합성부의 동작에 선행할 수 있다. 여기서, 상술한 프로세싱의 순서는 viewing_position_picture_type 및/또는 view_position_processing_order_idx에 의해 나타내어질 수 있다.
실시예들에 따른 비디오를 수신하기 위한 장치는 디코더, 언 패커, 제어기, 중심 뷰 생성기, 뷰 재생기, 스파스 뷰 재생기, 뷰 합성기 및/또는 렌더러/뷰포트 생성기를 포함한다.
디코딩부(61010) (또는 디코더, 디코딩)는 예를 들어 비트스트림 내의 픽처 및 실시예들에 따른 시그널링 정보 (viewing position group information 를 포함)를 포함하여 수신 된 데이터를 디코딩한다.
언패킹부(61011) (또는 언패커, 언패킹)는 비트 스트림에서 패킹 된 픽처와 같은 픽처를 언 패킹한다.
콘트롤러(61015) (또는 제어부, 제어기)는 비트 스트림에서의 시그널링 정보, 예를 들어 뷰잉 포지션 그룹 정보, 실시예들에 따른 중심 뷰 생성 정보(센터 뷰 제너레이션 정보), 실시예들에 따른 참조 뷰 정보(레퍼런스 뷰 정보), 실시예들에 따른 재생 정보(리제너레이션 정보), 실시예들에 따른 사전 생성 정보(프리-제너레이션 정보) 및 / 또는 실시예들에 따른 합성 추천 정보(뷰 합성 레코멘데이션 정보)를 제어한다. 후 처리에서의 각 동작에 시그널링 정보를 제공하기 위해 사용된다.
센터 뷰 제너레이션(61012) (또는 중앙 뷰 생성기, 센터 뷰 제너레이터)는 센터 뷰 생성 정보에 기초하여 센터 뷰 픽쳐를 생성한다. 실시예들에 따르면, viewing_position_picture_type 이 0과 동일한 실시 예들에 따른 시그널링 정보 또는 center_view_present_flag이 0과 동일한 경우 센터 뷰 제너레이션이 처리된다. 각 뷰잉 포지션에 대한 레퍼런스 뷰잉 포지션들 및 파라미터들은 views_position_id, center_view_generation_parameter에 의해 주어진다. 다른 경우에, 계산 복잡도가 수신기에 큰 부담인 경우, alternative_viewing_position_id, alternative_view_distance, rec_center_view_generation_method_type과 같은 주어진 정보에 의해 대안적인 시청 위치가 사용될 수 있다.
뷰 리제너레이션부(61013) (또는 뷰 재생성부, 뷰 리제너레이션기)는 레퍼런스 뷰(참조 뷰) 및/또는 희소 뷰(스파스 뷰) (들)에 기초하여 리제너레이트된 뷰를 재생성한다. 실시예들에 따르면, 희소 뷰는 비트스트림으로 전송될 수 있거나 희소 뷰는 희소 뷰 리제너레이션(스파스 뷰 리제너레이션)에 의해 생성 될 수 있다.
실시예들에 따르면, viewing_position_picture_type이 1과 동일한 경우, 픽쳐는 다른 뷰잉 포지션에 대한 참조 픽쳐로서 사용될 수 있다. 이 경우, 디코더는 views_position_id에 의해 주어진 이 픽처를 사용하는 뷰잉 포지션의 정보와 함께 픽처를 버퍼에 저장할 수 있다. viewing _position_picture_type이 2와 같은 경우, 뷰 리제너레이션 이 뷰잉 위치의 칙쳐를 복원하는데 사용되어야 한다. 리제너레이션 프로세스에 필요한 참조 뷰 및 스파스 뷰는 각각 views_position_id 및 picture_id에 의해 표현된다. 실시예들에 따른 수신기는 view_regeneration_method_type에 의해 주어진 리제너레이션 처리 방법을 사용하여 인코더가 의도 한 시청 위치를 복원할 수 있다.
스파스 뷰 리제너레이션부(스파스 뷰 리제너레이터, 61014)는 비트 스트림에서의 희소 뷰 픽처 및 시그널링 정보에 기초하여 희소 뷰 픽처(스파스 뷰 픽처)를 재생성한다. 도 61에서 설명하는 스파스 뷰 리제너레이션부는 실시예들에 따른 스파스 뷰 리제너레이션부를 의미할 수 있다. 즉, 도 61에서 설명하는 스파스 뷰 리제너레이션부는 도 35 내지 도 37, 도 55 및/또는 도 57에 따른 스파스 뷰 리제너레이션(35000, 36000, 37000, 55000, 57000)을 포함할 수 있다. 또한, 실시예들에 따른 스파스 뷰 리제너레이션부는 도 58에 따른 스파스 뷰 에스티메이션(sparse view estimation, 58001)을 포함할 수 있다. 실시예들에 따른 비디오 수신 장치는 도 35 내지 도 37, 도 55, 도 57 및/또는 도 58에서 설명한 스파스 뷰 리제너레이션 및/또는 뷰 에스티메이션 전부 또는 일부를 포함할 수도 있다. 여기서, 도 35 내지 도 37, 도 55 및/또는 도 57에 따른 스파스 뷰 리제너레이션 각각은 다르게 호칭될 수도 있다. 예를 들어, 실시예들에 따른 비디오 수신 장치가 도 35 및 도 36 각각에 따른 스파스 뷰 리제너레이션부를 포함하는 경우, 각각에 대하여 제 1 스파스 뷰 리제너레이션 및/또는 제 2 스파스 뷰 리제너레이션으로 호칭될 수도 있다.
뷰 신테시스(뷰 합성부, 뷰 신디사이저, 뷰 합성기, 61016) (또는 뷰 합성)는 센터 뷰 픽처(또는 커먼 레퍼런스 뷰 픽처), 재생성된 뷰 픽처, 레퍼런스 뷰 픽쳐 (예를 들어, 주변을 뷰포인트들 및/또는 프리 제너레이션 정보 및/또는 합성 추천 정보를 포함하는 시그널링 정보에 대한)에 기초하여 목표 시청 위치에 대한 픽쳐 및 / 또는 픽쳐를 합성한다.
실시예들에 따르면, viewing_position_picture_type이 3과 같은 경우, 픽처는 소스 픽처가 아니라 미리 생성된 뷰이다. 수신기는 이 픽쳐를 사용할지 또는 리제너레이트된 픽쳐로 새로운 픽쳐를 합성할지 결정한다. 이 결정에서, 처리된 방법은 pregeneration_method_type에 의해 주어진 결정 기준 중 하나 일 수 있다. 수신기가 이 픽처를 사용하는 경우, views_position_id에 의해 제공된 참조 픽처 및 picture_id에 의해 제공된 희소 뷰는 재생 방법과 함께 사용된다.
실시예들에 따르면, viewing_position_picture_type이 4와 동일한 경우, 이 뷰잉 위치에 대해 추천된 뷰 합성 정보가 제공된다. 이들은 각각 ref_view_systhesis_method_type, view_synthesis_parameter, views_position_id, sparse_view_present_flag에 의해 주어진 합성 방법, 파라미터, 레퍼런스 뷰잉 포지션 인디케이터 및 스파스 뷰 존재 플래그이다.
실시예들에 따르면, viewing_position_picture_type이 5와 같은 경우, 시청 위치는 alternative_viewing_position_id로 표시되는 소스 뷰, 재생 뷰 또는 합성 뷰로부터 다른 뷰로 대체될 수 있다.
렌더러/뷰포트 생성기 (61017) (또는 렌더링/뷰포트 생성)는 뷰 합성에 의해 생성된 뷰를 렌더링하고, 사용자, 디스플레이어 또는 수신기로부터 획득된 사용자 뷰포트에 대한 뷰포트 정보를 생성한다. 실시예들에 따른 뷰포트 정보는 제어부에 제공된다.
실시예들에 따르면, 포스트 프로세서는 디코딩(들), 언 패킹, 중심 뷰 생성, 뷰 재생, 희소 뷰 재생, 제어, 뷰 합성 및/또는 렌더링/뷰포트 생성을 포함하여 전술한 바와 같은 동작을 수행한다.
도 62는 실시예들에 따른 비디오 전송 방법의 흐름도를 나타낸다.
실시예들에 따른 비디오 전송 방법은, 복수의 뷰잉 포지션(viewing position)들에 대한 픽처(picture)들의 인터-뷰 리던던시를 제거하는 단계(S62000), 상술한 인터-뷰 리던던시가 제거된 픽처들을 패킹하는 단계(S62001) 및/또는 패킹된 픽처들 및 시그널링 정보를 인코딩하는 단계(S62002)를 포함할 수 있다.
S62000 관련하여, 실시예들에 따른 비디오 전송 방법은 복수의 뷰잉 포지션(viewing position)들에 대한 픽처(picture)들의 인터-뷰 리던던시를 제거하는 단계(S62000)를 수행할 수 있다. 복수의 뷰잉 포지션들에 대한 픽처들은 실시예들에 따른 인코더단에서 획득한 이미지/비디오에 대한 픽처들을 의미할 수 있다. 예를 들어, 복수의 뷰잉 포지션(viewing position)들에 대한 픽처(picture)들은 도 41, 도 42 및/또는 도 60에서 설명하는 텍스처/뎁스 픽처를 포함하는 다중 구형 비디오/이미지(멀티 스피리컬 비디오/이미지 데이터)를 포함할 수 있다. 또는, 복수의 뷰잉 포지션(viewing position)들에 대한 픽처(picture)들은 도 41, 도 42 및/또는 도 60에서 설명하는 로테이션/프로젝션부에 의해 회전 및/또는 투사 동작이 수행된 소스 뷰 픽처를 의미할 수 있다.
복수의 뷰잉 포지션(viewing position)들에 대한 픽처(picture)들은 실시예들에 따른 소스 뷰를 의미할 수 있다. 즉, 복수의 뷰잉 포지션(viewing position)들에 대한 픽처(picture)들은 도 30, 도 32, 도 34, 도 46, 도 48, 도 50, 도 52, 도 54, 도 56 등에서 설명하는 소스 뷰 픽처(제 1 뷰잉 포지션에 대한 소스 뷰 픽처(v1) 및/또는 제 2 뷰잉 포지션에 대한 소스 뷰 픽처(v2))를 포함할 수 있다.
실시예들에 따른 인터-뷰 리던던시를 제거하는 동작은 뷰들(예를 들어, 소스 뷰 픽처들) 간의 리던던시(redundancy)를 제거할 수 있다. 예를 들어, 복수 개의 소스 뷰 픽처들 간의 리던던시를 제거한다고 함은, 복수 개의 소스 뷰 픽처들이 공통적으로 포함하는 픽처들의 요소(예를 들면, 실시예들에 따른 컴포넌트 등)들을 제거하는 것을 의미한다. 즉, 인터-뷰 리던던시를 제거하는 동작은 복수 개의 뷰들 간의 중복성을 제거하고, 실시예들에 따른 레퍼런스 뷰 픽처와 실시예들에 따른 스파스 뷰 픽처를 생성한다. 레퍼런스 뷰 픽처는 인터-뷰 리던던시 제거하는 단계에서 리던던시가 제거되지 않은 픽처로, 실시예들에 따른 디코더단에서 인터-뷰 리던던시가 제거된 뷰를 재생성 및/또는 합성하기 위한 참조 픽처를 나타낸다. 스파스 뷰 픽처는 특정 뷰잉 포지션에 대한 소스 뷰 픽처가 상술한 레퍼런스 뷰 픽처에 의해 중복성이 제거된(즉, 리던던시가 제거된) 픽처를 나타낸다.
S62001 관련하여, 인터-뷰 리던던시가 제거된 픽처들을 패킹하는 단계(S62001)는 상술한 인터-뷰 리던던시가 제거된 픽처들을 하나 또는 그 이상의 2D 이미지 상으로 병합하는 단계를 의미한다. 인터-뷰 리던던시가 제거된 픽처들을 패킹하는 단계(S62001)는 도 41 및 도 60에서 설명한 3DoF+ 프리프로세싱(또는 3DoF+ 프리프로세싱부, 41001, 60001)에서 수행될 수 있다. 또한, 인터-뷰 리던던시가 제거된 픽처들을 패킹하는 단계(S62001)는, 도 30, 도 32, 도 34 에서 설명하는 패킹/인코딩부(30002, 32002, 33002) 및/또는 도 46, 도 48, 도 50, 도 52, 도 54, 도 56에서 설명하는 인코딩부(46002, 48003, 50003, 50007, 52004, 54003, 56004)에서 수행될 수 있다. 또한, 인터-뷰 리던던시가 제거된 픽처들을 패킹하는 단계(S62001)는 도 42 및 도 60에서 설명하는 패킹부(packing, 42004)에서 수행될 수도 있다. 여기서, 인터-뷰 리던던시가 제거된 픽처들을 패킹하는 단계(S62001)는 패킹과 관련된 시그널링 정보를 생성할 수 있다.
인터-뷰 리던던시가 제거된 픽처들을 패킹하는 단계(S62001)는 실시예들에 따른 리컨스트럭션 파라미터(reconstruction parameter)를 생성할 수 있다. 실시예들에 따른 리컨스트럭션 파라미터는 실시예들에 따른 프리프로세싱 메타데이터(preprocessing metadata)의 전부 또는 일부를 포함할 수 있다. 프리프로세싱 메타데이터는 실시예들에 따른 센터 뷰 제너레이션 정보(center view generation information), 프리-제너레이션 정보(pre-generation information), 뷰 합성 레코멘데이션 정보(view synthesis recommendation information), 리제너레이션 정보(regeneration information), 레퍼런스 뷰 정보(reference view information)를 포함할 수 있다.
예를 들어, 리컨스트럭션 파라미터는 도 39 및/또는 도 40에 따른 Viewing position group information SEI message syntax 에 포함된 파라미터들의 전부 또는 일부를 포함할 수 있다. 또한, 실시예들에 따른 리컨스트럭션 파라미터는 후술할 뷰잉 포지션 그룹 정보(viewing position group information) 의 전부 또는 일부를 포함할 수 있다.
S62002 관련하여, 패킹된 픽처들 및 시그널링 정보를 인코딩하는 단계(S62002)는 실시예들에 따른 패킹된 픽처들을 인코딩할 수 있다. 즉, 인터-뷰 리던던시가 제거된 픽처들을 패킹하는 단계(S62001)는 실시예들에 따른 패킹 메타데이터(packing metadata)를 생성할 수 있다. 패킹 메타데이터는 실시예들에 따른 언패킹부(26002)가 언패킹을 수행하기 위해 필요한 시그널링 정보일 수 있다.
패킹된 픽처들 및 시그널링 정보를 인코딩하는 단계(S62002)는 도 41 및 도 60에서 설명한 인코딩부(또는 인코더부, 41002, 60002)에서 수행될 수 있다. 또한, 인터-뷰 리던던시가 제거된 픽처들을 패킹하는 단계(S62001)는, 도 30, 도 32, 도 34 에서 설명하는 패킹/인코딩부(30002, 32002, 33002) 및/또는 도 46, 도 48, 도 50, 도 52, 도 54, 도 56에서 설명하는 인코딩부(46002, 48003, 50003, 50007, 52004, 54003, 56004)에서 수행될 수 있다. 패킹된 픽처들 및 시그널링 정보를 인코딩하는 단계(S62002)는 패킹된 픽처들을 인코딩하여 비트스트림을 출력/전송한다.
실시예들에 따른 방법/장치는 실시예들에 따른 비디오 송신 방법/장치 및/또는 비디오 수신 방법/장치를 의미할 수 있다.
실시예들에 따른 방법/장치는 3DoF+ 비디오를 전송하기 위한 대역폭과 저장 장치의 저장공간을 줄일 수 있고, 헤드 모션 시차 및/또는 양안 시차가 제공되는 높은 품질의 3DoF+ 비디오를 보장할 수 있다. 또한, 또한, 이러한 구성으로 인해, 수신기는 헤드 모션 시차 및/또는 양안 시차가 제공되는 비디오 또는 다른 시점을 생성 할 수 있으며, 수신기는 변화하는 위치로 인터렉티브(interactive)한 비디오를 생성 할 수 있다.
실시예들에 따른 방법은 상술한 실시예들과 더 결합될 수 있다.
도 63은 실시예들에 따른 비디오 수신 방법의 흐름도를 나타낸다.
실시예들에 따른 비디오 전송 방법은, 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 단계(S63000), 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 단계(S63001), 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 단계(S63002), 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 단계(S63003)를 포함할 수 있다.
S63000 관련하여, 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 단계(S63000)은 실시예들에 따른 비디오 수신 장치가 수신한 비트스트림을 디코딩할 수 있다. 이 때, 비디오 수신 장치(또는 디코딩부, 디코더)는 비트스트림에 포함된 데이터 전부를 디코딩할 수도 있고, 그 중 일부만을 디코딩할 수도 있다. 비디오 수신 장치가(또는 디코딩부, 디코더는) 비트스트림의 일부만을 디코딩하는 경우에는 비디오 수신 장치의 뷰잉 포지션(viewing position) 정보 및/또는 뷰포트 정보(viewport information)에 기초하여 디코딩할 수 있다. 즉 다시 말하면, 비디오 수신 장치는 사용자(viewer)에게 특정 뷰잉 포지션에 대한 뷰(view)들만을 디스플레이할 수도 있다. 따라서, 비디오 수신 장치는 목표하는 프로젝티드 픽처를 디코딩하여 재생성(regenerate) 및/또는 합성(synthesis)할 수 있도록 사용자(viewer)의 뷰포인트(viewpoint) 및/또는 뷰잉 포지션(viewing position)에 대한 정보에 기초하여 디코딩할 있다.
S63001 관련하여, 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 단계(S63001)은 상술한 디코딩된 비트스트림에 포함된 패킹된 픽처들(packed pictures)을 언패킹(unpacking)할 수 있다. 패킹된 픽처들(packed pictures)은 실시예들에 따른 적어도 하나의 레퍼런스 뷰 픽처(reference view picture), 적어도 하나의 스파스 뷰 픽처(sparse view picture)들을 포함할 수 있다. 스파스 뷰 픽처들은 실시예들에 따른 프루닝된 스파스 뷰 픽처(pruned sparse view picture)를 포함할 수 있다.
디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 단계는 도 28, 도 61 등에서 설명하는 언패킹부 또는 뷰 리컨스트럭션부에서 수행될 수 있다. 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 단계는 도
적어도 하나의 레퍼런스 뷰 픽처(reference view picture), 적어도 하나의 스파스 뷰 픽처(sparse view picture)들은 복수의 뷰잉 포지션에 대한 픽처를 의미할 수 있다. 예를 들면, 언패킹된 픽처는 제 1 뷰잉 포지션에 대한 레퍼런스 뷰, 제 1 뷰잉 포지션에 대한 제 1 스파스 뷰 픽처, 제 1 뷰잉 포지션에 대한 제 2 스파스 뷰 픽처, 제 2 뷰잉 포지션에 대한 레퍼런스 뷰, 제 2 뷰잉 포지션에 대한 제 1 스파스 뷰 픽처, 제 2 뷰잉 포지션에 대한 프루닝된 스파스 뷰 픽처 등을 포함할 수도 있다.
S63002 관련하여, 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 단계(S63002)는, 실시예들에 따른 언패킹된 픽처들 내에 포함된 레퍼런스 뷰 픽처(들), 스파스 뷰 픽처(들)을 이용하여 재생성된 뷰(regenerated view)를 생성할 수 있다. 여기서 뷰 재생성하는 단계는 센터 뷰 제너레이션에 의해 생성된 센터 뷰 픽처를 참조하여 재생성된 뷰를 생성할 수 있다.
언패킹된 픽처들을 뷰 재생성(view regenerating)하는 단계(S63002)는, 도 31, 도 33, 도 35, 도 36, 도 37, 도 38, 도 45, 도 47, 도 49, 도 51, 도 53, 도 55, 도 57 및/또는 도 58에 따른 뷰 리제너레이션(35001, 36001, 38000, 4501, 55001, 59000), 스파스 뷰 리제너레이션(35000, 36000, 37001, 55000), 제 1 뷰 리제너레이션(31000, 33000, 37000, 47000, 49000, 51000, 53000, 58000) 제 2 뷰 리제너레이션(31001, 33001, 37002, 47001, 49001, 51001, 53001, 58001)에서 수행되는 일련의 동작들 전부 또는 일부를 포함할 수 있다.
뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 단계는 실시예들에 따른 재생성된 뷰(regenerated view)를 이용하여 사용자(viewer)들에게 디스플레이될 합성 뷰를 생성할 수 있다.
실시예들에 따른 방법/장치는 실시예들에 따른 비디오 송신 방법/장치 및/또는 비디오 수신 방법/장치를 의미할 수 있다.
실시예들에 따른 방법/장치는 3DoF+ 비디오를 전송하기 위한 대역폭과 저장 장치의 저장공간을 줄일 수 있고, 헤드 모션 시차 및/또는 양안 시차가 제공되는 높은 품질의 3DoF+ 비디오를 보장할 수 있다. 또한, 또한, 이러한 구성으로 인해, 수신기는 헤드 모션 시차 및/또는 양안 시차가 제공되는 비디오 또는 다른 시점을 생성 할 수 있으며, 수신기는 변화하는 위치로 인터렉티브(interactive)한 비디오를 생성 할 수 있다.
실시예들에 따른 방법은 상술한 실시예들과 더 결합될 수 있다.
본 명세서에서 “/”및 “,”는 “및/또는”으로 해석할 수 있다. 예를 들어, “A/B”의 표현은 “A 및/또는 B”를 의미할 수 있다. 나아가, “A, B”는 “A 및/또는 B”를 의미할 수 있다. 더 나아가, “A/B/C”는 “A, B 및/또는 C 중 적어도 하나의”를 의미할 수 있다.
나아가 본 명세서에서 “또는”은 “및/또는”으로 해석할 수도 있다. 예를 들어 “A 또는 B”는 1)A만 나타내는 경우, 2)B만 나타내는 경우 및/또는 3)A 그리고 B를 나타내는 경우를 의미할 수 있다. 다시 말하면, 본 명세서에서 “또는”은 “부가적으로 또는 대안적으로(additionally or alternativelty)”를 의미할 수 있다.
실시예들에 따른 비디오 전송 방법, 비디오 수신 방법을 구현하기 위한 모듈들/블록들, 비디오 전송 장치, 비디오 수신 장치 및/또는 그 내부에 존재하는 모듈들/블록들은 상술한 바에 대응하는 기능을 수행할 수 있다.
도 1 내지 도 63에서 설명한 실시예들에 따른 비디오 전송 방법, 비디오 수신 방법, 비디오 전송 장치 및/또는 비디오 수신 장치의 구성요소들은 은 각각 별도의 하드웨어(예를 들면 칩, 하드웨어 회로, 통신 가능한 디바이스 등)으로 구성될 수도 있고 하나의 하드웨어로 구성될 수도 있다. 또한, 도 1 내지 도 63에서 설명한 실시예들에 따른 비디오 송신 장치 및/또는 비디오 수신 장치의 구성요소들은 각각 별도의 소프트웨어 내지 API(또는 펌웨어)로 구성될 수도 있다. 또한 실시예들에 따른 AR 모빌리티 제어 장치의 구성요소 중 적어도 하나 이상은 프로그램 또는 소프트웨어를 실행 할 수 있는 하나 또는 그 이상의 프로세서들로 구성될 수 있다.
도 1 내지 도 63에서 설명한 실시예들에 따른 비디오 전송 방법, 비디오 수신 방법, 비디오 전송 장치 및/또는 비디오 수신 장치의 구성요소들은 각각 별도의 하드웨어(예를 들면 칩, 하드웨어 회로, 통신 가능한 디바이스 등)으로 구성될 수도 있고 하나의 하드웨어로 구성될 수도 있다. 또한 실시예들에 따른 AR 모빌리티 장치의 구성요소들 중 적어도 하나 이상은 프로그램을 실행 할 수 있는 하나 또는 그 이상의 프로세서들로 구성될 수 있다.
또한, 명세서는 각각의 첨부된 도면을 참조하여 설명되었지만, 첨부 된 도면에 도시된 실시 예들을 서로 병합함으로써 새로운 실시예를 설계하는 것도 가능하다. 또한, 전술한 실시예를 실행하기 위한 프로그램(또는 소프트웨어, 펌웨어 등)이 기록된 컴퓨터에 의해 판독 가능한 기록매체가 당업자의 필요에 따라 설계되는 경우, 이는 본 명세서에서 청구하고자 하는 권리범위 및 그 등가물의 범위에 속한다.
즉, 본 명세서에서는 첨부된 도면을 참조하여 설명하였으나, 이는 실시예일뿐 특정 실시예에 한정되지 아니하며, 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 변형실시가 가능한 다양한 내용도 청구범위에 따른 권리범위에 속한다. 또한, 그러한 변형 실시들이 본 명세서에 설명된 실시예들의 기술 사상으로부터 개별적으로 이해되어서는 안 된다.
실시예들에 따라 사용되는 제1, 제2 등의 용어들은 실시예들에 따른 다양한 구성 요소들을 설명하기 위해 사용될 수 있다. 하지만 실시예들에 따른 다양한 구성 요소들은 위 용어들에 의해 제한되서는 안된다. 이러한 용어들은 하나의 구성요소를 다른 구성요소와 구별하기 위해 사용되는 것에 불과하다. 예를 들어, 제 1 프루닝부는 제 2 프루닝부로 지칭될 수 있고, 이와 유사하게 제 2 프루닝부는 제 1 프루닝부로 지칭될 수 있으며, 이와 같은 변경은 위에서 설명한 다양한 실시예의 범위에서 벗어나지 않는 것으로 해석되어야 한다. 제 1 프루닝부 및 제 2 프루닝부 모두 광의의 의미로 프루닝부로 해석될 수 있지만, 문맥상 명확히 나타나지 않는 한, 동일한 가상의 것으로 해석되지 않는다.
실시예들에 따른 AR 모빌리티 장치 또는 AR 모빌리티 장치 제어 방법을 수행하기 위한 실행 가능한 인스트럭션들은 하나 또는 그 이상의 프로세서들에 의해 실행되기 위해 구성된 일시적이지 않은 CRM 또는 다른 컴퓨터 프로그램 제품들에 저장될 수 있거나, 하나 또는 그 이상의 프로세서들에 의해 실행되기 위해 구성된 일시적인 CRM 또는 다른 컴퓨터 프로그램 제품들에 저장될 수 있다. 또한 실시예들에 따른 메모리는 휘발성 메모리(예를 들면 RAM 등)뿐 만 아니라 비휘발성 메모리, 플래쉬 메모리, PROM등을 전부 포함하는 개념으로 사용될 수 있다.
또한, 이상에서는 바람직한 실시 예에 대하여 도시하고 설명하였지만, 실시예들은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 실시예들의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 실시예들의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.
그리고, 당해 명세서에서는 물건 발명과 방법 발명이 모두 설명되고 있으며, 필요에 따라 양 발명의 설명은 보충적으로 적용될 수가 있다.
실시예들의 사상이나 범위를 벗어나지 않고 본 명세서에서 설명하는 실시예들에서 다양한 변경 및 변형이 가능함은 당업자에게 이해된다. 따라서, 본 명세서에 따른 실시예들은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 실시예들의 변경 및 변형을 포함하는 것으로 의도된다.
본 명세서에서 장치 및 방법 발명이 모두 언급되고, 장치 및 방법 발명 모두의 설명은 서로 보완하여 적용될 수 있다.
다양한 실시예들에 발명의 실시를 위한 최선의 형태에서 설명되었다.
본 명세서의 실시예들은 VR 관련 분야에 적용 가능하다.

Claims (20)

  1. 복수의 뷰잉 포지션(viewing positions)들에 대한 픽처(picture)들의 인터-뷰 리던던시를 제거하는 단계;
    상기 인터-뷰 리던던시가 제거된 픽처들을 패킹하는 단계;
    상기 패킹된 픽처들 및 시그널링 정보를 인코딩하는 단계; 를 포함하는,
    비디오 전송 방법.
  2. 제 1 항에 있어서, 상기 비디오 전송 방법은 :
    상기 복수의 뷰잉 포지션들에 대한 픽처들에 포함된 소스 뷰 픽처들에 기초하여 센터 뷰 픽처(center view picture) 및 센터 뷰 제너레이션 정보(center view generation information)를 생성하는 단계; 및
    상기 소스 뷰 픽처들에 기초하여 중간 뷰 픽처를 합성하는 단계, 상기 중간 뷰 픽처를 합성하는 단계는 프리-제너레이션 정보(pre-generation information) 및 뷰 합성 레코멘데이션 정보(view synthesis recommendation information)를 생성함; 를 더 포함하고,
    상기 인터-뷰 리던던시를 제거하는 단계는 상기 소스 뷰 픽처들, 상기 중간 뷰 픽처 및 상기 센터 뷰 픽처 중 적어도 두 개의 픽처에 기초하여 스파스 뷰(sparse view) 픽처들을 생성하고,
    상기 인터-뷰 리던던시를 제거하는 단계는 레퍼런스 뷰(reference view) 픽처들, 레퍼런스 뷰 정보(reference view information) 및 리제너레이션 정보(regeneration information)를 더 생성하는,
    비디오 전송 방법.
  3. 제 2 항에 있어서, 상기 비디오 전송 방법은 :
    상기 스파스 뷰 픽처들의 제 1 스파스 뷰 픽처 및 상기 센터 뷰 픽처에 기초하여 임시 재생성된 뷰 픽처(temporally regenerated view picture)를 생성하는 단계; 및
    상기 임시 재생성된 뷰 픽처 및 상기 센터 뷰 픽처로부터 추측된 소스 뷰를 프루닝(pruning)하는 단계, 상기 프루닝하는 단계는 제 2 스파스 뷰 픽처를 생성함; 를 더 포함하고,
    상기 인코딩하는 단계는 상기 제 2 스파스 뷰 픽처를 더 인코딩하는,
    비디오 전송 방법.
  4. 제 2 항에 있어서, 상기 비디오 전송 방법은 :
    상기 패킹 및 인코딩된 픽처들을 디코딩 및 언패킹하는 단계, 상기 디코딩 및 언패킹된 픽처들은 임시 디코딩된 공통 레퍼런스 뷰 픽처(temporally decoded common reference view picture) 및 임시 디코딩된 스파스 뷰 픽처(temporally decoded sparse view picture)를 포함함;
    상기 임시 디코딩된 공통 레퍼런스 뷰 픽처 및 상기 임시 디코딩된 스파스 뷰 픽처에 기초하여 재생성된 뷰를 생성하는 단계; 및,
    상기 재생성된 뷰 및 상기 임시 디코딩된 공통 레퍼런스 뷰 픽처로부터 추측된 소스 뷰 픽처를 프루닝하는 단계, 상기 프루닝하는 단계는 오류 로버스트 스파스 뷰 픽처(error robust sparse view picture)를 생성함; 를 포함하고,
    상기 패킹하는 단계는 상기 오류 로버스트 스파스 뷰 픽처를 더 패킹하는,
    비디오 전송 방법.
  5. 제 2 항에 있어서, 상기 인터-뷰 리던던시를 제거하는 단계는 :
    상기 제 1 뷰잉 포지션과 관련된 제 1 소스 뷰 픽처를 상기 센터 뷰 픽처에 기초하여 제 1 프루닝하는 단계, 상기 제 1 프루닝하는 단계는 제 1 스파스 뷰 픽처를 생성함;
    상기 제 1 소스 뷰 픽처를 상기 제 1 뷰잉 포지션과 다른 제 2 뷰잉 포지션과 관련된 제 2 소스 뷰 픽처에 기초하여 제 2 프루닝하는 단계, 상기 제 2 프루닝하는 단계는 제 2 스파스 뷰 픽처를 생성함;
    상기 제 1 스파스 뷰 픽처 및 상기 제 2 스파스 뷰 픽처 중 하나의 픽처를 선택하는 단계; 를 포함하고,
    상기 인코딩하는 단계는 상기 제 1 스파스 뷰 픽처 및 상기 제 2 스파스 뷰 픽처 중 선택된 상기 하나의 픽처를 더 인코딩하는,
    비디오 전송 방법.
  6. 제 2 항에 있어서, 상기 비디오 전송 방법은 :
    상기 스파스 뷰 픽처들 내 포함된 제 2 뷰잉 포지션과 관련된 스파스 뷰 픽처에 기초하여, 상기 스파스 뷰 픽처들 내 포함된 제 1 뷰잉 포지션과 관련된 레퍼런스 스파스 뷰 픽처(reference sparse view picture)를 프루닝(pruning)하는 단계,
    상기 제 2 뷰잉 포지션은 상기 제 1 뷰잉 포지션과 다른 뷰잉 포지션이고, 상기 레퍼런스 스파스 뷰 픽처를 프루닝하는 단계는 프루닝된 스파스 뷰 픽처(pruned sparse view picture)를 생성함; 및,
    상기 프루닝된 스파스 뷰 픽처로부터 레지듀얼(residual)를 검출하는 단계; 를 포함하고,
    상기 프루닝된 스파스 뷰 픽처는 상기 레지듀얼의 존재에 대응하여 패킹되는,
    비디오 전송 방법.
  7. 복수의 뷰잉 포지션(viewing positions)들에 대한 픽처(picture)들로부터 인터-뷰 리던던시 를 제거하는 인터-뷰 리던던시 제거부(inter-view redundancy remover);
    상기 인터-뷰 리던던시 제거된 픽처들을 패킹하는 패커(packer);
    상기 패킹된 픽처들 및 시그널링 정보를 인코딩하는 인코더(encoder); 를 포함하는,
    비디오 전송 장치.
  8. 제 7 항에 있어서, 상기 비디오 전송 장치는 :
    상기 복수의 뷰잉 포지션들에 대한 픽처들에 포함된 소스 뷰 픽처들에 기초하여 센터 뷰 픽처(center view picture) 및 센터 뷰 제너레이션 정보(center view generation information)를 생성하는 센터 뷰 제너레이션부(center view generator); 및
    상기 소스 뷰 픽처들에 기초하여 중간 뷰 픽처들을 합성하는 중간 뷰 합성부(intermediate view synthesizer), 상기 중간 뷰 픽처들을 합성부는 프리-제너레이션 정보(pre-generation information) 및 뷰 합성 레코멘데이션 정보(view synthesis recommendation information)를 생성함; 를 더 포함하고,
    상기 인터-뷰 리던던시 제거부는 상기 소스 뷰 픽처들 및 상기 센터 뷰 픽처에 기초하여 수행되고,
    상기 인터-뷰 리던던시 제거부는 스파스 뷰(sparse view) 픽처들, 레퍼런스 뷰(reference view) 픽처들, 레퍼런스 뷰 정보(reference view information) 및 리제너레이션 정보를 생성하고,
    상기 시그널링 정보는 상기 센터 뷰 제너레이션 정보, 상기 프리-제너레이션 정보, 상기 뷰 합성 레코멘데이션 정보, 상기 레퍼런스 뷰 정보 및 상기 리제너레이션 정보(regeneration information)를 포함함;
    비디오 전송 장치.
  9. 제 8 항에 있어서, 상기 비디오 전송 장치는 :
    상기 스파스 뷰 픽처들의 제 1 스파스 뷰 픽처 및 상기 센터 뷰 픽처에 기초하여 임시 재생성된 뷰 픽처(temporally regenerated view picture)를 생성하는 제 1 뷰 재생성부(a first view regenerator); 및
    상기 임시 재생성된 뷰 픽처 및 상기 센터 뷰 픽처로부터 추측된 소스 뷰를 프루닝(pruning)하는 제 1 프루닝부(a first pruner), 상기 제 1 프루너는 제 2 스파스 뷰 픽처를 생성함; 를 더 포함하고,
    상기 인코더는 상기 제 2 스파스 뷰 픽처를 더 인코딩하는,
    비디오 전송 장치.
  10. 제 8 항에 있어서, 상기 비디오 전송 장치는 :
    상기 패킹 및 인코딩된 픽처들을 디코딩 및 언패킹하는 디코더(decoder) 및 언패커(unpacker), 상기 디코딩 및 언패킹된 픽처들은 임시 디코딩된 공통 레퍼런스 뷰 픽처(temporally decoded common reference view picture) 및 임시 디코딩된 스파스 뷰 픽처(temporally decoded sparse view picture)를 포함함;
    상기 임시 디코딩된 공통 레퍼런스 뷰 픽처 및 상기 임시 디코딩된 스파스 뷰 픽처에 기초하여 재생성된 뷰를 생성하는 제 2 뷰 재생성부(a second view regenerator); 및,
    상기 재생성된 뷰 및 상기 임시 디코딩된 공통 레퍼런스 뷰 픽처로부터 추측된 소스 뷰 픽처를 프루닝하는 제 2 프루너(a second pruner), 상기 제 2 프루너는 오류 로버스트 스파스 뷰 픽처(error robust sparse view picture)를 생성함; 를 포함하고,
    상기 패커는 상기 오류 로버스트 스파스 뷰 픽처를 더 패킹하는,
    비디오 전송 장치.
  11. 제 8 항에 있어서, 상기 인터-뷰 리던던시를 제거부는 :
    상기 제 1 뷰잉 포지션과 관련된 제 1 소스 뷰 픽처를 상기 센터 뷰 픽처에 기초하여 제 1 프루닝하는 단계, 상기 제 1 프루닝하는 단계는 제 1 스파스 뷰 픽처를 생성함;
    상기 제 1 소스 뷰 픽처를 상기 제 1 뷰잉 포지션과 다른 제 2 뷰잉 포지션과 관련된 제 2 소스 뷰 픽처에 기초하여 제 2 프루닝하는 단계, 상기 제 2 프루닝하는 단계는 제 2 스파스 뷰 픽처를 생성함;
    상기 제 1 스파스 뷰 픽처 및 상기 제 2 스파스 뷰 픽처 중 하나의 픽처를 선택하는 단계; 를 수행하고,
    상기 인코더는 상기 제 1 스파스 뷰 픽처 및 상기 제 2 스파스 뷰 픽처 중 선택된 상기 하나의 픽처를 더 인코딩하는,
    비디오 전송 장치.
  12. 제 8 항에 있어서, 상기 비디오 전송 장치는 :
    상기 스파스 뷰 픽처들 내 포함된 제 2 뷰잉 포지션과 관련된 스파스 뷰 픽처에 기초하여, 상기 스파스 뷰 픽처들 내 포함된 제 1 뷰잉 포지션과 관련된 레퍼런스 스파스 뷰 픽처(reference sparse view picture)를 프루닝(pruning)하는 스파스 뷰 프루너(sparse view pruner),
    상기 제 2 뷰잉 포지션은 상기 제 1 뷰잉 포지션과 다른 뷰잉 포지션이고, 상기 스파스 뷰 프루너는 프루닝된 스파스 뷰 픽처(pruned sparse view picture)를 생성함; 및,
    상기 프루닝된 스파스 뷰 픽처로부터 레지듀얼(residual)를 검출하는 레지듀얼 검출부(residual detector); 를 포함하고,
    상기 프루닝된 스파스 뷰 픽처는 상기 레지듀얼의 존재에 대응하여 패킹되는,
    비디오 전송 장치.
  13. 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 단계;
    상기 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 단계, 상기 언패킹된 비트스트림은 시그널링 정보를 포함함;
    상기 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 단계; 및,
    상기 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 단계; 를 포함하는,
    비디오 수신 방법.
  14. 제 13항에 있어서,
    상기 시그널링 정보는 뷰잉 포지션 그룹 정보(viewing position group information)를 포함하고, 상기 뷰잉 포지션 그룹 정보는 센터 뷰 제너레이션 정보(center view generation information), 프리-제너레이션 정보(pre-generation information), 뷰 합성 레코멘데이션 정보(view synthesis recommendation information), 레퍼런스 뷰 정보(reference view information) 및 리제너레이션 정보(regeneration information)를 포함하고,
    상기 비디오 수신 방법은, 상기 언패킹된 픽처들 내에 포함된 레퍼런스 뷰 픽처(reference view picture)들 및 상기 센터 뷰 제너레이션 정보에 기초하여 센터 뷰 픽처(center view picture)를 생성하는 단계를 포함하고,
    상기 뷰 재생성하는 단계는 상기 레퍼런스 뷰 픽처들, 상기 언패킹된 픽처들 내의 스파스 뷰 픽처(sparse view picture)들, 상기 센터 뷰 픽처, 상기 레퍼런스 뷰 정보 및 상기 리제너레이션 정보에 기초하여 재생성된 뷰(regenerated view)를 생성하고,
    상기 뷰 합성하는 단계는 상기 재생성된 뷰, 상기 센터 뷰 픽처, 상기 레퍼런스 뷰 픽처들, 상기 프리-제너레이션 정보 및 상기 뷰 합성 레코멘데이션 정보에 기초하여 합성된 뷰를 생성하는,
    비디오 수신 방법.
  15. 제 14 항에 있어서, 상기 비디오 뷰 재생성하는 단계는 :
    상기 센터 뷰 픽처 및 상기 스파스 뷰 픽처들 내에 포함된 상기 제 1 뷰잉 포지션과 관련된 제 1 스파스 뷰 픽처에 기초하여, 제 1 뷰잉 포지션과 관련된 제 1 재생성된 뷰를 생성하는 단계; 및,
    상기 제 1 재생성된 픽처 및 상기 센터 뷰 픽처에 기초하여, 제 2 뷰잉 포지션과 관련된 제 2 재생성된 픽처를 생성하는 단계; 를 수행하고,
    상기 제 2 뷰잉 포지션은 상기 제 1 뷰잉 포지션과 다른 뷰잉 포지션인,
    비디오 수신 방법.
  16. 제 14 항에 있어서, 상기 뷰 재생성하는 단계는 :
    상기 센터 뷰 픽처 및 상기 스파스 뷰 픽처들 내에 포함된 상기 제 1 뷰잉 포지션과 관련된 제 1 스파스 뷰에 기초하여, 제 1 뷰잉 포지션과 관련된 임의 생성 뷰(temporally generated view)를 생성하는 단계;
    상기 임의 생성 뷰로부터 제 2 뷰잉 포지션과 관련된 제 2 스파스 뷰 픽처를 추정하는 단계,
    상기 스파스 뷰 픽처들 내에 프루닝된 스파스 뷰(pruned sparse view) 픽처를 포함하는 경우, 상기 추정하는 단계는 상기 프루닝된 스파스 뷰 픽처에 기초하여 상기 제 2 스파스 뷰 픽처를 추정함; 및
    상기 추정된 제 2 스파스 뷰 픽처 및 상기 센터 뷰 픽처에 기초하여 상기 제 2 뷰잉 포지션과 관련된 재생성된 뷰를 생성하는 단계; 또는,
    상기 제 1 스파스 뷰 픽처로부터 상기 제 2 스파스 뷰 픽처를 재생성하는 단계,
    상기 스파스 뷰 픽처들 내에 프루닝된 스파스 뷰(pruned sparse view) 픽처를 포함하는 경우, 상기 제 2 스파스 뷰 픽처를 재생성하는 단계는 상기 프루닝된 스파스 뷰 픽처에 기초하여 상기 제 2 스파스 뷰 픽처를 생성함; 및
    상기 재생성된 제 2 스파스 뷰 픽처 및 상기 센터 뷰 픽처에 기초하여 상기 제 재생성된 뷰를 생성하는 단계; 를 수행하여 상기 재생성된 뷰를 생성하고,
    상기 제 2 뷰잉 포지션은 상기 제 1 뷰잉 포지션과 다른,
    비디오 수신 방법.
  17. 뷰잉 포지션(viewing position) 및 뷰포트 정보(viewport information)에 기초하여 비디오의 비트스트림(bitstream)을 디코딩하는 디코더(decoder);
    상기 디코딩된 비트스트림 내의 픽처들 및 시그널링 정보를 언패킹하는 언패커(unpacker);
    상기 언패킹된 픽처들을 뷰 재생성(view regenerating)하는 뷰 재생성부(view regenerator); 및,
    상기 뷰 재생성된 픽처들을 뷰 합성(view synthesizing)하는 뷰 합성부(view synthesizer); 를 포함하는,
    비디오 수신 장치.
  18. 제 17항에 있어서, 상기 비디오 수신 장치는 :
    상기 시그널링 정보는 뷰잉 포지션 그룹 정보(viewing position group information)를 포함하고, 상기 뷰잉 포지션 그룹 정보는 센터 뷰 제너레이션 정보(center view generation information), 프리-제너레이션 정보(pre-generation information), 뷰 합성 레코멘데이션 정보(view synthesis recommendation information), 레퍼런스 뷰 정보(reference view information) 및 리제너레이션 정보(regeneration information)를 포함하고,
    상기 비디오 수신 방법은, 상기 언패킹된 픽처들 내에 포함된 레퍼런스 뷰 픽처(reference view picture)들 및 상기 센터 뷰 제너레이션 정보에 기초하여 센터 뷰 픽처(center view picture)를 생성하는 단계를 포함하고,
    상기 뷰 재생성하는 단계는 상기 레퍼런스 뷰 픽처들, 상기 언패킹된 픽처들 내의 스파스 뷰 픽처(sparse view picture)들, 상기 센터 뷰 픽처, 상기 레퍼런스 뷰 정보 및 상기 리제너레이션 정보에 기초하여 재생성된 뷰(regenerated view)를 생성하고,
    상기 뷰 합성하는 단계는 상기 재생성된 뷰, 상기 센터 뷰 픽처, 상기 레퍼런스 뷰 픽처들, 상기 프리-제너레이션 정보 및 상기 뷰 합성 레코멘데이션 정보에 기초하여 합성된 뷰를 생성하는,
    비디오 수신 장치.
  19. 제 18 항에 있어서, 상기 비디오 뷰 재생성부는 :
    상기 센터 뷰 픽처 및 상기 스파스 뷰 픽처들 내에 포함된 상기 제 1 뷰잉 포지션과 관련된 제 1 스파스 뷰 픽처에 기초하여, 제 1 뷰잉 포지션과 관련된 제 1 재생성된 뷰를 생성하는 단계; 및,
    상기 제 1 재생성된 픽처 및 상기 센터 뷰 픽처에 기초하여, 제 2 뷰잉 포지션과 관련된 제 2 재생성된 픽처를 생성하는 단계; 를 수행하고,
    상기 제 2 뷰잉 포지션은 상기 제 1 뷰잉 포지션과 다른,
    비디오 수신 장치.
  20. 제 18 항에 있어서, 상기 뷰 재생성부는 :
    상기 센터 뷰 픽처 및 상기 스파스 뷰 픽처들 내에 포함된 상기 제 1 뷰잉 포지션과 관련된 제 1 스파스 뷰에 기초하여, 제 1 뷰잉 포지션과 관련된 임의 생성 뷰(temporally generated view)를 생성하는 단계;
    상기 임의 생성 뷰로부터 제 2 뷰잉 포지션과 관련된 제 2 스파스 뷰 픽처를 추정하는 단계,
    상기 스파스 뷰 픽처들 내에 프루닝된 스파스 뷰(pruned sparse view) 픽처를 포함하는 경우, 상기 추정하는 단계는 상기 프루닝된 스파스 뷰 픽처에 기초하여 상기 제 2 스파스 뷰 픽처를 추정함; 및
    상기 추정된 제 2 스파스 뷰 픽처 및 상기 센터 뷰 픽처에 기초하여 상기 제 2 뷰잉 포지션과 관련된 재생성된 뷰를 생성하는 단계; 또는,
    상기 제 1 스파스 뷰 픽처로부터 상기 제 2 스파스 뷰 픽처를 재생성하는 단계,
    상기 스파스 뷰 픽처들 내에 프루닝된 스파스 뷰(pruned sparse view) 픽처를 포함하는 경우, 상기 제 2 스파스 뷰 픽처를 재생성하는 단계는 상기 프루닝된 스파스 뷰 픽처에 기초하여 상기 제 2 스파스 뷰 픽처를 생성함; 및
    상기 재생성된 제 2 스파스 뷰 픽처 및 상기 센터 뷰 픽처에 기초하여 상기 제 재생성된 뷰를 생성하는 단계; 를 수행하여 상기 재생성된 뷰를 생성하고,
    상기 제 2 뷰잉 포지션은 상기 제 1 뷰잉 포지션과 다른,
    비디오 수신 장치.
PCT/KR2019/014437 2018-10-30 2019-10-30 비디오 송신 방법, 비디오 전송 장치, 비디오 수신 방법 및 비디오 수신 장치 WO2020091404A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/287,034 US11394946B2 (en) 2018-10-30 2019-10-30 Video transmitting method, video transmitting apparatus, video receiving method, and video receiving apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20180131123 2018-10-30
KR10-2018-0131123 2018-10-30

Publications (1)

Publication Number Publication Date
WO2020091404A1 true WO2020091404A1 (ko) 2020-05-07

Family

ID=70464221

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/014437 WO2020091404A1 (ko) 2018-10-30 2019-10-30 비디오 송신 방법, 비디오 전송 장치, 비디오 수신 방법 및 비디오 수신 장치

Country Status (2)

Country Link
US (1) US11394946B2 (ko)
WO (1) WO2020091404A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11823421B2 (en) * 2019-03-14 2023-11-21 Nokia Technologies Oy Signalling of metadata for volumetric video
US11968374B2 (en) * 2019-07-03 2024-04-23 Beijing Xiaomi Mobile Software Co., Ltd. Method and device for coding and decoding
US11417328B1 (en) * 2019-12-09 2022-08-16 Amazon Technologies, Inc. Autonomously motile device with speech commands
US11645819B2 (en) 2021-03-11 2023-05-09 Quintar, Inc. Augmented reality system for viewing an event with mode based on crowd sourced images
US11657578B2 (en) 2021-03-11 2023-05-23 Quintar, Inc. Registration for augmented reality system for viewing an event
US20220295139A1 (en) * 2021-03-11 2022-09-15 Quintar, Inc. Augmented reality system for viewing an event with multiple coordinate systems and automatically generated model
US11527047B2 (en) 2021-03-11 2022-12-13 Quintar, Inc. Augmented reality system for viewing an event with distributed computing

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110298895A1 (en) * 2009-02-19 2011-12-08 Dong Tian 3d video formats
US8532180B2 (en) * 2006-08-25 2013-09-10 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal with inter-view reference picture list construction
US20150304681A1 (en) * 2012-07-03 2015-10-22 Mediatek Singapore Pte. Ltd. Method and apparatus of inter-view motion vector prediction and disparity vector prediction in 3d video coding
KR101726534B1 (ko) * 2013-04-12 2017-04-26 노키아 테크놀로지스 오와이 3d 비디오 코딩을 위한 조화된 인터-뷰 및 뷰 합성 예측
KR20180107001A (ko) * 2017-03-21 2018-10-01 주식회사 케이티 비디오 신호 처리 방법 및 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102239506B (zh) * 2008-10-02 2014-07-09 弗兰霍菲尔运输应用研究公司 中间视合成和多视点数据信号的提取
US20110280311A1 (en) * 2010-05-13 2011-11-17 Qualcomm Incorporated One-stream coding for asymmetric stereo video

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8532180B2 (en) * 2006-08-25 2013-09-10 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal with inter-view reference picture list construction
US20110298895A1 (en) * 2009-02-19 2011-12-08 Dong Tian 3d video formats
US20150304681A1 (en) * 2012-07-03 2015-10-22 Mediatek Singapore Pte. Ltd. Method and apparatus of inter-view motion vector prediction and disparity vector prediction in 3d video coding
KR101726534B1 (ko) * 2013-04-12 2017-04-26 노키아 테크놀로지스 오와이 3d 비디오 코딩을 위한 조화된 인터-뷰 및 뷰 합성 예측
KR20180107001A (ko) * 2017-03-21 2018-10-01 주식회사 케이티 비디오 신호 처리 방법 및 장치

Also Published As

Publication number Publication date
US20210385423A1 (en) 2021-12-09
US11394946B2 (en) 2022-07-19

Similar Documents

Publication Publication Date Title
WO2020071703A1 (ko) 포인트 클라우드 데이터 전송 장치, 포인트 클라우드 데이터 전송 방법, 포인트 클라우드 데이터 수신 장치 및/또는 포인트 클라우드 데이터 수신 방법
WO2020091404A1 (ko) 비디오 송신 방법, 비디오 전송 장치, 비디오 수신 방법 및 비디오 수신 장치
WO2021002730A1 (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2020190114A1 (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2017188714A1 (ko) 360도 비디오를 전송하는 방법, 360도 비디오를 수신하는 방법, 360도 비디오 전송 장치, 360도 비디오 수신 장치
WO2021187737A1 (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2019066436A1 (ko) 360 비디오 시스템에서 오버레이 처리 방법 및 그 장치
WO2018038520A1 (ko) 전방향 비디오를 전송하는 방법, 전방향 비디오를 수신하는 방법, 전방향 비디오 전송 장치, 전방향 비디오 수신 장치
WO2018038523A1 (ko) 전방향 비디오를 전송하는 방법, 전방향 비디오를 수신하는 방법, 전방향 비디오 전송 장치, 전방향 비디오 수신 장치
WO2018182144A1 (ko) 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
WO2020050577A1 (ko) 비디오 송신 방법, 비디오 송신 장치, 비디오 수신 방법 및 비디오 수신 장치
WO2018174387A1 (ko) 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
WO2020189895A1 (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2019066191A1 (ko) 스티칭 및 리프로젝션 관련 메타데이터를 이용한 6dof 비디오를 송수신하는 방법 및 그 장치
WO2020242023A1 (ko) 360 비디오를 전송하는 방법, 360 비디오를 수신하는 방법, 360 비디오 전송 장치, 360 비디오 수신 장치
WO2020071738A1 (en) Method for transmitting video, apparatus for transmitting video, method for receiving video, and apparatus for receiving video
WO2021141208A1 (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
WO2020071724A1 (en) An apparatus for transmitting a video, a method for transmitting a video, an apparatus for receiving a video, and a method for receiving a video
WO2019198883A1 (ko) 핫스팟 및 roi 관련 메타데이터를 이용한 360도 비디오를 송수신하는 방법 및 그 장치
WO2020036384A1 (en) An apparatus for transmitting a video, a method for transmitting a video, an apparatus for receiving a video, and a method for receiving a video
WO2020145668A1 (ko) 3차원 컨텐츠의 처리 및 전송 방법
WO2020189903A1 (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2020027349A1 (ko) 다중 뷰포인트 기반 360 비디오 처리 방법 및 그 장치
WO2019245303A1 (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

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

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

Country of ref document: EP

Kind code of ref document: A1