KR102447450B1 - 영상 부호화/복호화 방법 및 이를 위한 장치 - Google Patents

영상 부호화/복호화 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR102447450B1
KR102447450B1 KR1020197007150A KR20197007150A KR102447450B1 KR 102447450 B1 KR102447450 B1 KR 102447450B1 KR 1020197007150 A KR1020197007150 A KR 1020197007150A KR 20197007150 A KR20197007150 A KR 20197007150A KR 102447450 B1 KR102447450 B1 KR 102447450B1
Authority
KR
South Korea
Prior art keywords
current block
intra prediction
filtering
prediction mode
block
Prior art date
Application number
KR1020197007150A
Other languages
English (en)
Other versions
KR20190040000A (ko
Inventor
장형문
임재현
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020227031991A priority Critical patent/KR20220129685A/ko
Publication of KR20190040000A publication Critical patent/KR20190040000A/ko
Application granted granted Critical
Publication of KR102447450B1 publication Critical patent/KR102447450B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/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/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/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
    • 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

Abstract

본 발명에서는 영상 부호화/복호화 방법 및 이를 위한 장치가 개시된다. 구체적으로, 복호화 장치가 영상을 복호화하는 방법에 있어서, 현재 블록의 인트라 예측 모드를 도출하는 단계, 상기 현재 블록의 상단에 이웃한 샘플들과 좌측에 이웃한 샘플들로 참조 샘플들을 구성하는 단계, 상기 참조 샘플을 이용하여 상기 현재 블록의 예측 샘플을 생성하는 단계 및 상기 예측 샘플 중 상기 현재 블록의 상측 경계 및/또는 좌측 경계에 인접한 샘플을 필터링하는 단계를 포함하고, 상기 현재 블록이 비정방형(non-spuare) 블록인 경우, 상기 현재 블록의 상측 경계에 인접한 샘플의 필터링 여부는 상기 현재 블록의 너비(width)만을 고려하여 결정되고, 상기 현재 블록의 좌측 경계에 인접한 샘플의 필터링 여부는 상기 현재 블록의 높이(height)만을 고려하여 결정될 수 있다.

Description

영상 부호화/복호화 방법 및 이를 위한 장치
본 발명은 정지 영상 또는 동영상 처리 방법에 관한 것으로서, 보다 상세하게 인트라 예측(intra prediction)된 예측 샘플을 필터링하는 방법 및 이를 지원하는 장치에 관한 것이다.
압축 부호화란 디지털화한 정보를 통신 회선을 통해 전송하거나, 저장 매체에 적합한 형태로 저장하기 위한 일련의 신호 처리 기술을 의미한다. 영상, 이미지, 음성 등의 미디어가 압축 부호화의 대상이 될 수 있으며, 특히 영상을 대상으로 압축 부호화를 수행하는 기술을 비디오 영상 압축이라고 일컫는다.
차세대 비디오 컨텐츠는 고해상도(high spatial resolution), 고프레임율(high frame rate) 및 영상 표현의 고차원화(high dimensionality of scene representation)라는 특징을 갖게 될 것이다. 그러한 컨텐츠를 처리하기 위해서는 메모리 저장(memory storage), 메모리 액세스율(memory access rate) 및 처리 전력(processing power) 측면에서 엄청난 증가를 가져올 것이다.
따라서, 차세대 비디오 컨텐츠를 보다 효율적으로 처리하기 위한 코딩 툴을 디자인할 필요가 있다.
본 발명의 목적은 화면 내 예측(인트라 예측)을 수행할 때 QTBT(Quad-Tree Binary-Tree) 블록 분할 구조에서 예측 블록의 경계 픽셀을 예측 방향에 따라 적응적으로 필터링하는 방법을 제안한다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 양상은, 복호화 장치가 영상을 복호화하는 방법에 있어서, 현재 블록의 인트라 예측 모드를 도출하는 단계, 상기 현재 블록의 상단에 이웃한 샘플들과 좌측에 이웃한 샘플들로 참조 샘플들을 구성하는 단계, 상기 참조 샘플을 이용하여 상기 현재 블록의 예측 샘플을 생성하는 단계 및 상기 예측 샘플 중 상기 현재 블록의 상측 경계 및/또는 좌측 경계에 인접한 샘플을 필터링하는 단계를 포함하고, 상기 현재 블록이 비정방형(non-spuare) 블록인 경우, 상기 현재 블록의 상측 경계에 인접한 샘플의 필터링 여부는 상기 현재 블록의 너비(width)만을 고려하여 결정되고, 상기 현재 블록의 좌측 경계에 인접한 샘플의 필터링 여부는 상기 현재 블록의 높이(height)만을 고려하여 결정될 수 있다.
본 발명의 다른 일 양상은, 영상을 복호화하는 복호화 장치에 있어서, 현재 블록의 인트라 예측 모드를 도출하는 인트라 예측 모드 도출부, 상기 현재 블록의 상단에 이웃한 샘플들과 좌측에 이웃한 샘플들로 참조 샘플들을 구성하는 참조 샘플 구성부, 상기 참조 샘플을 이용하여 상기 현재 블록의 예측 샘플을 생성하는 예측 샘플 생성부 및 상기 예측 샘플 중 상기 현재 블록의 상측 경계 및/또는 좌측 경계에 인접한 샘플을 필터링하는 예측 샘플 필터링부를 포함하고, 상기 현재 블록이 비정방형(non-spuare) 블록인 경우, 상기 현재 블록의 상측 경계에 인접한 샘플의 필터링 여부는 상기 현재 블록의 너비(width)만을 고려하여 결정되고, 상기 현재 블록의 좌측 경계에 인접한 샘플의 필터링 여부를 상기 현재 블록의 높이(height)만을 고려하여 결정될 수 있다.
바람직하게, 상기 현재 블록의 인트라 예측 모드가 DC 모드인 경우, 상기 현재 블록의 상측 경계에 인접한 샘플의 필터링은 상기 현재 블록의 너비(width)가 미리 정의된 크기 이하일 때 수행되고, 상기 현재 블록의 좌측 경계에 인접한 샘플의 필터링은 상기 현재 블록의 높이(height)가 미리 정의된 크기 이하일 때 수행될 수 있다.
바람직하게, 상기 현재 블록의 인트라 예측 모드의 방향성이 수평(horizontal) 인트라 예측 모드를 기준으로 미리 정의된 범위 내에 속하는 경우, 상기 현재 블록의 상측 경계에 인접한 샘플의 필터링은 상기 현재 블록의 높이(height)가 미리 정의된 크기 이하일 때 수행될 수 있다.
바람직하게, 상기 현재 블록의 인트라 예측 모드의 방향성이 수직(vertical) 인트라 예측 모드를 기준으로 미리 정의된 범위 내에 속하는 경우, 상기 현재 블록의 좌측 경계에 인접한 샘플의 필터링은 상기 현재 블록의 너비(width)가 미리 정의된 크기 이하일 때 수행될 수 있다.
바람직하게, 총 67개의 인트라 예측 모드가 정의된 인트라 예측 모드 방법에서 상기 현재 블록의 인트라 예측 모드가 2번 모드인 경우, 상기 현재 블록의 상측 경계에 인접한 샘플의 필터링은 상기 현재 블록의 너비(width)가 미리 정의된 크기 이하일 때 수행될 수 있다.
바람직하게, 상기 현재 블록의 높이(height)가 4를 초과하면, 상기 현재 블록의 상측 경계에 인접한 4개의 라인에 속하는 샘플이 필터링될 수 있다.
바람직하게, 상기 현재 블록의 높이(height)가 4를 초과하지 않으면, 상기 현재 블록의 상측 경계에 인접한 2개의 라인에 속하는 샘플만이 필터링될 수 있다.
바람직하게, 총 67개의 인트라 예측 모드가 정의된 인트라 예측 모드 방법에서 상기 현재 블록의 인트라 예측 모드가 66번 모드인 경우, 상기 현재 블록의 좌측 경계에 인접한 샘플의 필터링은 상기 현재 블록의 높이(height)가 미리 정의된 크기 이하일 때 수행될 수 있다.
바람직하게, 상기 현재 블록의 너비(width)가 4를 초과하면, 상기 현재 블록의 좌측 경계에 인접한 4개의 라인에 속하는 샘플이 필터링될 수 있다.
바람직하게, 상기 현재 블록의 너비(width)가 4를 초과하지 않으면, 상기 현재 블록의 좌측 경계에 인접한 2개의 라인에 속하는 샘플만이 필터링될 수 있다.
본 발명의 실시예에 따르면, 본 발명은 정지 영상 또는 동영상을 화면 내 예측으로 예측하는 과정에서 예측 블록의 경계 픽셀을 예측 방향에 따라 적응적으로 필터링함으로써 압축 성능을 향상시킬 수 있다.
또한, 본 발명의 실시예에 따르면, 기존 블록경계 필터링 방법을 QTBT(Quad-Tree Binary-Tree) 블록 분할 구조에서 더욱 효율적으로 적용할 수 있다.
또한, 본 발명의 실시예에 따르면, 화면 내 예측(인트라 예측)을 수행할 때 예측 블록의 경계 픽셀을 예측 방향에 따라 적응적으로 필터링함으로써 QTBT(Quad-Tree Binary-Tree) 구조에서 후필터(또는 인루프 필터)를 효과적으로 수행할 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 특징을 설명한다.
도 1은 본 발명이 적용되는 실시예로서, 비디오 신호의 인코딩이 수행되는 인코더의 개략적인 블록도를 나타낸다.
도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더의 개략적인 블록도를 나타낸다.
도 3은 본 발명이 적용되는 실시예로서, 코딩 유닛의 분할 구조를 설명하기 위한 도면이다.
도 4는 본 발명이 적용되는 실시예로서, 코딩 유닛의 분할 구조 중 쿼드-트리 바이너리-트리를 설명하기 위한 도면이다.
도 5는 본 발명이 적용될 수 있는 실시예로서, 인트라 예측 모드에 따른 예측 방향을 예시한다.
도 6은 본 발명이 적용될 수 있는 실시예로서, 인트라 예측을 통하여 생성한 예측 블록을 예시한다.
도 7 및 도 8은 본 발명이 적용될 수 있는 실시예로서, 인트라 예측 모드가 DC 모드인 경우, 예측 블록의 경계 픽셀의 필터링을 설명하기 위한 도면이다.
도 9는 본 발명이 적용될 수 있는 실시예로서, 인트라 예측 모드가 수평(horizontal) 모드인 경우, 예측 블록의 경계 픽셀의 필터링을 설명하기 위한 도면이다.
도 10은 본 발명이 적용될 수 있는 실시예로서, 인트라 예측 모드가 수직(vertical) 모드인 경우, 예측 블록의 경계 픽셀의 필터링을 설명하기 위한 도면이다.
도 11 내지 도 13은 본 발명이 적용될 수 있는 실시예로서, 인트라 예측 모드가 2번 모드인 경우, 예측 블록의 경계 픽셀의 필터링을 설명하기 위한 도면이다.
도 14 내지 도 16은 본 발명이 적용될 수 있는 실시예로서, 인트라 예측 모드가 35개 인트라 예측 모드 중에서 34번 모드 또는 67개 인트라 예측 모드 중에서 66번 예측 모드인 경우, 예측 블록의 경계 픽셀의 필터링을 설명하기 위한 도면이다.
도 17은 본 발명이 적용될 수 있는 실시예로서, 인트라 예측 모드가 35개 인트라 예측 모드 중에서 3, 4, 5, 6번 모드인 경우, 예측 블록의 경계 픽셀의 필터링을 설명하기 위한 도면이다.
도 18은 본 발명이 적용될 수 있는 실시예로서, 인트라 예측 모드가 35개 인트라 예측 모드 중에서 30, 31, 32, 33번 모드인 경우, 예측 블록의 경계 픽셀의 필터링을 설명하기 위한 도면이다.
도 19 및 도 20은 본 발명이 적용될 수 있는 실시예로서, 인트라 예측 모드가 67개 인트라 예측 모드 중에서 3, 4, 5, 6, 7, 8, 9, 10번 모드인 경우, 예측 블록의 경계 픽셀의 필터링을 설명하기 위한 도면이다.
도 21 및 도 22는 본 발명이 적용될 수 있는 실시예로서, 인트라 예측 모드가 67개 인트라 예측 모드 중에서 59, 60, 61, 62, 63, 64, 65, 66번 모드인 경우, 예측 블록의 경계 픽셀의 필터링을 설명하기 위한 도면이다.
도 23은 본 발명이 적용될 수 있는 실시예로서, QTBT 구조에서 예측 블록 내 경계 픽셀의 필터링의 과정을 예시한다.
도 24은 본 발명이 적용될 수 있는 실시예로서, QTBT 구조에서 예측자 필터링 프로세스를 예시한다.
도 25는 본 발명의 일 실시예에 따른 인트라 예측 모드가 DC 모드인 경우 경계 픽셀 필터링 방법을 예시하는 도면이다.
도 26은 본 발명이 적용될 수 있는 실시예로서, 인트라 예측 모드가 수평/수직 모드인 경우 경계 픽셀 필터링 프로세스를 예시하는 도면이다.
도 27은 본 발명의 일 실시예에 따른 예측 블록 경계 픽셀 필터링 방법을 예시하는 도면이다.
도 28 및 도 29는 본 발명의 일 실시예에 따른 예측 블록 경계 픽셀 필터링 방법을 예시하는 도면이다.
도 30은 본 발명의 일 실시예에 따른 경계 픽셀 필터링 방법을 예시하는 도면이다.
도 31은 본 발명의 일 실시예에 따른 경계 픽셀 필터링 방법을 예시하는 도면이다.
도 32는 본 발명의 일 실시예에 따른 인트라 예측 방법을 예시하는 도면이다.
도 33은 본 발명의 일 실시예에 따른 인트라 예측부를 보다 구체적으로 예시하는 도면이다.
이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 발명의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나, 당업자는 본 발명이 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다.
몇몇 경우, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시될 수 있다.
아울러, 본 발명에서 사용되는 용어는 가능한 한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어를 사용하여 설명한다. 그러한 경우에는 해당 부분의 상세 설명에서 그 의미를 명확히 기재하므로, 본 발명의 설명에서 사용된 용어의 명칭만으로 단순 해석되어서는 안 될 것이며 그 해당 용어의 의미까지 파악하여 해석되어야 함을 밝혀두고자 한다.
이하의 설명에서 사용되는 특정 용어들은 본 발명의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 발명의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다. 예를 들어, 신호, 데이터, 샘플, 픽쳐, 프레임, 블록 등의 경우 각 코딩 과정에서 적절하게 대체되어 해석될 수 있을 것이다.
이하 본 명세서에서 '블록' 또는 '유닛'은 예측, 변환 및/또는 양자화 등과 같은 인코딩/디코딩의 과정이 수행되는 단위를 의미하며, 샘플(또는 화소, 픽셀)의 다차원 배열로 구성될 수 있다.
'블록' 또는 '유닛'은 휘도(luma) 성분에 대한 샘플의 다차원 배열을 의미할 수도 있으며, 색차(chroma) 성분에 대한 샘플의 다차원 배열을 의미할 수도 있다. 또한, 휘도(luma) 성분에 대한 샘플의 다차원 배열과 색차(chroma) 성분에 대한 샘플의 다차원 배열을 모두 포함하여 통칭할 수도 있다.
예를 들어, '블록' 또는 '유닛'은 인코딩/디코딩의 수행 대상이 되는 샘플의 배열을 의미하는 코딩 블록(CB: Conding Block), 복수의 코딩 블록으로 구성되는 코딩 트리 블록(CTB: Coding Tree Block), 동일한 예측이 적용되는 샘플의 배열을 의미하는 예측 블록(PB: Prediction Block)(또는 예측 유닛(PU: Prediction Unit)), 동일한 변환이 적용되는 샘플의 배열을 의미하는 변환 블록(TB: Transform Block)(또는 변환 유닛(TU: Transform Unit))을 모두 포함하는 의미로 해석될 수 있다.
또한, 본 명세서 별도의 언급이 없는 한, '블록' 또는 '유닛'은 휘도(luma) 성분 및/또는 색차(chroma) 성분에 대한 샘플의 배열을 인코딩/디코딩하는 과정에서 이용되는 신택스 구조(syntax sturcture)를 포함하는 의미로 해석될 수 있다. 여기서, 신택스 구조는 특정한 순서로 비트스트림 내 존재하는 0 또는 그 이상의 신택스 요소(syntax element)를 의미하며, 신택스 요소는 비트스트림 내에서 표현되는 데이터의 요소를 의미한다.
예를 들어, '블록' 또는 '유닛'은 코딩 블록(CB)과 해당 코딩 블록(CB)의 인코딩을 위해 이용되는 신택스 구조를 포함하는 코딩 유닛(CU: Coding Unit), 복수의 코딩 유닛으로 구성되는 코딩 트리 유닛(CU: Coding Tree Unit), 예측 블록(PB)과 해당 예측 블록(PB)의 예측을 위해 이용되는 신택스 구조를 포함하는 예측 유닛(PU: Prediction Unit), 변환 블록(TB)와 해당 변환 블록(TB)의 변환을 위해 이용되는 신택스 구조를 포함하는 변환 유닛(TU: Transform Unit)을 모두 포함하는 의미로 해석될 수 있다.
또한, 본 명세서에서 '블록' 또는 '유닛'은 반드시 정사각형 또는 직사각형 형태의 샘플(또는 화소, 픽셀)의 배열로 한정되는 것은 아니며, 3개 이상의 꼭지점을 가지는 다각형 형태의 샘플(또는 화소, 픽셀)의 배열을 의미할 수도 있다. 이 경우, 폴리곤(Polygon) 블록 또는 폴리곤 유닛으로 지칭될 수도 있다.
도 1은 본 발명이 적용되는 실시예로서, 비디오 신호의 인코딩이 수행되는 인코더의 개략적인 블록도를 나타낸다.
도 1을 참조하면, 인코더(100)는 영상 분할부(110), 변환부(120), 양자화부(130), 역양자화부(140), 역변환부(150), 필터링부(160), 복호 픽쳐 버퍼(DPB: Decoded Picture Buffer)(170), 인터 예측부(180), 인트라 예측부(185) 및 엔트로피 인코딩부(190)를 포함하여 구성될 수 있다.
영상 분할부(110)는 인코더(100)에 입력된 입력 영상(또는, 픽쳐, 프레임)를 하나 이상의 처리 유닛으로 분할할 수 있다. 예를 들어, 상기 처리 유닛은 코딩 트리 유닛(CTU: Coding Tree Unit), 코딩 유닛(CU: Coding Unit), 예측 유닛(PU: Prediction Unit) 또는 변환 유닛(TU: Transform Unit)일 수 있다.
인코더(100)는 입력 영상 신호에서 인터 예측부(180) 또는 인트라 예측부(185)로부터 출력된 예측 신호를 감산하여 잔여 신호(residual signal)를 생성할 수 있고, 생성된 잔여 신호는 변환부(120)로 전송된다.
변환부(120)는 잔여 신호에 변환 기법을 적용하여 변환 계수(transform coefficient)를 생성할 수 있다. 예를 들어, 변환 기법은 DCT(Discrete Cosine Transform), DST(Discrete Sine Transform), KLT(Karhunen-Loeve Transform), GBT(Graph-Based Transform), 또는 CNT(Conditionally Non-linear Transform) 중 적어도 하나를 포함할 수 있다. 여기서, GBT는 픽셀 간의 관계 정보를 그래프로 표현한다고 할 때 이 그래프로부터 얻어진 변환을 의미한다. CNT는 이전에 복원된 모든 픽셀(all previously reconstructed pixel)를 이용하여 예측 신호를 생성하고 그에 기초하여 획득되는 변환을 의미한다. 또한, 변환 과정은 정사각형의 동일한 크기를 갖는 픽셀 블록에 적용될 수도 있고, 정사각형이 아닌 가변 크기의 블록에도 적용될 수 있다.
양자화부(130)는 변환 계수를 양자화하여 엔트로피 인코딩부(190)로 전송하고, 엔트로피 인코딩부(190)는 양자화된 신호를 엔트로피 코딩하여 비트스트림으로 출력할 수 있다.
양자화부(130)로부터 출력된 양자화된 신호는 예측 신호를 생성하기 위해 이용될 수 있다. 예를 들어, 양자화된 신호는 루프 내의 역양자화부(140) 및 역변환부(150)를 통해 역양자화 및 역변환을 적용함으로써 잔여 신호를 복원할 수 있다. 복원된 잔여 신호를 인터 예측부(180) 또는 인트라 예측부(185)로부터 출력된 예측 신호에 더함으로써 복원 신호가 생성될 수 있다.
필터링부(160)는 복원 신호에 필터링을 적용하여 이를 재생 장치로 출력하거나 복호 픽쳐 버퍼(170)에 전송한다. 복호 픽쳐 버퍼(170)에 전송된 필터링된 신호는 인터 예측부(180)에서 참조 픽쳐로 사용될 수 있다. 이처럼, 필터링된 픽쳐를 화면간 예측 모드에서 참조 픽쳐로 이용함으로써 화질 뿐만 아니라 부호화 효율도 향상시킬 수 있다.
복호 픽쳐 버퍼(170)는 필터링된 픽쳐를 인터 예측부(180)에서의 참조 픽쳐로 사용하기 위해 저장할 수 있다.
인터 예측부(180)는 복원 픽쳐를 참조하여 시간적 중복성 및/또는 공간적 중복성을 제거하기 위해 시간적 예측 및/또는 공간적 예측을 수행한다. 이때, 인터 예측 모드에서 전송되는 움직임 정보의 양을 줄이기 위해 주변 블록과 현재 블록 간의 움직임 정보의 상관성에 기초하여 움직임 정보를 예측할 수 있다.
인트라 예측부(185)는 현재 부호화를 진행하려고 하는 블록의 주변에 있는 샘플들을 참조하여 현재 블록을 예측할 수 있다. 상기 인트라 예측부(185)는 인트라 예측을 수행하기 위해 다음과 같은 과정을 수행할 수 있다. 먼저, 예측 신호를 생성하기 위해 필요한 참조 샘플을 준비할 수 있다. 그리고, 준비된 참조 샘플을 이용하여 예측 신호를 생성할 수 있다. 이후, 예측 모드를 부호화하게 된다. 이때, 참조 샘플은 참조 샘플 패딩 및/또는 참조 샘플 필터링을 통해 준비될 수 있다. 참조 샘플은 예측 및 복원 과정을 거쳤기 때문에 양자화 에러가 존재할 수 있다. 따라서, 이러한 에러를 줄이기 위해 인트라 예측에 이용되는 각 예측 모드에 대해 참조 샘플 필터링 과정이 수행될 수 있다.
상기 인터 예측부(180) 또는 상기 인트라 예측부(185)를 통해 생성된 예측 신호는 복원 신호를 생성하기 위해 이용되거나 잔여 신호를 생성하기 위해 이용될 수 있다.
도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더의 개략적인 블록도를 나타낸다.
도 2를 참조하면, 디코더(200)는 엔트로피 디코딩부(210), 역양자화부(220), 역변환부(230), 필터링부(240), 복호 픽쳐 버퍼(DPB: Decoded Picture Buffer Unit)(250), 인터 예측부(260) 및 인트라 예측부(265)를 포함하여 구성될 수 있다.
그리고, 디코더(200)를 통해 출력된 복원 영상 신호는 재생 장치를 통해 재생될 수 있다.
디코더(200)는 도 1의 인코더(100)로부터 출력된 신호을 수신할 수 있고, 수신된 신호는 엔트로피 디코딩부(210)를 통해 엔트로피 디코딩될 수 있다.
역양자화부(220)에서는 양자화 스텝 사이즈 정보를 이용하여 엔트로피 디코딩된 신호로부터 변환 계수(transform coefficient)를 획득한다.
역변환부(230)에서는 변환 계수를 역변환하여 잔여 신호를 획득하게 된다.
획득된 잔여 신호를 인터 예측부(260) 또는 인트라 예측부(265)로부터 출력된 예측 신호에 더함으로써 복원 신호가 생성된다.
필터링부(240)는 복원 신호에 필터링을 적용하여 이를 재생 장치로 출력하거나 복호 픽쳐 버퍼부(250)에 전송한다. 복호 픽쳐 버퍼부(250)에 전송된 필터링된 신호는 인터 예측부(260)에서 참조 픽쳐로 사용될 수 있다.
본 명세서에서, 인코더(100)의 필터링부(160), 인터 예측부(180) 및 인트라 예측부(185)에서 설명된 실시예들은 각각 디코더의 필터링부(240), 인터 예측부(260) 및 인트라 예측부(265)에도 동일하게 적용될 수 있다.
영상 분할(image patitioning)
도 3은 본 발명이 적용되는 실시예로서, 코딩 유닛의 분할 구조를 설명하기 위한 도면이다.
인코더는 하나의 영상(또는 픽쳐)을 사각형 형태의 코딩 트리 유닛(CTU: Coding Tree Unit) 단위로 분할할 수 있다. 그리고, 래스터 스캔 순서(raster scan order)에 따라 하나의 CTU 씩 순차적으로 인코딩한다.
하나의 CTU은 쿼드트리(quadtree, 이하 'QT'라 함) 구조로 분해될 수 있다. 예를 들어, 하나의 CTU은 정사각형 형태를 가지면서 각 변의 길이가 절반씩 감소하는 4개의 유닛으로 분할될 수 있다. 이러한 QT 구조의 분해는 재귀적으로 수행될 수 있다.
도 3을 참조하면, QT의 루트 노드(root node)는 CTU와 관련될 수 있다. QT는 리프 노드(leaf node)에 도달할 때까지 분할될 수 있고, 이때 상기 리프 노드는 코딩 유닛(CU: Coding Unit)으로 지칭될 수 있다.
도 3을 참조하면, CTU는 루트 노드(root node)에 해당되고, 가장 작은 깊이(depth)(즉, 레벨 0) 값을 가진다. 입력 영상의 특성에 따라 CTU가 분할되지 않을 수도 있으며, 이 경우 CTU은 CU에 해당된다.
CTU은 QT 형태로 분해될 수 있으며, 그 결과 레벨 1의 깊이를 가지는 하위 노드들이 생성될 수 있다. 그리고, 레벨 1의 깊이를 가지는 하위 노드에서 더 이상 분할되지 않은 노드(즉, 리프 노드)는 CU에 해당한다. 예를 들어, 도 3(b)에서 노드 a, b 및 j에 대응하는 CU(a), CU(b), CU(j)는 CTU에서 한 번 분할되었으며, 레벨 1의 깊이를 가진다.
하나의 CU에 대하여, 해당 CU이 분할 되는지 여부를 나타내는 정보가 디코더에 전달될 수 있다. 예를 들어, 상기 정보는 분할 플래그로 정의될 수 있으며, 신택스 엘리먼트 "split_cu_flag"로 표현될 수 있다. 상기 분할 플래그는 SCU을 제외한 모든 CU에 포함될 수 있다. 예를 들어, 상기 분할 플래그의 값이 '1'이면 해당 CU은 다시 4개의 CU으로 나누어지고, 상기 분할 플래그의 값이 '0'이면 해당 CU은 더 이상 나누어지지 않고 해당 CU에 대한 코딩 과정이 수행될 수 있다.
앞서 도 3의 실시예에서는 CU의 분할 과정에 대해 예로 들어 설명하였으나, 변환을 수행하는 기본 단위인 변환 유닛(TU: Transform Unit)의 분할 과정에 대해서도 상술한 QT 구조를 적용할 수 있다.
TU는 코딩하려는 CU로부터 QT 구조로 계층적으로 분할될 수 있다. 예를 들어, CU은 변환 유닛(TU)에 대한 트리의 루트 노트(root node)에 해당될 수 있다.
TU는 QT 구조로 분할되므로 CU로부터 분할된 TU는 다시 더 작은 하위 TU로 분할될 수 있다. 예를 들어, TU의 크기는 32x32, 16x16, 8x8, 4x4 중 어느 하나로 정해질 수 있으나, 본 발명은 이에 한정되지 않으며, 고해상도 영상일 경우, TU의 크기는 더 커지거나 다양해질 수 있다.
하나의 TU에 대하여, 해당 TU이 분할 되는지 여부를 나타내는 정보가 디코더에 전달될 수 있다. 예를 들어, 상기 정보는 분할 변환 플래그로 정의될 수 있으며, 신택스 엘리먼트 "split_transform_flag"로 표현될 수 있다.
상기에서 설명한 바와 같이, CU는 인트라 예측 또는 인터 예측이 수행되는 코딩의 기본 단위이다. 입력 영상을 보다 효과적으로 코딩하기 위하여 CU를 예측 유닛(PU: Prediction Unit) 단위로 분할할 수 있다.
PU는 예측 블록을 생성하는 기본 단위로서, 하나의 CU 내에서도 PU 단위로 서로 다르게 예측 블록을 생성할 수 있다. PU는 PU가 속하는 CU의 코딩 모드로 인트라 예측 모드가 사용되는지 인터 예측 모드가 사용되는지에 따라 상이하게 분할될 수 있다.
도 4는 본 발명이 적용되는 실시예로서, 코딩 유닛의 분할 구조 중 쿼드-트리 바이너리-트리를 설명하기 위한 도면이다.
인코더는 하나의 영상(또는 픽쳐)을 사각형 형태의 코딩 트리 유닛(CTU: Coding Tree Unit) 단위로 분할할 수 있다. 그리고, 래스터 스캔 순서(raster scan order)에 따라 하나의 CTU 씩 순차적으로 인코딩한다.
하나의 CTU은 쿼드트리(quadtree, 이하 'QT'라 함) 구조와 바이너리트리(binarytree, 이하 BT라 함)로 분해될 수 있다. 예를 들어, 하나의 CTU은 정사각형 형태를 가지면서 각 변의 길이가 절반씩 감소하는 4개의 유닛으로 분할하거나 직사각형 형태를 가지면서 너비 또는 높이 길이가 절반씩 감소하는 2개의 유닛으로 분할할 수 있다. 이러한 QT BT구조의 분해는 재귀적으로 수행될 수 있다.
도 4를 참조하면, QT의 루트 노드(root node)는 CTU와 관련될 수 있다. QT는 QT 리프 노드(QT leaf node)에 도달할 때까지 분할될 수 있고, QT의 리프노드는 BT로 분할할 수 있으며 BT 리프노드에 도달할 때까지 분할 될 수 있다.
도 4를 참조하면, CTU는 루트 노드(root node)에 해당되고, 가장 작은 깊이(depth)(즉, 레벨 0) 값을 가진다. 입력 영상의 특성에 따라 CTU가 분할되지 않을 수도 있으며, 이 경우 CTU은 CU에 해당된다.
CTU은 QT 형태로 분해될 수 있으며 QT 리프노드는 BT형태로 분할 될 수 있다. 그 결과 레벨 n의 깊이를 가지는 하위 노드들이 생성될 수 있다. 그리고, 레벨 n의 깊이를 가지는 하위 노드에서 더 이상 분할되지 않은 노드(즉, 리프 노드)는 CU에 해당한다.
하나의 CU에 대하여, 해당 CU이 분할 되는지 여부를 나타내는 정보가 디코더에 전달될 수 있다. 예를 들어, 상기 정보는 분할 플래그로 정의될 수 있으며, 신택스 엘리먼트 "split_cu_flag"로 표현될 수 있다. 또한 QT리프노드에서 BT로 분할 되는지 여부를 나타내는 정보가 디코더에 전달될 수 있다. 예를 들어, 상기 정보는 BT 분할 플래그로 정의될 수 있으며, 신택스 엘리먼트 “bt_split_flag”로 표현될 수 있다. 추가적으로 split_bt_flagh에 의하여 BT로 분할이 되는 경우, 절반크기의 너비를 가지는 직사각형 또는 절반크기의 높이를 가지는 직사각형 형태로 분할되도록 BT 분할 모양이 디코더에 전달될 수 있다. 예를 들어, 상기 정보는 BT분할 모드로 정의될 수 있으며, 신택스 엘리먼트 “bt_split_mode”로 표현될 수 있다.
인트라 예측(Intra Prediction)
도 5는 본 발명이 적용될 수 있는 실시예로서, 인트라 예측 모드에 따른 예측 방향을 예시한다.
도 5(a)는 35개의 인트라 예측 모드를 예시한다.
표 1은 도 5(a)에서 예시하는 35개의 인트라 예측 모드에 대한 명칭을 예시한다.
Figure 112019024910426-pct00001
도 5(b)는 67개의 인트라 예측 모드를 예시한다.
고해상도 영상의 인트라 부호화 및 더 정확한 예측을 위해 35가지 방향성 모드를 67가지 방향성 모드로 확장한다. 도 5(b)에서 점선으로 나타낸 화살표는 새로 추가된 32가지 방향성 모드를 나타낸다. 인트라 플래너(INTRA_PLANAR) 모드와 인트라 DC(INTRA_DC) 모드는 기존의 인트라 플래너 모드와 인트라 DC 모드와 동일하다. 새롭게 추가된 32가지 방향성 모드는 모든 블록 크기에서 적용되고 또한, 휘도 성분과 색차 성분의 인트라 부호화에서 모두 적용된다.
표 2는 도 5(b)에서 예시하는 67개의 인트라 예측 모드에 대한 명칭을 예시한다.
Figure 112019024910426-pct00002
인트라 예측에서는 예측 모드에 따라 예측에 사용되는 참조 샘플의 위치에 대한 예측 방향을 가질 수 있다. 본 명세서에서는 예측 방향을 가지는 인트라 예측 모드를 인트라 방향성 예측 모드(Intra_Angular prediction mode) 또는 인트라 방향성 모드라고 한다. 반면, 예측 방향을 가지지 않는 인트라 예측 모드로서, 인트라 플래너(INTRA_PLANAR) 예측 모드, 인트라 DC(INTRA_DC) 예측 모드가 있다.
인트라 예측에서는 유도되는 예측 모드에 기반하여 현재 처리 블록에 대한 예측을 수행한다. 예측 모드에 따라 예측에 사용되는 참조 샘플과 구체적인 예측 방법이 달라지므로, 현재 블록이 인트라 예측 모드로 인코딩된 경우, 디코더는 예측을 수행하기 위해 현재 블록의 예측 모드를 유도할 수 있다.
디코더는 현재 처리 블록의 주변 샘플들(neighboring samples)이 예측에 사용될 수 있는지 확인하고, 예측에 사용할 참조 샘플들을 구성할 수 있다.
인트라 예측에서 현재 처리 블록의 주변 샘플들은 nSxnS 크기의 현재 처리 블록의 좌측(left) 경계에 인접한 샘플 및 좌하측(bottom-left)에 이웃하는 총 2xnS 개의 샘플들, 현재 처리 블록의 상측(top) 경계에 인접한 샘플 및 우상측(top-right)에 이웃하는 총 2xnS 개의 샘플들 및 현재 처리 블록의 좌상측(top-left)에 이웃하는 1개의 샘플을 의미한다.
그러나, 현재 처리 블록의 주변 샘플들 중 일부는 아직 디코딩되지 않았거나, 이용 가능하지 않을 수 있다. 이 경우, 디코더는 이용 가능한 샘플들로 이용 가능하지 않은 샘플들을 대체(substitution)하여 예측에 사용할 참조 샘플들을 구성할 수 있다.
디코더는 인트라 예측 모드에 기반하여 참조 샘플의 필터링을 수행할 수 있다.
디코더는 인트라 예측 모드와 참조 샘플들에 기반하여 현재 처리 블록에 대한 예측 블록을 생성할 수 있다. 즉, 디코더는 인트라 예측 모드 유도 단계에서 유도된 인트라 예측 모드와 참조 샘플 구성 단계와 참조 샘플 필터링 단계를 통해 획득한 참조 샘플들에 기반하여 현재 처리 블록에 대한 예측 블록을 생성할 수 있다.
참조 샘플 필터링
인코더/디코더는 화면 내 예측(즉, 인트라 예측) 과정에서 예측 방향에 따라 예측블록의 경계 픽셀을 필터링한다.
이하, HEVC 화면내 예측 과정에서 예측 블록의 블록 경계 픽셀에 필터링을 하는 방법과 현재 QTBT 구조에서 예측 블록의 블록 경계 픽셀에 필터링하는 방법에 대하여 설명한다.
이하, 본 명세서에서는 설명의 편의를 위해 픽셀의 좌표는 (x,y)로 표시하고, 여기서 x는 수평 방향의 x축의 좌표(좌측에서 우측으로 갈수록 값이 커짐), y는 수직 방향의 y축의 좌표(상측에서 하측으로 갈수록 값이 커짐)를 나타낸다고 가정한다. 또한, 예측 블록 내 좌상단 픽셀의 좌표를 (0,0)라고 가정한다.
또한, 이하 본 명세서에서는 설명의 편의를 위해 35개의 인트라 예측 모드를 가지는 인트라 예측 방법 및/또는 67개의 인트라 예측 모드를 가지는 인트라 예측 방법에서의 경계 픽셀 필터링 방법을 설명하나, 본 발명이 이에 한정되는 것은 아니며 인트라 예측 모드가 이와 상이하게 정의된 인트라 예측 방법에도 동일하게 적용될 수 있다.
도 6은 본 발명이 적용될 수 있는 실시예로서, 인트라 예측을 통하여 생성한 예측 블록을 예시한다.
도 6에서 백색 점선 블록은 참조 픽셀(즉, 참조 샘플)(reference)을, 회색 실선 블록은 예측 블록(즉, 예측자(predictor))을 나타낸다.
이하, 설명의 편의를 위해 도 6에 예시된 예측 블록을 예를 들어 HEVC와 QTBT의 인트라 예측 모드에 따른 경계 픽셀 필터링에 대해서 설명한다.
먼저, 인트라 예측 모드가 DC 모드인 경우, 예측 블록의 경계 픽셀의 필터링 방법을 살펴본다.
도 7 및 도 8은 본 발명이 적용될 수 있는 실시예로서, 인트라 예측 모드가 DC 모드인 경우, 예측 블록의 경계 픽셀의 필터링을 설명하기 위한 도면이다.
도 7 및 도 8에서 짙은 회색 실선 블록은 필터링이 수행된 예측 블록(즉, 필터링된 예측자(filetered predictor))을 나타내며, 도 7에서 볼 수 있듯이 DC 모드일 경우 좌측 블록 경계와 상측 블록 경계의 픽셀을 필터링한다.
도 8(a) 및 9(b)는 DC 모드의 경우 상측 블록 경계의 픽셀을 필터링하는 방법을 예시한다.
도 8(a)에서 예시된 바와 같이, 상측 블록 경계의 픽셀(801a)의 필터링은 예측 픽셀과 참조 픽셀을 이용하여 수행된다.
그리고, 상측 블록 경계의 픽셀(801a)의 각 픽셀의 위치에 따라 도 8(b)와 같이 필터링에 이용되는 참조 픽셀과 예측 픽셀이 결정된다.
즉, 상측 블록 경계의 필터링된 픽셀(즉, 예측자) (x,y)의 값은 {(3 x 예측 픽셀(즉, 예측자) (x,y)의 값 + 참조 픽셀 (x,y-1)의 값 + 2) >> 2}와 같이 산출된다.
이하, 본 명세서에서 x >> y는 x의 2의 보수(two's complement) 정수 표현을 y 2진 숫자(binary digit)만큼 산출 우측 시프트(Arithmetic right shift)를 의미한다. 이 함수는 y의 음이 아닌 정수 값(non-negative integer value)에 대해서만 정의된다. 우측 시프트의 결과로서 최상위 비트(MSB: Most Significant Byte)로 시프트된 비트는 시프트 연산 이전에 x의 최상위 비트(MSB: Most Significant Byte)와 동일한 값을 가진다.
도 8(c) 및 8(d)는 DC 모드의 경우 좌측 블록 경계의 픽셀을 필터링하는 방법을 예시한다.
도 8(c)에서 예시된 바와 같이, 좌측 블록 경계의 픽셀(801c)의 필터링은 예측 픽셀과 참조 픽셀을 이용하여 수행된다.
그리고, 좌측 블록 경계의 픽셀(801c)의 각 픽셀의 위치에 따라 도 8(d)와 같이 필터링에 이용되는 참조 픽셀과 예측 픽셀이 결정된다.
즉, 좌측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {(3 x 예측 픽셀 (x,y)의 값 + 참조 픽셀 (x-1,y)의 값 + 2) >> 2}와 같이 산출된다.
다음으로, 인트라 예측 모드가 수평(horizontal) 모드인 경우, 예측 블록의 경계 픽셀의 필터링 방법을 살펴본다.
도 9는 본 발명이 적용될 수 있는 실시예로서, 인트라 예측 모드가 수평(horizontal) 모드인 경우, 예측 블록의 경계 픽셀의 필터링을 설명하기 위한 도면이다.
도 9에서는 HEVC와 같이 35개의 인트라 예측 모드를 가지는 인트라 예측 방법의 경우 10번 예측모드 또는 67개의 인트라 예측 모드를 가지는 인트라 예측 방법의 경우 18번, 19번, 17번 예측 모드로 예측 블록을 생성할 때, 블록 경계 필터링을 예시한다(앞서 도 5 참조).
도 9(a)에서 볼 수 있듯이, HEVC의 10번 모드, 또는 67개 예측 모드의 17,18,19번 모드는 수평(Horizontal) 방향의 예측 모드이기 때문에(앞서 도 5 참조) 상측 블록 경계의 픽셀(901a)에 대해서 필터링이 수행된다.
그리고, 상측 블록 경계의 픽셀(901a)의 각 픽셀의 위치에 따라 도 9(b) 및 9(c)와 같이 필터링에 이용되는 참조 픽셀과 예측 픽셀이 결정된다.
즉, 상측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {예측 픽셀 (x,y)의 값 + ((제1 참조 픽셀 (-1,-1)의 값 - 제2 참조 픽셀 (x,y-1)의 값) >> 1)}와 같이 산출된다.
다음으로, 인트라 예측 모드가 수직(vertical) 모드인 경우, 예측 블록의 경계 픽셀의 필터링 방법을 살펴본다.
도 10은 본 발명이 적용될 수 있는 실시예로서, 인트라 예측 모드가 수직(vertical) 모드인 경우, 예측 블록의 경계 픽셀의 필터링을 설명하기 위한 도면이다.
도 10에서는 HEVC와 같이 35개의 인트라 예측 모드를 가지는 인트라 예측 방법의 경우 26번 예측모드 또는 67개의 인트라 예측 모드를 가지는 인트라 예측 방법의 경우 49번, 50번, 51번 예측 모드로 예측 블록을 생성할 때, 블록 경계 필터링을 예시한다.
도 10(a)에서 볼 수 있듯이, HEVC의 26번 모드, 또는 67개 예측 모드의 49,50,51번 모드는 수직(vertical) 방향의 예측 모드이기 때문에(앞서 도 5 참조) 좌측 블록 경계의 픽셀(1001a)에 대해서 필터링이 수행된다.
그리고, 좌측 블록 경계의 픽셀(1001a)의 각 픽셀의 위치에 따라 도 10(b) 및 10(c)와 같이 필터링에 이용되는 참조 픽셀과 예측 픽셀이 결정된다.
즉, 좌측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {예측 픽셀 (x,y)의 값 + ((제1 참조 픽셀 (-1,-1)의 값 - 제2 참조 픽셀 (x-1,y)의 값) >> 1)}와 같이 산출된다.
앞서 도 9 및 도 10에서 설명한 수평(Horizontal) 또는 수직(Vertical) 예측 모드의 경우 예측 블록 경계의 픽셀의 필터링은 예측 블록의 크기가 특정 크기 이하(예를 들어, 16x16 이하)의 블록에만 수행될 수 있다.
다음으로, 인트라 예측 모드가 2번 모드(예를 들어, 앞서 도 5와 같이 35개 또는 67개의 인트라 예측 모드 중에서)인 경우, 예측 블록의 경계 픽셀의 필터링 방법을 살펴본다.
도 11 내지 도 13은 본 발명이 적용될 수 있는 실시예로서, 인트라 예측 모드가 2번 모드인 경우, 예측 블록의 경계 픽셀의 필터링을 설명하기 위한 도면이다.
도 11과 같이, 인트라 예측 모드가 2번 모드인 경우, 좌측 하단의 참조 픽셀로부터 예측을 수행하기 때문에 상측의 4개의 예측 픽셀 라인들에 대해서 필터링이 수행된다.
도 12(a) 및 12(b)와 같이, 최상단으로부터 첫번째 예측 픽셀 라인의 픽셀(1201a)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀과 예측 픽셀이 결정된다.
즉, 첫번째 예측 픽셀 라인의 필터링된 픽셀 (x,y)의 값은 {(8 x 예측 픽셀 (x,y)의 값 + 8 x 참조 픽셀 (x+1,y-1)의 값 + 8) >> 4}와 같이 산출된다.
도 12(c) 및 12(d)와 같이, 최상단으로부터 두번째 예측 픽셀 라인의 픽셀(1201c)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀과 예측 픽셀이 결정된다.
즉, 두번째 예측 픽셀 라인의 필터링된 픽셀 (x,y)의 값은 {(12 x 예측 픽셀 (x,y)의 값 + 4 x 참조 픽셀 (x+2,y-2)의 값 + 8) >> 4}와 같이 산출된다.
도 13(a) 및 13(b)와 같이, 최상단으로부터 세번째 예측 픽셀 라인의 픽셀(1301a)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀과 예측 픽셀이 결정된다.
즉, 세번째 예측 픽셀 라인의 필터링된 픽셀 (x,y)의 값은 {(14 x 예측 픽셀 (x,y)의 값 + 2 x 참조 픽셀 (x+3,y-3)의 값 + 8) >> 4}와 같이 산출된다.
도 13(c) 및 13(d)와 같이, 최상단으로부터 네번째 예측 픽셀 라인의 픽셀(1301c)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀과 예측 픽셀이 결정된다.
즉, 네번째 예측 픽셀 라인의 필터링된 픽셀 (x,y)의 값은 {(14 x 예측 픽셀 (x,y)의 값 + 참조 픽셀 (x+4,y-4)의 값 + 8) >> 4}와 같이 산출된다.
다음으로, 인트라 예측 모드가 34번 모드(예를 들어, 앞서 도 5와 같이 35개 인트라 예측 모드 중에서) 또는 66번 모드(예를 들어, 앞서 도 5와 같이 67개의 인트라 예측 모드 중에서)인 경우, 예측 블록의 경계 픽셀의 필터링 방법을 살펴본다.
도 14 내지 도 16은 본 발명이 적용될 수 있는 실시예로서, 인트라 예측 모드가 35개 인트라 예측 모드 중에서 34번 모드 또는 67개 인트라 예측 모드 중에서 66번 예측 모드인 경우, 예측 블록의 경계 픽셀의 필터링을 설명하기 위한 도면이다.
도 14와 같이, 인트라 예측 모드가 34번 모드(35개 인트라 예측 모드 경우) 또는 66번 모드(67개 인트라 예측 모드 경우)인 경우, 우측 상단의 참조 픽셀로부터 예측을 수행하기 때문에 좌측의 4개의 예측 픽셀 라인들에 대해서 필터링이 수행된다.
도 15(a) 및 15(b)와 같이, 최좌측으로부터 첫번째 예측 픽셀 라인의 픽셀(1501a)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀과 예측 픽셀이 결정된다.
즉, 첫번째 예측 픽셀 라인의 필터링된 픽셀 (x,y)의 값은 {(8 x 예측 픽셀 (x,y)의 값 + 8 x 참조 픽셀 (x-1,y+1)의 값 + 8) >> 4}와 같이 산출된다.
도 15(c) 및 15(d)와 같이, 최좌측으로부터 두번째 예측 픽셀 라인의 픽셀(1501c)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀과 예측 픽셀이 결정된다.
즉, 두번째 예측 픽셀 라인의 필터링된 픽셀 (x,y)의 값은 {(12 x 예측 픽셀 (x,y)의 값 + 4 x 참조 픽셀 (x-2,y+2)의 값 + 8) >> 4}와 같이 산출된다.
도 16(a) 및 16(b)와 같이, 최좌측으로부터 세번째 예측 픽셀 라인의 픽셀(1601a)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀과 예측 픽셀이 결정된다.
즉, 세번째 예측 픽셀 라인의 필터링된 픽셀 (x,y)의 값은 {(14 x 예측 픽셀 (x,y)의 값 + 2 x 참조 픽셀 (x-3,y+3)의 값 + 8) >> 4}와 같이 산출된다.
도 16(c) 및 16(d)와 같이, 최좌측으로부터 네번째 예측 픽셀 라인의 픽셀(1601c)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀과 예측 픽셀이 결정된다.
즉, 네번째 예측 픽셀 라인의 필터링된 픽셀 (x,y)의 값은 {(15 x 예측 픽셀 (x,y)의 값 + 참조 픽셀 (x-4,y+4)의 값 + 8) >> 4}와 같이 산출된다.
다음으로, 인트라 예측 모드가 3, 4, 5, 6번 모드 또는 30, 31, 32, 33번 모드(예를 들어, 앞서 도 5와 같이 35개 인트라 예측 모드 중에서)인 경우, 예측 블록의 경계 픽셀의 필터링 방법을 살펴본다.
도 17은 본 발명이 적용될 수 있는 실시예로서, 인트라 예측 모드가 35개 인트라 예측 모드 중에서 3, 4, 5, 6번 모드인 경우, 예측 블록의 경계 픽셀의 필터링을 설명하기 위한 도면이다.
인트라 예측 모드 3, 4, 5, 6번 모드는 좌측 참조 샘플로부터 예측을 수행하는 모드이기 때문에, 예측 블록의 상측 경계 픽셀에 필터링이 수행되며, 각 모드의 각도(즉, 예측 방향의 각도)에 따라 필터링에 이용되는 참조 픽셀의 위치와 참조 픽셀과 예측 픽셀의 가중치의 차이가 있다.
도 17(a)는 인트라 예측 모드 3번의 경우, 예측 블록의 경계 픽셀에 대한 필터링을 예시한다.
도 17(a)와 같이, 상측 블록 경계의 픽셀(1701a)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀의 위치가 결정된다.
즉, 상측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {(8 x 예측 픽셀 (x,y)의 값 + 6 x 제1 참조 픽셀 (x+1,y-1)의 값 + 2 x 제2 참조 픽셀 (x+2,y-1)의 값 + 8) >> 4}와 같이 산출된다.
도 17(b)는 인트라 예측 모드 4번의 경우, 예측 블록의 경계 픽셀에 대한 필터링을 예시한다.
도 17(b)와 같이, 상측 블록 경계의 픽셀(1701b)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀의 위치가 결정된다.
즉, 상측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {(12 x 예측 픽셀 (x,y)의 값 + 2 x 제1 참조 픽셀 (x+1,y-1)의 값 + 2 x 제2 참조 픽셀 (x+2,y-1)의 값 + 8) >> 4}와 같이 산출된다.
도 17(c)는 인트라 예측 모드 5번의 경우, 예측 블록의 경계 픽셀에 대한 필터링을 예시한다.
도 17(c)와 같이, 상측 블록 경계의 픽셀(1701c)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀의 위치가 결정된다.
즉, 상측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {(12 x 예측 픽셀 (x,y)의 값 + 1 x 제1 참조 픽셀 (x+1,y-1)의 값 + 3 x 제2 참조 픽셀 (x+2,y-1)의 값 + 8) >> 4}와 같이 산출된다.
도 17(d)는 인트라 예측 모드 6번의 경우, 예측 블록의 경계 픽셀에 대한 필터링을 예시한다.
도 17(d)와 같이, 상측 블록 경계의 픽셀(1701d)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀의 위치가 결정된다.
즉, 상측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {(12 x 예측 픽셀 (x,y)의 값 + 3 x 제1 참조 픽셀 (x+2,y-1)의 값 + 1 x 제2 참조 픽셀 (x+3,y-1)의 값 + 8) >> 4}와 같이 산출된다.
도 18은 본 발명이 적용될 수 있는 실시예로서, 인트라 예측 모드가 35개 인트라 예측 모드 중에서 30, 31, 32, 33번 모드인 경우, 예측 블록의 경계 픽셀의 필터링을 설명하기 위한 도면이다.
인트라 예측 모드 30, 31, 32, 33번 모드는 상측 참조 샘플로부터 예측을 수행하는 모드이기 때문에, 예측 블록의 좌측 경계 픽셀에 필터링이 수행되며, 각 모드의 각도(즉, 예측 방향의 각도)에 따라 필터링에 이용되는 참조 픽셀의 위치와 참조 픽셀과 예측 픽셀의 가중치의 차이가 있다.
도 18(a)는 인트라 예측 모드 30번의 경우, 예측 블록의 경계 픽셀에 대한 필터링을 예시한다.
도 18(a)와 같이, 좌측 블록 경계의 픽셀(1801a)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀의 위치가 결정된다.
즉, 좌측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {(8 x 예측 픽셀 (x,y)의 값 + 6 x 제1 참조 픽셀 (x-1,y+1)의 값 + 2 x 제2 참조 픽셀 (x-1,y+2)의 값 + 8) >> 4}와 같이 산출된다.
도 18(b)는 인트라 예측 모드 31번의 경우, 예측 블록의 경계 픽셀에 대한 필터링을 예시한다.
도 18(b)와 같이, 좌측 블록 경계의 픽셀(1801b)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀의 위치가 결정된다.
즉, 좌측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {(12 x 예측 픽셀 (x,y)의 값 + 2 x 제1 참조 픽셀 (x-1,y+1)의 값 + 2 x 제2 참조 픽셀 (x-1,y+2)의 값 + 8) >> 4}와 같이 산출된다.
도 18(c)는 인트라 예측 모드 32번의 경우, 예측 블록의 경계 픽셀에 대한 필터링을 예시한다.
도 18(c)와 같이, 좌측 블록 경계의 픽셀(1801c)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀의 위치가 결정된다.
즉, 좌측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {(12 x 예측 픽셀 (x,y)의 값 + 1 x 제1 참조 픽셀 (x-1,y+1)의 값 + 3 x 제2 참조 픽셀 (x-1,y+2)의 값 + 8) >> 4}와 같이 산출된다.
도 18(d)는 인트라 예측 모드 33번의 경우, 예측 블록의 경계 픽셀에 대한 필터링을 예시한다.
도 18(d)와 같이, 좌측 블록 경계의 픽셀(1801d)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀의 위치가 결정된다.
즉, 좌측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {(12 x 예측 픽셀 (x,y)의 값 + 3 x 제1 참조 픽셀 (x-1,y+2)의 값 + 1 x 제2 참조 픽셀 (x-1,y+3)의 값 + 8) >> 4}와 같이 산출된다.
다음으로, 인트라 예측 모드가 3, 4, 5, 6, 7, 8, 9, 10번 모드(예를 들어, 앞서 도 5와 같이 67개 인트라 예측 모드 중에서)인 경우, 예측 블록의 경계 픽셀의 필터링 방법을 살펴본다.
도 19 및 도 20은 본 발명이 적용될 수 있는 실시예로서, 인트라 예측 모드가 67개 인트라 예측 모드 중에서 3, 4, 5, 6, 7, 8, 9, 10번 모드인 경우, 예측 블록의 경계 픽셀의 필터링을 설명하기 위한 도면이다.
인트라 예측 모드 3, 4, 5, 6, 7, 8, 9, 10번 모드는 좌측 참조 샘플로부터 예측을 수행하는 모드이기 때문에, 예측 블록의 상측 경계 픽셀에 필터링이 수행되며, 각 모드의 각도(즉, 예측 방향의 각도)에 따라 필터링에 이용되는 참조 픽셀의 위치와 참조 픽셀과 예측 픽셀의 가중치의 차이가 있다.
도 19(a)는 인트라 예측 모드 3번의 경우, 예측 블록의 경계 픽셀에 대한 필터링을 예시한다.
도 19(a)와 같이, 상측 블록 경계의 픽셀(1901a)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀의 위치가 결정된다.
즉, 상측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {(8 x 예측 픽셀 (x,y)의 값 + 7 x 제1 참조 픽셀 (x+1,y-1)의 값 + 1 x 제2 참조 픽셀 (x+2,y-1)의 값 + 8) >> 4}와 같이 산출된다.
도 19(b)는 인트라 예측 모드 4번의 경우, 예측 블록의 경계 픽셀에 대한 필터링을 예시한다.
도 19(b)와 같이, 상측 블록 경계의 픽셀(1901b)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀의 위치가 결정된다.
즉, 상측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {(8 x 예측 픽셀 (x,y)의 값 + 6 x 제1 참조 픽셀 (x+1,y-1)의 값 + 2 x 제2 참조 픽셀 (x+2,y-1)의 값 + 8) >> 4}와 같이 산출된다.
도 19(c)는 인트라 예측 모드 5번의 경우, 예측 블록의 경계 픽셀에 대한 필터링을 예시한다.
도 19(c)와 같이, 상측 블록 경계의 픽셀(1901c)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀의 위치가 결정된다.
즉, 상측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {(12 x 예측 픽셀 (x,y)의 값 + 3 x 제1 참조 픽셀 (x+1,y-1)의 값 + 1 x 제2 참조 픽셀 (x+2,y-1)의 값 + 8) >> 4}와 같이 산출된다.
도 19(d)는 인트라 예측 모드 6번의 경우, 예측 블록의 경계 픽셀에 대한 필터링을 예시한다.
도 19(d)와 같이, 상측 블록 경계의 픽셀(1901d)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀의 위치가 결정된다.
즉, 상측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {(12 x 예측 픽셀 (x,y)의 값 + 2 x 제1 참조 픽셀 (x+1,y-1)의 값 + 2 x 제2 참조 픽셀 (x+2,y-1)의 값 + 8) >> 4}와 같이 산출된다.
도 20(a)는 인트라 예측 모드 7번의 경우, 예측 블록의 경계 픽셀에 대한 필터링을 예시한다.
도 20(a)와 같이, 상측 블록 경계의 픽셀(2001a)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀의 위치가 결정된다.
즉, 상측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {(12 x 예측 픽셀 (x,y)의 값 + 3 x 제1 참조 픽셀 (x+1,y-1)의 값 + 2 x 제2 참조 픽셀 (x+2,y-1)의 값 + 8) >> 4}와 같이 산출된다.
도 20(b)는 인트라 예측 모드 8번의 경우, 예측 블록의 경계 픽셀에 대한 필터링을 예시한다.
도 20(b)와 같이, 상측 블록 경계의 픽셀(2001b)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀의 위치가 결정된다.
즉, 상측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {(12 x 예측 픽셀 (x,y)의 값 + 1 x 제1 참조 픽셀 (x+1,y-1)의 값 + 3 x 제2 참조 픽셀 (x+2,y-1)의 값 + 8) >> 4}와 같이 산출된다.
도 20(c)는 인트라 예측 모드 9번의 경우, 예측 블록의 경계 픽셀에 대한 필터링을 예시한다.
도 20(c)와 같이, 상측 블록 경계의 픽셀(2001c)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀의 위치가 결정된다.
즉, 상측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {(12 x 예측 픽셀 (x,y)의 값 + 3 x 제1 참조 픽셀 (x+2,y-1)의 값 + 1 x 제2 참조 픽셀 (x+3,y-1)의 값 + 8) >> 4}와 같이 산출된다.
도 20(d)는 인트라 예측 모드 10번의 경우, 예측 블록의 경계 픽셀에 대한 필터링을 예시한다.
도 20(d)와 같이, 상측 블록 경계의 픽셀(2001d)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀의 위치가 결정된다.
즉, 상측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {(12 x 예측 픽셀 (x,y)의 값 + 3 x 제1 참조 픽셀 (x+2,y-1)의 값 + 1 x 제2 참조 픽셀 (x+3,y-1)의 값 + 8) >> 4}와 같이 산출된다.
다음으로, 인트라 예측 모드가 59, 60, 61, 62, 63, 64, 65, 66번 모드(예를 들어, 앞서 도 5와 같이 67개 인트라 예측 모드 중에서)인 경우, 예측 블록의 경계 픽셀의 필터링 방법을 살펴본다.
도 21 및 도 22는 본 발명이 적용될 수 있는 실시예로서, 인트라 예측 모드가 67개 인트라 예측 모드 중에서 59, 60, 61, 62, 63, 64, 65, 66번 모드인 경우, 예측 블록의 경계 픽셀의 필터링을 설명하기 위한 도면이다.
인트라 예측 모드 59, 60, 61, 62, 63, 64, 65, 66번 모드는 상측 참조 샘플로부터 예측을 수행하는 모드이기 때문에, 예측 블록의 좌측 경계 픽셀에 필터링이 수행되며, 각 모드의 각도(즉, 예측 방향의 각도)에 따라 필터링에 이용되는 참조 픽셀의 위치와 참조 픽셀과 예측 픽셀의 가중치의 차이가 있다.
도 21(a)는 인트라 예측 모드 59번의 경우, 예측 블록의 경계 픽셀에 대한 필터링을 예시한다.
도 21(a)와 같이, 좌측 블록 경계의 픽셀(2101a)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀의 위치가 결정된다.
즉, 좌측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {(12 x 예측 픽셀 (x,y)의 값 + 3 x 제1 참조 픽셀 (x-1,y+2)의 값 + 1 x 제2 참조 픽셀 (x-1,y+3)의 값 + 8) >> 4}와 같이 산출된다.
도 21(b)는 인트라 예측 모드 60번의 경우, 예측 블록의 경계 픽셀에 대한 필터링을 예시한다.
도 21(b)와 같이, 좌측 블록 경계의 픽셀(2101b)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀의 위치가 결정된다.
즉, 좌측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {(12 x 예측 픽셀 (x,y)의 값 + 3 x 제1 참조 픽셀 (x-1,y+2)의 값 + 1 x 제2 참조 픽셀 (x-1,y+3)의 값 + 8) >> 4}와 같이 산출된다.
도 21(c)는 인트라 예측 모드 61번의 경우, 예측 블록의 경계 픽셀에 대한 필터링을 예시한다.
도 21(c)와 같이, 좌측 블록 경계의 픽셀(2101c)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀의 위치가 결정된다.
즉, 좌측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {(12 x 예측 픽셀 (x,y)의 값 + 1 x 제1 참조 픽셀 (x-1,y+1)의 값 + 3 x 제2 참조 픽셀 (x-1,y+2)의 값 + 8) >> 4}와 같이 산출된다.
도 21(d)는 인트라 예측 모드 62번의 경우, 예측 블록의 경계 픽셀에 대한 필터링을 예시한다.
도 21(d)와 같이, 좌측 블록 경계의 픽셀(2101d)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀의 위치가 결정된다.
즉, 좌측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {(12 x 예측 픽셀 (x,y)의 값 + 3 x 제1 참조 픽셀 (x-1,y+1)의 값 + 2 x 제2 참조 픽셀 (x-1,y+2)의 값 + 8) >> 4}와 같이 산출된다.
도 22(a)는 인트라 예측 모드 63번의 경우, 예측 블록의 경계 픽셀에 대한 필터링을 예시한다.
도 22(a)와 같이, 좌측 블록 경계의 픽셀(2201a)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀의 위치가 결정된다.
즉, 좌측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {(12 x 예측 픽셀 (x,y)의 값 + 2 x 제1 참조 픽셀 (x-1,y+1)의 값 + 2 x 제2 참조 픽셀 (x-1,y+2)의 값 + 8) >> 4}와 같이 산출된다.
도 22(b)는 인트라 예측 모드 64번의 경우, 예측 블록의 경계 픽셀에 대한 필터링을 예시한다.
도 22(b)와 같이, 좌측 블록 경계의 픽셀(2201b)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀의 위치가 결정된다.
즉, 좌측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {(12 x 예측 픽셀 (x,y)의 값 + 3 x 제1 참조 픽셀 (x-1,y+1)의 값 + 1 x 제2 참조 픽셀 (x-1,y+2)의 값 + 8) >> 4}와 같이 산출된다.
도 22(c)는 인트라 예측 모드 65번의 경우, 예측 블록의 경계 픽셀에 대한 필터링을 예시한다.
도 22(c)와 같이, 좌측 블록 경계의 픽셀(2201c)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀의 위치가 결정된다.
즉, 좌측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {(8 x 예측 픽셀 (x,y)의 값 + 6 x 제1 참조 픽셀 (x-1,y+1)의 값 + 2 x 제2 참조 픽셀 (x-1,y+2)의 값 + 8) >> 4}와 같이 산출된다.
도 22(d)는 인트라 예측 모드 66번의 경우, 예측 블록의 경계 픽셀에 대한 필터링을 예시한다.
도 22(d)와 같이, 좌측 블록 경계의 픽셀(2201d)의 각 픽셀의 위치에 따라 필터링에 이용되는 참조 픽셀의 위치가 결정된다.
즉, 좌측 블록 경계의 필터링된 픽셀 (x,y)의 값은 {(8 x 예측 픽셀 (x,y)의 값 + 7 x 제1 참조 픽셀 (x-1,y+1)의 값 + 1 x 제2 참조 픽셀 (x-1,y+2)의 값 + 8) >> 4}와 같이 산출된다.
앞서 도 6 내지 도 22에서 설명한 바와 같이 각 인트라 예측 모드에 따라 인트라 예측을 통해 생성된 예측 블록 내 블록 경계 픽셀의 필터링이 수행된다. 다만, 현재까지는 이 필터링 프로세스는 예측 블록의 크기에 따라 필터링이 적용이 되는지 여부가 결정되었다. 이러한 프로세는 QTBT 블록 분할 구조에서도 마찬가지이다.
도 23은 본 발명이 적용될 수 있는 실시예로서, QTBT 구조에서 예측 블록 내 경계 픽셀의 필터링의 과정을 예시한다.
도 23을 참조하면, 디코더가 예측자(즉, 예측 샘플/픽셀) 필터링을 시작하면 예측자를 입력 값으로 수신하고(즉, 예측 블록 생성), 디코더는 인트라 예측 모드(intraPredMode)가 좌측 블록으로부터 예측 블록을 생성하는 18,19,17번 모드(즉, 수평(horizontal) 모드)인 경우 또는 상측 블록으로부터 예측 블록을 생성하는 49,50,51번 모드(즉, 수직(vertical) 모드)인지 여부를 체크한다(S2301)(즉, intraPredMode(18,19,20) || intraPredMode(50,51,49)).
S2301 단계에서, 인트라 예측 모드(intraPredMode)가 18,19,17번 모드(즉, 수평(horizontal) 모드) 또는 49,50,51번 모드(즉, 수직(vertical) 모드)이면, 디코더는 RDPCM(residual differential pulse code modulation) 및 TQ Bypass가 적용되지 않는지 여부를 체크한다(S2302)(즉, !(RDPCMenabled && TQ Bypass)).
여기서, RDPCM은 HEVC 범위확장(RangeExtention) 기술로써, 4:4:4와 같은 같은 포맷에서 잔차신호를 DPCM(differential pulse code modulation)해서 전송하는 기술이며, TQ Bypass는 변환/양자화 하지 않고 잔차신호를 전송하는 방법이다.
S2302 단계에서 RDPCM 및 TQ Bypass가 적용되지 않으면, 디코더는 예측 블록이 휘도(Luma) 블록이고, 예측 블록 크기가 16x16보다 작은지 여부를 체크한다(S2303)(즉, Luma && block<16x16). 그렇지 않으면, 디코더는 예측자 필터링을 종료한다.
S2303 단계에서 예측 블록이 휘도(Luma) 블록이고, 예측 블록 크기가 16x16보다 작은 경우, 디코더는 예측자 필터링 프로세스 1을 수행한다(S2304). 그렇지 않으면, 디코더는 예측자 필터링을 종료한다.
여기서, 예측자 필터링 프로세스 1의 과정은 18,19,17번 모드(즉, 수평(horizontal) 모드)인 경우는 앞서 도 9에 예시된 방법과 같이 수행되고, 49,50,51번 모드(즉, 수직(vertical) 모드)인 경우는 앞서 도 10에 예시된 방법과 같이 수행된다.
한편, S2301 단계에서, 인트라 예측 모드(intraPredMode)가 18,19,17번 모드(즉, 수평(horizontal) 모드) 및 49,50,51번 모드(즉, 수직(vertical) 모드)가 아니면, 디코더는 PDPC가 적용되지 않거나 너비(width)가 16 이상이거나 RSAF가 적용되지 않은지 체크한다(S2305)(즉, (!PDPC || width>=16 || !SPS.useRSAF).
여기서, PDPC(Position Dependent Intra Prediction Combination)는 자체 예측 블록을 생성하기 때문에 경계 필터가 필요치 않고, ARSS(Adaptive reference sample smoothing)는 참조 샘플을 필터링 하여 예측 블록을 생성하기에 과도한 필터링이 되는 것을 방지하기 위한 기술이다.
S2305 단계에서, PDPC가 적용되지 않거나 너비(width)가 16 이상이거나 RSAF가 적용되지 않은 경우, 디코더는 예측 블록이 휘도(Luma) 블록이고, 예측 블록의 너비(width)가 2보다 크고 예측 블록의 높이(height)가 2보다 큰지 여부를 체크한다(S2306). 그렇지 않으면, 디코더는 예측자 필터링을 종료한다.
S2306 단계에서, 예측 블록이 휘도(Luma) 블록이고, 예측 블록의 너비(width)가 2보다 크고 예측 블록의 높이(height)가 2보다 큰 경우, 디코더는 예측자 필터링 프로세스 2를 수행한다(S2307). 그렇지 않으면, 디코더는 예측자 필터링을 종료한다.
여기서, 예측자 필터링 프로세스 2는 도 24를 참조하여 설명한다.
한편, S2302 단계 및 S2305 단계는 선택적으로 구현되는 단계로서 생략될 수 있다.
도 24은 본 발명이 적용될 수 있는 실시예로서, QTBT 구조에서 예측자 필터링 프로세스를 예시한다.
도 24를 참조하면, 예측자 필터링 프로세스 2가 시작되면, 디코더는 인트라 예측 모드(intraPredMode)가 DC 또는 1번 초과 11번 미만 또는 58번 초과 66번 이하인지 여부를 체크한다(S2401)(즉, intraPredMode(DC) || 1<intraPredMode<11 || 58<intraPredMode <=66).
S2401 단계에서 인트라 예측 모드(intraPredMode)가 DC 또는 1번 초과 11번 미만 또는 58번 초과 66번 이하인 경우, 디코더는 인트라 예측 모드(intraPredMode)가 DC인지 여부를 체크한다(S2402). 그렇지 않으면, 디코더는 예측자 필터링 프로세스 2를 종료한다.
S2402 단계에서 인트라 예측 모드(intraPredMode)가 DC인 경우, 디코더는 경계 픽셀 필터링을 수행한다(S2403). 경계 픽셀 필터링은 앞서 도 7 및 도 8에 예시된 방법과 같이 수행된다.
반면, S2402 단계에서 인트라 예측 모드(intraPredMode)가 DC가 아닌 경우, 디코더는 인트라 예측 모드(intraPredMode)가 2,66번인지 여부를 체크한다(S2404).
S2404 단계에서 인트라 예측 모드(intraPredMode)가 66번 모드이면, 디코더는 경계 주변 2 라인에 해당하는 경계 픽셀을 필터링한다(S2405).
66 번 모드에 대한 경계 픽셀 필터링은 앞서 도 14 내지 도 16에서 예시된 방법을 따르되, 경계 주변 2 라인에 해당하는 경계 픽셀이 필터링된다.
디코더는 예측 블록의 너비(BlockWidth)가 2보다 큰지 여부를 체크한다(S2406).
S2406 단계에서 예측 블록의 너비(BlockWidth)가 2보다 큰 경우, 디코더는 경계 주변 2 초과 라인에 해당하는 경계 픽셀을 필터링한다(S2407). 그렇지 않으면, 디코더는 예측자 필터링 프로세스 2를 종료한다.
S2404 단계에서 인트라 예측 모드(intraPredMode)가 2번 모드이면, 디코더는 경계 주변 2 라인에 해당하는 경계 픽셀을 필터링한다(S2408).
2 번 모드에 대한 경계 픽셀 필터링은 앞서 도 11 내지 도 13에서 예시된 방법을 따르되, 경계 주변 2 라인에 해당하는 경계 픽셀이 필터링된다.
디코더는 예측 블록의 높이(BlockHeight)가 2보다 큰지 여부를 체크한다(S2409).
S2409 단계에서 예측 블록의 높이(BlockHeight)가 2보다 큰 경우, 디코더는 경계 주변 2 초과 라인에 해당하는 경계 픽셀을 필터링한다(S2410). 그렇지 않으면, 디코더는 예측자 필터링 프로세스 2를 종료한다.
S2404 단계에서 인트라 예측 모드(intraPredMode)가 66, 2번 모드가 아니면, 디코더는 경계 주변 1 라인에 해당하는 경계 픽셀을 필터링한다(S2411).
예측 블록 경계 픽셀 필터링 방법
1) 실시예 1
본 발명의 일실시예는 비정방형(Non-Square) 블록의 인트라 예측(화면 내 예측) 모드가 DC 모드인 경우 경계 픽셀 필터링 방법을 제안한다.
앞서 도 7 및 도 8에서 설명한 것과 같이 DC 모드의 경우 좌측, 상측 블록 경계의 픽셀에 대해서 필터링이 수행된다. 단, HEVC에서는 16x16 블록 크기 이하의 휘도(luma) 블록에 대해서만 필터링이 수행되었다.
이러한 제약 조건은 Non-Square 블록에 대해서 적응적으로 적용되어야 한다. 그러나 앞서 현재 정의된 방법에 따르면, 단지 16x16블록 이하의 블록에서만 경계 픽셀의 필터링이 적용되기 때문에, 32x4, 4x32, 4x32 등 가로(width) 또는 세로(height) 길이에 적응적으로 적용될 수 없다. 이러한 문제점을 해결하기 위하여 예측 모드가 DC 모드일 경우, 적응적인 조건에 의하여 필터링 수행 여부를 결정하는 방법을 제안한다.
도 25는 본 발명의 일 실시예에 따른 인트라 예측 모드가 DC 모드인 경우 경계 픽셀 필터링 방법을 예시하는 도면이다.
도 25를 참조하면, DC 모드 경계 픽셀 필터링이 시작되면, 디코더는 현재 예측 블록이 비정방형(non-square) 블록인지 여부를 체크한다(S2501).
S2501 단계에서 현재 예측 블록이 비정방형(non-square) 블록이면, 예측 블록의 너비(width)가 최대 필터링 크기(MAXIMUM_FILTERING_SIZE) 이하인지 여부를 체크한다(S2502)(즉, Width <= MAXIMUM_FILTERING_SIZE).
S2502 단계에서 예측 블록의 너비(width)가 최대 필터링 크기(MAXIMUM_FILTERING_SIZE) 이하이면, 디코더는 예측 블록의 상측 경계 픽셀의 필터링을 수행한다(S2503).
여기서, 상측 경계 픽셀 필터링은 앞서 도 7 및 도 8에서 예시된 방법을 따르되, 상측 경계 픽셀만이 필터링된다.
S2503 단계에서 상측 경계 픽셀 필터링이 수행된 후, 또는 앞서 S2502 단계에서 예측 블록의 너비(width)가 최대 필터링 크기(MAXIMUM_FILTERING_SIZE)를 초과하면, 디코더는 예측 블록의 높이(height)가 최대 필터링 크기(MAXIMUM_FILTERING_SIZE) 이하인지 여부를 체크한다(S2504)(즉, Height <= MAXIMUM_FILTERING_SIZE).
S2504 단계에서 예측 블록의 높이(height)가 최대 필터링 크기(MAXIMUM_FILTERING_SIZE) 이하이면, 디코더는 예측 블록의 좌측 경계 픽셀의 필터링을 수행한다(S2505). 그렇지 않으면, DC 모드 경계 픽셀 필터링을 종료한다.
여기서, 좌측 경계 픽셀 필터링은 앞서 도 7 및 도 8에서 예시된 방법을 따르되, 좌측 경계 픽셀만이 필터링된다.
한편, S2501 단계에서, 현재 예측 블록이 비정방형(non-square) 블록이 아니면(즉, 정방형 블록이면), 디코더는 DC 모드에 대한 기존의 경계 픽셀 필터링을 수행한다(S2506).
여기서, DC 모드에 대한 기존의 경계 픽셀 필터링은 앞서 도 7 및 도 8에서 예시된 방법을 따른다.
2) 실시예 2
본 발명의 일 실시예는 비정방형(Non-Square) 블록의 인트라 예측 모드가 수평(Horizontal) 또는 수직(Vertical) 모드인 경우 경계 픽셀 필터링 방법을 제안한다.
앞서 도 9에서 설명하였듯이 HEVC의 Horizontal 모드(또는 67개 인트라 예측 모드를 사용하는 예측 방법에서 17, 18, 19번 모드), 그리고 앞서 도 10에서 설명하였듯이 HEVC의 Vertical 모드(또는 67개 인트라 예측 모드를 사용하는 예측 방법에서 49, 50, 51번 모드)는 블록 경계 픽셀 필터링이 수행된다.
다만, 모든 조건에서 필터링이 수행되지 않고, 아래 도 26과 같은 조건에 의해 예측 블록의 크기가 16x16 이하의 블록에 대해서만 필터링이 수행된다.
도 26은 본 발명이 적용될 수 있는 실시예로서, 인트라 예측 모드가 수평/수직 모드인 경우 경계 픽셀 필터링 프로세스를 예시하는 도면이다.
도 26을 참조하면, 수평/수직 모드(또는 67개 인트라 예측 모드를 사용하는 예측 방법에서 17, 18, 19번 또는 49, 50, 51번 모드)의 경계 픽셀 필터링이 시작되면, 디코더는 현재 예측 블록에 RDPCM 및 TQ Bypass가 적용되지 않는지 여부를 체크한다(S2601)(즉, !(RDPCMenabled && TQ Bypass)).
S2601 단계에서, 현재 예측 블록에 RDPCM 및 TQ Bypass가 적용되지 않으면, 디코더는 현재 예측 블록이 휘도(luma) 블록이고 예측 블록의 크기가 16x16 이하인지 여부를 체크한다(S2602)(즉, Luma && block<=16x16).
S2602 단계에서 현재 예측 블록이 휘도(luma) 블록이고 예측 블록의 크기가 16x16 이하이면, 디코더는 예측자 필터링 프로세스 1을 수행한다(S2603). 그렇지 않으면, 수평/수직 모드(또는 67개 인트라 예측 모드를 사용하는 예측 방법에서 17, 18, 19번 또는 49, 50, 51번 모드)의 경계 픽셀 필터링이 종료된다.
여기서, 예측자 필터링 프로세스 1은 앞서 도 9 또는 도 10에서 예시된 방법을 따른다.
한편, S2601 단계는 선택적으로 구현되는 단계로서 생략될 수 있다.
도 26의 조건은 QTBT 구조의 분할로 인하여 다양한 크기를 가질 수 있는 블록에 대해서 적응적으로 적용하는 것이 요구된다. 예를 들어 현재 도 26의 조건에 따르면, 4x32, 32x4 등의 블록에서는 경계 픽셀 필터링이 수행되지 않는다.
이러한 문제를 해결하기 위하여, 본 실시예에서는 아래 도 27과 같이 좌측 블록으로부터 예측을 수행하는 17, 18, 19번 모드(67개의 예측 모드가 정의된 예측 방법의 경우) 또는 HEVC의 Horizontal 모드로 예측된 16xN, 8xN, 4xN 블록에 대해서는 상측 블록 경계 픽셀의 필터링이 수행될 수 있다. 동일하게, 상측 블록으로부터 예측을 수행하는 49, 50, 51번 모드(67개의 예측 모드가 정의된 예측 방법의 경우) 또는 HEVC의 Vertical 모드로 예측된 Nx4, Nx8, Nx16 블록에 대해서는 좌측 블록 경계 픽셀의 필터링이 수행될 수 있다.
도 27은 본 발명의 일 실시예에 따른 예측 블록 경계 픽셀 필터링 방법을 예시하는 도면이다.
도 27을 참조하면, 수평/수직 모드(또는 67개 인트라 예측 모드를 사용하는 예측 방법에서 17, 18, 19번 또는 49, 50, 51번 모드)의 경계 픽셀 필터링이 시작되면, 디코더는 현재 예측 블록에 RDPCM 및 TQ Bypass가 적용되지 않고, 현재 예측 블록이 휘도(luma) 블록인지 여부를 체크한다(S2701)(즉, !(RDPCMenabled && TQ Bypass) && Luma).
S2701 단계에서 현재 예측 블록에 RDPCM 및 TQ Bypass가 적용되지 않고, 현재 예측 블록이 휘도(luma) 블록인 경우, 디코더는 현재 예측 블록의 인트라 예측 모드(predIntraMode)의 방향성이 수평 인트라 예측 모드의 방향성(IntraDir(Hor))을 기준으로 미리 정의된 범위(-α ~ + α) 내 속하고, 블록의 너비(BlockWidth)가 미리 정의된 경계 픽셀 필터링의 최대 블록 크기(β) 이하인지 여부를 체크한다(S2702)(즉, (IntraDir(Hor)-α<=predIntraMode<=IntraDir(Hor)+α)&&(BlockWidth<=β). 그렇지 않으면, 경계 픽셀 필터링이 종료된다.
여기서, α는 인트라 방향 모드의 차이를 의미하고, β는 경계 필터링의 최대 블록 크기를 의미한다.
S2702 단계에서, 현재 예측 블록의 인트라 예측 모드(predIntraMode)의 방향성이 수평 인트라 예측 모드의 방향성(IntraDir(Hor))을 기준으로 미리 정의된 범위(-α ~ + α) 내 속하고, 블록의 너비(BlockWidth)가 미리 정의된 경계 픽셀 필터링의 최대 블록 크기(β) 이하이면, 디코더는 예측 블록의 상측 경계 픽셀 필터링을 수행한다(S2703).
여기서, 예측 블록의 상측 경계 픽셀 필터링은 앞서 도 9에서 설명한 방법이 이용될 수 있다.
예측 블록의 상측 경계 픽셀 필터링이 수행된 후, 또는 S2702 단계에서 인트라 예측 모드(predIntraMode)의 방향성이 수평 인트라 예측 모드의 방향성(IntraDir(Hor))을 기준으로 미리 정의된 범위(-α ~ + α)에 속하지 않거나 또는 블록의 너비(BlockWidth)가 미리 정의된 경계 픽셀 필터링의 최대 블록 크기(β)를 초과하면, 디코더는 현재 예측 블록의 인트라 예측 모드(predIntraMode)의 방향성이 수직 인트라 예측 모드의 방향성(IntraDir(Ver))을 기준으로 미리 정의된 범위(-α ~ + α) 내 속하고, 블록의 높이(BlockHeight)가 미리 정의된 경계 픽셀 필터링의 최대 블록 크기(β) 이하인지 여부를 체크한다(S2704)(즉, (IntraDir(Ver)-α<=predIntraMode<=IntraDir(Ver)+α)&&(BlockHeight<=β).
S2704 단계에서, 현재 예측 블록의 인트라 예측 모드(predIntraMode)의 방향성이 수직 인트라 예측 모드의 방향성(IntraDir(Ver))을 기준으로 미리 정의된 범위(-α ~ + α) 내 속하고, 블록의 높이(BlockHeight)가 미리 정의된 경계 픽셀 필터링의 최대 블록 크기(β) 이하이면, 디코더는 예측 블록의 좌측 경계 픽셀 필터링을 수행한다(S2705).
여기서, 예측 블록의 좌측 경계 픽셀 필터링은 앞서 도 10에서 설명한 방법이 이용될 수 있다.
한편, S2701 단계는 선택적으로 구현되는 단계로서 생략될 수 있다.
3) 실시예 3
본 발명의 일실시예는 인트라 예측 모드의 총 개수가 35개인 경우 Non-Square 블록의 인트라 예측 모드가 2 또는 34, 인트라 예측 모드의 총 개수가 67개인 경우 Non-Square 블록의 인트라 예측 모드가 2 또는 66인 경우, 예측 블록의 경계 픽셀에 대한 필터링 방법을 제안한다.
앞서 도 11 내지 도 16에서 설명한 바와 같이, 블록 경계 주변의 4개의 라인에 속하는 경계 픽셀을 필터링하는 모드들의 필터링 결정 구조는 일부 수정되어 현재 QTBT 구조에서 적용되고 있다. 그러나 이러한 결정구조는 현재 QTBT 구조에 최적화 되어 있지 않아, 본 실시예에서는 효율적으로 경계 픽셀의 필터링을 적용할 수 있는 방법을 제안한다.
QTBT 구조는 바이너리 트리로 인하여 최소 블록 사이즈가 휘도(Luma)에서 4xN, Nx4가 되고, 색채(chroma)의 경우 2xN,Nx2가 해당될 수 있다. 이러한 이유로 앞서 설명한 도 25와 같이 QTBT 에서 적용되고있는 필터링 구조는 4xN, Nx4 크기의 휘도(Luma) 블록에서 예측 블록 전체에 대한 필터링이 수행되며, 색채(Chroma) 역시 2xN, Nx2 블록의 모든 예측 픽셀이 필터링 되는 문제가 발생한다.
이러한 문제를 해결하기 위하여 본 발명의 일 실시예에서는 예측 방향과 블록 크기에 따른 경계 픽셀의 필터링 범위를 제한하는 방법을 제안한다. 이에 대하여 아래 도면을 참조하여 설명한다.
도 28 및 도 29는 본 발명의 일 실시예에 따른 예측 블록 경계 픽셀 필터링 방법을 예시하는 도면이다.
도 28은 인트라 예측 모드가 인트라 예측 모드의 총 개수가 35개/67개인 경우 2번 모드가 적용되는 경우를 예시하고, 도 29는 인트라 예측 모드가 인트라 예측 모드의 총 개수가 35개인 경우 34번 모드, 67개인 경우 66번 모드가 적용되는 경우를 예시한다.
도 28에서 예시된 바와 같이, 인트라 예측 모드가 2인 경우, 블록의 크기가 8xN일 경우, 기존에는 블록의 모든 픽셀에 대한 필터링을 수행되었지만, 본 실시예에서 제안하는 방법은 Nx4 블록을 위하여 예측 블록 경계의 2 픽셀 라인(2801b)만 필터링이 수행될 수 있다.
또한, 도 29에서 예시된 바와 같이, 인트라 예측 모드가 34/66인 경우, 블록의 크기가 Nx8일 경우, 기존에는 블록의 모든 픽셀에 대한 필터링을 수행되었지만, 본 실시예에서 제안하는 방법은 4xN 블록을 위하여 예측 블록 경계의 2 픽셀 라인에 속하는 픽셀만(2901b) 필터링이 수행될 수 있다.
여기서, 블록 경계 주변의 2개의 픽셀 라인에 속하는 픽셀을 필터링 하는 방법은 두 가지로 구분할 수 있다.
도 30과 같이 기존 필터링 방법을 이용하되 경계 주변의 2 픽셀 라인만 필터링이 수행될 수 있으며, 또는 도 31과 같이 해당 예측 블록을 위하여 새로운 약한(Weak) 필터가 적용될 수 있다.
도 30은 본 발명의 일 실시예에 따른 경계 픽셀 필터링 방법을 예시하는 도면이다.
도 30을 참조하면, 예측자 필터링 프로세스 2가 시작되면, 디코더는 인트라 예측 모드(intraPredMode)가 DC 또는 1번 초과 11번 미만 또는 58번 초과 66번 이하인지 여부를 체크한다(S3001)(즉, intraPredMode(DC) || 1<intraPredMode<11 || 58<intraPredMode <=66).
S3001 단계에서 인트라 예측 모드(intraPredMode)가 DC 또는 1번 초과 11번 미만 또는 58번 초과 66번 이하인 경우, 디코더는 인트라 예측 모드(intraPredMode)가 DC인지 여부를 체크한다(S3002). 그렇지 않으면, 디코더는 예측자 필터링 프로세스 2를 종료한다.
S3002 단계에서 인트라 예측 모드(intraPredMode)가 DC인 경우, 디코더는 경계 픽셀 필터링을 수행한다(S3003). 예측 블록 경계 픽셀 필터링은 앞서 도 7 및 도 8에 예시된 방법과 같이 수행된다.
반면, S3002 단계에서 인트라 예측 모드(intraPredMode)가 DC가 아닌 경우, 디코더는 인트라 예측 모드(intraPredMode)가 2 또는 66번 모드인지 여부를 체크한다(S3004).
S3004 단계에서 인트라 예측 모드(intraPredMode)가 2 또는 66번 모드이면, 디코더는 인트라 예측 모드(intraPredMode)가 2번 모드이고 블록 높이(Height)가 4 초과하거나 또는 인트라 예측 모드(intraPredMode)가 66번 모드이고 블록 너비(Width)가 4 초과하는지 여부를 체크한다(S3005)(즉, (intraPredMode(2) && blockHeight>4) || (intraPredMode(66) && blockWidth>4)).
S3005 단계에서 인트라 예측 모드(intraPredMode)가 2번 모드이고 블록 높이(Height)가 4 초과하거나 또는 인트라 예측 모드(intraPredMode)가 66번 모드이고 블록 너비(Width)가 4 초과하는 경우, 디코더는 예측 블록 경계 주변 4 라인에 속하는 경계 픽셀을 필터링한다(S3006). 그렇지 않으면, 디코더는 예측 블록 경계 주변 2 라인에 속하는 경계 픽셀을 필터링한다(S3007).
여기서, 예측 블록의 경계 픽셀을 필터링은 앞서 도 11 내지 도 16에서 설명한 방법이 이용될 수 있다. 다만, S3007에서는 예측 블록 경계 주변 2 라인에 속하는 픽셀만이 필터링될 수 있다.
S3004 단계에서, 인트라 예측 모드(intraPredMode)가 2 번 모드도 아니고 66번 모드도 아니면, 디코더는 예측 블록 경계 주변 1 라인에 해당하는 경계 픽셀을 필터링한다(S3008).
여기서, 예측 블록의 경계 픽셀을 필터링은 앞서 도 17 내지 도 22에서 설명한 방법이 이용될 수 있다.
한편, S3004 단계 이후에 현재 블록의 인트라 예측 모드(intraPredMode)가 2 번 또는 3 내지 10번 모드이면, 현재 블록의 너비(width)가 경계 필터링의 최대 블록 크기 이하인 경우에만, 경계 픽셀의 필터링이 적용될 수 있다. 즉, 현재 블록의 너비(width)가 경계 필터링의 최대 블록 크기 이하인 경우에, S3005 단계 또는 S3008 단계가 이어서 수행될 수 있다.
또한, S3004 단계 이후에 현재 블록의 인트라 예측 모드(intraPredMode)가 66 번 또는 59 내지 65번 모드이면, 현재 블록의 높이(height)가 경계 필터링의 최대 블록 크기 이하인 경우에만, 경계 픽셀의 필터링이 적용될 수 있다. 즉, 현재 블록의 높이(height)가 경계 필터링의 최대 블록 크기 이하인 경우에, S3005 단계 또는 S3008 단계가 이어서 수행될 수 있다.
도 31은 본 발명의 일 실시예에 따른 경계 픽셀 필터링 방법을 예시하는 도면이다.
도 31을 참조하면, 예측자 필터링 프로세스 2가 시작되면, 디코더는 인트라 예측 모드(intraPredMode)가 DC 또는 1번 초과 11번 미만 또는 58번 초과 66번 이하인지 여부를 체크한다(S3101)(즉, intraPredMode(DC) || 1<intraPredMode<11 || 58<intraPredMode <=66).
S3101 단계에서 인트라 예측 모드(intraPredMode)가 DC 또는 1번 초과 11번 미만 또는 58번 초과 66번 이하인 경우, 디코더는 인트라 예측 모드(intraPredMode)가 DC인지 여부를 체크한다(S3102). 그렇지 않으면, 디코더는 예측자 필터링 프로세스 2를 종료한다.
S3102 단계에서 인트라 예측 모드(intraPredMode)가 DC인 경우, 디코더는 경계 픽셀 필터링을 수행한다(S3103). 예측 블록 경계 픽셀 필터링은 앞서 도 7 및 도 8에 예시된 방법과 같이 수행된다.
반면, S3102 단계에서 인트라 예측 모드(intraPredMode)가 DC가 아닌 경우, 디코더는 인트라 예측 모드(intraPredMode)가 2 또는 66번 모드인지 여부를 체크한다(S3104).
S3104 단계에서 인트라 예측 모드(intraPredMode)가 2 또는 66번 모드이면, 디코더는 인트라 예측 모드(intraPredMode)가 2번 모드이고 블록 높이(Height)가 4 초과하거나 또는 인트라 예측 모드(intraPredMode)가 66번 모드이고 블록 너비(Width)가 4 초과하는지 여부를 체크한다(S3105) (즉, (intraPredMode(2) && blockHeight>4) || (intraPredMode(66) && blockWidth>4)).
S3105 단계에서 인트라 예측 모드(intraPredMode)가 2번 모드이고 블록 높이(Height)가 4 초과하거나 또는 인트라 예측 모드(intraPredMode)가 66번 모드이고 블록 너비(Width)가 4 초과하는 경우, 디코더는 예측 블록 경계 주변 4 라인에 속하는 경계 픽셀을 필터링한다(S3106). 그렇지 않으면, 디코더는 약한 필터에 의해 예측 블록 경계 주변 2 라인에 속하는 경계 픽셀을 필터링한다(S3107).
여기서, S3106 단계에서는 예측 블록의 경계 픽셀을 필터링은 앞서 도 11 내지 도 16에서 설명한 방법이 이용될 수 있다. S3107에서는 약한 필터에 의해 예측 블록 경계 주변 2 라인에 해당하는 픽셀만이 필터링될 수 있다.
S3104 단계에서, 인트라 예측 모드(intraPredMode)가 2 번 모드도 아니고 66번 모드도 아니면, 디코더는 예측 블록 경계 주변 1 라인에 해당하는 경계 픽셀을 필터링한다(S3108).
여기서, 예측 블록의 경계 픽셀을 필터링은 앞서 도 17 내지 도 22에서 설명한 방법이 이용될 수 있다.
한편, S3104 단계 이후에 현재 블록의 인트라 예측 모드(intraPredMode)가 2 번 또는 3 내지 10번 모드이면, 현재 블록의 너비(width)가 경계 필터링의 최대 블록 크기 이하인 경우에만, 경계 픽셀의 필터링이 적용될 수 있다. 즉, 현재 블록의 너비(width)가 경계 필터링의 최대 블록 크기 이하인 경우에, S3105 단계 또는 S3108 단계가 이어서 수행될 수 있다.
또한, S3104 단계 이후에 현재 블록의 인트라 예측 모드(intraPredMode)가 66 번 또는 59 내지 65번 모드이면, 현재 블록의 높이(height)가 경계 필터링의 최대 블록 크기 이하인 경우에만, 경계 픽셀의 필터링이 적용될 수 있다. 즉, 현재 블록의 높이(height)가 경계 필터링의 최대 블록 크기 이하인 경우에, S3105 단계 또는 S3108 단계가 이어서 수행될 수 있다.
도 32는 본 발명의 일 실시예에 따른 인트라 예측 방법을 예시하는 도면이다.
도 32를 참조하면, 디코더는 현재 블록의 인트라 예측 모드를 도출한다(S3201).
앞서 도 5에서 설명한 바와 같이, 인트라 예측 모드는 예측 모드에 따라 예측에 사용되는 참조 샘플의 위치에 대한 예측 방향성을 가질 수도 있으며, 방향성이 없을 수도 있다. 또한, 인트라 예측 모드는 총 35개의 모드로 정의될 수도 있으며, 또는 총 67개의 모드로 정의될 수도 있다.
디코더는 현재 블록의 주변 샘플들(neighboring samples)이 예측에 사용될 수 있는지 확인하고, 예측에 사용할 참조 샘플들을 구성한다(S3202).
예를 들어, 인트라 예측에서 현재 블록의 주변 샘플들은 nS×nS' 크기의 현재 처리 블록의 좌측(left) 경계에 이웃한 샘플 및 좌하측(bottom-left)에 이웃하는 총 2×nS' 개의 샘플들, 현재 블록의 상측(top) 경계에 이웃한 샘플 및 우상측(top-right)에 이웃하는 총 2×nS 개의 샘플들 및 현재 블록의 좌상측(top-left)에 이웃하는 1개의 샘플을 의미할 수 있다.
이때, 현재 블록의 주변 샘플들 중 일부는 아직 디코딩되지 않았거나, 이용 가능하지 않을 수 있다. 이 경우, 디코더는 이용 가능한 샘플들로 이용 가능하지 않은 샘플들을 대체(substitution)하여 예측에 사용할 참조 샘플들을 구성할 수 있다.
또한, 디코더는 인트라 예측 모드에 기반하여 참조 샘플의 필터링을 수행할 수 있다. 참조 샘플의 필터링 수행 여부는 현재 블록의 크기에 기반하여 결정될 수 있다. 또한, 참조 샘플의 필터링 방법은 인코더로부터 전달되는 필터링 플래그에 의해 결정될 수 있다.
디코더는 참조 샘플을 이용하여 현재 블록의 예측 샘플을 생성한다(S3203).
디코더는 현재 블록의 인트라 예측 모드에 따라 현재 블록에 이웃하는 참조 샘플을 이용하여 현재 블록의 예측 샘플을 생성한다.
디코더는 예측 샘플 중 현재 블록의 상측 경계 및/또는 좌측 경계에 인접한 샘플을 필터링한다(S3204).
디코더는 앞서 도 5 내지 도 31에서 설명한 방법을 이용하여 현재 블록의 경계에 인접한 예측 샘플(즉, 예측 블록 경계 픽셀)을 필터링할 수 있다.
앞서 설명한 바와 같이, 현재 블록이 비정방형(non-spuare) 블록인 경우, 현재 블록의 상측 경계에 인접한 샘플의 필터링 여부는 현재 블록의 너비(width)만을 고려하여 결정되고, 현재 블록의 좌측 경계에 인접한 샘플의 필터링 여부는 현재 블록의 높이(height)만을 고려하여 결정될 수 있다.
예를 들어, 현재 블록의 인트라 예측 모드가 DC 모드인 경우, 현재 블록의 상측 경계에 인접한 샘플의 필터링은 현재 블록의 너비(width)가 미리 정의된 크기 이하일 때 수행되고, 현재 블록의 좌측 경계에 인접한 샘플의 필터링은 현재 블록의 높이(height)가 미리 정의된 크기 이하일 때 수행될 수 있다.
또한, 현재 블록의 인트라 예측 모드의 방향성이 수평(horizontal) 인트라 예측 모드를 기준으로 미리 정의된 범위 내에 속하는 경우, 현재 블록의 상측 경계에 인접한 샘플의 필터링은 현재 블록의 높이(height)가 미리 정의된 크기 이하일 때 수행될 수 있다.
또한, 현재 블록의 인트라 예측 모드의 방향성이 수직(vertical) 인트라 예측 모드를 기준으로 미리 정의된 범위 내에 속하는 경우, 현재 블록의 좌측 경계에 인접한 샘플의 필터링은 상기 현재 블록의 너비(width)가 미리 정의된 크기 이하일 때 수행될 수 있다.
또한, 총 67개의 인트라 예측 모드가 정의된 인트라 예측 모드 방법에서 현재 블록의 인트라 예측 모드가 2번 모드인 경우, 현재 블록의 상측 경계에 인접한 샘플의 필터링은 상기 현재 블록의 너비(width)가 미리 정의된 크기 이하일 때 수행될 수 있다. 이때, 현재 블록의 높이(height)가 4를 초과하면, 현재 블록의 상측 경계에 인접한 4개의 라인에 속하는 샘플들이 필터링될 수 있다. 반면, 현재 블록의 높이(height)가 4를 초과하지 않으면, 현재 블록의 상측 경계에 인접한 2개의 라인에 속하는 샘플만이 필터링될 수 있다.
또한, 총 67개의 인트라 예측 모드가 정의된 인트라 예측 모드 방법에서 현재 블록의 인트라 예측 모드가 66번 모드인 경우, 현재 블록의 좌측 경계에 인접한 샘플의 필터링은 현재 블록의 높이(height)가 미리 정의된 크기 이하일 때 수행될 수 있다. 이때, 현재 블록의 너비(width)가 4를 초과하면, 현재 블록의 좌측 경계에 인접한 4개의 라인에 속하는 샘플이 필터링될 수 있다. 반면, 현재 블록의 너비(width)가 4를 초과하지 않으면, 현재 블록의 좌측 경계에 인접한 2개의 라인에 속하는 샘플만이 필터링될 수 있다.
도 33은 본 발명의 일 실시예에 따른 인트라 예측부를 보다 구체적으로 예시하는 도면이다.
도 33을 참조하면, 인트라 예측부는 앞서 도 5 내지 도 31에서 제안된 기능, 과정 및/또는 방법을 구현한다. 또한, 인트라 예측부는 앞서 도 1에서 예시된 인코더의 구성 요소들 중 전체 또는 일부와 결합되어 인코딩 장치로 구현될 수 있으며, 또는 앞서 도 2에서 예시된 디코더의 구성 요소들 중 전체 또는 일부와 결합되어 디코딩 장치로 구현될 수 있다.
구체적으로, 인트라 예측부는 인트라 예측 모드 도출부(3301), 참조 샘플 구성부(3302), 예측 샘플 생성부(3303) 및 예측 샘플 필터링부(3304)를 포함하여 구성될 수 있다.
인트라 예측 모드 도출부(3301)는 현재 블록의 인트라 예측 모드를 도출한다.
앞서 도 5에서 설명한 바와 같이, 인트라 예측 모드는 예측 모드에 따라 예측에 사용되는 참조 샘플의 위치에 대한 예측 방향성을 가질 수도 있으며, 방향성이 없을 수도 있다. 또한, 인트라 예측 모드는 총 35개의 모드로 정의될 수도 있으며, 또는 총 67개의 모드로 정의될 수도 있다.
참조 샘플 구성부(3302)는 현재 블록의 주변 샘플들(neighboring samples)이 예측에 사용될 수 있는지 확인하고, 예측에 사용할 참조 샘플들을 구성한다.
예를 들어, 인트라 예측에서 현재 블록의 주변 샘플들은 nS×nS' 크기의 현재 처리 블록의 좌측(left) 경계에 이웃한 샘플 및 좌하측(bottom-left)에 이웃하는 총 2×nS' 개의 샘플들, 현재 블록의 상측(top) 경계에 이웃한 샘플 및 우상측(top-right)에 이웃하는 총 2×nS 개의 샘플들 및 현재 블록의 좌상측(top-left)에 이웃하는 1개의 샘플을 의미할 수 있다.
이때, 현재 블록의 주변 샘플들 중 일부는 아직 디코딩되지 않았거나, 이용 가능하지 않을 수 있다. 이 경우, 참조 샘플 구성부(3302)는 이용 가능한 샘플들로 이용 가능하지 않은 샘플들을 대체(substitution)하여 예측에 사용할 참조 샘플들을 구성할 수 있다.
또한, 참조 샘플 구성부(3302)는 인트라 예측 모드에 기반하여 참조 샘플의 필터링을 수행할 수 있다. 참조 샘플의 필터링 수행 여부는 현재 블록의 크기에 기반하여 결정될 수 있다. 또한, 참조 샘플의 필터링 방법은 인코더로부터 전달되는 필터링 플래그에 의해 결정될 수 있다.
예측 샘플 생성부(3303)는 참조 샘플을 이용하여 현재 블록의 예측 샘플을 생성한다.
예측 샘플 생성부(3303)는 현재 블록의 인트라 예측 모드에 따라 현재 블록에 이웃하는 참조 샘플을 이용하여 현재 블록의 예측 샘플을 생성한다.
예측 샘플 필터링부(3304)는 예측 샘플 중 현재 블록의 상측 경계 및/또는 좌측 경계에 인접한 샘플을 필터링한다.
예측 샘플 필터링부(3304)는 앞서 도 5 내지 도 31에서 설명한 방법을 이용하여 현재 블록의 경계에 인접한 예측 샘플(즉, 예측 블록 경계 픽셀)을 필터링할 수 있다.
앞서 설명한 바와 같이, 현재 블록이 비정방형(non-spuare) 블록인 경우, 예측 샘플 필터링부(3304)는 현재 블록의 상측 경계에 인접한 샘플의 필터링 여부를 현재 블록의 너비(width)만을 고려하여 결정하고, 현재 블록의 좌측 경계에 인접한 샘플의 필터링 여부를 현재 블록의 높이(height)만을 고려하여 결정할 수 있다.
예를 들어, 현재 블록의 인트라 예측 모드가 DC 모드인 경우, 예측 샘플 필터링부(3304)는 현재 블록의 상측 경계에 인접한 샘플의 필터링을 현재 블록의 너비(width)가 미리 정의된 크기 이하일 때만 수행하고, 현재 블록의 좌측 경계에 인접한 샘플의 필터링은 현재 블록의 높이(height)가 미리 정의된 크기 이하일 때만 수행할 수 있다.
또한, 현재 블록의 인트라 예측 모드의 방향성이 수평(horizontal) 인트라 예측 모드를 기준으로 미리 정의된 범위 내에 속하는 경우, 예측 샘플 필터링부(3304)는 현재 블록의 상측 경계에 인접한 샘플의 필터링을 현재 블록의 높이(height)가 미리 정의된 크기 이하일 때만 수행할 수 있다.
또한, 현재 블록의 인트라 예측 모드의 방향성이 수직(vertical) 인트라 예측 모드를 기준으로 미리 정의된 범위 내에 속하는 경우, 예측 샘플 필터링부(3304)는 현재 블록의 좌측 경계에 인접한 샘플의 필터링을 상기 현재 블록의 너비(width)가 미리 정의된 크기 이하일 때만 수행할 수 있다.
또한, 총 67개의 인트라 예측 모드가 정의된 인트라 예측 모드 방법에서 현재 블록의 인트라 예측 모드가 2번 모드인 경우, 예측 샘플 필터링부(3304)는 현재 블록의 상측 경계에 인접한 샘플의 필터링을 상기 현재 블록의 너비(width)가 미리 정의된 크기 이하일 때만 수행할 수 있다. 이때, 현재 블록의 높이(height)가 4를 초과하면, 예측 샘플 필터링부(3304)는 현재 블록의 상측 경계에 인접한 4개의 라인에 속하는 샘플들만 필터링할 수 있다. 반면, 현재 블록의 높이(height)가 4를 초과하지 않으면, 예측 샘플 필터링부(3304)는 현재 블록의 상측 경계에 인접한 2개의 라인에 속하는 샘플만 필터링할 수 있다.
또한, 총 67개의 인트라 예측 모드가 정의된 인트라 예측 모드 방법에서 현재 블록의 인트라 예측 모드가 66번 모드인 경우, 예측 샘플 필터링부(3304)는 현재 블록의 좌측 경계에 인접한 샘플의 필터링을 현재 블록의 높이(height)가 미리 정의된 크기 이하일 때만 수행할 수 있다. 이때, 현재 블록의 너비(width)가 4를 초과하면, 예측 샘플 필터링부(3304)는 현재 블록의 좌측 경계에 인접한 4개의 라인에 속하는 샘플만 필터링할 수 있다. 반면, 현재 블록의 너비(width)가 4를 초과하지 않으면, 예측 샘플 필터링부(3304)는 현재 블록의 좌측 경계에 인접한 2개의 라인에 속하는 샘플만 필터링할 수 있다.
이상에서 설명된 실시예들은 본 발명의 구성요소들과 특징들이 소정 형태로 결합된 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려되어야 한다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성하는 것도 가능하다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다. 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있음은 자명하다.
본 발명에 따른 실시예는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리는 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고 받을 수 있다.
본 발명은 본 발명의 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 다양한 다른 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.

Claims (11)

  1. 복호화 장치가 영상을 복호화하는 방법에 있어서,
    현재 블록의 인트라 예측 모드를 도출하는 단계;
    상기 현재 블록의 상단에 이웃한 샘플들과 좌측에 이웃한 샘플들로 참조 샘플들을 구성하는 단계;
    상기 참조 샘플과 상기 도출한 인트라 예측 모드를 근거로 상기 현재 블록의 예측 샘플을 생성하는 단계; 및
    상기 도출한 인트라 예측 모드와 상기 현재 블록의 크기를 근거로 상기 현재 블록의 예측 샘플을 필터링하는 단계를 포함하고,
    인트라 예측 모드 0 내지 66을 포함하는 인트라 예측 모드 방법에서 상기 도출한 인트라 예측 모드가 2 이상이고 10 이하일 때, 상기 예측 샘플의 필터링이 상기 도출한 인트라 예측 모드와 상기 현재 블록의 높이와 너비 중에서 너비만을 근거로 수행되고,
    상기 인트라 예측 모드 방법에서 상기 도출한 인트라 예측 모드가 59 이상일 때, 상기 예측 샘플의 필터링이 상기 도출한 인트라 예측 모드와 상기 현재 블록의 높이와 너비 중에서 상기 높이만을 근거로 수행되는 영상 복호화 방법.
  2. 제1항에 있어서,
    상기 현재 블록의 인트라 예측 모드가 DC 모드인 경우, 상기 현재 블록의 상측 경계에 인접한 예측 샘플의 필터링은 상기 현재 블록의 너비가 미리 정의된 크기 이하인 것을 근거로 수행되고, 상기 현재 블록의 좌측 경계에 인접한 예측 샘플의 필터링은 상기 현재 블록의 높이가 미리 정의된 크기 이하인 것을 근거로 수행되는 영상 복호화 방법.
  3. 제1항에 있어서,
    상기 현재 블록의 인트라 예측 모드의 방향성이 수평(horizontal) 인트라 예측 모드를 기준으로 미리 정의된 범위 내에 속하는 경우, 상기 현재 블록의 상측 경계에 인접한 예측 샘플의 필터링은 상기 현재 블록의 너비가 미리 정의된 크기 이하인 것을 근거로 수행되는 영상 복호화 방법.
  4. 제1항에 있어서,
    상기 현재 블록의 인트라 예측 모드의 방향성이 수직(vertical) 인트라 예측 모드를 기준으로 미리 정의된 범위 내에 속하는 경우, 상기 현재 블록의 좌측 경계에 인접한 예측 샘플의 필터링은 상기 현재 블록의 높이가 미리 정의된 크기 이하인 것을 근거로 수행되는 영상 복호화 방법.
  5. 제1항에 있어서,
    상기 현재 블록의 인트라 예측 모드가 2일 때, 상기 현재 블록의 너비가 소정 크기 이하이고 상기 현재 블록의 높이가 4보다 큰 것을 근거로 상기 현재 블록의 상측 경계에 인접한 4개의 라인에 속하는 예측 샘플의 필터링이 수행되는 영상 복호화 방법.
  6. 제1항에 있어서,
    상기 현재 블록의 인트라 예측 모드가 2일 때, 상기 현재 블록의 너비가 소정 크기 이하이고 상기 현재 블록의 높이가 4 이하인 것을 근거로 상기 현재 블록의 상측 경계에 인접한 2개의 라인에 속하는 예측 샘플만이 필터링되는 영상 복호화 방법.
  7. 제1항에 있어서,
    상기 현재 블록의 인트라 예측 모드가 66일 때, 상기 현재 블록의 높이가 소정 크기 이하이고 상기 현재 블록의 너비가 4보다 큰 것을 근거로 상기 현재 블록의 좌측 경계에 인접한 4개의 라인에 속하는 예측 샘플의 필터링이 수행되는 영상 복호화 방법.
  8. 제1항에 있어서,
    상기 현재 블록의 인트라 예측 모드가 66일 때, 상기 현재 블록의 높이가 소정 크기 이하이고 상기 현재 블록의 너비가 4 이하인 것을 근거로 상기 현재 블록의 좌측 경계에 인접한 2개의 라인에 속하는 예측 샘플만이 필터링되는 영상 복호화 방법.
  9. 영상을 복호화하는 복호화 장치에 있어서,
    현재 블록의 인트라 예측 모드를 도출하는 인트라 예측 모드 도출부;
    상기 현재 블록의 상단에 이웃한 샘플들과 좌측에 이웃한 샘플들로 참조 샘플들을 구성하는 참조 샘플 구성부;
    상기 참조 샘플과 상기 도출한 인트라 예측 모드를 근거로 상기 현재 블록의 예측 샘플을 생성하는 예측 샘플 생성부; 및
    상기 도출한 인트라 예측 모드와 상기 현재 블록의 크기를 근거로 상기 현재 블록의 예측 샘플을 필터링하는 예측 샘플 필터링부를 포함하고,
    인트라 예측 모드 0 내지 66을 포함하는 인트라 예측 모드 방법에서 상기 도출한 인트라 예측 모드가 2 이상이고 10 이하일 때, 상기 예측 샘플의 필터링이 상기 도출한 인트라 예측 모드와 상기 현재 블록의 높이와 너비 중에서 너비만을 근거로 수행되고,
    상기 인트라 예측 모드 방법에서 상기 도출한 인트라 예측 모드가 59 이상일 때, 상기 예측 샘플의 필터링이 상기 도출한 인트라 예측 모드와 상기 현재 블록의 높이와 너비 중에서 상기 높이만을 근거로 수행되는 장치.
  10. 영상을 부호화하는 방법에 있어서,
    현재 블록의 인트라 예측 모드를 인코딩 하는 단계;
    상기 현재 블록의 상단에 이웃한 샘플들과 좌측에 이웃한 샘플들로 참조 샘플들을 구성하는 단계;
    상기 참조 샘플과 상기 인트라 예측 모드를 근거로 상기 현재 블록의 예측 샘플을 생성하는 단계; 및
    상기 인트라 예측 모드와 상기 현재 블록의 크기를 근거로 상기 현재 블록의 예측 샘플을 필터링하는 단계를 포함하고,
    상기 필터링하는 단계는,
    인트라 예측 모드 0 내지 66을 포함하는 인트라 예측 모드 방법에서 상기 인트라 예측 모드가 2 이상이고 10 이하일 때, 상기 인트라 예측 모드와 상기 현재 블록의 높이와 너비 중에서 너비만을 근거로 상기 예측 샘플의 필터링을 수행하고,
    상기 인트라 예측 모드 방법에서 상기 인트라 예측 모드가 59 이상일 때, 상기 인트라 예측 모드와 상기 현재 블록의 높이와 너비 중에서 상기 높이만을 근거로 상기 예측 샘플의 필터링을 수행하는 부호화 방법.
  11. 픽처 정보를 포함하는 비트스트림을 저장하는 컴퓨터 판독 가능한 매체로서,
    상기 픽처 정보는,
    현재 블록의 인트라 예측 모드를 인코딩 하는 단계;
    상기 현재 블록의 상단에 이웃한 샘플들과 좌측에 이웃한 샘플들로 참조 샘플들을 구성하는 단계;
    상기 참조 샘플과 상기 인트라 예측 모드를 근거로 상기 현재 블록의 예측 샘플을 생성하는 단계; 및
    상기 인트라 예측 모드와 상기 현재 블록의 크기를 근거로 상기 현재 블록의 예측 샘플을 필터링하는 단계를 수행하여 생성되고,
    상기 필터링하는 단계는,
    인트라 예측 모드 0 내지 66을 포함하는 인트라 예측 모드 방법에서 상기 인트라 예측 모드가 2 이상이고 10 이하일 때, 상기 인트라 예측 모드와 상기 현재 블록의 높이와 너비 중에서 너비만을 근거로 상기 예측 샘플의 필터링을 수행하고,
    상기 인트라 예측 모드 방법에서 상기 인트라 예측 모드가 59 이상일 때, 상기 인트라 예측 모드와 상기 현재 블록의 높이와 너비 중에서 상기 높이만을 근거로 상기 예측 샘플의 필터링을 수행하는, 매체.
KR1020197007150A 2016-09-05 2017-09-05 영상 부호화/복호화 방법 및 이를 위한 장치 KR102447450B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227031991A KR20220129685A (ko) 2016-09-05 2017-09-05 영상 부호화/복호화 방법 및 이를 위한 장치

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662383589P 2016-09-05 2016-09-05
US62/383,589 2016-09-05
PCT/KR2017/009705 WO2018044142A1 (ko) 2016-09-05 2017-09-05 영상 부호화/복호화 방법 및 이를 위한 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227031991A Division KR20220129685A (ko) 2016-09-05 2017-09-05 영상 부호화/복호화 방법 및 이를 위한 장치

Publications (2)

Publication Number Publication Date
KR20190040000A KR20190040000A (ko) 2019-04-16
KR102447450B1 true KR102447450B1 (ko) 2022-09-26

Family

ID=61301123

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020197007150A KR102447450B1 (ko) 2016-09-05 2017-09-05 영상 부호화/복호화 방법 및 이를 위한 장치
KR1020227031991A KR20220129685A (ko) 2016-09-05 2017-09-05 영상 부호화/복호화 방법 및 이를 위한 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020227031991A KR20220129685A (ko) 2016-09-05 2017-09-05 영상 부호화/복호화 방법 및 이를 위한 장치

Country Status (5)

Country Link
US (2) US10979714B2 (ko)
EP (1) EP3509299B1 (ko)
KR (2) KR102447450B1 (ko)
CN (3) CN109937571B (ko)
WO (1) WO2018044142A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116634182A (zh) 2016-10-04 2023-08-22 株式会社Kt 对图像进行解码和编码的方法、图像数据的发送方法
DK3649781T3 (da) * 2017-07-04 2024-03-11 Huawei Tech Co Ltd Forbedring af tvungen grænseopdeling
CN116916012A (zh) * 2017-09-08 2023-10-20 株式会社Kt 视频信号处理方法及装置
CA3065914A1 (en) 2017-09-21 2019-03-28 Kt Corporation Video signal processing method and device
US11483555B2 (en) * 2018-01-11 2022-10-25 Telefonaktiebolaget Lm Ericsson (Publ) Multiple boundary filtering
US11611757B2 (en) * 2018-04-02 2023-03-21 Qualcomm Incorproated Position dependent intra prediction combination extended with angular modes
WO2019245650A1 (en) * 2018-06-18 2019-12-26 Interdigital Vc Holdings, Inc. Boundary filtering for planar and dc modes in intra prediction
US11343536B2 (en) * 2018-06-27 2022-05-24 Kt Corporation Method and apparatus for processing video signal
US10911765B2 (en) * 2018-08-01 2021-02-02 Tencent America LLC Method and apparatus for video coding
TWI729477B (zh) 2018-08-31 2021-06-01 聯發科技股份有限公司 視訊編解碼中的子塊去塊及裝置
CN110401838B (zh) * 2019-03-12 2021-08-31 浙江大华技术股份有限公司 帧内预测方法、编码器及存储装置
CN113661712A (zh) * 2019-03-12 2021-11-16 夏普株式会社 在视频编码中用于执行帧内预测编码的系统和方法
KR20220047824A (ko) * 2019-09-19 2022-04-19 엘지전자 주식회사 참조 샘플 필터링을 이용하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
CN111787334B (zh) * 2020-05-29 2021-09-14 浙江大华技术股份有限公司 一种用于帧内预测的滤波方法,滤波器及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101451923B1 (ko) 2011-06-20 2014-10-23 한국전자통신연구원 영상 부호화/복호화 방법 및 그 장치
KR101643121B1 (ko) 2011-01-12 2016-07-26 미쓰비시덴키 가부시키가이샤 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 화상 복호 방법 및 기억 매체

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008166916A (ja) * 2006-12-27 2008-07-17 Victor Co Of Japan Ltd イントラ予測符号化装置およびイントラ予測符号化方法
KR101369224B1 (ko) 2007-03-28 2014-03-05 삼성전자주식회사 움직임 보상 필터링을 이용한 영상 부호화, 복호화 방법 및장치
KR101510108B1 (ko) * 2009-08-17 2015-04-10 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
KR20110113561A (ko) * 2010-04-09 2011-10-17 한국전자통신연구원 적응적인 필터를 이용한 인트라 예측 부호화/복호화 방법 및 그 장치
KR20130091717A (ko) * 2010-07-31 2013-08-19 엠앤케이홀딩스 주식회사 예측 블록 생성 장치
KR101373814B1 (ko) * 2010-07-31 2014-03-18 엠앤케이홀딩스 주식회사 예측 블록 생성 장치
KR20120012385A (ko) * 2010-07-31 2012-02-09 오수미 인트라 예측 부호화 장치
PL3125553T3 (pl) * 2010-08-17 2018-09-28 M&K Holdings Inc. Sposób kodowania trybu intra-predykcji
CA3188026A1 (en) * 2010-09-30 2012-04-05 Mitsubishi Electric Corporation Moving image encoding device, moving image decoding device, moving image coding method, and moving image decoding method
KR101912307B1 (ko) * 2010-12-08 2018-10-26 엘지전자 주식회사 인트라 예측 방법과 이를 이용한 부호화 장치 및 복호화 장치
WO2012134046A2 (ko) * 2011-04-01 2012-10-04 주식회사 아이벡스피티홀딩스 동영상의 부호화 방법
DE112012001609B9 (de) 2011-04-25 2021-11-18 Lg Electronics Inc. Intra-Prädiktionsverfahren, Kodierer und Dekodierer zur Benutzung desselben
KR102014177B1 (ko) 2011-05-04 2019-10-21 한국전자통신연구원 에러에 강인한 인-루프 필터를 이용하는 영상 부호화/복호화 방법과 그에 관한 시그널링 방법
US9602839B2 (en) * 2011-06-15 2017-03-21 Futurewei Technologies, Inc. Mode dependent intra smoothing filter table mapping methods for non-square prediction units
CN108391137B (zh) * 2011-06-15 2022-07-19 韩国电子通信研究院 可伸缩解码方法/设备、可伸缩编码方法/设备和介质
KR101834541B1 (ko) * 2011-07-22 2018-03-07 에스케이텔레콤 주식회사 연성 디블록킹 필터링을 이용한 부호화/복호화 방법 및 장치
PT2773118T (pt) * 2011-10-24 2020-09-25 Innotive Ltd Método e aparelho para descodificação de imagens
US9282344B2 (en) 2011-11-04 2016-03-08 Qualcomm Incorporated Secondary boundary filtering for video coding
KR20130049526A (ko) * 2011-11-04 2013-05-14 오수미 복원 블록 생성 방법
KR20130049525A (ko) * 2011-11-04 2013-05-14 오수미 잔차 블록 복원을 위한 역변환 방법
JP5711098B2 (ja) * 2011-11-07 2015-04-30 日本電信電話株式会社 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置およびそれらのプログラム
CN110830797B (zh) * 2012-01-18 2023-09-15 韩国电子通信研究院 视频解码装置、视频编码装置和传输比特流的方法
US9332239B2 (en) * 2012-05-31 2016-05-03 Apple Inc. Systems and methods for RGB image processing
CA2878440A1 (en) 2012-07-06 2014-01-09 Telefonaktiebolaget L M Ericsson (Publ) Restricted intra deblocking filtering for video coding
US9813709B2 (en) * 2012-09-28 2017-11-07 Nippon Telegraph And Telephone Corporation Intra-prediction encoding method, intra-prediction decoding method, intra-prediction encoding apparatus, intra-prediction decoding apparatus, program therefor and recording medium having program recorded thereon
WO2015000168A1 (en) * 2013-07-05 2015-01-08 Mediatek Singapore Pte. Ltd. A simplified dc prediction method in intra prediction
WO2015057947A1 (en) * 2013-10-17 2015-04-23 Huawei Technologies Co., Ltd. Improved reference pixel selection and filtering for intra coding of depth map
AU2014216056A1 (en) * 2014-08-25 2016-03-10 Canon Kabushiki Kaisha Method, apparatus and system for predicting a block of video samples
KR101607611B1 (ko) * 2014-10-29 2016-03-30 삼성전자주식회사 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
SG11201703015PA (en) 2014-10-31 2017-05-30 Mediatek Inc Method of improved directional intra prediction for video coding
US10412402B2 (en) * 2014-12-11 2019-09-10 Mediatek Inc. Method and apparatus of intra prediction in video coding
KR101599646B1 (ko) * 2014-12-29 2016-03-14 이화여자대학교 산학협력단 Hevc 영상의 인트라 예측을 위한 적응적 필터링 방법, 인트라 예측을 위한 적응적 필터를 사용하는 영상 부호 방법 및 복호 방법
US9591325B2 (en) * 2015-01-27 2017-03-07 Microsoft Technology Licensing, Llc Special case handling for merged chroma blocks in intra block copy prediction mode
WO2016154963A1 (en) * 2015-04-01 2016-10-06 Mediatek Inc. Methods for chroma coding in video codec
EP3393126A4 (en) * 2016-02-16 2019-04-17 Samsung Electronics Co., Ltd. INTRA PREDICTION METHOD FOR REDUCING INTRA PREDICTION ERRORS AND DEVICE THEREFOR

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101643121B1 (ko) 2011-01-12 2016-07-26 미쓰비시덴키 가부시키가이샤 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법, 화상 복호 방법 및 기억 매체
KR101451923B1 (ko) 2011-06-20 2014-10-23 한국전자통신연구원 영상 부호화/복호화 방법 및 그 장치

Also Published As

Publication number Publication date
KR20220129685A (ko) 2022-09-23
EP3509299B1 (en) 2024-05-01
US20210203940A1 (en) 2021-07-01
WO2018044142A1 (ko) 2018-03-08
EP3509299A4 (en) 2020-05-13
CN114339225A (zh) 2022-04-12
CN114286091A (zh) 2022-04-05
US11457219B2 (en) 2022-09-27
CN109937571A (zh) 2019-06-25
US20190208209A1 (en) 2019-07-04
CN109937571B (zh) 2022-01-18
EP3509299A1 (en) 2019-07-10
US10979714B2 (en) 2021-04-13
KR20190040000A (ko) 2019-04-16

Similar Documents

Publication Publication Date Title
KR102447450B1 (ko) 영상 부호화/복호화 방법 및 이를 위한 장치
JP7472234B2 (ja) 映像符号化/復号化方法及びそのための装置
KR102171362B1 (ko) 영상 코딩 시스템에서 변환 방법 및 그 장치
KR102209697B1 (ko) 인트라 예측 방법과 이를 이용한 부호화 장치 및 복호화 장치
KR101292091B1 (ko) 적응적 화면내 예측 부호화 및 복호화 방법
KR102599446B1 (ko) 인트라 예측 모드에 기초하여 변환 인덱스 코딩을 수행하는 방법 및 이를 위한 장치
WO2018045944A1 (en) Methods and apparatuses of candidate set determination for binary-tree splitting blocks
KR20210022759A (ko) 이차 변환을 기반으로 비디오 신호를 처리하는 방법 및 장치
EP3364658A1 (en) Method and apparatus for encoding and decoding video signal
KR20210102468A (ko) 축소된 변환을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치
CN115623197A (zh) 使用参考样本的视频信号处理方法及设备
KR20220057613A (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
KR102329228B1 (ko) 임의 파티션 변환에 기초하여 비디오 신호를 처리하는 방법
KR20200110220A (ko) 잔차블록을 효율적으로 코딩하는 방법 및 장치
US11140415B2 (en) Method and device for processing video signal
KR20220024500A (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
RU2776871C1 (ru) Способ и устройство для эффективного кодирования остаточных блоков
RU2803519C2 (ru) Способ и устройство для эффективного кодирования остаточных блоков
RU2803519C9 (ru) Способ и устройство для эффективного кодирования остаточных блоков
RU2803426C2 (ru) Способ и устройство для эффективного кодирования остаточных блоков
RU2803532C2 (ru) Способ и устройство для эффективного кодирования остаточных блоков
RU2803537C2 (ru) Способ и устройство для эффективного кодирования остаточных блоков
KR102659354B1 (ko) 축소된 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
KR20210000282A (ko) 동영상 데이터의 인트라 예측 코딩을 위한 방법 및 장치
CA3153168A1 (en) Method for encoding/decoding image signal, and device for same

Legal Events

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