KR102343817B1 - 멀티-뷰 비디오의 디코딩 방법 및 장치 - Google Patents

멀티-뷰 비디오의 디코딩 방법 및 장치 Download PDF

Info

Publication number
KR102343817B1
KR102343817B1 KR1020167009104A KR20167009104A KR102343817B1 KR 102343817 B1 KR102343817 B1 KR 102343817B1 KR 1020167009104 A KR1020167009104 A KR 1020167009104A KR 20167009104 A KR20167009104 A KR 20167009104A KR 102343817 B1 KR102343817 B1 KR 102343817B1
Authority
KR
South Korea
Prior art keywords
block
sub
prediction
picture
video
Prior art date
Application number
KR1020167009104A
Other languages
English (en)
Other versions
KR20160072101A (ko
Inventor
남정학
허진
김태섭
서정동
예세훈
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Publication of KR20160072101A publication Critical patent/KR20160072101A/ko
Application granted granted Critical
Publication of KR102343817B1 publication Critical patent/KR102343817B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • 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/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

본 발명은 멀티 뷰 비디오를 디코딩하는 비디오 디코딩 장치 및 방법에 관한 것으로서, 본 발명에 따른 비디오 디코딩 장치는 비트스트림을 엔트로피 디코딩하여 뎁스 픽처 내 현재 블록의 디코딩에 필요한 비디오 정보를 출력하는 엔트로피 디코딩부, 상기 현재 블록의 디코딩에 참조되는 픽처들을 저장하는 메모리 및 동일 뷰 내 텍스처 픽처의 움직임 정보를 상기 현재 블록에 대한 움직임 정보로서 이용하여 상기 현재 블록에 대한 예측 샘플을 유도하는 예측부를 포함한다.

Description

멀티-뷰 비디오의 디코딩 방법 및 장치{METHOD AND APPARATUS FOR DECODING MULTI-VIEW VIDEO}
본 발명은 비디오 코딩에 관한 기술로서, 더 구체적으로는 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은 3D 비디오의 인코딩 및 디코딩 과정을 개략적으로 설명하는 도면이다.
도 2는 비디오 인코딩 장치의 구성을 개략적으로 설명하는 도면이다.
도 3은 비디오 디코딩 장치의 구성을 개략적으로 설명하는 도면이다.
도 4는 인터 뷰 코딩을 개략적으로 설명하는 도면이다.
도 5는 뎁스 맵을 이용하는 멀티 뷰 코딩 방법을 개략적으로 설명한다.
도 6은 DV-MCP 블록을 개략적으로 설명하는 도면이다.
도 7은 현재 블록의 주변 블록들의 일 예를 개략적으로 설명하는 도면이다.
도 8은 텍스처 픽처로부터 정보를 유도하는 방법에 관해서 개략적으로 설명하는 도면이다.
도 9는 MVI 통하여 텍스처 픽처의 움직임 벡터를 유도하는 과정을 개략적으로 설명하는 도면이다.
도 10은 서브 블록 단위로 MVI를 적용하여 움직임 벡터를 유도하는 방법을 개략적으로 설명하는 도면이다.
도 11은 본 발명에 따른 디코딩 장치의 동작을 개략적으로 설명하는 순서도이다.
본 명세서에서 픽셀(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)는 입력된 픽처를 적어도 하나의 처리 단위 블록으로 분할할 수 있다. 이때, 처리 단위 블록은 코딩 단위 블록, 예측 단위 블록 또는 변환 단위 블록일 수 있다. 코딩 단위 블록은 코딩의 단위 블록으로서 최대 코딩 단위 블록으로부터 쿼드 트리 구조를 따라서 분할될 수 있다. 예측 단위 블록은 코딩 단위 블록으로부터 파티셔닝되는 블록으로서, 샘플 예측의 단위 블록일 수 있다. 이때, 예측 단위 블록은 서브 블록으로 나뉠 수도 있다. 변환 단위 블록은 코딩 단위 블록으로부터 쿼드 트리 구조를 따라서 분할 될 수 있으며, 변환 계수를 유도하는 단위 블록 또는 변환 계수로부터 잔차 신호를 유도하는 단위 블록일 수 있다.
이하, 설명의 편의를 위해, 코딩 단위 블록은 코딩 블록 또는 코딩 유닛(coding unit: CU)이라 하고, 예측 단위 블록은 예측 블록 또는 예측 유닛(prediction unit: PU)이라 하며, 변환 단위 블록은 변환 블록 또는 변환 유닛(transform unit: TU)이라 한다.
예측 블록 또는 예측 유닛은 픽처 내에서 블록 형태의 특정 영역을 의미할 수도 있고, 예측 샘플의 어레이를 의미할 수도 있다. 또한, 변환 블록 또는 변환 유닛은 픽처 내에서 블록 형태의 특정 영역을 의미할 수도 있고, 변환 계수 또는 레지듀얼 샘플의 어레이를 의미할 수도 있다.
예측부(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)는 참조 블록의 움직임 벡터를 현재 블록의 후보 움직임 파라미터 혹은 움직임 벡터 예측자 후보로 이용할 수 있으며, 상기 디스패리티 벡터를 디스패리티 보상 예측(Disparity-Compensated Prediction: 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)에 속하는 다른 뷰의 코딩된 데이터를 이용하여 현재 뷰에 대한 비디오 코딩의 효율을 높일 수 있다. 이때, POC(Picture Order Count)가 같은 픽처들을 하나의 AU이라고 할 수 있다. POC는 픽처의 디스플레이 순서에 대응한다.
인코딩 장치 및 디코딩 장치는 AU 단위로 뷰들을 코딩할 수도 있고, 뷰 단위로 픽처들을 코딩할 수도 있다. 뷰들 간에는 정해진 순서에 따라서 코딩이 진행된다. 가장 먼저 코딩되는 뷰를 베이스 뷰(base view) 또는 독립 뷰라고 할 수 있다. 독립 뷰가 코딩된 뒤에 다른 뷰를 참조해서 코딩될 수 있는 뷰를 종속 뷰라고 할 수 있다. 또한, 현재 뷰가 종속 뷰인 경우에, 현재 뷰의 코딩(인코딩/디코딩)에 참조되는 다른 뷰를 참조 뷰라고 할 수도 있다.
도 4는 인터 뷰 코딩을 개략적으로 설명하는 도면이다. 도 4의 예에서, 코딩은 AU 단위로 진행되며, V0가 독립 뷰고 V1이 종속 뷰라고 한다. 현재 픽처(410) 내의 블록 A와 같이, 움직임 벡터를 이용하여 동일한 뷰의 다른 픽처(430)를 참조하는 인터 픽처 예측을 움직임 보상 예측(Motion-Compensated Prediction: MCP)이라 할 수 있다. 또한, 현재 픽처 내의 블록 B와 같이, 디스패리티 벡터를 이용하여 동일한 액세스 유닛 내, 즉 동일한 POC를 갖는 다른 뷰의 픽처(420)를 참조하는 인터 픽처 예측을 디스패리티 보상 예측(Disparity-Compensated Prediction: DCP)라고 할 수 있다.
멀티 뷰의 비디오를 코딩할 때, 다른 뷰의 픽처를 이용하는 방법 외에 뎁스 맵(depth map)을 이용할 수도 있다.
도 5는 뎁스 맵을 이용하는 멀티 뷰 코딩 방법을 개략적으로 설명한다.
도 5를 참조하면, 현재 뷰 내 현재 픽처(500)의 블록(현재 블록, 505)은 뎁스 맵(510)을 이용하여 코딩(인코딩/디코딩)될 수 있다. 이때, 현재 블록(505) 내 샘플(515)의 위치 (x,y)에 대응하는 뎁스 맵(510) 내 샘플(520)의 위치 (x, y)의 깊이(depth) 값 d가 디스패리티 벡터(525)로 변환될 수 있다. 깊이 값 d는 샘플(픽셀)과 카메라 사이의 거리에 기반해서 유도될 수 있다.
인코딩 장치 및 디코딩 장치는 디스패리티 벡터(525)를 샘플(530) 위치 (x, y)에 더하여, 참조 뷰 내 현재 픽처(540) 내 참조 샘플(535)의 위치를 결정할 수 있다. 디스패리티 벡터는 x 축 성분만을 가지고 있을 수 있다. 따라서, 디스패리티 벡터의 값은 (disp, 0)일 수 있으며, 참조 샘플(540)의 위치 (xr, y)는 (x+disp, y)로 결정될 수 있다.
인코딩 장치 및 디코딩 장치는 참조 픽셀(535)를 포함하는 참조 블록(545)의 움직임 파라미터(motion parameter) 현재 블록의 움직임 파라미터의 후보로 사용할 수 있다. 예를 들어, 참조 뷰 내 참조 픽처(550)가 참조 블록(545)에 대한 참조 픽처라면, 참조 블록(545)의 움직임 벡터(555)는 현재 블록(505)의 움직임 벡터(560)로 유도될 수도 있다. 이때, 픽처(565)는 현재 뷰 내 참조 픽처이다.
한편, 상술한 바와 같이, 멀티-뷰의 비디오 디코딩에 있어서는 디스패러티 벡터를 이용하여 다른 뷰의 정보를 참조할 수 있다.
종속 뷰의 픽처를 코딩(인코딩/디코딩)하는 경우에, 이미 코딩된 주변 블록 중에서 DCP 코딩 된 블록이 있을 경우 DCP 코딩 블록의 디스패러티 벡터를 현재 블록에 적용할 디스패러티 벡터로 이용할 수 있다. 이때, 주변 블록으로부터 유도한 디스패러티 벡터, 즉 DCP 코딩된 블록의 디스패러티 벡터는 현재 블록에 인터-뷰 움직임 예측(IVMP)와 인터-뷰 레지듀얼 예측(IVRP)을 적용하기 위한 디스패러티 벡터로 이용될 수 있다.
현재 블록의 움직임 벡터가 IVMP에 의해 결정된 경우를 우선 설명한다. 움직임 벡터 예측 모드(motion vector prediction: MVP 혹은 advanced motion vector prediction: AMVP) 모드, 머지(merge) 모드 혹은 스킵(SKIP) 모드에서, 인터-뷰 참조 픽처 내 대응 블록의 움직임 벡터로부터 유도되는 후보가 현재 블록에 적용된 움직임 벡터로 선택된 경우, 현재 블록은 MCP로 코딩 된다.
이렇게 MCP로 코딩된 블록 중에서 IVMP 방법으로 모션 벡터가 예측된 블록을 DV-MCP 블록이라 한다.
도 6은 DV-MCP 블록을 개략적으로 설명하는 도면이다. 도 6에서는 현재 뷰의 현재 픽처(610) 내 현재 블록(620)을 인터 예측하는 경우를 예시하고 있다.
도 6을 참조하면, 현재 블록(620)의 인터 예측에 사용되는 주변 블록(630)의 움직임 벡터(MV1)가 베이스 뷰 내 참조 픽처(640)의 대응 블록(650)으로부터 유도된다. 이때, 대응 블록은 디스패러티 벡터 DV(660)에 의해 특정된다. 현재 블록(630)의 인터 예측에 사용되는 후보 블록으로서, 주변 블록(630)의 움직임 벡터 MV1은 대응 블록(650)의 움직임 벡터 MV2로 설정되거나 MV2로부터 유도될 수 있다.
이때, 베이스 뷰 내 참조 픽처(640)과 현재 픽처(610)의 POC는 동일할 수 있다. 다른 뷰 내 대응 블록(650)의 움직임 벡터(MV2)로부터 예측된 움직임 벡터(MV1)이 적용된 주변 블록(630)을 DV-MCP 블록이라고 할 수 있다.
인코딩 장치와 디코딩 장치는 DV-MCP 블록의 움직임 벡터 예측에 이용된 디스패러티 벡터의 정보를 저장하여 주변 블록의 디스패러티 벡터 유도 과정에 활용할 수 있다.
도 7은 현재 블록의 주변 블록들의 일 예를 개략적으로 설명하는 도면이다. 도 7의 주변 블록들은 현재 블록을 디코딩하는 시점에서 이미 디코딩이 끝나고, 접근(access)이 가능한 블록들이다.
현재 블록(710)의 주변 블록들은 공간적 (spatial) 주변 블록 A0, A1, B0, B1, B2와 시간적 (temporal) 주변 블록 col-CTR (col-center), col-RB (col-right bottom)를 포함한다. 공간적 주변 블록들은 현재 블록(710)의 위치를 기준으로 각각의 위치가 특정된다.
또한, 시간적 주변 블록들은 참조 픽처 중 하나인 콜-픽처(collocated picture)에서 현재 블록에 대응하는 위치(720)를 기준으로 각각의 위치가 특정된다. 시간적 주변 블록의 경우 현재 픽쳐 혹은 현재 슬라이스를 디코딩 하는 시점에 지정된 콜-픽처(collocated picture)에서의 현재 블록(720)의 중심에 위치한 픽셀을 포함하는 코딩 블록이 col-CTR이 된다. 또한, 콜-픽처에서의 현재 블록(720)의 우하단 픽셀 위치가 (x,y)인 경우 (x+1, y+1) 위치의 픽셀을 포함하는 코딩 블록이 col-RB가 된다. 이하, 본 명세서에서는 설명의 편의를 위해, col-CTR은 CTR, col-BR은 BR로 표현하기도 한다.
콜-픽처(col-located picture)는 현재 픽쳐 혹은 현재 슬라이스의 참조 픽처 리스트에 포함된 시간적 참조 픽처(temporal reference picture) 중 하나가 시간적 디스패리티 벡터 유도(temporal disparity vector derivation)를 위해 선택된 것일 수 있다.
콜-픽처는 슬라이스 헤더(slice header)를 통해서 디코더에 알려질 수 있다. 예컨대, 어떤 픽처를 콜-픽처로 사용할 것인지를 지시하는 정보는 슬라이스 헤더에서 시그널링될 수 있다.
한편, 인터-뷰 예측을 이용하여 현재 블록을 복원하는 경우에, 현재 블록에 대하여 머지 모드가 적용되는 때에는 예측 블록(예컨대, PU) 또는 서브-예측 블록(예컨대, 서브-PU) 단위로 예측 샘플을 유도할 수도 있다.
예컨대, 인코딩 장치 및 디코딩 장치의 예측부는 현재 예측 블록이 텍스처 내에 있고, 현재 슬라이스 내에 적어도 하나의 인터-뷰 참조 블록이 있으면, 현재 블록에 대응하는 블록이 디스패리티 벡터를 기반으로 특정될 수 있으며, 상기 대응 블록을 이용하여 PU 레벨 혹은 서브 PU 레벨에서 예측 샘플을 유도할 수 있다.
멀티-뷰 비디오의 디코딩에서 머지 모드를 이용한 예측이 현재 블록에 적용되는 경우, 인코딩 장치 및 디코딩 장치의 예측부는 베이스 뷰에서와 동일한 방법으로 머지 후보 리스트를 구성한 후, 참조 뷰 내 대응 블록의 움직임 벡터를 이용하는 인터-뷰 머지 후보(inter-view merge candidate, IvMC), 참조 뷰 내 대응 블록의 디스패리티 벡터를 이용하는 인터-뷰 디스패리티 벡터 후보(inter-view disparity vector candidate, IvDC), IvMC와 IvDC를 쉬프트(shift)한 쉬프트된 IvMC(shifted IvMC)와 쉬프트된 IvDC(shifed IvDC), 뎁스를 기반으로 유도되는 뷰 합성 예측 (view synthesis prediction, VSP) 머지 후보를 머지 후보 리스트에 추가할 수 있다.
이하, 머지 후보 리스트를 구성하는 머지 후보들을 개략적으로 설명한다.
우선, 베이스 뷰에서 사용되는 머지 후보 리스트와 동일하게 공간적 주변 블록들로부터 이용 가능한 움직임 벡터가 유도된다. 이때, 현재 블록의 공간적 주변 블록들은 도 7에 도시된 현재 블록(710) 주변의 블록 A0, A1, B0, B1, B2 가 된다.
또한, 현재 뷰와는 다른 참조 뷰 내 대응 블록의 정보를 현재 블록의 머지 후보로 이용할 수 있다. 대응 블록은 디스패리티 벡터에 의해 특정될 수 있다. 디스패리티 벡터는 DCP 또는 MCP가 적용된 주변 블록의 디스패리티 벡터 또는 움직임 벡터로부터 유도될 수도 있고, 상기 유도된 움직임 벡터를 뎁스 맵을 이용해서 수정한 값을 디스패리티 벡터로 사용할 수도 있다. 편의상, 주변 블록으로부터 유도한 디스패리티 벡터를 NBDV(Disparity vector from neighbouring blocks)이라고 하고, 깊이 값을 이용하여 NBDV로부터 유도하는 디스패리티 벡터를 DoNBDV(depth oriented NBDV)라고 한다.
인코딩 장치 및 디코딩 장치의 예측부는 인터-뷰 머지 후보(IvMC)로서 참조 뷰에서 디스패리티 벡터에 의해 특정되는 참조 블록이 시간적 움직임 보상을 하는 경우에 사용한 움직임 벡터를 이용할 수 있다. 즉, 참조 뷰에서 MCP가 적용된 블록의 움직임 벡터를 현재 블록의 움직임 벡터 후보로 사용할 수 있다. 이때, 참조 블록을 특정하는데 이용되는 디스패리티 벡터는 현재 블록의 주변 블록을 기반으로 유도되는 NBDV 또는 DoNBDV가 사용될 수도 있고, 뎁스 맵을 기반으로 유도되는 값이 사용될 수도 있다. 한편, IvMC의 유도를 위해, PU 레벨 또는 서브 PU 레벨의 유도 방법이 사용될 수 있다.
또한, 인코딩 장치 및 디코딩 장치의 예측부는 인터-뷰 디스패리티 벡터 후보(IvDC)로서 참조 뷰 내 대응 블록의 디스패리티 벡터를 이용할 수 있다.
인코딩 장치와 디코딩 장치의 예측부는 디스패리티 벡터를 특정 값만큼 쉬프트(shish)한 후, 쉬프트된 디스패리티 벡터에 의해 특정되는 대응 블록의 움직임 벡터를 쉬프트된 IvMC(shifted IvMC, IvMCShift)로 유도할 수 있다. 예측부는 디스패리티 벡터를 현재 예측 블록의 높이와 너비를 이용하여 쉬프트할 수 있다. 예컨대, 예측부는 현재 블록의 높이가 nPbH, 너비가 nPbW인 경우에, 디스패리티 벡터를 x 축 방향으로 nPbW*2+2 만큼 쉬프트하고, y 축 방향으로 nPbH*2+2만큼 쉬프트하여 IvMCShift를 유도할 수 있다. 예측부는 IvMC와 IvMCShift가 동일하지 않은 경우에, IvMCShift를 현재 블록의 머지 후보로 추가할 수 있다.
인코딩 장치와 디코딩 장치의 예측부는 디스패리티 벡터를 특정 값만큼 쉬프트한 후, 쉬프트된 디프패리티 벡터(shifted IvDC, IvDCShift)를 현재 블록의 머지 후보에 추가할 수 있다. 예컨대, 예측부는 IvDC를 x축으로만 소정 거리(예컨대, 4) 이동한 디스패리티 벡터를 IvDCShift로 이용할 수 있다. 또한, 예측부는 뷰 합성 예측이 적용되는 경우를 고려하여 IvDCShift를 유도할 수도 있다. 예컨대, 예측부는 뷰 합성 예측이 수행될 수 있는 경우에는, IvDCShift의 y 성분을 0으로 둘 수도 있다.
한편, 인코딩 장치 및 디코딩 장치의 예측부는 인터-뷰 예측을 기반으로 움직임 벡터를 머지 후보 리스트에 추가하는 경우에, 뎁스 맵의 정보를 기반으로 하는 후보를 유도할 수 있다.
예컨대, 예측부는 비디오 신호와 뎁스 신호 간의 유사성을 기반으로, 비디오 신호로부터 움직임 정보를 가져다 사용하는 움직임 파라미터 승계 방법(motion parameter inheritance, MPI)을 적용할 수도 있다. 이 경우, 한 뎁스 PU로부터 분할된 서브 PU 별로 서로 다른 움직임 벡터가 텍스처로부터 승계될 수 있다. 현재 블록이 뎁스 맵의 블록이고 MPI가 적용되는 경우에, 예측부는 텍스처로부터 승계한 움직임 벡터를 이용하는 머지 후보 T와 T를 기반으로 유도된 뎁스 후보 D를 머지 후보로 추가할 수 있다. D가 이용되는 경우에, 예측 샘플들은 대응하는 디스패리티 벡터로부터 유도되는 뎁스 값으로 설정될 있다.
마지막으로, 인코딩 장치 및 디코딩 장치의 예측부는 뷰 합성 예측(View Synthesis Prediction, VSP)에 의한 디스패리티 벡터를 머지 후보(VSP)로 추가할 수 있다. 예측부는 주변 블록의 디스패리티 벡터를 현재 블록에 대한 머지 후보로 추가할 수 있으며, 이 디스패리티 벡터를 이용하여 뎁스 맵 상에서 특정되는 대응 블록의 뎁스 값을 기반으로 현재 블록의 뎁스 정보를 유도할 수 있다
상술한 머지 후보들을 이용하여 인코딩 장치 및 디코딩 장치의 예측부는 다음과 같이 머지 후보 리스트를 구성할 수 있다. 머지 후보들은 머지 후보 리스트 상에서 아래의 순서대로 위치하게 된다.
(1) 예측부는 MPI 후보로서 T와 D를 머지 후보 리스트에 추가한다. 구체적으로 예측부는 T가 이용 가능한지를 판단하여, 이용 가능한 경우(available)에 T를 추가한다. 예측부는 D가 이용 가능한지를 판단하여 이용 가능한 경우에 D를 T 다음에 추가한다.
(2) 예측부는 IvMC가 이용 가능한 경우로서, T가 이용 가능하지 않거나 T와 IvMC가 상이한 경우에, IvMC를 머지 후보 리스트의 D 다음 위치에 삽입한다.
(3) 예측부는 A1이 이용 가능한 경우에 A1을 머지 후보 리스트에 추가한다. 머지 후보의 중복을 방지하기 위해, 예측부는 이미 추가된 머지 후보와 A1의 동일성을 비교할 수 있다. 이미 추가된 머지 후보 N은 뎁스를 사용할 수 있는 경우에 T일 수 있으며, 뎁스를 사용하지 않는 경우에는 IvMC일 수 있다. 예측부는 A1과 N이 동일한 경우에는 A1을 머지 후보에서 제외할 수 있다.
(4) 예측부는 B1이 이용 가능한 경우에 B1을 머지 후보 리스트에 추가한다. 머지 후보의 중복을 방지하기 위해, 예측부는 B1과 앞서 추가된 후보와 동일한 경우에는 B1을 머지 후보에서 제외할 수 있다.
(5) 예측부는 B0가 이용 가능한 경우에 B0를 머지 후보 리스트에 추가할 수 있다.
(6) 예측부는 IvDC가 이용 가능한 경우에 IvDC를 머지 후보 리스트에 추가할 수 있다. 다만, 예측부는 부호화 효율을 높이고 중복을 방지하기 위해, (i) A1이 이용가능하지 않거나 A1과 IvDC가 상이하며, (ii) B1이 이용 가능하지 않거나 B1과 IvDC가 상이하고, (iii) 현재까지 추가된 머지 후보 개수가 머지 후보 리스트의 최대 후보 개수를 넘지 않으면, IvMC를 머지 후보 리스트에 추가할 수도 있다.
(7) 예측부는 VSP로 유도된 디스패리티 벡터(이하, VSP라 함)가 이용 가능하고 현재까지 추가된 머지 후보 개수가 머지 후호 리스트의 최대 후보 개수를 넘지 않으면, VSP를 머지 후보 리스트에 추가할 수 있다. 이 경우, 예측부는 부호화 효율을 높이기 위해, 부가적인 코딩 방법들 예컨대 IC(illumination compensation), ARP(advanced residual prediction) 등이 사용되지 않을 것을 조건으로 VSP를 머지 후보 리스트에 추가할 수도 있다.
(8) 예측부는 A0가 이용 가능하고, 현재까지 추가된 머지 후보 개수가 머지 후보 리스트의 최대 후보 개수를 넘지 않으면 A0를 머지 후보 리스트에 추가할 수 있다.
(9) 예측부는 B2가 이용 가능하고, 현재까지 추가된 머지 후보 개수가 머지 후보 리스트의 최대 후보 개수를 넘지 않으면 B2를 머지 후보 리스트에 추가할 수 있다.
(10) 예측부는 (i) IvMCShift가 이용 가능하며 현재까지 추가된 머지 후보 개수가 머지 후보 리스트의 최대 후보 개수를 넘지 않으며, (ii) IvMC가 이용 가능하지 ㅇ않거나 IvMC와 IvMCShift가 동일하지 않은 경우에 IvMCShift를 머지 후보 리스트에 추가할 수 있다.
(11) 예측부는 IvDCShift가 이용 가능하고 현재까지 추가된 머지 후보 개수가 머지 후보 리스트의 최대 후보 개수를 넘지 않으면 IvDCShift를 머지 후보 리스트에 추가할 수 있다.
상술한 바와 같이, 머지 모드를 통해 예측할 샘플이 뎁스에 관한 것이면, MPI에 의한 후보 T 와 D가 이용되며, 그렇지 않은 경우에는 T와 D가 이용되지 않을 수 있다.
한편, 인코딩 장치 및 디코딩 장치의 예측부는 IvMC가 사용되거나 VSP가 적용될 수 있는 경우로서 뎁스를 기반으로 블록이 파티션되지 않는 경우에 예측 블록의 서브 블록(서브 예측 블록) 단위로 움직임 벡터를 특정할 수 있다.
예컨대, MPI가 적용될 수 있는 경우에, 서브 예측 블록 단위로 인터 레이어(인터-뷰) 예측이 수행될 수 있다. 또한, 뷰 합성 예측을 수행하는 경우에도, 예측부는 서브 예측 블록 단위로 디스패리티 벡터를 유도할 수도 있다.
인터-뷰 예측의 머지 후보로서, 서브 예측 블록 단위로 움직임 벡터를 유도하는 경우에, 움직임 벡터는 현재 예측 블록 내 서브 블록 단위로 유도될 수 있다.
서브 예측 블록 단위로 움직임 벡터가 특정될 수 있는 경우에, 비티오 파라티미터 셋의 확장 레벨에서 서브 예측 블록의 사이즈를 특정하는 정보가 전송될 수 있다. 또한, MPI가 적용되는 경우의 서브 예측 블록 크기는 별도로 시그널링될 수도 있다.
구체적으로, 뎁스 픽처를 포함하는 3D 비디오의 코딩에 있어서, 뎁스 맵은 같은 시간 예컨대, 동일 POC(Picture Order Count)의 텍스처 픽처에 관한 코딩 정보를 참조하여 코딩될 수 있다.
뎁스 픽처는 동일 시간의 텍스처 픽처와 동시에 촬영되거나 동일 시간의 텍스처 픽처에 대한 깊이 정보로부터 생성되기 때문에, 동일 시간의 뎁스 픽처와 텍스처 픽처는 상관도가 매우 높다.
따라서, 뎁스 픽처의 코딩 시 이미 코딩된 텍스처 픽처의 블록 분할(block partition) 정보 또는 움직임 정보 등이 이용될 수 있다. 이를 앞서 설명한 바와 같이 움직임 파라미터 승계(MPI)라고 한다.
도 8은 텍스처 픽처로부터 정보를 유도하는 방법에 관해서 개략적으로 설명하는 도면이다.
도 8을 참조하면, 현재 픽처(810) 내 예측 블록(820)의 서브 블록(830)에 대응하는 텍스처 픽처(840) 내 블록(850)이 특정된다. 이때, 현재 픽처(810)는 뎁스 픽처일 수 있다.
대응하는 텍스처 블록(850)의 센터(860)를 포함하는 예측 블록의 움직임 정보가 서브 블록(830)의 움직임 정보로 이용될 수 있다. 예컨대, 대응 블록(850)을 커버하는 예측 블록이 둘 있는 경우, 센터(860)를 포함하는 예측 블록(850’)의 움직임 정보가 서브 블록(830)의 움직임 정보로 사용될 수 있다.
움직임 파라미터를 텍스처 픽처로부터 승계하는 방법의 하나로, 움직임 벡터 승계(motion vector inheritance, MVI)가 이용될 수도 있다.
도 9는 MVI 통하여 텍스처 픽처의 움직임 벡터를 유도하는 과정을 개략적으로 설명하는 도면이다.
도 9를 참조하면, 뎁스 픽처(910) 내 현재 블록 C(920)과 동일한 위치에 있는 텍스트 픽처(930) 내 대응 블록 C’(940)으로부터 움직임 벡터가 승계될 수 있다. 예컨대, 인코딩 장치 및 디코딩 장치의 예측부는 대응 블록 C’(940)의 중심(center)에서 움직임 벡터 Mv(950)를 유도하여, 현재 블록(920)에 대한 움직임 벡터 Mv(960)로 사용할 수 있다. 이때, 예측부는 현재 블록 C(920)와 동일한 위치의 텍스처 블록(940)이 인트라 예측이 적용된 블록인 경우에는 텍스처 블록으로부터 움직임 벡터를 가져오지 않는다.
도 9는 텍스처 블록의 중심에서 움직임 정보를 유도하여 텝스 픽처의 현재 블록에 적용하는 방법을 설명하고 있다. 이와 관련해서, 현재 블록에 대응하는 텍스처 픽처로부터 서브 블록 단위로 움직임 벡터를 가져와서 현재 블록에 대한 예측의 정확성을 높일 수 있다.
예컨대, 인코딩 장치 및 디코딩 장치의 예측부는 텍스처 픽처 내 대응 블록을 일정한 크기의 서브 블록으로 분할하고, 분할된 서브 블록 단위로 움직임 정보를 가져와 뎁스 픽처 내 현재 블록에 적용할 수 있다. 이때, 대응 블록은 예측 블록일 수 있으며, 서브 블록은 서브 예측 블록 또는 서브 PU일 수 있다.
도 10은 서브 블록 단위로 MVI를 적용하여 움직임 벡터를 유도하는 방법을 개략적으로 설명하는 도면이다.
도 10의 예에서는 서브 예측 블록(서브 PU) 단위로 뎁스 픽처의 움직임 벡터를 텍스처 픽처로부터 유도하는 방법을 설명하고 있다.
도 10을 참조하면, 뎁스 픽처(1010) 내 현재 블록 C(1020)의 움직임 벡터가 텍스처 픽처(1030) 내 대응 블록 C’(1040)으로부터 승계될 수 있다. 이때, 움직임 벡터의 승계는 현재 블록 C(1020)와 대응 블록 C’(1040)에서 서브 블록 단위로 이루어질 수 있다.
현재 블록 C(1020)이 예측 블록인 경우, 서브 블록들 C1 ~ C4와 C’1 ~ C’4은 서브 예측 블록이 된다. 서브 예측 블록(서브 PU)의 크기는 NxM(N, M은 0보다 큰 정수)으로 설정될 수 있다.
인코딩 장치와 디코딩 장치의 예측부는 원래 텍스처 픽처 내 블록 분할 정보와 상관없이, 뎁스 블록인 현재 블록 C(1020)와의 대응 관계에 의해 특정된 서브 블록을 기반으로 움직임 벡터를 가져올 수 있다. 예컨대, 예측부는 대응 블록 C’(1040)의 서브 블록들 C1’~C4’의 크기에 따라서 움직임 벡터를 가져올 수 있다.
서브 PU에서 움직임 정보를 가져오는 위치는 서브 PU의 중심이 될 수 있다. 혹은 서브 PU에서 움직임 정보를 가져오는 위치는 서브 예측 블록의 좌상측(left-top) 위치일 수도 있다. 각 서브 예측 블록은 좌상측 위치에 의해 특정될 수도 있다.
특정 서브 PU에 움직임 벡터가 존재하지 않는 경우에는, 예측부는 주변의 움직임 벡터 값으로 해당 서브 PU의 움직임 벡터를 대체할 수도 있다. 이때, 주변의 움직임 벡터는 해당 서브 PU의 왼쪽 또는 위쪽 서브 PU의 움직임 벡터가 될 수 있다.
또는, 인코딩 장치 및 디코딩 장치의 예측부는 특정 서브 PU에 움직임 벡터가 없는 경우, 미리 정의한 대체 움직임 벡터를 해당 서브 PU의 움직임 벡터로 설정할 수도 있다. 이때, 대체 움직임 벡터는 NBDV 또는 DoNBDV에 의해서 지시되는 블록의 움직임 벡터일 수 있다. 또는 예측부는 직전에 유도한 움직임 벡터를 대체 움직임 벡터로 설정하고, 대체 움직임 벡터를 계속해서 업데이트할 수도 있다.
예측부는 코딩(인코딩/디코딩)하고자 하는 뎁스(depth) 블록에 대응하는 텍스처 블록으로부터 움직임 벡터를 승계할 때, 예측 블록 단위(즉, PU 단위)로 할 것인지 서브 예측 블록(즉, 서브 PU 단위)로 할 것인지를 결정할 수 있다.
예컨대, PU 단위로 움직임 벡터를 승계할 것인지 서브 PU 단위로 움직임 벡터를 승계할 것인지를 지시하는 정보가 인코딩 장치로부터 디코딩 장치로 전송될 수 있다. 일 예로, PU 단위로 움직임 벡터를 승계할 것인지 서브 PU 단위로 움직임 벡터를 승계할 것인지의 지시는 플래그(flag)를 이용하여 시그널링 될 수 있다.
디코딩 장치는 수신한 정보를 기반으로 PU 단위로 움직임 벡터를 승계할 것인지 서브 PU 단위로 움직임 벡터를 승계할 것인지를 결정할 수 있다.
도 10을 다시 참조하면, 서브 PU 단위로 움직임 벡터를 승계하는 것으로 결정된 경우에, 예측부는 서브 블록 C1에 대해서 C’1의 움직임 벡터 Mv1, 서브 블록 C2에 대해서는 C2에 대응하는 C’2의 움직임 벡터 Mv2를, 서브 블록 C3에 대해서는 C3에 대응하는 C’3의 움직임 벡터 Mv3을, 서브 블록 C4에 대해서는 C4에 대응하는 C’4의 움직임 벡터를 가져다 사용할 수 있다.
도 11은 본 발명에 따른 디코딩 장치의 동작을 개략적으로 설명하는 순서도이다.
도 11을 참조하면, 디코딩 장치는 비트스트림을 엔트로피 디코딩하여 현재 블록의 디코딩에 필요한 비디오 정보를 출력한다(S1110). 비디오 정보는 현재 블록의 디코딩을 위해, 레지듀얼 및 레디듀얼을 역변환/역양자화 하는데 필요한 정보, 예측 샘플을 생성하는데 필요한 정보, 복원된 픽처에 필터링을 적용하는데 필요한 정보 등을 포함한다. 예컨대, 현재 블록이 뎁스 뷰 내의 블록인 경우, 비디오 정보는 움직임 정보를 텍스처 픽처로부터 승계할 것인지를 지시하는 정보를 포함할 수 있다. 또한, 현재 블록이 뎁스 뷰 내의 예측 블록 즉, 뎁스 뷰 내의 PU인 경우, 현재 블록의 움직임 정보를 서브 예측 블록(서브 PU)단위로 유도할 것인지를 지시하는 정보를 포함할 수도 있다. 서브 예측 블록 단위로 움직임 벡터를 유도할 것인지를 지시하는 정보는, 움직임 정보가 유도되는 블록의 크기를 지시함으로써 움직임 벡터가 예측 블록 단위로 유도되는지 서브 예륵 블록 단위로 유도되는지를 지시할 수도 있다.
비디오 정보는 필요에 따라서 비디오 파라미터 세트의 레벨 또는 비디오 파라미터 세트의 확장 레벨에서 전송될 수 있다.
디코딩 장치는 현재 블록에 대한 움직임 벡터를 유도하는 단위를 비디오 정보를 기반으로 결정할 수 있다(S1120). 상술한 바와 같이, 비디오 정보는 서브 예측 블록 단위로 움직임 벡터를 유도할 것인지를 지시하는 움직임 정보 유도 단위 정보를 포함할 수 있다. 디코딩 장치는 상기 움직임 정보 유도 단위 정보를 기반으로 움직임 정보를 예측 블록 단위로 유도할 것인지 서브 블록(서브 예측 블록) 단위로 유도할 것인지를 결정할 수 있다.
디코딩 장치는 상기 결정에 기반해서 현재 블록에 대한 움직임 벡터를 유도할 수 있다(S1130). 움직임 정보를 예측 블록 단위로 유도하는 것으로 결정된 경우에는, 대응하는 텍스처 픽처의 블록으로부터 뎁스 픽처 내 현재 블록의 움직임 정보(예컨대, 움직임 벡터)를 유도할 수 있다. 예를 들어, 디코딩 장치는 텍스처 픽처 내 대응 블록의 움직임 벡터를 뎁스 픽처 내 현재 블록의 움직임 벡터로 설정할 수 있다.
움직임 정보를 서브 예측 블록 단위로 유도하는 것으로 결정된 경우에는, 대응하는 텍스처 픽처 내 블록의 서브 블록으로부터 뎁스 픽처 내 현재 블록의 움직임 정보(예컨대, 움직임 벡터)를 유도할 수 있다. 예를 들어, 디코딩 장치는 텍스처 픽처 내 대응 블록의 서브 블록에 대한 움직임 벡터를 뎁스 픽처 내 현재 블록의 서브 블록에 대한 움직임 벡터로 설정할 수 있다.
디코딩 장치는 상기 움직임 벡터를 이용하여 현재 블록에 대한 예측 샘플을 유도할 수 있다(S1140). 예측 블록 단위로 움직임 벡터가 유도된 경우에, 디코딩 장치는 상기 움직임 벡터를 이용하여 서브 블록 단위로 예측 샘플을 유도할 수 있다. 예컨대, 디코딩 장치는 서브 블록 단위로 특정된 움직임 벡터가 참조 픽처 상에서 지시하는 영역의 샘플들을 현재 블록(예컨대, 예측 블록)의 서브 블록(예컨대, 서브 예측 블록)에 대한 예측 샘플로 이용할 수 있다.
예측 블록 단위로 움직임 벡터가 유도된 경우에, 디코딩 장치는 상기 움직임 벡터를 이용하여 예측 블록 단위로 예측 샘플을 유도할 수 있다. 예컨대, 디코딩 장치는 예측 블록 단위로 특정된 움직임 벡터가 참조 픽처 상에서 지시하는 영역의 샘플들을 현재 블록(예측 블록)의 예측 샘플로 이용할 수 있다.
예측 샘플이 유도되면, 디코딩 장치는 예측 샘플과 레지듀얼 샘플을 더하여 복원 샘플을 유도할 수 있다. 뎁스에 대한 코딩인 경우에, 디코딩 장치는 복잡도를 낮추기 위해, 인루프 필터링 등을 생략할 수도 있다.
도 11에서는 디코딩에 대하여 설명하였으나, S1120 이하의 단계, 즉 서브 블록 단위로 뎁스 맵의 블록에 대한 움직임 벡터를 유도할 것인지를 결정하는 단계, 현재 블록 또는 현재 블록의 서브 블록 단위로 움직임 벡터를 유도하는 단계, 움직임 벡터를 이용하여 예측 샘플을 유도하는 단계와 이를 이용하여 복원 샘플을 유도하는 것은 인코딩 장치에서도 동일하게 수행될 수 있다.
다만, 인코딩 장치는 서브 블록 단위로 움직임 벡터를 유도할 것인지를 코딩에 대한 코스트(cost)를 고려하여 결정한 뒤, 관련 정보를 엔트로피 인코딩하여 디코딩 장치로 전달할 수 있다.
상술한 예시적인 시스템에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 상술한 실시예들은 다양한 양태의 예시들을 포함한다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.

Claims (14)

  1. 멀티-뷰 비디오를 디코딩하는 비디오 디코딩 장치로서,
    비트스트림을 엔트로피 디코딩하여 뎁스 픽처 내 현재 코딩 블록의 디코딩에 필요한 비디오 정보를 출력하는 엔트로피 디코딩부;
    상기 현재 코딩 블록의 디코딩에 참조되는 픽처들을 저장하는 메모리; 및
    상기 비디오 정보를 기반으로 상기 현재 코딩 블록에 인트라 예측 모드가 적용되는지 또는 상기 현재 코딩 블록에 인터 모드가 적용되는지 여부를 결정하고, 상기 현재 코딩 블록에 상기 인터 모드가 적용되는 경우, 지시 정보를 기반으로 상기 현재 코딩 블록의 현재 예측 블록의 각 서브 블록에 대한 움직임 정보를 텍스처 픽처 내 대응 텍스처 블록의 대응 서브 블록으로부터 유도할 것인지를 결정하고, 상기 지시 정보가 상기 현재 예측 블록의 상기 각 서브 블록에 대한 상기 움직임 정보가 유도됨을 나타내는 경우, 상기 대응 텍스처 블록의 상기 대응 서브 블록에 대한 움직임 정보로부터 상기 현재 예측 블록의 상기 각 서브 블록에 대한 상기 움직임 정보를 유도하고, 상기 현재 예측 블록의 상기 각 서브 블록에 대한 상기 움직임 정보를 이용하여 상기 현재 예측 블록의 상기 각 서브 블록에 대한 예측 샘플을 유도하는 예측부를 포함하며,
    상기 비디오 정보는 상기 현재 예측 블록의 상기 각 서브 블록에 대한 상기 움직임 정보가 유도되는지 여부를 나타내는 상기 지시 정보를 포함하는 것을 특징으로 하는 비디오 디코딩 장치.
  2. 제1항에 있어서, 상기 텍스처 픽처는 상기 뎁스 픽처와 동일한 시간의 픽처이며, 상기 텍스처 픽처 내 상기 대응 텍스처 블록은 상기 텍스처 픽처 내에서 상기 현재 예측 블록과 동일한 위치에 있는 블록인 것을 특징으로 하는 비디오 디코딩 장치.
  3. 제1항에 있어서, 상기 지시 정보가 상기 현재 예측 블록의 상기 각 서브 블록에 대한 상기 움직임 정보가 유도됨을 나타내는 경우에, 상기 예측부는 상기 텍스처 픽처 내 상기 대응 텍스처 블록의 상기 대응 서브 블록에 대한 움직임 벡터로부터 상기 현재 예측 블록의 상기 각 서브 블록에 대한 움직임 벡터를 유도하는 것을 특징으로 하는 비디오 디코딩 장치.
  4. 제3항에 있어서, 상기 텍스처 픽처 내 상기 대응 텍스처 블록의 상기 대응 서브 블록은 상기 현재 예측 블록의 상기 각 서브 블록에 대응하는 것을 특징으로 하는 비디오 디코딩 장치.
  5. 멀티-뷰 비디오를 디코딩하는 비디오 디코딩 방법으로서,
    비트스트림을 엔트로피 디코딩하여 뎁스 픽처 내 현재 코딩 블록의 디코딩에 필요한 비디오 정보를 유도하는 단계;
    상기 비디오 정보를 기반으로 상기 현재 코딩 블록에 인트라 예측 모드가 적용되는지 또는 상기 현재 코딩 블록에 인터 모드가 적용되는지 여부를 결정하는 단계;
    상기 현재 코딩 블록에 상기 인터 모드가 적용되는 경우, 지시 정보를 기반으로 상기 현재 코딩 블록의 현재 예측 블록의 각 서브 블록에 대한 움직임 정보를 텍스처 픽처 내 대응 텍스처 블록의 대응 서브 블록으로부터 유도할 것인지를 결정하는 단계;
    상기 지시 정보가 상기 현재 예측 블록의 상기 각 서브 블록에 대한 상기 움직임 정보가 유도됨을 나타내는 경우, 상기 대응 텍스처 블록의 상기 대응 서브 블록에 대한 움직임 정보로부터 상기 현재 예측 블록의 상기 각 서브 블록에 대한 상기 움직임 정보를 유도하는 단계; 및
    상기 현재 예측 블록의 상기 각 서브 블록에 대한 상기 움직임 정보를 이용하여 상기 현재 예측 블록의 상기 각 서브 블록에 대한 예측 샘플을 유도하는 단계를 포함하고,
    상기 비디오 정보는 상기 현재 예측 블록의 상기 각 서브 블록에 대한 상기 움직임 정보가 유도되는지 여부를 나타내는 상기 지시 정보를 포함하는 것을 특징으로 하는 비디오 디코딩 방법.
  6. 제5항에 있어서, 상기 텍스처 픽처는 상기 뎁스 픽처와 동일한 시간의 픽처이며, 상기 대응 텍스처 블록은 상기 텍스처 픽처 내에서 상기 현재 예측 블록과 동일한 위치에 있는 블록인 것을 특징으로 하는 비디오 디코딩 방법.
  7. 제5항에 있어서, 상기 지시 정보가 상기 현재 예측 블록의 상기 각 서브 블록에 대한 상기 움직임 정보가 유도됨을 나타내는 경우, 상기 현재 예측 블록의 상기 각 서브 블록에 대한 움직임 벡터는 상기 대응 텍스처 블록의 상기 대응 서브 블록에 대한 움직임 벡터로부터 유도되는 것을 특징으로 하는 비디오 디코딩 방법.
  8. 제7항에 있어서, 상기 대응 텍스처 블록의 상기 대응 서브 블록은 상기 현재 예측 블록의 상기 각 서브 블록에 대응하는 것을 특징으로 하는 비디오 디코딩 방법.
  9. 멀티-뷰 비디오를 인코딩하는 비디오 인코딩 방법으로서,
    뎁스 픽처 내 현재 코딩 블록에 인트라 예측 모드가 적용되는지 또는 상기 뎁스 픽처 내 상기 현재 코딩 블록에 인터 모드가 적용되는지 여부를 결정하는 단계;
    상기 현재 코딩 블록에 상기 인터 모드가 적용되는 경우, 상기 현재 코딩 블록의 현재 예측 블록의 각 서브 블록에 대한 움직임 정보를 텍스처 픽처 내 대응 텍스처 블록의 대응 서브 블록으로부터 유도할 것인지를 결정하는 단계;
    상기 현재 예측 블록의 상기 각 서브 블록에 대한 상기 움직임 정보가 유도되는지 또는 상기 현재 예측 블록의 움직임 정보가 도출되는지 여부를 나타내는 지시 정보를 생성하는 단계; 및
    상기 지시 정보를 포함하는 비디오 정보를 엔트로피 인코딩하는 단계를 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
  10. 컴퓨터 판독 가능한 디지털 저장 매체로서, 청구항 9항에 기재된 비디오 인코딩 방법에 의하여 생성된 비트스트림이 저장된, 디지털 저장 매체.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
KR1020167009104A 2013-10-18 2014-10-20 멀티-뷰 비디오의 디코딩 방법 및 장치 KR102343817B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361892448P 2013-10-18 2013-10-18
US61/892,448 2013-10-18
PCT/KR2014/009860 WO2015057038A1 (ko) 2013-10-18 2014-10-20 멀티-뷰 비디오의 디코딩 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20160072101A KR20160072101A (ko) 2016-06-22
KR102343817B1 true KR102343817B1 (ko) 2021-12-27

Family

ID=52828406

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167009104A KR102343817B1 (ko) 2013-10-18 2014-10-20 멀티-뷰 비디오의 디코딩 방법 및 장치

Country Status (6)

Country Link
US (1) US10045048B2 (ko)
EP (1) EP3059968A4 (ko)
JP (1) JP6571646B2 (ko)
KR (1) KR102343817B1 (ko)
CN (1) CN105637875A (ko)
WO (1) WO2015057038A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017520994A (ja) * 2014-06-20 2017-07-27 寰發股▲ふん▼有限公司HFI Innovation Inc. 3dおよびマルチビュービデオコーディングのサブpu構文シグナリングおよび照明補償方法
CN116016922A (zh) * 2017-07-07 2023-04-25 三星电子株式会社 用于对运动矢量进行编码和解码的设备和方法
CN111183644A (zh) 2017-09-28 2020-05-19 三星电子株式会社 编码方法及其设备、解码方法及其设备
CN109996075B (zh) * 2017-12-29 2022-07-12 华为技术有限公司 一种图像解码方法及解码器
CN112672132B (zh) * 2018-09-30 2023-12-26 Oppo广东移动通信有限公司 数据处理方法及装置、电子设备及存储介质
CN109257609B (zh) * 2018-09-30 2021-04-23 Oppo广东移动通信有限公司 数据处理方法及装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013075024A1 (en) * 2011-11-18 2013-05-23 Qualcomm Incorporated Inside view motion prediction among texture and depth view components

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100544677B1 (ko) * 2003-12-26 2006-01-23 한국전자통신연구원 다시점 영상 및 깊이 정보를 이용한 3차원 객체 추적 장치및 그 방법
EP2338281A4 (en) 2008-10-17 2012-08-15 Nokia Corp SHARING THE MOTION VECTOR IN 3D VIDEO CODING
KR20170005464A (ko) * 2011-08-30 2017-01-13 노키아 테크놀로지스 오와이 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
WO2013107931A1 (en) * 2012-01-19 2013-07-25 Nokia Corporation An apparatus, a method and a computer program for video coding and decoding
TW201342884A (zh) * 2012-01-31 2013-10-16 Sony Corp 編碼裝置及編碼方法、以及解碼裝置及解碼方法
US9998726B2 (en) * 2012-06-20 2018-06-12 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
WO2014089727A1 (en) * 2012-12-14 2014-06-19 Qualcomm Incorporated Inside view motion prediction among texture and depth view components with asymmetric spatial resolution
US9544601B2 (en) * 2013-10-15 2017-01-10 Qualcomm Incorporated Wedgelet pattern extension for depth intra coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013075024A1 (en) * 2011-11-18 2013-05-23 Qualcomm Incorporated Inside view motion prediction among texture and depth view components

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
H. Oh, et al. H.264-Based Depth Map Sequence Coding Using Motion Information of Corresponding Texture Video. PSIVT 2006: Advances in Image and Video Technology, Dec. 2006, pp.898-907
M. M. Hannuksela, Test model under consideration for AVC-based 3D video coding (3DV-ATM). ISO/IEC JTC1/SC29/WG11 MPEG2011/N12349 Ver.1, Dec. 3, 2011, pp.1-15

Also Published As

Publication number Publication date
US10045048B2 (en) 2018-08-07
US20160261888A1 (en) 2016-09-08
JP2016537871A (ja) 2016-12-01
CN105637875A (zh) 2016-06-01
JP6571646B2 (ja) 2019-09-04
EP3059968A4 (en) 2017-05-31
KR20160072101A (ko) 2016-06-22
WO2015057038A1 (ko) 2015-04-23
EP3059968A1 (en) 2016-08-24

Similar Documents

Publication Publication Date Title
KR102254599B1 (ko) 멀티-뷰 비디오 코딩에 있어서, 뷰 합성 예측 방법 및 이를 이용한 머지 후보 리스트 구성 방법
KR102135997B1 (ko) 심도 인트라 예측 모드들에 대한 잔차 코딩
KR102269506B1 (ko) 멀티-뷰 비디오를 디코딩하는 비디오 디코딩 방법 및 장치
KR102185200B1 (ko) 비디오 데이터 디코딩 방법 및 비디오 데이터 디코딩 장치
KR102343817B1 (ko) 멀티-뷰 비디오의 디코딩 방법 및 장치
US20170310993A1 (en) Movement information compression method and device for 3d video coding
US10659814B2 (en) Depth picture coding method and device in video coding
US20170310994A1 (en) 3d video coding method and device
WO2015057037A1 (ko) 멀티-뷰 비디오를 디코딩하는 비디오 디코딩 장치 및 방법
KR20150004289A (ko) 복수의 레이어를 포함하는 영상의 부호화 및 복호화 방법
US10587894B2 (en) Method and device for encoding/decoding 3D video
US20160255371A1 (en) Method and apparatus for coding/decoding 3d video
US10419779B2 (en) Method and device for processing camera parameter in 3D video coding
US20160255368A1 (en) Method and apparatus for coding/decoding video comprising multi-view
US10397611B2 (en) Method and device for encoding/decoding 3D video
WO2015141977A1 (ko) 3d 비디오 부호화/복호화 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant