WO2018128247A1 - 360도 비디오에 대한 영상 코딩 시스템에서 인트라 예측 방법 및 장치 - Google Patents

360도 비디오에 대한 영상 코딩 시스템에서 인트라 예측 방법 및 장치 Download PDF

Info

Publication number
WO2018128247A1
WO2018128247A1 PCT/KR2017/011003 KR2017011003W WO2018128247A1 WO 2018128247 A1 WO2018128247 A1 WO 2018128247A1 KR 2017011003 W KR2017011003 W KR 2017011003W WO 2018128247 A1 WO2018128247 A1 WO 2018128247A1
Authority
WO
WIPO (PCT)
Prior art keywords
face
target
block
prediction
degree video
Prior art date
Application number
PCT/KR2017/011003
Other languages
English (en)
French (fr)
Inventor
이령
김승환
임재현
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to US16/475,978 priority Critical patent/US10863198B2/en
Publication of WO2018128247A1 publication Critical patent/WO2018128247A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods 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/176Methods 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 block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present invention relates to 360 degree video, and more particularly, to an intra prediction method and apparatus in a coding system for 360 degree video.
  • 360 degree video may 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).
  • VR virtual reality
  • 360 degree video can be represented on a three-dimensional spherical surface.
  • 360-degree video captures images or videos of each of a plurality of viewpoints through one or more cameras, and combines the captured images / videos into a single panoramic image / video or spherical image / video. It can be provided through a process of projecting on and coding and transmitting the projected picture.
  • 360-degree video increases the amount of information or bit transmitted relative to conventional image data, when transmitting image data using a medium such as a conventional wired / wireless broadband line or storing image data using a conventional storage medium, The transmission and storage costs are increased.
  • An object of the present invention is to provide a method and apparatus for increasing the efficiency of 360 video information transmission for providing 360 video.
  • Another object of the present invention is to provide an intra prediction method and apparatus performed on a projected picture for 360 video.
  • an intra prediction method performed by an encoding apparatus includes acquiring 360 degree video data captured by at least one camera, processing the 360 degree video data to obtain a projected picture, a target block within a target face of the projected picture. Deriving a prediction mode of the derivation, deriving reference samples for the target block within a reference face of the projected picture, deriving prediction samples of the target block based on the reference samples within the reference face, And generating, encoding, and outputting 360-degree video information of the projected picture.
  • an encoding apparatus for performing intra prediction.
  • the encoding apparatus obtains a 360 degree video data captured by at least one camera, and a projection processing unit for processing the 360 degree video data to obtain a projected picture, the object in the target face of the projected picture
  • a prediction unit for deriving a prediction mode of the block, deriving reference samples for the target block in a reference face of the projected picture, and deriving prediction samples of the target block based on the reference samples in the reference face
  • an entropy encoding unit for generating, encoding, and outputting 360 degree video information about the projected picture.
  • an intra prediction method performed by a decoding apparatus includes receiving 360 degree video information, deriving a prediction mode of a target block in the target face of the projected picture based on the 360 degree video information, and accessing the target block within the reference face of the projected picture. Deriving reference samples, and deriving prediction samples of the target block based on the reference samples within the reference face.
  • a decoding apparatus for processing 360 degree video data.
  • An entropy decoding unit for receiving 360-degree video information, and deriving a prediction mode of a target block in a target face of the projected picture based on the 360-degree video information, in the target block within a reference face of the projected picture Deriving reference samples, and a prediction unit for deriving prediction samples of the target block based on the reference samples in the reference face.
  • reference samples for intra prediction of a target block in a target face may be derived from reference samples in a reference face having a different target face and a face index.
  • the prediction accuracy for the target block can be improved.
  • the prediction in intra prediction of a target block in a target face of a projected picture, the prediction may be performed based on reference samples in a reference face adjacent to the target face on a three-dimensional spherical surface, thereby improving prediction accuracy. Overall coding efficiency can be improved.
  • the present invention it is possible to derive the projected picture according to the projection type suitable for 360 degree video data among various projection types, thereby improving the overall coding efficiency.
  • FIG. 1 is a diagram illustrating an overall architecture for providing a 360 degree video according to the present invention.
  • FIG. 2 exemplarily illustrates a process of 360-degree video in an encoding apparatus and a decoding apparatus.
  • FIG. 3 is a diagram schematically illustrating a configuration of a video encoding apparatus to which the present invention may be applied.
  • FIG. 4 is a diagram schematically illustrating a configuration of a video decoding apparatus to which the present invention may be applied.
  • CMP cube map projection
  • FIG. 6 exemplarily shows a projected picture derived based on ERP.
  • FIG. 7 exemplarily shows a projected picture derived based on an ISP.
  • FIG. 9 exemplarily shows a projected picture derived based on a TSP, an SSP, or an EAP.
  • FIG. 10 exemplarily illustrates a method of deriving a reference sample for intra prediction of a CU in a target phase.
  • FIG. 11 schematically illustrates an intra prediction method by an encoding apparatus according to the present invention.
  • FIG. 12 schematically illustrates an intra prediction method by a decoding apparatus according to the present invention.
  • each configuration in the drawings described in the present invention are shown independently for the convenience of description of the different characteristic functions, it does not mean that each configuration is implemented by separate hardware or separate software.
  • two or more of each configuration may be combined 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 without departing from the spirit of the present invention.
  • a picture generally refers to a unit representing one image of a specific time zone
  • a slice is a unit constituting a part of a picture in coding.
  • One picture may be composed of a plurality of slices, and if necessary, the picture and the slice may be mixed with each other.
  • a pixel or a pel may refer to a minimum unit constituting one picture (or image). Also, 'sample' may be used as a term corresponding to a pixel.
  • a sample may generally represent a pixel or a value of a pixel, and may only represent pixel / pixel values of the luma component, or only pixel / pixel values of the chroma component.
  • a unit represents the basic unit of image processing.
  • the unit may include at least one of a specific region of the picture and information related to the region.
  • the unit may be used interchangeably with terms such as block or area in some cases.
  • an M ⁇ N block may represent a set of samples or transform coefficients composed of M columns and N rows.
  • FIG. 1 is a diagram illustrating an overall architecture for providing a 360 degree video according to the present invention.
  • the present invention proposes a method of providing 360 content in order to provide a user with virtual reality (VR).
  • VR may refer to a technique or environment for replicating a real or virtual environment.
  • VR artificially provides the user with a sensational experience, which allows the user to experience the same as being in an electronically projected environment.
  • 360 content refers to the overall 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, and simultaneously captured or played back in all directions (360 degrees).
  • the 360 degree video may mean a 360 degree video.
  • the 360 degree video may refer to a video or an image represented on various types of 3D space according to the 3D model, for example, the 360 degree video may be displayed on a spherical surface.
  • 360 audio is also audio content for providing VR, and may mean spatial audio content, in which a sound source can be recognized as being located in a specific space in three dimensions.
  • 360 content may be generated, processed, and transmitted to users, and users may consume the VR experience using 360 content.
  • the present invention particularly proposes a method for effectively providing 360 degree video.
  • 360 degree video may first be captured via one or more cameras.
  • the captured 360-degree video is transmitted through a series of processes, and the receiving side can process and render the received data back into the original 360-degree video. This may provide a 360 degree video to the user.
  • the entire process for providing the 360 degree video may include a capture process, preparation process, transmission process, processing process, rendering process, and / or feedback process.
  • the capturing process may refer to capturing an image or video for each of a plurality of viewpoints through one or more cameras.
  • Image / video data such as 110 of FIG. 1 shown by the capture process may be generated.
  • Each plane of FIG. 1 110 shown may mean an image / video for each viewpoint.
  • the captured plurality of images / videos may be referred to as raw data.
  • metadata related to capture may be generated.
  • Special cameras can be used for this capture.
  • capture through an actual camera may not be performed.
  • the corresponding capture process may be replaced by simply generating related data.
  • the preparation process may be a process of processing the captured image / video and metadata generated during the capture process.
  • the captured image / video may undergo a stitching process, a projection process, a region-wise packing process, and / or an encoding process in this preparation process.
  • each image / video can be stitched.
  • the stitching process may be a process of connecting each captured image / video to create a panoramic image / video or a spherical image / video.
  • the stitched image / video may be subjected to a projection process.
  • the stitched image / video may be projected onto the 2D image.
  • This 2D image may be called a 2D image frame or projected picture depending on the context. It can also be expressed as mapping a projection to a 2D image to a 2D image.
  • the projected image / video data may be in the form of a 2D image as shown in FIG. 1 120.
  • the region may mean a region in which 2D images projected with 360-degree video data are divided.
  • the region may correspond to a face or a tile.
  • the regions may be divided evenly or arbitrarily divided into 2D images according to an embodiment. In some embodiments, regions may be divided according to a projection scheme.
  • this processing may include rotating each region or rearranging on 2D images in order to increase video coding efficiency. For example, by rotating the regions so that certain sides of the regions are located close to each other, efficiency in coding can be increased.
  • the process may include increasing or decreasing a resolution for a specific region in order to differentiate the resolution for each region of the 360 degree video. For example, regions that correspond to relatively more important regions on 360 degree video may have higher resolution than other regions.
  • Video data projected onto a 2D image may undergo an encoding process through a video codec.
  • the preparation process may further include an editing process.
  • editing process editing of image / video data before and after projection may be further performed.
  • metadata about stitching / projection / encoding / editing may be generated.
  • metadata about an initial time point, or a region of interest (ROI) of video data projected on the 2D image may be generated.
  • the transmission process may be a process of processing and transmitting image / video data and metadata that have been prepared. Processing may be performed according to any transport protocol for the transmission. Data that has been processed for transmission may be delivered through a broadcast network and / or broadband. These data may be delivered to the receiving side in an on demand manner. The receiving side can receive the corresponding data through various paths.
  • the processing may refer to a process of decoding the received data and re-projecting the projected image / video data onto the 3D model.
  • image / video data projected on 2D images may be re-projected onto 3D space.
  • This process may be called mapping or projection depending on the context.
  • the mapped 3D space may have a different shape according to the 3D model.
  • the 3D model may have a sphere, a cube, a cylinder, or a pyramid.
  • the processing process may further include an editing process, an up scaling process, and the like.
  • editing process editing of image / video data before and after re-projection may be further performed.
  • the size of the sample may be increased by upscaling the samples during the upscaling process. If necessary, the operation of reducing the size through down scaling may be performed.
  • the rendering process may refer to a process of rendering and displaying re-projected image / video data in 3D space. Depending on the representation, it may be said to combine re-projection and rendering to render on a 3D model.
  • the image / video re-projected onto the 3D model (or rendered onto the 3D model) may have a shape such as 130 of FIG. 1 shown. 1, 130 is shown when re-projected onto a 3D model of a sphere.
  • the user may view some areas of the rendered image / video through the VR display. In this case, the region seen by the user may be in the form as shown in 140 of FIG. 1.
  • the feedback process may mean a process of transmitting various feedback information that can be obtained in the display process to the transmitter. Through the feedback process, interactivity may be provided for 360-degree video consumption. According to an embodiment, in the feedback process, head orientation information, viewport information indicating an area currently viewed by the user, and the like may be transmitted to the transmitter. According to an embodiment, the user may interact with those implemented on the VR environment, in which case the information related to the interaction may be transmitted to the sender or service provider side in the feedback process. In some embodiments, the feedback process may not be performed.
  • the head orientation information may mean information about a head position, an angle, and a movement of the user. Based on this information, information about the area currently viewed by the user in the 360 degree video, that is, viewport information, may be calculated.
  • the viewport information may be information about an area currently viewed by the user in 360 degree video. Through this, a gaze analysis may be performed to determine how the user consumes 360 degree video, which area of the 360 degree video, and how much. Gayes analysis may be performed at the receiving end and delivered to the transmitting side via a feedback channel.
  • a device such as a VR display may extract a viewport area based on the position / direction of a user's head, vertical or horizontal field of view (FOV) information supported by the device, and the like.
  • FOV horizontal field of view
  • the above-described feedback information may be consumed at the receiving side as well as transmitted to the transmitting side. That is, the decoding, re-projection, rendering process, etc. of the receiving side may be performed using the above-described feedback information. For example, using head orientation information and / or viewport information, only 360 degree video for the area currently being viewed by the user may be preferentially decoded and rendered.
  • the viewport to the viewport area may mean an area that the user is viewing in the 360 degree video.
  • a viewpoint is a point that a user is viewing in the 360 degree video and may mean a center point of the viewport area. That is, the viewport is an area centered on the viewpoint, and the size shape occupied by the area may be determined by a field of view (FOV) to be described later.
  • FOV field of view
  • 360-degree video data image / video data that undergoes a series of processes of capture / projection / encoding / transmission / decoding / re-projection / rendering may be referred to as 360-degree video data.
  • the term 360 degree video data may also be used as a concept including metadata or signaling information associated with such image / video data.
  • the projection processor 210 may stitch and project 360-degree video data of an input viewpoint to a 3D projection structure according to various projection schemes, and project the 3D projection structure to the 3D projection structure.
  • Recorded 360-degree video data may be represented as a 2D image. That is, the projection processor 210 may stitch the 360-degree video data and project the 2D image.
  • the projection scheme may be called a projection type.
  • the 2D image projected with the 360 degree video data 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 faces in the projected picture may be the same size and shape (eg, triangle or square).
  • the size and shape of the face in the projected picture may vary depending on the projection type.
  • the projection processing unit 210 may perform processing such as rotating and rearranging regions of the projected picture, changing the resolution of each region, and the like.
  • the encoding device 220 may encode the information about the projected picture and output the encoded picture. The process of encoding the projected picture by the encoding device 220 will be described later in detail with reference to FIG. 3.
  • the projection processing unit 210 may be included in the encoding apparatus, or the projection process may be performed through an external device.
  • FIG. 2A may show a process of processing information about a projected picture related to 360 degree video data performed by the decoding apparatus.
  • Information about the projected picture may be received through a bitstream.
  • the decoding apparatus 250 may decode the projection picture based on the received information about the projection picture. A process of decoding the projected picture by the decoding device 250 will be described later in detail with reference to FIG. 4.
  • the re-projection processor 260 may re-project the 360-degree video data projected on the projected picture derived through the decoding process onto the 3D model.
  • the re-projection processor 260 may correspond to the projection processor.
  • 360 degree video data projected on the projected picture may be re-projected onto 3D space.
  • This process may be called mapping or projection depending on the context.
  • the mapped 3D space may have a different shape according to the 3D model.
  • the 3D model may have a sphere, a cube, a cylinder, or a pyramid.
  • the re-projection processor 260 may be included in the decoding apparatus 250 or the re-projection process may be performed through an external device.
  • the re-projected 360 degree video data can be rendered in 3D space.
  • FIG. 3 is a diagram schematically illustrating a configuration of a video encoding apparatus to which the present invention may be applied.
  • the video encoding apparatus 300 may include a picture splitter 305, a predictor 310, a subtractor 315, a transformer 320, a quantizer 325, a reorderer 330, The entropy encoding unit 335, the residual processing unit 340, the adding unit 350, the filter unit 355, and the memory 360 may be included.
  • the residual processor 340 may include an inverse quantizer 341 and an inverse transform unit 342.
  • the picture dividing unit 305 may divide the input picture into at least one processing unit.
  • the processing unit may be called a coding unit (CU).
  • the coding unit may be recursively split from the largest coding unit (LCU) according to a quad-tree binary-tree (QTBT) structure.
  • LCU largest coding unit
  • QTBT quad-tree binary-tree
  • one coding unit may be divided into a plurality of coding units of a deeper depth based on a quad tree structure and / or a binary tree structure.
  • the quad tree structure may be applied first and the binary tree structure may be applied later.
  • the binary tree structure may be applied first.
  • the coding procedure according to the present invention may be performed based on the final coding unit that is no longer split.
  • the maximum coding unit may be used as the final coding unit immediately based on coding efficiency according to the image characteristic, or if necessary, the coding unit is recursively divided into coding units of lower depths and optimized.
  • a coding unit of size may be used as the final coding unit.
  • the coding procedure may include a procedure of prediction, transform, and reconstruction, 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 depths along the quad tree structure.
  • LCU largest coding unit
  • the maximum coding unit may be used as the final coding unit immediately based on coding efficiency according to the image characteristic, or if necessary, the coding unit is recursively divided into coding units of lower depths and optimized.
  • a coding unit of size may be used as the final coding unit. If a smallest coding unit (SCU) is set, the coding unit may not be split into smaller coding units than the minimum coding unit.
  • the final coding unit refers to a coding unit that is the basis of partitioning or partitioning into a prediction unit or a transform unit.
  • the prediction unit is a unit partitioning from the coding unit and may be a unit of sample prediction. In this case, the prediction unit may be divided into sub blocks.
  • the transform unit may be divided along the quad tree structure from the coding unit, and may be a unit for deriving a transform coefficient and / or a unit for deriving a residual signal from the transform coefficient.
  • a coding unit may be called a coding block (CB)
  • a prediction unit is a prediction block (PB)
  • a transform unit may be called a transform block (TB).
  • a prediction block or prediction unit may mean a specific area in the form of a block within a picture, and may include an array of prediction samples.
  • a transform block or a transform unit may mean a specific area in a block form within a picture, and may include an array of transform coefficients or residual samples.
  • the prediction unit 310 may perform a prediction on a block to be processed (hereinafter, referred to as a current block) and generate a predicted block including prediction samples of the current block.
  • the unit of prediction performed by 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. As an example, the prediction unit 310 may determine whether intra prediction or inter prediction is applied on a CU basis.
  • the prediction unit 310 may derive a prediction sample for the current block based on reference samples outside the current block in the picture to which the current block belongs (hereinafter, referred to as the current picture). In this case, the prediction unit 310 may (i) derive the prediction sample based on the average or interpolation of neighboring reference samples of the current block, and (ii) the neighbor reference of the current block.
  • the prediction sample may be derived based on a reference sample present in a specific (prediction) direction with respect to the prediction sample among the samples. In case of (i), it may be called non-directional mode or non-angle mode, and in case of (ii), it may be called directional mode or 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 planner mode (Planar mode).
  • the prediction unit 310 may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring block.
  • the prediction unit 310 may derive the prediction sample for the current block based on the sample specified by the motion vector on the reference picture.
  • the prediction unit 310 may derive the prediction sample for the current block by applying any one of a skip mode, a merge mode, and a motion vector prediction (MVP) mode.
  • the prediction unit 310 may use the motion information of the neighboring block as the motion information of the current block.
  • the skip mode unlike the merge mode, the difference (residual) between the prediction sample and the original sample is not transmitted.
  • the motion vector of the current block may be derived using the motion vector of the neighboring block as a motion vector predictor.
  • the neighboring block may include a spatial neighboring block existing in the current picture and a temporal neighboring block present in the reference picture.
  • a reference picture including the temporal neighboring block may be called 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 encoded (entropy) and output in the form of a bitstream.
  • the highest picture on the reference picture list may be used as the reference picture.
  • Reference pictures included in a reference picture list may be sorted based on a difference in a picture order count (POC) between a current picture and a corresponding reference picture.
  • POC picture order count
  • the subtraction unit 315 generates a residual sample which is a difference between the original sample and the prediction sample.
  • residual samples may not be generated as described above.
  • the transformer 320 generates a transform coefficient by transforming the residual sample in units of transform blocks.
  • the transform unit 120 may perform the transformation according to the size of the transform block and the prediction mode applied to the coding block or the prediction block that spatially overlaps the transform block. For example, if intra prediction is applied to the coding block or the prediction block that overlaps the transform block, and the transform block is a 4 ⁇ 4 residual array, the residual sample uses a discrete sine transform (DST). In other cases, the residual sample may be transformed by using a discrete cosine transform (DCT).
  • DST discrete sine transform
  • DCT discrete cosine transform
  • the quantization unit 325 may quantize the transform coefficients to generate quantized transform coefficients.
  • the reordering unit 330 rearranges the quantized transform coefficients.
  • the reordering unit 330 may reorder the quantized transform coefficients in the form of a block into a one-dimensional vector through a coefficient scanning method. Although the reordering unit 330 has been described in a separate configuration, the reordering unit 330 may be part of the quantization unit 325.
  • the entropy encoding unit 335 may perform entropy encoding on the quantized transform coefficients.
  • Entropy encoding may include, for example, encoding methods such as exponential Golomb, context-adaptive variable length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC), and the like.
  • the entropy encoding unit 335 may encode information necessary for video reconstruction other than the quantized transform coefficients (for example, a value of a syntax element) together or separately. Entropy encoded information may be transmitted or stored in units of network abstraction layer (NAL) units in the form of bitstreams.
  • NAL network abstraction layer
  • the inverse quantization unit 341 inverse quantizes the quantized values (quantized transform coefficients) in the quantization unit 325, and the inverse transform unit 342 inversely transforms the inverse quantized values in the inverse quantization unit 341 to obtain a residual sample.
  • the adder 350 reconstructs the picture by combining the residual sample and the predictive sample.
  • the residual sample and the predictive sample may be added in units of blocks to generate a reconstructed block.
  • the adder 350 may be part of the predictor 310.
  • the adder 350 may be called a restoration unit or a restoration block generation unit.
  • the filter unit 355 may apply a deblocking filter and / or a sample adaptive offset to the reconstructed picture. Through deblocking filtering and / or sample adaptive offset, the artifacts of the block boundaries in the reconstructed picture or the distortion in the quantization process can be corrected.
  • the sample adaptive offset may be applied on a sample basis and may be applied after the process of deblocking filtering is completed.
  • the filter unit 355 may apply an adaptive loop filter (ALF) to the reconstructed picture. ALF may be applied to the reconstructed picture after the deblocking filter and / or sample adaptive offset is applied.
  • ALF adaptive loop filter
  • the memory 360 may store reconstructed pictures (decoded pictures) or information necessary for encoding / decoding.
  • the reconstructed picture may be a reconstructed picture after the filtering process is completed by the filter unit 355.
  • the stored reconstructed 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.
  • pictures used for inter prediction may be designated by a reference picture set or a reference picture list.
  • FIG. 4 is a diagram schematically illustrating a configuration of a video decoding apparatus to which the present invention may be applied.
  • the video decoding apparatus 400 includes an entropy decoding unit 410, a residual processing unit 420, a prediction unit 430, an adder 440, a filter unit 450, and a memory 460. It may include.
  • the residual processor 420 may include a reordering unit 421, an inverse quantization unit 422, and an inverse transform unit 423.
  • the video decoding apparatus 400 may reconstruct the video in response to a process in which the 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 transform unit.
  • the coding unit may be split along the quad tree structure and / or binary tree structure from the largest coding unit.
  • the prediction unit and the transform unit may be further used in some cases, 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 point, the prediction unit may be divided into subblocks.
  • the transform unit may be divided along the quad tree structure from the coding unit, and may be a unit for deriving a transform coefficient or a unit for deriving a residual signal from the transform coefficient.
  • the entropy decoding unit 410 may parse the bitstream and output information necessary for video reconstruction or picture reconstruction. For example, the entropy decoding unit 410 decodes information in the bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, quantized values of syntax elements required for video reconstruction, and transform coefficients for residuals. Can be output.
  • a coding method such as exponential Golomb coding, CAVLC, or CABAC, quantized values of syntax elements required for video reconstruction, and transform coefficients for residuals. Can be output.
  • the CABAC entropy decoding method receives a bin corresponding to each syntax element in a bitstream, and decodes syntax element information and decoding information of neighboring and decoding target blocks or information of symbols / bins decoded in a previous step.
  • the context model may be determined using the context model, the probability of occurrence of a bin may be predicted according to the determined context model, and arithmetic decoding of the bin may be performed to generate a symbol corresponding to the value of each syntax element. have.
  • the CABAC entropy decoding method may update the context model by using the information of the decoded symbol / bin for the context model of the next symbol / bean after determining the context model.
  • the information related to the prediction among the information decoded by the entropy decoding unit 410 is provided to the prediction unit 430, and the residual value on which the entropy decoding has been performed by the entropy decoding unit 410, that is, the quantized transform coefficient, is used as a reordering unit ( 421).
  • the reordering unit 421 may rearrange the quantized transform coefficients into a two-dimensional block.
  • the reordering unit 421 may perform reordering in response to coefficient scanning performed by the encoding apparatus. Although the reordering unit 421 has been described in a separate configuration, the reordering unit 421 may be part of the inverse quantization unit 422.
  • the inverse quantization unit 422 may dequantize the quantized transform coefficients based on the (inverse) quantization parameter and output the transform coefficients.
  • information for deriving a quantization parameter may be signaled from the encoding apparatus.
  • the inverse transform unit 423 may inversely transform transform coefficients to derive residual samples.
  • the prediction unit 430 may perform prediction on the current block, and generate a predicted block including prediction samples for 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 to apply intra prediction or inter prediction based on the information about the prediction.
  • a unit for determining which of intra prediction and inter prediction is to be applied and a unit for generating a prediction sample may be different.
  • the unit for generating a prediction sample in inter prediction and intra prediction may also be different.
  • whether to apply inter prediction or intra prediction may be determined in units of CUs.
  • a prediction mode may be determined and a prediction sample may be generated in PU units
  • intra prediction a prediction mode may be determined in PU units and a prediction sample may be generated in TU units.
  • the prediction unit 430 may derive the prediction sample for the current block based on the neighbor reference samples in the current picture.
  • the prediction unit 430 may derive the prediction sample for the current block by applying the directional mode or the non-directional mode based on the neighbor reference samples of the current block.
  • the 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 the prediction sample for the current block based on the sample specified on the reference picture by the motion vector on the reference picture.
  • the prediction unit 430 may induce a prediction sample for the current block by applying any one of a skip mode, a merge mode, and an MVP mode.
  • motion information required for inter prediction of the current block provided by the video encoding apparatus for example, information about a motion vector, a reference picture index, and the like may be obtained or derived based on the prediction information.
  • the motion information of the neighboring block may be used as the motion information of the current block.
  • the neighboring block may include a spatial neighboring block and a temporal neighboring block.
  • the prediction unit 430 may construct a merge candidate list using motion information of available neighboring blocks, and may use information indicated by the merge index on the merge candidate list as a 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 the temporal neighboring block is used in the skip mode and the merge mode, the highest picture on the reference picture list may be used as the reference picture.
  • the difference (residual) between the prediction sample and the original sample is not transmitted.
  • the motion vector of the current block may be derived using the motion vector of the 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 by using a motion vector of a reconstructed spatial neighboring block and / or a motion vector corresponding to a Col block, which is a temporal neighboring block.
  • the motion vector of the candidate block selected from the merge candidate list is used as the motion vector of the current block.
  • the information about the prediction may include a merge index indicating a candidate block having an optimal motion vector selected from candidate blocks included in the merge candidate list.
  • the prediction unit 430 may derive the motion vector of the current block by using the merge index.
  • a motion vector predictor candidate list may be generated using a motion vector of a reconstructed spatial neighboring block and / or a motion vector corresponding to a Col block which is a temporal neighboring block.
  • the prediction information may include a prediction motion vector index indicating an optimal motion vector selected from the motion vector candidates included in the list.
  • the prediction unit 430 may select the predicted motion vector of the current block from the motion vector candidates included in the motion vector candidate list using the motion vector index.
  • the prediction unit of the encoding apparatus may obtain a motion vector difference (MVD) between the motion vector of the current block and the motion vector predictor, and may encode the output vector in a bitstream form. That is, MVD may be obtained by subtracting the motion vector predictor from the motion vector of the current block.
  • the prediction unit 430 may obtain a motion vector difference included in the information about the prediction, and may derive the motion vector of the current block by adding the motion vector difference and the motion vector predictor.
  • the prediction unit may also obtain or derive a reference picture index or the like indicating a reference picture from the information about the prediction.
  • the adder 440 may reconstruct the current block or the current picture by adding the residual sample and the predictive sample.
  • the adder 440 may reconstruct the current picture by adding the residual sample and the predictive sample in units of blocks. Since the residual is not transmitted when the skip mode is applied, the prediction sample may be a reconstruction sample.
  • the adder 440 is described in a separate configuration, the adder 440 may be part of the predictor 430. On the other hand, the adder 440 may be called a restoration unit or a restoration block generation unit.
  • the filter unit 450 may apply the deblocking filtering sample adaptive offset, and / or ALF to the reconstructed picture.
  • the sample adaptive offset may be applied in units of samples and may be applied after deblocking filtering.
  • ALF may be applied after deblocking filtering and / or sample adaptive offset.
  • the memory 460 may store reconstructed pictures (decoded pictures) or information necessary for decoding.
  • the reconstructed picture may be a reconstructed picture after the filtering process is completed by the filter unit 450.
  • the memory 460 may store pictures used for inter prediction.
  • 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.
  • the memory 460 may output the reconstructed picture in the output order.
  • 360 degree video data represented by a spherical surface may be projected onto a 2D image, wherein the 2D image projected onto the 360 degree video data is a projected frame or a projected picture. picture).
  • the projected picture may be divided into a plurality of faces according to the projection type.
  • the face may correspond to a tile, or the face may be defined separately from the tile.
  • the projected picture may be composed of various types of faces or one face according to various projection types.
  • continuous 360 degree video data in 3D space may be mapped to non-adjacent faces on the projected picture. That is, when intra prediction is performed on the target block, it is possible to improve prediction accuracy and coding efficiency by deriving samples included in non-adjacent faces on the projected picture as reference samples. Accordingly, the present invention proposes an intra prediction method performed by considering various projection types and 360 degree video data mapped to non-adjacent faces.
  • the 360 degree video data may be projected onto a 2D image (or frame) according to a cubic projection scheme.
  • stitched 360 degree video data may be represented on a spherical surface, which may be divided into a cube-shaped 3D projection structure and projected onto a 2D image. That is, the 360 degree video data on a spherical surface can be mapped to each of the six faces of the cube, and each face of the cube is a 2D image as shown in FIGS. 5A to 5F.
  • the six faces may include a front face, a back face, a top face, a bottom face, a right face, and a left face.
  • the faces of the projected picture may be packed in a 4x3 cube map, that is, four columns and three rows, as shown in FIG.
  • a sample of the region to which the 360-degree video data shown in FIG. 5A is not mapped may be represented as an invalid sample.
  • the faces may be packed in a 3x4 cube map, that is, three columns and four rows, as shown in FIG.
  • the faces may be packed in a 3x2 cube map, that is, three columns and two rows, as shown in FIG. In this case, the invalidated sample may not be included in the projected picture.
  • the faces may be packed in a 2x3 cube map, that is, two columns and three rows, as shown in FIG.
  • the faces may be packed into a 6 ⁇ 1 cube map, that is, six columns and one row, as shown in FIG.
  • the faces may be packed in a 1x6 cube map, that is, one column and six rows, as shown in FIG. 5 (f).
  • 360-degree video data can also be added to pictures through Equirectangular Projection (ERP), Icosahedral Projection (ISP), Octahedron Projection (OHP), Truncated Square Pyramid projection (TSP), Segmented Sphere Projection (SSP) and Equal Area Projection (EAP).
  • ERP Equirectangular Projection
  • ISP Icosahedral Projection
  • OHP Octahedron Projection
  • TSP Truncated Square Pyramid projection
  • SSP Segmented Sphere Projection
  • EAP Equal Area Projection
  • 360 degree video data is projected through the ERP, for example, stitched 360 degree video data can be represented on a spherical surface, and the 360 degree video data is characterized by continuity on the spherical surface. It can be projected into one picture that is maintained. Thus, as shown in FIG. 6, the 360 degree video data may be mapped to one face within the projected picture.
  • 360 degree video data is projected through the ISP
  • stitched 360 degree video data can be represented on a spherical surface
  • the 360 degree video data is a dodecahedral 3D projection structure.
  • the 360-degree video data may be mapped to a face including an invalidated sample and a face including no invalidated sample.
  • the half right triangle area of the face including the invalidated sample may include invalidated samples, and the other half right triangle area may include the 360 degree video mapped samples.
  • the 360-degree video data may be mapped only to a face that does not include an invalidated sample.
  • the 360-degree video data may be mapped only to a face including an invalidated sample.
  • the half right triangle area of the face including the invalidated sample may include invalidated samples, and the other half right triangle area may include the 360 degree video mapped samples.
  • 360 degree video data is projected through the ISP, for example, stitched 360 degree video data can be represented on a spherical surface, and the 360 degree video data is in an octahedral 3D projection structure. It can be divided and projected onto a 2D image. That is, the 360 degree video data on the spherical surface may be projected onto the 2D image as shown in FIGS. 8A and 8B.
  • the 360-degree video data may be mapped to a face including an invalidated sample and a face including no invalidated sample.
  • the half right triangle area of the face including the invalidated sample may include invalidated samples, and the other half right triangle area may include the 360 degree video mapped samples.
  • the 360-degree video data may be mapped only to a face that does not include an invalidated sample.
  • FIG. 9 exemplarily shows a projected picture derived based on a TSP, an SSP, or an EAP.
  • the 360 degree video data may be projected onto a picture through the TSP.
  • stitched 360 degree video data may be represented on a spherical surface, which is divided into a 3D projection structure in the form of a truncated pyramid (Truncated Square Pyramid) on a 2D image.
  • the pyramid shape in which the upper part is cut may represent a pyramid shape in which a top surface of a rectangle smaller than the bottom surface exists.
  • the 360-degree video data may be projected into one picture in which continuity on the spherical surface is maintained.
  • the 360 degree video data on the spherical surface can be projected on one face as shown in FIG. 9 (a).
  • the 360 degree video data may be projected into a frame through the SSP.
  • the 360 degree video data may be mapped to six faces in a frame, and the faces may be packed in six columns and one row as shown in FIG.
  • the 360 degree video data may be projected into a frame through the EAP.
  • the 360 degree video data may be projected into one picture that maintains continuity on the spherical plane.
  • the 360 degree video data on the spherical surface can be projected on one face as shown in Fig. 9C.
  • a face structure for dividing a picture (projected picture described above) into which a 360-degree video data is mapped into a plurality of faces may indicate a reference face of a predicted face to improve continuity and be more suitable for prediction.
  • the reference face may have a face index different from the face index of the target face or may not be adjacent to the reference face. That is, prediction may be performed through the reference face including video data that is continuous with the 360 degree video data included in the predicted face.
  • the top row samples of face 4 shown in FIG. 5A may be peripheral samples of the left column samples of face 1, that is, samples including continuous video data.
  • the left column samples of the face 1 may be used as reference samples of the prediction of the top row samples of the face 4.
  • the information on the face may be signaled in units of picture parameter sets (PPS).
  • PPS picture parameter sets
  • the information on the face may be transmitted in units of a CU, a CTU, a slice, or a sequence parameter set (SPS).
  • the syntax including the information on the face may be as shown in the following table.
  • face_enabled_flag may indicate a syntax element indicating a face available flag
  • face () may indicate a syntax element indicating information about the face.
  • the face available flag may indicate whether the face structure is available. That is, the face available flag may indicate whether the projected picture consists of a plurality of faces. For example, when the value of the face available flag is 0, it may indicate that the face structure is not used in the projected picture. When the value of the face available flag is 1, the face is displayed in the projected picture. It may indicate that a structure is used.
  • the value of the face available flag is 1, that is, when the face structure is used for the projected picture
  • information on the face of the projected picture may be signaled.
  • the information on the face may include detailed detailed information on the face as follows.
  • the syntax including the detailed information about the face may be as shown in the following table.
  • face_width is a syntax element representing the width of the face
  • face_height is a syntax element representing the height of the face
  • face_row is the number of faces in a row in which faces of the projected picture are arranged
  • a syntax element representing a number of faces in each row, face_col may represent a syntax element representing a number of faces in each column in a column in which faces of the projected picture are arranged.
  • face_invalid_flag may indicate a syntax element of a face invalid flag indicating whether the face is invalid, that is, whether only the invalid samples are included. For example, when the value of the face invalid flag is 1, the face is not valid, that is, it may include only the invalidated samples.
  • the face when the value of the face invalid flag is 0, the face may include a sample to which the 360 degree video data is mapped.
  • face_rotation may represent a syntax element indicating whether the face is rotated. For example, when the value of the face_rotation is 0, the face_rotation may indicate that the face is not rotated. When the value of the face_rotation is 1, the face_rotation indicates that the face is rotated 90 degrees clockwise. When the value of the face_rotation is 2, the face_rotation may indicate that the face is rotated 180 degrees clockwise. When the value of the face_rotation is 3, the face_rotation is 270 degrees clockwise. It may indicate that it has been rotated.
  • face_qp may indicate a syntax element indicating a quantization parameter (QP) value of the face
  • neighbor_face may indicate a syntax element of information indicating a reference face of the face. That is, the neighbor_face may indicate a syntax element of information indicating a reference face of the face.
  • QP quantization parameter
  • faces in which 360-degree video data is projected in a projected picture may include a plurality of coding units (CUs), and may be encoded / decoded in a CU unit. That is, intra prediction or inter prediction may be performed in the CU unit. Specifically, when intra prediction is applied to the target CU, the prediction sample for the target CU may be derived based on the peripheral reference samples in the picture (or frame).
  • the intra 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 planner mode (Planar mode).
  • Directional mode or non-directional mode may be applied to the target CU, and a prediction sample for the target CU may be derived based on a reference sample of the target CU.
  • the prediction mode to be applied to the target CU may be determined using the intra prediction mode of the neighboring CU.
  • CUs in the projected picture may be encoded / decoded according to a specific processing order.
  • the particular processing order may be a z-scan order. That is, the CUs may be sequentially encoded / decoded in the order of the following rows in the top row, and in each row, the CUs may be sequentially encoded / decoded in the order of the left CU to the right CU. Therefore, when intra prediction is applied to the target CU, the upper peripheral samples, the upper right peripheral samples, and the left peripheral samples, which are reconstructed at the time of decoding process of the target CU in the decoding order, are used as reference samples of the current block. Can be. Thus, among CUs in a face that are adjacent to the left edge or top boundary of the face, the positions of reference samples may not be included in the range of the face. In this case, reference samples for intra prediction of the CUs may be derived as follows.
  • FIG. 10 exemplarily illustrates a method of deriving a reference sample for intra prediction of a CU in a target phase.
  • reference samples for intra prediction of the target CU may be needed.
  • the peripheral sample of the target CU may be an invalidated sample that does not include 360-degree video data.
  • a reference sample that replaces the invalidated sample may be derived.
  • an area where the 360 degree video data of FIG. 10 is not mapped, for example, face 0, may include invalidated samples that do not include the 360 degree video data, in this case CU0 or Since the upper peripheral samples of CU1 are the invalidated samples, the upper peripheral samples cannot be used as reference samples of intra prediction. Therefore, reference samples for intra prediction of CU0 or CU1 may be derived through the following method.
  • neighboring CUs having the same face index as the face index of the target CU may be present among neighboring CUs that have already been restored at the decoding time of the target CU. That is, neighboring CUs included in the same face as the target CU may be present among neighboring CUs that are already restored at the decoding time of the target CU.
  • reference samples of the target CU may be derived from the neighboring CU having the same face index.
  • CU0 may exist as a neighboring CU included in the same face as the CU1 among the neighboring CUs already restored at the decoding time of the CU1, and a reconstruction sample of the CU0 is a reference sample of the CU1. Can be derived.
  • the reference sample of the target CU may be derived from a CU included in a face that is not the same as a face including the target CU but having the same boundary.
  • a face that is not the same as the face that includes the target CU may be referred to as a reference face.
  • the upper sample of CU1 and the left sample of CU2 included in face 1 include continuous 360-degree video data, so the left reconstructed samples of CU2 may be derived as upper reference samples of CU1.
  • the reference face may be derived based on the neighbor_face syntax element described above.
  • a reference sample of the target CU may be derived through a method, or a reference sample of the target CU may be derived through a combination of the above-described methods.
  • a restored neighboring CU having the same face index as the face index of the target CU may not exist at the decoding time of the target CU. That is, the restored neighbor CU included in the same phase as the target CU may not exist at the decoding time of the target CU.
  • CU0 in the face 4 may be decoded first of the CUs in the face 4, and therefore, the same face as the target CU among CUs already restored at the decoding time of the CU0. Peripheral CUs included in may not exist.
  • the target CU may be performed by a prediction method other than intra prediction.
  • inter prediction may be performed instead of intra prediction.
  • the reference sample of the target CU may be derived from a CU which is not the same as a face including the target CU, that is, included in the reference face but having the same boundary.
  • the upper sample of CU0 and the left sample of CU3 included in face 1 include continuous 360 degree video data, so the left reconstructed samples of CU3 may be derived as upper reference samples of CU0.
  • the reference face may be derived based on the neighbor_face syntax element described above.
  • the intra prediction mode of the target CU may be derived as a DC mode or a planner mode.
  • the intra prediction mode of the CU0 may be derived in a DC mode or a planner mode, and the prediction of the CU0 may be performed based on the DC mode or the planner mode.
  • FIG. 11 schematically illustrates an intra prediction method by an encoding apparatus according to the present invention.
  • the method disclosed in FIG. 11 may be performed by the encoding apparatus disclosed in FIG. 3.
  • S1100 to S1110 of FIG. 11 may be performed by the projection processing unit of the encoding apparatus
  • S1120 to S1140 may be performed by the prediction unit of the encoding apparatus
  • S1150 may be entropy of the encoding apparatus. It may be performed by the encoding unit.
  • the encoding device obtains 360 degree video data captured by at least one camera (S1100).
  • the encoding device may obtain 360 degree video data captured by the at least one camera.
  • the 360 degree video data may be video captured by at least one camera.
  • the encoding apparatus processes the 360-degree video data to obtain a projected picture (S1510).
  • the encoding apparatus may perform projection on a 2D image (or picture) according to the projection type for the 360 degree video data among various projection types, and obtain the projected picture.
  • the projected picture may be referred to as a projected frame.
  • the various projection types include 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).
  • EAP Equirectangular Projection
  • CMP cube map projection
  • ISP Icosahedral Projection
  • OHP Octahedron Projection
  • TSP Truncated Square Pyramid projection
  • SSP Segmented Sphere Projection
  • EAP Equal Area Projection
  • the 360 degree video data may be mapped to faces of the 3D projection structure of each projection type, and
  • the projected picture may include faces of a 3D projection structure of each projection type.
  • the 360 degree video data may be projected onto the projected 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 video data may be mapped to six faces of the cube, and the faces may be projected onto the projected picture.
  • the 360-degree video data may be projected onto the projected picture based on an ISP (Icosahedral Projection), in which case the 3D projection structure may be icosahedron.
  • the 360 degree video data may be projected onto the projected picture based on Octahedron Projection (OHP), in which case the 3D projection structure may be octahedral.
  • OHP Octahedron Projection
  • the encoding apparatus may perform processing such as rotating and rearranging each of the faces of the projected picture, changing the resolution of each face, and the like. Meanwhile, a flag indicating whether the projected picture is composed of a plurality of faces may be generated. The flag may be called a face available flag.
  • the encoding apparatus derives the prediction mode of the target block in the target face of the projected picture (S1120).
  • the encoding apparatus may perform prediction based on various prediction modes, and may derive an intra prediction mode having an optimal rate-distortion (RD) cost as an intra prediction mode for the target block.
  • the intra prediction mode may include two non-directional intra prediction modes and 33 directional intra prediction modes.
  • the non-directional intra prediction modes may include a planar mode and a DC mode, and the directional intra prediction modes may include 2 to 34 intra prediction modes.
  • the encoding apparatus may generate information about the prediction mode of the target block in the target face.
  • the information about the prediction mode may include index information indicating an intra prediction mode for the target block.
  • the encoding apparatus may determine whether a reconstructed block exists among neighboring blocks of the target block in the target face, and when the reconstructed block does not exist among the neighboring blocks, the prediction mode of the target block is medium DC. It can be derived either in mode or planar mode. Alternatively, when there is no reconstructed block among the neighboring blocks, the prediction mode of the target block may be derived as an inter prediction mode.
  • the encoding apparatus derives the reference samples for the target block within the reference face of the projected picture (S1130).
  • the face index of the reference face may be different from the face index of the target face.
  • the target face may not be adjacent to the reference face on the projected picture.
  • the encoding apparatus may derive the reference samples for the target block within the reference face in the projected picture.
  • the object face and the reference face may be adjacent to each other on a three-dimensional spherical surface.
  • the reference samples for the target block may be derived from a reconstructed block having the same boundary on the target block and the 3D projection structure among the reconstructed blocks included in the reference face of the target face.
  • the target face and the reference face may be faces adjacent to each other, and when the target block is a block adjacent to a boundary between the target face and the reference face, one of reconstructed blocks included in the reference face.
  • the reconstruction block may include 360-degree video data continuous to the 360-degree video data included in the target block.
  • Reconstructed samples of the reconstructed block may be derived from the reference samples.
  • the encoding apparatus when the 360-degree video data is projected based on CMP, the encoding apparatus is configured to have a boundary such as the target block on the target block and the cube among the reconstructed blocks included in the reference face of the target face. Reconstruction samples of the reconstruction block with can be derived as reference samples.
  • the target block when the 360-degree video data is projected based on CMP, and the reference samples for the target block are derived within the reference face in the projected picture, the target block is adjacent to an upper boundary of the target face.
  • the reference samples may be adjacent to the left boundary of the reference face.
  • the target block may be adjacent to the left boundary of the projected picture, and the reference block including the reference samples may be adjacent to the upper boundary of the projected picture.
  • the target face may be adjacent to the right boundary of the projected picture, and the reference face may be adjacent to the left boundary of the projected picture.
  • the encoding apparatus may perform reconstruction samples of reconstructed blocks having the same boundary on the dodecahedron among the reconstructed blocks included in the reference face of the target face. Can be derived with reference samples.
  • the encoding apparatus refers to reconstructed samples of the reconstructed block having the same boundary on the octahedron of the target block among the reconstructed blocks included in the reference face of the target face. Samples can be derived.
  • reference samples for the target block may be derived within the reference face in the following cases.
  • the reference samples for the intra prediction of the target block may be derived on the reference face.
  • the encoding apparatus may derive upper peripheral samples, upper left peripheral samples, and / or left peripheral samples of the target block.
  • the target face may include a plurality of blocks and may be coded in block units.
  • the block may be a coding unit (CU).
  • the plurality of blocks may be coded according to a z-scan order, and the target block may be included in the plurality of blocks.
  • Upper or left peripheral samples of the target block on the projected picture may be located on an invalid face.
  • the upper or left peripheral sample of the target block may be an invalid sample.
  • the invalidated sample may represent a sample that does not include the 360 degree video data. That is, the 360-degree video data may represent a sample not mapped, and the invalidated sample may have a sample value of a specific value. A face including only the invalidated sample may be referred to as an invalid face.
  • the upper or left peripheral sample may not be appropriate as the reference sample for the intra prediction. As such, the reference samples for the intra prediction of the target block may be derived on the reference face.
  • the reference samples for the intra prediction of the target block may be derived on the reference face.
  • the case where the upper or left peripheral sample of the target block is not available may include a case where the upper or left peripheral sample is located outside the boundary of the projected picture.
  • the encoding apparatus uses the reconstructed samples of the reconstructed block as reference samples. Can be derived. In addition, information indicating a face index of the reference face may be generated.
  • the encoding apparatus derives prediction samples of the target block based on the reference samples in the reference face (S1140).
  • the encoding apparatus may derive prediction samples for the target block based on the reference samples.
  • the encoding apparatus may derive a prediction sample based on a reference sample located in the prediction direction of the prediction mode of the target block among the reference samples.
  • the encoding apparatus generates, encodes, and outputs 360-degree video information about the projected picture (S1150).
  • the encoding apparatus may generate the 360 degree video information about the projected picture, and may encode the 360 video information and output it through a bitstream.
  • the 360 degree video information may include information on the target face. Specifically, the information may include information indicating the width of the target face, and may include information indicating the height of the face.
  • the 360 degree video information may include information indicating the number of faces in a row in which faces of the projected picture are arranged, and the faces of the faces in the column in which the faces of the projected picture are arranged. Information indicating the number may be included.
  • the 360-degree video information may include a flag indicating whether the target face is an invaluable face.
  • the flag may be called a face invalid flag.
  • the 360-degree video information may include information indicating whether the target face is rotated and may include information indicating a quantization parameter (QP) value of the target face.
  • the 360-degree video information may include information indicating a face index of the reference face of the target face.
  • the syntax including the 360 degree video information may be derived as shown in Table 2 above.
  • the 360 degree video information may include information indicating the projection type of the projected picture.
  • the projection type of the projected picture may be one of several projection types, and the projection types may be Equirectangular Projection (ERP), cube map projection (CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP). It may include Truncated Square Pyramid projection (TSP), Segmented Sphere Projection (SSP) and Equal Area Projection (EAP).
  • a flag indicating whether the projected picture is composed of a plurality of faces may be generated, and the flag may be included in the 360 video information. The flag may be called a face available flag.
  • the 360-degree video information may include information about the prediction mode of the target block in the target face.
  • the information about the prediction mode may include index information indicating an intra prediction mode for the target block.
  • the encoding apparatus may generate a residual sample based on the original sample and the derived prediction sample.
  • the encoding apparatus may generate information about the residual based on the residual sample.
  • the information about the residual may include transform coefficients related 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 derive the reconstructed sample by adding the prediction sample and the residual sample.
  • the encoding apparatus may encode the information about the residual and output the bitstream.
  • the bitstream may be transmitted to a decoding apparatus via a network or a storage medium.
  • FIG. 12 schematically illustrates an intra prediction method by a decoding apparatus according to the present invention.
  • the method disclosed in FIG. 12 may be performed by the decoding apparatus disclosed in FIG. 4.
  • S1200 of FIG. 12 may be performed by the entropy decoding unit of the decoding apparatus
  • S1210 to S1230 may be performed by the prediction unit of the decoding apparatus.
  • the decoding apparatus receives 360 degree video information (S1200).
  • the decoding apparatus may receive the 360 degree video information through a bitstream.
  • the 360 degree video information may include information about a target face of the projected picture. Specifically, the information may include information indicating the width of the target face, and may include information indicating the height of the face.
  • the 360 degree video information may include information indicating the number of faces in a row in which faces of the projected picture are arranged, and the faces of the faces in the column in which the faces of the projected picture are arranged. Information indicating the number may be included.
  • the 360-degree video information may include a flag indicating whether the target face is an invaluable face. The flag may be called a face invalid flag.
  • the 360-degree video information may include information indicating whether the target face is rotated and may include information indicating a quantization parameter (QP) value of the target face.
  • the 360-degree video information may include information indicating a face index of the reference face of the target face.
  • the syntax including the 360 degree video information may be derived as shown in Table 2 above.
  • the 360 degree video information may include information indicating the projection type of the projected picture.
  • the projection type of the projected picture may be one of several projection types, and the projection types may be Equirectangular Projection (ERP), cube map projection (CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP). It may include Truncated Square Pyramid projection (TSP), Segmented Sphere Projection (SSP) and Equal Area Projection (EAP).
  • the 360 degree video information may also include a flag indicating whether the projected picture is composed of a plurality of faces. The flag may be called a face available flag.
  • the 360-degree video information may include information about the prediction mode of the target block in the target face.
  • the information about the prediction mode may include index information indicating an intra prediction mode for the target block.
  • the decoding apparatus derives the prediction mode of the target block in the target face in the projected picture based on the 360 video information (S1210).
  • the decoding apparatus may derive an intra prediction mode for the target block based on the information about the prediction mode obtained from the bitstream.
  • the intra prediction mode may include two non-directional intra prediction modes and 33 directional intra prediction modes.
  • the non-directional intra prediction modes may include a planar mode and a DC mode, and the directional intra prediction modes may include 2 to 34 intra prediction modes.
  • the decoding apparatus may determine whether a reconstruction block exists among neighboring blocks of the target block in the target face, and when the reconstructed block does not exist among the neighboring blocks, the prediction mode of the target block is medium DC. It can be derived either in mode or planar mode. Alternatively, when there is no reconstructed block among the neighboring blocks, the prediction mode of the target block may be derived as an inter prediction mode.
  • the decoding apparatus derives reference samples for the target block within a reference face of the projected picture (S1220).
  • the face index of the reference face may be different from the face index of the target face.
  • the target face may not be adjacent to the reference face on the projected picture.
  • the decoding apparatus may derive the reference samples for the target block within the reference face in the projected picture.
  • the object face and the reference face may be adjacent to each other on a three-dimensional spherical surface.
  • the 360-degree video information may include information indicating a face index of the reference face, and a reference face of the target face may be derived based on information indicating the face index of the reference face.
  • the reference samples for the target block may be derived from a reconstructed block having the same boundary on the target block and the 3D projection structure among the reconstructed blocks included in the reference face of the target face.
  • the target face and the reference face may be faces adjacent to each other, and when the target block is a block adjacent to a boundary between the target face and the reference face, one of reconstructed blocks included in the reference face.
  • the reconstruction block may include 360-degree video data continuous to the 360-degree video data included in the target block.
  • Reconstructed samples of the reconstructed block may be derived from the reference samples.
  • the decoding apparatus may be configured to have a boundary such as the target block on the cube and the target block among reconstructed blocks included in the reference face of the target face.
  • Reconstruction samples of the reconstruction block with can be derived as reference samples.
  • the target block is adjacent to an upper boundary of the target face.
  • the reference samples may be adjacent to the left boundary of the reference face.
  • the target block may be adjacent to the left boundary of the projected picture, and the reference block including the reference samples may be adjacent to the upper boundary of the projected picture.
  • the target face may be adjacent to the right boundary of the projected picture, and the reference face may be adjacent to the left boundary of the projected picture.
  • the decoding apparatus may include reconstructed samples of the reconstructed blocks having the same boundary on the dodecahedron among the reconstructed blocks included in the reference face of the target face. Can be derived with reference samples.
  • the encoding apparatus refers to reconstructed samples of the reconstructed block having the same boundary on the octahedron of the target block among the reconstructed blocks included in the reference face of the target face. Samples can be derived.
  • reference samples for the target block may be derived within the reference face in the following cases.
  • the reference samples for the intra prediction of the target block may be derived on the reference face.
  • the decoding apparatus may derive upper peripheral samples, upper left peripheral samples, and / or left peripheral samples of the target block.
  • the target face may include a plurality of blocks and may be coded in block units.
  • the block may be a coding unit (CU).
  • the plurality of blocks may be coded according to a z-scan order, and the target block may be included in the plurality of blocks.
  • Upper or left peripheral samples of the target block on the projected picture may be located on an invalid face.
  • the upper or left peripheral sample of the target block may be an invalid sample.
  • the invalidated sample may represent a sample that does not include the 360 degree video data. That is, the 360-degree video data may represent a sample not mapped, and the invalidated sample may have a sample value of a specific value. A face including only the invalidated sample may be referred to as an invalid face.
  • the upper or left peripheral sample may not be appropriate as the reference sample for the intra prediction. As such, the reference samples for the intra prediction of the target block may be derived on the reference face.
  • the reference samples for the intra prediction of the target block may be derived on the reference face.
  • the case where the upper or left peripheral sample of the target block is not available may include a case where the upper or left peripheral sample is located outside the boundary of the projected picture.
  • the decoding apparatus may use reconstructed samples of the reconstructed block as reference samples. Can be derived.
  • the decoding apparatus derives prediction samples of the target block based on the reference samples in the reference face (S1230).
  • the decoding apparatus may derive prediction samples for the target block based on the reference samples.
  • the decoding apparatus may derive a prediction sample based on a reference sample located in the prediction direction of the prediction mode of the target block among the reference samples.
  • the decoding apparatus may directly use the prediction sample as a reconstruction sample according to a prediction mode, or generate a reconstruction sample by adding a residual sample to the prediction sample.
  • the decoding apparatus may receive information about the residual for the target block, and the information about the residual may be included in the information about the face.
  • the information about the residual may include transform coefficients regarding the residual sample.
  • the decoding apparatus may derive the residual sample (or residual sample array) for the target 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.
  • the decoding apparatus may apply an in-loop filtering procedure, such as a deblocking filtering and / or SAO procedure, to the reconstructed picture in order to improve subjective / objective picture quality as necessary.
  • the decoding apparatus may map 360-degree video data of the decoded projected picture into 3D space. That is, the decoding apparatus may re-project the projected picture into the 3D space.
  • reference samples for intra prediction of a target block in a target face may be derived from reference samples in a reference face having a different target face and a face index. Through this, prediction accuracy of the target block can be improved.
  • prediction in intra prediction of a target block in a target face of a projected picture, prediction may be performed based on reference samples in a reference face adjacent to the target face on a three-dimensional spherical surface, thereby improving prediction accuracy. Improve the overall coding efficiency.
  • the above-described method according to the present invention may be implemented in software, and the encoding device and / or the decoding device according to the present invention may perform image processing of, for example, a TV, a computer, a smartphone, a set-top box, a display device, and the like. It can be included in the device.
  • the above-described method may be implemented as a module (process, function, etc.) for performing the above-described function.
  • the module may be stored in memory and executed by a processor.
  • the memory may be internal or external to the processor and may be coupled to the processor by various well known means.
  • the processor may include application-specific integrated circuits (ASICs), other chipsets, logic circuits, and / or data processing devices.
  • the memory may include read-only memory (ROM), random access memory (RAM), flash memory, memory card, storage medium and / or other storage device.

Abstract

본 발명에 따른 디코딩 장치에 의하여 수행되는 인트라 예측 방법은 360도 비디오 정보를 수신하는 단계, 상기 360도 비디오 정보를 기반으로 프로젝션된 픽처의 대상 페이스 내의 대상 블록의 예측 모드를 도출하는 단계, 상기 프로젝션된 픽처의 참조 페이스 내에서 상기 대상 블록에 대한 참조 샘플들을 도출하는 단계, 및 상기 참조 페이스 내의 상기 참조 샘플들을 기반으로 상기 대상 블록의 예측 샘플들을 도출하는 단계를 포함하는 것을 특징으로 한다.

Description

360도 비디오에 대한 영상 코딩 시스템에서 인트라 예측 방법 및 장치
본 발명은 360도 비디오에 관한 것으로, 보다 상세하게는 360도 비디오에 관한 코딩 시스템에서의 인트라 예측 방법 및 장치에 관한 것이다.
360도 비디오는 가상 현실(virtual reality, VR) 시스템을 제공하기 위해 필요한, 동시에 모든 방향(360도)으로 캡처되거나 재생되는 비디오 내지 이미지 컨텐츠를 의미할 수 있다. 예를 들어 360도 비디오는 3차원 구형면(Spherical surface) 상에 나타내어질 수 있다. 360도 비디오는 하나 이상의 카메라를 통하여 복수개의 시점 각각에 대한 이미지 또는 비디오가 캡처되고, 이 캡처된 복수개의 이미지/비디오들을 연결하여 하나의 파노라마 이미지/비디오 또는 구형의 이미지/비디오로 만들어 2D 픽처 상에 프로젝션하고, 프로젝션된 픽처를 코딩하여 전송하는 과정을 통하여 제공될 수 있다.
360도 비디오는 기존의 영상 데이터에 비해 상대적으로 전송되는 정보량 또는 비트량이 증가하기 때문에 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 데이터를 전송하거나 기존의 저장 매체를 이용해 영상 데이터를 저장하는 경우, 전송 비용과 저장 비용이 증가된다.
이에 따라, 360도 비디오의 정보를 효과적으로 전송하거나 저장하고, 재생하기 위한 고효율의 영상 압축 기술이 요구된다.
본 발명의 기술적 과제는 360 비디오를 제공하기 위한 360 비디오 정보 전송의 효율을 높이는 방법 및 장치를 제공함에 있다.
본 발명의 다른 기술적 과제는 360 비디오에 관한 프로젝션된 픽처에서 수행되는 인트라 예측 방법 및 장치를 제공함에 있다.
본 발명의 다른 기술적 과제는 프로젝션된 픽처의 대상 페이스의 인트라 예측에 대한 참조 샘플을 프로젝션된 픽처 상에서 대상 페이스와 인접하지 않은 참조 페이스로부터 도출하는 방법 및 장치를 제공함에 있다.
본 발명의 다른 기술적 과제는 프로젝션된 픽처의 대상 페이스의 인트라 예측에 대한 참조 샘플을 대상 페이스의 페이스 인덱스와 다른 페이스 인덱스를 갖는 참조 페이스로부터 도출하는 방법 및 장치를 제공함에 있다.
본 발명의 일 실시예에 따르면, 인코딩 장치에 의하여 수행되는 인트라 예측 방법이 제공된다. 상기 방법은 적어도 하나의 카메라에 의해 캡쳐된 360도 비디오 데이터를 획득하는 단계, 상기 360도 비디오 데이터를 처리하여 프로젝션된 픽처(projected picture)를 획득하는 단계, 상기 프로젝션된 픽처의 대상 페이스 내의 대상 블록의 예측 모드를 도출하는 단계, 상기 프로젝션된 픽처의 참조 페이스 내에서 상기 대상 블록에 대한 참조 샘플들을 도출하는 단계, 상기 참조 페이스 내의 상기 참조 샘플들을 기반으로 상기 대상 블록의 예측 샘플들을 도출하는 단계, 및 상기 프로젝션된 픽처에 대한 360도 비디오 정보를 생성하고, 인코딩하여 출력하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 다른 일 실시예에 따르면, 인트라 예측을 수행하는 인코딩 장치가 제공된다. 상기 인코딩 장치는 적어도 하나의 카메라에 의해 캡쳐된 360도 비디오 데이터를 획득하고, 상기 360도 비디오 데이터를 처리하여 프로젝션된 픽처(projected picture)를 획득하는 프로젝션 처리부, 상기 프로젝션된 픽처의 대상 페이스 내의 대상 블록의 예측 모드를 도출하고, 상기 프로젝션된 픽처의 참조 페이스 내에서 상기 대상 블록에 대한 참조 샘플들을 도출하고, 상기 참조 페이스 내의 상기 참조 샘플들을 기반으로 상기 대상 블록의 예측 샘플들을 도출하는 예측부, 및 상기 프로젝션된 픽처에 대한 360도 비디오 정보를 생성하고, 인코딩하여 출력하는 엔트로피 인코딩부를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 일 실시예에 따르면, 디코딩 장치에 의하여 수행되는 인트라 예측 방법이 제공된다. 상기 방법은 360도 비디오 정보를 수신하는 단계, 상기 360도 비디오 정보를 기반으로 프로젝션된 픽처의 대상 페이스 내의 대상 블록의 예측 모드를 도출하는 단계, 상기 프로젝션된 픽처의 참조 페이스 내에서 상기 대상 블록에 대한 참조 샘플들을 도출하는 단계, 및 상기 참조 페이스 내의 상기 참조 샘플들을 기반으로 상기 대상 블록의 예측 샘플들을 도출하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 다른 일 실시예에 따르면, 360도 비디오 데이터를 처리하는 디코딩 장치가 제공된다. 360도 비디오 정보를 수신하는 엔트로피 디코딩부, 및 상기 360도 비디오 정보를 기반으로 프로젝션된 픽처의 대상 페이스 내의 대상 블록의 예측 모드를 도출하는 단계, 상기 프로젝션된 픽처의 참조 페이스 내에서 상기 대상 블록에 대한 참조 샘플들을 도출하는 단계, 및 상기 참조 페이스 내의 상기 참조 샘플들을 기반으로 상기 대상 블록의 예측 샘플들을 도출하는 예측부를 포함하는 것을 특징으로 한다.
본 발명에 따르면 360 비디오에 대한 프로젝션된 픽처의 디코딩에 있어서 대상 페이스 내 대상 블록의 인트라 예측에 대한 참조 샘플들을 대상 페이스와 페이스 인덱스가 다른 참조 페이스 내 참조 샘플들로부터 도출할 수 있고, 이를 통하여 상기 대상 블록에 대한 예측 정확도를 향상시킬 수 있다.
본 발명에 따르면 프로젝션된 픽처의 대상 페이스 내 대상 블록에 대한 인트라 예측에 있어서 3차원 구형면 상에서 대상 페이스와 인접한 참조 페이스 내 참조 샘플들을 기반으로 예측을 수행할 수 있고, 이를 통하여 예측 정확도를 향상시키고 전반적인 코딩 효율을 향상시킬 수 있다.
본 발명에 따르면 여러 프로젝션 타입들 중 360도 비디오 데이터에 적합한 프로젝션 타입에 따라 프로젝션된 픽처를 도출할 수 있고, 이를 통하여 전반적인 코딩 효율을 향상시킬 수 있다.
도 1은 본 발명에 따른 360도 비디오 제공을 위한 전체 아키텍처를 도시한 도면이다.
도 2는 인코딩 장치 및 디코딩 장치에서의 360도 비디오의 처리 과정을 예시적으로 나타낸다.
도 3은 본 발명이 적용될 수 있는 비디오 인코딩 장치의 구성을 개략적으로 설명하는 도면이다.
도 4는 본 발명이 적용될 수 있는 비디오 디코딩 장치의 구성을 개략적으로 설명하는 도면이다.
도 5는 cube map projection(CMP)을 기반으로 도출된 프로젝션된 픽처를 예시적으로 나타낸다.
도 6은 ERP을 기반으로 도출된 프로젝션된 픽처를 예시적으로 나타낸다.
도 7은 ISP를 기반으로 도출된 프로젝션된 픽처를 예시적으로 나타낸다.
도 8은 OHP를 기반으로 도출된 프로젝션된 픽처를 예시적으로 나타낸다.
도 9는 TSP, SSP 또는 EAP를 기반으로 도출된 프로젝션된 픽처를 예시적으로 나타낸다.
도 10은 대상 페이스 내 CU의 인트라 예측을 위한 참조 샘플을 도출하는 방법을 예시적으로 나타낸다.
도 11은 본 발명에 따른 인코딩 장치에 의한 인트라 예측 방법을 개략적으로 나타낸다.
도 12는 본 발명에 따른 디코딩 장치에 의한 인트라 예측 방법을 개략적으로 나타낸다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정 실시예에 한정하려고 하는 것이 아니다. 본 명세서에서 상용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 기술적 사상을 한정하려는 의도로 사용되는 것은 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서 "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 도는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
한편, 본 발명에서 설명되는 도면상의 각 구성들은 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미하지는 않는다. 예컨대, 각 구성 중 두 개 이상의 구성이 합쳐져 하나의 구성을 이룰 수도 있고, 하나의 구성이 복수의 구성으로 나뉘어질 수도 있다. 각 구성이 통합 및/또는 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성 요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성 요소에 대해서 중복된 설명은 생략한다.
본 명세서에서 픽처(picture)는 일반적으로 특정 시간대의 하나의 영상을 나타내는 단위를 의미하며, 슬라이스(slice)는 코딩에 있어서 픽처의 일부를 구성하는 단위이다. 하나의 픽처는 복수의 슬라이스로 구성될 수 있으며, 필요에 따라서 픽처 및 슬라이스는 서로 혼용되어 사용될 수 있다.
픽셀(pixel) 또는 펠(pel)은 하나의 픽처(또는 영상)을 구성하는 최소의 단위를 의미할 수 있다. 또한, 픽셀에 대응하는 용어로서 '샘플(sample)'이 사용될 수 있다. 샘플은 일반적으로 픽셀 또는 픽셀의 값을 나타낼 수 있으며, 휘도(luma) 성분의 픽셀/픽셀값만을 나타낼 수도 있고, 채도(chroma) 성분의 픽셀/픽셀 값만을 나타낼 수도 있다.
유닛(unit)은 영상 처리의 기본 단위를 나타낸다. 유닛은 픽처의 특정 영역 및 해당 영역에 관련된 정보 중 적어도 하나를 포함할 수 있다. 유닛은 경우에 따라서 블록(block) 또는 영역(area) 등의 용어와 혼용하여 사용될 수 있다. 일반적인 경우, MxN 블록은 M개의 열과 N개의 행으로 이루어진 샘플들 또는 변환 계수(transform coefficient)들의 집합을 나타낼 수 있다.
도 1은 본 발명에 따른 360도 비디오 제공을 위한 전체 아키텍처를 도시한 도면이다.
본 발명은 사용자에게 가상현실 (Virtual Reality, VR)을 제공하기 위하여, 360 컨텐츠를 제공하는 방안을 제안한다. VR이란 실제 또는 가상의 환경을 복제(replicates) 하기 위한 기술 내지는 그 환경을 의미할 수 있다. VR은 인공적으로 사용자에게 감각적 경험을 제공하며, 이를 통해 사용자는 전자적으로 프로젝션된 환경에 있는 것과 같은 경험을 할 수 있다.
360 컨텐츠는 VR을 구현, 제공하기 위한 컨텐츠 전반을 의미하며, 360도 비디오 및/또는 360 오디오를 포함할 수 있다. 360도 비디오는 VR을 제공하기 위해 필요한, 동시에 모든 방향(360도)으로 캡처되거나 재생되는 비디오 내지 이미지 컨텐츠를 의미할 수 있다. 이하, 360도 비디오라 함은 360도 비디오를 의미할 수 있다. 360도 비디오는 3D 모델에 따라 다양한 형태의 3D 공간 상에 나타내어지는 비디오 내지 이미지를 의미할 수 있으며, 예를 들어 360도 비디오는 구형면(spherical surface) 상에 나타내어질 수 있다. 360 오디오 역시 VR을 제공하기 위한 오디오 컨텐츠로서, 음향 발생지가 3차원의 특정 공간상에 위치하는 것으로 인지될 수 있는, 공간적(Spatial) 오디오 컨텐츠를 의미할 수 있다. 360 컨텐츠는 생성, 처리되어 사용자들로 전송될 수 있으며, 사용자들은 360 컨텐츠를 이용하여 VR 경험을 소비할 수 있다.
본 발명은 특히 360도 비디오를 효과적으로 제공하는 방안을 제안한다. 360도 비디오를 제공하기 위하여, 먼저 하나 이상의 카메라를 통해 360도 비디오가 캡처될 수 있다. 캡처된 360도 비디오는 일련의 과정을 거쳐 전송되고, 수신측에서는 수신된 데이터를 다시 원래의 360도 비디오로 가공하여 렌더링할 수 있다. 이를 통해 360도 비디오가 사용자에게 제공될 수 있다.
구체적으로 360도 비디오 제공을 위한 전체의 과정은 캡처 과정(process), 준비 과정, 전송 과정, 프로세싱 과정, 렌더링 과정 및/또는 피드백 과정을 포함할 수 있다.
캡처 과정은 하나 이상의 카메라를 통하여 복수개의 시점 각각에 대한 이미지 또는 비디오를 캡처하는 과정을 의미할 수 있다. 캡처 과정에 의해 도시된 도 1의 (110)과 같은 이미지/비디오 데이터가 생성될 수 있다. 도시된 도 1의 (110)의 각 평면은 각 시점에 대한 이미지/비디오를 의미할 수 있다. 이 캡처된 복수개의 이미지/비디오를 로(raw) 데이터라 할 수도 있다. 캡처 과정에서 캡처와 관련된 메타데이터가 생성될 수 있다.
이 캡처를 위하여 특수한 카메라가 사용될 수 있다. 실시예에 따라 컴퓨터로 생성된 가상의 공간에 대한 360도 비디오를 제공하고자 하는 경우, 실제 카메라를 통한 캡처가 수행되지 않을 수 있다. 이 경우 단순히 관련 데이터가 생성되는 과정으로 해당 캡처 과정이 갈음될 수 있다.
준비 과정은 캡처된 이미지/비디오 및 캡처 과정에서 발생한 메타데이터를 처리하는 과정일 수 있다. 캡처된 이미지/비디오는 이 준비 과정에서, 스티칭 과정, 프로젝션 과정, 리전별 패킹 과정(Region-wise Packing) 및/또는 인코딩 과정 등을 거칠 수 있다.
먼저 각각의 이미지/비디오가 스티칭(Stitching) 과정을 거칠 수 있다. 스티칭 과정은 각각의 캡처된 이미지/비디오들을 연결하여 하나의 파노라마 이미지/비디오 또는 구형의 이미지/비디오를 만드는 과정일 수 있다.
이 후, 스티칭된 이미지/비디오는 프로젝션(Projection) 과정을 거칠 수 있다. 프로젝션 과정에서, 스티칭된 이미지/비디오는 2D 이미지 상에 프로젝션될 수 있다. 이 2D 이미지는 문맥에 따라 2D 이미지 프레임 또는 프로젝션된 픽처(projected picture)로 불릴 수도 있다. 2D 이미지로 프로젝션하는 것을 2D 이미지로 맵핑한다고 표현할 수도 있다. 프로젝션된 이미지/비디오 데이터는 도시된 도 1의 (120)과 같은 2D 이미지의 형태가 될 수 있다.
또한, 프로젝션 과정에서, 2D 이미지 상에 프로젝션된 비디오 데이터를 리전(Region) 별로 나누어 처리를 가하는 과정이 적용될 수 있다. 여기서 리전(Region)이란, 360도 비디오 데이터가 프로젝션된 2D 이미지가 나누어진 영역을 의미할 수 있다. 상기 리전은 페이스(face) 또는 타일(tile)에 대응될 수도 있다. 이 리전들은, 실시예에 따라, 2D 이미지를 균등하게 나누어 구분되거나, 임의로 나누어져 구분될 수 있다. 또한 실시예에 따라 리전들은, 프로젝션 스킴에 따라 구분될 수도 있다.
실시예에 따라 이 처리 과정은, 비디오 코딩 효율을 높이기 위해, 각 리전을 회전한다거나 2D 이미지 상에서 재배열하는 과정을 포함할 수 있다. 예를 들어, 리전들을 회전하여 리전들의 특정 변들이 서로 근접하여 위치되도록 함으로써, 코딩 시의 효율이 높아지게 할 수 있다.
실시예에 따라 이 처리 과정은, 360도 비디오상의 영역별로 레졸루션(resolution) 을 차등화하기 위하여, 특정 리전에 대한 레졸루션을 높인다거나, 낮추는 과정을 포함할 수 있다. 예를 들어, 360도 비디오 상에서 상대적으로 더 중요한 영역에 해당하는 리전들은, 다른 리전들보다 레졸루션을 높게 할 수 있다. 2D 이미지 상에 프로젝션된 비디오 데이터는 비디오 코덱을 통한 인코딩 과정을 거칠 수 있다.
실시예에 따라 준비 과정은 부가적으로 에디팅(editing) 과정 등을 더 포함할 수 있다. 이 에디팅 과정에서 프로젝션 전후의 이미지/비디오 데이터들에 대한 편집 등이 더 수행될 수 있다. 준비 과정에서도 마찬가지로, 스티칭/프로젝션/인코딩/에디팅 등에 대한 메타데이터가 생성될 수 있다. 또한 2D 이미지 상에 프로젝션된 비디오 데이터들의 초기 시점, 혹은 ROI (Region of Interest) 등에 관한 메타데이터가 생성될 수 있다.
전송 과정은 준비 과정을 거친 이미지/비디오 데이터 및 메타데이터들을 처리하여 전송하는 과정일 수 있다. 전송을 위해 임의의 전송 프로토콜에 따른 처리가 수행될 수 있다. 전송을 위한 처리를 마친 데이터들은 방송망 및/또는 브로드밴드를 통해 전달될 수 있다. 이 데이터들은 온 디맨드(On Demand) 방식으로 수신측으로 전달될 수도 있다. 수신측에서는 다양한 경로를 통해 해당 데이터를 수신할 수 있다.
프로세싱 과정은 수신한 데이터를 디코딩하고, 프로젝션되어 있는 이미지/비디오 데이터를 3D 모델 상에 리-프로젝션(Re-projection) 하는 과정을 의미할 수 있다. 이 과정에서 2D 이미지들 상에 프로젝션되어 있는 이미지/비디오 데이터가 3D 공간 상으로 리-프로젝션될 수 있다. 이 과정을 문맥에 따라 맵핑, 프로젝션이라고 부를 수도 있다. 이 때 맵핑되는 3D 공간은 3D 모델에 따라 다른 형태를 가질 수 있다. 예를 들어 3D 모델에는 구형(Sphere), 큐브(Cube), 실린더(Cylinder) 또는 피라미드(Pyramid) 가 있을 수 있다.
실시예에 따라 프로세싱 과정은 부가적으로 에디팅(editing) 과정, 업 스케일링(up scaling) 과정 등을 더 포함할 수 있다. 이 에디팅 과정에서 리-프로젝션 전후의 이미지/비디오 데이터에 대한 편집 등이 더 수행될 수 있다. 이미지/비디오 데이터가 축소되어 있는 경우 업 스케일링 과정에서 샘플들의 업 스케일링을 통해 그 크기를 확대할 수 있다. 필요한 경우, 다운 스케일링을 통해 사이즈를 축소하는 작업이 수행될 수도 있다.
렌더링 과정은 3D 공간상에 리-프로젝션된 이미지/비디오 데이터를 렌더링하고 디스플레이하는 과정을 의미할 수 있다. 표현에 따라 리-프로젝션과 렌더링을 합쳐 3D 모델 상에 렌더링한다 라고 표현할 수도 있다. 3D 모델 상에 리-프로젝션된 (또는 3D 모델 상으로 렌더링된) 이미지/비디오는 도시된 도 1의 (130)과 같은 형태를 가질 수 있다. 도시된 도 1의 (130)은 구형(Sphere) 의 3D 모델에 리-프로젝션된 경우이다. 사용자는 VR 디스플레이 등을 통하여 렌더링된 이미지/비디오의 일부 영역을 볼 수 있다. 이 때 사용자가 보게되는 영역은 도시된 도 1의 (140)과 같은 형태일 수 있다.
피드백 과정은 디스플레이 과정에서 획득될 수 있는 다양한 피드백 정보들을 송신측으로 전달하는 과정을 의미할 수 있다. 피드백 과정을 통해 360도 비디오 소비에 있어 인터랙티비티(Interactivity) 가 제공될 수 있다. 실시예에 따라, 피드백 과정에서 헤드 오리엔테이션(Head Orientation) 정보, 사용자가 현재 보고 있는 영역을 나타내는 뷰포트(Viewport) 정보 등이 송신측으로 전달될 수 있다. 실시예에 따라, 사용자는 VR 환경 상에 구현된 것들과 상호작용할 수도 있는데, 이 경우 그 상호작용과 관련된 정보가 피드백 과정에서 송신측 내지 서비스 프로바이더 측으로 전달될 수도 있다. 실시예에 따라 피드백 과정은 수행되지 않을 수도 있다.
헤드 오리엔테이션 정보는 사용자의 머리 위치, 각도, 움직임 등에 대한 정보를 의미할 수 있다. 이 정보를 기반으로 사용자가 현재 360도 비디오 내에서 보고 있는 영역에 대한 정보, 즉 뷰포트 정보가 계산될 수 있다.
뷰포트 정보는 현재 사용자가 360도 비디오에서 보고 있는 영역에 대한 정보일 수 있다. 이를 통해 게이즈 분석(Gaze Analysis) 이 수행되어, 사용자가 어떠한 방식으로 360도 비디오를 소비하는지, 360도 비디오의 어느 영역을 얼마나 응시하는지 등을 확인할 수도 있다. 게이즈 분석은 수신측에서 수행되어 송신측으로 피드백 채널을 통해 전달될 수도 있다. VR 디스플레이 등의 장치는 사용자의 머리 위치/방향, 장치가 지원하는 수직(vertical) 혹은 수평(horizontal) FOV(Field Of View) 정보 등에 근거하여 뷰포트 영역을 추출할 수 있다.
실시예에 따라, 전술한 피드백 정보는 송신측으로 전달되는 것뿐 아니라, 수신측에서 소비될 수도 있다. 즉, 전술한 피드백 정보를 이용하여 수신측의 디코딩, 리-프로젝션, 렌더링 과정 등이 수행될 수 있다. 예를 들어, 헤드 오리엔테이션 정보 및/또는 뷰포트 정보를 이용하여 현재 사용자가 보고 있는 영역에 대한 360도 비디오만 우선적으로 디코딩 및 렌더링될 수도 있다.
여기서 뷰포트(viewport) 내지 뷰포트 영역이란, 사용자가 360도 비디오에서 보고 있는 영역을 의미할 수 있다. 시점(viewpoint) 는 사용자가 360도 비디오에서 보고 있는 지점으로서, 뷰포트 영역의 정중앙 지점을 의미할 수 있다. 즉, 뷰포트는 시점을 중심으로 한 영역인데, 그 영역이 차지하는 크기 형태 등은 후술할 FOV(Field Of View) 에 의해 결정될 수 있다.
전술한 360도 비디오 제공을 위한 전체 아키텍처 내에서, 캡처/프로젝션/인코딩/전송/디코딩/리-프로젝션/렌더링의 일련의 과정을 거치게 되는 이미지/비디오 데이터들을 360도 비디오 데이터라 부를 수 있다. 360도 비디오 데이터라는 용어는 또한 이러한 이미지/비디오 데이터들과 관련되는 메타데이터 내지 시그널링 정보를 포함하는 개념으로 쓰일 수도 있다.
도 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)는 상기 인코딩 장치에 포함될 수 있고, 또는 외부의 장치를 통하여 상기 프로젝션 과정이 수행될 수도 있다.
도 2의 (a)는 디코딩 장치에 의하여 수행되는 360도 비디오 데이터에 관한 프로젝션된 픽처에 대한 정보의 처리 과정을 나타낼 수 있다. 상기 프로젝션된 픽처에 대한 정보는 비트스트림을 통하여 수신될 수 있다.
디코딩 장치(250)는 상기 수신된 프로젝션 픽처에 대한 정보를 기반으로 상기 프로젝션 픽처를 디코딩할 수 있다. 디코딩 장치(250)에 의한 상기 프로젝션된 픽처를 디코딩하는 과정은 도 4에 대한 설명에서 구체적으로 후술한다.
리-프로젝션(re-projection) 처리부(260)는 상기 디코딩 과정을 통하여 도출된 프로젝션된 픽처에 프로젝션되어 있는 360도 비디오 데이터를 3D 모델 상에 리-프로젝션(Re-projection)할 수 있다. 상기 리-프로젝션 처리부(260)는 상기 프로젝션 처리부와 대응할 수 있다. 이 과정에서 상기 프로젝션된 픽처 상에 프로젝션되어 있는 360도 비디오 데이터가 3D 공간 상으로 리-프로젝션될 수 있다. 이 과정을 문맥에 따라 맵핑, 프로젝션이라고 부를 수도 있다. 이 때 맵핑되는 3D 공간은 3D 모델에 따라 다른 형태를 가질 수 있다. 예를 들어 3D 모델에는 구형(Sphere), 큐브(Cube), 실린더(Cylinder) 또는 피라미드(Pyramid) 가 있을 수 있다. 한편, 상기 리-프로젝션 처리부(260)는 디코딩 장치(250)에 포함될 수 있고, 또는 외부의 장치를 통하여 상기 리-프로젝션 과정이 수행될 수도 있다. 리-프로젝션된 360도 비디오 데이터는 3D 공간상에 렌더링될 수 있다.
도 3은 본 발명이 적용될 수 있는 비디오 인코딩 장치의 구성을 개략적으로 설명하는 도면이다.
도 3을 참조하면, 비디오 인코딩 장치(300)는 픽처 분할부(305), 예측부(310), 감산부(315), 변환부(320), 양자화부(325), 재정렬부(330), 엔트로피 인코딩부(335), 레지듀얼 처리부(340), 가산부(350), 필터부(355) 및 메모리(360)을 포함할 수 있다. 레지듀얼 처리부(340)는 역양자화부(341) 및 역변환부(342)를 포함할 수 있다.
픽처 분할부(305)는 입력된 픽처를 적어도 하나의 처리 유닛(processing unit)으로 분할할 수 있다.
일 예로, 처리 유닛은 코딩 유닛(coding unit, CU)이라고 불릴 수 있다. 이 경우 코딩 유닛은 최대 코딩 유닛(largest coding unit, LCU)으로부터 QTBT (Quad-tree binary-tree) 구조에 따라 재귀적으로(recursively) 분할될 수 있다. 예를 들어, 하나의 코딩 유닛은 쿼드 트리 구조 및/또는 바이너리 트리 구조를 기반으로 하위(deeper) 뎁스의 복수의 코딩 유닛들로 분할될 수 있다. 이 경우 예를 들어 쿼드 트리 구조가 먼저 적용되고 바이너리 트리 구조가 나중에 적용될 수 있다. 또는 바이너리 트리 구조가 먼저 적용될 수도 있다. 더 이상 분할되지 않는 최종 코딩 유닛을 기반으로 본 발명에 따른 코딩 절차가 수행될 수 있다. 이 경우 영상 특성에 따른 코딩 효율 등을 기반으로, 최대 코딩 유닛이 바로 최종 코딩 유닛으로 사용될 수 있고, 또는 필요에 따라 코딩 유닛은 재귀적으로(recursively) 보다 하위 뎁스의 코딩 유닛들로 분할되어 최적의 사이즈의 코딩 유닛이 최종 코딩 유닛으로 사용될 수 있다. 여기서 코딩 절차라 함은 후술하는 예측, 변환, 및 복원 등의 절차를 포함할 수 있다.
다른 예로, 처리 유닛은 코딩 유닛(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)를 포함할 수 있다. 또한, 변환 블록 또는 변환 유닛은 픽처 내에서 블록 형태의 특정 영역을 의미할 수 있고, 변환 계수 또는 레지듀얼 샘플의 어레이를 포함할 수 있다.
예측부(310)는 처리 대상 블록(이하, 현재 블록이라 함)에 대한 예측을 수행하고, 상기 현재 블록에 대한 예측 샘플들을 포함하는 예측된 블록(predicted block)을 생성할 수 있다. 예측부(310)에서 수행되는 예측의 단위는 코딩 블록일 수 있고, 변환 블록일 수도 있고, 예측 블록일 수도 있다.
예측부(310)는 현재 블록에 인트라 예측이 적용되는지 인터 예측이 적용되는지를 결정할 수 있다. 일 예로, 예측부(310)는 CU 단위로 인트라 예측 또는 인터 예측이 적용되는지를 결정할 수 있다.
인트라 예측의 경우에, 예측부(310)는 현재 블록이 속하는 픽처(이하, 현재 픽처) 내의 현재 블록 외부의 참조 샘플을 기반으로 현재 블록에 대한 예측 샘플을 유도할 수 있다. 이 때, 예측부(310)는 (i) 현재 블록의 주변(neighboring) 참조 샘플들의 평균(average) 혹은 인터폴레이션(interpolation)을 기반으로 예측 샘플을 유도할 수 있고, (ii) 현재 블록의 주변 참조 샘플들 중 예측 샘플에 대하여 특정 (예측) 방향에 존재하는 참조 샘플을 기반으로 상기 예측 샘플을 유도할 수도 있다. (i)의 경우는 비방향성 모드 또는 비각도 모드, (ii)의 경우는 방향성(directional) 모드 또는 각도(angular) 모드라고 불릴 수 있다. 인트라 예측에서 예측 모드는 예를 들어 33개의 방향성 예측 모드와 적어도 2개 이상의 비방향성 모드를 가질 수 있다. 비방향성 모드는 DC 예측 모드 및 플래너 모드(Planar 모드)를 포함할 수 있다. 예측부(310)는 주변 블록에 적용된 예측 모드를 이용하여, 현재 블록에 적용되는 예측 모드를 결정할 수도 있다.
인터 예측의 경우에, 예측부(310)는 참조 픽처 상에서 움직임 벡터에 의해 특정되는 샘플을 기반으로, 현재 블록에 대한 예측 샘플을 유도할 수 있다. 예측부(310)는 스킵(skip) 모드, 머지(merge) 모드, 및 MVP(motion vector prediction) 모드 중 어느 하나를 적용하여 현재 블록에 대한 예측 샘플을 유도할 수 있다. 스킵 모드와 머지 모드의 경우에, 예측부(310)는 주변 블록의 움직임 정보를 현재 블록의 움직임 정보로 이용할 수 있다. 스킵 모드의 경우, 머지 모드와 달리 예측 샘플과 원본 샘플 사이의 차(레지듀얼)가 전송되지 않는다. MVP 모드의 경우, 주변 블록의 움직임 벡터를 움직임 벡터 예측자(Motion Vector Predictor)로 이용하여 현재 블록의 움직임 벡터 예측자로 이용하여 현재 블록의 움직임 벡터를 유도할 수 있다.
인터 예측의 경우에, 주변 블록은 현재 픽처 내에 존재하는 공간적 주변 블록(spatial neighboring block)과 참조 픽처(reference picture)에 존재하는 시간적 주변 블록(temporal neighboring block)을 포함할 수 있다. 상기 시간적 주변 블록을 포함하는 참조 픽처는 동일 위치 픽처(collocated picture, colPic)라고 불릴 수도 있다. 움직임 정보(motion information)는 움직임 벡터와 참조 픽처 인덱스를 포함할 수 있다. 예측 모드 정보와 움직임 정보 등의 정보는 (엔트로피) 인코딩되어 비트스트림 형태로 출력될 수 있다.
스킵 모드와 머지 모드에서 시간적 주변 블록의 움직임 정보가 이용되는 경우에, 참조 픽처 리스트(reference picture list) 상의 최상위 픽처가 참조 픽처로서 이용될 수도 있다. 참조 픽처 리스트(Picture Order Count)에 포함되는 참조 픽처들은 현재 픽처와 해당 참조 픽처 간의 POC(Picture order count) 차이 기반으로 정렬될 수 있다. POC는 픽처의 디스플레이 순서에 대응하며, 코딩 순서와 구분될 수 있다.
감산부(315)는 원본 샘플과 예측 샘플 간의 차이인 레지듀얼 샘플을 생성한다. 스킵 모드가 적용되는 경우에는, 상술한 바와 같이 레지듀얼 샘플을 생성하지 않을 수 있다.
변환부(320)는 변환 블록 단위로 레지듀얼 샘플을 변환하여 변환 계수(transform coefficient)를 생성한다. 변환부(120)는 해당 변환 블록의 사이즈와, 해당 변환 블록과 공간적으로 겹치는 코딩 블록 또는 예측 블록에 적용된 예측 모드에 따라서 변환을 수행할 수 있다. 예컨대, 상기 변환 블록과 겹치는 상기 코딩 블록 또는 상기 예측 블록에 인트라 예측이 적용되었고, 상기 변환 블록이 4×4의 레지듀얼 어레이(array)라면, 레지듀얼 샘플은 DST(Discrete Sine Transform)를 이용하여 변환되고, 그 외의 경우라면 레지듀얼 샘플은 DCT(Discrete Cosine Transform)를 이용하여 변환할 수 있다.
양자화부(325)는 변환 계수들을 양자화하여, 양자화된 변환 계수를 생성할 수 있다.
재정렬부(330)는 양자화된 변환 계수를 재정렬한다. 재정렬부(330)는 계수들 스캐닝(scanning) 방법을 통해 블록 형태의 양자화된 변환 계수들을 1차원 벡터 형태로 재정렬할 수 있다. 여기서 재정렬부(330)는 별도의 구성으로 설명하였으나, 재정렬부(330)는 양자화부(325)의 일부일 수 있다.
엔트로피 인코딩부(335)는 양자화된 변환 계수들에 대한 엔트로피 인코딩을 수행할 수 있다. 엔트로피 인코딩은 예를 들어 지수 골롬(exponential Golomb), CAVLC(context-adaptive variable length coding), CABAC(context-adaptive binary arithmetic coding) 등과 같은 인코딩 방법을 포함할 수 있다. 엔트로피 인코딩부(335)는 양자화된 변환 계수 외 비디오 복원에 필요한 정보들(예컨대 신택스 요소(syntax element)의 값 등)을 함께 또는 별도로 인코딩할 수도 있다. 엔트로피 인코딩된 정보들은 비트스트림 형태로 NAL(network abstraction layer) 유닛 단위로 전송 또는 저장될 수 있다.
역양자화부(341)는 양자화부(325)에서 양자화된 값(양자화된 변환 계수)들을 역양자화하고, 역변환부(342)는 역양자화부(341)에서 역양자화된 값들을 역변환하여 레지듀얼 샘플을 생성한다.
가산부(350)는 레지듀얼 샘플과 예측 샘플을 합쳐서 픽처를 복원한다. 레지듀얼 샘플과 예측 샘플은 블록 단위로 더해져서 복원 블록이 생성될 수 있다. 여기서 가산부(350)는 별도의 구성으로 설명하였으나, 가산부(350)는 예측부(310)의 일부일 수 있다. 한편, 가산부(350)는 복원부 또는 복원 블록 생성부로 불릴 수도 있다.
복원된 픽처(reconstructed picture)에 대하여 필터부(355)는 디블록킹 필터 및/또는 샘플 적응적 오프셋(sample adaptive offset)을 적용할 수 있다. 디블록킹 필터링 및/또는 샘플 적응적 오프셋을 통해, 복원 픽처 내 블록 경계의 아티팩트나 양자화 과정에서의 왜곡이 보정될 수 있다. 샘플 적응적 오프셋은 샘플 단위로 적용될 수 있으며, 디블록킹 필터링의 과정이 완료된 후 적용될 수 있다. 필터부(355)는 ALF(Adaptive Loop Filter)를 복원된 픽처에 적용할 수도 있다. ALF는 디블록킹 필터 및/또는 샘플 적응적 오프셋이 적용된 후의 복원된 픽처에 대하여 적용될 수 있다.
메모리(360)는 복원 픽처(디코딩된 픽처) 또는 인코딩/디코딩에 필요한 정보를 저장할 수 있다. 여기서 복원 픽처는 상기 필터부(355)에 의하여 필터링 절차가 완료된 복원 픽처일 수 있다. 상기 저장된 복원 픽처는 다른 픽처의 (인터) 예측을 위한 참조 픽처로 활용될 수 있다. 예컨대, 메모리(360)는 인터 예측에 사용되는 (참조) 픽처들을 저장할 수 있다. 이 때, 인터 예측에 사용되는 픽처들은 참조 픽처 세트(reference picture set) 혹은 참조 픽처 리스트(reference picture list)에 의해 지정될 수 있다.
도 4는 본 발명이 적용될 수 있는 비디오 디코딩 장치의 구성을 개략적으로 설명하는 도면이다.
도 4를 참조하면, 비디오 디코딩 장치(400)는 엔트로피 디코딩부(410), 레지듀얼 처리부(420), 예측부(430), 가산부(440), 필터부(450) 및 메모리(460)을 포함할 수 있다. 여기서 레지듀얼 처리부(420)은 재정렬부(421), 역양자화부(422), 역변환부(423)을 포함할 수 있다.
비디오 정보를 포함하는 비트스트림이 입력되면, 비디오 디코딩 장치는(400)는 비디오 인코딩 장치에서 비디오 정보가 처리된 프로세스에 대응하여 비디오를 복원할 수 있다.
예컨대, 비디오 디코딩 장치(400)는 비디오 인코딩 장치에서 적용된 처리 유닛을 이용하여 비디오 디코딩을 수행할 수 있다. 따라서 비디오 디코딩의 처리 유닛 블록은 일 예로 코딩 유닛일 수 있고, 다른 예로 코딩 유닛, 예측 유닛 또는 변환 유닛일 수 있다. 코딩 유닛은 최대 코딩 유닛으로부터 쿼드 트리 구조 및/또는 바이너리 트리 구조를 따라서 분할될 수 있다.
예측 유닛 및 변환 유닛이 경우에 따라 더 사용될 수 있으며, 이 경우 예측 블록은 코딩 유닛으로부터 도출 또는 파티셔닝되는 블록으로서, 샘플 예측의 유닛일 수 있다. 이 때, 예측 유닛은 서브 블록으로 나뉠 수도 있다. 변환 유닛은 코딩 유닛으로부터 쿼드 트리 구조를 따라서 분할 될 수 있으며, 변환 계수를 유도하는 유닛 또는 변환 계수로부터 레지듀얼 신호를 유도하는 유닛일 수 있다.
엔트로피 디코딩부(410)는 비트스트림을 파싱하여 비디오 복원 또는 픽처 복원에 필요한 정보를 출력할 수 있다. 예컨대, 엔트로피 디코딩부(410)는 지수 골롬 부호화, CAVLC 또는 CABAC 등의 코딩 방법을 기초로 비트스트림 내 정보를 디코딩하고, 비디오 복원에 필요한 신택스 엘리먼트의 값, 레지듀얼에 관한 변환 계수의 양자화된 값 들을 출력할 수 있다.
보다 상세하게, CABAC 엔트로피 디코딩 방법은, 비트스트림에서 각 구문 요소에 해당하는 빈을 수신하고, 디코딩 대상 구문 요소 정보와 주변 및 디코딩 대상 블록의 디코딩 정보 혹은 이전 단계에서 디코딩된 심볼/빈의 정보를 이용하여 문맥(context) 모델을 결정하고, 결정된 문맥 모델에 따라 빈(bin)의 발생 확률을 예측하여 빈의 산술 디코딩(arithmetic decoding)를 수행하여 각 구문 요소의 값에 해당하는 심볼을 생성할 수 있다. 이때, CABAC 엔트로피 디코딩 방법은 문맥 모델 결정 후 다음 심볼/빈의 문맥 모델을 위해 디코딩된 심볼/빈의 정보를 이용하여 문맥 모델을 업데이트할 수 있다.
엔트로피 디코딩부(410)에서 디코딩된 정보 중 예측에 관한 정보는 예측부(430)로 제공되고, 엔트로피 디코딩부(410)에서 엔트로피 디코딩이 수행된 레지듀얼 값, 즉 양자화된 변환 계수는 재정렬부(421)로 입력될 수 있다.
재정렬부(421)는 양자화되어 있는 변환 계수들을 2차원의 블록 형태로 재정렬할 수 있다. 재정렬부(421)는 인코딩 장치에서 수행된 계수 스캐닝에 대응하여 재정렬을 수행할 수 있다. 여기서 재정렬부(421)는 별도의 구성으로 설명하였으나, 재정렬부(421)는 역양자화부(422)의 일부일 수 있다.
역양자화부(422)는 양자화되어 있는 변환 계수들을 (역)양자화 파라미터를 기반으로 역양자화하여 변환 계수를 출력할 수 있다. 이 때, 양자화 파라미터를 유도하기 위한 정보는 인코딩 장치로부터 시그널링될 수 있다.
역변환부(423)는 변환 계수들을 역변환하여 레지듀얼 샘플들을 유도할 수 있다.
예측부(430)는 현재 블록에 대한 예측을 수행하고, 상기 현재 블록에 대한 예측 샘플들을 포함하는 예측된 블록(predicted block)을 생성할 수 있다. 예측부(430)에서 수행되는 예측의 단위는 코딩 블록일 수도 있고, 변환 블록일 수도 있고, 예측 블록일 수도 있다.
예측부(430)는 상기 예측에 관한 정보를 기반으로 인트라 예측을 적용할 것인지 인터 예측을 적용할 것인지를 결정할 수 있다. 이 때, 인트라 예측과 인터 예측 중 어느 것을 적용할 것인지를 결정하는 단위와 예측 샘플을 생성하는 단위는 상이할 수 있다. 아울러, 인터 예측과 인트라 예측에 있어서 예측 샘플을 생성하는 단위 또한 상이할 수 있다. 예를 들어, 인터 예측과 인트라 예측 중 어느 것을 적용할 것인지는 CU 단위로 결정할 수 있다. 또한 예를 들어, 인터 예측에 있어서 PU 단위로 예측 모드를 결정하고 예측 샘플을 생성할 수 있고, 인트라 예측에 있어서 PU 단위로 예측 모드를 결정하고 TU 단위로 예측 샘플을 생성할 수도 있다.
인트라 예측의 경우에, 예측부(430)는 현재 픽처 내의 주변 참조 샘플을 기반으로 현재 블록에 대한 예측 샘플을 유도할 수 있다. 예측부(430)는 현재 블록의 주변 참조 샘플을 기반으로 방향성 모드 또는 비방향성 모드를 적용하여 현재 블록에 대한 예측 샘플을 유도할 수 있다. 이 때, 주변 블록의 인트라 예측 모드를 이용하여 현재 블록에 적용할 예측 모드가 결정될 수도 있다.
인터 예측의 경우에, 예측부(430)는 참조 픽처 상에서 움직임 벡터에 의해 참조 픽처 상에서 특정되는 샘플을 기반으로 현재 블록에 대한 예측 샘플을 유도할 수 있다. 예측부(430)는 스킵(skip) 모드, 머지(merge) 모드 및 MVP 모드 중 어느 하나를 적용하여 현재 블록에 대한 예측 샘플을 유도할 수 있다. 이때, 비디오 인코딩 장치에서 제공된 현재 블록의 인터 예측에 필요한 움직임 정보, 예컨대 움직임 벡터, 참조 픽처 인덱스 등에 관한 정보는 상기 예측에 관한 정보를 기반으로 획득 또는 유도될 수 있다
스킵 모드와 머지 모드의 경우에, 주변 블록의 움직임 정보가 현재 블록의 움직임 정보로 이용될 수 있다. 이 때, 주변 블록은 공간적 주변 블록과 시간적 주변 블록을 포함할 수 있다.
예측부(430)는 가용한 주변 블록의 움직임 정보로 머지 후보 리스트를 구성하고, 머지 인덱스가 머지 후보 리스트 상에서 지시하는 정보를 현재 블록의 움직임 벡터로 사용할 수 있다. 머지 인덱스는 인코딩 장치로부터 시그널링될 수 있다. 움직임 정보는 움직임 벡터와 참조 픽처를 포함할 수 있다. 스킵 모드와 머지 모드에서 시간적 주변 블록의 움직임 정보가 이용되는 경우에, 참조 픽처 리스트 상의 최상위 픽처가 참조 픽처로서 이용될 수 있다.
스킵 모드의 경우, 머지 모드와 달리 예측 샘플과 원본 샘플 사이의 차이(레지듀얼)이 전송되지 않는다.
MVP 모드의 경우, 주변 블록의 움직임 벡터를 움직임 벡터 예측자(motion vector predictor)로 이용하여 현재 블록의 움직임 벡터가 유도될 수 있다. 이 때, 주변 블록은 공간적 주변 블록과 시간적 주변 블록을 포함할 수 있다.
일 예로, 머지 모드가 적용되는 경우, 복원된 공간적 주변 블록의 움직임 벡터 및/또는 시간적 주변 블록인 Col 블록에 대응하는 움직임 벡터를 이용하여, 머지 후보 리스트가 생성될 수 있다. 머지 모드에서는 머지 후보 리스트에서 선택된 후보 블록의 움직임 벡터가 현재 블록의 움직임 벡터로 사용된다. 상기 예측에 관한 정보는 상기 머지 후보 리스트에 포함된 후보 블록들 중에서 선택된 최적의 움직임 벡터를 갖는 후보 블록을 지시하는 머지 인덱스를 포함할 수 있다. 이 때, 예측부(430)는 상기 머지 인덱스를 이용하여, 현재 블록의 움직임 벡터를 도출할 수 있다.
다른 예로, MVP(Motion Vector Prediction) 모드가 적용되는 경우, 복원된 공간적 주변 블록의 움직임 벡터 및/또는 시간적 주변 블록인 Col 블록에 대응하는 움직임 벡터를 이용하여, 움직임 벡터 예측자 후보 리스트가 생성될 수 있다. 즉, 복원된 공간적 주변 블록의 움직임 벡터 및/또는 시간적 주변 블록인 Col 블록에 대응하는 움직임 벡터는 움직임 벡터 후보로 사용될 수 있다. 상기 예측에 관한 정보는 상기 리스트에 포함된 움직임 벡터 후보 중에서 선택된 최적의 움직임 벡터를 지시하는 예측 움직임 벡터 인덱스를 포함할 수 있다. 이 때, 예측부(430)는 상기 움직임 벡터 인덱스를 이용하여, 움직임 벡터 후보 리스트에 포함된 움직임 벡터 후보 중에서, 현재 블록의 예측 움직임 벡터를 선택할 수 있다. 인코딩 장치의 예측부는 현재 블록의 움직임 벡터와 움직임 벡터 예측자 간의 움직임 벡터 차분(MVD)을 구할 수 있고, 이를 인코딩하여 비트스트림 형태로 출력할 수 있다. 즉, MVD는 현재 블록의 움직임 벡터에서 상기 움직임 벡터 예측자를 뺀 값으로 구해질 수 있다. 이 때, 예측부(430)는 상기 예측에 관한 정보에 포함된 움직임 벡터 차분을 획득하고, 상기 움직임 벡터 차분과 상기 움직임 벡터 예측자의 가산을 통해 현재 블록의 상기 움직임 벡터를 도출할 수 있다. 예측부는 또한 참조 픽처를 지시하는 참조 픽처 인덱스 등을 상기 예측에 관한 정보로부터 획득 또는 유도할 수 있다.
가산부(440)는 레지듀얼 샘플과 예측 샘플을 더하여 현재 블록 혹은 현재 픽처를 복원할 수 있다. 가산부(440)는 레지듀얼 샘플과 예측 샘플을 블록 단위로 더하여 현재 픽처를 복원할 수도 있다. 스킵 모드가 적용된 경우에는 레지듀얼이 전송되지 않으므로, 예측 샘플이 복원 샘플이 될 수 있다. 여기서는 가산부(440)를 별도의 구성으로 설명하였으나, 가산부(440)는 예측부(430)의 일부일 수도 있다. 한편, 가산부(440)는 복원부 또는 복원 블록 생성부로 불릴 수도 있다.
필터부(450)는 복원된 픽처에 디블록킹 필터링 샘플 적응적 오프셋, 및/또는 ALF 등을 적용할 수 있다. 이 때, 샘플 적응적 오프셋은 샘플 단위로 적용될 수 있으며, 디블록킹 필터링 이후 적용될 수도 있다. ALF는 디블록킹 필터링 및/또는 샘플 적응적 오프셋 이후 적용될 수도 있다.
메모리(460)는 복원 픽처(디코딩된 픽처) 또는 디코딩에 필요한 정보를 저장할 수 있다. 여기서 복원 픽처는 상기 필터부(450)에 의하여 필터링 절차가 완료된 복원 픽처일 수 있다. 예컨대, 메모리(460)는 인터 예측에 사용되는 픽처들을 저장할 수 있다. 이 때, 인터 예측에 사용되는 픽처들은 참조 픽처 세트 혹은 참조 픽처 리스트에 의해 지정될 수도 있다. 복원된 픽처는 다른 픽처에 대한 참조 픽처로서 이용될 수 있다. 또한, 메모리(460)는 복원된 픽처를 출력 순서에 따라서 출력할 수도 있다.
한편, 상술한 바와 같이 구형 면으로 나타낸 360도 비디오 데이터는 2D 이미지 상에 프로젝션될 수 있고, 여기서, 상기 360도 비디오 데이터가 프로젝션된 2D 이미지는 프로젝션된 프레임(projected frame) 또는 프로젝션된 픽처(projected picture)라고 불릴 수 있다. 또한, 상기 프로젝션된 픽처는 프로젝션 타입에 따라 복수의 페이스(face)들로 나뉘어질 수 있다. 상기 페이스는 타일(tile)에 대응할 수 있고, 또는 상기 페이스는 타일과 별도로 정의될 수 있다. 상기 프로젝션된 픽처는 다양한 프로젝션 타입들에 따라 여러 형태의 페이스들 또는 하나의 페이스로 구성될 수 있다. 또한, 3D 공간 상에서 연속되는 360도 비디오 데이터들이 프로젝션된 픽처 상에서 인접하지 않은 페이스에 맵핑될 수도 있다. 즉, 대상 블록에 인트라 예측이 수행되는 경우, 프로젝션된 픽처 상에서 인접하지 않은 페이스에 포함된 샘플들을 참조 샘플들로 도출하여 예측을 수행하는 것이 예측 정확도 및 코딩 효율을 향상시킬 수 있다. 이에, 본 발명에서는 다양한 프로젝션 타입들 및 인접하지 않은 페이스에 맵핑되는 360도 비디오 데이터들을 고려하여 수행되는 인트라 예측 방법을 제안한다.
도 5는 cube map projection(CMP)을 기반으로 도출된 프로젝션된 픽처를 예시적으로 나타낸다. 상기 CMP는 큐빅(cubic) 프로젝션 스킴이라고 불릴 수도 있다. 도 5를 참조하면 상기 360도 비디오 데이터는 큐빅(cubic) 프로젝션 스킴에 따라서 2D 이미지(또는 프레임)에 프로젝션될 수 있다. 예를 들어, 스티칭된 360도 비디오 데이터는 구형 면(spherical surface) 상에 나타내어질 수 있고, 상기 360도 비디오 데이터는 큐브 형태의 3D 프로젝션 구조로 나뉘어 2D 이미지 상에 프로젝션될 수 있다. 즉, 구형 면 상의 상기 360도 비디오 데이터는 큐브의 6개의 페이스(face)들 각각에 맵핑될 수 있고, 도 5의 (a) 내지 (f)에 도시된 것과 같이 상기 큐브의 각 페이스는 2D 이미지 상에 프로젝션될 수 있다. 상기 6개의 페이스들은 앞면(front) 페이스, 뒷면(back) 페이스, 윗면(top) 페이스, 바닥면(bottom) 페이스, 우측옆면(right) 페이스 및 좌측옆면(left) 페이스를 포함할 수 있다.
상기 프로젝션된 픽처의 페이스들은 도 5의 (a)에 도시된 것과 같이 4x3 큐브 맵(cube map), 즉, 4개의 열과 3개의 행으로 패킹(packing)될 수 있다. 상기 도 5의 (a)에 도시된 상기 360도 비디오 데이터가 맵핑되지 않은 영역의 샘플은 인밸리드 샘플(invalid sample)로 나타낼 수 있다. 또한, 상기 페이스들은 도 5의 (b)에 도시된 것과 같이 3x4 큐브 맵(cube map), 즉, 3개의 열과 4개의 행으로 패킹될 수 있다.
또한, 상기 페이스들은 도 5의 (c)에 도시된 것과 같이 3x2 큐브 맵(cube map), 즉, 3개의 열과 2개의 행으로 패킹될 수 있다. 이 경우, 상기 프로젝션된 픽처에 상기 인밸리드 샘플은 포함되지 않을 수 있다. 또한, 상기 페이스들은 도 5의 (d)에 도시된 것과 같이 2x3 큐브 맵(cube map), 즉, 2개의 열과 3개의 행으로 패킹될 수 있다.
또한, 상기 페이스들은 도 5의 (e)에 도시된 것과 같이 6x1 큐브 맵(cube map), 즉, 6개의 열과 1개의 행으로 패킹될 수 있다. 또한, 상기 페이스들은 도 5의 (f)에 도시된 것과 같이 1x6 큐브 맵(cube map), 즉, 1개의 열과 6개의 행으로 패킹될 수 있다.
또한, 360도 비디오 데이터는 Equirectangular Projection (ERP), Icosahedral Projection (ISP), Octahedron Projection (OHP), Truncated Square Pyramid projection (TSP), Segmented Sphere Projection (SSP) and Equal Area Projection (EAP)를 통하여 픽처에 프로젝션 및/또는 패킹될 수 있다.
도 6은 ERP을 기반으로 도출된 프로젝션된 픽처를 예시적으로 나타낸다. 360도 비디오 데이터가 상기 ERP를 통하여 프로젝션되는 경우, 예를 들어, 스티칭된 360도 비디오 데이터는 구형 면(spherical surface) 상에 나타내어질 수 있고, 상기 360도 비디오 데이터는 상기 구형 면 상에서의 연속성이 유지되는 하나의 픽처로 프로젝션될 수 있다. 따라서, 도 6에 도시된 것과 같이 상기 360도 비디오 데이터는 프로젝션된 픽처 내 하나의 페이스에 맵핑될 수 있다.
도 7은 ISP를 기반으로 도출된 프로젝션된 픽처를 예시적으로 나타낸다. 360도 비디오 데이터가 상기 ISP를 통하여 프로젝션되는 경우, 예를 들어, 스티칭된 360도 비디오 데이터는 구형 면(spherical surface) 상에 나타내어질 수 있고, 상기 360도 비디오 데이터는 이십면체 형태의 3D 프로젝션 구조로 나뉘어 2D 이미지 상에 프로젝션될 수 있다. 즉, 구형 면 상의 상기 360도 비디오 데이터는 도 7의 (a) 내지 (c)에 도시된 것과 같이 2D 이미지 상에 프로젝션될 수 있다.
도 7의 (a)를 참조하면 상기 360도 비디오 데이터는 인밸리드 샘플이 포함된 페이스 및 인밸리드 샘플이 포함되지 않은 페이스에 맵핑될 수 있다. 상기 인밸리드 샘플이 포함된 페이스의 절반의 직각 삼각형 영역은 인밸리드 샘플들, 나머지 절반의 직각 삼각형 영역은 상기 360도 비디오 맵핑된 샘플들을 포함할 수 있다.
또한, 도 7의 (b)를 참조하면 상기 360도 비디오 데이터는 인밸리드 샘플이 포함되지 않은 페이스에만 맵핑될 수 있다. 또한, 도 7의 (c)를 참조하면 상기 360도 비디오 데이터는 인밸리드 샘플이 포함된 페이스에만 맵핑될 수 있다. 상기 인밸리드 샘플이 포함된 페이스의 절반의 직각 삼각형 영역은 인밸리드 샘플들, 나머지 절반의 직각 삼각형 영역은 상기 360도 비디오 맵핑된 샘플들을 포함할 수 있다.
도 8은 OHP를 기반으로 도출된 프로젝션된 픽처를 예시적으로 나타낸다. 360도 비디오 데이터가 상기 ISP를 통하여 프로젝션되는 경우, 예를 들어, 스티칭된 360도 비디오 데이터는 구형 면(spherical surface) 상에 나타내어질 수 있고, 상기 360도 비디오 데이터는 팔면체 형태의 3D 프로젝션 구조로 나뉘어 2D 이미지 상에 프로젝션될 수 있다. 즉, 구형 면 상의 상기 360도 비디오 데이터는 도 8의 (a) 및 (b)에 도시된 것과 같이 2D 이미지 상에 프로젝션될 수 있다.
도 8의 (a)를 참조하면 상기 360도 비디오 데이터는 인밸리드 샘플이 포함된 페이스 및 인밸리드 샘플이 포함되지 않은 페이스에 맵핑될 수 있다. 상기 인밸리드 샘플이 포함된 페이스의 절반의 직각 삼각형 영역은 인밸리드 샘플들, 나머지 절반의 직각 삼각형 영역은 상기 360도 비디오 맵핑된 샘플들을 포함할 수 있다. 또한, 도 8의 (b)를 참조하면 상기 360도 비디오 데이터는 인밸리드 샘플이 포함되지 않은 페이스에만 맵핑될 수 있다.
도 9는 TSP, SSP 또는 EAP를 기반으로 도출된 프로젝션된 픽처를 예시적으로 나타낸다.
도 9의 (a)를 참조하면 상기 360도 비디오 데이터는 상기 TSP를 통하여 픽처에 프로젝션될 수 있다. 예를 들어, 스티칭된 360도 비디오 데이터는 구형 면(spherical surface) 상에 나타내어질 수 있고, 상기 360도 비디오 데이터는 윗 부분이 잘린 피라미드(Truncated Square Pyramid) 형태의 3D 프로젝션 구조로 나뉘어 2D 이미지 상에 프로젝션될 수 있다. 여기서, 상기 윗 부분이 잘린 피라미드 형태는 바닥면보다 작은 사각형의 윗면이 존재하는 피라미드 형태를 나타낼 수 있다. 또한, 상기 TSP를 통하여 상기 360도 비디오 데이터가 프로젝션되는 경우, 상기 360도 비디오 데이터는 상기 구형 면 상에서의 연속성이 유지되는 하나의 픽처로 프로젝션될 수 있다. 따라서, 구형 면 상의 상기 360도 비디오 데이터는 도 9의 (a)에 도시된 것과 같이 하나의 페이스에 프로젝션될 수 있다.
도 9의 (b)를 참조하면 상기 360도 비디오 데이터는 상기 SSP를 통하여 프레임에 프로젝션될 수 있다. 상기 360도 비디오 데이터는 프레임 내 6개의 페이스들에 맵핑될 수 있고, 상기 페이스들은 도 9의 (b)에 도시된 것과 같이 6개의 열과 1개의 행으로 패킹될 수 있다.
도 9의 (c)를 참조하면 상기 360도 비디오 데이터는 상기 EAP를 통하여 프레임에 프로젝션될 수 있다. 상기 360도 비디오 데이터는 상기 구형 면 상에서의 연속성이 유지되는 하나의 픽처로 프로젝션될 수 있다. 따라서, 구형 면 상의 상기 360도 비디오 데이터는 도 9의 (c)에 도시된 것과 같이 하나의 페이스에 프로젝션될 수 있다.
한편, 상기 360도 비디오 데이터가 맵핑된 픽처(상술한 프로젝션된 픽처)를 복수의 페이스들로 구분하는 페이스 구조는 예측 대상 페이스의 참조 페이스를 가리킴으로서 연속성을 개선시키고 예측에 보다 적합해질 수 있다. 상기 참조 페이스는 상기 대상 페이스의 페이스 인덱스와 다른 페이스 인덱스를 가질 수 있고, 또는 상기 참조 페이스와 인접하지 않을 수 있다. 즉, 상기 예측 대상 페이스에 포함된 360도 비디오 데이터와 연속되는 비디오 데이터를 포함하는 상기 참조 페이스를 통하여 예측이 수행될 수 있다.
예를 들어, 도 5의 (a)에 나타난 페이스 4(face 4)의 상단 행 샘플들은 페이스 1의 좌단 열 샘플들의 주변 샘플들, 즉, 연속되는 비디오 데이터를 포함하는 샘플들일 수 있다. 이 경우, 상기 페이스 4의 상기 상단 행 샘플들을 인코딩할 때, 상기 페이스 1의 상기 좌단 열 샘플들은 상기 페이스 4의 상기 상단 행 샘플들의 예측의 참조 샘플들로 사용될 수 있다. 상기 페이스에 대한 정보는 PPS(picture parameter set) 단위로 시그널링될 수 있다. 상기 페이스에 대한 정보는 CU 단위, CTU 단위, 슬라이스 단위 또는 SPS(sequence parameter set) 단위로 전송될 수도 있다.
상기 페이스에 대한 정보가 포함된 신텍스는 다음의 표와 같을 수 있다.
Figure PCTKR2017011003-appb-T000001
여기서, face_enabled_flag는 페이스 가용 플래그를 나타내는 신텍스 요소를 나타낼 수 있고, face()는 상기 페이스에 대한 정보를 나타내는 신텍스 요소를 나타낼 수 있다. 상기 페이스 가용 플래그는 상기 페이스 구조의 사용 가능 여부를 나타낼 수 있다. 즉, 상기 페이스 가용 플래그는 상기 프로젝션된 픽처가 복수의 페이스들로 구성되는지 여부를 나타낼 수 있다. 예를 들어, 상기 페이스 가용 플래그의 값이 0인 경우, 상기 프로젝션된 픽처에 상기 페이스 구조가 사용되지 않음을 나타낼 수 있고, 상기 페이스 가용 플래그의 값이 1인 경우, 상기 프로젝션된 픽처에 상기 페이스 구조가 사용됨을 나타낼 수 있다.
상기 페이스 가용 플래그의 값이 1인 경우, 즉, 상기 프로젝션된 픽처에 상기 페이스 구조가 사용됨을 나타내는 경우, 상기 프로젝션된 픽처의 페이스에 대한 정보가 시그널링될 수 있다. 상기 페이스에 대한 정보는 다음과 같은 상기 페이스에 대한 구체적인 세부 정보들을 포함할 수 있다. 상기 페이스에 대한 세부 정보들이 포함된 신텍스는 다음의 표와 같을 수 있다.
Figure PCTKR2017011003-appb-T000002
여기서, face_width 는 상기 페이스의 너비(width)를 나타내는 신텍스 요소, face_height 는 상기 페이스의 높이(height)를 나타내는 신텍스 요소, face_row 는 상기 프로젝션된 픽처의 페이스들이 배열된 행(row) 내 페이스들의 개수(number of faces in each row)를 나타내는 신텍스 요소, face_col 는 상기 프로젝션된 픽처의 페이스들이 배열된 열(column) 내 페이스들의 개수(number of faces in each column)를 나타내는 신텍스 요소를 나타낼 수 있다. 또한, face_invalid_flag 는 상기 페이스가 유효하지 않은지 여부, 즉, 상기 인밸리드 샘플(invalid sample)들만을 포함하는지 여부를 나타내는 페이스 인밸리드 플래그의 신텍스 요소를 나타낼 수 있다. 예를 들어, 상기 페이스 인밸리드 플래그의 값이 1인 경우, 상기 페이스는 유효하지 않다고, 즉, 상기 인밸리드 샘플들만을 포함할 수 있다. 또한, 상기 페이스 인밸리드 플래그의 값이 0인 경우, 상기 페이스는 상기 360도 비디오 데이터가 맵핑된 샘플을 포함할 수 있다. 또한, face_rotation은 상기 페이스의 회전 여부를 나타내는 신텍스 요소를 나타낼 수 있다. 예를 들어, 상기 face_rotation의 값이 0인 경우, 상기 face_rotation는 상기 페이스가 회전되지 않았음을 나타낼 수 있고, 상기 face_rotation의 값이 1인 경우, 상기 face_rotation는 상기 페이스가 시계 방향으로 90도 회전되었음을 나타낼 수 있고, 상기 face_rotation의 값이 2인 경우, 상기 face_rotation는 상기 페이스가 시계 방향으로 180도 회전되었음을 나타낼 수 있고, 상기 face_rotation의 값이 3인 경우, 상기 face_rotation는 상기 페이스가 시계 방향으로 270도 회전되었음을 나타낼 수 있다. 또한, face_qp 는 상기 페이스의 양자화 파라미터(quantization parameter, QP) 값을 나타내는 신텍스 요소, neighbour_face는 상기 페이스의 참조 페이스를 가리키는 정보의 신텍스 요소를 나타낼 수 있다. 즉, 상기 neighbour_face는 상기 페이스의 참조 페이스를 가리키는 정보의 신텍스 요소를 나타낼 수 있다.
한편, 프로젝션된 픽처(projected picture) 내 360도 비디오 데이터가 프로젝션된 페이스들은 복수의 CU(coding unit)들을 포함할 수 있고, CU 단위로 인코딩/디코딩될 수 있다. 즉, 상기 CU 단위로 인트라 예측 또는 인터 예측이 수행될 수 있다. 구체적으로, 대상 CU에 인트라 예측이 적용되는 경우, 픽처(또는 프레임) 내의 주변 참조 샘플을 기반으로 대상 CU에 대한 예측 샘플이 유도될 수 있다. 인트라 예측에서 인트라 예측 모드는 예를 들어 33개의 방향성 예측 모드와 적어도 2개 이상의 비방향성 모드를 가질 수 있다. 비방향성 모드는 DC 예측 모드 및 플래너 모드(Planar 모드)을 포함할 수 있다. 상기 대상 CU에 방향성 모드 또는 비방향성 모드가 적용될 수 있고, 상기 대상 CU의 참조 샘플을 기반으로 상기 대상 CU에 대한 예측 샘플을 유도할 수 있다. 이 때, 주변 CU의 인트라 예측 모드를 이용하여 상기 대상 CU에 적용할 예측 모드가 결정될 수도 있다.
또한, 상기 프로젝션된 픽처 내 CU들은 특정의 처리 순서에 따라 인코딩/디코딩될 수 있다. 상기 특정의 처리 순서는 z-스캔 오더일 수 있다. 즉, 상기 CU들은 상단 행에서 순차적으로 아래의 행의 순서로 인코딩/디코딩되고, 각각의 행에서는 좌단 CU에서 우단 CU의 순서로 순차적으로 인코딩/디코딩될 수 있다. 따라서, 상기 대상 CU에 인트라 예측이 적용되는 경우, 디코딩 순서상 상기 대상 CU의 디코딩 과정 시점에 복원되어 있는 상측 주변 샘플들, 우상측 주변 샘플들 및 좌측 주변 샘플들이 상기 현재 블록의 참조 샘플로 사용될 수 있다. 이에, 페이스 내 CU들 중 상기 페이스의 좌단 경계 또는 상단 경계에 인접한 CU들은 참조 샘플들의 위치가 상기 페이스의 범위에 포함되지 않을 수 있다. 이 경우, 상기 CU들의 인트라 예측을 위한 참조 샘플들은 다음과 같이 도출될 수 있다.
도 10은 대상 페이스 내 CU의 인트라 예측을 위한 참조 샘플을 도출하는 방법을 예시적으로 나타낸다. 대상 CU에 인트라 예측이 적용되는 경우, 상기 대상 CU의 인트라 예측을 위한 참조 샘플들이 필요할 수 있다. 한편, 상기 대상 CU의 주변 샘플이 360도 비디오 데이터를 포함하지 않는 인밸리드 샘플일 수 있고, 이 경우, 상기 인밸리드 샘플을 대체하는 참조 샘플이 도출될 수 있다. 예를 들어, 도 10의 360도 비디오 데이터가 맵핑되지 않은 영역, 예를 들어 페이스 0은 상기 360도 비디오 데이터를 포함하지 않는 인밸리드 샘플들을 포함할 수 있고, 이 경우, 페이스 4 내 CU0 또는 CU1의 상측 주변 샘플들은 상기 인밸리드 샘플들이므로, 상기 상측 주변 샘플들은 인트라 예측의 참조 샘플들로 사용될 수 없다. 따라서, 다음과 같은 방법을 통하여 상기 CU0 또는 CU1의 인트라 예측을 위한 참조 샘플들이 도출될 수 있다.
일 예로, 상기 대상 CU의 디코딩 시점에 이미 복원된 주변 CU들 중 상기 대상 CU의 페이스 인덱스와 동일한 페이스 인덱스를 갖는 주변 CU가 존재할 수 있다. 즉, 상기 대상 CU의 디코딩 시점에 이미 복원된 주변 CU들 중 상기 대상 CU와 동일한 페이스에 포함된 주변 CU가 존재할 수 있다. 이 경우, 상기 대상 CU의 참조 샘플들은 상기 동일한 페이스 인덱스를 갖는 상기 주변 CU로부터 도출될 수 있다. 예를 들어, 상기 CU1의 경우, 상기 CU1의 디코딩 시점에 이미 복원된 주변 CU들 중 상기 CU1과 동일한 페이스에 포함된 주변 CU로 CU0이 존재할 수 있고, 상기 CU0의 복원 샘플은 상기 CU1의 참조 샘플로 도출될 수 있다.
또는, 상기 대상 CU의 참조 샘플은 상기 대상 CU가 포함된 페이스와 동일하지 않은 페이스에 포함되지만 같은 경계를 갖는 CU로부터 도출될 수 있다. 상기 대상 CU가 포함된 페이스와 동일하지 않은 페이스는 참조 페이스라고 불릴 수 있다. 예를 들어, 상기 CU1의 상측 샘플과 페이스 1에 포함된 CU2의 좌측 샘플은 연속하는 360도 비디오 데이터를 포함하는바, 상기 CU2의 좌측 복원 샘플들은 상기 CU1의 상측 참조 샘플들로 도출될 수 있다. 상기 대상 CU가 포함된 페이스의 참조 페이스 내 CU로부터 상기 대상 CU의 참조 샘플이 도출되는 경우, 상기 참조 페이스는 상술한 neighbour_face 신텍스 요소를 기반으로 도출될 수 있다.
상술한 상기 대상 CU의 페이스 인덱스와 동일한 페이스 인덱스를 갖는 주변 CU로부터 상기 대상 CU의 참조 샘플을 도출하는 방법 또는 상기 대상 CU가 포함된 페이스의 참조 페이스 내 CU로부터 상기 대상 CU의 참조 샘플을 도출하는 방법을 통하여 상기 대상 CU의 참조 샘플이 도출될 수 있고, 또는 상술한 방법들의 조합을 통하여 상기 대상 CU의 참조 샘플이 도출될 수도 있다.
다른 예로, 상기 대상 CU의 디코딩 시점에 상기 대상 CU의 페이스 인덱스와 동일한 페이스 인덱스를 갖는 복원된 주변 CU가 존재하지 않을 수 있다. 즉, 상기 대상 CU의 디코딩 시점에 상기 대상 CU와 동일한 페이스에 포함된 복원된 주변 CU가 존재하지 않을 수 있다. 예를 들어, z-스캔 오더에 따라 상기 페이스 4 내 CU0은 상기 페이스 4 내 CU들 중 가장 먼저 디코딩될 수 있고, 따라서, 상기 CU0의 디코딩 시점에 이미 복원된 CU들 중 상기 대상 CU와 동일한 페이스에 포함된 주변 CU는 존재하지 않을 수 있다.
이 경우, 상기 대상 CU은 인트라 예측이 아닌 다른 예측 방법이 수행될 수 있다. 예를 들어, 상기 CU0는 인트라 예측 대신 인터 예측이 수행될 수 있다.
또는, 상기 대상 CU의 참조 샘플은 상기 대상 CU가 포함된 페이스와 동일하지 않은 페이스, 즉, 참조 페이스에 포함되지만 같은 경계를 갖는 CU로부터 도출될 수 있다. 예를 들어, 상기 CU0의 상측 샘플과 페이스 1에 포함된 CU3의 좌측 샘플은 연속하는 360도 비디오 데이터를 포함하는바, 상기 CU3의 좌측 복원 샘플들은 상기 CU0의 상측 참조 샘플들로 도출될 수 있다. 상기 대상 CU가 포함된 페이스의 참조 페이스 내 CU로부터 상기 대상 CU의 참조 샘플이 도출되는 경우, 상기 참조 페이스는 상술한 neighbour_face 신텍스 요소를 기반으로 도출될 수 있다.
또는 상기 대상 CU의 인트라 예측 모드는 DC 모드 또는 플래너 모드로 도출될 수 있다. 예를 들어, 상기 CU0의 인트라 예측 모드는 DC 모드 또는 플래너 모드로 도출될 수 있고, 상기 DC 모드 또는 상기 플래너 모드를 기반으로 상기 CU0의 예측이 수행될 수 있다.
도 11은 본 발명에 따른 인코딩 장치에 의한 인트라 예측 방법을 개략적으로 나타낸다. 도 11에서 개시된 방법은 도 3에서 개시된 인코딩 장치에 의하여 수행될 수 있다. 구체적으로 예를 들어, 도 11의 S1100 내지 S1110은 상기 인코딩 장치의 프로젝션 처리부에 의하여 수행될 수 있고, S1120 내지 S1140은 상기 인코딩 장치의 예측부에 의하여 수행될 수 있고, S1150은 상기 인코딩 장치의 엔트로피 인코딩부에 의하여 수행될 수 있다.
인코딩 장치는 적어도 하나의 카메라에 의해 캡쳐된 360도 비디오 데이터를 획득한다(S1100). 인코딩 장치는 적어도 하나의 카메라에 의해 캡쳐된 360도 비디오 데이터를 획득할 수 있다. 상기 360도 비디오 데이터는 적어도 하나의 카메라에 의해 캡처된 비디오일 수 있다.
인코딩 장치는 상기 360도 비디오 데이터를 처리하여 프로젝션된 픽처(projected picture)를 획득한다(S1510). 인코딩 장치는 여러 프로젝션 타입(projection type)들 중 상기 360도 비디오 데이터에 대한 프로젝션 타입에 따라 2D 이미지(또는 픽처)에 프로젝션을 수행할 수 있고, 프로젝션된 픽처를 획득할 수 있다. 상기 프로젝션된 픽처는 프로젝션된 프레임(projected frame)이라고 불릴 수도 있다. 상기 여러 프로젝션 타입들은 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 프로젝션 구조는 팔면체일 수 있다. 또한, 인코딩 장치는 상기 프로젝션된 픽처의 페이스들 각각을 회전, 재배열하거나, 각 페이스의 레졸루션을 변경하는 등의 처리를 수행할 수 있다. 한편, 상기 프로젝션된 픽처가 복수의 페이스들로 구성되는지 여부를 나타내는 플래그가 생성될 수 있다. 상기 플래그는 페이스 가용 플래그라고 불릴 수 있다.
인코딩 장치는 상기 프로젝션된 픽처의 대상 페이스 내의 대상 블록의 예측 모드를 도출한다(S1120). 인코딩 장치는 다양한 예측 모드들을 기반으로 예측을 수행할 수 있으며, 최적의 RD(rate-distortion) 코스트를 갖는 인트라 예측 모드를 상기 대상 블록에 대한 인트라 예측 모드로 도출할 수 있다. 인트라 예측 모드는 2개의 비방향성 인트라 예측 모드들과 33개의 방향성 인트라 예측 모드들을 포함할 수 있다. 상기 비방향성 인트라 예측 모드들은 플래너(planar) 모드 및 DC 모드를 포함할 수 있고, 상기 방향성 인트라 예측 모드들은 2번 내지 34번 인트라 예측 모드들을 포함할 수 있다. 인코딩 장치는 상기 대상 페이스 내의 대상 블록의 상기 예측 모드에 관한 정보를 생성할 수 있다. 상기 예측 모드에 관한 정보는 상기 대상 블록에 대한 인트라 예측 모드를 가리키는 인덱스 정보를 포함할 수 있다.
또한, 인코딩 장치는 상기 대상 페이스 내 상기 대상 블록의 주변 블록들 중 복원 블록이 존재하는지 판단할 수 있고, 상기 주변 블록들 중 복원 블록이 존재하지 않는 경우, 상기 대상 블록의 상기 예측 모드는 중 DC 모드 또는 플래너(planar) 모드 중 하나로 도출될 수 있다. 또는, 상기 주변 블록들 중 복원 블록이 존재하지 않는 경우, 상기 대상 블록의 상기 예측 모드는 인터 예측 모드로 도출될 수 있다.
인코딩 장치는 상기 프로젝션된 픽처의 참조 페이스 내에서 상기 대상 블록에 대한 참조 샘플들을 도출한다(S1130). 상기 참조 페이스의 페이스 인덱스(face index)는 상기 대상 페이스의 페이스 인덱스와 다를 수 있다. 또한, 상기 프로젝션된 픽처 상에서 상기 대상 페이스는 상기 참조 페이스와 인접하지 않을 수 있다. 인코딩 장치는 상기 프로젝션된 픽처 내 상기 참조 페이스 내에서 상기 대상 블록에 대한 상기 참조 샘플들을 도출할 수 있다. 여기서, 상기 대상 페이스와 상기 참조 페이스는 3차원 구형면(spherical surface) 상에서 서로 인접할 수 있다.
구체적으로, 예를 들어, 상기 대상 블록에 대한 상기 참조 샘플들은 상기 대상 페이스의 상기 참조 페이스에 포함된 복원 블록들 중 상기 대상 블록과 3D 프로젝션 구조 상에서 같은 경계를 갖는 복원 블록으로부터 도출될 수 있다. 상기 3D 프로젝션 구조 상에서 상기 대상 페이스와 상기 참조 페이스는 서로 인접한 페이스들일 수 있고, 상기 대상 블록이 상기 대상 페이스와 상기 참조 페이스 사이의 경계에 인접한 블록인 경우, 상기 참조 페이스에 포함된 복원 블록들 중 상기 대상 블록과 상기 3D 프로젝션 구조 상에서 같은 경계를 갖는 복원 블록이 존재할 수 있다. 이 경우, 상기 복원 블록은 상기 대상 블록에 포함된 360도 비디오 데이터에 연속하는 360도 비디오 데이터를 포함할 수 있는바, 상기 복원 블록의 복원 샘플들은 상기 참조 샘플들로 도출될 수 있다.
예를 들어, 상기 360도 비디오 데이터가 CMP를 기반으로 프로젝션된 경우, 인코딩 장치는 상기 대상 페이스의 상기 참조 페이스에 포함된 복원 블록들 중 상기 대상 블록과 큐브(cube) 상에서 상기 대상 블록과 같은 경계를 갖는 복원 블록의 복원 샘플들을 참조 샘플들로 도출할 수 있다. 한편, 상기 360도 비디오 데이터가 CMP를 기반으로 프로젝션되고, 상기 프로젝션된 픽처 내 상기 참조 페이스 내에서 상기 대상 블록에 대한 상기 참조 샘플들이 도출되는 경우, 상기 대상 블록은 상기 대상 페이스의 상측 경계에 인접하고, 상기 참조 샘플들은 상기 참조 페이스의 좌측 경계에 인접할 수 있다. 또는, 상기 대상 블록은 상기 프로젝션된 픽처의 좌측 경계에 인접하고, 상기 참조 샘플들을 포함하는 참조 블록은 상기 프로젝션된 픽처의 상측 경계에 인접할 수 있다. 또는, 상기 대상 페이스는 상기 프로젝션된 픽처의 우측 경계에 인접하고, 상기 참조 페이스는 상기 프로젝션된 픽처의 좌측 경계에 인접할 수 있다.
다른 예로, 상기 360도 비디오 데이터가 ISP를 기반으로 프로젝션된 경우, 인코딩 장치는 상기 대상 페이스의 참조 페이스에 포함된 복원 블록들 중 상기 대상 블록과 이십면체 상에서 같은 경계를 갖는 복원 블록의 복원 샘플들을 참조 샘플들로 도출할 수 있다. 다른 예로, 상기 360도 비디오 데이터가 OHP를 기반으로 프로젝션된 경우, 인코딩 장치는 상기 대상 페이스의 참조 페이스에 포함된 복원 블록들 중 상기 대상 블록과 팔면체 상에서 같은 경계를 갖는 복원 블록의 복원 샘플들을 참조 샘플들로 도출할 수 있다.
또한, 다음과 같은 경우에 상기 참조 페이스 내에서 상기 대상 블록에 대한 상기 참조 샘플들이 도출될 수 있다.
일 예로, 상기 프로젝션된 픽처 상에서 상기 대상 블록의 상측 또는 좌측 주변 샘플이 인밸리드 페이스(invalid face) 상에 위치한 경우, 상기 참조 페이스 상에서 상기 대상 블록의 상기 인트라 예측을 위한 상기 참조 샘플들이 도출될 수 있다. 상기 대상 블록에 인트라 예측이 적용되는 경우, 인코딩 장치는 상기 대상 블록의 상측 주변 샘플들, 좌상측 주변 샘플 및/또는 좌측 주변 샘플들을 도출할 수 있다. 상기 대상 페이스는 복수의 블록들을 포함할 수 있고, 블록 단위로 코딩될 수 있다. 예를 들어, 상기 블록은 CU(coding unit)일 수 있다. 상기 복수의 블록들은 z-스캔 오더에 따라 코딩될 수 있고, 상기 대상 블록은 상기 복수의 블록들에 포함될 수 있다. 상기 프로젝션된 픽처 상에서 상기 대상 블록의 상측 또는 좌측 주변 샘플이 인밸리드 페이스(invalid face) 상에 위치할 수 있다. 즉, 상기 대상 블록의 상측 또는 좌측 주변 샘플은 인밸리드 샘플(invalid sample)일 수 있다. 상기 인밸리드 샘플은 상기 360도 비디오 데이터가 포함되지 않은 샘플을 나타낼 수 있다. 즉, 상기 360도 비디오 데이터가 맵핑되지 않은 샘플을 나타낼 수 있고, 상기 인밸리드 샘플은 특정 값의 샘플값을 가질 수 있다. 상기 인밸리드 샘플만을 포함하는 페이스는 상기 인밸리드 페이스(invalid face)라고 나타낼 수 있다. 따라서, 상기 프로젝션된 픽처 상에서 상기 대상 블록의 상측 또는 좌측 주변 샘플이 인밸리드 페이스(invalid face) 상에 위치한 경우, 상기 상측 또는 좌측 주변 샘플은 상기 인트라 예측을 위한 상기 참조 샘플로서 적절하지 않을 수 있는바, 상기 참조 페이스 상에서 상기 대상 블록의 상기 인트라 예측을 위한 상기 참조 샘플들이 도출될 수 있다.
다른 예로, 상기 프로젝션된 픽처 상에서 상기 대상 블록의 상측 또는 좌측 주변 샘플이 가용하지 않은 경우, 상기 참조 페이스 상에서 상기 대상 블록의 상기 인트라 예측을 위한 상기 참조 샘플들이 도출될 수 있다. 예를 들어, 상기 대상 블록의 상기 상측 또는 상기 좌측 주변 샘플이 가용하지 않은 경우는 상기 상측 또는 상기 좌측 주변 샘플이 상기 프로젝션된 픽처의 경계 외부에 위치하는 경우를 포함할 수 있다.
한편, 상기 대상 페이스 내 상기 대상 블록의 주변 블록들 중 복원 블록이 존재하는지 판단할 수 있고, 상기 주변 블록들 중 복원 블록이 존재하는 경우, 인코딩 장치는 상기 복원 블록의 복원 샘플들을 참조 샘플들로 도출할 수 있다. 또한, 상기 참조 페이스의 페이스 인덱스를 가리키는 정보가 생성될 수 있다.
인코딩 장치는 상기 참조 페이스 내의 상기 참조 샘플들을 기반으로 상기 대상 블록의 예측 샘플들을 도출한다(S1140). 인코딩 장치는 상기 참조 샘플들을 기반으로 대상 블록에 대한 예측 샘플들을 도출할 수 있다. 인코딩 장치는 상기 참조 샘플들 중 상기 대상 블록의 상기 예측 모드의 예측 방향에 위치하는 참조 샘플을 기반으로 예측 샘플을 도출할 수 있다.
인코딩 장치는 상기 프로젝션된 픽처에 대한 360도 비디오 정보를 생성하고 인코딩하여 출력한다(S1150). 인코딩 장치는 상기 프로젝션된 픽처에 대한 상기 360도 비디오 정보를 생성할 수 있고, 상기 360 비디오 정보를 인코딩하여 비트스트림을 통하여 출력할 수 있다. 상기 360도 비디오 정보는 상기 대상 페이스에 대한 정보를 포함할 수 있다. 구체적으로, 상기 대상 페이스의 너비(width)를 나타내는 정보를 포함할 수 있고, 상기 페이스의 높이(height)를 나타내는 정보를 포함할 수 있다. 또한, 상기 360도 비디오 정보는 상기 프로젝션된 픽처의 페이스들이 배열된 행(row) 내 페이스들의 개수를 나타내는 정보를 포함할 수 있고, 상기 프로젝션된 픽처의 페이스들이 배열된 열(column) 내 페이스들의 개수를 나타내는 정보를 포함할 수 있다. 또한, 상기 360도 비디오 정보는 상기 대상 페이스가 인밸리드 페이스인지 여부를 나타내는 플래그를 포함할 수 있다. 상기 플래그는 페이스 인밸리드 플래그라고 불릴 수 있다. 또한, 상기 360도 비디오 정보는 상기 대상 페이스의 회전 여부를 나타내는 정보를 포함할 수 있고, 상기 대상 페이스의 양자화 파라미터(quantization parameter, QP) 값을 나타내는 정보를 포함할 수 있다. 또한, 상기 360도 비디오 정보는 상기 대상 페이스의 상기 참조 페이스의 페이스 인덱스를 가리키는 정보를 포함할 수 있다. 상기 360도 비디오 정보를 포함하는 신텍스는 상술한 표 2와 같이 도출될 수 있다.
또한, 상기 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) 을 포함할 수 있다. 한편, 상기 프로젝션된 픽처가 복수의 페이스들로 구성되는지 여부를 나타내는 플래그가 생성될 수 있고, 상기 플래그는 상기 360 비디오 정보에 포함될 수 있다. 상기 플래그는 페이스 가용 플래그라고 불릴 수 있다. 또한, 상기 360도 비디오 정보는 상기 대상 페이스 내의 대상 블록의 예측 모드에 관한 정보를 포함할 수 있다. 상기 예측 모드에 관한 정보는 상기 대상 블록에 대한 인트라 예측 모드를 가리키는 인덱스 정보를 포함할 수 있다.
한편, 비록 도면에서 도시되지는 않았으나 인코딩 장치는 원본 샘플과 상기 도출된 예측 샘플을 기반으로 레지듀얼(residual) 샘플을 생성할 수 있다. 인코딩 장치는 상기 레지듀얼 샘플을 기반으로 상기 레지듀얼에 관한 정보를 생성할 수 있다. 상기 레지듀얼에 관한 정보는 상기 레지듀얼 샘플에 관한 변환 계수들을 포함할 수 있다. 인코딩 장치는 상기 예측 샘플과 상기 레지듀얼 샘플을 기반으로 상기 복원 샘플을 도출할 수 있다. 즉, 인코딩 장치는 상기 예측 샘플과 상기 레지듀얼 샘플을 더하여 상기 복원 샘플을 도출할 수 있다. 또한, 인코딩 장치는 상기 레지듀얼에 관한 정보를 인코딩하여 비트스트림 형태로 출력할 수 있다. 상기 비트스트림은 네트워크 또는 저장매체를 통하여 디코딩 장치로 전송될 수 있다.
도 12는 본 발명에 따른 디코딩 장치에 의한 인트라 예측 방법을 개략적으로 나타낸다. 도 12에서 개시된 방법은 도 4에서 개시된 디코딩 장치에 의하여 수행될 수 있다. 구체적으로 예를 들어, 도 12의 S1200은 상기 디코딩 장치의 엔트로피 디코딩부에 의하여 수행될 수 있고, S1210 내지 S1230은 상기 디코딩 장치의 예측부에 의하여 수행될 수 있다.
디코딩 장치는 360도 비디오 정보를 수신한다(S1200). 디코딩 장치는 비트스트림을 통하여 상기 360도 비디오 정보를 수신할 수 있다. 상기 360도 비디오 정보는 프로젝션된 픽처의 대상 페이스에 대한 정보를 포함할 수 있다. 구체적으로, 상기 대상 페이스의 너비(width)를 나타내는 정보를 포함할 수 있고, 상기 페이스의 높이(height)를 나타내는 정보를 포함할 수 있다. 또한, 상기 360도 비디오 정보는 상기 프로젝션된 픽처의 페이스들이 배열된 행(row) 내 페이스들의 개수를 나타내는 정보를 포함할 수 있고, 상기 프로젝션된 픽처의 페이스들이 배열된 열(column) 내 페이스들의 개수를 나타내는 정보를 포함할 수 있다. 또한, 상기 360도 비디오 정보는 상기 대상 페이스가 인밸리드 페이스인지 여부를 나타내는 플래그를 포함할 수 있다. 상기 플래그는 페이스 인밸리드 플래그라고 불릴 수 있다. 또한, 상기 360도 비디오 정보는 상기 대상 페이스의 회전 여부를 나타내는 정보를 포함할 수 있고, 상기 대상 페이스의 양자화 파라미터(quantization parameter, QP) 값을 나타내는 정보를 포함할 수 있다. 또한, 상기 360도 비디오 정보는 상기 대상 페이스의 상기 참조 페이스의 페이스 인덱스를 가리키는 정보를 포함할 수 있다. 상기 360도 비디오 정보를 포함하는 신텍스는 상술한 표 2와 같이 도출될 수 있다.
또한, 상기 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) 을 포함할 수 있다. 또한, 상기 360도 비디오 정보는 상기 프로젝션된 픽처가 복수의 페이스들로 구성되는지 여부를 나타내는 플래그를 포함할 수 있다. 상기 플래그는 페이스 가용 플래그라고 불릴 수 있다. 또한, 상기 360도 비디오 정보는 상기 대상 페이스 내의 대상 블록의 예측 모드에 관한 정보를 포함할 수 있다. 상기 예측 모드에 관한 정보는 상기 대상 블록에 대한 인트라 예측 모드를 가리키는 인덱스 정보를 포함할 수 있다.
디코딩 장치는 상기 360 비디오 정보를 기반으로 프로젝션된 픽처(projected picture) 내 대상 페이스 내의 대상 블록의 예측 모드를 도출한다(S1210). 디코딩 장치는 상기 비트스트림으로부터 획득한 상기 예측 모드에 관한 정보를 기반으로 상기 대상 블록에 대한 인트라 예측 모드를 도출할 수 있다. 인트라 예측 모드는 2개의 비방향성 인트라 예측 모드들과 33개의 방향성 인트라 예측 모드들을 포함할 수 있다. 상기 비방향성 인트라 예측 모드들은 플래너(planar) 모드 및 DC 모드를 포함할 수 있고, 상기 방향성 인트라 예측 모드들은 2번 내지 34번 인트라 예측 모드들을 포함할 수 있다.
또한, 디코딩 장치는 상기 대상 페이스 내 상기 대상 블록의 주변 블록들 중 복원 블록이 존재하는지 판단할 수 있고, 상기 주변 블록들 중 복원 블록이 존재하지 않는 경우, 상기 대상 블록의 상기 예측 모드는 중 DC 모드 또는 플래너(planar) 모드 중 하나로 도출될 수 있다. 또는, 상기 주변 블록들 중 복원 블록이 존재하지 않는 경우, 상기 대상 블록의 상기 예측 모드는 인터 예측 모드로 도출될 수 있다.
디코딩 장치는 상기 프로젝션된 픽처의 참조 페이스 내에서 상기 대상 블록에 대한 참조 샘플들을 도출한다(S1220). 상기 참조 페이스의 페이스 인덱스(face index)는 상기 대상 페이스의 페이스 인덱스와 다를 수 있다. 또한, 상기 프로젝션된 픽처 상에서 상기 대상 페이스는 상기 참조 페이스와 인접하지 않을 수 있다. 디코딩 장치는 상기 프로젝션된 픽처 내 상기 참조 페이스 내에서 상기 대상 블록에 대한 상기 참조 샘플들을 도출할 수 있다. 여기서, 상기 대상 페이스와 상기 참조 페이스는 3차원 구형면(spherical surface) 상에서 서로 인접할 수 있다. 또한, 상기 360도 비디오 정보는 상기 참조 페이스의 페이스 인덱스를 가리키는 정보를 포함할 수 있고, 상기 참조 페이스의 상기 페이스 인덱스를 가리키는 정보를 기반으로 상기 대상 페이스의 참조 페이스가 도출될 수 있다.
구체적으로, 예를 들어, 상기 대상 블록에 대한 상기 참조 샘플들은 상기 대상 페이스의 상기 참조 페이스에 포함된 복원 블록들 중 상기 대상 블록과 3D 프로젝션 구조 상에서 같은 경계를 갖는 복원 블록으로부터 도출될 수 있다. 상기 3D 프로젝션 구조 상에서 상기 대상 페이스와 상기 참조 페이스는 서로 인접한 페이스들일 수 있고, 상기 대상 블록이 상기 대상 페이스와 상기 참조 페이스 사이의 경계에 인접한 블록인 경우, 상기 참조 페이스에 포함된 복원 블록들 중 상기 대상 블록과 상기 3D 프로젝션 구조 상에서 같은 경계를 갖는 복원 블록이 존재할 수 있다. 이 경우, 상기 복원 블록은 상기 대상 블록에 포함된 360도 비디오 데이터에 연속하는 360도 비디오 데이터를 포함할 수 있는바, 상기 복원 블록의 복원 샘플들은 상기 참조 샘플들로 도출될 수 있다.
예를 들어, 상기 360도 비디오 데이터가 CMP를 기반으로 프로젝션된 경우, 디코딩 장치는 상기 대상 페이스의 상기 참조 페이스에 포함된 복원 블록들 중 상기 대상 블록과 큐브(cube) 상에서 상기 대상 블록과 같은 경계를 갖는 복원 블록의 복원 샘플들을 참조 샘플들로 도출할 수 있다. 한편, 상기 360도 비디오 데이터가 CMP를 기반으로 프로젝션되고, 상기 프로젝션된 픽처 내 상기 참조 페이스 내에서 상기 대상 블록에 대한 상기 참조 샘플들이 도출되는 경우, 상기 대상 블록은 상기 대상 페이스의 상측 경계에 인접하고, 상기 참조 샘플들은 상기 참조 페이스의 좌측 경계에 인접할 수 있다. 또는, 상기 대상 블록은 상기 프로젝션된 픽처의 좌측 경계에 인접하고, 상기 참조 샘플들을 포함하는 참조 블록은 상기 프로젝션된 픽처의 상측 경계에 인접할 수 있다. 또는, 상기 대상 페이스는 상기 프로젝션된 픽처의 우측 경계에 인접하고, 상기 참조 페이스는 상기 프로젝션된 픽처의 좌측 경계에 인접할 수 있다.
다른 예로, 상기 360도 비디오 데이터가 ISP를 기반으로 프로젝션된 경우, 디코딩 장치는 상기 대상 페이스의 참조 페이스에 포함된 복원 블록들 중 상기 대상 블록과 이십면체 상에서 같은 경계를 갖는 복원 블록의 복원 샘플들을 참조 샘플들로 도출할 수 있다. 다른 예로, 상기 360도 비디오 데이터가 OHP를 기반으로 프로젝션된 경우, 인코딩 장치는 상기 대상 페이스의 참조 페이스에 포함된 복원 블록들 중 상기 대상 블록과 팔면체 상에서 같은 경계를 갖는 복원 블록의 복원 샘플들을 참조 샘플들로 도출할 수 있다.
또한, 다음과 같은 경우에 상기 참조 페이스 내에서 상기 대상 블록에 대한 상기 참조 샘플들이 도출될 수 있다.
일 예로, 상기 프로젝션된 픽처 상에서 상기 대상 블록의 상측 또는 좌측 주변 샘플이 인밸리드 페이스(invalid face) 상에 위치한 경우, 상기 참조 페이스 상에서 상기 대상 블록의 상기 인트라 예측을 위한 상기 참조 샘플들이 도출될 수 있다. 상기 대상 블록에 인트라 예측이 적용되는 경우, 디코딩 장치는 상기 대상 블록의 상측 주변 샘플들, 좌상측 주변 샘플 및/또는 좌측 주변 샘플들을 도출할 수 있다. 상기 대상 페이스는 복수의 블록들을 포함할 수 있고, 블록 단위로 코딩될 수 있다. 예를 들어, 상기 블록은 CU(coding unit)일 수 있다. 상기 복수의 블록들은 z-스캔 오더에 따라 코딩될 수 있고, 상기 대상 블록은 상기 복수의 블록들에 포함될 수 있다. 상기 프로젝션된 픽처 상에서 상기 대상 블록의 상측 또는 좌측 주변 샘플이 인밸리드 페이스(invalid face) 상에 위치할 수 있다. 즉, 상기 대상 블록의 상측 또는 좌측 주변 샘플은 인밸리드 샘플(invalid sample)일 수 있다. 상기 인밸리드 샘플은 상기 360도 비디오 데이터가 포함되지 않은 샘플을 나타낼 수 있다. 즉, 상기 360도 비디오 데이터가 맵핑되지 않은 샘플을 나타낼 수 있고, 상기 인밸리드 샘플은 특정 값의 샘플값을 가질 수 있다. 상기 인밸리드 샘플만을 포함하는 페이스는 상기 인밸리드 페이스(invalid face)라고 나타낼 수 있다. 따라서, 상기 프로젝션된 픽처 상에서 상기 대상 블록의 상측 또는 좌측 주변 샘플이 인밸리드 페이스(invalid face) 상에 위치한 경우, 상기 상측 또는 좌측 주변 샘플은 상기 인트라 예측을 위한 상기 참조 샘플로서 적절하지 않을 수 있는바, 상기 참조 페이스 상에서 상기 대상 블록의 상기 인트라 예측을 위한 상기 참조 샘플들이 도출될 수 있다.
다른 예로, 상기 프로젝션된 픽처 상에서 상기 대상 블록의 상측 또는 좌측 주변 샘플이 가용하지 않은 경우, 상기 참조 페이스 상에서 상기 대상 블록의 상기 인트라 예측을 위한 상기 참조 샘플들이 도출될 수 있다. 예를 들어, 상기 대상 블록의 상기 상측 또는 상기 좌측 주변 샘플이 가용하지 않은 경우는 상기 상측 또는 상기 좌측 주변 샘플이 상기 프로젝션된 픽처의 경계 외부에 위치하는 경우를 포함할 수 있다.
한편, 상기 대상 페이스 내 상기 대상 블록의 주변 블록들 중 복원 블록이 존재하는지 판단할 수 있고, 상기 주변 블록들 중 복원 블록이 존재하는 경우, 디코딩 장치는 상기 복원 블록의 복원 샘플들을 참조 샘플들로 도출할 수 있다.
디코딩 장치는 상기 참조 페이스 내의 상기 참조 샘플들을 기반으로 상기 대상 블록의 예측 샘플들을 도출한다(S1230). 디코딩 장치는 상기 참조 샘플들을 기반으로 대상 블록에 대한 예측 샘플들을 도출할 수 있다. 디코딩 장치는 상기 참조 샘플들 중 상기 대상 블록의 상기 예측 모드의 예측 방향에 위치하는 참조 샘플을 기반으로 예측 샘플을 도출할 수 있다.
한편, 비록 도면에서 도시되지는 않았으나 디코딩 장치는 예측 모드에 따라 상기 예측 샘플을 바로 복원 샘플로 이용할 수도 있고, 또는 상기 예측 샘플에 레지듀얼 샘플을 더하여 복원 샘플을 생성할 수도 있다. 디코딩 장치는 상기 대상 블록에 대한 레지듀얼 샘플이 존재하는 경우, 상기 대상 블록에 대한 레지듀얼에 관한 정보를 수신할 수 있고, 상기 레지듀얼에 관한 정보는 상기 페이스에 대한 정보에 포함될 수 있다. 상기 레지듀얼에 관한 정보는 상기 레지듀얼 샘플에 관한 변환 계수를 포함할 수 있다. 디코딩 장치는 상기 레지듀얼 정보를 기반으로 상기 대상 블록에 대한 상기 레지듀얼 샘플(또는 레지듀얼 샘플 어레이)을 도출할 수 있다. 디코딩 장치는 상기 예측 샘플과 상기 레지듀얼 샘플을 기반으로 복원 샘플을 생성할 수 있고, 상기 복원 샘플을 기반으로 복원 블록 또는 복원 픽처를 도출할 수 있다. 이후 디코딩 장치는 필요에 따라 주관적/객관적 화질을 향상시키기 위하여 디블록킹 필터링 및/또는 SAO 절차와 같은 인루프 필터링 절차를 상기 복원 픽처에 적용할 수 있음은 상술한 바와 같다.
한편, 비록 도면에서 도시되지는 않았으나, 디코딩 장치는 상기 디코딩된 프로젝션된 픽처의 360도 비디오 데이터를 3D 공간으로 맵핑할 수 있다. 즉, 디코딩 장치는 상기 프로젝션된 픽처를 상기 3D 공간으로 리-프로젝션(re-projection)할 수 있다.
상술한 본 발명에 따르면 360 비디오에 대한 프로젝션된 픽처의 디코딩에 있어서 대상 페이스 내 대상 블록의 인트라 예측에 대한 참조 샘플들을 대상 페이스와 페이스 인덱스가 다른 참조 페이스 내 참조 샘플들로부터 도출할 수 있고, 이를 통하여 상기 대상 블록에 대한 예측 정확도를 향상시킬 수 있다.
또한, 본 발명에 따르면 프로젝션된 픽처의 대상 페이스 내 대상 블록에 대한 인트라 예측에 있어서 3차원 구형면 상에서 대상 페이스와 인접한 참조 페이스 내 참조 샘플들을 기반으로 예측을 수행할 수 있고, 이를 통하여 예측 정확도를 향상시키고 전반적인 코딩 효율을 향상시킬 수 있다.
또한, 본 발명에 따르면 여러 프로젝션 타입들 중 360도 비디오 데이터에 적합한 프로젝션 타입에 따라 프로젝션된 픽처를 도출할 수 있고, 이를 통하여 전반적인 코딩 효율을 향상시킬 수 있다.
상술한 실시예에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당업자라면 순서도에 나타내어진 단계들이 배타적이지 않고, 다른 단계가 포함되거나 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
상술한 본 발명에 따른 방법은 소프트웨어 형태로 구현될 수 있으며, 본 발명에 따른 인코딩 장치 및/또는 디코딩 장치는 예를 들어 TV, 컴퓨터, 스마트폰, 셋톱박스, 디스플레이 장치 등의 영상 처리를 수행하는 장치에 포함될 수 있다.
본 발명에서 실시예들이 소프트웨어로 구현될 때, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리에 저장되고, 프로세서에 의해 실행될 수 있다. 메모리는 프로세서 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서와 연결될 수 있다. 프로세서는 ASIC(application-specific integrated circuit), 다른 칩셋, 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리는 ROM(read-only memory), RAM(random access memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다.

Claims (15)

  1. 디코딩 장치에 의하여 수행되는 인트라 예측 방법으로,
    360도 비디오 정보를 수신하는 단계;
    상기 360도 비디오 정보를 기반으로 프로젝션된 픽처의 대상 페이스 내의 대상 블록의 예측 모드를 도출하는 단계;
    상기 프로젝션된 픽처의 참조 페이스 내에서 상기 대상 블록에 대한 참조 샘플들을 도출하는 단계; 및
    상기 참조 페이스 내의 상기 참조 샘플들을 기반으로 상기 대상 블록의 예측 샘플들을 도출하는 단계를 포함하는 것을 특징으로 하는 인트라 예측 방법.
  2. 제1항에 있어서,
    상기 참조 페이스의 페이스 인덱스(face index)는 상기 대상 페이스의 페이스 인덱스와 다른 것을 특징으로 하는 인트라 예측 방법.
  3. 제2항에 있어서,
    상기 360도 비디오 정보는 상기 참조 페이스의 상기 페이스 인덱스를 가리키는 정보를 포함하는 것을 특징으로 하는 인트라 예측 방법.
  4. 제1항에 있어서,
    상기 프로젝션된 픽처 상에서 상기 대상 페이스는 상기 참조 페이스와 인접하지 않는 것을 특징으로 하는 인트라 예측 방법.
  5. 제4항에 있어서,
    상기 프로젝션된 픽처 상에서 상기 대상 블록의 상측 또는 좌측 주변 샘플이 인밸리드 페이스(invalid face) 상에 위치한 경우, 상기 참조 페이스 상에서 상기 대상 블록의 상기 인트라 예측을 위한 상기 참조 샘플들이 도출되는 것을 특징으로 하는 인트라 예측 방법.
  6. 제4항에 있어서,
    상기 프로젝션된 픽처 상에서 상기 대상 블록의 상측 또는 좌측 주변 샘플이 가용하지 않은 경우, 상기 참조 페이스 상에서 상기 대상 블록의 상기 인트라 예측을 위한 상기 참조 샘플들이 도출되는 것을 특징으로 하는 인트라 예측 방법.
  7. 제4항에 있어서,
    상기 대상 페이스와 상기 참조 페이스는 3차원 구형면 상에서 서로 인접한 것을 특징으로 하는 인트라 예측 방법.
  8. 제4항에 있어서,
    상기 대상 블록은 상기 대상 페이스의 상측 경계에 인접하고, 상기 참조 샘플들은 상기 참조 페이스의 좌측 경계에 인접한 것을 특징으로 하는 인트라 예측 방법.
  9. 제4항에 있어서,
    상기 대상 블록은 상기 프로젝션된 픽처의 좌측 경계에 인접하고, 상기 참조 샘플들을 포함하는 참조 블록은 상기 프로젝션된 픽처의 상측 경계에 인접한 것을 특징하는 인트라 예측 방법.
  10. 제4항에 있어서,
    상기 대상 페이스는 상기 프로젝션된 픽처의 우측 경계에 인접하고, 상기 참조 페이스는 상기 프로젝션된 픽처의 좌측 경계에 인접하는 것을 특징하는 인트라 예측 방법.
  11. 제1항에 있어서,
    상기 대상 페이스 내 상기 대상 블록의 주변 블록들 중 복원 블록이 존재하는지 판단하는 단계; 및
    상기 주변 블록들 중 복원 블록이 존재하는 경우, 상기 복원 블록의 복원 샘플들을 상기 참조 샘플들로 도출하는 단계를 포함하는 것을 특징으로 하는 인트라 예측 방법.
  12. 제11항에 있어서,
    상기 주변 블록들 중 복원 블록이 존재하지 않는 경우, 상기 대상 블록의 상기 예측 모드는 중 DC 모드 또는 플래너(planar) 모드 중 하나로 도출되는 것을 특징으로 하는 인트라 예측 방법.
  13. 인코딩 장치에 의하여 수행되는 인트라 예측 방법으로,
    적어도 하나의 카메라에 의해 캡쳐된 360도 비디오 데이터를 획득하는 단계;
    상기 360도 비디오 데이터를 처리하여 프로젝션된 픽처(projected picture)를 획득하는 단계;
    상기 프로젝션된 픽처의 대상 페이스 내의 대상 블록의 예측 모드를 도출하는 단계;
    상기 프로젝션된 픽처의 참조 페이스 내에서 상기 대상 블록에 대한 참조 샘플들을 도출하는 단계;
    상기 참조 페이스 내의 상기 참조 샘플들을 기반으로 상기 대상 블록의 예측 샘플들을 도출하는 단계; 및
    상기 프로젝션된 픽처에 대한 360도 비디오 정보를 생성하고, 인코딩하여 출력하는 단계를 포함하는 것을 특징으로 하는 인트라 예측 방법.
  14. 제13항에 있어서,
    상기 프로젝션된 픽처 상에서 상기 대상 페이스는 상기 참조 페이스와 인접하지 않는 것을 특징으로 하는 인트라 예측 방법.
  15. 제14항에 있어서,
    상기 대상 페이스와 상기 참조 페이스는 3차원 구형면 상에서 서로 인접한 것을 특징으로 하는 인트라 예측 방법.
PCT/KR2017/011003 2017-01-03 2017-09-29 360도 비디오에 대한 영상 코딩 시스템에서 인트라 예측 방법 및 장치 WO2018128247A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/475,978 US10863198B2 (en) 2017-01-03 2017-09-29 Intra-prediction method and device in image coding system for 360-degree video

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762441597P 2017-01-03 2017-01-03
US201762441596P 2017-01-03 2017-01-03
US62/441,597 2017-01-03
US62/441,596 2017-01-03

Publications (1)

Publication Number Publication Date
WO2018128247A1 true WO2018128247A1 (ko) 2018-07-12

Family

ID=62791052

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/011003 WO2018128247A1 (ko) 2017-01-03 2017-09-29 360도 비디오에 대한 영상 코딩 시스템에서 인트라 예측 방법 및 장치

Country Status (2)

Country Link
US (1) US10863198B2 (ko)
WO (1) WO2018128247A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109348291A (zh) * 2018-11-16 2019-02-15 深圳市梦网百科信息技术有限公司 一种基于运动分析的全景视频码流分发方法和系统

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102598082B1 (ko) * 2016-10-28 2023-11-03 삼성전자주식회사 영상 표시 장치, 모바일 장치 및 그 동작방법
US10839480B2 (en) * 2017-03-22 2020-11-17 Qualcomm Incorporated Sphere equator projection for efficient compression of 360-degree video
US11386607B1 (en) * 2017-04-16 2022-07-12 Meta Platforms, Inc. Systems and methods for capturing content
KR20210094646A (ko) * 2018-12-14 2021-07-29 지티이 코포레이션 몰입형 비디오 비트 스트림 처리
WO2021045536A1 (en) 2019-09-04 2021-03-11 Wilus Institute Of Standards And Technology Inc. Video encoding and decoding acceleration utilizing imu sensor data for cloud virtual reality
US20230328266A1 (en) * 2019-11-27 2023-10-12 Lg Electronics Inc. Image decoding method and device therefor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130091800A (ko) * 2010-08-17 2013-08-19 엠앤케이홀딩스 주식회사 인트라 예측 복호화 방법
US20150341552A1 (en) * 2014-05-21 2015-11-26 Here Global B.V. Developing a Panoramic Image
KR20160143588A (ko) * 2015-06-05 2016-12-14 인텔렉추얼디스커버리 주식회사 화면 내 예측 모드에 대한 부호화/복호화 방법 및 장치

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6937302B2 (ja) * 2015-11-23 2021-09-29 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute 多視点ビデオの符号化/復号化方法
US20170230668A1 (en) * 2016-02-05 2017-08-10 Mediatek Inc. Method and Apparatus of Mode Information Reference for 360-Degree VR Video
US10778987B2 (en) * 2016-03-24 2020-09-15 Intellectual Discovery Co., Ltd. Method and apparatus for encoding/decoding video signal
US10628700B2 (en) * 2016-05-23 2020-04-21 Intel Corporation Fast and robust face detection, region extraction, and tracking for improved video coding
CN107547907B (zh) * 2016-06-27 2020-02-21 华为技术有限公司 编解码的方法及设备
WO2018045108A1 (en) * 2016-09-02 2018-03-08 Vid Scale, Inc. Method and system for signaling of 360-degree video information
US10904570B2 (en) * 2016-09-08 2021-01-26 Kaonmedia Co., Ltd. Method for encoding/decoding synchronized multi-view video by using spatial layout information and apparatus of the same
EP3301914A1 (en) * 2016-09-30 2018-04-04 Thomson Licensing Method and apparatus for encoding and decoding a large field of view video
US10462484B2 (en) * 2016-10-07 2019-10-29 Mediatek Inc. Video encoding method and apparatus with syntax element signaling of employed projection layout and associated video decoding method and apparatus
US20190342578A1 (en) * 2017-01-02 2019-11-07 Kt Corporation Method and apparatus for processing video signals
EP3566445A4 (en) * 2017-01-03 2020-09-02 Nokia Technologies Oy APPARATUS, PROCESS AND COMPUTER PROGRAM FOR VIDEO CODING AND DECODING
EP3566452A4 (en) * 2017-01-05 2020-06-10 Sharp Kabushiki Kaisha SYSTEMS AND METHODS FOR SIGNALING MOVEMENT-RESTRICTED TILE-SETS FOR VIRTUAL REALITY APPLICATIONS
US10375375B2 (en) * 2017-05-15 2019-08-06 Lg Electronics Inc. Method of providing fixed region information or offset region information for subtitle in virtual reality system and device for controlling the same
US10484682B2 (en) * 2017-07-03 2019-11-19 Qualcomm Incorporated Reference picture derivation and motion compensation for 360-degree video coding
US20190379877A1 (en) * 2017-10-24 2019-12-12 Lg Electronics Inc. Method for transmitting/receiving 360-degree video including fisheye video information, and device therefor
WO2020013484A1 (ko) * 2018-07-11 2020-01-16 엘지전자 주식회사 360 비디오 시스템에서 오버레이 처리 방법 및 그 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130091800A (ko) * 2010-08-17 2013-08-19 엠앤케이홀딩스 주식회사 인트라 예측 복호화 방법
US20150341552A1 (en) * 2014-05-21 2015-11-26 Here Global B.V. Developing a Panoramic Image
KR20160143588A (ko) * 2015-06-05 2016-12-14 인텔렉추얼디스커버리 주식회사 화면 내 예측 모드에 대한 부호화/복호화 방법 및 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KEHUA JIANG: "Cubic-panorama image dataset compression for image-based virtual environment navigation", PHD THESIS, 2009, Canada, pages 1 - 19 6, XP055606964 *
XIANG MA: "Co-projection-plane based motion compensated prediction for cubic format VR content", JVET DOCUMENT JVET-D0061, 12 October 2016 (2016-10-12), pages 1 - 4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109348291A (zh) * 2018-11-16 2019-02-15 深圳市梦网百科信息技术有限公司 一种基于运动分析的全景视频码流分发方法和系统
CN109348291B (zh) * 2018-11-16 2021-05-18 深圳市梦网视讯有限公司 一种基于运动分析的全景视频码流分发方法和系统

Also Published As

Publication number Publication date
US20190335203A1 (en) 2019-10-31
US10863198B2 (en) 2020-12-08

Similar Documents

Publication Publication Date Title
WO2018128247A1 (ko) 360도 비디오에 대한 영상 코딩 시스템에서 인트라 예측 방법 및 장치
WO2018062921A1 (ko) 영상 코딩 시스템에서 블록 분할 및 인트라 예측 방법 및 장치
WO2018117706A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018062702A1 (ko) 영상 코딩 시스템에서 인트라 예측 방법 및 장치
WO2020197236A1 (ko) 서브 픽처 핸들링 구조 기반 영상 또는 비디오 코딩
WO2017188565A1 (ko) 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
WO2018174357A1 (ko) 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
WO2019194507A1 (ko) 어파인 움직임 예측에 기반한 영상 코딩 방법 및 그 장치
WO2020141928A1 (ko) 영상 코딩 시스템에서 mmvd 에 따른 예측에 기반한 영상 디코딩 방법 및 장치
WO2019009600A1 (ko) 360도 비디오에 대한 영상 코딩 시스템에서 프로젝션 타입 기반 양자화 파라미터를 사용한 영상 디코딩 방법 및 장치
WO2020076066A1 (ko) 신택스 디자인 방법 및 신택스를 이용하여 코딩을 수행하는 장치
WO2020141885A1 (ko) 디블록킹 필터링을 사용하는 영상 코딩 방법 및 장치
WO2018174531A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018074813A1 (ko) 영상 부호화 또는 복호화하기 위한 장치 및 방법
WO2020141884A1 (ko) Cpr 기반 mmvd를 사용하는 영상 코딩 방법 및 장치
WO2020004879A1 (ko) 영상 코딩 시스템에서 복수의 주변 블록들을 사용하는 인터 예측에 따른 영상 디코딩 방법 및 장치
WO2019083119A1 (ko) 360도 비디오에 대한 영상 코딩 시스템에서 회전 파라미터를 사용한 영상 디코딩 방법 및 장치
WO2018174542A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018174358A1 (ko) 영상 코딩 시스템에서 인트라 예측에 따른 영상 디코딩 방법 및 장치
WO2019190203A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018174541A1 (ko) 비디오 신호 처리 방법 및 장치
WO2020130629A1 (ko) 다중 참조 라인 인트라 예측에 기반한 영상 코딩 방법 및 그 장치
WO2018128248A1 (ko) 360도 비디오에 대한 영상 코딩 시스템에서 인밸리드 유닛 기반 영상 디코딩 방법 및 장치
WO2019066529A1 (ko) 프레임 패킹을 제공하는 가상 현실 영상의 부호화/복호화 방법 및 그 장치
WO2019083120A1 (ko) 360도 비디오에 대한 영상 코딩 시스템에서 회전된 360도 비디오를 프로젝션하여 도출된 참조 픽처를 사용한 영상 디코딩 방법 및 장치

Legal Events

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

Ref document number: 17890008

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

Country of ref document: EP

Kind code of ref document: A1