WO2017090988A1 - 다시점 비디오의 부호화/복호화 방법 - Google Patents

다시점 비디오의 부호화/복호화 방법 Download PDF

Info

Publication number
WO2017090988A1
WO2017090988A1 PCT/KR2016/013571 KR2016013571W WO2017090988A1 WO 2017090988 A1 WO2017090988 A1 WO 2017090988A1 KR 2016013571 W KR2016013571 W KR 2016013571W WO 2017090988 A1 WO2017090988 A1 WO 2017090988A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
block
viewpoint
prediction
reference picture
Prior art date
Application number
PCT/KR2016/013571
Other languages
English (en)
French (fr)
Inventor
방건
권우원
이광순
허남호
박광훈
윤성재
허영수
홍석종
Original Assignee
한국전자통신연구원
경희대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원, 경희대학교 산학협력단 filed Critical 한국전자통신연구원
Priority to US15/775,502 priority Critical patent/US10701396B2/en
Priority to CN201680068220.5A priority patent/CN108293110B/zh
Priority to CN202210691231.6A priority patent/CN115243040A/zh
Priority to EP16868884.4A priority patent/EP3383039A4/en
Priority to JP2018525369A priority patent/JP6937302B2/ja
Publication of WO2017090988A1 publication Critical patent/WO2017090988A1/ko
Priority to JP2021140378A priority patent/JP2022008311A/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the present disclosure relates to an image encoding / decoding method, and more particularly, to a method of performing prediction in a multiview video.
  • ultra high definition (UHD) having more than four times the resolution beyond the high definition (HD) resolution is increasing.
  • An object of the present disclosure is to provide a method for improving the encoding / decoding efficiency of a multiview video.
  • an object of the present disclosure is to provide a method and apparatus for performing encoding / decoding using a reference picture in which images of different viewpoints are unified into one viewpoint and then combined with the images of which viewpoints are unified.
  • the technical problem of the present disclosure is to provide a method of improving the prediction efficiency of the current block by converting the prediction information of the neighboring block when the current block and the neighboring block have different viewpoints.
  • a method of encoding an image includes generating a reference image by adding the second image, and storing the reference image in a reference picture list.
  • converting the second image to the first viewpoint, on one surface of the first image Disclosed is a method of generating a reference picture by adding the second picture, and storing the reference picture in a reference picture list.
  • the following items may be commonly applied to the video encoding method and the video decoding method.
  • the converted image is generated based on a viewpoint difference between the first image and the second image, and the viewpoint difference may include at least one of a distance difference or an angle difference between the first image and the second image. have.
  • the viewpoint difference may be determined based on characteristics of an omnidirectional image including the first image and the second image.
  • an angle difference between the first image and the second image may be determined as the internal angle of the regular polyhedron.
  • the viewpoint difference may be obtained based on a distance and an angle difference between the first camera used to capture the first image and the second camera used to capture the second image.
  • the position to which the second image is to be added may be determined according to the characteristics of the regular polyhedron including the first image and the second image.
  • the reference picture may be stored in the reference picture list along with time zone information corresponding to the first image and the second image.
  • a method for improving the encoding / decoding efficiency of a multiview video may be provided.
  • a method and an apparatus for performing encoding / decoding using a reference picture in which images of different viewpoints are unified into one viewpoint and then the images of which the viewpoints are unified may be provided.
  • a method of improving the prediction efficiency of the current block by converting the prediction information of the neighboring block may be provided.
  • 1 is a diagram illustrating a type of camera for generating a 3D multiview image.
  • 2 is a diagram for describing divergent video.
  • 3 is a diagram for describing a converged video.
  • FIG. 4 shows an example in which a 3D multiview video is projected in the form of a polyhedron.
  • 5 is a diagram illustrating a two-dimensional unfolded form of 3D multiview video.
  • FIG. 6 is a diagram illustrating a three-dimensional form of 3D multiview video.
  • FIG. 7 is a diagram for describing an example in which a part of a 3D multiview video is displayed.
  • FIG. 8 is a diagram illustrating an aspect of playing a 3D video deployed in a cube.
  • FIG. 9 is a diagram illustrating an example of splitting a coding tree unit (CTU) into CU units when encoding an image.
  • CTU coding tree unit
  • FIG. 10 is a diagram for explaining an example in which a CU is divided into PUs.
  • 11 is a diagram for explaining an inter prediction method.
  • FIG. 12 illustrates an example of generating a merge motion candidate list.
  • FIG. 13 illustrates an example of actual playback of a specific frame of a cube-shaped 3D video.
  • FIG. 14 is a diagram illustrating in more detail an example in which nonlinear distortion occurs at the boundary of each surface.
  • 15 is a diagram for describing an example of generating a reference image by converting a viewpoint of a neighboring area.
  • 16 is a flowchart illustrating a process of generating a transform extension image according to the present invention.
  • 17 and 18 are diagrams for explaining the inter-view characteristics.
  • 19 is a diagram for describing an example in which an image is converted in accordance with a viewpoint of another image.
  • 20 and 21 illustrate an example of generating a reference image based on a specific surface of a cube.
  • 22 is a diagram illustrating an example of generating a reference image for a divergent image.
  • FIG. 23 is a diagram illustrating an example of generating a reference image by combining an image as a reference of a viewpoint and a converted image.
  • 24 is a diagram illustrating whether a transformed image includes a region essential for temporal prediction.
  • 25 is a diagram illustrating an example of generating a reference image for a converged image.
  • FIG. 26 is a diagram illustrating an example of generating a reference image by combining an image as a reference of a viewpoint and a converted image.
  • FIG. 27 is a diagram for one example of generating a reference image list for a 3D multiview image developed in a cube shape.
  • FIG. 28 is a diagram for one example of generating a reference picture list for a divergent picture.
  • 29 is a diagram illustrating an example of generating a reference picture list for a converged picture.
  • FIG. 30 is a diagram for comparing a case of generating a reference image and a case of not generating a reference image according to the present invention.
  • 31 is a diagram illustrating an encoding aspect according to whether the present invention is applied.
  • 32 is a flowchart illustrating a method of converting prediction information according to the present invention.
  • 33 is a diagram illustrating an example of transforming prediction information at a perspective boundary.
  • MCM Most Probable Mode
  • 35 to 37 illustrate an example of generating an MPM candidate according to whether a current block is located at a view boundary.
  • FIG. 38 is a flowchart illustrating a process of determining a spatial merge candidate for performing inter prediction in a merge motion mode based on prediction information of a neighboring block.
  • FIG. 40 is a flowchart illustrating a process of determining a temporal merge candidate for performing inter prediction in a merge mode based on prediction information of a neighboring block.
  • 41 shows an example in which a current block and a temporal neighboring block have different viewpoints.
  • FIG. 42 is a block diagram showing a configuration of an encoder according to the present invention.
  • 43 is a block diagram showing the configuration of a decoder according to the present invention.
  • FIG. 44 is a block diagram of a reference image expansion unit according to the present invention.
  • first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
  • the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
  • any component of the invention When any component of the invention is said to be “connected” or “connected” to another component, it may be directly connected to or connected to that other component, but other components may be present in between. It should be understood that it may. On the other hand, when a component is referred to as being “directly connected” or “directly connected” to another component, it should be understood that there is no other component in between.
  • each component shown in the embodiments of the present invention are shown independently to represent different characteristic functions, and do not mean that each component is made of separate hardware or one software component unit.
  • each component is included in each component for convenience of description, and at least two of the components may be combined into one component, or one component may be divided into a plurality of components to perform a function.
  • Integrated and separate embodiments of the components are also included within the scope of the present invention without departing from the spirit of the invention.
  • Some components of the present invention are not essential components for performing essential functions in the present invention but may be optional components for improving performance.
  • the present invention can be implemented including only the components essential for implementing the essentials of the present invention except for the components used for improving performance, and the structure including only the essential components except for the optional components used for improving performance. Also included in the scope of the present invention.
  • the viewpoint described in the present invention relates to the direction of the camera and the perspective of the camera, and collectively refers to the viewpoint position (Veiwpoint, viewpoint) and the viewpoint direction (Perspective).
  • viewpoint position Veiwpoint, viewpoint
  • viewpoint direction Perspective
  • the video was played at a fixed point in time, whereas the omnidirectional video (or 360 degree video) can play the video to a point in time desired by the user.
  • various types of cameras shown in FIG. 1 may be used. Using a plurality of cameras shown in (a) of FIG. 1, a fisheye lens shown in (b) of FIG. 1, a reflector or the like shown in (c) of FIG. After photographing in the dimensional space (eg, 360 degree direction), the photographed 3D image may be projected in the form of a three-dimensional figure such as a polyhedron or a sphere.
  • the sensational media may include divergent video, convergent video, etc., in which multiple cameras contain images of various directions.
  • the divergent video refers to an image generated by several cameras photographing images of various directions
  • the converged video refers to an image generated by multiple cameras photographing images of a specific direction.
  • the divergent image refers to an image captured while the photographing direction of the plurality of cameras is spread.
  • the photographing directions W1, W2, and W3 of the cameras C1, C2, and C3 are illustrated as being diffused to each other.
  • the converged image refers to an image captured while the photographing directions of the plurality of cameras converge toward one place.
  • the photographing directions W1, W2, W3, and W4 of the cameras C1, C2, C3, and C4 are oriented toward one point.
  • An omnidirectional 3D video or a three-dimensional multiview video taken by a camera arranged in a convergent or divergent form may be developed in an expanded form of a polyhedron or an equirectangular form of a sphere.
  • FIGS. 4A and 4B show an example in which a spherical three-dimensional multiview image is developed in the form of an exploded view of a cube.
  • a two-dimensional image in the form of a cube can be obtained from an omnidirectional 3D image.
  • the 3D multiview image may be developed in the form of a developed view of various types of polyhedra.
  • FIG. 5 is a diagram illustrating a 2D deployment form of a 3D multiview video.
  • the 3D multiview video may be projected in the form of a developed view of various three-dimensional figures such as a tetrahedron, a cube, an octahedron, a dodecahedron, or a icosahedron.
  • the two-dimensionally expanded image may be reconstructed in a three-dimensional space such as a polyhedron or a sphere.
  • the 3D video may be reconstructed in the form of a tetrahedron, a cube, an octahedron, a dodecahedron, or a icosahedron, as in the example illustrated in FIG. 6.
  • FIG. 7 is a diagram for describing an example in which a part of a 3D multiview video is displayed.
  • 7 (a) and 7 (b) are diagrams of a virtual view of a user viewing a 3D multiview image from the outside
  • FIG. 7 (c) is a view of a user viewing a 3D multiview image. This is a conceptual diagram showing an omnidirectional image.
  • a portion of the entire area of the 3D reconstructed image may be directed toward or reproduced by the user.
  • the shaded areas in FIGS. 7A and 7B show a portion of the 3D reconstructed image to which a user's viewpoint is directed or a portion selected by the user.
  • an area corresponding to a portion of the multi-view image to which the user's viewpoint is directed or a portion selected by the user may be output.
  • only a part of the entire area may be displayed in the 3D image as shown in the example of FIG. 7C.
  • the 3D multiview image may have a plurality of viewpoints.
  • the plurality of viewpoints means that the multiview image has a plurality of viewpoint positions (Veiwpoint, viewpoint) or a plurality of viewpoint directions (Perspective). This will be described in more detail with reference to the drawings.
  • FIG. 8 is a diagram illustrating an aspect of playing a three-dimensional video developed in a cube.
  • the user's eyes watching the three-dimensional video will be in the center of the cube, with each face being the perspective that the eyes see.
  • perspective 2 is behind the cube
  • perspective 3 is left of the cube
  • perspective 5 is to the right of the cube
  • Perspective 6 will correspond to the bottom of the cube. Accordingly, as shown in FIG. 8, each surface of the hexahedron constituting the 3D image may have different viewpoints.
  • each camera has a different shooting direction, which may cause a perspective difference between the images.
  • the three cameras C1, C2, and C3 capture different directions
  • three images P1, P2, and P3 having different viewpoints may be captured. Can be generated.
  • the images captured by each camera may have different perspectives.
  • the four cameras C1, C2, C3, and C4 photograph different directions
  • four images P1, P2, and P3 having different viewpoints may be used. , P4) may be generated.
  • 'image' refers to some region having an arbitrary frame or an arbitrary viewpoint of a multiview video.
  • the frame may also be referred to as an 'image' or may include a partial region having an arbitrary viewpoint within the frame. That is, one side of the cube) may be referred to as an 'image'.
  • the 3D multiview video may be projected in a two-dimensional space to perform encoding / decoding. Accordingly, encoding / decoding of the 3D multiview video may be performed in the same manner as encoding / decoding of the 2D video.
  • an encoding / decoding method based on block division, intra prediction (or spatial prediction, intra prediction), and inter prediction (or temporal prediction, inter prediction) used for encoding / decoding 2D video may be performed. It can also be used for encoding / decoding of.
  • an encoding / decoding technique that may be used for encoding / decoding of 3D multiview video will be briefly described.
  • encoding / decoding is performed in units of a coding unit (CU).
  • CU coding unit 9
  • CTU coding tree unit
  • LCU Large Coding Unit
  • the image is sequentially divided in units of CTUs, and then a division structure is determined in units of CTUs.
  • the partition structure refers to a distribution of a CU for efficiently encoding / decoding an image in a CTU.
  • the distribution of a CU may be determined based on whether to divide the CTU into a plurality of CUs having a smaller horizontal and / or vertical length than the CTU horizontal and / or vertical length.
  • the distribution of a CU may take the form of dividing a CTU into four or two CUs.
  • the partitioned CU may be recursively divided into a plurality of CUs having a reduced horizontal and / or vertical length in this same manner.
  • the CU may be divided up to a predefined depth.
  • the depth information may indicate the size of the CU and may be stored for all CUs.
  • the depth of the CTU which is a basic split target, is 0, and represents a CU of the maximum depth of a smallest coding unit (SCU). That is, a CU having a predefined depth may be referred to as an SCU.
  • the depth value may be increased by 1 whenever the CU is divided into 4 or 2 CUs.
  • the size of the CU will maintain 2N ⁇ 2N.
  • the result would be four CUs having a size of N ⁇ N. As such, the size of N decreases in half whenever the partition depth of the CU increases by one.
  • the 64x64 pixel CU has a depth of '0'
  • the 32x32 pixel CU has a depth of '1'
  • the 16x16 pixel CU has a depth of '2'
  • the 8x8 CU has a depth of '3'.
  • the split information may be encoded / signaled for all CUs except the SCU.
  • the split information may include at least one flag information.
  • the flag information indicates whether the CU is divided into four or two CUs. For example, a flag of '0' indicates that the CU is no longer divided, and a flag of '1' indicates that the CU is divided into a plurality of CUs.
  • a CU is a coding / decoding unit and an encoding mode may be set in a CU unit.
  • each CU may have an intra picture coding (also referred to as MODE_INTRA or INTRA) mode or an inter picture coding (may be referred to as MODE_INTER or INTER).
  • the inter picture encoding mode may include a MODE_INTER mode and a MODE_SKIP (also referred to as SKIP) mode.
  • the prediction unit refers to a unit in which prediction is performed.
  • One CU may be divided into at least one PU.
  • FIG. 10 is a diagram for describing an example in which a CU is divided into PUs.
  • the coding mode of the CU is the intra coding mode
  • all the PUs included in the CU may be encoded in the intra coding mode.
  • the partition structure of the PU may be set to either 2Nx2N or NxN in the example illustrated in FIG. 10.
  • the partition structure of the PU may be set to any one of 2Nx2N, 2NxN, Nx2N, NxN, 2NxnU, 2NxnD, nLx2N, or nRx2N.
  • Inter prediction refers to a method of predicting a current image from a reference image based on a high correlation between images having close time differences.
  • 11 is a diagram for explaining an inter prediction method.
  • FIG. 11 shows a reference picture used to predict a current picture, and (b) shows a current picture including a block to be encoded / decoded.
  • predicting the encoding / decoding target block 'B' included in the current image if the block 'A' included in the reference image is available, it is not necessary to encode all the image information of the block B of the current image. Accordingly, when temporal prediction is used, the amount of information to be encoded for each image block can be greatly reduced, thereby improving the efficiency of image compression.
  • a merge motion mode may be used as a method of encoding / decoding motion information.
  • the motion information may include at least one of a motion vector, an index for a reference image, and a prediction direction (for example, unidirectional or bidirectional).
  • the prediction direction may be set to unidirectional prediction or multidirectional prediction (for example, bidirectional or tridirectional prediction, etc.) depending on whether a reference picture list (RefPicList) is used.
  • bidirectional prediction may mean a case where both forward prediction and bidirectional prediction exist.
  • copying the forward reference picture list (List 0) to the reverse reference picture list (List 1) to perform two forward predictions may be included in the bidirectional prediction, and the forward reference picture list (List 1) may be forward referenced. Copying to the picture list List 0 and performing two backward predictions may also be included in the bidirectional prediction.
  • Such a prediction direction may be indicated by flag information (eg, predFlagL0 and predFlagL1) indicating the prediction direction.
  • predFlagL0 may indicate whether to perform forward prediction using the forward reference picture list (List 0)
  • predFlagL1 may indicate whether to perform backward prediction using the backward reference picture list (List 1).
  • predFlagL0 may be '1' and predFlagL1 may be “0”.
  • predFlagL0 may be '0' and predFlagL1 may be '1'.
  • predFlagL0 may be '1' and predFlagL1 may be '1'.
  • predFlagL0 may be '1' and predFlagL1 may be '1'.
  • a merge motion of a coding unit (CU) unit or a merge unit of a prediction unit (PU) unit may be performed.
  • a predetermined block unit such as a CU or PU unit
  • Information about may be encoded / signaled.
  • the neighboring block may include a block that is spatially neighboring to a current block (for example, a CU or a PU to be encoded / decoded) or a block that is temporally neighboring.
  • the block spatially neighboring the current block may mean a block belonging to the same picture as the current block and adjacent to the boundary of the current block.
  • the block may include a left block, an upper block, an upper right block, an upper left block, and a lower right block.
  • a block temporally neighboring the current block may mean a block belonging to a picture having a different temporal order from the current block and having the same position as the current block.
  • the merge motion candidate list represents a list in which motion information is stored.
  • the merge motion candidate list may be generated before the merge motion is performed based on the motion information of the neighboring block adjacent to the current block.
  • the merge motion candidate list may include new motion information generated by combining motion information already present in the merge motion candidate list.
  • the merge motion candidate list includes neighboring blocks spatially neighboring to the current block (for example, A, B, C, D, and E of FIG. 12) and a block belonging to the same position as the current block while belonging to a picture different from the current block (one For example, it may be generated based on at least one of M and H) of FIG. 12.
  • the motion information of the block may be included in the merge motion candidate list.
  • the merge motion candidate list for the current block (X in FIG. 8) may be included in the merge motion candidate list in a predetermined order.
  • the predetermined order may be A ⁇ B ⁇ C ⁇ D ⁇ E ⁇ H (or M), but is not limited thereto.
  • the motion information of the neighboring block is not included in the merge motion candidate list.
  • the neighboring block B when the neighboring block A is included in the merge motion candidate list, the neighboring block B may be included in the merge motion candidate list only when the neighboring block A does not have the same motion information as the neighboring block A.
  • the neighboring block C may be included in the merge motion candidate list only when it is not the same motion information as the neighboring block B.
  • the same principle can be applied to the neighboring block D and the neighboring block E.
  • the same motion information means that the motion vector, the reference picture, and the prediction direction (eg, unidirectional (forward or reverse) or bidirectional) are the same.
  • FIG. 13 illustrates an example of actual playback of a specific frame of a cube-shaped 3D video.
  • FIG. 13A shows a specific frame projected in the form of a cube exploded view
  • FIG. 13B shows an example when a specific frame is reproduced.
  • the boundary line dividing the six faces represents a boundary portion between viewpoints.
  • the 3D image when the 3D image is reproduced, the image is smoothly continued at the boundary between viewpoints.
  • distortion occurs such as a sharp bending of a line at the boundary portion as in the example illustrated in FIG. 13A.
  • FIG. 14 is a diagram illustrating in more detail an example in which nonlinear distortion occurs at the boundary of each surface.
  • a three-dimensional video in the form of a cube is illustrated as consisting of six faces P1 to P6. At this time, each surface has a different viewpoint.
  • the shape of the object in the captured image is expressed differently according to the viewpoint of each side. Accordingly, when a specific object is continuously expressed at the boundary of two surfaces having different viewpoints, nonlinear movement with respect to the object may occur. As an example, in the example shown in (b) of FIG. 14, it has been shown that non-linear movement occurs between the P3 plane, the P4 plane, the P4 plane, and the P1 plane.
  • the prediction information may include motion information (for example, a motion vector, reference picture index, or prediction direction) used in inter prediction, or a prediction direction (for example, intra prediction mode, etc.) used in intra prediction. It includes.
  • intra block coding or intra prediction may be used, since spatial prediction is used instead of temporal prediction. Therefore, the problem that the compression efficiency falls.
  • FIG. 14C illustrates an example in which nonlinear distortions appearing at the boundary between the P1 and P4 planes and nonlinear distortions appearing at the boundary between the P3 and P4 planes are linearly corrected.
  • 15 is a diagram for describing an example of generating a reference image by converting a viewpoint of a neighboring area.
  • the efficiency of temporal prediction may be degraded at the boundary portion where the viewpoint in the image changes. This is because the reference region in the reference picture used for prediction does not include information of the neighboring region. Even if the reference region includes information about the neighboring region, the viewpoint is different from the current block, and thus is not suitable for use as the reference image.
  • the current image C1 when restoring a partial region C1 of the current image and using only a region (that is, P1) that does not include information of a neighboring region, the current image C1 is completely restored. Difficult to do To restore the current image, even if the region including the information of the neighboring region (i.e., O plus P1 and P2) is used, the viewpoint between the current image and the newly expanded P2 region is different, so that the current image C1 may be perfectly completed. Hard to restore
  • a reference image including the transformed extended region is generated by adding the reference region and the transformed neighboring region, thereby improving encoding efficiency in temporal prediction.
  • the image may be distorted due to a change in viewpoint at the boundary between the reference area and the neighboring area.
  • the neighboring area is converted according to the viewpoint of the reference area, distortion at the boundary surface is reduced.
  • the reference region P1 and the converted neighboring region TR are generated.
  • Second step Generation of transformed image at each point of view using relation between images
  • the first step is based on the characteristics of the image (e.g., intrinsic properties of the cube image) or additional data other than the image data (e.g., in the case of a divergent image, the viewing angle of each image, the angle difference between the viewpoints and the distance difference).
  • the direction and distance relationship between images are illustrated as ⁇ and d in FIG. 15A.
  • the second step is to generate a converted image of the neighboring image based on the difference in the direction and distance between the images calculated in the first step.
  • the neighbor image which is an extended region of the reference image, may be modified to match the viewpoint of the reference image.
  • modifying the neighboring image to match the viewpoint of the reference image means converting the neighboring image to be in the same view space as the reference image.
  • the third step is to generate a transform extension image based on the transform image and the reference image.
  • the transform extension image may be generated by adding the transform image and the reference image so that the transform image is continuous with the reference image.
  • the fourth step is storing the generated transform extension image in the reference image list.
  • the transform extension image may be used for temporal prediction of the decoding / coding target image.
  • 16 is a flowchart illustrating a process of generating a transform extension image according to the present invention.
  • images having different viewpoints exist continuously in space S1610
  • Whether or not images with different viewpoints are spatially continuous depends on the data (e.g., metadata) added to the image or the characteristics of the multi-view image (e.g., the development of the polyhedron has a fixed number of viewpoints). You can check As an example, when an image is projected in a polyhedral development, it may be determined that images having different viewpoints exist continuously in space.
  • a viewpoint difference between images having different viewpoints may be obtained (S1620).
  • the viewpoint difference may include at least one of an angle difference and a position difference.
  • Angle means Euler angle or a subset thereof for display in three-dimensional space
  • position means a three-dimensional space position coordinate or a subset thereof.
  • an angle difference between images having different viewpoints may have a fixed value.
  • the position difference (or distance difference) may be set to 0 because images having different viewpoints are continuous at the boundary.
  • the inter-view characteristic may be obtained based on a difference in viewpoints between images having different viewpoints.
  • the viewpoint difference may include at least one of an angle difference and a position difference between images having different viewpoints.
  • the angle means Euler angle or a subset thereof for displaying in the three-dimensional space
  • the position means a three-dimensional space position coordinate or a subset thereof.
  • the viewpoint difference may mean an angle difference and a position difference between surfaces having different viewpoints.
  • the angle difference between surfaces having different perspectives may have a fixed value.
  • FIG. 17A when the 3D multiview image is projected onto a cube, an angle difference between two planes P1 and P2 having different viewpoints is 90 degrees, as shown in FIG. 17B.
  • the angle difference between the two images P3 and P4 may be fixed at 138 degrees 11 minutes.
  • two surfaces having different viewpoints are continuously positioned in space, and thus the distance difference between the two images may be set to zero.
  • the angle difference and distance difference are the difference between the angles and the images obtained based on the positions of the cameras, the viewing angles of the cameras, and the angles between the cameras. Liver position difference.
  • the 3D multiview image is a spherical form, or as in the example shown in FIG. 18, the 3D multiview image is not developed in the form of a polyhedron.
  • Position difference d2 and angle difference ⁇ 4 between images based on the positions of the cameras C1 and C2, the position difference d1 of the cameras, the angles ⁇ 1 and ⁇ 2 of the cameras, and the angle difference ⁇ 3 of the cameras, and the like. ) Can be obtained.
  • the viewpoints of different images are different from each other through the positions of the cameras, the viewing angles of the cameras, and the angles between the cameras. The difference can be calculated.
  • images having different viewpoints may be converted into the same viewpoint (S1630). For example, a process of converting one of the two images to the viewpoint of the other image may be performed on two images having different viewpoints.
  • 19 is a diagram for describing an example in which an image is converted in accordance with a viewpoint of another image.
  • FIG. 19A shows an example in which a 3D multiview video is unfolded into a cube
  • FIG. 19B shows an upper end of the cube (for example, P1) or a lower end (for example, P6). It is a figure which exemplifies the top view when a cube is seen.
  • the block included in the P4 plane of the current image is assumed to be the P4 plane of the reference image. If it is predicted through the reference region included in the, the view point difference does not occur. However, if the block included in the P4 plane of the current image is predicted using the reference area included in the P3 plane of the reference image, the prediction efficiency may be lowered due to the viewpoint difference between the P4 plane and the P3 plane. Accordingly, assuming that the block included in the P4 plane is predicted based on the reference region included in the P3 plane, it is necessary to generate a reference image obtained by converting the P3 plane to the P4 plane according to a viewpoint when storing the reference image. have.
  • the P3 plane may be transformed by projecting the position x included in the P3 plane to a position y having the same viewpoint as the P4 plane.
  • the viewpoint difference between the P3 plane and the P4 plane may be simplified by Equation 1 below.
  • Equation 1 a represents the length of one side of the cube.
  • the P4 plane of the current image is predicted using the P3 plane of the reference image.
  • the prediction efficiency decreases at the time can be avoided.
  • the conversion of the neighboring images may be additionally performed according to the above principle (S1640).
  • a reference image may be generated by combining the specific image and at least one converted neighboring image (S1650).
  • a 3D multiview image is projected in the form of a cube flat pattern
  • a specific surface of the cube and a plurality of neighboring neighbors are converted according to a viewpoint of a specific surface, and the reference surface is combined with the plurality of converted neighboring surfaces. Can be generated.
  • 20 and 21 illustrate examples of generating a reference image based on a specific surface of a cube.
  • the P4 plane is adjacent to the P1, P3, P5, and P6 planes when viewed based on the P4 plane. Accordingly, P1, P3, P5, and P6 planes are transformed in accordance with the viewpoint of P4 plane to generate T1, T3, T5, and T6, and the P4 plane and the generated transformed images T1, T3, T5, and T6 are summed.
  • a reference image may be generated.
  • the entire area of the P4 plane and the neighboring neighboring plane may be set as the conversion target, but only a partial region (eg, a search range) set by the encoder may be set as the conversion target.
  • FIG. 20B illustrates an example in which a reference image is generated when the entire area of the neighboring surface is a conversion target
  • FIG. 20C illustrates a reference image generated when a partial region of the neighboring surface is a conversion target. An example is shown.
  • the image of which all or part of the image is converted is determined in accordance with the image that is the reference of the viewpoint.
  • the position of the converted image is determined according to the polyhedron characteristics.
  • the converted image may be merged with the image that is the reference of the viewpoint according to the position.
  • the positions of the T1, T3, T5, and T6 images are determined relative to the image P4 that is the reference of the viewpoint. do. That is, each of the converted images T1, T3, T5, and T6 merges with P4 at the position projected in accordance with the viewpoint of P4.
  • FIG. 21C and 21D illustrate a reference image R4 generated by combining P4 and transformed images T1, T3, T5, and T6.
  • FIG. 21C is a diagram illustrating a case where the entire convertible area of the neighboring image is projected according to the viewpoint of P4, and
  • FIG. 21D is a case of projecting on the viewpoint of P4 of the partial region of the neighboring image.
  • Figure is an illustration.
  • the divergent image may be converted based on the angle difference and the position difference between images having different viewpoints.
  • a divergent image does not have a predefined rule for arranging images having different viewpoints, and thus, only differences in viewpoints (ie, angle difference and distance) between images having different viewpoints are used. Difference) is difficult to determine.
  • the viewpoint difference of the divergent image may be encoded / signaled through additional data (eg, metadata) added to the image.
  • additional data eg, metadata
  • transformation between images having different viewpoints may be performed in the same manner as described above, and a reference image may be generated using the result of the transformation.
  • FIG. 22 illustrates an example of generating a reference image for a divergent image.
  • a P2 image having a viewpoint different from the P1 image is illustrated.
  • an entire region or a partial region of P2 may be converted according to the viewpoint of P1, and the reference image may be generated by combining the converted image with P1.
  • FIG. 22B illustrates an example in which a reference image is generated by combining T2 and P1 generated by converting the entire region of P2
  • FIG. 21C illustrates a partial region of P2 (for example, a search range).
  • An example in which a reference picture is generated by combining T'2 and P1 generated by converting (search range)) is illustrated.
  • the position of the converted image may be determined based on the image that is a reference of the viewpoint. In this case, the position of the converted image may be determined based on the position information of each image.
  • a reference image may be generated by adding the transformed image and the image that is the reference of the viewpoint.
  • FIG. 23 illustrates an example of generating a reference image by combining an image, which is a reference of a viewpoint, and a converted image.
  • the T2 generated by converting the P2 image is illustrated as being positioned on the right side with respect to the image P1 which is the reference of the divergence.
  • the reference image R1 may be generated by generating at least a part of the converted image T2 on the right side of the P1 image.
  • the converged image has a viewpoint in which each image faces a specific direction. Accordingly, one frame of the converged image may have a plurality of images extended in the same direction as the specific image while being spatially continuous with the specific image based on the specific image. Accordingly, when generating the reference image of the converged image, there may be a plurality of neighboring images that can be converted while being co-located with the specific image. Accordingly, the reference image of the converged image may be generated based on the transformed image generated by converting at least one or more of the specific image and a plurality of neighboring images existing at the same position as the specific image.
  • a converted image generated by converting a specific image and a neighboring neighbor image may have the following aspects.
  • the first aspect is a case where the neighboring image converted according to the viewpoint of the specific image sufficiently includes an area that does not overlap with the specific image.
  • the extended region added to the specific region includes essential information (for example, a region necessary for temporal prediction).
  • the same method as that of generating the reference image from the polyhedral or divergent image may be applied.
  • the second aspect is a case where a neighboring image converted according to a viewpoint of a specific image is mostly overlapped with the specific image.
  • the extended region added to the specific region does not contain sufficient additional information (for example, the region necessary for temporal prediction). If the extended region added to the specific region does not contain sufficient additional information, it is difficult to use the reference image for temporal prediction.
  • 24 is a diagram illustrating whether a transformed image includes a region essential for temporal prediction.
  • FIG. 24B illustrates an example of converting a P2 image neighboring the P1 image according to the viewpoint of the P1 image.
  • a reference image for the P1 image may be generated by converting at least one image neighboring the P1 image according to the viewpoint of the P1 image.
  • the converted neighbor images may completely include the required region or may not include the required region completely according to the degree of overlap with the P1 image.
  • the image T2 converted from the P2 image includes an area smaller than the required region (eg, a search range), but the image T3 converted from the P3 image is an essential region. It was illustrated as including.
  • the converted image does not include the minimum area required, it may be difficult to perform temporal prediction with a reference image generated based on the T2 image.
  • the reference picture may be extended by padding a region that is insufficient for temporal prediction using the pixel value of the transformed neighbor region. That is, a region that cannot be obtained from the transformed portion of the neighboring image among regions that must be included for use in temporal prediction can be padded using the edge samples of the transformed neighboring region.
  • FIG. 25 is a diagram illustrating an example of generating a reference image for a converged image.
  • the P2 transformed image T2 is also used for temporal prediction. It may not include the required area.
  • an edge sample of the T2 image may be used to pad an area necessary for use in prediction.
  • FIG. 25A illustrates an example of padding a residual area using a right edge sample when transforming and extending a P2 image to the right
  • FIG. 25B illustrates upper edge when extending and transforming a P2 image upward.
  • An example of padding the residual area using a sample is shown.
  • a transformed image is described as an example. However, in addition to the converged image, when the converted image does not sufficiently include an area for prediction use, an edge sample of the converted image is included.
  • the reference picture may be extended using.
  • the position of the converted image may be determined based on the image that is the reference of the viewpoint. In this case, the position of the converted image may be determined based on the position information of each image. In the case of the converged image, various converted images extending to the same position may be acquired, and thus, at least one reference image may be generated by combining the converted images and the respective converted images.
  • FIG. 26 illustrates an example of generating a reference image by combining an image, which is a reference of a viewpoint, and a converted image.
  • the reference image R1 may be generated by combining the T2 and P1 images generated by converting the P2 image
  • the reference image R2 may be generated by combining the T3 and P1 images generated by converting the P3 image.
  • N-1 converted images may be generated for N converted images.
  • the reference picture When the reference picture is generated, the reference picture may be stored in the reference picture list (S1660). In addition, when there is no image having a different spatially continuous viewpoint (S1610), the current image may be stored as a reference image in the reference picture list (S1660).
  • the reference pictures When storing the generated reference pictures in the reference picture list, the reference pictures may be grouped and stored based on the same time zone.
  • FIG. 27 is a diagram for one example of generating a reference image list for a 3D multiview image developed in a cube shape.
  • one reference image may be generated based on an image of a specific time zone and a specific viewpoint.
  • a total of six images that is, each side of the cube
  • up to six reference images may be generated in a specific time zone.
  • six reference images may be grouped and stored based on a time zone.
  • a total of six reference images (the reference images R1 and P2 generated based on the viewpoints of the reference images R1 and P2 generated based on the viewpoints of P1) are referred to.
  • the generated reference image R6) may be generated.
  • Reference pictures generated based on the time zone t0 may be grouped and stored in one group.
  • reference image lists such as t1, t2, ... tN, etc. may be grouped based on a predetermined time zone and stored in the list.
  • FIG. 28 is a diagram for one example of generating a reference picture list for a divergent picture.
  • one reference image may be generated based on an image of a specific time zone and a specific viewpoint. Since the number of images as a reference of the viewpoint is determined by the number of cameras photographing the divergent image, as many reference images as the number of cameras may be generated in a specific time zone. Like the omnidirectional image that is developed into a polyhedron, the plurality of reference images may be grouped and stored according to time zones.
  • a total of three reference images (generated based on viewpoints of reference images R1 and P3 generated based on viewpoints of reference images R1 and P2 generated based on the viewpoint of P1) are generated.
  • three reference images generated based on the time zone t0 may be grouped into one group and stored.
  • reference image lists such as t1, t2, ... tN, etc. may be grouped based on a predetermined time zone and stored in the list.
  • 29 is a diagram illustrating an example of generating a reference picture list for a converged picture.
  • At least one reference image may be generated based on an image of a specific time zone and a specific viewpoint.
  • the reference image of the viewpoint is the P1 image
  • the first reference image R1 may be generated based on the P1 image and the P2 image
  • the second reference image may be generated based on the P1 image and the P3 image.
  • the reference image of the converged image may be stored by grouping a plurality of reference images generated at a specific time zone.
  • N reference images generated based on the viewpoint of P1 N reference images generated based on the viewpoint of P2, ... N generated based on the viewpoint of PN Reference images may exist.
  • the plurality of reference images generated based on the time zone t0 may be grouped and stored in one group.
  • reference image lists such as t1, t2, ... tN, etc. may be grouped based on a predetermined time zone and stored in the list.
  • 27 to 29 illustrate that a plurality of reference images are grouped and stored based on time zones. Unlike the illustrated example, the plurality of reference images may be grouped and stored based on the image that is the viewpoint reference.
  • information for selecting the reference picture may be encoded / signaled.
  • the information for selecting the reference picture may include at least one of information on time including the reference picture or information for identifying at least one of a plurality of reference pictures included in the corresponding time zone.
  • the reference picture of the corresponding time zone may be used for temporal prediction.
  • which one of a plurality of reference images included in a specific time zone is to be selected may be selected based on a location of a region to be currently encoded / decoded. For example, if a region to be currently encoded / decoded is included in the P6 plane of the cube, the encoder and the decoder may use the reference image generated based on the viewpoint of P6 for temporal prediction.
  • FIG. 30 is a diagram for comparing a case of generating a reference image and a case of not generating a reference image according to the present invention.
  • temporal prediction when temporal prediction is performed without the neighboring image being transformed, temporal prediction is difficult to be performed based on a block located at the boundary of the image when encoding / decoding the image. Accordingly, in a state where the neighboring image is not transformed, boundary blocks adjacent to the boundary where the viewpoint changes are generally coded through spatial prediction rather than temporal prediction.
  • temporal prediction when temporal prediction is performed based on a reference image generated by converting a neighboring image, temporal prediction may be performed based on a block located at the boundary of the image when encoding / decoding the image. do. Accordingly, boundary blocks adjacent to the boundary where the viewpoint changes may also be encoded / decoded through temporal prediction, thereby increasing image compression efficiency.
  • FIG. 31 is a diagram illustrating an encoding aspect according to whether the present invention is applied.
  • blocks located at a boundary at which a viewpoint changes are generally encoded through intra prediction.
  • blocks located at a boundary at which the viewpoint changes may also be encoded by temporal prediction.
  • whether to expand an image to be used for prediction may be encoded by an encoding parameter and signaled by a bitstream.
  • whether to expand an image to be used for prediction may be encoded and signaled by a 1-bit flag.
  • the flag indicates that the image to be used for prediction is to be extended, a method of generating a reference image by converting the neighboring image according to the viewpoint of the specific image and then combining the specific image and the neighboring image may be applied.
  • the corresponding flag does not indicate that the image to be used for prediction will be extended, the process based on the viewpoint and the process of extending the specific image will not be performed.
  • whether to expand an image to be used for prediction may be signaled in a parameter set, a picture unit, a slice unit, or an encoding target unit.
  • Table 1 below shows an example in which information indicating whether to expand the image to be used for prediction is signaled through the VPS
  • Table 2 shows an example in which the information is signaled through the SPS.
  • 'perspective_reference_picture_enabled_flag' indicates whether to expand an image to be used for prediction.
  • 'perspective_reference_picture_enabled_flag' is set to '1'
  • 'perspective_reference_picture_enabled_flag' is '0'.
  • whether to expand an image to be used for the image may be set to a value opposite to the example described above.
  • an extended reference picture may be generated considering the direction and position of the picture when configuring the reference picture.
  • prediction may be performed based on the extended reference image.
  • FIG. 32 is a flowchart illustrating a method of converting prediction information according to the present invention
  • FIG. 33 is a diagram illustrating an example in which prediction information is converted at a perspective boundary.
  • the hatched block represents the current encoding / decoding target block (for example, CU or PU).
  • an arrow in a neighboring block adjacent to the current block indicates prediction information.
  • the solid arrows indicate the prediction information before transformation
  • the dashed arrows indicate the prediction information after transformation.
  • a thick line between blocks represents a boundary between perspectives.
  • the current block is a block located at an inter-view boundary (S3210).
  • that the current block is located at the inter-view boundary means that the current block is in contact with the inter-view boundary.
  • FIG. 33A an example in which a current block is not located at an inter-view boundary is shown.
  • (B) to (F) an example in which the current block is positioned at an inter-view boundary is illustrated.
  • prediction information of neighboring blocks neighboring the current block is not transformed.
  • prediction information of neighboring blocks having a viewpoint different from the viewpoint of the current block may be converted (S3220). In this case, the transformation may be performed based on the characteristics between the viewpoints.
  • the inter-view characteristic may mean a difference in viewpoints between images having different viewpoints. Since a viewpoint difference between images having different viewpoints has been described with reference to FIGS. 17 and 18, a detailed description thereof will be omitted.
  • the prediction of the current block may be performed using prediction information of the neighboring block (S3230).
  • the prediction information of the neighboring block may be untransformed prediction information or transformed prediction information according to whether the current block is located at the boundary between views.
  • the intra prediction information may include an intra prediction mode (or MPM) of the neighboring block.
  • an MPM candidate may be determined based on intra prediction modes of neighboring blocks neighboring the current block, and an MPM candidate list may be generated based on the determined MPM candidate. If the intra prediction mode of the current block is included in the MPM candidate list, index information indicating the corresponding MPM candidate may be encoded / signaled.
  • the neighboring block neighboring the current block may include a neighboring block neighboring to the left of the current block, a neighboring block neighboring the upper end of the current block, and the like.
  • the neighboring block may include a neighboring block neighboring the upper left corner of the current block, a neighboring block neighboring the upper right corner of the current block, or a neighboring block neighboring the lower left corner of the current block.
  • the MPM candidate of the current block is derived from the left neighboring block neighboring the left side of the current block and the upper neighboring block neighboring the top of the current block.
  • the conversion of the intra prediction mode may be performed only when the intra prediction mode of the neighboring block is the directional mode. If the intra prediction mode of the neighboring block is a non-directional mode (eg, DC or planner mode), the MPM may be generated without conversion of the intra prediction mode.
  • the intra prediction mode of the neighboring block is a non-directional mode (eg, DC or planner mode)
  • the MPM may be generated without conversion of the intra prediction mode.
  • the first MPM may be generated by converting the intra prediction mode of the left neighboring block adjacent to the left side of the current block by using the inter-view characteristic. S3420).
  • the intra prediction mode of the left neighboring block neighboring the left side of the current block may be used as the first MPM as is (S3430).
  • the second MPM may be generated by converting the intra prediction mode of the top neighboring block neighboring the top of the current block by using the inter-view characteristic. (S3450).
  • the intra prediction mode of the top neighboring block neighboring the top of the current block may be used as the second MPM as it is (S3460).
  • 35 to 37 illustrate an example of generating an MPM candidate according to whether a current block is located at a view boundary.
  • the current block and the left neighboring block are shown to be adjacent to each other based on the boundary points P1 and P2.
  • the first MPM may be generated by converting the intra prediction mode of the left block based on the viewpoint difference between the P1 and P2 viewpoints.
  • the second MPM may be generated based on the intra prediction mode of the upper neighboring block.
  • the first MPM may be generated based on the intra prediction mode of the left neighboring block.
  • the second MPM may be generated by converting the intra prediction mode of the upper neighboring block based on the viewpoint difference between the P1 and P2 viewpoints.
  • the current block and the left neighboring block are adjacent to each other based on the boundary points P1 and P2. Accordingly, the first MPM may be generated by converting the intra prediction mode of the left neighboring block based on the viewpoint difference between the viewpoints P1 and P2.
  • the current block and the upper neighboring block are also located adjacent to each other based on the boundary between the viewpoints P2 and P3. Accordingly, the second MPM may be generated by converting the intra prediction mode of the upper neighboring block based on the viewpoint difference between the P2 and P3 viewpoints.
  • the first MPM and the second MPM When the first MPM and the second MPM are generated, it is checked whether the first MPM and the second MPM are the same (S3470). If the first MPM and the second MPM are the same, the first MPM determines whether the non-directional mode (that is, whether the intra prediction mode is less than 2) (S3480). When the first MPM is in the non-directional mode, N predefined MPM candidates may be generated (S3485). Here, N may mean one or more natural numbers such as 2, 3, 4, and the like. For example, when the first MPM is in a non-directional mode (eg, DC or PLANAR mode), three MPM candidates fixed with a planner, DC, and vertical prediction may be generated as follows.
  • a non-directional mode eg, DC or PLANAR mode
  • three MPM candidates fixed with a planner, DC, and vertical prediction may be generated as follows.
  • the first MPM When the first MPM is in the directional mode, the first MPM may be added as an MPM candidate, and N-1 MPM candidates having a similar direction to the first MPM may be generated (S3490).
  • the MPM having a similar direction to the first MPM may have a value obtained by adding or subtracting k to the first MPM (where k is a natural number of 1 or more).
  • three MPM candidates are generated: the first MPM, the intra prediction mode by subtracting 1 from the first MPM, and the intra prediction mode by adding 1 to the intra prediction mode of the left neighboring block. Can be.
  • the first MPM and the second MPM may be added as MPM candidates, and additionally, N-2 MPM candidates having a predefined intra prediction mode may be additionally generated (S3495). ).
  • the number of additionally generated MPM candidates may be one or more.
  • the first MPM and the second MPM may be generated as MPM candidates, and additional MPM candidates set to a planner, DC, or vertical direction mode may be generated.
  • the additional MPM candidate may be determined not to have the same value as the first MPM and the second MPM.
  • MPM [2] Intra_Planar / Intra_DC / Intra_Vertical (26)
  • FIG. 38 is a flowchart illustrating a process of determining a spatial merge candidate for performing inter prediction in a merge motion mode based on prediction information of a neighboring block.
  • the motion information of the neighboring block is converted (S3820).
  • the transformed motion information includes a motion vector.
  • the motion information of the neighboring block is not converted.
  • the availability of the neighboring block spatially neighboring the current block is determined (S3830). If the spatial neighboring block is available, the motion information or transformed motion information of the spatial neighboring block is included in the merge candidate list (S3840).
  • the motion list inclusion process may be performed repeatedly for each of a plurality of neighboring blocks spatially neighboring the current block (S3810 through S3840). For example, as in the example described with reference to FIG. 12, when the merge motion candidate list is generated in the order of A ⁇ B ⁇ C ⁇ D ⁇ E, the left block (A), the top block (B), and the top right block ( C), the process of including the motion list may be performed in the order of the lower left block D and the upper left block E.
  • FIG. 12 when the merge motion candidate list is generated in the order of A ⁇ B ⁇ C ⁇ D ⁇ E, the left block (A), the top block (B), and the top right block ( C), the process of including the motion list may be performed in the order of the lower left block D and the upper left block E.
  • the upper left block may be included in the motion list only when at least one of the remaining spatial neighboring blocks is not available for inter prediction. Accordingly, processes S3810 to S3840 including the upper left block in the motion list may be performed only when at least one of the remaining spatial neighboring blocks is not available for inter prediction.
  • the A block, the D block, and the E block have different views than the current block, and the B blocks and the C blocks have the same view as the current block.
  • the motion information of the A block, the D block, and the E block is converted based on the viewpoint difference between the viewpoints P1 and P2, and the motion information of the B block and the C block is not converted.
  • the spatial merge candidate list may be constructed in the order of A, B, C, D, and E using the transformed motion information of the A, D, and E blocks and the motion information of the B and C blocks.
  • the B blocks, the C blocks, and the E blocks have different views than the current block, and the A blocks and the D blocks have the same views as the current block.
  • the motion information of the B blocks, the C blocks, and the E blocks is converted based on the viewpoint difference between the viewpoints P1 and P2, and the motion information of the A blocks and the D blocks is not converted.
  • the spatial merging candidate list may be constructed in the order of A, B, C, D, and E using the transformed motion information of the B blocks, the C blocks, and the E blocks, and the motion information of the A blocks and the D blocks.
  • FIGS. 39C to 39H an example in which the current block may have a different viewpoint than the spatial neighboring block is illustrated in FIGS. 39C to 39H.
  • the motion information of the spatial neighboring block is transformed based on the difference in viewpoints of the current block and the spatial neighboring block, and when the current block has the same viewpoint as the spatial neighboring block, the spatial neighboring block Not converting the motion information may be equally applied to these examples.
  • the prediction information may include the motion vector of the neighboring block.
  • a temporal merge candidate may be derived from a temporal neighboring block of the current block.
  • the temporal neighboring block may mean a collocated block in a collocated picture having a different time order from the current picture including the current block.
  • the collocated block may be variably determined according to the availability of the first block in the collocated picture. For example, if the first block is available for inter prediction, the first block is determined to be a collocated block, and if the first block is unavailable, the second block at a different position from the first block is collocated. It may be determined as a bid block.
  • the first block and the second block may be different from one of a block including the coordinate value of the lower left sample of the current block or a block including the center pixel value of the current block.
  • the first block is a block including the coordinates of the lower left sample of the current block
  • the second block is a block including the center coordinates of the current block.
  • a viewpoint of a first block is different from a current block (S4010). Since the first block is neighbored in time with the current block, if the viewpoint of the first block is different from the viewpoint of the current block, the first block may be determined to be located at a boundary between the current block and the viewpoint. If the viewpoints of the first block and the current block are different, motion information of the first block is converted (S4020). In this case, the transformed motion information includes a motion vector.
  • the motion information of the first block is not converted.
  • the availability of the first block is determined (S4030). If the motion information of the first block can be used as a merge candidate, the motion information of the first block can be added to the merge candidate list (S4040).
  • the availability of the second block is determined (S4050). If the motion information of the second block can be used as a merge candidate, the motion information of the second block can be added to the merge candidate list (S4060).
  • the second block includes the center coordinates of the current block, and thus has the same viewpoint as the current block. Accordingly, the motion information of the second block may be added to the merge candidate list without being converted.
  • 41 shows an example in which a current block and a temporal neighboring block have different viewpoints.
  • the first block corresponds to the H block and the second block corresponds to the M block.
  • the current block has been illustrated as having a viewpoint P1, while the H block has a viewpoint P2.
  • the motion information of the H block may be converted based on a viewpoint difference between viewpoints P1 and P2.
  • the motion information of the M block may not be converted.
  • the inter prediction mode of the current block is the merge motion mode.
  • the method of converting prediction information described with reference to FIGS. 38 to 41 may be applied. For example, if a spatial neighboring block that is spatially neighboring to the current block or a temporal neighboring block that is temporally neighboring to the current block has a different point in time than the current block, the motion vector of the neighboring blocks is converted and then the transformed motion vector is converted. It can be added to the motion vector prediction candidate list (MVP List). If the spatial neighboring block or temporal neighboring block of the current block has the same view as the current block, the motion vectors of the neighboring blocks may be included in the motion vector prediction candidate list without being transformed.
  • MVP List motion vector prediction candidate list
  • information indicating whether to transform and encode the prediction information may be encoded by an encoding parameter and signaled by a bitstream.
  • information about whether to convert prediction information may be encoded and signaled with a flag of 1 bit.
  • a method of converting prediction information of the neighboring block may be used according to whether the current block and the neighboring block have different viewpoints.
  • whether to convert the prediction information may be signaled in units of a parameter set, a picture unit, a slice unit, or a coding target unit (for example, a CU or a PU).
  • Table 3 shows an example in which information indicating whether to convert the prediction information is signaled through the VPS
  • Table 4 shows an example in which the information is signaled through the SPS
  • Table 5 shows an example in which the information is signaled in units of PUs.
  • 'perspective_intra_pred_transform_enabled_flag' indicates whether to convert prediction information when the intra prediction mode is applied
  • 'perspective_inter_pred_transform_enable_flag' indicates whether to convert prediction information when the inter prediction mode is applied Indicates.
  • a value of 'perspective_intra_pred_transform_enabled_flag' indicates that a method of transforming prediction information is applied when an intra prediction mode is applied, and a value of 'perspective_intra_pred_transform_enabled_flag' is '0' to indicate an intra prediction mode. When applied, it indicates that the method of transforming prediction information is not applied. Alternatively, whether or not to convert prediction information when intra prediction is applied may be set to a value opposite to the example described above.
  • a value of '1' of 'perspective_inter_pred_transform_enable_flag' indicates that a method of transforming prediction information is applied when the inter prediction mode is applied, and a value of '0' of 'perspective_inter_pred_transform_enable_flag' is applied when the inter prediction mode is applied. In this case, the method of converting the prediction information is not applied. Alternatively, whether to convert prediction information when inter prediction is applied may be set to a value opposite to the example described above.
  • 'perspective_pred_transform_flag' indicates whether to apply a method of transforming prediction information regardless of a prediction mode of a PU.
  • the value of 'perspective_pred_transform_flag' is '1' indicates that the method of transforming prediction information is applied when the intra prediction mode or the inter prediction mode is applied, and the value of 'perspective_pred_transform_flag' is '0'.
  • an intra prediction mode or an inter prediction mode is applied, this indicates that a method of converting prediction information is not applied.
  • whether to convert the prediction information may be set to a value opposite to the example described.
  • FIG. 42 is a block diagram showing a configuration of an encoder according to the present invention.
  • the encoder refers to an apparatus for encoding a 3D multiview image, such as an expanded view of an omnidirectional image, a convergent camera image, and a divergent image.
  • the encoder includes a projection unit 100, an inter prediction unit 110, an intra prediction unit 120, a transform unit 130, a quantization unit 140, an entropy encoding unit 150, an inverse quantization unit 160,
  • the inverse transform unit 170, the reference image expander 180, the prediction information converter 185, and the reconstructed picture buffer 190 may be included.
  • the encoder may perform encoding on the input image in an intra prediction mode (or a spatial mode) and / or an inter prediction mode (or a temporal mode).
  • the encoder may generate a bitstream through encoding of the input image, and may output the generated bitstream.
  • the intra prediction mode may mean an intra prediction mode (ie, a spatial prediction mode)
  • the inter prediction mode may mean an inter prediction mode (ie, a temporal prediction mode).
  • the encoder may generate a prediction signal for an input block of the input image.
  • the prediction signal on a block basis may be called a prediction block.
  • the encoder may encode a residual between the input block and the prediction block.
  • the input image may be referred to as a current image that is a target of current encoding.
  • the input block may be referred to as a current block or an encoding target block that is a target of the current encoding.
  • the projection unit 100 serves to project the 3D multi-view image in a two-dimensional form such as an isometric or polyhedral development. Through this, a plurality of images having irregular angles and positions may be converted into two-dimensional images suitable for development of a polyhedron.
  • the projection unit may convert the 3D multiview image into a 2D image by using the position and angle of the cameras.
  • the intra prediction unit 120 may use a pixel value of a block that is already encoded around the current block as a reference pixel.
  • the intra prediction unit 120 may perform spatial prediction using the reference pixel, and generate prediction samples for the input block through spatial prediction.
  • the intra prediction mode of the current block may be determined based on the intra prediction mode of the neighboring block neighboring the current block. If the viewpoint of the current block and the neighboring block is different, the prediction information converter 185 may convert the intra prediction mode of the neighboring block and determine the intra prediction mode of the current block based on the converted intra prediction mode. have.
  • the inter prediction unit 110 may search an area that best matches the input block from the reference image in the motion prediction process, and derive a motion vector using the searched area. have.
  • the reference picture may be stored in the reference picture buffer 190.
  • the prediction information converter 185 may convert the motion vector of the neighboring block.
  • the motion vector of the current block may be derived based on the motion vector of the transformed neighboring block of the neighboring block.
  • the subtractor may generate a residual block using the difference between the input block and the prediction block.
  • the residual block may be referred to as the residual signal.
  • the transform unit 130 may generate a transform coefficient by performing transform on the residual block, and output a transform coefficient.
  • the transform coefficient may be a coefficient value generated by performing transform on the residual block.
  • the transform unit 130 may omit the transform on the residual block.
  • Quantized transform coefficient levels may be generated by applying quantization to the transform coefficients.
  • the quantized transform coefficient level may also be referred to as transform coefficient.
  • the quantization unit 140 may generate a quantized transform coefficient level by quantizing the transform coefficient according to the quantization parameter, and output the quantized transform coefficient level. In this case, the quantization unit 140 may quantize the transform coefficients using the quantization matrix.
  • the entropy encoder 150 may generate a bitstream by performing entropy encoding according to probability distribution on values calculated by the quantizer 140 or coding parameter values calculated in the encoding process. And output a bitstream.
  • the entropy encoder 150 may perform entropy encoding on information for decoding an image in addition to information on pixels of an image.
  • the information for decoding the image may include a syntax element.
  • the encoded current image may be used as a reference image for other image (s) to be processed later. Therefore, the encoder may decode the current encoded image again and store the decoded image as a reference image. Inverse quantization and inverse transform on the encoded current image may be processed for decoding.
  • the quantized coefficients may be dequantized in inverse quantization unit 160.
  • the inverse transform unit 170 may perform an inverse transform.
  • the inverse quantized and inversely transformed coefficients may be summed with the prediction block via the adder 175.
  • a reconstructed block may be generated by adding a residual block generated through inverse quantization and inverse transform with a prediction block.
  • the recovery block may go through the filter part.
  • the filter unit may apply at least one or more of a deblocking filter, a sample adaptive offset (SAO), and an adaptive loop filter (ALF) to the reconstructed block or the reconstructed image.
  • the filter portion may be referred to as an in-loop filter.
  • the reference image expansion unit 180 generates a reference image according to the perspective of each image included in the reconstructed omnidirectional image, divergent image, or converged image. Reference pictures generated by the reference picture extension may be grouped by time zone or perspective and stored in the reference picture buffer 190. The reference image extension will be described in more detail with reference to FIG. 44.
  • 43 is a block diagram showing the configuration of a decoder according to the present invention.
  • the decoder includes an entropy decoder 210, an inverse quantizer 220, an inverse transform unit 230, an intra prediction unit 240, an inter prediction unit 250, and a reference image expansion unit 260. ), A prediction information converter 270, and a reference picture buffer 280.
  • the decoder may receive a bitstream output from the encoder.
  • the decoder may perform decoding in the intra mode or the inter mode on the bitstream. Also, the decoder may generate a reconstructed image through decoding and output the reconstructed image.
  • the switch When the prediction mode used for decoding is an intra mode, the switch may be switched to intra. When the prediction mode used for decoding is an inter mode, the switch may be switched to inter.
  • the decoder may obtain a reconstructed residual block from the input bitstream and generate a prediction block.
  • the decoder may generate a reconstructed block which is a decoding target block by adding the reconstructed residual block and the prediction block.
  • the decoding target block may be referred to as a current block.
  • the entropy decoder 210 may generate symbols by performing entropy decoding according to a probability distribution of the bitstream.
  • the generated symbols may include symbols in the form of quantized transform coefficient levels and information necessary for decoding of image data.
  • the entropy decoding method may be similar to the entropy encoding method described above.
  • the entropy decoding method may be an inverse process of the above-described entropy encoding method.
  • the entropy decoder 210 may change the one-dimensional vector form coefficient into a two-dimensional block form through a transform coefficient scanning method.
  • a transform coefficient scanning method For example, upright scanning can be used to scan the coefficients of a block to change it into a two-dimensional block shape.
  • vertical scan or horizontal scan may be used instead of upright scan. That is, according to the size of the conversion unit and the intra prediction mode, it is possible to determine which scan method among upright scan, vertical scan and horizontal scan is used.
  • the quantized transform coefficient level may be inversely quantized by the inverse quantizer 220 and inversely transformed from the frequency domain to the spatial domain by the inverse transformer 230.
  • a reconstructed residual block may be generated.
  • the inverse quantization unit 220 may apply a quantization matrix to the quantized transform coefficient level.
  • the intra prediction unit 240 may generate the prediction block by performing spatial prediction using pixel values of blocks already decoded around the decoding target block in the spatial domain.
  • the intra prediction mode of the current block may be derived from the intra prediction mode of the neighboring block neighboring the current block. If the viewpoint of the current block and the neighboring block is different, the prediction information converter 180 may convert the intra prediction mode of the neighboring block and derive the intra prediction mode of the current block from the transformed intra prediction mode.
  • the inter prediction unit 250 may generate a prediction block by performing motion compensation using a motion vector and a reference image stored in the reference picture buffer 280 in the spatial domain.
  • the inter prediction unit 250 may generate a prediction block by applying an interpolation filter to a portion of the reference image when the motion vector does not have an integer value.
  • a motion compensation method of a prediction unit included in a coding unit based on a coding unit includes a skip mode, a merge mode, a merge mode, an AMVP mode, and a current picture reference mode. It may be determined whether or not it is a method, and motion compensation may be performed according to each mode.
  • the current picture reference mode may mean a prediction mode using a pre-restored region in the current picture to which the decoding target block belongs.
  • the pre-restored region may be a region that is not adjacent to the decoding target block.
  • a predetermined vector for the current picture reference mode may be used to specify the pre-restored region.
  • a flag or index indicating whether the decoding object block is a block encoded in the current picture reference mode may be signaled or may be inferred through the reference image index of the decoding object block.
  • the reference picture index may be variably positioned in the reference picture list, and a separate reference picture index indicating the location of the current picture may be signaled for this purpose.
  • the motion vector of the current block may be derived based on the motion vector of neighboring blocks spatially or temporally neighboring the current block.
  • the prediction information converter 270 may convert the motion vector of the neighboring block.
  • the motion vector of the current block may be derived based on the motion vector of the transformed neighboring block of the neighboring block.
  • the reconstructed residual block and the predictive block may be added through an adder.
  • the generated block may go through the filter unit.
  • the filter unit may apply at least one or more of a deblocking filter, a sample adaptive offset, and an adaptive loop filter to the reconstructed block or the reconstructed image.
  • the reference image expander 260 generates a reference image according to each viewpoint of the image included in the reconstructed omnidirectional image, divergent image, or converged image. Reference images generated by the reference image extension may be grouped by time zone or viewpoint and stored in the reference picture buffer 270. The reference image extension will be described in more detail with reference to FIG. 44.
  • FIG. 44 is a block diagram of a reference image expansion unit according to the present invention.
  • the reference image expander may include a converter 310, an expander 320, and a reference image list generator 330.
  • the transformer 310 checks whether or not an image having the same time axis and a different positional successive viewpoint exists in the image to be used for prediction, and if so, converts the image according to the viewpoint of the image to be used as the prediction do.
  • the transform unit may perform a role of converting different images according to at least one viewpoint among spatially neighboring images having different viewpoints.
  • the expansion unit 320 combines the image to be used for prediction and the image converted by the converter. That is, by the expansion unit, the size of the image (that is, the reference image) to be used for prediction may increase by the sum of the converted images. In this case, the position where the converted image is extended may be determined based on the characteristics of the image or the position of the image.
  • the reference image list generator 330 adds a reference image generated by adding the image to be used for prediction and the converted image to the reference image list.
  • the reference picture may be input to the reference picture list according to the time axis.
  • Components described through the embodiments according to the present invention described above may be a digital signal processor (DSP), a processor, a controller, an application specific integrated circuit (ASIC), a field programmable gate (FPGA). And may be implemented by at least one of a programmable logic element such as an array, another electronic device, and a combination thereof. At least one function or process described through the embodiments according to the present invention described above may be implemented in software and the software may be recorded in a recording medium.
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA field programmable gate
  • Examples of recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs, DVDs, magneto-optical media such as floptical disks, And hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
  • Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
  • the hardware device may be configured to operate as one or more software modules to perform the process according to the invention, and vice versa. Components, functions, processes, and the like described through embodiments of the present invention may be implemented through a combination of hardware and software.
  • the present invention can be used to encode / decode an image.

Landscapes

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

Abstract

본 발명은 영상 부호화/복호화 방법 및 장치에 관한 것이며, 보다 구체적으로는 다시점 비디오의 참조 영상을 생성하는 방법 및 장치에 관한 것이다. 이를 위한 영상 부호화 방법은, 제1 시점을 갖는 제1 영상과 다른 시점을 갖는 제2 영상이 존재하는 경우, 상기 제2 영상을 상기 제1 시점으로 변환하는 단계, 상기 제1 영상의 일면에 상기 제2 영상을 부가하여 참조 영상을 생성하는 단계, 및 상기 참조 영상을 참조 픽처 리스트에 저장하는 단계를 포함한다.

Description

다시점 비디오의 부호화/복호화 방법
본 개시는 영상 부호화/복호화 방법에 관한 것이며, 보다 구체적으로는 다시점 비디오에서 예측을 수행하는 방법에 관한 것이다.
기술 발전으로 인해, 고해상도/고화질의 방송서비스 등이 일반화됨에 따라, HD(High Definition) 해상도를 넘어 이에 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)에 대한 관심이 증대되고 있다.
이러한 추세에 맞춰, 기존 2차원 영상에 더하여, 스테레오스코픽 영상 이나 전방향 비디오 등 실감형 영상에 대한 관심도 높아지고 있다. 새로운 미디어가 개발됨에 따라, 헤드 마운트 디스플레이 등 실감형 영상을 재생할 수 있는 장치가 속속들이 출시되고 있으나, 아직까지 실감형 미디어는 2차원 영상과 동일한 방법으로 부호화/복호화되고 있다. 이에 따라, 실감형 미디어의 압축 효율을 재고하기 위해, 실감형 미디어의 특성에 맞는 압축 방식이 개발되어야 할 것이다.
본 개시의 기술적 과제는 다시점 비디오의 부호화/복호화 효율을 개선하기 위한 방법을 제공하기 위한 것이다.
구체적으로, 본 개시의 기술적 과제는 시점이 다른 영상들을 하나의 시점으로 통일한 뒤, 시점이 통일된 영상을 합한 참조 픽처를 이용하여 부호화/복호화를 수행하는 방법 및 장치를 제공하기 위한 것이다.
또한, 본 개시의 기술적 과제는 현재 블록과 이웃 블록이 상이한 시점을 가질 경우, 이웃 블록의 예측 정보를 변환하여, 현재 블록의 예측 효율을 향상시키는 방법을 제공하기 위한 것이다.
본 개시에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시의 일 양상에 따르면, 제1 시점을 갖는 제1 영상과 다른 시점을 갖는 제2 영상이 존재하는 경우, 상기 제2 영상을 상기 제1 시점으로 변환하는 단계, 상기 제1 영상의 일면에 상기 제2 영상을 부가하여 참조 영상을 생성하는 단계, 및 상기 참조 영상을 참조 픽처 리스트에 저장하는 단계를 포함하는 영상 부호화 방법이 개시된다.
본 개시의 일 양상에 따르면, 제1 시점을 갖는 제1 영상과 다른 시점을 갖는 제2 영상이 존재하는 경우, 상기 제2 영상을 상기 제1 시점으로 변환하는 단계, 상기 제1 영상의 일면에 상기 제2 영상을 부가하여 참조 영상을 생성하는 단계, 및 상기 참조 영상을 참조 픽처 리스트에 저장하는 단계를 포함하는 영상 복호화 방법이 개시된다.
상기 영상 부호화 방법 및 상기 영상 복호화 방법에는 다음의 사항이 공통적으로 적용될 수 있다.
상기 변환 영상은, 상기 제1 영상 및 상기 제2 영상 간의 시점 차이에 기초하여 생성되고, 상기 시점 차이는, 상기 제1 영상 및 상기 제2 영상 간의 거리 차이 또는 각도 차이 중 적어도 하나를 포함할 수 있다.
상기 시점 차이는, 상기 제1 영상 및 상기 제2 영상을 포함하는 전방향 영상의 특성에 기초하여 결정될 수 있다.
상기 전방향 영상이 정다면체로 투영되는 경우, 상기 제1 영상 및 상기 제2 영상 간 각도 차이는 상기 정다면체의 내각으로 결정될 수 있다.
상기 시점 차이는 상기 제1 영상을 촬영하는데 이용된 제1 카메라 및 상기 제2 영상을 촬영하는데 이용된 제2 카메라 사이의 거리 및 각도 차를 기초로 획득될 수 있다.
상기 제2 영상이 부가될 위치는 상기 제1 영상 및 상기 제2 영상을 포함하는 정다면체의 특성에 따라 결정될 수 있다.
상기 참조 픽처는 상기 제1 영상 및 상기 제2 영상에 대응하는 시간대 정보와 함께 상기 참조 픽처 리스트에 저장될 수 있다.
본 개시에 대하여 위에서 간략하게 요약된 특징들은 후술하는 본 개시의 상세한 설명의 예시적인 양상일 뿐이며, 본 개시의 범위를 제한하는 것은 아니다.
본 개시에 대하여 위에서 간략하게 요약된 특징들은 후술하는 본 개시의 상세한 설명의 예시적인 양상일 뿐이며, 본 개시의 범위를 제한하는 것은 아니다.
본 개시에 따르면, 다시점 비디오의 부호화/복호화 효율을 개선하기 위한 방법이 제공될 수 있다.
구체적으로, 본 개시에 따르면, 시점이 다른 영상들을 하나의 시점으로 통일한 뒤, 시점이 통일된 영상을 합한 참조 픽처를 이용하여 부호화/복호화를 수행하는 방법 및 장치가 제공될 수 있다.
구체적으로, 본 개시에 따르면, 현재 블록과 이웃 블록이 상이한 시점을 가질 경우, 이웃 블록의 예측 정보를 변환하여, 현재 블록의 예측 효율을 향상시키는 방법이 제공될 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 3D 다시점 영상을 생성하기 위한 카메라의 종류를 예시한 도면이다.
도 2는 다이버전트 비디오를 설명하기 위한 도면이다.
도 3은 컨버전트 비디오를 설명하기 위한 도면이다.
도 4는 3D 다시점 비디오가 다면체의 전개도 형태로 투영된 예를 나타낸다.
도 5는 3D 다시점 비디오의 2차원 전개 형태를 예시한 도면이다.
도 6은 3D 다시점 비디오의 3차원 형태를 예시한 도면이다.
도 7은 3D 다시점 비디오의 일부가 디스플레이되는 예를 설명하기 위한 도면이다.
도 8은 정육면체로 전개된 3D 비디오를 재생했을 때의 양상을 예시한 도면이다.
도 9는 영상을 부호화할 때 코딩 트리 유닛(Coding Tree Unit, CTU)를 CU 단위로 분할하는 예를 나타낸 도면이다.
도 10은 CU가 PU로 분할되는 예를 설명하기 위한 도면이다.
도 11은 화면 간 예측 방법을 설명하기 위한 도면이다.
도 12는 병합 움직임 후보 리스트가 생성되는 예를 나타낸 도면이다.
도 13은 정육면체 형태의 3차원 비디오의 특정 프레임을 실제 재생하였을 때의 모습을 예시한 것이다.
도 14는 각 면의 경계에서 비선형 왜곡이 발생하는 예를 보다 상세히 나타낸 도면이다.
도 15는 이웃 영역의 시점을 변환하여 참조 영상을 생성하는 예를 설명하기 위한 도면이다.
도 16은 본 발명에 따른 변환 확장 영상을 생성하는 과정을 나타낸 흐름도이다.
도 17 및 도 18은 시점 간 특성을 설명하기 위해 예시한 도면이다.
도 19는 타 영상의 시점에 맞춰 영상이 변환되는 예를 설명하기 위한 도면이다.
도 20 및 도 21는 정육면체의 특정 면을 기준으로 참조 영상을 생성하는 예를 도시한 도면이다.
도 22는 다이버전트 영상에 대한 참조 영상을 생성하는 예를 도시한 도면이다.
도 23은 시점의 기준이 되는 영상과 변환 영상을 합쳐 참조 영상을 생성하는 예를 나타낸 도면이다.
도 24는 변환 영상이 시간적 예측에 필수적인 영역을 포함하는지 여부를 예시한 도면이다.
도 25는 컨버전트 영상에 대한 참조 영상을 생성하는 예를 도시한 도면이다.
도 26는 시점의 기준이 되는 영상과 변환 영상을 합쳐 참조 영상을 생성하는 예를 나타낸 도면이다.
도 27은 정육면체 형태로 전개되는 3D 다시점 영상에 대한 참조 영상 리스트가 생성되는 예를 도시한 도면이다.
도 28은 다이버전트 영상에 대한 참조 영상 리스트가 생성되는 예를 도시한 도면이다.
도 29는 컨버전트 영상에 대한 참조 영상 리스트가 생성되는 예를 도시한 도면이다.
도 30은 본 발명에 따라 참조 영상을 생성하는 경우와 그렇지 않은 경우를 비교하기 위한 도면이다.
도 31은 본 발명의 적용 여부에 따른 부호화 양상을 예시한 도면이다.
도 32는 본 발명에 따른 예측 정보의 변환 방법을 나타낸 흐름도이다.
도 33은 시점(Perspective) 경계에서 예측 정보가 변환되는 예를 나타낸 도면이다.
도 34는 주변 블록의 예측 정보를 기초로, 화면 내 예측을 수행하기 위한 MPM (Most Probable Mode) 후보를 결정하는 과정을 설명하기 위한 흐름도이다.
도 35 내지 도 37은, 현재 블록이 시점 경계에 위치하는지 여부에 따라 MPM 후보를 생성하는 예를 도시한 도면이다.
도 38은 주변 블록의 예측 정보를 기초로, 병합 움직임 모드(Merge Mode) 하에서 화면 간 예측을 수행하기 위한 공간적 머지 후보를 결정하는 과정을 설명하기 위한 흐름도이다.
도 39는 현재 블록과 공간적 이웃 블록이 다른 시점을 갖는 예를 나타낸 것이다.
도 40은 주변 블록의 예측 정보를 기초로, 병합 움직임(merge) 모드 하에서 화면 간 예측을 수행하기 위한 시간적 머지 후보를 결정하는 과정을 설명하기 위한 흐름도이다.
도 41은 현재 블록과 시간적 이웃 블록이 다른 시점을 갖는 예를 나타낸 것이다.
도 42는 본 발명에 따른 부호화기의 구성을 도시한 블록도이다.
도 43은 본 발명에 따른 복호화기의 구성을 도시한 블록도이다.
도 44는 본 발명에 따른 참조 영상 확장부의 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다. 후술하는 예시적 실시예들에 대한 상세한 설명은, 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 실시예를 실시할 수 있기에 충분하도록 상세히 설명된다. 다양한 실시예들은 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 실시예의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 예시적 실시예들의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다.
본 발명에서 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 발명의 어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다거나 "직접 접속되어"있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
본 발명에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 발명에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 즉, 본 발명에서 특정 구성을 "포함"한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.
본 발명의 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.
본 발명에서 설명하는 시점은, 카메라의 방향 및 카메라의 원근법과 관련된 것으로, 시점 위치(Veiwpoint, 뷰포인트) 및 시점 방향(Perspective, 퍼스펙티브)을 통칭한다. 설명의 편의를 위해, 후술되는 실시예들에서는, 시점 방향(Perspective)을 중심으로 3차원 다시점 영상을 설명하기로 한다.
이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략하고, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
기존 2차원 비디오는 고정된 시점으로 비디오가 재생되었던 반면, 전방향 비디오(또는 360도 비디오)는 사용자가 원하는 시점으로 비디오를 재생할 수 있다. 전방향 비디오를 생성하기 위해, 도 1에 도시된 다양한 종류의 카메라가 이용될 수 있다. 도 1의 (a)에 도시된 여러대의 카메라를 이용하거나, 도 1의 (b)에 도시된 어안 렌즈를 이용하거나, 도 1의 (c)에 도시된 반사경 등을 이용하여, 한 지점으로부터 3차원 공간(예를 들어, 360도 방향)에 대해 촬영을 진행한 뒤, 촬영된 3차원 영상을 다면체 또는 구 등 입체 도형의 모습으로 투영시킬 수 있다.
전방향 비디오 외에도, 실감 미디어에는 여러대의 카메라가 다양한 방향의 영상을 담는 다이버전트(Divergent) 비디오 및 컨버전트(Convergent) 비디오 등을 포함할 수 있다. 다이버전트 비디오는 여러대의 카메라가 다양한 방향의 영상을 촬영함으로써 생성되는 영상을 의미하고, 컨버전트 비디오는 여러대의 카메라가 특정 방향의 영상을 촬영함으로써 생성되는 영상을 의미한다.
도 2 및 도 3은 각각 다이버전트 비디오 및 컨버전트 비디오를 설명하기 위한 도면이다. 다이버전트 영상은 복수 카메라의 촬영 방향이 퍼지는 형태를 띠면서 촬영된 영상을 의미한다. 일 예로, 도 2의 (a)에서, 카메라 C1, C2 및 C3의 촬영 방향 W1, W2 및 W3는 서로 확산되는 형태를 띠는 것으로 예시되었다.
컨버전트 영상은 복수 카메라의 촬영 방향이 어느 한 곳을 향해 수렴하는 형태를 띠면서 촬영된 영상을 의미한다. 일 예로, 도 3의 (a)에서, 카메라, C1, C2, C3 및 C4의 촬영 방향 W1, W2, W3 및 W4는 한 점을 향하는 것으로 예시되었다.
전방향 3D 비디오 또는 수렴 또는 발산형으로 배치된 카메라로 촬영한 3차원 다시점 비디오 등은 다면체의 전개도 또는 구를 펼친 등장방형(Equirectangular) 형태로 전개될 수 있다.
일 예로, 도 4의 (a) 및 (b) 는, 구 형태의 3차원 다시점 영상이, 정육면체의 전개도 형태로 전개된 예를 나타낸다. 도 4의 (a) 및 (b)를 참조하면, 전방향 3D 영상으로부터 정육면체 전개도 형태의 2차원 영상을 획득할 수 있다.
도 4에 도시된 예에 그치지 않고, 3차원 다시점 영상은 다양한 종류의 다면체의 전개도 형태로 전개될 수 있다. 일 예로, 도 5는 3차원 다시점 비디오의 2차원 전개 형태를 예시한 도면이다. 도 5에 도시된 예에서와 같이, 3차원 다시점 비디오는, 정사면체, 정육면체, 정팔면체, 정십이면체 또는 정이십면체 등 다양한 입체 도형의 전개도 형태로 투영될 수 있다.
비디오가 재생되는 경우, 2차원으로 전개된 영상은 다시 다면체 또는 구 등 3차원 공간에 재구성될 수 있다. 일 예로, 3차원 비디오는 도 6에 도시된 예에서와 같이, 정사면체, 정육면체, 정팔면체, 정십이면체 또는 정이십면체 등의 형태로 재구성될 수 있다.
사용자의 시선이 다면체의 중심에 놓여있다고 가정하였을 때, 다면체 형태로 재구성된 3차원 영상의 전 영역을 한번에 보는 것은 불가능하다. 이에 따라, 3D 다시점 비디오가 재생되면, 3차원으로 구성된 전체 영역 중 특정 시간대에 사용자가 바라보는 특정 지점 또는 사용자에 의해 선택된 특정 지점에 대응하는 영역만이 표시된다.
도 7은 3D 다시점 비디오의 일부가 디스플레이되는 예를 설명하기 위한 도면이다. 도 7의 (a) 및 (b)는 외부에서 3D 다시점 영상을 감상하는 사용자를 바라보았을 때를 가상으로 도시한 도면이고, 도 7의 (c)는 3D 다시점 영상을 시청하는 사용자를 중심으로 전방향 영상을 도시한 개념도이다.
3D 다시점 비디오 재생 시, 3차원으로 재구성된 영상의 전체 영역 중 사용자의 시점이 향하거나 사용자에 의해 선택된 일부분이 재생될 수 있다. 일 예로, 도 7의 (a) 및 (b)에서 빗금친 영역은 3차원으로 재구성된 영상 중 사용자 시점이 향하는 부분 또는 사용자에 의해 선택된 부분을 나타낸 것이다. 이 경우, 다시점 영상 중 사용자의 시점이 향하는 부분 또는 사용자에 의해 선택된 부분에 대응하는 영역이 출력될 수 있다. 일 예로, 사용자를 기준으로 보았을 때, 3D 영상은 도 7의 (c)에 도시된 예에서와 같이, 전체 영역 중 일부분만이 디스플레이될 수 있다.
이때, 3D 다시점 영상은 복수의 시점을 가질 수 있다. 여기서, 복수의 시점이란, 다시점 영상이 복수의 시점 위치(Veiwpoint, 뷰포인트) 또는 복수의 시점 방향(Perspective, 퍼스펙티브)을 갖는다는 것을 의미한다. 도면을 참조하여 이에 대해 보다 상세히 설명한다.
도 8은 정육면체로 전개된 3차원 비디오를 재생했을 때의 양상을 예시한 도면이다. 3차원 비디오를 감상하는 사용자의 눈은 정육면체의 중심에 있을 것이고, 각 면은 눈이 바라보는 퍼스펙티브(Perspective)가 된다. 예를 들어, 도 8에 도시된 예에서, 정육면체의 정면의 퍼스펙티브가 4, 위쪽의 퍼스펙티브를 1이라 가정하면, 퍼스펙티브 2는 정육면체의 뒤쪽, 퍼스펙티브 3은 정육면체의 왼쪽, 퍼스펙티브 5는 정육면체의 오른쪽, 퍼스펙티브 6은 정육면체의 아래쪽에 해당할 것이다. 이에 따라, 도 8에 도시된 바와 같이, 3차원 영상을 구성하는 육면체의 각 면은 서로 다른 시점을 가질 수 있다.
다이버전트 영상의 경우, 각 카메라의 촬영 방향이 달라, 이로 인해 영상 간 퍼스펙티브 차이가 발생할 수 있다. 일 예로, 도 2의 (b)에 도시된 예에서, 3개의 카메라(C1, C2, C3)가 서로 다른 방향을 촬영함에 따라, 서로 다른 시점을 갖는 3개의 영상(P1, P2, P3)이 생성될 수 있다.
컨버전트 영상의 경우도, 각 카메라가 촬영한 영상이 서로 다른 퍼스펙티브를 가질 수 있다. 일 예로, 도 3의 (b)에 도시된 예에서, 4개의 카메라(C1, C2, C3, C4)가 서로 다른 방향을 촬영함에 따라, 서로 다른 시점을 갖는 4개의 영상(P1, P2, P3, P4)이 생성될 수 있다.
설명의 편의를 위해, 후술되는 실시예들에서, '영상'은, 다시점 비디오의 임의의 프레임 또는 임의 시점을 갖는 일부 영역을 의미하는 것으로 가정한다. 일 예로, 3D 다시점 비디오의 임의의 프레임이 도 8에 도시된 예에서와 같이 정육면체 형태로 전개되는 경우, 해당 프레임을 일컬어 '영상'이라 할 수도 있고, 상기 프레임 내 임의 시점을 갖는 일부 영역(즉, 정육면체의 일면)을 일컬어 '영상'이라 할 수도 있다.
상술한 바와 같이, 3D 다시점 비디오는 2차원 공간에 투영되어 부호화/복호화가 이루어질 수 있다. 이에 따라, 3차원 다시점 비디오의 부호화/복호화는 2D 비디오의 부호화/복호화와 동일한 방법으로 이루어질 수 있다. 일 예로, 2D 비디오의 부호화/복호화에 이용되는 블록 분할, 화면 내 예측(또는 공간적 예측, Intra Prediction) 및 화면 간 예측(또는, 시간적 예측, Inter Prediction)에 기초한 부호화/복호화 방법이 3D 다시점 비디오의 부호화/복호화에도 이용될 수 있다. 이하, 3D 다시점 비디오의 부호화/복호화에 이용될 수 있는 부호화/복호화 기술을 간략히 설명하기로 한다.
HEVC에서는 영상을 효율적으로 부호화하기 위해, 부호화 유닛(Coding Unit, CU) 단위로 부호화/복호화를 수행한다. 도 9는 영상을 부호화할 때 코딩 트리 유닛(Coding Tree Unit, CTU)를 CU 단위로 분할하는 예를 나타낸 도면이다. CTU는 LCU(Largest Coding Unit)으로 호칭되거나 이와 동등한 개념일 수 있다.
도 9에 도시된 예에서와 같이, 영상을 CTU 단위로 순차적으로 분할한 뒤, CTU 단위로 분할 구조를 결정한다. 여기서, 분할 구조는 CTU 내 영상을 효율적으로 부호화/복호화하기 위한 CU의 분포를 의미한다. CU의 분포는, CTU를, CTU 가로 및/또는 세로 길이 대비 이보다 작은 가로 및/또는 세로 길이를 갖는 복수의 CU로 분할할 것인지 여부에 기초하여 결정될 수 있다. 일 예로, CU의 분포는 CTU를 4개 또는 2개의 CU로 분할한 형태를 띨 수 있다.
분할된 CU는 이와 동일한 방식으로, 다시 가로 및/또는 세로 길이가 감소한 복수의 CU로 재귀적으로 분할될 수 있다. 이때, CU의 분할은 미리 정의된 깊이까지 분할될 수 있는데, 이때, 깊이 정보(Depth)는 CU의 크기를 나타내고 모든 CU에 대해 저장될 수 있다. 일 예로, 기본 분할 대상인 CTU의 깊이는 0이고, SCU(Smallest Coding Unit)의 최대 깊이의 CU를 나타낸다. 즉, 미리 정의된 깊이의 CU를 SCU라 호칭할 수 있다. CTU로부터 4개 또는 2개의 CU로 분할할 때 마다 깊이값이 1씩 증가할 수 있다.
CU가 4개의 CU로 분할되는 것으로 가정할 경우, 2Nx2N의 크기를 갖는 CU에 대해, 분할이 수행되지 않는다면, CU의 크기는 2Nx2N를 유지할 것이다. 이와 달리, 2Nx2N의 크기를 갖는 CU에 대해, 분할이 수행되었다면, 그 결과 NxN 크기를 갖는 4개의 CU가 생성될 것이다. 이처럼, N의 크기는 CU의 분할 깊이가 1씩 증가할 때마다 절반으로 감소하게 된다.
일 예로, 최소 깊이가 0인 CTU의 크기가 64x64 화소인 경우, 64x64 화소 CU는 깊이 '0', 32x32 화소 CU는 깊이 '1', 16x16 화소 CU는 깊이 '2', 8x8 CU는 깊이 '3'으로 표현될 수 있다. 만약, 최대 깊이가 3이라면, SCU의 크기는 8x8 화소가 될 것이다.
특정 CU를 분할할 것인지 여부에 대한 정보는 CU별 분할 정보를 통해 표현할 수 있다. 분할 정보는 SCU를 제외한 모든 CU에 대해 부호화/시그널링될 수 있다.
이때, 분할 정보는 적어도 하나 이상의 플래그 정보를 포함할 수 있다. 플래그 정보는, CU가 4개 또는 2개의 CU로 분할되는지 여부를 나타낸다. 일 예로, 플래그가 '0'인 것은 CU가 더 이상 분할되지 않음을 나타내고, 플래그가 '1'인 것은 CU가 복수의 CU로 분할됨을 나타낸다.
CU는 부호화/복호화 단위이고, CU 단위로 부호화 모드가 설정될 수 있다. 일 예로, 각 CU는 화면 내 부호화(MODE_INTRA 혹은 INTRA라고 할 수도 있음) 모드 또는 화면 간 부호화 (MODE_INTER 혹은 INTER라고 할 수도 있음) 모드를 가질 수 있다. 이때, 화면간 부호화 모드는 MODE_INTER 모드와 MODE_SKIP (SKIP이라고 할 수도 있음) 모드를 포함할 수 있다.
예측 유닛(Prediction Unit, PU)는 예측이 수행되는 단위를 의미한다. 하나의 CU는 적어도 하나 이상의 PU로 분할될 수 있다. 일 예로, 도 10은 CU가 PU로 분할되는 예를 설명하기 위한 도면이다. CU의 부호화 모드가 화면 내 부호화 모드인 경우, 해당 CU에 포함된 PU들은 모두 화면 내 부호화 모드로 부호화될 수 있다. 이때, CU의 부호화 모드가 화면 내 부호화 모드인 경우, PU의 분할 구조는 도 10에 도시된 예 중 2Nx2N 또는 NxN 중 어느 하나로 설정될 수 있다.
CU의 부호화 모드가 화면 간 부호화 모드인 경우, 해당 CU에 포함된 PU들은 모두 화면 간 부호화 모드로 부호화될 수 있다. 이때, CU의 부호화 모드가 화면 간 부호화 모드인 경우, PU의 분할 구조는 도 10에 도시된, 2Nx2N, 2NxN, Nx2N, NxN, 2NxnU, 2NxnD, nLx2N 또는 nRx2N 중 어느 하나로 설정될 수 있다.
화면 간 예측(또는 시간적 예측)은, 근접한 시간 차이를 갖는 영상 간의 상관관계가 높음을 기초로, 참조 영상으로부터 현재 영상을 예측하는 방법을 의미한다.
도 11은 화면 간 예측 방법을 설명하기 위한 도면이다.
도 11에서 (a)는 현재 영상을 예측하기 위해 이용되는 참조 영상(Reference Frame)을 나타내고, (b)는 부호화/복호화 대상 블록을 포함하는 현재 영상(Current Frame)을 나타낸다. 현재 영상에 포함된 부호화/복호화 대상 블록 'B'를 예측하는데 있어서, 참조 영상에 포함된 블록 'A'를 이용할 수 있다면, 현재 영상의 블록 B에 대한 영상 정보를 모두 부호화할 필요는 없다. 이에 따라, 시간적 예측을 이용할 경우, 영상 블록별 부호화할 정보량을 크게 줄일 수 있어, 영상 압축의 효율을 높일 수 있게 된다.
PU가 화면 간 예측을 통해 부호화된 부호화된 경우(즉, 화면 간 부호화 모드인 경우), 움직임 정보의 부호화/복호화 방법으로 병합 움직임(merge) 모드가 이용될 수 있다. 여기서, 움직임 정보는, 움직임 벡터, 참조 영상에 대한 인덱스 및 예측 방향(예를 들어, 단방향 또는 양방향 등) 중 적어도 하나를 포함할 수 있다. 예측 방향은 참조 픽처 목록(Reference Picture List, RefPicList)의 사용 여부에 따라 단방향 예측 또는 복수 방향 예측(예를 들어, 양방향 또는 삼방향 예측 등)으로 설정될 수 있다.
일 예로, 2개의 참조 픽처 목록(List 0, List 1)이 존재한다고 가정할 경우, 단방향 예측은 순방향 참조 픽처 목록(List 0)를 사용한 순방향 예측(Pred_L0, Prediction L0)와 역방향 참조 픽처 목록(List 1)을 사용한 역방향 예측(Pred_L1, Prediction L1)으로 구분될 수 있다. 양방향 예측(Pred_BI, Prediction BI)은 순방향 참조 픽처 목록(List 0)과 역방향 참조 픽처 목록(List 1)을 모두 사용할 수 있다. 이에 따라, 양방향 예측은 순방향 예측과 양방향 예측이 모두 존재하는 경우를 의미할 수 있다.
다른 예로, 순방향 참조 픽처 목록(List 0)를 역방향 참조 픽처 목록(List 1)에 복사하여, 두개의 순방향 예측을 수행하는 것도 양방향 예측에 포함될 수 있고, 역방향 참조 픽처 목록(List 1)을 순방향 참조 픽처 목록(List 0)에 복사하여, 두개의 역방향 예측을 수행하는 것도 양방향 예측에 포함될 수 있다.
위와 같은 예측 방향은 예측 방향을 지시하는 플래그 정보(예를 들어, predFlagL0, predFlagL1)에 의해 지시될 수 있다. predFlagL0은 순방향 참조 픽처 목록(List 0)를 이용한 순방향 예측의 수행 여부를 나타내고, predFlagL1은 역방향 참조 픽처 목록(List 1)을 이용한 역방향 예측의 수행 여부를 나타낼 수 있다. 일 예로, 단방향 예측 중 순방향 예측에 대해서, predFlagL0는 '1'이 되고, predFlagL1은 '0'이 될 수 있다. 단방향 예측 중 역방향 예측에 대해서, predFlagL0는 '0'이 되고, predFlagL1은 '1'이 될 수 있다. 양방향 예측에 대해서, predFlagL0는 '1'이 되고, predFlagL1은 '1'이 될 수 있다.
병합 움직임 모드 하에서, 부호화 유닛(CU) 단위의 병합 움직임 또는 예측 유닛(PU) 단위 병합 움직임이 수행될 수 있다. CU 또는 PU 단위 등 소정의 블록 단위로 병합 움직임이 수행되는 경우, 블록 파티션(Partition) 별로 병합 움직임이 수행될 것인지 여부에 관한 정보와 블록에 인접한 주변 블록 중 어떤 블록과 병합 움직임을 수행할 것인지 여부에 대한 정보가 부호화/시그널링 될 수 있다. 여기서, 주변 블록은, 현재 블록(예를 들어, 부호화/복호화 대상이 되는 CU 또는 PU)에 공간적으로 이웃한 블록 또는 시간적으로 이웃한 블록을 포함할 수 있다.
여기서, 현재 블록에 공간적으로 이웃한 블록이란, 현재 블록과 동일한 픽처에 속하면서, 현재 블록의 경계에 인접한 블록을 의미할 수 있다. 현재 블록에 공간적으로 이웃한 블록으로, 좌측 블록, 상단 블록, 우측 상단 블록, 좌측 상단 블록 및 우측 하단 블록 등이 포함될 수 있다.
현재 블록에 시간적으로 이웃한 블록이란, 현재 블록과 시간적 순서가 다른 픽처에 속하면서, 현재 블록과 동 위치를 갖는 블록(Collocated block)을 의미할 수 있다.
병합 움직임 후보 리스트는 움직임 정보들이 저장된 리스트를 나타낸다. 병합 움직임 후보 리스트는 현재 블록에 인접한 주변 블록의 움직임 정보에 기초하여, 병합 움직임이 수행되기 전에 생성될 수 있다. 또한, 병합 움직임 후보 리스트는 이미 병합 움직임 후보 리스트에 존재하는 움직임 정보들을 조합함으로써 생성된 새로운 움직임 정보를 포함할 수도 있다.
도 12는 병합 움직임 후보 리스트가 생성되는 예를 나타낸 도면이다. 병합 움직임 후보 리스트는 현재 블록에 공간적으로 이웃하는 주변 블록(일 예로, 도 12의 A, B, C, D, E) 및 현재 블록과 다른 픽처에 속하면서, 현재 블록과 동일 위치에 속하는 블록(일 예로, 도 12의 M 및 H) 중 적어도 하나에 기초하여 생성될 수 있다.
일 예로, 현재 블록의 주변 블록에 대하여, 해당 블록의 이용 정보가 현재 블록의 병합 움직임에 이용될 수 있는지 여부를 판단한다. 이용 가능한 경우, 해당 블록의 움직임 정보는 병합 움직임 후보 리스트에 포함될 수 있다. 이때, 현재 블록(도 8의 X)에 대한 병합 움직임 후보 리스트는 소정의 순서로 병합 움직임 후보 리스트에 포함될 수 있다. 여기서, 소정의 순서는, A→B→C→D→E→H(혹은 M) 일 수 있으나, 이에 한정되는 것은 아니다.
소정의 순서에 따라 병합 움직임 후보 리스트를 생성함에 있어서, 주변 블록의 움직임 정보가 다른 주변 블록과 동일한 경우, 해당 주변 블록의 움직임 정보는 병합 움직임 후보 리스트에 포함되지 않는다.
일 예로, 도 12에 도시된 예에서, 주변 블록 A가 병합 움직임 후보 리스트에 포함된 경우, 주변 블록 B는 주변 블록 A와 동일한 움직임 정보를 갖지 않는 경우에만 병합 움직임 후보 리스트에 포함될 수 있다. 동일한 방법으로, 주변 블록 C는 주변 블록 B와 동일한 움직임 정보가 아닌 경우에만 병합 움직임 후보 리스트에 포함될 수 있다. 주변 블록 D 및 주변 블록 E에 대해서도 동일한 원리가 적용될 수 있다. 여기서, 동일한 움직임 정보는, 움직임 벡터, 참조 픽처 및 예측 방향(예를 들어, 단방향(정방향 또는 역방향) 또는 양방향)이 동일한 것을 의미한다.
단, 3D 다시점 비디오의 경우, 시점 차에 의해, 시점 경계에서 화면 간 예측 또는 화면 내 예측을 이용한 압축 효율이 떨어지는 문제점이 있다. 이에 대해 상세히 살펴보기로 한다.
도 13은 정육면체 형태의 3차원 비디오의 특정 프레임을 실제 재생하였을 때의 모습을 예시한 것이다. 도 13의 (a)는 정육면체 전개도 형태로 투영된 특정 프레임을 나타낸 것이고, 도 13의 (b)는 특정 프레임이 재생될 때의 예를 나타낸 도면이다.
도 13의 (a) 및 (b)에서 육면을 나누는 경계선은, 시점 간의 경계 부분을 표시한 것이다. 도 13의 (b)에 도시된 예에서와 같이, 3차원 영상을 재생하는 경우, 시점간 경계에서 영상이 매끄럽게 이어진다. 그러나, 3차원 영상이 2차원으로 투영되는 경우, 도 13의 (a)에 도시된 예에서와 같이 경계 부분에서 선이 급격히 꺾이는 등의 왜곡이 발생하는 것을 확인할 수 있다.
도 14는 각 면의 경계에서 비선형 왜곡이 발생하는 예를 보다 상세히 나타낸 도면이다. 도 14에서는, 정육면체 형태의 3차원 비디오가 여섯개의 면(P1~P6)으로 구성된 것으로 도시되었다. 이때, 각각의 면은 서로 다른 시점을 갖는다.
촬영된 영상 내 사물의 형태는 각 면의 시점에 따라 다르게 표현된다. 이에 따라, 특정 물체가 서로 다른 시점을 갖는 두 면의 경계에 연속적으로 표현되는 경우, 해당 물체에 대한 비선형적 움직임이 발생할 수 있다. 일 예로, 도 14의 (b)에 도시된 예에서는, P3면 및 P4면, P4면 및 P1면 사이에서 비선형적 움직임이 발생하는 것을 도시하였다.
도 13 및 도 14에 도시된 예에서와 같이, 시점 경계에서는 비선형적 왜곡이 발생하기 때문에, 블록 간 예측 정보의 상관성이 현저히 떨어질 것을 예상할 수 있다. 이에 따라, 시점 경계에 위치한 블록 간 예측 정보의 상관성이 현저히 떨어질 것이라 예상된다. 여기서, 예측 정보는, 화면 간 예측에서 이용되는 움직임 정보(예를 들어, 움직임 벡터, 참조 픽처 인덱스 또는 예측 방향 등) 또는 화면 내 예측에서 사용되는 예측 방향(예를 들어, 인트라 예측 모드 등) 등을 포함한다.
그 결과 특정 시점을 갖는 영역에 포함된 블록의 시간적 예측을, 특정 시점과 다른 시점을 갖는 영역에 포함된 블록을 이용하여 수행한다면, 특정 시점을 갖는 영역에 포함된 블록을 이용하는 것에 비해 부호화/복호화 효율이 현저히 감소할 것을 예상할 수 있다.
위처럼, 시간적 참조 영상을 이용하여, 현재 영상을 예측하는 것이 적합하지 않을 경우, 인트라 블록 코딩 또는 인트라 예측(Intra Prediction)(또는 공간적 예측)을 사용할 수도 있는데, 시간적 예측 대신 공간적 예측을 사용하게 됨에 따라, 압축 효율이 떨어지는 문제점이 발생하게 된다.
인트라 예측을 사용한다고 하여도, 이웃 블록과의 상관성이 적어 인트라 예측 모드를 이웃 블록으로부터 유도하기 어렵다.
이에, 본 발명에서는, 경계에 인접한 경계 블록들의 예측 효율 저하에 따른 문제점을 해소하기 위해, 시점이 다른 블록 경계에서 나타나는 비선형 움직임을 선형적으로 수정하는 방법 및 시점이 다른 이웃 블록의 예측 정보를 변환하는 방법을 제안하고자 한다. 일 예로, 도 14의 (c)에서는 P1면 및 P4면의 경계에서 나타나는 비선형 왜곡 및 P3면 및 P4면의 경계에서 나타나는 비선형 왜곡이 선형적으로 수정된 예를 도시하였다.
먼저, 도 14의 (c)에 도시된 예에서와 같이, 시점 경계에서 나타나는 비선형 왜곡을 선형적으로 변경하는 방법에 대해 살펴보기로 한다.
도 15는 이웃 영역의 시점을 변환하여 참조 영상을 생성하는 예를 설명하기 위한 도면이다.
위치상 연속된 시점이 존재하는 경우, 영상 내 시점이 바뀌는 경계 부분에서는 시간적 예측의 효율이 저하될 수 있다. 이는 예측을 위해 사용되는 참조 영상 내 참조 영역이 이웃 영역의 정보를 포함하지 않기 때문이다. 참조 영역이 이웃 영역에 대한 정보를 포함하더라도, 현재 블록과 시점이 달라, 참조 영상으로 사용하기 부적합하다.
일 예로, 도 15에 도시된 예에서, 현재 영상의 일부 영역(C1)을 복원하는데, 이웃 영역의 정보를 포함하지 않는 영역(즉, P1)만을 사용하는 경우, 현재 영상(C1)을 완벽히 복원하기 어렵다. 현재 영상을 복원하는데, 이웃 영역의 정보를 포함하는 영역(즉, P1과 P2를 합한 O)을 이용한다 하더라도, 현재 영상과 새롭게 확장된 P2 영역 사이의 시점이 달라, 현재 영상(C1)을 완벽하기 복원하기 어렵다.
이에, 참조 영역과 시점이 다른 이웃 영역을 변환한 뒤, 참조 영역과 변환된 이웃 영역을 합하여 변환된 확장 영역을 포함하는 참조 영상을 생성함으로써, 시간적 예측시 부호화 효율 향상을 도모할 수 있다.
구체적으로, 도 15의 (a)에 도시된 예에서와 같이, 참조 영역과 이웃 영역간에는 경계면에서의 시점 변화에 의해 이미지가 왜곡될 수 있다. 그러나, 도 15의 (b)에 도시된 예에서와 같이, 이웃 영역을 참조 영역의 시점에 맞춰 변환할 경우, 경계면에서의 왜곡이 줄어들게 된다. 이에 따라, 도 15의 (b)에 도시된 예에서와 같이, 참조 영역과 시점이 다른 이웃 영역을 변환한 영상(TR)을 생성한 뒤, 참조 영역(P1)과 변환된 이웃 영역(TR)을 합쳐 획득된 변환 확장 영상(P1과 TR을 합한 R)을 이용하여 현재 영상(C1)을 예측하는 경우 예측 정확성을 보다 높일 수 있다.
변환 확장 영상을 획득하기 위해, 크게 다음의 단계들이 수행될 수 있다.
제1 단계. 영상간의 방향 및 거리 관계 산출
제2 단계. 영상간의 관계식을 이용하여 각 시점에서의 변환 영상 생성
제3 단계. 기존 참조 영상의 시점 위치에 맞게 변환 영상을 참조 영상에 확장
제4 단계. 변환 확장된 영상을 참조 영상 리스트에 삽입
제1 단계는 영상의 특징 (예를 들어, 정육면체 영상의 고유 속성) 또는 영상 데이터 외 추가 데이터(예를 들어, 다이버전트 영상의 경우 각 영상의 시야각, 시점 간의 각도 차이 및 거리 차이 등)을 통하여 영상간의 방향 및 거리 관계를 산출하는 단계에서, 영상 간의 방향 및 거리 관계는 도 15의 (a)에서 θ 및 d로 예시되어 있다.
제2 단계는 첫번째 단계에서 산출한 영상간 방향 및 거리 차이에 기초하여 이웃 영상의 변환 영상을 생성하는 단계이다. 본 단계에서, 참조 영상의 확장 영역인 이웃 영상이 참조 영상의 시점에 맞게 수정될 수 있다. 여기서, 참조 영상의 시점에 맞게 이웃 영상을 수정한다는 것은, 이웃 영상을 참조 영상과 같은 시점 공간에 있도록 변환하는 것을 의미한다.
제3 단계는 변환 영상과 참조 영상을 기초로 변환 확장 영상을 생성하는 단계이다. 구체적으로, 변환 영상이 참조 영상과 연속되도록, 변환 영상 및 참조 영상을 합함으로써, 변환 확장 영상을 생성할 수 있다.
제4 단계는 생성된 변환 확장 영상을 참조 영상 리스트에 저장하는 단계이다. 변환 확장 영상을 참조 영상 리스트에 저장함으로써, 복호화/부호화 대상 영상의 시간적 예측을 위해 이용할 수 있다.
위와 같이 변환 영상 및 참조 영상을 합하여 시간적 예측에 적합한 영상을 생성함으로써, 전방향 비디오의 부호화/복호화 효율을 향상시킬 수 있다. 도 16의 흐름도를 통해 상술한 단계들에 대해 보다 상세히 살펴보기로 한다.
도 16은 본 발명에 따른 변환 확장 영상을 생성하는 과정을 나타낸 흐름도이다.
도 16을 참조하면, 먼저, 시점이 다른 영상들이 공간적으로 연속하여 존재하는지 여부를 판단할 수 있다(S1610). 시점이 다른 영상들이 공간적으로 연속하여 존재하는지 여부는 영상에 부가되는 데이터(예를 들어, 메타 데이터) 또는 다시점 영상의 특성(예를 들어, 다면체의 전개도는 고정된 개수의 시점을 가짐)을 통해 확인할 수 있다. 일 예로, 영상이 다면체 전개도로 투영되는 경우, 시점이 다른 영상들이 공간적으로 연속하여 존재하는 것이라 판단될 수 있다.
시점이 다른 영상들이 공간적으로 연속하여 존재하는 경우, 시점이 다른 영상 간 시점 차이를 획득할 수 있다(S1620). 여기서, 시점 차이는 각도 차이 및 위치 차이 중 적어도 하나를 포함할 수 있다. 각도는 3차원 공간에 표시하기 위한 오일러 각 또는 그 부분집합을 의미하고, 위치는 3차원 공간 위치좌표 또는 그 부분집합을 의미한다.
다면체로 투영되는 3D 다시점 영상의 경우, 시점이 다른 영상 간 각도 차이는 고정된 값을 가질 수 있다. 아울러, 다면체로 투영되는 3D 다시점 영상의 경우 시점이 다른 영상들이 경계에서 연속되기 때문에, 위치 차이(또는 거리 차이)는 0으로 설정될 수 있다.
도 17 및 도 18은 시점 간 특성을 설명하기 위해 예시한 도면이다. 시점 간 특성은 시점이 다른 영상 간 시점 차이에 기초하여 획득될 수 있다. 시점 차이는, 시점이 다른 영상 간 각도 차이 및 위치 차이 중 적어도 하나를 포함할 수 있다. 여기서, 각도는 3차원 공간에 표시하기 위한 오일러 각 또는 그 부분집합을 의미하고, 위치는 3차원 공간 위치좌표 또는 그 부분집합을 의미한다.
도 17의 (a)에 도시된 예에서와 같이 3D 다시점 영상이 다면체로 전개되는 경우, 시점 차이는 시점이 다른 면 간의 각도 차이 및 위치 차이를 의미할 수 있다. 이때, 다면체로 투영되는 영상의 경우, 퍼스펙티브가 다른 면들의 각도 차이가 고정된 값을 가질 수 있다. 일 예로, 도 17의 (a)와 같이, 3D 다시점 영상이 정육면체에 투영되는 경우, 시점이 다른 두 면(P1, P2) 간의 각도 차이는 90도, 도 17의 (b)에 도시된 예에서와 같이, 3D 다시점 영상이 정십이면체에 투영되는 경우, 두 영상(P3, P4) 간의 각도 차이는 138도 11분으로 고정될 수 있다.
도 17의 (a) 및 (b)에 도시된 예에서와 같이, 시점이 서로 다른 두면은 공간상 연속적으로 위치하는바, 두 영상의 거리 차이는 0으로 설정될 수 있다.
3D 다시점 영상이 구를 펼친 모양이거나, 다면체의 전개도로 투영되지 않는 경우, 각도 차이 및 거리 차이는, 카메라들의 위치, 카메라들의 시야각, 카메라간 각도 등을 기초로 획득되는 영상 간 각도 차이 및 영상 간 위치 차이를 나타낸다. 일 예로, 도 17의 (c)에 도시된 예에서와 같이, 3D 다시점 영상이 구 형태이거나, 도 18에 도시된 예에서와 같이, 3D 다시점 영상이 다면체의 전개도 형태로 전개되지 않는 경우, 카메라들(C1, C2)의 위치, 카메라들의 위치 차이(d1), 카메라들의 각도(θ1, θ2) 및 카메라들의 각도 차이(θ3) 등에 기초하여 영상 간 위치 차이(d2) 및 각도 차이(θ4)를 획득할 수 있다.
위처럼, 3D 다시점 비디오가 구 또는 비다면체 형태를 띠거나, 영상들의 배치에 있어 일정한 규칙이 존재하지 않는 경우, 카메라들의 위치, 카메라들의 시야각, 카메라간 각도 등을 통해 시점이 다른 영상 간 시점 차이가 산출될 수 있다.
시점이 다른 영상 간 시점 차이가 산출되면, 산출된 시점 차이를 기준으로, 시점이 다른 영상들을 동일한 시점으로 변환할 수 있다(S1630). 일 예로, 시점이 다른 두 영상에 대해, 두 영상 중 어느 하나를 다른 영상의 시점에 맞춰 변환하는 과정이 수행될 수 있다.
도 19는 타 영상의 시점에 맞춰 영상이 변환되는 예를 설명하기 위한 도면이다.
도 19의 (a)는 3D 다시점 비디오가 정육면체의 전개도로 펼쳐진 예를 도시한 것이고, 도 19의 (b)는 정육면체의 상단부(예를 들어, P1) 또는 하단부(예를 들어, P6)로부터 정육면체를 바라보았을 때의 평면도를 예시한 도면이다.
3D 다시점 영상을 2D로 투영한 것이, 도 19의 (a)에 도시된 예에서와 같이, 정육면체의 전개도 형태라 가정할 경우, 현재 영상의 P4면에 포함된 블록을, 참조 영상의 P4면에 포함된 참조 영역을 통해 예측하게 된다면, 시점 차이가 발생하지 않게 된다. 그러나, 현재 영상의 P4 면에 포함된 블록을 참조 영상의 P3면에 포함된 참조 영역을 이용하여 예측한다면, P4면 및 P3면 사이의 시점차로 인해 예측의 효율성이 떨어지는 문제점이 발생할 수 있다. 이에 따라, P3면에 포함된 참조 영역을 기초로 P4면에 포함된 블록을 예측하는 경우를 가정하여, 참조 영상 저장 시, P3면을 P4면에 시점에 맞춰 변환한 참조 영상을 생성할 필요가 있다.
이를 위해, 도 19의 (b)에 도시된 예에서, P3면에 포함된 위치 x를 P4면과 같은 시점을 갖는 위치 y에 투영하는 등의 과정을 거쳐, P3면의 변환이 이루어질 수 있다. 이때, P3 면과 P4 면의 시점 차이는 간략히 다음 수학식 1에 의해 간략화될 수도 있다.
수학식 1
Figure PCTKR2016013571-appb-M000001
상기 수학식 1에서, a는 정육면체의 한 변의 길이를 나타낸다.
P3면을 P4면의 시점에 맞춰 변환한 참조 영상을 이용할 경우, 참조 영상의 P3면이 현재 영상의 P4면과 동일한 시점을 갖는 바, 참조 영상의 P3면을 이용하여 현재 영상의 P4면을 예측할 때의 예측 효율 저하를 피할 수 있다.
공간적으로 이웃하는 시점이 다른 영상이 추가 존재하는 경우, 위 원리에 따라 이웃 영상의 변환이 추가적으로 수행될 수 있다(S1640).
특정 영상의 시점을 기준으로 이웃 영상들이 변환되었을 때, 특정 영상과 적어도 하나 이상의 변환된 이웃 영상을 합쳐, 참조 영상을 생성할 수 있다(S1650).
일 예로, 3D 다시점 영상이 정육면체 전개도 형태로 투영되는 경우, 정육면체의 특정 면과 이웃하는 복수의 이웃 면을 특정 면의 시점에 맞춰 변환하고, 특정 면과 변환된 복수의 이웃 면을 합하여 참조 영상이 생성될 수 있다.
일 예로, 도 20 및 도 21는 정육면체의 특정 면을 기준으로 참조 영상을 생성하는 예를 도시한 도면이다. 도 20의 (a)를 참조하면, P4 면을 기준으로 보았을 때, P4 면은, P1, P3, P5 및 P6 면과 이웃하고 있다. 이에 따라, P4 면의 시점에 맞춰, P1, P3, P5 및 P6면을 변환하여, T1, T3, T5 및 T6를 생성하고, P4면과 생성된 변환 영상 T1, T3, T5, T6를 합함으로써 참조 영상을 생성할 수 있다.
이때, P4면과 이웃하는 이웃 면의 전체 영역이 변환 대상으로 설정될 수도 있으나, 부호화기에서 설정한 일부 영역(예를 들어, 검색 범위(Search Range)) 만이 변환 대상으로 설정될 수도 있다.
도 20의 (b)는, 이웃 면의 전체 영역이 변환 대상인 경우 참조 영상이 생성되는 예를 나타낸 도면이고, 도 20의 (c)는, 이웃 면의 일부 영역이 변환 대상인 경우 참조 영상이 생성되는 예를 나타낸 도면이다.
전체 또는 그 일부가 변환된 영상은 시점의 기준이 되는 영상에 맞춰 그 위치가 결정된다. 다면체로 투영되는 영상의 경우, 다면체 특성에 맞춰 변환 영상의 위치가 결정된다. 변환 영상은 그 위치에 맞춰 시점의 기준이 되는 영상과 합쳐질 수 있다.
일 예로, 도 21의 (a)에 도시된 (a) 및 (b)에 도시된 예에서, T1, T3, T5 및 T6 영상의 위치는 시점의 기준이 되는 영상 P4에 맞춰 상대적으로 위치가 결정된다. 즉, 각각의 변환 영상 T1, T3, T5 및 T6는, P4의 시점에 맞춰 투영된 위치에서 P4와 합쳐지게 된다.
도 21의 (c) 및 (d)는, P4와 변환 영상 T1, T3, T5 및 T6가 합쳐져 생성된 참조 영상 R4를 예시한 도면이다. 도 21의 (c)는 이웃 영상의 변환 가능한 전체 영역이 P4의 시점에 맞춰 투영된 경우를 예시한 도면이고, 도 21의 (d)는 이웃 영상의 일부 영역의 P4의 시점에 맞춰 투영된 경우를 예시한 도면이다.
3D 다시점 영상이 다이버전트 영상인 경우 참조 영상을 생성하는 방법에 대해 살펴본다.
다면체로 투영되는 3D 다시점 영상과 마찬가지로, 다이버전트 영상도 시점이 다른 영상간 각도 차이 및 위치 차이를 기초로 변환이 수행될 수 있다. 단, 다이버전트 영상은 다면체 형태의 3D 다시점 영상과는 달리, 시점이 다른 영상들의 배치에 기 정의된 규칙이 없으므로, 영상의 특성만으로, 시점이 다른 영상 간 시점 차이(즉, 각도 차이 및 거리 차이)를 결정하기 어렵다. 이에 따라, 다이버전트 영상의 시점 차이는 영상에 부가되는 추가 데이터(예를 들어, 메타 데이터)를 통해 부호화/시그널링될 수 있다. 추가 데이터를 통해 시점이 다른 영상 간 시점 차이가 획득되면, 앞서 설명한 것과 동일한 방식으로 시점이 다른 영상 간 변환이 수행되고, 변환 결과를 이용하여 참조 영상이 생성될 수 있다.
일 예로, 도 22는 다이버전트 영상에 대한 참조 영상을 생성하는 예를 도시한 도면이다. 도 22의 (a)에서는, P1 영상과 시점이 다른 P2 영상이 존재하는 것으로 도시되었다. P1을 기준으로 참조 영상을 생성하는 경우, P2의 전체 영역 또는 일부 영역을 P1의 시점에 맞춰 변환하고, 변환된 영상을 P1과 합쳐 참조 영상을 생성할 수 있다. 도 22의 (b)은, P2의 전체 영역을 변환함으로써 생성된 T2 및 P1을 합쳐 참조 영상이 생성되는 예를 나타낸 것이고, 도 21의 (c)는 P2의 일부 영역(예를 들어, 검색 범위(search range))을 변환함으로써 생성된 T'2 및 P1을 합쳐 참조 영상이 생성되는 예를 나타낸 것이다.
다이버전트 영상의 경우, 시점의 기준이 되는 영상을 중심으로 변환 영상의 위치가 결정될 수 있다. 이때, 변환 영상의 위치는 각 영상의 위치 정보를 기초로 결정될 수 있다. 변환 영상의 위치가 결정되면, 시점의 기준이 되는 영상과 변환 영상을 합하여 참조 영상이 생성될 수 있다.
일 예로, 도 23은 시점의 기준이 되는 영상과 변환 영상을 합쳐 참조 영상을 생성하는 예를 나타낸 도면이다. 도 23에 도시된 예에서, P2 영상을 변환함으로써 생성된 T2는, 다이버전트의 기준이 되는 영상 P1을 중심으로 오른쪽에 위치하는 것으로 예시되었다. 이에 따라, P1 영상의 우측에 변환 영상 T2의 적어도 일부를 생성함으로써, 참조 영상 R1을 생성할 수 있다.
다음으로, 3D 다시점 영상이 컨버전트 영상인 경우 참조 영상을 생성하는 방법에 대해 살펴본다.
컨버전트 영상은, 다면체로 투영되는 영상 혹은 다이버전트 영상과는 달리, 각 영상이 특정 방향을 향하는 시점을 갖는다. 이에 따라, 컨버전트 영상의 하나의 프레임에는, 특정 영상을 기준으로, 특정 영상과 공간상 연속되면서 특정 영상과 동일한 방향을 향해 확장된 영상이 복수개 존재할 수 있다. 이에 따라, 컨버전트 영상의 참조 영상을 생성할 시, 특정 영상과 동위치에 존재하면서 변환이 가능한 이웃 영상들이 복수개 존재할 수 있다. 이에 따라, 컨버전트 영상의 참조 영상은, 특정 영상 및 특정 영상과 동위치에 존재하는 복수의 이웃 영상들 중 적어도 하나 이상을 변환함으로써 생성된 변환 영상에 기초하여 생성될 수 있다.
컨버전트 영상과 같이 시점이 다른 영상들의 공간상 위치 차이가 크지 않을 경우, 특정 영상과 이웃하는 이웃 영상을 변환함으로써 생성된 변환 영상은 다음의 양상을 띨 수 있다.
첫번째 양상은, 특정 영상의 시점에 맞춰 변환된 이웃 영상이 특정 영상과 중첩되지 않는 영역을 충분히 포함하고 있는 경우이다. 바꿔 말하면, 특정 영역에 부가되는 확장 영역(즉, 변환된 이웃 영상 중 특정 영상과 중첩되지 않는 부분)이 필수 정보(예를 들어, 시간적 예측에 필요한 영역)를 포함하는 경우이다. 이 때에는, 앞서 다면체 혹은 다이버전트 영상에서 참조 영상을 생성하는 것과 동일한 방법이 적용될 수 있다.
두번째 양상은, 특정 영상의 시점에 맞춰 변환된 이웃 영상이 특정 영상과 대부분 중첩되는 경우이다. 바꿔 말하면, 특정 영역에 부가되는 확장 영역이 충분한 추가 정보(예를 들어, 시간적 예측에 필요한 영역)을 포함하지 않는 경우이다. 특정 영역에 부가되는 확장 영역이 충분한 추가 정보를 포함하지 않는다면, 시간적 예측에 참조 영상을 사용하기 어렵다.
도 24를 참조하여, 각 양상에 대해 보다 상세히 살펴보기로 한다.
도 24는 변환 영상이 시간적 예측에 필수적인 영역을 포함하는지 여부를 예시한 도면이다.
설명의 편의를 위해, 컨버전트 영상은 도 24의 (a)에 도시된 예에서와 같이, 복수의 영상(P1, P2, P3, ...PN)을 포함하는 것으로 가정한다. 도 24의 (b)는 P1 영상에 이웃하는 P2 영상을 P1 영상의 시점에 맞춰 변환하는 예를 도시한 도면이다. 도 24의 (b)에 도시된 예에서와 같이, P1 영상에 이웃하는 적어도 하나의 영상을 P1 영상의 시점에 맞춰 변환함으로써, P1 영상에 대한 참조 영상을 생성할 수 있다. 이때, 변환된 이웃 영상들은 P1 영상과의 중첩 정도에 따라 필수 영역을 온전히 포함할 수도 있고, 필수 영역을 온전히 포함하지 못할 수도 있다. 일 예로, 도 24의 (c)에서는, P2 영상으로부터 변환된 영상 T2는 필수 영역(예를 들어, 검색 범위(Search Range))보다 작은 영역을 포함하나, P3 영상으로부터 변환된 영상 T3는 필수 영역을 포함하는 것으로 예시되었다.
도 24의 (c)에 도시된 T2 영상과 같이, 변환된 영상이 필요한 최소한의 영역을 포함하지 않는다면, T2 영상을 기초로 생성된 참조 영상으로는 시간적 예측을 수행하기 어려울 수 있다. 이 경우, 변환된 이웃 영역의 픽셀값을 이용하여, 시간적 예측을 수행하는데 모자란 영역을 패딩함으로써, 참조 영상을 확장할 수 있다. 즉, 시간적 예측에 이용하기 위해 필수적으로 포함되어야 하는 영역 중 이웃 영상의 변환분으로부터 획득할 수 없는 영역을 변환된 이웃 영역의 엣지 샘플을 이용하여 패딩할 수 있다.
도 25는 컨버전트 영상에 대한 참조 영상을 생성하는 예를 도시한 도면이다. 도 25의 (c)에 도시된 변환 영상 T2를 통해 설명한 바와 같이, P2 영상에 대해 P1과 중첩되는 부분을 제외한 잔여 영역이 충분히 넓지 않은 경우, P2를 변환한 영상 T2 역시 시간적 예측에 사용하기 위한 필수 영역을 포함하지 않게 될 수 있다. 이 경우, 도 25의 (a) 및 (b)에 도시된 예에서와 같이, T2 영상의 엣지 샘플을 이용하여, 예측에 이용하기 위해 필요한 영역을 패딩할 수 있다.
도 25의 (a)는 P2 영상을 오른쪽으로 변환 확장 시, 오른쪽 엣지 샘플을 이용하여 잔여 영역을 패딩하는 예를 나타낸 것이고, 도 25의 (b)는 P2 영상을 위쪽으로 변환 확장 시, 위쪽 엣지 샘플을 이용하여 잔여 영역을 패딩하는 예를 나타낸 것이다.
도 25에서는 컨버전트 영상을 예로 들어 설명하였으나, 컨버전트 영상뿐만 아니라, 전방향 영상 또는 다이버전트 영상 등에 있어서도 변환된 영상이 예측 이용에 필요한 영역을 충분히 포함하고 있지 않은 경우, 변환된 영상의 엣지 샘플을 이용하여 참조 영상을 확장할 수 있다.
컨버전트 영상의 경우, 시점의 기준이 되는 영상을 중심으로 변환 영상의 위치가 결정될 수 있다. 이때, 변환 영상의 위치는 각 영상의 위치 정보를 기초로 결정될 수 있다. 컨버전트 영상의 경우 동일 위치로 확장되는 여러 변환영상을 획득할 수 있으므로, 시점의 기준이 되는 영상과 각각의 변환 영상을 합쳐 적어도 하나 이상의 참조 영상을 생성할 수 있다.
일 예로, 도 26는 시점의 기준이 되는 영상과 변환 영상을 합쳐 참조 영상을 생성하는 예를 나타낸 도면이다. 도 26에 도시된 예에서, P2 영상을 변환함으로써 생성된 T2와 P1 영상을 합쳐 참조 영상 R1을 생성하고, P3 영상을 변환함으로써 생성된 T3와 P1 영상을 합쳐 참조 영상 R2를 생성할 수 있다. 이와 같은 방식으로, P1 영상을 기준으로, N개의 변환 영상에 대해 N-1개의 변환 영상이 생성될 수 있다.
참조 영상이 생성되면, 참조 영상은 참조 영상 리스트에 저장될 수 있다(S1660). 아울러, 공간적으로 연속하는 시점이 다른 영상이 존재하지 않는 경우(S1610), 현재 영상을 참조 영상으로 참조 픽처 리스트에 저장할 수 있다(S1660).
생성된 참조 영상을 참조 영상 리스트에 저장하는 경우, 참조 영상은 동일한 시간대를 기준으로 그룹화되어 저장될 수 있다.
도 27은 정육면체 형태로 전개되는 3D 다시점 영상에 대한 참조 영상 리스트가 생성되는 예를 도시한 도면이다.
3D 다시점 영상이 정육면체로 전개되는 경우, 특정 시간대, 특정 시점의 영상을 기준으로 하나의 참조 영상이 생성될 수 있다. 이때, 특정 시간대에 시점의 기준이 될 수 있는 영상은 총 6개(즉, 정육면체의 각 면)이므로, 특정 시간대에 최대 6개의 참조 영상이 생성될 수 있다. 이 경우, 6개의 참조 영상은, 시간대를 기준으로 그룹화되어 저장될 수 있다.
일 예로, t0 시간대의 전방위 영상에 대해, 총 6개의 참조 영상(P1의 시점을 기준으로 생성된 참조 영상 R1, P2의 시점을 기준으로 생성된 참조 영상 R2,...P6의 시점을 기준으로 생성된 참조 영상 R6)이 생성될 수 있다. t0 시간대를 기준으로 생성된 참조 영상은 하나의 그룹으로 그룹화되어 저장될 수 있다. 이와 마찬가지로, t1, t2, ...tN 등 참조 영상 리스트는 소정 시간대를 기준으로 그룹화되어 리스트에 저장될 수 있다.
도 28은 다이버전트 영상에 대한 참조 영상 리스트가 생성되는 예를 도시한 도면이다.
다이버전트 영상의 경우, 특정 시간대, 특정 시점의 영상을 기준으로 하나의 참조 영상이 생성될 수 있다. 시점의 기준이 되는 영상의 수는 다이버전트 영상을 촬영하는 카메라 수에 의해 결정되므로, 특정 시간대에 카메라 수만큼의 참조 영상이 생성될 수 있다. 다면체로 전개되는 전방위 영상과 마찬가지로, 복수의 참조 영상은 시간대별로 그룹화되어 저장될 수 있다.
일 예로, t0 시간대의 다이버전트 영상에 대해, 총 3개의 참조 영상(P1의 시점을 기준으로 생성된 참조 영상 R1, P2의 시점을 기준으로 생성된 참조 영상 R2 및 P3의 시점을 기준으로 생성된 참조 영상 R3)이 생성되었다고 가정하였을 경우, t0 시간대를 기준으로 생성된 3개의 참조 영상이 하나의 그룹으로 그룹화되어 저장될 수 있다. 이와 마찬가지로, t1, t2, ...tN 등 참조 영상 리스트는 소정 시간대를 기준으로 그룹화되어 리스트에 저장될 수 있다.
도 29는 컨버전트 영상에 대한 참조 영상 리스트가 생성되는 예를 도시한 도면이다.
컨버전트 영상의 경우, 특정 시간대, 특정 시점의 영상을 기준으로 적어도 하나 이상의 참조 영상이 생성될 수 있다. 일 예로, 시점의 기준이 되는 영상이 P1 영상일 때, P1 영상 및 P2 영상에 기초하여 제1 참조 영상 R1을 생성하고, P1 영상 및 P3 영상에 기초하여 제2 참조 영상이 생성될 수 있다. 컨버전트 영상의 참조 영상도, 전방위 영상과 마찬가지로, 특정 시간대에 생성된 복수의 참조 영상이 그룹화되어 저장될 수 있다.
일 예로, t0 시간대의 컨버전트 영상에 대해, P1의 시점을 기준으로 생성된 N개의 참조 영상, P2의 시점을 기준으로 생성된 N개의 참조 영상, ... PN의 시점을 기준으로 생성된 N개의 참조 영상 등이 존재할 수 있다. 이 경우, t0 시간대를 기준으로 생성된 복수의 참조 영상이 하나의 그룹으로 그룹화되어 저장될 수 있다. 이와 마찬가지로, t1, t2, ...tN 등 참조 영상 리스트는 소정 시간대를 기준으로 그룹화되어 리스트에 저장될 수 있다.
도 27 내지 도 29에서는 복수의 참조 영상이 시간대를 기준으로 그룹화되어 저장되는 것으로 예시되었다. 도시된 예와 달리, 복수의 참조 영상은 시점 기준이 되는 영상을 기준으로 그룹화되어 저장될 수도 있다 할 것이다.
참조 영상을 선택하기 위해, 참조 영상을 선택하기 위한 정보가 부호화/시그널링될 수 있다. 이때, 참조 영상을 선택하기 위한 정보는 참조 영상이 포함된 시간에 대한 정보 또는 해당 시간대에 포함된 복수의 참조 영상 중 적어도 하나를 식별하기 위한 정보 중 적어도 하나를 포함할 수 있다.
도 27을 예로 들어, 참조 영상을 선택하기 위한 정보가 t0 시간 대의 P1의 시점을 기준으로 생성된 참조 영상을 가리키고 있다면, 해당 시간대의 해당 참조 영상이 시간적 예측을 위해 이용될 수 있을 것이다.
다른 예로, 특정 시간대에 포함된 복수의 참조 영상 중 어떤 것을 선택할 것인지는, 현재 부호화/복호화하고자 하는 영역의 위치를 기초로 선택될 수 있다. 예를 들어, 현재 부호화/복호화하고자 하는 영역이 정육면체의 P6 면에 포함되어 있다면, 부호화기 및 복호화기는 P6의 시점을 기준으로 생성된 참조 영상을 시간적 예측에 이용할 수 있다.
상술한 바와 같이, 공간적으로 이웃하는 영상 간 시점이 다를 경우, 영상의 경계를 기준으로 투영된 사물의 모양이 시점에 따라 달라지는 왜곡이 발생할 수 있다. 위와 같이, 영상 간 경계에서 왜곡으로 인한 부호화/복호화 효율을 저하하기 위해, 참조에 사용할 임의 시점 영상에 대해, 임의 영상(또는 영역)의 시점에 맞춰 이에 이웃하는 영상(또는 영역)을 변환과정을 거침으로써, 부호화/복호화 효율을 향상시킬 수 있다.
도 30은 본 발명에 따라 참조 영상을 생성하는 경우와 그렇지 않은 경우를 비교하기 위한 도면이다.
도 30의 (a)에 도시된 예에서와 같이, 이웃 영상을 변환하지 않은 채 시간적 예측을 사용한다면, 면의 경계에서 시점 차에 의한 왜곡이 발생하게 된다. 도 30의 (a)에서는 P6 면의 경계에서, 비선형적 왜곡이 발생하는 것이 도시되어 있다. 이에 따라, 특정 영상의 경계 부분을 기초로 시간적 예측을 수행하고자 하는 경우, 시점 차이로 인해 시간적 예측 효율이 감소하는 문제점이 발생할 수 있다.
그러나, 도 30의 (b)에 도시된 예에서와 같이, 이웃 영상을 변환하여, 참조 영상을 생성하고, 생성된 참조 영상을 기초로 시간적 예측을 사용한다면, 면의 경계에서의 왜곡을 현저히 줄일 수 있다. 도 30의 (b)에 도시된 예에서는 P6 면의 경계에 존재했던 비선형 변화가 선형적으로 변환된 것이 예시되었다. 이에 따라, 특정 영상의 경계 기분을 기초로 시간적 예측을 수행한다 하더라도, 시점 차이에 따른 왜곡이 적어 시간적 예측 효율을 향상시킬 수 있게 된다.
위처럼, 이웃 영상이 변환되지 않은 채 시간적 예측을 수행하는 경우, 영상의 부호화/복호화시 영상의 경계에 위치한 블록을 기초로 시간적 예측을 수행하기 어렵다. 이에 따라, 이웃 영상이 변환되지 않은 상태에서, 시점이 변화하는 경계에 인접한 경계 블록들은, 시간적 예측보다 공간적 예측을 통해 부호화되는 것이 일반적이다.
그러나, 본 발명에서 제안한 바와 같이, 이웃 영상을 변환하여 생성된 참조 영상을 기초로 시간적 예측을 수행하는 경우, 영상의 부호화/복호화시 영상의 경계에 위치한 블록을 기초로 시간적 예측을 수행할 수 있게 된다. 이에 따라, 시점이 변화하는 경계에 인접한 경계 블록들 역시 시간적 예측을 통해 부호화/복호화될 수 있어 영상 압축 효율이 높아질 수 있다.
일 예로, 도 31은 본 발명의 적용 여부에 따른 부호화 양상을 예시한 도면이다. 도 31의 (a)에 도시된 예에서와 같이, 본 발명이 적용되지 않은 상태에서, 시점이 변화하는 경계에 위치한 블록들은 일반적으로 인트라 예측을 통해 부호화된다. 그러나, 도 31의 (b)에 도시된 예에서와 같이, 본 발명이 적용된다면, 시점이 변화하는 경계에 위치한 블록들도 시간적 예측에 의해 부호화될 수 있다.
본 발명에 따르면, 예측에 이용될 영상을 확장할 것인지 여부는, 부호화 파라미터로 부호화되어, 비트스트림에 의해 시그널링될 수 있다. 일 예로, 예측에 이용될 영상을 확장할 것인지 여부는 1비트의 플래그에 의해 부호화 및 시그널링될 수 있다. 해당 플래그가 예측에 이용될 영상을 확장할 것임을 가리키는 경우, 특정 영상의 시점에 맞춰 이웃 영상을 변환한 뒤, 특정 영상과 이웃 영상을 합하여 참조 영상을 생성하는 방법이 적용될 수 있다. 반면, 해당 플래그가 예측에 이용될 영상을 확장할 것임을 가리키지 않는 경우, 시점에 기초한 변환 및 특정 영상을 확장하는 과정 등은 수행되지 않을 것이다.
이때, 예측에 이용될 영상을 확장할 것인지 여부는, 파라미터 세트, 픽처 단위, 슬라이스 단위 또는 부호화 대상 유닛 단위로 시그널링될 수 있다. 하기 표 1은 예측에 이용될 영상을 확장할 것인지 여부를 나타내는 정보가 VPS를 통해 시그널링되는 예를 나타낸 것이고, 표 2는 상기 정보가 SPS를 통해 시그널링되는 예를 나타낸 것이다.
표 1
seq_parameter_set_rbsp( ) { Descriptor
vps_video_parameter_set_id u(4)
vps_reserved_three_2bits u(2)
vps_max_layers_minus1 u(6)
perspective_reference_picture_enabled_flag u(1)
표 2
seq_parameter_set_rbsp( ) { Descriptor
sps_video_parameter_set_id u(4)
sps_max_sub_layers_minus1 u(3)
sps_temporal_id_nesting_flag u(1)
perspective_reference_picture_enabled_flag u(1)
상기 표 1 및 표 2에서, 'perspective_reference_picture_enabled_flag'는 예측에 이용될 영상을 확장할 것인지 여부를 타나낸다. 본 발명에서 제안하는 바와 같이, 영상에 이용될 영상을 확장하고자 하는 경우, 'perspective_reference_picture_enabled_flag'는 '1'로 설정되고, 영상에 이용될 영상을 확장하지 않기로 하는 경우, 'perspective_reference_picture_enabled_flag'는 '0'으로 설정될 수 있다. 또는, 영상에 이용될 영상을 확장할지 여부는 설명한 예와 반대의 값으로 설정될 수도 있다.
'perspective_reference_picture_enabled_flag'가 '1'인 경우, 참조 영상을 구성할 때 영상의 방향과 위치를 고려한 확장된 참조영상이 생성될 수 있다. 아울러, 확장된 참조 영상을 기초로 예측이 수행될 수 있다.
다음으로, 시점의 특징을 이용하여, 시점 경계 부분의 예측 정보를 변환하고, 변환된 예측 정보를 이용하여 블록 간 상관도를 높이는 방법에 대해 살펴보기로 한다.
도 32는 본 발명에 따른 예측 정보의 변환 방법을 나타낸 흐름도이고, 도 33은 시점(Perspective) 경계에서 예측 정보가 변환되는 예를 나타낸 도면이다. 도 33에 도시된 예에서, 빗금친 블록은 현재 부호화/복호화 대상 블록(예를 들어, CU 또는 PU 등)을 나타낸다. 아울러, 현재 블록에 이웃한 주변 블록 내 화살표는 예측 정보를 나타낸다. 이때, 실선의 화살표는 변환 전 예측 정보를 나타내고, 점선의 화살표는 변환 후 예측 정보를 나타낸다. 아울러, 블록간 굵은 선은 시점(Perspective) 간 경계를 나타낸다.
먼저, 현재 블록이 시점 간 경계에 위치하는 블록인지 여부를 결정한다(S3210). 여기서, 현재 블록이 시점 간 경계에 위치했다는 것은, 현재 블록이 시점 간 경계에 접하는 경우를 의미한다. 도 33의 (A)에서, 현재 블록은 시점 간 경계에 위치하지 않은 예가 도시되었고, (B) 내지 (F)에서는, 현재 블록이 시점 간 경계에 위치하는 예가 도시되었다.
현재 블록이 시점 간 경계에 위치하지 않는 경우, 현재 블록에 이웃하는 주변 블록의 예측 정보가 변환되지 않는다. 이와 달리, 현재 블록이 시점 간 경계에 위치하는 경우, 현재 블록의 시점과 다른 시점을 갖는 주변 블록의 예측 정보를 변환할 수 있다(S3220). 이때, 변환은 시점 간의 특성에 기초하여 수행될 수 있다.
여기서, 시점 간 특성은 시점이 다른 영상 간 시점 차이를 의미할 수 있다. 시점이 다른 영상 간 시점 차이에 대해서는 도 17 및 도 18을 통해 설명한 바 있으므로, 이에 대한 상세한 설명은 생략한다.
다시 도 32를 참조하면, 현재 블록의 예측은 주변 블록의 예측 정보를 이용하여, 수행될 수 있다(S3230). 이때, 주변 블록의 예측 정보는 현재 블록이 시점 간 경계에 위치하였는지 여부에 따라, 변환되지 않은 예측 정보일 수도 있고, 변환된 예측 정보일 수도 있다.
이하, 주변 블록의 예측 정보를 이용하여, 현재 블록에 대한 예측을 수행하는 예에 대해 보다 상세히 살펴보기로 한다.
도 34는 주변 블록의 예측 정보를 기초로, 화면 내 예측을 수행하기 위한 MPM (Most Probable Mode) 후보를 결정하는 과정을 설명하기 위한 흐름도이다. 여기서, 인트라 예측 정보는 주변 블록의 인트라 예측 모드(또는 MPM)을 포함할 수 있다.
현재 블록의 인트라 예측 모드를 획득하기 위해, 현재 블록에 이웃한 이웃 블록들의 인트라 예측 모드를 기초로 MPM 후보를 결정하고, 결정된 MPM 후보를 기초로 MPM 후보 리스트를 생성할 수 있다. 만약, 현재 블록의 인트라 예측 모드가 MPM 후보 리스트에 포함되어 있다면, 해당 MPM 후보를 지시하는 인덱스 정보가 부호화/시그널링될 수 있다. 이때, 현재 블록에 이웃한 이웃 블록은, 현재 블록의 좌측에 이웃하는 이웃 블록, 현재 블록의 상단에 이웃하는 이웃 블록 등을 포함할 수 있다. 이에 그치지 않고, 이웃 블록은, 현재 블록의 좌측 상단에 이웃하는 이웃 블록, 현재 블록의 우측 상단에 이웃하는 이웃 블록 또는 현재 블록의 좌측 하단에 이웃하는 이웃 블록 등도 포함할 수 있다.
설명의 편의를 위해, 후술되는 실시예들에서는, 현재 블록의 좌측에 이웃하는 좌측 이웃 블록 및 현재 블록의 상단에 이웃하는 상단 이웃 블록으로부터 현재 블록의 MPM 후보를 유도하는 것으로 가정한다.
후술되는 실시 예에서, 인트라 예측 모드의 변환은, 이웃 블록의 인트라 예측 모드가 방향성 모드인 경우에 한하여 수행될 수 있다. 이웃 블록의 인트라 예측 모드가 비방향성 모드(예를 들어, DC 또는 플래너 모드)인 경우에는 인트라 예측 모드의 변환 없이, MPM이 생성될 수 있다.
도 34를 참조하면, 먼저, 현재 블록의 좌측면이 시점 간 경계에 인접하는지 여부를 결정한다(S3410). 만약, 현재 블록의 좌측면이 시점 간 경계에 인접하는 경우라면, 시점 간 특성을 이용하여 현재 블록의 좌측에 이웃하는 좌측 이웃 블록의 인트라 예측 모드를 변환하여, 제1 MPM을 생성할 수 있다(S3420).
현재 블록의 좌측면이 시점 간 경계에 인접하지 않는 경우라면, 현재 블록의 좌측에 이웃하는 좌측 이웃 블록의 인트라 예측 모드를 그대로 제1 MPM으로 사용할 수 있다(S3430).
다음으로, 현재 블록의 상단면이 시점 간 경계에 인접하는지 여부를 결정한다(S3440). 만약, 현재 블록의 상단면이 시점 간 경계에 인접하는 경우라면, 시점 간 특성을 이용하여, 현재 블록의 상단에 이웃하는 상단 이웃 블록의 인트라 예측 모드를 변환하여, 제2 MPM을 생성할 수 있다(S3450).
현재 블록의 상단면이 시점 간 경계에 인접하지 않는 경우라면, 현재 블록의 상단에 이웃하는 상단 이웃 블록의 인트라 예측 모드를 그대로 제2 MPM으로 사용할 수 있다(S3460).
도 35 내지 도 37은, 현재 블록이 시점 경계에 위치하는지 여부에 따라 MPM 후보를 생성하는 예를 도시한 도면이다.
도 35를 참조하면, 현재 블록과 왼쪽 이웃 블록은 시점 간 경계(P1, P2)를 기준으로 인접 위치하는 것으로 도시되었다. 이 경우, P1 및 P2 시점 사이의 시점 차이에 기초하여, 왼쪽 블록의 인트라 예측 모드를 변환함으로써 제1 MPM을 생성할 수 있다.
현재 블록과 상단 이웃 블록 사이 시점 간 경계가 존재하지 않는 바, 상단 이웃 블록의 인트라 예측 모드를 기초로 제2 MPM을 생성할 수 있다.
도 36을 참조하면, 현재 블록과 왼쪽 이웃 블록 사이 시점 간 경계가 존재하지 않는 바, 왼쪽 이웃 블록의 인트라 예측 모드를 기초로 제1 MPM을 생성할 수 있다.
이와 달리, 현재 블록과 상단 이웃 블록은 시점 간 경계(P1, P2)를 기준으로 인접 위치하고 있다. 이에 따라, P1 및 P2 시점 사이의 시점 차이에 기초하여, 상단 이웃 블록의 인트라 예측 모드를 변환함으로써 제2 MPM을 생성할 수 있다.
도 37을 참조하면, 현재 블록과 왼쪽 이웃 블록은 시점 간 경계(P1, P2)를 기준으로 인접 위치하고 있다. 이에 따라, P1 및 P2 시점 사이의 시점 차이에 기초하여, 왼쪽 이웃 블록의 인트라 예측 모드를 변환함으로써 제1 MPM을 생성할 수 있다.
현재 블록과 상단 이웃 블록 역시 시점 간 경계(P2, P3)를 기준으로 인접 위치하고 있다. 이에 따라, P2 및 P3 시점 사이의 시점 차이에 기초하여, 상단 이웃 블록의 인트라 예측 모드를 변환함으로써 제2 MPM을 생성할 수 있다.
제1 MPM 및 제2 MPM이 생성되면, 제1 MPM 및 제2 MPM이 동일한지 여부를 확인한다(S3470). 제1 MPM 및 제2 MPM이 동일한 경우, 제1 MPM이 비 방향성 모드(즉, 인트라 예측 모드가 2보다 작은지 여부)를 판단한다(S3480). 제1 MPM이 비 방향성 모드인 경우, 기 정의된 N개의 MPM 후보를 생성할 수 있다(S3485). 여기서, N은 2, 3, 4 등 1 이상의 자연수를 의미할 수 있다. 일 예로, 제1 MPM이 비 방향성 모드(예컨대, DC 또는 PLANAR 모드)인 경우, 아래와 같이, 플래너, DC, 및 수직 방향 예측으로 고정된 3개의 MPM 후보가 생성될 수 있다.
MPM[0] = Intra_Planar
MPM[1] = Intra_DC
MPM[2] = Intra_Vertical (26)
제1 MPM이 방향성 모드인 경우, 제1 MPM을 MPM 후보로 추가하는 한편, 제1 MPM과 유사 방향을 갖는 N-1개의 MPM 후보를 생성할 수 있다(S3490). 여기서, 제1 MPM과 유사 방향을 갖는 MPM은, 제1 MPM에 k를 가산 또는 감산한 값을 가질 수 있다(이때, k는 1 이상의 자연수). 일 예로, 제1 MPM이 방향성 모드인 경우, 제1 MPM, 제1 MPM에 1을 감산한 인트라 예측 모드 및 왼쪽 이웃 블록의 인트라 예측 모드에 1을 가산한 인트라 예측 모드 등 3개의 MPM 후보가 생성될 수 있다.
MPM[0] = Left_Block_MPM
MPM[1] = Left_Block_MPM - 1
MPM[2] = Left_Block_MPM + 1
제1 MPM 및 제2 MPM이 동일하지 않은 경우, 제1 MPM 및 제2 MPM을 MPM 후보로 추가하는 한편, 기 정의된 인트라 예측 모드를 갖는 N-2개의 MPM 후보를 추가 생성할 수 있다(S3495). 이때, 추가 생성되는 MPM 후보의 개수는 하나 이상일 수 있다. 일 예로, 제1 MPM 및 제2 MPM이 다른 경우, 아래와 같이, 제1 MPM 및 제2 MPM을 MPM 후보로 생성하고, 플래너, DC 또는 수직 방향 모드로 설정되는 추가 MPM 후보가 생성될 수 있다. 추가 MPM 후보는 제1 MPM 및 제2 MPM과 동일한 값을 갖지 않도록 결정될 수 있다.
MPM[0] = Left_Block_MPM
MPM[1] = Above_Block_MPM
MPM[2] = Intra_Planar / Intra_DC / Intra_Vertical (26)
다음으로, 주변 블록의 예측 정보를 이용하여, 현재 블록에 대한 화면 간 예측을 수행하는 예에 대해 상세히 살펴보기로 한다.
도 38은 주변 블록의 예측 정보를 기초로, 병합 움직임 모드(Merge Mode) 하에서 화면 간 예측을 수행하기 위한 공간적 머지 후보를 결정하는 과정을 설명하기 위한 흐름도이다.
도 38을 참조하면, 먼저, 현재 블록에 공간적으로 이웃하는 이웃 블록이 현재 블록과 다른 시점을 갖는지 여부를 결정한다(S3810). 현재 블록과 공간적으로 이웃하는 이웃 블록이 다른 시점을 갖는 경우, 이웃 블록의 움직임 정보를 변환한다(S3820). 이때, 변환되는 움직임 정보는 움직임 벡터를 포함한다.
현재 블록과 이웃 블록이 시점 경계에 위치하지 않았다면, 이웃 블록의 움직임 정보는 변환되지 않는다.
이후, 현재 블록에 공간적으로 이웃하는 이웃 블록의 이용 가능성을 판단한다(S3830). 공간적 이웃 블록이 이용 가능한 상태라면, 공간적 이웃 블록의 움직임 정보 또는 변환된 움직임 정보를 병합 후보 리스트에 포함한다(S3840).
상기 움직임 리스트 포함 과정은(S3810-S3840), 현재 블록과 공간적으로 이웃하는 복수의 이웃 블록 각각에 대해 반복적으로 수행될 수 있다(S3850). 일 예로, 도 12를 통해 설명한 예에서와 같이, A→B→C→D→E 의 순서로 병합 움직임 후보 리스트가 생성되는 경우, 좌측 블록(A), 상단 블록(B), 상단 우측 블록(C), 좌측 하단 블록(D) 및 좌측 상단 블록(E)의 순서대로 상기 움직임 리스트 포함 과정이 수행될 수 있다.
다만, 좌측 상단 블록은, 잔여 공간적 이웃 블록들 중 적어도 하나가 화면 간 예측에 이용할 수 없는 경우에만, 움직임 리스트에 포함될 수 있다. 이에 따라, 좌측 상단 블록을 움직임 리스트에 포함하는 과정(S3810-S3840)은, 잔여 공간적 이웃 블록들 중 적어도 하나가 화면 간 예측에 이용할 수 없는 경우에만 수행될 수 있다.
도 39는 현재 블록과 공간적 이웃 블록이 다른 시점을 갖는 예를 나타낸 것이다.
도 39의 (a)를 참조하면, A 블록, D 블록, E 블록은 현재 블록과 다른 시점을 갖고, B 블록 및 C 블록은 현재 블록과 동일한 시점을 갖는 것으로 예시되었다. 이 경우, A 블록, D 블록 및 E 블록의 움직임 정보는 시점 P1 및 P2 간의 시점 차이에 기초하여 변환되고, B 블록 및 C 블록의 움직임 정보는 변환되지 않는다. 이후, A 블록, D 블록 및 E 블록의 변환된 움직임 정보와 B 블록 및 C 블록의 움직임 정보를 이용하여, A, B, C, D, E의 순서로 공간적 병합 후보 리스트를 구성할 수 있다.
도 39의 (b)를 참조하면, B 블록, C 블록, E 블록은 현재 블록과 다른 시점을 갖고, A 블록 및 D 블록은 현재 블록과 동일한 시점을 갖는 것으로 예시되었다. 이 경우, B 블록, C 블록 및 E 블록의 움직임 정보는 시점 P1 및 P2 간의 시점 차이에 기초하여 변환되고, A 블록 및 D 블록의 움직임 정보는 변환되지 않는다. 이후, B 블록, C 블록 및 E 블록의 변환된 움직임 정보와 A 블록 및 D 블록의 움직임 정보를 이용하여, A, B, C, D, E의 순서로 공간적 병합 후보 리스트를 구성할 수 있다.
이 외에도, 현재 블록이 공간적 이웃 블록과 다른 시점을 가질 수 있는 예가, 도 39의 (c) 내지 도 39의 (h)에 도시되어 있다. 현재 블록이 공간적 이웃 블록과 다른 시점을 갖는 경우, 현재 블록과 공간적 이웃 블록의 시점 차이에 기초하여 공간적 이웃 블록의 움직임 정보를 변환하고, 현재 블록이 공간적 이웃 블록과 동일한 시점을 갖는 경우 공간적 이웃 블록의 움직임 정보를 변환하지 않는 것은 이들 예에서도 동일하게 적용될 수 있다 할 것이다.
도 40은 주변 블록의 예측 정보를 기초로, 병합 움직임(merge) 모드 하에서 화면 간 예측을 수행하기 위한 시간적 머지 후보를 결정하는 과정을 설명하기 위한 흐름도이다. 여기서, 예측 정보는 주변 블록의 움직임 벡터를 포함할 수 있다.
시간적 머지 후보는, 현재 블록의 시간적 이웃 블록으로부터 유도될 수 있다. 이때, 시간적 이웃 블록은, 현재 블록이 포함된 현재 픽처와 다른 시간 순서를 갖는 콜로케이티드 픽처 내의 콜로케이티드(Collocated) 블록을 의미할 수 있다. 이때, 콜로케이티드 블록은 콜로케이티드 픽처 내 제1 블록의 이용 가능성에 따라 가변적으로 결정될 수 있다. 일 예로, 제1 블록이 화면 간 예측에 이용 가능한 경우에는, 제1 블록이 콜로케이티드 블록으로 결정되고, 제1 블록이 이용 불가능한 경우, 제1 블록과 다른 위치에 있는 제2 블록이 콜로케이티드 블록으로 결정될 수 있다. 여기서, 제1 블록 및 제2 블록은, 현재 블록의 좌측 하단 샘플의 좌표 값을 포함하는 블록 또는 현재 블록의 중심 픽셀값을 포함하는 블록 중 서로 다른 하나일 수 있다.
이하에서는, 설명의 편의를 위해, 제1 블록은 현재 블록의 좌측 하단 샘플의 좌표를 포함하는 블록이고, 제2 블록은 현재 블록의 중심 좌표를 포함하는 블록인 것으로 가정한다.
도 40을 참조하면, 먼저, 제1 블록의 시점이 현재 블록과 상이한지 여부를 결정한다(S4010). 제1 블록은 현재 블록과 시간적으로 이웃하는 바, 제1 블록의 시점과 현재 블록의 시점이 다르다면, 제1 블록은 현재 블록과 시점 경계에 위치한 것으로 판단될 수 있다. 제1 블록과 현재 블록의 시점이 상이한 경우, 제1 블록의 움직임 정보를 변환한다(S4020). 이때, 변환되는 움직임 정보는 움직임 벡터를 포함한다.
현재 블록과 제1 블록이 경계에 위치하지 않았다면, 제1 블록의 움직임 정보는 변환되지 않는다.
이후, 제1 블록의 이용 가능성을 판단한다(S4030). 제1 블록의 움직임 정보를 병합 후보로서 사용할 수 있다면, 제1 블록의 움직임 정보를 병합 후보 리스트에 추가할 수 있다(S4040).
이와 달리, 제1 블록이 이용 가능하지 않다면, 제2 블록의 이용 가능성을 판단한다(S4050). 제2 블록의 움직임 정보를 병합 후보로서 사용할 수 있다면, 제2 블록의 움직임 정보를 병합 후보 리스트에 추가할 수 있다(S4060).
제2 블록은 현재 블록의 중심 좌표를 포함하는 바, 현재 블록과 동일한 시점을 갖게 된다. 이에 따라, 제2 블록의 움직임 정보는 변환되지 않은 채 병합 후보 리스트에 추가될 수 있다.
도 41은 현재 블록과 시간적 이웃 블록이 다른 시점을 갖는 예를 나타낸 것이다.
도 41에 도시된 예에서, 현재 블록 X에 대해, 제1 블록은 H 블록에 대응하고, 제2 블록은 M 블록에 대응한다. 도 41의 (a) 내지 (c)를 참조하면, 현재 블록은 시점 P1을 갖는 반면, H 블록은 시점 P2를 갖는 것으로 예시되었다. 이 경우, H 블록의 움직임 정보는 시점 P1 및 P2 간의 시점 차이에 기초하여 변환될 수 있다.
M 블록의 경우 현재 블록 X와 상시 동일한 시점을 갖는 바, M 블록의 움직임 정보는 변환되지 않을 수 있다.
도 38 내지 도 41에서는, 현재 블록의 화면 간 예측 모드가 병합 움직임 모드인 경우를 가정하였다. 설명한 예에 그치지 않고, 현재 블록의 화면 간 예측 모드가 AMVP (Advanced Motion Vector Predictor) 모드인 경우에도, 도 38 내지 도 41을 통해 설명한 예측 정보의 변환 방법이 적용될 수 있다. 일 예로, 현재 블록에 공간적으로 이웃하는 공간적 이웃 블록 또는 현재 블록에 시간적으로 이웃하는 시간적 이웃 블록이 현재 블록과 다른 시점을 갖는다면, 해당 이웃 블록들의 움직임 벡터를 변환한 뒤, 변환된 움직임 벡터를 움직엠 벡터 예측 후보 리스트(MVP List)에 추가할 수 있다. 만약, 현재 블록의 공간적 이웃 블록 또는 시간적 이웃 블록이 현재 블록과 동일한 시점을 갖는다면, 해당 이웃 블록들의 움직임 벡터는 변환되지 않은 채 움직임 벡터 예측 후보 리스트에 포함될 수 있다.
본 발명에 따르면, 예측 정보를 변환하여 부호화할 것인지 여부를 가리키는 정보는, 부호화 파라미터로 부호화되어, 비트스트림에 의해 시그널링될 수 있다. 일 예로, 예측 정보를 변환할 것인지 여부에 대한 정보는, 1비트의 플래그로 부호화 및 시그널링될 수 있다. 해당 플래그가 예측 정보를 변환할 것임을 가리키는 경우, 현재 블록과 이웃 블록이 상이한 시점을 갖는지 여부에 따라 이웃 블록의 예측 정보를 변환하는 방법이 이용될 수 있다.
이때, 예측 정보를 변환할 것인지 여부는, 파라미터 세트, 픽처 단위, 슬라이스 단위 또는 부호화 대상 유닛(예를 들어, CU 또는 PU 등) 단위로 시그널링될 수 있다. 하기 표 3은 예측 정보를 변환할 것인지 여부를 나타내는 정보가 VPS를 통해 시그널링되는 예를 나타낸 것이고, 표 4는 상기 정보가 SPS를 통해 시그널링되는 예를 나타낸 것이다. 표 5는 상기 정보가 PU 단위로 시그널링되는 예를 나타낸 것이다.
표 3
video_parameter_set_rbsp( ) { Descriptor
vps_video_parameter_set_id u(4)
vps_reserved_three_2bits u(2)
vps_max_layers_minus1 u(6)
perspective_intra_pred_transform_enabled_flag u(1)
perspective_inter_pred_transform_enabled_flag u(1)
표 4
seq_parameter_set_rbsp( ) { Descriptor
sps_video_parameter_set_id u(4)
sps_max_sub_layers_minus1 u(3)
sps_temporal_id_nesting_flag u(1)
perspective_intra_pred_transform_enabled_flag u(1)
perspective_inter_pred_transform_enabled_flag u(1)
표 5
prediction_unit( x0, y0, nPbW, nPbH ) { Descriptor
if( cu_skip_flag[ x0 ][ y0 ] ) {
if( MaxNumMergeCand > 1 )
merge_idx[ x0 ][ y0 ] ae(v)
perspective_pred_transform_flag u(1)
상기 표 3 및 표 4에서 'perspective_intra_pred_transform_enabled_flag'는 화면 내 예측 모드가 적용되었을 때, 예측 정보를 변환할 것인지 여부를 나타내고, 'perspective_inter_pred_transform_enable_flag'는 화면 간 예측 모드가 적용되었을 때, 예측 정보를 변환할 것인지 여부를 나타낸다.
일 예로, 'perspective_intra_pred_transform_enabled_flag'의 값이 '1'인 것은 화면 내 예측 모드가 적용되었을 때, 예측 정보를 변환하는 방법이 적용됨을 나타내고, 'perspective_intra_pred_transform_enabled_flag'의 값이 '0'인 것은 화면 내 예측 모드가 적용되었을 때, 예측 정보를 변환하는 방법이 적용되지 않음을 나타낸다. 또는, 화면 내 예측이 적용되었을 때 예측 정보를 변환할 것인지 여부는 설명한 예와 반대의 값으로 설정될 수도 있다.
'perspective_inter_pred_transform_enable_flag'의 값이 '1'인 것은 화면 간 예측 모드가 적용되었을 때, 예측 정보를 변환하는 방법이 적용됨을 나타내고, 'perspective_inter_pred_transform_enable_flag'의 값이 '0'인 것은 화면 간 예측 모드가 적용되었을 때, 예측 정보를 변환하는 방법이 적용되지 않음을 나타낸다. 또는, 화면 간 예측이 적용되었을 때 예측 정보를 변환할 것인지 여부는 설명한 예와 반대의 값으로 설정될 수도 있다.
표 5에서, 'perspective_pred_transform_flag'는 PU의 예측 모드를 불문하고, 예측 정보를 변환하는 방법을 적용할 것인지 여부를 나타낸다.
일 예로, 'perspective_pred_transform_flag'의 값이 '1'인 것은 화면 내 예측 모드 또는 화면 간 예측 모드가 적용되었을 때, 예측 정보를 변환하는 방법이 적용됨을 나타내고, 'perspective_pred_transform_flag'의 값이 '0'인 것은 화면 내 예측 모드 또는 화면 간 예측 모드가 적용되었을 때, 예측 정보를 변환하는 방법이 적용되지 않음을 나타낸다. 또는, 예측 정보를 변환할 것인지 여부는 설명한 예와 반대의 값으로 설정될 수도 있다.
본 발명에 따른 부호화기 및 복호화기의 구성에 대해서는 도 42 및 도 43을 참조하여 상세히 설명하기로 한다.
도 42는 본 발명에 따른 부호화기의 구성을 도시한 블록도이다.
부호화기는 전방향 영상의 전개도, 컨버전트 카메라 영상 및 다이버전트 영상 등 3D 다시점 영상을 부호화하는 장치를 의미한다. 부호화기는 투영부(100), 화면 간 예측부(110), 화면 내 예측부(120), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 참조 영상 확장부(180), 예측 정보 변환부(185) 및 복원 픽처 버퍼(190)를 포함할 수 있다.
부호화기는 입력 영상에 대해 화면 내 예측 모드(또는 공간적 모드) 및/또는 화면 간 예측 모드(또는 시간적 모드)로 부호화를 수행할 수 있다. 또한, 부호화기는 입력 영상에 대한 부호화를 통해 비트스트림을 생성할 수 있고, 생성된 비트스트림을 출력할 수 있다. 예측 모드로 화면 내 예측 모드가 사용되는 경우 스위치는 화면 내 예측으로 전환될 수 있고, 예측 모드로 화면 간 예측 모드가 사용되는 경우 스위치는 화면 간 예측으로 전환될 수 있다. 여기서 화면 내 예측 모드는 인트라 예측 모드(즉, 공간적 예측 모드)를 의미할 수 있으며, 화면 간 예측 모드는 인터 예측 모드(즉, 시간적 예측 모드)를 의미할 수 있다.
부호화기는 입력 영상의 입력 블록에 대한 예측 신호를 생성할 수 있다. 블록 단위의 예측 신호는 예측 블록이라 칭해질 수 있다. 또한, 부호화기는 예측 블록이 생성된 후, 입력 블록 및 예측 블록의 차분(residual)을 부호화할 수 있다. 입력 영상은 현재 부호화의 대상인 현재 영상으로 칭해질 수 있다. 입력 블록은 현재 부호화의 대상인 현재 블록 혹은 부호화 대상 블록으로 칭해질 수 있다.
투영부(100)는 3D 다시점 영상을 등장방형 또는 다면체의 전개도 등 2차원 형태로 투영하는 역할을 수행한다. 이를 통해, 불규칙적인 각도와 위치를 갖는 여러 개의 영상이 다면체의 전개도에 맞는 2차원 영상으로 변환될 수 있다. 투영부는 카메라들의 위치 및 각도 등을 이용하여, 3D 다시점 영상을 2차원 영상으로 변환할 수도 있다.
예측 모드가 인트라 모드인 경우, 화면 내 예측부(120)는 현재 블록의 주변에 이미 부호화된 블록의 픽셀 값을 참조 화소로서 이용할 수 있다. 화면 내 예측부(120)는 참조 화소를 이용하여 공간적 예측을 수행할 수 있고, 공간적 예측을 통해 입력 블록에 대한 예측 샘플들을 생성할 수 있다.
이때, 현재 블록의 인트라 예측 모드는 현재 블록에 이웃하는 이웃 블록의 인트라 예측 모드를 기초로 결정될 수 있다. 만약, 현재 블록과 이웃 블록의 시점이 상이한 경우, 예측 정보 변환부(185)는, 이웃 블록의 인트라 예측 모드를 변환하고, 변환된 인트라 예측 모드에 기초하여, 현재 블록의 인트라 예측 모드를 결정할 수 있다.
예측 모드가 인터 모드인 경우, 화면 간 예측부(110)는, 움직임 예측 과정에서 참조 영상으로부터 입력 블록과 가장 매치가 잘 되는 영역을 검색할 수 있고, 검색된 영역을 이용하여 움직임 벡터를 도출할 수 있다. 참조 영상은 참조 픽처 버퍼(190)에 저장될 수 있다.
이때, 움직임 벡터를 도출하기 위한 이웃 블록이 현재 블록과 다른 시점을 갖는 경우, 예측 정보 변환부(185)는 이웃 블록의 움직임 벡터를 변환할 수 있다. 현재 블록의 움직임 벡터는 이웃 블록의 변환된 이웃 블록의 움직임 벡터에 기초하여 도출될 수 있다.
감산기는 입력 블록 및 예측 블록의 차분을 사용하여 잔여 블록(residual block)을 생성할 수 있다. 잔여 블록은 잔여 신호로 칭해질 수도 있다.
변환부(130)는 잔여 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 생성할 수 있고, 변환 계수를 출력할 수 있다. 여기서, 변환 계수는 잔여 블록에 대한 변환을 수행함으로써 생성된 계수 값일 수 있다. 변환 생략(transform skip) 모드가 적용되는 경우, 변환부(130)는 잔여 블록에 대한 변환을 생략할 수도 있다.
변환 계수에 양자화를 적용함으로써 양자화된 변환 계수 레벨(transform coefficient level)이 생성될 수 있다. 이하, 실시예들에서는 양자화된 변환 계수 레벨도 변환 계수로 칭해질 수 있다.
양자화부(140)는 변환 계수를 양자화 매개변수에 따라 양자화함으로써 양자화된 변환 계수 레벨(transform coefficient level)을 생성할 수 있고, 양자화된 변환 계수 레벨을 출력할 수 있다. 이때, 양자화부(140)에서는 양자화 행렬을 사용하여 변환 계수를 양자화할 수 있다.
엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터(Coding Parameter) 값들 등에 대하여 확률 분포에 따른 엔트로피 부호화를 수행함으로써 비트스트림(bitstream)을 생성할 수 있고, 비트스트림을 출력할 수 있다. 엔트로피 부호화부(150)는 영상의 픽셀의 정보 외에 영상의 복호화를 위한 정보에 대한 엔트로피 부호화를 수행할 수 있다. 예를 들면, 영상의 복호화를 위한 정보는 구문 요소(syntax element) 등을 포함할 수 있다.
부호화기가 인터 예측을 통한 부호화를 수행할 경우, 부호화된 현재 영상은 이후에 처리되는 다른 영상(들)에 대하여 참조 영상으로서 사용될 수 있다. 따라서, 부호화기는 부호화된 현재 영상을 다시 복호화할 수 있고, 복호화된 영상을 참조 영상으로 저장할 수 있다. 복호화를 위해 부호화된 현재 영상에 대한 역양자화 및 역변환이 처리될 수 있다.
양자화된 계수는 역양자화부(160)에서 역양자화(dequantization)될 수 있고. 역변환부(170)에서 역변환(inverse transform)될 수 있다. 역양자화 및 역변환된 계수는 가산기(175)를 통해 예측 블록과 합해질 수 있다. 역양자화 및 역변환을 통해 생성된 잔차 블록을 예측 블록과 합함으로써 복원 블록(reconstructed block) 이 생성될 수 있다.
도시되지는 않았지만, 복원 블록은 필터부를 거칠 수 있다. 필터부는 디블록킹 필터(deblocking filter), 샘플 적응적 오프셋(Sample Adaptive Offset; SAO), 적응적 루프 필터(Adaptive Loop Filter; ALF) 중 적어도 하나 이상을 복원 블록 또는 복원 영상에 적용할 수 있다. 필터부는 인루프 필터(in-loop filter)로 칭해질 수도 있다.
참조 영상 확장부(180)는 복원된 전방향 영상, 다이버전트 영상 또는 컨버전트 영상이 포함하는 영상 각각의 퍼스펙티브에 맞춰 참조 영상을 생성하는 역할을 수행한다. 참조 영상 확장부를 통해 생성된 참조 영상은 시간대별 또는 퍼스펙티브 별로 그룹화되어 참조 픽처 버퍼(190)에 저장될 수 있다. 참조 영상 확장부에 대해서는 도 44를 참조하여 보다 상세히 설명하기로 한다.
도 43은 본 발명에 따른 복호화기의 구성을 도시한 블록도이다.
도 43을 참조하면, 복호화기는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 화면 내 예측부(240), 화면 간 예측부(250), 참조 영상 확장부(260), 예측 정보 변환부(270) 및 참조 픽처 버퍼(280)를 포함할 수 있다.
복호화기는 부호화기에서 출력된 비트스트림을 수신할 수 있다. 복호화기는 비트스트림에 대하여 인트라 모드 또는 인터 모드로 복호화를 수행할 수 있다. 또한, 복호화기는 복호화를 통해 복원 영상을 생성할 수 있고, 복원 영상을 출력할 수 있다.
복호화에 사용되는 예측 모드가 인트라 모드인 경우 스위치가 인트라로 전환될 수 있다. 복호화에 사용되는 예측 모드가 인터 모드인 경우 스위치가 인터로 전환될 수 있다.
복호화기는 입력된 비트스트림으로부터 복원된 잔여 블록(reconstructed residual block)을 획득할 수 있고, 예측 블록을 생성할 수 있다. 복원된 잔여 블록 및 예측 블록이 획득되면, 복호화기는 복원된 잔여 블록과 및 예측 블록을 더함으로써 복호화 대상 블록인 복원 블록을 생성할 수 있다. 복호화 대상 블록은 현재 블록으로 칭해질 수 있다.
엔트로피 복호화부(210)는 비트스트림에 대한 확률 분포에 따른 엔트로피 복호화를 수행함으로써 심볼들을 생성할 수 있다. 생성된 심볼들은, 양자화된 변환 계수 레벨(transform coefficient level) 형태의 심볼 및 영상 데이터의 복호화를 위해 필요한 정보를 포함할 수 있다. 여기에서, 엔트로피 복호화 방법은 상술된 엔트로피 부호화 방법과 유사할 수 있다. 예를 들면, 엔트로피 복호화 방법은 상술된 엔트로피 부호화 방법의 역과정일 수 있다.
엔트로피 복호화부(210)는 변환 계수 레벨을 복호화하기 위해 변환 계수 스캐닝(Transform Coefficient Scanning) 방법을 통해 1차원의 벡터 형태 계수를 2차원의 블록 형태로 변경할 수 있다. 예를 들어, 업라이트(up right) 스캐닝을 이용하여 블록의 계수를 스캔함으로써 2차원 블록 형태로 변경시킬 수 있다. 변환 유닛의 크기 및 화면 내 예측 모드에 따라 업라이트 스캔 대신 수직 스캔, 수평 스캔이 사용될 수도 있다. 즉, 변환 유닛의 크기 및 화면 내 예측 모드에 따라 업라이트 스캔, 수직 방향 스캔 및 수평 방향 스캔 중 어떠한 스캔 방법이 사용될지 여부를 결정할 수 있다.
양자화된 변환 계수 레벨은 역양자화부(220)에서 역양자화될 수 있고, 역변환부(230)에서 주파수 영역에서 공간 영역으로 역변환될 수 있다. 양자화된 변환 계수 레벨이 역양자화 및 역변환 된 결과로서, 복원된 잔여 블록이 생성될 수 있다. 이때, 역양자화부(220)는 양자화된 변환 계수 레벨에 양자화 행렬을 적용할 수 있다.
인트라 모드가 사용되는 경우, 화면 내 예측부(240)는, 공간 영역에서, 복호화 대상 블록 주변의 이미 복호화된 블록의 픽셀 값을 이용하는 공간적 예측을 수행함으로써 예측 블록을 생성할 수 있다.
이때, 현재 블록의 인트라 예측 모드는 현재 블록에 이웃하는 이웃 블록의 인트라 예측 모드로부터 유도될 수 있다. 만약, 현재 블록과 이웃 블록의 시점이 상이한 경우, 예측 정보 변환부(180)는, 이웃 블록의 인트라 예측 모드를 변환하고, 변환된 인트라 예측 모드로부터 현재 블록의 인트라 예측 모드를 유도할 수 있다.
인터 모드가 사용되는 경우, 화면 간 예측부(250)는, 공간 영역에서, 움직임 벡터 및 참조 픽처 버퍼(280)에 저장되어 있는 참조 영상을 이용하는 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다. 상기 화면 간 예측부(250)는 움직임 벡터의 값이 정수 값을 가지지 않을 경우에 참조 영상 내의 일부 영역에 대해 보간 필터(Interpolation Filter)를 적용하여 예측 블록을 생성할 수 있다. 움직임 보상을 수행하기 위해 부호화 유닛을 기준으로 해당 부호화 유닛에 포함된 예측 유닛의 움직임 보상 방법이 스킵 모드(Skip Mode), 머지 모드(Merge 모드), AMVP 모드(AMVP Mode), 현재 픽쳐 참조 모드 중 어떠한 방법인지 여부를 판단할 수 있고, 각 모드에 따라 움직임 보상을 수행할 수 있다. 여기서, 현재 픽쳐 참조 모드는 복호화 대상 블록이 속한 현재 픽쳐 내의 기-복원된 영역을 이용한 예측 모드를 의미할 수 있다. 상기 기-복원된 영역은 복호화 대상 블록에 인접하지 않은 영역일 수 있다. 상기 기-복원된 영역을 특정하기 위해 현재 픽쳐 참조 모드를 위한 소정의 벡터가 이용될 수도 있다. 복호화 대상 블록이 현재 픽쳐 참조 모드로 부호화된 블록인지 여부를 나타내는 플래그 혹은 인덱스가 시그널링될 수도 있고, 복호화 대상 블록의 참조 영상 색인을 통해 유추될 수도 있다. 현재 픽쳐 참조 모드를 위한 현재 픽쳐는 복호화 대상 블록을 위한 참조 영상 리스트 내에서 고정된 위치(예를 들어, refIdx=0인 위치 또는 가장 마지막 위치)에 존재할 수 있다. 또는, 참조 영상 리스트 내에 가변적으로 위치할 수도 있으며, 이를 위해 현재 픽쳐의 위치를 나타내는 별도의 참조 영상 색인이 시그널링될 수도 있다.
머지 모드 또는 AMVP 모드 하에서, 현재 블록의 움직임 벡터는 현재 블록에 공간적 또는 시간적으로 이웃한 이웃 블록들의 움직임 벡터를 기초로 유도될 수 있다. 이때, 움직임 벡터를 도출하기 위한 이웃 블록이 현재 블록과 다른 시점을 갖는 경우, 예측 정보 변환부(270)는 이웃 블록의 움직임 벡터를 변환할 수 있다. 현재 블록의 움직임 벡터는 이웃 블록의 변환된 이웃 블록의 움직임 벡터에 기초하여 도출될 수 있다.
복원된 잔여 블록 및 예측 블록은 가산기를 통해 더해질 수 있다. 도시되지는 않았지만, 복원된 잔여 블록 및 예측 블록이 더해짐에 따라 생성된 블록은 필터부를 거칠 수 있다. 필터부는 디블록킹 필터, 샘플 적응적 오프셋 및 적응적 루프 필터 중 적어도 하나 이상을 복원 블록 또는 복원 영상에 적용할 수 있다.
참조 영상 확장부(260)는 복원된 전방향 영상, 다이버전트 영상 또는 컨버전트 영상이 포함하는 영상 각각의 시점에 맞춰 참조 영상을 생성하는 역할을 수행한다. 참조 영상 확장부를 통해 생성된 참조 영상은 시간대별 또는 시점별로 그룹화되어 참조 픽처 버퍼(270)에 저장될 수 있다. 참조 영상 확장부에 대해서는 도 44를 참조하여 보다 상세히 설명하기로 한다.
도 44는 본 발명에 따른 참조 영상 확장부의 블록도이다.
도 44를 참조하면, 참조 영상 확장부는, 변환부(310), 확장부(320) 및 참조영상 리스트 생성부(330)를 포함할 수 있다.
변환부(310)는 예측에 이용될 영상에 시간축이 동일하고 위치상 연속된 시점이 다른 영상이 존재하는지 여부를 확인하고, 존재하는 경우, 이를 예측으로 쓰일 영상의 시점에 맞춰 변환하는 역할을 수행한다. 일 예로, 정육면체의 전개도 형태의 2D 영상에 대해, 변환부는 시점이 다른 공간적으로 이웃하는 영상들 중 적어도 하나의 시점에 맞춰 다른 영상들을 변환하는 역할을 수행할 수 있다.
확장부(320)는 예측에 쓰일 영상과 변환부에서 변환된 영상을 합하는 역할을 수행한다. 즉, 확장부에 의해, 예측에 쓰일 영상(즉, 참조 영상)의 크기는 변환된 영상의 합산분 만큼 증가할 수 있다. 이때, 변환된 영상이 확장되는 위치는 영상의 특성 또는 영상의 위치에 기초하여 결정될 수 있다.
참조 영상 리스트 생성부(330)는 예측에 쓰일 영상과 변환된 영상을 합하여 생성된 참조 영상을 참조 영상 리스트에 추가하는 역할을 수행한다. 참조 영상은 시간축에 맞춰 참조 영상 리스트에 입력될 수 있다.
이상 설명된 본 발명에 따른 실시예들을 통해 기술된 구성요소들(components)은 DSP (Digital Signal Processor), 프로세서(processor), 제어부(controller), asic (Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array)와 같은 프로그램 가능 논리 요소(programmable logic element), 다른 전자기기 및 이들의 조합 중 적어도 하나에 의해 구현될 수 있다. 이상 설명된 본 발명에 따른 실시예들을 통해 설명된 적어도 하나의 기능 또는 프로세스들은 소프트웨어로 구현되고 소프트웨어는 기록 매체에 기록될 수 있다. 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. 본 발명의 실시예를 통해 설명된 구성 요소, 기능 및 프로세스 등은 하드웨어 및 소프트웨어의 조합을 통해 구현될 수도 있다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
본 발명은 영상을 부호화/복호화하는 것에 이용될 수 있다.

Claims (17)

  1. 제1 시점을 갖는 제1 영상과 다른 시점을 갖는 제2 영상이 존재하는 경우, 상기 제2 영상을 상기 제1 시점으로 변환하는 단계;
    상기 제1 영상의 일면에 상기 제2 영상을 부가하여 참조 영상을 생성하는 단계; 및
    상기 참조 영상을 참조 픽처 리스트에 저장하는 단계
    를 포함하는 영상 부호화 방법.
  2. 제1항에 있어서,
    상기 변환 영상은, 상기 제1 영상 및 상기 제2 영상 간의 시점 차이에 기초하여 생성되고,
    상기 시점 차이는, 상기 제1 영상 및 상기 제2 영상 간의 거리 차이 또는 각도 차이 중 적어도 하나를 포함하는 것을 특징으로 하는, 영상 부호화 방법.
  3. 제2항에 있어서,
    상기 시점 차이는, 상기 제1 영상 및 상기 제2 영상을 포함하는 전방향 영상의 특성에 기초하여 결정되는 것을 특징으로 하는, 영상 부호화 방법.
  4. 제3항에 있어서,
    상기 전방향 영상이 정다면체로 투영되는 경우, 상기 제1 영상 및 상기 제2 영상 간 각도 차이는 상기 정다면체의 내각으로 결정되는 것을 특징으로 하는, 영상 부호화 방법.
  5. 제2항에 있어서,
    상기 시점 차이는 상기 제1 영상을 촬영하는데 이용된 제1 카메라 및 상기 제2 영상을 촬영하는데 이용된 제2 카메라 사이의 거리 및 각도 차를 기초로 연산되는 것을 특징으로 하는, 영상 부호화 방법.
  6. 제1항에 있어서,
    상기 제2 영상이 부가될 위치는 상기 제1 영상 및 상기 제2 영상을 포함하는 정다면체의 특성에 따라 결정되는 것을 특징으로 하는, 영상 부호화 방법.
  7. 제1항에 있어서,
    상기 참조 픽처는 상기 제1 영상 및 상기 제2 영상에 대응하는 시간대 정보와 함께 상기 참조 픽처 리스트에 저장되는 것을 특징으로 하는, 영상 부호화 방법.
  8. 제1 시점을 갖는 제1 영상과 다른 시점을 갖는 제2 영상이 존재하는 경우, 상기 제2 영상을 상기 제1 시점으로 변환하는 단계;
    상기 제1 영상의 일면에 상기 제2 영상을 부가하여 참조 영상을 생성하는 단계; 및
    상기 참조 영상을 참조 픽처 리스트에 저장하는 단계
    를 포함하는 영상 복호화 방법.
  9. 제8항에 있어서,
    상기 변환 영상은, 상기 제1 영상 및 상기 제2 영상 간의 시점 차이에 기초하여 생성되고,
    상기 시점 차이는, 상기 제1 영상 및 상기 제2 영상 간의 거리 차이 또는 각도 차이 중 적어도 하나를 포함하는 것을 특징으로 하는, 영상 복호화 방법.
  10. 제9항에 있어서,
    상기 시점 차이는, 상기 제1 영상 및 상기 제2 영상을 포함하는 전방향 영상의 특성에 기초하여 결정되는 것을 특징으로 하는, 영상 복호화 방법.
  11. 제10항에 있어서,
    상기 전방향 영상이 정다면체로 투영되는 경우, 상기 제1 영상 및 상기 제2 영상 간 각도 차이는 상기 정다면체의 내각으로 결정되는 것을 특징으로 하는, 영상 복호화 방법.
  12. 제10에 있어서,
    상기 시점 차이는 상기 제1 영상을 촬영하는데 이용된 제1 카메라 및 상기 제2 영상을 촬영하는데 이용된 제2 카메라 사이의 거리 및 각도 차를 기초로 연산되는 것을 특징으로 하는, 영상 복호화 방법.
  13. 제8항에 있어서,
    상기 제2 영상이 부가될 위치는 상기 제1 영상 및 상기 제2 영상을 포함하는 정다면체의 특성에 따라 결정되는 것을 특징으로 하는, 영상 복호화 방법.
  14. 제8항에 있어서,
    상기 참조 픽처는 상기 제1 영상 및 상기 제2 영상에 대응하는 시간대 정보와 함께 상기 참조 픽처 리스트에 저장되는 것을 특징으로 하는, 영상 복호화 방법.
  15. 제14항에 있어서,
    현재 블록의 참조 픽처를 특정하는 참조 픽처 인덱스에 기초하여, 상기 참조 픽처 리스트로부터 적어도 하나의 참조 픽처를 선택하는 단계; 및
    상기 선택된 참조 픽처를 기초로 상기 현재 블록에 대한 화면 간 예측을 수행하는 단계
    를 포함하되,
    상기 참조 픽처 리스트는 상기 현재 블록의 참조 픽처에 대응하는 시간대 정보를 포함하는 것을 특징으로 하는, 영상 복호화 방법.
  16. 제1 시점을 갖는 제1 영상과 다른 시점을 갖는 제2 영상이 존재하는 경우, 상기 제2 영상을 상기 제1 시점으로 변환하는 변환부;
    상기 제1 영상의 일면에 상기 제2 영상을 부가하여 참조 영상을 생성하는 확장부; 및
    상기 참조 영상을 참조 픽처 리스트에 저장하는 참조 영상 리스트 생성부
    를 포함하는 영상 부호화 장치.
  17. 제1 시점을 갖는 제1 영상과 다른 시점을 갖는 제2 영상이 존재하는 경우, 상기 제2 영상을 상기 제1 시점으로 변환하는 변환부;
    상기 제1 영상의 일면에 상기 제2 영상을 부가하여 참조 영상을 생성하는 확장부; 및
    상기 참조 영상을 참조 픽처 리스트에 저장하는 참조 영상 리스트 생성부
    를 포함하는 영상 복호화 장치.
PCT/KR2016/013571 2015-11-23 2016-11-23 다시점 비디오의 부호화/복호화 방법 WO2017090988A1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US15/775,502 US10701396B2 (en) 2015-11-23 2016-11-23 Multi-viewpoint video encoding/decoding method
CN201680068220.5A CN108293110B (zh) 2015-11-23 2016-11-23 多视点视频编码/解码方法
CN202210691231.6A CN115243040A (zh) 2015-11-23 2016-11-23 视频编码/解码方法和记录介质
EP16868884.4A EP3383039A4 (en) 2015-11-23 2016-11-23 METHOD FOR MULTIPLE VIEW POINT VIDEO ENCODING / DECODING
JP2018525369A JP6937302B2 (ja) 2015-11-23 2016-11-23 多視点ビデオの符号化/復号化方法
JP2021140378A JP2022008311A (ja) 2015-11-23 2021-08-30 多視点ビデオの符号化/復号化方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20150164266 2015-11-23
KR10-2015-0164266 2015-11-23
KR20150164057 2015-11-23
KR10-2015-0164057 2015-11-23

Publications (1)

Publication Number Publication Date
WO2017090988A1 true WO2017090988A1 (ko) 2017-06-01

Family

ID=58764342

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/013571 WO2017090988A1 (ko) 2015-11-23 2016-11-23 다시점 비디오의 부호화/복호화 방법

Country Status (5)

Country Link
US (1) US10701396B2 (ko)
EP (1) EP3383039A4 (ko)
JP (2) JP6937302B2 (ko)
CN (2) CN108293110B (ko)
WO (1) WO2017090988A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019045393A1 (ko) * 2017-08-29 2019-03-07 주식회사 케이티 비디오 신호 처리 방법 및 장치
WO2019115899A1 (fr) * 2017-12-15 2019-06-20 Orange Procédés et dispositifs de codage et de décodage d'une séquence vidéo multi-vues représentative d'une vidéo omnidirectionnelle
WO2019182293A1 (ko) * 2018-03-19 2019-09-26 주식회사 케이티 비디오 신호 처리 방법 및 장치
RU2776664C2 (ru) * 2017-12-15 2022-07-22 Оранж Способы и устройства для кодирования и декодирования многовидовой видеопоследовательности всенаправленного видео

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102506480B1 (ko) * 2016-06-14 2023-03-07 삼성전자주식회사 영상 처리 장치 및 그 영상 처리 방법
KR20180000279A (ko) * 2016-06-21 2018-01-02 주식회사 픽스트리 부호화 장치 및 방법, 복호화 장치 및 방법
EP3264368A1 (en) * 2016-06-28 2018-01-03 Nokia Technologies Oy Display of polyhedral virtual objects
US11006135B2 (en) * 2016-08-05 2021-05-11 Sony Corporation Image processing apparatus and image processing method
CN107801039B (zh) 2016-08-30 2020-04-14 华为技术有限公司 运动补偿预测方法和装置
CN108235031B (zh) * 2016-12-15 2019-11-05 华为技术有限公司 一种运动矢量解码方法及解码器
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
CN110089113B (zh) * 2017-01-02 2023-10-20 Lx 半导体科技有限公司 图像编码/解码方法、设备以及用于存储比特流的记录介质
US10863198B2 (en) * 2017-01-03 2020-12-08 Lg Electronics Inc. Intra-prediction method and device in image coding system for 360-degree video
US11259046B2 (en) * 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) * 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
US11057643B2 (en) 2017-03-13 2021-07-06 Mediatek Inc. Method and apparatus for generating and encoding projection-based frame that includes at least one padding region and at least one projection face packed in 360-degree virtual reality projection layout
US11004173B2 (en) * 2017-03-13 2021-05-11 Mediatek Inc. Method for processing projection-based frame that includes at least one projection face packed in 360-degree virtual reality projection layout
EP3610647B1 (en) * 2017-04-26 2021-12-08 Huawei Technologies Co., Ltd. Apparatuses and methods for encoding and decoding a panoramic video signal
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
US20190005709A1 (en) * 2017-06-30 2019-01-03 Apple Inc. Techniques for Correction of Visual Artifacts in Multi-View Images
US10754242B2 (en) 2017-06-30 2020-08-25 Apple Inc. Adaptive resolution and projection format in multi-direction video
TWI681662B (zh) 2017-08-18 2020-01-01 聯發科技股份有限公司 用於減少基於投影的圖框中的偽影的方法和裝置
TWI799861B (zh) 2018-03-29 2023-04-21 弗勞恩霍夫爾協會 用以選擇內預測模式以供填補之設備
WO2020101451A1 (ko) 2018-11-15 2020-05-22 한국전자통신연구원 지역 기반 화면간/화면내 예측 기술을 이용한 부호화/복호화 방법 및 장치
KR20210129210A (ko) * 2019-03-08 2021-10-27 지티이 코포레이션 비디오 코딩에서의 널 타일 코딩
KR20200112737A (ko) 2019-03-20 2020-10-05 한국전자통신연구원 이머시브 영상 처리 방법 및 이머시브 영상 합성 방법
US11558625B2 (en) 2020-06-24 2023-01-17 Electronics And Telecommunications Research Institute Method for generating residual image of multi-view video and apparatus using the same
US11418810B2 (en) * 2020-09-21 2022-08-16 Tencent America LLC Methods of inter picture motion prediction for multi-view video compression

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070011147A (ko) * 2005-07-18 2007-01-24 한국전자통신연구원 시간 및 시점간 참조영상 버퍼를 활용한 예측부호화/복호화장치 및 그 방법
KR20070042288A (ko) * 2005-10-18 2007-04-23 전자부품연구원 다시점 정방향 카메라 구조 기반의 메쉬를 이용한 중간영상 합성 방법 및 장치와 이를 구현하는 기능을실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는기록 매체
KR20070074495A (ko) * 2006-01-07 2007-07-12 한국전자통신연구원 다시점 동영상 부호화에서 시점 간 프레임 참조 방법 및 그장치
WO2012099352A2 (ko) * 2011-01-20 2012-07-26 삼성전자주식회사 다시점 영상 부호화/복호화 장치 및 방법
KR20120140515A (ko) * 2011-06-21 2012-12-31 ㈜베이다스 차량 주변 시각화를 위한 3차원 영상 합성장치 및 그 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005159824A (ja) * 2003-11-27 2005-06-16 Nippon Telegr & Teleph Corp <Ntt> 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,画像符号化プログラム,画像復号プログラムおよびそれらの記録媒体
US7627194B2 (en) * 2004-08-13 2009-12-01 Samsung Electronics Co., Ltd. Method and device for making virtual image region for motion estimation and compensation of panorama image
CN102263962A (zh) * 2004-12-10 2011-11-30 韩国电子通信研究院 对多视图视频进行统一编码的装置
ZA200805337B (en) * 2006-01-09 2009-11-25 Thomson Licensing Method and apparatus for providing reduced resolution update mode for multiview video coding
CN102986214A (zh) * 2010-07-06 2013-03-20 皇家飞利浦电子股份有限公司 从低动态范围图像生成高动态范围图像
JP2012100019A (ja) * 2010-11-01 2012-05-24 Sharp Corp 多視点画像符号化装置及び多視点画像復号装置
JP5281632B2 (ja) 2010-12-06 2013-09-04 日本電信電話株式会社 多視点画像符号化方法,多視点画像復号方法,多視点画像符号化装置,多視点画像復号装置およびそれらのプログラム
US20150146779A1 (en) 2012-07-17 2015-05-28 Electronic And Telecommunications Research Institute In-loop filtering method and apparatus using same
JP6594773B2 (ja) 2012-10-07 2019-10-23 エルジー エレクトロニクス インコーポレイティド ビデオ信号処理方法及び装置
KR20140048783A (ko) 2012-10-09 2014-04-24 한국전자통신연구원 깊이정보값을 공유하여 움직임 정보를 유도하는 방법 및 장치
KR20140051789A (ko) * 2012-10-22 2014-05-02 (주)휴맥스 3차원 비디오에서의 뷰간 움직임 예측 방법 및 뷰간 병합 후보 결정 방법
CN104735436A (zh) * 2014-12-29 2015-06-24 深圳超多维光电子有限公司 单摄像头立体成像方法及电子设备
US20180109810A1 (en) * 2016-10-17 2018-04-19 Mediatek Inc. Method and Apparatus for Reference Picture Generation and Management in 3D Video Compression

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070011147A (ko) * 2005-07-18 2007-01-24 한국전자통신연구원 시간 및 시점간 참조영상 버퍼를 활용한 예측부호화/복호화장치 및 그 방법
KR20070042288A (ko) * 2005-10-18 2007-04-23 전자부품연구원 다시점 정방향 카메라 구조 기반의 메쉬를 이용한 중간영상 합성 방법 및 장치와 이를 구현하는 기능을실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는기록 매체
KR20070074495A (ko) * 2006-01-07 2007-07-12 한국전자통신연구원 다시점 동영상 부호화에서 시점 간 프레임 참조 방법 및 그장치
WO2012099352A2 (ko) * 2011-01-20 2012-07-26 삼성전자주식회사 다시점 영상 부호화/복호화 장치 및 방법
KR20120140515A (ko) * 2011-06-21 2012-12-31 ㈜베이다스 차량 주변 시각화를 위한 3차원 영상 합성장치 및 그 방법

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019045393A1 (ko) * 2017-08-29 2019-03-07 주식회사 케이티 비디오 신호 처리 방법 및 장치
WO2019115899A1 (fr) * 2017-12-15 2019-06-20 Orange Procédés et dispositifs de codage et de décodage d'une séquence vidéo multi-vues représentative d'une vidéo omnidirectionnelle
FR3075540A1 (fr) * 2017-12-15 2019-06-21 Orange Procedes et dispositifs de codage et de decodage d'une sequence video multi-vues representative d'une video omnidirectionnelle.
JP2021507593A (ja) * 2017-12-15 2021-02-22 オランジュ 全方位ビデオを表すマルチビュービデオシーケンスを符号化及び復号化する方法及びデバイス
US11166043B2 (en) 2017-12-15 2021-11-02 Orange Methods and devices for encoding and decoding a multi-view video sequence representative of an omnidirectional video
RU2776664C2 (ru) * 2017-12-15 2022-07-22 Оранж Способы и устройства для кодирования и декодирования многовидовой видеопоследовательности всенаправленного видео
JP7279047B2 (ja) 2017-12-15 2023-05-22 オランジュ 全方位ビデオを表すマルチビュービデオシーケンスを符号化及び復号化する方法及びデバイス
WO2019182293A1 (ko) * 2018-03-19 2019-09-26 주식회사 케이티 비디오 신호 처리 방법 및 장치

Also Published As

Publication number Publication date
EP3383039A4 (en) 2019-04-17
CN108293110A (zh) 2018-07-17
JP6937302B2 (ja) 2021-09-29
US20180359487A1 (en) 2018-12-13
JP2019502298A (ja) 2019-01-24
EP3383039A1 (en) 2018-10-03
JP2022008311A (ja) 2022-01-13
CN108293110B (zh) 2022-07-05
CN115243040A (zh) 2022-10-25
US10701396B2 (en) 2020-06-30

Similar Documents

Publication Publication Date Title
WO2017090988A1 (ko) 다시점 비디오의 부호화/복호화 방법
WO2017086748A1 (ko) 기하 변환 영상을 이용하는 영상의 부호화/복호화 방법 및 장치
WO2017086747A1 (ko) 기하 변환 픽처를 이용한 영상의 부호화/복호화 방법 및 장치
WO2019132577A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2018097589A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2019066524A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2020171444A1 (ko) Dmvr 기반의 인터 예측 방법 및 장치
WO2020004990A1 (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2017086738A1 (ko) 영상 부호화/복호화 방법 및 장치
WO2018105759A1 (ko) 영상 부호화/복호화 방법 및 이를 위한 장치
WO2020055107A1 (ko) 영상 코딩 시스템에서 어파인 mvp 후보 리스트를 사용하는 어파인 움직임 예측에 기반한 영상 디코딩 방법 및 장치
WO2019194514A1 (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2020180129A1 (ko) 인터 예측을 위한 비디오 신호의 처리 방법 및 장치
WO2019216714A1 (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2019194463A1 (ko) 영상의 처리 방법 및 이를 위한 장치
WO2021006579A1 (ko) 머지 후보의 양방향 예측을 위한 가중치 인덱스를 유도하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2020251257A1 (ko) 예측 샘플을 생성하기 위한 가중치 인덱스 정보를 도출하는 영상 디코딩 방법 및 그 장치
WO2020251258A1 (ko) 쌍 예측이 적용되는 경우 가중 평균을 위한 가중치 인덱스 정보를 도출하는 영상 디코딩 방법 및 그 장치
WO2018131830A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018221946A1 (ko) 비디오 신호 처리 방법 및 장치
WO2021060834A1 (ko) 서브픽처 기반 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2020262962A1 (ko) 크로마 변환 블록의 최대 크기 제한을 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2019216736A1 (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2019066523A1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2021194308A1 (ko) 랩-어라운드 움직임 보상에 기반하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Legal Events

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

Ref document number: 16868884

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2018525369

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE