KR20210076869A - 임의의 모양으로 분할되는 블록을 예측하는 방법 및 복호화 장치 - Google Patents

임의의 모양으로 분할되는 블록을 예측하는 방법 및 복호화 장치 Download PDF

Info

Publication number
KR20210076869A
KR20210076869A KR1020200175629A KR20200175629A KR20210076869A KR 20210076869 A KR20210076869 A KR 20210076869A KR 1020200175629 A KR1020200175629 A KR 1020200175629A KR 20200175629 A KR20200175629 A KR 20200175629A KR 20210076869 A KR20210076869 A KR 20210076869A
Authority
KR
South Korea
Prior art keywords
prediction
block
intra
inter
samples
Prior art date
Application number
KR1020200175629A
Other languages
English (en)
Inventor
심동규
변주형
이종석
박승욱
임화평
Original Assignee
현대자동차주식회사
광운대학교 산학협력단
기아 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대자동차주식회사, 광운대학교 산학협력단, 기아 주식회사 filed Critical 현대자동차주식회사
Priority to US17/785,509 priority Critical patent/US20230048262A1/en
Priority to PCT/KR2020/018369 priority patent/WO2021125751A1/ko
Publication of KR20210076869A publication Critical patent/KR20210076869A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods 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 pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Landscapes

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

Abstract

현재블록의 변환계수들을 역변환하는 방법 및 장치를 개시한다.
본 발명의 일 실시예에 의하면, 현재블록을 제1모드에 따라 예측하는 방법으로서, 분할 모드 신택스 요소에 기초하여, 상기 현재블록을 비직사각형(non-rectangular) 블록들로 분할하는 단계; 상기 비직사각형 블록들 중에서, 인트라 예측되는 인트라 블록 및 인터 예측되는 인터 블록을 결정하는 단계; 및 움직임 정보에 기초하여 상기 인터 블록을 포함하는 제1영역의 예측 샘플들을 유도하고, 인트라 예측 모드에 기초하여 상기 인트라 블록을 포함하는 제2영역의 예측 샘플들을 유도하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.

Description

임의의 모양으로 분할되는 블록을 예측하는 방법 및 복호화 장치{METHOD AND DECODING APPARATUS FOR PREDICTING BLOCK PARTITIONED INTO ARBITRARY SHAPE}
본 발명은 동영상의 부호화 및 복호화에 관한 것으로서, 더욱 구체적으로는 임의의 모양으로 분할되는 블록에 대해 인터 예측과 인트라 예측을 수행함으로써 부호화 및 복호화의 효율성을 더욱 향상시키는 방법 및 장치에 관한 것이다.
동영상 데이터는 음성 데이터나 정지 영상 데이터 등에 비하여 많은 데이터량을 가지기 때문에, 압축을 위한 처리 없이 그 자체를 저장하거나 전송하기 위해서는 메모리를 포함하여 많은 하드웨어 자원을 필요로 한다.
따라서, 통상적으로 동영상 데이터를 저장하거나 전송할 때에는 부호화기를 사용하여 동영상 데이터를 압축하여 저장하거나 전송하며, 복호화기에서는 압축된 동영상 데이터를 수신하여 압축을 해제하고 재생한다. 이러한 동영상 압축 기술로는 H.264/AVC를 비롯하여, H.264/AVC에 비해 약 40% 정도의 부호화 효율을 향상시킨 HEVC(High Efficiency Video Coding)가 존재한다.
그러나, 영상의 크기 및 해상도, 프레임율이 점차 증가하고 있고, 이에 따라 부호화해야 하는 데이터량도 증가하고 있으므로 기존의 압축 기술보다 더 부호화 효율이 좋고 화질 개선 효과도 높은 새로운 압축 기술이 요구된다.
이러한 요구에 부응하기 위해 본 발명은 개선된 부호화 및 복호화 기술을 제공하는 것을 목적으로 하며, 특히, 본 발명의 일 측면은 하나의 블록으로부터 분할된 비직사각형 모양의 블록들을 구분하여 인터 예측과 인트라 예측을 수행함으로써 부호화 및 복호화의 효율을 향상시키는 기술과 관련된다.
또한, 본 발명의 다른 일 측면은 적응적 필터링 과정을 간소화함으로써 부호화 및 복호화의 효율을 향상시키는 기술과 관련된다.
본 발명의 일 측면은, 현재블록을 제1모드에 따라 예측하는 방법으로서, 분할 모드 신택스 요소에 기초하여, 상기 현재블록을 비직사각형(non-rectangular) 블록들로 분할하는 단계; 상기 비직사각형 블록들 중에서, 인트라 예측되는 인트라 블록 및 인터 예측되는 인터 블록을 결정하는 단계; 및 움직임 정보에 기초하여 상기 인터 블록을 포함하는 제1영역의 예측 샘플들을 유도하고, 인트라 예측 모드에 기초하여 상기 인트라 블록을 포함하는 제2영역의 예측 샘플들을 유도하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.
본 발명의 다른 일 측면은, 현재블록을 제1모드에 따라 예측하는 복호화 장치로서, 분할 모드 신택스 요소에 기초하여, 상기 현재블록을 비직사각형(non-rectangular) 블록들로 분할하는 엔트로피 복호화부; 및 상기 비직사각형 블록들 중에서, 인트라 예측되는 인트라 블록 및 인터 예측되는 인터 블록을 결정하는 예측부를 포함하고, 상기 예측부는, 움직임 정보에 기초하여 상기 인터 블록을 포함하는 제1영역의 예측 샘플들을 유도하고, 인트라 예측 모드에 기초하여 상기 인트라 블록을 포함하는 제2영역의 예측 샘플들을 유도하는 것을 특징으로 하는 복호화 장치를 제공한다.
본 발명은 비직사각형 블록에 대해 인터 예측뿐만 아니라 인트라 예측을 수행할 수 있으므로, 인터 예측만을 수행하는 종래 방법에 비해 적용 가능성을 더욱 확장시킬 수 있다.
또한, 본 발명은 어느 비직사각형 블록의 인터 예측 값을 참조하여 다른 비직사각형 블록의 인트라 예측을 수행할 수 있으므로, 인트라 예측의 성능을 향상시킬 수 있다.
나아가, 본 발명은 주변 블록들의 예측 타입에 따라 인터 예측 값과 인트라 예측 값에 가중치를 적용하므로, 블록 경계에서 발생하는 불연속성을 효과적으로 제거할 수 있다.
나아가, 본 발명은 인터 블록과 인트라 블록의 결정, 블랜딩 과정의 수행 여부, 디블록킹 필터링의 적용 여부 등을 1-bit의 플래그를 통해 결정할 수 있으므로, 비트 효율성을 향상시킬 수 있다.
나아가, 본 발명은 샘플 적응적 오프셋의 특성 추출 과정과 적응적 루프 필터링의 특성 추출 과정을 통합하여 적응적 필터링을 간소화시킬 수 있으므로, 부호화 및 복호화의 효율을 향상시킬 수 있다.
도 1은 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다.
도 2는 QTBTTT 구조를 이용하여 블록을 분할하는 방법을 설명하기 위한 도면이다.
도 3a는 복수의 인트라 예측 모드들을 나타낸 도면이다.
도 3b는 광각 인트라 예측모드들을 포함한 복수의 인트라 예측 모드들을 나타낸 도면이다.
도 4는 본 개시의 기술들을 구현할 수 있는 영상 복호화 장치의 예시적인 블록도이다.
도 5는 삼각형 분할 모드를 설명하기 위한 예시도이다.
도 6은 현재블록을 본 발명에서 제안하는 제1모드에 따라 예측하는 방법의 일 예를 설명하기 위한 순서도이다.
도 7은 분할 경계를 설명하기 위한 예시도이다.
도 8은 제1모드의 적용 여부를 판단하기 위해 이용되는 주변 블록들의 예시도이다.
도 9는 인터 블록 및 인트라 블록을 결정하는 방법의 일 예를 설명하기 위한 예시도이다.
도 10은 인트라 예측 모드를 결정하는 방법의 일 예를 설명하기 위한 예시도이다.
도 11은 인터 블록의 예측 샘플들을 인트라 블록의 예측을 위한 참조샘플로 활용하는 방법의 일 예를 설명하기 위한 순서도이다.
도 12 및 도 13은 도 11의 방법에 대한 일 예를 설명하기 위한 예시도이다.
도 14는 분할 경계에서의 불연속성을 제거하는 방법의 일 예를 설명하기 위한 순서도이다.
도 15는 도 14의 방법에서 활용되는 가중치를 유도하는 방법의 일 예를 설명하기 위한 예시도이다.
도 16은 필터부의 예시적인 블록도이다.
도 17은 본 발명에서 제안하는 필터부의 예시적인 블록도이다.
도 18은 적응적 필터링 방법의 일 예를 설명하기 위한 순서도이다.
도 19a 및 도 19b는 1차 미분 필터와 2차 미분 필터를 설명하기 위한 예시도이다.
도 20a 및 도 20b는 복원샘플들을 방향에 따라 구분한 예시도이다.
도 21은 복원샘플들의 클래스를 결정하는 방법을 설명하기 위한 복원샘플들의 예시도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성 요소들에 식별 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다. 이하에서는 도 1을 참조하여 영상 부호화 장치와 이 장치의 하위 구성들에 대하여 설명하도록 한다.
영상 부호화 장치는 픽처 분할부(110), 예측부(120), 감산기(130), 변환부(140), 양자화부(145), 재정렬부(150), 엔트로피 부호화부(155), 역양자화부(160), 역변환부(165), 가산기(170), 필터부(180) 및 메모리(190)를 포함하여 구성될 수 있다.
영상 부호화 장치의 각 구성요소는 하드웨어 또는 소프트웨어로 구현되거나, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 각 구성요소의 기능이 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
하나의 영상(비디오)은 복수의 픽처들로 구성된다. 각 픽처들은 복수의 영역으로 분할되고 각 영역마다 부호화가 수행된다. 예를 들어, 하나의 픽처는 하나 이상의 타일(Tile) 또는/및 슬라이스(Slice)로 분할된다. 여기서, 하나 이상의 타일은 타일 그룹(Tile Group)으로 정의될 수 있다. 각 타일 또는 슬라이스는 하나 이상의 CTU(Coding Tree Unit)로 분할된다. 그리고 각 CTU는 트리 구조에 의해 하나 이상의 CU(Coding Unit)들로 분할된다. 각 CU에 적용되는 정보들은 CU의 신택스로서 부호화되고, 하나의 CTU에 포함된 CU들에 공통적으로 적용되는 정보는 CTU의 신택스로서 부호화된다. 또한, 하나의 슬라이스 내의 모든 블록들에 공통적으로 적용되는 정보는 슬라이스 헤더의 신택스로서 부호화되며, 하나의 픽처를 구성하는 모든 블록들에 적용되는 정보는 픽처 파라미터 셋(PPS, Picture Parameter Set) 혹은 픽처 헤더에 부호화된다. 나아가, 복수의 픽처가 공통으로 참조하는 정보들은 시퀀스 파라미터 셋(SPS, Sequence Parameter Set)에 부호화된다. 그리고, 하나 이상의 SPS가 공통으로 참조하는 정보들은 비디오 파라미터 셋(VPS, Video Parameter Set)에 부호화된다. 또한, 하나의 타일 또는 타일 그룹에 공통으로 적용되는 정보는 타일 또는 타일 그룹 헤더의 신택스로서 부호화될 수도 있다.
픽처 분할부(110)는 CTU(Coding Tree Unit)의 크기를 결정한다. CTU의 크기에 대한 정보(CTU size)는 SPS 또는 PPS의 신택스로서 부호화되어 영상 복호화 장치로 전달된다.
픽처 분할부(110)는 영상을 구성하는 각 픽처(picture)를 미리 결정된 크기를 가지는 복수의 CTU(Coding Tree Unit)들로 분할한 이후에, 트리 구조(tree structure)를 이용하여 CTU를 반복적으로(recursively) 분할한다. 트리 구조에서의 리프 노드(leaf node)가 부호화의 기본 단위인 CU(coding unit)가 된다.
트리 구조는 상위 노드(혹은 부모 노드)가 동일한 크기의 네 개의 하위 노드(혹은 자식 노드)들로 분할되는 쿼드트리(QuadTree, QT), 또는 상위 노드가 두 개의 하위 노드로 분할되는 바이너리트리(BinaryTree, BT), 또는 상위 노드가 1:2:1 비율을 가지는 세 개의 하위 노드로 분할되는 터너리트리(TernaryTree, TT), 또는 이러한 QT 구조, BT 구조 및 TT 구조 중 둘 이상을 혼용한 구조일 수 있다. 예컨대, QTBT(QuadTree plus BinaryTree) 구조가 사용될 수 있고, 또는 QTBTTT(QuadTree plus BinaryTree TernaryTree) 구조가 사용될 수 있다. 여기서, BTTT를 합쳐서 MTT(Multiple-Type Tree)라 지칭할 수 있다.
도 2는 QTBTTT 분할 트리 구조를 보인다. 도 2에서 보는 바와 같이, CTU는 먼저 QT 구조로 분할될 수 있다. 쿼드트리 분할은 분할 블록(splitting block)의 크기가 QT에서 허용되는 리프 노드의 최소 블록 크기(MinQTSize)에 도달할 때까지 반복될 수 있다. QT 구조의 각 노드가 하위 레이어의 4개의 노드들로 분할되는지 여부를 지시하는 제1플래그(QT_split_flag)는 엔트로피 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 시그널링된다.
QT의 리프 노드가 BT에서 허용되는 루트 노드의 최대 블록 크기(MaxBTSize)보다 크지 않은 경우, BT 구조 또는 TT 구조 중 어느 하나 이상으로 더 분할될 수 있다. BT 구조 및/또는 TT 구조에서는 복수의 분할 방향이 존재할 수 있다. 예컨대, 해당 노드의 블록이 가로로 분할되는 방향과 세로로 분할되는 방향 두 가지가 존재할 수 있다. 도 2와 같이, MTT 분할이 시작되면, 노드들이 분할되었는지 여부를 지시하는 제2플래그(mtt_split_flag)와, 분할이 되었다면 추가적으로 분할 방향(vertical 혹은 horizontal)을 나타내는 플래그 및/또는 분할 타입(Binary 혹은 Ternary)을 나타내는 플래그가 엔트로피 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 시그널링된다. 대안적으로, 각 노드가 하위 레이어의 4개의 노드들로 분할되는지 여부를 지시하는 제1플래그(QT_split_flag)를 부호화하기에 앞서, 그 노드가 분할되는지 여부를 지시하는 CU 분할 플래그(split_cu_flag)가 부호화될 수도 있다. CU 분할 플래그(split_cu_flag) 값이 분할되지 않았음을 지시하는 경우, 해당 노드의 블록이 분할 트리 구조에서의 리프 노드(leaf node)가 되어 부호화의 기본 단위인 CU(coding unit)가 된다. CU 분할 플래그(split_cu_flag) 값이 분할됨을 지시하는 경우, 영상 부호화 장치는 전술한 방식으로 제1플래그부터 부호화를 시작한다.
트리 구조의 다른 예시로서 QTBT가 사용되는 경우, 해당 노드의 블록을 동일 크기의 두 개 블록으로 가로로 분할하는 타입(즉, symmetric horizontal splitting)과 세로로 분할하는 타입(즉, symmetric vertical splitting) 두 가지가 존재할 수 있다. BT 구조의 각 노드가 하위 레이어의 블록으로 분할되는지 여부를 지시하는 분할 플래그(split_flag) 및 분할되는 타입을 지시하는 분할 타입 정보가 엔트로피 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 전달된다. 한편, 해당 노드의 블록을 서로 비대칭 형태의 두 개의 블록으로 분할하는 타입이 추가로 더 존재할 수도 있다. 비대칭 형태에는 해당 노드의 블록을 1:3의 크기 비율을 가지는 두 개의 직사각형 블록으로 분할하는 형태가 포함될 수 있고, 혹은 해당 노드의 블록을 대각선 방향으로 분할하는 형태가 포함될 수도 있다.
CU는 CTU로부터의 QTBT 또는 QTBTTT 분할에 따라 다양한 크기를 가질 수 있다. 이하에서는, 부호화 또는 복호화하고자 하는 CU(즉, QTBTTT의 리프 노드)에 해당하는 블록을 '현재블록'이라 칭한다. QTBTTT 분할의 채용에 따라, 현재블록의 모양은 정사각형뿐만 아니라 직사각형일 수도 있다.
예측부(120)는 현재블록을 예측하여 예측블록을 생성한다. 예측부(120)는 인트라 예측부(122)와 인터 예측부(124)를 포함한다.
일반적으로, 픽처 내 현재블록들은 각각 예측적으로 코딩될 수 있다. 일반적으로 현재블록의 예측은 (현재블록을 포함하는 픽처로부터의 데이터를 사용하는) 인트라 예측 기술 또는 (현재블록을 포함하는 픽처 이전에 코딩된 픽처로부터의 데이터를 사용하는) 인터 예측 기술을 사용하여 수행될 수 있다. 인터 예측은 단방향 예측과 양방향 예측 모두를 포함한다.
인트라 예측부(122)는 현재블록이 포함된 현재 픽처 내에서 현재블록의 주변에 위치한 픽셀(참조 픽셀)들을 이용하여 현재블록 내의 픽셀들을 예측한다. 예측 방향에 따라 복수의 인트라 예측모드가 존재한다. 예컨대, 도 3a에서 보는 바와 같이, 복수의 인트라 예측모드는 planar 모드와 DC 모드를 포함하는 2개의 비방향성 모드와 65개의 방향성 모드를 포함할 수 있다. 각 예측모드에 따라 사용할 주변 픽셀과 연산식이 다르게 정의된다.
직사각형 모양의 현재블록에 대한 효율적인 방향성 예측을 위해, 도 3b에 점선 화살표로 도시된 방향성 모드들(67 ~ 80번, -1 ~ -14 번 인트라 예측모드들)이 추가로 사용될 수 있다. 이들은 "광각 인트라 예측모드들(wide angle intra-prediction modes)"로 지칭될 수 있다. 도 3b에서 화살표들은 예측에 사용되는 대응하는 참조샘플들을 가리키는 것이며, 예측 방향을 나타내는 것이 아니다. 예측 방향은 화살표가 가리키는 방향과 반대이다. 광각 인트라 예측모드들은 현재블록이 직사각형일 때 추가적인 비트 전송 없이 특정 방향성 모드를 반대방향으로 예측을 수행하는 모드이다. 이때 광각 인트라 예측모드들 중에서, 직사각형의 현재블록의 너비와 높이의 비율에 의해, 현재블록에 이용 가능한 일부 광각 인트라 예측모드들이 결정될 수 있다. 예컨대, 45도보다 작은 각도를 갖는 광각 인트라 예측모드들(67 ~ 80번 인트라 예측모드들)은 현재블록이 높이가 너비보다 작은 직사각형 형태일 때 이용 가능하고, -135도보다 큰 각도를 갖는 광각 인트라 예측모드들(-1 ~ -14 번 인트라 예측모드들)은 현재블록이 높이가 너비보다 큰 직사각형 형태일 때 이용 가능하다.
인트라 예측부(122)는 현재블록을 부호화하는데 사용할 인트라 예측모드를 결정할 수 있다. 일부 예들에서, 인트라 예측부(122)는 여러 인트라 예측모드들을 사용하여 현재블록을 인코딩하고, 테스트된 모드들로부터 사용할 적절한 인트라 예측모드를 선택할 수도 있다. 예를 들어, 인트라 예측부(122)는 여러 테스트된 인트라 예측모드들에 대한 레이트 왜곡(rate-distortion) 분석을 사용하여 레이트 왜곡 값들을 계산하고, 테스트된 모드들 중 최선의 레이트 왜곡 특징들을 갖는 인트라 예측모드를 선택할 수도 있다.
인트라 예측부(122)는 복수의 인트라 예측모드 중에서 하나의 인트라 예측모드를 선택하고, 선택된 인트라 예측모드에 따라 결정되는 주변 픽셀(참조 픽셀)과 연산식을 사용하여 현재블록을 예측한다. 선택된 인트라 예측모드에 대한 정보는 엔트로피 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 전달된다.
인터 예측부(124)는 움직임 보상 과정을 통해 현재블록에 대한 예측블록을 생성한다. 인터 예측부(124)는 현재 픽처보다 먼저 부호화 및 복호화된 참조픽처 내에서 현재블록과 가장 유사한 블록을 탐색하고, 그 탐색된 블록을 이용하여 현재블록에 대한 예측블록을 생성한다. 그리고, 현재 픽처 내의 현재블록과 참조픽처 내의 예측블록 간의 변위(displacement)에 해당하는 움직임벡터(motion vector)를 생성한다. 일반적으로, 움직임 추정은 루마(luma) 성분에 대해 수행되고, 루마 성분에 기초하여 계산된 모션 벡터는 루마 성분 및 크로마 성분 모두에 대해 사용된다. 현재블록을 예측하기 위해 사용된 참조픽처에 대한 정보 및 움직임벡터에 대한 정보를 포함하는 움직임 정보는 엔트로피 부호화부(155)에 의해 부호화되어 영상 복호화 장치로 전달된다.
감산기(130)는 현재블록으로부터 인트라 예측부(122) 또는 인터 예측부(124)에 의해 생성된 예측블록을 감산하여 잔차블록을 생성한다.
변환부(140)는 잔차블록을 하나 이상의 변환블록들로 나누고, 변환을 하나 이상의 변환 블록들에 적용하여, 변환블록들의 잔차 값들을 픽셀 도메인에서 주파수 도메인으로 변환한다. 주파수 도메인에서, 변환된 블록들은 하나 이상의 변환 계수 값들을 포함하는 계수 블록들이라고 지칭된다. 변환에는 2차원 변환 커널이 사용될 수 있으며, 수평 방향 변환과 수직 방향 변환에 각각 1차원 변환 커널이 사용될 수도 있다. 변환 커널은 이산 코사인 변환(DCT), 이산 사인 변환(DST) 등에 기반할 수 있다.
변환부(140)는 잔차블록의 전체 크기를 변환 단위로 사용하여 잔차블록 내의 잔차 신호들을 변환할 수 있다. 또한, 변환부(140)는 잔차블록을 수평 혹은 수직 방향으로 2개의 서브블록으로 분할하고, 변환을 2개의 서브블록 중 하나에만 수행할 수 있다. 따라서, 변환 블록의 사이즈는 잔차 블록의 사이즈(따라서 예측블록의 사이즈)와 상이할 수도 있다. 변환이 수행되지 않는 서브블록에는 논-제로 잔차 샘플 값들이 존재하지 않거나 매우 희소할 수 있다. 변환이 수행되지 않는 서브블록의 잔차 샘플들은 시그널링되지 않으며, 영상 복호화 장치에 의해 모두 "0"으로 간주될 수 있다. 분할 방향과 분할 비율에 따라 여러 파티션 타입들이 존재할 수 있다. 변환부(140)는 잔차블록의 코딩 모드(혹은 변환 모드)에 관한 정보(예컨대, 잔차 블록을 변환하였는지 아니면 잔차 서브블록을 변환하였는지를 나타내는 정보, 잔차블록을 서브블록들로 분할하기 위해 선택된 파티션 타입을 나타내는 정보, 변환이 수행되는 서브블록을 식별하는 정보 등을 포함하는 정보)를 엔트로피 부호화부(155)에 제공할 수 있다. 엔트로피 부호화부(155)는 잔차블록의 코딩 모드(혹은 변환 모드)에 관한 정보를 부호화할 수 있다.
양자화부(145)는 변환부(140)로부터 출력되는 변환 계수들을 양자화하고, 양자화된 변환 계수들을 엔트로피 부호화부(155)로 출력한다. 양자화부(145)는, 어떤 블록 혹은 프레임에 대해, 변환 없이, 관련된 잔차 블록을 곧바로 양자화할 수도 있다.
재정렬부(150)는 양자화된 잔차 값에 대해 계수 값의 재정렬을 수행할 수 있다. 재정렬부(150)는 계수 스캐닝(coefficient scanning)을 통해 2차원의 계수 어레이를 1차원의 계수 시퀀스로 변경할 수 있다. 예를 들어, 재정렬부(150)에서는 지그-재그 스캔(zig-zag scan) 또는 대각선 스캔(diagonal scan)을 이용하여 DC 계수부터 고주파수 영역의 계수까지 스캔하여 1차원의 계수 시퀀스를 출력할 수 있다. 변환 단위의 크기 및 인트라 예측모드에 따라 지그-재그 스캔 대신 2차원의 계수 어레이를 열 방향으로 스캔하는 수직 스캔, 2차원의 블록 형태 계수를 행 방향으로 스캔하는 수평 스캔이 사용될 수도 있다. 즉, 변환 단위의 크기 및 인트라 예측 모드에 따라 지그-재그 스캔, 대각선 스캔, 수직 방향 스캔 및 수평 방향 스캔 중에서 사용될 스캔 방법이 결정될 수도 있다.
엔트로피 부호화부(155)는, CABAC(Context-based Adaptive Binary Arithmetic Code), 지수 골롬(Exponential Golomb) 등의 다양한 부호화 방식을 사용하여, 재정렬부(150)로부터 출력된 1차원의 양자화된 변환 계수들의 시퀀스를 부호화함으로써 비트스트림을 생성한다.
또한, 엔트로피 부호화부(155)는 블록 분할과 관련된 CTU size, CU 분할 플래그, QT 분할 플래그, MTT 분할 타입, MTT 분할 방향 등의 정보를 부호화하여, 영상 복호화 장치가 영상 부호화 장치와 동일하게 블록을 분할할 수 있도록 한다. 또한, 엔트로피 부호화부(155)는 현재블록이 인트라 예측에 의해 부호화되었는지 아니면 인터 예측에 의해 부호화되었는지 여부를 지시하는 예측 타입에 대한 정보를 부호화하고, 예측 타입에 따라 인트라 예측정보(즉, 인트라 예측모드에 대한 정보) 또는 인터 예측정보(참조픽처 및 움직임벡터에 대한 정보)를 부호화한다.
역양자화부(160)는 양자화부(145)로부터 출력되는 양자화된 변환 계수들을 역양자화하여 변환 계수들을 생성한다. 역변환부(165)는 역양자화부(160)로부터 출력되는 변환 계수들을 주파수 도메인으로부터 공간 도메인으로 변환하여 잔차블록을 복원한다.
가산부(170)는 복원된 잔차블록과 예측부(120)에 의해 생성된 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 픽셀들은 다음 순서의 블록을 인트라 예측할 때 참조 픽셀로서 사용된다.
필터부(180)는 블록 기반의 예측 및 변환/양자화로 인해 발생하는 블록킹 아티팩트(blocking artifacts), 링잉 아티팩트(ringing artifacts), 블러링 아티팩트(blurring artifacts) 등을 줄이기 위해 복원된 픽셀들에 대한 필터링을 수행한다. 필터부(180)는 디블록킹 필터(182)와 SAO(Sample Adaptive Offset) 필터(184)를 포함할 수 있다.
디블록킹 필터(180)는 블록 단위의 부호화/복호화로 인해 발생하는 블록킹 현상(blocking artifact)을 제거하기 위해 복원된 블록 간의 경계를 필터링하고, SAO 필터(184)는 디블록킹 필터링된 영상에 대해 추가적인 필터링을 수행한다. SAO 필터(184)는 손실 부호화(lossy coding)로 인해 발생하는 복원된 픽셀과 원본 픽셀 간의 차이를 보상하기 위해 사용되는 필터이다.
디블록킹 필터(182) 및 SAO 필터(184)를 통해 필터링된 복원블록은 메모리(190)에 저장된다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용될 수 있다.
도 4는 본 개시의 기술들을 구현할 수 있는 영상 복호화 장치의 예시적인 블록도이다. 이하에서는 도 4를 참조하여 영상 복호화 장치와 이 장치의 하위 구성들에 대하여 설명하도록 한다.
영상 복호화 장치는 엔트로피 복호화부(410), 재정렬부(415), 역양자화부(420), 역변환부(430), 예측부(440), 가산기(450), 필터부(460) 및 메모리(470)를 포함하여 구성될 수 있다.
도 1의 영상 부호화 장치와 마찬가지로, 영상 복호화 장치의 각 구성요소는 하드웨어 또는 소프트웨어로 구현되거나, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 각 구성요소의 기능이 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
엔트로피 복호화부(410)는 영상 부호화 장치에 의해 생성된 비트스트림을 복호화하여 블록 분할과 관련된 정보를 추출함으로써 복호화하고자 하는 현재블록을 결정하고, 현재블록을 복원하기 위해 필요한 예측정보와 잔차신호에 대한 정보 등을 추출한다.
엔트로피 복호화부(410)는 SPS(Sequence Parameter Set) 또는 PPS(Picture Parameter Set)로부터 CTU size에 대한 정보를 추출하여 CTU의 크기를 결정하고, 픽처를 결정된 크기의 CTU로 분할한다. 그리고, CTU를 트리 구조의 최상위 레이어, 즉, 루트 노드로 결정하고, CTU에 대한 분할정보를 추출함으로써 트리 구조를 이용하여 CTU를 분할한다.
예컨대, QTBTTT 구조를 사용하여 CTU를 분할하는 경우, 먼저 QT의 분할과 관련된 제1 플래그(QT_split_flag)를 추출하여 각 노드를 하위 레이어의 네 개의 노드로 분할한다. 그리고, QT의 리프 노드에 해당하는 노드에 대해서는 MTT의 분할과 관련된 제2 플래그(MTT_split_flag) 및 분할 방향(vertical / horizontal) 및/또는 분할 타입(binary / ternary) 정보를 추출하여 해당 리프 노드를 MTT 구조로 분할한다. 이를 통해 QT의 리프 노드 이하의 각 노드들을 BT 또는 TT 구조로 반복적으로(recursively) 분할한다.
또 다른 예로서, QTBTTT 구조를 사용하여 CTU를 분할하는 경우, 먼저 CU의 분할 여부를 지시하는 CU 분할 플래그(split_cu_flag)를 추출하고, 해당 블록이 분할된 경우, 제1 플래그(QT_split_flag)를 추출할 수도 있다. 분할 과정에서 각 노드는 0번 이상의 반복적인 QT 분할 후에 0번 이상의 반복적인 MTT 분할이 발생할 수 있다. 예컨대, CTU는 바로 MTT 분할이 발생하거나, 반대로 다수 번의 QT 분할만 발생할 수도 있다.
다른 예로서, QTBT 구조를 사용하여 CTU를 분할하는 경우, QT의 분할과 관련된 제1 플래그(QT_split_flag)를 추출하여 각 노드를 하위 레이어의 네 개의 노드로 분할한다. 그리고, QT의 리프 노드에 해당하는 노드에 대해서는 BT로 더 분할되는지 여부를 지시하는 분할 플래그(split_flag) 및 분할 방향 정보를 추출한다.
한편, 엔트로피 복호화부(410)는 트리 구조의 분할을 통해 복호화하고자 하는 현재블록을 결정하게 되면, 현재블록이 인트라 예측되었는지 아니면 인터 예측되었는지를 지시하는 예측 타입에 대한 정보를 추출한다. 예측 타입 정보가 인트라 예측을 지시하는 경우, 엔트로피 복호화부(410)는 현재블록의 인트라 예측정보(인트라 예측모드)에 대한 신택스 엘리먼트를 추출한다. 예측 타입 정보가 인터 예측을 지시하는 경우, 엔트로피 복호화부(410)는 인터 예측정보에 대한 신택스 엘리먼트, 즉, 움직임벡터 및 그 움직임벡터가 참조하는 참조픽처를 나타내는 정보를 추출한다.
한편, 엔트로피 복호화부(410)는 잔차블록의 코딩 모드에 관한 정보(예컨대, 잔차블록이 부호화되었는지 잔차블록의 서브블록만이 부호화되었는지 여부에 관한 정보, 잔차블록을 서브블록들로 분할하기 위해 선택된 파티션 타입을 나타내는 정보, 부호화된 잔차 서브블록을 식별하는 정보, 양자화 파라미터 등)를 비트스트림으로부터 추출한다. 또한, 엔트로피 복호화부(410)는 잔차신호에 대한 정보로서 현재블록의 양자화된 변환계수들에 대한 정보를 추출한다.
재정렬부(415)는, 영상 부호화 장치에 의해 수행된 계수 스캐닝 순서의 역순으로, 엔트로피 복호화부(410)에서 엔트로피 복호화된 1차원의 양자화된 변환계수들의 시퀀스를 다시 2차원의 계수 어레이(즉, 블록)로 변경할 수 있다.
역양자화부(420)는 양자화된 변환계수들을 역양자화하고, 역변환부(430)는, 잔차블록의 코딩 모드에 관한 정보를 기초로, 역양자화된 변환계수들을 주파수 도메인으로부터 공간 도메인으로 역변환하여 잔차신호들을 복원함으로써 현재블록에 대한 복원된 잔차블록을 생성한다.
역변환부(430)는, 잔차블록의 코딩 모드에 관한 정보가 영상 부호화 장치에서 현재블록의 잔차블록이 부호화되었다고 지시하는 경우에, 역양자화된 변환계수들에 대해 현재블록의 사이즈(따라서, 복원될 잔차블록의 사이즈)를 변환 단위로 사용하여 역변환을 수행하여 현재블록에 대한 복원된 잔차블록을 생성한다.
또한, 역변환부(430)는, 잔차블록의 코딩 모드에 관한 정보가 영상 부호화 장치에서 잔차블록의 하나의 서브블록만이 부호화되었다고 지시하는 경우에, 역양자화된 변환계수들에 대해, 변환된 서브블록의 사이즈를 변환 단위로 사용하여, 역변환을 수행하여 변환된 서브블록에 대한 잔차신호들을 복원하고, 비변환된 서브블록에 대한 잔차신호들을 "0" 값으로 채움으로써, 현재블록에 대한 복원된 잔차블록을 생성한다.
예측부(440)는 인트라 예측부(442) 및 인터 예측부(444)를 포함할 수 있다. 인트라 예측부(442)는 현재블록의 예측 타입이 인트라 예측일 때 활성화되고, 인터 예측부(444)는 현재블록의 예측 타입이 인터 예측일 때 활성화된다.
인트라 예측부(442)는 엔트로피 복호화부(410)로부터 추출된 인트라 예측모드에 대한 신택스 엘리먼트로부터 복수의 인트라 예측모드 중 현재블록의 인트라 예측모드를 결정하고, 인트라 예측모드에 따라 현재블록 주변의 참조 픽셀들을 이용하여 현재블록을 예측한다.
인터 예측부(444)는 엔트로피 복호화부(410)로부터 추출된 인트라 예측모드에 대한 신택스 엘리먼트를 이용하여 현재블록의 움직임벡터와 그 움직임벡터가 참조하는 참조픽처를 결정하고, 움직임벡터와 참조픽처를 이용하여 현재블록을 예측한다.
가산기(450)는 역변환부(430)로부터 출력되는 잔차블록과 인터 예측부(444) 또는 인트라 예측부(442)로부터 출력되는 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 픽셀들은 이후에 복호화할 블록을 인트라 예측할 때의 참조픽셀로서 활용된다.
필터부(460)는 디블록킹 필터(462) 및 SAO 필터(464)를 포함할 수 있다. 디블록킹 필터(462)는 블록 단위의 복호화로 인해 발생하는 블록킹 현상(blocking artifact)를 제거하기 위해, 복원된 블록 간의 경계를 디블록킹 필터링한다. SAO 필터(464)는 손실 부호화(lossy coding)으로 인해 발생하는 복원된 픽셀과 원본 픽셀 간의 차이를 보상하기 위해, 디블록킹 필터링 이후의 복원된 블록에 대해 추가적인 필터링을 수행한다. 디블록킹 필터(462) 및 SAO 필터(464)를 통해 필터링된 복원블록은 메모리(470)에 저장된다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.
부호화 장치와 복호화 장치는 현재블록을 사각형 모양의 블록들로 분할할 수 있을 뿐만 아니라, 예측 성능을 높이기 위해 삼각형 모양의 블록들로 분할할 수도 있다. 이를 위해, 부호화 장치와 복호화 장치는 삼각형 모양의 블록 분할 모드(triangle partition mode, TPM)도 지원할 수 있다.
TPM에서, 부호화 장치는 도 5와 같이 현재블록을 두 개의 삼각형 블록들로 분할하고, 머지 모드(merge mode)에 기반하여 삼각형 블록들 각각에 대해 인터 예측을 수행한다. 두 가지 분할 형태(우하향 대각선 방향의 분할(도 5의 (a)) 및 우상향 대각선 방향의 분할(도 5의 (b)) 중에서 어느 하나를 지시하는 신택스 요소 및 삼각형 블록들 각각에 대한 머지 인덱스(움직임 정보)가 부호화되어 복호화 장치로 시그널링된다. 복호화 장치는 분할 형태를 지시하는 신택스 요소를 이용하여 현재블록을 삼각형 블록들로 분할하고, 시그널링된 머지 인덱스에 기반하여 삼각형 블록들 각각에 대해 인터 예측을 수행한다. 부호화 장치 및 복호화 장치는 분할 경계에서 발생하는 샘플들 값의 불연속성을 제거하기 위해 분할 경계에 대한 블렌딩(blending)을 추가적으로 수행할 수 있다.
그러나, 영상의 해상도가 점점 증가함에 따라 예측 블록의 크기도 증가하고 있으며, 이에 따라 더욱 다양한 모양(예를 들어, 임의의 모양 또는 비직사각형 모양)의 블록 분할과, 분할된 블록에 대한 인트라 예측의 적용이 요구되고 있다.
따라서, 본 발명은 현재블록을 비직사각형 블록들로 분할하는 방법과, 비직사각형 블록들에 대해 인터 예측뿐만 아니라 인트라 예측까지 적용하는 방법을 제안한다. 본 발명의 방법은 GIIP 모드(geometrical partitioning for intra and inter prediction) 또는 제1모드라 지칭될 수 있다.
본 발명에서 제안하는 방법의 일 예에 대한 순서도가 도 6에 나타나 있다.
1. 블록 분할
부호화 장치는 현재블록을 비직사각형 블록들로 분할하고, 비직사각형 블록들이 분할된 구조를 지시하는 분할 모드 신택스 요소를 부호화하여 복호화 장치로 시그널링할 수 있다. 엔트로피 복호화부(410)는 비트스트림으로부터 분할 모드 신택스 요소를 복호화하고, 복호화된 분할 모드 신택스 요소에 기초하여 현재블록을 비직사각형 블록들로 분할할 수 있다(S604).
도 7의 예에서, 분할 경계(partition edge)는 현재블록(CU)의 중앙 위치(center)로부터 분할 경계까지의 수직 거리(di) 및 분할 경계가 현재블록의 가로 방향(수평 방향)과 이루는 각도(ai)에 의해 결정될 수 있다. ai는 0 ~ 360도 사이의 값을 가질 수 있으며, di의 최대 값이 dmax는 ai, 현재블록의 너비(width, w) 및 높이(height, h)에 의해 수학식 1과 같이 결정될 수 있다.
Figure pat00001
수학식 1에서,
Figure pat00002
는 가로 방향 축으로부터 블록 경계까지의 각도(ai)를 나타내며, b의 감산은 현재블록의 코너와 블록 경계가 너무 가까워지는 것을 방지하기 위함이다.
분할 모드 신택스 요소는 ai와 di를 직접적으로 나타내거나, 미리 설정된 ai와 미리 설정된 di 중에서 현재블록의 분할 경계를 지시하는 인덱스일 수 있다. 분할 모드 신택스 요소가 인덱스로 구현되는 경우, 부호화 장치와 복호화 장치는 미리 설정된 ai와 미리 설정된 di에 대한 룩업 테이블을 이용하여 분할 모드 신택스 요소가 나타내는 인덱스의 ai와 di를 결정할 수 있다.
2. GIIP 모드의 수행 여부 판단
실시형태에 따라, S604 과정이 수행되기 전에, GIIP 모드의 적용 여부를 판단하는 과정(S602)이 먼저 수행될 수도 있다. GIIP 모드의 적용 여부는 신택스 요소, 주변 블록들의 예측 타입, 분할 경계의 각도 등에 따라 결정될 수 있다.
일 예로, 부호화 장치는 현재블록에 대해 GIIP 모드가 수행되었는지 여부를 적용 신택스 요소의 값으로 설정하고, 적용 신택스 요소를 부호화하여 복호화 장치로 시그널링할 수 있다. 엔트로피 복호화부(410)는 비트스트림으로부터 적용 신택스 요소를 복호화하고, 적용 신택스 요소의 값에 따라 GIIP 모드의 적용 여부를 판단할 수 있다(S602).
적용 신택스 요소는 1-bit의 플래그일 수 있다. 적용 신택스 요소==0인 경우에는 GIIP 모드가 적용되지 않는다. 이 경우, 종래의 TPM과 같이 비직사각형 블록들 각각의 머지 인덱스를 이용한 인터 예측이 수행될 수 있다. 적용 신택스 요소==1인 경우에는 GIIP 모드가 적용되어, 인터 블록(비직사각형 블록들 중에서 인터 예측 타입에 의해 예측되는 블록)에 대해서는 움직임 정보를 이용한 인터 예측이 수행되고, 인트라 블록(비직사각형 블록들 중에서 인트라 예측 타입에 의해 예측되는 블록)에 대해서는 인트라 예측 모드를 이용한 인트라 예측이 수행될 수 있다.
다른 예로, 부호화 장치와 복호화 장치는 현재블록의 주변에 위치한 주변 블록들 중에서 인트라 예측 타입에 따라 예측된 블록들의 수를 기준으로 하여, GIIP 모드의 적용 여부를 판단할 수 있다.
도 8의 예에서, 주변 블록인 A, B, C 및 D의 예측 타입을 고려하여 GIIP 모드의 적용 여부가 판단되거나, A 및 B의 예측 타입을 고려하여 GIIP 모드의 적용 여부가 판단될 수 있다.
A, B, C 및 D의 예측 타입이 고려되는 경우, 인트라 예측된 주변 블록의 개수가 3 이상이면 GIIP 모드가 적용되는 것으로 판단되며, 인트라 예측된 주변 블록의 개수가 2이면 적용 신택스 요소의 값에 따라 GIIP 모드의 적용 여부가 판단되고, 인트라 예측된 주변 블록의 개수가 1 이하이면 GIIP 모드가 적용되지 않는 것으로 판단될 수 있다. 실시형태에 따라, 인트라 예측된 주변 블록의 개수가 2 이상이거나 3인 경우에 GIIP 모드가 적용되는 것으로 판단될 수 있다. 실시형태에 따라, 주변 블록의 개수가 2 미만이거나 3인 경우에 GIIP 모드가 적용되지 않는 것으로 판단될 수도 있다.
A 및 B의 예측 타입이 고려되는 경우, 인트라 예측된 주변 블록의 개수가 2인 경우에 GIIP 모드가 적용되는 것으로 판단되고, 인트라 예측된 주변 블록의 개수가 1이면 적용 신택스 요소의 값에 따라 GIIP 모드의 적용 여부가 판단되며, 인트라 예측된 주변 블록의 개수가 0이면 GIIP 모드가 적용되지 않는 것으로 판단될 수 있다. 실시형태에 따라, 인트라 예측된 주변 블록의 개수가 1 이상이거나 2인 경우에 GIIP 모드가 적용되는 것으로 판단될 수 있다. 실시형태에 따라, 인트라 예측된 주변 블록의 개수가 1 미만이거나 2인 경우에 GIIP 모드가 적용되지 않는 것으로 판단될 수도 있다.
3. 인터 블록 및 인트라 블록 결정
다시 S604 과정으로 돌아와, 현재블록이 비직사각형 블록들로 분할되면, 비직사각형 블록들 중에서 인트라 타입에 따라 예측되는 인트라 블록과 인터 예측 타입에 따라 예측되는 인터 블록을 결정하는 과정(S606)이 수행된다. S606 과정은 비직사각형 블록들의 예측 타입을 결정하는 과정일 수 있다.
비직사각형 블록들의 예측 타입은 1) 비직사각형 블록들의 예측 타입을 지시하는 타입 신택스 요소에 의해 명시적으로 결정되거나, 2) 분할 경계의 각도 및 수직 거리 중에서 하나 이상에 의해 암시적으로 결정될 수 있다(S608).
1)의 경우, 부호화 장치는 비직사각형 블록들의 예측 타입을 타입 신택스 요소의 값으로 설정하고, 타입 신택스 요소를 부호화하여 복호화 장치로 시그널링할 수 있다. 복호화 장치는 타입 신택스 요소를 비트스트림으로부터 복호화하고, 예측부(440)는 타입 신택스 요소의 값에 따라 비직사각형 블록들의 예측 타입을 결정할 수 있다.
2)의 경우, 예측부(120, 440)는 분할 경계의 각도(분할 경계가 현재블록의 가로 방향과 이루는 각도) 및 수직 거리(분할 경계와 center 사이의 수직 거리) 중에서 하나 이상에 따라 비직사각형 블록들의 예측 타입을 결정할 수 있다.
도 9의 (a)와 같이, 분할 경계의 각도가 0~90도인 경우, 위쪽에 위치한 비직사각형 블록(위쪽 블록)이 아래쪽에 위치한 비직사각형 블록(아래쪽 블록)에 비해 인트라 예측에 이용되는 참조샘플들(패턴으로 표현된 샘플들)로부터 더 가깝게 위치한다. 따라서, 이 경우에는 위쪽 블록이 인트라 블록으로 결정되며, 아래쪽 블록이 인터 블록으로 결정될 수 있다.
또한, 도 9의 (a)의 경우, 분할 경계의 수직 거리가 클수록, 위쪽 블록에 인접하는 참조샘플들의 개수가 감소하며 아래쪽 블록에 인접하는 참조샘플들의 개수가 증가한다. 분할 경계의 수직 거리 매우 커서 위쪽 블록에 인접하는 참조샘플들의 개수가 아래쪽 블록에 인접하는 참조샘플들의 개수 미만인 경우에는 위쪽 블록이 인터 블록으로 결정되며 아래쪽 블록이 인트라 블록으로 결정될 수 있다.
도 9의 (b)와 같이, 분할 경계의 각도가 90~180도인 경우, 왼쪽에 위치한 비직사각형 블록(A 블록)이 오른쪽에 위치한 비직사각형 블록(B 블록)에 비해 참조샘플들로부터 더 가깝게 위치한다. 따라서, 이 경우에는 A 블록이 인트라 블록으로 결정되며, B 블록이 인터 블록으로 결정될 수 있다.
또한, 도 9의 (b)의 경우, 분할 경계의 수직 거리가 클수록, 왼쪽 블록(A 블록)에 인접하는 참조샘플들의 개수가 감소하며 오른쪽 블록(B 블록)에 인접하는 참조샘플들의 개수가 증가한다. 분할 경계의 수직 거리 매우 커서 A 블록에 인접하는 참조샘플들의 개수가 B 블록에 인접하는 참조샘플들의 개수 미만인 경우에는 A 블록이 인터 블록으로 결정되며 B 블록이 인트라 블록으로 결정될 수 있다.
도 9의 (c)와 같이, 분할 경계의 각도가 90~180도이면서 분할 경계가 center의 위쪽에 위치하는 경우, 위쪽에 위치한 비직사각형 블록(B 블록)이 아래쪽에 위치한 비직사각형 블록(A 블록)에 비해 참조샘플들로부터 더 가깝게 위치한다. 따라서, 이 경우에는 B 블록이 인트라 블록으로 결정되며, A 블록이 인터 블록으로 결정될 수 있다.
또한, 도 9의 (c)의 경우, 분할 경계의 수직 거리가 클수록, B 블록에 인접하는 참조샘플들의 개수가 감소하며 A 블록에 인접하는 참조샘플들의 개수가 증가한다. 분할 경계의 수직 거리 매우 커서 B 블록에 인접하는 참조샘플들의 개수가 A 블록에 인접하는 참조샘플들의 개수 미만인 경우에는 B 블록이 인터 블록으로 결정되며 A 블록이 인트라 블록으로 결정될 수 있다.
4. 비직사각형 블록들의 예측 샘플 유도(예측 실행)
인터 블록 및 인트라 블록이 결정되면, 인터 블록 및 인트라 블록 각각에 대한 예측 샘플들을 유도 또는 생성하는 과정(S610)이 수행될 수 있다.
인터 블록의 예측 샘플들을 유도하는 과정은 움직임 정보에 기반하여 수행될 수 있다. 부호화 장치는 인터 블록의 인터 예측에 이용된 움직임 정보(예를 들어, 머지 인덱스)를 부호화하여 복호화 장치로 시그널링할 수 있다. 복호화 장치는 비트스트림으로부터 움직임 정보를 복호화하고, 인터 예측부(444)는 움직임 정보를 이용하여 제1영역의 예측 샘플들을 유도할 수 있다.
제1영역은 인터 블록을 포함하는 영역으로서, 현재블록 내에 포함될 수 있다. 따라서, 제1영역은 인터 블록과 같거나, 인터 블록에 분할 경계 주변에 위치하는 샘플들을 더 포함하는 영역이거나, 현재블록과 같을 수 있다. 제1영역이 현재블록과 같은 경우에는 현재블록 전체에 대한 인터 예측 샘플들이 유도될 수 있다.
인트라 예측 모드 결정
인트라 블록의 예측 샘플들을 유도하는 과정은 인트라 예측 모드에 기반하여 수행될 수 있다. 부호화 장치는 인트라 블록의 인트라 예측에 이용된 예측 모드(인트라 예측 모드)에 대한 정보를 부호화하여 복호화 장치로 시그널링할 수 있다. 인트라 예측 모드에 대한 정보는 미리 설정된 인트라 예측 모드 후보들 중에서 어느 하나를 지시하는 인덱스(모드 인덱스)일 수 있다. 복호화 장치는 비트스트림으로부터 인트라 예측 모드에 대한 정보를 복호화하고, 인트라 예측부(442)는 인트라 예측 모드에 의해 지시되는 인트라 예측 모드를 이용하여 제2영역의 예측 샘플들을 유도할 수 있다.
제2영역은 인트라 블록을 포함하는 영역으로서, 현재블록 내에 포함될 수 있다. 따라서, 제2영역은 인트라 블록과 같거나, 인트라 블록에 분할 경계 주변에 위치하는 샘플들을 더 포함하는 영역이거나, 현재블록과 같을 수 있다. 제2영역이 현재블록과 같은 경우에는 현재블록 전체에 대한 인트라 예측 샘플들이 유도될 수 있다.
실시예에 따라, 인트라 예측 모드 후보들은 분할 경계의 각도와 동일하거나 유사한(분할 경계의 각도에 대응되는) 하나 이상의 방향성 모드들을 포함할 수 있다. 다른 실시예에 따라, 인트라 예측 모드 후보들은 분할 경계에 대응되는 방향성 모드들에 HOR(horizontal) 방향성 모드 및 VER(vertical) 방향성 모드를 더 포함할 수 있으며, 비방향성 모드에 해당하는 플래너(planar) 모드를 더 포함할 수도 있다.
도 9의 (a)와 같이, 분할 경계의 각도에 대응되는 방향성 모드들이 A 및 B라고 하면, 인트라 예측 모드 후보들은 방향성 모드 A와 방향성 모드 B를 포함할 수 있다. 또한, 인트라 예측 모드 후보들은 방향성 모드 A와 방향성 모드 B에 플래너 모드, HOR 모드 및 VER 모드 중에서 하나 이상을 추가적으로 더 포함할 수도 있다.
도 9의 (b)와 같이, 분할 경계의 각도에 대응되는 방향성 모드가 A라고 하면, 인트라 예측 모드 후보들은 방향성 모드 A를 포함할 수 있다. 또한, 인트라 예측 모드 후보들은 방향성 모드 A에 플래너 모드 및 HOR 모드 중에서 하나 이상을 추가적으로 더 포함할 수도 있다.
도 9의 (c)와 같이, 분할 경계의 각도에 대응되는 방향성 모드가 A라고 하면, 인트라 예측 모드 후보들은 방향성 모드 A를 포함할 수 있다. 또한, 인트라 예측 모드 후보들은 방향성 모드 A에 플래너 모드 및 VER 모드 중에서 하나 이상을 추가적으로 더 포함할 수도 있다.
실시예에 따라, 인트라 예측 모드 후보들은 분할 경계의 각도와 무관하게 도 3b에 표현된 93개의 방향성 모드들(광각 인트라 예측 모드들 중에서 플래너 모드 및 DC 모드 제외)을 포함하거나, 도 3a에 표현된 67개의 인트라 예측 모드들을 포함할 수도 있다. 다른 실시예에 따라, 인트라 예측 모드 후보들은 HOR 방향성 모드, VER 방향성 모드 및 플래너 모드를 포함하는 35개의 인트라 예측 모드들로 구성될 수도 있다.
실시형태를 달리하여, 인트라 블록의 예측에 이용되는 인트라 예측 모드는 인트라 예측 모드에 대한 정보에 의해 명시적으로 지시되는 것이 아닌, 부호화 장치와 복호화 장치 간에 미리 약속될 수 있다. 예를 들어, 인트라 블록의 예측에 이용되는 인트라 예측 모드는 인트라 예측 모드 후보들 중에서 어느 하나로 미리 약속되거나, 플래너 모드로 미리 약속될 수 있다.
인트라 블록의 예측 샘플들 유도
인트라 블록의 예측 샘플들은 현재블록의 주변에 위치한 샘플들만을 참조하여 유도되거나(제1타입), 현재블록의 주변에 위치한 샘플들과 인터 블록의 예측 샘플들을 모두 참조하여 유도될 수 있다(제2타입).
제2타입의 수행 여부는 1-bit의 플래그를 통해 명시적으로 지시되거나, GIIP 모드가 적용되는 경우에 항상 수행되는 것으로 미리 약속될 수 있다(암시적). 제2타입의 수행 여부가 명시적으로 지시되는 경우, 부호화 장치는 제2타입의 수행 여부를 판단하고, 그 결과를 1-bit의 플래그의 값으로 설정한 후에, 1-bit의 플래그를 부호화하여 복호화 장치로 시그널링할 수 있다. 엔트로피 복호화부(410)는 비트스트림으로부터 1-bit의 플래그를 복호화할 수 있다.
제2타입이 수행되는 경우, 인터 예측부(124, 444)는 움직임 정보에 기초하여 움직임 보상 과정을 수행함으로써 인터 블록의 예측 샘플들을 유도하고(S1102), 인트라 예측부(122, 442)는 현재블록의 주변에 위치한 샘플들과 인터 블록의 예측 샘플들을 모두 참조하여 인트라 블록의 예측 샘플들을 유도할 수 있다(S1104). 제2타입에 대한 인트라 예측 모드 후보들은 도 12에 표현된 바와 같이 360도를 커버하는 방향성 모드들, 플래너 모드 및 DC 모드를 포함할 수 있다.
S1102 과정과 S1104 과정 사이에 인터 블록의 예측 샘플들에 스무딩(smoothing) 필터를 적용하는 과정이 수행될 수 있다. 즉, 인트라 예측부(122, 442)는 스무딩 필터가 적용된 인터 블록의 예측 샘플들을 참조하여 인트라 블록의 예측 샘플들을 유도할 수 있다. 스무딩 필터의 적용 여부는 부호화 장치로부터 시그널링되는 1-bit의 플래그를 통해 명시적으로 지시되거나, 부호화 장치와 복호화 장치 사이에 미리 약속될 수 있다.
인트라 예측부(122, 442)는 인터 블록의 예측 샘플들 중에서 전부 또는 일부를 참조하여 인트라 블록의 예측 샘플들을 유도할 수 있다. 예를 들어, 인트라 예측부(122, 442)는 인터 블록의 예측 샘플들 중에서 분할 경계에 인접하는 예측 샘플들을 참조하여 인트라 블록의 예측 샘플들을 유도할 수 있다(S1106).
분할 경계에 인접하는 인터 블록의 예측 샘플들을 참조하여 플래너 모드에 따라 인트라 블록의 예측 샘플들을 유도하는 일 예가 도 13에 나타나 있다.
도 13의 (a)와 같이, 인트라 블록 내 샘플(p)을 인트라 예측하는 경우, 주변 샘플들(패턴으로 표현된 샘플들) 중에서 r0,9 및 r9,0과, 인터 블록의 예측 샘플들(p1,8, p2,7, p3,6, p4,5, p5,4, p6,3, p7,2 및 p8,1) 중에서 p3,6 및 p7,2를 참조하여 인트라 블록 내 샘플(p)의 예측 샘플이 유도될 수 있다.
도 13의 (b)와 같이, 인트라 블록 내 샘플(p)을 인트라 예측하는 경우, 주변 샘플들(패턴으로 표현된 샘플들) 중에서 r0,2 및 r2,0과, 인터 블록의 예측 샘플들(p1,6, p2,5, p3,4, p4,3, p5,2, 및 p6,1) 중에서 p2,5 및 p5,2를 참조하여 인트라 블록 내 샘플(p)의 예측 샘플이 유도될 수 있다.
도 13의 (c)와 같이, 인트라 블록 내 샘플(p)을 인트라 예측하는 경우, 주변 샘플들(패턴으로 표현된 샘플들) 중에서 r0,6 및 r0,9과, 인터 블록의 예측 샘플들(p1,2, p2,3, p3,4, p4,5, p5,6, p6,7 및 p7,8) 중에서 p3,4 및 p5,6를 참조하여 인트라 블록 내 샘플(p)의 예측 샘플이 유도될 수 있다.
도 13의 (d)와 같이, 인트라 블록 내 샘플(p)을 인트라 예측하는 경우, 주변 샘플들(패턴으로 표현된 샘플들) 중에서 r7,0 및 r9,0과, 인터 블록의 예측 샘플들(p2,1, p3,2, p4,3, p5,4, p6,5, p7,6 및 p8,7) 중에서 p4,3 및 p7,6를 참조하여 인트라 블록 내 샘플(p)의 예측 샘플이 유도될 수 있다.
5. 예측 샘플 블랜딩(blending)
예측 샘플들의 유도가 완료되면, 분할 경계에서 발생하는 불연속성을 제거 또는 감소시키기 위한 블랜딩 과정이 수행될 수 있다. 블랜딩 과정은 현재블록 내 예측 샘플(대상 예측 샘플)과 분할 경계 사이의 거리에 기반하여, 대상 예측 샘플에 대한 인터 예측 값과 인트라 예측 값 각각에 가중치 합 연산을 수행하는 과정일 수 있다.
블랜딩 과정의 수행 여부는 부호화 장치로부터 복호화 장치로 시그널링되는 1-bit의 플래그를 통해 명시적으로 지시되거나, 부호화 장치와 복호화 장치 간에 미리 약속될 수 있다. 또한, 블랜딩 과정의 수행 여부는 인트라 블록의 인트라 예측 모드, 블록 경계 주변 샘플들 간의 샘플 값 차이 등에 따라 결정될 수도 있다. 예를 들어, 블록 경계 주변 샘플들 간의 샘플 값 차이가 미리 설정된 특정 값보다 크거나 작은 경우에 블랜딩 과정이 수행될 수 있다.
가중치 유도
블랜딩 과정이 적용되는 것으로 결정된 경우, 예측부(120, 440)는 인터 가중치와 인트라 가중치를 유도할 수 있다(S1402). 인터 가중치와 인트라 가중치는 대상 예측 샘플과 분할 경계 사이의 거리, 주변 블록들의 예측 타입, 인트라 예측 모드 등을 고려하여 유도될 수 있다. 인터 가중치는 대상 예측 샘플의 인터 예측 값에 적용될 가중치에 해당하며, 인트라 가중치는 대상 예측 샘플의 인트라 예측 값에 적용될 가중치에 해당한다.
대상 예측 샘플과 분할 경계 사이의 거리를 고려하여 인터 가중치와 인트라 가중치를 유도하는 예는 수학식 2를 통해 수행될 수 있다.
Figure pat00003
수학식 2에서, (x, y)는 대상 예측 샘플의 위치를 나타내며, sampleWeightintra는 인트라 가중치를 나타내고, sampleWeightinter는 인터 가중치를 나타낸다. Y는 블랜딩 필터에 따라 결정되는 데, n-bits 블랜딩 필터를 이용하는 경우에
Figure pat00004
이다. 따라서, 3-bits 블랜딩 필터를 이용하는 경우에 Y=8이다. dist는 대상 예측 샘플과 분할 경계 사이의 수직 거리를 스케일링한 값으로서, 대상 예측 샘플의 위치와 분할 경계 사이의 거리 및 분할 경계의 각도에 따른 룩업 테이블을 통해 획득될 수 있다. dist 값이 0~14인 경우에 3-bits BlendFilter[dist]의 값은 아래 표 1을 통해 유도될 수 있다.
Figure pat00005
주변 블록들의 예측 타입을 더 고려하여 인터 가중치와 인트라 가중치를 유도하는 예는 수학식 2, 수학식 3 및 수학식 4를 통해 수행될 수 있다.
Figure pat00006
Figure pat00007
수학식 3은 인트라 예측 타입에 의해 예측된 주변 블록들(인트라 주변 블록들)의 수가 인터 예측 타입에 의해 예측된 주변 블록들(인터 주변 블록들)의 수보다 작은 경우에 적용될 수 있다. 즉, 인터 주변 블록들의 수가 인트라 주변 블록들의 수보다 큰 경우에는, Y-BlendFilter[dist] 값에 오프셋(a)을 가산하여 인터 가중치가 유도되고, BlendFilter[dist] 값에 a를 감산하여 인트라 가중치가 유도될 수 있다. 여기서, a는 인트라 주변 블록들의 수와 인터 주변 블록들의 수 사이의 차이에 따라 미리 설정될 수 있다.
수학식 4는 인트라 주변 블록들의 수가 인터 주변 블록들의 수보다 큰 경우에 적용될 수 있다. 즉, 인트라 주변 블록들의 수가 인터 주변 블록들의 수보다 큰 경우에는, BlendFilter[dist] 값에 오프셋(a)을 가산하여 인트라 가중치가 유도되고, Y-BlendFilter[dist] 값에 a를 감산하여 인터 가중치가 유도될 수 있다.
두 개의 주변 블록들의 예측 타입을 더 고려하여 인터 가중치와 인트라 가중치를 유도하는 예가 도 15에 나타나 있다.
도 15에서, A와 B는 두 개의 주변 블록들을 나타내며, (x, y)는 대상 예측 샘플의 위치를 나타내고, di는 대상 예측 샘플과 분할 경계(점선으로 표현된 직선) 사이의 거리를 나타낸다.
A 및 B 중에서 어느 하나가 인트라 예측 타입에 따라 예측되고 다른 하나가 인터 예측 타입에 따라 예측된 경우에는 수학식 2를 통해 인터 가중치와 인트라 가중치가 유도될 수 있다. A 및 B 모두가 인터 예측 타입에 따라 예측된 경우에는 수학식 3을 통해 인터 가중치와 인트라 가중치가 유도될 수 있다. A 및 B 모두가 인트라 예측 타입에 따라 예측된 경우에는 수학식 4를 통해 인터 가중치와 인트라 가중치가 유도될 수 있다.
가중 예측 값 유도
인터 가중치와 인트라 가중치가 유도되면, 예측부(120, 440)는 대상 예측 샘플의 인트라 예측 값에 인트라 가중치를 적용하고 대상 예측 샘플의 인터 예측 값에 인터 가중치를 적용함으로써, 대상 예측 샘플의 블랜딩이 적용된 예측 값(가중 예측 값)을 유도할 수 있다.
가중 예측 값을 유도하는 과정은 수학식 5를 통해 수행될 수 있다.
Figure pat00008
수학식 5에서, Pblended는 가중 예측 값을 나타내며, Pintra는 대상 예측 샘플의 인트라 예측 값을 나타내고, Pinter는 대상 예측 샘플의 인터 예측 값을 나타낸다.
6. 분할 경계 디블록킹 필터링
GIIP 모드가 수행된 경우에, 블록 경계에 대해 디블록킹 필터가 적용될 수 있다.
디블록킹 필터링의 수행 여부는 부호화 장치로부터 복호화 장치로 시그널링되는 1-bit의 플래그를 통해 명시적으로 지시되거나, 항상 수행되는 것으로 부호화 장치와 복호화 장치 간에 미리 약속될 수 있다. 또한, 디블록킹 필터링은 블록 경계 주변의 샘플 값 차이가 미리 설정된 특정 값(임계 값)보다 크거나 작은 경우에 수행되거나, 블록 경계 주변의 샘플 값들에 대한 양자화 파라미터 값이 미리 설정된 파라미터 값보다 크거나 작은 경우에 수행될 수 있다. 나아가, 디블록킹 필터링은 인트라 예측 모드에 따라서도 수행 여부가 결정될 수 있으며, 인트라 예측 모드에 따라 디블록킹 필터링에 이용되는 디블록킹 필터가 결정될 수 있다.
예측 샘플들(예측블록들)과 잔차 샘플들(잔차블록들)이 합산되어 영상이 복원되면, 복원된 영상에 대해 필터링이 수행된다. 필터링된 영상은 다른 영상의 예측에 이용되거나 디스플레이를 위해 메모리(190, 470)에 저장된다.
도 16에 나타낸 바와 같이, 종래의 필터부는 디블록킹 필터, SAO 및 적응적 루프 필터(adaptive loop filter, ALF)를 포함하여 구성될 수 있다. 복원된 영상은 디블록킹 필터, SAO 및 ALF)에 순차적으로 입력되어 필터링되며, 최종적으로 필터링된 영상이 출력된다.
SAO는 복원된 영상 내 샘플들을 정해진 기준에 따라 특성 별로 분류하고, 해당 분류에 따라 적응적으로 오프셋을 적용한다. 즉, SAO는 샘플에 적응적으로 오프셋을 적용한다. SAO의 적용을 위하여, CTU 단위의 모드정보(엣지 오프셋, 밴드 오프셋 및 SAO 미수행 중에서 어느 하나의 타입(모드)를 지시하는 정보) 및 오프셋 정보가 부호화 장치로부터 복호화 장치로 시그널링된다.
ALF는 원본 영상과 복원된 영상 간의 오차를 최소화하기 위해 샘플 특성에 적응적인 필터링을 블록 단위로 적용한다. ALF의 적용을 위해, CTU 단위의 필터셋 정보가 APS(adaption parameter set) 레벨에서 부호화 장치로부터 복호화 장치로 시그널링된다. CTU 내 블록 단위로 모드(블록 내 샘플들의 방향성(direction) 및 변화량(activity)에 따른 총 N 가지의 클래스들(모드들) 중에서 해당 블록이 속하는 어느 하나의 클래스를 지시)가 유도되고, 유도된 모드에 해당하는 필터가 복원된 영상에 적용된다.
이와 같이, SAO 및 ALF는 샘플에 적응적인 오프셋과 필터를 샘플 단위로 적용한다. 또한, SAO 및 ALF는 '샘플 특성을 유도하는 과정'과 '특성에 맞는 오프셋 및 필터를 적용하는 과정'을 모두 수행한다.
본 발명에서는, SAO 및 ALF가 적용되는 경우에 샘플 특성을 유도하는 과정'이 중복되어 수행(별도로 수행)되는 점에 착안하여, 별도로 수행되는 과정을 하나의 과정으로 통합하고, 이를 통해 복원된 영상에 대한 필터링 과정을 효율적으로 수행하는 방법을 제안한다.
도 17은 본 발명에서 제안하는 필터부(180, 460)의 예시적인 블록도이며, 도 18은 적응적 필터링 방법의 일 예를 설명하기 위한 순서도이다.
도 17에 나타낸 바와 같이, 필터부(180, 460)는 디블록킹 필터(182, 462) 및 적응적 필터부(1700)를 포함하여 구성될 수 있다. 적응적 필터부(1700)는 추출부(1710), 판단부(1720), 결정부(1730), 필터부(1740) 및 클리핑부(1750)를 포함하여 구성될 수 있다.
A. 특성 추출
추출부(1710)는 디블록킹 필터링이 적용된 복원영상(복원된 영상) 내 하나 이상의 복원샘플들로부터 하나 이상의 특성을 추출할 수 있다(S1802).
특성은 복원영상 내 복원샘플들 중에서 필터링 단위 별로 구분되어 추출될 수 있다. 여기서, 필터링 단위는 샘플, 블록, CTU 등 중에서 어느 하나일 수 있다. 특성은 복원샘플들의 평균 값, 최빈 값, 중앙 값, 최소 값, 최대 값 등과 같은 복원샘플들의 대표 값일 수 있다. 또한, 특성은 복원샘플들의 대표 값들을 이용하여 계산되는 값일 수 있다.
특성은 3탭의 1차원 필터 또는 2차원 필터를 통해 추출될 수 있다. 1차원 필터는 세로 방향, 가로 방향, 대각선 방향 등의 여러 방향으로 적용될 수 있으며, 각 방향에 따라 1차원 필터를 적용한 값이 특성으로 추출될 수 있다. 예를 들어, 필터링된 값의 절대 값이 특성으로 추출될 수 있다. 2차원 필터는 1차 미분 필터 또는 2차 미분 필터일 수 있다. 2차원 필터는 가로 방향(도 19a의 (b), 도 19b의 (b)), 세로 방향(도 19a의 (a), 도 19b의 (a)), 대각선 방향(도 19a의 (c) 및 (d), 도 19b의 (c) 및 (d)) 등의 여러 방향에 대한 1차 미분 필터 또는 2차 미분 필터일 수 있다.
특성은 특성 추출을 위해 필요한 정보를 이용하여 추출될 수도 있다. 특성 추출을 위한 정보는 필터 관련 정보일 수 있다. 필터 관련 정보는 필터의 모양, 크기, 계수 등을 포함하거나, 필터의 모드정보를 포함하거나, 잔차 필터의 계수를 포함할 수 있다. 이 경우, 복호화 장치의 추출부(1710)는 특성 추출을 위해 필요한 정보를 이용하여 필터를 결정하고, 결정된 필터를 이용하여 복원샘플들로부터 특성을 추출할 수 있다.
특성 추출을 위해 필요한 정보는 방향성에 따라 복원샘플들이 가질 수 있는 여러 모드들 중에서 어느 하나를 지시하는 모드정보일 수도 있다. 이 경우, 복호화 장치의 추출부(1710)는 특성 추출을 위해 필요한 정보를 이용하여 복원샘플들의 모드(방향성)를 결정하고, 결정된 모드를 이용하여 복원샘플들로부터 특성(현재 복원샘플 및 주변 복원샘플들)을 추출할 수 있다.
특성으로 추출될 수 있는 현재 복원샘플 및 주변 복원샘플들에 대한 예가 도 20a 및 도 20b에 나타나 있다. 특성은 도 20a의 (a)와 같이 가로방향으로 배열된 현재 복원샘플(c)과 주변 복원샘플들(a, b) 중에서 일부이거나, 도 20b의 (b)와 같이 세로방향으로 배열된 현재 복원샘플(c)과 주변 복원샘플들(a, b) 중에서 일부일 수 있다. 또한, 특성은 도 20b의 (a)와 같이 135도의 대각선 방향으로 배열된 현재 복원샘플(c)과 주변 복원샘플들(a, b) 중에서 일부이거나, 도 20b의 (b)와 같이 45도의 대각선 방향으로 배열된 현재 복원샘플(c)과 주변 복원샘플들(a, b) 중에서 일부일 수 있다.
특성 추출을 위해 필요한 정보는 부호화 장치에서 부호화되어 SPS 레벨, PPS 레벨, 슬라이스 헤더(slice header, SH) 레벨, 픽처 헤더(picture header, PH) 레벨 및 CTU 레벨 중에서 하나 이상을 통해 복호화 장치로 시그널링될 수 있다.
추출된 특성은 판단부(1730)로 입력될 수 있다. 실시형태에 따라, 추출된 특성을 양자화한 양자화 값이 판단부(1730)로 입력되거나, 추출된 특성을 룩업 테이블을 이용하여 맵핑한 맵핑 값이 판단부(1730)로 입력될 수 있다. 룩업 테이블에 대한 정보는 부호화 장치로부터 복호화 장치로 시그널링되거나, 부호화 장치와 복호화 장치가 동일한 룩업 테이블을 사용하도록 미리 약속될 수도 있다.
B. 클래스 판단(클래스 맵핑)
판단부(1720)는 추출된 특성 값에 기반하여 복원샘플들이 속하는 클래스를 판단할 수 있다(S1804). 이 과정은 추출된 특성을 미리 설정된 클래스들 중에서 복원샘플들이 속하는 클래스로 맵핑하는 과정일 수 있다.
일 예로, 클래스의 판단은 클래스 판단에 대한 계산식을 이용하여 수행될 수 있다. 클래스 판단에 대한 계산식이 부호화 장치로부터 복호화 장치로 시그널링되거나, 클래스 판단에 대한 계산식의 파라미터들이 부호화 장치로부터 복호화 장치로 시그널링될 수 있다.
클래스 판단에 대한 계산식의 일 예는 수학식 6과 같다.
Figure pat00009
수학식 6에서, C는 판단된 클래스를 나타내고, A와 B는 판단부(1720)에 입력된 두 개의 특성을 나타낸다. A 및 B 중에서 어느 하나는 현재 복원샘플을 중심으로 하는 변화의 크기이거나, 현재 복원샘플을 중심으로 하는 변화의 방향성일 수 있다. M은 A, B 및 N(미리 설정된 클래스들의 수)에 따라 결정될 수 있다. 일 예로, N=25이고 C=0~24이며, A=0~4이고, B=0~4인 경우에, M=5로 결정될 수 있다.
다른 예로, 클래스의 판단은 클래스 판단을 위한 룩업 테이블을 이용하여 수행될 수 있다. 부호화 장치는 클래스 판단을 위한 룩업 테이블을 부호화하여 복호화 장치로 시그널링하거나, 부호화 장치와 복호화 장치가 동일한 룩업 테이블을 이용하도록 미리 설정될 수도 있다.
또 다른 예로, 현재 복원샘플과 주변 복원샘플들이 특성으로 추출되어 판단부(1720)로 입력되는 경우에는 현재 복원샘플의 크기(샘플 값)과 주변 복원샘플들의 크기(샘플 값)에 따라 클래스가 판단될 수 있다.
도 21을 참조하면, 도 21의 (a)와 같이, 현재 복원샘플(b)의 값보다 주변 복원샘플들(a, c)의 값이 더 크면서 주변 복원샘플들(a, c)의 값이 서로 같은 경우에는 제1클래스로 판단될 수 있다. 도 21의 (b) 및 (c)와 같이, 주변 복원샘플들(a, c) 중에서 어느 하나의 값이 현재 복원샘플(b)의 값과 같고 다른 하나의 값이 현재 복원샘플(b)의 값보다 큰 경우에는 제2클래스로 판단될 수 있다. 도 21의 (d) 및 (e)와 같이, 주변 복원샘플들(a, c) 중에서 어느 하나의 값이 현재 복원샘플(b)의 값과 같고 다른 하나의 값이 현재 복원샘플(b)의 값보다 작은 경우에는 제3클래스로 판단될 수 있다. 도 21의 (f)와 같이, 현재 복원샘플(b)의 값 주변 복원샘플들(a, c)의 값보다 더 크면서 주변 복원샘플들(a, c)의 값이 서로 같은 경우에는 제4클래스로 판단될 수 있다. 또한, 도 21의 (a) 내지 (f)에 해당하지 않는 경우에는 제5클래스로 판단될 수 있다.
판단된 클래스는 결정부(1730)으로 입력될 수 있다.
C. 필터 결정
결정부(1730)는 판단된 클래스에 대응되는 샘플 적응적 루프 필터(SAO 필터)와 클래스에 대응되는 적응적 루프 필터(ALF 필터)를 결정할 수 있다(S1806).
부호화 장치는 판단된 클래스에 따라서 필터링 단위마다 최적의 필터 계수(최적의 ALF 필터) 및 오프셋(최적의 SAO 필터)을 생성 또는 결정할 수 있다. '원본샘플들의 값과 복원샘플들의 값에 대해 최소 제곱법을 적용하여 최적의 ALF 필터를 결정하고, 최적의 ALF가 적용된 복원샘플들의 값과 원본샘플들의 값 사이의 오차의 평균을 오프셋 필터로 결정하는 방법'이 최적의 ALF 필터 및 최적의 SAO 필터를 결정하는 방법의 일 예로 이용될 수 있다.
최적의 ALF 필터에 대한 정보(필터 계수에 대한 정보) 및 최적의 SAO 필터에 대한 정보(오프셋에 대한 정보)는 부호화되어 부호화 장치로부터 복호화 장치로 시그널링될 수 있다. 필터 계수에 대한 정보 및 오프셋에 대한 정보는 APS 레벨 또는 APS 레벨보다 상위 레벨(예를 들어, 슬라이스 헤더 레벨)을 통해 시그널링될 수 있다.
복호화 장치는 시그널링된 필터 계수에 대한 정보 및 오프셋에 대한 정보를 이용하여, 클래스에 대응되는 SAO 필터 및 ALF 필터를 결정할 수 있다. 일 예로, 복호화 장치는 '상위 레벨에서 시그널링된 필터 계수에 대한 정보 및 오프셋에 대한 정보'와, 'APS 레벨에서 시그널링된 필터 계수에 대한 정보 및 오프셋에 대한 정보' 또는 '이전 필터링 단위에서 이용된 필터 계수 및 오프셋'을 이용하여, 현재 필터링 단위에서 이용될 필터 계수 및 오프셋을 결정 또는 갱신할 수 있다. 결정되는 필터 계수는 필터의 전체 계수들 중에서 일부일 수 있다. 또한, 일부의 필터 계수는 다음 필터링 단위에 공유될 수 있다. 공유되는 일부의 필터 계수는 클래스 또는 부호화 장치로부터 시그널링된 모드정보에 의해 결정될 수 있다.
결정된 SAO 필터에 대한 정보 및 결정된 ALF 필터에 대한 정보는 필터부(1740)로 입력될 수 있다.
D. 필터링
필터부(1740)는 결정부(1730)에서 결정된 SAO 필터 및 ALF 필터를 이용하여 복원샘플들을 필터링할 수 있다(S1808).
필터부(1740)에서 복원샘플들을 필터링하는 과정(S1808)은 복원샘플들에 SAO 필터를 적용하는 과정(SAO 필터링)과 복원샘플들에 ALF 필터를 적용하는 과정(ALF 필터링)으로 구분될 수 있다. SAO 필터링과 ALF 필터링은 동시에 수행되거나, SAO 필터링이 먼저 수행된 후에 ALF 필터링이 나중에 수행될 수도 있다.
SAO 필터링과 ALF 필터링이 동시에 수행되는 경우, 복원샘플들을 필터링하는 과정은 수학식 7로 표현될 수 있다.
Figure pat00010
수학식 7에서, W는 ALF 필터의 계수 벡터를 나타내고, O는 SAO 필터 계수(오프셋)을 나타내며, X는 필터 계수 위치에 해당하는 복원샘플 벡터를 나타내고, x는 SAO 필터링과 ALF 필터링이 적용된 복원샘플을 나타낸다. W와 X는 동일한 길이를 가지는 벡터이며, 수학식 7과 같이 W와 X에 대한 내적 연산이 수행된 후에 O가 적용되어 x가 도출될 수 있다.
SAO 필터링이 먼저 수행된 후에 ALF 필터링이 나중에 수행되는 경우, 복원샘플들을 필터링하는 과정은 수학식 8로 표현될 수 있다.
Figure pat00011
수학식 8과 같이, X에 대해 O가 먼저 적용된 후에 (X+O)와 W 사이의 내적 연산이 수행되어 x가 도출될 수 있다.
E. 클리핑(clipping)
클리핑부(1750)는 필터링된 복원샘플들의 값(현재 복원샘플의 값 및 주변 복원샘플들의 값), 문턱 값(임계 값)을 기초로 복원샘플들의 값을 클리핑(제한)할 수 있다.
문턱 값은 영상의 비트 깊이(depth) 등을 기초로 하여 결정될 수 있다. 부호화 장치는 결정된 문턱 값에 대한 정보를 부호화하여 복호화 장치로 시그널링하고, 복호화 장치는 복호화된 문턱 값에 대한 정보를 이용하여 클리핑에 적용될 문턱 값을 결정할 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
120, 440: 예측부 130: 감산기
170, 450: 가산기 180, 460: 필터부

