KR20210099215A - 조합된 인터 및 인트라 예측을 개선하는 시스템 및 방법 - Google Patents

조합된 인터 및 인트라 예측을 개선하는 시스템 및 방법 Download PDF

Info

Publication number
KR20210099215A
KR20210099215A KR1020217024920A KR20217024920A KR20210099215A KR 20210099215 A KR20210099215 A KR 20210099215A KR 1020217024920 A KR1020217024920 A KR 1020217024920A KR 20217024920 A KR20217024920 A KR 20217024920A KR 20210099215 A KR20210099215 A KR 20210099215A
Authority
KR
South Korea
Prior art keywords
reference picture
prediction
mode
coding block
current coding
Prior art date
Application number
KR1020217024920A
Other languages
English (en)
Other versions
KR102450491B1 (ko
Inventor
샤오위 슈
이-원 천
샹린 왕
Original Assignee
베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 filed Critical 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드
Priority to KR1020227033810A priority Critical patent/KR20220136506A/ko
Priority claimed from KR1020217023688A external-priority patent/KR102489605B1/ko
Publication of KR20210099215A publication Critical patent/KR20210099215A/ko
Application granted granted Critical
Publication of KR102450491B1 publication Critical patent/KR102450491B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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

Landscapes

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

Abstract

본 개시는 비디오 코딩을 위한 방법에 관한 것이다. 상기 방법은 현재 예측 블록과 연관된 제1 참조 화상 및 제2 참조 화상을 획득하는 단계, 현재 예측 블록에서 제1 참조 화상에서의 참조 블록까지의 제1 모션 벡터 MV0에 기반하여 제1 예측 L0을 획득하는 단계, 현재 예측 블록에서 제2 참조 화상에서의 참조 블록까지의 제2 모션 벡터 MV1에 기반하여 제2 예측 L1을 획득하는 단계, BDOF(bidirectional optical flow) 연산이 적용되는지를 판정하는 단계, 및 제1 예측 L0 및 제2 예측 L1, 그리고 제1 그래디언트 값 및 제2 그래디언트 값에 기반하여 현재 예측 블록의 양방향 예측을 계산하는 단계를 포함한다.

Description

조합된 인터 및 인트라 예측을 개선하는 시스템 및 방법{SYSTEM AND METHOD FOR IMPROVING COMBINED INTER AND INTRA PREDICTION}
본 출원은, 2019년 1월 9일에 출원된 가출원 번호 제62/790,421호를 기반으로 하고 이에 대한 우선권을 주장하는 바이며, 상기 문헌의 내용은 그 전체로서 원용에 의해 본 명세서에 포함된다.
본 출원은 비디오 코딩 및 압축에 관련된다. 보다 구체적으로, 본 출원은 비디오 코딩을 위한 조합된 인터 및 인트라 예측(Combined Inter and Intra Prediction, CIIP) 방법 및 장치에 관한 것이다.
비디오 데이터를 압축하기 위해 다양한 비디오 코딩 기술이 사용될 수 있다. 비디오 코딩은 하나 이상의 비디오 코딩 표준에 따라 수행된다. 예를 들어 비디오 코딩 표준은 VVC(versatile video coding), JEM(Joint exploration test model), 고효율 비디오 코딩(high-efficiency video coding, H.265/HEVC), 고급 비디오 코딩(advanced video coding, H.264/AVC), MPEG(moving picture experts group) 코딩 등을 포함한다. 비디오 코딩은 일반적으로 비디오 이미지 또는 시퀀스에 존재하는 중복성(redundancy)을 이용하는 예측 방법(예: 인터 예측(inter-prediction), 인트라 예측(intra-prediction) 등)을 활용한다. 비디오 코딩 기술의 중요한 목표는 비디오 데이터를 더 낮은 비트 레이트(bit rate)을 사용하는 형식으로 압축하면서, 비디오 품질 저하를 방지하거나 최소화하는 것이다.
본 개시의 예는 병합(merge) 관련 모드의 신택스 시그널링(syntax signaling)의 효율성을 개선하기 위한 방법을 제공한다.
본 개시의 제1 측면에 따르면, 비디오 코딩 방법은, 현재 예측 블록과 연관된 제1 참조 화상 및 제2 참조 화상을 획득하는 단계 - 디스플레이 순서에서 상기 제1 참조 화상은 현재 화상 이전이고, 상기 제2 참조 화상은 상기 현재 화상 이후임 -; 상기 현재 예측 블록으로부터 상기 제1 참조 화상에서의 참조 블록까지의 제1 모션 벡터 MV0에 기반하여 제1 예측 L0을 획득하는 단계; 상기 현재 예측 블록으로부터 상기 제2 참조 화상에서의 참조 블록까지의 제2 모션 벡터 MV1에 기반하여 제2 예측 L1을 획득하는 단계; BDOF(bidirectional optical flow) 연산이 적용되는지를 판정하는 단계 - 상기 BDOF는 상기 제1 예측 L0와 연관된 예측 샘플에 대한 제1 수평 그래디언트(gradient) 값
Figure pat00001
및 제1 수직 그래디언트 값
Figure pat00002
그리고 상기 제2 예측 L1과 연관된 제2 수평 그래디언트 값
Figure pat00003
및 제2 수직 그래디언트 값
Figure pat00004
을 계산함 -; 및 상기 제1 예측 L0 및 상기 제2 예측 L1, 제1 그래디언트 값
Figure pat00005
Figure pat00006
그리고 제2 그래디언트 값
Figure pat00007
Figure pat00008
에 기반하여 상기 현재 예측 블록의 이중 예측(bi-prediction)을 계산하는 단계를 포함한다.
본 개시의 제2 측면에 따르면, 비디오 코딩 방법은, 현재 예측 블록과 연관된 참조 화상 리스트에서 참조 화상을 획득하는 단계; 현재 화상으로부터 제1 참조 화상까지의 제1 모션 벡터에 기반하여 인터 예측(inter prediction)을 생성하는 단계; 상기 현재 예측 블록과 연관된 인트라 예측 모드를 획득하는 단계; 상기 인트라 예측에 기반하여 상기 현재 예측 블록의 인트라 예측을 생성하는 단계; 상기 인터 예측 및 상기 인트라 예측을 평균하는 것에 의해 상기 현재 예측 블록의 최종 예측을 생성하는 단계; 및 상기 현재 예측 블록이 MPM(most probable mode) 기반 인트라 모드 예측을 위한 인터 모드 또는 인트라 모드로 취급되는지를 판정하는 단계를 포함한다.
본 개시의 제3 측면에 따르면, 명령이 저장된, 컴퓨터가 판독 가능한 비 일시적 저장 매체가 제공된다. 명령은 하나 이상의 프로세서에 의해 실행될 때 컴퓨팅 디바이스가, 현재 예측 블록과 연관된 제1 참조 화상 및 제2 참조 화상을 획득하는 작동 - 디스플레이 순서에서 상기 제1 참조 화상은 현재 화상 이전이고, 상기 제2 참조 화상은 상기 현재 화상 이후임 -; 상기 현재 예측 블록으로부터 상기 제1 참조 화상에서의 참조 블록까지의 제1 모션 벡터 MV0에 기반하여 제1 예측 L0을 획득하는 작동; 상기 현재 예측 블록으로부터 상기 제2 참조 화상에서의 참조 블록까지의 제2 모션 벡터 MV1에 기반하여 제2 예측 L1을 획득하는 작동; BDOF(bidirectional optical flow) 연산이 적용되는지를 판정하는 작동 - 상기 BDOF는 상기 제1 예측 L0와 연관된 예측 샘플에 대한 제1 수평 그래디언트 값
Figure pat00009
및 제1 수직 그래디언트 값
Figure pat00010
그리고 상기 제2 예측 L1과 연관된 제2 수평 그래디언트 값
Figure pat00011
및 제2 수직 그래디언트 값
Figure pat00012
을 계산함 -; 및 상기 현재 예측 블록의 이중 예측을 계산하는 작동을 포함하는 작동들을 수행하게 한다.
본 개시의 제4 측면에 따르면, 명령이 저장된, 컴퓨터가 판독 가능한 비 일시적 저장 매체가 제공된다. 명령은 하나 이상의 프로세서에 의해 실행될 때 컴퓨팅 디바이스가, 현재 예측 블록과 연관된 참조 화상 리스트에서 참조 화상을 획득하는 작동; 현재 화상으로부터 제1 참조 화상까지의 제1 모션 벡터에 기반하여 인터 예측을 생성하는 작동; 상기 현재 예측 블록과 연관된 인트라 예측 모드를 획득하는 작동; 상기 인트라 예측에 기반하여 상기 현재 예측 블록의 인트라 예측을 생성하는 작동; 상기 인터 예측 및 상기 인트라 예측을 평균하는 것에 의해 상기 현재 예측 블록의 최종 예측을 생성하는 작동; 및 상기 현재 예측 블록이 MPM(most probable mode) 기반 인트라 모드 예측을 위한 인터 모드 또는 인트라 모드로 취급되는지를 판정하는 작동을 포함하는 작동들을 수행하게 한다.
전술한 일반적인 설명 및 다음의 상세한 설명은 모두 예시 일뿐이며 본 개시를 제한하지 않음을 이해해야 한다.
본 명세서에 포함되고 그 일부를 구성하는 첨부된 도면은 본 개시와 일치하는 예를 예시하고, 상세한 설명과 함께 본 개시의 원리를 설명하는 역할을 한다.
도 1은 본 개시의 일 예에 따른 인코더의 블록도이다.
도 2는 본 개시의 일 예에 따른 디코더의 블록도이다.
도 3은 본 개시의 일 예에 따른 CIIP(combined inter and intra prediction)를 생성하는 방법을 예시하는(illustrating) 흐름도이다.
도 4는 본 개시의 일 예에 따른 CIIP를 생성하는 방법을 예시하는 흐름도이다.
도 5a는 본 개시의 일 예에 따른 다중 유형 트리 구조에서 블록 파티션을 예시하는 도면이다.
도 5b는 본 개시의 일 예에 따른 다중 유형 트리 구조에서 블록 파티션을 예시하는 도면이다.
도 5c는 본 개시의 일 예에 따른 다중 유형 트리 구조에서 블록 파티션을 예시하는 도면이다.
도 5d는 본 개시의 일 예에 따른 다중 유형 트리 구조에서 블록 파티션을 예시하는 도면이다.
도 5e는 본 개시의 일 예에 따른 다중 유형 트리 구조에서 블록 파티션을 예시하는 도면이다.
도 6a는 본 개시의 일 예에 따른 CIIP(combined inter and intra prediction)를 예시하는 도면이다.
도 6b는 본 개시의 일 예에 따른 CIIP(combined inter and intra prediction)를 예시하는 도면이다.
도 6c는 본 개시의 일 예에 따른 CIIP(combined inter and intra prediction)를 예시하는 도면이다.
도 7a는 본 개시의 일 예에 따른 MPM 후보 리스트 생성 프로세스의 흐름도이다.
도 7b는 본 개시의 일 예에 따른 MPM 후보 리스트 생성 프로세스의 흐름도이다.
도 8은 본 개시의 일 예에 따른 VVC에서 기존 CIIP 설계의 워크플로를 예시하는 도면이다.
도 9는 본 개시의 일 예에 따른 BDOF 제거에 의한 제안된 CIIP 방법의 워크플로를 예시하는 도면이다.
도 10은 본 개시의 일 예에 따른 POC 거리를 기반으로 예측 리스트를 선택하는 단일 예측 기반 CIIP의 워크플로를 예시하는 도면이다.
도 11a는 본 개시의 일 예에 따른 MPM 후보 리스트 생성을 위해 CIIP 블록을 활성화할 때의 방법의 흐름도이다.
도 11b는 본 개시의 일 예에 따른 MPM 후보 리스트 생성을 위해 CIIP 블록을 비활성화할 때의 방법의 흐름도이다.
도 12는 본 개시의 일 예에 따른, 사용자 인터페이스와 결합된 컴퓨팅 환경을 예시하는 도면이다.
이제 본 개시의 예들에 대한 참조가 상세하게 이루어질 것이며, 그 예들은 첨부 도면들에 예시된다. 이하의 설명은 별도의 표현이 없는 한 서로 다른 도면에서의 동일한 번호는 동일하거나 유사한 엘리먼트(element)를 나타내는 첨부 도면을 참조한다. 본 개시의 예들에 대한 다음의 설명에서 제시된 구현은 본 개시와 일치하는(consistent) 모든 구현을 나타내는 것은 아니다. 대신에, 이들은 첨부된 청구 범위에 인용된 바와 같이 본 개시와 관련된 측면과 일치하는 장치 및 방법의 예일뿐이다.
본 개시에서 사용되는 용어는 단지 특정 실시 예를 설명하기 위한 것이며 본 개시를 제한하려는 의도가 아니다. 본 개시 및 첨부된 청구 범위에서 사용된 바와 같이, 단수형 "일(a)", "일(an)" 및 "상기(the)"는 문맥상 명백하게 달리 지시하지(indicate) 않는 한 복수형도 포함하도록 의도된다. 또한, 여기에서 사용된 용어 "및/또는"은 하나 이상의 연관된 열거된 항목의 임의의 또는 모든 가능한 조합(combination)을 의미하고 포함하는 것으로 이해되어야 한다.
여기서 다양한 정보를 설명하기 위해 "제1", "제2", "제3" 등의 용어가 사용될 수 있지만, 이러한 용어에 의해 정보가 제한되어서는 안된다는 것을 이해해야 한다. 이러한 용어는 정보의 한 범주를 다른 범주와 구별하는 데만 사용된다. 예를 들어, 본 개시의 범위를 벗어나지 않으면서, 제1 정보는 제2 정보로 지칭될 수 있고; 유사하게, 제2 정보는 또한 제1 정보로 지칭될 수 있다. 여기서 사용되는 바와 같이, 용어 "만약(if)"은 문맥에 따라 "때(when)" 또는 "시(upon)" 또는 "판단에 응답하여"를 의미하는 것으로 이해될 수 있다.
HEVC 표준의 제1 버전은 2013년 10월에 완성되었으며, 이는 이전 세대의 비디오 코딩 표준 H.264/MPEG AVC에 비해 약 50%의 비트 레이트 절약 또는 동등한 지각 품질(perceptual quality)을 제공한다. HEVC 표준이 이전 버전보다 상당한 코딩 향상을 제공하지만, HEVC에 비해 추가 코딩 도구를 사용하여 뛰어난 코딩 효율성을 달성할 수 있다는 증거가 있다. 이를 바탕으로 VCEG와 MPEG는 향후 비디오 코딩 표준화를 위한 신규 코딩 기술의 탐색 작업을 시작했다. 하나의 JVET(Joint Video Exploration Team)가 ITU-T VECG 및 ISO/IEC MPEG에 의해 2015년 10월에 구성되어, 코딩 효율성을 크게 향상시킬 수 있는 고급 기술에 대한 상당한 연구를 시작했다. JEM(joint exploration model)이라고 하는 하나의 참조 소프트웨어가 HEVC 테스트 모델(HEVC test model, HM) 위에 몇 가지 추가 코딩 도구를 통합하여 JVET에서 유지 관리되었다.
2017년 10월에, ITU-T와 ISO/IEC에서 HEVC 이상의 능력(capability)을 갖춘 비디오 압축에 대한 공동(joint) 제안(call for proposals, CfP)을 발표했다. 2018년 4월에, 23개의 CfP 응답이 접수되고 10차 JVET 회의에서 평가되었으며, 이는 HEVC보다 약 40%의 압축 효율성 향상을 보여주었다. 이러한 평가 결과에 기반하여, JVET는 VVC(Versatile Video Coding)라는 차세대 비디오 코딩 표준을 개발하기 위한 새로운 프로젝트를 시작했다. 동일한 달에, VVC 표준의 참조 구현을 시연하기 위해 VVC 테스트 모델(VVC test model, VTM)이라고 하는 하나의 참조 소프트웨어 코드베이스가 구축되었다.
HEVC와 마찬가지로, VVC는 블록 기반 하이브리드 비디오 코딩 프레임워크를 기반으로 구축된다. 도 1(아래에서 설명)은 일반적인 블록 기반 하이브리드 비디오 인코딩 시스템의 블록도를 제공한다. 입력 비디오 신호는 블록(CU(coding unit)라고 함)별로 처리된다. VTM-1.0에서, CU는 최대 128×128 픽셀이 될 수 있다. 그러나, 쿼드트리(quad-trees)만을 기반으로 블록을 파티셔닝(partition)하는 HEVC와 달리, VVC에서, 하나의 코딩 트리 유닛(coding tree unit, CTU)을 CU로 분할하여(split) 쿼드(quad)/이진(binary)/터너리(ternary) 트리에 기반한 다양한 로컬 특성에 적응한다. 또한, HEVC에서 다중 파티션 유닛 유형(multiple partition unit type)의 개념이 제거되었으며, 즉, CU, 예측 유닛(prediction unit, PU) 및 변환 유닛(transform unit, TU)의 분리(separation)가 더 이상 VVC에 존재하지 않으며; 대신에, 각 CU는 항상 추가 파티션없이 예측 및 변환을 위한 기본 유닛으로 사용된다. 다중 유형 트리 구조(multi-type tree structure)에서, 하나의 CTU는 먼저 쿼드트리 구조로 파티셔닝된다. 그런 다음, 각 쿼드트리 리프 노드(leaf node)를 추가로 이진 및 터너리 트리 구조로 파티셔닝할 수 있다. 도 5a, 도 5b, 도 5c, 도 5d 및 도 5e(아래에 설명됨)에 도시된 바와 같이, 5개의 분할 유형(splitting type)인, 쿼터너리 파티셔닝(quaternary partitioning), 수평 이진 파티셔닝, 수직 이진 파티셔닝, 수평 터너리 파티셔닝 및 수직 터너리 파티셔닝이 각각 있다.
도 1(아래에서 설명됨)에서, 공간적 예측(spatial prediction) 및/또는 시간적 예측(temporal prediction)이 수행될 수 있다. 공간적 예측(또는 "인트라 예측")은 동일한 비디오 화상(picture)/슬라이스(slice)에서 이미 코딩된 이웃 블록(neighboring block)(참조 샘플(reference sample)이라고 함)의 샘플로부터의 픽셀을 사용하여, 현재 비디오 블록을 예측한다. 공간적 예측은 비디오 신호에 내재된 공간적 중복성을 감소시킨다. 시간적 예측("인터 예측" 또는 "모션 보상 예측(motion compensated prediction)"이라고도 함)은 이미 코딩된 비디오 화상으로부터의 재구성된 픽셀을 사용하여, 현재 비디오 블록을 예측한다. 시간적 예측은 비디오 신호에 내재된 시간적 중복성을 감소시킨다. 주어진 CU에 대한 시간적 예측 신호는 일반적으로 현재 CU와 그의 시간적 참조 사이의 모션의 양(amount)과 방향을 지시하는 하나 이상의 모션 벡터(motion vector, MV)에 의해 시그널링된다. 또한, 다수의 참조 화상이 지원될 때, 하나의 참조 화상 인덱스가 추가로 송신되며, 이는 참조 화상 저장소(reference picture store)에서의 어떤 참조 화상으로부터 시간적 예측 신호가 오는지를 식별하는 데 사용된다. 공간적 및/또는 시간적 예측 후에, 인코더에서의 모드 결정 블록은 예를 들어 레이트 왜곡 최적화(rate-distortion optimization) 방법에 기반하여 최상의 예측 모드를 선택한다. 예측 블록(prediction block)은 현재 비디오 블록으로부터 감산되며; 예측 잔차(prediction residual)는 변환을 사용하여 상관 관계가 해제되고(de-correlated) 양자화된다.
양자화된 잔차 계수(residual coefficient)는 역 양자화되고(inverse quantized) 역 변환되어(inverse transformed) 재구성된 잔차를 형성하며, 이는 그 다음에 예측 블록에 다시 추가되어 CU의 재구성된 신호를 형성한다. 디블로킹 필터(deblocking filter), 샘플 적응형 오프셋(sample adaptive offset, SAO) 및 적응형 인루프 필터(adaptive in-loop filter, ALF)와 같은 인루프 필터링(in-loop filtering)이, 참조 화상 저장소에 저장되고 향후 비디오 블록을 코딩하는 데 사용되기 전에, 재구성된 CU에 추가로 적용될 수 있다. 출력 비디오 비트스트림을 형성하기 위해, 코딩 모드(인터 또는 인트라), 예측 모드 정보, 모션 정보 및 양자화된 잔차 계수가 모두 엔트로피(entropy) 코딩 유닛으로 송신되어 비트스트림을 형성하기 위해 추가로 압축되고 패킹된다(packed).
도 2(아래에 설명됨)는 블록 기반 비디오 디코더의 일반적인 블록도를 제공한다. 비디오 비트스트림은 먼저, 엔트로피 디코딩 유닛에서 엔트로피 디코딩된다. 코딩 모드 및 예측 정보는 공간적 예측 유닛(인트라 코딩될 때) 또는 시간적 예측 유닛(인터 코딩될 때)으로 송신되어 예측 블록을 형성한다. 잔차 변환 계수는 잔차 블록을 재구성하기 위해 역 양자화(inverse quantization) 유닛 및 역 변환(inverse transform) 유닛으로 송신된다. 그런 다음, 예측 블록과 잔차 블록이 함께 추가된다. 재구성된 블록(reconstructed block)은 참조 화상 저장소에 저장되기 전에 인루프 필터링을 더 거칠 수 있다. 참조 화상 저장소에 있는 재구성된 비디오는 디스플레이 디바이스를 구동하기 위해 송신될 뿐만 아니라 향후 비디오 블록을 예측하는 데 사용된다.
도 1은 전형적인 인코더(100)를 도시한다. 인코더(100)는 비디오 입력(110), 모션 보상(112), 모션 추정(114), 인트라/인터 모드 결정(116), 블록 예측자(predictor)(140), 가산기(adder)(128), 변환(130), 양자화(132), 예측 관련 정보(prediction related info)(142), 인트라 예측(118), 화상 버퍼(120), 역 양자화(134), 역 변환(136), 가산기(126), 메모리(124), 인루프 필터(in-loop filter)(122), 엔트로피 코딩(138) 및 비트스트림(144)을 갖는다.
도 2는 전형적인 디코더(200) 블록도를 도시한다. 디코더(200)는 비트스트림(210), 엔트로피 디코딩(212), 역 양자화(214), 역 변환(216), 가산기(218), 인트라/인터 모드 선택(220), 인트라 예측(222), 메모리(230), 인루프 필터(228), 모션 보상(224), 화상 버퍼(226), 예측 관련 정보(234) 및 비디오 출력(232)을 갖는다.
도 3은 본 개시에 따라 조합된 인터 및 인트라 예측(combined inter and intra prediction, CIIP)을 생성하는 예시적인 방법(300)을 도시한다.
단계(310)에서, 현재 예측 블록과 연관된 제1 참조 화상 및 제2 참조 화상을 획득하며, 여기서 디스플레이 순서에서 제1 참조 화상은 현재 화상 이전이고, 제2 참조 화상은 현재 화상 이후이다.
단계(312)에서, 현재 예측 블록으로부터 제1 참조 화상에서의 참조 블록까지의 제1 모션 벡터 MV0에 기반하여 제1 예측 L0을 획득한다.
단계(314)에서, 현재 예측 블록으로부터 제2 참조 화상의 참조 블록까지의 제2 모션 벡터 MV1에 기반하여 제2 예측 L1을 획득한다.
단계(316)에서, BDOF(bidirectional optical flow) 연산이 적용되는지를 판정하며, 여기서 BDOF는 제1 예측 L0과 연관된 예측 샘플에 대한 제1 수평 및 수직 그래디언트 값(gradient value) 및 제2 예측 L1과 연관된 제2 수평 및 수직 그래디언트 값을 계산한다. 예를 들어, BDOF는 제1 예측 L0과 연관된 예측 샘플에 대한 제1 수평 그래디언트 값
Figure pat00013
및 제1 수직 그래디언트 값
Figure pat00014
그리고 제2 예측 L1과 연관된 제2 수평 그래디언트 값
Figure pat00015
및 제2 수직 그래디언트 값
Figure pat00016
을 계산한다.
단계(318)에서, 제1 예측 L0 및 제2 예측 L1, 제1 그래디언트 값 및 제2 그래디언트 값을 기반으로 현재 예측 블록의 이중 예측(bi-prediction)을 계산한다. 예를 들어, 제1 그래디언트 값
Figure pat00017
Figure pat00018
그리고 제2 그래디언트 값
Figure pat00019
Figure pat00020
이다.
도 4는 본 개시에 따라 CIIP를 생성하는 예시적인 방법을 도시한다. 예를 들어, 이 방법은 CIIP 생성을 위한 단일 예측(uni-prediction) 기반 인터 예측 및 MPM 기반 인트라 예측을 포함한다.
단계(410)에서, 현재 예측 블록과 연관된 참조 화상 리스트에서 참조 화상을 획득한다.
단계(412)에서, 현재 화상으로부터 제1 참조 화상까지의 제1 모션 벡터에 기반하여 인터 예측을 생성한다.
단계(414)에서, 현재 예측 블록과 연관된 인트라 예측 모드를 획득한다.
단계(416)에서, 인트라 예측에 기반하여 현재 예측 블록의 인트라 예측을 생성한다.
단계(418)에서, 인터 예측과 인트라 예측을 평균하는 것에 의해 현재 예측 블록의 최종 예측(final prediction)을 생성한다.
단계(420)에서, 현재 예측 블록이 MPM(most probable mode) 기반 인트라 모드 예측을 위한 인터 모드 또는 인트라 모드로 취급되는지를 판정한다.
도 5a는 본 개시의 일 예에 따른 다중 유형 트리 구조에서 블록 쿼터너리 파티션을 예시하는 다이어그램을 도시한다.
도 5b는 본 개시의 일 예에 따른 다중 유형 트리 구조에서 블록 수직 이진 파티션을 예시하는 다이어그램을 도시한다.
도 5c는 본 개시의 일 예에 따른 다중 유형 트리 구조에서 블록 수평 이진 파티션을 예시하는 다이어그램을 도시한다.
도 5d는 본 개시의 일 예에 따른 다중 유형 트리 구조에서 블록 수직 터너 리 파티션을 예시하는 다이어그램을 도시한다.
도 5e는 본 개시의 일 예에 따른 다중 유형 트리 구조에서 블록 수평 터너리 파티션을 예시하는 다이어그램을 도시한다.
조합된 인터 및 인트라 예측(Combined Inter and Intra Prediction)
도 1 및 도 2에 도시된 바와 같이, 인터 및 인트라 예측 방법은 하이브리드 비디오 코딩 방식에서 사용되며, 여기서 각 PU는 시간적 또는 공간적 도메인에서 상관 관계(correlation)를 활용하기 위해 인터 예측 또는 인트라 예측만 선택할 수 있지만 둘 다에서는 사용할 수 없다. 그러나 이전 문헌에서 지적한 바와 같이, 인터 예측된 블록(inter-predicted block)과 인트라 예측된 블록(intra-predicted block)에 의해 생성된 잔차 신호는 서로 매우 다른 특성을 나타낼 수 있다. 따라서 두 종류의 예측을 효율적으로 조합할 수 있을 때 예측 잔차의 에너지를 줄여 코딩 효율을 높이기 위해 한 번 더 정확한 예측을 기대할 수 있다. 추가적으로, 자연 비디오 콘텐츠(nature video content)에서 움직이는 객체(moving object)의 모션이 복잡할 수 있다. 예를 들어, 구(old) 콘텐츠(예: 이전에 코딩된 화상에 포함된 객체)와 신규 콘텐츠(예: 이전에 코딩된 화상에서 제외된 객체)를 모두 포함하는 영역(area)이 있을 수 있다. 이러한 시나리오에서, 인터 예측이나 인트라 예측은 현재 블록에 대한 하나의 정확한 예측을 제공할 수 없다.
예측 효율을 더욱 향상시키기 위해, VVC 표준에서는 병합 모드로 코딩된 하나의 CU의 인트라 예측과 인터 예측을 조합한 CIIP(Combined Inter and Intra Prediction)를 채택한다. 구체적으로, 각 병합 CU에 대해, CIIP가 현재 CU에 대해 활성화되었는지(enabled)를 지시하기 위해 하나의 추가 플래그(flag)가 시그널링된다. 루마(luma) 컴포넌트(component)의 경우, CIIP는 자주 사용되는 네 가지 인트라 모드를 지원하며, 이들은 평면(planar) 모드, DC 모드, 수평(horizontal) 모드 및 수직(vertical) 모드를 포함한다. 크로마(chroma) 컴포넌트의 경우, DM(즉, 크로마는 루마 컴포넌트의 동일한 인트라 모드를 재사용함)이 항상 추가적인 시그널링없이 적용된다. 추가적으로, 기존 CIIP 설계에서, 하나의 CIIP CU의 인터 예측 샘플과 인트라 예측 샘플을 조합하기 위해 가중 평균(weighted average)을 적용한다. 구체적으로, 평면 모드 또는 DC 모드를 선택할 때, 동일한 가중치(즉, 0.5)가 적용된다. 그렇지 않으면(즉, 수평 모드 또는 수직 모드가 적용됨), 현재 CU가 먼저 (수평 모드의 경우) 수직적으로 또는 (수직 모드의 경우) 수직적으로 4개의 동일한 크기 영역(equal-size area)으로 분할된다.
(w_intra i , w_inter i )로 표시되는(demoted) 4개의 가중치 세트는 서로 다른 영역에서 인터 예측 샘플 및 인트라 예측 샘플을 조합하는 데 적용되며, 여기서 i = 0i = 3은 인트라 예측에 사용되는 재구성된 이웃 샘플에 가장 가깝고 그리고 가장 먼 영역들을 나타낸다. 현재 CIIP 설계에서, 가중치 세트의 값은 (w_intra 0 , w_inter 0 ) = (0.75, 0.25), (w_intra 1 , w_inter 1 ) = (0.625, 0.375), (w_intra 2 , w_inter 2 ) = (0.375, 0.625) 및 (w_intra 3 , w_inter 3 ) = (0.25, 0.75)이다. 도 6a, 도 6b, 및 도 6c(아래에서 설명됨)는 CIIP 모드를 설명하기 위한 예를 제공한다.
추가적으로, 현재 VVC 작업 사양에서, 하나의 CIIP CU의 인트라 모드는 MPM(most probable mode) 메커니즘을 통해 이웃 CIIP CU의 인트라 모드를 예측하기 위한 예측자(predictor)로 사용될 수 있다. 구체적으로, 각 CIIP CU에 대해, 이웃 블록도 CIIP CU일 때, 이들 이웃 블록의 인트라 모드는 먼저 평면 모드, DC 모드, 수평 모드 및 수직 모드 내에서 가장 가까운 모드로 반올림되고(rounded), 그 다음에 현재 CU의 MPM 후보 리스트에 추가된다. 그러나, 각 인트라 CU에 대한 MPM 리스트를 구성할 때, 이웃 블록 중 하나가 CIIP 모드로 코딩되는 경우, 이는 사용할 수 없는 것으로 간주되며, 즉, 하나의 CIIP CU의 인트라 모드는 그의 이웃 인트라 CU의 인트라 모드를 예측하는 것이 허용되지 않는다. 도 7a 및 도 7b(아래에 설명됨)는 인트라 CU 및 CIIP CU의 MPM 리스트 생성 프로세스를 비교한다.
양방향 광학적 플로(Bi-Directional Optical Flow)
비디오 코딩에서 기존의 이중 예측은 이미 재구성된 참조 화상으로부터 획득된 2개의 시간적 예측 블록의 간단한 조합이다. 그러나, 블록 기반 모션 보상의 한계로 인해, 2개의 예측 블록의 샘플 간에 관찰할 수 있는 작은 모션이 남아 있어서, 모션 보상 예측의 효율성이 떨어질 수 있다. 이 문제를 해결하기 위해, 양방향 광학적 플로(bi-directional optical flow, BDOF)가 VVC에 적용되어, 하나의 블록 내의 모든 샘플에 대해 이러한 모션의 영향을 낮춘다.
구체적으로, 도 6a, 도 6b, 및 도 6c(아래에 설명됨)에 도시된 바와 같이, BDOF는 이중 예측이 사용될 때 블록 기반 모션 보상 예측의 상단(top)에 수행되는 샘플별 모션 조정(sample-wise motion refinement)이다. 각 4×4 서브 블록의 모션 조정
Figure pat00021
은 BDOF가 서브 블록 주변의 하나의 6×6 윈도(window) Ω 내에 적용된 후 L0 예측 샘플과 L1 예측 샘플 사이의 차이를 최소화하는 것에 의해 계산된다. 구체적으로,
Figure pat00022
의 값은 다음:
Figure pat00023
과 같이 유도되며, 여기서
Figure pat00024
은 플로어 함수(floor function)이며; clip3(min, max, x)는 [min, max] 범위 내에서 주어진 값 x를 클리핑하는(clip) 함수이고; 심볼 >>는 비트의 오른쪽 시프트 연산(bitwise right shift operation)을 나타내며; 심볼 <<는 비트의 왼쪽 시프트 연산(bitwise left shit operation)을 나타내고;
Figure pat00025
는 불규칙한 로컬 모션으로 인한 전파 에러(error)를 방지하기 위한 모션 미세 조정 임계 값(the motion refinement threshold)이며, 이는
Figure pat00026
와 같으며, 여기서
Figure pat00027
는 입력 비디오의 비트 깊이(bit-depth)이다. (1)에서,
Figure pat00028
이다.
Figure pat00029
Figure pat00030
의 값은 다음:
Figure pat00031
과 같이 계산될 수 있으며, 여기서,
Figure pat00032
이고,
Figure pat00033
는 리스트 k에서의 예측 신호의 좌표
Figure pat00034
에서의 샘플 값이며 - k=0, 1임 - 이는 중간 고정밀도(intermediate high precision)(즉, 16-비트)에서 생성되며;
Figure pat00035
Figure pat00036
는 그의 2개의 이웃 샘플 사이의 차이를 직접 계산하는 것에 의해 획득된 샘플의 수직 그래디언트 및 수평 그래디언트이며, 즉,
Figure pat00037
이다.
(1)에서 유도된 모션 조정을 기반으로, CU의 최종 이중 예측 샘플은 광학적 플로 모델을 기반으로 모션 궤적(motion trajectory)을 따라 L0/L1 예측 샘플을 보간하여 계산되며, 다음:
Figure pat00038
과 같이 지시되며, 여기서
Figure pat00039
Figure pat00040
은 이중 예측에 대한 L0 예측 신호 및 L1 예측 신호를 조합하기 위해 적용되는 오른쪽 시프트 값과 오프셋 값이며, 이는 각각
Figure pat00041
Figure pat00042
와 같다.
도 6a는 본 개시의 일 예에 따른 수평 모드에 대한 조합된 인터 및 인트라 예측을 예시하는 다이어그램을 도시한다.
도 6b는 본 개시의 일 예에 따른 수직 모드에 대한 조합된 인터 및 인트라 예측을 예시하는 다이어그램을 도시한다.
도 6c는 본 개시의 일 예에 따른, 평면 모드 및 DC 모드에 대한 조합된 인터 및 인트라 예측을 예시하는 다이어그램을 도시한다.
도 7a는 본 개시의 일 예에 따른 인트라 CUS의 MPM 후보 리스트 생성 프로세스의 흐름도를 도시한다.
도 7b는 본 개시의 일 예에 따른 CIIP CU의 MPM 후보 리스트 생성 프로세스의 흐름도를 도시한다.
CIIP 개선(Improvement)
CIIP는 종래의 모션 보상 예측의 효율성을 향상시킬 수 있지만, 그 설계는 여전히 추가로 개선될 수 있다. 구체적으로, VVC의 기존 CIIP 설계에서, 다음과 같은 문제가 본 개시에서 식별된다.
첫째, "조합된 인터 및 인트라 예측" 섹션에서 논의된 바와 같이, CIIP는 인터 및 인트라 예측의 샘플을 조합하기 때문에, 각 CIIP CU는 예측 신호를 생성하기 위해 재구성된 이웃 샘플을 사용해야 한다. 이는 하나의 CIIP CU의 디코딩이 이웃 블록의 전체 재구성에 의존한다는 것을 의미한다. 이러한 상호 의존성으로 인해, 실제 하드웨어 구현을 위해 CIIP는 이웃 재구성된 샘플을 인트라 예측에 사용할 수 있는 재구성 스테이지(stage)에서 수행되어야 한다. 재구성 스테이지에서 CU의 디코딩은 순차적으로(즉, 하나씩) 수행되어야 하기 때문에, 실시간 디코딩의 충분한 처리량을 보장하기 위해, CIIP 프로세스에 포함된 계산 연산(예: 곱셈, 덧셈 및 비트 시프트)의 수가 너무 많으면 안된다.
"양방향 광학적 플로" 섹션에서 언급한 바와 같이, BDOF는 순방향 시간적 방향 및 역방향 시간적 방향에서 2개의 참조 블록으로부터 하나의 인터 코딩된 CU가 예측될 때 예측 품질을 향상시킬 수 있다. 도 8에(아래에서 설명됨)에 도시된 바와 같이, 현재 VVC에서, BDOF가 또한 CIIP 모드에 대한 인터 예측 샘플을 생성하기 위해 포함된다. BDOF에 의해 도입된 추가 복잡성을 감안하면, 이러한 설계는 CIIP가 활성화될 때 하드웨어 코덱의 인코딩/디코딩 처리량을 크게 낮출 수 있다.
둘째, 현재의 CIIP 설계에서, 하나의 CIIP CU가 이중 예측된 하나의 병합 후보를 참조할 때 리스트 L0 및 L1의 모션 보상 예측 신호를 모두 생성해야 한다. 하나 이상의 MV가 정수 정밀도가 아닐 때, 분수 샘플 위치(fractional sample position)에서 샘플을 보간하기 위해 추가 보간 프로세스를 호출해야 한다. 이러한 프로세스는 계산 복잡성을 증가시킬 뿐만 아니라 외부 메모리로부터 더 많은 참조 샘플에 액세스해야 하는 경우 메모리 대역폭을 증가시킨다.
셋째, "조합된 인터 및 인트라 예측" 섹션에서 논의된 바와 같이, 현재 CIIP 설계에서, CIIP CU의 인트라 모드와 인트라 CU의 인트라 모드는 이웃 블록의 MPM 리스트를 구성할 때 상이하게 처리된다. 구체적으로, 하나의 현재 CU가 CIIP 모드로 코딩될 때, 그의 이웃 CIIP CU는 인트라로 간주되며, 즉, 이웃 CIIP CU의 인트라 모드가 MPM 후보 리스트에 추가될 수 있다. 그러나 현재 CU가 인트라 모드로 코딩될 때, 그의 이웃 CIIP CU는 인터로 간주되며, 즉, 이웃 CIIP CU의 인트라 모드는 MPM 후보 리스트에서 제외된다. 이러한 통합되지 않은 설계는 VVC 표준의 최종 버전에 적합하지 않을 수 있다.
도 8은 본 개시의 일 예에 따른 VVC에서 기존 CIIP 설계의 워크플로(workflow)를 예시하는 도면이다.
CIIP 단순화(Simplifying)
본 개시에서, 하드웨어 코덱 구현을 용이하게 하기 위해 기존 CIIP 설계를 단순화하는 방법이 제공된다. 일반적으로, 본 개시에서 제안하는 기술의 주요 측면을 요약하면 다음과 같다.
첫째, CIIP 인코딩/디코딩 처리량을 향상시키기 위해, CIIP 모드에서 인터 예측 샘플 생성에서 BDOF를 제외할 것을 제안한다.
둘째, 계산 복잡도 및 메모리 대역폭 소비를 줄이기 위해, 하나의 CIIP CU가 이중 예측(즉, L0 MV 및 L1 MV 모두 포함)될 때, 인터 예측 샘플 생성하기 위해 블록을 이중 예측에서 단일 예측으로 변환하는 방법을 제안한다.
셋째, 이웃 블록의 MPM 후보를 형성할 때 CIIP와 CU의 인트라 모드를 조화시키기(harmonize) 위한 두 가지 방법이 제안된다.
BDOF가 없는 CIIP
"문제 설명" 섹션에서 지적한 바와 같이, BDOF는 현재 CU가 이중 예측될 때 CIIP 모드에 대한 인터 예측 샘플을 생성하도록 항상 활성화된다. BDOF의 추가 복잡성으로 인해, 기존 CIIP 설계는 인코딩/디코딩 처리량을 크게 낮출 수 있으며, 특히 VVC 디코더에서 실시간 디코딩이 어려워진다. 반면, CIIP CU의 경우, 최종 예측 샘플은 인터 예측 샘플과 인트라 예측 샘플을 평균하는 것에 의해 생성된다. 다시 말해서, BDOF에 의한 조정된(refined) 예측 샘플은 CIIP CU에 대한 예측 신호로 직접 사용되지 않는다. 따라서, 종래의 이중 예측된 CU(여기서 예측 샘플을 생성하기 위해 BDOF가 직접 적용됨)에 비해, BDOF로부터 획득된 대응하는 개선은 CIIP CU에 대해 덜 효율적이다. 따라서, 위와 같은 고려 사항을 기반으로, CIIP 모드의 인터 예측 샘플을 생성할 때 BDOF를 비활성화하는(disable) 것을 제안한다. 도 9(아래에서 설명)는 BDOF를 제거한 후, 제안된 CIIP 프로세스의 대응하는 워크플로를 예시한다.
도 9는 본 개시의 일 예에 따라 제안된 BDOF 제거에 의한 CIIP 방법의 워크플로를 예시하는 도면이다.
단일 예측에 기반한 CIIP
위에서 논의한 바와 같이, 하나의 CIIP CU가 참조하는 병합 후보가 이중 예측될 때, CU 내부의 샘플을 예측하기 위해 L0 예측 신호 및 L1 예측 신호가 모두 생성된다. 메모리 대역폭 및 보간 복잡도를 감소시키기 위해, 본 개시의 일 실시 예에서, 단일 예측을 사용하여 생성된 인터 예측 샘플만을 사용하여(현재 CU가 이중 예측되는 경우에도) CIIP 모드에서 인트라 예측 샘플과 조합된다. 구체적으로, 현재 CIIP CU가 단일 예측될 때, 인터 예측 샘플은 인트라 예측 샘플과 직접 조합될 것이다. 그렇지 않으면(즉, 현재 CU가 이중 예측됨), CIIP에 의해 사용되는 인터 예측 샘플은 하나의 예측 리스트(L0 또는 L1)로부터 단일 예측을 기반으로 생성된다. 예측 리스트를 선택하기 위해 상이한 방법이 적용될 수 있다. 제1 방법에서, 2개의 참조 화상에 의해 예측되는 임의의 CIIP 블록에 대해 항상 제1 예측(즉, 리스트 L0)을 선택하는 것이 제안된다.
제2 방법에서, 2개의 참조 화상에 의해 예측되는 CIIP 블록에 대해 항상 제2 예측(즉, 리스트 L1)을 선택하는 것이 제안된다. 제3 방법에서, 현재 화상으로부터 POC(Picture Order Count) 거리가 더 작은 하나의 참조 화상과 연관된 예측 리스트가 선택되는 하나의 적응적 방법이 적용된다. 도 10(아래에서 설명)은 POC 거리를 기반으로 예측 리스트를 선택하는 단일 예측 기반 CIIP의 워크플로를 예시한다.
최종적으로, 마지막 방법에서, 현재 CU가 단일 예측될 때, 단지 CIIP 모드를 활성화하는 방법을 제안한다. 또한, 오버헤드를 줄이기 위해, CIIP 활성화/비활성화(enabling/disabling) 플래그의 시그널링은 현재 CIIP CU의 예측 방향에 따라 달라진다. 현재 CU가 단일 예측될 때, CIIP 플래그가 비트스트림으로 시그널링되어, CIIP의 활성화 또는 비활성화 여부를 지시한다. 그렇지 않으면(즉, 현재 CU가 이중 예측됨), CIIP 플래그의 시그널링이 스킵(skip)되고, 항상 거짓(false)으로 추론되며, 즉, CIIP는 항상 비활성화된다.
도 10은 본 개시의 일 예에 따른, POC 거리를 기반으로 예측 리스트를 선택하는 단일 예측 기반 CIIP의 워크플로를 예시하는 다이어그램이다.
MPM 후보 리스트 구성을 위한 CIIP의 인트라 모드 및 인트라 CU의 인트라 모드의 조화(Harmonization)
위에서 논의한 바와 같이, 현재 CIIP 설계는 CIIP CU의 인트라 모드 및 인트라 CU의 인트라 모드를 사용하여 이웃 블록의 MPM 후보 리스트를 형성하는 방법과 관련하여 통합되지 않는다. 구체적으로, CIIP CU의 인트라 모드와 인트라 CU의 인트라 모드 모두는 CIIP 모드로 코딩된 이웃 블록의 인트라 모드를 예측할 수 있다. 그러나 인트라 CU의 인트라 모드만이 인트라 CU의 인트라 모드를 예측할 수 있다. 하나 이상의 통합 설계를 달성하기 위해, 이 섹션에서는 MPM 리스트 구성을 위한 CIIP의 인트라 모드 및 인트라 CU의 인트라 모드의 사용을 조화시키기 위해 두 가지 방법을 제안한다.
제1 방법에서, CIIP 모드를 MPM 리스트 구성을 위한 인터 모드로 취급하는 것이 제안된다. 구체적으로, 하나의 CIIP CU 또는 하나의 인트라 CU의 MPM 리스트를 생성할 때, 이웃 블록이 CIIP 모드로 코딩되는 경우, 이웃 블록의 인트라 모드는 사용 불가능한 것으로 마크된다(marked). 이러한 방법으로, CIIP 블록의 인트라 모드를 사용하여 MPM 리스트를 구성할 수 없다. 반대로, 제2 방법에서, MPM 리스트 구축을 위해 CIIP 모드를 인트라 모드로 취급하는 방법을 제안한다. 구체적으로, 이 방법에서, CIIP CU의 인트라 모드는 이웃 CIIP 블록과 인트라 블록 모두의 인트라 모드를 예측할 수 있다. 도 11a 및 도 11b(아래에서 설명)는 위의 두 가지 방법이 적용될 때 MPM 후보 리스트 생성 프로세스를 예시한다.
본 개시의 다른 실시 예는 여기에 개시된 본 개시의 명세서 및 실행을 고려하여 당업자에게 명백할 것이다. 본 출원은 본 개시의 일반적인 원리를 따르고 본 개시에서 공지된 또는 관례적인 실행 범위 내에서 이탈하는 것을 포함하는 본 개시의 임의의 변형, 사용 또는 적응을 커버(cover)하도록 의도된다. 명세서 및 예는 단지 예로서 고려되는 것으로 의도되며, 본 개시의 진정한 범위 및 정신은 다음의 청구 범위에 의해 지시된다.
본 개시는 위에서 설명하고 첨부된 도면에 도시된 정확한 예에 한정되지 않으며, 그 범위를 벗어나지 않고 다양한 수정 및 변경이 가능함을 이해할 수 있을 것이다. 본 개시의 범위는 첨부된 청구 범위에 의해서만 제한되도록 의도된다.
도 11a는 본 개시의 일 예에 따른 MPM 후보 리스트 생성을 위해 CIIP 블록을 활성화하는 방법의 흐름도를 나타낸다.
도 11b는 본 개시의 일 예에 따른 MPM 후보 리스트 생성을 위해 CIIP 블록을 비활성화하는 방법의 흐름도를 나타낸다.
도 12는 사용자 인터페이스(1260)와 결합된 컴퓨팅 환경(1210)을 도시한다. 컴퓨팅 환경(1210)은 데이터 처리 서버의 일부일 수 있다. 컴퓨팅 환경(1210)은 프로세서(1220), 메모리(1240) 및 I/O 인터페이스(1250)를 포함한다.
프로세서(1220)는 일반적으로 디스플레이, 데이터 획득, 데이터 통신 및 이미지 처리와 관련된 작동과 같은 컴퓨팅 환경(1210)의 전체 작동을 제어한다. 프로세서(1220)는 전술한 방법의 모든 또는 일부 단계를 수행하기 위해 명령을 실행하기 위한 하나 이상의 프로세서를 포함할 수 있다. 더욱이, 프로세서(1220)는 프로세서(1220)와 다른 컴포넌트 간의 상호 작용을 용이하게 하는 하나 이상의 회로를 포함할 수 있다. 프로세서는 CPU(Central Processing Unit), 마이크로 프로세서, 단일 칩 머신(single chip machine), GPU 등일 수 있다.
메모리(1240)는 컴퓨팅 환경(1210)의 작동을 지원하기 위해 다양한 유형의 데이터를 저장하도록 구성된다. 그러한 데이터의 예는 컴퓨팅 환경(1210) 상에서 작동되는 임의의 애플리케이션 또는 방법에 대한 명령, 비디오 데이터, 이미지 데이터 등을 포함한다. 메모리(1240)는 SRAM(static random access memory), EEPROM(electrical erasable programmable read-only memory), EPROM(electrically erasable programmable read-only memory), PROM(programmable read-only memory), ROM(read-only memory), 자기 메모리, 플래시 메모리, 자기 또는 광 디스크와 같은 임의의 유형의 휘발성 또는 비 휘발성 메모리 디바이스 또는 이들의 조합을 사용하여 구현될 수 있다.
I/O 인터페이스(1250)는 키보드, 클릭 휠(click wheel), 버튼 등과 같은 주변 인터페이스 모듈과 프로세서(1220) 사이의 인터페이스를 제공한다. 버튼은 홈 버튼(home button), 스캔(scan) 시작 버튼 및 스캔 중지 버튼을 포함할 수 있지만 이에 제한되지는 않는다. I/O 인터페이스(1250)는 인코더 및 디코더와 결합될(coupled) 수 있다.
일 실시 예에서, 전술한 방법을 수행하기 위해 컴퓨팅 환경(1210)에서 프로세서(1220)에 의해 실행 가능한 메모리(1240)에 포함된 복수의 프로그램을 포함하는 컴퓨터가 판독 가능한 비 일시적 저장 매체가 또한 제공된다. 예를 들어, 컴퓨터가 판독 가능한 비 일시적 저장 매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광학 데이터 저장 디바이스 등일 수 있다.
컴퓨터가 판독 가능한 비 일시적 저장 매체는 하나 이상의 프로세서를 갖는 컴퓨팅 디바이스에 의해 실행되는 복수의 프로그램을 내부에 저장하고, 여기서 복수의 프로그램은 하나 이상의 프로세서에 의해 실행될 때 컴퓨팅 디바이스가 위에서 설명한 모션 예측 방법을 수행하게 한다.
일 실시 예에서, 컴퓨팅 환경(1210)은 위의 방법을 수행하기 위해, 하나 이상의 주문형 집적 회로(application-specific integrated circuit, ASIC), 디지털 신호 프로세서(digital signal processor, DSP), 디지털 신호 처리 디바이스(digital signal processing device, DSPD), 프로그래밍 가능 로직 디바이스(programmable logic device, PLD), 필드 프로그래밍 가능 게이트 어레이(field-programmable gate array, FPGA), 그래픽 처리 유닛(graphical processing unit, GPU), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 또는 기타 전자 부품으로 구현될 수 있다.

Claims (20)

  1. 비디오 코딩 방법으로서,
    상기 비디오 코딩 방법은,
    현재 코딩 블록과 연관된 참조 화상 리스트에서 참조 화상을 획득하는 단계;
    현재 화상으로부터 상기 참조 화상까지의 모션 벡터에 기반하여 인터 예측(inter prediction)을 생성하는 단계;
    상기 현재 코딩 블록과 연관된 인트라 예측 모드를 획득하는 단계;
    상기 인트라 예측 모드에 기반하여 상기 현재 코딩 블록의 인트라 예측을 생성하는 단계;
    상기 인터 예측 및 상기 인트라 예측을 가중 평균하는(weighted averaging) 것에 의해 상기 현재 코딩 블록의 최종 예측을 생성하는 단계; 및
    상기 현재 코딩 블록이 MPM(most probable mode) 기반 인트라 모드 예측을 위한 인터 모드 또는 인트라 모드로 취급되는지를 판정하는 단계
    를 포함하는 비디오 코딩 방법.
  2. 제1항에 있어서,
    상기 현재 코딩 블록이 참조 화상 리스트 L0에서 하나의 참조 화상으로부터 예측될 때, 상기 참조 화상 리스트는 L0인, 비디오 코딩 방법.
  3. 제1항에 있어서,
    상기 현재 코딩 블록이 참조 화상 리스트 L1에서 하나의 참조 화상으로부터 예측될 때, 상기 참조 화상 리스트는 L1인, 비디오 코딩 방법.
  4. 제1항에 있어서,
    상기 현재 코딩 블록이 참조 화상 리스트 L0에서의 하나의 제1 참조 화상과 참조 화상 리스트 L1에서의 하나의 제2 참조 화상으로부터 예측될 때, 상기 참조 화상 리스트는 L0인, 비디오 코딩 방법.
  5. 제1항에 있어서,
    상기 현재 코딩 블록이 참조 화상 리스트 L0에서의 하나의 제1 참조 화상과 참조 화상 리스트 L1에서의 하나의 제2 참조 화상으로부터 예측될 때, 상기 참조 화상 리스트는 L1인, 비디오 코딩 방법.
  6. 제1항에 있어서,
    상기 참조 화상 리스트는, 상기 현재 코딩 블록이 참조 화상 리스트 L0에서의 하나의 제1 참조 화상과 참조 화상 리스트 L1에서의 하나의 제2 참조 화상으로부터 예측될 때, 상기 현재 화상에 대해 더 작은 POC(picture order count) 거리를 갖는 하나의 참조 화상과 연관된 것인, 비디오 코딩 방법.
  7. 제1항에 있어서,
    상기 현재 코딩 블록은 MPM 기반 인트라 모드 예측을 위한 인터 모드로 취급되는, 비디오 코딩 방법.
  8. 제1항에 있어서,
    상기 현재 코딩 블록은 인트라 모드로 취급되고, 상기 현재 코딩 블록의 인트라 예측 모드는 MPM 기반 인트라 모드 예측에 사용되는, 비디오 코딩 방법.
  9. 제1항에 있어서,
    BDOF(bidirectional optical flow) 연산이 상기 현재 코딩 블록에 대해 비활성화되는(disabled), 비디오 코딩 방법.
  10. 비디오 코딩 디바이스로서,
    하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 결합된 하나 이상의 스토리지를 포함하고,
    상기 비디오 코딩 디바이스는,
    현재 코딩 블록과 연관된 참조 화상 리스트에서 참조 화상을 획득하는 작동;
    현재 화상으로부터 상기 참조 화상까지의 모션 벡터에 기반하여 인터 예측을 생성하는 작동;
    상기 현재 코딩 블록과 연관된 인트라 예측 모드를 획득하는 작동;
    상기 인트라 예측 모드에 기반하여 상기 현재 코딩 블록의 인트라 예측을 생성하는 작동;
    상기 인터 예측 및 상기 인트라 예측을 가중 평균하는 것에 의해 상기 현재 코딩 블록의 최종 예측을 생성하는 작동; 및
    상기 현재 코딩 블록이 MPM(most probable mode) 기반 인트라 모드 예측을 위한 인터 모드 또는 인트라 모드로 취급되는지를 판정하는 작동
    을 포함하는 작동들을 수행하게 하는, 비디오 코딩 디바이스.
  11. 제10항에 있어서,
    상기 현재 코딩 블록이 참조 화상 리스트 L0에서 하나의 참조 화상으로부터 예측될 때, 상기 참조 화상 리스트는 L0인, 비디오 코딩 디바이스.
  12. 제10항에 있어서,
    상기 현재 코딩 블록이 참조 화상 리스트 L1에서 하나의 참조 화상으로부터 예측될 때, 상기 참조 화상 리스트는 L1인, 비디오 코딩 디바이스.
  13. 제10항에 있어서,
    상기 현재 코딩 블록이 참조 화상 리스트 L0에서의 하나의 제1 참조 화상과 참조 화상 리스트 L1에서의 하나의 제2 참조 화상으로부터 예측될 때, 상기 참조 화상 리스트는 L0인, 비디오 코딩 디바이스.
  14. 제10항에 있어서,
    상기 현재 코딩 블록이 참조 화상 리스트 L0에서의 하나의 제1 참조 화상과 참조 화상 리스트 L1에서의 하나의 제2 참조 화상으로부터 예측될 때, 상기 참조 화상 리스트는 L1인, 비디오 코딩 디바이스.
  15. 제10항에 있어서,
    상기 참조 화상 리스트는 상기 현재 코딩 블록이 참조 화상 리스트 L0에서의 하나의 제1 참조 화상과 참조 화상 리스트 L1에서의 하나의 제2 참조 화상으로부터 예측될 때, 상기 현재 화상에 대해 더 작은 POC(picture order count) 거리를 갖는 하나의 참조 화상과 연관된 것인, 비디오 코딩 디바이스.
  16. 제10항에 있어서,
    상기 현재 코딩 블록은 MPM 기반 인트라 모드 예측을 위한 인터 모드로 취급되는, 비디오 코딩 디바이스.
  17. 제10항에 있어서,
    상기 현재 코딩 블록은 인트라 모드로 취급되고, 상기 현재 코딩 블록의 인트라 예측 모드는 MPM 기반 인트라 모드 예측에 사용되는, 비디오 코딩 디바이스.
  18. 제10항에 있어서,
    BDOF(bidirectional optical flow) 연산이 상기 현재 코딩 블록에 대해 비활성화되는, 비디오 코딩 디바이스.
  19. 하나 이상의 프로세서를 갖는 컴퓨팅 디바이스에 의한 실행을 위한 복수의 프로그램을 저장하는, 컴퓨터가 판독 가능한 비 일시적 저장 매체로서,
    상기 복수의 프로그램은 상기 하나 이상의 프로세서에 의해 실행될 때 상기 컴퓨팅 디바이스가 제1항 내지 제9항 중 어느 한 항에 따른 방법을 수행하게 하는, 컴퓨터가 판독 가능한 비 일시적 저장 매체.
  20. 명령을 포함하는 컴퓨터 프로그램 제품으로서,
    상기 명령이 프로세서에 의해 실행될 때, 상기 명령은 제1항 내지 제9항 중 어느 한 항에 따른 방법의 단계를 구현하는, 컴퓨터 프로그램 제품.
KR1020217024920A 2019-01-09 2020-01-09 조합된 인터 및 인트라 예측을 위한 시스템 및 방법 KR102450491B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227033810A KR20220136506A (ko) 2019-01-09 2020-01-09 조합된 인터 및 인트라 예측을 위한 시스템 및 방법

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962790421P 2019-01-09 2019-01-09
US62/790,421 2019-01-09
KR1020217023688A KR102489605B1 (ko) 2019-01-09 2020-01-09 조합된 인터 및 인트라 예측을 위한 시스템 및 방법
PCT/US2020/012826 WO2020146562A1 (en) 2019-01-09 2020-01-09 System and method for improving combined inter and intra prediction

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020217023688A Division KR102489605B1 (ko) 2019-01-09 2020-01-09 조합된 인터 및 인트라 예측을 위한 시스템 및 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227033810A Division KR20220136506A (ko) 2019-01-09 2020-01-09 조합된 인터 및 인트라 예측을 위한 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20210099215A true KR20210099215A (ko) 2021-08-11
KR102450491B1 KR102450491B1 (ko) 2022-09-30

Family

ID=77314138

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020217024920A KR102450491B1 (ko) 2019-01-09 2020-01-09 조합된 인터 및 인트라 예측을 위한 시스템 및 방법
KR1020237001436A KR20230013163A (ko) 2019-01-09 2020-01-09 조합된 인터 및 인트라 예측을 위한 시스템 및 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020237001436A KR20230013163A (ko) 2019-01-09 2020-01-09 조합된 인터 및 인트라 예측을 위한 시스템 및 방법

Country Status (1)

Country Link
KR (2) KR102450491B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013047811A1 (ja) * 2011-09-29 2013-04-04 シャープ株式会社 画像復号装置、画像復号方法および画像符号化装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013047811A1 (ja) * 2011-09-29 2013-04-04 シャープ株式会社 画像復号装置、画像復号方法および画像符号化装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Benjamin Bross, "Versatile Video Coding (Draft 3)", JVET-L1001-v7, 2018.12.20.* *
Jianle Chen, "Algorithm description for Versatile Video Coding and Test Model 3 (VTM3)", JVET-L1002-v1, 2018.12.24.* *

Also Published As

Publication number Publication date
KR102450491B1 (ko) 2022-09-30
KR20230013163A (ko) 2023-01-26

Similar Documents

Publication Publication Date Title
KR102501210B1 (ko) 결합된 인터 및 인트라-예측 모드의 제한되고 조정된 적용
JP7313533B2 (ja) オプティカルフローによる予測洗練化における方法および装置
US20230051193A1 (en) System and method for combined inter and intra prediction
EP3977741A1 (en) Methods and apparatus for signaling symmetrical motion vector difference mode
KR102533731B1 (ko) 광 흐름에 의한 예측 개선, 양방향 광 흐름 및 디코더 측 움직임 벡터 개선을 위한 방법들 및 장치들
KR102387873B1 (ko) 구축된 아핀 병합 후보들을 도출하기 위한 방법
KR102450491B1 (ko) 조합된 인터 및 인트라 예측을 위한 시스템 및 방법
EP3994881A1 (en) Motion compensation using combined inter and intra prediction
CN116347102B (zh) 视频编码方法、设备、非暂时性计算机可读存储介质
JP7303255B2 (ja) ビデオコーディングの方法、ビデオコーディングデバイス、コンピュータ可読記憶媒体およびコンピュータプログラム

Legal Events

Date Code Title Description
A107 Divisional application of patent
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant