WO2019083120A1 - Image decoding method and device using reference picture derived by projecting rotated 360-degree video in image coding system for 360-degree video - Google Patents
Image decoding method and device using reference picture derived by projecting rotated 360-degree video in image coding system for 360-degree videoInfo
- Publication number
- WO2019083120A1 WO2019083120A1 PCT/KR2018/007545 KR2018007545W WO2019083120A1 WO 2019083120 A1 WO2019083120 A1 WO 2019083120A1 KR 2018007545 W KR2018007545 W KR 2018007545W WO 2019083120 A1 WO2019083120 A1 WO 2019083120A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- picture
- reference picture
- specific
- rotated
- projection
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
Definitions
- the present invention relates to a 360-degree video, and more particularly, to a video decoding method and apparatus using a reference picture derived by projecting a rotated 360-degree video.
- 360 degree video can refer to video or image content that is required to provide a virtual reality (VR) system, while being captured or played back in all directions (360 degrees).
- 360 degree video can be represented on a three-dimensional spherical surface.
- 360 degree video is captured by capturing an image or video for each of a plurality of viewpoints via one or more cameras and connecting the captured plurality of images / videos into one panorama image / video or spherical image / video, And coding and transmitting the projected picture.
- the present invention provides a method and apparatus for increasing 360-degree video information transmission efficiency to provide 360-degree video.
- an image encoding method performed by an encoding apparatus includes deriving rotation parameters for a 360 degree image, processing the 360 degree image based on projection type and rotation parameters for the 360 degree image to obtain a rotated reference picture, Deriving a reference picture list for the current picture based on a current picture, generating 360-degree video information for the current picture, and encoding and outputting the 360-degree video information for the current picture, And a specific position on the 3D space is mapped to a center of the rotated reference picture.
- an encoding apparatus for performing image encoding.
- the encoding device derives rotation parameters for a 360 degree image, processes the 360 degree image based on the projection type and the rotation parameters for the 360 degree image to obtain a rotated reference picture, A prediction unit for deriving a reference picture list for the current picture based on the current picture, and an entropy encoding unit for encoding and outputting 360-degree video information for the current picture.
- an image decoding method performed by a decoding apparatus includes deriving rotation parameters for the 360 degree image, processing the 360 degree video based on the projection type and the rotation parameters for the 360 degree image to obtain a rotated reference picture, Deriving a reference picture list for the current picture based on a reference picture and decoding the current picture based on inter prediction using the reference picture list, And a specific position on the 3D space derived from the rotation parameters is mapped to a center of the rotated reference picture.
- a decoding apparatus for processing 360-degree video data.
- the decoding apparatus includes an entropy decoding unit for receiving 360-degree video information, and a controller for deriving rotation parameters for the 360-degree image, processing the 360-degree image based on the projection type and the rotation parameters for the 360- And a predictor for obtaining a reference picture list for the current picture based on the rotated reference picture and decoding the current picture based on inter prediction using the reference picture list .
- a rotated reference picture in which a discontinuous boundary of a reference picture for a 360-degree video is reduced can be derived, and a reference picture list can be derived based on the rotated reference picture, thereby improving prediction accuracy and overall coding efficiency .
- a reference picture can be derived by rotating a 360-degree image and projecting a rotated 360-degree image, thereby reducing prediction efficiency deterioration due to discontinuity of the projected picture and improving overall coding efficiency .
- FIG. 1 is a diagram illustrating an overall architecture for providing 360-degree video according to the present invention.
- FIG. 2 illustrates an exemplary processing of 360-degree video in the encoding apparatus and the decoding apparatus.
- FIG. 3 is a view for schematically explaining a configuration of a video encoding apparatus to which the present invention can be applied.
- FIG. 4 is a view for schematically explaining a configuration of a video decoding apparatus to which the present invention can be applied.
- Fig. 5 shows an example of constituting a reference picture list.
- FIG. 6 exemplarily shows a projected picture derived based on the ERP.
- FIG. 7 shows an example of a rectangular coordinate system in which 360-degree video data is represented by a spherical surface.
- FIG. 8 is a diagram showing an Aircraft Principal Axes concept for explaining a spherical surface representing 360-degree video.
- FIG. 9 exemplarily shows a projected picture derived based on an ERP to which a symmetric projection is applied.
- FIG. 10 exemplarily shows a projected picture derived based on the CMP.
- FIG. 11 exemplarily shows a projected picture derived based on CMP to which a symmetric projection is applied.
- FIG. 12 shows an example of a reference picture list including a picture derived based on a projection type to which a symmetrical projection is applied.
- FIG. 13 exemplarily shows a method for constructing the reference picture list including pictures derived based on the projection type to which the symmetrical projection is applied.
- FIG. 14 schematically shows a video encoding method by the encoding apparatus according to the present invention.
- FIG. 15 schematically shows a video decoding method by a decoding apparatus according to the present invention.
- a picture generally refers to a unit that represents one image in a specific time zone
- a slice is a unit that constitutes a part of a picture in coding.
- One picture may be composed of a plurality of slices, and pictures and slices may be used in combination if necessary.
- a pixel or a pel may mean a minimum unit of a picture (or image). Also, a 'sample' may be used as a term corresponding to a pixel.
- a sample may generally represent a pixel or pixel value and may only represent a pixel / pixel value of a luma component or only a pixel / pixel value of a chroma component.
- a unit represents a basic unit of image processing.
- a unit may include at least one of a specific area of a picture and information related to the area.
- the unit may be used in combination with terms such as a block or an area in some cases.
- an MxN block may represent a set of samples or transform coefficients consisting of M columns and N rows.
- FIG. 1 is a diagram illustrating an overall architecture for providing 360-degree video according to the present invention.
- the present invention proposes a method of providing 360 contents in order to provide a virtual reality (VR) to a user.
- the VR may mean a technique or an environment for replicating an actual or virtual environment.
- VR artificially provides the user with a sensory experience that allows the user to experience the same experience as in an electronically projected environment.
- 360 content refers to the entire content for implementing and providing VR, and may include 360-degree video and / or 360 audio.
- 360 degree video may refer to video or image content that is required to provide VR while being captured or played back in all directions (360 degrees).
- 360-degree video may mean 360-degree video.
- 360 degree video may refer to a video or image represented in various types of 3D space according to the 3D model, for example, a 360 degree video may be displayed on a spherical surface.
- 360 audio may also refer to audio content for providing VR, which may be perceived as being located on a three-dimensional specific space of a sound source.
- 360 content can be created, processed and sent to users, and users can consume VR experience using 360 content.
- the present invention particularly proposes a scheme for efficiently providing 360-degree video.
- a 360 degree video can first be captured through one or more cameras.
- the captured 360-degree video is transmitted through a series of processes, and the receiving side can process the received data back into the original 360-degree video and render it. This allows 360-degree video to be provided to the user.
- the entire process for providing 360-degree 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 via one or more cameras.
- Image / video data such as (110) in Fig. 1 shown by the capture process can be generated.
- Each plane of (110) shown in FIG. 1 may mean image / video for each viewpoint.
- the captured plurality of images / videos may be referred to as raw data. Metadata associated with the capture can be generated during the capture process.
- a special camera can be used for this capture.
- capturing through a real camera may not be performed.
- the process of generating the related data may be replaced with the capturing process.
- the preparation process may be a process of processing the captured image / video and metadata generated during the capturing process.
- the captured image / video may be subjected to a stitching process, a projection process, a region-wise packing process and / or an encoding process in the preparation process.
- each image / video can be subjected to a stitching process.
- the stitching process may be a process of linking each captured image / video to create one panoramic image / video or spherical image / video.
- the stitched image / video may undergo a projection process.
- the stitched image / video can be projected onto the 2D image.
- This 2D image may be referred to as a 2D image frame or a projected picture depending on the context. It can also be expressed as mapping a 2D image to a 2D image.
- the projected image / video data may be in the form of a 2D image as shown in FIG. 1 (120).
- a process of dividing the video data projected on the 2D image into regions and applying the process may be applied.
- a region may mean a region in which a 2D image in which 360-degree video data is projected is divided.
- the region may correspond to a face or a tile.
- these regions can be divided into 2D images evenly divided or arbitrarily divided.
- the regions may be classified according to the projection scheme.
- the processing may include rotating each region or reordering on a 2D image to enhance video coding efficiency. For example, by rotating the regions so that certain sides of the regions are located close to each other, the coding efficiency can be increased.
- the process may include raising or lowering the resolution for a particular region to differentiate resolution by region on a 360 degree video. For example, regions that are relatively more important in 360-degree video can have a higher resolution than other regions.
- the video data projected on the 2D image may be encoded through a video codec.
- the preparation process may further include an editing process and the like.
- editing process editing of image / video data before and after projection can be further performed.
- metadata for stitching / projection / encoding / editing can be generated.
- meta data regarding the initial point of time of the video data projected on the 2D image, the ROI (Region of Interest), and the like can be generated.
- the transmission process may be a process of processing the prepared image / video data and metadata and transmitting the processed image / video data and metadata. Processing according to any transmission protocol can be performed for transmission.
- the processed data for transmission may be transmitted over the broadcast network and / or broadband. These data may be delivered to the receiving side on an on-demand basis. The receiving side can receive the corresponding data through various paths.
- the processing may be a process of decoding the received data and re-projecting the projected image / video data on the 3D model.
- the image / video data projected on the 2D images can be re-projected onto the 3D space.
- This process can be called mapping, projection, depending on the context.
- the 3D space mapped at this time may have a different shape depending on the 3D model.
- a 3D model may have a sphere, a cube, a cylinder, or a pyramid.
- the processing 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 can be further performed. If the image / video data is scaled down, it can be enlarged by upscaling the samples during upscaling. If necessary, an operation of reducing the size through downscaling may be performed.
- the rendering process may refer to the process of rendering and displaying the re-projected image / video data on the 3D space. It can also be expressed that the re-projection and the rendering are combined according to the representation and rendered on the 3D model.
- the image / video that is re-projected (or rendered on the 3D model) on the 3D model may have the form of (130) shown in FIG. 1 (130) is a case where the projection is re-projected onto a 3D model of a sphere.
- the user can view some areas of the rendered image / video through the VR display or the like. In this case, the area viewed by the user may be the same as 140 shown in FIG.
- the feedback process may be a process of transmitting various feedback information that can be obtained in the display process to the transmitting side.
- the feedback process can provide interactivity in 360 degree video consumption.
- Head Orientation information in the feedback process, Viewport information indicating the area currently viewed by the user, and the like can be transmitted to the sender.
- the user may interact with those implemented in the VR environment, in which case the information associated with that interaction may be conveyed from the sender to the service provider side in the feedback process.
- the feedback process may not be performed.
- the head orientation information may mean information about a user's head position, angle, motion, and the like. Based on this information, information about the area that the user is currently viewing within the 360 degree video, i.e. viewport information, can be calculated.
- the viewport information may be information about an area that the current user is viewing in a 360 degree video. This allows a Gaze Analysis to be performed to see how the user consumes 360 degrees of video, what area of the 360 degree video is staring, and so on.
- the Gaussian analysis may be performed on the receiving side and delivered via the feedback channel to the transmitting side.
- a device such as a VR display can extract a viewport area based on a user's head position / direction, vertical or horizontal FOV (field of view) information supported by the device, and the like.
- the above-described feedback information may be consumed not only at the transmitting side but also at the receiving side. That is, decoding, re-projection, and rendering processes on the receiving side can be performed using the above-described feedback information. For example, only the 360 degree video for the area that the current user is viewing may be preferentially decoded and rendered using head orientation information and / or viewport information.
- the viewport or viewport area may refer to an area viewed by a user in a 360-degree video.
- a viewpoint is a point that a user is viewing in a 360 degree video, which may mean a center point of the viewport area. That is, the viewport is a region around the viewpoint, and the size and the size occupied by the viewport can be determined by the FOV (Field Of View) described later.
- FOV Field Of View
- Image / video data that undergoes a series of processes of capture / projection / encoding / transmission / decoding / re-projection / rendering within the overall architecture for providing 360-degree video may be called 360-degree video data.
- the term 360-degree video data may also be used to include metadata or signaling information associated with such image / video data.
- FIG. 2 illustrates an exemplary processing of 360-degree video in the encoding apparatus and the decoding apparatus.
- FIG. 2 (a) illustrates processing of input 360-degree video data performed by the encoding apparatus.
- the projection processing unit 210 can stitch and project 360-degree video data at the input time point into a 3D projection structure in accordance with various projection schemes, 360 degree video data can be represented as a 2D image. That is, the projection processing unit 210 can stitch the 360-degree video data, and can project the 2D image.
- the projection scheme may be referred to as a projection type.
- the 2D image on which the 360 degree video data is projected may be referred to as a projected frame or a projected picture.
- the projected picture may be divided into a plurality of faces according to the projection type.
- the face may correspond to a tile.
- the plurality of paces in a projected picture according to a particular projection type may be the same size and shape (e.g., triangle or square).
- the size and shape of the in-picture face projected according to the projection type may be different.
- the projection processing unit 210 may perform processing such as rotating and rearranging the respective regions of the projected picture, and changing resolutions of the respective regions.
- the encoding device 220 may encode information on the projected picture and output the encoded information through a bitstream. The process of encoding the projected picture by the encoding device 220 will be described later in detail with reference to FIG. Meanwhile, the projection processing unit 210 may be included in the encoding apparatus, or the projection process may be performed through an external apparatus.
- FIG. 2A illustrates processing of information on the projected picture with respect to 360-degree video data performed by the decoding apparatus.
- Information on the projected picture may be received through a bitstream.
- the decoding apparatus 250 may decode the projection picture based on the information on the received projection picture. The process of decoding the projected picture by the decoding apparatus 250 will be described later in detail with reference to FIG.
- the re-projection processing unit 260 can re-project 360-degree video data projected on the projected picture derived through the decoding process on the 3D model.
- the re-projection processing unit 260 may correspond to the projection processing unit.
- the 360-degree video data projected on the projected picture can be re-projected onto the 3D space.
- This process can be called mapping, projection, depending on the context.
- the 3D space mapped at this time may have a different shape depending on the 3D model.
- a 3D model may have a sphere, a cube, a cylinder, or a pyramid.
- the re-projection processing unit 260 may be included in the decoding device 250, or the re-projection process may be performed through an external device.
- the re-projected 360 degree video data can be rendered on 3D space.
- FIG. 3 is a view for schematically explaining a configuration of a video encoding apparatus to which the present invention can be applied.
- the video encoding apparatus 300 includes a picture dividing unit 305, a predicting unit 310, a residual processing unit 320, an entropy encoding unit 330, an adding unit 340, a filter unit 350 And a memory 360.
- the memory 360 may be a memory.
- the residual processing unit 320 may include a subtracting unit 321, a transforming unit 322, a quantizing unit 323, a reordering unit 324, an inverse quantizing unit 325, and an inverse transforming unit 326.
- the picture dividing unit 305 may divide the inputted picture into at least one processing unit.
- the processing unit may be referred to as a coding unit (CU).
- the coding unit may be recursively partitioned according to a quad-tree binary-tree (QTBT) structure from the largest coding unit (LCU).
- QTBT quad-tree binary-tree
- LCU largest coding unit
- one coding unit may be divided into a plurality of coding units of deeper depth based on a quadtree structure and / or a binary tree structure.
- the quadtree structure is applied first and the binary tree structure can be applied later.
- a binary tree structure may be applied first.
- the coding procedure according to the present invention can be performed based on the final coding unit which is not further divided.
- the maximum coding unit may be directly used as the final coding unit based on the coding efficiency or the like depending on the image characteristics, or the coding unit may be recursively divided into lower-depth coding units Lt; / RTI > may be used as the final coding unit.
- the coding procedure may include a procedure such as prediction, conversion, and restoration, which will be described later.
- the processing unit may include a coding unit (CU) prediction unit (PU) or a transform unit (TU).
- the coding unit may be split from the largest coding unit (LCU) into coding units of deeper depth along the quad tree structure.
- LCU largest coding unit
- the maximum coding unit may be directly used as the final coding unit based on the coding efficiency or the like depending on the image characteristics, or the coding unit may be recursively divided into lower-depth coding units Lt; / RTI > may be used as the final coding unit.
- SCU smallest coding unit
- the coding unit can not be divided into smaller coding units than the minimum coding unit.
- the term " final coding unit " means a coding unit on which the prediction unit or the conversion unit is partitioned or divided.
- a prediction unit is a unit that is partitioned from a coding unit, and may be a unit of sample prediction. At this time, the prediction unit may be divided into sub-blocks.
- the conversion unit may be divided along the quad-tree structure from the coding unit, and may be a unit for deriving a conversion coefficient and / or a unit for deriving a residual signal from the conversion factor.
- the coding unit may be referred to as a coding block (CB)
- the prediction unit may be referred to as a prediction block (PB)
- the conversion unit may be referred to as a transform block (TB).
- the prediction block or prediction unit may refer to a specific area in the form of a block in a picture and may include an array of prediction samples.
- a transform block or transform unit may refer to a specific region in the form of a block within a picture, and may include an array of transform coefficients or residual samples.
- the prediction unit 310 may perform a prediction on a current block to be processed (hereinafter, referred to as a current block), and may generate a predicted block including prediction samples for the current block.
- the unit of prediction performed in the prediction unit 310 may be a coding block, a transform block, or a prediction block.
- the prediction unit 310 may determine whether intra prediction or inter prediction is applied to the current block. For example, the prediction unit 310 may determine whether intra prediction or inter prediction is applied in units of CU.
- the prediction unit 310 may derive a prediction sample for a current block based on a reference sample outside the current block in a picture to which the current block belongs (hereinafter referred to as a current picture). At this time, the predicting unit 310 may derive a prediction sample based on (i) an average or interpolation of neighboring reference samples of the current block, (ii) The prediction sample may be derived based on a reference sample existing in a specific (prediction) direction with respect to the prediction sample among the samples. (i) may be referred to as a non-directional mode or a non-angle mode, and (ii) may be referred to as a directional mode or an angular mode.
- the prediction mode may have, for example, 33 directional prediction modes and at least two non-directional modes.
- the non-directional mode may include a DC prediction mode and a planar mode (Planar mode).
- the prediction unit 310 may determine the prediction mode applied to the current block using the prediction mode applied to the neighboring block.
- the prediction unit 310 may derive a prediction sample for a current block based on a sample specified by a motion vector on a reference picture.
- the prediction unit 310 may apply a skip mode, a merge mode, or a motion vector prediction (MVP) mode to derive a prediction sample for a current block.
- the prediction unit 310 can use motion information of a neighboring block as motion information of a current block.
- difference residual between the predicted sample and the original sample is not transmitted unlike the merge mode.
- MVP mode a motion vector of a current block can be derived by using a motion vector of a neighboring block as a motion vector predictor to use as a motion vector predictor of a current block.
- a neighboring block may include a spatial neighboring block existing in a current picture and a temporal neighboring block existing in a reference picture.
- the reference picture including the temporal neighboring block may be referred to as a collocated picture (colPic).
- the motion information may include a motion vector and a reference picture index.
- Information such as prediction mode information and motion information may be (entropy) encoded and output in the form of a bit stream.
- the highest picture on the reference picture list may be used as a reference picture.
- the reference pictures included in the picture order count can be sorted on the basis of the picture order count (POC) difference between the current picture and the corresponding reference picture.
- POC picture order count
- the POC corresponds to the display order of the pictures and can be distinguished from the coding order.
- the subtractor 321 generates a residual sample which is a difference between the original sample and the predicted sample.
- a residual sample may not be generated as described above.
- the transforming unit 322 transforms the residual samples on a transform block basis to generate a transform coefficient.
- the transforming unit 322 can perform the transform according to the size of the transform block and the prediction mode applied to the coding block or the prediction block spatially overlapping the transform block. For example, if intraprediction is applied to the coding block or the prediction block that overlaps the transform block and the transform block is a 4 ⁇ 4 residue array, the residual sample is transformed into a discrete sine transform (DST) In other cases, the residual samples can be converted using a DCT (Discrete Cosine Transform) conversion kernel.
- DST discrete sine transform
- the quantization unit 323 may quantize the transform coefficients to generate quantized transform coefficients.
- the reordering unit 324 rearranges the quantized transform coefficients.
- the reordering unit 324 can rearrange the block-shaped quantized transform coefficients into a one-dimensional vector form through a scanning method of coefficients.
- the rearrangement unit 324 may be a part of the quantization unit 323, although the rearrangement unit 324 has been described as an alternative configuration.
- the entropy encoding unit 330 may perform entropy encoding on the quantized transform coefficients.
- Entropy encoding may include, for example, an encoding method such as exponential Golomb, context-adaptive variable length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC)
- CABAC context-adaptive binary arithmetic coding
- the entropy encoding unit 330 may encode the information necessary for video restoration (e.g., the value of a syntax element, etc.) besides the quantized transform coefficients separately or separately.
- the entropy encoded information may be transmitted or stored in units of NAL (network abstraction layer) units in the form of a bit stream.
- NAL network abstraction layer
- the inverse quantization unit 325 inversely quantizes the quantized values (quantized transform coefficients) in the quantization unit 323 and the inverse transformation unit 326 inversely transforms the inversely quantized values in the inverse quantization unit 325, .
- the adder 340 combines the residual sample and the predicted sample to reconstruct the picture.
- the residual samples and the prediction samples are added in units of blocks so that a reconstruction block can be generated.
- the adder 340 may be part of the predicting unit 310, although the adder 340 has been described as an alternative configuration.
- the addition unit 340 may be referred to as a restoration unit or a restoration block generation unit.
- the filter unit 350 may apply a deblocking filter and / or a sample adaptive offset. Through deblocking filtering and / or sample adaptive offsets, artifacts in the block boundary in the reconstructed picture or distortion in the quantization process can be corrected.
- the sample adaptive offset can be applied on a sample-by-sample basis and can be applied after the process of deblocking filtering is complete.
- the filter unit 350 may apply an ALF (Adaptive Loop Filter) to the restored picture.
- the ALF may be applied to the reconstructed picture after the deblocking filter and / or sample adaptive offset is applied.
- the memory 360 may store a reconstructed picture (decoded picture) or information necessary for encoding / decoding.
- the reconstructed picture may be a reconstructed picture in which the filtering procedure has been completed by the filter unit 350.
- the stored restored picture may be used as a reference picture for (inter) prediction of another picture.
- the memory 360 may store (reference) pictures used for inter prediction. At this time, the pictures used for inter prediction can be designated by a reference picture set or a reference picture list.
- FIG. 4 is a view for schematically explaining a configuration of a video decoding apparatus to which the present invention can be applied.
- the video decoding apparatus 400 includes an entropy decoding unit 410, a residual processing unit 420, a predicting unit 430, an adding unit 440, a filter unit 450, and a memory 460 .
- the residual processing unit 420 may include a rearrangement unit 421, an inverse quantization unit 422, and an inverse transformation unit 423.
- the video decoding apparatus 400 can restore video in response to a process in which video information is processed in the video encoding apparatus.
- the video decoding apparatus 400 may perform video decoding using a processing unit applied in the video encoding apparatus.
- the processing unit block of video decoding may be, for example, a coding unit and, in another example, a coding unit, a prediction unit or a conversion unit.
- the coding unit may be partitioned along the quad tree structure and / or the binary tree structure from the maximum coding unit.
- a prediction unit and a conversion unit may be further used as the case may be, in which case the prediction block is a block derived or partitioned from the coding unit and may be a unit of sample prediction. At this time, the prediction unit may be divided into sub-blocks.
- the conversion unit may be divided along the quad tree structure from the coding unit and may be a unit that derives the conversion factor or a unit that derives the residual signal from the conversion factor.
- the entropy decoding unit 410 may parse the bitstream and output information necessary for video restoration or picture restoration. For example, the entropy decoding unit 410 decodes information in a bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, and calculates a value of a syntax element necessary for video restoration, a quantized value Lt; / RTI >
- a coding method such as exponential Golomb coding, CAVLC, or CABAC
- the CABAC entropy decoding method includes receiving a bean corresponding to each syntax element in a bitstream, decoding decoding target information of the decoding target syntax element, decoding information of a surrounding and decoding target block, or information of a symbol / A context model is determined and an occurrence probability of a bin is predicted according to the determined context model to perform arithmetic decoding of the bean to generate a symbol corresponding to the value of each syntax element have.
- the CABAC entropy decoding method can update the context model using the information of the decoded symbol / bin for the context model of the next symbol / bean after determining the context model.
- Information about prediction in the information decoded by the entropy decoding unit 410 is provided to the predicting unit 430.
- the residual value in which the entropy decoding is performed in the entropy decoding unit 410 that is, the quantized transform coefficient, 421).
- the reordering unit 421 may rearrange the quantized transform coefficients into a two-dimensional block form.
- the reordering unit 421 may perform reordering in response to the coefficient scanning performed in the encoding apparatus.
- the rearrangement unit 421 may be a part of the inverse quantization unit 422, although the rearrangement unit 421 has been described as an alternative configuration.
- the inverse quantization unit 422 can dequantize the quantized transform coefficients based on the (inverse) quantization parameter, and output the transform coefficients. At this time, the information for deriving the quantization parameter may be signaled from the encoding device.
- the inverse transform unit 423 may invert the transform coefficients to derive the residual samples.
- the prediction unit 430 may predict a current block and may generate a predicted block including prediction samples of the current block.
- the unit of prediction performed by the prediction unit 430 may be a coding block, a transform block, or a prediction block.
- the prediction unit 430 may determine whether intra prediction or inter prediction is to be applied based on the prediction information.
- a unit for determining whether to apply intra prediction or inter prediction may differ from a unit for generating a prediction sample.
- units for generating prediction samples in inter prediction and intra prediction may also be different.
- whether inter prediction or intra prediction is to be applied can be determined in units of CU.
- the prediction mode may be determined in units of PU to generate prediction samples.
- a prediction mode may be determined in units of PU, and prediction samples may be generated in units of TU.
- the prediction unit 430 may derive a prediction sample for the current block based on the neighbor reference samples in the current picture.
- the prediction unit 430 may derive a prediction sample for the current block by applying a directional mode or a non-directional mode based on the neighbor reference samples of the current block.
- a prediction mode to be applied to the current block may be determined using the intra prediction mode of the neighboring block.
- the prediction unit 430 may derive a prediction sample for a current block based on a sample specified on a reference picture by a motion vector on a reference picture.
- the prediction unit 430 may derive a prediction sample for the current block by applying one of a skip mode, a merge mode, and an MVP mode.
- motion information necessary for inter-prediction of a current block provided in the video encoding apparatus for example, information on a motion vector, a reference picture index, and the like may be acquired or derived based on the prediction information
- motion information of a neighboring block can be used as motion information of the current block.
- the neighboring block may include a spatial neighboring block and a temporal neighboring block.
- the predicting unit 430 constructs a merge candidate list using the motion information of the available neighboring blocks and uses the information indicated by the merge index on the merge candidate list as the motion vector of the current block.
- the merge index may be signaled from the encoding device.
- the motion information may include a motion vector and a reference picture. When the motion information of temporal neighboring blocks is used in the skip mode and the merge mode, the highest picture on the reference picture list can be used as a reference picture.
- the difference between the predicted sample and the original sample is not transmitted.
- a motion vector of a current block can be derived using a motion vector of a neighboring block as a motion vector predictor.
- the neighboring block may include a spatial neighboring block and a temporal neighboring block.
- a merge candidate list may be generated using a motion vector of the reconstructed spatial neighboring block and / or a motion vector corresponding to a Col block that is a temporally neighboring block.
- the motion vector of the candidate block selected in the merge candidate list is used as the motion vector of the current block.
- the prediction information may include a merge index indicating a candidate block having an optimal motion vector selected from the candidate blocks included in the merge candidate list.
- the predicting unit 430 can derive the motion vector of the current block using the merge index.
- a motion vector predictor candidate list is generated by using a motion vector of the reconstructed spatial neighboring block and / or a motion vector corresponding to a Col block which is a temporally neighboring block . That is, the motion vector of the reconstructed spatial neighboring block and / or the motion vector corresponding to the neighboring block Col may be used as a motion vector candidate.
- the information on the prediction may include a predicted motion vector index indicating an optimal motion vector selected from the motion vector candidates included in the list.
- the predicting unit 430 may use the motion vector index to select a predictive motion vector of the current block from the motion vector candidates included in the motion vector candidate list.
- the predicting unit of the encoding apparatus can obtain the motion vector difference (MVD) between the motion vector of the current block and the motion vector predictor, and can output it as a bit stream. That is, MVD can be obtained by subtracting the motion vector predictor from the motion vector of the current block.
- the predicting unit 430 may obtain the motion vector difference included in the information on the prediction, and derive the motion vector of the current block through addition of the motion vector difference and the motion vector predictor.
- the prediction unit may also acquire or derive a reference picture index or the like indicating the reference picture from the information on the prediction.
- the adder 440 may add the residual samples and the prediction samples to reconstruct the current block or the current picture.
- the adder 440 may restore the current picture by adding residual samples and prediction samples on a block-by-block basis.
- the addition unit 440 is described as an alternative configuration, but the addition unit 440 may be a part of the prediction unit 430. [ Meanwhile, the addition unit 440 may be referred to as a restoration unit or a restoration block generation unit.
- the filter unit 450 may apply deblocking filtering sample adaptive offsets, and / or ALF, etc. to the reconstructed pictures.
- the sample adaptive offset may be applied on a sample-by-sample basis and may be applied after deblocking filtering.
- the ALF may be applied after deblocking filtering and / or sample adaptive offsets.
- the memory 460 may store a reconstructed picture (decoded picture) or information necessary for decoding.
- the reconstructed picture may be a reconstructed picture whose filtering process has been completed by the filter unit 450.
- the memory 460 may store pictures used for inter prediction. At this time, the pictures used for inter prediction may be designated by a reference picture set or a reference picture list. The reconstructed picture can be used as a reference picture for another picture. Further, the memory 460 may output the restored picture according to the output order.
- the projected picture of the 360-degree video which is a three-dimensional image
- the motion information for the inter prediction can be derived.
- the motion estimation process may not be efficient due to the discontinuity of the projected picture . Accordingly, a method of constructing a reference picture list for inter-prediction of the 360-degree video in consideration of the discontinuity of the projected picture may be proposed.
- Fig. 5 shows an example of constituting a reference picture list.
- motion estimation and motion compensation may be performed to derive the block most similar to the current block for encoding / decoding based on reference pictures. That is, a block most similar to the current block among the blocks in the reference pictures can be derived as a reference block of the current block, and inter-prediction of the current block can be performed based on the reference block. Therefore, constructing a more appropriate reference picture list can improve the prediction accuracy and prediction efficiency of the inter prediction.
- the reference picture list may be configured based on I pictures, P pictures, and B pictures.
- the number of pictures shown in FIG. 5 indicates the picture order count (POC) of the picture.
- POC picture order count
- the I picture can represent a picture to be independently encoded / decoded regardless of the preceding and following pictures in the encoding / decoding order. That is, only the intra prediction is performed and the picture to be encoded / decoded is not .
- the P picture may represent a picture to be encoded / decoded based on unidirectional inter prediction, i.e., uni-prediction.
- the inter prediction may be referred to as LO prediction when inter prediction is performed based on the L0 motion information and may be referred to as L1 prediction when inter prediction is performed based on the L1 motion information.
- L1 prediction when inter prediction is performed based on the L1 motion information.
- bi-prediction when inter prediction is performed based on the L1 motion information.
- the L0 prediction or the L1 prediction may represent the single prediction.
- the L0 motion information may indicate information about an index (refidxL0) of a reference picture included in a reference picture list 0 and an associated motion vector (Motion Vector L0, MVL0) with respect to a current block in a current picture to be encoded /
- the L1 motion information may indicate information about an index (refidxL0) of a reference picture included in a reference picture list 1 and an associated motion vector (Motion Vector L0, MVL0) with respect to a current block in a current picture to be encoded / decoded.
- the reference picture list 0 may be referred to as L0 (List 0)
- the reference picture list 1 may be referred to as L 1 (List 1)
- various numbers of reference pictures may be referred to as L 1 L0 or the L1.
- the B picture may represent a picture to be encoded / decoded based on the bipartite prediction.
- an arrow between pictures may indicate a reference relationship of the pictures.
- a reference picture list for the corresponding picture can be generated in accordance with the reference relationship.
- the reference picture list 0 and the reference picture list 1 for the picture B7 may be configured as follows.
- the reference picture list 0 may be configured through three steps to be described later.
- short term reference pictures having a POC smaller than the POC of the current picture among the pictures referenced in the encoding / decoding process of the current picture may be included in the reference picture list 0.
- pictures P1 and B2 that are short-term reference pictures having a POC smaller than the POC of the picture B7 may be included in the reference picture list 0 for the picture B7.
- the short-term reference pictures having a POC that is smaller than the POC of the current picture may be included in descending order of the POC.
- the reference picture list 0 can be represented by ⁇ P1, B2 ⁇ .
- the reference picture list 0 may include the short-term reference pictures having a POC larger than the POC of the current picture among the pictures referred to in the encoding / decoding of the current picture.
- a picture B6 and a picture P5 which are short-term reference pictures having a POC smaller than the POC of the picture B7, may be included in the reference picture list 0 for the picture B7.
- the short-term reference pictures having a POC larger than the POC of the current picture may be included in descending order of the POC.
- the reference picture list 0 can be represented by ⁇ P1, B2, B6, P5 ⁇ .
- a long term reference picture among the pictures referred to in the encoding / decoding of the current picture may be included in the reference picture list 0.
- the picture 10 which is the long-term reference picture of the picture B7, may be included in the reference picture list 0 for the picture B7.
- the reference picture list 0 can be represented by ⁇ P1, B2, B6, P5, I0 ⁇ .
- the reference picture list 1 can be configured by changing the order of the first step and the second step among the three steps constituting the reference picture list 0.
- the reference picture list 1 may be configured through three steps described later.
- the reference picture list 1 may include the short-term reference pictures having a POC larger than the POC of the current picture among the pictures referred to in the encoding / decoding process of the current picture.
- a picture B6 and a picture P5 which are short-term reference pictures having a POC smaller than the POC of the picture B7, may be included in the reference picture list 1 for the picture B7.
- the short-term reference pictures having a POC larger than the POC of the current picture may be included in descending order of the POC.
- the reference picture list 1 can be represented by ⁇ B6, P5 ⁇ .
- the reference picture list 1 may include the short-term reference pictures having a POC smaller than the POC of the current picture among the pictures referred to in the encoding / decoding process of the current picture.
- pictures P1 and B2 which are short-term reference pictures having a POC smaller than the POC of the picture B7, may be included in the reference picture list 1 for the picture B7.
- the short-term reference pictures having a POC that is smaller than the POC of the current picture may be included in descending order of the POC.
- the reference picture list 1 can be represented by ⁇ B6, P5, P1, B2 ⁇ .
- a long term reference picture among the pictures referred to in the encoding / decoding of the current picture may be included in the reference picture list 1.
- the picture I0 which is the long-term reference picture of the picture B7, may be included in the reference picture list 1 for the picture B7.
- the reference picture list 1 can be expressed as ⁇ B6, P5, P1, B2, I0 ⁇ .
- the reference picture list 0 and the reference picture list 1 may be configured differently according to the length of the predetermined list, and the length of the list may be set to a maximum of 15.
- 360 degree video in 3D space is essentially borderless, but when the 360 degree video is projected onto a 2D image, a boundary where discontinuities appear can be created. Specifically, the 360 degree video can be projected onto a 2D image as described below.
- FIG. 6 exemplarily shows a projected picture derived based on the ERP.
- 360 degree video data may be projected onto a 2D picture, where the 2D picture on which the 360 degree video data is projected may be referred to as a projected frame or a projected picture.
- the 360 degree video data may be projected onto a picture through various projection types.
- 360-degree video data can be divided into Equirectangular Projection (ERP), Cube Map Projection (CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP), Truncated Square Pyramid Projection (TSP), Segmented Sphere Projection Can be projected and / or packed into a picture through Area Projection (EAP).
- the stitched 360 degree video data can be represented on a 3D projection structure according to the projection type, that is, the 360 degree video data can be mapped to the face of the 3D projection structure of each projection type, The face may be projected onto the projected picture.
- 360-degree video data can be projected onto a 2D picture through an ERP.
- stitched 360-degree video data can be represented on a spherical surface, i.e., the 360- Can be mapped, and can be projected into one picture in which continuity on the spherical surface is maintained.
- the 3D projection structure of the ERP may be a sphere having one face.
- the 360 degree video data can be mapped to one face in the projected picture.
- 360 degree video data can be projected through the CMP.
- the 3D projection structure of the CMP may be a cube.
- the stitched 360-degree video data can be represented in a cube, and the 360-degree video data can be projected onto a 2D image in a cubic 3D projection structure . That is, the 360 degree video data can be mapped to six faces of the cube, and the faces can be projected onto the projected picture.
- 360 degree video data may be projected through the ISP.
- the 3D projection structure of the ISP may be a twenty-sided form. Therefore, when the 360-degree video data is projected through the ISP, the stitched 360-degree video data can be represented in a twenty-sided form, and the 360-degree video data can be divided into a two- Lt; / RTI > That is, the 360 degree video data may be mapped to twenty faces of a twosopaper, and the faces may be projected onto the projected picture.
- 360 degree video data may be projected through the OHP.
- the 3D projection structure of the OHP may be octahedral. Therefore, when the 360-degree video data is projected through the OHP, the stitched 360-degree video data can be displayed on the octahedron, and the 360-degree video data is divided into the octahedral 3D projection structure and projected onto the 2D image . That is, the 360 degree video data can be mapped to eight faces of the octahedron, and the faces can be projected onto the projected picture.
- 360 degree video data may be projected through the TSP.
- the 3D projection structure of the TSP may be a truncated square pyramid.
- the stitched 360-degree video data may be represented in the pyramid with the top portion truncated, and the 360-degree video data may be represented as a pyramid- Can be divided into projection structures and projected onto a 2D image. That is, the 360 degree video data may be mapped to six faces of the pyramid with the top portion cut out, and the faces may be projected onto the projected picture.
- 360 degree video data may be projected through the SSP.
- the 3D projection structure of the SSP may be a spherical surface having six faces.
- the faces may include two circular-shaped faces for the anode regions and four square block-shaped faces for the remaining regions.
- the stitched 360 degree video data may be represented by a spherical surface having the six faces, and the 360 degree video data may be represented by a rectangle having the six faces
- 360 degree video data may be projected through the EAP.
- the 3D projection structure of the EAP may be predefined.
- the stitched 360 degree video data can be represented on a spherical surface, i.e., the 360 degree video data can be mapped on the spherical surface, The continuity on the spherical surface is maintained. That is, the 360 degree video data can be mapped to one face of a sphere, and the face can be projected onto the projected picture.
- the EAP may represent a method of projecting a specific area on the spherical surface onto the projected picture in a size equal to the size on the spherical surface, unlike the ERP.
- the 3D space of the ERP that is, the 360-degree video data on the spherical surface, as shown in FIG. 6,
- the center point on the spherical surface may be mapped to the center point of the projected picture and the continuity on the spherical surface may be maintained.
- the center of gravity on the spherical surface may be referred to as an orientation on the spherical surface.
- the 3D space may be referred to as a projection structure or VR geometry.
- the spherical coordinate system representing the 3D space and the yaw / pitch / roll coordinate system may be as follows.
- FIG. 7 shows an example of a rectangular coordinate system in which 360-degree video data is represented by a spherical surface.
- the 360 degree video data obtained from the camera may be represented by a spherical surface.
- each point on the spherical surface is expressed by r (sphere radius),? (Rotational direction and degree with respect to the z axis),? (Rotational direction and degree with respect to the z axis of the xy plane) Lt; / RTI >
- the spherical surface may coincide with the world coordinate system, or the principal point of the front camera may be a (r, 0, 0) point of the spherical surface.
- the position of each point on the spherical surface can be expressed based on the Aircraft Principal Axes.
- the position of each point on the spherical surface may be expressed through pitch, yaw, and roll.
- FIG. 8 is a diagram showing an Aircraft Principal Axes concept for explaining a spherical surface representing 360-degree video.
- the concept of a plane main axis can be used to express a specific point, a position, a direction, an interval, an area, and the like in 3D space. That is, in the present invention, the concept of the airplane main axis can be used to describe the 3D space before or after the projection, and to perform signaling on the 3D space.
- the position of each point on the spherical surface can be expressed based on the Aircraft Principal Axes.
- the three-dimensional axes can be referred to as a pitch axis, a yaw axis, and a roll axis, respectively. In the present specification, these may be abbreviated to pitch, yaw, roll to pitch, yaw, and roll directions.
- the position of each point on the spherical surface may be expressed through pitch, yaw, and roll.
- the pitch axis may correspond to the X axis, the yaw axis to the Z axis, and the roll axis to the Y axis.
- the yaw angle may indicate the direction and degree of rotation based on the yaw axis, and the range of the yaw angle may range from 0 degrees to +360 degrees, or from -180 degrees to +180 degrees Lt; / RTI > 8B, the pitch angle may indicate the rotational direction and the degree with respect to the pitch axis, and the range of the pitch angle may range from 0 degrees to +180 degrees or from -90 degrees to +90 degrees .
- the roll angle can indicate the direction and degree of rotation with respect to the roll axis, and the range of roll angles can be from 0 degrees to +360 degrees or from -180 degrees to +180 degrees.
- the yaw angle increases in a clockwise direction, and the range of the yaw angle may be assumed to be 0 to 360 degrees.
- the pitch angle increases as the polar angle increases, and the range of the polar angle may be assumed to be -90 degrees to +90 degrees.
- the projected picture includes a boundary 600.
- the discontinuous boundary is minimized, more accurate motion information can be output, thereby improving the efficiency of inter prediction.
- the present invention proposes a projection type in which the discontinuous boundary of the projected picture is minimized. Specifically, a projection type in which 360-degree video data on the spherical surface is rotated in various manners, and the rotated 360-degree video data is projected onto the 2D picture can be proposed.
- FIG. 9 exemplarily shows a projected picture derived based on an ERP to which a symmetric projection is applied.
- the above-mentioned projection type is applied to the above-mentioned symmetrical projection to project the projected picture, instead of being projected so that the middle point on the existing spherical surface is mapped to the center point of the projected picture, Rotated, rotated 360 degree video data can be projected onto the 2D picture.
- a position derived by rotating the center point on the spherical surface by a specific value is mapped to the center point of the projected picture.
- FIG. 9A shows a projected picture derived by projecting 360-degree video data rotated by (180, 0, 90) to one picture in which continuity is maintained. That is, FIG. 7A can show a picture projected so that a specific position of the (180, 0, 90) coordinate is mapped to the center point of the projected picture.
- the coordinates indicating the specific position may be coordinates represented by pitch, yaw, and roll.
- FIG. 9A upper and lower boundaries of a picture projected through a conventional ERP may disappear, and a left boundary and a right boundary may be derived as a boundary 900 located at the center.
- FIG. 9B shows a projected picture derived by projecting 360-degree video data rotated by (180, 0, -90) to one picture in which continuity is maintained. That is, FIG. 9B shows a picture projected so that the specific position of the (180, 0, -90) coordinate is mapped to the center point of the projected picture.
- the upper and lower boundaries of the picture projected through the existing ERP may disappear, and the left boundary and the right boundary may be derived as the boundary 910 located at the center.
- the above-described symmetrical projection can be applied to other projection types other than the ERP.
- FIG. 10 exemplarily shows a projected picture derived based on the CMP.
- a projected picture derived based on a conventional CMP is exemplarily shown.
- 360-degree video data can be projected through the CMP, and the 3D projection structure of the CMP can be a cube.
- the stitched 360-degree video data can be represented in a cube, and the 360-degree video data can be projected onto a 2D image in a cubic 3D projection structure . That is, the 360 degree video data can be mapped to six faces of the cube, and the faces can be projected onto the projected picture.
- the projected picture includes a boundary 1000.
- the discontinuous boundary is minimized, more accurate motion information can be output, thereby improving the efficiency of inter prediction. Accordingly, the present invention proposes a projection type in which the discontinuous boundary of the projected picture is minimized.
- FIG. 11 exemplarily shows a projected picture derived based on CMP to which a symmetric projection is applied.
- the projected picture is derived by applying the symmetrical projection to the projection type described above, instead of being projected so as to map the center point on the existing spherical surface to the center point of the projected picture, the 360 degree video data on the spherical surface is rotated , The rotated 360 degree video data may be projected onto the 2D picture.
- the center point on the spherical surface is mapped to the center point of the projected picture, Can be mapped to six faces of the cube while being mapped to the midpoint of the projected picture, and the faces can be projected onto the projected picture.
- FIG. 11 shows a projected picture derived by projecting 360-degree video data rotated by (0, 0, 90) to one picture in which continuity is maintained. That is, Fig. 11 can represent a picture projected so that a specific position of the (0, 0, 90) coordinate is mapped to the center point of the projected picture. Referring to FIG. 11, a projected picture in which discontinuous boundaries are less than a picture projected through a conventional CMP based on the symmetric projection-applied CMP can be derived.
- a discontinuous picture with few boundaries can be derived based on the projection type to which the symmetric projection is applied, and a method of constructing a reference picture list using the picture can be proposed.
- L0 and L1 for the current picture can be derived as shown in Fig.
- the picture order count (POC) of the current picture may be 3
- the picture L0 for the current picture may include a picture having a POC of 0 and a picture having a POC of 4
- L0 can be expressed as ⁇ POC0, POC4 ⁇ , and L1 can be expressed as ⁇ POC4, POC0 ⁇ .
- a block most similar to the current block 1200 among the blocks in the reference pictures included in the reference picture list is included in the current block 1200 Can be derived as a reference block.
- a reference block P0 1210 of the current block 1200 may be included in a picture having the POC of 0 in L0.
- the reference block P0 1210 may be located in an area adjacent to the boundary of the picture with the POC of 0, and may be partially available.
- the samples of the non-available region may be padded based on the samples located at the left boundary of the reference block P0 (1210).
- the reference picture derived based on the projection type to which the symmetric projection is applied can be included in the reference picture list L0 and / or the reference picture list L1 for the current picture.
- a 360 degree video for the POC of 0 can be rotated at a specific angle, and a reference picture projected from the rotated 360 degree video can be derived.
- the projected reference picture may be represented as POC0 '.
- the reference block P0 '1220 at the position corresponding to the reference block P0 1210 in the POC0' can be derived as a reference block of the current block 1200, the reference block P0 ' Can be available without being located in an area adjacent to the boundary of the picture. Therefore, performing inter-prediction on the current block 1200 based on the reference block P0 '1220 is more efficient than performing inter-prediction based on the reference block P0 1210 including the padded region Prediction accuracy and coding efficiency can be improved.
- FIG. 13 exemplarily shows a method for constructing the reference picture list including pictures derived based on the projection type to which the symmetrical projection is applied.
- the encoding apparatus / decoding apparatus may include a short-term reference picture of the current picture in a reference picture list for the current picture (S1300).
- the short reference picture of the current picture may include a picture having a POC of 0 and a picture having a POC of 4.
- a picture having the POC of 0 and a picture having the POC of 4 can be included in the reference picture list for the current picture.
- the reference pictures included in the reference picture list may be arranged based on a picture order count (POC) difference between the current picture and the corresponding reference picture.
- POC picture order count
- the encoding apparatus / decoding apparatus may include a modified short time reference picture of the current picture in the reference picture list for the current picture (S1310).
- the modified short-term reference picture may represent a reference picture in which a 360-degree video for the short-term reference picture rotated at a certain angle is projected.
- a 360 degree video for the POC of 0 can be rotated at a specific angle, and a reference picture with a modified POC of 0, from which the rotated 360 degree video is projected, can be derived.
- a 360-degree video for the POC 4 can be rotated at a specific angle, and a reference picture with the modified POC 4 for which the rotated 360-degree video is projected can be derived.
- the encoding apparatus / decoding apparatus may include a long-term reference picture of the current picture in the reference picture list for the current picture (S1320).
- FIG. 14 schematically shows a video encoding method by the encoding apparatus according to the present invention.
- the method disclosed in Fig. 14 can be performed by the encoding apparatus disclosed in Fig. Specifically, for example, S1400 to S1420 in FIG. 14 can be performed by the projection processing unit and the prediction unit of the encoding apparatus, and S1430 can be performed by the entropy encoding unit of the encoding apparatus.
- the encoding device derives the rotation parameters for the 360 degree image (S1400).
- the encoding apparatus may derive a specific yaw value, a specific pitch value and a specific roll value, which cause the discontinuous boundary of the reference picture for the current picture to be minimized, with the rotation parameters.
- the reference picture may be a picture on which the 360-degree image is projected based on a projection type. That is, the reference picture may be a picture projected so that the 360-degree image is mapped to a center of the reference picture in the 3D space.
- the center of gravity in the 3D space may be referred to as an orientation in the 3D space.
- the discontinuous boundary may represent a boundary where the projected 360 degree image is not continuous.
- the projection type is Equirectangular Projection (ERP)
- the discontinuous boundary of the reference picture may be derived as an upper boundary, a lower boundary, a left boundary, and a right boundary.
- the projection type is CMP (Cube Map Projection)
- the discontinuous boundary of the reference picture may be derived as an upper boundary, a lower boundary, a left boundary, a right boundary, and a center horizontal boundary.
- the center horizontal boundary may be a horizontal line passing the center of the reference picture.
- the encoding apparatus may generate information indicating the rotation parameters. That is, the encoding apparatus can generate information indicating the specific desired value, information indicating the specific pitch value, and information indicating the specific roll value.
- the encoding apparatus processes the 360-degree image based on the projection type and the rotation parameters for the 360-degree image to obtain a rotated reference picture (S1410).
- the projection type may be an ERP (Equirectangular Projection)
- the 3D space may be a spherical surface
- the specific desired value may be 180
- the specific pitch value may be 0, and the specific roll value may be 90.
- the projection type may be an ERP (Equirectangular Projection)
- the 3D space may be a spherical surface
- the specific yaw value may be 180
- the specific pitch value may be 0, and the specific roll value may be -90
- the projection type may be CMP (Cube Map Projection)
- the 3D space may be a cube
- the specific yaw value is 0,
- the specific pitch value is 0, and the specific roll value is 90 .
- the encoding apparatus can project the 360-degree image on the 3D space (3D projection structure) onto the 2D image (or picture) based on the projection type and the rotation parameters for the 360-degree image, and obtains the rotated reference picture can do.
- the encoding device derives the 360-degree image on the 3D space and the rotated 360-degree image based on the rotation parameters, and the specific position, which is the center of the rotated 360-degree image
- the 360-degree image may be projected onto the 2D picture so as to be mapped to derive the rotated reference picture. That is, the rotated reference picture may be a picture that is projected so that the 360-degree image is mapped to a center of the rotated reference picture at a specific position in the 3D space.
- the 360-degree image in the 3D space may be projected so that a specific position in the 3D space derived based on the rotation parameters is mapped to a center of the rotated reference picture.
- the rotation parameters may include a specific pitch value, a specific yaw value, and a specific roll value
- the specific position may be determined such that the yaw component is the specific yaw value, the pitch component is the specific pitch value, And may be a position that is the specific roll value. That is, the specific position may be a position shifted by the rotation parameters at a midpoint on the 3D space.
- the 360-degree image may be projected around a center point in the 3D space to derive the rotated reference picture, and the 360-degree video in the rotated reference picture may be rotated based on the rotation parameters.
- the encoding apparatus can perform projection on a 2D image (or a picture) according to a projection type for the 360-degree image among a plurality of projection types, and obtain the rotated reference picture.
- the projection type may correspond to the projection method described above.
- the various types of projections include Equirectangular Projection (ERP), Cube Map Projection (CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP), Truncated Square Pyramid Projection (TSP), Segmented Sphere Projection ).
- the 360 degree image can be mapped to the faces of the 3D projection structure of each projection type, and the faces can be projected onto the rotated reference picture. That is, the rotated reference picture may include paces of a 3D projection structure of each projection type.
- the 360-degree image may be projected onto the rotated reference picture based on a cube map projection (CMP), in which case the 3D projection structure may be a cube.
- CMP cube map projection
- the 360 degree image may be mapped to six faces of the cube, and the faces may be projected to the rotated reference picture.
- the 360 degree image may be projected onto the rotated reference picture based on ISP (Icosahedral Projection), in which case the 3D projection structure may be a twentieth face.
- the 360-degree image may be projected onto the rotated reference picture based on an Octahedron Projection (OHP), in which case the 3D projection structure may be octahedral.
- the encoding apparatus may perform processing such as rotating and rearranging the faces of the rotated reference picture, changing resolutions of the respective faces, and the like.
- the encoding apparatus derives a reference picture list for the current picture based on the rotated reference picture (S1420).
- the reference picture list may include a reference picture list 0 (List 0, L0) and / or a reference picture list 1 (List 1, L1).
- the reference pictures included in the reference picture list may be arranged based on a picture order count (POC) difference between the current picture and the corresponding reference picture.
- the POC corresponds to the display order of the pictures and can be distinguished from the coding order.
- the reference picture list may include the rotated reference pictures.
- the reference picture list may include a reference picture in which the 360-degree image is projected.
- the reference picture may be a picture projected so that the 360-degree image is mapped to the center of the reference picture in the 3D space.
- the reference picture list may be arranged in the order of the reference picture and the rotated reference picture.
- the rotated reference picture may include a discontinuous boundary smaller than the reference picture. The discontinuous boundary may represent a boundary where the projected 360 degree image is not continuous.
- the encoding apparatus generates 360-degree video information for the current picture, encodes it, and outputs the 360-degree video information (S1440).
- the encoding device may generate the 360-degree video information for the current picture, and may encode the 360-degree video information and output it through a bitstream, the bitstream may be transmitted over a network, May be stored in a non-transitory computer readable medium.
- the 360-degree video information may include information indicating a projection type.
- the projection type may be one of a plurality of projection types, and the various projection types may be classified into Equirectangular Projection (ERP), Cube Map Projection (CMP), Icosahedral Projection (ISP), Octahedron Projection (TSP), Segmented Sphere Projection (SSP), and Equal Area Projection (EAP).
- EAP Equirectangular Projection
- CMP Cube Map Projection
- ISP Icosahedral Projection
- TSP Octahedron Projection
- SSP Segmented Sphere Projection
- EAP Equal Area Projection
- the 360-degree video information may include information indicating the rotation parameters. That is, the 360-degree video information may include information indicating the specific yaw value, information indicating the specific pitch value, and information indicating the specific roll value.
- the encoding apparatus can derive a prediction sample for the current picture.
- the encoding apparatus may generate residual samples based on the original sample and the derived prediction samples.
- the encoding apparatus can generate information on the residuals based on the residual samples.
- the information on the residual may include transform coefficients relating to the residual sample.
- the encoding apparatus may derive the reconstructed sample based on the prediction sample and the residual sample. That is, the encoding apparatus may add the prediction sample and the residual sample to derive the reconstructed sample.
- the encoding apparatus can encode the information on the residual and output it in the form of a bit stream.
- the bitstream may be transmitted to a decoding device via a network or a storage medium.
- FIG. 15 schematically shows a video decoding method by a decoding apparatus according to the present invention.
- the method disclosed in Fig. 15 can be performed by the decoding apparatus disclosed in Fig. Specifically, for example, steps S1500 to S1530 of FIG. 15 may be performed by the predicting unit and the re-projection processing unit of the decoding apparatus.
- the decoding apparatus derives the rotation parameters for the 360-degree image (S1500).
- the decoding apparatus may derive a specific yaw value, a specific pitch value, and specific roll values such that the discontinuous boundary of the reference picture is minimized with the rotation parameters.
- the reference picture may be a picture on which the 360-degree image is projected based on a projection type. That is, the reference picture may be a picture projected so that the 360-degree image is mapped to a center of the reference picture in the 3D space.
- the center of gravity in the 3D space may be referred to as an orientation in the 3D space.
- the discontinuous boundary may represent a boundary where the projected 360 degree image is not continuous.
- the discontinuous boundary of the reference picture may be derived as an upper boundary, a lower boundary, a left boundary, and a right boundary.
- the discontinuous boundary of the reference picture may be derived as an upper boundary, a lower boundary, a left boundary, a right boundary, and a center horizontal boundary.
- the center horizontal boundary may be a horizontal line passing the center of the reference picture.
- the decoding apparatus may generate information indicating the rotation parameters. That is, the decoding apparatus may generate information indicating the specific yaw value, information indicating the specific pitch value, and information indicating the specific roll value.
- the decoding apparatus may receive 360-degree video information through a bitstream, and the 360-degree video information may include information indicative of the rotation parameters. That is, the 360-degree video information may include information indicating the specific yaw value, information indicating the specific pitch value, and information indicating the specific roll value.
- the decoding apparatus processes the 360-degree image based on the projection type and the rotation parameters for the 360-degree image to obtain a rotated reference picture (S1510).
- the projection type may be an ERP (Equirectangular Projection)
- the 3D space may be a spherical surface
- the specific desired value may be 180
- the specific pitch value may be 0,
- the specific roll value may be 90.
- the projection type may be an ERP (Equirectangular Projection)
- the 3D space may be a spherical surface
- the specific yaw value may be 180
- the specific pitch value may be 0, and the specific roll value may be -90 .
- the projection type may be CMP (Cube Map Projection)
- the 3D space may be a cube
- the specific yaw value is 0, the specific pitch value is 0, and the specific roll value is 90 .
- the 360-degree video information may include projection type information indicating the projection type, and the projection type may be derived based on the projection type information.
- the projection type includes an Equal Projection (ERP), a Cube Map Projection (CMP), an Icosahedral Projection (ISP), an Octahedron Projection (OHP), a Truncated Square Pyramid Projection (TSP), a Segmented Sphere Projection EAP).
- the decoding apparatus can project the 360-degree image on the 3D space (3D projection structure) onto the 2D image (or picture) based on the projection type and the rotation parameters for the 360-degree image, and obtains the rotated reference picture can do.
- the decoding apparatus derives the 360-degree image on the 3D space and the rotated 360-degree image based on the rotation parameters, and the specific position, which is the center of the rotated 360-degree image
- the 360-degree image may be projected onto the 2D picture so as to be mapped to derive the rotated reference picture. That is, the rotated reference picture may be a picture that is projected so that a specific position on the 3D space derived from the rotation parameters is mapped to a center of the rotated reference picture.
- the 360-degree image in the 3D space may be projected so that a specific position in the 3D space derived based on the rotation parameters is mapped to a center of the rotated reference picture.
- the rotation parameters may include a specific pitch value, a specific yaw value, and a specific roll value
- the specific position may be determined such that the yaw component is the specific yaw value, the pitch component is the specific pitch value, And may be a position that is the specific roll value. That is, the specific position may be a position shifted by the rotation parameters at a midpoint on the 3D space.
- the 360-degree image may be projected on a center point in the 3D space to derive the rotated reference picture, and the 360-degree picture in the rotated reference picture may be rotated based on the rotation parameters.
- the decoding apparatus can perform projection on a 2D image (or a picture) according to a projection type for the 360-degree image among a plurality of projection types, and obtain the rotated reference picture.
- the projection type may correspond to the projection method described above.
- the various types of projections include Equirectangular Projection (ERP), Cube Map Projection (CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP), Truncated Square Pyramid Projection (TSP), Segmented Sphere Projection ).
- the 360 degree image can be mapped to the faces of the 3D projection structure of each projection type, and the faces can be projected onto the rotated reference picture. That is, the rotated reference picture may include paces of a 3D projection structure of each projection type.
- the 360-degree image may be projected onto the rotated reference picture based on a cube map projection (CMP), in which case the 3D projection structure may be a cube.
- CMP cube map projection
- the 360 degree image may be mapped to six faces of the cube, and the faces may be projected to the rotated reference picture.
- the 360 degree image may be projected onto the rotated reference picture based on ISP (Icosahedral Projection), in which case the 3D projection structure may be a twentieth face.
- the 360-degree image may be projected onto the rotated reference picture based on an Octahedron Projection (OHP), in which case the 3D projection structure may be octahedral.
- the decoding apparatus may perform processing such as rotating and rearranging the faces of the rotated reference picture, changing resolutions of the respective faces, and the like.
- the decoding apparatus derives a reference picture list for the current picture based on the rotated reference picture (S1520).
- the reference picture list may include a reference picture list 0 (List 0, L0) and / or a reference picture list 1 (List 1, L1).
- the reference pictures included in the reference picture list may be arranged based on a picture order count (POC) difference between the current picture and the corresponding reference picture.
- POC picture order count
- the POC corresponds to the display order of the pictures and can be distinguished from the coding order.
- the reference picture list may include the rotated reference pictures.
- the reference picture list may include a reference picture in which the 360-degree image is projected.
- the reference picture may be a picture projected so that the 360-degree image is mapped to the center of the reference picture in the 3D space.
- the reference picture list may be arranged in the order of the reference picture and the rotated reference picture.
- the rotated reference picture may include a discontinuous boundary smaller than the reference picture. The discontinuous boundary may represent a boundary where the projected 360 degree image is not continuous.
- the decoding apparatus decodes the current picture based on the inter prediction using the reference picture list (S1530).
- the decoding apparatus may perform inter-prediction on the current block of the current picture to generate a prediction sample.
- the decoding apparatus may derive motion information on the current block and generate a prediction sample of the current block based on a reference block in the reference picture included in the reference picture list indicated by the motion information.
- the decoding apparatus may derive the prediction sample as a reconstructed sample for the current picture, and if the residual sample for the current block of the current picture does not exist, If there is a residual sample, the residual sample may be added to the prediction sample to generate a reconstruction sample for the current picture.
- the decoding apparatus can receive information on the residual for each quantization processing unit.
- the information on the residual may include a transform coefficient relating to the residual sample.
- the decoding apparatus may derive the residual sample (or residual sample array) for the current block based on the residual information.
- the decoding apparatus may generate a reconstructed sample based on the prediction sample and the residual sample, and may derive a reconstructed block or a reconstructed picture based on the reconstructed sample.
- an in-loop filtering procedure such as deblocking filtering and / or SAO procedure to the restored picture in order to improve subjective / objective picture quality as necessary.
- the decoding apparatus can re-project a 360-degree image of the decoded current picture on the 3D space (3D projection structure) based on the projection type.
- the projection type may be the ERP (Equirectangular Projection)
- the 3D space may be a spherical surface.
- a rotated reference picture in which a discontinuous boundary of a reference picture for a 360-degree video is reduced can be derived, and a reference picture list can be derived based on the rotated reference picture.
- a reference picture can be derived by rotating a 360-degree image and projecting a rotated 360-degree image, thereby reducing prediction efficiency deterioration due to discontinuity of the projected picture, Can be improved.
- the above-described method according to the present invention can be implemented in software, and the encoding apparatus and / or decoding apparatus according to the present invention can perform image processing of, for example, a TV, a computer, a smart phone, a set- Device.
- the above-described method may be implemented by a module (a process, a function, and the like) that performs the above-described functions.
- the module is stored in memory and can be executed by the processor.
- the memory may be internal or external to the processor and may be coupled to the processor by any of a variety of well known means.
- the processor may comprise an application-specific integrated circuit (ASIC), other chipset, logic circuitry and / or a data processing device.
- the memory may include read-only memory (ROM), random access memory (RAM), flash memory, memory cards, storage media, and / or other storage devices.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
An image decoding method performed by a decoding device, according to the present invention, comprises the steps of: deriving rotation parameters for a 360-degree image; acquiring a rotated reference picture by processing the 360-degree image on the basis of a projection type for the 360-degree image, and the rotation parameters; deriving a reference picture list for a current picture on the basis of the rotated reference picture; and decoding the current picture on the basis of inter prediction using the reference picture list, wherein the rotated reference picture is a picture projected so that the specific position of the 360-degree image in a 3D space, derived on the basis of the rotation parameters, is mapped at the center of the rotated reference picture.
Description
본 발명은 360도 비디오에 관한 것으로, 보다 상세하게는 회전된 360도 비디오를 프로젝션하여 도출된 참조 픽처를 사용한 영상 디코딩 방법 및 장치에 관한 것이다.The present invention relates to a 360-degree video, and more particularly, to a video decoding method and apparatus using a reference picture derived by projecting a rotated 360-degree video.
360도 비디오는 가상 현실(virtual reality, VR) 시스템을 제공하기 위해 필요한, 동시에 모든 방향(360도)으로 캡처되거나 재생되는 비디오 내지 이미지 컨텐츠를 의미할 수 있다. 예를 들어 360도 비디오는 3차원 구형면(Spherical surface) 상에 나타내어질 수 있다. 360도 비디오는 하나 이상의 카메라를 통하여 복수개의 시점 각각에 대한 이미지 또는 비디오가 캡처되고, 이 캡처된 복수개의 이미지/비디오들을 연결하여 하나의 파노라마 이미지/비디오 또는 구형의 이미지/비디오로 만들어 2D 픽처 상에 프로젝션하고, 프로젝션된 픽처를 코딩하여 전송하는 과정을 통하여 제공될 수 있다. 360 degree video can refer to video or image content that is required to provide a virtual reality (VR) system, while being captured or played back in all directions (360 degrees). For example, 360 degree video can be represented on a three-dimensional spherical surface. 360 degree video is captured by capturing an image or video for each of a plurality of viewpoints via one or more cameras and connecting the captured plurality of images / videos into one panorama image / video or spherical image / video, And coding and transmitting the projected picture.
360도 비디오는 기존의 영상 데이터에 비해 상대적으로 전송되는 정보량 또는 비트량이 증가하기 때문에 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 데이터를 전송하거나 기존의 저장 매체를 이용해 영상 데이터를 저장하는 경우, 전송 비용과 저장 비용이 증가된다. When video data is transmitted using a medium such as a conventional wired / wireless broadband line or image data is stored using an existing storage medium because the amount of information or bit amount to be transmitted increases relative to the existing video data, Transmission costs and storage costs are increased.
이에 따라, 360도 비디오의 정보를 효과적으로 전송하거나 저장하고, 재생하기 위한 고효율의 영상 압축 기술이 요구된다.Accordingly, there is a demand for a highly efficient video compression technique for effectively transmitting, storing, and reproducing 360-degree video information.
본 발명의 기술적 과제는 360도 비디오를 제공하기 위한 360도 비디오 정보 전송의 효율을 높이는 방법 및 장치를 제공함에 있다.SUMMARY OF THE INVENTION The present invention provides a method and apparatus for increasing 360-degree video information transmission efficiency to provide 360-degree video.
본 발명의 다른 기술적 과제는 회전된 360도 비디오가 프로젝션된 참조 픽처를 도출하는 방법 및 장치를 제공함에 있다.It is another object of the present invention to provide a method and apparatus for deriving a reference picture in which rotated 360 degree video is projected.
본 발명의 다른 기술적 과제는 회전된 360도 비디오가 프로젝션된 참조 픽처를 포함하는 참조 픽처 리스트를 도출하는 방법 및 장치를 제공함에 있다.It is another object of the present invention to provide a method and apparatus for deriving a reference picture list including a reference picture to which rotated 360 degree video is projected.
본 발명의 일 실시예에 따르면, 인코딩 장치에 의하여 수행되는 영상 인코딩 방법이 제공된다. 상기 방법은 360도 영상에 대한 회전 파라미터들을 도출하는 단계, 상기 360도 영상에 대한 프로젝션 타입 및 상기 회전 파라미터들을 기반으로 상기 360도 영상을 처리하여 회전된 참조 픽처를 획득하는 단계, 상기 회전된 참조 픽처를 기반으로 상기 현재 픽처에 대한 참조 픽처 리스트를 도출하는 단계, 및 상기 현재 픽처에 대한 360도 비디오 정보를 생성하고 인코딩하여 출력하는 단계를 포함하되, 상기 회전된 참조 픽처는 상기 360도 영상이 상기 3D 공간 상의 특정 위치가 상기 회전된 참조 픽처의 중심(center)에 맵핑되도록 프로젝션된 픽처인 것을 특징으로 한다.According to an embodiment of the present invention, an image encoding method performed by an encoding apparatus is provided. The method includes deriving rotation parameters for a 360 degree image, processing the 360 degree image based on projection type and rotation parameters for the 360 degree image to obtain a rotated reference picture, Deriving a reference picture list for the current picture based on a current picture, generating 360-degree video information for the current picture, and encoding and outputting the 360-degree video information for the current picture, And a specific position on the 3D space is mapped to a center of the rotated reference picture.
본 발명의 다른 일 실시예에 따르면, 영상 인코딩을 수행하는 인코딩 장치가 제공된다. 상기 인코딩 장치는 360도 영상에 대한 회전 파라미터들을 도출하고, 상기 360도 영상에 대한 프로젝션 타입 및 상기 회전 파라미터들을 기반으로 상기 360도 영상을 처리하여 회전된 참조 픽처를 획득하고, 상기 회전된 참조 픽처를 기반으로 상기 현재 픽처에 대한 참조 픽처 리스트를 도출하는 예측부, 및 상기 현재 픽처에 대한 360도 비디오 정보를 인코딩하여 출력하는 엔트로피 인코딩부를 포함하는 것을 특징으로 한다.According to another embodiment of the present invention, an encoding apparatus for performing image encoding is provided. Wherein the encoding device derives rotation parameters for a 360 degree image, processes the 360 degree image based on the projection type and the rotation parameters for the 360 degree image to obtain a rotated reference picture, A prediction unit for deriving a reference picture list for the current picture based on the current picture, and an entropy encoding unit for encoding and outputting 360-degree video information for the current picture.
본 발명의 또 다른 일 실시예에 따르면, 디코딩 장치에 의하여 수행되는 영상 디코딩 방법이 제공된다. 상기 방법은 상기 360도 영상에 대한 회전 파라미터들을 도출하는 단계, 상기 360도 영상에 대한 프로젝션 타입 및 상기 회전 파라미터들을 기반으로 상기 360도 비디오를 처리하여 회전된 참조 픽처를 획득하는 단계, 상기 회전된 참조 픽처를 기반으로 상기 현재 픽처에 대한 참조 픽처 리스트를 도출하는 단계, 및 상기 참조 픽처 리스트를 이용한 인터 예측을 기반으로 상기 현재 픽처를 디코딩하는 단계를 포함하되, 상기 회전된 참조 픽처는 상기 360도 영상이 상기 회전 파라미터들을 기반으로 도출된 상기 3D 공간 상의 특정 위치가 상기 회전된 참조 픽처의 중심(center)에 맵핑되도록 프로젝션된 픽처인 것을 특징으로 한다.According to another embodiment of the present invention, an image decoding method performed by a decoding apparatus is provided. The method includes deriving rotation parameters for the 360 degree image, processing the 360 degree video based on the projection type and the rotation parameters for the 360 degree image to obtain a rotated reference picture, Deriving a reference picture list for the current picture based on a reference picture and decoding the current picture based on inter prediction using the reference picture list, And a specific position on the 3D space derived from the rotation parameters is mapped to a center of the rotated reference picture.
본 발명의 다른 일 실시예에 따르면, 360도 비디오 데이터를 처리하는 디코딩 장치가 제공된다. 상기 디코딩 장치는 360도 비디오 정보를 수신하는 엔트로피 디코딩부, 및 360도 영상에 대한 회전 파라미터들을 도출하고, 상기 360도 영상에 대한 프로젝션 타입 및 상기 회전 파라미터들을 기반으로 상기 360도 영상을 처리하여 회전된 참조 픽처를 획득하고, 상기 회전된 참조 픽처를 기반으로 상기 현재 픽처에 대한 참조 픽처 리스트를 도출하고, 상기 참조 픽처 리스트를 이용한 인터 예측을 기반으로 상기 현재 픽처를 디코딩하는 예측부를 포함하는 것을 특징으로 한다.According to another embodiment of the present invention, a decoding apparatus for processing 360-degree video data is provided. The decoding apparatus includes an entropy decoding unit for receiving 360-degree video information, and a controller for deriving rotation parameters for the 360-degree image, processing the 360-degree image based on the projection type and the rotation parameters for the 360- And a predictor for obtaining a reference picture list for the current picture based on the rotated reference picture and decoding the current picture based on inter prediction using the reference picture list .
본 발명에 따르면 360도 비디오에 대한 참조 픽처의 불연속 경계를 줄인 회전된 참조 픽처를 도출하고 상기 회전된 참조 픽처를 기반으로 참조 픽처 리스트를 도출할 수 있고, 이를 통하여 예측 정확도 및 전반적인 코딩 효율을 향상시킬 수 있다. According to the present invention, a rotated reference picture in which a discontinuous boundary of a reference picture for a 360-degree video is reduced can be derived, and a reference picture list can be derived based on the rotated reference picture, thereby improving prediction accuracy and overall coding efficiency .
본 발명에 따르면 360도 영상을 회전하고, 회전된 360도 영상을 프로젝션하여 참조 픽처를 도출할 수 있고, 이를 통하여 상기 프로젝션된 픽처의 불연속성으로 인한 예측 효율 저하를 줄일 수 있고, 전반적인 코딩 효율을 향상시킬 수 있다.According to the present invention, a reference picture can be derived by rotating a 360-degree image and projecting a rotated 360-degree image, thereby reducing prediction efficiency deterioration due to discontinuity of the projected picture and improving overall coding efficiency .
도 1은 본 발명에 따른 360도 비디오 제공을 위한 전체 아키텍처를 도시한 도면이다. 1 is a diagram illustrating an overall architecture for providing 360-degree video according to the present invention.
도 2는 인코딩 장치 및 디코딩 장치에서의 360도 비디오의 처리 과정을 예시적으로 나타낸다.FIG. 2 illustrates an exemplary processing of 360-degree video in the encoding apparatus and the decoding apparatus.
도 3은 본 발명이 적용될 수 있는 비디오 인코딩 장치의 구성을 개략적으로 설명하는 도면이다.FIG. 3 is a view for schematically explaining a configuration of a video encoding apparatus to which the present invention can be applied.
도 4는 본 발명이 적용될 수 있는 비디오 디코딩 장치의 구성을 개략적으로 설명하는 도면이다.FIG. 4 is a view for schematically explaining a configuration of a video decoding apparatus to which the present invention can be applied.
도 5는 참조 픽처 리스트를 구성하는 일 예를 나타낸다. Fig. 5 shows an example of constituting a reference picture list.
도 6은 상기 ERP 를 기반으로 도출된 프로젝션된 픽처를 예시적으로 나타낸다.FIG. 6 exemplarily shows a projected picture derived based on the ERP.
도 7은 360도 비디오 데이터를 구형 면(spherical surface)으로 나타낸 구형 좌표계의 일 예를 나타낸다.FIG. 7 shows an example of a rectangular coordinate system in which 360-degree video data is represented by a spherical surface.
도 8은 360도 비디오를 나타내는 구형 면을 설명하기 위한 비행기 주축(Aircraft Principal Axes) 개념을 도시한 도면이다.FIG. 8 is a diagram showing an Aircraft Principal Axes concept for explaining a spherical surface representing 360-degree video.
도 9는 대칭 프로젝션이 적용된 ERP 를 기반으로 도출된 프로젝션된 픽처를 예시적으로 나타낸다.FIG. 9 exemplarily shows a projected picture derived based on an ERP to which a symmetric projection is applied.
도 10은 상기 CMP 를 기반으로 도출된 프로젝션된 픽처를 예시적으로 나타낸다.FIG. 10 exemplarily shows a projected picture derived based on the CMP.
도 11은 대칭 프로젝션이 적용된 CMP 를 기반으로 도출된 프로젝션된 픽처를 예시적으로 나타낸다.FIG. 11 exemplarily shows a projected picture derived based on CMP to which a symmetric projection is applied.
도 12는 대칭 프로젝션이 적용된 프로젝션 타입을 기반으로 도출된 픽처가 포함된 참조 픽처 리스트의 일 예를 나타낸다.12 shows an example of a reference picture list including a picture derived based on a projection type to which a symmetrical projection is applied.
도 13은 상기 대칭 프로젝션이 적용된 프로젝션 타입을 기반으로 도출된 픽처를 포함한 상기 참조 픽처 리스트을 구성하는 방안을 예시적으로 나타낸다.FIG. 13 exemplarily shows a method for constructing the reference picture list including pictures derived based on the projection type to which the symmetrical projection is applied.
도 14는 본 발명에 따른 인코딩 장치에 의한 비디오 인코딩 방법을 개략적으로 나타낸다.14 schematically shows a video encoding method by the encoding apparatus according to the present invention.
도 15는 본 발명에 따른 디코딩 장치에 의한 비디오 디코딩 방법을 개략적으로 나타낸다.15 schematically shows a video decoding method by a decoding apparatus according to the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정 실시예에 한정하려고 하는 것이 아니다. 본 명세서에서 상용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 기술적 사상을 한정하려는 의도로 사용되는 것은 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서 "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 도는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. However, this is not intended to limit the invention to the specific embodiments. It is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the scope of the present invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. It is to be understood that the terms "comprises", "having", and the like in the specification are intended to specify the presence of stated features, integers, steps, operations, elements, parts or combinations thereof, It should be understood that they do not preclude the presence or addition of a combination of numbers, steps, operations, components, parts, or combinations thereof.
한편, 본 발명에서 설명되는 도면상의 각 구성들은 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미하지는 않는다. 예컨대, 각 구성 중 두 개 이상의 구성이 합쳐져 하나의 구성을 이룰 수도 있고, 하나의 구성이 복수의 구성으로 나뉘어질 수도 있다. 각 구성이 통합 및/또는 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.In the meantime, the configurations of the drawings described in the present invention are shown independently for convenience of description of different characteristic functions, and do not mean that the configurations are implemented as separate hardware or separate software. For example, two or more of the configurations may combine to form one configuration, or one configuration may be divided into a plurality of configurations. Embodiments in which each configuration is integrated and / or separated are also included in the scope of the present invention unless they depart from the essence of the present invention.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성 요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성 요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Hereinafter, the same reference numerals will be used for the same constituent elements in the drawings, and redundant explanations for the same constituent elements will be omitted.
본 명세서에서 픽처(picture)는 일반적으로 특정 시간대의 하나의 영상을 나타내는 단위를 의미하며, 슬라이스(slice)는 코딩에 있어서 픽처의 일부를 구성하는 단위이다. 하나의 픽처는 복수의 슬라이스로 구성될 수 있으며, 필요에 따라서 픽처 및 슬라이스는 서로 혼용되어 사용될 수 있다.In this specification, a picture generally refers to a unit that represents one image in a specific time zone, and a slice is a unit that constitutes a part of a picture in coding. One picture may be composed of a plurality of slices, and pictures and slices may be used in combination if necessary.
픽셀(pixel) 또는 펠(pel)은 하나의 픽처(또는 영상)을 구성하는 최소의 단위를 의미할 수 있다. 또한, 픽셀에 대응하는 용어로서 '샘플(sample)'이 사용될 수 있다. 샘플은 일반적으로 픽셀 또는 픽셀의 값을 나타낼 수 있으며, 휘도(luma) 성분의 픽셀/픽셀값만을 나타낼 수도 있고, 채도(chroma) 성분의 픽셀/픽셀 값만을 나타낼 수도 있다. A pixel or a pel may mean a minimum unit of a picture (or image). Also, a 'sample' may be used as a term corresponding to a pixel. A sample may generally represent a pixel or pixel value and may only represent a pixel / pixel value of a luma component or only a pixel / pixel value of a chroma component.
유닛(unit)은 영상 처리의 기본 단위를 나타낸다. 유닛은 픽처의 특정 영역 및 해당 영역에 관련된 정보 중 적어도 하나를 포함할 수 있다. 유닛은 경우에 따라서 블록(block) 또는 영역(area) 등의 용어와 혼용하여 사용될 수 있다. 일반적인 경우, MxN 블록은 M개의 열과 N개의 행으로 이루어진 샘플들 또는 변환 계수(transform coefficient)들의 집합을 나타낼 수 있다.A unit represents a basic unit of image processing. A unit may include at least one of a specific area of a picture and information related to the area. The unit may be used in combination with terms such as a block or an area in some cases. In general, an MxN block may represent a set of samples or transform coefficients consisting of M columns and N rows.
도 1은 본 발명에 따른 360도 비디오 제공을 위한 전체 아키텍처를 도시한 도면이다. 1 is a diagram illustrating an overall architecture for providing 360-degree video according to the present invention.
본 발명은 사용자에게 가상현실 (Virtual Reality, VR)을 제공하기 위하여, 360 컨텐츠를 제공하는 방안을 제안한다. VR이란 실제 또는 가상의 환경을 복제(replicates) 하기 위한 기술 내지는 그 환경을 의미할 수 있다. VR은 인공적으로 사용자에게 감각적 경험을 제공하며, 이를 통해 사용자는 전자적으로 프로젝션된 환경에 있는 것과 같은 경험을 할 수 있다. The present invention proposes a method of providing 360 contents in order to provide a virtual reality (VR) to a user. The VR may mean a technique or an environment for replicating an actual or virtual environment. VR artificially provides the user with a sensory experience that allows the user to experience the same experience as in an electronically projected environment.
360 컨텐츠는 VR을 구현, 제공하기 위한 컨텐츠 전반을 의미하며, 360도 비디오 및/또는 360 오디오를 포함할 수 있다. 360도 비디오는 VR을 제공하기 위해 필요한, 동시에 모든 방향(360도)으로 캡처되거나 재생되는 비디오 내지 이미지 컨텐츠를 의미할 수 있다. 이하, 360도 비디오라 함은 360도 비디오를 의미할 수 있다. 360도 비디오는 3D 모델에 따라 다양한 형태의 3D 공간 상에 나타내어지는 비디오 내지 이미지를 의미할 수 있으며, 예를 들어 360도 비디오는 구형면(spherical surface) 상에 나타내어질 수 있다. 360 오디오 역시 VR을 제공하기 위한 오디오 컨텐츠로서, 음향 발생지가 3차원의 특정 공간상에 위치하는 것으로 인지될 수 있는, 공간적(Spatial) 오디오 컨텐츠를 의미할 수 있다. 360 컨텐츠는 생성, 처리되어 사용자들로 전송될 수 있으며, 사용자들은 360 컨텐츠를 이용하여 VR 경험을 소비할 수 있다. 360 content refers to the entire content for implementing and providing VR, and may include 360-degree video and / or 360 audio. 360 degree video may refer to video or image content that is required to provide VR while being captured or played back in all directions (360 degrees). Hereinafter, 360-degree video may mean 360-degree video. 360 degree video may refer to a video or image represented in various types of 3D space according to the 3D model, for example, a 360 degree video may be displayed on a spherical surface. 360 audio may also refer to audio content for providing VR, which may be perceived as being located on a three-dimensional specific space of a sound source. 360 content can be created, processed and sent to users, and users can consume VR experience using 360 content.
본 발명은 특히 360도 비디오를 효과적으로 제공하는 방안을 제안한다. 360도 비디오를 제공하기 위하여, 먼저 하나 이상의 카메라를 통해 360도 비디오가 캡처될 수 있다. 캡처된 360도 비디오는 일련의 과정을 거쳐 전송되고, 수신측에서는 수신된 데이터를 다시 원래의 360도 비디오로 가공하여 렌더링할 수 있다. 이를 통해 360도 비디오가 사용자에게 제공될 수 있다. The present invention particularly proposes a scheme for efficiently providing 360-degree video. To provide 360 degree video, a 360 degree video can first be captured through one or more cameras. The captured 360-degree video is transmitted through a series of processes, and the receiving side can process the received data back into the original 360-degree video and render it. This allows 360-degree video to be provided to the user.
구체적으로 360도 비디오 제공을 위한 전체의 과정은 캡처 과정(process), 준비 과정, 전송 과정, 프로세싱 과정, 렌더링 과정 및/또는 피드백 과정을 포함할 수 있다. Specifically, the entire process for providing 360-degree video may include a capture process, a preparation process, a transmission process, a processing process, a rendering process, and / or a feedback process.
캡처 과정은 하나 이상의 카메라를 통하여 복수개의 시점 각각에 대한 이미지 또는 비디오를 캡처하는 과정을 의미할 수 있다. 캡처 과정에 의해 도시된 도 1의 (110)과 같은 이미지/비디오 데이터가 생성될 수 있다. 도시된 도 1의 (110)의 각 평면은 각 시점에 대한 이미지/비디오를 의미할 수 있다. 이 캡처된 복수개의 이미지/비디오를 로(raw) 데이터라 할 수도 있다. 캡처 과정에서 캡처와 관련된 메타데이터가 생성될 수 있다. The capturing process may refer to a process of capturing an image or video for each of a plurality of viewpoints via one or more cameras. Image / video data such as (110) in Fig. 1 shown by the capture process can be generated. Each plane of (110) shown in FIG. 1 may mean image / video for each viewpoint. The captured plurality of images / videos may be referred to as raw data. Metadata associated with the capture can be generated during the capture process.
이 캡처를 위하여 특수한 카메라가 사용될 수 있다. 실시예에 따라 컴퓨터로 생성된 가상의 공간에 대한 360도 비디오를 제공하고자 하는 경우, 실제 카메라를 통한 캡처가 수행되지 않을 수 있다. 이 경우 단순히 관련 데이터가 생성되는 과정으로 해당 캡처 과정이 갈음될 수 있다. A special camera can be used for this capture. In the case of providing a 360-degree video for a virtual space generated by a computer according to an embodiment, capturing through a real camera may not be performed. In this case, the process of generating the related data may be replaced with the capturing process.
준비 과정은 캡처된 이미지/비디오 및 캡처 과정에서 발생한 메타데이터를 처리하는 과정일 수 있다. 캡처된 이미지/비디오는 이 준비 과정에서, 스티칭 과정, 프로젝션 과정, 리전별 패킹 과정(Region-wise Packing) 및/또는 인코딩 과정 등을 거칠 수 있다.The preparation process may be a process of processing the captured image / video and metadata generated during the capturing process. The captured image / video may be subjected to a stitching process, a projection process, a region-wise packing process and / or an encoding process in the preparation process.
먼저 각각의 이미지/비디오가 스티칭(Stitching) 과정을 거칠 수 있다. 스티칭 과정은 각각의 캡처된 이미지/비디오들을 연결하여 하나의 파노라마 이미지/비디오 또는 구형의 이미지/비디오를 만드는 과정일 수 있다. First, each image / video can be subjected to a stitching process. The stitching process may be a process of linking each captured image / video to create one panoramic image / video or spherical image / video.
이 후, 스티칭된 이미지/비디오는 프로젝션(Projection) 과정을 거칠 수 있다. 프로젝션 과정에서, 스티칭된 이미지/비디오는 2D 이미지 상에 프로젝션될 수 있다. 이 2D 이미지는 문맥에 따라 2D 이미지 프레임 또는 프로젝션된 픽처(projected picture)로 불릴 수도 있다. 2D 이미지로 프로젝션하는 것을 2D 이미지로 맵핑한다고 표현할 수도 있다. 프로젝션된 이미지/비디오 데이터는 도시된 도 1의 (120)과 같은 2D 이미지의 형태가 될 수 있다. Thereafter, the stitched image / video may undergo a projection process. In the projection process, the stitched image / video can be projected onto the 2D image. This 2D image may be referred to as a 2D image frame or a projected picture depending on the context. It can also be expressed as mapping a 2D image to a 2D image. The projected image / video data may be in the form of a 2D image as shown in FIG. 1 (120).
또한, 프로젝션 과정에서, 2D 이미지 상에 프로젝션된 비디오 데이터를 리전(Region) 별로 나누어 처리를 가하는 과정이 적용될 수 있다. 여기서 리전(Region)이란, 360도 비디오 데이터가 프로젝션된 2D 이미지가 나누어진 영역을 의미할 수 있다. 상기 리전은 페이스(face) 또는 타일(tile)에 대응될 수도 있다. 이 리전들은, 실시예에 따라, 2D 이미지를 균등하게 나누어 구분되거나, 임의로 나누어져 구분될 수 있다. 또한 실시예에 따라 리전들은, 프로젝션 스킴에 따라 구분될 수도 있다. Also, in the projection process, a process of dividing the video data projected on the 2D image into regions and applying the process may be applied. Here, a region may mean a region in which a 2D image in which 360-degree video data is projected is divided. The region may correspond to a face or a tile. According to the embodiment, these regions can be divided into 2D images evenly divided or arbitrarily divided. Also, according to the embodiment, the regions may be classified according to the projection scheme.
실시예에 따라 이 처리 과정은, 비디오 코딩 효율을 높이기 위해, 각 리전을 회전한다거나 2D 이미지 상에서 재배열하는 과정을 포함할 수 있다. 예를 들어, 리전들을 회전하여 리전들의 특정 변들이 서로 근접하여 위치되도록 함으로써, 코딩 시의 효율이 높아지게 할 수 있다. According to an embodiment, the processing may include rotating each region or reordering on a 2D image to enhance video coding efficiency. For example, by rotating the regions so that certain sides of the regions are located close to each other, the coding efficiency can be increased.
실시예에 따라 이 처리 과정은, 360도 비디오상의 영역별로 레졸루션(resolution) 을 차등화하기 위하여, 특정 리전에 대한 레졸루션을 높인다거나, 낮추는 과정을 포함할 수 있다. 예를 들어, 360도 비디오 상에서 상대적으로 더 중요한 영역에 해당하는 리전들은, 다른 리전들보다 레졸루션을 높게 할 수 있다. 2D 이미지 상에 프로젝션된 비디오 데이터는 비디오 코덱을 통한 인코딩 과정을 거칠 수 있다. According to an embodiment, the process may include raising or lowering the resolution for a particular region to differentiate resolution by region on a 360 degree video. For example, regions that are relatively more important in 360-degree video can have a higher resolution than other regions. The video data projected on the 2D image may be encoded through a video codec.
실시예에 따라 준비 과정은 부가적으로 에디팅(editing) 과정 등을 더 포함할 수 있다. 이 에디팅 과정에서 프로젝션 전후의 이미지/비디오 데이터들에 대한 편집 등이 더 수행될 수 있다. 준비 과정에서도 마찬가지로, 스티칭/프로젝션/인코딩/에디팅 등에 대한 메타데이터가 생성될 수 있다. 또한 2D 이미지 상에 프로젝션된 비디오 데이터들의 초기 시점, 혹은 ROI (Region of Interest) 등에 관한 메타데이터가 생성될 수 있다.According to the embodiment, the preparation process may further include an editing process and the like. In this editing process, editing of image / video data before and after projection can be further performed. Likewise in the preparation process, metadata for stitching / projection / encoding / editing can be generated. Also, meta data regarding the initial point of time of the video data projected on the 2D image, the ROI (Region of Interest), and the like can be generated.
전송 과정은 준비 과정을 거친 이미지/비디오 데이터 및 메타데이터들을 처리하여 전송하는 과정일 수 있다. 전송을 위해 임의의 전송 프로토콜에 따른 처리가 수행될 수 있다. 전송을 위한 처리를 마친 데이터들은 방송망 및/또는 브로드밴드를 통해 전달될 수 있다. 이 데이터들은 온 디맨드(On Demand) 방식으로 수신측으로 전달될 수도 있다. 수신측에서는 다양한 경로를 통해 해당 데이터를 수신할 수 있다. The transmission process may be a process of processing the prepared image / video data and metadata and transmitting the processed image / video data and metadata. Processing according to any transmission protocol can be performed for transmission. The processed data for transmission may be transmitted over the broadcast network and / or broadband. These data may be delivered to the receiving side on an on-demand basis. The receiving side can receive the corresponding data through various paths.
프로세싱 과정은 수신한 데이터를 디코딩하고, 프로젝션되어 있는 이미지/비디오 데이터를 3D 모델 상에 리-프로젝션(Re-projection) 하는 과정을 의미할 수 있다. 이 과정에서 2D 이미지들 상에 프로젝션되어 있는 이미지/비디오 데이터가 3D 공간 상으로 리-프로젝션될 수 있다. 이 과정을 문맥에 따라 맵핑, 프로젝션이라고 부를 수도 있다. 이 때 맵핑되는 3D 공간은 3D 모델에 따라 다른 형태를 가질 수 있다. 예를 들어 3D 모델에는 구형(Sphere), 큐브(Cube), 실린더(Cylinder) 또는 피라미드(Pyramid) 가 있을 수 있다. The processing may be a process of decoding the received data and re-projecting the projected image / video data on the 3D model. In this process, the image / video data projected on the 2D images can be re-projected onto the 3D space. This process can be called mapping, projection, depending on the context. The 3D space mapped at this time may have a different shape depending on the 3D model. For example, a 3D model may have a sphere, a cube, a cylinder, or a pyramid.
실시예에 따라 프로세싱 과정은 부가적으로 에디팅(editing) 과정, 업 스케일링(up scaling) 과정 등을 더 포함할 수 있다. 이 에디팅 과정에서 리-프로젝션 전후의 이미지/비디오 데이터에 대한 편집 등이 더 수행될 수 있다. 이미지/비디오 데이터가 축소되어 있는 경우 업 스케일링 과정에서 샘플들의 업 스케일링을 통해 그 크기를 확대할 수 있다. 필요한 경우, 다운 스케일링을 통해 사이즈를 축소하는 작업이 수행될 수도 있다. According to an exemplary embodiment, the processing may further include an editing process, an up scaling process, and the like. In this editing process, editing of image / video data before and after re-projection can be further performed. If the image / video data is scaled down, it can be enlarged by upscaling the samples during upscaling. If necessary, an operation of reducing the size through downscaling may be performed.
렌더링 과정은 3D 공간상에 리-프로젝션된 이미지/비디오 데이터를 렌더링하고 디스플레이하는 과정을 의미할 수 있다. 표현에 따라 리-프로젝션과 렌더링을 합쳐 3D 모델 상에 렌더링한다 라고 표현할 수도 있다. 3D 모델 상에 리-프로젝션된 (또는 3D 모델 상으로 렌더링된) 이미지/비디오는 도시된 도 1의 (130)과 같은 형태를 가질 수 있다. 도시된 도 1의 (130)은 구형(Sphere) 의 3D 모델에 리-프로젝션된 경우이다. 사용자는 VR 디스플레이 등을 통하여 렌더링된 이미지/비디오의 일부 영역을 볼 수 있다. 이 때 사용자가 보게 되는 영역은 도시된 도 1의 (140)과 같은 형태일 수 있다. The rendering process may refer to the process of rendering and displaying the re-projected image / video data on the 3D space. It can also be expressed that the re-projection and the rendering are combined according to the representation and rendered on the 3D model. The image / video that is re-projected (or rendered on the 3D model) on the 3D model may have the form of (130) shown in FIG. 1 (130) is a case where the projection is re-projected onto a 3D model of a sphere. The user can view some areas of the rendered image / video through the VR display or the like. In this case, the area viewed by the user may be the same as 140 shown in FIG.
피드백 과정은 디스플레이 과정에서 획득될 수 있는 다양한 피드백 정보들을 송신측으로 전달하는 과정을 의미할 수 있다. 피드백 과정을 통해 360도 비디오 소비에 있어 인터랙티비티(Interactivity) 가 제공될 수 있다. 실시예에 따라, 피드백 과정에서 헤드 오리엔테이션(Head Orientation) 정보, 사용자가 현재 보고 있는 영역을 나타내는 뷰포트(Viewport) 정보 등이 송신측으로 전달될 수 있다. 실시예에 따라, 사용자는 VR 환경 상에 구현된 것들과 상호작용할 수도 있는데, 이 경우 그 상호작용과 관련된 정보가 피드백 과정에서 송신측 내지 서비스 프로바이더 측으로 전달될 수도 있다. 실시예에 따라 피드백 과정은 수행되지 않을 수도 있다.The feedback process may be a process of transmitting various feedback information that can be obtained in the display process to the transmitting side. The feedback process can provide interactivity in 360 degree video consumption. According to the embodiment, Head Orientation information in the feedback process, Viewport information indicating the area currently viewed by the user, and the like can be transmitted to the sender. Depending on the embodiment, the user may interact with those implemented in the VR environment, in which case the information associated with that interaction may be conveyed from the sender to the service provider side in the feedback process. Depending on the embodiment, the feedback process may not be performed.
헤드 오리엔테이션 정보는 사용자의 머리 위치, 각도, 움직임 등에 대한 정보를 의미할 수 있다. 이 정보를 기반으로 사용자가 현재 360도 비디오 내에서 보고 있는 영역에 대한 정보, 즉 뷰포트 정보가 계산될 수 있다. The head orientation information may mean information about a user's head position, angle, motion, and the like. Based on this information, information about the area that the user is currently viewing within the 360 degree video, i.e. viewport information, can be calculated.
뷰포트 정보는 현재 사용자가 360도 비디오에서 보고 있는 영역에 대한 정보일 수 있다. 이를 통해 게이즈 분석(Gaze Analysis) 이 수행되어, 사용자가 어떠한 방식으로 360도 비디오를 소비하는지, 360도 비디오의 어느 영역을 얼마나 응시하는지 등을 확인할 수도 있다. 게이즈 분석은 수신측에서 수행되어 송신측으로 피드백 채널을 통해 전달될 수도 있다. VR 디스플레이 등의 장치는 사용자의 머리 위치/방향, 장치가 지원하는 수직(vertical) 혹은 수평(horizontal) FOV(Field Of View) 정보 등에 근거하여 뷰포트 영역을 추출할 수 있다. The viewport information may be information about an area that the current user is viewing in a 360 degree video. This allows a Gaze Analysis to be performed to see how the user consumes 360 degrees of video, what area of the 360 degree video is staring, and so on. The Gaussian analysis may be performed on the receiving side and delivered via the feedback channel to the transmitting side. A device such as a VR display can extract a viewport area based on a user's head position / direction, vertical or horizontal FOV (field of view) information supported by the device, and the like.
실시예에 따라, 전술한 피드백 정보는 송신측으로 전달되는 것뿐 아니라, 수신측에서 소비될 수도 있다. 즉, 전술한 피드백 정보를 이용하여 수신측의 디코딩, 리-프로젝션, 렌더링 과정 등이 수행될 수 있다. 예를 들어, 헤드 오리엔테이션 정보 및/또는 뷰포트 정보를 이용하여 현재 사용자가 보고 있는 영역에 대한 360도 비디오만 우선적으로 디코딩 및 렌더링될 수도 있다.According to the embodiment, the above-described feedback information may be consumed not only at the transmitting side but also at the receiving side. That is, decoding, re-projection, and rendering processes on the receiving side can be performed using the above-described feedback information. For example, only the 360 degree video for the area that the current user is viewing may be preferentially decoded and rendered using head orientation information and / or viewport information.
여기서 뷰포트(viewport) 내지 뷰포트 영역이란, 사용자가 360도 비디오에서 보고 있는 영역을 의미할 수 있다. 시점(viewpoint) 는 사용자가 360도 비디오에서 보고 있는 지점으로서, 뷰포트 영역의 정중앙 지점을 의미할 수 있다. 즉, 뷰포트는 시점을 중심으로 한 영역인데, 그 영역이 차지하는 크기 형태 등은 후술할 FOV(Field Of View) 에 의해 결정될 수 있다. Here, the viewport or viewport area may refer to an area viewed by a user in a 360-degree video. A viewpoint is a point that a user is viewing in a 360 degree video, which may mean a center point of the viewport area. That is, the viewport is a region around the viewpoint, and the size and the size occupied by the viewport can be determined by the FOV (Field Of View) described later.
전술한 360도 비디오 제공을 위한 전체 아키텍처 내에서, 캡처/프로젝션/인코딩/전송/디코딩/리-프로젝션/렌더링의 일련의 과정을 거치게 되는 이미지/비디오 데이터들을 360도 비디오 데이터라 부를 수 있다. 360도 비디오 데이터라는 용어는 또한 이러한 이미지/비디오 데이터들과 관련되는 메타데이터 내지 시그널링 정보를 포함하는 개념으로 쓰일 수도 있다. Image / video data that undergoes a series of processes of capture / projection / encoding / transmission / decoding / re-projection / rendering within the overall architecture for providing 360-degree video may be called 360-degree video data. The term 360-degree video data may also be used to include metadata or signaling information associated with such image / video data.
도 2는 인코딩 장치 및 디코딩 장치에서의 360도 비디오의 처리 과정을 예시적으로 나타낸다. 도 2의 (a)는 인코딩 장치에 의하여 수행되는 입력된 360도 비디오 데이터의 처리 과정을 나타낼 수 있다. 도 2의 (a)를 참조하면 프로젝션 처리부(210)는 입력된 시점의 360도 비디오 데이터를 다양한 프로젝션 스킴(projection scheme)에 따라서 3D 프로젝션 구조에 스티칭 및 프로젝션할 수 있고, 상기 3D 프로젝션 구조에 프로젝션된 360도 비디오 데이터를 2D 이미지로 나타낼 수 있다. 즉, 프로젝션 처리부(210)는 상기 360도 비디오 데이터를 스티칭할 수 있고, 상기 2D 이미지로 프로젝션할 수 있다. 여기서, 프로젝션 스킴은 프로젝션 타입(projection type)이라고 불릴 수 있다. 상기 360도 비디오 데이터가 프로젝션된 2D 이미지는 프로젝션된 프레임(projected frame) 또는 프로젝션된 픽처(projected picture)라고 나타낼 수 있다. 상기 프로젝션된 픽처는 프로젝션 타입에 따라 복수의 페이스(face)들로 나뉘어질 수 있다. 상기 페이스는 타일(tile)에 대응할 수 있다. 특정 프로젝션 타입에 따라 프로젝션된 픽처 내 복수의 페이스들은 동일한 사이즈 및 형태(예를 들어, 삼각형 또는 사각형)일 수 있다. 또한, 프로젝션 타입에 따라 프로젝션된 픽처 내 페이스의 사이즈 및 형태는 다를 수 있다. 프로젝션 처리부(210)는 상기 프로젝션된 픽처의 각 리전들을 회전, 재배열하거나, 각 리전의 레졸루션을 변경하는 등의 처리를 수행할 수 있다. 인코딩 장치(220)는 상기 프로젝션된 픽처에 대한 정보를 인코딩하여 비트스트림을 통하여 출력할 수 있다. 인코딩 장치(220)에 의한 상기 프로젝션된 픽처를 인코딩하는 과정은 도 3에 대한 설명에서 구체적으로 후술한다. 한편, 상기 프로젝션 처리부(210)는 상기 인코딩 장치에 포함될 수 있고, 또는 외부의 장치를 통하여 상기 프로젝션 과정이 수행될 수도 있다.FIG. 2 illustrates an exemplary processing of 360-degree video in the encoding apparatus and the decoding apparatus. FIG. 2 (a) illustrates processing of input 360-degree video data performed by the encoding apparatus. Referring to FIG. 2A, the projection processing unit 210 can stitch and project 360-degree video data at the input time point into a 3D projection structure in accordance with various projection schemes, 360 degree video data can be represented as a 2D image. That is, the projection processing unit 210 can stitch the 360-degree video data, and can project the 2D image. Here, the projection scheme may be referred to as a projection type. The 2D image on which the 360 degree video data is projected may be referred to as a projected frame or a projected picture. The projected picture may be divided into a plurality of faces according to the projection type. The face may correspond to a tile. The plurality of paces in a projected picture according to a particular projection type may be the same size and shape (e.g., triangle or square). In addition, the size and shape of the in-picture face projected according to the projection type may be different. The projection processing unit 210 may perform processing such as rotating and rearranging the respective regions of the projected picture, and changing resolutions of the respective regions. The encoding device 220 may encode information on the projected picture and output the encoded information through a bitstream. The process of encoding the projected picture by the encoding device 220 will be described later in detail with reference to FIG. Meanwhile, the projection processing unit 210 may be included in the encoding apparatus, or the projection process may be performed through an external apparatus.
도 2의 (a)는 디코딩 장치에 의하여 수행되는 360도 비디오 데이터에 관한 프로젝션된 픽처에 대한 정보의 처리 과정을 나타낼 수 있다. 상기 프로젝션된 픽처에 대한 정보는 비트스트림을 통하여 수신될 수 있다. FIG. 2A illustrates processing of information on the projected picture with respect to 360-degree video data performed by the decoding apparatus. Information on the projected picture may be received through a bitstream.
디코딩 장치(250)는 상기 수신된 프로젝션 픽처에 대한 정보를 기반으로 상기 프로젝션 픽처를 디코딩할 수 있다. 디코딩 장치(250)에 의한 상기 프로젝션된 픽처를 디코딩하는 과정은 도 4에 대한 설명에서 구체적으로 후술한다. The decoding apparatus 250 may decode the projection picture based on the information on the received projection picture. The process of decoding the projected picture by the decoding apparatus 250 will be described later in detail with reference to FIG.
리-프로젝션(re-projection) 처리부(260)는 상기 디코딩 과정을 통하여 도출된 프로젝션된 픽처에 프로젝션되어 있는 360도 비디오 데이터를 3D 모델 상에 리-프로젝션(Re-projection)할 수 있다. 상기 리-프로젝션 처리부(260)는 상기 프로젝션 처리부와 대응할 수 있다. 이 과정에서 상기 프로젝션된 픽처 상에 프로젝션되어 있는 360도 비디오 데이터가 3D 공간 상으로 리-프로젝션될 수 있다. 이 과정을 문맥에 따라 맵핑, 프로젝션이라고 부를 수도 있다. 이 때 맵핑되는 3D 공간은 3D 모델에 따라 다른 형태를 가질 수 있다. 예를 들어 3D 모델에는 구형(Sphere), 큐브(Cube), 실린더(Cylinder) 또는 피라미드(Pyramid) 가 있을 수 있다. 한편, 상기 리-프로젝션 처리부(260)는 디코딩 장치(250)에 포함될 수 있고, 또는 외부의 장치를 통하여 상기 리-프로젝션 과정이 수행될 수도 있다. 리-프로젝션된 360도 비디오 데이터는 3D 공간상에 렌더링될 수 있다. The re-projection processing unit 260 can re-project 360-degree video data projected on the projected picture derived through the decoding process on the 3D model. The re-projection processing unit 260 may correspond to the projection processing unit. In this process, the 360-degree video data projected on the projected picture can be re-projected onto the 3D space. This process can be called mapping, projection, depending on the context. The 3D space mapped at this time may have a different shape depending on the 3D model. For example, a 3D model may have a sphere, a cube, a cylinder, or a pyramid. The re-projection processing unit 260 may be included in the decoding device 250, or the re-projection process may be performed through an external device. The re-projected 360 degree video data can be rendered on 3D space.
도 3은 본 발명이 적용될 수 있는 비디오 인코딩 장치의 구성을 개략적으로 설명하는 도면이다. FIG. 3 is a view for schematically explaining a configuration of a video encoding apparatus to which the present invention can be applied.
도 3을 참조하면, 비디오 인코딩 장치(300)는 픽처 분할부(305), 예측부(310), 레지듀얼 처리부(320), 엔트로피 인코딩부(330), 가산부(340), 필터부(350) 및 메모리(360)을 포함할 수 있다. 레지듀얼 처리부(320)는 감산부(321), 변환부(322), 양자화부(323), 재정렬부(324), 역양자화부(325) 및 역변환부(326)를 포함할 수 있다. 3, the video encoding apparatus 300 includes a picture dividing unit 305, a predicting unit 310, a residual processing unit 320, an entropy encoding unit 330, an adding unit 340, a filter unit 350 And a memory 360. The memory 360 may be a memory. The residual processing unit 320 may include a subtracting unit 321, a transforming unit 322, a quantizing unit 323, a reordering unit 324, an inverse quantizing unit 325, and an inverse transforming unit 326.
픽처 분할부(305)는 입력된 픽처를 적어도 하나의 처리 유닛(processing unit)으로 분할할 수 있다. The picture dividing unit 305 may divide the inputted picture into at least one processing unit.
일 예로, 처리 유닛은 코딩 유닛(coding unit, CU)이라고 불릴 수 있다. 이 경우 코딩 유닛은 최대 코딩 유닛(largest coding unit, LCU)으로부터 QTBT (Quad-tree binary-tree) 구조에 따라 재귀적으로(recursively) 분할될 수 있다. 예를 들어, 하나의 코딩 유닛은 쿼드 트리 구조 및/또는 바이너리 트리 구조를 기반으로 하위(deeper) 뎁스의 복수의 코딩 유닛들로 분할될 수 있다. 이 경우 예를 들어 쿼드 트리 구조가 먼저 적용되고 바이너리 트리 구조가 나중에 적용될 수 있다. 또는 바이너리 트리 구조가 먼저 적용될 수도 있다. 더 이상 분할되지 않는 최종 코딩 유닛을 기반으로 본 발명에 따른 코딩 절차가 수행될 수 있다. 이 경우 영상 특성에 따른 코딩 효율 등을 기반으로, 최대 코딩 유닛이 바로 최종 코딩 유닛으로 사용될 수 있고, 또는 필요에 따라 코딩 유닛은 재귀적으로(recursively) 보다 하위 뎁스의 코딩 유닛들로 분할되어 최적의 사이즈의 코딩 유닛이 최종 코딩 유닛으로 사용될 수 있다. 여기서 코딩 절차라 함은 후술하는 예측, 변환, 및 복원 등의 절차를 포함할 수 있다. In one example, the processing unit may be referred to as a coding unit (CU). In this case, the coding unit may be recursively partitioned according to a quad-tree binary-tree (QTBT) structure from the largest coding unit (LCU). For example, one coding unit may be divided into a plurality of coding units of deeper depth based on a quadtree structure and / or a binary tree structure. In this case, for example, the quadtree structure is applied first and the binary tree structure can be applied later. Or a binary tree structure may be applied first. The coding procedure according to the present invention can be performed based on the final coding unit which is not further divided. In this case, the maximum coding unit may be directly used as the final coding unit based on the coding efficiency or the like depending on the image characteristics, or the coding unit may be recursively divided into lower-depth coding units Lt; / RTI > may be used as the final coding unit. Here, the coding procedure may include a procedure such as prediction, conversion, and restoration, which will be described later.
다른 예로, 처리 유닛은 코딩 유닛(coding unit, CU) 예측 유닛(prediction unit, PU) 또는 변환 유닛(transform unit, TU)을 포함할 수도 있다. 코딩 유닛은 최대 코딩 유닛(largest coding unit, LCU)으로부터 쿼드 트리 구조를 따라서 하위(deeper) 뎁스의 코딩 유닛들로 분할(split)될 수 있다. 이 경우 영상 특성에 따른 코딩 효율 등을 기반으로, 최대 코딩 유닛이 바로 최종 코딩 유닛으로 사용될 수 있고, 또는 필요에 따라 코딩 유닛은 재귀적으로(recursively) 보다 하위 뎁스의 코딩 유닛들로 분할되어 최적의 사이즈의 코딩 유닛이 최종 코딩 유닛으로 사용될 수 있다. 최소 코딩 유닛(smallest coding unit, SCU)이 설정된 경우 코딩 유닛은 최소 코딩 유닛보다 더 작은 코딩 유닛으로 분할될 수 없다. 여기서 최종 코딩 유닛이라 함은 예측 유닛 또는 변환 유닛으로 파티셔닝 또는 분할되는 기반이 되는 코딩 유닛을 의미한다. 예측 유닛은 코딩 유닛으로부터 파티셔닝(partitioning)되는 유닛으로서, 샘플 예측의 유닛일 수 있다. 이 때, 예측 유닛은 서브 블록(sub block)으로 나뉠 수도 있다. 변환 유닛은 코딩 유닛으로부터 쿼드 트리 구조를 따라서 분할 될 수 있으며, 변환 계수를 유도하는 유닛 및/또는 변환 계수로부터 레지듀얼 신호(residual signal)를 유도하는 유닛일 수 있다. 이하, 코딩 유닛은 코딩 블록(coding block, CB), 예측 유닛은 예측 블록(prediction block, PB), 변환 유닛은 변환 블록(transform block, TB) 으로 불릴 수 있다. 예측 블록 또는 예측 유닛은 픽처 내에서 블록 형태의 특정 영역을 의미할 수 있고, 예측 샘플의 어레이(array)를 포함할 수 있다. 또한, 변환 블록 또는 변환 유닛은 픽처 내에서 블록 형태의 특정 영역을 의미할 수 있고, 변환 계수 또는 레지듀얼 샘플의 어레이를 포함할 수 있다.As another example, the processing unit may include a coding unit (CU) prediction unit (PU) or a transform unit (TU). The coding unit may be split from the largest coding unit (LCU) into coding units of deeper depth along the quad tree structure. In this case, the maximum coding unit may be directly used as the final coding unit based on the coding efficiency or the like depending on the image characteristics, or the coding unit may be recursively divided into lower-depth coding units Lt; / RTI > may be used as the final coding unit. When a smallest coding unit (SCU) is set, the coding unit can not be divided into smaller coding units than the minimum coding unit. Herein, the term " final coding unit " means a coding unit on which the prediction unit or the conversion unit is partitioned or divided. A prediction unit is a unit that is partitioned from a coding unit, and may be a unit of sample prediction. At this time, the prediction unit may be divided into sub-blocks. The conversion unit may be divided along the quad-tree structure from the coding unit, and may be a unit for deriving a conversion coefficient and / or a unit for deriving a residual signal from the conversion factor. Hereinafter, the coding unit may be referred to as a coding block (CB), the prediction unit may be referred to as a prediction block (PB), and the conversion unit may be referred to as a transform block (TB). The prediction block or prediction unit may refer to a specific area in the form of a block in a picture and may include an array of prediction samples. Also, a transform block or transform unit may refer to a specific region in the form of a block within a picture, and may include an array of transform coefficients or residual samples.
예측부(310)는 처리 대상 블록(이하, 현재 블록이라 함)에 대한 예측을 수행하고, 상기 현재 블록에 대한 예측 샘플들을 포함하는 예측된 블록(predicted block)을 생성할 수 있다. 예측부(310)에서 수행되는 예측의 단위는 코딩 블록일 수 있고, 변환 블록일 수도 있고, 예측 블록일 수도 있다.The prediction unit 310 may perform a prediction on a current block to be processed (hereinafter, referred to as a current block), and may generate a predicted block including prediction samples for the current block. The unit of prediction performed in the prediction unit 310 may be a coding block, a transform block, or a prediction block.
예측부(310)는 현재 블록에 인트라 예측이 적용되는지 인터 예측이 적용되는지를 결정할 수 있다. 일 예로, 예측부(310)는 CU 단위로 인트라 예측 또는 인터 예측이 적용되는지를 결정할 수 있다.The prediction unit 310 may determine whether intra prediction or inter prediction is applied to the current block. For example, the prediction unit 310 may determine whether intra prediction or inter prediction is applied in units of CU.
인트라 예측의 경우에, 예측부(310)는 현재 블록이 속하는 픽처(이하, 현재 픽처) 내의 현재 블록 외부의 참조 샘플을 기반으로 현재 블록에 대한 예측 샘플을 유도할 수 있다. 이 때, 예측부(310)는 (i) 현재 블록의 주변(neighboring) 참조 샘플들의 평균(average) 혹은 인터폴레이션(interpolation)을 기반으로 예측 샘플을 유도할 수 있고, (ii) 현재 블록의 주변 참조 샘플들 중 예측 샘플에 대하여 특정 (예측) 방향에 존재하는 참조 샘플을 기반으로 상기 예측 샘플을 유도할 수도 있다. (i)의 경우는 비방향성 모드 또는 비각도 모드, (ii)의 경우는 방향성(directional) 모드 또는 각도(angular) 모드라고 불릴 수 있다. 인트라 예측에서 예측 모드는 예를 들어 33개의 방향성 예측 모드와 적어도 2개 이상의 비방향성 모드를 가질 수 있다. 비방향성 모드는 DC 예측 모드 및 플래너 모드(Planar 모드)를 포함할 수 있다. 예측부(310)는 주변 블록에 적용된 예측 모드를 이용하여, 현재 블록에 적용되는 예측 모드를 결정할 수도 있다.In the case of intraprediction, the prediction unit 310 may derive a prediction sample for a current block based on a reference sample outside the current block in a picture to which the current block belongs (hereinafter referred to as a current picture). At this time, the predicting unit 310 may derive a prediction sample based on (i) an average or interpolation of neighboring reference samples of the current block, (ii) The prediction sample may be derived based on a reference sample existing in a specific (prediction) direction with respect to the prediction sample among the samples. (i) may be referred to as a non-directional mode or a non-angle mode, and (ii) may be referred to as a directional mode or an angular mode. In the intra prediction, the prediction mode may have, for example, 33 directional prediction modes and at least two non-directional modes. The non-directional mode may include a DC prediction mode and a planar mode (Planar mode). The prediction unit 310 may determine the prediction mode applied to the current block using the prediction mode applied to the neighboring block.
인터 예측의 경우에, 예측부(310)는 참조 픽처 상에서 움직임 벡터에 의해 특정되는 샘플을 기반으로, 현재 블록에 대한 예측 샘플을 유도할 수 있다. 예측부(310)는 스킵(skip) 모드, 머지(merge) 모드, 및 MVP(motion vector prediction) 모드 중 어느 하나를 적용하여 현재 블록에 대한 예측 샘플을 유도할 수 있다. 스킵 모드와 머지 모드의 경우에, 예측부(310)는 주변 블록의 움직임 정보를 현재 블록의 움직임 정보로 이용할 수 있다. 스킵 모드의 경우, 머지 모드와 달리 예측 샘플과 원본 샘플 사이의 차(레지듀얼)가 전송되지 않는다. MVP 모드의 경우, 주변 블록의 움직임 벡터를 움직임 벡터 예측자(Motion Vector Predictor)로 이용하여 현재 블록의 움직임 벡터 예측자로 이용하여 현재 블록의 움직임 벡터를 유도할 수 있다.In the case of inter prediction, the prediction unit 310 may derive a prediction sample for a current block based on a sample specified by a motion vector on a reference picture. The prediction unit 310 may apply a skip mode, a merge mode, or a motion vector prediction (MVP) mode to derive a prediction sample for a current block. In the skip mode and the merge mode, the prediction unit 310 can use motion information of a neighboring block as motion information of a current block. In the skip mode, difference (residual) between the predicted sample and the original sample is not transmitted unlike the merge mode. In the MVP mode, a motion vector of a current block can be derived by using a motion vector of a neighboring block as a motion vector predictor to use as a motion vector predictor of a current block.
인터 예측의 경우에, 주변 블록은 현재 픽처 내에 존재하는 공간적 주변 블록(spatial neighboring block)과 참조 픽처(reference picture)에 존재하는 시간적 주변 블록(temporal neighboring block)을 포함할 수 있다. 상기 시간적 주변 블록을 포함하는 참조 픽처는 동일 위치 픽처(collocated picture, colPic)라고 불릴 수도 있다. 움직임 정보(motion information)는 움직임 벡터와 참조 픽처 인덱스를 포함할 수 있다. 예측 모드 정보와 움직임 정보 등의 정보는 (엔트로피) 인코딩되어 비트스트림 형태로 출력될 수 있다.In the case of inter prediction, a neighboring block may include a spatial neighboring block existing in a current picture and a temporal neighboring block existing in a reference picture. The reference picture including the temporal neighboring block may be referred to as a collocated picture (colPic). The motion information may include a motion vector and a reference picture index. Information such as prediction mode information and motion information may be (entropy) encoded and output in the form of a bit stream.
스킵 모드와 머지 모드에서 시간적 주변 블록의 움직임 정보가 이용되는 경우에, 참조 픽처 리스트(reference picture list) 상의 최상위 픽처가 참조 픽처로서 이용될 수도 있다. 참조 픽처 리스트(Picture Order Count)에 포함되는 참조 픽처들은 현재 픽처와 해당 참조 픽처 간의 POC(Picture order count) 차이 기반으로 정렬될 수 있다. POC는 픽처의 디스플레이 순서에 대응하며, 코딩 순서와 구분될 수 있다.When the motion information of the temporal neighboring blocks is used in the skip mode and the merge mode, the highest picture on the reference picture list may be used as a reference picture. The reference pictures included in the picture order count can be sorted on the basis of the picture order count (POC) difference between the current picture and the corresponding reference picture. The POC corresponds to the display order of the pictures and can be distinguished from the coding order.
감산부(321)는 원본 샘플과 예측 샘플 간의 차이인 레지듀얼 샘플을 생성한다. 스킵 모드가 적용되는 경우에는, 상술한 바와 같이 레지듀얼 샘플을 생성하지 않을 수 있다.The subtractor 321 generates a residual sample which is a difference between the original sample and the predicted sample. When the skip mode is applied, a residual sample may not be generated as described above.
변환부(322)는 변환 블록 단위로 레지듀얼 샘플을 변환하여 변환 계수(transform coefficient)를 생성한다. 변환부(322)는 해당 변환 블록의 사이즈와, 해당 변환 블록과 공간적으로 겹치는 코딩 블록 또는 예측 블록에 적용된 예측 모드에 따라서 변환을 수행할 수 있다. 예컨대, 상기 변환 블록과 겹치는 상기 코딩 블록 또는 상기 예측 블록에 인트라 예측이 적용되었고, 상기 변환 블록이 4×4의 레지듀얼 어레이(array)라면, 레지듀얼 샘플은 DST(Discrete Sine Transform) 변환 커널을 이용하여 변환되고, 그 외의 경우라면 레지듀얼 샘플은 DCT(Discrete Cosine Transform) 변환 커널을 이용하여 변환할 수 있다.The transforming unit 322 transforms the residual samples on a transform block basis to generate a transform coefficient. The transforming unit 322 can perform the transform according to the size of the transform block and the prediction mode applied to the coding block or the prediction block spatially overlapping the transform block. For example, if intraprediction is applied to the coding block or the prediction block that overlaps the transform block and the transform block is a 4 × 4 residue array, the residual sample is transformed into a discrete sine transform (DST) In other cases, the residual samples can be converted using a DCT (Discrete Cosine Transform) conversion kernel.
양자화부(323)는 변환 계수들을 양자화하여, 양자화된 변환 계수를 생성할 수 있다.The quantization unit 323 may quantize the transform coefficients to generate quantized transform coefficients.
재정렬부(324)는 양자화된 변환 계수를 재정렬한다. 재정렬부(324)는 계수들 스캐닝(scanning) 방법을 통해 블록 형태의 양자화된 변환 계수들을 1차원 벡터 형태로 재정렬할 수 있다. 여기서 재정렬부(324)는 별도의 구성으로 설명하였으나, 재정렬부(324)는 양자화부(323)의 일부일 수 있다.The reordering unit 324 rearranges the quantized transform coefficients. The reordering unit 324 can rearrange the block-shaped quantized transform coefficients into a one-dimensional vector form through a scanning method of coefficients. The rearrangement unit 324 may be a part of the quantization unit 323, although the rearrangement unit 324 has been described as an alternative configuration.
엔트로피 인코딩부(330)는 양자화된 변환 계수들에 대한 엔트로피 인코딩을 수행할 수 있다. 엔트로피 인코딩은 예를 들어 지수 골롬(exponential Golomb), CAVLC(context-adaptive variable length coding), CABAC(context-adaptive binary arithmetic coding) 등과 같은 인코딩 방법을 포함할 수 있다. 엔트로피 인코딩부(330)는 양자화된 변환 계수 외 비디오 복원에 필요한 정보들(예컨대 신택스 요소(syntax element)의 값 등)을 함께 또는 별도로 인코딩할 수도 있다. 엔트로피 인코딩된 정보들은 비트스트림 형태로 NAL(network abstraction layer) 유닛 단위로 전송 또는 저장될 수 있다.The entropy encoding unit 330 may perform entropy encoding on the quantized transform coefficients. Entropy encoding may include, for example, an encoding method such as exponential Golomb, context-adaptive variable length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC) The entropy encoding unit 330 may encode the information necessary for video restoration (e.g., the value of a syntax element, etc.) besides the quantized transform coefficients separately or separately. The entropy encoded information may be transmitted or stored in units of NAL (network abstraction layer) units in the form of a bit stream.
역양자화부(325)는 양자화부(323)에서 양자화된 값(양자화된 변환 계수)들을 역양자화하고, 역변환부(326)는 역양자화부(325)에서 역양자화된 값들을 역변환하여 레지듀얼 샘플을 생성한다.The inverse quantization unit 325 inversely quantizes the quantized values (quantized transform coefficients) in the quantization unit 323 and the inverse transformation unit 326 inversely transforms the inversely quantized values in the inverse quantization unit 325, .
가산부(340)는 레지듀얼 샘플과 예측 샘플을 합쳐서 픽처를 복원한다. 레지듀얼 샘플과 예측 샘플은 블록 단위로 더해져서 복원 블록이 생성될 수 있다. 여기서 가산부(340)는 별도의 구성으로 설명하였으나, 가산부(340)는 예측부(310)의 일부일 수 있다. 한편, 가산부(340)는 복원부 또는 복원 블록 생성부로 불릴 수도 있다.The adder 340 combines the residual sample and the predicted sample to reconstruct the picture. The residual samples and the prediction samples are added in units of blocks so that a reconstruction block can be generated. Here, the adder 340 may be part of the predicting unit 310, although the adder 340 has been described as an alternative configuration. Meanwhile, the addition unit 340 may be referred to as a restoration unit or a restoration block generation unit.
복원된 픽처(reconstructed picture)에 대하여 필터부(350)는 디블록킹 필터 및/또는 샘플 적응적 오프셋(sample adaptive offset)을 적용할 수 있다. 디블록킹 필터링 및/또는 샘플 적응적 오프셋을 통해, 복원 픽처 내 블록 경계의 아티팩트나 양자화 과정에서의 왜곡이 보정될 수 있다. 샘플 적응적 오프셋은 샘플 단위로 적용될 수 있으며, 디블록킹 필터링의 과정이 완료된 후 적용될 수 있다. 필터부(350)는 ALF(Adaptive Loop Filter)를 복원된 픽처에 적용할 수도 있다. ALF는 디블록킹 필터 및/또는 샘플 적응적 오프셋이 적용된 후의 복원된 픽처에 대하여 적용될 수 있다.For the reconstructed picture, the filter unit 350 may apply a deblocking filter and / or a sample adaptive offset. Through deblocking filtering and / or sample adaptive offsets, artifacts in the block boundary in the reconstructed picture or distortion in the quantization process can be corrected. The sample adaptive offset can be applied on a sample-by-sample basis and can be applied after the process of deblocking filtering is complete. The filter unit 350 may apply an ALF (Adaptive Loop Filter) to the restored picture. The ALF may be applied to the reconstructed picture after the deblocking filter and / or sample adaptive offset is applied.
메모리(360)는 복원 픽처(디코딩된 픽처) 또는 인코딩/디코딩에 필요한 정보를 저장할 수 있다. 여기서 복원 픽처는 상기 필터부(350)에 의하여 필터링 절차가 완료된 복원 픽처일 수 있다. 상기 저장된 복원 픽처는 다른 픽처의 (인터) 예측을 위한 참조 픽처로 활용될 수 있다. 예컨대, 메모리(360)는 인터 예측에 사용되는 (참조) 픽처들을 저장할 수 있다. 이 때, 인터 예측에 사용되는 픽처들은 참조 픽처 세트(reference picture set) 혹은 참조 픽처 리스트(reference picture list)에 의해 지정될 수 있다.The memory 360 may store a reconstructed picture (decoded picture) or information necessary for encoding / decoding. Here, the reconstructed picture may be a reconstructed picture in which the filtering procedure has been completed by the filter unit 350. The stored restored picture may be used as a reference picture for (inter) prediction of another picture. For example, the memory 360 may store (reference) pictures used for inter prediction. At this time, the pictures used for inter prediction can be designated by a reference picture set or a reference picture list.
도 4는 본 발명이 적용될 수 있는 비디오 디코딩 장치의 구성을 개략적으로 설명하는 도면이다.FIG. 4 is a view for schematically explaining a configuration of a video decoding apparatus to which the present invention can be applied.
도 4를 참조하면, 비디오 디코딩 장치(400)는 엔트로피 디코딩부(410), 레지듀얼 처리부(420), 예측부(430), 가산부(440), 필터부(450) 및 메모리(460)을 포함할 수 있다. 여기서 레지듀얼 처리부(420)는 재정렬부(421), 역양자화부(422), 역변환부(423)을 포함할 수 있다. 4, the video decoding apparatus 400 includes an entropy decoding unit 410, a residual processing unit 420, a predicting unit 430, an adding unit 440, a filter unit 450, and a memory 460 . The residual processing unit 420 may include a rearrangement unit 421, an inverse quantization unit 422, and an inverse transformation unit 423.
비디오 정보를 포함하는 비트스트림이 입력되면, 비디오 디코딩 장치(400)는 비디오 인코딩 장치에서 비디오 정보가 처리된 프로세스에 대응하여 비디오를 복원할 수 있다.When a bitstream including video information is input, the video decoding apparatus 400 can restore video in response to a process in which video information is processed in the video encoding apparatus.
예컨대, 비디오 디코딩 장치(400)는 비디오 인코딩 장치에서 적용된 처리 유닛을 이용하여 비디오 디코딩을 수행할 수 있다. 따라서 비디오 디코딩의 처리 유닛 블록은 일 예로 코딩 유닛일 수 있고, 다른 예로 코딩 유닛, 예측 유닛 또는 변환 유닛일 수 있다. 코딩 유닛은 최대 코딩 유닛으로부터 쿼드 트리 구조 및/또는 바이너리 트리 구조를 따라서 분할될 수 있다. For example, the video decoding apparatus 400 may perform video decoding using a processing unit applied in the video encoding apparatus. Thus, the processing unit block of video decoding may be, for example, a coding unit and, in another example, a coding unit, a prediction unit or a conversion unit. The coding unit may be partitioned along the quad tree structure and / or the binary tree structure from the maximum coding unit.
예측 유닛 및 변환 유닛이 경우에 따라 더 사용될 수 있으며, 이 경우 예측 블록은 코딩 유닛으로부터 도출 또는 파티셔닝되는 블록으로서, 샘플 예측의 유닛일 수 있다. 이 때, 예측 유닛은 서브 블록으로 나뉠 수도 있다. 변환 유닛은 코딩 유닛으로부터 쿼드 트리 구조를 따라서 분할 될 수 있으며, 변환 계수를 유도하는 유닛 또는 변환 계수로부터 레지듀얼 신호를 유도하는 유닛일 수 있다. A prediction unit and a conversion unit may be further used as the case may be, in which case the prediction block is a block derived or partitioned from the coding unit and may be a unit of sample prediction. At this time, the prediction unit may be divided into sub-blocks. The conversion unit may be divided along the quad tree structure from the coding unit and may be a unit that derives the conversion factor or a unit that derives the residual signal from the conversion factor.
엔트로피 디코딩부(410)는 비트스트림을 파싱하여 비디오 복원 또는 픽처 복원에 필요한 정보를 출력할 수 있다. 예컨대, 엔트로피 디코딩부(410)는 지수 골롬 부호화, CAVLC 또는 CABAC 등의 코딩 방법을 기초로 비트스트림 내 정보를 디코딩하고, 비디오 복원에 필요한 신택스 엘리먼트의 값, 레지듀얼에 관한 변환 계수의 양자화된 값 들을 출력할 수 있다. The entropy decoding unit 410 may parse the bitstream and output information necessary for video restoration or picture restoration. For example, the entropy decoding unit 410 decodes information in a bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, and calculates a value of a syntax element necessary for video restoration, a quantized value Lt; / RTI >
보다 상세하게, CABAC 엔트로피 디코딩 방법은, 비트스트림에서 각 구문 요소에 해당하는 빈을 수신하고, 디코딩 대상 구문 요소 정보와 주변 및 디코딩 대상 블록의 디코딩 정보 혹은 이전 단계에서 디코딩된 심볼/빈의 정보를 이용하여 문맥(context) 모델을 결정하고, 결정된 문맥 모델에 따라 빈(bin)의 발생 확률을 예측하여 빈의 산술 디코딩(arithmetic decoding)를 수행하여 각 구문 요소의 값에 해당하는 심볼을 생성할 수 있다. 이때, CABAC 엔트로피 디코딩 방법은 문맥 모델 결정 후 다음 심볼/빈의 문맥 모델을 위해 디코딩된 심볼/빈의 정보를 이용하여 문맥 모델을 업데이트할 수 있다.More specifically, the CABAC entropy decoding method includes receiving a bean corresponding to each syntax element in a bitstream, decoding decoding target information of the decoding target syntax element, decoding information of a surrounding and decoding target block, or information of a symbol / A context model is determined and an occurrence probability of a bin is predicted according to the determined context model to perform arithmetic decoding of the bean to generate a symbol corresponding to the value of each syntax element have. At this time, the CABAC entropy decoding method can update the context model using the information of the decoded symbol / bin for the context model of the next symbol / bean after determining the context model.
엔트로피 디코딩부(410)에서 디코딩된 정보 중 예측에 관한 정보는 예측부(430)로 제공되고, 엔트로피 디코딩부(410)에서 엔트로피 디코딩이 수행된 레지듀얼 값, 즉 양자화된 변환 계수는 재정렬부(421)로 입력될 수 있다.Information about prediction in the information decoded by the entropy decoding unit 410 is provided to the predicting unit 430. The residual value in which the entropy decoding is performed in the entropy decoding unit 410, that is, the quantized transform coefficient, 421).
재정렬부(421)는 양자화되어 있는 변환 계수들을 2차원의 블록 형태로 재정렬할 수 있다. 재정렬부(421)는 인코딩 장치에서 수행된 계수 스캐닝에 대응하여 재정렬을 수행할 수 있다. 여기서 재정렬부(421)는 별도의 구성으로 설명하였으나, 재정렬부(421)는 역양자화부(422)의 일부일 수 있다.The reordering unit 421 may rearrange the quantized transform coefficients into a two-dimensional block form. The reordering unit 421 may perform reordering in response to the coefficient scanning performed in the encoding apparatus. The rearrangement unit 421 may be a part of the inverse quantization unit 422, although the rearrangement unit 421 has been described as an alternative configuration.
역양자화부(422)는 양자화되어 있는 변환 계수들을 (역)양자화 파라미터를 기반으로 역양자화하여 변환 계수를 출력할 수 있다. 이 때, 양자화 파라미터를 유도하기 위한 정보는 인코딩 장치로부터 시그널링될 수 있다.The inverse quantization unit 422 can dequantize the quantized transform coefficients based on the (inverse) quantization parameter, and output the transform coefficients. At this time, the information for deriving the quantization parameter may be signaled from the encoding device.
역변환부(423)는 변환 계수들을 역변환하여 레지듀얼 샘플들을 유도할 수 있다. The inverse transform unit 423 may invert the transform coefficients to derive the residual samples.
예측부(430)는 현재 블록에 대한 예측을 수행하고, 상기 현재 블록에 대한 예측 샘플들을 포함하는 예측된 블록(predicted block)을 생성할 수 있다. 예측부(430)에서 수행되는 예측의 단위는 코딩 블록일 수도 있고, 변환 블록일 수도 있고, 예측 블록일 수도 있다. The prediction unit 430 may predict a current block and may generate a predicted block including prediction samples of the current block. The unit of prediction performed by the prediction unit 430 may be a coding block, a transform block, or a prediction block.
예측부(430)는 상기 예측에 관한 정보를 기반으로 인트라 예측을 적용할 것인지 인터 예측을 적용할 것인지를 결정할 수 있다. 이 때, 인트라 예측과 인터 예측 중 어느 것을 적용할 것인지를 결정하는 단위와 예측 샘플을 생성하는 단위는 상이할 수 있다. 아울러, 인터 예측과 인트라 예측에 있어서 예측 샘플을 생성하는 단위 또한 상이할 수 있다. 예를 들어, 인터 예측과 인트라 예측 중 어느 것을 적용할 것인지는 CU 단위로 결정할 수 있다. 또한 예를 들어, 인터 예측에 있어서 PU 단위로 예측 모드를 결정하고 예측 샘플을 생성할 수 있고, 인트라 예측에 있어서 PU 단위로 예측 모드를 결정하고 TU 단위로 예측 샘플을 생성할 수도 있다. The prediction unit 430 may determine whether intra prediction or inter prediction is to be applied based on the prediction information. In this case, a unit for determining whether to apply intra prediction or inter prediction may differ from a unit for generating a prediction sample. In addition, units for generating prediction samples in inter prediction and intra prediction may also be different. For example, whether inter prediction or intra prediction is to be applied can be determined in units of CU. Also, for example, in the inter prediction, the prediction mode may be determined in units of PU to generate prediction samples. In intra prediction, a prediction mode may be determined in units of PU, and prediction samples may be generated in units of TU.
인트라 예측의 경우에, 예측부(430)는 현재 픽처 내의 주변 참조 샘플을 기반으로 현재 블록에 대한 예측 샘플을 유도할 수 있다. 예측부(430)는 현재 블록의 주변 참조 샘플을 기반으로 방향성 모드 또는 비방향성 모드를 적용하여 현재 블록에 대한 예측 샘플을 유도할 수 있다. 이 때, 주변 블록의 인트라 예측 모드를 이용하여 현재 블록에 적용할 예측 모드가 결정될 수도 있다. In the case of intraprediction, the prediction unit 430 may derive a prediction sample for the current block based on the neighbor reference samples in the current picture. The prediction unit 430 may derive a prediction sample for the current block by applying a directional mode or a non-directional mode based on the neighbor reference samples of the current block. In this case, a prediction mode to be applied to the current block may be determined using the intra prediction mode of the neighboring block.
인터 예측의 경우에, 예측부(430)는 참조 픽처 상에서 움직임 벡터에 의해 참조 픽처 상에서 특정되는 샘플을 기반으로 현재 블록에 대한 예측 샘플을 유도할 수 있다. 예측부(430)는 스킵(skip) 모드, 머지(merge) 모드 및 MVP 모드 중 어느 하나를 적용하여 현재 블록에 대한 예측 샘플을 유도할 수 있다. 이때, 비디오 인코딩 장치에서 제공된 현재 블록의 인터 예측에 필요한 움직임 정보, 예컨대 움직임 벡터, 참조 픽처 인덱스 등에 관한 정보는 상기 예측에 관한 정보를 기반으로 획득 또는 유도될 수 있다In the case of inter prediction, the prediction unit 430 may derive a prediction sample for a current block based on a sample specified on a reference picture by a motion vector on a reference picture. The prediction unit 430 may derive a prediction sample for the current block by applying one of a skip mode, a merge mode, and an MVP mode. At this time, motion information necessary for inter-prediction of a current block provided in the video encoding apparatus, for example, information on a motion vector, a reference picture index, and the like may be acquired or derived based on the prediction information
스킵 모드와 머지 모드의 경우에, 주변 블록의 움직임 정보가 현재 블록의 움직임 정보로 이용될 수 있다. 이 때, 주변 블록은 공간적 주변 블록과 시간적 주변 블록을 포함할 수 있다.In the skip mode and the merge mode, motion information of a neighboring block can be used as motion information of the current block. In this case, the neighboring block may include a spatial neighboring block and a temporal neighboring block.
예측부(430)는 가용한 주변 블록의 움직임 정보로 머지 후보 리스트를 구성하고, 머지 인덱스가 머지 후보 리스트 상에서 지시하는 정보를 현재 블록의 움직임 벡터로 사용할 수 있다. 머지 인덱스는 인코딩 장치로부터 시그널링될 수 있다. 움직임 정보는 움직임 벡터와 참조 픽처를 포함할 수 있다. 스킵 모드와 머지 모드에서 시간적 주변 블록의 움직임 정보가 이용되는 경우에, 참조 픽처 리스트 상의 최상위 픽처가 참조 픽처로서 이용될 수 있다.The predicting unit 430 constructs a merge candidate list using the motion information of the available neighboring blocks and uses the information indicated by the merge index on the merge candidate list as the motion vector of the current block. The merge index may be signaled from the encoding device. The motion information may include a motion vector and a reference picture. When the motion information of temporal neighboring blocks is used in the skip mode and the merge mode, the highest picture on the reference picture list can be used as a reference picture.
스킵 모드의 경우, 머지 모드와 달리 예측 샘플과 원본 샘플 사이의 차이(레지듀얼)이 전송되지 않는다.In the skip mode, unlike the merge mode, the difference between the predicted sample and the original sample (residual) is not transmitted.
MVP 모드의 경우, 주변 블록의 움직임 벡터를 움직임 벡터 예측자(motion vector predictor)로 이용하여 현재 블록의 움직임 벡터가 유도될 수 있다. 이 때, 주변 블록은 공간적 주변 블록과 시간적 주변 블록을 포함할 수 있다.In the MVP mode, a motion vector of a current block can be derived using a motion vector of a neighboring block as a motion vector predictor. In this case, the neighboring block may include a spatial neighboring block and a temporal neighboring block.
일 예로, 머지 모드가 적용되는 경우, 복원된 공간적 주변 블록의 움직임 벡터 및/또는 시간적 주변 블록인 Col 블록에 대응하는 움직임 벡터를 이용하여, 머지 후보 리스트가 생성될 수 있다. 머지 모드에서는 머지 후보 리스트에서 선택된 후보 블록의 움직임 벡터가 현재 블록의 움직임 벡터로 사용된다. 상기 예측에 관한 정보는 상기 머지 후보 리스트에 포함된 후보 블록들 중에서 선택된 최적의 움직임 벡터를 갖는 후보 블록을 지시하는 머지 인덱스를 포함할 수 있다. 이 때, 예측부(430)는 상기 머지 인덱스를 이용하여, 현재 블록의 움직임 벡터를 도출할 수 있다.For example, when the merge mode is applied, a merge candidate list may be generated using a motion vector of the reconstructed spatial neighboring block and / or a motion vector corresponding to a Col block that is a temporally neighboring block. In the merge mode, the motion vector of the candidate block selected in the merge candidate list is used as the motion vector of the current block. The prediction information may include a merge index indicating a candidate block having an optimal motion vector selected from the candidate blocks included in the merge candidate list. At this time, the predicting unit 430 can derive the motion vector of the current block using the merge index.
다른 예로, MVP(Motion Vector Prediction) 모드가 적용되는 경우, 복원된 공간적 주변 블록의 움직임 벡터 및/또는 시간적 주변 블록인 Col 블록에 대응하는 움직임 벡터를 이용하여, 움직임 벡터 예측자 후보 리스트가 생성될 수 있다. 즉, 복원된 공간적 주변 블록의 움직임 벡터 및/또는 시간적 주변 블록인 Col 블록에 대응하는 움직임 벡터는 움직임 벡터 후보로 사용될 수 있다. 상기 예측에 관한 정보는 상기 리스트에 포함된 움직임 벡터 후보 중에서 선택된 최적의 움직임 벡터를 지시하는 예측 움직임 벡터 인덱스를 포함할 수 있다. 이 때, 예측부(430)는 상기 움직임 벡터 인덱스를 이용하여, 움직임 벡터 후보 리스트에 포함된 움직임 벡터 후보 중에서, 현재 블록의 예측 움직임 벡터를 선택할 수 있다. 인코딩 장치의 예측부는 현재 블록의 움직임 벡터와 움직임 벡터 예측자 간의 움직임 벡터 차분(MVD)을 구할 수 있고, 이를 인코딩하여 비트스트림 형태로 출력할 수 있다. 즉, MVD는 현재 블록의 움직임 벡터에서 상기 움직임 벡터 예측자를 뺀 값으로 구해질 수 있다. 이 때, 예측부(430)는 상기 예측에 관한 정보에 포함된 움직임 벡터 차분을 획득하고, 상기 움직임 벡터 차분과 상기 움직임 벡터 예측자의 가산을 통해 현재 블록의 상기 움직임 벡터를 도출할 수 있다. 예측부는 또한 참조 픽처를 지시하는 참조 픽처 인덱스 등을 상기 예측에 관한 정보로부터 획득 또는 유도할 수 있다. As another example, when a motion vector prediction mode (MVP) is applied, a motion vector predictor candidate list is generated by using a motion vector of the reconstructed spatial neighboring block and / or a motion vector corresponding to a Col block which is a temporally neighboring block . That is, the motion vector of the reconstructed spatial neighboring block and / or the motion vector corresponding to the neighboring block Col may be used as a motion vector candidate. The information on the prediction may include a predicted motion vector index indicating an optimal motion vector selected from the motion vector candidates included in the list. At this time, the predicting unit 430 may use the motion vector index to select a predictive motion vector of the current block from the motion vector candidates included in the motion vector candidate list. The predicting unit of the encoding apparatus can obtain the motion vector difference (MVD) between the motion vector of the current block and the motion vector predictor, and can output it as a bit stream. That is, MVD can be obtained by subtracting the motion vector predictor from the motion vector of the current block. In this case, the predicting unit 430 may obtain the motion vector difference included in the information on the prediction, and derive the motion vector of the current block through addition of the motion vector difference and the motion vector predictor. The prediction unit may also acquire or derive a reference picture index or the like indicating the reference picture from the information on the prediction.
가산부(440)는 레지듀얼 샘플과 예측 샘플을 더하여 현재 블록 혹은 현재 픽처를 복원할 수 있다. 가산부(440)는 레지듀얼 샘플과 예측 샘플을 블록 단위로 더하여 현재 픽처를 복원할 수도 있다. 스킵 모드가 적용된 경우에는 레지듀얼이 전송되지 않으므로, 예측 샘플이 복원 샘플이 될 수 있다. 여기서는 가산부(440)를 별도의 구성으로 설명하였으나, 가산부(440)는 예측부(430)의 일부일 수도 있다. 한편, 가산부(440)는 복원부 또는 복원 블록 생성부로 불릴 수도 있다. The adder 440 may add the residual samples and the prediction samples to reconstruct the current block or the current picture. The adder 440 may restore the current picture by adding residual samples and prediction samples on a block-by-block basis. When the skip mode is applied, since the residual is not transmitted, the predicted sample can be the restored sample. Here, the addition unit 440 is described as an alternative configuration, but the addition unit 440 may be a part of the prediction unit 430. [ Meanwhile, the addition unit 440 may be referred to as a restoration unit or a restoration block generation unit.
필터부(450)는 복원된 픽처에 디블록킹 필터링 샘플 적응적 오프셋, 및/또는 ALF 등을 적용할 수 있다. 이 때, 샘플 적응적 오프셋은 샘플 단위로 적용될 수 있으며, 디블록킹 필터링 이후 적용될 수도 있다. ALF는 디블록킹 필터링 및/또는 샘플 적응적 오프셋 이후 적용될 수도 있다.The filter unit 450 may apply deblocking filtering sample adaptive offsets, and / or ALF, etc. to the reconstructed pictures. At this time, the sample adaptive offset may be applied on a sample-by-sample basis and may be applied after deblocking filtering. The ALF may be applied after deblocking filtering and / or sample adaptive offsets.
메모리(460)는 복원 픽처(디코딩된 픽처) 또는 디코딩에 필요한 정보를 저장할 수 있다. 여기서 복원 픽처는 상기 필터부(450)에 의하여 필터링 절차가 완료된 복원 픽처일 수 있다. 예컨대, 메모리(460)는 인터 예측에 사용되는 픽처들을 저장할 수 있다. 이 때, 인터 예측에 사용되는 픽처들은 참조 픽처 세트 혹은 참조 픽처 리스트에 의해 지정될 수도 있다. 복원된 픽처는 다른 픽처에 대한 참조 픽처로서 이용될 수 있다. 또한, 메모리(460)는 복원된 픽처를 출력 순서에 따라서 출력할 수도 있다.The memory 460 may store a reconstructed picture (decoded picture) or information necessary for decoding. Here, the reconstructed picture may be a reconstructed picture whose filtering process has been completed by the filter unit 450. For example, the memory 460 may store pictures used for inter prediction. At this time, the pictures used for inter prediction may be designated by a reference picture set or a reference picture list. The reconstructed picture can be used as a reference picture for another picture. Further, the memory 460 may output the restored picture according to the output order.
한편, 기존의 2차원(dimension) 영상의 픽처와 달리, 3차원 영상인 360도 비디오의 프로젝션된 픽처(projected picture)는 프로젝션 포멧(projection format)의 특성으로 인하여 불연속성(discontinuities)을 포함할 수 있다. 즉, 3차원 공간 상에서 연속된 영상이 2D 이미지에 프로젝션되어 상기 프로젝션된 픽처가 도출될 수 있고, 이에, 3차원 공간 상에서 연속된 360도 비디오 데이터가 상기 프로젝션된 픽처 내에 불연속하게 맵핑되는 불연속성이 발생될 수 있다. On the other hand, unlike the conventional two-dimensional image, the projected picture of the 360-degree video, which is a three-dimensional image, may include discontinuities due to the characteristics of the projection format . That is, consecutive images in the three-dimensional space can be projected onto the 2D image to derive the projected picture, and there is a discontinuity in which successive 360-degree video data in the three-dimensional space is discontinuously mapped into the projected picture .
또한, 상술한 내용과 같이 현재 블록에 인터 예측이 수행되는 경우, 상기 인터 예측을 위한 움직임 정보가 도출될 수 있다. 한편, 상기 360도 비디오에 대하여 상술한 인터 예측이 수행되는 경우, 상기 프로젝션된 픽처를 기반으로 움직임 정보를 도출하는 움직임 추정 과정이 수행되면 상기 프로젝션된 픽처의 불연속성으로 인하여 움직임 추정 과정의 효율적이지 못할 수 있다. 이에, 상기 프로젝션된 픽처의 불연속성을 고려하여 상기 360도 비디오의 인터 예측을 위한 참조 픽처 리스트(reference picture list)를 구성하는 방법이 제안될 수 있다.In addition, when the inter prediction is performed on the current block as described above, the motion information for the inter prediction can be derived. Meanwhile, when the inter prediction is performed on the 360-degree video, if motion estimation is performed to derive motion information based on the projected picture, the motion estimation process may not be efficient due to the discontinuity of the projected picture . Accordingly, a method of constructing a reference picture list for inter-prediction of the 360-degree video in consideration of the discontinuity of the projected picture may be proposed.
도 5는 참조 픽처 리스트를 구성하는 일 예를 나타낸다. 인터 예측이 수행되는 경우, 참조 픽처들을 기반으로 인코딩/디코딩 하기 위한 현재 블록과 가장 유사한 블록을 도출하는 움직임 추정(motion estimation) 및 움직임 보상(motion compensation) 과정이 수행될 수 있다. 즉, 상기 참조 픽처들 내 블록들 중 상기 현재 블록과 가장 유사한 블록이 상기 현재 블록의 참조 블록으로 도출될 수 있고, 상기 참조 블록을 기반으로 상기 현재 블록의 인터 예측이 수행될 수 있다. 따라서, 보다 적절한 참조 픽처 리스트를 구성하는 것이 상기 인터 예측의 예측 정확도 및 예측 효율을 향상시킬 수 있다. Fig. 5 shows an example of constituting a reference picture list. When inter prediction is performed, motion estimation and motion compensation may be performed to derive the block most similar to the current block for encoding / decoding based on reference pictures. That is, a block most similar to the current block among the blocks in the reference pictures can be derived as a reference block of the current block, and inter-prediction of the current block can be performed based on the reference block. Therefore, constructing a more appropriate reference picture list can improve the prediction accuracy and prediction efficiency of the inter prediction.
예를 들어, 도 5를 참조하면 상기 참조 픽처 리스트는 I 픽처, P 픽처 및 B 픽처를 기반으로 구성될 수 있다. 도 5에 도시된 픽처의 숫자는 상기 픽처의 POC(Picture order count)를 나타낸다. For example, referring to FIG. 5, the reference picture list may be configured based on I pictures, P pictures, and B pictures. The number of pictures shown in FIG. 5 indicates the picture order count (POC) of the picture.
여기서, I 픽처는 인코딩/디코딩 순서 상 전후의 픽처와는 관계없이 독립적으로 인코딩/디코딩되는 픽처를 나타낼 수 있다, 즉, 인터 예측이 수행되지 않고, 인트라 예측만이 수행되어 인코딩/디코딩되는 픽처를 나타낼 수 있다. Here, the I picture can represent a picture to be independently encoded / decoded regardless of the preceding and following pictures in the encoding / decoding order. That is, only the intra prediction is performed and the picture to be encoded / decoded is not .
또한, 상기 P 픽처는 단방향의 인터 예측, 즉, 단예측(uni-prediction)을 기반으로 인코딩/디코딩되는 픽처를 나타낼 수 있다. 상기 인터 예측을 수행함에 있어, L0 움직임 정보를 기반으로 인터 예측을 수행하는 경우 LO 예측이라고 불릴 수 있고, L1 움직임 정보를 기반으로 인터 예측을 수행하는 경우 L1 예측이라고 불릴 수 있으며, 상기 L0 움직임 정보 및 L1 움직임 정보를 기반으로 인터 예측을 수행하는 경우 쌍예측(bi-prediction)이라고 불릴 수 있다. 상기 L0 예측 또는 상기 L1 예측은 상기 단예측을 나타낼 수 있다. 여기서, 상기 L0 움직임 정보는 인코딩/디코딩되는 픽처 내 현재 블록에 대하여 참조 픽처 리스트 0에 포함된 참조 픽처의 인덱스(refidxL0) 및 연관된 움직임 벡터(Motion Vector L0, MVL0) 에 대한 정보를 나타낼 수 있고, 상기 L1 움직임 정보는 인코딩/디코딩되는 픽처 내 현재 블록에 대하여 참조 픽처 리스트 1에 포함된 참조 픽처의 인덱스(refidxL0) 및 연관된 움직임 벡터(Motion Vector L0, MVL0) 에 대한 정보를 나타낼 수 있다. 또한, 상기 참조 픽처 리스트 0은 L0(List 0)라고 불릴 수 있고, 상기 참조 픽처 리스트 1은 L1(List 1)이라고 불릴 수 있고, 디코딩 장치에서 허용하는 DPB 사이즈에 따라 다양한 개수의 참조 픽처들이 상기 L0 또는 상기 L1을 구성하는데 사용될 수 있다. 또한, 상기 B 픽처는 상기 쌍예측을 기반으로 인코딩/디코딩되는 픽처를 나타낼 수 있다. In addition, the P picture may represent a picture to be encoded / decoded based on unidirectional inter prediction, i.e., uni-prediction. The inter prediction may be referred to as LO prediction when inter prediction is performed based on the L0 motion information and may be referred to as L1 prediction when inter prediction is performed based on the L1 motion information. And bi-prediction when inter prediction is performed based on the L1 motion information. The L0 prediction or the L1 prediction may represent the single prediction. Here, the L0 motion information may indicate information about an index (refidxL0) of a reference picture included in a reference picture list 0 and an associated motion vector (Motion Vector L0, MVL0) with respect to a current block in a current picture to be encoded / The L1 motion information may indicate information about an index (refidxL0) of a reference picture included in a reference picture list 1 and an associated motion vector (Motion Vector L0, MVL0) with respect to a current block in a current picture to be encoded / decoded. The reference picture list 0 may be referred to as L0 (List 0), the reference picture list 1 may be referred to as L 1 (List 1), and various numbers of reference pictures may be referred to as L 1 L0 or the L1. The B picture may represent a picture to be encoded / decoded based on the bipartite prediction.
도 5를 참조하면 픽처들 간의 화살표(arrow)는 상기 픽처들의 참조 관계를 나타낼 수 있다. 상기 참조 관계에 따라서 해당 픽처에 대한 참조 픽처 리스트가 생성될 수 있다. 예를 들어, 픽처 B7 에 대한 참조 픽처 리스트 0 및 참조 픽처 리스트 1은 다음과 같이 구성될 수 있다.Referring to FIG. 5, an arrow between pictures may indicate a reference relationship of the pictures. A reference picture list for the corresponding picture can be generated in accordance with the reference relationship. For example, the reference picture list 0 and the reference picture list 1 for the picture B7 may be configured as follows.
구체적으로, 상기 참조 픽처 리스트 0 은 후술하는 3단계를 통하여 구성될 수 있다.More specifically, the reference picture list 0 may be configured through three steps to be described later.
첫번째 단계로, 현재 픽처의 인코딩/디코딩 과정에서 참조되는 픽처들 중 현재 픽처의 POC 보다 작은 POC 를 갖는 숏텀 참조 픽처들(short term reference pictures)이 상기 참조 픽처 리스트 0에 포함될 수 있다. 예를 들어, 상기 픽처 B7 의 POC 보다 작은 POC 를 갖는 숏텀 참조 픽처들인 픽처 P1 및 픽처 B2 은 상기 픽처 B7 에 대한 상기 참조 픽처 리스트 0에 포함될 수 있다. 이 경우, 상기 현재 픽처의 POC 보다 작은 POC 를 갖는 숏텀 참조 픽처들은 POC가 작은 순으로 포함될 수 있다. 예를 들어, 상기 참조 픽처 리스트 0은 {P1, B2} 로 나타낼 수 있다. As a first step, short term reference pictures having a POC smaller than the POC of the current picture among the pictures referenced in the encoding / decoding process of the current picture may be included in the reference picture list 0. For example, pictures P1 and B2 that are short-term reference pictures having a POC smaller than the POC of the picture B7 may be included in the reference picture list 0 for the picture B7. In this case, the short-term reference pictures having a POC that is smaller than the POC of the current picture may be included in descending order of the POC. For example, the reference picture list 0 can be represented by {P1, B2}.
두번째 단계로, 상기 현재 픽처의 인코딩/디코딩 과정에서 참조되는 픽처들 중 현재 픽처의 POC 보다 큰 POC 를 갖는 숏텀 참조 픽처들이 상기 참조 픽처 리스트 0에 포함될 수 있다. 예를 들어, 상기 픽처 B7 의 POC 보다 작은 POC 를 갖는 숏텀 참조 픽처들인 픽처 B6 및 픽처 P5 은 상기 픽처 B7 에 대한 상기 참조 픽처 리스트 0에 포함될 수 있다. 이 경우, 상기 현재 픽처의 POC 보다 큰 POC 를 갖는 숏텀 참조 픽처들은 POC가 큰 순으로 포함될 수 있다. 예를 들어, 상기 참조 픽처 리스트 0은 {P1, B2, B6, P5} 로 나타낼 수 있다. In the second step, the reference picture list 0 may include the short-term reference pictures having a POC larger than the POC of the current picture among the pictures referred to in the encoding / decoding of the current picture. For example, a picture B6 and a picture P5, which are short-term reference pictures having a POC smaller than the POC of the picture B7, may be included in the reference picture list 0 for the picture B7. In this case, the short-term reference pictures having a POC larger than the POC of the current picture may be included in descending order of the POC. For example, the reference picture list 0 can be represented by {P1, B2, B6, P5}.
세번째 단계로, 상기 현재 픽처의 인코딩/디코딩 과정에서 참조되는 픽처들 중 롱텀 참조 픽처(long term reference picture)가 상기 참조 픽처 리스트 0에 포함될 수 있다. 예를 들어, 상기 픽처 B7 의 롱텀 참조 픽처인 픽처 I0 은 상기 픽처 B7 에 대한 상기 참조 픽처 리스트 0에 포함될 수 있다. 예를 들어, 상기 참조 픽처 리스트 0은 {P1, B2, B6, P5, I0} 로 나타낼 수 있다.As a third step, a long term reference picture among the pictures referred to in the encoding / decoding of the current picture may be included in the reference picture list 0. For example, the picture 10, which is the long-term reference picture of the picture B7, may be included in the reference picture list 0 for the picture B7. For example, the reference picture list 0 can be represented by {P1, B2, B6, P5, I0}.
한편, 상기 참조 픽처 리스트 1 은 상기 참조 픽처 리스트 0을 구성하는 3단계 중 1단계 및 2단계의 순서를 바꿔 구성될 수 있다.On the other hand, the reference picture list 1 can be configured by changing the order of the first step and the second step among the three steps constituting the reference picture list 0.
구체적으로, 상기 참조 픽처 리스트 1 은 후술하는 3단계를 통하여 구성될 수 있다.Specifically, the reference picture list 1 may be configured through three steps described later.
첫번째 단계로, 상기 현재 픽처의 인코딩/디코딩 과정에서 참조되는 픽처들 중 현재 픽처의 POC 보다 큰 POC 를 갖는 숏텀 참조 픽처들이 상기 참조 픽처 리스트 1에 포함될 수 있다. 예를 들어, 상기 픽처 B7 의 POC 보다 작은 POC 를 갖는 숏텀 참조 픽처들인 픽처 B6 및 픽처 P5 은 상기 픽처 B7 에 대한 상기 참조 픽처 리스트 1에 포함될 수 있다. 이 경우, 상기 현재 픽처의 POC 보다 큰 POC 를 갖는 숏텀 참조 픽처들은 POC가 큰 순으로 포함될 수 있다. 예를 들어, 상기 참조 픽처 리스트 1은 {B6, P5} 로 나타낼 수 있다. In the first step, the reference picture list 1 may include the short-term reference pictures having a POC larger than the POC of the current picture among the pictures referred to in the encoding / decoding process of the current picture. For example, a picture B6 and a picture P5, which are short-term reference pictures having a POC smaller than the POC of the picture B7, may be included in the reference picture list 1 for the picture B7. In this case, the short-term reference pictures having a POC larger than the POC of the current picture may be included in descending order of the POC. For example, the reference picture list 1 can be represented by {B6, P5}.
두번째 단계로, 현재 픽처의 인코딩/디코딩 과정에서 참조되는 픽처들 중 현재 픽처의 POC 보다 작은 POC 를 갖는 숏텀 참조 픽처들이 상기 참조 픽처 리스트 1에 포함될 수 있다. 예를 들어, 상기 픽처 B7 의 POC 보다 작은 POC 를 갖는 숏텀 참조 픽처들인 픽처 P1 및 픽처 B2 은 상기 픽처 B7 에 대한 상기 참조 픽처 리스트 1에 포함될 수 있다. 이 경우, 상기 현재 픽처의 POC 보다 작은 POC 를 갖는 숏텀 참조 픽처들은 POC가 작은 순으로 포함될 수 있다. 예를 들어, 상기 참조 픽처 리스트 1은 {B6, P5, P1, B2} 로 나타낼 수 있다. As a second step, the reference picture list 1 may include the short-term reference pictures having a POC smaller than the POC of the current picture among the pictures referred to in the encoding / decoding process of the current picture. For example, pictures P1 and B2, which are short-term reference pictures having a POC smaller than the POC of the picture B7, may be included in the reference picture list 1 for the picture B7. In this case, the short-term reference pictures having a POC that is smaller than the POC of the current picture may be included in descending order of the POC. For example, the reference picture list 1 can be represented by {B6, P5, P1, B2}.
세번째 단계로, 상기 현재 픽처의 인코딩/디코딩 과정에서 참조되는 픽처들 중 롱텀 참조 픽처(long term reference picture)가 상기 참조 픽처 리스트 1에 포함될 수 있다. 예를 들어, 상기 픽처 B7 의 롱텀 참조 픽처인 픽처 I0 은 상기 픽처 B7 에 대한 상기 참조 픽처 리스트 1에 포함될 수 있다. 예를 들어, 상기 참조 픽처 리스트 1은 {B6, P5, P1, B2, I0} 로 나타낼 수 있다.As a third step, a long term reference picture among the pictures referred to in the encoding / decoding of the current picture may be included in the reference picture list 1. For example, the picture I0, which is the long-term reference picture of the picture B7, may be included in the reference picture list 1 for the picture B7. For example, the reference picture list 1 can be expressed as {B6, P5, P1, B2, I0}.
상기 참조 픽처 리스트 0 및 상기 참조 픽처 리스트 1은 기설정된 리스트의 길이에 따라 다르게 구성될 수 있고, 상기 리스트의 길이는 최대 15 로 기설정될 수 있다.The reference picture list 0 and the reference picture list 1 may be configured differently according to the length of the predetermined list, and the length of the list may be set to a maximum of 15.
한편, 3D 공간에서의 360도 비디오는 본질적으로 경계가 없지만, 상기 360도 비디오가 2D 이미지 상으로 프로젝션되는 경우, 불연속성이 나타나는 경계가 생성될 수 있다. 구체적으로, 상기 360도 비디오는 후술하는 바와 같이 2D 이미지에 프로젝션될 수 있다.On the other hand, 360 degree video in 3D space is essentially borderless, but when the 360 degree video is projected onto a 2D image, a boundary where discontinuities appear can be created. Specifically, the 360 degree video can be projected onto a 2D image as described below.
도 6은 상기 ERP 를 기반으로 도출된 프로젝션된 픽처를 예시적으로 나타낸다. 360도 비디오 데이터는 2D 픽처에 프로젝션될 수 있고, 여기서, 상기 360도 비디오 데이터가 프로젝션된 2D 픽처는 프로젝션된 프레임(projected frame) 또는 프로젝션된 픽처(projected picture)라고 불릴 수 있다. 상기 360도 비디오 데이터는 다양한 프로젝션 타입을 통하여 픽처상에 프로젝션될 수 있다. 예를 들어, 360도 비디오 데이터는 Equirectangular Projection (ERP), Cube Map Projection(CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP), Truncated Square Pyramid projection (TSP), Segmented Sphere Projection (SSP) 또는 Equal Area Projection (EAP) 를 통하여 픽처에 프로젝션 및/또는 패킹될 수 있다. 구체적으로, 스티칭된 360도 비디오 데이터는 프로젝션 타입에 따른 3D 프로젝션 구조 상에 나타내어질 수 있고, 즉, 상기 360도 비디오 데이터는 각 프로젝션 타입의 3D 프로젝션 구조의 페이스(face)에 맵핑될 수 있고, 상기 페이스는 상기 프로젝션된 픽처에 프로젝션될 수 있다.FIG. 6 exemplarily shows a projected picture derived based on the ERP. 360 degree video data may be projected onto a 2D picture, where the 2D picture on which the 360 degree video data is projected may be referred to as a projected frame or a projected picture. The 360 degree video data may be projected onto a picture through various projection types. For example, 360-degree video data can be divided into Equirectangular Projection (ERP), Cube Map Projection (CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP), Truncated Square Pyramid Projection (TSP), Segmented Sphere Projection Can be projected and / or packed into a picture through Area Projection (EAP). Specifically, the stitched 360 degree video data can be represented on a 3D projection structure according to the projection type, that is, the 360 degree video data can be mapped to the face of the 3D projection structure of each projection type, The face may be projected onto the projected picture.
도 6을 참조하면 360도 비디오 데이터는 ERP를 통하여 2D 픽처에 프로젝션될 수 있다. 360도 비디오 데이터가 상기 ERP를 통하여 프로젝션되는 경우, 예를 들어, 스티칭된 360도 비디오 데이터는 구형 면(spherical surface) 상에 나타내어질 수 있고, 즉, 상기 360도 비디오 데이터는 상기 구형 면 상에 맵핑될 수 있고, 상기 구형 면 상에서의 연속성이 유지되는 하나의 픽처로 프로젝션될 수 있다. 상기 ERP 의 3D 프로젝션 구조는 하나의 페이스를 갖는 구(sphere)일 수 있다. 따라서, 도 6에 도시된 것과 같이 상기 360도 비디오 데이터는 프로젝션된 픽처 내 하나의 페이스에 맵핑될 수 있다. Referring to FIG. 6, 360-degree video data can be projected onto a 2D picture through an ERP. When 360-degree video data is projected through the ERP, for example, stitched 360-degree video data can be represented on a spherical surface, i.e., the 360- Can be mapped, and can be projected into one picture in which continuity on the spherical surface is maintained. The 3D projection structure of the ERP may be a sphere having one face. Thus, as shown in FIG. 6, the 360 degree video data can be mapped to one face in the projected picture.
또한, 다른 예로, 360도 비디오 데이터가 상기 CMP를 통하여 프로젝션될 수 있다. 상기 CMP의 3D 프로젝션 구조는 큐브(cube)일 수 있다. 따라서, 상기 360도 비디오 데이터가 상기 CMP를 통하여 프로젝션되는 경우, 스티칭된 360도 비디오 데이터는 큐브에 나타내어질 수 있고, 상기 360도 비디오 데이터는 육면체 형태의 3D 프로젝션 구조로 나뉘어 2D 이미지 상에 프로젝션될 수 있다. 즉, 상기 360도 비디오 데이터는 큐브의 6개의 페이스들에 맵핑될 수 있고, 상기 페이스들은 상기 프로젝션된 픽처에 프로젝션될 수 있다. Also, as another example, 360 degree video data can be projected through the CMP. The 3D projection structure of the CMP may be a cube. Thus, when 360-degree video data is projected through the CMP, the stitched 360-degree video data can be represented in a cube, and the 360-degree video data can be projected onto a 2D image in a cubic 3D projection structure . That is, the 360 degree video data can be mapped to six faces of the cube, and the faces can be projected onto the projected picture.
또한, 다른 예로, 360도 비디오 데이터가 상기 ISP를 통하여 프로젝션될 수 있다. 상기 ISP의 3D 프로젝션 구조는 이십면체일 수 있다. 따라서, 상기 360도 비디오 데이터가 상기 ISP를 통하여 프로젝션되는 경우, 스티칭된 360도 비디오 데이터는 이십면체에 나타내어질 수 있고, 상기 360도 비디오 데이터는 이십면체 형태의 3D 프로젝션 구조로 나뉘어 2D 이미지 상에 프로젝션될 수 있다. 즉, 상기 360도 비디오 데이터는 이십면체의 20개의 페이스들에 맵핑될 수 있고, 상기 페이스들은 상기 프로젝션된 픽처에 프로젝션될 수 있다. Also, as another example, 360 degree video data may be projected through the ISP. The 3D projection structure of the ISP may be a twenty-sided form. Therefore, when the 360-degree video data is projected through the ISP, the stitched 360-degree video data can be represented in a twenty-sided form, and the 360-degree video data can be divided into a two- Lt; / RTI > That is, the 360 degree video data may be mapped to twenty faces of a twosopaper, and the faces may be projected onto the projected picture.
또한, 다른 예로, 360도 비디오 데이터가 상기 OHP를 통하여 프로젝션될 수 있다. 상기 OHP의 3D 프로젝션 구조는 팔면체일 수 있다. 따라서, 상기 360도 비디오 데이터가 상기 OHP를 통하여 프로젝션되는 경우, 스티칭된 360도 비디오 데이터는 팔면체에 나타내어질 수 있고, 상기 360도 비디오 데이터는 팔면체 형태의 3D 프로젝션 구조로 나뉘어 2D 이미지 상에 프로젝션될 수 있다. 즉, 상기 360도 비디오 데이터는 팔면체의 8개의 페이스들에 맵핑될 수 있고, 상기 페이스들은 상기 프로젝션된 픽처에 프로젝션될 수 있다. Also, as another example, 360 degree video data may be projected through the OHP. The 3D projection structure of the OHP may be octahedral. Therefore, when the 360-degree video data is projected through the OHP, the stitched 360-degree video data can be displayed on the octahedron, and the 360-degree video data is divided into the octahedral 3D projection structure and projected onto the 2D image . That is, the 360 degree video data can be mapped to eight faces of the octahedron, and the faces can be projected onto the projected picture.
또한, 다른 예로, 360도 비디오 데이터가 상기 TSP를 통하여 프로젝션될 수 있다. 상기 TSP의 3D 프로젝션 구조는 윗 부분이 잘린 피라미드(Truncated Square Pyramid)일 수 있다. 따라서, 상기 360도 비디오 데이터가 상기 TSP를 통하여 프로젝션되는 경우, 스티칭된 360도 비디오 데이터는 상기 윗 부분이 잘린 피라미드에 나타내어질 수 있고, 상기 360도 비디오 데이터는 상기 윗 부분이 잘린 피라미드 형태의 3D 프로젝션 구조로 나뉘어 2D 이미지 상에 프로젝션될 수 있다. 즉, 상기 360도 비디오 데이터는 상기 윗 부분이 잘린 피라미드의 6개의 페이스들에 맵핑될 수 있고, 상기 페이스들은 상기 프로젝션된 픽처에 프로젝션될 수 있다. Also, as another example, 360 degree video data may be projected through the TSP. The 3D projection structure of the TSP may be a truncated square pyramid. Thus, when the 360-degree video data is projected through the TSP, the stitched 360-degree video data may be represented in the pyramid with the top portion truncated, and the 360-degree video data may be represented as a pyramid- Can be divided into projection structures and projected onto a 2D image. That is, the 360 degree video data may be mapped to six faces of the pyramid with the top portion cut out, and the faces may be projected onto the projected picture.
또한, 다른 예로, 360도 비디오 데이터가 상기 SSP를 통하여 프로젝션될 수 있다. 상기 SSP의 3D 프로젝션 구조는 6개의 페이스들을 갖는 구형 면일 수 있다. 구체적으로, 상기 페이스들은 양극 영역들에 대한 2개의 원 형태의 페이스들과 나머지 영역들에 대한 4개의 정방형 블록 형태의 페이스들을 포함할 수 있다. 따라서, 상기 360도 비디오 데이터가 상기 SSP를 통하여 프로젝션되는 경우, 스티칭된 360도 비디오 데이터는 상기 6개의 페이스들을 갖는 구형 면에 나타내어질 수 있고, 상기 360도 비디오 데이터는 상기 6개의 페이스들을 갖는 구형 면 형태의 3D 프로젝션 구조로 나뉘어 2D 이미지 상에 프로젝션될 수 있다. 즉, 상기 360도 비디오 데이터는 상기 구형 면의 6개의 페이스들에 맵핑될 수 있고, 상기 페이스들은 상기 프로젝션된 픽처에 프로젝션될 수 있다. Also, as another example, 360 degree video data may be projected through the SSP. The 3D projection structure of the SSP may be a spherical surface having six faces. In particular, the faces may include two circular-shaped faces for the anode regions and four square block-shaped faces for the remaining regions. Thus, when the 360 degree video data is projected through the SSP, the stitched 360 degree video data may be represented by a spherical surface having the six faces, and the 360 degree video data may be represented by a rectangle having the six faces And can be divided into a 3D projection structure in the form of a plane to be projected on a 2D image. That is, the 360 degree video data may be mapped to six faces of the spherical surface, and the faces may be projected onto the projected picture.
또한, 다른 예로, 360도 비디오 데이터가 상기 EAP를 통하여 프로젝션될 수 있다. 상기 EAP의 3D 프로젝션 구조는 구일 수 있다. 따라서, 상기 360도 비디오 데이터가 상기 EAP를 통하여 프로젝션되는 경우, 스티칭된 360도 비디오 데이터는 구형 면 상에 나타내어질 수 있고, 즉, 상기 360도 비디오 데이터는 상기 구형 면 상에 맵핑될 수 있고, 상기 구형 면 상에서의 연속성이 유지되는 하나의 픽처로 프로젝션될 수 있다. 즉, 상기 360도 비디오 데이터는 구의 하나의 페이스에 맵핑될 수 있고, 상기 페이스는 상기 프로젝션된 픽처에 프로젝션될 수 있다. 여기서, 상기 EAP 는 상기 ERP 와 달리 상기 구형 면 상에서의 특정 영역을 상기 구형 면 상에서의 사이즈와 동일한 사이즈로 상기 프로젝션된 픽처 상에 프로젝션하는 방법을 나타낼 수 있다. Also, as another example, 360 degree video data may be projected through the EAP. The 3D projection structure of the EAP may be predefined. Thus, when the 360 degree video data is projected through the EAP, the stitched 360 degree video data can be represented on a spherical surface, i.e., the 360 degree video data can be mapped on the spherical surface, The continuity on the spherical surface is maintained. That is, the 360 degree video data can be mapped to one face of a sphere, and the face can be projected onto the projected picture. Here, the EAP may represent a method of projecting a specific area on the spherical surface onto the projected picture in a size equal to the size on the spherical surface, unlike the ERP.
한편, 상기 360도 비디오 데이터가 상기 ERP를 통하여 프로젝션되는 경우, 예를 들어, 도 6에 도시된 것과 같이 상기 ERP의 3D 공간, 즉, 구형 면 상의 상기 360도 비디오 데이터가 프로젝션된 픽처 내 하나의 페이스에 맵핑될 수 있는바, 상기 구형 면 상의 중점(center point)이 상기 프로젝션된 픽처의 중점으로 맵핑되고, 상기 구형 면 상에서의 연속성이 유지되는 하나의 픽처로 프로젝션될 수 있다. 여기서 상기 구형 면 상의 중점이란, 상기 구형 면 상의 오리엔테이션(orientation)이라고 불릴 수 있다. On the other hand, when the 360-degree video data is projected through the ERP, the 3D space of the ERP, that is, the 360-degree video data on the spherical surface, as shown in FIG. 6, The center point on the spherical surface may be mapped to the center point of the projected picture and the continuity on the spherical surface may be maintained. Here, the center of gravity on the spherical surface may be referred to as an orientation on the spherical surface.
상기 구형 면, 즉, 상기 3D 공간을 구형 좌표계(spherical coordinate)로 나타내는 경우, 상기 중점은 θ = 0, φ = 0 인 점을 의미할 수 있고, 상기 3D 공간을 비행기 주축(yaw/pitch/roll 좌표계)으로 나타내는 경우 pitch=0, yaw=0, roll=0 인 점을 의미할 수 있다. 여기서 3D 공간은 프로젝션 스트럭쳐(projection structure) 또는 VR 지오메트리(geometry)로 불릴 수도 있다.If the spherical surface, that is, the 3D space is represented by a spherical coordinate, the center point may be a point where? = 0 and? = 0, and the 3D space may be defined as a yaw / pitch / Coordinate system), it can mean pitch = 0, yaw = 0, and roll = 0. Where the 3D space may be referred to as a projection structure or VR geometry.
상기 3D 공간을 나타내는 상기 구형 좌표계(spherical coordinate) 및 상기 비행기 주축(yaw/pitch/roll 좌표계) 는 후술하는 바와 같을 수 있다. The spherical coordinate system representing the 3D space and the yaw / pitch / roll coordinate system may be as follows.
도 7은 360도 비디오 데이터를 구형 면(spherical surface)으로 나타낸 구형 좌표계의 일 예를 나타낸다. 카메라로부터 획득한 360도 비디오 데이터는 구형 면으로 나타내어질 수 있다. 도 7에 도시된 바와 같이 구형 면 상의 각 점은 구형 좌표계를 이용하여, r(구의 반지름), θ(z축을 기준으로 회전 방향 및 정도), φ(x-y 평면의 z축을 향한 회전 방향 및 정도)를 통해 표현될 수 있다. 실시예에 따라 구형 면은 월드 좌표계와 일치하거나, 앞면 카메라(front camera)의 주점(principal point)을 구형 면의 (r, 0, 0) 지점으로 가정할 수 있다.FIG. 7 shows an example of a rectangular coordinate system in which 360-degree video data is represented by a spherical surface. The 360 degree video data obtained from the camera may be represented by a spherical surface. As shown in FIG. 7, each point on the spherical surface is expressed by r (sphere radius),? (Rotational direction and degree with respect to the z axis),? (Rotational direction and degree with respect to the z axis of the xy plane) Lt; / RTI > According to the embodiment, the spherical surface may coincide with the world coordinate system, or the principal point of the front camera may be a (r, 0, 0) point of the spherical surface.
한편, 상기 구형 면 상의 각 점의 위치는 비행기 주축 개념(Aircraft Principal Axes)을 기반으로 나타내어질 수 있다. 예를 들어, 상기 구형 면 상의 각 점의 위치는 피치(pitch), 요(yaw) 및 롤(roll)를 통해 표현될 수 있다.On the other hand, the position of each point on the spherical surface can be expressed based on the Aircraft Principal Axes. For example, the position of each point on the spherical surface may be expressed through pitch, yaw, and roll.
도 8은 360도 비디오를 나타내는 구형 면을 설명하기 위한 비행기 주축(Aircraft Principal Axes) 개념을 도시한 도면이다. 본 발명에서, 3D 공간에서의 특정 지점, 위치, 방향, 간격, 영역 등을 표현하기 위하여 비행기 주축 개념이 사용될 수 있다. 즉, 본 발명에서 프로젝션 전 또는 리-프로젝션 후의 3D 공간에 대해 기술하고, 그에 대한 시그널링을 수행하기 위하여 비행기 주축 개념이 사용될 수 있다. 구체적으로, 상기 구형면(spherical surface) 상의 각 점의 위치는 비행기 주축 개념(Aircraft Principal Axes)을 기반으로 나타내어질 수 있다. 3차원을 이루는 축을 각각 피치(pitch) 축, 요(yaw) 축 및 롤(roll) 축이라고 할 수 있다. 본 명세서에서 이들을 줄여서 피치, 요, 롤 내지 pitch 방향, yaw 방향, roll 방향이라고 표현할 수도 있다. 상기 구형 면 상의 각 점의 위치는 피치(pitch), 요(yaw) 및 롤(roll)를 통해 표현될 수 있다. XYZ 좌표계와 비교할 때, 상기 피치 축은 X 축, 상기 요 축은 Z 축, 상기 롤 축은 Y 축에 대응할 수 있다.FIG. 8 is a diagram showing an Aircraft Principal Axes concept for explaining a spherical surface representing 360-degree video. In the present invention, the concept of a plane main axis can be used to express a specific point, a position, a direction, an interval, an area, and the like in 3D space. That is, in the present invention, the concept of the airplane main axis can be used to describe the 3D space before or after the projection, and to perform signaling on the 3D space. Specifically, the position of each point on the spherical surface can be expressed based on the Aircraft Principal Axes. The three-dimensional axes can be referred to as a pitch axis, a yaw axis, and a roll axis, respectively. In the present specification, these may be abbreviated to pitch, yaw, roll to pitch, yaw, and roll directions. The position of each point on the spherical surface may be expressed through pitch, yaw, and roll. When compared with the XYZ coordinate system, the pitch axis may correspond to the X axis, the yaw axis to the Z axis, and the roll axis to the Y axis.
도 8의 (a)을 참조하면 요 각도(yaw angle)는 요 축을 기준으로 회전 방향 및 정도를 나타낼 수 있고, 상기 요 각도의 범위는 0도에서 +360도까지 혹은 -180도에서 +180도 일 수 있다. 또한, 도 8의 (b)을 참조하면 피치 각도(pitch angle)는 피치 축을 기준으로 회전 방향 및 정도를 나타낼 수 있고, 상기 피치 각도의 범위는 0도에서 +180도 혹은 -90도에서 +90도일 수 있다. 롤 각도(roll angle)는 롤 축을 기준으로 회전 방향 및 정도를 나타낼 수 있고, 상기 롤 각도의 범위는 0도에서 +360도 혹은 -180도에서 +180도일 수 있다. 후술하는 내용에서 상기 요 각도는 시계 방향으로 갈수록 증가하며, 상기 요 각도의 범위는 0도에서 360도로 가정될 수 있다. 또한, 상기 피치 각도는 북극 방향으로 갈수록 증가하며, 상기 북극 각도의 범위는 -90도에서 +90도로 가정될 수 있다.Referring to FIG. 8A, the yaw angle may indicate the direction and degree of rotation based on the yaw axis, and the range of the yaw angle may range from 0 degrees to +360 degrees, or from -180 degrees to +180 degrees Lt; / RTI > 8B, the pitch angle may indicate the rotational direction and the degree with respect to the pitch axis, and the range of the pitch angle may range from 0 degrees to +180 degrees or from -90 degrees to +90 degrees . The roll angle can indicate the direction and degree of rotation with respect to the roll axis, and the range of roll angles can be from 0 degrees to +360 degrees or from -180 degrees to +180 degrees. In the following description, the yaw angle increases in a clockwise direction, and the range of the yaw angle may be assumed to be 0 to 360 degrees. In addition, the pitch angle increases as the polar angle increases, and the range of the polar angle may be assumed to be -90 degrees to +90 degrees.
한편, 도 6에 도시된 것과 같이 상기 프로젝션된 픽처는 경계(600)를 포함하고 있다. 상기 불연속한 경계가 최소화될수록 보다 정확한 움직임 정보가 출될 수 있고, 이를 통하여 인터 예측의 효율을 향상시킬 수 있다. 이에, 본 발명에서는 상기 프로젝션된 픽처의 상기 불연속한 경계가 최소화되도록 하는 프로젝션 타입이 제안된다. 구체적으로, 여러가지 방식으로 상기 구형면 상의 360도 비디오 데이터를 회전하고, 회전된 360도 비디오 데이터를 상기 2D 픽처에 프로젝션하는 프로젝션 타입이 제안될 수 있다.On the other hand, as shown in FIG. 6, the projected picture includes a boundary 600. As the discontinuous boundary is minimized, more accurate motion information can be output, thereby improving the efficiency of inter prediction. Accordingly, the present invention proposes a projection type in which the discontinuous boundary of the projected picture is minimized. Specifically, a projection type in which 360-degree video data on the spherical surface is rotated in various manners, and the rotated 360-degree video data is projected onto the 2D picture can be proposed.
도 9는 대칭 프로젝션이 적용된 ERP 를 기반으로 도출된 프로젝션된 픽처를 예시적으로 나타낸다. 여기서, 상술한 프로젝션 타입에 상기 대칭 프로젝션이 적용되어 상기 프로젝션된 픽처가 도출되는 경우, 기존의 구형면 상의 중점을 프로젝션된 픽처의 중점에 맵핑되도록 프로젝션되는 대신, 상기 구형면 상의 360도 비디오 데이터를 회전하고, 회전된 360도 비디오 데이터를 상기 2D 픽처에 프로젝션될 수 있다. 다시 말해, 상기 구형 면 상의 중점이 상기 프로젝션된 픽처의 중점으로 맵핑되는대신, 상기 구형 면 상의 중점에서 특정값만큼 회전되어 도출된 위치가 상기 프로젝션된 픽처의 중점에 맵핑되면서 상기 구형 면 상에서의 연속성이 유지되는 하나의 픽처로 프로젝션되는 대칭 프로젝션이 적용된 ERP 가 제안될 수 있다.FIG. 9 exemplarily shows a projected picture derived based on an ERP to which a symmetric projection is applied. Here, when the above-mentioned projection type is applied to the above-mentioned symmetrical projection to project the projected picture, instead of being projected so that the middle point on the existing spherical surface is mapped to the center point of the projected picture, Rotated, rotated 360 degree video data can be projected onto the 2D picture. In other words, instead of mapping the center point on the spherical surface to the center point of the projected picture, a position derived by rotating the center point on the spherical surface by a specific value is mapped to the center point of the projected picture, An ERP with a symmetrical projection that is projected onto a single retained picture may be proposed.
도 9의 (a)는 (180, 0, 90) 만큼 회전된 360도 비디오 데이터를 연속성이 유지되는 하나의 픽처로 프로젝션하여 도출된 프로젝션된 픽처를 나타낸다. 즉, 도 7의 (a)는 (180, 0, 90) 좌표의 특정 위치가 프로젝션된 픽처의 중점에 맵핑되도록 프로젝션된 픽처를 나타낼 수 있다. 여기서, 상기 특정 위치를 나타내는 좌표는 피치(pitch), 요(yaw) 및 롤(roll)로 표현된 좌표일 수 있다.FIG. 9A shows a projected picture derived by projecting 360-degree video data rotated by (180, 0, 90) to one picture in which continuity is maintained. That is, FIG. 7A can show a picture projected so that a specific position of the (180, 0, 90) coordinate is mapped to the center point of the projected picture. Here, the coordinates indicating the specific position may be coordinates represented by pitch, yaw, and roll.
도 9의 (a)를 참조하면 기존의 ERP 를 통하여 프로젝션된 픽처의 상측 경계 및 하측 경계가 사라질 수 있고, 좌측 경계 및 우측 경계는 가운데에 위치하는 경계(900)로 도출될 수 있다. 도 9의 (b)는 (180, 0, -90) 만큼 회전된 360도 비디오 데이터를 연속성이 유지되는 하나의 픽처로 프로젝션하여 도출된 프로젝션된 픽처를 나타낸다. 즉, 도 9의 (b)는 (180, 0, -90) 좌표의 특정 위치가 프로젝션된 픽처의 중점에 맵핑되도록 프로젝션된 픽처를 나타낼 수 있다. 도 9의 (b)를 참조하면 기존의 ERP 를 통하여 프로젝션된 픽처의 상측 경계 및 하측 경계가 사라질 수 있고, 좌측 경계 및 우측 경계는 가운데에 위치하는 경계(910)로 도출될 수 있다.Referring to FIG. 9A, upper and lower boundaries of a picture projected through a conventional ERP may disappear, and a left boundary and a right boundary may be derived as a boundary 900 located at the center. FIG. 9B shows a projected picture derived by projecting 360-degree video data rotated by (180, 0, -90) to one picture in which continuity is maintained. That is, FIG. 9B shows a picture projected so that the specific position of the (180, 0, -90) coordinate is mapped to the center point of the projected picture. Referring to FIG. 9B, the upper and lower boundaries of the picture projected through the existing ERP may disappear, and the left boundary and the right boundary may be derived as the boundary 910 located at the center.
한편, 상기 ERP 이외의 다른 프로젝션 타입에도 상술한 대칭 프로젝션이 적용될 수 있다.On the other hand, the above-described symmetrical projection can be applied to other projection types other than the ERP.
도 10은 상기 CMP 를 기반으로 도출된 프로젝션된 픽처를 예시적으로 나타낸다. 도 10을 참조하면 기존의 CMP 를 기반으로 도출된 프로젝션된 픽처를 예시적으로 나타낸다. 도 10을 참조하면 360도 비디오 데이터가 상기 CMP를 통하여 프로젝션될 수 있고, 상기 CMP의 3D 프로젝션 구조는 큐브(cube)일 수 있다. 따라서, 상기 360도 비디오 데이터가 상기 CMP를 통하여 프로젝션되는 경우, 스티칭된 360도 비디오 데이터는 큐브에 나타내어질 수 있고, 상기 360도 비디오 데이터는 육면체 형태의 3D 프로젝션 구조로 나뉘어 2D 이미지 상에 프로젝션될 수 있다. 즉, 상기 360도 비디오 데이터는 큐브의 6개의 페이스들에 맵핑될 수 있고, 상기 페이스들은 상기 프로젝션된 픽처에 프로젝션될 수 있다. FIG. 10 exemplarily shows a projected picture derived based on the CMP. Referring to FIG. 10, a projected picture derived based on a conventional CMP is exemplarily shown. Referring to FIG. 10, 360-degree video data can be projected through the CMP, and the 3D projection structure of the CMP can be a cube. Thus, when 360-degree video data is projected through the CMP, the stitched 360-degree video data can be represented in a cube, and the 360-degree video data can be projected onto a 2D image in a cubic 3D projection structure . That is, the 360 degree video data can be mapped to six faces of the cube, and the faces can be projected onto the projected picture.
한편, 도 10에 도시된 것과 같이 상기 프로젝션된 픽처는 경계(1000)를 포함하고 있다. 상기 불연속한 경계가 최소화될수록 보다 정확한 움직임 정보가 출될 수 있고, 이를 통하여 인터 예측의 효율을 향상시킬 수 있다. 이에, 본 발명에서는 상기 프로젝션된 픽처의 상기 불연속한 경계가 최소화되도록 하는 프로젝션 타입이 제안된다. On the other hand, as shown in FIG. 10, the projected picture includes a boundary 1000. As the discontinuous boundary is minimized, more accurate motion information can be output, thereby improving the efficiency of inter prediction. Accordingly, the present invention proposes a projection type in which the discontinuous boundary of the projected picture is minimized.
도 11은 대칭 프로젝션이 적용된 CMP 를 기반으로 도출된 프로젝션된 픽처를 예시적으로 나타낸다. 상술한 프로젝션 타입에 상기 대칭 프로젝션이 적용되어 상기 프로젝션된 픽처가 도출되는 경우, 기존의 구형면 상의 중점을 프로젝션된 픽처의 중점에 맵핑되도록 프로젝션되는 대신, 상기 구형면 상의 360도 비디오 데이터를 회전하고, 회전된 360도 비디오 데이터를 상기 2D 픽처에 프로젝션될 수 있다. 상기 360도 비디오 데이터가 대칭 프로젝션이 적용된 CMP를 통하여 프로젝션되는 경우, 상기 구형 면 상의 중점이 상기 프로젝션된 픽처의 중점으로 맵핑되는대신, 상기 구형 면 상의 중점에서 특정값만큼 회전되어 도출된 위치가 상기 프로젝션된 픽처의 중점에 맵핑되면서 큐브의 6개의 페이스들에 맵핑될 수 있고, 상기 페이스들은 상기 프로젝션된 픽처에 프로젝션될 수 있다. FIG. 11 exemplarily shows a projected picture derived based on CMP to which a symmetric projection is applied. When the projected picture is derived by applying the symmetrical projection to the projection type described above, instead of being projected so as to map the center point on the existing spherical surface to the center point of the projected picture, the 360 degree video data on the spherical surface is rotated , The rotated 360 degree video data may be projected onto the 2D picture. When the 360 degree video data is projected through the CMP to which the symmetrical projection is applied, the center point on the spherical surface is mapped to the center point of the projected picture, Can be mapped to six faces of the cube while being mapped to the midpoint of the projected picture, and the faces can be projected onto the projected picture.
도 11은 (0, 0, 90) 만큼 회전된 360도 비디오 데이터를 연속성이 유지되는 하나의 픽처로 프로젝션하여 도출된 프로젝션된 픽처를 나타낸다. 즉, 도 11은 (0, 0, 90) 좌표의 특정 위치가 프로젝션된 픽처의 중점에 맵핑되도록 프로젝션된 픽처를 나타낼 수 있다. 도 11을 참조하면 상기 대칭 프로젝션이 적용된 CMP 를 기반으로 기존의 CMP 를 통하여 프로젝션된 픽처보다 불연속한 경계가 적게 나타나는 프로젝션된 픽처가 도출될 수 있다.FIG. 11 shows a projected picture derived by projecting 360-degree video data rotated by (0, 0, 90) to one picture in which continuity is maintained. That is, Fig. 11 can represent a picture projected so that a specific position of the (0, 0, 90) coordinate is mapped to the center point of the projected picture. Referring to FIG. 11, a projected picture in which discontinuous boundaries are less than a picture projected through a conventional CMP based on the symmetric projection-applied CMP can be derived.
한편, 상술한 내용과 같이 대칭 프로젝션이 적용된 프로젝션 타입을 기반으로 불연속한 경계가 적은 픽처가 도출될 수 있는바, 상기 픽처를 사용하여 참조 픽처 리스트를 구성하는 방안이 제안될 수 있다. On the other hand, as described above, a discontinuous picture with few boundaries can be derived based on the projection type to which the symmetric projection is applied, and a method of constructing a reference picture list using the picture can be proposed.
도 12는 대칭 프로젝션이 적용된 프로젝션 타입을 기반으로 도출된 픽처가 포함된 참조 픽처 리스트의 일 예를 나타낸다. 도 12에 도시된 것과 같이 현재 픽처에 대한 L0 및 L1가 도출될 수 있다. 예를 들어, 상기 현재 픽처의 POC(picture order count)는 3 일 수 있고, 상기 현재 픽처에 대한 L0는 POC가 0인 픽처 및 POC가 4인 픽처를 포함하되, 상기 POC가 0인 픽처 및 상기 POC가 4인 픽처 순으로 포함할 수 있고, 상기 현재 픽처에 대한 L1은 상기 POC가 0인 픽처 및 상기 POC가 4인 픽처를 포함하되, 상기 POC가 4인 픽처 및 상기 POC가 0인 픽처 순으로 포함할 수 있다. 즉, 상기 L0는 {POC 0, POC 4} 로 나타낼 수 있고, 상기 L1은 {POC 4, POC 0} 로 나타낼 수 있다. 상기 현재 픽처 내 현재 블록(1200)에 대하여 인터 예측이 적용되는 경우, 상기 참조 픽처 리스트에 포함된 참조 픽처들 내 블록들 중 상기 현재 블록(1200)과 가장 유사한 블록이 상기 현재 블록(1200)의 참조 블록으로 도출될 수 있다. 예를 들어, 상기 L0 의 상기 POC가 0인 픽처에 상기 현재 블록(1200)의 참조 블록 P0(1210) 이 포함될 수 있다. 하지만, 도 12에 도시된 것과 같이 상기 참조 블록 P0(1210)는 상기 POC가 0인 픽처의 경계에 인접한 영역에 위치할 수 있고, 부분적으로 가용(available)할 수 있다.12 shows an example of a reference picture list including a picture derived based on a projection type to which a symmetrical projection is applied. L0 and L1 for the current picture can be derived as shown in Fig. For example, the picture order count (POC) of the current picture may be 3, the picture L0 for the current picture may include a picture having a POC of 0 and a picture having a POC of 4, A picture having a POC of 4 and a picture having a POC of 4 and a picture having a POC of 4 and a picture having a POC of 4 and a picture having a POC of 0 As shown in FIG. That is, L0 can be expressed as {POC0, POC4}, and L1 can be expressed as {POC4, POC0}. When inter prediction is applied to the current block in the current picture 1200, a block most similar to the current block 1200 among the blocks in the reference pictures included in the reference picture list is included in the current block 1200 Can be derived as a reference block. For example, a reference block P0 1210 of the current block 1200 may be included in a picture having the POC of 0 in L0. However, as shown in FIG. 12, the reference block P0 1210 may be located in an area adjacent to the boundary of the picture with the POC of 0, and may be partially available.
기존의 인터 예측이 수행되는 경우, 상기 참조 블록 P0(1210)의 좌측 경계에 위치하는 샘플들을 기반으로 가용하지 않은 영역의 샘플들이 패딩될 수 있다. When the existing inter prediction is performed, the samples of the non-available region may be padded based on the samples located at the left boundary of the reference block P0 (1210).
하지만, 상술한 내용과 같이 상기 대칭 프로젝션이 적용된 프로젝션 타입을 기반으로 도출된 참조 픽처가 상기 현재 픽처에 대한 참조 픽처 리스트 L0 및/또는 참조 픽처 리스트 L1에 포함될 수 있다. 예를 들어, 상기 POC가 0인 픽처에 대한 360도 비디오가 특정 각도로 회전될 수 있고, 상기 회전된 360도 비디오가 프로젝션된 참조 픽처가 도출될 수 있다. 상기 프로젝션된 참조 픽처는 POC0'라고 나타낼 수 있다.However, as described above, the reference picture derived based on the projection type to which the symmetric projection is applied can be included in the reference picture list L0 and / or the reference picture list L1 for the current picture. For example, a 360 degree video for the POC of 0 can be rotated at a specific angle, and a reference picture projected from the rotated 360 degree video can be derived. The projected reference picture may be represented as POC0 '.
이 경우, 상기 POC0'내 상기 참조 블록 P0(1210)와 대응하는 위치의 참조 블록 P0'(1220)가 상기 현재 블록(1200)의 참조 블록으로 도출될 수 있는바, 참조 블록 P0'(1220)는 픽처의 경계에 인접한 영역에 위치하지 않고 가용(available)할 수 있다. 따라서, 상기 참조 블록 P0'(1220)를 기반으로 상기 현재 블록(1200)에 대한 인터 예측을 수행하는 것이 상기 패딩된 영역을 포함하는 참조 블록 P0(1210)을 기반으로 인터 예측을 수행하는 것보다 예측 정확도 및 코딩 효율을 향상시킬 수 있다. In this case, since the reference block P0 '1220 at the position corresponding to the reference block P0 1210 in the POC0' can be derived as a reference block of the current block 1200, the reference block P0 ' Can be available without being located in an area adjacent to the boundary of the picture. Therefore, performing inter-prediction on the current block 1200 based on the reference block P0 '1220 is more efficient than performing inter-prediction based on the reference block P0 1210 including the padded region Prediction accuracy and coding efficiency can be improved.
도 13은 상기 대칭 프로젝션이 적용된 프로젝션 타입을 기반으로 도출된 픽처를 포함한 상기 참조 픽처 리스트을 구성하는 방안을 예시적으로 나타낸다.FIG. 13 exemplarily shows a method for constructing the reference picture list including pictures derived based on the projection type to which the symmetrical projection is applied.
인코딩 장치/디코딩 장치는 현재 픽처의 숏텀 참조 픽처(short-term reference picture)를 상기 현재 픽처에 대한 참조 픽처 리스트(reference picture list)에 포함할 수 있다(S1300). 예를 들어, 상기 현재 픽처가 POC 가 3인 픽처인 경우, 상기 현재 픽처의 상기 숏텀 참조 픽처는 POC 가 0인 픽처 및 POC 가 4인 픽처를 포함할 수 있다. 이 경우, 상기 POC 가 0인 픽처 및 상기 POC 가 4인 픽처는 상기 현재 픽처에 대한 상기 참조 픽처 리스트로 포함할 수 있다. 상기 참조 픽처 리스트에 포함되는 참조 픽처들은 상기 현재 픽처와 해당 참조 픽처 간의 POC(Picture order count) 차이 기반으로 정렬될 수 있다.The encoding apparatus / decoding apparatus may include a short-term reference picture of the current picture in a reference picture list for the current picture (S1300). For example, if the current picture is a POC 3 picture, the short reference picture of the current picture may include a picture having a POC of 0 and a picture having a POC of 4. In this case, a picture having the POC of 0 and a picture having the POC of 4 can be included in the reference picture list for the current picture. The reference pictures included in the reference picture list may be arranged based on a picture order count (POC) difference between the current picture and the corresponding reference picture.
인코딩 장치/디코딩 장치는 현재 픽처의 수정된(modified) 숏텀 참조 픽처를 상기 현재 픽처에 대한 참조 픽처 리스트에 포함할 수 있다(S1310). 상기 수정된 숏텀 참조 픽처는 특정 각도로 회전된 상기 숏텀 참조 픽처에 대한 360도 비디오가 프로젝션된 참조 픽처를 나타낼 수 있다. 예를 들어, 상기 POC가 0인 픽처에 대한 360도 비디오가 특정 각도로 회전될 수 있고, 상기 회전된 360도 비디오가 프로젝션된 수정된 POC가 0인 참조 픽처가 도출될 수 있다. 또한, 상기 POC가 4인 픽처에 대한 360도 비디오가 특정 각도로 회전될 수 있고, 상기 회전된 360도 비디오가 프로젝션된 수정된 POC가 4인 참조 픽처가 도출될 수 있다.The encoding apparatus / decoding apparatus may include a modified short time reference picture of the current picture in the reference picture list for the current picture (S1310). The modified short-term reference picture may represent a reference picture in which a 360-degree video for the short-term reference picture rotated at a certain angle is projected. For example, a 360 degree video for the POC of 0 can be rotated at a specific angle, and a reference picture with a modified POC of 0, from which the rotated 360 degree video is projected, can be derived. Also, a 360-degree video for the POC 4 can be rotated at a specific angle, and a reference picture with the modified POC 4 for which the rotated 360-degree video is projected can be derived.
인코딩 장치/디코딩 장치는 현재 픽처의 롱텀 참조 픽처(long-term reference picture)를 상기 현재 픽처에 대한 참조 픽처 리스트에 포함할 수 있다(S1320).The encoding apparatus / decoding apparatus may include a long-term reference picture of the current picture in the reference picture list for the current picture (S1320).
도 14는 본 발명에 따른 인코딩 장치에 의한 비디오 인코딩 방법을 개략적으로 나타낸다. 도 14에서 개시된 방법은 도 3에서 개시된 인코딩 장치에 의하여 수행될 수 있다. 구체적으로 예를 들어, 도 14의 S1400 내지 S1420은 상기 인코딩 장치의 프로젝션 처리부 및 예측부에 의하여 수행될 수 있고, S1430은 상기 인코딩 장치의 엔트로피 인코딩부에 의하여 수행될 수 있다. 14 schematically shows a video encoding method by the encoding apparatus according to the present invention. The method disclosed in Fig. 14 can be performed by the encoding apparatus disclosed in Fig. Specifically, for example, S1400 to S1420 in FIG. 14 can be performed by the projection processing unit and the prediction unit of the encoding apparatus, and S1430 can be performed by the entropy encoding unit of the encoding apparatus.
인코딩 장치는 360도 영상에 대한 회전 파라미터들을 도출한다(S1400). The encoding device derives the rotation parameters for the 360 degree image (S1400).
인코딩 장치는 현재 픽처에 대한 참조 픽처의 불연속 경계가 최소화되도록 하는 특정 요 값, 특정 피치 값 및 특정 롤 값들을 상기 회전 파라미터들로 도출할 수 있다. 여기서, 상기 참조 픽처는 프로젝션 타입을 기반으로 상기 360도 영상이 프로젝션된 픽처일 수 있다. 즉, 상기 참조 픽처는 상기 360도 영상이 상기 3D 공간 상의 중점(center point)이 상기 참조 픽처의 중심(center)에 맵핑되도록 프로젝션된 픽처일 수 있다. 여기서 상기 3D 공간 상의 중점이란, 상기 3D 공간 상의 오리엔테이션(orientation)이라고 불릴 수 있다. The encoding apparatus may derive a specific yaw value, a specific pitch value and a specific roll value, which cause the discontinuous boundary of the reference picture for the current picture to be minimized, with the rotation parameters. Here, the reference picture may be a picture on which the 360-degree image is projected based on a projection type. That is, the reference picture may be a picture projected so that the 360-degree image is mapped to a center of the reference picture in the 3D space. Here, the center of gravity in the 3D space may be referred to as an orientation in the 3D space.
또한, 상기 불연속 경계는 프로젝션된 상기 360도 영상이 연속되지 않는 경계를 나타낼 수 있다. 상기 프로젝션 타입이 ERP(Equirectangular Projection)인 경우, 상기 참조 픽처의 불연속 경계는 상측 경계, 하측 경계, 좌측 경계 및 우측 경계로 도출될 수 있다. 또한, 상기 프로젝션 타입이 CMP(Cube Map Projection)인 경우, 상기 참조 픽처의 상기 불연속 경계는 상측 경계, 하측 경계, 좌측 경계, 우측 경계 및 중심 수평 경계로 도출될 수 있다. 여기서, 상기 중심 수평 경계는 상기 참조 픽처의 중점을 지나는 수평선일 수 있다. 한편, 인코딩 장치는 상기 회전 파라미터들을 나타내는 정보를 생성할 수도 있다. 즉, 인코딩 장치는 상기 특정 요 값을 나타내는 정보, 상기 특정 피치 값을 나타내는 정보, 상기 특정 롤 값을 나타내는 정보를 생성할 수 있다.In addition, the discontinuous boundary may represent a boundary where the projected 360 degree image is not continuous. If the projection type is Equirectangular Projection (ERP), the discontinuous boundary of the reference picture may be derived as an upper boundary, a lower boundary, a left boundary, and a right boundary. Also, when the projection type is CMP (Cube Map Projection), the discontinuous boundary of the reference picture may be derived as an upper boundary, a lower boundary, a left boundary, a right boundary, and a center horizontal boundary. Here, the center horizontal boundary may be a horizontal line passing the center of the reference picture. On the other hand, the encoding apparatus may generate information indicating the rotation parameters. That is, the encoding apparatus can generate information indicating the specific desired value, information indicating the specific pitch value, and information indicating the specific roll value.
인코딩 장치는 상기 360도 영상에 대한 프로젝션 타입 및 상기 회전 파라미터들을 기반으로 상기 360도 영상을 처리하여 회전된 참조 픽처를 획득한다(S1410). 여기서, 상기 프로젝션 타입은 ERP(Equirectangular Projection) 일 수 있고, 상기 3D 공간은 구형면일 수 있고, 상기 특정 요 값은 180, 상기 특정 피치 값은 0, 상기 특정 롤 값은 90 으로 도출될 수 있다. 또는, 상기 프로젝션 타입은 ERP(Equirectangular Projection) 일 수 있고, 상기 3D 공간은 구형면일 수 있고, 상기 특정 요 값은 180, 상기 특정 피치 값은 0, 상기 특정 롤 값은 -90 으로 도출될 수 있다. 또는, 상기 프로젝션 타입은 CMP(Cube Map Projection) 일 수 있고, 상기 3D 공간은 큐브(cube)일 수 있고, 상기 특정 요 값은 0, 상기 특정 피치 값은 0, 상기 특정 롤 값은 90 으로 도출될 수 있다.The encoding apparatus processes the 360-degree image based on the projection type and the rotation parameters for the 360-degree image to obtain a rotated reference picture (S1410). Here, the projection type may be an ERP (Equirectangular Projection), the 3D space may be a spherical surface, the specific desired value may be 180, the specific pitch value may be 0, and the specific roll value may be 90. [ Alternatively, the projection type may be an ERP (Equirectangular Projection), the 3D space may be a spherical surface, the specific yaw value may be 180, the specific pitch value may be 0, and the specific roll value may be -90 . Alternatively, the projection type may be CMP (Cube Map Projection), the 3D space may be a cube, the specific yaw value is 0, the specific pitch value is 0, and the specific roll value is 90 .
인코딩 장치는 상기 360도 영상에 대한 상기 프로젝션 타입 및 상기 회전 파라미터들을 기반으로 3D 공간(3D 프로젝션 구조) 상의 상기 360도 영상을 2D 이미지(또는 픽처)에 프로젝션할 수 있고, 회전된 참조 픽처를 획득할 수 있다. The encoding apparatus can project the 360-degree image on the 3D space (3D projection structure) onto the 2D image (or picture) based on the projection type and the rotation parameters for the 360-degree image, and obtains the rotated reference picture can do.
구체적으로, 인코딩 장치는 상기 3D 공간 상의 상기 360도 영상 및 상기 회전 파라미터들을 기반으로 회전된 360도 영상을 도출하고, 상기 회전된 360도 영상의 중심인 특정 위치가 상기 회전된 참조 픽처의 중점에 맵핑되도록 상기 360도 영상을 2D 픽처에 프로젝션하여 상기 회전된 참조 픽처를 도출할 수 있다. 즉, 상기 회전된 참조 픽처는 상기 360도 영상이 상기 3D 공간 상의 특정 위치가 상기 회전된 참조 픽처의 중심(center)에 맵핑되도록 프로젝션된 픽처일 수 있다.Specifically, the encoding device derives the 360-degree image on the 3D space and the rotated 360-degree image based on the rotation parameters, and the specific position, which is the center of the rotated 360-degree image, The 360-degree image may be projected onto the 2D picture so as to be mapped to derive the rotated reference picture. That is, the rotated reference picture may be a picture that is projected so that the 360-degree image is mapped to a center of the rotated reference picture at a specific position in the 3D space.
상기 3D 공간 상의 상기 360도 영상은 상기 회전 파라미터들을 기반으로 도출되는 상기 3D 공간 상의 특정 위치가 상기 회전된 참조 픽처의 중심(center)에 맵핑되도록 프로젝션될 수 있다. 여기서, 상기 회전 파라미터들은 특정 피치 값, 특정 요 값 및 특정 롤 값을 포함할 수 있고, 상기 특정 위치는 상기 3D 공간 상에서 요 성분이 상기 특정 요 값, 피치 성분이 상기 특정 피치 값, 롤 성분이 상기 특정 롤 값인 위치일 수 있다. 즉, 상기 특정 위치는 상기 3D 공간 상의 중점에서 상기 회전 파라미터들만큼 이동한 위치일 수 있다. 또는, 상기 360도 영상이 상기 3D 공간 상의 중점을 중심으로 프로젝션되어 상기 회전된 참조 픽처가 도출될 수 있고, 상기 회전 파라미터들을 기반으로 상기 회전된 참조 픽처 내 360도 비디오가 회전될 수도 있다. The 360-degree image in the 3D space may be projected so that a specific position in the 3D space derived based on the rotation parameters is mapped to a center of the rotated reference picture. Herein, the rotation parameters may include a specific pitch value, a specific yaw value, and a specific roll value, and the specific position may be determined such that the yaw component is the specific yaw value, the pitch component is the specific pitch value, And may be a position that is the specific roll value. That is, the specific position may be a position shifted by the rotation parameters at a midpoint on the 3D space. Alternatively, the 360-degree image may be projected around a center point in the 3D space to derive the rotated reference picture, and the 360-degree video in the rotated reference picture may be rotated based on the rotation parameters.
또한, 인코딩 장치는 여러 프로젝션 타입(projection type)들 중 상기 360도 영상에 대한 프로젝션 타입에 따라 2D 이미지(또는 픽처)에 프로젝션을 수행할 수 있고, 상기 회전된 참조 픽처를 획득할 수 있다. 상기 프로젝션 타입은 상술한 프로젝션 방법에 대응할 수 있다. 상기 여러 프로젝션 타입들은 Equirectangular Projection (ERP), cube map projection(CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP), Truncated Square Pyramid projection (TSP), Segmented Sphere Projection (SSP) and Equal Area Projection (EAP) 을 포함할 수 있다. 상기 360도 영상은 각 프로젝션 타입의 3D 프로젝션 구조의 페이스(face)들에 맵핑될 수 있고, 상기 페이스들은 상기 회전된 참조 픽처에 프로젝션될 수 있다. 즉, 상기 회전된 참조 픽처는 각 프로젝션 타입의 3D 프로젝션 구조의 페이스들을 포함할 수 있다. 예를 들어, 상기 360도 영상은 CMP(cube map projection)를 기반으로 상기 회전된 참조 픽처에 프로젝션될 수 있고, 이 경우, 상기 3D 프로젝션 구조는 큐브(cube)일 수 있다. 이 경우, 상기 360도 영상은 상기 큐브의 6개의 페이스들에 맵핑될 수 있고, 상기 페이스들은 상기 회전된 참조 픽처에 프로젝션될 수 있다. 다른 예로, 상기 360도 영상은 ISP(Icosahedral Projection)를 기반으로 상기 회전된 참조 픽처에 프로젝션될 수 있고, 이 경우, 상기 3D 프로젝션 구조는 이십면체일 수 있다. 다른 예로, 상기 360도 영상은 OHP(Octahedron Projection)를 기반으로 상기 회전된 참조 픽처에 프로젝션될 수 있고, 이 경우, 상기 3D 프로젝션 구조는 팔면체일 수 있다. 또한, 인코딩 장치는 상기 회전된 참조 픽처의 페이스들 각각을 회전, 재배열하거나, 각 페이스의 레졸루션을 변경하는 등의 처리를 수행할 수 있다.In addition, the encoding apparatus can perform projection on a 2D image (or a picture) according to a projection type for the 360-degree image among a plurality of projection types, and obtain the rotated reference picture. The projection type may correspond to the projection method described above. The various types of projections include Equirectangular Projection (ERP), Cube Map Projection (CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP), Truncated Square Pyramid Projection (TSP), Segmented Sphere Projection ). The 360 degree image can be mapped to the faces of the 3D projection structure of each projection type, and the faces can be projected onto the rotated reference picture. That is, the rotated reference picture may include paces of a 3D projection structure of each projection type. For example, the 360-degree image may be projected onto the rotated reference picture based on a cube map projection (CMP), in which case the 3D projection structure may be a cube. In this case, the 360 degree image may be mapped to six faces of the cube, and the faces may be projected to the rotated reference picture. As another example, the 360 degree image may be projected onto the rotated reference picture based on ISP (Icosahedral Projection), in which case the 3D projection structure may be a twentieth face. As another example, the 360-degree image may be projected onto the rotated reference picture based on an Octahedron Projection (OHP), in which case the 3D projection structure may be octahedral. In addition, the encoding apparatus may perform processing such as rotating and rearranging the faces of the rotated reference picture, changing resolutions of the respective faces, and the like.
인코딩 장치는 상기 회전된 참조 픽처를 기반으로 상기 현재 픽처에 대한 참조 픽처 리스트를 도출한다(S1420). 상기 참조 픽처 리스트는 참조 픽처 리스트 0(List 0, L0) 및/또는 참조 픽처 리스트 1(List 1, L1)을 포함할 수 있다. 상기 참조 픽처 리스트에 포함되는 참조 픽처들은 상기 현재 픽처와 해당 참조 픽처 간의 POC(Picture order count) 차이 기반으로 정렬될 수 있다. POC는 픽처의 디스플레이 순서에 대응하며, 코딩 순서와 구분될 수 있다. 상기 참조 픽처 리스트는 상기 회전된 참조 픽처를 포함할 수 있다. The encoding apparatus derives a reference picture list for the current picture based on the rotated reference picture (S1420). The reference picture list may include a reference picture list 0 (List 0, L0) and / or a reference picture list 1 (List 1, L1). The reference pictures included in the reference picture list may be arranged based on a picture order count (POC) difference between the current picture and the corresponding reference picture. The POC corresponds to the display order of the pictures and can be distinguished from the coding order. The reference picture list may include the rotated reference pictures.
또한, 상기 참조 픽처 리스트는 상기 360도 영상이 프로젝션된 참조 픽처를 포함할 수 있다. 여기서, 상기 참조 픽처는 상기 360도 영상이 상기 3D 공간 상의 원점이 상기 참조 픽처의 중심에 맵핑되도록 프로젝션된 픽처일 수 있다. 이 경우, 상기 참조 픽처 리스트는 상기 참조 픽처, 상기 회전된 참조 픽처 순으로 정렬될 수 있다. 한편, 상기 회전된 참조 픽처는 상기 참조 픽처보다 더 작은 불연속 경계를 포함할 수 있다. 상기 불연속 경계는 프로젝션된 상기 360도 영상이 연속되지 않는 경계를 나타낼 수 있다.In addition, the reference picture list may include a reference picture in which the 360-degree image is projected. Here, the reference picture may be a picture projected so that the 360-degree image is mapped to the center of the reference picture in the 3D space. In this case, the reference picture list may be arranged in the order of the reference picture and the rotated reference picture. On the other hand, the rotated reference picture may include a discontinuous boundary smaller than the reference picture. The discontinuous boundary may represent a boundary where the projected 360 degree image is not continuous.
인코딩 장치는 상기 현재 픽처에 대한 360도 비디오 정보를 생성하고 인코딩하여 출력한다(S1440). 인코딩 장치는 상기 현재 픽처에 대한 상기 360도 비디오 정보를 생성할 수 있고, 상기 360도 비디오 정보를 인코딩하여 비트스트림을 통하여 출력할 수 있고, 상기 비트스트림은 네트워크를 통하여 전송될 수 있고, 또는, 기록 매체(A non-transitory computer readable medium)에 저장될 수 있다. The encoding apparatus generates 360-degree video information for the current picture, encodes it, and outputs the 360-degree video information (S1440). The encoding device may generate the 360-degree video information for the current picture, and may encode the 360-degree video information and output it through a bitstream, the bitstream may be transmitted over a network, May be stored in a non-transitory computer readable medium.
또한, 상기 360도 비디오 정보는 프로젝션 타입을 나타내는 정보를 포함할 수 있다. 상기 프로젝션 타입은 여러 프로젝션 타입들 중 하나일 수 있고, 상기 여러 프로젝션 타입들은 상술한 Equirectangular Projection (ERP), cube map projection(CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP), Truncated Square Pyramid projection (TSP), Segmented Sphere Projection (SSP) and Equal Area Projection (EAP) 을 포함할 수 있다.In addition, the 360-degree video information may include information indicating a projection type. The projection type may be one of a plurality of projection types, and the various projection types may be classified into Equirectangular Projection (ERP), Cube Map Projection (CMP), Icosahedral Projection (ISP), Octahedron Projection (TSP), Segmented Sphere Projection (SSP), and Equal Area Projection (EAP).
또한, 상기 360도 비디오 정보는 상기 회전 파라미터들을 나타내는 정보를 포함할 수 있다. 즉, 상기 360도 비디오 정보는 상기 특정 요 값을 나타내는 정보, 상기 특정 피치 값을 나타내는 정보 및 상기 특정 롤 값을 나타내는 정보를 포함할 수 있다.In addition, the 360-degree video information may include information indicating the rotation parameters. That is, the 360-degree video information may include information indicating the specific yaw value, information indicating the specific pitch value, and information indicating the specific roll value.
한편, 비록 도면에서 도시되지는 않았으나 상기 참조 픽처 리스트를 기반으로 인터 예측이 수행되어 상기 현재 픽처에 대한 디코딩이 수행되는 경우, 인코딩 장치는 상기 현재 픽처에 대한 예측 샘플을 도출할 수 있다. 또한, 인코딩 장치는 원본 샘플과 상기 도출된 예측 샘플을 기반으로 레지듀얼(residual) 샘플을 생성할 수 있다. 상기 레지듀얼 샘플이 생성되는 경우, 인코딩 장치는 상기 레지듀얼 샘플을 기반으로 상기 레지듀얼에 관한 정보를 생성할 수 있다. 상기 레지듀얼에 관한 정보는 상기 레지듀얼 샘플에 관한 변환 계수들을 포함할 수 있다. 인코딩 장치는 상기 예측 샘플과 상기 레지듀얼 샘플을 기반으로 상기 복원 샘플을 도출할 수 있다. 즉, 인코딩 장치는 상기 예측 샘플과 상기 레지듀얼 샘플을 더하여 상기 복원 샘플을 도출할 수 있다. 또한, 인코딩 장치는 상기 레지듀얼에 관한 정보를 인코딩하여 비트스트림 형태로 출력할 수 있다. 상기 비트스트림은 네트워크 또는 저장매체를 통하여 디코딩 장치로 전송될 수 있다.Meanwhile, although not shown in the figure, when the inter-prediction is performed based on the reference picture list to perform decoding on the current picture, the encoding apparatus can derive a prediction sample for the current picture. In addition, the encoding apparatus may generate residual samples based on the original sample and the derived prediction samples. When the residual samples are generated, the encoding apparatus can generate information on the residuals based on the residual samples. The information on the residual may include transform coefficients relating to the residual sample. The encoding apparatus may derive the reconstructed sample based on the prediction sample and the residual sample. That is, the encoding apparatus may add the prediction sample and the residual sample to derive the reconstructed sample. Also, the encoding apparatus can encode the information on the residual and output it in the form of a bit stream. The bitstream may be transmitted to a decoding device via a network or a storage medium.
도 15는 본 발명에 따른 디코딩 장치에 의한 비디오 디코딩 방법을 개략적으로 나타낸다. 도 15에서 개시된 방법은 도 4에서 개시된 디코딩 장치에 의하여 수행될 수 있다. 구체적으로 예를 들어, 도 15의 S1500 내지 S1530은 상기 디코딩 장치의 예측부 및 리-프로젝션 처리부에 의하여 수행될 수 있다.15 schematically shows a video decoding method by a decoding apparatus according to the present invention. The method disclosed in Fig. 15 can be performed by the decoding apparatus disclosed in Fig. Specifically, for example, steps S1500 to S1530 of FIG. 15 may be performed by the predicting unit and the re-projection processing unit of the decoding apparatus.
디코딩 장치는 360도 영상에 대한 회전 파라미터들을 도출한다(S1500). 디코딩 장치는 참조 픽처의 불연속 경계가 최소화되도록 하는 특정 요 값, 특정 피치 값 및 특정 롤 값들을 상기 회전 파라미터들로 도출할 수 있다. 여기서, 상기 참조 픽처는 프로젝션 타입을 기반으로 상기 360도 영상이 프로젝션된 픽처일 수 있다. 즉, 상기 참조 픽처는 상기 360도 영상이 상기 3D 공간 상의 중점(center point)이 상기 참조 픽처의 중심(center)에 맵핑되도록 프로젝션된 픽처일 수 있다. 여기서 상기 3D 공간 상의 중점이란, 상기 3D 공간 상의 오리엔테이션(orientation)이라고 불릴 수 있다. The decoding apparatus derives the rotation parameters for the 360-degree image (S1500). The decoding apparatus may derive a specific yaw value, a specific pitch value, and specific roll values such that the discontinuous boundary of the reference picture is minimized with the rotation parameters. Here, the reference picture may be a picture on which the 360-degree image is projected based on a projection type. That is, the reference picture may be a picture projected so that the 360-degree image is mapped to a center of the reference picture in the 3D space. Here, the center of gravity in the 3D space may be referred to as an orientation in the 3D space.
또한. 상기 불연속 경계는 프로젝션된 상기 360도 영상이 연속되지 않는 경계를 나타낼 수 있다. 상기 프로젝션 타입이 ERP(Equirectangular Projection)인 경우, 상기 참조 픽처의 상기 불연속한 경계는 상측 경계, 하측 경계, 좌측 경계 및 우측 경계로 도출될 수 있다. 또한, 상기 프로젝션 타입이 CMP(Cube Map Projection)인 경우, 상기 참조 픽처의 상기 불연속 경계는 상측 경계, 하측 경계, 좌측 경계, 우측 경계 및 중심 수평 경계로 도출될 수 있다. 여기서, 상기 중심 수평 경계는 상기 참조 픽처의 중점을 지나는 수평선일 수 있다. 한편, 디코딩 장치는 상기 회전 파라미터들을 나타내는 정보를 생성할 수도 있다. 즉, 디코딩 장치는 상기 특정 요 값을 나타내는 정보, 상기 특정 피치 값을 나타내는 정보, 상기 특정 롤 값을 나타내는 정보를 생성할 수도 있다.Also. The discontinuous boundary may represent a boundary where the projected 360 degree image is not continuous. If the projection type is Equirectangular Projection (ERP), the discontinuous boundary of the reference picture may be derived as an upper boundary, a lower boundary, a left boundary, and a right boundary. Also, when the projection type is CMP (Cube Map Projection), the discontinuous boundary of the reference picture may be derived as an upper boundary, a lower boundary, a left boundary, a right boundary, and a center horizontal boundary. Here, the center horizontal boundary may be a horizontal line passing the center of the reference picture. On the other hand, the decoding apparatus may generate information indicating the rotation parameters. That is, the decoding apparatus may generate information indicating the specific yaw value, information indicating the specific pitch value, and information indicating the specific roll value.
또는, 디코딩 장치는 비트스트림을 통하여 360도 비디오 정보를 수신할 수 있고, 상기 360도 비디오 정보는 상기 회전 파라미터들을 나타내는 정보를 포함할 수 있다. 즉, 상기 360도 비디오 정보는 상기 특정 요 값을 나타내는 정보, 상기 특정 피치 값을 나타내는 정보 및 상기 특정 롤 값을 나타내는 정보를 포함할 수 있다.Alternatively, the decoding apparatus may receive 360-degree video information through a bitstream, and the 360-degree video information may include information indicative of the rotation parameters. That is, the 360-degree video information may include information indicating the specific yaw value, information indicating the specific pitch value, and information indicating the specific roll value.
디코딩 장치는 상기 360도 영상에 대한 프로젝션 타입 및 상기 회전 파라미터들을 기반으로 상기 360도 영상을 처리하여 회전된 참조 픽처를 획득한다(S1510). 여기서, 상기 프로젝션 타입은 ERP(Equirectangular Projection) 일 수 있고, 상기 3D 공간은 구형면일 수 있고, 상기 특정 요 값은 180, 상기 특정 피치 값은 0, 상기 특정 롤 값은 90 으로 도출될 수 있다. 또는, 상기 프로젝션 타입은 ERP(Equirectangular Projection) 일 수 있고, 상기 3D 공간은 구형면일 수 있고, 상기 특정 요 값은 180, 상기 특정 피치 값은 0, 상기 특정 롤 값은 -90 으로 도출될 수 있다. 또는, 상기 프로젝션 타입은 CMP(Cube Map Projection) 일 수 있고, 상기 3D 공간은 큐브(cube)일 수 있고, 상기 특정 요 값은 0, 상기 특정 피치 값은 0, 상기 특정 롤 값은 90 으로 도출될 수 있다. 한편, 상기 360도 비디오 정보는 상기 프로젝션 타입을 나타내는 프로젝션 타입 정보를 포함할 수 있고, 상기 프로젝션 타입은 상기 프로젝션 타입 정보를 기반으로 도출될 수 있다. 여기서, 상기 프로젝션 타입은 Equirectangular Projection(ERP), cube map projection(CMP), Icosahedral Projection(ISP), Octahedron Projection(OHP), Truncated Square Pyramid projection (TSP), Segmented Sphere Projection(SSP) 및 Equal Area Projection(EAP) 중 하나일 수 있다.The decoding apparatus processes the 360-degree image based on the projection type and the rotation parameters for the 360-degree image to obtain a rotated reference picture (S1510). Here, the projection type may be an ERP (Equirectangular Projection), the 3D space may be a spherical surface, the specific desired value may be 180, the specific pitch value may be 0, and the specific roll value may be 90. [ Alternatively, the projection type may be an ERP (Equirectangular Projection), the 3D space may be a spherical surface, the specific yaw value may be 180, the specific pitch value may be 0, and the specific roll value may be -90 . Alternatively, the projection type may be CMP (Cube Map Projection), the 3D space may be a cube, the specific yaw value is 0, the specific pitch value is 0, and the specific roll value is 90 . On the other hand, the 360-degree video information may include projection type information indicating the projection type, and the projection type may be derived based on the projection type information. Here, the projection type includes an Equal Projection (ERP), a Cube Map Projection (CMP), an Icosahedral Projection (ISP), an Octahedron Projection (OHP), a Truncated Square Pyramid Projection (TSP), a Segmented Sphere Projection EAP).
디코딩 장치는 상기 360도 영상에 대한 상기 프로젝션 타입 및 상기 회전 파라미터들을 기반으로 3D 공간(3D 프로젝션 구조) 상의 상기 360도 영상을 2D 이미지(또는 픽처)에 프로젝션할 수 있고, 회전된 참조 픽처를 획득할 수 있다. The decoding apparatus can project the 360-degree image on the 3D space (3D projection structure) onto the 2D image (or picture) based on the projection type and the rotation parameters for the 360-degree image, and obtains the rotated reference picture can do.
구체적으로, 디코딩 장치는 상기 3D 공간 상의 상기 360도 영상 및 상기 회전 파라미터들을 기반으로 회전된 360도 영상을 도출하고, 상기 회전된 360도 영상의 중심인 특정 위치가 상기 회전된 참조 픽처의 중점에 맵핑되도록 상기 360도 영상을 2D 픽처에 프로젝션하여 상기 회전된 참조 픽처를 도출할 수 있다. 즉, 상기 회전된 참조 픽처는 상기 360도 영상이 상기 회전 파라미터들을 기반으로 도출된 상기 3D 공간 상의 특정 위치가 상기 회전된 참조 픽처의 중심(center)에 맵핑되도록 프로젝션된 픽처일 수 있다.Specifically, the decoding apparatus derives the 360-degree image on the 3D space and the rotated 360-degree image based on the rotation parameters, and the specific position, which is the center of the rotated 360-degree image, The 360-degree image may be projected onto the 2D picture so as to be mapped to derive the rotated reference picture. That is, the rotated reference picture may be a picture that is projected so that a specific position on the 3D space derived from the rotation parameters is mapped to a center of the rotated reference picture.
상기 3D 공간 상의 상기 360도 영상은 상기 회전 파라미터들을 기반으로 도출되는 상기 3D 공간 상의 특정 위치가 상기 회전된 참조 픽처의 중심(center)에 맵핑되도록 프로젝션될 수 있다. 여기서, 상기 회전 파라미터들은 특정 피치 값, 특정 요 값 및 특정 롤 값을 포함할 수 있고, 상기 특정 위치는 상기 3D 공간 상에서 요 성분이 상기 특정 요 값, 피치 성분이 상기 특정 피치 값, 롤 성분이 상기 특정 롤 값인 위치일 수 있다. 즉, 상기 특정 위치는 상기 3D 공간 상의 중점에서 상기 회전 파라미터들만큼 이동한 위치일 수 있다. 또는, 상기 360도 영상이 상기 3D 공간 상의 중점을 중심으로 프로젝션되어 상기 회전된 참조 픽처가 도출될 수 있고, 상기 회전 파라미터들을 기반으로 상기 회전된 참조 픽처 내 360도 영상이 회전될 수도 있다. The 360-degree image in the 3D space may be projected so that a specific position in the 3D space derived based on the rotation parameters is mapped to a center of the rotated reference picture. Herein, the rotation parameters may include a specific pitch value, a specific yaw value, and a specific roll value, and the specific position may be determined such that the yaw component is the specific yaw value, the pitch component is the specific pitch value, And may be a position that is the specific roll value. That is, the specific position may be a position shifted by the rotation parameters at a midpoint on the 3D space. Alternatively, the 360-degree image may be projected on a center point in the 3D space to derive the rotated reference picture, and the 360-degree picture in the rotated reference picture may be rotated based on the rotation parameters.
또한, 디코딩 장치는 여러 프로젝션 타입(projection type)들 중 상기 360도 영상에 대한 프로젝션 타입에 따라 2D 이미지(또는 픽처)에 프로젝션을 수행할 수 있고, 상기 회전된 참조 픽처를 획득할 수 있다. 상기 프로젝션 타입은 상술한 프로젝션 방법에 대응할 수 있다. 상기 여러 프로젝션 타입들은 Equirectangular Projection (ERP), cube map projection(CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP), Truncated Square Pyramid projection (TSP), Segmented Sphere Projection (SSP) and Equal Area Projection (EAP) 을 포함할 수 있다. 상기 360도 영상은 각 프로젝션 타입의 3D 프로젝션 구조의 페이스(face)들에 맵핑될 수 있고, 상기 페이스들은 상기 회전된 참조 픽처에 프로젝션될 수 있다. 즉, 상기 회전된 참조 픽처는 각 프로젝션 타입의 3D 프로젝션 구조의 페이스들을 포함할 수 있다. 예를 들어, 상기 360도 영상은 CMP(cube map projection)를 기반으로 상기 회전된 참조 픽처에 프로젝션될 수 있고, 이 경우, 상기 3D 프로젝션 구조는 큐브(cube)일 수 있다. 이 경우, 상기 360도 영상은 상기 큐브의 6개의 페이스들에 맵핑될 수 있고, 상기 페이스들은 상기 회전된 참조 픽처에 프로젝션될 수 있다. 다른 예로, 상기 360도 영상은 ISP(Icosahedral Projection)를 기반으로 상기 회전된 참조 픽처에 프로젝션될 수 있고, 이 경우, 상기 3D 프로젝션 구조는 이십면체일 수 있다. 다른 예로, 상기 360도 영상은 OHP(Octahedron Projection)를 기반으로 상기 회전된 참조 픽처에 프로젝션될 수 있고, 이 경우, 상기 3D 프로젝션 구조는 팔면체일 수 있다. 또한, 디코딩 장치는 상기 회전된 참조 픽처의 페이스들 각각을 회전, 재배열하거나, 각 페이스의 레졸루션을 변경하는 등의 처리를 수행할 수 있다.Also, the decoding apparatus can perform projection on a 2D image (or a picture) according to a projection type for the 360-degree image among a plurality of projection types, and obtain the rotated reference picture. The projection type may correspond to the projection method described above. The various types of projections include Equirectangular Projection (ERP), Cube Map Projection (CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP), Truncated Square Pyramid Projection (TSP), Segmented Sphere Projection ). The 360 degree image can be mapped to the faces of the 3D projection structure of each projection type, and the faces can be projected onto the rotated reference picture. That is, the rotated reference picture may include paces of a 3D projection structure of each projection type. For example, the 360-degree image may be projected onto the rotated reference picture based on a cube map projection (CMP), in which case the 3D projection structure may be a cube. In this case, the 360 degree image may be mapped to six faces of the cube, and the faces may be projected to the rotated reference picture. As another example, the 360 degree image may be projected onto the rotated reference picture based on ISP (Icosahedral Projection), in which case the 3D projection structure may be a twentieth face. As another example, the 360-degree image may be projected onto the rotated reference picture based on an Octahedron Projection (OHP), in which case the 3D projection structure may be octahedral. In addition, the decoding apparatus may perform processing such as rotating and rearranging the faces of the rotated reference picture, changing resolutions of the respective faces, and the like.
디코딩 장치는 상기 회전된 참조 픽처를 기반으로 상기 현재 픽처에 대한 참조 픽처 리스트를 도출한다(S1520). 상기 참조 픽처 리스트는 참조 픽처 리스트 0(List 0, L0) 및/또는 참조 픽처 리스트 1(List 1, L1)을 포함할 수 있다. 상기 참조 픽처 리스트에 포함되는 참조 픽처들은 상기 현재 픽처와 해당 참조 픽처 간의 POC(Picture order count) 차이 기반으로 정렬될 수 있다. POC는 픽처의 디스플레이 순서에 대응하며, 코딩 순서와 구분될 수 있다. 상기 참조 픽처 리스트는 상기 회전된 참조 픽처를 포함할 수 있다. The decoding apparatus derives a reference picture list for the current picture based on the rotated reference picture (S1520). The reference picture list may include a reference picture list 0 (List 0, L0) and / or a reference picture list 1 (List 1, L1). The reference pictures included in the reference picture list may be arranged based on a picture order count (POC) difference between the current picture and the corresponding reference picture. The POC corresponds to the display order of the pictures and can be distinguished from the coding order. The reference picture list may include the rotated reference pictures.
또한, 상기 참조 픽처 리스트는 상기 360도 영상이 프로젝션된 참조 픽처를 포함할 수 있다. 여기서, 상기 참조 픽처는 상기 360도 영상이 상기 3D 공간 상의 원점이 상기 참조 픽처의 중심에 맵핑되도록 프로젝션된 픽처일 수 있다. 이 경우, 상기 참조 픽처 리스트는 상기 참조 픽처, 상기 회전된 참조 픽처 순으로 정렬될 수 있다. 한편, 상기 회전된 참조 픽처는 상기 참조 픽처보다 더 작은 불연속 경계를 포함할 수 있다. 상기 불연속 경계는 프로젝션된 상기 360도 영상이 연속되지 않는 경계를 나타낼 수 있다.In addition, the reference picture list may include a reference picture in which the 360-degree image is projected. Here, the reference picture may be a picture projected so that the 360-degree image is mapped to the center of the reference picture in the 3D space. In this case, the reference picture list may be arranged in the order of the reference picture and the rotated reference picture. On the other hand, the rotated reference picture may include a discontinuous boundary smaller than the reference picture. The discontinuous boundary may represent a boundary where the projected 360 degree image is not continuous.
디코딩 장치는 상기 참조 픽처 리스트를 이용한 인터 예측을 기반으로 상기 현재 픽처를 디코딩한다(S1530). 디코딩 장치는 상기 현재 픽처의 현재 블록에 대한 인터 예측을 수행하여 예측 샘플을 생성할 수 있다. 디코딩 장치는 상기 현재 블록에 대한 움직임 정보를 도출할 수 있고, 상기 움직임 정보가 나타내는 상기 참조 픽처 리스트에 포함된 참조 픽처 내 참조 블록을 기반으로 상기 현재 블록의 예측 샘플을 생성할 수 있다.The decoding apparatus decodes the current picture based on the inter prediction using the reference picture list (S1530). The decoding apparatus may perform inter-prediction on the current block of the current picture to generate a prediction sample. The decoding apparatus may derive motion information on the current block and generate a prediction sample of the current block based on a reference block in the reference picture included in the reference picture list indicated by the motion information.
또한, 상기 현재 픽처의 상기 현재 블록에 대한 레지듀얼 샘플이 존재하지 않는 경우, 디코딩 장치는 상기 예측 샘플을 상기 현재 픽처에 대한 복원 샘플로 도출할 수 있고, 상기 현재 픽처의 상기 현재 블록에 대한 상기 레지듀얼 샘플이 존재하는 경우, 상기 예측 샘플에 상기 레지듀얼 샘플을 더하여 상기 현재 픽처에 대한 복원 샘플을 생성할 수 있다. If there is no residual sample for the current block of the current picture, the decoding apparatus may derive the prediction sample as a reconstructed sample for the current picture, and if the residual sample for the current block of the current picture does not exist, If there is a residual sample, the residual sample may be added to the prediction sample to generate a reconstruction sample for the current picture.
한편, 비록 도면에서 도시되지는 않았으나 상기 현재 픽처에 대한 레지듀얼 샘플이 존재하는 경우, 디코딩 장치는 상기 각 양자화 처리 단위에 대한 레지듀얼에 관한 정보를 수신할 수 있다. 상기 레지듀얼에 관한 정보는 상기 레지듀얼 샘플에 관한 변환 계수를 포함할 수 있다. 디코딩 장치는 상기 레지듀얼 정보를 기반으로 상기 현재 블록에 대한 상기 레지듀얼 샘플(또는 레지듀얼 샘플 어레이)을 도출할 수 있다. 디코딩 장치는 상기 예측 샘플과 상기 레지듀얼 샘플을 기반으로 복원 샘플을 생성할 수 있고, 상기 복원 샘플을 기반으로 복원 블록 또는 복원 픽처를 도출할 수 있다. 이후 디코딩 장치는 필요에 따라 주관적/객관적 화질을 향상시키기 위하여 디블록킹 필터링 및/또는 SAO 절차와 같은 인루프 필터링 절차를 상기 복원 픽처에 적용할 수 있음은 상술한 바와 같다.On the other hand, if there is a residual sample for the current picture, although not shown in the figure, the decoding apparatus can receive information on the residual for each quantization processing unit. The information on the residual may include a transform coefficient relating to the residual sample. The decoding apparatus may derive the residual sample (or residual sample array) for the current block based on the residual information. The decoding apparatus may generate a reconstructed sample based on the prediction sample and the residual sample, and may derive a reconstructed block or a reconstructed picture based on the reconstructed sample. Hereinafter, it is described that the decoding apparatus can apply an in-loop filtering procedure such as deblocking filtering and / or SAO procedure to the restored picture in order to improve subjective / objective picture quality as necessary.
또한, 디코딩 장치는 상기 프로젝션 타입을 기반으로 상기 디코딩된 현재 픽처의 360도 영상을 상기 3D 공간(3D 프로젝션 구조) 상에 리 프로젝션(re-projection)할 수 있다. 여기서, 상기 프로젝션 타입은 상기 ERP(Equirectangular Projection)일 수 있고, 상기 3D 공간은 구형면일 수 있다. In addition, the decoding apparatus can re-project a 360-degree image of the decoded current picture on the 3D space (3D projection structure) based on the projection type. Here, the projection type may be the ERP (Equirectangular Projection), and the 3D space may be a spherical surface.
상술한 본 발명에 따르면 360도 비디오에 대한 참조 픽처의 불연속 경계를 줄인 회전된 참조 픽처를 도출하고 상기 회전된 참조 픽처를 기반으로 참조 픽처 리스트를 도출할 수 있고, 이를 통하여 예측 정확도 및 전반적인 코딩 효율을 향상시킬 수 있다. According to the present invention described above, a rotated reference picture in which a discontinuous boundary of a reference picture for a 360-degree video is reduced can be derived, and a reference picture list can be derived based on the rotated reference picture. Through the prediction accuracy and the overall coding efficiency Can be improved.
또한, 본 발명에 따르면 360도 영상을 회전하고, 회전된 360도 영상을 프로젝션하여 참조 픽처를 도출할 수 있고, 이를 통하여 상기 프로젝션된 픽처의 불연속성으로 인한 예측 효율 저하를 줄일 수 있고, 전반적인 코딩 효율을 향상시킬 수 있다.In addition, according to the present invention, a reference picture can be derived by rotating a 360-degree image and projecting a rotated 360-degree image, thereby reducing prediction efficiency deterioration due to discontinuity of the projected picture, Can be improved.
상술한 실시예에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당업자라면 순서도에 나타내어진 단계들이 배타적이지 않고, 다른 단계가 포함되거나 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.In the above-described embodiments, while the methods are described on the basis of a flowchart as a series of steps or blocks, the present invention is not limited to the order of steps, and some steps may occur in different orders or in a different order than the steps described above have. It will also be appreciated by those skilled in the art that the steps depicted in the flowchart are not exclusive and that other steps may be included or that one or more steps in the flowchart may be deleted without affecting the scope of the invention.
상술한 본 발명에 따른 방법은 소프트웨어 형태로 구현될 수 있으며, 본 발명에 따른 인코딩 장치 및/또는 디코딩 장치는 예를 들어 TV, 컴퓨터, 스마트폰, 셋톱박스, 디스플레이 장치 등의 영상 처리를 수행하는 장치에 포함될 수 있다.The above-described method according to the present invention can be implemented in software, and the encoding apparatus and / or decoding apparatus according to the present invention can perform image processing of, for example, a TV, a computer, a smart phone, a set- Device.
본 발명에서 실시예들이 소프트웨어로 구현될 때, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리에 저장되고, 프로세서에 의해 실행될 수 있다. 메모리는 프로세서 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서와 연결될 수 있다. 프로세서는 ASIC(application-specific integrated circuit), 다른 칩셋, 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리는 ROM(read-only memory), RAM(random access memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다.When the embodiments of the present invention are implemented in software, the above-described method may be implemented by a module (a process, a function, and the like) that performs the above-described functions. The module is stored in memory and can be executed by the processor. The memory may be internal or external to the processor and may be coupled to the processor by any of a variety of well known means. The processor may comprise an application-specific integrated circuit (ASIC), other chipset, logic circuitry and / or a data processing device. The memory may include read-only memory (ROM), random access memory (RAM), flash memory, memory cards, storage media, and / or other storage devices.
Claims (15)
- 디코딩 장치에 의하여 수행되는 비디오 디코딩 방법에 있어서,A video decoding method performed by a decoding apparatus,상기 360도 영상에 대한 회전 파라미터들을 도출하는 단계; Deriving rotation parameters for the 360 degree image;상기 360도 영상에 대한 프로젝션 타입 및 상기 회전 파라미터들을 기반으로 상기 360도 비디오를 처리하여 회전된 참조 픽처를 획득하는 단계;Processing the 360 degree video based on the projection type and the rotation parameters for the 360 degree image to obtain a rotated reference picture;상기 회전된 참조 픽처를 기반으로 상기 현재 픽처에 대한 참조 픽처 리스트를 도출하는 단계; 및Deriving a reference picture list for the current picture based on the rotated reference picture; And상기 참조 픽처 리스트를 이용한 인터 예측을 기반으로 상기 현재 픽처를 디코딩하는 단계를 포함하되,And decoding the current picture based on inter prediction using the reference picture list,상기 회전된 참조 픽처는 상기 360도 영상이 상기 회전 파라미터들을 기반으로 도출된 상기 3D 공간 상의 특정 위치가 상기 회전된 참조 픽처의 중심(center)에 맵핑되도록 프로젝션된 픽처인 것을 특징으로 하는 영상 디코딩 방법.Wherein the rotated reference picture is a picture projected so that a specific position on the 3D space derived from the rotation parameters is mapped to a center of the rotated reference picture. .
- 제1항에 있어서,The method according to claim 1,상기 참조 픽처 리스트는 상기 360도 영상이 프로젝션된 참조 픽처를 포함하되,Wherein the reference picture list includes a reference picture to which the 360-degree picture is projected,상기 참조 픽처는 상기 360도 영상이 상기 3D 공간 상의 원점이 상기 참조 픽처의 중심에 맵핑되도록 프로젝션된 픽처인 것을 특징으로 하는 영상 디코딩 방법.Wherein the reference picture is a picture that is projected so that the 360-degree image is mapped to the center of the reference picture in the 3D space.
- 제1항에 있어서,The method according to claim 1,상기 360도 영상에 대한 상기 프로젝션 타입 및 상기 회전 파라미터들을 기반으로 상기 360도 영상을 처리하여 상기 회전된 참조 픽처를 획득하는 단계는, Processing the 360-degree image based on the projection type and the rotation parameters for the 360-degree image to obtain the rotated reference picture,상기 360도 영상 및 상기 회전 파라미터들을 기반으로 회전된 360도 영상을 도출하는 단계; 및Deriving the 360-degree image and the rotated 360-degree image based on the rotation parameters; And상기 프로젝션 타입을 기반으로 상기 회전된 360도 영상의 중심인 상기 특정 위치가 상기 회전된 참조 픽처의 중심에 맵핑되도록 상기 360도 영상을 2D 픽처에 프로젝션하여 상기 회전된 참조 픽처를 도출하는 단계를 포함하는 것을 특징으로 하는 영상 디코딩 방법.And projecting the rotated reference picture by projecting the 360-degree picture onto a 2D picture such that the specific position, which is the center of the rotated 360-degree picture, is mapped to the center of the rotated reference picture based on the projection type And decodes the image data.
- 제3항에 있어서,The method of claim 3,상기 회전 파라미터들은 특정 요(yaw) 값, 특정 피치(pitch) 값 및 특정 롤(roll) 값으로 도출되고, The rotation parameters are derived as a specific yaw value, a specific pitch value and a specific roll value,상기 특정 위치는 상기 3D 공간 상에서 요 성분이 상기 특정 요 값, 피치 성분이 상기 특정 피치 값, 롤 성분이 상기 특정 롤 값인 위치인 것을 특징으로 하는 영상 디코딩 방법.Wherein the specific position is a position in which the yaw component is the specific yaw value, the pitch component is the specific pitch value, and the roll component is the specific roll value in the 3D space.
- 제4항에 있어서,5. The method of claim 4,상기 프로젝션 타입은 ERP(Equirectangular Projection) 이고,The projection type is Equirectangular Projection (ERP)상기 특정 요 값은 180, 상기 특정 피치 값은 0, 상기 특정 롤 값은 90 으로 도출되는 것을 특징으로 하는 영상 디코딩 방법.Wherein the specific yaw value is 180, the specific pitch value is 0, and the specific roll value is 90.
- 제4항에 있어서,5. The method of claim 4,상기 프로젝션 타입은 ERP(Equirectangular Projection) 이고,The projection type is Equirectangular Projection (ERP)상기 특정 요 값은 180, 상기 특정 피치 값은 0, 상기 특정 롤 값은 -90 으로 도출되는 것을 특징으로 하는 영상 디코딩 방법.Wherein the specific yaw value is 180, the specific pitch value is 0, and the specific roll value is -90.
- 제4항에 있어서,5. The method of claim 4,상기 프로젝션 타입은 CMP(Cube Map Projection) 이고,The projection type is CMP (Cube Map Projection)상기 특정 요 값은 0, 상기 특정 피치 값은 0, 상기 특정 롤 값은 90 으로 도출되는 것을 특징으로 하는 영상 디코딩 방법.Wherein the specific yaw value is 0, the specific pitch value is 0, and the specific roll value is 90.
- 제2항에 있어서,3. The method of claim 2,상기 참조 픽처 리스트는 상기 참조 픽처, 상기 회전된 참조 픽처 순으로 정렬되는 것을 특징으로 하는 영상 디코딩 방법.And the reference picture list is arranged in the order of the reference picture and the rotated reference picture.
- 제1항에 있어서,The method according to claim 1,상기 프로젝션 타입을 기반으로 상기 디코딩된 현재 픽처의 360도 영상을 상기 3D 공간 상에 리 프로젝션(re-projection)하는 단계를 포함하는 것을 특징으로 하는 영상 디코딩 방법.And re-projecting the 360-degree image of the decoded current picture on the 3D space based on the projection type.
- 제2항에 있어서,3. The method of claim 2,상기 회전된 참조 픽처는 상기 참조 픽처보다 더 작은 불연속 경계를 포함하는 것을 특징으로 하는 영상 디코딩 방법.Wherein the rotated reference picture includes a discontinuous boundary smaller than the reference picture.
- 인코딩 장치에 의하여 수행되는 비디오 인코딩 방법에 있어서,A video encoding method performed by an encoding apparatus,360도 영상에 대한 회전 파라미터들을 도출하는 단계; Deriving rotation parameters for a 360 degree image;상기 360도 영상에 대한 프로젝션 타입 및 상기 회전 파라미터들을 기반으로 상기 360도 영상을 처리하여 회전된 참조 픽처를 획득하는 단계;Processing the 360-degree image based on the projection type and the rotation parameters for the 360-degree image to obtain a rotated reference picture;상기 회전된 참조 픽처를 기반으로 상기 현재 픽처에 대한 참조 픽처 리스트를 도출하는 단계; 및Deriving a reference picture list for the current picture based on the rotated reference picture; And상기 현재 픽처에 대한 360도 비디오 정보를 생성하고 인코딩하여 출력하는 단계를 포함하되,Generating 360 degrees video information for the current picture, encoding and outputting 360 degree video information for the current picture,상기 회전된 참조 픽처는 상기 360도 영상이 상기 회전 파라미터들을 기반으로 도출된 상기 3D 공간 상의 특정 위치가 상기 회전된 참조 픽처의 중심(center)에 맵핑되도록 프로젝션된 픽처인 것을 특징으로 하는 영상 인코딩 방법.Wherein the rotated reference picture is a picture projected so that a specific position on the 3D space derived from the rotation parameters is mapped to a center of the rotated reference picture. .
- 제11항에 있어서,12. The method of claim 11,상기 360도 영상에 대한 상기 프로젝션 타입 및 상기 회전 파라미터들을 기반으로 상기 참조 픽처에 프로젝션된 상기 360도 영상을 처리하여 상기 회전된 참조 픽처를 획득하는 단계는, Processing the 360 degree image projected on the reference picture based on the projection type and the rotation parameters for the 360 degree image to obtain the rotated reference picture,상기 360도 영상 및 상기 회전 파라미터들을 기반으로 회전된 360도 영상을 도출하는 단계; 및Deriving the 360-degree image and the rotated 360-degree image based on the rotation parameters; And상기 프로젝션 타입을 기반으로 상기 회전된 360도 영상의 중심인 상기 특정 위치가 상기 회전된 참조 픽처의 중심에 맵핑되도록 상기 360도 영상을 2D 픽처에 프로젝션하여 상기 회전된 참조 픽처를 도출하는 단계를 포함하는 것을 특징으로 하는 영상 인코딩 방법.And projecting the rotated reference picture by projecting the 360-degree picture onto a 2D picture such that the specific position, which is the center of the rotated 360-degree picture, is mapped to the center of the rotated reference picture based on the projection type Wherein the image encoding method comprises the steps of:
- 제12항에 있어서,13. The method of claim 12,상기 회전 파라미터들은 특정 요(yaw) 값, 특정 피치(pitch) 값 및 특정 롤(roll) 값으로 도출되고, The rotation parameters are derived as a specific yaw value, a specific pitch value and a specific roll value,상기 특정 위치는 상기 3D 공간 상에서 요 성분이 상기 특정 요 값, 피치 성분이 상기 특정 피치 값, 롤 성분이 상기 특정 롤 값인 위치인 것을 특징으로 하는 영상 인코딩 방법.Wherein the specific position is a position in which the yaw component in the 3D space is the specific yaw value, the pitch component is the specific pitch value, and the roll component is the specific roll value.
- 제13항에 있어서,14. The method of claim 13,상기 프로젝션 타입은 ERP(Equirectangular Projection) 이고,The projection type is Equirectangular Projection (ERP)상기 특정 요 값은 180, 상기 특정 피치 값은 0, 상기 특정 롤 값은 90 으로 도출되는 것을 특징으로 하는 영상 인코딩 방법.Wherein the specific yaw value is 180, the specific pitch value is 0, and the specific roll value is 90.
- 제13항에 있어서,14. The method of claim 13,상기 프로젝션 타입은 CMP(Cube Map Projection) 이고,The projection type is CMP (Cube Map Projection)상기 특정 요 값은 0, 상기 특정 피치 값은 0, 상기 특정 롤 값은 90 으로 도출되는 것을 특징으로 하는 영상 인코딩 방법.Wherein the specific yaw value is 0, the specific pitch value is 0, and the specific roll value is 90.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762575528P | 2017-10-23 | 2017-10-23 | |
US62/575,528 | 2017-10-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019083120A1 true WO2019083120A1 (en) | 2019-05-02 |
Family
ID=66247935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2018/007545 WO2019083120A1 (en) | 2017-10-23 | 2018-07-04 | Image decoding method and device using reference picture derived by projecting rotated 360-degree video in image coding system for 360-degree video |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2019083120A1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140085392A (en) * | 2011-03-11 | 2014-07-07 | 삼성전자주식회사 | Method and apparatus for encoding and decoding image |
KR20150067157A (en) * | 2012-09-30 | 2015-06-17 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | Conditional signalling of reference picture list modification information |
US20170230668A1 (en) * | 2016-02-05 | 2017-08-10 | Mediatek Inc. | Method and Apparatus of Mode Information Reference for 360-Degree VR Video |
WO2017158236A2 (en) * | 2016-03-15 | 2017-09-21 | Nokia Technologies Oy | A method, an apparatus and a computer program product for coding a 360-degree panoramic images and video |
-
2018
- 2018-07-04 WO PCT/KR2018/007545 patent/WO2019083120A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140085392A (en) * | 2011-03-11 | 2014-07-07 | 삼성전자주식회사 | Method and apparatus for encoding and decoding image |
KR20150067157A (en) * | 2012-09-30 | 2015-06-17 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | Conditional signalling of reference picture list modification information |
US20170230668A1 (en) * | 2016-02-05 | 2017-08-10 | Mediatek Inc. | Method and Apparatus of Mode Information Reference for 360-Degree VR Video |
WO2017158236A2 (en) * | 2016-03-15 | 2017-09-21 | Nokia Technologies Oy | A method, an apparatus and a computer program product for coding a 360-degree panoramic images and video |
Non-Patent Citations (1)
Title |
---|
JILL BOYCE O: "Spherical rotation orientation SEI for HEVC and AVC coding o f 360 video", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC, 4 January 2017 (2017-01-04), pages 1 - 7, XP030118131 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018062921A1 (en) | Method and apparatus for block partitioning and intra prediction in image coding system | |
WO2020197236A1 (en) | Image or video coding based on sub-picture handling structure | |
WO2018062702A1 (en) | Intra prediction method and apparatus in image coding system | |
WO2018128247A1 (en) | Intra-prediction method and device in image coding system for 360-degree video | |
WO2017188565A1 (en) | Image decoding method and device in image coding system | |
WO2020189960A1 (en) | Method and device for signaling information on chroma format | |
WO2020076066A1 (en) | Syntax design method and apparatus for performing coding by using syntax | |
WO2016056821A1 (en) | Movement information compression method and device for 3d video coding | |
WO2020141928A1 (en) | Method and apparatus for decoding image on basis of prediction based on mmvd in image coding system | |
WO2019009600A1 (en) | Image decoding method and apparatus using projection-type based quantisation parameters in image coding system for 360-degree video | |
WO2019031703A1 (en) | Method and apparatus for image decoding according to linear model in image coding system | |
WO2020141885A1 (en) | Image coding method and device using deblocking filtering | |
WO2020184821A1 (en) | Method and device for configuring mpm list | |
WO2019083119A1 (en) | Image decoding method and device using rotation parameters in image coding system for 360-degree video | |
WO2021118293A1 (en) | Filtering-based image coding device and method | |
WO2018174531A1 (en) | Video signal processing method and device | |
WO2018074813A1 (en) | Device and method for encoding or decoding image | |
WO2020145656A1 (en) | Method and device for signaling whether tmvp candidate is available | |
WO2020141884A1 (en) | Method and apparatus for coding image by using mmvd based on cpr | |
WO2020004879A1 (en) | Method and device for image decoding according to inter-prediction using plurality of neighboring blocks in image coding system | |
WO2019203533A1 (en) | Inter-prediction method in accordance with multiple motion model, and device thereof | |
WO2018174542A1 (en) | Video signal processing method and device | |
WO2021107634A1 (en) | Method and apparatus for signaling picture partitioning information | |
WO2021118263A1 (en) | Method and device for signaling image information | |
WO2021118262A1 (en) | Method and device for signaling video information applicable at picture level or slice level |
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: 18870828 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: 18870828 Country of ref document: EP Kind code of ref document: A1 |