Claims (18)

  1. 현재블록을 제1모드에 따라 예측하는 방법으로서,
    분할 모드 신택스 요소에 기초하여, 상기 현재블록을 비직사각형(non-rectangular) 블록들로 분할하는 단계;
    상기 비직사각형 블록들 중에서, 인트라 예측되는 인트라 블록 및 인터 예측되는 인터 블록을 결정하는 단계; 및
    움직임 정보에 기초하여 상기 인터 블록을 포함하는 제1영역의 예측 샘플들을 유도하고, 인트라 예측 모드에 기초하여 상기 인트라 블록을 포함하는 제2영역의 예측 샘플들을 유도하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 결정하는 단계는,
    상기 비직사각형 블록들의 분할 경계가 상기 현재블록의 가로 방향과 이루는 각도에 따라, 상기 인트라 블록 및 상기 인터 블록을 결정하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 결정하는 단계는,
    상기 비직사각형 블록들의 분할 경계로부터 상기 현재블록의 중심 위치까지의 수직 거리에 따라, 상기 인트라 블록 및 상기 인터 블록을 결정하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 인트라 예측 모드는,
    인트라 예측 모드 후보들 중에서 선택된 어느 하나이며,
    상기 인트라 예측 모드 후보들은,
    상기 비직사각형 블록들의 분할 경계가 상기 현재블록의 가로 방향과 이루는 각도에 대응되는 하나 이상의 방향성 모드를 포함하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 유도하는 단계는,
    움직임 정보에 기초하여 상기 인터 블록의 예측 샘플들을 유도하는 단계; 및
    상기 인터 블록의 예측 샘플들을 참조 샘플로 이용하여, 상기 인트라 블록의 예측 샘플들을 유도하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서,
    상기 인트라 블록의 예측 샘플들을 유도하는 단계는,
    상기 인터 블록의 예측 샘플들 중에서 상기 비직사각형 블록들의 분할 경계에 인접하는 예측 샘플들을 참조 샘플로 이용하여, 상기 인트라 블록의 예측 샘플들을 유도하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 현재블록의 주변 블록들 중에서 인트라 예측된 주변 블록의 개수에 따라, 상기 제1모드의 적용 여부를 판단하는 단계를 더 포함하고,
    상기 분할하는 단계는,
    상기 제1모드가 적용되는 것으로 판단되는 경우에 수행되는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    상기 현재블록 내 예측 샘플들 중에서 대상 예측 샘플과 상기 현재블록 내 비직사각형 블록들의 분할 경계 사이의 거리를 고려하여, 상기 대상 예측 샘플에 적용될 인트라 가중치 및 인터 가중치를 유도하는 단계; 및
    상기 대상 예측 샘플의 인트라 예측 값에 상기 인트라 가중치를 적용한 가중 인트라 예측 값과 상기 대상 예측 샘플의 인터 예측 값에 상기 인터 가중치를 적용한 가중 인터 예측 값에 기반하여, 상기 대상 예측 샘플의 가중 예측 값을 유도하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  9. 제8항에 있어서,
    상기 인트라 가중치 및 인터 가중치를 유도하는 단계는,
    상기 현재블록의 주변 블록들이 인터 예측 타입 및 인트라 예측 타입 중에서 어느 타입에 의해 예측되었는지 여부를 더 고려하여, 상기 인트라 가중치 및 상기 인터 가중치를 유도하는 것을 특징으로 하는 방법.
  10. 현재블록을 제1모드에 따라 예측하는 복호화 장치로서,
    분할 모드 신택스 요소에 기초하여, 상기 현재블록을 비직사각형(non-rectangular) 블록들로 분할하는 엔트로피 복호화부; 및
    상기 비직사각형 블록들 중에서, 인트라 예측되는 인트라 블록 및 인터 예측되는 인터 블록을 결정하는 예측부를 포함하고,
    상기 예측부는,
    움직임 정보에 기초하여 상기 인터 블록을 포함하는 제1영역의 예측 샘플들을 유도하고, 인트라 예측 모드에 기초하여 상기 인트라 블록을 포함하는 제2영역의 예측 샘플들을 유도하는 것을 특징으로 하는 복호화 장치.
  11. 제10항에 있어서,
    상기 예측부는,
    상기 비직사각형 블록들의 분할 경계가 상기 현재블록의 가로 방향과 이루는 각도에 따라, 상기 인트라 블록 및 상기 인터 블록을 결정하는 것을 특징으로 하는 복호화 장치.
  12. 제10항에 있어서,
    상기 예측부는,
    상기 비직사각형 블록들의 분할 경계로부터 상기 현재블록의 중심 위치까지의 수직 거리에 따라, 상기 인트라 블록 및 상기 인터 블록을 결정하는 것을 특징으로 하는 복호화 장치.
  13. 제10항에 있어서,
    상기 인트라 예측 모드는,
    인트라 예측 모드 후보들 중에서 선택된 어느 하나이며,
    상기 인트라 예측 모드 후보들은,
    상기 비직사각형 블록들의 분할 경계가 상기 현재블록의 가로 방향과 이루는 각도에 대응되는 하나 이상의 방향성 모드를 포함하는 것을 특징으로 하는 복호화 장치.
  14. 제10항에 있어서,
    상기 예측부는,
    움직임 정보에 기초하여 상기 인터 블록의 예측 샘플들을 유도하는 인터 예측부; 및
    상기 인터 블록의 예측 샘플들을 참조 샘플로 이용하여, 상기 인트라 블록의 예측 샘플들을 유도하는 인트라 예측부를 포함하는 것을 특징으로 하는 복호화 장치.
  15. 제14항에 있어서,
    상기 인트라 예측부는,
    상기 인터 블록의 예측 샘플들 중에서 상기 비직사각형 블록들의 분할 경계에 인접하는 예측 샘플들을 참조 샘플로 이용하여, 상기 인트라 블록의 예측 샘플들을 유도하는 것을 특징으로 하는 복호화 장치.
  16. 제10항에 있어서,
    상기 엔트로피 복호화부는,
    상기 현재블록의 주변 블록들 중에서 인트라 예측된 주변 블록의 개수에 따라, 상기 제1모드의 적용 여부를 더 판단하고,
    상기 제1모드가 적용되는 것으로 판단되는 경우에, 상기 현재블록을 상기 비직사각형 블록들로 분할하는 것을 특징으로 하는 복호화 장치.
  17. 제10항에 있어서,
    상기 예측부는,
    상기 현재블록 내 예측 샘플들 중에서 대상 예측 샘플과 상기 현재블록 내 비직사각형 블록들의 분할 경계 사이의 거리를 고려하여, 상기 대상 예측 샘플에 적용될 인트라 가중치 및 인터 가중치를 유도하고,
    상기 대상 예측 샘플의 인트라 예측 값에 상기 인트라 가중치를 적용한 가중 인트라 예측 값과 상기 대상 예측 샘플의 인터 예측 값에 상기 인터 가중치를 적용한 가중 인터 예측 값에 기반하여, 상기 대상 예측 샘플의 가중 예측 값을 유도하는 것을 특징으로 하는 복호화 장치.
  18. 제17항에 있어서,
    상기 예측부는,
    상기 현재블록의 주변 블록들이 인터 예측 타입 및 인트라 예측 타입 중에서 어느 타입에 의해 예측되었는지 여부를 더 고려하여, 상기 인트라 가중치 및 상기 인터 가중치를 유도하는 것을 특징으로 하는 복호화 장치.
