KR20230065366A - 영상 부호화/복호화 방법 및 장치 - Google Patents

영상 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
KR20230065366A
KR20230065366A KR1020237014554A KR20237014554A KR20230065366A KR 20230065366 A KR20230065366 A KR 20230065366A KR 1020237014554 A KR1020237014554 A KR 1020237014554A KR 20237014554 A KR20237014554 A KR 20237014554A KR 20230065366 A KR20230065366 A KR 20230065366A
Authority
KR
South Korea
Prior art keywords
block
division
tree
blocks
size
Prior art date
Application number
KR1020237014554A
Other languages
English (en)
Inventor
정제창
김기백
Original Assignee
한양대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한양대학교 산학협력단 filed Critical 한양대학교 산학협력단
Publication of KR20230065366A publication Critical patent/KR20230065366A/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/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/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/647Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]
    • 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
    • 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/96Tree coding, e.g. quad-tree coding
    • 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/124Quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Television Systems (AREA)

Abstract

픽쳐의 크기 정보 및 기본 부호화 블록의 크기 정보를 기초로 영상의 경계에 위치하며 기본 부호화 블록의 크기보다 작은 경계 블록의 크기 정보 및 블록 분할 정보를 설정하는 단계, 기본 부호화 블록의 크기 정보, 경계 블록의 크기 정보 및 블록 분할 정보를 기초로 경계 블록을 적어도 하나의 부호화 블록으로 분할하는 단계 및 분할한 적어도 하나의 부호화 블록을 부호화하는 단계를 포함하는 영상 부호화 방법이 개시된다.

Description

영상 부호화/복호화 방법 및 장치{METHOD AND APPARATUS FOR ENCODING/DECODING IMAGE}
본 발명은 기본 부호화 블록의 크기의 배수가 아닌 크기의 영상을 부호화/복호화하는 방법에 관한 것으로, 더욱 상세하게는, 영상의 확장 또는 부호화 블록의 조정을 이용하여 기본 부호화 블록의 크기의 배수가 아닌 크기의 영상을 부호화/복호화하는 방법 및 장치에 관한 것이다.
인터넷과 휴대 단말의 보급과 정보 통신 기술의 발전에 따라 멀티미디어 데이터에 대한 이용이 급증하고 있다. 따라서, 각종 시스템에서 영상 예측을 통해 다양한 서비스나 작업을 수행하기 위하여 영상 처리 시스템의 성능 및 효율 개선에 대한 필요성이 상당히 증가하고 있으나, 이러한 분위기에 호응할 수 있는 연구 개발 결과가 미흡한 실정이다.
이와 같이, 종래 기술의 영상 부호화 복호화 방법 및 장치에서는 영상 처리 특히 영상 부호화 또는 영상 복호화에 대한 성능 개선이 요구되고 있는 실정이다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 기본 부호화 블록의 크기의 배수가 아닌 크기의 영상을 부호화/복호화하는 방법을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 기본 부호화 블록의 크기의 배수가 아닌 크기의 영상을 부호화/복호화하는 장치를 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 영상을 부호화하는 방법은 픽쳐의 크기 정보 및 기본 부호화 블록의 크기 정보를 기초로 영상의 경계에 위치하며 기본 부호화 블록의 크기보다 작은 경계 블록의 크기 정보 및 블록 분할 정보를 설정하는 단계, 기본 부호화 블록의 크기 정보, 경계 블록의 크기 정보 및 블록 분할 정보를 기초로 경계 블록을 적어도 하나의 부호화 블록으로 분할하는 단계 및 분할한 적어도 하나의 부호화 블록을 부호화하는 단계를 포함할 수 있다.
여기서, 경계 블록의 크기 정보 및 기본 부호화 블록의 크기 정보를 기초로 픽쳐의 크기를 확장하는 단계 및 확장한 픽쳐의 크기를 기초로 경계 블록의 크기 정보를 조정하는 단계를 더 포함할 수 있다.
여기서, 경계 블록을 적어도 하나의 부호화 블록으로 분할하는 단계는, 블록 분할 정보에 따라 기본 부호화 블록의 크기를 조정하는 단계 및 기본 부호화 블록의 크기 정보, 경계 블록의 크기 정보 및 조정한 기본 부호화 블록의 크기 정보를 기초로 적어도 하나의 부호화 블록으로 분할하는 단계를 포함할 수 있다.
본 발명에 따르면, 영상의 크기가 기본 부호화 블록의 크기의 배수가 아닌 경우, 배수가 되도록 영상을 확장하여 부호화의 통일성을 제공할 수 있다.
본 발명에 따르면, 영상의 크기가 기본 부호화 블록의 크기의 배수가 아닌 경우, 기본 부호화 블록의 크기를 조정하여 높은 효율의 부호화를 제공할 수 있다.
도 1은 본 발명의 실시예에 따른 영상 부호화 및 복호화 시스템에 대한 개념도이다.
도 2는 본 발명의 일 실시예에 따른 영상 부호화 장치에 대한 블록 구성도이다.
도 3은 본 발명의 일 실시예에 따른 영상 복호화 장치에 대한 블록 구성도이다.
도 4는 본 발명의 일 실시예에 따른 트리 기반의 블록 형태를 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 다양한 블록 형태를 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 블록 분할을 설명하기 위한 블록을 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 영상 부호화 방법을 나타낸 순서도이다.
도 8a 및 도 8b는 본 발명의 일 실시예에 따른 다양한 크기의 기본 부호화 블록으로 구획한 영상을 나타낸 도면이다.
도 9는 본 발명의 일 실시예에 따른 기본 부호화 블록 조정 방법을 설명하기 위한 제1 예시도이다.
도 10은 본 발명의 일 실시예에 따른 기본 부호화 블록 조정 방법을 설명하기 위한 제2 예시도이다.
도 11a 및 도 11b는 본 발명의 일 실시예에 따른 기본 부호화 블록 조정 방법을 설명하기 위한 경계 블록을 나타낸 도면이다.
도 12는 본 발명의 일 실시예에 따른 기본 부호화 블록을 조정하여 영상을 부호화하는 방법을 나타낸 순서도이다.
도 13a 및 도 13b는 본 발명의 일 실시예에 따른 영상 크기 조정 방법을 설명하기 위한 제1 예시도이다.
도 14는 본 발명의 일 실시예에 따른 영상 크기 조정 방법을 설명하기 위한 제2 예시도이다.
도 15는 본 발명의 일 실시예에 따른 영상 크기를 조정하여 영상을 부호화하는 방법을 나타낸 순서도이다.
도 16a 내지 도 16d는 본 발명의 일 실시예에 따른 적응적 영상 데이터 처리 방법을 설명하기 위한 예시도이다.
도 17a 내지 도 17f는 본 발명의 일 실시예에 따른 복수의 분할 방법에 따른 적응적 영상 데이터 처리 방법을 설명하기 위한 제1 예시도이다.
도 18a 내지 도 18c는 본 발명의 일 실시예에 따른 복수의 분할 방법에 따른 적응적 영상 데이터 처리 방법을 설명하기 위한 제2 예시도이다.
도 19는 본 발명의 일 실시예에 따른 적응적 영상 데이터 처리를 통해 영상을 부호화하는 방법을 나타낸 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 것을 의미한다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
통상적으로 영상은 일련의 정지 영상(Still Image)으로 구성될 수 있으며, 이 정지 영상들은 GOP(Group of Pictures) 단위로 구분될 수 있고, 각 정지 영상을 픽쳐(Picture) 또는 프레임(Frame)이라 지칭할 수 있다. 상위 개념으로는 GOP, 시퀀스(Sequence)등의 단위가 존재할 수 있으며, 또한, 각 픽쳐는 슬라이스, 타일, 블록 등과 같은 소정의 영역으로 분할될 수 있다. 또한, 하나의 GOP에는 I 픽쳐, P 픽쳐, B 픽쳐 등의 단위가 포함될 수 있다. I 픽쳐는 참조 픽쳐를 사용하지 않고 자체적으로 부호화/복호화되는 픽쳐를 의미할 수 있으며, P 픽쳐와 B 픽쳐는 참조 픽쳐를 사용하여 움직임 추정(Motion Estimation) 및 움직임 보상(Motion Compensation) 등의 과정을 수행하여 부호화/복호화 하는 픽쳐를 의미할 수 있다. 일반적으로 P 픽쳐의 경우 I 픽쳐와 P 픽쳐를 참조 픽쳐로써 이용할 수 있으며, B 픽쳐의 경우 I 픽쳐와 P 픽쳐를 참조 픽쳐를 이용할 수 있으나, 이는 부호화/복호화의 설정에 의해 위의 정의 또한 변경될 수 있다.
여기서, 부호화/복호화하는데 참조되는 픽쳐를 참조 픽쳐(Reference Picture)라고 하며, 참조되는 블록 또는 화소를 참조 블록(Reference Block), 참조 화소(Reference Pixel)라고 한다. 또한, 참조되는 데이터(Reference Data)는 공간 영역(Spatial Domain)의 화소값 뿐만 아니라 주파수 영역(Frequency Domain)의 계수값, 부호화/복호화 과정 중에 생성, 결정되는 다양한 부호화/복호화 정보일 수 있다.
영상을 이루는 최소 단위는 화소일 수 있으며, 하나의 화소를 표현하는데 사용되는 비트수를 비트 심도(Bit Depth)라고 한다. 일반적으로 비트 심도는 8비트일 수 있으며 부호화 설정에 따라 다른 비트 심도를 지원할 수 있다. 비트 심도는 컬러 공간(Color Space)에 따라 적어도 하나의 비트 심도가 지원될 수 있다. 또한, 영상의 컬러 포맷(Color Format)에 따라 적어도 하나의 컬러 공간으로 구성될 수 있다. 컬러 포맷에 따라 일정 크기를 갖는 1개 이상의 픽쳐 또는 다른 크기를 갖는 1개 이상의 픽쳐로 구성될 수 있다. 예를 들어, YCbCr 4:2:0인 경우 1개의 휘도 성분(본 예에서, Y)과 2개의 색차 성분(본 예에서, Cb/Cr)으로 구성될 수 있으며, 이때 색차 성분과 휘도 성분의 구성 비는 가로, 세로 1:2를 가질 수 있다. 다른 예로, 4:4:4인 경우 가로, 세로 동일한 구성 비를 가질 수 있다. 상기 예처럼 하나 이상의 컬러 공간으로 구성이 되는 경우 픽쳐는 각 컬러 공간으로의 분할을 수행할 수 있다.
본 발명에서는 일부 컬러 포맷(본 예에서, YCbCr)의 일부 컬러 공간(본 예에서, Y)을 기준으로 설명할 것이며, 컬러 포맷에 따른 다른 컬러 공간(본 예에서, Cb, Cr)에도 동일하거나 비슷한 적용(특정 컬러 공간에 의존적인 설정)을 할 수 있다. 그러나 각 컬러 공간에 부분적인 차이(특정 컬러 공간에 독립적인 설정)를 두는 것 또한 가능할 수 있다. 즉, 각 컬러 공간에 의존적인 설정은 각 성분의 구성 비(예를 들어, 4:2:0, 4:2:2 또는 4:4:4 등에 따라 결정)에 비례하거나 의존적인 설정을 갖는 것으로 의미할 수 있고, 각 컬러 공간에 독립적인 설정은 각 성분의 구성 비에 관계없거나 독립적으로 해당 컬러 공간만의 설정을 갖는 것으로 의미할 수 있다. 본 발명에서는 부/복호화기에 따라 일부 구성에 대해서는 독립적인 설정을 갖거나 의존적인 설정을 가질 수 있다.
영상 부호화 과정에서 필요한 설정 정보 또는 구문 요소(Syntax Element)는 비디오, 시퀀스, 픽쳐, 슬라이스, 타일, 블록 등의 단위 수준에서 정해질 수 있으며 이는 VPS(Video Parameter Set), SPS(Sequence Parameter Set), PPS(Picture Parameter Set), Slice Header, Tile Header 또는 Block Header 등과 같은 단위로 비트스트림에 수록되어 복호화기로 전송될 수 있고, 복호화기에서는 동일 수준의 단위에서 파싱(Parsing)하여 부호화기에서 전송된 설정 정보를 복원하여 영상 복호화 과정에 사용할 수 있다. 각 파라미터 세트는 고유의 아이디값을 갖고 있으며, 하위 파라미터 세트에서는 참조할 상위 파라미터 세트의 아이디값을 가질 수 있다. 예를 들어, 하위 파라미터 세트에서 하나 이상의 상위 파라미터 세트 중 일치하는 아이디값을 갖는 상위 파라미터 세트의 정보를 참조할 수 있다. 위에서 언급된 다양한 단위의 예 중 어떤 하나의 단위가 하나 이상의 다른 단위를 포함하는 경우에 해당하는 단위는 상위 단위, 포함되는 단위는 하위 단위라 칭할 수 있다.
상기 단위에서 발생하는 설정 정보의 경우 해당 단위마다 독립적인 설정에 대한 내용을 포함하거나 이전, 이후 또는 상위 단위 등에 의존적인 설정에 대한 내용을 포함할 수 있다. 여기서, 의존적인 설정이란 이전, 이후, 상위 단위의 설정을 따른다는 플래그 정보(예를 들어, 1 비트 플래그로 1이면 따르고, 0이면 따르지 않음)로 해당 단위의 설정 정보를 나타내는 것이라 이해될 수 있다. 본 발명에서의 설정 정보는 독립적인 설정에 대한 예를 중심으로 설명을 할 것이나, 현재 단위의 이전, 이후의 단위 또는 상위 단위의 설정 정보에 의존적인 관계에 대한 내용으로의 추가 또는 대체되는 예 또한 포함될 수 있다.
영상의 부호화/복호화는 입력된 크기에 맞춰 부호화/복호화가 되는 것이 일반적일 수 있으나, 크기 조정을 통해 부호화/복호화를 수행하는 경우도 발생할 수 있다. 예를 들어, 공간적, 시간적 및 화질적 확장성(scalability)를 지원하기 위한 계층적 부호화 방식(scalability video coding) 등에서 영상의 확장 및 축소와 같이 전체적인 해상도를 조정하는 경우도 존재할 수 있으며, 부분적인 영상의 확장 및 축소를 수행하는 경우 또한 존재할 수 있다. 이에 대한 정보는 상술한 VPS, SPS, PPS 및 Slice Header과 같은 단위에서 선택 정보를 할당하여 스위칭할 수 있다. 이러한 경우, 각 단위 간의 상하 관계는 VPS > SPS > PPS > Slice header 등으로 설정될 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 영상 부호화 및 복호화 시스템에 대한 개념도이다.
도 1을 참조하면, 영상 부호화 장치(105) 및 복호화 장치(100)는 개인용 컴퓨터(PC:Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선 통신 단말기(Wireless Communication Terminal), 스마트폰(Smart Phone) 또는 TV 등과 같은 사용자 단말기이거나 응용 서버와 서비스 서버 등 서버 단말기일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화 또는 복호화를 위해 인터 또는 인트라 예측하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리(memory, 120, 125) 또는 프로그램을 실행하여 연산 및 제어하기 위한 프로세서(processor, 110, 115) 등을 구비하는 다양한 장치를 포함할 수 있다.
또한, 영상 부호화 장치(105)에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망 또는 이동통신망 등의 유무선 통신망(Network) 등을 통하거나 케이블 또는 범용 직렬 버스(USB: Universal Serial Bus) 등과 같은 다양한 통신 인터페이스를 통해 영상 복호화 장치(100)로 전송되어 영상 복호화 장치(100)에서 복호화되어 영상으로 복원되고 재생될 수 있다. 또한, 영상 부호화 장치(105)에 의해 비트스트림으로 부호화된 영상은 컴퓨터 판독 가능한 기록 매체를 통하여 영상 부호화 장치(105)에서 영상 복호화 장치(100)로 전달될 수 있다.
전술한 영상 부호화 장치와 영상 복호화 장치는 각각 별도의 장치들일 수 있으나, 구현에 따라서 하나의 영상 부호화/복호화 장치로 만들어질 수 있다. 그 경우, 영상 부호화 장치의 일부 구성은 영상 복호화 장치의 일부 구성과 실질적으로 동일한 기술요소로서 적어도 동일한 구조를 포함하거나 적어도 동일한 기능을 수행하도록 구현될 수 있다.
따라서, 이하의 기술요소들과 이들의 작동 원리 등에 대한 상세 설명에서는 대응 기술요소들의 중복되는 설명을 생략하기로 한다. 또한, 영상 복호화 장치는 영상 부호화 장치에서 수행되는 영상 부호화 방법을 복호화에 적용하는 컴퓨팅 장치에 대응하므로, 이하의 설명에서는 영상 부호화 장치를 중심으로 설명하기로 한다.
컴퓨팅 장치는 영상 부호화 방법 및/또는 영상 복호화 방법을 구현하는 프로그램이나 소프트웨어 모듈을 저장하는 메모리와 메모리에 연결되어 프로그램을 수행하는 프로세서를 포함할 수 있다. 여기서, 영상 부호화 장치는 부호화기로, 영상 복호화 장치는 복호화기로 각각 지칭될 수 있다.
도 2는 본 발명의 일 실시예에 따른 영상 부호화 장치에 대한 블록 구성도이다.
도 2를 참조하면, 영상 부호화 장치(20)는 예측부(200), 감산부(205), 변환부(210), 양자화부(215), 역양자화부(220), 역변환부(225), 가산부(230), 필터부(235), 부호화 픽쳐 버퍼(240) 및 엔트로피 부호화부(245)를 포함할 수 있다.
예측부(200)는 소프트웨어 모듈인 예측 모듈(prediction module)을 이용하여 구현될 수 있고, 부호화할 블록에 대하여 화면내 예측 방식(Intra Prediction)이나 화면간 예측 방식(Inter Prediction)으로 예측 블록을 생성할 수 있다. 예측부(200)는 영상에서 현재 부호화하고자 하는 현재 블록을 예측하여 예측 블록을 생성할 수 있다. 다시 말해, 예측부(200)는 영상에서 부호화하고자 하는 현재 블록의 각 화소의 화소값(pixel value)을 화면내 예측 또는 화면간 예측에 따라 예측하여 생성된 각 화소의 예측 화소값(prediced pixel value)를 갖는 예측 블록을 생성할 수 있다. 또한, 예측부(200)는 화면내 예측 모드 또는 화면간 예측 모드와 같은 예측 모드에 대한 정보와 같은 예측 블록을 생성하는데 필요한 정보를 부호화부로 전달하여 부호화부로 하여금 예측 모드에 대한 정보를 부호화하도록 할 수 있다. 이때, 예측이 수행되는 처리 단위와 예측 방법 및 구체적인 내용이 정해지는 처리 단위는 부/복호화 설정에 따라 정해질 수 있다. 예를 들어, 예측 방법, 예측 모드 등은 예측 단위로 결정되고, 예측의 수행은 변환 단위로 수행될 수 있다.
화면내 예측부에서 예측 방향에 따라 사용하는 수평, 수직 모드 등과 같은 방향성 예측 모드와 참조 화소의 평균, 내삽 등 방법을 사용하는 DC, Planar와 같은 비방향성 예측 모드를 가질 수 있다. 방향성 및 비방향성 모드를 통해 화면내 예측 모드 후보군을 구성할 수 있으며, 35개의 예측 모드(방향성 33개 + 비방향성 2개) 또는 67개의 예측 모드(방향성 65개 + 비방향성 2개), 131개의 예측 모드(방향성 129개 + 비방향성 2개) 등과 같은 다양한 후보 중 하나를 후보군으로 사용할 수 있다.
화면내 예측부는 참조 화소 구성부, 참조 화소 필터부, 참조 화소 보간부, 예측 모드 결정부, 예측 블록 생성부, 예측 모드 부호화부를 포함할 수 있다. 참조 화소 구성부는 현재 블록을 중심으로 이웃한 블록에 속하고 현재 블록과 인접한 화소를 화면내 예측을 위한 참조 화소로 구성할 수 있다. 부호화 설정에 따라 최인접한 하나의 참조 화소 라인을 참조 화소로 구성하거나 또는 그 외의 인접한 하나의 참조 화소 라인을 참조 화소로 구성할 수 있고, 복수의 참조 화소 라인을 참조 화소로 구성할 수 있다. 만약 참조 화소의 일부가 이용가능하지 않을 경우 이용가능한 참조 화소를 사용하여 참조 화소를 생성할 수 있고, 전부가 이용가능하지 않을 경우에는 기설정된 값(예를 들어, 비트 심도에 의해 표현되는 화소값 범위의 중앙값 등)을 사용하여 참조 화소를 생성할 수 있다.
화면내 예측부의 참조 화소 필터부는 부호화 과정을 통해 남아있는 열화를 줄여주기 위한 목적으로 참조 화소에 필터링을 수행할 수 있다. 이때, 사용되는 필터는 3-tap 필터 [1/4, 1/2, 1/4], 5-tap 필터 [2/16, 3/16, 6/16, 3/16, 2/16] 등과 같은 저역 통과 필터(Low-pass Filter)일 수 있다. 부호화 정보(예를 들어, 블록의 크기, 형태, 예측 모드 등)에 따라 필터링의 적용 유무, 필터링 종류가 결정될 수 있다.
화면내 예측부의 참조 화소 보간부는 예측 모드에 따라 참조 화소의 선형 보간 과정을 통해 소수 단위의 화소를 생성할 수 있으며, 부호화 정보에 따라 적용되는 보간 필터가 결정될 수 있다. 이때, 사용되는 보간 필터는 4-tap 큐빅(Cubic) 필터, 4-tap 가우시안(Gaussian) 필터, 6-tap 위너(Wiener) 필터, 8-tap 칼만(Kalman) 필터 등이 포함될 수 있다. 저역 통과 필터를 수행하는 과정과 별도로 보간이 수행되는 것이 일반적이지만 두 과정에 적용되는 필터를 하나로 통합하여 필터링 과정을 수행할 수도 있다.
화면내 예측부의 예측 모드 결정부는 부호화 비용을 고려하여 예측 모드 후보군 중 적어도 하나의 최적의 예측 모드를 선정할 수 있으며, 예측 블록 생성부는 해당 예측 모드를 사용하여 예측 블록을 생성할 수 있다. 예측 모드 부호화부에서 상기 최적의 예측 모드를 예측값에 기반하여 부호화할 수 있다. 이때, 예측값이 들어맞는 경우와 들어맞지 않는 경우에 따라 적응적으로 예측 정보를 부호화할 수 있다.
화면내 예측부에서 상기 예측값을 MPM(Most Probable Mode)이라고 하며 예측 모드 후보군에 속하는 전체 모드 중에서 일부 모드를 MPM 후보군으로 구성할 수 있다. MPM 후보군에는 기설정된 예측 모드(예를 들어, DC, Planar, 수직, 수평, 대각선 모드 등) 또는 공간적으로 인접한 블록(예를 들어, 좌, 상, 좌상, 우상, 좌하 블록 등)의 예측 모드 등이 포함될 수 있다. 또한, MPM 후보군에 기 포함된 모드로부터 유도되는 모드(방향성 모드의 경우 +1, -1 등의 차이)를 MPM 후보군으로 구성할 수 있다.
MPM 후보군 구성을 위한 예측 모드의 우선 순위가 존재할 수 있다. 상기 우선 순위에 따라 MPM 후보군에 포함되는 순서가 정해질 수 있으며, 상기 우선 순위에 따라 MPM 후보군의 개수(예측 모드 후보군 개수에 따라 정해짐)만큼 채워지면 MPM 후보군 구성을 완료할 수 있다. 이때, 공간적으로 인접한 블록의 예측 모드, 기설정된 예측 모드, MPM 후보군에 먼저 포함된 예측 모드로부터 유도되는 모드 순서로 우선 순위가 정해질 수 있으나, 그 외의 변형 또한 가능하다.
예를 들어, 공간적으로 인접한 블록 중에서는 좌 - 상 - 좌하 - 우상 - 좌상 블록 등의 순서로 후보군에 포함할 수 있고, 기설정된 예측 모드 중에서는 DC - Planar - 수직 - 수평 모드 등의 순서로 후보군에 포함할 수 있고, 기 포함된 모드에서 +1, -1 등을 가산하여 획득된 모드를 후보군에 포함하여 총 6개의 모드를 후보군으로 구성할 수 있다. 또는, 좌 - 상 - DC - Planar - 좌하 - 우상 - 좌상 - (좌+1) - (좌-1) - (상+1) 등의 하나의 우선 순위로 후보군에 포함하여 총 7개의 모드를 후보군으로 구성할 수 있다.
화면간 예측부에서 움직임 예측 방법에 따라 이동 움직임 모델과 이동외 움직임 모델로 구분할 수 있다. 이동 움직임 모델의 경우 평행 이동만을 고려하여 예측을 수행하고, 이동외 움직임 모델의 경우 평행 이동뿐만 아니라 회전, 원근, 줌 인/아웃(Zoom in/out) 등과 같은 움직임을 고려하여 예측을 수행할 수 있다. 단방향 예측을 가정할 때 이동 움직임 모델의 경우 하나의 움직임 벡터가 필요할 수 있지만, 이동 외 움직임 모델의 경우 하나 이상의 움직임 벡터가 필요할 수 있다. 이동 외 움직임 모델의 경우 각 움직임 벡터는 현재 블록의 좌상측 꼭지점, 우상측 꼭지점 등과 같이 현재 블록의 기설정된 위치에 적용되는 정보일 수 있고, 해당 움직임 벡터를 통해 현재 블록의 예측하고자 하는 영역의 위치를 화소 단위 또는 서브 블록 단위로 획득할 수 있다. 화면간 예측부는 상기 움직임 모델에 따라 후술하는 일부 과정은 공통으로 적용될 수 있고 일부 과정은 개별적으로 적용될 수 있다.
화면간 예측부는 참조 픽쳐 구성부, 움직임 추정부, 움직임 보상부, 움직임 정보 결정부, 움직임 정보 부호화부를 포함할 수 있다. 참조 픽쳐 구성부는 현재 픽쳐를 중심으로 이전 또는 이후에 부호화된 픽쳐를 참조 픽쳐 리스트(L0, L1)에 포함할 수 있다. 상기 참조 픽쳐 리스트에 포함된 참조 픽쳐로부터 예측 블록을 획득할 수 있으며, 부호화 설정에 따라 현재 영상 또한 참조 픽쳐로 구성되어 참조 픽쳐 리스트 중 적어도 한 곳에 포함될 수 있다.
화면간 예측부에서 참조 픽쳐 구성부는 참조 픽쳐 보간부를 포함할 수 있으며, 보간 정밀도에 따라 소수 단위 화소를 위한 보간 과정을 수행할 수 있다. 예를 들어, 휘도 성분의 경우 8-tap DCT 기반의 보간 필터를 적용하고, 색차 성분의 경우 4-tap DCT 기반의 보간 필터를 적용할 수 있다.
화면간 예측부에서 움직임 추정부는 현재 블록과 상관성이 높은 블록을 참조 픽쳐를 통해 탐색하는 과정이며 FBMA(Full search-based block matching algorithm), TSS(Three step search) 등의 다양한 방법이 사용될 수 있고, 움직임 보상부는 움직임 추정 과정을 통해 예측 블록을 획득하는 과정을 의미한다.
화면간 예측부에서 움직임 정보 결정부는 현재 블록의 최적의 움직임 정보를 선정하기 위한 과정이 수행될 수 있으며, 움직임 정보는 스킵 모드(Skip Mode), 병합 모드(Merge Mode), 경쟁 모드(Competition Mode) 등의 움직임 정보 부호화 모드에 의해 부호화될 수 있다. 상기 모드는 움직임 모델에 따라 지원되는 모드가 결합되어 구성될 수 있으며, 스킵 모드(이동), 스킵 모드(이동외), 병합 모드(이동), 병합 모드(이동외), 경쟁 모드(이동), 경쟁 모드(이동외)가 그에 대한 예가 될 수 있다. 부호화 설정에 따라 상기 모드 중 일부가 후보군에 포함될 수 있다.
상기 움직임 정보 부호화 모드는 적어도 하나의 후보 블록에서 현재 블록의 움직임 정보(움직임 벡터, 참조 픽쳐, 예측 방향 등)의 예측값을 획득할 수 있으며, 둘 이상의 후보 블록이 지원되는 경우에는 최적의 후보 선택 정보가 발생할 수 있다. 스킵 모드(잔차 신호 없음)와 병합 모드(잔차 신호 존재)는 상기 예측값을 그대로 현재 블록의 움직임 정보로 사용할 수 있고, 경쟁 모드는 현재 블록의 움직임 정보와 상기 예측값과의 차분치 정보가 발생할 수 있다.
현재 블록의 움직임 정보 예측값을 위한 후보군은 움직임 정보 부호화 모드에 따라 적응적이고 다양한 구성을 가질 수 있다. 현재 블록에 공간적으로 인접한 블록(예를 들어, 좌, 상, 좌상, 우상, 좌하 블록 등)의 움직임 정보가 후보군에 포함될 수 있고, 시간적으로 인접한 블록(예를 들어, 현재 블록과 대응 또는 상응하는 다른 영상 내 블록<중앙>을 포함하여 좌, 우, 상, 하, 좌상, 우상, 좌하, 우하 블록 등)의 움직임 정보가 후보군에 포함될 수 있으며, 공간적 후보와 시간적 후보의 혼합 움직임 정보(예를 들어, 공간적으로 인접한 블록의 움직임 정보와 시간적으로 인접한 블록의 움직임 정보를 통해 평균, 중앙값 등으로 획득되는 정보. 현재 블록 또는 현재 블록의 서브 블록 단위로 움직임 정보를 획득할 수 있음) 등이 후보군에 포함될 수 있다.
움직임 정보 예측값 후보군 구성을 위한 우선 순위가 존재할 수 있다. 상기 우선 순위에 따라 예측값 후보군 구성에 포함되는 순서가 정해질 수 있으며, 상기 우선 순위에 따라 후보군의 개수(움직임 정보 부호화 모드에 따라 정해짐)만큼 채워지면 후보군 구성을 완료할 수 있다. 이때, 공간적으로 인접한 블록의 움직임 정보, 시간적으로 인접한 블록의 움직임 정보, 공간적 후보와 시간적 후보의 혼합 움직임 정보 순서로 우선 순위가 정해질 수 있으나, 그 외의 변형 또한 가능하다.
예를 들어, 공간적으로 인접한 블록 중에서는 좌 - 상 - 우상 - 좌하 - 좌상 블록 등의 순서로 후보군에 포함할 수 있고, 시간적으로 인접한 블록 중에서는 우하 - 중 - 우 - 하 블록 등의 순서로 후보군에 포함할 수 있다.
감산부(205)는 현재 블록에서 예측 블록을 감산하여 잔차 블록(residual block)을 생성할 수 있다. 다시 말해, 감산부(205)는 부호화하고자 하는 현재 블록의 각 화소의 화소값과 예측부를 통해 생성된 예측 블록의 각 화소의 예측 화소값의 차이를 계산하여 블록 형태의 잔차 신호(residual signal)인 잔차 블록을 생성할 수 있다. 또한, 감산부(205)는 후술하는 블록 분할부를 통해 획득된 블록 단위 이외의 단위에 따라 잔차 블록을 생성할 수도 있다.
변환부(210)는 잔차 블록을 주파수 영역으로 변환하여 잔차 블록의 각 화소값을 주파수 계수로 변환한다. 여기서, 변환부(210)는 하다마드 변환(Hadamard Transform), 이산 코사인 변환 기반의 변환(DCT Based Transform), 이산 사인 변환 기반의 변환(DST Based Transform), 카루넨 루베 변환 기반의 변환(KLT Based Transform) 등과 같은 공간축의 화상 신호를 주파수축으로 변환하는 다양한 변환 기법을 이용하여 잔차 신호를 주파수 영역으로 변환할 수 있는데, 주파수 영역으로 변환된 잔차 신호가 주파수 계수가 된다. 변환은 1차원 변환 매트릭스에 의해 변환될 수 있다. 수평, 수직 단위로 각 변환 매트릭스가 적응적으로 사용될 수 있다. 예를 들어, 화면내 예측의 경우, 예측 모드가 수평일 경우에는 수직 방향으로는 DCT 기반의 변환 매트릭스가, 수평 방향으로는 DST 기반의 변환 매트릭스가 사용될 수도 있다. 수직일 경우에는 수평 방향으로는 DCT 기반의 변환 매트릭스가, 수직 방향으로는 DST 기반의 변환 매트릭스가 사용될 수 있다.
양자화부(215)는 변환부(210)에 의해 주파수 영역으로 변환된 주파수 계수를 갖는 잔차 블록을 양자화한다. 여기서, 양자화부(215)는 변환된 잔차 블록을 데드존 균일 경계 양자화(Dead Zone Uniform Threshold Quantization), 양자화 가중치 매트릭스(Quantization Weighted Matrix) 또는 이를 개량한 양자화 기법 등을 사용하여 양자화할 수 있다. 이는 1개 이상의 양자화 기법을 후보로 둘 수 있으며 부호화 모드, 예측 모드 정보 등에 의해 결정될 수 있다.
역양자화부(220)는 양자화부(215)에 의해 양자화된 잔차 블록을 역 양자화한다. 즉, 역양자화부(220)는 양자화 주파수 계수열을 역양자화하여 주파수 계수를 갖는 잔차 블록을 생성한다.
역변환부(225)는 역양자화부(220)에 의해 역양자화된 잔차 블록을 역변환한다. 즉, 역변환부(225)는 역양자화된 잔차 블록의 주파수 계수들을 역변환하여 화소값을 갖는 잔차 블록, 즉 복원된 잔차 블록을 생성한다. 여기서, 역변환부(225)는 변환부(210)에서 사용한 변환한 방식을 역으로 사용하여 역변환을 수행할 수 있다.
가산부(230)는 예측부(200)에서 예측된 예측 블록과 역변환부(225)에 의해 복원된 잔차 블록을 가산하여 현재 블록을 복원한다. 복원된 현재 블록은 부호화 픽쳐 버퍼(240)에 참조 픽쳐(또는 참조 블록)로서 저장되어 현재 블록의 다음 블록이나 향후 다른 블록, 다른 픽쳐를 부호화할 때 참조 픽쳐로서 사용될 수 있다.
필터부(235)는 디블록킹 필터, SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 등의 하나 이상의 후처리 필터 과정을 포함할 수 있다. 디블록킹 필터는 복원된 픽쳐에서 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. ALF는 디블록킹 필터를 통해 블록이 필터링된 후 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. SAO는 디블록킹 필터가 적용된 잔차 블록에 대하여, 화소 단위로 원본 영상과의 오프셋 차이를 복원할 수 있다. 이와 같은 후처리 필터는 복원된 픽쳐 또는 블록에 적용될 수 있다.
부호화 픽쳐 버퍼(240)는 필터부(235)를 통해 복원된 블록 또는 픽쳐를 저장할 수 있다. 부호화 픽쳐 버퍼(240)에 저장된 복원 블록 또는 픽쳐는 화면내 예측 또는 화면간 예측을 수행하는 예측부(200)에 제공될 수 있다.
엔트로피 부호화부(245)는 생성된 양자화 주파수 계수열을 다양한 스캔 방식에 따라 스캔하여 양자화 계수열을 생성하고, 이를 엔트로피 부호화 기법 등을 이용하여 부호화 함으로써 출력한다. 스캔 패턴은 지그재그, 대각선, 래스터(raster) 등 다양한 패턴들 중 하나로 설정할 수 있다. 또한, 각 구성부로부터 전달되는 부호화 정보를 포함하는 부호화 데이터를 생성하여 비트스트림으로 출력할 수 있다.
도 3은 본 발명의 일 실시예에 따른 영상 복호화 장치에 대한 블록 구성도이다.
도 3을 참조하면, 영상 복호화 장치(30)는 엔트로피 복호화부(305), 예측부(310), 역양자화부(315), 역변환부(320), 가감산기(325), 필터(330) 및 복호화 픽쳐 버퍼(335)를 포함하여 구성될 수 있다.
또한, 예측부(310)는 다시 화면내 예측 모듈 및 화면간 예측 모듈을 포함하여 구성될 수 있다.
먼저, 영상 부호화 장치(20)로부터 전달된 영상 비트스트림이 수신되면, 엔트로피 복호화부(305)로 전달될 수 있다.
엔트로피 복호화부(305)는 비트스트림을 복호화하여 양자화된 계수들과 각 구성부로 전달되는 복호화 정보를 포함하는 복호화 데이터를 복호화할 수 있다.
예측부(310)는 엔트로피 복호화부(305)로부터 전달된 데이터들에 기초하여 예측 블록을 생성할 수 있다. 이때, 복호화된 픽쳐 버퍼(335)에 저장된 참조 영상에 기초하여, 디폴트(default) 구성 기법을 이용한 참조 픽쳐 리스트를 구성할 수도 있다.
화면내 예측부는 참조 화소 구성부, 참조 화소 필터부, 참조 화소 보간부, 예측 블록 생성부, 예측 모드 복호화부를 포함할 수 있고, 화면간 예측부는 참조 픽쳐 구성부, 움직임 보상부, 움직임 정보 복호화부를 포함할 수 있으며, 일부는 부호화기와 동일한 과정을 수행하고 일부는 역으로 유도하는 과정을 수행할 수 있다.
역양자화부(315)는 비트스트림으로 제공되어 엔트로피 복호화부(305)에 의해 복호화된 양자화된 변환 계수들을 역양자화할 수 있다.
역변환부(320)는 역 DCT, 역 정수 변환 또는 그와 유사한 개념의 역변환 기법들을 변환 계수에 적용하여 잔차 블록을 생성할 수 있다.
이때, 역양자화부(315), 역변환부(320)는 앞서 설명한 영상 부호화 장치(20)의 변환부(210) 및 양자화부(215)에서 수행한 과정을 역으로 수행하며 다양한 방법으로 구현될 수 있다. 예를 들어, 변환부(210) 및 양자화부(215)와 공유하는 동일한 과정 및 역변환을 사용할 수도 있고, 영상 부호화 장치(20)로부터 변환 및 양자화 과정에 관한 정보(예를 들면, 변환 크기, 변환 모양, 양자화 타입 등)를 이용하여 변환 및 양자화 과정을 역으로 수행할 수 있다.
역양자화 및 역변환 과정을 거친 잔차 블록은 예측부(310)에 의해 도출된 예측 블록과 가산되어 복원된 영상 블록이 생성될 수 있다. 이러한 가산은 가감산기(325)에 의해 이루어 질 수 있다.
필터(330)는 복원된 영상 블록에 대하여, 필요에 따라 블로킹(blocking) 현상을 제거하기 위하여 디블로킹 필터를 적용할 수도 있고, 상기 복호화 과정 전 후에 다른 루프 필터들을 비디오 품질을 향상시키기 위해 추가로 사용할 수도 있다.
복원 및 필터를 거친 영상 블록은 복호화 픽쳐 버퍼(335)에 저장될 수 있다.
도면에 도시하지 않았지만 영상 부호화/복호화 장치에 픽쳐 분할부와 블록 분할부를 더 포함할 수 있다.
픽쳐 분할부는 픽쳐를 컬러 공간(YCbCr, RGB 또는 XYZ 등), 타일, 슬라이스, 기본 부호화 단위(또는 최대 부호화 단위) 등과 같은 적어도 하나의 처리 단위로 분할(또는 구획)할 수 있고, 블록 분할부는 기본 부호화 단위를 적어도 하나의 처리 단위(예를 들어, 부호화, 예측, 변환, 양자화, 엔트로피 및 인루프 필터 단위 등)로 분할할 수 있다.
기본 부호화 단위는 가로 방향과 세로 방향으로 픽쳐를 일정한 간격으로 분할하여 획득될 수 있다. 이를 기반으로 타일, 슬라이스 등의 분할이 수행(즉, 타일과 슬라이스와 같은 분할 단위는 기본 부호화 블록의 정수배로 구성. 단, 영상 경계에 위치한 분할 단위에서는 예외적인 경우가 발생할 수 있음)될 수 있으나 이에 한정하지는 않는다.
예를 들어, 픽쳐를 기본 부호화 단위로 구획한 후에 상기 단위로 분할할 수 있거나 또는 픽쳐를 상기 단위로 구획한 후에 기본 부호화 단위로 분할할 수 있다. 본 발명에서는 각 단위의 구획 및 분할 순서가 전자인 경우를 가정하여 설명하나 이에 한정되지 않고, 부/복호화 설정에 따라 후자의 경우 또한 가능할 수 있다. 후자의 경우 기본 부호화 단위의 크기가 분할 단위(타일 등)에 따라 적응적인 경우(즉, 각 단위마다 다른 크기의 기본 부호화 블록이 적용될 수 있음)로의 변형이 가능할 수 있다.
본 발명에서는 픽쳐에서 기본 부호화 단위로 구획하는 경우를 기본 설정(즉, 픽쳐가 타일이나 슬라이스로 분할되지 않거나 또는 픽쳐가 하나의 타일 또는 하나의 슬라이스인 경우)으로 두어 후술하는 예를 설명할 것이나, 위의 경우처럼 각 분할 단위를 먼저 구획하여 획득된 단위에 기반하여 기본 부호화 단위로 분할하는 경우(즉, 각 분할 단위가 기본 부호화 단위의 정수배가 되지 않는 경우)에도 후술하는 다양한 예에서 제안하는 설정 등이 동일하거나 변경 적용되는 것임을 이해하여야 한다.
상기 분할 단위 중 슬라이스의 경우 스캔 패턴에 따라 연속하는 적어도 하나의 블록들의 묶음으로 구성될 수 있고, 타일의 경우 공간적으로 인접한 블록들의 직사각형 형태의 묶음으로 구성될 수 있으며, 그 외의 추가적인 분할 단위가 지원되어 그에 따른 정의에 의해 구성될 수 있다. 특히, 타일의 경우 픽쳐를 체크 무늬와 같이 하나 이상의 가로선과 세로선을 사용하여 분할할 수 있다. 또는, 위와 같이 일괄적인 가로선과 세로선의 분할이 아닌 다양한 크기를 갖는 직사각형들로 구성될 수 있다.
한편, 블록 분할부를 통해 다양한 크기의 부호화 단위(또는 블록)로 분할할 수 있다. 이때, 부호화 단위는 컬러 포맷에 따라 복수개의 부호화 블록으로 구성(예를 들어, 하나의 휘도 부호화 블록 및 둘의 색차 부호화 블록 등)될 수 있으며, 컬러 포맷에 따라 블록의 크기가 결정될 수 있다. 이하에서는 설명의 편의를 위해 하나의 컬러 성분(휘도 성분)에 따른 블록을 기준으로 설명한다.
후술하는 내용은 하나의 컬러 성분을 대상으로 하지만 컬러 포맷에 따른 길이 비율(예를 들어, YCbCr 4:2:0의 경우 휘도 성분과 색차 성분의 가로 및 세로 길이 비율은 2:1)에 비례하여 다른 컬러 성분에 변경 적용될 수 있음을 이해하여야 한다. 또한, 다른 컬러 성분에 의존적인 블록 분할(예를 들어, CbCr에서 Y의 블록 분할 결과에 의존적인 경우)이 가능할 수 있지만, 각 컬러 성분에 독립적인 블록 분할이 가능할 수 있음을 이해하여야 한다. 또한, 공통되는 하나의 블록 분할 설정(길이 비율에 비례하는 것은 고려)을 사용할 수 있지만, 컬러 성분에 따라 개별적인 블록 분할 설정이 사용되는 것 또한 고려하여 이해할 필요가 있다.
부호화 블록은 M × M(예를 들어, M은 4, 8, 16, 32, 64, 128 등)과 같은 가변 크기를 가질 수 있다. 또는, 분할 방식(예를 들어, 트리 기반의 분할. 쿼드 트리 분할<Quad Tree. QT>, 바이너리 트리<Binary Tree. BT> 등)에 따라 부호화 블록은 M×N(예를 들어, M과 N은 4, 8, 16, 32, 64, 128 등)과 같은 가변 크기, 형태를 가질 수 있다. 이때, 부호화 블록은 화면내 예측, 화면간 예측, 변환, 양자화 및 엔트로피 부호화 등의 기초가 되는 단위일 수 있으며, 블록은 각 단위가 결정된 후에 획득될 수 있는 단위라고 가정한다.
블록 분할부는 영상 부호화 장치 및 복호화 장치의 각 구성부에 관계되어 설정될 수 있으며, 이 과정을 통해 블록의 크기와 형태가 정해질 수 있다. 이때, 설정되는 블록은 구성부에 따라 달리 정의될 수 있으며, 예측부의 경우 예측 블록, 변환부의 경우 변환 블록, 양자화부의 경우 양자화 블록 등이 이에 해당할 수 있다. 다만, 이에 한정되지 않고 다른 구성부에 따른 블록 단위가 추가로 정의될 수 있다. 블록의 크기 및 형태는 블록이 갖는 가로, 세로 길이에 의해 정의될 수 있다.
블록 분할부에서 각 블록의 최대값과 최소값이 범위 내에서 블록이 획득될 수 있다. 예를 들어, 블록의 형태는 정사각을 지원하며 블록의 최대값을 256×256, 최소값을 8×8로 정할 경우, 2m×2m 크기의 블록(본 예에서 m은 3부터 8까지의 정수, 예를 들어, 8×8, 16×16, 32×32, 64×64, 128×128, 256×256), 2m × 2m 크기의 블록(본 예에서 m은 4부터 128까지의 정수) 또는 m × m 크기의 블록(본 예에서 m은 8부터 256까지의 정수)을 획득할 수 있다.
또는, 블록의 형태는 정사각과 직사각을 지원하며 상기 예와 동일한 범위를 가질 경우, 2m × 2n 크기의 블록(본 예에서 m과 n은 3부터 8까지의 정수. 가로와 세로 비율이 최대 2:1인 경우를 가정하는 경우, 8×8, 8×16, 16×8, 16×16, 16×32, 32×16, 32×32, 32×64, 64×32, 64×64, 64×128, 128×64, 128×128, 128×256, 256×128, 256×256)이 획득될 수 있다. 다만, 부/복호화 설정에 따라 가로와 세로의 비율에 대한 제한이 없거나 비율의 최대값(예를 들어, 1:2, 1:3, 1:7 등)이 존재할 수도 있다. 또는, 2m × 2n 크기의 블록(본 예에서 m과 n은 4부터 128까지의 정수)이 획득될 수 있으며, m × n 크기의 블록(본 예에서 m과 n은 8부터 256까지의 정수)이 획득될 수도 있다.
블록 분할부에 의해 획득 가능한 블록은 부/복호화 설정(예를 들어, 블록의 종류, 분할 방식 및 분할 설정 등)에 따라 결정될 수 있다. 예를 들어, 부호화 블록은 2m × 2n 크기의 블록, 예측 블록은 2m × 2n 또는 m × n 크기의 블록, 변환 블록은 2m × 2n 크기의 블록으로 획득될 수 있다. 다시 말해, 상기 부/복호화 설정을 기초로 블록 크기 및 범위 등의 정보(예를 들어, 지수, 배수 관련 정보 등)가 생성될 수 있다.
블록 크기의 최대값 및 최소값과 같은 범위는 블록의 종류에 따라 결정될 수 있다. 또한, 일부 블록은 블록의 범위 정보가 명시적으로 생성될 수 있고, 일부 블록은 블록의 범위 정보가 묵시적으로 결정될 수 있다. 예를 들어, 부호화 블록 및 변환 블록은 명시적으로 관련 정보가 생성될 수 있고, 예측 블록은 묵시적으로 관련 정보가 처리될 수 있다.
명시적인 경우에는 적어도 하나의 범위 정보가 생성될 수 있다. 예를 들어, 부호화 블록의 경우 범위에 대한 정보는 최대값과 최소값에 대한 정보를 생성할 수 있으며, 최대값과 기설정된 최소값(예를 들어, 8)의 차이에 기반하여 생성될 수도 있다. 다시 말해, 범위에 대한 정보는 상기 설정에 기반하여 생성될 수 있으며, 최대값 및 최소값의 지수의 차이값 정보에 기반하여 생성될 수도 있으나, 이에 한정되는 것은 아니다. 또한, 직사각 형태의 블록의 가로, 세로 길이를 위한 복수의 범위에 대한 정보가 생성될 수도 있다.
묵시적인 경우에는 부/복호화 설정(예를 들어, 블록의 종류, 분할 방식, 분할 설정 등)에 기반하여 범위 정보가 획득될 수 있다. 예를 들어, 예측 블록의 경우 상위 단위인 부호화 블록(예를 들어, 부호화 블록의 최대 크기 M × N. 최소 크기 m × n)에서는 예측 블록의 분할 설정(예를 들어, 쿼드 트리 분할 + 분할 깊이 0)으로부터 획득 가능한 후보군(본 예에서 M × N과 m/2 × n/2)에 따라 최대값과 최소값 정보를 획득할 수 있다.
블록 분할부의 초기(또는 시작) 블록의 크기 및 형태는 상위 단위로부터 결정될 수 있다. 다시 말해, 부호화 블록의 경우 기본 부호화 블록이 초기 블록일 수 있고, 예측 블록의 경우 부호화 블록이 초기 블록일 수 있다. 또한, 변환 블록의 경우 부호화 블록 또는 예측 블록이 초기 블록일 수 있으며, 이는 부/복호화 설정에 따라 정해질 수 있다.
예를 들어, 부호화 모드가 인트라(intra)일 경우 예측 블록은 변환 블록의 상위 단위일 수 있고, 인터(inter)일 경우 예측 블록은 변환 블록에 독립적인 단위일 수 있다. 분할의 시작 단위인 초기 블록은 작은 크기의 블록으로 분할될 수 있으며, 블록의 분할에 따른 최적의 크기 및 형태가 결정되면 그 블록은 하위 단위의 초기 블록으로 결정될 수 있다. 분할의 시작 단위인 초기 블록을 상위 단위의 초기 블록이라 볼 수 있다. 여기서, 상위 단위는 부호화 블록, 하위 단위는 예측 블록 또는 변환 블록일 수 있으나, 이에 한정되는 것은 아니다. 상기 예와 같이 하위 단위의 초기 블록이 정해지면 상위 단위와 같이 최적의 크기 및 형태의 블록을 찾기 위한 분할 과정이 수행될 수 있다.
정리하면, 블록 분할부는 기본 부호화 단위(또는 최대 부호화 단위)를 적어도 하나의 부호화 단위(또는 하위 부호화 단위)로 분할을 수행할 수 있다. 또한, 부호화 단위는 적어도 하나의 예측 단위로 분할을 수행할 수 있고, 적어도 하나의 변환 단위로 분할을 수행할 수 있다. 부호화 단위는 적어도 하나의 부호화 블록으로 분할을 수행할 수 있고, 부호화 블록은 적어도 하나의 예측 블록으로 분할을 수행할 수 있고, 적어도 하나의 변환 블록으로 분할을 수행할 수 있다. 예측 단위는 적어도 하나의 예측 블록으로 분할을 수행할 수 있고, 변환 단위는 적어도 하나의 변환 블록으로 분할을 수행할 수 있다.
상기 예는 블록의 종류에 따라 분할 설정을 달리 두는 경우를 설명하였다. 또한, 일부 블록의 경우 다른 블록과 결합되어 하나의 분할 과정을 수행할 수 있다. 예를 들어, 부호화 블록과 변환 블록이 하나의 단위로 결합할 경우 최적의 블록의 크기 및 형태를 획득하기 위한 분할 과정이 수행되며, 이는 부호화 블록의 최적의 크기 및 형태뿐만 아니라 변환 블록의 최적의 크기 및 형태일 수 있다. 또는, 부호화 블록과 변환 블록이 하나의 단위로 결합할 수 있고, 예측 블록과 변환 블록이 하나의 단위로 결합할 수 있고, 부호화 블록과 예측 블록과 변환 블록이 하나의 단위로 결합할 수 있고, 그 외의 블록들의 결합이 가능할 수 있다.
상술한 바와 같이 최적의 크기 및 형태의 블록을 찾은 경우, 이에 대한 모드 정보(예를 들어, 분할 정보 등)가 생성될 수 있다. 모드 정보는 블록이 속하는 구성부에서 발생하는 정보(예를 들어, 예측 관련 정보 및 변환 관련 정보 등)과 함께 비트스트림에 수록되어 복호화기로 전송될 수 있고, 복호화기에서 동일 수준의 단위로 파싱되어 영상 복호화 과정에서 사용될 수 있다.
이하에서는 분할 방식에 대한 설명할 것이며, 설명의 편의를 위해 초기 블록이 정사각 형태인 것을 가정하지만, 초기 블록이 직사각 형태인 경우에도 동일하거나 유사하게 적용할 수 있으므로, 이에 한정되는 것은 아니다.
도 4는 본 발명의 일 실시예에 따른 트리 기반의 블록 형태를 나타낸 도면이다.
블록 형태는 분할에 사용된 트리의 종류에 따라 결정될 수 있다. 도 4를 참조하면, 블록 형태는 분할이 수행되지 않은 하나의 2N × 2N, 바이너리 트리 기반의 가로 분할이 수행된 두 개의 2N × N, 바이너리 트리 기반의 세로 분할이 수행된 두 개의 N × 2N 및 쿼드 트리 기반의 분할이 수행된 4개의 N × N 등이 존재할 수 있으나, 이에 한정되는 것은 아니다.
보다 상세히 설명하면, 쿼트 트리 기반의 분할이 수행된 경우, 획득 가능한 후보 블록은 4a 및 4d일 수 있으며, 바이너리 트리 기반의 분할이 수행된 경우, 획득 가능한 후보 블록은 4a, 4b 및 4c일 수 있다.
쿼드 트리 기반의 분할이 수행된 경우에는 하나의 분할 플래그가 지원될 수 있다. 여기서, 하나의 분할 플래그는 분할 여부 플래그일 수 있다. 다시 말해, 쿼드 트리의 분할 플래그가 0인 경우 분할을 수행하지 않으며 4a의 블록을 획득할 수 있고, 1인 경우 분할을 수행하여 4d의 블록을 획득할 수 있다.
바이너리 트리 기반의 분할이 수행된 경우, 복수의 분할 플래그가 지원될 수 있다. 여기서, 복수의 분할 플래그 중 하나는 분할 여부 플래그일 수 있으며, 다른 하나는 분할 방향 플래그일 수 있다. 다시 말해, 바이너리 트리의 분할 플래그 중 분할 여부 플래그가 0인 경우 분할을 수행하지 않으며 4a의 블록을 획득할 수 있고, 1인 경우, 분할 방향 플래그에 따라 4b 또는 4c의 블록을 획득할 수 있다.
도 5는 본 발명의 일 실시예에 따른 다양한 블록 형태를 나타낸 도면이다.
도 5를 참조하면, 블록(4N × 4N)은 분할 설정 및 분할 방법에 따라 다양한 형태로 분할될 수 있으며, 도 5에 도시하지 않은 다른 형태로 분할될 수도 있다.
일 실시예로, 트리 기반의 비대칭 분할이 허용될 수 있다. 예를 들어, 바이너리 트리 분할의 경우, 블록(4N × 4N)은 4N × 2N(5b) 및 2N × 4N(5c)와 같은 대칭 블록이 허용될 수 있으며, 4N × 3N/4N × N(5d), 4N × N/4N × 3N(5e), 3N × 4N/N × 4N(5f) 및 N × 4N/3N × 4N(5g)와 같은 비대칭 블록이 허용될 수도 있다. 분할 플래그에서 비대칭 분할을 허용하는 플래그가 분할 설정 등에 따라 명시적 또는 묵시적으로 비활성화될 경우, 후보 블록은 분할 방향 플래그에 따라 5b 또는 5c일 수 있고, 비대칭 분할을 허용하는 플래그가 활성화될 경우, 후보 블록은 분할 방향 플래그에 따라 5b, 5d 및 5e 또는 5c, 5f 및 5g일 수 있다. 여기서, 비대칭 분할에 따른 5d 내지 5g는 좌우 또는 상하의 길이 비율이 1:3 또는 3:1인 경우를 나타내고 있으나, 1:2, 1:4, 2:3, 2:4 및 3:4 등의 경우도 가능하므로, 이에 한정되는 것은 아니다.
바이너리 트리의 분할 플래그는 분할 여부 플래그 및 분할 방향 플래그에 추가적으로 분할 형태 플래그가 발생될 수 있다. 여기서, 분할 형태 플래그는 대칭 또는 비대칭을 나타낼 수 있으며, 분할 형태 플래그가 비대칭을 나타내는 경우, 분할 비율을 나타내는 플래그가 발생될 수 있다. 분할 비율을 나타내는 플래그는 기설정된 후보군에 따라 할당된 인덱스를 나타낼 수 있다. 예를 들어, 1:3 또는 3:1의 분할 비율이 후보군으로 지원되는 경우, 1비트의 플래그를 통해 분할 비율이 선택될 수 있다.
또한, 바이너리 트리의 분할 플래그는 분할 여부 플래그 및 분할 방향 플래그에 추가적으로 분할 비율을 나타내는 플래그가 발생될 수 있다. 이러한 경우, 분할 비율에 대한 후보에는 1:1의 대칭 비율을 가지는 후보가 포함될 수 있다.
본 발명에서 바이너리 트리는 추가적인 분할 형태 플래그로 구분하는 경우를 가정하여 설명하며, 특별한 설명이 없는 한 바이너리 트리는 대칭 바이너리 트리를 의미할 수 있다.
다른 실시예로, 트리 기반의 분할에 추가적인 트리 분할이 허용될 수 있다. 예를 들어, 터너리 트리(Ternary Tree), 쿼드 타입 트리(Quad Type Tree), 옥타 트리(Octa Tree) 등의 분할이 허용될 수 있으며, 이를 통해 n개의 분할 블록(n은 정수)이 획득될 수 있다. 다시 말해, 터너리 트리의 경우, 3개의 분할 블록이, 쿼드 타입 트리의 경우 4개의 분할 블록이, 옥타 트리의 경우 8개의 블록 분할이 획득될 수 있다.
터너리 트리의 경우 지원되는 블록은 4N × 2N/4N × N_2(5h), 4N × N/4N × 2N/4N × N(5i), 4N × N_2/4N × 2N(5j), 2N × 4N/N × 4N_2(5k), N × 4N/2N × 4N/N × 4N(5l) 및 N × 4N_2/2N × 4N(5m)일 수 있으며, 쿼드 타입 트리의 경우 지원되는 블록은 2N × 2N(5n), 4N × N(5o) 및 N × 4N(5p)일 수 있고, 옥타 트리의 경우 지원되는 블록은 N × N(5q)일 수 있다.
트리 기반의 분할의 지원 여부는 부/복호화 설정에 따라 묵시적으로 결정되거나 또는 명시적으로 관련 정보가 생성될 수 있다. 또한, 부/복호화 설정에 따라 단독으로 사용되거나 또는 바이너리 트리, 터너리 트리 및 쿼드 트리 등의 분할이 혼합 사용될 수 있다.
예를 들어, 바이너리 트리의 경우 분할 방향에 따라 5b 또는 5c와 같은 블록이 지원될 수 있고, 바이너리 트리의 사용 범위와 터너리 트리의 사용 범위가 일부 중복되는 것으로 가정하면, 바이너리 트리와 터너리 트리가 혼합 사용되는 경우 5b, 5c, 5i 및 5l와 같은 블록이 지원될 수 있다. 기존 트리 외의 추가 분할을 허용하는 플래그가 부/복호화 설정에 따라 명시적 또는 묵시적으로 비활성화될 경우 획득 가능한 후보 블록은 5b 또는 5c일 수 있고, 활성화될 경우 획득 가능한 후보 블록은 분할 방향에 따라 5b, 5i(또는 5b, 5h, 5i, 5j)이거나 5c, 5l(또는 5c, 5k, 5l, 5m)일 수 있다.
여기서, 터너리 트리 분할의 좌/중/우 또는 상/중/하의 길이 비율은 2:1:1, 1:2:1 또는 1:1:2 인 경우를 나타내고 있으나, 부호화 설정에 따라 그 외의 비율도 가능하므로, 이에 한정되는 것은 아니다.
터너리 트리 기반의 분할이 수행된 경우, 복수의 분할 플래그가 지원될 수 있다. 여기서, 복수의 분할 플래그 중 하나는 분할 여부 플래그일 수 있으며, 다른 하나는 분할 방향 플래그 일 수 있으며, 분할 비율 플래그를 더 포함할 수 있다. 이는 바이너리 트리의 분할 플래그와 유사할 수 있으며, 본 발명에서는 분할 방향에 따라 지원되는 비율이 1:2:1인 하나의 후보가 존재하여 분할 비율 플래그가 생략되는 경우를 가정한다.
본 발명에서는 분할 방식에 따라 적응적인 부/복호화 설정을 적용할 수 있다.
일 실시예로, 블록의 종류에 따라 분할 방식이 결정될 수 있다. 예를 들어, 부호화 블록과 변환 블록은 쿼드 트리 분할이, 예측 블록은 쿼드 트리 및 바이너리 트리(또는 터너리 트리 등) 분할이 가능할 수 있다.
다른 실시예로, 블록의 크기에 따라 분할 방식이 결정될 수 있다. 예를 들어, 블록의 최대값과 최소값 사이의 일부 범위(예를 들어, a×b ~ c×d)에는 쿼드 트리 분할이, 다른 일부 범위(예를 들어, e×f ~ g×h)에는 바이너리 트리(또는 터너리 트리 등) 분할이 가능할 수 있다. 여기서, 일부 범위는 다른 일부 범위보다 큰 크기를 의미할 수 있으나, 이에 한정되는 것은 아니다. 여기서, 분할 방식에 따른 범위 정보는 명시적으로 생성될 수 있거나 묵시적으로 정해질 수 있으며, 범위는 중첩될 수도 있다.
또 다른 실시예로, 블록(또는 분할 전 블록)의 형태에 따라 분할 방식이 결정될 수 있다. 예를 들어, 블록의 형태가 정사각일 경우 쿼드 트리와 바이너리 트리(또는 터너리 트리 등) 분할이 가능할 수 있다. 또는, 블록의 형태가 직사각일 경우에 바이너리 트리(또는 터너리 트리 등) 분할이 가능할 수 있다.
트리 기반의 분할은 재귀적인 방식을 사용하여 수행될 수 있다. 예를 들어, 분할 깊이(depth)가 k인 부호화 블록의 분할 플래그가 0인 경우 부호화 블록의 부호화는 분할 깊이가 k인 부호화 블록에서 수행되며, 분할 깊이가 k인 부호화 블록의 분할 플래그가 1인 경우 부호화 블록의 부호화는 분할 방식에 따라 분할 깊이가 k+1인 4개의 서브 부호화 블록(쿼드 트리 분할의 경우), 2개의 서브 부호화 블록(바이너리 트리 분할의 경우) 또는 3개의 서브 부호화 블록(터너리 트리 분할의 경우)에서 수행된다. 서브 부호화 블록은 다시 부호화 블록(k+1)으로 설정되어 상기 과정을 거쳐 서브 부호화 블록(k+2)으로 분할될 수 있으며, 이러한 계층적 분할 방식은 분할 범위 및 분할 허용 깊이 등의 분할 설정에 따라 결정될 수 있다.
이때, 분할 정보를 표현하기 위한 비트스트림 구조는 하나 이상의 스캔 방법 중 선택할 수 있다. 예를 들어, 분할 깊이 순서 기준으로 분할 정보의 비트스트림을 구성할 수 있거나 분할 여부 기준으로 분할 정보의 비트스트림을 구성할 수 있다. 예를 들어, 분할 깊이 순서 기준의 경우 최초 블록 기준으로 현 수준의 깊이에서의 분할 정보를 획득한 후 다음 수준의 깊이에서의 분할 정보를 획득하는 방법이며, 분할 여부 기준의 경우 최초 블록 기준으로 분할된 블록에서의 추가 분할 정보를 우선적으로 획득하는 방법을 의미하며, 다른 추가적인 스캔 방법이 고려될 수 있다. 본 발명에서는 분할 여부 기준으로 분할 정보의 비트스트림을 구성하는 경우를 가정한다.
상술한 바와 같이 부/복호화 설정에 따라 하나의 트리 분할이 지원되거나 또는 복수의 트리 분할이 지원될 수도 있다.
복수의 트리 분할이 가능한 경우에는 기설정된 우선 순위를 두어 분할을 수행할 수 있다. 상세하게는, 우선 순위에 따라 분할을 수행하되 앞선 순위의 분할이 수행된 경우(즉, 2개 이상 블록으로 분할)에는 해당 분할 깊이에서의 분할은 종료되고 서브 블록이 다시 부호화 블록으로 설정되어 다음 분할 깊이에서 분할이 수행되며, 앞선 순위의 분할이 수행되지 않은 경우에는 다음 순위의 분할이 수행될 수 있다. 만약 모든 트리 분할이 수행되지 않는 경우에는 해당 블록에서의 분할 과정을 종료한다.
상기 예에서 선순위에 해당하는 분할 플래그가 참인 경우(분할 o)에는 해당 분할 방식의 추가적인 분할 정보(분할 방향 플래그 등)가 이어질 수 있으며, 거짓인 경우(분할 x)에는 후순위에 해당하는 분할 방식의 분할 정보(분할 플래그, 분할 방향 플래그 등)로 구성될 수 있다.
상기 예에서 적어도 하나의 분할 방식에 의해 분할이 수행되는 경우, 다음 서브 블록(또는 다음 분할 깊이)에서 다시 상기 우선 순위에 따라 분할을 수행할 수 있다. 또는, 이전 분할 결과에서 분할이 수행되지 않은 선순위에 해당하는 분할은 다음 서브 블록에서는 분할 후보군에서 제외할 수 있다.
예를 들어, 쿼드 트리와 바이너리 트리 분할이 지원되고 쿼드 트리가 앞선 순위를 가지며 분할 깊이 k에서 쿼드 트리 분할을 수행할 때, 쿼드 트리로 분할된 경우 분할 깊이 k+1인 서브 블록에서는 다시 쿼드 트리부터 분할을 수행할 수 있다.
만약 분할 깊이 k에서 쿼드 트리로 분할되지 않고 바이너리 트리로 분할되었을 때, 분할 깊이 k+1인 다음 서브 블록에서 다시 쿼드 트리부터 분할을 시작하거나 또는 쿼드 트리를 후보군에서 제외하여 바이너리 트리 분할만을 허용하는 설정이 가능할 수 있다. 이는 부/복호화 설정에 따라 정해질 수 있으며, 본 발명에서는 후자의 경우를 가정하여 설명한다.
또한, 복수의 트리 분할이 가능한 경우에는 분할 방식에 대한 선택 정보가 추가로 발생할 수 있으며 선택된 분할 방식에 따라 분할을 수행할 수 있다. 본 예에서는 선택된 분할 방식에 따른 분할 정보가 후속할 수 있다.
도 6은 본 발명의 일 실시예에 따른 블록 분할을 설명하기 위한 블록을 나타낸 도면이다.
이하는 기본 부호화 블록을 시작으로 하나 이상의 분할 방법에 따라 획득 가능한 블록의 크기 및 형태를 설명한 것이나, 이는 일 예이므로, 이에 한정되는 것은 아니다. 또한, 후술하는 분할 종류, 분할 정보 및 분할 정보 구성 순서 등의 분할 설정도 일 예이므로, 이에 한정되는 것은 아니다.
도 6을 참조하면, 굵은 실선은 기본 부호화 블록을 나타낼 수 있으며, 굵은 점선은 쿼드 트리 분할 경계를 나타낼 수 있고, 이중 실선은 대칭 바이너리 트리 분할 경계를 나타낼 수 있다. 또한, 실선은 터너리 트리 분할 경계를 나타낼 수 있고, 얇은 점선은 비대칭 바이너리 트리 분할 경계를 나타낼 수 있다.
설명의 편의를 위해 기본 부호화 블록(예를 들어, 128 × 128)을 기준으로 좌상 블록, 우상 블록, 좌하 블록 및 우하 블록(예를 들어, 각각 64 × 64)에 개별적인 블록 분할 설정을 갖는다고 가정한다.
또한, 초기 블록(예를 들어, 128 × 128)에서 한 번의 분할 동작으로 인해 4개의 서브 블록(좌상 블록, 우상 블록, 좌하 블록 및 우하 블록)이 획득된 상태이며, 이에 따라 분할 깊이가 0에서 1로 증가하였고, 쿼드 트리에 관한 분할 설정으로 최대 블록은 128 × 128, 최소 블록은 8 × 8, 최대 분할 깊이는 4로 쿼드 트리에 관한 분할 설정이 각 블록에 공통으로 적용된다고 가정한다.
또한, 각 서브 블록에서 다중 트리 방식의 분할이 지원되는 경우, 복수의 블록 분할 설정을 통해 획득 가능한 블록의 크기 및 형태가 결정될 수 있다. 본 예에서 바이너리 트리 및 터너리 트리의 경우 최대 블록은 64 × 64, 최소 블록은 한 쪽 길이가 4이고, 최대 분할 깊이는 4라고 가정한다.
상술한 가정에 따라, 이하에서는 좌상 블록, 우상 블록, 좌하 블록 및 우하 블록을 개별적으로 설명한다.
1. 좌상 블록 (A1 내지 A6)
좌상 블록(4M × 4N)은 단일 트리 방식의 분할이 지원되는 경우를 나타낸 것으로, 최대 블록, 최소 블록 및 분할 깊이 등과 같은 하나의 블록 분할 설정을 통해 획득 가능한 블록의 크기 및 형태가 정해질 수 있다.
좌상 블록은 분할에 따라 획득 가능한 블록의 형태가 하나인 경우로, 분할 동작에 요구되는 분할 정보는 분할 여부 플래그일 수 있으며, 획득 가능한 후보는 4M × 4N 및 2M × 2N일 수 있다. 여기서, 분할 여부 플래그는 0인 경우 분할을 수행하지 않으며, 1인 경우 분할을 수행할 수 있다.
도 6을 참조하면, 좌상 블록(4M × 4N)은 현재 깊이 1에서 분할 여부 플래그가 1인 경우 쿼드 트리 분할을 수행할 수 있으며, 이에 따라 깊이는 1에서 2로 증가하고, A0 내지 A3, A4, A5 및 A6(각각 2M × 2N)의 블록이 획득될 수 있다.
다음 예에서 설명되는 다중 트리 방식의 분할이 지원되는 경우에서 쿼드 트리 분할만 가능한 경우에 발생하는 정보는 본 예와 같이 분할 여부 플래그로 구성되기 때문에 이에 대한 설명은 생략한다.
2. 우상 블록 (A7 내지 A11)
우상 블록(4M × 4N)은 다중 트리 방식(쿼드 트리 및 바이너리 트리. 분할 우선 순위가 존재. 쿼드 트리 -> 바이너리 트리)의 분할이 지원되는 경우를 나타낸 것으로, 복수의 블록 분할 설정을 통해 획득 가능한 블록의 크기 및 형태가 정해질 수 있다.
우상 블록은 분할에 따라 획득 가능한 블록의 형태가 복수인 경우로, 분할 동작에 요구되는 분할 정보는 분할 여부 플래그, 분할 종류 플래그, 분할 형태 플래그 및 분할 방향 플래그일 수 있으며, 획득 가능한 후보는 4M × 4N, 4M × 2N, 2M × 4N, 4M × N/4M × 3N, 4M × 3N/4M × N, M × 4N/3M × 4N 및 3M × 4N/M × 4N일 수 있다.
대상 블록이 쿼드 트리 분할 및 바이너리 트리 분할이 모두 가능한 범위에 있을 때, 쿼드 트리 분할과 바이너리 트리 분할이 모두 가능한 경우와 하나의 트리 분할만 가능한 경우에 따라 분할 정보가 구성될 수 있다.
위의 설명에서 구분되어야 하는 것은 '가능한 범위'란 블록 분할 설정에 따라 대상 블록(64 x 64)이 쿼드 트리 분할(128 x 128 ~ 8 x 8)과 바이너리 트리 분할{64 x 64 ~ (64 >> m) x (64 >> n). m + n이 4}이 사용 가능하다는 것을 의미하고, '가능한 경우'란 복수의 분할 방식이 지원되었을 때 분할 순서, 규칙 등에 의해 쿼드 트리 분할과 바이너리 트리 분할이 모두 가능하거나 또는 하나의 트리 분할만 사용 가능하다는 것을 의미한다.
(1) 쿼드 트리 분할과 바이너리 트리 분할이 모두 가능한 경우
Figure pat00001
표 1에서, a는 쿼드 트리 분할 여부를 나타내는 플래그를 의미할 수 있고, b는 바이너리 트리 분할 여부를 나타내는 플래그를 의미할 수 있다. 또한, c는 분할 방향을 나타내는 플래그를 의미할 수 있으며, d는 분할 형태를 나타내는 플래그를 의미할 수 있고, e는 분할 비율을 나타내는 플래그를 의미할 수 있다.
표 1을 참조하면, 분할 정보는 a가 1인 경우 쿼드 트리 분할(QT)의 수행을 의미할 수 있고, 0인 경우 b를 더 포함할 수 있다. 분할 정보는 b가 0인 경우 해당 블록에서 더 이상의 분할이 수행되지 않음(No Split)을 의미할 수 있고, 1인 경우 바이너리 트리 분할(BT)의 수행을 의미할 수 있으며, c 및 d를 더 포함할 수 있다. 분할 정보는 c가 0인 경우 가로 방향(hor)의 분할을 의미할 수 있고, 1인 경우 세로 방향(ver)의 분할을 의미할 수 있다. 분할 정보는 d가 0인 경우 대칭 바이너리 트리(Symmetric Binary Tree, SBT) 분할의 수행을 의미할 수 있고, 1인 경우 비대칭 바이너리 트리(Asymmetric Binary Tree, ABT) 분할의 수행을 의미할 수 있으며, e를 더 포함할 수 있다. 분할 정보는 e가 0인 경우 좌와 우 또는 상과 하의 블록 비율이 1:4로 분할됨을 의미할 수 있고, 1인 경우, 반대의 비율(3:4)로 분할됨을 의미할 수 있다.
(2) 바이너리 트리 분할만 가능한 경우
Figure pat00002
표 2에서, b 내지 e는 표 1의 b 내지 e와 각각 동일한 플래그를 의미할 수 있다.
표 2를 참조하면, 바이너리 트리 분할만 가능한 경우의 분할 정보는 쿼드 트리 분할 여부를 나타내는 플래그(a)를 제외하고, 나머지는 동일할 수 있다. 다시 말해, 바이너리 트리 분할만 가능한 경우의 분할 정보는 b부터 시작될 수 있다.
도 6을 참조하면, 우상 블록에서, A7의 블록은 분할되기 전 불록인 우상 블록에서 쿼드 트리 분할이 가능하였으나, 바이너리 트리 분할이 된 경우이므로, 표 1에 따라 분할 정보가 생성될 수 있다.
반면, A8 내지 A11의 블록은 분할되기 전 블록인 우상 블록에서 이미 쿼드 트리 분할이 수행되지 않았고, 바이너리 트리 분할이 된 경우이므로, 즉, 더 이상 쿼드 트리 분할이 불가능한 경우이므로, 표 2에 따라 분할 정보가 생성될 수 있다.
3. 좌하 블록 (A12 내지 A15)
좌하 블록(4M × 4N)은 다중 트리 방식(쿼드 트리, 바이너리 트리 및 터너리 트리. 분할 우선 순위가 존재. 쿼드 트리 -> 바이너리 트리 또는 터너리 트리. 또한, 분할 방식 선택이 가능. 바이너리 트리 또는 터너리 트리)의 분할이 지원되는 경우를 나타낸 것으로, 복수의 블록 분할 설정을 통해 획득 가능한 블록의 크기 및 형태가 정해질 수 있다.
좌하 블록은 분할에 따라 획득 가능한 블록의 크기 및 형태가 복수인 경우로, 분할 동작에 요구되는 분할 정보는 분할 여부 플래그, 분할 종류 플래그 및 분할 방향 플래그일 수 있으며, 획득 가능한 후보는 4M × 4N, 4M × 2N, 2M × 4N, 4M × N/4M × 2N/4M × N 및 M × 4N/2M × 4N/M × 4N일 수 있다.
대상 블록이 쿼드 트리 분할, 바이너리 트리 분할 및 터너리 트리 분할이 모두 가능한 범위에 있을 때, 쿼드 트리 분할과 바이너리 트리 분할, 터너리 트리 분할이 모두 가능한 경우와 그렇지 않은 경우에 따라 분할 정보가 구성될 수 있다.
(1) 쿼드 트리 분할과 바이너리 트리/터너리 트리 분할이 모두 가능한 경우
Figure pat00003
표 3에서, a는 쿼드 트리 분할 여부를 나타내는 플래그를 의미할 수 있고, b는 바이너리 트리 또는 터너리 트리 분할 여부를 나타내는 플래그를 의미할 수 있다. 또한, c는 분할 방향을 나타내는 플래그를 의미할 수 있고, d는 분할 종류를 나타내는 플래그를 의미할 수 있다.
표 3을 참조하면, 분할 정보는 a가 1인 경우 쿼드 트리 분할(QT)의 수행을 의미할 수 있고, 0인 경우 b를 더 포함할 수 있다. 분할 정보는 b가 0인 경우 해당 블록에서 더 이상의 분할이 수행되지 않음(No Split)을 의미할 수 있으며, 1인 경우 바이너리 트리(BT) 또는 터너리 트리(TT) 분할의 수행을 의미할 수 있고, c 및 d를 더 포함할 수 있다. 분할 정보는 c가 0인 경우 가로 방향(hor)의 분할을 의미할 수 있고, 1인 경우 세로 방향(ver)의 분할을 의미할 수 있다. 분할 정보는 d가 0인 경우 바이너리 트리 분할(BT)의 수행을 의미할 수 있고, 1인 경우 터너리 트리 분할(TT)의 수행을 의미할 수 있다.
(2) 바이너리 트리/터너리 트리 분할만 가능한 경우
Figure pat00004
표 4에서, b 내지 d는 표 3의 b 내지 d와 각각 동일한 플래그를 의미할 수 있다.
표 4를 참조하면, 바이너리 트리/터너리 트리 분할만 가능한 경우의 분할 정보는 쿼드 트리 분할 여부를 나타내는 플래그(a)를 제외하고, 나머지는 동일할 수 있다. 다시 말해, 바이너리 트리/터너리 트리 분할만 가능한 경우의 분할 정보는 b부터 시작될 수 있다.
도 6을 참조하면, 좌하 블록에서, A12 및 A15의 블록은 분할되기 전 블록인 좌하 블록에서 이미 쿼드 트리 분할이 가능하였으나, 바이너리 트리/터너리 트리 분할이 된 경우이므로, 표 3에 따라 분할 정보가 생성될 수 있다.
반면, A13 및 A14의 블록은 분할되기 전 블록인 좌하 블록에서 이미 쿼드 트리 분할이 수행되지 않았고, 터너리 트리 분할이 된 경우이므로 표 4에 따라 분할 정보가 생성될 수 있다.
4. 우하 블록 (A16 내지 A20)
우하 블록(4M × 4N)은 다중 트리 방식(좌하 블록의 경우와 동일. 단, 본 예에서는 비대칭 바이너리 트리가 지원)의 분할이 지원되는 경우를 나타낸 것으로, 복수의 블록 분할 설정을 통해 획득 가능한 블록의 크기 및 형태가 정해질 수 있다.
우하 블록은 분할에 따라 획득 가능한 블록의 형태가 복수인 경우로, 분할 동작에 요구되는 분할 정보는 분할 여부 플래그, 분할 종류 플래그, 분할 형태 플래그 및 분할 방향 플래그일 수 있으며, 획득 가능한 후보는 4M × 4N, 4M × 2N, 2M × 4N, 4M × N/4M × 3N, 4M × 3N/4M × N, M × 4N/3M × 4N, 3M × 4N/M × 4N, 4M × N/4M × 2N/4M × N 및 M × 4N/2M × 4N/M × 4N일 수 있다.
대상 블록이 쿼드 트리 분할, 바이너리 트리 분할 및 터너리 트리 분할이 모두 가능한 범위에 있을 때, 쿼드 트리 분할과 바이너리 트리 분할, 터너리 트리 분할이 모두 가능한 경우와 그렇지 않은 경우에 따라 분할 정보가 구성될 수 있다.
(1) 쿼드 트리 분할과 바이너리 트리/터너리 분할이 모두 가능한 경우
Figure pat00005
표 5에서, a는 쿼드 트리 분할 여부를 나타내는 플래그를 의미할 수 있고, b는 바이너리 트리 또는 터너리 트리 분할 여부를 나타내는 플래그를 의미할 수 있다. 또한, c는 분할 방향을 나타내는 플래그를 의미할 수 있고, d는 분할 종류를 나타내는 플래그를 의미할 수 있다. e는 분할 형태를 나타내는 플래그를 의미할 수 있고, f는 분할 비율을 나타내는 플래그를 의미할 수 있다.
표 5를 참조하면, 분할 정보는 a가 1인 경우 쿼드 트리 분할(QT)의 수행을 의미할 수 있고, 0인 경우 b를 더 포함할 수 있다. 분할 정보는 b가 0인 경우 해당 블록에서 더 이상의 분할이 수행되지 않음(No Split)을 의미할 수 있고, 1인 경우 바이너리 트리(BT) 또는 터너리 트리(TT) 분할의 수행을 의미할 수 있으며, c 및 d를 더 포함할 수 있다. 분할 정보는 c가 0인 경우 가로 방향(hor)의 분할을 의미할 수 있고, 1인 경우 세로 방향(ver)의 분할을 의미할 수 있다. 분할 정보는 d가 0인 경우 터너리 트리 분할(TT)의 수행을 의미할 수 있으며, 1인 경우 바이너리 트리 분할(BT)의 수행을 의미할 수 있으며, e를 더 포함할 수 있다. 분할 정보는 e가 0인 경우 대칭 바이너리 트리 분할(SBT)의 수행을 의미할 수 있으며, 1인 경우 비대칭 바이너리 트리 분할(ABT)의 수행을 의미할 수 있고, f를 더 포함할 수 있다. 분할 정보는 f가 0인 경우 좌와 우 또는 상과 하의 블록 비율이 1:4로 분할됨을 의미할 수 있고, 1인 경우, 반대의 비율(3:4)로 분할됨을 의미할 수 있다.
(2) 바이너리 트리/터너리 트리 분할만 가능한 경우
Figure pat00006
표 6에서, b 내지 f는 표 5의 b 내지 f와 각각 동일한 플래그를 의미할 수 있다.
표 6을 참조하면, 바이너리 트리/터너리 트리 분할만 가능한 경우의 분할 정보는 쿼드 트리 분할 여부를 나타내는 플래그(a)를 제외하고, 나머지는 동일할 수 있다. 다시 말해, 바이너리 트리/터너리 트리 분할만 가능한 경우의 분할 정보는 b부터 시작될 수 있다.
도 6을 참조하면, 우하 블록에서, A20의 블록은 분할되기 전 블록인 우하 블록에서 이미 쿼드 트리 분할이 가능하였으나, 바이너리 트리/터너리 트리 분할이 된 경우이므로, 표 5에 따라 분할 정보가 생성될 수 있다.
반면, A16 내지 A19의 블록은 분할되기 전 블록인 우하 블록에서 이미 쿼드 트리 분할이 수행되지 않았고, 바이너리 트리 분할이 된 경우이므로 표 6에 따라 분할 정보가 생성될 수 있다.
도 7은 본 발명의 일 실시예에 따른 영상 부호화 방법을 나타낸 순서도이다.
도 7을 참조하면, 본 발명의 일 실시예에 따른 영상 부호화 장치는 픽쳐의 크기 정보 및 기본 부호화 블록의 크기 정보를 설정할 수 있으며(S710), 픽쳐를 기본 부호화 블록 단위로 구획할 수 있다(S720). 또한, 영상 부호화 장치는 블록 스캔 순서에 따라 기본 부호화 블록을 부호화할 수 있으며(S730), 부호화에 따른 비트스트림을 영상 복호화 장치로 송신할 수 있다.
또한, 본 발명의 일 실시예에 따른 영상 복호화 장치는 상술한 영상 부호화 장치와 대응되게 동작할 수 있다. 다시 말해, 영상 복호화 장치는 영상 부호화 장치로부터 수신한 비트스트림을 기초로 픽쳐의 크기 정보 및 기본 부호화 블록의 크기 정보를 복원할 수 있으며, 픽쳐를 기본 부호화 블록 단위로 구획할 수 있다. 또한, 영상 복호화 장치는 블록 스캔 순서에 따라 기본 부호화 블록을 복호화할 수 있다.
여기서, 기본 부호화 블록 크기 정보는 부호화를 수행하는 최대 블록의 크기 정보를 의미할 수 있으며, 블록 스캔 순서는 래스터 스캔 순서일 수 있으나, 그외의 다양한 스캔 순서에 따를 수 있으므로, 이에 한정되는 것은 아니다.
위의 크기 정보의 경우 2의 지수승으로 표현할 수 있으며, 최대 블록의 크기 정보를 바로 2의 지수승으로 표현할 수 있거나 또는 기 설정된 특정 크기(예를 들어, 8 또는 16)와의 지수승 차이값으로 표현할 수 있다. 예를 들어, 기본 부호화 블록은 8 x 8부터 128 x 128 사이의 값을 가질 수 있을 때, 8과의 지수승 차이값으로 크기 정보를 생성할 수 있다. 최대 블록의 크기가 64 x 64일 경우 log2(64) - log2(8) = 3으로 크기 정보를 생성할 수 있다. 본 예에서 기본 부호화 블록의 크기 정보에 대한 설명을 하고 있지만, 이는 블록 분할 설정에서 각 트리 종류에 따른 최대, 최소 크기 정보를 명시적으로 생성할 때에도 적용 가능한 설명일 수 있다.
다만, 픽쳐의 크기가 기본 부호화 블록의 정수배로 구성되지 않는 경우에는 상술한 바와 같이 부/복호화기에서 부/복호화가 수행될 수 없으므로, 다양한 변형이 필요할 수 있다. 이에 대한 상세한 방법은 후술한다.
또한, 후술하는 예에서 픽쳐가 하나의 슬라이스, 타일로 구성된 경우를 가정하여 설명할 것이나, 만약 복수의 슬라이스, 타일로 분할되는 경우라 할지라도 픽쳐 기준으로 오른쪽 또는 아래쪽 경계에 블록이 기본 부호화 블록 크기로 구성되지 않는 경우일 것이다. 이는 픽쳐가 블록으로 먼저 분할된 후에 블록 단위로 타일, 슬라이스로 분할되는 설정(즉, 경계에 위치한 단위에서 블록의 정수배로 구성되지 않을 가능성이 존재) 하에 가능한 이야기일 수 있다.
또한, 픽쳐가 타일, 슬라이스 등으로 먼저 분할된 후에 블록으로 분할하는 경우에는 다른 경우가 발생할 수 있다. 즉, 타일, 슬라이스 등의 크기가 먼저 설정이 되기 때문에 각 타일, 슬라이스는 기본 부호화 블록의 정수배로 구성되지 않는 경우가 발생할 수 있다. 이는 픽쳐 기준으로 오른쪽 또는 아래쪽 경계뿐만 아니라 픽쳐의 중간에도 블록이 기본 부호화 블록 크기로 구성되지 않는 경우가 발생할 수 있다는 것을 의미한다. 그렇기 때문에 후술하는 예에서의 적용이 가능할 수 있으나 타일과 슬라이스 단위로 블록의 정수배로 구성되지 않는 점을 고려하여 적용 가능할 수 있다.
도 8a 및 도 8b는 본 발명의 일 실시예에 따른 다양한 크기의 기본 부호화 블록으로 구획한 영상을 나타낸 도면이다.
도 8a는 64 × 64 크기의 기본 부호화 블록으로 832 × 576 크기의 영상을 구획한 도면이다. 도 8a를 참조하면, 픽쳐(영상)의 가로 길이는 기본 부호화 블록의 가로 길이의 13배로 정수배가 되며, 픽쳐의 세로 길이는 기본 부호화 블록의 세로 길이의 9배로 정수배가 될 수 있다. 이에 따라, 영상은 117개의 기본 부호화 블록으로 구획되어 부/복호화가 수행될 수 있다.
도 8b는 128 × 128 크기의 기본 부호화 블록으로 832 × 576 크기의 영상을 구획한 도면이다. 도 8b를 참조하면, 픽쳐의 가로 길이는 기본 부호화 블록의 가로 길이의 6.5배로 정수배가 되지 않으며, 픽쳐의 세로 길이는 기본 부호화 블록의 세로 길이의 4.5배로 정수배가 되지 않을 수 있다.
본 발명에서 영상의 외곽 경계는 픽쳐의 왼쪽, 오른쪽, 위쪽, 아래쪽, 왼쪽 위, 왼쪽 아래, 오른쪽 위 및 오른쪽 아래 등의 경계를 의미할 수 있으나, 일반적으로 영상의 좌상측 좌표를 기준으로 블록 분할을 한다는 가정 하에 오른쪽, 아래쪽 및 오른쪽 아래 경계를 중심으로 설명한다.
도 8b를 참조하면, 영상의 외곽 경계(오른쪽, 아래쪽 및 오른쪽 아래)에 위치하는 영역을 기본 부호화 블록으로 구획하는 경우, 해당 블록의 왼쪽 위의 좌표는 픽쳐 내에 존재하지만, 오른쪽 아래의 좌표는 픽쳐 외부에 존재하고, 해당 블록의 위치(오른쪽 경계, 아래쪽 경계 및 오른쪽 아래 경계)에 따라 오른쪽 위의 좌표가 픽쳐 외부에 존재할 수 있고(P_R), 왼쪽 아래의 좌표가 픽쳐 외부에 존재할 수 있으며(P_D), 두 좌표 모두 픽쳐 외부에 존재할 수 있다(P_DR).
여기서, 영상의 외곽 경계에 위치하지 않는 24개의 128 × 128 크기의 기본 부호화 블록은 부/복호화가 수행될 수 있으나, 영상의 외곽 경계에 위치하는 영역(P_R, P_D 및 P_DR)은 기본 부호화 블록으로 구획되지 않으므로, 다른 처리가 요구될 수 있다.
이러한 경우를 해결하기 위해 다양한 방법이 지원될 수 있다. 예를 들어, 영상을 확장(또는 패딩)하여 부/복호화를 수행하는 방법 및 기본 부호화 블록의 예외적인 경우를 두어 부/복호화를 수행하는 방법 등이 지원될 수 있다. 여기서, 영상을 확장하여 부/복호화를 수행하는 방법의 경우 영상 부/복호화 구조의 통일성을 유지하기 위한 목적으로 수행될 수 있고, 기본 부호화 블록의 예외적인 경우를 두어 부/복호화를 수행하는 방법의 경우 영상 부/복호화 성능 향상을 위한 목적으로 수행되는 예일 수 있다.
이하, 본 발명에서는 상술한 바와 같이 픽쳐의 크기가 기본 부호화 블록의 크기에 정수배가 되지 않는 경우를 해결하기 위한 방법으로 1. 기본 부호화 블록 조정 방법, 2. 영상 크기 조정 방법, 3. 적응적 영상 데이터 처리 방법 및 4. 복수의 분할 방법에 따른 적응적 영상 데이터 처리 방법을 상세히 설명한다.
1. 기본 부호화 블록 조정 방법
기본 부호화 블록 조정 방법은 픽쳐의 크기가 기본 부호화 블록 크기의 정수배가 아닌 경우, 블록 분할부에서 지원되는 블록 중 적어도 하나를 차용하는 방법이다.
도 9는 본 발명의 일 실시예에 따른 기본 부호화 블록 조정 방법을 설명하기 위한 제1 예시도이다.
도 9를 참조하면, 픽쳐의 크기는 1856 × 928이며, 기본 부호화 블록의 크기는 128 ×128이고, 쿼드 트리와 같은 단일 트리 방식의 분할이 지원되며 최소 블록이 8 × 8인 경우, 기본 부호화 블록은 블록 분할부를 통해 64 × 64, 32 × 32, 16 × 16 및 8 × 8의 블록을 차용할 수 있다. 여기서, 분할 깊이가 0인 128 × 128 블록에서 분할이 수행되지 않으면, 128 × 128의 블록도 차용할 수 있으나, 픽쳐의 크기가 128 × 128의 정수배가 되지 않으므로 후보군에서 제외될 수 있다.
픽쳐의 가로 길이는 1856이고, 기본 부호화 블록의 가로 길이는 128이므로, 픽쳐의 오른쪽 경계에 64의 길이가 남을 수 있다. 여기서, 픽쳐의 오른쪽 경계에 위치하는 블록의 크기는 64 × 128일 수 있으므로, 기본 부호화 블록은 블록 분할부에 의해 지원되는 후보 블록 중 64 × 64 크기의 블록을 차용할 수 있다. 여기서, 차용하는 블록은 후보 블록 중 64 × 128을 기준으로 최대 크기의 블록 또는 최소한의 개수가 되는 블록일 수 있으며, 64 × 64 크기의 블록을 차용하는 경우, 64 × 128은 2개의 64 × 64 크기의 블록으로 구성될 수 있다.
또한, 픽쳐의 세로 길이는 928이고, 기본 부호화 블록의 세로 길이는 128이므로, 픽쳐의 아래쪽 경계에 32의 길이가 남을 수 있다. 여기서, 픽쳐의 아래쪽 경계에 위치하는 블록의 크기는 128 × 32일 수 있으므로, 기본 부호화 블록은 블록 분할부에 의해 지원되는 후보 블록 중 32 × 32 크기의 블록을 차용할 수 있다. 여기서, 차용하는 블록은 후보 블록 중 128 × 32을 기준으로 최대 크기의 블록 또는 최소한의 개수가 되는 블록일 수 있으며, 32 × 32 크기의 블록을 차용하는 경우, 128 × 32은 4개의 32 × 32 크기의 블록으로 구성될 수 있다.
한편, 픽쳐의 오른쪽 아래의 경계에 위치하는 블록의 크기는 64 × 32이므로, 기본 부호화 블록은 블록 분할부에 의해 지원되는 후보 블록 중 32 × 32 크기의 블록을 차용할 수 있다. 여기서, 차용하는 블록은 후보 블록 중 64 × 32을 기준으로 최대 크기의 블록 또는 최소한의 개수가 되는 블록일 수 있으며, 32 × 32 크기의 블록을 차용하는 경우, 64 × 32은 2개의 32 × 32 크기의 블록으로 구성될 수 있다.
다시 말해, 하나의 기본 부호화 블록(128 × 128)은 영상의 오른쪽 경계에서 2개의 조정된 기본 부호화 블록(64 × 64)으로, 영상의 아래쪽 경계에서 4개의 조정된 기본 부호화 블록(32 × 32)으로, 영상의 오른쪽 아래 경계에서 2개의 조정된 기본 부호화 블록(32 × 32)으로 구성될 수 있다.
도 10은 본 발명의 일 실시예에 따른 기본 부호화 블록 조정 방법을 설명하기 위한 제2 예시도이다.
도 10을 참조하면, 픽쳐의 크기 및 기본 부호화 블록의 크기는 도 9와 동일하고, 쿼드 트리 및 바이너리 트리와 같은 다중 트리 방식의 분할이 지원되며 최소 블록이 8 × 8인 경우, 기본 부호화 블록은 블록 분할부를 통해 64 × 64, 32 × 32, 16 × 16 및 8 × 8와 같은 정사각 블록과 128 × 64, 64 × 128, 64 × 32, 32 × 64, 32 × 16, 16 × 32, 16 × 8 및 8 × 16와 같은 직사각 블록을 차용할 수 있다. 여기서, 쿼드 트리 및 바이너리 트리를 통해 가로 및 세로 비율이 2배를 초과하는 블록도 차용될 수 있으나, 설명의 편의를 위해 후보군에서 제외하였으나, 이에 한정되는 것은 아니다.
픽쳐의 가로 길이는 1856이고, 기본 부호화 블록의 가로 길이는 128이므로, 픽쳐의 오른쪽 경계에 64의 길이가 남을 수 있다. 여기서, 픽쳐의 오른쪽 경계에 위치하는 블록의 크기는 64 × 128일 수 있으므로, 기본 부호화 블록은 블록 분할부에 의해 지원되는 후보 블록 중 64 × 128 크기의 블록을 차용할 수 있다. 여기서, 차용하는 블록은 후보 블록 중 64 × 128을 기준으로 최대 크기의 블록 또는 최소한의 개수가 되는 블록일 수 있으며, 64 × 128 크기의 블록을 차용하는 경우, 64 × 128은 1개의 64 × 128 크기의 블록으로 구성될 수 있다.
또한, 픽쳐의 세로 길이는 928이고, 기본 부호화 블록의 세로 길이는 128이므로, 픽쳐의 아래쪽 경계에 32의 길이가 남을 수 있다. 여기서, 픽쳐의 아래쪽 경계에 위치하는 블록의 크기는 128 × 32일 수 있으므로, 기본 부호화 블록은 블록 분할부에 의해 지원되는 후보 블록 중 64 × 32 크기의 블록을 차용할 수 있다. 여기서, 차용하는 블록은 후보 블록 중 128 × 32을 기준으로 최대 크기의 블록 또는 최소한의 개수가 되는 블록일 수 있으며, 64 × 32 크기의 블록을 차용하는 경우, 128 × 32은 2개의 64 × 32 크기의 블록으로 구성될 수 있다.
한편, 픽쳐의 오른쪽 아래의 경계에 위치하는 블록의 크기는 64 × 32이므로, 기본 부호화 블록은 블록 분할부에 의해 지원되는 후보 블록 중 64 × 32 크기의 블록을 차용할 수 있다. 여기서, 차용하는 블록은 후보 블록 중 64 × 32을 기준으로 최대 크기의 블록 또는 최소한의 개수가 되는 블록일 수 있으며, 64 × 32 크기의 블록을 차용하는 경우, 64 × 32은 1개의 64 × 32 크기의 블록으로 구성될 수 있다.
다시 말해, 하나의 기본 부호화 블록(128 × 128)은 영상의 오른쪽 경계에서 1개의 조정된 기본 부호화 블록(64 × 128)으로, 영상의 아래쪽 경계에서 2개의 조정된 기본 부호화 블록(64 × 32)으로, 영상의 오른쪽 아래 경계에서 2개의 조정된 기본 부호화 블록(64 × 32)으로 구성될 수 있다.
도 10의 경우를 살펴보면, 차용 블록은 남은 가로 또는 세로 길이에 맞춰 블록의 가로 또는 세로 길이가 그대로 유지된 채 (1차 과정을 수행하여) 결정될 수 있다. 다시 말해, 영상 오른쪽의 경우 남은 가로 길이(64)로 표현되는 64 × 128, 64 × 64 및 64 × 32 크기의 블록 중 차용 블록(64 × 128)이 결정되고, 영상 아래쪽의 경우 남은 세로 길이(32)로 표현되는 64 × 32, 32 × 32 및 16 × 32 크기의 블록 중 차용 블록(64 × 32)이 결정된다.
다만, 블록 분할부에 의해 지원되는 블록 중 남은 가로 또는 세로 길이에 맞는 블록이 존재하지 않는 경우에는 2차 이상의 과정을 수행하여 차용 블록을 결정할 수 있다. 보다 상세하게는 도 10과 함께 후술한다.
도 11a 및 도 11b는 본 발명의 일 실시예에 따른 기본 부호화 블록 조정 방법을 설명하기 위한 경계 블록을 나타낸 도면이다.
도 11a를 참조하면, 기본 부호화 블록의 크기가 128 × 128이고, 픽쳐의 크기가 기본 부호화 블록의 크기에 정수배가 되지 않음에 따라 픽쳐의 아래쪽 경계에 128 × 80 크기의 블록이 존재한다고 가정한다. 여기서, 128 × 80 크기의 블록은 경계 블록(boundary block)이라 지칭할 수 있다.
기본 부호화 블록은 블록 분할부에 의해 지원되는 후보 블록 중 128 × 80 크기에 근사하여 표현되는 128 × 64, 64 × 64 및 32 × 64 크기의 블록 중 하나인 128 × 64 크기의 블록을 차용할 수 있으며, 128 × 16 크기의 블록이 남을 수 있다.
여기서, 기본 부호화 블록은 추가로 블록 분할부에 의해 지원되는 후보 블록 중 128 × 16 크기에 근사하여 표현되는 32 × 16, 16 × 16 및 8 × 16 크기의 블록 중 하나인 32 × 16 크기의 블록을 차용할 수 있다.
도 11b를 참조하면, 기본 부호화 블록의 크기가 128 × 128이고, 픽쳐의 크기가 기본 부호화 블록의 크기에 정수배가 되지 않음에 따라 픽쳐의 오른쪽 경계에 56 × 128 크기의 블록이 존재한다고 가정한다.
기본 부호화 블록은 블록 분할부에 의해 지원되는 후보 블록 중 56 × 128 크기에 근사하여 표현되는 32 × 64, 32 × 32 및 32 × 16 크기의 블록 중 하나인 32 × 64 크기의 블록을 차용할 수 있으며, 24 × 128 크기의 블록이 남을 수 있다.
여기서, 기본 부호화 블록은 추가로 블록 분할부에 의해 지원되는 후보 블록 중 24 × 128 크기에 근사하여 표현되는 16 × 32, 16 × 16 및 16 × 8 크기의 블록 중 하나인 16 × 32 크기의 블록을 차용할 수 있으며, 8 × 128 크기의 블록이 남을 수 있다.
기본 부호화 블록은 마지막으로 블록 분할부에 의해 지원되는 후보 블록 중 8 × 128 크기에 근사하여 표현되는 블록 중 하나인 8 × 16 크기의 블록을 차용할 수 있다.
다시 말해, 도 11a의 경우 하나의 기본 부호화 블록(128 × 128)은 1차로 조정된 1개의 기본 부호화 블록(128 × 64) 및 2차로 조정된 4개의 기본 부호화 블록(32 × 16)으로 구성될 수 있고, 도 11b의 경우 1차로 조정된 2개의 기본 부호화 블록(32 × 64), 2차로 조정된 4개의 기본 부호화 블록(16 × 32) 및 3차로 조정된 8개의 기본 부호화 블록(8 × 16)으로 구성될 수 있다.
도 12는 본 발명의 일 실시예에 따른 기본 부호화 블록을 조정하여 영상을 부호화하는 방법을 나타낸 순서도이다.
도 12를 참조하면, 본 발명의 일 실시예에 따른 기본 부호화 블록을 조정하는 영상 부호화 장치는 픽쳐의 크기 정보, 기본 부호화 블록의 크기 정보 및 블록 분할 정보를 설정할 수 있으며(S1210), 블록 위치에 따라 픽쳐를 기본 부호화 블록 또는 블록 분할 정보를 기초로 재설정된 기본 부호화 블록 단위로 구획할 수 있다(S1220). 또한, 영상 부호화 장치는 재설정된 블록 스캔 순서에 따라 기본 부호화 블록을 부호화할 수 있으며(S1230), 부호화에 따른 비트스트림을 영상 복호화 장치로 송신할 수 있다.
또한, 본 발명의 일 실시예에 따른 영상 복호화 장치는 상술한 영상 부호화 장치와 대응되게 동작할 수 있다. 다시 말해, 영상 복호화 장치는 영상 부호화 장치로부터 수신한 비트스트림을 기초로 픽쳐의 크기 정보, 기본 부호화 블록의 크기 정보 및 블록 분할 정보를 복원할 수 있으며, 픽쳐를 기본 부호화 블록 또는 블록 분할 정보를 기초로 재설정된 기본 부호화 블록 단위로 구획할 수 있다. 또한, 영상 복호화 장치는 재설정된 블록 스캔 순서에 따라 기본 부호화 블록을 복호화할 수 있다.
여기서, 블록 분할 정보는 최대 블록 크기와 최소 블록 크기 사이에서 획득 가능한 블록에 관한 분할 정보를 의미할 수 있다. 상세하게는, 블록 분할부를 통해 다양한 크기 및 형태의 블록을 획득하는데 영향을 주는 블록 분할 설정 등과 관련하여 명시적으로 생성하는 정보(예를 들어, 컬러 성분<Y/Cb/Cr>, 영상 타입<I/P/B> 등에 따라 지원되는 트리 정보, 트리 별 최대 및 최소 크기 정보 및 최대 분할 깊이 정보 및 블록 형태 제한 정보<가로/세로 비율 정보> 등>를 의미할 수 있으며, 부/복호화기에서 미리 결정된 분할 순서, 분할 규칙 등과 같은 묵시적인 정보 또한 포함할 수 있다.
또한, 픽쳐가 기본 부호화 블록의 정수배가 아닌 경우, 픽쳐의 오른쪽 또는 아래쪽 경계에서는 상기 기본 부호화 블록 크기로 구획되지 않으므로, 블록 분할부에서 지원하는 블록 분할 설정에 따라 지원되는 블록 크기를 가지는 기본 부호화 블록을 재설정하여 구획할 수 있다. 다시 말해, 픽쳐 경계에 위치한 하나의 기본 부호화 블록은 적어도 하나의 재설정된 기본 부호화 블록으로 구성되어 구획될 수 있다.
또한, 픽쳐의 경계는 하나 이상의 기본 부호화 블록으로 구성될 수 있으므로, z 스캔 등의 일부 스캔 순서가 픽쳐의 경계에 위치하는 기본 부호화 블록에 적용될 수 있다. 예를 들어, 도 11a에서 스캔 순서는 128 × 64 블록이 첫 번째가 될 수 있으며, 이후 아래쪽에 위치한 4개의 32 × 16 블록이 왼쪽부터 오른쪽 방향으로 스캔될 수 있다.
2. 영상 크기 조정 방법
영상 크기 조정 방법은 픽쳐의 크기가 기본 부호화 블록 크기의 정수배가 아닌 경우, 영상의 크기를 확장하는 방법이다.
도 13a 및 도 13b는 본 발명의 일 실시예에 따른 영상 크기 조정 방법을 설명하기 위한 제1 예시도이다.
도 13a를 참조하면, 픽쳐의 크기는 832 × 576이고, 기본 부호화 블록의 크기는 128 × 128인 경우, 픽쳐의 오른쪽 경계 및 아래쪽 경계는 각각 64의 길이가 남을 수 있다. 이러한 경우, 픽쳐의 크기는 가로 및 세로로 각각 64의 길이만큼 확장 또는 조정될 수 있다.
도 13b를 참조하면, 확장된 픽쳐의 크기는 896 × 640일 수 있고, 확장된 픽쳐는 35개의 128 × 128 크기의 기본 부호화 블록으로 구획될 수 있다.
영상 크기 조정 방법에 대하여 더욱 상세히 설명하면, 픽쳐 확장은 기존 픽쳐보다 크며, 확장된 픽쳐의 크기가 기본 부호화 블록의 최소 정수배가 되는 크기 중 최소가 되도록 수행될 수 있다. 도 11a를 참조하면, 픽쳐의 가로 길이는 832이므로, 픽쳐의 가로 길이보다 크며 기본 부호화 블록의 정수배가 되는 길이는 896 및 1024 등이 존재하나, 이 중 896의 길이가 최소 길이이므로, 픽쳐의 가로 길이는 896으로 확장될 수 있다. 또한, 픽쳐의 세로 길이는 576이므로, 픽쳐의 세로 길이보다 크며 기본 부호화 블록의 정수배가 되는 길이는 640 및 768 등이 존재하나, 이 중 640의 길이가 최소 길이이므로, 픽쳐의 세로 길이는 896으로 확장될 수 있다. 다만, 픽쳐의 확장 기준은 다르게 설정될 수도 있으므로, 이에 한정되는 것은 아니다.
여기서, 확장되는 영역은 기설정된 화소값으로 채워지거나 확장되는 영역의 경계에 위치하는 화소값으로 채워질 수 있다.
일 실시예로, 확장되는 영역이 기설정된 화소값으로 채워지는 경우, 기설정된 화소값은 비트 심도에 의해 결정되는 화소값 범위에 포함되는 하나의 값 또는 실제 영상을 구성하는 화소값의 범위에 포함되는 하나의 값이 될 수 있다.
여기서, 비트 심도에 의해 결정되는 화소값 범위는 최소값 0부터 최대값 2n-1(n은 비트 수)까지 일 수 있다. 예를 들어, 비트 심도에 의해 결정되는 화소값 범위에서 중앙값을 기설정된 화소값으로 이용하며, 비트 수가 10인 경우, 기설정된 화소값은 0부터 1023까지의 범위 중 512가 될 수 있다. 또한, 실제 영상을 구성하는 화소값의 범위 중 중앙값을 기설정된 화소값으로 이용할 수 있다. 예를 들어, 실제 영상을 구성하는 화소값의 범위가 최소값 x부터 최대값 y까지인 경우, 기설정된 화소값은 x부터 y까지의 범위 중 중앙값이 이용될 수 있다. 상술한 기설정된 화소값을 선택하는 방법은 하나의 예이므로, 이에 한정되는 것은 아니다.
다른 실시예로, 확장되는 영역이 영역의 경계에 위치하는 화소값으로 채워지는 경우, 영상의 오른쪽 경계 및 아래쪽 경계에 위치하는 화소가 사용될 수 있다. 다시 말해, 영상의 오른쪽 경계로부터 확장되는 영역은 영상의 오른쪽 경계에 위치하는 화소들을 가로 방향으로 복사하여 채워질 수 있으며, 영상의 아래쪽 경계로부터 확장되는 영역은 영상의 아래쪽 경계에 위치하는 화소들을 세로 방향으로 복사하여 채워질 수 있다. 영상의 오른쪽 아래 경계에서 확장되는 영역은 영상의 오른쪽 아래 경계에 위치하는 화소들을 대각선 방향으로 복사하여 채울 수 있다.
또한, 360도 영상 등과 같은 일부 영상에서는 확장하고자 하는 영역의 데이터를 3차원 공간 상{예를 들어, 구(sphere)}에서 연속성(또는 상관성)이 존재하는 영역으로부터 획득할 수 있다. 예를 들어, Equirectangular Projection과 같은 투영 포맷에서 영상의 오른쪽으로 확장되는 영역을 채울 경우, 확장되는 영역은 영상의 왼쪽에 위치하는 화소값들을 이용하여 채워질 수 있다. 이는 3차원 영상에서 2차원 공간으로 배치되는 설정으로 인해 영상 경계(즉, 2차원 공간 내에서)에 위치하지만 실제로는 상관성이 있는 데이터가 영상 내에 존재하는 경우에 대한 예일 수 있다.
데이터를 채우는 방법 중 360도 영상의 경우를 제외하면 확장되는 영역에 불필요한 데이터를 채워 영상을 확장한 후 부/복호화를 수행하는 경우에 해당될 수 있다.
도 14는 본 발명의 일 실시예에 따른 영상 크기 조정 방법을 설명하기 위한 제2 예시도이다.
영상의 확장되는 영역은 영상의 크기 및 기본 부호화 블록의 크기에 따라 결정될 수 있으며, 영상의 경계에 위치하는 기본 부호화 블록에서 확장되는 영역이 차지하는 비중이 기본 부호화 블록에서 실제 영상이 포함된 영역의 비중보다 작거나 클 수 있다.
도 14를 참조하면, 기본 부호화 블록의 크기는 64 × 64이고, 픽쳐의 크기가 기본 부호화 블록의 크기에 정수배가 되지 않는 경우, 픽쳐는 오른쪽 경계에서 가로 길이 10만큼 확장될 수 있으며, 아래쪽 경계에서 세로 길이 52만큼 확장될 수 있다. 다시 말해, 오른쪽 경계에서 확장된 영역은 해당 기본 부호화 블록 내에 위치하는 기존 영상의 영역보다 작을 수 있으며, 아래쪽 경계에서 확장된 영역은 해당 기본 부호화 블록 내에 위치하는 기존 영상의 영역보다 클 수 있다.
이에 따라, 픽쳐의 오른쪽 경계를 포함하는 기본 부호화 블록은 확장된 영역이 상대적으로 적으므로 부/복호화 성능 저하가 적을 수 있으나, 픽쳐의 아래쪽 경계를 포함하는 기본 부호화 블록은 확장된 영역이 상대적으로 크므로 부/복호화 성능 저하가 클 수 있다.
이러한 문제점을 해결하기 위해 블록 분할부에서 지원되는 블록 중 하나를 차용하는 방법 또는 확장되는 데이터를 최소화하는 방법이 사용될 수 있다. 블록 분할부에서 지원되는 블록 중 하나를 차용하는 방법은 앞서 설명하였으므로, 이하에서는 확장되는 데이터를 최소화하는 방법에 대하여 설명한다.
일 실시예로, 기본 부호화 블록은 쿼드 트리와 같은 단일 트리 분할이 지원되며, 최소 블록은 8 × 8이고, 블록 분할부를 통해 64 × 64, 32 × 32, 16 × 16 및 8 × 8 크기의 정사각 블록이 차용될 수 있다고 가정한다. 또한, 픽쳐의 경계 부분은 부/복호화 설정에 따라 상기 블록 중 하나에 맞춰 확장이 수행될 수 있고, 그에 따라 기본 부호화 블록이 (재)설정 또는 (재)조정될 수 있다고 가정한다. 여기서, 부/복호화 설정은 남은 크기보다 큰 블록 중 크기 차이가 적은 블록 또는 최소 개수로 구성할 수 있는 블록 등과 같을 수 있으나, 이에 한정되는 것은 아니다.
도 14를 참조하면, 픽쳐의 오른쪽 경계에는 54의 길이가 남을 수 있으며, 오른쪽 경계에 위치하는 블록의 크기는 54 × 64일 수 있다. 여기서, 오른쪽 경계에 위치하는 블록은 블록 분할부에서 지원 가능한 후보 블록 중 자신의 크기와 차이가 적은 64 × 64 크기의 블록을 차용하기 위해 오른쪽 경계에서 10의 길이만큼 확장할 수 있다. 따라서, 확장된 영역(64 × 64)은 1개의 조정된 기본 부호화 블록(64 × 64)으로 구성될 수 있으나, 조정된 기본 부호화 블록의 크기와 조정 전 기본 부호화 블록의 크기가 동일하므로, 픽쳐의 크기를 기본 부호화 블록 크기의 정수배에 맞추어 확장하는 경우와 동일할 수 있다.
픽쳐의 아래쪽 경계에는 12의 길이가 남을 수 있으며, 아래쪽 경계에 위치하는 블록의 크기는 64 × 12일 수 있다. 여기서, 아래쪽 경계에 위치하는 블록은 블록 분할부에서 지원 가능한 후보 블록 중 자신의 크기와 차이가 적은 16 × 16 크기의 블록을 차용하기 위해 아래쪽 경계에서 4의 길이만큼 확장할 수 있다. 따라서, 확장된 영역(64 × 16)은 4개의 조정된 기본 부호화 블록(16 × 16)으로 구성될 수 있다.
다른 실시예로, 기본 부호화 블록은 쿼드 트리 및 바이너리 트리와 같은 다중 트리 분할이 지원되며, 블록 분할부를 통해 64 × 64, 32 × 32, 16 × 16 및 8 × 8 크기의 정사각 블록뿐만 아니라 64 × 32, 32 × 64, 64 × 16, 16 × 64, 64 × 8, 8 × 64, 32 × 16, 16 × 32, 32 × 8, 8 × 32, 16 × 8 및 8 × 16 등과 같은 직사각 블록이 차용될 수 있다고 가정한다.
픽쳐의 오른쪽 경계에는 54의 길이가 남을 수 있으며, 오른쪽 경계에 위치하는 블록의 크기는 54 × 64일 수 있다. 여기서, 오른쪽 경계에 위치하는 블록은 자신의 가로 길이와 차이가 적은 64의 가로 길이를 가지는 후보 블록(64 × 64, 64 × 32, 64 × 16 및 64 × 8 크기의 블록) 중 최소 차이가 나는 64 × 64 크기의 블록을 차용하기 위해 오른쪽 경계에서 10의 길이만큼 확장할 수 있다.
픽쳐의 아래쪽 경계에는 12의 길이가 남을 수 있으며, 아래쪽 경계에 위치하는 블록의 크기는 64 × 12일 수 있다. 여기서, 아래쪽 경계에 위치하는 블록은 자신의 세로 길이와 차이가 적은 16의 세로 길이를 가지는 후보 블록(64 × 16, 32 × 16, 16 × 16 및 8 × 16 크기의 블록) 중 최소 차이가 나는 64 × 16 크기의 블록을 차용하기 위해 아래쪽 경계에서 4의 길이만큼 확장할 수 있다. 따라서, 확장된 영역(64 × 16)은 하나의 조정된 기본 부호화 블록(64 × 16)으로 구성될 수 있다.
다시 말해, 픽쳐는 픽쳐의 크기 및 기본 부호화 블록의 정수배 간의 차이에 따라 남은 길이를 기준으로 크기 차이가 적은 후보 블록을 차용하기 위해 확장될 수 있으며, 기본 부호화 블록은 크기 차이가 적은 후보 블록의 크기에 따라 (재)설정 또는 (재)조정될 수 있다.
영상 크기 조정 방법은 기본 부호화 블록 조정 방법과 비교하여 기본 부호화 블록을 조정할 수 있는 점이 유사할 수 있으나, 영상 크기를 확장하여 기본 부호화 블록을 조정하지 않을 수 있고, 기본 부호화 블록을 조정하여도 1차 조정만 수행될 수 있는 점에서 차이점이 존재한다.
또한, 기본 부호화 블록 조정 방법은 기존 영상 데이터만 부/복호화를 수행하고, 픽쳐의 기본 부호화 블록에 대한 정보(재조정되는 블록의 크기 또는 분할 정보 등)의 생성은 별도로 요구되지 않을 수 있다. 다시 말해, 불필요한 데이터에 대한 부/복호화 과정이 요구되지 않을 수 있다. 다만, 기본 부호화 블록 조정 방법은 픽쳐의 경계에서 가변적인 기본 부호화 블록을 구성하므로, 이에 따른 예외적인 처리로 인해 부/복호화 구조의 통일성을 해치는 문제점이 있다.
반면, 영상 크기 조정 방법은 픽쳐를 기본 부호화 블록의 정수배로 확장하는 경우 부/복호화 구조의 통일성을 유지할 수 있으나, 확장 과정에서 발생하는 불필요한 데이터를 부/복호화해야 하므로 부호화 성능의 저하를 초래할 수 있는 문제점이 있다.
도 15는 본 발명의 일 실시예에 따른 영상 크기를 조정하여 영상을 부호화하는 방법을 나타낸 순서도이다.
도 15를 참조하면, 본 발명의 일 실시예에 따른 영상 크기를 조정하는 영상 부호화 장치는 픽쳐의 크기 정보, 기본 부호화 블록의 크기 정보 및 블록 분할 정보를 설정할 수 있으며(S1510), 기본 부호화 블록의 크기의 정수배 또는 블록 분할 정보를 기초로 재설정된 기본 부호화 블록에 맞추어 픽쳐의 크기를 확장할 수 있다(S1520). 또한, 영상 부호화 장치는 블록 위치에 따라 확장된 픽쳐를 기본 부호화 블록 또는 재설정된 기본 부호화 블록 단위로 구획할 수 있으며(S1530), 블록 스캔 순서에 따라 기본 부호화 블록을 부호화할 수 있고(S1540), 부호화에 따른 비트스트림을 영상 복호화 장치로 송신할 수 있다.
또한, 본 발명의 일 실시예에 따른 영상 복호화 장치는 상술한 영상 부호화 장치와 대응되게 동작할 수 있다. 다시 말해, 영상 복호화 장치는 영상 부호화 장치로부터 수신한 비트스트림을 기초로 픽쳐의 크기 정보, 기본 부호화 블록의 크기 정보 및 블록 분할 정보를 복원할 수 있으며, 기본 부호화 블록의 크기의 정수배 또는 블록 분할 정보를 기초로 재설정된 기본 부호화 블록에 맞추어 픽쳐의 크기를 확장할 수 있다. 또한, 영상 복호화 장치는 블록 위치에 따라 확장된 픽쳐를 기본 부호화 블록 또는 재설정된 기본 부호화 블록 단위로 구획할 수 있으며, 블록 스캔 순서에 따라 기본 부호화 블록을 복호화할 수 있다.
여기서, 픽쳐의 확장은 기본 부호화 블록의 정수배에 맞춰 픽쳐의 오른쪽 또는 아래쪽과 같이 일부 방향으로 수행될 수 있거나 또는 블록 분할부에서 지원하는 블록 분할 설정에 따라 지원되는 블록 크기에 맞춰 수행될 수 있다.
또한, 스캔 순서는 상술한 바와 같이 증가된 기본 부호화 블록의 개수에 따라 재설정되는 다르게, 기본 부호화 블록이 재설정되어도 하나의 블록인 것이 동일하므로 스캔 순서에 변동이 없을 수 있다.
3. 적응적 영상 데이터 처리 방법
적응적 영상 데이터 처리 방법은 픽쳐의 크기가 기본 부호화 블록 크기의 정수배가 아닌 경우, 영상의 크기를 확장하고, 확장된 영역의 영상 부/복호화 데이터를 기존 영상의 영역에 기반하여 적응적으로 처리하는 방법이다. 다시 말해, 기존 영상의 영역에 기반하는 영상 부/복호화 데이터는 명시적인 처리를 수행하고, 확장된 영역에 기반하는 영상 부/복호화 데이터는 묵시적인 처리를 수행하는 방법이다.
도 16a 내지 도 16d는 본 발명의 일 실시예에 따른 적응적 영상 데이터 처리 방법을 설명하기 위한 예시도이다.
도 16a를 참조하면, 픽쳐의 크기는 392 × 272이고, 기본 부호화 블록의 크기는 64 × 64라고 가정한다. 이에 따라 픽쳐는 오른쪽 경계에 8의 가로 길이가, 아래쪽 경계에 16의 세로 길이가 남을 수 있으며, 가로 방향으로 56만큼 확장할 수 있고, 세로 방향으로 48만큼 확장할 수 있다. 확장된 픽쳐의 크기는 448 × 320일 수 있으며, 기본 부호화 블록의 크기의 정수배가 될 수 있다.
이하에서는 분할 설정에 따라 기본 부호화 블록으로부터 최적의 분할 형태를 획득하기 위해 생성되는 분할 정보의 명시적 처리 및 묵시적 처리 방법에 대해 설명한다.
이하에서 설명하는 각 과정은 설명의 편의를 위해 블록에 괄호 내의 순번을 표시할 수 있으며, 괄호 내의 순번과 함께 “-“ 뒤에 오는 숫자는 해당 과정이 수행되는 블록의 위치를 의미할 수 있다. 여기서, 블록의 위치를 의미하는 숫자는 쿼드 트리 분할에 따라 4개의 블록이 획득되는 경우, z 스캔 순서(좌상, 우상, 좌하 및 우하 순서)에 따라 할당된 인덱스(1, 2, 3 및 4)일 수 있으며, 바이너리 트리 분할에 따라 2개의 블록이 획득되는 경우, 상하 또는 좌우 순서로 할당된 인덱스(1 및 2)일 수 있다. 예를 들어, 쿼드 트리 분할에 따라 4개의 블록이 획득되는 경우, (2-1)은 제2 과정을 의미하며, 4개의 블록 중 좌상 블록에서 수행되는 것을 의미할 수 있다.
도 16b를 참조하면, 실제 영상은 블록의 왼쪽 위에 빗금 부분(8 × 16의 크기) 일 수 있고, 64 × 64 블록에서 빗금 부분을 제외한 나머지는 확장된 영역으로, 외곽 화소 패딩으로 채워지는 경우 패딩된 영역을 의미할 수 있다. 여기서, 기본 부호화 블록은 쿼드 트리와 같은 단일 트리 방식의 분할이 지원될 수 있으며, 최소 블록의 크기가 8 × 8인 경우, 블록 분할부를 통해 64 × 64, 32 × 32, 16 × 16 및 8 × 8 크기의 블록이 획득될 수 있다고 가정한다.
실제 영상은 블록 분할부를 통해 지원 가능한 블록 중 2개의 8 × 8 크기의 블록으로 구성될 수 있으며, 이에 따른 블록 분할 정보는 아래와 같은 과정에 따라 적응적으로 구성될 수 있다.
제1 과정은 64 × 64 크기의 블록(1)의 분할에 따른 후보를 획득하는 것이다. 여기서, 획득 가능한 블록은 64 × 64 및 32 × 32 크기의 블록일 수 있으나, 실제 영상의 데이터만 포함하는 블록을 획득하기 위해서는 무조건 분할을 수행하여야 하므로, 패딩된 데이터를 포함하는 64 × 64 크기의 블록은 후보에서 제외시킬 수 있다. 따라서, 후보는 32 × 32 크기의 블록만이 될 수 있다. 여기서, 분할 정보는 분할 여부에 따라 1 또는 0을 나타낼 수 있으나, 후보가 32 × 32 크기의 블록 하나이므로 무조건 분할을 수행하여야 한다. 따라서, 분할 정보는 값에 따른 명시적인 처리가 아닌 묵시적인 처리가 수행될 수 있다.
제2 과정은 32 × 32 크기의 좌상 블록(2-1), 우상 블록(2-2), 좌하 블록(2-3) 및 우하 블록(2-4) 각각의 분할에 따른 후보를 획득하는 것이다. 여기서, 각 블록에서 획득 가능한 블록은 32 × 32 및 16 × 16 크기의 블록일 수 있으나, 좌상 블록(2-1)의 경우 제1 과정에서와 동일한 이유로 후보는 16 × 16 크기의 블록만이 될 수 있으며, 우상 블록(2-2), 좌하 블록(2-3) 및 우하 블록(2-4)의 경우 패딩된 영역만을 포함하고 있으므로, 추가적인 분할이 무의미하여, 후보는 32 × 32 크기의 블록만이 될 수 있다. 따라서, 각 블록에 대하여 후보가 하나만이 존재하므로, 분할 정보는 묵시적으로 처리될 수 있다.
제3 과정은 16 × 16 크기의 좌상 블록(3-1), 우상 블록(3-2), 좌하 블록(3-3) 및 우하 블록(3-4) 각각의 분할에 따른 후보를 획득하는 것이다. 여기서, 각 블록에서 획득 가능한 블록은 16 × 16 및 8 × 8 크기의 블록일 수 있으나, 좌상 록(3-1)의 경우 제1 과정 및 제2 과정의 좌상 블록(2-1)과 동일한 이유로 후보는 8 × 8 크기의 블록만이 될 수 있으며, 우상 블록(3-2), 좌하 블록(3-3) 및 우하 블록(3-4)의 경우 제2 과정의 우상 블록(2-2), 좌하 블록(2-3) 및 우하 블록(2-4)과 동일한 이유로 후보는 16 × 16 크기의 블록만이 될 수 있다. 따라서, 각 블록에 대하여 후보가 하나만이 존재하므로, 분할 정보는 묵시적으로 처리될 수 있다.
제4 과정은 제3 과정의 좌상 블록(3-1)에서 수행된 분할로 인한 4개의 8 × 8 크기의 블록을 획득하는 것이다. 실제 영상의 데이터를 포함하는 블록의 크기는 8 × 16으로 좌상 블록(3-1)의 분할로 인한 8 × 8 크기의 블록보다 크지만, 왼쪽 위 및 왼쪽 아래의 8 × 8 크기의 블록으로 구성될 수 있으므로, 추가적인 분할은 수행되지 않을 수 있다.
상술한 제1 과정 내지 제4 과정에서 발생하는 분할 정보는 (8 × 8): 1-1-1-0-0-0-0-0-0과 같이 나타낼 수 있으며, 순서대로 제1 과정, 제2 과정의 좌상 블록, 제3 과정의 좌상 블록, 제3 과정의 우상 블록, 제3 과정의 좌하 블록, 제3 과정의 우하 블록, 제2 과정의 우상 블록, 제2 과정의 좌하 블록 및 제2 과정의 우하 블록에 대한 정보일 수 있다. 여기서, 분할 정보의 1 및 0은 쿼드 트리 분할에 따라 분할 여부를 나타내는 구문 요소일 수 있다.
다만, 상술한 제1 과정 내지 제4 과정에서 발생하는 분할 정보는 모두 묵시적으로 처리될 수 있다. 따라서, 실제 영상의 데이터에 기반하여 적응적인 부/복호화 데이터를 처리하는 경우, 명시적으로 처리되는 과정이 존재하지 않으므로 분할 정보는 존재하지 않을 수 있다. 이는 분할 정보의 생성 및 복원이 없어도 최적의 분할 형태를 확인할 수 있는 경우에 해당할 수 있다.
도 16c를 참조하면, 실제 영상은 블록의 위쪽에 빗금 부분(64 × 16의 크기) 일 수 있고, 64 × 64 블록에서 빗금 부분을 제외한 나머지는 확장된 영역으로, 외곽 화소 패딩으로 채워지는 경우 패딩된 영역을 의미할 수 있다. 여기서, 기본 부호화 블록은 바이너리 트리와 같은 단일 트리 방식의 분할이 지원될 수 있으며, 최소 블록의 한 쪽 길이가 8이고, 최대 분할 깊이가 3인 경우, 블록 분할부를 통해 64 × 64, 64 × 32, 32 × 64, 64 × 16, 16 × 64, 32 × 32, 64 × 8, 8 × 64, 32 × 16 및 16 × 32 크기의 블록이 획득될 수 있다고 가정한다. 여기서, 블록 분할 정보는 아래와 같은 과정에 따라 적응적으로 구성될 수 있다.
제1 과정은 64 × 64 크기의 블록(1)의 분할에 따른 후보를 획득하는 것이다. 여기서, 분할 깊이는 0에서 1로 증가할 수 있고, 획득 가능한 블록은 64 × 64, 64 × 32 및 32 × 64 크기의 블록일 수 있으나, 실제 영상의 데이터만 포함하는 블록을 획득하기 위해서는 무조건 분할을 수행하여야 하므로, 패딩된 데이터를 포함하는 64 × 64 크기의 블록은 후보에서 제외시킬 수 있다. 또한, 32 × 64 크기의 블록은 실제 영상 데이터만 포함하는 블록을 획득하기 위해 이후 단계에서의 각 블록의 가로 분할과 같은 추가적인 분할이 요구되므로 후보에서 제외시킬 수 있다. 다시 말해, 분할 횟수가 증가하므로, 32 × 64 크기의 블록은 후보에서 제외시킬 수 있다. 따라서, 후보는 64 × 32 크기의 블록만이 될 수 있으며, 블록에 대하여 후보가 하나만이 존재하므로, 분할 정보는 묵시적으로 처리될 수 있다.
제2 과정은 64 × 32 크기의 위쪽 블록(2-1) 및 아래쪽 블록(2-2) 각각의 분할에 따른 후보를 획득하는 것이다. 여기서, 분할 깊이는 1에서 2로 증가할 수 있고, 각 블록에서 획득 가능한 블록은 64 × 32, 64 × 16 및 32 × 32 크기의 블록일 수 있으나, 위쪽 블록(2-1)의 경우 제1 과정에서와 동일한 이유로 64 × 32 및 32 × 32 크기의 블록은 후보에서 제외시킬 수 있으므로, 후보는 64 × 16 크기의 블록만이 될 수 있으며, 아래쪽 블록(2-2)의 경우 패딩된 영역만을 포함하고 있으므로, 추가적인 분할이 무의미하여, 후보는 64 × 32 크기의 블록만이 될 수 있다. 따라서, 각 블록에 대하여 후보가 하나만 존재하므로, 분할 정보는 묵시적으로 처리될 수 있다.
제3 과정은 64 × 16 크기의 위쪽 블록(3-1) 및 아래쪽 블록(3-2) 각각의 분할에 따른 후보를 획득하는 것이다. 여기서, 분할 깊이는 2에서 3으로 증가할 수 있고, 각 블록에서 획득 가능한 블록은 64 × 16, 64 × 8 및 32 × 16 크기의 블록일 수 있으나, 위쪽 블록(3-1)의 경우, 실제 영상 데이터만을 포함하는 블록이 획득되었으므로, 64 × 16, 64 × 8 및 32 × 16 크기의 블록 중 하나가 최적의 분할 형태로 결정될 수 있고, 아래쪽 블록(3-2)의 경우, 패딩된 영역만을 포함하고 있으므로, 추가적인 분할이 무의미하여, 후보는 64 × 16 크기의 블록만이 될 수 있다.
제4 과정은 제3 과정의 위쪽 블록(3-1)의 분할에 따른 후보를 획득하는 것이나, 제3 과정의 위쪽 블록(3-1)에서 최적의 분할 형태가 결정되었으며, 한쪽 길이 및 분할 깊이 등의 최소 블록 조건에 도달하였으므로, 추가로 분할을 수행하지 않을 수 있다.
상술한 제1 과정 내지 제4 과정에서 발생하는 분할 정보는 64 × 16 크기의 블록을 최적의 분할 형태로 결정한 경우 (64 × 16): 1-0-1-0-0-0-0과 같이 나타낼 수 있으며, 64 × 8 크기의 블록을 최적의 분할 형태로 결정한 경우, (64 × 8): 1-0-1-0-1-0-0-0과 같이 나타낼 수 있고, 32 × 16 크기의 블록을 최적의 분할 형태로 결정한 경우, (32 × 16): 1-0-1-0-1-1-0-0과 같이 나타낼 수 있다. 여기서, 분할 정보는 순서대로 제1 과정, 제2 과정의 위쪽 블록, 제3 과정의 위쪽 블록, 제3 과정의 아래쪽 블록 및 제2 과정의 아래쪽 블록에 대한 정보일 수 있다.
보다 상세히 설명하면, 분할 정보는 제1 과정에서의 분할 여부 및 분할 방향에 대한 2개의 구문 요소, 제2 과정의 위쪽 블록에서의 분할 여부 및 분할 방향에 대한 2개의 구문 요소, 제3 과정의 위쪽 블록에서의 분할 여부 및 분할 방향에 대한 2개의 구문 요소, 제3 과정의 아래쪽 블록에서의 분할 여부에 대한 1개의 구문 요소 및 제2 과정의 아래쪽 블록에서의 분할 여부에 대한 1개의 구문 요소를 포함할 수 있고, 분할 여부에 대한 구문 요소는 0인 경우 분할을 수행하지 않고 1인 경우 분할을 수행하는 것을 나타낼 수 있으며, 분할 방향에 대한 구문 요소는 0인 경우 가로 방향을 나타내고, 1인 경우 세로 방향을 나타낼 수 있다.
다만, 상술한 제1 과정 내지 제4 과정에서 발생하는 분할 정보 중 제3 과정의 위쪽 블록은 명시적으로 처리될 수 있고, 나머지는 모두 묵시적으로 처리될 수 있다. 따라서, 실제 영상의 데이터에 기반하여 적응적인 부/복호화 데이터를 처리하는 경우, 분할 정보는 64 × 16 크기의 블록을 최적의 분할 형태로 결정한 경우 (64 × 16): 0과 같이 나타낼 수 있으며, 64 × 8 크기의 블록을 최적의 분할 형태로 결정한 경우, (64 × 8): 1-0과 같이 나타낼 수 있고, 32 × 16 크기의 블록을 최적의 분할 형태로 결정한 경우, (32 × 16): 1-1과 같이 나타낼 수 있다.
다시 말해, 묵시적으로 처리되는 경우를 제외하고 명시적으로 처리되는 제3 과정의 위쪽 블록에서 발생하는 분할 정보로 기본 부호화 블록에서 최적의 분할 형태를 확인할 수 있다. 다만, 상술한 바는 분할 정보 중 일부가 묵시적으로 처리되는 경우를 설명하였으나, 블록 분할 설정에 따라 64 × 16이 최소 블록 조건을 만족한 경우였다면 모든 분할 정보가 묵시적으로 처리될 수도 있다.
도 16d를 참조하면, 실제 영상은 블록의 왼쪽에 빗금 부분(8 × 64의 크기) 일 수 있고, 64 × 64 블록에서 빗금 부분을 제외한 나머지는 확장된 영역으로, 외곽 화소 패딩으로 채워지는 경우 패딩된 영역을 의미할 수 있다. 여기서, 기본 부호화 블록은 쿼드 트리 및 바이너리 트리와 같은 다중 트리 방식의 분할이 지원될 수 있다. 쿼드 트리의 분할 설정은 최대 블록의 크기가 기본 부호화 블록의 크기와 동일한 64 × 64이며, 최소 블록의 크기가 16 × 16일 수 있고, 바이너리 트리의 분할 설정은 최대 블록의 크기가 32 × 32이며, 최소 블록은 한쪽 길이가 4이고, 최대 분할 깊이가 3일 수 있다. 또한, 각 트리 분할의 발생 범위가 중첩되는 경우에는 트리 분할의 우선 순위(예를 들어, 쿼드 트리 분할이 바이너리 트리 분할보다 우선)에 따라 수행될 수 있으며, 블록 분할부를 통해 64 × 64, 32 × 32, 32 × 16, 16 × 32, 32 × 8, 8 × 32, 16 × 16, 32 × 4, 4 × 32, 16 × 8 및 8 × 16 크기의 블록이 획득될 수 있다고 가정한다. 여기서, 블록 분할 정보는 아래와 같은 과정에 따라 적응적으로 구성될 수 있다.
제1 과정은 64 × 64 크기의 블록(1)의 분할에 따른 후보를 획득하는 것이다. 여기서, 획득 가능한 블록은 64 × 64 및 32 × 32 크기의 블록일 수 있으나, 실제 영상의 데이터만 포함하는 블록을 획득하기 위해서는 무조건 분할을 수행하여야 하므로, 패딩된 데이터를 포함하는 64 × 64 크기의 블록은 후보에서 제외시킬 수 있다. 기존의 경우 쿼드 트리 분할 여부, 바이너리 트리 분할 여부 및 바이너리 트리 분할 방향에 대한 정보 등의 분할 정보가 발생할 수 있으나, 일 실시예에서는 쿼드 트리 분할에 따른 하나의 후보(32 × 32 크기의 블록)만이 지원 가능하므로, 분할 정보는 묵시적으로 처리될 수 있다.
제2 과정은 32 × 32 크기의 좌상 블록(2-1), 우상 블록(2-2), 좌하 블록(2-3) 및 우하 블록(2-4) 각각의 분할에 따른 후보를 획득하는 것이다. 여기서, 쿼드 트리 분할을 수행하는 경우, 각 블록에서 획득 가능한 블록은 32 × 32 및 16 × 16 크기의 블록일 수 있고, 바이너리 트리 분할을 수행하는 경우, 분할 깊이가 0에서 1로 증가하며, 각 블록에서 획득 가능한 블록은 32 × 16 및 16 × 32 크기의 블록일 수 있다.
좌상 블록(2-1) 및 좌하 블록(2-3)의 경우, 후보 블록 중 32 × 32 크기의 블록은 무조건 분할을 수행하여야 하므로 후보군에서 제외할 수 있으며, 분할되는 32 × 16 및 16 × 16 크기의 블록은 실제 영상의 데이터를 포함하는 블록을 획득하기 위해 이후 단계에서의 각 블록의 세로 분할과 같은 추가적인 분할이 요구되므로 분할 횟수가 증가하여 후보군에서 제외될 수 있다. 여기서, 실제 영상의 데이터를 포함하는 블록의 크기는 8 × 64일 수 있으나, 제1 과정에서 쿼드 트리로 분할되었으므로 8 × 32의 크기를 실제 영상의 데이터를 포함하는 블록의 크기로 볼 수 있다. 따라서, 각 블록에 대하여 후보는 16 × 32 크기의 블록 하나만이 존재할 수 있다. 다만, 16 × 32 크기의 블록도 이후 단게에서 추가적인 분할이 요구되나, 다른 후보 블록과 비교하여 실제 영상의 데이터를 포함하는 블록에 도달하기 위해 더 적은 횟수의 분할이 수행되므로, 최적의 후보는 16 × 32 크기의 블록이 될 수 있다.
최적의 후보(16 × 32 크기의 블록)를 획득하기 위한 분할 정보는 다중 트리 분할 중 앞선 우선 순위를 갖는 쿼드 트리 분할에서 분할이 수행되지 않아야 하고, 다음 우선 순위를 갖는 바이너리 트리 분할에서 분할이 수행되며, 분할 방향은 세로가 될 수 있다. 여기서, 분할 정보는 바이너리 트리 분할에서 분할 여부 정보 및 분할 방향 정보를 포함하였으나, 쿼드 트리 분할 및 바이너리 트리 분할이 중첩되는 경우에는 앞선 우선 순위를 갖는 쿼드 트리 분할에서 32 × 32 크기의 블록을 후보로 가지므로, 바이너리 트리에서 32 × 32 크기의 블록에 대한 후보 지원이 요구되지 않을 수 있다. 다시 말해, 쿼드 트리 분할 및 바이너리 트리 분할이 중첩되는 경우, 분할 정보는 바이너리 트리 분할에 대한 분할 여부 정보가 생략될 수 있고, 분할 방향 정보만이 포함될 수 있다. 따라서, 최적의 후보가 하나만 존재하므로, 분할 정보는 묵시적으로 처리될 수 있다.
우상 블록(2-2) 및 우하 블록(2-4)은 패딩된 영역만을 포함하고 있으므로, 추가적인 분할이 무의미하여, 후보는 32 × 32 크기의 블록만이 될 수 있다. 따라서, 후보가 하나만 존재하므로, 분할 정보는 묵시적으로 처리될 수 있다.
제3 과정은 좌상 블록(2-1)에서 획득된 16 × 32 크기의 왼쪽 블록(3-1-1) 및 오른쪽 블록(3-1-2)과 좌하 블록(2-3)에서 획득된 16 × 32 크기의 왼쪽 블록(3-2-1) 및 오른쪽 블록(3-2-2) 각각의 분할에 따른 후보를 획득하는 것이다. 여기서, 분할 깊이는 1에서 2로 증가할 수 있고, 블록에서 획득 가능한 블록은 16 × 32, 16 × 16 및 8 × 32 크기의 블록일 수 있다.
왼쪽 블록(3-1-1)의 경우, 제2 과정의 좌상 블록(2-1)과 동일한 이유로 16 × 32 및 16 × 16 크기의 블록은 후보군에서 제외시킬 수 있으며, 8 × 32 크기의 블록만이 후보가 될 수 있다. 여기서, 기존의 경우 분할 정보는 바이너리 트리 분할에서 분할 여부 정보 및 분할 방향 정보를 포함하였으나, 세로 방향의 2분할이 무조건 수행되므로, 분할 정보는 묵시적으로 처리될 수 있다. 상술한 과정에서 획득된 8 × 32 크기의 블록은 실제 영상의 데이터만을 포함하는 블록일 수 있다.
오른쪽 블록(3-1-2)은 패딩된 영역만을 포함하고 있으므로, 추가적인 분할이 무의미하여, 후보는 16 × 32 크기의 블록만이 될 수 있다. 따라서, 후보가 하나만 존재하므로, 분할 정보는 묵시적으로 처리될 수 있다.
왼쪽 블록(3-2-1)의 경우, 왼쪽 블록(3-1-1)과 동일한 과정을 통해 분할 정보가 묵시적으로 처리될 수 있으며, 획득된 8 × 32 크기의 블록은 실제 영상의 데이터만을 포함하는 블록일 수 있다.
오른쪽 블록(3-2-2)는 패딩된 영역만을 포함하고 있으므로, 추가적인 분할이 무의미하여, 후보는 16 × 32 크기의 블록만이 될 수 있다. 따라서, 후보가 하나만 존재하므로, 분할 정보는 묵시적으로 처리될 수 있다.
제4 과정은 왼쪽 블록(3-1-1)에서 획득된 8 × 32 크기의 왼쪽 블록(4-1-1) 및 오른쪽 블록(4-1-2)과 왼쪽 블록(3-2-1)에서 획득된 8 × 32 크기의 왼쪽 블록(4-2-1) 및 오른쪽 블록(4-2-2) 각각의 분할에 따른 후보를 획득하는 것이다. 여기서, 분할 깊이는 2에서 3으로 증가할 수 있고, 블록에서 획득 가능한 블록은 8 × 32, 8 × 16 및 4 × 32 크기의 블록일 수 있으나, 왼쪽 블록(4-1-1) 및 왼쪽 블록(4-2-1)의 경우, 실제 영상 데이터만을 포함하는 블록이 획득되었으므로, 8 × 32, 8 × 16 및 4 × 32 크기의 블록 중 하나가 최적의 분할 형태로 결정될 수 있고, 오른쪽 블록(4-1-2) 및 오른쪽 블록(4-2-2)이 경우, 패딩된 영역만을 포함하고 있으므로, 추가적인 분할이 무의미하여, 후보는 8 × 32 크기의 블록만이 될 수 있다. 여기서, 왼쪽 블록(4-1-1) 및 왼쪽 블록(4-2-1)의 경우의 분할 정보는 최적의 분할 형태 결정에 따라 명시적으로 처리될 수 있으며, 오른쪽 블록(4-1-2) 및 오른쪽 블록(4-2-2)이 경우, 하나의 후보만이 존재하므로 묵시적으로 처리될 수 있다.
상술한 제1 과정 내지 제4 과정에서 발생하는 분할 정보는 8 × 32 크기의 블록을 최적의 분할 형태로 결정한 경우 (8 × 32): 1-0-1-1-1-0-0-0-0-0-1-1-1-0-0-0-0과 같이 나타낼 수 있으며, 8 × 16 크기의 블록을 최적의 분할 형태로 결정한 경우, (8 × 16): 1-0-1-1-1-1-0-0-0-0-0-1-1-1-0-0-0-0과 같이 나타낼 수 있고, 4 × 32 크기의 블록을 최적의 분할 형태로 결정한 경우, (4 × 32): 1-0-1-1-1-1-1-0-0-0-0-1-1-1-0-0-0-0과 같이 나타낼 수 있다. 여기서, 분할 정보는 순서대로 제1 과정, 제2 과정의 좌상 블록(2-1), 제3 과정의 왼쪽 블록(3-1-1), 제4 과정의 왼쪽 블록(4-1-1), 제4 과정의 오른쪽 블록(4-1-2), 제3 과정의 오른쪽 블록(3-1-2), 제2 과정의 우상 블록(2-2), 제2 과정의 좌하 블록(2-3), 제3 과정의 왼쪽 블록(3-2-1), 제4 과정의 왼쪽 블록(4-2-1), 제4 과정의 오른쪽 블록(4-2-2), 제3 과정의 오른쪽 블록(3-2-2) 및 제2 과정의 우하 블록(2-4)에 대한 정보일 수 있다.
보다 상세히 설명하면, 분할 정보는 제1 과정에서의 분할 여부에 대한 1개의 구문 요소, 제2 과정의 좌상 블록(2-1)에서의 분할 여부 및 분할 방향에 대한 2개의 구문 요소, 제3 과정의 왼쪽 블록(3-1-1)에서의 분할 여부 및 분할 방향에 대한 2개의 구문 요소, 제4 과정의 왼쪽 블록(4-1-1)에서의 분할 여부에 대한 1개의 구문 요소, 제4 과정의 왼쪽 블록(4-1-2)에서의 분할 여부에 대한 1개의 구문 요소, 제3 과정의 오른쪽 블록(3-1-2)에서의 분할 여부에 대한 1개의 구문 요소, 제2 과정의 우상 블록(2-2)에서의 분할 여부에 대한 1개의 구문 요소, 제2 과정의 좌하 블록(2-3)에서의 분할 여부 및 분할 방향에 대한 2개의 구문 요소, 제3 과정의 왼쪽 블록(3-2-1)에서의 분할 여부 및 분할 방향에 대한 2개의 구문 요소, 제4 과정의 왼쪽 블록(4-2-1)에서의 분할 여부에 대한 1개의 구문 요소, 제4 과정의 왼쪽 블록(4-2-2)에서의 분할 여부에 대한 1개의 구문 요소, 제3 과정의 오른쪽 블록(3-2-2)에서의 분할 여부에 대한 1개의 구문 요소 및 제2 과정의 우하 블록(2-4)에서의 분할 여부에 대한 1개의 구문 요소를 포함할 수 있고, 분할 여부에 대한 구문 요소는 0인 경우 분할을 수행하지 않고 1인 경우 분할을 수행하는 것을 나타낼 수 있으며, 분할 방향에 대한 구문 요소는 0인 경우 가로 방향을 나타내고, 1인 경우 세로 방향을 나타낼 수 있다.
다만, 상술한 제1 과정 내지 제4 과정에서 발생하는 분할 정보 중 제4 과정의 왼쪽 블록(4-1-1 및 4-2-1)은 명시적으로 처리될 수 있고, 나머지는 모두 묵시적으로 처리될 수 있다. 따라서, 실제 영상의 데이터에 기반하여 적응적인 부/복호화 데이터를 처리하는 경우, 분할 정보는 8 × 32 크기의 블록을 최적의 분할 형태로 결정한 경우 (8 × 32): 0-0과 같이 나타낼 수 있으며, 8 × 16 크기의 블록을 최적의 분할 형태로 결정한 경우, (8 × 16): 1-0-0과 같이 나타낼 수 있고, 4 × 32 크기의 블록을 최적의 분할 형태로 결정한 경우, (4 × 32): 1-1-1과 같이 나타낼 수 있다.
다시 말해, 묵시적으로 처리되는 경우를 제외하고 명시적으로 처리되는 제4 과정의 왼쪽 블록(4-1-1 및 4-2-1)에서 발생하는 분할 정보로 기본 부호화 블록에서 최적의 분할 형태를 확인할 수 있다.
이하에서는, 적응적인 영상 데이터 처리 방법이 다르게 적용되는 경우에 대하여 설명한다.
4-1. 복수의 분할 방법에 따른 적응적 영상 데이터 처리 방법 1
도 17a 내지 도 17f는 본 발명의 일 실시예에 따른 복수의 분할 방법에 따른 적응적 영상 데이터 처리 방법을 설명하기 위한 제1 예시도이다.
쿼드 트리 분할 및 바이너리 트리 분할을 다시 설명하면, 쿼드 트리는 무방향성을 갖는 트리 분할로 획득되는 복수의 서브 블록이 특정 방향성을 갖지 않는 분할을 의미할 수 있고, 바이너리 트리는 방향성을 갖는 트리 분할로 획득되는 복수의 서브 블록이 가로 또는 세로와 같은 특정 방향성을 갖는 분할을 의미할 수 있다. 따라서, 바이너리 트리의 경우 분할 정보에 분할 방향에 대한 정보가 추가로 발생될 수 있다.
다중 트리 방식의 분할은 쿼드 트리 분할 및 바이너리 트리 분할이 모두 지원되는 방식을 의미할 수 있으나, 그 외의 트리에 따른 분할이 지원될 수도 있으므로, 이에 한정되는 것은 아니다.
여기서, 블록(64 × 64)은 다중 트리 방식의 분할이 지원될 수 있으며, 쿼드 트리의 분할 설정에서 최대 블록은 기본 부호화 블록과 동일한 64 × 64이며, 최소 블록은 16 × 16이고, 바이너리 트리의 분할 설정에서 최대 블록은 32 × 32이며, 최소 블록은 한 쪽 길이가 4이고, 최대 분할 깊이가 3일 수 있다. 또한, 트리 분할에 대한 우선 순위가 존재할 수 있으며, 쿼드 트리 분할과 바이너리 트리 분할이 중첩되는 범위에서 쿼드 트리가 앞선 순위를 가질 수 있으나, 이에 한정되는 것은 아니다.
도 17a를 참조하면, 블록에서 실제 영상의 데이터는 빗금친 영역(32 × 16)일 수 있다. 우선, 블록(1)은 쿼드 트리 분할이 수행될 수 있으며, 이에 따라 4개의 32 × 32 크기의 블록이 획득될 수 있다. 또한, 4개의 32 × 32 크기의 블록 중 좌상 블록(2)은 바이너리 트리 분할이 수행될 수 있으며, 이에 따라 2개의 32 × 16 크기의 블록이 획득될 수 있다. 여기서, 2개의 32 × 16 크기의 블록 중 위쪽 블록(3)은 실제 영상의 데이터만을 포함할 수 있으며, 분할 정보는 상술한 바와 같이 묵시적으로 처리될 수 있다. 다시 말해, 분할 정보는 적응적으로 처리될 수 있다.
도 17b를 참조하면, 블록에서 실제 영상의 데이터는 빗금친 영역(8 × 8)일 수 있다. 우선, 블록(1)은 쿼드 트리 분할이 수행될 수 있으며, 이에 따라 4개의 32 × 32 크기의 블록이 획득될 수 있다. 또한, 4개의 32 × 32 크기의 블록 중 좌상 블록(2)은 다시 쿼드 트리 분할이 수행될 수 있으며, 이에 따라 4개의 16 × 16 크기의 블록이 획득될 수 있다. 4개의 16 × 16 크기의 블록 중 좌상 블록(3)은 세로 방향의 바이너리 트리 분할이 수행될 수 있으며, 이에 따라 2개의 8 × 16 크기의 블록이 획득될 수 있다. 또한, 2개의 8 × 16 크기의 블록 중 왼쪽 블록(4)은 가로 방향의 바이너리 트리 분할이 수행될 수 있으며, 이에 따라 2개의 8 × 8 크기의 블록이 획득될 수 있다. 여기서, 2개의 8 × 8 크기의 블록 중 위쪽 블록(5)은 실제 영상의 데이터만을 포함할 수 있으며, 분할 정보는 상술한 바와 같이 묵시적으로 처리될 수 있다. 다시 말해, 분할 정보는 적응적으로 처리될 수 있다.
도 17c를 참조하면, 블록에서 실제 영상의 데이터는 도 17b와 같이 빗금친 영역(8 × 8)일 수 있다. 우선, 블록(1)은 쿼드 트리 분할이 수행될 수 있으며, 이에 따라 4개의 32 × 32 크기의 블록이 획득될 수 있다. 또한, 4개의 32 × 32 크기의 블록 중 좌상 블록(2)은 다시 쿼드 트리 분할이 수행될 수 있으며, 이에 따라 4개의 16 × 16 크기의 블록이 획득될 수 있다. 4개의 16 × 16 크기의 블록 중 좌상 블록(3)은 다시 쿼드 트리 분할이 수행될 수 있으며, 이에 따라 4개의 8 × 8 크기의 블록이 획득될 수 있다. 여기서, 4개의 8 × 8 크기의 블록 중 좌상 블록(4)은 실제 영상의 데이터만을 포함할 수 있으며, 분할 정보는 상술한 바와 같이 묵시적으로 처리될 수 있다. 다시 말해, 분할 정보는 적응적으로 처리될 수 있다.
도 17b 및 도 17c를 살펴보면, 두 블록의 실제 영상의 데이터 영역은 동일할 수 있으나, 도 17b는 블록(5)를 획득하기 위해 블록(3)에서 두 번의 바이너리 트리 분할을 수행하고, 도 17c는 한 번의 쿼드 트리 분할을 수행하여 획득될 수 있다. 따라서, 도 17c의 경우가 분할 횟수를 고려하면 보다 효율적일 수 있다.
다만, 쿼드 트리 분할의 최소 블록의 크기가 16 × 16이므로, 도 14c에서 마지막 쿼드 트리 분할은 제한될 수 있다. 다시 말해, 해당 블록에서는 쿼드 트리 분할을 수행할 수 없고, 바이너리 트리 분할만이 수행될 수 있다.
이러한 문제점을 해결하기 위해서는 픽쳐 경계에 속한 기본 부호화 블록에서의 블록 분할 설정을 픽쳐 내부에서의 블록 분할 설정과 예외적으로 다르게 둘 수 있다. 예를 들어, 픽쳐의 오른쪽 아래 경계에 위치한 기본 부호화 블록의 경우 실제 영상 데이터를 포함하는 영역의 가로 및 세로 길이가 분할 전 블록의 가로 및 세로 길이의 1/2이 넘지 않을 경우, 쿼드 트리 분할이 허용될 수 있다.
상술한 예외적인 블록 분할 설정에 따를 경우, 도 17c의 블록은 실제 영상의 데이터를 포함하는 영역의 크기가 8 × 8이며, 분할 전 블록의 크기가 16 × 16이므로, 실제 영상의 데이터를 포함하는 영역의 크기가 분할 전 블록의 크기의 1/2를 넘지 않음에 따라 세 번째 쿼드 트리 분할이 수행될 수 있다. 다시 말해, 도 17c의 경우 일부 블록 분할 설정에서 쿼드 트리의 최소 블록의 크기가 8 × 8로 변경된 경우일 수 있다.
도 17d를 참조하면, 블록에서 실제 영상의 데이터는 빗금친 영역(48 × 8)일 수 있다. 우선, 블록(1)은 쿼드 트리 분할이 수행될 수 있으며, 이에 따라 4개의 32 × 32 크기의 블록이 획득될 수 있다. 여기서, 4개의 32 × 32 크기의 블록 중 좌상 블록(2-1) 및 우상 블록(2-2)가 실제 영상의 데이터를 포함하고 있으므로, 좌상 블록(2-1) 및 우상 블록(2-2) 각각에 대하여 추가 분할이 개별적으로 수행될 수 있다.
두 블록에 대한 추가 분할을 살펴보면, 좌상 블록(2-1)은 가로 방향의 바이너리 트리 분할이 수행될 수 있으며, 이에 따라 2개의 32 × 16 크기의 블록이 획득될 수 있다. 2개의 32 ×16 크기의 블록 중 위쪽 블록(3-1)은 다시 가로 방향의 바이너리 트리 분할이 수행될 수 있으며, 이에 따라 2개의 32 × 8 크기의 블록이 획득될 수 있다. 여기서, 32 × 8 크기의 블록 중 위쪽 블록(4-1)은 실제 영상의 데이터만을 포함할 수 있다.
우상 블록(2-2)은 가로 방향의 바이너리 트리 분할이 수행될 수 있으며, 이에 따라 2개의 32 × 16 크기의 블록이 획득될 수 있다. 2개의 32 × 16 크기의 블록 중 위쪽 블록(3-2)은 세로 방향의 바이너리 트리 분할이 수행될 수 있으며, 이에 따라 2개의 16 × 16 크기의 블록이 획득될 수 있다. 또한, 2개의 16 × 16 크기의 블록 중 왼쪽 블록(4-2)는 다시 가로 방향의 바이너리 트리 분할이 수행될 수 있으며, 이에 따라 2개의 16 × 8 크기의 블록이 획득될 수 있다. 여기서, 16 × 8 크기의 블록 중 위쪽 블록(5)은 실제 영상의 데이터만을 포함할 수 있다. 다시 말해, 도 17d의 블록은 실제 영상의 데이터만을 포함하는 블록을 획득하기 위해 분할 횟수가 증가할 수 있으며, 이는 복잡도 증가의 원인이 될 수 있다.
도 17e를 참조하면, 블록에서 실제 영상의 데이터는 도 17d와 같이 빗금친 영역(48 × 8)일 수 있다. 블록(1)은 가로 방향의 바이너리 트리 분할이 수행될 수 있으며, 이에 따라 2개의 64 × 32 크기의 블록이 획득될 수 있다. 2개의 64 × 32 크기의 블록 중 위쪽 블록(2)은 다시 가로 방향의 바이너리 트리 분할이 수행될 수 있으며, 이에 따라 2개의 64 × 16 크기의 블록이 획득될 수 있다. 2개의 64 × 16 크기의 블록 중 위쪽 블록(3)은 다시 가로 방향의 바이너리 트리 분할이 수행될 수 있으며, 이에 따라 2개의 64 × 8 크기의 블록이 획득될 수 있다. 이러한 과정에 따라 실제 영상의 데이터만을 포함하는 블록을 획득하는 경우에는 도 14d 보다 더 적은 분할 과정이 요구되어 효율적일 수 있다.
다만, 블록 분할 설정으로 인해 초기 블록 분할 단계에서는 쿼드 트리 분할만이 지원될 수 있으며, 이에 따라 초기 블록에서는 바이너리 트리 분할을 수행할 수 없고 쿼드 트리 분할만이 허용될 수 있다.
이러한 문제점을 해결하기 위해서는 픽쳐 경계에 속한 기본 부호화 블록에서의 블록 분할 설정을 픽쳐 내부에서의 블록 분할 설정과 예외적으로 다르게 둘 수 있다. 예를 들어, 픽쳐의 오른쪽 아래 경계에 위치한 기본 부호화 블록의 경우 실제 영상 데이터를 포함하는 영역의 가로 및 세로 길이가 분할 전 블록의 가로 및 세로 길이의 1/2이 넘을 경우, 바이너리 트리 분할이 허용될 수 있다. 여기서, 가로 길이가 1/2를 넘을 경우, 가로 방향의 바이너리 트리 분할이 허용될 수 있으며, 세로 길이가 1/2를 넘을 경우, 세로 방향의 바이너리 트리 분할이 허용될 수 있다. 다만, 상술한 분할 설정은 터너리 트리 및 비대칭 바이너리 트리 등과 같은 방향이 요구되는 트리 분할에 공통으로 적용될 수 있으므로, 이에 한정되는 것은 아니다.
상술한 예외적인 블록 분할 설정에 따를 경우, 도 17e의 블록은 실제 영상의 데이터를 포함하는 영역의 크기가 48 × 8이며, 분할 전 블록의 크기가 64 × 64이므로, 실제 영상의 데이터를 포함하는 영역의 크기가 분할 전 블록의 크기의 1/2를 넘음에 따라 바이너리 트리 분할이 수행될 수 있다. 다시 말해, 도 17e의 경우 일부 블록 분할 설정에서 바이너리 트리의 최대 블록의 크기가 64 × 64로 변경된 경우일 수 있다.
여기서, 실제 영상 데이터를 포함하는 영역의 가로 및 세로 길이가 블록 분할 전 가로와 세로 길이의 1/2이 넘을 경우에는 쿼드 트리 분할이 바이너리 트리 분할보다 더 적은 분할 횟수가 요구될 수 있다.
상술한 바에 따른 블록 분할 설정은 픽쳐의 오른쪽 아래 경계에서 실제 영상 데이터를 포함하는 영역의 가로 및 세로 길이 모두가 분할 전 블록의 가로와 세로 길이의 1/2을 초과하는 경우와 가로 및 세로 길이 모두가 분할 전 블록의 가로와 세로 길이의 1/2 이하인 경우에는 쿼드 트리 분할이 허용될 수 있고, 가로 및 세로 길이 중 하나만이 분할 전 블록의 가로 및 세로 길이 중 하나의 길이의 1/2를 초과하는 경우에는 가로 또는 세로 방향의 바이너리 트리 분할이 허용될 수 있다. 블록 분할 설정이 상술한 바에 따른 분할을 허용하지 않는 경우, 해당 블록 설정에 대한 예외적인 처리(일부 분할 설정 변경)가 가능할 수 있다. 따라서, 변경된 분할 설정에 따라 유연한 블록 분할이 가능할 수 있다.
블록 분할 설정은 일부 경계 외에 다른 경계에서 다음과 같이 분할을 허용할 수 있다. 블록 분할 설정은 픽쳐의 아래쪽 경계에서 실제 영상 데이터를 포함하는 영역의 세로 길이와 관계없이 가로 방향의 바이너리 트리가 허용될 수 있고, 픽쳐의 오른쪽 경계에서 실제 영상 데이터를 포함하는 영역의 가로 길이와 관계없이 세로 방향의 바이너리 트리가 허용될 수 있다.
다시 말해, 픽쳐의 오른쪽 아래 경계에서는 쿼드 트리 또는 바이너리 트리 분할이 가능할 수 있다. 또한, 픽쳐의 아래쪽과 오른쪽 경계에서는 경계와 평행한 분할 방향의 바이너리 트리 분할이 가능할 수 있으며, 쿼드 트리 분할도 가능할 수 있으나, 경계와 수직인 분할 방향의 바이너리 트리 분할은 불가능할 수 있다. 본 발명의 설명은 분할 전 블록이 실제 영상의 데이터와 패딩된 영상을 함께 포함하고 있는 경우를 가정한 것으로, 분할 전 블록이 실제 영상의 데이터만을 포함하고 있는 경우에는 적용이 불가능할 수 있다.
바이너리 트리 분할의 최대 블록 크기가 32 × 32인 경우, 최소 블록 크기 설정(한 쪽 길이가 4 및 최대 분할 깊이가 3)에 맞춰 획득 가능한 블록의 크기는 32 × 32, 32 × 16, 16 × 32, 32 × 8, 8 × 32, 16 × 16, 32 × 4, 4 × 32, 16 × 8 및 8 × 16일 수 있다. 다만, 도 17e와 같이 바이너리 트리 분할의 최대 블록 크기가 32 × 32에서 64 × 64로 변경됨에 따라 획득 가능한 블록의 크기는 64 × 64, 64 × 32, 32 × 64, 64 × 16, 16 × 64, 32 × 32, 64 × 8, 8 × 64, 32 × 16 및 16 × 32일 수 있다. 따라서, 기존 블록 분할 설정에서 획득 가능한 블록 중 일부는 변경된 블록 분할 설정에서 획득이 불가능할 수 있다.
여기서, 최대 블록의 크기뿐만 아니라 최소 블록의 한 쪽 길이 또는 최대 분할 깊이 등과 같은 다른 블록 분할 설정이 변경될 수도 있으며, 이에 따라 픽쳐 경계의 기본 부호화 블록에서 블록 분할이 수행될 수 있다.
도 17f를 참조하면, 블록에서 실제 영상의 데이터는 도 17d 및 도 17e와 같이 빗금친 영역(48 × 8)일 수 있다. 상술한 블록 분할 설정에 따르는 경우 블록(1)은 가로 방향의 바이너리 트리 분할이 수행될 수 있으며, 이에 따라 2개의 64 × 32 크기의 블록이 획득될 수 있다. 2개의 64 × 32 크기의 블록 중 위쪽 블록(2)은 다시 가로 방향의 바이너리 트리 분할이 수행될 수 있으며, 이에 따라 2개의 64 × 16 크기의 블록이 획득될 수 있다. 2개의 64 × 16 크기의 블록 중 위쪽 블록(3)은 다시 가로 방향의 바이너리 트리 분할이 수행될 수 있으며, 이에 따라 2개의 64 × 8 크기의 블록이 획득될 수 있다. 또한, 2개의 64 × 8 크기의 블록 중 위쪽 블록(4)은 세로 방향의 바이너리 트리 분할이 수행될 수 있으며, 이에 따라 2개의 32 × 8 크기의 블록이 획득될 수 있다. 2개의 32 × 8 크기의 블록 중 왼쪽 블록은 실제 영상의 데이터만을 포함할 수 있고, 2개의 32 × 8 크기의 블록 중 오른쪽 블록(5)은 다시 세로 방향의 바이너리 트리 분할이 수행될 수 있으며, 이에 따라 2개의 16 × 8 크기의 블록이 획득될 수 있다. 2개의 16 × 8 크기의 블록 중 왼쪽 블록(6)은 실제 영상의 데이터만을 포함할 수 있다.
다만, 상술한 블록 분할 설정과 같이 예외적인 경우를 두는 경우에도 잔차 계수의 부호화를 위한 최소 크기 미만의 분할은 허용될 수 없다. 예를 들어, 잔차 계수의 부호화를 위한 최소 크기가 4 × 4인 경우, 4 × 4 크기의 블록 미만의 크기는 허용될 수 있다. 다만, 가로 및 세로가 각각 잔차 계수의 부호화를 위한 최소 크기의 가로 및 세로보다 크거나 같은 경우 및 가로 및 세로 중 하나가 대응되는 가로 및 세로보다 작더라도 다른 하나가 충분히 길어서 가로 및 세로의 곱이 잔차 계수의 부호화를 위한 최소 크기의 가로 및 세로의 곱보다 크거나 같으면 허용될 수 있다. 여기서, 블록은 잔차 계수의 존재 여부를 확인하는 플래그(Coded Block Flag) 등이 지원되는 블록일 수 있다.
4-2. 복수의 분할 방법에 따른 적응적 영상 데이터 처리 방법 2
도 18a 내지 도 18c는 본 발명의 일 실시예에 따른 복수의 분할 방법에 따른 적응적 영상 데이터 처리 방법을 설명하기 위한 제2 예시도이다.
여기서, 블록은 바이너리 트리 및 터너리 트리과 같은 다중 트리 방식의 분할이 지원될 수 있으며, 최대 블록의 크기는 64 × 64이고, 최소 블록의 크기는 한쪽 길이가 4이고, 최대 분할 깊이가 4라고 가정한다. 트리 분할에 대한 우선 순위는 존재하지 않으며, 어떠한 트리 분할을 선택하는지에 대한 선택 정보가 발생할 수 있다.
따라서, 분할 정보는 분할 여부 정보, 트리 선택 정보 및 분할 방향 정보가 발생할 수 있으며, 나열 순서에 따라 발생할 수 있다. 여기서, 분할 여부 정보는 0인 경우 분할을 수행하지 않음을 의미할 수 있고, 1인 경우 분할의 수행을 의미할 수 있다. 트리 선택 정보는 0인 경우 바이너리 트리 분할을 의미할 수 있고, 1인 경우 터너리 트리 분할을 의미할 수 있다. 또한, 분할 방향 정보는 0인 경우 가로 방향을 의미할 수 있고, 1인 경우 세로 방향을 의미할 수 있다.
또한, 상술한 복수의 분할 방법에 따른 적응적 영상 데이터 처리 방법 1에서 설명한 예외적인 블록 분할 설정도 적용될 수 있다고 가정한다.
도 18a 내지 18c를 참조하면, 기본 부호화 블록의 크기는 64 × 64이며, 실제 영상의 데이터는 빗금친 영역(64 × 16)일 수 있다. 여기서, 블록은 바이너리 트리 및 터너리 트리 분할이 가능하므로, 이를 통해 한 번의 분할로 획득 가능한 블록은 64 × 64, 64 × 32, 32 × 64, 64 × 16/64 × 32/64 × 16, 16 × 64/32 × 64/16 × 64 크기의 블록일 수 있다.
도 18a를 참조하면, 블록(1)은 가로 방향의 바이너리 트리 분할이 수행될 수 있으며, 이에 따라 2개의 64 × 32 크기의 블록이 획득될 수 있다. 여기서, 분할 깊이는 0에서 1로 증가할 수 있고, 분할 정보는 1-0-0가 발생할 수 있으나, 묵시적으로 처리될 수도 있다. 2개의 64 × 32 크기의 블록 중 위쪽 블록(2)은 다시 가로 방향의 바이너리 트리 분할이 수행될 수 있으며, 이에 따라 2개의 64 × 16 크기의 블록이 획득될 수 있다. 여기서, 분할 깊이는 1에서 2로 증가할 수 있고, 분할 정보는 1-0-0가 발생할 수 있으나, 묵시적으로 처리될 수도 있다. 2개의 64 × 16 크기의 블록 중 위쪽 블록(3)은 실제 영상의 데이터만을 포함하므로 추가 분할을 통해 최적의 분할 형태가 결정될 수도 있으나 본 예뿐만 아니라 도 18b와 도 18c에서 이 영역은 추가 분할을 하지 않는 경우라 가정한다.
상술한 분할 과정에서 발생하는 분할 정보는 (64 × 16): 1-0-0-1-0-0-0-0-0과 같이 나타낼 수 있다. 다만, 분할 정보는 2개의 64 × 16 크기의 블록 중 위쪽 블록(3)이 실제 영상의 데이터를 포함하여 명시적으로 처리되며, 나머지 모두는 패딩된 영역만을 포함하여 묵시적으로 처리될 수 있다. 따라서, 실제 영상의 데이터에 기반하여 적응적인 부/복호화 데이터를 처리하는 경우, 명시적으로 처리되는 과정에 따라 분할 정보는 0일 수 있다. 여기서, 0은 세 번째 발생한 분할 정보의 분할 여부 정보를 의미할 수 있다.
도 18b를 참조하면, 블록(1)은 가로 방향의 터너리 트리 분할이 수행될 수 있으며, 이에 따라 64 × 16, 64 × 32 및 64 × 16 크기의 블록이 획득될 수 있다. 여기서, 분할 깊이는 0에서 1로 증가할 수 있고, 분할 정보는 1-1-0가 발생할 수 있으나, 묵시적으로 처리될 수도 있다. 64 × 16 크기의 위쪽 블록(2)은 실제 영상의 데이터만을 포함할 수 있으므로, 추가적인 분할은 요구되지 않을 수 있다. 따라서, 최적의 분할 형태가 결정될 수 있으나, 추가 분할을 통해 최적의 분할 형태가 결정될 수도 있다.
상술한 분할 과정에서 발생하는 분할 정보는 (64 × 16): 1-1-0-0-0-0과 같이 나타낼 수 있다. 다만, 분할 정보는 64 × 16 크기의 위쪽 블록(2)이 실제 영상의 데이터를 포함하여 명시적으로 처리되며, 나머지 모두는 패딩된 영역만을 포함하여 묵시적으로 처리될 수 있다. 따라서, 실제 영상의 데이터에 기반하여 적응적인 부/복호화 데이터를 처리하는 경우, 명시적으로 처리되는 과정에 따라 분할 정보는 0일 수 있다. 여기서, 0은 두 번째 발생한 분할 정보의 분할 여부 정보를 의미할 수 있다.
도 18a 및 도 18b의 경우, 분할 정보는 0으로 동일할 수 있다. 다만, 부/복호화 처리 과정에서 분할 횟수가 증가할수록 묵시적으로 데이터를 처리하여도 실제 영상의 데이터만을 포함하는 블록까지 도달하는 단계에 차이가 존재할 수 있다. 따라서, 초기 블록 또는 기본 부호화 블록으로부터 실제 영상 데이터만을 포함하는 블록에 도달되는 경우가 하나 이상의 방법이 존재하는 경우, 더 적은 분할 횟수에 따라 도달되는 방법을 묵시적으로 결정되도록 설정될 수 있다. 다시 말해, 도 18a 및 도 18b이 모두 가능할 경우, 분할 횟수가 상대적으로 적은 도 18b에 따라 터너리 트리 분할이 이용되는 방법이 결정되도록 묵시적으로 설정될 수 있다.
일 실시예에 따르면, 픽쳐의 오른쪽 경계에서 실제 영상 데이터를 포함하는 영역의 가로 길이가 분할 전 블록의 가로 길이의 1/4 또는 3/4과 일치하는 경우에는 세로 방향의 터너리 트리 분할이 수행될 수 있고, 둘 다 일치하지 않는 경우에는 세로 방향의 바이너리 트리 분할이 수행될 수 있다.
또한, 픽쳐의 아래쪽 경계에서 실제 영상 데이터를 포함하는 영역의 세로 길이가 분할 전 블록의 세로 길이의 1/4 또는 3/4과 일치하는 경우에는 가로 방향의 터너리 트리 분할이 수행될 수 있고, 둘 다 일치하지 않는 경우에는 가로 방향의 바이너리 트리 분할이 수행될 수 있다.
상술한 바는 일부 경계에 대한 경우로, 다른 경계에서의 분할은 다음과 같을 수 있다.
픽쳐의 오른쪽 아래 경계에서 실제 영상 데이터를 포함하는 영역의 가로와 세로 길이가 대응되는 분할 전 블록의 가로와 세로 길이의 1/4 또는 3/4과 적어도 하나가 일치하는 경우에는 가로 또는 세로 방향의 터너리 트리 분할이 수행될 수 있고, 하나도 일치하지 않는 경우에는 가로 또는 세로 방향의 바이너리 트리 분할이 수행될 수 있다.
여기서, 바이너리 트리 분할의 방향은 실제 영상 데이터를 포함하는 영역의 가로와 세로 길이 중 하나가 1/2을 넘지 않는 경우 해당 길이에 수직인 방향으로 분할될 수 있고, 둘다 넘거나 넘지 않을 경우에는 가로 또는 세로 방향으로 분할될 수 있다. 예를 들어, 실제 영상 데이터를 포함하는 영역의 가로 길이만이 1/2을 넘지 않을 경우 세로 방향으로 분할될 수 있다.
또한, 실제 영상 데이터를 포함하는 영역의 가로 길이가 분할 전 블록의 가로 길이의 1/4 또는 3/4 중 일치 여부 또는 실제 영상 데이터를 포함하는 영역의 세로 길이가 분할 전 블록의 세로 길이의 1/4 또는 3/4 중 일치 여부를 확인하여 하나라도 일치하는 경우에는 터너리 분할이 수행될 수 있고, 그렇지 않을 경우에는 바이너리 트리 분할이 수행될 수 있다.
정리하면, 픽쳐의 오른쪽 아래 경계에서는 바이너리 트리 또는 터너리 트리 분할이 가능할 수 있다. 또한, 픽쳐의 아래쪽과 오른쪽 경계에서는 분할 방향이 경계와 평행한 바이너리 트리 또는 터너리 트리 분할이 가능할 수 있으며, 분할 방향이 수직인 바이너리 트리 또는 터너리 트리 분할은 불가능하다.
상술한 본 발명의 일 실시예들은 분할 전 블록이 실제 영상 데이터와 패딩된 영상을 포함하고 있는 경우를 가정하여 적용 가능할 수 있으며, 실제 영상 데이터만을 포함하고 있는 경우에는 적용이 불가능할 수 있다. 또한, 터너리 트리의 경우 설명의 편의를 위해 상기 비율(1:2:1)로 3분할되는 경우를 설명하였으나, 부호화 설정에 따라 다른 비율로 갖는 경우 또한 가능할 수 있다.
도 18c를 참조하여, 다른 복수의 분할 방법을 적용하는 다른 실시예를 설명하면 다음과 같다.
여기서, 블록은 대칭 바이너리 트리 및 비대칭 바이너리 트리 등의 다중 트리 방식의 분할이 지원될 수 있으며, 최대 블록의 크기는 64 × 64이며, 최소 블록의 크기는 한 쪽 길이가 4이고, 최대 분할 깊이는 4인 것으로 가정한다. 또한, 트리 분할에 대한 우선 순위는 존재하지 않으며, 어떤 트리 분할을 선택하는지에 대한 정보가 발생할 수 있다. 여기서, 비대칭 바이너리 트리의 경우 분할 방향 정보뿐만 아니라 분할 비율 정보가 추가로 요구될 수 있으며, 1:3 또는 3:1과 같이 기설정된 분할 비율이 한정되어 있을 수 있으나, 이외에 추가적인 분할 비율도 가능할 수 있다.
따라서, 분할 정보는 분할 여부 정보, 분할 방향 정보 및 트리 선택 정보가 발생할 수 있으며, 트리 선택 정보가 비대칭 바이너리 트리를 나타내는 경우, 분할 비율 정보가 더 발생할 수 있다. 또한, 분할 정보는 상술한 나열 순서에 따라 발생할 수 있다. 여기서, 분할 여부 정보는 0인 경우 분할을 수행하지 않음을 의미할 수 있고, 1인 경우 분할의 수행을 의미할 수 있다. 분할 방향 정보는 0인 경우 가로 방향을 의미할 수 있고, 1인 경우 세로 방향을 의미할 수 있다. 트리 선택 정보는 0인 경우 대칭 바이너리 트리 분할을 의미할 수 있고, 1인 경우 비대칭 바이너리 트리 분할을 의미할 수 있다. 또한, 비대칭 바이너리 트리 분할에 따른 분할 비율 정보는 0인 경우 위쪽 또는 왼쪽이 넓은 비율을 의미할 수 있고, 1인 경우 아래쪽 또는 오른쪽이 넓은 비율을 의미할 수 있다.
기본 부호화 블록의 크기는 64 × 64이며, 실제 영상의 데이터는 빗금친 영역(64 × 16)일 수 있다. 여기서, 블록은 대칭 바이너리 트리 및 비대칭 바이너리 트리 분할이 가능하므로, 이를 통해 획득 가능한 블록의 크기는 64 × 64, 64 × 32, 32 × 64, 64 × 48/64 × 16, 64 × 16/64 × 48, 48 × 64/16 × 64 및 16 × 64/48 × 64일 수 있다.
도 18c를 참조하면, 블록(1)은 가로 방향의 비대칭 바이너리 트리 분할이 수행될 수 있으며, 이에 따라 64 × 16 및 64 × 48 크기의 블록이 획득될 수 있다. 여기서, 분할 깊이는 0에서 1로 증가할 수 있고, 분할 정보는 1-0-1-1가 발생할 수 있으나, 하나의 후보만이 지원 가능하므로, 분할 정보에 대하여 묵시적으로 처리될 수도 있다. 또한, 64 × 16 크기 블록(2)은 실제 영상의 데이터만을 포함할 수 있으므로, 추가적인 분할은 요구되지 않을 수 있다. 따라서, 최적의 분할 형태가 결정될 수 있으나, 추가적인 분할을 수행하는 경우, 블록 분할 설정에서 따라 추가 분할을 통해 최적의 분할 형태가 결정될 수도 있다.
상술한 분할 과정에서 발생하는 분할 정보는 (64 × 16): 1-0-1-1-0-0과 같이 나타낼 수 있다. 다만, 분할 정보는 64 × 16 크기의 블록(2)만이 실제 영상의 데이터를 포함하여 명시적으로 처리되며, 나머지 모두는 패딩된 영역만을 포함하여 묵시적으로 처리될 수 있다. 따라서, 실제 영상의 데이터에 기반하여 적응적인 부/복호화 데이터를 처리하는 경우, 명시적으로 처리되는 과정에 따라 분할 정보는 0일 수 있다. 여기서, 0은 64 × 16 크기의 블록(2)의 분할 여부 정보를 의미할 수 있다.
따라서, 도 18a 및 도 18c에서 초기 블록 또는 기본 부호화 블록으로부터 실제 영상의 데이터만을 포함하는 블록(64 × 16)을 획득하는 과정에서 발생하는 분할 정보는 모두 0일 수 있다. 다만, 0이 의미하는 정보는 서로 다를 수 있다.
또한, 초기 블록 또는 기본 부호화 블록으로부터 실제 영상 데이터만을 포함하는 블록에 도달하기 위해 도 18a 및 도 18c가 모두 사용될 수 있으므로, 더 적은 분할 횟수에 따라 분할 방법이 묵시적으로 결정될 수 있다. 다시 말해, 분할 횟수가 상대적으로 적은 도 18c에 따른 비대칭 바이너리 트리 분할 방법이 결정될 수 있다.
일 실시예에 따르면, 픽쳐의 오른쪽 경계에서 실제 영상 데이터를 포함하는 영역의 가로 길이가 분할 전 블록의 가로 길이의 1/4 또는 3/4과 일치하는 경우에는 세로 방향의 비대칭 바이너리 트리 분할이 수행될 수 있고, 1/2과 일치하는 경우에는 세로 방향의 대칭 바이너리 트리 분할이 수행될 수 있으며, 셋 모두 일치하지 않는 경우에는 세로 방향의 대칭 또는 비대칭 바이너리 트리 분할이 수행될 수 있다.
여기서, 셋 모두 일치하지 않는 경우를 더욱 살펴보면, 실제 영상 데이터를 포함하는 영역의 가로 길이가 분할 전 블록의 가로 길이의 1/4 이하인 경우, 오른쪽이 넓은 세로 방향의 비대칭 바이너리 트리 분할이 수행될 수 있으며, 1/4 초과이고, 1/2 이하인 경우, 세로 방향의 대칭 바이너리 트리 분할이 수행될 수 있다. 또한, 1/2 초과이고, 3/4 이하인 경우, 왼쪽이 넓은 세로 방향의 비대칭 바이너리 트리 분할이 수행될 수 있으며, 3/4 초과인 경우, 세로 방향의 대칭 바이너리 트리 분할이 수행될 수 있다.
또한, 픽쳐의 아래쪽 경계에서 실제 영상 데이터를 포함하는 영역의 세로 길이가 분할 전 블록의 세로 길이의 1/4 또는 3/4과 일치하는 경우에는 가로 방향의 비대칭 바이너리 트리 분할이 수행될 수 있고, 1/2과 일치하는 경우에는 가로 방향의 대칭 바이너리 트리 분할이 수행될 수 있으며, 셋 모두 일치하지 않는 경우에는 가로 방향의 대칭 또는 비대칭 바이너리 트리 분할이 수행될 수 있다.
여기서, 셋 모두 일치하지 않는 경우를 더욱 살펴보면, 실제 영상 데이터를 포함하는 영역의 세로 길이가 분할 전 블록의 세로 길이의 1/4 이하인 경우, 아래쪽이 넓은 가로 방향의 비대칭 바이너리 트리 분할이 수행될 수 있으며, 1/4 초과이고, 1/2 이하인 경우, 가로 방향의 대칭 바이너리 트리 분할이 수행될 수 있다. 또한, 1/2 초과이고, 3/4 이하인 경우, 위쪽이 넓은 가로 방향의 비대칭 바이너리 트리 분할이 수행될 수 있으며, 3/4 초과인 경우, 가로 방향의 대칭 바이너리 트리 분할이 수행될 수 있다.
상술한 바는 일부 경계에 대한 경우로, 다른 경계에서의 분할은 다음과 같을 수 있다.
픽쳐의 오른쪽 아래 경계에서 실제 영상 데이터를 포함하는 영역의 가로와 세로 길이가 대응되는 분할 전 블록의 가로와 세로 길이의 1/4 또는 3/4과 적어도 하나가 일치하는 경우에는 가로 또는 세로 방향의 비대칭 바이너리 트리 분할이 수행될 수 있고, 1/2과 일치하는 경우에는 가로 또는 세로 방향의 대칭 바이너리 트리 분할이 수행될 수 있으며, 모두 일치하지 않는 경우에는 가로 또는 세로 방향의 대칭 또는 비대칭 바이너리 트리 분할이 수행될 수 있다. 모두 일치하지 않는 경우에 대한 상세한 설명은 상기 오른쪽 또는 아래쪽 경계에서 유도할 수 있으므로 생략한다.
다시 말해, 픽쳐의 오른쪽 아래 경계에서는 대칭 바이너리 트리 또는 비대칭 바이너리 트리 분할이 가능할 수 있다. 또한, 픽쳐의 아래쪽과 오른쪽 경계에서는 분할 방향이 경계와 평행한 대칭 바이너리 트리와 비대칭 바이너리 트리 분할이 가능할 수 있으며, 분할 방향이 수직인 대칭 바이너리 트리와 비대칭 바이너리 트리 분할은 불가능할 수 있다.
상술한 본 발명의 일 실시예들은 분할 전 블록이 실제 영상 데이터와 패딩된 영상을 포함하고 있는 경우를 가정하여 적용 가능할 수 있으며, 실제 영상 데이터만을 포함하고 있는 경우에는 적용이 불가능할 수 있다. 또한, 비대칭 바이너리 트리의 경우 설명의 편의를 위해 상기 비율(1:3 또는 3:1)로 2분할되는 경우를 설명하였으나, 부호화 설정에 따라 다른 비율로 갖는 경우 또한 가능할 수 있다.
4-3. 복수의 분할 방법에 따른 적응적 영상 데이터 처리 방법 3
여기서, 블록은 쿼드 트리, 바이너리 트리 및 터너리 트리과 같은 다중 트리 방식의 분할이 지원될 수 있으며, 그 외는 상술한 복수의 분할 방법에 따른 적응적 영상 데이터 처리 방법 1 및 2에서 설명한 바와 동일할 수 있다. 또한, 상술한 복수의 분할 방법에 따른 적응적 영상 데이터 처리 방법 1 및 2에서 설명한 예외적인 블록 분할 설정도 적용될 수 있다고 가정한다.
일 실시예에 따르면, 픽쳐의 오른쪽 아래 경계에서 실제 영상 데이터를 포함하는 영역의 가로와 세로 길이가 대응되는 분할 전 블록의 가로와 세로 길이의 1/4 또는 3/4과 적어도 하나가 일치하는 경우에는 가로 또는 세로 방향의 터너리 트리 분할이 수행될 수 있다. 여기서, 하나라도 일치하지 않는 경우에는 실제 영상 데이터를 포함하는 영역의 가로와 세로 길이와 분할 전 블록의 가로와 세로 길이를 비교하여 각각 모두 1/2을 넘거나 또는 넘지 않으면, 쿼드 트리 분할이 수행될 수 있고, 둘 중 하나만 1/2을 넘을 경우 가로 또는 세로 방향의 바이너리 트리 분할이 수행될 수 있다.
픽쳐의 아래쪽 경계에서 실제 영상 데이터를 포함하는 영역의 가로와 세로 길이가 분할 전 블록의 세로 길이의 1/4 또는 3/4과 일치하는 경우에는 가로 방향의 터너리 트리 분할이 수행될 수 있고, 하나도 일치하지 않는다면 가로 방향의 바이너리 트리 분할이 수행될 수 있다.
또한, 픽쳐의 오른쪽 경계에서 실제 영상 데이터를 포함하는 영역의 가로와 세로 길이가 분할 전 블록의 가로 길이의 1/4 또는 3/4과 일치하는 경우에는 세로 방향의 터너리 트리 분할이 수행될 수 있고, 하나도 일치하지 않는다면 세로 방향의 바이너리 트리 분할이 수행될 수 있다.
다시 말해, 픽쳐의 오른쪽 아래 경계에서는 가로 또는 세로 방향의 쿼드 트리, 바이너리 트리와 터너리 트리이 가능할 수 있고, 픽쳐의 아래쪽과 오른쪽 경계에서는 분할 방향이 경계와 평행한 바이너리 트리와 터너리 트리 분할이 가능할 수 있다. 다만, 픽쳐의 아래쪽과 오른쪽 경계에서는 경우에 따라 쿼트 트리 분할도 가능할 수 있으나, 분할 방향이 경계와 수직인 바이너리 트리와 터너리 트리 분할이 불가능할 수 있다.
본 발명의 설명에서 복수의 분할 방법에 따른 적응적 영상 데이터 처리 방법 에 대하여 다양한 실시예(4-1, 4-2 및 4-3)에 따라 설명하였으나, 블록 분할 설정에 따라 변경될 수 있으므로, 이에 한정되는 것은 아니다. 다시 말해, 블록은 블록 분할 설정에 따라 획득 가능한 블록이 결정될 수 있고, 이에 따라 픽쳐의 경계에서 블록 분할 정보에 대한 적응적인 처리가 가능할 수 있다.
도 19는 본 발명의 일 실시예에 따른 적응적 영상 데이터 처리를 통해 영상을 부호화하는 방법을 나타낸 순서도이다.
도 19를 참조하면, 본 발명의 일 실시예에 따른 적응적으로 영상 데이터를 처리하는 영상 부호화 장치는 픽쳐의 크기 정보, 기본 부호화 블록의 크기 정보 및 블록 분할 정보를 설정할 수 있으며(S1910), 기본 부호화 블록의 크기의 정수배가 되도록 픽쳐의 크기를 확장할 수 있다(S1920). 또한, 영상 부호화 장치는 기본 부호화 블록 단위로 확장된 픽쳐를 구획할 수 있으며(S1930), 블록 스캔 순서, 블록 위치 정보 및 (재)설정된 블록 분할 설정에 따라 기본 부호화 블록을 부호화할 수 있고(S1940), 부호화에 따른 비트스트림을 영상 복호화 장치로 송신할 수 있다.
또한, 본 발명의 일 실시예에 따른 영상 복호화 장치는 상술한 영상 부호화 장치와 대응되게 동작할 수 있다. 다시 말해, 영상 복호화 장치는 영상 부호화 장치로부터 수신한 비트스트림을 기초로 픽쳐의 크기 정보, 기본 부호화 블록의 크기 정보 및 블록 분할 정보를 복원할 수 있으며, 기본 부호화 블록의 크기의 정수배가 되도록 픽쳐의 크기를 확장할 수 있다. 또한, 영상 복호화 장치는 기본 부호화 블록 단위로 확장된 픽쳐를 구획할 수 있으며, 블록 스캔 순서, 블록 위치 정보 및 (재)설정된 블록 분할 설정에 따라 기본 부호화 블록을 복호화할 수 있다.
여기서, 픽쳐의 확장은 기본 부호화 블록의 정수배에 맞춰 픽쳐의 오른쪽 또는 아래쪽과 같이 일부 방향으로 수행될 수 있으며, 픽쳐의 경계에 위치한 기본 부호화 블록에서는 블록 위치 및 블록 분할 설정에 따라 적응적으로 부호화가 수행될 수 있다. 여기서, 블록 분할 설정은 부호화 설정에 따라 그대로 사용되거나 일부가 변경되어 재설정될 수 있다.
일 실시예에 따르면, 픽쳐 내부에 위치한 기본 부호화 블록의 분할 정보는 명시적으로 처리될 수 있고, 픽쳐 경계에 위치한 기본 부호화 블록의 정보는 실제 영상 데이터에 기반하여 명시적 또는 묵시적으로 처리될 수 있다. 여기서, 분할에 따라 획득 가능한 블록의 크기 및 형태 등과 같은 설정이 변경되어 재설정된 경우, 이를 반영하여 처리될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (7)

  1. 현재 픽쳐에 속한 제1 부호화 블록을 분할하여 제2 부호화 블록을 결정하는 단계; 및
    상기 제2 부호화 블록을 복호화하는 단계를 포함하되,
    상기 분할은, 영상 복호화 장치의 다중 트리 방식에 기초하여 수행되고,
    상기 다중 트리 방식은, 쿼드 트리, 바이너리 트리 및 터너리 트리를 포함하며,
    상기 쿼드 트리는, 하나의 부호화 블록을 4개의 부호화 블록으로 4분할하는 방식이고,
    상기 바이너리 트리는, 하나의 부호화 블록을 2개의 부호화 블록으로 분할하는 방식이고, 상기 터너리 트리는, 하나의 부호화 블록을 3개의 부호화 블록으로 분할하는 방식이며,
    상기 제1 부호화 블록이 상기 현재 픽쳐의 경계에 걸쳐있는 경우, 상기 제1 부호화 블록에 대해서 상기 바이너리 트리 기반의 분할이 허용되고,
    상기 현재 픽쳐의 경계가 하단 경계인 경우, 상기 제1 부호화 블록에 대한 바이너리 트리 분할은 수평 방향의 바이너리 트리 분할만 허용되고,
    상기 현재 픽쳐의 경계가 우측 경계인 경우, 상기 제1 부호화 블록에 대한 바이너리 트리 분할은 수직 방향의 바이너리 트리 분할만 허용되는, 영상 복호화 방법.
  2. 제1항에 있어서,
    상기 다중 트리 방식에 기초한 분할은, 재귀적인 방식을 사용하여 수행되는, 영상 복호화 방법.
  3. 제1항에 있어서,
    상기 제1 부호화 블록의 분할은, 소정의 분할 정보에 기초하여 수행되고,
    상기 분할 정보는, 분할 여부를 지시하는 제1 플래그, 분할 방향을 지시하는 제2 플래그 또는 상기 다중 트리 방식 중 어느 하나를 지시하는 제3 플래그 중 적어도 하나를 포함하는, 영상 복호화 방법.
  4. 제3항에 있어서,
    상기 제2 플래그의 값이 제1 값인 경우, 수평 방향의 분할이 수행되고,
    상기 제2 플래그의 값이 제2 값인 경우, 수직 방향의 분할이 수행되는, 영상 복호화 방법.
  5. 제3항에 있어서,
    상기 제3 플래그의 값이 제1 값인 경우, 상기 바이너리 트리 기반의 분할이 수행되고,
    상기 제3 플래그의 값이 제2 값인 경우, 상기 터너리 트리 기반의 분할이 수행되는, 영상 복호화 방법.
  6. 현재 픽쳐에 속한 제1 부호화 블록을 분할하여 제2 부호화 블록을 결정하는 단계; 및
    상기 제2 부호화 블록을 부호화하는 단계를 포함하되,
    상기 분할은, 영상 부호화 장치의 다중 트리 방식에 기초하여 수행되고,
    상기 다중 트리 방식은, 쿼드 트리, 바이너리 트리 및 터너리 트리를 포함하며,
    상기 쿼드 트리는, 하나의 부호화 블록을 4개의 부호화 블록으로 4분할하는 방식이고,
    상기 바이너리 트리는, 하나의 부호화 블록을 2개의 부호화 블록으로 분할하는 방식이고, 상기 터너리 트리는, 하나의 부호화 블록을 3개의 부호화 블록으로 분할하는 방식이며,
    상기 제1 부호화 블록이 상기 현재 픽쳐의 경계에 걸쳐있는 경우, 상기 제1 부호화 블록에 대해서 상기 바이너리 트리 기반의 분할이 허용되고,
    상기 현재 픽쳐의 경계가 하단 경계인 경우, 상기 제1 부호화 블록에 대한 바이너리 트리 분할은 수평 방향의 바이너리 트리 분할만 허용되고,
    상기 현재 픽쳐의 경계가 우측 경계인 경우, 상기 제1 부호화 블록에 대한 바이너리 트리 분할은 수직 방향의 바이너리 트리 분할만 허용되는, 영상 부호화 방법.
  7. 영상 부호화 방법에 의해 생성된 비트스트림을 저장한 컴퓨터로 판독가능한 기록매체에 있어서,
    상기 영상 부호화 방법은,
    현재 픽쳐에 속한 제1 부호화 블록을 분할하여 제2 부호화 블록을 결정하는 단계; 및
    상기 제2 부호화 블록을 부호화하는 단계를 포함하되,
    상기 분할은, 영상 부호화 장치의 다중 트리 방식에 기초하여 수행되고,
    상기 다중 트리 방식은, 쿼드 트리, 바이너리 트리 및 터너리 트리를 포함하며,
    상기 쿼드 트리는, 하나의 부호화 블록을 4개의 부호화 블록으로 4분할하는 방식이고,
    상기 바이너리 트리는, 하나의 부호화 블록을 2개의 부호화 블록으로 분할하는 방식이고, 상기 터너리 트리는, 하나의 부호화 블록을 3개의 부호화 블록으로 분할하는 방식이며,
    상기 제1 부호화 블록이 상기 현재 픽쳐의 경계에 걸쳐있는 경우, 상기 제1 부호화 블록에 대해서 상기 바이너리 트리 기반의 분할이 허용되고,
    상기 현재 픽쳐의 경계가 하단 경계인 경우, 상기 제1 부호화 블록에 대한 바이너리 트리 분할은 수평 방향의 바이너리 트리 분할만 허용되고,
    상기 현재 픽쳐의 경계가 우측 경계인 경우, 상기 제1 부호화 블록에 대한 바이너리 트리 분할은 수직 방향의 바이너리 트리 분할만 허용되는, 컴퓨터로 판독가능한 기록매체.
KR1020237014554A 2017-07-17 2018-07-12 영상 부호화/복호화 방법 및 장치 KR20230065366A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020170090633 2017-07-17
KR20170090633 2017-07-17
PCT/KR2018/007924 WO2019017651A1 (ko) 2017-07-17 2018-07-12 영상 부호화/복호화 방법 및 장치
KR1020207028462A KR20200117071A (ko) 2017-07-17 2018-07-12 영상 부호화/복호화 방법 및 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020207028462A Division KR20200117071A (ko) 2017-07-17 2018-07-12 영상 부호화/복호화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20230065366A true KR20230065366A (ko) 2023-05-11

Family

ID=65015240

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020207028462A KR20200117071A (ko) 2017-07-17 2018-07-12 영상 부호화/복호화 방법 및 장치
KR1020237014554A KR20230065366A (ko) 2017-07-17 2018-07-12 영상 부호화/복호화 방법 및 장치
KR1020197019445A KR102164399B1 (ko) 2017-07-17 2018-07-12 영상 부호화/복호화 방법 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020207028462A KR20200117071A (ko) 2017-07-17 2018-07-12 영상 부호화/복호화 방법 및 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020197019445A KR102164399B1 (ko) 2017-07-17 2018-07-12 영상 부호화/복호화 방법 및 장치

Country Status (8)

Country Link
US (3) US11044475B2 (ko)
EP (1) EP3657789A4 (ko)
KR (3) KR20200117071A (ko)
CN (3) CN110892719B (ko)
CA (1) CA3106615A1 (ko)
SG (1) SG11202013232QA (ko)
TW (1) TWI814732B (ko)
WO (1) WO2019017651A1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118413666A (zh) * 2017-11-28 2024-07-30 Lx 半导体科技有限公司 图像编码/解码方法、图像数据的传输方法和存储介质
WO2019151297A1 (ja) 2018-01-30 2019-08-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
JP7401309B2 (ja) * 2018-01-30 2023-12-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
WO2019174594A1 (en) * 2018-03-14 2019-09-19 Mediatek Inc. Method and apparatus of optimized splitting structure for video coding
WO2019234605A1 (en) 2018-06-05 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Extended quad-tree with asymmetric sub-blocks and different tree for chroma
WO2019245841A1 (en) * 2018-06-18 2019-12-26 Interdigital Vc Holdings, Inc. Method and apparatus for video encoding and decoding based on asymmetric binary partitioning of image blocks
CN112544077B (zh) * 2018-07-16 2023-12-08 Lg电子株式会社 用于子块单元中的时间运动信息预测的帧间预测方法及其装置
CN112771862A (zh) * 2018-09-19 2021-05-07 韩国电子通信研究院 通过使用边界处理对图像进行编码/解码的方法和设备以及用于存储比特流的记录介质
CN117041554A (zh) * 2018-10-06 2023-11-10 华为技术有限公司 使用插值滤波器进行帧内预测的方法和装置
CN111083489B (zh) 2018-10-22 2024-05-14 北京字节跳动网络技术有限公司 多次迭代运动矢量细化
CN113228650B (zh) * 2018-11-08 2024-03-19 交互数字Vc控股公司 基于块的表面的视频编码或解码的量化
WO2020098643A1 (en) 2018-11-12 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Simplification of combined inter-intra prediction
CN117319644A (zh) 2018-11-20 2023-12-29 北京字节跳动网络技术有限公司 基于部分位置的差计算
US11438583B2 (en) * 2018-11-27 2022-09-06 Tencent America LLC Reference sample filter selection in intra prediction
WO2020177756A1 (en) 2019-03-06 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Size dependent inter coding
CN111770337B (zh) * 2019-03-30 2022-08-19 华为技术有限公司 视频编码方法、视频解码方法及相关设备
CN111901593B (zh) * 2019-05-04 2024-01-02 华为技术有限公司 一种图像划分方法、装置及设备

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1169164A (ja) * 1997-08-21 1999-03-09 Toshiba Corp 画像符号化方法および画像符号化装置および画像復号化装置および画像形成装置
FI111764B (fi) * 1999-06-10 2003-09-15 Nokia Corp Menetelmä ja järjestely kuvatiedon käsittelemiseksi
JP4674100B2 (ja) * 2005-03-07 2011-04-20 株式会社リコー 画像処理装置
KR20100095992A (ko) 2009-02-23 2010-09-01 한국과학기술원 비디오 부호화에서의 분할 블록 부호화 방법, 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체
CN105049865B (zh) * 2009-10-01 2018-01-05 Sk电信有限公司 视频解码装置
KR101698499B1 (ko) 2009-10-01 2017-01-23 에스케이텔레콤 주식회사 분할 레이어를 이용한 영상 부호화/복호화 방법 및 장치
US9137545B2 (en) 2009-10-21 2015-09-15 Sk Telecom Co., Ltd. Image encoding and decoding apparatus and method
KR101452713B1 (ko) * 2009-10-30 2014-10-21 삼성전자주식회사 픽처 경계의 부호화 단위를 부호화, 복호화 하는 방법 및 장치
KR101484280B1 (ko) 2009-12-08 2015-01-20 삼성전자주식회사 임의적인 파티션을 이용한 움직임 예측에 따른 비디오 부호화 방법 및 장치, 임의적인 파티션을 이용한 움직임 보상에 따른 비디오 복호화 방법 및 장치
WO2011074919A2 (ko) * 2009-12-17 2011-06-23 에스케이텔레콤 주식회사 영상 부호화/복호화 방법 및 장치
KR20130070646A (ko) * 2010-10-01 2013-06-27 제너럴 인스트루먼트 코포레이션 유연한 분할에서 영상 경계 패딩을 활용하는 코딩 및 디코딩
WO2012044707A1 (en) 2010-10-01 2012-04-05 General Instrument Corporation Coding and decoding utilizing picture boundary variability in flexible partitioning
KR20120045369A (ko) * 2010-10-29 2012-05-09 에스케이 텔레콤주식회사 쿼드 트리 기반으로 블록 필터 정보를 부호화/복호화하는 영상 부호화/복호화 장치 및 방법
KR101442127B1 (ko) * 2011-06-21 2014-09-25 인텔렉추얼디스커버리 주식회사 쿼드트리 구조 기반의 적응적 양자화 파라미터 부호화 및 복호화 방법 및 장치
JP2014176039A (ja) * 2013-03-13 2014-09-22 Sharp Corp 画像復号装置、および画像符号化装置
CN105379284B (zh) 2013-07-22 2020-02-21 瑞萨电子株式会社 动态图像编码装置及其动作方法
US10070070B2 (en) * 2014-05-28 2018-09-04 Mediatek Inc. Video processing apparatus with transform unit size selection, mode information unit size selection and/or picture width/height decision, and related video processing method thereof
WO2016090568A1 (en) * 2014-12-10 2016-06-16 Mediatek Singapore Pte. Ltd. Binary tree block partitioning structure
US10448015B2 (en) 2015-06-16 2019-10-15 Lg Electronics Inc. Method and device for performing adaptive filtering according to block boundary
WO2017086738A1 (ko) * 2015-11-19 2017-05-26 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
US10212444B2 (en) 2016-01-15 2019-02-19 Qualcomm Incorporated Multi-type-tree framework for video coding
CN116781903A (zh) * 2016-06-24 2023-09-19 世宗大学校产学协力团 视频信号解码和编码方法、比特流的传输方法

Also Published As

Publication number Publication date
EP3657789A4 (en) 2020-12-16
KR20200117071A (ko) 2020-10-13
TW201919394A (zh) 2019-05-16
US20200213590A1 (en) 2020-07-02
KR102164399B1 (ko) 2020-10-12
CA3106615A1 (en) 2019-01-24
CN110892719B (zh) 2023-06-09
CN116527945A (zh) 2023-08-01
US11399179B2 (en) 2022-07-26
WO2019017651A1 (ko) 2019-01-24
US20210274177A1 (en) 2021-09-02
TWI814732B (zh) 2023-09-11
CN110892719A (zh) 2020-03-17
EP3657789A1 (en) 2020-05-27
SG11202013232QA (en) 2021-01-28
US20220329798A1 (en) 2022-10-13
US11882281B2 (en) 2024-01-23
US11044475B2 (en) 2021-06-22
KR20190089061A (ko) 2019-07-29
CN116506646A (zh) 2023-07-28

Similar Documents

Publication Publication Date Title
KR102164399B1 (ko) 영상 부호화/복호화 방법 및 장치
US10986351B2 (en) Method and device for decoding image by using partition unit including additional region
KR102413345B1 (ko) 영상 데이터 부호화/복호화 방법 및 장치
US20210006714A1 (en) Image data encoding/decoding method and apparatus
KR20200062364A (ko) 영상 데이터 부호화/복호화 방법 및 장치
CN111602400B (zh) 用于色度分量的帧内预测编码/解码方法和装置
CN112106356B (zh) 图像编码/解码方法和装置
US11696035B2 (en) Image data encoding/decoding method and apparatus
KR20200062365A (ko) 영상 데이터 부호화/복호화 방법 및 장치
JP2024133661A (ja) 画像符号化/復号化方法及び装置
KR20240036533A (ko) 복수의 예측 모드 후보군을 사용하여 화면내 예측을 수행하는 영상 부호화/복호화 방법 및 장치
KR20220144765A (ko) V-pcc 그리드 평활화 과정의 셀 색인화를 보완하는 영상 부호화/복호화 방법, 장치 및 컴퓨터로 판독가능한 기록 매체
KR20190004237A (ko) 추가 영역을 포함하는 분할 단위를 이용한 영상 복호화 방법 및 장치

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E90F Notification of reason for final refusal