Nothing Special   »   [go: up one dir, main page]

KR102662036B1 - 모션 벡터 차이 모드에서 병합시 모션 벡터 정밀도 - Google Patents

모션 벡터 차이 모드에서 병합시 모션 벡터 정밀도 Download PDF

Info

Publication number
KR102662036B1
KR102662036B1 KR1020217017405A KR20217017405A KR102662036B1 KR 102662036 B1 KR102662036 B1 KR 102662036B1 KR 1020217017405 A KR1020217017405 A KR 1020217017405A KR 20217017405 A KR20217017405 A KR 20217017405A KR 102662036 B1 KR102662036 B1 KR 102662036B1
Authority
KR
South Korea
Prior art keywords
motion
motion vector
flag
distance
delete delete
Prior art date
Application number
KR1020217017405A
Other languages
English (en)
Other versions
KR20210106427A (ko
Inventor
홍빈 리우
리 창
카이 창
지청 슈
유에 왕
Original Assignee
베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드
바이트댄스 아이엔씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드, 바이트댄스 아이엔씨 filed Critical 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드
Publication of KR20210106427A publication Critical patent/KR20210106427A/ko
Application granted granted Critical
Publication of KR102662036B1 publication Critical patent/KR102662036B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • 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
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/46Embedding additional information in the video signal during the compression process
    • 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/54Motion estimation other than block-based using feature points or meshes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0125Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level one of the standards being a high definition standard

Landscapes

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

Abstract

제공되는 비디오 처리 방법은: 비디오의 하나 이상의 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 수행하는 단계를 포함하고, 상기 코딩 된 표현의 제1 필드는 부분 샘플 정밀도(fractional sample precision)가 변환 동안 사용된 모션 벡터 차이(MMVD)와 병합에서 모션 거리를 나타내기 위해 사용되는지 여부를 나타내고, 및 MMVD 모드는 현재 비디오 블록에 대한 시작점, 모션 거리 및 모션 방향을 포함하는 모션 벡터 표현을 포함한다.

Description

모션 벡터 차이 모드에서 병합시 모션 벡터 정밀도
이 특허 문헌은 비디오, 이미지 코딩 및 디코딩에 관한 것이다.
파리 협약에 따른 적용 가능한 특허법 및/또는 규칙에 따라, 본 출원은 2018년 12월 21일에 출원된 국제 특허 출원 번호 PCT/CN2018/122626, 2018년 12월 29일에 출원된 국제 특허 출원 번호 PCT/CN2018/125417, 2019년 1월 23일에 출원된 국제 특허 출원 번호 PCT/CN2019/072814에 대한 우선권 및 이익을 주장한다. 앞서 언급한 출원의 전체 공개는 본 출원 공개의 일부로 참조로 통합된다.
디지털 비디오는 인터넷 및 기타 디지털 통신 네트워크에서 가장 큰 대역폭 사용을 나타내고 있다. 비디오를 수신하고 나타낼 수 있는 연결된 사용자 장치의 수가 증가함에 따라, 디지털 비디오 사용에 대한 대역폭 수요는 계속 증가할 것으로 예상된다.
본 문서는 하나의 예시적인 측면에서 궁극 모션 벡터 표현(ultimate motion vector expression) 또는 일반화된 이중 예측(bi-prediction)과 관련된 현재 코딩 도구의 코딩 효율을 개선하는 비디오 코딩 도구(video coding tool)를 개시한다.
하나의 예시적인 측면에서, 비디오 처리(video processing) 방법이 개시된다. 이 방법은, 비디오의 현재 비디오 블록(current video block)과 비디오의 코딩 된 표현(coded representation) 사이의 변환(conversion)을 위해, 궁극 모션 벡터 표현(UMVE) 모드의 동작 모드를 결정하는 단계; 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함하고, 현재 비디오 블록은 현재 비디오 블록에 대한 모션 정보의 시작점(starting point), 모션 크기(motion magnitude) 및 모션 방향(motion direction)을 포함하는 모션 벡터 표현을 포함하는 UMVE 모드에서 병합 모드(merge mode) 및 모션 벡터 차이(motion vector difference)로 코딩 되고, 및 코딩 된 표현의 하나 이상의 필드는 동작 모드에 대응하고, 및 하나 이상의 필드는: 현재 비디오 블록에 대해 UMVE 모드가 활성화 또는 비활성화되었는 지를 나타내는 값을 갖는 UMVE 활성화 필드(UMVE enable field), 또는 현재 비디오 블록에 대해 UMVE 모드가 활성화 또는 비활성화되었는 지에 기초하여 아핀 병합 모드가 수정되었는지 여부를 나타내는 수정된 아핀 모드 활성화 필드(modified affine mode enable field)를 포함한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 이 방법은, 비디오의 현재 비디오 블록(current video block)과 비디오의 코딩 된 표현(coded representation) 사이의 변환(conversion)을 위해, 궁극 모션 벡터 표현(UMVE) 모드의 동작 모드를 결정하는 단계; 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함하고, 현재 비디오 블록은 현재 비디오 블록에 대한 모션 정보의 시작점(starting point), 모션 크기 및 모션 방향을 포함하는 모션 벡터 표현을 포함하는 UMVE 모드에서 병합 모드(merge mode) 및 모션 벡터 차이(motion vector difference)로 코딩 되고, 및 코딩 된 표현의 하나 이상의 필드는 동작 모드에 대응하고, 및 상기 하나 이상의 필드는: UMVE 모드에 의해 사용되는 베이스 후보 목록(base candidate list)의 크기를 나타내는 목록 크기 필드, 또는 UMVE 모드에 대한 거리 테이블 또는 방향 테이블을 시그널링 하는 테이블 필드를 포함한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 이 방법은 궁극 모션 벡터 표현(UMVE) 코딩 도구를 사용하여 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 수행하는 단계를 포함하고, UMVE 코딩 도구는 현재 비디오 블록에 대한 모션 정보의 시작점, 모션 크기 및 모션 방향을 포함하는 모션 벡터 표현(motion vector expression)을 나타내고, 및 거리 테이블 또는 방향 테이블 중 적어도 하나는 두 개의 참조 픽처(reference picture)의 픽처 순서 카운트(picture order count)(POC) 또는 현재 비디오 블록을 포함하는 현재 픽처의 POC, 또는 현재 비디오 블록, 현재 슬라이스(current slice), 또는 현재 픽처(current picture)를 코딩 하는 데 사용되는 양자화 파라미터(quantization parameter)(QP)에 의존한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 이 방법은 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 위해, 아핀 궁극 모션 벡터 표현(affine ultimate motion vector expression)(UMVE) 모드의 동작 모드를 결정하는 단계; 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함하고, 현재 비디오 블록은 현재 비디오 블록에 대한 모션 정보의 시작점, 모션 크기 및 모션 방향을 포함하는 아핀 UMVE 모드에서 아핀 병합 모드 및 모션 벡터 차이로 코딩 되고, 및 코딩 된 표현의 하나 이상의 필드는 동작 모드에 대응하고, 및 하나 이상의 필드는: UMVE 모드에서 사용하는 예측 오프셋을 갖는 아핀 병합 모드에 대한 베이스 아핀 병합 후보 목록의 크기를 나타내는 목록 크기 필드, 또는 예측 오프셋을 갖는 아핀 병합 모드에 대한 거리 테이블 또는 방향 테이블을 시그널링 하는 테이블 필드를 포함한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 이 방법은 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 위해 궁극 모션 벡터 표현(UMVE) 코딩 도구에서 다중 모션 벡터 차이를 시그널링 하도록 결정하는 단계; 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함하고, UMVE 코딩 도구를 사용하여, 시작점, N 모션 크기로 표현되는 N 모션 벡터 차이 및 현재 비디오 블록의 N 모션 방향을 포함하는 모션 벡터 표현이 변환 중에 사용되고, N은 2 이상인 정수이다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 이 방법은, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 위해, 현재 픽처 참조(Current Picture Referencing)(CPR) 코딩 도구 및 궁극 모션 벡터 표현(UMVE) 코딩 도구를 사용하여 규칙이 현재 비디오 블록으로 인한 변환에 적용되는지를 결정하는 단계; 및 규칙에 따라 변환을 수행하는 단계를 포함하고, 상기 규칙은 변환을 위한 하나 이상의 코딩 거리의 사용을 허용하지 않고, 상기 CPR 코딩 도구는 현재 픽처를 참조 픽처로 사용하고, 및 UMVE 코딩 도구는 현재 비디오 블록에 대한 시작점, 모션 크기 및 모션 방향을 포함하는 모션 벡터 표현을 사용한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 이 방법은, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환 동안, 현재 비디오 블록이 현재 비디오 블록에 대한 시작점, 모션 크기 및 모션 방향을 포함하는 모션 벡터 표현을 나타내는 궁극 모션 벡터 표현(ultimate motion vector expression)(UMVE) 코딩 도구를 사용한다고 결정할 때 현재 비디오 블록에 대한 모션 벡터 차이(MVD) 값의 정제를 수행하기로 결정하는 단계; 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 이 방법은, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 위해, 현재 비디오 블록이 현재 비디오 블록에 대한 시작점, 모션 크기 및 모션 방향을 포함하는 모션 벡터 표현을 나타내는 UMVE 코딩 도구를 사용한다고 결정할 때 다중 UMVE 파라미터 세트에서 제1 궁극 모션 벡터 표현(UMVE) 파라미터 세트를 사용하기로 결정하는 단계; 및 결정에 기초하여 변환을 수행하는 단계를 포함하고, 다중 UMVE 파라미터 세트 중 적어도 하나의 표시(indication)는 현재 비디오 블록에 대해 시그널링 되거나 미리 정의된다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 이 방법은, 현재 비디오 블록이 현재 비디오 블록에 대한 시작점, 모션 크기 및 모션 방향을 포함하는 모션 벡터 표현을 나타내는 UMVE(궁극적 동작 벡터 표현) 코딩 도구를 사용한다고 결정할 때 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 위해 UMVE 파라미터 세트를 선택하는 단계를 포함하고, 선택된 UMVE 파라미터 세트는 상이한 비디오 블록, 상이한 참조 픽처 목록, 상이한 참조 픽처, 상이한 타일, 상이한 슬라이스, 상이한 픽처 또는 상이한 시간적 층(temporal layer)에 걸쳐 변경된다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 이 방법은 현재 비디오 블록에 대한 시작점, 모션 크기 및 모션 방향을 포함하는 모션 벡터 표현을 나타내는 궁극 모션 벡터 표현(UMVE) 코딩 도구를 사용하여 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 수행하는 단계를 포함하고, 적응형 모션 벡터 해상도(adaptive motion vector resolution)(AMVR) 방식은 UMVE 코딩 도구에 의해 사용되는 거리 테이블을 시그널링 하는 데 사용된다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 이 방법은, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 위해, 현재 비디오 블록의 예측이 두 개의 참조 목록으로부터 불균일하게 가중된 예측자(predictor)의 합에 대응하는 최종 예측자를 사용하는 일반화된 이중 예측(generalized bi-prediction)(GBi) 코딩 도구의 동작 모드를 결정하는 단계; 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함하고, 상기 코딩 된 표현의 필드는 동작 모드에 대응하고 필드의 값은 GBI 코딩 도구가 현재 비디오 블록에 대해 활성화 또는 비활성화되는지 여부를 나타낸다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 이 방법은, 현재 비디오 블록의 예측이 두 참조 목록의 예측 변수의 불균일하게 가중된 합계에 대응하는 최종 예측 변수를 사용하여 GBi 코딩 도구의 파라미터를 제어하는 규칙에 기초하여, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 수행하는 단계를 포함하고, 상기 규칙은 GBi 코딩 도구에 의해 사용되는 가중치 계수 세트(weighting factor set)가 i) 현재 비디오 블록을 포함하는 픽처의 시간적 층, ii) 픽처의 픽처 양자화 파라미터, 또는 iii) 현재 비디오 블록의 양자화 파라미터에 기초하도록 지정한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 이 방법은, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 위해, 단일 예측 모드(uni-prediction mode)에 대해 1과 동일하지 않은 가중치를 사용하도록 결정하는 단계; 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함하고, 상기 현재 비디오 블록의 예측은 가중치에 의해 스케일링 된 예측자에 대응하는 최종 예측자를 사용하고, 가중치 계수 세트는 블록 레벨 또는 코딩 유닛 레벨에서 선택된다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 이 방법은, 현재 비디오 블록의 예측이 두 참조 목록의 예측 변수의 불균일하게 가중된 합계에 대응하는 최종 예측 변수를 사용하여 GBi 코딩 도구의 파라미터를 제어하는 규칙에 기초하여, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 수행하는 단계를 포함하고, 여기서 규칙은 현재 비디오 블록의 이웃 픽셀 및 현재 비디오 블록의 모션 벡터의 정수 부분에 의해 식별되는 대응하는 참조 이웃 픽셀에 기초하여 GBi 코딩 도구에 대한 가중치 계수를 선택하거나 유도하도록 지정한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 이 방법은, 현재 비디오 블록의 예측이 두 참조 목록의 예측 변수의 불균일하게 가중된 합계에 대응하는 최종 예측 변수를 사용하여 GBi 코딩 도구의 파라미터를 제어하는 규칙에 기초하여, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 수행하는 단계를 포함하고, 상기 규칙은 현재 비디오 블록의 이웃 픽셀 및 현재 비디오 블록의 모션 벡터의 정수 부분에 의해 식별된 대응하는 참조 이웃 픽셀에 기초하여 GBi 코딩 도구에 대한 가중치 계수를 재정렬하도록 지정한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 이 방법은, 현재 비디오 블록의 예측이 두 참조 목록의 예측 변수의 불균일하게 가중된 합계에 대응하는 최종 예측 변수를 사용하여 GBi 코딩 도구의 파라미터를 제어하는 규칙에 기초하여, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 수행하는 단계를 포함하고, 규칙은 GBi 코딩 도구에 대한 가중치 계수를 결정하기 위해 현재 비디오 블록과 연관된 로컬 조명 보상(local illumination compensation)(LIC) 파라미터를 사용하도록 지정하고, 및 상기 LIC 파라미터는 변환 동안 현재 블록에서 조명 변화의 선형 모델을 사용하도록 유도된다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 이 방법은 비디오의 하나 이상의 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 수행하는 단계를 포함하고, 상기 코딩 된 표현의 제1 필드는 부분 샘플 정밀도(fractional sample precision)가 변환 동안 사용된 모션 벡터 차이(MMVD)와 병합에서 모션 거리를 나타내기 위해 사용되는지 여부를 나타내고, 및 MMVD 모드는 현재 비디오 블록에 대한 시작점, 모션 거리 및 모션 방향을 포함하는 모션 벡터 표현을 포함한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 이 방법은 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 수행하는 단계를 포함하고, 상기 코딩 된 표현은 변환 동안 사용되는 고급 모션 벡터 예측(advanced motion vector prediction)(AMVP) 모드 또는 아핀 인터 모드(affine inter mod)에 대해 부분(fractional) 모션 벡터(motion vector)(MV) 또는 모션 벡터 차이(motion vector difference)(MVD) 정밀도가 허용되는지를 나타내는 플래그(flag)를 포함한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 이 방법은, 코딩 된 표현의 포맷을 지정하는 규칙에 따라, 비디오의 현재 픽처의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 수행하는 단계를 포함하고, 상기 규칙은 현재 비디오 블록의 변환에 사용되는 모든 참조 블록이 현재 픽처의 샘플로부터 획득되는지 여부에 기초하여 코딩 모드에 대한 신텍스 요소가 코딩 된 표현에 포함되도록 지정한다.
또 다른 대표적인 측면에서, 전술한 방법은 프로세서 실행 코드의 형태로 구현되고 컴퓨터 판독 가능 프로그램 매체에 저장된다.
또 다른 대표적인 측면에서, 전술한 방법을 수행하도록 구성되거나 동작할 수 있는 장치가 개시된다. 장치는 이 방법을 구현하도록 프로그래밍 된 프로세서를 포함할 수 있다.
다른 예시적인 측면에서, 전술한 방법은 프로세서를 포함하는 비디오 인코더 장치 또는 비디오 디코더 장치에 의해 구현될 수 있다.
이들 및 다른 측면은 본 문서에서 더 설명된다.
도 1은 단순화된 아핀 모션 모델의 예를 도시한다.
도 2는 서브 블록 당 아핀 모션 벡터 필드(MVF)의 예를 도시한다.
도 3a 내지 3b는 각각 4 개 및 6 개의 파라미터 아핀 모델을 도시한다.
도 4는 AF_INTER에 대한 모션 벡터 예측자(MVP)의 예를 도시한다.
도 5a 내지 5b는 AF_MERGE에 대한 후보들의 예를 도시한다.
도 6은 아핀 병합 모드를 위한 후보 위치의 예를 도시한다.
도 7은 거리 인덱스 및 거리 오프셋 매핑의 예를 도시한다.
도 8은 궁극 모션 벡터 표현(UMVE) 검색 프로세스의 예를 도시한다.
도 9는 UMVE 검색 포인트의 예를 도시한다.
도 10은 IC 파라미터를 유도하기 위해 사용되는 이웃 샘플의 예를 도시한다.
도 11a 및 11b는 본 문서에 설명된 기술을 구현하기 위한 하드웨어 플랫폼의 예를 도시한다.
도 12 내지 14는 개시된 기술의 일부 구현에 기초한 비디오 처리의 예시적인 방법에 대한 흐름도를 도시한다.
도 15a 내지 15e는 개시된 기술의 일부 구현에 기초한 예시적인 비디오 처리 방법에 대한 흐름도를 도시한다.
도 16a 내지 16c는 개시된 기술의 일부 구현에 기초한 예시적인 비디오 처리 방법에 대한 흐름도를 도시한다.
도 17a 및 17b는 개시된 기술의 일부 구현에 기초한 예시적인 비디오 처리 방법에 대한 흐름도를 도시한다.
도 18은 개시된 기술의 일부 구현에 기초한 예시적인 비디오 처리 방법에 대한 흐름도를 도시한다.
본 문서는 압축 해제 또는 디코딩 된 디지털 비디오의 품질을 개선하기 위해 비디오 비트 스트림의 디코더에 의해 사용될 수 있는 다양한 기술을 제공한다. 더욱이, 비디오 인코더는 또한 추가 인코딩에 사용되는 디코딩 된 프레임을 재구성하기 위해 인코딩 프로세스 동안 이러한 기술을 구현할 수 있다.
본 문서에서는 이해의 편의를 위해 섹션 표제가 사용되며, 실시 예 및 기술을 해당 섹션으로 제한하지 않는다. 따라서, 한 섹션의 실시 예는 다른 섹션의 실시 예와 결합될 수 있다.
1. 요약(summary)
이 특허 문서는 비디오 코딩 기술과 관련이 있다. 특히 비디오 코딩의 모션 보상과 관련이 있다. HEVC와 같은 기존 비디오 코딩 표준 또는 최종화될 표준(Versatile Video Coding)에 적용될 수 있다. 향후 비디오 코딩 표준 또는 비디오 코덱에도 적용될 수 있다.
2. 도입 코멘트(Introductory comment)
비디오 코딩 표준은 주로 잘 알려진 ITU-T 및 ISO/IEC 표준의 개발을 통해 발전해 왔다. ITU-T는 H.261과 H.263을, ISO/IEC는 MPEG-1과 MPEG-4 Visual을, 두 조직은 H.262/MPEG-2 Video 및 H.264/MPEG-4 AVC(Advanced Video Coding) 및 H.265/HEVC 표준을 공동으로 제작했다. H.262 이후, 비디오 코딩 표준은 시간 예측과 변환 코딩(transform coding)이 활용되는 하이브리드 비디오 코딩 구조를 기반으로 한다. HEVC를 넘어선 미래의 비디오 코딩 기술을 탐구하기 위해 2015년에 VCEG와 MPEG가 공동으로 조인트 비디오 연구 팀(Joint Video Exploration Team)(JVET)를 설립했다. 그 이후로 JVET는 많은 새로운 방법을 채택하여 조인트 연구 모델(Joint Exploration Model)(JEM)이라는 참조 소프트웨어에 추가했다. 2018년 4월, VCEG(Q6/16)와 ISO/IEC JTC1 SC29/WG11(MPEG) 사이의 조인트 비디오 전문가 팀(Joint Video Expert Team)(JVET)은 HEVC 대비 50 % 비트 레이트 감소를 목표로 하는 VVC 표준 작업을 위해 생성되었다. VVC 드래프트의 최신 버전, 즉 범용 비디오 코딩(Versatile Video Coding)(드래프트 2(Draft 2))은 다음에서 찾을 수 있다:
http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/11_Ljubljana/wg11/JVET-K1001-v7.zip
VTM이라는 VVC의 최신 참조 소프트웨어는 다음에서 찾을 수 있다:
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-2.1
2.1 아핀 모션 보상 예측(Affine motion compensation prediction)
HEVC에서는 MCP(Motion Compensation Prediction)에 변환 동작 모델 만 적용된다. 실제 세계에는, 예를 들어 확대/축소, 회전, 원근 동작 및 기타 불규칙한 동작 같은, 여러 종류의 모션이 있다. JEM에서는 단순화된 아핀 변환 모션 보상 예측(affine transform motion compensation prediction)이 적용된다. 도 1에 도시된 바와 같이, 블록의 아핀 모션 필드는 두 개의 제어점 모션 벡터로 설명된다.
블록의 모션 벡터 필드(MVF)는 다음 방정식으로 설명된다:
(1)
여기서(v0x, v0y)는 왼쪽 상단 모서리 제어점의 모션 벡터이고(v1x, v1y)는 오른쪽 상단 모서리 제어점의 모션 벡터이다.
모션 보상 예측을 더욱 단순화하기 위해 서브 블록 기반 아핀 변환 예측(affine transform prediction)이 적용된다. 서브 블록 크기 M x N은 방정식 (2)에서와 같이 유도되고, 여기서 MvPre는 모션 벡터 부분 정확도(motion vector fraction accuracy)(JEM에서 1/16)이고, (v2x, v2y)는 방정식 (1)에 따라 계산된 왼쪽 하단 제어점의 모션 벡터이다.
(2)
방정식 (2)에 의해 유도된 후 필요한 경우 M과 N을 각각 w와 h의 제수(divisor)로 만들기 위해 아래쪽으로 조정해야 한다.
각 MxN 서브 블록의 모션 벡터를 유도하기 위해, 도 2와 같이 각 서브 블록의 중앙 샘플의 모션 벡터를 방정식 (1)에 따라 계산하여 1/16 부분 정확도(fraction accuracy)로 반올림한다.
MCP 후 각 서브 블록의 고정밀 모션 벡터는 반올림되어 일반 모션 벡터와 동일한 정확도로 저장된다.
2.1.1 AF_INTER 모드
JEM에는 AF_INTER 모드와 AF_MERGE 모드의 두 가지 아핀 모션 모드가 있다. 너비와 높이가 모두 8보다 큰 CU의 경우 AF_INTER 모드를 적용할 수 있다. CU 레벨의 아핀 플래그는 AF_INTER 모드가 사용되는지 여부를 나타내기 위해 비트 스트림에서 시그널링 된다. 이 모드에서는 이웃 블록을 사용하여 모션 벡터 쌍 {(v0, v1) | v0 = {vA, vB, vc}, v1 = {vD, vE}}가 있는 후보 목록이 구성된다. 도 4에 도시된 바와 같이, 블록 A, B 또는 C의 모션 벡터에서 v0이 선택된다. 이웃 블록의 모션 벡터는 참조 목록과 이웃 블록에 대한 참조의 POC, 현재 CU에 대한 참조의 POC 및 현재 CU의 POC 사이의 관계에 따라 스케일링 된다. 그리고 이웃 블록 D와 E에서 v1을 선택하는 방법은 비슷하다. 후보 목록의 수가 두 개 미만인 경우 목록은 각 AMVP 후보를 복제하여 구성된 모션 벡터 쌍으로 채워진다. 후보 목록이 두 개 보다 크면 먼저 이웃 모션 벡터의 일관성(쌍 후보에서 두 모션 벡터의 유사성)에 따라 후보가 정렬되고 처음 두 후보 만 유지된다. RD 비용 검사(RD cost check)는 현재 CU의 제어점 모션 벡터 예측(CPMVP)으로 어떤 모션 벡터 쌍 후보가 선택되었는지 결정하는 데 사용된다. 그리고 후보 목록에서 CPMVP의 위치를 나타내는 인덱스는 비트 스트림에서 시그널링 된다. 현재 아핀 CU의 CPMVP가 결정된 후 아핀 모션 추정이 적용되고 제어점 모션 벡터(control point motion vector)(CPMV)가 발견된다. 그런 다음 CPMV와 CPMVP의 차이가 비트 스트림에서 시그널링 된다. 도 3a는 4 파라미터 아핀 모델의 예를 보여준다. 도 3b는 6 파라미터 아핀 모델의 예를 보여준다. AF_INTER 모드에서 4/6 파라미터 아핀 모드를 사용하는 경우 2/3 제어점이 필요하므로 도 3a 및 3b에 나타낸 것처럼 이러한 제어점에 대해 2/3 MVD를 코딩 해야 한다. JVET-K0337에서는 다음과 같이 MV를 유도하는 것이 제안되어 있는데, 즉 mvd0에서 mvd1과 mvd2가 예측된다.
여기서 , mvdi 및 mv1은, 도 3b에 도시된 바와 같이, 각각 왼쪽 상단 픽셀(i = 0), 오른쪽 상단 픽셀(i = 1) 또는 왼쪽 하단 픽셀(i = 2) 이다. 두 모션 벡터(예를 들어, mvA(xA, yA) 및 mvB(xB, yB))를 추가하는 것은 두 구성 요소를 개별적으로 합산하는 것과 같으며, 즉, newMV = mvA + mvB이고 newMV의 두 구성 요소는 각각(xA + xB) 및(yA + yB)로 설정된다.
2.1.2 AF_INTER 모드의 빠른 아핀 ME 알고리즘(Fast affine ME algorithm in AF_INTER mode)
아핀 모드에서는 2 개 또는 3 개의 제어점의 MV를 공동으로 결정해야 한다. 여러 MV를 공동으로 직접 검색하는 것은 계산적으로 복잡하다. 빠른 아핀 ME(fast affine ME) 알고리즘을 제안하고 VTM/BMS에 적용한다. 빠른 아핀 ME 알고리즘은 4 파라미터 아핀 모델에 대해 설명되며 아이디어는 6 파라미터 아핀 모델로 확장될 수 있다.
(3)
(4)
(a - 1)을 a'로 바꾸면, 모션 벡터를 다음과 같이 다시 작성할 수 있다:
(5)
두 제어점(0, 0) 및(0, w)의 모션 벡터가 알려져 있다고 가정하면, 방정식 (5)에서 아핀 파라미터를 유도할 수 있다.
(6)
모션 벡터는 다음과 같이 벡터 형식으로 다시 작성할 수 있다:
(7)
여기서,
(8)
(9)
P =(x, y)는 픽셀 위치이다.
인코더에서, AF_INTER의 MVD는 반복적으로 유도된다. 위치 P에 대한 i 번째 반복에서 유도된 MV로 MVi(P)를 나타내고 i 번째 반복에서 MVC에 대해 업데이트 된 델타로 dMVC i를 나타낸다. 그런 다음(i + 1) 번째 반복에서,
(10)
Picref를 참조 픽처로, Piccur를 현재 픽처로 나타내고, 및 Q = P + MVi(P)를 나타낸다. MSE를 매칭 기준으로 사용한다고 가정하면, 다음을 최소화해야 한다:
(11)
이 충분히 작다고 가정하면, 를 첫번째 오더의 테일러 확장(1th order Taylor expansion)으로 다음과 같이 다시 작성할 수 있다:
(12)
여기서
(13)
에러 함수의 유도를 0으로 설정함으로써 을 유도할 수 있다. 에 따라 제어점(0, 0) 및(0, w)의 델타 MV를 계산할 수 있다,
이러한 MVD 유도 과정이 n 번 반복되었다고 가정하면, 최종 MVD는 다음과 같이 계산된다:
JVET-K0337을 사용하면, 즉 mvd0으로 나타낸 제어점(0, 0)의 델타 MV에서 mvd1로 나타낸 제어점(0, w)의 델타 MV를 예측하고, 이제 실제로 만 mvd1에 대해 인코딩 된다.
2.1.3 AF_MERGE 모드
CU가 AF_MERGE 모드에서 적용되면 유효한 이웃 복원 블록에서 아핀 모드로 코딩 된 제1 블록을 가져온다. 그리고 후보 블록의 선택 순서는 도 5a에 도시된 바와 같이 왼쪽, 위쪽, 오른쪽, 왼쪽 아래쪽에서 왼쪽 위쪽이다. 이웃 왼쪽 하단 블록 A가 도 5b에 도시된 바와 같이 아핀 모드로 코딩 되면, 블록 A를 포함하는 CU의 왼쪽 상단 모서리, 오른쪽 상단 모서리 및 왼쪽 하단 모서리의 모션 벡터 v2, v3 및 v4가 유도된다. 그리고 현재 CU의 왼쪽 상단 모서리의 모션 벡터 v0은 v2, v3 및 v4에 따라 계산된다. 둘째, 현재 CU의 오른쪽 위의 모션 벡터 v1을 계산한다.
현재 CU v0 및 v1의 CPMV를 유도한 후 단순화된 아핀 모션 모델 방정식 (1)에 따라 현재 CU의 MVF가 생성된다. 현재 CU가 AF_MERGE 모드로 코딩 되었는지 확인하기 위해, 적어도 하나의 이웃 블록이 있는 경우 아핀 모드로 코딩 된 경우 비트 스트림에서 아핀 플래그가 시그널링 된다.
VTM 3.0에 채택될 예정이었던 JVET-L0366에서 아핀 병합 후보 목록은 다음 단계로 구성된다:
1) 물려받은 아핀 후보 삽입
물려받은 아핀 후보는 후보가 유효한 이웃 아핀 코딩 된 블록의 아핀 모션 모델에서 유도되었음을 의미한다. 공통 베이스에서, 도 6에 도시된 바와 같이 후보 위치에 대한 스캔 순서는 A1, B1, B0, A0 및 B2이다.
후보가 유도된 후 동일한 후보가 목록에 삽입되었는지 확인하기 위해 전체 정리 프로세스가 수행된다. 동일한 후보가 있는 경우 유도된 후보가 폐기된다.
2) 구성된 아핀 후보 삽입(Insert constructed affine candidate)
아핀 병합 후보 목록의 후보 수가 MaxNumAffineCand(이 기여도에서 5로 설정됨)보다 적으면 구성된 아핀 후보가 후보 목록에 삽입된다. 구성된 아핀 후보는 각 제어점의 주변 모션 정보를 조합하여 후보를 구축하는 것을 의미한다.
제어점에 대한 모션 정보는 먼저 지정된 공간적 이웃으로부터 유도되고, 도 6에 도시된 시간적 이웃 CPk(k = 1, 2, 3, 4)는 k 번째 제어점을 나타낸다. A0, A1, A2, B0, B1, B2 및 B3은 CPk(k = 1, 2, 3)를 예측하기 위한 공간 위치이다: T는 CP4를 예측하기 위한 시간적 위치이다.
CP1, CP2, CP3 및 CP4의 좌표는 각각(0, 0), (W, 0), (H, 0) 및(W, H)이며, 여기서 W와 H는 현재 블록의 폭과 높이이다.
도 6은 아핀 병합 모드에 대한 후보 위치의 예를 도시한다.
각 제어점의 모션 정보는 다음의 우선 순위에 따라 획득된다.
CP1의 경우 검사 우선 순위는 B2 -> B3 -> A2이다. 가능한 경우 B2가 사용된다. 그렇지 않고 B2를 사용할 수 있으면 B3이 사용된다. B2와 B3을 모두 사용할 수 없는 경우 A2가 사용된다. 세 후보를 모두 사용할 수 없는 경우 CP1의 모션 정보를 얻을 수 없다.
CP2의 경우 검사 우선 순위는 B1 -> B0이다.
CP3의 경우, 검사 우선 순위는 A1 -> A0이다.
CP4에는 T가 사용된다.
둘째, 제어점의 조합은 아핀 병합 후보를 구성하는 데 사용된다.
6 파라미터 아핀 후보를 구성하려면 3 개의 제어점의 모션 정보가 필요하다. 3 개의 제어점은 다음 4 가지 조합({CP1, CP2, CP4}, {CP1, CP2, CP3}, {CP2, CP3, CP4}, {CP1, CP3, CP4}) 중 하나에서 선택할 수 있다. 조합 {CP1, CP2, CP3}, {CP2, CP3, CP4}, {CP1, CP3, CP4}는 왼쪽 상단, 오른쪽 상단 및 왼쪽 하단 제어점으로 나타내는 6 파라미터 모션 모델로 변환된다.
4 파라미터 아핀 후보를 구성하려면 두 제어점의 모션 정보가 필요하다. 두 개의 제어점은 다음 6 가지 조합({CP1, CP4}, {CP2, CP3}, {CP1, CP2}, {CP2, CP4}, {CP1, CP3}, {CP3, CP4}) 중 하나에서 선택할 수 있다. 조합 {CP1, CP4}, {CP2, CP3}, {CP2, CP4}, {CP1, CP3}, {CP3, CP4}는 왼쪽 상단 및 오른쪽 상단 제어점으로 나타내는 4 파라미터 모션 모델로 변환된다.
구성된 아핀 후보의 조합은 다음 순서로 후보 목록에 삽입된다. {CP1, CP2, CP3}, {CP1, CP2, CP4}, {CP1, CP3, CP4}, {CP2, CP3, CP4}, {CP1, CP2}, {CP1, CP3}, {CP2, CP3}, {CP1, CP4}, {CP2, CP4}, {CP3, CP4}
조합의 참조 목록 X(X는 0 또는 1)의 경우, 제어점에서 사용률이 가장 높은 참조 인덱스가 목록 X의 참조 인덱스로 선택되고, 모션 벡터 포인트 대 차이 참조 픽처가 스케일링 된다.
후보가 유도된 후 동일한 후보가 목록에 삽입되었는지 확인하기 위해 전체 정리 프로세스가 수행된다. 동일한 후보가 있는 경우 유도된 후보가 삭제된다.
3) 제로 모션 벡터로 패딩
유사 병합 후보 목록의 후보 수가 5 개 미만이면 목록이 가득찰 때까지 참조 인덱스가 0 인 모션 벡터가 후보 목록에 삽입된다.
2.2 예측 오프셋이 있는 아핀 병합 모드
UMVE는 아핀 병합 모드로 확장되며 이후에는 이 UMVE 아핀 모드라고 부를 것이다. 제안된 방법은 사용 가능한 제1 아핀 병합 후보를 기본 예측 변수로 선택한다. 그런 다음 베이스 예측자(base predictor)에서 각 제어점의 모션 벡터 값에 모션 벡터 오프셋을 적용한다. 사용 가능한 아핀 병합 후보가 없는 경우 이 제안된 방법이 사용되지 않는다.
선택된 기본 예측자의 인터 예측 방향과 각 방향의 참조 인덱스는 변경없이 사용된다.
현재 구현에서 현재 블록의 아핀 모델은 4 파라미터 모델로 가정되며 2 개의 제어점 만 유도하면 된다. 따라서 베이스 예측자의 처음 2 개의 제어점 만 제어점 예측자로 사용된다.
각 제어점에 대해 zero_MVD 플래그를 사용하여 현재 블록의 제어점이 대응하는 제어점 예측 자와 동일한 MV 값을 가지고 있는지 여부를 나타낸다. zero_MVD 플래그가 참이면 제어점에 필요한 다른 신호가 없다. 그렇지 않으면 거리 인덱스와 오프셋 방향 인덱스가 제어점에 대해 신호를 받는다.
아래 표와 같이 크기가 5 인 거리 오프셋 테이블이 사용된다. 거리 인덱스는 사용할 거리 오프셋을 나타내기 위해 신호를 보낸다. 거리 인덱스와 거리 오프셋 값의 매핑은 도 7에 나와 있다.
거리 오프셋 테이블
거리 IDX 0 1 2 3 4
거리 오프셋 1/2 픽셀 1 픽셀 2 픽셀 4 픽셀 8 픽셀
방향 인덱스는 아래와 같이 4 개의 방향을 나타낼 수 있으며, 여기서 x 또는 y 방향 만 MV 차이가 있을 수 있지만 양방향이 아닐 수 있다.
방향 인덱스에 의해 나타내는 방향
오프셋 방향 IDX 00 01 10 11
X 방향계수 +1 -1 0 0
Y 방향계수 0 0 +1 -1
인터 예측이 단방향 인 경우 시그널링 된 거리 오프셋은 각 제어점 예측자의 오프셋 방향에 적용된다. 결과는 각 제어점의 MV 값이 된다.
예를 들어, 기본 예측자가 단방향이고 제어점의 모션 벡터 값이 MVP(vpx, vpy) 인 경우이다. 거리 오프셋과 방향 인덱스가 신호를 받으면 현재 블록의 대응 제어점의 모션 벡터는 아래와 같이 계산된다.
MV(vx, vy) = MVP(vpx, vpy) + MV(x-dir-factor * distance-offset, y-dir-factor * distance-offset);
인터 예측이 양방향이면 시그널링 된 거리 오프셋이 제어점 예측자의 L0 모션 벡터에 대해 시그널링 된 오프셋 방향에 적용된다. 제어점 예측자의 L1 모션 벡터에 대해 반대 방향의 동일한 거리 오프셋이 적용된다. 결과는 각 인터 예측 방향에서 각 제어점의 MV 값이 된다.
예를 들어, 기본 예측자가 단방향이고 L0에있는 제어점의 모션 벡터 값이 MVPL0(v0px, v0py)이고 L1에있는 대응 제어점의 모션 벡터가 MVPL1(v1px, v1py) 인 경우이다. 거리 오프셋과 방향 인덱스가 신호를 받으면 현재 블록의 대응 제어점의 모션 벡터는 아래와 같이 계산된다.
MVL0(v0x, v0y) = MVPL0(v0px, v0py) + MV(x-dir-factor * distance-offset, y-dir-factor * distance-offset);
MVL1(v0x, v0y) = MVPL1(v0px, v0py) + MV(-x-dir-factor * distance-offset,-y-dir-factor * distance-offset);
2.3 궁극 모션 벡터 표현(Ultimate motion vector expression)
궁극 모션 벡터 표현(UMVE)이 제시된다. UMVE는 제안된 모션 벡터 표현 방법으로 스킵 또는 병합 모드에 사용된다. UMVE는 모션 벡터 차이를 갖는 병합(Merge with Motion Vector Difference)(MMVD)라고도 한다.
UMVE는 VVC의 정규 병합 후보 목록에 포함된 것과 동일한 병합 후보를 재사용한다. 병합 후보 중 베이스 후보(base candidate)를 선택할 수 있으며 제안된 모션 벡터 표현 방법에 의해 더욱 확장된다.
UMVE는 MVD를 표현하기 위해 시작점, 모션 크기 및 모션 방향을 사용하는 새로운 모션 벡터 차이(MVD) 표현 방법을 제공한다.
도 8은 UMVE 검색 프로세스의 예를 도시한다.
도 9는 UMVE 검색 포인트의 예를 도시한다.
이 제안된 기법은 병합 후보 목록을 그대로 사용한다. 그러나 기본 병합 유형(default merge type)(MRG_TYPE_DEFAULT_N) 인 후보 만 UMVE 확장에 고려된다.
베이스 후보 인덱스(Base candidate index)는 시작점을 정의한다. 베이스 후보 인덱스는 다음과 같이 목록의 후보 중 가장 좋은 후보를 나타낸다.
베이스 후보 IDX
베이스 후보 IDX 0 1 2 3
N 번째 MVP 첫 번째 MVP 두 번째MVP 세 번째 MVP 네 번째 MVP
베이스 후보의 수가 1이면 베이스 후보 IDX는 시그널링 되지 않는다.
거리 인덱스는 모션 크기 정보이다. 거리 인덱스는 시작점 정보에서 미리 정의된 거리를 나타낸다. 미리 정의된 거리는 다음과 같다:
거리 IDX
거리 IDX 0 1 2 3 4 5 6 7
픽셀 거리(Pixel distance) 1/4 픽셀 1/2 픽셀 1 픽셀 2 픽셀 4 픽셀 8 픽셀 16 픽셀 32 픽셀
방향 인덱스는 시작점에 대한 MVD의 방향을 나타낸다. 방향 인덱스는 아래와 같이 네 방향을 나타낼 수 있다.
방향 IDX
방향 IDX 00 01 10 11
X 축 + - N/A N/A
Y 축 N/A N/A + -
UMVE 플래그는 스킵 플래그 또는 병합 플래그를 보낸 직후에 시그널링 된다. 스킵 또는 병합 플래그가 참이면 UMVE 플래그가 구문 분석된다. UMVE 프래그가 1이면 UMVE 신텍스가 구문 분석된다. 그러나, 1이 아니면 아핀 플래그(AFFINE flag)가 구문 분석된다. 아핀 플래그가 1이면 아핀 모드이지만 1이 아니면 VTM의 스킵/병합 모드에 대해 스킵/병합 인덱스가 구문 분석된다.
UMVE 후보로 인한 추가 라인 버퍼는 필요하지 않다. 소프트웨어의 스킵/병합 후보가 기본 후보로 직접 사용되기 때문이다. 입력된 UMVE 인덱스를 사용하여 모션 보상 직전에 MV의 보충을 결정한다. 이를 위해 긴 줄 버퍼(long line buffer)를 보유할 필요가 없다.
현재의 일반적인 테스트 조건에서 병합 후보 목록의 제1 또는 제2 병합 후보를 기본 후보로 선택할 수 있다.
UMVE는 MVD(MVD와 병합)로 알려져 있다.
2.4 일반화 이중 예측(Generalized Bi-prediction)
기존 이중 예측에서, L0 및 L1의 예측 변수를 평균하여 동일한 가중치 0.5를 사용하여 최종 예측 변수를 생성한다. 예측자 생성 공식은 식(3)과 같이 나타낸다
PTraditionalBiPred =(PL0 + PL1 + RoundingOffset) >> shiftNum, (1)
식(3)에서 PTraditionalBiPred는 기존 양방향 예측에 대한 최종 예측 변수이고 PL0과 PL1은 각각 L0과 L1의 예측 변수이며 RoundingOffset과 shiftNum은 최종 예측 변수를 정규화하는 데 사용된다.
일반화된 이중 예측(GBI)은 L0 및 L1의 예측 변수에 다른 가중치를 적용할 수 있도록 제안된다. GBI는 또한 "CU 레벨 가중치를 사용한 이중 예측(Bi-prediction with CU-level weight)(BCW)"이라고도 한다. 예측자 생성은 식(4)에 나와 있다.
PGBi =((1-w1) * PL0 + w1 * PL1 + RoundingOffsetGBi) >> shiftNumGBi, (2)
식(4), PGBi는 GBi의 최종 예측 변수이다. (1-w1) 및 w1은 각각 L0 및 L1의 예측 변수에 적용되는 선택된 GBI 가중치입니다. RoundingOffsetGBi 및 shiftNumGBi는 GBi의 최종 예측 변수를 정규화하는 데 사용된다.
w1의 지원되는 가중치는 {-1/4, 3/8, 1/2, 5/8, 5/4}이다. 1 개의 동일 가중치 세트와 4 개의 동일 가중치 세트가 지원된다. 동일 가중치 사례의 경우 최종 예측 변수를 생성하는 프로세스는 기존의 이중 예측 모드와 정확히 동일하다. 랜덤 액세스(Random Access)(RA) 조건에서 실제 이중 예측 사례의 경우 후보 가중치 세트의 수가 3 개로 줄어든다.
고급 모션 벡터 예측(AMVP) 모드의 경우이 CU가 이중 예측에 의해 코딩 되면 GBI의 가중치 선택이 CU 레벨에서 명시적으로 시그널링 된다. 병합 모드의 경우 가중치 선택은 병합 후보에서 물려받게 된다. 이 제안에서 GBI는 DMVR을 지원하여 템플릿의 가중 평균과 BMS-1.0에 대한 최종 예측 변수를 생성한다.
2.5 로컬 조도 보상(Local illumination compensation)
로컬 조도 보상(Local Illumination Compensation)(LIC)은 스케일링 계수 a와 오프셋 b를 사용하여 조명 변경에 대한 선형 모델에 기초한다. 그리고 각 인터 모드 코딩 된 코딩 유닛(CU)에 대해 적응적으로 활성화 또는 비활성화 된다.
도 10은 IC 파라미터를 유도하기 위해 사용되는 이웃 샘플의 예를 보여준다.
LIC가 CU에 적용되면 현재 CU의 이웃 샘플과 대응 참조 샘플을 사용하여 파라미터 a 및 b를 유도하기 위해 최소 제곱 오차 방법(least square error method)이 사용된다. 보다 구체적으로, 도 10에 도시된 바와 같이, CU의 서브 샘플링 된(2 : 1 서브 샘플링) 주변 샘플 및 참조 픽처 내의 대응 샘플(현재 CU 또는 서브 CU의 모션 정보로 식별됨)이 사용된다. IC 파라미터는 각 예측 방향에 대해 개별적으로 유도되고 적용된다.
CU가 병합 모드로 코딩 되면 LIC 플래그는 병합 모드의 모션 정보 복사와 유사한 방식으로 이웃 블록에서 복사된다. 그렇지 않으면 LIC 플래그가 CU에 대해 신호를 보내 LIC 적용 여부를 나타낸다.
픽처에 대해 LIC가 활성화된 경우 CU에 LIC가 적용되는지 여부를 결정하기 위해 추가 CU 레벨 RD 확인이 필요하다. CU에 대해 LIC가 활성화된 경우, SAD 및 SATD 대신, 정수 픽셀 모션 검색과 부분 픽셀 모션 검색을 위해 각각, SAD 및 SATD 대신 절대 차이의 평균-평균 합계(mean-removed sum of absolute difference)(MR-SAD) 및 평균 제거된 절대 하다마드 변환 차이의 합계(mean-removed sum of absolute Hadamard-transformed difference)(MR-SATD)가 사용된다.
인코딩 복잡성을 줄이기 위해 JEM에는 다음과 같은 인코딩 체계가 적용된다.
Figure 112021065420813-pct00023
LIC는 현재 픽처와 참조 픽처 사이에 분명한 조명 변화가 없는 경우 전체 사진에 대해 비활성화된다. 이러한 상황을 식별하기 위해 현재 픽처의 히스토그램과 현재 영상의 모든 참조 영상이 인코더에서 계산된다. 현재 픽처와 현재 픽처의 모든 참조 픽처 사이의 히스토그램 차이가 주어진 임계 값보다 작은 경우, LIC는 현재 픽처에 대해 비활성화된다; 그렇지 않으면 현재 픽처에 대해 LIC가 활성화된다.
2.6 현재 픽처 참조
디코더 측면(Decoder aspect):
이 접근 방식에서 현재(부분적으로) 디코딩 된 픽처는 참조 픽처로 간주된다. 이 현재 픽처는 참조 픽처 목록 0의 마지막 위치에 놓인다. 따라서, 현재 픽처를 유일한 참조 픽처로 사용하는 슬라이스의 경우 슬라이스 타입은 P 슬라이스로 간주된다. 이 접근법의 비트 스트림 신텍스는 인터 코딩(inter coding)에 대해 동일한 신텍스 구조를 따르는 반면 디코딩 프로세스는 인터 코딩과 통합된다. 유일한 차이점은 블록 벡터(현재 픽처를 가리키는 모션 벡터)가 항상 정수 픽셀 해상도를 사용한다는 것이다.
블록 레벨 CPR_flag 접근 방식에서 변경된 사항은 다음과 같다:
이 모드에 대한 인코더 검색에서 블록 너비와 높이는 모두 16보다 작거나 같다.
루마 블록 벡터가 홀수 인 경우 크로마 보간을 활성화한다.
SPS 플래그가 켜져 있을 때 CPR 모드에 대해 적응형 모션 벡터 해상도(Adaptive Motion Vector Resolution)(AMVR)를 활성화한다. 이 경우 AMVR을 사용하면 블록 벡터가 블록 레벨에서 1 픽셀 정수와 4 픽셀 정수 해상도 사이에 전환할 수 있다.
인코더 측면(Encoder aspect):
인코더는 너비 또는 높이가 16보다 크지 않은 블록에 대해 RD 검사를 수행한다. 비 병합 모드의 경우 먼저 해시 기반 검색을 사용하여 블록 벡터 검색을 수행한다. 해시 검색에서 유효한 후보가 없는 경우 블록 매칭 기반 로컬 검색이 수행된다.
해시 기반 검색에서는 현재 블록과 참조 블록 사이의 해시 키 매칭(hash key matching)(32 비트 CRC)이 허용되는 모든 블록 크기로 확장된다. 현재 픽처의 모든 위치에 대한 해시 키 계산(hash key calculation)은 4x4 블록에 기초한다. 더 큰 크기의 현재 블록의 경우 모든 4x4 블록이 대응 참조 위치의 해시 키(hash key)와 일치할 때 참조 블록과 일치하는 해시 키가 발생한다. 동일한 해시 키를 가진 현재 블록과 일치하는 여러 참조 블록이 발견되면 각 후보의 블록 벡터 비용이 계산되고 최소 비용이있는 블록이 선택된다.
블록 매칭 검색에서 검색 범위는 현재 블록의 왼쪽과 상단에 64 픽셀로 설정되며 검색 범위는 현재 CTU 내로 제한된다.
3. 개시된 실시 예에 의해 해결된 문제의 예
몇 가지 잠재적인 문제가 있다:
UMVE는 슬라이스 레벨, 영상 레벨 등에서 켜고 끌 수 없다. 이것은 유연하지 않다.
UMVE 모드의 경우 기본 후보 목록 크기, 거리 테이블 크기 및 방향 테이블 크기는 고정되며 변경할 수 없다.
UMVE 모드의 경우 양방향 예측의 경우 하나의 MVD 만 시그널링 되고 양쪽 예측 방향에 대해(스케일링 포함 또는 제외) 사용되므로 비효율적 일 수 있다.
모든 경우에 하나의 고정 MVD 세트가 사용되므로 비효율적 일 수 있다.
UMVE와 CPR을 조화시키는 방법이 잘 정의되어 있지 않는다.
GBi는 이중 예측 사례에서만 작동한다.
현재 픽처 만 참조 픽처로 사용할 수 있는 P 픽처의 경우, 아핀, 서브 블록 기반 병합, 다중 가설 인트라/인터 예측, 삼각형 예측 및 MMVD와 같은 코딩 도구가 비활성화된다. 그러나 플래그는 여전히 이러한 코딩 도구에 대해 CU 레벨에서 신호를 보내므로 비합리적이다.
4. 다양한 실시 예에 의해 구현된 기술의 예
이하에서는 현재 영상 만 참조 영상으로 사용할 수 있는 인터 픽처를 CPR 전용 인터 픽처로 부른다. 아래 목록은 일반적인 개념을 설명하기 위한 예로 고려되어야 한다. 예제를 좁은 방식으로 해석해서는 안된다. 또한 이러한 기술은 어떤 방식으로든 결합될 수 있다.
1. 슬라이스 헤더/타일 그룹 헤더/타일 헤더/픽처 헤더/PPS/SPS/VPS 등에서 UMVE 플래그가 시그널링 되어 UMVE가 활성화되었는지 여부를 나타낼 수 있다고 제안된다.
a. 하나의 예에서, 예측 오프셋을 갖는 아핀 병합 모드(즉, 정상 아핀 병합 모드에 적용되는 UMVE)가 활성화되는지 여부를 나타내기 위해 다른 플래그가 시그널링 될 수 있다.
b. 또는 예측 오프셋이 있는 UMVE 및 아핀 병합 모드(즉, 일반 아핀 병합 모드에 적용되는 UMVE)가 활성화되었는지 여부를 나타내는 하나의 플래그 만 시그널링 된다.
2. 기본 후보 목록 크기는 슬라이스 헤더/타일 그룹 헤더/타일 헤더/픽처 헤더/PPS/SPS/VPS 등에서 UMVE에 대해 시그널링 될 수 있음을 제안한다.
a. 하나의 예에서, 기본 후보 목록 크기는 1 또는 2 또는 3과 동일하게 설정된다.
b. 하나의 예에서, 기본 후보 목록 크기는 병합 후보 목록 크기보다 크지 않아야 한다.
c. 하나의 예에서, 기본 후보 목록 크기를 개별적으로 시그널링 할 필요가 없다. 대신 기본 후보 목록 크기가 일반 병합 목록 크기와 동일하도록 연기된다.
3. 슬라이스 헤더/타일 그룹 헤더/타일 헤더/픽처 헤더/PPS/SPS/VPS 등에서 예측 오프셋을 갖는 아핀 병합 모드에 대해 기본 후보 목록 크기가 시그널링 될 수 있음이 제안된다.
a. 하나의 예에서, 기본 후보 목록 크기는 1 또는 2 또는 3과 동일하게 설정된다.
b. 하나의 예에서, 기본 후보 목록 크기는 서브 블록 병합 후보 목록 크기보다 크지 않아야 한다.
c. 하나의 예에서, 기본 후보 목록 크기를 개별적으로 시그널링 할 필요가 없다. 대신, UMVE가 아핀 코딩 블록에 적용될 때 기본 후보 목록 크기는 서브 블록 병합 목록 크기와 동일하도록 연기된다.
4. 슬라이스 헤더/타일 그룹 헤더/타일 헤더/픽처 헤더/PPS/SPS/VPS 등에서 UMVE에 대해 거리 테이블 또는/및 방향 테이블이 시그널링 될 수 있음이 제안된다.
a. 하나의 예에서, 거리 테이블 크기 또는/및 방향 테이블 크기 만 시그널링 되어 K1 및 K2로 나타내고 기본 거리 테이블 크기의 제1 K1 요소 또는/및 방향 테이블의 제1 K2 요소가 유효하다.
b. 하나의 예에서 거리 테이블 크기 또는/및 방향 테이블 크기 만 시그널링 되어 K1 및 K2로 나타내고 기본 거리 테이블 크기의 마지막 K1 요소 또는/및 방향 테이블의 마지막 K2 요소가 유효하다.
5. 부분 거리가 허용되는지 또는 허용되지 않는지를 나타내는 하나의 플래그가 신호를 받을 수 있다.
a. 플래그는 슬라이스 헤더/타일 그룹 헤더/타일 헤더/픽처 헤더/PPS/SPS/VPS 등에서 시그널링 될 수 있다.
b. 플래그는 UMVE의 사용 표시가 UMVE가 허용됨을 나타내는 조건 하에서 시그널링 될 수 있다.
c. 플래그는 MVD 오프셋이 있는 아핀 병합 모드의 사용 표시가 허용된다는 조건에서 시그널링 될 수 있다.
d. 플래그는 두 가지 레벨로 시그널링 될 수 있다. 제2 플래그가 PPS/슬라이스 헤더/타일 그룹 헤더/타일 헤더에서 시그널링 될 것인지 여부를 나타내기 위해 SPS/VPS/PPS에서 제1 플래그가 시그널링 될 수 있다.
i. 하나의 예에서, 제1 플래그가 거짓(또는 참)이면, 부분 거리가 항상 활성화되고 제2 플래그가 시그널링 되지 않을 수 있다.
ii. 하나의 예에서, 제1 플래그가 참(또는 거짓)이면, 소수 거리가 비활성화되고 제2 플래그가 시그널링 된다. 제2 플래그가 참(또는 거짓)이면 픽처/슬라이스/타일 그룹/타일에 대해 부분 거리가 활성화된다. 그렇지 않으면 픽처/슬라이스/타일 그룹/타일에 대해 부분 거리가 비활성화된다.
e. 하나의 예에서, 제1 플래그 sps_fracmmvd_disabled_flag는 SPS에서 시그널링 되고 제2 플래그 tile_group_fracmmvd_disabled_flag는 타일 그룹 헤더에서 시그널링 된다.
i. sps_fracmmvd_disabled_flag가 거짓이면, 부분 거리 비활성화가 적용되지 않고 tile_group_fracmmvd_disabled_flag가 시그널링 되지 않고 거짓으로 추론된다.
ii. sps_fracmmvd_disabled_flag가 참이면, 부분 거리 비활성화가 적용되고 tile_group_fracmmvd_disabled_flag가 시그널링 된다.
iii. tile_group_fracmmvd_disabled_flag가 참이면, 타일 그룹에 대해 부분 거리가 비활성화된다. 그렇지 않으면 타일 그룹에 대해 부분 거리가 활성화된다.
f. 하나의 예에서, 제1 플래그 sps_fracmmvd_disabled_flag는 SPS에서 시그널링 되고 제2 플래그 tile_group_fracmmvd_flag는 타일 그룹 헤더에서 시그널링 된다.
i. sps_fracmmvd_disabled_flag가 거짓이면, 부분 거리 비활성화가 적용되지 않고, tile_group_fracmmvd_flag가 시그널링 되지 않고 참으로 유도된다.
ii. sps_fracmmvd_disabled_flag가 참이면, 부분 거리 비활성화가 적용되고, tile_group_fracmmvd_flag가 시그널링 된다.
iii. tile_group_fracmmvd_flag가 참이면, 타일 그룹에 대해 부분 거리가 활성화된다. 그렇지 않으면 타일 그룹에 대해 부분 거리가 비활성화된다.
g. 또한 부분 거리가 허용되지 않는 경우, 정수 거리 만 허용된다.
h. 또한 부분 거리가 허용되지 않는 경우, 정수 거리 또는/및 정수 정밀도보다 정밀도가 낮은 거리 만 허용된다.
i. 대안적으로, 또한, 거리 인덱스의 잘린 단항을 사용하여 거리 인덱스를 코딩 할 수 있으며, 플래그가 부분 거리가 허용되지 않음을 나타내는 경우 최대 허용 거리 인덱스는 허용된 정수 거리의 수에 따라 달라진다.
j. 또는 부분 거리가 허용되지 않는 경우, 기본 거리 테이블의 모든 요소에 계수를 곱하여 정수 거리를 생성한다.
i. 예를 들어, 모든 요소에 4를 곱한다.
k. 플래그는 UMVE(즉, MVD 오프셋이 있는 일반 병합 모드) 및 MVD 오프셋이 있는 아핀 병합 모드에 의해 공유될 수 있다.
l. 대안적으로, 플래그는 MVD 오프셋을 갖는 UMVE 및 아핀 병합 모드에 대해 개별적으로 시그널링 될 수 있다.
6. AMVP 모드 또는/및 아핀 인터 모드에 대해 부분 MV/MVD 정밀도가 허용 또는 허용되지 않는지 여부를 나타내기 위해 하나의 플래그가 시그널링 될 수 있다.
a. 플래그는 슬라이스 헤더/타일 그룹 헤더/타일 헤더/픽처 헤더/PPS/SPS/VPS 등에서 시그널링 될 수 있다.
b. 적응형 모션 벡터 해상도(Adaptive Motion Vector Resolution)(AMVR)의 사용 표시가 허용된 상태에서 플래그가 시그널링 될 수 있다.
c. 플래그는 아핀 인터 모드를 위한 AMVR의 사용 지시가 허용되는 조건에서 시그널링 될 수 있다.
d. 플래그는 두 가지 레벨로 시그널링 될 수 있다. 제2 플래그가 PPS/슬라이스 헤더/타일 그룹 헤더/타일 헤더에서 시그널링 될 것인지 여부를 나타내기 위해 SPS/VPS/PPS에서 제1 플래그가 시그널링 될 수 있다.
i. 하나의 예에서, 제1 플래그가 거짓(또는 참)이면, 부분 MV/MVD가 항상 활성화되고 제2 플래그는 시그널링 되지 않을 수 있다.
ii. 하나의 예에서, 제1 플래그가 참(또는 거짓)이면, 부분 MV/MVD가 비활성화 될 수 있고 제2 플래그가 시그널링 된다. 제2 플래그가 참(또는 거짓)이면, 픽처/슬라이스/타일 그룹/타일에 대해 부분 MV/MVD가 활성화된다. 그렇지 않으면 픽처/슬라이스/타일 그룹/타일에 대해 부분 MV/MVD가 비활성화된다.
e. 대안적으로, 부분 MV/MVD가 허용되지 않는 경우, 정수 정밀도 MV/MVD 만 허용된다.
f. 대안적으로, 부분 MV/MVD가 허용되지 않는 경우, 정수 정밀도 또는/및 정수 정밀도 MV/MVD보다 낮은 정밀도 만 허용된다.
g. 대안적으로, 플래그가 부분 MV/MVD가 허용되지 않음을 나타내는 경우 허용된 MV/MVD 정밀도의 수에 따라 AMVR 인덱스를 인코딩 하기 위해 잘린 단항 코드가 사용될 수 있다.
h. 플래그는 AMVR 모드와 아핀 인터 모드를 위한 AMVR에 의해 공유될 수 있다.
i. 대안적으로, 플래그는 AMVR 모드에 대해 및 아핀 인터 모드에 대해 AMVR을 별도로 시그널링 될 수 있다.
j. 대안적으로, 플래그는 AMVR 모드, 아핀 인터 모드를 위한 AMVR, UMVE 모드 및 MVD 오프셋을 갖는 아핀 병합 모드에 의해 공유될 수 있다.
7. 슬라이스 헤더/타일 그룹 헤더/타일 헤더/픽처 헤더/PPS/SPS/VPS 등에서 예측 오프셋을 갖는 아핀 병합 모드에 대해 거리 테이블 또는/및 방향 테이블이 시그널링 될 수 있다는 것이 제안된다.
a. 하나의 예에서, 거리 테이블 크기 또는/및 방향 테이블 크기 만 신호를 받고 K1 및 K2로 나타내고 기본 거리 테이블 크기의 제1 K1 요소 또는/및 방향 테이블의 제1 K2 요소가 유효하다.
b. 하나의 예에서 거리 테이블 크기 또는/및 방향 테이블 크기 만 시그널링 되어 K1 및 K2로 나타내고, 기본 거리 테이블 크기(default distance table size)의 마지막 K1 요소 또는/및 방향 테이블의 마지막 K2 요소가 유효하다.
c. 하나의 예에서, 부분 거리가 사용되는지 여부를 나타내기 위해 플래그가 시그널링 될 수 있다.
8. 이중 예측 및 UMVE 모드로 코딩 된 블록에 대해 두 개의 MVD가 코딩 될 수 있음이 제안된다.
a. 하나의 예에서, 하나의 MVD가 각 예측 방향에 대해 인코딩 된다.
i. UMVE에서 사용되는 MVD의 수는 인코더에서 디코더로 시그널링 될 수 있다.
ii. 대안적으로, UMVE에서 사용되는 MVD의 수는 디코더에서 유도될 수 있다.
b. 하나의 예에서, 예측 방향마다 하나의 MVD가 인코딩 되고, 예측 방향 LX의 MVD는 L(1-X)를 예측하는 데 사용될 수 있다.
i. list0에 대한 MVD가 먼저 시그널링 되거나 list1에 대한 MVD가 먼저 시그널링 될 수 있다.
(i)이 명령은 신호를 받을 수 있다.
c. 또한, 두 예측 방향에 대한 베이스 후보 인덱스 및/또는 거리 인덱스 및/또는 방향 인덱스가 시그널링 될 수 있다.
d. 하나의 예에서, 3 개 또는 4 개와 같은 2 개 이상의 MVD가 UMVE 모드에 대해 시그널링 될 수 있다.
9. 거리 테이블 또는/및 방향 테이블은 현재 픽처의 POC 또는 현재 블록/슬라이스/픽처의 QP뿐만 아니라 두 참조 픽처의 POC에 의존할 수 있음을 제안한다.
a. 하나의 예에서, 테이블은 2 개의 참조 픽처와 현재 픽처의 POC 차이에 의존할 수 있다.
10. UMVE 파라미터(예를 들어, 다중 세트의 거리 테이블 또는/및 방향 테이블)의 다중 세트의 표시는 슬라이스 헤더/타일 그룹 헤더/타일 헤더/픽처 헤더/PPS/SPS/VPS 등 에서 UMVE에 대해 시그널링 되거나 미리 정의될 수 있다..
a. 대안적으로, 한 세트의 거리 테이블 또는/및 방향 테이블이 시그널링 되거나 미리 정의 될 수 있다. 그리고, 다중 세트는 사용 가능한 거리 값을 시프트 하는 것과 같이 시그널링 된/미리 정의된 세트로부터 유도될 수 있다.
i. 하나의 예에서, 이용 가능한 거리 값을 어떻게 시프트 하는 지의 표시는 슬라이스 헤더/타일 그룹 헤더/타일 헤더/픽처 헤더/PPS/SPS/VPS 등에서 시그널링 될 수 있다.
(i) 하나의 예에서, 왼쪽 시프트 또는 오른쪽 시프트를 사용할 지의 표시가 시그널링 될 수 있다.
(ii) 하나의 예에서, 왼쪽 시프트에 대한 비트 수의 표시가 시그널링 될 수 있다.
ii. 하나의 예에서, 1 비트 플래그는 기존 거리 테이블이 사용되는지 또는 각 거리 값이 M 만큼(예를 들어, M = 2) 왼쪽으로 시프트 되는지 여부를 나타내기 위해 슬라이스 헤더/타일 그룹 헤더/타일 헤더/픽처 헤더/PPS/SPS/VPS 등에서 시그널링 된다.
iii. 하나의 예에서, 왼쪽(및/또는 오른쪽) 시프트 될 비트의 표시는 슬라이스 헤더/타일 그룹 헤더/타일 헤더/픽처 헤더/PPS/SPS/VPS 등에서 시그널링 될 수 있다.
b. 대안적으로, UMVE 파라미터의 다중 세트(예를 들어, 거리 테이블 또는/및 방향 테이블(예를 들어, 시그널링 된/미리 정의된 다중 세트의 서브 세트))의 허용된 인덱스는 슬라이스 헤더/타일 그룹 헤더/타일 헤더/사진 헤더/PPS/VPS/CTU 행/CTU 그룹 등에서 추가로 시그널링 될 수 있다.
c. 대안적으로, UMVE 파라미터의 다중 세트(예를 들어, 거리 테이블 또는/및 방향 테이블) 중 하나의 선택은 예를 들어 CPR 여부와 같이 코딩 된 모드에 따라 달라질 수 있다.
d. 대안적으로, UMVE 파라미터의 다수 세트(예를 들어, 거리 테이블 또는/및 방향 테이블) 중 하나의 선택은 픽처/시퀀스 해상도에 의존할 수 있다.
e. 대안적으로, 하나의 블록의 다중 UMVE 파라미터 세트(예를 들어, 거리 테이블 또는/및 방향 테이블) 중 하나의 선택은 선택된 베이스 병합 후보에 의존할 수 있다.
i. 하나의 예에서, 그것은 모션 벡터 크기/부호 값에 의존할 수 있다.
(i) 하나의 예에서, 모션 벡터의 크기가 더 큰 경우, 더 큰 단계 크기를 가진 거리 테이블이 활용될 수 있다.
ii. 하나의 예에서, 이는 예를 들어, 참조 픽처의 전부 또는 적어도 하나가 현재 픽처(즉, CPR) 인지 여부와 같이, 선택된 베이스 병합 후보의 참조 픽처/POC 값에 의존할 수 있다.
iii. 하나의 예에서, 선택된 베이스 병합 후보의 모션 벡터가 정수 위치 또는 서브 위치(예를 들어, 1/4, 1/16, 1/8, 1/2 픽셀)를 가리키는지 여부에 의존될 수 있다.
iv. 선택은 베이스 병합 후보가 나타내는 병합 후보의 카테고리(예를 들어, 공간 또는 시간 또는 HMVP 또는 기타)에 의존될 수 있다.
v. 선택은 베이스 병합 후보가 나타내는 병합 후보가 유도된 위치(예를 들어, 왼쪽/위 /)에 의존될 수 있다.
vi. 선택은 베이스 병합 후보가 나타내는 병합 목록의 병합 후보 인덱스에 의존될 수 있다.
f. 대안적으로, 한 블록 치수의 여러 UMVE 파라미터 세트(예를 들어, 거리 테이블 또는/및 방향 테이블) 중 하나를 선택한다.
i. 하나의 예에서, 하나의 블록이 MxN(예를 들어, 16x16) 샘플보다 많은 경우, 한 세트의 UMVE 파라미터가 이용될 수 있고 다른 블록에 대해 다른 세트가 이용될 수 있다.
ii. 하나의 예에서, 한 블록의 폭이 M(예를 들어, 16) 샘플보다 많은 경우, UMVE 파라미터의 한 세트가 이용될 수 있고 다른 블록에 대해 다른 세트가 이용될 수 있다.
iii. 하나의 예에서, 한 블록의 높이가 M(예를 들어, 16) 샘플보다 많은 경우, UMVE 파라미터의 한 세트가 이용될 수 있고 다른 블록에 대해 다른 세트가 이용될 수 있다.
g. 대안적으로, 또한, 선택된 거리 테이블 또는/및 방향 테이블에 추가로 시그널링 할 필요가 없다. 거리 테이블 또는/및 방향 테이블의 선택은 블록 레벨/슬라이스/타일/픽처 레벨에서 유도될 수 있다.
h. 대안적으로, 선택된 거리 테이블 또는/및 방향 테이블의 인덱스는 블록 레벨/CTU 레벨/지역 레벨/CTU 행 레벨/슬라이스/타일/픽처 레벨에서 추가로 시그널링 될 수 있다.
i. 하나의 예에서, 거리 테이블 또는/및 방향 테이블의 다중 세트는 정의될 수 있고 각각은 주어진 모션 벡터 정밀도와 연관될 수 있다(예를 들어, 정수 픽셀, 서브 픽셀, 1 픽셀, 4 픽셀, 1/4 픽셀, 1/16 픽셀).
i. 하나의 예에서, 다중 세트의 수는 하나의 시퀀스/뷰/픽처/슬라이스/타일/다른 종류의 비디오 데이터 처리 유닛에 대해 허용되는 모션 벡터 정밀도에 따라 달라질 수 있다.
ii. 대안적으로, 또한, 하나의 블록으로부터 유도된 베이스 병합 후보에 대해, 연관된 AMVR 인덱스는 또한 거리 테이블 또는/및 방향 테이블을 결정하기 위해 물려받게 될 수 있다.
(i) 하나의 예에서, 그러한 블록은 공간적으로 이웃하거나 이웃하지 않은 블록이다. 대안적으로, 또한, 그러한 블록은 동일한 CTU/CTU 행/영역/타일/슬라이스에 위치한 공간적 이웃 또는 이웃하지 않은 블록이다.
(ii) 하나의 예에서, 한 블록이 시간 블록이면 AMVR 인덱스는 물려받지 않는다.
(iii) 하나의 예에서, 베이스 병합 후보가 가상 병합 후보(예를 들어, 쌍별 이중 예측 병합 후보, 제로 모션 벡터 병합 후보)에서 유도된 경우 AMVR 인덱스는 물려받지 않게 된다.
(iv) 대안적으로, AMVR 인덱스가 물려받게 되지 않는 경우, 기본 거리 테이블 또는/및 방향 테이블이 대신 사용될 수 있다.
iii. 대안적으로, 각 HMVP 후보에 대해 AMVR 인덱스가 더 저장될 수 있다.
11. 선택된 UMVE 파라미터(예를 들어, 거리 테이블 또는/및 방향 테이블)는 한 블록에서 다른 블록으로, 한 참조 픽처 목록에서 다른 참조 픽처 목록으로, 한 참조 픽처에서 다른 참조 픽처로, 타일에서 타일로, 슬라이스에서 슬라이스로, 픽처에서 픽처로, 시퀀스에서 시퀀스로, 시간 레이어에서 시간 레이어로 적응적으로 변경될 수 있다.
a. 하나의 예에서, UMVE 파라미터의 선택은 모션 벡터의 구성 요소, 즉 수평 구성 요소 및 수직 구성 요소에 의존할 수 있으며, 대부분의 카메라 캡처 된 시퀀스가 수직 방향에 비해 수평 방향으로 큰 모션을 갖는다는 것을 고려할 수 있다.
12. UMVE가 CPR 모드와 조화를 이루는 경우 일부 거리는 허용되지 않는다.
a. 하나의 예에서, 1/4 또는 1/2과 같은 부분 정밀도를 가진 거리는 허용되지 않는다.
b. 하나의 예에서, CPR에서 유효한 검색 범위를 벗어난 거리는 허용되지 않는다.
c. 하나의 예에서, 거리 테이블에 따라 선택된 거리가 허용되지 않는 경우 다른 유효한 거리로 대체될 수 있다.
d. 대안적으로, 거리 인덱스와 픽셀 거리 사이의 다른 매핑 세트가 정의될 수 있다. 하나는 CPR 모드 용이고 다른 하나는 비 CPR 모드 용이다.
e. 하나의 예에서, 미리 정의된 델타 MV, 즉(MVx, MVy)는 UMVE가 블록에 적용될 때 UMVE의 시작점에 추가된다.
f. 하나의 예에서, 미리 정의된 델타 MV는 블록 크기에 의존할 수 있다.
g. 대안적으로, 미리 정의된 델타 MV는 참조 인덱스에 따라 달라질 수 있다.
h. 대안적으로, 미리 정의된 델타 MV는 컬러 컴포넌트에 따라 달라질 수 있다.
i. 대안적으로, 시작점에 추가된 델타 MV는 슬라이스 헤더/타일 그룹 헤더/타일 헤더/픽처 헤더/PPS/SPS/VPS 등에서 시그널링 될 수 있다.
j. 대안적으로, 시작점에 추가된 델타 MV 세트는 슬라이스 헤더/타일 그룹 헤더/타일 헤더/픽처 헤더/PPS/SPS/VPS 등에서 시그널링 될 수 있다. 대안적으로, 다른 블록 크기, 참조 인덱스에 대해, 델타 MV는 슬라이스 헤더/타일 그룹 헤더/타일 헤더/픽처 헤더/PPS/SPS/VPS 등에서 시그널링 될 수 있다.
k. 하나의 예에서, UMVE가 CPR 모드와 조화를 이루는 경우 단일 예측이 항상 적용된다.
i. 하나의 MVD 만 사용되거나 시그널링 된다.
l. 유사하게, 하나의 베이스 병합 후보가 적어도 하나 또는 모든 참조 픽처가 현재 픽처(예를 들어, CPR) 인 경우, 일부 방향 인덱스는 허용되지 않을 수 있다.
i. 대안적으로, 허용되지 않는 방향 인덱스는 다른 유효한 방향 인덱스로 대체될 수 있다.
m. 이 경우, 병합 후보/AMVP 후보에 대해, 참조 픽처 중 전부 또는 적어도 하나가 현재 픽처라면 UMVE가 여전히 적용될 수 있다.
13. UMVE 코딩 된 블록의 경우, 디코딩 된 거리 인덱스 및 방향 인덱스에 기초하여 디코딩 된 MVD가 더 정제될 수 있다.
a. 디코딩 된 MVD를 세분화할지 여부는 병합 후보 목록의 병합 후보와 연관된 모션 정보에 따라 달라질 수 있다.
i. 하나의 예에서, 선택된 베이스 후보와 디코딩 된 MVD가 다른 병합 후보와 동일할 경우, 디코딩 된 MVD는 예를 들어, 다른 거리 인덱스 또는 방향 인덱스를 사용하여 더 세분화 될 수 있다.
ii. 하나의 예에서, 선택된 베이스 후보와 디코딩 된 MVD가 다른 병합 후보와 유사할 경우, 디코딩 된 MVD는 예를 들어, 다른 거리 인덱스 또는 방향 인덱스를 사용함으로써 더 세분화 될 수 있다.
(i) 예를 들어 | MV1x-MV2x | + | MV1y-MV2y | <T이면 MV1과 MV2는 유사한 것으로 간주된다.
(ii) 두 후보가 동일한 참조 인덱스를 공유하고 동일한 참조 픽처를 참조하는 MV가 유사한 경우 유사한 것으로 간주된다.
b. BIO는 UMVE 코드 블록에 허용되지 않을 수 있다.
c. DMVR은 UMVE 코딩 블록에 허용되지 않을 수 있다.
14. UMVE 코딩 된 블록의 경우, 병합 후보 목록에서 코딩 된 베이스 후보 인덱스와 후보 인덱스 사이의 매핑은 블록에서 블록으로, 타일에서 타일로, 픽처에서 픽처로, 시퀀스에서 시퀀스로 변경될 수 있다.
a. 0과 같은 코딩 된 기본 후보 인덱스는 항상 후보 목록의 제1 병합 후보에 대응된다. 그러나, K(K > 0)와 동일한 코딩 된 베이스 후보 인덱스는 후보 목록에서(K + 1) 번째 후보에 대응하지 않을 수 있다.
b. 하나의 예에서, 1과 동일한 코딩 된 베이스 후보 인덱스(CBCI)는 0과 동일한 CBCI가 가리키는 제1 후보와 유사하지 않은 병합 후보 목록에서 병합 후보를 나타낼 수 있다.
i. 예를 들어, 처음 두 개의 병합 후보가 비슷한 경우(예를 들어, MV 만 다르지만 MV의 차이가 임계 값보다 작거나 같음), 1과 동일한 코딩 된 베이스 후보 인덱스는 제3 병합 후보가 제1 병합 후보와 유사하지 않으면 제3 병합 후보에 대응할 수 있다.
c. 하나의 예에서, 병합 후보 목록으로부터의 베이스 병합 후보의 매핑 또는 선택은 후보 목록의 제1 병합 후보에 의존할 수 있다.
i. 예를 들어, 제1 병합 후보와 동일한 참조 픽처를 가진 병합 후보 만이 베이스 병합 후보로 취급될 수 있다.
ii. 예를 들어, 참조 픽처 중 적어도 하나 또는 제1 병합 후보와 동일한 참조 인덱스 중 적어도 하나를 갖는 병합 후보 만이 베이스 병합 후보로 취급될 수 있다.
iii. 예를 들어, 제1 병합 후보와 동일한 모션 벡터 정밀도 중 적어도 하나를 갖는 병합 후보 만이 베이스 병합 후보로 취급될 수 있다.
iv. 위의 예에서, '동일한(same)'은 '상이한(different)'으로 대체될 수 있다.
d. 일부 병합 후보는 UMVE 모드에서 베이스 병합 후보로 사용되지 않을 수 있다.
i. 하나의 예에서, 가상 병합 후보(virtual merge candidate)(예를 들어, 결합된 이중 예측 병합 후보, 쌍별 병합 후보, 제로 모션 벡터 병합 후보)는 허용되지 않는다.
ii. 하나의 예에서, 시간적 병합 후보 및/또는 HMVP 후보는 허용되지 않는다.
iii. 하나의 예에서, 하나의 병합 후보가 특정 모드(예를 들어, 삼각 예측 모드, 서브 블록 모드, 아핀 또는 ATMVP 또는 STMVP)로부터 유도되는 경우, 그러한 후보는 허용되지 않는다.
iv. 하나의 후보가 베이스 병합 후보로 활용되는 것이 허용되지 않는 경우, 다음 또는 다른 나머지 후보가 대신 사용될 수 있다.
v. 하나 이상의 베이스 병합 후보가 병합 후보 목록에 없을 수 있다.
(i) 하나 이상의 베이스 병합 후보가 이용 가능한 병합 후보로부터 유도될 수 있다(예를 들어, 다른 참조 픽처로의 스케일링; LX 모션 정보 만 유지(예를 들어, X = 0 또는 1)).
(ii) 하나 이상의 베이스 병합 후보는 기본 모션 벡터 후보로부터 유도될 수 있다(예를 들어, (-W, -H) 여기서 W 및 H는 현재 블록의 폭 및 높이 임).
e. 대안적으로, 상기 방법의 경우, 제1 후보가 제1 비 CPR 후보로 제한될 수 있다.
f. 베이스 병합 후보는 병합 목록에서 충분히 큰 차이가 있는 병합 후보에 대해 정의될 수 있다.
i. 하나의 예에서, 두 병합 후보가 유사한 경우(예를 들어, 동일한 참조 픽처 및 임계 값보다 작은 MV 차이) 두 후보 중 제2 후보가 유효한 베이스 병합 후보가 될 수 없다.
15. 위의 모든 예에서, 거리 테이블 또는/및 방향 테이블은 UMVE의 표현을 위한 다른 방법으로 대체될 수 있다.
16. 위의 모든 예에서, 거리 테이블의 시그널링/유도는 AMVR 정밀도로 대체될 수 있다. 한 세트의 AMVR 정밀도가 {1/4 픽셀, 1 픽셀, 4 픽셀}로 나타낸다고 가정한다.
a. 하나의 예에서, AMVR 정밀도 세트에 정의된 MV 정밀도를 스케일링 할지 여부의 표시는 시그널링 된 슬라이스 헤더/타일 그룹 헤더/타일 헤더/픽처 헤더/PPS/SPS/VPS 등일 수 있다. 예를 들어, 스케일링이 사용되는 경우 수정된 AMVR 정밀도 세트는 {1 픽셀, 4 픽셀, 16 픽셀}로 정의될 수 있다.
b. 대안적으로, AMVR 정밀도의 다중 세트가 정의되거나 시그널링 될 수 있다.
c. 대안적으로, 세트 인덱스의 표시는 블록의 코딩 된 정보 또는 이전에 코딩 된 정보에 기초하는 것과 같이 즉석에서 시그널링 되거나 유도될 수 있다.
d. 허용된 AMVR 정밀도 세트는 한 비디오 장치에서 다른 비디오 장치로 변경될 수 있다(예를 들어, 블록/PU/CU/CTU/CTU 행/타일/슬라이스/픽처/지역 등).
e. 시그널링 된 MV 정밀도 인덱스와 실제 MV 정밀도 사이의 매핑은 하나의 비디오 유닛에서 다른 비디오 유닛로 변경될 수 있다(예를 들어, 블록/PU/CU/CTU/CTU 행/타일/슬라이스/픽처/지역 등).
17. 모든 참조 픽처가 현재 픽처 인 경우(또는 모든 참조 블록이 현재 픽처의 샘플에서 획득된 경우), 아핀 관련 플래그, 서브 블록 기반 병합, 다중 가설 인트라/인터 예측, 삼각형 예측 및 MMVD는 시그널링 되지 않을 수 있다.
18. GBi가 슬라이스 레벨/타일 레벨/픽처 레벨에서 비활성화/활성화될 수 있고, 하나의 GBi 온/오프 플래그가 슬라이스 헤더/타일 헤더/PPS에서 시그널링 될 수 있다는 것이 제안된다.
a. 하나의 예에서, 픽처의 시간적 레이어가 임계 값 T보다 높으면, 예를 들어 T = 3이면 픽처에 대해 GBi가 비활성화 될 수 있다.
b. 하나의 예에서, GBi는 다른 사진에 의해 참조되지 않는 사진에 대해 비활성화 될 수 있다.
c. 하나의 예에서, GBi는 QP가 임계 값 QPT보다 큰 픽처에 대해 비활성화 될 수 있다(예를 들어, QPT = 40).
d. 하나의 예에서, GBi는 QP가 임계 값 QPT보다 큰 블록, 예를 들어 QPT = 40에 대해 암시적으로(즉, GBi 인덱스를 시그널링 하지 않고) 비활성화 될 수 있다.
19. GBi에서 사용되는 가중치 세트는 픽처의 시간적 계층, 픽처의 QP, 또는 블록의 QP에 의존할 수 있다고 제안된다.
a. 하나의 예에서, 더 높은 시간적 계층을 가진 픽처에 더 적은 가중치 계수가 사용된다.
b. 하나의 예에서, 더 높은 QP로 코딩 된 픽처/블록에 더 적은 가중치가 사용된다.
20. 기본 가중치 계수 세트 외에 다른 가중치 계수 세트가 GBi에서 사용될 수 있으며 이러한 가중치 계수 세트는 슬라이스 헤더/타일 헤더/PPS에서 시그널링 될 수 있음이 제안된다.
a. 하나의 예에서, 하나의 플래그가 슬라이스 헤더/타일 헤더/PPS에서 시그널링 되어 기본 가중치 팩터 세트가 사용되는지 여부를 나타내며, 그렇지 않은 경우 사용된 가중치 팩터 세트가 추가 시그널링 된다.
21. GBi는 가중치 계수 세트를 설계하고 블록/CU 레벨에서 가중치 계수를 선택하는 단일 예측 사례로 확장될 수 있음을 제안한다.
a. 하나의 예에서, GBi 인덱스는 단일 예측 사례에서 AMVP 모드 또는/및 아핀 인터 모드에 대해 시그널링 되고 병합 모드 또는 UMVE 모드 또는 아핀 병합 모드 또는 오프셋이있는 아핀 병합 모드에서 물려받게 된다.
b. 예를 들어 가중치 계수 세트는 {10/8, 9/8, 1, 7/8, 6/8}이다.
22. 하나 이상의 오프셋 세트가 GBi 또는/및 확장된 GBi(글 머리 기호 21에서)로 설계될 수 있으며, 여기서 모션 보상 블록은 선택된 오프셋으로 개선될 수 있다. 이 경우 모션 보상 후 각 예측 샘플에 오프셋을 더 추가하여 최종 예측 샘플을 얻을 수 있다.
a. 오프셋 인덱스는 각 CU/블록에 대해 시그널링 될 수 있다.
b. 하나의 예에서, 기본 가중치 계수(예를 들어, 이중 예측의 경우 1/2, 단일 예측의 경우 1)가 선택되지 않은 경우 오프셋 인덱스는 AMVP 모드 또는 아핀 인터 모드에서 추가로 시그널링 된다.
c. 하나의 예에서, 오프셋 인덱스는 선택한 가중치 요소가 기본 가중치 요소인지 여부에 관계없이 항상 시그널링 된다.
d. 하나의 예에서, 오프셋 인덱스는 병합 모드 또는 UMVE 모드 또는 아핀 병합 모드 또는 오프셋이 있는 아핀 병합 모드에서 물려받게 된다.
23. 현재 블록/CU의 주변 픽셀과 현재 블록의 MV(또는 MV의 정수 부분)에 의해 식별되는 대응 참조 주변 픽셀을 사용하여 묵시적으로 GBi 인덱스를 선택할 수 있다. 이 경우, GBi 인덱스가 시그널링 되지 않고 현재 블록이 기본 가중치 요소를 사용하는지 아니면 선택한 가중치 요소를 사용하는지를 나타내는 하나의 GBi 플래그 만 시그널링 한다.
a. 하나의 예에서, 각각의 가중치 계수에 대해, 양방향의 참조 이웃 픽셀이 가중 평균되고 그것과 이웃 픽셀 사이의 차이가 계산된다. 가장 작은 차이를 얻은 가중치를 현재 블록의 가중치로 선택한다.
b. 하나의 예에서, 차이는 예를 들어 SAD, MRSAD, SSE 또는 MRSSE, SATD에 의해 측정될 수 있다.
c. 하나의 예에서, 차이는 일부 대표적인 이웃 위치에서 계산될 수 있다.
d. 하나의 예에서, 그러한 GBi 플래그는 병합 모드 또는 UMVE 모드 또는 아핀 병합 모드 또는 오프셋이 있는 아핀 병합 모드에서 물려받게 된다.
e. 하나의 예에서, 현재 블록의 이웃 샘플의 합(또는 평균)이 S0이고, 참조 블록의 이웃 샘플의 합(또는 평균)이 S1이라고 가정하면, GBi 가중치 값은 S0과 S1에 의해 유도될 수 있다.
i. 하나의 예에서 S0/S1은 가중치 값을 유도하는 데 사용된다. 나누기는 곱셈, 시프트 및 조회 테이블로 대체할 수 있다.
ii. 참조 블록의 이웃 샘플은 정수 샘플이어야 한다.
24. 현재 블록/CU의 주변 픽셀과 현재 블록의 MV(또는 MV의 정수 부분)에 의해 식별되는 대응 참조 주변 픽셀을 사용하여 GBi 인덱스를 재정렬할 수 있다.
a. 하나의 예에서, 각 가중치 요인에 대해, 양방향의 참조 이웃 픽셀이 가중 평균되고 그와 이웃 픽셀 사이의 차이가 계산된다. 그런 다음 가중치 요소가 차이의 오름차순으로 다시 정렬된다.
25. 유도된 LIC 파라미터는 GBi의 가중치 요소 중 하나로 사용될 수 있음을 제안한다.
a. 하나의 예에서, LIC 파라미터를 유도할 때 오프셋은 0으로 가정되고 가중치 요소만 유도된다. 즉, LIC 모델이 y = ax로 변경된다.
b. 하나의 예에서, LIC에서 유도된 가중치 요소와 오프셋은 모두 GBi에서 사용된다.
c. 하나의 예에서, 병합 모드 또는 UMVE 모드 또는 아핀 병합 모드 또는 오프셋이 있는 아핀 병합 모드에서 GBi에서 사용되는 가중치 계수는 이웃 블록에서 직접 물려받게 된다.
i. 대안적으로, 물려받은 이웃 가중치 요소가 실제로 유도된 LIC 파라미터 인 경우 새 LIC 파라미터가 유도되어 현재 블록/CU에 사용된다.
ii. 대안적으로, 병합 모드 또는/및 UMVE 모드에서 물려받은 이웃 가중치 요소가 실제로 유도된 LIC 파라미터 인 경우 새 LIC 파라미터가 유도되어 현재 블록/CU에 사용된다.
5. 예시적인 실시 예
이 섹션은 개선된 UMVE 설계에 대한 일부 실시 예를 보여준다.
5.1 실시 예 # 1
이 실시 예에서, 부분 거리가 허용되는지의 플래그가 시그널링 된다. 최신 VVC 지정과 비교한 변경 사항은 굵은 기울임 꼴로 강조 나타낸다.
7.3.2.1 시퀀스 파라미터 세트 RBSP 신텍스
시맨틱(Semantic)
0과 같은 sps_UMVE_enabled_flag는 UMVE(MMVD)를 사용하지 않도록 지정한다. 1과 같은 sps_UMVE_enabled_flag는 UMVE를 사용하도록 지정한다.
0과 같은 sps_disable_fractional_distance는 UMVE(MMVD)의 부분 픽셀 거리가 활성화되도록 지정한다. 1과 같은 sps_disable_fractional_distance는 UMVE의 부분 픽셀 거리가 비활성화되도록 지정한다.
대안적으로, sps_disable_fractional_distance를 sps_enable_fractional_distance로 대체할 수 있다. 또는 sps_disable_fractional_distance를 직접 코딩 할 수 있다.
대안적으로, sps_UMVE_enabled_flag, sps_disable_fractional_distance는 픽처 헤더/PPS/슬라이스 헤더/타일 그룹 헤더/지역/CTU 행/CTU 그룹/CTU에서 추가로 시그널링 될 수 있다.
mmvd_distance_idx [x0] [y0]는 sps_disable_fractional_distance가 0 인 경우, 표 7-7에 지정된 대로 MmvdDistance [x0] [y0]를 유도하는 데 사용되는 인덱스를 지정하고 sps_disable_fractional_distance가 1 인 경우 표 7-x를 지정한다. 어레이 인덱스(array indice) x0, y0은 픽처의 왼쪽 상단 루마 샘플에 대해 고려되는 코딩 블록의 왼쪽 상단 루마 샘플의 위치(x0, y0)를 지정한다.
[표 7-7] sps_disable_fractional_distance가 0 일 때 mmvd_distance_idx [x0] [y0]에 기초한 MmvdDistance [x0] [y0] 지정.
[표 7-x] sps_disable_fractional_distance가 1 일 때 mmvd_distance_idx [x0] [y0]에 기초하여 MmvdDistance [x0] [y0] 지정.
[표 9-4] 신텍스 요소 및 연관된 이진화
5.2 실시 예 # 2
이 실시 예에서, 거리 테이블의 표시가 시그널링 된다. 최신 VVC 지정과 비교한 변경 사항은 굵은 기울임 꼴로 강조 표시된다.
7.3.2.1 시퀀스 파라미터 세트 RBSP 신텍스
7.3.2.2 픽처 파라미터 세트 RBSP 신텍스
시맨틱
sps_UMVE_enabled_flag = 0은 UMVE (MMVD)를 사용하지 않도록 지정한다. sps_UMVE_enabled_flag = 1은 UMVE를 사용하도록 지정한다.
sps_distance_tables = L은 UMVE (MMVD)의 (L + 1) 거리 테이블이 정의되도록 지정한다.
index_distance_table = L은 UMVE (MMVD)의 L 번째 거리 테이블이 사용되도록 지정gks다.
하나의 예에서 M은 2로 설정된다.
대안적으로, sps_distance_tables를 직접 코딩 할 수 있다.
대안적으로, sps_UMVE_enabled_flag, sps_distance_tables, index_distance_table은 픽처 헤더/PPS/슬라이스 헤더/타일 그룹 헤더/지역/CTU 행/CTU 그룹/CTU에서 추가로 시그널링 될 수 있다.
[표 7 7] sps_disable_fractional_distance가 0 일 때 mmvd_distance_idx [x0] [y0]에 기초하여 MmvdDistance [x0] [y0] 지정.
대안적으로, 또한, 하나의 베이스 병합 후보가 CPR 인 경우, 위에서 정의한 것과 상이한 거리 테이블을 활용할 수 있다.
대안적으로, 방향 테이블은 시그널링/미리 정의될 수 있다.
5.3 실시 예 # 3
이 실시 예에서, 부분 거리가 허용되는 지의 플래그가 시그널링 된다. 최신 VVC 지정과 비교한 변경 사항은 굵은 기울임 꼴로 강조 나타낸다.
7.3.2.1 시퀀스 파라미터 세트 RBSP 신텍스(Sequence parameter set RBSP syntax)
시맨틱
sps_UMVE_enabled_flag = 0은 UMVE(MMVD)를 사용하지 않도록 지정한다. sps_UMVE_enabled_flag = 1은 UMVE를 사용하도록 지정한다.
sps_disable_fractional_distance = 0은 UMVE(MMVD)의 부분 픽셀 거리가 활성화되도록 지정한다. sps_disable_fractional_distance = 1은 UMVE의 부분 픽셀 거리가 비활성화되도록 지정한다.
대안적으로, sps_disable_fractional_distance를 sps_enable_fractional_distance로 대체할 수 있다. 대안적으로, sps_disable_fractional_distance를 직접 코딩 할 수 있다.
대안적으로, sps_UMVE_enabled_flag, sps_disable_fractional_distance는 픽처 헤더/PPS/슬라이스 헤더/타일 그룹 헤더/지역/CTU 행/CTU 그룹/CTU에서 추가로 시그널링 될 수 있다.
mmvd_distance_idx [x0] [y0]는 sps_disable_fractional_distance가 0 인 경우 표 7-7에서 및 sps_disable_fractional_distance가 1 인 경우 표 7-x 지정된 대로 MmvdDistance [x0] [y0]를 유도하는 데 사용되는 색인을 지정한다.
[표 7-7] sps_disable_fractional_distance가 0 일 때 mmvd_distance_idx [x0] [y0]에 기초한 MmvdDistance [x0] [y0] 지정.
[표 7-x] sps_disable_fractional_distance가 1 일 때 mmvd_distance_idx [x0] [y0]에 기초한 MmvdDistance [x0] [y0] 지정
5.4 실시 예 # 4
7.3.3.1 일반 슬라이스 헤더 신텍스
enable_MMVD_distance_scale_flag가 1이면 기본 거리 테이블에 배율이 적용됨을 나타낸다. enable_MMVD_distance_scale_flag가 0이면 기본 거리 테이블이 사용됨을 나타낸다.
[표 7-x] sps_disable_fractional_distance가 1 일 때 mmvd_distance_idx [x0] [y0]에 기초한 MmvdDistance [x0] [y0] 지정
하나의 예에서 M은 2로 설정된다. 대안적으로, 왼쪽 시프트가 오른쪽 시프트로 대체될 수 있다.
5.5 실시 예 # 5
신텍스 변경은 다음과 같이 설명되며 새로 추가된 부분은 굵은 기울임 꼴로 강조 나타낸다.
7.3.2.1 시퀀스 파라미터 세트 RBSP 신텍스
7.3.3.1 일반 타일 그룹 헤더 신텍스
7.4.3.1 시퀀스 파라미터 세트 RBSP 시맨틱(Sequence parameter set RBSP semantics)
sps_fracmmvd_enabled_flag = 1은 tile_group_fracmmvd_flag가 B 픽처 및 P 픽처에 대한 타일 그룹 헤더 신텍스 테이블에 있음을 지정한다. sps_fracmmvd_enabled_flag = 0은 tile_group_fracmmvd_flag가 B 픽처 및 P 픽처에 대한 타일 그룹 헤더 신텍스 테이블에 없음을 지정한다.
7.4.4.1 일반 타일 그룹 헤더 시맨틱(General tile group header semantics)
tile_group_fracmmvd_flag = 1은 현재 타일 그룹에서 부분 픽셀 정밀도의 모션 벡터 차이가 있는 병합 모드가 활성화되도록 지정한다. tile_group_fracmmvd_flag = 0은 현재 타일 그룹에서 부분 픽셀 정밀도의 모션 벡터 차이가 있는 병합 모드가 비활성화되도록 지정한다. 존재하지 않는 경우, tile_group_fracmmvd_flag의 값은 1로 추정된다.
7.4.5.8 병합 데이터 시맨틱(Merge data semantics)
mmvd_distance_idx [x0] [y0]은 표 7-9에 지정된 대로 MmvdDistance [x0] [y0]를 유도하는 데 사용되는 색인을 지정한다. 어레이 인덱스 x0, y0은 픽처의 왼쪽 상단 루마 샘플에 대해 고려되는 코딩 블록의 왼쪽 상단 루마 샘플의 위치(x0, y0)를 지정한다.
[표 7-9] mmvd_distance_idx [x0] [y0]에 기반한 MmvdDistance [x0] [y0] 지정.
1.1. 실시 예 # 6
신텍스 변경은 다음과 같이 설명되며 새로 추가된 부분은 굵은 기울임 꼴로 강조 나타낸다.
7.3.2.1 시퀀스 파라미터 세트 RBSP 신텍스
7.3.3.1 일반 타일 그룹 헤더 신텍스
7.4.3.1 시퀀스 파라미터 세트 RBSP 시맨틱
sps_fracmmvd_disabled_flag = 1은 부분 픽셀 정밀도의 모션 벡터 차이가 있는 병합 모드 비활성화가 적용되도록 지정한다. sps_fracmmvd_disabled_flag = 0은 부분 픽셀 정밀도의 모션 벡터 차이가 있는 병합 모드 비활성화가 적용되지 않도록 지정한다.
7.4.4.1 일반 타일 그룹 헤더 시맨틱
tile_group_fracmmvd_disabled_flag = 1은 현재 타일 그룹에서 부분 픽셀 정밀도의 모션 벡터 차이가 있는 병합 모드가 비활성화되도록 지정한다. tile_group_fracmmvd_disabled_flag = 0은 현재 타일 그룹에서 부분 픽셀 정밀도의 모션 벡터 차이가 있는 병합 모드가 활성화되도록 지정한다. 존재하지 않는 경우, tile_group_fracmmvd_disabled_flag의 값은 0으로 추정된다.
7.4.5.8 병합 데이터 시맨틱
mmvd_distance_idx [x0] [y0]은 표 7-9에 지정된 대로 MmvdDistance [x0] [y0]를 유도하는 데 사용되는 색인을 지정한다. 어레이 인덱스 x0, y0은 픽처의 왼쪽 상단 루마 샘플에 대해 고려되는 코딩 블록의 왼쪽 상단 루마 샘플의 위치(x0, y0)를 지정한다.
[표 7-9] mmvd_distance_idx [x0] [y0]에 기초한 MmvdDistance [x0] [y0] 지정.
1.2. 실시 예 # 7
신텍스 변경은 다음과 같이 설명되며 새로 추가된 부분은 굵은 기울임 꼴로 강조 나타낸다.
7.3.2.1 시퀀스 파라미터 세트 RBSP 신텍스
7.3.3.1 일반 타일 그룹 헤더 신텍스
7.4.3.1 시퀀스 파라미터 세트 RBSP 시맨틱
sps_fracmmvd_disabled_flag = 1은 부분 픽셀 정밀도의 모션 벡터 차이가 있는 병합 모드 비활성화가 적용되도록 지정한다. sps_fracmmvd_disabled_flag = 0은 부분 픽셀 정밀도의 모션 벡터 차이가 있는 병합 모드 비활성화가 적용되지 않도록 지정한다.
7.4.4.1 일반 타일 그룹 헤더 신맨틱
tile_group_fracmmvd_flag = 1은 현재 타일 그룹에서 부분 픽셀 정밀도의 모션 벡터 차이가 있는 병합 모드가 활성화되도록 지정한다. tile_group_fracmmvd_flag = 0은 현재 타일 그룹에서 부분 픽셀 정밀도의 모션 벡터 차이가 있는 병합 모드가 비활성화되도록 지정한다. 존재하지 않는 경우, tile_group_fracmmvd_flag의 값은 1로 추정된다.
7.4.5.8 병합 데이터 시맨틱
mmvd_distance_idx [x0] [y0]은 표 7-9에 지정된 대로 MmvdDistance [x0] [y0]를 유도하는 데 사용되는 색인을 지정한다. 어레이 인덱스 x0, y0은 픽처의 왼쪽 상단 루마 샘플에 대해 고려되는 코딩 블록의 왼쪽 상단 루마 샘플의 위치(x0, y0)를 지정한다.
[표 7-9] mmvd_distance_idx [x0] [y0]에 기초한 MmvdDistance [x0] [y0] 지정.
모든 실시 예에 대해 유의해야 하며, 관련 신텍스는 다른 비디오 데이터 유닛에 포함될 수 있다(예를 들어, SPS/VPS/PPS/사진 헤더/슬라이스 헤더/타일 그룹 헤더 등).
도 11a는 비디오 처리 장치(video processing apparatus)(1100)의 블록도이다. 장치(1100)는 여기에 설명된 방법들 중 하나 이상을 구현하는데 사용될 수 있다. 장치(1100)는 스마트 폰, 태블릿, 컴퓨터, 사물 인터넷(IoT) 수신기 등으로 구현될 수 있다. 장치(1100)는 하나 이상의 프로세서(processor)(1102), 하나 이상의 메모리(memory)(1104) 및 비디오 처리 하드웨어(video processing hardware)(1106)를 포함할 수 있다. 프로세서(들)(1102)는 본 문서에 설명된 하나 이상의 방법을 구현하도록 구성될 수 있다. 메모리(메모리)(1104)는 여기에 설명된 방법 및 기술을 구현하는 데 사용되는 데이터 및 코드를 저장하는 데 사용될 수 있다. 비디오 처리 하드웨어(1106)는 하드웨어 회로에서 본 문서에 설명된 일부 기술을 구현하는 데 사용될 수 있으며 프로세서(1102)의 일부 또는 전체 일 수 있다(예를 들어, 그래픽 프로세서 코어 GPU 또는 기타 신호 처리 회로).
도 11b는 개시된 기술이 구현될 수 있는 비디오 처리 시스템의 블록도의 다른 예이다. 도 11b는 본 명세서에 개시된 다양한 기술이 구현될 수 있는 예시적인 비디오 처리 시스템(3100)을 보여주는 블록도이다. 다양한 구현은 시스템(3100)의 구성 요소의 일부 또는 전부를 포함할 수 있다. 시스템(3100)은 비디오 콘텐츠를 수신하기 위한 입력(input)(3102)을 포함할 수 있다. 비디오 콘텐츠(video conten)는 원시 또는 비 압축 형식, 예를 들어 8 비트 또는 10 비트 다중 구성 요소 픽셀 값으로 수신될 수 있거나, 압축 또는 인코딩 된 형식 일 수 있다. 입력(3102)은 네트워크 인터페이스, 주변 버스 인터페이스 또는 스토리지 인터페이스를 나타낼 수 있다. 네트워크 인터페이스의 예로는 이더넷, 수동 광 네트워크(PON) 등과 같은 유선 인터페이스와 Wi-Fi 또는 셀룰러 인터페이스와 같은 무선 인터페이스가 있다.
시스템(3100)은 본 문서에 설명된 다양한 코딩 또는 인코딩 방법을 구현할 수 있는 코딩 컴포넌트(coding component)(3104)를 포함할 수 있다. 코딩 컴포넌트(3104)는 비디오의 코딩 된 표현을 생성하기 위해 입력(3102)으로부터 코딩 컴포넌트(3104)의 출력으로 비디오의 평균 비트 레이트를 감소시킬 수 있다. 따라서 코딩 기술은 비디오 압축 또는 비디오 트랜스 코딩 기술이라고도 한다. 코딩 컴포넌트(3104)의 출력은 컴포넌트(component)(3106)에 의해 표현된 바와 같이 연결된 통신을 통해 저장되거나 전송될 수 있다. 입력(3102)에서 수신된 비디오의 저장 또는 통신된 비트 스트림(또는 코딩 된) 표현은 디스플레이 인터페이스(display interface)(3110)로 전송되는 픽셀 값 또는 디스플레이 가능한 비디오를 생성하기 위해 컴포넌트(3108)에 의해 사용될 수 있다. 비트 스트림 표현에서 사용자가 볼 수 있는 비디오를 생성하는 프로세스를 비디오 압축 해제라고 한다. 또한, 특정 비디오 처리 동작(certain video processing operation)을 "코딩" 동작 또는 도구라고 한다. 코딩 도구 또는 동작은 인코더에서 사용되고, 코딩의 결과를 역전시키는 대응하는 디코딩 도구 또는 동작은 디코더에 의해 수행될 것임을 알 것이다.
주변 장치 버스 인터페이스 또는 디스플레이 인터페이스의 예로는 범용 직렬 버스(Universal Serial Bus)(USB), 고 해상도 멀티미디어 인터페이스(High Definition Multimedia Interface)(HDMI) 또는 디스플레이 포트(Displayport) 등이 있다. 스토리지 인터페이스의 예로는 직렬 고급 기술 어테치먼트(Serial Advanced Technology Attachment)(SATA), PCI, IDE 인터페이스 등이 있다. 본 문서에 설명된 기술은 디지털 데이터 처리 및/또는 비디오 디스플레이를 수행할 수 있는 휴대 전화, 랩톱, 스마트 폰 또는 기타 장치와 같은 다양한 전자 장치에 구현될 수 있다.
일부 실시 예에서, 비디오 코딩 방법은 도 11a 또는 11b와 관련하여 설명된 바와 같이 하드웨어 플랫폼상에서 구현되는 장치를 사용하여 구현될 수 있다.
도 12는 개시된 기술의 일부 구현에 기초한 비디오 처리를 위한 예시적인 방법의 흐름도를 도시한다. 방법(1200)은, 단계 1202에서, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 위해, 궁극 모션 벡터 표현(UMVE) 모드의 동작 모드를 결정하는 단계를 포함한다. 방법(1200)은, 단계 1204에서, 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다. 일부 구현에서, 현재 비디오 블록은 현재 비디오 블록에 대한 모션 정보의 시작점, 모션 크기 및 모션 방향을 포함하는 모션 벡터 표현을 포함하는 UMVE 모드에서 병합 모드 및 모션 벡터 차이로 코딩 되고, 여기서 코딩 된 표현의 하나 이상의 필드는 동작 모드에 대응하고, 및 상기 하나 이상의 필드는: 현재 비디오 블록에 대해 UMVE 모드의 활성화 또는 비활성화 여부를 나타내는 값을 갖는 UMVE 활성화 필드 또는 UMVE 모드에 따라 수정된 아핀 병합 모드가 현재 비디오 블록에 대해 활성화 또는 비활성화되었는지를 나타내는 수정된 아핀 모드 활성화 필드를 포함한다. 일부 구현에서, 현재 비디오 블록은 현재 비디오 블록에 대한 모션 정보의 시작점, 모션 크기 및 모션 방향을 포함하는 모션 벡터 표현식을 포함하는 UMVE 모드에서 병합 모드 및 모션 벡터 차이로 코딩 되고, 여기서 코딩 된 표현의 하나 이상의 필드는 동작 모드에 대응하고, 하나 이상의 필드는: UMVE 모드에서 사용하는 기본 후보 목록의 크기를 나타내는 목록 크기 필드 또는 UMVE 모드에 대한 거리 테이블 또는 방향 테이블을 시그널링 하는 테이블 필드를 포함한다.
도 13은 개시된 기술의 일부 구현에 기초한 비디오 처리를 위한 예시적인 방법의 흐름도를 도시한다. 방법(1300)은, 단계 1302에서, 궁극 모션 벡터 표현(UMVE) 코딩 도구를 사용하여 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 수행하는 단계를 포함한다. 일부 구현에서, UMVE 코딩 도구는 모션 정보의 시작점, 모션 크기 및 현재 비디오 블록에 대한 모션 방향을 포함하는 모션 벡터 표현을 나타내고, 및 거리 테이블 또는 방향 테이블 중 적어도 하나는 두 개의 참조 픽처의 픽처 순서 카운트 또는 현재 비디오 블록을 포함하는 현재 픽처의 POC, 또는 현재 비디오 블록, 현재 슬라이스, 또는 현재 픽처를 코딩 하는 데 사용되는 양자화 파라미터(QP)에 의존한다. 일부 구현에서, UMVE 코딩 도구는 모션 정보의 시작점, 모션 크기 및 현재 비디오 블록에 대한 모션 방향을 포함하는 모션 벡터 표현식을 나타내고, 여기서 적응형 모션 벡터 해상도(AMVR) 방식은 UMVE 코딩 도구에 의해 사용되는 거리 테이블을 시그널링 하는 데 사용된다.
도 14는 개시된 기술의 일부 구현에 기초한 비디오 처리를 위한 예시적인 방법의 흐름도를 도시한다. 방법(1400)은, 단계 1402에서, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 위해, 아핀 궁극 모션 벡터 표현(UMVE) 모드의 동작 모드를 결정하는 단계를 포함한다. 방법(1400)은, 단계 1404에서 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다.
도 15a는 개시된 기술의 일부 구현에 기초한 비디오 처리를 위한 예시적인 방법의 흐름도를 도시한다. 방법(1510)은, 단계(1512)에서, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 위해 궁극 모션 벡터 표현(UMVE) 코딩 도구에서 다중 모션 벡터 차이를 시그널링 하기로 결정하는 단계를 포함한다. 방법(1510)은, 단계 1514에서, 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다. 일부 구현에서, UMVE 코딩 도구를 사용하여, 시작점, N 모션 크기로 표현되는 N 모션 벡터 차이 및 현재 비디오 블록의 N 모션 방향을 포함하는 모션 벡터 표현이 변환 중에 사용되고, N은 2 이상인 정수이다.
도 15b는 개시된 기술의 일부 구현에 기초한 비디오 처리를 위한 예시적인 방법의 흐름도를 도시한다. 방법(1520)은, 단계 1522에서, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 위해, 현재 픽처 참조(Current Picture Referencing)(CPR) 코딩 도구 및 궁극 모션 벡터 표현(UMVE) 코딩 도구를 사용하여 규칙이 현재 비디오 블록으로 인한 변환에 적용되는지를 결정하는 단계를 포함한다. 방법(1520)은, 단계 1524에서, 규칙에 따라 변환을 수행하는 단계를 포함한다. 일부 구현에서, 규칙은 변환을 위한 하나 이상의 코딩 거리의 사용을 허용하지 않고, 여기서 CPR 코딩 도구는 현재 픽처를 참조 픽처로 사용하고, 및 UMVE 코딩 도구는 현재 비디오 블록에 대한 시작점, 모션 크기 및 모션 방향을 포함하는 모션 벡터 표현을 사용한다.
도 15c는 개시된 기술의 일부 구현에 기초한 비디오 처리를 위한 예시적인 방법의 흐름도를 도시한다. 방법(1530)은, 단계 1532에서, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환 동안, 현재 비디오 블록이 현재 비디오 블록에 대한 시작점, 모션 크기 및 모션 방향을 포함하는 모션 벡터 표현을 나타내는 궁극 모션 벡터 표현(UMVE) 코딩 도구를 사용한다고 결정할 때 현재 비디오 블록에 대한 모션 벡터 차이(MVD) 값의 정제을 수행하기로 결정하는 단계를 포함한다. 방법(1530)은, 단계 1534에서, 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다.
도 15d는 개시된 기술의 일부 구현에 기초한 비디오 처리를 위한 예시적인 방법의 흐름도를 도시한다. 방법(1540)은, 단계 1542에서, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 위해, 현재 비디오 블록이 현재 비디오 블록에 대한 시작점, 모션 크기 및 모션 방향을 포함하는 모션 벡터 표현을 나타내는 UMVE 코딩 도구를 사용한다고 결정할 때 다중 UMVE 파라미터 세트에서 제1 궁극 모션 벡터 표현(UMVE) 파라미터 세트를 사용하기로 결정하는 단계를 포함한다. 방법(1540)은, 단계 1544에서, 결정에 기초하여 변환을 수행하는 단계를 포함한다. 일부 구현에서, 다중 UMVE 파라미터 세트 중 적어도 하나의 표시(indication)는 현재 비디오 블록에 대해 시그널링 되거나 미리 정의된다.
도 15e는 개시된 기술의 일부 구현에 기초한 비디오 처리를 위한 예시적인 방법의 흐름도를 도시한다. 방법(1550)은, 단계 1552에서, 현재 비디오 블록이 현재 비디오 블록에 대한 시작점, 모션 크기 및 모션 방향을 포함하는 모션 벡터 표현을 나타내는 UMVE(궁극적 모션 벡터 표현) 코딩 도구를 사용한다고 결정할 때 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 위해 UMVE 파라미터 세트를 선택하는 단계를 포함한다. 일부 구현에서, 선택된 UMVE 파라미터 세트는 상이한 비디오 블록, 상이한 참조 픽처 목록, 상이한 참조 픽처, 상이한 타일, 상이한 슬라이스, 상이한 픽처 또는 상이한 시간적 층(temporal layer)에 걸쳐 변경된다.
도 16a는 개시된 기술의 일부 구현에 기초한 비디오 처리를 위한 예시적인 방법의 흐름도를 도시한다. 방법(1610)은, 단계 1612에서, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 위해, 현재 비디오 블록의 예측이 두 개의 참조 목록으로부터 불균일하게 가중된 예측자의 합에 대응하는 최종 예측자를 사용하는 일반화된 이중 예측(GBi) 코딩 도구의 동작 모드를 결정하는 단계를 포함한다. 방법(1610)은, 단계 1614에서; 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다. 일부 구현에서, 코딩 된 표현의 필드는 동작 모드에 대응하고 필드의 값은 GBI 코딩 도구가 현재 비디오 블록에 대해 활성화 또는 비활성화되는지 여부를 나타낸다.
도 16b는 개시된 기술의 일부 구현에 기초한 비디오 처리를 위한 예시적인 방법의 흐름도를 도시한다. 방법(1620)은, 단계 1622에서, 현재 비디오 블록의 예측이 두 참조 목록의 예측 변수의 불균일하게 가중된 합계에 대응하는 최종 예측 변수를 사용하여 GBi 코딩 도구의 파라미터를 제어하는 규칙에 기초하여, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 수행하는 단계를 포함한다. 일부 구현에서, 규칙은 GBi 코딩 도구에 의해 사용되는 가중치 계수 세트가 i) 현재 비디오 블록을 포함하는 픽처의 시간적 층, ii) 픽처의 픽처 양자화 파라미터, 또는 iii) 현재 비디오 블록의 양자화 파라미터에 기초하도록 지정한다. 일부 구현에서, 규칙은 현재 비디오 블록의 이웃 픽셀 및 현재 비디오 블록의 모션 벡터의 정수 부분에 의해 식별되는 대응하는 참조 이웃 픽셀에 기초하여 GBi 코딩 도구에 대한 가중치 계수를 선택하거나 유도하도록 지정한다. 일부 구현에서, 규칙은 현재 비디오 블록의 이웃 픽셀 및 현재 비디오 블록의 모션 벡터의 정수 부분에 의해 식별되는 대응하는 참조 이웃 픽셀에 기초하여 GBi 코딩 도구에 대한 가중치 계수를 재정렬하도록 지정한다. 일부 구현에서, 규칙은 GBi 코딩 도구에 대한 가중치 계수를 결정하기 위해 현재 비디오 블록과 연관된 로컬 조명 보상(LIC) 파라미터를 사용하도록 지정하고, 및 상기 LIC 파라미터는 변환 동안 현재 블록에서 조명 변화의 선형 모델을 사용하도록 유도된다.
도 16c는 개시된 기술의 일부 구현에 기초한 비디오 처리를 위한 예시적인 방법의 흐름도를 도시한다. 방법(1630)은, 단계 1632에서, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 위해 단일 예측 모드에 대해 1과 동일하지 않은 가중치를 사용하도록 결정하는 단계를 포함한다. 방법(1630)은, 단계 1634에서, 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다. 일부 구현에서, 현재 비디오 블록의 예측은 가중치에 의해 스케일링 된 예측자에 대응하는 최종 예측자를 사용하고, 여기서 가중치 계수 세트는 블록 레벨 또는 코딩 유닛 레벨에서 선택된다.
도 17a는 개시된 기술의 일부 구현에 기초한 비디오 처리를 위한 예시적인 방법의 흐름도를 도시한다. 방법(1710)은, 단계 1712에서, 비디오의 하나 이상의 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 수행하는 단계를 포함한다. 일부 구현에서, 코딩 된 표현의 제1 필드는 부분 샘플 정밀도(fractional sample precision)가 변환 동안 사용된 모션 벡터 차이(MMVD)와 병합에서 모션 거리를 나타내기 위해 사용되는지 여부를 나타내고, 및 MMVD 모드는 현재 비디오 블록에 대한 시작점, 모션 거리 및 모션 방향을 포함하는 모션 벡터 표현을 포함한다.
도 17b는 개시된 기술의 일부 구현에 기초한 비디오 처리를 위한 예시적인 방법의 흐름도를 도시한다. 방법(1720)은, 단계 1722에서, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 수행하는 단계를 포함하고, 여기서 코딩 된 표현은 변환 동안 사용되는 고급 모션 벡터 예측(AMVP) 모드 또는 아핀 인터 모드에 대해 부분 모션 벡터(MV) 또는 모션 벡터 차이(MVD) 정밀도가 허용되는지를 나타내는 플래그(flag)를 포함한다.
도 18은 개시된 기술의 일부 구현에 기초한 비디오 처리를 위한 예시적인 방법의 흐름도를 도시한다. 방법(1800)은, 단계 1810에서, 코딩 된 표현의 포맷을 지정하는 규칙에 따라 비디오의 현재 픽처의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 수행하는 단계를 포함하고, 여기서 규칙은 현재 비디오 블록의 변환에 사용되는 모든 참조 블록이 현재 픽처의 샘플로부터 획득되는지 여부에 기초하여 코딩 모드에 대한 신텍스 요소가 코딩 된 표현에 포함되도록 지정한다.
본 문서에서 "비디오 처리(video processing)"라는 용어는 비디오 인코딩, 비디오 디코딩, 비디오 압축 또는 비디오 압축 해제를 의미할 수 있다. 예를 들어, 비디오 압축 알고리즘은 비디오의 픽셀 표현에서 대응하는 비트 스트림 표현으로 또는 그 반대로 변환하는 동안 적용될 수 있다. 예를 들어, 현재 비디오 블록의 비트 스트림 표현은 신텍스에 의해 정의된 바와 같이 비트 스트림 내의 다른 위치에 공존하거나 확산되는 비트에 대응할 수 있다. 예를 들어, 매크로 블록은 변환(transformed) 및 코딩 된 에러 잔차 값(error residual value)의 관점에서 인코딩 될 수 있으며 또한 비트 스트림의 헤더 및 다른 필드의 비트를 사용하여 인코딩 될 수 있다.
개시된 다양한 규칙에 기초하여, 현재 문서에서, 구성된 가상 모션 후보의 사용을 허용함으로써 스마트 폰, 랩톱, 데스크탑 및 유사한 장치와 같은 비디오 처리 장치 내에 통합된 비디오 인코더 및 디코더 실시 예에 도움이 되는 여러 기술이 개시되었음을 알 수 있을 것이다.
다음의 절 기반 형식을 이용하여 다양한 기술 및 실시 예를 설명할 수 있다.
첫 번째 항목 세트는, 예를 들어, 아이템 1을 포함하여, 이전 섹션에 나열된 개시된 기술의 특정 특징 및 측면을 설명한다.
1. 비디오 처리 방법에서, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 위해, 궁극 모션 벡터 표현(UMVE) 모드의 동작 모드를 결정하는 단계; 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함하고, 현재 비디오 블록은 현재 비디오 블록에 대한 모션 정보의 시작점, 모션 크기 및 모션 방향을 포함하는 모션 벡터 표현을 포함하는 UMVE 모드에서 병합 모드 및 모션 벡터 차이로 코딩 되고, 및 코딩 된 표현의 하나 이상의 필드는 동작 모드에 대응하고, 및 하나 이상의 필드는: 현재 비디오 블록에 대해 UMVE 모드가 활성화 또는 비활성화되었는 지를 나타내는 값을 갖는 UMVE 활성화 필드, 또는 현재 비디오 블록에 대해 UMVE 모드가 활성화 또는 비활성화되었는 지에 기초하여 아핀 병합 모드가 수정되었는지 여부를 나타내는 수정된 아핀 모드 활성화 필드를 포함한다.
2. 항목 1의 방법에서, 시작점은 베이스 병합 후보 목록에 대한 인덱스에 의해 나타내고 현재 비디오 블록의 최종 모션 정보는 모션 방향 및 모션 크기로 표현되는 모션 벡터 차이에 의존한다.
3. 항목 1의 방법에서, 하나 이상의 필드는 슬라이스 헤더 레벨에 포함된다.
4. 항목 1의 방법에서, 하나 이상의 필드는 타일 그룹 헤더 레벨에 포함된다.
5. 항목 1의 방법에서, 하나 이상의 필드는 타일 헤더 레벨에 포함된다.
6. 항목 1의 방법에서, 하나 이상의 필드는 픽처 헤더 레벨에 포함된다.
7. 항목 1의 방법에서, 하나 이상의 필드는 픽처 파라미터 세트 레벨에 포함된다.
8. 항목 1의 방법에서, 하나 이상의 필드는 시퀀스 파라미터 세트 레벨에 포함된다.
9. 항목 1의 방법에서, 하나 이상의 필드는 비디오 파라미터 세트 레벨에 포함된다.
10. 항목 1 내지 9 중 어느 하나의 방법에서, 변환을 수행하는 단계는 현재 블록으로부터 코딩 된 표현을 생성하는 단계를 포함한다.
11. 항목 1 내지 9 중 어느 하나의 방법에서, 변환을 수행하는 단계는 코딩 된 표현으로부터 현재 블록을 생성하는 단계를 포함한다.
12. 프로세서 및 그 위에 명령을 갖는 비 일시적 메모리를 포함하는 비디오 시스템의 장치에서, 프로세서에 의해 실행될 때의 명령은 프로세서로 하여금 항목 1 내지 11 중 어느 하나의 방법을 구현하게 한다.
13. 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램 제품으로서, 컴퓨터 프로그램 제품은 항목 1 내지 항목 11 중 어느 한 항목의 방법을 수행하기 위한 프로그램 코드를 포함한다.
두 번째 항목 세트는, 예를 들어 아이템 2, 4 및 9를 포함하여, 이전 섹션에 나열된 개시된 기술의 특정 특징 및 측면을 설명한다.
삭제
1. 비디오 처리 방법에서, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 위해, 궁극 모션 벡터 표현(UMVE) 모드의 동작 모드를 결정하는 단계; 및 결정에 기초하여 변환을 수행하는 단계를 포함하고, 여기서 현재 비디오 블록은 현재 비디오 블록에 대한 모션 정보의 시작점, 모션 크기 및 모션 방향을 포함하는 모션 벡터 표현을 포함하는 UMVE 모드에서 병합 모드 및 모션 벡터 차이로 코딩 되고, 코딩 된 표현의 하나 이상의 필드는 동작 모드에 대응하고, 하나 이상의 필드는: UMVE 모드에 의해 사용되는 베이스 후보 목록의 크기를 나타내는 목록 크기 필드, 또는 UMVE 모드에 대한 거리 테이블 또는 방향 테이블을 시그널링 하는 테이블 필드를 포함한다.
2. 항목 1의 방법에서, 시작점은 베이스 병합 후보 목록에 대한 인덱스에 의해 나타내고 현재 블록의 최종 모션 정보는 모션 벡터 차이에 의존한다.
3. 항목 1의 방법에서, 하나 이상의 필드는 슬라이스 헤더 레벨, 타일 그룹 헤더 레벨, 타일 헤더 레벨, 픽처 헤더 레벨, 픽처 파라미터 세트 레벨, 시퀀스 파라미터 세트 레벨, 또는 비디오 파라미터 세트 레벨에 포함된다.
4. 항목 1의 방법에서, 베이스 후보 목록의 크기는 1, 2 또는 3으로 설정된다.
5. 항목 1의 방법에서, 하나 이상의 필드는 병합 모드에 대한 후보 목록의 크기를 나타내는 값을 갖는 병합 모드 목록 크기 필드를 더 포함한다.
6. 항목 5의 방법에서, UMVE 모드에 의해 사용되는 베이스 후보 목록의 크기는 병합 모드에 대한 후보 목록의 크기보다 작거나 같다.
7. 항목 5의 방법에서, 목록 크기 필드는 코딩 된 표현으로부터 삭제된다.
8. 항목 7의 방법에서, UMVE 모드에 의해 사용되는 베이스 후보 목록의 크기는 병합 모드에 대한 후보 목록의 크기와 동일하다.
9. 항목 1의 방법에서, 테이블 필드는 거리 테이블의 크기 K1 및 방향 테이블의 크기 K2를 시그널링 한다.
10. 항목 9의 방법에서, 거리 테이블의 첫번째 K1 요소 또는 방향 테이블의 첫번째 K2 요소가 유효하다.
11. 항목 9의 방법에서, 거리 테이블의 마지막 K1 요소 또는 방향 테이블의 마지막 K2 요소가 유효하다.
12. 비디오 처리 방법에서, 궁극 모션 벡터 표현(UMVE) 코딩 도구를 사용하여 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 수행하는 단계를 포함하고, UMVE 코딩 도구는 현재 비디오 블록에 대한 모션 정보의 시작점, 모션 크기 및 모션 방향을 포함하는 모션 벡터 표현을 나타내고, 및 거리 테이블 또는 방향 테이블 중 적어도 하나는 두 개의 참조 픽처의 픽처 순서 카운트(POC) 또는 현재 비디오 블록을 포함하는 현재 픽처의 POC, 또는 현재 비디오 블록, 현재 슬라이스, 또는 현재 픽처를 코딩 하는 데 사용되는 양자화 파라미터(QP)에 의존한다.
13. 항목 12의 방법에서, 거리 테이블 및 방향 테이블은 2 개의 참조 픽처의 POC와 현재 픽처의 POC 사이의 차이에 의존한다.
14. 항목 1 내지 13 중 어느 하나의 방법에서, 변환을 수행하는 단계는 현재 블록으로부터 코딩 된 표현을 생성하는 단계를 포함한다.
15. 항목 1 내지 13 중 어느 하나의 방법에서, 변환을 수행하는 단계는 코딩 된 표현으로부터 현재 블록을 생성하는 단계를 포함한다.
16. 프로세서 및 그 위에 명령을 갖는 비 일시적 메모리를 포함하는 비디오 시스템의 장치에서, 프로세서에 의해 실행될 때의 명령은 프로세서로 하여금 항목 1 내지 15 중 어느 하나의 방법을 구현하게 한다.
17. 비 일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램에서, 항목 1 내지 15 중 어느 하나의 방법을 수행하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램.
세 번째 항목 세트는, 예를 들어 아이템 3 및 7을 포함하여, 이전 섹션에 나열된 개시된 기술의 특정 특징 및 측면을 설명한다.
1. 비디오 처리 방법에서, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 위해, 아핀 궁극 모션 벡터 표현(UMVE) 모드의 동작 모드를 결정하는 단계; 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함하고, 현재 비디오 블록은 현재 비디오 블록에 대한 모션 정보의 시작점, 모션 크기 및 모션 방향을 포함하는 아핀 UMVE 모드에서 아핀 병합 모드 및 모션 벡터 차이로 코딩 되고, 및 코딩 된 표현의 하나 이상의 필드는 동작 모드에 대응하고, 및 하나 이상의 필드는: UMVE 모드에서 사용하는 예측 오프셋을 갖는 아핀 병합 모드에 대한 베이스 아핀 병합 후보 목록의 크기를 나타내는 목록 크기 필드, 또는 예측 오프셋을 갖는 아핀 병합 모드에 대한 거리 테이블 또는 방향 테이블을 시그널링 하는 테이블 필드를 포함한다.
2. 항목 1의 방법에서, 시작점은 기본 아핀 병합 후보 목록에 대한 인덱스로 나타내고 최종 모션 정보는 모션 방향 및 모션 크기로 표현되는 모션 벡터 차이에 의존한다.
3. 항목 1의 방법에서, 하나 이상의 필드는 슬라이스 헤더 레벨, 타일 그룹 헤더 레벨, 타일 헤더 레벨, 픽처 헤더 레벨, 픽처 파라미터 세트 레벨, 시퀀스 파라미터 세트 레벨, 또는 비디오 파라미터 세트 레벨에 포함된다.
4. 항목 1의 방법에서, 기본 아핀 병합 후보 목록의 크기는 1, 2 또는 3으로 설정된다.
5. 항목 1의 방법에서, 하나 이상의 필드는 값이 서브 블록 병합 모드에 대한 후보 목록의 크기를 나타내는 서브 블록 병합 목록 크기 필드를 더 포함한다.
6. 항목 5의 방법에서, 아핀 UMVE 모드에 대한 기본 아핀 병합 후보 목록의 크기는 서브 블록 병합 모드에 대한 후보 목록의 크기보다 작거나 같다.
7. 항목 5의 방법에서, 목록 크기 필드는 코딩 된 표현으로부터 삭제된다.
8. 항목 7의 방법에서, 아핀 UMVE 모드에 대한 베이스 아핀 병합 후보 목록의 크기는 서브 블록 병합 모드에 대한 후보 목록의 크기와 동일하다.
9. 항목 1의 방법에서, 아핀 UMVE 모드는 UMVE 모드에 기초하여 수정된 아핀 병합 모드에 대응한다.
10. 항목 1의 방법에서, 테이블 필드는 거리 테이블의 크기 K1 및 방향 테이블의 크기 K2를 시그널링 한다.
11. 항목 10의 방법에서, 거리 테이블의 첫 번째 K1 요소 또는 방향 테이블의 첫 번째 K2 요소가 유효하다.
12. 항목 10의 방법에서, 거리 테이블의 마지막 K1 요소 또는 방향 테이블의 마지막 K2 요소가 유효하다.
13. 항목 1 내지 12 중 어느 하나의 방법에서, 변환을 수행하는 단계는 현재 블록으로부터 코딩 된 표현을 생성하는 단계를 포함한다.
14. 항목 1 내지 12 중 어느 하나의 방법에서, 변환을 수행하는 단계는 코딩 된 표현으로부터 현재 블록을 생성하는 단계를 포함한다.
15. 프로세서 및 그 위에 명령을 갖는 비 일시적 메모리를 포함하는 비디오 시스템의 장치에서, 프로세서에 의해 실행될 때의 명령은 프로세서로 하여금 항목 1 내지 14 중 어느 하나의 방법을 구현하게 한다.
16. 비 일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램에서, 항목 1 내지 14 중 어느 하나의 방법을 수행하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램.
네 번째 항목 세트는 예를 들어 항목 8, 10, 11, 12, 13, 14. 15 및 16을 포함하여 이전 섹션에 나열된 개시된 기술의 특정 특징 및 측면을 설명한다.
1. 비디오 처리 방법에서, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 위해 궁극 모션 벡터 표현(UMVE) 코딩 도구에서 다중 모션 벡터 차이를 시그널링 하도록 결정하는 단계; 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함하고, UMVE 코딩 도구를 사용하여, 시작점, N 모션 크기로 표현되는 N 모션 벡터 차이 및 현재 비디오 블록의 N 모션 방향을 포함하는 모션 벡터 표현이 변환 중에 사용되고, N은 2 이상인 정수이다.
2. 항목 1의 방법에서, N은 2이고 2 개의 모션 벡터 차이는 양방향 예측에서 두 개의 예측 방향에 대응한다.
3. 항목 2의 방법에서, UMVE 코딩 도구에서 사용되는 MVD의 수는 시그널링 된다.
4. 항목 2의 방법에서, UMVE 코딩 도구에서 사용되는 MVD의 수는 유도된다.
5. 항목 1의 방법에서, 하나의 MVD는 각 예측 방향에 대해 인코딩 되고, 제1 방향의 제1 MVD는 제2 방향의 제2 MVD를 예측하는 데 사용된다.
6. 항목 5의 방법에서, 제1 예측 방향에 대한 MVD는 다른 MVD보다 더 일찍 시그널링 된다.
7. 항목 6의 방법에서, 제2 예측 방향에 대한 MVD는 다른 MVD보다 더 일찍 시그널링 된다.
8. 항목 1의 방법에서, N 개의 모션 벡터 차이를 시그널링 하는 순서가 시그널링 된다.
9. 항목 1의 방법에서, 기본 후보 인덱스, 거리 인덱스 또는 방향 인덱스 중 적어도 하나가 각 예측 방향에 대해 시그널링 된다.
10. 비디오 처리 방법에서, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 위해, 현재 픽처 참조(CPR) 코딩 도구 및 궁극 모션 벡터 표현(UMVE) 코딩 도구를 사용하여 규칙이 현재 비디오 블록으로 인한 변환에 적용되는지를 결정하는 단계; 및 규칙에 따라 변환을 수행하는 단계를 포함하고, 규칙은 변환을 위한 하나 이상의 코딩 거리의 사용을 허용하지 않고, 상기 CPR 코딩 도구는 현재 픽처를 참조 픽처로 사용하고, 및 UMVE 코딩 도구는 현재 비디오 블록에 대한 시작점, 모션 크기 및 모션 방향을 포함하는 모션 벡터 표현을 사용한다.
11. 항목 10의 방법에서, 규칙은 1/2 픽셀 해상도 또는 1/4 픽셀 해상도를 포함하는 부분 픽셀 정밀도를 갖는 거리가 허용되지 않음을 지정한다.
12. 항목 10의 방법에서, 규칙은 CPR 모드에서 유효 검색 범위를 벗어난 거리가 허용되지 않음을 지정한다.
13. 항목 10의 방법에서, 특정 거리는 유효한 거리로 대체된다.
14. 항목 10의 방법에서, CPR 모드 및 비 CPR 모드에 대해 거리 인덱스와 픽셀 거리 사이의 상이한 매핑 세트가 정의된다.
15. 항목 14의 방법에서, 미리 정의된 델타 모션 벡터는 UMVE 코딩 도구의 시작점에 추가된다.
16. 항목 15의 방법에서, 미리 정의된 델타 모션 벡터는 블록 크기, 참조 인덱스, 또는 컬러 컴포넌트 중 적어도 하나에 의존한다.
17. 항목 15의 방법에서, 미리 정의된 델타 모션 벡터는 슬라이스 헤더 레벨, 타일 그룹 헤더 레벨, 타일 헤더 레벨, 픽처 헤더 레벨, 픽처 파라미터 세트 레벨, 시퀀스로 시그널링된다. 파라미터 세트 레벨, 비디오 파라미터 세트 레벨 또는 코딩 유닛 레벨에서 시그널링 된다.
18. 항목 10의 방법에서, UMVE 코딩 도구가 CPR 코딩 도구와 함께 사용될 때 항상 단일 예측이 적용된다.
19. 항목 18의 방법에서, 단 하나의 MVD가 사용되거나 시그널링 된다.
20. 항목 10의 방법에서, 베이스 병합 후보는 현재 픽처 인 적어도 하나의 참조 픽처를 가지며, 특정 방향 인덱스는 허용되지 않는다.
21. 항목 10의 방법에서, UMVE 코딩 도구는 병합 후보 또는 AMVP 후보가 현재 픽처 인 적어도 하나의 참조 픽처를 갖는 경우에 적용된다.
22. 비디오 처리 방법에서, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환 동안, 현재 비디오 블록이 현재 비디오 블록에 대한 시작점, 모션 크기 및 모션 방향을 포함하는 모션 벡터 표현을 나타내는 궁극 모션 벡터 표현(UMVE) 코딩 도구를 사용한다고 결정할 때 현재 비디오 블록에 대한 모션 벡터 차이(MVD) 값의 정제를 수행하기로 결정하는 단계; 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함한다.
23. 항목 22의 방법에서, 상기 정제는 현재 비디오 블록에 대한 디코딩 된 거리 인덱스 및/또는 디코딩 된 방향 인덱스를 사용하여 수행된다.
24. 제22 절의 방법에서, 상기 정제 동작은 현재 비디오 블록에 대한 병합 후보 목록에서 하나 이상의 병합 후보와 연관된 모션 정보에 기초한다.
25. 항목 18의 방법에서, 선택된 베이스 후보 + 디코딩 된 MVD는 다른 병합 후보와 동일하고, 디코딩 된 MVD는 더 정제된다.
26. 항목 18의 방법에서, 디코딩 된 MVD는 선택된 기본 후보와 디코딩 된 MVD가 다른 병합 후보와 유사한 규칙에 기초하여 결정되는 경우에 더 정제된다.
27. 항목 20의 방법에서, 규칙은 [MV1x-MV2x | + | MV1y-MV2y |). < T 의 경우 MV1 및 MV2의 두 모션 벡터가 유사하다고 결정하고, 여기서 MV1x 및 MV2x는 MV1 및 MV2의 수평 구성 요소이고 MV2x 및 MV2y는 MV1 및 MV2의 수직 구성 요소이다.
28. 항목 26의 방법에서, 규칙은 두 개의 후보가 동일한 참조 인덱스를 공유하고 동일한 참조 픽처를 참조하는 두 개의 모션 벡터가 유사한 경우에 두 개의 후보가 유사하다고 결정한다.
29. 항목 24의 방법에서, 디코딩 된 거리 인덱스 및 디코딩 된 방향 인덱스는 현재 비디오 블록에서 다음 비디오 블록으로 변경된다.
30. 항목 22의 방법에서, 양방향 광 흐름(BIO)은 UMVE 코딩 도구로 코딩 된 현재 비디오 블록에서 허용되지 않는다.
31. 항목 22의 방법에서, UMVE 코딩 도구로 코딩 된 현재 비디오 블록에서 디코더 측 모션 벡터 정제(DMVR)가 허용되지 않는다.
32. 항목 1 내지 31 중 어느 하나의 방법에서, UMVE 코딩 도구는 현재 비디오 블록에 대한 병합 후보 목록에서 코딩 된 기본 후보 인덱스와 후보 인덱스 간의 매핑을 포함하고 매핑은 서로 다른 비디오 블록, 서로 다른 타일 또는 서로 다른 비디오 시퀀스의 서로 다른 사진에 걸쳐 변경된다.
33. 항목 32의 방법에서, 0과 동일한 제1 코딩 된 베이스 후보 인덱스는 항상 병합 후보 목록의 제1 병합 후보에 대응한다.
34. 항목 33의 방법에서, K와 동일한 K 번째 코딩 된 베이스 후보 인덱스는 병합 후보 목록에서(K + 1) 번째 병합 후보에 대응하지 않고, K는 0보다 큰 정수이다.
35. 항목 33의 방법에서, 1과 동일한 제2 코딩 된 베이스 후보 인덱스는 병합 후보 목록 내의 병합 후보를 나타내고, 병합 후보는 제1 코딩 된 베이스 후보 인덱스가 가리키는 제1 병합 후보와 유사하지 않다.
36. 항목 32의 방법에서, 병합 후보 목록으로부터의 베이스 병합 후보의 매핑 또는 선택은 병합 후보 목록의 제1 병합 후보에 의존한다.
37. 항목 32의 방법에서, 특정 병합 후보는 현재 비디오 블록에 대한 베이스 병합 후보로서 허용되지 않는다.
38. 항목 37의 방법에서, 특정 병합 후보는: i) 결합된 이중 예측 병합 후보, 쌍별 병합 후보, 제로 모션 벡터 병합 후보를 포함한 가상 병합 후보, ii) 시간적 병합 후보, iii) HMVP 후보, 또는 iv) 삼각형 예측 모드, 서브 블록 모드, 아핀 모드, ATMVP 또는 STMVP를 포함하는 특정 모드에서 유도된 병합 후보 중 하나 이상을 포함한다.
39. 항목 32의 방법에서, UMVE 코딩 도구에 의해 사용되는 적어도 하나의 베이스 병합 후보는 병합 후보 목록에 속하지 않는다.
40. 항목 32의 방법에서, 병합 후보 목록 내의 제1 병합 후보는 현재가 아닌 픽처 참조 후보 인 제1 후보로 제한된다.
41. 항목 32의 방법에서, 병합 후보 목록 내의 베이스 병합 후보들, 병합 후보들은 임계치에 의해 서로 상이하다.
42. 비디오 처리 방법에서, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 위해, 현재 비디오 블록이 현재 비디오 블록에 대한 시작점, 모션 크기 및 모션 방향을 포함하는 모션 벡터 표현을 나타내는 UMVE 코딩 도구를 사용한다고 결정할 때 다중 UMVE 파라미터 세트에서 제1 궁극 모션 벡터 표현(UMVE) 파라미터 세트를 사용하기로 결정하는 단계; 및 결정에 기초하여 변환을 수행하는 단계를 포함하고, 다중 UMVE 파라미터 세트 중 적어도 하나의 표시(indication)는 현재 비디오 블록에 대해 시그널링 되거나 미리 정의된다.
43. 항목 42의 방법에서, 표시는 슬라이스 헤더 레벨, 타일 그룹 헤더 레벨, 타일 헤더 레벨, 픽처 헤더 레벨, 픽처 파라미터 세트 레벨, 시퀀스 파라미터 세트 레벨, 비디오 파라미터 세트 레벨, 또는 코딩 유닛 레벨에서 시그널링 되거나 미리 정의된다.
44. 항목 42의 방법에서, 코드화 된 표현이 다수의 UMVE 파라미터 세트 각각을 포함한다.
45. 항목 42의 방법에서, 코드화 된 표현은 거리 테이블 및/또는 방향 테이블의 한 세트를 포함한다.
46. 항목 45의 방법에서, 코딩 된 표현은 슬라이스 헤더 레벨, 타일 그룹 헤더 레벨, 타일 헤더 레벨, 픽처 헤더 레벨, 픽처 파라미터 세트 레벨, 시퀀스 파라미터 세트 레벨, 또는 비디오 파라미터 세트 레벨에서 사용 가능한 거리 값을 이동하는 방법에 대한 표시를 포함한다.
47. 항목 46의 방법에서, 표시는 시그널링 된 거리 테이블을 사용할 것인지, 거리 값을 정수 M만큼 왼쪽으로 이동할 것인지, 또는 거리 값을 정수 N만큼 오른쪽으로 이동할 것인지를 타나낸다.
48. 항목 42의 방법에서, UMVE 코딩 도구에 대한 파라미터는 현재 비디오 블록의 크기에 기초하여 선택된다.
49. 항목 48의 방법에서, 크기는 i) 현재 비디오 블록의 너비, ii) 현재 비디오 블록의 높이, 또는 iii) 현재 비디오 블록의 총 픽셀 위치 수 중 적어도 하나에 해당한다.
50. 항목 42의 방법에서, 제1 UMVE 파라미터 세트는 현재 비디오 블록의 코딩 모드에 기초하여 선택된다.
51. 항목 42의 방법에서, 제1 UMVE 파라미터 세트는 현재 픽처 또는 현재 비디오 블록을 포함하는 현재 시퀀스의 해상도에 기초하여 선택된다.
52. 항목 42의 방법에서, 제1 UMVE 파라미터 세트는 선택된 베이스 병합 후보에 기초하여 선택된다.
53. 항목 52의 방법에서, 제1 UMVE 파라미터 세트는 모션 벡터 크기 또는 부호 값 중 적어도 하나에 기초하여 선택된다.
54. 항목 52의 방법에서, 제1 UMVE 파라미터 세트는 참조 픽처, 선택된 베이스 병합 후보의 참조 픽처의 POC 값에 기초하여 선택된다.
55. 항목 52의 방법에서, 선택된 베이스 병합 후보의 모션 벡터가 정수 위치 또는 서브 위치를 가리키는 지의 여부에 기초하여 제1 UMVE 파라미터 세트가 선택된다.
56. 항목 52의 방법에서, 제1 UMVE 파라미터 세트는 선택된 베이스 병합 후보에 의해 나타낸 병합 후보의 카테고리에 기초하여 선택되고, 카테고리는 공간적, 시간적 또는 HMVP(이력 기반 MVP) 중 하나입니다.
57. 항목 52의 방법에서, 제1 UMVE 파라미터 세트는 선택된 베이스 병합 후보에 의해 나타낸 병합 후보가 유도되는 위치에 기초하여 선택된다.
58. 항목 52의 방법에서, 제1 UMVE 파라미터 세트는 선택된 베이스 병합 후보에 의해 나타낸 병합 후보의 인덱스에 기초하여 선택된다.
59. 항목 42의 방법에서, 복수의 UMVE 파라미터 세트 각각은 미리 결정된 모션 벡터 정밀도와 연관된다.
60. 항목 59의 방법에서, 다중 UMVE 파라미터 세트의 수는 하나의 시퀀스, 뷰, 픽처, 슬라이스, 타일 또는 비디오 데이터 처리 유닛에 대해 허용되는 모션 벡터 정밀도에 의존한다.
61. 항목 59의 방법에서, 현재 비디오 블록으로부터 유도된 베이스 병합 후보에 대해, 연관된 AMVR(적응형 모션 벡터 해상도) 인덱스가 물려받게 되어 제1 UMVE 파라미터 세트를 결정한다.
62. 비디오 처리 방법에서, 현재 비디오 블록이 현재 비디오 블록에 대한 시작점, 모션 크기 및 모션 방향을 포함하는 모션 벡터 표현을 나타내는 UMVE(궁극적 동작 벡터 표현) 코딩 도구를 사용한다고 결정할 때 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 위해 UMVE 파라미터 세트를 선택하는 단계를 포함하고, 선택된 UMVE 파라미터 세트는 상이한 비디오 블록, 상이한 참조 픽처 목록, 상이한 참조 픽처, 상이한 타일, 상이한 슬라이스, 상이한 픽처 또는 상이한 시간적 층에 걸쳐 변경된다.
63. 항목 62의 방법에서, UMVE 파라미터 세트의 선택은 베이스 모션 벡터의 수평 컴포넌트 또는 수직 컴포넌트에 의존한다.
64. 항목 42 내지 63 중 어느 하나에서, 각각의 UMVE 파라미터 세트 또는 선택된 UMVE 파라미터 세트는 거리 테이블, 방향 테이블, 또는 UMVE 코딩 도구의 다른 표현 중 적어도 하나를 포함한다.
65. 비디오 처리 방법에서, 현재 비디오 블록에 대한 시작점, 모션 크기 및 모션 방향을 포함하는 모션 벡터 표현을 나타내는 궁극 모션 벡터 표현(UMVE) 코딩 도구를 사용하여 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 수행하는 단계를 포함하고, 적응형 모션 벡터 해상도(adaptive motion vector resolution)(AMVR) 방식은 UMVE 코딩 도구에 의해 사용되는 거리 테이블을 시그널링 하는 데 사용된다.
66. 항목 65의 방법에서, AMVR 정밀도 세트에 정의된 MV 정밀도를 스케일링 할지 여부는 슬라이스 헤더 레벨, 타일 그룹 헤더 레벨, 타일 헤더 레벨, 픽처 헤더 레벨, 영상 파라미터 세트 레벨, 시퀀스 파라미터 세트 레벨, 비디오 파라미터 세트 레벨 또는 코딩 유닛 레벨에서 시그널링 된다.
67. 항목 65의 방법에서, AMVR 정밀도의 다중 세트가 정의되거나 시그널링된다.
68. 항목 65의 방법에서, 설정된 인덱스의 표시는 현재 비디오 블록 또는 이전 비디오 블록의 코딩 정보를 사용하여 시그널링 되거나 유도된다.
69. 항목 65의 방법에서, 허용된 AMVR 사전 비전 세트는 서로 다른 비디오 유닛 사이에서 변경된다.
70. 항목 65의 방법에서, 시그널링 된 MV 정밀도 인덱스와 사용된 실제 MV 정밀도 사이의 매핑은 상이한 비디오 유닛들 사이에서 변경된다.
71. 항목 1 내지 70 중 어느 하나의 방법에서, 변환을 수행하는 단계는 현재 블록으로부터 코딩 된 표현을 생성하는 단계를 포함한다.
72. 항목 1 내지 70 중 어느 하나의 방법에서, 변환을 수행하는 단계는 코딩 된 표현으로부터 현재 블록을 생성하는 단계를 포함한다.
73. 프로세서 및 그 위에 명령을 갖는 비 일시적 메모리를 포함하는 비디오 시스템의 장치에서, 프로세서에 의해 실행될 때의 명령은 프로세서로 하여금 항목 1 내지 72 중 어느 하나의 방법을 구현하게 한다.
74. 비 일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램에서, 컴퓨터 프로그램은 항목 1 내지 72 중 어느 하나의 방법을 수행하기 위한 프로그램 코드를 포함한다.
다섯 번째 항목 세트는 예를 들어 아이템 18 내지 25를 포함하여, 이전 섹션에 나열된 개시된 기술의 특정 특징 및 측면을 설명한다.
1. 비디오 처리 방법에서,
비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 위해, 현재 비디오 블록의 예측이 두 개의 참조 목록으로부터 불균일하게 가중된 예측자(predictor)의 합에 대응하는 최종 예측자를 사용하는 일반화된 이중 예측(generalized bi-prediction)(GBi) 코딩 도구의 동작 모드를 결정하는 단계; 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함하고, 상기 코딩 된 표현의 필드는 동작 모드에 대응하고 필드의 값은 GBI 코딩 도구가 현재 비디오 블록에 대해 활성화 또는 비활성화되는지 여부를 나타낸다.
2. 항목 1의 방법에서, 필드는 GBI 코딩 도구가 슬라이스 레벨, 타일 레벨 또는 픽처 레벨에서 활성화 또는 비활성화됨을 나타낸다.
3. 항목 1의 방법에서, 필드는 슬라이스 헤더, 타일 헤더 또는 픽처 파라미터 세트에 포함된다.
4. 항목 1 내지 3 중 어느 하나의 방법에서, 현재 비디오 블록의 픽처가 임계 값보다 큰 값을 갖는 시간 계층에 대응하는 경우, 필드는 GBi 코딩 도구가 현재 비디오 블록에 대해 비활성화된다.
5. 항목 4의 방법에서, 문턱 값이 3 이다.
6. 항목 1 내지 5 중 어느 하나의 방법에서, GBi 코딩 도구는 제1 픽처와 다른 제2 픽처에 의해 참조되지 않는 제1 픽처의 현재 비디오 블록에 대해 비활성화된다.
7. 항목 1의 방법에서, GBi 코딩 도구는 임계 값보다 큰 양자화 파라미터를 사용하는 현재 비디오 블록에 대해 비활성화된다.
8. 비디오 처리 방법에서, 현재 비디오 블록의 예측이 두 참조 목록의 예측 변수의 불균일하게 가중된 합계에 대응하는 최종 예측 변수를 사용하여 GBi 코딩 도구의 파라미터를 제어하는 규칙에 기초하여, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 수행하는 단계를 포함하고, 상기 규칙은 GBi 코딩 도구에 의해 사용되는 가중치 계수 세트(weighting factor set)가 i) 현재 비디오 블록을 포함하는 픽처의 시간적 층, ii) 픽처의 픽처 양자화 파라미터, 또는 iii) 현재 비디오 블록의 양자화 파라미터에 기초하도록 지정한다.
9. 항목 8의 방법에서, 규칙은 더 높은 시간 레이어 비디오 사진에서 더 적은 가중치를 사용하도록 지정한다.
10. 항목 8의 방법에서, 규칙은 더 높은 양자화 파라미터 값에 더 적은 가중치를 사용하도록 지정한다.
11. 항목 8의 방법에서, 코딩 된 표현은 GBi 코딩 도구에 의해 사용하기 위한 적어도 하나의 추가 가중치 계수 세트를 더 포함한다.
12. 항목 11의 방법에서, 추가 가중치 팩터 세트는 슬라이스 헤더 레벨, 타일 그룹 헤더 레벨, 타일 헤더 레벨, 픽처 헤더 레벨, 픽처 파라미터 세트 레벨, 시퀀스 파라미터 세트 레벨 또는 비디오 파라미터 세트 레벨에서 나타낸다.
13. 비디오 처리의 방법에서, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 위해, 단일 예측 모드에 대해 1과 동일하지 않은 가중치를 사용하도록 결정하는 단계; 및 결정하는 단계에 기초하여 변환을 수행하는 단계를 포함하고, 상기 현재 비디오 블록의 예측은 가중치에 의해 스케일링 된 예측자에 대응하는 최종 예측자를 사용하고, 가중치 계수 세트는 블록 레벨 또는 코딩 유닛 레벨에서 선택된다.
14. 항목 13의 방법에서, 가중치 인텍스는 적응형 모션 벡터 예측(AMVP) 모드 또는 아핀 인터 모드 중 하나 이상에 대해 시그널링 되고, 및 가중치 인덱스는 병합 모드, UMVE 모드 또는 아핀 병합 모드 또는 오프셋이 있는 아핀 병합 모드 중 적어도 하나에서 물려받게 되고, 및 UMVE 모드는 현재 비디오 블록에 대한 시작점, 모션 크기 및 모션 방향을 포함하는 모션 벡터 표현을 포함한다.
15. 항목 1 내지 14 중 어느 하나의 방법에서, 변환을 수행하는 단계는 다중 오프셋 세트 중 하나로부터의 오프셋 값을 사용하여 변환 동안 계산된 모션 보상 블록을 정제하는 단계를 포함한다.
16. 항목 15의 방법에서, 오프셋 인덱스는 블록 레벨 또는 코딩 유닛 레벨에서 시그널링 된다.
17. 항목 15의 방법에서, 오프셋 인덱스는 병합 모드, 궁극 모션 벡터 표현(UMVE) 모드, 아핀 병합 모드 또는 오프셋이 있는 아핀 병합 모드 중 적어도 하나에서 물려받게 되고, UMVE 모드는 현재 비디오 블록에 대한 시작점, 모션 크기 및 모션 방향을 포함하는 모션 벡터 표현을 포함한다.
18. 비디오 처리 방법에서, 현재 비디오 블록의 예측이 두 참조 목록의 예측 변수의 불균일하게 가중된 합계에 대응하는 최종 예측 변수를 사용하여 GBi 코딩 도구의 파라미터를 제어하는 규칙에 기초하여, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 수행하는 단계를 포함하고, 여기서 규칙은 현재 비디오 블록의 이웃 픽셀 및 현재 비디오 블록의 모션 벡터의 정수 부분에 의해 식별되는 대응하는 참조 이웃 픽셀에 기초하여 GBi 코딩 도구에 대한 가중치 계수를 선택하거나 유도하도록 지정한다.
19. 항목 18의 방법에서, GBi 인덱스의 시그널링이 삭제된다.
20. 항목 18의 방법에서, 코딩 된 표현의 필드는 기본 등가 가중치 계수(default equal weighting factor)를 사용할지 또는 선택되거나 유도된 가중치를 사용할지 여부를 나타낸다.
21. 항목 18의 방법에서, 현재 비디오 블록에 대한 가중치 계수는 미리 정의된 가중치 계수 세트로부터 선택되어 가중치 계수를 사용하여 두 개의 참조 목록으로부터 참조 이웃 픽셀의 평균화 결과와 현재 비디오 블록의 이웃 픽셀 사이에 최소 차이를 갖도록 설정된다.
22. 항목 18의 방법에서, GBi 가중치는 현재 비디오 블록의 이웃 픽셀의 합계 또는 평균을 나타내는 S0 및 S1, S0이 및 이웃 픽셀의 합계 또는 평균을 나타내는 S1에 의해 유도된다.
23. 비디오 처리 방법에서, 현재 비디오 블록의 예측이 두 참조 목록의 예측 변수의 불균일하게 가중된 합계에 대응하는 최종 예측 변수를 사용하여 GBi 코딩 도구의 파라미터를 제어하는 규칙에 기초하여, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 수행하는 단계를 포함하고, 상기 규칙은 현재 비디오 블록의 이웃 픽셀 및 현재 비디오 블록의 모션 벡터의 정수 부분에 의해 식별된 대응하는 참조 이웃 픽셀에 기초하여 GBi 코딩 도구에 대한 가중치 계수를 재정렬하도록 지정한다.
24. 항목 23의 방법에서, 현재 비디오 블록에 대한 가중치는 가중치를 사용하여 두 참조 목록에서 참조 주변 픽셀을 평균 한 결과와 현재 비디오 블록의 주변 픽셀의 차이를 기반으로 재정렬된다.
25. 비디오 처리 방법에서, 현재 비디오 블록의 예측이 두 참조 목록의 예측 변수의 불균일하게 가중된 합계에 대응하는 최종 예측 변수를 사용하여 GBi 코딩 도구의 파라미터를 제어하는 규칙에 기초하여, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 수행하는 단계를 포함하고, 규칙은 GBi 코딩 도구에 대한 가중치 계수를 결정하기 위해 현재 비디오 블록과 연관된 로컬 조명 보상(local illumination compensation)(LIC) 파라미터를 사용하도록 지정하고, 및 상기 LIC 파라미터는 변환 동안 현재 블록에서 조명 변화의 선형 모델을 사용하도록 유도된다.
26. 항목 25의 방법에서, LIC 파라미터를 유도하기 위한 오프셋은 0이고 가중치 계수 만이 GBi 코딩 도구에서 사용된다.
27. 항목 25의 방법에서, LIC 파라미터의 오프셋 및 가중치는 GBi 코딩 도구에서 사용된다.
28. 항목 25의 방법에서, 규칙은 현재 비디오 블록도 병합 모드, UMVE 모드, 아핀 병합 모드 또는 오프셋이 있는 아핀 병합 모드 중 적어도 하나를 사용하는 경우 이웃 비디오 블록의 인덱스에서 현재 비디오 블록에 대한 GBi 인덱스를 물려받도록 지정하고, 및 여기서 UMVE 모드는 현재 비디오 블록에 대한 시작점, 모션 크기 및 모션 방향을 포함하는 모션 벡터 표현을 포함한다.
29. 항목 25의 방법에서, 규칙은 물려받은 이웃 가중치 계수가 LIC 파라미터와 동일한 경우 현재 비디오 블록의 변환을 위한 추가 LIC 파라미터를 유도하도록 지정한다.
30. 항목 1 내지 29 중 어느 하나의 방법에서, 변환을 수행하는 단계는 현재 블록으로부터 코딩 된 표현을 생성하는 단계를 포함한다.
31. 항목 1 내지 29 중 어느 하나의 방법에서, 변환을 수행하는 단계는 코딩 된 표현으로부터 현재 블록을 생성하는 단계를 포함한다.
32. 프로세서 및 그 위에 명령어가 있는 비 일시적 메모리를 포함하는 비디오 시스템의 장치에서, 프로세서에 의해 실행될 때의 명령어는 프로세서로 하여금 항목 1 내지 31 중 어느 하나의 방법을 구현하게 한다.
33. 비 일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램에서, 항목 1 내지 31 중 어느 하나의 방법을 수행하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램.
여섯 번째 항목 세트는, 예를 들어 아이템 5, 6 및 7을 포함하여, 이전 섹션에 나열된 개시된 기술의 특정 특징 및 측면을 설명한다.
1. 비디오 처리 방법에서, 비디오의 하나 이상의 비디오 블록과 상기 비디오의 코딩 된 표현 사이의 변환을 수행하는 단계를 포함하고, 상기 코딩 된 표현의 제1 필드는 부분 샘플 정밀도가 상기 변환 동안 사용된 모션 벡터 차이(MMVD)와 병합에서 모션 거리를 나타내기 위해 사용되는지 여부를 나타내고, 및 상기 MMVD 모드는 상기 현재 비디오 블록에 대한 시작점, 모션 거리 및 모션 방향을 포함하는 모션 벡터 표현을 포함한다.
2. 항목 1의 방법에서, 상기 제1 필드는 플래그이다.
3. 항목 2의 방법에서, 상기 플래그는 슬라이스, 타일 그룹, 타일, 픽처, 시퀀스, 비디오 또는 코딩 유닛 레벨로 시그널링 된다.
4. 항목 3의 방법에서, 상기 플래그는 슬라이스 헤더, 타일 그룹 헤더, 픽처 헤더, 픽처 파라미터 세트(PPS), 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS) 또는 코딩 유닛에서 시그널링 된다.
5. 항목 1의 방법에서, 상기 플래그는 MMVD 활성화 필드가 상기 MMVD 모드가 활성화되었음을 나타내는 경우에 시그널링 된다.
6. 항목 1의 방법에서, 상기 변환을 수행하는 단계는, 상기 현재 비디오 블록과 연관된 모션 거리에 기초하여, 상기 MMVD 모드를 사용하여 상기 비디오의 현재 비디오 블록과 상기 비디오의 코딩 된 표현 사이의 변환을 수행하는 단계를 포함한다.
7. 항목 1 내지 6 중 어느 하나의 방법에서, 상기 플래그는 상기 부분 샘플 정밀도가 사용되지 않음을 나타내고, 상기 변환은 상기 변환을 위해 정수 샘플 정밀도를 사용한다.
8. 항목 6의 방법에서, 상기 현재 비디오 블록과 연관된 모션 거리는 모션 거리 인덱스로 표현되고, 상기 변환은 상기 모션 거리 인덱스를 인코딩 하기 위해 상기 모션 거리 인덱스의 잘린 단을 사용하는 단계를 포함하고, 허용된 모션 거리 인덱스의 최대 값은 허용된 정수 모션 거리의 수에 의존하고, 및 상기 플래그는 부분 샘플 정밀도가 사용되지 않음을 나타낸다.
9. 항목 6의 방법에서, 상기 현재 비디오 블록과 연관된 모션 거리는 모션 거리 인덱스로 표현되고, 상기 변환은 상기 모션 거리 인덱스를 디코딩 하기 위해 상기 모션 거리 인덱스의 잘린 단을 사용하는 단계를 포함하고, 허용된 모션 거리 인덱스의 최대 값은 허용된 정수 모션 거리의 수에 의존하고, 및 상기 플래그는 부분 샘플 정밀도가 사용되지 않음을 나타낸다.
10. 항목 1 내지 6 중 어느 하나의 방법에서, 기본 모션 거리 테이블의 복수의 요소 각각은 정수 샘플 정밀도에 대한 정수 모션 거리를 생성하기 위해 계수를 곱해진다.
11. 항목 1 내지 6 중 어느 하나의 방법에서, 부분 샘플 정밀도가 사용되지 않음을 나타내는 상기 항목 1 필드를 갖는 비디오 유닛에 포함된 항목 1 비디오 블록에 대해, 및 부분 샘플 정밀도가 사용됨을 나타내는 상기 항목 1 필드를 갖는 비디오 유닛에 포함된 항목 2 비디오 블록에 대해, 상기 항목 1 및 항목 2 비디오 블록에 동일한 모션 거리 인덱스를 사용하는 경우, 상기 항목 1 블록에 대한 상기 대응하는 모션 거리는 계수를 상기 항목 2 비디오 블록의 상기 모션 거리에 곱함으로써 생성된다.
12. 항목 10의 방법에서, 상기 계수는 4 이다.
13. 항목 1의 방법에서, 상기 항목 1 필드는 슬라이스 헤더, 타일 그룹 헤더, 타일 헤더, 픽처 헤더, 픽처 파라미터 세트(PPS), 시퀀스 파라미터 세트(SPS), 비디오 파라미터 세트(VPS) 또는 코딩 유닛의 예측 오프셋이 있는 아핀 병합 모드에 대해 시그널링 된다.
14. 항목 5의 방법에서, 상기 항목 1 필드는 모션 벡터 차이(MVD) 오프셋이 사용되는 아핀 병합 모드의 사용에 기초하여 시그널링 된다.
15. 항목 1의 방법에서, 상기 항목 1 필드는 항목 1 플래그와 항목 2 플래그를 포함하고, 상기 항목 1 플래그는 픽처 파라미터 세트(PPS), 시퀀스 파라미터 세트(SPS) 또는 비디오 파라미터 세트(VPS)에서 시그널링 되고, 및 상기 항목 2 플래그가 상기 PPS, 슬라이스 헤더, 타일 그룹 헤더 또는 타일 헤더에서 시그널링 된다는 것을 나타낸다.
16. 항목 15의 방법에서, 상기 항목 1 플래그는 거짓을 나타내고, 부분 모션 거리가 활성화되고, 및 상기 항목 2 플래그는 시그널링 되지 않는다.
17. 항목 15의 방법에서, 상기 항목 1 플래그는 참을 나타내고, 부분 모션 거리가 활성화되고, 및 상기 항목 2 플래그는 시그널링 되지 않는다.
18. 항목 15의 방법에서, 상기 항목 1 플래그는 참을 나타내고, 및 부분 모션 거리가 비활성화되고, 및 상기 항목 2 플래그는 시그널링 된다.
19. 항목 15의 방법에서, 상기 항목 1 플래그는 거짓을 나타내고, 및 부분 모션 거리가 비활성화되고, 및 상기 항목 2 플래그는 시그널링 된다.
20. 항목 18 또는 19의 방법에서, 상기 항목 2 플래그는 참을 나타내고, 및 부분 모션 거리는 픽처, 슬라이스, 타일 그룹, 또는 타일에 대해 활성화된다.
21. 항목 18 또는 19의 방법에서, 상기 항목 2 플래그는 거짓을 나타내고, 및 부분 모션 거리는 픽처, 슬라이스, 타일 그룹, 또는 타일에 대해 활성화된다.
22. 항목 18 또는 19의 방법에서, 항목 2 플래그는 참을 나타내고, 및 부분 모션 거리는 픽처, 슬라이스, 타일 그룹, 또는 타일에 대해 비활성화된다.
23. 항목 18 또는 19의 방법에서, 상기 항목 2 플래그는 거짓을 나타내고, 및 부분 모션 거리는 픽처, 슬라이스, 타일 그룹, 또는 타일에 대해 비활성화된다.
24. 항목 1의 방법에서, 상기 변환은 부분 모션 거리가 사용되지 않음을 나타내는 상기 항목 1 필드에 기초하여 정수 정밀도 보다 낮은 정밀도를 갖는 정수 모션 거리 또는 모션 거리 중 하나 또는 둘 모두를 사용한다.
25. 항목 1의 방법에서, 상기 항목 1 필드는 모션 벡터 차이(MMVD) 오프셋을 갖는 병합 모드 또는 모션 벡터 차이(MVD) 오프셋을 갖는 아핀 병합 모드 중 하나 또는 둘 모두에 의해 공유된다.
26. 항목 1의 방법에서, 상기 항목 1 필드는 모션 벡터 차이(MMVD) 오프셋을 갖는 병합 모드 및 모션 벡터 차이(MVD) 오프셋을 갖는 아핀 병합 모드의 사용을 개별적으로 시그널링 한다.
27. 비디오 처리 방법에서, 비디오의 현재 비디오 블록과 상기 비디오의 코딩 된 표현 사이의 변환을 수행하는 단계를 포함하고, 상기 코딩 된 표현은 상기 변환 동안 사용되는 고급 모션 벡터 예측(AMVP) 모드 또는 아핀 인터 모드에 대해 부분 모션 벡터(MV) 또는 모션 벡터 차이(MVD) 정밀도가 허용되는지를 나타내는 플래그를 포함한다.
28. 항목 27의 방법에서, 상기 플래그는 슬라이스 헤더, 타일 그룹 헤더, 타일 헤더, 픽처 헤더, 픽처 파라미터 세트(PPS), 시퀀스 파라미터 세트(SPS), 또는 비디오 파라미터 세트(VPS)에서 시그널링 된다.
29. 항목 27의 방법에서, 상기 플래그는 허용되는 적응형 모션 벡터 해상도(AMVR)의 사용에 기초하여 시그널링 된다.
30. 항목 27의 방법에서, 상기 플래그는 허용되는 아핀 인터 모드에 대한 적응형 모션 벡터 해상도(AMVR)의 사용에 기초하여 시그널링 된다.
31. 항목 27의 방법에서, 상기 플래그는 항목 1 플래그와 항목 2 플래그를 포함하고, 상기 항목 1 플래그는 픽처 파라미터 세트(PPS), 시퀀스 파라미터 세트(SPS) 또는 비디오 파라미터 세트(VPS)에서 시그널링 되고 상기 항목 2 플래그가 상기 PPS, 슬라이스 헤더, 타일 그룹 헤더 또는 타일 헤더에서 시그널링 됨을 나타낸다.
32. 항목 31의 방법에서, 제1 플래그는 거짓이고, 부분 모션 벡터(MV) 또는 모션 벡터 차이(MVD)가 활성화되고, 및 제2 플래그는 시그널링 되지 않는다.
33. 항목 31의 방법에서, 상기 제1 플래그는 참이고, 부분 모션 벡터(MV) 또는 모션 벡터 차이(MVD)가 활성화되고, 및 상기 제2 플래그는 시그널링 되지 않는다.
34. 항목 31의 방법에서, 상기 제1 플래그는 참이고, 부분 모션 벡터(MV) 또는 모션 벡터 차이(MVD)가 비활성화되고, 및 상기 제2 플래그는 시그널링 된다.
35. 항목 3의 방법1에서, 상기 제1 플래그는 거짓이고, 부분 모션 벡터(MV) 또는 모션 벡터 차이(MVD)가 비활성화되고, 및 상기 제2 플래그는 시그널링 된다.
36. 항목 31의 방법에서, 상기 제2 플래그는 참이고, 픽처, 슬라이스, 타일 그룹 또는 타일에 대해 부분 모션 벡터(MV) 또는 모션 벡터 차이(MVD)가 활성화된다.
37. 항목 31의 방법에서, 상기 제2 플래그는 거짓이고, 픽처, 슬라이스, 타일 그룹 또는 타일에 대해 부분 모션 벡터(MV) 또는 모션 벡터 차이(MVD)가 활성화된다.
38. 항목 31의 방법에서, 상기 제2 플래그는 참이고, 픽처, 슬라이스, 타일 그룹 또는 타일에 대해 부분 모션 벡터(MV) 또는 모션 벡터 차이(MVD)가 비활성화된다.
39. 항목 31의 방법에서, 상기 제2 플래그는 거짓이고, 픽처, 슬라이스, 타일 그룹 또는 타일에 대해 부분 모션 벡터(MV) 또는 모션 벡터 차이(MVD)가 비활성화된다.
40. 항목 27의 방법에서, 부분 모션 벡터(MV) 또는 모션 벡터 차이(MVD)는 허용되지 않고, 및 정수 예측 MV 또는 MVD가 허용된다.
41. 항목 27의 방법에서, 부분 모션 벡터(MV) 또는 모션 벡터 차이(MVD)는 허용되지 않고, 및 MV 또는 MVD에 대해 정수 정밀도 또는 정수 정밀도보다 낮은 정밀도 중 하나 또는 둘 모두가 허용된다.
42. 항목 27의 방법에서, 상기 변환에는 MV 또는 MVD 정밀도의 수에 기초하여 적응 모션 벡터 해상도(AMVR) 인덱스를 인코딩 하기 위해 잘린 단 코드를 사용하는 단계를 포함하고, 및 상기 플래그는 부분 MV 또는 MVD가 허용되지 않음을 나타낸다.
43. 항목 27의 방법에서, 상기 플래그는 적응형 모션 벡터 해상도(AMVR) 모드 및 아핀 인터 모드를 위한 AMVR에 대해 개별적으로 시그널링 된다.
44. 항목 27의 방법에서, 상기 플래그는 적응형 모션 벡터 해상도(AMVR) 모드 및 아핀 인터 모드를 위한 AMVR 모두에 대해 시그널링 되고 공유된다.
45. 항목 27의 방법에서, 상기 플래그는 적응형 모션 벡터 해상도(AMVR) 모드, 아핀 인터 모드를 위한 AMVR, 궁극 모션 벡터 표현(UMVE) 모드 또는 MVD 오프셋이 있는 아핀 병합 모드 중 둘 이상에 대해 시그널링 되고 공유된다.
46. 항목 1 내지 45 중 어느 하나의 방법에서, 상기 변환을 수행하는 단계는 상기 현재 블록으로부터 상기 코딩 된 표현을 생성하는 단계를 포함한다.
47. 항목 1 내지 45 중 어느 하나의 방법에서, 상기 변환을 수행하는 단계는 상기 코딩 된 표현으로부터 상기 현재 블록을 생성하는 단계를 포함한다.
48. 프로세서 및 그 위에 명령이 있는 비 일시적 메모리를 포함하는 비디오 시스템의 장치에서 상기 프로세서에 의해 실행될 때의 상기 명령은 상기 프로세서로 하여금 항목 1 내지 항목 47 중 어느 하나 이상의 방법에서 언급된 방법을 구현하도록 하는 비디오 시스템의 장치.
49. 비 일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램에서 항목 1 내지 47 중 어느 하나에 기재된 방법을 수행하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램.
일곱 번째 항목 세트는, 예를 들어 아이템 17을 포함하여 이전 섹션에 나열된 개시된 기술의 특정 특징 및 측면을 설명한다.
1. 비디오 처리 방법에서, 코딩 된 표현의 포맷을 지정하는 규칙에 따라, 비디오의 현재 픽처의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 수행하는 단계를 포함하고, 상기 규칙은 현재 비디오 블록의 변환에 사용되는 모든 참조 블록이 현재 픽처의 샘플로부터 획득되는지 여부에 기초하여 코딩 모드에 대한 신텍스 요소가 코딩 된 표현에 포함되도록 지정한다.
2. 항목 1의 방법에서, 현재 비디오 블록의 변환에 사용되는 모든 참조 블록이 현재 픽처의 샘플로부터 획득되는 경우, 아핀 모드에 대한 신텍스 요소는 코딩 된 표현에 포함되지 않는다. .
3. 항목 1의 방법에서, 현재 비디오 블록의 변환에 사용되는 모든 참조 블록이 현재 픽처의 샘플로부터 획득되는 경우, 서브 블록 기반 병합 모드에 대한 신텍스 요소는 코딩 된 표현에 포함되지 않는다.
4. 항목 1의 방법에서, 다중 가설 인트라 및 인터 예측 모드에 대한 신텍스 요소는 현재 비디오 블록의 변환에 사용된 모든 참조 블록이 현재 사진의 샘플에서 획득되는 경우 코딩 된 표현에 포함되지 않는다.
5. 항목 1의 방법에서, 삼각형 예측 모드를 위한 신텍스 요소는 현재 비디오 블록의 변환에 사용되는 모든 참조 블록이 현재 픽처의 샘플로부터 획득되는 경우 코딩 된 표현에 포함되지 않는다.
6. 항목 1의 방법에서, 모션 벡터 차이(MVD)가 있는 모드를 위한 신텍스 요소는 현재 비디오 블록의 변환에 사용되는 모든 참조 블록이 현재 픽처의 샘플에서 획득되는 경우 코딩 된 표현에 포함되지 않는다. MMVD 모드는 현재 비디오 블록에 대한 시작점, 모션 거리 또는 모션 방향 중 적어도 하나를 포함하는 모션 벡터 표현을 포함한다.
7. 항목 1의 방법에서, 코딩 모드는 아핀 모드, 서브 블록 기반 병합 모드, 다중 가설 인트라 또는 인터 예측 모드, 삼각형 예측 모드 또는 MMVD 모드이고, MMVD 모드는 현재 비디오 블록에 대한 시작점, 모션 거리 또는 모션 방향 중 적어도 하나를 포함하는 모션 벡터 표현을 포함한다.
8. 항목 1 내지 7 중 어느 하나의 방법에서, 변환을 수행하는 단계는 현재 블록으로부터 코딩 된 표현을 생성하는 단계를 포함한다.
9. 항목 1 내지 7 중 어느 하나의 방법에서, 변환을 수행하는 단계는 코딩 된 표현으로부터 현재 블록을 생성하는 단계를 포함한다.
10. 프로세서 및 그 위에 명령을 갖는 비 일시적 메모리를 포함하는 비디오 시스템의 장치로서, 프로세서에 의해 실행될 때의 명령은 프로세서로 하여금 항목 1 내지 9 중 어느 하나의 방법을 구현하게 한다.
11. 비 일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램에서, 항목 1 내지 9 중 어느 하나의 방법을 수행하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램.
이 문서에 설명된 모듈 및 기능적 작업의 구현은 본 명세서에 개시된 구조 및 그 구조적 등가물을 포함하거나, 이들 중 하나 이상의 조합을 포함하는 디지털 전자 회로 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있다. 개시된 다른 실시예는 하나 이상의 컴퓨터 프로그램 제품으로 구현될 수 있으며, 즉 데이터 처리 장치에 의한 실행을 위해 또는 데이터 처리 장치의 동작을 제어하기 위해 컴퓨터 판독 가능 매체에 인코딩 된 컴퓨터 프로그램 명령의 하나 이상의 모듈이다. 컴퓨터 판독 가능 매체는 기계 판독 가능 저장 장치, 기계 판독 가능 저장 기판, 메모리 장치, 기계 판독 가능 전파 신호에 영향을 미치는 물질의 구성, 또는 이들 중 하나 이상의 조합 일 수 있다. 용어 "데이터 처리 장치(data processing apparatus)"는 데이터 처리를 위한 모든 장치, 장치 및 기계를 포함하며, 예를 들어 프로그램 가능한 프로세서, 컴퓨터 또는 다중 프로세서 또는 컴퓨터를 포함한다. 이 장치는 하드웨어 외에도 해당 컴퓨터 프로그램의 실행 환경을 생성하는 코드를 포함할 수 있으며, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제 또는 이들 중 하나 이상의 조합을 구성하는 코드이다. 전파된 신호는 인공적으로 생성된 신호, 예를 들어 기계 생성 전기, 광학 또는 전자기 신호로, 적절한 수신기 장치로의 전송을 위해 정보를 인코딩 하기 위해 생성된다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 응용 프로그램, 스크립트 또는 코드라고도 함)은 컴파일 된 언어 나 해석된 언어를 포함하여 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 독립형 프로그램 또는 모듈, 구성 요소, 서브 루틴 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 유닛을 포함하는 모든 형태로 배포될 수 있다. 컴퓨터 프로그램이 반드시 파일 시스템의 파일에 해당하는 것은 아니다. 프로그램은 다른 프로그램이나 데이터(예를 들어, 마크 업 언어 문서에 저장된 하나 이상의 스크립트)를 보유하는 파일의 일부, 해당 프로그램 전용의 단일 파일, 또는 여러 조정 파일(예를 들어, 하나 이상의 모듈, 서브 프로그램 또는 코드 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 한 사이트에 위치하거나 여러 사이트에 분산되고 통신 네트워크로 상호 연결된 여러 컴퓨터에서 실행되도록 배포될 수 있다.
본 문서에 설명된 프로세스 및 로직 흐름은 입력 데이터에 대해 작동하고 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍 가능한 프로세서에 의해 수행될 수 있다. 프로세스 및 로직 흐름은 또한 FPGA(필드 프로그래밍 가능 게이트 어레이) 또는 ASIC(애플리케이션 특정 집적 회로)와 같은 특수 목적 로직 회로로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어 범용 및 특수 목적의 마이크로 프로세서와 모든 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로 프로세서는 읽기 전용 메모리 나 랜덤 액세스 메모리 또는 둘 다에서 명령과 데이터를 수신한다. 컴퓨터의 필수 요소는 명령을 수행하기 위한 프로세서와 명령과 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치, 예를 들어 자기, 광 자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 데이터를 전송하거나 둘 모두를 포함하거나 작동 가능하게 결합된다. 그러나 컴퓨터에는 이러한 장치가 필요하지 않다. 컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는 예를 들어 EPROM, EEPROM 및 플래시 메모리 장치와 같은 반도체 메모리 장치: 자기 디스크, 예를 들어 내부 하드 디스크 또는 이동식 디스크; 광 자기 디스크; 및 CD ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비 휘발성 메모리, 매체 및 메모리 장치를 포함한다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
이 특허 문서에는 많은 세부 사항이 포함되어 있지만, 이는 모든 주제의 범위 또는 청구 대상에 대한 제한으로 해석되어서는 안되며, 특정 기술의 특정 실시 예에 특정할 수 있는 특징에 대한 설명으로 해석되어야 한다. 개별 실시 예의 맥락에서 본 특허 문서에 설명된 특정 특징은 또한 단일 실시 예에서 조합하여 구현될 수 있다. 반대로, 단일 실시 예의 맥락에서 설명된 다양한 특징은 또한 다중 실시 예에서 개별적으로 또는 임의의 적절한 서브 조합으로 구현될 수 있다. 더욱이, 특징이 특정 조합으로 작용하는 것으로 위에서 설명될 수 있고 심지어 처음에 그렇게 주장될 수도 있지만, 청구된 조합에서 하나 이상의 특성이 경우에 따라 조합에서 제외될 수 있다. 청구된 조합은 서브 조합 또는 서브 조합의 변형에 대한 것일 수 있다.
마찬가지로, 작업은 특정 순서로 도면에 나타내지만, 이는 바람직한 결과를 달성하기 위해 그러한 동작이 도시된 특정 순서 또는 순차적 인 순서로 수행되거나 모든 예시된 동작이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 더욱이, 이 특허 문헌에 설명된 실시 예에서 다양한 시스템 구성 요소들의 분리는 모든 실시 예에서 그러한 분리를 요구하는 것으로 이해되어서는 안된다.
단지 몇 가지 구현 및 예가 설명되고 다른 구현, 향상 및 변형은이 특허 문서에서 설명되고 예시된 것에 기초하여 이루어질 수 있다.

Claims (49)

  1. 비디오 데이터 처리 방법에 있어서,
    비디오의 현재 비디오 유닛에 대한 병합 후보 목록을 구성하는 단계;
    상기 병합 후보 목록으로부터 제1 모션 벡터를 생성하는 단계;
    모션 거리 및 모션 방향을 기반으로 모션 벡터 차이 오프셋을 결정하는 단계;
    상기 모션 벡터 차이 오프셋에 기초하여 모션 벡터 차이 (MVD)를 결정하는 단계;
    상기 MVD 및 상기 제1 모션 벡터에 기초하여 제2 모션 벡터를 결정하는 단계; 및
    상기 제2 모션 벡터에 기초하여 상기 현재 비디오 유닛과 상기 비디오의 비트 스트림 사이의 변환을 수행하는 단계
    를 포함하고;
    상기 모션 거리는,
    모션 거리 인덱스 및 샘플 정밀도에 기초하여 결정되고,
    상기 비트 스트림의 제1 플래그는,
    정수 샘플 정밀도 만이 상기 모션 거리를 나타내기 위해 사용되는지 여부를 나타내고,
    상기 제1 플래그는,
    모션 벡터 차이 활성화 플래그를 갖는 병합 모드가 모션 벡터 차이를 갖는 상기 병합 모드가 활성화되었음을 나타내는 경우에 상기 비트 스트림에 포함되고,
    모션 거리 테이블의 제1 컬럼에서 요소는,
    계수와 상기 모션 거리 테이블의 제2 컬럼에서 동일한 모션 거리 인덱스를 갖는 대응하는 요소의 곱이고,
    상기 제1 플래그가 상기 모션 거리를 나타내기 위해 정수 샘플 정밀도 만 사용됨을 나타낼 때 상기 제1 컬럼은,
    상기 모션 거리를 유도하는 데 사용되고, 및
    상기 제1 플래그가 상기 모션 거리를 나타내기 위해 정수 샘플 정밀도 만 사용되지 않음을 나타낼 때 상기 제2 컬럼은,
    상기 모션 거리를 유도하는 데 사용되고,
    상기 계수는 4 인
    방법.
  2. 제1항에 있어서,
    상기 모션 거리 인덱스는,
    잘린 라이스 프로세스에 의해 이진화 되는
    방법.
  3. 제1항에 있어서,
    상기 제1 플래그는,
    픽처 헤더 레벨인
    방법.
  4. 제3항에 있어서,
    상기 비트 스트림의 제2 플래그는,
    상기 모션 거리를 나타내기 위해 정수 샘플 정밀도 만 활성화되는지 여부를 나타내고, 및
    상기 제2 플래그는,
    시퀀스 파라미터 세트(SPS) 레벨인
    방법.
  5. 제4항에 있어서,
    상기 제1 플래그는,
    거짓을 나타내는 상기 제2 플래그에 응답하여 상기 비트 스트림에 포함되지 않는
    방법.
  6. 제4항에 있어서,
    상기 제1 플래그는,
    참을 나타내는 상기 제2 플래그에 응답하여 상기 비트 스트림에 포함되는
    방법.
  7. 제1항에 있어서,
    상기 변환은,
    상기 현재 비디오 유닛을 상기 비트 스트림으로 인코딩 하는 단계
    를 포함하는
    방법.
  8. 제1항에 있어서,
    상기 변환은,
    상기 비트 스트림으로부터 상기 현재 비디오 유닛을 디코딩 하는 단계
    를 포함하는
    방법.
  9. 프로세서 및 명령들이 있는 비일시적 메모리를 포함하는 비디오 데이터 처리 장치에 있어서,
    상기 명령들은,
    상기 프로세서에 의해 실행될 때,
    프로세서로 하여금:
    비디오의 현재 비디오 유닛에 대한 병합 후보 목록을 구성하고;
    상기 병합 후보 목록으로부터 제1 모션 벡터를 생성하고;
    모션 거리 및 모션 방향에 기초하여 모션 벡터 차이 오프셋을 결정하고;
    상기 모션 벡터 차이 오프셋에 기초하여 상기 모션 벡터 차이 (MVD)를 결정하고;
    상기 MVD 및 상기 제1 모션 벡터에 기초하여 제2 모션 벡터를 결정하고; 및
    상기 제2 모션 벡터에 기초하여 현재 비디오 유닛과 비디오의 비트 스트림 사이의 변환을 수행하도록 하고,
    상기 모션 거리는,
    모션 거리 인덱스 및 샘플 정밀도에 기초하여 결정되고,
    상기 비트 스트림의 제1 플래그는,
    정수 샘플 정밀도 만이 상기 모션 거리를 나타내기 위해 사용되는지 여부를 나타내고,
    상기 제1 플래그는,
    모션 벡터 차이 활성화 플래그를 갖는 병합 모드가 모션 벡터 차이를 갖는 상기 병합 모드가 활성화되었음을 나타내는 경우에 상기 비트 스트림에 포함되고,
    모션 거리 테이블의 제1 컬럼에서 요소는,
    계수와 상기 모션 거리 테이블의 제2 컬럼에서 동일한 모션 거리 인덱스를 갖는 대응하는 요소의 곱이고,
    상기 제1 플래그가 상기 모션 거리를 나타내기 위해 정수 샘플 정밀도 만 사용됨을 나타낼 때 상기 제1 컬럼은,
    상기 모션 거리를 유도하는 데 사용되고, 및
    상기 제1 플래그가 상기 모션 거리를 나타내기 위해 정수 샘플 정밀도 만 사용되지 않음을 나타낼 때 상기 제2 컬럼은,
    상기 모션 거리를 유도하는 데 사용되고,
    상기 계수는,
    4 인
    장치.
  10. 명령들을 저장하는 비일시적 컴퓨터 판독가능 저장 매체에 있어서,
    상기 명령들은,
    프로세서로 하여금,
    비디오의 현재 비디오 유닛에 대한 병합 후보 목록을 구성하고;
    상기 병합 후보 목록으로부터 제1 모션 벡터를 생성하고;
    모션 거리 및 모션 방향에 기초하여 모션 벡터 차이 오프셋을 결정하고;
    상기 모션 벡터 차이 오프셋에 기초하여 상기 모션 벡터 차이 (MVD)를 결정하고;
    상기 MVD 및 상기 제1 모션 벡터에 기초하여 제2 모션 벡터를 결정하고; 및
    상기 제2 모션 벡터에 기초하여 현재 비디오 유닛과 비디오의 비트 스트림 사이의 변환을 수행하도록 하고,
    상기 모션 거리는,
    모션 거리 인덱스 및 샘플 정밀도에 기초하여 결정되고,
    상기 비트 스트림의 제1 플래그는 정수 샘플 정밀도 만이 상기 모션 거리를 나타내기 위해 사용되는지 여부를 나타내고,
    상기 제1 플래그는,
    모션 벡터 차이 활성화 플래그를 갖는 병합 모드가 모션 벡터 차이를 갖는 상기 병합 모드가 활성화되었음을 나타내는 경우에 상기 비트 스트림에 포함되고,
    모션 거리 테이블의 제1 컬럼에서 요소는,
    계수와 상기 모션 거리 테이블의 제2 컬럼에서 동일한 모션 거리 인덱스를 갖는 대응하는 요소의 곱이고,
    상기 제1 플래그가 상기 모션 거리를 나타내기 위해 정수 샘플 정밀도 만 사용됨을 나타낼 때 상기 제1 컬럼은,
    상기 모션 거리를 유도하는 데 사용되고, 및
    상기 제1 플래그가 상기 모션 거리를 나타내기 위해 정수 샘플 정밀도 만 사용되지 않음을 나타낼 때 상기 제2 컬럼은,
    상기 모션 거리를 유도하는 데 사용되고,
    상기 계수는,
    4 인
    비일시적 컴퓨터 판독가능 저장 매체.
  11. 비디오 처리 장치에 의해 수행되는 방법에 의해 생성된 비디오의 비트 스트림을 저장하는 비일시적 컴퓨터 판독가능 기록 매체에 있어서,
    상기 방법은,
    비디오의 현재 비디오 유닛에 대한 병합 후보 목록을 구성하는 단계;
    상기 병합 후보 목록으로부터 제1 모션 벡터를 생성하는 단계;
    모션 거리 및 모션 방향에 기초하여 모션 벡터 차이 오프셋을 결정하는 단계;
    상기 모션 벡터 차이 오프셋에 기초하여 모션 벡터 차이 (MVD)를 결정하는 단계;
    상기 MVD 및 상기 제1 모션 벡터에 기초하여 제2 모션 벡터를 결정하는 단계; 및
    상기 제2 모션 벡터에 기초하여 상기 비트 스트림을 생성하는 단계
    를 포함하고;
    상기 모션 거리는,
    모션 거리 인덱스 및 샘플 정밀도에 기초하여 결정되고,
    상기 비트 스트림의 제1 플래그는,
    정수 샘플 정밀도 만이 상기 모션 거리를 나타내기 위해 사용되는지 여부를 나타내고,
    상기 제1 플래그는,
    모션 벡터 차이 활성화 플래그를 갖는 병합 모드가 모션 벡터 차이를 갖는 상기 병합 모드가 활성화되었음을 나타내는 경우에 상기 비트 스트림에 포함되고,
    모션 거리 테이블의 제1 컬럼에서 요소는,
    계수와 상기 모션 거리 테이블의 제2 컬럼에서 동일한 모션 거리 인덱스를 갖는 대응하는 요소의 곱이고,
    상기 제1 플래그가 상기 모션 거리를 나타내기 위해 정수 샘플 정밀도 만 사용됨을 나타낼 때 상기 제1 컬럼은,
    상기 모션 거리를 유도하는 데 사용되고, 및
    상기 제1 플래그가 상기 모션 거리를 나타내기 위해 정수 샘플 정밀도 만 사용되지 않음을 나타낼 때 상기 제2 컬럼은,
    상기 모션 거리를 유도하는 데 사용되고,
    상기 계수는,
    4 인
    비일시적 컴퓨터 판독가능 기록 매체.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
KR1020217017405A 2018-12-21 2019-12-20 모션 벡터 차이 모드에서 병합시 모션 벡터 정밀도 KR102662036B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
CN2018122626 2018-12-21
CNPCT/CN2018/122626 2018-12-21
CN2018125417 2018-12-29
CNPCT/CN2018/125417 2018-12-29
CN2019072814 2019-01-23
CNPCT/CN2019/072814 2019-01-23
PCT/CN2019/126990 WO2020125750A1 (en) 2018-12-21 2019-12-20 Motion vector precision in merge with motion vector difference mode

Publications (2)

Publication Number Publication Date
KR20210106427A KR20210106427A (ko) 2021-08-30
KR102662036B1 true KR102662036B1 (ko) 2024-05-03

Family

ID=71100217

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217017405A KR102662036B1 (ko) 2018-12-21 2019-12-20 모션 벡터 차이 모드에서 병합시 모션 벡터 정밀도

Country Status (6)

Country Link
US (1) US11310508B2 (ko)
EP (2) EP4307667A3 (ko)
JP (2) JP7209092B2 (ko)
KR (1) KR102662036B1 (ko)
CN (3) CN113196773B (ko)
WO (2) WO2020125751A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113016185B (zh) 2018-11-17 2024-04-05 北京字节跳动网络技术有限公司 以运动矢量差分模式控制Merge
WO2020141884A1 (ko) * 2019-01-02 2020-07-09 엘지전자 주식회사 Cpr 기반 mmvd를 사용하는 영상 코딩 방법 및 장치
WO2020141928A1 (ko) * 2019-01-04 2020-07-09 엘지전자 주식회사 영상 코딩 시스템에서 mmvd 에 따른 예측에 기반한 영상 디코딩 방법 및 장치
CN112369033B (zh) * 2019-03-08 2024-10-11 Jvc建伍株式会社 动图像编码装置、动图像编码方法、动图像解码装置以及动图像解码方法
KR102221581B1 (ko) * 2019-06-27 2021-03-02 삼성전자주식회사 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치
CN110545424B (zh) * 2019-08-21 2021-05-11 浙江大华技术股份有限公司 基于mmvd模式的帧间预测方法、视频编码方法及相关装置、设备
CN114365490B (zh) 2019-09-09 2024-06-18 北京字节跳动网络技术有限公司 高精度图像和视频编解码的系数缩放
CN114731392A (zh) 2019-09-21 2022-07-08 北京字节跳动网络技术有限公司 用于图像和视频编解码的高精度变换和量化
US12120308B2 (en) * 2021-10-20 2024-10-15 Tencent America LLC Methods and devices for restriction on motion vector difference
US20230132329A1 (en) * 2021-10-21 2023-04-27 Tencent America LLC Interdependence Between Adaptive Resolution of Motion Vector Difference and Signaling/Derivation of Motion Vector-Related Parameters
US20230336772A1 (en) * 2022-04-18 2023-10-19 Tencent America LLC Mmvd candidate refinement methods
US12047586B2 (en) * 2022-07-20 2024-07-23 Tencent America LLC Method and apparatus for inter prediction mode dependent scaling factors
WO2024076074A1 (ko) * 2022-10-07 2024-04-11 엘지전자 주식회사 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140126644A1 (en) * 2011-06-30 2014-05-08 Telefonaktiebolaget L M Ericsson (Publ) A Method a Decoder and Encoder for Processing a Motion Vector

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0541862A (ja) 1991-08-03 1993-02-19 Sony Corp 動きベクトルの可変長符号化方式
US7116831B2 (en) * 2002-04-10 2006-10-03 Microsoft Corporation Chrominance motion vector rounding
CN101005620B (zh) * 2004-09-03 2011-08-10 微软公司 为隔行扫描和逐行扫描视频编码和解码宏块和运动信息中的革新
US7920628B2 (en) * 2005-07-29 2011-04-05 Broadcom Corporation Noise filter for video compression
US7929599B2 (en) 2006-02-24 2011-04-19 Microsoft Corporation Accelerated video encoding
US8379723B2 (en) * 2006-06-27 2013-02-19 Intel Corporation Chroma motion vector processing apparatus, system, and method
US9961372B2 (en) * 2006-12-08 2018-05-01 Nxp Usa, Inc. Adaptive disabling of deblock filtering based on a content characteristic of video information
US9237355B2 (en) 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
CN101883286B (zh) * 2010-06-25 2012-12-05 无锡中星微电子有限公司 运动估计中的校准方法及装置、运动估计方法及装置
US8711940B2 (en) 2010-11-29 2014-04-29 Mediatek Inc. Method and apparatus of motion vector prediction with extended motion vector predictor
KR20120088488A (ko) * 2011-01-31 2012-08-08 한국전자통신연구원 시간적 움직임 벡터 저장 방법 및 그 장치
US20120195366A1 (en) * 2011-02-01 2012-08-02 Mediatek Singapore Pte. Ltd. Method and Apparatus of Adaptive Inter Mode Coding Using Variable Length Codes
WO2012120863A1 (ja) 2011-03-08 2012-09-13 パナソニック株式会社 動画像符号化方法および動画像復号方法
US10536701B2 (en) * 2011-07-01 2020-01-14 Qualcomm Incorporated Video coding using adaptive motion vector resolution
CN102509083B (zh) 2011-11-19 2013-06-05 广州大学 一种肢体冲突事件的检测方法
US9979960B2 (en) * 2012-10-01 2018-05-22 Microsoft Technology Licensing, Llc Frame packing and unpacking between frames of chroma sampling formats with different chroma resolutions
CN103916673B (zh) 2013-01-06 2017-12-22 华为技术有限公司 基于双向预测的编码方法、解码方法和装置
US9774881B2 (en) 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US10924746B2 (en) 2014-01-29 2021-02-16 Mediatek Inc. Method and apparatus for adaptive motion vector precision
WO2015141696A1 (ja) * 2014-03-18 2015-09-24 シャープ株式会社 画像復号装置、画像符号化装置および予測装置
US10158884B2 (en) 2014-03-19 2018-12-18 Qualcomm Incorporated Simplified merge list construction process for 3D-HEVC
US9924191B2 (en) 2014-06-26 2018-03-20 Qualcomm Incorporated Filters for advanced residual prediction in video coding
US20170289566A1 (en) * 2014-09-26 2017-10-05 Vid Scale, Inc. Intra block copy coding with temporal block vector prediction
CN106471807B (zh) 2014-10-09 2019-08-23 寰发股份有限公司 包括视角合成预测的三维或多视角视频的编码方法
CN112188207B (zh) 2014-10-31 2023-10-20 三星电子株式会社 使用高精度跳过编码的视频编码设备和视频解码设备及其方法
EP3202143B8 (en) * 2014-11-18 2019-09-25 MediaTek Inc. Method of bi-prediction video coding based on motion vectors from uni-prediction and merge candidate
US11330284B2 (en) * 2015-03-27 2022-05-10 Qualcomm Incorporated Deriving motion information for sub-blocks in video coding
US10602188B2 (en) 2015-06-10 2020-03-24 Samsung Electronics Co., Ltd. Method and apparatus for encoding or decoding image using syntax signaling for adaptive weight prediction
US20180249172A1 (en) 2015-09-02 2018-08-30 Mediatek Inc. Method and apparatus of motion compensation for video coding based on bi prediction optical flow techniques
CN109274974B (zh) * 2015-09-29 2022-02-11 华为技术有限公司 图像预测的方法及装置
US9743092B2 (en) * 2015-10-13 2017-08-22 Nokia Technologies Oy Video coding with helper data for spatial intra-prediction
US20190158870A1 (en) 2016-01-07 2019-05-23 Mediatek Inc. Method and apparatus for affine merge mode prediction for video coding system
ES2917099B1 (es) 2016-02-25 2023-04-21 Kt Corp Método y aparato para procesar señales de video
US11032550B2 (en) 2016-02-25 2021-06-08 Mediatek Inc. Method and apparatus of video coding
WO2017147765A1 (en) * 2016-03-01 2017-09-08 Mediatek Inc. Methods for affine motion compensation
US10638152B2 (en) * 2016-03-15 2020-04-28 Mediatek Inc. Method and apparatus of video coding with affine motion compensation
WO2017164297A1 (ja) 2016-03-25 2017-09-28 パナソニックIpマネジメント株式会社 信号依存型適応量子化を用いて動画像を符号化及び復号するための方法及び装置
KR102379874B1 (ko) 2016-05-13 2022-03-30 브이아이디 스케일, 인크. 비디오 코딩을 위한 일반화된 다중-가설 예측 시스템 및 방법
US10560712B2 (en) * 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
WO2017206804A1 (en) * 2016-05-28 2017-12-07 Mediatek Inc. Method and apparatus of current picture referencing for video coding using affine motion compensation
EP3264769A1 (en) * 2016-06-30 2018-01-03 Thomson Licensing Method and apparatus for video coding with automatic motion information refinement
WO2018030294A1 (ja) 2016-08-10 2018-02-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US10390015B2 (en) 2016-08-26 2019-08-20 Qualcomm Incorporated Unification of parameters derivation procedures for local illumination compensation and cross-component linear model prediction
EP3522537A1 (en) * 2016-09-12 2019-08-07 Sony Corporation Image processing device and image processing method
US10462462B2 (en) 2016-09-29 2019-10-29 Qualcomm Incorporated Motion vector difference coding technique for video coding
US11356693B2 (en) 2016-09-29 2022-06-07 Qualcomm Incorporated Motion vector coding for video coding
US10631002B2 (en) 2016-09-30 2020-04-21 Qualcomm Incorporated Frame rate up-conversion coding mode
EP3301918A1 (en) * 2016-10-03 2018-04-04 Thomson Licensing Method and apparatus for encoding and decoding motion information
US10979732B2 (en) 2016-10-04 2021-04-13 Qualcomm Incorporated Adaptive motion vector precision for video coding
US10448010B2 (en) * 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
US10951912B2 (en) 2016-10-05 2021-03-16 Qualcomm Incorporated Systems and methods for adaptive selection of weights for video coding
WO2018128222A1 (ko) * 2017-01-03 2018-07-12 엘지전자 주식회사 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
WO2018128380A1 (ko) 2017-01-03 2018-07-12 엘지전자(주) 어파인 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치
US10701390B2 (en) * 2017-03-14 2020-06-30 Qualcomm Incorporated Affine motion information derivation
US10757417B2 (en) 2018-01-20 2020-08-25 Qualcomm Incorporated Affine motion compensation in video coding
CN108632616B (zh) 2018-05-09 2021-06-01 电子科技大学 一种基于参考质量做帧间加权预测的方法
GB2588023B (en) 2018-06-05 2023-04-12 Beijing Bytedance Network Tech Co Ltd Interaction between IBC and BIO
US11303923B2 (en) 2018-06-15 2022-04-12 Intel Corporation Affine motion compensation for current picture referencing
TWI746994B (zh) 2018-06-19 2021-11-21 大陸商北京字節跳動網絡技術有限公司 用於不同參考列表的不同精確度
US11051025B2 (en) * 2018-07-13 2021-06-29 Tencent America LLC Method and apparatus for video coding
TWI734158B (zh) * 2018-07-31 2021-07-21 聯發科技股份有限公司 用於視訊編解碼的利用運動向量差的合併方法和裝置
CN115842912A (zh) 2018-08-04 2023-03-24 抖音视界有限公司 不同解码器侧运动矢量推导模式之间的交互
TWI827681B (zh) 2018-09-19 2024-01-01 大陸商北京字節跳動網絡技術有限公司 具有自適應運動矢量分辨率的仿射模式的語法重用
WO2020058962A1 (en) 2018-09-23 2020-03-26 Beijing Bytedance Network Technology Co., Ltd. Signaling of motion vector precision indication with adaptive motion vector resolution
US10893291B2 (en) * 2018-09-28 2021-01-12 Qualcomm Incorporated Ultimate motion vector expression with adaptive directional information set
US11317099B2 (en) 2018-10-05 2022-04-26 Tencent America LLC Method and apparatus for signaling an offset in video coding for intra block copy and/or inter prediction
WO2020084461A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Restrictions on decoder side motion vector derivation based on coding information
WO2020084512A1 (en) 2018-10-23 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Affine motion information derivation from neighboring block
CN118694931A (zh) 2018-11-05 2024-09-24 北京字节跳动网络技术有限公司 编解码视频数据的方法、装置及计算机可读存储介质
CN116208765A (zh) * 2018-11-08 2023-06-02 Oppo广东移动通信有限公司 视频信号编码/解码方法以及用于所述方法的设备
WO2020102034A1 (en) 2018-11-14 2020-05-22 Tencent America LLC Method and apparatus for video coding
CN113016185B (zh) 2018-11-17 2024-04-05 北京字节跳动网络技术有限公司 以运动矢量差分模式控制Merge
WO2020130520A1 (ko) * 2018-12-16 2020-06-25 엘지전자 주식회사 화면간 예측을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140126644A1 (en) * 2011-06-30 2014-05-08 Telefonaktiebolaget L M Ericsson (Publ) A Method a Decoder and Encoder for Processing a Motion Vector

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Benjamin Bross et al., "Versatile Video Coding (Draft 3)", Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 12th Meeting: Macao, CN, 3-12 Oct. 2018, JVET-L1001-v7*

Also Published As

Publication number Publication date
JP2022511914A (ja) 2022-02-01
EP4307667A3 (en) 2024-03-20
WO2020125750A1 (en) 2020-06-25
CN113196747A (zh) 2021-07-30
US11310508B2 (en) 2022-04-19
EP3868107A1 (en) 2021-08-25
CN117499668A (zh) 2024-02-02
EP3868107A4 (en) 2021-12-15
JP7548659B2 (ja) 2024-09-10
JP2023026612A (ja) 2023-02-24
WO2020125750A9 (en) 2021-04-15
WO2020125751A1 (en) 2020-06-25
CN113196773A (zh) 2021-07-30
KR20210106427A (ko) 2021-08-30
CN113196747B (zh) 2023-04-14
CN113196773B (zh) 2024-03-08
EP4307667A2 (en) 2024-01-17
JP7209092B2 (ja) 2023-01-19
US20210203945A1 (en) 2021-07-01

Similar Documents

Publication Publication Date Title
KR102662036B1 (ko) 모션 벡터 차이 모드에서 병합시 모션 벡터 정밀도
CN113016185B (zh) 以运动矢量差分模式控制Merge
JP7263529B2 (ja) デコーダ側精緻化ツールのサイズ選択アプリケーション
KR102649200B1 (ko) 인트라 블록 복제-코딩된 블록에 대한 블록 벡터의 코딩
TW202025750A (zh) 不同視頻塊尺寸的仿射模式計算
KR20220009952A (ko) 서브블록 머지 모드에서의 신택스 시그널링
WO2020143774A1 (en) Merge with mvd based on geometry partition
WO2020143643A1 (en) Control method for merge with mvd

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right