KR20210089155A - 페어와이즈 평균 후보 계산에서 라운딩 - Google Patents
페어와이즈 평균 후보 계산에서 라운딩 Download PDFInfo
- Publication number
- KR20210089155A KR20210089155A KR1020217013353A KR20217013353A KR20210089155A KR 20210089155 A KR20210089155 A KR 20210089155A KR 1020217013353 A KR1020217013353 A KR 1020217013353A KR 20217013353 A KR20217013353 A KR 20217013353A KR 20210089155 A KR20210089155 A KR 20210089155A
- Authority
- KR
- South Korea
- Prior art keywords
- motion
- video
- candidate
- block
- motion vector
- Prior art date
Links
- 238000004364 calculation method Methods 0.000 title description 7
- 230000033001 locomotion Effects 0.000 claims abstract description 381
- 239000013598 vector Substances 0.000 claims abstract description 175
- 238000000034 method Methods 0.000 claims abstract description 146
- 238000003672 processing method Methods 0.000 claims abstract description 55
- 238000012545 processing Methods 0.000 claims abstract description 37
- 230000009466 transformation Effects 0.000 claims abstract description 19
- 238000004590 computer program Methods 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 230000011218 segmentation Effects 0.000 abstract description 10
- 238000000844 transformation Methods 0.000 abstract 1
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 32
- 238000005516 engineering process Methods 0.000 description 22
- 230000002457 bidirectional effect Effects 0.000 description 15
- 230000002123 temporal effect Effects 0.000 description 14
- 241000023320 Luma <angiosperm> Species 0.000 description 12
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 12
- 230000003287 optical effect Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000015654 memory Effects 0.000 description 7
- 230000006872 improvement Effects 0.000 description 6
- 238000013138 pruning Methods 0.000 description 6
- 101100328886 Caenorhabditis elegans col-2 gene Proteins 0.000 description 5
- 238000009795 derivation Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000002146 bilateral effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000723655 Cowpea mosaic virus Species 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
- H04N19/543—Motion estimation other than block-based using regions
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
서브블록 기반 예측에서 통합된 라운딩을 위한 장치, 시스템 및 방법이 설명된다. 대표적인 양상에서, 비디오 프로세싱 방법은 비디오의 현재 블록의 프로세싱을 위해 한 쌍의 움직임 후보들을 기반으로 페어와이즈 머지 후보를 생성하는 단계 및 상기 페어와이즈 머지 후보에 기반하여 상기 현재 블록과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함한다. 또 다른 대표적인 양상에서, 비디오 프로세싱 방법은 기하 분할 모드를 이용하여 코딩된 비디오의 현재 블록에 대해 스케일링된 움직임 벡터 및 리스트0 움직임 벡터에 기반하여 단일 예측 움직임 후보를 생성하는 단계, 및 상기 단일 예측 움직임 후보를 기반으로 상기 현재 블록과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함한다.
Description
관련 출원들에 대한 상호 참조
파리협약에 따른 적용가능한 특허법 및/또는 규칙에 따라, 본 출원은 2018년 11월 10일에 제출된 국제 출원 PCT/CN2018/114931호의 우선권과 혜택을 적시에 주장하기 위해 만들어졌다. 미국 법 하의 모든 목적을 위해, 상기 출원들의 전체 개시물은 본 출원의 개시의 일부로서 참고로 통합된다.
본 특허 문서는 일반적으로 이미지 및 비디오 코딩 기술들에 관한 것이다.
움직임 보상은 비디오에서 카메라 및/또는 물체의 움직임을 고려하여 이전 및/또는 미래 프레임들이 주어지면 비디오에서 프레임을 예측하는 비디오 프로세싱 기술이다. 움직임 보상은 비디오 압축을 위한 비디오 데이터의 인코딩 및 디코딩에 사용될 수 있다.
이미지 및 비디오 코딩을 위한 서브 블록 기반 예측에 대한 통합된 라운딩(unified rounding) 방법들과 연관된 장치들, 시스템들 및 방법들이 개시된다.
일 예시적 양상에서, 개시된 기술은 비디오 프로세싱의 방법을 제공하는 데 사용될 수 있다.
이 방법은 비디오의 현재 블록의 프로세싱을 위하여, 한 쌍의 움직임 후보들을 기반으로 페어와이즈 머지 후보를 생성하는 단계 및 상기 페어와이즈 머지 후보를 기반으로 상기 현재 블록과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하고, 상기 한 쌍의 움직임 후보들은 제1 움직임 후보의 참조 픽처 리스트 L에 대한 제1 움직임 벡터 MV0 = (MV0x, MV0y)를 포함하고, 제2 움직임 후보의 참조 픽처 리스트 L에 대한 제2 움직임 벡터 MV1 = (MV1x, MV1y)를 포함하고, MV* = (MV*x, MV*y)는 상기 페어와이즈 머지 후보로서 이고, 이며, off 및 s 는 정수이고, >> 는 오른쪽 시프트 연산(right shift operation)을 의미한다.
다른 대표적인 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 이용될 수 있다.
이 방법은 비디오의 현재 블록의 프로세싱을 위하여, 한 쌍의 움직임 후보들을 기반으로 페어와이즈 머지 후보를 생성하는 단계 및 상기 페어와이즈 머지 후보를 기반으로 상기 현재 블록과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하고, 상기 한 쌍의 움직임 후보들은 제1 움직임 후보의 참조 픽처 리스트 L에 대한 제1 움직임 벡터 MV0 = (MV0x, MV0y)를 포함하고, 제2 움직임 후보의 참조 픽처 리스트 L에 대한 제2 움직임 벡터 MV1 = (MV1x, MV1y)를 포함하고, MV* = (MV*x, MV*y)는 상기 페어와이즈 머지 후보로서 이고, SignShift(x,s) 이며, off 및 s는 정수이고, >>는 시프트 연산(shift operation)을 의미한다.
또 다른 대표적인 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 이용될 수 있다.
이 방법은 비디오의 현재 블록의 프로세싱을 위하여, 한 쌍의 움직임 후보들을 기반으로 페어와이즈 머지 후보를 생성하는 단계 및 상기 페어와이즈 머지 후보를 기반으로 상기 현재 블록과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하고, 상기 한 쌍의 움직임 후보들은 제1 움직임 후보의 참조 픽처 리스트 L에 대한 제1 움직임 벡터 MV0 = (MV0x, MV0y)를 포함하고, 제2 움직임 후보의 참조 픽처 리스트 L에 대한 제2 움직임 벡터 MV1 = (MV1x, MV1y)를 포함하고, MV* = (MV*x, MV*y)는 상기 페어와이즈 머지 후보로서 이고, SignShift(x,s) off 및 s는 정수이고, >>는 시프트 연산을 의미한다.
또 다른 대표적인 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 이용될 수 있다.
이 방법은 비디오의 현재 블록의 프로세싱을 위하여, 페어와이즈 머지 후보를 생성하는 단계를 포함하고, 상기 생성하는 단계는 상기 현재 블록을 포함하는 현재 픽처를 참조하는 한 쌍의 움직임 후보들을 기반으로 하며, 상기 페어와이즈 머지 후보를 기반으로 상기 현재 블록과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하고, 상기 한 쌍의 움직임 후보들은 제1 움직임 후보의 참조 픽처 리스트 L에 대한 제1 움직임 벡터 MV0 = (MV0x, MV0y)를 포함하고, 제2 움직임 후보의 참조 픽처 리스트 L에 대한 제2 움직임 벡터 MV1 = (MV1x, MV1y)를 포함하고, MV* = (MV*x, MV*y)는 상기 페어와이즈 머지 후보로서 이고, 이며, off 및 s는 정수이고, >> 는 오른쪽 시프트 연산을 의미한다.
또 다른 대표적인 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 이용될 수 있다.
이 방법은 비디오의 현재 블록의 프로세싱을 위하여, 페어와이즈 머지 후보를 생성하는 단계를 포함하되, 상기 생성하는 단계는 상기 현재 블록을 포함하는 현재 픽처를 참조하는 한 쌍의 움직임 후보들을 기반으로 하며, 상기 페어와이즈 머지 후보를 기반으로 상기 현재 블록과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하고, 상기 한 쌍의 움직임 후보들은 제1 움직임 후보의 참조 픽처 리스트 L에 대한 제1 움직임 벡터 MV0 = (MV0x, MV0y)를 포함하고, 제2 움직임 후보의 참조 픽처 리스트 L에 대한 제2 움직임 벡터 MV1 = (MV1x, MV1y)를 포함하되, MV* = (MV*x, MV*y)는 상기 페어와이즈 머지 후보로서 이고, 이며, off 및 s는 정수이고, >>는 시프트 연산을 의미한다.
또 다른 대표적인 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 이용될 수 있다.
이 방법은 비디오의 현재 블록의 프로세싱을 위하여, 페어와이즈 머지 후보를 생성하는 단계를 포함하되, 상기 생성하는 단계는 상기 현재 블록을 포함하는 현재 픽처를 참조하는 한 쌍의 움직임 후보들을 기반으로 하며, 상기 페어와이즈 머지 후보를 기반으로 상기 현재 블록과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하고, 상기 한 쌍의 움직임 후보들은 제1 움직임 후보의 참조 픽처 리스트 L에 대한 제1 움직임 벡터 MV0 = (MV0x, MV0y)를 포함하고, 제2 움직임 후보의 참조 픽처 리스트 L에 대한 제2 움직임 벡터 MV1 = (MV1x, MV1y)를 포함하되, MV* = (MV*x, MV*y)는 상기 페어와이즈 머지 후보로서
또 다른 대표적인 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 이용될 수 있다.
이 방법은 비디오의 현재 블록의 프로세싱을 위하여, 페어와이즈 머지 후보를 생성하는 단계를 포함하되, 상기 생성하는 단계는 상기 현재 블록을 포함하는 현재 픽처를 참조하는 한 쌍의 움직임 후보들을 기반으로 하며, 상기 페어와이즈 머지 후보를 기반으로 상기 현재 블록과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하고, 상기 한 쌍의 움직임 후보들은 제1 움직임 후보의 참조 픽처 리스트 L에 대한 제1 움직임 벡터 MV0 = (MV0x, MV0y)를 포함하고, 제2 움직임 후보의 참조 픽처 리스트 L에 대한 제2 움직임 벡터 MV1 = (MV1x, MV1y)를 포함하되, MV* = (MV*x, MV*y)는 상기 페어와이즈 머지 후보로서,
또 다른 대표적인 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 이용될 수 있다.
이 방법은 비디오의 현재 블록의 프로세싱을 위하여, 페어와이즈 머지 후보를 생성하는 단계를 포함하되, 상기 생성하는 단계는 상기 현재 블록을 포함하는 현재 픽처를 참조하는 한 쌍의 움직임 후보들을 기반으로 하며, 상기 페어와이즈 머지 후보를 기반으로 상기 현재 블록과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하고, 상기 한 쌍의 움직임 후보들은 제1 움직임 후보의 참조 픽처 리스트 L에 대한 제1 움직임 벡터 MV0 = (MV0x, MV0y)를 포함하고, 제2 움직임 후보의 참조 픽처 리스트 L에 대한 제2 움직임 벡터 MV1 = (MV1x, MV1y)를 포함하되, MV* = (MV*x, MV*y)는 상기 페어와이즈 머지 후보로서 및 이며, 이고, W, off 및 s는 정수이고, >>는 시프트 연산을 의미한다.
또 다른 대표적인 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 이용될 수 있다.
이 방법은 비디오의 현재 블록의 프로세싱을 위하여, 페어와이즈 머지 후보를 생성하는 단계를 포함하되, 상기 생성하는 단계는 상기 현재 블록을 포함하는 현재 픽처를 참조하는 한 쌍의 움직임 후보들을 기반으로 하며, 상기 페어와이즈 머지 후보를 기반으로 상기 현재 블록과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하고, 상기 한 쌍의 움직임 후보들은 제1 움직임 후보의 참조 픽처 리스트 L에 대한 제1 움직임 벡터 MV0 = (MV0x, MV0y)를 포함하고, 제2 움직임 후보의 참조 픽처 리스트 L에 대한 제2 움직임 벡터 MV1 = (MV1x, MV1y)를 포함하되, MV* = (MV*x, MV*y)는 상기 페어와이즈 머지 후보로서 및 , W, off 및 s는 정수이고, >>는 시프트 연산을 의미한다 .
또 다른 대표적인 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 이용될 수 있다.
이 방법은 기하 분할 모드를 이용하여 코딩된 비디오의 현재 블록에 대해 단일 예측 움직임 후보를 스케일링된 움직임 벡터 및 리스트0 (list0) 움직임 벡터를 기반으로 생성하는 단계 및 상기 단일 예측 움직임 후보를 기반으로 상기 현재 블록과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하되, 상기 스케일링된 움직임 벡터는 MV1' = (MV1'x, MV1'y)이고, 상기 리스트0 움직임 벡터는 MV0 = (MV0x, MV0y)이며, MV* = (MV*x, MV*y)는 상기 단일 예측 움직임 후보로서, 및 이고, 이며, off 및 s 는 정수이고 >> 는 오른쪽 시프트 연산을 의미한다.
또 다른 대표적인 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 이용될 수 있다.
이 방법은 기하 분할 모드를 이용하여 코딩된 비디오의 현재 블록에 대해 단일 예측 움직임 후보를 스케일링된 움직임 벡터 및 리스트0 (list0) 움직임 벡터를 기반으로 생성하는 단계 및 상기 단일 예측 움직임 후보를 기반으로 상기 현재 블록과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하되, 상기 스케일링된 움직임 벡터는 MV1' = (MV1'x, MV1'y)이고, 상기 리스트0 움직임 벡터는 MV0 = (MV0x, MV0y)이며, MV* = (MV*x, MV*y)는 상기 단일 예측 움직임 후보로서 및 이고, off 및 s 는 정수이고, >>는 시프트 연산을 의미한다.
또 다른 대표적인 양상에서, 개시된 기술은 비디오 프로세싱 방법을 제공하는 데 이용될 수 있다.
이 방법은 기하 분할 모드를 이용하여 코딩된 비디오의 현재 블록에 대해 단일 예측 움직임 후보를 스케일링된 움직임 벡터 및 리스트0 (list0) 움직임 벡터를 기반으로 생성하는 단계 및 상기 단일 예측 움직임 후보를 기반으로 상기 현재 블록과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하되, 상기 스케일링된 움직임 벡터는 MV1' = (MV1'x, MV1'y)이고, 상기 리스트0 움직임 벡터는 MV0 = (MV0x, MV0y)이며, MV* = (MV*x, MV*y)는 상기 단일 예측 움직임 후보로서 이고, 이고, off 및 s 는 정수이며 >>는 시프트 연산을 의미한다.
또 다른 대표적인 양상에서, 상기에 개시된 방법은 컴퓨터 실행가능한 코드의 형태로 구현될 수 있으며 컴퓨터 읽기 가능한 프로그램 매체에 저장된다.
또 다른 대표적인 양상에서, 상기에 개시된 방법들을 수행하도록 구성되거나 동작할 수 있는 장치가 개시된다. 이 장치에는 이러한 방법을 구현하도록 프로그래밍된 프로세서가 포함될 수 있다.
또 다른 대표적인 양상에서, 비디오 디코더 장치는 여기에 개시된 방법들을 구현할 수 있다.
개시된 기술의 상기 및 다른 양상 및 특징은 도면, 설명 및 청구범위에서 보다 상세히 설명된다.
도 1은 서브 블록 기반 예측의 예를 보여준다.
도 2는 단순화된 어파인 움직임 모델(simplified affine motion model)의 예를 보여준다.
도 3은 서브 블록 당 어파인(affine) 움직임 벡터 필드(motion vector field, MVF)의 예를 보여준다.
도 4는 AF_INTER 어파인 움직임 모드에 대한 움직임 벡터 예측(motion vector prediction, MVP)의 예를 보여준다.
도 5A 및 5B는 AF_MERGE 어파인 움직임 모드에 대한 후보들의 예를 보여준다.
도 6은 코딩 유닛(coding unit, CU)에 대한 대안적인 시간적 움직임 벡터 예측(alternative temporal motion vector prediction, ATMVP) 알고리즘을 사용한 움직임 예측의 예를 보여준다.
도 7은 시공간적 움직임 벡터 예측(spatial-temporal motion vector prediction, STMVP) 알고리즘에서 사용하는 서브 블록들 및 인접 블록들을 갖는 코딩 유닛(CU)의 예를 보여준다.
도 8은 양방향 광학 흐름(bi-directional optical flow, BIO) 알고리즘에서 사용하는 광학 흐름 궤적의 예를 보여준다.
도 9A 및 9B는 블록 확장 없이 양방향 광학 흐름(BIO) 알고리즘을 사용하는 예시적인 스냅샷들을 보여준다.
도 10은 프레임 율 향상 변환(frame-rate up conversion, FRUC) 알고리즘에서 양방향(bilateral) 매칭의 예를 보여준다.
도 11은 FRUC 알고리즘에서 템플릿 매칭(template matching)의 예를 보여준다.
도 12는 FRUC 알고리즘에서 단방향 움직임 추정(unilateral motion estimation)의 예를 보여준다.
도 13은 JEM에서 4:2:0 포맷을 갖는 다른 구성요소들에 대한 서브 블록들의 예를 보여준다.
도 14는 개시된 기술에 따른 4:2:0 포맷을 갖는 다른 구성요소들에 대한 서브 블록들의 예를 보여준다.
도 15는 개시된 기술에 따른 4:2:0 포맷을 갖는 다른 구성요소들에 대한 서브 블록들의 다른 예를 보여준다.
도 16은 개시된 기술에 따른 서브 블록 움직임 벡터(MV) 복사(copying)의 예를 보여준다.
도 17은 개시된 기술에 따른 서브 블록 움직임 벡터(MV) 복사(copying)의 다른 예를 보여준다.
도 18은 서브 블록 움직임 벡터(MV) 유도의 예를 보여준다.
도 19A 내지 19C는 예시적인 비디오 프로세싱 방법들의 흐름도들을 보여준다.
도 20은 본 문서에서 설명된 시각적 매체 디코딩(visual media decoding) 혹은 시각적 매체 인코딩(visual media encoding) 기술을 구현하기 위한 하드웨어 플랫폼의 예시적인 블록도이다.
도 21은 개시된 기술들이 구현될 수 있는 예시적인 비디오 프로세싱 시스템의 블록도이다.
도 2는 단순화된 어파인 움직임 모델(simplified affine motion model)의 예를 보여준다.
도 3은 서브 블록 당 어파인(affine) 움직임 벡터 필드(motion vector field, MVF)의 예를 보여준다.
도 4는 AF_INTER 어파인 움직임 모드에 대한 움직임 벡터 예측(motion vector prediction, MVP)의 예를 보여준다.
도 5A 및 5B는 AF_MERGE 어파인 움직임 모드에 대한 후보들의 예를 보여준다.
도 6은 코딩 유닛(coding unit, CU)에 대한 대안적인 시간적 움직임 벡터 예측(alternative temporal motion vector prediction, ATMVP) 알고리즘을 사용한 움직임 예측의 예를 보여준다.
도 7은 시공간적 움직임 벡터 예측(spatial-temporal motion vector prediction, STMVP) 알고리즘에서 사용하는 서브 블록들 및 인접 블록들을 갖는 코딩 유닛(CU)의 예를 보여준다.
도 8은 양방향 광학 흐름(bi-directional optical flow, BIO) 알고리즘에서 사용하는 광학 흐름 궤적의 예를 보여준다.
도 9A 및 9B는 블록 확장 없이 양방향 광학 흐름(BIO) 알고리즘을 사용하는 예시적인 스냅샷들을 보여준다.
도 10은 프레임 율 향상 변환(frame-rate up conversion, FRUC) 알고리즘에서 양방향(bilateral) 매칭의 예를 보여준다.
도 11은 FRUC 알고리즘에서 템플릿 매칭(template matching)의 예를 보여준다.
도 12는 FRUC 알고리즘에서 단방향 움직임 추정(unilateral motion estimation)의 예를 보여준다.
도 13은 JEM에서 4:2:0 포맷을 갖는 다른 구성요소들에 대한 서브 블록들의 예를 보여준다.
도 14는 개시된 기술에 따른 4:2:0 포맷을 갖는 다른 구성요소들에 대한 서브 블록들의 예를 보여준다.
도 15는 개시된 기술에 따른 4:2:0 포맷을 갖는 다른 구성요소들에 대한 서브 블록들의 다른 예를 보여준다.
도 16은 개시된 기술에 따른 서브 블록 움직임 벡터(MV) 복사(copying)의 예를 보여준다.
도 17은 개시된 기술에 따른 서브 블록 움직임 벡터(MV) 복사(copying)의 다른 예를 보여준다.
도 18은 서브 블록 움직임 벡터(MV) 유도의 예를 보여준다.
도 19A 내지 19C는 예시적인 비디오 프로세싱 방법들의 흐름도들을 보여준다.
도 20은 본 문서에서 설명된 시각적 매체 디코딩(visual media decoding) 혹은 시각적 매체 인코딩(visual media encoding) 기술을 구현하기 위한 하드웨어 플랫폼의 예시적인 블록도이다.
도 21은 개시된 기술들이 구현될 수 있는 예시적인 비디오 프로세싱 시스템의 블록도이다.
더 높은 해상도를 가진 비디오에 대한 수요가 계속 증가함에 따라, 비디오 코딩 방법 및 기법들은 현대 기술에서는 흔히 볼 수 있게 되었다. 비디오 코덱은 디지털 비디오를 압축하거나 푸는 소프트웨어 또는 전자 회로를 주로 포함하며 더 높은 코딩 효율을 제공하기 위해 지속적으로 개선되고 있다. 비디오 코덱은 압축되지 않은 비디오를 압축된 포맷으로 또는 그 반대로 변환시킨다. 비디오의 질, 비디오를 표현하는 데에 사용되는 데이터의 양(비트율에 의해 결정), 인코딩 및 디코딩 알고리즘들의 복잡성, 데이터 손실 및 에러에 대한 민감도, 편집 용이성, 랜덤 액세스, 그리고 단대단 지연 사이에는 복잡한 관계가 있다. 압축된 포맷은 대개의 경우 (H265 또는 MPEG-H Part 2로도 알려진) HEVC (High Efficiency Video Coding) 표준, 최종 확정될 VVC (Versatile Video Coding) 또는 기타 현재 및/또는 미래의 비디오 코딩 표준들을 따른다.
서브 블록 기반 예측은 HEVC 표준에 의해 비디오 코딩 표준에 처음 도입되었다. 서브 블록 기반 예측에 의하면, 코딩 유닛(CU) 혹은 예측 유닛(prediction unit, PU)과 같은 블록이 중첩되지 않는 여러 서브 블록들로 분할된다. 참조 인덱스(reference index) 혹은 움직임 벡터(MV)와 같은 상이한 움직임 정보는 상이한 서브 블록에 할당될 수 있으며 움직임 보상(motion compensation, MC)이 개별적으로 각 서브 블록에 대해 수행된다. 도 1은 서브 블록 기반 예측의 예를 보여준다.
개시된 기술의 실시예들은 런타임(runtime) 성능의 향상을 위해 기존 비디오 코딩 표준들 (예를 들어, HEVC, H 256) 및 미래의 표준들에 적용될 수 있다. 본 문서에서 섹션 제목들은 설명의 가독성을 높이기 위해 사용된 것이며 논의 또는 실시예들 (및/또는 구현들)의 해당 섹션들로 결코 제한하지 않는다.
1 JEM(Joint Exploration Model)의 예들
일부 실시예들에서, JEM으로 알려진 참조 소프트웨어를 사용하여 미래의 비디오 코딩 기술들이 탐구된다. JEM에서, 서브 블록 기반 예측은 어파인 예측, 대안적인 시간적 움직임 벡터 예측(ATMVP), 시공간적 움직임 벡터 예측(STMVP), 양-방향 광학 흐름(BIO), 프레임율 향상 변환(FRUC), 지역적 적응 움직임 벡터 해상도(LAMVR), 중첩된 블록 움직임 보상(OBMC), 지역 조명 보상(LIC) 및 디코더 측 움직임 벡터 개선(DMVR)과 같은 다양한 코딩 툴들에서 채택된다.
1.1 어파인 예측의 예들
HEVC에서, 오직 병진 움직임 모델만이 움직임 보상 예측(Motion Compensation Prediction: MCP)에 대해 적용된다. 하지만, 카메라 및 대상들은 줌 인/아웃, 회전, 원근적 움직임 및/또는 기타 불규칙 움직임들과 같은 여러 종류의 움직임을 가질 수 있다. 반면에, JEM은 단순화된 어파인 변환 움직임 보상 예측을 적용한다. 도 2는 두 제어 포인트 움직임 벡터들 V0 및 V1에 의해 기술되는 블록(200)의 어파인 움직임 필드의 예를 도시한다. 상기 블록(200)의 상기 움직임 벡터 필드(Motion Vector Field: MVF)는 아래 식으로 기술될 수 있다.
도 2에 도시된 바와 같이, 는 좌측 상단 코너 제어 포인트의 움직임 벡터이며, 는 우측 상단 코너 제어 포인트의 움직임 벡터이다. 움직임 보상 예측을 단순화하기 위해, 서브 블록 기반 어파인 변환 예측이 적용될 수 있다. 서브 블록 크기 MxN은 아래와 같이 유도된다.
여기서, MvPre는 움직임 벡터 분수 정확도(예를 들어, JEM에서 1/16)이다. 는 식(1)에 따라 계산된, 좌측 하단 제어 포인트의 움직임 벡터이다. M과 N은 필요한 경우 하향 조정되어 각각 w와 h의 제수로 만들 수 있다.
도 3은 블록(300)에 대한 서브 블록 당 어파인 MVF의 일 예를 도시한다. 각 MxN 서브 블록의 움직임 벡터를 유도하기 위해, 각 서브 블록의 가운데 샘플의 움직임 벡터는 식(1)에 따라 계산되어 움직임 벡터 분수 정확도(예를 들어, JEM에서 1/16)로 라운딩될 수 있다. 다음으로, 유도된 움직임 벡터를 가지는 각 서브 블록의 예측을 생성하기 위해 움직임 보상 보간 필터들이 적용될 수 있다. MCP 후에, 각 서브 블록의 고정확도 움직임 벡터는 법선 움직임 벡터(normal motion vector)와 같은 정확도로 라운딩되고 보존된다.
JEM에는 AF_INTER 모드 및 AF_MERGE 모드라는 두 어파인 움직임 모드가 있다. 폭과 높이가 모두 8보다 큰 CU들에 대해서는 AF_INTER 모드가 적용될 수 있다. CU 레벨에서 어파인 플래그는 AF_INTER 모드가 사용되는지 여부를 지시하기 위해 비트스트림으로 시그널링된다. AF_INTER 모드에서, 움직임 벡터 쌍 을 가지는 후보 리스트는 주변 블록들을 사용하여 구성된다.
도 4는 AF_INTER 어파인 움직임 모드에서 움직임 벡터 예측(MVP)의 일 예를 보여준다. 도 4에 도시된 바와 같이, 은 서브 블록 A, B 및 C의 움직임 벡터들로부터 선택된다. 주변 블록들로부터의 움직임 벡터들은 참조 리스트에 따라 스케일링될 수 있다. 움직임 벡터들은 또한 주변 블록에 대한 참조의 픽처 오더 카운트(Picture Order Count: POC), 현재 CU에 대한 참조의 POC 그리고 현재 CU의 POC 사이의 관계에 따라 스케일링될 수 있다. 주변 서브 블록 D 및 E로부터 v1을 선택하는 접근법은 유사하다. 만약 후보 리스트의 수가 2 보다 작다면, 상기 리스트는 각각의 AMVP 후보들을 복제하여 구성된 움직임 벡터 쌍으로 패딩된다. 상기 후보 리스트가 2 보다 큰 경우, 후보들은 먼저 주변 움직임 벡터들에 따라(예를 들어, 쌍 후보에서 두 움직임 벡터들의 유사성에 기반하여) 구분될 수 있다. 일부 구현들에서는, 처음 두 후보들이 선택된다. 일부 실시예들에서는, 어떤 움직임 벡터 쌍 후보가 현재 CU의 제어 포인트 움직임 벡터 예측(Control Point Motion Vector Prediction: CPMVP)으로 선택되는지를 율-왜곡 코스트 체크를 사용하여 결정한다. 후보 리스트에서 CPMVP의 위치를 지시하는 인덱스는 비트스트림에서 시그널링될 수 있다. 현재 어파인 CU의 CPMVP가 결정된 후에, 어파인 움직임 추정이 적용되고 제어 포인트 움직임 벡터(Control Point Motion Vector: CPMV)가 발견된다. 다음으로, CPMV와 CPMVP간의 차이가 비트스트림에서 시그널링된다.
CU가 AF_MERGE 모드에서 적용되는 경우, 복원된 유효한 주변 블록들로부터 어파인 모드로 코딩된 제1 블록이 획득된다. 도 5A는 현재 CU(500)에 대한 후보 블록들의 선택 순서의 일 예를 도시한다. 도 5A에 도시된 바와 같이, 선택 순서는 현재 CU(500)의 좌측(501)에서 출발하여 상단(502), 우측 상단(503), 좌측 하단(504) 그리고 좌측 상단(505) 순일 수 있다. 도 5B는 AF_MERGE 모드에서 현재 CU(500)에 대한 후보 블록들의 다른 예를 도시한다. 도 5B에 도시된 것처럼, 좌하단 주변 블록(501)이 어파인 모드로 코딩된 경우, 상기 서브 블록(501)을 포함하는 CU의 좌상단 코너, 우상단 코너 및 좌하단 코너의 움직임 벡터들 가 도출된다. 상기 현재 CU(501)의 좌상단 코너의 움직임 벡터 v0는 를 기반으로 산출된다. 상기 현재 CU의 우상단의 움직임 벡터 v1은 그에 따라 산출될 수 있다.
현재 CU의 CPMV인 v0 및 v1가 식(1)에서 어파인 움직임 모델에 따라 계산된 후, 현재 CU의 MVF가 생성될 수 있다. 현재 CU가 AF_MERGE 모드로 코딩되는지 여부를 식별하기 위해서, 적어도 어파인 모드로 코딩된 적어도 하나의 주변 블록이 존재하는 경우, 어파인 플래그가 비트스트림으로 시그널링될 수 있다.
JEM에서, 논-머지 어파인(non-merge affine) 모드는 현재 블록의 너비 및 높이가 모두 8보다 큰 경우에만 사용될 수 있다. 머지 어파인(merge affine) 모드는 현재 블록의 면적(예를 들어, 높이 x 너비)이 64보다 작지 않은 경우에만 사용될 수 있다.
1.2 대안적인 시간적 움직임 벡터 예측(ATMVP)의 예들
ATMVP 방법에서, TMVP 예측 방법은 현재 CU 보다 작은 블록들로부터 (움직임 벡터들 및 참조 인덱스들을 포함하는) 움직임 정보의 복수의 세트들을 불러옴으로써 수정된다.
도 6은 CU (600)에 대한 ATMVP 움직임 예측 과정의 일 예를 도시한다. 상기 ATMVP 방법은 CU(600)에서 서브 CU들(601)의 움직임 벡터들을 두 단계로 예측한다. 첫 번째 단계는 시간적 벡터를 가지는 참조 픽처(650)에서 해당 블록 (651)을 식별하는 것이다. 상기 참조 픽처(650)는 또한 움직임 소스 픽처로도 지칭된다. 두 번째 단계는 현재 CU(600)를 서브 CU들(601)로 분할하고 각각의 서브 CU에 상응하는 블록으로부터 각 서브 CU의 참조 인덱스들뿐 아니라 움직임 벡터들을 획득하는 것이다.
상기 첫 번째 단계에서, 참조 픽처(650) 및 해당 블록은 현재 CU(600)의 공간적 주변 블록들의 움직임 정보로 결정된다. 주변 블록들에 대한 반복적인 스캐닝 과정을 방지하기 위해, 현재 CU(600)의 머지 후보 리스트 내의 제1 머지 후보가 사용된다. 제1 가용 움직임 벡터뿐 아니라 그것과 연관된 참조 인덱스가 상기 움직임 소스 픽처에 대한 시간적 벡터 및 인덱스로 설정된다. 이러한 방식으로, 해당 블록은 TMVP에 비해 더 정확하게 식별될 수 있다. 이때, (간혹 동일 위치 블록(collocated block)으로 불리는) 해당 블록은 현재 CU에 대해 항상 우측 아래 또는 가운데 위치에 있다.
두 번째 단계에서, 서브 CU(1051)의 해당 블록은 움직임 소스 픽처(1050)내의 시간적 벡터에 의해 또는 시간적 벡터에 현재 CU의 좌표를 추가함으로써 식별된다. 각각의 서브 CU에 대해, 그것에 상응하는 블록(예, 가운데 샘플을 덮은 최소 움직임 그리드)의 움직임 정보는 상기 서브 CU에 대한 움직임 정보를 유도하는 데에 사용된다. 해당 N x N블록의 움직임 정보가 식별된 후에, HEVC의 TMVP와 동일한 방식으로 현재 서브 CU의 움직임 벡터들 및 참조 인덱스들로 변환된다. 이때, 움직임 스케일링 및 기타 절차들이 적용된다. 예를 들어, 디코더는 저지연 조건(예를 들어, 현재 픽처의 모든 참조 픽처들의 POC들이 현재 픽처의 POC 보다 작다.)이 충족되는지 여부를 확인하고, 가능한 경우, 움직임 벡터 MVx(예를 들어, 참조 픽처 리스트 X에 해당하는 움직임 벡터)를 사용하여 각 서브 CU에 대해 움직임 벡터 MVy(이때, X는 0 또는 1과 같고, Y는 1-X와 같다)를 예측한다.
1.3 시공간적 움직임 벡터 예측(spatial-temporal motion vector prediction, STMVP)의 예들
STMVP 방법에서, 서브 CU들의 움직임 벡터들은 래스터 스캔 순서를 따라 재귀적으로 유도된다. 도 7은 4개의 서브 블록들 및 주변 블록들을 가지는 하나의 CU의 일 예를 도시한다. 네 개의 4x4 서브 CU들인 A(701), B(702), C(703) 및 D(704)를 포함하는 8x8 CU(700)를 살펴보자. 현재 프레임에서 주변 4x4 블록들은 a(711), b(712), c(713) 및 d(714)로 표시된다.
서브 CU A에 대한 움직임 유도는 그것의 두 공간적 이웃들을 식별하면서 시작된다. 첫 번째 이웃은 서브 CU A(701) 위에 있는 NxN 블록(블록 c(713))이다. 만약 이 블록 c(713)가 가용하지 않거나 화면 내 코딩된 것이라면, 서브 CU A(701) 위의 다른 NxN 블록들을(블록 c(713)에서 출발하여 좌측에서 우측으로) 확인한다. 두 번째 이웃은 서브 CU A(701) 좌측에 있는 블록(블록 b(712))이다. 만약 이 블록 b(712)가 가용하지 않거나 화면 내 코딩된 것이라면, 서브 CU A(701) 좌측의 다른 NxN 블록들을(블록 b(712)에서 출발하여 위에서 아래로) 확인한다. 각각의 리스트에 대해 주변 블록들로부터 획득된 움직임 정보는 주어진 리스트에 대한 제1 참조 프레임으로 스케일링된다. 다음으로, 서브 블록 A(701)의 시간적 움직임 벡터 예측자(TMVP)가 HEVC에 규정된 TMVP 유도와 같은 절차로 유도된다. 블록 D(704)에서 동일 위치 블록의 움직임 정보가 획득되고 그에 맞게 스케일링된다. 마지막으로, 움직임 정보를 조회하여 스케일링한 후, 각 참조 리스트에 대해 개별적으로 모든 가용한 움직임 벡터들의 평균을 낸다. 평균화된 움직임 벡터는 현재 서브 CU의 움직임 벡터로 할당된다.
1.4 양 방향 광학 흐름(bi-directional optical flow, BIO)의 예들
양방향 광학 흐름(BIO) 방법은 양 방향에 대한 블록 단위 움직임 보상의 상부에 수행되는 샘플 단위 움직임 개선이다. 일부 구현들에서, 샘플 레벨 움직임 개선(sample level motion refinement)은 시그널링을 사용하지 않는다.
을 블록 움직임 보상 후 레퍼런스 로부터의 루마 값이라 하고, 을 그래디언트(gradient)의 각각 수평 및 수직 성분들이라 하자. 광학 흐름이 유효하다고 가정하면, 움직임 벡터는 아래 식에 의해 주어진다.
각 샘플의 운동 궤적에 대해 이러한 광학 흐름 방정식과 헤르미트(Hermite) 보간법을 결합하면, 끝에서 도함수들 및 함수 값들 모두를 매칭시키는 고유한 3차 다항식이 획득된다. t=0에서 이 다항식의 값은 BIO 예측이다.
도 8은 양방향 광학 흐름(BIO) 방법에서 광학 흐름 궤적의 일 예를 보여준다. 여기서, 은 참조 프레임까지의 거리들을 나타낸다. 거리 는 Ref0 및 Ref1에 기반하여 계산된다. 즉, . 만약 두 예측 모두 같은 방향에서(예를 들어, 둘 다 과거로부터 또는 미래로부터) 획득된다면, 부호들은 다르다(예를 들어, e.g., ). 이때, 예측이 동일한 순간으로부터 오는 것이 아니라면(예를 들어, e.g., ), BIO가 적용된다. 참조된 양 영역 모두 논-제로 움직임을 가지며(예를 들어, ) 블록 움직임 벡터들은 시간 거리에 비례한다(예를 들어, ).
움직임 벡터 필드 는 점 A 및 점 B에서의 값들 사이의 차이를 최소화함으로써 결정된다. 도 9a 및 도 9b는 움직임 궤적과 참조 프레임 평면들 간의 교차의 일 예를 보여준다. 모델은 에 대해 로컬 테일러 전개식의 제1 선형항만을 사용한다.
상기 식에서의 모든 값들은 로 표시된 샘플 위치에 의존한다. 움직임이 로컬 환경에서 일관적이라고 가정하면, 현재 예측된 점 (i,j)에 중심이 맞춰진 (2M+1)x(2M+1) 정사각형 윈도우 Ω 내의 는 최소화될 수도 있다. 여기서 M은 2와 같다.
이러한 최적화 문제에 대해, JEM은 단순화된 접근 방식을 사용하여 먼저 수직 방향으로 최소화하고, 그 다음으로 수평 방향에 최소화한다. 그 결과는 아래와 같다.
여기서,
제로 또는 매우 작은 값에 의한 나눗셈을 피하기 위해, 정규화(regularization) 파라미터들 r 및 m 이 식(7) 및 식(8)에 도입될 수 있다. 이때,
BIO에 대한 메모리 액세스를 정규 양 예측 움직임 보상에 대한 것과 같게 하기 위해, 모든 예측 및 그래디언트 값들인 은 현재 블록 내부의 위치들에 대해 계산된다. 도 9A는 블록(900) 외부의 액세스 위치들의 예를 보여준다. 도 9A에 도시된 것과 같이, 식(9)에서, 예측된 블록의 경계상의 현재 예측된 점에 중심이 맞춰진 (2M+1)x(2M+1) 정사각형 윈도우 Ω는 상기 블록 외부의 위치들에 접근할 필요가 있다. JEM에서 상기 블록 외부의 의 값들은 상기 블록 내부의 가장 가까운 가용 값과 같도록 설정된다. 예를 들어, 도 9B에 도시된 바와 같이, 이것은 패딩 영역(901)으로 구현될 수 있다.
BIO를 사용하면, 움직임 필드가 각 샘플에 대해 개선될 수 있다. 계산 복잡도를 줄이기 위해, BIO의 블록 기반 디자인이 JEM에서 사용된다. 움직임 개선은 4x4 블록에 기반하여 계산될 수 있다. 블록 기반 BIO에서, 4x4 블록 상의 모든 샘플들의 식(9)에 따른 의 값들이 합산될 수 있으며, 그 다음 식 (9)에서 합산된 의 값들은 상기 4x4 블록에 대한 BIO 움직임 벡터 오프셋을 유도하는 데에 사용된다. 구체적으로, 아래 식이 블록 기반 BIO 유도를 위해 사용될 수 있다.
일부 시나리오에서, BIO의 MV 레지먼트 (regiment)는 노이즈 또는 불규칙한 움직임으로 인해 신뢰할 수 없을 수도 있다. 그러므로, BIO에서, MV 레지먼트의 크기는 특정 임계값으로 클립된다. 상기 임계값은 현재 픽처의 모든 레퍼런스 픽처들이 모두 한 방향에서 오는지의 여부에 기초하여 결정된다. 예를 들어, 현재 픽처의 모든 참조 픽처들이 한 방향으로부터 오는 경우, 상기 임계값은 로 설정되고, 그렇지 않을 경우, 로 설정된다.
BIO에 대한 그래디언트들(gradients)은 HEVC 움직임 보상 절차(예를 들어, 2D 분리가능한 유한 임펄스 응답(Finite Impulse Response: FIR)과 부합하는 동작들을 사용하는 움직임 보상 보간과 동시에 계산될 수 있다. 일부 실시예들에서, 상기 2D 분리가능한 FIR에 대한 입력은 움직임 보상 절차에 대한 것과 같은 참조 프레임 샘플 및 블록 움직임 벡터의 분수 부분에 따른 분수 위치 (fracX, fracY) 이다. 수평 그래디언트 에 대해, 신호는 먼저 역스케일링 시프트 d-8을 갖는 분수 위치 fracY에 해당하는 BIOfilterS를 사용하여 수직으로 보간된다. 그 다음에, 보간 필터 BIOfilterG는 18-d 만큼의 역스케일링 시프트를 갖는 분수 위치 fracX에 해당하는 수평 방향으로 적용된다. 수직 그래디언트 에 대해, 그래디언트 필터는 역스케일링 시프트 d-8을 갖는 분수 위치 fracY에 해당하는 BIOfilterG를 사용하여 수직으로 적용된다. 그 다음으로, 신호 변위는 역스케일링 시프트 18-d을 갖는 분수 위치 fracX에 해당하는 수평 방향으로 BIOfilterS를 사용하여 실행된다. 그래디언트 계산을 위한 보간 필터 BIOfilterG 및 신호 변위를 위한 BIOfilterF의 길이는 적절한 복잡도를 유지하기 위해 더 짧을 수 있다(예를 들어, 6-탭). 표 2는 BIO에서 블록 움직임 벡터의 상이한 분수 위치들의 그래디언트 계산을 위해 사용될 수 있는 필터들의 예를 보여준다. 표 3은 BIO에서 예측 신호 생성을 위해 사용될 수 있는 보간 필터들의 예를 보여준다.
표 2: BIO에서 그래디언트 계산을 위한 필터들의 예
표 3: BIO에서 예측 신호 생성을 위한 보간 필터들의 예
JEM에서, BIO는 2 개의 예측들이 상이한 참조 픽처들로부터 올 경우, 모든 양방향 예측된 블록들에 적용될 수 있다. LIC (local illumination compensation) 이 CU에 대해 활성화되는(enabled) 경우, BIO는 비활성화 될 수 있다(disabled).
일부 실시예들에서, OBMC는 정상(normal) MC 절차 후에 블록에 대해 적용된다. 계산 복잡성을 줄이기 위해, BIO는 상기 OBMC 절차 동안에는 적용되지 않을 수 있다. 이는 BIO는 블록에 대한 MC 절차에서 그것 자체의 MV를 사용하는 경우 적용되며, 주변 블록의 MC가 상기 OBMC 절차 동안 사용되는 경우 MC 절차에서 적용되지 않음을 의미한다.
JEM에서, BIO는 루마 구성요소에 대해서만 적용된다.
1.5 프레임 율 향상 변환(frame-rate up conversion, FRUC)의 예들
FRUC 플래그는 머지 플래그가 참일 때에 CU에 대해 시그널링될 수 있다. FRUC 플래그가 거짓이면, 머지 인덱스가 시그널링될 수 있고, 정규 머지 모드(regular merge mode)가 사용된다. FRUC 플래그가 참이면, 추가적인 FRUC 모드 플래그가 시그널링되어 블록의 움직임 신호를 유도하기 위해 어떤 방법(예를 들어, 양방향 매칭 또는 템플릿 매칭)이 사용되어야 하는지를 지시할 수 있다.
인코더 측에서, CU에 대해 FRUC 머지 모드를 사용할지 여부에 대한 결정은 정상(normal) 머지 후보에 대해서와 같이 RD 코스트 선택에 기반한다. 예를 들어, 복수의 매칭 모드들(예를 들어, 양방향 매칭 및 템플릿 매칭)이 RD 코스트 선택을 사용하여 CU에 대해 확인된다. 최소 비용으로 이어지는 것은 다른 CU 모드들과 더 비교된다. 만약 FRUC 매칭 모드가 가장 효율적인 경우, FRUC 플래그는 해당 CU에 대해 참으로 설정되고, 관련 매칭 모드가 사용된다.
대개의 경우, FRUC 머지 모드에서의 움직임 유도 프로세스는 2 단계를 가진다. CU 레벨 움직임 탐색이 먼저 수행되고, 그 다음으로 서브 CU 레벨 움직임 개선이 수행된다. CU 레벨에서, 초기 움직임 벡터는 양방향 매칭 또는 템플릿 매칭에 기반하여 CU 전체에 대해 유도된다. 먼저, MV 후보들의 리스트가 생성되고, 최소 매칭 코스트로 이어지는 후보가 추가 CU 레벨 개선을 위한 출발점으로 선택된다. 그 다음으로, 상기 출발점을 중심으로 양방향 매칭 또는 템플릿 매칭을 기반으로 한 로컬 탐색이 수행된다. 최소 매칭 코스트로 귀결되는 MV가 CU 전체에 대한 MV로 간주된다. 그 후, 유도된 CU 움직임 벡터들을 출발점으로 하여, 움직임 정보는 서브 CU 레벨에서 추가로 개선된다.
예를 들어, WХH CU 움직임 정보 유도를 위해 다음과 같은 유도 과정이 수행된다. 첫 번째 단계에서, 전체 WХH CU에 대한 MV가 유도된다. 두 번째 단계에서, 상기 CU는 MХM 서브 CU들로 더 분할된다. M의 값은 식(22) 에서와 같이 계산되며, D는 미리 정의된 분할 깊이로서, JEM에서 기본적으로 3으로 설정된다. 다음으로, 각 서브 CU에 대한 MV가 유도된다.
도 10은 프레임율 향상 변환(FRUC) 기법에 사용되는 양방향 매칭의 일 예를 도시한다. 양방향 매칭은 두 상이한 참조 픽처들(1010, 1011)에서 현재 CU의 움직임 궤적을 따라 두 블록들 간의 가장 가까운 매칭을 찾음으로써 현재 CU(1000)의 움직임 정보를 유도하는 데에 사용된다. 연속적인 움직임 궤적의 가정하에, 두 참조 블록을 가리키는 움직임 벡터 MV0(1001) 및 MV1(1002)는 현재 픽처와 상기 두 참조 픽처 사이의 시간적 거리들, 즉 TD0(1003) 및 TD1(1004)에 비례한다. 일부 실시예들에서, 현재 픽처(1000)가 두 참조 픽처들(1010, 1011) 사이에 시간적으로 존재하고 상기 현재 픽처에서 상기 두 참조 픽처까지의 시간적 거리가 같을 때, 양방향 매칭은 미러 기반 양방향 MV가 된다.
도 11은 프레임율 향상 변환(FRUC) 기법에 사용되는 템플릿 매칭의 일 예를 도시한다. 템플릿 매칭은 현재 픽처에서의 템플릿(예를 들어, 현재 CU의 상단 및/또는 좌측 인접 블록들)과 참조 픽처(1110)에서의 블록(예를 들어, 템플릿과 동일한 크기) 사이에서 가장 가까운 매칭을 찾아 현재 CU(1100)의 움직임 정보를 도출하는 데 사용될 수 있다. 앞서 언급한 FRUC 머지 모드를 제외하고 템플릿 매칭은 AMVP 모드에도 적용될 수 있다. JEM 및 HEVC 모두에서, AMVP는 두 후보를 가진다. 템플릿 매칭 방법으로 새로운 후보가 유도될 수 있다. 만약 템플릿 매칭에 의해 새로 유도된 상기 후보가 기존 제1 AMVP 후보와 다른 경우, AMVP 후보 리스트의 맨 처음에 삽입되고 해당 리스트 크기는 2로 설정된다(예를 들어, 기존 제2 AMVP 후보를 제거). AMVP 모드에 적용시, 오직 CU 레벨 탐색만 적용된다.
CU 레벨에서 설정된 MV는 다음 후보들 및 MV들을 포함할 수 있다: (1) 현재 CU가 AMVP 모드인 경우, 원본 AMVP 후보들, (2) 모든 머지 후보들, (3) 보간된 MV 필드(차후 설명)의 몇몇 MV들, 그리고 상부 및 좌측 주변 움직임 벡터들.
양방향 매칭을 사용하는 경우, 머지 후보의 유효한 각각의 MV는 양방향 매칭을 가정하여 MV 쌍을 생성하기 위한 입력으로 사용될 수 있다. 예를 들어, 머지 후보의 유효한 하나의 MV는 참조 리스트 A에서 이다. 다음으로, 그것의 쌍을 이룬 양방향 MV의 참조 픽쳐 가 다른 쪽 참조 리스트 B에서 발견되어 및 가 시간적으로 현재 픽처의 다른 사이드에 있게 된다. 이러한 가 참조 리스트 B에서 사용 가능하지 않은 경우, 는 와 다른 레퍼런스로 결정되고, 그것의 현재 픽처까지의 시간적 거리는 리스트 B에서 최소가 된다. 가 결정된 후, MVb는 현재 픽처와 사이의 시간적 거리를 기반으로 MVa를 스케일링하여 유도된다.
일부 구현들에서, 보간된 MV 필드로부터 4개의 MV 또한 CU 레벨 후보 리스트에 추가될 수 있다. 보다 구체적으로, 현재 CU의 위치 (0, 0), (W/2, 0), (0, H/2) 및 (W/2, H/2)의 보간된 MV들이 추가된다. FRUC가 AMVP 모드에서 적용되면, 원본 AMVP 후보들도 CU 레벨 MV 후보 세트에 추가된다. 일부 구현들의 경우, CU 레벨에서, AMVP CU들에 대한 15개의 MV 및 머지 CU에 대한 13개의 MV가 후보 리스트에 추가될 수 있다.
서브 CU 레벨에서 설정된 MV 후보는 (1) CU 레벨 탐색에서 결정된 MV, (2) 상단, 좌측, 좌측 상단 및 우측 상단 주변 MV들, (3) 참조 픽처들에서 동일 위치(collocated) MV들의 스케일링된 버전들, (4) 하나 또는 그 이상의(예를 들어, 최대 4개의) ATMVP 후보들, 그리고 (5) 하나 또는 그 이상의(예를 들어, 최대 4개의) STMVP 후보들을 포함한다. 참조 픽처로부터 스케일링된 MV는 다음과 같이 유도된다. 두 리스트의 참조 픽처들이 횡단된다. 참조 픽처에서 서브 CU의 동일 위치에 있는(collocated) MV들은 시작 CU 레벨 MV의 레퍼런스로 스케일링된다. ATMVP 및 STMVP 후보들은 4개의 제1 후보들이 될 수 있다. 서브 CU 레벨에서 하나 또는 그 이상의(예를 들어, 최대 17개의) MV가 후보 리스트에 추가된다.
보간된 MV 필드의 생성 프레임을 코딩하기 전에, 단방향 ME를 기반으로 픽처 전체에 대해 보간된 움직임 필드가 생성된다. 다음으로 상기 움직임 필드는 후에 CU 레벨 또는 서브 CU 레벨 MV 후보들로 사용될 수 있다.
일부 실시예들에서, 두 참조 리스트에 있는 각 참조 픽처의 움직임 필드는 4x4 블록 레벨에서 횡단된다. 도 12는 FRUC 기법에서 단방향 움직임 추정(Motion Estimation: ME)(1200)의 일 예를 보여준다. 각 4x4 블록에 대해, 만약 현재 픽처에서 4x4 블록을 통과하는 블록과 관련된 움직임이 있고 상기 블록에 보간된 움직임이 할당되지 않은 경우, 참조 블록의 움직임은 시간적 거리 TD0 및 TD1에 따라 상기 현재 픽처로 스케일링되고 (HEVC에서 TMVP의 MV 스케일링과 동일한 방식), 상기 스케일링된 움직임은 현재 프레임의 블록에 할당된다. 스케일링된 MV가 4x4 블록에 할당되지 않은 경우, 블록의 움직임은 보간된 움직임 필드에서 사용할 수 없는 것으로 표시된다.
보간 및 매칭 코스트 움직임 벡터가 분수 샘플 위치를 가리키는 경우, 움직임 보상된 보간이 필요하다. 복잡성을 줄이기 위해, 양방향 매칭과 템플릿 매칭 모두에 대해 정규(regular) 8-탭 HEVC 보간 대신 양선형(bi-linear) 보간이 사용될 수 있다.
매칭 코스트 계산은 단계마다 조금씩 다르다. CU 레벨에서 설정된 후보자 세트에서 후보자를 선택하는 경우, 매칭 코스트는 양방향 매칭 또는 템플릿 매칭의 절대 차 합(Sum of Absolute Difference: SAD)일 수 있다. 시작 MV(starting MV)가 결정된 후 서브 CU 레벨 탐색에서 양방향 매칭의 매칭 코스트 C는 다음과 같이 계산된다.
여기서, w는 가중치이다. 일부 실시예들에서, w는 경험적으로 4로 설정될 수 있다. 는 각각 현재 MV와 시작 MV를 나타낸다. SAD는 서브 CU 레벨의 템플릿 매칭의 매칭 코스트로 여전히 사용될 수 있다.
FRUC 모드에서 MV는 루마 샘플들만을 사용하여 유도된다. 유도된 움직임은 MC 화면 간 예측을 위한 루마와 크로마 모두에 사용된다. MV가 결정되면 루마에 대해서는 8-탭 보간 필터를, 크로마에 대해서는 4-탭 보간 필터를 사용하여 최종 MC를 수행한다.
MV 개선은 양방향 매칭 코스트 또는 템플릿 매칭 코스트를 기준으로 하는 패턴 기반 MV 탐색이다. JEM에서는 2개의 탐색 패턴, 즉 무제약 중심 바이어스 다이아몬드 탐색(Unrestricted Center-biased Diamond Search: UCBDS) 및 적응형 교차 탐색이 각각 CU 레벨 및 서브 CU 레벨의 MV 개선을 위해 지원된다. CU 레벨 및 서브 CU 레벨 모두의 MV 개선에서, MV는 1/4 루마 샘플 MV 정확도에서 직접적으로 탐색되고, 1/8 루마 샘플 MV 개선이 뒤따른다. CU 및 서브 CU 단계에 대한 MV 개선의 탐색 범위는 8개의 루마 샘플과 같게 설정된다.
양방향(bilateral) 매칭 머지 모드에서는 양예측이 적용된다. 왜냐하면 CU의 움직임 정보가 두 상이한 참조 픽처들에서 상기 현재 CU의 움직임 궤적을 따라 두 블록들 간의 가장 가까운 매칭을 기반으로 유도되기 때문이다. 템플릿 매칭 머지 모드에서, 인코더는 CU에 대해 리스트 0으로부터의 단일 예측(uni-prediction), 리스트 1로부터의 단일 예측, 또는 양 예측 가운데 선택할 수 있다. 상기 선택은 아래와 같이 템플릿 매칭 코스트를 기반으로 할 수 있다.
If costBi <= factor * min (cost0, cost1)
양 예측이 사용된다.
Otherwise, if cost0 <= cost1
리스트 0(list0)으로부터의 단일 예측이 사용된다;
Otherwise,
리스트 1(list1)로부터의 단일 예측이 사용된다;
여기서, cost0은 리스트 0 템플릿 매칭의 SAD, cost1은 리스트 1(list1) 템플릿 매칭의 SAD, 그리고 costBi는 양 예측 템플릿 매칭의 SAD이다. 예를 들어, 계수의 값이 1.25와 같으면, 이는 선택 프로세스가 양 예측에 편향되어 있음을 의미한다. 화면 간 예측 방향 선택은 오직 CU 레벨 템플릿 매칭 프로세스에만 적용될 수 있다.
1.6 크로마 구성요소들에서 MC에 대해 유도된 MV의 예들
예를 들어, HEVC 표준은 루마 구성요소(mv로 표시)에서 MC에 사용된 MV에서 크로마 구성요소(mvC로 표시)에서 MC에 사용되는 MV를 유도하는 방법을 정의한다. 일반적으로 mvC는, 예를 들어, 4:2:0 혹은 4:2:2와 같은 색상 형식에 의존하는 인자를 곱한 mv로 계산된다.
1.7 VVC에서 현재 픽처 참조의 예들
현재 픽처 참조(current picture reference: CPR)로도 알려진 화면 내 블록 복사(IBC, 혹은 현재 픽처 블록 보상(intra picture block compensation))는 HEVC 스크린 콘텐츠 코딩 확장(screen content coding extensions: SCC)에서 채택되었다. 이런 툴은, 동일한 픽처 내에서 빈번하게 발생하는 텍스트 및 그래픽이 풍부한 콘텐츠의 반복 패턴의 스크린 콘텐츠 비디오 코딩에 매우 효율적이다. 예측자와 동일하거나 유사한 패턴을 갖는 이전에 복원된 블록을 갖는 것은 예측 에러를 효율적으로 감소시킬 수 있고, 결과적으로 코딩 효율을 향상시킬 수 있다.
HEVC SCC에서 CPR의 설계와 유사하게, VVC에서는, IBC 모드의 사용이 시퀀스 및 픽처 레벨 모두에서 시그널링된다. IBC 모드가 시퀀스 파라미터 세트 (sequence parameter set)에서 활성화되는 경우, 픽처 레벨에서 활성화될 수 있다. IBC 모드가 픽처 레벨에서 활성화되는 경우, 현재 복원된 픽처는 참조 픽처로 취급된다. 따라서, IBC 모드 사용을 시그널링하기 위해 기존 VVC 화면 간 모드 위에 블록 레벨에서의 구문 변경이 요구되지 않는다.
이 실시예의 특징은 다음을 포함한다.
- 정상 화면 간 모드(normal inter mode)로 취급된다. 따라서, 머지 및 스킵 모드들은 IBC 모드에서도 허용된다. 머지 후보 리스트 구성은 통합(unified)되며, IBC 모드 혹은 HEVC 화면간 모드 모두에서 코딩된 인접 위치의 머지 후보들을 포함한다. 선택된 머지 인덱스에 기초하여, 머지 혹은 스킵 모드 하의 현재 블록은 IBC 모드 코딩된 인접 혹은 참조 픽처들인 다른 픽처들을 갖는 정상 화면간 모드 코딩된 블록으로 병합될 수 있다.
- IBC 모드에 대한 블록 벡터 예측 및 코딩 방식들은 HEVC 화면간 모드(AMVP 및 MVD 코딩)에서 움직임 벡터 예측 및 코딩에 사용되는 방식을 재사용한다.
- 블록 벡터로도 지칭되는 IBC 모드에서의 움직임 벡터는 정수-픽셀 정밀도로 코딩되나, 보간 및 디블록킹(deblocking) 단계에서 1/4-픽셀 정밀도가 필요하므로, 디코딩된 이후에는 1/16-픽셀 정밀도로 메모리에 저장된다. IBC 모드에서의 움직임 벡터 예측에 사용되면, 저장된 벡터 예측자는 오른쪽으로 4만큼 시프트(shifted)된다.
- 탐색 범위: 현재 CTU 내로 제한된다.
- 어파인 모드/삼각 모드(triangular mode)/GBI/가중된 예측(weighted prediction)이 활성화되는 경우 CPR은 허용되지 않는다.
1.8 페어와이즈 평균 후보들의 예들
페어와이즈 평균 후보들(pairwise average candidates)은 현재 머지 후보 리스트의 기 정의된 후보들의 쌍들을 평균화함으로서 생성되며, 상기 기 정의된 쌍들은 {(0, 1), (0, 2), (1, 2), (0, 3), (1, 3), (2, 3)}로 정의되며, 여기서 번호들은 머지 후보 리스트의 머지 인덱스들을 나타낸다. 평균화된 움직임 벡터들은 각 참조 리스트에 대해 개별적으로 계산된다. 하나의 리스트에서 두 움직임 벡터들을 모두 사용할 수 있는 경우, 그 두 움직임 벡터들은 서로 다른 참조 픽처들을 가리키는 경우에도 평균화된다. 오직 한 움직임 벡터만이 사용 가능한 경우, 그 하나의 움직임 벡터는 그대로 사용된다. 사용 가능한 움직임 벡터가 없는 경우, 해당 리스트는 사용 불가능한 것으로 유지한다. 페어와이즈 평균 후보들은 HEVC 표준의 결합된 후보들(combined candidates)을 대체한다. 두 머지 후보들의 MV들이 MV0 = (MV0x, MV0y) 및 MV1=(MV1x, MV1y)라면, MV*=(MV*x, MV*y)로 지칭되는 페어와이즈 머지 후보의 MV는 다음과 같이 유도된다.
MV*x=(MV0x+MV1x)/2, 및
MV*y=(MV0y+MV1y)/2.
또한, MV0 및 MV1이 현재 픽처(예를 들어, CPR 모드)를 참조하는 경우, MV*x 및 MV*y는 정수 MV가 명확히 획득되도록, 풀 픽셀(full pixel)보다 높은 정밀도를 갖는 부분을 삭제하기 위해 더 라운딩된다.
MV*x = (MV*x /16 )<<4, 및
MV*y = (MV*y /16 )<<4.
각 쌍에 대해, 둘 중 하나는 CPR로 코딩되고, 다른 하나는 그렇지 않은 경우, 그러한 쌍들은 페어와이즈 평균 후보를 생성하는 것이 허용되지 않는다.
1.9 삼각 예측 모드의 예들
삼각 예측 모드(triangular prediction mode: TPM)의 개념은 움직임 보상된 예측을 위한 새로운 삼각 분할을 도입하는 것이다. CU를 대각선 방향으로 혹은 역대각선 방향으로 두 개의 삼각 예측 유닛으로 분할한다. CU에서 각 삼각 예측 유닛은 고유한 단일 예측 움직임 벡터와 하나의 단일 예측 후보 리스트로부터 유도된 참조 프레임 인덱스를 사용하여 화면 간 예측된다. 적응적 가중 프로세스(adaptive weighting process)는 삼각 예측 유닛들을 예측한 이후 대각선 가장자리(edge)에 대해 수행된다. 이후, 변환 및 양자화 과정이 전체 CU에 대해 적용된다. 이 모드는 머지 모드에 대해서만 적용된다(여기서, 스킵 모드는 특별한 머지 모드로 취급된다). TPM에 대한 단일 예측 후보 리스트.
TPM 움직임 후보 리스트로 명명되는 단일 예측 후보 리스트는 다섯 개의 단일 예측 움직임 벡터 후보들로 구성된다. 이는 다섯 개의 공간적 인접 블록들과 두 개의 시간적 동일 위치(co-located) 블록들을 포함하는 일곱 개의 인접 블록들로부터 유도된다. 일곱 개의 인접 블록들의 움직임 벡터들을 수집하여 단일 예측 움직임 벡터들, 양 예측 움직임 벡터들의 L0 움직임 벡터, 양 예측 움직임 벡터들의 L1 움직임 벡터, 양 예측 움직임 벡터들의 L0 및 L1 움직임 벡터들에 대한 평균화된 움직임 벡터 순으로 단일 예측 후보 리스트에 포함시킨다. 후보들의 수가 5보다 작은 경우, 영 움직임 벡터(zero motion vector)가 리스트에 추가된다. TPM에 대한 이 리스트에 추가된 움직임 후보들은 TPM 후보들로 지칭되고, 공간적/시간적 블록들로부터 유도된 움직임 정보는 정규 움직임 후보(regular motion candidate)들로 지칭된다.
보다 상세하게는, 다음의 단계들이 관련된다.
(1) 프루닝(pruning) 작업 없이, A1, B1, B0, A0, B2, Col(정규 머지 모드의 그것과 유사) 및 Col2로부터 정규 움직임 후보들을 획득한다.
(2) 변수 numCurrMergeCand를 0으로 설정한다.
(3) numCurrMergeCand가 5 미만인, A1, B1, B0, A0, B2, Col 및 Col2로부터 유도된 각각의 정규 움직임 후보에 대하여, 정규 움직임 후보가 (리스트 0 또는 리스트 1로부터) 단일 예측이면, numCurrMergeCand가 1만큼 증가되고, TPM 후보로서 머지 리스트에 바로 추가된다. 이러한 TPM 후보는 "원래 단일 예측 후보"라 한다.
풀 프루닝(Full pruning)이 적용된다.
(4) numCurrMergeCand가 5 미만인, A1, B1, B0, A0, B2, Col 및 Col2로부터 유도된 각각의 움직임 후보에 대하여, 정규 움직임 후보가 양 예측이면, 리스트 0의 움직임 정보가 새로운 TPM 후보로서 TPM 머지 리스트에 추가(즉, 리스트 0에서 단일 예측으로 변경)되고, numCurrMergeCand는 1만큼 증가된다. 이러한 TPM 후보는 "절삭된(truncated) 리스트-0 예측 후보"라 한다.
풀 프루닝(Full pruning)이 적용된다.
(5) numCurrMergeCand가 5 미만인, A1, B1, B0, A0, B2, Col 및 Col2로부터 유도된 각각의 움직임 후보에 대하여, 정규 움직임 후보가 양 예측이면, 리스트 1의 움직임 정보가 TPM 머지 리스트에 추가(즉, 리스트 1으로부터 단일 예측으로 변경)되고, numCurrMergeCand는 1만큼 증가된다. 이러한 TPM 후보는 "절삭된(truncated) List-1 예측 후보"라 한다.
풀 프루닝(Full pruning)이 적용된다.
(6) numCurrMergeCand가 5 미만인, A1, B1, B0, A0, B2, Col 및 Col2로부터 유도된 각각의 움직임 후보에 대하여, 정규 움직임 후보가 양 예측이면, 리스트 1의 움직임 정보가 먼저 리스트 0 참조 픽처로 스케일링되고, 2개의 MV(하나는 원본 리스트 0에서부터 온 것이고 다른 하나는 리스트 1의 스케일링된 MV임)의 평균이 TPM 머지 리스트에 추가되고, 이러한 후보는 리스트 0 움직임 후보에서 평균 단일 예측이라 하고, numCurrMergeCand는 1만큼 증가된다.
풀 프루닝(Full pruning)이 적용된다.
(7) numCurrMergeCand가 5 미만이면, 영 움직임 벡터 후보들이 추가된다.
후보를 리스트에 삽입할 때, 이전에 추가된 모든 후보와 비교하여 그들 중 하나와 동일한지를 확인해야 하는 경우, 이러한 과정을 풀 프루닝이라 한다.
(MV1'x, MV1'y)로 표시된 스케일링된 MV 및 (MV0x, MV0y)로 표시된 리스트 0 MV를 가정한다. (MV*x, MV*y)로 표시된 리스트 0 움직임 후보의 평균 단일 예측은 다음과 같이 정의된다.
MV*x=(MV0x+MV1'x + 1) >> 1, 및
MV*y=(MV0y+MV1'y +1 ) >> 1.
2 기존 구현들의 단점들
기존 서브 블록 기반 예측 기술들은 다음과 같은 문제점을 가진다.
(1) 일부 기존 구현에서, 서브 블록들의 크기(예를 들어, JEM에서 4x4)는 주로 루마 구성요소를 위해 설계된 것이다. JEM에서, 서브 블록들의 크기는 4:2:0 포맷의 2x2크로마 구성요소들과, 4:2:2 포맷의 2x4 크로마 구성요소들이다. 서브 블록들의 작은 크기는 보다 높은 대역폭을 요구한다. 도 13은 JEM에서 4:2:0 포맷을 갖는 다른 요소들에 대한 16x16 블록(Cb/Cr에 대해 8x8)의 서브 블록들의 일 예를 보여준다.
(2) JEM의 어파인 예측과 같은 기존 서브블록 기반 툴들(tools)에서, 각 서브 블록의 MV들은 각 구성 요소에 대해 독립적으로 식 (1)에 표시된 어파인 모델로 계산되며, 이로 인해 루마와 크로마 구성요소들 간의 움직임 벡터의 잘못된 정렬이 도출된다.
(3) 어파인 예측과 같은 기존의 일부 서브 블록 기반 툴들에서, 사용 제약은 머지 모드와 논-머지(non-merge) 화면간 모드(예를 들어, AMVP, 혹은 노멀 화면 간 모드)에 대해 다르므로, 통합되어야 한다.
(4) 일부 기존 구현에서, 리스트 0 움직임 후보로부터 페어와이즈 머지 후보/평균화된 단일 예측을 유도하기 위한 움직임 벡터 평균 연산은 서브 블록 예측에서 사용된 라운딩 방법과 맞춰져야 한다. 그러므로, 하드웨어는 통합된 디자인을 가질 수 있다.
3 비디오 코딩에서 통합된 라운딩을 위한 예시적인 방법들
예 1. 한 블록은 색상 구성요소 및/혹은 색상 포맷 및/혹은 블록 모양/크기에 따라 다른 방식으로 서브 블록으로 분할된다.
(a) 하나의 루마와 그에 대응하는 크로마 블록들(예를 들어, 4:2:0 색상 포맷에서, 하나의 MxN 루마 블록은 하나의 M/2 x N/2 Cb 블록 및 하나의 M/2 x N/2 Cr 블록에 대응됨)에 대해, 분할된 서브 블록들의 수는 구성 요소에 따라 달라질 수 있다. 위 블록이 해당 구성요소를 위해 더 큰 크기를 가지는 경우, 구성요소에 대해 더 많은 서브 블록들로 분할된다.
(b) 각 색상 구성요소에 대해, 서브 블록들의 크기는 동일하며, 예를 들어, Y, Cb 및 Cr 구성요소에 대해 wХh이면, wХh는 8 x 8, 8 x 4, 4 x 8, 4 x 4 등일 수 있다. 예를 들어, x와 h는 둘 다 4일 수 있다. 도 14는 4:2:0 포맷의 다른 구성요소들에 대한 16 x 16 블록(Cb/Cr에 대해서는 8 x 8)의 제안된 서브 블록들의 일 예를 보여준다. 일 예에서, w>W 혹은 h>H이면, 위 블록은 위 구성요소에 대한 서브블록들로 분할되지 않는다.
(c) 한 블록 내에서 서로 다른 크기의 서브 블록들이 허용될 수 있다. 일 예로서, W(혹은 H)가 w(혹은 h)의 정수 배수가 아닌 경우, w/h 보다 작은 너비/높이를 갖는 서브 블록들을 위 블록의 인접한 좌측 혹은 상단 서브 블록으로 병합(merge)하는 것이 제안된다. 도 15는 12 x 16 블록(Cb/Cr에 대해서는 6 x 8)은 서브 블록들로 분할되는 일 예를 보여준다. 서브 블록 크기는 4 x 4이다. Cb/Cr 구성요소들에 대해, 마지막 두 개의 서브 블록들의 크기는 2 x 4이므로, 그들의 좌측 인접 블록들로 병합된다.
(d) 서브 블록 크기들은 블록 모양에 기반할 수 있다.
(i) 일 예로서, 정사각형 블록들(W는 H와 동일)에서, w는 h와 동일하게 설정될 수 있다.
(ii) 대안적으로, 정사각형이 아닌 블록들(W는 H와 상이)에서, w는 h와 동일하지 않을 수 있다. 예를 들어, W > H 이면, w는 h보다 크게 설정될 수 있으며, 반대의 경우도 가능하다.
(e) 다양한 색상 구성요소들 혹은 다양한 블록 모양들의 서브 블록 크기들은 시퀀스 파라미터 세트(sequence, parameter set: SPS), 픽처 파라미터 세트(picture parameter set: PPS), 슬라이스 헤더(slice header)에서 시그널링될 수 있다.
(f) Y 구성요소 및 Cb/Cr 구성요소들의 서브 블록 크기들은 서로 다른 방식으로 결정될 수 있다. 예를 들어, Y 구성요소의 서브 블록 크기는 4Х4 8Х8 4Х8 및 8Х4와 같은 일부 후보들로부터 적응적으로 결정되나, Cb/Cr 구성요소들의 서브블록 크기는 4Х4로 고정된다.
(g) Y 구성요소 및 Cb/Cr 구성요소들의 서브 블록 크기들은 4:2:0, 4:2:2: 및 4:4:4와 같은 색상 포맷들에 기반할 수 있다.
예 2. 하나의 색상 구성요소의 서브 블록의 MV는 어파인 모델로 이미 유도된 다른 색상 구성요소의 하나 이상의 서브 블록들의 MV(들)로부터 유도될 수 있다. 이 경우, 동일한 색상 구성요소의 정보를 기반으로 세번에 걸쳐 하나의 색상 구성요소의 움직임 정보를 유도할 필요가 없다.
(a) 일 예로서, 하나의 구성요소에 대한 서브 블록의 MV는 다른 구성요소에 대한 하나의 대응 서브 블록의 MV로부터 유도될 수 있다. 도 16은 4:2:0 포맷에 대한 일 예를 보여준다. 각 구성요소에 대한 블록은 도 13의 예에 따라 분할된다. 제1 유도된 MV*는 Y 구성요소의 해당 4 x 4서브 블록의 MV에서 복제된 다음, 섹션 1.6. 에 특정된 규칙에 따라 MV*로부터 Cb 혹은 Cr 구성요소의 2 x 2 서브 블록의 MV가 유도된다.
(b) 다른 일 예로서, 한 구성 요소에 대한 서브 블록의 MV는 다른 구성 요소에 대한 대응되는 다수의 서브 블록들의 MV들로부터 유도될 수 있다. 도 17은 4:2:0 포맷에 대한 일 예를 보여준다. 여기서 Cb 혹은 Cr 구성요소의 4x4 서브 블록은 Y 구성요소에 대한 네 개의 4 x 4 서브 블록에 대응된다. 각 구성요소에 대한 블록들은 도 14의 예에 따라 분할된다. 제1 유도된 MV*는 다른 구성요소에 대한 다수의 대응 서브 블록들의 MV들로부터 산출되고, 이후, Cb 혹은 Cr 구성요소의 4x4 서브블록의 MV가 섹션 1.6.에 특정된 규칙에 따라 MV* 로부터 유도된다.
(i) 일 실시예에서, MV*는 Y 구성요소의 모든 대응되는 서브 블록 MV들의 평균으로 계산된다. 일 예로서, MV* = ( MV0 + MV1 + MV2 + MV3 ) / 4이다. MV*=(MV*x, MV*y), MV0=(MV0x, MV0y), MV1=(MV1x, MV1y), MV2=(MV2x, MV2y) 및 MV3=(MV3x, MV3y)로 가정한다.
(1) 일 실시예에서, MV*x=Shift(MV0x+MV1x+MV2x +MV3x, 2), MV*y=Shift(MV0y+MV1y+MV2y+MV3y, 2)이다.
(2) 다른 일 실시예에서, MVx*=SignShift(MV0x+MV1x+ MV2x+MV3x, 2), MVy*=SignShift(MV0y+MV1y+MV2y+MV3y, 2)이다.
(3) 다른 일 실시예에서, MV*의 계산은 다음과 같은 순서로 수행될 수 있다.
MV'x=Shift(MV0x+MV1x, 1),
MV'y=Shift(MV0y+MV1y, 1),
MV''x= Shift(MV2x+MV3x, 1),
MV''y=Shift(MV2y+MV3y, 1),
MV*x=Shift(MV'x+MV''x, 1), 및
MV*y=Shift(MV'y+MV''y, 1).
(4) 다른 일 실시예에서, MV*의 계산은 다음과 같은 순서로 수행될 수 있다.
MV'x=Shift(MV0x+MV2x, 1),
MV'y=Shift(MV0y+MV2y, 1),
MV''x= Shift(MV1x+MV3x, 1),
MV''y=Shift(MV1y+MV3y, 1),
MV*x=Shift(MV'x+MV''x, 1), 및
MV*y=Shift(MV'y+MV''y, 1).
(5) 다른 일 실시예에서, MV*의 계산은 다음과 같은 순서로 수행될 수 있다.
MV'x=SignShift(MV0x+MV1x, 1),
MV'y=SignShift(MV0y+MV1y, 1),
MV''x= SignShift(MV2x+MV3x, 1),
MV''y=SignShift(MV2y+MV3y, 1),
MV*x=SignShift(MV'x+MV''x, 1), 및
MV*y=SignShift(MV'y+MV''y, 1).
(6) 다른 일 실시예에서, MV*의 계산은 다음과 같은 순서로 수행될 수 있다.
MV'x=SignShift(MV0x+MV2x, 1),
MV'y=SignShift(MV0y+MV2y, 1),
MV''x = SignShift(MV1x+MV3x, 1),
MV''y = SignShift(MV1y+MV3y, 1),
MV*x = SignShift(MV'x+MV''x, 1), 및
MV*y = SignShift(MV'y+MV''y, 1).
(ii) 일 실시예에서, MV*는 Y 구성요소에 대한 좌측 상단의 대응 서브 블록의 MV로 계산된다. 일 예로서, MV*= MV0이다.
(iii) 일 실시예에서, MV*는 Y 구성요소에 대한 중앙의 대응 서브 블록의 MV로 계산된다.
(iv) 일 실시예에서, MV*는 Y 구성요소에 대한 모든 대응 서브 블록 MV들의 중간값(median)으로 계산된다. 여기서, MV* = median(MV0,MV1,MV2,MV3)이다.
(v) 다른 구성요소로부터 하나의 구성 요소에 대한 서브 블록들의 MV들을 유도하는 방식은 4:2:0, 4:2:2 및 4:4:4과 같은 색상 포맷들에 기반하여 결정될 수 있다.
(1) 색상 포맷이 4:4:4인 경우, 일 예로서, 서브 블록의 크기들은 모든 구성요소에 대하여 동일하고, 각 서브 블록에 대한 서브 블록의 MV는 동일하다.
(2) 색상 포맷이 4:2:2인 경우, 일 예로서, 모든 구성 요소에 대하여 서브 블록의 크기들이 동일하고, 제1 유도된 MV*는 다른 구성 요소에 대한 대응되는 다수의 서브 블록들의 MV들로부터 계산되며, 이후, 섹션 2.6.에 특정된 규칙에 따라 Cb 혹은 Cr 구성요소에서 서브 블록의 MV는 MV*로부터 유도된다. 도 18에 나타난 일예에서, 하나의 Cb/Cr 서브 블록은 움직임 벡터 MV0 및 MV1을 갖는 두 개의 Y 서브 블록에 대응된다.
(a) MV* =(MV0+MV1)/2이다. MV*=(MV*x, MV*y), MV0=(MV0x, MV0y), MV1=(MV1x, MV1y)라고 가정한다.
(i) 일 실시예로서, MV*x=Shift(MV0x+MV1x, 1), MV*y=Shift(MV0y+MV1y, 1)이다.
(ii) 다른 일 실시예로서, MVx*=SignShift(MV0x+MV1x, 1), MVy*=SignShift(MV0y+MV1y, 1)이다.
머지 및 논-머지 어파인 모드들에 대한 통합된 제약 조건들의 예들
예 3. 머지 어파인 모드 및 논-머지 어파인 모드는 동일한 블록 크기 제약 조건으로, 허용되거나 허용되지 않는다.
(a) 블록 크기 제약 조건은 하나 혹은 두 개의 임계값들과 비교되는 너비 및 높이에 기반한다. 예를 들어, 머지 어파인 모드 및 논-머지 어파인 모드 모두는, 현재 블록의 너비 및 높이 모두가 M보다 큰 경우(예를 들어, M은 8) 혹은 너비가 M0보다 크고 높이가 M1 보다 큰 경우(예를 들어, M0은 8 및 M1은 4) 허용된다. 그 외의 경우, 머지 어파인 모드 및 논-머지 어파인 모드 둘다 허용되지 않는다.
(b) 블록 크기 제약 조건은 한 블록(예를 들어, 너비 x 높이인 영역) 내의 총 샘플들의 수에 기반한다. 일 예로서, 머지 어파인 모드 및 논-머지 어파인 모드 모두는, 현재 블록의 영역(예를 들어, 너비 x 높이)이 N보다 작지 않은 경우(예를 들어, N은 64), 허용된다. 그 외의 경우, 머지 어파인 모드 및 논-머지 어파인 모드는 둘다 허용되지 않는다.
(c) 머지 어파인 모드의 경우, JEM에서 플래그로 시그널링되는 명시적인 모드(explicit mode)이거나, 다른 구현에서와 같이 플래그로 시그널링되지 않는 암시적인(implicit) 모드일 수도 있다. 후자의 경우, 어파인 머지 후보는 머지 어파인 모드가 허용되지 않는 경우 통합된 머지 후보 리스트에 포함되지 않는다.
(d) 논-머지 어파인 모드의 경우, 상기 규칙에 따라 어파인이 허용되지 않으면, 어파인 모드 지시 시그널링은 생략된다.
통합된 라운딩 과정의 예들
예 4. 한 머지 후보가 MV0 = (MV0x, MV0y)인 움직임 벡터를 갖고, 다른 머지 후보가 MV1=(MV1x, MV1y)인 움직임 벡터를 갖는다고 가정한다. 그리고 이러한 두 개의 머지 후보들로부터 유도된 페어와이즈 머지 후보 중 한 MV는 MV*=(MV*x, MV*y)로 표시되며, 다음과 같이 유도된다.
MV*x=Shift(MV0x+MV1x, 1), 및
MV*y=Shift(MV0y+MV1y, 1).
대안적으로,
MV*x=SignShift(MV0x+MV1x, 1), 및
MV*y =SignShift(MV0y+MV1y, 1).
예 5. 한 머지 후보가 MV0 = (MV0x, MV0y)인 움직임 벡터를 갖고, 다른 머지 후보가 MV1=(MV1x, MV1y)인 움직임 벡터를 갖는다고 가정한다. 그리고 MV0 및/혹은 MV1이 현재 픽처를 참조하고, 이러한 두 개의 머지 후보들로부터 유도된 페어와이즈 머지 후보의 한 MV는 MV*=(MV*x, MV*y)로 표시되며, 다음과 같이 유도된다.
(a) MV*x=Shift(MV0x+MV1x, 1); MV*y=Shift(MV0y+MV1y, 1); 이면 MV*x=(Shift(MV*x, 4))<<4; MV*y=(Shift(MV*y, 4))<<4
(b) MV*x=SignShift(MV0x+MV1x, 1); MV*y= SignShift (MV0y+MV1y, 1); 이면 MV*x=( SignShift (MV*x, 4))<<4; MV*y=( SignShift (MV*y, 4))<<4
(c) MV*x=(Shift(MV0x+MV1x, (W+1)))<<W; MV*y=(Shift(MV0y+MV1y, (W+1)))<<W, 여기서 W는 2 혹은 4인 정수이다. W는 정수로서, 1<<W가 MV 표현 정밀도와 동일하다.
(d) MV*x=(SignShift(MV0x+MV1x, (W+1)))<<W; MV*y=(SignShift(MV0y+MV1y, (W+1))) <<W, W는 2 혹은 4인 정수이다. W는 정수로서, 1<<W가 MV 표현 정밀도와 동일하다.
예 6. (MV1'x, MV1'y) 로 표시되는 스케일링된 MV 및 (MV0x, MV0y)로 표시되는 리스트 0 MV를 가정하자. (MV*x, MV*y)로 표시된 리스트 0 움직임 후보로부터 평균화된 단일 예측은 다음과 같이 정의된다.
MV*x=Shift(MV0x+MV1'x, 1), 및
MV*y=Shift(MV0y+MV1'y, 1).
대안적으로,
MV*x=SignShift(MV0x+MV1'x, 1), 및
MV*y =SignShift(MV0y+MV1'y, 1).
일부 실시예들에서, SignShift(x, s)는 0 방향으로 정수를 우측 시프트(right shift)할 수 있다. 이는 다음과 같이 정의된다.
여기서, off = (1 << (s-1) ) - 1이다.
다른 실시예에서, SignShift(x, s)는 대안적으로 다음과 같이 정의될 수 있다.
여기서, off = (1 << (s-1) ) - 1이다.
상기에서 설명된 예들은 비디오 디코더 및/혹은 비디오 인코더에서 실행될 수 있는 방법 1930, 1960 및 1990을 포함한 하기에서 설명되는 방법들의 맥락에서 통합될 수 있다.
도 19A는 예시적인 비디오 프로세싱 방법 1930의 흐름도를 보여준다. 방법 1930은 단계 1932로서, 비디오의 현재 블록의 프로세싱을 위하여, 한 쌍의 움직임 후보들에 기반하여 페어와이즈 머지 후보를 생성하는 과정을 포함한다.
방법 1930은 단계 1934로서 상기 페어와이즈 머지 후보에 기반하여 상기 비디오의 비트스트림 표현과 상기 현재 블록 간의 변환을 수행하는 과정을 포함한다.
도 19B는 예시적인 비디오 프로세싱 방법 1960의 흐름도를 보여준다. 방법 1960은 단계 1962로서 비디오의 현재 블록의 프로세싱을 위하여 위 현재 블록을 포함하는 현재 픽처를 참조하는 한 쌍의 움직임 후보들을 기반으로 페어와이즈 머지 후보를 생성하는 과정을 포함한다.
방법 1960은 단계 1964로서 페어와이즈 머지 후보를 기반으로 위 비디오의 비트스트림 표현과 위 현재 블록 간의 변환을 수행하는 단계를 포함한다.
도 19C는 예시적인 비디오 프로세싱 방법 1990의 흐름도를 보여준다. 방법 1990은 단계 1992로서, 기하 분할 모드를 이용하여 코딩된 비디오의 현재 블록에 대한 단일 예측 움직임 후보를, 스케일링된 움직임 벡터 및 리스트 0 움직임 벡터를 기반으로 생성하는 과정을 포함한다.
방법 1990은 단계 1994로서 단일 예측 움직임 후보에 기반하여 상기 비디오의 비트스트림 표현과 상기 현재 블록 간의 변환을 수행하는 과정을 포함한다.
일부 실시예에서, 다음과 같은 기술적 해결책이 구현된다:
A1. 비디오 프로세싱 방법에 있어서, 비디오의 현재 블록 프로세싱을 위해 움직임 후보들이 쌍을 기반으로 페어와이즈 머지 후보(pariwise merge candidate)를 생성하는 단계, 상기 페어와이즈 머지 후보에 기반하여 상기 현재 블록과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하되, 상기 한 쌍의 움직임 후보들은 제1 움직임 후보의 참조 픽처 리스트 L에 대한 제1 움직임 벡터 MV0 = (MV0x, MV0y) 및 제2 움직임 후보의 상기 참조 픽처 리스트 L에 대한 제2 움직임 벡터 MV1 = (MV1x, MV1y)를 포함하고, MV* = (MV*x, MV*y)는 상기 페어와이즈 머지 후보이며, 및 이고, 이고, off 및 s는 정수이고, >>는 오른쪽 시프트 연산(right shift operation)을 의미하는, 비디오 프로세싱 방법.
A2. 비디오 프로세싱 방법에 있어서, 비디오의 현재 블록의 프로세싱을 위해, 한 쌍의 움직임 후보들에 기반하여 페어와이즈 머지 후보를 생성하는 단계 및 상기 페어와이즈 머지 후보에 기반하여 상기 현재 블록과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하고, 상기 한 쌍의 움직임 후보들은 제1 움직임 후보의 참조 픽처 리스트 L에 대한 제1 움직임 벡터 MV0 = (MV0x, MV0y) 및 제2 움직임 후보의 상기 참조 픽처 리스트 L에 대한 제2 움직임 벡터 MV1 = (MV1x, MV1y)를 포함하고, MV* = (MV*x, MV*y)는 상기 페어와이즈 머지 후보이며, 및 이고, 이며, off 및 s는 정수이고, >>는 시프트 연산을 의미하는, 비디오 프로세싱 방법.
A3. 비디오 프로세싱 방법에 있어서, 비디오의 현재 블록의 프로세싱을 위해 한 쌍의 움직임 후보들을 기반으로 페어와이즈 머지 후보를 생성하는 단계, 상기 페어와이즈 머지 후보에 기반하여 상기 현재 블록과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계, 상기 한 쌍의 움직임 후보들은 제1 움직임 후보의 참조 픽처 리스트 L에 대한 제1 움직임 벡터 MV0 = (MV0x, MV0y) 및 제2 움직임 후보의 상기 참조 픽처 리스트 L에 대한 제2 움직임 벡터 MV1 = (MV1x, MV1y)를 포함하고, MV* = (MV*x, MV*y)는 상기 페어와이즈 머지 후보이며, 및 이고, off 및 s는 정수이고, >>는 시프트 연산을 의미하는, 비디오 프로세싱 방법.
A4. A1 내지 A3의 어느 한 방법에 있어서, 상기 한 쌍의 머지 후보들은 머지 후보 리스트로부터 기인하는, 비디오 프로세싱 방법.
A5. A1 내지 A3의 어느 한 방법에 있어서, 상기 참조 픽처 리스트 L은 참조 픽처 리스트 0(L0) 혹은 참조 픽처 리스트 1(L1)를 포함하는, 비디오 프로세싱 방법.
A6. A1 내지 A3의 어느 한 방법에 있어서, 상기 페어와이즈 머지 후보를 상기 머지 후보 리스트에 삽입하는 단계를 더 포함하는, 비디오 프로세싱 방법.
A7. A1 내지 A3의 어느 한 방법에 있어서, 상기 변환을 수행하는 단계 이후, 상기 머지 후보 리스트를 업데이트하는 단계를 더 포함하는, 비디오 프로세싱 방법.
A8. A1 내지 A7의 어느 한 방법에 있어서, off= 0인, 비디오 프로세싱 방법.
A9. A1 내지 A7의 어느 한 방법에 있어서, s= 0이라는 결정 하에 off= 0인, 비디오 프로세싱 방법.
A13. A1 내지 A12의 어느 한 방법에 있어서, 상기 현재 비디오 블록은 코딩 유닛(coding unit)인, 비디오 프로세싱 방법.
A14. A1 내지 A13의 어느 한 방법에 있어서, 상기 변환을 수행하는 단계는 상기 현재 비디오 블록으로부터 상기 비트스트림 표현을 생성하는 단계를 포함하는, 비디오 프로세싱 방법.
A15. A1 내지 A13의 어느 한 방법에 있어서, 상기 변환을 수행하는 단계는 상기 비트스트림 표현으로부터 상기 현재 비디오 블록을 생성하는 단계를 포함하는, 비디오 프로세싱 방법.
A16. A1 내지 A15의 어느 한 방법을 실행하는 프로세서를 포함하는, 비디오 디코딩 장치.
A17. 비-일시적 컴퓨터 읽기 가능한 매체에 저장된 컴퓨터 프로그램 제품에 있어서, A1 내지 A15의 어느 한 방법을 실행하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램 제품.
일부 실시예로서, 다음과 같은 기술적 해결책들이 실현된다:
B1. 비디오 프로세싱 방법에 있어서, 비디오의 현재 블록의 프로세싱을 위해, 페어와이즈 머지 후보를 생성하는 단계, 상기 생성하는 단계는 상기 현재 블록을 포함하는 현재 픽처를 참조하는 한 쌍의 움직임 후보들을 기반으로 하고, 상기 페어와이즈 머지 후보를 기반으로 상기 현재 블록과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하되, 상기 한 쌍의 움직임 후보들은 제1 움직임 후보의 참조 픽처 리스트 L에 대한 제1 움직임 벡터 MV0 = (MV0x, MV0y) 및 제2 움직임 후보의 상기 참조 픽처 리스트 L에 대한 제2 움직임 벡터 MV1 = (MV1x, MV1y)를 포함하고, MV* = (MV*x, MV*y)는 상기 페어와이즈 머지 후보이며, 이며, off와 s는 정수이고, >>는 오른쪽 시프트 연산(right shift operation)을 의미하는, 비디오 프로세싱 방법.
B3. 비디오 프로세싱 방법에 있어서, 비디오의 현재 블록의 프로세싱을 위해, 페어와이즈 머지 후보를 생성하는 단계, 여기서 상기 생성하는 단계는 상기 현재 블록을 포함하는 현재 픽처를 참조하는 한 쌍의 움직임 후보들을 기반으로 하고, 상기 페어와이즈 머지 후보를 기반으로 상기 현재 블록과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하되, 상기 한 쌍의 움직임 후보들은 제1 움직임 후보의 참조 픽처 리스트 L에 대한 제1 움직임 벡터 MV0 = (MV0x, MV0y) 및 제2 움직임 후보의 상기 참조 픽처 리스트 L에 대한 제2 움직임 벡터 MV1 = (MV1x, MV1y)를 포함하고, MV* = (MV*x, MV*y)는 상기 페어와이즈 머지 후보이며, 이고, off와 s는 정수이고, >>는 시프트 연산을 의미하는, 비디오 프로세싱 방법.
B5. 비디오 프로세싱 방법에 있어서, 비디오의 현재 블록의 프로세싱을 위해, 페어와이즈 머지 후보를 생성하는 단계, 여기서 상기 생성하는 단계는 상기 현재 블록을 포함하는 현재 픽처를 참조하는 한 쌍의 움직임 후보들을 기반으로 하고, 상기 페어와이즈 머지 후보를 기반으로 상기 현재 블록과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하되, 상기 한 쌍의 움직임 후보들은 제1 움직임 후보의 참조 픽처 리스트 L에 대한 제1 움직임 벡터 MV0 = (MV0x, MV0y) 및 제2 움직임 후보의 상기 참조 픽처 리스트 L에 대한 제2 움직임 벡터 MV1 = (MV1x, MV1y)를 포함하고, MV* = (MV*x, MV*y)는 상기 페어와이즈 머지 후보이며, 이고, off와 s는 정수이고, >>는 시프트 연산을 의미하는, 비디오 프로세싱 방법.
B7. 비디오 프로세싱 방법에 있어서, 비디오의 현재 블록의 프로세싱을 위해, 페어와이즈 머지 후보를 생성하는 단계, 여기서 상기 생성하는 단계는 상기 현재 블록을 포함하는 현재 픽처를 참조하는 한 쌍의 움직임 후보들을 기반으로 하고, 상기 페어와이즈 머지 후보를 기반으로 상기 현재 블록과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하되, 상기 한 쌍의 움직임 후보들은 제1 움직임 후보의 참조 픽처 리스트 L에 대한 제1 움직임 벡터 MV0 = (MV0x, MV0y) 및 제2 움직임 후보의 상기 참조 픽처 리스트 L에 대한 제2 움직임 벡터 MV1 = (MV1x, MV1y)를 포함하고, MV* = (MV*x, MV*y)는 상기 페어와이즈 머지 후보이며, 이고, 이며, W, off 및 s는 정수이고, >>는 오른쪽 시프트 연산을 의미하는, 비디오 프로세싱 방법.
B8. 비디오 프로세싱 방법에 있어서, 비디오의 현재 블록의 프로세싱을 위하여, 페어와이즈 머지 후보를 생성하는 단계, 상기 생성하는 단계는 상기 현재 블록을 포함하는 현재 픽처를 참조하는 한 쌍의 움직임 후보들을 기반으로 하며, 상기 페어와이즈 머지 후보를 기반으로 상기 현재 블록과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하되, 상기 한 쌍의 움직임 후보들은 제1 움직임 후보의 참조 픽처 리스트 L에 대한 제1 움직임 벡터 MV0 = (MV0x, MV0y) 및 제2 움직임 후보의 상기 참조 픽처 리스트 L에 대한 제2 움직임 벡터 MV1 = (MV1x, MV1y)를 포함하고, MV* = (MV*x, MV*y)는 상기 페어와이즈 머지 후보이며, 이고, SignShift(x,s) 이고, W, off 및 s는 정수이며, >>는 시프트 연산을 의미하는, 비디오 프로세싱 방법.
B9. 비디오 프로세싱 방법에 있어서, 비디오의 현재 블록의 프로세싱을 위하여, 페어와이즈 머지 후보를 생성하는 단계, 상기 생성하는 단계는 상기 현재 블록을 포함하는 현재 픽처를 참조하는 한 쌍의 움직임 후보들을 기반으로 하며, 상기 페어와이즈 머지 후보를 기반으로 상기 현재 블록과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하되, 상기 한 쌍의 움직임 후보들은 제1 움직임 후보의 참조 픽처 리스트 L에 대한 제1 움직임 벡터 MV0 = (MV0x, MV0y) 및 제2 움직임 후보의 상기 참조 픽처 리스트 L에 대한 제2 움직임 벡터 MV1 = (MV1x, MV1y)를 포함하고, MV* = (MV*x, MV*y)는 상기 페어와이즈 머지 후보이며,
B10. B7 내지 B9의 어느 한 방법에 있어서, W는 2 혹은 4인, 비디오 프로세싱 방법.
B12. B1 내지 B11의 어느 한 방법에 있어서, 상기 머지 후보들의 쌍은 머지 후보 리스트로부터 기인하는, 비디오 프로세싱 방법.
B13. B1 내지 B11의 어느 한 방법에 있어서, 상기 참조 픽처 리스트 L은 참조 픽처 리스트 0(L0) 혹은 참조 픽처 리스트 1(L1)을 포함하는, 비디오 프로세싱 방법.
B14. B1 내지 B11의 어느 한 방법에 있어서, 상기 페어와이즈 머지 후보를 상기 머지 후보 리스트에 삽입하는 단계를 더 포함하는, 비디오 프로세싱 방법.
B15. B1 내지 B11의 어느 한 방법에 있어서, 상기 변환을 수행하는 단계 이후, 상기 머지 후보 리스트를 업데이트 하는 단계를 더 포함하는, 비디오 프로세싱 방법.
B16. B1 내지 B15의 어느 한 방법에 있어서, off= 0인, 비디오 프로세싱 방법.
B17. B1 내지 B15의 어느 한 방법에 있어서, s= 0이라는 결정 하에 off= 0인, 비디오 프로세싱 방법.
B21. B1 내지 B20의 어느 한 방법에 있어서, 상기 현재 비디오 블록은 코딩 유닛(coding unit)인, 비디오 프로세싱 방법.
B22. B1 내지 B21의 어느 한 방법에 있어서, 상기 변환을 수행하는 단계는 상기 현재 블록으로부터 상기 비트스트림 표현을 생성하는 단계를 포함하는, 비디오 프로세싱 방법.
B23. B1 내지 B21의 어느 한 방법에 있어서,상기 변환을 수행하는 단계는 상기 비트스트림 표현으로부터 상기 현재 블록을 생성하는 단계를 포함하는, 비디오 프로세싱 방법.
B24. B1 내지 B23의 어느 한 방법을 실행하는 프로세서를 포함하는 비디오 디코딩 장치.
B25. 비-일시적 컴퓨터 읽기가능한 매체에 저장된 컴퓨터 프로그램에 있어서, B1 내지 B23의 어느 한 방법을 실행하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램 제품.
일부 실시예에서, 다음과 같은 기술적 해결책들이 실현된다:
C1. 비디오 프로세싱 방법에 있어서, 기하 분할 모드를 사용하여 코딩된 비디오의 현재 블록에 대하여, 스케일링된 움직임 벡터 및 리스트0 움직임 벡터를 기반으로 단일 예측 움직임 후보를 생성하는 단계, 상기 단일 예측 움직임 후보에 기반하여 상기 현재 블록 및 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하고, 상기 스케일링된 움직임 벡터는 MV1' = (MV1'x, MV1'y)이고, 상기 리스트0 움직임 벡터는 MV0 = (MV0x, MV0y)이고, MV* = (MV*x, MV*y)는 상기 단일 예측 움직임 후보이며, 이고, 이며, off 및 s 는 정수이며, >>는 오른쪽 시프트 연산(right shift operation)을 의미하는, 비디오 프로세싱 방법.
C2. 비디오 프로세싱 방법에 있어서, 기하 분할 모드를 이용하여 코딩된 비디오의 현재 블록에 대하여, 스케일링된 움직임 벡터 및 리스트0 움직임 벡터를 기반으로 단일 예측 움직임 후보를 생성하는 단계, 상기 단일 예측 움직임 후보를 기반으로 상기 현재 블록과 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하되, 상기 스케일링된 움직임 벡터는 MV1' = (MV1'x, MV1'y)이고, 상기 리스트0 움직임 벡터는 MV0 = (MV0x, MV0y)이고, MV* = (MV*x, MV*y)는 상기 단일 예측 움직임 후보이며, 이고, 이고,
off 및 s는 정수이고, >>는 시프트 연산(shift operation)을 의미하는, 비디오 프로세싱 방법.
C3. 비디오 프로세싱 방법에 있어서, 기하 분할 모드를 이용하여 코딩된 비디오의 현재 블록에 대해, 스케일링된 움직임 벡터와 리스트0 움직임 벡터를 기반으로 단일 예측 움직임 후보를 생성하는 단계, 및 상기 단일 예측 움직임 후보를 기반으로 상기 현재 블록 및 상기 비디오의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하며, 상기 스케일링된 움직임 벡터는 MV1' = (MV1'x, MV1'y)이며, 상기 리스트0 움직임 벡터는 MV0 = (MV0x, MV0y)이며, MV* = (MV*x, MV*y)는 상기 단일 예측 움직임 후보이며, 이고, 이고,
off 및 s는 정수이고, >> 는 시프트 연산(shift operation)을 의미하는, 비디오 프로세싱 방법.
C4. C1 내지 C3의 어느 한 방법에 있어서, MV*는 리스트0의 참조 픽처를 사용하는, 비디오 프로세싱 방법.
C5. C1 내지 C3의 어느 한 방법에 있어서, 상기 스케일링된 움직임 벡터 및 상기 리스트0 움직임 벡터는 상기 기하 분할 모드를 이용하여 코딩된 블록들로부터 유도된 움직임 후보 리스트로부터 기인하는, 비디오 프로세싱 방법.
C6. C1 내지 C3의 어느 한 방법에 있어서, 상기 단일 예측 움직임 후보를 상기 움직임 후보 리스트에 삽입하는 단계를 더 포함하는, 비디오 프로세싱 방법.
C7. C1 내지 C3의 어느 한 방법에 있어서, 상기 변환을 수행하는 단계 이후, 상기 움직임 후보 리스트를 업데이트하는 단계를 더 포함하는, 비디오 프로세싱 방법.
C13. C1 내지 C12의 어느 한 방법에 있어서, 상기 기하 분할 모드는 삼각 예측 모드(triangular prediction mode: TPM)를 포함하는, 비디오 프로세싱 방법.
C14. C1 내지 C12의 어느 한 방법에 있어서, 상기 현재 블록은 비-정사각형(non-square) 및 비-직사각형(non-rectangular)인 적어도 하나의 파티션(partition)을 포함한 다수의 파티션들로 분할되는, 비디오 프로세싱 방법.
C15. C1 내지 C14의 어느 한 방법에 있어서, 상기 현재 비디오 블록은 코딩 유닛(coding unit)인, 비디오 프로세싱 방법.
C16. C1 내지 C15의 어느 한 방법에 있어서, 상기 변환을 수행하는 단계는 상기 현재 비디오 블록으로부터 상기 비트스트림 표현을 생성하는 단계를 포함하는, 비디오 프로세싱 방법.
C17. C1 내지 C15의 어느 한 방법에 있어서, 상기 변환을 수행하는 단계는 상기 비트스트림 표현으로부터 상기 현재 비디오 블록을 생성하는 단계를 포함하는, 비디오 프로세싱 방법.
C18. C1 내지 C17의 어느 한 방법을 실행하는 프로세서를 포함하는 비디오 디코딩 장치.
C19. 비-일시적 컴퓨터 읽기 가능한 매체에 저장된 프로그램에 있어서, C1 내지 C17의 어느 한 방법을 실행하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램 제품.
4 개시된 기술의 구현 예들
도 20은 비디오 프로세싱 장치 2000의 블록도이다. 장치 2000는 여기에 개시된 하나 혹은 이상의 방법들을 구현하는데 사용될 수 있다. 장치 2000는 스마트폰, 타블렛(tablet), 컴퓨터, IoT(Internet of Things) 수신기 등으로 구현될 수 있다. 상기 장치 2000은 하나 이상의 프로세서 2002, 하나 이상의 메모리 2004 및 비디오 프로세싱 하드웨어 2006를 포함할 수 있다. 프로세서(들) 2002는 본 개시에 설명된 하나 이상의 방법(방법 1930, 1960, 1990을 포함하나 이에 한정되는 것은 아님)을 구현할 수 있다. 메모리(들) 2004는 여기에 개시된 상기 방법들 및 기술들을 실행하기 위한 데이터 및 코드를 저장하는 데 사용될 수 있다. 비디오 프로세싱 하드웨어 2006은 하드웨어 회로에서 본 개시에 설명된 기술들을 구현하는데 사용될 수 있다.
일부 실시예로서, 상기 비디오 디코딩 방법들은 도 20을 참조하여 설명된 바와 같이 하드웨어 플랫폼 상의 장치를 이용하여 구현될 수 있다.
도 21은 여기서 개시된 다양한 기술들이 구현될 수 있는 예시적인 비디오 프로세싱 시스템 2100을 보여주는 블록도이다.다양한 구현 예들은 상기 시스템 2100의 구성요소 전부 혹은 일부를 포함할 수 있다. 시스템 2100은 비디오 컨텐츠를 수신하기 위하여 입력 2102를 포함할 수 있다. 비디오 컨텐츠는 raw 포맷 혹은 압축되지 않은 포맷(예를 들어, 8 혹은 10 비트 다중 구성요소 픽셀 값들)이거나 압축된 혹은 인코딩된 포맷으로 수신될 수 있다. 입력 2102는 네트워크 인터페이스, 주변 버스 인터페이스, 혹은 스토리지 인터페이스를 나타낼 수 있다. 네트워크 인터페이스의 예들은 이더넷(Ethernet), 수동 광 통신망(passive optical network: PON) 등과 같은 유선 인터페이스들과 와이파이(Wi-Fi) 혹은 셀룰러 인터페이스들(cellular interfaces)과 같은 무선 인터페이스들을 포함한다.
시스템 2100은 본 개시에 설명된 다양한 코딩 혹은 인코딩 방법들을 구현할 수 있는 코딩 구성요소 2104를 포함할 수 있다. 코딩 구성요소 2104는 비디오의 코딩된 표현을 생성하기 위해 입력 2102로부터 코딩 구성요소 2104의 출력으로의 비디오 평균 비트율(bitrate)을 감소시킬 수 있다. 코딩 기술들은 이에 따라 종종 비디오 압축 혹은 비디오 트랜스코딩 기술들로 불린다. 상기 코딩 구성요소 2104의 출력은 저장되거나, 구성요소 2106에 의해 표현된 연결된 통신을 통해 송신될 수 있다. 입력 2102에서 수신된 비디오의 저장된 혹은 통신된 비트스트림(혹은 코딩된) 표현은 픽셀 값들 혹은 디스플레이 인터페이스 2110에 전송된 디스플레이 가능한 비디오를 생성하기 위해 구성요소 2108에 의해 사용될 수 있다. 비트스트림 표현으로부터 유저가 볼 수 있는 비디오를 생성하는 과정은 종종 비디오 압축 해제라고 불린다. 또한, 특정 비디오 처리 작업들이 "코딩" 작업들 혹은 툴들로 지시될 때, 코딩 툴들 혹은 작업들은 인코더에서 사용되고, 코딩의 결과들을 역전시키는, 대응되는 디코딩 툴들 혹은 작업들은 디코더에 의해 수행될 것으로 이해될 것이다.
주변 버스 인터페이스 또는 디스플레이 인터페이스의 예들은 범용 직렬 버스(Universal Serial Bus: USB) 또는 고화질 멀티미디어 인터페이스(High Definition Multimedia Interface: HDMI) 또는 디스플레이 포트 등을 포함할 수 있다. 스토리지 인터페이스의 예들은 SATA (serial advanced technology attachment), PCI, IDE 인터페이스 등을 포함한다. 본 개시에 설명된 기술들은 휴대폰, 노트북(랩탑, laptop), 스마트폰, 또는 디지털 데이터 처리(프로세싱, processing) 및/또는 비디오 디스플레이를 수행할 수 있는 다른 기타 장치들과 같은 다양한 전자 장치들에서 구현될 수 있다.
상기로부터, 현재 개시된 기술의 구체적인 실시예들은 예시적인 설명의 목적으로 기재되었으며, 본 발명의 범위에서 벗어나지 않는 한 다양한 수정이 이루어질 수 있다는 점이 이해될 것이다. 따라서, 현재 개시된 기술은 첨부된 청구항들에 의하는 바를 제외하고는 한정되지 않는다.
본 특허 문서에 기재된 주제 및 기능적 작업들의 구현들은 다양한 시스템, 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있으며, 여기에는 본 명세서에서 개시된 구조들 및 구조적 등가물들, 또는 그 중 하나 이상의 조합이 포함될 수 있다. 본 명세서에 기재된 주제의 구현들은 하나 이상의 컴퓨터 프로그램 제품들로, 즉, 유형의, 비-일시적인 컴퓨터 판독 가능한 매체에 코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈로서 구현되어, 데이터 처리 장치에 의해 실행하거나, 또는 상기 장치의 작동을 제어할 수 있다. 상기 컴퓨터 판독 가능한 매체는 기계 판독 가능한 저장 디바이스, 기계 판독 가능한 저장 기판, 메모리 디바이스, 기계 판독 가능한 전파 신호를 가져오는 물질의 조성, 또는 이들 중 하나 이상의 조합일 수 있다. 용어 "데이터 처리 유닛" 또는 "데이터 처리 장치”는, 데이터를 처리하기 위한 모든 장치, 디바이스 및 기계를 포괄하며, 예를 들어, 프로그래머블 프로세서, 컴퓨터, 또는 다중 프로세서 또는 컴퓨터들을 포함한다. 상기 장치는, 하드웨어 외에도, 당해 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드를 포함할 수 있고, 코드는 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 시스템, 또는 이들 중 하나 이상의 조합을 구성한다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드로도 알려짐)은 컴파일 또는 인터프리터 언어를 포함하는 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 또는 컴퓨터 환경에서 사용하기에 적합한 그 밖의 유닛을 포함하는 임의의 형태로도 배치될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 상응해야 하는 것은 아니다. 프로그램은 다른 프로그램 또는 데이터를 보유하는 파일의 일부에 저장되거나(예를 들어, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트), 당해 프로그램 전용의 단일 파일에 저장되거나, 또는 다수의 조직화된 파일들(예를 들어, 하나 이상의 모듈, 서브프로그램, 코드의 부분을 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터에서, 또는 한 위치에 배치되거나 또는 다수의 위치에 걸쳐서 분산되고 통신 네트워크에 의해 접속된 다수의 컴퓨터에서 실행되도록 배치될 수 있다.
본 명세서에서 설명된 프로세스와 논리 흐름은 하나 이상의 프로그래머블 프로세서에 의해 수행될 수 있고, 이 프로그래머블 프로세서는 입력 데이터에 작용하여 출력을 생성함으로써 기능을 수행하는 하나 이상의 컴퓨터 프로그램들을 실행한다. 프로세서와 논리 흐름은, 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)과 같은 전용 논리 회로에 의해 수행될 수 있고, 장치 또한 전용 논리 회로로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는, 예를 들어, 범용 및 전용 마이크로프로세서 및 임의 종류의 디지털 컴퓨터의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리(ROM), 또는 랜덤 액세스 메모리(RAM), 또는 양자로부터 명령어들과 데이터를 수신한다. 컴퓨터의 필수 구성요소는 명령을 실행하는 프로세서 및 명령어와 데이터를 저장하는 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어, 자기 디스크, 광자기 디스크, 또는 광디스크를 포함하거나, 또는 이 디바이스와 데이터를 송수신하기 위하여 동작적으로(operatively) 결합될 수 있다. 하지만 컴퓨터는 이러한 디바이스를 구비할 필요는 없다. 컴퓨터 프로그램 명령어들과 데이터를 저장하기 적합한 컴퓨터 판독가능 매체에는, 예를 들어, 반도체 메모리 디바이스(예를 들어, EPROM, EEPROM, 플래시 메모리 디바이스), 자기 디스크(예를 들어, 내부 하드디스크, 착탈식 디스크), 광자기 디스크 및 CD ROM과 DVD-ROM 디스크를 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스가 포함된다. 프로세서와 메모리는 전용 논리 회로에 의해 보완되거나 또는 전용 논리 회로에 통합될 수 있다.
도면과 함께 본 명세서는 오직 예시적인 것으로 간주되어야 한다. 여기서, 단수형 표현과 '상기', '위' 와 같은 표현들은 문맥이 달리 명시하지 않는 한 복수형도 포함하는 것으로 의도되었다. 또한, 본 문서에서 사용된 "또는”은 문맥이 명시적으로 달리 지시하지 않는 한 "및/또는”을 포함하는 것으로 의도되었다.
본 특허문서가 다수의 특정한 구현 세부사항을 포함하고 있지만, 이는 임의 발명의 범위나 청구할 사항의 범위에 대한 어떠한 제한으로도 이해되어서는 안 되며, 특정한 발명들의 특정한 실시예들에 고유할 수 있는 특징의 설명으로서 이해되어야 한다. 별개의 실시예들의 맥락에서 본 특허 문서에서 설명된 소정의 특징들은 조합되어 단일 실시예로 구현될 수도 있다. 반대로, 단일 실시예의 맥락에서 설명한 다양한 특징들은 복수의 실시예에서 별개로 구현되거나 어떤 적당한 하위 조합으로도 구현 가능하다. 또한, 앞에서 특징들이 특정 조합에서 동작하는 것으로서 설명되고 그와 같이 청구되기까지 하였지만, 청구된 조합으로부터의 하나 이상의 특징은 일부 경우에 해당 조합으로부터 삭제될 수 있으며, 청구된 조합은 하위 조합이나 하위 조합의 변형으로 될 수 있다.
마찬가지로, 동작들이 도면들에서 특정한 순서로 묘사되고 있지만, 이는 그러한 동작들이 바람직한 결과를 얻기 위해, 도시한 특정 순서나 순차적인 순서로 수행되어야 한다거나, 도시된 모든 동작들이 수행되어야 한다는 것을 의미하지 않는다. 더욱이, 본 특허 문서에 기재된 실시예에 있어서 다양한 시스템 구성요소들의 분리는 모든 실시예에서 그러한 분리를 요구하는 것으로 이해되어서는 안 된다.
단지 몇 가지 구현들 및 예시들이 기술되었으며, 기타 구현, 개선 및 변형은 본 특허 문서에 기술되고 도시된 것에 기초하여 이루어질 수 있다.
Claims (17)
- 비디오 프로세싱 방법에 있어서,
비디오의 현재 블록의 프로세싱을 위해, 한 쌍의 움직임 후보들을 기반으로 페어와이즈 머지 후보(pairwise merge candidate)를 생성하는 단계; 및
상기 페어와이즈 머지 후보를 기반으로, 상기 비디오의 비트스트림 표현과 상기 현재 블록 간의 변환을 수행하는 단계; 를 포함하되,
상기 한 쌍의 움직임 후보들이 제1 움직임 후보에 대한 참조 픽처 리스트 L의 제1 움직임 벡터 MV0 = (MV0x, MV0y)와 제2 움직임 후보에 대한 참조 픽처 리스트 L의 제2 움직임 벡터 MV1 = (MV1x, MV1y)를 포함하고,
MV* = (MV*x, MV*y)는 상기 페어와이즈 머지 후보를 나타내되,
이며,
이고, off 및 s는 정수이고, >> 는 오른쪽 시프트 연산인, 비디오 프로세싱 방법.
- 비디오 프로세싱 방법에 있어서,
비디오의 현재 블록의 프로세싱을 위해, 한 쌍의 움직임 후보들을 기반으로 페어와이즈 머지 후보(pairwise merge candidate)를 생성하는 단계;
상기 페어와이즈 머지 후보를 기반으로, 상기 비디오의 비트스트림 표현과 상기 현재 블록 간의 변환을 수행하는 단계; 를 포함하되,
상기 한 쌍의 움직임 후보들이 제1 움직임 후보에 대한 참조 픽처 리스트 L의 제1 움직임 벡터 MV0 = (MV0x, MV0y)와 제2 움직임 후보에 대한 참조 픽처 리스트 L의 제2 움직임 벡터 MV1 = (MV1x, MV1y)를 포함하고,
MV* = (MV*x, MV*y)는 상기 페어와이즈 머지 후보를 나타내되,
이며,
이고, off 및 s는 정수이고, >> 는 오른쪽 시프트 연산인, 비디오 프로세싱 방법.
- 비디오 프로세싱 방법에 있어서,
비디오의 현재 블록의 프로세싱을 위해, 한 쌍의 움직임 후보들을 기반으로 페어와이즈 머지 후보(pairwise merge candidate)를 생성하는 단계;
상기 페어와이즈 머지 후보를 기반으로, 상기 비디오의 비트스트림 표현과 상기 현재 블록 간의 변환을 수행하는 단계; 를 포함하되,
상기 한 쌍의 움직임 후보들이 제1 움직임 후보에 대한 참조 픽처 리스트 L의 제1 움직임 벡터 MV0 = (MV0x, MV0y)와 제2 움직임 후보에 대한 참조 픽처 리스트 L의 제2 움직임 벡터 MV1 = (MV1x, MV1y)를 포함하고,
MV* = (MV*x, MV*y)는 상기 페어와이즈 머지 후보를 나타내되,
이며,
이고, off 및 s는 정수이고, >> 는 오른쪽 시프트 연산인, 비디오 프로세싱 방법.
- 제1 항 내지 제3항 중 어느 한 항에 있어서,
상기 머지 후보들의 쌍은 머지 후보 리스트에서 기인하는, 비디오 프로세싱 방법.
- 제1항 내지 제3항 중 어느 한 항에 있어서,
상기 참조 픽처 리스트 L은 참조 픽처 리스트 0(L0) 혹은 참조 픽처 리스트 1(L1)를 포함하는, 비디오 프로세싱 방법.
- 제1항 내지 제3항 중 어느 한 항에 있어서,
상기 머지 후보 리스트에 상기 페어와이즈 머지 후보를 추가하는 단계;를 더 포함하는, 비디오 프로세싱 방법.
- 제1항 내지 제3항 중 어느 한 항에 있어서,
상기 변환을 수행한 후, 상기 머지 후보 리스트를 업데이트하는 단계;를 더 포함하는, 비디오 프로세싱 방법.
- 제1항 내지 제12항 중 어느 한 항에 있어서, 상기 현재 비디오 블록은 코딩 유닛인, 비디오 프로세싱 방법.
- 제1항 내지 제13항에 있어서, 상기 변환을 수행하는 단계는 상기 현재 비디오 블록으로부터 상기 비트스트림 표현을 생성하는 것을 포함하는, 비디오 프로세싱 방법.
- 제1항 내지 제13항에 있어서, 상기 변환을 수행하는 단계는 상기 비트스트림 표현으로부터 상기 현재 비디오 블록을 생성하는 것을 포함하는, 비디오 프로세싱 방법.
- 제1항 내지 제15항 중 하나 이상의 방법을 구현하는 프로세서를 포함하는 비디오 디코딩 장치.
- 비-일시적 컴퓨터 읽기 가능한 매체에 저장된 컴퓨터 프로그램으로서, 제1항 내지 제15항 중 하나 이상의 방법을 도출하는 프로그램 코드를 포함하는 컴퓨터 프로그램 제품.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2018114931 | 2018-11-10 | ||
CNPCT/CN2018/114931 | 2018-11-10 | ||
PCT/CN2019/117119 WO2020094151A1 (en) | 2018-11-10 | 2019-11-11 | Rounding in pairwise average candidate calculations |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210089155A true KR20210089155A (ko) | 2021-07-15 |
Family
ID=70610974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217013353A KR20210089155A (ko) | 2018-11-10 | 2019-11-11 | 페어와이즈 평균 후보 계산에서 라운딩 |
Country Status (6)
Country | Link |
---|---|
US (3) | US20210152846A1 (ko) |
EP (1) | EP3861723A4 (ko) |
JP (1) | JP7324841B2 (ko) |
KR (1) | KR20210089155A (ko) |
CN (4) | CN112970262B (ko) |
WO (3) | WO2020094149A1 (ko) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019234609A1 (en) | 2018-06-05 | 2019-12-12 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between ibc and bio |
EP3788782A1 (en) | 2018-06-21 | 2021-03-10 | Beijing Bytedance Network Technology Co. Ltd. | Sub-block mv inheritance between color components |
TWI739120B (zh) | 2018-06-21 | 2021-09-11 | 大陸商北京字節跳動網絡技術有限公司 | 合併仿射模式與非合併仿射模式的統一拘束 |
CN110944193B (zh) | 2018-09-24 | 2023-08-11 | 北京字节跳动网络技术有限公司 | 视频编码和解码中的加权双向预测 |
KR20210089155A (ko) | 2018-11-10 | 2021-07-15 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 페어와이즈 평균 후보 계산에서 라운딩 |
SG11202104586XA (en) * | 2018-11-16 | 2021-06-29 | Sharp Kk | Systems and methods for deriving a motion vector prediction in video coding |
PL3884675T3 (pl) * | 2018-12-21 | 2024-04-22 | Beijing Dajia Internet Information Technology Co., Ltd. | Sposoby oraz urządzenie do kodowania wideo do wyprowadzania wektorów ruchu afinicznego dla komponentów chrominancji |
CN113826384B (zh) | 2019-03-12 | 2024-03-22 | 腾讯美国有限责任公司 | 对视频进行编码或解码的方法和装置 |
EP3963890A4 (en) | 2019-06-04 | 2022-11-02 | Beijing Bytedance Network Technology Co., Ltd. | BUILDING A LIST OF MOVEMENT CANDIDATES USING NEIGHBOR BLOCK INFORMATION |
CN114097228B (zh) | 2019-06-04 | 2023-12-15 | 北京字节跳动网络技术有限公司 | 具有几何分割模式编解码的运动候选列表 |
WO2020244660A1 (en) | 2019-06-06 | 2020-12-10 | Beijing Bytedance Network Technology Co., Ltd. | Motion candidate list construction for video coding |
WO2021008513A1 (en) | 2019-07-14 | 2021-01-21 | Beijing Bytedance Network Technology Co., Ltd. | Transform block size restriction in video coding |
CN114175632B (zh) | 2019-07-26 | 2024-07-05 | 北京字节跳动网络技术有限公司 | 对视频编解码模式的块尺寸相关使用 |
JP6960969B2 (ja) * | 2019-09-20 | 2021-11-05 | Kddi株式会社 | 画像復号装置、画像復号方法及びプログラム |
CN114450959B (zh) | 2019-09-28 | 2024-08-02 | 北京字节跳动网络技术有限公司 | 视频编解码中的几何分割模式 |
CN114556926B (zh) | 2019-10-10 | 2024-07-05 | 北京字节跳动网络技术有限公司 | 几何分割模式中的运动矢量处理 |
CN112788345B (zh) * | 2019-11-11 | 2023-10-24 | 腾讯美国有限责任公司 | 视频数据解码方法、装置、计算机设备和存储介质 |
US20220201315A1 (en) * | 2020-12-22 | 2022-06-23 | Qualcomm Incorporated | Multi-pass decoder-side motion vector refinement |
MX2023015556A (es) * | 2021-06-28 | 2024-01-24 | Beijing Dajia Internet Information Tech Co Ltd | Metodos y dispositivos para el modo de particion geometrica con refinamiento del vector de movimiento. |
WO2023273987A1 (en) * | 2021-06-29 | 2023-01-05 | Beijing Bytedance Network Technology Co., Ltd. | Method, apparatus, and medium for video processing |
Family Cites Families (227)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08186825A (ja) | 1994-12-28 | 1996-07-16 | Nippon Hoso Kyokai <Nhk> | 動きベクトル検出方法 |
EP1090502B1 (en) * | 1999-04-26 | 2005-11-30 | Koninklijke Philips Electronics N.V. | Sub-pixel accurate motion vector estimation and motion-compensated interpolation |
JP2005535028A (ja) | 2002-07-31 | 2005-11-17 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | セグメント化のためのシステムおよびセグメント化方法 |
CA2473897C (en) | 2002-11-25 | 2012-10-16 | Matsushita Electric Industrial Co., Ltd. | Motion compensation method, picture coding method and picture decoding method |
US8064520B2 (en) | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
CN100344163C (zh) | 2004-06-16 | 2007-10-17 | 华为技术有限公司 | 视频编解码处理方法 |
CN1777283A (zh) | 2004-12-31 | 2006-05-24 | 上海广电(集团)有限公司 | 一种基于微块的视频信号编/解码方法 |
US8954943B2 (en) | 2006-01-26 | 2015-02-10 | International Business Machines Corporation | Analyze and reduce number of data reordering operations in SIMD code |
JP4826315B2 (ja) | 2006-03-31 | 2011-11-30 | ソニー株式会社 | 画像処理装置および方法、並びにプログラム |
US8184715B1 (en) | 2007-08-09 | 2012-05-22 | Elemental Technologies, Inc. | Method for efficiently executing video encoding operations on stream processor architectures |
EP2223527A1 (en) | 2007-12-21 | 2010-09-01 | Telefonaktiebolaget LM Ericsson (publ) | Adaptive intra mode selection |
CN101605255B (zh) | 2008-06-12 | 2011-05-04 | 华为技术有限公司 | 一种视频编解码的方法及装置 |
WO2020084511A1 (en) | 2018-10-23 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Simplified entropy coding for sub-block based motion information list |
US20110002386A1 (en) | 2009-07-06 | 2011-01-06 | Mediatek Singapore Pte. Ltd. | Video encoder and method for performing intra-prediction and video data compression |
JP5234368B2 (ja) | 2009-09-30 | 2013-07-10 | ソニー株式会社 | 画像処理装置および方法 |
JP2011147049A (ja) | 2010-01-18 | 2011-07-28 | Sony Corp | 画像処理装置および方法、並びにプログラム |
CN102860006B (zh) | 2010-02-05 | 2016-11-23 | 瑞典爱立信有限公司 | 管理预测运动向量候选 |
KR101630688B1 (ko) | 2010-02-17 | 2016-06-16 | 삼성전자주식회사 | 움직임 예측 장치 및 방법과 영상 처리 장치 |
CN101895751B (zh) | 2010-07-06 | 2012-02-08 | 北京大学 | 帧内预测的方法及装置、基于帧内预测的编/解码方法及系统 |
EP2625858A4 (en) * | 2010-10-06 | 2015-01-14 | Intel Corp | SYSTEM AND METHOD FOR MOVING VECTOR REMOVAL WITH LOW COMPLEXITY |
CN102685479A (zh) * | 2011-03-11 | 2012-09-19 | 华为技术有限公司 | 视频编解码处理方法和装置 |
FI3937497T3 (fi) * | 2011-03-21 | 2023-05-15 | Lg Electronics Inc | Liikevektoriennustajavalinta |
US20120287999A1 (en) | 2011-05-11 | 2012-11-15 | Microsoft Corporation | Syntax element prediction in error correction |
US9866859B2 (en) | 2011-06-14 | 2018-01-09 | Texas Instruments Incorporated | Inter-prediction candidate index coding independent of inter-prediction candidate list construction in video coding |
GB201113527D0 (en) * | 2011-08-04 | 2011-09-21 | Imagination Tech Ltd | External vectors in a motion estimation system |
CN104883576B (zh) * | 2011-08-29 | 2017-11-14 | 苗太平洋控股有限公司 | 以amvp模式产生预测区块的方法 |
WO2013030456A1 (en) | 2011-08-30 | 2013-03-07 | Nokia Corporation | An apparatus, a method and a computer program for video coding and decoding |
WO2013047811A1 (ja) | 2011-09-29 | 2013-04-04 | シャープ株式会社 | 画像復号装置、画像復号方法および画像符号化装置 |
JP5768662B2 (ja) * | 2011-10-31 | 2015-08-26 | 富士通株式会社 | 動画像復号装置、動画像符号化装置、動画像復号方法、動画像符号化方法、動画像復号プログラム及び動画像符号化プログラム |
JP2013098933A (ja) | 2011-11-04 | 2013-05-20 | Sony Corp | 画像処理装置および方法 |
RU2718230C2 (ru) | 2011-11-08 | 2020-03-31 | Кт Корпорейшен | Способ декодирования видеосигнала |
KR102615301B1 (ko) | 2011-11-11 | 2023-12-19 | 엘지전자 주식회사 | 영상 정보 전송 방법 및 장치와 이를 이용한 복호화 방법 및 장치 |
JP5895469B2 (ja) * | 2011-11-18 | 2016-03-30 | 富士通株式会社 | 動画像符号化装置、および動画像復号装置 |
KR20130058524A (ko) | 2011-11-25 | 2013-06-04 | 오수미 | 색차 인트라 예측 블록 생성 방법 |
US9451252B2 (en) | 2012-01-14 | 2016-09-20 | Qualcomm Incorporated | Coding parameter sets and NAL unit headers for video coding |
CN104137549B9 (zh) * | 2012-01-18 | 2020-06-05 | 韩国电子通信研究院 | 对图像进行编码和解码的方法及设备 |
US9503720B2 (en) | 2012-03-16 | 2016-11-22 | Qualcomm Incorporated | Motion vector coding and bi-prediction in HEVC and its extensions |
US9325991B2 (en) * | 2012-04-11 | 2016-04-26 | Qualcomm Incorporated | Motion vector rounding |
EP2837186B1 (en) | 2012-04-12 | 2018-08-22 | HFI Innovation Inc. | Method and apparatus for block partition of chroma subsampling formats |
PL2847996T3 (pl) | 2012-05-09 | 2021-04-19 | Sun Patent Trust | Sposoby wykonywania predykcji wektora ruchu, sposoby kodowania i dekodowania oraz służące do tego urządzenia |
US20130329007A1 (en) | 2012-06-06 | 2013-12-12 | Qualcomm Incorporated | Redundancy removal for advanced motion vector prediction (amvp) in three-dimensional (3d) video coding |
RU2624578C2 (ru) | 2012-07-02 | 2017-07-04 | Самсунг Электроникс Ко., Лтд. | Способ и устройство для прогнозирования вектора движения для кодирования видео или декодирования видео |
CN115243046A (zh) | 2012-08-29 | 2022-10-25 | Vid拓展公司 | 用于可分级视频编码的运动矢量预测的方法和装置 |
US9491461B2 (en) | 2012-09-27 | 2016-11-08 | Qualcomm Incorporated | Scalable extensions to HEVC and temporal motion vector prediction |
SG11201500311XA (en) | 2012-09-28 | 2015-02-27 | Intel Corp | Inter-layer pixel sample prediction |
AU2012232992A1 (en) | 2012-09-28 | 2014-04-17 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding the transform units of a coding unit |
JP6788346B2 (ja) | 2012-10-01 | 2020-11-25 | ジーイー ビデオ コンプレッション エルエルシー | ベース層からの予測のための副ブロックの副分割の派生を使用するスケーラブルビデオ符号化 |
US9106922B2 (en) * | 2012-12-19 | 2015-08-11 | Vanguard Software Solutions, Inc. | Motion estimation engine for video encoding |
US9615089B2 (en) | 2012-12-26 | 2017-04-04 | Samsung Electronics Co., Ltd. | Method of encoding and decoding multiview video sequence based on adaptive compensation of local illumination mismatch in inter-frame prediction |
US9294777B2 (en) | 2012-12-30 | 2016-03-22 | Qualcomm Incorporated | Progressive refinement with temporal scalability support in video coding |
US9674542B2 (en) | 2013-01-02 | 2017-06-06 | Qualcomm Incorporated | Motion vector prediction for video coding |
US20140254678A1 (en) * | 2013-03-11 | 2014-09-11 | Aleksandar Beric | Motion estimation using hierarchical phase plane correlation and block matching |
US9521425B2 (en) | 2013-03-19 | 2016-12-13 | Qualcomm Incorporated | Disparity vector derivation in 3D video coding for skip and direct modes |
US9491460B2 (en) * | 2013-03-29 | 2016-11-08 | Qualcomm Incorporated | Bandwidth reduction for video coding prediction |
WO2014166116A1 (en) | 2013-04-12 | 2014-10-16 | Mediatek Inc. | Direct simplified depth coding |
WO2015007159A1 (en) | 2013-07-15 | 2015-01-22 | Mediatek Singapore Pte. Ltd. | Method of disparity derived depth coding in 3d video coding |
US9628795B2 (en) | 2013-07-17 | 2017-04-18 | Qualcomm Incorporated | Block identification using disparity vector in video coding |
WO2015006967A1 (en) | 2013-07-19 | 2015-01-22 | Mediatek Singapore Pte. Ltd. | Simplified view synthesis prediction for 3d video coding |
CN104769947B (zh) | 2013-07-26 | 2019-02-26 | 北京大学深圳研究生院 | 一种基于p帧的多假设运动补偿编码方法 |
WO2015010317A1 (zh) | 2013-07-26 | 2015-01-29 | 北京大学深圳研究生院 | 一种基于p帧的多假设运动补偿方法 |
AU2013228045A1 (en) | 2013-09-13 | 2015-04-02 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding video data |
US9667996B2 (en) | 2013-09-26 | 2017-05-30 | Qualcomm Incorporated | Sub-prediction unit (PU) based temporal motion vector prediction in HEVC and sub-PU design in 3D-HEVC |
US9762927B2 (en) | 2013-09-26 | 2017-09-12 | Qualcomm Incorporated | Sub-prediction unit (PU) based temporal motion vector prediction in HEVC and sub-PU design in 3D-HEVC |
CN103561263B (zh) | 2013-11-06 | 2016-08-24 | 北京牡丹电子集团有限责任公司数字电视技术中心 | 基于运动矢量约束和加权运动矢量的运动补偿预测方法 |
JP6441236B2 (ja) * | 2013-12-19 | 2018-12-19 | シャープ株式会社 | 画像復号装置及び画像符号化装置 |
TWI536811B (zh) | 2013-12-27 | 2016-06-01 | 財團法人工業技術研究院 | 影像處理方法與系統、解碼方法、編碼器與解碼器 |
CN105917650B (zh) | 2014-01-03 | 2019-12-24 | 微软技术许可有限责任公司 | 视频和图像编/解码的方法、计算设备及计算机可读介质 |
WO2015109598A1 (en) | 2014-01-27 | 2015-07-30 | Mediatek Singapore Pte. Ltd. | Methods for motion parameter hole filling |
KR20150109282A (ko) * | 2014-03-19 | 2015-10-01 | 주식회사 케이티 | 다시점 비디오 신호 처리 방법 및 장치 |
KR101863487B1 (ko) | 2014-05-06 | 2018-05-31 | 에이치에프아이 이노베이션 인크. | 인트라 블록 카피 모드 부호화를 위한 블록 벡터 예측 방법 |
EP4354856A3 (en) | 2014-06-19 | 2024-06-19 | Microsoft Technology Licensing, LLC | Unified intra block copy and inter prediction modes |
US10327002B2 (en) | 2014-06-19 | 2019-06-18 | Qualcomm Incorporated | Systems and methods for intra-block copy |
US20150373362A1 (en) | 2014-06-19 | 2015-12-24 | Qualcomm Incorporated | Deblocking filter design for intra block copy |
US20150373343A1 (en) | 2014-06-20 | 2015-12-24 | Qualcomm Incorporated | Representation format update in multi-layer codecs |
CN105282558B (zh) | 2014-07-18 | 2018-06-15 | 清华大学 | 帧内像素预测方法、编码方法、解码方法及其装置 |
WO2016008157A1 (en) * | 2014-07-18 | 2016-01-21 | Mediatek Singapore Pte. Ltd. | Methods for motion compensation using high order motion model |
US10412387B2 (en) | 2014-08-22 | 2019-09-10 | Qualcomm Incorporated | Unified intra-block copy and inter-prediction |
EP3180917B1 (en) | 2014-09-01 | 2022-04-20 | HFI Innovation Inc. | Method of intra picture block copy for screen content and video coding |
WO2016040116A1 (en) | 2014-09-11 | 2016-03-17 | Euclid Discoveries, Llc | Perceptual optimization for model-based video encoding |
US20170289566A1 (en) | 2014-09-26 | 2017-10-05 | Vid Scale, Inc. | Intra block copy coding with temporal block vector prediction |
US9918105B2 (en) | 2014-10-07 | 2018-03-13 | Qualcomm Incorporated | Intra BC and inter unification |
EP3203743A4 (en) | 2014-10-31 | 2018-01-10 | Samsung Electronics Co., Ltd. | Method and device for encoding/decoding motion vector |
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 |
WO2016090568A1 (en) | 2014-12-10 | 2016-06-16 | Mediatek Singapore Pte. Ltd. | Binary tree block partitioning structure |
US11477477B2 (en) | 2015-01-26 | 2022-10-18 | Qualcomm Incorporated | Sub-prediction unit based advanced temporal motion vector prediction |
WO2016123388A1 (en) | 2015-01-29 | 2016-08-04 | Vid Scale, Inc. | Palette coding modes and palette flipping |
JP2018050091A (ja) | 2015-02-02 | 2018-03-29 | シャープ株式会社 | 画像復号装置、画像符号化装置および予測ベクトル導出装置 |
US10171828B2 (en) | 2015-02-27 | 2019-01-01 | Arris Enterprises Llc | Modification of unification of intra block copy and inter signaling related syntax and semantics |
US11330284B2 (en) | 2015-03-27 | 2022-05-10 | Qualcomm Incorporated | Deriving motion information for sub-blocks in video coding |
WO2016165069A1 (en) | 2015-04-14 | 2016-10-20 | Mediatek Singapore Pte. Ltd. | Advanced temporal motion vector prediction in video coding |
KR102206504B1 (ko) | 2015-04-29 | 2021-01-22 | 에이치에프아이 이노베이션 인크. | 인트라 블록 복사 참조 리스트 구축을 위한 방법 및 장치 |
US20160337662A1 (en) | 2015-05-11 | 2016-11-17 | Qualcomm Incorporated | Storage and signaling resolutions of motion vectors |
CN109005407B (zh) | 2015-05-15 | 2023-09-01 | 华为技术有限公司 | 视频图像编码和解码的方法、编码设备和解码设备 |
EP3298785A4 (en) | 2015-06-03 | 2019-02-13 | MediaTek Inc. | METHOD AND APPARATUS FOR RESOURCE SHARING BETWEEN INTRA BLOCK COPY MODE AND INTER-PREDICTION MODE IN VIDEO CODING SYSTEMS |
US10306240B2 (en) | 2015-06-08 | 2019-05-28 | Vid Scale, Inc. | Intra block copy mode for screen content coding |
GB2539213A (en) | 2015-06-08 | 2016-12-14 | Canon Kk | Schemes for handling an AMVP flag when implementing intra block copy coding mode |
US10148977B2 (en) | 2015-06-16 | 2018-12-04 | Futurewei Technologies, Inc. | Advanced coding techniques for high efficiency video coding (HEVC) screen content coding (SCC) extensions |
AU2016299036B2 (en) | 2015-07-27 | 2019-11-21 | Hfi Innovation Inc. | Method of system for video coding using intra block copy mode |
CN107925758B (zh) | 2015-08-04 | 2022-01-25 | Lg 电子株式会社 | 视频编译系统中的帧间预测方法和设备 |
CN107949864B (zh) | 2015-08-25 | 2023-05-16 | 交互数字麦迪逊专利控股公司 | 基于亮度区域的逆色调映射 |
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 |
WO2017041271A1 (en) | 2015-09-10 | 2017-03-16 | Mediatek Singapore Pte. Ltd. | Efficient context modeling for coding a block of data |
US10375413B2 (en) | 2015-09-28 | 2019-08-06 | Qualcomm Incorporated | Bi-directional optical flow for video coding |
CN106559669B (zh) | 2015-09-29 | 2018-10-09 | 华为技术有限公司 | 预测图像编解码方法及装置 |
US10412407B2 (en) * | 2015-11-05 | 2019-09-10 | Mediatek Inc. | Method and apparatus of inter prediction using average motion vector for video coding |
CN105306944B (zh) | 2015-11-30 | 2018-07-06 | 哈尔滨工业大学 | 混合视频编码标准中色度分量预测方法 |
CN108432250A (zh) * | 2016-01-07 | 2018-08-21 | 联发科技股份有限公司 | 用于视频编解码的仿射帧间预测的方法及装置 |
CN105678808A (zh) | 2016-01-08 | 2016-06-15 | 浙江宇视科技有限公司 | 运动目标跟踪方法及装置 |
US9955186B2 (en) | 2016-01-11 | 2018-04-24 | Qualcomm Incorporated | Block size decision for video coding |
US10798403B2 (en) | 2016-01-29 | 2020-10-06 | Sharp Kabushiki Kaisha | Prediction image generation device, video decoding device, and video coding device |
WO2017133661A1 (en) | 2016-02-05 | 2017-08-10 | Mediatek Inc. | Method and apparatus of motion compensation based on bi-directional optical flow techniques for video coding |
US10368083B2 (en) * | 2016-02-15 | 2019-07-30 | Qualcomm Incorporated | Picture order count based motion vector pruning |
US10200715B2 (en) | 2016-02-17 | 2019-02-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and devices for encoding and decoding video pictures |
US10390038B2 (en) | 2016-02-17 | 2019-08-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and devices for encoding and decoding video pictures using a denoised reference picture |
WO2017143467A1 (en) | 2016-02-22 | 2017-08-31 | Mediatek Singapore Pte. Ltd. | Localized luma mode prediction inheritance for chroma coding |
WO2017156669A1 (en) * | 2016-03-14 | 2017-09-21 | Mediatek Singapore Pte. Ltd. | Methods for motion vector storage in video coding |
WO2017157281A1 (en) * | 2016-03-16 | 2017-09-21 | Mediatek Inc. | Method and apparatus of pattern-based motion vector derivation for video coding |
US11223852B2 (en) | 2016-03-21 | 2022-01-11 | Qualcomm Incorporated | Coding video data using a two-level multi-type-tree framework |
US10455228B2 (en) | 2016-03-21 | 2019-10-22 | Qualcomm Incorporated | Determining prediction parameters for non-square blocks in video coding |
US10939105B2 (en) | 2016-03-25 | 2021-03-02 | Panasonic Intellectual Property Management Co., Ltd. | Methods and apparatuses for encoding and decoding video using signal dependent adaptive quantization |
KR102584349B1 (ko) | 2016-03-28 | 2023-10-04 | 로즈데일 다이나믹스 엘엘씨 | 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 |
US20200169726A1 (en) | 2016-04-08 | 2020-05-28 | Electronics And Telecommunications Research Institute | Method and device for inducing motion prediction information |
US10462459B2 (en) | 2016-04-14 | 2019-10-29 | Mediatek Inc. | Non-local adaptive loop filter |
US20200351505A1 (en) | 2016-04-28 | 2020-11-05 | Lg Electronics Inc. | Inter prediction mode-based image processing method and apparatus therefor |
WO2017192898A1 (en) | 2016-05-05 | 2017-11-09 | Vid Scale, Inc. | Control-point based intra direction representation for intra coding |
WO2017194756A1 (en) * | 2016-05-12 | 2017-11-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and arrangements for coding and decoding motion vectors |
US20190191171A1 (en) | 2016-05-13 | 2019-06-20 | Sharp Kabushiki Kaisha | Prediction image generation device, video decoding device, and video coding device |
JP2019519148A (ja) | 2016-05-13 | 2019-07-04 | ヴィド スケール インコーポレイテッド | ビデオ符号化のための一般化された多重仮説予測(Generalized Multi−Hypothesis Prediction)のためのシステムおよび方法 |
US10560718B2 (en) * | 2016-05-13 | 2020-02-11 | Qualcomm Incorporated | Merge candidates for motion vector prediction for video coding |
US10560712B2 (en) | 2016-05-16 | 2020-02-11 | Qualcomm Incorporated | Affine motion prediction for video coding |
US9948930B2 (en) | 2016-05-17 | 2018-04-17 | Arris Enterprises Llc | Template matching for JVET intra prediction |
US20170339405A1 (en) | 2016-05-20 | 2017-11-23 | Arris Enterprises Llc | System and method for intra coding |
RU2710667C1 (ru) | 2016-05-28 | 2019-12-30 | МедиаТек Инк. | Способ и устройство привязки к текущему изображению для кодирования видео |
EP4336850A3 (en) | 2016-07-08 | 2024-04-17 | InterDigital Madison Patent Holdings, SAS | Systems and methods for region-of-interest tone remapping |
US10368107B2 (en) | 2016-08-15 | 2019-07-30 | Qualcomm Incorporated | Intra video coding using a decoupled tree structure |
US10326986B2 (en) | 2016-08-15 | 2019-06-18 | Qualcomm Incorporated | Intra video coding using a decoupled tree structure |
KR102191846B1 (ko) | 2016-08-15 | 2020-12-17 | 노키아 테크놀로지스 오와이 | 비디오 인코딩 및 디코딩 |
JPWO2018047668A1 (ja) | 2016-09-12 | 2019-06-24 | ソニー株式会社 | 画像処理装置および画像処理方法 |
WO2018049594A1 (en) | 2016-09-14 | 2018-03-22 | Mediatek Inc. | Methods of encoder decision for quad-tree plus binary tree structure |
CN114501006A (zh) | 2016-09-20 | 2022-05-13 | 株式会社Kt | 视频解码方法、视频编码方法和比特流解码装置 |
US10778999B2 (en) | 2016-09-30 | 2020-09-15 | Qualcomm Incorporated | Frame rate up-conversion coding mode with affine motion model |
CN109845255A (zh) | 2016-10-03 | 2019-06-04 | 夏普株式会社 | 用于将解块滤波器应用于重构视频数据的系统和方法 |
EP3301919A1 (en) * | 2016-10-03 | 2018-04-04 | Thomson Licensing | Method and apparatus for encoding and decoding motion information |
US10448010B2 (en) | 2016-10-05 | 2019-10-15 | Qualcomm Incorporated | Motion vector prediction for affine motion models in video coding |
JP2019535202A (ja) * | 2016-10-06 | 2019-12-05 | エルジー エレクトロニクス インコーポレイティド | インター予測モードベースの画像処理方法及びそのための装置 |
US20190273943A1 (en) | 2016-10-10 | 2019-09-05 | Sharp Kabushiki Kaisha | Systems and methods for performing motion compensation for coding of video data |
US10880546B2 (en) | 2016-10-11 | 2020-12-29 | Lg Electronics Inc. | Method and apparatus for deriving intra prediction mode for chroma component |
WO2018070632A1 (ko) | 2016-10-11 | 2018-04-19 | 엘지전자 주식회사 | 영상 코딩 시스템에서 영상 디코딩 방법 및 장치 |
US20180109810A1 (en) | 2016-10-17 | 2018-04-19 | Mediatek Inc. | Method and Apparatus for Reference Picture Generation and Management in 3D Video Compression |
CN116886929A (zh) | 2016-11-28 | 2023-10-13 | 韩国电子通信研究院 | 对图像编码/解码的方法和设备及存储比特流的记录介质 |
CN117528105A (zh) * | 2016-11-28 | 2024-02-06 | 英迪股份有限公司 | 图像编码方法、图像解码方法及用于传送比特流的方法 |
US20200021837A1 (en) | 2016-12-16 | 2020-01-16 | Sharp Kabushiki Kaisha | Video decoding apparatus and video coding apparatus |
US10750203B2 (en) | 2016-12-22 | 2020-08-18 | Mediatek Inc. | Method and apparatus of adaptive bi-prediction for video coding |
EP3560202A4 (en) | 2016-12-27 | 2020-07-29 | MediaTek Inc. | METHOD AND DEVICE FOR BILATERAL TEMPLATE MV REFINING FOR VIDEO CODING |
US10681370B2 (en) | 2016-12-29 | 2020-06-09 | Qualcomm Incorporated | Motion vector generation for affine motion model for video coding |
WO2018128379A1 (ko) | 2017-01-03 | 2018-07-12 | 엘지전자(주) | 어파인 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치 |
WO2018128380A1 (ko) | 2017-01-03 | 2018-07-12 | 엘지전자(주) | 어파인 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치 |
US10931969B2 (en) | 2017-01-04 | 2021-02-23 | Qualcomm Incorporated | Motion vector reconstructions for bi-directional optical flow (BIO) |
US20180199057A1 (en) * | 2017-01-12 | 2018-07-12 | Mediatek Inc. | Method and Apparatus of Candidate Skipping for Predictor Refinement in Video Coding |
US10701366B2 (en) | 2017-02-21 | 2020-06-30 | Qualcomm Incorporated | Deriving motion vector information at a video decoder |
US10523964B2 (en) | 2017-03-13 | 2019-12-31 | Qualcomm Incorporated | Inter prediction refinement based on bi-directional optical flow (BIO) |
US10701390B2 (en) | 2017-03-14 | 2020-06-30 | Qualcomm Incorporated | Affine motion information derivation |
KR20180107761A (ko) | 2017-03-22 | 2018-10-02 | 한국전자통신연구원 | 참조 블록을 사용하는 예측 방법 및 장치 |
US10701391B2 (en) * | 2017-03-23 | 2020-06-30 | Qualcomm Incorporated | Motion vector difference (MVD) prediction |
US10440396B2 (en) | 2017-03-28 | 2019-10-08 | Qualcomm Incorporated | Filter information sharing among color components |
US10542264B2 (en) | 2017-04-04 | 2020-01-21 | Arris Enterprises Llc | Memory reduction implementation for weighted angular prediction |
US10873760B2 (en) * | 2017-04-07 | 2020-12-22 | Futurewei Technologies, Inc. | Motion vector (MV) constraints and transformation constraints in video coding |
US20180310017A1 (en) * | 2017-04-21 | 2018-10-25 | Mediatek Inc. | Sub-prediction unit temporal motion vector prediction (sub-pu tmvp) for video coding |
US10805630B2 (en) | 2017-04-28 | 2020-10-13 | Qualcomm Incorporated | Gradient based matching for motion search and derivation |
US20180332298A1 (en) | 2017-05-10 | 2018-11-15 | Futurewei Technologies, Inc. | Bidirectional Prediction In Video Compression |
CN116866587A (zh) | 2017-05-17 | 2023-10-10 | 株式会社Kt | 对视频解码和编码的方法以及存储压缩视频数据的装置 |
US10904565B2 (en) | 2017-06-23 | 2021-01-26 | Qualcomm Incorporated | Memory-bandwidth-efficient design for bi-directional optical flow (BIO) |
CN118200520A (zh) | 2017-06-26 | 2024-06-14 | 交互数字Vc控股公司 | 用于视频编码和解码的方法及设备 |
US10477237B2 (en) | 2017-06-28 | 2019-11-12 | Futurewei Technologies, Inc. | Decoder side motion vector refinement in video coding |
WO2019004283A1 (ja) * | 2017-06-28 | 2019-01-03 | シャープ株式会社 | 動画像符号化装置及び動画像復号装置 |
US11172203B2 (en) | 2017-08-08 | 2021-11-09 | Mediatek Inc. | Intra merge prediction |
US10880573B2 (en) | 2017-08-15 | 2020-12-29 | Google Llc | Dynamic motion vector referencing for video coding |
WO2019050115A1 (ko) * | 2017-09-05 | 2019-03-14 | 엘지전자(주) | 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 |
JP2021005741A (ja) | 2017-09-14 | 2021-01-14 | シャープ株式会社 | 画像符号化装置及び画像復号装置 |
US10785494B2 (en) | 2017-10-11 | 2020-09-22 | Qualcomm Incorporated | Low-complexity design for FRUC |
CN109963155B (zh) | 2017-12-23 | 2023-06-06 | 华为技术有限公司 | 图像块的运动信息的预测方法、装置及编解码器 |
EP3741115A1 (en) | 2018-01-16 | 2020-11-25 | Vid Scale, Inc. | Motion compensated bi-prediction based on local illumination compensation |
US10757417B2 (en) | 2018-01-20 | 2020-08-25 | Qualcomm Incorporated | Affine motion compensation in video coding |
US10687071B2 (en) | 2018-02-05 | 2020-06-16 | Tencent America LLC | Method and apparatus for video coding |
US11012715B2 (en) | 2018-02-08 | 2021-05-18 | Qualcomm Incorporated | Intra block copy for video coding |
KR102424189B1 (ko) | 2018-02-14 | 2022-07-21 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 적응형 보간 필터 |
US20190306502A1 (en) | 2018-04-02 | 2019-10-03 | Qualcomm Incorporated | System and method for improved adaptive loop filtering |
US10708592B2 (en) | 2018-04-02 | 2020-07-07 | Qualcomm Incorporated | Deblocking filter for video coding and processing |
US20190320181A1 (en) | 2018-04-17 | 2019-10-17 | Qualcomm Incorporated | Generation of motion vector predictors from multiple neighboring blocks in video coding |
US10779002B2 (en) | 2018-04-17 | 2020-09-15 | Qualcomm Incorporated | Limitation of the MVP derivation based on decoder-side motion vector derivation |
US20190364295A1 (en) | 2018-05-25 | 2019-11-28 | Tencent America LLC | Method and apparatus for video coding |
US10986340B2 (en) | 2018-06-01 | 2021-04-20 | Qualcomm Incorporated | Coding adaptive multiple transform information for video coding |
US11109025B2 (en) | 2018-06-04 | 2021-08-31 | Tencent America LLC | Method and apparatus for sub-block based temporal motion vector prediction |
WO2019234609A1 (en) | 2018-06-05 | 2019-12-12 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between ibc and bio |
KR20230161539A (ko) | 2018-06-07 | 2023-11-27 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 부분 코스트 계산 |
US11303923B2 (en) | 2018-06-15 | 2022-04-12 | Intel Corporation | Affine motion compensation for current picture referencing |
TW202025776A (zh) | 2018-06-19 | 2020-07-01 | 北京字節跳動網絡技術有限公司 | 不具運動向量預測截斷的選擇運動向量差精確度 |
EP3788782A1 (en) | 2018-06-21 | 2021-03-10 | Beijing Bytedance Network Technology Co. Ltd. | Sub-block mv inheritance between color components |
TWI739120B (zh) | 2018-06-21 | 2021-09-11 | 大陸商北京字節跳動網絡技術有限公司 | 合併仿射模式與非合併仿射模式的統一拘束 |
WO2020003267A1 (en) | 2018-06-29 | 2020-01-02 | Beijing Bytedance Network Technology Co., Ltd. | Restriction of merge candidates derivation |
TWI719519B (zh) | 2018-07-02 | 2021-02-21 | 大陸商北京字節跳動網絡技術有限公司 | 對於dmvr的塊尺寸限制 |
US11606575B2 (en) | 2018-07-10 | 2023-03-14 | Qualcomm Incorporated | Multiple history based non-adjacent MVPs for wavefront processing of video coding |
US10491902B1 (en) | 2018-07-16 | 2019-11-26 | Tencent America LLC | Method and apparatus for history-based motion vector prediction |
US10440378B1 (en) | 2018-07-17 | 2019-10-08 | Tencent America LLC | Method and apparatus for history-based motion vector prediction with parallel processing |
US10362330B1 (en) | 2018-07-30 | 2019-07-23 | Tencent America LLC | Combining history-based motion vector prediction and non-adjacent merge prediction |
WO2020031061A2 (en) | 2018-08-04 | 2020-02-13 | Beijing Bytedance Network Technology Co., Ltd. | Mvd precision for affine |
US11336914B2 (en) | 2018-08-16 | 2022-05-17 | Qualcomm Incorporated | History-based candidate list with classification |
WO2020055169A1 (ko) * | 2018-09-11 | 2020-03-19 | 김기백 | 인터 예측을 이용한 영상 부호화/복호화 방법 및 장치 |
KR102635047B1 (ko) | 2018-09-19 | 2024-02-07 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 적응적 움직임 벡터 해상도를 가지는 어파인 모드에 대한 구문 재사용 |
US11212550B2 (en) | 2018-09-21 | 2021-12-28 | Qualcomm Incorporated | History-based motion vector prediction for affine mode |
EP3836545B1 (en) | 2018-09-22 | 2023-11-15 | Lg Electronics Inc. | Method for processing video signals using inter prediction |
KR20230161543A (ko) | 2018-09-23 | 2023-11-27 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 적응적 움직임 벡터 해상도를 갖는 움직임 벡터 수정 |
CN110944193B (zh) | 2018-09-24 | 2023-08-11 | 北京字节跳动网络技术有限公司 | 视频编码和解码中的加权双向预测 |
US11051034B2 (en) | 2018-10-08 | 2021-06-29 | Qualcomm Incorporated | History-based motion vector predictor |
US11284066B2 (en) | 2018-10-10 | 2022-03-22 | Tencent America LLC | Method and apparatus for intra block copy in intra-inter blending mode and triangle prediction unit mode |
CN117880513A (zh) | 2018-10-22 | 2024-04-12 | 北京字节跳动网络技术有限公司 | 基于编解码信息的解码器侧运动矢量推导的限制 |
US11032541B2 (en) * | 2018-10-22 | 2021-06-08 | Tencent America LLC | Method and apparatus for video coding |
WO2020084460A1 (en) | 2018-10-22 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Decoder side motion vector derivation in the presence of multi-hypothesis prediction |
CN111147847B (zh) | 2018-11-02 | 2024-05-10 | 北京字节跳动网络技术有限公司 | 几何分割模式中基于历史的运动矢量预测候选的使用 |
SG11202104480RA (en) | 2018-11-05 | 2021-05-28 | Beijing Bytedance Network Technology Co Ltd | Interpolation for inter prediction with refinement |
CN113016187B (zh) * | 2018-11-07 | 2023-06-06 | 寰发股份有限公司 | 利用当前画面参照编码方式的视频区块编码或解码方法和装置 |
KR20210089155A (ko) | 2018-11-10 | 2021-07-15 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 페어와이즈 평균 후보 계산에서 라운딩 |
WO2020103935A1 (en) | 2018-11-22 | 2020-05-28 | Beijing Bytedance Network Technology Co., Ltd. | Blending method for inter prediction with geometry partition |
US11032574B2 (en) | 2018-12-31 | 2021-06-08 | Tencent America LLC | Method and apparatus for video coding |
US11115653B2 (en) | 2019-02-22 | 2021-09-07 | Mediatek Inc. | Intra block copy merge list simplification |
EP4243417A3 (en) | 2019-03-11 | 2023-11-15 | Alibaba Group Holding Limited | Method, device, and system for determining prediction weight for merge mode |
CN113826384B (zh) | 2019-03-12 | 2024-03-22 | 腾讯美国有限责任公司 | 对视频进行编码或解码的方法和装置 |
-
2019
- 2019-11-11 KR KR1020217013353A patent/KR20210089155A/ko not_active Application Discontinuation
- 2019-11-11 CN CN201980073946.1A patent/CN112970262B/zh active Active
- 2019-11-11 WO PCT/CN2019/117116 patent/WO2020094149A1/en active Application Filing
- 2019-11-11 CN CN202310974960.7A patent/CN116886926A/zh active Pending
- 2019-11-11 CN CN201980073942.3A patent/CN112997480B/zh active Active
- 2019-11-11 JP JP2021524354A patent/JP7324841B2/ja active Active
- 2019-11-11 WO PCT/CN2019/117118 patent/WO2020094150A1/en active Application Filing
- 2019-11-11 CN CN201980073935.3A patent/CN112997495B/zh active Active
- 2019-11-11 EP EP19882864.2A patent/EP3861723A4/en active Pending
- 2019-11-11 WO PCT/CN2019/117119 patent/WO2020094151A1/en unknown
-
2021
- 2021-01-28 US US17/161,391 patent/US20210152846A1/en not_active Abandoned
- 2021-11-12 US US17/525,745 patent/US11792421B2/en active Active
-
2023
- 2023-10-11 US US18/484,912 patent/US20240040144A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20210152846A1 (en) | 2021-05-20 |
US11792421B2 (en) | 2023-10-17 |
US20220070489A1 (en) | 2022-03-03 |
CN112997480A (zh) | 2021-06-18 |
CN112970262B (zh) | 2024-02-20 |
JP7324841B2 (ja) | 2023-08-10 |
CN116886926A (zh) | 2023-10-13 |
CN112997495B (zh) | 2024-02-20 |
WO2020094149A1 (en) | 2020-05-14 |
CN112997495A (zh) | 2021-06-18 |
US20240040144A1 (en) | 2024-02-01 |
CN112997480B (zh) | 2023-08-22 |
EP3861723A1 (en) | 2021-08-11 |
WO2020094150A1 (en) | 2020-05-14 |
EP3861723A4 (en) | 2022-04-20 |
WO2020094151A1 (en) | 2020-05-14 |
CN112970262A (zh) | 2021-06-15 |
JP2022506767A (ja) | 2022-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112913247B (zh) | 使用局部照明补偿的视频处理 | |
JP7324841B2 (ja) | ビデオ・データ処理方法、装置、記憶媒体及び記憶方法 | |
CN112868239B (zh) | 并置的局部照明补偿和帧内块复制编解码 | |
US11470341B2 (en) | Interaction between different DMVD models | |
KR102613889B1 (ko) | 적응적 움직임 벡터 해상도를 갖는 움직임 벡터 수정 | |
US20210227211A1 (en) | Temporal gradient calculations in bio | |
US20210344909A1 (en) | Motion candidate lists that use local illumination compensation | |
KR20210094530A (ko) | 화면 내 블록 복사 모드 및 화면 간 예측 도구들 간의 상호작용 | |
KR20210059708A (ko) | 적응적 움직임 벡터 해상도를 가지는 어파인 모드에 대한 구문 재사용 | |
JP2023145563A (ja) | 異なる動きベクトル微調整における勾配計算 | |
CN113302918A (zh) | 视频编解码中的加权预测 | |
KR20210121021A (ko) | 어파인 모드 적응적 움직임 벡터 해상도 코딩 문맥 | |
CN110740321B (zh) | 基于更新的运动矢量的运动预测 | |
WO2020070729A1 (en) | Size restriction based on motion information | |
WO2020049512A1 (en) | Two-step inter prediction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal |