KR20160072104A - 멀티 뷰를 포함하는 비디오 부호화/복호화 방법 및 장치 - Google Patents

멀티 뷰를 포함하는 비디오 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
KR20160072104A
KR20160072104A KR1020167009244A KR20167009244A KR20160072104A KR 20160072104 A KR20160072104 A KR 20160072104A KR 1020167009244 A KR1020167009244 A KR 1020167009244A KR 20167009244 A KR20167009244 A KR 20167009244A KR 20160072104 A KR20160072104 A KR 20160072104A
Authority
KR
South Korea
Prior art keywords
block
picture
current
view
current block
Prior art date
Application number
KR1020167009244A
Other languages
English (en)
Inventor
허진
예세훈
김태섭
남정학
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Publication of KR20160072104A publication Critical patent/KR20160072104A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/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/187Methods 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 a scalable video layer
    • 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
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • 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

Landscapes

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

Abstract

본 발명은 멀티 뷰를 포함하는 비디오 부호화 방법 및 복호화 방법이 제공된다. 본 발명의 실시예에 따른 비디오 부호화 방법은 현재 뷰 내 현재 블록이 레지듀얼 예측을 수행할지 여부를 결정하는 단계, 상기 현재 블록이 레지듀얼 예측을 수행하는 경우, 상기 현재 블록의 레지듀얼 예측을 위해 사용되는 제1 참조 블록 및 제2 참조 블록을 유도하는 단계, 상기 제1 참조 블록의 샘플 값과 상기 제2 참조 블록의 샘플 값 간의 차이 값을 기반으로 상기 현재 블록의 레지듀얼 예측 샘플 값을 생성하는 단계 및 상기 현재 블록의 레지듀얼 예측 샘플 값을 이용하여 상기 현재 블록의 예측 샘플 값을 유도하는 단계를 포함한다.

Description

