KR102696718B1 - 조합된 인트라-인터 예측의 확장된 적용 - Google Patents

조합된 인트라-인터 예측의 확장된 적용 Download PDF

Info

Publication number
KR102696718B1
KR102696718B1 KR1020217023357A KR20217023357A KR102696718B1 KR 102696718 B1 KR102696718 B1 KR 102696718B1 KR 1020217023357 A KR1020217023357 A KR 1020217023357A KR 20217023357 A KR20217023357 A KR 20217023357A KR 102696718 B1 KR102696718 B1 KR 102696718B1
Authority
KR
South Korea
Prior art keywords
mode
current block
intra
coding mode
ciip
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020217023357A
Other languages
English (en)
Other versions
KR20210119981A (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 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드
Publication of KR20210119981A publication Critical patent/KR20210119981A/ko
Application granted granted Critical
Publication of KR102696718B1 publication Critical patent/KR102696718B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

본 출원은 조합된 인트라-인터 예측의 확장된 적용에 관한 것이다. 비디오를 처리하는 방법은, 모션 정보와 함께 조합된 인터-인트라 예측(CIIP) 모드의 CIIP 플래그 및/또는 인트라 모드를 이력-기반 모션 벡터 예측(HMVP) 테이블에 저장하는 단계; 및 적어도 HMVP 테이블에 기초하여, 비디오 데이터 내의 현재 블록과 현재 블록의 비트스트림 표현 사이의 전환을 수행하는 단계를 포함한다.

Description

조합된 인트라-인터 예측의 확장된 적용
관련 출원에 대한 상호 참조
본 출원은 2019년 2월 1일에 출원된 국제 특허 출원 제PCT/CN2019/074425호, 2019년 3월 21일에 출원된 국제 특허 출원 제PCT/CN2019/079148호, 및 2019년 8월 14일에 출원된 국제 특허 출원 제PCT/CN2019/100616호에 대한 우선권 및 그 이익들을 주장하는, 2020년 2월 2일에 출원된 국제 특허 출원 제PCT/CN2020/074151호의 국내 단계이다. 위에 언급된 출원의 전체 개시는 본 출원의 개시의 일부로서 참조로 포함된다.
기술 분야
본 문서는 비디오 및 이미지 코딩 및 디코딩 기술들에 관한 것이다.
디지털 비디오는 인터넷 및 다른 디지털 통신 네트워크들에서 가장 큰 대역폭 사용을 차지한다. 비디오를 수신 및 디스플레이할 수 있는 접속된 사용자 디바이스들의 수가 증가함에 따라, 디지털 비디오 사용에 대한 대역폭 수요가 계속 증가할 것으로 예상된다.
개시된 기법들은 조합된 인트라 인터 예측이 사용되는 비디오 또는 이미지 디코더 또는 인코더 실시예들에 의해 사용될 수 있다.
하나의 예시적인 양태에서, 비디오를 처리하는 방법이 개시된다. 이 방법은, 제1 비디오 블록의 코딩된 모드를 결정하는 단계; 제1 비디오 블록의 코딩된 모드의 결정에 기초하여 하나 이상의 플래그를 동작 상태로 제약하는 단계- 동작 상태는 거짓 또는 참임 -; 및 하나 이상의 플래그의 동작 상태에 따라 제2 비디오 블록의 추가 처리를 수행하는 단계- 제1 비디오 블록은 제2 비디오 블록과 관련된 이웃 비디오 블록 또는 참조 비디오 블록임 -를 포함한다.
다른 예시적인 양태에서, 비디오를 처리하는 방법은, 제1 비디오 블록과 관련하여 사용되는 쌍별 예측 또는 조합된-양방향 예측을 결정하는 단계; 쌍별 예측 또는 조합된-양방향 예측이 사용된다는 결정에 기초하여 조합된 인터-인트라 예측(CIIP)의 동작 상태를 결정하는 단계- 동작 상태는 인에이블 또는 디스에이블됨 -; 및 CIIP의 동작 상태에 따라 제1 비디오 블록의 추가 처리를 수행하는 단계를 포함한다.
다른 예시적인 양태에서, 다른 비디오 처리 방법이 개시된다. 이 방법은, 코딩된 표현이 3개 미만의 쌍이 포함되는 가중치 쌍들의 세트로부터의 가중치 쌍을 사용하여 비디오 블록의 인트라 및 인터 예측 결과들의 가중 평균에 대응하는 조합 인트라 및 인터 예측 모드를 사용하여 비디오의 비디오 블록과 비디오 블록의 코딩된 표현 사이의 전환을 수행하는 단계를 포함한다.
다른 예시적인 양태에서, 다른 비디오 처리 방법이 개시된다. 이 방법은, 코딩된 표현이 하나 이상의 이웃 블록의 코딩 정보로 인해 결정된 가중치 쌍들의 세트로부터의 가중치 쌍을 사용하여 비디오 블록의 인트라 및 인터 예측 결과들의 가중 평균에 대응하는 조합 인트라 및 인터 예측 모드를 사용하여 비디오의 비디오 블록과 비디오 블록의 코딩된 표현 사이의 전환을 수행하는 단계를 포함한다.
다른 예시적인 양태에서, 다른 비디오 처리 방법이 개시된다. 이 방법은, 비디오 데이터 내의 제1 블록과 제1 블록의 비트스트림 표현 사이의 전환 동안, 하나 이상의 제2 블록의 하나 이상의 코딩된 모드를 결정하는 단계; 하나 이상의 제2 블록의 하나 이상의 코딩된 모드에 기초하여, 제1 블록의 코딩된 모드 제약을 결정하는 단계; 및 적어도 제1 블록의 코딩된 모드 제약을 적용함으로써, 전환을 수행하는 단계를 포함하고; 하나 이상의 제2 블록은 제1 블록의 인접 블록, 비-인접 블록, 및 참조 블록 중 적어도 하나를 포함한다.
다른 예시적인 양태에서, 비디오 처리의 다른 방법이 개시된다. 이 방법은, 조합된 인터-인트라 예측(CIIP), 확산 필터링, 양방향 필터링, 변환 도메인 필터링, 또는 확산 필터링, 양방향 필터링 및 변환 도메인 필터링과 상이한 다른 타입의 사후-재구성 필터링 중 적어도 하나를 사용하여 비디오 데이터 내의 현재 블록과 현재 블록의 비트스트림 표현 사이의 전환을 수행하는 단계를 포함하고, 조합된 인터-인트라 예측(CIIP), 확산 필터링, 양방향 필터링, 변환 도메인 필터링, 또는 다른 타입의 사후-재구성 필터링 중 적어도 하나에서 사용되는 현재 블록의 재구성된 이웃 샘플들은, 하나 이상의 참조 픽처 내의 재구성된 이웃 샘플들의 대응하는 샘플들로부터 생성된 근사화된 샘플들로 대체된다.
다른 예시적인 양태에서, 비디오 처리의 다른 방법이 개시된다. 이 방법은 모션 정보와 함께 조합된 인터-인트라 예측(CIIP) 모드의 CIIP 플래그 및/또는 인트라 모드를 이력-기반 모션 벡터 예측(HMVP) 테이블에 저장하는 단계; 및 적어도 HMVP 테이블에 기초하여, 비디오 데이터 내의 현재 블록과 현재 블록의 비트스트림 표현 사이의 전환을 수행하는 단계를 포함한다.
다른 예시적인 양태에서, 비디오 처리의 다른 방법이 개시된다. 이 방법은, 비디오 데이터 내의 현재 블록과 현재 블록의 비트스트림 표현 사이의 전환 동안, 현재 블록에 대한 예측 모드를 결정하는 단계; 현재 블록이 고급 모션 벡터 예측(AMVP) 모드 또는 머지 모드로 코딩된다는 결정에 응답하여 조합된 인터-인트라 예측(CIIP) 모드가 현재 블록에 대해 인에이블된다는 것을 표시하는 CIIP 모드의 적용가능성을 결정하는 단계; 및 CIIP 모드의 적용가능성에 기초하여, 전환을 수행하는 단계를 포함한다.
다른 예시적인 양태에서, 비디오 처리의 다른 방법이 개시된다. 이 방법은, 비디오 데이터 내의 현재 블록과 현재 블록의 비트스트림 표현 사이의 전환 동안, 현재 블록에 대한 선택된 머지 후보의 타입을 결정하는 단계, 및 선택된 머지 후보의 타입에 따라 현재 블록에 대한 조합된 인터-인트라 예측(CIIP)의 적용가능성을 결정하는 단계- 현재 블록은 머지 모드에서 코딩됨 -를 포함한다.
다른 예시적인 양태에서, 전술한 방법은 프로세서를 포함하는 비디오 인코더 장치에 의해 구현될 수 있다.
또 다른 예시적인 양태에서, 이들 방법은 프로세서 실행가능 명령어들의 형태로 구현되고 컴퓨터 판독가능 프로그램 매체 상에 저장될 수 있다.
이들 및 다른 양태들은 본 문서에서 추가로 설명된다.
도 1은 머지 후보들 리스트 구성을 위한 도출 프로세스의 예를 도시한다.
도 2는 공간 머지 후보들의 위치들의 예를 도시한다.
도 3은 공간 머지 후보들의 중복 검사를 위해 고려되는 후보 쌍들의 예를 도시한다.
도 4는 Nx2N 및 2NxN 파티션들의 제2 PU에 대한 위치들의 예를 도시한다.
도 5는 시간 머지 후보에 대한 모션 벡터 스케일링의 예를 도시한다.
도 6은 시간 머지 후보 C0 및 C1에 대한 후보 위치들의 예를 도시한다.
도 7은 조합된 양방향 예측 머지 후보의 예를 도시한다.
도 8은 모션 벡터 예측 후보들에 대한 도출 프로세스의 예를 도시한다.
도 9는 공간 모션 벡터 후보에 대한 모션 벡터 스케일링의 예를 도시한다.
도 10은 코딩 유닛(CU)에 대한 대안의 시간 모션 벡터 예측(ATMVP)의 예를 도시한다.
도 11은 IC 파라미터들을 도출하기 위해 사용되는 이웃 샘플들의 예를 도시한다.
도 12는 UMVE(ultimate motion vector expression) 탐색 프로세스의 예를 도시한다.
도 13은 UMVE 탐색 포인트의 예를 도시한다.
도 14는 제안된 HMVP 방법을 사용한 디코딩 흐름도의 예를 도시한다.
도 15는 제안된 HMVP 방법에서 테이블을 갱신하는 예를 도시한다.
도 16은 대칭 모드의 예를 도시한다.
도 17은 현재 블록의 이웃 샘플들 및 참조 픽처 내의 그들의 대응하는 샘플들의 예를 도시한다.
도 18은 비디오 처리 장치의 예의 블록도이다.
도 19는 비디오 인코더의 예시적인 구현의 블록도를 도시한다.
도 20은 비디오 처리 방법의 예에 대한 흐름도이다.
도 21은 비디오 처리 방법의 예에 대한 흐름도이다.
도 22는 CIIP 가중치 평가에 사용되는 상단 및 좌측 이웃 블록들의 예를 도시한다.
도 23은 비디오 처리 방법의 예에 대한 흐름도이다.
도 24는 비디오 처리 방법의 예에 대한 흐름도이다.
도 25는 비디오 처리 방법의 예에 대한 흐름도이다.
도 26은 비디오 처리 방법의 예에 대한 흐름도이다.
도 27은 비디오 처리 방법의 예에 대한 흐름도이다.
본 문서는 압축해제된 또는 디코딩된 디지털 비디오 또는 이미지들의 품질을 개선하기 위해 이미지 또는 비디오 비트스트림들의 디코더에 의해 사용될 수 있는 다양한 기법들을 제공한다. 간략함을 위해, "비디오"라는 용어는 본 명세서에서 픽처들의 시퀀스(전통적으로 비디오라고 불림) 및 개별 이미지들 둘 다를 포함하기 위해 사용된다. 더욱이, 비디오 인코더는 또한 추가 인코딩을 위해 사용되는 디코딩된 프레임들을 재구성하기 위해 인코딩 프로세스 동안 이들 기법을 구현할 수 있다.
섹션 제목들은 이해의 편의를 위해 본 문서에서 사용되고 실시예들 및 기법들을 대응하는 섹션들로 제한하지 않는다. 그에 따라, 하나의 섹션으로부터의 실시예들은 다른 섹션들로부터의 실시예들과 조합될 수 있다.
1. 정리
본 문서는 비디오 코딩 기술들에 관한 것이다. 구체적으로, 이는 비디오 코딩 또는 디코딩에서 조합된 인트라 인터 예측(CIIP)과 관련된다. 그것은 HEVC와 같은 기존의 비디오 코딩 표준, 또는 완성될 표준(Versatile Video Coding)에 적용될 수 있다. 그것은 미래의 비디오 코딩 표준들 또는 비디오 코덱에도 적용가능할 수 있다.
2. 분야
비디오 코딩 표준들은 주로 널리 공지된 ITU-T 및 ISO/IEC 표준들의 개발을 통해 진화했다. ITU-T는 H.261 및 H.263을 생성하였고, ISO/IEC는 MPEG-1 및 MPEG-4 Visual을 생성하였고, 이 2개의 조직은 H.262/MPEG-2 비디오 및 H.264/MPEG-4 AVC(Advanced Video Coding) 및 H.265/HEVC [1] 표준들을 공동으로 생성하였다. H.262 이후, 비디오 코딩 표준들은 시간 예측 플러스 변환 코딩이 사용되는 하이브리드 비디오 코딩 구조에 기초한다. HEVC 이후 미래의 비디오 코딩 기술들을 탐구하기 위해, JVET(Joint Video Exploration Team)가 2015년 공동으로 VCEG 및 MPEG에 의해 설립되었다. 그때 이후, 많은 새로운 방법들이 JVET에 의해 채택되어 JEM(Joint Exploration Model)이라고 명명된 참조 소프트웨어에 넣어졌다. 2018년 4월에, VCEG(Q6/16)와 ISO/IEC JTC1 SC29/WG11(MPEG) 사이의 JVET(Joint Video Expert Team)는 HEVC에 비해 50% 비트레이트 감소를 목표로 하는 VVC 표준에 대해 연구하기 위해 생성되었다.
도 19는 비디오 인코더의 예시적인 구현의 블록도이다. 도 19는 인코더 구현이 비디오 인코더가 또한 비디오 디코딩 기능성을 수행하는(다음 비디오 데이터를 인코딩하기 위해 사용하기 위한 비디오 데이터의 압축된 표현을 재구성하는) 내장된 피드백 경로를 갖는 것을 도시한다.
2.1 HEVC/H.265에서의 인터 예측
각각의 인터-예측 PU는 하나 또는 2개의 참조 픽처 리스트에 대한 모션 파라미터들을 갖는다. 모션 파라미터들은 모션 벡터 및 참조 픽처 인덱스를 포함한다. 2개의 참조 픽처 리스트 중 하나의 사용은 inter_pred_idc를 사용하여 시그널링될 수도 있다. 모션 벡터들은 예측자들에 대해 델타로서 명시적으로 코딩될 수 있다.
CU가 스킵 모드로 코딩될 때, 하나의 PU는 CU와 연관되고, 어떠한 유의 잔여 계수들도 없고, 어떠한 코딩된 모션 벡터 델타 또는 참조 픽처 인덱스도 없다. 머지 모드가 특정되고, 그에 의해 현재 PU에 대한 모션 파라미터들이 공간 및 시간 후보들을 포함하는 이웃 PU들로부터 획득된다. 머지 모드는 스킵 모드에 대해서뿐만 아니라 임의의 인터 예측된 PU에 적용될 수 있다. 머지 모드에 대한 대안은 모션 파라미터들의 명시적 송신이고, 여기서 모션 벡터(더 정확하게는, 모션 벡터 예측자에 비해 모션 벡터 차이), 각각의 참조 픽처 리스트 및 참조 픽처 리스트 사용에 대한 대응하는 참조 픽처 인덱스가 각각의 PU마다 명시적으로 시그널링된다. 그러한 모드는 본 개시에서 고급 모션 벡터 예측(Advanced motion vector prediction, AMVP)이라고 명명된다.
시그널링이 2개의 참조 픽처 리스트들 중 하나가 사용될 것임을 표시할 때, PU는 샘플들의 하나의 블록으로부터 생성된다. 이는 '단방향 예측(uni-prediction)'으로 지칭된다. P-슬라이스들 및 B-슬라이스들 둘 다에 대해 단방향 예측이 이용가능하다.
시그널링이 참조 픽처 리스트들 둘 다가 사용되어야 한다는 것을 표시할 때, PU는 샘플들의 2개의 블록으로부터 생성된다. 이것은 '양방향 예측(bi-prediction)'이라고 지칭된다. 양방향 예측은 B-슬라이스들에 대해서만 이용가능하다.
다음의 본문은 HEVC에서 특정된 인터 예측 모드들에 대한 세부사항들을 제공한다. 설명은 머지 모드로 시작될 것이다.
2.1.1 머지 모드
2.1.1.1 머지 모드에 대한 후보들의 도출
PU가 머지 모드를 사용하여 예측될 때, 머지 후보 리스트 내의 엔트리를 포인팅하는 인덱스가 비트스트림으로부터 파싱되고(parsed), 모션 정보를 검색하기 위해 사용된다. 이 리스트의 구성은 HEVC 표준에 특정되고 다음의 단계들의 시퀀스에 따라 요약될 수 있다:
단계 1: 초기 후보들 도출
단계 1.1: 공간 후보들 도출
단계 1.2: 공간 후보들에 대한 중복 검사
단계 1.3: 시간 후보들 도출
단계 2: 추가 후보들 삽입
단계 2.1: 양방향 예측 후보들의 생성
단계 2.2: 제로 모션 후보들의 삽입
이러한 단계들은 또한 도 1에 개략적으로 도시된다. 공간 머지 후보 도출의 경우, 5개의 상이한 위치에 위치하는 후보들 중에서 최대 4개의 머지 후보가 선택된다. 시간 머지 후보 도출의 경우, 2개의 후보 중에서 최대 하나의 머지 후보가 선택된다. 디코더에서 각각의 PU에 대한 일정한 수의 후보들이 가정되기 때문에, 단계 1로부터 획득된 후보들의 수가 슬라이스 헤더에서 시그널링되는 머지 후보의 최대 수(MaxNumMergeCand)에 도달하지 않을 때 추가적인 후보들이 생성된다. 후보들의 수가 일정하기 때문에, 최상의 머지 후보의 인덱스는 절단된 단항 이진화(truncated unary binarization, TU)를 사용하여 인코딩된다. CU의 크기가 8과 동일한 경우, 현재 CU의 모든 PU들은 2Nx2N 예측 유닛의 머지 후보 리스트와 동일한 단일 머지 후보 리스트를 공유한다.
이하에서, 전술한 단계들과 연관된 동작들이 상세히 설명된다.
2.1.1.2 공간 후보 도출
공간 머지 후보들의 도출에서, 도 22에 도시된 위치들에 위치하는 후보들 중에서 최대 4개의 머지 후보가 선택된다. 도출 순서는 A1, B1, B0, A0 및 B2이다. 위치 B2는 위치 A1, B1, B0, A0의 임의의 PU가 (예를 들어, 다른 슬라이스 또는 타일에 속하기 때문에) 이용가능하지 않거나 인트라 코딩될 때에만 고려된다. 위치 A1에서의 후보가 추가된 후에, 나머지 후보들의 추가는 코딩 효율이 개선되도록 동일한 모션 정보를 갖는 후보들이 리스트로부터 배제되는 것을 보장하는 중복 검사를 받는다. 계산 복잡성을 감소시키기 위해, 모든 가능한 후보 쌍들이 언급된 중복 검사에서 고려되지는 않는다. 대신에, 도 3의 화살표로 링크된 쌍들만이 고려되고, 중복 검사를 위해 사용되는 대응하는 후보가 동일한 모션 정보를 갖지 않는 경우에만 후보가 리스트에 추가된다. 중복 모션 정보의 다른 소스는 2Nx2N과는 상이한 파티션들과 연관된 "제2 PU"이다. 예로서, 도 4는 각각 Nx2N 및 2NxN의 경우에 대한 제2 PU를 도시한다. 현재 PU가 Nx2N으로서 파티셔닝될 때, 위치 A1에서의 후보는 리스트 구성을 위해 고려되지 않는다. 사실, 이 후보를 추가하는 것에 의해 동일한 모션 정보를 갖는 2개의 예측 유닛으로 이어질 것이고, 이는 코딩 유닛에서 하나의 PU만을 갖도록 중복된다. 유사하게, 위치 B1은 현재 PU가 2NxN으로 파티셔닝될 때 고려되지 않는다.
2.1.1.3 시간 후보들 도출
이 단계에서, 하나의 후보만이 리스트에 추가된다. 상세하게는, 이 시간 머지 후보의 도출에서, 주어진 참조 픽처 리스트 내에서 현재 픽처와 가장 작은 POC 차이를 갖는 픽처에 속하는 공동위치된(co-located) PU에 기초하여 스케일링된 모션 벡터가 도출된다. 공동위치된 PU의 도출을 위해 사용될 참조 픽처 리스트는 슬라이스 헤더에서 명시적으로 시그널링된다. 시간 머지 후보에 대한 스케일링된 모션 벡터는 도 5에서 점선으로 예시된 바와 같이 획득되고, 이는 POC 거리들 tb 및 td를 사용하여 공동위치된 PU의 모션 벡터로부터 스케일링되고, 여기서 tb는 현재 픽처의 참조 픽처와 현재 픽처 간의 POC 차이인 것으로 정의되고, td는 공동위치된 픽처의 참조 픽처와 공동위치된 픽처 간의 POC 차이인 것으로 정의된다. 시간 머지 후보의 참조 픽처 인덱스는 제로와 동일하게 설정된다. 스케일링 프로세스의 실제 실현은 HEVC 사양에서 설명된다. B-슬라이스의 경우, 2개의 모션 벡터- 하나는 참조 픽처 리스트 0에 대한 것이고 다른 하나는 참조 픽처 리스트 1에 대한 것임 -가 획득되고 조합되어 양방향 예측 머지 후보를 만든다.
참조 프레임에 속하는 공동위치된 PU(Y)에서, 시간 후보에 대한 위치는 도 6에 도시된 바와 같이 후보들 C0과 C1 사이에서 선택된다. 위치 C0에서의 PU가 이용가능하지 않거나, 인트라 코딩되거나, 현재 CTU 행 밖에 있는 경우, 위치 C1이 사용된다. 그렇지 않으면, 위치 C0은 시간 머지 후보의 도출에 사용된다.
2.1.1.4 추가 후보들 삽입
공간 및 시간 머지 후보들 이외에, 2개의 추가적인 타입의 머지 후보들의 있다: 조합된 양방향 예측 머지 후보 및 제로 머지 후보. 조합된 양방향 예측 머지 후보들은 공간 및 시간 머지 후보들을 이용하여 생성된다. 조합된 양방향 예측 머지 후보가 B-슬라이스에 대해서만 사용된다. 조합된 양방향 예측 후보들은 초기 후보의 제1 참조 픽처 리스트 모션 파라미터들을 다른 것의 제2 참조 픽처 리스트 모션 파라미터들과 조합함으로써 생성된다. 이들 2개의 투플이 상이한 모션 가설들을 제공하는 경우, 이들은 새로운 양방향 예측 후보를 형성할 것이다. 예로서, 도 7은 mvL0 및 refIdxL0 또는 mvL1 및 refIdxL1을 갖는, 원래의 리스트(왼쪽) 내의 2개의 후보가 최종 리스트(오른쪽)에 추가된 조합된 양방향 예측 머지 후보를 생성하기 위해 사용되는 경우를 묘사한다. 이들 추가적인 머지 후보를 생성하기 위해 고려되는 조합들에 관한 다수의 규칙이 존재한다.
제로 모션 후보들은 머지 후보 리스트 내의 나머지 엔트리들을 채우기 위해 삽입되고, 따라서 MaxNumMergeCand 용량을 히트한다. 이들 후보는 제로 공간 변위 및 제로로부터 시작되고 새로운 제로 모션 후보가 리스트에 추가될 때마다 증가하는 참조 픽처 인덱스를 갖는다. 이들 후보에 의해 사용되는 참조 프레임들의 수는 단방향 및 양방향 예측에 대해 각각 1 및 2이다. 마지막으로, 이들 후보에 대해 중복 검사가 수행되지 않는다.
2.1.1.5 병렬 처리를 위한 모션 추정 영역
인코딩 프로세스의 속력을 상승시키기 위해, 모션 추정이 병렬로 수행될 수 있고, 그에 의해 주어진 영역 내의 모든 예측 유닛들에 대한 모션 벡터들이 동시에 도출된다. 공간 이웃으로부터의 머지 후보들의 도출은 병렬 처리를 방해할 수 있는데, 그 이유는 하나의 예측 유닛이 그의 연관된 모션 추정이 완료될 때까지 인접한 PU로부터 모션 파라미터들을 도출할 수 없기 때문이다. 코딩 효율과 처리 레이턴시(processing latency) 사이의 절충을 완화하기 위해, HEVC는 모션 추정 구역(motion estimation region)(MER)을 정의하고, 그의 크기는 "log2_parallel_merge_level_minus2" 신택스 요소를 사용하여 픽처 파라미터 세트에서 시그널링된다. MER이 정의될 때, 동일한 영역에 속하는 머지 후보들은 이용불가능한 것으로 표시되고, 따라서 리스트 구성에서 고려되지 않는다.
2.1.2 AMVP
AMVP는 모션 파라미터들의 명시적 송신을 위해 사용되는, 이웃 PU들과의 모션 벡터의 시공간 상관을 이용한다. 각각의 참조 픽처 리스트에 대해, 모션 벡터 후보 리스트는 먼저 왼쪽, 위의 시간적으로 이웃 PU 위치들의 이용가능성을 검사하고, 중복 후보들을 제거하고 제로 벡터를 추가하여 후보 리스트를 일정한 길이가 되도록 만드는 것에 의해 구성된다. 이어서, 인코더는 후보 리스트로부터 최상의 예측자를 선택하고 선택된 후보를 나타내는 대응하는 인덱스를 송신할 수 있다. 머지 인덱스 시그널링과 유사하게, 최상의 모션 벡터 후보의 인덱스는 절단된 단항(truncated unary)을 사용하여 인코딩된다. 이 경우에 인코딩될 최대 값은 2이다(도 8 참조). 다음의 섹션들에서, 모션 벡터 예측 후보의 도출 프로세스에 관한 상세들이 제공된다.
2.1.2.1 AMVP 후보들의 도출
도 8은 모션 벡터 예측 후보에 대한 도출 프로세스를 요약한다.
모션 벡터 예측에서, 2가지 타입의 모션 벡터 후보가 고려된다: 공간 모션 벡터 후보 및 시간 모션 벡터 후보. 공간 모션 벡터 후보 도출을 위해, 도 2에 묘사된 바와 같이 5개의 상이한 위치에 위치되는 각각의 PU의 모션 벡터에 기초하여 2개의 모션 벡터 후보가 결국 도출된다.
시간 모션 벡터 후보 도출의 경우, 2개의 상이한 공동위치된 위치에 기초하여 도출되는 2개의 후보로부터 하나의 모션 벡터 후보가 선택된다. 시공간 후보들의 제1 리스트가 만들어진 후에, 리스트 내의 중복된 모션 벡터 후보들이 제거된다. 잠재적 후보들의 수가 2보다 큰 경우, 연관된 참조 픽처 리스트 내의 참조 픽처 인덱스가 1보다 큰 모션 벡터 후보들이 리스트로부터 제거된다. 시공간 모션 벡터 후보들의 수가 2보다 작은 경우, 추가적인 제로 모션 벡터 후보들이 리스트에 추가된다.
2.1.2.2 공간 모션 벡터 후보
공간 모션 벡터 후보들의 도출에서는, 도 2에 묘사된 바와 같은 위치들에 위치된 PU들로부터 도출되는 5개의 잠재적 후보들 중에서 최대 2개의 후보가 고려되고, 해당 위치들은 모션 머지의 위치들과 동일하다. 현재 PU의 왼쪽에 대한 도출 순서는 A0, A1, 및 스케일링된 A0, 스케일링된 A1로서 정의된다. 현재 PU의 위쪽에 대한 도출 순서는 B0, B1, B2, 및 스케일링된 B0, 스케일링된 B1, 스케일링된 B2로서 정의된다. 따라서, 각각의 측면에 대해, 모션 벡터 후보로서 사용될 수 있는 4개의 경우가 있으며, 2개의 경우가 공간 스케일링을 사용할 필요가 없고, 2개의 경우가 공간 스케일링이 사용되는 것이다. 이 4개의 상이한 경우는 다음과 같이 요약된다.
공간 스케일링 없음
(1) 동일한 참조 픽처 리스트, 및 동일한 참조 픽처 인덱스(동일한 POC)
(2) 상이한 참조 픽처 리스트이지만, 동일한 참조 픽처(동일한 POC)
공간 스케일링
(3) 동일한 참조 픽처 리스트이지만, 상이한 참조 픽처(상이한 POC)
(4) 상이한 참조 픽처 리스트, 및 상이한 참조 픽처(상이한 POC)
비-공간-스케일링(no-spatial-scaling) 경우들이 먼저 검사되고, 이어서 공간 스케일링이 검사된다. 참조 픽처 리스트에 관계없이 이웃 PU의 참조 픽처와 현재 PU의 참조 픽처 사이에 POC가 상이할 때 공간 스케일링이 고려된다. 좌측 후보들의 모든 PU들이 이용가능하지 않거나 인트라 코딩되는 경우, 좌측 및 위의 MV 후보들의 병렬 도출을 돕기 위해 위의 모션 벡터에 대한 스케일링이 허용된다. 그렇지 않으면, 위의 모션 벡터에 대해 공간 스케일링이 허용되지 않는다.
공간 스케일링 프로세스에서는, 이웃 PU의 모션 벡터는 도 9에 묘사된 바와 같이 시간 스케일링에 대한 것과 유사한 방식으로 스케일링된다. 주요 차이점은 참조 픽처 리스트 및 현재 PU의 인덱스가 입력으로서 주어진다는 것이다; 실제 스케일링 프로세스는 시간 스케일링의 것과 동일하다.
2.1.2.3 시간 모션 벡터 후보들
참조 픽처 인덱스 도출 이외에, 시간 머지 후보들의 도출을 위한 모든 프로세스들은 공간 모션 벡터 후보들의 도출에 대한 것과 동일하다(도 6 참조). 참조 픽처 인덱스는 디코더에 시그널링된다.
2.2 새로운 인터 예측 방법들
2.2.1 서브-CU 기반 모션 벡터 예측
QTBT를 갖는 JEM에서, 각각의 CU는 각각의 예측 방향에 대해 최대 하나의 모션 파라미터 세트를 가질 수 있다. 큰 CU를 서브-CU들로 분할하고 큰 CU의 모든 서브-CU들에 대한 모션 정보를 도출하는 것에 의해 인코더에서 2개의 서브-CU 레벨 모션 벡터 예측 방법이 고려된다. ATMVP(Alternative temporal motion vector prediction) 방법은 각각의 CU가 병치된 참조 픽처에서 현재 CU보다 작은 다수의 블록으로부터 다수의 모션 정보 세트를 페치할 수 있게 한다. STMVP(spatial-temporal motion vector prediction) 방법에서, 서브CU들의 모션 벡터들은 시간 모션 벡터 예측자 및 공간 이웃 모션 벡터를 사용함으로써 재귀적으로 도출된다.
서브-CU 모션 예측을 위한 더 정확한 모션 필드를 보존하기 위해, 참조 프레임들에 대한 모션 압축은 현재 디스에이블된다.
2.2.1.1 대안적인 시간 모션 벡터 예측
대안적인 시간 모션 벡터 예측(ATMVP) 방법에서는, 모션 벡터들 시간 모션 벡터 예측(TMVP)은 현재 CU보다 작은 블록들로부터 다수의 모션 정보 세트(모션 벡터들 및 참조 인덱스들을 포함함)를 페치하는 것에 의해 수정된다. 도 10에 도시한 바와 같이, 서브-CU는 정사각형 NxN 블록들(디폴트로 N은 4로 설정됨)이다.
ATMVP는 CU 내의 서브-CU들의 모션 벡터들을 2 단계로 예측한다. 제1 단계는 소위 시간 벡터로 참조 픽처 내의 대응하는 블록을 식별하는 것이다. 참조 픽처는 모션 소스 픽처라고 불린다. 제2 단계는, 도 10에 도시된 바와 같이, 현재 CU를 서브-CU들로 분할하고, 각각의 서브-CU에 대응하는 블록으로부터 각각의 서브-CU의 모션 벡터들 뿐만 아니라 참조 인덱스들을 획득하는 것이다.
제1 단계에서, 참조 픽처 및 대응하는 블록은 현재 CU의 공간 이웃 블록들의 모션 정보에 의해 결정된다. 이웃 블록들의 반복 스캐닝 프로세스를 피하기 위해, 현재 CU의 머지 후보 리스트 내의 제1 머지 후보가 사용된다. 제1 이용가능한 모션 벡터뿐만 아니라 그의 연관된 참조 인덱스는 모션 소스 픽처에 대한 시간 벡터 및 인덱스로 설정된다. 이러한 방식으로, ATMVP에서, 대응하는 블록은 TMVP와 비교하여 더 정확하게 식별될 수 있고, 여기서 대응하는 블록(때때로 병치된 블록이라고 불림)은 항상 현재 CU에 대해 오른쪽 하단 또는 중심 위치에 있다.
제2 단계에서, 현재 CU의 좌표에 시간 벡터를 추가하는 것에 의해, 모션 소스 픽처에서의 시간 벡터에 의해 서브-CU의 대응하는 블록이 식별된다. 각각의 서브-CU에 대해, 그의 대응하는 블록(중심 샘플을 커버하는 가장 작은 모션 그리드)의 모션 정보는 서브-CU에 대한 모션 정보를 도출하기 위해 사용된다. 대응하는 NxN 블록의 모션 정보가 식별된 후에, 그 모션 정보는, HEVC의 TMVP와 동일한 방식으로, 현재 서브-CU의 모션 벡터들 및 참조 인덱스들로 변환되고, 여기서, 모션 스케일링 및 다른 절차들이 적용된다. 예를 들어, 디코더는 저지연 조건(즉, 현재 픽처의 모든 참조 픽처들의 POC들이 현재 픽처의 POC보다 작음)이 충족되는지를 검사하고, 가능하게는 모션 벡터 MVx(참조 픽처 리스트 X에 대응하는 모션 벡터)를 사용하여 각각의 서브CU에 대한 모션 벡터 MVy(X는 0 또는 1과 같고 Y는 1-X와 같음)를 예측한다.
2.2.2 쌍별 평균 후보들
쌍별 평균 후보들은 현재의 머지 후보 리스트 내의 후보들의 미리 정의된 쌍들을 평균화함으로써 생성되고, 미리 정의된 쌍들은 {(0, 1), (0, 2), (1, 2), (0, 3), (1, 3), (2, 3)}으로서 정의되고, 여기서 숫자들은 머지 후보 리스트에 대한 머지 인덱스들을 나타낸다. 평균화된 모션 벡터들은 각각의 참조 리스트에 대해 개별적으로 계산된다. 둘 다의 모션 벡터들이 하나의 리스트에서 이용가능한 겨우, 이러한 2개의 모션 벡터는 그들이 상이한 참조 픽처들을 포인팅할 때에도 평균화되고; 하나의 모션 벡터만이 이용가능한 경우, 1개만 직접 사용하고; 모션 벡터가 이용가능하지 않은 경우, 이 리스트를 유효하지 않게 유지한다. 쌍별 평균 후보들은 HEVC 표준에서 조합된 후보들을 대체한다.
쌍별 평균 후보의 복잡성 분석은 표 1에 요약된다. 평균화를 위한 추가적인 계산들의 최악의 경우(표 1의 마지막 열), 각각의 쌍(L0 및 L1에서 MVx 및 MVy)에 대해 4개의 가산 및 4개의 시프트가 필요하고, 각각의 쌍에 대해 4개의 참조 인덱스 비교가 필요하다(L0 및 L1에서 refIdx0은 유효하고 refIdx1은 유효하다). 총 24개의 가산, 24개의 시프트, 및 24개의 참조 인덱스 비교로 이어지는 6개의 쌍이 있다. HEVC 표준에서의 조합된 후보들은 각각의 쌍에 대해 2개의 참조 인덱스 비교를 사용하고(refIdx0은 L0에서 유효하고 refIdx1은 L1에서 유효함), 12개의 쌍이 존재하여, 총 24개의 참조 인덱스 비교를 초래한다.
표 1: 쌍별 평균 후보들에 대한 작업 분석
2.2.3 로컬 조명 보상
LIC(Local Illumination Compensation)는 스케일링 인자 a 및 오프셋 b를 사용하여 조명 변화들에 대한 선형 모델에 기초한다. 그리고, 이것은 각각의 인터 모드 코딩된 코딩 유닛(CU)에 대해 적응적으로 인에이블되거나 디스에이블된다.
LIC가 CU에 적용될 때, 현재 CU의 이웃 샘플들 및 그들의 대응하는 참조 샘플들을 사용하여 파라미터들 a 및 b를 도출하기 위해 최소 제곱 오차 방법이 사용된다. 더 구체적으로, 도 11에 예시된 바와 같이, CU의 서브샘플링된(2:1 서브샘플링)이웃 샘플들 및 참조 픽처 내의 대응하는 샘플들(현재 CU 또는 서브-CU의 모션 정보에 의해 식별됨)이 사용된다. IC 파라미터들은 각각의 예측 방향에 대해 개별적으로 도출되고 적용된다.
CU가 머지 모드로 코딩될 때, LIC 플래그는 머지 모드에서의 모션 정보 복사와 유사한 방식으로 이웃 블록들로부터 복사된다; 그렇지 않으면, LIC가 적용되는지 여부를 표시하기 위해 CU에 대해 LIC 플래그가 시그널링된다.
픽처에 대해 LIC가 인에이블될 때, CU에 대해 LIC가 적용되는지 여부를 결정하기 위해 추가적인 CU 레벨 RD 검사가 필요하다. LIC가 CU에 대해 인에이블될 때, 정수 펠(pel) 모션 탐색 및 분수 펠 모션 탐색을 위해 각각, SAD 및 SATD 대신에, 평균-제거된 절대 차이의 합(mean-removed sum of absolute difference, MR-SAD) 및 평균-제거된 절대 하다마르-변환된 차이의 합(mean-removed sum of absolute Hadamard-transformed difference, MR-SATD)이 사용된다.
인코딩 복잡성을 감소시키기 위해, 다음의 인코딩 스킴이 JEM에 적용된다.
LIC는 현재 픽처와 그 참조 픽처들 사이에 명백한 조명 변화가 없을 때 전체 픽처에 대해 디스에이블된다. 이러한 상황을 식별하기 위해, 현재 픽처의 히스토그램들 및 현재 픽처의 모든 참조 픽처가 인코더에서 계산된다. 현재 픽처와 현재 픽처의 모든 참조 픽처 사이의 히스토그램 차이가 주어진 임계값보다 작은 경우, LIC는 현재 픽처에 대해 디스에이블된다; 그렇지 않으면, 현재 픽처에 대해 LIC가 인에이블된다.
2.2.4 조합된 인트라 및 인터 예측
일부 실시예들에서, 다중 가설 예측이 제안되며, 조합된 인트라 및 인터 예측은 다수의 가설을 생성하는 하나의 방식이다.
다중 가설 예측이 인트라 모드를 개선하기 위해 적용될 때, 다중 가설 예측은 하나의 인트라 예측과 하나의 머지 인덱싱된 예측을 조합한다. 머지 CU에서, 하나의 플래그는 플래그가 참일 때 인트라 후보 리스트로부터 인트라 모드를 선택하기 위해 머지 모드에 대해 시그널링된다. 루마 성분의 경우, 인트라 후보 리스트는 DC, 평면, 수평, 및 수직 모드들을 포함하는 4개의 인트라 예측 모드로부터 도출되고, 인트라 후보 리스트의 크기는 블록 형상에 따라 3 또는 4일 수 있다. CU 폭이 CU 높이의 2배보다 클 때, 수평 모드는 인트라 모드 리스트를 배제하고, CU 높이가 CU 폭의 2배보다 클 때, 수직 모드는 인트라 모드 리스트로부터 제거된다. 인트라 모드 인덱스에 의해 선택되는 하나의 인트라 예측 모드와 머지 인덱스에 의해 선택되는 하나의 머지 인덱스된 예측이 가중 평균(weighted average)을 사용하여 조합된다. 크로마 성분의 경우, DM은 항상 추가의 시그널링 없이 적용된다. 예측들을 조합하기 위한 가중치들은 다음과 같이 설명된다. DC 또는 평면 모드가 선택되거나, CB 폭 또는 높이가 4보다 작을 때, 동일한 가중치들이 적용된다. 4 이상의 CB 폭 및 높이를 갖는 그러한 CB들의 경우, 수평/수직 모드가 선택될 때, 하나의 CB는 먼저 4개의 동일-면적 영역(equal-area region)으로 수직으로/수평으로 분할된다. (w_intrai, w_interi)로 표시되는 각각의 가중치 세트- 여기서 i는 1 내지 4이고, (w_intra1, w_inter1) = (6, 2), (w_intra2, w_inter2) = (5, 3), (w_intra3, w_inter3) = (3, 5), and (w_intra4, w_inter4) = (2, 6)임 -는 대응하는 영역에 적용될 것이다. (w_intra1, w_inter1)은 참조 샘플들에 가장 가까운 영역에 대한 것이고, (w_intra4, w_inter4)는 참조 샘플들로부터 가장 멀리 떨어진 영역에 대한 것이다. 이어서, 2개의 가중 예측(weighted prediction)을 합산하고 3 비트 우측-시프팅(right-shifting 3 bits)함으로써 조합된 예측이 계산될 수 있다. 또한, 예측자들의 인트라 가설에 대한 인트라 예측 모드는 다음의 이웃 CU들의 참조를 위해 저장될 수 있다.
일반화된 양방향 예측
종래의 양방향 예측에서, L0 및 L1로부터의 예측자들은 동일한 가중치 0.5를 사용하여 최종 예측자를 생성하기 위해 평균화된다. 예측자 생성 공식은 수학식 (3)에서와 같이 도시된다.
PTraditionalBiPred = (PL0 + PL1 + RoundingOffset) >> shiftNum, (1)
수학식 (3)에서, PTraditionalBiPred는 종래의 양방향 예측에 대한 최종 예측자이고, PL0 및 PL1은 각각 L0 및 L1로부터의 예측자들이며, RoundingOffset 및 shiftNum은 최종 예측자를 정규화하기 위해 사용된다.
L0 및 L1로부터의 예측자들에 상이한 가중치들을 적용하는 것을 허용하기 위해 일반화된 양방향 예측(GBI)이 제안된다. 예측자 생성은 수학식 (4)에 도시된다.
PGBi = ( (1-w1)* PL0 + w1 * PL1 + RoundingOffsetGBi) >> shiftNumGBi, (2)
수학식 (4)에서, PGBi는 GBi의 최종 예측자이다. (1-w1) 및 w1은 각각 L0 및 L1의 예측자들에 적용되는 선택된 GBI 가중치들이다. RoundingOffsetGBi 및 shiftNumGBi는 GBi에서 최종 예측자를 정규화하기 위해 사용된다.
지원되는 w1 가중치 테이블은 {-1/4, 3/8, 1/2, 5/8, 5/4}이다. 하나의 동일 가중치 세트 및 4개의 비동일 가중치 세트가 지원된다. 동일-가중치의 경우, 최종 예측자를 생성하는 프로세스는 종래의 양방향 예측 모드에서의 프로세스와 정확히 동일하다. 랜덤 액세스(RA) 조건에서의 참인 양방향 예측의 경우, 후보 가중치 세트의 수는 3으로 감소된다.
AMVP(advanced motion vector prediction) 모드에 대해, GBI에서의 가중치 선택은 이 CU가 양방향 예측에 의해 코딩되는 경우 CU-레벨에서 명시적으로 시그널링된다. 머지 모드의 경우, 가중치 선택은 머지 후보로부터 상속된다. 이 제안에서, GBI는 템플릿의 가중 평균뿐만 아니라 BMS-1.0에 대한 최종 예측자를 생성하기 위해 DMVR을 지원한다.
2.2.6 극한 모션 벡터 표현
일부 실시예들에서, 극한 모션 벡터 표현(ultimate motion vector expression)(UMVE)이 제시된다. UMVE는 제안된 모션 벡터 표현 방법에 의해 스킵 또는 머지 모드들에 사용된다.
UMVE는 VVC에서 사용하는 것과 동일한 머지 후보를 재사용한다. 머지 후보들 중에서, 후보가 선택될 수 있고, 제안된 모션 벡터 표현 방법에 의해 추가로 확장된다.
UMVE는 단순화된 시그널링을 갖는 새로운 모션 벡터 표현을 제공한다. 표현 방법은 시작 포인트, 모션 크기, 및 모션 방향을 포함한다.
이 제안된 기술은 머지 후보 리스트를 그대로 사용한다. 그러나, 디폴트 머지 타입(MRG_TYPE_DEFAULT_N)인 후보들만이 UMVE의 확장을 위해 고려된다.
베이스 후보 인덱스는 시작 포인트를 정의한다. 베이스 후보 인덱스는 다음과 같이 리스트 내의 후보들 중 최상의 후보를 표시한다.
표 1. 베이스 후보 IDX
염기 후보의 수가 1인 경우, 염기 후보 IDX는 시그널링되지 않는다.
거리 인덱스는 모션 크기 정보이다. 거리 인덱스는 시작 포인트 정보로부터의 미리 정의된 거리를 표시한다. 미리 정의된 거리는 다음과 같다:
표 2. 거리 IDX
방향 인덱스는 시작 포인트에 대한 MVD의 방향을 나타낸다. 방향 인덱스는 아래에 도시된 바와 같이 4개의 방향을 나타낼 수 있다.
표 3. 방향 IDX
UMVE 플래그는 스킵 플래그 및 머지 플래그를 전송한 직후에 시그널링된다. 스킵 및 머지 플래그가 참인 경우, UMVE 플래그가 파싱된다. UMVE 플래그가 1과 동일한 경우, UMVE 신택스들이 파싱된다. 그러나, 1이 아닌 경우, AFFINE 플래그가 파싱된다. AFFINE 플래그가 1과 동일한 경우, 그것은 AFFINE 모드이지만, 1이 아닌 경우, VTM의 스킵/머지 모드에 대해 스킵/머지 인덱스가 파싱된다.
UMVE 후보들로 인한 추가적인 라인 버퍼는 필요하지 않다. 소프트웨어의 스킵/머지 후보는 베이스 후보로서 직접 사용된다. 입력 UMVE 인덱스를 사용하여, MV의 보충이 모션 보상 직전에 결정된다. 이를 위해 긴 라인 버퍼를 유지할 필요가 없다.
2.2.7 이력 기반 모션 벡터 예측
이전 발명 P1805028401H에서, 블록의 모션 정보를 예측하기 위해 저장된 적어도 하나의 모션 후보를 갖는 하나 이상의 룩업 테이블.
이력-기반 MVP(history-based MVP)(HMVP) 방법이 제안되고, 여기서, HMVP 후보는 이전에 코딩된 블록의 모션 정보로서 정의된다. 인코딩/디코딩 프로세스 동안 다수의 HMVP 후보들이 있는 테이블이 유지된다. 새로운 슬라이스를 만날 때 이러한 테이블이 비워진다. 인터-코딩된 블록이 존재할 때마다, 연관된 모션 정보가 새로운 HMVP 후보로서 테이블의 마지막 엔트리에 추가된다. 전체 코딩 흐름은 도 13에 도시된다.
일 예에서, 테이블 크기는 L(예를 들어, L =16 또는 6 또는 44)로 설정되고, 이는 최대 L개의 HMVP 후보가 테이블에 추가될 수 있다는 것을 표시한다.
일 실시예에서, 이전에 코딩된 블록들로부터 L개보다 많은 HMVP 후보가 존재하는 경우, FIFO(First-In-First-Out) 규칙이 적용되어 테이블이 항상 최신의 이전에 코딩된 L개의 모션 후보를 포함한다. 도 14는, HMVP 후보를 제거하고 제안된 방법에서 사용되는 테이블에 새로운 HMVP 후보를 추가하기 위해, FIFO 규칙이 적용되는 예를 도시한다.
다른 실시예에서, (현재 블록이 인터-코딩되고 비-아핀 모드인 것과 같이) 새로운 모션 후보를 추가할 때마다, 중복 검사 프로세스가 먼저 적용되어 LUT들에서 동일한 또는 유사한 모션 후보들이 있는지를 식별한다.
2.2.8 대칭 모션 벡터 차이
일부 실시예들에서, 대칭 모션 벡터 차이(SMVD)는 MVD를 더 효율적으로 인코딩하도록 제안된다.
먼저, 슬라이스 레벨에서, 변수들 BiDirPredFlag, RefIdxSymL0 및 RefIdxSymL1은 다음과 같이 도출된다:
현재 픽처에 가장 가까운 참조 픽처 리스트 0 내의 순방향 참조 픽처가 탐색된다. 발견되는 경우, RefIdxSymL0은 순방향 픽처의 참조 인덱스와 동일하게 설정된다.
현재 픽처에 가장 가까운 참조 픽처 리스트 1의 역방향 참조 픽처가 탐색된다. 발견되는 경우, RefIdxSymL1은 역방향 픽처의 참조 인덱스와 동일하게 설정된다.
순방향 및 역방향 픽처 둘 다가 발견되는 경우, BiDirPredFlag는 1로 설정된다.
그렇지 않으면, 다음이 적용된다:
현재의 것에 가장 가까운 참조 픽처 리스트 0 내의 역방향 참조 픽처가 탐색된다. 발견되는 경우, RefIdxSymL0은 역방향 픽처의 참조 인덱스와 동일하게 설정된다.
현재의 것에 가장 가까운 참조 픽처 리스트 1의 순방향 참조 픽처가 탐색된다. 발견되는 경우, RefIdxSymL1은 순방향 픽처의 참조 인덱스와 동일하게 설정된다.
역방향 및 순방향 픽처 둘 다가 발견되는 경우, BiDirPredFlag는 1과 동일하게 설정된다. 그렇지 않으면, BiDirPredFlag는 0과 동일하게 설정된다.
둘째로, CU 레벨에서, 대칭 모드가 사용되는지 여부를 표시하는 대칭 모드 플래그는 CU에 대한 예측 방향이 양방향 예측이고 BiDirPredFlag가 1과 동일한 경우 명시적으로 시그널링된다.
플래그가 참일 때, mvp_l0_flag, mvp_l1_flag 및 MVD0만이 명시적으로 시그널링된다. 참조 인덱스들은 리스트 0 및 리스트 1에 대해 각각 RefIdxSymL0, RefIdxSymL1과 동일하게 설정된다. MVD1은 단지 -MVD0과 동일하게 설정된다. 최종 모션 벡터들은 아래의 공식에 도시된다.
코딩 유닛 신택스에서의 수정들이 표 2에 도시된다.
표 2: 코딩 유닛 신택스에서의 수정들
2.2.9 VTM4에서의 CIIP
VTM4에서, CU가 머지 모드에서 코딩될 때, 그리고 CU가 적어도 64 루마 샘플들을 포함하는 경우(즉, CU 폭 곱하기 CU 높이가 64 이상인 경우), 조합된 인터/인트라 예측(CIIP) 모드가 현재 CU에 적용되는지를 표시하기 위해 추가 플래그가 시그널링된다.
CIIP 예측을 형성하기 위해, 인트라 예측 모드가 먼저 2개의 추가 신택스 요소로부터 도출된다. 최대 4개의 가능한 인트라 예측 모드가 사용될 수 있다: DC, 평면, 수평, 또는 수직. 그 후, 인터 예측 및 인트라 예측 신호들은 정규 인트라 및 인터 디코딩 프로세스들을 사용하여 도출된다. 마지막으로, 인터 및 인트라 예측 신호들의 가중 평균을 수행하여 CIIP 예측을 획득한다.
1. 인트라 예측 모드 도출
DC, PLANAR(평면), HORIZONTAL(수직), 및 VERTICAL(수평) 모드들을 포함하는 최대 4개의 인트라 예측 모드가 CIIP 모드에서 루마 성분을 예측하기 위해 사용될 수 있다. CU 형상이 매우 넓은 경우(즉, 폭이 높이의 2배보다 큰 경우), HORIZONTAL 모드는 허용되지 않는다. CU 형상이 매우 좁은 경우(즉, 높이가 폭의 2배보다 큰 경우), VERTICAL 모드는 허용되지 않는다. 이들 경우에, 3개의 인트라 예측 모드만이 허용된다.
CIIP 모드는 인트라 예측을 위해 3개의 MPM(most probable mode)을 사용한다. CIIP MPM 후보 리스트는 다음과 같이 형성된다:
- 좌측 및 상단 이웃 블록들은 각각 A 및 B로서 설정된다.
- 각각 intraModeA 및 intraModeB로 표시되는 블록 A 및 블록 B의 인트라 예측 모드들은 다음과 같이 도출된다:
o X는 A 또는 B로 한다.
o 1) 블록 X가 이용가능하지 않은 경우; 또는 2) 블록 X가 CIIP 모드 또는 인트라 모드를 사용하여 예측되지 않는 경우; 3) 블록 B가 현재 CTU의 외부에 있는 경우 intraModeX가 DC로 설정된다.
o 그렇지 않으면, intraModeX는 1) 블록 X의 인트라 예측 모드가 DC 또는 PLANAR인 경우 DC 또는 PLANAR로 설정된다; 또는 2) 블록 X의 인트라 예측 모드가 "수직형(vertical-like)" 각도 모드(34보다 큼)인 경우 VERTICAL로 설정되고, 또는 3) 블록 X의 인트라 예측 모드가 "수평형(horizontal-like)" 각도 모드(34보다 작거나 같음)인 경우 HORIZONTAL로 설정된다.
- intraModeA와 intraModeB가 동일한 경우:
o intraModeA가 PLANAR 또는 DC인 경우, 3개의 MPM은 그 순서로 {PLANAR, DC, VERTICAL}로 설정된다.
o 그렇지 않으면, 3개의 MPM은 그 순서로 {intraModeA, PLANAR, DC}로 설정된다.
- 그렇지 않으면 (intraModeA와 intraModeB가 상이함):
o 처음 2개의 MPM은 그 순서로 {intraModeA, intraModeB}로 설정된다.
o PLANAR, DC 및 VERTICAL의 고유성이 처음 2개의 MPM 후보 모드에 대해 그 순서로 검사된다; 고유 모드가 발견되자마자, 그것은 제3 MPM으로서 추가된다.
CU 형상이 위에 정의된 바와 같이 매우 넓거나 매우 좁은 경우, MPM 플래그는 시그널링 없이 1인 것으로 추론된다. 그렇지 않으면, MPM 플래그는 CIIP 인트라 예측 모드가 CIIP MPM 후보 모드들 중 하나인지를 표시하도록 시그널링된다.
MPM 플래그가 1인 경우, MPM 인덱스는 MPM 후보 모드들 중 어느 것이 CIIP 인트라 예측에 사용되는지를 표시하기 위해 추가로 시그널링된다. 그렇지 않으면, MPM 플래그가 0인 경우, 인트라 예측 모드는 MPM 후보 리스트에서 "누락" 모드로 설정된다. 예를 들어, PLANAR 모드가 MPM 후보 리스트에 있지 않는 경우, PLANAR은 누락 모드이고, 인트라 예측 모드는 PLANAR로 설정된다. CIIP에서는 4개의 가능한 인트라 예측 모드가 허용되고, MPM 후보 리스트는 3개의 인트라 예측 모드만을 포함하기 때문에, 4개의 가능한 모드 중 하나는 누락 모드이어야 한다.
크로마 성분들에 대해, DM 모드는 추가적인 시그널링 없이 항상 적용된다; 즉, 크로마는 루마와 동일한 예측 모드를 사용한다.
CIIP-코딩된 CU의 인트라 예측 모드는 장래의 이웃 CU들의 인트라 모드 코딩에 저장되고 사용될 것이다.
2.2.9.2 인터 및 인트라 예측 신호들의 조합
CIIP 모드에서의 인터 예측 신호 Pinter는 정규 머지 모드에 적용되는 동일한 인터 예측 프로세스를 사용하여 도출되고; 인트라 예측 신호 Pintra는 정규 인트라 예측 프로세스에 이어서 CIIP 인트라 예측 모드를 사용하여 도출된다. 그 후, 인트라 및 인터 예측 신호들은 가중 평균을 사용하여 조합되며, 여기서 가중 값은 인트라 예측 모드에 의존하고, 샘플은 다음과 같이 코딩 블록에 위치한다:
- 인트라 예측 모드가 DC 또는 평면 모드인 경우, 또는 블록 폭 또는 높이가 4보다 작은 경우, 동일한 가중치들이 인트라 예측 및 인터 예측 신호들에 적용된다.
- 그렇지 않으면, 가중치들은 인트라 예측 모드(이 경우에는 수평 모드 또는 수직 모드) 및 블록 내의 샘플 위치에 기초하여 결정된다. 예를 들어, 수평 예측 모드를 취한다(수직 모드에 대한 가중치들은 유사하게 도출되지만 직교 방향이다). W를 블록의 폭으로 나타내고 H를 블록의 높이로 나타낸다. 코딩 블록은 먼저 4개의 동일 영역 부분으로 분할되고, 각각의 치수는 (W/4)xH이다. 인트라 예측 참조 샘플들에 가장 가까운 부분으로부터 시작하여 인트라 예측 참조 샘플들로부터 가장 먼 부분에서 끝나면, 4개의 영역 각각에 대한 가중치 wt는 각각 6, 5, 3, 및 2로 설정된다. 최종 CIIP 예측 신호는 다음을 사용하여 도출된다:
ii. VTM5 내의 CIIP
VTM5에서, CU가 머지 모드에서 코딩될 때, CU가 적어도 64 루마 샘플들을 포함하는 경우(즉, CU 폭 곱하기 CU 높이가 64 이상인 경우), 그리고 CU 폭 및 CU 높이 둘 다가 128 루마 샘플들보다 작은 경우, 조합된 인터/인트라 예측(CIIP) 모드가 현재 CU에 적용되는지를 표시하기 위해 추가 플래그가 시그널링된다. 그 명칭이 나타내는 바와 같이, CIIP 예측은 인터 예측 신호와 인트라 예측 신호를 조합한다. CIIP 모드에서의 인터 예측 신호 Pinter는 정규 머지 모드에 적용되는 동일한 인터 예측 프로세스를 사용하여 도출되고; 인트라 예측 신호 Pintra는 평면 모드를 이용한 정규 인트라 예측 프로세스에 따라 도출된다. 그 후, 인트라 및 인터 예측 신호들은 가중 평균을 사용하여 조합되며, 가중치는 다음과 같이 상단 및 좌측 이웃 블록들(도 16에 도시됨)의 코딩 모드들에 따라 계산된다:
- 상단 이웃이 이용가능하고 인트라 코딩되는 경우, isIntraTop를 1로 설정하고, 그렇지 않으면 isIntraTop를 0으로 설정한다;
- 좌측 이웃이 이용가능하고 인트라 코딩되는 경우, isIntraLeft를 1로 설정하고, 그렇지 않으면 isIntraLeft를 0으로 설정한다;
- (isIntraLeft+isIntraTop)이 2와 동일한 경우, wt는 3으로 설정된다;
- 그렇지 않으면, (isIntraLeft+isIntraTop)이 1과 동일한 경우, wt는 2로 설정된다;
- 그렇지 않으면, wt를 1로 설정한다.
CIIP 예측은 다음과 같이 형성된다:
도 16은 CIIP 가중치 도출에 사용된 상단 및 좌측 이웃 블록들을 도시한다.
2.3. 인트라 모드 도출 프로세스
현재의 VTM-4.0에서, 하나의 인트라-코딩된 블록을 코딩할 때, 하나의 MPM(most-probable-mode) 플래그가 먼저 시그널링된다. MPM 플래그가 참인 경우, MPM 리스트에 대한 인덱스가 추가로 시그널링된다. 그렇지 않으면, 비-MPM 모드들의 인덱스가 시그널링된다.
최신 VVC 사양(JVET-M1001_v7)에서의 관련 신택스 요소들, 대칭 및 디코딩 프로세스는 다음과 같이 제공된다:
관련 신택스
코딩 유닛 신택스
시맨틱스
신택스 요소들 intra_luma_mpm_flag[ x0 ][ y0 ], intra_luma_mpm_idx[ x0 ][ y0 ] 및 intra_luma_mpm_remainder[ x0 ][ y0 ]는 루마 샘플들에 대한 인트라 예측 모드를 특정한다. 어레이 인덱스들 x0, y0은 픽처의 상단 좌측 루마 샘플에 대한 고려된 코딩 블록의 상단 좌측 루마 샘플의 위치(x0, y0)를 지정한다. intra_luma_mpm_flag[ x0 ][ y0 ]이 1과 동일할 때, 인트라 예측 모드는 조항 8.4.2에 따라 이웃 인트라 예측된 코딩 유닛으로부터 추론된다.
intra_luma_mpm_flag[ x0 ][ y0 ]이 존재하지 않을 때, 그것은 1과 동일한 것으로 추론된다.
디코딩 프로세스
루마 인트라 예측 모드에 대한 도출 프로세스
프로세스에 대한 입력은 다음과 같다:
현재 픽처의 상단 좌측 루마 샘플에 대한 현재 루마 코딩 블록의 상단 좌측 샘플을 특정하는 루마 위치( xCb , yCb ),
루마 샘플들에서 현재 코딩 블록의 폭을 특정하는 변수 cbWidth ,
루마 샘플들에서 현재 코딩 블록의 높이를 특정하는 변수 cbHeight .
이 프로세스에서, 루마 인트라 예측 모드 IntraPredModeY[ xCb ] [  yCb  ]가 도출된다.
표 8-1은 인트라 예측 모드 IntraPredModeY[ xCb ] [  yCb  ]에 대한 값 및 연관된 명칭들을 특정한다.
표 8-1 - 인트라 예측 모드의 사양 및 연관된 명칭들
노트 - : 인트라 예측 모드들 INTRA _ LT _ CCLM , INTRA _L_ CCLM INTRA _T_ CCLM은 크로마 성분들에만 적용가능하다 .
IntraPredModeY[ xCb ] [  yCb  ]는 다음의 순서화된 단계들에 의해 도출된다:
1. 이웃 위치들 (  xNbA ,  yNbA  ) 및 (  xNbB ,  yNbB  )은 각각 (  xCb  - 1, yCb + cbHeight - 1 ) 및 (  xCb  +  cbWidth  - 1,  yCb  - 1 )과 동일하게 설정된다.
2. X가 A 또는 B로 대체되는 경우, 변수들 candIntraPredModeX는 다음과 같이 도출된다:
- 조항 6.4.X [Ed. (BB): 이웃 블록들 이용가능성 검사 프로세스 tbd]가 ( xCb , yCb )와 동일하게 설정된 위치( xCurr , yCurr ) 및 ( xNbX , yNbX )와 동일하게 설정된 이웃 위치( xNbY , yNbY )를 입력들로 하여 호출되고, 출력은 availableX에 할당된다.
- 후보 인트라 예측 모드 candIntraPredModeX는 다음과 같이 도출된다:
- 하기 조건들 중 하나 이상이 참인 경우 , candIntraPredModeX는 INTRA_PLANAR와 동일하게 설정된다.
- 변수 availableX는 FALSE와 동일하다.
- CuPredMode[ xNbX ][ yNbX ]는 MODE_ INTRA와 동일하지 않고 ciip_flag[ xNbX ][ yNbX ]는 1과 동일하지 않다.
- pcm _flag[  xNbX  ][  yNbX ]는 1과 동일하다.
- X는 B와 동일하고, yCb  - 1은 ( (  yCb >> CtbLog2SizeY  ) << CtbLog2SizeY )보다 작다.
- 그렇지 않으면, candIntraPredModeX는 IntraPredModeY[ xNbX ] [ yNbX ]와 동일하게 설정된다.
3. 변수들 ispDefaultMode1 ispDefaultMode2는 다음과 같이 정의된다:
- IntraSubPartitionsSplitType가 ISP _ HOR _SPLIT와 동일한 경우, ispDefaultMode1은 INTRA _ ANGULAR18과 동일하게 설정되고 ispDefaultMode2는 INTRA_ANGULAR5와 동일하게 설정된다.
- 그렇지 않으면, ispDefaultMode1은 INTRA _ ANGULAR50과 동일하게 설정되고, ispDefaultMode2는 INTRA _ ANGULAR63과 동일하게 설정된다.
4. x = 0..5인 candModeList[ x ]는 다음과 같이 도출된다:
- candIntraPredModeB가 candIntraPredModeA와 동일하고 candIntraPredModeA가 INTRA _DC보다 크면, candModeList [ x ]- 여기서 x = 0..5임 -는 다음과 같이 도출된다:
- IntraLumaRefLineIdx[ xCb ] [  yCb  ]가 0과 동일하고 IntraSubPartitionsSplitType가 ISP _NO_SPLIT와 동일한 경우, 다음이 적용된다:
candModeList [ 0 ] = candIntraPredModeA (8-9)
candModeList [ 1 ] = INTRA _PLANAR (8-10)
candModeList [ 2 ] = INTRA _ DC ( 8-11)
candModeList [ 3 ] = 2 + ( (  candIntraPredModeA  + 61 )  % 64  ) (8-12)
candModeList [ 4 ] = 2 + ( (  candIntraPredModeA  - 1 )  % 64  ) (8-13)
candModeList [ 5 ] = 2 + ( (  candIntraPredModeA  + 60 ) % 64  ) (8-14)
- 그렇지 않으면( IntraLumaRefLineIdx[ xCb ] [  yCb  ]가 0과 동일하지 않거나 IntraSubPartitionsSplitType가 ISP _NO_SPLIT와 동일하지 않으면), 다음이 적용된다:
candModeList [ 0 ] = candIntraPredModeA (8-15)
candModeList [ 1 ] = 2 + ( (  candIntraPredModeA  + 61 )  % 64  ) (8-16)
candModeList [ 2 ] = 2 + ( (  candIntraPredModeA  - 1 )  % 64  ) (8-17)
- 다음 조건들 중 하나가 참인 경우 ,
- IntraSubPartitionsSplitType는 ISP _ HOR _SPLIT와 동일하고, candIntraPredModeA는 INTRA _ ANGULAR34보다 작고,
- IntraSubPartitionsSplitType는 ISP _ VER _SPLIT와 동일하고 candIntraPredModeA는 INTRA _ ANGULAR34보다 크거나 같고,
- IntraLumaRefLineIdx[ xCb ] [  yCb  ]는 0과 동일하지 않고,
이하가 적용된다:
candModeList [ 3 ] = 2 + ( (  candIntraPredModeA  + 60 )  % 64  ) (8-18)
candModeList [ 4 ] = 2 + (  candIntraPredModeA   % 64  ) (8-19)
candModeList [ 5 ] = 2 + ( (  candIntraPredModeA  + 59 )  % 64  ) (8-20)
- 그렇지 않으면, 다음이 적용된다:
candModeList [ 3 ] = ispDefaultMode1 (8-21)
candModeList [ 4 ] = ispDefaultMode2 (8-22)
candModeList [ 5 ] = INTRA _PLANAR (8-23)
- 그렇지 않으면, candIntraPredModeB가 candIntraPredModeA와 동일하지 않고 candIntraPredModeA 또는 candIntraPredModeB가 INTRA _DC보다 큰 경우 , 다음이 적용된다:
- 변수들 minAB maxAB는 다음과 같이 도출된다:
minAB = Min(  candIntraPredModeA ,  candIntraPredModeB  ) (8-24)
maxAB = Max(  candIntraPredModeA ,  candIntraPredModeB  ) (8-25)
- candIntraPredModeA candIntraPredModeB 둘 다가 INTRA _DC보다 큰 경우 , x = 0..5인 candModeList[ x ]는 다음과 같이 도출된다:
candModeList [ 0 ] = candIntraPredModeA (8-26)
candModeList [ 1 ] = candIntraPredModeB (8-27)
- IntraLumaRefLineIdx[ xCb ] [  yCb  ]가 0과 동일하고 IntraSubPartitionsSplitType가 ISP _NO_SPLIT와 동일한 경우, 다음이 적용된다:
candModeList [ 2 ] = INTRA _PLANAR (8-28)
candModeList [ 3 ] = INTRA _ DC ( 8-29)
- maxAB  -  minAB가 2 내지 62(경계 포함)의 범위에 있는 경우, 이하가 적용된다:
candModeList [ 4 ] = 2 + ( (  maxAB  + 61 )  % 64  ) (8-30)
candModeList [ 5 ] = 2 + ( (  maxAB  - 1 )  % 64  ) (8-31)
- 그렇지 않으면, 다음이 적용된다:
candModeList [ 4 ] = 2 + ( (  maxAB  + 60 )  % 64  ) (8-32)
candModeList [ 5 ] = 2 + ( (  maxAB  )  % 64  ) (8-33)
- 그렇지 않으면( IntraLumaRefLineIdx[ xCb ] [  yCb  ]가 0과 동일하지 않거나 IntraSubPartitionsSplitType가 ISP _NO_SPLIT와 동일하지 않으면), 다음이 적용된다:
- IntraSubPartitionsSplitType가 ISP _NO_SPLIT와 동일하지 않고, abs( candIntraPredModeB - ispDefaultMode1 )이 abs (  candIntraPredModeA  - ispDefaultMode1 )보다 작을 때, 다음이 적용된다:
candModeList [ 0 ] = candIntraPredModeB (8-34)
candModeList [ 1 ] = candIntraPredModeA (8-35)
- maxAB  -  minAB가 1과 동일한 경우, 다음이 적용된다:
candModeList [ 2 ] = 2 + ( (  minAB  + 61 )  % 64  ) (8-36)
candModeList [ 3 ] = 2 + ( (  maxAB  - 1 )  % 64  ) (8-37)
candModeList [ 4 ] = 2 + ( (  minAB  + 60 )  % 64  ) (8-38)
candModeList [ 5 ] = 2 + (  maxAB   % 64  ) (8-39)
- 그렇지 않으면, maxAB  -  minAB가 2와 동일한 경우, 다음이 적용된다:
candModeList [ 2 ] = 2 + ( (  minAB  - 1 )  % 64  ) (8-40)
candModeList [ 3 ] = 2 + ( (  minAB  + 61 )  % 64  ) (8-41)
candModeList [ 4 ] = 2 + ( (  maxAB  - 1 )  % 64  ) (8-42)
candModeList [ 5 ] = 2 + ( (  minAB  + 60 )  % 64  ) (8-43)
- 그렇지 않으면, maxAB  -  minAB가 61보다 큰 경우 , 다음이 적용된다:
candModeList [ 2 ] = 2 + ( (  minAB  - 1 )  % 64  ) (8-44)
candModeList [ 3 ] = 2 + ( (  maxAB  + 61 )  % 64  ) (8-45)
candModeList [ 4 ] = 2 + (  minAB   % 64  ) (8-46)
candModeList [ 5 ] = 2 + ( (  maxAB  + 60 )  % 64  ) (8-47)
- 그렇지 않으면, 다음이 적용된다:
candModeList [ 2 ] = 2 + ( (  minAB  + 61 )  % 64  ) (8-48)
candModeList [ 3 ] = 2 + ( (  minAB  - 1 )  % 64  ) (8-49)
candModeList [ 4 ] = 2 + ( (  maxAB  + 61 )  % 64  ) (8-50)
candModeList [ 5 ] = 2 + ( (  maxAB  - 1 )  % 64  ) (8-51)
- 그렇지 않으면( candIntraPredModeA 또는 candIntraPredModeB가 INTRA_DC보다 크면), x = 0..5인 candModeList[ x ]는 다음과 같이 도출된다:
- IntraLumaRefLineIdx[ xCb ] [  yCb  ]가 0과 동일하고 IntraSubPartitionsSplitType가 ISP _NO_SPLIT와 동일한 경우, 다음이 적용된다:
candModeList [ 0 ] = candIntraPredModeA (8-52)
candModeList [ 1 ] = candIntraPredModeB (8-53)
candModeList [ 2 ] = 1 -  minAB ( 8-54)
candModeList [ 3 ] = 2 + ( (  maxAB  + 61 )  % 64  ) (8-55)
candModeList [ 4 ] = 2 + ( (  maxAB  - 1 )  % 64  ) (8-56)
candModeList [ 5 ] = 2 + ( (  maxAB  + 60 )  % 64  ) (8-57)
- 그렇지 않으면, IntraLumaRefLineIdx[ xCb ] [  yCb  ]가 0과 동일하지 않은 경우 , 다음이 적용된다:
candModeList [ 0 ] = maxAB ( 8-58)
candModeList [ 1 ] = 2 + ( (  maxAB + 61 )  % 64  ) (8-59)
candModeList [ 2 ] = 2 + ( (  maxAB  - 1 )  % 64  ) (8-60)
candModeList [ 3 ] = 2 + ( (  maxAB  + 60 )  % 64  ) (8-61)
candModeList [ 4 ] = 2 + (  maxAB   % 64  ) (8-62)
candModeList [ 5 ] = 2 + ( (  maxAB  + 59 )  % 64  ) (8-63)
- 그렇지 않으면(IntraSubPartitionsSplitType가 ISP _NO_SPLIT와 동일하지 않으면), 다음이 적용된다:
candModeList [ 0 ] = INTRA _PLANAR (8-64)
candModeList [ 1 ] = maxAB ( 8-65)
candModeList [ 2 ] = 2 + ( (  maxAB + 61 )  % 64  ) (8-66)
candModeList [ 3 ] = 2 + ( (  maxAB  - 1 )  % 64  ) (8-67)
candModeList [ 4 ] = 2 + ( (  maxAB  + 60 )  % 64  ) (8-68)
candModeList [ 5 ] = 2 + (  maxAB   % 64  ) (8-69)
- 그렇지 않으면, 다음이 적용된다:
- IntraLumaRefLineIdx[ xCb ] [  yCb  ]가 0과 동일하고 IntraSubPartitionsSplitType가 ISP _NO_SPLIT와 동일한 경우, 다음이 적용된다:
candModeList [ 0 ] = candIntraPredModeA (8-70)
candModeList [ 1 ] = (  candModeList [0] = = INTRA _PLANAR ) ? INTRA_DC : (8-71)
INTRA _PLANAR
candModeList [ 2 ] = INTRA _ ANGULAR50 (8-72)
candModeList [ 3 ] = INTRA _ ANGULAR18 (8-73)
candModeList [ 4 ] = INTRA _ ANGULAR46 (8-74)
candModeList [ 5 ] = INTRA _ ANGULAR54 (8-75)
- 그렇지 않으면, IntraLumaRefLineIdx[ xCb ] [  yCb  ]가 0과 동일하지 않은 경우 , 다음이 적용된다:
candModeList [ 0 ] = INTRA _ ANGULAR50 (8-76)
candModeList [ 1 ] = INTRA _ ANGULAR18 (8-77)
candModeList [ 2 ] = INTRA _ ANGULAR2 (8-78)
candModeList [ 3 ] = INTRA _ ANGULAR34 (8-79)
candModeList [ 4 ] = INTRA _ ANGULAR66 (8-80)
candModeList [ 5 ] = INTRA _ ANGULAR26 (8-81)
- 그렇지 않으면, IntraSubPartitionsSplitType가 ISP _ HOR _SPLIT와 동일한 경우, 다음이 적용된다:
candModeList [ 0 ] = INTRA _PLANAR (8-82)
candModeList [ 1 ] = INTRA _ ANGULAR18 (8-83)
candModeList [ 2 ] = INTRA _ ANGULAR25 (8-84)
candModeList [ 3 ] = INTRA _ ANGULAR10 (8-85)
candModeList [ 4 ] = INTRA _ ANGULAR65 (8-86)
candModeList [ 5 ] = INTRA _ ANGULAR50 (8-87)
- 그렇지 않으면, IntraSubPartitionsSplitType가 ISP _ VER _SPLIT와 동일한 경우, 다음이 적용된다:
candModeList [ 0 ] = INTRA _PLANAR (8-88)
candModeList [ 1 ] = INTRA _ ANGULAR50 (8-89)
candModeList [ 2 ] = INTRA _ ANGULAR43 (8-90)
candModeList [ 3 ] = INTRA _ ANGULAR60 (8-91)
candModeList [ 4 ] = INTRA _ ANGULAR3 (8-e)
candModeList [ 5 ] = INTRA _ ANGULAR18 (8-93)
5. IntraPredModeY[ xCb ] [  yCb  ]는 다음의 절차를 적용함으로써 도출된다:
- intra _ luma _ mpm _flag[  xCb  ][  yCb  ]가 1과 동일한 경우, IntraPredModeY[ xCb ][ yCb ]는 candModeList [  intra _ luma _ mpm _ idx [  xCb  ][ yCb ] ]와 동일하게 설정된다.
- 그렇지 않으면, IntraPredModeY[ xCb ] [  yCb  ]는 다음의 순서화된 단계들을 적용함으로써 도출된다:
1. candModeList[ i ]가 i =  0..4에 대해 candModeList[ j ]보다 크고, 각각의 i에 대해 j = ( i +  1 )..5일 때, 둘 다의 값들은 다음과 같이 스와핑된다:
(  candModeList [ i ], candModeList [ j ] ) = Swap(  candModeList [ i ], candModeList [ j ] ) (8-94)
2. IntraPredModeY[ xCb ] [  yCb  ]는 다음의 순서화된 단계들에 의해 도출된다:
i. IntraPredModeY[ xCb ] [  yCb  ]는 intra _ luma _ mpm _remainder[  xCb  ][ yCb ]와 동일하게 설정된다.
ii. i가 0 내지 5(경계 포함)와 동일한 경우, IntraPredModeY[ xCb ] [ yCb ]가 candModeList [ i ] 이상일 때, IntraPredModeY[ xCb ] [  yCb ]의 값은 1씩 증분된다 .
x =  xCb..xCb  +  cbWidth  - 1 및 y =  yCb..yCb  +  cbHeight  - 1인 변수 IntraPredModeY[ x ][ y ]는 IntraPredModeY[ xCb ] [  yCb  ]와 동일하게 설정된다.
3. 실시예들에 의해 해결된 문제들의 예들
LIC에서, 스케일링 파라미터 및 오프셋 b를 포함하는 2개의 파라미터는 이웃하는 재구성된 샘플들을 사용하여 도출될 필요가 있으며, 이는 레이턴시 문제를 야기할 수 있다.
GBI에서 사용되는 허용된 가중 인자들의 세트는 고정되어, 비효율적일 수 있다.
CIIP 모드는 비-스킵 머지 모드에만 적용되며, 이는 비효율적일 수 있다.
현재의 설계에서, CIIP 모드 플래그는, 인트라 코딩된 블록의 인트라 모드 도출 프로세스에 대해 그리고 CIIP 코딩된 블록들의 인트라 모드 도출 프로세스에 대해, 이웃 블록들의 CIIP 모드 플래그가 이용되기 때문에 저장될 것이다.
현재의 설계에서, CIIP 가중치 도출이 더 개선될 수 있고, 예를 들어, 2개의 이웃 블록 및 3개의 상이한 가중치 쌍을 검사하는 것이 단순화될 수 있다.
현재의 설계에서, CIIP 가중치 도출 프로세스 동안, 이웃 블록이 BDPCM 모드로 코딩되는 경우, 그것은 인트라 모드로서 취급된다. 그러나, BDPCM이 스크린 콘텐츠 코딩을 위해 설계되기 때문에, 그것을 비-인트라 모드로서 취급하는 것이 더 합리적일 수 있다.
4. 실시예들의 예들
이하, 하나의 TU/PU/CU 등 내의 변환 유닛(TU)/예측 유닛(PU)/코딩 유닛(CU)/서브블록을 나타내기 위해 블록이 사용된다.
아래의 상세한 기법들은 일반적인 개념들을 설명하기 위한 예들로서 고려되어야 한다. 이들 기법들은 좁은 방식으로 해석되어서는 안 된다. 더욱이, 이들 기법들은 임의의 방식으로 조합될 수 있다.
(xCb, yCb)가 현재 픽처의 상단 좌측 샘플에 대한 현재 블록의 상단 좌측 샘플의 위치라고 가정하고, cbWidth 및 cbHeight는 현재 블록의 폭 및 높이를 특정한다.
1. CIIP 플래그 또는/및 LIC 플래그 또는/및 확산 필터링 플래그 또는/및 양방향 필터링 플래그 또는/및 변환 도메인 필터링 플래그 또는/및 다른 종류의 사후-재구성 필터의 인에이블링 플래그는, (인접 또는 비-인접 이웃 블록들 및/또는 참조 블록들과 같은) 다른 블록들의 코딩된 모드들에 따라, 거짓으로 제약될 수 있다(그리고 CIIP 또는/및 LIC 또는/및 확산 필터 또는/및 양방향 필터 또는/및 변환 도메인 필터는 암시적으로 디스에이블될 수 있다).
a. 하나의 플래그가 거짓인 것으로 도출될 때, 대응하는 방법이 적용되지 않을 수 있다.
b. 하나의 플래그가 거짓인 것으로 도출될 때, 이러한 모드들의 사용의 표시들의 시그널링이 스킵된다.
c. 하나의 플래그가 거짓인 것으로 도출될 때, 이러한 모드들의 사용의 표시들은 여전히 시그널링될 수 있지만 적합성 비트스트림에서 거짓인 것으로 제약되고, 이러한 모드들은 적용되지 않는다.
d. 일 예에서, (1.a, 1.b 및 1.c와 같은) 하나 또는 다수의 제안된 제약을 적용할지 여부는 인접 및/또는 비-인접 이웃 행들 또는 열들의 전부 또는 일부의 코딩된 모드들에 의존할 수 있다.
i. 대안적으로, 이러한 제약을 적용할지 여부는 특정 모드들로 코딩되지 않은 인접 또는 비-인접 이웃 행 또는 열들 내의 샘플들의 적어도 N개(N >= 1)에 의존할 수 있다.
e. 일 예에서, 인접 및/또는 비-인접 이웃 행들은 위(above) 행 및/또는 위-우측 행을 포함할 수 있다.
f. 일 예에서, 이웃 인접 및/또는 비-인접 이웃 열들은 좌측 열 및/또는 아래-좌측 및/또는 좌측 위 코너를 포함할 수 있다.
g. 일 예에서, 현재 블록이 아닌 블록의 특정 모드들은 인트라 모드 및/또는 CIIP 모드 및/또는 CPR 모드를 포함할 수 있다.
h. 일 예에서, 이웃 및/또는 비-인접 행들 또는 열들에서의 이웃/비-인접 블록 중 임의의 하나가 특정 모드(예를 들어, 인트라 및/또는 CIIP 모드 및/또는 CPR 모드)로 코딩되는 경우, 하나 또는 다수의 제안된 제약(예컨대, 1.a, 1.b 및 1.c)이 적용된다.
i. 일 예에서, 인접 및/또는 비-인접 이웃 행들 또는 열들 내의 모든 이웃/비-인접 블록들이 특정 모드(예를 들어, 인트라 및/또는 CIIP 및/또는 CPR 모드)로 코딩되는 경우, 하나 또는 다수의 제안된 제약이 적용된다.
j. 일 예에서, 이웃 또는 비-인접 행 또는 열들 내의 적어도 N개의 이웃/비-인접 블록이 특정 모드(예를 들어, 인트라 및/또는 CIIP 모드 및/또는 CPR 모드)로 코딩되지 않는 경우, 하나 또는 다수의 제안된 제약(예컨대, 1.a, 1.b 및 1.c)이 적용되지 않는다.
k. 일 예에서, 하나 또는 다수의 제안된 제약(예컨대, 1.a, 1.b 및 1.c)을 적용할지 여부는 현재 블록의 위치에 의존할 수 있다.
i. 일 예에서, 현재 블록이 현재 CTU의 상단에 있는 경우(현재 블록과 그 위의 이웃 블록이 상이한 CTU들에 속한 경우), 제안된 제약들은 적용되지 않는다.
ii. 일 예에서, 현재 블록이 현재 CTU의 좌측에 있는 경우(현재 블록과 그 좌측 이웃 블록이 상이한 CTU들에 속한 경우), 제안된 제약들은 적용되지 않는다.
2. CIIP 모드의 CIIP 플래그 및/또는 인트라 모드는 이력-기반 모션 벡터 예측(HMVP) 테이블에 모션 정보와 함께 저장될 수 있다.
a. 일 예에서, (프루닝 프로세스와 같은) 2개의 후보의 모션 정보를 비교할 때, CIIP 모드에서의 CIIP 플래그 또는/및 인트라 모드는 비교에서 고려되지 않는다.
b. 일 예에서, 2개의 후보의 모션 정보를 비교할 때, CIIP 모드에서의 CIIP 플래그 또는/및 인트라 모드가 비교에서 고려된다.
c. 일 예에서, 머지 후보가 HMVP 테이블 내의 엔트리로부터 온 것일 때, 그 엔트리의 CIIP 플래그도 머지 후보에 복사된다.
d. 일 예에서, 머지 후보가 HMVP 테이블 내의 엔트리로부터 온 것일 때, 그 엔트리의 CIIP 플래그 및 인트라 모드도 머지 후보에 복사된다.
3. CIIP는 AMVP 모드(AMVP 모드 또는/및 SMVD를 갖는 AMVP 모드)에 대해 수행될 수 있다.
a. 이웃/비-인접 블록들의 CIIP 모드에서의 CIIP 플래그 및/또는 인트라 모드는 현재 블록의 머지 모드 또는/및 UMVE(모션 벡터 차이를 갖는 머지, 줄여서 MMVD라고도 알려짐) 모드에서 상속될 수 있다.
b. CIIP 모드에서의 CIIP 플래그 및/또는 인트라 모드는 비-스킵 머지 모드 또는/및 비-스킵 UMVE 모드에 대해 시그널링될 수 있고, 이웃/비-인접 블록들의 CIIP 모드에서의 CIIP 플래그 및/또는 인트라 모드는 스킵 머지 모드 또는/및 스킵 UMVE 모드에서 상속될 수 있다.
c. CIIP 모드에서의 CIIP 플래그 및/또는 인트라 모드는 스킵 머지 모드 또는/및 스킵 UMVE 모드에 대해 시그널링될 수 있고, 이웃/비-인접 블록들의 CIIP 모드에서의 CIIP 플래그 및/또는 인트라 모드는 비-스킵 머지 모드 또는/및 비-스킵 UMVE 모드에서 상속될 수 있다.
d. 일 예에서, CIIP 플래그 및 인트라 모드는 AMVP 모드에 대해 시그널링될 수 있다.
e. 일 예에서, CIIP 플래그는 머지 모드 또는/및 UMVE 모드에서 상속될 수 있고, CIIP 플래그가 참인 경우, 인트라 모드는 CIIP에서 하나보다 많은 인트라 모드가 허용되는 경우 추가로 시그널링될 수 있다.
f. 일 예에서, 머지 모드 또는/및 UMVE 모드에서의 이웃/비-인접 블록들의 CIIP 플래그 및 인트라 모드는 현재 블록에 의해 상속될 수 있다.
g. 일 예에서, CIIP는 스킵 모드에 대해 디스에이블될 수 있다.
h. 일 예에서, 2개의 머지 후보를 비교할 때, CIIP에서의 CIIP 플래그 또는/및 인트라 모드는 비교에서 고려되지 않을 수 있다.
i. 일 예에서, 2개의 머지 후보를 비교할 때, CIIP에서의 CIIP 플래그 또는/및 인트라 모드가 비교에서 고려될 수 있다.
4. CIIP는 쌍별 예측 또는 조합된-양방향 예측 또는 다른 종류의 가상/인공 후보들(예를 들어, 제로 모션 벡터 후보들)에 대해 디스에이블될 수 있다.
a. 대안적으로, 쌍별 예측 또는 조합된-양방향 예측에 수반된 2개의 후보 중 하나가 CIIP 예측을 채택한 경우, 쌍별 또는 조합된-양방향 머지 후보에 대해 CIIP가 인에이블될 수 있다.
ii. 일 예에서, CIIP 모드 후보의 인트라 모드가 상속될 수 있다.
iii. 일 예에서, 인트라 모드는 명시적으로 시그널링될 수 있다.
b. 대안적으로, 쌍별 예측 또는 조합된-양방향 예측에 수반된 후보들 둘 다가 CIIP 예측을 채택한 경우, 쌍별 또는 조합된-양방향 머지 후보에 대해 CIIP가 인에이블될 수 있다.
iv. 일 예에서, 2개의 후보 중 하나의 후보의 인트라 모드가 상속될 수 있다.
v. 일 예에서, 인트라 모드는 2개의 후보의 인트라 모드들로부터 도출될 수 있고, 쌍별 또는 조합된-양방향 머지 후보에 사용된다.
vi. 일 예에서, 인트라 모드는 명시적으로 시그널링될 수 있다.
5. CIIP 모드 또는/및 확산 필터 또는/및 양방향 필터 또는/및 변환 도메인 필터 또는/및 다른 종류의 사후-재구성 필터에서 요구되는 이웃 및/또는 비-인접 공간적 재구성된 샘플들은 (도 17에 도시된 바와 같이, 참조 블록의 이웃 및/또는 비-인접 공간적 샘플들과 같은) 참조 픽처들 내의 대응하는 샘플들로 대체될 수 있다.
a. 일 예에서, 현재 블록이 양방향 예측되는 경우, 2개의 참조 블록의 이웃 샘플들은 최종 이웃 샘플들을 생성하기 위해 평균화될 수 있다.
b. 일 예에서, 현재 블록이 양방향 예측되는 경우, 2개의 참조 블록 중 하나의 참조 블록의 이웃 샘플들이 최종 이웃 샘플들로서 사용될 수 있다.
c. 일 예에서, 현재 블록이 양방향 예측되는 경우, 2개의 참조 블록의 이웃 샘플들은, 동일하지 않은-가중치(unequal-weight) GBI 또는 가중된 예측 또는 LIC가 현재 블록에 적용되는 경우 가중 평균되어 최종 이웃 샘플들을 생성할 수 있다.
d. 일 예에서, 참조 픽처들 내의 대응하는 샘플들(예를 들어, 참조 블록의 이웃 샘플들)은 현재 블록의 모션 정보에 의해 식별될 수 있다.
e. 일 예에서, 참조 픽처들 내의 대응하는 샘플들(예를 들어, 참조 블록의 이웃 샘플들)은 현재 블록의 수정된 모션 정보에 의해 식별될 수 있다. 예를 들어, 모션 벡터는 이웃 샘플들을 식별하기 위해 사용되기 전에 정수 정밀도로 라운딩(round)될 수 있다.
f. 일 예에서, 참조 픽처들 내의 대응하는 샘플들(예를 들어, 참조 블록의 이웃 샘플들)은 정수-펠 정밀도로 모션 벡터들을 통해 식별된다.
i. 일 예에서, 참조 블록을 참조하는 MV는 먼저 정수-픽셀로 라운딩된다. 라운딩된 MV는 참조 블록의 이웃 샘플들을 식별하기 위해 이용된다.
ii. 일 예에서, 제안된 대체는 현재 블록이 정수-펠 모션 정보로 코딩될 때 적용된다. 따라서, 라운딩이 요구되지 않는다.
g. 일 예에서, 제안된 대체는 루마 성분과 같은 특정 컬러 성분에 대해서만 적용될 수 있다.
i. 대안적으로, 제안된 대체는 모든 컬러 성분들에 대해 적용될 수 있다.
6. 후속 블록들을 코딩하기 위해 이전에 코딩된 CIIP 플래그들을 사용하는 것을 허용하지 않는 것이 제안된다.
a. 일 예에서, 이전에 코딩된 블록들로부터의 CIIP 플래그들의 검사 프로세스는 스루풋을 개선하기 위해 스킵된다.
b. 일 예에서, 인트라 모드 도출 프로세스에서 이웃 블록들로부터의 CIIP 플래그들의 검사 프로세스는 스킵된다.
i. 일 예에서, 하나의 이웃 블록에 대해, CIIP 모드로 코딩되는 경우, 연관된 인트라 모드는 (평면 모드 등의) 주어진 모드로 설정될 수 있다. 대안적으로, 또한, 연관된 인트라 모드는 MPM 리스트 도출 프로세스에서 사용될 수 있다.
ii. 일 예에서, 하나의 이웃 블록에 대해, CIIP 모드 또는 정상 인터 모드(normal inter mode)로 코딩되는 경우, 연관된 인트라 모드는 (평면 모드 등의) 주어진 모드로 설정될 수 있다. 대안적으로, 또한, 연관된 인트라 모드는 MPM 리스트 도출 프로세스에서 사용될 수 있다.
iii. 일 예에서, CIIP 코딩된 블록들의 인트라 모드는 저장되지 않을 수 있고, CIIP 코딩된 블록들은 디코딩 프로세스에서 이용불가능한 것으로 간주될 수 있다. 대안적으로, CIIP 코딩된 블록들은 정상 인터 모드와 동일한 방식으로 처리될 수 있다.
c. 또한, 모드 정보를 저장하기 위해 필요한 메모리 크기를 절약하기 위해 메모리로부터 CIIP 플래그를 제거하는 것이 제안된다.
7. CIIP 모드 플래그가 바이패스 코딩에 의해 코딩되는 것이 제안된다.
a. 대안적으로, CIIP 모드 플래그는 콘텍스트 코딩될 수 있지만 이웃 블록들의 CIIP 모드 플래그들을 참조하지 않는다.
8. CIIP에서 가중 합을 행하는 접근법은 컬러 성분들에 의존할 수 있다는 것이 제안된다.
a. 예를 들어, CIIP에서의 가중 값들은 주요 컬러 성분(예를 들어, G 성분) 및 다른 컬러 성분들(예를 들어, B 및 R 성분들)에 대해 상이하다.
b. 예를 들어, CIIP에서의 가중 값들은 루마 성분 및 크로마 성분들에 대해 상이하다.
c. 예를 들어, 인터 예측 및 인트라 예측을 위한 가중 값들은 크로마 성분들에 대해 동일하다.
9. 가중 인자 선택이 이웃 블록들에 따를 때, 이웃 블록에 대해, CIIP 모드로서 코딩되는 경우, 인터 코딩된 블록으로서 취급될 수 있는 것이 제안된다.
a. 대안적으로, 가중 인자 선택이 이웃 블록들에 따를 때, 이웃 블록에 대해, CIIP 모드로서 코딩되는 경우, 그것은 인트라 코딩된 블록으로서 취급될 수 있다.
10. 위의 제안된 방법은 블록 크기들, 슬라이스/픽처/타일 타입들, 또는 모션 정보와 같은 특정 조건들 하에서 적용될 수 있다.
a. 일 예에서, 블록 크기가 M*H보다 작은 샘플들, 예를 들어, 16 또는 32 또는 64 루마 샘플들을 포함할 때, 제안된 방법은 허용되지 않는다.
b. 대안적으로, 블록의 폭 또는/및 높이의 최소 크기가 X보다 작거나 크지 않을 때, 제안된 방법은 허용되지 않는다. 일 예에서, X는 8로 설정된다.
c. 대안적으로, 블록의 폭 또는/및 높이의 최소 크기가 X보다 작지 않을 때, 제안된 방법은 허용되지 않는다. 일 예에서, X는 8로 설정된다.
d. 대안적으로, 블록의 폭 > th1이거나 >=th1 및/또는 블록의 높이 > th2이거나 >=th2일 때, 제안된 방법은 허용되지 않는다. 일 예에서, th1 및/또는 th2는 8로 설정된다.
e. 대안적으로, 블록의 폭 < th1이거나 <=th1 및/또는 블록의 높이 < th2이거나 <a=th2일 때, 제안된 방법은 허용되지 않는다. 일 예에서, th1 및/또는 th2는 8로 설정된다.
11. CIIP에서 사용되는 허용된 가중치 쌍들(wIntra, wInter)의 수는 (a, b) 및 (c, d)으로 표시되는 3에서 2로 감소될 수 있다.
a. 일 예에서, 2개의 쌍은 {(1,3) 및 (3,1)}; 또는 {(1,3) 및 (2, 2)}; 또는 {(3,1) 및 (2, 2)}; 또는 {(3, 5) 및 (4, 4)} 또는 {(5, 3) 및 (4, 4)}, 또는 {(1, 7) 및 (4, 4)} 또는 {(7, 1) 및 (4, 4)}로서 정의된다.
b. 일 예에서, 가중치 쌍은 단 하나의 이웃 블록 A에 기초하여 결정된다.
i. 일 예에서, 하나의 이웃 블록 A가 이용가능하고 인트라 코딩되는 경우, (wIntra, wInter)는 (a, b)과 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (c, d)와 동일하게 설정된다.
ii. 일 예에서, 블록 A는 좌측 이웃 블록이다.
iii. 일 예에서, 블록 A는 위의 이웃 블록이다.
c. 일 예에서, 가중치 쌍은 2개 이상의 이웃 블록에 기초하여 결정되고, 이웃 블록들 중 적어도 하나에 대해, 특정 조건들이 충족된다.
i. 일 예에서, 이웃 블록 A 및 B 중 적어도 하나가 이용가능하고 인트라 코딩되는 경우, (wIntra, wInter)는 (a, b)과 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (c, d)과 동일하게 설정된다.
1. 일 예에서, 블록 A는 좌측 이웃 블록이고, B는 위의 이웃 블록이다.
d. 일 예에서, 가중치 쌍은 2개 이상의 이웃 블록에 기초하여 결정되고, 이웃 블록 각각에 대해, 동일한 조건들이 충족된다.
i. 일 예에서, 이웃 블록 A 및 B 둘 다가 이용가능하고 인트라 코딩되는 경우, (wIntra, wInter)는 (a, b)과 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (c, d)과 동일하게 설정된다.
1. 일 예에서, 블록 A는 좌측 이웃 블록이고, B는 위의 이웃 블록이다.
e. 일 예에서, (a, b) 및 (c, d)의 설정들은 다음과 같을 수 있다:
1. 일 예에서, (a, b)는 (2, 2) 또는 (3, 1)로 설정된다.
2. 일 예에서, (c, d)는 (1, 3)과 동일하게 설정된다.
3. 일 예에서, 2개의 조건 중 적어도 하나는 참이다: a가 c와 동일하지 않거나 b가 d와 동일하지 않다.
4. (a, b)는 (c, d)과 동일하지 않다.
f. 일 예에서, 전술된 이웃 블록(예를 들어, A 또는 B)은 인접 또는 비-인접 공간적 이웃 블록 또는 시간적 이웃 블록이다.
i. 일 예에서, 이웃 블록 A 또는 B는 좌측(또는 상단) 이웃 블록이다.
ii. 일 예에서, 이웃 블록 A 및 B는 각각 좌측 및 상단 이웃 블록들이다.
iii. 일 예에서, 좌측 이웃 블록은 위치(xCb - 1, yCb + cbHeight - 1)를 커버한다.
iv. 일 예에서, 상단 이웃 블록은 위치(xCb + cbWidth - 1, yCb - 1)를 커버한다.
v. 일 예에서, 좌측 이웃 블록은 위치(xCb - 1, yCb)를 커버한다.
vi. 일 예에서, 상단 이웃 블록은 위치(xCb, yCb - 1)를 커버한다.
g. 위 예들에 대해, CIIP 예측은 다음과 같이 형성된다:
여기서, offset는 (1<< (N-1)) 또는 0으로 설정되고, N은 log2(wIntra + wInter)로 설정될 수 있다.
12. CIIP에서 사용되는 허용된 가중치 쌍들(wIntra, wInter)의 수는 3에서 1로 감소될 수 있다.
a. 일 예에서, 하나의 가중치 쌍은 (1,3) 또는 (2, 2) 또는 (1,7) 또는 (2, 6) 또는 (3, 5) 또는 (4, 4)로서 정의된다.
b. 일 예에서, (wIntra, wInter)는 (2, 2)와 동일하게 설정된다.
c. 일 예에서, (wIntra, wInter)는 (1, 3)과 동일하게 설정된다.
d. 위 예들에 대해, CIIP 예측은 다음과 같이 형성된다:
여기서, offset는 (1<< (N-1)) 또는 0으로 설정되고, N은 log2(wIntra + wInter)로 설정될 수 있다.
13. (wIntra, wInter) 가중치 쌍들은 하나 또는 다수의 이웃 블록이 CIIP 모드로 코딩되는지에 기초하여 도출될 수 있다.
a. 현재 블록에 사용되는 가중치 쌍은 이전에 코딩된 블록에 사용되는 것으로부터 도출될 수 있다.
b. 일 예에서, 가중치 쌍은 단 하나의 이웃 블록 A에 기초하여 결정된다.
i. 일 예에서, 하나의 이웃 블록 A가 CIIP 모드로 코딩되는 경우, 현재 블록의 (wIntra, wInter)는 이웃 블록 A의 (wIntra, wInter)와 동일하게 설정된다; 그렇지 않으면, 이웃 블록 A가 이용가능하고 인트라 코딩되는 경우, (wIntra, wInter)는 (a, b)과 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (c, d)과 동일하게 설정된다.
ii. 일 예에서, 하나의 이웃 블록 A가 CIIP 모드로 코딩되는 경우, 현재 블록의 (wIntra, wInter)는 이웃의 (wIntra, wInter)와 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (a, b)와 동일하게 설정된다.
iii. 위의 예들에 대해, 다음이 적용될 수 있다:
1. 일 예에서, (a, b)는 (2, 2) 또는 (3, 1)과 동일하게 설정된다.
2. 일 예에서, (c, d)는 (1, 3)과 동일하게 설정된다.
3. 일 예에서, 2개의 조건 중 적어도 하나는 참이다: a는 c와 동일하지 않음; b는 d와 동일하지 않음.
c. 일 예에서, 가중치 쌍은 2개 이상의 이웃 블록에 기초하여 결정되고, 이웃 블록들 중 적어도 하나에 대해, 특정 조건들이 충족된다.
i. 다수의 이웃 블록들은 CIIP 모드의 사용을 식별하기 위해 주어진 검사 순서로 검사될 수 있다(예를 들어, 먼저 좌측 블록을 검사한 다음, 상단 블록을 검사한다).
ii. 일 예에서, 이웃 블록 A와 B 중 적어도 하나가 CIIP 모드로 코딩되는 경우, 현재 블록의 (wIntra, wInter)는 주어진 검사 순서로 제1 CIIP 코딩된 이웃 블록의 (wIntra, wInter)와 동일하게 설정된다; 그렇지 않으면, A 및 B의 적어도 하나의 이웃 블록이 이용가능하고 인트라 코딩되는 경우, (wIntra, wInter)는 (a, b)와 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (c, d)과 동일하게 설정된다.
iii. 위의 예들에 대해, 다음이 적용될 수 있다:
1. 일 예에서, (a, b)는 (2, 2) 또는 (3, 1)과 동일하게 설정된다.
2. 일 예에서, (c, d)는 (1, 3)과 동일하게 설정된다.
3. 일 예에서, 2개의 조건 중 적어도 하나는 참이다: a는 c와 동일하지 않음; b는 d와 동일하지 않음.
iv. 일 예에서, 이웃 블록 A와 B 중 적어도 하나가 CIIP 모드로 코딩되는 경우, 현재 블록의 (wIntra, wInter)는 주어진 검사 순서로 제1 CIIP 코딩된 이웃 블록의 (wIntra, wInter)와 동일하게 설정된다; 그렇지 않으면, 이웃 블록들 A 및 B 둘 다가 이용가능하고 인트라 코딩되는 경우, (wIntra, wInter)는 (a, b)와 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (c, d)과 동일하게 설정된다.
v. 일 예에서, 이웃 블록 A와 B 중 적어도 하나가 CIIP 모드로 코딩되는 경우, 현재 블록의 (wIntra, wInter)는 주어진 검사 순서로 제1 CIIP 코딩된 이웃 블록의 (wIntra, wInter)와 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (c, d)과 동일하게 설정된다.
vi. 위의 예들에 대해, 다음이 적용될 수 있다:
1. 일 예에서, (c, d)는 (2, 2) 또는 (1, 3)과 동일하게 설정된다.
d. 일 예에서, 앞서 언급된 이웃 블록 A 또는 B는 인접 또는 비-인접 공간적 이웃 블록 또는 시간적 이웃 블록이다.
i. 일 예에서, 이웃 블록 A 또는 B는 좌측(또는 상단) 이웃 블록이다.
ii. 일 예에서, 이웃 블록 A 및 B는 각각 좌측 및 상단 이웃 블록들이다.
iii. 일 예에서, 좌측 이웃 블록은 위치(xCb - 1, yCb + cbHeight - 1)를 커버한다.
iv. 일 예에서, 상단 이웃 블록은 위치(xCb + cbWidth - 1, yCb - 1)를 커버한다.
v. 일 예에서, 좌측 이웃 블록은 위치(xCb - 1, yCb)를 커버한다.
vi. 일 예에서, 상단 이웃 블록은 위치(xCb, yCb - 1)를 커버한다.
e. 위 예들에 대해, CIIP 예측은 다음과 같이 형성된다:
여기서, offset는 (1<< (N-1)) 또는 0으로 설정되고, N은 log2(wIntra + wInter)로 설정될 수 있다.
14. CIIP에서 사용되는 이웃 블록들의 선택은 현재 블록의 블록 치수/블록 형상/저지연 검사 플래그/참조 픽처들 정보/모션 정보 및 이웃 블록들/이웃 블록들의 인트라 예측 모드들과 같은 코딩된 정보에 의존할 수 있다.
15. CIIP에서 사용되는 가중치 쌍들은 현재 블록의 블록 치수/블록 형상/저지연 검사 플래그/참조 픽처들 정보/모션 정보 및 이웃 블록들/이웃 블록들의 인트라 예측 모드들과 같은 코딩된 정보에 의존할 수 있다.
a. 일 예에서, 가중 쌍들의 세트는 추가로 시그널링된다.
b. 일 예에서, 가중치 쌍의 선택은 이웃 블록이 인트라 코딩되는 것 대신에 인터 코딩되는지에 의존할 수 있다.
16. CIIP 정보를 결정할 때, (예를 들어, 위에 언급된 이전 설계 및 불릿(bullet)들에 대해 인트라 예측 신호 또는 인터 예측 신호에 적용되는 가중치들의 결정에서), 이웃 블록이 MODE_INTRA(즉, 인트라 모드)로 코딩되지 않는 경우, 그것은 인트라 코딩된 것으로서 취급될 수 있다.
a. 일 예에서, 이웃 블록이 IBC 코딩되는 경우.
b. 일 예에서, 이웃 블록이 CIIP 코딩되는 경우.
c. 일 예에서, 이웃 블록이 TPM 코딩되는 경우.
d. 일 예에서, 이웃 블록이 팔레트 코딩되는 경우.
e. 일 예에서, 이웃 블록이 RDPCM 코딩되는 경우.
f. 일 예에서, 이웃 블록이 변환(예를 들어, 변환 스킵 모드) 및/또는 양자화 적용(예를 들어, 변환 바이패스 양자화 모드) 없이 코딩되는 경우.
g. 대안적으로, 이웃 블록이 위의 서브 불릿들에서 언급된 모드(예를 들어, IBC, RDPCM, 팔레트)로 코딩되는 경우, 이웃 블록은 비-인트라 코딩된(예를 들어, 인터-코딩된) 것으로서 취급될 수 있다.
h. 일 예에서, 이웃 블록이 인트라 코딩되지만 특정 예측 모드들(예를 들어, 평면)로 코딩되지 않는 경우, 이웃 블록은 비-인트라 코딩(예를 들어, 인터 코딩)되는 것으로서 취급될 수 있다.
i. 대안적으로, BDPCM 및/또는 참조 라인 인덱스가 K(예를 들어, K=0)와 동일하지 않은 다수의 참조 라인 인트라 예측 방법 및/또는 매트릭스 기반 인트라 예측 방법으로 이웃 블록이 코딩되는 경우, 이웃 블록은 비-인트라 코딩된(예를 들어, 인터 코딩된) 것으로서 취급될 수 있다.
j. 제안된 방법들은 이웃 블록이 인트라 모드로 코딩되는지 여부에 의존하는 다른 코딩 도구들에 적용될 수 있다.
k. 제안된 방법들은 이웃 블록이 인터 모드로 코딩되는지 여부에 의존하는 다른 코딩 도구들에 적용될 수 있다.
17. 위의 방법들을 인에이블 또는 디스에이블할지는 SPS/PPS/VPS/시퀀스 헤더/픽처 헤더/슬라이스 헤더/타일 그룹 헤더/타일/CTU들의 그룹 등에서 시그널링될 수 있다.
a. 대안적으로, 어느 방법이 사용될지는 SPS/PPS/VPS/시퀀스 헤더/픽처 헤더/슬라이스 헤더/타일 그룹 헤더/CTU들의 그룹 등에서 시그널링될 수 있다.
b. 대안적으로, 위의 방법들을 인에이블할지 또는 디스에이블할지 및/또는 어느 방법이 적용될지는 블록 치수, 비디오 처리 데이터 유닛(VPDU), 픽처 타입, 저지연 검사 플래그, 현재 블록의 코딩된 정보(예를 들어, 참조 픽처들, 단방향 또는 양방향 예측) 또는 이전에 코딩된 블록들에 의존할 수 있다.
5. 실시예들
5.1 실시예 1
이전에 코딩된 블록들의 CIIP 플래그들의 검사를 스킵하는 예가 다음과 같이 주어진다.
8.4.2 루마 인트라 예측 모드에 대한 도출 프로세스
프로세스에 대한 입력은 다음과 같다:
- 현재 픽처의 상단 좌측 루마 샘플에 대한 현재 루마 코딩 블록의 상단 좌측 샘플을 특정하는 루마 위치( xCb , yCb ),
- 루마 샘플들에서 현재 코딩 블록의 폭을 특정하는 변수 cbWidth ,
- 루마 샘플들에서 현재 코딩 블록의 높이를 특정하는 변수 cbHeight .
이 프로세스에서, 루마 인트라 예측 모드 IntraPredModeY[ xCb ] [  yCb  ]가 도출된다.
표 8-1은 인트라 예측 모드 IntraPredModeY[ xCb ] [  yCb  ]에 대한 값 및 연관된 명칭들을 특정한다.
표 8-1 - 인트라 예측 모드의 사양 및 연관된 명칭들
노트 - : 인트라 예측 모드들 INTRA _ LT _ CCLM , INTRA _L_ CCLM INTRA _T_ CCLM은 크로마 성분들에만 적용가능하다 .
IntraPredModeY[ xCb ] [  yCb  ]는 다음의 순서화된 단계들에 의해 도출된다:
1. 이웃 위치들 (  xNbA ,  yNbA  ) 및 (  xNbB ,  yNbB  )은 각각 (  xCb  - 1, yCb + cbHeight - 1 ) 및 (  xCb  +  cbWidth  - 1,  yCb  - 1 )과 동일하게 설정된다.
2. X가 A 또는 B로 대체되는 경우, 변수들 candIntraPredModeX는 다음과 같이 도출된다:
- 조항 6.4.X [Ed. (BB): 이웃 블록들 이용가능성 검사 프로세스 tbd]가 ( xCb , yCb )와 동일하게 설정된 위치( xCurr , yCurr ) 및 ( xNbX , yNbX )와 동일하게 설정된 이웃 위치( xNbY , yNbY )를 입력들로 하여 호출되고, 출력은 availableX에 할당된다.
- 후보 인트라 예측 모드 candIntraPredModeX는 다음과 같이 도출된다:
- 하기 조건들 중 하나 이상이 참인 경우 , candIntraPredModeX는 INTRA_PLANAR와 동일하게 설정된다.
- 변수 availableX는 FALSE와 동일하다.
- CuPredMode[ xNbX ][ yNbX ]는 MODE_ INTRA와 동일하지 않다.
- pcm _flag[  xNbX  ][  yNbX ]는 1과 동일하다.
- X는 B와 동일하고, yCb  - 1은 ( (  yCb >> CtbLog2SizeY  ) << CtbLog2SizeY )보다 작다.
- 그렇지 않으면, candIntraPredModeX는 IntraPredModeY[ xNbX ] [ yNbX ]와 동일하게 설정된다.
3. 변수들 ispDefaultMode1 ispDefaultMode2는 다음과 같이 정의된다:
- IntraSubPartitionsSplitType가 ISP _ HOR _SPLIT와 동일한 경우, ispDefaultMode1은 INTRA _ ANGULAR18과 동일하게 설정되고 ispDefaultMode2는 INTRA_ANGULAR5와 동일하게 설정된다.
- 그렇지 않으면, ispDefaultMode1은 INTRA _ ANGULAR50과 동일하게 설정되고, ispDefaultMode2는 INTRA _ ANGULAR63과 동일하게 설정된다.
4. x = 0..5인 candModeList[ x ]는 다음과 같이 도출된다:
...
실시예 #2
좌측 이웃이 이용가능하고 인트라 코딩되는 경우, (wIntra, wInter)는 (2, 2)와 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (1, 3)과 동일하게 설정된다.
CIIP 예측은 다음과 같이 형성된다:
실시예 #3
좌측 이웃이 이용가능하고 인트라 코딩되는 경우, (wIntra, wInter)는 (3, 1)과 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (1, 3)과 동일하게 설정된다.
CIIP 예측은 다음과 같이 형성된다:
실시예 #4
상단 이웃이 이용가능하고 인트라 코딩되는 경우, (wIntra, wInter)는 (2, 2)와 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (1, 3)과 동일하게 설정된다.
CIIP 예측은 다음과 같이 형성된다:
실시예 #5
상단 이웃이 이용가능하고 인트라 코딩되는 경우, (wIntra, wInter)는 (3, 1)과 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (1, 3)과 동일하게 설정된다.
CIIP 예측은 다음과 같이 형성된다:
실시예 #6
좌측 및 상단 이웃이 이용가능하고 인트라 코딩되는 경우, (wIntra, wInter)는 (2, 2)와 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (1, 3)과 동일하게 설정된다.
CIIP 예측은 다음과 같이 형성된다:
실시예 #7
좌측 및 상단 이웃이 이용가능하고 인트라 코딩되는 경우, (wIntra, wInter)는 (3, 1)과 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (1, 3)과 동일하게 설정된다.
CIIP 예측은 다음과 같이 형성된다:
실시예 #8
좌측 또는 상단 이웃이 이용가능하고 인트라 코딩되는 경우, (wIntra, wInter)는 (2, 2)와 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (1, 3)과 동일하게 설정된다.
CIIP 예측은 다음과 같이 형성된다:
실시예 #9
좌측 또는 상단 이웃이 이용가능하고 인트라 코딩되는 경우, (wIntra, wInter)는 (3, 1)과 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (1, 3)과 동일하게 설정된다.
CIIP 예측은 다음과 같이 형성된다:
실시예 #10
(wIntra, wInter)는 (2, 2)와 동일하게 설정된다.
CIIP 예측은 다음과 같이 형성된다:
실시예 #11
(wIntra, wInter)는 (1, 3)과 동일하게 설정된다.
CIIP 예측은 다음과 같이 형성된다:
실시예 #12
좌측 이웃이 CIIP 코딩되는 경우, 현재 블록의 (wIntra, wInter)는 좌측 이웃의 (wIntra, wInter)와 동일하게 설정된다; 그렇지 않으면, 좌측 이웃이 이용가능하고 인트라 코딩되는 경우, (wIntra, wInter)는 (3, 1)과 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (1, 3)과 동일하게 설정된다.
CIIP 예측은 다음과 같이 형성된다:
실시예 #13
좌측 이웃이 CIIP 코딩되는 경우, 현재 블록의 (wIntra, wInter)는 좌측 이웃의 (wIntra, wInter)와 동일하게 설정된다; 그렇지 않으면, 좌측 이웃이 이용가능하고 인트라 코딩되는 경우, (wIntra, wInter)는 (2, 2)와 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (1, 3)과 동일하게 설정된다.
CIIP 예측은 다음과 같이 형성된다:
실시예 #14
상단 이웃이 CIIP 코딩되는 경우, 현재 블록의 (wIntra, wInter)는 상단 이웃의 (wIntra, wInter)와 동일하게 설정된다; 그렇지 않으면, 상단 이웃이 이용가능하고 인트라 코딩되는 경우, (wIntra, wInter)는 (3, 1)과 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (1, 3)과 동일하게 설정된다.
CIIP 예측은 다음과 같이 형성된다:
실시예 #15
상단 이웃이 CIIP 코딩되는 경우, 현재 블록의 (wIntra, wInter)는 상단 이웃의 (wIntra, wInter)와 동일하게 설정된다; 그렇지 않으면, 상단 이웃이 이용가능하고 인트라 코딩되는 경우, (wIntra, wInter)는 (2, 2)와 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (1, 3)과 동일하게 설정된다.
CIIP 예측은 다음과 같이 형성된다:
실시예 #16
좌측 또는/및 상단 이웃이 CIIP 코딩되는 경우, 현재 블록의 (wIntra, wInter)는 제1 CIIP 코딩된 이웃(좌측->상단)의 (wIntra, wInter)와 동일하게 설정된다; 그렇지 않으면, 좌측 또는/및 상단 이웃이 이용가능하고 인트라 코딩되는 경우, (wIntra, wInter)는 (3, 1)과 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (1, 3)과 동일하게 설정된다.
CIIP 예측은 다음과 같이 형성된다:
실시예 #17
좌측 또는/및 상단 이웃이 CIIP 코딩되는 경우, 현재 블록의 (wIntra, wInter)는 제1 CIIP 코딩된 이웃(좌측->상단)의 (wIntra, wInter)와 동일하게 설정된다; 그렇지 않으면, 좌측 또는/및 상단 이웃이 이용가능하고 인트라 코딩되는 경우, (wIntra, wInter)는 (2, 2)와 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (1, 3)과 동일하게 설정된다.
CIIP 예측은 다음과 같이 형성된다:
실시예 #18
좌측 이웃이 CIIP 코딩되는 경우, 현재 블록의 (wIntra, wInter)는 좌측 이웃의 (wIntra, wInter)와 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (1, 3)과 동일하게 설정된다.
CIIP 예측은 다음과 같이 형성된다:
실시예 #19
좌측 이웃이 CIIP 코딩되는 경우, 현재 블록의 (wIntra, wInter)는 좌측 이웃의 (wIntra, wInter)와 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (2, 2)와 동일하게 설정된다.
CIIP 예측은 다음과 같이 형성된다:
실시예 #20
상단 이웃이 CIIP 코딩되는 경우, 현재 블록의 (wIntra, wInter)는 상단 이웃의 (wIntra, wInter)와 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (1, 3)과 동일하게 설정된다.
CIIP 예측은 다음과 같이 형성된다:
실시예 #21
상단 이웃이 CIIP 코딩되는 경우, 현재 블록의 (wIntra, wInter)는 상단 이웃의 (wIntra, wInter)와 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (2, 2)와 동일하게 설정된다.
CIIP 예측은 다음과 같이 형성된다:
실시예 #22
좌측 또는/및 상단 이웃이 CIIP 코딩되는 경우, 현재 블록의 (wIntra, wInter)는 제1 CIIP 코딩된 이웃(좌측->상단)의 (wIntra, wInter)와 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (1, 3)과 동일하게 설정된다.
CIIP 예측은 다음과 같이 형성된다:
실시예 #23
좌측 또는/및 상단 이웃이 CIIP 코딩되는 경우, 현재 블록의 (wIntra, wInter)는 제1 CIIP 코딩된 이웃(좌측->상단)의 (wIntra, wInter)와 동일하게 설정된다; 그렇지 않으면, (wIntra, wInter)는 (2, 2)와 동일하게 설정된다.
CIIP 예측은 다음과 같이 형성된다:
실시예 #24
8.5.6 인터 블록들에 대한 디코딩 프로세스
8.5.6.1 일반 개념(General)
이러한 프로세스는 인터 예측 모드에서 코딩되는 코딩 유닛을 디코딩할 때 호출된다.
ciip_flag[ xCb ][ yCb ]가 1과 동일할 때, 예측 샘플들의 어레이 predSamples는 다음과 같이 수정된다:
- cIdx가 0과 동일한 경우, 다음이 적용된다:
- 조항 8.4.5.2.5에 특정된 것과 같은 일반적인 인트라 샘플 예측 프로세스는, ( xCb, yCb )와 동일하게 설정된 위치( xTbCmp, yTbCmp ), IntraPredModeY[ xCb ][ yCb ]와 동일하게 설정된 인트라 예측 모드 predModeIntra, cbWidth 및 cbHeight와 동일하게 설정된 변환 블록 폭 nTbW 및 높이 nTbH, cbWidth 및 cbHeight와 동일하게 설정된 코딩 블록 폭 nCbW 및 높이 nCbH, 및 변수 cIdx를 입력들로 하여 호출되고, 출력은 (cbWidth)x(cbHeight) 어레이 predSamplesIntraL에 할당된다.
- 조항 8.5.6.7에 특정된 바와 같은 조합된 머지 및 인트라 예측에 대한 가중된 샘플 예측 프로세스는, ( xCb, yCb )와 동일하게 설정된 위치( xTbCmp, yTbCmp ), 코딩 블록 폭 cbWidth, 코딩 블록 높이 cbHeight, predSamples 및 predSamplesIntraL와 각각 동일하게 설정된 샘플 어레이들 predSamplesInter 및 predSamplesIntra, IntraPredModeY[ xCb ][ yCb ]와 동일하게 설정된 인트라 예측 모드 predModeIntra, 및 컬러 성분 인덱스 cIdx를 입력들로 하여 호출되고, 출력은 (cbWidth)x(cbHeight) 어레이 predSamples에 할당된다.
...
8.5.6.7 조합된 머지 및 인트라 예측을 위한 가중된 샘플 예측 프로세스
이 프로세스에 대한 입력은 다음과 같다:
- 현재 픽처의 상단 좌측 루마 샘플에 대한 현재 루마 코딩 블록의 상단 좌측 샘플의 루마 위치( xCb, yCb ),
- 현재 코딩 블록의 폭 cbWidth,
- 현재 코딩 블록의 높이 cbHeight,
- 2개의 (cbWidth)x(cbHeight) 어레이 predSamplesInter 및 predSamplesIntra,
- 컬러 성분 인덱스를 특정하는 변수 cIdx.
이 프로세스의 출력은 예측 샘플 값들의 (cbWidth)x(cbHeight) 어레이 predSamplesComb이다.
변수 bitDepth는 다음과 같이 도출된다:
- cIdx가 0과 동일한 경우, bitDepth는 BitDepthY와 동일하게 설정된다.
- 그렇지 않으면, bitDepth는 BitDepthC와 동일하게 설정된다.
변수 scallFact는 다음과 같이 도출된다:
scallFact = ( cIdx = = 0 ) ? 0 : 1. (8-838)
이웃 루마 위치들 ( xNbA, yNbA ) 및 ( xNbB, yNbB )은
각각 ( xCb - 1, yCb - 1 + ( cbHeight << scallFact ) ) 및 ( xCb - 1 + (cbWidth << scallFact ), yCb - 1 )와 동일하게 설정된다.
X가 A 또는 B로 대체되는 경우, 변수들 availableX 및 isIntraCodedNeighbourX는 다음과 같이 도출된다:
- 조항 6.4.4에 특정된 바와 같은 이웃 블록 이용가능성에 대한 도출 프로세스는, ( xCb, yCb )와 동일하게 설정된 위치( xCurr, yCurr ), ( xNbX, yNbX )와 동일하게 설정된 이웃 위치( xNbY, yNbY ), FALSE와 동일하게 설정된 checkPredModeY, 및 0과 동일하게 설정된 cIdx를 입력들로 하여 호출되고, 출력은 availableX에 할당된다.
- 변수 isIntraCodedNeighbourX는 다음과 같이 도출된다:
- availableX가 TRUE와 동일하고 CuPredMode[ 0 ][ xNbX ][ yNbX ]가 MODE_INTRA와 동일하고 BdpcmFlag[ xNbX ][ yNbX ]가 0과 동일한 경우, isIntraCodedNeighbourX는 TRUE와 동일하게 설정된다.
- 그렇지 않으면, isIntraCodedNeighbourX는 FALSE와 동일하게 설정된다.
가중치 w는 다음과 같이 도출된다:
- isIntraCodedNeighbourA 및 isIntraCodedNeighbourB 둘 다가 TRUE와 동일한 경우, w는 3으로 설정된다.
- 그렇지 않으면, isIntraCodedNeighbourA 및 isIntraCodedNeighbourB 둘 다가 FALSE와 동일한 경우, w는 1로 설정된다.
- 그렇지 않으면, w는 2로 설정된다.
cIdx가 0과 동일하고 slice_lmcs_enabled_flag가 1일 때, x = 0..cbWidth - 1 및 y = 0..cbHeight - 1인 predSamplesInter[ x ][ y ]는 다음과 같이 수정된다:
도 18은 비디오 처리 장치(1800)의 블록도이다. 장치(1800)는 본 명세서에 설명된 방법들 중 하나 이상을 구현하기 위해 사용될 수 있다. 장치(1800)는 스마트폰, 태블릿, 컴퓨터, 사물 인터넷(IoT) 수신기 등으로 구현될 수 있다. 장치(1800)는 하나 이상의 프로세서(1802), 하나 이상의 메모리(1804) 및 비디오 처리 하드웨어(1806)를 포함할 수 있다. 프로세서(들)(1802)는 본 문서에서 설명된 하나 이상의 방법을 구현하도록 구성될 수 있다. 메모리(메모리들)(1804)는 본 명세서에 설명된 방법들 및 기법들을 구현하기 위해 사용되는 데이터 및 코드를 저장하기 위해 사용될 수 있다. 비디오 처리 하드웨어(1806)는, 하드웨어 회로에서, 본 문서에 설명된 일부 기법들을 구현하기 위해 사용될 수 있다.
도 20은 비디오를 처리하는 방법(2000)에 대한 흐름도이다. 방법(2000)은 제1 비디오 블록의 코딩된 모드를 결정하는 단계(2005), 제1 비디오 블록의 코딩된 모드의 결정에 기초하여 하나 이상의 플래그를 동작 상태로 제약하는 단계(2110)- 동작 상태는 거짓 또는 참임 -, 및 하나 이상의 플래그의 동작 상태에 따라 제2 비디오 블록의 추가 처리를 수행하는 단계(2015)를 포함하고, 제1 비디오 블록은 제2 비디오 블록과 관련하여 이웃 비디오 블록 또는 참조 비디오 블록이다.
도 21은 비디오를 처리하는 방법(2100)에 대한 흐름도이다. 방법(2100)은 제1 비디오 블록과 관련하여 쌍별 예측 또는 조합된-양방향 예측이 사용되는 것으로 결정하는 단계(2105), 쌍별 예측 또는 조합된-양방향 예측이 사용된다는 결정에 기초하여 조합된 인터-인트라 예측(CIIP)의 동작 상태를 결정하는 단계(2110)- 동작 상태는 인에이블 또는 디스에이블됨 -, 및 CIIP의 동작 상태에 따라 제1 비디오 블록의 추가 처리를 수행하는 단계(2115)를 포함한다.
도 23은 비디오를 처리하는 방법(2300)에 대한 흐름도이다. 방법(2300)은, 비디오 데이터 내의 제1 블록과 제1 블록의 비트스트림 표현 사이의 전환 동안, 하나 이상의 제2 블록의 하나 이상의 코딩된 모드를 결정하는 단계(2305); 하나 이상의 제2 블록의 하나 이상의 코딩된 모드에 기초하여, 제1 블록의 코딩된 모드 제약을 결정하는 단계(2310); 적어도 제1 블록의 코딩된 모드 제약을 적용함으로써, 전환을 수행하는 단계(2315)를 포함하고; 하나 이상의 제2 블록은 제1 블록의 인접 블록, 비-인접 블록, 및 참조 블록 중 적어도 하나를 포함한다.
도 24는 비디오를 처리하는 방법(2400)에 대한 흐름도이다. 방법(2400)은 조합된 인터-인트라 예측(CIIP), 확산 필터링, 양방향 필터링, 변환 도메인 필터링, 또는 확산 필터링, 양방향 필터링 및 변환 도메인 필터링과 상이한 다른 타입의 사후-재구성 필터링 중 적어도 하나를 사용하여 비디오 데이터 내의 현재 블록과 현재 블록의 비트스트림 표현 사이의 전환을 수행하는 단계(2405)를 포함하고, 조합된 인터-인트라 예측(CIIP), 확산 필터링, 양방향 필터링, 변환 도메인 필터링, 또는 다른 타입의 사후-재구성 필터링 중 적어도 하나에서 사용되는 현재 블록의 재구성된 이웃 샘플들은 하나 이상의 참조 픽처에서 재구성된 이웃 샘플들의 대응하는 샘플들로부터 생성된 근사화된 샘플들로 대체된다.
도 25는 비디오를 처리하는 방법(2500)에 대한 흐름도이다. 방법(2500)은 모션 정보와 함께 조합된 인터-인트라 예측(CIIP) 모드의 CIIP 플래그 및/또는 인트라 모드를 이력-기반 모션 벡터 예측(HMVP) 테이블에 저장하는 단계(2505); 및 적어도 HMVP 테이블에 기초하여, 비디오 데이터 내의 현재 블록과 현재 블록의 비트스트림 표현 사이의 전환을 수행하는 단계를 포함한다.
도 26은 비디오를 처리하는 방법(2600)에 대한 흐름도이다. 방법(2600)은 비디오 데이터 내의 현재 블록과 현재 블록의 비트스트림 표현 사이의 전환 동안, 현재 블록에 대한 예측 모드를 결정하는 단계(2605); 현재 블록이 AMVP(advanced motion vector prediction) 모드 또는 머지 모드로 코딩된다는 결정에 응답하여 현재 블록에 대해 CIIP 모드가 인에이블된다는 것을 표시하는 조합된 CIIP(inter-intra prediction) 모드의 적용가능성을 결정하는 단계(2610); 및 CIIP 모드의 적용가능성에 기초하여, 전환을 수행하는 단계(2615)를 포함한다.
도 27은 비디오를 처리하는 방법(2700)에 대한 흐름도이다. 방법(2700)은 비디오 데이터 내의 현재 블록과 현재 블록의 비트스트림 표현 사이의 전환 동안, 현재 블록에 대한 선택된 머지 후보의 타입을 결정하는 단계(2705); 선택된 머지 후보의 타입에 따라 현재 블록에 대한 조합된 인터-인트라 예측(CIIP)의 적용가능성을 결정하는 단계(2710)- 현재 블록은 머지 모드에서 코딩됨 -를 포함한다.
방법들(2000 및 2100)을 참조하여, 인코딩 및 그들의 사용을 위한 조합된 인트라 인터 예측의 일부 예들이 본 문서의 섹션 4에 설명된다. 예를 들어, 섹션 4에서 설명된 바와 같이, 비디오 블록들이 조합된 인트라 인터 예측에 따라 사용하여 처리될 수 있다.
방법들(2000 및 2100)을 참조하면, 조합된 인트라 인터 예측에 관련된 비트스트림 생성 규칙을 사용함으로써 비트 효율이 달성될 수 있는 비디오 블록이 비디오 비트스트림에 인코딩될 수 있다.
방법들은 하나 이상의 플래그가 조합된 인터-인트라 예측(CIIP) 플래그, 로컬 조명 보상(LIC) 플래그, 확산 필터링 플래그, 양방향 필터링 플래그, 변환 도메인 필터 플래그, 또는 다른 타입의 사후-재구성 필터 플래그를 포함하는 것을 포함할 수 있다.
방법들은 하나 이상의 플래그가 제1 연산에 관련된 제1 플래그를 포함하고, 제1 플래그는 거짓으로 도출되고, 제1 연산은 적용되지 않는 것을 포함할 수 있다.
방법들은 제1 동작의 사용이 스킵되도록 시그널링되는 것을 포함할 수 있다.
방법들은 제1 연산의 사용이 적합성 비트스트림에서 거짓으로 제약되도록 시그널링되는 것을 포함할 수 있다.
방법들은 제1 비디오 블록이 제2 비디오 블록과 관련하여 이웃 행 또는 열 내에 있는 것을 포함할 수 있다.
방법들은 이웃 행이 위 행 또는 위 우측 행을 포함하는 것을 포함할 수 있다.
방법들은 이웃 열이 좌측 열, 아래 좌측 열, 또는 위 좌측 코너 열을 포함하는 것을 포함할 수 있다.
방법들은 코딩된 모드가 인트라 모드, CIIP 모드 또는 CPR 모드를 포함하는 것을 포함할 수 있다.
방법들은 제2 비디오 블록의 위치를 결정하는 단계를 포함할 수 있고, 하나 이상의 플래그를 거짓 상태로 제약하는 것은 또한 제2 비디오 블록의 위치의 결정에 기초한다.
방법들은 위치가 현재 코딩 트리 유닛(CTU)의 상단에 있고, 제2 비디오 블록의 위 이웃 블록이 상이한 CTU 내에 있는 것을 포함할 수 있다.
방법들은 위치가 현재 코딩 트리 유닛(CTU)의 좌측에 있고, 제2 비디오 블록의 좌측 이웃 블록이 상이한 CTU 내에 있는 것을 포함할 수 있다.
방법들은 하나 이상의 플래그가 CIIP 플래그 또는 CIIP 모드 플래그의 인트라 모드를 포함하고, 하나 이상의 플래그에 관련된 데이터가 모션 정보와 함께 이력-기반 모션 벡터 예측(HMVP) 테이블에 저장되는 것을 포함할 수 있다.
방법들은 2개의 후보의 모션 정보를 비교하는 단계를 포함할 수 있고, 여기서 CIIP 플래그 또는 인트라 모드 CIIP 모드 플래그는 모션 정보의 비교에 사용되지 않는다.
방법들은 2개의 후보의 모션 정보를 비교하는 단계를 포함할 수 있고, 여기서 CIIP 플래그 또는 인트라 모드 CIIP 모드 플래그는 모션 정보의 비교에 사용된다.
방법들은 머지 후보가 HMVP 테이블 내의 엔트리로부터 온 것임을 결정하는 단계; 및 엔트리의 CIIP 플래그를 머지 후보에 복사하는 단계를 포함할 수 있다.
방법들은 머지 후보가 HMVP 테이블 내의 엔트리로부터 온 것임을 결정하는 단계; 및 엔트리의 CIIP 플래그 및 인트라 모드를 머지 후보에 복사하는 단계를 포함할 수 있다.
방법들은 하나 이상의 플래그의 플래그가 CIIP와 관련되고, CIIP가 AMVP(advanced motion vector prediction)를 위해 수행되는 것을 포함할 수 있다.
방법들은 CIIP 플래그 및 인트라 모드 플래그가 AMVP 모드에 대해 시그널링되는 것을 포함할 수 있다.
방법들은 CIIP 플래그가 머지 모드 또는 UMVE 모드에서 상속되고, CIIP 플래그는 참의 동작 상태를 포함하고, CIIP에서 하나보다 많은 인트라 모드가 허용되고, 인트라 모드는 CIIP에서 허용되는 하나보다 많은 인트라 모드에 기초하여 시그널링되는 것을 포함할 수 있다.
방법들은 머지 모드 또는 UMVE 모드에서의 이웃 또는 비-인접 비디오 블록들의 CIIP 플래그 및 인트라 모드가 제2 비디오 블록에 의해 상속되는 것을 포함할 수 있다.
방법들은 CIIP가 스킵 모드에 대해 디스에이블되는 것을 포함할 수 있다.
방법들은 2개의 후보에 관련된 정보를 비교하는 단계를 포함할 수 있고, CIIP 플래그 또는 인트라 모드 CIIP 모드 플래그는 정보의 비교에 사용되지 않는다.
방법들은 2개의 후보에 관련된 정보를 비교하는 단계를 포함할 수 있고, CIIP 플래그 또는 인트라 모드 CIIP 모드 플래그는 정보의 비교에 사용된다.
방법들은 쌍별 예측 또는 조합된-양방향 예측에 수반된 하나 이상의 후보가 CIIP 예측을 채택하고, 동작 상태가 인에이블되는 것을 포함할 수 있다.
방법들은 2개의 후보 중 하나의 후보의 인트라 모드가 상속되는 것을 포함할 수 있다.
방법들은 인트라 모드가 시그널링되는 것을 포함할 수 있다.
방법들은 2개의 후보가 쌍별 예측 또는 조합된-양방향 예측에 수반된 것을 포함할 수 있다.
방법들은 CIIP 모드, 확산 필터, 양방향 필터, 변환 도메인 필터, 또는 다른 타입의 사후-재구성 필터들에서 사용되는 재구성된 샘플들이 참조 픽처들 내의 샘플들로 대체되는 것을 포함할 수 있다.
방법들은 제2 비디오 블록이 양방향 예측되고, 2개의 참조 블록의 이웃 샘플들이 평균화되어 최종 이웃 샘플들을 생성하는 것을 포함할 수 있다.
방법들은 제2 비디오 블록이 양방향 예측되고, 2개의 참조 블록의 이웃 샘플들이 최종 이웃 샘플들로서 사용되는 것을 포함할 수 있다.
방법들은 제2 비디오 블록이 양방향 예측되고, 2개의 참조 블록의 이웃 샘플들은, 동일하지 않은-가중치 일반화된 양방향 예측(GBI) 또는 가중 예측(weighted prediction) LIC가 제2 비디오 블록에 적용되는 것에 기초하여 가중 평균되어 최종 이웃 샘플들을 생성하는 것을 포함할 수 있다.
방법들은 참조 픽처들 내의 샘플들이 제2 비디오 블록의 모션 정보에 의해 식별되는 것을 포함할 수 있다.
방법들은 참조 픽처들 내의 샘플들이 제2 비디오 블록의 모션 정보에 의해 식별되는 것을 포함할 수 있다.
방법들은 모션 벡터가 정수 정밀도로 라운딩되고 샘플들을 식별하기 위해 사용되는 것을 포함할 수 있다.
방법들은 샘플들이 정수-펠 정밀도로 모션 벡터들에 의해 식별되는 참조 픽처들에 있는 것을 포함할 수 있다.
방법들은 제2 비디오 블록의 특성들을 결정하는 것을 포함할 수 있고, 특성들은 블록 크기, 슬라이스 타입, 픽처 타입, 타일 타입, 또는 모션 정보 중 하나 이상을 포함하고, 동작 상태를 제약하는 것은 특성들의 결정에 기초한다.
방법들은 방법들이 시퀀스 파라미터 세트(SPS), 뷰 파라미터 세트(VPS), 픽처 파라미터 세트(PPS), 시퀀스 헤더, 픽처 헤더, 슬라이스 헤더, 타일 그룹 헤더, 타일, 또는 CTU들의 그룹에서 시그널링되는 것을 포함할 수 있다.
이하의 해결책들의 리스팅은 이전 섹션에 열거된 항목들(예를 들어, 항목 11 내지 항목 16)에 대한 실시예들 및 변형들을 추가로 제공한다.
40. 비디오 처리 방법으로서, 코딩된 표현이 3개 미만의 쌍이 포함되는 가중치 쌍들의 세트로부터의 가중치 쌍을 사용하여 비디오 블록의 인트라 및 인터 예측 결과들의 가중 평균에 대응하는 조합 인트라 및 인터 예측 모드를 사용하여 비디오의 비디오 블록과 비디오 블록의 코딩된 표현 사이의 전환을 수행하는 단계를 포함하는 방법.
41. 해결책 40에 있어서, 가중치 쌍들의 세트는 2개의 쌍에 대응하는 방법.
42. 해결책 40 내지 해결책 41 중 임의의 것에 있어서, 가중치 쌍들은 단일 이웃 블록에 기초하여 결정되는 방법.
43. 해결책 40 내지 해결책 41 중 임의의 것에 있어서, 가중치 쌍들이 다수의 이웃 블록에 기초하여 결정되는 방법.
44. 해결책 40에 있어서, 가중치 쌍들의 세트는 정확히 하나의 쌍을 포함하는 방법.
45. 해결책 44에 있어서, 하나의 쌍은 (1,3) 또는 (2, 2) 또는 (1,7) 또는 (2, 6) 또는 (3, 5) 또는 (4, 4) 중 하나인 방법.
46. 비디오 처리 방법으로서, 코딩된 표현이 하나 이상의 이웃 블록의 코딩 정보로 인해 결정된 가중치 쌍들의 세트로부터의 가중치 쌍을 사용하여 비디오 블록의 인트라 및 인터 예측 결과들의 가중 평균에 대응하는 조합 인트라 및 인터 예측 모드를 사용하여 비디오의 비디오 블록과 비디오 블록의 코딩된 표현 사이의 전환을 수행하는 단계를 포함하는 방법.
47. 해결책 46에 있어서, 가중치 쌍들의 세트는 정확히 하나의 이웃 블록으로 인해 결정되는 방법.
48. 해결책 46에 있어서, 가중치 쌍 세트는 2개 이상의 이웃 블록으로 인해 결정되는 방법.
49. 해결책 40 내지 해결책 48 중 임의의 것에 있어서, 전환은 코딩된 표현을 생성하기 위해 비디오를 인코딩하는 것을 포함하는 방법.
50. 해결책 40 내지 해결책 48 중 임의의 것에 있어서, 전환은 비디오를 생성하기 위해 코딩된 표현을 디코딩하는 것을 포함하는 방법.
이러한 방법들의 다양한 다른 실시예들 및 추가적인 특징들은 다음의 조항-기반 기재를 사용하여 설명될 수 있다.
1. 비디오를 처리하는 방법으로서,
비디오 데이터 내의 제1 블록과 제1 블록의 비트스트림 표현 사이의 전환 동안, 하나 이상의 제2 블록의 하나 이상의 코딩된 모드를 결정하는 단계;
하나 이상의 제2 블록의 하나 이상의 코딩된 모드에 기초하여, 제1 블록의 코딩된 모드 제약을 결정하는 단계; 및
적어도 제1 블록의 코딩된 모드 제약을 적용함으로써, 전환을 수행하는 단계를 포함하고;
하나 이상의 제2 블록은 제1 블록의 인접 블록, 비-인접 블록, 및 참조 블록 중 적어도 하나를 포함하는 방법.
2. 조항 1에 있어서, 제1 블록의 코딩된 모드 제약을 결정하는 단계는:
하나 이상의 제2 블록의 하나 이상의 코딩된 모드에 기초하여, 제1 블록의 하나 이상의 코딩된 모드에 각각 대응하는 하나 이상의 플래그를 결정하는 단계를 포함하는 방법.
3. 조항 2에 있어서, 하나 이상의 코딩된 모드는:
조합된 인터-인트라 예측(CIIP) 모드, 로컬 조명 보상(LIC) 모드, 확산 필터링 모드, 양방향 필터링 모드, 변환 도메인 필터링 모드, 또는 확산 필터링 모드, 양방향 필터링 모드 및 변환 도메인 필터링 모드와 상이한 사후-재구성 필터링 모드를 포함하는 방법.
4. 조항 2 또는 조항 3에 있어서, 제1 블록의 코딩된 모드 제약은:
제1 코딩된 모드에 대응하는 제1 플래그가 거짓인 것으로 도출될 때, 제1 블록의 하나 이상의 코딩된 모드 중 제1 코딩된 모드가 디스에이블되는 것을 포함하는 방법.
5. 조항 2 내지 조항 4 중 어느 하나에 있어서, 제1 블록의 코딩된 모드 제약은:
제2 코딩된 모드에 대응하는 제2 플래그가 거짓인 것으로 도출될 때, 제1 블록의 하나 이상의 코딩된 모드 중 제2 코딩된 모드가 인에이블되는지 여부를 표시하는 정보가 시그널링되지 않는 것을 포함하는 방법.
6. 조항 2 내지 조항 5 중 어느 하나에 있어서, 제1 블록의 코딩된 모드 제약은:
제3 코딩된 모드에 대응하는 제3 플래그가 거짓인 것으로 도출될 때, 제1 블록의 하나 이상의 코딩된 모드 중 제3 코딩된 모드가 인에이블되는지 여부를 표시하는 정보가 시그널링되고 적합성 비트스트림에서 거짓인 것으로 제약되는 방법.
7. 조항 1 내지 조항 6 중 어느 하나에 있어서,
제1 블록의 코딩된 모드 제약을 적용할지를 결정하는 단계를 추가로 포함하는 방법.
8. 조항 7에 있어서, 제1 블록의 코딩된 모드 제약을 적용할지를 결정하는 단계는:
제1 블록의 이웃 행들 또는 열들의 코딩된 모드들에 따라 제1 블록의 코딩된 모드 제약을 적용할지를 결정하는 단계를 포함하는 방법.
9. 조항 7에 있어서, 제1 블록의 코딩된 모드 제약을 적용할지를 결정하는 단계는:
제4 모드로 코딩되지 않은 제1 블록의 이웃 행들 또는 이웃 열들 내의 적어도 N 샘플들에 따라 제1 블록의 코딩된 모드 제약을 적용할지를 결정하는 단계를 포함하고, N≥1인 방법.
10. 조항 8 또는 조항 9에 있어서, 이웃 행은 제1 블록의 위 행 및 위 우측 행을 포함하는 방법.
11. 조항 8 내지 조항 10 중 어느 하나에 있어서, 이웃 열은 제1 블록의 좌측 열, 아래 좌측 열, 및 위 좌측 코너 열을 포함하는 방법.
12. 조항 7 내지 조항 11 중 어느 하나에 있어서, 제1 블록의 코딩된 모드 제약을 적용할지를 결정하는 단계는:
임의의 이웃 비-인접 블록이 제4 모드로 코딩될 때 제1 블록의 코딩된 모드 제약이 적용되는 것으로 결정하는 단계를 포함하는 방법.
13. 조항 7 내지 조항 11 중 어느 하나에 있어서, 제1 블록의 코딩된 모드 제약을 적용할지를 결정하는 단계는:
이웃 비-인접 블록들 모두가 제4 모드로 코딩될 때 제1 블록의 코딩된 모드 제약이 적용되는 것으로 결정하는 단계를 포함하는 방법.
14. 조항 7 내지 조항 11 중 어느 하나에 있어서, 제1 블록의 코딩된 모드 제약을 적용할지를 결정하는 단계는:
적어도 M개의 이웃 비-인접 블록들이 제4 모드로 코딩되지 않고, M이 미리 정의된 제1 임계값일 때, 제1 블록의 코딩된 모드 제약이 적용되지 않는 것으로 결정하는 단계를 포함하는 방법.
15. 조항 9 내지 조항 14 중 어느 하나에 있어서, 제4 코딩된 모드는 인트라-예측 모드, 조합된 인터-인트라 예측(CIIP) 모드, 및 현재 픽처 참조(CPR) 모드 중 적어도 하나를 포함하는 방법.
16. 조항 7 내지 조항 14 중 어느 하나에 있어서, 제1 블록의 코딩된 모드 제약을 적용할지를 결정하는 단계는:
제1 블록의 위치에 따라 제1 블록의 코딩된 모드 제약을 적용할지를 결정하는 단계를 포함하는 방법.
17. 조항 16에 있어서, 제1 블록의 위치에 따라 제1 블록의 코딩된 모드 제약을 적용할지를 결정하는 단계는:
위치가 현재 코딩 트리 유닛(CTU)의 상단에 있고, 위 이웃 블록 및 제1 블록이 상이한 CTU들에 속할 때 제1 블록의 코딩된 모드 제약이 적용되지 않는 것으로 결정하는 단계를 포함하는 방법.
18. 조항 16에 있어서, 제1 블록의 위치에 따라 제1 블록의 코딩된 모드 제약을 적용할지를 결정하는 단계는:
위치가 현재 코딩 트리 유닛(CTU)의 좌측에 있고, 좌측 이웃 블록 및 제1 블록이 상이한 CTU들에 속할 때, 제1 블록의 코딩된 모드 제약이 적용되지 않는 것으로 결정하는 단계를 포함하는 방법.
19. 조항 1 내지 조항 18 중 어느 하나에 있어서,
현재 블록의 특성을 결정하는 단계; 및
현재 블록의 특성이 미리 정의된 조건을 충족시킬 때 현재 블록의 코딩된 모드 제약을 적용하기로 결정하는 단계를 추가로 포함하는 방법.
20. 조항 1 내지 조항 18 중 어느 하나에 있어서,
현재 블록 및/또는 이전에 코딩된 블록들의 특성들을 결정하는 단계; 및
현재 블록 및/또는 이전에 코딩된 블록들의 특성들에 따라 현재 블록의 코딩된 모드 제약을 적용할지를 결정하는 단계를 추가로 포함하는 방법.
21. 비디오를 처리하는 방법으로서,
조합된 인터-인트라 예측(CIIP), 확산 필터링, 양방향 필터링, 변환 도메인 필터링, 또는 확산 필터링, 양방향 필터링 및 변환 도메인 필터링과 상이한 다른 타입의 사후-재구성 필터링 중 적어도 하나를 사용하여 비디오 데이터 내의 현재 블록과 현재 블록의 비트스트림 표현 사이의 전환을 수행하는 단계를 포함하고,
조합된 인터-인트라 예측(CIIP), 확산 필터링, 양방향 필터링, 변환 도메인 필터링, 또는 다른 타입의 사후-재구성 필터링 중 적어도 하나에서 사용되는 현재 블록의 재구성된 이웃 샘플들은, 하나 이상의 참조 픽처 내의 재구성된 이웃 샘플들의 대응하는 샘플들로부터 생성된 근사화된 샘플들로 대체되는 방법.
22. 조항 21에 있어서, 현재 블록의 2개의 참조 블록의 이웃 샘플들은 현재 블록이 양방향 예측될 때 근사화된 샘플들을 생성하기 위해 평균화되는 방법.
23. 조항 21에 있어서, 현재 블록의 하나의 참조 블록의 이웃 샘플들은 현재 블록이 양방향 예측 또는 단방향 예측될 때 근사화된 샘플들로서 사용되는 방법.
24. 조항 21에 있어서, 현재 블록이 양방향 예측되고, 동일하지 않은-가중치(unequal-weight) 일반화된 양방향 예측(GBI), 가중 예측 및 로컬 조명 보상(LIC) 중 적어도 하나가 현재 블록에 적용될 때, 현재 블록의 2개의 참조 블록의 이웃 샘플들이 가중 평균되어 근사화된 샘플들을 생성하는 방법.
25. 조항 22 내지 조항 24 중 어느 하나에 있어서, 현재 블록의 참조 블록들의 이웃 샘플들은 현재 블록의 모션 정보에 의해 식별되는 방법.
26. 조항 22 내지 조항 24 중 어느 하나에 있어서, 현재 블록의 참조 블록들의 이웃 샘플들은 현재 블록의 수정된 모션 정보에 의해 식별되는 방법.
27. 조항 24에 있어서, 현재 블록의 수정된 모션 정보는 정수 정밀도로 라운딩(round)되는 수정된 모션 벡터인 방법.
28. 조항 21에 있어서, 현재 블록의 참조 블록들의 이웃 샘플들은 정수-펠 정밀도로 모션 벡터들에 의해 식별되는 방법.
29. 조항 28에 있어서, 재구성된 이웃 샘플들의 모션 벡터들은 대응하는 샘플들을 식별하기 위해 정수 정밀도로 라운딩되는 방법.
30. 조항 21 내지 조항 29 중 어느 하나에 있어서, 현재 블록의 재구성된 이웃 샘플들은 현재 블록이 정수-펠 정밀도로 코딩될 때에만 근사화된 샘플들로 대체되는 방법.
31. 조항 21 내지 조항 30 중 어느 하나에 있어서, 현재 블록의 재구성된 이웃 샘플들은 루마 성분 또는 크로마 성분만을 위한 근사화된 샘플들로 대체되는 방법.
32. 조항 19 내지 조항 31 중 어느 하나에 있어서,
현재 블록의 특성을 결정하는 단계; 및
현재 블록의 특성이 미리 정의된 조건을 충족시킬 때 재구성된 이웃 샘플들을 근사화된 샘플들로 대체하기로 결정하는 단계를 추가로 포함하는 방법.
33. 조항 19 또는 조항 32에 있어서, 현재 블록의 특성은 블록 크기, 슬라이스 타입, 픽처 타입, 타일 타입 및 모션 정보 중 적어도 하나를 포함하는 방법.
34. 조항 33에 있어서, 미리 정의된 조건은 현재 블록이 미리 정의된 제2 임계값보다 작지 않은 샘플들을 포함하는 것인 방법.
35. 조항 33에 있어서, 미리 정의된 조건은 현재 블록의 폭 및 높이가 미리 정의된 제3 임계값보다 큰 것인 방법.
36. 조항 33에 있어서, 미리 정의된 조건은 현재 블록의 폭 및 높이가 미리 정의된 제4 임계값보다 작은 것인 방법.
37. 조항 33에 있어서, 미리 정의된 조건은 현재 블록의 폭이 미리 정의된 제5 임계값보다 작고/작거나 현재 블록의 높이가 미리 정의된 제6 임계값보다 작은 것인 방법.
38. 조항 33에 있어서, 미리 정의된 조건은 현재 블록의 폭이 미리 정의된 제7 임계값보다 크고/크거나 현재 블록의 높이가 미리 정의된 제8 임계값보다 큰 것인 방법.
39. 조항 38에 있어서,
현재 블록의 코딩된 모드 제약을 적용할지 및/또는 재구성된 이웃 샘플들을 시퀀스 파라미터 세트(SPS), 뷰 파라미터 세트(VPS), 픽처 파라미터 세트(PPS), 시퀀스 헤더, 픽처 헤더, 슬라이스 헤더, 타일 그룹 헤더, 타일, 또는 CTU들의 그룹 내의 근사화된 샘플들로 대체할지를 표시하는 정보가 시그널링되는 방법.
40. 조항 21 내지 조항 39 중 어느 하나에 있어서,
현재 블록 및/또는 이전에 코딩된 블록들의 특성들을 결정하는 단계; 및
현재 블록 및/또는 이전에 코딩된 블록들의 특성들에 따라 재구성된 이웃 샘플들을 근사화된 샘플들로 대체할지를 결정하는 단계를 추가로 포함하는 방법.
41. 조항 20 또는 조항 40에 있어서, 현재 블록 및/또는 이전에 코딩된 블록들의 특성들은 블록 치수, 비디오 처리 데이터 유닛(VPDU), 픽처 타입, 저지연 검사 플래그, 현재 블록 및/또는 이전에 코딩된 블록들의 코딩된 정보 중 적어도 하나를 포함하는 방법.
42. 조항 41에 있어서, 현재 블록 및/또는 이전에 코딩된 블록들의 코딩된 정보는 참조 픽처들, 단방향-예측 또는 양방향-예측을 표시하는 방법.
43. 비디오 처리 장치로서, 조항 1 내지 조항 42 중 어느 하나에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 장치.
44. 조항 43에 있어서, 장치는 비디오 인코더인 장치.
45. 조항 43에 있어서, 장치는 비디오 디코더인 장치.
46. 코드를 포함하는 프로그램이 기록된 컴퓨터 판독가능 기록 매체로서, 프로그램은 프로세서가 조항 1 내지 조항 42 중 어느 하나에 기재된 방법을 수행하기 위한 것인 컴퓨터 판독가능 기록 매체.
이러한 방법들의 다양한 다른 실시예들 및 추가적인 특징들은 다음의 조항-기반 기재를 사용하여 설명될 수 있다.
1. 비디오를 처리하는 방법으로서,
모션 정보와 함께 조합된 인터-인트라 예측(CIIP) 모드의 CIIP 플래그 및/또는 인트라 모드를 이력-기반 모션 벡터 예측(HMVP) 테이블에 저장하는 단계; 및
적어도 HMVP 테이블에 기초하여, 비디오 데이터 내의 현재 블록과 현재 블록의 비트스트림 표현 사이의 전환을 수행하는 단계를 포함하는 방법.
2. 조항 1에 있어서,
2개의 후보의 모션 정보를 비교하는 단계를 추가로 포함하고,
CIIP 모드의 CIIP 플래그 및/또는 인트라 모드는 2개의 후보의 모션 정보의 비교에 사용되지 않는 방법.
3. 조항 1에 있어서,
2개의 후보의 모션 정보를 비교하는 단계를 추가로 포함하고,
CIIP 모드의 CIIP 플래그 및/또는 인트라 모드는 2개의 후보의 모션 정보의 비교에 사용되는 방법.
4. 조항 1 내지 조항 3 중 어느 하나에 있어서, 수행하는 단계는:
머지 후보가 HMVP 테이블 내의 엔트리로부터 온 것일 때, 엔트리의 CIIP 플래그를 머지 후보에 복사하는 단계를 포함하는 방법.
5. 조항 1 내지 조항 3 중 어느 하나에 있어서, 수행하는 단계는:
머지 후보가 HMVP 테이블 내의 엔트리로부터 온 것일 때, 엔트리의 CIIP 플래그 및 인트라 모드를 머지 후보에 복사하는 단계를 포함하는 방법.
6. 비디오를 처리하는 방법으로서,
비디오 데이터 내의 현재 블록과 현재 블록의 비트스트림 표현 사이의 전환 동안, 현재 블록에 대한 예측 모드를 결정하는 단계;
현재 블록이 고급 모션 벡터 예측(AMVP) 모드 또는 머지 모드로 코딩된다는 결정에 응답하여 조합된 인터-인트라 예측(CIIP) 모드가 현재 블록에 대해 인에이블된다는 것을 표시하는 CIIP 모드의 적용가능성을 결정하는 단계; 및
CIIP 모드의 적용가능성에 기초하여, 전환을 수행하는 단계를 포함하는 방법.
7. 조항 6에 있어서, CIIP 모드의 CIIP 플래그 및/또는 인트라 모드는 현재 블록이 AMVP 모드로 코딩될 때 시그널링되는 방법.
8. 조항 6 또는 조항 7에 있어서, 인접 이웃 블록들 및/또는 비-인접 이웃 블록들의 CIIP 모드의 CIIP 플래그 및/또는 인트라 모드는 현재 블록의 머지 모드 및/또는 MMVD(merge with motion vector difference) 모드에서 상속되는 방법.
9. 조항 6 내지 조항 8 중 어느 하나에 있어서, 비-스킵 머지 모드 및/또는 비-스킵 MMVD 모드에 대한 CIIP 모드의 CIIP 플래그 및/또는 인트라 모드가 시그널링되고, 인접 이웃 블록들 및/또는 비-인접 이웃 블록들의 CIIP 모드의 CIIP 플래그 및/또는 인트라 모드는 스킵 머지 모드 및/또는 스킵 MMVD 모드에서 상속되는 방법.
10. 조항 6 내지 조항 8 중 어느 하나에 있어서, 스킵 머지 모드 및/또는 스킵 MMVD 모드에 대한 CIIP 모드의 CIIP 플래그 및/또는 인트라 모드가 시그널링되고, 인접 이웃 블록들 및/또는 비-인접 이웃 블록들의 CIIP 모드의 CIIP 플래그 및/또는 인트라 모드는 비-스킵 머지 모드 및/또는 비-스킵 MMVD 모드에서 상속되는 방법.
11. 조항 6 내지 조항 10 중 어느 하나에 있어서, CIIP 플래그는 머지 모드 및/또는 스킵 MMVD 모드에서 상속되는 방법.
12. 조항 11에 있어서, 인트라 모드는 CIIP 플래그가 참이고 CIIP 모드에서 하나보다 많은 인트라 모드가 허용될 때 시그널링되는 방법.
13. 조항 6 내지 조항 12 중 어느 하나에 있어서, 머지 모드 및/또는 MMVD 모드에서 코딩된 인접 이웃 블록들 및/또는 비-인접 이웃 블록들의 CIIP 모드의 CIIP 플래그 및/또는 인트라 모드가 현재 블록에 의해 상속되는 방법.
14. 조항 6 내지 조항 13 중 어느 하나에 있어서,
스킵 모드에 대해 CIIP 모드를 디스에이블하는 단계를 추가로 포함하는 방법.
15. 조항 6 내지 조항 13 중 어느 하나에 있어서,
2개의 머지 후보의 정보를 비교하는 단계를 추가로 포함하고,
CIIP 모드의 CIIP 플래그 및/또는 인트라 모드는 2개의 머지 후보의 정보의 비교에 사용되지 않는 방법.
16. 조항 6 내지 조항 13 중 어느 하나에 있어서,
2개의 머지 후보의 정보를 비교하는 단계를 추가로 포함하고,
CIIP 모드의 CIIP 플래그 및/또는 인트라 모드는 2개의 머지 후보의 정보의 비교에 사용되는 방법.
17. 비디오를 처리하는 방법으로서,
비디오 데이터에서의 현재 블록과 현재 블록의 비트스트림 표현 사이의 전환 동안, 현재 블록에 대한 선택된 머지 후보의 타입을 결정하는 단계, 및
선택된 머지 후보의 타입에 따라 현재 블록에 대한 조합된 인터-인트라 예측(CIIP)의 적용가능성을 결정하는 단계를 포함하고,
현재 블록은 머지 모드에서 코딩되는 방법.
18. 조항 17에 있어서, CIIP는 현재 블록의 선택된 머지 후보가 쌍별 머지 후보, 조합된-양방향(combined-bi) 머지 후보, 제로 모션 머지 후보, 또는 가상 또는 인공 머지 후보 중 적어도 하나일 때 디스에이블되는 방법.
19. 조항 17 또는 조항 18에 있어서, 쌍별 머지 후보 또는 조합된-양방향 머지 후보에 수반된 하나의 후보가 CIIP 모드를 채택할 때, CIIP 모드는 쌍별 머지 후보 또는 조합된-양방향 머지 후보에 대해 인에이블되는 방법.
20. 조항 19에 있어서, 수반된 CIIP 모드 후보의 인트라 모드가 상속되는 방법.
21. 조항 19에 있어서, 수반된 CIIP 모드의 인트라 모드는 쌍별 머지 후보 또는 조합된-양방향 머지 후보에 대해 시그널링되는 방법.
22. 조항 17 또는 조항 18에 있어서, 쌍별 머지 후보 또는 조합된-양방향 머지 후보에 수반된 후보들 둘 다가 CIIP 모드를 채택할 때, CIIP 모드는 쌍별 머지 후보 또는 조합된-양방향 머지 후보에 대해 인에이블되는 방법.
23. 조항 22에 있어서, 2개의 수반된 후보 중 하나의 수반된 후보의 인트라 모드가 상속되는 방법.
24. 조항 22에 있어서, 수반된 CIIP 모드의 인트라 모드는 2개의 수반된 후보의 인트라 모드들로부터 도출되고 쌍별 머지 후보 또는 조합된-양방향 머지 후보에 사용되는 방법.
25. 조항 22에 있어서, 수반된 CIIP 모드의 인트라 모드는 쌍별 머지 후보 또는 조합된-양방향 머지 후보에 대해 시그널링되는 방법.
26. 비디오 처리 장치로서, 조항 1 내지 조항 25 중 어느 하나에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 장치.
27. 조항 26에 있어서, 장치는 비디오 인코더인 장치.
28. 조항 26에 있어서, 장치는 비디오 디코더인 장치.
29. 코드를 포함하는 프로그램이 기록된 컴퓨터 판독가능 기록 매체로서, 프로그램은 프로세서가 조항 1 내지 조항 25 중 어느 하나에 기재된 방법을 수행하기 위한 것인 컴퓨터 판독가능 기록 매체.
개시된 기법들은 해시 기반 모션 추정을 사용하여 압축 효율을 개선하기 위해 비디오 인코더들 또는 디코더들에서 구현될 수 있다는 것을 알 것이다.
본 문서에서 설명된 개시된 그리고 다른 해결책들, 예들, 실시예들, 모듈들 및 기능 동작들은 디지털 전자 회로에서, 또는 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어에서- 이 문서에 개시된 구조들 및 그들의 구조적 등가물들을 포함하여 -, 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 개시된 다른 실시예들은, 데이터 처리 장치에 의한 실행을 위해, 또는 데이터 처리 장치의 동작을 제어하기 위해, 하나 이상의 컴퓨터 프로그램 제품, 즉 컴퓨터 판독가능 매체 상에 인코딩된 컴퓨터 프로그램 명령의 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터 판독가능 매체는 머신 판독가능 저장 디바이스, 머신 판독가능 저장 기판, 메모리 디바이스, 머신 판독가능 전파 신호에 실행하는 물질의 조성 또는 이들 중 하나 이상의 것의 조합일 수 있다. "데이터 처리 장치"라는 용어는 예로 프로그램가능 프로세서, 컴퓨터, 또는 다중 프로세서 또는 컴퓨터를 포함하는 데이터를 처리하기 위한 모든 장치, 디바이스들 및 머신들을 포함한다. 장치는 하드웨어 이외에도 대상(in question) 컴퓨터 프로그램용 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어를 구성하는 코드, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 포함할 수 있다. 전파 신호는 인공적으로 생성된 신호, 예를 들어, 적절한 수신기 장치로의 송신을 위한 정보를 인코딩하기 위해 생성되는 머신 생성 전기, 광, 또는 전자기 신호이다.
(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드로도 알려진) 컴퓨터 프로그램은 컴파일되거나 해석된 언어를 포함하는 임의의 형태의 프로그래밍 언어로 기재될 수 있고, 이는 자립형(stand-alone) 프로그램 또는 모듈, 컴포넌트, 서브루틴 또는 컴퓨팅 환경의 사용에 적절한 기타 유닛을 포함하는 임의의 형태로 사용될 수 있다. 컴퓨터 프로그램은, 파일 시스템 내의 파일에 반드시 해당하지는 않는다. 프로그램은 다른 프로그램들 또는 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트)를 보유하는 파일의 일부분에, 대상(in question) 프로그램 전용인 단일 파일에, 또는 다수의 통합 파일(coordinated file)(예를 들어, 하나 이상의 모듈, 서브 프로그램(sub program)들, 또는 코드 부분(portion of code)들을 저장하는 파일들)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터상에서, 또는 하나의 위치에 배치되어 있거나, 다수의 위치에 걸쳐 분산되어 통신 네트워크에 의해 상호접속되는 다수의 컴퓨터 상에서 실행되도록 배치될 수 있다.
이 문서에 설명된 프로세스 및 로직 흐름은, 입력 데이터를 조작하여 출력을 생성함으로써 기능을 실행하도록 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램가능 프로세서에 의해 실행될 수 있다. 프로세스들 및 로직 흐름들은 또한, 특수 목적 로직 회로, 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)에 의해 수행될 수 있으며, 장치는 또한, 특수 목적 로직 회로, 예컨대 FPGA 또는 ASIC로서 구현될 수 있다.
컴퓨터 프로그램을 실행하는데 적합한 프로세서들은, 예를 들어, 범용 및 특수 목적 마이크로프로세서들 둘 다, 및 임의의 종류의 디지털 컴퓨터 중 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리(read only memory) 또는 랜덤-액세스 메모리(random-access memory) 또는 둘 다로부터 명령어들과 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은, 명령어들을 실행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 스토리지 디바이스, 예로서 자기, 광자기 디스크 또는 광학 디스크를 포함하거나, 그들로부터 데이터를 수신하거나 그들로 데이터를 전송하거나 이들 둘 다를 행하도록 기능적으로 조합될 것이다. 그러나, 컴퓨터가 이러한 디바이스들을 가질 필요는 없다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체는 모든 형태들의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함하고, 이는 예로서, 반도체 메모리 디바이스들, 예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스들; 자기 디스크들, 예를 들어, 내부 하드 디스크들 또는 이동식 디스크들; 광자기 디스크들; 및 CD ROM 및 DVD-ROM 디스크들을 포함한다. 프로세서 및 메모리는 특수 목적 로직 회로에 의해 보완되거나 그에 포함될 수 있다.
본 특허 문서가 많은 세부 사항들을 포함하고 있지만, 이들이 임의의 주제의 또는 청구될 수 있는 것의 범위에 대한 제한으로서 해석되어서는 안 되고, 오히려 특정 기법들의 특정 실시예들에 특정적일 수 있는 특징들의 설명으로서 해석되어야 한다. 별개의 실시예들의 정황에서 본 특허 문서에서 설명된 특정 특징들은 또한, 단일의 실시예에서 조합하여 구현될 수 있다. 역으로, 단일 실시예의 문맥에서 설명된 여러 가지 특징이 또한 복수의 실시예에서 별개로 또는 임의의 적합한 하위 조합으로 실시될 수 있다. 또한, 앞서 특징들이 특정 조합들로 동작하는 것으로서 기술되고 심지어는 처음에는 이렇게 청구될 수 있지만, 어떤 경우들에서는 청구된 조합으로부터의 하나 이상의 특징이 조합으로부터 제외될(excised) 수 있으며, 청구된 조합은 부분조합 또는 부분조합의 변형에 대한 것일 수 있다.
유사하게, 도면들에는 동작들이 특정 순서로 도시되지만, 이것은 바람직한 결과들을 달성하기 위해 그러한 동작들이 도시된 특정 순서로 또는 순차적으로 수행되어야 하거나, 모든 예시된 동작들이 수행되어야 하는 것을 요구하는 것으로 이해되어서는 안 된다. 또한, 본 특허 문서에서 설명된 실시예들에서의 다양한 시스템 컴포넌트들의 분리는 모든 실시예에서 이러한 분리를 요구하는 것으로 이해되어서는 안 된다.
단지 몇 개의 구현 및 예들만이 설명되었지만, 본 특허 문서에서 설명되고 예시된 내용에 기초하여 다른 구현, 개선 및 변형이 이루어질 수 있다.

Claims (29)

  1. 비디오를 처리하는 방법으로서,
    비디오 데이터 내의 현재 블록과 상기 비디오 데이터의 비트스트림 사이의 전환 동안, 제1 코딩 모드가 상기 현재 블록에 대해 적용가능한지에 대한 제1 결정을 하는 단계- 상기 제1 코딩 모드는 스킵 모드임 -;
    상기 제1 코딩 모드의 적용가능성에 따라, 제2 코딩 모드가 상기 현재 블록에 대해 적용가능한지에 대한 제2 결정을 하는 단계- 상기 제2 코딩 모드에서, 상기 현재 블록의 예측 신호는 적어도 상기 현재 블록의 인트라 예측 신호와 상기 현재 블록의 인터 예측 신호의 가중 평균에 기초하여 생성됨 -; 및
    상기 제1 결정 및 상기 제2 결정에 기초하여, 상기 전환을 수행하는 단계를 포함하고,
    상기 제2 코딩 모드는 상기 제1 코딩 모드가 상기 현재 블록에 적용가능한 경우 디스에이블되는 방법.
  2. 제1항에 있어서,
    상기 전환은 상기 비트스트림으로부터 상기 현재 블록을 디코딩하는 것을 포함하는 방법.
  3. 제1항에 있어서,
    상기 전환은 상기 현재 블록을 상기 비트스트림으로 인코딩하는 것을 포함하는 방법.
  4. 제1항에 있어서,
    상기 방법은,
    2개의 후보 중 적어도 하나를 상기 현재 블록에 대해 구성된 후보 리스트에 추가할지를 결정하기 위해 상기 2개의 후보의 제1 정보를 비교하는 단계를 추가로 포함하고;
    2개의 후보 중 상기 제1 정보는 상기 제2 코딩 모드와 관련된 제2 정보를 포함하지 않는 방법.
  5. 제4항에 있어서,
    상기 제2 코딩 모드에 관련된 상기 제2 정보는:
    상기 제2 코딩 모드의 플래그, 또는
    상기 제2 코딩 모드에서 사용되는 인트라 모드 중 적어도 하나를 포함하는 방법.
  6. 제4항에 있어서,
    상기 2개의 후보는 2개의 공간 머지 후보를 포함하는 방법.
  7. 제4항에 있어서,
    상기 2개의 후보는 상기 후보 리스트 내의 공간 머지 후보 및 이력-기반 모션 벡터 예측 테이블로부터의 후보를 포함하는 방법.
  8. 제4항에 있어서,
    상기 2개의 후보는 공간 머지 후보 및 시간 머지 후보를 포함하는 방법.
  9. 제1항에 있어서,
    상기 제2 코딩 모드가 상기 현재 블록에 대해 적용가능한지는 상기 현재 블록에 대한 선택된 머지 후보의 타입에 추가로 기초하는 방법.
  10. 제1항에 있어서,
    상기 제2 코딩 모드에 관련된 정보는 상기 비디오 데이터 내의 블록들에 대한 후보 리스트를 구성하기 위해 사용되는 이력-기반 모션 벡터 예측 테이블에 모션 정보와 함께 저장되는 방법.
  11. 비디오 데이터를 처리하는 장치로서,
    프로세서 및 명령어들을 갖는 비일시적 메모리를 포함하고, 상기 명령어들은 상기 프로세서에 의한 실행 시에, 상기 프로세서로 하여금:
    비디오 데이터 내의 현재 블록과 상기 비디오 데이터의 비트스트림 사이의 전환 동안, 제1 코딩 모드가 상기 현재 블록에 대해 적용가능한지에 대한 제1 결정을 하고- 상기 제1 코딩 모드는 스킵 모드임 -;
    상기 제1 코딩 모드의 적용가능성에 따라, 제2 코딩 모드가 상기 현재 블록에 대해 적용가능한지에 대한 제2 결정을 하고- 상기 제2 코딩 모드에서, 상기 현재 블록의 예측 신호는 적어도 상기 현재 블록의 인트라 예측 신호와 상기 현재 블록의 인터 예측 신호의 가중 평균에 기초하여 생성됨 -; 및
    상기 제1 결정 및 상기 제2 결정에 기초하여, 상기 전환을 수행하게 하고,
    상기 제2 코딩 모드는 상기 제1 코딩 모드가 상기 현재 블록에 적용가능한 경우 디스에이블되는 장치.
  12. 제11항에 있어서,
    상기 프로세서는,
    2개의 후보 중 적어도 하나를 상기 현재 블록에 대해 구성된 후보 리스트에 추가할지를 결정하기 위해 상기 2개의 후보의 제1 정보를 비교하도록 구성되고;
    2개의 후보 중 상기 제1 정보는 상기 제2 코딩 모드와 관련된 제2 정보를 포함하지 않는 장치.
  13. 제12항에 있어서,
    상기 제2 코딩 모드에 관련된 상기 제2 정보는:
    상기 제2 코딩 모드의 플래그, 또는
    상기 제2 코딩 모드에서 사용되는 인트라 모드 중 적어도 하나를 포함하는 장치.
  14. 제12항에 있어서,
    상기 2개의 후보는 2개의 공간 머지 후보를 포함하는 장치.
  15. 제12항에 있어서,
    상기 2개의 후보는 상기 후보 리스트 내의 공간 머지 후보 및 이력-기반 모션 벡터 예측 테이블로부터의 후보를 포함하는 장치.
  16. 제12항에 있어서,
    상기 2개의 후보는 공간 머지 후보 및 시간 머지 후보를 포함하는 장치.
  17. 명령어들이 저장된 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 명령어들은 프로세서로 하여금:
    비디오 데이터 내의 현재 블록과 상기 비디오 데이터의 비트스트림 사이의 전환 동안, 제1 코딩 모드가 상기 현재 블록에 대해 적용가능한지에 대한 제1 결정을 하고- 상기 제1 코딩 모드는 스킵 모드임 -;
    상기 제1 코딩 모드의 적용가능성에 따라, 제2 코딩 모드가 상기 현재 블록에 대해 적용가능한지에 대한 제2 결정을 하고- 상기 제2 코딩 모드에서, 상기 현재 블록의 예측 신호는 적어도 상기 현재 블록의 인트라 예측 신호와 상기 현재 블록의 인터 예측 신호의 가중 평균에 기초하여 생성됨 -; 및
    상기 제1 결정 및 상기 제2 결정에 기초하여, 상기 전환을 수행하게 하고,
    상기 제2 코딩 모드는 상기 제1 코딩 모드가 상기 현재 블록에 적용가능한 경우 디스에이블되는, 비일시적 컴퓨터 판독가능 저장 매체.
  18. 비디오 처리 장치에 의해 수행되는 방법에 의해 생성되는 비디오 데이터의 비트스트림을 저장하는 비일시적 컴퓨터 판독가능 기록 매체로서,
    상기 방법은:
    비디오 데이터 내의 현재 블록과 상기 비디오 데이터의 비트스트림 사이의 전환 동안, 제1 코딩 모드가 상기 현재 블록에 대해 적용가능한지에 대한 제1 결정을 하는 단계- 상기 제1 코딩 모드는 스킵 모드임 -;
    상기 제1 코딩 모드의 적용가능성에 따라, 제2 코딩 모드가 상기 현재 블록에 대해 적용가능한지에 대한 제2 결정을 하는 단계- 상기 제2 코딩 모드에서, 상기 현재 블록의 예측 신호는 적어도 상기 현재 블록의 인트라 예측 신호와 상기 현재 블록의 인터 예측 신호의 가중 평균에 기초하여 생성됨 -; 및
    상기 제1 결정 및 상기 제2 결정에 기초하여 상기 비트스트림을 생성하는 단계를 포함하고,
    상기 제2 코딩 모드는 상기 제1 코딩 모드가 상기 현재 블록에 적용가능한 경우 디스에이블되는, 비일시적 컴퓨터 판독가능 기록 매체.
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
KR1020217023357A 2019-02-01 2020-02-02 조합된 인트라-인터 예측의 확장된 적용 Active KR102696718B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
CNPCT/CN2019/074425 2019-02-01
CN2019074425 2019-02-01
CNPCT/CN2019/079148 2019-03-21
CN2019079148 2019-03-21
CNPCT/CN2019/100616 2019-08-14
CN2019100616 2019-08-14
PCT/CN2020/074151 WO2020156537A1 (en) 2019-02-01 2020-02-02 Extended application of combined intra-inter prediction

Publications (2)

Publication Number Publication Date
KR20210119981A KR20210119981A (ko) 2021-10-06
KR102696718B1 true KR102696718B1 (ko) 2024-08-21

Family

ID=71840809

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217023357A Active KR102696718B1 (ko) 2019-02-01 2020-02-02 조합된 인트라-인터 예측의 확장된 적용

Country Status (6)

Country Link
US (2) US12425578B2 (ko)
EP (1) EP3891978A4 (ko)
JP (2) JP7259053B2 (ko)
KR (1) KR102696718B1 (ko)
CN (2) CN113396588B (ko)
WO (2) WO2020156536A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12425578B2 (en) 2019-02-01 2025-09-23 Beijing Bytedance Network Technology Co., Ltd. Harmonization between different video process mode

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11659166B2 (en) * 2019-01-02 2023-05-23 Lg Electronics Inc. Method and apparatus for coding image by using MMVD based on CPR
US11949851B2 (en) * 2019-01-04 2024-04-02 Lg Electronics Inc. Inter prediction method and apparatus using CPR-based MMVD
US11290726B2 (en) * 2019-02-07 2022-03-29 Qualcomm Incorporated Inter-intra prediction mode for video data
MX2021010980A (es) 2019-03-21 2021-10-13 Beijing Bytedance Network Tech Co Ltd Procesamiento de ponderacion mejorado de intra-interprediccion combinadas.
KR102662603B1 (ko) 2019-06-06 2024-04-30 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩을 위한 움직임 후보 리스트 구성
CN113950838B (zh) 2019-06-06 2026-03-17 北京字节跳动网络技术有限公司 基于子块的帧内块复制
WO2020259426A1 (en) * 2019-06-22 2020-12-30 Beijing Bytedance Network Technology Co., Ltd. Motion candidate list construction for intra block copy mode
JP7361522B2 (ja) * 2019-08-05 2023-10-16 日本放送協会 予測ブロック生成装置、画像符号化装置、画像復号装置、及びプログラム
US12069305B2 (en) * 2021-04-16 2024-08-20 Tencent America LLC Low memory design for multiple reference line selection scheme
EP4391530A4 (en) * 2021-08-18 2025-07-30 Lg Electronics Inc IMAGE ENCODING/DECODING METHOD AND APPARATUS FOR PERFORMING REFERENCE SAMPLE FILTERING BASED ON INTRA PREDICTION MODE, AND BIT STREAM TRANSMISSION METHOD
WO2024153079A1 (en) * 2023-01-16 2024-07-25 Mediatek Inc. Video coding method and apparatus of chroma prediction
WO2025007263A1 (zh) * 2023-07-03 2025-01-09 Oppo广东移动通信有限公司 编解码方法、码流、编码器、解码器以及存储介质
WO2025068566A1 (en) * 2023-09-28 2025-04-03 Interdigital Ce Patent Holdings, Sas Decoder-side intra mode derivation merge
CN119835426A (zh) * 2024-12-19 2025-04-15 北京达佳互联信息技术有限公司 帧间预测的运动信息确定方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170251213A1 (en) 2016-02-25 2017-08-31 Mediatek Inc. Method and apparatus of video coding

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1753242A2 (en) 2005-07-18 2007-02-14 Matsushita Electric Industrial Co., Ltd. Switchable mode and prediction information coding
ZA200900032B (en) 2006-07-07 2010-03-31 Ericsson Telefon Ab L M Video data management
CA2655970A1 (en) 2006-07-07 2008-01-10 Telefonaktiebolaget L M Ericsson (Publ) Video data management
WO2010041857A2 (en) * 2008-10-06 2010-04-15 Lg Electronics Inc. A method and an apparatus for decoding a video signal
CN101877785A (zh) 2009-04-29 2010-11-03 祝志怡 一种基于混合预测的视频编码方法
US9113169B2 (en) * 2009-05-07 2015-08-18 Qualcomm Incorporated Video encoding with temporally constrained spatial dependency for localized decoding
KR101607308B1 (ko) * 2010-01-19 2016-03-29 삼성전자주식회사 이전 블록의 움직임 벡터를 현재 블록의 움직임 벡터로 이용하는 영상 부호화, 복호화 방법 및 장치
KR101791078B1 (ko) 2010-04-16 2017-10-30 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
EP2388999B1 (en) * 2010-05-17 2021-02-24 Lg Electronics Inc. New intra prediction modes
EP2858366B1 (en) * 2010-07-09 2017-02-01 Samsung Electronics Co., Ltd Method for decoding video by using block merging
KR20230165392A (ko) * 2011-02-09 2023-12-05 엘지전자 주식회사 움직임 정보 저장 방법 및 이를 이용한 시간적 움직임 벡터 예측자 유도 방법
US9112526B2 (en) 2011-06-15 2015-08-18 Sony Corporation Binarization of DQP using separate absolute value and sign (SAVS) in CABAC
US9693070B2 (en) * 2011-06-24 2017-06-27 Texas Instruments Incorporated Luma-based chroma intra-prediction for video coding
WO2013081365A1 (ko) 2011-11-28 2013-06-06 에스케이텔레콤 주식회사 개선된 머지를 이용한 영상 부호화/복호화 방법 및 장치
US20140064366A1 (en) * 2012-09-03 2014-03-06 Texas Instruments Incorporated Intra-Prediction Estimation Using Approximate Reconstructed Samples
US9554150B2 (en) 2013-09-20 2017-01-24 Qualcomm Incorporated Combined bi-predictive merging candidates for 3D video coding
JP2015106747A (ja) * 2013-11-28 2015-06-08 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
US9609343B1 (en) 2013-12-20 2017-03-28 Google Inc. Video coding using compound prediction
US20150271515A1 (en) * 2014-01-10 2015-09-24 Qualcomm Incorporated Block vector coding for intra block copy in video coding
US10327002B2 (en) * 2014-06-19 2019-06-18 Qualcomm Incorporated Systems and methods for intra-block copy
EP3249667B1 (en) 2014-08-26 2018-10-31 SABIC Global Technologies B.V. Doped graphene electrodes for ferroelectric capacitor-based memory device
EP3180917B1 (en) * 2014-09-01 2022-04-20 HFI Innovation Inc. Method of intra picture block copy for screen content and video coding
KR20170084055A (ko) 2014-11-06 2017-07-19 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US10142647B2 (en) * 2014-11-13 2018-11-27 Google Llc Alternating block constrained decision mode coding
WO2016085229A1 (ko) * 2014-11-27 2016-06-02 주식회사 케이티 비디오 신호 처리 방법 및 장치
EP3032830A1 (en) * 2014-12-08 2016-06-15 Thomson Licensing Differential coding of intra modes
WO2016175550A1 (ko) 2015-04-27 2016-11-03 엘지전자 주식회사 비디오 신호의 처리 방법 및 이를 위한 장치
EP4040791A1 (en) * 2015-06-08 2022-08-10 Vid Scale, Inc. Intra block copy mode for screen content coding
US20160373770A1 (en) 2015-06-18 2016-12-22 Qualcomm Incorporated Intra prediction and intra mode coding
US10412407B2 (en) * 2015-11-05 2019-09-10 Mediatek Inc. Method and apparatus of inter prediction using average motion vector for video coding
WO2017082670A1 (ko) 2015-11-12 2017-05-18 엘지전자 주식회사 영상 코딩 시스템에서 계수 유도 인트라 예측 방법 및 장치
KR20170072637A (ko) 2015-12-17 2017-06-27 한국전자통신연구원 영상 부호화/복호화 방법 및 그 장치
GB2547053B (en) 2016-02-08 2020-07-08 Canon Kk Methods, devices, and computer programs for combining the use of intra-layer prediction and inter-layer prediction with scalability & screen content features
WO2017139937A1 (en) 2016-02-18 2017-08-24 Mediatek Singapore Pte. Ltd. Advanced linear model prediction for chroma coding
US20170347094A1 (en) 2016-05-31 2017-11-30 Google Inc. Block size adaptive directional intra prediction
WO2017209328A1 (ko) * 2016-06-03 2017-12-07 엘지전자 주식회사 영상 코딩 시스템에서 인트라 예측 방법 및 장치
US10979732B2 (en) 2016-10-04 2021-04-13 Qualcomm Incorporated Adaptive motion vector precision for video coding
US20180376148A1 (en) 2017-06-23 2018-12-27 Qualcomm Incorporated Combination of inter-prediction and intra-prediction in video coding
CN107995489A (zh) * 2017-12-20 2018-05-04 北京大学深圳研究生院 一种用于p帧或b帧的帧内帧间组合预测方法
JP6503101B2 (ja) * 2018-02-23 2019-04-17 マイクロソフト テクノロジー ライセンシング,エルエルシー イントラブロックコピー予測におけるブロック反転及びスキップモード
US10834409B2 (en) * 2018-04-06 2020-11-10 Arris Enterprises Llc System and method of implementing multiple prediction models for local illumination compensation
US11297348B2 (en) 2018-04-13 2022-04-05 Mediatek Inc. Implicit transform settings for coding a block of pixels
US11051034B2 (en) 2018-10-08 2021-06-29 Qualcomm Incorporated History-based motion vector predictor
US11652984B2 (en) 2018-11-16 2023-05-16 Qualcomm Incorporated Position-dependent intra-inter prediction combination in video coding
CN113366845B (zh) 2019-01-31 2024-08-16 寰发股份有限公司 视频编码中结合帧间和帧内预测的方法和装置
KR102696718B1 (ko) 2019-02-01 2024-08-21 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 조합된 인트라-인터 예측의 확장된 적용
US11290726B2 (en) 2019-02-07 2022-03-29 Qualcomm Incorporated Inter-intra prediction mode for video data
US11178414B2 (en) 2019-02-27 2021-11-16 Mediatek Inc. Classification for multiple merge tools
MX2021010980A (es) 2019-03-21 2021-10-13 Beijing Bytedance Network Tech Co Ltd Procesamiento de ponderacion mejorado de intra-interprediccion combinadas.

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170251213A1 (en) 2016-02-25 2017-08-31 Mediatek Inc. Method and apparatus of video coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Y-W Chen (KWAI) et al: "Non-CE4 : Regular merge flag coding", JVET-M0231, 2019.1.3.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12425578B2 (en) 2019-02-01 2025-09-23 Beijing Bytedance Network Technology Co., Ltd. Harmonization between different video process mode

Also Published As

Publication number Publication date
JP7589281B2 (ja) 2024-11-25
US12425578B2 (en) 2025-09-23
CN113302920A (zh) 2021-08-24
CN113302920B (zh) 2024-09-10
WO2020156537A1 (en) 2020-08-06
JP7259053B2 (ja) 2023-04-17
EP3891978A4 (en) 2022-08-31
JP2023076612A (ja) 2023-06-01
US20250324037A1 (en) 2025-10-16
US20210360232A1 (en) 2021-11-18
EP3891978A1 (en) 2021-10-13
CN113396588B (zh) 2026-03-20
CN113396588A (zh) 2021-09-14
KR20210119981A (ko) 2021-10-06
JP2022517666A (ja) 2022-03-09
WO2020156536A1 (en) 2020-08-06

Similar Documents

Publication Publication Date Title
KR102649520B1 (ko) 조합된 인트라-인터 예측의 개선된 가중 처리
KR102696718B1 (ko) 조합된 인트라-인터 예측의 확장된 적용
US12200193B2 (en) TMVP derivation
US11706406B2 (en) Selection of coded motion information for LUT updating
JP2022524536A5 (ko)
JP2022517666A5 (ko)
RU2802175C2 (ru) Усовершенствованная обработка весовых коэффициентов при использовании комбинированного режима с внутрикадровым и межкадровым прогнозированием
WO2020012448A2 (en) Shape dependent interpolation order
BR112021017512B1 (pt) Método de processamento de vídeo, aparelho para processamento de dados de vídeo e meios de armazenamento e de gravação não transitórios legíveis por computador

Legal Events

Date Code Title Description
PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0302 Request for accelerated examination

St.27 status event code: A-1-2-D10-D17-exm-PA0302

St.27 status event code: A-1-2-D10-D16-exm-PA0302

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U12-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301