WO2019009600A1 - 360도 비디오에 대한 영상 코딩 시스템에서 프로젝션 타입 기반 양자화 파라미터를 사용한 영상 디코딩 방법 및 장치 - Google Patents

360도 비디오에 대한 영상 코딩 시스템에서 프로젝션 타입 기반 양자화 파라미터를 사용한 영상 디코딩 방법 및 장치 Download PDF

Info

Publication number
WO2019009600A1
WO2019009600A1 PCT/KR2018/007542 KR2018007542W WO2019009600A1 WO 2019009600 A1 WO2019009600 A1 WO 2019009600A1 KR 2018007542 W KR2018007542 W KR 2018007542W WO 2019009600 A1 WO2019009600 A1 WO 2019009600A1
Authority
WO
WIPO (PCT)
Prior art keywords
daqp
projection
picture
projected picture
unit
Prior art date
Application number
PCT/KR2018/007542
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 KR1020207000386A priority Critical patent/KR102342874B1/ko
Priority to US16/628,913 priority patent/US11051020B2/en
Publication of WO2019009600A1 publication Critical patent/WO2019009600A1/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/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/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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/124Quantisation
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the present invention relates to 360 degree video, and more particularly to a method and apparatus for image decoding using projection type based quantization parameters in a coding system for 360 degree video.
  • 360 degree video can refer to video or image content that is required to provide a virtual reality (VR) system, while being captured or played back in all directions (360 degrees).
  • 360 degree video can be represented on a three-dimensional spherical surface.
  • 360 degree video is captured by capturing an image or video for each of a plurality of viewpoints via one or more cameras and connecting the captured plurality of images / videos into one panorama image / video or spherical image / video, And coding and transmitting the projected picture.
  • the present invention provides a method and apparatus for increasing 360 video information transmission efficiency for providing 360 video.
  • a further object of the present invention is to provide a method and apparatus for deriving a DAQP (Decoder Side Adaptive Quantization Parameter) for a quantization processing unit of a projected picture with respect to 360 video.
  • DAQP Decoder Side Adaptive Quantization Parameter
  • DAQP Decoder Side Adaptive Quantization Parameter
  • an intra prediction method performed by an encoding apparatus includes obtaining 360 degree video data captured by at least one camera, processing the 360 degree video data to obtain a projected picture, generating a projected picture based on the projection type, Deriving a quantization processing unit of the projected picture, deriving a decider side adaptive quantization parameter (DAQP) for each of the quantization processing units based on the weight map, Performing quantization for each quantization processing unit based on the DAQP, and encoding and outputting 360-degree video information for the projected picture.
  • DAQP decider side adaptive quantization parameter
  • an encoding apparatus for performing intra prediction.
  • the encoding device comprises: a projection processor for obtaining 360 degree video data captured by at least one camera and processing the 360 degree video data to obtain a projected picture; Deriving a weight map of a picture, deriving quantization processing units of the projected picture, and deriving a decoder side adaptive quantization parameter (DAQP) for each of the quantization processing units based on the weight map And a quantization unit for quantizing the quantization processing unit based on the DAQP, and an entropy encoding unit for encoding and outputting 360-degree video information for the projected picture.
  • DAQP decoder side adaptive quantization parameter
  • an image decoding method performed by a decoding apparatus includes receiving 360 degree video information, deriving a projection type of a projected picture based on the 360 video information, deriving a weight map of the projected picture based on the projection type, Deriving quantization processing units of the quantized image data, deriving a DAQP for each of the quantization processing units based on the weight map, and performing decoding on each of the quantization processing units based on the DAQP .
  • a decoding apparatus for processing 360-degree video data.
  • the decoding apparatus includes an entropy decoding unit for receiving 360-degree video information, a projection type of a projected picture based on the 360-degree video information, and a weight map of the projected picture based on the projection type Deriving quantization processing units of the projected picture, deriving a decoder side adaptive quantization parameter (DAQP) for each of the quantization processing units on the basis of the weight map, And an inverse quantization unit for performing decoding on each quantization processing unit.
  • DAQP decoder side adaptive quantization parameter
  • DAQP Decoder Side Adaptive Quantization Parameter
  • an updated DAQP (Decoder Side Adaptive Quantization Parameter) for a quantization processing unit adjacent to a specific boundary of a face at which a discontinuity of a projected picture occurs can be derived, whereby an artifact due to the discontinuity of the projected picture the occurrence of artifacts can be reduced, and the overall coding efficiency can be improved.
  • DAQP Decoder Side Adaptive Quantization Parameter
  • FIG. 1 is a diagram illustrating an overall architecture for providing 360-degree video according to the present invention.
  • FIG. 2 illustrates an exemplary processing of 360-degree video in the encoding apparatus and the decoding apparatus.
  • FIG. 3 is a view for schematically explaining a configuration of a video encoding apparatus to which the present invention can be applied.
  • FIG. 4 is a view for schematically explaining a configuration of a video decoding apparatus to which the present invention can be applied.
  • FIG. 5 exemplarily shows a projected picture derived based on the ERP.
  • FIG. 6 shows a weight map of the projected picture according to the projection type.
  • 7A to 7D show CTUs from which an updated DAQP around the boundary of a face in the projected picture is derived.
  • FIG. 8 schematically shows a video encoding method by an encoding apparatus according to the present invention.
  • FIG. 9 schematically shows a video decoding method by a decoding apparatus according to the present invention.
  • a picture generally refers to a unit that represents one image in a specific time zone
  • a slice is a unit that constitutes a part of a picture in coding.
  • One picture may be composed of a plurality of slices, and pictures and slices may be used in combination if necessary.
  • a pixel or a pel may mean a minimum unit of a picture (or image). Also, a 'sample' may be used as a term corresponding to a pixel.
  • a sample may generally represent a pixel or pixel value and may only represent a pixel / pixel value of a luma component or only a pixel / pixel value of a chroma component.
  • a unit represents a basic unit of image processing.
  • a unit may include at least one of a specific area of a picture and information related to the area.
  • the unit may be used in combination with terms such as a block or an area in some cases.
  • an MxN block may represent a set of samples or transform coefficients consisting of M columns and N rows.
  • FIG. 1 is a diagram illustrating an overall architecture for providing 360-degree video according to the present invention.
  • the present invention proposes a method of providing 360 contents in order to provide a virtual reality (VR) to a user.
  • the VR may mean a technique or an environment for replicating an actual or virtual environment.
  • VR artificially provides the user with a sensory experience that allows the user to experience the same experience as in an electronically projected environment.
  • 360 content refers to the entire content for implementing and providing VR, and may include 360-degree video and / or 360 audio.
  • 360 degree video may refer to video or image content that is required to provide VR while being captured or played back in all directions (360 degrees).
  • 360-degree video may mean 360-degree video.
  • 360 degree video may refer to a video or image represented in various types of 3D space according to the 3D model, for example, a 360 degree video may be displayed on a spherical surface.
  • 360 audio may also refer to audio content for providing VR, which may be perceived as being located on a three-dimensional specific space of a sound source.
  • 360 content can be created, processed and sent to users, and users can consume VR experience using 360 content.
  • the present invention particularly proposes a scheme for efficiently providing 360-degree video.
  • a 360 degree video can first be captured through one or more cameras.
  • the captured 360-degree video is transmitted through a series of processes, and the receiving side can process the received data back into the original 360-degree video and render it. This allows 360-degree video to be provided to the user.
  • the entire process for providing 360-degree video may include a capture process, a preparation process, a transmission process, a processing process, a rendering process, and / or a feedback process.
  • the capturing process may refer to a process of capturing an image or video for each of a plurality of viewpoints via one or more cameras.
  • Image / video data such as (110) in Fig. 1 shown by the capture process can be generated.
  • Each plane of (110) shown in FIG. 1 may mean image / video for each viewpoint.
  • the captured plurality of images / videos may be referred to as raw data. Metadata associated with the capture can be generated during the capture process.
  • a special camera can be used for this capture.
  • capturing through a real camera may not be performed.
  • the process of generating the related data may be replaced with the capturing process.
  • the preparation process may be a process of processing the captured image / video and metadata generated during the capturing process.
  • the captured image / video may be subjected to a stitching process, a projection process, a region-wise packing process and / or an encoding process in the preparation process.
  • each image / video can be subjected to a stitching process.
  • the stitching process may be a process of linking each captured image / video to create one panoramic image / video or spherical image / video.
  • the stitched image / video may undergo a projection process.
  • the stitched image / video can be projected onto the 2D image.
  • This 2D image may be referred to as a 2D image frame or a projected picture depending on the context. It can also be expressed as mapping a 2D image to a 2D image.
  • the projected image / video data may be in the form of a 2D image as shown in FIG. 1 (120).
  • a process of dividing the video data projected on the 2D image into regions and applying the process may be applied.
  • a region may mean a region in which a 2D image in which 360-degree video data is projected is divided.
  • the region may correspond to a face or a tile.
  • these regions can be divided into 2D images evenly divided or arbitrarily divided.
  • the regions may be classified according to the projection scheme.
  • the processing may include rotating each region or reordering on a 2D image to enhance video coding efficiency. For example, by rotating the regions so that certain sides of the regions are located close to each other, the coding efficiency can be increased.
  • the process may include raising or lowering the resolution for a particular region to differentiate resolution by region on a 360 degree video. For example, regions that are relatively more important in 360-degree video can have a higher resolution than other regions.
  • the video data projected on the 2D image may be encoded through a video codec.
  • the preparation process may further include an editing process and the like.
  • editing process editing of image / video data before and after projection can be further performed.
  • metadata for stitching / projection / encoding / editing can be generated.
  • meta data regarding the initial point of time of the video data projected on the 2D image, the ROI (Region of Interest), and the like can be generated.
  • the transmission process may be a process of processing the prepared image / video data and metadata and transmitting the processed image / video data and metadata. Processing according to any transmission protocol can be performed for transmission.
  • the processed data for transmission may be transmitted over the broadcast network and / or broadband. These data may be delivered to the receiving side on an on-demand basis. The receiving side can receive the corresponding data through various paths.
  • the processing may be a process of decoding the received data and re-projecting the projected image / video data on the 3D model.
  • the image / video data projected on the 2D images can be re-projected onto the 3D space.
  • This process can be called mapping, projection, depending on the context.
  • the 3D space mapped at this time may have a different shape depending on the 3D model.
  • a 3D model may have a sphere, a cube, a cylinder, or a pyramid.
  • the processing may further include an editing process, an up scaling process, and the like.
  • editing process editing of image / video data before and after re-projection can be further performed. If the image / video data is scaled down, it can be enlarged by upscaling the samples during upscaling. If necessary, an operation of reducing the size through downscaling may be performed.
  • the rendering process may refer to the process of rendering and displaying the re-projected image / video data on the 3D space. It can also be expressed that the re-projection and the rendering are combined according to the representation and rendered on the 3D model.
  • the image / video that is re-projected (or rendered on the 3D model) on the 3D model may have the form of (130) shown in FIG. 1 (130) is a case where the projection is re-projected onto a 3D model of a sphere.
  • the user can view some areas of the rendered image / video through the VR display or the like. In this case, the area viewed by the user may be the same as 140 shown in FIG.
  • the feedback process may be a process of transmitting various feedback information that can be obtained in the display process to the transmitting side.
  • the feedback process can provide interactivity in 360 degree video consumption.
  • Head Orientation information in the feedback process, Viewport information indicating the area currently viewed by the user, and the like can be transmitted to the sender.
  • the user may interact with those implemented in the VR environment, in which case the information associated with that interaction may be conveyed from the sender to the service provider side in the feedback process.
  • the feedback process may not be performed.
  • the head orientation information may mean information about a user's head position, angle, motion, and the like. Based on this information, information about the area that the user is currently viewing within the 360 degree video, i.e. viewport information, can be calculated.
  • the viewport information may be information about an area that the current user is viewing in a 360 degree video. This allows a Gaze Analysis to be performed to see how the user consumes 360 degrees of video, what area of the 360 degree video is staring, and so on.
  • the Gaussian analysis may be performed on the receiving side and delivered via the feedback channel to the transmitting side.
  • a device such as a VR display can extract a viewport area based on a user's head position / direction, vertical or horizontal FOV (field of view) information supported by the device, and the like.
  • the above-described feedback information may be consumed not only at the transmitting side but also at the receiving side. That is, decoding, re-projection, and rendering processes on the receiving side can be performed using the above-described feedback information. For example, only the 360 degree video for the area that the current user is viewing may be preferentially decoded and rendered using head orientation information and / or viewport information.
  • the viewport or viewport area may refer to an area viewed by a user in a 360-degree video.
  • a viewpoint is a point that a user is viewing in a 360 degree video, which may mean a center point of the viewport area. That is, the viewport is a region around the viewpoint, and the size and the size occupied by the viewport can be determined by the FOV (Field Of View) described later.
  • FOV Field Of View
  • Image / video data that undergoes a series of processes of capture / projection / encoding / transmission / decoding / re-projection / rendering within the overall architecture for providing 360-degree video may be called 360-degree video data.
  • the term 360-degree video data may also be used to include metadata or signaling information associated with such image / video data.
  • FIG. 2 illustrates an exemplary processing of 360-degree video in the encoding apparatus and the decoding apparatus.
  • FIG. 2 (a) illustrates processing of input 360-degree video data performed by the encoding apparatus.
  • the projection processing unit 210 can stitch and project 360-degree video data at the input time point into a 3D projection structure in accordance with various projection schemes, 360 degree video data can be represented as a 2D image. That is, the projection processing unit 210 can stitch the 360-degree video data, and can project the 2D image.
  • the projection scheme may be referred to as a projection type.
  • the 2D image on which the 360 degree video data is projected may be referred to as a projected frame or a projected picture.
  • the projected picture may be divided into a plurality of faces according to the projection type.
  • the face may correspond to a tile.
  • the plurality of paces in a projected picture according to a particular projection type may be the same size and shape (e.g., triangle or square).
  • the size and shape of the in-picture face projected according to the projection type may be different.
  • the projection processing unit 210 may perform processing such as rotating and rearranging the respective regions of the projected picture, and changing resolutions of the respective regions.
  • the encoding device 220 may encode information on the projected picture and output the encoded information through a bitstream. The process of encoding the projected picture by the encoding device 220 will be described later in detail with reference to FIG. Meanwhile, the projection processing unit 210 may be included in the encoding apparatus, or the projection process may be performed through an external apparatus.
  • FIG. 2A illustrates processing of information on the projected picture with respect to 360-degree video data performed by the decoding apparatus.
  • Information on the projected picture may be received through a bitstream.
  • the decoding apparatus 250 may decode the projection picture based on the information on the received projection picture. The process of decoding the projected picture by the decoding apparatus 250 will be described later in detail with reference to FIG.
  • the re-projection processing unit 260 can re-project 360-degree video data projected on the projected picture derived through the decoding process on the 3D model.
  • the re-projection processing unit 260 may correspond to the projection processing unit.
  • the 360-degree video data projected on the projected picture can be re-projected onto the 3D space.
  • This process can be called mapping, projection, depending on the context.
  • the 3D space mapped at this time may have a different shape depending on the 3D model.
  • a 3D model may have a sphere, a cube, a cylinder, or a pyramid.
  • the re-projection processing unit 260 may be included in the decoding device 250, or the re-projection process may be performed through an external device.
  • the re-projected 360 degree video data can be rendered on 3D space.
  • FIG. 3 is a view for schematically explaining a configuration of a video encoding apparatus to which the present invention can be applied.
  • the video encoding apparatus 300 includes a picture dividing unit 305, a predicting unit 310, a residual processing unit 320, an entropy encoding unit 330, an adding unit 340, a filter unit 350 And a memory 360.
  • the memory 360 may be a memory.
  • the residual processing unit 320 may include a subtracting unit 321, a transforming unit 322, a quantizing unit 323, a reordering unit 324, an inverse quantizing unit 325, and an inverse transforming unit 326.
  • the picture dividing unit 305 may divide the inputted picture into at least one processing unit.
  • the processing unit may be referred to as a coding unit (CU).
  • the coding unit may be recursively partitioned according to a quad-tree binary-tree (QTBT) structure from the largest coding unit (LCU).
  • QTBT quad-tree binary-tree
  • LCU largest coding unit
  • one coding unit may be divided into a plurality of coding units of deeper depth based on a quadtree structure and / or a binary tree structure.
  • the quadtree structure is applied first and the binary tree structure can be applied later.
  • a binary tree structure may be applied first.
  • the coding procedure according to the present invention can be performed based on the final coding unit which is not further divided.
  • the maximum coding unit may be directly used as the final coding unit based on the coding efficiency or the like depending on the image characteristics, or the coding unit may be recursively divided into lower-depth coding units Lt; / RTI > may be used as the final coding unit.
  • the coding procedure may include a procedure such as prediction, conversion, and restoration, which will be described later.
  • the processing unit may include a coding unit (CU) prediction unit (PU) or a transform unit (TU).
  • the coding unit may be split from the largest coding unit (LCU) into coding units of deeper depth along the quad tree structure.
  • LCU largest coding unit
  • the maximum coding unit may be directly used as the final coding unit based on the coding efficiency or the like depending on the image characteristics, or the coding unit may be recursively divided into lower-depth coding units Lt; / RTI > may be used as the final coding unit.
  • SCU smallest coding unit
  • the coding unit can not be divided into smaller coding units than the minimum coding unit.
  • the term " final coding unit " means a coding unit on which the prediction unit or the conversion unit is partitioned or divided.
  • a prediction unit is a unit that is partitioned from a coding unit, and may be a unit of sample prediction. At this time, the prediction unit may be divided into sub-blocks.
  • the conversion unit may be divided along the quad-tree structure from the coding unit, and may be a unit for deriving a conversion coefficient and / or a unit for deriving a residual signal from the conversion factor.
  • the coding unit may be referred to as a coding block (CB)
  • the prediction unit may be referred to as a prediction block (PB)
  • the conversion unit may be referred to as a transform block (TB).
  • the prediction block or prediction unit may refer to a specific area in the form of a block in a picture and may include an array of prediction samples.
  • a transform block or transform unit may refer to a specific region in the form of a block within a picture, and may include an array of transform coefficients or residual samples.
  • the prediction unit 310 may perform a prediction on a current block to be processed (hereinafter, referred to as a current block), and may generate a predicted block including prediction samples for the current block.
  • the unit of prediction performed in the prediction unit 310 may be a coding block, a transform block, or a prediction block.
  • the prediction unit 310 may determine whether intra prediction or inter prediction is applied to the current block. For example, the prediction unit 310 may determine whether intra prediction or inter prediction is applied in units of CU.
  • the prediction unit 310 may derive a prediction sample for a current block based on a reference sample outside the current block in a picture to which the current block belongs (hereinafter referred to as a current picture). At this time, the predicting unit 310 may derive a prediction sample based on (i) an average or interpolation of neighboring reference samples of the current block, (ii) The prediction sample may be derived based on a reference sample existing in a specific (prediction) direction with respect to the prediction sample among the samples. (i) may be referred to as a non-directional mode or a non-angle mode, and (ii) may be referred to as a directional mode or an angular mode.
  • the prediction mode may have, for example, 33 directional prediction modes and at least two non-directional modes.
  • the non-directional mode may include a DC prediction mode and a planar mode (Planar mode).
  • the prediction unit 310 may determine the prediction mode applied to the current block using the prediction mode applied to the neighboring block.
  • the prediction unit 310 may derive a prediction sample for a current block based on a sample specified by a motion vector on a reference picture.
  • the prediction unit 310 may apply a skip mode, a merge mode, or a motion vector prediction (MVP) mode to derive a prediction sample for a current block.
  • the prediction unit 310 can use motion information of a neighboring block as motion information of a current block.
  • difference residual between the predicted sample and the original sample is not transmitted unlike the merge mode.
  • MVP mode a motion vector of a current block can be derived by using a motion vector of a neighboring block as a motion vector predictor to use as a motion vector predictor of a current block.
  • a neighboring block may include a spatial neighboring block existing in a current picture and a temporal neighboring block existing in a reference picture.
  • the reference picture including the temporal neighboring block may be referred to as a collocated picture (colPic).
  • the motion information may include a motion vector and a reference picture index.
  • Information such as prediction mode information and motion information may be (entropy) encoded and output in the form of a bit stream.
  • the highest picture on the reference picture list may be used as a reference picture.
  • the reference pictures included in the picture order count can be sorted on the basis of the picture order count (POC) difference between the current picture and the corresponding reference picture.
  • POC picture order count
  • the POC corresponds to the display order of the pictures and can be distinguished from the coding order.
  • the subtractor 321 generates a residual sample which is a difference between the original sample and the predicted sample.
  • a residual sample may not be generated as described above.
  • the transforming unit 322 transforms the residual samples on a transform block basis to generate a transform coefficient.
  • the transforming unit 322 can perform the transform according to the size of the transform block and the prediction mode applied to the coding block or the prediction block spatially overlapping the transform block. For example, if intraprediction is applied to the coding block or the prediction block that overlaps the transform block and the transform block is a 4 ⁇ 4 residue array, the residual sample is transformed into a discrete sine transform (DST) In other cases, the residual samples can be converted using a DCT (Discrete Cosine Transform) conversion kernel.
  • DST discrete sine transform
  • the quantization unit 323 may quantize the transform coefficients to generate quantized transform coefficients.
  • the reordering unit 324 rearranges the quantized transform coefficients.
  • the reordering unit 324 can rearrange the block-shaped quantized transform coefficients into a one-dimensional vector form through a scanning method of coefficients.
  • the rearrangement unit 324 may be a part of the quantization unit 323, although the rearrangement unit 324 has been described as an alternative configuration.
  • the entropy encoding unit 330 may perform entropy encoding on the quantized transform coefficients.
  • Entropy encoding may include, for example, an encoding method such as exponential Golomb, context-adaptive variable length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC)
  • CABAC context-adaptive binary arithmetic coding
  • the entropy encoding unit 330 may encode the information necessary for video restoration (e.g., the value of a syntax element, etc.) besides the quantized transform coefficients separately or separately.
  • the entropy encoded information may be transmitted or stored in units of NAL (network abstraction layer) units in the form of a bit stream.
  • NAL network abstraction layer
  • the inverse quantization unit 325 inversely quantizes the quantized values (quantized transform coefficients) in the quantization unit 323 and the inverse transformation unit 326 inversely transforms the inversely quantized values in the inverse quantization unit 325, .
  • the adder 340 combines the residual sample and the predicted sample to reconstruct the picture.
  • the residual samples and the prediction samples are added in units of blocks so that a reconstruction block can be generated.
  • the adder 340 may be part of the predicting unit 310, although the adder 340 has been described as an alternative configuration.
  • the addition unit 340 may be referred to as a restoration unit or a restoration block generation unit.
  • the filter unit 350 may apply a deblocking filter and / or a sample adaptive offset. Through deblocking filtering and / or sample adaptive offsets, artifacts in the block boundary in the reconstructed picture or distortion in the quantization process can be corrected.
  • the sample adaptive offset can be applied on a sample-by-sample basis and can be applied after the process of deblocking filtering is complete.
  • the filter unit 350 may apply an ALF (Adaptive Loop Filter) to the restored picture.
  • the ALF may be applied to the reconstructed picture after the deblocking filter and / or sample adaptive offset is applied.
  • the memory 360 may store a reconstructed picture (decoded picture) or information necessary for encoding / decoding.
  • the reconstructed picture may be a reconstructed picture in which the filtering procedure has been completed by the filter unit 350.
  • the stored restored picture may be used as a reference picture for (inter) prediction of another picture.
  • the memory 360 may store (reference) pictures used for inter prediction. At this time, the pictures used for inter prediction can be designated by a reference picture set or a reference picture list.
  • FIG. 4 is a view for schematically explaining a configuration of a video decoding apparatus to which the present invention can be applied.
  • the video decoding apparatus 400 includes an entropy decoding unit 410, a residual processing unit 420, a predicting unit 430, an adding unit 440, a filter unit 450, and a memory 460 .
  • the residual processing unit 420 may include a rearrangement unit 421, an inverse quantization unit 422, and an inverse transformation unit 423.
  • the video decoding apparatus 400 can restore video in response to a process in which video information is processed in the video encoding apparatus.
  • the video decoding apparatus 400 may perform video decoding using a processing unit applied in the video encoding apparatus.
  • the processing unit block of video decoding may be, for example, a coding unit and, in another example, a coding unit, a prediction unit or a conversion unit.
  • the coding unit may be partitioned along the quad tree structure and / or the binary tree structure from the maximum coding unit.
  • a prediction unit and a conversion unit may be further used as the case may be, in which case the prediction block is a block derived or partitioned from the coding unit and may be a unit of sample prediction. At this time, the prediction unit may be divided into sub-blocks.
  • the conversion unit may be divided along the quad tree structure from the coding unit and may be a unit that derives the conversion factor or a unit that derives the residual signal from the conversion factor.
  • the entropy decoding unit 410 may parse the bitstream and output information necessary for video restoration or picture restoration. For example, the entropy decoding unit 410 decodes information in a bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, and calculates a value of a syntax element necessary for video restoration, a quantized value Lt; / RTI >
  • a coding method such as exponential Golomb coding, CAVLC, or CABAC
  • the CABAC entropy decoding method includes receiving a bean corresponding to each syntax element in a bitstream, decoding decoding target information of the decoding target syntax element, decoding information of a surrounding and decoding target block, or information of a symbol / A context model is determined and an occurrence probability of a bin is predicted according to the determined context model to perform arithmetic decoding of the bean to generate a symbol corresponding to the value of each syntax element have.
  • the CABAC entropy decoding method can update the context model using the information of the decoded symbol / bin for the context model of the next symbol / bean after determining the context model.
  • Information about prediction in the information decoded by the entropy decoding unit 410 is provided to the predicting unit 430.
  • the residual value in which the entropy decoding is performed in the entropy decoding unit 410 that is, the quantized transform coefficient, 421).
  • the reordering unit 421 may rearrange the quantized transform coefficients into a two-dimensional block form.
  • the reordering unit 421 may perform reordering in response to the coefficient scanning performed in the encoding apparatus.
  • the rearrangement unit 421 may be a part of the inverse quantization unit 422, although the rearrangement unit 421 has been described as an alternative configuration.
  • the inverse quantization unit 422 can dequantize the quantized transform coefficients based on the (inverse) quantization parameter, and output the transform coefficients. At this time, the information for deriving the quantization parameter may be signaled from the encoding device.
  • the inverse transform unit 423 may invert the transform coefficients to derive the residual samples.
  • the prediction unit 430 may predict a current block and may generate a predicted block including prediction samples of the current block.
  • the unit of prediction performed by the prediction unit 430 may be a coding block, a transform block, or a prediction block.
  • the prediction unit 430 may determine whether intra prediction or inter prediction is to be applied based on the prediction information.
  • a unit for determining whether to apply intra prediction or inter prediction may differ from a unit for generating a prediction sample.
  • units for generating prediction samples in inter prediction and intra prediction may also be different.
  • whether inter prediction or intra prediction is to be applied can be determined in units of CU.
  • the prediction mode may be determined in units of PU to generate prediction samples.
  • a prediction mode may be determined in units of PU, and prediction samples may be generated in units of TU.
  • the prediction unit 430 may derive a prediction sample for the current block based on the neighbor reference samples in the current picture.
  • the prediction unit 430 may derive a prediction sample for the current block by applying a directional mode or a non-directional mode based on the neighbor reference samples of the current block.
  • a prediction mode to be applied to the current block may be determined using the intra prediction mode of the neighboring block.
  • the prediction unit 430 may derive a prediction sample for a current block based on a sample specified on a reference picture by a motion vector on a reference picture.
  • the prediction unit 430 may derive a prediction sample for the current block by applying one of a skip mode, a merge mode, and an MVP mode.
  • motion information necessary for inter-prediction of a current block provided in the video encoding apparatus for example, information on a motion vector, a reference picture index, and the like may be acquired or derived based on the prediction information
  • motion information of a neighboring block can be used as motion information of the current block.
  • the neighboring block may include a spatial neighboring block and a temporal neighboring block.
  • the predicting unit 430 constructs a merge candidate list using the motion information of the available neighboring blocks and uses the information indicated by the merge index on the merge candidate list as the motion vector of the current block.
  • the merge index may be signaled from the encoding device.
  • the motion information may include a motion vector and a reference picture. When the motion information of temporal neighboring blocks is used in the skip mode and the merge mode, the highest picture on the reference picture list can be used as a reference picture.
  • the difference between the predicted sample and the original sample is not transmitted.
  • a motion vector of a current block can be derived using a motion vector of a neighboring block as a motion vector predictor.
  • the neighboring block may include a spatial neighboring block and a temporal neighboring block.
  • a merge candidate list may be generated using a motion vector of the reconstructed spatial neighboring block and / or a motion vector corresponding to a Col block that is a temporally neighboring block.
  • the motion vector of the candidate block selected in the merge candidate list is used as the motion vector of the current block.
  • the prediction information may include a merge index indicating a candidate block having an optimal motion vector selected from the candidate blocks included in the merge candidate list.
  • the predicting unit 430 can derive the motion vector of the current block using the merge index.
  • a motion vector predictor candidate list is generated by using a motion vector of the reconstructed spatial neighboring block and / or a motion vector corresponding to a Col block which is a temporally neighboring block . That is, the motion vector of the reconstructed spatial neighboring block and / or the motion vector corresponding to the neighboring block Col may be used as a motion vector candidate.
  • the information on the prediction may include a predicted motion vector index indicating an optimal motion vector selected from the motion vector candidates included in the list.
  • the predicting unit 430 may use the motion vector index to select a predictive motion vector of the current block from the motion vector candidates included in the motion vector candidate list.
  • the predicting unit of the encoding apparatus can obtain the motion vector difference (MVD) between the motion vector of the current block and the motion vector predictor, and can output it as a bit stream. That is, MVD can be obtained by subtracting the motion vector predictor from the motion vector of the current block.
  • the predicting unit 430 may obtain the motion vector difference included in the information on the prediction, and derive the motion vector of the current block through addition of the motion vector difference and the motion vector predictor.
  • the prediction unit may also acquire or derive a reference picture index or the like indicating the reference picture from the information on the prediction.
  • the adder 440 may add the residual samples and the prediction samples to reconstruct the current block or the current picture.
  • the adder 440 may restore the current picture by adding residual samples and prediction samples on a block-by-block basis.
  • the addition unit 440 is described as an alternative configuration, but the addition unit 440 may be a part of the prediction unit 430. [ Meanwhile, the addition unit 440 may be referred to as a restoration unit or a restoration block generation unit.
  • the filter unit 450 may apply deblocking filtering sample adaptive offsets, and / or ALF, etc. to the reconstructed pictures.
  • the sample adaptive offset may be applied on a sample-by-sample basis and may be applied after deblocking filtering.
  • the ALF may be applied after deblocking filtering and / or sample adaptive offsets.
  • the memory 460 may store a reconstructed picture (decoded picture) or information necessary for decoding.
  • the reconstructed picture may be a reconstructed picture whose filtering process has been completed by the filter unit 450.
  • the memory 460 may store pictures used for inter prediction. At this time, the pictures used for inter prediction may be designated by a reference picture set or a reference picture list. The reconstructed picture can be used as a reference picture for another picture. Further, the memory 460 may output the restored picture according to the output order.
  • a projected picture of 360-degree video which is a three-dimensional image
  • the projected picture may be subjected to non-uniform sampling.
  • Non-uniform quantization distortion may be generated due to the non-uniform sampling property of the projected picture. Therefore, the adaptive QP (geometric structure) based on the geometry, i.e., the 3D projection structure, is superior to the method of performing the quantization process of the projected picture based on the same quantization parameter (QP) Therefore, the coding efficiency can be improved by the method of performing the quantization process.
  • QP quantization parameter
  • the present invention proposes a method of performing a quantization process according to an adaptive QP derived based on a 3D projection structure.
  • the discontinuity of the picture on which the 360 degree video data is projected based on the adaptive QP that is, the discontinuity between the faces of the projected picture, can be effectively mitigated, thereby allowing a better subjective quality ) Can be derived.
  • FIG. 5 exemplarily shows a projected picture derived based on the ERP.
  • 360 video data may be projected onto a 2D picture, wherein the 2D picture on which the 360 degree video data is projected may be referred to as a projected frame or a projected picture.
  • the 360 degree video data may be projected onto a picture through various projection types.
  • 360-degree video data can be divided into Equirectangular Projection (ERP), Cube Map Projection (CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP), Truncated Square Pyramid Projection (TSP), Segmented Sphere Projection Can be projected and / or packed into a picture through Area Projection (EAP).
  • the stitched 360 degree video data can be represented on a 3D projection structure according to the projection type, that is, the 360 degree video data can be mapped to the face of the 3D projection structure of each projection type, The face may be projected onto the projected picture.
  • 360-degree video data can be projected onto a 2D picture through an ERP.
  • 360-degree video data is projected through the ERP, for example, stitched 360-degree video data can be represented on a spherical surface, i.e., the 360- Can be mapped, and can be projected into one picture in which continuity on the spherical surface is maintained.
  • the 3D projection structure of the ERP may be a sphere having one face.
  • the 360 degree video data can be mapped to one face in the projected picture.
  • 360 degree video data can be projected through the CMP.
  • the 3D projection structure of the CMP may be a cube.
  • the stitched 360-degree video data can be represented in a cube, and the 360-degree video data can be projected onto a 2D image in a cubic 3D projection structure . That is, the 360 degree video data can be mapped to six faces of the cube, and the faces can be projected onto the projected picture.
  • 360 degree video data may be projected through the ISP.
  • the 3D projection structure of the ISP may be a twenty-sided form. Therefore, when the 360-degree video data is projected through the ISP, the stitched 360-degree video data can be represented in a twenty-sided form, and the 360-degree video data can be divided into a two- Lt; / RTI > That is, the 360 degree video data may be mapped to twenty faces of a twosopaper, and the faces may be projected onto the projected picture.
  • 360 degree video data may be projected through the OHP.
  • the 3D projection structure of the OHP may be octahedral. Therefore, when the 360-degree video data is projected through the OHP, the stitched 360-degree video data can be displayed on the octahedron, and the 360-degree video data is divided into the octahedral 3D projection structure and projected onto the 2D image . That is, the 360 degree video data can be mapped to eight faces of the octahedron, and the faces can be projected onto the projected picture.
  • 360 degree video data may be projected through the TSP.
  • the 3D projection structure of the TSP may be a truncated square pyramid.
  • the stitched 360-degree video data may be represented in the pyramid with the top portion truncated, and the 360-degree video data may be represented as a pyramid- Can be divided into projection structures and projected onto a 2D image. That is, the 360 degree video data may be mapped to six faces of the pyramid with the top portion cut out, and the faces may be projected onto the projected picture.
  • 360 degree video data may be projected through the SSP.
  • the 3D projection structure of the SSP may be a spherical surface having six faces.
  • the faces may include two circular-shaped faces for the anode regions and four square block-shaped faces for the remaining regions.
  • the stitched 360 degree video data may be represented by a spherical surface having the six faces, and the 360 degree video data may be represented by a rectangle having the six faces
  • 360 degree video data may be projected through the EAP.
  • the 3D projection structure of the EAP may be predefined.
  • the stitched 360 degree video data can be represented on a spherical surface, i.e., the 360 degree video data can be mapped on the spherical surface, The continuity on the spherical surface is maintained. That is, the 360 degree video data can be mapped to one face of a sphere, and the face can be projected onto the projected picture.
  • the EAP may represent a method of projecting a specific area on the spherical surface onto the projected picture in a size equal to the size on the spherical surface, unlike the ERP.
  • the projected picture is obtained by projecting 360-degree video data on a 3D projection structure (for example, a spherical surface), and distortion in each sample in the projected picture is obtained by interpolating 3D space (E. G., A spherical surface).
  • a 3D projection structure for example, a spherical surface
  • distortion in each sample in the projected picture is obtained by interpolating 3D space (E. G., A spherical surface).
  • ≪ / RTI &gt For example, as shown in FIG. 5, the sampling of samples at positions corresponding to the equator of the spherical surface and samples at positions corresponding to both electrodes of the spherical surface among the samples of the projected picture may be different .
  • samples at positions corresponding to the equator of the spherical surface may represent samples located in the middle row of the projected picture and samples at positions corresponding to both electrodes of the spherical surface may represent samples located at the first row of the projected picture And samples located in the last row.
  • the weighted mean squared error (WMSE) of the projected picture can be derived based on the following equation.
  • y (i, j) is the input sample value of the sample of the (i, j) coordinate
  • y '(i, j) is the (y, j) coordinate of the projected picture
  • (I, j) represents the corresponding sample value on the spherical surface corresponding to the sample of the (i, j) coordinate.
  • a weight for the target sample can be derived based on the sample value of the target sample and the sample value of the corresponding sample on the spherical surface.
  • the weight value is a value such that the sample value of the target sample is the same as the sample value of the corresponding sample.
  • the value obtained by multiplying the weight value by the sample value of the target sample may be the same as the sample value of the corresponding sample.
  • the 360-degree video data may be projected onto a picture through various projection types, and the weight of the target sample in the projected picture may be different according to the projection type 3D projection structure.
  • the weights of the samples of the projected picture according to each projection type may be the same as described below.
  • the weight map may represent weights of samples of the projection picture.
  • the bright region of the weight map may represent a sample having a sample value similar to the corresponding sample in the 3D projection structure and the dark region of the weight map has a sample value that is not similar to the corresponding sample in the 3D projection structure A sample can be represented.
  • FIG. 6A shows a weight map of a projected image based on the ERP.
  • the in-picture sample values projected based on the ERP may be the same as the sample values in the actual 3D projection structure as the center line of the projected picture is closer to the center, The farther from the center row of the picture may not be the same as the sample value in the actual 3D projection structure.
  • FIG. 6 (b) shows a weight map of a picture projected on the basis of the CMP.
  • FIG. 6B illustrates paces of the cube to which the 360-degree video data is mapped, and may represent pictures packed in the 3x2 cube map, that is, three columns and two rows.
  • the in-plane sample values of each of the pictures projected based on the CMP may be the same as the sample values in the actual 3D projection structure as the center of each face is closer to the center, The farther from the center of the face may not be the same as the sample value in the actual 3D projection structure.
  • FIG. 6C shows a weight map of a picture projected based on the EAP.
  • the sample values of the pictures projected based on the EAP as shown in FIG. 6 (c) may be the same as the sample values in the actual 3D projection structure.
  • FIG. 6 (d) shows a weight map of a picture projected on the basis of the OHP.
  • FIG. 6 (d) shows that the faces of the octahedron to which the 360-degree video data is mapped may represent compactly packed pictures, and the OHP may be referred to as a compact OHP.
  • the in-plane sample values of each of the pictures projected on the basis of the OHP may be the same as the sample values in the actual 3D projection structure as the center of each face is closer to the center, The farther from the center of the face may not be the same as the sample value in the actual 3D projection structure.
  • FIG. 6 (e) shows a weight map of a picture projected on the basis of the ISP.
  • FIG. 6 (e) shows that the faces of the twenty-sided object to which the 360-degree video data is mapped may represent a compactly packed picture, and the ISP may be referred to as a compact ISP.
  • the in-plane sample values of each of the pictures projected based on the ISP may be the same as the sample values in the actual 3D projection structure as the center of each face is closer to the center, The farther from the center of the face may not be the same as the sample value in the actual 3D projection structure.
  • FIG. 6 (f) shows a weight map of a picture projected on the basis of the SSP.
  • the sample values in the remaining paces other than the faces for the positive regions among the faces of the pictures projected based on the SSP are closer to the center of the remaining paces May be the same as the sample value in the 3D projection structure and the farther from the middle row of the remaining faces may not be the same as the sample value in the actual 3D projection structure.
  • the weight of the samples of the projected picture may be different according to each projection type.
  • the overhead for transmission of the decoding information and the seam artifact of the projected picture And to improve the coding efficiency, a method of adaptively deriving a QP based on a weight according to the projection type in a decoding apparatus is proposed.
  • the QP may be referred to as a decoder side Adaptive Quantization Parameter (DAQP).
  • DAQP decoder side Adaptive Quantization Parameter
  • information about the parameters associated with the 360-degree video data may be transmitted through a high level syntax such as a sequence parameter set (SPS), a picture parameter set (PPS), and the like,
  • SPS sequence parameter set
  • PPS picture parameter set
  • the apparatus and the decoding apparatus may derive a projection type and a weight map for the projected picture based on the information.
  • the encoding apparatus and the decoding apparatus can be classified into a coding unit (CU) level, a coding tree unit (CTU) level, a slice level, and a tile level as in the delta QP algorithm used in conventional HEVC
  • the DAQP can be calculated.
  • the encoding apparatus and the decoding apparatus can calculate the DAQP in units of CU, CTU, slice or tile based on the projection type and the weight map.
  • the processing unit for deriving the DAQP may be derived in units of CU, CTU, slice, or tile.
  • the processing unit may be referred to as a quantization processing unit.
  • the DAQP of the target CTU of the projected picture may be derived based on the following equation.
  • DAQP i QP init represents an initial QP for the projected picture
  • w avg represents an average value of weights of samples of the target CTU.
  • the QP of the existing target CTU is derived based on the initial QP and the transmitted QP difference value of the target CTU, but the DAQP can be derived based on the average value of the weights of the samples of the target CTU. Therefore, the information indicating the QP difference value may not be transmitted in units of CTU, thereby reducing the amount of bits for information transmission for the decoding process and improving the coding efficiency.
  • the information on the initial QP may be transmitted through a PPS (Picture Parameter Set), and the initial QP may be derived based on the information on the initial QP.
  • PPS Picture Parameter Set
  • w avg can be derived based on the following equation.
  • w avg represents an average value of weights of the samples of the target CTU.
  • image discontinuity according to the projection type 3D projection structure for the projected picture can be considered.
  • the decoding apparatus can update the DAQP of the CTUs adjacent to the boundary in consideration of the discontinuity at the boundaries of the faces.
  • the decoding apparatus can signal information on the projection type of the projected picture, and derive the structure of the paces of the projected picture and the position of the boundary of the paces based on the information.
  • the decoding apparatus can update the DAQP of the CTUs adjacent to the boundary in consideration of the discontinuity at the boundaries of the faces. That is, the CTUs from which the updated DAQP is derived can be derived based on the projection type of the projected picture, and updated DAQPs for the CTUs can be derived.
  • the updated DAQP may be expressed as DAQP '.
  • the DAQP ' can be derived based on the following equation.
  • DAQP i represents the updated DAQP of the target CTU
  • DAQP i represents the DAQP of the target CTU
  • QP init represents the initial QP for the projected picture.
  • the CTUs of the images projected based on the ERP may be derived.
  • Figs. 7A and 7B may represent the CTUs of the projected picture and the pictures projected on the ERP based on the 360-degree video data.
  • a picture projected based on the ERP may include one pace.
  • DAQP ' may be derived for CTUs adjacent to the left and right boundaries of the face in the picture projected based on the ERP as shown in FIG. 7A.
  • DAQP ' may be derived for CTUs adjacent to the left boundary, right boundary, top boundary, and bottom boundary of the face in the picture projected based on the ERP as shown in FIG. 7B.
  • FIG. 7C the CTUs derived from the DAQP 'of the pictures projected based on the CMP can be represented.
  • FIG. 7C shows that the 360-degree video data represents the CTUs of the projected picture and the projected image based on the CMP.
  • the CMP-based projected picture may include six paces.
  • DAQP ' can be derived for CTUs adjacent to the upper and lower boundaries, the upper and lower boundaries of the lower face, the right border of the lower right face, the upper border and the lower border.
  • FIG. 7D the CTUs from which the DAQP 'of the pictures projected on the basis of the OHP are derived can be shown.
  • Fig. 7D shows that the 360-degree video data can represent the CTUs of the projected picture and the projected image based on the OHP.
  • the number of CTUs around the boundary from which the DAQP 'is derived can be set.
  • the number of CTUs around the boundary from which the DAQP 'is derived can be expressed as a depth. For example, if the depth level for the projected picture is 1, the DAQP 'of the CTU adjacent to the boundary of the face of the projected picture can be derived, and the depth level for the projected picture is 2 , The DAQP 'of the CTU adjacent to the boundary of the face of the projected picture and the CTU adjacent to the CTU in the opposite direction to the boundary, i.e., two CTUs adjacent in the inward direction of the face at the boundary can be derived have.
  • the CTUs adjacent to the boundary of the face of the projected picture and the CTUs adjacent to the CTU and in the opposite direction to the boundary, i.e., in the inward direction of the face at the boundary can be derived.
  • 7A to 7D described above can represent the projected picture having the depth level of 1.
  • the information for deriving the DAQP of the projected picture can be expressed as shown in the following table.
  • DAQP_enabled_flag is a syntax indicating whether a DAQP for a processing unit for deriving a DAQP of the projected picture is derived.
  • DAQP_level is a syntax indicating a syntax for indicating a processing type
  • DAQP_depth indicates a syntax indicating an updated DAQP, i.e., the number of processing units around a specific boundary from which DAQP 'is derived.
  • the projection_format may indicate one of the ERP, the CMP, the OHP, the ISP, the OHP, the TSP, the SSP, and the EAP as a projection type of the projected picture.
  • the DAQP_enabled_flag may indicate whether or not a DAQP for the processing unit of the projected picture is derived. If the value of the DAQP_enabled_flag is 1, the DAQP for the processing unit of the projected picture can be derived, and if the value of the DAQP_enabled_flag is 0, the DAQP for the processing unit of the projected picture may not be derived .
  • DAQP_level may indicate one of CU, CTU, and slice as a processing unit of deriving the DAQP. For example, if the value of the DAQP_level is 0, the processing unit may be derived as a CU, in which case a DAQP for each CU of the projected picture may be derived. If the value of the DAQP_level is 1, the processing unit may be derived as CTU, and in this case, a DAQP for each CTU of the projected picture may be derived. If the value of the DAQP_level is 2, the processing unit may be derived as a slice, in which case a DAQP for each slice of the projected picture may be derived.
  • DAQP_depth may indicate the number of processing units around a specific boundary from which the DAQP 'in the projection picture is derived. For example, if the DAQP_depth value is 0, the DAQP_depth may indicate that the depth level for the projected picture is 1, and the DAQP_depth of the processing unit adjacent to the specific boundary in each row of the projected picture, Can be derived. If the DAQP_depth value is 1, the DAQP_depth may indicate that the depth level of the projected picture is 2, and the DAQP_depth of the two processing units around the specific boundary in each row of the projected picture, Can be derived. If the value of the DAQP_depth is 2, the DAQP_depth may indicate that the depth level of the projected picture is 3, and the DAQP_depth of the three processing units around the specific boundary in each row of the projected picture, Can be derived.
  • face_enabled_flag may indicate a syntax element indicating a face availability flag
  • face () may indicate a syntax element indicating information on the face.
  • the face availability flag may indicate whether the projected picture is composed of a plurality of paces. For example, when the value of the face availability flag is 1, the face availability flag may indicate that the projected picture is composed of a plurality of paces, and when the value of the face availability flag is 0, A flag may indicate that the projected picture is not composed of a plurality of paces. Information about the pace of the projected picture may be signaled if the value of the face availability flag is 1, i. E., The face availability flag indicates that the projected picture consists of a plurality of paces.
  • FIG. 8 schematically shows a video encoding method by an encoding apparatus according to the present invention.
  • the method disclosed in Fig. 8 can be performed by the encoding apparatus disclosed in Fig.
  • S800 to S810 in FIG. 8 may be performed by the projection processing unit of the encoding apparatus
  • S820 to S840 may be performed by the quantization unit of the encoding apparatus
  • S850 is a quantization And prediction unit
  • S860 may be performed by the entropy encoding unit of the encoding apparatus.
  • the encoding apparatus acquires 360-degree video data captured by at least one camera (S800).
  • the encoding device may obtain 360 degree video data captured by 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 acquire a projected picture (S810).
  • the encoding apparatus can perform projection on a 2D image (or picture) according to the projection type for the 360-degree video data among a plurality of projection types, and obtain a projected picture.
  • the projection type may correspond to the projection method described above, and the projected picture may be referred to as a projected frame.
  • the various types of projections include Equirectangular Projection (ERP), Cube Map Projection (CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP), Truncated Square Pyramid Projection (TSP), Segmented Sphere Projection ).
  • the 360 degree video data can be mapped to the faces of the 3D projection structure of each projection type, and the faces can be projected onto the projected picture. That is, the projected picture may include paces 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 a bipartite.
  • the 360 degree video data may be projected onto the projected picture based on an Octahedron Projection (OHP), in which case the 3D projection structure may be octahedron.
  • 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.
  • the encoding apparatus derives a weight map of the projected picture based on the projection type (S820).
  • the weight map may include weights of the samples of the projection picture according to the projection type.
  • the weight of each sample is a value such that the sample value of each sample is the same as the sample value of the corresponding sample.
  • the value obtained by multiplying the weight value by the sample value of each sample may be the same as the sample value of the corresponding sample.
  • the corresponding sample may represent a sample on the 3D projection structure corresponding to each sample.
  • the weight map according to the projection type may be stored beforehand.
  • the weight map according to the projection type may be as shown in FIG. That is, the weight maps for the various projection types can be stored, and a weight map for the projected type of the projected picture among the pre-stored weight maps can be derived.
  • the encoding apparatus derives quantization processing units of the projected picture (S830).
  • the encoding apparatus can derive the quantization processing unit level of the projected picture and derive the quantization processing units with blocks corresponding to the quantization processing unit level.
  • the quantization processing unit level may be derived as CTU, CU, pace, or slice of the projected picture.
  • the quantization processing units may be derived as blocks corresponding to the CTU.
  • the size of the quantization processing units may be the same as the size of the CTU.
  • the size of the CTU may be 128x128, or may be 256x256.
  • the quantization processing units when the quantization processing unit level is derived as a coding unit (CU) of the projected picture, the quantization processing units may be derived as blocks corresponding to the CU. The sizes of the quantization processing units may be the same as the size of the CU.
  • CU coding unit
  • the quantization processing units when the quantization processing unit level is derived as a face of the projected picture, the quantization processing units may be derived as blocks corresponding to the face.
  • the sizes of the quantization processing units may be the same as the size of the face. For example, the size of the face may be 960x960.
  • the quantization processing units when the quantization processing unit level is derived as a slice of the projected picture, the quantization processing units may be derived as blocks corresponding to the slice. The sizes of the quantization processing units may be the same as the size of the slice.
  • the encoding apparatus may generate DAQP level information indicating a level of the quantization processing units.
  • the syntax element for the DAQP level information may be denoted as DAQP_level.
  • the DAQP level information may represent a coding tree unit (CTU), a coding unit (CU), a face, or a slice. For example, when the value of the DAQP level information is 0, the DAQP level information may indicate the CU, and when the value of the DAQP level information is 1, the DAQP level information may indicate the CTU, If the value of the DAQP level information is 2, the DAQP level information may indicate the slice.
  • the encoding apparatus derives a DAQP (Decoder Side Adaptive Quantization Parameter) for each of the quantization processing units based on the weight map (S840).
  • the encoding apparatus may derive an initial quantization parameter (QP) for the projected picture, and derive weights of the samples of the quantization processing units based on the weight map.
  • QP initial quantization parameter
  • the encoding apparatus can derive an average value of the weights, and derive the DAQP of each quantization processing unit based on the initial QP and the average value.
  • the average value of the weights can be derived based on Equation (3).
  • the DAQP of each quantization processing unit can be derived based on Equation (2). Meanwhile, the encoding apparatus can generate and encode information on the initial QP.
  • the encoding apparatus can derive the update area of the projected picture, and can update the DAQP of the quantization processing unit included in the update area to derive the updated DAQP.
  • the updated DAQP may be denoted as DAQP '.
  • the encoding apparatus can derive a specific boundary of the face of the projected picture based on the projection type, and derive an update region adjacent to the specific boundary based on the 360 video information.
  • Information on a specific boundary of the face according to the projection type can be stored. That is, information about a specific boundary of the face for various projection types may be stored, and based on information about a specific boundary of the face for the projected type of the projected picture, The specific boundary can be derived.
  • the update area may include a specific number of quantization processing units in the inward direction at the specific boundary.
  • the specific number may be referred to as the depth of the update area.
  • the encoding apparatus may generate DAQP depth information indicating the specific number, that is, the depth of the update area. For example, when the value of the DAQP depth information is 1, the update area may include one quantization processing unit in the inward direction at the specific boundary, and when the value of the DAQP depth information is 2, The area may include two quantization processing units in an inward direction at the specific boundary, and when the value of the DAQP depth information is 3, the update area may include three quantization processing units in the inward direction at the specific boundary .
  • the encoding apparatus performs quantization for each quantization processing unit based on the DAQP (S850).
  • the encoding apparatus can derive prediction samples for the quantization processing unit and generate residual samples based on the original samples and the derived prediction samples .
  • the encoding apparatus may derive transform coefficients by transforming residual samples for each quantization processing unit, quantizing the transform coefficients based on the DAQP, and encoding the quantized transform coefficients of each of the quantization processing units, It is possible to output information about the dual. That is, the information on the residual may include quantized transform coefficients related to the residual sample.
  • the encoding apparatus may derive a reconstructed sample based on the prediction sample and the residual sample.
  • the encoding apparatus may add the prediction sample and the residual sample to derive the reconstructed sample. Also, the encoding apparatus can encode the information on the residual and output it in the form of a bit stream.
  • the bitstream may be transmitted to a decoding device via a network or a storage medium.
  • the encoding apparatus encodes and outputs 360-degree video information for the projected picture (S860).
  • the encoding apparatus may generate the 360-degree video information for the projected picture, and may encode the 360-degree video information and output the encoded 360-degree video information through a bitstream.
  • the 360 video information may be signaled through a high level syntax such as a slice header, a sequence parameter set (SPS), or the like.
  • the 360 video information may include projection type information indicating the projection type of the projected picture.
  • the projection type can be classified into Equirectangular Projection (ERP), Cube Map Projection (CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP), Truncated Square Pyramid Projection (TSP), Segmented Sphere Projection Projection (EAP). That is, the projection type of the projected picture may be one of a plurality of projection types, and the various projection types may be classified into equirectangular projection (ERP), cube map projection (CMP), icosahedral projection (ISP) OHP), Truncated Square Pyramid projection (TSP), Segmented Sphere Projection (SSP), and Equal Area Projection (EAP).
  • EAP Equal Area Projection
  • the 360 video information may include DAQP level information indicating a level of quantization processing units.
  • the syntax element for the DAQP level information may be denoted as DAQP_level.
  • the DAQP level information may represent a coding tree unit (CTU), a coding unit (CU), a face, or a slice. For example, when the value of the DAQP level information is 0, the DAQP level information may indicate the CU, and when the value of the DAQP level information is 1, the DAQP level information may indicate the CTU, If the value of the DAQP level information is 2, the DAQP level information may indicate the slice.
  • the quantization processing units may be derived as blocks corresponding to the level indicated by the DAQP level information.
  • the DAQP level information may be signaled through a PPS (picture parameter set).
  • the DAQP level information may be signaled through a high level syntax such as a slice header, a sequence parameter set (SPS), or the like.
  • the 360 video information may include DAQP depth information indicating a depth of an update area.
  • the update area may include a quantization processing unit for the number of values represented by the DAQP depth information in an inward direction at the specific boundary.
  • the 360 video information may include a DAQP availability flag.
  • the DAQP availability flag may indicate whether to derive a DAQP for each of the quantization processing units based on a weight map. For example, if the value of the DAQP usable flag is 1, the DAQP usable flag may indicate that a DAQP for each of the quantization processing units is derived based on the weight map, and if the value of the DAQP usable flag is 0 , The DAQP availability flag may indicate that the DAQP for each of the quantization processing units is not derived based on the weight map.
  • the DAQP for each of the quantization processing units can be derived based on the weight map, and when the value of the DAQP availability flag is 0, The DAQP for each can not be derived, and a conventional quantization parameter (QP) can be derived.
  • QP quantization parameter
  • FIG. 9 schematically shows a video decoding method by a decoding apparatus according to the present invention.
  • the method disclosed in Fig. 9 can be performed by the decoding apparatus disclosed in Fig.
  • S900 of FIG. 9 may be performed by the entropy decoding unit of the decoding apparatus
  • S910 to S940 may be performed by the inverse quantization unit of the decoding apparatus
  • S950 may be performed by the inverse of the decoding apparatus Quantization unit, and prediction unit.
  • the decoding apparatus receives 360-degree video information (S900).
  • the decoding apparatus can receive the 360-degree video information through a bitstream.
  • the 360 video information may include projection type information indicating the projection type of the projected picture.
  • the projection type of the projected picture may be derived based on the projection type information.
  • the projection type can be classified into Equirectangular Projection (ERP), Cube Map Projection (CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP), Truncated Square Pyramid Projection (TSP), Segmented Sphere Projection Projection (EAP).
  • the projection type of the projected picture may be one of a plurality of projection types, and the various projection types may be classified into equirectangular projection (ERP), cube map projection (CMP), icosahedral projection (ISP) OHP), Truncated Square Pyramid projection (TSP), Segmented Sphere Projection (SSP), and Equal Area Projection (EAP).
  • ERP equirectangular projection
  • CMP cube map projection
  • ISP icosahedral projection
  • TSP Truncated Square Pyramid projection
  • SSP Segmented Sphere Projection
  • EAP Equal Area Projection
  • the 360 video information may include DAQP level information indicating a level of quantization processing units.
  • the syntax element for the DAQP level information may be denoted as DAQP_level.
  • the DAQP level information may represent a coding tree unit (CTU), a coding unit (CU), a face, or a slice. For example, when the value of the DAQP level information is 0, the DAQP level information may indicate the CU, and when the value of the DAQP level information is 1, the DAQP level information may indicate the CTU, If the value of the DAQP level information is 2, the DAQP level information may indicate the slice.
  • the quantization processing units may be derived as blocks corresponding to the level indicated by the DAQP level information.
  • the DAQP level information may be received via a picture parameter set (PPS).
  • the DAQP level information may be received through a high level syntax such as a slice header, a sequence parameter set (SPS), or the like.
  • the 360 video information may include DAQP depth information indicating a depth of an update area.
  • the update area may be an area adjacent to a specific boundary of the face of the projected picture.
  • the update area may include a quantization processing unit for the number of values represented by the DAQP depth information in an inward direction at the specific boundary.
  • the 360 video information may include a DAQP availability flag.
  • the DAQP availability flag may indicate whether to derive a DAQP for each of the quantization processing units based on a weight map. For example, if the value of the DAQP usable flag is 1, the DAQP usable flag may indicate that a DAQP for each of the quantization processing units is derived based on the weight map, and if the value of the DAQP usable flag is 0 , The DAQP availability flag may indicate that the DAQP for each of the quantization processing units is not derived based on the weight map.
  • the DAQP for each of the quantization processing units can be derived based on the weight map, and when the value of the DAQP availability flag is 0, The DAQP for each can not be derived, and a conventional quantization parameter (QP) can be derived.
  • QP quantization parameter
  • the decoding apparatus derives the projection type of the projected picture based on the 360 video information (S910).
  • the 360 video information may include projection type information indicating the projection type of the projected picture, and the projection type of the projected picture may be derived based on the projection type information.
  • the projection type includes an Equal Projection (ERP), a Cube Map Projection (CMP), an Icosahedral Projection (ISP), an Octahedron Projection (OHP), a Truncated Square Pyramid Projection (TSP), a Segmented Sphere Projection EAP).
  • the 360 degree video data can be mapped to the faces of the 3D projection structure of each projection type, and the faces can be projected onto the projected picture. That is, the projected picture may include paces of a 3D projection structure of each projection type.
  • the projected picture may be a picture on which the 360-degree video data is projected based on the CMP.
  • the 360-degree video data can be mapped to six faces of a cube which is a 3D projection structure of the CMP, and the faces can be projected onto the projected picture.
  • the projected picture may be a picture on which the 360-degree video data is projected based on the ISP.
  • the 360-degree video data can be mapped to 20 faces of a 20-sided face, which is the 3D projection structure of the ISP, and the faces can be projected onto the projected picture.
  • the projected picture may be a picture on which the 360-degree video data is projected based on the OHP.
  • the 360-degree video data may be mapped to eight faces of a trilobe, which is a 3D projection structure of the OHP, and the faces may be projected onto the projected picture.
  • the decoding apparatus derives a weight map of the projected picture based on the projection type (S920).
  • the weight map may include weights of the samples of the projection picture according to the projection type.
  • the weight of each sample is a value such that the sample value of each sample is the same as the sample value of the corresponding sample.
  • the value obtained by multiplying the weight value by the sample value of each sample may be the same as the sample value of the corresponding sample.
  • the corresponding sample may represent a sample on the 3D projection structure corresponding to each sample.
  • the weight map according to the projection type may be stored beforehand.
  • the weight map according to the projection type may be as shown in FIG. That is, the weight maps for the various projection types can be stored, and a weight map for the projected type of the projected picture among the pre-stored weight maps can be derived.
  • the decoding apparatus derives quantization processing units of the projected picture (S930).
  • the decoding apparatus can derive the quantization processing unit level of the projected picture based on the DAQP level information indicating the level of the quantization processing units obtained from the bitstream. That is, the quantization processing unit level may be derived based on the DAQP level information of the projected picture.
  • the DAQP level information may indicate a coding tree unit (CTU), a coding unit (CU), a face, or a slice. That is, the quantization processing unit level based on the DAQP level information may be derived as CTU, CU, pace, or slice of the projected picture.
  • the quantization processing units may be derived as blocks corresponding to the quantization processing unit level indicated by the DAQP level information.
  • the quantization processing unit level is derived as a coding tree unit (CTU) of the projected picture
  • the quantization processing units may be derived as blocks corresponding to the CTU.
  • the size of the quantization processing units may be the same as the size of the CTU.
  • the size of the CTU may be 128x128, or may be 256x256.
  • the quantization processing units when the quantization processing unit level is derived as a coding unit (CU) of the projected picture, the quantization processing units may be derived as blocks corresponding to the CU. The sizes of the quantization processing units may be the same as the size of the CU.
  • CU coding unit
  • the quantization processing units when the quantization processing unit level is derived as a face of the projected picture, the quantization processing units may be derived as blocks corresponding to the face.
  • the sizes of the quantization processing units may be the same as the size of the face. For example, the size of the face may be 960x960.
  • the quantization processing units when the quantization processing unit level is derived as a slice of the projected picture, the quantization processing units may be derived as blocks corresponding to the slice. The sizes of the quantization processing units may be the same as the size of the slice.
  • the decoding apparatus derives a DAQP (Decoder Side Adaptive Quantization Parameter) for each of the quantization processing units based on the weight map (S940).
  • the decoding apparatus may derive an initial quantization parameter (QP) for the projected picture and derive weights of the samples of the quantization processing units based on the weight map.
  • QP initial quantization parameter
  • the decoding apparatus can derive the average value of the weights, and derive the DAQP of each quantization processing unit based on the initial QP and the average value.
  • the average value of the weights can be derived based on Equation (3).
  • the DAQP of each quantization processing unit can be derived based on Equation (2).
  • the initial QP can be derived based on the information on the initial QP, and the information on the initial QP can be transmitted through a PPC (Picture Parameter Set).
  • the decoding apparatus can derive the update area of the projected picture, and can update the DAQP of the quantization processing unit included in the update area to derive the updated DAQP.
  • the updated DAQP may be denoted as DAQP '.
  • the decoding apparatus can derive a specific boundary of the face of the projected picture based on the projection type, and derive an update region adjacent to the specific boundary based on the 360 video information.
  • Information on a specific boundary of the face according to the projection type can be stored. That is, information about a specific boundary of the face for various projection types may be stored, and based on information about a specific boundary of the face for the projected type of the projected picture, The specific boundary can be derived.
  • the 360 video information may include DAQP depth information indicating a depth of the update area, and the update area may include a quantization processing unit of the number of values represented by the DAQP depth information in an inward direction at the specific boundary . ≪ / RTI > For example, when the value of the DAQP depth information is 1, the update area may include one quantization processing unit in the inward direction at the specific boundary, and when the value of the DAQP depth information is 2, The area may include two quantization processing units in an inward direction at the specific boundary, and when the value of the DAQP depth information is 3, the update area may include three quantization processing units in the inward direction at the specific boundary .
  • the decoding apparatus performs decoding for each quantization processing unit based on the DAQP (S950).
  • the decoding apparatus can output the transform coefficients for each quantization processing unit based on the DAQP, and inversely transform the inversely quantized transform coefficients to derive residual samples for each quantization processing unit can do.
  • the decoding apparatus may generate prediction samples by performing prediction on the quantization processing units, and may generate restoration samples for each quantization processing unit by adding residual samples to the prediction samples.
  • the decoding apparatus can receive information about the residual for each quantization processing unit, The information may be included in the information on the face.
  • the information on the residual may include a transform coefficient relating to the residual sample.
  • the decoding apparatus may derive the residual samples (or residual sample arrays) 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.
  • an in-loop filtering procedure such as deblocking filtering and / or SAO procedure to the restored picture in order to improve subjective / objective picture quality as necessary.
  • the decoding apparatus can map the 360-degree video data of the decoded projected picture to 3D space. That is, the decoding apparatus can re-project the projected picture into the 3D space.
  • a decoder side adaptive quantization parameter (DAQP) for a quantization processing unit can be derived based on a projection type of a projected picture for 360-degree video, and a quantization process is performed by reflecting a geometric structure And the overall coding efficiency can be improved.
  • DAQP decoder side adaptive quantization parameter
  • an updated DAQP (Decoder Side Adaptive Quantization Parameter) for a quantization processing unit adjacent to a specific boundary of a face at which a discontinuity of a projected picture occurs can be derived, whereby discontinuity of the projected picture It is possible to reduce the occurrence of artifacts and improve the overall coding efficiency.
  • the above-described method according to the present invention can be implemented in software, and the encoding apparatus and / or decoding apparatus according to the present invention can perform image processing of, for example, a TV, a computer, a smart phone, a set- Device.
  • the above-described method may be implemented by a module (a process, a function, and the like) that performs the above-described functions.
  • the module is stored in memory and can be executed by the processor.
  • the memory may be internal or external to the processor and may be coupled to the processor by any of a variety of well known means.
  • the processor may comprise an application-specific integrated circuit (ASIC), other chipset, logic circuitry and / or a data processing device.
  • the memory may include read-only memory (ROM), random access memory (RAM), flash memory, memory cards, storage media, and / or other storage devices.

Abstract

본 발명에 따른 디코딩 장치에 의하여 수행되는 영상 디코딩 방법은 360도 비디오 정보를 수신하는 단계, 상기 360 비디오 정보를 기반으로 프로젝션된 픽처의 프로젝션 타입을 도출하는 단계, 상기 프로젝션 타입을 기반으로 상기 프로젝션된 픽처의 가중치 맵을 도출하는 단계, 상기 프로젝션된 픽처의 양자화 처리 단위들을 도출하는 단계, 상기 가중치 맵을 기반으로 상기 양자화 처리 단위들 각각에 대한 DAQP를 도출하는 단계, 및 상기 DAQP를 기반으로 상기 각 양자화 처리 단위에 대한 디코딩을 수행하는 단계를 포함하는 것을 특징으로 한다.

Description

360도 비디오에 대한 영상 코딩 시스템에서 프로젝션 타입 기반 양자화 파라미터를 사용한 영상 디코딩 방법 및 장치
본 발명은 360도 비디오에 관한 것으로, 보다 상세하게는 360도 비디오에 관한 코딩 시스템에서의 프로젝션 타입 기반 양자화 파라미터를 사용한 영상 디코딩 방법 및 장치에 관한 것이다.
360도 비디오는 가상 현실(virtual reality, VR) 시스템을 제공하기 위해 필요한, 동시에 모든 방향(360도)으로 캡처되거나 재생되는 비디오 내지 이미지 컨텐츠를 의미할 수 있다. 예를 들어 360도 비디오는 3차원 구형면(Spherical surface) 상에 나타내어질 수 있다. 360도 비디오는 하나 이상의 카메라를 통하여 복수개의 시점 각각에 대한 이미지 또는 비디오가 캡처되고, 이 캡처된 복수개의 이미지/비디오들을 연결하여 하나의 파노라마 이미지/비디오 또는 구형의 이미지/비디오로 만들어 2D 픽처 상에 프로젝션하고, 프로젝션된 픽처를 코딩하여 전송하는 과정을 통하여 제공될 수 있다.
360도 비디오는 기존의 영상 데이터에 비해 상대적으로 전송되는 정보량 또는 비트량이 증가하기 때문에 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 데이터를 전송하거나 기존의 저장 매체를 이용해 영상 데이터를 저장하는 경우, 전송 비용과 저장 비용이 증가된다.
이에 따라, 360도 비디오의 정보를 효과적으로 전송하거나 저장하고, 재생하기 위한 고효율의 영상 압축 기술이 요구된다.
본 발명의 기술적 과제는 360 비디오를 제공하기 위한 360 비디오 정보 전송의 효율을 높이는 방법 및 장치를 제공함에 있다.
본 발명의 다른 기술적 과제는 360 비디오에 관한 프로젝션된 픽처의 양자화 처리 단위에 대한 DAQP(Decoder side Adaptive Quantization Parameter)를 도출하는 방법 및 장치를 제공함에 있다.
본 발명의 다른 기술적 과제는 프로젝션된 픽처의 불연속성이 발생하는 특정 경계에 인접한 양자화 처리 단위에 대한 갱신된 DAQP(Decoder side Adaptive Quantization Parameter)를 도출하는 방법 및 장치를 제공함에 있다.
본 발명의 일 실시예에 따르면, 인코딩 장치에 의하여 수행되는 인트라 예측 방법이 제공된다. 상기 방법은 적어도 하나의 카메라에 의해 캡쳐된 360도 비디오 데이터를 획득하는 단계, 상기 360도 비디오 데이터를 처리하여 프로젝션된 픽처(projected picture)를 획득하는 단계, 상기 프로젝션 타입을 기반으로 상기 프로젝션된 픽처의 가중치 맵(weight map)을 도출하는 단계, 상기 프로젝션된 픽처의 양자화(quantization) 처리 단위들을 도출하는 단계, 상기 가중치 맵을 기반으로 상기 양자화 처리 단위들 각각에 대한 DAQP(Decoder side Adaptive Quantization Parameter)를 도출하는 단계, 상기 DAQP를 기반으로 상기 각 양자화 처리 단위에 대한 양자화를 수행하는 단계, 및 상기 프로젝션된 픽처에 대한 360도 비디오 정보를 인코딩하여 출력하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 다른 일 실시예에 따르면, 인트라 예측을 수행하는 인코딩 장치가 제공된다. 상기 인코딩 장치는 적어도 하나의 카메라에 의해 캡쳐된 360도 비디오 데이터를 획득하고, 상기 360도 비디오 데이터를 처리하여 프로젝션된 픽처(projected picture)를 획득하는 프로젝션 처리부, 상기 프로젝션 타입을 기반으로 상기 프로젝션된 픽처의 가중치 맵(weight map)을 도출하고, 상기 프로젝션된 픽처의 양자화(quantization) 처리 단위들을 도출하고, 상기 가중치 맵을 기반으로 상기 양자화 처리 단위들 각각에 대한 DAQP(Decoder side Adaptive Quantization Parameter)를 도출하고, 상기 DAQP를 기반으로 상기 각 양자화 처리 단위에 대한 양자화를 수행하는 양자화부, 및 상기 프로젝션된 픽처에 대한 360도 비디오 정보를 인코딩하여 출력하는 엔트로피 인코딩부를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 일 실시예에 따르면, 디코딩 장치에 의하여 수행되는 영상 디코딩 방법이 제공된다. 상기 방법은 360도 비디오 정보를 수신하는 단계, 상기 360 비디오 정보를 기반으로 프로젝션된 픽처의 프로젝션 타입을 도출하는 단계, 상기 프로젝션 타입을 기반으로 상기 프로젝션된 픽처의 가중치 맵을 도출하는 단계, 상기 프로젝션된 픽처의 양자화 처리 단위들을 도출하는 단계, 상기 가중치 맵을 기반으로 상기 양자화 처리 단위들 각각에 대한 DAQP를 도출하는 단계, 및 상기 DAQP를 기반으로 상기 각 양자화 처리 단위에 대한 디코딩을 수행하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 다른 일 실시예에 따르면, 360도 비디오 데이터를 처리하는 디코딩 장치가 제공된다. 상기 디코딩 장치는 360도 비디오 정보를 수신하는 엔트로피 디코딩부, 상기 360 비디오 정보를 기반으로 프로젝션된 픽처의 프로젝션 타입을 도출하고, 상기 프로젝션 타입을 기반으로 상기 프로젝션된 픽처의 가중치 맵(weight map)을 도출하고, 상기 프로젝션된 픽처의 양자화(quantization) 처리 단위들을 도출하고, 상기 가중치 맵을 기반으로 상기 양자화 처리 단위들 각각에 대한 DAQP(Decoder side Adaptive Quantization Parameter)를 도출하고, 상기 DAQP를 기반으로 상기 각 양자화 처리 단위에 대한 디코딩을 수행하는 역양자화부를 포함하는 것을 특징으로 한다.
본 발명에 따르면 360도 비디오에 대한 프로젝션된 픽처의 프로젝션 타입을 기반으로 양자화 처리 단위에 대한 DAQP(Decoder side Adaptive Quantization Parameter)을 도출할 수 있고, 이를 통하여 기하학적 구조를 반영하여 양자화 과정을 수행할 수 있고, 전반적인 코딩 효율을 향상시킬 수 있다.
본 발명에 따르면 프로젝션된 픽처의 불연속성이 발생하는 페이스의 특정 경계에 인접한 양자화 처리 단위에 대한 갱신된 DAQP(Decoder side Adaptive Quantization Parameter)를 도출할 수 있고, 이를 통하여 상기 프로젝션된 픽처의 불연속성으로 인한 아티팩트(artifact)의 발생을 줄일 수 있고, 전반적인 코딩 효율을 향상시킬 수 있다.
도 1은 본 발명에 따른 360도 비디오 제공을 위한 전체 아키텍처를 도시한 도면이다.
도 2는 인코딩 장치 및 디코딩 장치에서의 360도 비디오의 처리 과정을 예시적으로 나타낸다.
도 3은 본 발명이 적용될 수 있는 비디오 인코딩 장치의 구성을 개략적으로 설명하는 도면이다.
도 4는 본 발명이 적용될 수 있는 비디오 디코딩 장치의 구성을 개략적으로 설명하는 도면이다.
도 5는 상기 ERP 를 기반으로 도출된 프로젝션된 픽처를 예시적으로 나타낸다.
도 6은 프로젝션 타입에 따른 프로젝션된 픽처의 가중치 맵을 나타낸다.
도 7a 내지 도 7d는 프로젝션된 픽처 내 페이스의 경계 주변의 갱신된 DAQP가 도출되는 CTU들을 나타낸다.
도 8은 본 발명에 따른 인코딩 장치에 의한 비디오 인코딩 방법을 개략적으로 나타낸다.
도 9는 본 발명에 따른 디코딩 장치에 의한 비디오 디코딩 방법을 개략적으로 나타낸다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정 실시예에 한정하려고 하는 것이 아니다. 본 명세서에서 상용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 기술적 사상을 한정하려는 의도로 사용되는 것은 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서 "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 도는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
한편, 본 발명에서 설명되는 도면상의 각 구성들은 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미하지는 않는다. 예컨대, 각 구성 중 두 개 이상의 구성이 합쳐져 하나의 구성을 이룰 수도 있고, 하나의 구성이 복수의 구성으로 나뉘어질 수도 있다. 각 구성이 통합 및/또는 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성 요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성 요소에 대해서 중복된 설명은 생략한다.
본 명세서에서 픽처(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), 레지듀얼 처리부(320), 엔트로피 인코딩부(330), 가산부(340), 필터부(350) 및 메모리(360)을 포함할 수 있다. 레지듀얼 처리부(320)는 감산부(321), 변환부(322), 양자화부(323), 재정렬부(324), 역양자화부(325) 및 역변환부(326)를 포함할 수 있다.
픽처 분할부(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는 픽처의 디스플레이 순서에 대응하며, 코딩 순서와 구분될 수 있다.
감산부(321)는 원본 샘플과 예측 샘플 간의 차이인 레지듀얼 샘플을 생성한다. 스킵 모드가 적용되는 경우에는, 상술한 바와 같이 레지듀얼 샘플을 생성하지 않을 수 있다.
변환부(322)는 변환 블록 단위로 레지듀얼 샘플을 변환하여 변환 계수(transform coefficient)를 생성한다. 변환부(322)는 해당 변환 블록의 사이즈와, 해당 변환 블록과 공간적으로 겹치는 코딩 블록 또는 예측 블록에 적용된 예측 모드에 따라서 변환을 수행할 수 있다. 예컨대, 상기 변환 블록과 겹치는 상기 코딩 블록 또는 상기 예측 블록에 인트라 예측이 적용되었고, 상기 변환 블록이 4×4의 레지듀얼 어레이(array)라면, 레지듀얼 샘플은 DST(Discrete Sine Transform) 변환 커널을 이용하여 변환되고, 그 외의 경우라면 레지듀얼 샘플은 DCT(Discrete Cosine Transform) 변환 커널을 이용하여 변환할 수 있다.
양자화부(323)는 변환 계수들을 양자화하여, 양자화된 변환 계수를 생성할 수 있다.
재정렬부(324)는 양자화된 변환 계수를 재정렬한다. 재정렬부(324)는 계수들 스캐닝(scanning) 방법을 통해 블록 형태의 양자화된 변환 계수들을 1차원 벡터 형태로 재정렬할 수 있다. 여기서 재정렬부(324)는 별도의 구성으로 설명하였으나, 재정렬부(324)는 양자화부(323)의 일부일 수 있다.
엔트로피 인코딩부(330)는 양자화된 변환 계수들에 대한 엔트로피 인코딩을 수행할 수 있다. 엔트로피 인코딩은 예를 들어 지수 골롬(exponential Golomb), CAVLC(context-adaptive variable length coding), CABAC(context-adaptive binary arithmetic coding) 등과 같은 인코딩 방법을 포함할 수 있다. 엔트로피 인코딩부(330)는 양자화된 변환 계수 외 비디오 복원에 필요한 정보들(예컨대 신택스 요소(syntax element)의 값 등)을 함께 또는 별도로 인코딩할 수도 있다. 엔트로피 인코딩된 정보들은 비트스트림 형태로 NAL(network abstraction layer) 유닛 단위로 전송 또는 저장될 수 있다.
역양자화부(325)는 양자화부(323)에서 양자화된 값(양자화된 변환 계수)들을 역양자화하고, 역변환부(326)는 역양자화부(325)에서 역양자화된 값들을 역변환하여 레지듀얼 샘플을 생성한다.
가산부(340)는 레지듀얼 샘플과 예측 샘플을 합쳐서 픽처를 복원한다. 레지듀얼 샘플과 예측 샘플은 블록 단위로 더해져서 복원 블록이 생성될 수 있다. 여기서 가산부(340)는 별도의 구성으로 설명하였으나, 가산부(340)는 예측부(310)의 일부일 수 있다. 한편, 가산부(340)는 복원부 또는 복원 블록 생성부로 불릴 수도 있다.
복원된 픽처(reconstructed picture)에 대하여 필터부(350)는 디블록킹 필터 및/또는 샘플 적응적 오프셋(sample adaptive offset)을 적용할 수 있다. 디블록킹 필터링 및/또는 샘플 적응적 오프셋을 통해, 복원 픽처 내 블록 경계의 아티팩트나 양자화 과정에서의 왜곡이 보정될 수 있다. 샘플 적응적 오프셋은 샘플 단위로 적용될 수 있으며, 디블록킹 필터링의 과정이 완료된 후 적용될 수 있다. 필터부(350)는 ALF(Adaptive Loop Filter)를 복원된 픽처에 적용할 수도 있다. ALF는 디블록킹 필터 및/또는 샘플 적응적 오프셋이 적용된 후의 복원된 픽처에 대하여 적용될 수 있다.
메모리(360)는 복원 픽처(디코딩된 픽처) 또는 인코딩/디코딩에 필요한 정보를 저장할 수 있다. 여기서 복원 픽처는 상기 필터부(350)에 의하여 필터링 절차가 완료된 복원 픽처일 수 있다. 상기 저장된 복원 픽처는 다른 픽처의 (인터) 예측을 위한 참조 픽처로 활용될 수 있다. 예컨대, 메모리(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)는 복원된 픽처를 출력 순서에 따라서 출력할 수도 있다.
한편, 기존의 2차원(dimension) 영상의 픽처와 달리, 3차원 영상인 360도 비디오의 프로젝션된 픽처(projected picture)는 3D 공간 상의 360도 비디오 데이터가 2D 이미지에 프로젝션되어 도출되는 픽처인바, 상기 프로젝션된 픽처는 비균일 샘플링(non-uniform sampling)이 적용될 수 있다. 상기 프로젝션된 픽처의 비균일 샘플링 특성(non-uniform sampling property)으로 인하여 비균일 양자화 왜곡(non-uniform quantization distortion)이 발생될 수 있다. 따라서, 같은 양자화 파라미터(Quantization Parameter, QP)를 기반으로 상기 프로젝션된 픽처의 양자화 과정을 수행하는 방법보다 기하학적 구조(geometry), 즉, 3D 프로젝션 구조를 기반으로 도출된 적응적인 QP(adaptive QP)에 따라 양자화 과정을 수행하는 방법이 보다 코딩 효율을 향상시킬 수 있다. 따라서, 본 발명에서는 3D 프로젝션 구조를 기반으로 도출된 적응적인 QP(adaptive QP)에 따라 양자화 과정을 수행하는 방법을 제안한다. 또한, 상기 적응적인 QP를 기반으로 360도 비디오 데이터가 프로젝션된 픽처의 불연속성, 즉, 상기 프로젝션된 픽처의 페이스(face)들 간의 불연속성이 효과적으로 완화될 수 있고, 이를 통하여 보다 나은 주관적 품질(subjective quality)이 도출될 수 있다.
도 5는 상기 ERP 를 기반으로 도출된 프로젝션된 픽처를 예시적으로 나타낸다. 360 비디오 데이터는 2D 픽처에 프로젝션될 수 있고, 여기서, 상기 360도 비디오 데이터가 프로젝션된 2D 픽처는 프로젝션된 프레임(projected frame) 또는 프로젝션된 픽처(projected picture)라고 불릴 수 있다. 상기 360도 비디오 데이터는 다양한 프로젝션 타입을 통하여 픽처상에 프로젝션될 수 있다. 예를 들어, 360도 비디오 데이터는 Equirectangular Projection (ERP), Cube Map Projection(CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP), Truncated Square Pyramid projection (TSP), Segmented Sphere Projection (SSP) 또는 Equal Area Projection (EAP) 를 통하여 픽처에 프로젝션 및/또는 패킹될 수 있다. 구체적으로, 스티칭된 360도 비디오 데이터는 프로젝션 타입에 따른 3D 프로젝션 구조 상에 나타내어질 수 있고, 즉, 상기 360도 비디오 데이터는 각 프로젝션 타입의 3D 프로젝션 구조의 페이스(face)에 맵핑될 수 있고, 상기 페이스는 상기 프로젝션된 픽처에 프로젝션될 수 있다.
도 5를 참조하면 360도 비디오 데이터는 ERP를 통하여 2D 픽처에 프로젝션될 수 있다. 360도 비디오 데이터가 상기 ERP를 통하여 프로젝션되는 경우, 예를 들어, 스티칭된 360도 비디오 데이터는 구형 면(spherical surface) 상에 나타내어질 수 있고, 즉, 상기 360도 비디오 데이터는 상기 구형 면 상에 맵핑될 수 있고, 상기 구형 면 상에서의 연속성이 유지되는 하나의 픽처로 프로젝션될 수 있다. 상기 ERP 의 3D 프로젝션 구조는 하나의 페이스를 갖는 구(sphere)일 수 있다. 따라서, 도 5에 도시된 것과 같이 상기 360도 비디오 데이터는 프로젝션된 픽처 내 하나의 페이스에 맵핑될 수 있다.
또한, 다른 예로, 360도 비디오 데이터가 상기 CMP를 통하여 프로젝션될 수 있다. 상기 CMP의 3D 프로젝션 구조는 큐브(cube)일 수 있다. 따라서, 상기 360도 비디오 데이터가 상기 CMP를 통하여 프로젝션되는 경우, 스티칭된 360도 비디오 데이터는 큐브에 나타내어질 수 있고, 상기 360도 비디오 데이터는 육면체 형태의 3D 프로젝션 구조로 나뉘어 2D 이미지 상에 프로젝션될 수 있다. 즉, 상기 360도 비디오 데이터는 큐브의 6개의 페이스들에 맵핑될 수 있고, 상기 페이스들은 상기 프로젝션된 픽처에 프로젝션될 수 있다.
또한, 다른 예로, 360도 비디오 데이터가 상기 ISP를 통하여 프로젝션될 수 있다. 상기 ISP의 3D 프로젝션 구조는 이십면체일 수 있다. 따라서, 상기 360도 비디오 데이터가 상기 ISP를 통하여 프로젝션되는 경우, 스티칭된 360도 비디오 데이터는 이십면체에 나타내어질 수 있고, 상기 360도 비디오 데이터는 이십면체 형태의 3D 프로젝션 구조로 나뉘어 2D 이미지 상에 프로젝션될 수 있다. 즉, 상기 360도 비디오 데이터는 이십면체의 20개의 페이스들에 맵핑될 수 있고, 상기 페이스들은 상기 프로젝션된 픽처에 프로젝션될 수 있다.
또한, 다른 예로, 360도 비디오 데이터가 상기 OHP를 통하여 프로젝션될 수 있다. 상기 OHP의 3D 프로젝션 구조는 팔면체일 수 있다. 따라서, 상기 360도 비디오 데이터가 상기 OHP를 통하여 프로젝션되는 경우, 스티칭된 360도 비디오 데이터는 팔면체에 나타내어질 수 있고, 상기 360도 비디오 데이터는 팔면체 형태의 3D 프로젝션 구조로 나뉘어 2D 이미지 상에 프로젝션될 수 있다. 즉, 상기 360도 비디오 데이터는 팔면체의 8개의 페이스들에 맵핑될 수 있고, 상기 페이스들은 상기 프로젝션된 픽처에 프로젝션될 수 있다.
또한, 다른 예로, 360도 비디오 데이터가 상기 TSP를 통하여 프로젝션될 수 있다. 상기 TSP의 3D 프로젝션 구조는 윗 부분이 잘린 피라미드(Truncated Square Pyramid)일 수 있다. 따라서, 상기 360도 비디오 데이터가 상기 TSP를 통하여 프로젝션되는 경우, 스티칭된 360도 비디오 데이터는 상기 윗 부분이 잘린 피라미드에 나타내어질 수 있고, 상기 360도 비디오 데이터는 상기 윗 부분이 잘린 피라미드 형태의 3D 프로젝션 구조로 나뉘어 2D 이미지 상에 프로젝션될 수 있다. 즉, 상기 360도 비디오 데이터는 상기 윗 부분이 잘린 피라미드의 6개의 페이스들에 맵핑될 수 있고, 상기 페이스들은 상기 프로젝션된 픽처에 프로젝션될 수 있다.
또한, 다른 예로, 360도 비디오 데이터가 상기 SSP를 통하여 프로젝션될 수 있다. 상기 SSP의 3D 프로젝션 구조는 6개의 페이스들을 갖는 구형 면일 수 있다. 구체적으로, 상기 페이스들은 양극 영역들에 대한 2개의 원 형태의 페이스들과 나머지 영역들에 대한 4개의 정방형 블록 형태의 페이스들을 포함할 수 있다. 따라서, 상기 360도 비디오 데이터가 상기 SSP를 통하여 프로젝션되는 경우, 스티칭된 360도 비디오 데이터는 상기 6개의 페이스들을 갖는 구형 면에 나타내어질 수 있고, 상기 360도 비디오 데이터는 상기 6개의 페이스들을 갖는 구형 면 형태의 3D 프로젝션 구조로 나뉘어 2D 이미지 상에 프로젝션될 수 있다. 즉, 상기 360도 비디오 데이터는 상기 구형 면의 6개의 페이스들에 맵핑될 수 있고, 상기 페이스들은 상기 프로젝션된 픽처에 프로젝션될 수 있다.
또한, 다른 예로, 360도 비디오 데이터가 상기 EAP를 통하여 프로젝션될 수 있다. 상기 EAP의 3D 프로젝션 구조는 구일 수 있다. 따라서, 상기 360도 비디오 데이터가 상기 EAP를 통하여 프로젝션되는 경우, 스티칭된 360도 비디오 데이터는 구형 면 상에 나타내어질 수 있고, 즉, 상기 360도 비디오 데이터는 상기 구형 면 상에 맵핑될 수 있고, 상기 구형 면 상에서의 연속성이 유지되는 하나의 픽처로 프로젝션될 수 있다. 즉, 상기 360도 비디오 데이터는 구의 하나의 페이스에 맵핑될 수 있고, 상기 페이스는 상기 프로젝션된 픽처에 프로젝션될 수 있다. 여기서, 상기 EAP 는 상기 ERP 와 달리 상기 구형 면 상에서의 특정 영역을 상기 구형 면 상에서의 사이즈와 동일한 사이즈로 상기 프로젝션된 픽처 상에 프로젝션하는 방법을 나타낼 수 있다.
상기 프로젝션된 픽처는 3D 프로젝션 구조(예를 들어 구형 면) 상의 360도 비디오 데이터가 프로젝션되어 도출되는바, 상기 프로젝션된 픽처 내 각 샘플에서의 왜곡(distortion)은 상기 각 샘플 위치에 대응하는 3D 공간(예를 들어 구형 면)에서의 위치에 의하여 가중될 수 있다. 예를 들어, 도 5에 도시된 것과 같이 상기 프로젝션된 픽처의 샘플들 중 상기 구형면의 적도에 대응하는 위치의 샘플들과 상기 구형면의 양 극에 대응하는 위치의 샘플들의 샘플링은 다를 수 있다. 여기서, 상기 구형면의 적도에 대응하는 위치의 샘플들은 상기 프로젝션된 픽처의 가운데 행에 위치하는 샘플들을 나타낼 수 있고, 상기 구형면의 양 극에 대응하는 위치의 샘플들은 상기 프로젝션된 픽처의 첫번째 행 및 마지막 행에 위치하는 샘플들을 나타낼 수 있다.
상기 프로젝션된 픽처의 사이즈가 MxN 이고, 상기 프로젝션된 픽처의 좌상단(top-left) 샘플 포지션의 x성분이 0 및 y성분이 0인 경우, (i,j) 좌표의 샘플의 입력 샘플값은 y(i,j), 출력 샘플값은 y'(i,j), 상기 (i,j) 좌표의 샘플과 대응하는 상기 구형면 상의 대응 샘플값은 w(i,j) 로 나타낼 수 있고, 상기 프로젝션된 픽처의 가중 평균 제곱 오류(weighted mean squared error, WMSE)는 다음의 수학식을 기반으로 도출될 수 있다.
Figure PCTKR2018007542-appb-M000001
여기서, WMSE 는 상기 프로젝션된 픽처의 가중 평균 제곱 오류를 나타내고, y(i,j) 는 (i,j) 좌표의 샘플의 입력 샘플값, y'(i,j) 는 (i,j) 좌표의 샘플의 출력 샘플값, w(i,j) 는 (i,j) 좌표의 샘플과 대응하는 상기 구형면 상의 대응 샘플값을 나타낸다.
한편, 대상 샘플의 샘플값과 상기 구형면 상의 대응 샘플의 샘플값을 기반으로 상기 대상 샘플에 대한 가중치가 도출될 수 있다. 상기 가중치는 상기 대상 샘플의 샘플값이 상기 대응 샘플의 샘플값과 동일한 값이 되도록 하는 값으로, 상기 가중치와 상기 대상 샘플의 샘플값를 곱한 값은 상기 대응 샘플의 샘플값과 동일할 수 있다. 또한, 상기 360도 비디오 데이터는 다양한 프로젝션 타입을 통하여 픽처상에 프로젝션될 수 있는바, 프로젝션 타입의 3D 프로젝션 구조에 따라서 상기 프로젝션된 픽처 내 상기 대상 샘플의 가중치는 다를 수 있다. 각 프로젝션 타입에 따른 상기 프로젝션된 픽처의 샘플들의 가중치들은 후술하는 내용과 같을 수 있다.
도 6은 프로젝션 타입에 따른 프로젝션된 픽처의 가중치 맵을 나타낸다. 상기 가중치 맵은 상기 프로젝션 픽처의 샘플들의 가중치들을 나타낼 수 있다. 상기 가중치 맵의 밝은 영역은 3D 프로젝션 구조 내 대응 샘플과 유사한 샘플값을 갖는 샘플을 나타낼 수 있고, 상기 가중치 맵(weight map)의 어두운 영역은 3D 프로젝션 구조 내 대응 샘플과 유사하지 않은 샘플값을 갖는 샘플을 나타낼 수 있다.
도 6의 (a) 는 상기 ERP 를 기반으로 프로젝션된 픽처의 가중치 맵을 나타낼 수 있다. 도 6의 (a) 에 도시된 것과 같이 상기 ERP 를 기반으로 프로젝션된 픽처 내 샘플값들은 상기 프로젝션된 픽처의 가운데 행에 가까울수록 실제 3D 프로젝션 구조에서의 샘플값과 동일할 수 있고, 상기 프로젝션된 픽처의 가운데 행에서 멀수록 실제 3D 프로젝션 구조에서의 샘플값과 동일하지 않을 수 있다.
도 6의 (b)는 상기 CMP를 기반으로 프로젝션된 픽처의 가중치 맵을 나타낼 수 있다. 구체적으로, 도 6의 (b)는 상기 360도 비디오 데이터가 맵핑된 큐브의 페이스들이 상기 3x2 큐브 맵(cube map), 즉, 3개의 열과 2개의 행으로 패킹된 픽처를 나타낼 수 있다. 도 6의 (b)에 도시된 것과 같이 상기 CMP 를 기반으로 프로젝션된 픽처의 각 페이스 내 샘플값들은 상기 각 페이스의 중심에 가까울수록 실제 3D 프로젝션 구조에서의 샘플값과 동일할 수 있고, 상기 각 페이스의 중심에서 멀수록 실제 3D 프로젝션 구조에서의 샘플값과 동일하지 않을 수 있다.
도 6의 (c) 는 상기 EAP를 기반으로 프로젝션된 픽처의 가중치 맵을 나타낼 수 있다. 도 6의 (c) 에 도시된 것과 같이 상기 EAP를 기반으로 프로젝션된 픽처의 샘플값들은 실제 3D 프로젝션 구조에서의 샘플값과 동일할 수 있다.
도 6의 (d)는 상기 OHP를 기반으로 프로젝션된 픽처의 가중치 맵을 나타낼 수 있다. 구체적으로, 도 6의 (d)는 상기 360도 비디오 데이터가 맵핑된 팔면체의 페이스들이 콤팩트(compact)하게 패킹된 픽처를 나타낼 수 있고, 상기 OHP 는 compact OHP 라고 나타낼 수도 있다. 도 6의 (d)에 도시된 것과 같이 상기 OHP를 기반으로 프로젝션된 픽처의 각 페이스 내 샘플값들은 상기 각 페이스의 중심에 가까울수록 실제 3D 프로젝션 구조에서의 샘플값과 동일할 수 있고, 상기 각 페이스의 중심에서 멀수록 실제 3D 프로젝션 구조에서의 샘플값과 동일하지 않을 수 있다.
도 6의 (e)는 상기 ISP를 기반으로 프로젝션된 픽처의 가중치 맵을 나타낼 수 있다. 구체적으로, 도 6의 (e)는 상기 360도 비디오 데이터가 맵핑된 이십면체의 페이스들이 콤팩트(compact)하게 패킹된 픽처를 나타낼 수 있고, 상기 ISP는 compact ISP라고 나타낼 수도 있다. 도 6의 (e)에 도시된 것과 같이 상기 ISP를 기반으로 프로젝션된 픽처의 각 페이스 내 샘플값들은 상기 각 페이스의 중심에 가까울수록 실제 3D 프로젝션 구조에서의 샘플값과 동일할 수 있고, 상기 각 페이스의 중심에서 멀수록 실제 3D 프로젝션 구조에서의 샘플값과 동일하지 않을 수 있다.
도 6의 (f)는 상기 SSP를 기반으로 프로젝션된 픽처의 가중치 맵을 나타낼 수 있다. 도 6의 (f)에 도시된 것과 같이 상기 SSP를 기반으로 프로젝션된 픽처의 페이스들 중 양극 영역들에 대한 페이스들 내 360도 비디오 데이터가 맵핑된 원 영역의 샘플값들은 실제 3D 프로젝션 구조에서의 샘플값과 동일할 수 있고, 그 이외의 영역의 샘플값들은 실제 3D 프로젝션 구조에서의 샘플값과 다를 수 있다. 또한, 도 6의 (f)에 도시된 것과 같이 상기 SSP를 기반으로 프로젝션된 픽처의 페이스들 중 상기 양극 영역들에 대한 페이스들을 제외한 나머지 페이스들 내 샘플값들은 상기 나머지 페이스들의 가운데 열에 가까울수록 실제 3D 프로젝션 구조에서의 샘플값과 동일할 수 있고, 상기 나머지 페이스들의 가운데 열에서 멀수록 실제 3D 프로젝션 구조에서의 샘플값과 동일하지 않을 수 있다.
상술한 내용과 같이 각 프로젝션 타입에 따라서 상기 프로젝션된 픽처의 샘플들의 가중치는 다를 수 있는바, 본 발명에서는 디코딩 정보의 전송에 대한 오버헤드(overhead) 및 상기 프로젝션된 픽처의 경계 아티팩트(seam artifact)를 줄이고 코딩 효율을 향상시키기 위하여 디코딩 장치에서 상기 프로젝션 타입에 따른 가중치를 기반으로 QP를 적응적으로 도출하는 방법을 제안한다. 상기 QP는 DAQP(Decoder side Adaptive Quantization Parameter)라고 나타낼 수 있다.
예를 들어, 상기 360도 비디오 데이터에 연관된 파라미터들에 대한 정보는 SPS(Sequence Parameter Set), PPS(Picture Parameter Set) 등과 같은 하이 레벨 신텍스(high level syntax)를 통하여 전송될 수 있고, 따라서, 인코딩 장치 및 디코딩 장치는 상기 정보를 기반으로 상기 프로젝션된 픽처에 대한 프로젝션 타입 및 가중치 맵을 도출할 수 있다. 또한, 인코딩 장치 및 디코딩 장치는 기존 HEVC 에서 사용되는 델타 QP 알고리즘(delta QP algorithm) 과 같이 CU(coding unit) 레벨, CTU(coding tree unit) 레벨, 슬라이스(slice) 레벨, 타일(tile) 레벨에서 상기 DAQP를 계산할 수 있다. 다시 말해, 인코딩 장치 및 디코딩 장치는 상기 프로젝션 타입 및 상기 가중치 맵을 기반으로 CU 단위, CTU 단위, 슬라이스 단위 또는 타일 단위로 상기 DAQP 를 계산할 수 있다. 즉, 상기 DAQP 도출의 처리 단위는 CU 단위, CTU 단위, 슬라이스 단위 또는 타일 단위로 도출될 수 있다. 상기 처리 단위는 양자화 처리 단위라고 나타낼 수 있다. 예를 들어, CTU 단위로 상기 DAQP 가 계산되는 경우, 상기 프로젝션된 픽처의 대상 CTU의 DAQP 는 다음의 수학식을 기반으로 도출될 수 있다.
Figure PCTKR2018007542-appb-M000002
여기서, DAQPi 는 상기 대상 CTU 의 DAQP 를 나타내고, QPinit 는 상기 프로젝션된 픽처에 대한 초기(initial) QP를 나타내고, wavg 는 상기 대상 CTU 의 샘플들의 가중치들의 평균값을 나타낸다. 기존의 상기 대상 CTU 의 QP 는 상기 초기 QP와 전송된 상기 대상 CTU의 QP 차분값을 기반으로 도출되지만, DAQP는 상기 대상 CTU 의 샘플들의 가중치들의 평균값을 기반으로 도출될 수 있다. 이에, QP 차분값을 나타내는 정보가 CTU 단위로 전송되지 않을 수 있고, 이를 통하여 디코딩 과정을 위한 정보 전송을 위한 비트량을 줄일 수 있고, 코딩 효율을 향상시킬 수 있다. 한편, 상기 초기 QP 에 대한 정보는 PPS(Picture Parameter Set)를 통하여 전송될 수 있고, 상기 초기 QP 에 대한 정보를 기반으로 상기 초기 QP 가 도출될 수 있다.
또한, 상기 대상 CTU 의 사이즈가 2Nx2N 인 경우, 상기 wavg 는 다음의 수학식을 기반으로 도출될 수 있다.
Figure PCTKR2018007542-appb-M000003
여기서, 상기 wavg 는 상기 대상 CTU 의 샘플들의 가중치들의 평균값을 나타낸다.
더불어, 상기 프로젝션된 픽처의 CTU들의 DAQP를 도출함에 있어서 상기 프로젝션된 픽처에 대한 프로젝션 타입의 3D 프로젝션 구조에 따른 영상의 불연속성이 고려될 수 있다. 구체적으로, 디코딩 장치는 상기 경계에 인접한 CTU들의 DAQP를 상기 페이스들의 경계에서의 불연속성을 고려하여 갱신할 수 있다.
도 7a 내지 도 7d는 프로젝션된 픽처 내 페이스의 경계 주변의 갱신된 DAQP가 도출되는 CTU 들을 나타낸다. 구체적으로, 디코딩 장치는 상기 프로젝션된 픽처의 프로젝션 타입에 대한 정보가 시그널링할 수 있고, 상기 정보를 기반으로 상기 프로젝션된 픽처의 페이스들의 구조 및 상기 페이스들의 경계의 위치를 도출할 수 있다. 다음으로, 디코딩 장치는 상기 경계에 인접한 CTU들의 DAQP를 상기 페이스들의 경계에서의 불연속성을 고려하여 갱신할 수 있다. 즉, 상기 프로젝션된 픽처의 프로젝션 타입을 기반으로 상기 갱신된 DAQP 가 도출되는 CTU들이 도출될 수 있고, 상기 CTU 들에 대한 갱신된 DAQP 가 도출될 수 있다. 상기 갱신된 DAQP는 DAQP'로 나타낼 수 있다. 상기 DAQP'는 다음의 수학식을 기반으로 도출될 수 있다.
Figure PCTKR2018007542-appb-M000004
DAQPi'는 대상 CTU의 갱신된 DAQP 를 나타내고, DAQPi 는 상기 대상 CTU 의 DAQP 를 나타내고, QPinit 는 상기 프로젝션된 픽처에 대한 초기(initial) QP를 나타낸다.
도 7a 및 도 7b를 참조하면 상기 ERP 를 기반으로 프로젝션된 픽처의 DAQP'가 도출되는 CTU들을 나타낼 수 있다. 한편, 도 7a 및 도 7b는 상기 360도 비디오 데이터가 상기 ERP 를 기반으로 프로젝션된 픽처 및 상기 프로젝션된 픽처의 CTU 들을 나타낼 수 있다. 상기 ERP 를 기반으로 프로젝션된 픽처는 하나의 페이스를 포함할 수 있다. 도 7a에 도시된 것과 같이 상기 ERP 를 기반으로 프로젝션된 픽처 내 상기 페이스의 좌측 경계 및 우측 경계에 인접한 CTU들에 대하여 DAQP'가 도출될 수 있다. 또는, 도 7b에 도시된 것과 같이 상기 ERP 를 기반으로 프로젝션된 픽처 내 상기 페이스의 좌측 경계, 우측 경계, 상측 경계 및 하측 경계에 인접한 CTU들에 대하여 DAQP'가 도출될 수도 있다.
도 7c를 참조하면 상기 CMP 를 기반으로 프로젝션된 픽처의 DAQP'가 도출되는 CTU들을 나타낼 수 있다. 한편, 도 7c는 상기 360도 비디오 데이터가 상기 CMP 를 기반으로 프로젝션된 픽처 및 상기 프로젝션된 픽처의 CTU 들을 나타낼 수 있다. 상기 CMP 를 기반으로 프로젝션된 픽처는 6개의 페이스들을 포함할 수 있다. 도 7c에 도시된 것과 같이 상기 CMP 를 기반으로 프로젝션된 픽처 내 상기 페이스들 간의 경계 중 3D 프로젝션 구조상에서의 불연속한 경계에 인접한 CTU들에 대하여 DAQP'가 도출될 수 있다. 구체적으로, 상기 프로젝션된 픽처의 좌상측 페이스의 좌측 경계, 상측 경계 및 하측 경계, 상측 페이스의 상측 경계 및 하측 경계, 우상측 페이스의 우측 경계, 상측 경계 및 하측 경계, 좌하측 페이스의 좌측 경계, 상측 경계 및 하측 경계, 하측 페이스의 상측 경계 및 하측 경계, 우하측 페이스의 우측 경계, 상측 경계 및 하측 경계에 인접한 CTU들에 대하여 DAQP'가 도출될 수 있다.
도 7d를 참조하면 상기 OHP 를 기반으로 프로젝션된 픽처의 DAQP'가 도출되는 CTU들을 나타낼 수 있다. 한편, 도 7d는 상기 360도 비디오 데이터가 상기 OHP 를 기반으로 프로젝션된 픽처 및 상기 프로젝션된 픽처의 CTU 들을 나타낼 수 있다. 도 7d에 도시된 것과 같이 상기 OHP 를 기반으로 프로젝션된 픽처 내 상기 페이스들 간의 경계 중 3D 프로젝션 구조상에서의 불연속한 경계에 인접한 CTU들에 대하여 DAQP'가 도출될 수 있다.
한편, 상기 DAQP'가 도출되는 상기 경계 주변의 CTU의 개수가 설정될 수 있다. 상기 DAQP'가 도출되는 상기 경계 주변의 CTU의 개수는 깊이(depth)라고 나타낼 수 있다. 예를 들어, 상기 프로젝션된 픽처에 대한 깊이 레벨이 1인 경우, 상기 프로젝션된 픽처의 페이스의 상기 경계에 인접한 CTU의 상기 DAQP'가 도출될 수 있고, 상기 프로젝션된 픽처에 대한 깊이 레벨이 2인 경우, 상기 프로젝션된 픽처의 페이스의 상기 경계에 인접한 CTU 및 상기 CTU 와 상기 경계와 반대 방향으로 인접한 CTU, 즉, 상기 경계에서 상기 페이스의 안쪽 방향으로 인접한 2개의 CTU들의 상기 DAQP'가 도출될 수 있다. 상기 프로젝션된 픽처에 대한 깊이 레벨이 3인 경우, 상기 프로젝션된 픽처의 페이스의 상기 경계에 인접한 CTU 및 상기 CTU 와 상기 경계와 반대 방향으로 인접한 CTU들, 즉, 상기 경계에서 상기 페이스의 안쪽 방향으로 인접한 3개의 CTU들의 상기 DAQP'가 도출될 수 있다. 상술한 도 7a 내지 도 7d는 상기 깊이 레벨이 1인 상기 프로젝션된 픽처를 나타낼 수 있다.
한편, 상기 프로젝션된 픽처의 DAQP를 도출하기 위한 정보는 다음의 표와 같이 나타낼 수 있다.
Figure PCTKR2018007542-appb-T000001
여기서, projection_format 은 상기 프로젝션된 픽처의 프로젝션 타입을 가리키는 신텍스(syntax), DAQP_enabled_flag 는 상기 프로젝션된 픽처의 DAQP 도출의 처리 단위에 대한 DAQP 가 도출되는지 여부를 가리키는 신텍스, DAQP_level 은 상기 처리 단위를 가리키는 신텍스, DAQP_depth 는 갱신된 DAQP, 즉, DAQP'가 도출되는 특정 경계 주변의 처리 단위의 개수를 가리키는 신텍스를 나타낸다.
예를 들어, 상기 projection_format은 상기 ERP, 상기 CMP, 상기 OHP, 상기 ISP, 상기 OHP, 상기 TSP, 상기 SSP 및 상기 EAP 중 하나를 상기 프로젝션된 픽처의 프로젝션 타입으로 가리킬 수 있다.
또한, 상기 DAQP_enabled_flag 는 상기 프로젝션된 픽처의 처리 단위에 대한 DAQP 가 도출되는지 여부를 가리킬 수 있다. 상기 DAQP_enabled_flag 의 값이 1인 경우, 상기 프로젝션된 픽처의 처리 단위에 대한 DAQP 가 도출될 수 있고, 상기 DAQP_enabled_flag 의 값이 0인 경우, 상기 프로젝션된 픽처의 처리 단위에 대한 DAQP 가 도출되지 않을 수 있다.
또한, DAQP_level 은 CU, CTU 및 슬라이스(slice) 중 하나를 상기 DAQP 도출의 처리 단위로 가리킬 수 있다. 예를 들어, 상기 DAQP_level의 값이 0인 경우, 상기 처리 단위는 CU로 도출될 수 있고, 이 경우, 상기 프로젝션된 픽처의 각 CU에 대한 DAQP 가 도출될 수 있다. 또한, 상기 DAQP_level의 값이 1인 경우, 상기 처리 단위는 CTU로 도출될 수 있고, 이 경우, 상기 프로젝션된 픽처의 각 CTU에 대한 DAQP 가 도출될 수 있다. 또한, 상기 DAQP_level의 값이 2인 경우, 상기 처리 단위는 슬라이스로 도출될 수 있고, 이 경우, 상기 프로젝션된 픽처의 각 슬라이스에 대한 DAQP 가 도출될 수 있다.
또한, DAQP_depth 는 상기 프로젝션 픽처 내 상기 DAQP'가 도출되는 특정 경계 주변의 처리 단위의 개수를 가리킬 수 있다. 예를 들어, 상기 DAQP_depth 의 값이 0인 경우, 상기 DAQP_depth 는 상기 프로젝션된 픽처에 대한 깊이 레벨이 1임을 나타낼 수 있고, 상기 프로젝션된 픽처의 페이스의 각 행 내 상기 특정 경계에 인접한 처리 단위의 DAQP'가 도출될 수 있다. 또한, 상기 DAQP_depth 의 값이 1인 경우, 상기 DAQP_depth 는 상기 프로젝션된 픽처에 대한 깊이 레벨이 2임을 나타낼 수 있고, 상기 프로젝션된 픽처의 페이스의 각 행 내 상기 특정 경계 주변의 2개의 처리 단위들의 DAQP'가 도출될 수 있다. 또한, 상기 DAQP_depth 의 값이 2인 경우, 상기 DAQP_depth 는 상기 프로젝션된 픽처에 대한 깊이 레벨이 3임을 나타낼 수 있고, 상기 프로젝션된 픽처의 페이스의 각 행 내 상기 특정 경계 주변의 3개의 처리 단위들의 DAQP'가 도출될 수 있다.
또한, face_enabled_flag는 페이스 가용 플래그를 나타내는 신텍스 요소를 나타낼 수 있고, face()는 상기 페이스에 대한 정보를 나타내는 신텍스 요소를 나타낼 수 있다. 상기 페이스 가용 플래그는 상기 프로젝션된 픽처가 복수의 페이스들로 구성되는지 여부를 나타낼 수 있다. 예를 들어, 상기 페이스 가용 플래그의 값이 1인 경우, 상기 페이스 가용 플래그가 상기 프로젝션된 픽처가 복수의 페이스들로 구성됨을 나타낼 수 있고, 상기 페이스 가용 플래그의 값이 0인 경우, 상기 페이스 가용 플래그가 상기 프로젝션된 픽처가 복수의 페이스들로 구성되지 않음을 나타낼 수 있다. 상기 페이스 가용 플래그의 값이 1인 경우, 즉, 상기 페이스 가용 플래그가 상기 프로젝션된 픽처가 복수의 페이스들로 구성됨을 나타내는 경우, 상기 프로젝션된 픽처의 페이스에 대한 정보가 시그널링될 수 있다.
도 8은 본 발명에 따른 인코딩 장치에 의한 비디오 인코딩 방법을 개략적으로 나타낸다. 도 8에서 개시된 방법은 도 3에서 개시된 인코딩 장치에 의하여 수행될 수 있다. 구체적으로 예를 들어, 도 8의 S800 내지 S810은 상기 인코딩 장치의 프로젝션 처리부에 의하여 수행될 수 있고, S820 내지 S840은 상기 인코딩 장치의 양자화부에 의하여 수행될 수 있고, S850은 상기 인코딩 장치의 양자화부 및 예측부에 의하여 수행될 수 있고, S860은 상기 인코딩 장치의 엔트로피 인코딩부에 의하여 수행될 수 있다.
인코딩 장치는 적어도 하나의 카메라에 의해 캡쳐된 360도 비디오 데이터를 획득한다(S800). 인코딩 장치는 적어도 하나의 카메라에 의해 캡쳐된 360도 비디오 데이터를 획득할 수 있다. 상기 360도 비디오 데이터는 적어도 하나의 카메라에 의해 캡처된 비디오일 수 있다.
인코딩 장치는 상기 360도 비디오 데이터를 처리하여 프로젝션된 픽처(projected picture)를 획득한다(S810). 인코딩 장치는 여러 프로젝션 타입(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 프로젝션 구조는 팔면체일 수 있다. 또한, 인코딩 장치는 상기 프로젝션된 픽처의 페이스들 각각을 회전, 재배열하거나, 각 페이스의 레졸루션을 변경하는 등의 처리를 수행할 수 있다.
인코딩 장치는 상기 프로젝션 타입을 기반으로 상기 프로젝션된 픽처의 가중치 맵(weight map)을 도출한다(S820). 상기 가중치 맵은 상기 프로젝션 타입에 따른 상기 프로젝션 픽처의 샘플들의 가중치들을 포함할 수 있다. 각 샘플의 가중치는 상기 각 샘플의 샘플값이 대응 샘플의 샘플값과 동일한 값이 되도록 하는 값으로, 상기 가중치와 상기 각 샘플의 샘플값를 곱한 값은 상기 대응 샘플의 샘플값과 동일할 수 있다. 여기서, 상기 대응 샘플은 상기 각 샘플과 대응하는 상기 3D 프로젝션 구조 상에서의 샘플을 나타낼 수 있다. 상기 프로젝션 타입에 따른 가중치 맵은 기저장될 수 있다. 상기 프로젝션 타입에 따른 가중치 맵은 상술한 도 6에 도시된 바와 같을 수 있다. 즉, 여러 프로젝션 타입들에 대한 가중치 맵들은 기저장될 수 있고, 상기 기저장된 가중치 맵들 중 프로젝션된 픽처의 프로젝션된 타입에 대한 가중치 맵이 도출될 수 있다.
인코딩 장치는 상기 프로젝션된 픽처의 양자화(quantization) 처리 단위들을 도출한다(S830). 인코딩 장치는 상기 프로젝션된 픽처의 양자화 처리 단위 레벨을 도출할 수 있고, 상기 양자화 처리 단위 레벨과 대응하는 블록들로 상기 양자화 처리 단위들을 도출할 수 있다. 예를 들어, 상기 양자화 처리 단위 레벨은 상기 프로젝션된 픽처의 CTU, CU, 페이스, 또는 슬라이스로 도출될 수 있다. 구체적으로, 상기 양자화 처리 단위 레벨이 상기 프로젝션된 픽처의 CTU(coding tree unit, CTU)로 도출된 경우, 상기 양자화 처리 단위들은 상기 CTU와 대응하는 블록들로 도출될 수 있다. 상기 양자화 처리 단위들의 사이즈는 상기 CTU의 사이즈와 동일할 수 있다. 예를 들어, 상기 CTU의 사이즈는 128x128 사이즈일 수 있고, 또는 256x256 사이즈일 수 있다.
다른 예로, 상기 양자화 처리 단위 레벨이 상기 프로젝션된 픽처의 CU(coding unit, CU)로 도출된 경우, 상기 양자화 처리 단위들은 상기 CU와 대응하는 블록들로 도출될 수 있다. 상기 양자화 처리 단위들의 사이즈는 상기 CU의 사이즈와 동일할 수 있다.
다른 예로, 상기 양자화 처리 단위 레벨이 상기 프로젝션된 픽처의 페이스(face)로 도출된 경우, 상기 양자화 처리 단위들은 상기 페이스와 대응하는 블록들로 도출될 수 있다. 상기 양자화 처리 단위들의 사이즈는 상기 페이스의 사이즈와 동일할 수 있다. 예를 들어, 상기 페이스의 사이즈는 960x960 사이즈일 수 있다.
다른 예로, 상기 양자화 처리 단위 레벨이 상기 프로젝션된 픽처의 슬라이스(slice)로 도출된 경우, 상기 양자화 처리 단위들은 상기 슬라이스와 대응하는 블록들로 도출될 수 있다. 상기 양자화 처리 단위들의 사이즈는 상기 슬라이스의 사이즈와 동일할 수 있다.
한편, 인코딩 장치는 상기 양자화 처리 단위들의 레벨(level)을 나타내는 DAQP 레벨 정보를 생성할 수 있다. 상기 DAQP 레벨 정보에 대한 신텍스 요소는 DAQP_level 이라고 나타낼 수 있다. 상기 DAQP 레벨 정보는 CTU(coding tree unit), CU(coding unit), 페이스 또는 슬라이스를 나타낼 수 있다. 예를 들어, 상기 DAQP 레벨 정보의 값이 0 인 경우, 상기 DAQP 레벨 정보는 상기 CU 를 나타낼 수 있고, 상기 DAQP 레벨 정보의 값이 1 인 경우, 상기 DAQP 레벨 정보는 상기 CTU 를 나타낼 수 있고, 상기 DAQP 레벨 정보의 값이 2 인 경우, 상기 DAQP 레벨 정보는 상기 슬라이스를 나타낼 수 있다.
인코딩 장치는 상기 가중치 맵을 기반으로 상기 양자화 처리 단위들 각각에 대한 DAQP(Decoder side Adaptive Quantization Parameter)를 도출한다(S840). 인코딩 장치는 상기 프로젝션된 픽처에 대한 초기(initial) QP(quantization parameter)를 도출할 수 있고, 상기 가중치 맵을 기반으로 상기 각 양자화 처리 단위의 샘플들의 가중치들을 도출할 수 있다. 다음으로, 인코딩 장치는 상기 가중치들의 평균값을 도출할 수 있고, 상기 초기 QP 및 상기 평균값을 기반으로 상기 각 양자화 처리 단위의 상기 DAQP를 도출할 수 있다. 상기 가중치들의 평균값은 상술한 수학식 3을 기반으로 도출될 수 있다. 또한, 상기 각 양자화 처리 단위의 상기 DAQP는 상술한 수학식 2를 기반으로 도출될 수 있다. 한편, 인코딩 장치는 상기 초기 QP에 대한 정보를 생성하여 인코딩할 수 있다.
한편, 인코딩 장치는 상기 프로젝션된 픽처의 갱신 영역을 도출할 수 있고, 상기 갱신 영역에 포함된 양자화 처리 단위의 DAQP 를 갱신하여 갱신된 DAQP 를 도출할 수 있다. 상기 갱신된 DAQP 는 DAQP'라고 나타낼 수 있다. 구체적으로, 인코딩 장치는 상기 프로젝션 타입을 기반으로 상기 프로젝션된 픽처의 페이스의 특정 경계를 도출할 수 있고, 상기 360 비디오 정보를 기반으로 상기 특정 경계에 인접한 갱신 영역을 도출할 수 있다. 상기 프로젝션 타입에 따른 페이스의 특정 경계에 대한 정보는 기저장될 수 있다. 즉, 여러 프로젝션 타입들에 대한 페이스의 특정 경계에 대한 정보는 기저장될 수 있고, 상기 프로젝션된 픽처의 프로젝션된 타입에 대한 페이스의 특정 경계에 대한 정보를 기반으로 상기 프로젝션된 픽처의 상기 페이스의 상기 특정 경계가 도출될 수 있다.
또한, 상기 갱신 영역은 상기 특정 경계에서 안쪽 방향으로 특정 개수의 양자화 처리 단위를 포함할 수 있다. 여기서, 상기 특정 개수는 상기 갱신 영역의 깊이라고 나타낼 수 있다. 인코딩 장치는 상기 특정 개수, 즉, 상기 갱신 영역의 깊이(depth)을 나타내는 DAQP 깊이 정보를 생성할 수 있다. 예를 들어, 상기 DAQP 깊이 정보의 값이 1인 경우, 상기 갱신 영역은 상기 특정 경계에서 안쪽 방향으로 1개의 양자화 처리 단위를 포함할 수 있고, 상기 DAQP 깊이 정보의 값이 2인 경우, 상기 갱신 영역은 상기 특정 경계에서 안쪽 방향으로 2개의 양자화 처리 단위들을 포함할 수 있고, 상기 DAQP 깊이 정보의 값이 3인 경우, 상기 갱신 영역은 상기 특정 경계에서 안쪽 방향으로 3개의 양자화 처리 단위들을 포함할 수 있다.
인코딩 장치는 상기 DAQP를 기반으로 상기 각 양자화 처리 단위에 대한 양자화를 수행한다(S850). 상기 양자화 처리 단위에 대하여 디코딩이 수행되는 경우, 인코딩 장치는 상기 양자화 처리 단위에 대한 예측 샘플들을 도출할 수 있고, 원본 샘플들과 상기 도출된 예측 샘플들을 기반으로 레지듀얼(residual) 샘플들을 생성할 수 있다. 또한, 인코딩 장치는 상기 각 양자화 처리 단위에 대한 레지듀얼 샘플들을 변환하여 변환 계수들을 도출할 수 있고, 상기 DAQP 를 기반으로 변환 계수들을 양자화하여 양자화된 변환 계수들을 포함하는 상기 각 양자화 처리 단위의 레지듀얼에 관한 정보를 출력할 수 있다. 즉, 상기 레지듀얼에 관한 정보는 상기 레지듀얼 샘플에 관한 양자화된 변환 계수들을 포함할 수 있다. 인코딩 장치는 상기 예측 샘플과 상기 레지듀얼 샘플을 기반으로 복원 샘플을 도출할 수 있다. 즉, 인코딩 장치는 상기 예측 샘플과 상기 레지듀얼 샘플을 더하여 상기 복원 샘플을 도출할 수 있다. 또한, 인코딩 장치는 상기 레지듀얼에 관한 정보를 인코딩하여 비트스트림 형태로 출력할 수 있다. 상기 비트스트림은 네트워크 또는 저장매체를 통하여 디코딩 장치로 전송될 수 있다.
인코딩 장치는 상기 프로젝션된 픽처에 대한 360도 비디오 정보를 인코딩하여 출력한다(S860). 인코딩 장치는 상기 프로젝션된 픽처에 대한 상기 360도 비디오 정보를 생성할 수 있고, 상기 360 비디오 정보를 인코딩하여 비트스트림을 통하여 출력할 수 있다. 상기 360 비디오 정보는 슬라이스 헤더(slice header), SPS(sequence parameter set) 등과 같은 상위 레벨 신텍스(high level syntax)를 통하여 시그널링될 수 있다.
상기 360 비디오 정보는 상기 프로젝션된 픽처의 상기 프로젝션 타입을 나타내는 프로젝션 타입 정보를 포함할 수 있다. 여기서, 상기 프로젝션 타입은 상술한 Equirectangular Projection(ERP), cube map projection(CMP), Icosahedral Projection(ISP), Octahedron Projection(OHP), Truncated Square Pyramid projection (TSP), Segmented Sphere Projection(SSP) 및 Equal Area Projection(EAP) 중 하나일 수 있다. 즉, 상기 프로젝션된 픽처의 상기 프로젝션 타입은 여러 프로젝션 타입들 중 하나일 수 있고, 상기 여러 프로젝션 타입들은 상술한 Equirectangular Projection (ERP), cube map projection(CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP), Truncated Square Pyramid projection (TSP), Segmented Sphere Projection (SSP) 및 Equal Area Projection (EAP) 을 포함할 수 있다.
또한, 상기 360 비디오 정보는 양자화 처리 단위들의 레벨(level)을 나타내는 DAQP 레벨 정보를 포함할 수 있다. 상기 DAQP 레벨 정보에 대한 신텍스 요소는 DAQP_level 이라고 나타낼 수 있다. 상기 DAQP 레벨 정보는 CTU(coding tree unit), CU(coding unit), 페이스 또는 슬라이스를 나타낼 수 있다. 예를 들어, 상기 DAQP 레벨 정보의 값이 0 인 경우, 상기 DAQP 레벨 정보는 상기 CU 를 나타낼 수 있고, 상기 DAQP 레벨 정보의 값이 1 인 경우, 상기 DAQP 레벨 정보는 상기 CTU 를 나타낼 수 있고, 상기 DAQP 레벨 정보의 값이 2 인 경우, 상기 DAQP 레벨 정보는 상기 슬라이스를 나타낼 수 있다. 상기 양자화 처리 단위들은 상기 DAQP 레벨 정보가 나타내는 레벨과 대응하는 블록들로 도출될 수 있다. 또한, 상기 DAQP 레벨 정보는 PPS(picture parameter set)를 통하여 시그널링될 수 있다. 또는, 상기 DAQP 레벨 정보는 슬라이스 헤더(slice header), SPS(sequence parameter set) 등과 같은 상위 레벨 신텍스(high level syntax)를 통하여 시그널링될 수 있다.
또한, 상기 360 비디오 정보는 갱신 영역의 깊이(depth)을 나타내는 DAQP 깊이 정보를 포함할 수 있다. 상기 갱신 영역은 상기 특정 경계에서 안쪽 방향으로 상기 DAQP 깊이 정보가 나타내는 값의 개수의 양자화 처리 단위를 포함할 수 있다.
또한, 상기 360 비디오 정보는 DAQP 가용 플래그를 포함할 수 있다. 상기 DAQP 가용 플래그는 가중치 맵을 기반으로 상기 양자화 처리 단위들 각각에 대한 DAQP를 도출하는지 여부를 나타낼 수 있다. 예를 들어, 상기 DAQP 가용 플래그의 값이 1인 경우, 상기 DAQP 가용 플래그는 상기 가중치 맵을 기반으로 상기 양자화 처리 단위들 각각에 대한 DAQP 가 도출됨을 나타낼 수 있고, 상기 DAQP 가용 플래그의 값이 0인 경우, 상기 DAQP 가용 플래그는 상기 가중치 맵을 기반으로 상기 양자화 처리 단위들 각각에 대한 DAQP 가 도출되지 않을 나타낼 수 있다. 즉, 상기 DAQP 가용 플래그의 값이 1인 경우, 상기 가중치 맵을 기반으로 상기 양자화 처리 단위들 각각에 대한 DAQP 가 도출될 수 있고, 상기 DAQP 가용 플래그의 값이 0인 경우, 상기 양자화 처리 단위들 각각에 대한 DAQP 가 도출되지 않고, 기존의 QP(quantization parameter)가 도출될 수 있다.
도 9는 본 발명에 따른 디코딩 장치에 의한 비디오 디코딩 방법을 개략적으로 나타낸다. 도 9에서 개시된 방법은 도 4에서 개시된 디코딩 장치에 의하여 수행될 수 있다. 구체적으로 예를 들어, 도 9의 S900은 상기 디코딩 장치의 엔트로피 디코딩부에 의하여 수행될 수 있고, S910 내지 S940은 상기 디코딩 장치의 역양자화부에 의하여 수행될 수 있고, S950은 상기 디코딩 장치의 역양자화부 및 예측부에 의하여 수행될 수 있다.
디코딩 장치는 360도 비디오 정보를 수신한다(S900). 디코딩 장치는 비트스트림을 통하여 상기 360도 비디오 정보를 수신할 수 있다.
상기 360 비디오 정보는 상기 프로젝션된 픽처의 상기 프로젝션 타입을 나타내는 프로젝션 타입 정보를 포함할 수 있다. 상기 프로젝션된 픽처의 상기 프로젝션 타입은 상기 프로젝션 타입 정보를 기반으로 도출될 수 있다. 여기서, 상기 프로젝션 타입은 상술한 Equirectangular Projection(ERP), cube map projection(CMP), Icosahedral Projection(ISP), Octahedron Projection(OHP), Truncated Square Pyramid projection (TSP), Segmented Sphere Projection(SSP) 및 Equal Area Projection(EAP) 중 하나일 수 있다. 즉, 상기 프로젝션된 픽처의 상기 프로젝션 타입은 여러 프로젝션 타입들 중 하나일 수 있고, 상기 여러 프로젝션 타입들은 상술한 Equirectangular Projection (ERP), cube map projection(CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP), Truncated Square Pyramid projection (TSP), Segmented Sphere Projection (SSP) 및 Equal Area Projection (EAP) 을 포함할 수 있다.
또한, 상기 360 비디오 정보는 양자화 처리 단위들의 레벨(level)을 나타내는 DAQP 레벨 정보를 포함할 수 있다. 상기 DAQP 레벨 정보에 대한 신텍스 요소는 DAQP_level 이라고 나타낼 수 있다. 상기 DAQP 레벨 정보는 CTU(coding tree unit), CU(coding unit), 페이스 또는 슬라이스를 나타낼 수 있다. 예를 들어, 상기 DAQP 레벨 정보의 값이 0 인 경우, 상기 DAQP 레벨 정보는 상기 CU 를 나타낼 수 있고, 상기 DAQP 레벨 정보의 값이 1 인 경우, 상기 DAQP 레벨 정보는 상기 CTU 를 나타낼 수 있고, 상기 DAQP 레벨 정보의 값이 2 인 경우, 상기 DAQP 레벨 정보는 상기 슬라이스를 나타낼 수 있다. 상기 양자화 처리 단위들은 상기 DAQP 레벨 정보가 나타내는 레벨과 대응하는 블록들로 도출될 수 있다. 또한, 상기 DAQP 레벨 정보는 PPS(picture parameter set)를 통하여 수신될 수 있다. 또는, 상기 DAQP 레벨 정보는 슬라이스 헤더(slice header), SPS(sequence parameter set) 등과 같은 상위 레벨 신텍스(high level syntax)를 통하여 수신될 수 있다.
또한, 상기 360 비디오 정보는 갱신 영역의 깊이(depth)을 나타내는 DAQP 깊이 정보를 포함할 수 있다. 상기 갱신 영역은 상기 프로젝션된 픽처의 페이스의 특정 경계에 인접한 영역일 수 있다. 또한, 상기 갱신 영역은 상기 특정 경계에서 안쪽 방향으로 상기 DAQP 깊이 정보가 나타내는 값의 개수의 양자화 처리 단위를 포함할 수 있다.
또한, 상기 360 비디오 정보는 DAQP 가용 플래그를 포함할 수 있다. 상기 DAQP 가용 플래그는 가중치 맵을 기반으로 상기 양자화 처리 단위들 각각에 대한 DAQP를 도출하는지 여부를 나타낼 수 있다. 예를 들어, 상기 DAQP 가용 플래그의 값이 1인 경우, 상기 DAQP 가용 플래그는 상기 가중치 맵을 기반으로 상기 양자화 처리 단위들 각각에 대한 DAQP 가 도출됨을 나타낼 수 있고, 상기 DAQP 가용 플래그의 값이 0인 경우, 상기 DAQP 가용 플래그는 상기 가중치 맵을 기반으로 상기 양자화 처리 단위들 각각에 대한 DAQP 가 도출되지 않을 나타낼 수 있다. 즉, 상기 DAQP 가용 플래그의 값이 1인 경우, 상기 가중치 맵을 기반으로 상기 양자화 처리 단위들 각각에 대한 DAQP 가 도출될 수 있고, 상기 DAQP 가용 플래그의 값이 0인 경우, 상기 양자화 처리 단위들 각각에 대한 DAQP 가 도출되지 않고, 기존의 QP(quantization parameter)가 도출될 수 있다.
디코딩 장치는 상기 360 비디오 정보를 기반으로 프로젝션된 픽처의 프로젝션 타입을 도출한다(S910). 상기 360 비디오 정보는 상기 프로젝션된 픽처의 상기 프로젝션 타입을 나타내는 프로젝션 타입 정보를 포함할 수 있고, 상기 프로젝션된 픽처의 상기 프로젝션 타입은 상기 프로젝션 타입 정보를 기반으로 도출될 수 있다. 여기서, 상기 프로젝션 타입은 Equirectangular Projection(ERP), cube map projection(CMP), Icosahedral Projection(ISP), Octahedron Projection(OHP), Truncated Square Pyramid projection (TSP), Segmented Sphere Projection(SSP) 및 Equal Area Projection(EAP) 중 하나일 수 있다.
360도 비디오 데이터는 각 프로젝션 타입의 3D 프로젝션 구조의 페이스(face)들에 맵핑될 수 있고, 상기 페이스들은 상기 프로젝션된 픽처에 프로젝션될 수 있다. 즉, 상기 프로젝션된 픽처는 각 프로젝션 타입의 3D 프로젝션 구조의 페이스들을 포함할 수 있다. 예를 들어, 상기 프로젝션된 픽처는 상기 CMP를 기반으로 상기 360도 비디오 데이터가 프로젝션된 픽처일 수 있다. 이 경우, 상기 360도 비디오 데이터는 상기 CMP의 3D 프로젝션 구조인 큐브의 6개의 페이스들에 맵핑될 수 있고, 상기 페이스들은 상기 프로젝션된 픽처에 프로젝션될 수 있다. 다른 예로, 상기 프로젝션된 픽처는 상기 ISP 를 기반으로 상기 360도 비디오 데이터가 프로젝션된 픽처일 수 있다. 이 경우, 상기 360도 비디오 데이터는 상기 ISP의 3D 프로젝션 구조인 이십면체의 20개의 페이스들에 맵핑될 수 있고, 상기 페이스들은 상기 프로젝션된 픽처에 프로젝션될 수 있다. 다른 예로, 상기 프로젝션된 픽처는 상기 OHP 를 기반으로 상기 360도 비디오 데이터가 프로젝션된 픽처일 수 있다. 이 경우, 상기 360도 비디오 데이터는 상기 OHP의 3D 프로젝션 구조인 이십면체의 8개의 페이스들에 맵핑될 수 있고, 상기 페이스들은 상기 프로젝션된 픽처에 프로젝션될 수 있다.
디코딩 장치는 상기 프로젝션 타입을 기반으로 상기 프로젝션된 픽처의 가중치 맵(weight map)을 도출한다(S920). 상기 가중치 맵은 상기 프로젝션 타입에 따른 상기 프로젝션 픽처의 샘플들의 가중치들을 포함할 수 있다. 각 샘플의 가중치는 상기 각 샘플의 샘플값이 대응 샘플의 샘플값과 동일한 값이 되도록 하는 값으로, 상기 가중치와 상기 각 샘플의 샘플값를 곱한 값은 상기 대응 샘플의 샘플값과 동일할 수 있다. 여기서, 상기 대응 샘플은 상기 각 샘플과 대응하는 상기 3D 프로젝션 구조 상에서의 샘플을 나타낼 수 있다. 상기 프로젝션 타입에 따른 가중치 맵은 기저장될 수 있다. 상기 프로젝션 타입에 따른 가중치 맵은 상술한 도 6에 도시된 바와 같을 수 있다. 즉, 여러 프로젝션 타입들에 대한 가중치 맵들은 기저장될 수 있고, 상기 기저장된 가중치 맵들 중 프로젝션된 픽처의 프로젝션된 타입에 대한 가중치 맵이 도출될 수 있다.
디코딩 장치는 상기 프로젝션된 픽처의 양자화(quantization) 처리 단위들을 도출한다(S930). 디코딩 장치는 상기 비트스트림으로부터 획득한 양자화 처리 단위들의 레벨(level)을 나타내는 DAQP 레벨 정보를 기반으로 상기 프로젝션된 픽처의 양자화 처리 단위 레벨을 도출할 수 있다. 즉, 상기 양자화 처리 단위 레벨은 상기 프로젝션된 픽처의 상기 DAQP 레벨 정보를 기반으로 도출될 수 있다. 예를 들어, 상기 DAQP 레벨 정보는 CTU(coding tree unit, CTU), CU(coding unit, CU), 페이스(face) 또는 상기 슬라이스(slice)를 나타낼 수 있다. 즉, 상기 DAQP 레벨 정보를 기반으로 상기 양자화 처리 단위 레벨은 상기 프로젝션된 픽처의 CTU, CU, 페이스, 또는 슬라이스로 도출될 수 있다. 상기 양자화 처리 단위들은 상기 DAQP 레벨 정보가 나타내는 상기 양자화 처리 단위 레벨과 대응하는 블록들로 도출될 수 있다. 예를 들어, 상기 양자화 처리 단위 레벨이 상기 프로젝션된 픽처의 CTU(coding tree unit, CTU)로 도출된 경우, 상기 양자화 처리 단위들은 상기 CTU와 대응하는 블록들로 도출될 수 있다. 상기 양자화 처리 단위들의 사이즈는 상기 CTU의 사이즈와 동일할 수 있다. 예를 들어, 상기 CTU의 사이즈는 128x128 사이즈일 수 있고, 또는 256x256 사이즈일 수 있다.
다른 예로, 상기 양자화 처리 단위 레벨이 상기 프로젝션된 픽처의 CU(coding unit, CU)로 도출된 경우, 상기 양자화 처리 단위들은 상기 CU와 대응하는 블록들로 도출될 수 있다. 상기 양자화 처리 단위들의 사이즈는 상기 CU의 사이즈와 동일할 수 있다.
다른 예로, 상기 양자화 처리 단위 레벨이 상기 프로젝션된 픽처의 페이스(face)로 도출된 경우, 상기 양자화 처리 단위들은 상기 페이스와 대응하는 블록들로 도출될 수 있다. 상기 양자화 처리 단위들의 사이즈는 상기 페이스의 사이즈와 동일할 수 있다. 예를 들어, 상기 페이스의 사이즈는 960x960 사이즈일 수 있다.
다른 예로, 상기 양자화 처리 단위 레벨이 상기 프로젝션된 픽처의 슬라이스(slice)로 도출된 경우, 상기 양자화 처리 단위들은 상기 슬라이스와 대응하는 블록들로 도출될 수 있다. 상기 양자화 처리 단위들의 사이즈는 상기 슬라이스의 사이즈와 동일할 수 있다.
디코딩 장치는 상기 가중치 맵을 기반으로 상기 양자화 처리 단위들 각각에 대한 DAQP(Decoder side Adaptive Quantization Parameter)를 도출한다(S940). 디코딩 장치는 상기 프로젝션된 픽처에 대한 초기(initial) QP(quantization parameter)를 도출할 수 있고, 상기 가중치 맵을 기반으로 상기 각 양자화 처리 단위의 샘플들의 가중치들을 도출할 수 있다. 다음으로, 디코딩 장치는 상기 가중치들의 평균값을 도출할 수 있고, 상기 초기 QP 및 상기 평균값을 기반으로 상기 각 양자화 처리 단위의 상기 DAQP를 도출할 수 있다. 상기 가중치들의 평균값은 상술한 수학식 3을 기반으로 도출될 수 있다. 또한, 상기 각 양자화 처리 단위의 상기 DAQP는 상술한 수학식 2를 기반으로 도출될 수 있다. 또한, 상기 초기 QP는 상기 초기 QP에 대한 정보를 기반으로 도출될 수 있고, 상기 초기 QP에 대한 정보는 PPS(Picture Parameter Set)를 통하여 전송될 수 있다.
한편, 디코딩 장치는 상기 프로젝션된 픽처의 갱신 영역을 도출할 수 있고, 상기 갱신 영역에 포함된 양자화 처리 단위의 DAQP 를 갱신하여 갱신된 DAQP 를 도출할 수 있다. 상기 갱신된 DAQP 는 DAQP'라고 나타낼 수 있다. 구체적으로, 디코딩 장치는 상기 프로젝션 타입을 기반으로 상기 프로젝션된 픽처의 페이스의 특정 경계를 도출할 수 있고, 상기 360 비디오 정보를 기반으로 상기 특정 경계에 인접한 갱신 영역을 도출할 수 있다. 상기 프로젝션 타입에 따른 페이스의 특정 경계에 대한 정보는 기저장될 수 있다. 즉, 여러 프로젝션 타입들에 대한 페이스의 특정 경계에 대한 정보는 기저장될 수 있고, 상기 프로젝션된 픽처의 프로젝션된 타입에 대한 페이스의 특정 경계에 대한 정보를 기반으로 상기 프로젝션된 픽처의 상기 페이스의 상기 특정 경계가 도출될 수 있다.
또한, 상기 360 비디오 정보는 상기 갱신 영역의 깊이(depth)을 나타내는 DAQP 깊이 정보를 포함할 수 있고, 상기 갱신 영역은 상기 특정 경계에서 안쪽 방향으로 상기 DAQP 깊이 정보가 나타내는 값의 개수의 양자화 처리 단위를 포함할 수 있다. 예를 들어, 상기 DAQP 깊이 정보의 값이 1인 경우, 상기 갱신 영역은 상기 특정 경계에서 안쪽 방향으로 1개의 양자화 처리 단위를 포함할 수 있고, 상기 DAQP 깊이 정보의 값이 2인 경우, 상기 갱신 영역은 상기 특정 경계에서 안쪽 방향으로 2개의 양자화 처리 단위들을 포함할 수 있고, 상기 DAQP 깊이 정보의 값이 3인 경우, 상기 갱신 영역은 상기 특정 경계에서 안쪽 방향으로 3개의 양자화 처리 단위들을 포함할 수 있다.
디코딩 장치는 상기 DAQP를 기반으로 상기 각 양자화 처리 단위에 대한 디코딩을 수행한다(S950). 디코딩 장치는 상기 각 양자화 처리 단위에 대한 변환 계수들을 상기 DAQP 를 기반으로 역양자화된 변환 계수를 출력할 수 있고, 상기 역양자화된 변환 계수들을 역변환하여 상기 각 양자화 처리 단위에 대한 레지듀얼 샘플들을 유도할 수 있다. 또한, 디코딩 장치는 상기 각 양자화 처리 단위에 대한 예측을 수행하여 예측 샘플들을 생성할 수 있고, 상기 예측 샘플들에 레지듀얼 샘플들을 더하여 상기 각 양자화 처리 단위에 대한 복원 샘플들을 생성할 수도 있다.
한편, 비록 도면에서 도시되지는 않았으나 상기 각 양자화 처리 단위에 대한 레지듀얼 샘플이 존재하는 경우, 디코딩 장치는 상기 각 양자화 처리 단위에 대한 레지듀얼에 관한 정보를 수신할 수 있고, 상기 레지듀얼에 관한 정보는 상기 페이스에 대한 정보에 포함될 수 있다. 상기 레지듀얼에 관한 정보는 상기 레지듀얼 샘플에 관한 변환 계수를 포함할 수 있다. 디코딩 장치는 상기 레지듀얼 정보를 기반으로 상기 대상 블록에 대한 상기 레지듀얼 샘플(또는 레지듀얼 샘플 어레이)을 도출할 수 있다. 디코딩 장치는 상기 예측 샘플과 상기 레지듀얼 샘플을 기반으로 복원 샘플을 생성할 수 있고, 상기 복원 샘플을 기반으로 복원 블록 또는 복원 픽처를 도출할 수 있다. 이후 디코딩 장치는 필요에 따라 주관적/객관적 화질을 향상시키기 위하여 디블록킹 필터링 및/또는 SAO 절차와 같은 인루프 필터링 절차를 상기 복원 픽처에 적용할 수 있음은 상술한 바와 같다.
한편, 비록 도면에서 도시되지는 않았으나, 디코딩 장치는 상기 디코딩된 프로젝션된 픽처의 360도 비디오 데이터를 3D 공간으로 맵핑할 수 있다. 즉, 디코딩 장치는 상기 프로젝션된 픽처를 상기 3D 공간으로 리-프로젝션(re-projection)할 수 있다.
상술한 본 발명에 따르면 360도 비디오에 대한 프로젝션된 픽처의 프로젝션 타입을 기반으로 양자화 처리 단위에 대한 DAQP(Decoder side Adaptive Quantization Parameter)을 도출할 수 있고, 이를 통하여 기하학적 구조를 반영하여 양자화 과정을 수행할 수 있고, 전반적인 코딩 효율을 향상시킬 수 있다.
또한, 본 발명에 따르면 프로젝션된 픽처의 불연속성이 발생하는 페이스의 특정 경계에 인접한 양자화 처리 단위에 대한 갱신된 DAQP(Decoder side Adaptive Quantization Parameter)를 도출할 수 있고, 이를 통하여 상기 프로젝션된 픽처의 불연속성으로 인한 아티팩트(artifact)의 발생을 줄일 수 있고, 전반적인 코딩 효율을 향상시킬 수 있다.
상술한 실시예에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당업자라면 순서도에 나타내어진 단계들이 배타적이지 않고, 다른 단계가 포함되거나 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
상술한 본 발명에 따른 방법은 소프트웨어 형태로 구현될 수 있으며, 본 발명에 따른 인코딩 장치 및/또는 디코딩 장치는 예를 들어 TV, 컴퓨터, 스마트폰, 셋톱박스, 디스플레이 장치 등의 영상 처리를 수행하는 장치에 포함될 수 있다.
본 발명에서 실시예들이 소프트웨어로 구현될 때, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리에 저장되고, 프로세서에 의해 실행될 수 있다. 메모리는 프로세서 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서와 연결될 수 있다. 프로세서는 ASIC(application-specific integrated circuit), 다른 칩셋, 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리는 ROM(read-only memory), RAM(random access memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다.

Claims (15)

  1. 디코딩 장치에 의하여 수행되는 비디오 디코딩 방법에 있어서,
    360도 비디오 정보를 수신하는 단계;
    상기 360 비디오 정보를 기반으로 프로젝션된 픽처의 프로젝션 타입을 도출하는 단계;
    상기 프로젝션 타입을 기반으로 상기 프로젝션된 픽처의 가중치 맵(weight map)을 도출하는 단계;
    상기 프로젝션된 픽처의 양자화(quantization) 처리 단위들을 도출하는 단계;
    상기 가중치 맵을 기반으로 상기 양자화 처리 단위들 각각에 대한 DAQP(Decoder side Adaptive Quantization Parameter)를 도출하는 단계; 및
    상기 DAQP를 기반으로 상기 각 양자화 처리 단위에 대한 디코딩을 수행하는 단계를 포함하는 것을 특징으로 하는 영상 디코딩 방법.
  2. 제1항에 있어서,
    상기 360 비디오 정보는 상기 양자화 처리 단위들의 레벨(level)을 나타내는 DAQP 레벨 정보를 포함하고,
    상기 양자화 처리 단위들은 상기 DAQP 레벨 정보가 나타내는 레벨과 대응하는 블록들로 도출되는 것을 특징으로 하는 영상 디코딩 방법.
  3. 제2항에 있어서,
    상기 DAQP 레벨 정보는 CTU(coding tree unit), CU(coding unit) 또는 슬라이스를 나타내는 것을 특징으로 하는 영상 디코딩 방법.
  4. 제1항에 있어서,
    상기 360 비디오 정보는 상기 프로젝션된 픽처의 상기 프로젝션 타입을 나타내는 프로젝션 타입 정보를 포함하고,
    상기 프로젝션된 픽처의 상기 프로젝션 타입은 상기 프로젝션 타입 정보를 기반으로 도출되되,
    상기 프로젝션 타입은 ERP(Equirectangular Projection), CMP(Cube Map Projection), ISP(Icosahedral Projection), OHP(Octahedron Projection), SSP(Segmented Sphere Projection) 및 EAP(Equal Area Projection) 중 하나인 것을 특징으로 하는 영상 디코딩 방법.
  5. 제1항에 있어서,
    상기 가중치 맵은 상기 프로젝션 타입에 따른 상기 프로젝션 픽처의 샘플들의 가중치들을 포함하는 것을 특징으로 하는 영상 디코딩 방법.
  6. 제5항에 있어서,
    상기 가중치 맵을 기반으로 상기 양자화 처리 단위들 각각에 대한 상기 DAQP를 도출하는 단계는,
    상기 프로젝션된 픽처에 대한 초기(initial) QP(quantization parameter)를 도출하는 단계;
    상기 가중치 맵을 기반으로 상기 각 양자화 처리 단위의 샘플들의 가중치들을 도출하고, 상기 가중치들의 평균값을 도출하는 단계; 및
    상기 초기 QP 및 상기 평균값을 기반으로 상기 각 양자화 처리 단위의 상기 DAQP를 도출하는 단계를 포함하는 특징으로 하는 영상 디코딩 방법.
  7. 제6항에 있어서,
    상기 각 양자화 처리 단위의 상기 DAQP는 다음의 수학식을 기반으로 도출되고,
    Figure PCTKR2018007542-appb-I000001
    여기서, DAQPi 는 상기 각 양자화 처리 단위의 상기 DAQP, QPinit 는 상기 프로젝션된 픽처에 대한 초기(initial) QP, wavg 는 상기 가중치들의 상기 평균값을 나타내는 것을 특징으로 하는 영상 디코딩 방법.
  8. 제6항에 있어서,
    상기 프로젝션 타입을 기반으로 상기 프로젝션된 픽처의 페이스의 특정 경계를 도출하는 단계;
    상기 360 비디오 정보를 기반으로 상기 특정 경계에 인접한 갱신 영역을 도출하는 단계; 및
    상기 갱신 영역에 포함된 양자화 처리 단위의 DAQP 를 갱신하여 갱신된 DAQP 를 도출하는 단계를 포함하는 것을 특징으로 하는 영상 디코딩 방법.
  9. 제8항에 있어서,
    상기 360 비디오 정보는 상기 갱신 영역의 깊이(depth)을 나타내는 DAQP 깊이 정보를 포함하고,
    상기 갱신 영역은 상기 특정 경계에서 안쪽 방향으로 상기 DAQP 깊이 정보가 나타내는 값의 개수의 양자화 처리 단위를 포함하는 것을 특징으로 하는 영상 디코딩 방법.
  10. 제8항에 있어서,
    상기 갱신된 DAQP는 다음의 수학식을 기반으로 도출되고,
    Figure PCTKR2018007542-appb-I000002
    여기서, DAQPi'는 상기 갱신 영역에 포함된 상기 양자화 처리 단위의 상기 갱신된 DAQP, DAQPi는 상기 갱신 영역에 포함된 상기 양자화 처리 단위의 상기 DAQP, QPinit 는 상기 프로젝션된 픽처에 대한 초기(initial) QP 를 나타내는 것을 특징으로 하는 영상 디코딩 방법.
  11. 제1항에 있어서,
    상기 360 비디오 정보는 DAQP 가용 플래그를 포함하고,
    상기 DAQP 가용 플래그는 상기 가중치 맵을 기반으로 상기 양자화 처리 단위들 각각에 대한 DAQP를 도출하는지 여부를 나타내는 것을 특징으로 하는 영상 디코딩 방법.
  12. 영상 디코딩을 수행하는 디코딩 장치에 있어서,
    360도 비디오 정보를 수신하는 엔트로피 디코딩부;
    상기 360 비디오 정보를 기반으로 프로젝션된 픽처의 프로젝션 타입을 도출하고, 상기 프로젝션 타입을 기반으로 상기 프로젝션된 픽처의 가중치 맵(weight map)을 도출하고, 상기 프로젝션된 픽처의 양자화(quantization) 처리 단위들을 도출하고, 상기 가중치 맵을 기반으로 상기 양자화 처리 단위들 각각에 대한 DAQP(Decoder side Adaptive Quantization Parameter)를 도출하고, 상기 DAQP를 기반으로 상기 각 양자화 처리 단위에 대한 디코딩을 수행하는 역양자화부를 포함하는 것을 특징으로 하는 디코딩 장치.
  13. 제12항에 있어서,
    상기 360 비디오 정보는 상기 양자화 처리 단위들의 레벨(level)을 나타내는 DAQP 레벨 정보를 포함하고,
    상기 양자화 처리 단위들은 상기 DAQP 레벨 정보가 나타내는 레벨과 대응하는 블록들로 도출되는 것을 특징으로 하는 디코딩 장치.
  14. 제12항에 있어서,
    상기 가중치 맵은 상기 프로젝션 타입에 따른 상기 프로젝션 픽처의 샘플들의 가중치들을 포함하고,
    상기 역양자화부는 상기 프로젝션된 픽처에 대한 초기(initial) QP(quantization parameter)를 도출하고, 상기 가중치 맵을 기반으로 상기 각 양자화 처리 단위의 샘플들의 가중치들을 도출하고, 상기 가중치들의 평균값을 도출하고, 상기 초기 QP 및 상기 평균값을 기반으로 상기 각 양자화 처리 단위의 상기 DAQP를 도출하는 것을 특징으로 하는 디코딩 장치.
  15. 영상 인코딩을 수행하는 인코딩 장치에 있어서,
    적어도 하나의 카메라에 의해 캡쳐된 360도 비디오 데이터를 획득하고, 상기 360도 비디오 데이터를 처리하여 프로젝션된 픽처를 획득하는 프로젝션 처리부;
    프로젝션 타입을 기반으로 상기 프로젝션된 픽처의 가중치 맵을 도출하고, 상기 프로젝션된 픽처의 양자화 처리 단위들을 도출하고, 상기 가중치 맵을 기반으로 상기 양자화 처리 단위들 각각에 대한 DAQP를 도출하고, 상기 DAQP를 기반으로 상기 각 양자화 처리 단위에 대한 양자화를 수행하는 양자화부; 및
    상기 프로젝션된 픽처에 대한 360도 비디오 정보를 인코딩하여 출력하는 엔트로피 인코딩부를 포함하는 것을 특징으로 하는 인코딩 장치.
PCT/KR2018/007542 2017-07-04 2018-07-04 360도 비디오에 대한 영상 코딩 시스템에서 프로젝션 타입 기반 양자화 파라미터를 사용한 영상 디코딩 방법 및 장치 WO2019009600A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020207000386A KR102342874B1 (ko) 2017-07-04 2018-07-04 360도 비디오에 대한 영상 코딩 시스템에서 프로젝션 타입 기반 양자화 파라미터를 사용한 영상 디코딩 방법 및 장치
US16/628,913 US11051020B2 (en) 2017-07-04 2018-07-04 Image decoding method and apparatus using projection-type based quantisation parameters in image coding system for 360-degree video

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762528453P 2017-07-04 2017-07-04
US62/528,453 2017-07-04

Publications (1)

Publication Number Publication Date
WO2019009600A1 true WO2019009600A1 (ko) 2019-01-10

Family

ID=64950207

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/007542 WO2019009600A1 (ko) 2017-07-04 2018-07-04 360도 비디오에 대한 영상 코딩 시스템에서 프로젝션 타입 기반 양자화 파라미터를 사용한 영상 디코딩 방법 및 장치

Country Status (3)

Country Link
US (1) US11051020B2 (ko)
KR (1) KR102342874B1 (ko)
WO (1) WO2019009600A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116760965A (zh) * 2023-08-14 2023-09-15 腾讯科技(深圳)有限公司 全景视频编码方法、装置、计算机设备和存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11765349B2 (en) * 2018-08-31 2023-09-19 Mediatek Inc. Method and apparatus of in-loop filtering for virtual boundaries
WO2021107663A1 (ko) * 2019-11-27 2021-06-03 엘지전자 주식회사 영상 디코딩 방법 및 그 장치
US11356698B2 (en) * 2019-12-30 2022-06-07 Tencent America LLC Method for parameter set reference constraints in coded video stream

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015003096A1 (en) * 2013-07-03 2015-01-08 Qualcomm Incorporated Methods and apparatuses for use in providing location parameters to mobile applications
KR20150113523A (ko) * 2014-03-31 2015-10-08 인텔렉추얼디스커버리 주식회사 주관적 품질 향상을 위한 영상 복호화 장치 및 그 방법
KR20170031202A (ko) * 2014-07-24 2017-03-20 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 코딩에서의 적응형 역양자화 방법 및 장치

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150063461A1 (en) 2013-08-27 2015-03-05 Magnum Semiconductor, Inc. Methods and apparatuses for adjusting macroblock quantization parameters to improve visual quality for lossy video encoding
US10230957B2 (en) * 2016-03-22 2019-03-12 Cyberlink Corp. Systems and methods for encoding 360 video
US20180242016A1 (en) * 2017-02-21 2018-08-23 Intel Corporation Deblock filtering for 360 video
CN108513119A (zh) * 2017-02-27 2018-09-07 阿里巴巴集团控股有限公司 图像的映射、处理方法、装置和机器可读介质
US10904508B2 (en) * 2017-03-15 2021-01-26 Avago Technologies International Sales Pte. Limited 360 degree video with combined projection format
US10643301B2 (en) * 2017-03-20 2020-05-05 Qualcomm Incorporated Adaptive perturbed cube map projection
US10904531B2 (en) * 2017-03-23 2021-01-26 Qualcomm Incorporated Adaptive parameters for coding of 360-degree video
US10506196B2 (en) * 2017-04-01 2019-12-10 Intel Corporation 360 neighbor-based quality selector, range adjuster, viewport manager, and motion estimator for graphics
WO2018218028A1 (en) * 2017-05-25 2018-11-29 Vid Scale, Inc. Hybrid cubemap projection for 360-degree video coding
US11032545B2 (en) * 2017-06-29 2021-06-08 Qualcomm Incorporated Reducing seam artifacts in 360-degree video
CN110870317B (zh) * 2017-06-30 2023-05-23 Vid拓展公司 用于对360度视频内容进行编码的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015003096A1 (en) * 2013-07-03 2015-01-08 Qualcomm Incorporated Methods and apparatuses for use in providing location parameters to mobile applications
KR20150113523A (ko) * 2014-03-31 2015-10-08 인텔렉추얼디스커버리 주식회사 주관적 품질 향상을 위한 영상 복호화 장치 및 그 방법
KR20170031202A (ko) * 2014-07-24 2017-03-20 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 코딩에서의 적응형 역양자화 방법 및 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HENDRY: "AHG8: Adaptive QP for 360° video ERP projection", JVET-F0049_R1 (VERSION 3), JOINT VIDEO EXPLORATION TEAM (JVET) OF ITU-T SG 16 WP 3 AND IS O/IEC JTC 1/SC 29/WG 11, 6TH MEETING, 4 April 2017 (2017-04-04), Hobart, AU, pages 1 - 4 *
YAN YE: "Algorithm descriptions of projection format conversion and video quality metrics in 360Libv", JVET-F1003-VL, JOINT VIDEO EXPLORATION TEAM (JV ET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, 6TH MEETING, Hobart *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116760965A (zh) * 2023-08-14 2023-09-15 腾讯科技(深圳)有限公司 全景视频编码方法、装置、计算机设备和存储介质
CN116760965B (zh) * 2023-08-14 2023-12-22 腾讯科技(深圳)有限公司 全景视频编码方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
US20200145663A1 (en) 2020-05-07
US11051020B2 (en) 2021-06-29
KR20200009119A (ko) 2020-01-29
KR102342874B1 (ko) 2021-12-23

Similar Documents

Publication Publication Date Title
WO2018128247A1 (ko) 360도 비디오에 대한 영상 코딩 시스템에서 인트라 예측 방법 및 장치
AU2023201643B2 (en) Encoder, decoder, encoding method, and decoding method cross reference to related applications
WO2020197236A1 (ko) 서브 픽처 핸들링 구조 기반 영상 또는 비디오 코딩
WO2019009600A1 (ko) 360도 비디오에 대한 영상 코딩 시스템에서 프로젝션 타입 기반 양자화 파라미터를 사용한 영상 디코딩 방법 및 장치
WO2016056821A1 (ko) 3d 비디오 코딩을 위한 움직임 정보 압축 방법 및 장치
WO2019112071A1 (ko) 영상 코딩 시스템에서 크로마 성분의 효율적 변환에 기반한 영상 디코딩 방법 및 장치
WO2020141928A1 (ko) 영상 코딩 시스템에서 mmvd 에 따른 예측에 기반한 영상 디코딩 방법 및 장치
WO2021060938A1 (ko) 360도 비디오 가상 경계의 인루프 필터를 제한하는 방법
WO2020149630A1 (ko) 영상 코딩 시스템에서 cclm 예측 기반 영상 디코딩 방법 및 그 장치
WO2021118295A1 (ko) 루프 필터링을 제어하기 위한 영상 코딩 장치 및 방법
WO2020141885A1 (ko) 디블록킹 필터링을 사용하는 영상 코딩 방법 및 장치
WO2019212230A1 (ko) 영상 코딩 시스템에서 블록 사이즈에 따른 변환을 사용하는 영상 디코딩 방법 및 그 장치
WO2021133060A1 (ko) 서브픽처 기반 영상 코딩 장치 및 방법
WO2018174531A1 (ko) 비디오 신호 처리 방법 및 장치
WO2021118293A1 (ko) 필터링 기반 영상 코딩 장치 및 방법
WO2018074813A1 (ko) 영상 부호화 또는 복호화하기 위한 장치 및 방법
WO2021034161A1 (ko) 인트라 예측 장치 및 방법
WO2019031703A1 (ko) 영상 코딩 시스템에서 선형 모델에 따른 영상 디코딩 방법 및 장치
WO2020141884A1 (ko) Cpr 기반 mmvd를 사용하는 영상 코딩 방법 및 장치
WO2019083119A1 (ko) 360도 비디오에 대한 영상 코딩 시스템에서 회전 파라미터를 사용한 영상 디코딩 방법 및 장치
WO2020004879A1 (ko) 영상 코딩 시스템에서 복수의 주변 블록들을 사용하는 인터 예측에 따른 영상 디코딩 방법 및 장치
WO2019203533A1 (ko) 다중 움직임 모델을 고려한 인터 예측 방법 및 그 장치
WO2018174542A1 (ko) 비디오 신호 처리 방법 및 장치
WO2021118296A1 (ko) 루프 필터링을 제어하는 영상 코딩 장치 및 방법
WO2021118297A1 (ko) 필터링을 위한 정보의 시그널링 기반 영상 코딩 장치 및 방법

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20207000386

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18828688

Country of ref document: EP

Kind code of ref document: A1