KR20240091033A - 다중 레퍼런스 필터를 사용한 인트라 비디오 코딩 - Google Patents

다중 레퍼런스 필터를 사용한 인트라 비디오 코딩 Download PDF

Info

Publication number
KR20240091033A
KR20240091033A KR1020247017572A KR20247017572A KR20240091033A KR 20240091033 A KR20240091033 A KR 20240091033A KR 1020247017572 A KR1020247017572 A KR 1020247017572A KR 20247017572 A KR20247017572 A KR 20247017572A KR 20240091033 A KR20240091033 A KR 20240091033A
Authority
KR
South Korea
Prior art keywords
video
block
interpolation filter
video block
intra
Prior art date
Application number
KR1020247017572A
Other languages
English (en)
Inventor
즈핀 덩
리 장
홍빈 리우
Original Assignee
베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드
바이트댄스 아이엔씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드, 바이트댄스 아이엔씨 filed Critical 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드
Publication of KR20240091033A publication Critical patent/KR20240091033A/ko

Links

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/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

비디오 프로세싱 방법은 비디오의 현재 비디오 유닛의 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 위해 규칙에 기초하여 4-탭 보간 필터를 사용할지 여부를 결정하는 단계를 포함하고, 현재 비디오 블록은 코딩된 표현에서 인트라 모드를 사용하여 코딩되고; 및 결정에 기초하여 변환을 수행하는 단계를 포함한다.

Description

다중 레퍼런스 필터를 사용한 인트라 비디오 코딩 {Intra video coding using multiple reference filters}
파리조약에 따른 대응하는 특허법 및/또는 규칙에 따라, 이 출원은 2019년 5월 2일에 출원된 국제특허출원번호 PCT/CN2019/085406의 우선권과 이익을 적시에 주장하기 위해 이루어진다.  법에 따른 모든 목적을 위해, 상기 출원의 전체 개시는 본 출원의 개시의 일부로 참조에 의해 통합된다.   
이 특허 문서는 비디오 프로세싱 기술, 디바이스 및 시스템과 관련이 있다. 
비디오 압축의 발전에도 불구하고 디지털 비디오는 여전히 인터넷 및 기타 디지털 통신 네트워크에서 가장 큰 대역폭을 사용한다. 비디오를 수신하고 표시할 수 있는 연결된 사용자 디바이스의 수가 증가함에 따라 디지털 비디오 사용에 대한 대역폭 수요가 계속 증가할 것으로 예상된다. 
인트라 코딩 중 보간 필터를 사용하는 디지털 비디오 코딩 및 디코딩과 관련된 디바이스, 시스템 및 방법이 설명된다. 
하나의 예에서, 비디오 프로세싱 방법이 개시된다. 이 방법은 다음을 포함하는 비디오 프로세싱 방법이 제공된다: 규칙에 기초하여, 비디오의 현재 비디오 유닛의 현재 비디오 블록과 상기 비디오의 코딩된 표현(representation) 간의 변환을 위해 4-탭 보간 필터를 사용할지 여부를 결정하는 단계 - 상기 현재 비디오 블록은 상기 코딩된 표현에서 인트라 모드를 사용하여 코딩됨 -; 및 상기 결정에 기초하여 변환을 수행하는 단계를 포함한다. 
또 다른 예에서, 또 다른 비디오 프로세싱 방법이 개시된다. 상기 방법은, 비디오의 현재 비디오 유닛의 현재 비디오 블록과 비디오의 코딩된 표현 간의 변환을 위해, 보간 필터를 레퍼런스 샘플에 적용함으로써 보간 필터를 사용하여 인트라 예측 블록을 생성하는 단계 - 상기 레퍼런스 샘플은 규칙에 따라 결정됨 -; 및 상기 예측 블록을 이용하여 상기 변환을 수행하는 단계를 포함한다. 
또 다른 양태에서, 전술한 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 인코더 장치가 개시된다. 
또 다른 양태에서, 전술한 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 디코더 장치가 개시된다. 
또 다른 양태에서, 컴퓨터 판독가능 매체가 개시된다. 컴퓨터가 읽을 수 있는 매체는 전술한 방법들 중 어느 하나를 수행하기 위한 코드를 저장한다. 
개시된 기술의 상기 및 기타 양태 및 특징은 도면, 설명 및 청구범위에서 보다 상세하게 설명된다.
도 1은 33개의 인트라 예측 방향의 예를 도시한다. 
도 2는 신규 및 기존 인트라 예측 모드의 예를 도시한다. 
도 3은 67개의 인트라 예측 모드에 대한 인트라 모드 인덱스의 예를 도시한다.  
도 4a는 4x8 및 8x4 CU에 대한 서브 파티션의 예를 도시한다. 
도 4b는 4x8, 8x4 및 4x4 이외의 CU에 대한 서브 파티션의 예를 도시한다.  
도 5는 인트라 모드의 예를 도시한다.  
도 6 및 도 7은 비디오 프로세싱 장치의 예를 나타내는 블록도이다. 
도 8a 내지 도 8c는 개시된 기술의 일부 구현에 기초한 비디오 프로세싱의 예시적인 방법에 대한 흐름도이다. 
본 문서에서 사용된 섹션 제목은 이해를 쉽게 하기 위한 것으로서, 섹션에 개시된 실시예는 해당 섹션으로만 제한되지 않는다.  더욱이, 특정 실시예는 다목적 비디오 코딩 또는 기타 특정 비디오 코덱에 대한 참조로 설명되지만, 개시된 기술은 다른 비디오 코딩 기술에도 적용 가능하다.  더욱이, 일부 실시예에서 비디오 코딩 단계를 자세히 설명할 때, 코딩을 역 실행(undo)하는 디코딩 대응 단계 들은 디코더에 의해 구현될 것임이 이해될 수 있을 것이다. 또한, 비디오 프로세싱이라는 용어는 비디오 코딩 또는 압축, 비디오 디코딩 또는 압축해제 및 비디오 트랜스코딩을 포함하며, 비디오 픽셀은 하나의 압축된 형식에서 다른 압축된 형식으로 또는 다른 압축된 비트레이트로 표현된다. 
1. 요약 Summary
이 문서는 비디오 코딩 기술(video coding technologies)과 관련이 있다.  구체적으로, 비디오 코딩에서의 인트라 코딩 프로세스와 관련된다.  HEVC와 같은 기존 비디오 코딩 표준 또는 최종 확정될 표준(다목적 비디오 코딩)에 적용될 수 있다.  미래의 비디오 부호화 표준이나 비디오 코덱에도 적용 가능(applicable)하다. 
2. 초기 논의 Initial discussion
비디오 코딩 표준은 주로 잘 알려진 ITU-T 및 ISO/IEC 표준의 개발을 통해 발전해 왔다.  ITU-T는 H.261및 H.263을 제작했으며, ISO/IEC는 MPEG-1 및 MPEG-4 비주얼을 제작했으며, 두 조직은 H.262/MPEG-2 비디오 및 H.264/MPEG-4 고급 비디오 코딩(AVC) 및 H.265/HEVC 표준을 공동 제작했다.  H.262 이후, 비디오 코딩 표준은 시간(temporal) 예측과 변환(transform) 코딩이 사용되는 하이브리드 비디오 코딩 구조에 기초한다.  HEVC를 넘어 미래의 비디오 코딩 기술을 연구하기 위해, 공동 비디오 연구팀(JVET: Joint Video Exploration Team)이 2015년에 VCEG와 MPEG의 공동으로 설립되었다.  그 이후로 JVET에 의해 많은 새로운 방법을 채택하고 공동 연구 모델 (JEM)이라는 레퍼런스 소프트웨어에 적용했다.  JVET 회의는 분기마다 한번 동시 개최되며, 새로운 코딩 표준은 HEVC 대비 비트레이트 50% 감소를 목표로 하고 있다.  새로운 비디오 코딩 표준은 2018년 4월 JVET 회의에서 공식적으로 다목적 비디오 코딩(Versatile Video Coding; VVC)로 명명되었으며, 당시 VVC 테스트 모델(VTM)의 첫 번째 버전이 출시되었다.  VVC 표준화에 기여하는 지속적인 노력이 있기 때문에 모든 JVET 회의에서 새로운 코딩 기술이 VVC 표준에 채택되고 있다.  VVC 작업 드래프트와 테스트 모델 VTM은 모든 회의 후에 업데이트된다.  VVC 프로젝트는 현재 2020년 7월 회의에서 기술 완료(FDIS)를 목표로 하고 있다. 
2.1 HEVC/H.265의 인트라 예측
인트라 예측은 고려된(considered) 컬러 채널에서 이전에(previously) 재구성된 샘플을 사용하여 주어진 TB(변환 블록)에 대한 샘플을 생성하는 것을 포함한다.  인트라 예측 모드는 루마 및 크로마 채널에 대해 독립적으로(separately)시그널링되고, 크로마 채널 인트라 예측 모드는 'DM_CHROMA' 모드를 통해 루마 채널 인트라 예측 모드에 선택적으로 의존한다.  인트라 예측 모드는 PB(예측 블록; prediction block) 레벨에서 시그널링되지만, CU에 대한 잔차 쿼드-트리(quad-tree) 계층(hierachy)에 따라 TB 레벨에서 인트라 예측 프로세스가 적용되어 하나의 TB의 코딩이 CU 내 다음(next) TB의 코딩에 영향을 미치므로, 레퍼런스 값으로 사용되는 샘플까지의 거리가 줄어든다. 
HEVC에는 35개의 인트라 예측 모드(DC 모드, 플래나(planar) 모드 및 33개의 방향성 또는 '각도(angular)' 인트라 예측 모드)가 포함된다.  33개의 각도 인트라 예측 모드는 도 3에 도시되어 있다.  도 1은 33개의 인트라 예측 방향의 예를 도시한다. 
크로마 컬러 채널과 연관된 PB에 대해, 인트라 예측 모드는 플래나, DC, 수평, 수직, 'DM_CHROMA' 모드 또는 때로는 대각선 모드 '34' 중 어느 하나로 지정(specify)된다. 
크로마 포맷 4:2:2 및 4:2:0의 경우, 크로마 PB는 2개 또는 4개의 (각각) 루마 PB와 오버랩(overlap)할 수 있다. 이 경우 DM_CHROMA에 대한 루마 방향은 이러한 루마 PB의 왼쪽 상단(top left)에서 취한다. 
DM_CHROMA 모드는 크로마 컬러 채널(PB)에 루마 컬러 채널(PB)의 인트라 예측 모드가 적용됨을 나타낸다.  이것은 비교적 일반적이므로, intra_chroma_pred_mode의 최대 가능 모드(most-probable-mode; MPM) 코딩 스킴(scheme)은 이 모드가 선택되도록 바이어스(biased)된다. 
2.2 VVC의 67개의 인트라 예측 모드
보통의(natural) 비디오에 제공되는 임의의 에지 디렉션을 캡처하기 위해, VTM4의 방향성(directional) 인트라 모드의 수는 33개에서, HEVC에서 사용되는 것과 같이, 65개로 확장된다.  HEVC에 없는 새로운 방향성 모드는 도 4에서 점선 화살표로 도시된다.  2 및 플래나 및 DC 모드는 동일하게 유지된다. 
이러한 밀도가 높은 디렉셔널 인트라 예측 모드는 모든 블록 크기 및 루마와 크로나 인트라 예측 모드 모두에 적용된다. 
인트라 예측 모드 및 연관된 인트라 예측 모드 인덱스는 다음과 같다:  플래나(0) 또는 DC(1), 수직(50), HOR(18), 왼쪽 상단 모드(34), 오른쪽 상단 모드(66). 
도 2는 신규 및 기존 인트라 예측 모드의 예를 도시한다. 
도 3은 67개의 인트라 예측 모드에 대한 인트라 모드 인덱스의 예를 도시한다. 
2.3 정사각형이 아닌 블록에 대한 광각(wide-angle) 인트라 예측(WAIP)
기존의 각도 인트라 예측 방향은 시계 방향으로 45도에서 -135도까지 정의된다.  VTM4에서 기존의 여러 각도 인트라 예측 모드는 비-정사각형 블록에 대한 광각 인트라 예측 모드로 적응적으로 대체된다.  대체된 모드는 원래(original) 모드를 사용하여 시그널링 되는데, 이것은 파싱 후 광각 모드의 인덱스로 다시 매핑된다.  인트라 예측 모드의 총 수는 변경되지 않으며, 즉, 67개의 인트라 모드 코딩은 변경되지 않는다. 
2.4 인트라 서브-파티션(ISP)
ISP(Intra Sub-Partitions) 툴은 루마 인트라 예측 블록을 블록 크기에 따라 수직 또는 수평으로 2개 또는 4개의 서브-파티션으로 나눈다.  예를 들어, ISP의 최소 블록 크기는 4x8(또는 8x4)이다.  블록 크기가 4x8(또는 8x4)보다 크면 해당 블록은 4개의 서브-파티션으로 나뉜다.  도 4a 및 4b는 두 가지 가능성의 예를 도시한다.  모든 서브-파티션은 최소 16개의 샘플을 갖는 조건을 충족한다. 
도 4a는 4x8 및 8x4 CU에 대한 서브-파티션의 예를 도시한다. 
도 4b는 4x8, 8x4 및 4x4 이외의 CU에 대한 서브 파티션의 예를 도시한다. 
각 서브-파티션에 대해 예측 시그널에 잔차(residual) 시그널을 추가하여 복원된(reconstructed) 샘플이 획득된다.  여기서, 엔트로피 디코딩, 역양자화, 역변환 등의 과정을 거쳐 잔차 시그널이 생성된다.  따라서, 각 서브-파티션의 복원된 샘플 값은 다음 서브-파티션의 예측을 생성하는데 이용 가능하며, 각 서브-파티션은 반복적으로 프로세싱된다.  또한, 프로세싱될 첫 번째 서브-파티션은 CU의 왼쪽 상단 샘플을 포함하고, 계속해서 아래쪽(수평 분할) 또는 오른쪽(수직 분할)으로 이어지는 하나이다.  그 결과, 서브-파티션 예측 시그널을 생성하는 데 사용되는 레퍼런스 샘플은 라인의 왼쪽 및 위쪽에만 위치한다. 모든 서브-파티션은 동일한 인트라 모드를 공유한다. 
2.5 MDIS(Mode Dependent Intra Smoothing) 및 4-탭 레퍼런스 샘플 보간 필터
방향성 인트라 예측 정확도를 향상시키기 위해, 4-탭 인트라 보간 필터가 사용된다.  HEVC에서 2-탭 쌍선형(bilinear) 보간 필터는 방향성 예측 모드(즉, 플래나 및 DC 예측자를 제외)에서 인트라 예측 블록을 생성하는 데 사용되었다.  VTM4에서 단순화된 6비트 4-탭 가우시안 보간 필터와 6비트 4-탭 DCT-IF 크로마 필터는 방향성 인트라 모드에만 사용된다.  비-방향성 인트라 예측 프로세스는 수정되지 않는다.  4-탭 필터의 선택은 비분할(non-fractional) 변위(displacement)를 제공하는 방향성 인트라 예측 모드, 즉 다음을 제외한 모든 방향성 모드에 대한 MDIS 조건에 따라 수행된다.  2, HOR_IDX, DIA_IDX, VER_IDX, 66… 
인트라 예측 모드에 따라, 다음의 레퍼런스 샘플 프로세싱이 수행된다. 
1.방향성 인트라 예측 모드는 다음 그룹 중 하나로 분류된다. 
A.수직 또는 수평 모드(HOR_IDX, VER_IDX), 
B.45도의 배수인 각도를 나타내는 대각선(diagonal) 모드(2, DIA_IDX, VDIA_IDX… 
C.나머지 방향성 모드; 
2.방향성 인트라 예측 모드가 그룹 A에 속하는 것으로 분류되면 예측 샘플을 생성하기 위해 레퍼런스 샘플에 필터가 적용되지 않는다. 
3.그렇지 않고 모드가 그룹 B에 속하면 [1, 2, 1] 레퍼런스 샘플 필터가 레퍼런스 샘플에 적용되어(MDIS 조건에 따라) 이러한 필터링된 값을 선택한 방향에 따라 인트라 예측기로 추가로 카피할 수 있으나 보간 필터는 적용되지 않는다. 
4.그렇지 않고, 모드가 그룹 C에 속하는 것으로 분류되면 레퍼런스 샘플에 인트라 레퍼런스 샘플 보간 필터만 적용되어 선택한 방향(레퍼런스 필터링 수행되지 않음)에 따라 레퍼런스 샘플 사이의 분수 또는 정수 위치에 속하는 예측 샘플을 생성한다. 
2.5.1 VVC 사양/작업 드래프트의 인트라 레퍼런스 샘플 보간 필터
다음 텍스트는 VVC 작업 드래프트 JVET-M1001-v7에서 추출된다. 
8.4.4.2.7.NTRA_ANGULAR2..INTRA_ANGULAR66 인트라 예측 모드의 사양 
이 프로세스에 대한 입력은 다음과 같다:
- 인트라 예측 모드 predModeIntra, 
- 인트라 예측 레퍼런스 라인 인덱스를 지정하는 변수 refIdx, 
- 변환 블록 폭(width)을 지정하는 변수 nTbW, 
- 변환 블록 높이를 지정하는 변수 nTbH, 
- 레퍼런스 샘플 폭을 지정하는 변수 refW, 
- 레퍼런스 샘플 높이를 지정하는 변수 refH, 
- 코딩 블록 폭을 지정하는 변수 nCbW, 
- 코딩 블록 높이를 지정하는 변수 nCbH, 
- 현재 블록의 컬러 컴포넌트를 지정하는 변수 cIdx, 
- x = -1- refIdx, y = -1- refIdx..refH - 1 및 x = -refIdx..refW - 1, y = -1- refIdx인 인접 샘플 p[ x ][ y ]. 
이 프로세스의 출력은 수정된 인트라 예측 모드 predModeIntra 및 예측된 샘플 predSamples[ x ][ y ]이며 x = 0..nTbW - 1, y = 0..nTbH - 1이다.
변수 nTbS는 ( Log2 ( nTbW ) + Log2 ( nTbH ) ) >> 1 과 동일하게 설정된다.
변수 nW 및 nH는 다음과 같이 유도된다.
IntraSubPartitionsSplitType이 ISP_NO_SPLIT와 같거나 cIdx가 0이 아닌 경우 다음이 적용된다. 
- 그렇지 않으면( IntraSubPartitionsSplitType 이 ISP_NO_SPLIT 와 같지 않고 cIdx 가 0 인 경우) 다음이 적용된다. 
변수 whRatio는 Abs( Log2( nW / nH ) )와 동일하게 설정된다.
변수 wideAngle은 0으로 설정된다.
정사각형이 아닌 블록(nW는 nH와 같지 않음)의 경우 인트라 예측 모드 predModeIntra는 다음과 같이 수정된다.
다음 조건이 모두 참이면 wideAngle이 1로 설정되고 predModeIntra가 ( predModeIntra + 65 )로 설정된다. 
nW는 nH보다 큼 
predModeIntra는 2보다 크거나 같다. 
predModeIntra가 (whRatio > 1)보다 작은가?  ( 8 + 2 * WhRatio ) :  8 
그렇지 않고, 다음 조건이 모두 참이면 wideAngle은 1로 설정되고 predModeIntra는 ( predModeIntra - 67 )로 설정된다. 
nH는 nW보다 큼 
predModeIntra는 66보다 작거나 같다. 
predModeIntra가 (whRatio > 1) ?  ( 60 - 2 * whRatio ) :  60  보다 크다.
filterFlag 변수는 다음과 같이 유도(derived)된다.
다음 조건 중 하나 이상이 참이면 filterFlag는 0으로 설정 된다. 
predModeIntra는 INTRA_ANGULAR2, INTRA_ANGULAR34 또는 INTRA_ANGULAR66과 같다. 
refIdx가 0이 아니다.
IntraSubPartitionsSplitType이 ISP_NO_SPLIT와 같지 않고 cIdx가 0이고 predModeIntra가 INTRA_ANGULAR34 이상이고 nW가 8보다 크다.
IntraSubPartitionsSplitType은 ISP_NO_SPLIT와 같지 않고 cIdx는 0이고 predModeIntra는 INTRA_ANGULAR34보다 작고 nH는 8보다 크다.
그렇지 않으면 다음이 적용된다:
변수 minDistVerHor는 Min( Abs( predModeIntra - 50 ), Abs( predModeIntra - 18 ) )과 동일하게 설정된다.
변수 intraHorVerDistThres[ nTbS ]는 표 8-4에 지정된다. 
변수 filterFlag는 아래와 같이 유도된다:
minDistVerHor가 intraHorVerDistThres[ nTbS ]보다 크거나 wideAngle이 1과 같으면 filterFlag는 1로 설정된다.
그렇지 않으면 filterFlag가 0으로 설정된다.
표 8-4 다양한 변환 블록 크기 nTbS에 대한 intraHorVerDistThres[ nTbS ] 사양
도 8-1(VVC의)은 본원의 도 5이다 - 인트라 예측 방향(참고용)
본원의 도 5인, 도 8-1은 93개의 예측 방향을 보여주며, 점선 방향은 정사각형이 아닌 블록에만 적용되는 광각 모드와 연관된다.
표 8-5는 predModeIntra와 각도 파라미터 intraPredAngle 간의 매핑 테이블을 지정한다.
표 8-5 - intraPredAngle 사양 
역각도(inverse angle) 파라미터 invAngle은 다음과 같이 intraPredAngle을 기반으로 유도된다.
invAngle = Round (8-129)
위상 = 0..31 및 j = 0..3인 보간 필터 계수(coefficients) fC[ phase ][ j ] 및 fG[ phase ][ j ]는 표 8-6에 지정된다.
표 8-6 보간 필터 계수 fC 및 fG의 사양
x = 0..nTbW - 1, y = 0..nTbH - 1인 예측 샘플 predSamples[ x ][ y ]의 값은 다음과 같이 유도된다:
- predModeIntra가 34보다 크거나 같으면, 다음 순서의 단계가 적용된다:
1. 레퍼런스 샘플 어레이 ref[ x ]는 다음과 같이 지정된다..
*- 다음이 적용된다. 
- intraPredAngle이 0보다 작으면 기본 레퍼런스 샘플 어레이는 다음과 같이 확장된다: 
- ( nTbH * intraPredAngle ) >> 5가 -1보다 작을 때, 
- 그렇지 않으면, 
- x = 1..( Max( 1, nTbW / nTbH ) * refIdx + 1)인 추가 샘플 ref[ refW + refIdx +x ]는 다음과 같이 유도된다. 
2. x = 0..nTbW - 1, y = 0..nTbH - 1인 예측 샘플 predSamples[ x ][ y ]의 값은 다음과 같이 유도된다: 
- 인덱스 변수 iIdx와 곱셈 팩터(factor) iFact는 다음과 같이 유도된다. 
- cIdx가 0이고, nTbW*nTbH 가 M보다 크면, 다음이 적용된다. 
- j = 0..3인 보간 필터 계수 fT[ j ]는 다음과 같이 유도된다. 
- 예측 샘플 predSamples[ x ][ y ]의 값은 다음과 같이 유도된다. 
- 그렇지 않으면(cIdx가 0이 아님) iFact의 값에 따라 다음이 적용된다. 
- iFact가 0이 아닌 경우 예측 샘플 predSamples[ x ][ y ]의 값은 다음과 같이 유도된다: 
- 그렇지 않으면 예측 샘플 predSamples[ x ][ y ]의 값은 다음과 같이 유도된다: 
- 그렇지 않으면(predModeIntra가 34보다 작음), 다음 순서의 단계가 적용된다:
3. 레퍼런스 샘플 어레이 ref[ x ]는 다음과 같이 지정된다:
- 다음이 적용된다:
*
-  intraPredAngle이 0보다 작으면 기본 레퍼런스 샘플 어레이는 다음과 같이 확장된다.
( nTbW * intraPredAngle ) >> 5가 -1보다 작을 때,
- 그렇지 않으면,
- x = 1..( Max( 1, nTbHW / nTbH ) * refIdx + 1)인 추가 샘플 ref[ refH + refIdx +x ]는 다음과 같이 유도된다.
4. 예측 샘플의 값 predSamples[ x ][ y ], with x = 0..nTbW - 1, y = 0..nTbH - 1는 아래와 같이 유도된다:
- 인덱스 변수 iIdx 및 곱셈 팩터 iFact는 아래와 같이 유도된다:
- cIdx 가 0이고, nTbW*nTbH 가 M보다 크면, 다음이 적용된다:
- 보간 필터 계수 fT[ j ] with j = 0..3은 다음과 같이 유도된다:
- 예측 샘플의 값 predSamples[ x ][ y ]은 아래와 같이 유도된다:
- 그렇지 않으면(cIdx가 0이 아님) iFact의 값에 따라 다음이 적용된다.
iFact가 0이 아닌 경우 예측 샘플 predSamples[ x ][ y ]의 값은 다음과 같이 유도된다.
- 그렇지 않으면 예측 샘플 predSamples[ x ][ y ]의 값은 다음과 같이 유도된다.
 
2.5.2 JVET-N0435의 채택
지난 JVET-N 회의에서 JVET-N0435는 WAIP와 MDIS 및 레퍼런스 샘플 보간 필터 사용 간의 조화를 위해 채택되었다. 광각 모드가 비-분할(non-fractional) 오프셋을 나타내는 경우. 이 조건을 만족하는 광각 모드는 [-14, -12, -10, -6, 72, 76, 78, 80]의 8가지 모드가 있다. 이러한 모드에 의해 블록이 예측되는 경우. 보간을 적용하지 않고 레퍼런스 버퍼의 특정 샘플에서 직접 카피(copy)하는 것이 좋다. 대신 레퍼런스 필터가 이러한 모드에 조건부로 적용되어 예측자를 평활화(smooth)한다. 이 수정으로 평활화에 필요한 샘플 수가 감소한다. 또한 기존 예측 모드와 광각 모드에서 비-분할 모드의 설계를 정렬한다.
2.5.3 JVET-N0435의 해당 수정된 작업 드래프트
다음 텍스트는 JVET-N0435에서 제공한 수정된 VVC 작업 드래프트에서 추출되었다. 수정 사항은 굵은 기울임꼴(bold italics)로 강조 표시된다.
8.4.4.2.1. 일반 인트라 샘플 예측
이 프로세스에 대한 입력은 다음과 같다:
현재 픽처의 왼쪽 상단(top-left) 샘플과 관련된 현재 변환 블록의 왼쪽 상단 샘플을 지정하는 샘플 위치 ( xTbCmp, yTbCmp )
인트라 예측 모드를 지정하는 변수 predModeIntra, 
변환 블록 폭(width)을 지정하는 변수 nTbW, 
변환 블록 높이를 지정하는 변수 nTbH, 
코딩 샘플 폭을 지정하는 변수 nCbW,
코딩 블록 높이를 지정하는 변수 nCbH,
현재 블록의 컬러 컴포넌트를 지정하는 변수 cIdx.
이 프로세스의 출력은 예측된 샘플 predSamples[ x ][ y ], with x = 0..nTbW - 1, y = 0..nTbH - 1이다.
변수 refW 및 refH는 다음과 같이 유도된다:
- IntraSubPartitionsSplitType이 ISP_NO_SPLIT와 같거나 cIdx가 0이 아닌 경우 다음이 적용된다. 
- 그렇지 않으면(IntraSubPartitionsSplitType이 ISP_NO_SPLIT와 같지 않고 cIdx가 0과 같음), 다음이 적용된다:
인트라 예측 레퍼런스 라인 인덱스를 지정하는 변수 refIdx는 아래와 같이 유도된다:
변수 nW 및 nH는 다음과 같이 유도된다.
IntraSubPartitionsSplitType이 ISP_NO_SPLIT와 같거나 cIdx가 0이 아닌 경우 다음이 적용된다.  
그렇지 않으면( IntraSubPartitionsSplitType 이 ISP_NO_SPLIT 와 같지 않고 cIdx 가 0 인 경우) 다음이 적용된다.  
변수 whRatio는 Abs( Log2( nW / nH ) )와 동일하게 설정된다.
변수 wideAngle은 0으로 설정된다.
정사각형이 아닌 블록(nW는 nH와 같지 않음)의 경우 인트라 예측 모드 predModeIntra는 다음과 같이 수정된다.
다음 조건이 모두 참이면 wideAngle이 1로 설정되고 predModeIntra가 ( predModeIntra + 65 )로 설정된다.  
nW는 nH보다 큼  
predModeIntra는 2보다 크거나 같다.  
predModeIntra가 (whRatio > 1)보다 작은가?  ( 8 + 2 * WhRatio ) :  8  
그렇지 않고, 다음 조건이 모두 참이면 wideAngle은 1로 설정되고 predModeIntra는 ( predModeIntra - 67 )로 설정된다.  
nH는 nW보다 큼  
predModeIntra는 66보다 작거나 같다.  
predModeIntra가 (whRatio > 1) ?  ( 60 - 2 * whRatio ) :  60   보다 크다.
- 변수 RefFilterFlag는 다음과 같이 유도된다:
- predModeIntra이 INTRA_PLANAR, -14, -12, -10, -6, 2, 34, 66, 72, 76, 78 또는 80와 같으면, RefFilterFlag는 1로 세팅된다.
- 그렇지 않으면, RefFilterFlag는 0으로 세팅된다.
x = -1 - refIdx, y = -1 - refIdx..refH - 1 및 x = -refIdx..refW - 1, y = -1 - refIdx인 레퍼런스 샘플 p[ x ][ y ] 생성에 대해 , 다음 순서의 단계가 적용된다.
1. 8.4.4.2.2절에 지정된 레퍼런스 샘플 가용성 표시 프로세스는, 입력으로, 샘플 위치( xTbCmp, yTbCmp ), 인트라 예측 레퍼런스 라인 인덱스 refIdx, 레퍼런스 샘플 폭 refW, 레퍼런스 샘플 높이 refH, 및 컬러 컴포넌트 인덱스 cIdx, 출력으로, 레퍼런스 샘플 refUnfilt[ x ][ y ] with x = -1 - refIdx, y = -1 - refIdx..refH - 1 및 x = - refIdx..refW - 1, y = -1 - refIdx로 호출(invoke)된다.
2. x = -1 - refIdx, y = -1 - refIdx..refH - 1 및 x = -refIdx..refW - 1인 샘플 refUnfilt[ x ][ y ]가 하나 이상 있는 경우 y = -1 - refIdx가 "인트라 예측에 사용할 수 없음"으로 마크되는 경우, 8.4.4.2.3절에 지정된 레퍼런스 샘플 대체(substitution) 프로세스는, 입력으로, 인트라 예측 레퍼런스 라인 인덱스 refIdx, 레퍼런스 샘플 폭 refW, 레퍼런스 샘플 높이 refH, 레퍼런스 샘플 refUnfilt[ x ][ y ] with x =  -1  - refIdx, y =  -1  - refIdx..refH  - 1 and x =  -refIdx..refW -1, y = -1  - refIdx, 및 컬러 컴포넌트 인덱스 cIdx, 출력으로, 수정된 레퍼런스 샘플 x = -1- refIdx, y = -1 - refIdx..refH - 1 및 x = - refIdx..refW - 1, y = -1 - refIdx인 refUnfilt[ x ][ y ]로 호출된다.
3. 8.4.4.2.4절에 지정된 레퍼런스 샘플 필터링 프로세스는, 입력으로, 인트라 예측 레퍼런스 라인 인덱스 refIdx, 변환 블록 폭 nTbW 및 높이 nTbH, 레퍼런스 샘플 폭 refW, 레퍼런스 샘플 높이 refH, 레퍼런스 필터 플래그 RefFilterFlag, 필터링되지 않은 샘플 refUnfilt[ x ][ y ] x = -1 - refIdx, y = -1 - refIdx..refH - 1 및 x = -refIdx..refW - 1, y = -1 - refIdx, 및 컬러 컴포넌트 인덱스 cIdx, 출력으로, 레퍼런스 샘플 p[ x ][ y ] with x = -1 - refIdx, y = -1 - refIdx..refH  -1 및 x = -refIdx..refW - 1, y = -1 - refIdx로 호출된다.
predModeIntra에 따른 인트라 샘플 예측 프로세스는 다음과 같이 적용된다.
- predModeIntra가 INTRA_PLANAR와 동일하면, 입력으로, 8.4.4.2.5절에 지정된 해당 인트라 예측 모드 프로세스가 변환 블록 폭 nTbW, 변환 블록 높이 nTbH 및 레퍼런스 샘플 어레이 p로 호출되고, 출력은 예측 샘플 어레이(array) predSamples이다.
- 그렇지 않고 predModeIntra가 INTRA_DC와 동일하면, 8.4.4.2.6절에 지정된 해당 인트라 예측 모드 프로세스는, 입력으로, 변환 블록 폭 nTbW, 변환 블록 높이 nTbH 및 레퍼런스 샘플 어레이 p로 호출되고, 출력은 예측 샘플 어레이 predSamples이다.
- 그렇지 않으면, predModeIntra가 INTRA_LT_CCLM, INTRA_L_CCLM 또는 INTRA_T_CCLM와 동일하면, 8.4.4.2.8절에 지정된 해당 인트라 예측 모드 프로세스는, 입력으로, 인트라 예측 모드 predModeIntra, ( xTbCmp, yTbCmp )와 동일하게 설정된 샘플 위치( xTbC, yTbC), 변환 블록 폭 nTbW 및 높이 nTbH, 및 레퍼런스 샘플 어레이 p로 호출되고, 출력은 예측된 샘플 어레이 predSamples이다.
- 그렇지 않으면, 8.4.4.2.7절에 지정된 해당 인트라 예측 모드 프로세스는, 입력으로, 인트라 예측 모드 predModeIntra, 인트라 예측 레퍼런스 라인 인덱스 refIdx, 변환 블록 폭 nTbW, 변환 블록 높이 nTbH, 레퍼런스 샘플 폭 refW, 레퍼런스 샘플 높이 refH, 코딩 블록 폭 nCbW 및 높이 nCbH, 레퍼런스 필터 플래그 RefFilterFlag , 컬러 컴포넌트 인덱스 cIdx, 및 레퍼런스 샘플 어레이 p로, 출력으로, 예측 샘플 어레이 predSamples로 호출된다.
다음 조건이 모두 참이면, 8.4.4.2.9절에 지정된 위치-의존 예측 샘플 필터링 프로세스는, 입력으로, 인트라 예측 모드 predModeIntra, 변환 블록 폭 nTbW, 변환 블록 높이 nTbH, 예측 샘플 predSamples[ x ][ y ], x = 0..nTbW - 1, y = 0..nTbH - 1, 레퍼런스 샘플 폭 refW, 레퍼런스 샘플 높이 refH, 레퍼런스 샘플 p[ x ][ y ], x = -1, y = -1..refH - 1 및 x = 0..refW - 1, y = -1, 및 컬러 컴포넌트 인덱스 cIdx가 입력으로 호출되고, 출력은 수정된 예측 샘플 어레이 predSamples이다:
- IntraSubPartitionsSplitType이 ISP_NO_SPLIT와 같거나 cIdx가 0이 아님
- refIdx가 0과 같거나 cIdx가 0이 아님.
- 다음 조건 중 하나가 참임:
- predModeIntra는 INTRA_PLANAR와 동일함.
- predModeIntra는 INTRA_DC와 동일함.
- predModeIntra는 INTRA_ANGULAR18과 동일함.
- predModeIntra는 INTRA_ANGULAR50과 동일함.
- predModeIntra가 INTRA_ANGULAR10보다 작거나 같음.
- predModeIntra는 INTRA_ANGULAR58보다 크거나 동일함.
8.4.4.2.4. 레퍼런스 샘플 필터링 프로세스
- 인트라 예측 레퍼런스 라인 인덱스를 지정하는 변수 refIdx, 
- 변환 블록 폭(width)을 지정하는 변수 nTbW, 
- 변환 블록 높이를 지정하는 변수 nTbH, 
- 레퍼런스 샘플 폭을 지정하는 변수 refW, 
- 레퍼런스 샘플 높이를 지정하는 변수 refH, 
- 레퍼런스 필터 플래그를 지정하는 변수 RefFilterFlag,
- x = -1- refIdx, y = -1- refIdx..refH - 1 및 x = -refIdx..refW - 1, y = -1-refIdx인 (필터링되지 않은) 인접 샘플 refUnfilt[ x ][ y ],
- 현재 블록의 컬러 컴포넌트를 지정하는 변수 cIdx, 
이 프로세스의 출력은, 레퍼런스 샘플 p[ x ][ y ] with x = -1 - refIdx, y = -1-refIdx..refH  -1 및 x = -refIdx..refW - 1, y = -1 - refIdx이다.
filterFlag 변수는 다음과 같이 유도(derived)된다.
다음 조건 중 하나 이상이 참이면 filterFlag는 1로 설정된다. 
refIdx는 0과 같다.
nTbW * nTbH는 32보다 크다.
cIdx 는 0과 같다.
IntraSubPartitionsSplitType 는 ISP_NO_SPLIT와 같다.
RefFilterFlag is equal to 1
- 그렇지 않으면, filterFlag는 0으로 설정된다.
레퍼런스 샘플 p[ x ][ y ]의 유도를 위해 다음이 적용된다:
- FilterFlag이 1과 강트면, 필터링된 샘플 값 p[ x ][ y ] with x = 1, y = 1..refH  1 및 x = 0..refW  1, y = 1 는 다음과 같이 유도된다:
그렇지 않으면, 레퍼런스 샘플 값 p[ x ][ y ] 은 필터링되지 않은 샘플 값 refUnfilt[ x ][ y ] with x = 1 refIdx, y = 1 refIdx..refH  1 및 x = refIdx..refW  1, y = 1 refIdx.
8.4.4.2.7. INTRA_ANGULAR2..INTRA_ANGULAR66 인트라 예측 모드 사양
이 프로세스에 대한 입력은 다음과 같다:
- 인트라 예측 모드 predModeIntra, 
- 인트라 예측 레퍼런스 라인 인덱스를 지정하는 변수 refIdx, 
- 변환 블록 폭(width)을 지정하는 변수 nTbW, 
- 변환 블록 높이를 지정하는 변수 nTbH, 
- 레퍼런스 샘플 폭을 지정하는 변수 refW, 
- 레퍼런스 샘플 높이를 지정하는 변수 refH, 
- 코딩 블록 폭을 지정하는 변수 nCbW, 
- 코딩 블록 높이를 지정하는 변수 nCbH, 
- 레퍼런스 필터 플래그를 지정하는 변수 RefFilterFlag
- 현재 블록의 컬러 컴포넌트를 지정하는 변수 cIdx, 
- x = -1- refIdx, y = -1- refIdx..refH - 1 및 x = -refIdx..refW - 1, y = -1- refIdx인 인접 샘플 p[ x ][ y ]. 
이 프로세스의 출력은 예측된 샘플 predSamples[ x ][ y ]이며 x = 0..nTbW - 1, y = 0..nTbH - 1이다.
변수 nTbS는 ( Log2 ( nTbW ) + Log2 ( nTbH ) ) >> 1 과 동일하게 설정된다.
filterFlag 변수는 다음과 같이 유도(derived)된다.
다음 조건 중 하나 이상이 참이면 filterFlag는 0으로 설정된다. 
predModeIntra는 INTRA_ANGULAR2, INTRA_ANGULAR34 또는 INTRA_ANGULAR66과 같다. 
refIdx가 0이 아니다.
IntraSubPartitionsSplitType이 ISP_NO_SPLIT와 같지 않고 cIdx가 0이고 predModeIntra가 INTRA_ANGULAR34 이상이고 nW가 8보다 크다.
IntraSubPartitionsSplitType은 ISP_NO_SPLIT와 같지 않고 cIdx는 0이고 predModeIntra는 INTRA_ANGULAR34보다 작고 nH는 8보다 크다.
그렇지 않으면 다음이 적용된다:
변수 minDistVerHor는 Min( Abs( predModeIntra - 50 ), Abs( predModeIntra - 18 ) )과 동일하게 설정된다.
변수 intraHorVerDistThres[ nTbS ]는 표 8-4에 지정된다. 
변수 filterFlag는 아래와 같이 유도된다:
minDistVerHor가 intraHorVerDistThres[ nTbS ]보다 크거나 wideAngle이 1과 같으면 filterFlag는 1로 설정된다.
그렇지 않으면 filterFlag가 0으로 설정된다.
표 8-4 다양한 변환 블록 크기 nTbS에 대한 intraHorVerDistThres[ nTbS ] 사양
1. 실시예에 의해 해결된 문제의 예
인트라 예측 설계의 현재 설계에는 몇 가지 문제가 있으며, 이에 대해서는 아래에서 설명한다.
* 4-탭 보간 필터는 모든 종류의 블록 크기에 사용된다.
* 4x4와 같은 작은 블록 크기의 경우, 4-탭 보간 필터를 사용하면 계산이 너무 복잡해질 수 있다.
6비트 4-탭 DCT-IF 크로마 필터 FC는 특정 블록 크기 및 식별된 예측 모드를 가진 ISP 코딩 블록에 사용된다. 더 구체적으로, JVET-M1001-v7의 8.4.4.2.7절에서 다음 조건 중 하나 이상이 참이면 filterFlag는 0으로 설정된다(즉, 표 8-6의 보간 필터 계수 fC는 사용).
- IntraSubPartitionsSplitType이 ISP_NO_SPLIT와 같지 않고 cIdx가 0이고 predModeIntra가 INTRA_ANGULAR34 이상이고 nW가 8보다 크다.
- IntraSubPartitionsSplitType은 ISP_NO_SPLIT와 같지 않고 cIdx는 0이고 predModeIntra는 INTRA_ANGULAR34보다 작고 nH는 8보다 크다.
* 보간에 사용된 레퍼런스 샘플은 레퍼런스 라인 인덱스에 의해 잘못 계산된다. 예를 들어 인덱스 변수 iIdx와 곱셈 팩터 iFact는 다음과 같이 유도된다. iIdx = ( ( y + 1 + refIdx ) * intraPredAngle ) >> 5 + refIdx
4. 실시예 및 기술의 예시 리스트
이하의 상세한 발명들은 일반적인 개념을 설명하기 위한 예로서 고려되어야 한다. 이러한 발명들은 좁은 의미로 해석되어서는 안된다. 또한, 이들 발명들은 어떠한 방식으로든 조합될 수 있다.
다음 설명에서 "Fc"는 4-탭 DCT-IF 크로마 필터를 나타내고, "FG"는 4-탭 가우시안 필터를 나타내며, 둘 다 VVC 작업 드래프트 JVET-M1001-v7의 표 8-6에 지정되어 있다. "쌍선형/선형 필터"는 VVC 작업 드래프트 JVET-M1001-v7의 식(8-141) 및 식(8-154)에 지정된 2-탭 필터를 나타낸다. DCT-IF/가우스/쌍선형/선형 필터의 다른 종류의 변형들도 적용할 수 있다.
이하의 설명에서 "블록(block)"은 VVC에서 정의한 CU/PU/TU를 나타낼 수 있다. 블록은 Y/U/V 구성 요소 또는 R/G/B 구성 요소와 같은 다른 컬러 컴포넌트를 포함하거나 하나의 컬러 컴포넌트에만 해당할 수 있다. 이 방법은 블록의 컬러 컴포넌트 또는 블록의 모든 컬러 컴포넌트에 적용할 수 있다. 블록의 폭와 높이는 각각 W와 H로 표시된다.
하나의 비디오 유닛(예: 하나의 브릭/타일/타일 그룹/슬라이스) 코딩을 위해 지원되는 다중 보간 필터
1. 인트라 예측 프로세스를 위한 다중 보간 필터는 미리 정의될 수 있다.
a) 대안적으로, 다중 보간 필터의 하나 또는 다중 세트의 표시는 시퀀스/픽처/슬라이스/기타 비디오 유닛 레벨로 시그널링될 수 있다.
i. 일 예에서, 그것들은 SPS/VPS/PPS/픽처 헤더/슬라이스 헤더/APS/타일 그룹 헤더/타일 헤더 등으로 시그널링될 수 있다.
b) 사용되는 보간 필터는 하나의 비디오 유닛에서 다른 비디오 유닛으로 변경될 수 있다.
i. 일 예에서, 비디오 유닛은 시퀀스/픽처/뷰/슬라이스/타일 그룹/타일/브릭/CTU 행/CTU/CU/PU/TU/VPDU일 수 있다.
ii. 일 예에서, 선택된 표시(indications)
c) 다중 보간 필터의 선택은 블록 디멘전에 따라 달라질 수 있다.
d) 다중 보간 필터의 선택은 컬러 컴포넌트에 따라 달라질 수 있다.
e) 다중 보간 필터의 선택은 코딩 방법에 따라 달라질 수 있다.
i. 일 예에서, 코딩 방법은 노멀 인트라 예측 방법, ISP, 아핀(affine) 인트라 예측 방법, MRL 등을 포함할 수 있다.
*2. 블록 디멘전에 따라, 4-탭 보간 필터(예: 4-탭 큐빅 필터, DCT-IF 크로마 필터, 가우스 필터 등)의 사용 여부가 제안된다.
a) 일 예에서, 4-탭 보간 필터의 사용 여부는 TU의 폭 또는 높이에 따라 달라질 수 있다.
i. 일 예에서, 4-탭 보간 필터는 W 또는 H가 임계값 T1(예를 들어, T1 = 8)보다 클 때 사용될 수 있다.
ii. 대안적으로, 4-탭 보간 필터는 W 또는 H가 임계값 T2(예를 들어, T2 = 32) 이하일 때 사용될 수 있다.
iii. 대안적으로, 4-탭 보간 필터는 다른 블록에 대해 디스에이블될 수 있다.
b) 일 예에서, 4-탭 보간 필터의 사용 여부는 TU의 크기에 따라 달라질 수 있다.
i. 일 예에서, 4-탭 보간 필터는 W * H가 임계값 T1보다 클 때 사용될 수 있으며, 여기서 T1은 임계값이다.
1. 일 예에서, T1 = 32는 4x4/8x4/4x8/2x8/8x2/16x2/2x16/1x16/16x1/32x1/1x32 블록이 4-탭 보간 필터를 사용하지 않을 수 있음을 의미한다.
ii. 대안적으로, W * H가 임계값 T2 이하 (예를 들어, T2 = 64)인 경우 4-탭 보간 필터가 사용될 수 있다.
iii. 대안적으로, 4-tpa 보간 필터는 다른 블록에 대해 디스에이블될 수 있다.
c) 일 예에서, W가 T1보다 크고 H가 T2보다 큰 경우(예를 들어, T1 = 8, T2 = 8) 4-탭 보간 필터가 사용될 수 있다.
i. 일 예에서, 4x4/4x8/8x8 블록은 4-탭 보간 필터를 적용하지 않을 수 있다.
ii. 대안적으로, 4-탭 보간 필터는 W가 T1보다 크지 않고 H가 임계값 T2보다 크지 않을 때(예를 들어, T1 = 64, T2 = 64) 사용될 수 있다.
iii. 대안적으로, 4-tpa 보간 필터는 다른 블록에 대해 디스에이블될 수 있다.
d) 4-탭 보간 필터가 허용되지 않는 경우 2-탭 필터(예: 2-탭 쌍선형 필터)를 사용할 수 있다.
i. 일 예에서, 쌍선형/선형 필터는 작은 크기의 TU에 대해 사용될 수 있다.
1. 일 예에서, 쌍선형 필터는 N = 32와 같이 N 픽셀보다 작거나 같은 TU 크기(예를 들어, 폭 * 높이)에 대한 방향성 예측 모드에서 인트라 예측 블록을 생성하는 데 사용될 수 있다. 일 예에서, 4x4/8x4/4x8/2x8/8x2/16x2/2x16/1x16/16x1/32x1/1x32 TU는 쌍선형 필터를 사용할 수 있다.
e) 일 예에서, 위에서 언급된 임계값은 모든 컬러 컴포넌트에 대해 동일할 수 있다.
i. 대안적으로, 임계값은 컬러 컴포넌트에 의존할 수 있다.
3. 4-탭 필터 FG(일명. 가우시안 필터)의 사용 여부는 예측 정보 및/또는 블록 크기에 따라 달라질 수 있는 것이 제안된다.
a) 일 예에서, FG가 인트라 코딩된(또는 ISP 코딩된) 블록에 사용되는지 여부는 블록 크기에 따라 달라질 수 있다.
i. 일 예에서, FG는 T = 8과 같은 임계값 T보다 큰 블록 폭 또는 높이를 갖는 인트라 코딩된(또는 ISP 코딩된) 블록에 사용될 수 있다.
ii. 일 예에서, FG는 T = 32와 같이 임계값 T보다 큰 블록 크기(예를 들어, 폭 * 높이)를 갖는 인트라 코딩된(또는 ISP 코딩된) 블록에 사용될 수 있다.
iii. 일 예에서, FG는 미리 정의된 크기 T1*T2보다 큰 높이(예를 들어, W * H)를 곱한 블록 폭를 갖는 인트라 코딩된(또는 ISP 코딩된) 블록에 사용될 수 있으며, 여기서 W > T1, H > T2 , 예: T1 = 8, T2 = 8.
iv. 일 예에서, ISP 코딩된 루마 블록의 경우, 하나의 서브 파티션에 대한 인트라 예측 모드 인덱스가 특정 조건(예: INTRA_ANGULAR34 이상)을 충족하고 서브 파티션 폭이 8보다 크면 FG 필터는 인에이블된다.
1. 대안적으로, 또한, ISP 코딩된 루마 블록의 경우, 하나의 서브 파티션에 대한 인트라 예측 모드 인덱스가 특정 조건(예: INTRA_ANGULAR34 미만)을 충족하고 서브 파티션 높이가 8보다 크면 FG 필터가 인에이블된다.
2. 대안적으로, 또한, ISP-코딩된 루마 블록의 다른 경우에 대해, FG 필터가 디스에이블될 수 있다.
v. 일 예에서, ISP 코딩된 루마 블록의 경우, 하나의 서브-파티션에 대한 인트라 예측 모드 인덱스가 특정 조건(예: INTRA_ANGULAR34 이상)을 충족하고 블록 폭(즉, CU)이 8보다 크면, FG 필터가 인에이블되었을 수 있다.
1. 대안적으로, 또한, ISP 코딩된 루마 블록의 경우, 하나의 서브 파티션에 대한 인트라 예측 모드 인덱스가 특정 조건(예: INTRA_ANGULAR34 미만)을 충족하고 블록 폭(즉, CU) 높이가 8보다 크면 FG 필터 인에이블될 수 있다.
2. 대안적으로, 또한, ISP-코딩된 루마 블록의 다른 경우에 대해, FG 필터가 디스에이블될 수 있다.
b) 일 예에서, FG가 인트라 코딩된(또는 ISP 코딩된) 블록에 사용되는지 여부는 블록 폭/높이 및 예측 모드에 따라 달라질 수 있다.
i. 일 예에서, FG는 수직 예측 모드(예: VVC의 인트라 모드 34) 및 T = 8와 같은 임계값 T보다 큰 블록 폭보다 크거나 같은 예측 모드를 갖는 인트라 코딩된(또는 ISP 코딩된) 블록에 사용될 수 있다.
ii. 일 예에서, FG는 수직 예측 모드보다 작은 예측 모드(예: VVC의 인트라 모드 34) 및 N = 8과 같은 N 픽셀보다 큰 블록 높이를 갖는 인트라 코딩된(또는 ISP 코딩된) 블록에 사용될 수 있다.
c) FG가 허용되지 않으면, FC(일명. DCI-IF 크로마 필터), 큐빅 필터, 쌍선형(bilinear) 필터가 사용될 수 있다.
i. 일 예에서, FC, 또는 큐빅 필터, 또는 쌍선형 필터는 T = 32와 같이 크기 W*H <= T를 갖는 인트라 코딩된(또는 ISP 코딩된) 블록에 사용될 수 있다.
i. 일 예에서, FC, 또는 큐빅 필터, 또는 쌍선형 필터는 수직 예측 모드(VVC의 인트라 모드 34와 같은) 보다 크거나 같은 예측 모드 및 T = 8과 같이 블록 폭 W < T인 인트라 코딩된(또는 ISP 코딩된) 블록에 대해 사용될 수 있다.
i. 일 예에서, FC, 또는 큐빅 필터, 또는 쌍선형 필터는 수직 예측 모드(VVC의 인트라 모드 34와 같은) 보다 작은 예측 모드 및 T = 8과 같이 블록 높이 H < T인 인트라 코딩된(또는 ISP 코딩된) 블록에 대해 사용될 수 있다.
4. ISP-코딩된 블록(예: CU)에 대해, 레퍼런스 샘플에 적용된 보간 필터 또는 기타 필터를 선택하는 방법은 CU의 디멘전에 따라 달라질 수 있다.
a) 대안적으로, 레퍼런스 샘플에 적용되는 보간 필터 또는 기타 필터를 선택하는 방법은 서브-파티션의 디멘전에 따라 달라질 수 있다.
5. 보간에 사용되는 레퍼런스 샘플은 레퍼런스 라인 인덱스에 따라 다를 수 있다.
a) 일 예에서, 인덱스 변수 iIdx 및 곱셈 팩터 iFact는 iIdx = ( ( y + 1 + refIdx ) * intraPredAngle ) >> 5에 의해 유도될 수 있으며, 여기서 refIdx는 레퍼런스 샘플이 위치한 레퍼런스 라인 인덱스를 나타내고, intraPredAngle은 VVC 작업 드래프트 JVET-M1001-v7에 정의된 인트라 예측 모드 및 룩업(look up) 테이블 표 8-5에서 유도된다.
6. 제안된 방법은 모든 또는 특정 컬러 컴포넌트에 적용될 수 있다.
a) 일 예에서, 제안된 방법은 루마 컴포넌트에만 적용될 수 있다.
b) 일 예에서, 제안된 방법은 루마, Cb 및 Cr 컴포넌트에 적용될 수 있다.
c) 일 예에서, YCbCr 4:4:4 포맷의 루마, Cb, Cr 컴포넌트에 제안된 방법을 적용할 수 있다.
d) 일 예에서, RGB 포맷을 위한 R, G, B 컴포넌트에 제안된 방법이 적용될 수 있다.
5. 실시예
아래 실시예는 VVC 작업 드래프트 JVET-M1001-v7을 기반으로 한다.
5.1 실시예 #1
아래의 실시예는 발명의 설명의 항목 2의 방법에 대한 것이다.
새로 추가된 부분은 굵은 기울임꼴로 강조 표시되며 삭제된 텍스트 전후에 이중 괄호가 배치된다.
8.4.4.2.7. INTRA_ANGULAR2..INTRA_ANGULAR66 인트라 예측 모드 사양
x = 0..nTbW - 1, y = 0..nTbH - 1인 예측 샘플 predSamples[ x ][ y ]의 값은 다음과 같이 유도된다:
- predModeIntra가 34보다 크거나 같으면, 다음 순서의 단계가 적용된다: 
1. 레퍼런스 샘플 어레이 ref[ x ]는 다음과 같이 지정된다. 
- 다음이 적용된다. 
- intraPredAngle이 0보다 작으면 기본 레퍼런스 샘플 어레이는 다음과 같이 확장된다: 
- ( nTbH * intraPredAngle ) >> 5가 -1보다 작을 때, 
- 그렇지 않으면, 
- x = 1..( Max( 1, nTbW / nTbH ) * refIdx + 1)인 추가 샘플 ref[ refW + refIdx +x ]는 다음과 같이 유도된다. 
2. x = 0..nTbW - 1, y = 0..nTbH - 1인 예측 샘플 predSamples[ x ][ y ]의 값은 다음과 같이 유도된다: 
- 인덱스 변수 iIdx와 곱셈 팩터(factor) iFact는 다음과 같이 유도된다. 
- cIdx가 0이고, nTbW*nTbH 가 M보다 크면, 다음이 적용된다. 
- j = 0..3인 보간 필터 계수 fT[ j ]는 다음과 같이 유도된다. 
- 예측 샘플 predSamples[ x ][ y ]의 값은 다음과 같이 유도된다. 
- 그렇지 않으면(cIdx가 0이 아님) iFact의 값에 따라 다음이 적용된다. 
- iFact가 0이 아닌 경우 예측 샘플 predSamples[ x ][ y ]의 값은 다음과 같이 유도된다: 
- 그렇지 않으면 예측 샘플 predSamples[ x ][ y ]의 값은 다음과 같이 유도된다: 
- 그렇지 않으면(predModeIntra가 34보다 작음), 다음 순서의 단계가 적용된다:
3. 레퍼런스 샘플 어레이 ref[ x ]는 다음과 같이 지정된다:
- 다음이 적용된다:
-  intraPredAngle이 0보다 작으면 기본 레퍼런스 샘플 어레이는 다음과 같이 확장된다.
( nTbW * intraPredAngle ) >> 5가 -1보다 작을 때,
- 그렇지 않으면,
- x = 1..( Max( 1, nTbHW / nTbH ) * refIdx + 1)인 추가 샘플 ref[ refH + refIdx +x ]는 다음과 같이 유도된다.
4. 예측 샘플의 값 predSamples[ x ][ y ], with x = 0..nTbW - 1, y = 0..nTbH - 1는 아래와 같이 유도된다:
- 인덱스 변수 iIdx 및 곱셈 팩터 iFact는 아래와 같이 유도된다:
- cIdx 가 0이고, nTbW*nTbH 가 M보다 크면, 다음이 적용된다:
- 보간 필터 계수 fT[ j ] with j = 0..3은 다음과 같이 유도된다:
- 예측 샘플의 값 predSamples[ x ][ y ]은 아래와 같이 유도된다:
*- 그렇지 않으면(cIdx가 0이 아님) iFact의 값에 따라 다음이 적용된다.
iFact가 0이 아닌 경우 예측 샘플 predSamples[ x ][ y ]의 값은 다음과 같이 유도된다.
- 그렇지 않으면 예측 샘플 predSamples[ x ][ y ]의 값은 다음과 같이 유도된다.
일 예에서, M은 32 또는 16으로 세팅된다.
5.2 실시예 #2
아래의 실시예는 발명 설명의 항목 3의 방법에 대한 것이다.
새로 추가된 부분은 굵은 기울임꼴로 강조 표시되며 삭제된 텍스트 전후에 이중 괄호가 배치된다.
8.4.4.2.7. INTRA_ANGULAR2..INTRA_ANGULAR66 인트라 예측 모드 사양
filterFlag 변수는 다음과 같이 유도된다:
다음 조건 중 하나 이상이 참이면 filterFlag는 0으로 설정된다.
- 다음의 조건 중 하나 또는 그 이상이 진실인 경우, filterFlag는 0으로 세팅된다.
- predModeIntra가 INTRA_ANGULAR2, INTRA_ANGULAR34 또는 INTRA_ANGULAR66와 동일
- refIdx는 0과 동일하지 않음
- 그렇지 않고 IntraSubPartitionsSplitType이 ISP_NO_SPLIT와 같지 않으면 다음이 적용된다.
- cIdx가 0이고 predModeIntra가 INTRA_ANGULAR34 이상이고 [[nW]]nTbW가 8보다 크면 filterFlag는 1로 설정된다.
- 그렇지 않으면 cIdx가 0이고 predModeIntra가 INTRA_ANGULAR34보다 작고 [[nH]]nTbH가 8보다 크면 filterFlag는 1로 설정된다.
- 그렇지 않으면 filterFlag가 0으로 설정된다.
- 그렇지 않으면 다음이 적용된다:
- 변수 minDistVerHor는 Min( Abs( predModeIntra - 50 ), Abs( predModeIntra - 18 ) )과 동일하게 설정된다.
- 변수 intraHorVerDistThres[ nTbS ]는 표 8-4에 지정된다. 
- 변수 filterFlag는 아래와 같이 유도된다:
- minDistVerHor가 intraHorVerDistThres[ nTbS ]보다 크거나 wideAngle이 1과 같으면 filterFlag는 1로 설정된다.
-그렇지 않으면 filterFlag가 0으로 설정된다.
대안적으로, 다음이 적용될 수 있다:
8.4.4.2.7. INTRA_ANGULAR2..INTRA_ANGULAR66 인트라 예측 모드 사양
filterFlag 변수는 다음과 같이 유도된다:
다음 조건 중 하나 이상이 참이면 filterFlag는 0으로 설정된다.
- 다음의 조건 중 하나 또는 그 이상이 진실인 경우, filterFlag는 0으로 세팅된다.
- cIdx는 0과 동일하지 않음
- predModeIntra는 [[INTRA_ANGULAR2, INTRA_ANGULAR34 또는 INTRA_ANGULAR66]] -14, -12, -10, -6, 2, 34, 66, 72, 76, 78 또는 80 과 동일함.
- refIdx가 0이 아님.
- 그렇지 않고 다음 조건 중 하나 이상이 참이면 filterFlag는 1로 설정된다.
- IntraSubPartitionsSplitType이 ISP_NO_SPLIT와 같지 않고 [[cIdx는 0]] predModeIntra는 INTRA_ANGULAR34 이상이고 [[nW]]nTbW는 8보다 큼.
- IntraSubPartitionsSplitType이 ISP_NO_SPLIT[[cIdx는 0]]와 같지 않고 predModeIntra는 INTRA_ANGULAR34보다 작고 [[nH]]nTbH는 8보다 큼.
- 그렇지 않고 IntraSubPartitionsSplitType이 ISP_NO_SPLIT와 같지 않으면 filterFlag는 0으로 설정된다.
- 그렇지 않으면 다음이 적용된다:
- 변수 minDistVerHor는 Min( Abs( predModeIntra - 50 ), Abs( predModeIntra - 18 ) )과 동일하게 설정된다.
- 변수 intraHorVerDistThres[ nTbS ]는 표 8-4에 지정된다. 
- 변수 filterFlag는 아래와 같이 유도된다:
- minDistVerHor가 intraHorVerDistThres[nTbS] 보다 크고 [[그리고 RefFilterFlag가 0과 같음]] 또는 wideAngle이 1과 같으면 filterFlag는 1로 설정된다.
-그렇지 않으면 filterFlag가 0으로 설정된다.
5.3 실시예 #3
아래의 실시예는 발명의 설명의 항목 3의 방법에 대한 것이다. 새로 추가된 부분은 굵은 기울임꼴로 강조 표시되며 삭제된 텍스트 전후에 이중 괄호가 배치된다.
8.4.4.2.7. INTRA_ANGULAR2..INTRA_ANGULAR66 인트라 예측 모드 사양
filterFlag 변수는 다음과 같이 유도된다:
다음 조건 중 하나 이상이 참이면 filterFlag는 0으로 설정된다.
- 다음의 조건 중 하나 또는 그 이상이 진실인 경우, filterFlag는 0으로 세팅된다.
- cIdx는 0과 동일하지 않음
- predModeIntra는 [[INTRA_ANGULAR2, INTRA_ANGULAR34 또는 INTRA_ANGULAR66]] -14, -12, -10, -6, 2, 34, 66, 72, 76, 78 또는 80 과 동일함.
- refIdx가 0이 아님.
- 그렇지 않고 다음 조건 중 하나 이상이 참이면 filterFlag는 1로 설정된다.
IntraSubPartitionsSplitType이 ISP_NO_SPLIT와 같지 않고 [[cIdx는 0]] predModeIntra는 INTRA_ANGULAR34 이상이고 [[ nW]]nTbW *nTbH 는 [[8]] 32 보다 큼.
- [[IntraSubPartitionsSplitType이 ISP_NO_SPLIT[[cIdx는 0]]와 같지 않고 predModeIntra는 INTRA_ANGULAR34보다 작고 [[nH]]nTbH는 8보다 큼.]]
- 그렇지 않고 IntraSubPartitionsSplitType이 ISP_NO_SPLIT와 같지 않으면 filterFlag는 0으로 설정된다.
- 그렇지 않으면 다음이 적용된다:
- 변수 minDistVerHor는 Min( Abs( predModeIntra - 50 ), Abs( predModeIntra - 18 ) )과 동일하게 설정된다.
- 변수 intraHorVerDistThres[ nTbS ]는 표 8-4에 지정된다. 
- 변수 filterFlag는 아래와 같이 유도된다:
- minDistVerHor가 intraHorVerDistThres[nTbS] 보다 크고 [[그리고 RefFilterFlag가 0과 같음]] 또는 wideAngle이 1과 같으면 filterFlag는 1로 설정된다.
- 그렇지 않으면 filterFlag가 0으로 설정된다.
5.4 실시예 #4
아래의 실시예는 발명의 설명의 항목 4의 방법에 대한 것이다.
새로 추가된 부분은 굵은 기울임꼴로 강조 표시되며 삭제된 텍스트 전후에 이중 괄호가 배치된다.
8.4.4.2.7. INTRA_ANGULAR2..INTRA_ANGULAR66 인트라 예측 모드 사양
x = 0..nTbW - 1, y = 0..nTbH - 1인 예측 샘플 predSamples[ x ][ y ]의 값은 다음과 같이 유도된다:
*- predModeIntra가 34보다 크거나 같으면, 다음 순서의 단계가 적용된다: 
1. 레퍼런스 샘플 어레이 ref[ x ]는 다음과 같이 지정된다. 
- 다음이 적용된다. 
- intraPredAngle이 0보다 작으면 기본 레퍼런스 샘플 어레이는 다음과 같이 확장된다: 
- ( nTbH * intraPredAngle ) >> 5가 -1보다 작을 때, 
- 그렇지 않으면, 
- x = 1..( Max( 1, nTbW / nTbH ) * refIdx + 1)인 추가 샘플 ref[ refW + refIdx +x ]는 다음과 같이 유도된다. 
2. x = 0..nTbW - 1, y = 0..nTbH - 1인 예측 샘플 predSamples[ x ][ y ]의 값은 다음과 같이 유도된다: 
- 인덱스 변수 iIdx와 곱셈 팩터(factor) iFact는 다음과 같이 유도된다. 
- cIdx가 0이고, nTbW*nTbH 가 M보다 크면, 다음이 적용된다. 
- j = 0..3인 보간 필터 계수 fT[ j ]는 다음과 같이 유도된다. 
- 예측 샘플 predSamples[ x ][ y ]의 값은 다음과 같이 유도된다. 
- 그렇지 않으면(cIdx가 0이 아님) iFact의 값에 따라 다음이 적용된다. 
- iFact가 0이 아닌 경우 예측 샘플 predSamples[ x ][ y ]의 값은 다음과 같이 유도된다: 
- 그렇지 않으면 예측 샘플 predSamples[ x ][ y ]의 값은 다음과 같이 유도된다: 
도 6은 비디오 프로세싱 장치(600)의 블록도이다.  장치(600)는 여기에 설명된 방법 중 하나 이상을 구현하는 데 사용될 수 있다. 장치(600)는 스마트폰, 태블릿, 컴퓨터, 사물 인터넷(IoT) 수신기 등으로 구현될 수 있다.  장치(600)는 하나 이상의 프로세서(602), 하나 이상의 메모리(604) 및 비디오 프로세싱 하드웨어(606)를 포함할 수 있다.  프로세서(들)(602)는 본 문서에 설명된 하나 이상의 방법을 구현하도록 구성될 수 있다.  메모리(604)는 여기에 설명된 방법 및 기술을 구현하는 데 사용되는 데이터 및 코드를 저장하는 데 사용될 수 있다.  비디오 프로세싱 하드웨어(606)는 하드웨어 회로에서 본 문서에 설명된 일부 기술을 구현하는 데 사용될 수 있다. 
도 7은 개시된 기술들이 구현될 수 있는 비디오 프로세싱 시스템의 블록도의 다른 예이다.  도 7은 여기에 개시된 다양한 기술들이 구현될 수 있는 예시적인 비디오 프로세싱 시스템(700)을 도시하는 블록도이다.  다양한 구현은 시스템(700)의 컴포넌트 중 일부 또는 전부를 포함할 수 있다.  시스템(700)은 비디오 콘텐츠를 수신하기 위한 입력(702)을 포함할 수 있다.  비디오 콘텐츠는 원시 또는 압축되지 않은 포맷, 예를 들어 8 또는 10비트 다중 컴포넌트 픽셀 값으로 수신될 수 있거나 압축 또는 인코딩된 포맷일 수 있다.  입력(702)은 네트워크 인터페이스, 주변 버스 인터페이스, 또는 저장 인터페이스를 나타낼 수 있다.  네트워크 인터페이스의 예로는 이더넷, 수동 광 네트워크(PON) 등과 같은 유선 인터페이스와 Wi-Fi 또는 셀룰러 인터페이스와 같은 무선 인터페이스가 있다. 
시스템(700)은 본 문서에 설명된 다양한 코딩 또는 인코딩 방법을 구현할 수 있는 코딩 컴포넌트(704)를 포함할 수 있다.  코딩 컴포넌트(704)는 비디오의 코딩된 표현을 생성하기 위해 입력(702)으로부터 코딩 컴포넌트(704)의 출력으로 비디오의 평균 비트레이트를 줄일 수 있다.  따라서 코딩 기술은 비디오 압축 또는 비디오 트랜스코딩 기술이라고도 한다.  코딩 컴포넌트(704)의 출력은 컴포넌트(706)에 의해 표현되는 바와 같이, 연결된 통신을 통해 저장되거나 전송될 수 있다. 입력(702)에서 수신된 비디오의 저장 또는 통신된 비트스트림(또는 코딩된) 표현은 디스플레이 인터페이스(710)로 전송되는 픽셀 값 또는 디스플레이 가능한 비디오를 생성하기 위해 컴포넌트(708)에 의해 사용될 수 있다.  비트스트림 표현에서 사용자가 볼 수 있는 비디오를 생성하는 프로세스를 비디오 압축 해제(decompression)라고도 한다.  또한 특정 비디오 처리 작업을 "코딩" 작업 또는 툴로 지칭하지만 코딩 툴 또는 작업이 인코더에서 사용되고 코딩 결과를 되돌리는(undo) 대응하는 디코딩 툴 또는 작업은 디코더에 의해 수행된다는 점이 이해될 것이다. 
주변기기 버스 인터페이스 또는 디스플레이 인터페이스의 예는 USB(Universal Serial Bus) 또는 HDMI(High Definition Multimedia Interface) 또는 Displayport 등을 포함할 수 있다.  저장 인터페이스의 예로는 SATA(Serial Advanced Technology Attachment), PCI, IDE 인터페이스 등이 있다.  본 문서에서 설명된 기술은 디지털 데이터 프로세싱 및/또는 비디오 디스플레이를 수행할 수 있는 휴대폰, 랩톱, 스마트폰 또는 기타 장치와 같은 다양한 전자 장치에서 구현될 수 있다. 
개시된 기술의 일부 실시예는 비디오 프로세싱 도구 또는 모드를 인에이블하기 위한 판단(decision) 또는 결정(determination)을 내리는 것을 포함한다.  예를 들어 비디오 프로세싱 툴 또는 모드가 인에이블되면 인코더가 비디오 블록 프로세싱에서 툴 또는 모드를 사용하거나 구현하지만, 툴 또는 모드의 사용에 따라 결과 비트스트림을 반드시 수정할 필요는 없다.  즉, 비디오 블록에서 비디오의 비트스트림 표현으로 변환하면 판단 또는 결정에 따라 인에이블될 때 비디오 프로세싱 툴 또는 모드를 사용한다.  또 다른 예에서 비디오 프로세싱 툴 또는 모드가 인에이블되면 디코더는 비디오 프로세싱 툴 또는 모드에 따라 비트스트림이 수정되었다는 것을 알고 비트스트림을 프로세싱 한다.  즉, 비디오의 비트스트림 표현에서 비디오 블록으로의 변환은 판단 또는 결정에 따라 인에이블된 비디오 프로세싱 툴 또는 모드를 사용하여 수행된다. 
개시된 기술의 일부 실시예에는 비디오 프로세싱 툴 또는 모드를 디스에이블하는 판단(decision) 또는 결정(determination)을 내리는 것이 포함된다.  예를 들어 비디오 프로세싱 툴 또는 모드가 디스에이블되면, 인코더는 비디오 블록을 비디오 블록으로 변환하는 데 툴 또는 모드를 사용하지 않는다.  또 다른 예에서 비디오 프로세싱 툴 또는 모드가 디스에이블되면, 디코더는 판단(decision) 또는 결정(determination)에 따라 디스에이블된 비디오 프로세싱 툴 또는 모드를 사용하여 비트스트림이 수정된 것이 아니라는 것을 알고 비트스트림을 프로세싱한다. 
본 문서에서 "비디오 프로세싱"라는 용어는 비디오 인코딩, 비디오 디코딩, 비디오 압축 또는 비디오 압축 해제(decompression)를 의미할 수 있다.  예를 들어, 비디오 압축 알고리즘은 비디오의 픽셀 표현에서 대응하는 비트스트림 표현으로 또는 그 반대로 변환하는 동안 적용될 수 있다.  현재 비디오 블록의 비트스트림 표현은, 예를 들어, 신택스에 의해 정의된 바와 같이 비트스트림 내의 다른 위치에 함께 배치되거나 확산되는 비트에 대응할 수 있다.  예를 들어, 매크로블록(macroblock)은 변환되고 코딩된 오류 잔차 값의 관점에서 그리고 또한 헤더의 비트 및 비트스트림의 다른 필드를 사용하여 인코딩될 수 있다. 
도 8a는 비디오 프로세싱의 예시적인 방법(810)의 흐름도이다.  방법(810)은, 단계(812)에서, 규칙에 기초하여 비디오의 현재 비디오 유닛의 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 위해 4-탭 보간 필터를 사용할지 여부를 결정하는 단계를 포함하고, 현재 비디오 블록은 코딩된 표현에서 인트라 모드를 사용하여 코딩된다.  방법(810)은, 단계(814)에서, 결정에 기초하여 변환을 수행하는 단계를 더 포함한다. 
도 8b는 비디오 프로세싱의 예시적인 방법(820)의 흐름도이다.  방법(820)은, 단계(822)에서, 비디오의 비디오 유닛의 현재 비디오 블록에 대해 비디오 유닛에 대한 보간 필터의 하나 이상의 세트로부터의 보간 필터를 사용하여 인트라 예측 블록을 생성하는 단계를 포함한다.  방법(820)은, 단계(824)에서, 예측 블록을 사용하여 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 더 포함한다. 
도 8c는 비디오 프로세싱의 예시적인 방법(830)의 흐름도이다. 방법(830)은, 단계(832)에서, 비디오의 현재 비디오 유닛의 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 위해, 레퍼런스 샘플에 보간 필터를 적용하는 방식으로 보간 필터를 사용하여 인트라 예측 블록을 생성하는 단계를 포함하고, 상기 레퍼런스 샘플은 규칙에 따라 결정된다.   방법(830)은, 단계(834)에서, 상기 예측 블록을 사용하여 변환을 수행하는 단계를 더 포함한다. 
일부 실시예에서, 비디오 코딩 방법, 예를 들어 방법(810 내지 830)은 도 6 또는 도 7과 관련하여 설명된 바와 같이 하드웨어 플랫폼 상에서 구현되는 장치를 사용하여 구현될 수 있다.  개시된 방법 및 기술은 본 문서에 개시된 기술의 사용을 허용함으로써 스마트폰, 랩탑, 데스크탑, 및 유사한 장치와 같은 비디오 프로세싱 장치 내에 통합된 비디오 인코더 및/또는 디코더 실시예에 도움이 될 것이라는 것이 이해될 것이다. 
다양한 기술 및 실시예는 다음 절-기반의 포맷을 사용하여 설명될 수 있다.  첫 번째 절의 세트는 이전 섹션에서 개시된 기술의 어떤 특징 및 측면을 설명한다. 
1. 비디오 프로세싱 방법에 있어서, 비디오의 현재 비디오 블록과 상기 현재 비디오 블록의 비트스트림 표현 사이의 변환을 위해, 변환 중에 사용되는 하나 또는 그 이상의 보간 필터를 결정하는 단계 - 상기 하나 또는 그 이상의 보간 필터는 상기 비디오에 대한 다중 보간 필터에서 존재함 -; 및 상기 하나 이상의 보간 필터를 사용하여 상기 변환을 수행하는 단계를 포함한다. 
2. 제1절의 방법에 있어서, 상기 비트스트림 표현은 상기 다중 보간 필터의 표시(indications)를 전달하도록 구성된다.   
3. 제2절의 방법에 있어서, 상기 비트스트림 표현은 시퀀스 파라미터 세트 레벨 또는 비디오 파라미터 세트 레벨 또는 픽처 파라미터 세트 레벨 또는 픽처 헤더 또는 슬라이스 헤더 또는 슬라이스 헤더 또는 적응형 파라미터 세트 레벨 또는 타일 그룹 헤더 또는 타일 헤더에서 표시를 전달한다.
4. 제1절의 방법에 있어서, 상기 다중 보간 필터는 미리 정의되고, 상기 비트스트림 표현은 상기 다중 보간 필터의 명시적(explicit) 표시를 배제한다.
5. 제1절 내지 제4절의 방법 중 어느 하나에 있어서, 상기 다중 보간 필터의 서로 다른 세트가 서로 다른 비디오 유닛의 변환 중에 사용된다.        
6. 제5절의 방법에 있어서, 비디오 유닛은 비디오 시퀀스 또는 비디오 픽처 또는 비디오 뷰 또는 비디오 타일 그룹 또는 비디오 타일 또는 비디오 브릭 또는 비디오 코딩 트리 유닛 행 또는 비디오 코딩 유닛 또는 비디오 예측 유닛 또는 비디오 변환 유닛 또는 VPDU에 대응한다.        
7. 제1절 내지 제6절의 방법 중 어느 하나에 있어서, 상기 다중 보간 필터는 현재 비디오 블록의 디멘전 또는 현재 비디오 블록에 대한 컬러 컴포넌트 식별 또는 현재 비디오 블록의 변환에 사용되는 코딩 방법에 기초한다.        
제1절 내지 제7절의 추가 예는 섹션 4의 항목 1에 개시되어 있다. 
8. 비디오 프로세싱 방법에 있어서, 규칙에 기초하여, 비디오의 현재 비디오 블록과 상기 현재 비디오 블록의 비트스트림 표현 사이의 인트라 예측 기반 변환에서 4-탭 보간 필터를 사용할지 여부를 결정하는 단계; 및        상기 4-탭 보간 필터의 사용 여부 결정에 기초하여 상기 변환을 수행하는 단계를 포함한다. 
9. 제8절의 방법에 있어서, 상기 4-탭 보간 필터는 4-탭 큐빅(cubic) 필터이다.        
10. 제8절의 방법에 있어서, 상기 4-탭 보간 필터는 이산 코사인(discrete cosine) 변환 보간 필터이다.
11. 제8절의 방법에 있어서, 상기 4-탭 보간 필터는 가우시안(gaussian) 필터이다.
12. 제8절 내지 제11절의 방법 중 어느 하나에 있어서, 상기 규칙은 현재 비디오 블록의 디멘전에 따라 4-탭 보간을 사용할지 여부를 지정(specify)한다.
13. 제12절의 방법에 있어서, 상기 디멘전은 상기 현재 비디오 블록의 픽셀의 폭이다.
14. 제12절의 방법에 있어서, 상기 디멘전은 상기 현재 비디오 블록의 픽셀의 높이이다.
15. 제8절 내지 제11절의 방법 중 어느 하나에 있어서, 상기 규칙은 상기 현재 비디오 블록의 변환 유닛의 디멘전에 따라 상기 4-탭 보간을 사용할지 여부를 지정한다.
16. 제12절 내지 제15절의 방법 중 어느 하나에 있어서, 상기 규칙은 상기 디멘전이 제1 임계값 T1보다 높거나 제2 임계값 T2 미만인 경우에 상기 4-탭 보간 필터를 사용하도록 지정한다.
17. 제8절 내지 제16절의 방법 중 어느 하나에 있어서, 상기 규칙은 상기 4-탭 보간 필터가 상기 변환에 사용되지 않는 경우에 2-탭 필터를 사용하도록 지정한다.
18. 제16절 및 제17절의 방법 중 어느 하나에 있어서, 상기 제1 임계값 또는 상기 제2 임계값은 상기 현재 비디오 블록이 속하는 컬러 컴포넌트에 의존하는 값을 갖는다.
19. 제11절의 방법에 있어서, 상기 규칙은 상기 현재 비디오 블록의 디멘전 및/또는 예측 모드에 기초하여 상기 4-탭 보간 필터를 사용할지 여부를 지정한다.
20. 제8절의 방법에 있어서, 상기 규칙은 상기 4-탭 보간 필터를 사용할지 여부를 지정하기 위해 상기 현재 비디오 블록에 대한 컬러 컴포넌트 정보를 더 사용한다.
제8절 내지 제20절의 추가 예는 섹션 4의 항목 2-3에 개시되어 있다.
21. 비디오 프로세싱 방법에 있어서, 비디오의 현재 비디오 블록과 상기 현재 비디오 블록의 비트스트림 표현 사이의 변환을 위해, 변환 중에 사용할 보간 필터를 결정하는 단계; 규칙을 사용하여 결정된 레퍼런스 샘플에 상기 보간 필터를 적용하는 단계; 및 상기 적용 결과를 이용하여 변환을 수행하는 단계를 포함한다.
22. 제21절의 방법에 있어서, 상기 규칙은 레퍼런스 라인 인덱스 refIdx의 함수로서 상기 레퍼런스 샘플을 결정하도록 지정한다.
23. 제22절의 방법에 있어서, 상기 규칙은 상기 현재 비디오 블록에 대해 사용된 인트라 예측 각도에 기초하여 상기 레퍼런스 샘플들을 결정하도록 지정한다.
24. 제1절 내지 제23절의 방법 중 어느 하나에 있어서, 상기 현재 비디오 블록이 루마 비디오 블록이어서 상기 방법이 현재 비디오 블록에 적용된다.
25.제1절 내지 제23절의 방법 중 어느 하나에 있어서, 상기 방법은 상기 현재 비디오 블록이 컬러 비디오 블록이어서 상기 현재 비디오 블록에 적용된다.
26. 제25절의 방법에 있어서, 상기 방법은 상기 현재 비디오 블록이 Cb 비디오 블록이어서 상기 현재 비디오 블록에 적용된다.
27. 제25절의 방법에 있어서, 상기 방법은 상기 현재 비디오 블록이 R(적색) 비디오 블록이어서 상기 현재 비디오 블록에 적용된다.
제21절 내지 제27절의 추가 예는 섹션 4의 항목 4-5에 개시되어 있다.
28. 제1절 내지 제27절 중 하나 또는 그 이상의 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 프로세싱 장치.
29. 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 제1절 내지 제27절 중 하나 또는 그 이상의 방법을 구현하도록 하는 코드를 저장하는, 컴퓨터 판독 가능 매체.
두 번째 절의 세트는, 예를 들어 구현 예 1-6과 같이, 이전 섹션에서 개시된 기술의 어느 특징 및 측면을 개시한다.
1. 비디오 프로세싱 방법에 있어서, 비디오의 현재 비디오 유닛의 현재 비디오 블록과 비디오의 코딩된 표현 사이의 변환을 위해 4-탭 보간 필터를 사용할지 여부를 규칙에 기초하여 결정하는 단계를 포함하고, 현재 비디오 블록은 코딩된 표현에서 인트라 모드를 사용하여 코딩되고; 및 결정에 기초하여 변환을 수행하는 단계를 포함한다.
2. 제1절의 방법에 있어서, 상기 4-탭 보간 필터는 3차 필터, 이산 코사인 변환 보간 필터, 또는 가우시안 필터에 대응한다.
3. 제1절 또는 제2절의 방법에 있어서, 상기 규칙은 상기 현재 비디오 블록의 변환 블록(TB)의 폭(W) 또는 높이(H) 중 적어도 하나에 기초하여 상기 4-탭 보간 필터를 사용할지 여부를 지정한다.
4. 제3절의 방법에 있어서, 상기 규칙은 폭(W) 또는 높이(H)가 제1 임계값(T1)보다 크거나 제2 임계값(T2) 이하인 경우에 상기 4-탭 보간 필터를 사용하도록 지정한다.
5. 제1절 또는 제2절의 방법에 있어서, 상기 규칙은 상기 비디오 블록의 변환 블록(TB)의 크기에 기초하여 상기 4-탭 보간 필터를 사용할지 여부를 지정하고, 상기 TB는 폭(W) 및 높이(H)를 갖는다.
6. 제5절의 방법에 있어서, 상기 규칙은 상기 TB의 크기가 제1 임계값 T1보다 크거나, W와 H의 곱셈에 대응하는 크기인 제2 임계값 T2와 같거나 더 작은 경우에 상기 4-탭 보간 필터를 사용하도록 지정한다.
7. 제3절의 방법에 있어서, 상기 규칙은 상기 비디오 블록의 변환 블록(TB)의 폭(W)이 제1 임계값 T1보다 크고, 상기 변환 블록의 높이(H)가 제2 임계값 T2보다 큰 경우 상기 4-탭 보간 필터를 사용하도록 지정한다.
8. 제3절의 방법에 있어서, 상기 규칙은 상기 비디오 블록의 변환 블록(TB)의 폭(W)이 제1 임계값 T1보다 크지 않고, 상기 변환 블록의 높이(H)가 제2 임계값 T2보다 크지 않은 경우 상기 4-탭 보간 필터를 사용하도록 지정한다.
9. 제3절 내지 제8절 중 어느 하나의 방법에 있어서, 상기 규칙은 상기 현재 비디오 유닛의 다른 블록에 대한 4-탭 보간 필터를 디스에이블하도록 지정한다.
10. 제1절의 방법에 있어서, 상기 규칙은 상기 4-탭 보간 필터가 상기 변환에 사용되지 않는 경우에 2-탭 필터를 사용하도록 지정한다.
11. 제10절의 방법에 있어서, 상기 2-탭 필터는 이중선형 또는 선형 필터에 대응한다.
12. 제4절, 제6절, 제7절, 및 제8절의 방법 중 어느 하나에 있어서, 상기 제1 임계값 또는 상기 제2 임계값은 상기 현재 비디오 유닛의 컬러 컴포넌트의 값과 같다.
13.제4절, 제6절, 제7절, 및 제8절의 방법 중 어느 하나에 있어서, 상기 제1 임계값 또는 상기 제2 임계값은 상기 현재 비디오 유닛의 컬러 컴포넌트에 의존하는 값을 갖는다.
14. 제1절의 방법에 있어서, 상기 규칙은, 예측 정보 및/또는 상기 현재 비디오 블록의 디멘전에 기초한 가우시안 필터에 대응하는 상기 4-탭 보간 필터를 사용할지 여부를 지정한다.
15. 제14절의 방법에 있어서, 상기 규칙은, 상기 현재 비디오 블록의 크기 또는 상기 현재 비디오 블록의 변환 블록에 의존하는 인트라 코딩 또는 인트라 서브-파티션(ISP) 코딩을 사용하여 코딩된 상기 현재 비디오 블록에 대해 가우시안 필터를 사용할지 여부를 지정한다.
16. 제15절의 방법에 있어서, 상기 규칙은, 상기 현재 비디오 블록 또는 상기 현재 비디오 블록의 변환 블록의 폭(W) 또는 높이(H)가 임계값(T)보다 큰 경우 가우시안 필터를 사용하도록 지정한다.
17. 제15절의 방법에 있어서, 상기 규칙은, 상기 현재 비디오 블록 또는 상기 현재 비디오 블록의 변환 블록의 폭(W) 및 높이(H)의 곱셉(multiplication)이 임계값(T)보다 큰 경우 가우시안 필터를 사용하도록 지정한다.
18. 제17절의 방법에 있어서, 임계값(T)은 제1 임계값(T1)과 제2 임계값(T2)의 곱셈으로 결정된다.
19. 제15절의 방법에 있어서, 상기 규칙은, ISP 코딩을 사용하여 코딩된 상기 현재 비디오 블록에 대해, 서브-파티션에 대한 인트라 예측 모드 인덱스가 미리 정의된 각도 예측 모드보다 크거나 같은 경우 및 상기 서브-파티션의 폭이 임의의 값(T)보다 큰 경우, 상기 가우시안 필터를 사용할 것을 지정한다.
20. 제15절의 방법에 있어서, 상기, 규칙은, ISP 코딩을 사용하여 코딩된 현재 비디오 블록에 대해, 서브-파티션에 대한 인트라 예측 모드 인덱스가 미리 정의된 각도 예측 모드보다 작은 경우 및 상기 서브-파티션의 높이가 임의의 값(T)보다 큰 경우, 상기 가우시안 필터를 사용할 것을 지정한다.
21. 제19절 또는 제20절의 방법에 있어서, T는 8과 같다.
22. 제15절의 방법에 있어서, 상기 규칙은, 인트라 서브-파티션(ISP) 코딩을 사용하여 코딩되는 루마 블록의 적어도 일부에 대해 상기 가우시안 필터를 사용하지 않도록 지정한다.
23. 제14절의 방법에 있어서, 상기 규칙은, 상기 현재 비디오 블록에 적용된 하나 또는 그 이상의 예측 모드, 상기 현재 비디오 블록의 폭(W) 및/또는 높이(H), 상기 현재 비디오 블록의 변환 블록, 또는 상기 현재 비디오 블록의 서브 파티션에 의존하는 인트라 코딩 또는 인트라 서브-파티션(ISP) 코딩을 사용하여 코딩된 상기 현재 비디오 블록에 대해, 상기 가우시안 필터를 사용할지 여부를 지정한다.
24. 제15절의 방법에 있어서, 상기 규칙은, 상기 예측 모드를 갖는 상기 현재 비디오 블록이 수직 예측 모드보다 크거나 같고 상기 폭(W)이 임계값(T)보다 큰 경우, 상기 가우시안 필터를 사용하도록 지정한다.
25. 제15절의 방법에 있어서, 상기 규칙은, 상기 예측 모드를 갖는 상기 현재 비디오 블록이 수직 예측 모드보다 작고 높이(H)가 N (N은 양의 정수임) 샘플보다 큰 경우, 상기 가우시안 필터를 사용하도록 지정한다.
26. 제14절의 방법에 있어서, 상기 규칙은, 상기 가우시안 필터가 상기 규칙에 따라 사용되지 않는 경우, 인트라 코딩 또는 ISP(인트라 서브-파티션) 코딩을 사용하여 코딩되는 상기 현재 비디오 블록에 대해 이산 코사인 변환 보간 필터, 큐빅 필터, 또는 쌍선형 필터를 사용하도록 지정한다.
27. 제26절의 방법에 있어서, 상기 규칙은, 상기 현재 비디오 블록의 폭(W) 및 높이(H)의 곱셉(multiplication)이 임계값(T)보다 큰 경우, 상기 이산 코사인 변환 보간 필터, 상기 큐빅 필터 또는 상기 쌍선형 필터를 사용하도록 지정한다.
28. 제26절의 방법에 있어서, 상기 규칙은, 예측 모드를 갖는 상기 현재 비디오 블록이 수직 예측 모드보다 크거나 같고, 상기 현재 비디오 블록의 폭(W)이 임계값(T)보다 작은 경우, 상기 이산 코사인 변환 보간 필터, 상기 큐빅 필터 또는 상기 쌍선형 필터를 사용하도록 지정한다.
29. 제26절의 방법에 있어서, 상기 규칙은, 예측 모드를 갖는 상기 현재 비디오 블록이 수직 예측 모드보다 작고, 상기 현재 비디오 블록의 높이(H)가 임계값(T)보다 작은 경우, 상기 이산 코사인 변환 보간 필터, 상기 큐빅 필터 또는 상기 쌍선형 필터를 사용하도록 지정한다.
30. 제1절 내지 제29절 중 어느 하나의 방법에 있어서, 상기 방법은 상기 현재 비디오 유닛의 모든 또는 임의의 컬러 컴포넌트에만 적용된다.
31. 제30절의 방법에 있어서, 상기 방법은 상기 현재 비디오 유닛의 루마 컴포넌트에 적용된다.
32. 제30절의 방법에 있어서, 상기 방법은 상기 현재 비디오 유닛의 루마, Cb, 및 Cr 컴포넌트에 적용된다.
33. 제30절의 방법에 있어서, 상기 방법은 상기 현재 비디오 유닛의 YCbCr 4:4:4 포맷에 대한 루마, Cb, 및 Cr 컴포넌트에 적용된다.
34. 제30절의 방법에 있어서, 상기 방법은 상기 현재 비디오 유닛의 RGB 포맷에 대한 적색, 녹색, 청색 컴포넌트에 적용된다.
35. 비디오 프로세싱 방법에 있어서, 비디오의 비디오 유닛의 현재 비디오 블록에 대해, 상기 비디오 유닛에 대해 보간 필터의 하나 또는 그 이상의 세트로부터의 보간 필터를 사용하여 인트라 예측 블록을 생성하는 단계; 및 상기 예측 블록을 사용하여 상기 현재 비디오 블록과 상기 비디오의 코딩된 표현 간의 변환을 수행하는 단계를 포함한다.
36. 제35절의 방법에 있어서, 상기 보간 필터는 미리 정의된다.
37. 제35절의 방법에 있어서, 상기 코딩된 표현은 비디오 유닛 레벨에서 상기 보간 필터의 표시(indications)를 포함한다.
38. 제37절의 방법에 있어서, 상기 코딩된 표현은, 시퀀스 파라미터 세트(SPS) 레벨, 비디오 파라미터 세트(VPS) 레벨, 픽처 파라미터 세트(PPS) 레벨, 픽처 헤더, 슬라이스 헤더, 적응적 파라미터 세트(APS) 레벨, 타일 그룹 헤더, 서브픽처, 또는 타일 헤더에서의 상기 보간 필터의 표시를 포함한다.
39. 제35절 내지 제38절 중 어느 하나의 방법에서, 상기 보간 필터는 상기 비디오의 다른 비디오 유닛에 대해 결정되는 보간 필터의 제2 세트와 서로 다른 제1 세트에 포함된다.
40. 제35절의 방법에 있어서, 상기 비디오 유닛은, 시퀀스, 픽처, 서브픽처, 레이어, 슬라이스, 타일 그룹, 타일, 브릭, 코딩 트리 유닛 행, 코딩 트리 유닛, 코딩 유닛, 코딩 블록, 예측 유닛, 예측 블록, 변환 유닛, 변환 블록, 또는 비디오 프로세싱 데이터 유닛(VPDU)에 대응한다.
41. 제35절 내지 제40절의 방법 중 어느 하나에 있어서, 상기 보간 필터는 상기 비디오 유닛에 대해, 상기 현재 비디오 블록의 디멘전, 상기 현재 비디오 유닛에 대한 컬러 컴포넌트 또는 상기 현재 비디오 블록의 변환에 사용되는 코딩 방법에 기초하여 선택된다.
42. 제35절 내지 제41절의 방법 중 어느 하나에 있어서, 상기 방법은 현재 비디오 유닛의 모든 또는 특정 컬러 컴포넌트에만 적용된다.
43. 제42절의 방법에 있어서, 상기 방법은 상기 현재 비디오 유닛의 루마 컴포넌트에 적용된다.
44. 제42절의 방법에 있어서, 상기 방법은 상기 현재 비디오 유닛의 루마, Cb, 및 Cr 컴포넌트에 적용된다.
45. 제42절의 방법에 있어서, 상기 방법은 상기 현재 비디오 유닛의 YCbCr 4:4:4 포맷에 대한 루마, Cb, 및 Cr 컴포넌트에 적용된다.
46. 제42절의 방법에 있어서, 상기 방법은 상기 현재 비디오 유닛의 RGB 포맷에 대한 적색, 녹색, 청색 컴포넌트에 적용된다.
47. 비디오 프로세싱 방법에 있어서, 비디오의 현재 비디오 유닛의 현재 비디오 블록과 상기 비디오의 코딩된 표현 간의 변환을 위해, 레퍼런스 샘플에 보간 필터를 적용함으로써 보간 필터를 사용하여 인트라 예측 블록을 생성하는 단계 - 상기 레퍼런스 샘플은 규칙에 따라 결정됨- ; 및 상기 예측 블록을 이용하여 변환을 수행하는 단계를 포함한다.
48. 제47절의 방법에 있어서, 상기 규칙은 레퍼런스 라인 인덱스 refIdx의 함수로서 상기 레퍼런스 샘플을 결정하도록 지정한다.
49. 제47절의 방법에 있어서, 상기 규칙은 상기 현재 비디오 블록에 대해 사용된 인트라 예측 각도에 기초하여 상기 레퍼런스 샘플들을 결정하도록 지정한다.
50. 제47절 내지 제49절 중 어느 하나의 방법에 있어서, 레퍼런스 샘플에 대한 인덱스 변수(iIdx)는 식 iIdx = ( ( y + 1 + refIdx ) * intraPredAngle ) >> 5에 의해 유도되고, refldx는 상기 레퍼런스 샘플의 위치를 나타내는 레퍼런스 라인 인덱스를 나타내고, intraPredAngle은 상기 현재 비디오 블록에 대한 인트라 예측 모드로부터 유도된다.
51. 제47절 내지 제50절의 방법 중 어느 하나에 있어서, 상기 방법은 현재 비디오 유닛의 모든 또는 특정 컬러 컴포넌트에만 적용된다.
52. 제51절의 방법에 있어서, 상기 방법은 상기 현재 비디오 유닛의 루마 컴포넌트에 적용된다.
53. 제51절의 방법에 있어서, 상기 방법은 상기 현재 비디오 유닛의 루마, Cb, 및 Cr 컴포넌트에 적용된다.
54. 제51절의 방법에 있어서, 상기 방법은 상기 현재 비디오 유닛의 YCbCr 4:4:4 포맷에 대한 루마, Cb, 및 Cr 컴포넌트에 적용된다.
55. 제51절의 방법에 있어서, 상기 방법은 상기 현재 비디오 유닛의 RGB 포맷에 대한 적색, 녹색, 청색 컴포넌트에 적용된다.
개시된 기술의 일부 실시예는 비디오 프로세싱 도구 또는 모드를 인에이블하기 위한 판단(decision) 또는 결정(determination)을 내리는 것을 포함한다.  예를 들어 비디오 프로세싱 툴 또는 모드가 인에이블되면 인코더가 비디오 블록 프로세싱에서 툴 또는 모드를 사용하거나 구현하지만, 툴 또는 모드의 사용에 따라 결과 비트스트림을 반드시 수정할 필요는 없다.  즉, 비디오 블록에서 비디오의 비트스트림 표현으로 변환하면 판단 또는 결정에 따라 인에이블될 때 비디오 프로세싱 툴 또는 모드를 사용한다.  또 다른 예에서 비디오 프로세싱 툴 또는 모드가 인에이블되면 디코더는 비디오 프로세싱 툴 또는 모드에 따라 비트스트림이 수정되었다는 것을 알고 비트스트림을 프로세싱 한다.  즉, 비디오의 비트스트림 표현에서 비디오 블록으로의 변환은 판단 또는 결정에 따라 인에이블된 비디오 프로세싱 툴 또는 모드를 사용하여 수행된다. 
개시된 기술의 일부 실시예에는 비디오 프로세싱 툴 또는 모드를 디스에이블하는 판단(decision) 또는 결정(determination)을 내리는 것이 포함된다.  예를 들어 비디오 프로세싱 툴 또는 모드가 디스에이블되면, 인코더는 비디오 블록을 비디오 블록으로 변환하는 데 툴 또는 모드를 사용하지 않는다.  또 다른 예에서 비디오 프로세싱 툴 또는 모드가 디스에이블되면, 디코더는 판단(decision) 또는 결정(determination)에 따라 디스에이블된 비디오 프로세싱 툴 또는 모드를 사용하여 비트스트림이 수정된 것이 아니라는 것을 알고 비트스트림을 프로세싱한다. 
본 문서에서 "비디오 프로세싱"라는 용어는 비디오 인코딩, 비디오 디코딩, 비디오 압축 또는 비디오 압축 해제(decompression)를 의미할 수 있다.  예를 들어, 비디오 압축 알고리즘은 비디오의 픽셀 표현에서 대응하는 비트스트림 표현으로 또는 그 반대로 변환하는 동안 적용될 수 있다.  현재 비디오 블록의 비트스트림 표현은, 예를 들어, 신택스에 의해 정의된 바와 같이 비트스트림 내의 다른 위치에 함께 배치되거나 확산되는 비트에 대응할 수 있다.  예를 들어, 매크로블록(macroblock)은 변환되고 코딩된 오류 잔차 값의 관점에서 그리고 또한 헤더의 비트 및 비트스트림의 다른 필드를 사용하여 인코딩될 수 있다. 
전술한 내용으로부터, 현재 개시된 기술의 특정 실시예가 예시의 목적으로 여기에서 설명되었지만, 본 발명의 범위를 벗어나지 않고 다양한 수정이 이루어질 수 있다는 것이 이해될 것이다. 따라서, 현재 개시된 기술은 첨부된 청구범위에 의한 경우를 제외하고는 제한되지 않는다.
본 특허 문서에 기술된 주제 및 기능적 동작의 구현은, 본 명세서에 개시된 구조 및 구조적 등가물 포함하는, 다양한 시스템, 디지털 전자 회로 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어, 또는 이들 중 하나 또는 그 이상의 조합으로 구현될 수 있다. 본 명세서에 기재된 주제의 구현은 하나 이상의 컴퓨터 프로그램 제품, 즉, 데이터 처리 장치의 작동을 제어하기 위해 실물 및 비일시적 컴퓨터 판독 가능한 매체에 인코딩된 컴퓨터 프로그램 지침의 하나 이상의 모듈로 구현될 수 있다. 컴퓨터 판독가능한 매체는 기계가 읽을 수 있는 스토리지 장치, 기계가 읽을 수 있는 스토리지 기판, 메모리 장치, 기계가 읽을 수 있는 전파 신호에 영향을 미치는 물질의 조성 또는 하나 이상의 조합일 수 있다. 용어 "데이터 프로세싱 장치" 또는 "데이터 프로세싱 장치"는 예를 들어 프로그래밍 가능한 프로세서, 컴퓨터 또는 다중 프로세서 또는 컴퓨터를 포함하여 데이터를 프로세싱하기 위한 모든 장치, 장치 및 기계를 포함한다. 장치는 하드웨어에 추가하여 대응 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 응용 프로그램, 스크립트 또는 코드라고도 함)은 컴파일 된 언어를 비롯한 모든 형태의 프로그래밍 언어로 작성할 수 있으며 독립 실행형 프로그램 또는 컴퓨팅 환경에서 사용하기에 적합한 모듈, 구성 요소, 서브루틴 또는 기타 유닛을 포함하여 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램이 파일 시스템의 파일에 반드시 해당하는 것은 아니다. 프로그램은 다른 프로그램이나 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트), 대응하는 프로그램에 전념하는 단일 파일 또는 여러 조정된 파일(예를 들어, 하나 이상의 모듈, 서브 프로그램 또는 코드 일부를 저장하는 파일)에 저장할 수 있다. 컴퓨터 프로그램은 한 컴퓨터 또는 한 사이트에 위치하거나 여러 사이트에 분산되고 통신 네트워크에 의해 상호 연결된 여러 컴퓨터에서 실행하도록 배포할 수 있다.
이 문서에 설명된 프로세스 및 논리 흐름은 입력 데이터에 대해 작동하고 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능한 프로세서에 의해 수행될 수 있다. 프로세스 및 논리 흐름은 또한 특수 목적 논리 회로, 예를 들어 FPGA(필드 프로그램 가능 게이트 어레이(field programmable gate array)) 또는 ASIC(응용 특정 집적 회로(application specific integrated circuit))에 의해 수행될 수 있고 장치는 또한 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서에는 예를 들어, 일반 및 특수 목적 마이크로프로세서와 모든 종류의 디지털 컴퓨터의 하나 이상의 프로세서가 포함된다. 일반적으로 프로세서는 읽기 전용 메모리나 랜덤 액세스 메모리 또는 둘 다에서 명령어들과 데이터를 수신한다. 컴퓨터의 필수 요소는 명령을 수행하기 위한 프로세서와, 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 일반적으로 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대량 저장 장치(예를 들어, 자기, 마그네토 광학 디스크 또는 광학 디스크)에서 데이터를 수신하거나 전송하기 위해 작동적으로 결합되거나 결합된다. 그러나 컴퓨터에 그러한 장치들이 필요하지 않다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체 및 데이터는 비휘발성 메모리, 매체 및 예를 들어 반도체 메모리 장치(예를 들어, EPROM, EEPROM 및 플래시 메모리 장치)를 포함하는 메모리 장치의 모든 형태를 포함한다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
이 사양은 도면과 함께 예시적인 예로 간주되며, 예시적인 예시가 예를 의미한다. 본 명세서에서 사용되는 바와 같이, "또는"의 사용은 컨텍스트가 명확하게 달리 나타내지 않는 한 "및/또는"을 포함하기 위한 것이다.
본 특허문서에는 여러 가지 구체적인 내용이 포함되어 있지만, 이는 발명의 범위나 클레임될 수 있는 것의 제한 사항으로 해석되어서는 안 되며, 오히려 특정 발명의 특정 실시예에 특정할 수 있는 특징에 대한 설명으로 해석되어서는 안 된다. 별도의 실시예와 관련하여 이 특허 문서에 설명된 특정 특징은 단일 실시예에서 조합하여 구현될 수도 있다. 반대로, 단일 실시예의 문맥상에 기재되는 다양한 특징은 또한 다중 실시예에서 개별적으로 또는 임의의 적합한 하위 조합에서 구현될 수 있다. 더욱이, 상기 특징은 특정 조합에서 작용하는 것으로 설명될 수 있고 심지어 초기에 클레임된 것과 같이, 클레임된 조합으로부터의 하나 이상의 특징은 어떤 경우에는 조합 자체에 머물수도 있고, 클레임된 조합의 서브 조합 또는 변형으로 확장될 수도 있다.
마찬가지로, 동작은 특정 순서로 도면에 도시되어 있지만, 이러한 동작이 도시된 특정 순서 또는 순차적인 순서로 수행되거나, 모든 도시된 동작을 수행하여 바람직한 결과를 달성하도록 요구하는 것으로 이해되어서는 안 된다. 더욱이, 본 특허 문서에 기재된 실시예에서 다양한 시스템 컴포넌트의 분리는 모든 실시예에서 이러한 분리를 요구하는 것으로 이해되어서는 안 된다.
몇 가지 구현 및 예제만 설명되며 이 특허 문서에 설명되고 도시된 내용에 따라 다른 구현, 개선 및 변형을 만들 수 있다.
602: 프로세서 604: 메모리
606: 비디오 프로세싱 회로

Claims (15)

  1. 비디오 데이터 프로세싱 방법에 있어서,
    비디오의 제1 비디오 블록과 상기 비디오의 비트스트림 간의 변환을 위해, 제1 코딩 툴이 상기 제1 비디오 블록에 대해 적용되는지를 결정하는 단계 - 상기 제1 코딩 툴에서, 상기 제1 비디오 블록은 수평 방향 또는 수직 방향으로 복수의 서브-영역(sub-regions)들로 분할됨 -;
    상기 제1 비디오 블록에 적용되는 제1 레퍼런스 보간 필터링 프로세스에 기초하여, 상기 복수의 서브-영역들 중 적어도 하나에 대한 예측 샘플을 생성하는 단계; 및
    상기 예측 샘플에 기초하여 상기 변환을 수행하는 단계
    를 포함하고,
    상기 제1 레퍼런스 보간 필터링 프로세스에서, 제1 4-탭 보간 필터가 적용되고, 상기 복수의 서브-영역들은 동일한 인트라 모드를 사용하는,
    비디오 데이터 프로세싱 방법.
  2. 제1항에 있어서,
    상기 제1 4-탭 보간 필터는 큐빅 필터 또는 이산 코사인 변환 보간 필터에 해당하는,
    비디오 데이터 프로세싱 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 제1 4-탭 보간 필터는, 상기 복수의 서브-영역들의 적어도 하나의 크기와 독립적으로(independently) 결정되는,
    비디오 데이터 프로세싱 방법.
  4. 제1항 내지 제3항 중 어느 하나의 항에 있어서,
    상기 제1 코딩 툴을 적용하지 않은 제2 비디오 블록에 대해, 제2 레퍼런스 보간 필터링 프로세스가 사용되고, 상기 제2 레퍼런스 보간 필터링 프로세스에서, 상기 제1 4-탭 보간 필터 및 제2 4-탭 보간 필터 중 하나가 상기 제2 비디오 블록의 크기에 기초하여 결정되며, 상기 제2 4-탭 보간 필터는 상기 제1 4-탭 보간필터와 서로 다른 것인,
    비디오 데이터 프로세싱 방법.
  5. 제4항에 있어서,
    상기 제2 4-탭 보간 필터는 가우시안 필터에 해당하는,
    비디오 데이터 프로세싱 방법.                
  6. 제4항 또는 제5항에 있어서,
    상기 제1 및 상기 제2 4-탭 보간 필터는 루마 컴포넌트에만 적용되는,
    비디오 데이터 프로세싱 방법.
  7. 제4항 내지 제6항 중 어느 하나의 항에 있어서,
    상기 제1 4-탭 보간 필터 및 제2 4-탭 보간 필터 중 어느 하나는, 상기 제2 비디오 블록의 제2 인트라 모드 및 상기 제2 비디오 블록의 레퍼런스 샘플들의 위치에 기초하여 선택되는,
    비디오 데이터 프로세싱 방법.  
                
  8. 제7항에 있어서,
    상기 제2 인트라 모드의 인덱스가 제1 인덱스 세트 중 어느 하나인 경우, 상기 제1 4-탭 보간 필터가 선택되되, 상기 제1 인덱스 세트는 -14, -12, -10, -6, 2, 34, 66, 72, 76, 78, 80을 포함하는,
    비디오 데이터 프로세싱 방법.
                  
  9. 제8항에 있어서,
    조건들의 세트(a set of conditions)를 만족하는 것에 응답하여, 상기 제2 4-탭 보간 필터가 선택되고, 상기 조건들의 세트는, 상기 제2 인트라 모드의 상기 인덱스가 {18, 50} 중 하나가 아닌 것을 포함하는,
    비디오 데이터 프로세싱 방법.            
        
  10. 제1항 내지 제9항 중 어느 하나의 항에 있어서,
    상기 제1 4-탭 보간 필터 fc[ p ][ 0 ]의 계수는,.

    로 정의되는,
    비디오 데이터 프로세싱 방법. 
  11. 제1항 내지 제10항 중 어느 하나의 항에 있어서,
    상기 변환은 상기 제1 비디오 블록을 상기 비트스트림으로 인코딩하는 것을 포함하는,
    비디오 데이터 프로세싱 방법. 
  12. 제1항 내지 제10항 중 어느 하나의 항에 있어서,
    상기 변환은 상기 비트스트림에서 상기 제1 비디오 블록을 디코딩하는 것을 포함하는,
    비디오 데이터 프로세싱 방법. 
  13. 비디오 데이터 프로세싱 장치에 있어서,
    프로세서 및 상기 프로세서에 의해 실행되는 명령어를 저장하는 비-일시적 메모리를 포함하고, 상기 명령어는 상기 프로세서로 하여금,
    비디오의 제1 비디오 블록과 상기 비디오의 비트스트림 간의 변환을 위해, 제1 코딩 툴이 상기 제1 비디오 블록에 대해 적용되는지를 결정하는 동작 - 상기 제1 코딩 툴에서, 상기 제1 비디오 블록은 수평 방향 또는 수직 방향으로 복수의 서브-영역(sub-regions)들로 분할됨 -;
    상기 제1 비디오 블록에 적용되는 제1 레퍼런스 보간 필터링 프로세스에 기초하여, 상기 복수의 서브-영역들 중 적어도 하나에 대한 예측 샘플을 생성하는 동작; 및
    상기 예측 샘플에 기초하여 상기 변환을 수행하는 동작
    을 하도록 하고,
    상기 제1 레퍼런스 보간 필터링 프로세스에서, 제1 4-탭 보간 필터가 적용되고, 상기 복수의 서브-영역들은 동일한 인트라 모드를 사용하는,
    비디오 데이터 프로세싱 장치. 
  14. 프로세서로 하여금,
    비디오의 제1 비디오 블록과 상기 비디오의 비트스트림 간의 변환을 위해, 제1 코딩 툴이 상기 제1 비디오 블록에 대해 적용되는지를 결정하는 동작 - 상기 제1 코딩 툴에서, 상기 제1 비디오 블록은 수평 방향 또는 수직 방향으로 복수의 서브-영역(sub-regions)들로 분할됨 -;
    상기 제1 비디오 블록에 적용되는 제1 레퍼런스 보간 필터링 프로세스에 기초하여, 상기 복수의 서브-영역들 중 적어도 하나에 대한 예측 샘플을 생성하는 동작; 및
    상기 예측 샘플에 기초하여 상기 변환을 수행하는 동작
    을 하도록 하는 명령어를 저장하고,
    상기 제1 레퍼런스 보간 필터링 프로세스에서, 제1 4-탭 보간 필터가 적용되고, 상기 복수의 서브-영역들은 동일한 인트라 모드를 사용하는,
    컴퓨터 판독 가능한 비일시적 기록매체.
  15. 비디오 데이터 프로세싱 장치에 의해 수행되는 방법에 의해 생성되는 비디오의 비트스트림을 저장하는 컴퓨터 판독 가능한 비일시적 기록매체에 있어서,
    상기 방법은,
    상기 비디오의 제1 비디오 블록과 상기 비디오의 비트스트림 간의 변환을 위해, 제1 코딩 툴이 상기 제1 비디오 블록에 대해 적용되는지를 결정하는 단계 - 상기 제1 코딩 툴에서, 상기 제1 비디오 블록은 수평 방향 또는 수직 방향으로 복수의 서브-영역(sub-regions)들로 분할됨 -;
    상기 제1 비디오 블록에 적용되는 제1 레퍼런스 보간 필터링 프로세스에 기초하여, 상기 복수의 서브-영역들 중 적어도 하나에 대한 예측 샘플을 생성하는 단계; 및
    상기 예측 샘플에 기초하여 상기 변환을 수행하는 단계
    를 포함하고,
    상기 제1 레퍼런스 보간 필터링 프로세스에서, 제1 4-탭 보간 필터가 적용되고, 상기 복수의 서브-영역들은 동일한 인트라 모드를 사용하는,
    컴퓨터 판독 가능한 비일시적 기록매체
KR1020247017572A 2019-05-02 2020-05-05 다중 레퍼런스 필터를 사용한 인트라 비디오 코딩 KR20240091033A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNPCT/CN2019/085406 2019-05-02

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020217033758A Division KR20220002904A (ko) 2019-05-02 2020-05-05 다중 레퍼런스 필터를 사용한 인트라 비디오 코딩

Publications (1)

Publication Number Publication Date
KR20240091033A true KR20240091033A (ko) 2024-06-21

Family

ID=

Similar Documents

Publication Publication Date Title
CN113785588B (zh) 基于矩阵的帧内预测的色度编解码模式确定
KR20220002904A (ko) 다중 레퍼런스 필터를 사용한 인트라 비디오 코딩
CN113812150B (zh) 使用滤波的基于矩阵的帧内预测
US11930176B2 (en) Context modeling and selection of multiple transform matrix
US20230074729A1 (en) Block dimension settings of transform skip mode
KR20220016844A (ko) 비디오 비트스트림들에서 감축된 2차 변환의 조건부 시그널링
CN114009050B (zh) 视频编解码的自适应环内颜色空间变换
CN114223200B (zh) 位置相关帧内预测样点滤波
CN113826405B (zh) 多个颜色分量的变换量化旁路模式的使用
KR20220065758A (ko) 코딩 블록의 스케일링 프로세스
CN113966611B (zh) 视频编解码中的重要系数信令
CN114270848A (zh) 在去方块滤波中使用边界强度
CN118120232A (zh) 视频编解码中的双边滤波
KR20240091033A (ko) 다중 레퍼런스 필터를 사용한 인트라 비디오 코딩
WO2020228761A1 (en) Filter selection for intra video coding