KR20220046707A - 광 흐름에 의한 예측 개선, 양방향 광 흐름 및 디코더 측 움직임 벡터 개선을 위한 방법들 및 장치들 - Google Patents

광 흐름에 의한 예측 개선, 양방향 광 흐름 및 디코더 측 움직임 벡터 개선을 위한 방법들 및 장치들 Download PDF

Info

Publication number
KR20220046707A
KR20220046707A KR1020227010894A KR20227010894A KR20220046707A KR 20220046707 A KR20220046707 A KR 20220046707A KR 1020227010894 A KR1020227010894 A KR 1020227010894A KR 20227010894 A KR20227010894 A KR 20227010894A KR 20220046707 A KR20220046707 A KR 20220046707A
Authority
KR
South Korea
Prior art keywords
flag
picture
prof
bdof
decoder
Prior art date
Application number
KR1020227010894A
Other languages
English (en)
Other versions
KR102533731B1 (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 KR1020237002341A priority Critical patent/KR20230018532A/ko
Priority to KR1020237016305A priority patent/KR20230070535A/ko
Priority to KR1020237016304A priority patent/KR20230070534A/ko
Publication of KR20220046707A publication Critical patent/KR20220046707A/ko
Application granted granted Critical
Publication of KR102533731B1 publication Critical patent/KR102533731B1/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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/537Motion estimation other than block-based
    • H04N19/543Motion estimation other than block-based using regions
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

비트 심도 표현 방법, 장치 및 비-일시적 컴퓨터 판독 가능 저장 매체가 제공된다. 디코더가 비디오 신호 내의 비디오 블록과 연관된 참조 픽처(I)를 획득한다. 디코더는 참조 픽처(I) 내의 참조 블록으로부터 비디오 블록의 예측 샘플들(I(i, j))을 획득한다. 디코더는 미리 설정된 정밀도를 달성하기 위해 비트 시프트 값에 기반하여 PROF 도출 프로세스의 내부 PROF 파라미터들에 우측 시프트를 적용함으로써 내부 PROF 파라미터들을 제어한다. 디코더는 예측 샘플들(I(i, j))에 기반하여 비디오 블록에 PROF 도출 프로세스가 적용되는 것에 기반하여 비디오 블록 내의 샘플들에 대한 예측 개선 값들을 획득한다. 디코더는 비디오 블록의 예측 샘플들을 예측 샘플들과 예측 개선 값들의 조합에 기반하여 획득한다.

Description

광 흐름에 의한 예측 개선, 양방향 광 흐름 및 디코더 측 움직임 벡터 개선을 위한 방법들 및 장치들
본 출원은 2019년 10월 9일자 제출된 가출원 제62/913,141호를 기반으로 하며 그에 대한 우선권을 주장하고, 이 출원의 전체 내용은 그 전체가 인용에 의해 본 명세서에 포함된다.
본 개시내용은 비디오 코딩 및 압축에 관한 것이다. 보다 구체적으로, 본 개시내용은 다용도 비디오 코딩(VVC: versatile video coding) 표준, 즉 광 흐름에 의한 예측 개선(PROF: prediction refinement with optical flow) 및 양방향 광 흐름(BDOF: bi-directional optical flow)에서 조사되는 2개의 인터 예측(inter prediction) 툴에 대한 방법들 및 장치에 관한 것이다.
비디오 데이터를 압축하기 위해 다양한 비디오 코딩 기술이 사용될 수 있다. 비디오 코딩은 하나 이상의 비디오 코딩 표준에 따라 수행된다. 예를 들어, 비디오 코딩 표준들은 다용도 비디오 코딩(VVC), 공동 탐사 테스트 모델(JEM: joint exploration test model), 고효율 비디오 코딩(H.265/HEVC: high-efficiency video coding), 고급 비디오 코딩(H.264/AVC: advanced video coding), 동영상 전문가 그룹(MPEG: moving picture expert group) 코딩 등을 포함한다. 비디오 코딩은 일반적으로 비디오 이미지들 또는 시퀀스들에 존재하는 리던던시를 이용하는 예측 방법들(예컨대, 인터 예측, 인트라 예측(intra-prediction) 등)을 이용한다. 비디오 코딩 기법들의 중요한 목표는 비디오 품질에 대한 열화들을 피하거나 최소화하면서 더 낮은 비트 레이트를 사용하는 형태로 비디오 데이터를 압축하는 것이다.
본 개시내용의 예들은 양방향 광 흐름에 대한 비트 심도(bit-depth) 제어를 위한 방법들 및 장치를 제공한다.
본 개시내용의 제1 양상에 따르면, PROF의 비트 심도 표현 방법이 제공된다. 이 방법은 디코더가 비디오 신호 내의 비디오 블록과 연관된 참조 픽처(I)를 획득하는 단계를 포함할 수 있다. 디코더는 또한, 참조 픽처(I) 내의 참조 블록으로부터 비디오 블록의 예측 샘플들(I(i, j))을 획득할 수 있다. i 및 j는 비디오 블록을 갖는 하나의 샘플의 좌표를 나타낸다. 디코더는 미리 설정된 정밀도를 달성하기 위해 비트 시프트 값에 기반하여 PROF 도출 프로세스의 내부 PROF 파라미터들에 우측 시프트를 적용함으로써 내부 PROF 파라미터들을 추가로 제어할 수 있다. 내부 PROF 파라미터들은 예측 샘플들(I(i, j))에 대해 도출된 수평 기울기 값들, 수직 기울기 값들, 수평 움직임 차이 값들 및 수직 움직임 차이 값들을 포함할 수 있다. 디코더는 또한, 예측 샘플들(I(i, j))에 기반하여 비디오 블록에 PROF 도출 프로세스가 적용되는 것에 기반하여 비디오 블록 내의 샘플들에 대한 예측 개선 값들을 획득할 수 있다. 디코더는 비디오 블록의 예측 샘플들을 예측 샘플들과 예측 개선 값들의 조합에 기반하여 추가로 획득할 수 있다.
본 개시내용의 제2 양상에 따르면, BDOF의 비트 심도 제어 방법이 제공된다. 이 방법은 디코더가 비디오 블록과 연관된 제1 참조 픽처(I (0)) 및 제2 참조 픽처(I (1))를 획득하는 단계를 포함할 수 있다. 디스플레이 순서에서 제1 참조 픽처(I (0))는 현재 픽처 앞에 있고 제2 참조 픽처(I (1))는 현재 픽처 뒤에 있다. 디코더는 또한, 제1 참조 픽처(I (0)) 내의 참조 블록으로부터 비디오 블록의 제1 예측 샘플들(I (0)(i, j))을 획득할 수 있다. i 및 j는 현재 픽처를 갖는 하나의 샘플의 좌표를 나타낸다. 디코더는 추가로, 제2 참조 픽처(I (1)) 내의 참조 블록으로부터 비디오 블록의 제2 예측 샘플들(I (1)(i, j))을 획득할 수 있다. 디코더는 또한, BDOF 도출 프로세스의 내부 BDOF 파라미터들에 시프트를 적용함으로써 내부 BDOF 파라미터들을 제어할 수 있다. 내부 BDOF 파라미터들은 제1 예측 샘플들(I (0)(i, j)), 제2 예측 샘플들(I (1)(i, j)), 제1 예측 샘플들(I (0)(i, j))과 제2 예측 샘플들(I (1)(i, j)) 간의 샘플 차이들, 및 중간 BDOF 도출 파라미터들에 기반하여 도출된 수평 기울기 값들 및 수직 기울기 값들을 포함한다. 중간 BDOF 도출 파라미터들은 sGxdI, sGydI, sGx2, sGxGy 및 sGy2 파라미터들을 포함할 수 있다. sGxdI 및 sGydI는 수평 기울기 값들과 샘플 차이 값들 간의 그리고 수직 기울기 값들과 샘플 차이 값들 간의 상호 상관 값들을 포함할 수 있다. sGx2 및 sGy2는 수평 기울기 값들 및 수직 기울기 값들의 자동 상관 값들을 포함할 수 있다. sGxGy는 수평 기울기 값들과 수직 기울기 값들 간의 상호 상관 값들을 포함할 수 있다.
본 개시내용의 제3 양상에 따르면, BDOF, PROF 및 DMVR 방법이 제공된다. 이 방법은 디코더가 시퀀스 파라미터 세트(SPS: sequence parameter set)에서 3개의 제어 플래그를 수신하는 단계를 포함할 수 있다. 제1 제어 플래그는 현재 비디오 시퀀스에서 비디오 블록들을 디코딩하기 위해 BDOF가 인에이블되는지 여부를 지시한다. 제2 제어 플래그는 현재 비디오 시퀀스에서 비디오 블록들을 디코딩하기 위해 PROF가 인에이블되는지 여부를 지시한다. 제3 제어 플래그는 현재 비디오 시퀀스에서 비디오 블록들을 디코딩하기 위해 DMVR이 인에이블되는지 여부를 지시한다. 디코더는 또한, 제1 제어 플래그가 참(true)일 때 SPS에서 제1 존재 플래그를, 제2 제어 플래그가 참일 때 SPS에서 제2 존재 플래그를, 그리고 제3 제어 플래그가 참일 때 SPS에서 제3 존재 플래그를 수신할 수 있다. 디코더는 추가로, SPS 내의 제1 존재 플래그가 픽처 내의 비디오 블록들에 대해 BDOF가 디세이블됨을 지시할 때, 각각의 픽처의 픽처 헤더에서 제1 픽처 제어 플래그를 수신할 수 있다. 디코더는 또한, SPS 내의 제2 존재 플래그가 픽처 내의 비디오 블록들에 대해 PROF가 디세이블됨을 지시할 때, 각각의 픽처의 픽처 헤더에서 제2 픽처 제어 플래그를 수신할 수 있다. 디코더는 추가로, SPS 내의 제3 존재 플래그가 픽처 내의 비디오 블록들에 대해 DMVR이 디세이블됨을 지시할 때, 각각의 픽처의 픽처 헤더에서 제3 픽처 제어 플래그를 수신할 수 있다.
본 개시내용의 제4 양상에 따르면, 컴퓨팅 디바이스가 제공된다. 컴퓨팅 디바이스는 하나 이상의 프로세서, 하나 이상의 프로세서에 의해 실행 가능한 명령들을 저장하는 비-일시적 컴퓨터 판독 가능 메모리를 포함할 수 있다. 하나 이상의 프로세서는 비디오 신호 내의 비디오 블록과 연관된 참조 픽처(I)를 획득하도록 구성될 수 있다. 하나 이상의 프로세서는 또한, 참조 픽처(I) 내의 참조 블록으로부터 비디오 블록의 예측 샘플들(I(i, j))을 획득하도록 구성될 수 있다. i 및 j는 비디오 블록을 갖는 하나의 샘플의 좌표를 나타낸다. 하나 이상의 프로세서는 미리 설정된 정밀도를 달성하기 위해 비트 시프트 값에 기반하여 PROF 도출 프로세스의 내부 PROF 파라미터들에 우측 시프트를 적용함으로써 내부 PROF 파라미터들을 제어하도록 추가로 구성될 수 있다. 내부 PROF 파라미터들은 예측 샘플들(I(i, j))에 대해 도출된 수평 기울기 값들, 수직 기울기 값들, 수평 움직임 차이 값들 및 수직 움직임 차이 값들을 포함할 수 있다. 하나 이상의 프로세서는 또한, 예측 샘플들(I(i, j))에 기반하여 비디오 블록에 PROF 도출 프로세스가 적용되는 것에 기반하여 비디오 블록 내의 샘플들에 대한 예측 개선 값들을 획득하도록 구성될 수 있다. 하나 이상의 프로세서는 비디오 블록의 예측 샘플들을 예측 샘플들과 예측 개선 값들의 조합에 기반하여 획득하도록 추가로 구성될 수 있다.
본 개시내용의 제5 양상에 따르면, 컴퓨팅 디바이스가 제공된다. 컴퓨팅 디바이스는 하나 이상의 프로세서, 하나 이상의 프로세서에 의해 실행 가능한 명령들을 저장하는 비-일시적 컴퓨터 판독 가능 메모리를 포함할 수 있다. 하나 이상의 프로세서는 비디오 블록과 연관된 제1 참조 픽처(I (0)) 및 제2 참조 픽처(I (1))를 획득하도록 구성될 수 있다. 디스플레이 순서에서 제1 참조 픽처(I (0))는 현재 픽처 앞에 있고 제2 참조 픽처(I (1))는 현재 픽처 뒤에 있다. 하나 이상의 프로세서는 제1 참조 픽처(I (0)) 내의 참조 블록으로부터 비디오 블록의 제1 예측 샘플들(I (0)(i, j))을 획득하도록 추가로 구성될 수 있다. i 및 j는 현재 픽처를 갖는 하나의 샘플의 좌표를 나타낸다. 하나 이상의 프로세서는 또한, 예측 샘플들(I(i, j))에 기반하여 비디오 블록에 PROF 도출 프로세스가 적용되는 것에 기반하여 비디오 블록 내의 샘플들에 대한 예측 개선 값들을 획득하도록 구성될 수 있다. 하나 이상의 프로세서는 제2 참조 픽처(I (1)) 내의 참조 블록으로부터 비디오 블록의 제2 예측 샘플들(I (1)(i, j))을 획득하도록 추가로 구성될 수 있다. 하나 이상의 프로세서는 BDOF 도출 프로세스의 내부 BDOF 파라미터들에 시프트를 적용함으로써 내부 BDOF 파라미터들을 제어하도록 추가로 구성될 수 있다. 내부 BDOF 파라미터들은 제1 예측 샘플들(I (0)(i, j)), 제2 예측 샘플들(I (1)(i, j)), 제1 예측 샘플들(I (0)(i, j))과 제2 예측 샘플들(I (1)(i, j)) 간의 샘플 차이들, 및 중간 BDOF 도출 파라미터들에 기반하여 도출된 수평 기울기 값들 및 수직 기울기 값들을 포함한다. 중간 BDOF 도출 파라미터들은 sGxdI, sGydI, sGx2, sGxGy 및 sGy2 파라미터들을 포함할 수 있다. sGxdI 및 sGydI는 수평 기울기 값들과 샘플 차이 값들 간의 그리고 수직 기울기 값들과 샘플 차이 값들 간의 상호 상관 값들을 포함할 수 있다. sGx2 및 sGy2는 수평 기울기 값들 및 수직 기울기 값들의 자동 상관 값들을 포함할 수 있다. sGxGy는 수평 기울기 값들과 수직 기울기 값들 간의 상호 상관 값들을 포함할 수 있다. 하나 이상의 프로세서는 제1 예측 샘플들(I (0)(i, j)) 및 제2 예측 샘플들(I (1)(i, j))에 기반하여 비디오 블록에 BDOF가 적용되는 것에 기반하여 비디오 블록 내의 샘플들에 대한 움직임 개선들을 획득하도록 추가로 구성될 수 있다. 하나 이상의 프로세서는 움직임 개선들에 기반하여 비디오 블록의 양방향 예측 샘플들을 획득하도록 추가로 구성될 수 있다.
본 개시내용의 제6 양상에 따르면, 내부에 명령들이 저장된 비-일시적 컴퓨터 판독 가능 저장 매체가 제공된다. 장치의 하나 이상의 프로세서에 의해 명령들이 실행될 때, 명령들은 장치로 하여금 시퀀스 파라미터 세트(SPS)에서 3개의 제어 플래그를 수신하게 할 수 있다. 제1 제어 플래그는 현재 비디오 시퀀스에서 비디오 블록들을 디코딩하기 위해 BDOF가 인에이블되는지 여부를 지시한다. 제2 제어 플래그는 현재 비디오 시퀀스에서 비디오 블록들을 디코딩하기 위해 PROF가 인에이블되는지 여부를 지시한다. 제3 제어 플래그는 현재 비디오 시퀀스에서 비디오 블록들을 디코딩하기 위해 DMVR이 인에이블되는지 여부를 지시한다. 명령들은 또한 장치로 하여금, 제1 제어 플래그가 참일 때 SPS에서 제1 존재 플래그를, 제2 제어 플래그가 참일 때 SPS에서 제2 존재 플래그를, 그리고 제3 제어 플래그가 참일 때 SPS에서 제3 존재 플래그를 수신하게 할 수 있다. 명령들은 추가로 장치로 하여금, SPS 내의 제1 존재 플래그가 픽처 내의 비디오 블록들에 대해 BDOF가 디세이블됨을 지시할 때, 각각의 픽처의 픽처 헤더에서 제1 픽처 제어 플래그를 수신하게 할 수 있다. 명령들은 또한 장치로 하여금, SPS 내의 제2 존재 플래그가 픽처 내의 비디오 블록들에 대해 PROF가 디세이블됨을 지시할 때, 각각의 픽처의 픽처 헤더에서 제2 픽처 제어 플래그를 수신하게 할 수 있다. 명령들은 추가로 장치로 하여금, SPS 내의 제3 존재 플래그가 픽처 내의 비디오 블록들에 대해 DMVR이 디세이블됨을 지시할 때, 각각의 픽처의 픽처 헤더에서 제3 픽처 제어 플래그를 수신하게 할 수 있다.
앞서 말한 일반 설명과 다음의 상세한 설명은 모두 단지 예들일 뿐이며 본 개시내용을 한정하는 것은 아니라고 이해되어야 한다.
본 명세서의 일부에 포함되며 이를 구성하는 첨부 도면들이 본 개시내용과 일치하는 예들을 예시하며, 설명과 함께 본 개시내용의 원리들을 설명하는 역할을 한다.
도 1은 본 개시내용의 일례에 따른 인코더의 블록도이다.
도 2는 본 개시내용의 일례에 따른 디코더의 블록도이다.
도 3a는 본 개시내용의 일례에 따른, 다중 타입 트리 구조에서의 블록 파티션(partition)들을 예시하는 도면이다.
도 3b는 본 개시내용의 일례에 따른, 다중 타입 트리 구조에서의 블록 파티션들을 예시하는 도면이다.
도 3c는 본 개시내용의 일례에 따른, 다중 타입 트리 구조에서의 블록 파티션들을 예시하는 도면이다.
도 3d는 본 개시내용의 일례에 따른, 다중 타입 트리 구조에서의 블록 파티션들을 예시하는 도면이다.
도 3e는 본 개시내용의 일례에 따른, 다중 타입 트리 구조에서의 블록 파티션들을 예시하는 도면이다.
도 4는 본 개시내용의 일례에 따른 양방향 광 흐름(BDOF) 모델의 도면 예시이다.
도 5a는 본 개시내용의 일례에 따른 아핀 모델(affine model)의 예시이다.
도 5b는 본 개시내용의 일례에 따른 아핀 모델의 예시이다.
도 6은 본 개시내용의 일례에 따른 아핀 모델의 예시이다.
도 7은 본 개시내용의 일례에 따른, 광 흐름에 의한 예측 개선(PROF)의 예시이다.
도 8은 본 개시내용의 일례에 따른 BDOF의 작업 흐름이다.
도 9는 본 개시내용의 일례에 따른 PROF의 작업 흐름이다.
도 10은 본 개시내용의 일례에 따른 BDOF 방법이다.
도 11은 본 개시내용의 일례에 따른 BDOF 및 PROF 방법이다.
도 12는 본 개시내용의 일례에 따른 BDOF, PROF 및 DMVR 방법이다.
도 13은 본 개시내용의 일례에 따른, 양방향 예측을 위한 PROF의 작업 흐름의 예시이다.
도 14는 본 개시내용에 따른 BDOF 및 PROF 프로세스의 파이프라인 스테이지들의 예시이다.
도 15는 본 개시내용에 따른 BDOF의 기울기 도출 방법의 예시이다.
도 16은 본 개시내용에 따른 PROF의 기울기 도출 방법의 예시이다.
도 17a는 본 개시내용의 일례에 따른, 아핀 모드에 대한 템플릿(template) 샘플들을 도출하는 예시이다.
도 17b는 본 개시내용의 일례에 따른, 아핀 모드에 대한 템플릿 샘플들을 도출하는 예시이다.
도 18a는 본 개시내용의 일례에 따른, 아핀 모드에 대해 PROF 및 LIC를 배타적으로 인에이블하는 예시이다.
도 18b는 본 개시내용의 일례에 따른, 아핀 모드에 대해 PROF 및 LIC를 공동으로 인에이블하는 예시이다.
도 19a는 본 개시내용의 일례에 따라, 16×16 BDOF CU에 적용되는 제안된 패딩 방법을 예시하는 도면이다.
도 19b는 본 개시내용의 일례에 따라, 16×16 BDOF CU에 적용되는 제안된 패딩 방법을 예시하는 도면이다.
도 19c는 본 개시내용의 일례에 따라, 16×16 BDOF CU에 적용되는 제안된 패딩 방법을 예시하는 도면이다.
도 19d는 본 개시내용의 일례에 따라, 16×16 BDOF CU에 적용되는 제안된 패딩 방법을 예시하는 도면이다.
도 20은 본 개시내용의 일례에 따른, 사용자 인터페이스와 결합된 컴퓨팅 환경을 예시하는 도면이다.
이제 예시적인 실시예들에 대해 언급될 것이며, 그 예들은 첨부 도면들에 예시된다. 다음 설명은 달리 표현되지 않는 한, 서로 다른 도면들 내의 동일한 번호들이 동일한 또는 비슷한 엘리먼트들을 나타내는 첨부 도면들과 관련된다. 예시적인 실시예들의 다음 설명에서 제시되는 구현들은 본 개시내용과 일치하는 모든 구현들을 나타내는 것은 아니다. 대신, 그 구현들은 단지, 첨부된 청구항들에서 언급되는 것과 같은 본 개시내용과 관련된 양상들과 일치하는 장치들 및 방법들의 예들일 뿐이다.
본 개시내용에 사용되는 용어는 특정 실시예들만을 설명하기 위한 것이며, 본 개시내용을 제한하는 것으로 의도되는 것은 아니다. 본 개시내용 및 첨부된 청구항들에서 사용되는 바와 같이, 단수 형태들은 맥락이 명확하게 달리 지시하지 않는 한, 복수 형태들도 포함하는 것으로 의도된다. 본 명세서에서 사용되는 "및/또는"이라는 용어는 연관된 열거된 항목들 중 하나 이상의 임의의 또는 모든 가능한 조합들을 의미하고 포함하는 것으로 의도된다고 또한 이해될 것이다.
"제1", "제2", 제3" 등의 용어들은 본 명세서에서 다양한 정보를 설명하는 데 사용될 수 있지만, 이러한 정보는 이러한 용어들로 제한되지는 않아야 한다고 이해될 것이다. 이러한 용어들은 하나의 정보 카테고리를 다른 카테고리와 구별하기 위해서만 사용된다. 예를 들어, 본 개시내용의 범위를 벗어나지 않으면서, 제1 정보는 제2 정보로 지칭될 수 있고; 유사하게, 제2 정보는 또한 제1 정보로 지칭될 수 있다. 본 명세서에서 사용되는 바와 같이, "~라면"이라는 용어는 맥락에 따라 "~ 할 때" 또는 "~ 시에" 또는 "판단에 대한 응답으로"를 의미하는 것으로 이해될 수 있다.
HEVC 표준의 첫 번째 버전은 2013년 10월에 마무리되었으며, 이는 이전 세대 비디오 코딩 표준인 H.264/MPEG AVC와 비교하여 대략 50% 비트 레이트 절약 또는 동등한 지각 품질을 제공한다. HEVC 표준이 그의 선행 표준보다 상당한 코딩 개선들을 제공하지만, HEVC에 비해 추가 코딩 툴들로 우수한 코딩 효율이 달성될 수 있다는 증거가 있다. 이를 기반으로, VCEG와 MPEG 둘 다 미래의 비디오 코딩 표준화를 위한 새로운 코딩 기술들의 탐색 작업을 시작했다. 하나의 공동 비디오 탐사 팀(JVET: Joint Video Exploration Team)이 ITU-T VECG 및 ISO/IEC MPEG에 의해 2015년 10월에 구성되어, 코딩 효율의 실질적인 향상을 가능하게 할 수 있는 고급 기술들의 중요한 연구를 시작했다. 공동 탐사 모델(JEM: joint exploration model)로 불리는 하나의 기준 소프트웨어는 HEVC 테스트 모델(HM: HEVC test model) 위에 여러 추가 코딩 툴들을 통합함으로써 JVET에 의해 유지되었다.
2017년 10월에, HEVC를 넘어서는 능력을 갖는 비디오 압축에 대한 공동 제안 요청(CfP: call for proposals)이 ITU-T 및 ISO/IEC에 의해 발표되었다[9]. 2018년 4월에, 제10차 JVET 회의에서 23개의 CfP 응답이 수신 및 평가되었으며, 이들은 HEVC에 비해 약 40%의 압축 효율 이득을 입증했다. 이러한 평가 결과들에 기반하여, JVET는 다용도 비디오 코딩(VVC)으로 명명되는 새로운 세대의 비디오 코딩 표준을 개발하기 위한 새로운 프로젝트를 시작하였다. 동일한 달에, VVC 표준의 기준 구현을 입증하기 위해, VVC 테스트 모델(VTM: VVC test model)로 불리는 하나의 기준 소프트웨어 코드베이스가 설정되었다.
HEVC와 같이, VVC는 블록 기반 하이브리드 비디오 코딩 프레임워크 상에 구축된다.
도 1은 VVC에 대한 블록 기반 비디오 인코더의 일반적인 도면을 도시한다. 구체적으로, 도 1은 통상적인 인코더(100)를 도시한다. 인코더(100)는 비디오 입력(110), 움직임 보상(112), 움직임 추정(114), 인트라/인터 모드 결정(116), 블록 예측자(140), 가산기(128), 변환(130), 양자화(132), 예측 관련 정보(142), 인트라 예측(118), 픽처 버퍼(120), 역양자화(134), 역변환(136), 가산기(126), 메모리(124), 루프 내 필터(122), 엔트로피 코딩(138) 및 비트스트림(144)을 갖는다.
인코더(100)에서는, 비디오 프레임이 처리를 위해 복수의 비디오 블록으로 파티셔닝된다. 각각의 주어진 비디오 블록에 대해, 인터 예측 접근 방식 또는 인트라 예측 접근 방식에 기반하여 예측이 형성된다.
비디오 입력(110)의 일부인 현재 비디오 블록과 블록 예측자(140)의 일부인 그 예측자 간의 차이를 표현하는 예측 잔차가 가산기(128)로부터 변환(130)으로 송신된다. 그런 다음, 엔트로피 감소를 위해 변환(130)으로부터 양자화(132)로 변환 계수들이 송신된다. 이어서, 양자화된 계수들이 엔트로피(138)에 공급되어 압축된 비디오 비트스트림을 생성한다. 도 1에 도시된 바와 같이, 인트라/인터 모드 결정(116)으로부터의 예측 관련 정보(142), 이를테면 비디오 블록 파티션 정보, 움직임 벡터(MV: motion vector)들, 참조 픽처 인덱스 및 인트라 예측 모드가 또한 엔트로피 코딩(138)을 통해 공급되어 압축된 비트스트림(144)에 저장된다. 압축된 비트스트림(144)은 비디오 비트스트림을 포함한다.
인코더(100)에서는, 예측 목적으로 픽셀들을 재구성하기 위해 디코더 관련 회로들이 또한 필요하다. 먼저, 역양자화(134) 및 역변환(136)을 통해 예측 잔차가 재구성된다. 이러한 재구성된 예측 잔차는 블록 예측자(140)와 조합되어, 현재 비디오 블록에 대한 필터링되지 않은 재구성된 픽셀들을 생성한다.
공간 예측(또는 "인트라 예측")은 현재 비디오 블록과 동일한 비디오 프레임에서 (참조 샘플들로 지칭되는) 이미 코딩된 이웃 블록들의 샘플들로부터의 픽셀들을 사용하여 현재 비디오 블록을 예측한다.
("인터 예측"으로도 또한 지칭되는) 시간 예측은 이미 코딩된 비디오 픽처들로부터의 재구성된 픽셀들을 사용하여 현재 비디오 블록을 예측한다. 시간 예측은 비디오 신호에 내재된 시간 중복성을 감소시킨다. 주어진 코딩 유닛(CU) 또는 코딩 블록에 대한 시간 예측 신호는 대개, 현재 CU와 이것의 시간 기준 사이의 움직임의 양 및 방향을 지시하는 하나 이상의 MV에 의해 시그널링된다. 추가로, 다수의 참조 픽처가 지원된다면, 하나의 참조 픽처 인덱스가 추가로 송신되며, 이는 참조 픽처 저장소 내의 어느 참조 픽처로부터 시간 예측 신호가 오는지를 식별하는 데 사용된다.
움직임 추정(114)은 픽처 버퍼(120)로부터 비디오 입력(110) 및 신호를 취하고 움직임 추정 신호를 움직임 보상(112)에 출력한다. 움직임 보상(112)은 비디오 입력(110), 픽처 버퍼(120)로부터의 신호, 및 움직임 추정(114)으로부터의 움직임 추정 신호를 취하고 움직임 보상 신호룰 인트라/인터 모드 결정(116)으로 출력한다.
공간 및/또는 시간 예측이 수행된 후에, 인코더(100)의 인트라/인터 모드 결정(116)은 예를 들어, 레이트 왜곡 최적화 방법에 기반하여 최상의 예측 모드를 선택한다. 그 다음, 현재 비디오 블록으로부터 블록 예측자(140)가 감산되고; 결과적인 예측 잔차가 변환(130) 및 양자화(132)를 사용하여 역상관(de-correlate)된다. 결과적인 양자화된 잔차 계수들은 역양자화(134)에 의해 역양자화되고, 역변환(136)에 의해 역변환되어, 재구성된 잔차를 형성하고, 재구성된 잔차는 이어서, 예측 블록에 다시 더해져 CU의 재구성된 신호를 형성한다. 재구성된 CU가 픽처 버퍼(120)의 참조 픽처 저장소에 들어가 차후 비디오 블록들을 코딩하는 데 사용되기 전에, 추가 루프 내 필터링(122), 이를테면 블록 분리(deblocking) 필터, 샘플 적응 오프셋(SAO: sample adaptive offset) 및/또는 적응형 루프 내 필터(ALF: adaptive in-loop filter)가 재구성된 CU에 적용될 수 있다. 출력 비디오 비트스트림(144)을 형성하기 위해, 코딩 모드(인터 또는 인트라), 예측 모드 정보, 움직임 정보 및 양자화된 잔차 계수들이 모두 엔트로피 코딩 유닛(138)에 송신되어 추가로 압축되고 패킹되어 비트스트림을 형성한다.
도 1은 일반적인 블록 기반 하이브리드 비디오 인코딩 시스템의 블록도를 제공한다. 입력 비디오 신호는 (CU들로 지칭되는) 블록 단위로 처리된다. VTM-1.0에서, CU는 최대 128×128 픽셀들일 수 있다. 그러나 쿼드 트리들에만 기반하여 블록들을 파티셔닝하는 HEVC와는 달리, VVC에서는 하나의 코딩 트리 유닛(CTU: coding tree unit)이 쿼드/2진/3진 트리에 기반하여 다양한 로컬 특성들에 적응하도록 CU들로 분할된다. 추가로, HEVC에서 다중 파티션 유닛 타입의 개념이 제거되는데, 즉 CU, 예측 유닛(PU: prediction unit) 및 변환 유닛(TU: transform unit)의 분리가 VVC에 더는 존재하지 않으며; 대신에, 각각의 CU는 추가 파티션들 없이 예측과 변환 모두를 위한 기본 유닛으로서 항상 사용된다. 다중 타입 트리 구조에서, 하나의 CTU는 먼저 쿼드 트리 구조에 의해 파티셔닝된다. 이어서, 각각의 쿼드 트리 리프(leaf) 노드는 2진 및 3진 트리 구조에 의해 추가로 파티셔닝될 수 있다. 도 3a, 도 3b, 도 3c, 도 3d 및 도 3e에 도시된 바와 같이, 5개의 분할 타입, 즉 4진(quaternary) 파티셔닝, 수평 2진 파티셔닝, 수직 2진 파티셔닝, 수평 3진 파티셔닝 및 수직 3진 파티셔닝이 있다.
도 3a는 본 개시내용에 따른, 다중 타입 트리 구조에서의 블록 4진 파티션을 예시하는 도면을 도시한다.
도 3b는 본 개시내용에 따른, 다중 타입 트리 구조에서의 블록 수직 2진 파티션을 예시하는 도면을 도시한다.
도 3c는 본 개시내용에 따른, 다중 타입 트리 구조에서의 블록 수평 2진 파티션을 예시하는 도면을 도시한다.
도 3d는 본 개시내용에 따른, 다중 타입 트리 구조에서의 블록 수직 3진 파티션을 예시하는 도면을 도시한다.
도 3e는 본 개시내용에 따른, 다중 타입 트리 구조에서의 블록 수평 3진 파티션을 예시하는 도면을 도시한다.
도 1에서, 공간 예측 및/또는 시간 예측이 수행될 수 있다. 공간 예측(또는 "인트라 예측")은 동일한 비디오 픽처/슬라이스에서 (참조 샘플들로 지칭되는) 이미 코딩된 이웃 블록들의 샘플들로부터의 픽셀들을 사용하여 현재 비디오 블록을 예측한다. 공간 예측은 비디오 신호에 내재된 공간 중복성을 감소시킨다. ("인터 예측" 또는 "움직임 보상 예측"으로도 또한 지칭되는) 시간 예측은 이미 코딩된 비디오 픽처들로부터의 재구성된 픽셀들을 사용하여 현재 비디오 블록을 예측한다. 시간 예측은 비디오 신호에 내재된 시간 중복성을 감소시킨다. 주어진 CU에 대한 시간 예측 신호는 대개, 현재 CU와 이것의 시간 기준 사이의 움직임의 양 및 방향을 지시하는 하나 이상의 움직임 벡터(MV)에 의해 시그널링된다. 또한, 다수의 참조 픽처가 지원된다면, 하나의 참조 픽처 인덱스가 추가로 송신되며, 이는 참조 픽처 저장소 내의 어느 참조 픽처로부터 시간 예측 신호가 오는지를 식별하는 데 사용된다. 공간 및/또는 시간 예측 이후에, 인코더의 모드 결정 블록은 예를 들어, 레이트 왜곡 최적화 방법에 기반하여 최상의 예측 모드를 선택한다. 그 다음, 예측 블록이 현재 비디오 블록으로부터 감산되고; 예측 잔차가 변환을 사용하여 역상관되고 양자화된다. 양자화된 잔차 계수들은 역양자화되고 역변환되어, 재구성된 잔차를 형성하고, 재구성된 잔차는 이어서, 예측 블록에 다시 더해져 CU의 재구성된 신호를 형성한다. 추가로, 재구성된 CU가 참조 픽처 저장소에 들어가 차후 비디오 블록들을 코딩하는 데 사용되기 전에, 루프 내 필터링, 이를테면 블록 분리 필터, 샘플 적응 오프셋(SAO) 및 적응형 루프 내 필터(ALF)가 재구성된 CU에 적용될 수 있다. 출력 비디오 비트스트림을 형성하기 위해, 코딩 모드(인터 또는 인트라), 예측 모드 정보, 움직임 정보 및 양자화된 잔차 계수들이 모두 엔트로피 코딩 유닛에 송신되어 추가로 압축되고 패킹되어 비트스트림을 형성한다.
도 2는 VVC에 대한 비디오 디코더의 일반적인 블록도를 도시한다. 구체적으로, 도 2는 통상적인 디코더(200) 블록도를 도시한다. 디코더(200)는 비트스트림(210), 엔트로피 디코딩(212), 역양자화(214), 역변환(216), 가산기(218), 인트라/인터 모드 선택(220), 인트라 예측(222), 메모리(230), 루프 내 필터(228), 움직임 보상(224), 픽처 버퍼(226), 예측 관련 정보(234) 및 비디오 출력(232)을 갖는다.
디코더(200)는 도 1의 인코더(100)에 상주하는 재구성 관련 섹션과 유사하다. 디코더(200)에서는, 착신 비디오 비트스트림(210)이 먼저 엔트로피 디코딩(212)을 통해 디코딩되어 양자화된 계수 레벨들 및 예측 관련 정보를 도출한다. 이어서, 양자화된 계수 레벨들이 역양자화(214) 및 역변환(216)을 통해 처리되어, 재구성된 예측 잔차를 획득한다. 인트라/인터 모드 선택기(220)에서 구현되는 블록 예측자 메커니즘은 디코딩된 예측 정보에 기초하여 인트라 예측(222) 또는 움직임 보상(224)을 수행하도록 구성된다. 합산기(218)를 사용하여, 역변환(216)으로부터의 재구성된 예측 잔차와 블록 예측자 메커니즘에 의해 생성된 예측 출력을 합산함으로써 한 세트의 필터링되지 않은 재구성된 픽셀들이 획득된다.
재구성된 블록은 추가로, 참조 픽처 저장소로서 기능하는 픽처 버퍼(226)에 저장되기 전에 루프 내 필터(228)를 거칠 수 있다. 픽처 버퍼(226) 내의 재구성된 비디오가 송신되어 디스플레이 디바이스를 구동할 수 있을 뿐만 아니라, 차후의 비디오 블록들을 예측하는 데 사용될 수 있다. 루프 내 필터(228)가 온 전환되는 상황들에서, 이러한 재구성된 픽셀들에 대해 필터링 동작이 수행되어 최종 재구성된 비디오 출력(232)을 도출한다.
도 2는 블록 기반 비디오 디코더의 일반적인 블록도를 제공한다. 비디오 비트스트림은 엔트로피 디코딩 유닛에서 먼저 엔트로피 디코딩된다. 코딩 모드 및 예측 정보는 (인트라 코딩된다면) 공간 예측 유닛 또는 (인터 코딩된다면) 시간 예측 유닛에 송신되어 예측 블록을 형성한다. 잔차 변환 계수들은 역양자화 유닛 및 역변환 유닛에 송신되어 잔차 블록을 재구성한다. 이어서, 예측 블록 및 잔차 블록이 함께 더해진다. 재구성된 블록은 추가로, 참조 픽처 저장소에 저장되기 전에 루프 내 필터링을 거칠 수 있다. 그런 다음, 참조 픽처 저장소 내의 재구성된 비디오는 디스플레이 디바이스를 구동하기 위해 송신될 뿐만 아니라, 차후의 비디오 블록들을 예측하는 데 사용된다.
일반적으로, VVC에 적용되는 기본 인터 예측 기법들은, 몇몇 모듈들이 추가로 확장 및/또는 강화된다는 점을 제외하고는 HEVC의 예측 기법과 동일하게 유지된다. 특히, 모든 선행 비디오 표준들에 대해, 코딩 블록이 단일 예측될 때는 하나의 코딩 블록이 하나의 단일 MV와만 연관될 수 있고, 또는 코딩 블록이 양방향 예측될 때는 하나의 코딩 블록이 2개의 MV와 연관될 수 있다. 종래의 블록 기반 움직임 보상의 이러한 제한 때문에, 움직임 보상 후에 작은 움직임이 예측 샘플들 내에 여전히 남아있을 수 있고, 따라서 움직임 보상의 전체 효율에 부정적으로 영향을 미친다. MV들의 입도(granularity) 및 정밀도 모두를 개선하기 위해, 광 흐름에 기반한 2개의 샘플별(sample-wise) 개선 방법, 즉 아핀 모드에 대한 양방향 광 흐름(BDOF) 및 광 흐름에 의한 예측 개선(PROF)이 현재 VVC 표준에 대해 조사된다. 다음에는, 2개의 인터 코딩 툴의 주요 기술적 양상들이 간략하게 검토된다.
양방향 광 흐름
VVC에서, 양방향 예측된 코딩 블록들의 예측 샘플들을 개선하기 위해, BDOF가 적용된다. 구체적으로, 도 4에 도시된 바와 같이, BDOF는 양방향 예측이 사용될 때 블록 기반 움직임 보상 예측들에 대해 수행되는 샘플별 움직임 개선이다.
도 4는 본 개시내용에 따른 BDOF 모델의 예시를 도시한다.
각각의 4×4 서브블록의 움직임 개선(movement refinement)(v x , v y )은, 서브블록 주위의 하나의 6×6 윈도우(Ω) 내에서 BDOF가 적용된 후 L0 및 L1 예측 샘플들 간의 차이를 최소화함으로써 계산된다. 구체적으로, (v x , v y )의 값은 다음과 같이 도출되며:
Figure pct00001
여기서
Figure pct00002
는 플로어 함수(floor function)이고; clip3(min, max, x)는 [min, max]의 범위 내에서 주어진 값(x)을 클립(clip)하는 함수이고; 심벌 >>은 비트 단위의 우측 시프트 연산을 나타내고; 심벌 <<은 비트 단위의 좌측 시프트 연산을 나타내며; th BDOF 는 불규칙한 로컬 움직임으로 인해 전파된 오차들을 방지하기 위한 움직임 개선 임계치이고, 이는 1<<max(5, bit-depth-7)이며, bit-depth는 내부 비트 심도이다. (1)에서,
Figure pct00003
이고,
Figure pct00004
이다.
S 1, S 2, S 3, S 5S 6의 값들은 다음과 같이 계산되며:
Figure pct00005
Figure pct00006
여기서
Figure pct00007
I ( k )(i, j)는 중간 고정밀도(즉, 16비트)로 생성되는 리스트 k(k = 0, 1) 내의 예측 신호의 좌표(i, j)에서의 샘플 값이고;
Figure pct00008
Figure pct00009
는 샘플의 2개의 이웃하는 샘플들 간의 차이를 직접 계산함으로써 획득되는, 샘플의 수평 기울기 및 수직 기울기이며, 즉 다음과 같다:
Figure pct00010
(1)에서 도출된 움직임 개선에 기반하여, CU의 최종 양방향 예측 샘플들은, 다음 식에 의해 지시된 바와 같이, 광 흐름 모델에 기반하여 움직임 궤적을 따라 L0/L1 예측 샘플들을 보간함으로써 계산되며:
Figure pct00011
Figure pct00012
여기서 shifto offset 은 양방향 예측에 대한 L0 및 L1 예측 신호들을 조합하기 위해 적용되는 우측 시프트 값 및 오프셋 값이고, 이들은 각각 15 - bit-depth 및 1 << (14 - bit-depth) + 2·(1 << 13)과 같다. 위의 비트 심도 제어 방법에 기반하여, 전체 BDOF 프로세스의 중간 파라미터들의 최대 비트 심도가 32비트를 초과하지 않고, 곱셈에 대한 가장 큰 입력이 15비트 이내인 것, 즉 BDOF 구현들에 대해 하나의 15비트 곱셈기로 충분한 것이 보장된다.
아핀 모드
HEVC에서, 움직임 보상 예측을 위해 병진 운동 모델만이 적용된다. 실세계에 있는 동안, 많은 종류들의 움직임, 예컨대 확대/축소(zoom in/out), 회전, 원근감 움직임들 및 다른 불규칙한 움직임들이 존재한다. VVC에서, 인터 예측에 병진 운동이 적용되는지 또는 아핀 움직임 모델이 적용되는지를 지시하기 위해 각각의 인터 코딩 블록에 대해 하나의 플래그를 시그널링함으로써 아핀 움직임 보상 예측이 적용된다. 현재 VVC 설계에서, 4-파라미터 아핀 모드 및 6-파라미터 아핀 모드를 포함하는 2개의 아핀 모드가 하나의 아핀 코딩 블록에 대해 지원된다.
4-파라미터 아핀 모델은 다음의 파라미터들: 각각 수평 방향 및 수직 방향에서의 병진 이동을 위한 2개의 파라미터, 줌(zoom) 움직임을 위한 하나의 파라미터 및 두 방향들 모두에 대한 회전 움직임을 위한 하나의 파라미터를 갖는다. 수평 줌 파라미터는 수직 줌 파라미터와 동일하다. 수평 회전 파라미터는 수직 회전 파라미터와 동일하다. 움직임 벡터들 및 아핀 파라미터의 더 양호한 원근 조절(accommodation)을 달성하기 위해, VVC에서, 그러한 아핀 파라미터들은 현재 블록의 최상부 좌측 코너 및 최상부 우측 코너에 위치된 (제어 포인트 움직임 벡터(CPMV: control point motion vector)로도 또한 지칭되는) 2개의 MV로 변환된다. 도 5a 및 도 5b에 도시된 바와 같이, 블록의 아핀 움직임 필드는 2개의 제어 포인트 MV(V0, V1)로 설명된다.
도 5a는 본 개시내용에 따른 4-파라미터 아핀 모델의 예시를 도시한다.
도 5b는 본 개시내용에 따른 4-파라미터 아핀 모델의 예시를 도시한다.
제어 포인트 움직임에 기반하여, 하나의 아핀 코딩된 블록의 움직임 필드(v x , v y )는 다음과 같이 설명된다:
Figure pct00013
6-파라미터 아핀 모드는 다음의 파라미터들: 각각 수평 방향 및 수직 방향에서의 병진 이동을 위한 2개의 파라미터, 수평 방향에서의 줌 움직임에 대한 하나의 파라미터 및 회전 움직임에 대한 하나의 파라미터, 수직 방향에서의 줌 움직임에 대한 하나의 파라미터 및 회전 움직임에 대한 하나의 파라미터를 갖는다. 6-파라미터 아핀 움직임 모델은 3개의 CPMV에서 3개의 MV로 코딩된다.
도 6은 본 개시내용에 따른 6-파라미터 아핀 모델의 예시를 도시한다.
도 6에 도시된 바와 같이, 하나의 6-파라미터 아핀 블록의 3개의 제어 포인트가 블록의 최상부 좌측, 최상부 우측 및 최하부 좌측 코너에 위치된다. 최상부 좌측 제어 포인트에서의 움직임은 병진 운동과 관련되고, 최상부 우측 제어 포인트에서의 움직임은 수평 방향에서의 회전 및 줌 움직임과 관련되고, 최하부 좌측 제어 포인트에서의 움직임은 수직 방향에서의 회전 및 줌 움직임과 관련된다. 4-파라미터 아핀 움직임 모델과 비교하여, 6-파라미터의 수평 방향에서의 회전 및 줌 움직임은 수직 방향에서의 이러한 움직임과 동일하지 않을 수 있다. (V0, V1, V2)가 도 6에서 현재 블록의 최상부 좌측, 최상부 우측 및 최하부 좌측 코너들의 MV들이라고 가정하면, 각각의 서브블록(v x , v y )의 움직임 벡터는 제어 포인트들에서의 3개의 MV를 사용하여 다음과 같이 도출된다:
Figure pct00014
아핀 모드에 대한 광 흐름에 의한 예측 개선
아핀 움직임 보상 정밀도를 개선하기 위해, 광 흐름 모델에 기반하여 서브블록 기반 아핀 움직임 보상을 개선하는 PROF가 현재 VVC에서 현재 조사되고 있다. 구체적으로, 서브블록 기반 아핀 움직임 보상을 수행한 후에, 하나의 아핀 블록의 루마(luma) 예측 샘플은 광 흐름 식에 기반하여 도출된 하나의 샘플 개선 값에 의해 수정된다. 상세하게는, PROF의 동작들은 다음의 4개의 단계로 요약될 수 있다:
단계 1: 4-파라미터 아핀 모델에 대해 (6) 그리고 6-파라미터 아핀 모델에 대해 (7)에서 도출된 서브블록 MV들을 사용하여 서브블록 예측(I(i, j))을 생성하도록 서브블록 기반 아핀 움직임 보상이 수행된다.
단계 2: 각각의 예측 샘플의 공간 기울기들(g x (i, j), g y (i, j))은 다음과 같이 계산된다:
Figure pct00015
기울기들을 계산하기 위해, 하나의 서브블록의 각각의 면에 예측 샘플들의 하나의 추가 행/열이 생성될 필요가 있다. 메모리 대역폭 및 복잡성을 감소시키기 위해, 확장된 경계들 상의 샘플들이 참조 픽처의 가장 가까운 정수 픽셀 포지션으로부터 복사되어 추가 보간 프로세스들을 피한다.
단계 3: 루마 예측 개선 값이 다음에 의해 계산되며:
Figure pct00016
여기서 Δv(i, j)는 v(i, j)로 표기된, 샘플 위치 (i, j)에 대해 계산된 픽셀 MV와 픽셀(i, j)이 위치하는 서브블록의 서브블록 MV 간의 차이이다. 추가로, 현재 PROF 설계에서는, 원본 예측 샘플에 예측 개선를 추가한 후에, 하나의 클립 연산이 수행되어, 개선된 예측 샘플의 값을 15-비트 내에 있도록 클립하는데, 즉 다음과 같고:
Figure pct00017
여기서 I(i, j) 및 I r (i, j)는 각각 위치 (i, j)에서의 원본 예측 샘플 및 개선된 예측 샘플이다.
도 7은 본 개시내용에 따른 아핀 모드에 대한 PROF 프로세스를 예시한다. 도 7은 블록(710), 블록(720) 및 블록(730)을 포함한다. 블록(730)은 블록(720)의 회전된 블록이다.
서브블록 중심에 대한 픽셀 위치 및 아핀 모델 파라미터들이 서브블록마다 달라지지 않기 때문에, Δv(i, j)는 첫 번째 서브블록에 대해 계산되고, 동일한 CU 내의 다른 서브블록들에 대해 재사용될 수 있다. Δx 및 Δy를 샘플 위치(i, j)로부터 샘플이 속하는 서브블록의 중심까지의 수평 및 수직 오프셋이라고 하면, Δv(i, j)는 다음과 같이 도출될 수 있다:
Figure pct00018
아핀 서브블록 MV 도출 식들 (6) 및 (7)에 기반하여, MV 차이인 Δv(i, j)가 도출될 수 있다. 구체적으로, 4-파라미터 아핀 모델의 경우, 다음과 같다:
Figure pct00019
6-파라미터 아핀 모델의 경우에는, 다음과 같으며:
Figure pct00020
여기서 (v 0 x , v 0 y ), (v 1 x , v 1 y ), (v 2 x , v 2 y )는 현재 코딩 블록의 최상부 좌측, 최상부 우측 및 최하부 좌측 제어 포인트 MV들이고, wh는 블록의 폭 및 높이이다. 기존의 PROF 설계에서, MV 차이(Δv x , Δv y )는 항상 1/32-pel의 정밀도로 도출된다.
로컬 조명 보상
로컬 조명 보상(LIC: local illumination compensation)은 시간상 이웃하는 픽처들 사이에 존재하는 로컬 조명 변화들의 문제를 해결하는 데 사용되는 코딩 툴이다. 하나의 현재 블록의 예측 샘플들을 획득하기 위해, 가중치 및 오프셋 파라미터들의 쌍이 참조 샘플들에 적용된다. 일반적인 수학적 모델은 다음과 같이 주어지며:
Figure pct00021
여기서 P r[x + v]는 움직임 벡터(v)에 의해 지시된 참조 블록이고, [α, β]는 참조 블록에 대한 가중치 및 오프셋 파라미터들의 대응하는 쌍이고, P[x]는 최종 예측 블록이다. 가중치 및 오프셋 파라미터들의 쌍은 현재 블록의 템플릿(즉, 이웃하는 재구성된 샘플들) 및 (현재 블록의 움직임 벡터를 사용하여 도출되는) 템플릿의 참조 블록에 기반하여 최소 선형 평균 제곱 오차(LLMSE: least linear mean square error) 알고리즘을 사용하여 추정된다. 템플릿 샘플들과 템플릿의 참조 샘플들 간의 평균 제곱 차를 최소화함으로써, α 및 β의 수학적 표현은 다음과 같이 도출될 수 있다:
Figure pct00022
여기서 I는 템플릿 내의 샘플들의 수를 나타낸다. P c[x i]는 현재 블록의 템플릿의 i 번째 샘플이고, P r[x i]는 움직임 벡터(v)에 기반한 i 번째 템플릿 샘플의 참조 샘플이다.
각각의 예측 방향(L0 또는 L1)에 대해 최대한 하나의 움직임 벡터를 포함하는 규칙적인 인터 블록들에 적용되는 것에 추가하여, LIC는 또한 아핀 모드 코딩된 블록들에 적용되는데, 여기서는 하나의 코딩 블록이 다수의 더 작은 서브블록으로 분할되고 각각의 서브블록이 상이한 움직임 정보와 연관될 수 있다. (아래에서 설명되는) 도 17a 및 17b에 도시된 바와 같이, 아핀 모드 코딩된 블록의 LIC에 대한 참조 샘플들을 도출하기 위해, 하나의 아핀 코딩 블록의 최상위 템플릿 내의 참조 샘플들은 최상위 서브블록 행의 각각의 서브블록의 움직임 벡터를 사용하여 페치(fetch)되는 한편, 좌측 템플릿의 참조 샘플들은 좌측 서브블록 열의 서브블록들의 움직임 벡터들을 사용하여 페치된다. 그 후, (12)에 (12)에 도시된 것과 동일한 LLMSE 도출 방법이 적용되어 복합 템플릿을 기반으로 LIC 파라미터들을 도출한다.
도 17a는 본 개시내용에 따른, 아핀 모드에 대한 템플릿 샘플들을 도출하기 위한 예시를 도시한다. 예시는 Cur 프레임(1720) 및 Cur CU(1722)를 포함한다. Cur 프레임(1720)은 현재 프레임이다. Cur CU(1722)는 현재 코딩 유닛이다.
도 17b는 아핀 모드에 대한 템플릿 샘플들을 도출하기 위한 예시를 도시한다. 예시는 Ref 프레임(1740), Col CU(1742), A Ref(1743), B Ref(1744), C Ref(1745), D Ref(1746), E Ref(1747), F Ref(1748) 및 G Ref(1749)를 포함한다. Ref 프레임(1740)은 참조 프레임이다. Col CU(1742)는 콜로케이트(collocate)된 코딩 유닛이다. A Ref(1743), B Ref(1744), C Ref(1745), D Ref(174.6), E Ref(1747), F Ref(1748) 및 G Ref(1749)는 참조 샘플들이다.
아핀 모드에 대한 광 흐름에 의한 예측 개선의 비효율성들
PROF가 아핀 모드의 코딩 효율을 향상시킬 수 있지만, 그 설계는 여전히 더 개선될 수 있다. 특히, PROF와 BDOF 둘 다 광 흐름 개념 상에 구축된다는 사실이 주어지면, PROF가 하드웨어 구현들을 가능하게 하기 위해 BDOF의 기존 로직들을 최대로 활용할 수 있도록 PROF 및 BDOF의 설계들을 가능한 한 많이 조화시키는 것이 매우 바람직하다. 이러한 고려사항에 기반하여, 현재 PROF 설계와 BDOF 설계 사이의 상호 작용에 대한 다음의 비 효율성들이 본 개시내용에서 확인된다.
먼저, "아핀 모드에 대한 광 흐름에 의한 예측 개선" 섹션에서 설명되는 바와 같이, 식(8)에서, 기울기들의 정밀도는 내부 비트 심도에 기반하여 결정된다. 다른 한편으로, MV 차이, 즉 Δv x 및 Δv y 는 항상 1/32-pel의 정밀도로 도출된다. 대응하게, 식(9)에 기반하여, 도출된 PROF 개선의 정밀도는 내부 비트 심도에 의존한다. 그러나 더 높은 PROF 도출 정밀도를 유지하기 위해, 중간의 높은 비트 심도(즉, 16-비트)에서 예측 샘플 값들 위에 PROF가 적용된다. 따라서 내부 코딩 비트 심도에 관계없이, PROF에 의해 도출된 예측 개선들의 정밀도는 중간 예측 샘플들의 정밀도, 즉 16-비트와 매칭해야 한다. 다시 말해서, 기존 PROF 설계에서의 MV 차이 및 기울기들의 표현 비트 심도들은 예측 샘플 정밀도(즉, 16-비트)에 대해 정확한 예측 개선들을 도출하도록 완벽하게 매칭되지 않는다. 한편, 식(1), 식(4) 및 식(8)의 비교에 기반하여, 기존의 PROF 및 BDOF는 샘플 기울기들 및 MV 차이를 표현하기 위해 상이한 정밀도들을 사용한다. 이전에 지적된 바와 같이, 이러한 비-통합 설계는 기존의 BDOF 로직이 재사용될 수 없기 때문에 하드웨어에 바람직하지 않다.
둘째로, "아핀 모드에 대한 광 흐름에 의한 예측 개선" 섹션에서 논의되는 바와 같이, 하나의 현재 아핀 블록이 양방향 예측될 때, PROF는 리스트 L0 및 L1의 예측 샘플들에 개별적으로 적용되고; 그런 다음, 강화된 L0 및 L1 예측 신호들이 평균되어 최종 양방향 예측 신호를 생성한다. 반대로, 각각의 예측 방향에 대한 PROF 개선을 개별적으로 도출하는 대신에, BDOF는 한 번 예측 개선를 도출하며, 이는 다음에, 조합된 L0 및 L1 예측 신호를 향상시키도록 적용된다. (아래에서 설명되는) 도 8 및 도 9는 양방향 예측을 위한 현재 BDOF 및 PROF의 작업 흐름을 비교한다. 실제 코덱 하드웨어 파이프라인 설계에서, 이는 대개, 더 많은 코딩 블록들이 병렬로 처리될 수 있도록 각각의 파이프라인 스테이지에 상이한 주요 인코딩/디코딩 모듈들을 할당한다. 그러나 BDOF 및 PROF 작업 흐름들 간의 차이로 인해, 이는 BDOF 및 PROF에 의해 공유될 수 있는 하나의 동일한 파이프라인 설계를 갖는 어려움으로 이어질 수 있는데, 이는 실제 코덱 구현에 비우호적이다.
도 8은 본 개시내용에 따른 BDOF의 작업 흐름을 도시한다. 작업 흐름(800)은 L0 움직임 보상(810), L1 움직임 보상(820) 및 BDOF(830)를 포함한다. L0 움직임 보상(810)은 예를 들어, 이전의 참조 픽처로부터의 움직임 보상 샘플들의 리스트일 수 있다. 이전 참조 픽처는 비디오 블록 내의 현재 픽처로부터 이전의 참조 픽처이다. L1 움직임 보상(820)은 예를 들어, 다음 참조 픽처로부터의 움직임 보상 샘플들의 리스트일 수 있다. 다음 참조 픽처는 비디오 블록에서 현재 픽처 뒤의 참조 픽처이다. 위에서 도 4와 관련하여 설명된 바와 같이, BDOF(830)는 L0 움직임 보상(810) 및 L1 움직임 보상(820)으로부터 움직임 보상 샘플들을 취하고 예측 샘플들을 출력한다.
도 9는 본 개시내용에 따른 기존 PROF의 작업 흐름을 도시한다. 작업 흐름(900)은 L0 움직임 보상(910), L1 움직임 보상(920), L0 PROF(930), L1 PROF(940) 및 평균(960)을 포함한다. L0 움직임 보상(910)은 예를 들어, 이전의 참조 픽처로부터의 움직임 보상 샘플들의 리스트일 수 있다. 이전 참조 픽처는 비디오 블록 내의 현재 픽처로부터 이전의 참조 픽처이다. L1 움직임 보상(920)은 예를 들어, 다음 참조 픽처로부터의 움직임 보상 샘플들의 리스트일 수 있다. 다음 참조 픽처는 비디오 블록에서 현재 픽처 뒤의 참조 픽처이다. L0 PROF(930)는 위에서 도 7과 관련하여 설명된 바와 같이, L0 움직임 보상(910)으로부터 L0 움직임 보상 샘플들을 취하고 움직임 개선 값들을 출력한다. L1 PROF(940)는 위에서 도 7과 관련하여 설명된 바와 같이, L1 움직임 보상(920)으로부터 L1 움직임 보상 샘플들을 취하고 움직임 개선 값들을 출력한다. 평균(960)은 L0 PROF(930) 및 L1 PROF(940)의 움직임 개선 값 출력들을 평균한다.
셋째로, BDOF 및 PROF 둘 다에 대해, 기울기들은 현재 코딩 블록 내의 각각의 샘플에 대해 계산될 필요가 있으며, 이는 블록의 각각의 면에 예측 샘플들의 하나의 추가 행/열을 생성하는 것을 요구한다. 샘플 보간의 추가 계산상 복잡성을 피하기 위해, 블록 주위의 확장된 영역의 예측 샘플들은 정수 포지션에서(즉, 보간 없이) 참조 샘플들로부터 직접적으로 복사된다. 그러나 기존의 설계에 따르면, 상이한 위치들에서의 정수 샘플들이 선택되어, BDOF 및 PROF의 기울기 값들이 생성된다. 구체적으로, BDOF에 대해, (수평 기울기들의 경우) 예측 샘플의 좌측에 그리고 (수직 기울기들의 경우) 예측 샘플 위에 위치되는 정수 참조 샘플이 사용되며; PROF의 경우, 예측 샘플에 가장 가까운 정수 참조 샘플이 기울기 계산들에 사용된다. 비트 심도 표현 문제와 유사하게, 이러한 비-통합 기울기 계산 방법은 또한 하드웨어 코덱 구현들에 대해 바람직하지 않다.
넷째로, 앞서 지적된 바와 같이, PROF의 동기(motivation)는 샘플이 속하는 서브블록의 중심에서 도출되는 서브블록 MV와 각각의 샘플의 MV 간의 작은 MV 차이를 보상하는 것이다. 현재 PROF 설계에 따르면, 아핀 모드에 의해 하나의 코딩 블록이 예측될 때, 항상 PROF가 호출된다. 그러나 식(6) 및 식(7)에 지시된 바와 같이, 하나의 아핀 블록의 서브블록 MV들은 제어 포인트 MV들로부터 도출된다. 따라서 제어 포인트 MV들 간의 차이가 비교적 작을 때, 각각의 샘플 포지션에서의 MV들은 일관적이어야 한다. 이러한 경우, PROF를 적용하는 이익이 매우 제한될 수 있기 때문에, 성능/복잡성 절충을 고려할 때 PROF를 수행하는 것은 가치가 없을 수 있다.
아핀 모드에 대한 광 흐름에 의한 예측 개선에 대한 개선들
본 개시내용에서, 하드웨어 코덱 구현들을 가능하게 하도록 기존의 PROF 설계를 개선하고 단순화하기 위한 방법들이 제공된다. 특히, 기존의 BDOF 로직들을 PROF와 최대로 공유하기 위해, BDOF 및 PROF의 설계들을 조화시키는 데 특별한 주의가 이루어진다. 일반적으로, 본 개시내용에서 제안된 기술들의 주요 양상들은 다음과 같이 요약된다.
첫째, 하나 이상의 통합된 설계를 달성하면서 PROF의 코딩 효율을 개선하기 위해, 샘플 기울기들의 표현 비트 심도와, BDOF 및 PROF에 의해 사용되는 MV 차이를 통합하기 위한 하나의 방법이 제안된다.
둘째, 하드웨어 파이프라인 설계를 가능하게 하도록, 양방향 예측을 위해 PROF의 작업 흐름과 BDOF의 작업 흐름을 조화시키는 것이 제안된다. 구체적으로, L0 및 L1에 대해 개별적으로 예측 개선들을 도출하는 기존의 PROF와 달리, 제안된 방법은 조합된 L0 및 L1 예측 신호에 적용되는 예측 개선를 한 번 도출한다.
셋째, BDOF 및 PROF에 의해 사용되는 기울기 값들을 계산하기 위해 정수 참조 샘플들의 도출을 조화시키는 2개의 방법이 제안된다.
넷째, 계산적 복잡성을 감소시키기 위해, 특정 조건들이 충족될 때 아핀 코딩 블록들에 대한 PROF 프로세스를 적응적으로 디세이블하기 위한 조기 종결 방법들이 제안된다.
PROF 기울기들 및 MV 차이의 개선된 비트 심도 표현 설계
"문제 기술(problem statement)" 섹션에서 분석되는 바와 같이, MV 차이의 표현 비트 심도들 및 현재 PROF의 샘플 기울기들은 정확한 예측 개선들을 도출하도록 정렬되지 않는다. 더욱이, 샘플 기울기들의 표현 비트 심도 및 MV 차이는 BDOF와 PROF 간에 일관적이지 않으며, 이는 하드웨어에 대해 비우호적이다. 이 섹션에서는, BDOF의 비트 심도 표현 방법을 PROF로 확장시킴으로써 하나의 개선된 비트 심도 표현 방법이 제안된다. 구체적으로, 제안된 방법에서, 각각의 샘플 포지션에서의 수평 및 수직 기울기들은 다음과 같이 계산된다:
Figure pct00023
추가로, Δx 및 Δy가 하나의 샘플 위치로부터 샘플이 속하는 서브블록의 중심까지의 ¼-pel 정확도로 표현된 수평 및 수직 오프셋이라고 가정하면, 샘플 포지션에서의 대응하는 PROF MV 차이인 Δv(x, y)는 다음과 같이 도출되며:
Figure pct00024
여기서
Figure pct00025
는 BDOF 프로세스에 의해 사용되는 기울기 값들의 비트 심도, 즉
Figure pct00026
= max(5, (bitdepth - 7)) + 1이다. 식(13) 및 식(14)에서, c, d, ef는 아핀 제어 포인트 MV들에 기반하여 도출되는 아핀 파라미터들이다. 구체적으로, 4-파라미터 아핀 모델의 경우, 다음과 같다:
Figure pct00027
6-파라미터 아핀 모델의 경우, 다음과 같으며:
Figure pct00028
여기서 (v 0 x , v 0 y ), (v 1 x , v 1 y ), (v 2 x , v 2 y )는 1/16-pel 정밀도로 표현되는 현재 코딩 블록의 최상부 좌측, 최상부 우측 및 최하부 좌측 제어 포인트 MV들이고, wh는 블록의 폭 및 높이이다.
위의 논의에서, 식(13) 및 식(14)에 도시된 바와 같이, 한 쌍의 고정된 우측 시프트들이 적용되어 기울기들 및 MV 차이들의 값들을 계산한다. 실제로, (13) 및 (14)에 상이한 비트별 우측 시프트들이 적용되어, 내부 PROF 도출 프로세스의 비트 폭과 중간 계산 정밀도 간의 상이한 절충에 대한 MV 차이 및 기울기들의 다양한 표현 정밀도들을 달성할 수 있다. 예를 들어, 입력 비디오가 많은 잡음을 포함할 때, 도출된 기울기들은 각각의 샘플에서 정확한 로컬 수평/수직 기울기 값들을 표현하기에는 신뢰성이 없을 수 있다. 이러한 경우, MV 차이들을 표현하기 위해 기울기들보다 더 많은 비트들을 사용하는 것이 더 합리적이다. 한편, 입력 비디오가 정상 움직임을 나타낼 때, 아핀 모델에 의해 도출된 MV 차이들은 매우 작아야 한다. 매우 작다면, 높은 정밀도의 MV 차이를 사용하는 것은 도출된 PROF 개선의 정밀도를 증가시키는 데 추가 이익을 제공할 수 없다. 다시 말해서, 이러한 경우에, 기울기 값들을 표현하기 위해 더 많은 비트들을 사용하는 것이 더 유리하다. 위의 고려사항에 기반하여, 본 개시내용의 하나 이상의 실시예에서, PROF에 대한 기울기들 및 MV 차이를 계산하기 위해 다음에 하나의 일반적인 방법이 제안된다. 구체적으로, n a 개의 우측 시프트를 이웃 예측 샘플들의 차이에 적용함으로써, 즉 다음 식에 의해 각각의 샘플 포지션에서의 수평 및 수직 기울기들이 계산된다고 가정하면:
Figure pct00029
샘플 포지션에서의 대응하는 PROF MV 차이인 Δv(x, y)는 다음과 같이 계산되어야 하며:
Figure pct00030
여기서 Δx 및 Δy는 하나의 샘플 위치로부터 샘플이 속하는 서브블록의 중심까지의 ¼-pel 정확도로 표현된 수평 및 수직 오프셋이고, c, d, ef는 1/16-pel 아핀 제어 포인트 MV들에 기반하여 도출되는 아핀 파라미터들이다. 마지막으로, 샘플의 최종 PROF 개선은 다음과 같이 계산된다:
Figure pct00031
다른 실시예에서, 다른 PROF 비트 심도 제어 방법이 다음과 같이 제안된다. 이 방법에서는, n a 비트의 우측 시프트들을 이웃 예측 샘플들의 차이 값에 적용함으로써 여전히 각각의 샘플 포지션에서의 수평 및 수직 기울기들이 계산된다. 샘플 포지션에서의 대응하는 PROF MV 차이인 Δv(x, y)는 다음과 같이 계산되어야 한다:
Figure pct00032
추가로, 전체 PROF 도출을 적절한 내부 비트 심도로 유지하기 위해, 다음과 같이 도출된 MV 차이에 클립이 적용되며:
Figure pct00033
여기서 한계는
Figure pct00034
와 동일한 임계치이고, clip3(min, max, x)는 [min, max]의 범위 내에서 주어진 값(x)을 클립하는 함수이다. 일례로, n b 의 값은 2max(5, bitdepth -7)로 설정된다. 마지막으로, 샘플의 PROF 개선은 다음과 같이 계산된다:
Figure pct00035
추가로, 본 개시내용의 하나 이상의 실시예에서, 하나의 PROF 비트 심도 제어 솔루션이 제안된다. 이 방법에서, 각각의 샘플 포지션(i, j)에서의 수평 및 수직 PROF 움직임 개선들은 다음과 같이 도출된다:
Figure pct00036
추가로, 도출된 수평 및 수직 움직임 개선들은 다음과 같이 클립된다:
Figure pct00037
여기서 위에서 도출된 바와 같은 움직임 개선들이 주어지면, 위치(i, j)에서의 최종 PROF 샘플 개선은 다음과 같이 계산된다:
Figure pct00038
본 개시내용의 다른 실시예에서, 다른 PROF 비트 심도 제어 솔루션이 제안된다. 두 번째 방법에서, 샘플 포지션(i, j)에서의 수평 및 수직 PROF 움직임 개선들은 다음과 같이 도출된다:
Figure pct00039
그 다음, 도출된 움직임 개선들은 다음과 같이 클립된다:
Figure pct00040
따라서 위에서 도출된 바와 같은 움직임 개선들이 주어지면, 위치(i, j)에서의 최종 PROF 샘플 개선은 다음과 같이 계산된다:
Figure pct00041
본 개시내용의 하나 이상의 실시예에서는, 솔루션에서의 움직임 개선 정밀도 제어 방법과 두 번째 솔루션에서의 PROF 샘플 개선 도출 방법을 조합하는 것이 제안된다. 구체적으로, 이 방법에 의해, 각각의 샘플 포지션(i, j)에서의 수평 및 수직 PROF 움직임 개선들은 다음과 같이 도출된다:
Figure pct00042
추가로, 도출된 수평 및 수직 움직임 개선들은 다음과 같이 클립된다:
Figure pct00043
여기서 위에서 도출된 바와 같은 움직임 개선들이 주어지면, 위치(i, j)에서의 최종 PROF 샘플 개선은 다음과 같이 계산된다:
Figure pct00044
하나 이상의 실시예에서, 다음의 PROF 샘플 개선 도출 방법이 제안된다:
먼저, 다음과 같이 지시된 바와 같이, 다음의 고정된 우측 시프트들을 적용함으로써, 1/32-pel의 정밀도가 되도록 PROF 수평 및 수직 움직임 개선들을 계산한다:
Figure pct00045
둘째, 계산된 PROF 움직임 개선 값들을 하나의 대칭 범위인 [-31, 31]로 클립한다.
Figure pct00046
셋째, 샘플의 PROF 개선이 다음과 같이 계산된다:
Figure pct00047
도 10은 PROF의 비트 심도 표현 방법을 도시한다. 이 방법은 예를 들어, 디코더에 적용될 수 있다.
단계(1010)에서, 디코더가 비디오 신호 내의 비디오 블록과 연관된 참조 픽처(I)를 획득할 수 있다.
단계(1012)에서, 디코더는 참조 픽처(I) 내의 참조 블록으로부터 비디오 블록의 예측 샘플들(I(i, j))을 획득할 수 있다. i 및 j는 비디오 블록을 갖는 하나의 샘플의 좌표를 나타낼 수 있다.
단계(1014)에서, 디코더는 미리 설정된 정밀도를 달성하기 위해 비트 시프트 값에 기반하여 PROF 도출 프로세스의 내부 PROF 파라미터들에 우측 시프트를 적용함으로써 내부 PROF 파라미터들을 제어할 수 있다. 내부 PROF 파라미터들은 예측 샘플들(I(i, j))에 대해 도출된 수평 기울기 값들, 수직 기울기 값들, 수평 움직임 차이 값들 및 수직 움직임 차이 값들을 포함한다.
단계(1016)에서, 디코더는 예측 샘플들(I(i, j))에 기반하여 비디오 블록에 PROF 도출 프로세스가 적용되는 것에 기반하여 비디오 블록 내의 샘플들에 대한 예측 개선 값들을 획득할 수 있다.
단계(1018)에서, 디코더는 비디오 블록의 예측 샘플들을 예측 샘플들과 예측 개선 값들의 조합에 기반하여 획득할 수 있다.
추가로, 다음에 예시된 바와 같이, 동일한 파라미터 도출 방법이 또한 BDOF 샘플 개선 프로세스에 적용될 수 있으며:
Figure pct00048
여기서 sGxdI, sGx2, sGxGym, sGxGys 및 sGy2는 중간 BDOF 도출 파라미터들이다.
도 11은 BDOF의 비트 심도 제어 방법을 도시한다. 이 방법은 예를 들어, 디코더에 적용될 수 있다.
단계(1110)에서, 디코더가 비디오 블록과 연관된 제1 참조 픽처(I (0)) 및 제2 참조 픽처(I (1))를 획득할 수 있다. 디스플레이 순서에서 제1 참조 픽처(I (0))는 현재 픽처 앞에 있고 제2 참조 픽처(I (1))는 현재 픽처 뒤에 있다.
단계(1112)에서, 디코더는 제1 참조 픽처(I (0)) 내의 참조 블록으로부터 비디오 블록의 제1 예측 샘플들(I (0)(i, j))을 획득할 수 있다. i 및 j는 현재 픽처를 갖는 하나의 샘플의 좌표를 나타낼 수 있다.
단계(1114)에서, 디코더는 제2 참조 픽처(I (1)) 내의 참조 블록으로부터 비디오 블록의 제2 예측 샘플들(I (1)(i, j))을 획득할 수 있다.
단계(1116)에서, 디코더는 BDOF 도출 프로세스의 내부 BDOF 파라미터들에 시프트를 적용함으로써 내부 BDOF 파라미터들을 제어할 수 있다. 내부 BDOF 파라미터들은 제1 예측 샘플들(I (0)(i, j)), 제2 예측 샘플들(I (1)(i, j)), 제1 예측 샘플들(I (0)(i, j))과 제2 예측 샘플들(I (1)(i, j)) 간의 샘플 차이들, 및 중간 BDOF 도출 파라미터들에 기반하여 도출된 수평 기울기 값들 및 수직 기울기 값들을 포함한다. 중간 BDOF 도출 파라미터들은 sGxdI, sGydI, sGx2, sGxGy 및 sGy2 파라미터들을 포함한다. sGxdI 및 sGydI는 수평 기울기 값들과 샘플 차이 값들 간의 그리고 수직 기울기 값들과 샘플 차이 값들 간의 상호 상관 값들을 포함한다. sGx2 및 sGy2는 수평 기울기 값들 및 수직 기울기 값들의 자동 상관 값들을 포함한다. sGxGy는 수평 기울기 값들과 수직 기울기 값들 간의 상호 상관 값들을 포함한다.
단계(1118)에서, 디코더는 제1 예측 샘플들(I (0)(i, j)) 및 제2 예측 샘플들(I (1)(i, j))에 기반하여 비디오 블록에 BDOF가 적용되는 것에 기반하여 비디오 블록 내의 샘플들에 대한 움직임 개선들을 획득할 수 있다.
단계(1120)에서, 디코더는 움직임 개선들에 기반하여 비디오 블록의 양방향 예측 샘플들을 획득할 수 있다.
양방향 예측을 위한 BDOF 및 PROF의 조화된 작업 흐름들
앞서 논의된 바와 같이, 하나의 아핀 코딩 블록이 양방향 예측될 때, 현재 PROF는 일방적 방식으로 적용된다. 보다 구체적으로, PROF 샘플 개선들이 개별적으로 도출되어 리스트 L0 및 L1의 예측 샘플들에 적용된다. 그 후, 리스트 L0 및 L1로부터의 각각 개선된 예측 신호들이 평균되어 블록의 최종 양방향 예측 신호를 생성한다. 이는 샘플 개선들이 도출되어 양방향 예측 신호에 적용되는 BDOF 설계와 대조적이다. BDOF와 PROF의 양방향 예측 작업 흐름들 간의 이러한 차이는 실제 코덱 파이프라인 설계에 비우호적일 수 있다.
하드웨어 파이프라인 설계를 가능하게 하기 위해, 본 개시내용에 따른 하나의 단순화 방법은 2개의 예측 개선 방법의 작업 흐름들이 조화되도록 PROF의 양방향 예측 프로세스를 수정하는 것이다. 구체적으로, 각각의 예측 방향에 대한 개선을 개별적으로 적용하는 대신에, 제안된 PROF 방법은 리스트 L0 및 L1의 제어 포인트 MV들에 기반하여 예측 개선들을 한 번 도출하고; 그 다음, 도출된 예측 개선들은 조합된 L0 및 L1 예측 신호에 적용되어 품질을 향상시킨다. 구체적으로, 식(14)에서 도출된 MV 차이에 기반하여, 하나의 아핀 코딩 블록의 최종 양방향 예측 샘플들은 다음과 같은 제안된 방법에 의해 계산되며:
Figure pct00049
여기서 shifto offset 은 양방향 예측에 대한 L0 및 L1 예측 신호들을 조합하기 위해 적용되는 우측 시프트 값 및 오프셋 값이고, 이들은 각각 (15 - bitdepth) 및 1 << (14 - bitdepth) + (2 << 13)과 같다. 더욱이, (18)에 도시된 바와 같이, 제안된 방법에서는 ((9)에 도시된 바와 같은) 기존의 PROF 설계에서의 클립 연산이 제거된다.
도 13은 제안된 양방향 예측 PROF 방법이 적용될 때 대응하는 PROF 프로세스를 예시한다. PROF 프로세스(1300)는 L0 움직임 보상(1310), L1 움직임 보상(1320) 및 양방향 예측 PROF(1330)를 포함한다. L0 움직임 보상(1310)은 예를 들어, 이전의 참조 픽처로부터의 움직임 보상 샘플들의 리스트일 수 있다. 이전 참조 픽처는 비디오 블록 내의 현재 픽처로부터 이전의 참조 픽처이다. L1 움직임 보상(1320)은 예를 들어, 다음 참조 픽처로부터의 움직임 보상 샘플들의 리스트일 수 있다. 다음 참조 픽처는 비디오 블록에서 현재 픽처 뒤의 참조 픽처이다. 위에서 설명된 바와 같이, 양방향 예측 PROF(1330)는 L0 움직임 보상(1310) 및 L1 움직임 보상(1320)으로부터 움직임 보상 샘플들을 취하고 양방향 예측 샘플들을 출력한다.
하드웨어 파이프라인 설계를 위한 제안된 방법의 잠재적인 이점을 입증하기 위해, (아래에서 설명되는) 도 14는 BDOF 및 제안된 PROF 모두가 적용될 때 파이프라인 스테이지를 예시하기 위한 하나의 예를 도시한다. 도 14에서, 하나의 인터 블록의 디코딩 프로세스는 주로 3개의 단계를 포함한다:
첫째, 코딩 블록의 MV들을 파싱(parse)/디코딩하고 참조 샘플들을 페치한다.
둘째, 코딩 블록의 L0 및/또는 L1 예측 신호들을 생성한다.
셋째, 코딩 블록이 하나의 비-아핀 모드에 의해 예측될 때는 BDOF 또는 코딩 블록이 아핀 모드에 의해 예측될 때는 PROF에 기반하여, 생성된 양방향 예측 샘플들의 샘플별 개선을 수행한다.
도 14는 본 개시내용에 따라, BDOF 및 제안된 PROF 모두가 적용될 때 예시적인 파이프라인 스테이지의 예시를 도시한다. 도 14는 하드웨어 파이프라인 설계를 위한 제안된 방법의 잠재적인 이익을 입증한다. 파이프라인 스테이지(1400)는 MV의 파싱/디코딩 및 참조 샘플들의 페치(1410), 움직임 보상(1420), BDOF/PROF(1430)를 포함한다. 파이프라인 스테이지(1400)는 비디오 블록들(BLK0, BKL1, BKL2, BKL3, BLK4)을 인코딩할 것이다. 각각의 비디오 블록은 MV의 파싱/디코딩 및 참조 샘플들의 페치(1410)에서 시작하여, 움직임 보상(1420)으로 이동한 다음, 움직임 보상(1420), BDOF/PROF(1430)로 순차적으로 이동할 것이다. 이는 BLK0이 움직임 보상(1420)으로 이동할 때까지 파이프라인 스테이지(1400)에서 BLK0이 시작되지 않을 것임을 의미한다. 이는 시간이 T0에서 T1, T2, T3 및 T4로 이동함에 따라 모든 스테이지들 및 비디오 블록들에 대해 동일하다.
도 14에 도시된 바와 같이, 제안된 조화 방법이 적용된 후, 양방향 예측 샘플들에 BDOF 및 PROF 모두가 직접적으로 적용된다. BDOF 및 PROF가 상이한 타입들의 코딩 블록들에 적용되는(즉, 비-아핀 블록들에 BDOF가 적용되고 아핀 블록들에 PROF가 적용되는) 것을 고려하면, 2개의 코딩 툴이 동시에 호출될 수 없다. 따라서 이들의 대응하는 디코딩 프로세스들은 동일한 파이프라인 스테이지를 공유함으로써 수행될 수 있다. 이는, BDOF와 PROF의 상이한 양방향 예측 작업 흐름으로 인해, 동일한 파이프라인 스테이지를 BDOF와 PROF 모두에 할당하는 것이 어려운 기존의 PROF 설계보다 더 효율적이다.
위의 논의에서, 제안된 방법은 단지 BDOF와 PROF의 작업 흐름들의 조화만을 고려한다. 그러나 기존의 설계들에 따르면, 2개의 코딩 툴에 대한 기본 동작 유닛은 또한 상이한 크기들로 수행된다. 예를 들어, BDOF의 경우, 하나의 코딩 블록은 Ws×Hs의 크기를 갖는 다수의 서브블록으로 분할되며, 여기서 Ws = min(W, 16) 그리고 Hs = min(H, 16)이며, W 및 H는 코딩 블록의 폭 및 높이이다. 기울기 계산 및 샘플 개선 도출과 같은 BDOF 동작들은 각각의 서브블록에 대해 독립적으로 수행된다. 다른 한편으로, 앞서 설명된 바와 같이, 아핀 코딩 블록은 4×4 서브블록들로 분할되며, 각각의 서브블록에는 4-파라미터 또는 6-파라미터 아핀 모델들에 기반하여 도출된 하나의 개별 MV가 할당된다. PROF는 아핀 블록에만 적용되기 때문에, 그 기본 동작 단위는 4×4 서브블록이다. 양방향 예측 작업 흐름 문제와 유사하게, PROF에 대해 BDOF와 상이한 기본 동작 유닛 크기를 사용하는 것은 또한 하드웨어 구현들에 대해 비우호적이며, BDOF 및 PROF가 전체 디코딩 프로세스의 동일한 파이프라인 스테이지를 공유하는 것을 어렵게 한다. 이러한 문제를 해결하기 위해, 하나 이상의 실시예에서는, 아핀 모드의 서브블록 크기를 BDOF의 서브블록 크기와 동일하게 정렬하는 것이 제안된다. 예를 들어, 제안된 방법에 따르면, 하나의 코딩 블록이 아핀 모드에 의해 코딩된다면, 그 코딩 블록은 Ws×Hs의 크기를 갖는 서브블록들로 분할될 것이며, 여기서 Ws = min(W, 16) 그리고 Hs = min(H, 16)이며, W 및 H는 코딩 블록의 폭 및 높이이다. 각각의 서브블록에는 하나의 개별 MV가 할당되고 각각의 서브블록은 하나의 독립적인 PROF 동작 유닛으로 고려된다. 독립적인 PROF 동작 유닛은 그에 대한 PROF 동작이 이웃하는 PROF 동작 유닛들로부터의 정보를 참조하지 않고 수행되는 것을 보장한다는 것을 언급할 가치가 있다. 예를 들어, 하나의 샘플 포지션에서의 PROF MV 차이는 샘플 포지션에서의 MV와 샘플이 위치되는 PROF 동작 유닛의 중심에서의 MV 간의 차이로서 계산되고; PROF 도출에 의해 사용되는 기울기들은 각각의 PROF 동작 유닛을 따라 샘플들을 패딩함으로써 계산된다. 제안된 방법의 주장된 이익들은 주로 다음의 양상들: 1) 움직임 보상 및 BDOF/PROF 개선 모두를 위한 통합된 기본 동작 유닛 크기를 갖는 단순화된 파이프라인 아키텍처; 2) 아핀 움직임 보상을 위한 확대된 서브블록 크기로 인한 감소된 메모리 대역폭 사용량; 3) 분수(fractional) 샘플 보간의 감소된 샘플별 계산적 복잡성을 포함한다.
제안된 방법에 의한 감소된 계산 복잡성(즉, 항목 3))으로 인해, 아핀 코딩 블록들에 대한 기존의 6-탭 보간 필터 제약이 제거될 수 있다는 점이 또한 언급되어야 한다. 대신에, 비-아핀 코딩 블록들에 대한 디폴트 8-탭 보간이 또한 아핀 코딩 블록들에 대해 사용된다. 이 경우, 전체 계산 복잡도는 여전히 (6-탭 보간 필터를 갖는 4×4 서브블록에 기반하는) 기존의 PROF 설계에 대해 유리하게 비교할 수 있다.
BDOF 및 PROF에 대한 기울기 도출의 조화
앞서 설명한 바와 같이, BDOF 및 PROF 둘 다 현재 코딩 블록 내의 각각의 샘플의 기울기를 계산하며, 이는 블록의 각각의 면의 예측 샘플들의 하나의 추가 행/열에 액세스한다. 추가 보간 복잡도를 피하기 위해, 블록 경계 주위의 확장된 영역 내의 필요한 예측 샘플들은 정수 참조 샘플들로부터 직접적으로 복사된다. 그러나 "문제 기술" 섹션에서 지적된 바와 같이, 상이한 위치들에서의 정수 샘플들이 BDOF 및 PROF의 기울기 값들을 계산하는 데 사용된다.
하나 이상의 균일한 설계를 달성하기 위해, 다음에는 BDOF 및 PROF에 의해 사용되는 기울기 도출 방법들을 통합하기 위한 2개의 방법이 제안된다. 첫 번째 방법에서, PROF의 기울기 도출 방법을 BDOF의 기울기 도출 방법과 동일하게 정렬하는 것이 제안된다. 예를 들어, 첫 번째 방법에 의해, 확장된 영역에서 예측 샘플들을 생성하는 데 사용되는 정수 포지션은 분수 샘플 포지션을 플로어 다운(floor down)함으로써 결정되는데, 즉 선택된 정수 샘플 포지션은 (수평 기울기들의 경우) 분수 샘플 포지션의 좌측에 그리고 (수직 기울기들의 경우) 부분 샘플 포지션 위에 위치된다. 두 번째 방법에서, BDOF의 기울기 도출 방법을 PROF의 기울기 도출 방법과 동일하게 정렬하는 것이 제안된다. 보다 상세하게는, 두 번째 방법이 적용될 때, 예측 샘플에 가장 가까운 정수 참조 샘플이 기울기 계산들에 사용된다.
도 15는 본 개시내용에 따른, BDOF의 기울기 도출 방법을 사용하는 예를 도시한다. 도 15에서, 빈 원들(1510)은 정수 포지션들에서의 참조 샘플들을 나타내고, 삼각형들(1530)은 현재 블록의 분수 예측 샘플들을 나타내며, 검은 색 원들(1520)은 현재 블록의 확장된 영역을 채우는 데 사용된 정수 참조 샘플들을 나타낸다.
도 16은 본 개시내용에 따른, PROF의 기울기 도출 방법을 사용하는 예를 도시한다. 도 16에서, 빈 원들(1610)은 정수 포지션들에서의 참조 샘플들을 나타내고, 삼각형들(1630)은 현재 블록의 분수 예측 샘플들을 나타내며, 검은 색 원들(1620)은 현재 블록의 확장된 영역을 채우는 데 사용된 정수 참조 샘플들을 나타낸다.
도 15 및 도 16은 첫 번째 방법(도 15) 및 두 번째 방법(도 16)이 각각 적용될 때, BDOF 및 PROF에 대한 기울기들의 도출을 위해 사용되는 대응하는 정수 샘플 위치들을 예시한다. 도 15 및 도 16에서, 빈 원들은 정수 포지션들에서의 참조 샘플들을 나타내고, 삼각형들은 현재 블록의 분수 예측 샘플들을 나타내며, 패터닝된 원들은 기울기 도출을 위해 현재 블록의 확장된 영역을 채우는 데 사용되는 정수 참조 샘플들을 나타낸다.
추가로, 기존의 BDOF 및 PROF 설계들에 따르면, 예측 샘플 패딩은 상이한 코딩 레벨들에서 수행된다. 예를 들어, BDOF에 대해, 각각의 sbWidth × sbHeight 서브블록의 경계들을 따라 패딩이 적용되며, 여기서 sbWidth = min(CUWidth, 16) 그리고 sbHeight = min(CUHeight, 16)이다. CUWidth 및 CUHeight는 하나의 CU의 폭 및 높이이다. 다른 한편으로, PROF의 패딩은 항상 4×4 서브블록 레벨에 적용된다. 위의 논의에서, 패딩 서브블록 크기들은 여전히 상이하지만, BDOF와 PROF 간에 패딩 방법만이 통합된다. BDOF 및 PROF의 패딩 프로세스들을 위해 상이한 모듈들이 구현될 필요가 있다는 점을 고려할 때, 이는 또한 실제 하드웨어 구현에 대해 우호적이지 않다. 하나 이상의 통합된 설계를 달성하기 위해, BDOF 및 PROF의 서브블록 패딩 크기를 통합하는 것이 제안된다. 본 개시내용의 하나 이상의 실시예에서, 4×4 레벨로 BDOF의 예측 샘플 패딩을 적용하는 것이 제안된다. 예를 들어, 이 방법에 의해, CU는 먼저 다수의 4x4 서브블록으로 분할되고; 각각의 4×4 서브블록의 움직임 보상 후에, 최상부/최하부 및 좌측/우측 경계들을 따라 확장된 샘플들은 대응하는 정수 샘플 포지션들을 복사함으로써 패딩된다. 도 19a, 도 19b, 도 19c 및 도 19d는 제안된 패딩 방법이 하나의 16×16 BDOF CU에 적용되는 일례를 예시하며, 여기서 파선들은 4x4 서브블록 경계들을 나타내고, 청색 대역들은 각각의 4x4 서브블록의 패딩된 샘플들을 나타낸다.
도 19a는 본 개시내용에 따라 16×16 BDOF CU에 적용되는 제안된 패딩 방법을 도시하며, 여기서 파선들은 최상부 좌측 4×4 서브블록 경계(1920)를 나타낸다.
도 19b는 본 개시내용에 따라, 16×16 BDOF CU에 적용되는 제안된 패딩 방법을 도시하며, 여기서 파선들은 최상부 우측 4×4 서브블록 경계(1940)를 나타낸다.
도 19c는 본 개시내용에 따라, 16×16 BDOF CU에 적용되는 제안된 패딩 방법을 도시하며, 여기서 파선들은 최하부 좌측 4×4 서브블록 경계(1960)를 나타낸다.
도 19d는 본 개시내용에 따라 16×16 BDOF CU에 적용되는 제안된 패딩 방법을 도시하며, 여기서 파선들은 최하부 우측 4×4 서브블록 경계(1980)를 나타낸다.
BDOF, PROF 및 DMVR을 인에이블/디세이블하기 위한 고레벨 시그널링 신택스(syntax)
기존의 BDOF 및 PROF 설계들에서, 2개의 코딩 툴의 인에이블/디세이블을 개별적으로 제어하기 위해 시퀀스 파라미터 세트(SPS)에서 2개의 상이한 플래그들이 시그널링된다. 그러나 BDOF와 PROF 간의 유사성으로 인해, 하나의 동일한 제어 플래그에 의해 고레벨로부터 BDOF 및 PROF를 인에이블 및/또는 디세이블하는 것이 더 바람직하다. 이러한 고려사항에 기반하여, 표 1에 도시된 바와 같이, sps_bdof_prof_enabled_flag로 불리는 하나의 새로운 플래그가 SPS에 도입된다. 표 1에 도시된 바와 같이, BDOF의 인에이블 및 디세이블은 sps_bdof_prof_enabled_flag에만 의존한다. 플래그가 1과 같을 때, 시퀀스에서 비디오 콘텐츠를 코딩하기 위해 BDOF가 인에이블된다. 그렇지 않으면, sps_bdof_prof_enabled_flag가 0과 같을 때, BDOF는 적용되지 않을 것이다. 다른 한편으로, sps_bdof_prof_enabled_flag에 추가로, SPS 레벨 아핀 제어 플래그, 즉 sps_affine_enabled_flag가 또한, PROF를 조건부로 인에이블 및 디세이블하는 데 사용된다. sps_bdof_prof_enabled_flag 및 sps_affine_enabled_flag인 두 플래그들 모두가 1과 같을 때, 아핀 모드에서 코딩되는 모든 코딩 블록들에 대해 PROF가 인에이블된다. 플래그 sps_bdof_prof_enabled_flag가 1과 같고 sps_affine_enabled_flag가 0과 같을 때, PROF는 디세이블된다.
표 1 제안된 BDOF/PROF 인에이블/디세이블 플래그를 갖는 수정된 SPS 신택스 표
Figure pct00050
sps_bdof_prof_enabled_flag는 양방향 광 흐름 및 광 흐름에 의한 예측 개선이 인에이블되는지 여부를 지정한다. sps_bdof_prof_enabled_flag가 0과 같을 때, 양방향 광 흐름 및 광 흐름에 의한 예측 개선 둘 다 디세이블된다. sps_bdof_prof_enabled_flag가 1과 같고 sps_affine_enabled_flag가 1과 같을 때, 양방향 광 흐름 및 광 흐름에 의한 예측 개선 둘 다 인에이블된다. 그렇지 않으면(sps_bdof_prof_enabled_flag가 1과 같고 sps_affine_enabled_flag가 0과 같으면), 양방향 광 흐름이 인에이블되고 광 흐름에 의한 예측 개선이 디세이블된다.
sps_bdof_prof_dmvr_slice_preset_flag는 플래그 slice_disable_bdof_prof_dmvr_flag가 슬라이스 레벨에서 시그널링되는 시점을 지정한다. 플래그가 1과 같을 때, 현재 시퀀스 파라미터 세트를 참조하는 각각의 슬라이스에 대해 신택스 slice_disable_bdof_prof_dmvr_flag가 시그널링된다. 그렇지 않으면(sps_bdof_prof_dmvr_slice_present_flag가 0과 같을 때), 신택스 slice_disabled_bdof_prof_dmvr_flag는 슬라이스 레벨에서 시그널링되지 않을 것이다. 플래그가 시그널링되지 않을 때, 이는 0인 것으로 추론된다.
추가로, 제안된 SPS 레벨 BDOF 및 PROF 제어 플래그가 사용될 때, 일반적인 제약 정보 신택스 내의 대응하는 제어 플래그 no_bdof_constraint_flag는 또한 아래 표에 의해 수정되어야 한다:
Figure pct00051
1과 같은 no_bdof_prof_constraint_flag는 가 0과 같을 것을 지정한다. 0과 같은 no_bdof_constraint_flag는 제약을 부과하지 않는다.
위의 SPS BDOF/PROF 신택스에 추가로, 슬라이스 레벨에서 다른 제어 플래그를 도입하는 것이 제안되는데, 즉 BDOF, PROF 및 DMVR을 디세이블하기 위해 slice_disable_bdof_prof_dmvr_flag가 도입된다. DMVR 또는 BDOF/PROF sps 레벨 제어 플래그들 중 어느 하나가 참일 때 SPS에서 시그널링되는 SPS 플래그 sps_bdof_prof_dmvr_slice_present_flag는 slice_disable_bdof_prof_dmvr_flag의 존재를 지시하는 데 사용된다. 존재한다면, slice_disable_bdof_dmvr_flag가 시그널링된다. 표 2는 제안된 신택스가 적용된 이후의 수정된 슬라이스 헤더 신택스 표를 예시한다. 다른 실시예에서, BDOF 및 DMVR의 인에이블/디세이블 및 PROF의 인에이블/디세이블을 개별적으로 제어하기 위해 여전히 슬라이스 헤더에서 2개의 제어 플래그를 사용하는 것이 제안된다. 예를 들어, 이 방법에 의해 슬라이스 헤더에서 2개의 플래그가 사용되는데: 하나의 플래그 slice_disable_bdof_dmvr_slice_flag는 BDOF 및 DMVR의 온/오프를 제어하는 데 사용되고, 다른 플래그 disable_prof_slice_flag는 PROF 단독의 온/오프를 제어하는 데 사용된다.
표 2 제안된 BDOF/PROF 인에이블/디세이블 플래그를 갖는 수정된 SPS 신택스 표
Figure pct00052
다른 실시예에서, 2개의 상이한 SPS 플래그들에 의해 BDOF 및 PROF를 개별적으로 제어하는 것이 제안된다. 예를 들어, 2개의 툴을 개별적으로 인에이블/디세이블하기 위해, 2개의 개별 SPS 플래그 sps_bdof_enable_flag 및 sps_prof_enable flag가 도입된다. 추가로, PROF 툴을 강제로 디세이블하기 위해, 하나의 고레벨 제어 플래그 no_prof_constraint_flag가 general_constrain_info() 신택스 표에 추가될 필요가 있다.
Figure pct00053
sps_bdof_enabled_flag는 양방향 광 흐름이 인에이블되는지 여부를 지정한다. sps_bdof_enabled_flag가 0과 같을 때, 양방향 광 흐름이 디세이블된다. sps_bdof_enabled_flag가 1과 같을 때, 양방향 광 흐름이 인에이블된다.
sps_prof_enabled_flag는 광 흐름에 의한 예측 개선이 인에이블되는지 여부를 지정한다. sps_prof_enabled_flag가 0과 같을 때, 광 흐름에 의한 예측 개선이 디세이블된다. sps_prof_enabled_flag가 1과 같을 때, 광 흐름에 의한 예측 개선이 인에이블된다.
Figure pct00054
1과 같은 no_prof_constraint_flag는 sps_prof_enabled_flag가 0과 같을 것을 지정한다. 0과 같은 no_prof_constraint_flag는 제약을 부과하지 않는다.
슬라이스 레벨에서, 본 개시내용의 하나 이상의 실시예에서, 슬라이스 레벨에서 다른 제어 플래그를 도입하는 것이 제안되는데, 즉 BDOF, PROF 및 DMVR을 함께 디세이블하기 위해 slice_disable_bdof_prof_dmvr_flag가 도입된다. 다른 실시예에서, 슬라이스 레벨에서 2개의 개별 플래그, 즉 slice_disable_bdof_dmvr_flag 및 slice_disable_prof_flag를 추가하는 것이 제안된다. 첫 번째 플래그(즉, slice_disable_bdof_dmvr_flag)는 하나의 슬라이스에 대해 BDOF 및 DMVR을 적응적으로 스위칭 온/오프하는 데 사용되는 한편, 두 번째 플래그(즉, slice_disable_prof_flag)는 슬라이스 레벨에서 PROF 툴의 인에이블 및 디세이블을 제어하는 데 사용된다. 추가로, 두 번째 방법이 적용될 때, 플래그 slice_disable_bdof_dmvr_flag는 SPS BDOF 또는 SPS DMVR 플래그가 인에이블될 때만 시그널링될 필요가 있고, 플래그는 SPS PROF 플래그가 인에이블될 때만 시그널링될 필요가 있다.
제16차 JVET 회의에서, 픽처 헤더가 VVC 초안에 채택되었다. 픽처 헤더는 이전에 슬라이스 헤더에 있었던 신택스 엘리먼트들이 슬라이스마다 변경되지 않는 슬라이스마다 한번 시그널링된다.
채택된 픽처 헤더에 기반하여, 본 개시내용의 하나 이상의 실시예에서, 현재 슬라이스 헤더로부터 픽처 헤더까지 BDOF, DMVR 및 PROF 제어 플래그들을 제어하는 것이 제안된다. 예를 들어, 제안된 방법에서, 3개의 상이한 제어 플래그 sps_dmvr_picture_header_present_flag, sps_bdof_picture_header_present_flag 및 sps_prof_picture_header_present_flag가 SPS에서 시그널링된다. 3개의 플래그 중 하나가 참으로서 시그널링될 때, 픽처 헤더를 참조하는 슬라이스들에 대해 대응하는 툴(즉, DMVR, BDOF 및 PROF)이 인에이블 또는 디세이블되는 것을 지시하기 위해 하나의 추가 제어 플래그가 픽처 헤더에서 시그널링될 것이다. 제안된 신택스 엘리먼트들은 다음과 같이 지정된다.
Figure pct00055
sps_dmvr_picture_header_preset_flag는 플래그 picture_disable_dmvr_flag가 픽처 헤더에서 시그널링되는지 여부를 지정한다. 플래그가 1과 같을 때, 신택스 picture_disable_dmvr_flag는 현재 시퀀스 파라미터 세트를 참조하는 각각의 픽처에 대해 시그널링된다. 그렇지 않으면, 신택스 picture_disable_dmvr_flag는 픽처 헤더에서 시그널링되지 않을 것이다. 플래그가 시그널링되지 않을 때, 이는 0인 것으로 추론된다.
sps_bdof_picture_header_preset_flag는 플래그 picture_disable_bdof_flag가 픽처 헤더에서 시그널링되는지 여부를 지정한다. 플래그가 1과 같을 때, 신택스 picture_disable_bdof_flag는 현재 시퀀스 파라미터 세트를 참조하는 각각의 픽처에 대해 시그널링된다. 그렇지 않으면, 신택스 picture_disable_bdof_flag는 픽처 헤더에서 시그널링되지 않을 것이다. 플래그가 시그널링되지 않을 때, 이는 0인 것으로 추론된다.
sps_prof_picture_header_preset_flag는 플래그 picture_disable_prof_flag가 픽처 헤더에서 시그널링되는지 여부를 지정한다. 플래그가 1과 같을 때, 신택스 picture_disable_rpof_flag는 현재 시퀀스 파라미터 세트를 참조하는 각각의 픽처에 대해 시그널링된다. 그렇지 않으면, 신택스 picture_disable_prof_flag는 픽처 헤더에서 시그널링되지 않을 것이다. 플래그가 시그널링되지 않을 때, 이는 0인 것으로 추론된다.
Figure pct00056
picture_disable_dmvr_flag는 현재 픽처 헤더를 참조하는 슬라이스들에 대해 dmvr 툴이 인에이블되는지 여부를 특정한다. 플래그가 1과 같을 때, 현재 픽처 헤더를 참조하는 슬라이스들에 대해 dmvr 툴이 인에이블된다. 그렇지 않으면, 현재 픽처 헤더를 참조하는 슬라이스들에 대해 dmvr 툴이 디세이블된다. 플래그가 존재하지 않을 때, 플래그는 0인 것으로 추론된다.
picture_disable_bdof_flag는 현재 픽처 헤더를 참조하는 슬라이스들에 대해 bdof 툴이 인에이블되는지 여부를 특정한다. 플래그가 1과 같을 때, 현재 픽처 헤더를 참조하는 슬라이스들에 대해 bdof 툴이 인에이블된다. 그렇지 않으면, 현재 픽처 헤더를 참조하는 슬라이스들에 대해 bdof 툴이 디세이블된다.
picture_disable_prof_flag는 현재 픽처 헤더를 참조하는 슬라이스들에 대해 prof 툴이 인에이블되는지 여부를 특정한다. 플래그가 1과 같을 때, 현재 픽처 헤더를 참조하는 슬라이스들에 대해 prof 툴이 인에이블된다. 그렇지 않으면, 현재 픽처 헤더를 참조하는 슬라이스들에 대해 prof 툴이 디세이블된다.
도 12는 BDOF, PROF 및 DMVR 방법을 도시한다. 이 방법은 예를 들어, 디코더에 적용될 수 있다.
단계(1210)에서, 디코더가 시퀀스 파라미터 세트(SPS)에서 3개의 제어 플래그를 수신할 수 있다. 제1 제어 플래그는 현재 비디오 시퀀스에서 비디오 블록들을 디코딩하기 위해 BDOF가 인에이블되는지 여부를 지시한다. 제2 제어 플래그는 현재 비디오 시퀀스에서 비디오 블록들을 디코딩하기 위해 PROF가 인에이블되는지 여부를 지시한다. 제3 제어 플래그는 현재 비디오 시퀀스에서 비디오 블록들을 디코딩하기 위해 DMVR이 인에이블되는지 여부를 지시한다.
단계(1212)에서, 디코더는 제1 제어 플래그가 참일 때 SPS에서 제1 존재 플래그를, 제2 제어 플래그가 참일 때 SPS에서 제2 존재 플래그를, 그리고 제3 제어 플래그가 참일 때 SPS에서 제3 존재 플래그를 수신할 수 있다.
단계(1214)에서, 디코더는 SPS 내의 제1 존재 플래그가 픽처 내의 비디오 블록들에 대해 BDOF가 디세이블됨을 지시할 때, 각각의 픽처의 픽처 헤더에서 제1 픽처 제어 플래그를 수신할 수 있다.
단계(1216)에서, 디코더는 SPS 내의 제2 존재 플래그가 픽처 내의 비디오 블록들에 대해 PROF가 디세이블됨을 지시할 때, 각각의 픽처의 픽처 헤더에서 제2 픽처 제어 플래그를 수신할 수 있다.
단계(1218)에서, 디코더는 SPS 내의 제3 존재 플래그가 픽처 내의 비디오 블록들에 대해 DMVR이 디세이블됨을 지시할 때, 각각의 픽처의 픽처 헤더에서 제3 픽처 제어 플래그를 수신할 수 있다.
제어 포인트 MV 차이에 기반한 PROF의 조기 종료
현재 PROF 설계에 따르면, 아핀 모드에 의해 하나의 코딩 블록이 예측될 때, 항상 PROF가 호출된다. 그러나 식(6) 및 식(7)에 지시된 바와 같이, 하나의 아핀 블록의 서브블록 MV들은 제어 포인트 MV들로부터 도출된다. 따라서 제어 포인트 MV들 간의 차이가 비교적 작을 때, 각각의 샘플 포지션에서의 MV들은 일관적이어야 한다. 이러한 경우, PROF를 적용하는 이익은 매우 제한될 수 있다. 따라서 PROF의 평균 계산 복잡도를 추가로 감소시키기 위해, 하나의 4x4 서브블록 내에서 서브블록별 MV와 샘플별 MV 간의 최대 MV 차이에 기반하여 PROF 기반 샘플 개선을 적응적으로 스킵하는 것이 제안된다. 하나의 4×4 서브블록 내의 샘플들의 PROF MV 차이의 값들이 서브블록 중심에 대해 대칭이기 때문에, 최대 수평 및 수직 PROF MV 차이는 다음과 같이 식(10)에 기반하여 계산될 수 있다:
Figure pct00057
본 개시내용에 따르면, MV 차이가 PROF 프로세스를 스킵하기에 충분히 작은지를 결정하는 데 상이한 메트릭들이 사용될 수 있다.
일례로, 식(19)에 기반하여, 절대 최대 수평 MV 차이와 절대 최대 수직 MV 차이의 합이 하나의 미리 정의된 임계치보다 작을 때, 즉 아래와 같을 때 PROF 프로세스가 생략될 수 있다:
Figure pct00058
다른 예에서,
Figure pct00059
Figure pct00060
의 최대 값이 임계치보다 크지 않다면, PROF 프로세스가 스킵될 수 있다.
Figure pct00061
여기서 MAX(a, b)는 입력 값들(a, b) 중에서 더 큰 값을 리턴하는 함수이다.
위의 2개의 예에 추가로, 본 개시내용의 사상은 또한, MV 차이가 PROF 프로세스를 스킵하기에 충분히 작은지를 결정하는 데 다른 메트릭들이 사용되는 경우들에 적용 가능하다.
위의 방법에서, PROF는 MV 차이의 크기에 기반하여 스킵된다. 다른 한편으로, MV 차이에 추가로, 하나의 움직임 보상된 블록 내의 각각의 샘플 위치에서의 로컬 기울기 정보에 기반하여 PROF 샘플 개선이 또한 계산된다. 덜 높은 빈도의 세부사항들(예컨대, 평탄한 영역)을 포함하는 예측 블록들의 경우, 기울기 값들은 작은 경향이 있어, 도출된 샘플 개선들의 값들이 작아야 한다. 이를 고려하여, 다른 실시예에 따르면, 충분한 높은 빈도의 정보를 포함하는 블록들의 예측 샘플들에만 PROF를 적용하는 것이 제안된다.
블록에 대해 PROF 프로세스가 호출될 가치가 있도록 블록이 충분한 높은 빈도의 정보를 포함하는지를 결정하는 데 상이한 메트릭들이 사용될 수 있다. 일례로, 이 결정은 예측 블록 내의 샘플들의 기울기들의 평균 크기(즉, 절대 값)에 기반하여 이루어진다. 평균 크기가 하나의 임계치보다 작다면, 예측 블록은 평탄한 영역으로서 분류되고, PROF는 적용되지 않아야 하며; 그렇지 않으면, 예측 블록은 PROF가 여전히 적용 가능한 경우, 충분한 높은 빈도의 세부사항들을 포함하는 것으로 고려된다. 다른 예에서, 예측 블록 내의 샘플들의 기울기들의 최대 크기가 사용될 수 있다. 최대 크기가 하나의 임계치보다 작다면, 블록에 대해 PROF가 스킵되어야 한다. 또 다른 예에서, PROF가 블록에 적용될지 여부를 결정하기 위해, 예측 블록의 최대 샘플 값과 최소 샘플 값 간의 차이(I max - I min ,)가 사용될 수 있다. 이러한 차이 값이 임계치보다 작다면, 블록에 대해 PROF가 스킵되어야 한다. 본 개시내용의 사상은 또한, 주어진 블록이 충분한 높은 빈도의 정보를 포함하는지 여부를 결정하는 데 다른 어떤 메트릭들이 사용되는 경우들에 적용 가능하다는 점을 주목할 가치가 있다.
아핀 모드에 대한 PROF와 LIC 간의 상호 작용의 처리
현재 블록의 이웃하는 재구성된 샘플들(즉, 템플릿)이 LIC에 의해 선형 모델 파라미터들을 도출하는 데 사용되기 때문에, 하나의 LIC 코딩 블록의 디코딩은 그 이웃하는 샘플들의 전체 재구성에 의존한다. 이러한 상호 의존성으로 인해, 실제 하드웨어 구현들을 위해, 이웃하는 재구성된 샘플들이 LIC 파라미터 도출을 위해 이용 가능하게 되는 재구성 스테이지에서 LIC가 수행될 필요가 있다. 블록 재구성이 순차적으로(즉, 하나씩) 수행되어야 하기 때문에, 스루풋(즉, 단위 시간당 병렬로 수행될 수 있는 작업량)은 다른 코딩 방법들을 LIC 코딩 블록들에 공동으로 적용할 때 고려해야 할 하나의 중요한 문제이다. 이 섹션에서, PROF 및 LIC 둘 다 아핀 모드에 대해 인에이블될 때 상호 작용을 처리하기 위한 2개의 방법이 제안된다.
본 개시내용의 첫 번째 실시예에서, 하나의 아핀 코딩 블록에 대해 PROF 모드 및 LIC 모드를 배타적으로 적용하는 것이 제안된다. 앞서 논의된 바와 같이, 기존의 설계에서, PROF는 시그널링 없이 모든 아핀 블록들에 대해 암시적으로 적용되는 한편, LIC 모드가 하나의 아핀 블록에 적용되는지 여부를 지시하기 위해 코딩 블록 레벨에서 하나의 LIC 플래그가 시그널링되거나 이어진다. 본 개시내용의 방법에 따르면, 하나의 아핀 블록의 LIC 플래그의 값에 기반하여 PROF를 조건부로 적용하는 것이 제안된다. 플래그가 1과 같을 때, LIC 가중치 및 오프셋에 기반하여 전체 코딩 블록의 예측 샘플들을 조정함으로써 LIC만이 적용된다. 그렇지 않으면(즉, LIC 플래그가 0과 같다면), PROF가 아핀 코딩 블록에 적용되어 광 흐름 모델을 기반으로 각각의 서브블록의 예측 샘플들을 개선한다.
도 18a는 제안된 방법에 기반한 디코딩 프로세스의 하나의 예시적인 흐름도를 예시하며, 여기서는 PROF와 LIC가 동시에 적용되는 것이 허용되지 않는다.
도 18a는 본 개시내용에 따라, PROF 및 LIC가 허용되지 않는 제안된 방법에 기반한 디코딩 프로세스의 예시를 도시한다. 디코딩 프로세스(1820)는 결정 단계(1822), LIC(1824) 및 PROF(1826)를 포함한다. 결정 단계(1822)는 LIC 플래그가 온인지 여부를 결정하고, 그 결정에 따라 다음 단계가 취해진다. LIC(1824)는 LIC 플래그가 설정되는 경우의 LIC의 적용이다. PROF(1826)는 LIC 플래그가 설정되지 않는 경우의 PROF의 적용이다.
본 개시내용의 두 번째 실시예에서, 하나의 아핀 블록의 예측 샘플들을 생성하기 위해 PROF 다음에 LIC를 적용하는 것이 제안된다. 예를 들어, 서브블록 기반 아핀 움직임 보상이 완료된 후, 예측 샘플들은 PROF 샘플 개선에 기반하여 개선되고; 그런 다음, 다음과 같이 예시된 바와 같이 블록의 최종 예측 샘플들을 획득하기 위해 PROF 조정된 예측 샘플들에 (템플릿 및 그의 참조 샘플들로부터 도출된) 한 쌍의 가중 및 오프셋을 적용함으로써 LIC가 수행되며:
Figure pct00062
여기서 P r[x + v]는 움직임 벡터(v)에 의해 지시된 현재 블록의 참조 블록이고; α 및 β는 LIC 가중치 및 오프셋이며; P[x]는 최종 예측 블록이고; ΔI[x]는 (17)에서 도출된 바와 같은 PROF 개선이다.
도 18b는 본 개시내용에 따른, PROF 및 LIC가 적용되는 디코딩 프로세스의 예시를 도시한다. 디코딩 프로세스(1860)는 아핀 움직임 보상(1862), LIC 파라미터 도출(1864), PROF(1866) 및 LIC 샘플 조정(1868)을 포함한다. 아핀 움직임 보상(1862)은 아핀 움직임을 적용하며, LIC 파라미터 도출(1864) 및 PROF(1866)에 대한 입력이다. LIC 파라미터 도출(1864)이 적용되어 LIC 파라미터들을 도출한다. PROF(1866)는 PROF가 적용되는 것이다. LIC 샘플 조정(1868)은 LIC 가중치 및 오프셋 파라미터들이 PROF와 조합되는 것이다.
도 18b는 두 번째 방법이 적용될 때의 예시적인 디코딩 작업 흐름을 예시한다. 도 18b에 도시된 바와 같이, LIC는 템플릿(즉, 이웃하는 재구성된 샘플들)을 사용하여 LIC 선형 모델을 계산하기 때문에, 이웃하는 재구성된 샘플들이 이용 가능하게 되는 즉시 LIC 파라미터들이 도출될 수 있다. 이는, PROF 개선 및 LIC 파라미터 도출이 동시에 실행될 수 있음을 의미한다.
LIC 가중치 및 오프셋(즉, α 및 β) 그리고 PROF 개선(즉, ΔI[x])은 일반적으로 부동 숫자(floating number)들이다. 우호적인 하드웨어 구현들의 경우, 그러한 부동 숫자 연산들은 대개, 하나의 정수 값을 곱한 다음, 비트들의 수만큼 우측 시프트 연산이 이어지는 것으로 구현된다. 기존의 LIC 및 PROF 설계에서, 2개의 툴이 개별적으로 설계되기 때문에, N LIC 비트 및 N PROF 비트만큼 각각 2개의 상이한 우측 시프트들이 2개의 스테이지에서 적용된다.
세 번째 실시예에 따르면, PROF 및 LIC가 아핀 코딩 블록에 공동으로 적용되는 경우에 코딩 이득을 개선하기 위해, LIC 기반 및 PROF 기반 샘플 조정들을 높은 정밀도로 적용하는 것이 제안된다. 이는, 이들의 2개의 우측 시프트 연산을 하나로 조합하고 이를 끝에 적용하여 현재 블록의 ((12)에 도시된 바와 같이) 최종 예측 샘플들을 도출함으로써 이루어진다.
가중 예측에 의한 PROF와 CU 레벨 가중치를 이용한 양방향 예측(BCW: bi-prediction with CU-level weight)을 조합할 때 곱셈 오버플로우 문제의 해결
VVC 작업 초안의 현재 PROF 설계에 따르면, PROF는 가중 예측(WP: weighted prediction)과 공동으로 적용될 수 있다. 예를 들어, 이들이 조합될 때, 하나의 아핀 CU의 예측 신호는 다음의 프로시저들에 의해 생성될 것이다:
첫째, 포지션(x, y)에서의 각각의 샘플에 대해, PROF에 기반하여 L0 예측 개선(ΔI 0(x, y))을 계산하고, 원래의 L0 예측 샘플(I 0(x, y))에 개선을 더하는데, 즉:
Figure pct00063
여기서 I 0 '(x, y)는 개선된 샘플이고; g h 0(x, y) 및 g v 0(x, y) 그리고 Δv x 0(x, y) 및 Δv y 0(x, y)는 포지션(x, y)에서의 L0 수평/수직 기울기들 및 L0 수평/수직 움직임 개선들이다.
둘째, 포지션(x, y)에서의 각각의 샘플에 대해, PROF에 기반하여 L1 예측 개선(ΔI 1(x, y))을 계산하고, 원래의 L1 예측 샘플들(I 1(x, y))에 개선을 더하는데, 즉:
Figure pct00064
여기서 I 1 '(x, y)는 개선된 샘플이고; g h 1(x, y) 및 g v 1(x, y) 그리고 Δv x 1(x, y) 및 Δv y 1(x, y)는 포지션(x, y)에서의 L1 수평/수직 기울기들 및 L1 수평/수직 움직임 개선들이다.
셋째, 개선된 L0 및 L1 예측 샘플들을 조합하는데, 즉:
Figure pct00065
여기서 W 0W 1은 WP 및 BCW 가중치이고; shiftoffset은 WP 및 BCW에 대한 양방향 예측을 위한 L0 및 L1 예측 신호들의 가중 평균에 적용되는 오프셋 및 우측 시프트이다. 여기서 WP에 대한 파라미터들은 W 0W 1 그리고 offset인 한편, BCW에 대한 파라미터들은 W 0W 1 그리고 shift를 포함한다.
위의 식들로부터 알 수 있는 바와 같이, 샘플별 개선, 즉 ΔI 0(x, y) 및 ΔI 1(x, y)로 인해, PROF 이후 예측 샘플들(즉, I 0 '(x, y) 및 I 1 '(x, y))은 원본 예측 샘플들(즉, I 0(x, y) 및 I 1(x, y))보다 하나의 증가된 동적 범위를 가질 것이다. 개선된 예측 샘플들이 WP 및 BCW 가중 팩터들과 곱해질 것이라는 점을 고려하면, 이는 필요한 곱셈기의 길이를 증가시킬 것이다. 예를 들어, 현재 설계에 기반하여, 내부 코딩 비트 심도가 8 내지 12-비트의 범위일 때, 예측 신호(I 0(x, y), I 1(x, y))의 동적 범위는 16-비트이다. 그러나 PROF 이후, 예측 신호(I 0(x, y), I 1(x, y))의 동적 범위는 17-비트이다. 따라서 PROF가 적용될 때, 이는 잠재적으로 16-비트 곱셈 오버플로우 문제를 야기할 수 있다. 이러한 오버플로우 문제들을 해결하기 위해, 다음에서 다수의 방법이 제안된다:
첫째, 첫 번째 방법에서, PROF가 하나의 아핀 CU에 적용될 때, WP 및 BCW를 디세이블하는 것이 제안된다.
둘째, 두 번째 방법에서, 개선된 예측 샘플들(I 0 '(x, y), I 1 '(x, y))의 동적 범위가 원본 예측 샘플들(I 0(x, y), I 1(x, y))과 동일한 동적 비트 심도를 갖도록 원본 예측 샘플들에 더하기 전에, 도출된 샘플 개선들에 하나의 클립 연산을 적용하는 것이 제안된다. 예를 들어, 이러한 방법에 의해, (23) 및 (24)에서의 샘플 개선(ΔI 0(x, y), ΔI 1(x, y))은 다음에 도시된 바와 같이 하나의 클립 연산을 도입함으로써 수정될 것이고:
Figure pct00066
여기서 dI = dI base + max(0, BD - 12)이고, BD는 내부 코딩 비트 심도이며; dI base 는 기본 비트 심도 값이다. 하나 이상의 실시예에서, dI base 의 값을 14로 설정하는 것이 제안된다. 다른 실시예에서, 이 값을 13으로 설정하는 것이 제안된다. 다른 실시예에서, dI의 값을 고정되도록 직접 설정하는 것이 제안된다. 일례로, dI의 값을 13으로 설정하는 것이 제안되는데, 즉 샘플 개선은 [-4096, 4095]의 범위로 클립될 것이다. 다른 예에서, dI의 값을 14로 설정하는 것이 제안되는데, 즉 샘플 개선은 [-8192, 8191] 범위로 클립될 것이다.
첫째, 세 번째 방법에서, 개선된 샘플들이 원본 예측 샘플들의 동적 범위와 동일한 동적 범위를 갖도록 샘플 개선들을 클립하는 대신에, 개선된 예측 샘플들을 직접적으로 클립하는 것이 제안된다. 예를 들어, 세 번째 방법에 의해, 개선된 L0 및 L1 샘플들은 다음과 같을 것이고:
Figure pct00067
여기서 dR = 16 + max(0, BD-12)(또는 동등하게 max(16, BD+4))이고, BD는 내부 코딩 비트 심도이다.
둘째, 네 번째 방법에서, WP 및 BCW 이전에 정규화된 L0 및 L1 예측 샘플들에 특정 우측 시프트들을 적용하는 것이 제안되며; 이어서, 최종 예측 샘플들은 추가 좌측 시프트들에 의해 원래의 정밀도들로 조정된다. 예를 들어, 최종 예측 샘플들은 다음과 같이 도출되며:
Figure pct00068
여기서 nb는 PROF 샘플들의 개선들의 대응하는 동적 범위에 기반하여 결정될 수 있는, 적용되는 추가 비트 시프트들의 수이다.
셋째, 다섯 번째 방법에서는, 아래에 기술된 바와 같이, (25)의 대응하는 WP/BCW 가중치와의 L0 /L1 예측 샘플의 각각의 곱셈을 2개의 곱셈으로 나누는 것이 제안되며, 2개의 곱셈 둘 다 16-비트를 초과하지 않는다:
Figure pct00069
도 20은 사용자 인터페이스(2060)와 결합된 컴퓨팅 환경(2010)을 도시한다. 컴퓨팅 환경(2010)은 데이터 처리 서버의 일부일 수 있다. 컴퓨팅 환경(2010)은 프로세서(2020), 메모리(2040) 및 I/O 인터페이스(2050)를 포함한다.
프로세서(2020)는 통상적으로 컴퓨팅 환경(2010)의 전체 동작들, 이를테면 디스플레이, 데이터 획득, 데이터 통신들 및 이미지 처리와 연관된 동작들을 제어한다. 프로세서(2020)는 앞서 설명한 방법들의 단계들의 전부 또는 일부를 수행하기 위한 명령들을 실행할 하나 이상의 프로세서를 포함할 수 있다. 더욱이, 프로세서(2020)는 프로세서(2020)와 다른 컴포넌트들 간의 상호 작용을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 프로세서는 중앙 처리 유닛(CPU: Central Processing Unit), 마이크로프로세서, 단일 칩 머신, GPU 등일 수 있다.
메모리(2040)는 컴퓨팅 환경(2010)의 동작을 지원하기 위한 다양한 타입들의 데이터를 저장하도록 구성된다. 메모리(2040)는 미리 결정된 소프트웨어(2042)를 포함할 수 있다. 이러한 데이터의 예들은 컴퓨팅 환경(2010) 상에서 작동되는 임의의 애플리케이션들 또는 방법들에 대한 명령들, 비디오 데이터 세트들, 이미지 데이터 등을 포함한다. 메모리(2040)는 임의의 타입의 휘발성 또는 비휘발성 메모리 디바이스들, 또는 이들의 조합, 이를테면 정적 랜덤 액세스 메모리(SRAM: static random access memory), 전기적으로 소거 가능한 프로그래밍 가능 판독 전용 메모리(EEPROM: electrically erasable programmable read-only memory), 소거 가능한 프로그래밍 가능 판독 전용 메모리(EPROM: erasable programmable read-only memory), 프로그래밍 가능 판독 전용 메모리(PROM: programmable read-only memory), 판독 전용 메모리(ROM: read-only memory), 자기 메모리, 플래시 메모리, 자기 또는 광 디스크를 사용함으로써 구현될 수 있다.
I/O 인터페이스(2050)는 프로세서(2020)와 키보드, 클릭 휠, 버튼들 등과 같은 주변 인터페이스 모듈들 간의 인터페이스를 제공한다. 버튼들은 홈 버튼, 스캔 시작 버튼 및 스캔 중지 버튼을 포함할 수 있지만 이에 제한되지 않는다. I/O 인터페이스(2050)는 인코더 및 디코더와 결합될 수 있다.
일부 실시예들에서, 위에서 설명된 방법들을 수행하기 위해 컴퓨팅 환경(2010)에서 프로세서(2020)에 의해 실행 가능한, 이를테면 메모리(2040)에 포함된 복수의 프로그램을 포함하는 비-일시적 컴퓨터 판독 가능 저장 매체가 또한 제공된다. 예를 들어, 비-일시적 컴퓨터 판독 가능 저장 매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광학 데이터 저장 디바이스 등일 수 있다.
비-일시적 컴퓨터 판독 가능 저장 매체는 하나 이상의 프로세서를 갖는 컴퓨팅 디바이스에 의해 실행할 복수의 프로그램을 내부에 저장하고, 여기서 하나 이상의 프로세서에 의해 실행될 때, 복수의 프로그램은 컴퓨팅 디바이스가 움직임 예측을 위한 앞서 설명한 방법을 수행하게 한다.
일부 실시예들에서, 컴퓨팅 환경(2010)은 위의 방법들을 수행하기 위해 하나 이상의 주문형 집적 회로(ASIC: application-specific integrated circuit), 디지털 신호 프로세서(DSP: digital signal processor)들, 디지털 신호 처리 디바이스(DSPD: digital signal processing device)들, 프로그래밍 가능 로직 디바이스(PLD: programmable logic device)들, 필드 프로그래밍 가능 게이트 어레이(FPGA: field-programmable gate array)들, 그래픽 처리 유닛(GPU: graphical processing unit)들, 제어기들, 마이크로컨트롤러들, 마이크로프로세서들 또는 다른 전자 컴포넌트들로 구현될 수 있다.
본 개시내용의 설명은 예시 목적으로 제시되었지만, 본 개시내용을 총망라하거나 본 개시내용으로 제한되는 것으로 의도되는 것은 아니다. 앞서 말한 설명들 및 연관된 도면들에 제시된 교시들의 이점을 갖는 많은 수정들, 변형들 및 대안적인 구현들이 당해 기술분야에서 통상의 지식을 가진 자들에게 명백할 것이다.
이 예들은 본 개시내용의 원리들을 설명하기 위해 당해 기술 분야에서 통상의 지식을 가진 다른 자들이 다양한 구현들에 대해 본 개시내용을 이해하고 기반이 되는 원리들 및 다양한 구현들을 고려되는 특정 용도에 맞춰진 다양한 수정들로 가장 잘 이용하는 것을 가능하게 하기 위해 선택되고 설명되었다. 따라서 본 개시내용의 범위는 개시된 구현들의 특정 예들에 제한되는 것은 아니며 수정들 및 다른 구현들은 본 개시내용의 범위 내에 포함되는 것으로 의도된다고 이해되어야 한다.

