KR102403817B1 - 화면 내 블록 카피를 이용한 다시점 영상에서의 블록 벡터 예측 기법 및 디코더 - Google Patents

화면 내 블록 카피를 이용한 다시점 영상에서의 블록 벡터 예측 기법 및 디코더 Download PDF

Info

Publication number
KR102403817B1
KR102403817B1 KR1020200159306A KR20200159306A KR102403817B1 KR 102403817 B1 KR102403817 B1 KR 102403817B1 KR 1020200159306 A KR1020200159306 A KR 1020200159306A KR 20200159306 A KR20200159306 A KR 20200159306A KR 102403817 B1 KR102403817 B1 KR 102403817B1
Authority
KR
South Korea
Prior art keywords
block
vector
image
specific
ibc
Prior art date
Application number
KR1020200159306A
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 이화여자대학교 산학협력단
Priority to KR1020200159306A priority Critical patent/KR102403817B1/ko
Priority to US17/534,988 priority patent/US11968371B2/en
Application granted granted Critical
Publication of KR102403817B1 publication Critical patent/KR102403817B1/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/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/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

다시점 영상에서의 블록 벡터 예측 기법은 인코더가 다시점 영상들 중 특정 시점 영상 또는 깊이 영상의 특정 블록에 대한 레퍼런스 영상의 레퍼런스 블록을 결정하는 단계, 상기 인코더가 상기 레퍼런스 블록이 화면 내 블록 카피(Intra Block Copy, IBC)로 부호화된 경우, 상기 레퍼런스 블록의 블록 벡터를 기준으로 상기 특정 블록의 화면 내 블록 카피를 위한 블록 벡터 정보를 결정하는 단계 및 상기 인코더가 상기 특정 블록의 블록 벡터 정보를 인코딩하는 단계를 포함한다. 상기 특정 시점의 레퍼런스 영상은 다른 시점의 영상이고, 상기 깊이 영상의 레퍼런스 영상은 깊이 영상에 대응하는 텍스쳐 영상이다.

Description

화면 내 블록 카피를 이용한 다시점 영상에서의 블록 벡터 예측 기법 및 디코더{BLOCK VECTOR ESTIMATION METHOD FOR MULTIVIEW VIDEO BASED ON INTRA BLOCK COPY AND DECODER}
이하 설명하는 기술은 다시점 영상에서 화면 내 블록 카피(Intra Block Copy, IBC)를 이용한 영상 간 예측 기법에 관한 것이다.
3차원 다시점 영상은 다수의 시점의 영상을 이용하여 계층적으로 다양한 서비스를 제공한다. 3차원 다시점 영상은 MVD (Multiview Video Plus Depth) 형식을 사용하여 서비스된다. 다시점 영상들은 독립 시점과 종속 시점으로 구분할 수 있다. 종속 시점의 영상은 독립 시점의 정보를 활용하여 부호화될 수 있다. 또한, 3차원 다시점 영상 각각은 기본 영상인 텍스쳐 영상(texture image)과 깊이 정보를 갖는 깊이 영상(depth image)로 구성된다. 텍스쳐 영상과 깊이 영상은 연관성이 있기에 하나의 영상은 다른 영상을 참고하여 부호화될 수 있다.
미국공개특허 US2016-0269751
다시점 영상은 다수의 시점으로 구성되어 일반 비디오에 비하여 용량이 크다. 따라서 다시점 영상에 대한 효과적인 코딩 기법이 필요하다.
이하 설명하는 기술은 3차원 다시점 영상에서 서로 다른 시점의 영상 및/또는 다른 계층 영상을 이용하여 화면 내 블록 카피(IBC) 기반한 부호화 기법을 제공하고자 한다.
화면 내 블록 카피를 이용한 다시점 영상에서의 블록 벡터 예측 기법은 인코더가 다시점 영상들 중 특정 시점 영상의 특정 블록에 대한 디스패리티(disparity) 벡터를 결정하는 단계, 상기 인코더가 상기 디스패리티 벡터를 이용하여 상기 다시점 영상들 중 코딩이 완료된 어느 하나의 레퍼런스 영상의 레퍼런스 블록을 결정하는 단계, 상기 인코더가 상기 레퍼런스 블록이 화면 내 블록 카피(Intra Block Copy, IBC)로 부호화된 경우, 상기 레퍼런스 블록의 제1 블록 벡터를 기준으로 상기 특정 블록의 화면 내 블록 카피를 위한 블록 벡터 정보를 결정하는 단계 및 상기 인코더가 상기 특정 블록의 블록 벡터 정보를 인코딩하는 단계를 포함한다.
화면 내 블록 카피를 이용한 다시점 영상 디코더는 다시점 영상들에 대한 비트 스트림을 입력받은 입력장치, 화면 내 블록 카피(Intra Block Copy, IBC) 기반 화면 내 예측을 수행하는 프로그램을 저장하는 저장장치 및 상기 비트 스트림에서 특정 블록에 대한 블록 벡터 정보를 추출하고, 상기 블록 벡터 정보를 이용하여 상기 특정 블록의 부호화에 이용된 타깃 블록을 결정하고, 상기 타깃 블록을 이용하여 상기 특정 블록을 디코딩하는 연산 장치를 포함한다.
이하 설명하는 기술은 화면 내 예측에 사용되는 IBC를 서로 다른 영상의 IBC 모드 예측에 적용하여 보다 우수한 부호화 효율을 갖는 영상 코딩을 제공한다. 동시에 이하 설명하는 기술은 다른 영상의 IBC 결과를 이용하여 전송할 데이터의 양을 줄이고 네트워크 트래픽을 줄인다.
도 1은 다시점 비디오 시스템에 대한 예이다.
도 2는 다시점 비디오에서 영상 간 예측이 가능한 경우를 도시한 예이다.
도 3은 다시점 비디오에서 시점 간 IBC 블록 벡터를 예측하는 과정을 도시한 예이다.
도 4는 시점 간 IBC 블록 벡터 예측에서 이용가능한 후보 블록 벡터에 대한 예이다.
도 5는 다시점 비디오에서 계층 간 IBC 블록 벡터를 예측하는 과정을 도시한 예이다.
도 6은 계층 간 IBC 블록 벡터에서 이용가능한 후보 블록 벡터에 대한 예이다.
도 7은 IBC 블록 벡터를 예측하는 인코더에 대한 예이다.
도 8은 도 7의 인코더에 대응하는 디코더에 대한 예이다.
이하 설명하는 기술은 다양한 변경을 가할 수 있고 여러 가지 실시례를 가질 수 있는 바, 특정 실시례들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 이하 설명하는 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 이하 설명하는 기술의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 이하 설명하는 기술의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함한다" 등의 용어는 설명된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.
도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.
또, 방법 또는 동작 방법을 수행함에 있어서, 상기 방법을 이루는 각 과정들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 과정들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
도 1은 다시점 비디오 시스템(100)에 대한 예이다. 소스 영상은 다수의 시점 영상들을 포함하고, 각 영상은 텍스쳐 영상과 깊이 영상으로 구성된다. 송신기 측의 인코더(110)는 소스 영상을 인코딩한다. 송신기는 인코딩한 비트스트림(bitstream)을 전송한다. 비트스트림 패킷은 비디오 압축과 관련된 파라미터, 각 시점의 식별자 및 텍스쳐 데이터 또는 깊이 데이터를 포함하는지는 나타내는 헤더 정보를 포함한다. 파라미터는 서로 다른 시점을 합성하기 위한 정보를 포함할 수 있다.
수신기는 비트스트림을 수신하여 서비스 목적에 따라 다양한 영상을 제공할 수 있다.
디코더(122)는 3차원 다시점 영상을 디코딩한다. 디코더(122)는 수신한 비트스트림에 포함된 다수의 시점들 각각에 대하여 텍스쳐 영상 및 깊이 영상을 디코딩한다.
합성기(125)는 디코더(122)가 복호한 다수의 영상 중 일부를 기준으로 깊이 데이터 기반 렌더링(Depth Image Based Rendering) 기법을 사용해 추가 중간 시점을 합성할 수 있다.
수신기는 디코더(122)가 복호한 영상들 및 합성기(125)가 생성한 중간 시점 영상을 이용하여 다시점 영상(N-view display)을 제공한다. 예컨대, 사용자는 헤드마운트디스플레이 장치를 이용하여 이동하는 시점을 기준으로 3차원 영상을 제공받을 수 있다.
추출기(121)는 수신한 비트스트림 중 필요한 비트스트림(일부 데이터)을 추출한다. 디코더(123)는 2차원 스테레오 영상(stereo display)을 위하여 특정 시점에 대한 텍스쳐 영상과 깊이 영상을 복호한다. 디코더(124)는 2차원 영상(2D display)을 위하여 특정 시점의 텍스쳐 영상을 복호한다.
도 2는 다시점 비디오에서 영상 간 예측이 가능한 경우를 도시한 예이다.
다시점 영상을 구성하는 각 시점은 독립 시점 또는 종속 시점으로 구분한다. 독립 시점은 최소 하나 존재한다. 독립 시점은 인접 시점의 정보를 활용하지 않고 현재 시점의 정보로만 부호화를 수행한다. 즉 독립 시점은 시간 사이의 예측 부호화를 수행하여 압축한다. 종속 시점은 독립 시점의 정보를 활용하여 부호화를 할 수 있다. 이러한 부호화 방식을 시점 사이의 예측 부호화라고 한다. 독립 시점과 종속 시점은 시점에 대한 식별자로 구분된다.
도 2는 전체 n+1개의 다시점 영상들을 예시한다. 다시점 영상들 각각은 시간축 상 k+1개의 프레임으로 구성된다. v0는 독립 시점이고, 나머지 v1 ~ vn은 종속 시점이라고 가정한다. v0는 다른 시점 영상을 활용하지 않고, 자신의 다른 프레임의 정보를 이용하여 부호화할 수 있다. 종속 시점은 독립 시점을 이용하여 부호화할 수 있다. 예컨대, v3은 v0의 정보를 이용하여 시점 간 예측 부호화를 할 수 있다.
각 시점 영상은 텍스쳐 영상 및 깊이 영상으로 구성될 수 있다. 텍스쳐 영상은 RGB 데이터를 포함하고, 깊이 영상은 3차원 구조 정보(깊이 정보)를 포함한다. 텍스쳐 영상과 깊이 영상은 같은 시점(동일한 시점의 인덱스)이다. 독립 시점의 경우에 텍스쳐 영상은 대응되는 깊이 영상보다 항상 먼저 부호화된다. 하지만, 종속 시점은 텍스쳐 영상이 같은 시점 인덱스를 가지는 깊이 영상 이전 또는 이후에 부호화될 수 있다.
특정 시점 영상은 텍스처 영상과 깊이 영상으로 구성된다. 설명의 편의를 위하여 텍스처 영상과 깊이 영상이 서로 다른 계층의 영상이라고 가정한다. 즉, 특정 시점 영상은 계층 영상으로 구성되며, 계층 영상은 텍스처 영상 및 깊이 영상을 포함한다. 부호화 순서에 따라 텍스쳐 영상 및 깊이 영상 사이에서 계층 간 예측 부호화를 수행할 수 있다. 예컨대, 텍스쳐 영상이 먼저 부호화가 되면 깊이 영상은 대응되는 텍스쳐 영상의 부호화에 사용한 정보를 참조(계층 간 예측)하여 부호화될 수 있다. 나아가, 깊이 영상이 먼저 부호화되면, 텍스쳐 영상은 대응되는 깊이 영상의 부호화에 사용된 정보를 참조하여 부호화될 수 있다. 예컨대, 도 2에서 Tk 프레임에서 Vn은 부호화 순서에 따라 텍스처 영상이 깊이 영상을 참조하여 부호화되거나, 깊이 영상이 텍스쳐 영상을 참조하여 부호화될 수 있다.
시점 간 예측 부호화에 대하여 설명한다.
시점 간 예측 부호화의 방식으로 DCP(Disparity Compensated Prediction)가 있다. DCP는 기존의 MCP(Motion Compensated Prediction)에서와 같이 인접 시점에서의 블록을 예측 블록으로 활용하여 그 잔차만을 전송하는 방식을 의미한다. DCP에 활용하는 예측 벡터를 시점 간 움직임 벡터라고 한다.
시점 사이의 예측을 수행하는 과정에서 현재 시점의 블록이 인접 시점에서 어느 블록 또는 영역에 대응하는지를 찾아야 하는 경우가 있다. 이러한 대응에 사용하는 벡터를 디스패리티 벡터(Disparity Vector, DV)라고 한다.
DV는 크게 두 가지 방식으로 찾을 수 있다.
첫 번째 방법은 NBDV(Neighbouring Block-based Disparity Vector)이다. NBDV는 텍스쳐 영상이 깊이 영상보다 먼저 부호화된 경우에 사용한다. 현재 블록의 이웃 블록을 보고 부호화가 완료된 DCP 블록의 시점 간 움직임 벡터를 이용하여 DV를 추정한다. 현재 블록은 공간 또는/및 시간에서 인접한 블록들이 존재한다. 인접한 블록 중 적어도 하나가 시점 간 움직임 벡터를 이용했다면, 그 벡터를 현재 블록의 DV로 활용한다.
두 번째 방법은 깊이 정보 기반한 방식이다. 예컨대, 깊이 영상이 부호화된 경우, 아래 수학식 1과 같이 현재 시점의 픽셀 x1과 인접 시점의 픽셀 x0사이 거리를 깊이 정보를 활용하여 DV를 찾을 수 있다. 수학식1에서 f는 카메라 초점 거리, c는 카메라 사이 거리, 그리고 d는 깊이 정보이다.
Figure 112020126624018-pat00001
이하 설명하는 기술은 시점 간 예측에 IBC 기법을 이용한다. IBC에 대한 내용을 간략하게 설명한다. VVC(Versatile Video Coding)에서 논의하는 IBC는 화면 내 예측 기술이다.
인코더는 블록 매칭(Block Matching) 수행을 통하여 부호화되는 CU(coding unit)와 가장 유사한 블록을 찾은 후, 그 공간 위치를 가리키는 벡터를 찾는다. 이 벡터를 블록 벡터(Block Vector, BV)라고 한다. 블록 벡터는 현재 블록 기준으로 레퍼런스 블록까지의 공간 변위를 나타낸다. 레퍼런스 블록은 이미 부호화되어 인코더에서 현재 블록 부호화를 위하여 참조 가능한 참조 화소(reference sample)들로 이루어진 블록을 의미한다.
IBC는 CU 레벨에서 플래그를 보내 사용 여부를 표시한다. IBC는 두 가지 모드가 있다. IBC 스킵/병합(skip/merge) 모드 또는 IBC AMVP(advanced motion vector prediction) 모드를 사용한다.
(1) IBC 스킵/병합 모드는 병합 모드 인덱스를 이용해서 현재 블록을 예측하는 데 이웃 블록이 IBC로 부호화 한경우 해당 블록 벡터를 전송한다. IBC 스킵/병합 모드는 IBC 모드로 부호화된 인접 후보 블록들의 BV 중 어느 것이 현재 CU의 BV로 사용되었는지를 병합 후보의 해당 인덱스로 신호하는 모드이다. 이때, 병합 목록(merge list)은 공간, HMVP(Historybased Motion Vector Prediction) 및 쌍(pairwise) 후보로 구성된다.
(2) IBC AMVP 모드는 BV벡터 간의 차이를 움직임벡터 차이를 부호화하는 것과 같은 방식으로 부호화한다. 이때 블록 벡터의 예측 방법은 왼쪽 이웃 블록 및 상단 이웃 블록이 IBC로 부호화된 경우에 해당 블록 벡터를 예측 벡터로 사용한다. 이때, BV 예측 후보는 IBC로 부호화된 좌측 이웃 및 위쪽 이웃의 BV를 사용하며, 만일, IBC조건에 맞는 이웃이 없는 경우에는 기본(Default) BV 벡터가 사용된다. 선택된 BV 벡터는 플래그 정보로 신호된다.
도 3은 다시점 비디오에서 시점 간 IBC 블록 벡터를 예측하는 과정(200)을 도시한 예이다. 도 3은 인코더가 시점 간 IBC 블록 벡터를 예측하는 과정에 대한 예이다. 도 3은 인코더가 특정 블록에 대한 IBC 기반의 부호화를 하는 과정에 해당한다. 특정 블록은 현재 영상에 포함되는 블록이다. 인코더는 특정 블록을 위한 블록 벡터를 다른 시점의 영상에서 찾는다. 인코더는 다른 영상에서 IBC 부호화된 블록의 블록 벡터를 이용하여 특정 블록의 블록 벡터를 결정한다.
인코더는 다시점 영상들에 대한 소스 영상을 입력받는다(210). 인코더는 다시점 영상들 중 일부 영상에 대한 인코딩을 완료한다(220).
이제 인코더는 다시점 영상들 중 특정 시점의 영상에 대한 인코딩을 하고자 한다. 인코더는 특정 시점 영상의 특정 블록에 대한 IBC 기반의 부호화를 하고자 한다(230). 이때 특정 시점 영상은 종속 시점 영상일 수 있다.
인코더는 특정 블록의 DV를 결정한다(240). DV는 전술한 방법으로 결정될 수 있다. 인코더는 DV 기준으로 특정 블록에 대한 레퍼런스 영상의 레퍼런스 블록을 결정한다(250). 레퍼런스 영상은 다시점 영상 중 인코딩이 완료된 영상이다. 레퍼런스 영상은 독립 시점 영상 또는 종속 시점 영상일 수 있다.
인코더는 레퍼런스 블록이 IBC로 부호화되었는지 확인한다(260). 레퍼런스 블록이 IBC로 부호화되지 않았다면(260의 NO), 인코더는 종전 BV 예측 기법에 따라 후보를 탐색한다(270).
레퍼런스 블록이 IBC로 부호화되었다면(260의 YES), 인코더는 레퍼런스 블록의 BV 정보를 특정 블록의 IBC 블록 벡터 예측에 사용한다(280).
또 다른 실시예로 레퍼런스 블록의 공간 및 시간 상으로 인접 블록이 IBC로 부호화되었는지 확인 후 IBC로 부호화되었다면 레퍼런스 블록의 BV 정보를 특정 블록의 예측에 사용할 수 있다(280).
특정 블록의 IBC 블록 벡터(cBV)를 결정하는 예에 대하여 설명한다.
(1) 인코더는 레퍼런스 블록의 BV(pBV) 자체를 특정 블록의 BV(cBV)로 이용할 수 있다.
(2) 인코더는 레퍼런스 블록의 BV(pBV)를 기준으로 특정 블록의 BV(cBV)를 예측할 수 있다. 예컨대, 인코더는 pBV를 기준으로 결정되는 타깃 블록 및 타깃 블록에 인접한 블록에서 특정 블록에 매칭되는 블록을 찾아 cBV를 결정할 수 있다.
이때, 인코더는 (i) pBV, (ii) cBV 또는 (iii) dBV = cBV-pBV (블록 벡터의 차이)를 코딩하여 전송할 수 있다.
(3) 인코더는 특정 블록에 대한 전통적인 BV 결정 과정(270 과정)에 pBV를 후보로 추가할 수 있다. 인코더는 IBC AMVP 모드 또는 IBC 스킵/병합 모드에서는 다수의 후보 BV 벡터를 탐색하고 그 중에서 부호화 효율이 가장 우수한 후보 벡터를 선택하여 인덱스를 전송한다. 이때 인코더는 IBC AMVP 모드 또는 IBC 스킵/병합 모드에서 결정한 1차 후보 벡터에 pBV를 추가하여 후보 벡터 그룹을 마련한다. 즉, 후보 벡터 그룹은 1차 후보 벡터 및 pBV를 포함한다. 이후, 인코더는 후보 벡터 그룹에 포함된 벡터들 중 가장 부호화 효율이 우수한 후보 벡터를 특정 벡터의 후보 벡터로 결정할 수 있다.
도 4는 시점 간 IBC 블록 벡터 예측에서 이용가능한 후보 블록 벡터에 대한 예이다. 도 4는 전술한 (3) 방법에 따른 후보 벡터들을 표시한다.
도 4에서 A는 특정 시점의 영상이다. 예컨대, A는 종속 시점 영상이다. A에서 target은 IBC 부호화하려고 하는 특정 블록이다. A에서 a, b 및 c는 특정 블록에 인접한 블록이다. a, b 및 c는 기존의 IBC 후보 블록의 탐색을 위한 블록 위치로서, 특정 블록 기준으로 공간상으로 인접한 블록 및 HMVP 후보이다.
도 4에서 B는 레퍼런스 영상이다. 예컨대, B는 독립 시점 영상일 수 있다. B에서 d는 DV로 찾은 레퍼런스 블록의 BV이다. e 및 f는 레퍼런스 블록에 공간상 인접한 블록이다.
인코더는 후보 블록들 a, b, c, d, e 및 f 중 가장 부호화 효율이 좋은 블록을 기준으로 특정 블록(target)에 대한 블록 벡터를 결정할 수 있다.
한편, 시점 간 움직임 벡터 예측은 현재 시점의 움직임 벡터를 예측할 때, 인접 시점에서 사용한 움직임 벡터를 이용하는 방식을 의미한다. 인코더는 현재 블록이 MCP를 사용하는 경우 현재 블록의 움직임 벡터 (MV)를 인접 시점에서 이미 부호화한 MV를 이용하여 예측할 수 있다. 인코더는 우선 현재 블록의 대응 위치를 인접 시점에서 DV를 이용하여 찾은 뒤에 해당 블록에 MV가 있으면, 그를 이용하여 현재 블록의 MV를 예측 부호화하는데 사용한다. 이때, MV의 값 이외에도 참조 프레임 인덱스 등을 함께 예측할 수 있다.
종래 비디오 코딩의 움직임 예측 과정에서는 움직임 벡터를 부호화하는 경우, 인코더는 참조 프레임 리스트 및 참조 프레임 인덱스와 같이 움직임 벡터와 연관된 움직임 정보를 함께 부호화한다. 이때, 인코더는 pBV와 관련된 참조 프레임 리스트, 참조 프레임 인덱스와 같이 움직임 벡터와 연관된 움직임 정보도 함께 예측에 사용할 수 있다. 또한, 인코더는 기존의 IBC AMVP 또는 IBC 병합에 pBV를 하나의 움직임 벡터 예측 후보로 넣을 수 있다.
계층 간 예측 부호화에 대하여 설명한다.
도 5는 다시점 비디오에서 계층 간 IBC 블록 벡터를 예측하는 과정(300)을 도시한 예이다. 도 5는 인코더가 계층 간 IBC 블록 벡터를 예측하는 과정에 대한 예이다. 도 5는 인코더가 특정 블록에 대한 IBC 기반의 부호화를 하는 과정에 해당한다. 인코더는 제1 계층 영상(텍스쳐 또는 깊이)에 포함된 특정 블록에 대한 IBC 블록 벡터를 제1 계층 영상과 다른 계층 영상(깊이 또는 텍스쳐)에서 찾는다.
인코더는 다시점 영상들에 대한 소스 영상을 입력받는다(310). 인코더는 다시점 영상들 중 특정 시점의 계층 영상 중 제1 영상에 대한 인코딩을 완료한다(320). 계층 영상은 텍스쳐 영상 및 깊이 영상을 포함한다. 제1 영상은 텍스쳐 영상 또는 깊이 영상에 해당한다.
이제 인코더는 상기 특정 시점의 계층 영상 중 제2 영상에 대한 인코딩을 하고자 한다. 인코더는 제2 영상의 특정 블록에 대한 IBC 기반의 부호화를 하고자 한다(330). 제1 영상이 텍스쳐 영상인 경우 제2 영상은 깊이 영상이다. 제1 영상이 깊이 영상인 경우 제2 영상은 텍스처 영상이다.
인코더는 제2 영상의 특정 블록에 대응하는 제1 영상의 레퍼런스 블록(co-located block)을 결정한다(340). 레퍼런스 블록은 특정 블록과 동일한 위치의 블록일 수 있다. 텍스쳐 영상과 깊이 영상의 해상도가 다르다면, 인코더는 어느 하나의 영상을 동일한 크기로 업 샘플링하여 대응하는 레퍼런스 블록을 찾을 수 있다.
인코더는 레퍼런스 블록이 IBC로 부호화되었는지 확인한다(350). 레퍼런스 블록이 IBC로 부호화되지 않았다면(350의 NO), 인코더는 종전 BV 예측 기법에 따라 후보를 탐색한다(360).
레퍼런스 블록이 IBC로 부호화되었다면(350의 YES), 인코더는 레퍼런스 블록의 BV 정보를 특정 블록의 IBC 블록 벡터 예측에 사용한다(370).
또 다른 실시예로 레퍼런스 블록의 공간 및 시간 상으로 인접 블록이 IBC로 부호화되었는지 확인 후 IBC로 부호화 되었다면 레퍼런스 블록의 BV 정보를 특정 블록의 예측에 사용할 수 있다(370).
한편, 텍스쳐 영상과 깊이 영상의 해상도가 다르다면, 인코더는 특정 블록의 BV를 업 스케일링 또는 다운 스케일링할 수 있다. 예컨대, 제2 영상이 다운 샘플링된 경우라면, 인코더는 제1 영상에 대하여 동일한 비율로 BV를 스케링링 다운하여 사용할 수 있다.
특정 블록의 IBC 블록 벡터(cBV)를 결정하는 예에 대하여 설명한다.
(1) 인코더는 레퍼런스 블록의 BV(pBV) 자체를 특정 블록의 BV(cBV)로 이용할 수 있다.
(2) 인코더는 레퍼런스 블록의 BV(pBV)를 기준으로 특정 블록의 BV(cBV)를 예측할 수 있다. 예컨대, 인코더는 pBV를 기준으로 결정되는 타깃 블록 및 타깃 블록에 인접한 블록에서 특정 블록에 매칭되는 블록을 찾아 cBV를 결정할 수 있다.
이때, 인코더는 (i) pBV, (ii) cBV 또는 (iii) dBV = cBV-pBV (블록 벡터의 차이)를 코딩하여 전송할 수 있다.
(3) 인코더는 특정 블록에 대한 전통적인 BV 결정 과정(270 과정)에 pBV를 후보로 추가할 수 있다. 인코더는 IBC AMVP 모드 또는 IBC 스킵/병합 모드에서는 다수의 후보 BV 벡터를 탐색하고 그 중에서 부호화 효율이 가장 우수한 후보 벡터를 선택하여 인덱스를 전송한다. 이때 인코더는 IBC AMVP 모드 또는 IBC 스킵/병합 모드에서 결정한 1차 후보 벡터에 pBV를 추가하여 후보 벡터 그룹을 마련한다. 즉, 후보 벡터 그룹은 1차 후보 벡터 및 pBV를 포함한다. 이후, 인코더는 후보 벡터 그룹에 포함된 벡터들 중 가장 부호화 효율이 우수한 후보 벡터를 특정 벡터의 후보 벡터로 결정할 수 있다.
도 6은 계층 간 IBC 블록 벡터에서 이용가능한 후보 블록 벡터에 대한 예이다. 도 6는 전술한 (3) 방법에 따른 후보 벡터들을 표시한다.
도 6에서 A는 부호화하고자 하는 특정 시점의 제2 영상이다. 예컨대, A는 깊이 영상일 수 있다. A에서 target은 IBC 부호화하려고 하는 특정 블록이다. A에서 a, b 및 c는 특정 블록에 인접한 블록이다. a, b 및 c는 기존의 IBC 후보 블록의 탐색을 위한 블록 위치로서, 특정 블록 기준으로 공간상으로 인접한 블록 및 HMVP 후보이다.
도 6에서 B는 레퍼런스 영상이다. 예컨대, B는 인코딩이 완료된 특정 시점의 제1 영상이다. B는 텍스처 영상일 수 있다. B에서 d는 DV로 찾은 레퍼런스 블록의 BV이다. e 및 f는 레퍼런스 블록에 공간상 인접한 블록이다.
인코더는 후보 블록들 a, b, c, d, e 및 f 중 가장 부호화 효율이 좋은 블록을 기준으로 특정 블록(target)에 대한 블록 벡터를 결정할 수 있다.
한편, 시점 간 움직임 벡터 예측은 현재 시점의 움직임 벡터를 예측할 때, 인접 시점에서 사용한 움직임 벡터를 이용하는 방식을 의미한다. 인코더는 현재 블록이 MCP를 사용하는 경우 현재 블록의 움직임 벡터 (MV)를 인접 시점에서 이미 부호화한 MV를 이용하여 예측할 수 있다. 인코더는 우선 현재 블록의 대응 위치를 인접 시점에서 DV를 이용하여 찾은 뒤에 해당 블록에 MV가 있으면, 그를 이용하여 현재 블록의 MV를 예측 부호화하는데 사용한다. 이때, MV의 값 이외에도 참조 프레임 인덱스 등을 함께 예측할 수 있다.
종래 비디오 코딩의 움직임 예측 과정에서는 움직임 벡터를 부호화하는 경우, 인코더는 참조 프레임 리스트 및 참조 프레임 인덱스와 같이 움직임 벡터와 연관된 움직임 정보를 함께 부호화한다. 이때, 인코더는 pBV와 관련된 참조 프레임 리스트, 참조 프레임 인덱스와 같이 움직임 벡터와 연관된 움직임 정보도 함께 예측에 사용할 수 있다. 또한, 인코더는 기존의 IBC AMVP 또는 IBC 병합에 pBV를 하나의 움직임 벡터 예측 후보로 넣을 수 있다.
도 7은 IBC 블록 벡터를 예측하는 인코더(400)에 대한 예이다. 인코더(400)는 3차원 다시점 영상을 부호화할 수 있다. 인코더(400)는 영상을 처리하는 컴퓨터 장치, 서버 또는 인코딩 프로그램이 임베딩된 칩 셋 등의 형태로 구현될 수 있다.
인코더(400)는 저장 장치(410), 메모리(420), 연산장치(420) 및 인터페이스 장치(430)를 포함한다. 나아가, 인코더(400)는 통신장치(450)를 포함할 수도 있다.
저장 장치(410)는 소스 영상을 저장할 수 있다.
저장 장치(410)는 다시점 영상을 인코딩하는 프로그램을 저장할 수 있다.
메모리(420)는 인코딩 과정에서 생성되거나 필요한 정보를 임시로 저장할 수 있다.
인터페이스 장치(440)는 인코더에서 데이터 및 명령을 전달하는 구성을 의미한다. 인터페이스 장치(440)는 내부 통신을 위한 물리적 장치 및 통신 프로토콜을 포함할 수 있다. 인터페이스 장치(440)는 소스 영상을 입력받을 수 있다. 인터페이스 장치(440)는 소스 영상 인코딩을 위한 명령을 입력받을 수도 있다.
통신장치(450)는 유선 또는 무선 통신을 통해 외부 객체로부터 일정한 정보를 수신할 수 있다. 예컨대, 통신장치(400)는 소스 영상을 수신할 수 있다. 통신장치(450)는 인코딩된 비트스트림을 외부 객체로 송신할 수 있다.
연산장치(430)는 주어진 데이터 내지 정보를 처리하는 구성을 의미한다. 연산장치(430)는 프로세서, AP, 프로그램이 임베디드된 칩과 같은 장치일 수 있다.
연산장치(430)는 저장 장치(410)에 저장된 코드 내지 프로그램을 이용하여 다시점 영상을 인코딩할 수 있다.
연산장치(430)는 다시점 영상 중 일부 영상을 일반적인 방법으로 인코딩할 수 있다.
연산장치(430)는 인코딩하고자 하는 특정 시점 영상의 특정 블록을 IBC 기반으로 부호화할 수 있다.
이 경우, 연산장치(430)는 특정 블록에 대한 디스패리티 벡터를 결정할 수 있다. 연산장치(430)는 텍스쳐 영상이 부호화된 경우 NBDV를 이용하여 디스패리티 벡터를 결정할 수 있다. 또는 연산장치(430)는 깊이 영상이 부호화된 경우 깊이 정보를 이용하여 디스패리티 벡터를 결정할 수 있다.
연산장치(430)는 디스패리티 벡터를 이용하여 다시점 영상들 중 코딩이 완료된 어느 하나의 레퍼런스 영상의 레퍼런스 블록을 결정할 수 있다. 연산장치(430)는 레퍼런스 블록이 화면 내 블록 카피(Intra Block Copy, IBC)로 부호화된 경우, 레퍼런스 블록의 제1 블록 벡터를 기준으로 상기 특정 블록의 화면 내 블록 카피를 위한 블록 벡터 정보를 결정할 수 있다. 연산장치(430)는 특정 블록의 블록 벡터 정보를 인코딩할 수 있다.
블록 벡터 정보는 제1 블록 벡터, 제1 블록 벡터를 기준으로 예측한 특정 블록의 제2 블록 벡터 및 제1 블록벡터와 제2 블록벡터의 차이를 포함하는 정보 그룹 중 적어도 하나의 정보를 포함할 수 있다. 도 3의 280 과정에서 설명한 방식과 같이 연산장치(430)는 특정 블록의 제2 블록 벡터(IBC 블록 벡터)를 결정할 수 있다.
연산장치(430)는 블록 벡터 정보는 특정 블록에 대한 IBC 스킵/병합 모드 또는 IBC AMVP 모드에서 고려되는 후보 블록 벡터들 및 제1 블록 벡터를 포함하는 후보 벡터 그룹 중 가장 부호화 효율이 좋은 블록 벡터를 특정 블록의 블록 벡터로 결정할 수 있다. 이는 도 3의 280 과정 및 도 4에서 셜명한 바와 같다.
연산장치(430)는 다시점 영상 중 특정 시점의 계층 영상 중 제1 영상을 일반적인 방법으로 인코딩할 수 있다.
연산장치(430)는 인코딩하고자 하는 특정 시점의 계층 영상 중 제2 영상의 특정 블록을 IBC 기반으로 부호화할 수 있다. 제1 영상이 텍스쳐 영상인 경우 제2 영상은 깊이 영상이다. 제1 영상이 깊이 영상인 경우 제2 영상은 텍스처 영상이다.
연산장치(430)는 제2 영상의 특정 블록에 대응하는 제1 영상의 레퍼런스 블록(co-located)을 결정할 수 있다. 연산장치(430)는 레퍼런스 블록이 화면 내 블록 카피(Intra Block Copy, IBC)로 부호화된 경우, 레퍼런스 블록의 제1 블록 벡터를 기준으로 상기 특정 블록의 화면 내 블록 카피를 위한 블록 벡터 정보를 결정할 수 있다. 연산장치(430)는 특정 블록의 블록 벡터 정보를 인코딩할 수 있다.
블록 벡터 정보는 제1 블록 벡터, 제1 블록 벡터를 기준으로 예측한 특정 블록의 제2 블록 벡터 및 제1 블록벡터와 제2 블록벡터의 차이를 포함하는 정보 그룹 중 적어도 하나의 정보를 포함할 수 있다. 도 5의 370 과정에서 설명한 방식과 같이 연산장치(430)는 특정 블록의 제2 블록 벡터(IBC 블록 벡터)를 결정할 수 있다.
연산장치(430)는 블록 벡터 정보는 특정 블록에 대한 IBC 스킵/병합 모드 또는 IBC AMVP 모드에서 고려되는 후보 블록 벡터들 및 제1 블록 벡터를 포함하는 후보 벡터 그룹 중 가장 부호화 효율이 좋은 블록 벡터를 특정 블록의 블록 벡터로 결정할 수 있다. 이는 도 5의 370 과정 및 도 6에서 셜명한 바와 같다.
도 8은 도 7의 인코더에 대응하는 디코더(500)에 대한 예이다. 디코더(500)는 인코더(400)가 코딩한 비트스크림을 서비스 목적에 맞는 영상으로 복호할 수 있다. 디코더(400)는 영상을 처리하는 컴퓨터 장치, 사용자 단말, 스마트기기, 서버 또는 디코딩 프로그램이 임베딩된 칩 셋 등의 형태로 구현될 수 있다.
디코더(500)는 저장 장치(510), 메모리(520), 연산장치(520) 및 인터페이스 장치(530)를 포함한다. 나아가, 디코더(500)는 통신장치(550) 및 출력 장치(560)를 포함할 수도 있다.
저장 장치(510)는 다시점 영상을 디코딩하는 프로그램을 저장할 수 있다. 저장 장치(510)는 수신한 비트스트림을 저장할 수 있다.
메모리(520)는 디코딩 과정에서 생성되거나 필요한 정보를 임시로 저장할 수있다.
인터페이스 장치(540)는 디코더에서 데이터 및 명령을 전달하는 구성을 의미한다. 인터페이스 장치(540)는 내부 통신을 위한 물리적 장치 및 통신 프로토콜을 포함할 수 있다. 인터페이스 장치(540)는 비트스트림을 입력받을 수 있다. 인터페이스 장치(540)는 비트스트림 디코딩을 위한 명령을 입력받을 수도 있다.
통신장치(550)는 유선 또는 무선 통신을 통해 외부 객체로부터 일정한 정보를 수신할 수 있다. 예컨대, 통신장치(500)는 비트스트림을 수신할 수 있다. 통신장치(550)는 디코딩된 영상을 외부 객체로 송신할 수 있다.
인터페이스 장치(540) 및 통신장치(500)가 동일하게 외부 객체로부터 비트스트핌을 수신하는 경우, 인터페이스 장치(540) 및 통신장치(500)를 입력장치라고 명명할 수도 있다.
연산장치(530)는 주어진 데이터 내지 정보를 처리하는 구성을 의미한다. 연산장치(530)는 프로세서, AP, 프로그램이 임베디드된 칩과 같은 장치일 수 있다.
연산장치(530)는 저장 장치(510)에 저장된 코드 내지 프로그램을 이용하여 다시점 영상을 디코딩한다.
연산장치(530)는 입력되는 비트스트림을 파싱하여 디코딩에 필요한 영상을 추출할 수 있다.
연산장치(530)는 비트스트림을 복호하여 다시점 영상을 생성하고, 생성된 영상의 정보를 이용하여 중간 시점 영상을 합성할 수도 있다.
연산장치(530)는 비트스트림에서 특정 블록 디코딩을 위한 블록 벡터 정보를 추출할 수 있다.
연산장치(530)는 다시점 영상들 중 특정 시점 영상의 제1 특정 블록을 다시점 영상 중 코딩이 완료된 레퍼런스 영상의 제1 레퍼런스 블록을 기준으로 제1 특정 블록을 디코딩할 수 있다.
연산장치(530)는 제1 레퍼런스 블록이 IBC로 부호화되었는지 확인할 수 있다. 제1 레퍼런스 블록이 IBC로 부호화된 경우, 연산장치(530)는 다수의 블록 또는 다수의 블록 벡터를 포함하는 블록 벡터 그룹 중 적어도 하나의 정보를 이용하여 제1 레퍼런스 블록을 결정할 수 있다. 블록 벡터 그룹은 제1 특정 블록의 제1 블록 벡터, 제1 레퍼런스 블록의 제2 블록 벡터 및 제1 블록벡터와 제1 블록벡터의 차이를 포함하는 정보 그룹 중 적어도 하나의 정보를 포함할 수 있다. 연산장치(530)는 결정된 제1 레퍼런스 블록의 정보를 이용하여 제1 특정 블록에 대한 IBC 부호화를 할 수 있다.
연산장치(530)는 제1 레퍼런스 블록이 IBC로 부호화되었는지 확인할 수 있다. 제1 레퍼런스 블록이 IBC로 부호화된 경우, 연산장치(530)는 블록 벡터 정보를 이용하여 제1 특정 블록의 블록 벡터를 결정할 수 있다. 이때 블록 벡터 정보는 제1 특정 블록에 대한 IBC 스킵/병합 모드 또는 IBC AMVP 모드에서 고려되는 후보 블록 벡터들 및 제1 레퍼런스 블록의 블록 벡터 중 어느 하나를 포함할 수 있다. 이때, 연산장치(530)는 블록 벡터 정보에서 가장 효과가 좋은 특정 블록 벡터를 제1 특정 블록의 블록 벡터로 결정할 수 있다.
연산장치(530)는 다시점 영상들 중 특정 시점의 계층 영상 중 제1 영상의 제2 특정 블록에 대응하는 상기 계층 영상 중 제2 영상의 제2 레퍼런스 블록(co-located block)을 기준으로 제2 특정 블록을 디코딩할 수 있다. 계층 영상은 텍스처 영상 및 깊이 영상을 포함한다. 제1 영상이 텍스쳐 영상인 경우 제2 영상은 깊이 영상이다. 제1 영상이 깊이 영상인 경우 제2 영상은 텍스처 영상이다.
연산장치(530)는 제2 레퍼런스 블록이 IBC로 부호화되었는지 확인할 수 있다. 제2 레퍼런스 블록이 IBC로 부호화된 경우, 연산장치(530)는 다수의 블록 또는 다수의 블록 벡터를 포함하는 블록 벡터 그룹 중 적어도 하나의 정보를 이용하여 제2 레퍼런스 블록을 결정할 수 있다. 블록 벡터 그룹은 제2 특정 블록의 제1 블록 벡터, 제2 레퍼런스 블록의 제2 블록 벡터 및 제1 블록벡터와 제1 블록벡터의 차이를 포함하는 정보 그룹 중 적어도 하나의 정보를 포함할 수 있다. 연산장치(530)는 결정된 제2 레퍼런스 블록의 정보를 이용하여 제2 특정 블록에 대한 IBC 부호화를 할 수 있다.
연산장치(530)는 제2 레퍼런스 블록이 IBC로 부호화되었는지 확인할 수 있다. 제2 레퍼런스 블록이 IBC로 부호화된 경우, 연산장치(530)는 블록 벡터 정보를 이용하여 제2 특정 블록의 블록 벡터를 결정할 수 있다. 이때 블록 벡터 정보는 제2 특정 블록에 대한 IBC 스킵/병합 모드 또는 IBC AMVP 모드에서 고려되는 후보 블록 벡터들 및 제2 레퍼런스 블록의 블록 벡터 중 어느 하나를 포함할 수 있다. 이때, 연산장치(530)는 블록 벡터 정보에서 가장 효과가 좋은 특정 블록 벡터를 제2 특정 블록의 블록 벡터로 결정할 수 있다.
출력 장치(560)는 디코딩한 영상을 출력할 수 있다.
또한, 상술한 바와 같은 블록 벡터 예측 방법, 인코딩 방법 및 디코딩 방법은 컴퓨터에서 실행될 수 있는 실행가능한 알고리즘을 포함하는 프로그램(또는 어플리케이션)으로 구현될 수 있다. 상기 프로그램은 일시적 또는 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM (read-only memory), PROM (programmable read only memory), EPROM(Erasable PROM, EPROM) 또는 EEPROM(Electrically EPROM) 또는 플래시 메모리 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
일시적 판독 가능 매체는 스태틱 램(Static RAM,SRAM), 다이내믹 램(Dynamic RAM,DRAM), 싱크로너스 디램 (Synchronous DRAM,SDRAM), 2배속 SDRAM(Double Data Rate SDRAM,DDR SDRAM), 증강형 SDRAM(Enhanced SDRAM,ESDRAM), 동기화 DRAM(Synclink DRAM,SLDRAM) 및 직접 램버스 램(Direct Rambus RAM,DRRAM) 과 같은 다양한 RAM을 의미한다.
본 실시례 및 본 명세서에 첨부된 도면은 전술한 기술에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 전술한 기술의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시례는 모두 전술한 기술의 권리범위에 포함되는 것이 자명하다고 할 것이다.

Claims (12)

  1. 인코더가 다시점 영상들 중 특정 시점 영상의 특정 블록에 대한 디스패리티(disparity) 벡터를 결정하는 단계;
    상기 인코더가 상기 디스패리티 벡터를 이용하여 상기 다시점 영상들 중 코딩이 완료된 어느 하나의 레퍼런스 영상의 레퍼런스 블록을 결정하는 단계;
    상기 인코더가 상기 레퍼런스 블록이 화면 내 블록 카피(Intra Block Copy, IBC)로 부호화된 경우, 상기 레퍼런스 블록의 제1 블록 벡터를 기준으로 상기 특정 블록의 화면 내 블록 카피를 위한 블록 벡터 정보를 결정하는 단계; 및
    상기 인코더가 상기 특정 블록의 블록 벡터 정보를 인코딩하는 단계를 포함하되,
    상기 특정 블록의 블록 벡터 정보는
    (i) 상기 레퍼런스 블록의 제1 블록벡터, (ii) 상기 제1 블록벡터를 기준으로 예측되는 타깃 블록 및 상기 타깃 블록에 인접한 블록 중 선택된 블록의 제2 블록벡터 및 (iii) 상기 특정 블록에 대한 IBC 스킵/병합(skip/merge) 모드 또는 IBC AMVP(advanced motion vector prediction) 모드에서 고려되는 후보 블록 벡터들 중 가장 부호화 효율이 좋은 제3 블록 벡터를 포함하는 벡터 그룹 중 어느 하나의 블록 벡터에 대한 정보를 포함하는 화면 내 블록 카피를 이용한 다시점 영상에서의 블록 벡터 예측 기법.
  2. 제1항에 있어서,
    상기 인코더는
    텍스쳐 영상이 부호화된 경우 NBDV(Neighbouring Block-based Disparity Vector)를 이용하여 상기 디스패리티 벡터를 결정하고,
    깊이 영상이 부호화된 경우 깊이 정보를 이용하여 상기 디스패리티 벡터를 결정하는 화면 내 블록 카피를 이용한 다시점 영상에서의 블록 벡터 예측 기법.
  3. 삭제
  4. 삭제
  5. 인코더가 다시점 영상 중 특정 시점의 제1 영상의 특정 블록에 대응하는 상기 특정 시점의 제2 영상의 레퍼런스 블록(co-located block)을 결정하는 단계;
    상기 인코더가 코딩이 완료된 상기 레퍼런스 블록이 화면 내 블록 카피(Intra Block Copy, IBC)로 부호화된 경우, 상기 레퍼런스 블록의 제1 블록 벡터를 기준으로 상기 특정 블록의 화면 내 블록 카피를 위한 블록 벡터 정보를 결정하는 단계; 및
    상기 인코더가 상기 특정 블록의 블록 벡터 정보를 인코딩하는 단계를 포함하되,
    상기 제1 영상이 깊이 영상인 경우 상기 제2 영상은 텍스쳐 영상이고, 상기 제1 영상인 텍스쳐 영상인 경우 상기 제2 영상은 깊이 영상인 화면 내 블록 카피를 이용한 다시점 영상에서의 블록 벡터 예측 기법.
  6. 제5항에 있어서,
    상기 블록 벡터 정보는 상기 제1 블록 벡터, 상기 제1 블록 벡터를 기준으로 예측한 상기 특정 블록의 제2 블록 벡터 및 상기 제1 블록벡터와 상기 제1 블록벡터의 차이를 포함하는 정보 그룹 중 적어도 하나의 정보를 포함하는 화면 내 블록 카피를 이용한 다시점 영상에서의 블록 벡터 예측 기법.
  7. 제5항에 있어서,
    상기 블록 벡터 정보는 상기 특정 블록에 대한 IBC 스킵/병합(skip/merge) 모드 또는 IBC AMVP(advanced motion vector prediction) 모드에서 고려되는 후보 블록 벡터들 및 상기 제1 블록 벡터를 포함하는 후보 벡터 그룹 중 가장 부호화 효율이 좋은 블록 벡터를 포함하는 화면 내 블록 카피를 이용한 다시점 영상에서의 블록 벡터 예측 기법.
  8. 다시점 영상들에 대한 비트 스트림을 입력받은 입력장치;
    화면 내 블록 카피(Intra Block Copy, IBC) 기반 화면 내 예측을 수행하는 프로그램을 저장하는 저장장치; 및
    상기 비트 스트림에서 특정 블록에 대한 블록 벡터 정보를 추출하고, 상기 블록 벡터 정보를 이용하여 상기 특정 블록의 부호화에 이용된 타깃 블록을 결정하고, 상기 타깃 블록을 이용하여 상기 특정 블록을 디코딩하는 연산 장치를 포함하되,
    상기 연산장치는
    상기 다시점 영상들 중 특정 시점 영상의 제1 특정 블록을 상기 다시점 영상 중 코딩이 완료된 레퍼런스 영상의 제1 레퍼런스 블록을 기준으로 상기 제1 특정 블록을 디코딩하고,
    상기 다시점 영상들 중 특정 시점의 계층 영상 중 제1 영상의 제2 특정 블록에 대응하는 상기 계층 영상 중 제2 영상의 제2 레퍼런스 블록(co-located block)을 기준으로 상기 제2 특정 블록을 디코딩하는 화면 내 블록 카피를 이용한 다시점 영상 디코더.
  9. 제8항에 있어서,
    상기 제1 레퍼런스 블록이 화면 내 블록 카피(Intra Block Copy, IBC)로 부호화된 경우,
    상기 블록 벡터 정보는 상기 제1 특정 블록의 제1 블록 벡터, 상기 제1 레퍼런스 블록의 제2 블록 벡터 및 상기 제1 블록벡터와 상기 제2 블록벡터의 차이를 포함하는 정보 그룹 중 적어도 하나의 정보를 포함하고,
    상기 연산장치는 상기 적어도 하나의 정보를 이용하여 상기 레퍼런스 영상에서 상기 제1 레퍼런스 블록을 결정하는 화면 내 블록 카피를 이용한 다시점 영상 디코더.
  10. 제8항에 있어서,
    상기 제2 레퍼런스 블록이 화면 내 블록 카피(Intra Block Copy, IBC)로 부호화된 경우,
    상기 블록 벡터 정보는 상기 제2 특정 블록의 제1 블록 벡터, 상기 제2 레퍼런스 블록의 제2 블록 벡터 및 상기 제1 블록벡터와 상기 제1 블록벡터의 차이를 포함하는 정보 그룹 중 적어도 하나의 정보를 포함하고,
    상기 연산장치는 상기 적어도 하나의 정보를 이용하여 상기 제2 영상에서 상기 제2 레퍼런스 블록을 결정하는 화면 내 블록 카피를 이용한 다시점 영상 디코더.
  11. 제8항에 있어서,
    상기 제1 레퍼런스 블록이 화면 내 블록 카피(Intra Block Copy, IBC)로 부호화된 경우,
    상기 블록 벡터 정보는 상기 제1 특정 블록에 대한 IBC 스킵/병합(skip/merge) 모드 또는 IBC AMVP(advanced motion vector prediction) 모드에서 고려되는 후보 블록 벡터들 및 상기 제1 레퍼런스 블록의 블록 벡터 중 어느 하나를 포함하는 화면 내 블록 카피를 이용한 다시점 영상 디코더.
  12. 제8항에 있어서,
    상기 제2 레퍼런스 블록이 화면 내 블록 카피(Intra Block Copy, IBC)로 부호화된 경우,
    상기 블록 벡터 정보는 상기 제2 특정 블록에 대한 IBC 스킵/병합(skip/merge) 모드 또는 IBC AMVP(advanced motion vector prediction) 모드에서 고려되는 후보 블록 벡터들 및 상기 제2 레퍼런스 블록의 블록 벡터 중 어느 하나를 포함하는 화면 내 블록 카피를 이용한 다시점 영상 디코더.
KR1020200159306A 2020-11-24 2020-11-24 화면 내 블록 카피를 이용한 다시점 영상에서의 블록 벡터 예측 기법 및 디코더 KR102403817B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200159306A KR102403817B1 (ko) 2020-11-24 2020-11-24 화면 내 블록 카피를 이용한 다시점 영상에서의 블록 벡터 예측 기법 및 디코더
US17/534,988 US11968371B2 (en) 2020-11-24 2021-11-24 Block vector estimation method for multiview video based on intra block copy and decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200159306A KR102403817B1 (ko) 2020-11-24 2020-11-24 화면 내 블록 카피를 이용한 다시점 영상에서의 블록 벡터 예측 기법 및 디코더

Publications (1)

Publication Number Publication Date
KR102403817B1 true KR102403817B1 (ko) 2022-05-31

Family

ID=81657693

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200159306A KR102403817B1 (ko) 2020-11-24 2020-11-24 화면 내 블록 카피를 이용한 다시점 영상에서의 블록 벡터 예측 기법 및 디코더

Country Status (2)

Country Link
US (1) US11968371B2 (ko)
KR (1) KR102403817B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024090956A1 (ko) * 2022-10-24 2024-05-02 주식회사 윌러스표준기술연구소 블록 벡터 후보를 유도하는 방법 및 이를 위한 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160269751A1 (en) 2014-06-23 2016-09-15 Mediatek Singapore Pte. Ltd. Method of Segmental Prediction for Depth and Texture Data in 3D and Multi-view Coding Systems
KR20200104251A (ko) * 2019-02-26 2020-09-03 주식회사 엑스리스 영상 신호 부호화/복호화 방법 및 이를 위한 장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9715559B2 (en) * 2014-03-17 2017-07-25 Qualcomm Incorporated Hash-based encoder search for intra block copy
FI20165256L (fi) * 2016-03-24 2017-09-25 Nokia Technologies Oy Laitteisto, menetelmä ja tietokoneohjelma videokoodaukseen ja -dekoodaukseen
US11190800B2 (en) * 2019-02-07 2021-11-30 Qualcomm Incorporated Motion vector predictor list generation for intra block copy mode in video coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160269751A1 (en) 2014-06-23 2016-09-15 Mediatek Singapore Pte. Ltd. Method of Segmental Prediction for Depth and Texture Data in 3D and Multi-view Coding Systems
KR20200104251A (ko) * 2019-02-26 2020-09-03 주식회사 엑스리스 영상 신호 부호화/복호화 방법 및 이를 위한 장치

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Christian B et al, HEVC extension for multiview video coding and multiview video plus depth coding, 43 VCEG meeting, 97 MPEG meeting, VCEG-AR13 (2012.02.04.) 1부.* *
Wenbin Yin, History Based Block Vector Predictor for Intra Block Copy, 2020 IEEE International Conference on Multimedia & Expo Workshops (ICMEW) (2020.07.10.) 1부.* *
강재원, 3차원 동영상 압축 표준의 텍스쳐 비디오 우선 부호화 방식을 위한 변위 벡터 추정 기법, 한국통신학회논문지, Vol.40, No.10 (2015.10.31.) 1부.* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024090956A1 (ko) * 2022-10-24 2024-05-02 주식회사 윌러스표준기술연구소 블록 벡터 후보를 유도하는 방법 및 이를 위한 장치

Also Published As

Publication number Publication date
US20220166984A1 (en) 2022-05-26
US11968371B2 (en) 2024-04-23

Similar Documents

Publication Publication Date Title
US11240478B2 (en) Efficient multi-view coding using depth-map estimate for a dependent view
US11917200B2 (en) Hybrid video coding supporting intermediate view synthesis
KR102605638B1 (ko) 부분 코스트 계산
JP5021739B2 (ja) 信号処理方法及び装置
US10257531B2 (en) Method and apparatus for processing multiview video signals based on illumination compensation and inter-view motion candidate
TWI502969B (zh) 活動影像編碼方法及解碼方法、其電腦程式以及記錄有該電腦程式之記憶媒體
US10412403B2 (en) Video encoding/decoding method and apparatus
KR101653118B1 (ko) 3d 장면의 하나 이상의 비디오를 처리하는 방법
US9349192B2 (en) Method and apparatus for processing video signal
US20100098157A1 (en) method and an apparatus for processing a video signal
US9264691B2 (en) Method and system for backward 3D-view synthesis prediction using neighboring blocks
JP2014533056A (ja) デプスマップの推定および更新を用いる効率的なマルチビュー符号化
US10477183B2 (en) Method and apparatus of camera parameter signaling in 3D video coding
JP6042556B2 (ja) 3dビデオ符号化における制約される視差ベクトル導出の方法と装置
US20150365649A1 (en) Method and Apparatus of Disparity Vector Derivation in 3D Video Coding
KR20150110357A (ko) 다시점 비디오 신호 처리 방법 및 장치
KR20120084629A (ko) 움직임 정보 및 변이 정보를 부호화/복호화하는 영상 처리 장치 및 방법
KR20160086941A (ko) 영상 부호화 방법, 영상 복호 방법, 영상 부호화 장치, 영상 복호 장치, 영상 부호화 프로그램 및 영상 복호 프로그램
KR102403817B1 (ko) 화면 내 블록 카피를 이용한 다시점 영상에서의 블록 벡터 예측 기법 및 디코더
KR20160004946A (ko) 다시점 비디오 신호 처리 방법 및 장치
CN105359529A (zh) 三维视频编码中用于高级时间残差预测的方法及装置
US20150172694A1 (en) Moving picture encoding method, moving picture decoding method, moving picture encoding apparatus, moving picture decoding apparatus, moving picture encoding program, moving picture decoding program, and recording media
CN105144714A (zh) 三维视频编码的视差向量推导的方法及装置

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant