KR102417212B1 - 비디오 코딩에서의 디코더 측 모션 벡터 개선을 위한 방법들 및 장치들 - Google Patents

비디오 코딩에서의 디코더 측 모션 벡터 개선을 위한 방법들 및 장치들 Download PDF

Info

Publication number
KR102417212B1
KR102417212B1 KR1020217041735A KR20217041735A KR102417212B1 KR 102417212 B1 KR102417212 B1 KR 102417212B1 KR 1020217041735 A KR1020217041735 A KR 1020217041735A KR 20217041735 A KR20217041735 A KR 20217041735A KR 102417212 B1 KR102417212 B1 KR 102417212B1
Authority
KR
South Korea
Prior art keywords
value
initial
video coding
cost values
delete delete
Prior art date
Application number
KR1020217041735A
Other languages
English (en)
Other versions
KR20210157919A (ko
Inventor
이-원 천
샤오위 슈
중-촨 마
샹린 왕
Original Assignee
베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 filed Critical 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드
Priority to KR1020227022544A priority Critical patent/KR20220098294A/ko
Publication of KR20210157919A publication Critical patent/KR20210157919A/ko
Application granted granted Critical
Publication of KR102417212B1 publication Critical patent/KR102417212B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/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/567Motion estimation based on rate distortion criteria

Landscapes

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

Abstract

비디오 코딩을 위한 방법이 제공된다. 이 방법은: 현재 코딩 유닛(CU)의 초기 모션 벡터(MV)를 도출하는 단계; 디코더 측 모션 벡터 개선(DMVR)을 위한 복수의 모션 벡터(MV) 후보들을 도출하는 단계; 초기 MV 및 MV 후보들 각각에 대한 비용 값들을 결정하는 단계; 초기 MV에 유리하도록 비용 값들 중 적어도 하나를 조정함으로써 업데이트된 비용 값들을 획득하는 단계; 및 초기 MV 및 MV 후보들의 업데이트된 비용 값들에 기초하여, 개선된 모션 벡터(MV)를 도출하는 단계를 포함한다.

Description

비디오 코딩에서의 디코더 측 모션 벡터 개선을 위한 방법들 및 장치들
본 출원은 일반적으로 비디오 코딩 및 압축에 관한 것으로, 특히, 그러나 이에 제한된 것은 아닌, 비디오 코딩에서의 디코더 측 모션 벡터 개선(DMVR: Decoder-side Motion Vector Refinement)을 위한 방법들 및 장치들에 관한 것이다.
삭제
디지털 텔레비전들, 랩톱 또는 데스크톱 컴퓨터들, 태블릿 컴퓨터들, 디지털 카메라들, 디지털 레코딩 디바이스들, 디지털 미디어 플레이어들, 비디오 게임 콘솔들, 스마트폰들, 비디오 원격 회의 디바이스들, 비디오 스트리밍 디바이스들 등과 같은 다양한 전자 디바이스들에 의해 디지털 비디오가 지원된다. 전자 디바이스들은 비디오 압축/압축 해제를 구현함으로써 디지털 비디오 데이터를 송신, 수신, 인코딩, 디코딩 및/또는 저장한다. 디지털 비디오 디바이스들은 다용도 비디오 코딩(VVC: Versatile Video Coding), 공동 탐사 시험 모델(JEM: Joint Exploration Test Model), MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, 파트 10, 고급 비디오 코딩(AVC: Advanced Video Coding), ITU-T H.265/고효율 비디오 코딩(HEVC: High Efficiency Video Coding)에 의해 정의된 표준들, 및 이러한 표준들의 확장들에서 기술되는 것들과 같은 비디오 코딩 기법들을 구현한다.
비디오 코딩은 일반적으로 비디오 이미지들 또는 시퀀스들에 존재하는 리던던시를 이용하는 예측 방법들(예컨대, 인터 예측(inter-prediction), 인트라 예측(intra-prediction))을 이용한다. 비디오 코딩 기법들의 중요한 목표는 비디오 품질에 대한 열화들을 피하거나 최소화하면서 더 낮은 비트 레이트를 사용하는 형태로 비디오 데이터를 압축하는 것이다. 계속 진화하는 비디오 서비스들이 이용 가능해짐에 따라, 더 양호한 코딩 효율을 갖는 인코딩 기법들이 필요하다.
비디오 압축은 통상적으로, 공간(프레임 내) 예측 및/또는 시간(프레임 간) 예측을 수행하여 비디오 데이터에 내재된 리던던시를 감소시키거나 제거하는 것을 포함한다. 블록 기반 비디오 코딩의 경우, 비디오 프레임은 하나 이상의 슬라이스(slice)들로 파티셔닝(partition)되고, 각각의 슬라이스는 다수의 비디오 블록들을 가지며, 이들은 또한 코딩 트리 유닛(CTU: coding tree unit)들로도 또한 지칭될 수 있다. CTU는 내포형(nested) 다중 타입 트리 구조를 갖는 쿼드 트리(quadtree)를 사용하여 코딩 유닛(CU: coding unit)들로 분할될 수 있으며, CU는 동일한 예측 모드를 공유하는 픽셀들의 영역을 정의한다. 각각의 CTU는 하나의 코딩 유닛(CU)을 포함하거나, 미리 정의된 최소 CU 크기에 도달할 때까지 더 작은 CU들로 재귀적으로 분할될 수 있다. (리프(leaf) CU로도 또한 명명된) 각각의 CU는 하나 또는 다수의 변환 유닛(TU: transform unit)들을 포함하고, 각각의 CU는 또한 하나 또는 다수의 예측 유닛(PU: prediction unit)들을 포함한다. 각각의 CU는 인트라 모드, 인터 모드 또는 IBC 모드로 코딩될 수 있다. 비디오 프레임의 인트라 코딩된(I) 슬라이스의 비디오 블록들은 동일한 비디오 프레임 내의 이웃 블록들의 참조 샘플들에 대한 공간 예측을 사용하여 인코딩된다. 비디오 프레임의 인터 코딩된(P 또는 B) 슬라이스의 비디오 블록들은 동일한 비디오 프레임 내의 이웃 블록들의 참조 샘플들에 대한 공간 예측 또는 다른 이전 및/또는 차후 참조 비디오 프레임들의 참조 샘플들에 대한 시간 예측을 사용할 수 있다.
본 개시내용의 일부 예들에서, '유닛'이라는 용어는 모든 컴포넌트들을 커버하는 이미지의 영역, 이를테면 루마(luma) 및 크로마(chroma)를 정의하고; '블록'이라는 용어는 특정 컴포넌트를 커버하는 영역(예컨대, 루마)을 정의하는 데 사용되며, 상이한 컴포넌트들의 블록들(예컨대, 루마 대 크로마)은 4:2:0과 같이, 크로마 샘플링 포맷을 고려할 때 공간 위치가 상이할 수 있다.
이전에 인코딩된 참조 블록, 예컨대 이웃 블록에 기초한 공간 또는 시간 예측은 코딩될 현재 비디오 블록에 대한 예측 블록을 야기한다. 참조 블록을 찾는 프로세스는 블록 매칭 알고리즘에 의해 달성될 수 있다. 코딩될 현재 블록과 예측 블록 간의 픽셀 차이들을 나타내는 잔차 데이터는 잔차 블록 또는 예측 오차들로 지칭된다. 인터 코딩된 블록은 예측 블록을 형성하는 참조 프레임의 참조 블록, 및 잔차 블록을 가리키는 모션 벡터에 따라 인코딩된다. 모션 벡터를 결정하는 프로세스는 통상적으로 모션 추정으로 지칭된다. 인트라 코딩된 블록은 인트라 예측 모드 및 잔차 블록에 따라 인코딩된다. 추가 압축을 위해, 잔차 블록은 픽셀 도메인에서 변환 도메인, 예컨대 주파수 도메인으로 변환되어, 잔차 변환 계수들이 될 수 있으며, 잔차 변환 계수들은 다음에 양자화될 수 있다. 초기에 2차원 어레이로 배열된 양자화된 변환 계수들은 스캔되어 변환 계수들의 1차원 벡터를 생성할 수 있으며, 그런 다음 비디오 비트스트림으로 엔트로피 인코딩되어 훨씬 더 많은 압축을 달성할 수 있다.
이어서, 인코딩된 비디오 비트스트림은 컴퓨터 판독 가능 저장 매체(예컨대, 플래시 메모리)에 저장되어 디지털 비디오 능력을 갖는 다른 전자 디바이스에 의해 액세스되거나, 유선 또는 무선으로 전자 디바이스에 직접 송신된다. 이어서, 전자 디바이스는 예컨대, 인코딩된 비디오 비트스트림을 파싱하여 비트스트림으로부터 신택스(syntax) 엘리먼트들을 획득하고, 비트스트림으로부터 획득된 신택스 엘리먼트들에 적어도 부분적으로 기초하여, 인코딩된 비디오 비트스트림으로부터 원래의 포맷으로 디지털 비디오 데이터를 재구성함으로써 (위에서 설명된 비디오 압축과 반대 프로세스인) 비디오 압축 해제를 수행하고, 재구성된 디지털 비디오 데이터를 전자 디바이스의 디스플레이 상에 렌더링(render)한다.
디지털 비디오 품질이 고화질에서 4K×2K 또는 심지어 8K×4K로 진행함에 따라, 인코딩/디코딩될 비디오 데이터의 양은 기하급수적으로 증가한다. 이것은, 디코딩된 비디오 데이터의 이미지 품질을 유지하면서 비디오 데이터가 어떻게 더 효율적으로 인코딩/디코딩될 수 있는지 면에서 끊임없는 난제이다.
일반적으로, 본 개시내용은 비디오 코딩에서의 디코더 측 모션 벡터 개선(DMVR)에 관련된 기법들의 예들을 설명한다.
본 개시내용의 제1 양상에 따르면, 비디오 코딩을 위한 방법이 제공되며, 이 방법은: 현재 코딩 유닛(CU)의 초기 모션 벡터(MV: motion vector)를 도출하는 단계; 디코더 측 모션 벡터 개선(DMVR)을 위한 복수의 모션 벡터(MV) 후보들을 도출하는 단계; 초기 MV 및 MV 후보들 각각에 대한 비용 값들을 결정하는 단계; 초기 MV에 유리하도록 비용 값들 중 적어도 하나를 조정함으로써 업데이트된 비용 값들을 획득하는 단계; 및 초기 MV 및 MV 후보들의 업데이트된 비용 값들에 기초하여, 개선된 모션 벡터(MV)를 도출하는 단계를 포함한다.
본 개시내용의 제2 양상에 따르면, 비디오 코딩을 위한 장치가 제공되며, 이 장치는: 하나 이상의 프로세서들; 및 하나 이상의 프로세서들에 의해 실행 가능한 명령들을 저장하도록 구성된 메모리를 포함하고; 여기서 하나 이상의 프로세서들은 명령들의 실행 시에: 현재 코딩 유닛(CU)의 초기 모션 벡터(MV)를 도출하고; 디코더 측 모션 벡터 개선(DMVR)을 위한 복수의 모션 벡터(MV) 후보들을 도출하고; 초기 MV 및 MV 후보들 각각에 대한 비용 값들을 결정하고; 초기 MV에 유리하도록 비용 값들 중 적어도 하나를 조정함으로써 업데이트된 비용 값들을 획득하고; 그리고 초기 MV 및 MV 후보들의 업데이트된 비용 값들에 기초하여, 개선된 MV를 도출하도록 구성된다.
본 개시내용의 제3 양상에 따르면, 내부에 저장된 명령들을 포함하는 비-일시적 컴퓨터 판독 가능 저장 매체가 제공되며, 여기서 하나 이상의 프로세서들에 의한 명령들의 실행 시에, 명령들은 하나 이상의 프로세서들로 하여금: 현재 코딩 유닛(CU)의 초기 모션 벡터(MV)를 도출하는 동작; 디코더 측 모션 벡터 개선(DMVR)을 위한 복수의 모션 벡터(MV) 후보들을 도출하는 동작; 초기 MV 및 MV 후보들 각각에 대한 비용 값들을 결정하는 동작; 초기 MV에 유리하도록 비용 값들 중 적어도 하나를 조정함으로써 업데이트된 비용 값들을 획득하는 동작; 및 초기 MV 및 MV 후보들의 업데이트된 비용 값들에 기초하여, 개선된 모션 벡터(MV)를 도출하는 동작을 포함하는 동작들을 수행하게 한다.
본 개시내용의 예들의 보다 구체적인 설명은 첨부된 도면들에 예시된 특정 예들을 참조하여 제시될 것이다. 이러한 도면들은 단지 일부 예들만을 도시할 뿐이며 따라서 범위를 제한하는 것으로 여겨지지 않는다는 점을 고려하면, 예들은 첨부 도면들의 사용을 통해 추가 특이성 및 세부사항들로 기술 및 설명될 것이다.
도 1은 본 개시내용의 일부 구현들에 따른 예시적인 비디오 인코더를 예시하는 블록도이다.
도 2는 본 개시내용의 일부 구현들에 따른 예시적인 비디오 디코더를 예시하는 블록도이다.
도 3은 본 개시내용의 일부 구현들에 따른 디코더 측 모션 벡터 개선(DMVR)의 일례를 예시하는 개략도이다.
도 4는 본 개시내용의 일부 구현들에 따른 DMVR 탐색 프로시저의 일례를 예시하는 개략도이다.
도 5는 본 개시내용의 일부 구현들에 따른 DMVR 정수 루마 샘플 탐색 패턴의 일례를 예시하는 개략도이다.
도 6은 본 개시내용의 일부 구현들에 따른 비디오 코딩을 위한 예시적인 장치를 예시하는 블록도이다.
도 7은 본 개시내용의 일부 구현들에 따른 비디오 코딩에서의 디코더 측 모션 벡터 개선(DMVR)의 예시적인 프로세스를 예시하는 흐름도이다.
이제 특정한 구현들에 대해 상세히 언급될 것이며, 그 예들은 첨부 도면들에 예시된다. 다음 상세한 설명에서는, 본 명세서에서 제시되는 청구 대상의 이해를 돕기 위해 많은 비-제한적인 특정 세부사항들이 제시된다. 그러나 다양한 대안들이 사용될 수 있음이 당해 기술분야에서 통상의 지식을 가진 자에게 명백할 것이다. 예를 들어, 본 명세서에서 제시되는 청구 대상이 디지털 비디오 능력들을 갖는 많은 타입들의 전자 디바이스들 상에서 구현될 수 있음이 당해 기술분야에서 통상의 지식을 가진 자에게 명백할 것이다.
본 명세서 전반에 걸쳐 "일 실시예", "실시예", "일례", "일부 실시예들", "일부 예들" 또는 유사한 언어에 대한 언급은 설명되는 특정한 특징, 구조 또는 특성이 적어도 하나의 실시예 또는 예에 포함되는 것을 의미한다. 하나 또는 일부 실시예들과 관련하여 설명되는 특징들, 구조들, 엘리먼트들 또는 특성들은 또한, 달리 명시적으로 특정되지 않는 한, 다른 실시예들에 적용 가능하다.
본 개시내용 전반에 걸쳐, "제1", "제2", "제3" 등의 용어들은 모두, 달리 명시적으로 특정되지 않는 한, 어떠한 공간 순서나 연대순을 의미하지 않으면서, 관련 엘리먼트들, 예컨대 디바이스들, 컴포넌트들, 조직들, 단계들 등에 대한 참조들만을 위한 명명법으로서 사용된다. 예를 들어, "제1 디바이스" 및 "제2 디바이스"는 2개의 별개로 형성된 디바이스들, 또는 동일한 디바이스의 2개의 부분들, 컴포넌트들 또는 동작 상태들에 관련될 수 있고, 임의로 명명될 수 있다.
본 명세서에서 사용되는 바와 같이, "~라면" 또는 "~일 때"라는 용어는 맥락에 따라 "~ 시에" 또는 "~에 대한 응답으로"를 의미하는 것으로 이해될 수 있다. 이러한 용어들은, 청구항에 나타난다면, 관련 제한들 또는 특징들이 조건부 또는 선택적임을 표시하지 않을 수 있다.
"모듈", "서브 모듈", "회로", "서브 회로", "회로부", "서브 회로부", "유닛" 또는 "서브-유닛"이라는 용어들은 하나 이상의 프로세서들에 의해 실행될 수 있는 코드 또는 명령들을 저장하는 메모리(공유, 전용 또는 그룹)를 포함할 수 있다. 모듈은 저장된 코드 또는 명령들을 갖는 또는 갖지 않는 하나 이상의 회로들을 포함할 수 있다. 모듈 또는 회로는 직접적으로 또는 간접적으로 연결되는 하나 이상의 컴포넌트들을 포함할 수 있다. 이러한 컴포넌트들은 서로 물리적으로 부착되거나 서로 인접하게 위치될 수 있거나 그렇지 않을 수 있다.
유닛 또는 모듈은 순수하게 소프트웨어에 의해, 순수하게 하드웨어에 의해, 또는 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있다. 순수한 소프트웨어 구현에서, 예를 들어 유닛 또는 모듈은 특정 기능을 수행하기 위해 함께 직접적으로 또는 간접적으로 링크되는, 기능적으로 관련된 코드 블록들 또는 소프트웨어 컴포넌트들을 포함할 수 있다.
도 1은 블록 기반 처리를 사용하여 많은 비디오 코딩 표준들과 함께 사용될 수 있는 예시적인 블록 기반 하이브리드 비디오 인코더(100)를 예시하는 블록도를 도시한다. 인코더(100)에서는, 비디오 프레임이 처리를 위해 복수의 비디오 블록들로 파티셔닝된다. 각각의 주어진 비디오 블록에 대해, 인터 예측 접근 방식 또는 인트라 예측 접근 방식에 기반하여 예측이 형성된다. 인터 예측에서는, 이전에 재구성된 프레임들로부터의 픽셀들에 기반하여, 모션 추정 및 모션 보상을 통해 하나 이상의 예측자들이 형성된다. 인트라 예측에서는, 현재 프레임의 재구성된 픽셀들에 기반하여 예측자들이 형성된다. 모드 결정을 통해, 현재 블록을 예측하도록 최상의 예측자가 선택될 수 있다.
현재 비디오 블록과 그 예측자 간의 차이를 표현하는 예측 잔차가 변환 회로(102)에 전송된다. 그런 다음, 엔트로피 감소를 위해 변환 회로(102)로부터 양자화 회로(104)로 변환 계수들이 송신된다. 이어서, 양자화된 계수들이 엔트로피 코딩 회로(106)에 공급되어 압축된 비디오 비트스트림을 생성한다. 도 1에 도시된 바와 같이, 인터 예측 회로 및/또는 인트라 예측 회로(112)로부터의 예측 관련 정보(110), 이를테면 비디오 블록 파티션 정보, 모션 벡터들, 참조 픽처 인덱스 및 인트라 예측 모드가 또한 엔트로피 코딩 회로(106)를 통해 공급되어 압축된 비디오 비트스트림(114)에 저장된다.
인코더(100)에서는, 예측 목적으로 픽셀들을 재구성하기 위해 디코더 관련 회로들이 또한 필요하다. 먼저, 역양자화(116) 및 역변환 회로(118)를 통해 예측 잔차가 재구성된다. 이러한 재구성된 예측 잔차는 블록 예측자(120)와 조합되어, 현재 비디오 블록에 대한 필터링되지 않은 재구성된 픽셀들을 생성한다.
공간 예측(또는 "인트라 예측")은 현재 비디오 블록과 동일한 비디오 프레임에서 (참조 샘플들로 지칭되는) 이미 코딩된 이웃 블록들의 샘플들로부터의 픽셀들을 사용하여 현재 비디오 블록을 예측한다.
("인터 예측"으로도 또한 지칭되는) 시간 예측은 이미 코딩된 비디오 픽처들로부터의 재구성된 픽셀들을 사용하여 현재 비디오 블록을 예측한다. 시간 예측은 비디오 신호에 내재된 시간 중복성을 감소시킨다. 주어진 코딩 유닛(CU) 또는 코딩 블록에 대한 시간 예측 신호는 대개, 현재 CU와 이것의 시간 기준 사이의 모션의 양 및 방향을 지시하는 하나 이상의 모션 벡터(MV)들에 의해 시그널링된다. 추가로, 다수의 참조 픽처들이 지원된다면, 하나의 참조 픽처 인덱스가 추가로 송신되며, 이는 참조 픽처 저장소 내의 어느 참조 픽처로부터 시간 예측 신호가 오는지를 식별하는 데 사용된다.
공간 및/또는 시간 예측이 수행된 후에, 인코더(100)의 인트라/인터 모드 결정 회로(121)는 예를 들어, 레이트 왜곡 최적화 방법에 기반하여 최상의 예측 모드를 선택한다. 그 다음, 현재 비디오 블록으로부터 블록 예측자(120)가 감산되고; 결과적인 예측 잔차가 변환 회로(102) 및 양자화 회로(104)를 사용하여 역상관(de-correlate)된다. 결과적인 양자화된 잔류 계수들은 역양자화 회로(116)에 의해 역양자화되고, 역변환 회로(118)에 의해 역변환되어, 재구성된 잔차를 형성하고, 재구성된 잔차는 이어서, 예측 블록에 다시 더해져 CU의 재구성된 신호를 형성한다. 재구성된 CU가 픽처 버퍼(117)의 참조 픽처 저장소에 들어가 차후 비디오 블록들을 코딩하는 데 사용되기 전에, 추가 루프 내 필터링(115), 이를테면 블록 분리(deblocking) 필터, 샘플 적응 오프셋(SAO: sample adaptive offset) 및/또는 적응형 루프 내 필터(ALF: adaptive in-loop filter)가 재구성된 CU에 적용될 수 있다. 출력 비디오 비트스트림(114)을 형성하기 위해, 코딩 모드(인터 또는 인트라), 예측 모드 정보, 모션 정보 및 양자화된 잔차 계수들이 모두 엔트로피 코딩 유닛(106)에 송신되어 추가로 압축되고 패킹되어 비트스트림을 형성한다.
예를 들어, 블록 분리 필터는 AVC, HEVC뿐만 아니라 VVC의 지금 현재 버전에서 이용 가능하다. HEVC에서, 코딩 효율을 더 향상시키기 위해 SAO(sample adaptive offset)로 지칭되는 추가 루프 내 필터가 정의된다. ALF(adaptive loop filter)로 불리는 다른 루프 내 필터가 능동적으로 조사되고 있다.
이러한 루프 내 필터 동작들은 선택적이다. 이러한 동작들을 수행하는 것은 코딩 효율 및 시각적 품질을 향상시키는 데 도움이 된다. 이들은 또한 계산 복잡성을 절약하기 위해 인코더(100)에 의해 제시된 결정으로서 오프 전환될 수 있다.
인트라 예측은 대개, 필터링되지 않은 재구성된 픽셀들에 기반하는 한편, 인터 예측은 이러한 필터 옵션들이 인코더(100)에 의해 온 전환된다면, 필터링되는 재구성된 픽셀들에 기반한다는 점이 주목되어야 한다.
도 2는 많은 비디오 코딩 표준들과 함께 사용될 수 있는 예시적인 블록 기반 비디오 디코더(200)를 예시하는 블록도이다. 이 디코더(200)는 도 1의 인코더(100)에 상주하는 재구성 관련 섹션과 유사하다. 디코더(200)에서는, 착신 비디오 비트스트림(201)이 먼저 엔트로피 디코딩(202)을 통해 디코딩되어 양자화된 계수 레벨들 및 예측 관련 정보를 도출한다. 이어서, 양자화된 계수 레벨들이 역양자화(204) 및 역변환(206)을 통해 처리되어, 재구성된 예측 잔차를 획득한다. 인트라/인터 모드 선택기(212)에서 구현되는 블록 예측자 메커니즘은 디코딩된 예측 정보에 기초하여 인트라 예측(208) 또는 모션 보상(210)을 수행하도록 구성된다. 합산기(214)를 사용하여, 역변환(206)으로부터의 재구성된 예측 잔차와 블록 예측자 메커니즘에 의해 생성된 예측 출력을 합산함으로써 한 세트의 필터링되지 않은 재구성된 픽셀들이 획득된다.
재구성된 블록은 추가로, 참조 픽처 저장소로서 기능하는 픽처 버퍼(213)에 저장되기 전에 루프 내 필터(209)를 거칠 수 있다. 픽처 버퍼(213) 내의 재구성된 비디오가 송신되어 디스플레이 디바이스를 구동할 수 있을 뿐만 아니라, 차후의 비디오 블록들을 예측하는 데 사용될 수 있다. 루프 내 필터(209)가 온 전환되는 상황들에서, 이러한 재구성된 픽셀들에 대해 필터링 동작이 수행되어 최종 재구성된 비디오 출력(222)을 도출한다.
위에서 언급된 비디오 코딩/디코딩 표준들, 이를테면 VVC, JEM, HEVC, MPEG-4, 파트 10은 개념적으로 유사하다. 예를 들어, 이들은 모두 블록 기반 처리를 사용한다. 공동 비디오 전문가 팀(JVET: Joint Video Experts Team) 회의에서, JVET는 다용도 비디오 코딩(VVC) 및 VVC 시험 모델 1(VTM1: VVC Test Model 1) 인코딩 방법의 첫 번째 초안을 정의했다. VVC의 초기 새로운 코딩 특징으로서 2진 및 3진 분할 코딩 블록 구조를 사용하는 내포형 다중 타입 트리를 갖는 쿼드 트리를 포함하기로 결정되었다.
VVC에서의 디코더 측 모션 벡터 개선(DMVR)
디코더 측 모션 벡터 개선(DMVR)은 양방향 예측 병합 모드에서 코딩된 블록들에 대한 기법이다. 이 모드 하에서, 블록의 2개의 모션 벡터(MV)들은 쌍방 매칭(BM: bilateral matching) 예측을 사용하여 추가로 개선될 수 있다.
도 3은 디코더 측 모션 벡터 개선(DMVR)의 일례를 예시하는 개략도이다. 도 3에 도시된 바와 같이, 쌍방 매칭 방법이 현재 CU(322)의 2개의 연관된 참조 픽처들, 즉 리스트 L0(300)에서의 RefPic 및 리스트 L1(310)에서의 refPic에서 현재 CU의 모션 궤적을 따라 2개의 참조 블록들(302, 312) 사이의 가장 가까운 매칭을 탐색함으로써 현재 CU(322)의 모션 정보를 개선하는 데 사용된다. 패터닝된 직사각형 블록들(322, 302, 312)은 병합 모드로부터의 초기 모션 정보에 기초하여 현재 CU 및 현재 CU의 2개의 참조 블록들을 지시한다. 패터닝된 직사각형 블록들(304, 314)은 모션 개선 탐색 프로세스, 즉 모션 벡터 개선 프로세스에서 사용되는 MV 후보에 기초한 한 쌍의 참조 블록들을 지시한다.
MV 후보, 즉 MV0' 및 MV1'과 (원래의 MV로도 또한 불리는) 초기 MV, 즉 MV0 및 MV1 사이의 MV 차이들은 각각 MVdiff 및 -MVdiff이다. MV 후보 및 초기 MV 둘 다 양방향 모션 벡터들이다. DMVR 동안, 초기 MV 주위의 그러한 MV 후보들의 수가 체크될 수 있다. 구체적으로, 각각의 주어진 MV 후보에 대해, 그의 2개의 연관된 참조 블록들은 리스트 0 및 리스트 1에서 그의 참조 픽처들에 각각 위치될 수 있고, 이들 간의 차이가 계산될 수 있다.
블록 차이는 또한 비용 값으로도 지칭될 수 있으며, 대개 절대 차이 합(SAD: sum of absolute differences) 또는 행-서브샘플링된 SAD(즉, 수반되는 블록의 모든 각각의 다른 행으로 계산된 SAD)로 측정된다. 일부 다른 예들에서, 평균 제거 SAD(mean-removed SAD) 또는 제곱 차이 합(SSD: sum of squared differences)이 또한 비용 값으로서 사용될 수 있다. 2개의 참조 블록들 사이에서 가장 낮은 비용 값 또는 SAD를 갖는 MV 후보는 개선된 MV가 되고, 현재 CU에 대한 실제 예측으로서 양방향 예측 신호를 생성하는 데 사용된다.
VVC에서, DMVR은 다음 조건들을 충족시키는 CU에 적용된다:
Figure 112021147434280-pct00001
CU는 (서브 블록 병합 모드가 아닌) CU 레벨 병합 모드에서 양방향 예측 MV로 코딩되고;
Figure 112021147434280-pct00002
현재 픽처와 관련하여, CU의 하나의 참조 픽처는 과거에 있고(즉, 현재 픽처 POC보다 작은 POC를 가짐), 다른 참조 픽처는 미래에 있다(즉, 현재 픽처 POC보다 큰 POC를 가짐);
Figure 112021147434280-pct00003
두 참조 픽처들 모두로부터 현재 픽처까지의 POC 거리들(즉, 절대 POC 차이)은 동일하고; 그리고
Figure 112021147434280-pct00004
CU는 크기가 64개보다 많은 루마 샘플들을 갖고, CU 높이는 8개보다 많은 루마 샘플들이다.
DMVR 프로세스에 의해 도출되는 개선된 MV는 인터 예측 샘플들을 생성하는 데 사용되고, 또한 차후의 픽처 코딩을 위한 시간적 모션 벡터 예측에 사용된다. 원래의 MV는 블록 분리 프로세스에서 그리고 또한 차후의 CU 코딩을 위한 공간적 모션 벡터 예측에서 사용된다.
DMVR에서의 탐색 방식
도 3에 도시된 바와 같이, MV 후보들(또는 탐색 포인트들)은 초기 MV를 둘러싸고 있으며, MV 오프셋은 MV 차이 미러링 규칙을 따른다. 즉, 후보 MV 쌍(MV0, MV1)으로 표기된 DMVR에 의해 체크되는 임의의 포인트들은 다음 2개의 방정식들을 따르며:
Figure 112021147434280-pct00005
,
여기서 MV diff 는 참조 픽처들 중 하나에서 초기 MV와 개선된 MV 사이의 개선 오프셋을 나타낸다. 현재 VVC에서, 개선 탐색 범위는 초기 MV로부터의 2개의 정수 루마 샘플들이다.
도 4는 DMVR의 탐색 프로세스의 일례를 예시한다. 도 4에 도시된 바와 같이, 탐색 프로세스는 정수 샘플 오프셋 탐색 스테이지(402) 및 부분(fractional) 샘플 개선 스테이지(404)를 포함한다.
탐색 복잡성을 감소시키기 위해, 조기 종결 메커니즘에 따른 고속 탐색 방법이 정수 샘플 오프셋 탐색 스테이지(402)에 적용된다. 25 포인트 전체 탐색 대신에, 2-반복 탐색 방식이 적용되어 SAD 체크 포인트들의 수를 감소시킨다. 도 5는 정수 샘플 오프셋 탐색 스테이지(402)에 대한 DMVR 정수 루마 샘플 탐색 패턴의 일례를 예시한다. 도 5의 각각의 직사각형 박스는 포인트(MV)를 나타낸다. 도 5에 도시된 바와 같이, 고속 탐색 방법에 따라 첫 번째 반복에서 최대 6개의 SAD들(중심 및 P1 ~ P5에 대한 SAD들)이 체크된다. 첫 번째 반복에서, 초기 MV는 중심이다. 먼저, 5개의 포인트들(중심 및 P1 ~ P4)의 SAD들이 비교된다. 중심(즉, 중심 포지션)의 SAD가 가장 작다면, DMVR의 정수 샘플 오프셋 탐색 스테이지(402)가 종료된다. 그렇지 않으면, (P1 ~ P4의 SAD 분포에 기초하여 결정된) 하나의 포지션(P5)이 체크된다. 이어서, (P1 ~ P5 중) 가장 작은 SAD를 갖는 포지션이 두 번째 반복 탐색의 중심 포지션으로서 선택된다. 두 번째 반복 탐색 프로세스는 첫 번째 반복 탐색 프로세스와 동일하다. 첫 번째 반복에서 계산된 SAD들은 두 번째 반복에서 재사용될 수 있고, 따라서 단지 3개의 추가 포인트들의 SAD들이 두 번째 반복에서 계산될 필요가 있을 수 있다. 첫 번째 반복에서의 중심 포인트의 SAD가 SAD를 계산하는 데 사용된 샘플들의 수(이는 w * h / 2와 같고, 여기서 w 및 h는 각각 DMVR 동작 유닛의 폭 및 높이를 나타냄)보다 더 작을 때, 전체 DMVR 프로세스는 추가 탐색 없이 조기 종료된다는 점이 주목된다.
정수 샘플 탐색(402) 다음에 부분 샘플 개선(fractional sample refinement)(404)이 이어진다. 계산 복잡성을 감소시키기 위해, SAD 비교를 이용한 추가 탐색 대신에, 파라메트릭 오차 표면 방정식을 사용하여 부분 샘플 개선(404)이 도출된다. 부분 샘플 개선(404)은 정수 샘플 탐색 스테이지의 출력에 기반하여 조건부로 호출된다. 첫 번째 반복 또는 두 번째 반복 탐색에서 가장 작은 SAD를 갖는 중심에서 정수 샘플 탐색 스테이지(402)가 종료되면, 부분 샘플 개선이 추가로 적용된다.
파라메트릭 오차 표면 기반 부분 샘플 개선에서, 중심 포지션 및 그의 4개의 이웃 포지션들의 SAD 비용들(또는 비용 값들)은 다음 형태의 2-D 포물면 오차 표면 방정식을 맞추는 데 사용되며:
Figure 112021147434280-pct00006
여기서 (x min ,y min )은 최소 SAD 비용을 갖는 부분 포지션에 대응하고, C는 최소 비용 값에 대응한다. 5개의 탐색 포인트들의 SAD 비용 값들을 사용하여 위의 방정식들을 푸는 것에 의해, (x min ,y min )은 다음 방정식들에 의해 도출될 수 있다:
Figure 112021147434280-pct00007
(1)
Figure 112021147434280-pct00008
(2)
(x min ,y min )의 해법(solver)은 아래의 표 1 및 표 2에 예시된 바와 같이 나눗셈 없는(division-free) 프로세스에 의해 정의될 수 있다. 이 프로세스에서, 식(1) 및 식(2)을 풀 때 E (-1,0) 및 E (0,-1)의 값들이 각각 sadMinus에 치환되고; 식(1) 및 식(2)을 풀 때 E (1,0) 및 E (0,1)이 각각 sadPositive에 치환되며; E (0,0)이 sadCenter에 치환된다. 이 프로세스의 출력(dMvC)은, 각각 식(1) 또는 식(2)을 도출할 때의 해(x min 또는 y min )이다.
[표 1] x min 또는 y min 을 획득하기 위한 프로세스
Figure 112021147434280-pct00009
[표 2] 식(1) 및 식(2)을 풀기 위한 나눗셈 없는 방정식 해법()
Figure 112021147434280-pct00010
x min y min 의 값들은 -8 내지 8로 더 제한되며, 이는 1/16 픽셀 MV 정확도를 갖는 중심 포인트로부터의 1/2 픽셀 오프셋에 대응한다. 계산된 부분 오프셋(x min ,y min )이 정수 거리 MV 개선에 더해져 서브픽셀 정확도 MV 개선을 얻는다.
DMVR에 대한 쌍일차 보간(bilinear-interpolation) 및 샘플 패딩
VVC에서, MV들의 분해능은 1/16 루마 샘플들이다. 부분 포지션의 샘플들은 8-탭 보간 필터를 사용하여 보간된다. DMVR 탐색에서, 후보 MV가 서브픽셀 위치를 가리킬 때, 그러한 관련된 부분 포지션 샘플들은 보간될 필요가 있다. 계산 복잡도를 감소시키기 위해, DMVR에서의 탐색 프로세스에서 부분 샘플들을 생성하기 위해 쌍일차 보간 필터가 사용된다.
보간을 위해 쌍일차 필터를 사용하는 것으로부터의 다른 효과는, 2-샘플 탐색 범위에서, DVMR 탐색 프로세스가 정상 모션 보상 프로세스와 비교하여 더 많은 참조 샘플들에 액세스하지 않는다는 것이다. DMVR 탐색 프로세스에 의해 개선된 MV가 달성된 후에, 정상 8-탭 보간 필터가 적용되어 최종 예측을 생성한다. 또, 이러한 8-탭 보간 프로세스에서는, 정상 모션 보상 프로세스보다 더 많은 참조 샘플들에 액세스하는 것을 피하기 위해 샘플 패딩이 사용된다. 보다 구체적으로, 개선 MV에 기반한 8-탭 보간 프로세스에서, 원래의 MV에 기초한 모션 보상에 필요한 것들을 초과하는 샘플들이 이들의 이웃하는 이용 가능한 샘플들로부터 패딩될 것이다.
최대 DMVR 처리 유닛
CU의 폭 및/또는 높이가 16개의 루마 샘플들보다 더 클 때, 16개의 샘플들과 동일한 최대 폭 및/또는 높이를 갖는 DMVR 처리 유닛들에 기반하여 CU에 대한 DMVR 동작이 수행된다. 다시 말해서, 그러한 경우, 원래의 CU는 DMVR 동작을 위해 16개의 루마 샘플들과 동일한 폭 및/또는 높이를 갖는 서브블록들로 파티셔닝된다. DMVR 탐색 프로세스를 위한 최대 처리 유닛 크기는 16×16으로 제한된다.
현재 VVC 설계에서, DMVR의 인에이블을 제어하기 위한 제어 플래그가 없다. 그러나 DMVR 개선된 MV가 개선 이전의 것보다 항상 더 양호하다는 것이 보장되지는 않는다. 일부 경우들에서, DMVR 개선 프로세스는 원래의 것보다 더 나쁜 개선된 MV를 생성할 수 있다. 본 개시내용의 일부 예들에 따르면, DMVR MV 개선의 그러한 불확실성으로부터 야기된 페널티를 감소시키기 위해 여러 방법들이 제안된다.
비용 값(들)을 조정함으로써 DMVR에 대한 업데이트된 비용 값들
DMVR 프로세스 동안 원래의 MV에 유리하도록 여러 예시적인 접근 방식들이 제안된다. 이러한 상이한 접근 방식들이 독립적으로 또는 공동으로 적용될 수 있다는 점이 주목된다.
"초기 MV" 및 "원래의 MV"라는 용어들은 본 개시내용의 일부 예들에서 상호 교환 가능하게 사용될 수 있다.
일부 예들에서, DMVR 프로세스 동안, 초기 MV 및 MV 후보들 각각에 대한 비용 값들은 초기 MV에 유리하도록 조정 또는 업데이트될 수 있다. 즉, DMVR 프로세스에서 탐색 포인트들의 비용 값들(예컨대, SAD들)의 계산 후에, 비용 값(들)은 초기 MV가 업데이트된 비용 값들 중에서 최소 비용 값을 가질 확률을 증가시키도록, 즉 초기 MV에 유리하도록 조정될 수 있다.
따라서 업데이트된 비용 값들이 획득된 후에, 초기 MV는 DMVR 프로세스 동안 가장 낮은 비용을 갖는 MV로서 선택될 더 높은 기회를 갖는다.
여기서 SAD 값들은 예시적인 목적으로 예시적인 비용 값으로서 사용된다. 다른 값들, 이를테면 행-서브샘플링된 SAD, 평균 제거 SAD, 또는 제곱 차이 합(SSD)이 또한 비용 값들로서 사용될 수 있다.
일부 예들에서, 초기 MV(또는 원래의 MV)에 의해 참조된 참조 블록들 사이의 SAD 값은 다른 MV 후보들의 SAD 값들과 비교되는 미리 정의된 프로세스를 통해 계산된 제1 값(OffsetSAD)만큼 감소된다. 따라서 초기 MV는 그 SAD 값이 감소되기 때문에 다른 후보 MV들에 비해 유리하다.
일례로, OffsetSAD의 값은 초기 MV와 연관된 SAD 값의 1/N으로서 결정될 수 있으며, 여기서 N은 정수(예컨대, 4, 8 또는 16)이다.
다른 예에서, OffsetSAD의 값은 상수 값(M)으로서 결정될 수 있다.
또 다른 예에서, OffsetSAD의 값은 현재 CU 내의 코딩된 정보에 따라 결정될 수 있으며, 코딩된 정보는: 코딩 블록 크기, 모션 벡터들의 크기, 초기 MV의 SAD, 및 DMVR 프로세스 유닛의 상대적 포지션 중 적어도 하나 또는 이들의 조합을 포함한다. 예를 들어, OffsetSAD의 값은 초기 MV와 연관된 SAD 값의 1/N으로서 결정될 수 있으며, 여기서 N은 현재 CU의 블록 크기에 기초하여 선택된 정수 값(예컨대, 4, 8 또는 16)이다. 현재 블록 크기가 미리 정의된 크기(예컨대, 16×16) 이상일 때, N의 값은 8로 설정되고; 그렇지 않으면, N의 값은 4로 설정된다. 예를 들어, OffsetSAD의 값은 초기 MV와 연관된 SAD 값의 1/N으로서 결정될 수 있으며, 여기서 N은 DMVR 프로세스 유닛의 중심 포지션과 현재 CU의 중심 포지션 사이의 거리에 기초하여 선택된 정수 값(예컨대, 4, 8 또는 16)이다. 거리가 미리 정의된 임계치 이상일 때, N은 하나의 값(예컨대, 8)으로 설정되고; 그렇지 않으면, N은 다른 값(예컨대, 4)으로 설정된다.
예들에서, 초기 MV와 연관된 SAD 값을 특정 값(OffsetSAD)만큼 감소시키는 것이 설명된다. 실제로, 이 아이디어는 상이하게 구현될 수 있다. 예를 들어, 초기 MV와 연관된 SAD 값을 감소시키는 대신에, DMVR 탐색 프로세스 동안 다른 MV 후보들과 연관된 그러한 SAD들에 OffsetSAD의 값이 더해질 수 있고, 이러한 2개의 경우들에서의 결과들은 동등하다.
다른 일부 예들에서, 비-초기 MV 후보들에 의해 참조된 참조 블록들 사이의 SAD 값들은 미리 정의된 프로세스를 통해 계산된 제2 값(OffsetSAD')만큼 증가된다. 제2 값(OffsetSAD') 및 제1 값(OffsetSAD)은 동일하거나 상이할 수 있다. 따라서 비-초기 MV들의 SAD 값들이 증가되기 때문에, 초기 MV가 유리하다.
일례로, OffsetSAD'의 값은 비-초기 MV와 연관된 SAD 값의 1/N으로서 결정될 '수 있으며, 여기서 N은 정수(예컨대, 4, 8 또는 16)이다.
다른 예에서, OffsetSAD'의 값은 상수 값(M)으로서 결정될 수 있다.
또 다른 예에서, OffsetSAD'의 값은 현재 CU 내의 코딩된 정보에 따라 결정될 수 있으며, 이 코딩된 정보는 코딩 블록 크기, 모션 벡터들의 크기, 비-초기 MV들의 SAD 값, 및/또는 현재 CU 내의 DMVR 프로세스 유닛의 상대적 포지션을 포함할 수 있다. 예를 들어, 이 값은 비-초기 MV를 사용하여 BM으로부터 SAD 값의 1/N으로서 결정될 수 있으며, 여기서 N은 블록 크기에 기반하여 선택된 정수(예컨대, 4, 8 또는 16)이다. 현재 블록 크기가 미리 정의된 크기(예컨대, 16×16) 이상일 때, N의 값은 8로 설정되고; 그렇지 않으면, N의 값은 4로 설정된다. 예를 들어, OffsetSAD'의 값은 비-초기 MV를 사용하여 BM으로부터 SAD 값의 1/N으로서 결정될 수 있으며, 여기서 N은 DMVR 프로세스 유닛의 중심 포지션과 현재 CU의 중심 포지션 사이의 거리에 기초하여 선택된 정수 값(예컨대, 4, 8 또는 16)이다. 거리가 미리 정의된 임계치 이상일 때, N은 하나의 값(예컨대, 8)으로 설정되고; 그렇지 않으면, N은 다른 값(예컨대, 4)으로 설정된다.
예들에서, 비-초기 MV 후보들과 연관된 SAD 값을 특정 값(OffsetSAD')만큼 증가시키는 것이 설명된다. 실제로, 이 아이디어는 상이하게 구현될 수 있다. 예를 들어, 비-초기 MV와 연관된 SAD 값을 증가시키는 대신에, DMVR 탐색 프로세스 동안 초기 MV와 연관된 SAD로부터 OffsetSAD'의 값이 감산될 수 있고, 결과들은 동등하다.
일부 추가 예들에서, 초기 MV와 연관된 BM SAD는 비-초기 MV들과 연관된 SAD 계산을 위해 사용되는 샘플들의 적절한 서브세트에 기초하여 계산된다. 즉, MV 후보들의 SAD 값들과 비교하여 더 적은 샘플들을 사용하여 초기 MV의 SAD 값이 결정된다. 이는 초기 MV의 SAD 값을 감소시키는 것과 유사할 수 있다.
다른 일부 예들에서, 표 3에 예시된 바와 같이, sadMinus와 sadCenter 간의 비교 및 sadPlus와 sadCenter 간의 비교를 제거함으로써, 파라메트릭 오차 표면 기반 부분 샘플 개선에 대한 x min y min 을 도출하거나 획득하기 위한 프로세스가 단순화된다. 즉, 개선된 MV를 도출할 때, sadMinus와 sadCenter 간의 비교 및 sadPlus와 sadCenter 간의 비교를 제거함으로써 부분 샘플 개선이 단순화되며; 아래 2-D 포물선 방정식을 풀 때:
Figure 112021147434280-pct00011
,
sadMinus는 E(-1,0) 또는 E(0,-1)의 값을 나타내고, sadPlus는 E(1,0) 또는 E(0,1)의 값을 나타내며, sadCenter는 E(0,0)의 값을 나타낸다.
[표 3]x min 또는 y min 을 획득하기 위한 단순화된 프로세스
Figure 112021147434280-pct00012
다른 일부 예들에서, 표 4에 예시된 바와 같이 코너 경우들에 대해 dMvC를 -4 또는 4로 제한함으로써 x min y min 의 한계들을 감소시킴으로써 그리고 표 5에 예시된 바와 같이 반복 카운터의 값을 2로 감소시킴(예컨대, 카운터의 값이 2로 초기화됨)으로써, 파라메트릭 오차 표면 기반 부분 샘플 개선에 대한 x min y min 을 획득하기 위한 프로세스가 단순화된다.
[표 4] x min 또는 y min 을 획득하기 위한 프로세스
Figure 112021147434280-pct00013
[표 5] 식(1) 및 식(2)을 풀기 위한 수정된 나눗셈 없는 방정식 해법()
Figure 112021147434280-pct00014
위의 예들에 따르면, DMVR 프로세스는, 정수 샘플 오프셋 탐색 스테이지 및/또는 부분 샘플 개선 스테이지에서 초기 MV가 다른 MV 후보들에 비해 유리하도록 수정됨으로써, 개선된 MV가 원래의 MV보다 더 나쁜 가능한 시나리오로부터 야기된 페널티를 감소시킨다.
도 6은 본 개시내용의 일부 구현들에 따른 비디오 코딩을 위한 예시적인 장치를 예시하는 블록도이다. 장치(600)는 단말, 이를테면 휴대 전화, 태블릿 컴퓨터, 디지털 브로드캐스트 단말, 태블릿 디바이스 또는 개인용 디지털 보조기기일 수 있다.
도 6에 도시된 바와 같이, 장치(600)는 다음의 컴포넌트들: 처리 컴포넌트(602), 메모리(604), 전력 공급 컴포넌트(606), 멀티미디어 컴포넌트(608), 오디오 컴포넌트(610), 입력/출력(I/O: input/output) 인터페이스(612), 센서 컴포넌트(614) 및 통신 컴포넌트(616) 중 하나 이상을 포함할 수 있다.
처리 컴포넌트(602)는 대개 장치(600)의 전체 동작들, 이를테면 디스플레이, 전화 통화, 데이터 통신, 카메라 동작 및 레코딩 동작과 관련된 동작들을 제어한다. 처리 컴포넌트(602)는 위의 방법의 단계들의 전부 또는 일부를 완료하기 위한 명령들을 실행하기 위한 하나 이상의 프로세서들(620)을 포함할 수 있다. 추가로, 처리 컴포넌트(602)는 처리 컴포넌트(602)와 다른 컴포넌트들 간의 상호 작용을 가능하게 할 하나 이상의 모듈들을 포함할 수 있다. 예를 들어, 처리 컴포넌트(602)는 멀티미디어 컴포넌트(608)와 처리 컴포넌트(602) 간의 상호 작용을 가능하게 할 멀티미디어 모듈을 포함할 수 있다.
메모리(604)는 장치(600)의 동작들을 지원하기 위해 상이한 타입들의 데이터를 저장하도록 구성된다. 그러한 데이터의 예들은 장치(600) 상에서 동작하는 임의의 애플리케이션 또는 방법에 대한 명령들, 연락처 데이터, 전화번호부 데이터, 메시지들, 사진들, 비디오들 등을 포함한다. 메모리(604)는 임의의 타입의 휘발성 또는 비휘발성 저장 디바이스들 또는 이들의 조합에 의해 구현될 수 있으며, 메모리(604)는 정적 랜덤 액세스 메모리(SRAM: Static Random Access Memory), 전기적으로 소거 가능한 프로그래밍 가능 판독 전용 메모리(EEPROM: Electrically Erasable Programmable Read-Only Memory), 소거 가능한 프로그래밍 가능 판독 전용 메모리(EPROM: Erasable Programmable Read-Only Memory), 프로그래밍 가능 판독 전용 메모리(PROM: Programmable Read-Only Memory), 판독 전용 메모리(ROM: Read-Only Memory), 자기 메모리, 플래시 메모리, 자기 디스크 또는 광 디스크일 수 있다.
전력 공급 컴포넌트(606)는 장치(600)의 상이한 컴포넌트들에 전력을 공급한다. 전력 공급 컴포넌트(606)는 전력 공급 관리 시스템, 하나 이상의 전력 공급부들, 및 장치(600)를 위한 전력의 발생, 관리 및 분배와 연관된 임의의 다른 컴포넌트들을 포함할 수 있다.
멀티미디어 컴포넌트(608)는 장치(600)와 사용자 간의 출력 인터페이스를 제공하는 스크린을 포함한다. 일부 예들에서, 스크린은 액정 디스플레이(LCD: Liquid Crystal Display) 및 터치 패널(TP: Touch Panel)을 포함할 수 있다. 스크린이 터치 패널을 포함한다면, 스크린은 사용자로부터의 입력 신호를 수신하는 터치 스크린으로서 구현될 수 있다. 터치 패널은 터치 패널 상에서 터치, 슬라이드(slide) 및 제스처(gesture)를 감지하기 위한 하나 이상의 터치 센서들을 포함할 수 있다. 터치 센서는 터치 또는 슬라이딩 동작들의 경계를 감지할 뿐만 아니라, 터치 또는 슬라이딩 동작과 관련된 지속기간 및 압력을 검출할 수 있다. 일부 예들에서, 멀티미디어 컴포넌트(608)는 전방 카메라 및/또는 후방 카메라를 포함할 수 있다. 장치(600)가 촬영 모드 또는 비디오 모드와 같은 동작 모드에 있을 때, 전방 카메라 및/또는 후방 카메라는 외부 멀티미디어 데이터를 수신할 수 있다.
오디오 컴포넌트(610)는 오디오 신호를 출력 및/또는 입력하도록 구성된다. 예를 들어, 오디오 컴포넌트(610)는 마이크로폰(MIC: microphone)을 포함한다. 장치(600)가 동작 모드, 이를테면 통화 모드, 레코딩 모드 및 음성 인식 모드에 있을 때, 마이크로폰은 외부 오디오 신호를 수신하도록 구성된다. 수신된 오디오 신호는 메모리(604)에 추가로 저장되거나 통신 컴포넌트(616)를 통해 송신될 수 있다. 일부 예들에서, 오디오 컴포넌트(610)는 오디오 신호를 출력하기 위한 스피커를 추가로 포함한다.
I/O 인터페이스(612)는 처리 컴포넌트(602)와 주변 인터페이스 모듈 사이의 인터페이스를 제공한다. 위의 주변 인터페이스 모듈은 키보드, 클릭 휠, 버튼 등일 수 있다. 이러한 버튼들은 홈 버튼, 볼륨 버튼, 시작 버튼 및 잠금 버튼을 포함할 수 있지만 그에 제한되는 것은 아니다.
센서 컴포넌트(614)는 장치(600)에 대한 다양한 양상들의 상태 평가를 제공하기 위한 하나 이상의 센서들을 포함한다. 예를 들어, 센서 컴포넌트(614)는 장치(600)의 온/오프 상태 및 컴포넌트들의 상대적인 위치들을 검출할 수 있다. 예를 들어, 컴포넌트들은 장치(600)의 디스플레이 및 키패드이다. 센서 컴포넌트(614)는 또한, 장치(600) 또는 장치(600)의 컴포넌트의 포지션 변화, 장치(600) 상의 사용자의 접촉 유무, 장치(600)의 배향 또는 가속/감속, 및 장치(600)의 온도 변화를 검출할 수 있다. 센서 컴포넌트(614)는 어떠한 물리적 터치도 없이 인근 객체의 존재를 검출하도록 구성된 근접 센서를 포함할 수 있다. 센서 컴포넌트(614)는 이미징 애플리케이션에서 사용되는 CMOS 또는 CCD 이미지 센서와 같은 광 센서를 더 포함할 수 있다. 일부 예들에서, 센서 컴포넌트(614)는 가속도 센서, 자이로스코프 센서, 자기 센서, 압력 센서 또는 온도 센서를 더 포함할 수 있다.
통신 컴포넌트(616)는 장치(600)와 다른 디바이스들 간의 유선 또는 무선 통신을 가능하게 하도록 구성된다. 장치(600)는 WiFi, 4G 또는 이들의 조합과 같은 통신 표준을 기반으로 무선 네트워크에 액세스할 수 있다. 일례로, 통신 컴포넌트(616)는 브로드캐스트 채널을 통해 외부 브로드캐스트 관리 시스템으로부터 브로드캐스트 신호 또는 브로드캐스트 관련 정보를 수신한다. 일례로, 통신 컴포넌트(616)는 단거리 통신을 촉진하기 위한 근접장 통신(NFC: Near Field Communication) 모듈을 더 포함할 수 있다. 예를 들어, NFC 모듈은 무선 주파수 식별(RFID: Radio Frequency Identification) 기술, 적외선 데이터 협회(IrDA: infrared data association) 기술, 초광대역(UWB: Ultra-Wide Band) 기술, 블루투스(BT: Bluetooth) 기술 및 다른 기술을 기반으로 구현될 수 있다.
일례로, 장치(600)는 주문형 집적 회로(ASIC: Application Specific Integrated Circuit)들, 디지털 신호 프로세서(DSP: Digital Signal Processor)들, 디지털 신호 처리 디바이스(DSPD: Digital Signal Processing Device)들, 프로그래밍 가능 로직 디바이스(PLD: Programmable Logic Device)들, 필드 프로그래밍 가능 게이트 어레이(FPGA: Field Programmable Gate Array)들, 제어기들, 마이크로컨트롤러들, 마이크로프로세서들 또는 다른 전자 엘리먼트들 중 하나 이상에 의해 위의 방법을 수행하도록 구현될 수 있다.
비-일시적 컴퓨터 판독 가능 저장 매체는 예를 들어, 하드 디스크 드라이브(HDD: Hard Disk Drive), 솔리드 스테이트 드라이브(SSD: Solid-State Drive), 플래시 메모리, 하이브리드 드라이브 또는 솔리드 스테이트 하이브리드 드라이브(SSHD: Solid-State Hybrid Drive), 판독 전용 메모리(ROM: Read-Only Memory), 콤팩트 디스크 판독 전용 메모리(CD-ROM: Compact Disc Read-Only Memory), 자기 테이프, 플로피 디스크 등일 수 있다.
도 7은 본 개시내용의 일부 구현들에 따른 비디오 코딩에서의 디코더 측 모션 벡터 개선의 예시적인 프로세스를 예시하는 흐름도이다.
단계(702)에서, 프로세서(620)가 현재 코딩 유닛(CU)의 초기 모션 벡터(MV)를 도출한다.
단계(704)에서, 프로세서(620)가 디코더 측 모션 벡터 개선(DMVR)을 위한 복수의 모션 벡터(MV) 후보들을 도출한다.
단계(706)에서, 프로세서(620)가 초기 MV 및 MV 후보들 각각에 대한 비용 값들을 결정한다.
단계(708)에서, 프로세서(620)는 초기 MV에 유리하도록 비용 값들 중 적어도 하나를 조정함으로써 업데이트된 비용 값들을 획득한다.
단계(710)에서, 프로세서(620)는 초기 MV 및 MV 후보들의 업데이트된 비용 값들에 기초하여 개선된 MV를 도출한다.
비용 값들 중 적어도 하나를 조정하는 것은 미리 정의된 프로세스를 사용하여 결정된 제1 값만큼 초기 MV의 비용 값을 감소시키는 것; 또는 미리 정의된 프로세스를 사용하여 결정된 제2 값만큼 MV 후보들의 비용 값들을 증가시키는 것을 포함할 수 있다.
일부 예들에서, 비디오 코딩을 위한 장치가 제공된다. 이 장치는 하나 이상의 프로세서들(620); 및 하나 이상의 프로세서들에 의해 실행 가능한 명령들을 저장하도록 구성된 메모리(604)를 포함하며; 여기서 하나 이상의 프로세서들은 명령들의 실행 시에, 도 7에 예시된 바와 같은 방법을 수행하도록 구성된다.
다른 일부 예들에서, 명령들이 내부에 저장된 비-일시적 컴퓨터 판독 가능 저장 매체(604)가 제공된다. 명령들이 하나 이상의 프로세서들(620)에 의해 실행될 때, 명령들은 프로세서들로 하여금 도 7에 예시된 바와 같은 방법을 수행하게 한다.
본 개시내용의 설명은 예시 목적으로 제시되었지만, 본 개시내용을 총망라하거나 본 개시내용으로 제한되는 것으로 의도되는 것은 아니다. 앞서 말한 설명들 및 연관된 도면들에 제시된 교시들의 이점을 갖는 많은 수정들, 변형들 및 대안적인 구현들이 당해 기술분야에서 통상의 지식을 가진 자들에게 명백할 것이다.
이 예들은 본 개시내용의 원리들을 설명하기 위해, 그리고 당해 기술 분야에서 통상의 지식을 가진 다른 자들이 다양한 구현들에 대해 본 개시내용을 이해하고 기반이 되는 원리들 및 다양한 구현들을 고려되는 특정 용도에 맞춰진 다양한 수정들로 가장 잘 이용하는 것을 가능하게 하기 위해 선택되고 설명되었다. 따라서 본 개시내용의 범위는 개시된 구현들의 특정 예들에 제한되는 것은 아니며 수정들 및 다른 구현들은 본 개시내용의 범위 내에 포함되는 것으로 의도된다고 이해되어야 한다.

Claims (36)

  1. 비디오 코딩 방법으로서,
    현재 블록의 초기 모션 벡터(MV: motion vector)를 도출하는 단계;
    디코더 측 모션 벡터 개선(DMVR: decoder-side motion vector refinement)을 위한 복수의 MV 후보들을 도출하는 단계;
    상기 초기 MV 및 상기 MV 후보들 각각에 대한 비용 값들을 결정하는 단계;
    상기 초기 MV에 유리하도록 상기 비용 값들 중 적어도 하나를 조정함으로써 상기 초기 MV 및 상기 MV 후보들 모두의 업데이트된 비용 값들을 획득하는 단계; 및
    상기 초기 MV 및 상기 MV 후보들 모두의 업데이트된 비용 값들에 기초하여, 개선된 MV를 도출하는 단계를 포함하는,
    비디오 코딩 방법.
  2. 제1항에 있어서,
    상기 비용 값들 중 적어도 하나를 조정하는 것은, 미리 정의된 프로세스를 사용하여 결정된 제1 값만큼 상기 초기 MV의 비용 값을 감소시키는 것을 포함하는,
    비디오 코딩 방법.
  3. 제2항에 있어서,
    상기 제1 값은 상기 초기 MV의 비용 값의 1/N로서 결정되며,
    N은 정수 값인,
    비디오 코딩 방법.
  4. 제2항에 있어서,
    상기 제1 값은 상수 값으로서 결정되는,
    비디오 코딩 방법.
  5. 제2항에 있어서,
    상기 제1 값은 상기 현재 블록 내의 코딩된 정보에 따라 결정되고,
    상기 코딩된 정보는: 코딩 블록 크기, 모션 벡터들의 크기, 상기 초기 MV의 SAD(sum of absolute differences), 및 DMVR 프로세스 유닛의 상대적 포지션 중 적어도 하나 또는 이들의 조합을 포함하는,
    비디오 코딩 방법.
  6. 제5항에 있어서,
    상기 제1 값은 상기 초기 MV의 비용 값의 1/N로서 결정되며,
    N은 상기 현재 블록의 블록 크기에 기초하여 도출된 정수 값인,
    비디오 코딩 방법.
  7. 제5항에 있어서,
    상기 제1 값은 상기 초기 MV의 비용 값의 1/N로서 결정되며,
    N은 상기 DMVR 프로세스 유닛의 중심 포지션과 상기 현재 블록의 중심 포지션 사이의 거리에 기초하여 도출된 정수 값인,
    비디오 코딩 방법.
  8. 제1항에 있어서,
    상기 비용 값들 중 적어도 하나를 조정하는 것은, 미리 정의된 프로세스를 사용하여 결정된 제2 값만큼 상기 MV 후보들의 비용 값들을 증가시키는 것을 포함하는,
    비디오 코딩 방법.
  9. 제1항에 있어서,
    상기 초기 MV의 비용 값은 상기 MV 후보들의 비용 값들과 비교하여 더 적은 샘플들을 사용하여 결정되는,
    비디오 코딩 방법.
  10. 제1항에 있어서,
    상기 개선된 모션 벡터를 도출하는 단계는 부분(fractional) 샘플 개선을 포함하고,
    상기 부분 샘플 개선은 sadMinus와 sadCenter 간의 비교 및 sadPlus와 sadCenter 간의 비교를 제거함으로써 단순화되며;
    아래 2-D 포물선 방정식을 풀 때:
    Figure 112021147480900-pct00025

    sadMinus는 E(-1,0) 또는 E(0,-1)의 값을 나타내고, sadPlus는 E(1,0) 또는 E(0,1)의 값을 나타내며, sadCenter는 E(0,0)의 값을 나타내는,
    비디오 코딩 방법.
  11. 제1항에 있어서,
    상기 개선된 모션 벡터를 도출하는 단계는 부분 샘플 개선을 포함하고,
    상기 부분 샘플 개선은 1/16 픽셀 MV 정확도를 갖는 코너 경우들에 대해 부분 포지션을 -4 또는 4로 제한함으로써 그리고 나눗셈 없는 방정식 해법(division-free equation solver)에서 반복 카운트를 2로 감소시킴으로써 단순화되는,
    비디오 코딩 방법.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서,
    상기 비용 값들은 절대 차이 합(SAD: sum of absolute differences)들인,
    비디오 코딩 방법.
  13. 비디오 코딩을 위한 장치로서,
    하나 이상의 프로세서들; 및
    상기 하나 이상의 프로세서들에 의해 실행 가능한 명령들을 저장하도록 구성된 메모리를 포함하며;
    상기 하나 이상의 프로세서들은 상기 명령들의 실행 시에:
    현재 블록의 초기 모션 벡터(MV)를 도출하고;
    디코더 측 모션 벡터 개선(DMVR)을 위한 복수의 MV 후보들을 도출하고;
    상기 초기 MV 및 상기 MV 후보들 각각에 대한 비용 값들을 결정하고;
    상기 초기 MV에 유리하도록 상기 비용 값들 중 적어도 하나를 조정함으로써 상기 초기 MV 및 상기 MV 후보들 모두의 업데이트된 비용 값들을 획득하고; 그리고
    상기 초기 MV 및 상기 MV 후보들 모두의 업데이트된 비용 값들에 기초하여, 개선된 MV를 도출하도록 구성되는,
    비디오 코딩을 위한 장치.
  14. 제13항에 있어서,
    상기 비용 값들 중 적어도 하나를 조정하는 것은, 미리 정의된 프로세스를 사용하여 결정된 제1 값만큼 상기 초기 MV의 비용 값을 감소시키는 것을 포함하는,
    비디오 코딩을 위한 장치.
  15. 제14항에 있어서,
    상기 제1 값은 상기 초기 MV의 비용 값의 1/N로서 결정되며,
    N은 정수 값인,
    비디오 코딩을 위한 장치.
  16. 제14항에 있어서,
    상기 제1 값은 상수 값으로서 결정되는,
    비디오 코딩을 위한 장치.
  17. 제14항에 있어서,
    상기 제1 값은 상기 현재 블록 내의 코딩된 정보에 따라 결정되고,
    상기 코딩된 정보는: 코딩 블록 크기, 모션 벡터들의 크기, 상기 초기 MV의 비용 값, 및 DMVR 프로세스 유닛의 상대적 포지션 중 적어도 하나 또는 이들의 조합을 포함하는,
    비디오 코딩을 위한 장치.
  18. 제13항 내지 제17항 중 어느 한 항에 있어서,
    상기 비용 값들은 절대 차이 합(SAD)들인,
    비디오 코딩을 위한 장치.
  19. 비-일시적 컴퓨터 판독 가능 저장 매체로서,
    내부에 저장된 명령들을 포함하며,
    하나 이상의 프로세서들에 의한 상기 명령들의 실행 시에, 상기 명령들은 상기 하나 이상의 프로세서들로 하여금 제1항 내지 제11항 중 어느 한 항에 기재된 비디오 코딩 방법을 실행하게 하는, 비-일시적 컴퓨터 판독 가능 저장 매체.
  20. 프로세서에 의해 실행된 때, 제1항 내지 제11항 중 어느 한 항에 기재된 비디오 코딩 방법을 실행하게 하는 명령어를 포함하는, 컴퓨터 판독 가능한 저장 매체에 저장된 컴퓨터 프로그램.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
KR1020217041735A 2019-06-17 2020-06-17 비디오 코딩에서의 디코더 측 모션 벡터 개선을 위한 방법들 및 장치들 KR102417212B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227022544A KR20220098294A (ko) 2019-06-17 2020-06-17 비디오 코딩에서의 디코더 측 모션 벡터 개선을 위한 방법들 및 장치들

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962862674P 2019-06-17 2019-06-17
US62/862,674 2019-06-17
PCT/US2020/038253 WO2020257365A1 (en) 2019-06-17 2020-06-17 Methods and apparatuses for decoder-side motion vector refinement in video coding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227022544A Division KR20220098294A (ko) 2019-06-17 2020-06-17 비디오 코딩에서의 디코더 측 모션 벡터 개선을 위한 방법들 및 장치들

Publications (2)

Publication Number Publication Date
KR20210157919A KR20210157919A (ko) 2021-12-29
KR102417212B1 true KR102417212B1 (ko) 2022-07-05

Family

ID=74040903

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227022544A KR20220098294A (ko) 2019-06-17 2020-06-17 비디오 코딩에서의 디코더 측 모션 벡터 개선을 위한 방법들 및 장치들
KR1020217041735A KR102417212B1 (ko) 2019-06-17 2020-06-17 비디오 코딩에서의 디코더 측 모션 벡터 개선을 위한 방법들 및 장치들

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020227022544A KR20220098294A (ko) 2019-06-17 2020-06-17 비디오 코딩에서의 디코더 측 모션 벡터 개선을 위한 방법들 및 장치들

Country Status (7)

Country Link
US (4) US11962797B2 (ko)
EP (1) EP3970376A4 (ko)
JP (3) JP7098847B2 (ko)
KR (2) KR20220098294A (ko)
CN (5) CN117221548B (ko)
MX (1) MX2021015811A (ko)
WO (1) WO2020257365A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11223840B2 (en) * 2019-08-19 2022-01-11 Tencent America LLC Method and apparatus for video coding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180359483A1 (en) * 2017-06-13 2018-12-13 Qualcomm Incorporated Motion vector prediction

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060069227A (ko) * 2004-12-16 2006-06-21 엘지전자 주식회사 영상신호의 엔코딩/디코딩시에 영상블록을 위한 모션벡터를베이스 레이어 픽처의 모션벡터로부터 유도하는 방법 및장치
US20060222074A1 (en) * 2005-04-01 2006-10-05 Bo Zhang Method and system for motion estimation in a video encoder
WO2007124491A2 (en) * 2006-04-21 2007-11-01 Dilithium Networks Pty Ltd. Method and system for video encoding and transcoding
KR100910209B1 (ko) * 2006-11-28 2009-07-30 한양대학교 산학협력단 세분화된 탐색 영역을 기반으로 하는 고속 전영역 움직임예측 방법 및 그 장치
CN101933328B (zh) * 2008-01-22 2014-11-19 杜比实验室特许公司 利用动态查询表更新的自适应运动信息成本估计
US8446524B2 (en) * 2010-06-21 2013-05-21 Realtek Semiconductor Corp. Apparatus and method for frame rate conversion
US9749642B2 (en) * 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US10123036B2 (en) * 2014-06-27 2018-11-06 Microsoft Technology Licensing, Llc Motion vector selection for video encoding
WO2017036414A1 (en) * 2015-09-02 2017-03-09 Mediatek Inc. Method and apparatus of decoder side motion derivation for video coding
CN108293131B (zh) * 2015-11-20 2021-08-31 联发科技股份有限公司 基于优先级运动矢量预测子推导的方法及装置
EP3264769A1 (en) * 2016-06-30 2018-01-03 Thomson Licensing Method and apparatus for video coding with automatic motion information refinement
EP3264768A1 (en) 2016-06-30 2018-01-03 Thomson Licensing Method and apparatus for video coding with adaptive motion information refinement
US10750203B2 (en) * 2016-12-22 2020-08-18 Mediatek Inc. Method and apparatus of adaptive bi-prediction for video coding
US20180199057A1 (en) * 2017-01-12 2018-07-12 Mediatek Inc. Method and Apparatus of Candidate Skipping for Predictor Refinement in Video Coding
US10595035B2 (en) * 2017-03-22 2020-03-17 Qualcomm Incorporated Constraining motion vector information derived by decoder-side motion vector derivation
US10477237B2 (en) * 2017-06-28 2019-11-12 Futurewei Technologies, Inc. Decoder side motion vector refinement in video coding
CN116886920A (zh) * 2017-09-26 2023-10-13 松下电器(美国)知识产权公司 解码装置、编码装置、解码方法和编码方法
WO2019072372A1 (en) * 2017-10-09 2019-04-18 Huawei Technologies Co., Ltd. MOTION VECTOR REFINEMENT OF A MOTION VECTOR POINTING TO A FRACTIONAL SAMPLE POSITION
EP3685583A1 (en) * 2017-10-09 2020-07-29 Huawei Technologies Co., Ltd. Template update for motion vector refinement
CN109672894B (zh) 2017-10-13 2022-03-08 腾讯科技(深圳)有限公司 一种帧间预测方法、装置及存储介质
US11750832B2 (en) * 2017-11-02 2023-09-05 Hfi Innovation Inc. Method and apparatus for video coding
WO2019110132A1 (en) * 2017-12-08 2019-06-13 Huawei Technologies Co., Ltd. Template matching function for bi-predictive mv refinement
CN117041593A (zh) * 2018-03-14 2023-11-10 Lx 半导体科技有限公司 图像编码/解码方法、存储介质和发送方法
US11166037B2 (en) * 2019-02-27 2021-11-02 Mediatek Inc. Mutual excluding settings for multiple tools
US11140409B2 (en) * 2019-03-22 2021-10-05 Lg Electronics Inc. DMVR and BDOF based inter prediction method and apparatus thereof
EP3987794A4 (en) * 2019-06-21 2022-09-07 Huawei Technologies Co., Ltd. ENCODER, DECODER AND METHOD THEREOF
KR20220062588A (ko) * 2019-09-12 2022-05-17 알리바바 그룹 홀딩 리미티드 비디오 부호화 정보 시그널링용 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180359483A1 (en) * 2017-06-13 2018-12-13 Qualcomm Incorporated Motion vector prediction

Also Published As

Publication number Publication date
CN115941970B (zh) 2024-02-20
US20240114164A1 (en) 2024-04-04
WO2020257365A1 (en) 2020-12-24
EP3970376A4 (en) 2022-11-09
US20240146950A1 (en) 2024-05-02
JP2022530283A (ja) 2022-06-28
CN116916026B (zh) 2024-05-31
CN117221548A (zh) 2023-12-12
JP2022130610A (ja) 2022-09-06
CN113940073A (zh) 2022-01-14
CN115941970A (zh) 2023-04-07
US11962797B2 (en) 2024-04-16
US20220116643A1 (en) 2022-04-14
CN116916026A (zh) 2023-10-20
MX2021015811A (es) 2022-02-03
EP3970376A1 (en) 2022-03-23
KR20220098294A (ko) 2022-07-11
JP7411023B2 (ja) 2024-01-10
CN114513666A (zh) 2022-05-17
US20240146952A1 (en) 2024-05-02
CN114513666B (zh) 2023-01-17
CN117221548B (zh) 2024-06-25
JP2024016288A (ja) 2024-02-06
JP7098847B2 (ja) 2022-07-11
KR20210157919A (ko) 2021-12-29

Similar Documents

Publication Publication Date Title
CN116506609B (zh) 用于在视频编码中用信号发送合并模式的方法和装置
US11134261B2 (en) Methods and apparatus of video coding for triangle prediction
US20240146952A1 (en) Methods and apparatuses for decoder-side motion vector refinement in video coding
WO2021007133A1 (en) Methods and apparatuses for decoder-side motion vector refinement in video coding
WO2021021698A1 (en) Methods and apparatuses for decoder-side motion vector refinement in video coding
WO2021062283A1 (en) Methods and apparatuses for decoder-side motion vector refinement in video coding

Legal Events

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