Claims (28)

  1. 비디오 신호를 디코딩하기 위한 광 흐름에 의한 예측 개선(PROF: prediction refinement with optical flow)의 비트 심도(bit-depth) 표현 방법으로서,
    디코더에서, 상기 비디오 신호 내의 비디오 블록과 연관된 참조 픽처(I)를 획득하는 단계;
    상기 디코더에서, 상기 참조 픽처(I) 내의 참조 블록으로부터 상기 비디오 블록의 예측 샘플들(I(i, j))을 획득하는 단계 ― i 및 j는 상기 비디오 블록을 갖는 하나의 샘플의 좌표를 나타냄 ―;
    상기 디코더에서, 미리 설정된 정밀도를 달성하기 위해 비트 시프트 값에 기반하여 PROF 도출 프로세스의 내부 PROF 파라미터들에 우측 시프트를 적용함으로써 상기 내부 PROF 파라미터들을 제어하는 단계 ― 상기 내부 PROF 파라미터들은 상기 예측 샘플들(I(i, j))에 대해 도출된 수평 기울기(gradient) 값들, 수직 기울기 값들, 수평 움직임 차이 값들 및 수직 움직임 차이 값들을 포함함 ―;
    상기 디코더에서, 상기 예측 샘플들(I(i, j))에 기반하여 상기 비디오 블록에 상기 PROF 도출 프로세스가 적용되는 것에 기반하여 상기 비디오 블록 내의 샘플들에 대한 예측 개선 값들을 획득하는 단계; 및
    상기 디코더에서, 상기 비디오 블록의 예측 샘플들을 상기 예측 샘플들과 상기 예측 개선 값들의 조합에 기반하여 획득하는 단계
    를 포함하는,
    광 흐름에 의한 예측 개선(PROF)의 비트 심도 표현 방법.
  2. 제1항에 있어서,
    상기 미리 설정된 정밀도는 1/32-pel과 같은,
    광 흐름에 의한 예측 개선(PROF)의 비트 심도 표현 방법.
  3. 제1항에 있어서,
    상기 PROF 도출 프로세스의 내부 PROF 파라미터들에 우측 시프트를 적용함으로써 상기 내부 PROF 파라미터들을 제어하는 단계는:
    제1 예측 샘플(I(i+1, j))과 제1 예측 샘플(I(i-1, j)) 간의 차이에 기반하여 제1 예측 샘플 I(i, j)의 수평 기울기 값을 획득하는 단계;
    상기 디코더에서, 제1 예측 샘플(I(i, j+1))과 제1 예측 샘플(I(i, j-1)) 간의 차이에 기반하여 상기 제1 예측 샘플(I(i, j))의 수직 기울기 값을 획득하는 단계;
    상기 디코더에서, 상기 제1 예측 샘플(I(i, j))의 제어 포인트 움직임 벡터(MV: motion vector)들을 획득하는 단계 ― 상기 제어 포인트 MV들은 상기 비디오 블록을 포함하는 하나의 블록의 최상부 좌측, 최상부 우측 및 최하부 좌측 코너 블록들의 MV들을 포함함 ―;
    상기 디코더에서, 상기 제어 포인트 MV들에 기반하여 도출된 아핀 모델(affine model) 파라미터들을 획득하는 단계;
    상기 디코더에서, 상기 아핀 모델 파라미터들에 기반하여 상기 제1 예측 샘플(I(i, j))에 대한 수평 MV 차이(Δv x (i, j)) 및 수직 MV 차이(Δv y (i, j))를 획득하는 단계; 및
    상기 디코더에서, 상기 수평 MV 차이(Δv x (i, j)) 및 상기 수직 MV 차이(Δv y (i, j))를 상기 비트 시프트 값만큼 우측 시프트하는 단계
    를 포함하며,
    상기 비트 시프트 값은 8인,
    광 흐름에 의한 예측 개선(PROF)의 비트 심도 표현 방법.
  4. 제3항에 있어서,
    상기 디코더에서, 상기 수평 MV 차이(Δv x (i, j))를 [-31, 31]의 대칭 범위로 클립(clip)하는 단계; 및
    상기 디코더에서, 상기 수직 MV 차이(Δv y (i, j))를 [-31, 31]의 대칭 범위로 클립하는 단계
    를 더 포함하는 광 흐름에 의한 예측 개선(PROF)의 비트 심도 표현 방법.
  5. 제3항에 있어서,
    상기 비디오 블록 내의 샘플들에 대한 예측 개선 값들을 획득하는 단계는:
    상기 디코더에서, 상기 수평 기울기 값들, 상기 수평 MV 차이(Δv x (i, j)), 상기 수직 기울기 값들 및 수직 MV 차이(Δv y (i, j))에 기반하여 상기 예측 개선 값들을 획득하는 단계를 더 포함하는,
    광 흐름에 의한 예측 개선(PROF)의 비트 심도 표현 방법.
  6. 비디오 신호를 디코딩하기 위한 양방향 광 흐름(BDOF: bi-directional optical flow)의 비트 심도 제어 방법으로서,
    디코더에서, 비디오 블록과 연관된 제1 참조 픽처(I (0)) 및 제2 참조 픽처(I (1))를 획득하는 단계 ― 디스플레이 순서에서 상기 제1 참조 픽처(I (0))는 현재 픽처 앞에 있고 상기 제2 참조 픽처(I (1))는 상기 현재 픽처 뒤에 있음 ―;
    상기 디코더에서, 상기 제1 참조 픽처(I (0)) 내의 참조 블록으로부터 상기 비디오 블록의 제1 예측 샘플들(I (0)(i, j))을 획득하는 단계 ― i 및 j는 상기 현재 픽처를 갖는 하나의 샘플의 좌표를 나타냄 ―;
    상기 디코더에서, 상기 제2 참조 픽처(I (1)) 내의 참조 블록으로부터 상기 비디오 블록의 제2 예측 샘플들(I (1)(i, j))을 획득하는 단계;
    상기 디코더에서, BDOF 도출 프로세스의 내부 BDOF 파라미터들에 시프트를 적용함으로써 상기 내부 BDOF 파라미터들을 제어하는 단계 ― 상기 내부 BDOF 파라미터들은 상기 제1 예측 샘플들(I (0)(i, j)), 상기 제2 예측 샘플들(I (1)(i, j)), 상기 제1 예측 샘플들(I (0)(i, j))과 상기 제2 예측 샘플들(I (1)(i, j)) 간의 샘플 차이들, 및 중간 BDOF 도출 파라미터들에 기반하여 도출된 수평 기울기 값들 및 수직 기울기 값들을 포함하고, 상기 중간 BDOF 도출 파라미터들은 sGxdI, sGydI, sGx2, sGxGy 및 sGy2 파라미터들을 포함하며, sGxdI 및 sGydI는 상기 수평 기울기 값들과 상기 샘플 차이 값들 간의 그리고 상기 수직 기울기 값들과 상기 샘플 차이 값들 간의 상호 상관 값들을 포함하고, sGx2 및 sGy2는 상기 수평 기울기 값들 및 상기 수직 기울기 값들의 자동 상관 값들을 포함하고, sGxGy는 상기 수평 기울기 값들과 상기 수직 기울기 값들 간의 상호 상관 값들을 포함함 ―;
    상기 디코더에서, 상기 제1 예측 샘플들(I (0)(i, j)) 및 상기 제2 예측 샘플들(I (1)(i, j))에 기반하여 상기 비디오 블록에 상기 BDOF가 적용되는 것에 기반하여 상기 비디오 블록 내의 샘플들에 대한 움직임 개선들을 획득하는 단계; 및
    상기 디코더에서, 상기 움직임 개선들에 기반하여 상기 비디오 블록의 양방향 예측 샘플들을 획득하는 단계
    를 포함하는,
    양방향 광 흐름(BDOF)의 비트 심도 제어 방법.
  7. 제6항에 있어서,
    상기 디코더에서, 내부 BDOF 도출 파라미터들의 표현 정밀도를 위해 상기 BDOF 도출 프로세스의 내부 비트 심도들을 제어하는 단계는:
    상기 디코더에서, 상기 제1 예측 샘플들(I (0)(i, j)), 상기 제2 예측 샘플들(I (1)(i, j))에 기반하여 상기 중간 BDOF 도출 파라미터들을 획득하는 단계;
    상기 디코더에서, 상기 sGx2 및 sGxdI 파라미터들에 기반하여 수평 움직임 개선 값을 획득하는 단계;
    상기 디코더에서, 상기 sGy2, sGydI, sGxGy 파라미터들에 기반하여 수직 움직임 개선 값을 획득하는 단계; 및
    상기 디코더에서, 상기 수평 움직임 개선 값 및 상기 수직 움직임 개선 값을 [-31, 31]의 대칭 범위로 클립하는 단계
    를 포함하는, 양방향 광 흐름(BDOF)의 비트 심도 제어 방법.
  8. 양방향 광 흐름(BDOF), 광 흐름에 의한 예측 개선(PROF) 및 디코더 측 움직임 벡터 개선(DMVR: decoder-side motion vector refinement)의 방법으로서,
    디코더에 의해, 시퀀스 파라미터 세트(SPS: sequence parameter set)에서 3개의 제어 플래그를 수신하는 단계 ― 제1 제어 플래그는 현재 비디오 시퀀스에서 비디오 블록들을 디코딩하기 위해 상기 BDOF가 인에이블되는지 여부를 지시하고, 제2 제어 플래그는 상기 현재 비디오 시퀀스에서 상기 비디오 블록들을 디코딩하기 위해 상기 PROF이 인에이블되는지 여부를 지시하며, 제3 제어 플래그는 상기 현재 비디오 시퀀스에서 상기 비디오 블록들을 디코딩하기 위해 상기 DMVR이 인에이블되는지 여부를 지시함 ―;
    상기 디코더에 의해, 상기 제1 제어 플래그가 참(true)일 때 상기 SPS에서 제1 존재 플래그를, 상기 제2 제어 플래그가 참일 때 상기 SPS에서 제2 존재 플래그를, 그리고 상기 제3 제어 플래그가 참일 때 상기 SPS에서 제3 존재 플래그를 수신하는 단계;
    상기 디코더에 의해, 상기 SPS 내의 제1 존재 플래그가 각각의 픽처 내의 비디오 블록들에 대해 상기 BDOF가 디세이블됨을 지시할 때, 해당 픽처의 픽처 헤더에서 제1 픽처 제어 플래그를 수신하는 단계;
    상기 디코더에 의해, 상기 SPS 내의 제2 존재 플래그가 각각의 픽처 내의 비디오 블록들에 대해 상기 PROF가 디세이블됨을 지시할 때, 해당 픽처의 픽처 헤더에서 제2 픽처 제어 플래그를 수신하는 단계; 및
    상기 디코더에 의해, 상기 SPS 내의 제3 존재 플래그가 각각의 픽처 내의 비디오 블록들에 대해 상기 DMVR이 디세이블됨을 지시할 때, 해당 픽처의 픽처 헤더에서 제3 픽처 제어 플래그를 수신하는 단계
    를 포함하는,
    방법.
  9. 제8항에 있어서,
    상기 디코더에 의해, 상기 SPS에서 3개의 제어 플래그를 수신하는 단계는:
    상기 디코더에 의해, sps_bdof_enabled_flag 플래그를 수신하는 단계 ― 상기 sps_bdof_enabled_flag 플래그는 상기 BDOF가 상기 시퀀스에서 상기 비디오 블록들을 디코딩하도록 허용되는지 여부를 지시함 ―;
    상기 디코더에 의해, sps_prof_enabled_flag 플래그를 수신하는 단계 ― 상기 sps_prof_enabled_flag 플래그는 상기 PROF가 상기 시퀀스에서 상기 비디오 블록들을 디코딩하도록 허용되는지 여부를 지시함 ―; 및
    상기 디코더에 의해, sps_dmvr_enabled_flag 플래그를 수신하는 단계 ― 상기 sps_dmvr_enabled_flag 플래그는 상기 DMVR이 상기 시퀀스에서 상기 비디오 블록들을 디코딩하도록 허용되는지 여부를 지시함 ―를 포함하는,
    방법.
  10. 제8항에 있어서,
    상기 디코더에 의해, sps_dmvr_enabled_flag 플래그가 참일 때 sps_dmvr_picture_header_present_flag 플래그를 수신하는 단계 ― 상기 sps_dmvr_picture_header_present_flag 플래그는 현재 SPS를 참조하는 각각의 픽처의 픽처 헤더에서 picture_disable_dmvr_flag 플래그가 시그널링되는지 여부를 시그널링함 ―;
    상기 디코더에 의해, sps_bdof_enabled_flag 플래그가 참일 때 sps_bdof_picture_header_present_flag 플래그를 수신하는 단계 ― 상기 sps_bdof_picture_header_present_flag 플래그는 현재 SPS를 참조하는 각각의 픽처의 픽처 헤더에서 picture_disable_bdof_flag 플래그가 시그널링되는지 여부를 시그널링함 ―; 및
    상기 디코더에 의해, sps_prof_enabled_flag 플래그가 참일 때 sps_prof_picture_header_present_flag 플래그를 수신하는 단계 ― 상기 sps_prof_picture_header_present_flag 플래그는 현재 SPS를 참조하는 각각의 픽처의 픽처 헤더에서 picture_disable_prof_flag 플래그가 시그널링되는지 여부를 시그널링함 ―
    를 더 포함하는 방법.
  11. 제10항에 있어서,
    상기 sps_bdof_picture_header_present_flag 플래그의 값이 거짓(false)일 때, 상기 디코더에 의해, 아핀 모드에서 코딩되지 않은 인터 코딩 블록의 예측 샘플들을 생성하도록 디코더에서 상기 BDOF를 적용하는 단계;
    상기 sps_prof_picture_header_present_flag 플래그의 값이 거짓일 때, 상기 디코더에 의해, 상기 아핀 모드에서 코딩되지 않은 인터 코딩 블록의 예측 샘플들을 생성하도록 디코더에서 상기 PROF를 적용하는 단계; 및
    상기 sps_dmvr_picture_header_present_flag 플래그의 값이 거짓일 때, 상기 디코더에 의해, 상기 아핀 모드에서 코딩되지 않은 인터 코딩 블록의 예측 샘플들을 생성하도록 디코더에서 상기 DMVR을 적용하는 단계
    를 더 포함하는 방법.
  12. 제10항에 있어서,
    상기 디코더에 의해, 상기 sps_dmvr_picture_header_present_flag 플래그가 참일 때 픽처 헤더 제어 플래그를 수신하는 단계를 더 포함하며,
    상기 픽처 헤더 제어 플래그는 상기 픽처 헤더를 참조하는 슬라이스에 대해 상기 DMVR이 디세이블됨을 시그널링하는 picture_disable_dmvr_flag 플래그인,
    방법.
  13. 제10항에 있어서,
    상기 디코더에 의해, 상기 sps_bdof_picture_header_present_flag 플래그가 참일 때 픽처 헤더 제어 플래그를 수신하는 단계를 더 포함하며,
    상기 픽처 헤더 제어 플래그는 상기 픽처 헤더를 참조하는 슬라이스에 대해 상기 BDOF가 디세이블됨을 시그널링하는 picture_disable_bdof_flag 플래그인,
    방법.
  14. 제10항에 있어서,
    상기 디코더에 의해, 상기 sps_prof_picture_header_present_flag 플래그가 참일 때 픽처 헤더 제어 플래그를 수신하는 단계를 더 포함하며,
    상기 픽처 헤더 제어 플래그는 상기 픽처 헤더를 참조하는 슬라이스에 대해 상기 PROF가 디세이블됨을 시그널링하는 picture_disable_prof_flag 플래그인,
    방법.
  15. 컴퓨팅 디바이스로서,
    하나 이상의 프로세서;
    상기 하나 이상의 프로세서에 의해 실행 가능한 명령들을 저장하는 비-일시적 컴퓨터 판독 가능 저장 매체를 포함하며,
    상기 하나 이상의 프로세서는:
    상기 비디오 신호 내의 비디오 블록과 연관된 참조 픽처(I)를 획득하고;
    상기 참조 픽처(I) 내의 참조 블록으로부터 상기 비디오 블록의 예측 샘플들(I(i, j))을 획득하고 ― i 및 j는 상기 비디오 블록을 갖는 하나의 샘플의 좌표를 나타냄 ―;
    미리 설정된 정밀도를 달성하기 위해 비트 시프트 값에 기반하여 광 흐름에 의한 예측 개선(PROF) 도출 프로세스의 내부 PROF 파라미터들에 우측 시프트를 적용함으로써 상기 내부 PROF 파라미터들을 제어하고 ― 상기 내부 PROF 파라미터들은 상기 예측 샘플들(I(i, j))에 대해 도출된 수평 기울기 값들, 수직 기울기 값들, 수평 움직임 차이 값들 및 수직 움직임 차이 값들을 포함함 ―;
    상기 예측 샘플들(I(i, j))에 기반하여 상기 비디오 블록에 상기 PROF 도출 프로세스가 적용되는 것에 기반하여 상기 비디오 블록 내의 샘플들에 대한 예측 개선 값들을 획득하고; 그리고
    상기 비디오 블록의 예측 샘플들을 상기 예측 샘플들과 상기 예측 개선 값들의 조합에 기반하여 획득하도록 구성되는,
    컴퓨팅 디바이스.
  16. 제15항에 있어서,
    상기 미리 설정된 정밀도는 1/32-pel과 같은,
    컴퓨팅 디바이스.
  17. 제15항에 있어서,
    상기 PROF 도출 프로세스의 내부 PROF 파라미터들에 우측 시프트를 적용함으로써 상기 내부 PROF 파라미터들을 제어하도록 구성되는 하나 이상의 프로세서는:
    제1 예측 샘플(I(i+1, j))과 제1 예측 샘플(I(i-1, j)) 간의 차이에 기반하여 제1 예측 샘플 I(i, j)의 수평 기울기 값을 획득하고;
    제1 예측 샘플(I(i, j+1))과 제1 예측 샘플(I(i, j-1)) 간의 차이에 기반하여 상기 제1 예측 샘플(I(i, j))의 수직 기울기 값을 획득하고;
    상기 제1 예측 샘플(I(i, j))의 제어 포인트 움직임 벡터(MV)들을 획득하고 ― 상기 제어 포인트 MV들은 상기 비디오 블록을 포함하는 하나의 블록의 최상부 좌측, 최상부 우측 및 최하부 좌측 코너 블록들의 MV들을 포함함 ―;
    상기 제어 포인트 MV들에 기반하여 도출된 아핀 모델 파라미터들을 획득하고;
    상기 아핀 모델 파라미터들에 기반하여 상기 제1 예측 샘플(I(i, j))에 대한 수평 MV 차이(Δv x (i, j)) 및 수직 MV 차이(Δv y (i, j))를 획득하고; 그리고
    상기 수평 MV 차이(Δv x (i, j)) 및 상기 수직 MV 차이(Δv y (i, j))를 상기 비트 시프트 값만큼 우측 시프트하도록 추가로 구성되며,
    상기 비트 시프트 값은 8과 같은,
    컴퓨팅 디바이스.
  18. 제17항에 있어서,
    상기 하나 이상의 프로세서는:
    상기 수평 MV 차이(Δv x (i, j))를 [-31, 31]의 대칭 범위로 클립하고; 그리고
    상기 수직 MV 차이(Δv y (i, j))를 [-31, 31]의 대칭 범위로 클립하도록 추가로 구성되는,
    컴퓨팅 디바이스.
  19. 제18항에 있어서,
    상기 비디오 블록 내의 샘플들에 대한 예측 개선 값들을 획득하도록 구성된 하나 이상의 프로세서는:
    상기 수평 기울기 값들, 상기 수평 MV 차이(Δv x (i, j)), 상기 수직 기울기 값들 및 수직 MV 차이(Δv y (i, j))에 기반하여 상기 예측 개선 값들을 획득하도록 추가로 구성되는,
    컴퓨팅 디바이스.
  20. 컴퓨팅 디바이스로서,
    하나 이상의 프로세서;
    상기 하나 이상의 프로세서에 의해 실행 가능한 명령들을 저장하는 비-일시적 컴퓨터 판독 가능 저장 매체를 포함하며,
    상기 하나 이상의 프로세서는:
    비디오 블록과 연관된 제1 참조 픽처(I (0)) 및 제2 참조 픽처(I (1))를 획득하고 ― 디스플레이 순서에서 상기 제1 참조 픽처(I (0))는 현재 픽처 앞에 있고 상기 제2 참조 픽처(I (1))는 상기 현재 픽처 뒤에 있음 ―;
    상기 제1 참조 픽처(I (0)) 내의 참조 블록으로부터 상기 비디오 블록의 제1 예측 샘플들(I (0)(i, j))을 획득하고 ― i 및 j는 상기 현재 픽처를 갖는 하나의 샘플의 좌표를 나타냄 ―;
    상기 제2 참조 픽처(I (1)) 내의 참조 블록으로부터 상기 비디오 블록의 제2 예측 샘플들(I (1)(i, j))을 획득하고;
    BDOF 도출 프로세스의 내부 BDOF 파라미터들에 시프트를 적용함으로써 상기 내부 BDOF 파라미터들을 제어하고 ― 상기 내부 BDOF 파라미터들은 상기 제1 예측 샘플들(I (0)(i, j)), 상기 제2 예측 샘플들(I (1)(i, j)), 상기 제1 예측 샘플들(I (0)(i, j))과 상기 제2 예측 샘플들(I (1)(i, j)) 간의 샘플 차이들, 및 중간 BDOF 도출 파라미터들에 기반하여 도출된 수평 기울기 값들 및 수직 기울기 값들을 포함하고, 상기 중간 BDOF 도출 파라미터들은 sGxdI, sGydI, sGx2, sGxGy 및 sGy2 파라미터들을 포함하며, sGxdI 및 sGydI는 상기 수평 기울기 값들과 상기 샘플 차이 값들 간의 그리고 상기 수직 기울기 값들과 상기 샘플 차이 값들 간의 상호 상관 값들을 포함하고, sGx2 및 sGy2는 상기 수평 기울기 값들 및 상기 수직 기울기 값들의 자동 상관 값들을 포함하고, sGxGy는 상기 수평 기울기 값들과 상기 수직 기울기 값들 간의 상호 상관 값들을 포함함 ―;
    상기 제1 예측 샘플들(I (0)(i, j)) 및 상기 제2 예측 샘플들(I (1)(i, j))에 기반하여 상기 비디오 블록에 상기 BDOF가 적용되는 것에 기반하여 상기 비디오 블록 내의 샘플들에 대한 움직임 개선들을 획득하고; 그리고
    상기 움직임 개선들에 기반하여 상기 비디오 블록의 양방향 예측 샘플들을 획득하도록 추가로 구성되는,
    컴퓨팅 디바이스.
  21. 제20항에 있어서,
    내부 BDOF 도출 파라미터들의 표현 정밀도를 위해 상기 BDOF 도출 프로세스의 내부 비트 심도들을 제어하도록 구성된 하나 이상의 프로세서는:
    상기 제1 예측 샘플들(I (0)(i, j)), 상기 제2 예측 샘플들(I (1)(i, j))에 기반하여 상기 중간 BDOF 도출 파라미터들을 획득하고;
    상기 sGx2 및 sGxdI 파라미터들에 기반하여 수평 움직임 개선 값을 획득하고;
    상기 sGy2, sGydI, sGxGy 파라미터들에 기반하여 수직 움직임 개선 값을 획득하고; 그리고
    상기 수평 움직임 개선 값 및 상기 수직 움직임 개선 값을 [-31, 31]의 대칭 범위로 클립하도록 추가로 구성되는,
    컴퓨팅 디바이스.
  22. 하나 이상의 프로세서를 갖는 컴퓨팅 디바이스에 의해 실행할 복수의 프로그램을 저장하는 비-일시적 컴퓨터 판독 가능 저장 매체로서,
    상기 하나 이상의 프로세서에 의해 실행될 때, 상기 복수의 프로그램은 상기 컴퓨팅 디바이스로 하여금 동작들을 수행하게 하며,
    상기 동작들은:
    디코더에 의해, 시퀀스 파라미터 세트(SPS)에서 3개의 제어 플래그를 수신하는 동작 ― 제1 제어 플래그는 현재 비디오 시퀀스에서 비디오 블록들을 디코딩하기 위해 양방향 광 흐름(BDOF)이 인에이블되는지 여부를 지시하고, 제2 제어 플래그는 상기 현재 비디오 시퀀스에서 상기 비디오 블록들을 디코딩하기 위해 광 흐름에 의한 예측 개선(PROF)가 인에이블되는지 여부를 지시하며, 제3 제어 플래그는 상기 현재 비디오 시퀀스에서 상기 비디오 블록들을 디코딩하기 위해 디코더 측 움직임 벡터 개선(DMVR)이 인에이블되는지 여부를 지시함 ―;
    상기 디코더에 의해, 상기 제1 제어 플래그가 참일 때 상기 SPS에서 제1 존재 플래그를, 상기 제2 제어 플래그가 참일 때 상기 SPS에서 제2 존재 플래그를, 그리고 상기 제3 제어 플래그가 참일 때 상기 SPS에서 제3 존재 플래그를 수신하는 동작;
    상기 디코더에 의해, 상기 SPS 내의 제1 존재 플래그가 각각의 픽처 내의 비디오 블록들에 대해 상기 BDOF가 디세이블됨을 지시할 때, 해당 픽처의 픽처 헤더에서 제1 픽처 제어 플래그를 수신하는 동작;
    상기 디코더에 의해, 상기 SPS 내의 제2 존재 플래그가 각각의 픽처 내의 비디오 블록들에 대해 상기 PROF가 디세이블됨을 지시할 때, 해당 픽처의 픽처 헤더에서 제2 픽처 제어 플래그를 수신하는 동작; 및
    상기 디코더에 의해, 상기 SPS 내의 제3 존재 플래그가 각각의 픽처 내의 비디오 블록들에 대해 상기 DMVR이 디세이블됨을 지시할 때, 해당 픽처의 픽처 헤더에서 제3 픽처 제어 플래그를 수신하는 동작을 포함하는,
    비-일시적 컴퓨터 판독 가능 저장 매체.
  23. 제22항에 있어서,
    상기 복수의 프로그램은 추가로 상기 컴퓨팅 디바이스로 하여금:
    상기 디코더에 의해, sps_dmvr_enabled_flag 플래그가 참일 때 sps_dmvr_picture_header_present_flag 플래그를 수신하는 동작 ― 상기 sps_dmvr_picture_header_present_flag 플래그는 현재 SPS를 참조하는 각각의 픽처의 픽처 헤더에서 picture_disable_dmvr_flag 플래그가 시그널링되는지 여부를 시그널링함 ―;
    상기 디코더에 의해, sps_bdof_enabled_flag 플래그가 참일 때 sps_bdof_picture_header_present_flag 플래그를 수신하는 동작 ― 상기 sps_bdof_picture_header_present_flag 플래그는 현재 SPS를 참조하는 각각의 픽처의 픽처 헤더에서 picture_disable_bdof_flag 플래그가 시그널링되는지 여부를 시그널링함 ―; 및
    상기 디코더에 의해, sps_prof_enabled_flag 플래그가 참일 때 sps_prof_picture_header_present_flag 플래그를 수신하는 동작 ― 상기 sps_prof_picture_header_present_flag 플래그는 현재 SPS를 참조하는 각각의 픽처의 픽처 헤더에서 picture_disable_prof_flag 플래그가 시그널링되는지 여부를 시그널링함 ―을 수행하게 하는,
    비-일시적 컴퓨터 판독 가능 저장 매체.
  24. 제22항에 있어서,
    상기 복수의 프로그램은 추가로 상기 컴퓨팅 디바이스로 하여금:
    상기 sps_bdof_picture_header_present_flag 플래그의 값이 거짓일 때, 아핀 모드에서 코딩되지 않은 인터 코딩 블록의 예측 샘플들을 생성하도록 디코더에서 상기 BDOF를 적용하는 동작;
    상기 sps_prof_picture_header_present_flag 플래그의 값이 거짓일 때, 상기 아핀 모드에서 코딩되지 않은 인터 코딩 블록의 예측 샘플들을 생성하도록 디코더에서 상기 PROF를 적용하는 동작; 및
    상기 sps_dmvr_picture_header_present_flag 플래그의 값이 거짓일 때, 상기 아핀 모드에서 코딩되지 않은 인터 코딩 블록의 예측 샘플들을 생성하도록 디코더에서 상기 DMVR을 적용하는 동작을 수행하게 하는,
    비-일시적 컴퓨터 판독 가능 저장 매체.
  25. 제24항에 있어서,
    상기 복수의 프로그램은 추가로 상기 컴퓨팅 디바이스로 하여금:
    상기 디코더에 의해, 상기 sps_dmvr_picture_header_present_flag 플래그가 참일 때 픽처 헤더 제어 플래그를 수신하는 동작을 수행하게 하며,
    상기 픽처 헤더 제어 플래그는 상기 픽처 헤더를 참조하는 슬라이스에 대해 상기 DMVR이 디세이블됨을 시그널링하는 picture_disable_dmvr_flag 플래그인,
    비-일시적 컴퓨터 판독 가능 저장 매체.
  26. 제24항에 있어서,
    상기 복수의 프로그램은 추가로 상기 컴퓨팅 디바이스로 하여금:
    상기 디코더에 의해, 상기 sps_bdof_picture_header_present_flag 플래그가 참일 때 픽처 헤더 제어 플래그를 수신하는 동작을 수행하게 하며,
    상기 픽처 헤더 제어 플래그는 상기 픽처 헤더를 참조하는 슬라이스에 대해 상기 BDOF가 디세이블됨을 시그널링하는 picture_disable_bdof_flag 플래그인,
    비-일시적 컴퓨터 판독 가능 저장 매체.
  27. 제24항에 있어서,
    상기 복수의 프로그램은 추가로 상기 컴퓨팅 디바이스로 하여금:
    상기 디코더에 의해, 상기 sps_prof_picture_header_present_flag 플래그가 참일 때 픽처 헤더 제어 플래그를 수신하는 동작을 수행하게 하며,
    상기 픽처 헤더 제어 플래그는 상기 픽처 헤더를 참조하는 슬라이스에 대해 상기 PROF가 디세이블됨을 시그널링하는 picture_disable_prof_flag 플래그인,
    비-일시적 컴퓨터 판독 가능 저장 매체.
  28. 제24항에 있어서,
    상기 복수의 프로그램은 추가로 상기 컴퓨팅 디바이스로 하여금:
    상기 디코더에 의해, 상기 sps_prof_picture_header_present_flag 플래그가 참일 때 픽처 헤더 제어 플래그를 수신하는 동작을 수행하게 하며,
    상기 픽처 헤더 제어 플래그는 상기 픽처 헤더를 참조하는 슬라이스에 대해 상기 PROF가 디세이블됨을 시그널링하는 picture_disable_prof_flag 플래그인,
    비-일시적 컴퓨터 판독 가능 저장 매체.
KR1020227010894A 2019-10-09 2020-10-09 광 흐름에 의한 예측 개선, 양방향 광 흐름 및 디코더 측 움직임 벡터 개선을 위한 방법들 및 장치들 KR102533731B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020237002341A KR20230018532A (ko) 2019-10-09 2020-10-09 광 흐름에 의한 예측 개선, 양방향 광 흐름 및 디코더 측 움직임 벡터 개선을 위한 방법들 및 장치들
KR1020237016305A KR20230070535A (ko) 2019-10-09 2020-10-09 광 흐름에 의한 예측 개선, 양방향 광 흐름 및 디코더 측 움직임 벡터 개선을 위한 방법들 및 장치들
KR1020237016304A KR20230070534A (ko) 2019-10-09 2020-10-09 광 흐름에 의한 예측 개선, 양방향 광 흐름 및 디코더 측 움직임 벡터 개선을 위한 방법들 및 장치들

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962913141P 2019-10-09 2019-10-09
US62/913,141 2019-10-09
PCT/US2020/055153 WO2021072326A1 (en) 2019-10-09 2020-10-09 Methods and apparatuses for prediction refinement with optical flow, bi-directional optical flow, and decoder-side motion vector refinement

Related Child Applications (3)

Application Number Title Priority Date Filing Date
KR1020237016305A Division KR20230070535A (ko) 2019-10-09 2020-10-09 광 흐름에 의한 예측 개선, 양방향 광 흐름 및 디코더 측 움직임 벡터 개선을 위한 방법들 및 장치들
KR1020237002341A Division KR20230018532A (ko) 2019-10-09 2020-10-09 광 흐름에 의한 예측 개선, 양방향 광 흐름 및 디코더 측 움직임 벡터 개선을 위한 방법들 및 장치들
KR1020237016304A Division KR20230070534A (ko) 2019-10-09 2020-10-09 광 흐름에 의한 예측 개선, 양방향 광 흐름 및 디코더 측 움직임 벡터 개선을 위한 방법들 및 장치들

Publications (2)

Publication Number Publication Date
KR20220046707A true KR20220046707A (ko) 2022-04-14
KR102533731B1 KR102533731B1 (ko) 2023-06-19

Family

ID=75437762

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020237002341A KR20230018532A (ko) 2019-10-09 2020-10-09 광 흐름에 의한 예측 개선, 양방향 광 흐름 및 디코더 측 움직임 벡터 개선을 위한 방법들 및 장치들
KR1020227010894A KR102533731B1 (ko) 2019-10-09 2020-10-09 광 흐름에 의한 예측 개선, 양방향 광 흐름 및 디코더 측 움직임 벡터 개선을 위한 방법들 및 장치들
KR1020237016305A KR20230070535A (ko) 2019-10-09 2020-10-09 광 흐름에 의한 예측 개선, 양방향 광 흐름 및 디코더 측 움직임 벡터 개선을 위한 방법들 및 장치들
KR1020237016304A KR20230070534A (ko) 2019-10-09 2020-10-09 광 흐름에 의한 예측 개선, 양방향 광 흐름 및 디코더 측 움직임 벡터 개선을 위한 방법들 및 장치들

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020237002341A KR20230018532A (ko) 2019-10-09 2020-10-09 광 흐름에 의한 예측 개선, 양방향 광 흐름 및 디코더 측 움직임 벡터 개선을 위한 방법들 및 장치들

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020237016305A KR20230070535A (ko) 2019-10-09 2020-10-09 광 흐름에 의한 예측 개선, 양방향 광 흐름 및 디코더 측 움직임 벡터 개선을 위한 방법들 및 장치들
KR1020237016304A KR20230070534A (ko) 2019-10-09 2020-10-09 광 흐름에 의한 예측 개선, 양방향 광 흐름 및 디코더 측 움직임 벡터 개선을 위한 방법들 및 장치들

Country Status (7)

Country Link
US (1) US20220239943A1 (ko)
EP (1) EP4022923A4 (ko)
JP (2) JP7281602B2 (ko)
KR (4) KR20230018532A (ko)
CN (2) CN114503561A (ko)
MX (1) MX2022004332A (ko)
WO (1) WO2021072326A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114946190A (zh) * 2019-11-18 2022-08-26 Lg电子株式会社 用于控制环路滤波的图像编码装置和方法
WO2023033617A1 (ko) * 2021-09-03 2023-03-09 주식회사 윌러스표준기술연구소 Lic(local illumination compensation) 모드를 이용한 비디오 신호 처리 방법 및 이를 위한 장치

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140029670A1 (en) * 2012-07-27 2014-01-30 Motorola Mobility Llc Devices and methods for processing of partition mode in high efficiency video coding
US10003793B2 (en) * 2012-10-01 2018-06-19 Google Technology Holdings LLC Processing of pulse code modulation (PCM) parameters
KR101943805B1 (ko) * 2014-06-20 2019-01-29 에이치에프아이 이노베이션 인크. 비디오 코딩에서의 신택스에 대한 이진화 및 컨텍스트 적응 코딩의 방법 및 장치
EP4060992A1 (en) * 2016-05-13 2022-09-21 Vid Scale, Inc. Systems and methods for generalized multi-hypothesis prediction for video coding
EP3264769A1 (en) * 2016-06-30 2018-01-03 Thomson Licensing Method and apparatus for video coding with automatic motion information refinement
WO2018128380A1 (ko) * 2017-01-03 2018-07-12 엘지전자(주) 어파인 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치
US10523964B2 (en) * 2017-03-13 2019-12-31 Qualcomm Incorporated Inter prediction refinement based on bi-directional optical flow (BIO)
KR102409430B1 (ko) * 2017-04-24 2022-06-15 에스케이텔레콤 주식회사 움직임 보상을 위한 옵티컬 플로우 추정 방법 및 장치
US10986360B2 (en) * 2017-10-16 2021-04-20 Qualcomm Incorproated Various improvements to FRUC template matching
KR20240000636A (ko) * 2019-03-08 2024-01-02 후아웨이 테크놀러지 컴퍼니 리미티드 인터 예측을 위한 인코더, 디코더 및 대응하는 방법
MX2021012472A (es) * 2019-04-18 2021-11-12 Beijing Bytedance Network Tech Co Ltd Restriccion de la aplicabilidad del modo de componentes cruzados.
WO2021060834A1 (ko) * 2019-09-24 2021-04-01 엘지전자 주식회사 서브픽처 기반 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Jianle Chen, et. al.,"Algorithm description for Versatile Video Coding and Test Model 6(VTM 6)", Joint Video Expert Team (JVET) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 15th Meeting, 2019.07.03.-1* *

Also Published As

Publication number Publication date
EP4022923A4 (en) 2022-11-23
CN114503561A (zh) 2022-05-13
KR102533731B1 (ko) 2023-06-19
MX2022004332A (es) 2022-04-26
CN114979631A (zh) 2022-08-30
US20220239943A1 (en) 2022-07-28
JP2023100979A (ja) 2023-07-19
EP4022923A1 (en) 2022-07-06
KR20230070534A (ko) 2023-05-23
JP7281602B2 (ja) 2023-05-25
JP2022541685A (ja) 2022-09-26
KR20230018532A (ko) 2023-02-07
WO2021072326A1 (en) 2021-04-15
KR20230070535A (ko) 2023-05-23

Similar Documents

Publication Publication Date Title
KR102486982B1 (ko) 광학 흐름을 사용한 예측 미세조정을 위한 방법 및 장치
KR102502614B1 (ko) 광학 흐름을 사용한 예측 미세조정을 위한 방법 및 장치
JP7313533B2 (ja) オプティカルフローによる予測洗練化における方法および装置
US11889110B2 (en) Methods and apparatus for prediction refinement with optical flow
US20220046249A1 (en) Methods and apparatuses for prediction refinement with optical flow
JP2023100979A (ja) オプティカルフローによる予測洗練化、双方向オプティカルフローおよびデコーダ側の動きベクトル洗練化のための方法および装置
EP3963887A1 (en) Methods and apparatus of prediction refinement with optical flow
KR102489605B1 (ko) 조합된 인터 및 인트라 예측을 위한 시스템 및 방법
KR20230013163A (ko) 조합된 인터 및 인트라 예측을 위한 시스템 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
AMND Amendment
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant