KR102133936B1 - 3d 비디오 부호화/복호화 장치 및 부호화/복호화 방법 - Google Patents

3d 비디오 부호화/복호화 장치 및 부호화/복호화 방법 Download PDF

Info

Publication number
KR102133936B1
KR102133936B1 KR1020130041374A KR20130041374A KR102133936B1 KR 102133936 B1 KR102133936 B1 KR 102133936B1 KR 1020130041374 A KR1020130041374 A KR 1020130041374A KR 20130041374 A KR20130041374 A KR 20130041374A KR 102133936 B1 KR102133936 B1 KR 102133936B1
Authority
KR
South Korea
Prior art keywords
identification information
current block
skip mode
block
mode
Prior art date
Application number
KR1020130041374A
Other languages
English (en)
Other versions
KR20130116826A (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 삼성전자주식회사
Priority to PCT/KR2013/003178 priority Critical patent/WO2013157812A1/ko
Publication of KR20130116826A publication Critical patent/KR20130116826A/ko
Application granted granted Critical
Publication of KR102133936B1 publication Critical patent/KR102133936B1/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/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/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

Abstract

3D 비디오 부호화/복호화 장치 및 부호화/복호화 방법이 개시된다. 3D 비디오 부호화/복호화 장치는 기존의 예측 기법, 인터뷰 예측 기법 또는 시점 합성 기법에 따라 영상을 부호화/복호화하고, 예측 기법에 따른 코딩 모드를 효율적으로 전송할 수 있다.

Description

3D 비디오 부호화/복호화 장치 및 부호화/복호화 방법{APPARATUS AND METHOD FOR ENCODING/DECODING FOR 3D VIDEO}
이하의 실시예들은 3D 비디오를 효율적으로 부호화/복호화하고, 이를 전송하는 장치 및 방법에 관한 것이다.
입체 영상이란 깊이 및 공간에 대한 형상 정보를 동시에 제공하는 3차원 영상을 의미한다. 스테레오 영상의 경우, 좌우 눈에 각각 다른 시점의 영상을 제공하는 반면에, 입체 영상은 관찰자가 보는 시점을 달리할 때마다 다른 방향에서 본 것과 같은 영상을 제공한다. 따라서, 입체 영상을 생성하기 위해서는 여러 시점에서 촬영한 영상들이 필요하다.
입체 영상을 생성하기 위해 여러 시점에서 찍은 영상들은 데이터량이 방대하다. 따라서, 입체 영상을 위해 네트워크 인프라, 지상파 대역폭 등을 고려하면 MPEG-2, H.264/AVC, 그리고 HEVC 등과 같은 단일시점 비디오 압축(Single-View Video Coding)에 최적화된 부호화 장치를 사용하여 압축하더라도 실현이 거의 불가능할 수 있다.
다만, 관찰자가 보는 시점마다 찍은 영상들은 서로 관련성이 있기 때문에 중복되는 정보가 많다. 따라서, 시점간 중복성을 제거할 수 있는 다시점 영상에 최적화된 부호화 장치를 이용하면 보다 적은 양의 데이터를 전송할 수 있다.
특히, 깊이 영상은 칼라 영상에서 물체와 시청자 간의 거리를 0~255의 값으로 나타낸 영상이므로, 깊이 영상과 칼라 영상간의 특징은 유사하다. 일반적으로 3D 비디오는 여러 시점의 칼라 영상과 깊이 영상을 포함한다. 하지만, 3D 비디오들은 시간적으로 연속적인 영상들 간에 시간적 중복성을 가지고 있다. 뿐만 아니라, 3D 비디오들은 서로 다른 시점들에 해당하는 영상들 간에도 시점간 중복성을 가지고 있다.
따라서, 이와 같은 시간적 중복성과 시점간 중복성을 효율적으로 제거하여 3D 비디오를 보다 최적화된 형태로 부호화/복호화하여 전송하는 기법이 필요하다.
일실시예에 따른 복호화 방법은 현재 블록이 시점 합성 스킵 모드인지 여부를 나타내는 제1 식별 정보를 추출하는 단계; 상기 제1 식별 정보에 따라 현재 블록이 시점 합성 스킵 모드가 아닌 경우, 상기 현재 블록이 일반 스킵 모드인지 여부를 나타내는 제2 식별 정보를 추출하는 단계; 및 상기 제1 식별 정보 또는 제2 식별 정보를 이용하여 상기 현재 블록을 복호화하는 단계를 포함할 수 있다.
상기 제1 식별 정보는, 현재 블록의 왼쪽 블록 및 위쪽 블록이 모두 시점 합성 스킵 모드인 경우, 제2 식별 정보보다 먼저 위치할 수 있다.
상기 시점 합성 스킵 모드는, 현재 블록의 현재 시점과 동일한 시점인 가상 시점의 합성 영상을 이용하고, 상기 합성 영상은, 현재 시점의 주변 시점에서의 부호화된 텍스쳐 정보와 깊이 정보로부터 결정될 수 있다.
상기 일반 스킵 모드는, 인트라 스킵 모드, 인터 스킵 모드 또는 인터뷰 스킵 모드 중 적어도 하나를 포함할 수 있다.
다른 실시예에 따른 복호화 방법은 현재 블록이 일반 스킵 모드인지 여부를 나타내는 제1 식별 정보를 추출하는 단계; 상기 제1 식별 정보에 따라 현재 블록이 일반 스킵 모드가 아닌 경우, 상기 현재 블록이 시점 합성 스킵 모드인지 여부를 나타내는 제2 식별 정보를 추출하는 단계; 및 상기 제1 식별 정보 또는 제2 식별 정보를 이용하여 상기 현재 블록을 복호화하는 단계를 포함할 수 있다.
상기 제1 식별 정보는, 현재 블록의 왼쪽 블록 및 위쪽 블록 중 적어도 하나가 일반 스킵 모드인 경우, 제2 식별 정보보다 먼저 위치할 수 있다.
상기 시점 합성 스킵 모드는, 현재 블록의 현재 시점과 동일한 시점인 가상 시점의 합성 영상을 이용하고, 상기 합성 영상은, 현재 시점의 주변 시점에서 부호화된 텍스쳐 정보와 깊이 정보로부터 결정될 수 있다.
상기 일반 스킵 모드는, 인트라 스킵 모드, 인터 스킵 모드 또는 인터뷰 스킵 모드 중 적어도 하나를 포함할 수 있다.
또 다른 실시예에 따른 복호화 방법은 비트스트림에서 현재 블록의 부호화 모드를 나타내는 식별 정보를 추출하는 단계; 상기 식별 정보에 기초하여 현재 블록을 복호화하는 단계를 포함하고, 상기 식별 정보는, 현재 블록이 시점 합성 스킵 모드인지 여부를 나타내는 제1 식별 정보 및 현재 블록이 일반 스킵 모드인지 여부를 나타내는 제2 식별 정보를 포함할 수 있다.
상기 제1 식별 정보 및 제2 식별 정보 간의 순서는, 상기 현재 블록의 주변 블록의 부호화 모드에 따라 달라지고, 상기 주변 블록은, 상기 현재 블록의 위쪽 블록 및 왼쪽 블록을 포함할 수 있다.
상기 제1 식별 정보는, 만약 현재 블록의 위쪽 블록 및 왼쪽 블록이 모두 시점 합성 스킵 모드이면 제2 식별 정보보다 먼저 위치하고, 그렇지 않으면 제2 식별 정보보다 나중에 위치할 수 있다.
일실시예에 따른 부호화 방법은 현재 블록에 인접한 주변 블록의 부호화 모드를 판단하는 단계; 상기 부호화 모드에 따라 현재 블록의 스킵 모드와 관련된 식별 정보를 적응적으로 배치하는 단계; 및 상기 식별 정보와 현재 블록을 부호화하는 단계를 포함할 수 있다.
상기 식별 정보는, 현재 블록이 시점 합성 스킵 모드인지 여부를 나타내는 제1 식별 정보 및 현재 블록이 일반 스킵 모드인지 여부를 나타내는 제2 식별 정보를 포함할 수 있다.
다른 실시예에 따른 부호화 방법은 현재 블록의 위쪽 블록 및 왼쪽 블록의 부호화 모드가 모두 시점 합성 스킵 모드인지 여부를 판단하는 단계; 판단 결과에 따라, 상기 현재 블록이 시점 합성 스킵 모드인지 여부를 나타내는 제1 식별 정보 및 상기 현재 블록이 일반 스킵 모드인지 여부를 나타내는 제2 식별 정보의 위치를 결정하는 단계; 및 상기 제1 식별 정보, 제2 식별 정보 및 현재 블록을 부호화하는 단계를 포함할 수 있다.
일실시예에 따른 복호화 장치는 현재 블록이 시점 합성 스킵 모드인지 여부를 나타내는 제1 식별 정보를 추출하고, 상기 제1 식별 정보에 따라 현재 블록이 시점 합성 스킵 모드가 아닌 경우, 상기 현재 블록이 일반 스킵 모드인지 여부를 나타내는 제2 식별 정보를 추출하는 식별 정보 추출부; 및 상기 제1 식별 정보 또는 제2 식별 정보를 이용하여 상기 현재 블록을 복호화하는 복호화부를 포함할 수 있다.
상기 제1 식별 정보는, 현재 블록의 왼쪽 블록 및 위쪽 블록이 모두 시점 합성 스킵 모드인 경우, 제2 식별 정보보다 먼저 위치할 수 있다.
상기 시점 합성 스킵 모드는, 현재 블록의 현재 시점과 동일한 시점인 가상 시점의 합성 영상을 이용하고, 상기 합성 영상은, 현재 시점의 주변 시점에서의 부호화된 텍스쳐 정보와 깊이 정보로부터 결정될 수 있다.
상기 일반 스킵 모드는, 인트라 스킵 모드, 인터 스킵 모드 또는 인터뷰 스킵 모드 중 적어도 하나를 포함할 수 있다.
다른 실시예에 따른 복호화 장치는 현재 블록이 일반 스킵 모드인지 여부를 나타내는 제1 식별 정보를 추출하고, 상기 제1 식별 정보에 따라 현재 블록이 일반 스킵 모드가 아닌 경우, 상기 현재 블록이 시점 합성 스킵 모드인지 여부를 나타내는 제2 식별 정보를 추출하는 식별 정보 추출부; 및 상기 제1 식별 정보 또는 제2 식별 정보를 이용하여 상기 현재 블록을 복호화하는 복호화부를 포함할 수 있다.
상기 제1 식별 정보는, 현재 블록의 왼쪽 블록 및 위쪽 블록 중 적어도 하나가 일반 스킵 모드인 경우, 제2 식별 정보보다 먼저 위치할 수 있다.
상기 시점 합성 스킵 모드는, 현재 블록의 현재 시점과 동일한 시점인 가상 시점의 합성 영상을 이용하고, 상기 합성 영상은, 현재 시점의 주변 시점에서 부호화된 텍스쳐 정보와 깊이 정보로부터 결정될 수 있다.
상기 일반 스킵 모드는, 인트라 스킵 모드, 인터 스킵 모드 또는 인터뷰 스킵 모드 중 적어도 하나를 포함할 수 있다.
또 다른 실시예에 따른 복호화 장치는 비트스트림에서 현재 블록의 부호화 모드를 나타내는 식별 정보를 추출하는 식별 정보 추출부; 및 상기 식별 정보에 기초하여 현재 블록을 복호화하는 복호화부를 포함하고, 상기 식별 정보는, 현재 블록이 시점 합성 스킵 모드인지 여부를 나타내는 제1 식별 정보 및 현재 블록이 일반 스킵 모드인지 여부를 나타내는 제2 식별 정보를 포함할 수 있다.
상기 제1 식별 정보 및 제2 식별 정보 간의 순서는, 상기 현재 블록의 주변 블록의 부호화 모드에 따라 달라지고, 상기 주변 블록은, 상기 현재 블록의 위쪽 블록 및 왼쪽 블록을 포함할 수 있다.
상기 제1 식별 정보는, 만약 현재 블록의 위쪽 블록 및 왼쪽 블록이 모두 시점 합성 스킵 모드이면 제2 식별 정보보다 먼저 위치하고, 그렇지 않으면 제2 식별 정보보다 나중에 위치할 수 있다.
일실시예에 따른 부호화 장치는 현재 블록에 인접한 주변 블록의 부호화 모드를 판단하는 부호화 모드 판단부; 상기 부호화 모드에 따라 현재 블록의 스킵 모드와 관련된 식별 정보를 적응적으로 배치하는 식별 정보 배치부; 및 상기 식별 정보와 현재 블록을 부호화하는 부호화부를 포함하고, 상기 식별 정보는, 현재 블록이 시점 합성 스킵 모드인지 여부를 나타내는 제1 식별 정보 및 현재 블록이 일반 스킵 모드인지 여부를 나타내는 제2 식별 정보를 포함할 수 있다.
다른 실시예에 따른 부호화 장치는 현재 블록의 위쪽 블록 및 왼쪽 블록의 부호화 모드가 모두 시점 합성 스킵 모드인지 여부를 판단하는 부호화 모드 판단부; 판단 결과에 따라, 상기 현재 블록이 시점 합성 스킵 모드인지 여부를 나타내는 제1 식별 정보 및 상기 현재 블록이 일반 스킵 모드인지 여부를 나타내는 제2 식별 정보의 위치를 결정하는 식별 정보 배치부; 및 상기 제1 식별 정보, 제2 식별 정보 및 현재 블록을 부호화하는 부호화부를 포함할 수 있다.
비트스트림을 기록한 컴퓨터가 읽기 가능한 기록매체에 있어서, 상기 비트스트림은, 부호화된 현재 블록, 현재 블록이 시점 합성 스킵 모드인지를 나타내는 제1 식별 정보 및 현재 블록이 일반 스킵 모드인지를 나타내는 제2 식별 정보를 포함하고, 상기 제1 식별 정보는, 상기 현재 블록의 위쪽 블록 및 왼쪽 블록이 모두 시점 합성 스킵 모드인 경우, 제2 식별 정보보다 먼저 비트스트림에 위치할 수 있다.
일실시예에 따른 복호화 장치는 비트스트림에서 현재 블록의 부호화 모드를 나타내는 제1 식별 정보 및 제2 식별 정보를 추출하는 식별 정보 추출부; 및 상기 식별 정보에 기초하여 현재 블록을 복호화하는 복호화부를 포함하고, 상기 제1 식별 정보 및 제2 식별 정보는, 시점 합성 스킵 모드, 인터뷰 스킵 모드, 인터 스킵 모드 및 인트라 스킵 모드 중에서 선택되고, 현재 블록의 주변 블록의 부호화 모드에 따라 비트스트림에 할당된 위치가 달라질 수 있다.
일실시예에 따른 복호화 방법은 비트스트림에서 현재 블록의 부호화 모드를 나타내는 제1 식별 정보 및 제2 식별 정보를 추출하는 단계; 및 상기 식별 정보에 기초하여 현재 블록을 복호화하는 단계를 포함하고, 상기 제1 식별 정보 및 제2 식별 정보는, 시점 합성 스킵 모드, 인터뷰 스킵 모드, 인터 스킵 모드 및 인트라 스킵 모드 중에서 선택되고, 현재 블록의 주변 블록의 부호화 모드에 따라 비트스트림에 할당된 위치가 달라질 수 있다.
도 1은 일실시예에 따른 부호화 장치와 복호화 장치를 도시한 도면이다.
도 2는 일실시예에 따른 복호화 장치의 세부 구성을 도시한 도면이다.
도 3은 일실시예에 따른 복호화 방법을 도시한 도면이다.
도 4는 일실시예에 따른 다시점 비디오의 구조를 도시한 도면이다.
도 5는 일실시예에 따른 현재 블록을 부호화하기 위해 사용되는 참조 영상의 예시를 도시한 도면이다.
도 6은 일실시예에 따라 시점 합성 스킵 모드와 시점 합성 다이렉트 모드를 설명하는 도면이다.
도 7은 일실시예에 따라 시점 합성의 잔차 신호 코딩 모드를 설명하는 도면이다.
도 8은 일실시예에 따른 시점 합성을 설명하기 위한 도면이다.
도 9는 일실시예에 따른 가상 시점의 합성 영상을 이용하는 부호화 과정을 설명하기 위한 도면이다.
도 10은 일실시예에 따른 가상 시점의 합성 영상을 이용하는 복호화 과정을 설명하기 위한 도면이다.
도 11은 일실시예에 따른 매크로블록을 위한 비트스트림 구조를 도시한 도면이다.
도 12는 다른 일실시예에 따른 매크로블록을 위한 비트스트림 구조를 도시한 도면이다.
이하, 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 시점간의 중복성을 효율적으로 줄이는 3D 비디오 부호화/복호화 (3D Video Encoding/Decoding System) 방법을 제안한다.
영상들간의 중복성 제거를 위해 기존의 압축 시스템들은 블록 기반의 예측을 수행한다. 블록 기반의 예측을 수행할 때 시점간의 중복성을 효율적으로 제거하기 위해 기존의 예측 방법 이외에 시점 합성 (View Synthesis Prediction) 방법을 사용할 수 있다. 시점 합성 방법은 (i)예측한 블록과 원래 블록간의 잔차 신호를 보내지 않고 예측한 블록을 그대로 보내는 스킵 (SKIP) 모드, (ii)움직임 정보를 제외한 잔차 신호를 부호화하는 다이렉트 (Direct) 모드, 움직임 정보 및 (iii)잔차 신호를 모두 부호화하여 보내는 잔차 신호 압축 (Residual Coding) 모드로 구분될 수 있다.
이하에서, 인트라 예측에 기초한 스킵 모드/다이렉트 모드는 인트라 스킵 모드와 인트라 다이렉트 모드로 표현하기로 한다. 또한, 인터 예측에 기초한 스킵 모드/다이렉트 모드는 인터 스킵 모드와 인터 다이렉트 모드로 표현하기로 한다. 그리고, 인터뷰 예측에 기초한 스킵 모드와 다이렉트 모드는 인터뷰 스킵 모드와 인터뷰 다이렉트 모드로 표현하기로 한다. 한편, 시점 합성 스킵 모드/다이렉트 모드는 시점 합성 스킵 모드와 시점 합성 다이렉트 모드로 표현하기로 한다.
도 1은 일실시예에 따른 부호화 장치와 복호화 장치를 도시한 도면이다.
일실시예에 따른 부호화 장치(101)는 3D 비디오를 부호화한 후 부호화된 데이터를 비트스트림 형태로 복호화 장치(102)에 전송할 수 있다. 일실시예에 따른 부호화 장치(101)는 3D 비디오를 부호화할 때 영상들 간의 중복성을 최대한 제거함으로써 부호화 효율을 향상시킬 수 있다.
이러한 영상들 간의 중복성을 제거하기 위해, 인트라(Intra), 인터(Inter), 인터뷰(Inter-View) 예측 방법이 활용될 수 있다. 그리고, 블록을 예측할 때 여러 가지 코딩 모드(SKIP, 2NX2N, NXN, 2NxN, NX2N, 인트라 모드)들이 사용될 수 있다. 일실시예에 따르면, 현재 정의되어 있는 스킵 모드와 더불어, 가상 시점의 합성 예측에 기초한 시점 합성 스킵 모드를 정의함으로써 현재 영상을 구성하는 더 많은 블록들이 스킵 모드로 부호화될 수 있는 확률이 증가한다.
이 때, 부호화 장치(101)는 이미 부호화된 주변 시점의 영상들을 합성하여 가상 시점의 합성 영상을 생성하고, 생성된 합성 영상을 이용하여 현재 시점의 영상을 부호화할 수 있다. 여기서, 가상 시점은 부호화하고자 하는 현재 시점과 동일한 위치의 시점을 의미할 수 있다. 그리고, 여기서, 주변 시점의 영상들은 주변 시점의 텍스쳐 정보(컬러 정보) 및 깊이 정보를 포함할 수 있다.
부호화 장치(101)는 스킵 (SKIP) 모드로 압축되는 블록들에 대해 블록 정보들을 부호화하지 않고 복호화 장치(102)에 스킵 모드를 식별하기 위한 1비트만을 전송하므로, 다른 코딩 모드들에 비해 많은 비트량을 줄일 수 있다.
그리고, 다이렉트 (Direct) 모드는 움직임 정보없이 잔차 신호만을 압축하여 전송하는 코딩 모드이므로, 움직임 정보에 관련된 비트량을 줄일 수 있다. 따라서, 부호화 장치(101)가 블록을 압축할 때 코딩 모드로 스킵 모드 또는 다이렉트 모드들을 많이 선택할수록 압축 성능을 향상시킬 수 있다.
일실시예에 따르면, 부호화 장치(101)는 인트라 예측 또는 인터 예측과 같이 기존의 예측 기법에 따른 스킵 모드와 더불어 인터뷰 예측 및 시점 합성을 통해 더 많은 블록들이 스킵 모드로 압축될 수 있도록 한다. 그리고, 가상 시점의 합성 영상을 이용하는 스킵 모드를 식별하기 위한 스킵 플래그(SKIP Flag)가 필요하다.
이 때, 현재 블록의 스킵 플래그는 현재 블록에 인접한 주변 블록들의 압축 정보를 기반으로 기존의 스킵 모드를 나타내는 SKIP Flag와 시점 합성의 스킵 모드를 나타내는 SKIP Flag 간의 위치 관계를 적응적으로 결정할 수 있다(Context-based Adaptive Skip Flag Positioning).
도 2는 일실시예에 따른 복호화 장치의 세부 구성을 도시한 도면이다.
도 2를 참고하면, 복호화 장치(102)는 식별 정보 추출부(201) 및 복호화부(202)를 포함할 수 있다.
식별 정보 추출부(201)는 먼저 현재 블록이 시점 합성 스킵 모드인지 여부를 나타내는 제1 식별 정보를 추출할 수 있다. 만약, 제1 식별 정보에 따라 현재 블록이 시점 합성 스킵 모드가 아닌 경우, 현재 블록이 일반 스킵 모드인지 여부를 나타내는 제2 식별 정보를 추출할 수 있다. 여기서, 식별 정보는 비트스트림에서 플래그로 표현될 수 있다. 예를 들어, 제1 식별 정보는 mb_vsskip_flag로 표현되고, 제2 식별 정보는 mb_skip_flag로 표현될 수 있다.
이 경우, 제1 식별 정보는 제2 식별 정보보다 먼저 위치하는 것을 의미한다. 일례로, 현재 블록의 위쪽 블록 및 왼쪽 블록이 모두 시점 합성 스킵 모드이면, 제1 식별 정보는 제2 식별 정보보다 먼저 위치할 수 있다. 반대로, 현재 블록의 위쪽 블록 및 왼쪽 블록이 적어도 하나가 일반 스킵 모드인 경우, 제1 식별 정보는 제2 식별 정보보다 뒤에 위치할 수 있다. 제1 식별 정보와 제2 식별 정보의 위치는 현재 블록의 주변 블록인 위쪽 블록 및 왼쪽 블록의 부호화 모드에 따라 적응적으로 달라질 수 있다. 여기서, 일반 스킵 모드는, 시점 합성 스킵 모드를 제외한 인트라 스킵 모드, 인터 스킵 모드 및 인터뷰 스킵 모드 중 적어도 하나를 포함할 수 있다.
복호화부(202)는 제1 식별 정보와 제2 식별 정보를 이용하여 현재 블록을 복호화할 수 있다. 만약, 제1 식별 정보에 따라 현재 블록이 시점 합성 스킵 모드에 따라 부호화된 경우, 복호화부(202)는 현재 시점의 주변 시점의 텍스쳐 정보와 깊이 정보에 따라 생성된 가상 시점의 합성 영상을 이용하여 현재 블록을 복호화할 수 있다. 그리고, 제2 식별 정보에 따라 현재 블록이 일반 스킵 모드에 따라 부호화된 경우, 복호화부(202)는 인트라 스킵 모드, 인터 스킵 모드 또는 인터뷰 스킵 모드 중 어느 하나를 판단한 후, 해당 스킵 모드를 고려하여 현재 블록을 복호화할 수 있다.
한편, 제1 식별 정보 및 제2 식별 정보에 따라 현재 블록이 시점 합성 스킵 모드 및 일반 스킵 모드 어느 스킵 모드도 아닌 경우, 복호화부(202)는 가상 시점의 합성 영상에 대한 잔차 신호를 이용하여 현재 블록을 복호화할 수 있다.
도 3은 일실시예에 따른 복호화 방법을 도시한 도면이다.
단계(301)에서, 복호화 장치(102)는 먼저 현재 블록이 시점 합성 스킵 모드인지 여부를 나타내는 제1 식별 정보를 추출할 수 있다. 단계(301)에서, 만약, 제1 식별 정보에 따라 현재 블록이 시점 합성 스킵 모드가 아닌 경우, 단계(302)에서 복호화 장치(102)는 현재 블록이 일반 스킵 모드인지 여부를 나타내는 제2 식별 정보를 추출할 수 있다. 여기서, 식별 정보는 비트스트림에서 플래그로 표현될 수 있다. 예를 들어, 제1 식별 정보는 mb_vsskip_flag로 표현되고, 제2 식별 정보는 mb_skip_flag로 표현될 수 있다.
이 경우, 제1 식별 정보는 제2 식별 정보보다 먼저 위치하는 것을 의미한다. 일례로, 현재 블록의 위쪽 블록 및 왼쪽 블록이 모두 시점 합성 스킵 모드이면, 제1 식별 정보는 제2 식별 정보보다 먼저 위치할 수 있다. 반대로, 현재 블록의 위쪽 블록 및 왼쪽 블록이 적어도 하나가 일반 스킵 모드인 경우, 제1 식별 정보는 제2 식별 정보보다 뒤에 위치할 수 있다. 제1 식별 정보와 제2 식별 정보의 위치는 현재 블록의 주변 블록인 위쪽 블록 및 왼쪽 블록의 부호화 모드에 따라 적응적으로 달라질 수 있다. 여기서, 일반 스킵 모드는, 시점 합성 스킵 모드를 제외한 인트라 스킵 모드, 인터 스킵 모드 및 인터뷰 스킵 모드 중 적어도 하나를 포함할 수 있다.
단계(303)에서 복호화 장치(102)는 제1 식별 정보와 제2 식별 정보를 이용하여 현재 블록을 복호화할 수 있다. 만약, 제1 식별 정보에 따라 현재 블록이 시점 합성 스킵 모드에 따라 부호화된 경우, 복호화 장치(102)는 현재 시점의 주변 시점의 텍스쳐 정보와 깊이 정보에 따라 생성된 가상 시점의 합성 영상을 이용하여 현재 블록을 복호화할 수 있다. 그리고, 제2 식별 정보에 따라 현재 블록이 일반 스킵 모드에 따라 부호화된 경우, 복호화 장치(102)는 인트라 스킵 모드, 인터 스킵 모드 또는 인터뷰 스킵 모드 중 어느 하나를 판단한 후, 해당 스킵 모드를 고려하여 현재 블록을 복호화할 수 있다.
한편, 제1 식별 정보 및 제2 식별 정보에 따라 현재 블록이 시점 합성 스킵 모드 및 일반 스킵 모드 어느 스킵 모드도 아닌 경우, 복호화 장치(102)는 가상 시점의 합성 영상에 대한 잔차 신호를 이용하여 현재 블록을 복호화할 수 있다.
도 4는 일실시예에 따른 다시점 비디오의 구조를 도시한 도면이다.
도 4를 참고하면, 3개 시점(Left, Center, Right)의 영상을 입력받았을 때, GOP(Group of Picture) '8'로 부호화하는 다시점 비디오 부호화 방식(Multiview Video Coding)을 나타낸다. 다시점(Multi-view) 영상을 부호화기 위해서는 기본적으로 시간(Temporal)축과 시점(View)축으로 계층적 B 영상(Hierarchical B Picture)을 적용하기 때문에 영상 간의 중복성(Redundancy)을 줄일 수 있다.
도 4에 도시된 다시점 비디오의 구조에 따라 다시점 비디오 부호화 장치(101)는 좌측 영상(Left Picture: I-view)을 먼저 부호화하고 우측 영상(Right Picture: P-view)과 중앙 영상(Center Picture: B-view)를 차례대로 부호화함으로써 3개 시점에 대응하는 영상을 부호화할 수 있다.
이 때, 좌측 영상은 움직임 추정(Motion Estimation)을 통해 이전 영상들로부터 비슷한 영역을 검색함으로써 시간적 중복성(Temporal Redundancy)이 제거되는 방식으로 부호화될 수 있다. 그리고, 우측 영상은 이미 부호화된 좌측 영상을 참조 영상으로 사용하여 부호화되기 때문에, 움직임 추정에 기초한 시간적 중복성과 변이 추정(Disparity Estimation)에 기초한 시점 간 중복성(View Redundancy)이 제거되는 방식으로 부호화될 수 있다. 또한, 중앙 영상은 이미 부호화된 좌측 영상과 우측 영상을 모두 참조 영상으로 이용하여 부호화되기 때문에, 양방향으로의 변이 추정에 따라 시점 간 중복성이 제거될 수 있다.
도 4를 참고하면, 다시점 비디오 부호화 방식에서, 좌측 영상과 같이 다른 시점의 참조 영상을 이용하지 않고 부호화되는 영상은 I-View, 우측 영상과 같이 다른 시점의 참조 영상을 단방향으로 예측하여 부호화하는 영상은 P-View, 중앙 영상과 같이 좌우 시점의 참조 영상을 양방향으로 예측하여 부호화하는 영상은 B-View이라고 정의된다.
MVC의 프레임은 예측 구조에 따라 크게 6가지 그룹으로 분류된다. 구체적으로, 6가지 그룹은 인트라 부호화를 위한 I-시점 Anchor 프레임, 시간축간 인터 부호화를 위한 I-시점 Non-anchor 프레임, 시점간 단방향 인터 부호화를 위한 P-시점 Anchor 프레임, 시점간 단방향 인터 부호화와 시간축간 양방향 인터 부호화를 위한 P-시점 Non-anchor 프레임, 시점간 양방향 인터 부호화를 위한 B-시점 Anchor 프레임 및 시점간 양방향 인터 부호화와 시간축간 양방향 인터 부호화를 위한 B-시점 Non-anchor 프레임으로 분류될 수 있다.
일실시예에 따르면, 부호화 장치(101)는 부호화하고자 하는 현재 시점의 좌우 시점인 주변 시점의 제1 영상을 합성하여 가상 시점의 합성 영상을 생성하고, 합성 영상을 이용하여 현재 시점의 제2 영상을 부호화할 수 있다. 여기서, 합성에 필요한 주변 시점의 제1 영상은 이미 부호화된 영상을 의미한다.
구체적으로, 부호화 장치(101)는 이미 부호화된 I-View를 합성하여 P-View를 부호화할 수 있다. 또는, 부호화 장치(101)는 이미 부호화된 I-View와 P-View를 합성하여 B-View를 부호화할 수 있다. 결국, 부호화 장치(101)는 주변에 위치한 이미 부호화된 영상을 합성하여 특정 영상을 부호화할 수 있다.
좌측 영상처럼 다른 시점으로부터의 예측없이 압축되는 영상은 I-View로 정의된다. 우측 영상처럼 다른 시점의 영상으로부터 단방향으로 예측하면서 압축되는 영상은 P-View로 정의된다. 그리고, 중앙 영상처럼 좌우 시점의 영상들로부터 양방향 예측하면서 압축되는 영상은 B-View로 정의된다.
도 5는 일실시예에 따른 현재 블록을 부호화하기 위해 사용되는 참조 영상의 예시를 도시한 도면이다.
부호화 장치(101)는 현재 픽쳐(501)인 현재 프레임에 위치한 현재 블록을 부호화할 때 현재 프레임의 시간상 주변에 위치한 참조 픽쳐(502, 503)와 시점상 주변에 위치한 참조 픽쳐(504, 505)를 이용할 수 있다.
구체적으로, 부호화 장치(101)는 참조 픽쳐(502~505)에서 현재 블록과 가장 유사한 예측 블록을 탐색하여 현재 블록과 예측 블록 간의 잔차 신호(residue)를 부호화할 수 있다.
부호화 장치(101)는 움직임 벡터에 기초하여 예측 블록을 탐색하기 위해 현재 블록이 포함된 현재 프레임과 시간이 다른 참조 픽쳐(502, 503)를 이용할 수 있다. 그리고, 변이 벡터에 기초하여 예측 블록을 탐색하기 위해 현재 블록이 포함된 현재 프레임과 시점이 다른 참조 픽쳐(504, 505)를 이용할 수 있다.
도 6은 일실시예에 따라 시점 합성 스킵 모드와 시점 합성 다이렉트 모드를 설명하는 도면이다.
시점 합성 예측은 이미 압축된 주변 시점의 영상들에 기초하여 생성된 가상 시점의 합성 영상을 이용하여 현재 블록과 가장 유사한 블록을 예측하는 기법이다. 따라서 시점 합성 예측을 수행하기 위해는 아래에서 설명할 수학식 1 내지 수학식 4를 이용하여 합성 영상(Synthesized Frame)이 필요하다. 합성 영상은 시점 합성 예측을 위한 참조 픽쳐에 대응한다.
시점 합성 예측에 의하면, 부호화 장치(101)는 합성 영상에서 현재 블록을 예측하기 위해 영 벡터(Zero Vector)를 사용할 수 있다. 그리고 부호화 장치(101)는 현재 블록의 블록 정보를 압축하는 지 여부에 따라 코딩 모드를 스킵 모드, 다이렉트 모드 및 잔차 신호 압축 모드 (16x16, 16x8, 8x6, P8x8 모드들)로 구분할 수 있다.
도 7을 참고하면, 시점 합성 스킵 모드와 시점 합성 다이렉트 모드를 나타낸다. 부호화 장치(101)는 시점 합성 예측을 수행하는 경우 이미 압축된 주변 시점의 참조 영상으로부터 가상 시점인 현재 시점에 대응하는 합성 영상을 생성할 수 있다.
시점 합성 스킵 모드는 합성 영상에서 영 벡터(Zero Vector) 가리키는 블록을 검색하여 영 벡터로 대체한다. 이 때 영 벡터는 합성 영상에서 현재 블록과 동일한 위치를 가리킨다. 그리고, 합성 영상에서 영 벡터가 가리키는 예측 블록과 현재 블록과의 차를 압축하는 것을 시점 합성 다이렉트 모드로 정의할 수 있다.
즉, 부호화 장치(101)는 시점 합성 스킵 모드로 설정된 현재 블록에 대해 움직임 정보뿐만 아니라 현재 블록과 예측 블록의 차인 잔차 신호 모두를 부호화하지 않는다. 그러나, 부호화 장치(101)는 시점 합성 다이렉트 모드로 설정된 현재 블록에 대해 움직임 정보만 부호화하지 않고 잔차 신호는 부호화하여 전송한다.
도 7은 일실시예에 따라 시점 합성의 잔차 신호 코딩 모드를 설명하는 도면이다.
잔차 신호 코딩 모드에 따라 블록을 압축하는 경우, 부호화 장치(101)는 이미 압축된 주변 시점의 참조 영상들로부터 이하에서 설명할 수학식 1 내지 수학식 4를 이용하여 현재 시점으로 합성된 합성 영상에서 영 벡터(Zero Vector) 가리키는 예측 블록을 중심으로 설정된 탐색 영역 중 현재 블록과 가장 유사한 예측 블록들을 찾는다. 이 때 영 벡터는 합성된 영상에서 현재 블록과 동일 위치를 가리킨다.
그리고 예측 블록을 찾을 때에 탐색 영역은 16x16, 16x8, 8x6, 그리고 P8x8 모드들과 같이 다양한 블록 사이즈가 이용된다. 마지막으로 예측 블록과 현재 블록과의 차이는 예측 블록을 가리키는 벡터와 함께 압축되어 복호화 장치(102)에 전송될 수 있다.
일실시예에 따르면, 부호화 장치(101)는 기존의 코딩 모드에 대해 가상 시점의 합성 영상을 이용하는 시점 합성 스킵 모드만을 추가하여 사용할 수 있다. 부호화 장치(101)는 기존의 코딩 모드에 대해 가상 시점의 합성 영상을 이용하는 시점 합성 다이렉트 모드만을 추가하여 사용할 수 있다. 부호화 장치(101)는 기존의 코딩 모드에 대해 가상 시점의 합성 영상을 이용하는 잔차 신호 코딩 모드만을 추가하여 사용할 수 있다. 여기서, 기존의 코딩 모드는 인트라 예측, 인터 예측, 인트라 스킵 모드, 인트라 다이렉트 모드, 인터 스킵 모드, 인터 다이렉트 모드, 인터뷰 스킵 모드, 인터뷰 다이렉트 모드, 인트라 예측, 인터 예측 또는 인터뷰 예측에 기초한 잔차 신호 코딩 모드를 적어도 하나를 포함할 수 있다.
또는, 부호화 장치(101)는 기존의 코딩 모드에 대해 가상 시점의 합성 영상을 이용하는 시점 합성 스킵 모드, 시점 합성 다이렉트 모드 또는 시점 합성의 잔차 신호 코딩 모드 중 적어도 하나를 추가하여 사용할 수 있다.
실제로, 부호화 장치(101)는 기존의 코딩 모드와 더불어 가상 시점의 합성 영상을 이용하는 시점 합성 스킵 모드, 시점 합성 다이렉트 모드 또는 시점 합성의 잔차 신호 코딩 모드 중 적어도 하나를 대상으로 가장 좋은 코딩 성능을 나타내는 현재 블록의 코딩 모드를 선택할 수 있다.
일례로, 부호화 장치(101)는 현재 블록에 대해 앞서 설명한 모든 예측 기법에 따라 코딩을 수행한 후에, 코딩 결과에 기초하여 최종적인 코딩 모드를 선택할 수 있다. 이 때, 부호화 장치(101)는 율-왜곡 비용함수 값 (Rate-Distortion Cost)를 이용할 수 있다. 구체적으로, 율-왜곡 비용함수 값은 계산된 비트 발생량과 왜곡 수치에 기초하여 결졍되며, 율-왜곡 비용함수 값이 가장 작은 코딩 모드를 현재 블록에 대한 최종적인 코딩 모드를 선택할 수 있다. 율-왜곡 비용함수 값은 RD Cost = SSD(s,r) + λ* R(s,r,mode,prediction)에 의해 결정될 수 있다.
여기서, J 는 예측 기법에 따라 도출된 율-왜곡 비용함수이고 SSD(Sum of Square Difference)는 현재 블록(s)과 예측 블록(r)의 차분 값들을 제곱한 값이고, λ은 라그랑지안 계수이다. R은 해당 예측 기법의 코딩 모드에 기초하여 원래 영상과 이전 영상들로부터 예측된 영상의 차분으로 얻어진 신호를 부호화 했을 때 필요한 비트수이다.
도 8은 일실시예에 따른 시점 합성을 설명하기 위한 도면이다.
컬러 영상과 깊이 영상에 대한 가상 시점의 합성 영상은 이미 부호화된 컬러 영상과 깊이 영상 및 카메라 파라미터 정보를 이용하여 생성될 수 있다. 구체적으로, 컬러 영상과 깊이 영상에 대한 가상 시점의 합성 영상은 하기 수학식 1~4에 따라 생성될 수 있다.
Figure 112013032880100-pat00001
D는 깊이 영상에서 픽셀 위치 (x,y)의 픽셀 값을 의미한다. Znear와 Zfar는 가장 가까운 깊이 정보 및 가장 먼 깊이 정보를 각각 나타낸다.
부호화 장치(101)는 실제 깊이 정보 Z를 얻은 뒤 Reference 시점의 (r) 영상을 Target 시점의 영상으로 (t) 합성하기 위해 [수학식 2]와 같이 Reference 시점 영상의 픽셀 (xr,yr )를 3D world 좌표계(u,v,w)로 투영할 수 있다. 이 때, 픽셀(xr,yr)은 칼라 영상에 대한 가상 시점 합성을 할 경우에는 칼라 영상의 픽셀을, 깊이 영상에 대한 가상 시점 합성을 할 경우에는 깊이 영상의 픽셀을 나타낸다
Figure 112013032880100-pat00002
수학식 2에서 A는 내부(intrinsic) 카메라 행렬, R는 카메라 회전(rotation) 행렬, T는 카메라 이동(translation)벡터, 그리고 Z는 깊이 정보를 나타낸다.
그러면, 부호화 장치(101)는 3D World 좌표계(u,v,w)를 Target 시점의 영상 좌표계 (xt·zt, yt·zt, zt) 로 투영한다. 이는 수학식 3에 따라 수행된다.
Figure 112013032880100-pat00003
최종적으로 Target 시점의 영상에서 대응되는 픽셀은 (xt, yt)이 된다.
이 때, 가상 시점의 합성 영상을 만들기 위해 깊이 정보(Znear/Zfar)와 카메라 파라미터 정보(R/A/T)가 부가적으로 필요하다. 따라서, 이 부가적인 정보들은 부호화 장치에서 부호화되어 비트스트림에 포함된 뒤 복호화 장치에서 복호화된다. 일례로, 부호화 장치는 가상 시점의 합성 영상을 이용하여 부호화하고자 하는 영상마다 깊이 정보 및 카메라 파라미터 정보가 동일한 지 여부에 따라 깊이 정보 및 카메라 파라미터 정보의 전송 방식을 선택적으로 결정할 수 있다.
구체적으로, 깊이 정보 및 카메라 파라미터 정보와 같은 부가적인 정보들이 가상 시점의 합성 영상을 이용하여 부호화하고자 하는 영상마다 똑같다면 부호화 장치는 가상 시점 합성을 위해 필요한 부가적인 정보를 비트스트림을 통해 한번만 복호화 장치에 보낼 수 있다. 혹은 깊이 정보 및 카메라 파라미터 정보와 같은 부가적인 정보들이 가상 시점의 합성 영상을 이용하여 부호화하고자 하는 영상마다 똑같다면 부호화 장치는 가상 시점 합성을 위해 필요한 부가적인 정보를 비트스트림을 통해 GOP(Group of Picture) 마다 복호화 장치에 보낼 수 있다.
그리고, 가상 시점의 합성 영상을 이용하여 부호화하고자 하는 영상마다 부가적인 정보가 다른 값을 가진다면, 부호화 장치는 가상 시점의 합성 영상을 이용하여 부호화하고자 하는 영상마다 부가적인 정보들을 비트스트림을 통해 복호화 장치에 전송할 수 있다. 혹은, 가상 시점의 합성 영상을 이용하여 부호화하고자 하는 영상마다 부가적인 정보가 다른 값을 가진다면, 부호화 장치는 가상 시점의 합성 영상을 이용하여 부호화하고자 하는 영상마다 다른 값을 가지는 부가적인 정보만 비트스트림을 통해 복호화 장치에 전송할 수 있다.
또 다른 실시 예로, 만약 수평으로만 배치된 카메라들에 (1D Parallel arrangement) 의해 촬영된 컬러 영상과 깊이 영상들에 대한 가상 시점의 합성 영상은 하기 수학식 4에 따라 생성될 수도 있다.
Figure 112013032880100-pat00004
fx는 카메라의 수평 초점거리(horizontal focal length), tx 카메라의 x 이동값 (x translation), px는 카메라의 수평 주점 (horizontal principal point)을 의미한다. d (Disparity) 는 수평적으로 픽셀이 shift 된 거리를 알려준다.
최종적으로 Reference 영상에서 픽셀 (xr, yr)는 Target 시점의 영상에서 픽셀 (xt, yt)로 d 만큼 대응(Mapping) 된다.
이 때, 가상 시점 영상을 만들기 위해 깊이 정보(Znear/Zfar)와 카메라 파라미터 정보(fx,tx,px)가 부가적으로 필요하다. 따라서, 이 부가적인 정보들은 부호화 장치에서 부호화되어 비트스트림에 포함된 뒤 복호화 장치에서 복호화된다.
일례로, 부호화 장치는 가상 시점의 합성 영상을 이용하여 부호화하고자 하는 영상마다 깊이 정보 및 카메라 파라미터 정보가 동일한 지 여부에 따라 깊이 정보 및 카메라 파라미터 정보의 전송 방식을 선택적으로 결정할 수 있다.
구체적으로, 깊이 정보 및 카메라 파라미터 정보와 같은 부가적인 정보들이 가상 시점의 합성 영상을 이용하여 부호화하고자 하는 영상마다 똑같다면 부호화 장치는 가상 시점 합성을 위해 필요한 부가적인 정보를 비트스트림을 통해 한번만 복호화 장치에 보낼 수 있다.
혹은 깊이 정보 및 카메라 파라미터 정보와 같은 부가적인 정보들이 가상 시점의 합성 영상을 이용하여 부호화하고자 하는 영상마다 똑같다면 부호화 장치는 가상 시점 합성을 위해 필요한 부가적인 정보를 비트스트림을 통해 GOP(Group of Picture) 마다 복호화 장치에 보낼 수 있다.
그리고, 가상 시점의 합성 영상을 이용하여 부호화하고자 하는 영상마다 부가적인 정보가 다른 값을 가진다면, 부호화 장치는 가상 시점의 합성 영상을 이용하여 부호화하고자 하는 영상마다 부가적인 정보들을 비트스트림을 통해 복호화 장치에 전송할 수 있다.
혹은, 가상 시점의 합성 영상을 이용하여 부호화하고자 하는 영상마다 부가적인 정보가 다른 값을 가진다면, 부호화 장치는 가상 시점의 합성 영상을 이용하여 부호화하고자 하는 영상마다 다른 값을 가지는 부가적인 정보만 비트스트림을 통해 복호화 장치에 전송할 수 있다.
다른 실시 예로, 타겟(Target) 시점의 영상에 속하는 픽셀들은 대응되는 깊이 영상들을 이용하여 참조(Reference) 시점의 영상에 속하는 픽셀 (x, y)로부터 픽셀값이 도출될 수 있다. 이 때, 대응되는 깊이 영상의 픽셀들은 카메라 파라메터 정보를 이용하여 변이 벡터로 전환될 수 있다. 전환된 변이 벡터는 타겟 시점의 영상에 속하는 픽셀이 참조 시점의 영상에 속하는 픽셀들 중 어떤 픽셀에 대응되는지 나타낼 수 있다.
만약 참조 시점의 영상에서 대응되는 픽셀 (x,y) 이 정수 위치가 (Integer-Pel) 아니라면, 부호화 장치(101)는 픽셀(x,y)의 주변에 존재하는 정수 위치의 픽셀값을 이용하여 픽셀(x,y)의 픽셀값을 보간 (Interpolation) 할 수 있다. 하지만, 정수 위치에 대응하는 픽셀의 픽셀값들이 동일하다면, 부호화 장치(101)는 보간하지 않고 바로 정수 위치에 대응하는 픽셀의 픽셀값을 이용할 수 있다.
다른 예로, 정수 위치에 대응하는 픽셀의 픽셀값들 간에 차이가 미리 설정된 차이보다 작은 경우, 부호화 장치(101)는 보간하지 않고 픽셀(x,y)의 주변에 위치한 정수 위치에 대응하는 픽셀의 픽셀값들 중 하나를 사용할 수 있다.
만약 참조 시점의 영상에서 대응되는 픽셀 (x,y) 이 정수 위치(Integer-Pel)가 아닌 1/2 위치(Half-Pel)를 나타낸다면, 부호화 장치(101)는 1/2 위치에 대응하는 픽셀에서 왼쪽의 정수 위치에 대응하는 픽셀값(Left Pixel)과 오른쪽의 정수 위치에 대응하는 픽셀값(Right Pixel)을 비교할 수 있다. 비교 결과, 왼쪽의 정수 위치에 대응하는 픽셀값과 오른쪽의 정수 위치에 대응하는 픽셀값이 서로 동일하다면, 부호화 장치(101)는 1/2위치에 대응하는 픽셀값을 왼쪽의 정수 위치에 대응하는 픽셀값 또는 오른쪽의 정수 위치에 대응하는 픽셀값 중 어느 하나의 픽셀값으로 할당한다.
비교 결과, 왼쪽의 정수 위치에 대응하는 픽셀값과 오른쪽의 정수 위치에 대응하는 픽셀값이 서로 다르다면, 부호화 장치(101)는 1/2위치에 대응하는 픽셀값을 왼쪽의 정수 위치에 대응하는 픽셀값과 오른쪽의 정수 위치에 대응하는 픽셀값을 보간한 후 보간값으로 할당할 수 있다.
또한, 만약 참조 시점의 영상에서 대응되는 픽셀 (x,y) 이 정수 위치 (Integer-Pel)가 아닌 1/4 위치(Quarter-Pel)를 나타낸다면, 부호화 장치(101)는 1/4 위치에 대응하는 픽셀에서 왼쪽의 정수 위치에 대응하는 픽셀값과 오른쪽의 정수 위치에 대응하는 픽셀값을 비교할 수 있다.
비교 결과, 왼쪽의 정수 위치에 대응하는 픽셀값과 오른쪽의 정수 위치에 대응하는 픽셀값이 서로 동일하다면, 부호화 장치(101)는 1/4위치에 대응하는 픽셀값을 왼쪽의 정수 위치에 대응하는 픽셀값 또는 오른쪽의 정수 위치에 대응하는 픽셀값 중 어느 하나의 픽셀값으로 할당한다.
비교 결과, 왼쪽의 정수 위치에 대응하는 픽셀값과 오른쪽의 정수 위치에 대응하는 픽셀값이 서로 다르다면, 1/2위치에 대응하는 픽셀값을 왼쪽의 정수 위치에 대응하는 픽셀값과 오른쪽의 정수 위치에 대응하는 픽셀값을 보간한 후 보간값으로 할당할 수 있다.
그리고, 만약 1/4 위치에 대응하는 픽셀값이 왼쪽의 정수 위치에 대응하는 픽셀값과 유사한 경우, 1/4 위치의 왼쪽 정수 위치 값과 1/2 위치의 보간값을 비교할 수 있다. 비교 결과, 1/4 위치의 왼쪽 정수 위치 값과 1/2 위치의 보간값이 서로 동일한 경우, 부호화 장치(101)는 왼쪽 정수 위치 값 혹은 1/2 위치의 보간값을 할당할 수 있다. 만약, 비교 결과, 1/4 위치의 왼쪽 정수 위치 값과 1/2 위치의 보간값이 서로 다른 경우, 부호화 장치(101)는 왼쪽 정수 위치 값과 1/2 위치의 보간값을 다시 보간하여 1/4 위치의 보간값으로 사용한다.
만약 1/4 위치에 대응하는 픽셀값이 오른쪽의 정수 위치에 가깝다면, 부호화 장치(101)는 1/4 위치의 오른쪽 정수 위치 값과 1/2 위치의 보간값을 비교할 수 있다. 비교 결과, 1/4 위치의 오른쪽 정수 위치 값과 1/2 위치의 보간값이 서로 동일한 경우, 부호화 장치(101)는 오른쪽 정수 위치 값 혹은 1/2 위치의 보간값을 할당할 수 있다. 그리고, 1/4 위치의 오른쪽 정수 위치 값과 1/2 위치의 보간값이 서로 다른 경우, 부호화 장치(101)는 오른쪽 정수 위치 값과 1/2 위치의 보간값을 다시 보간하여 1/4 위치의 보간값으로 사용한다.
도 9는 일실시예에 따른 가상 시점의 합성 영상을 이용하는 부호화 과정을 설명하기 위한 도면이다.
3D 비디오를 구성하는 컬러 영상과 깊이 영상을 따로 부호화 및 복호화될 수 있다. 도 9를 참고하면, 부호화 과정은 원래 영상과 블록 기반의 예측을 통해 도출된 예측 영상 간의 잔차 신호를 구한 후, 잔차 신호를 변환 및 양자화하는 과정으로 이루어진다. 그리고, 다음 영상들의 정확한 예측을 위해 디블록킹 필터가 수행된다.
잔차 신호의 양이 적을수록 부호화에 필요한 비트수가 적기 대문에, 예측 영상이 원래 영상과 얼마나 비슷한지 여부가 매우 중요하다. 일실시예에 의하면, 블록 예측을 위해, 인트라 예측(Intra Prediction), 인터 예측(Inter Prediction), 인터뷰 예측(Inter-View Prediction)에 기초한 스킵 모드, 다이렉트 모드와 잔차 신호 코딩 모드뿐만 아니라, 시점 합성 스킵 모드, 시점 합성 다이렉트 모드, 및 시점 합성의 잔차 신호 코딩 모드가 사용될 수 있다.
도 9를 참고하면, 가상 시점의 합성 영상을 생성하기 위해 가상 시점에서 합성하기 위한 추가 구성이 필요할 수 있다. 도 9를 참고하면, 현재 시점의 컬러 영상에 대한 합성 영상을 생성하기 위해서, 부호화 장치(101)는 이미 부호화된 주변 시점의 컬러 영상과 깊이 영상을 이용하여 현재 시점의 컬러 영상에 대한 합성 영상을 생성할 수 있다. 그리고, 현재 시점의 깊이 영상에 대한 합성 영상을 생성하기 위해서, 부호화 장치(101)는 이미 부호화된 주변 시점의 깊이 영상을 이용하여 현재 시점의 깊이 영상에 대한 합성 영상을 생성할 수 있다.
도 10은 일실시예에 따른 가상 시점의 합성 영상을 이용하는 복호화 과정을 설명하기 위한 도면이다.
도 10의 복호화 장치(102)는 도 9의 부호화 장치(101)와 실질적으로 동일한 동작을 수행하기 때문에, 구체적인 설명은 생략하기로 한다.
도 11은 일실시예에 따른 매크로블록을 위한 비트스트림 구조를 도시한 도면이다. 도 11은 시점 합성 스킵 모드를 식별하는 플래그의 위치를 설명한다.
도 11은 일반 일반 스킵 모드와 시점 합성 시점 합성 스킵 모드의 플래그들을 구분하기 위해 제안한 매크로블록 레벨의 Syntax 를 도시한다. 일반 스킵 모드는 시점 합성 스킵 모드를 제외한 나머지 스킵 모드를 의미하며, 예를 들어, 인트라 스킵 모드, 인터 스킵 모드 또는 인터뷰 스킵 모드를 포함할 수 있다.
이하에서, 일반 스킵 모드와 시점 합성 시점 합성 스킵 모드는 플래그 위치를 구분하는 First Skip Flag (first_skip_flag) 와 Second Skip Flag (second_skip_flag)에 대응할 수 있다. 여기서, first_skip_flag는 second_skip_flag보다 비트스트림에서 먼저 나타날 수 있다. 이하에서, mb_skip_flag는 현재 블록이 시점 합성 스킵 모드가 아닌 일반 스킵 모드인지를 나타내는 플래그를 의미하고, mb_vsskip_flag는 현재 블록이 시점 합성 스킵 모드인지를 나타내는 플래그를 의미할 수 있다.
<CASE 1>
일례로, CASE 1는 first_skip_flag가 mb_skip_flag이고, second_skip_flag가 mb_vsskip_flag인 경우를 의미한다. 그러면, mb_vsskip_flag는 mb_skip_flag 뒤에 위치된다.
만약, 현재 블록의 코딩 모드가 일반 스킵 모드이면, 부호화 장치(101)는 mb_skip_flag를 1로 할당하여 복호화 장치(102)에 전송할 수 있다. 예를 들어, 부호화 장치(101)는 mb_skip_flag=1만 복호화 장치(102)에 보내고 다른 부호화 정보는 보내지 않을 수 있다. 만약 현재 블록의 코딩 모드가 시점 합성 스킵 모드이면, 부호화 장치(101)는 mb_skip_flag는 0으로 할당하고 mb_vsskip_flag를 1로 할당하여 복호화 장치(102)에 전송할 수 있다. 예를 들어, 부호화 장치(101)는 mb_skip_flag=0과 mb_vsskip_flag=1만 복호화 장치(102)에 보내고 다른 부호화 정보는 보내지 않을 수 있다.
만약 현재 블록의 코딩 모드가 일반 스킵 모드와 시점 합성 스킵 모드가 아닌 경우, 부호화 장치(101)는 현재 블록과 예측 블록 간의 차이인 잔차 신호를 압축한 코딩 모드를 현재 블록의 코딩 모드로 결정한 것을 의미한다. 그러면, 부호화 장치(101)는 mb_skip_flag와 mb_vsskip_flag를 0으로 전송한 뒤 코딩 모드의 종류를 나타내는 비트 스트림과 현재 블록과 관련된 움직임 정보 및 잔차 신호에 대한 비트스트림을 복호화 장치(102)에 전송할 수 있다.
<CASE 2>
다른 일례로, CASE 2는 first_skip_flag가 mb_vsskip_flag이고, second_skip_flag가 mb_skip_flag인 경우를 의미한다. 그러면, mb_skip_flag는 mb_vsskip_flag 뒤에 위치된다.
만약, 현재 블록의 코딩 모드가 시점 합성 스킵 모드이면, 부호화 장치(101)는 mb_vsskip_flag를 1로 할당할 수 있다. 예를 들어, 부호화 장치(101)는 mb_vsskip_flag=1만 복호화 장치(102)에 보내고 다른 부호화 정보는 보내지 않을 수 있다. 만약 현재 블록의 코딩 모드가 일반 스킵 모드이면, 부호화 장치(101)는 mb_vsskip_flag는 0으로 할당하고, mb_skip_flag를 1로 할당할 수 있다. 예를 들어, 부호화 장치(101)는 mb_vsskip_flag=0, mb_skip_flag=1만 복호화 장치(102)에 보내고 다른 부호화 정보는 보내지 않을 수 있다.
만약 현재 블록의 모드가 일반 스킵 모드 및 시점 합성 스킵 모드가 아니라면, 현재 블록은 잔차 신호 압축 모드이므로, 부호화 장치(101)는 mb_vsskip_flag와 mb_skip_flag를 0으로 할당한 후 코딩 모드의 종류에 대한 비트 스트림과 현재 블록의 움직임 정보 및 잔차 신호에 대한 비트 스트림을 복호화 장치(102)에 전송한다.
한편, 부호화 장치(101)는 현재 블록에 인접한 주변 블록들의 압축 정보를 이용하여 적응적으로 (Context-based) first_skip_flag와 second_skip_flag를 설정할 수 있다(Context-based Adaptive Skip Flag Positioning :CASFP). 여기서, 압축 정보는 주변 블록의 코딩 모드 정보, 움직임 정보, CBP(Code Block Pattern) 정보, 혹은 Texture 정보 등을 포함할 수 있다.
부호화 장치(101)는 주변 블록의 압축 정보에 기초하여 first_skip_flag를 mb_vsskip_flag로 설정하고, second_skip_flag를 mb_skip_flag로 설정할 수 있다.
일례로, 현재 블록의 위쪽 블록(above block)과 왼쪽 블록(left block)이 모두 시점 합성 스킵 모드인 경우, 부호화 장치(101)는 first_skip_flag를 mb_vsskip_flag로 설정하고, second_skip_flag를 mb_skip_flag로 설정할 수 있다. 다시 말해서, 현재 블록의 위쪽 블록(above block)과 왼쪽 블록(left block)이 모두 시점 합성 스킵 모드인 경우, mb_vsskip_flag가 mb_skip_flag보다 먼저 위치할 수 있다.
그리고 현재 블록의 위쪽 블록(above block)과 왼쪽 블록(left block)이 모두 시점 합성 스킵 모드가 아닌 경우, 부호화 장치(101)는 first_skip_flag를 mb_skip_flag로 설정하고, second_skip_flag를 mb_vsskip_flag로 설정할 수 있다. 다시 말해서, 현재 블록의 위쪽 블록(above block)과 왼쪽 블록(left block) 중 어느 하나만 시점 합성 스킵 모드이거나 또는 현재 블록의 위쪽 블록(above block)과 왼쪽 블록(left block) 모두 일반 스킵 모드인 경우, 부호화 장치(101)는 first_skip_flag를 mb_skip_flag로 설정하고, second_skip_flag를 mb_vsskip_flag로 설정할 수 있다.
다른 일례로, 현재 블록의 위쪽 블록과 왼쪽 블록 중 어느 하나가 시점 합성 스킵 모드인 경우, 부호화 장치(101)는 first_skip_flag를 mb_vsskip_flag로 설정하고, second_skip_flag를 mb_skip_flag로 설정할 수 있다. 그리고, 현재 블록의 위쪽 블록과 왼쪽 블록이 전부 시점 합성 스킵 모드가 아닌 경우, 즉 현재 블록의 위쪽 블록과 왼쪽 블록이 전부 일반 스킵 모드인 경우, 부호화 장치(101)는 first_skip_flag를 mb_skip_flag로 설정하고, second_skip_flag를 mb_vsskip_flag로 설정할 수 있다.
부호화 장치(101)는 주변 블록의 압축 정보에 기초하여 first_skip_flag를 mb_skip_flag로 설정하고 second_skip_flag를 mb_vsskip_flag로 설정할 수 있다.
일례로, 현재 블록의 위쪽 블록(above block)과 왼쪽 블록(left block)이 모두 일반 스킵 모드인 경우, 부호화 장치(101)는 first_skip_flag를 mb_skip_flag로 설정하고, second_skip_flag를 mb_vsskip_flag로 설정할 수 있다. 다시 말해서, 현재 블록의 위쪽 블록(above block)과 왼쪽 블록(left block)이 모두 일반 스킵 모드인 경우, mb_skip_flag가 mb_vsskip_flag보다 먼저 위치할 수 있다.
그리고 현재 블록의 위쪽 블록(above block)과 왼쪽 블록(left block)이 모두 일반 스킵 모드가 아닌 경우, 부호화 장치(101)는 first_skip_flag를 mb_vsskip_flag로 설정하고, second_skip_flag를 mb_skip_flag로 설정할 수 있다. 다시 말해서, 현재 블록의 위쪽 블록(above block)과 왼쪽 블록(left block) 중 어느 하나만 일반 스킵 모드이거나 또는 현재 블록의 위쪽 블록(above block)과 왼쪽 블록(left block) 모두 시점 합성 스킵 모드인 경우, 부호화 장치(101)는 first_skip_flag를 mb_vsskip_flag로 설정하고, second_skip_flag를 mb_skip_flag로 설정할 수 있다.
다른 일례로, 현재 블록의 위쪽 블록과 왼쪽 블록 중 어느 하나가 일반 스킵 모드인 경우, 부호화 장치(101)는 first_skip_flag를 mb_skip_flag로 설정하고, second_skip_flag를 mb_vsskip_flag로 설정할 수 있다. 그리고, 현재 블록의 위쪽 블록과 왼쪽 블록이 전부 일반 스킵 모드가 아닌 경우, 즉 현재 블록의 위쪽 블록과 왼쪽 블록이 전부 시점 합성 스킵 모드인 경우, 부호화 장치(101)는 first_skip_flag를 mb_vsskip_flag로 설정하고, second_skip_flag를 mb_skip_flag로 설정할 수 있다.
도 11의 설명은 일반 스킵 모드에 시점 합성 스킵 모드가 추가되었을 때를 설명하고 있으나, 일반 스킵 모드에 시점 합성 스킵 모드가 아닌 새로운 형태의 다른 스킵 모드가 포함되는 경우에도 동일하게 설명될 수 있다.
한편, 일반 스킵 모드가 인트라 스킵 모드, 인터 스킵 모드이고, 시점 합성 스킵 모드가 아닌 인터뷰 스킵 모드가 새로운 형태의 스킵 모드로 추가된 경우에도 도 11의 설명이 적용될 수 있다. 예를 들어, 현재 블록의 왼쪽 블록과 위쪽 블록이 모두 인터뷰 스킵 모드인 경우, first_skip_flag는 인터뷰 스킵 모드를 나타내는 플래그로 설정되고, second_skip_flag는 인트라 스킵 모드 또는 인터 스킵 모드를 나타내는 플래그로 설정될 수 있다.
다시 말해서, 기존에 다양한 형태의 일반 스킵 모드가 존재하고, 부호화 방식의 발전에 따라 신규 스킵 모드가 정의된다고 가정한다. 현재 블록의 인접한 주변 블록의 부호화 모드에 따라 일반 스킵 모드를 나타내는 식별 정보와 신규 스킵 모드를 나타내는 식별 정보 간의 위치가 결정될 수 있다. 구체적으로, 주변 블록의 부호화 모드가 전부 신규 스킵 모드인 경우, 현재 블록에 대해 신규 스킵 모드를 나타내는 식별 정보가 일반 스킵 모드를 나타내는 식별 정보보다 먼저 위치하도록 설정될 수 있다.
도 12는 다른 일실시예에 따른 매크로블록을 위한 비트스트림 구조를 도시한 도면이다.
도 12는 시점 합성 다이렉트 모드를 식별하는 플래그의 위치를 설명한다. 다이렉트 모드는 스킵 모드와 동일하게 움직임 정보를 포함하지 않지만 잔차 신호를 부호화하는 코딩 모드를 의미한다. 따라서, 현재 블록이 다이렉트 모드인 경우, 부호화 장치(101)는 일반 다이렉트 모드와 시점 합성 다이렉트 모드를 구분하기 위해 플래그를 사용할 수 있다.
direct_mode_type_flag는 비트스트림에서 모드 타입 (mb_type) 뒤에 위치할 수 있다. 만약 복호화 장치(102)에 전송된 direct_mode_type_flag가 0인 경우, 일반 다이렉트 모드를 의미하고, direct_mode_type_flag가 1인 경우 시점 합성 다이렉트 모드를 의미한다. 실시예에 따라 1과 0은 서로 바뀔 수 있다.
도 12에서 first_skip_flag는 mb_skip_flag이고, second_skip_flag는 mb_vsskip_flag일 수 있다. 또는, first_skip_flag는 mb_vsskip_flag이고, second_skip_flag는 mb_skip_flag일 수 있다.
일례로 현재 블록이 시점 합성 다이렉트 모드인 경우, 부호화 장치(101)는 first_skip_flag를 0으로 설정하고, second_skip_flag를 0으로 설정할 수 있다. 그리고, 부호화 장치(101)는 현재 블록이 다이렉트 모드라는 것을 나타내는 비트를 할당하고 direct_mode_type_flag를 1로 설정한 후 잔차신호를 압축한 비트와 함께 복호화 장치(102)에 전송할 수 있다.
일례로 현재 블록이 일반 다이렉트 모드인 경우, 부호화 장치(101)는 first_skip_flag을 0으로 설정하고, second_skip_flag를 0으로 설정할 수 있다. 그리고, 부호화 장치(101)는 현재 블록이 다이렉트 모드라는 것을 나타내는 비트를 할당하고 direct_mode_type_flag를 0으로 설정한 후 잔차신호를 압축한 비트와 함께 복호화 장치(102)에 전송할 수 있다.
일례로 현재 블록의 코딩 모드가 스킵 모드나 다이렉트 모드가 아닌 잔차 신호 압축 모드일 경우, 부호화 장치(101)는 first_skip_flag를 0으로 설정하고, second_skip_flag를 0으로 설정할 수 있다. 그런 후, 부호화 장치(101)는 잔차 신호 압축 모드 임을 나타내는 비트와 잔차 신호를 압축한 비트를 복호화 장치(102)에 전송할 수 있다.
일실시예에 따르면, 시점 합성(View Synthesis Prediction) 사용하여 3D 비디오를 부호화 및 복호화하는 방법 및 장치가 제공된다.
여기서, 시점 합성을 위해 이미 압축된 주변 시점의 영상들을 이용하여 현재 압축하려는 영상의 시점으로 영상을 합성하는 방법 및 장치가 제공된다.
여기서, 시점 합성에서 블록 정보를 부호화 및 복호화하지 않는 시점 합성 스킵 모드 (View Synthesis SKIP 모드)를 사용하는 방법 및 장치; 시점 합성에서 블록 정보 중 움직임 정보를 제외한 잔차신호를 부호화 및 복호화하는 시점 합성 다이렉트 모드 (View Synthesis Direct 모드)를 사용하는 방법 및 장치; 시점 합성에서 블록 정보를 부호화 및 복호화하는 시점 합성의 잔차 신호 압축 모드 (View Synthesis Residual Coding 모드)를 사용하는 방법 및 장치가 제공된다.
여기서, 시점 합성 스킵 모드는 현재 블록과 가장 비슷한 블록을 합성된 영상에서 찾기 위해 영벡터가 가리키는 블록을 사용하는 방법 및 장치가 제공된다.
여기서, 시점 합성 스킵 모드를 나타내는 Flag를 (mb_vsskip_flag) 기존 스킵 모드를 위한 Flag (mb_skip_flag) 앞 혹은 뒤에 위치시키는 방법 및 장치가 제공된다.
여기서, 현재 블록에 대한 인접한 주변 블록들의 압축 정보에 기반하여 시점 합성 스킵 모드를 나타내는 Flag(mb_vsskip_flag)를 일반 스킵 모드를 나타내는 Flag (mb_skip_flag) 앞 혹은 뒤에 적응적으로 위치시키는 (Context-based Adaptive Skip Flag Positioning : CASFP) 방법 및 장치가 제공된다.
여기서, 시점 합성 다이렉트 모드는 현재 블록과 가장 비슷한 블록을 합성된 영상에서 찾기 위해 영벡터가 가리키는 블록을 사용하는 방법 및 장치가 제공된다.
여기서, 기존의 예측에 기초한 다이렉트 모드와 시점 합성 다이렉트 모드를 구별하기 위한 Flag를 (direct_mode_type_flag) 모드 종류를 나타내는 syntax (mb_type) 뒤에 위치시키는 방법 및 장치가 제공된다.
여기서, 합성 영상의 픽셀들을 참조 시점의 영상 픽셀들로부터 찾을 때, 대응되는 깊이 영상의 픽셀들을 변이 벡터로 변환하여 그 변이 벡터가 가리키는 참조 시점의 대응 픽셀들을 찾는 방법 및 장치가 제공된다.
참조 시점의 대응 픽셀의 위치가 정수 위치가 (Interger-Pel) 아닌 경우 주변 픽셀들을 이용하여 대응 픽셀의 보간 (Interpolation) 여부를 결정하는 방법 및 장치가 제공된다.
다음은 Context-based Adaptive Skip Flag Positioning (CASFP) 방법에 기초한 Syntax에 대한 실시 예이다. 실시 예에서 mb_skip_flag는 일반 스킵 모드를 나타내고, mb_vsskip_flag는 시점 합성 스킵 모드를 나타낸다.
예를 들어, 현재 블록의 mb_vsskip_flag를 부호화할 때 부호화 장치(101)는 현재 블록의 위쪽 블록과 왼쪽 블록의 mb_vsskip_flag를 참조하여 엔트로피 부호화한다.
슬라이스 데이터 신택스(Slice data syntax)는 다음의 표 1과 같이 나타낼 수 있다.
slice_data( ) { C Descriptor
if( entropy_coding_mode_flag )
while( !byte_aligned( ) )
cabac _ alignment _ one _ bit 2 f(1)
CurrMbAddr = first_mb_in_slice * ( 1 + MbaffFrameFlag )
moreDataFlag = 1
prevMbSkipped = 0
do {
if( slice_type != I && slice_type != SI )
if( !entropy_coding_mode_flag ) {
mb _ skip _ run 2 ue(v)
prevMbSkipped = ( mb_skip_run > 0 )
for( i=0; i<mb_skip_run; i++ )
CurrMbAddr = NextMbAddress(CurrMbAddr)
if( mb_skip_run > 0 )
moreDataFlag = more_rbsp_data( )
} else {
if(nal_unit_type == 21 &&!DepthFlag && VspRefExist &&
leftMbVSSkipped &&upMbVSSkipped) {
mb _ vsskip _ flag 2 u(1) | ae(v)
moreDataFlag = !mb_vsskip_flag
if(!mb_vsskip_flag) {
mb _ skip _ flag 2 u(1) | ae(v)
moreDataFlag = !mb_skip_flag
}
}
else {
mb _ skip _ flag 2 u(1) | ae(v)
moreDataFlag = !mb_skip_flag
If(nal_unit_type == 21 &&!DepthFlag && VspRefExist
&&!mb_skip_flag) {
mb _ vsskip _ flag 2 u(1) | ae(v)
moreDataFlag = !mb_vsskip_flag
}
}
if( moreDataFlag ) {
if( MbaffFrameFlag && ( CurrMbAddr % 2 = = 0 | |
( CurrMbAddr % 2 = = 1 && prevMbSkipped ) ) )
mb _ field _ decoding _ flag 2 u(1) | ae(v)
macroblock_layer( ) 2 | 3 | 4
}
if( !entropy_coding_mode_flag )
moreDataFlag = more_rbsp_data( )
else {
if( slice_type != I && slice_type != SI )
prevMbSkipped = mb_skip_flag ||
mb_vsskip_flag
if( MbaffFrameFlag && CurrMbAddr % 2 = = 0 )
moreDataFlag = 1
else {
end _ of _ slice _ flag 2 ae(v)
moreDataFlag = !end_of_slice_flag
}
}
CurrMbAddr = NextMbAddress( CurrMbAddr )
} while( moreDataFlag )
}
P 슬라이스를 디코딩할 때 mb_type이 참조 픽쳐로서 합성 픽쳐를 사용하는 P_Skip으로 도출되고, 매크로블록 타입이 P 매크로블록 타입으로 총괄적으로(collectively) 참조되는 경우, 현재 매크로블록에 대해 mb_vsskip_flag는 1을 나타낸다. 또는, B 슬라이스를 디코딩할 때 mb_type이 참조 픽쳐로서 합성 픽쳐를 사용하는 B_Skip으로 도출되고, 매크로블록 타입이 B 매크로블록 타입으로 총괄적으로(collectively) 참조되는 경우, 현재 매크로블록에 대해 mb_vsskip_flag는 1을 나타낸다. 만약, 현재 매크로블록이 스킵되지 않은 경우, mb_vsskip_flag는 0을 나타낸다. 그리고, mb_vsskip_flag가 존재하지 않는 경우, mb_vsskip_flag는 0으로 추론될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
101: 부호화 장치
102: 복호화 장치

Claims (29)

  1. 현재 블록이 시점 합성 스킵 모드인지 여부를 나타내는 제1 식별 정보를 추출하는 단계;
    상기 제1 식별 정보에 따라 현재 블록이 시점 합성 스킵 모드가 아닌 경우, 상기 현재 블록이 일반 스킵 모드인지 여부를 나타내는 제2 식별 정보를 추출하는 단계; 및,
    상기 제1 식별 정보 또는 제2 식별 정보를 이용하여 상기 현재 블록을 복호화하는 단계
    를 포함하는 복호화 방법.
  2. 제1항에 있어서,
    상기 제1 식별 정보는,
    현재 블록의 왼쪽 블록 및 위쪽 블록이 모두 시점 합성 스킵 모드인 경우, 제2 식별 정보보다 먼저 복호화되는 복호화 방법.
  3. 제1항에 있어서,
    상기 시점 합성 스킵 모드는,
    현재 블록의 현재 시점과 동일한 시점인 가상 시점의 합성 영상을 이용하고,
    상기 합성 영상은,
    현재 시점의 주변 시점에서의 부호화된 텍스쳐 정보와 깊이 정보로부터 결정되는 복호화 방법.
  4. 제1항에 있어서,
    상기 일반 스킵 모드는,
    인트라 스킵 모드, 인터 스킵 모드 또는 인터뷰 스킵 모드 중 적어도 하나를 포함하는 복호화 방법.
  5. 현재 블록이 일반 스킵 모드인지 여부를 나타내는 제1 식별 정보를 추출하는 단계;
    상기 제1 식별 정보에 따라 현재 블록이 일반 스킵 모드가 아닌 경우, 상기 현재 블록이 시점 합성 스킵 모드인지 여부를 나타내는 제2 식별 정보를 추출하는 단계; 및,
    상기 제1 식별 정보 또는 제2 식별 정보를 이용하여 상기 현재 블록을 복호화하는 단계
    를 포함하는 복호화 방법.
  6. 제5항에 있어서,
    상기 제1 식별 정보는,
    현재 블록의 왼쪽 블록 및 위쪽 블록 중 적어도 하나가 일반 스킵 모드인 경우, 제2 식별 정보보다 먼저 복호화되는 복호화 방법.
  7. 제5항에 있어서,
    상기 시점 합성 스킵 모드는,
    현재 블록의 현재 시점과 동일한 시점인 가상 시점의 합성 영상을 이용하고,
    상기 합성 영상은,
    현재 시점의 주변 시점에서 부호화된 텍스쳐 정보와 깊이 정보로부터 결정되는 복호화 방법.
  8. 제5항에 있어서,
    상기 일반 스킵 모드는,
    인트라 스킵 모드, 인터 스킵 모드 또는 인터뷰 스킵 모드 중 적어도 하나를 포함하는 복호화 방법.
  9. 비트스트림에서 현재 블록의 부호화 모드를 나타내는 식별 정보를 추출하는 단계;
    상기 식별 정보에 기초하여 현재 블록을 복호화하는 단계
    를 포함하고,
    상기 식별 정보는,
    현재 블록이 시점 합성 스킵 모드인지 여부를 나타내는 제1 식별 정보 및 현재 블록이 일반 스킵 모드인지 여부를 나타내는 제2 식별 정보를 포함하는 복호화 방법.
  10. 제9항에 있어서,
    상기 제1 식별 정보 및 제2 식별 정보 간에 복호화되는 순서는,
    상기 현재 블록의 주변 블록의 부호화 모드에 따라 달라지고,
    상기 주변 블록은, 상기 현재 블록의 위쪽 블록 및 왼쪽 블록을 포함하는 복호화 방법.
  11. 제9항에 있어서,
    상기 제1 식별 정보는,
    만약 현재 블록의 위쪽 블록 및 왼쪽 블록이 모두 시점 합성 스킵 모드이면 제2 식별 정보보다 먼저 복호화되고, 그렇지 않으면 제2 식별 정보보다 나중에 복호화되는 복호화 방법.
  12. 현재 블록에 인접한 주변 블록의 부호화 모드를 판단하는 단계;
    상기 부호화 모드에 따라 현재 블록의 스킵 모드와 관련된 식별 정보를 적응적으로 배치하는 단계; 및
    상기 식별 정보와 현재 블록을 부호화하는 단계
    를 포함하고,
    상기 식별 정보는,
    현재 블록이 시점 합성 스킵 모드인지 여부를 나타내는 제1 식별 정보 및 현재 블록이 일반 스킵 모드인지 여부를 나타내는 제2 식별 정보를 포함하는 부호화 방법.
  13. 현재 블록의 위쪽 블록 및 왼쪽 블록의 부호화 모드가 모두 시점 합성 스킵 모드인지 여부를 판단하는 단계;
    판단 결과에 따라, 상기 현재 블록이 시점 합성 스킵 모드인지 여부를 나타내는 제1 식별 정보 및 상기 현재 블록이 일반 스킵 모드인지 여부를 나타내는 제2 식별 정보의 부호화 순서를 결정하는 단계;
    상기 제1 식별 정보, 제2 식별 정보 및 현재 블록을 부호화하는 단계
    를 포함하는 부호화 방법.
  14. 현재 블록이 시점 합성 스킵 모드인지 여부를 나타내는 제1 식별 정보를 추출하고, 상기 제1 식별 정보에 따라 현재 블록이 시점 합성 스킵 모드가 아닌 경우, 상기 현재 블록이 일반 스킵 모드인지 여부를 나타내는 제2 식별 정보를 추출하는 식별 정보 추출부; 및
    상기 제1 식별 정보 또는 제2 식별 정보를 이용하여 상기 현재 블록을 복호화하는 복호화부
    를 포함하는 복호화 장치.
  15. 제14항에 있어서,
    상기 제1 식별 정보는,
    현재 블록의 왼쪽 블록 및 위쪽 블록이 모두 시점 합성 스킵 모드인 경우, 제2 식별 정보보다 먼저 복호화되는 복호화 장치.
  16. 제14항에 있어서,
    상기 시점 합성 스킵 모드는,
    현재 블록의 현재 시점과 동일한 시점인 가상 시점의 합성 영상을 이용하고,
    상기 합성 영상은,
    현재 시점의 주변 시점에서의 부호화된 텍스쳐 정보와 깊이 정보로부터 결정되는 복호화 장치.
  17. 제14항에 있어서,
    상기 일반 스킵 모드는,
    인트라 스킵 모드, 인터 스킵 모드 또는 인터뷰 스킵 모드 중 적어도 하나를 포함하는 복호화 장치.
  18. 현재 블록이 일반 스킵 모드인지 여부를 나타내는 제1 식별 정보를 추출하고, 상기 제1 식별 정보에 따라 현재 블록이 일반 스킵 모드가 아닌 경우, 상기 현재 블록이 시점 합성 스킵 모드인지 여부를 나타내는 제2 식별 정보를 추출하는 식별 정보 추출부; 및
    상기 제1 식별 정보 또는 제2 식별 정보를 이용하여 상기 현재 블록을 복호화하는 복호화부
    를 포함하는 복호화 장치.
  19. 제18항에 있어서,
    상기 제1 식별 정보는,
    현재 블록의 왼쪽 블록 및 위쪽 블록 중 적어도 하나가 일반 스킵 모드인 경우, 제2 식별 정보보다 먼저 복호화되는 복호화 장치.
  20. 제18항에 있어서,
    상기 시점 합성 스킵 모드는,
    현재 블록의 현재 시점과 동일한 시점인 가상 시점의 합성 영상을 이용하고,
    상기 합성 영상은,
    현재 시점의 주변 시점에서 부호화된 텍스쳐 정보와 깊이 정보로부터 결정되는 복호화 장치.
  21. 제18항에 있어서,
    상기 일반 스킵 모드는,
    인트라 스킵 모드, 인터 스킵 모드 또는 인터뷰 스킵 모드 중 적어도 하나를 포함하는 복호화 장치.
  22. 비트스트림에서 현재 블록의 부호화 모드를 나타내는 식별 정보를 추출하는 식별 정보 추출부;
    상기 식별 정보에 기초하여 현재 블록을 복호화하는 복호화부
    를 포함하고,
    상기 식별 정보는,
    현재 블록이 시점 합성 스킵 모드인지 여부를 나타내는 제1 식별 정보 및 현재 블록이 일반 스킵 모드인지 여부를 나타내는 제2 식별 정보를 포함하는 복호화 장치.
  23. 제22항에 있어서,
    상기 제1 식별 정보 및 제2 식별 정보 간에 복호화되는 순서는,
    상기 현재 블록의 주변 블록의 부호화 모드에 따라 달라지고,
    상기 주변 블록은, 상기 현재 블록의 위쪽 블록 및 왼쪽 블록을 포함하는 복호화 장치.
  24. 제22항에 있어서,
    상기 제1 식별 정보는,
    만약 현재 블록의 위쪽 블록 및 왼쪽 블록이 모두 시점 합성 스킵 모드이면 제2 식별 정보보다 먼저 복호화되고, 그렇지 않으면 제2 식별 정보보다 나중에 복호화되는 복호화 장치.
  25. 현재 블록에 인접한 주변 블록의 부호화 모드를 판단하는 부호화 모드 판단부;
    상기 부호화 모드에 따라 현재 블록의 스킵 모드와 관련된 식별 정보를 적응적으로 배치하는 식별 정보 배치부; 및
    상기 식별 정보와 현재 블록을 부호화하는 부호화부
    를 포함하고,
    상기 식별 정보는,
    현재 블록이 시점 합성 스킵 모드인지 여부를 나타내는 제1 식별 정보 및 현재 블록이 일반 스킵 모드인지 여부를 나타내는 제2 식별 정보를 포함하는 부호화 장치.
  26. 현재 블록의 위쪽 블록 및 왼쪽 블록의 부호화 모드가 모두 시점 합성 스킵 모드인지 여부를 판단하는 부호화 모드 판단부;
    판단 결과에 따라, 상기 현재 블록이 시점 합성 스킵 모드인지 여부를 나타내는 제1 식별 정보 및 상기 현재 블록이 일반 스킵 모드인지 여부를 나타내는 제2 식별 정보의 부호화 순서를 결정하는 식별 정보 배치부;
    상기 제1 식별 정보, 제2 식별 정보 및 현재 블록을 부호화하는 부호화부
    를 포함하는 부호화 장치.
  27. 비트스트림을 기록한 컴퓨터가 읽기 가능한 기록매체에 있어서,
    상기 비트스트림은,
    부호화된 현재 블록, 현재 블록이 시점 합성 스킵 모드인지를 나타내는 제1 식별 정보 및 현재 블록이 일반 스킵 모드인지를 나타내는 제2 식별 정보를 포함하고,
    상기 제1 식별 정보는,
    상기 현재 블록의 위쪽 블록 및 왼쪽 블록이 모두 시점 합성 스킵 모드인 경우, 제2 식별 정보보다 먼저 복호화되는 순서로 비트스트림에 저장되는 기록 매체.
  28. 비트스트림에서 현재 블록의 부호화 모드를 나타내는 제1 식별 정보 및 제2 식별 정보를 추출하는 식별 정보 추출부;
    상기 식별 정보에 기초하여 현재 블록을 복호화하는 복호화부
    를 포함하고,
    상기 제1 식별 정보 및 제2 식별 정보는,
    시점 합성 스킵 모드, 인터뷰 스킵 모드, 인터 스킵 모드 및 인트라 스킵 모드 중에서 선택되고, 현재 블록의 주변 블록의 부호화 모드에 따라 복호화 순서가 다르게 설정되도록 저장되는 복호화 장치.
  29. 비트스트림에서 현재 블록의 부호화 모드를 나타내는 제1 식별 정보 및 제2 식별 정보를 추출하는 단계;
    상기 식별 정보에 기초하여 현재 블록을 복호화하는 단계
    를 포함하고,
    상기 제1 식별 정보 및 제2 식별 정보는,
    시점 합성 스킵 모드, 인터뷰 스킵 모드, 인터 스킵 모드 및 인트라 스킵 모드 중에서 선택되고, 현재 블록의 주변 블록의 부호화 모드에 따라 비트스트림에서 복호화 순서가 다르게 설정되도록 저장되는 복호화 방법.
KR1020130041374A 2012-04-16 2013-04-16 3d 비디오 부호화/복호화 장치 및 부호화/복호화 방법 KR102133936B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2013/003178 WO2013157812A1 (ko) 2012-04-16 2013-04-16 3d 비디오 부호화/복호화 장치 및 부호화/복호화 방법

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201261624548P 2012-04-16 2012-04-16
US61/624,548 2012-04-16
US201261651284P 2012-05-24 2012-05-24
US61/651,284 2012-05-24
US201261707457P 2012-09-28 2012-09-28
US61/707,457 2012-09-28

Publications (2)

Publication Number Publication Date
KR20130116826A KR20130116826A (ko) 2013-10-24
KR102133936B1 true KR102133936B1 (ko) 2020-07-14

Family

ID=49635804

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130041374A KR102133936B1 (ko) 2012-04-16 2013-04-16 3d 비디오 부호화/복호화 장치 및 부호화/복호화 방법

Country Status (1)

Country Link
KR (1) KR102133936B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170310994A1 (en) * 2014-10-08 2017-10-26 Lg Electronics Inc. 3d video coding method and device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011030176A (ja) 2009-06-29 2011-02-10 Sony Corp 立体画像データ送信装置、立体画像データ送信方法および立体画像データ受信装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100374797B1 (ko) * 2000-03-14 2003-03-03 삼성전자주식회사 삼차원 장면의 노드를 처리하는 방법 및 그 장치
KR101363044B1 (ko) * 2007-10-19 2014-02-17 광주과학기술원 비디오 영상의 부호화 모드 결정 방법 및 장치, 이를이용한 비디오 영상의 부호화/복호화 장치 및 방법 그리고상기 방법을 수행하는 프로그램이 기록된 기록 매체

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011030176A (ja) 2009-06-29 2011-02-10 Sony Corp 立体画像データ送信装置、立体画像データ送信方法および立体画像データ受信装置

Also Published As

Publication number Publication date
KR20130116826A (ko) 2013-10-24

Similar Documents

Publication Publication Date Title
JP2023085341A (ja) 深度マップの推定および更新を用いる効率的なマルチビュー符号化
KR101662963B1 (ko) 3d 비디오 코딩을 위한 장치, 방법 및 컴퓨터 프로그램
KR102281282B1 (ko) 서브블록 기반 예측을 수행하는 인터 레이어 비디오 복호화 방법 및 그 장치 및 서브블록 기반 예측을 수행하는 인터 레이어 비디오 부호화 방법 및 그 장치
CN111971960B (zh) 用于基于帧间预测模式处理图像的方法及其装置
TWI551121B (zh) 視訊寫碼中之視差向量改進
KR20120080122A (ko) 경쟁 기반의 다시점 비디오 부호화/복호화 장치 및 방법
JP2016537869A (ja) マルチビュービデオコーディングにおいて、ビュー合成予測方法及びこれを利用したマージ候補リスト構成方法
KR20130116832A (ko) 트리 구조의 부호화 단위에 기초한 다시점 비디오 부호화 방법 및 그 장치, 트리 구조의 부호화 단위에 기초한 다시점 비디오 복호화 방법 및 그 장치
KR102500091B1 (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
CN106664423B (zh) 视频编译中的深度图片编译方法
KR20140127177A (ko) 시점 합성 예측을 이용한 다시점 비디오 부호화 방법 및 그 장치, 다시점 비디오 복호화 방법 및 그 장치
KR20170066411A (ko) 3d 비디오 코딩을 위한 움직임 정보 압축 방법 및 장치
KR20160072105A (ko) 멀티-뷰 비디오를 디코딩하는 비디오 디코딩 장치 및 방법
US10045048B2 (en) Method and apparatus for decoding multi-view video
KR101895429B1 (ko) 뷰 병합 예측을 이용하여 영상을 부호화 또는 복호화 하는 방법 및 그 장치
KR20170069957A (ko) 3d 비디오 코딩에서 카메라 파라미터 처리 방법 및 장치
KR20170065502A (ko) 3d 비디오 부호화/복호화 방법 및 장치
KR20170056595A (ko) 인터-레이어 예측을 이용한 멀티 레이어 영상 부호화 또는 복호화 방법 및 장치
CN113196767A (zh) 视频译码中光栅扫描分块组与矩形分块组的协调
EP3059969A1 (en) Method and apparatus for coding/decoding video comprising multi-view
KR20150106381A (ko) 인터 레이어 비디오 부호화를 위한 디스패리티 벡터 예측 방법 및 장치와 인터 레이어 비디오 복호화를 위한 디스패리티 벡터 예측 방법 및 장치
KR20170065503A (ko) 3d 비디오 부호화/복호화 방법 및 장치
KR102133936B1 (ko) 3d 비디오 부호화/복호화 장치 및 부호화/복호화 방법
KR20120084628A (ko) 다시점 영상 부호화/복호화 장치 및 방법
KR20130022923A (ko) 가상 시점 합성 예측을 이용한 부호화/복호화 장치 및 부호화/복호화 방법

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