멀티 뷰를 포함하는 비디오 부호화/복호화 방법 및 장치{METHOD AND APPARATUS FOR CODING/DECODING VIDEO COMPRISING MULTI-VIEW}
본 발명은 비디오 코딩에 관한 기술로서, 더 구체적으로는 3D 비디오 영상의 코딩에 관한 것이다.
최근 고해상도, 고품질의 영상에 대한 요구가 다양한 응용 분야에서 증가하고 있다. 하지만, 영상이 고해상도를 가지고 고품질이 될수록 해당 영상에 관한 정보량도 함께 증가한다.
따라서 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 정보를 전송하거나 기존의 저장 매체를 이용해 영상 정보를 저장하는 경우에는, 정보의 전송 비용과 저장 비용이 증가하게 된다. 고해상도, 고품질 영상의 정보를 효과적으로 전송하거나 저장하고, 재생하기 위해 고효율의 영상 압축 기술을 이용할 수 있다.
한편, 고해상/대용량의 영상을 처리할 수 있게 됨에 따라서, 3D 비디오를 이용한 디지털 방송 서비스가 차세대 방송 서비스의 하나로 주목 받고 있다. 3D 비디오는 복수의 시점(view) 채널을 이용하여 현장감과 몰입감을 제공할 수 있다.
3D 비디오는 FVV(free viewpoint video), FTV(free viewpoint TV), 3DTV, 사회 안전망(surveillance) 및 홈 엔터테인먼트와 같은 다양한 영역에 사용될 수 있다.
싱글 뷰 비디오(single view video)와 달리 멀티 뷰를 이용한 3D 비디오는 동일한 POC(picture order count)의 뷰들 사이에 높은 상관도(correlation)를 가진다. 멀티 뷰 영상은 인접한 여러 카메라 즉, 여러 시점(view)를 이용하여 똑같은 장면을 동시에 촬영하기 때문에, 시차와 약간의 조명 차이를 제외하면 거의 같은 정보를 담고 있으므로 서로 다른 뷰 간의 상관도가 높다.
따라서, 멀티 뷰 비디오의 인코딩/디코딩에서는 서로 다른 뷰 사이의 상관도를 고려하여, 현재 뷰의 인코딩 및/또는 디코딩에 필요한 정보를 획득할 수 있다. 예를 들어, 현재 뷰의 디코딩 대상 블록을 다른 뷰의 블록을 참조하여 예측하거나 디코딩할 수 있다.
본 발명은 멀티 뷰 비디오를 인코딩/디코딩하는 방법 및 장치를 제공한다.
본 발명은 멀티 뷰를 포함하는 비디오 인코딩/디코딩에서 레지듀얼 예측을 수행하는 방법 및 장치를 제공한다.
본 발명은 멀티 뷰를 포함하는 비디오 인코딩/디코딩에서 레지듀얼 예측 시 움직임 벡터를 스케일링하는 방법 및 장치를 제공한다.
본 발명의 일 실시예에 따르면, 멀티 뷰를 포함하는 비디오 부호화 방법이 제공된다. 상기 비디오 부호화 방법은 현재 뷰 내 현재 블록이 레지듀얼 예측을 수행할지 여부를 결정하는 단계, 상기 현재 블록이 레지듀얼 예측을 수행하는 경우, 상기 현재 블록의 레지듀얼 예측을 위해 사용되는 제1 참조 블록 및 제2 참조 블록을 유도하는 단계, 상기 제1 참조 블록의 샘플 값과 상기 제2 참조 블록의 샘플 값 간의 차이 값을 기반으로 상기 현재 블록의 레지듀얼 예측 샘플 값을 생성하는 단계 및 상기 현재 블록의 레지듀얼 예측 샘플 값을 이용하여 상기 현재 블록의 예측 샘플 값을 유도하는 단계를 포함한다.
상기 제1 참조 블록과 상기 제2 참조 블록을 유도하는 단계에서는, 상기 현재 블록을 포함하는 현재 픽처와 상기 제1 참조 블록 또는 상기 제2 참조 블록을 포함하는 참조 픽처 간의 거리를 기반으로, 상기 제1 참조 블록과 상기 제2 참조 블록 중 적어도 하나를 유도하기 위해 사용되는 움직임 벡터를 스케일링할 수 있다.
본 발명의 다른 실시예에 따르면, 멀티 뷰를 포함하는 비디오 복호화 방법이 제공된다. 상기 비디오 복호화 방법은 현재 뷰 내 현재 블록이 레지듀얼 예측되었는지 여부를 나타내는 레지듀얼 예측 정보를 획득하는 단계, 상기 레지듀얼 예측 정보를 기반으로, 상기 현재 블록의 레지듀얼 예측을 위해 사용되는 제1 참조 블록 및 제2 참조 블록을 유도하는 단계, 상기 제1 참조 블록의 샘플 값과 상기 제2 참조 블록의 샘플 값 간의 차이 값을 기반으로 상기 현재 블록의 레지듀얼 예측 샘플 값을 생성하는 단계 및 상기 현재 블록의 레지듀얼 예측 샘플 값을 이용하여 상기 현재 블록의 예측 샘플 값을 유도하는 단계를 포함한다.
상기 제1 참조 블록과 상기 제2 참조 블록을 유도하는 단계에서는, 상기 현재 블록을 포함하는 현재 픽처와 상기 제1 참조 블록 또는 상기 제2 참조 블록을 포함하는 참조 픽처 간의 거리를 기반으로 스케일링된 움직임 벡터를 이용하여 상기 제1 참조 블록과 상기 제2 참조 블록 중 적어도 하나를 유도할 수 있다.
상기 스케일링된 움직임 벡터는 부호화기로부터 획득될 수 있다.
본 발명에 따르면, 레지듀얼 예측 시 현재 픽처와 참조 픽처 간의 거리를 고려하여 움직임 벡터의 크기를 스케일링함으로써 코딩 효율을 높일 수 있다.
또한, 레지듀얼 예측 시 움직임 벡터의 스케일링이 복호화기에서 수행하는 대신 부호화기에서 수행됨으로써, 복호화기의 복잡도를 낮출 수 있다. 그리고 부호화기에서는 부호화할 움직임 벡터의 크기가 작아져서 부호화 효율을 높일 수 있다.
도 1은 3D 비디오의 인코딩 및 디코딩 과정을 개략적으로 설명하는 도면이다.
도 2는 비디오 인코딩 장치의 구성을 개략적으로 설명하는 도면이다.
도 3은 비디오 디코딩 장치의 구성을 개략적으로 설명하는 도면이다.
도 4는 본 발명이 적용될 수 있는 멀티 뷰 비디오 코딩을 개략적으로 설명하기 위한 도면이다.
도 5는 본 발명이 적용될 수 있는 뎁스 맵을 이용한 멀티 뷰 비디오 코딩을 개략적으로 설명하기 위한 도면이다.
도 6은 본 발명의 실시예에 따른 레지듀얼 예측 방법을 개략적으로 설명하기 위한 도면이다.
도 7은 본 발명의 실시예에 따른 레지듀얼 예측을 이용한 부호화 방법을 개략적으로 나타낸 순서도이다.
도 8은 본 발명의 실시예에 따른 레지듀얼 예측을 이용한 복호화 방법을 개략적으로 나타낸 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니다. 본 명세서에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 기술적 사상을 한정하려는 의도로 사용되는 것은 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
한편, 본 발명에서 설명되는 도면상의 각 구성들은 서로 다른 특징적인 기능들에 관한 설명의 편의를 위해 독립적으로 도시된 것으로서, 각 구성들이 서로 별개의 하드웨어나 별개의 소프트웨어로 구현된다는 것을 의미하지는 않는다. 예컨대, 각 구성 중 두 개 이상의 구성이 합쳐져 하나의 구성을 이룰 수도 있고, 하나의 구성이 복수의 구성으로 나뉘어질 수도 있다. 각 구성이 통합 및/또는 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성 요소에 대해서는 동일한 참조 부호를 사용하고 동일한 구성 요소에 대해서 중복된 설명은 생략한다.
본 명세서에서 픽셀(pixel) 또는 펠(pel)은 하나의 영상을 구성하는 최소의 단위를 의미할 수 있다. 또한, 특정한 픽셀의 값을 나타내는 용어로서 ‘샘플(sample)’이 사용될 수 있다. 샘플은 일반적으로 픽셀의 값을 나타내지만, 휘도(Luma) 성분의 픽셀 값만을 지시할 수도 있고, 색차(Chroma) 성분의 픽셀 값만을 지시할 수도 있다.
유닛(unit)은 영상 처리의 기본 단위 또는 영상의 특정 위치를 의미할 수 있다. 유닛은 경우에 따라서 블록(block) 또는 영역(area) 등의 용어와 서로 혼용하여 사용될 수 있다. 일반적인 경우, MxN 블록은 M개의 열과 N개의 행으로 이루어진 샘플들 또는 변환 계수(transform coefficient)들의 집합을 나타낼 수 있다.
도 1은 3D 비디오의 인코딩 및 디코딩 과정을 개략적으로 설명하는 도면이다.
도 1을 참조하면, 3D 비디오 인코더는 비디오 픽처 및 뎁스 맵(depth map)과 카메라 파라미터를 인코딩하여 비트스트림으로 출력할 수 있다.
뎁스 맵은 대응하는 비디오 픽처(텍스처 픽처)의 픽셀에 대하여 카메라와 피사체 간의 거리 정보(깊이 정보)로 구성될 수 있다. 예컨대, 뎁스 맵은 깊이 정보를 비트 뎁스(bit depth)에 따라 정규화한 영상일 수 있다. 이때, 뎁스 맵은 색차 표현없이 기록된 깊이 정보로 구성될 수 있다.
일반적으로 피사체와의 거리와 변위(디스패러티)는 서로 반비례하므로, 카메라 파라미터를 이용하여 뎁스 맵의 깊이 정보로부터 뷰 간의 상관도를 나타내는 디스패러티 정보를 유도할 수 있다.
일반적인 컬러 영상 즉, 비디오 픽처(텍스처 픽처)와 함께 뎁스 맵과 카메라 정보를 포함하는 비트스트림은 네트워크 또는 저장매체를 통해 디코더로 전송될 수 있다.
디코더 측에서는 비트스트림을 수신해서 비디오를 복원할 수 있다. 디코더 측에서 3D 비디오 디코더가 이용되는 경우에, 3D 비디오 디코더는 비트스트림으로부터 비디오 픽처와 뎁스 맵 및 카메라 파라미터를 디코딩할 수 있다. 디코딩된 비디오 픽처와 뎁스 맵 그리고 카메라 파라미터를 기반으로 멀티 뷰(multi view) 디스플레이에 필요한 뷰들을 합성할 수 있다. 이때, 사용되는 디스플레이가 스테레오(streo) 디스플레이인 경우라면, 복원된 멀티 뷰들 중에서 두 개의 픽처를 이용하여 3D 영상을 디스플레이 할 수 있다.
스테레오 비디오 디코더가 사용되는 경우에, 스테레오 비디오 디코더는 비트스트림으로부터 양 안에 각각 입사될 두 픽처를 복원할 수 있다. 스테레오 디스플레이에서는 왼쪽 눈에 입사되는 좌측 영상과 우측 눈에 입사되는 우측 영상의 시차(view difference) 혹은 변위(disparity)를 이용해서 입체 영상을 디스플레이 할 수 있다. 스테레오 비디오 디코더와 함께 멀티 뷰 디스플레이가 사용되는 경우에는, 복원된 두 픽처를 기반으로 다른 뷰들을 생성하여 멀티 뷰를 디스플레이할 수도 있다.
2D 디코더가 사용되는 경우에는 2차원 영상을 복원해서 2D 디스플레이로 영상을 출력할 수 있다. 2D 디스플레이를 사용하지만, 디코더는 3D 비디오 디코더를 사용하거나 스테레오 비디오 디코더를 사용하는 경우에는 복원된 영상들 중 하나를 2D 디스플레이로 출력할 수도 있다.
도 1의 구성에서, 뷰 합성은 디코더 측에서 수행될 수도 있고, 디스플레이 측에서 수행될 수도 있다. 또한, 디코더와 디스플레이는 하나의 장치일 수도 있고 별도의 장치일 수도 있다.
도 1에서는 설명의 편의를 위해 3D 비디오 디코더와 스테레오 비디오 디코더 그리고 2D 비디오 디코더가 별도의 디코더인 것으로 설명하였으나, 하나의 디코딩 장치가 3D 비디오 디코딩, 스테레오 비디오 디코딩 그리고 2D 비디오 디코딩을 모두 수행할 수도 있다. 또한, 3D 비디오 디코딩 장치가 3D 비디오 디코딩을 수행하고, 스테레오 비디오 디코딩 장치가 스테레오 비디오 디코딩을 수행하며, 2D 비디오 디코딩 장치가 2D 비디오 디코딩 장치를 수행할 수도 있다. 더 나아가, 멀티 뷰 디스플레이가 2D 비디오를 출력하거나 스테레오 비디오를 출력할 수도 있다.
도 2는 비디오 인코딩 장치의 구성을 개략적으로 설명하는 도면이다.
도 2를 참조하면, 비디오 인코딩 장치(200)는 픽처 분할부(205), 예측부(210), 감산부(215), 변환부(220), 양자화부(225), 재정렬부(230), 엔트로피 인코딩부(235), 역양자화부(240), 역변환부(245), 가산부(250), 필터부(255) 및 메모리(260)를 포함한다.
픽처 분할부(205)는 입력된 픽처를 적어도 하나의 처리 단위 블록으로 분할할 수 있다. 이때, 처리 단위 블록은 코딩 단위 블록, 예측 단위 블록 또는 변환 단위 블록일 수 있다. 코딩 단위 블록은 코딩의 단위 블록으로서 최대 코딩 단위 블록으로부터 쿼드 트리 구조를 따라서 분할될 수 있다. 예측 단위 블록은 코딩 단위 블록으로부터 파티셔닝되는 블록으로서, 샘플 예측의 단위 블록일 수 있다. 이때, 예측 단위 블록은 서브 블록으로 나뉠 수도 있다. 변환 단위 블록은 코딩 단위 블록으로부터 쿼드 트리 구조를 따라서 분할 될 수 있으며, 변환 계수를 유도하는 단위 블록 또는 변환 계수로부터 잔차 신호를 유도하는 단위 블록일 수 있다.
이하, 설명의 편의를 위해, 코딩 단위 블록은 코딩 블록 또는 코딩 유닛이라 하고, 예측 단위 블록은 예측 블록 또는 예측 유닛이라 하며, 변환 단위 블록은 변환 블록 또는 변환 유닛이라 한다.
예측 블록 또는 예측 유닛은 픽처 내에서 블록 형태의 특정 영역을 의미할 수도 있고, 예측 샘플의 어레이를 의미할 수도 있다. 또한, 변환 블록 또는 변환 유닛은 픽처 내에서 블록 형태의 특정 영역을 의미할 수도 있고, 변환 계수 또는 레지듀얼 샘플의 어레이를 의미할 수도 있다.
예측부(210)는 처리 대상 블록(이하, 현재 블록이라 함)에 대한 예측을 수행하고, 상기 현재 블록에 대한 예측 샘플들을 포함하는 예측 블록을 생성할 수 있다. 예측부(210)에서 수행되는 예측의 단위는 코딩 블록일 수도 있고, 변환 블록일 수도 있고, 예측 블록일 수도 있다.
예측부(210)는 현재 블록에 인트라 예측이 적용되는지 인터 예측이 적용되는지를 결정할 수 있다.
인트라 예측의 경우에, 예측부(210)는 현재 블록이 속하는 픽처(이하, 현재 픽처) 내의 주변 블록 화소를 기반으로 현재 블록에 대한 예측 샘플을 유도할 수 있다. 이때, 예측부(210)는 (i) 현재 블록의 주변 참조 샘플들의 평균 혹은 인터폴레이션을 기반으로 하는 예측 샘플을 유도할 수도 있고, (ii) 현재 블록의 주변 블록들 중 예측 대상 픽셀에 대하여 특정 방향에 존재하는 참조 샘플을 기반으로 예측 샘플을 유도할 수도 있다. 설명의 편의를 위해, (i)의 경우를 비방향성 모드, (ii)의 경우를 방향성 모드라고 한다. 예측부(210)는 주변 블록에 적용된 예측 모드를 이용하여, 현재 블록에 적용되는 예측 모드를 결정할 수도 있다.
인터 예측의 경우에, 예측부(210)는 참조 픽처 상에서 움직임 벡터에 의해 특정되는 샘플들을 기반으로 현재 블록에 대한 예측 샘플을 유도할 수 있다. 예측부(210)는 스킵(skip) 모드, 머지(merge) 모드, 및 MVP 모드 중 어느 하나를 적용하여 현재 블록에 대한 예측 샘플을 유도할 수 있다. 스킵 모드와 머지 모드의 경우에, 예측부(210)는 주변 블록의 움직임 정보를 현재 블록의 움직임 정보로 이용할 수 있다. 스킵 모드의 경우, 머지 모드와 달리 예측 샘플과 원본 샘플 사이의 차(레지듀얼)가 전송되지 않는다. MVP 모드의 경우, 주변 블록의 움직임 벡터를 움직임 벡터 예측자(motion vector predictor: MVP)로 이용하여 현재 블록의 움직임 벡터를 유도할 수 있다.
인터 예측의 경우에, 주변 블록은 현재 픽처 내에 존재하는 공간적 주변 블록과 참조 픽처(collocated picture)에 존재하는 시간적 주변 블록을 포함한다. 움직임 정보는 움직임 벡터와 참조 픽처를 포함한다. 스킵 모드와 머지 모드에서 시간적 주변 블록의 움직임 정보가 이용되는 경우에, 참조 픽처 리스트 상의 최상위 픽처가 참조 픽처로서 이용될 수도 있다.
종속 뷰(dependent view)에 대한 인코딩의 경우에, 예측부(210)는 인터 뷰 예측을 수행할 수도 있다.
예측부(210)는 다른 뷰의 픽처를 포함하여 참조 픽처 리스트를 구성할 수 있다. 인터 뷰 예측을 위해, 예측부(210)는 디스패리티(disparity) 벡터를 유도할 수 있다. 현재 뷰 내 다른 픽처에서 현재 블록에 대응하는 블록을 특정하는 움직임 벡터와 달리, 디스패리티 벡터는 현재 픽처와 동일한 AU(Access Unit)의 다른 뷰에서 현재 블록에 대응하는 블록을 특정할 수 있다.
예측부(210)는 디스패리티 벡터를 기반으로, 뎁스 뷰(depth view) 내의 뎁스 블록(depth block)을 특정할 수 있고, 머지 리스트의 구성, 인터 뷰 움직임 예측(inter view motion prediction), 레지듀얼 예측, IC(Illumination Compensation), 뷰 합성 등을 수행할 수 있다.
현재 블록에 대한 디스패리티 벡터는 카메라 파라미터를 이용하여 뎁스 값으로부터 유도되거나, 현재 또는 다른 뷰 내 주변 블록의 움직임 벡터 또는 디스패리티 벡터로부터 유도될 수 있다.
예컨대, 예측부(210)는 참조 뷰(reference view)의 시간적 움직임 정보에 대응하는 인터 뷰 머지 후보(inter-view merging candidate: IvMC), 디스패리티 벡터에 대응하는 인터 뷰 디스패리티 벡터 후보(inter-view disparity vector candidate: IvDC), 디스패리티 벡터의 쉬프트(shift)에 의해 유도되는 쉬프티드 인터뷰 머지 후보(shifted IvMC), 현재 블록이 뎁스 맵 상의 블록인 경우에 대응하는 텍스처로부터 유도되는 텍스처 머지 후보(texture merging candidate: T), 텍스처 머지 후보로부터 디스패리티를 이용하여 유도되는 디스패리티 유도 머지 후보(disparity derived merging candidate: D), 뷰 합성에 기반해서 유도되는 뷰 합성 예측 머지 후보(view synthesis prediction merge candidate: VSP) 등을 머지 후보 리스트에 추가할 수 있다.
이때, 종속 뷰에 적용되는 머지 후보 리스트에 포함되는 후보의 개수는 소정의 값으로 제한될 수 있다.
또한, 예측부(210)는 인터-뷰 움직임 벡터 예측을 적용하여, 디스패리터 벡터를 기반으로 현재 블록의 움직임 벡터를 예측할 수도 있다. 이때, 예측부(210)는 대응하는 깊이 블록 내 최대 깊이 값의 전환(conversion)에 기반하여 디스패리티 벡터를 유도할 수 있다. 참조 뷰 내 현재 블록의 샘플 위치에 디스패리티 벡터를 더하여 참조 뷰 내 참조 샘플의 위치가 특정되면, 참조 샘플을 포함하는 블록을 참조 블록으로 이용할 수 있다. 예측부(210)는 참조 블록의 움직임 벡터를 현재 블록의 후보 움직임 파라미터 혹은 움직임 벡터 예측자 후보로 이용할 수 있으며, 상기 디스패리티 벡터를 DCP를 위한 후보 디스패리티 벡터로 이용할 수 있다.
감산부(215)는 원본 샘플과 예측 샘플 간의 차이인 레지듀얼 샘플을 생성한다. 스킵 모드가 적용되는 경우에는, 상술한 바와 같이 레지듀얼 샘플을 생성하지 않을 수 있다.
변환부(220)는 변환 블록 단위로 레지듀얼 샘플을 변환하여 변환 계수(transform coefficient)를 생성한다. 양자화부(225)는 변환 계수들을 양자화하여, 양자화된 변환 계수를 생성할 수 있다.
재정렬부(230)는 양자화된 변환 계수를 재정렬한다. 재정렬부(230)는 계수들을 스캐닝(Scanning) 방법을 통해 블록 형태의 양자화된 변환 계수들을 1차원 벡터 형태로 재정렬할 수 있다.
엔트로피 인코딩부(235)는 양자화된 변환 계수들에 대한 엔트로피 인코딩을 수행할 수 있다. 엔트로피 인코딩에는 예를 들어, 지수 골롬(Exponential Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding) 등과 같은 인코딩 방법을 사용할 수 있다. 엔트로피 인코딩부(235)는 양자화된 변환 계수 외 비디오 복원에 필요한 정보들(예컨대, 신택스 엘리먼트(syntax element)의 값 등)을 함께 또는 별도로 인코딩할 수도 있다.
엔트로피 인코딩된 정보들은 비트스트림 형태로 NAL(Network Abstraction Layer) 유닛 단위로 전송 또는 저장될 수 있다.
역양자화(dequantization)부(240)는 양자화된 변환 계수를 역양자화하여 변환 계수를 생성한다. 역변환(inverse transform)부(245)는 변환 계수를 역변환하여 레지듀얼 샘플을 생성한다.
가산부(250)는 레지듀얼 샘플과 예측 샘플을 합쳐서 픽처를 복원한다. 레지듀얼 샘플과 예측 샘플은 블록 단위로 더해져서 복원 블록을 생성할 수도 있다. 여기서 가산부(250)는 별도의 구성으로 설명하였으나, 가산부(250)는 예측부(210)의 일부일 수도 있다.
복원된 픽처(reconstructed picture)에 대하여 필터부(255)는 디블록킹 필터 및/또는 오프셋을 적용할 수 있다. 디블록킹 필터링 밀/또는 오프셋을 통해, 복원 픽처 내 블록 경계의 아티팩트나 양자화 과정에서의 왜곡이 보정될 수 있다. 오프셋은 샘플 단위로 적용될 수도 있으며, 디블록킹 필터링의 과정이 완료된 후 적용될 수 있다.
메모리(260)는 복원 픽처 또는 인코딩/디코딩에 필요한 정보를 저장할 수 있다. 예컨대, 메모리(260)는 인터 예측/인터-뷰 예측에 사용되는 픽처들을 저장할 수 있다. 이때, 인터 예측/인터-뷰 예측에 사용되는 픽처들은 참조 픽처 세트 혹은 참조 픽처 리스트에 의해 지정될 수도 있다.
여기서는, 하나의 인코딩 장치가 독립 뷰 및 종속 뷰를 인코딩하는 것으로 설명하였으나, 이는 설명의 편의를 위한 것으로서, 각 뷰별로 별도의 인코딩 장치가 구성되거나 각 뷰별로 별도의 내부 모듈(예컨대, 각 뷰별 예측부)가 구성될 수도 있다.
도 3은 비디오 디코딩 장치의 구성을 개략적으로 설명하는 도면이다.
도 3을 참조하면, 비디오 디코딩 장치(300)는 엔트로피 디코딩부(310), 재정렬부(320), 역양자화부(330), 역변환부(340), 예측부(350), 가산부(360), 필터부(370), 메모리(380)를 포함한다.
비디오 정보를 포함하는 비트스트림이 입력되면, 비디오 디코딩 장치(300)는 비디오 인코딩 장치에서 비디오 정보가 처리된 프로세스에 대응하여 비디오를 복원할 수 있다.
예컨대, 비디오 디코딩 장치(300)는 비디오 인코딩 장치에서 적용된 처리 단위를 이용하여 비디오 디코딩을 수행할 수 있다. 따라서, 비디오 디코딩의 처리 단위 블록은 코딩 단위 블록, 예측 단위 블록 또는 변환 단위 블록일 수 있다. 코딩 단위 블록은 디코딩의 단위 블록으로서 최대 코딩 단위 블록으로부터 쿼드 트리 구조를 따라서 분할될 수 있다. 예측 단위 블록은 코딩 단위 블록으로부터 파티셔닝되는 블록으로서, 샘플 예측의 단위 블록일 수 있다. 이때, 예측 단위 블록은 서브 블록으로 나뉠 수도 있다. 변환 단위 블록은 코딩 단위 블록으로부터 쿼드 트리 구조를 따라서 분할 될 수 있으며, 변환 계수를 유도하는 단위 블록 또는 변환 계수로부터 잔차 신호를 유도하는 단위 블록일 수 있다.
엔트로피 디코딩부(310)는 비트스트림을 파싱하여 비디오 복원 또는 픽처 복원에 필요한 정보를 출력할 수 있다. 예컨대, 엔트로피 디코딩부(310)는 지수 골롬, CAVLC, CABAC 등에 기반해 비트스트림 내 정보를 디코딩하고, 비디오 복원에 필요한 신택스 엘리먼트의 값, 레지듀얼에 관한 변환 계수의 양자화된 값 등을 출력할 수 있다.
3D 비디오를 재생하기 위해 복수의 뷰(view)를 처리하는 경우, 비트스트림은 각 뷰 별로 입력될 수 있다. 혹은, 비트스트림 내에서 각 뷰에 대한 정보가 멀티플렉싱되어 있을 수도 있다. 이 경우, 엔트로피 디코딩부(310)는 비트스트림을 역다중화(de-multiplexing)하여 뷰 별로 파싱할 수도 있다.
재정렬부(320)는 양자화되어 있는 변환 계수들을 2차원의 블록 형태로 재정렬할 수 있다. 재정렬부(320)는 인코딩 장치에서 수행된 계수 스캐닝에 대응하여 재정렬을 수행할 수 있다.
역양자화부(330)는 양자화되어 있는 변환 계수들을 (역)양자화 파라미터를 기반으로 역양자화하여 변환 계수를 출력할 수 있다. 이때, 양자화 파라미터를 유도하기 위한 정보는 인코딩 장치로부터 시그널링될 수 있다.
역변환부(340)는 변환 계수들을 역변환하여 레지듀얼 샘플들을 유도할 수 있다.
예측부(350)는 현재 블록에 대한 예측을 수행하고, 상기 현재 블록에 대한 예측 샘플들을 포함하는 예측 블록을 생성할 수 있다. 예측부(350)에서 수행되는 예측의 단위는 코딩 블록일 수도 있고, 변환 블록일 수도 있고, 예측 블록일 수도 있다.
예측부(350)는 인트라 예측을 적용할 것인지 인터 예측을 적용할 것인지를 결정할 수 있다. 이때, 인트라 예측과 인터 예측 중 어느 것을 적용할 것인지를 결정하는 단위와 예측 샘플 생성하는 단위는 상이할 수 있다. 아울러, 인터 예측과 인트라 예측에 있어서 예측 샘플을 생성하는 단위 역시 상이할 수 있다.
인트라 예측의 경우에, 예측부(350)는 현재 픽처 내의 주변 블록 화소를 기반으로 현재 블록에 대한 예측 샘플을 유도할 수 있다. 예측부(350)는 현재 블록의 주변 참조 샘플들을 기반으로 방향성 모드 또는 비방향성 모드를 적용하여 현재 블록에 대한 예측 샘플을 유도할 수 있다. 이때, 주변 블록의 인트라 예측 모드를 이용하여 현재 블록에 적용할 예측 모드가 결정될 수도 있다.
인터 예측의 경우에, 예측부(350)는 참조 픽처 상에서 움직임 벡터에 의해 특정되는 샘플들을 기반으로 현재 블록에 대한 예측 샘플을 유도할 수 있다. 예측부(350)는 스킵(skip) 모드, 머지(merge) 모드 및 MVP 모드 중 어느 하나를 적용하여 현재 블록에 대한 예측 샘플을 유도할 수 있다.
스킵 모드와 머지 모드의 경우에, 주변 블록의 움직임 정보가 현재 블록의 움직임 정보로 이용될 수 있다. 이때, 주변 블록은 공간적 주변 블록과 시간적 주변 블록을 포함할 수 있다.
예측부(350)는 가용한(available) 주변 블록의 움직임 정보로 머지 후보 리스트를 구성하고, 머지 인덱스가 머지 후보 리스트 상에서 지시하는 정보를 현재 블록의 움직임 벡터로 사용할 수 있다. 머지 인덱스는 인코딩 장치로부터 시그널링될 수 있다. 움직임 정보는 움직임 벡터와 참조 픽처를 포함한다. 스킵 모드와 머지 모드에서 시간적 주변 블록의 움직임 정보가 이용되는 경우에, 참조 픽처 리스트 상의 최상위 픽처가 참조 픽처로서 이용될 수도 있다.
스킵 모드의 경우, 머지 모드와 달리 예측 샘플과 원본 샘플 사이의 차이(레지듀얼)가 전송되지 않는다.
MVP 모드의 경우, 주변 블록의 움직임 벡터를 움직임 벡터 예측자(MVP)로 이용하여 현재 블록의 움직임 벡터가 유도될 수 있다. 이때, 주변 블록은 공간적 주변 블록과 시간적 주변 블록을 포함할 수 있다.
종속 뷰(dependent view)에 대한 인코딩의 경우에, 예측부(350)는 인터 뷰 예측을 수행할 수도 있다. 이때, 예측부(350)는 다른 뷰의 픽처를 포함하여 참조 픽처 리스트를 구성할 수 있다.
인터 뷰 예측을 위해, 예측부(210)는 디스패리티(disparity) 벡터를 유도할 수 있다. 예측부(350)는 디스패리티 벡터를 기반으로, 뎁스 뷰(depth view) 내의 뎁스 블록(depth block)을 특정할 수 있고, 머지 리스트의 구성, 인터 뷰 움직임 예측(inter view motion prediction), 레지듀얼 예측, IC(Illumination Compensation), 뷰 합성 등을 수행할 수 있다.
현재 블록에 대한 디스패리티 벡터는 카메라 파라미터를 이용하여 뎁스 값으로부터 유도되거나, 현재 또는 다른 뷰 내 주변 블록의 움직임 벡터 또는 디스패리티 벡터로부터 유도될 수 있다. 카메라 파라미터는 인코딩 장치로부터 시그널링될 수 있다.
종속 뷰의 현재 블록에 머지 모드를 적용하는 경우에, 예측부(350)는 참조 뷰(reference view)의 시간적 움직임 정보에 대응하는 IvMC, 디스패리티 벡터에 대응하는 IvDC, 디스패리티 벡터의 쉬프트(shift)에 의해 유도되는 쉬프티드 IvMC, 현재 블록이 뎁스 맵 상의 블록인 경우에 대응하는 텍스처로부터 유도되는 텍스처 머지 후보(T), 텍스처 머지 후보로부터 디스패리티를 이용하여 유도되는 디스패리티 유도 머지 후보(D), 뷰 합성에 기반해서 유도되는 뷰 합성 예측 머지 후보(VSP) 등을 머지 후보 리스트에 추가할 수 있다.
이때, 종속 뷰에 적용되는 머지 후보 리스트에 포함되는 후보의 개수는 소정의 값으로 제한될 수 있다.
또한, 예측부(350)는 인터-뷰 움직임 벡터 예측을 적용하여, 디스패리터 벡터를 기반으로 현재 블록의 움직임 벡터를 예측할 수도 있다. 이때, 예측부(350)는 디스패리티 벡터에 의해서 특정되는 참조 뷰 내 블록을 참조 블록으로 이용할 수 있다. 예측부(350)는 참조 블록의 움직임 벡터를 현재 블록의 후보 움직임 파라미터 혹은 움직임 벡터 예측자 후보로 이용할 수 있으며, 상기 디스패리티 벡터를 DCP를 위한 후보 디스패러티 벡터로 이용할 수 있다.
가산부(360)는 레지듀얼 샘플과 예측 샘플을 더하여 현재 블록 혹은 현재 픽처를 복원할 수 있다. 가산부(360)는 레지듀얼 샘플과 예측 샘플을 블록 단위로 더하여 현재 픽처를 복원할 수도 있다. 스킵 모드가 적용된 경우에는 레지듀얼이 전송되지 않으므로, 예측 샘플이 복원 샘플이 될 수 있다. 여기서는 가산부(360)를 별도의 구성으로 설명하였으나, 가산부(360)는 예측부(350)의 일부일 수도 있다.
필터부(370)는 복원된 픽처에 디블록킹 필터링 및/또는 오프셋을 적용할 수 있다. 이때, 오프셋은 샘플 단위의 오프셋으로서 적응적으로 적용될 수도 있다.
메모리(380)는 복원 픽처 또는 디코딩에 필요한 정보를 저장할 수 있다. 예컨대, 메모리(380)는 인터 예측/인터-뷰 예측에 사용되는 픽처들을 저장할 수 있다. 이때, 인터 예측/인터-뷰 예측에 사용되는 픽처들은 참조 픽처 세트 혹은 참조 픽처 리스트에 의해 지정될 수도 있다. 복원된 픽처는 참조 픽처로서 이용될 수 있다.
또한, 메모리(380)는 복원된 픽처를 출력 순서에 따라서 출력할 수도 있다. 3D 영상을 재생하기 위해, 도시되지는 않았으나, 출력부는 복수의 서로 다른 뷰를 디스플레이할 수 있다.
도 3의 예에서는, 하나의 디코딩 장치에서 독립 뷰(independent view)와 종속 뷰(dependent view)가 디코딩되는 것으로 설명하였으나, 이는 설명의 편의를 위한 것으로서 본 발명은 이에 한정되지 않는다. 예컨대, 뷰 별로 각각의 디코딩 장치가 동작할 수도 있고, 하나의 디코딩 장치 내에 각 뷰에 대응하는 동작부(예컨대, 예측부)가 구비될 수도 있다.
멀티 뷰 비디오 코딩은 현재 픽처와 동일한 AU(Access Unit)에 속하는 다른 뷰의 코딩된 데이터를 이용하여 현재 픽처를 코딩함으로써 현재 뷰에 대한 비디오 코딩 효율을 높일 수 있다. 여기서, AU는 POC(Picture Order Count)가 같은 픽처들의 집합을 의미할 수 있다. POC는 픽처의 디스플레이 순서에 대응한다.
멀티 뷰 코딩에서는 AU 단위로 뷰들을 코딩할 수도 있고, 뷰 단위로 픽처들을 코딩할 수도 있다. 뷰들 간에는 정해진 순서에 따라서 코딩이 진행된다. 가장 먼저 코딩되는 뷰를 베이스 뷰(base view) 또는 독립 뷰라고 할 수 있다. 또한, 독립 뷰가 코딩된 뒤에 다른 뷰를 참조해서 코딩될 수 있는 뷰를 종속 뷰라고 할 수 있다.
도 4는 본 발명이 적용될 수 있는 멀티 뷰 비디오 코딩을 개략적으로 설명하기 위한 도면이다.
멀티 뷰 비디오를 코딩하는 경우, 하나의 AU 내 뷰 ID가 다르고 POC가 같은 픽처들은 미리 정의된 뷰 코딩 순서(view coding order)에 따라 코딩된다.
예컨대, 도 4에 도시된 바와 같이, 두 개의 뷰(뷰 VO와 뷰 V1)를 코딩하고, 뷰 코딩 순서가 뷰 VO, 뷰 V1 순인 경우라 하자. 이때, AU 내 가장 먼저 코딩되는 뷰인 VO는 베이스 뷰 혹은 독립 뷰가 되며, 다음으로 코딩되는 뷰인 V1은 종속 뷰가 된다.
베이스 뷰는 다른 뷰를 참조하지 않고 베이스 뷰에 속한 픽처를 참조하여 코딩된다. 종속 뷰는 베이스 뷰 다음에 코딩 되면서 이미 코딩된 다른 뷰를 참조하여 코딩된다.
멀티 뷰 비디오 코딩에서 종속 뷰에 속한 CU는 이미 코딩된 픽처를 참조하여 인터 예측을 수행할 수 있다. 이때, 뷰 ID가 동일한 픽처를 참조하여 예측을 수행하는 방법을 움직임 보상 예측(Motion Compensated Prediction: MCP)이라 하고, 동일 AU 내 뷰 ID가 다른 픽처를 참조하여 예측을 수행하는 방법을 디스패리티 보상 예측(Disparity Compensated Prediction: DCP)라고 한다.
예컨대, 도 4를 참조하면, A 블록은 자신과 같은 뷰(V1)에 속하는 픽처를 참조하여 MCP를 수행하여 예측 샘플들을 유도할 수 있다. B 블록은 동일 AU 내 자신과 다른 뷰(VO)의 픽처를 참조하여 DCP를 수행하여 예측 샘플들을 유도할 수 있다.
상술한 바와 같이, 멀티 뷰 비디오 코딩에서 종속 뷰는 다른 뷰의 픽처를 참조하여 코딩될 수 있다. 또한, 종속 뷰는 뎁스 맵(depth map)을 이용하여 코딩될 수 있다.
도 5는 본 발명이 적용될 수 있는 뎁스 맵을 이용한 멀티 뷰 비디오 코딩을 개략적으로 설명하기 위한 도면이다.
도 5를 참조하면, 현재 뷰 내 현재 픽처(500)의 블록(현재 블록, 505)은 뎁스 맵(510)을 이용하여 코딩(인코딩/디코딩)될 수 있다. 이때, 현재 블록(505) 내 샘플(515)의 위치 (x,y)에 대응하는 뎁스 맵(510) 내 샘플(520)의 위치 (x, y)로부터 현재 블록(505)에 대한 깊이(depth) 값 d를 획득할 수 있다. 획득된 깊이 값 d는 디스패리티 벡터(525)로 변환될 수 있다. 깊이 값 d는 샘플(픽셀)과 카메라 사이의 거리에 기반해서 유도될 수 있다.
현재 블록(505) 내 샘플(515)의 위치 (x,y)에 대응하는 참조 뷰 내 현재 픽처(540)의 샘플(530) 위치 (x, y)에 디스패리티 벡터(525)를 더하여, 참조 뷰 내 현재 픽처(540)의 참조 샘플(535) 위치를 결정할 수 있다. 디스패리티 벡터는 x 축 성분만을 가지고 있을 수 있다. 따라서, 디스패리티 벡터의 값은 (disp, 0)일 수 있으며, 참조 샘플(535)의 위치 (xr, y)는 (x+disp, y)로 결정될 수 있다.
이때, 참조 샘플(535)을 포함하는 참조 블록(545)의 움직임 파라미터(motion parameter)는 현재 블록(505)의 움직임 파라미터의 후보로 사용될 수 있다. 예를 들어, 참조 뷰 내 참조 픽처(550)가 참조 블록(545)에 대한 참조 픽처라면, 참조 블록(545)의 움직임 벡터(555)는 현재 블록(505)의 움직임 벡터(560)로 유도될 수도 있다. 이때, 픽처(565)는 현재 뷰 내 참조 픽처이다.
한편, 멀티 뷰 비디오 코딩에서는 레지듀얼 신호의 코딩 효율을 높이기 위해서, 뷰들 사이의 레지듀얼 상관 관계(residual crrelation)를 이용하여 현재 블록의 레지듀얼 값을 예측할 수 있다.
도 6은 본 발명의 실시예에 따른 레지듀얼 예측 방법을 개략적으로 설명하기 위한 도면이다.
도 6의 방법은 상술한 도 2의 비디오 인코딩 장치 및 도 3의 비디오 디코딩 장치에 의해 수행될 수 있다. 보다 구체적으로, 도 6의 방법은 비디오 인코딩 장치와 비디오 디코딩 장치의 예측부에 의해 수행될 수 있다.
도 6을 참조하면, 현재 뷰(Vcurr) 내 현재 픽처(600)에서 현재 블록(605)의 레지듀얼을 예측하는 경우, 현재 블록(605)의 레지듀얼 예측을 위해 사용되는 참조 블록(참조 샘플)들이 유도되고, 유도된 참조 블록들의 레지듀얼을 기반으로 현재 블록(605)에 대한 레지듀얼 예측 샘플들이 생성될 수 있다.
여기서, 현재 블록(605)이 시간적 참조 픽처(temporal reference picture)로부터 예측되는 인터 예측인지 인터-뷰 참조 픽처(inter-view reference picture)로부터 예측되는 인터-뷰 예측인지에 따라 레지듀얼 예측을 위한 참조 블록들이 달라질 수 있다.
먼저 현재 블록(605)이 인터 예측된 경우 레지듀얼 예측 방법에 대해 설명한다.
현재 블록(605)이 인터 예측된 경우, 예측부는 먼저 현재 블록(605)에 대응되는 참조 뷰(Vref) 내 대응 블록(615)을 유도할 수 있다.
대응 블록(615)은 현재 블록(605)과 동일 AU 내 픽처들 중에서 현재 블록(605)의 참조 뷰에 속하는 픽처(610)로부터 유도될 수 있다. 대응 블록(615)의 위치는 픽처(610) 내에서 디스패리티 벡터(620)를 이용하여 특정될 수 있다.
이때, 대응 블록(615)은 현재 블록(605)의 레지듀얼 예측을 위한 제1 참조 블록(rpBlock, 혹은 rpSamples)으로 사용될 수 있다.
다음으로, 예측부는 참조 뷰 내 대응 블록(615)의 참조 픽처(620 혹은 630)를 유도하고, 유도된 대응 블록(615)의 참조 픽처(620 혹은 630)로부터 참조 블록(625 혹은 635)을 유도할 수 있다.
이때, 참조 블록(625 혹은 635)은 현재 블록(605)의 레지듀얼 예측을 위한 제2 참조 블록(rpRefBlcok 혹은 rpRefSamples)으로 사용될 수 있다.
대응 블록(615)의 참조 픽처(620 혹은 630)는 현재 뷰 내 현재 블록(605)의 참조 픽처(640 혹은 650)와 동일한 POC 값을 가지는 픽처가 선택될 수도 있고, 또는 현재 블록(605)의 레지듀얼 예측을 위해 사용되는 참조 픽처 리스트 내 참조 픽처일 수도 있다.
대응 블록(615)의 참조 블록(625 혹은 635)은 대응 블록(615)의 참조 픽처(620 혹은 630)로부터 현재 블록(605)의 움직임 정보, 예컨대 현재 블록(605)의 움직임 벡터(660 혹은 665)를 이용하여 움직임 보상을 수행함으로써 특정될 수 있다.
여기서, 현재 블록(605)의 참조 픽처(640)는 인터 예측 시 순방향(forward-directional, L0)으로 참조될 수 있는 픽처이며, 예컨대 참조 픽처 리스트 L0 내에서 참조 픽처 인덱스 Ref0에 의해 특정되는 픽처일 수 있다. 현재 블록(605)의 참조 픽처(650)는 인터 예측 시 역방향(backward-directional)으로 참조될 수 있는 픽처이며, 예컨대 참조 픽처 리스트 L1 내에서 참조 픽처 인덱스 Ref1에 의해 특정되는 픽처일 수 있다.
다음으로, 예측부는 상기와 같이 레지듀얼 예측을 위해 유도된 제1 참조 블록(rpBlock)과 제2 참조 블록(rpRefBlcok) 간의 차이를 현재 블록(605)의 레지듀얼 예측 샘플 값으로 사용할 수 있다. 예컨대, 대응 블록(615)의 샘플 값에서 참조 블록(625 혹은 635)의 샘플 값을 뺀 값을 현재 블록(605)의 레지듀얼 예측 샘플 값으로 유도할 수 있다.
레지듀얼 예측이 적용되는 경우, 현재 블록(605)의 예측 샘플 값은 현재 블록(605)의 레지듀얼 예측 샘플 값을 기반으로 수정(modify)될 수 있다. 이때, 현재 블록(605)의 레지듀얼 예측 샘플 값에 가중치(weighting factor)를 적용할 수도 있다.
가중치는 0, 0.5 또는 1 중의 한 값일 수 있다. 가중치 0은 레지듀얼 예측이 적용되지 않는다는 것을 지시하는 것일 수 있다. 어떤 가중치를 적용할 것인지를 지시하는 인덱스 정보가 부호화기에서 복호화기로 블록 단위로 전송될 수 있다.
이하에서는 현재 블록(605)이 인터-뷰 예측된 경우 레지듀얼 예측 방법에 대해 설명한다.
현재 블록(605)이 인터-뷰 예측된 경우, 예측부는 먼저 참조 뷰 내 현재 블록(605)과 대응하는 대응 블록(615)을 유도할 수 있다.
상술한 바와 같이, 대응 블록(615)은 현재 블록(605)과 동일 AU 내 픽처들 중에서 현재 블록(605)의 참조 뷰에 속하는 픽처(610)로부터 유도될 수 있다. 이때, 대응 블록(615)의 위치는 참조 뷰의 픽처(610) 내에서 현재 블록(605)의 디스패리티 벡터(620)를 이용하여 특정될 수 있다.
다음으로, 예측부는 대응 블록(615)의 참조 픽처(620 혹은 630)를 유도하고, 유도된 대응 블록(615)의 참조 픽처(620 혹은 630)로부터 참조 블록(625 혹은 635)을 유도할 수 있다.
이때, 참조 블록(625 혹은 635)은 현재 블록(605)의 레지듀얼 예측을 위한 제1 참조 블록(rpBlock, 혹은 rpSamples)으로 사용될 수 있다.
대응 블록(615)의 참조 픽처(620 혹은 630)는 현재 뷰 내 현재 블록(605)의 참조 픽처(640 혹은 650)와 동일한 POC 값을 가지는 픽처가 선택될 수도 있고, 또는 현재 블록(605)의 레지듀얼 예측을 위해 사용되는 참조 뷰에 대한 참조 픽처 리스트 내 참조 픽처일 수도 있다.
대응 블록(615)의 참조 블록(625 혹은 635)은 대응 블록(615)의 움직임 벡터(mvT, 시간적 움직임 벡터)(670 혹은 675)를 이용하여 움직임 보상을 수행함으로써 참조 픽처(620 혹은 630) 내에서 특정될 수 있다.
다음으로, 예측부는 현재 뷰 내 참조 픽처(640 혹은 650)를 유도하고, 참조 픽처(640 혹은 650) 내 참조 블록(645 혹은 655)을 유도할 수 있다.
이때, 참조 블록(645 혹은 655)은 현재 블록(605)의 레지듀얼 예측을 위한 제2 참조 블록(rpRefBlcok 혹은 rpRefSamples)으로 사용될 수 있다.
현재 뷰 내 참조 픽처(640 혹은 650)는 참조 뷰 내 대응 블록(615)의 참조 픽처(620 혹은 630)와 동일한 POC를 가지는 픽처일 수 있다.
현재 뷰 내 참조 블록(645 혹은 655)은 대응 블록(615)의 움직임 벡터(670 혹은 675)를 이용하여 현재 뷰 내 참조 픽처(640 혹은 650) 내에서 특정될 수 있다.
여기서, 대응 블록(615)의 참조 픽처(620)는 인터 예측 시 순방향(forward-directional, L0)으로 참조될 수 있는 픽처이며, 예컨대 참조 픽처 리스트 L0 내에서 참조 픽처 인덱스 Ref0에 의해 특정되는 픽처일 수 있다. 대응 블록(615)의 참조 픽처(630)는 인터 예측 시 역방향(backward-directional)으로 참조될 수 있는 픽처이며, 예컨대 참조 픽처 리스트 L1 내에서 참조 픽처 인덱스 Ref1에 의해 특정되는 픽처일 수 있다.
다음으로, 예측부는 상기와 같이 레지듀얼 예측을 위해 유도된 제1 참조 블록(rpBlock)과 제2 참조 블록(rpRefBlcok) 간의 차이를 현재 블록(605)의 레지듀얼 예측 샘플 값으로 사용할 수 있다. 예컨대, 참조 뷰 내 참조 블록(625 혹은 635)의 샘플 값에서 현재 뷰 내 참조 블록(645 혹은 655)의 샘플 값을 뺀 값을 현재 블록(605)의 레지듀얼 예측 샘플 값으로 유도할 수 있다.
레지듀얼 예측이 적용되는 경우, 현재 블록(605)의 예측 샘플 값은 현재 블록(605)의 레지듀얼 예측 샘플 값을 기반으로 수정(modify)될 수 있다. 이때, 현재 블록(605)의 레지듀얼 예측 샘플 값에 가중치(weighting factor)를 적용할 수도 있다.
상술한 바와 같이, 가중치는 0, 0.5 또는 1 중의 한 값일 수 있다. 가중치 0은 레지듀얼 예측이 적용되지 않는다는 것을 지시하는 것일 수 있다. 어떤 가중치를 적용할 것인지를 지시하는 인덱스 정보가 블록 단위로 전송될 수 있다.
레지듀얼 예측은 DCP 블록이나 인트라 모드의 블록과 같이 움직임 벡터가 없는 경우에는 적용되지 않을 수 있다.
레지듀얼 예측을 위해 유도된 제1 참조 블록(rpBlock)과 제2 참조 블록(rpRefBlcok)의 위치가 정수 샘플 위치가 아니라 서브-샘플 위치(정수 이하 단위의 샘플 위치)인 경우, 제1 참조 블록(rpBlock) 및 제2 참조 블록(rpRefBlcok)의 샘플들은 바이리니어 필터(bi-linear filter)를 사용하여 보간(interpolation)을 수행한 뒤 얻을 수 있다.
상술한 레지듀얼 예측이 수행될 경우, 예측부는 참조 픽처와 현재 픽처 간의 거리를 기반으로 움직임 벡터를 스케일링(scaling)하고, 스케일링된 움직임 벡터를 이용하여 레지듀얼 예측을 위해 사용되는 참조 블록들을 유도할 수 있다. 이때, 참조 픽처와 현재 픽처 간의 거리는 POC 차이 값일 수 있다.
예를 들어, 대응 블록(615)의 참조 픽처(620 혹은 630)와 현재 픽처(600) 간의 거리가 특정 값보다 크면, 현재 블록(605)의 움직임 벡터(660 혹은 665) 또는 대응 블록(615)의 움직임 벡터(670 혹은 675)를 스케일링한 후, 레지듀얼 예측을 위한 참조 블록들을 유도하여 레지듀얼 예측을 수행할 수 있다. 이때, 특정 값은 픽처 간의 거리(즉, 픽처 간의 POC 차이)가 1인 경우를 말할 수 있으며, 대응 블록(615)의 참조 픽처(620 혹은 630)가 현재 픽처(600)와 바로 인접한 픽처일 경우 현재 픽처(600)와의 거리가 1일 수 있다.
레지듀얼 예측은 높은 복잡도를 가지기 때문에, 현재 픽처와 인접한 픽처를 참조 픽처로 사용하면 복잡도를 줄일 수 있다. 따라서, 현재 픽처와 참조 픽처 간의 거리가 1보다 큰 경우, 현재 픽처와 참조 픽처 간의 거리를 고려하여 움직임 벡터의 크기를 스케일링함으로써 효율적으로 레지듀얼 예측을 할 수 있다.
예컨대, 움직임 벡터의 스케일링은 참조 픽처 리스트 내에서 현재 픽처와 가장 작은 POC 차이 값을 가지는 픽처(시간적 참조 픽처)에 대해 적용될 수 있다.
본 발명의 실시예에 따른 레지듀얼 예측 시 움직임 벡터의 스케일링은 복호화기에서 수행하는 대신 부호화기에서 수행될 수 있다.
보다 구체적으로, 부호화기는 대응 블록(615)의 참조 픽처(620 혹은 630)와 현재 픽처(600) 간의 거리를 고려하여 움직임 벡터를 스케일링하고, 스케일링된 움직임 벡터를 이용하여 레지듀얼 예측을 위해 사용되는 참조 블록들(rpBlock, rpRefBlcok)을 유도할 수 있다. 이때, 부호화기는 스케일링된 움직임 벡터를 부호화하고, 부호화된 정보(스케일링된 움직임 벡터)를 복호화기로 전송할 수 있다.
복호화기에서는 부호화된 스케일링된 움직임 벡터를 복호화하고, 복호화된 스케일링된 움직임 벡터를 레지듀얼 예측 시 그대로 사용할 수 있다.
상술한 바와 같이, 부호화기에서 움직임 벡터를 스케일링하고 이를 부호화하므로, 복호화기의 복잡도를 낮출 수 있다. (일반적으로 부호화기의 복잡도보다 복호화기의 복잡도가 더 큰 문제임) 또한, 부호화기에서 움직임 벡터를 스케일링하므로, 부호화할 움직임 벡터의 크기가 작아져서 부호화 효율을 높일 수 있다.
도 7은 본 발명의 실시예에 따른 레지듀얼 예측을 이용한 부호화 방법을 개략적으로 나타낸 순서도이다. 도 7의 방법은 상술한 도 2의 비디오 인코딩 장치에 의해 수행될 수 있다.
도 7을 참조하면, 인코딩 장치는 현재 뷰 내 현재 블록이 레지듀얼 예측을 수행할지 여부를 결정한다(S700).
다시 말해, 인코딩 장치는 현재 블록의 레지듀얼 예측이 디코딩 과정에서 사용될지 여부를 결정하고, 결정된 정보를 부호화하여 디코딩 장치로 전송할 수 있다.
예를 들어, 인코딩 장치는 율-왜곡 비용(RD cost) 관점에서 레지듀얼 예측을 사용하는 것이 효율적이라고 판단하면, 레지듀얼 예측이 디코딩 과정에서 사용될지 여부를 지시하는 레지듀얼 예측 플래그를 1로 설정하여 디코딩 장치로 전송할 수 있다. 그렇지 않고, 인코딩 장치는 레지듀얼 예측을 사용하지 않는 것이 낫다고 판단하면, 상기 레지듀얼 예측 플래그를 0으로 설정하여 디코딩 장치로 전송할 수 있다.
인코딩 장치는 현재 블록의 레지듀얼 예측을 수행하기로 결정한 경우, 현재 블록의 레지듀얼 예측을 위해 사용되는 제1 참조 블록 및 제2 참조 블록을 유도한다(S710).
이때, 현재 블록이 인터 예측된 블록인지 인터-뷰 예측된 블록인지에 따라 제1 참조 블록 및 제2 참조 블록을 유도하는 과정이 다를 수 있다.
현재 블록이 인터 예측된 경우, 인코딩 장치는 현재 블록의 디스패리티 벡터를 이용하여 참조 뷰 내 대응 픽처로부터 제1 참조 블록을 유도할 수 있다. 제1 참조 블록은 디스패리티 벡터에 의해 대응 픽처 내에서 위치가 특정될 수 있다.
대응 픽처는 현재 블록을 포함하는 현재 픽처와 동일 AU에 속하는 픽처들 중에서 참조 뷰 내 픽처를 말한다. 다시 말해, 대응 픽처는 현재 픽처와 동일한 POC 값을 가지는 참조 뷰 내 픽처이다.
인코딩 장치는 현재 블록의 움직임 벡터를 이용하여 참조 뷰 내 참조 픽처로부터 제2 참조 블록을 유도할 수 있다.
참조 뷰 내 참조 픽처는 현재 블록의 참조 픽처와 동일한 POC 값을 가지는 참조 뷰 내 픽처일 수 있으며, 또는 레지듀얼 예측을 위해 사용되는 참조 픽처 리스트 내 참조 픽처일 수도 있다.
제2 참조 블록을 유도할 때, 인코딩 장치는 현재 픽처와 제2 참조 블록을 포함하는 참조 픽처 간의 거리를 기반으로 현재 블록의 움직임 벡터를 스케일링 한 다음, 스케일링된 움직임 벡터를 이용하여 제2 참조 블록을 유도할 수 있다.
예를 들어, 현재 픽처와 참조 픽처 간의 거리가 특정 값(예컨대, 1)보다 크면, 현재 블록의 움직임 벡터 크기를 스케일링할 수 있다. 만일 특정 값이 1인 경우라면, 움직임 벡터의 크기는 현재 픽처의 바로 이전 혹은 이후 POC 값을 가지는 참조 뷰 내 참조 픽처에 대해 스케일링될 수 있다. 그리고, 스케일링된 움직임 벡터를 이용하여 현재 픽처의 바로 이전 혹은 이후 POC 값을 가지는 참조 뷰 내 참조 픽처로부터 움직임 보상을 수행함으로써 제2 참조 블록을 획득할 수 있다. 또는, 움직임 벡터의 크기는 참조 픽처 리스트 내에서 현재 픽처와 가장 작은 POC 차이 값을 가지는 픽처(시간적 참조 픽처)에 대해 스케일링될 수도 있다.
상기와 같이 유도된 제1 참조 블록 및 제2 참조 블록의 위치가 서브-샘플 위치인 경우, 인코딩 장치는 제1 참조 블록 및 제2 참조 블록에 대해 바이리니어 필터를 사용하여 보간을 수행할 수 있다.
인코딩 장치는 제2 참조 블록을 유도하기 위해 사용된 스케일링된 움직임 벡터를 부호화하고, 부호화된 정보(스케일링된 움직임 벡터)를 디코딩 장치로 전송할 수 있다.
현재 블록이 인터-뷰 예측된 경우, 인코딩 장치는 현재 블록의 디스패리티 벡터를 이용하여 참조 뷰 내 대응 픽처로부터 대응 블록을 유도할 수 있다.
대응 픽처는 현재 블록을 포함하는 현재 픽처와 동일 AU에 속하는 픽처들 중에서 참조 뷰 내 픽처를 말한다. 다시 말해, 대응 픽처는 현재 픽처와 동일한 POC 값을 가지는 참조 뷰 내 픽처이다.
대응 블록은 디스패리티 벡터에 의해 대응 픽처 내에서 위치가 특정될 수 있다.
인코딩 장치는 대응 블록의 움직임 벡터를 이용하여 참조 뷰 내 참조 픽처로부터 제1 참조 블록을 유도하고, 대응 블록의 움직임 벡터를 이용하여 현재 뷰 내 참조 픽처로부터 제2 참조 블록을 유도할 수 있다.
참조 뷰 내 참조 픽처는 현재 블록의 참조 픽처와 동일한 POC 값을 가지는 참조 뷰 내 픽처일 수 있으며, 또는 레지듀얼 예측을 위해 사용되는 참조 뷰에 대한 참조 픽처 리스트 내 참조 픽처일 수도 있다.
현재 뷰 내 참조 픽처는 상기 참조 뷰 내 참조 픽처와 동일한 POC 값을 가지는 현재 뷰 내 픽처일 수 있다.
제1 참조 블록을 유도할 때, 인코딩 장치는 현재 픽처와 제1 참조 블록을 포함하는 참조 픽처 간의 거리를 기반으로 대응 블록의 움직임 벡터를 스케일링 한 다음, 스케일링된 움직임 벡터를 이용하여 제1 참조 블록을 유도할 수 있다. 이때, 제2 참조 블록도 스케일링된 움직임 벡터를 이용하여 현재 뷰 내 참조 픽처로부터 유도될 수 있다.
예를 들어, 현재 픽처와 참조 픽처 간의 거리가 특정 값(예컨대, 1)보다 크면, 대응 블록의 움직임 벡터 크기를 스케일링할 수 있다. 만일 특정 값이 1인 경우라면, 움직임 벡터의 크기는 현재 픽처의 바로 이전 혹은 이후 POC 값을 가지는 참조 뷰 내 참조 픽처에 대해 스케일링될 수 있다. 그리고, 스케일링된 움직임 벡터를 이용하여 현재 픽처의 바로 이전 혹은 이후 POC 값을 가지는 참조 뷰 내 참조 픽처로부터 움직임 보상을 수행함으로써 제1 참조 블록을 획득할 수 있다. 또는, 움직임 벡터의 크기는 참조 픽처 리스트 내에서 현재 픽처와 가장 작은 POC 차이 값을 가지는 픽처(시간적 참조 픽처)에 대해 스케일링될 수도 있다.
상기와 같이 유도된 제1 참조 블록 및 제2 참조 블록의 위치가 서브-샘플 위치인 경우, 인코딩 장치는 제1 참조 블록 및 제2 참조 블록에 대해 바이리니어 필터를 사용하여 보간을 수행할 수 있다.
인코딩 장치는 제1 참조 블록을 유도하기 위해 사용된 스케일링된 움직임 벡터를 부호화하고, 부호화된 정보(스케일링된 움직임 벡터)를 디코딩 장치로 전송할 수 있다.
인코딩 장치는 제1 참조 블록의 샘플 값과 제2 참조 블록의 샘플 값 간의 차이 값을 기반으로 현재 블록의 레지듀얼 예측 샘플 값을 생성한다(S720).
이때, 현재 블록의 레지듀얼 예측 샘플 값에 가중치가 적용될 수 있다. 가중치는 0, 0.5 또는 1 중의 한 값일 수 있다. 가중치 0은 레지듀얼 예측이 적용되지 않는다는 것을 지시하는 것일 수 있다. 어떤 가중치를 적용할 것인지를 지시하는 인덱스 정보가 블록 단위로 전송될 수 있다.
인코딩 장치는 현재 블록의 레지듀얼 예측 샘플 값을 이용하여 현재 블록의 예측 샘플 값을 유도한다(S730).
인코딩 장치는 상기 유도된 현재 블록의 예측 샘플 값을 기반으로 현재 블록에 대한 복원 샘플 값을 획득할 수 있다.
도 8은 본 발명의 실시예에 따른 레지듀얼 예측을 이용한 복호화 방법을 개략적으로 나타낸 순서도이다. 도 8의 방법은 상술한 도 3의 비디오 디코딩 장치에 의해 수행될 수 있다.
도 8을 참조하면, 디코딩 장치는 현재 뷰 내 현재 블록이 레지듀얼 예측되었는지 여부를 나타내는 레지듀얼 예측 정보를 획득한다(S800).
레지듀얼 예측 정보는 플래그일 수 있으며, 예컨대 플래그 값이 1이면 현재 블록의 레지듀얼 예측이 적용되는 것이고, 플래그 값이 0이면 현재 블록의 레지듀얼 예측이 적용되지 않는 것을 나타낼 수 있다.
디코딩 장치는 레지듀얼 예측 정보를 기반으로 현재 블록의 레지듀얼 예측을 위해 사용되는 제1 참조 블록 및 제2 참조 블록을 유도한다(S810).
이때, 현재 블록이 인터 예측된 블록인지 인터-뷰 예측된 블록인지에 따라 제1 참조 블록 및 제2 참조 블록을 유도하는 과정이 다를 수 있다.
현재 블록이 인터 예측된 블록인지 인터-뷰 예측된 블록인지는 현재 픽처와 참조 픽처 사이의 POC 차이 값을 이용하여 판단할 수 있다. 예컨대, 현재 픽처와 참조 픽처 사이의 POC 차이 값이 0이 아니면 현재 블록이 인터 예측된 것으로 판단할 수 있고, 현재 픽처와 참조 픽처 사이의 POC 차이 값이 0이면 현재 블록이 인터-뷰 예측된 것으로 판단할 수 있다.
현재 블록이 인터 예측된 블록인지 인터-뷰 예측된 블록인지에 따라 제1 참조 블록 및 제2 참조 블록을 유도하는 과정에 대해서는 도 6 및 도 7의 실시예에서 상세히 설명한 바 있으므로, 본 실시예에서는 간략히 설명하도록 한다.
현재 블록이 인터 예측된 경우, 디코딩 장치는 현재 블록의 디스패리티 벡터를 이용하여 참조 뷰 내 대응 픽처로부터 제1 참조 블록을 유도하고, 현재 블록의 움직임 벡터를 이용하여 참조 뷰 내 참조 픽처로부터 제2 참조 블록을 유도할 수 있다.
제2 참조 블록을 유도할 때, 디코딩 장치는 현재 픽처와 제2 참조 블록을 포함하는 참조 픽처 간의 거리를 기반으로 스케일링된 현재 블록의 움직임 벡터를 이용하여 제2 참조 블록을 유도할 수 있다. 이때, 스케일링된 현재 블록의 움직임 벡터는 디코딩 장치에서 유도되는 값이 아니라, 인코딩 장치로부터 전송된 정보이다. 따라서, 디코딩 장치는 인코딩 장치로부터 전송된 스케일링된 현재 블록의 움직임 벡터를 엔트로피 복호화함으로써 획득할 수 있다.
상기와 같이 유도된 제1 참조 블록 및 제2 참조 블록의 위치가 서브-샘플 위치인 경우, 디코딩 장치는 제1 참조 블록 및 제2 참조 블록에 대해 바이리니어 필터를 사용하여 보간을 수행할 수 있다.
현재 블록이 인터-뷰 예측된 경우, 디코딩 장치는 현재 블록의 디스패리티 벡터를 이용하여 참조 뷰 내 대응 픽처로부터 대응 블록을 유도할 수 있다.
그리고, 디코딩 장치는 대응 블록의 움직임 벡터를 이용하여 참조 뷰 내 참조 픽처로부터 제1 참조 블록을 유도하고, 대응 블록의 움직임 벡터를 이용하여 현재 뷰 내 참조 픽처로부터 제2 참조 블록을 유도할 수 있다.
제1 참조 블록을 유도할 때, 디코딩 장치는 현재 픽처와 제1 참조 블록을 포함하는 참조 픽처 간의 거리를 기반으로 스케일링된 대응 블록의 움직임 벡터를 이용하여 제1 참조 블록을 유도할 수 있다. 이때, 스케일링된 대응 블록의 움직임 벡터는 디코딩 장치에서 유도되는 값이 아니라, 인코딩 장치로부터 전송된 정보이다. 따라서, 디코딩 장치는 인코딩 장치로부터 전송된 스케일링된 대응 블록의 움직임 벡터를 엔트로피 복호화함으로써 획득할 수 있다.
제1 참조 블록을 유도하기 위해 사용된 움직임 벡터가 스케일링된 경우, 제2 참조 블록은 스케일링된 움직임 벡터를 이용하여 현재 뷰 내 참조 픽처로부터 유도될 수 있다.
상기와 같이 유도된 제1 참조 블록 및 제2 참조 블록의 위치가 서브-샘플 위치인 경우, 디코딩 장치는 제1 참조 블록 및 제2 참조 블록에 대해 바이리니어 필터를 사용하여 보간을 수행할 수 있다.
디코딩 장치는 제1 참조 블록의 샘플 값과 제2 참조 블록의 샘플 값 간의 차이 값을 기반으로 현재 블록의 레지듀얼 예측 샘플 값을 생성한다(S820).
이때, 현재 블록의 레지듀얼 예측 샘플 값에 가중치가 적용될 수 있다. 가중치는 0, 0.5 또는 1 중의 한 값일 수 있다. 가중치 0은 레지듀얼 예측이 적용되지 않는다는 것을 지시하는 것일 수 있다. 어떤 가중치를 적용할 것인지를 지시하는 인덱스 정보가 인코딩 장치로부터 전송될 수 있다.
디코딩 장치는 현재 블록의 레지듀얼 예측 샘플 값을 이용하여 현재 블록의 예측 샘플 값을 유도한다(S830).
디코딩 장치는 상기 유도된 현재 블록의 예측 샘플 값을 기반으로 현재 블록에 대한 복원 샘플 값을 획득할 수 있다.
상술한 예시적인 시스템에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 상술한 실시예들은 다양한 양태의 예시들을 포함한다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.

Claims (14)

  1. 멀티 뷰를 포함하는 비디오 부호화 방법에 있어서,
    현재 뷰 내 현재 블록이 레지듀얼 예측을 수행할지 여부를 결정하는 단계;
    상기 현재 블록이 레지듀얼 예측을 수행하는 경우, 상기 현재 블록의 레지듀얼 예측을 위해 사용되는 제1 참조 블록 및 제2 참조 블록을 유도하는 단계;
    상기 제1 참조 블록의 샘플 값과 상기 제2 참조 블록의 샘플 값 간의 차이 값을 기반으로 상기 현재 블록의 레지듀얼 예측 샘플 값을 생성하는 단계; 및
    상기 현재 블록의 레지듀얼 예측 샘플 값을 이용하여 상기 현재 블록의 예측 샘플 값을 유도하는 단계를 포함하며,
    상기 제1 참조 블록과 상기 제2 참조 블록을 유도하는 단계에서는,
    상기 현재 블록을 포함하는 현재 픽처와 상기 제1 참조 블록 또는 상기 제2 참조 블록을 포함하는 참조 픽처 간의 거리를 기반으로, 상기 제1 참조 블록과 상기 제2 참조 블록 중 적어도 하나를 유도하기 위해 사용되는 움직임 벡터를 스케일링하는 것을 특징으로 하는 비디오 부호화 방법.
  2. 제1항에 있어서,
    상기 스케일링된 움직임 벡터를 부호화하는 단계를 포함하는 것을 특징으로 하는 비디오 부호화 방법.
  3. 제1항에 있어서,
    상기 현재 블록이 인터 예측된 경우, 상기 제1 참조 블록과 상기 제2 참조 블록을 유도하는 단계에서는,
    상기 현재 블록의 디스패리티 벡터를 이용하여 참조 뷰 내 대응 픽처로부터 상기 제1 참조 블록을 유도하는 단계; 및
    상기 현재 블록의 움직임 벡터를 이용하여 상기 참조 뷰 내 참조 픽처로부터 상기 제2 참조 블록을 유도하는 단계를 포함하며,
    상기 제2 참조 블록을 유도하는 단계에서는,
    상기 현재 픽처와 상기 제2 참조 블록을 포함하는 참조 픽처 간의 거리를 기반으로 상기 현재 블록의 움직임 벡터를 스케일링하여 상기 제2 참조 블록을 유도하는 것을 특징으로 하는 비디오 부호화 방법.
  4. 제3항에 있어서,
    상기 대응 픽처는 상기 현재 픽처와 동일한 POC(Picture Order Count) 값을 가지는 상기 참조 뷰 내 픽처이며,
    상기 참조 픽처는 상기 현재 블록의 참조 픽처와 동일한 POC 값을 가지는 상기 참조 뷰 내 픽처인 것을 특징으로 하는 비디오 부호화 방법.
  5. 제1항에 있어서,
    상기 현재 블록이 인터-뷰 예측된 경우, 상기 제1 참조 블록과 상기 제2 참조 블록을 유도하는 단계에서는,
    상기 현재 블록의 디스패리티 벡터를 이용하여 참조 뷰 내 대응 픽처로부터 대응 블록을 유도하는 단계;
    상기 대응 블록의 움직임 벡터를 이용하여 상기 참조 뷰 내 참조 픽처로부터 상기 제1 참조 블록을 유도하는 단계; 및
    상기 대응 블록의 움직임 벡터를 이용하여 상기 현재 뷰 내 참조 픽처로부터 상기 제2 참조 블록을 유도하는 단계를 포함하며,
    상기 제1 참조 블록을 유도하는 단계에서는,
    상기 현재 픽처와 상기 제1 참조 블록을 포함하는 참조 픽처 간의 거리를 기반으로 상기 대응 블록의 움직임 벡터를 스케일링하여 상기 제1 참조 블록을 유도하며,
    상기 제2 참조 블록은 상기 스케일링된 대응 블록의 움직임 벡터를 이용하여 상기 현재 뷰 내 참조 픽처로부터 유도되는 것을 특징으로 하는 비디오 부호화 방법.
  6. 제5항에 있어서,
    상기 대응 픽처는 상기 현재 픽처와 동일한 POC(Picture Order Count) 값을 가지는 상기 참조 뷰 내 픽처이며,
    상기 참조 뷰 내 참조 픽처는 상기 현재 블록의 참조 픽처와 동일한 POC 값을 가지는 상기 참조 뷰 내 픽처인 것을 특징으로 하는 비디오 부호화 방법.
  7. 제1항에 있어서,
    상기 현재 블록의 예측 샘플 값은 상기 현재 블록의 레지듀얼 예측 샘플 값에 가중치를 적용하여 유도되며,
    상기 가중치에 대한 정보가 복호화기로 전송되는 것을 특징으로 하는 비디오 부호화 방법.
  8. 멀티 뷰를 포함하는 비디오 복호화 방법에 있어서,
    현재 뷰 내 현재 블록이 레지듀얼 예측되었는지 여부를 나타내는 레지듀얼 예측 정보를 획득하는 단계;
    상기 레지듀얼 예측 정보를 기반으로, 상기 현재 블록의 레지듀얼 예측을 위해 사용되는 제1 참조 블록 및 제2 참조 블록을 유도하는 단계;
    상기 제1 참조 블록의 샘플 값과 상기 제2 참조 블록의 샘플 값 간의 차이 값을 기반으로 상기 현재 블록의 레지듀얼 예측 샘플 값을 생성하는 단계; 및
    상기 현재 블록의 레지듀얼 예측 샘플 값을 이용하여 상기 현재 블록의 예측 샘플 값을 유도하는 단계를 포함하며,
    상기 제1 참조 블록과 상기 제2 참조 블록을 유도하는 단계에서는,
    상기 현재 블록을 포함하는 현재 픽처와 상기 제1 참조 블록 또는 상기 제2 참조 블록을 포함하는 참조 픽처 간의 거리를 기반으로 스케일링된 움직임 벡터를 이용하여 상기 제1 참조 블록과 상기 제2 참조 블록 중 적어도 하나를 유도하되,
    상기 스케일링된 움직임 벡터는 부호화기로부터 획득되는 것을 특징으로 하는 비디오 복호화 방법.
  9. 제8항에 있어서,
    상기 스케일링된 움직임 벡터를 복호화하는 단계를 포함하는 것을 특징으로 하는 비디오 복호화 방법.
  10. 제8항에 있어서,
    상기 현재 블록이 인터 예측된 경우, 상기 제1 참조 블록과 상기 제2 참조 블록을 유도하는 단계에서는,
    상기 현재 블록의 디스패리티 벡터를 이용하여 참조 뷰 내 대응 픽처로부터 상기 제1 참조 블록을 유도하는 단계; 및
    상기 현재 블록의 움직임 벡터를 이용하여 상기 참조 뷰 내 참조 픽처로부터 상기 제2 참조 블록을 유도하는 단계를 포함하며,
    상기 제2 참조 블록을 유도하는 단계에서는,
    상기 현재 픽처와 상기 제2 참조 블록을 포함하는 참조 픽처 간의 거리를 기반으로 스케일링된 상기 현재 블록의 움직임 벡터를 이용하여 상기 제2 참조 블록을 유도하되,
    상기 스케일링된 현재 블록의 움직임 벡터는 부호화기로부터 획득되는 것을 특징으로 하는 비디오 복호화 방법.
  11. 제10항에 있어서,
    상기 대응 픽처는 상기 현재 픽처와 동일한 POC(Picture Order Count) 값을 가지는 상기 참조 뷰 내 픽처이며,
    상기 참조 픽처는 상기 현재 블록의 참조 픽처와 동일한 POC 값을 가지는 상기 참조 뷰 내 픽처인 것을 특징으로 하는 비디오 복호화 방법.
  12. 제8항에 있어서,
    상기 현재 블록이 인터-뷰 예측된 경우, 상기 제1 참조 블록과 상기 제2 참조 블록을 유도하는 단계에서는,
    상기 현재 블록의 디스패리티 벡터를 이용하여 참조 뷰 내 대응 픽처로부터 대응 블록을 유도하는 단계;
    상기 대응 블록의 움직임 벡터를 이용하여 상기 참조 뷰 내 참조 픽처로부터 상기 제1 참조 블록을 유도하는 단계; 및
    상기 대응 블록의 움직임 벡터를 이용하여 상기 현재 뷰 내 참조 픽처로부터 상기 제2 참조 블록을 유도하는 단계를 포함하며,
    상기 제1 참조 블록을 유도하는 단계에서는,
    상기 현재 픽처와 상기 제1 참조 블록을 포함하는 참조 픽처 간의 거리를 기반으로 스케일링된 상기 대응 블록의 움직임 벡터를 이용하여 상기 제1 참조 블록을 유도하며,
    상기 제2 참조 블록은 상기 스케일링된 대응 블록의 움직임 벡터를 이용하여 상기 현재 뷰 내 참조 픽처로부터 유도되며,
    상기 스케일링된 대응 블록의 움직임 벡터는 부호화기로부터 획득되는 것을 특징으로 하는 비디오 복호화 방법.
  13. 제12항에 있어서,
    상기 대응 픽처는 상기 현재 픽처와 동일한 POC(Picture Order Count) 값을 가지는 상기 참조 뷰 내 픽처이며,
    상기 참조 뷰 내 참조 픽처는 상기 현재 블록의 참조 픽처와 동일한 POC 값을 가지는 상기 참조 뷰 내 픽처인 것을 특징으로 하는 비디오 복호화 방법.
  14. 제8항에 있어서,
    상기 현재 블록의 예측 샘플 값은 상기 현재 블록의 레지듀얼 예측 샘플 값에 가중치를 적용하여 유도되며,
    상기 가중치에 대한 정보는 부호화기로부터 전송되는 것을 특징으로 하는 비디오 복호화 방법.
KR1020167009244A 2013-10-18 2014-10-20 멀티 뷰를 포함하는 비디오 부호화/복호화 방법 및 장치 KR20160072104A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361892464P 2013-10-18 2013-10-18
US61/892,464 2013-10-18
PCT/KR2014/009853 WO2015057032A1 (ko) 2013-10-18 2014-10-20 멀티 뷰를 포함하는 비디오 부호화/복호화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20160072104A true KR20160072104A (ko) 2016-06-22

Family

ID=52828400

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167009244A KR20160072104A (ko) 2013-10-18 2014-10-20 멀티 뷰를 포함하는 비디오 부호화/복호화 방법 및 장치

Country Status (5)

Country Link
US (1) US20160255368A1 (ko)
EP (1) EP3059969A4 (ko)
KR (1) KR20160072104A (ko)
CN (1) CN105637873A (ko)
WO (1) WO2015057032A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180080121A (ko) * 2017-01-02 2018-07-11 주식회사 케이티 비디오 신호 처리 방법 및 장치

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170064298A1 (en) * 2015-09-02 2017-03-02 Blackberry Limited Video coding with delayed reconstruction
US11496747B2 (en) * 2017-03-22 2022-11-08 Qualcomm Incorporated Intra-prediction mode propagation
CN114586357B (zh) * 2019-08-31 2024-03-29 Lg电子株式会社 视频编码系统中使用简化的残差数据编码的视频解码方法及其设备

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101647279A (zh) * 2007-01-24 2010-02-10 Lg电子株式会社 用于处理视频信号的方法和装置
KR20120000485A (ko) * 2010-06-25 2012-01-02 삼성전자주식회사 예측 모드를 이용한 깊이 영상 부호화 장치 및 방법
US20120075436A1 (en) * 2010-09-24 2012-03-29 Qualcomm Incorporated Coding stereo video data
CN101980539B (zh) * 2010-10-21 2012-07-25 北京航空航天大学 一种基于分形的多目立体视频压缩编解码方法
KR20140018873A (ko) * 2011-04-07 2014-02-13 엘지전자 주식회사 영상 정보 부호화 방법 및 복호화 방법
WO2012148128A2 (ko) * 2011-04-24 2012-11-01 엘지전자 주식회사 인터 예측 방법과 이를 이용한 인코딩 방법, 디코딩 방법 및 장치
WO2013039348A1 (ko) * 2011-09-16 2013-03-21 엘지전자 주식회사 영상 정보 시그널링 방법 및 이를 이용한 비디오 디코딩 방법
KR101616010B1 (ko) * 2011-11-04 2016-05-17 구글 테크놀로지 홀딩스 엘엘씨 비균일 움직임 벡터 그리드에 대한 움직임 벡터 스케일링
US20130177084A1 (en) * 2012-01-10 2013-07-11 Qualcomm Incorporated Motion vector scaling in video coding
US9525861B2 (en) * 2012-03-14 2016-12-20 Qualcomm Incorporated Disparity vector prediction in video coding
US9357195B2 (en) * 2012-08-16 2016-05-31 Qualcomm Incorporated Inter-view predicted motion vector for 3D video
US9357212B2 (en) * 2012-12-07 2016-05-31 Qualcomm Incorporated Advanced residual prediction in scalable and multi-view video coding
US9609347B2 (en) * 2013-04-04 2017-03-28 Qualcomm Incorporated Advanced merge mode for three-dimensional (3D) video coding
US20140301463A1 (en) * 2013-04-05 2014-10-09 Nokia Corporation Method and apparatus for video coding and decoding
US9948915B2 (en) * 2013-07-24 2018-04-17 Qualcomm Incorporated Sub-PU motion prediction for texture and depth coding

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180080121A (ko) * 2017-01-02 2018-07-11 주식회사 케이티 비디오 신호 처리 방법 및 장치

Also Published As

Publication number Publication date
EP3059969A4 (en) 2017-07-12
WO2015057032A1 (ko) 2015-04-23
CN105637873A (zh) 2016-06-01
EP3059969A1 (en) 2016-08-24
US20160255368A1 (en) 2016-09-01

Similar Documents

Publication Publication Date Title
US10659758B2 (en) Image encoding method and image decoding method
KR20160072102A (ko) 멀티-뷰 비디오 코딩에 있어서, 뷰 합성 예측 방법 및 이를 이용한 머지 후보 리스트 구성 방법
KR102269506B1 (ko) 멀티-뷰 비디오를 디코딩하는 비디오 디코딩 방법 및 장치
US20170310993A1 (en) Movement information compression method and device for 3d video coding
KR101862498B1 (ko) 비디오 코딩에서 뎁스 픽처 코딩 방법 및 장치
US10587894B2 (en) Method and device for encoding/decoding 3D video
US20160255371A1 (en) Method and apparatus for coding/decoding 3d video
WO2015057037A1 (ko) 멀티-뷰 비디오를 디코딩하는 비디오 디코딩 장치 및 방법
US20170310994A1 (en) 3d video coding method and device
US10419779B2 (en) Method and device for processing camera parameter in 3D video coding
KR102343817B1 (ko) 멀티-뷰 비디오의 디코딩 방법 및 장치
KR20160072104A (ko) 멀티 뷰를 포함하는 비디오 부호화/복호화 방법 및 장치
US10397611B2 (en) Method and device for encoding/decoding 3D video
WO2015141977A1 (ko) 3d 비디오 부호화/복호화 방법 및 장치

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid