WO2018128248A1 - Invalid unit-based image decoding method and device in image coding system for 360-degree video - Google Patents

Invalid unit-based image decoding method and device in image coding system for 360-degree video Download PDF

Info

Publication number
WO2018128248A1
WO2018128248A1 PCT/KR2017/011035 KR2017011035W WO2018128248A1 WO 2018128248 A1 WO2018128248 A1 WO 2018128248A1 KR 2017011035 W KR2017011035 W KR 2017011035W WO 2018128248 A1 WO2018128248 A1 WO 2018128248A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
target
unit
processing unit
flag
Prior art date
Application number
PCT/KR2017/011035
Other languages
French (fr)
Korean (ko)
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 엘지전자 주식회사
Publication of WO2018128248A1 publication Critical patent/WO2018128248A1/en

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/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present invention relates to 360 degree video, and more particularly, to an invaluable unit based image decoding method and apparatus in a coding system for 360 degree video.
  • 360 degree video may refer to video or image content that is required to provide a virtual reality (VR) system, while being captured or played back in all directions (360 degrees).
  • VR virtual reality
  • 360 degree video can be represented on a three-dimensional spherical surface.
  • 360-degree video captures images or videos of each of a plurality of viewpoints through one or more cameras, and combines the captured images / videos into a single panoramic image / video or spherical image / video. It can be provided through a process of projecting on and coding and transmitting the projected picture.
  • 360-degree video increases the amount of information or bit transmitted relative to conventional image data, when transmitting image data using a medium such as a conventional wired / wireless broadband line or storing image data using a conventional storage medium, The transmission and storage costs are increased.
  • An object of the present invention is to provide a method and apparatus for increasing the efficiency of 360 video information transmission for providing 360 video.
  • Another technical problem of the present invention is to provide a method and apparatus for dividing a projected picture for 360 video into in-valid units.
  • Another technical problem of the present invention is to provide a method and apparatus for deriving invalidated samples based on invalidated units of a projected picture.
  • Another technical problem of the present invention is to provide a method and apparatus for transmitting information about an invalid map and a type of invalidated units of a projected picture.
  • 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, and deriving processing units of the projected picture. Deriving an IU flag for a target processing unit among the processing units, and if the IU flag for the target processing unit indicates that the target processing unit is invalid, a sample of the target processing unit Deriving a sample value of a predetermined value, and generating, encoding, and outputting 360-degree video information about the projected picture, wherein the IU flag for the target processing unit is the target processing; It is characterized by indicating whether the unit is an invalidated area.
  • an encoding apparatus for performing intra prediction.
  • the encoding apparatus obtains 360-degree video data captured by at least one camera, and processes the 360-degree video data to obtain a projected picture, a projection processing unit, deriving the processing units of the projected picture Deriving an IU flag for a target processing unit among the processing units, and if the IU flag for the target processing unit indicates that the target processing unit is invalid,
  • a prediction unit for deriving a sample value into a predetermined specific value, and an entropy encoding unit for generating, encoding, and outputting 360-degree video information about the projected picture, wherein the IU flag for the target processing unit is the target unit; It is characterized by indicating whether the processing unit is an invalidated area.
  • an image decoding method performed by a decoding apparatus.
  • the method includes: receiving 360 degree video information, deriving processing units of a projected picture, deriving an IU flag for a target processing unit of the processing units based on the 360 video information, and the target If the IU flag for a processing unit indicates that the target processing unit is invalid, deriving a sample value of a sample of the target processing unit as a predetermined specific value;
  • the IU flag may indicate whether the target processing unit is an invalidated area.
  • a decoding apparatus for processing 360 degree video data.
  • An entropy decoding unit for receiving 360-degree video information, and processing units of the projected picture, deriving an IU flag for a target processing unit among the processing units based on the 360 video information, And the IU flag for indicating that the target processing unit is invalid, the prediction unit deriving a sample value of a sample of the target processing unit into a predetermined specific value, wherein the IU for the target processing unit is included.
  • the flag may indicate whether the target processing unit is an invalidated area.
  • the present invention it is possible to derive an invalidated sample more efficiently based on the invalidated unit of the projected picture for 360 degree video, thereby reducing the overhead for deriving the invalidated sample.
  • the overall coding efficiency can be improved.
  • a type for an invalidated unit of a projected picture may be derived based on IU type information, and an invalidated unit for the projected picture may be derived based on a type of the invalidated unit.
  • the IU flags for the in-valid units of the projected picture can be derived more efficiently based on the in-valid map, through which overhead for deriving in-valid samples of the projected picture can be obtained. Can be reduced, and the overall coding efficiency can be improved.
  • FIG. 1 is a diagram illustrating an overall architecture for providing a 360 degree video according to the present invention.
  • FIG. 2 exemplarily illustrates a process of 360-degree video in an encoding apparatus and a decoding apparatus.
  • FIG. 3 is a diagram schematically illustrating a configuration of a video encoding apparatus to which the present invention may be applied.
  • FIG. 4 is a diagram schematically illustrating a configuration of a video decoding apparatus to which the present invention may be applied.
  • 5A to 5C exemplarily illustrate projected pictures derived based on the ERP, the CMP, and the OHP.
  • 6A-6C illustratively show projected pictures divided into IUs.
  • FIG. 8 shows an example of an encoding / decoding process performed based on IU.
  • FIG. 9 schematically illustrates a video encoding method by an encoding device according to the present invention.
  • FIG. 10 schematically illustrates a video decoding method by a decoding apparatus according to the present invention.
  • each configuration in the drawings described in the present invention are shown independently for the convenience of description of the different characteristic functions, it does not mean that each configuration is implemented by separate hardware or separate software.
  • two or more of each configuration may be combined to form one configuration, or one configuration may be divided into a plurality of configurations.
  • Embodiments in which each configuration is integrated and / or separated are also included in the scope of the present invention without departing from the spirit of the present invention.
  • a picture generally refers to a unit representing one image of a specific time zone
  • a slice is a unit constituting a part of a picture in coding.
  • One picture may be composed of a plurality of slices, and if necessary, the picture and the slice may be mixed with each other.
  • a pixel or a pel may refer to a minimum unit constituting one picture (or image). Also, 'sample' may be used as a term corresponding to a pixel.
  • a sample may generally represent a pixel or a value of a pixel, and may only represent pixel / pixel values of the luma component, or only pixel / pixel values of the chroma component.
  • a unit represents the basic unit of image processing.
  • the unit may include at least one of a specific region of the picture and information related to the region.
  • the unit may be used interchangeably with terms such as block or area in some cases.
  • an M ⁇ N block may represent a set of samples or transform coefficients composed of M columns and N rows.
  • FIG. 1 is a diagram illustrating an overall architecture for providing a 360 degree video according to the present invention.
  • the present invention proposes a method of providing 360 content in order to provide a user with virtual reality (VR).
  • VR may refer to a technique or environment for replicating a real or virtual environment.
  • VR artificially provides the user with a sensational experience, which allows the user to experience the same as being in an electronically projected environment.
  • 360 content refers to the overall content for implementing and providing VR, and may include 360 degree video and / or 360 audio.
  • 360 degree video may refer to video or image content that is required to provide VR, and simultaneously captured or played back in all directions (360 degrees).
  • the 360 degree video may mean a 360 degree video.
  • the 360 degree video may refer to a video or an image represented on various types of 3D space according to the 3D model, for example, the 360 degree video may be displayed on a spherical surface.
  • 360 audio is also audio content for providing VR, and may mean spatial audio content, in which a sound source can be recognized as being located in a specific space in three dimensions.
  • 360 content may be generated, processed, and transmitted to users, and users may consume the VR experience using 360 content.
  • the present invention particularly proposes a method for effectively providing 360 degree video.
  • 360 degree video may first be captured via one or more cameras.
  • the captured 360-degree video is transmitted through a series of processes, and the receiving side can process and render the received data back into the original 360-degree video. This may provide a 360 degree video to the user.
  • the entire process for providing the 360 degree video may include a capture process, preparation process, transmission process, processing process, rendering process, and / or feedback process.
  • the capturing process may refer to capturing an image or video for each of a plurality of viewpoints through one or more cameras.
  • Image / video data such as 110 of FIG. 1 shown by the capture process may be generated.
  • Each plane of FIG. 1 110 shown may mean an image / video for each viewpoint.
  • the captured plurality of images / videos may be referred to as raw data.
  • metadata related to capture may be generated.
  • Special cameras can be used for this capture.
  • capture through an actual camera may not be performed.
  • the corresponding capture process may be replaced by simply generating related data.
  • the preparation process may be a process of processing the captured image / video and metadata generated during the capture process.
  • the captured image / video may undergo a stitching process, a projection process, a region-wise packing process, and / or an encoding process in this preparation process.
  • each image / video can be stitched.
  • the stitching process may be a process of connecting each captured image / video to create a panoramic image / video or a spherical image / video.
  • the stitched image / video may be subjected to a projection process.
  • the stitched image / video may be projected onto the 2D image.
  • This 2D image may be called a 2D image frame or projected picture depending on the context. It can also be expressed as mapping a projection to a 2D image to a 2D image.
  • the projected image / video data may be in the form of a 2D image as shown in FIG. 1 120.
  • the region may mean a region in which 2D images projected with 360-degree video data are divided.
  • the region may correspond to a face or a tile.
  • the regions may be divided evenly or arbitrarily divided into 2D images according to an embodiment. In some embodiments, regions may be divided according to a projection scheme.
  • this processing may include rotating each region or rearranging on 2D images in order to increase video coding efficiency. For example, by rotating the regions so that certain sides of the regions are located close to each other, efficiency in coding can be increased.
  • the process may include increasing or decreasing a resolution for a specific region in order to differentiate the resolution for each region of the 360 degree video. For example, regions that correspond to relatively more important regions on 360 degree video may have higher resolution than other regions.
  • Video data projected onto a 2D image may undergo an encoding process through a video codec.
  • the preparation process may further include an editing process.
  • editing process editing of image / video data before and after projection may be further performed.
  • metadata about stitching / projection / encoding / editing may be generated.
  • metadata about an initial time point, or a region of interest (ROI) of video data projected on the 2D image may be generated.
  • the transmission process may be a process of processing and transmitting image / video data and metadata that have been prepared. Processing may be performed according to any transport protocol for the transmission. Data that has been processed for transmission may be delivered through a broadcast network and / or broadband. These data may be delivered to the receiving side in an on demand manner. The receiving side can receive the corresponding data through various paths.
  • the processing may refer to a process of decoding the received data and re-projecting the projected image / video data onto the 3D model.
  • image / video data projected on 2D images may be re-projected onto 3D space.
  • This process may be called mapping or projection depending on the context.
  • the mapped 3D space may have a different shape according to the 3D model.
  • the 3D model may have a sphere, a cube, a cylinder, or a pyramid.
  • the processing process may further include an editing process, an up scaling process, and the like.
  • editing process editing of image / video data before and after re-projection may be further performed.
  • the size of the sample may be increased by upscaling the samples during the upscaling process. If necessary, the operation of reducing the size through down scaling may be performed.
  • the rendering process may refer to a process of rendering and displaying re-projected image / video data in 3D space. Depending on the representation, it may be said to combine re-projection and rendering to render on a 3D model.
  • the image / video re-projected onto the 3D model (or rendered onto the 3D model) may have a shape such as 130 of FIG. 1 shown. 1, 130 is shown when re-projected onto a 3D model of a sphere.
  • the user may view some areas of the rendered image / video through the VR display. In this case, the area seen by the user may be in the form as shown in FIG.
  • the feedback process may mean a process of transmitting various feedback information that can be obtained in the display process to the transmitter. Through the feedback process, interactivity may be provided for 360-degree video consumption. According to an embodiment, in the feedback process, head orientation information, viewport information indicating an area currently viewed by the user, and the like may be transmitted to the transmitter. According to an embodiment, the user may interact with those implemented on the VR environment, in which case the information related to the interaction may be transmitted to the sender or service provider side in the feedback process. In some embodiments, the feedback process may not be performed.
  • the head orientation information may mean information about a head position, an angle, and a movement of the user. Based on this information, information about the area currently viewed by the user in the 360 degree video, that is, viewport information, may be calculated.
  • the viewport information may be information about an area currently viewed by the user in 360 degree video. Through this, a gaze analysis may be performed to determine how the user consumes 360 degree video, which area of the 360 degree video, and how much. Gayes analysis may be performed at the receiving end and delivered to the transmitting side via a feedback channel.
  • a device such as a VR display may extract a viewport area based on the position / direction of a user's head, vertical or horizontal field of view (FOV) information supported by the device, and the like.
  • FOV horizontal field of view
  • the above-described feedback information may be consumed at the receiving side as well as transmitted to the transmitting side. That is, the decoding, re-projection, rendering process, etc. of the receiving side may be performed using the above-described feedback information. For example, using head orientation information and / or viewport information, only 360 degree video for the area currently being viewed by the user may be preferentially decoded and rendered.
  • the viewport to the viewport area may mean an area that the user is viewing in the 360 degree video.
  • a viewpoint is a point that a user is viewing in the 360 degree video and may mean a center point of the viewport area. That is, the viewport is an area centered on the viewpoint, and the size shape occupied by the area may be determined by a field of view (FOV) to be described later.
  • FOV field of view
  • 360-degree video data image / video data that undergoes a series of processes of capture / projection / encoding / transmission / decoding / re-projection / rendering may be referred to as 360-degree video data.
  • the term 360 degree video data may also be used as a concept including metadata or signaling information associated with such image / video data.
  • the projection processor 210 may stitch and project 360-degree video data of an input viewpoint to a 3D projection structure according to various projection schemes, and project the 3D projection structure to the 3D projection structure.
  • Recorded 360-degree video data may be represented as a 2D image. That is, the projection processor 210 may stitch the 360-degree video data and project the 2D image.
  • the projection scheme may be called a projection type.
  • the 2D image projected with the 360 degree video data may be referred to as a projected frame or a projected picture.
  • the projected picture may be divided into a plurality of faces according to the projection type.
  • the face may correspond to a tile.
  • the plurality of faces in the projected picture may be the same size and shape (eg, triangle or square).
  • the size and shape of the face in the projected picture may vary depending on the projection type.
  • the projection processing unit 210 may perform processing such as rotating and rearranging regions of the projected picture, changing the resolution of each region, and the like.
  • the encoding device 220 may encode the information about the projected picture and output the encoded picture. The process of encoding the projected picture by the encoding device 220 will be described later in detail with reference to FIG. 3.
  • the projection processing unit 210 may be included in the encoding apparatus, or the projection process may be performed through an external device.
  • FIG. 2A may show a process of processing information about a projected picture related to 360 degree video data performed by the decoding apparatus.
  • Information about the projected picture may be received through a bitstream.
  • the decoding apparatus 250 may decode the projection picture based on the received information about the projection picture. A process of decoding the projected picture by the decoding device 250 will be described later in detail with reference to FIG. 4.
  • the re-projection processor 260 may re-project the 360-degree video data projected on the projected picture derived through the decoding process onto the 3D model.
  • the re-projection processor 260 may correspond to the projection processor.
  • 360 degree video data projected on the projected picture may be re-projected onto 3D space.
  • This process may be called mapping or projection depending on the context.
  • the mapped 3D space may have a different shape according to the 3D model.
  • the 3D model may have a sphere, a cube, a cylinder, or a pyramid.
  • the re-projection processor 260 may be included in the decoding apparatus 250 or the re-projection process may be performed through an external device.
  • the re-projected 360 degree video data can be rendered in 3D space.
  • FIG. 3 is a diagram schematically illustrating a configuration of a video encoding apparatus to which the present invention may be applied.
  • the video encoding apparatus 300 may include a picture splitter 305, a predictor 310, a subtractor 315, a transformer 320, a quantizer 325, a reorderer 330, The entropy encoding unit 335, the residual processing unit 340, the adding unit 350, the filter unit 355, and the memory 360 may be included.
  • the residual processor 340 may include an inverse quantizer 341 and an inverse transform unit 342.
  • the picture dividing unit 305 may divide the input picture into at least one processing unit.
  • the processing unit may be called a coding unit (CU).
  • the coding unit may be recursively split from the largest coding unit (LCU) according to a quad-tree binary-tree (QTBT) structure.
  • LCU largest coding unit
  • QTBT quad-tree binary-tree
  • one coding unit may be divided into a plurality of coding units of a deeper depth based on a quad tree structure and / or a binary tree structure.
  • the quad tree structure may be applied first and the binary tree structure may be applied later.
  • the binary tree structure may be applied first.
  • the coding procedure according to the present invention may be performed based on the final coding unit that is no longer split.
  • the maximum coding unit may be used as the final coding unit immediately based on coding efficiency according to the image characteristic, or if necessary, the coding unit is recursively divided into coding units of lower depths and optimized.
  • a coding unit of size may be used as the final coding unit.
  • the coding procedure may include a procedure of prediction, transform, and reconstruction, which will be described later.
  • the processing unit may include a coding unit (CU) prediction unit (PU) or a transform unit (TU).
  • the coding unit may be split from the largest coding unit (LCU) into coding units of deeper depths along the quad tree structure.
  • LCU largest coding unit
  • the maximum coding unit may be used as the final coding unit immediately based on coding efficiency according to the image characteristic, or if necessary, the coding unit is recursively divided into coding units of lower depths and optimized.
  • a coding unit of size may be used as the final coding unit. If a smallest coding unit (SCU) is set, the coding unit may not be split into smaller coding units than the minimum coding unit.
  • the final coding unit refers to a coding unit that is the basis of partitioning or partitioning into a prediction unit or a transform unit.
  • the prediction unit is a unit partitioning from the coding unit and may be a unit of sample prediction. In this case, the prediction unit may be divided into sub blocks.
  • the transform unit may be divided along the quad tree structure from the coding unit, and may be a unit for deriving a transform coefficient and / or a unit for deriving a residual signal from the transform coefficient.
  • a coding unit may be called a coding block (CB)
  • a prediction unit is a prediction block (PB)
  • a transform unit may be called a transform block (TB).
  • a prediction block or prediction unit may mean a specific area in the form of a block within a picture, and may include an array of prediction samples.
  • a transform block or a transform unit may mean a specific area in a block form within a picture, and may include an array of transform coefficients or residual samples.
  • the prediction unit 310 may perform a prediction on a block to be processed (hereinafter, referred to as a current block) and generate a predicted block including prediction samples of the current block.
  • the unit of prediction performed by the prediction unit 310 may be a coding block, a transform block, or a prediction block.
  • the prediction unit 310 may determine whether intra prediction or inter prediction is applied to the current block. As an example, the prediction unit 310 may determine whether intra prediction or inter prediction is applied on a CU basis.
  • the prediction unit 310 may derive a prediction sample for the current block based on reference samples outside the current block in the picture to which the current block belongs (hereinafter, referred to as the current picture). In this case, the prediction unit 310 may (i) derive the prediction sample based on the average or interpolation of neighboring reference samples of the current block, and (ii) the neighbor reference of the current block.
  • the prediction sample may be derived based on a reference sample present in a specific (prediction) direction with respect to the prediction sample among the samples. In case of (i), it may be called non-directional mode or non-angle mode, and in case of (ii), it may be called directional mode or angular mode.
  • the prediction mode may have, for example, 33 directional prediction modes and at least two non-directional modes.
  • the non-directional mode may include a DC prediction mode and a planner mode (Planar mode).
  • the prediction unit 310 may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring block.
  • the prediction unit 310 may derive the prediction sample for the current block based on the sample specified by the motion vector on the reference picture.
  • the prediction unit 310 may derive the prediction sample for the current block by applying any one of a skip mode, a merge mode, and a motion vector prediction (MVP) mode.
  • the prediction unit 310 may use the motion information of the neighboring block as the motion information of the current block.
  • the skip mode unlike the merge mode, the difference (residual) between the prediction sample and the original sample is not transmitted.
  • the motion vector of the current block may be derived using the motion vector of the neighboring block as a motion vector predictor.
  • the neighboring block may include a spatial neighboring block existing in the current picture and a temporal neighboring block present in the reference picture.
  • a reference picture including the temporal neighboring block may be called a collocated picture (colPic).
  • the motion information may include a motion vector and a reference picture index.
  • Information such as prediction mode information and motion information may be encoded (entropy) and output in the form of a bitstream.
  • the highest picture on the reference picture list may be used as the reference picture.
  • Reference pictures included in a reference picture list may be sorted based on a difference in a picture order count (POC) between a current picture and a corresponding reference picture.
  • POC picture order count
  • the subtraction unit 315 generates a residual sample which is a difference between the original sample and the prediction sample.
  • residual samples may not be generated as described above.
  • the transformer 320 generates a transform coefficient by transforming the residual sample in units of transform blocks.
  • the transform unit 120 may perform the transformation according to the size of the transform block and the prediction mode applied to the coding block or the prediction block that spatially overlaps the transform block. For example, if intra prediction is applied to the coding block or the prediction block that overlaps the transform block, and the transform block is a 4 ⁇ 4 residual array, the residual sample uses a discrete sine transform (DST). In other cases, the residual sample may be transformed by using a discrete cosine transform (DCT).
  • DST discrete sine transform
  • DCT discrete cosine transform
  • the quantization unit 325 may quantize the transform coefficients to generate quantized transform coefficients.
  • the reordering unit 330 rearranges the quantized transform coefficients.
  • the reordering unit 330 may reorder the quantized transform coefficients in the form of a block into a one-dimensional vector through a coefficient scanning method. Although the reordering unit 330 has been described in a separate configuration, the reordering unit 330 may be part of the quantization unit 325.
  • the entropy encoding unit 335 may perform entropy encoding on the quantized transform coefficients.
  • Entropy encoding may include, for example, encoding methods such as exponential Golomb, context-adaptive variable length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC), and the like.
  • the entropy encoding unit 335 may encode information necessary for video reconstruction other than the quantized transform coefficients (for example, a value of a syntax element) together or separately. Entropy encoded information may be transmitted or stored in units of network abstraction layer (NAL) units in the form of bitstreams.
  • NAL network abstraction layer
  • the inverse quantization unit 341 inverse quantizes the quantized values (quantized transform coefficients) in the quantization unit 325, and the inverse transform unit 342 inversely transforms the inverse quantized values in the inverse quantization unit 341 to obtain a residual sample.
  • the adder 350 reconstructs the picture by combining the residual sample and the predictive sample.
  • the residual sample and the predictive sample may be added in units of blocks to generate a reconstructed block.
  • the adder 350 may be part of the predictor 310.
  • the adder 350 may be called a restoration unit or a restoration block generation unit.
  • the filter unit 355 may apply a deblocking filter and / or a sample adaptive offset to the reconstructed picture. Through deblocking filtering and / or sample adaptive offset, the artifacts of the block boundaries in the reconstructed picture or the distortion in the quantization process can be corrected.
  • the sample adaptive offset may be applied on a sample basis and may be applied after the process of deblocking filtering is completed.
  • the filter unit 355 may apply an adaptive loop filter (ALF) to the reconstructed picture. ALF may be applied to the reconstructed picture after the deblocking filter and / or sample adaptive offset is applied.
  • ALF adaptive loop filter
  • the memory 360 may store reconstructed pictures (decoded pictures) or information necessary for encoding / decoding.
  • the reconstructed picture may be a reconstructed picture after the filtering process is completed by the filter unit 355.
  • the stored reconstructed picture may be used as a reference picture for (inter) prediction of another picture.
  • the memory 360 may store (reference) pictures used for inter prediction.
  • pictures used for inter prediction may be designated by a reference picture set or a reference picture list.
  • FIG. 4 is a diagram schematically illustrating a configuration of a video decoding apparatus to which the present invention may be applied.
  • the video decoding apparatus 400 includes an entropy decoding unit 410, a residual processing unit 420, a prediction unit 430, an adder 440, a filter unit 450, and a memory 460. It may include.
  • the residual processor 420 may include a reordering unit 421, an inverse quantization unit 422, and an inverse transform unit 423.
  • the video decoding apparatus 400 may reconstruct the video in response to a process in which the video information is processed in the video encoding apparatus.
  • the video decoding apparatus 400 may perform video decoding using a processing unit applied in the video encoding apparatus.
  • the processing unit block of video decoding may be, for example, a coding unit, and in another example, a coding unit, a prediction unit, or a transform unit.
  • the coding unit may be split along the quad tree structure and / or binary tree structure from the largest coding unit.
  • the prediction unit and the transform unit may be further used in some cases, in which case the prediction block is a block derived or partitioned from the coding unit and may be a unit of sample prediction. At this point, the prediction unit may be divided into subblocks.
  • the transform unit may be divided along the quad tree structure from the coding unit, and may be a unit for deriving a transform coefficient or a unit for deriving a residual signal from the transform coefficient.
  • the entropy decoding unit 410 may parse the bitstream and output information necessary for video reconstruction or picture reconstruction. For example, the entropy decoding unit 410 decodes information in the bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, quantized values of syntax elements required for video reconstruction, and transform coefficients for residuals. Can be output.
  • a coding method such as exponential Golomb coding, CAVLC, or CABAC, quantized values of syntax elements required for video reconstruction, and transform coefficients for residuals. Can be output.
  • the CABAC entropy decoding method receives a bin corresponding to each syntax element in a bitstream, and decodes syntax element information and decoding information of neighboring and decoding target blocks or information of symbols / bins decoded in a previous step.
  • the context model may be determined using the context model, the probability of occurrence of a bin may be predicted according to the determined context model, and arithmetic decoding of the bin may be performed to generate a symbol corresponding to the value of each syntax element. have.
  • the CABAC entropy decoding method may update the context model by using the information of the decoded symbol / bin for the context model of the next symbol / bean after determining the context model.
  • the information related to the prediction among the information decoded by the entropy decoding unit 410 is provided to the prediction unit 430, and the residual value on which the entropy decoding has been performed by the entropy decoding unit 410, that is, the quantized transform coefficient, is used as a reordering unit ( 421).
  • the reordering unit 421 may rearrange the quantized transform coefficients into a two-dimensional block.
  • the reordering unit 421 may perform reordering in response to coefficient scanning performed by the encoding apparatus. Although the reordering unit 421 has been described in a separate configuration, the reordering unit 421 may be part of the inverse quantization unit 422.
  • the inverse quantization unit 422 may dequantize the quantized transform coefficients based on the (inverse) quantization parameter and output the transform coefficients.
  • information for deriving a quantization parameter may be signaled from the encoding apparatus.
  • the inverse transform unit 423 may inversely transform transform coefficients to derive residual samples.
  • the prediction unit 430 may perform prediction on the current block, and generate a predicted block including prediction samples for the current block.
  • the unit of prediction performed by the prediction unit 430 may be a coding block, a transform block, or a prediction block.
  • the prediction unit 430 may determine whether to apply intra prediction or inter prediction based on the information about the prediction.
  • a unit for determining which of intra prediction and inter prediction is to be applied and a unit for generating a prediction sample may be different.
  • the unit for generating a prediction sample in inter prediction and intra prediction may also be different.
  • whether to apply inter prediction or intra prediction may be determined in units of CUs.
  • a prediction mode may be determined and a prediction sample may be generated in PU units
  • intra prediction a prediction mode may be determined in PU units and a prediction sample may be generated in TU units.
  • the prediction unit 430 may derive the prediction sample for the current block based on the neighbor reference samples in the current picture.
  • the prediction unit 430 may derive the prediction sample for the current block by applying the directional mode or the non-directional mode based on the neighbor reference samples of the current block.
  • the prediction mode to be applied to the current block may be determined using the intra prediction mode of the neighboring block.
  • the prediction unit 430 may derive the prediction sample for the current block based on the sample specified on the reference picture by the motion vector on the reference picture.
  • the prediction unit 430 may induce a prediction sample for the current block by applying any one of a skip mode, a merge mode, and an MVP mode.
  • motion information required for inter prediction of the current block provided by the video encoding apparatus for example, information about a motion vector, a reference picture index, and the like may be obtained or derived based on the prediction information.
  • the motion information of the neighboring block may be used as the motion information of the current block.
  • the neighboring block may include a spatial neighboring block and a temporal neighboring block.
  • the prediction unit 430 may construct a merge candidate list using motion information of available neighboring blocks, and may use information indicated by the merge index on the merge candidate list as a motion vector of the current block.
  • the merge index may be signaled from the encoding device.
  • the motion information may include a motion vector and a reference picture. When the motion information of the temporal neighboring block is used in the skip mode and the merge mode, the highest picture on the reference picture list may be used as the reference picture.
  • the difference (residual) between the prediction sample and the original sample is not transmitted.
  • the motion vector of the current block may be derived using the motion vector of the neighboring block as a motion vector predictor.
  • the neighboring block may include a spatial neighboring block and a temporal neighboring block.
  • a merge candidate list may be generated by using a motion vector of a reconstructed spatial neighboring block and / or a motion vector corresponding to a Col block, which is a temporal neighboring block.
  • the motion vector of the candidate block selected from the merge candidate list is used as the motion vector of the current block.
  • the information about the prediction may include a merge index indicating a candidate block having an optimal motion vector selected from candidate blocks included in the merge candidate list.
  • the prediction unit 430 may derive the motion vector of the current block by using the merge index.
  • a motion vector predictor candidate list may be generated using a motion vector of a reconstructed spatial neighboring block and / or a motion vector corresponding to a Col block which is a temporal neighboring block.
  • the prediction information may include a prediction motion vector index indicating an optimal motion vector selected from the motion vector candidates included in the list.
  • the prediction unit 430 may select the predicted motion vector of the current block from the motion vector candidates included in the motion vector candidate list using the motion vector index.
  • the prediction unit of the encoding apparatus may obtain a motion vector difference (MVD) between the motion vector of the current block and the motion vector predictor, and may encode the output vector in a bitstream form. That is, MVD may be obtained by subtracting the motion vector predictor from the motion vector of the current block.
  • the prediction unit 430 may obtain a motion vector difference included in the information about the prediction, and may derive the motion vector of the current block by adding the motion vector difference and the motion vector predictor.
  • the prediction unit may also obtain or derive a reference picture index or the like indicating a reference picture from the information about the prediction.
  • the adder 440 may reconstruct the current block or the current picture by adding the residual sample and the predictive sample.
  • the adder 440 may reconstruct the current picture by adding the residual sample and the predictive sample in units of blocks. Since the residual is not transmitted when the skip mode is applied, the prediction sample may be a reconstruction sample.
  • the adder 440 is described in a separate configuration, the adder 440 may be part of the predictor 430. On the other hand, the adder 440 may be called a restoration unit or a restoration block generation unit.
  • the filter unit 450 may apply the deblocking filtering sample adaptive offset, and / or ALF to the reconstructed picture.
  • the sample adaptive offset may be applied in units of samples and may be applied after deblocking filtering.
  • ALF may be applied after deblocking filtering and / or sample adaptive offset.
  • the memory 460 may store reconstructed pictures (decoded pictures) or information necessary for decoding.
  • the reconstructed picture may be a reconstructed picture after the filtering process is completed by the filter unit 450.
  • the memory 460 may store pictures used for inter prediction.
  • pictures used for inter prediction may be designated by a reference picture set or a reference picture list.
  • the reconstructed picture can be used as a reference picture for another picture.
  • the memory 460 may output the reconstructed picture in the output order.
  • the 2D picture used in the encoding process and the decoding process may have the same number of samples as the size of the picture.
  • the valid sample may represent a sample having valid information or a value of the picture, and the valid information or value may represent information of an original picture of the picture.
  • the invalidated sample may be a sample opposite to the validated sample. That is, samples other than the valid sample may be referred to as invalidated samples.
  • the invalidated sample may have a specific value.
  • the invalidated sample may include information representing gray.
  • a 360 degree video which is a 3D image
  • 360 video data may be projected onto a 2D picture
  • the 2D picture projected onto the 360 degree video data 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 methods.
  • 360 degree video data may be projected and / or packed into a picture via Equirectangular Projection (ERP), Cube Map Projection (CMP) or Octahedron Projection (OHP).
  • 360 degree video data may be projected onto a 2D picture through ERP.
  • stitched 360 degree video data can be represented on a spherical surface, and the 360 degree video data is characterized by continuity on the spherical surface. It can be projected into one picture that is maintained.
  • the 360 degree video data may be mapped to one face in the projected picture.
  • the width and height of the projected picture may be 3228 and 1664, respectively, and in this case, the projected picture may include 3228x1668 valid samples.
  • 360 degree video data may be projected onto a 2D picture through a CMP.
  • the CMP may be referred to as a cubic projection scheme.
  • stitched 360 degree video data can be represented on a spherical surface, and the 360 degree video data is in a cube-shaped 3D projection structure. It can be divided and projected onto a 2D image. That is, the 360 degree video data on the spherical face can be mapped to each of the six faces of the cube, and each face of the cube can be projected onto a 2D image.
  • the six faces may include a front face, a back face, a top face, a bottom face, a right face, and a left face.
  • the width and height of the projected picture may be 2880 and 1920 respectively.
  • the projected picture when projected through the CMP may include invalidated samples, and thus the projected picture includes 2880x1920 valid samples. You can't.
  • the invalidated samples may represent samples in the gray area of FIG. 5B, that is, samples to which the 360-degree video data is not mapped.
  • the invalidated samples may include information representing gray, or may include other information according to a projection method.
  • 360 degree video data may be projected onto a 2D picture through the OHP.
  • stitched 360 degree video data can be represented on a spherical surface, and the 360 degree video data is in an octahedral 3D projection structure. It can be divided and projected onto a 2D image. That is, the 360 degree video data on the spherical surface can be projected onto the 2D image as shown in FIG. 5C. Meanwhile, the width and height of the projected picture may be 2880 and 1920 respectively.
  • the projected picture when projected through the CMP may include invalidated samples, and thus the projected picture includes 2880x1920 valid samples.
  • the invalidated samples may represent samples in the gray area of FIG. 5C, that is, samples to which the 360-degree video data is not mapped. Meanwhile, even when the 360-degree video data is projected through a projection method other than the above-described CMP and OHP, the invalidated samples may be generated.
  • an invalidated sample for the projected picture is not defined as a separate sample, but may be processed as a valid sample having a specific value indicating gray.
  • An additional bit overhead may occur in the encoding / decoding process for the invalidated sample that is not used to code the information about the projected picture.
  • the present invention proposes a method for treating the invalidated sample by a separate process from the validated sample. do.
  • the input picture may be divided into units of a coding unit (CU).
  • CU coding unit
  • CTU coding tree unit
  • the CU may be recursively partitioned from the CTU according to a quad-tree binary-tree (QTBT) structure.
  • QTBT quad-tree binary-tree
  • the CTU may be referred to as a large coding unit (LCU).
  • an invalid unit is proposed in the present invention.
  • the above invalidated sample may be represented based on the IU and may be processed based on the IU. That is, the input picture may be divided into the IU unit, and the invalidated sample may be processed in the IU unit.
  • the IU may correspond to the CTU or may correspond to the CU. Alternatively, the IU may correspond to a face of the projected picture, or the IU may correspond to a slice of the projected picture.
  • the IU may be derived in blocks of the same size as the corresponding type.
  • IU type information indicating the type of the IU for the projected picture may be transmitted through a high level syntax such as a slice header, a picture parameter set (PPS), a sequence parameter set (SPS), or the like. have.
  • the IU type information may indicate a type corresponding to the IU, and the IU type information may be as shown in the following table.
  • IU_type may indicate a syntax element indicating the IU type information. Referring to Table 1, when the value of IU_type is 0, the type of IU may be CTU. When the value of IU_type is 1, the type of IU may be CU, and the value of IU_type is 2. When, the type of the IU may be a face, and when the value of the IU_type is 3, the type of the IU may be a slice.
  • an IU flag for the IU may be derived, and the IU flag may indicate whether the IU is invalid for the IU flag. That is, the IU flag may indicate whether the IU includes only an invalidated sample (or does not include a valid sample). For example, when the value of the IU flag is 1, that is, when the IU flag indicates that the IU is invalidated, the IU may include only invalidated samples, and the encoding / decoding for the IU is performed. The process can be skipped. In addition, when the value of the IU flag is 0, that is, when the IU flag indicates that the IU includes valid samples, the above-described encoding / decoding process may be performed. That is, the prediction and reconstruction process for the IU may be performed. Meanwhile, the method for processing an invalidated sample based on the IU described below is described based on a picture projected through the CMP illustrated in FIG. 5B, but may also be applied to a case in which the projected image is projected through another projection method.
  • the projected picture may include IUs corresponding to the CTU.
  • the blocks shown in FIGS. 6A to 6B may represent the IUs.
  • an IU flag for each CTU of the projected picture may be derived. That is, when the value of the IU type information is 0, an IU corresponding to each CTU of the projected picture may be derived, and the IU flag for the IU may be derived.
  • the IU includes a valid sample, the value of the IU flag may be 0, and the value of the IU flag may be 1.
  • the size of the CTU may be represented by a predetermined size.
  • the size of the CTU may be represented as a 128x128 size.
  • the size of the CTU may be represented by 256 ⁇ 256 size.
  • the projected picture may include IUs corresponding to the face.
  • an IU flag for each face of the projected picture may be derived. That is, when the value of the IU type information is 2, an IU corresponding to each face of the projected picture may be derived, and the IU flag for the IU may be derived.
  • the size of the face may be represented by a predetermined size. For example, referring to FIG. 6C, the size of the face may be represented by a size of 960x960.
  • IU flags for IUs included in the projected picture may be derived, and the IU flags may have values for the corresponding IU, respectively.
  • an invalidated map for coding the values of the IU flags is proposed in order to reduce the overhead in signaling the IU flags.
  • the invalidated map may be generated using run-length coding and copy above line coding.
  • the syntax element for the invalidated map may be represented as IU_map.
  • the information about the target row in the invalidated map for the projected picture may be derived by coding the indicated value of the target row and the number of the values through the run-length coding,
  • the information about the row, that is, the row below the target row may be derived in a manner of being coded based on the value of the target row through the copy-above line coding. A detailed method may be as described later in FIG. 7.
  • the information about the first row (the uppermost row) of the invalidated map may be derived as follows by applying the run-length coding.
  • the run-length coding is applied to the values of the IU flags for the first row
  • the information on the first row may be derived as 0 8 22.
  • 0 of the information on the first row may indicate a start value
  • 8 of the information on the first row may indicate a previous value, that is, the start value is derived eight times.
  • 22 of the information about the first row may indicate that 1 is derived 22 times in the following order.
  • the copy-above line coding may be used to code information on the subsequent rows of the first row.
  • information indicating the number of rows including information on the same IU flags as the first row may be generated.
  • the information representing the number of rows including information on the same IU flags may be referred to as copy run information, and copy_run may be a syntax element representing the copy run information. Referring to FIG. 7, seven rows from the first to seventh rows may have the same IU flag values, and thus, the value of the copy run information for the first row may be derived as seven.
  • the invalidated map for the projected picture shown in FIG. 7 derived through the above-described method may be as shown in the following table.
  • the IU flags for the IUs included in the projected picture are not signaled, respectively, and the invalid map is signaled so that IU flags of the IUs can be derived based on the invalidated map.
  • the information on the IU flags may be signaled with a bit amount smaller than the bit amount for signaling the IU flags, respectively, thereby improving overall bit efficiency.
  • the encoding / decoding process performed based on the IU may be started at the slice level.
  • IU type information is obtained through a bitstream (S800).
  • the syntax element for the IU type information may be represented as IU_type.
  • the IU type information may indicate a type corresponding to the IUs.
  • the IU type information may indicate a CTU, and in this case, the IU may be derived as a block corresponding to the CTU of the projected picture.
  • the size of the IU may be the same as the size of the corresponding CTU.
  • the IU type information may indicate a CU, in which case, the IU may be derived as a block corresponding to the CU of the projected picture.
  • the size of the IU may be the same as the size of the corresponding CU.
  • the IU type information may indicate a face, in which case the IU may be derived in a block corresponding to the face of the projected picture.
  • the size of the IU may be the same as the size of the corresponding face.
  • the IU type information may represent a slice, and in this case, the IU may be derived as a block corresponding to a slice of the projected picture.
  • the size of the IU may be the same as the size of the corresponding slice.
  • an IU flag of a target IU in the projected picture is obtained (S810).
  • the IU flag may indicate whether the target IU is invalid with respect to the IU flag. That is, the IU flag may indicate whether the target IU includes only an invalidated sample (or does not include a valid sample).
  • the IU flag information may be derived based on the invalid map information.
  • the invalid map information may be obtained through a bitstream, and the IU_map may indicate a syntax element representing the invalid map information.
  • an IU flag of the target IU among the IUs may be derived based on the invalidated map information.
  • the value of the IU flag for the target IU is 1 (S820). If the value of the IU flag is 1, the encoding / decoding process for the target IU is omitted, and the process for the next IU of the target IU is performed (S830). In addition, when the value of the IU flag is 0, an encoding / decoding process for the target IU is performed (S840). Specifically, when the value of the IU flag is 1, that is, when the IU flag indicates that the target IU is invalidated, the target IU may include only invalidated samples, and the encoding for the target IU is performed. The / decoding process can be skipped.
  • the sample value of the invalidated sample of the target IU may be derived as a specific value.
  • the sample value of the invalidated sample of the target IU may be derived as a value representing gray.
  • the target IU may be subjected to an encoding / decoding process. That is, the prediction and reconstruction process for the target IU may be performed.
  • FIG. 9 schematically illustrates a video encoding method by an encoding device according to the present invention.
  • the method disclosed in FIG. 9 may be performed by the encoding apparatus disclosed in FIG. 3.
  • S900 to S910 of FIG. 9 may be performed by the projection processing unit of the encoding apparatus
  • S920 to S950 may be performed by the prediction unit of the encoding apparatus
  • S960 may be entropy of the encoding apparatus. It may be performed by the encoding unit.
  • the encoding device obtains 360 degree video data captured by the at least one camera (S900).
  • the encoding device may obtain 360 degree video data captured by the at least one camera.
  • the 360 degree video data may be video captured by at least one camera.
  • the encoding apparatus processes the 360 degree video data to obtain a projected picture (S910).
  • the encoding apparatus may perform projection on a 2D image (or picture) according to the projection type for the 360 degree video data among various projection types, and obtain the projected picture.
  • the projection type may correspond to the projection method described above, and the projected picture may be referred to as a projected frame.
  • the various projection types include Equirectangular Projection (ERP), cube map projection (CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP), Truncated Square Pyramid projection (TSP), Segmented Sphere Projection (SSP) and Equal Area Projection (EAP). ) May be included.
  • the 360 degree video data may be mapped to faces of the 3D projection structure of each projection type, and the faces may be projected onto the projected picture. That is, the projected picture may include faces of a 3D projection structure of each projection type.
  • the 360 degree video data may be projected onto the projected picture based on a cube map projection (CMP), in which case the 3D projection structure may be a cube.
  • CMP cube map projection
  • the 360 degree video data may be mapped to six faces of the cube, and the faces may be projected onto the projected picture.
  • the 360-degree video data may be projected onto the projected picture based on an ISP (Icosahedral Projection), in which case the 3D projection structure may be icosahedron.
  • the 360 degree video data may be projected onto the projected picture based on Octahedron Projection (OHP), in which case the 3D projection structure may be octahedral.
  • OHP Octahedron Projection
  • the encoding apparatus may perform processing such as rotating and rearranging each of the faces of the projected picture, changing the resolution of each face, and the like.
  • the encoding apparatus derives processing units of the projected picture (S920).
  • the projected picture may include an invalid sample.
  • the invalidated sample may represent a sample that does not include information about the projected picture, or may represent a sample to which the 360 degree video data is not mapped.
  • the encoding apparatus may split the projection picture into various types of processing units to process the invalidated sample, and decode the projected picture based on the various types of processing units, thereby making it optimal.
  • a type having a rate-distortion (RD) cost may be derived as a type of the processing units for the projected picture.
  • the processing units may be referred to as invalid units (IUs) or IU-related processing units.
  • the type of the IUs may be derived as a coding tree unit (CTU) of the projected picture.
  • the type of the IUs may be derived into a coding unit (CU) of the projected picture.
  • the type of IUs can be derived to the face of the projected picture.
  • the type of IUs may be derived as a slice of the projected picture.
  • the encoding apparatus may derive a type for processing units of the projected picture, and may derive the processing units of the projected picture based on the type.
  • the IUs when the type of the IUs is derived as a coding tree unit (CTU) of the projected picture, the IUs may be derived as blocks corresponding to the CTU.
  • the size of the IUs may be the same as the size of the CTU.
  • the size of the CTU may be 128x128 size or 256x256 size.
  • the IUs when the types of the IUs are derived to a coding unit (CU) of the projected picture, the IUs may be derived to blocks corresponding to the CU.
  • the size of the IUs may be the same as the size of the CU.
  • the IUs when the type of the IUs is derived to a face of the projected picture, the IUs may be derived to blocks corresponding to the face.
  • the size of the IUs may be the same as the size of the face.
  • the size of the face may be 960x960 size.
  • the IUs when the type of the IUs is derived as a slice of the projected picture, the IUs may be derived as blocks corresponding to the slice.
  • the size of the IUs may be the same as the size of the slice.
  • the encoding apparatus may generate IU type information about the processing units of the projected picture.
  • the IU type information may indicate a type corresponding to the processing units.
  • the syntax element for the IU type information may be represented as IU_type.
  • the IU type information may indicate the CTU, the CU, the face, or the slice.
  • the IU type information may be derived as shown in Table 1 above.
  • the encoding apparatus derives an IU flag for a target processing unit among the processing units (S930).
  • the target processing unit may be called a target IU.
  • the encoding apparatus may derive the IU flag for the target IU among the IUs.
  • the IU flag for the target IU may indicate whether the target IU is invalid.
  • the IU flag for the target IU may indicate whether the target IU is an invalidated region, that is, whether to include a valid sample of the target IU.
  • the IU flag for the target IU may indicate whether the target IU includes only an invalid sample.
  • the valid sample may represent a sample including information about the projected picture.
  • the valid sample may represent a sample to which the 360 degree video data is mapped.
  • the invalidated sample may represent a sample that does not include information about the projected picture.
  • the invalidated sample may represent a sample to which the 360 degree video data is not mapped.
  • the invalidated region may indicate an area including only the invalidated sample or an area in which the validated sample is not included.
  • the encoding apparatus may generate the IU flag based on whether the target IU includes a valid sample. For example, if the target IU includes the valid sample, the value of the IU flag for the target IU may be derived as 0, and if the target IU does not include the valid sample (ie When the target IU includes only invalidated samples), the value of the IU flag for the target IU may be derived as 1.
  • the encoding apparatus may generate information about IU flags of the IUs of the projected picture.
  • the information on the IU flags of the IUs may be referred to as an invalid map.
  • the invalidated map may be generated based on run-length coding and copy above line coding.
  • the envalidated map may include information about IU flags of IUs included in a target row among the IUs, and information about IU flags of IUs included in the target row. May be derived based on the run-length coding.
  • Information about the IU flags of the IUs included in the target row may include the IU flag value of the first IU of the target row, the number of occurrences of the IU flag value of the first IU, and / or the IU flag value of the first IU. Information about the number of occurrences of other values may be included.
  • the invalid map may include information indicating the number of rows including the same information as the target row. The information indicating the number of rows including the same information as the target row may be derived based on the copy-above line coding.
  • the information on the IU flags of the IUs included in the target row includes the IU flag value a of the first IU of the target row, the number b of occurrences of the IU flag value of the first IU, and / or the first IU.
  • Information about the number c of occurrences of a value different from the IU flag value may be included.
  • the values of the IU flags of the first IU to the b th IU of the target row may be derived as a.
  • the values of the IU flags of the b + 1 th IU to the b + c th IU of the target row may be derived from values different from the a (for example, 0 if a is 1 and 1 if a is 0).
  • the invalid map may include information indicating the number of rows d including the same information as the target row, in which case, the rows up to d-1 following the target row may correspond to the target row.
  • the same IU flags may be derived. That is, the IU flag values of each of the rows up to the d-1 following the target row may be derived from the same IU flag values as the IUs of the target row.
  • the encoding apparatus derives a sample value of a sample of the target processing unit as a predetermined specific value (S940).
  • a sample value of a sample of the target processing unit is a preset specific value. Can be derived.
  • the prediction for the target IU may be omitted, and the samples of the target IU may be derived with the predetermined specific value.
  • the predetermined specific value may be a value representing gray.
  • the target Decoding for the IU may be performed. That is, a prediction sample for the target IU may be derived, and a reconstruction sample may be derived based on the prediction sample.
  • the encoding apparatus generates, encodes, and outputs 360-degree video information about the projected picture (S950).
  • the encoding apparatus may generate the 360 degree video information for the projected picture, and may encode the 360 video information and output the encoded video information through a bitstream.
  • the 360 video information may include IU type information about the processing units of the projected picture.
  • the IU type information may indicate a type corresponding to the processing units.
  • the syntax element for the IU type information may be represented as IU_type.
  • the IU type information may indicate the CTU, the CU, the face, or the slice.
  • the IU type information may be transmitted through a high level syntax such as a slice header, a picture parameter set (PPS), a sequence parameter set (SPS), and the like.
  • the IU type information may be derived as shown in Table 1 above.
  • the 360 video information may include an invalidated map for the projection picture.
  • the envalidated map may indicate information on IU flags of the processing units of the projected picture.
  • the syntax element for the invalidated map may be represented as IU_map.
  • the envalidated map may include information on IU flags of processing units included in a target row among the processing units.
  • Information about the IU flags of the processing units included in the target row may include the IU flag value of the first processing unit of the target row, the number of occurrences of the IU flag value of the first processing unit, and / or the first processing unit.
  • Information about the number of occurrences of a value different from the IU flag value may be included.
  • the invalid map may include information indicating the number of rows including the same information as the target row.
  • the 360 degree video information may include information indicating the projection type of the projected picture.
  • the projection type of the projected picture may be one of several projection types, and the projection types may be Equirectangular Projection (ERP), cube map projection (CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP). It may include Truncated Square Pyramid projection (TSP), Segmented Sphere Projection (SSP) and Equal Area Projection (EAP).
  • the encoding apparatus may derive a prediction sample for the target processing unit, and register based on the original sample and the derived prediction sample. Dual samples can be generated.
  • the encoding apparatus may generate information about the residual based on the residual sample.
  • the information about the residual may include transform coefficients related to the residual sample.
  • the encoding apparatus may derive the reconstructed sample based on the prediction sample and the residual sample. That is, the encoding apparatus may derive the reconstructed sample by adding the prediction sample and the residual sample.
  • the encoding apparatus may encode the information about the residual and output the bitstream.
  • the bitstream may be transmitted to a decoding apparatus via a network or a storage medium.
  • FIG. 10 schematically illustrates a video decoding method by a decoding apparatus according to the present invention.
  • the method disclosed in FIG. 10 may be performed by the decoding apparatus disclosed in FIG. 4.
  • S1000 of FIG. 10 may be performed by the entropy decoding unit of the decoding apparatus
  • S1010 to S1030 may be performed by the prediction unit of the decoding apparatus.
  • the decoding apparatus receives 360 degree video information (S1000).
  • the decoding apparatus may receive the 360 degree video information through a bitstream.
  • the 360 video information may include IU type information about processing units of the projected picture.
  • the processing units may be called invalid units (IUs).
  • the IU type information may indicate a type corresponding to the IUs.
  • the syntax element for the IU type information may be represented as IU_type.
  • the IU type information may indicate a coding tree unit (CTU), a coding unit (CU), a face, or the slice.
  • the IU type information may be received through a high level syntax such as a slice header, a picture parameter set (PPS), a sequence parameter set (SPS), and the like.
  • the IU type information may be derived as shown in Table 1 above.
  • the 360 video information may include an invalidated map for the projection picture.
  • the envalidated map may indicate information on IU flags of the processing units of the projected picture.
  • the syntax element for the invalidated map may be represented as IU_map.
  • the envalidated map may include information on IU flags of IUs included in a target row among the IUs.
  • Information about the IU flags of the IUs included in the target row may include the IU flag value of the first IU of the target row, the number of occurrences of the IU flag value of the first IU, and / or the IU flag value of the first IU.
  • Information about the number of occurrences of other values may be included.
  • the invalid map may include information indicating the number of rows including the same information as the target row.
  • the 360 degree video information may include information indicating the projection type of the projected picture.
  • the projection type of the projected picture may be one of several projection types, and the projection types may be Equirectangular Projection (ERP), cube map projection (CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP). It may include Truncated Square Pyramid projection (TSP), Segmented Sphere Projection (SSP) and Equal Area Projection (EAP).
  • the decoding apparatus derives processing units of the projected picture (S1010).
  • the processing units may be called invalid units (IUs).
  • the decoding apparatus may derive the types of the IUs based on the IU type information on the IUs of the projected picture obtained from the bitstream. That is, the type of the IUs may be derived based on the IU type information for the IUs of the projected picture.
  • the IU type information may indicate a coding tree unit (CTU), a coding unit (CU), a face, or the slice. That is, the type of the IUs may be derived as a CTU, CU, face, or slice of the projected picture based on the IU type information.
  • the IUs may be derived from blocks corresponding to the type indicated by the IU type information. For example, when the type of the IUs is derived as a coding tree unit (CTU) of the projected picture, the IUs may be derived as blocks corresponding to the CTU.
  • the size of the IUs may be the same as the size of the CTU. For example, the size of the CTU may be 128x128 size or 256x256 size.
  • the IUs when the types of the IUs are derived to a coding unit (CU) of the projected picture, the IUs may be derived to blocks corresponding to the CU.
  • the size of the IUs may be the same as the size of the CU.
  • the IUs when the type of the IUs is derived to a face of the projected picture, the IUs may be derived to blocks corresponding to the face.
  • the size of the IUs may be the same as the size of the face.
  • the size of the face may be 960x960 size.
  • the IUs when the type of the IUs is derived as a slice of the projected picture, the IUs may be derived as blocks corresponding to the slice.
  • the size of the IUs may be the same as the size of the slice.
  • the decoding apparatus derives an IU flag of a target processing unit among the processing units based on the 360 video information (S1020).
  • the processing units may be called invalid units (IUs), and the target processing units may be called target IUs.
  • the IU flag for the target processing unit may indicate whether the target processing unit is an invalidated area.
  • the invalidated area may indicate an area including only invalidated samples.
  • the invalidated sample may represent a sample that does not include information about the projected picture, or may represent a sample to which the 360 degree video data is not mapped.
  • the decoding apparatus may derive the IU flags of the IUs based on the invalidated map for the projected picture obtained from the bitstream.
  • the IU flags of the IUs including the target IU of the projected picture may be derived based on the invalidated map for the projected picture.
  • the IU flags of the IUs may be derived by applying run-length coding and copy above line coding to the invalidated map.
  • the envalidated map may include information on IU flags of IUs included in a target row among the IUs. Information about the IU flags of the IUs included in the target row may be derived based on run-length coding.
  • Information about the IU flags of the IUs included in the target row may include the IU flag value of the first IU of the target row, the number of occurrences of the IU flag value of the first IU, and / or the IU flag value of the first IU. Information about the number of occurrences of other values may be included.
  • the invalid map may include information indicating the number of rows including the same information as the target row. The information indicating the number of rows including the same information as the target row may be derived based on the copy-above line coding.
  • rows of the next order of the target row having the same information as the phase target row may be derived, and the IUs included in the rows of the next order may be derived.
  • IU flags may be derived in the same manner as IU flags of IUs included in the target row.
  • the information on the IU flags of the IUs included in the target row includes the IU flag value a of the first IU of the target row, the number b of occurrences of the IU flag value of the first IU, and / or the first IU.
  • Information about the number c of occurrences of a value different from the IU flag value may be included.
  • the values of the IU flags of the first IU to the b th IU of the target row may be derived as a.
  • the values of the IU flags of the b + 1 th IU to the b + c th IU of the target row may be derived from values different from the a (for example, 0 if a is 1 and 1 if a is 0).
  • the invalid map may include information indicating the number of rows d including the same information as the target row, in which case, the rows up to d-1 following the target row may correspond to the target row.
  • the same IU flags may be derived. That is, the IU flag values of each of the rows up to the d-1 following the target row may be derived from the same IU flag values as the IUs of the target row.
  • the decoding apparatus derives a sample value of a sample of the target processing unit as a predetermined specific value (S1030). If the IU flag for the target processing unit indicates that the target processing unit is invaluated (e.g., the value of the IU flag for the target processing unit is 1), decoding for the target processing unit May be omitted, and the sample value of the sample of the target processing unit may be derived as a predetermined specific value.
  • the prediction for the target IU may be omitted, and the samples of the target IU may be derived with the predetermined specific value.
  • the predetermined specific value may be a value representing gray.
  • the IU flag for the target IU indicates that the target IU is not balanced (for example, the value of the IU flag for the target IU is 0), that is, for the target IU
  • decoding may be performed on the target IU. That is, a prediction sample for the target IU may be derived, and a reconstruction sample may be derived based on the prediction sample.
  • the decoding apparatus may use the prediction sample directly as a reconstruction sample according to a prediction mode, or A residual sample may be added to the prediction sample to generate a reconstructed sample.
  • the decoding apparatus may receive information about the residual for the target block, and the information about the residual may be included in the information about the face.
  • the information about the residual may include transform coefficients regarding the residual sample.
  • the decoding apparatus may derive the residual sample (or residual sample array) for the target block based on the residual information.
  • the decoding apparatus may generate a reconstructed sample based on the prediction sample and the residual sample, and may derive a reconstructed block or a reconstructed picture based on the reconstructed sample. Thereafter, as described above, the decoding apparatus may apply an in-loop filtering procedure, such as a deblocking filtering and / or SAO procedure, to the reconstructed picture in order to improve subjective / objective picture quality as necessary.
  • an in-loop filtering procedure such as a deblocking filtering and / or SAO procedure
  • the decoding apparatus may map 360-degree video data of the decoded projected picture into 3D space. That is, the decoding apparatus may re-project the projected picture into the 3D space.
  • a type for an invalidated unit of a projected picture is derived based on IU type information, and an invalidated unit for the projected picture is derived based on a type for the invalidated unit.
  • the above-described method according to the present invention may be implemented in software, and the encoding device and / or the decoding device according to the present invention may perform image processing of, for example, a TV, a computer, a smartphone, a set-top box, a display device, and the like. It can be included in the device.
  • the above-described method may be implemented as a module (process, function, etc.) for performing the above-described function.
  • the module may be stored in memory and executed by a processor.
  • the memory may be internal or external to the processor and may be coupled to the processor by various well known means.
  • the processor may include application-specific integrated circuits (ASICs), other chipsets, logic circuits, and / or data processing devices.
  • the memory may include read-only memory (ROM), random access memory (RAM), flash memory, memory card, storage medium and / or other storage device.

Abstract

An image decoding method executed by a decoding device, according to the present invention, comprises the steps of: receiving 360-degree video information; deriving processing units of a projected picture; on the basis of the 360-degree video information, deriving an IU flag for a target processing unit among the processing units; and if the IU flag for the target processing unit indicates that the target processing unit is invalid, deriving a sample value of a sample of the target processing unit by a predetermined specific value, wherein the IU flag for the target processing unit indicates whether or not the target processing unit is an invalid region.

Description

360도 비디오에 대한 영상 코딩 시스템에서 인밸리드 유닛 기반 영상 디코딩 방법 및 장치Method and apparatus for enval unit based image decoding in image coding system for 360 degree video
본 발명은 360도 비디오에 관한 것으로, 보다 상세하게는 360도 비디오에 관한 코딩 시스템에서의 인밸리드 유닛 기반 영상 디코딩 방법 및 장치에 관한 것이다.TECHNICAL FIELD The present invention relates to 360 degree video, and more particularly, to an invaluable unit based image decoding method and apparatus in a coding system for 360 degree video.
360도 비디오는 가상 현실(virtual reality, VR) 시스템을 제공하기 위해 필요한, 동시에 모든 방향(360도)으로 캡처되거나 재생되는 비디오 내지 이미지 컨텐츠를 의미할 수 있다. 예를 들어 360도 비디오는 3차원 구형면(Spherical surface) 상에 나타내어질 수 있다. 360도 비디오는 하나 이상의 카메라를 통하여 복수개의 시점 각각에 대한 이미지 또는 비디오가 캡처되고, 이 캡처된 복수개의 이미지/비디오들을 연결하여 하나의 파노라마 이미지/비디오 또는 구형의 이미지/비디오로 만들어 2D 픽처 상에 프로젝션하고, 프로젝션된 픽처를 코딩하여 전송하는 과정을 통하여 제공될 수 있다. 360 degree video may refer to video or image content that is required to provide a virtual reality (VR) system, while being captured or played back in all directions (360 degrees). For example, 360 degree video can be represented on a three-dimensional spherical surface. 360-degree video captures images or videos of each of a plurality of viewpoints through one or more cameras, and combines the captured images / videos into a single panoramic image / video or spherical image / video. It can be provided through a process of projecting on and coding and transmitting the projected picture.
360도 비디오는 기존의 영상 데이터에 비해 상대적으로 전송되는 정보량 또는 비트량이 증가하기 때문에 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 데이터를 전송하거나 기존의 저장 매체를 이용해 영상 데이터를 저장하는 경우, 전송 비용과 저장 비용이 증가된다. Since 360-degree video increases the amount of information or bit transmitted relative to conventional image data, when transmitting image data using a medium such as a conventional wired / wireless broadband line or storing image data using a conventional storage medium, The transmission and storage costs are increased.
이에 따라, 360도 비디오의 정보를 효과적으로 전송하거나 저장하고, 재생하기 위한 고효율의 영상 압축 기술이 요구된다.Accordingly, there is a need for a highly efficient image compression technique for effectively transmitting, storing, and playing back 360-degree video information.
본 발명의 기술적 과제는 360 비디오를 제공하기 위한 360 비디오 정보 전송의 효율을 높이는 방법 및 장치를 제공함에 있다.An object of the present invention is to provide a method and apparatus for increasing the efficiency of 360 video information transmission for providing 360 video.
본 발명의 다른 기술적 과제는 360 비디오에 관한 프로젝션된 픽처를 인밸리드 유닛들로 분할하는 방법 및 장치를 제공함에 있다.Another technical problem of the present invention is to provide a method and apparatus for dividing a projected picture for 360 video into in-valid units.
본 발명의 다른 기술적 과제는 프로젝션된 픽처의 인밸리드 유닛들을 기반으로 인밸리드 샘플들을 도출하는 방법 및 장치를 제공함에 있다.Another technical problem of the present invention is to provide a method and apparatus for deriving invalidated samples based on invalidated units of a projected picture.
본 발명의 다른 기술적 과제는 프로젝션된 픽처의 인밸리드 유닛들의 타입 및 인밸리드 맵에 대한 정보를 전송하는 방법 및 장치를 제공함에 있다.Another technical problem of the present invention is to provide a method and apparatus for transmitting information about an invalid map and a type of invalidated units of a projected picture.
본 발명의 일 실시예에 따르면, 인코딩 장치에 의하여 수행되는 인트라 예측 방법이 제공된다. 상기 방법은 적어도 하나의 카메라에 의해 캡쳐된 360도 비디오 데이터를 획득하는 단계, 상기 360도 비디오 데이터를 처리하여 프로젝션된 픽처(projected picture)를 획득하는 단계, 상기 프로젝션된 픽처의 처리 단위들을 도출하는 단계, 상기 처리 단위들 중 대상 처리 단위에 대한 IU 플래그를 도출하는 단계, 상기 대상 처리 단위에 대한 상기 IU 플래그가 상기 대상 처리 단위가 인밸리드(invalid)하다고 나타내는 경우, 상기 대상 처리 단위의 샘플의 샘플값을 기설정된 특정값으로 도출하는 단계, 및 상기 프로젝션된 픽처에 대한 360도 비디오 정보를 생성하고, 인코딩하여 출력하는 단계를 포함하되, 상기 대상 처리 단위에 대한 상기 IU 플래그는 상기 대상 처리 단위가 인밸리드 영역인지 여부를 나타내는 것을 특징으로 한다.According to an embodiment of the present invention, an intra prediction method performed by an encoding apparatus is provided. The method includes obtaining 360 degree video data captured by at least one camera, processing the 360 degree video data to obtain a projected picture, and deriving processing units of the projected picture. Deriving an IU flag for a target processing unit among the processing units, and if the IU flag for the target processing unit indicates that the target processing unit is invalid, a sample of the target processing unit Deriving a sample value of a predetermined value, and generating, encoding, and outputting 360-degree video information about the projected picture, wherein the IU flag for the target processing unit is the target processing; It is characterized by indicating whether the unit is an invalidated area.
본 발명의 다른 일 실시예에 따르면, 인트라 예측을 수행하는 인코딩 장치가 제공된다. 상기 인코딩 장치는 적어도 하나의 카메라에 의해 캡쳐된 360도 비디오 데이터를 획득하고, 상기 360도 비디오 데이터를 처리하여 프로젝션된 픽처(projected picture)를 획득하는 프로젝션 처리부, 상기 프로젝션된 픽처의 처리 단위들을 도출하고, 상기 처리 단위들 중 대상 처리 단위에 대한 IU 플래그를 도출하고, 상기 대상 처리 단위에 대한 상기 IU 플래그가 상기 대상 처리 단위가 인밸리드(invalid)하다고 나타내는 경우, 상기 대상 처리 단위의 샘플의 샘플값을 기설정된 특정값으로 도출하는 예측부, 및 상기 프로젝션된 픽처에 대한 360도 비디오 정보를 생성하고, 인코딩하여 출력하는 엔트로피 인코딩부를 포함하되, 상기 대상 처리 단위에 대한 상기 IU 플래그는 상기 대상 처리 단위가 인밸리드 영역인지 여부를 나타내는 것을 특징으로 한다.According to another embodiment of the present invention, an encoding apparatus for performing intra prediction is provided. The encoding apparatus obtains 360-degree video data captured by at least one camera, and processes the 360-degree video data to obtain a projected picture, a projection processing unit, deriving the processing units of the projected picture Deriving an IU flag for a target processing unit among the processing units, and if the IU flag for the target processing unit indicates that the target processing unit is invalid, A prediction unit for deriving a sample value into a predetermined specific value, and an entropy encoding unit for generating, encoding, and outputting 360-degree video information about the projected picture, wherein the IU flag for the target processing unit is the target unit; It is characterized by indicating whether the processing unit is an invalidated area.
본 발명의 또 다른 일 실시예에 따르면, 디코딩 장치에 의하여 수행되는 영상 디코딩 방법이 제공된다. 상기 방법은 360도 비디오 정보를 수신하는 단계, 프로젝션된 픽처의 처리 단위들을 도출하는 단계, 상기 360 비디오 정보를 기반으로 상기 처리 단위들 중 대상 처리 단위에 대한 IU 플래그를 도출하는 단계, 및 상기 대상 처리 단위에 대한 상기 IU 플래그가 상기 대상 처리 단위가 인밸리드(invalid)하다고 나타내는 경우, 상기 대상 처리 단위의 샘플의 샘플값을 기설정된 특정값으로 도출하는 단계를 포함하되, 상기 대상 처리 단위에 대한 상기 IU 플래그는 상기 대상 처리 단위가 인밸리드 영역인지 여부를 나타내는 것을 특징으로 한다.According to another embodiment of the present invention, there is provided an image decoding method performed by a decoding apparatus. The method includes: receiving 360 degree video information, deriving processing units of a projected picture, deriving an IU flag for a target processing unit of the processing units based on the 360 video information, and the target If the IU flag for a processing unit indicates that the target processing unit is invalid, deriving a sample value of a sample of the target processing unit as a predetermined specific value; The IU flag may indicate whether the target processing unit is an invalidated area.
본 발명의 다른 일 실시예에 따르면, 360도 비디오 데이터를 처리하는 디코딩 장치가 제공된다. 360도 비디오 정보를 수신하는 엔트로피 디코딩부, 및 프로젝션된 픽처의 처리 단위들을 도출하고, 상기 360 비디오 정보를 기반으로 상기 처리 단위들 중 대상 처리 단위에 대한 IU 플래그를 도출하고, 상기 대상 처리 단위에 대한 상기 IU 플래그가 상기 대상 처리 단위가 인밸리드(invalid)하다고 나타내는 경우, 상기 대상 처리 단위의 샘플의 샘플값을 기설정된 특정값으로 도출하는 예측부를 포함하되, 상기 대상 처리 단위에 대한 상기 IU 플래그는 상기 대상 처리 단위가 인밸리드 영역인지 여부를 나타내는 것을 특징으로 한다.According to another embodiment of the present invention, a decoding apparatus for processing 360 degree video data is provided. An entropy decoding unit for receiving 360-degree video information, and processing units of the projected picture, deriving an IU flag for a target processing unit among the processing units based on the 360 video information, And the IU flag for indicating that the target processing unit is invalid, the prediction unit deriving a sample value of a sample of the target processing unit into a predetermined specific value, wherein the IU for the target processing unit is included. The flag may indicate whether the target processing unit is an invalidated area.
본 발명에 따르면 360도 비디오에 대한 프로젝션된 픽처의 인밸리드 유닛을 기반으로 보다 효율적으로 인밸리드 샘플을 도출할 수 있고, 이를 통하여 상기 인밸리드 샘플의 도출을 위한 오버 헤드를 줄일 수 있고, 전반적인 코딩 효율을 향상시킬 수 있다. According to the present invention, it is possible to derive an invalidated sample more efficiently based on the invalidated unit of the projected picture for 360 degree video, thereby reducing the overhead for deriving the invalidated sample. The overall coding efficiency can be improved.
본 발명에 따르면 IU 타입 정보를 기반으로 프로젝션된 픽처의 인밸리드 유닛에 대한 타입을 도출하고, 상기 인밸리드 유닛에 대한 타입을 기반으로 상기 프로젝션된 픽처에 대한 인밸리드 유닛을 도출할 수 있고, 이를 통하여 상기 프로젝션된 픽처의 인밸리드 샘플의 도출을 위한 오버 헤드를 줄일 수 있고, 전반적인 코딩 효율을 향상시킬 수 있다.According to the present invention, a type for an invalidated unit of a projected picture may be derived based on IU type information, and an invalidated unit for the projected picture may be derived based on a type of the invalidated unit. Through this, overhead for deriving invalidated samples of the projected picture can be reduced, and overall coding efficiency can be improved.
본 발명에 따르면 인밸리드 맵을 기반으로 프로젝션된 픽처의 인밸리드 유닛들에 대한 IU 플래그들을 보다 효율적으로 도출할 수 있고, 이를 통하여 상기 프로젝션된 픽처의 인밸리드 샘플의 도출을 위한 오버 헤드를 줄일 수 있고, 전반적인 코딩 효율을 향상시킬 수 있다.According to the present invention, the IU flags for the in-valid units of the projected picture can be derived more efficiently based on the in-valid map, through which overhead for deriving in-valid samples of the projected picture can be obtained. Can be reduced, and the overall coding efficiency can be improved.
도 1은 본 발명에 따른 360도 비디오 제공을 위한 전체 아키텍처를 도시한 도면이다. 1 is a diagram illustrating an overall architecture for providing a 360 degree video according to the present invention.
도 2는 인코딩 장치 및 디코딩 장치에서의 360도 비디오의 처리 과정을 예시적으로 나타낸다.2 exemplarily illustrates a process of 360-degree video in an encoding apparatus and a decoding apparatus.
도 3은 본 발명이 적용될 수 있는 비디오 인코딩 장치의 구성을 개략적으로 설명하는 도면이다.3 is a diagram schematically illustrating a configuration of a video encoding apparatus to which the present invention may be applied.
도 4는 본 발명이 적용될 수 있는 비디오 디코딩 장치의 구성을 개략적으로 설명하는 도면이다.4 is a diagram schematically illustrating a configuration of a video decoding apparatus to which the present invention may be applied.
도 5a 내지 5c는 상기 ERP, 상기 CMP, 상기 OHP를 기반으로 도출된 프로젝션된 픽처를 예시적으로 나타낸다. 5A to 5C exemplarily illustrate projected pictures derived based on the ERP, the CMP, and the OHP.
도 6a 내지 6c는 IU들로 분할된 프로젝션된 픽처들을 예시적으로 나타낸다.6A-6C illustratively show projected pictures divided into IUs.
도 7은 상기 프로젝션 픽처의 IU들에 대한 인밸리드 맵을 예시적으로 나타낸다.7 exemplarily shows an invalidated map for IUs of the projection picture.
도 8은 IU를 기반으로 수행되는 인코딩/디코딩 과정의 일 예를 나타낸다.8 shows an example of an encoding / decoding process performed based on IU.
도 9는 본 발명에 따른 인코딩 장치에 의한 비디오 인코딩 방법을 개략적으로 나타낸다.9 schematically illustrates a video encoding method by an encoding device according to the present invention.
도 10은 본 발명에 따른 디코딩 장치에 의한 비디오 디코딩 방법을 개략적으로 나타낸다.10 schematically illustrates a video decoding method by a decoding apparatus according to the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정 실시예에 한정하려고 하는 것이 아니다. 본 명세서에서 상용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 기술적 사상을 한정하려는 의도로 사용되는 것은 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서 "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 도는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.As the present invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the invention to the specific embodiments. The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the spirit of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. The terms "comprise" or "having" in this specification are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features It is to be understood that the numbers, steps, operations, components, parts or figures do not exclude in advance the presence or possibility of adding them.
한편, 본 발명에서 설명되는 도면상의 각 구성들은 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미하지는 않는다. 예컨대, 각 구성 중 두 개 이상의 구성이 합쳐져 하나의 구성을 이룰 수도 있고, 하나의 구성이 복수의 구성으로 나뉘어질 수도 있다. 각 구성이 통합 및/또는 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.On the other hand, each configuration in the drawings described in the present invention are shown independently for the convenience of description of the different characteristic functions, it does not mean that each configuration is implemented by separate hardware or separate software. For example, two or more of each configuration may be combined to form one configuration, or one configuration may be divided into a plurality of configurations. Embodiments in which each configuration is integrated and / or separated are also included in the scope of the present invention without departing from the spirit of the present invention.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성 요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성 요소에 대해서 중복된 설명은 생략한다.Hereinafter, with reference to the accompanying drawings, it will be described in detail a preferred embodiment of the present invention. Hereinafter, the same reference numerals are used for the same components in the drawings, and redundant description of the same components is omitted.
본 명세서에서 픽처(picture)는 일반적으로 특정 시간대의 하나의 영상을 나타내는 단위를 의미하며, 슬라이스(slice)는 코딩에 있어서 픽처의 일부를 구성하는 단위이다. 하나의 픽처는 복수의 슬라이스로 구성될 수 있으며, 필요에 따라서 픽처 및 슬라이스는 서로 혼용되어 사용될 수 있다.In the present specification, a picture generally refers to a unit representing one image of a specific time zone, and a slice is a unit constituting a part of a picture in coding. One picture may be composed of a plurality of slices, and if necessary, the picture and the slice may be mixed with each other.
픽셀(pixel) 또는 펠(pel)은 하나의 픽처(또는 영상)을 구성하는 최소의 단위를 의미할 수 있다. 또한, 픽셀에 대응하는 용어로서 '샘플(sample)'이 사용될 수 있다. 샘플은 일반적으로 픽셀 또는 픽셀의 값을 나타낼 수 있으며, 휘도(luma) 성분의 픽셀/픽셀값만을 나타낼 수도 있고, 채도(chroma) 성분의 픽셀/픽셀 값만을 나타낼 수도 있다. A pixel or a pel may refer to a minimum unit constituting one picture (or image). Also, 'sample' may be used as a term corresponding to a pixel. A sample may generally represent a pixel or a value of a pixel, and may only represent pixel / pixel values of the luma component, or only pixel / pixel values of the chroma component.
유닛(unit)은 영상 처리의 기본 단위를 나타낸다. 유닛은 픽처의 특정 영역 및 해당 영역에 관련된 정보 중 적어도 하나를 포함할 수 있다. 유닛은 경우에 따라서 블록(block) 또는 영역(area) 등의 용어와 혼용하여 사용될 수 있다. 일반적인 경우, MxN 블록은 M개의 열과 N개의 행으로 이루어진 샘플들 또는 변환 계수(transform coefficient)들의 집합을 나타낼 수 있다.A unit represents the basic unit of image processing. The unit may include at least one of a specific region of the picture and information related to the region. The unit may be used interchangeably with terms such as block or area in some cases. In a general case, an M × N block may represent a set of samples or transform coefficients composed of M columns and N rows.
도 1은 본 발명에 따른 360도 비디오 제공을 위한 전체 아키텍처를 도시한 도면이다. 1 is a diagram illustrating an overall architecture for providing a 360 degree video according to the present invention.
본 발명은 사용자에게 가상현실 (Virtual Reality, VR)을 제공하기 위하여, 360 컨텐츠를 제공하는 방안을 제안한다. VR이란 실제 또는 가상의 환경을 복제(replicates) 하기 위한 기술 내지는 그 환경을 의미할 수 있다. VR은 인공적으로 사용자에게 감각적 경험을 제공하며, 이를 통해 사용자는 전자적으로 프로젝션된 환경에 있는 것과 같은 경험을 할 수 있다. The present invention proposes a method of providing 360 content in order to provide a user with virtual reality (VR). VR may refer to a technique or environment for replicating a real or virtual environment. VR artificially provides the user with a sensational experience, which allows the user to experience the same as being in an electronically projected environment.
360 컨텐츠는 VR을 구현, 제공하기 위한 컨텐츠 전반을 의미하며, 360도 비디오 및/또는 360 오디오를 포함할 수 있다. 360도 비디오는 VR을 제공하기 위해 필요한, 동시에 모든 방향(360도)으로 캡처되거나 재생되는 비디오 내지 이미지 컨텐츠를 의미할 수 있다. 이하, 360도 비디오라 함은 360도 비디오를 의미할 수 있다. 360도 비디오는 3D 모델에 따라 다양한 형태의 3D 공간 상에 나타내어지는 비디오 내지 이미지를 의미할 수 있으며, 예를 들어 360도 비디오는 구형면(spherical surface) 상에 나타내어질 수 있다. 360 오디오 역시 VR을 제공하기 위한 오디오 컨텐츠로서, 음향 발생지가 3차원의 특정 공간상에 위치하는 것으로 인지될 수 있는, 공간적(Spatial) 오디오 컨텐츠를 의미할 수 있다. 360 컨텐츠는 생성, 처리되어 사용자들로 전송될 수 있으며, 사용자들은 360 컨텐츠를 이용하여 VR 경험을 소비할 수 있다. 360 content refers to the overall content for implementing and providing VR, and may include 360 degree video and / or 360 audio. 360 degree video may refer to video or image content that is required to provide VR, and simultaneously captured or played back in all directions (360 degrees). Hereinafter, the 360 degree video may mean a 360 degree video. The 360 degree video may refer to a video or an image represented on various types of 3D space according to the 3D model, for example, the 360 degree video may be displayed on a spherical surface. 360 audio is also audio content for providing VR, and may mean spatial audio content, in which a sound source can be recognized as being located in a specific space in three dimensions. 360 content may be generated, processed, and transmitted to users, and users may consume the VR experience using 360 content.
본 발명은 특히 360도 비디오를 효과적으로 제공하는 방안을 제안한다. 360도 비디오를 제공하기 위하여, 먼저 하나 이상의 카메라를 통해 360도 비디오가 캡처될 수 있다. 캡처된 360도 비디오는 일련의 과정을 거쳐 전송되고, 수신측에서는 수신된 데이터를 다시 원래의 360도 비디오로 가공하여 렌더링할 수 있다. 이를 통해 360도 비디오가 사용자에게 제공될 수 있다. The present invention particularly proposes a method for effectively providing 360 degree video. In order to provide 360 degree video, 360 degree video may first be captured via one or more cameras. The captured 360-degree video is transmitted through a series of processes, and the receiving side can process and render the received data back into the original 360-degree video. This may provide a 360 degree video to the user.
구체적으로 360도 비디오 제공을 위한 전체의 과정은 캡처 과정(process), 준비 과정, 전송 과정, 프로세싱 과정, 렌더링 과정 및/또는 피드백 과정을 포함할 수 있다. In more detail, the entire process for providing the 360 degree video may include a capture process, preparation process, transmission process, processing process, rendering process, and / or feedback process.
캡처 과정은 하나 이상의 카메라를 통하여 복수개의 시점 각각에 대한 이미지 또는 비디오를 캡처하는 과정을 의미할 수 있다. 캡처 과정에 의해 도시된 도 1의 (110)과 같은 이미지/비디오 데이터가 생성될 수 있다. 도시된 도 1의 (110)의 각 평면은 각 시점에 대한 이미지/비디오를 의미할 수 있다. 이 캡처된 복수개의 이미지/비디오를 로(raw) 데이터라 할 수도 있다. 캡처 과정에서 캡처와 관련된 메타데이터가 생성될 수 있다. The capturing process may refer to capturing an image or video for each of a plurality of viewpoints through one or more cameras. Image / video data such as 110 of FIG. 1 shown by the capture process may be generated. Each plane of FIG. 1 110 shown may mean an image / video for each viewpoint. The captured plurality of images / videos may be referred to as raw data. In the capture process, metadata related to capture may be generated.
이 캡처를 위하여 특수한 카메라가 사용될 수 있다. 실시예에 따라 컴퓨터로 생성된 가상의 공간에 대한 360도 비디오를 제공하고자 하는 경우, 실제 카메라를 통한 캡처가 수행되지 않을 수 있다. 이 경우 단순히 관련 데이터가 생성되는 과정으로 해당 캡처 과정이 갈음될 수 있다. Special cameras can be used for this capture. According to an exemplary embodiment, when a 360 degree video of a virtual space generated by a computer is to be provided, capture through an actual camera may not be performed. In this case, the corresponding capture process may be replaced by simply generating related data.
준비 과정은 캡처된 이미지/비디오 및 캡처 과정에서 발생한 메타데이터를 처리하는 과정일 수 있다. 캡처된 이미지/비디오는 이 준비 과정에서, 스티칭 과정, 프로젝션 과정, 리전별 패킹 과정(Region-wise Packing) 및/또는 인코딩 과정 등을 거칠 수 있다.The preparation process may be a process of processing the captured image / video and metadata generated during the capture process. The captured image / video may undergo a stitching process, a projection process, a region-wise packing process, and / or an encoding process in this preparation process.
먼저 각각의 이미지/비디오가 스티칭(Stitching) 과정을 거칠 수 있다. 스티칭 과정은 각각의 캡처된 이미지/비디오들을 연결하여 하나의 파노라마 이미지/비디오 또는 구형의 이미지/비디오를 만드는 과정일 수 있다. First, each image / video can be stitched. The stitching process may be a process of connecting each captured image / video to create a panoramic image / video or a spherical image / video.
이 후, 스티칭된 이미지/비디오는 프로젝션(Projection) 과정을 거칠 수 있다. 프로젝션 과정에서, 스티칭된 이미지/비디오는 2D 이미지 상에 프로젝션될 수 있다. 이 2D 이미지는 문맥에 따라 2D 이미지 프레임 또는 프로젝션된 픽처(projected picture)로 불릴 수도 있다. 2D 이미지로 프로젝션하는 것을 2D 이미지로 맵핑한다고 표현할 수도 있다. 프로젝션된 이미지/비디오 데이터는 도시된 도 1의 (120)과 같은 2D 이미지의 형태가 될 수 있다. Thereafter, the stitched image / video may be subjected to a projection process. In the projection process, the stitched image / video may be projected onto the 2D image. This 2D image may be called a 2D image frame or projected picture depending on the context. It can also be expressed as mapping a projection to a 2D image to a 2D image. The projected image / video data may be in the form of a 2D image as shown in FIG. 1 120.
또한, 프로젝션 과정에서, 2D 이미지 상에 프로젝션된 비디오 데이터를 리전(Region) 별로 나누어 처리를 가하는 과정이 적용될 수 있다. 여기서 리전(Region)이란, 360도 비디오 데이터가 프로젝션된 2D 이미지가 나누어진 영역을 의미할 수 있다. 상기 리전은 페이스(face) 또는 타일(tile)에 대응될 수도 있다. 이 리전들은, 실시예에 따라, 2D 이미지를 균등하게 나누어 구분되거나, 임의로 나누어져 구분될 수 있다. 또한 실시예에 따라 리전들은, 프로젝션 스킴에 따라 구분될 수도 있다. Also, in the projection process, a process of dividing the video data projected on the 2D image by region and applying the process may be applied. Here, the region may mean a region in which 2D images projected with 360-degree video data are divided. The region may correspond to a face or a tile. The regions may be divided evenly or arbitrarily divided into 2D images according to an embodiment. In some embodiments, regions may be divided according to a projection scheme.
실시예에 따라 이 처리 과정은, 비디오 코딩 효율을 높이기 위해, 각 리전을 회전한다거나 2D 이미지 상에서 재배열하는 과정을 포함할 수 있다. 예를 들어, 리전들을 회전하여 리전들의 특정 변들이 서로 근접하여 위치되도록 함으로써, 코딩 시의 효율이 높아지게 할 수 있다. According to an embodiment, this processing may include rotating each region or rearranging on 2D images in order to increase video coding efficiency. For example, by rotating the regions so that certain sides of the regions are located close to each other, efficiency in coding can be increased.
실시예에 따라 이 처리 과정은, 360도 비디오상의 영역별로 레졸루션(resolution) 을 차등화하기 위하여, 특정 리전에 대한 레졸루션을 높인다거나, 낮추는 과정을 포함할 수 있다. 예를 들어, 360도 비디오 상에서 상대적으로 더 중요한 영역에 해당하는 리전들은, 다른 리전들보다 레졸루션을 높게 할 수 있다. 2D 이미지 상에 프로젝션된 비디오 데이터는 비디오 코덱을 통한 인코딩 과정을 거칠 수 있다. According to an embodiment, the process may include increasing or decreasing a resolution for a specific region in order to differentiate the resolution for each region of the 360 degree video. For example, regions that correspond to relatively more important regions on 360 degree video may have higher resolution than other regions. Video data projected onto a 2D image may undergo an encoding process through a video codec.
실시예에 따라 준비 과정은 부가적으로 에디팅(editing) 과정 등을 더 포함할 수 있다. 이 에디팅 과정에서 프로젝션 전후의 이미지/비디오 데이터들에 대한 편집 등이 더 수행될 수 있다. 준비 과정에서도 마찬가지로, 스티칭/프로젝션/인코딩/에디팅 등에 대한 메타데이터가 생성될 수 있다. 또한 2D 이미지 상에 프로젝션된 비디오 데이터들의 초기 시점, 혹은 ROI (Region of Interest) 등에 관한 메타데이터가 생성될 수 있다.In some embodiments, the preparation process may further include an editing process. In this editing process, editing of image / video data before and after projection may be further performed. Similarly, in preparation, metadata about stitching / projection / encoding / editing may be generated. In addition, metadata about an initial time point, or a region of interest (ROI) of video data projected on the 2D image may be generated.
전송 과정은 준비 과정을 거친 이미지/비디오 데이터 및 메타데이터들을 처리하여 전송하는 과정일 수 있다. 전송을 위해 임의의 전송 프로토콜에 따른 처리가 수행될 수 있다. 전송을 위한 처리를 마친 데이터들은 방송망 및/또는 브로드밴드를 통해 전달될 수 있다. 이 데이터들은 온 디맨드(On Demand) 방식으로 수신측으로 전달될 수도 있다. 수신측에서는 다양한 경로를 통해 해당 데이터를 수신할 수 있다. The transmission process may be a process of processing and transmitting image / video data and metadata that have been prepared. Processing may be performed according to any transport protocol for the transmission. Data that has been processed for transmission may be delivered through a broadcast network and / or broadband. These data may be delivered to the receiving side in an on demand manner. The receiving side can receive the corresponding data through various paths.
프로세싱 과정은 수신한 데이터를 디코딩하고, 프로젝션되어 있는 이미지/비디오 데이터를 3D 모델 상에 리-프로젝션(Re-projection) 하는 과정을 의미할 수 있다. 이 과정에서 2D 이미지들 상에 프로젝션되어 있는 이미지/비디오 데이터가 3D 공간 상으로 리-프로젝션될 수 있다. 이 과정을 문맥에 따라 맵핑, 프로젝션이라고 부를 수도 있다. 이 때 맵핑되는 3D 공간은 3D 모델에 따라 다른 형태를 가질 수 있다. 예를 들어 3D 모델에는 구형(Sphere), 큐브(Cube), 실린더(Cylinder) 또는 피라미드(Pyramid) 가 있을 수 있다. The processing may refer to a process of decoding the received data and re-projecting the projected image / video data onto the 3D model. In this process, image / video data projected on 2D images may be re-projected onto 3D space. This process may be called mapping or projection depending on the context. In this case, the mapped 3D space may have a different shape according to the 3D model. For example, the 3D model may have a sphere, a cube, a cylinder, or a pyramid.
실시예에 따라 프로세싱 과정은 부가적으로 에디팅(editing) 과정, 업 스케일링(up scaling) 과정 등을 더 포함할 수 있다. 이 에디팅 과정에서 리-프로젝션 전후의 이미지/비디오 데이터에 대한 편집 등이 더 수행될 수 있다. 이미지/비디오 데이터가 축소되어 있는 경우 업 스케일링 과정에서 샘플들의 업 스케일링을 통해 그 크기를 확대할 수 있다. 필요한 경우, 다운 스케일링을 통해 사이즈를 축소하는 작업이 수행될 수도 있다. According to an embodiment, the processing process may further include an editing process, an up scaling process, and the like. In this editing process, editing of image / video data before and after re-projection may be further performed. When the image / video data is reduced, the size of the sample may be increased by upscaling the samples during the upscaling process. If necessary, the operation of reducing the size through down scaling may be performed.
렌더링 과정은 3D 공간상에 리-프로젝션된 이미지/비디오 데이터를 렌더링하고 디스플레이하는 과정을 의미할 수 있다. 표현에 따라 리-프로젝션과 렌더링을 합쳐 3D 모델 상에 렌더링한다 라고 표현할 수도 있다. 3D 모델 상에 리-프로젝션된 (또는 3D 모델 상으로 렌더링된) 이미지/비디오는 도시된 도 1의 (130)과 같은 형태를 가질 수 있다. 도시된 도 1의 (130)은 구형(Sphere) 의 3D 모델에 리-프로젝션된 경우이다. 사용자는 VR 디스플레이 등을 통하여 렌더링된 이미지/비디오의 일부 영역을 볼 수 있다. 이 때 사용자가 보게 되는 영역은 도시된 도 1의 (140)과 같은 형태일 수 있다. The rendering process may refer to a process of rendering and displaying re-projected image / video data in 3D space. Depending on the representation, it may be said to combine re-projection and rendering to render on a 3D model. The image / video re-projected onto the 3D model (or rendered onto the 3D model) may have a shape such as 130 of FIG. 1 shown. 1, 130 is shown when re-projected onto a 3D model of a sphere. The user may view some areas of the rendered image / video through the VR display. In this case, the area seen by the user may be in the form as shown in FIG.
피드백 과정은 디스플레이 과정에서 획득될 수 있는 다양한 피드백 정보들을 송신측으로 전달하는 과정을 의미할 수 있다. 피드백 과정을 통해 360도 비디오 소비에 있어 인터랙티비티(Interactivity) 가 제공될 수 있다. 실시예에 따라, 피드백 과정에서 헤드 오리엔테이션(Head Orientation) 정보, 사용자가 현재 보고 있는 영역을 나타내는 뷰포트(Viewport) 정보 등이 송신측으로 전달될 수 있다. 실시예에 따라, 사용자는 VR 환경 상에 구현된 것들과 상호작용할 수도 있는데, 이 경우 그 상호작용과 관련된 정보가 피드백 과정에서 송신측 내지 서비스 프로바이더 측으로 전달될 수도 있다. 실시예에 따라 피드백 과정은 수행되지 않을 수도 있다.The feedback process may mean a process of transmitting various feedback information that can be obtained in the display process to the transmitter. Through the feedback process, interactivity may be provided for 360-degree video consumption. According to an embodiment, in the feedback process, head orientation information, viewport information indicating an area currently viewed by the user, and the like may be transmitted to the transmitter. According to an embodiment, the user may interact with those implemented on the VR environment, in which case the information related to the interaction may be transmitted to the sender or service provider side in the feedback process. In some embodiments, the feedback process may not be performed.
헤드 오리엔테이션 정보는 사용자의 머리 위치, 각도, 움직임 등에 대한 정보를 의미할 수 있다. 이 정보를 기반으로 사용자가 현재 360도 비디오 내에서 보고 있는 영역에 대한 정보, 즉 뷰포트 정보가 계산될 수 있다. The head orientation information may mean information about a head position, an angle, and a movement of the user. Based on this information, information about the area currently viewed by the user in the 360 degree video, that is, viewport information, may be calculated.
뷰포트 정보는 현재 사용자가 360도 비디오에서 보고 있는 영역에 대한 정보일 수 있다. 이를 통해 게이즈 분석(Gaze Analysis) 이 수행되어, 사용자가 어떠한 방식으로 360도 비디오를 소비하는지, 360도 비디오의 어느 영역을 얼마나 응시하는지 등을 확인할 수도 있다. 게이즈 분석은 수신측에서 수행되어 송신측으로 피드백 채널을 통해 전달될 수도 있다. VR 디스플레이 등의 장치는 사용자의 머리 위치/방향, 장치가 지원하는 수직(vertical) 혹은 수평(horizontal) FOV(Field Of View) 정보 등에 근거하여 뷰포트 영역을 추출할 수 있다. The viewport information may be information about an area currently viewed by the user in 360 degree video. Through this, a gaze analysis may be performed to determine how the user consumes 360 degree video, which area of the 360 degree video, and how much. Gayes analysis may be performed at the receiving end and delivered to the transmitting side via a feedback channel. A device such as a VR display may extract a viewport area based on the position / direction of a user's head, vertical or horizontal field of view (FOV) information supported by the device, and the like.
실시예에 따라, 전술한 피드백 정보는 송신측으로 전달되는 것뿐 아니라, 수신측에서 소비될 수도 있다. 즉, 전술한 피드백 정보를 이용하여 수신측의 디코딩, 리-프로젝션, 렌더링 과정 등이 수행될 수 있다. 예를 들어, 헤드 오리엔테이션 정보 및/또는 뷰포트 정보를 이용하여 현재 사용자가 보고 있는 영역에 대한 360도 비디오만 우선적으로 디코딩 및 렌더링될 수도 있다.According to an embodiment, the above-described feedback information may be consumed at the receiving side as well as transmitted to the transmitting side. That is, the decoding, re-projection, rendering process, etc. of the receiving side may be performed using the above-described feedback information. For example, using head orientation information and / or viewport information, only 360 degree video for the area currently being viewed by the user may be preferentially decoded and rendered.
여기서 뷰포트(viewport) 내지 뷰포트 영역이란, 사용자가 360도 비디오에서 보고 있는 영역을 의미할 수 있다. 시점(viewpoint) 는 사용자가 360도 비디오에서 보고 있는 지점으로서, 뷰포트 영역의 정중앙 지점을 의미할 수 있다. 즉, 뷰포트는 시점을 중심으로 한 영역인데, 그 영역이 차지하는 크기 형태 등은 후술할 FOV(Field Of View) 에 의해 결정될 수 있다. Here, the viewport to the viewport area may mean an area that the user is viewing in the 360 degree video. A viewpoint is a point that a user is viewing in the 360 degree video and may mean a center point of the viewport area. That is, the viewport is an area centered on the viewpoint, and the size shape occupied by the area may be determined by a field of view (FOV) to be described later.
전술한 360도 비디오 제공을 위한 전체 아키텍처 내에서, 캡처/프로젝션/인코딩/전송/디코딩/리-프로젝션/렌더링의 일련의 과정을 거치게 되는 이미지/비디오 데이터들을 360도 비디오 데이터라 부를 수 있다. 360도 비디오 데이터라는 용어는 또한 이러한 이미지/비디오 데이터들과 관련되는 메타데이터 내지 시그널링 정보를 포함하는 개념으로 쓰일 수도 있다. Within the overall architecture for providing 360-degree video described above, image / video data that undergoes a series of processes of capture / projection / encoding / transmission / decoding / re-projection / rendering may be referred to as 360-degree video data. The term 360 degree video data may also be used as a concept including metadata or signaling information associated with such image / video data.
도 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 exemplarily illustrates a process of 360-degree video in an encoding apparatus and a decoding apparatus. 2A illustrates a process of processing input 360 degree video data performed by the encoding apparatus. Referring to (a) of FIG. 2, the projection processor 210 may stitch and project 360-degree video data of an input viewpoint to a 3D projection structure according to various projection schemes, and project the 3D projection structure to the 3D projection structure. Recorded 360-degree video data may be represented as a 2D image. That is, the projection processor 210 may stitch the 360-degree video data and project the 2D image. Here, the projection scheme may be called a projection type. The 2D image projected with the 360 degree video data may be referred to as a projected frame or a projected picture. The projected picture may be divided into a plurality of faces according to the projection type. The face may correspond to a tile. Depending on the particular projection type, the plurality of faces in the projected picture may be the same size and shape (eg, triangle or square). In addition, the size and shape of the face in the projected picture may vary depending on the projection type. The projection processing unit 210 may perform processing such as rotating and rearranging regions of the projected picture, changing the resolution of each region, and the like. The encoding device 220 may encode the information about the projected picture and output the encoded picture. The process of encoding the projected picture by the encoding device 220 will be described later in detail with reference to FIG. 3. The projection processing unit 210 may be included in the encoding apparatus, or the projection process may be performed through an external device.
도 2의 (a)는 디코딩 장치에 의하여 수행되는 360도 비디오 데이터에 관한 프로젝션된 픽처에 대한 정보의 처리 과정을 나타낼 수 있다. 상기 프로젝션된 픽처에 대한 정보는 비트스트림을 통하여 수신될 수 있다. FIG. 2A may show a process of processing information about a projected picture related to 360 degree video data performed by the decoding apparatus. Information about the projected picture may be received through a bitstream.
디코딩 장치(250)는 상기 수신된 프로젝션 픽처에 대한 정보를 기반으로 상기 프로젝션 픽처를 디코딩할 수 있다. 디코딩 장치(250)에 의한 상기 프로젝션된 픽처를 디코딩하는 과정은 도 4에 대한 설명에서 구체적으로 후술한다. The decoding apparatus 250 may decode the projection picture based on the received information about the projection picture. A process of decoding the projected picture by the decoding device 250 will be described later in detail with reference to FIG. 4.
리-프로젝션(re-projection) 처리부(260)는 상기 디코딩 과정을 통하여 도출된 프로젝션된 픽처에 프로젝션되어 있는 360도 비디오 데이터를 3D 모델 상에 리-프로젝션(Re-projection)할 수 있다. 상기 리-프로젝션 처리부(260)는 상기 프로젝션 처리부와 대응할 수 있다. 이 과정에서 상기 프로젝션된 픽처 상에 프로젝션되어 있는 360도 비디오 데이터가 3D 공간 상으로 리-프로젝션될 수 있다. 이 과정을 문맥에 따라 맵핑, 프로젝션이라고 부를 수도 있다. 이 때 맵핑되는 3D 공간은 3D 모델에 따라 다른 형태를 가질 수 있다. 예를 들어 3D 모델에는 구형(Sphere), 큐브(Cube), 실린더(Cylinder) 또는 피라미드(Pyramid) 가 있을 수 있다. 한편, 상기 리-프로젝션 처리부(260)는 디코딩 장치(250)에 포함될 수 있고, 또는 외부의 장치를 통하여 상기 리-프로젝션 과정이 수행될 수도 있다. 리-프로젝션된 360도 비디오 데이터는 3D 공간상에 렌더링될 수 있다. The re-projection processor 260 may re-project the 360-degree video data projected on the projected picture derived through the decoding process onto the 3D model. The re-projection processor 260 may correspond to the projection processor. In this process, 360 degree video data projected on the projected picture may be re-projected onto 3D space. This process may be called mapping or projection depending on the context. In this case, the mapped 3D space may have a different shape according to the 3D model. For example, the 3D model may have a sphere, a cube, a cylinder, or a pyramid. The re-projection processor 260 may be included in the decoding apparatus 250 or the re-projection process may be performed through an external device. The re-projected 360 degree video data can be rendered in 3D space.
도 3은 본 발명이 적용될 수 있는 비디오 인코딩 장치의 구성을 개략적으로 설명하는 도면이다. 3 is a diagram schematically illustrating a configuration of a video encoding apparatus to which the present invention may be applied.
도 3을 참조하면, 비디오 인코딩 장치(300)는 픽처 분할부(305), 예측부(310), 감산부(315), 변환부(320), 양자화부(325), 재정렬부(330), 엔트로피 인코딩부(335), 레지듀얼 처리부(340), 가산부(350), 필터부(355) 및 메모리(360)을 포함할 수 있다. 레지듀얼 처리부(340)는 역양자화부(341) 및 역변환부(342)를 포함할 수 있다. Referring to FIG. 3, the video encoding apparatus 300 may include a picture splitter 305, a predictor 310, a subtractor 315, a transformer 320, a quantizer 325, a reorderer 330, The entropy encoding unit 335, the residual processing unit 340, the adding unit 350, the filter unit 355, and the memory 360 may be included. The residual processor 340 may include an inverse quantizer 341 and an inverse transform unit 342.
픽처 분할부(305)는 입력된 픽처를 적어도 하나의 처리 유닛(processing unit)으로 분할할 수 있다. The picture dividing unit 305 may divide the input picture into at least one processing unit.
일 예로, 처리 유닛은 코딩 유닛(coding unit, CU)이라고 불릴 수 있다. 이 경우 코딩 유닛은 최대 코딩 유닛(largest coding unit, LCU)으로부터 QTBT (Quad-tree binary-tree) 구조에 따라 재귀적으로(recursively) 분할될 수 있다. 예를 들어, 하나의 코딩 유닛은 쿼드 트리 구조 및/또는 바이너리 트리 구조를 기반으로 하위(deeper) 뎁스의 복수의 코딩 유닛들로 분할될 수 있다. 이 경우 예를 들어 쿼드 트리 구조가 먼저 적용되고 바이너리 트리 구조가 나중에 적용될 수 있다. 또는 바이너리 트리 구조가 먼저 적용될 수도 있다. 더 이상 분할되지 않는 최종 코딩 유닛을 기반으로 본 발명에 따른 코딩 절차가 수행될 수 있다. 이 경우 영상 특성에 따른 코딩 효율 등을 기반으로, 최대 코딩 유닛이 바로 최종 코딩 유닛으로 사용될 수 있고, 또는 필요에 따라 코딩 유닛은 재귀적으로(recursively) 보다 하위 뎁스의 코딩 유닛들로 분할되어 최적의 사이즈의 코딩 유닛이 최종 코딩 유닛으로 사용될 수 있다. 여기서 코딩 절차라 함은 후술하는 예측, 변환, 및 복원 등의 절차를 포함할 수 있다. As an example, the processing unit may be called a coding unit (CU). In this case, the coding unit may be recursively split from the largest coding unit (LCU) according to a quad-tree binary-tree (QTBT) structure. For example, one coding unit may be divided into a plurality of coding units of a deeper depth based on a quad tree structure and / or a binary tree structure. In this case, for example, the quad tree structure may be applied first and the binary tree structure may be applied later. Alternatively, the binary tree structure may be applied first. The coding procedure according to the present invention may be performed based on the final coding unit that is no longer split. In this case, the maximum coding unit may be used as the final coding unit immediately based on coding efficiency according to the image characteristic, or if necessary, the coding unit is recursively divided into coding units of lower depths and optimized. A coding unit of size may be used as the final coding unit. Here, the coding procedure may include a procedure of prediction, transform, and reconstruction, which will be described later.
다른 예로, 처리 유닛은 코딩 유닛(coding unit, CU) 예측 유닛(prediction unit, PU) 또는 변환 유닛(transform unit, TU)을 포함할 수도 있다. 코딩 유닛은 최대 코딩 유닛(largest coding unit, LCU)으로부터 쿼드 트리 구조를 따라서 하위(deeper) 뎁스의 코딩 유닛들로 분할(split)될 수 있다. 이 경우 영상 특성에 따른 코딩 효율 등을 기반으로, 최대 코딩 유닛이 바로 최종 코딩 유닛으로 사용될 수 있고, 또는 필요에 따라 코딩 유닛은 재귀적으로(recursively) 보다 하위 뎁스의 코딩 유닛들로 분할되어 최적의 사이즈의 코딩 유닛이 최종 코딩 유닛으로 사용될 수 있다. 최소 코딩 유닛(smallest coding unit, SCU)이 설정된 경우 코딩 유닛은 최소 코딩 유닛보다 더 작은 코딩 유닛으로 분할될 수 없다. 여기서 최종 코딩 유닛이라 함은 예측 유닛 또는 변환 유닛으로 파티셔닝 또는 분할되는 기반이 되는 코딩 유닛을 의미한다. 예측 유닛은 코딩 유닛으로부터 파티셔닝(partitioning)되는 유닛으로서, 샘플 예측의 유닛일 수 있다. 이 때, 예측 유닛은 서브 블록(sub block)으로 나뉠 수도 있다. 변환 유닛은 코딩 유닛으로부터 쿼드 트리 구조를 따라서 분할 될 수 있으며, 변환 계수를 유도하는 유닛 및/또는 변환 계수로부터 레지듀얼 신호(residual signal)를 유도하는 유닛일 수 있다. 이하, 코딩 유닛은 코딩 블록(coding block, CB), 예측 유닛은 예측 블록(prediction block, PB), 변환 유닛은 변환 블록(transform block, TB) 으로 불릴 수 있다. 예측 블록 또는 예측 유닛은 픽처 내에서 블록 형태의 특정 영역을 의미할 수 있고, 예측 샘플의 어레이(array)를 포함할 수 있다. 또한, 변환 블록 또는 변환 유닛은 픽처 내에서 블록 형태의 특정 영역을 의미할 수 있고, 변환 계수 또는 레지듀얼 샘플의 어레이를 포함할 수 있다.As another example, the processing unit may include a coding unit (CU) prediction unit (PU) or a transform unit (TU). The coding unit may be split from the largest coding unit (LCU) into coding units of deeper depths along the quad tree structure. In this case, the maximum coding unit may be used as the final coding unit immediately based on coding efficiency according to the image characteristic, or if necessary, the coding unit is recursively divided into coding units of lower depths and optimized. A coding unit of size may be used as the final coding unit. If a smallest coding unit (SCU) is set, the coding unit may not be split into smaller coding units than the minimum coding unit. Here, the final coding unit refers to a coding unit that is the basis of partitioning or partitioning into a prediction unit or a transform unit. The prediction unit is a unit partitioning from the coding unit and may be a unit of sample prediction. In this case, the prediction unit may be divided into sub blocks. The transform unit may be divided along the quad tree structure from the coding unit, and may be a unit for deriving a transform coefficient and / or a unit for deriving a residual signal from the transform coefficient. Hereinafter, a coding unit may be called a coding block (CB), a prediction unit is a prediction block (PB), and a transform unit may be called a transform block (TB). A prediction block or prediction unit may mean a specific area in the form of a block within a picture, and may include an array of prediction samples. In addition, a transform block or a transform unit may mean a specific area in a block form within a picture, and may include an array of transform coefficients or residual samples.
예측부(310)는 처리 대상 블록(이하, 현재 블록이라 함)에 대한 예측을 수행하고, 상기 현재 블록에 대한 예측 샘플들을 포함하는 예측된 블록(predicted block)을 생성할 수 있다. 예측부(310)에서 수행되는 예측의 단위는 코딩 블록일 수 있고, 변환 블록일 수도 있고, 예측 블록일 수도 있다.The prediction unit 310 may perform a prediction on a block to be processed (hereinafter, referred to as a current block) and generate a predicted block including prediction samples of the current block. The unit of prediction performed by the prediction unit 310 may be a coding block, a transform block, or a prediction block.
예측부(310)는 현재 블록에 인트라 예측이 적용되는지 인터 예측이 적용되는지를 결정할 수 있다. 일 예로, 예측부(310)는 CU 단위로 인트라 예측 또는 인터 예측이 적용되는지를 결정할 수 있다.The prediction unit 310 may determine whether intra prediction or inter prediction is applied to the current block. As an example, the prediction unit 310 may determine whether intra prediction or inter prediction is applied on a CU basis.
인트라 예측의 경우에, 예측부(310)는 현재 블록이 속하는 픽처(이하, 현재 픽처) 내의 현재 블록 외부의 참조 샘플을 기반으로 현재 블록에 대한 예측 샘플을 유도할 수 있다. 이 때, 예측부(310)는 (i) 현재 블록의 주변(neighboring) 참조 샘플들의 평균(average) 혹은 인터폴레이션(interpolation)을 기반으로 예측 샘플을 유도할 수 있고, (ii) 현재 블록의 주변 참조 샘플들 중 예측 샘플에 대하여 특정 (예측) 방향에 존재하는 참조 샘플을 기반으로 상기 예측 샘플을 유도할 수도 있다. (i)의 경우는 비방향성 모드 또는 비각도 모드, (ii)의 경우는 방향성(directional) 모드 또는 각도(angular) 모드라고 불릴 수 있다. 인트라 예측에서 예측 모드는 예를 들어 33개의 방향성 예측 모드와 적어도 2개 이상의 비방향성 모드를 가질 수 있다. 비방향성 모드는 DC 예측 모드 및 플래너 모드(Planar 모드)를 포함할 수 있다. 예측부(310)는 주변 블록에 적용된 예측 모드를 이용하여, 현재 블록에 적용되는 예측 모드를 결정할 수도 있다.In the case of intra prediction, the prediction unit 310 may derive a prediction sample for the current block based on reference samples outside the current block in the picture to which the current block belongs (hereinafter, referred to as the current picture). In this case, the prediction unit 310 may (i) derive the prediction sample based on the average or interpolation of neighboring reference samples of the current block, and (ii) the neighbor reference of the current block. The prediction sample may be derived based on a reference sample present in a specific (prediction) direction with respect to the prediction sample among the samples. In case of (i), it may be called non-directional mode or non-angle mode, and in case of (ii), it may be called directional mode or angular mode. In intra prediction, the prediction mode may have, for example, 33 directional prediction modes and at least two non-directional modes. The non-directional mode may include a DC prediction mode and a planner mode (Planar mode). The prediction unit 310 may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring block.
인터 예측의 경우에, 예측부(310)는 참조 픽처 상에서 움직임 벡터에 의해 특정되는 샘플을 기반으로, 현재 블록에 대한 예측 샘플을 유도할 수 있다. 예측부(310)는 스킵(skip) 모드, 머지(merge) 모드, 및 MVP(motion vector prediction) 모드 중 어느 하나를 적용하여 현재 블록에 대한 예측 샘플을 유도할 수 있다. 스킵 모드와 머지 모드의 경우에, 예측부(310)는 주변 블록의 움직임 정보를 현재 블록의 움직임 정보로 이용할 수 있다. 스킵 모드의 경우, 머지 모드와 달리 예측 샘플과 원본 샘플 사이의 차(레지듀얼)가 전송되지 않는다. MVP 모드의 경우, 주변 블록의 움직임 벡터를 움직임 벡터 예측자(Motion Vector Predictor)로 이용하여 현재 블록의 움직임 벡터 예측자로 이용하여 현재 블록의 움직임 벡터를 유도할 수 있다.In the case of inter prediction, the prediction unit 310 may derive the prediction sample for the current block based on the sample specified by the motion vector on the reference picture. The prediction unit 310 may derive the prediction sample for the current block by applying any one of a skip mode, a merge mode, and a motion vector prediction (MVP) mode. In the skip mode and the merge mode, the prediction unit 310 may use the motion information of the neighboring block as the motion information of the current block. In the skip mode, unlike the merge mode, the difference (residual) between the prediction sample and the original sample is not transmitted. In the MVP mode, the motion vector of the current block may be derived using the motion vector of the neighboring block as a motion vector predictor.
인터 예측의 경우에, 주변 블록은 현재 픽처 내에 존재하는 공간적 주변 블록(spatial neighboring block)과 참조 픽처(reference picture)에 존재하는 시간적 주변 블록(temporal neighboring block)을 포함할 수 있다. 상기 시간적 주변 블록을 포함하는 참조 픽처는 동일 위치 픽처(collocated picture, colPic)라고 불릴 수도 있다. 움직임 정보(motion information)는 움직임 벡터와 참조 픽처 인덱스를 포함할 수 있다. 예측 모드 정보와 움직임 정보 등의 정보는 (엔트로피) 인코딩되어 비트스트림 형태로 출력될 수 있다.In the case of inter prediction, the neighboring block may include a spatial neighboring block existing in the current picture and a temporal neighboring block present in the reference picture. A reference picture including the temporal neighboring block may be called a collocated picture (colPic). The motion information may include a motion vector and a reference picture index. Information such as prediction mode information and motion information may be encoded (entropy) and output in the form of a bitstream.
스킵 모드와 머지 모드에서 시간적 주변 블록의 움직임 정보가 이용되는 경우에, 참조 픽처 리스트(reference picture list) 상의 최상위 픽처가 참조 픽처로서 이용될 수도 있다. 참조 픽처 리스트(Picture Order Count)에 포함되는 참조 픽처들은 현재 픽처와 해당 참조 픽처 간의 POC(Picture order count) 차이 기반으로 정렬될 수 있다. POC는 픽처의 디스플레이 순서에 대응하며, 코딩 순서와 구분될 수 있다.When the motion information of the temporal neighboring block is used in the skip mode and the merge mode, the highest picture on the reference picture list may be used as the reference picture. Reference pictures included in a reference picture list may be sorted based on a difference in a picture order count (POC) between a current picture and a corresponding reference picture. The POC corresponds to the display order of the pictures and may be distinguished from the coding order.
감산부(315)는 원본 샘플과 예측 샘플 간의 차이인 레지듀얼 샘플을 생성한다. 스킵 모드가 적용되는 경우에는, 상술한 바와 같이 레지듀얼 샘플을 생성하지 않을 수 있다.The subtraction unit 315 generates a residual sample which is a difference between the original sample and the prediction sample. When the skip mode is applied, residual samples may not be generated as described above.
변환부(320)는 변환 블록 단위로 레지듀얼 샘플을 변환하여 변환 계수(transform coefficient)를 생성한다. 변환부(120)는 해당 변환 블록의 사이즈와, 해당 변환 블록과 공간적으로 겹치는 코딩 블록 또는 예측 블록에 적용된 예측 모드에 따라서 변환을 수행할 수 있다. 예컨대, 상기 변환 블록과 겹치는 상기 코딩 블록 또는 상기 예측 블록에 인트라 예측이 적용되었고, 상기 변환 블록이 4×4의 레지듀얼 어레이(array)라면, 레지듀얼 샘플은 DST(Discrete Sine Transform)를 이용하여 변환되고, 그 외의 경우라면 레지듀얼 샘플은 DCT(Discrete Cosine Transform)를 이용하여 변환할 수 있다.The transformer 320 generates a transform coefficient by transforming the residual sample in units of transform blocks. The transform unit 120 may perform the transformation according to the size of the transform block and the prediction mode applied to the coding block or the prediction block that spatially overlaps the transform block. For example, if intra prediction is applied to the coding block or the prediction block that overlaps the transform block, and the transform block is a 4 × 4 residual array, the residual sample uses a discrete sine transform (DST). In other cases, the residual sample may be transformed by using a discrete cosine transform (DCT).
양자화부(325)는 변환 계수들을 양자화하여, 양자화된 변환 계수를 생성할 수 있다.The quantization unit 325 may quantize the transform coefficients to generate quantized transform coefficients.
재정렬부(330)는 양자화된 변환 계수를 재정렬한다. 재정렬부(330)는 계수들 스캐닝(scanning) 방법을 통해 블록 형태의 양자화된 변환 계수들을 1차원 벡터 형태로 재정렬할 수 있다. 여기서 재정렬부(330)는 별도의 구성으로 설명하였으나, 재정렬부(330)는 양자화부(325)의 일부일 수 있다.The reordering unit 330 rearranges the quantized transform coefficients. The reordering unit 330 may reorder the quantized transform coefficients in the form of a block into a one-dimensional vector through a coefficient scanning method. Although the reordering unit 330 has been described in a separate configuration, the reordering unit 330 may be part of the quantization unit 325.
엔트로피 인코딩부(335)는 양자화된 변환 계수들에 대한 엔트로피 인코딩을 수행할 수 있다. 엔트로피 인코딩은 예를 들어 지수 골롬(exponential Golomb), CAVLC(context-adaptive variable length coding), CABAC(context-adaptive binary arithmetic coding) 등과 같은 인코딩 방법을 포함할 수 있다. 엔트로피 인코딩부(335)는 양자화된 변환 계수 외 비디오 복원에 필요한 정보들(예컨대 신택스 요소(syntax element)의 값 등)을 함께 또는 별도로 인코딩할 수도 있다. 엔트로피 인코딩된 정보들은 비트스트림 형태로 NAL(network abstraction layer) 유닛 단위로 전송 또는 저장될 수 있다.The entropy encoding unit 335 may perform entropy encoding on the quantized transform coefficients. Entropy encoding may include, for example, encoding methods such as exponential Golomb, context-adaptive variable length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC), and the like. The entropy encoding unit 335 may encode information necessary for video reconstruction other than the quantized transform coefficients (for example, a value of a syntax element) together or separately. Entropy encoded information may be transmitted or stored in units of network abstraction layer (NAL) units in the form of bitstreams.
역양자화부(341)는 양자화부(325)에서 양자화된 값(양자화된 변환 계수)들을 역양자화하고, 역변환부(342)는 역양자화부(341)에서 역양자화된 값들을 역변환하여 레지듀얼 샘플을 생성한다.The inverse quantization unit 341 inverse quantizes the quantized values (quantized transform coefficients) in the quantization unit 325, and the inverse transform unit 342 inversely transforms the inverse quantized values in the inverse quantization unit 341 to obtain a residual sample. Create
가산부(350)는 레지듀얼 샘플과 예측 샘플을 합쳐서 픽처를 복원한다. 레지듀얼 샘플과 예측 샘플은 블록 단위로 더해져서 복원 블록이 생성될 수 있다. 여기서 가산부(350)는 별도의 구성으로 설명하였으나, 가산부(350)는 예측부(310)의 일부일 수 있다. 한편, 가산부(350)는 복원부 또는 복원 블록 생성부로 불릴 수도 있다.The adder 350 reconstructs the picture by combining the residual sample and the predictive sample. The residual sample and the predictive sample may be added in units of blocks to generate a reconstructed block. Although the adder 350 has been described in a separate configuration, the adder 350 may be part of the predictor 310. On the other hand, the adder 350 may be called a restoration unit or a restoration block generation unit.
복원된 픽처(reconstructed picture)에 대하여 필터부(355)는 디블록킹 필터 및/또는 샘플 적응적 오프셋(sample adaptive offset)을 적용할 수 있다. 디블록킹 필터링 및/또는 샘플 적응적 오프셋을 통해, 복원 픽처 내 블록 경계의 아티팩트나 양자화 과정에서의 왜곡이 보정될 수 있다. 샘플 적응적 오프셋은 샘플 단위로 적용될 수 있으며, 디블록킹 필터링의 과정이 완료된 후 적용될 수 있다. 필터부(355)는 ALF(Adaptive Loop Filter)를 복원된 픽처에 적용할 수도 있다. ALF는 디블록킹 필터 및/또는 샘플 적응적 오프셋이 적용된 후의 복원된 픽처에 대하여 적용될 수 있다.The filter unit 355 may apply a deblocking filter and / or a sample adaptive offset to the reconstructed picture. Through deblocking filtering and / or sample adaptive offset, the artifacts of the block boundaries in the reconstructed picture or the distortion in the quantization process can be corrected. The sample adaptive offset may be applied on a sample basis and may be applied after the process of deblocking filtering is completed. The filter unit 355 may apply an adaptive loop filter (ALF) to the reconstructed picture. ALF may be applied to the reconstructed picture after the deblocking filter and / or sample adaptive offset is applied.
메모리(360)는 복원 픽처(디코딩된 픽처) 또는 인코딩/디코딩에 필요한 정보를 저장할 수 있다. 여기서 복원 픽처는 상기 필터부(355)에 의하여 필터링 절차가 완료된 복원 픽처일 수 있다. 상기 저장된 복원 픽처는 다른 픽처의 (인터) 예측을 위한 참조 픽처로 활용될 수 있다. 예컨대, 메모리(360)는 인터 예측에 사용되는 (참조) 픽처들을 저장할 수 있다. 이 때, 인터 예측에 사용되는 픽처들은 참조 픽처 세트(reference picture set) 혹은 참조 픽처 리스트(reference picture list)에 의해 지정될 수 있다.The memory 360 may store reconstructed pictures (decoded pictures) or information necessary for encoding / decoding. Here, the reconstructed picture may be a reconstructed picture after the filtering process is completed by the filter unit 355. The stored reconstructed picture may be used as a reference picture for (inter) prediction of another picture. For example, the memory 360 may store (reference) pictures used for inter prediction. In this case, pictures used for inter prediction may be designated by a reference picture set or a reference picture list.
도 4는 본 발명이 적용될 수 있는 비디오 디코딩 장치의 구성을 개략적으로 설명하는 도면이다.4 is a diagram schematically illustrating a configuration of a video decoding apparatus to which the present invention may be applied.
도 4를 참조하면, 비디오 디코딩 장치(400)는 엔트로피 디코딩부(410), 레지듀얼 처리부(420), 예측부(430), 가산부(440), 필터부(450) 및 메모리(460)을 포함할 수 있다. 여기서 레지듀얼 처리부(420)은 재정렬부(421), 역양자화부(422), 역변환부(423)을 포함할 수 있다. Referring to FIG. 4, the video decoding apparatus 400 includes an entropy decoding unit 410, a residual processing unit 420, a prediction unit 430, an adder 440, a filter unit 450, and a memory 460. It may include. Here, the residual processor 420 may include a reordering unit 421, an inverse quantization unit 422, and an inverse transform unit 423.
비디오 정보를 포함하는 비트스트림이 입력되면, 비디오 디코딩 장치는(400)는 비디오 인코딩 장치에서 비디오 정보가 처리된 프로세스에 대응하여 비디오를 복원할 수 있다.When a bitstream including video information is input, the video decoding apparatus 400 may reconstruct the video in response to a process in which the video information is processed in the video encoding apparatus.
예컨대, 비디오 디코딩 장치(400)는 비디오 인코딩 장치에서 적용된 처리 유닛을 이용하여 비디오 디코딩을 수행할 수 있다. 따라서 비디오 디코딩의 처리 유닛 블록은 일 예로 코딩 유닛일 수 있고, 다른 예로 코딩 유닛, 예측 유닛 또는 변환 유닛일 수 있다. 코딩 유닛은 최대 코딩 유닛으로부터 쿼드 트리 구조 및/또는 바이너리 트리 구조를 따라서 분할될 수 있다. For example, the video decoding apparatus 400 may perform video decoding using a processing unit applied in the video encoding apparatus. Thus, the processing unit block of video decoding may be, for example, a coding unit, and in another example, a coding unit, a prediction unit, or a transform unit. The coding unit may be split along the quad tree structure and / or binary tree structure from the largest coding unit.
예측 유닛 및 변환 유닛이 경우에 따라 더 사용될 수 있으며, 이 경우 예측 블록은 코딩 유닛으로부터 도출 또는 파티셔닝되는 블록으로서, 샘플 예측의 유닛일 수 있다. 이 때, 예측 유닛은 서브 블록으로 나뉠 수도 있다. 변환 유닛은 코딩 유닛으로부터 쿼드 트리 구조를 따라서 분할 될 수 있으며, 변환 계수를 유도하는 유닛 또는 변환 계수로부터 레지듀얼 신호를 유도하는 유닛일 수 있다. The prediction unit and the transform unit may be further used in some cases, in which case the prediction block is a block derived or partitioned from the coding unit and may be a unit of sample prediction. At this point, the prediction unit may be divided into subblocks. The transform unit may be divided along the quad tree structure from the coding unit, and may be a unit for deriving a transform coefficient or a unit for deriving a residual signal from the transform coefficient.
엔트로피 디코딩부(410)는 비트스트림을 파싱하여 비디오 복원 또는 픽처 복원에 필요한 정보를 출력할 수 있다. 예컨대, 엔트로피 디코딩부(410)는 지수 골롬 부호화, CAVLC 또는 CABAC 등의 코딩 방법을 기초로 비트스트림 내 정보를 디코딩하고, 비디오 복원에 필요한 신택스 엘리먼트의 값, 레지듀얼에 관한 변환 계수의 양자화된 값 들을 출력할 수 있다. The entropy decoding unit 410 may parse the bitstream and output information necessary for video reconstruction or picture reconstruction. For example, the entropy decoding unit 410 decodes information in the bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, quantized values of syntax elements required for video reconstruction, and transform coefficients for residuals. Can be output.
보다 상세하게, CABAC 엔트로피 디코딩 방법은, 비트스트림에서 각 구문 요소에 해당하는 빈을 수신하고, 디코딩 대상 구문 요소 정보와 주변 및 디코딩 대상 블록의 디코딩 정보 혹은 이전 단계에서 디코딩된 심볼/빈의 정보를 이용하여 문맥(context) 모델을 결정하고, 결정된 문맥 모델에 따라 빈(bin)의 발생 확률을 예측하여 빈의 산술 디코딩(arithmetic decoding)를 수행하여 각 구문 요소의 값에 해당하는 심볼을 생성할 수 있다. 이때, CABAC 엔트로피 디코딩 방법은 문맥 모델 결정 후 다음 심볼/빈의 문맥 모델을 위해 디코딩된 심볼/빈의 정보를 이용하여 문맥 모델을 업데이트할 수 있다.More specifically, the CABAC entropy decoding method receives a bin corresponding to each syntax element in a bitstream, and decodes syntax element information and decoding information of neighboring and decoding target blocks or information of symbols / bins decoded in a previous step. The context model may be determined using the context model, the probability of occurrence of a bin may be predicted according to the determined context model, and arithmetic decoding of the bin may be performed to generate a symbol corresponding to the value of each syntax element. have. In this case, the CABAC entropy decoding method may update the context model by using the information of the decoded symbol / bin for the context model of the next symbol / bean after determining the context model.
엔트로피 디코딩부(410)에서 디코딩된 정보 중 예측에 관한 정보는 예측부(430)로 제공되고, 엔트로피 디코딩부(410)에서 엔트로피 디코딩이 수행된 레지듀얼 값, 즉 양자화된 변환 계수는 재정렬부(421)로 입력될 수 있다.The information related to the prediction among the information decoded by the entropy decoding unit 410 is provided to the prediction unit 430, and the residual value on which the entropy decoding has been performed by the entropy decoding unit 410, that is, the quantized transform coefficient, is used as a reordering unit ( 421).
재정렬부(421)는 양자화되어 있는 변환 계수들을 2차원의 블록 형태로 재정렬할 수 있다. 재정렬부(421)는 인코딩 장치에서 수행된 계수 스캐닝에 대응하여 재정렬을 수행할 수 있다. 여기서 재정렬부(421)는 별도의 구성으로 설명하였으나, 재정렬부(421)는 역양자화부(422)의 일부일 수 있다.The reordering unit 421 may rearrange the quantized transform coefficients into a two-dimensional block. The reordering unit 421 may perform reordering in response to coefficient scanning performed by the encoding apparatus. Although the reordering unit 421 has been described in a separate configuration, the reordering unit 421 may be part of the inverse quantization unit 422.
역양자화부(422)는 양자화되어 있는 변환 계수들을 (역)양자화 파라미터를 기반으로 역양자화하여 변환 계수를 출력할 수 있다. 이 때, 양자화 파라미터를 유도하기 위한 정보는 인코딩 장치로부터 시그널링될 수 있다.The inverse quantization unit 422 may dequantize the quantized transform coefficients based on the (inverse) quantization parameter and output the transform coefficients. In this case, information for deriving a quantization parameter may be signaled from the encoding apparatus.
역변환부(423)는 변환 계수들을 역변환하여 레지듀얼 샘플들을 유도할 수 있다. The inverse transform unit 423 may inversely transform transform coefficients to derive residual samples.
예측부(430)는 현재 블록에 대한 예측을 수행하고, 상기 현재 블록에 대한 예측 샘플들을 포함하는 예측된 블록(predicted block)을 생성할 수 있다. 예측부(430)에서 수행되는 예측의 단위는 코딩 블록일 수도 있고, 변환 블록일 수도 있고, 예측 블록일 수도 있다. The prediction unit 430 may perform prediction on the current block, and generate a predicted block including prediction samples for the current block. The unit of prediction performed by the prediction unit 430 may be a coding block, a transform block, or a prediction block.
예측부(430)는 상기 예측에 관한 정보를 기반으로 인트라 예측을 적용할 것인지 인터 예측을 적용할 것인지를 결정할 수 있다. 이 때, 인트라 예측과 인터 예측 중 어느 것을 적용할 것인지를 결정하는 단위와 예측 샘플을 생성하는 단위는 상이할 수 있다. 아울러, 인터 예측과 인트라 예측에 있어서 예측 샘플을 생성하는 단위 또한 상이할 수 있다. 예를 들어, 인터 예측과 인트라 예측 중 어느 것을 적용할 것인지는 CU 단위로 결정할 수 있다. 또한 예를 들어, 인터 예측에 있어서 PU 단위로 예측 모드를 결정하고 예측 샘플을 생성할 수 있고, 인트라 예측에 있어서 PU 단위로 예측 모드를 결정하고 TU 단위로 예측 샘플을 생성할 수도 있다. The prediction unit 430 may determine whether to apply intra prediction or inter prediction based on the information about the prediction. In this case, a unit for determining which of intra prediction and inter prediction is to be applied and a unit for generating a prediction sample may be different. In addition, the unit for generating a prediction sample in inter prediction and intra prediction may also be different. For example, whether to apply inter prediction or intra prediction may be determined in units of CUs. In addition, for example, in inter prediction, a prediction mode may be determined and a prediction sample may be generated in PU units, and in intra prediction, a prediction mode may be determined in PU units and a prediction sample may be generated in TU units.
인트라 예측의 경우에, 예측부(430)는 현재 픽처 내의 주변 참조 샘플을 기반으로 현재 블록에 대한 예측 샘플을 유도할 수 있다. 예측부(430)는 현재 블록의 주변 참조 샘플을 기반으로 방향성 모드 또는 비방향성 모드를 적용하여 현재 블록에 대한 예측 샘플을 유도할 수 있다. 이 때, 주변 블록의 인트라 예측 모드를 이용하여 현재 블록에 적용할 예측 모드가 결정될 수도 있다. In the case of intra prediction, the prediction unit 430 may derive the prediction sample for the current block based on the neighbor reference samples in the current picture. The prediction unit 430 may derive the prediction sample for the current block by applying the directional mode or the non-directional mode based on the neighbor reference samples of the current block. In this case, the prediction mode to be applied to the current block may be determined using the intra prediction mode of the neighboring block.
인터 예측의 경우에, 예측부(430)는 참조 픽처 상에서 움직임 벡터에 의해 참조 픽처 상에서 특정되는 샘플을 기반으로 현재 블록에 대한 예측 샘플을 유도할 수 있다. 예측부(430)는 스킵(skip) 모드, 머지(merge) 모드 및 MVP 모드 중 어느 하나를 적용하여 현재 블록에 대한 예측 샘플을 유도할 수 있다. 이때, 비디오 인코딩 장치에서 제공된 현재 블록의 인터 예측에 필요한 움직임 정보, 예컨대 움직임 벡터, 참조 픽처 인덱스 등에 관한 정보는 상기 예측에 관한 정보를 기반으로 획득 또는 유도될 수 있다In the case of inter prediction, the prediction unit 430 may derive the prediction sample for the current block based on the sample specified on the reference picture by the motion vector on the reference picture. The prediction unit 430 may induce a prediction sample for the current block by applying any one of a skip mode, a merge mode, and an MVP mode. In this case, motion information required for inter prediction of the current block provided by the video encoding apparatus, for example, information about a motion vector, a reference picture index, and the like may be obtained or derived based on the prediction information.
스킵 모드와 머지 모드의 경우에, 주변 블록의 움직임 정보가 현재 블록의 움직임 정보로 이용될 수 있다. 이 때, 주변 블록은 공간적 주변 블록과 시간적 주변 블록을 포함할 수 있다.In the skip mode and the merge mode, the motion information of the neighboring block may be used as the motion information of the current block. In this case, the neighboring block may include a spatial neighboring block and a temporal neighboring block.
예측부(430)는 가용한 주변 블록의 움직임 정보로 머지 후보 리스트를 구성하고, 머지 인덱스가 머지 후보 리스트 상에서 지시하는 정보를 현재 블록의 움직임 벡터로 사용할 수 있다. 머지 인덱스는 인코딩 장치로부터 시그널링될 수 있다. 움직임 정보는 움직임 벡터와 참조 픽처를 포함할 수 있다. 스킵 모드와 머지 모드에서 시간적 주변 블록의 움직임 정보가 이용되는 경우에, 참조 픽처 리스트 상의 최상위 픽처가 참조 픽처로서 이용될 수 있다.The prediction unit 430 may construct a merge candidate list using motion information of available neighboring blocks, and may use information indicated by the merge index on the merge candidate list as a motion vector of the current block. The merge index may be signaled from the encoding device. The motion information may include a motion vector and a reference picture. When the motion information of the temporal neighboring block is used in the skip mode and the merge mode, the highest picture on the reference picture list may be used as the reference picture.
스킵 모드의 경우, 머지 모드와 달리 예측 샘플과 원본 샘플 사이의 차이(레지듀얼)이 전송되지 않는다.In the skip mode, unlike the merge mode, the difference (residual) between the prediction sample and the original sample is not transmitted.
MVP 모드의 경우, 주변 블록의 움직임 벡터를 움직임 벡터 예측자(motion vector predictor)로 이용하여 현재 블록의 움직임 벡터가 유도될 수 있다. 이 때, 주변 블록은 공간적 주변 블록과 시간적 주변 블록을 포함할 수 있다.In the MVP mode, the motion vector of the current block may be derived using the motion vector of the neighboring block as a motion vector predictor. In this case, the neighboring block may include a spatial neighboring block and a temporal neighboring block.
일 예로, 머지 모드가 적용되는 경우, 복원된 공간적 주변 블록의 움직임 벡터 및/또는 시간적 주변 블록인 Col 블록에 대응하는 움직임 벡터를 이용하여, 머지 후보 리스트가 생성될 수 있다. 머지 모드에서는 머지 후보 리스트에서 선택된 후보 블록의 움직임 벡터가 현재 블록의 움직임 벡터로 사용된다. 상기 예측에 관한 정보는 상기 머지 후보 리스트에 포함된 후보 블록들 중에서 선택된 최적의 움직임 벡터를 갖는 후보 블록을 지시하는 머지 인덱스를 포함할 수 있다. 이 때, 예측부(430)는 상기 머지 인덱스를 이용하여, 현재 블록의 움직임 벡터를 도출할 수 있다.For example, when the merge mode is applied, a merge candidate list may be generated by using a motion vector of a reconstructed spatial neighboring block and / or a motion vector corresponding to a Col block, which is a temporal neighboring block. In the merge mode, the motion vector of the candidate block selected from the merge candidate list is used as the motion vector of the current block. The information about the prediction may include a merge index indicating a candidate block having an optimal motion vector selected from candidate blocks included in the merge candidate list. In this case, the prediction unit 430 may derive the motion vector of the current block by using the merge index.
다른 예로, MVP(Motion Vector Prediction) 모드가 적용되는 경우, 복원된 공간적 주변 블록의 움직임 벡터 및/또는 시간적 주변 블록인 Col 블록에 대응하는 움직임 벡터를 이용하여, 움직임 벡터 예측자 후보 리스트가 생성될 수 있다. 즉, 복원된 공간적 주변 블록의 움직임 벡터 및/또는 시간적 주변 블록인 Col 블록에 대응하는 움직임 벡터는 움직임 벡터 후보로 사용될 수 있다. 상기 예측에 관한 정보는 상기 리스트에 포함된 움직임 벡터 후보 중에서 선택된 최적의 움직임 벡터를 지시하는 예측 움직임 벡터 인덱스를 포함할 수 있다. 이 때, 예측부(430)는 상기 움직임 벡터 인덱스를 이용하여, 움직임 벡터 후보 리스트에 포함된 움직임 벡터 후보 중에서, 현재 블록의 예측 움직임 벡터를 선택할 수 있다. 인코딩 장치의 예측부는 현재 블록의 움직임 벡터와 움직임 벡터 예측자 간의 움직임 벡터 차분(MVD)을 구할 수 있고, 이를 인코딩하여 비트스트림 형태로 출력할 수 있다. 즉, MVD는 현재 블록의 움직임 벡터에서 상기 움직임 벡터 예측자를 뺀 값으로 구해질 수 있다. 이 때, 예측부(430)는 상기 예측에 관한 정보에 포함된 움직임 벡터 차분을 획득하고, 상기 움직임 벡터 차분과 상기 움직임 벡터 예측자의 가산을 통해 현재 블록의 상기 움직임 벡터를 도출할 수 있다. 예측부는 또한 참조 픽처를 지시하는 참조 픽처 인덱스 등을 상기 예측에 관한 정보로부터 획득 또는 유도할 수 있다. As another example, when the Motion Vector Prediction (MVP) mode is applied, a motion vector predictor candidate list may be generated using a motion vector of a reconstructed spatial neighboring block and / or a motion vector corresponding to a Col block which is a temporal neighboring block. Can be. That is, the motion vector of the reconstructed spatial neighboring block and / or the Col vector, which is a temporal neighboring block, may be used as a motion vector candidate. The prediction information may include a prediction motion vector index indicating an optimal motion vector selected from the motion vector candidates included in the list. In this case, the prediction unit 430 may select the predicted motion vector of the current block from the motion vector candidates included in the motion vector candidate list using the motion vector index. The prediction unit of the encoding apparatus may obtain a motion vector difference (MVD) between the motion vector of the current block and the motion vector predictor, and may encode the output vector in a bitstream form. That is, MVD may be obtained by subtracting the motion vector predictor from the motion vector of the current block. In this case, the prediction unit 430 may obtain a motion vector difference included in the information about the prediction, and may derive the motion vector of the current block by adding the motion vector difference and the motion vector predictor. The prediction unit may also obtain or derive a reference picture index or the like indicating a reference picture from the information about the prediction.
가산부(440)는 레지듀얼 샘플과 예측 샘플을 더하여 현재 블록 혹은 현재 픽처를 복원할 수 있다. 가산부(440)는 레지듀얼 샘플과 예측 샘플을 블록 단위로 더하여 현재 픽처를 복원할 수도 있다. 스킵 모드가 적용된 경우에는 레지듀얼이 전송되지 않으므로, 예측 샘플이 복원 샘플이 될 수 있다. 여기서는 가산부(440)를 별도의 구성으로 설명하였으나, 가산부(440)는 예측부(430)의 일부일 수도 있다. 한편, 가산부(440)는 복원부 또는 복원 블록 생성부로 불릴 수도 있다. The adder 440 may reconstruct the current block or the current picture by adding the residual sample and the predictive sample. The adder 440 may reconstruct the current picture by adding the residual sample and the predictive sample in units of blocks. Since the residual is not transmitted when the skip mode is applied, the prediction sample may be a reconstruction sample. Although the adder 440 is described in a separate configuration, the adder 440 may be part of the predictor 430. On the other hand, the adder 440 may be called a restoration unit or a restoration block generation unit.
필터부(450)는 복원된 픽처에 디블록킹 필터링 샘플 적응적 오프셋, 및/또는 ALF 등을 적용할 수 있다. 이 때, 샘플 적응적 오프셋은 샘플 단위로 적용될 수 있으며, 디블록킹 필터링 이후 적용될 수도 있다. ALF는 디블록킹 필터링 및/또는 샘플 적응적 오프셋 이후 적용될 수도 있다.The filter unit 450 may apply the deblocking filtering sample adaptive offset, and / or ALF to the reconstructed picture. In this case, the sample adaptive offset may be applied in units of samples and may be applied after deblocking filtering. ALF may be applied after deblocking filtering and / or sample adaptive offset.
메모리(460)는 복원 픽처(디코딩된 픽처) 또는 디코딩에 필요한 정보를 저장할 수 있다. 여기서 복원 픽처는 상기 필터부(450)에 의하여 필터링 절차가 완료된 복원 픽처일 수 있다. 예컨대, 메모리(460)는 인터 예측에 사용되는 픽처들을 저장할 수 있다. 이 때, 인터 예측에 사용되는 픽처들은 참조 픽처 세트 혹은 참조 픽처 리스트에 의해 지정될 수도 있다. 복원된 픽처는 다른 픽처에 대한 참조 픽처로서 이용될 수 있다. 또한, 메모리(460)는 복원된 픽처를 출력 순서에 따라서 출력할 수도 있다. The memory 460 may store reconstructed pictures (decoded pictures) or information necessary for decoding. Here, the reconstructed picture may be a reconstructed picture after the filtering process is completed by the filter unit 450. For example, the memory 460 may store pictures used for inter prediction. In this case, 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. Also, the memory 460 may output the reconstructed picture in the output order.
한편, 인코딩 과정 및 디코딩 과정에 사용되는 2D 픽처는 상기 픽처의 사이즈와 동일한 개수의 샘플들을 가질 수 있다. 예를 들어, 상기 픽처의 너비(width) 및 높이(height)가 각각 4096, 2160 인 경우, 상기 픽처는 상기 너비와 높이를 곱한 값, 즉, 4096x2160 = 8847360 개의 밸리드(valid) 샘플들을 포함할 수 있다. 여기서, 상기 밸리드 샘플은 상기 픽처에 대한 유효한 정보 또는 값을 갖는 샘플을 나타낼 수 있고, 상기 유효한 정보 또는 값은 상기 픽처의 오리지날(original) 픽처에 대한 정보를 나타낼 수 있다. 인밸리드 샘플은 상기 밸리드 샘플과 반대되는 샘플일 수 있다. 즉, 상기 밸리드 샘플 이외의 샘플은 인밸리드 샘플이라고 나타낼 수 있다. 상기 인밸리드 샘플은 특정값을 가질 수 있다. 예를 들어, 상기 인밸리드 샘플은 회색(gray)을 나타내는 정보를 포함할 수 있다.Meanwhile, the 2D picture used in the encoding process and the decoding process may have the same number of samples as the size of the picture. For example, when the width and height of the picture are 4096 and 2160, respectively, the picture may include the width multiplied by the height, that is, 4096x2160 = 8847360 valid samples. Can be. Here, the valid sample may represent a sample having valid information or a value of the picture, and the valid information or value may represent information of an original picture of the picture. The invalidated sample may be a sample opposite to the validated sample. That is, samples other than the valid sample may be referred to as invalidated samples. The invalidated sample may have a specific value. For example, the invalidated sample may include information representing gray.
한편, 3차원(dimension) 영상인 360도 비디오는 2차원(dimension) 이미지 상에 프로젝션될 수 있다. 즉, 360 비디오 데이터는 2D 픽처에 프로젝션될 수 있고, 여기서, 상기 360도 비디오 데이터가 프로젝션된 2D 픽처는 프로젝션된 프레임(projected frame) 또는 프로젝션된 픽처(projected picture)라고 불릴 수 있다. 상기 360도 비디오 데이터는 다양한 프로젝션 방법을 통하여 픽처상에 프로젝션될 수 있다. 예를 들어, 360도 비디오 데이터는 Equirectangular Projection (ERP), Cube Map Projection(CMP) 또는 Octahedron Projection (OHP) 를 통하여 픽처에 프로젝션 및/또는 패킹될 수 있다.Meanwhile, a 360 degree video, which is a 3D image, may be projected onto a 2D image. That is, 360 video data may be projected onto a 2D picture, wherein the 2D picture projected onto the 360 degree video data 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 methods. For example, 360 degree video data may be projected and / or packed into a picture via Equirectangular Projection (ERP), Cube Map Projection (CMP) or Octahedron Projection (OHP).
도 5a 내지 5c는 상기 ERP, 상기 CMP, 상기 OHP를 기반으로 도출된 프로젝션된 픽처를 예시적으로 나타낸다. 도 5a를 참조하면 360도 비디오 데이터는 ERP를 통하여 2D 픽처에 프로젝션될 수 있다. 360도 비디오 데이터가 상기 ERP를 통하여 프로젝션되는 경우, 예를 들어, 스티칭된 360도 비디오 데이터는 구형 면(spherical surface) 상에 나타내어질 수 있고, 상기 360도 비디오 데이터는 상기 구형 면 상에서의 연속성이 유지되는 하나의 픽처로 프로젝션될 수 있다. 따라서, 도 5a에 도시된 것과 같이 상기 360도 비디오 데이터는 프로젝션된 픽처 내 하나의 페이스에 맵핑될 수 있다. 여기서, 예를 들어, 상기 프로젝션된 픽처의 너비 및 높이는 각각 3228, 1664 일 수 있고, 이 경우, 상기 프로젝션된 픽처는 3228x1668 개의 밸리드 샘플들을 포함할 수 있다. 5A to 5C exemplarily illustrate projected pictures derived based on the ERP, the CMP, and the OHP. Referring to FIG. 5A, 360 degree video data may be projected onto a 2D picture through ERP. When 360 degree video data is projected through the ERP, for example, stitched 360 degree video data can be represented on a spherical surface, and the 360 degree video data is characterized by continuity on the spherical surface. It can be projected into one picture that is maintained. Thus, as shown in FIG. 5A, the 360 degree video data may be mapped to one face in the projected picture. Here, for example, the width and height of the projected picture may be 3228 and 1664, respectively, and in this case, the projected picture may include 3228x1668 valid samples.
도 5b를 참조하면 360도 비디오 데이터는 CMP를 통하여 2D 픽처에 프로젝션될 수 있다. 상기 CMP는 큐빅(cubic) 프로젝션 스킴이라고 불릴 수도 있다. 360도 비디오 데이터가 상기 CMP를 통하여 프로젝션되는 경우, 예를 들어, 스티칭된 360도 비디오 데이터는 구형 면(spherical surface) 상에 나타내어질 수 있고, 상기 360도 비디오 데이터는 큐브 형태의 3D 프로젝션 구조로 나뉘어 2D 이미지 상에 프로젝션될 수 있다. 즉, 구형 면 상의 상기 360도 비디오 데이터는 큐브의 6개의 페이스(face)들 각각에 맵핑될 수 있고, 상기 큐브의 각 페이스는 2D 이미지 상에 프로젝션될 수 있다. 상기 6개의 페이스들은 앞면(front) 페이스, 뒷면(back) 페이스, 윗면(top) 페이스, 바닥면(bottom) 페이스, 우측옆면(right) 페이스 및 좌측옆면(left) 페이스를 포함할 수 있다. 한편, 상기 프로젝션된 픽처의 너비 및 높이는 각각 2880, 1920 일 수 있다. 이 경우, 상술한 ERP를 통하여 프로젝션된 경우와 달리 상기 CMP를 통하여 프로젝션된 경우의 상기 프로젝션된 픽처는 인밸리드 샘플들을 포함할 수 있고, 따라서, 상기 프로젝션된 픽처는 2880x1920 개의 밸리드 샘플들을 포함하지 않을 수 있다. 도 5b를 참조하면 상기 인밸리드 샘플들은 상기 도 5b의 회색으로 나타낸 영역 내 샘플들, 즉, 상기 360도 비디오 데이터가 맵핑되지 않은 샘플들을 나타낼 수 있다. 한편, 도 5b에 도시된 것과 같이 상기 인밸리드 샘플들은 회색을 나타내는 정보를 포함할 수 있고, 또는 프로젝션 방법에 따라 다른 정보를 포함할 수 있다. Referring to FIG. 5B, 360 degree video data may be projected onto a 2D picture through a CMP. The CMP may be referred to as a cubic projection scheme. When 360 degree video data is projected through the CMP, for example, stitched 360 degree video data can be represented on a spherical surface, and the 360 degree video data is in a cube-shaped 3D projection structure. It can be divided and projected onto a 2D image. That is, the 360 degree video data on the spherical face can be mapped to each of the six faces of the cube, and each face of the cube can be projected onto a 2D image. The six faces may include a front face, a back face, a top face, a bottom face, a right face, and a left face. Meanwhile, the width and height of the projected picture may be 2880 and 1920 respectively. In this case, unlike when projected through the ERP described above, the projected picture when projected through the CMP may include invalidated samples, and thus the projected picture includes 2880x1920 valid samples. You can't. Referring to FIG. 5B, the invalidated samples may represent samples in the gray area of FIG. 5B, that is, samples to which the 360-degree video data is not mapped. Meanwhile, as shown in FIG. 5B, the invalidated samples may include information representing gray, or may include other information according to a projection method.
도 5c를 참조하면 360도 비디오 데이터는 상기 OHP를 통하여 2D 픽처에 프로젝션될 수 있다. 360도 비디오 데이터가 상기 OHP를 통하여 프로젝션되는 경우, 예를 들어, 스티칭된 360도 비디오 데이터는 구형 면(spherical surface) 상에 나타내어질 수 있고, 상기 360도 비디오 데이터는 팔면체 형태의 3D 프로젝션 구조로 나뉘어 2D 이미지 상에 프로젝션될 수 있다. 즉, 구형 면 상의 상기 360도 비디오 데이터는 도 5c에 도시된 것과 같이 2D 이미지 상에 프로젝션될 수 있다. 한편, 상기 프로젝션된 픽처의 너비 및 높이는 각각 2880, 1920 일 수 있다. 이 경우, 상술한 ERP를 통하여 프로젝션된 경우와 달리 상기 CMP를 통하여 프로젝션된 경우의 상기 프로젝션된 픽처는 인밸리드 샘플들을 포함할 수 있고, 따라서, 상기 프로젝션된 픽처는 2880x1920 개의 밸리드 샘플들을 포함하지 않을 수 있다. 도 5c를 참조하면 상기 인밸리드 샘플들은 상기 도 5c의 회색으로 나타낸 영역 내 샘플들, 즉, 상기 360도 비디오 데이터가 맵핑되지 않은 샘플들을 나타낼 수 있다. 한편, 상기 360도 비디오 데이터가 상술한 CMP 및 OHP 이외의 프로젝션 방법을 통하여 프로젝션되는 경우에도 상기 인밸리드 샘플들이 생성될 수 있다. Referring to FIG. 5C, 360 degree video data may be projected onto a 2D picture through the OHP. When 360 degree video data is projected through the OHP, for example, stitched 360 degree video data can be represented on a spherical surface, and the 360 degree video data is in an octahedral 3D projection structure. It can be divided and projected onto a 2D image. That is, the 360 degree video data on the spherical surface can be projected onto the 2D image as shown in FIG. 5C. Meanwhile, the width and height of the projected picture may be 2880 and 1920 respectively. In this case, unlike when projected through the ERP described above, the projected picture when projected through the CMP may include invalidated samples, and thus the projected picture includes 2880x1920 valid samples. You can't. Referring to FIG. 5C, the invalidated samples may represent samples in the gray area of FIG. 5C, that is, samples to which the 360-degree video data is not mapped. Meanwhile, even when the 360-degree video data is projected through a projection method other than the above-described CMP and OHP, the invalidated samples may be generated.
한편, 기존의 인코딩/디코딩 과정에서는 상기 프로젝션된 픽처에 대한 인밸리드 샘플이 별도의 샘플로 정의되지 않고, 단순히 회색을 나타내는 특정값을 갖는 밸리드 샘플로 처리될 수 있다. 상기 프로젝션된 픽처에 대한 정보를 코딩하는데 사용되지 않는 상기 인밸리드 샘플에 대한 인코딩/디코딩 과정은 추가적인 비트 오버 헤드(bit overhead)가 발생할 수 있다. 또한, 상기 인밸리드 샘플이 제거(remove)되어도 상기 픽처의 퀄리티(quality)에는 영향을 미치지 않을 수 있는바, 본 발명에서는 인밸리드 샘플을 밸리드 샘플과 별도의 과정으로 처리하는 방법을 제안한다.Meanwhile, in the existing encoding / decoding process, an invalidated sample for the projected picture is not defined as a separate sample, but may be processed as a valid sample having a specific value indicating gray. An additional bit overhead may occur in the encoding / decoding process for the invalidated sample that is not used to code the information about the projected picture. In addition, even if the invalidated sample is removed, the quality of the picture may not be affected. The present invention proposes a method for treating the invalidated sample by a separate process from the validated sample. do.
상술한 내용과 같이 입력된 픽처는 CU(coding unit, CU) 단위로 분할될 수 있다. 구체적으로, 상기 픽처의 분할을 위하여 기정의된 상기 CU 및 CTU(coding tree unit, CTU)가 사용될 수 있다. 상기 CU는 상기 CTU으로부터 QTBT (Quad-tree binary-tree) 구조에 따라 재귀적으로(recursively) 분할될 수 있다. 상기 CTU는 LCU(largest coding unit, LCU) 라고 불릴 수도 있다.As described above, the input picture may be divided into units of a coding unit (CU). In detail, the CU and a coding tree unit (CTU) defined for division of the picture may be used. The CU may be recursively partitioned from the CTU according to a quad-tree binary-tree (QTBT) structure. The CTU may be referred to as a large coding unit (LCU).
이와 더불어 본 발명에서는 인밸리드 유닛(invalid unit, IU) 가 제안되는바, 상술한 인밸리드 샘플은 상기 IU를 기반으로 나타낼 수 있고, 상기 IU를 기반으로 처리될 수 있다. 즉, 입력된 픽처는 상기 IU 단위로 분할될 수 있고, 상기 IU 단위로 상기 인밸리드 샘플에 대한 처리가 수행될 수 있다. 상기 IU는 상기 CTU와 대응할 수 있고, 또는 상기 CU와 대응할 수 있다. 또는, 상기 IU는 상기 프로젝션된 픽처의 페이스와 대응할 수 있고, 또는 상기 IU는 상기 프로젝션된 픽처의 슬라이스와 대응할 수 있다. 상기 IU는 대응하는 타입(type)과 동일한 사이즈의 블록으로 도출될 수 있다. 상기 프로젝션된 픽처에 대한 IU의 타입을 나타내는 IU 타입 정보는 슬라이스 헤더(slice header), PPS(picture parameter set), SPS(sequence parameter set) 등과 같은 상위 레벨 신텍스(high level syntax)를 통하여 전송될 수 있다. 상기 IU 타입 정보는 상기 IU와 대응하는 타입을 나타낼 수 있고, 상기 IU 타입 정보는 다음의 표와 같을 수 있다.In addition, an invalid unit (IU) is proposed in the present invention. The above invalidated sample may be represented based on the IU and may be processed based on the IU. That is, the input picture may be divided into the IU unit, and the invalidated sample may be processed in the IU unit. The IU may correspond to the CTU or may correspond to the CU. Alternatively, the IU may correspond to a face of the projected picture, or the IU may correspond to a slice of the projected picture. The IU may be derived in blocks of the same size as the corresponding type. IU type information indicating the type of the IU for the projected picture may be transmitted through a high level syntax such as a slice header, a picture parameter set (PPS), a sequence parameter set (SPS), or the like. have. The IU type information may indicate a type corresponding to the IU, and the IU type information may be as shown in the following table.
Figure PCTKR2017011035-appb-T000001
Figure PCTKR2017011035-appb-T000001
여기서, IU_type 은 상기 IU 타입 정보를 나타내는 신텍스 요소를 나타낼 수 있다. 상기 표 1을 참조하면 상기 IU_type 의 값이 0인 경우, 상기 IU의 타입은 CTU일 수 있고, 상기 IU_type 의 값이 1인 경우, 상기 IU의 타입은 CU일 수 있고, 상기 IU_type 의 값이 2인 경우, 상기 IU의 타입은 페이스일 수 있고, 상기 IU_type 의 값이 3인 경우, 상기 IU의 타입은 슬라이스일 수 있다. Here, IU_type may indicate a syntax element indicating the IU type information. Referring to Table 1, when the value of IU_type is 0, the type of IU may be CTU. When the value of IU_type is 1, the type of IU may be CU, and the value of IU_type is 2. When, the type of the IU may be a face, and when the value of the IU_type is 3, the type of the IU may be a slice.
한편, 상기 IU에 대한 IU 플래그가 도출될 수 있고, 상기 IU 플래그는 상기 IU 플래그에 대한 상기 IU의 인밸리드(invalid) 여부를 나타낼 수 있다. 즉, 상기 IU 플래그는 상기 IU가 인밸리드 샘플만을 포함하는지(또는, 밸리드 샘플을 포함하지 않는지) 여부를 나타낼 수 있다. 예를 들어, 상기 IU 플래그의 값이 1인 경우, 즉, 상기 IU 플래그가 상기 IU가 인밸리드하다고 나타내는 경우, 상기 IU는 인밸리드 샘플만을 포함할 수 있고, 상기 IU에 대한 인코딩/디코딩 과정은 생략(skip)될 수 있다. 또한, 상기 IU 플래그의 값이 0인 경우, 즉, 상기 IU 플래그가 상기 IU가 밸리드 샘플을 포함한다고 나타내는 경우, 상기 IU는 상술한 인코딩/디코딩 과정이 수행될 수 있다. 즉, 상기 IU에 대한 예측 및 복원 과정이 수행될 수 있다. 한편, 후술하는 IU를 기반으로 인밸리드 샘플을 처리하는 방법은 상기 도 5b에 도시된 상기 CMP를 통하여 프로젝션된 픽처를 기준으로 설명하고 있으나, 다른 프로젝션 방법을 통하여 프로젝션된 경우에도 적용될 수 있다. Meanwhile, an IU flag for the IU may be derived, and the IU flag may indicate whether the IU is invalid for the IU flag. That is, the IU flag may indicate whether the IU includes only an invalidated sample (or does not include a valid sample). For example, when the value of the IU flag is 1, that is, when the IU flag indicates that the IU is invalidated, the IU may include only invalidated samples, and the encoding / decoding for the IU is performed. The process can be skipped. In addition, when the value of the IU flag is 0, that is, when the IU flag indicates that the IU includes valid samples, the above-described encoding / decoding process may be performed. That is, the prediction and reconstruction process for the IU may be performed. Meanwhile, the method for processing an invalidated sample based on the IU described below is described based on a picture projected through the CMP illustrated in FIG. 5B, but may also be applied to a case in which the projected image is projected through another projection method.
도 6a 내지 도 6c는 IU들로 분할된 프로젝션된 픽처들을 예시적으로 나타낸다. 도 6a 내지 도 6b를 참조하면 상기 프로젝션된 픽처는 상기 CTU에 대응하는 IU들을 포함할 수 있다. 도 6a 내지 도 6b에 도시된 블록들은 상기 IU들을 나타낼 수 있다. 도 6a 내지 6b에 도시된 것과 같이 상기 IU 타입 정보의 값이 0인 경우, 상기 프로젝션된 픽처의 각 CTU에 대한 IU 플래그가 도출될 수 있다. 즉, 상기 IU 타입 정보의 값이 0인 경우, 상기 프로젝션된 픽처의 각 CTU에 대응하는 IU가 도출될 수 있고, 상기 IU에 대한 상기 IU 플래그가 도출될 수 있다. 상기 IU가 밸리드 샘플을 포함하는 경우, 상기 IU 플래그의 값은 0일 수 있고, 상기 IU 플래그의 값은 1일 수 있다. 또한, 상기 CTU의 사이즈는 기설정된 사이즈로 나타낼 수 있다. 예를 들어, 상기 도 6a를 참조하면 상기 CTU의 사이즈는 128x128 사이즈로 나타낼 수 있다. 또는 도 6b에 도시된 것과 같이 상기 CTU의 사이즈는 256x256 사이즈로 나타낼 수 있다.6A-6C illustratively show projected pictures divided into IUs. 6A to 6B, the projected picture may include IUs corresponding to the CTU. The blocks shown in FIGS. 6A to 6B may represent the IUs. As shown in FIGS. 6A to 6B, when the value of the IU type information is 0, an IU flag for each CTU of the projected picture may be derived. That is, when the value of the IU type information is 0, an IU corresponding to each CTU of the projected picture may be derived, and the IU flag for the IU may be derived. When the IU includes a valid sample, the value of the IU flag may be 0, and the value of the IU flag may be 1. In addition, the size of the CTU may be represented by a predetermined size. For example, referring to FIG. 6A, the size of the CTU may be represented as a 128x128 size. Alternatively, as illustrated in FIG. 6B, the size of the CTU may be represented by 256 × 256 size.
도 6c를 참조하면 상기 프로젝션된 픽처는 상기 페이스에 대응하는 IU들을 포함할 수 있다. 도 6c에 도시된 것과 같이 상기 IU 타입 정보의 값이 2인 경우, 상기 프로젝션된 픽처의 각 페이스에 대한 IU 플래그가 도출될 수 있다. 즉, 상기 IU 타입 정보의 값이 2인 경우, 상기 프로젝션된 픽처의 각 페이스에 대응하는 IU가 도출될 수 있고, 상기 IU에 대한 상기 IU 플래그가 도출될 수 있다. 상기 페이스의 사이즈는 기설정된 사이즈로 나타낼 수 있다. 예를 들어, 상기 도 6c를 참조하면 상기 페이스의 사이즈는 960x960 사이즈로 나타낼 수 있다.Referring to FIG. 6C, the projected picture may include IUs corresponding to the face. As illustrated in FIG. 6C, when the value of the IU type information is 2, an IU flag for each face of the projected picture may be derived. That is, when the value of the IU type information is 2, an IU corresponding to each face of the projected picture may be derived, and the IU flag for the IU may be derived. The size of the face may be represented by a predetermined size. For example, referring to FIG. 6C, the size of the face may be represented by a size of 960x960.
도 6a 내지 도 6c에 도시된 것과 같이 상기 프로젝션된 픽처에 포함된 IU들에 대한 IU 플래그들이 도출될 수 있고, 상기 IU 플래그들은 각각 해당 IU에 대한 값을 가질 수 있다. 본 발명에 따르면 상기 IU 플래그들을 시그널링하는데 있어 오버헤드를 줄이기 위하여 상기 IU 플래그들의 값들을 코딩하기 위한 인밸리드 맵이 제안된다. 상기 인밸리드 맵은 런-렝스 코딩(run-length coding) 및 카피 어보브 라인 코딩(copy above line coding)이 사용되어 생성될 수 있다. 상기 인밸리드 맵에 대한 신텍스 요소는 IU_map 이라고 나타낼 수 있다. 상기 프로젝션된 픽처에 대한 인밸리드 맵에서 대상 행에 대한 정보는 상기 런-렝스 코딩을 통하여 대상 행(row)의 나타난 값과 상기 값의 개수를 코딩하는 방식으로 도출될 수 있고, 다음 순서의 행, 즉, 상기 대상 행의 아래 행에 대한 정보는 상기 카피 어보브 라인 코딩을 통하여 상기 대상 행의 값을 기반으로 코딩되는 방식으로 도출될 수 있다. 구체적인 방법은 다음의 도 7에서 후술하는 바와 같을 수 있다.As shown in FIGS. 6A to 6C, IU flags for IUs included in the projected picture may be derived, and the IU flags may have values for the corresponding IU, respectively. According to the present invention, an invalidated map for coding the values of the IU flags is proposed in order to reduce the overhead in signaling the IU flags. The invalidated map may be generated using run-length coding and copy above line coding. The syntax element for the invalidated map may be represented as IU_map. The information about the target row in the invalidated map for the projected picture may be derived by coding the indicated value of the target row and the number of the values through the run-length coding, The information about the row, that is, the row below the target row, may be derived in a manner of being coded based on the value of the target row through the copy-above line coding. A detailed method may be as described later in FIG. 7.
도 7은 상기 프로젝션 픽처의 IU들에 대한 인밸리드 맵을 예시적으로 나타낸다. 도 7을 참조하면 굵은 선으로 표시된 영역이 있는바, 상기 굵은 선으로 표시된 영역 내 IU들에 대한 IU 플래그들의 값은 1로 도출될 수 있다. 이 경우, 상기 인밸리드 맵의 첫번째 행(가장 상측에 위치한 행)에 대한 정보는 상기 런-렝스 코딩이 적용되어 다음과 같이 도출될 수 있다. 상기 첫번째 행에 대한 IU 플래그들의 값에 상기 런-렝스 코딩이 적용되는 경우, 상기 첫번째 행에 대한 정보는 0 8 22 로 도출될 수 있다. 여기서, 상기 첫번째 행에 대한 정보의 0 은 시작값(start value)을 나타낼 수 있고, 상기 첫번째 행에 대한 정보의 8 은 앞의 값, 즉, 상기 시작값이 8번 도출됨을 나타낼 수 있다. 또한, 상기 첫번째 행에 대한 정보의 22 는 다음 순서로 1이 22번 도출됨을 나타낼 수 있다. 상기 런-렝스 코딩을 통하여 상기 첫번째 행에 대한 정보가 도출된 경우, 상기 첫번째 행의 후행하는 행들에 대한 정보를 코딩하기 위하여 상기 카피 어보브 라인 코딩이 사용될 수 있다. 이 경우, 상기 첫번째 행과 동일한 IU 플래그들에 대한 정보를 포함하는 행들의 개수를 나타내는 정보가 생성될 수 있다. 상기 동일한 IU 플래그들에 대한 정보를 포함하는 행들의 개수를 나타내는 정보는 카피 런(copy run) 정보라고 불릴 수 있고, copy_run 은 상기 카피 런 정보를 나타내는 신텍스 요소일 수 있다. 도 7을 참조하면 상기 첫번째 행 내지 7번째 행까지 7행들이 동일한 IU 플래그 값들을 가질 수 있고, 따라서, 상기 첫번째 행에 대한 상기 카피 런 정보의 값이 7로 도출될 수 있다.7 exemplarily shows an invalidated map for IUs of the projection picture. Referring to FIG. 7, there is an area indicated by a bold line. The value of the IU flags for the IUs in the area indicated by the bold line may be derived as 1. In this case, the information about the first row (the uppermost row) of the invalidated map may be derived as follows by applying the run-length coding. When the run-length coding is applied to the values of the IU flags for the first row, the information on the first row may be derived as 0 8 22. Here, 0 of the information on the first row may indicate a start value, and 8 of the information on the first row may indicate a previous value, that is, the start value is derived eight times. In addition, 22 of the information about the first row may indicate that 1 is derived 22 times in the following order. When the information on the first row is derived through the run-length coding, the copy-above line coding may be used to code information on the subsequent rows of the first row. In this case, information indicating the number of rows including information on the same IU flags as the first row may be generated. The information representing the number of rows including information on the same IU flags may be referred to as copy run information, and copy_run may be a syntax element representing the copy run information. Referring to FIG. 7, seven rows from the first to seventh rows may have the same IU flag values, and thus, the value of the copy run information for the first row may be derived as seven.
상술한 방법을 통하여 도출된 상기 도 7에 도시된 프로젝션된 픽처에 대한 인밸리드 맵은 다음의 표와 같을 수 있다.The invalidated map for the projected picture shown in FIG. 7 derived through the above-described method may be as shown in the following table.
Figure PCTKR2017011035-appb-T000002
Figure PCTKR2017011035-appb-T000002
상기 프로젝션된 픽처에 포함된 IU들에 대한 IU 플래그들이 각각 시그널링되지 않고, 상기 인밸리드 맵이 시그널링되어 상기 인밸리드 맵을 기반으로 상기 IU들의 IU 플래그들이 도출될 수 있다. 이를 통하여 상기 IU 플래그들을 각각 시그널링하기 위한 비트량보다 적은 비트량으로 상기 IU 플래그들에 대한 정보를 시그널링할 수 있고, 이를 통하여 전반적인 비트 효율이 향상될 수 있다.IU flags for the IUs included in the projected picture are not signaled, respectively, and the invalid map is signaled so that IU flags of the IUs can be derived based on the invalidated map. Through this, the information on the IU flags may be signaled with a bit amount smaller than the bit amount for signaling the IU flags, respectively, thereby improving overall bit efficiency.
도 8은 IU를 기반으로 수행되는 인코딩/디코딩 과정의 일 예를 나타낸다. 상기 IU를 기반으로 수행되는 인코딩/디코딩 과정은 슬라이스 레벨에서 시작될 수도 있다. 8 shows an example of an encoding / decoding process performed based on IU. The encoding / decoding process performed based on the IU may be started at the slice level.
도 8을 참조하면 비트스트림을 통하여 IU 타입 정보가 획득된다(S800). 상기 IU 타입 정보에 대한 신텍스 요소는 IU_type 이라고 나타낼 수 있다. 상기 IU 타입 정보는 상기 IU들과 대응하는 타입을 나타낼 수 있다. 예를 들어, 상기 IU 타입 정보는 CTU를 나타낼 수 있고, 이 경우, 상기 IU는 상기 프로젝션된 픽처의 CTU와 대응하는 블록으로 도출될 수 있다. 상기 IU의 사이즈는 상기 대응하는 CTU의 사이즈와 동일할 수 있다. 또한, 상기 IU 타입 정보는 CU를 나타낼 수 있고, 이 경우, 상기 IU는 상기 프로젝션된 픽처의 CU와 대응하는 블록으로 도출될 수 있다. 상기 IU의 사이즈는 상기 대응하는 CU의 사이즈와 동일할 수 있다. 또한, 상기 IU 타입 정보는 페이스(face)를 나타낼 수 있고, 이 경우, 상기 IU는 상기 프로젝션된 픽처의 페이스와 대응하는 블록으로 도출될 수 있다. 상기 IU의 사이즈는 상기 대응하는 페이스의 사이즈와 동일할 수 있다. 또한, 상기 IU 타입 정보는 슬라이스(slice)를 나타낼 수 있고, 이 경우, 상기 IU는 상기 프로젝션된 픽처의 슬라이스와 대응하는 블록으로 도출될 수 있다. 상기 IU의 사이즈는 상기 대응하는 슬라이스의 사이즈와 동일할 수 있다.Referring to FIG. 8, IU type information is obtained through a bitstream (S800). The syntax element for the IU type information may be represented as IU_type. The IU type information may indicate a type corresponding to the IUs. For example, the IU type information may indicate a CTU, and in this case, the IU may be derived as a block corresponding to the CTU of the projected picture. The size of the IU may be the same as the size of the corresponding CTU. In addition, the IU type information may indicate a CU, in which case, the IU may be derived as a block corresponding to the CU of the projected picture. The size of the IU may be the same as the size of the corresponding CU. Also, the IU type information may indicate a face, in which case the IU may be derived in a block corresponding to the face of the projected picture. The size of the IU may be the same as the size of the corresponding face. In addition, the IU type information may represent a slice, and in this case, the IU may be derived as a block corresponding to a slice of the projected picture. The size of the IU may be the same as the size of the corresponding slice.
도 8을 참조하면 상기 프로젝션된 픽처 내 대상 IU에 대한 IU 플래그가 획득된다(S810). 상기 IU 플래그는 상기 IU 플래그에 대한 상기 대상 IU의 인밸리드(invalid) 여부를 나타낼 수 있다. 즉, 상기 IU 플래그는 상기 대상 IU가 인밸리드 샘플만을 포함하는지(또는, 밸리드 샘플을 포함하지 않는지) 여부를 나타낼 수 있다. 상기 IU 플래그 정보는 인밸리드 맵 정보를 기반으로 도출될 수 있다. 상기 인밸리드 맵 정보는 비트스트림을 통하여 획득될 수 있고, IU_map은 상기 인밸리드 맵 정보를 나타내는 신텍스 요소를 나타낼 수 있다. 상기 IU 타입 정보로 상기 프로젝션된 픽처의 IU들이 도출된 경우, 상기 인밸리드 맵 정보를 기반으로 상기 IU들 중 상기 대상 IU에 대한 IU 플래그가 도출될 수 있다. Referring to FIG. 8, an IU flag of a target IU in the projected picture is obtained (S810). The IU flag may indicate whether the target IU is invalid with respect to the IU flag. That is, the IU flag may indicate whether the target IU includes only an invalidated sample (or does not include a valid sample). The IU flag information may be derived based on the invalid map information. The invalid map information may be obtained through a bitstream, and the IU_map may indicate a syntax element representing the invalid map information. When IUs of the projected picture are derived using the IU type information, an IU flag of the target IU among the IUs may be derived based on the invalidated map information.
도 8을 참조하면 상기 대상 IU에 대한 상기 IU 플래그의 값이 1인지 판단된다(S820). 상기 IU 플래그의 값이 1인 경우, 상기 대상 IU에 대한 인코딩/디코딩 과정은 생략되고, 상기 대상 IU의 다음 IU에 대한 처리 과정이 수행된다(S830). 또한, 상기 IU 플래그의 값이 0인 경우, 상기 대상 IU에 대한 인코딩/디코딩 과정이 수행된다(S840). 구체적으로, 상기 IU 플래그의 값이 1인 경우, 즉, 상기 IU 플래그가 상기 대상 IU가 인밸리드하다고 나타내는 경우, 상기 대상 IU는 인밸리드 샘플만을 포함할 수 있고, 상기 대상 IU에 대한 인코딩/디코딩 과정은 생략(skip)될 수 있다. 이 경우, 상기 대상 IU의 인밸리드 샘플의 샘플값은 특정값으로 도출될 수 있다. 예를 들어, 상기 대상 IU의 인밸리드 샘플의 샘플값은 회색을 나타내는 값으로 도출될 수 있다. 또한, 상기 IU 플래그의 값이 0인 경우, 즉, 상기 IU 플래그가 상기 대상 IU가 밸리드 샘플을 포함함을 나타내는 경우, 상기 대상 IU는 인코딩/디코딩 과정이 수행될 수 있다. 즉, 상기 대상 IU에 대한 예측 및 복원 과정이 수행될 수 있다.Referring to FIG. 8, it is determined whether the value of the IU flag for the target IU is 1 (S820). If the value of the IU flag is 1, the encoding / decoding process for the target IU is omitted, and the process for the next IU of the target IU is performed (S830). In addition, when the value of the IU flag is 0, an encoding / decoding process for the target IU is performed (S840). Specifically, when the value of the IU flag is 1, that is, when the IU flag indicates that the target IU is invalidated, the target IU may include only invalidated samples, and the encoding for the target IU is performed. The / decoding process can be skipped. In this case, the sample value of the invalidated sample of the target IU may be derived as a specific value. For example, the sample value of the invalidated sample of the target IU may be derived as a value representing gray. In addition, when the value of the IU flag is 0, that is, when the IU flag indicates that the target IU includes valid samples, the target IU may be subjected to an encoding / decoding process. That is, the prediction and reconstruction process for the target IU may be performed.
도 9는 본 발명에 따른 인코딩 장치에 의한 비디오 인코딩 방법을 개략적으로 나타낸다. 도 9에서 개시된 방법은 도 3에서 개시된 인코딩 장치에 의하여 수행될 수 있다. 구체적으로 예를 들어, 도 9의 S900 내지 S910은 상기 인코딩 장치의 프로젝션 처리부에 의하여 수행될 수 있고, S920 내지 S950은 상기 인코딩 장치의 예측부에 의하여 수행될 수 있고, S960은 상기 인코딩 장치의 엔트로피 인코딩부에 의하여 수행될 수 있다. 9 schematically illustrates a video encoding method by an encoding device according to the present invention. The method disclosed in FIG. 9 may be performed by the encoding apparatus disclosed in FIG. 3. Specifically, for example, S900 to S910 of FIG. 9 may be performed by the projection processing unit of the encoding apparatus, S920 to S950 may be performed by the prediction unit of the encoding apparatus, and S960 may be entropy of the encoding apparatus. It may be performed by the encoding unit.
인코딩 장치는 적어도 하나의 카메라에 의해 캡쳐된 360도 비디오 데이터를 획득한다(S900). 인코딩 장치는 적어도 하나의 카메라에 의해 캡쳐된 360도 비디오 데이터를 획득할 수 있다. 상기 360도 비디오 데이터는 적어도 하나의 카메라에 의해 캡처된 비디오일 수 있다. The encoding device obtains 360 degree video data captured by the at least one camera (S900). The encoding device may obtain 360 degree video data captured by the at least one camera. The 360 degree video data may be video captured by at least one camera.
인코딩 장치는 상기 360도 비디오 데이터를 처리하여 프로젝션된 픽처(projected picture)를 획득한다(S910). 인코딩 장치는 여러 프로젝션 타입(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 프로젝션 구조는 팔면체일 수 있다. 또한, 인코딩 장치는 상기 프로젝션된 픽처의 페이스들 각각을 회전, 재배열하거나, 각 페이스의 레졸루션을 변경하는 등의 처리를 수행할 수 있다. The encoding apparatus processes the 360 degree video data to obtain a projected picture (S910). The encoding apparatus may perform projection on a 2D image (or picture) according to the projection type for the 360 degree video data among various projection types, and obtain the projected picture. The projection type may correspond to the projection method described above, and the projected picture may be referred to as a projected frame. The various projection types include Equirectangular Projection (ERP), cube map projection (CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP), Truncated Square Pyramid projection (TSP), Segmented Sphere Projection (SSP) and Equal Area Projection (EAP). ) May be included. The 360 degree video data may be mapped to faces of the 3D projection structure of each projection type, and the faces may be projected onto the projected picture. That is, the projected picture may include faces of a 3D projection structure of each projection type. For example, 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. In this case, the 360 degree video data may be mapped to six faces of the cube, and the faces may be projected onto the projected picture. As another example, the 360-degree video data may be projected onto the projected picture based on an ISP (Icosahedral Projection), in which case the 3D projection structure may be icosahedron. As another example, the 360 degree video data may be projected onto the projected picture based on Octahedron Projection (OHP), in which case the 3D projection structure may be octahedral. In addition, 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.
인코딩 장치는 프로젝션된 픽처의 처리 단위들을 도출한다(S920). 상기 프로젝션된 픽처는 인밸리드 샘플(invalid sample)을 포함할 수 있다. 상기 인밸리드 샘플은 상기 프로젝션된 픽처에 대한 정보를 포함하지 않는 샘플을 나타낼 수 있고, 또는 상기 360도 비디오 데이터가 맵핑되지 않은 샘플을 나타낼 수 있다. 인코딩 장치는 상기 인밸리드 샘플을 처리하기 위하여 다양한 타입의 처리 단위들로 상기 프로젝션 픽처를 분할할 수 있고, 상기 다양한 타입의 처리 단위들을 기반으로 상기 프로젝션된 픽처를 디코딩할 수 있으며, 이를 통하여 최적의 RD(rate-distortion) 코스트를 갖는 타입을 상기 프로젝션된 픽처에 대한 상기 처리 단위들의 타입으로 도출할 수 있다. 여기서, 상기 처리 단위들은 인밸리드 유닛(invalid unit, IU)들 또는 IU 관련 처리 단위들이라고 불릴 수 있다. 예를 들어, 상기 IU들의 타입은 상기 프로젝션된 픽처의 CTU(coding tree unit, CTU)로 도출될 수 있다. 또는, 상기 IU들의 타입은 상기 프로젝션된 픽처의 CU(coding unit, CU)로 도출될 수 있다. 또는, 상기 IU들의 타입은 상기 프로젝션된 픽처의 페이스(face)로 도출될 수 있다. 또는, 상기 IU들의 타입은 상기 프로젝션된 픽처의 슬라이스(slice)로 도출될 수 있다. 인코딩 장치는 상기 프로젝션된 픽처의 처리 단위들에 대한 타입을 도출할 수 있고, 상기 타입을 기반으로 상기 프로젝션된 픽처의 상기 처리 단위들을 도출할 수 있다.The encoding apparatus derives processing units of the projected picture (S920). The projected picture may include an invalid sample. The invalidated sample may represent a sample that does not include information about the projected picture, or may represent a sample to which the 360 degree video data is not mapped. The encoding apparatus may split the projection picture into various types of processing units to process the invalidated sample, and decode the projected picture based on the various types of processing units, thereby making it optimal. A type having a rate-distortion (RD) cost may be derived as a type of the processing units for the projected picture. The processing units may be referred to as invalid units (IUs) or IU-related processing units. For example, the type of the IUs may be derived as a coding tree unit (CTU) of the projected picture. Alternatively, the type of the IUs may be derived into a coding unit (CU) of the projected picture. Alternatively, the type of IUs can be derived to the face of the projected picture. Alternatively, the type of IUs may be derived as a slice of the projected picture. The encoding apparatus may derive a type for processing units of the projected picture, and may derive the processing units of the projected picture based on the type.
예를 들어, 상기 IU들의 타입이 상기 프로젝션된 픽처의 CTU(coding tree unit, CTU)로 도출된 경우, 상기 IU들은 상기 CTU와 대응하는 블록들로 도출될 수 있다. 상기 IU들의 사이즈는 상기 CTU의 사이즈와 동일할 수 있다. 예를 들어, 상기 CTU의 사이즈는 128x128 사이즈일 수 있고, 또는 256x256 사이즈일 수 있다. For example, when the type of the IUs is derived as a coding tree unit (CTU) of the projected picture, the IUs may be derived as blocks corresponding to the CTU. The size of the IUs may be the same as the size of the CTU. For example, the size of the CTU may be 128x128 size or 256x256 size.
다른 예로, 상기 IU들의 타입이 상기 프로젝션된 픽처의 CU(coding unit, CU)로 도출된 경우, 상기 IU들은 상기 CU와 대응하는 블록들로 도출될 수 있다. 상기 IU들의 사이즈는 상기 CU의 사이즈와 동일할 수 있다. As another example, when the types of the IUs are derived to a coding unit (CU) of the projected picture, the IUs may be derived to blocks corresponding to the CU. The size of the IUs may be the same as the size of the CU.
다른 예로, 상기 IU들의 타입이 상기 프로젝션된 픽처의 페이스(face)로 도출된 경우, 상기 IU들은 상기 페이스와 대응하는 블록들로 도출될 수 있다. 상기 IU들의 사이즈는 상기 페이스의 사이즈와 동일할 수 있다. 예를 들어, 상기 페이스의 사이즈는 960x960 사이즈일 수 있다. As another example, when the type of the IUs is derived to a face of the projected picture, the IUs may be derived to blocks corresponding to the face. The size of the IUs may be the same as the size of the face. For example, the size of the face may be 960x960 size.
다른 예로, 상기 IU들의 타입이 상기 프로젝션된 픽처의 슬라이스(slice)로 도출된 경우, 상기 IU들은 상기 슬라이스와 대응하는 블록들로 도출될 수 있다. 상기 IU들의 사이즈는 상기 슬라이스의 사이즈와 동일할 수 있다.As another example, when the type of the IUs is derived as a slice of the projected picture, the IUs may be derived as blocks corresponding to the slice. The size of the IUs may be the same as the size of the slice.
한편, 인코딩 장치는 상기 프로젝션된 픽처의 상기 처리 단위들에 대한 IU 타입 정보를 생성할 수 있다. 상기 IU 타입 정보는 상기 처리 단위들과 대응하는 타입을 나타낼 수 있다. 상기 IU 타입 정보에 대한 신텍스 요소는 IU_type 이라고 나타낼 수 있다. 예를 들어, 상기 IU 타입 정보는 상기 CTU, 상기 CU, 상기 페이스 또는 상기 슬라이스를 나타낼 수 있다. 상기 IU 타입 정보는 상술한 표 1과 같이 도출될 수 있다.Meanwhile, the encoding apparatus may generate IU type information about the processing units of the projected picture. The IU type information may indicate a type corresponding to the processing units. The syntax element for the IU type information may be represented as IU_type. For example, the IU type information may indicate the CTU, the CU, the face, or the slice. The IU type information may be derived as shown in Table 1 above.
인코딩 장치는 상기 처리 단위들 중 대상 처리 단위에 대한 IU 플래그를 도출한다(S930). 상기 대상 처리 단위는 대상 IU라고 불릴 수 있다. 인코딩 장치는 상기 IU들 중 상기 대상 IU에 대한 상기 IU 플래그를 도출할 수 있다. 상기 대상 IU에 대한 상기 IU 플래그는 상기 대상 IU의 인밸리드(invalid) 여부를 나타낼 수 있다. 또는, 상기 대상 IU에 대한 상기 IU 플래그는 상기 대상 IU가 인밸리드 영역인지 여부, 다시 말해, 상기 대상 IU의 밸리드 샘플(valid sample) 포함 여부를 나타낼 수 있다. 또는, 상기 대상 IU에 대한 상기 IU 플래그는 상기 대상 IU가 인밸리드 샘플(invalid sample)만을 포함하는지 여부를 나타낼 수 있다. 상기 밸리드 샘플은 상기 프로젝션된 픽처에 대한 정보를 포함하는 샘플을 나타낼 수 있다. 또는, 상기 밸리드 샘플은 상기 360도 비디오 데이터가 맵핑된 샘플을 나타낼 수 있다. 상기 인밸리드 샘플은 상기 프로젝션된 픽처에 대한 정보를 포함하지 않는 샘플을 나타낼 수 있다. 또는, 상기 인밸리드 샘플은 상기 360도 비디오 데이터가 맵핑되지 않은 샘플을 나타낼 수 있다. 상기 인밸리드 영역은 상기 인밸리드 샘플만을 포함하는 영역 또는 상기 밸리드 샘플이 포함되지 않은 영역을 나타낼 수 있다. 인코딩 장치는 상기 대상 IU의 밸리드 샘플 포함 여부를 기반으로 상기 IU 플래그를 생성할 수 있다. 예를 들어, 상기 대상 IU가 상기 밸리드 샘플을 포함하는 경우, 상기 대상 IU에 대한 상기 IU 플래그의 값은 0으로 도출될 수 있고, 상기 대상 IU가 상기 밸리드 샘플을 포함하지 않는 경우(즉, 상기 대상 IU가 인밸리드 샘플만을 포함하는 경우), 상기 대상 IU에 대한 상기 IU 플래그의 값은 1로 도출될 수 있다.The encoding apparatus derives an IU flag for a target processing unit among the processing units (S930). The target processing unit may be called a target IU. The encoding apparatus may derive the IU flag for the target IU among the IUs. The IU flag for the target IU may indicate whether the target IU is invalid. Alternatively, the IU flag for the target IU may indicate whether the target IU is an invalidated region, that is, whether to include a valid sample of the target IU. Alternatively, the IU flag for the target IU may indicate whether the target IU includes only an invalid sample. The valid sample may represent a sample including information about the projected picture. Alternatively, the valid sample may represent a sample to which the 360 degree video data is mapped. The invalidated sample may represent a sample that does not include information about the projected picture. Alternatively, the invalidated sample may represent a sample to which the 360 degree video data is not mapped. The invalidated region may indicate an area including only the invalidated sample or an area in which the validated sample is not included. The encoding apparatus may generate the IU flag based on whether the target IU includes a valid sample. For example, if the target IU includes the valid sample, the value of the IU flag for the target IU may be derived as 0, and if the target IU does not include the valid sample (ie When the target IU includes only invalidated samples), the value of the IU flag for the target IU may be derived as 1.
한편, 인코딩 장치는 상기 프로젝션된 픽처의 상기 IU들의 IU 플래그들에 대한 정보를 생성할 수 있다. 여기서, 상기 IU 들의 IU 플래그들에 대한 정보는 인밸리드 맵이라고 불릴 수 있다. 상기 인밸리드 맵은 런-렝스 코딩(run-length coding) 및 카피 어보브 라인 코딩(copy above line coding)을 기반으로 생성될 수 있다. 예를 들어, 상기 인밸리드 맵은 상기 IU들 중 대상 행(row)에 포함된 IU들의 IU 플래그들에 대한 정보를 포함할 수 있고, 상기 대상 행에 포함된 IU들의 IU 플래그들에 대한 정보는 상기 런-렝스 코딩을 기반으로 도출될 수 있다. 상기 대상 행에 포함된 IU들의 IU 플래그들에 대한 정보는 상기 대상 행의 첫번째 IU의 IU 플래그 값, 상기 첫번째 IU의 상기 IU 플래그 값의 발생 횟수, 및/또는 상기 첫번째 IU의 상기 IU 플래그 값과 다른 값의 발생 횟수에 대한 정보를 포함할 수 있다. 또한, 상기 인밸리드 맵은 상기 대상 행과 동일한 정보를 포함하는 행들의 개수를 나타내는 정보를 포함할 수 있다. 상기 대상 행과 동일한 정보를 포함하는 행들의 개수를 나타내는 정보는 상기 카피 어보브 라인 코딩을 기반으로 도출될 수 있다. 구체적으로, 상기 대상 행에 포함된 IU들의 IU 플래그들에 대한 정보는 상기 대상 행의 첫번째 IU의 IU 플래그 값 a, 상기 첫번째 IU의 상기 IU 플래그 값의 발생 횟수 b, 및/또는 상기 첫번째 IU의 상기 IU 플래그 값과 다른 값의 발생 횟수 c에 대한 정보를 포함할 수 있다. 이 경우, 상기 대상 행의 첫번째 IU 내지 b 번째 IU의 IU 플래그들의 값은 a로 도출될 수 있다. 또한, 상기 대상 행의 b+1 번째 IU 내지 b+c 번째 IU의 IU 플래그들의 값은 상기 a 와 다른 값(예를 들어, a가 1이면 0, a가 0이면 1)으로 도출될 수 있다. 또한, 상기 인밸리드 맵이 상기 대상 행과 동일한 정보를 포함하는 행들의 개수 d를 나타내는 정보를 포함할 수 있고, 이 경우, 상기 대상 행 다음의 d-1 행까지의 행들은 상기 대상 행과 동일한 IU 플래그들이 도출될 수 있다. 즉, 대상 행 다음의 d-1 행까지의 행들 각각의 IU들은 상기 대상 행의 IU들과 동일한 IU 플래그 값들이 도출될 수 있다. Meanwhile, the encoding apparatus may generate information about IU flags of the IUs of the projected picture. Here, the information on the IU flags of the IUs may be referred to as an invalid map. The invalidated map may be generated based on run-length coding and copy above line coding. For example, the envalidated map may include information about IU flags of IUs included in a target row among the IUs, and information about IU flags of IUs included in the target row. May be derived based on the run-length coding. Information about the IU flags of the IUs included in the target row may include the IU flag value of the first IU of the target row, the number of occurrences of the IU flag value of the first IU, and / or the IU flag value of the first IU. Information about the number of occurrences of other values may be included. In addition, the invalid map may include information indicating the number of rows including the same information as the target row. The information indicating the number of rows including the same information as the target row may be derived based on the copy-above line coding. Specifically, the information on the IU flags of the IUs included in the target row includes the IU flag value a of the first IU of the target row, the number b of occurrences of the IU flag value of the first IU, and / or the first IU. Information about the number c of occurrences of a value different from the IU flag value may be included. In this case, the values of the IU flags of the first IU to the b th IU of the target row may be derived as a. In addition, the values of the IU flags of the b + 1 th IU to the b + c th IU of the target row may be derived from values different from the a (for example, 0 if a is 1 and 1 if a is 0). . In addition, the invalid map may include information indicating the number of rows d including the same information as the target row, in which case, the rows up to d-1 following the target row may correspond to the target row. The same IU flags may be derived. That is, the IU flag values of each of the rows up to the d-1 following the target row may be derived from the same IU flag values as the IUs of the target row.
인코딩 장치는 상기 대상 처리 단위에 대한 상기 IU 플래그가 상기 대상 처리 단위가 인밸리드(invalid)하다고 나타내는 경우, 상기 대상 처리 단위의 샘플의 샘플값을 기설정된 특정값으로 도출한다(S940). 상기 대상 처리 단위에 대한 상기 IU 플래그가 상기 대상 처리 단위가 인밸리드하다고 나타내는 경우, 상기 대상 처리 단위에 대한 디코딩은 생략될 수 있고, 상기 대상 처리 단위의 샘플의 샘플값은 기설정된 특정값으로 도출될 수 있다. 예를 들어, 상기 대상 IU에 대한 상기 IU 플래그가 상기 대상 IU가 인밸리드하다고 나타내는 경우, 즉, 상기 대상 IU에 대한 상기 IU 플래그가 상기 대상 IU는 밸리드 샘플을 포함하지 않음을 나타내는 경우(또는 상기 대상 IU는 인밸리드 샘플만을 포함함을 나타내는 경우), 상기 대상 IU에 대한 예측은 생략될 수 있고, 상기 대상 IU의 샘플들은 상기 기설정된 특정값으로 도출될 수 있다. 예를 들어, 상기 기설정된 특정값은 회색(gray)을 나타내는 값일 수 있다.If the IU flag for the target processing unit indicates that the target processing unit is invalid, the encoding apparatus derives a sample value of a sample of the target processing unit as a predetermined specific value (S940). When the IU flag for the target processing unit indicates that the target processing unit is invalidated, decoding on the target processing unit may be omitted, and a sample value of a sample of the target processing unit is a preset specific value. Can be derived. For example, if the IU flag for the target IU indicates that the target IU is invaluated, i.e., the IU flag for the target IU indicates that the target IU does not contain valid samples ( Or when the target IU includes only invalidated samples), the prediction for the target IU may be omitted, and the samples of the target IU may be derived with the predetermined specific value. For example, the predetermined specific value may be a value representing gray.
또한, 상기 대상 IU에 대한 상기 IU 플래그가 상기 대상 IU가 인밸리드하지 않다고 나타내는 경우, 즉, 상기 대상 IU에 대한 상기 IU 플래그가 상기 대상 IU는 밸리드 샘플을 포함함을 나타내는 경우, 상기 대상 IU에 대한 디코딩이 수행될 수 있다. 즉, 상기 대상 IU에 대한 예측 샘플이 도출될 수 있고, 상기 예측 샘플을 기반으로 복원 샘플이 도출될 수 있다.Further, when the IU flag for the target IU indicates that the target IU is not balanced, that is, when the IU flag for the target IU indicates that the target IU includes a valid sample, the target Decoding for the IU may be performed. That is, a prediction sample for the target IU may be derived, and a reconstruction sample may be derived based on the prediction sample.
인코딩 장치는 상기 프로젝션된 픽처에 대한 360도 비디오 정보를 생성하고 인코딩하여 출력한다(S950). 인코딩 장치는 상기 프로젝션된 픽처에 대한 상기 360도 비디오 정보를 생성할 수 있고, 상기 360 비디오 정보를 인코딩하여 비트스트림을 통하여 출력할 수 있다. 상기 360 비디오 정보는 상기 프로젝션된 픽처의 상기 처리 단위들에 대한 IU 타입 정보를 포함할 수 있다. 상기 IU 타입 정보는 상기 처리 단위들과 대응하는 타입을 나타낼 수 있다. 상기 IU 타입 정보에 대한 신텍스 요소는 IU_type 이라고 나타낼 수 있다. 예를 들어, 상기 IU 타입 정보는 상기 CTU, 상기 CU, 상기 페이스 또는 상기 슬라이스를 나타낼 수 있다. 상기 IU 타입 정보는 슬라이스 헤더(slice header), PPS(picture parameter set), SPS(sequence parameter set) 등과 같은 상위 레벨 신텍스(high level syntax)를 통하여 전송될 수 있다. 상기 IU 타입 정보는 상술한 표 1과 같이 도출될 수 있다. The encoding apparatus generates, encodes, and outputs 360-degree video information about the projected picture (S950). The encoding apparatus may generate the 360 degree video information for the projected picture, and may encode the 360 video information and output the encoded video information through a bitstream. The 360 video information may include IU type information about the processing units of the projected picture. The IU type information may indicate a type corresponding to the processing units. The syntax element for the IU type information may be represented as IU_type. For example, the IU type information may indicate the CTU, the CU, the face, or the slice. The IU type information may be transmitted through a high level syntax such as a slice header, a picture parameter set (PPS), a sequence parameter set (SPS), and the like. The IU type information may be derived as shown in Table 1 above.
또한, 상기 360 비디오 정보는 상기 프로젝션 픽처에 대한 인밸리드 맵을 포함할 수 있다. 상기 인밸리드 맵은 상기 프로젝션된 픽처의 상기 처리 단위들의 IU 플래그들에 대한 정보를 나타낼 수 있다. 상기 인밸리드 맵에 대한 신텍스 요소는 IU_map 이라고 나타낼 수 있다. 예를 들어, 상기 인밸리드 맵은 상기 처리 단위들 중 대상 행(row)에 포함된 처리 단위들의 IU 플래그들에 대한 정보를 포함할 수 있다. 상기 대상 행에 포함된 처리 단위들의 IU 플래그들에 대한 정보는 상기 대상 행의 첫번째 처리 단위의 IU 플래그 값, 상기 첫번째 처리 단위의 상기 IU 플래그 값의 발생 횟수, 및/또는 상기 첫번째 처리 단위의 상기 IU 플래그 값과 다른 값의 발생 횟수에 대한 정보를 포함할 수 있다. 또한, 상기 인밸리드 맵은 상기 대상 행과 동일한 정보를 포함하는 행들의 개수를 나타내는 정보를 포함할 수 있다. The 360 video information may include an invalidated map for the projection picture. The envalidated map may indicate information on IU flags of the processing units of the projected picture. The syntax element for the invalidated map may be represented as IU_map. For example, the envalidated map may include information on IU flags of processing units included in a target row among the processing units. Information about the IU flags of the processing units included in the target row may include the IU flag value of the first processing unit of the target row, the number of occurrences of the IU flag value of the first processing unit, and / or the first processing unit. Information about the number of occurrences of a value different from the IU flag value may be included. In addition, the invalid map may include information indicating the number of rows including the same information as the target row.
또한, 상기 360도 비디오 정보는 상기 프로젝션된 픽처의 프로젝션 타입을 나타내는 정보를 포함할 수 있다. 상기 프로젝션된 픽처의 상기 프로젝션 타입은 여러 프로젝션 타입들 중 하나일 수 있고, 상기 여러 프로젝션 타입들은 상술한 Equirectangular Projection (ERP), cube map projection(CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP), Truncated Square Pyramid projection (TSP), Segmented Sphere Projection (SSP) and Equal Area Projection (EAP) 을 포함할 수 있다.In addition, the 360 degree video information may include information indicating the projection type of the projected picture. The projection type of the projected picture may be one of several projection types, and the projection types may be Equirectangular Projection (ERP), cube map projection (CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP). It may include Truncated Square Pyramid projection (TSP), Segmented Sphere Projection (SSP) and Equal Area Projection (EAP).
한편, 비록 도면에서 도시되지는 않았으나 상기 대상 처리 단위에 대하여 디코딩이 수행되는 경우, 인코딩 장치는 상기 대상 처리 단위에 대한 예측 샘플을 도출할 수 있고, 원본 샘플과 상기 도출된 예측 샘플을 기반으로 레지듀얼(residual) 샘플을 생성할 수 있다. 인코딩 장치는 상기 레지듀얼 샘플을 기반으로 상기 레지듀얼에 관한 정보를 생성할 수 있다. 상기 레지듀얼에 관한 정보는 상기 레지듀얼 샘플에 관한 변환 계수들을 포함할 수 있다. 인코딩 장치는 상기 예측 샘플과 상기 레지듀얼 샘플을 기반으로 상기 복원 샘플을 도출할 수 있다. 즉, 인코딩 장치는 상기 예측 샘플과 상기 레지듀얼 샘플을 더하여 상기 복원 샘플을 도출할 수 있다. 또한, 인코딩 장치는 상기 레지듀얼에 관한 정보를 인코딩하여 비트스트림 형태로 출력할 수 있다. 상기 비트스트림은 네트워크 또는 저장매체를 통하여 디코딩 장치로 전송될 수 있다.Meanwhile, although not shown in the drawing, when decoding is performed on the target processing unit, the encoding apparatus may derive a prediction sample for the target processing unit, and register based on the original sample and the derived prediction sample. Dual samples can be generated. The encoding apparatus may generate information about the residual based on the residual sample. The information about the residual may include transform coefficients related to the residual sample. The encoding apparatus may derive the reconstructed sample based on the prediction sample and the residual sample. That is, the encoding apparatus may derive the reconstructed sample by adding the prediction sample and the residual sample. In addition, the encoding apparatus may encode the information about the residual and output the bitstream. The bitstream may be transmitted to a decoding apparatus via a network or a storage medium.
도 10은 본 발명에 따른 디코딩 장치에 의한 비디오 디코딩 방법을 개략적으로 나타낸다. 도 10에서 개시된 방법은 도 4에서 개시된 디코딩 장치에 의하여 수행될 수 있다. 구체적으로 예를 들어, 도 10의 S1000은 상기 디코딩 장치의 엔트로피 디코딩부에 의하여 수행될 수 있고, S1010 내지 S1030은 상기 디코딩 장치의 예측부에 의하여 수행될 수 있다.10 schematically illustrates a video decoding method by a decoding apparatus according to the present invention. The method disclosed in FIG. 10 may be performed by the decoding apparatus disclosed in FIG. 4. Specifically, for example, S1000 of FIG. 10 may be performed by the entropy decoding unit of the decoding apparatus, and S1010 to S1030 may be performed by the prediction unit of the decoding apparatus.
디코딩 장치는 360도 비디오 정보를 수신한다(S1000). 디코딩 장치는 비트스트림을 통하여 상기 360도 비디오 정보를 수신할 수 있다. The decoding apparatus receives 360 degree video information (S1000). The decoding apparatus may receive the 360 degree video information through a bitstream.
상기 360 비디오 정보는 프로젝션된 픽처의 처리 단위들에 대한 IU 타입 정보를 포함할 수 있다. 상기 처리 단위들은 IU(invalid unit, IU)들이라고 불릴 수 있다. 상기 IU 타입 정보는 상기 IU들과 대응하는 타입을 나타낼 수 있다. 상기 IU 타입 정보에 대한 신텍스 요소는 IU_type 이라고 나타낼 수 있다. 예를 들어, 상기 IU 타입 정보는 CTU(coding tree unit, CTU), CU(coding unit, CU), 페이스(face) 또는 상기 슬라이스(slice)를 나타낼 수 있다. 상기 IU 타입 정보는 슬라이스 헤더(slice header), PPS(picture parameter set), SPS(sequence parameter set) 등과 같은 상위 레벨 신텍스(high level syntax)를 통하여 수신될 수 있다. 상기 IU 타입 정보는 상술한 표 1과 같이 도출될 수 있다. The 360 video information may include IU type information about processing units of the projected picture. The processing units may be called invalid units (IUs). The IU type information may indicate a type corresponding to the IUs. The syntax element for the IU type information may be represented as IU_type. For example, the IU type information may indicate a coding tree unit (CTU), a coding unit (CU), a face, or the slice. The IU type information may be received through a high level syntax such as a slice header, a picture parameter set (PPS), a sequence parameter set (SPS), and the like. The IU type information may be derived as shown in Table 1 above.
또한, 상기 360 비디오 정보는 상기 프로젝션 픽처에 대한 인밸리드 맵을 포함할 수 있다. 상기 인밸리드 맵은 상기 프로젝션된 픽처의 상기 처리 단위들의 IU 플래그들에 대한 정보를 나타낼 수 있다. 상기 인밸리드 맵에 대한 신텍스 요소는 IU_map 이라고 나타낼 수 있다. 예를 들어, 상기 인밸리드 맵은 상기 IU들 중 대상 행(row)에 포함된 IU들의 IU 플래그들에 대한 정보를 포함할 수 있다. 상기 대상 행에 포함된 IU들의 IU 플래그들에 대한 정보는 상기 대상 행의 첫번째 IU의 IU 플래그 값, 상기 첫번째 IU의 상기 IU 플래그 값의 발생 횟수, 및/또는 상기 첫번째 IU의 상기 IU 플래그 값과 다른 값의 발생 횟수에 대한 정보를 포함할 수 있다. 또한, 상기 인밸리드 맵은 상기 대상 행과 동일한 정보를 포함하는 행들의 개수를 나타내는 정보를 포함할 수 있다.The 360 video information may include an invalidated map for the projection picture. The envalidated map may indicate information on IU flags of the processing units of the projected picture. The syntax element for the invalidated map may be represented as IU_map. For example, the envalidated map may include information on IU flags of IUs included in a target row among the IUs. Information about the IU flags of the IUs included in the target row may include the IU flag value of the first IU of the target row, the number of occurrences of the IU flag value of the first IU, and / or the IU flag value of the first IU. Information about the number of occurrences of other values may be included. In addition, the invalid map may include information indicating the number of rows including the same information as the target row.
또한, 상기 360도 비디오 정보는 상기 프로젝션된 픽처의 프로젝션 타입을 나타내는 정보를 포함할 수 있다. 상기 프로젝션된 픽처의 상기 프로젝션 타입은 여러 프로젝션 타입들 중 하나일 수 있고, 상기 여러 프로젝션 타입들은 상술한 Equirectangular Projection (ERP), cube map projection(CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP), Truncated Square Pyramid projection (TSP), Segmented Sphere Projection (SSP) and Equal Area Projection (EAP) 을 포함할 수 있다. In addition, the 360 degree video information may include information indicating the projection type of the projected picture. The projection type of the projected picture may be one of several projection types, and the projection types may be Equirectangular Projection (ERP), cube map projection (CMP), Icosahedral Projection (ISP), Octahedron Projection (OHP). It may include Truncated Square Pyramid projection (TSP), Segmented Sphere Projection (SSP) and Equal Area Projection (EAP).
디코딩 장치는 상기 프로젝션된 픽처의 처리 단위들을 도출한다(S1010). 상기 처리 단위들은 IU(invalid unit, IU)들이라고 불릴 수 있다. 디코딩 장치는 상기 비트스트림으로부터 획득한 상기 프로젝션된 픽처의 IU들에 대한 IU 타입 정보를 기반으로 상기 IU들의 타입을 도출할 수 있다. 즉, 상기 IU들의 타입은 상기 프로젝션된 픽처의 상기 IU들에 대한 상기 IU 타입 정보를 기반으로 도출될 수 있다. 예를 들어, 상기 IU 타입 정보는 CTU(coding tree unit, CTU), CU(coding unit, CU), 페이스(face) 또는 상기 슬라이스(slice)를 나타낼 수 있다. 즉, 상기 IU 타입 정보를 기반으로 상기 IU들의 타입은 상기 프로젝션된 픽처의 CTU, CU, 페이스, 또는 슬라이스로 도출될 수 있다. 상기 IU들은 상기 IU 타입 정보가 나타내는 타입과 대응하는 블록들로 도출될 수 있다. 예를 들어, 상기 IU들의 타입이 상기 프로젝션된 픽처의 CTU(coding tree unit, CTU)로 도출된 경우, 상기 IU들은 상기 CTU와 대응하는 블록들로 도출될 수 있다. 상기 IU들의 사이즈는 상기 CTU의 사이즈와 동일할 수 있다. 예를 들어, 상기 CTU의 사이즈는 128x128 사이즈일 수 있고, 또는 256x256 사이즈일 수 있다. The decoding apparatus derives processing units of the projected picture (S1010). The processing units may be called invalid units (IUs). The decoding apparatus may derive the types of the IUs based on the IU type information on the IUs of the projected picture obtained from the bitstream. That is, the type of the IUs may be derived based on the IU type information for the IUs of the projected picture. For example, the IU type information may indicate a coding tree unit (CTU), a coding unit (CU), a face, or the slice. That is, the type of the IUs may be derived as a CTU, CU, face, or slice of the projected picture based on the IU type information. The IUs may be derived from blocks corresponding to the type indicated by the IU type information. For example, when the type of the IUs is derived as a coding tree unit (CTU) of the projected picture, the IUs may be derived as blocks corresponding to the CTU. The size of the IUs may be the same as the size of the CTU. For example, the size of the CTU may be 128x128 size or 256x256 size.
다른 예로, 상기 IU들의 타입이 상기 프로젝션된 픽처의 CU(coding unit, CU)로 도출된 경우, 상기 IU들은 상기 CU와 대응하는 블록들로 도출될 수 있다. 상기 IU들의 사이즈는 상기 CU의 사이즈와 동일할 수 있다. As another example, when the types of the IUs are derived to a coding unit (CU) of the projected picture, the IUs may be derived to blocks corresponding to the CU. The size of the IUs may be the same as the size of the CU.
다른 예로, 상기 IU들의 타입이 상기 프로젝션된 픽처의 페이스(face)로 도출된 경우, 상기 IU들은 상기 페이스와 대응하는 블록들로 도출될 수 있다. 상기 IU들의 사이즈는 상기 페이스의 사이즈와 동일할 수 있다. 예를 들어, 상기 페이스의 사이즈는 960x960 사이즈일 수 있다. As another example, when the type of the IUs is derived to a face of the projected picture, the IUs may be derived to blocks corresponding to the face. The size of the IUs may be the same as the size of the face. For example, the size of the face may be 960x960 size.
다른 예로, 상기 IU들의 타입이 상기 프로젝션된 픽처의 슬라이스(slice)로 도출된 경우, 상기 IU들은 상기 슬라이스와 대응하는 블록들로 도출될 수 있다. 상기 IU들의 사이즈는 상기 슬라이스의 사이즈와 동일할 수 있다. As another example, when the type of the IUs is derived as a slice of the projected picture, the IUs may be derived as blocks corresponding to the slice. The size of the IUs may be the same as the size of the slice.
디코딩 장치는 상기 360 비디오 정보를 기반으로 상기 처리 단위들 중 대상 처리 단위에 대한 IU 플래그를 도출한다(S1020). 상기 처리 단위들은 IU(invalid unit, IU)들이라고 불릴 수 있고, 상기 대상 처리 단위는 대상 IU라고 불릴 수 있다. 상기 대상 처리 단위에 대한 상기 IU 플래그는 상기 대상 처리 단위가 인밸리드 영역인지 여부를 나타낼 수 있다. 상기 인밸리드 영역은 인밸리드 샘플만을 포함하는 영역을 나타낼 수 있다. 상기 인밸리드 샘플은 상기 프로젝션된 픽처에 대한 정보를 포함하지 않는 샘플을 나타낼 수 있고, 또는 상기 360도 비디오 데이터가 맵핑되지 않은 샘플을 나타낼 수 있다. 디코딩 장치는 상기 비트스트림으로부터 획득한 상기 프로젝션된 픽처에 대한 상기 인밸리드 맵을 기반으로 상기 IU들의 IU 플래그들을 도출할 수 있다. 즉, 상기 프로젝션된 픽처의 상기 대상 IU가 포함된 상기 IU들의 상기 IU 플래그들은 상기 프로젝션된 픽처에 대한 상기 인밸리드 맵을 기반으로 도출될 수 있다. 상기 IU들의 IU 플래그들은 상기 인밸리드 맵에 런-렝스 코딩(run-length coding) 및 카피 어보브 라인 코딩(copy above line coding)이 적용되어 도출될 수 있다. 예를 들어, 상기 인밸리드 맵은 상기 IU들 중 대상 행(row)에 포함된 IU들의 IU 플래그들에 대한 정보를 포함할 수 있다. 상기 대상 행에 포함된 IU들의 IU 플래그들에 대한 정보는 런-렝스 코딩(run-length coding)을 기반으로 도출될 수 있다. 상기 대상 행에 포함된 IU들의 IU 플래그들에 대한 정보는 상기 대상 행의 첫번째 IU의 IU 플래그 값, 상기 첫번째 IU의 상기 IU 플래그 값의 발생 횟수, 및/또는 상기 첫번째 IU의 상기 IU 플래그 값과 다른 값의 발생 횟수에 대한 정보를 포함할 수 있다. 또한, 상기 인밸리드 맵은 상기 대상 행과 동일한 정보를 포함하는 행들의 개수를 나타내는 정보를 포함할 수 있다. 상기 대상 행과 동일한 정보를 포함하는 행들의 개수를 나타내는 정보는 상기 카피 어보브 라인 코딩을 기반으로 도출될 수 있다. 상기 대상 행과 동일한 정보를 포함하는 행들의 개수를 나타내는 정보를 기반으로 상 대상 행과 동일한 정보를 갖는 상기 대상 행의 다음 순서의 행들이 도출될 수 있고, 상기 다음 순서의 행들에 포함된 IU들의 IU 플래그들이 상기 대상 행에 포함된 IU들의 IU 플래그와 동일하게 도출될 수 있다. 구체적으로, 상기 대상 행에 포함된 IU들의 IU 플래그들에 대한 정보는 상기 대상 행의 첫번째 IU의 IU 플래그 값 a, 상기 첫번째 IU의 상기 IU 플래그 값의 발생 횟수 b, 및/또는 상기 첫번째 IU의 상기 IU 플래그 값과 다른 값의 발생 횟수 c에 대한 정보를 포함할 수 있다. 이 경우, 상기 대상 행의 첫번째 IU 내지 b 번째 IU의 IU 플래그들의 값은 a로 도출될 수 있다. 또한, 상기 대상 행의 b+1 번째 IU 내지 b+c 번째 IU의 IU 플래그들의 값은 상기 a 와 다른 값(예를 들어, a가 1이면 0, a가 0이면 1)으로 도출될 수 있다. 또한, 상기 인밸리드 맵이 상기 대상 행과 동일한 정보를 포함하는 행들의 개수 d를 나타내는 정보를 포함할 수 있고, 이 경우, 상기 대상 행 다음의 d-1 행까지의 행들은 상기 대상 행과 동일한 IU 플래그들이 도출될 수 있다. 즉, 대상 행 다음의 d-1 행까지의 행들 각각의 IU들은 상기 대상 행의 IU들과 동일한 IU 플래그 값들이 도출될 수 있다.The decoding apparatus derives an IU flag of a target processing unit among the processing units based on the 360 video information (S1020). The processing units may be called invalid units (IUs), and the target processing units may be called target IUs. The IU flag for the target processing unit may indicate whether the target processing unit is an invalidated area. The invalidated area may indicate an area including only invalidated samples. The invalidated sample may represent a sample that does not include information about the projected picture, or may represent a sample to which the 360 degree video data is not mapped. The decoding apparatus may derive the IU flags of the IUs based on the invalidated map for the projected picture obtained from the bitstream. That is, the IU flags of the IUs including the target IU of the projected picture may be derived based on the invalidated map for the projected picture. The IU flags of the IUs may be derived by applying run-length coding and copy above line coding to the invalidated map. For example, the envalidated map may include information on IU flags of IUs included in a target row among the IUs. Information about the IU flags of the IUs included in the target row may be derived based on run-length coding. Information about the IU flags of the IUs included in the target row may include the IU flag value of the first IU of the target row, the number of occurrences of the IU flag value of the first IU, and / or the IU flag value of the first IU. Information about the number of occurrences of other values may be included. In addition, the invalid map may include information indicating the number of rows including the same information as the target row. The information indicating the number of rows including the same information as the target row may be derived based on the copy-above line coding. Based on the information indicating the number of rows including the same information as the target row, rows of the next order of the target row having the same information as the phase target row may be derived, and the IUs included in the rows of the next order may be derived. IU flags may be derived in the same manner as IU flags of IUs included in the target row. Specifically, the information on the IU flags of the IUs included in the target row includes the IU flag value a of the first IU of the target row, the number b of occurrences of the IU flag value of the first IU, and / or the first IU. Information about the number c of occurrences of a value different from the IU flag value may be included. In this case, the values of the IU flags of the first IU to the b th IU of the target row may be derived as a. In addition, the values of the IU flags of the b + 1 th IU to the b + c th IU of the target row may be derived from values different from the a (for example, 0 if a is 1 and 1 if a is 0). . In addition, the invalid map may include information indicating the number of rows d including the same information as the target row, in which case, the rows up to d-1 following the target row may correspond to the target row. The same IU flags may be derived. That is, the IU flag values of each of the rows up to the d-1 following the target row may be derived from the same IU flag values as the IUs of the target row.
디코딩 장치는 상기 IU 플래그가 상기 대상 처리 단위가 인밸리드(invalid)하다고 나타내는 경우, 상기 대상 처리 단위의 샘플의 샘플값을 기설정된 특정값으로 도출한다(S1030). 상기 대상 처리 단위에 대한 상기 IU 플래그가 상기 대상 처리 단위가 인밸리드하다고 나타내는 경우(예를 들어, 상기 대상 처리 단위에 대한 상기 IU 플래그의 값이 1인 경우), 상기 대상 처리 단위에 대한 디코딩은 생략될 수 있고, 상기 대상 처리 단위의 샘플의 샘플값은 기설정된 특정값으로 도출될 수 있다. 예를 들어, 상기 대상 IU에 대한 상기 IU 플래그가 상기 대상 IU가 인밸리드하다고 나타내는 경우, 즉, 상기 대상 IU에 대한 상기 IU 플래그가 상기 대상 IU는 밸리드 샘플을 포함하지 않음을 나타내는 경우(또는 상기 대상 IU는 인밸리드 샘플만을 포함함을 나타내는 경우), 상기 대상 IU에 대한 예측은 생략될 수 있고, 상기 대상 IU의 샘플들은 상기 기설정된 특정값으로 도출될 수 있다. 예를 들어, 상기 기설정된 특정값은 회색(gray)을 나타내는 값일 수 있다.When the IU flag indicates that the target processing unit is invalid, the decoding apparatus derives a sample value of a sample of the target processing unit as a predetermined specific value (S1030). If the IU flag for the target processing unit indicates that the target processing unit is invaluated (e.g., the value of the IU flag for the target processing unit is 1), decoding for the target processing unit May be omitted, and the sample value of the sample of the target processing unit may be derived as a predetermined specific value. For example, if the IU flag for the target IU indicates that the target IU is invaluated, i.e., the IU flag for the target IU indicates that the target IU does not contain valid samples ( Or when the target IU includes only invalidated samples), the prediction for the target IU may be omitted, and the samples of the target IU may be derived with the predetermined specific value. For example, the predetermined specific value may be a value representing gray.
또한, 상기 대상 IU에 대한 상기 IU 플래그가 상기 대상 IU가 인밸리드하지 않다고 나타내는 경우(예를 들어, 상기 대상 IU에 대한 상기 IU 플래그의 값이 0인 경우), 즉, 상기 대상 IU에 대한 상기 IU 플래그가 상기 대상 IU는 밸리드 샘플을 포함함을 나타내는 경우, 상기 대상 IU에 대한 디코딩이 수행될 수 있다. 즉, 상기 대상 IU에 대한 예측 샘플이 도출될 수 있고, 상기 예측 샘플을 기반으로 복원 샘플이 도출될 수 있다.Further, when the IU flag for the target IU indicates that the target IU is not balanced (for example, the value of the IU flag for the target IU is 0), that is, for the target IU When the IU flag indicates that the target IU includes valid samples, decoding may be performed on the target IU. That is, a prediction sample for the target IU may be derived, and a reconstruction sample may be derived based on the prediction sample.
한편, 비록 도면에서 도시되지는 않았으나 상기 대상 IU에 대한 디코딩이 수행되어 상기 대상 IU에 대한 예측 샘플이 도출되는 경우, 디코딩 장치는 예측 모드에 따라 상기 예측 샘플을 바로 복원 샘플로 이용할 수도 있고, 또는 상기 예측 샘플에 레지듀얼 샘플을 더하여 복원 샘플을 생성할 수도 있다. 디코딩 장치는 상기 대상 블록에 대한 레지듀얼 샘플이 존재하는 경우, 상기 대상 블록에 대한 레지듀얼에 관한 정보를 수신할 수 있고, 상기 레지듀얼에 관한 정보는 상기 페이스에 대한 정보에 포함될 수 있다. 상기 레지듀얼에 관한 정보는 상기 레지듀얼 샘플에 관한 변환 계수를 포함할 수 있다. 디코딩 장치는 상기 레지듀얼 정보를 기반으로 상기 대상 블록에 대한 상기 레지듀얼 샘플(또는 레지듀얼 샘플 어레이)을 도출할 수 있다. 디코딩 장치는 상기 예측 샘플과 상기 레지듀얼 샘플을 기반으로 복원 샘플을 생성할 수 있고, 상기 복원 샘플을 기반으로 복원 블록 또는 복원 픽처를 도출할 수 있다. 이후 디코딩 장치는 필요에 따라 주관적/객관적 화질을 향상시키기 위하여 디블록킹 필터링 및/또는 SAO 절차와 같은 인루프 필터링 절차를 상기 복원 픽처에 적용할 수 있음은 상술한 바와 같다.On the other hand, although not shown in the figure, when decoding is performed on the target IU to derive a prediction sample for the target IU, the decoding apparatus may use the prediction sample directly as a reconstruction sample according to a prediction mode, or A residual sample may be added to the prediction sample to generate a reconstructed sample. When there is a residual sample for the target block, the decoding apparatus may receive information about the residual for the target block, and the information about the residual may be included in the information about the face. The information about the residual may include transform coefficients regarding the residual sample. The decoding apparatus may derive the residual sample (or residual sample array) for the target block based on the residual information. The decoding apparatus may generate a reconstructed sample based on the prediction sample and the residual sample, and may derive a reconstructed block or a reconstructed picture based on the reconstructed sample. Thereafter, as described above, the decoding apparatus may apply an in-loop filtering procedure, such as a deblocking filtering and / or SAO procedure, to the reconstructed picture in order to improve subjective / objective picture quality as necessary.
한편, 비록 도면에서 도시되지는 않았으나, 디코딩 장치는 상기 디코딩된 프로젝션된 픽처의 360도 비디오 데이터를 3D 공간으로 맵핑할 수 있다. 즉, 디코딩 장치는 상기 프로젝션된 픽처를 상기 3D 공간으로 리-프로젝션(re-projection)할 수 있다.Meanwhile, although not shown in the figure, the decoding apparatus may map 360-degree video data of the decoded projected picture into 3D space. That is, the decoding apparatus may re-project the projected picture into the 3D space.
상술한 본 발명에 따르면 360도 비디오에 대한 프로젝션된 픽처의 인밸리드 유닛을 기반으로 보다 효율적으로 인밸리드 샘플을 도출할 수 있고, 이를 통하여 상기 인밸리드 샘플의 도출을 위한 오버 헤드를 줄일 수 있고, 전반적인 코딩 효율을 향상시킬 수 있다. According to the present invention described above, it is possible to derive an invalidated sample more efficiently based on the invalidated unit of the projected picture for 360 degree video, thereby reducing the overhead for deriving the invalidated sample. Can improve the overall coding efficiency.
또한, 본 발명에 따르면 IU 타입 정보를 기반으로 프로젝션된 픽처의 인밸리드 유닛에 대한 타입을 도출하고, 상기 인밸리드 유닛에 대한 타입을 기반으로 상기 프로젝션된 픽처에 대한 인밸리드 유닛을 도출할 수 있고, 이를 통하여 상기 프로젝션된 픽처의 인밸리드 샘플의 도출을 위한 오버 헤드를 줄일 수 있고, 전반적인 코딩 효율을 향상시킬 수 있다.Further, according to the present invention, a type for an invalidated unit of a projected picture is derived based on IU type information, and an invalidated unit for the projected picture is derived based on a type for the invalidated unit. Through this, overhead for deriving invalidated samples of the projected picture can be reduced, and overall coding efficiency can be improved.
또한, 본 발명에 따르면 인밸리드 맵을 기반으로 프로젝션된 픽처의 인밸리드 유닛들에 대한 IU 플래그들을 보다 효율적으로 도출할 수 있고, 이를 통하여 상기 프로젝션된 픽처의 인밸리드 샘플의 도출을 위한 오버 헤드를 줄일 수 있고, 전반적인 코딩 효율을 향상시킬 수 있다.In addition, according to the present invention, it is possible to derive IU flags for the in-valid units of the projected picture more efficiently based on the in-valid map, thereby deriving the in-valid sample of the projected picture. It can reduce overhead and improve overall coding efficiency.
상술한 실시예에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당업자라면 순서도에 나타내어진 단계들이 배타적이지 않고, 다른 단계가 포함되거나 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.In the above-described embodiment, the methods are described based on a flowchart as a series of steps or blocks, but the present invention is not limited to the order of steps, and any steps may occur in a different order or simultaneously from other steps as described above. have. In addition, those skilled in the art will appreciate that the steps shown in the flowcharts are not exclusive and that other steps may be included or one or more steps in the flowcharts may be deleted without affecting the scope of the present invention.
상술한 본 발명에 따른 방법은 소프트웨어 형태로 구현될 수 있으며, 본 발명에 따른 인코딩 장치 및/또는 디코딩 장치는 예를 들어 TV, 컴퓨터, 스마트폰, 셋톱박스, 디스플레이 장치 등의 영상 처리를 수행하는 장치에 포함될 수 있다.The above-described method according to the present invention may be implemented in software, and the encoding device and / or the decoding device according to the present invention may perform image processing of, for example, a TV, a computer, a smartphone, a set-top box, a display device, and the like. It can be included in the device.
본 발명에서 실시예들이 소프트웨어로 구현될 때, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리에 저장되고, 프로세서에 의해 실행될 수 있다. 메모리는 프로세서 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서와 연결될 수 있다. 프로세서는 ASIC(application-specific integrated circuit), 다른 칩셋, 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리는 ROM(read-only memory), RAM(random access memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다.When embodiments of the present invention are implemented in software, the above-described method may be implemented as a module (process, function, etc.) for performing the above-described function. The module may be stored in memory and executed by a processor. The memory may be internal or external to the processor and may be coupled to the processor by various well known means. The processor may include application-specific integrated circuits (ASICs), other chipsets, logic circuits, and / or data processing devices. The memory may include read-only memory (ROM), random access memory (RAM), flash memory, memory card, storage medium and / or other storage device.

Claims (15)

  1. 디코딩 장치에 의하여 수행되는 비디오 디코딩 방법에 있어서,In the video decoding method performed by the decoding apparatus,
    360도 비디오 정보를 수신하는 단계;Receiving 360 degree video information;
    프로젝션된 픽처의 처리 단위들을 도출하는 단계;Deriving processing units of the projected picture;
    상기 360 비디오 정보를 기반으로 상기 처리 단위들 중 대상 처리 단위에 대한 IU 플래그를 도출하는 단계; 및 Deriving an IU flag of a target processing unit among the processing units based on the 360 video information; And
    상기 대상 처리 단위에 대한 상기 IU 플래그가 상기 대상 처리 단위가 인밸리드(invalid)하다고 나타내는 경우, 상기 대상 처리 단위의 샘플의 샘플값을 기설정된 특정값으로 도출하는 단계를 포함하되, If the IU flag for the target processing unit indicates that the target processing unit is invalid, deriving a sample value of a sample of the target processing unit as a predetermined specific value;
    상기 대상 처리 단위에 대한 상기 IU 플래그는 상기 대상 처리 단위가 인밸리드 영역인지 여부를 나타내는 것을 특징으로 하는 영상 디코딩 방법. And the IU flag for the target processing unit indicates whether the target processing unit is an invalidated area.
  2. 제1항에 있어서,The method of claim 1,
    상기 360 비디오 정보는 상기 처리 단위들의 타입을 나타내는 IU 타입 정보를 포함하고, The 360 video information includes IU type information indicating the type of the processing units,
    상기 처리 단위들은 상기 IU 타입 정보가 나타내는 타입과 대응하는 블록들로 도출되는 것을 특징으로 하는 영상 디코딩 방법.And the processing units are derived from blocks corresponding to a type indicated by the IU type information.
  3. 제2항에 있어서,The method of claim 2,
    상기 IU 타입 정보는 CTU(coding tree unit), CU(coding unit), 페이스(face) 또는 슬라이스를 나타내는 것을 특징으로 하는 영상 디코딩 방법.The IU type information indicates a coding tree unit (CTU), a coding unit (CU), a face, or a slice.
  4. 제1항에 있어서,The method of claim 1,
    상기 360 비디오 정보는 상기 프로젝션된 픽처의 상기 처리 단위들의 IU 플래그들에 대한 정보를 나타내는 인밸리드 맵을 포함하고,The 360 video information includes an envelope map indicating information about IU flags of the processing units of the projected picture,
    상기 처리 단위들의 IU 플래그들은 상기 인밸리드 맵을 기반으로 도출되는 것을 특징으로 하는 영상 디코딩 방법.IU flags of the processing units are derived based on the invalidated map.
  5. 제4항에 있어서,The method of claim 4, wherein
    상기 인밸리드 맵은 상기 처리 단위들 중 대상 행(row)에 포함된 처리 단위들의 IU 플래그들에 대한 정보를 포함하고,The invalidated map includes information on IU flags of processing units included in a target row among the processing units.
    상기 대상 행에 포함된 처리 단위들의 IU 플래그들에 대한 정보는 상기 대상 행의 첫번째 처리 단위의 IU 플래그 값, 상기 첫번째 처리 단위의 상기 IU 플래그 값의 발생 횟수, 및 상기 첫번째 처리 단위의 상기 IU 플래그 값과 다른 값의 발생 횟수에 대한 정보를 포함하는 것을 특징으로 하는 영상 디코딩 방법.Information about the IU flags of the processing units included in the target row may include an IU flag value of the first processing unit of the target row, a number of occurrences of the IU flag value of the first processing unit, and the IU flag of the first processing unit. And information about the number of occurrences of a value different from the value.
  6. 제5항에 있어서,The method of claim 5,
    상기 인밸리드 맵은 상기 대상 행과 동일한 정보를 포함하는 행들의 개수를 나타내는 정보를 포함하는 것을 특징으로 하는 영상 디코딩 방법.The invalid map includes information indicating the number of rows including the same information as the target row.
  7. 제1항에 있어서,The method of claim 1,
    상기 기설정된 특정값은 회색(gray)을 나타내는 값인 것을 특징으로 하는 영상 디코딩 방법.The predetermined specific value is a video decoding method, characterized in that the value representing the gray (gray).
  8. 영상 디코딩을 수행하는 디코딩 장치에 있어서,In the decoding apparatus for performing image decoding,
    360도 비디오 정보를 수신하는 엔트로피 디코딩부; 및 An entropy decoding unit for receiving 360 degree video information; And
    프로젝션된 픽처의 상기 처리 단위들을 도출하고, 상기 360 비디오 정보를 기반으로 상기 처리 단위들 중 대상 처리 단위에 대한 IU 플래그를 도출하고, 상기 대상 처리 단위에 대한 상기 IU 플래그가 상기 대상 처리 단위가 인밸리드(invalid)하다고 나타내는 경우, 상기 대상 처리 단위의 샘플의 샘플값을 기설정된 특정값으로 도출하는 예측부를 포함하되, Derive the processing units of the projected picture, derive an IU flag for a target processing unit of the processing units based on the 360 video information, and set the IU flag for the target processing unit to be the target processing unit. If it is indicated as invalid, includes a prediction unit for deriving a sample value of a sample of the target processing unit to a predetermined specific value,
    상기 대상 처리 단위에 대한 상기 IU 플래그는 상기 대상 처리 단위가 인밸리드 영역인지 여부를 나타내는 것을 특징으로 하는 디코딩 장치.And the IU flag for the target processing unit indicates whether the target processing unit is an invalidated area.
  9. 제8항에 있어서,The method of claim 8,
    상기 360 비디오 정보는 상기 처리 단위들의 타입을 나타내는 IU 타입 정보를 포함하고, The 360 video information includes IU type information indicating the type of the processing units,
    상기 처리 단위들은 상기 IU 타입 정보가 나타내는 타입과 대응하는 블록들로 도출되는 것을 특징으로 하는 디코딩 장치.And the processing units are derived in blocks corresponding to a type indicated by the IU type information.
  10. 제9항에 있어서,The method of claim 9,
    상기 IU 타입 정보는 CTU(coding tree unit), CU(coding unit), 페이스(face) 또는 슬라이스를 나타내는 것을 특징으로 하는 디코딩 장치.And the IU type information indicates a coding tree unit (CTU), a coding unit (CU), a face, or a slice.
  11. 제8항에 있어서,The method of claim 8,
    상기 360 비디오 정보는 상기 프로젝션된 픽처의 상기 처리 단위들의 IU 플래그들에 대한 정보를 나타내는 인밸리드 맵을 포함하고,The 360 video information includes an envelope map indicating information about IU flags of the processing units of the projected picture,
    상기 처리 단위들의 IU 플래그들은 상기 인밸리드 맵을 기반으로 도출되는 것을 특징으로 하는 디코딩 장치.IU flags of the processing units are derived based on the invalidated map.
  12. 제11항에 있어서,The method of claim 11,
    상기 인밸리드 맵은 상기 처리 단위들 중 대상 행(row)에 포함된 처리 단위들의 IU 플래그들에 대한 정보를 포함하고,The invalidated map includes information on IU flags of processing units included in a target row among the processing units.
    상기 대상 행에 포함된 처리 단위들의 IU 플래그들에 대한 정보는 상기 대상 행의 첫번째 처리 단위의 IU 플래그 값, 상기 첫번째 처리 단위의 상기 IU 플래그 값의 발생 횟수, 및 상기 첫번째 처리 단위의 상기 IU 플래그 값과 다른 값의 발생 횟수에 대한 정보를 포함하는 것을 특징으로 하는 디코딩 장치.Information about the IU flags of the processing units included in the target row may include an IU flag value of the first processing unit of the target row, a number of occurrences of the IU flag value of the first processing unit, and the IU flag of the first processing unit. And decoding information about the number of occurrences of a value different from the value.
  13. 제12항에 있어서,The method of claim 12,
    상기 인밸리드 맵은 상기 대상 행과 동일한 정보를 포함하는 행들의 개수를 나타내는 정보를 포함하는 것을 특징으로 하는 디코딩 장치.The invalidated map may include information indicating the number of rows including the same information as the target row.
  14. 제8항에 있어서,The method of claim 8,
    상기 기설정된 특정값은 회색(gray)을 나타내는 값인 것을 특징으로 하는 디코딩 장치.And the predetermined specific value is a value representing gray.
  15. 제1항에 있어서,The method of claim 1,
    상기 대상 처리 단위에 대한 상기 IU 플래그가 상기 대상 IU가 인밸리드(invalid)하다고 나타내는 경우, 상기 대상 처리 단위는 인밸리드 샘플만을 포함하되,If the IU flag for the target processing unit indicates that the target IU is invalid, the target processing unit includes only invalidated samples,
    상기 인밸리드 샘플은 상기 360도 비디오 데이터가 맵핑되지 않은 샘플을 나타내는 것을 특징으로 하는 디코딩 장치.And said invalidated sample represents a sample to which said 360 degree video data is not mapped.
PCT/KR2017/011035 2017-01-03 2017-09-29 Invalid unit-based image decoding method and device in image coding system for 360-degree video WO2018128248A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762441594P 2017-01-03 2017-01-03
US62/441,594 2017-01-03

Publications (1)

Publication Number Publication Date
WO2018128248A1 true WO2018128248A1 (en) 2018-07-12

Family

ID=62791078

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/011035 WO2018128248A1 (en) 2017-01-03 2017-09-29 Invalid unit-based image decoding method and device in image coding system for 360-degree video

Country Status (1)

Country Link
WO (1) WO2018128248A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007166134A (en) * 2005-12-13 2007-06-28 Hitachi Software Eng Co Ltd Method of suppressing displaying of invalid data region in irreversible compression image
JP2011259246A (en) * 2010-06-09 2011-12-22 Canon Inc Image processing device, image processing method, and program
KR20160001430A (en) * 2014-06-27 2016-01-06 삼성전자주식회사 Method and apparatus for Video Encoding in Image Padding Area, method and apparatus for video decoding in Image Padding Area
WO2016004850A1 (en) * 2014-07-07 2016-01-14 Mediatek Singapore Pte. Ltd. Method of intra block copy search and compensation range

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007166134A (en) * 2005-12-13 2007-06-28 Hitachi Software Eng Co Ltd Method of suppressing displaying of invalid data region in irreversible compression image
JP2011259246A (en) * 2010-06-09 2011-12-22 Canon Inc Image processing device, image processing method, and program
KR20160001430A (en) * 2014-06-27 2016-01-06 삼성전자주식회사 Method and apparatus for Video Encoding in Image Padding Area, method and apparatus for video decoding in Image Padding Area
WO2016004850A1 (en) * 2014-07-07 2016-01-14 Mediatek Singapore Pte. Ltd. Method of intra block copy search and compensation range

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
XIANG MA: "Co-project ion-plane based motion compensated prediction for cu bic format VR content", JVET DOCUMENT JVET-D0061, 12 October 2016 (2016-10-12), pages 1 - 4 *

Similar Documents

Publication Publication Date Title
WO2018062921A1 (en) Method and apparatus for block partitioning and intra prediction in image coding system
WO2017082670A1 (en) Method and apparatus for coefficient induced intra prediction in image coding system
WO2018128247A1 (en) Intra-prediction method and device in image coding system for 360-degree video
WO2020197236A1 (en) Image or video coding based on sub-picture handling structure
WO2019198997A1 (en) Intra-prediction-based image coding method and apparatus thereof
WO2016056821A1 (en) Movement information compression method and device for 3d video coding
WO2016056822A1 (en) 3d video coding method and device
WO2019112071A1 (en) Image decoding method and apparatus based on efficient transformation of chroma component in image coding system
WO2016200043A1 (en) Method and apparatus for inter prediction on basis of virtual reference picture in video coding system
EP4002843B1 (en) Image encoding/decoding method and device for signaling chroma component prediction information according to whether palette mode is applicable, and method for transmitting bitstream
WO2019009600A1 (en) Image decoding method and apparatus using projection-type based quantisation parameters in image coding system for 360-degree video
WO2020141928A1 (en) Method and apparatus for decoding image on basis of prediction based on mmvd in image coding system
WO2018212430A1 (en) Frequency domain filtering method in image coding system, and device therefor
WO2020076066A1 (en) Syntax design method and apparatus for performing coding by using syntax
WO2016056782A1 (en) Depth picture coding method and device in video coding
WO2019212230A1 (en) Method and apparatus for decoding image by using transform according to block size in image coding system
WO2018174531A1 (en) Video signal processing method and device
WO2018074813A1 (en) Device and method for encoding or decoding image
WO2020141885A1 (en) Image coding method and device using deblocking filtering
WO2020141884A1 (en) Method and apparatus for coding image by using mmvd based on cpr
WO2019083119A1 (en) Image decoding method and device using rotation parameters in image coding system for 360-degree video
WO2018174542A1 (en) Video signal processing method and device
WO2021206524A1 (en) Image decoding method and device for same
WO2018128248A1 (en) Invalid unit-based image decoding method and device in image coding system for 360-degree video
WO2021118262A1 (en) Method and device for signaling video information applicable at picture level or slice level

Legal Events

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

Ref document number: 17889677

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17889677

Country of ref document: EP

Kind code of ref document: A1