KR1020200175629A 2019-12-16 2020-12-15 임의의 모양으로 분할되는 블록을 예측하는 방법 및 복호화 장치 KR20210076869A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/785,509 US20230048262A1 (en) 2019-12-16 2020-12-15 Decoding device and method for predicting block partitioned into random shape
PCT/KR2020/018369 WO2021125751A1 (ko) 2019-12-16 2020-12-15 임의의 모양으로 분할되는 블록을 예측하는 방법 및 복호화 장치

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20190168016 2019-12-16
KR1020190168016 2019-12-16
KR20200003143 2020-01-09
KR1020200003143 2020-01-09

Publications (1)

Publication Number Publication Date
KR20210076869A true KR20210076869A (ko) 2021-06-24

Family

ID=76607397

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200175629A KR20210076869A (ko) 2019-12-16 2020-12-15 임의의 모양으로 분할되는 블록을 예측하는 방법 및 복호화 장치

Country Status (3)

Country Link
EP (1) EP4068776A4 (ko)
KR (1) KR20210076869A (ko)
CN (1) CN114830653A (ko)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020156464A1 (en) * 2019-01-31 2020-08-06 Mediatek Inc. Method and apparatus of combined inter and intraprediction for video coding

Also Published As

Publication number Publication date
CN114830653A (zh) 2022-07-29
EP4068776A1 (en) 2022-10-05
EP4068776A4 (en) 2023-12-20

Similar Documents

Publication Publication Date Title
KR102549987B1 (ko) 영상 처리 방법 및 이를 위한 장치
CN117294839A (zh) 用于解码视频的方法和用于传输压缩的视频数据的设备
EP2654301A1 (en) Method for decoding inter predictive encoded motion pictures
KR102416804B1 (ko) 영상 부호화 방법/장치, 영상 복호화 방법/장치 및 비트스트림을 저장한 기록 매체
KR20200110214A (ko) 예측 유닛을 서브 유닛들로 분할하여 예측하는 인트라 예측 방법 및 장치
US20210321126A1 (en) Image encoding/decoding method and device
US11671584B2 (en) Inter-prediction method and video decoding apparatus using the same
JP2022539737A (ja) 動画データのイントラ予測コーディングのための方法及び装置
KR20220098114A (ko) 영상 부호화 방법/장치, 영상 복호화 방법/장치 및 비트스트림을 저장한 기록 매체
US11962764B2 (en) Inter-prediction method and video decoding apparatus using the same
KR20200113173A (ko) 예측모드 추정에 기반하는 인트라 예측장치 및 방법
US20230048262A1 (en) Decoding device and method for predicting block partitioned into random shape
KR20220071939A (ko) 비디오 부호화 및 복호화를 위한 장치 및 방법
KR20220071131A (ko) 서브블록단위 인트라 예측을 이용하는 영상 부호화 및 복호화 방법과 장치
KR20220017380A (ko) 임의 블록 분할을 이용한 비디오 부호화 및 복호화
KR20210076869A (ko) 임의의 모양으로 분할되는 블록을 예측하는 방법 및 복호화 장치
KR20200084767A (ko) 인트라 예측 방법 및 영상 복호화 장치
KR20200004749A (ko) 잔차신호 재배열 방법 및 영상 복호화 장치
US20240007620A1 (en) Image encoding and decoding method using adaptive alternative mode
KR20220118349A (ko) 인터 예측 기반의 비디오 부호화 및 복호화
KR20240074642A (ko) 기하학적 분할에 기반하여 크로마 블록을 인트라 예측하는 비디오 코딩방법 및 장치
KR20240021104A (ko) 루마 성분 기반 크로마 성분 예측을 이용하는 비디오코딩방법 및 장치
KR20240074661A (ko) 기하학적 분할 모드에서 적응적으로 블렌딩 영역을 결정하는 비디오 코딩방법 및 장치
KR20220118351A (ko) 인트라 예측 신호와 인터 예측 신호의 가중 합을 이용한 예측 블록을 생성하는 방법 및 이를 이용한 장치
KR20240037834A (ko) 하나의 블록에 싱글 트리와 듀얼 트리를 적응적으로 이용하는 비디오 코딩방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination