KR20220063248A - 병합 후보 목록 구성 방법 - Google Patents

병합 후보 목록 구성 방법 Download PDF

Info

Publication number
KR20220063248A
KR20220063248A KR1020227012760A KR20227012760A KR20220063248A KR 20220063248 A KR20220063248 A KR 20220063248A KR 1020227012760 A KR1020227012760 A KR 1020227012760A KR 20227012760 A KR20227012760 A KR 20227012760A KR 20220063248 A KR20220063248 A KR 20220063248A
Authority
KR
South Korea
Prior art keywords
candidate list
merge
motion vector
neighboring block
merge candidate
Prior art date
Application number
KR1020227012760A
Other languages
English (en)
Inventor
자오 왕
얀 예
지안콩 루오
Original Assignee
알리바바 그룹 홀딩 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 알리바바 그룹 홀딩 리미티드 filed Critical 알리바바 그룹 홀딩 리미티드
Publication of KR20220063248A publication Critical patent/KR20220063248A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/423Methods 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 characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Landscapes

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

Abstract

본 개시는 비디오 처리에 사용하는 병합 후보 목록을 구성하는 시스템 및 방법을 제공한다. 하나의 예시적인 방법은: 부호화 블록의 병합 후보 목록에 공간적 병합 후보 세트를 삽입하는 것을 포함하며, 공간적 병합 후보 세트는 상측 이웃 블록, 좌측 이웃 블록, 상측 이웃 블록, 좌측 이웃 블록 및 상부-좌측 이웃 블록의 순서에 따라 삽입된다. 방법은 공통 위치된 부호화 단위로부터의 시간적 병합 후보, 선입선출(FIFO) 테이블로부터의 이력-기반 움직임 벡터 예측자(HMVP), 쌍별 평균 후보 또는 영 움직임 벡터 중 적어도 하나를 병합 후보 목록에 추가하는 것을 더 포함할 수 있다.

Description

병합 후보 목록 구성 방법
관련된 출원에 대한 상호 참조
본 개시는 2019년 9월 19일에 출원된 미국 가특허 출원 제62/902,790호의 우선권을 주장하며, 이는 본원에서 그 전체로서 참조로 포함된다.
비디오는 시각적 정보를 캡처하는 정적 영상(또는 "프레임") 세트이다. 저장 메모리 및 전송 대역폭을 줄이기 위해, 저장 또는 전송 전에 비디오를 압축하고 디스플레이 전에 압축해제할 수 있다. 압축 프로세스는 대개 인코딩이라고 하고 압축해제 프로세스는 대개 디코딩이라고 한다. 표준화된 비디오 부호화(coding) 기술을 사용하는 다양한 비디오 부호화 형식이 있으며, 가장 일반적으로 예측, 변환, 양자화, 엔트로피 부호화 및 인-루프 필터링(in-loop filtering)에 기초한다. 고효율 비디오 부호화(High Efficiency Video Coding; HEVC/H.265) 표준, 다용도 비디오 부호화(Versatile Video Coding; VVC/H.266) 표준 AVS 표준과 같은 특정 비디오 부호화 형식을 지정하는 비디오 부호화 표준이 표준화 기관들에서 개발되었다. 점점 더 많은 고급 비디오 부호화 기술이 비디오 표준에 채택됨에 따라, 새로운 비디오 부호화 표준의 부호화 효율성은 점점 더 높아진다.
본 개시의 실시예는 병합 후보 목록을 구성하는 방법을 제공한다. 일부 실시예에 따르면, 하나의 예시적인 방법은: 부호화 블록의 병합 후보 목록에 공간적 병합 후보 세트를 삽입하는 것을 포함하며, 공간적 병합 후보 세트는 상측 이웃 블록, 좌측 이웃 블록, 상측 이웃 블록, 좌측 이웃 블록 및 상부-좌측 이웃 블록의 순서에 따라 삽입된다.
일부 실시예에 따르면, 하나의 예시적인 방법은: 미리 설정된 수 제한에 기초하여, 부호화 블록의 병합 후보 목록에 공간적 병합 후보 세트를 삽입하는 것을 포함한다. 수 제한이 2이면, 공간적 병합 후보 세트는 상측 이웃 블록, 좌측 이웃 블록의 순서에 기초하여 병합 후보 목록에 삽입된다. 수 제한이 3이면, 공간적 병합 후보 세트는 상측 이웃 블록, 좌측 이웃 블록, 상측 이웃 블록의 순서에 기초하여 병합 후보 목록에 삽입된다.
일부 실시예에 따르면, 하나의 예시적인 방법은 부호화 블록의 병합 후보 목록에 공간적 병합 후보 세트를 삽입하는 것을 포함하며, 여기에서: 부호화 블록에 제 1 부호화 모드가 적용될 때, 공간적 병합 후보 세트는 제 1 구성 순서에 따라 삽입되고; 부호화 블록에 제 2 부호화 모드가 적용될 때, 공간적 병합 후보 세트는 제 2 구성 순서에 따라 삽입되며, 제 1 구성 순서는 제 2 구성 순서와 상이하다.
일부 실시예에 따르면, 하나의 예시적인 방법은 부호화 블록의 병합 후보 목록에 공간적 병합 후보 세트를 삽입하는 것을 포함하며, 여기에서: 부호화 블록이 저-지연(low-delay) 영상의 일부일 때, 공간적 병합 후보 세트는 제 1 구성 순서에 따라 삽입되고; 부호화 블록이 비-저-지연(non-low-delay) 영상의 일부일 때, 공간적 병합 후보 세트는 제 2 구성 순서에 따라 삽입되며, 제 1 구성 순서는 제 2 구성 순서와 상이하다.
본 개시의 실시예 및 다양한 양태들이 하기 상세한 설명 및 첨부 도면에 예시되어 있다. 도면에 보여지는 다양한 특징은 축척에 맞게 도시된 것은 아니다.
도 1은 이 개시의 일부 실시예에 따른, 예시적인 비디오 시퀀스의 구조를 도시한다.
도 2a는 개시의 실시예에 부합하는, 하이브리드 비디오 부호화 시스템의 예시적인 인코딩 프로세스의 개략도를 도시한다.
도 2b는 개시의 실시예에 부합하는, 하이브리드 비디오 부호화 시스템의 다른 예시적인 인코딩 프로세스의 개략도를 도시한다.
도 3a는 개시의 실시예에 부합하는, 하이브리드 비디오 부호화 시스템의 예시적인 디코딩 프로세스의 개략도를 도시한다.
도 3b는 개시의 실시예에 부합하는, 하이브리드 비디오 부호화 시스템의 다른 예시적인 디코딩 프로세스의 개략도를 도시한다.
도 4a는 개시의 실시예에 부합하는, 비디오를 인코딩 또는 디코딩하는 예시적인 장치의 블록도를 도시한다.
도 4b는 개시의 실시예에 부합하는, 공간적 병합 후보의 예시적인 위치를 도시한다.
도 4c는 개시의 실시예에 부합하는, 시간적 병합 후보의 예시적인 위치를 도시한다.
도 5는 개시의 실시예에 부합하는, 시간적 병합 후보의 예시적인 크기 조정을 도시한다.
도 6은 개시의 실시예에 부합하는, 움직임 벡터 차이를 이용한 병합 모드(merge mode with motion vector difference; MMVD)의 거리 색인과 미리-정의된 오프셋의 예시적인 관계를 도시한다.
도 7은 개시의 실시예에 부합하는, 공간적 병합 후보의 예시적인 위치를 도시한다.
도 8은 개시의 실시예에 부합하는, 임의 접근(random access; RA) 구성 하에서 VTM-6와 비교한 예시적인 실험 결과를 도시한다.
도 9는 개시의 실시예에 부합하는, 저-지연(low-delay; LD) 구성 하에서 VTM-6와 비교한 예시적인 실험 결과를 도시한다.
도 10은 개시의 실시예에 부합하는, RA 구성 하에서 VTM-6와 비교한 예시적인 실험 결과를 도시한다.
도 11은 개시의 실시예에 부합하는, LD 구성 하에서 VTM-6와 비교한 예시적인 실험 결과를 도시한다.
도 12는 개시의 실시예에 부합하는, 슬라이스 헤더의 예시적인 신택스 구조를 도시한다.
도 13은 개시의 실시예에 부합하는, 시퀀스 매개변수 세트(sequence parameter set; SPS)의 예시적인 신택스 구조를 도시한다.
도 14는 개시의 실시예에 부합하는, 영상 매개변수 세트(picture parameter set; PPS)의 예시적인 신택스 구조를 도시한다.
도 15는 개시의 실시예에 부합하는, RA 구성 하에서 VTM-6와 비교한 예시적인 실험 결과를 도시한다.
도 16은 개시의 실시예에 부합하는, LD 구성 하에서 VTM-6와 비교한 예시적인 실험 결과를 도시한다.
도 17은 개시의 실시예에 부합하는, RA 구성 하에서 VTM-6와 비교한 예시적인 실험 결과를 도시한다.
도 18은 개시의 실시예에 부합하는, LD 구성 하에서 VTM-6와 비교한 예시적인 실험 결과를 도시한다.
도 19는 개시의 실시예에 부합하는, 예시적인 비디오 처리 방법의 흐름도를 도시한다.
이제 예시적인 실시예를 상세히 참조할 것이며, 그 예시가 첨부 도면에 도시되어 있다. 하기 설명은 첨부 도면을 참조하며 달리 나타나지 않는 한 상이한 도면에서 동일한 번호는 동일하거나 유사한 요소를 나타낸다. 예시적인 실시예의 하기 설명에서 명시된 구현예는 본 개시와 부합하는 모든 구현예를 나타내는 것은 아니다. 대신, 이들은 단지 첨부된 청구범위에 인용된 본 개시와 관련된 양태에 부합하는 장치 및 방법의 예시일 뿐이다. 본 개시의 특정 양태은 아래에서 더 상세히 설명된다. 참조로 포함된 용어 및/또는 정의와 상충하는 경우, 본원에 제공된 용어 및 정의가 우선 적용된다.
상술한 바와 같이, 비디오는 시각적 정보를 저장하기 위해 시간적 순서로 배열된 프레임이다. 비디오 캡처 디바이스(예를 들어, 카메라)가 이러한 영상을 시간적 순서로 캡처하고 저장하기 위해 사용될 수 있으며, 비디오 재생 디바이스(예를 들어, 텔레비전, 컴퓨터, 스마트폰, 태블릿 컴퓨터, 비디오 플레이어 또는 디스플레이 기능이 있는 임의의 최종-사용자 단말기)가 이러한 영상을 시간적 순서로 디스플레이하기 위해 사용될 수 있다. 또한, 일부 애플리케이션에서, 비디오 캡처 디바이스는 감시, 회의 또는 라이브 방송과 같은, 캡처된 비디오를 실시간으로 비디오 재생 디바이스(예를 들어, 모니터가 있는 컴퓨터)로 전송할 수 있다.
이러한 애플리케이션에 필요한 저장 공간 및 전송 대역폭을 줄이기 위해, 비디오는 저장 및 전송 전에 압축되고 디스플레이 전에 압축해제될 수 있다. 압축 및 압축해제는 프로세서(예를 들어, 일반 컴퓨터의 프로세서) 또는 특수 하드웨어에 의해 실행되는 소프트웨어에 의해 구현될 수 있다. 압축을 위한 모듈을 일반적으로 "인코더"라고 하고, 압축해제를 위한 모듈을 일반적으로 "디코더"라고 한다. 인코더와 디코더를 통틀어 "코덱"이라고 할 수 있다. 인코더 및 디코더는 다양한 적절한 하드웨어, 소프트웨어 또는 이들의 조합 중 임의의 것으로 구현될 수 있다. 예를 들어, 인코더 및 디코더의 하드웨어 구현은 하나 이상의 마이크로프로세서, 디지털 신호 프로세서(DSP), 주문형 집적 회로(ASIC), 필드-프로그램 가능 게이트 어레이(FPGA), 이산 로직, 또는 이들의 임의의 조합과 같은 회로를 포함할 수 있다. 인코더 및 디코더의 소프트웨어 구현은 프로그램 코드, 컴퓨터-실행 가능 명령어들, 펌웨어, 또는 컴퓨터-판독가능 매체에 고정된 임의의 적절한 컴퓨터 구현 알고리즘 또는 프로세스를 포함할 수 있다. 일부 애플리케이션에서, 코덱은 제 1 부호화 표준으로부터 비디오를 압축해제하고 제 2 부호화 표준을 사용하여 압축해제된 비디오를 재-압축할 수 있으며, 이 경우 코덱은 "트랜스코더"로 지칭될 수 있다.
비디오 인코딩 프로세스는 영상을 재구성하는 데 사용될 수 있는 유용한 정보를 식별 및 유지할 수 있으며 재구성에 대하여 중요하지 않은 정보를 무시할 수 있다. 무시된, 중요하지 않은 정보를 완전히 재구성할 수 없으면, 이러한 인코딩 프로세스를 "손실"이라고 지칭될 수 있다. 그렇지 않으면, "무손실"이라고 지칭될 수 있다. 대부분의 인코딩 프로세스는 손실이므로, 이는 필요한 저장 공간과 전송 대역폭을 줄이기 위한 절충안이다.
인코딩 되는 영상(“현재 영상”으로 지칭됨)의 유용한 정보는 참조 영상(예를 들어, 이전에 부호화 및 재구성된 영상)에 대한 변경을 포함한다. 이러한 변경은 위치 변경, 광도 변경 또는 픽셀의 색상 변경을 포함할 수 있으며, 그 중 위치 변경이 주로 관련된다. 개체를 나타내는 픽셀 그룹의 위치 변경은 참조 영상과 현재 영상 사이의 개체 움직임을 반영할 수 있다.
다른 영상을 참조 없이 부호화된 영상(즉, 자체 참조 영상임)은 "I-영상"으로 지칭된다. 이전 영상을 참조 영상으로 사용하여 부호화된 영상은 "P-영상"으로 지칭된다. 이전 영상과 미래 영상을 모두 참조 영상으로 사용하여 부호화된 영상(즉, 참조가 "양-방향")은 "B-영상"으로 지칭된다.
절반의 대역폭을 사용하여 HEVC/H.265와 동일한 주관적 품질을 달성하기 위해, JVET는 공동 실험 모델(Joint Exploration Model; JEM) 참조 소프트웨어를 사용하여 HEVC 이상의 기술을 개발하고 있다. 부호화 기술이 JEM에 통합됨에 따라, JEM은 HEVC보다 실질적으로 더 높은 부호화 성능을 달성했다.
VVC 표준은 더 나은 압축 성능을 제공하는 더 많은 부호화 기술을 계속 포함하고 있다. VVC는 HEVC, H.264/AVC, MPEG2, H.263 등과 같은 최신 비디오 압축 표준에 사용된 것과 동일한 하이브리드 비디오 부호화 시스템에 기초한다. VVC에서는, 새로운 병합 후보를 포함하는 병합 후보 목록을 구성할 수 있다. 상이한 인터 모드에 대해, 상이한 병합 목록 크기가 적용된다. 본 개시의 실시예는 VVC에서 새로운 병합 후보(예를 들어, HMVP, 쌍별 평균) 및 새로운 인터 모드(예를 들어, MMVD, TPM)를 고려한다. 예를 들어, 공간적 병합 후보의 순서를 개선할 수 있고, 공간적 병합 후보의 수를 조정할 수 있다. 또한, 일반 모드, MMVD 및 TPM 모드에 대한 공간적 병합 후보의 구성이 고정되고, 일반 모드, MMVD 및 TPM 모드에 대한 공간적 병합 후보의 구성이 고정된다.
본 개시의 일부 실시예들에 따르면, 도 1은 예시적인 비디오 시퀀스(100)의 구조를 도시한다. 비디오 시퀀스(100)는 라이브 비디오 또는 캡처 및 보관된 비디오일 수 있다. 비디오(100)는 실-생활 비디오, 컴퓨터-생성 비디오(예를 들어, 컴퓨터 게임 비디오), 또는 이들의 조합(예를 들어, 증강-현실 효과를 갖는 실-생활 비디오)일 수 있다. 비디오 시퀀스(100)는 비디오 캡처 디바이스(예를 들어, 카메라), 이전에 캡처된 비디오를 함유하는 비디오 아카이브(예를 들어, 저장 디바이스에 저장된 비디오 파일), 또는 비디오 공급 인터페이스(예를 들어, 비디오 방송 송수신기)로부터 입력되어 비디오 콘텐츠 제공자로부터 비디오를 수신할 수 있다.
도 1에 도시된 바와 같이, 비디오 시퀀스(100)는, 영상(102, 104, 106, 108)을 포함하여, 타임라인을 따라 시간적으로 배열된 일련의 영상을 포함할 수 있다. 영상(102-106)은 연속적이며, 영상(106)과 영상(108) 사이에는 더 많은 영상이 있다. 도 1에서, 영상(102)은, 그 참조 영상이 영상(102) 자체인, I-영상이다. 영상(104)은 P-영상이고, 그 참조 영상은, 화살표로 보여지는 바와 같이, 영상(102)이다. 영상(106)은 B-영상이고, 그 참조 영상은 화살표로 보여지는 바와 같이, 영상(104 및 108)이다. 일부 실시예에서, 영상(예를 들어, 영상 104)의 참조 영상은 영상 바로 앞이나 뒤에 있지 않을 수 있다. 예를 들어, 영상(104)의 참조 영상은 영상(102) 앞의 영상일 수 있다. 영상(102-106)의 참조 영상은 단지 예시이고, 본 개시는 도 1에 도시된 예시로 참조 영상의 실시예를 제한하지 않는다는 점에 유의해야 한다.
통상적으로, 비디오 코덱은 이러한 작업의 연산 복잡성으로 인해 한 번에 전체 영상을 인코딩 또는 디코딩하지 않는다. 오히려, 영상을 기본 세그먼트로 분할하고, 세그먼트별로 영상을 인코딩하거나 디코딩할 수 있다. 이러한 기본 세그먼트는 본 개시에서 기본 처리 단위(basic processing unit; BPU)로 지칭된다. 예를 들어, 도 1의 구조(110)는 비디오 시퀀스(100)의 영상(예를 들어, 영상(102-108) 중 임의의 것)의 예시적인 구조를 도시한다. 구조(110)에서, 영상은 4×4 기본 처리 단위로 분할되고, 그 경계는 파선으로 표시된다. 일부 실시예에서, 기본 처리 단위는 일부 비디오 부호화 표준(예를 들어, MPEG 패밀리, H.261, H.263, 또는 H.264/AVC)에서 "매크로블록"으로, 또는 일부 다른 비디오 부호화 표준(예를 들어, H.265/HEVC 또는 H.266/VVC)에서 "부호화 트리 단위(coding tree unit; CTU)"로 지칭될 수 있다. 기본 처리 단위는 영상에서 128×128, 64×64, 32×32, 16×16, 4×8, 16×32와 또는 임의의 모양과 픽셀 크기와 같이 영상에서 다양한 크기들을 가질 수 있다. 기본 처리 단위의 크기 및 모양은 기본 처리 단위에서 유지되는 세부사항의 수준과 부호화 효율성의 균형에 기초하여 영상에 대해 선택될 수 있다.
기본 처리 단위는 컴퓨터 메모리(예를 들어, 비디오 프레임 버퍼에)에 저장된 상이한 유형의 비디오 데이터의 그룹을 포함할 수 있는 논리 단위일 수 있다. 예를 들어, 컬러 영상의 기본 처리 단위는 무채색 밝기 정보를 나타내는 루마 성분(Y), 컬러 정보를 나타내는 하나 이상의 크로마 성분(예를 들어, Cb 및 Cr) 및 연관된 신택스 요소를 포함할 수 있으며, 여기에서 루마 및 크로마 성분은 기본 처리 단위와 동일한 크기를 가질 수 있다. 루마 및 크로마 성분은 일부 비디오 부호화 표준(예를 들어, H.265/HEVC 또는 H.266/VVC)에서 "부호화 트리 블록(CTB)"으로 지칭될 수 있다. 기본 처리 단위에 수행된 모든 동작은 그 루마 및 크로마 성분 각각에 대해 반복적으로 수행될 수 있다.
비디오 부호화는 여러 단계의 동작을 가지며, 그 예시가 도 2a 내지 도 2b 및 도 3a 내지 3b에서 자세히 설명될 것이다. 각 단계에 대해, 기본 처리 단위의 크기는 여전히 처리하기에 너무 클 수 있으므로, 본 개시에서 "기본 처리 서브-단위"라고 하는 세그먼트로 더 나눌 수 있다. 일부 실시예에서, 기본 처리 서브-단위는 일부 비디오 부호화 표준(예를 들어, MPEG 패밀리, H.261, H.263, 또는 H.264/AVC)에서 "블록"으로, 또는 일부 다른 비디오 부호화 표준(예를 들어, H.265/HEVC 또는 H.266/VVC)에서 "부호화 단위(coding unit; CU)"로 지칭될 수 있다. 기본 처리 서브-단위는 기본 처리 단위와 같거나 더 작은 크기를 가질 수 있다. 기본 처리 단위와 유사하게, 기본 처리 서브-단위 또한 논리 단위이며, 컴퓨터 메모리(예를 들어, 비디오 프레임 버퍼)에 저장된 상이한 유형의 비디오 데이터(예를 들어, Y, Cb, Cr 및 연관된 신택스 요소)의 그룹을 포함할 수 있다. 기본 처리 서브-단위에 수행된 모든 동작은 그 루마 및 크로마 성분 각각에 대해 반복적으로 수행될 수 있다. 이러한 나눔은 처리 요구 사항에 따라 추가 수준으로 수행될 수 있다는 점에 유의해야 한다. 또한 상이한 단계는 상이한 방식을 사용하여 기본 처리 단위를 나눌 수 있다는 점에 유의해야 한다.
예를 들어, 모드 결정 단계(이의 예시가 도 2b에서 상세히 설명될 것임)에서, 인코더는 기본 처리 단위에 사용하기 위한 예측 모드(예를 들어, 영상-내(intra-picture) 예측 또는 영상-간(inter-picture) 예측)를 결정할 수 있으며, 이는 그러한 결정을 내리기에 너무 클 수 있다. 인코더는 기본 처리 단위를 여러 기본 처리 서브-단위(예를 들어 H.265/HEVC 또는 H.266/VVC에서와 같은 CU)로 분할하고, 각 개별 기본 처리 서브-단위에 대한 예측 유형을 결정할 수 있다.
다른 예시에서는, 예측 단계(이의 예시가 도 2a 내지 도 2b에서 상세히 설명될 것임)에서, 인코더가 기본 처리 서브-단위(예를 들어, CU)의 수준에서 예측 동작을 수행할 수 있다. 그러나, 어떤 경우에는, 기본 처리 서브-단위가 여전히 처리하기에 너무 클 수 있다. 인코더는 기본 처리 서브-단위를 더 작은 세그먼트(예를 들어, H.265/HEVC 또는 H.266/VVC에서 "예측 블록" 또는 "PB"로 지칭됨)로 더 분할할 수 있으며, 그 수준에서 예측 동작이 수행될 수 있다.
다른 예시에서는, 변환 단계(이의 예시가 도 2a 내지 도 2b에서 상세히 설명될 것임)에서, 인코더가 잔차 기본 처리 서브-단위(예를 들어, CU)에 대해 변환 동작을 수행할 수 있다. 그러나, 어떤 경우들은, 기본 처리 서브-단위가 여전히 처리하기에 너무 클 수 있다. 인코더는 기본 처리 서브-단위를 더 작은 세그먼트(예를 들어, H.265/HEVC 또는 H.266/VVC에서 "변환 블록" 또는 "TB"로 지칭됨)로 더 분할할 수 있으며, 그 수준에서 변환 동작이 수행될 수 있다. 동일한 기본 처리 서브-단위의 나눔 방식은 예측 단계와 변환 단계에서 상이할 수 있다는 점에 유의해야 한다. 예를 들어, H.265/HEVC 또는 H.266/VVC에서, 동일한 CU의 예측 블록 및 변환 블록은 상이한 크기 및 개수를 가질 수 있다.
도 1의 구조(110)에서, 기본 처리 단위(112)는 3×3 기본 처리 서브-단위로 더 나눠지며, 그 경계는 점선으로 표시된다. 동일한 영상의 상이한 기본 처리 단위가 상이한 방식의 기본 처리 서브-단위로 나뉠 수 있다.
일부 구현예에서, 비디오 인코딩 및 디코딩에 대한 병렬 처리 및 오류 복원 능력을 제공하기 위해, 영상은, 영상의 영역에 대해, 인코딩 또는 디코딩 프로세스가 영상의 다른 영역에 대한 정보에 의존하지 않을 수 있는 처리를 위한 영역으로 분할될 수 있다. 달리 말하자면, 영상의 각 영역은 독립적으로 처리될 수 있다. 이렇게 함으로써, 코덱은 영상의 상이한 영역을 병렬로 처리할 수 있어, 부호화 효율성을 높일 수 있다. 또한, 처리에서 영역의 데이터가 손상되거나 네트워크 전송에서 손실될 때, 코덱은 손상되거나 손실된 데이터에 의존하지 않고 동일한 영상의 다른 영역을 올바르게 인코딩 또는 디코딩할 수 있으므로, 오류 복원 능력을 제공한다. 일부 비디오 부호화 표준에서, 영상은 상이한 유형의 영역으로 나눌 수 있다. 예를 들어, H.265/HEVC 및 H.266/VVC는 "슬라이스" 및 "타일들"이라는 두 가지 유형의 영역을 제공한다. 비디오 시퀀스(100)의 상이한 영상은 영상을 영역으로 나누기 위한 상이한 분배 방식을 가질 수 있음을 또한 유의해야 한다.
예를 들어, 도 1에서, 구조(110)는 3개의 영역(114, 116, 118)으로 분할되고, 그 경계는 구조(110) 내부에 실선으로 도시된다. 영역(114)은 4개의 기본 처리 단위를 포함한다. 영역(116, 118) 각각은 6개의 기본 처리 단위를 포함한다. 도 1의 구조(110)의 기본 처리 단위, 기본 처리 서브-단위 및 영역은 예시일 뿐, 본 개시가 그 실시예를 한정하는 것이 아님을 유의해야 한다.
도 2a는 개시의 실시예에 부합하는, 예시적인 인코딩 프로세스(200A)의 개략도를 도시한다. 예를 들어, 인코딩 프로세스(200A)는 인코더에 의해 수행될 수 있다. 도 2a에 도시된 바와 같이, 인코더는 프로세스(200A)에 따라 비디오 시퀀스(202)를 비디오 비트스트림(228)으로 인코딩할 수 있다. 도 1의 비디오 시퀀스(100)와 유사하게, 비디오 시퀀스(202)는 시간적 순서로 배열된 영상 세트("원본 영상"으로 지칭됨)를 포함할 수 있다. 도 1의 구조(110)와 유사하게, 비디오 시퀀스(202)의 각각의 원본 영상은 인코더에 의해 기본 처리 단위, 기본 처리 서브-단위, 또는 처리를 위한 영역으로 나눠질 수 있다. 일부 실시예에서, 인코더는 비디오 시퀀스(202)의 각각의 원본 영상에 대한 기본 처리 단위의 수준에서 프로세스(200A)를 수행할 수 있다. 예를 들어, 인코더는 프로세스(200A)를 반복적인 방식으로 수행할 수 있고, 여기서 인코더는 프로세스(200A)의 1회 반복에서 기본 처리 단위를 인코딩할 수 있다. 일부 실시예에서, 인코더는 비디오 시퀀스(202)의 각각의 원본 영상의 영역(예를 들어, 영역(114 내지118))에 대해 병렬로 프로세스(200A)를 수행할 수 있다.
도 2a에서, 인코더는 비디오 시퀀스(202)의 원본 영상의 기본 처리 단위("원본 BPU"로 지칭됨)를 예측 단계(204)로 공급하여 예측 데이터(206) 및 예측된 BPU(208)를 생성할 수 있다. 인코더는 원본 BPU로부터 예측된 BPU(208)를 빼서 잔차 BPU(210)를 생성할 수 있다. 인코더는 잔차 BPU(210)를 변환 단계(212) 및 양자화 단계(214)로 공급하여 양자화된 변환 계수(216)를 생성할 수 있다. 인코더는 예측 데이터(206) 및 양자화된 변환 계수(216)를 이진 부호화 단계(226)로 공급하여 비디오 비트스트림(228)을 생성할 수 있다. 성분들(202, 204, 206, 208, 210, 212, 214, 216, 226 및 228)은 "순방향 경로"로 지칭될 수 있다. 프로세스(200A) 동안, 양자화 단계(214) 이후에, 인코더는 양자화된 변환 계수들(216)을 역양자화 단계(218) 및 역변환 단계(220)로 공급하여 재구성된 잔차 BPU(222)를 생성할 수 있다. 인코더는 재구성된 잔차 BPU(222)를 예측된 BPU(208)에 더하여 예측 참조(224)를 생성할 수 있으며, 이는 프로세스(200A)의 다음 반복을 위해 예측 단계(204)에서 사용된다. 프로세스(200A)의 성분들(218, 220, 222, 224)은 "재구성 경로"로 지칭될 수 있다. 재구성 경로는 인코더와 디코더 모두가 예측을 위해 동일한 참조 데이터를 사용하도록 보장하는 데 사용될 수 있다.
인코더는 (순방향 경로에서) 원본 영상의 각 원본 BPU를 인코딩하고 (재구성 경로에서) 원본 영상의 다음 원본 BPU를 인코딩하기 위한 예측된 참조(224)를 생성하기 위해 프로세스(200A)를 반복적으로 수행할 수 있다. 원본 영상의 모든 원본 BPU를 인코딩한 후, 인코더는 비디오 시퀀스(202)에서 다음 영상을 인코딩하도록 진행할 수 있다.
프로세스(200A)를 참조하면, 인코더는 비디오 캡처 디바이스(예를 들어, 카메라)에 의해 생성된 비디오 시퀀스(202)를 수신할 수 있다. 본원에서 사용되는 용어 "수신"은 수신, 입력, 취득, 검색, 획득, 판독, 접근 또는 데이터 입력을 위한 임의의 방식의 임의의 조치를 지칭할 수 있다.
예측 단계(204)에서, 현재 반복에서, 인코더는 원본 BPU 및 예측 참조(224)를 수신하고, 예측 동작을 수행하여 예측 데이터(206) 및 예측된 BPU(208)를 생성할 수 있다. 예측 참조(224)는 프로세스(200A)의 이전 반복의 재구성 경로로부터 생성될 수 있다. 예측 단계(204)의 목적은 예측 데이터(206) 및 예측 참조(224)로부터 예측된 BPU(208)로서 원본 BPU를 재구성하는데 사용될 수 있는 예측 데이터(206)를 추출함으로써 정보 중복성을 감소시키는 것이다.
이상적으로, 예측된 BPU(208)는 원본 BPU와 똑같을 수 있다. 그러나, 비-이상적인 예측 및 재구성 동작으로 인해, 예측된 BPU(208)는 보통 원본 BPU와 약간 상이하다. 그러한 차이를 기록하기 위해, 예측된 BPU(208)를 생성한 후, 인코더는 원본 BPU에서 그것을 빼서 잔차 BPU(210)를 생성할 수 있다. 예를 들어, 인코더는 예측된 BPU(208)의 픽셀 값(예를 들어, 회색조 값 또는 RGB 값)을 원본 BPU의 대응하는 픽셀 값으로부터 뺄 수 있다. 잔차 BPU(210)의 각 픽셀은 예측된 BPU(208)와 원본 BPU의 대응하는 픽셀 사이의 이러한 뺄셈의 결과로서 잔차 값을 가질 수 있다. 원본 BPU와 비교하여, 예측 데이터(206) 및 잔차 BPU(210)는 더 적은 비트를 가질 수 있지만, 심각한 품질 저하 없이 원본 BPU를 재구성하는 데 사용할 수 있다. 따라서, 원본 BPU가 압축된다.
잔차 BPU(210)를 추가로 압축하기 위해, 변환 단계(212)에서, 인코더는 잔차 BPU(210)를 2-차원 "기본 패턴" 세트로 분해함으로써 그 공간적 중복성을 줄일 수 있으며, 각 기본 패턴은 "변환 계수"와 연관된다. 기본 패턴은 동일한 크기(예를 들어, 잔차 BPU(210)의 크기)를 가질 수 있다. 각 기본 패턴은 잔차 BPU(210)의 변동 주파수(예를 들어, 밝기 변동 주파수) 성분을 나타낼 수 있다. 기본 패턴 중 어느 것도 임의의 다른 기본 패턴의 임의의 조합(예를 들어, 선형 조합)으로부터 재생될 수 없다. 달리 말하자면, 분해는 잔차 BPU(210)의 변동을 주파수 영역으로 분해할 수 있다. 이러한 분해는 기본 패턴이 이산 푸리에 변환의 기본 함수(예를 들어, 삼각 함수)와 유사하고, 변환 계수가 기본 함수와 연관된 계수와 유사한, 함수의 이산 푸리에 변환과 유사하다.
상이한 변환 알고리즘은 상이한 기본 패턴을 사용할 수 있다. 예를 들어, 이산 코사인 변환, 이산 사인 변환 등과 같은 다양한 변환 알고리즘이 변환 단계(212)에서 사용될 수 있다. 변환 단계(212)에서의 변환은 가역적이다. 즉, 인코더는 변환의 역동작("역변환"으로 지칭됨)에 의해 잔차 BPU(210)를 복구할 수 있다. 예를 들어, 잔차 BPU(210)의 픽셀을 복구하기 위해, 역변환은 기본 패턴의 대응하는 픽셀의 값을 각자의 연관된 계수로 곱하고 곱을 더하여 가중합을 제공하는 것일 수 있다. 비디오 부호화 표준의 경우, 인코더와 디코더 모두 동일한 변환 알고리즘(따라서 동일한 기본 패턴)을 사용할 수 있다. 따라서, 인코더는, 인코더로부터 기본 패턴을 수신하지 않고 디코더가 잔차 BPU(210)를 재구성할 수 있는, 변환 계수만을 기록할 수 있다. 잔차 BPU(210)와 비교하여, 변환 계수는 더 적은 비트를 가질 수 있지만, 심각한 품질 저하 없이 잔차 BPU(210)를 재구성하는 데 사용될 수 있다. 따라서, 잔차 BPU(210)는 더 압축된다.
인코더는 양자화 단계(214)에서 변환 계수를 더 압축할 수 있다. 변환 프로세스에서, 상이한 기본 패턴은 상이한 변동 주파수(예를 들어, 밝기 변동 주파수)를 나타낼 수 있다. 인간의 눈은 보통 저주파 변동을 더 잘 인식하기 때문에, 인코더는 디코딩에서 심각한 품질 저하를 일으키지 않고 고-주파 변동 정보를 무시할 수 있다. 예를 들어, 양자화 단계(214)에서, 인코더는 각 변환 계수를 정수 값("양자화 매개변수"로 지칭됨)으로 나누고 몫을 가장 가까운 정수로 반올림함으로써 양자화된 변환 계수(216)를 생성할 수 있다. 이러한 동작 후에, 고-주파수 기본 패턴의 일부 변환 계수는 0으로 전환될 수 있고, 저-주파 기본 패턴의 변환 계수는 더 작은 정수로 전환될 수 있다. 인코더는 변환 계수가 추가로 압축되는, 0-값 양자화된 변환 계수(216)를 무시할 수 있다. 양자화 프로세스는 또한 가역적이며, 여기서 양자화된 변환 계수(216)는 양자화의 역동작("역양자화"로 지칭됨)에서 변환 계수로 재구성될 수 있다.
인코더가 반올림 동작에서 이러한 나눗셈의 나머지를 무시하기 때문에, 양자화 단계(214)는 손실될 수 있다. 통상적으로, 양자화 단계(214)는 프로세스(200A)에서 가장 많은 정보 손실에 기여할 수 있다. 정보 손실이 클수록, 양자화된 변환 계수(216)가 필요로 할 수 있는 비트가 더 적다. 정보 손실의 상이한 수준들을 획득하기 위해, 인코더는 양자화 매개변수의 상이한 값 또는 양자화 프로세스의 임의의 다른 매개변수를 사용할 수 있다.
이진 부호화 단계(226)에서, 인코더는 예를 들어 엔트로피 부호화, 가변 길이 부호화, 산술 부호화, 호프만 부호화, 맥락 적응 이진 산술 부호화, 또는 기타 무손실 또는 손실 압축 알고리즘과 같은 이진 부호화 기술을 사용하여 예측 데이터(206) 및 양자화된 변환 계수(216)를 인코딩할 수 있다. 일부 실시예에서, 예측 데이터(206) 및 양자화된 변환 계수(216) 외에도, 인코더는 예를 들어 예측 단계(204)에서 사용되는 예측 모드, 예측 동작의 매개변수, 변환 단계(212)에서의 변환 유형, 양자화 프로세스의 매개변수(예를 들어, 양자화 매개변수), 인코더 제어 매개변수(예를 들어, 비트레이트 제어 매개변수) 등과 같은 다른 정보를 이진 부호화 단계(226)에서 인코딩할 수 있다. 인코더는 이진 부호화 단계(226)의 출력 데이터를 사용하여 비디오 비트스트림(228)을 생성할 수 있다. 일부 실시예에서, 비디오 비트스트림(228)은 추가로 네트워크 전송을 위해 패킷화될 수 있다.
프로세스(200A)의 재구성 경로를 참조하면, 역양자화 단계(218)에서, 인코더는 양자화된 변환 계수(216)에 대해 역양자화를 수행하여 재구성된 변환 계수를 생성할 수 있다. 역변환 단계(220)에서, 인코더는 재구성된 변환 계수에 기초하여 재구성된 잔차 BPU(222)를 생성할 수 있다. 인코더는 재구성된 잔차 BPU(222)를 예측된 BPU(208)에 더하여 프로세스(200A)의 다음 반복에서 사용될 예측 참조(224)를 생성할 수 있다.
프로세스(200A)의 다른 변형이 비디오 시퀀스(202)를 인코딩하는 데 사용될 수 있다는 점에 유의해야 한다. 일부 실시예에서, 프로세스(200A)의 단계는 인코더에 의해 상이한 순서로 수행될 수 있다. 일부 실시예에서, 프로세스(200A)의 하나 이상의 단계는 단일 단계로 결합될 수 있다. 일부 실시예에서, 프로세스(200A)의 단일 단계는 다수의 단계로 나누어질 수 있다. 예를 들어, 변환 단계(212) 및 양자화 단계(214)는 단일 단계로 결합될 수 있다. 일부 실시예에서, 프로세스(200A)는 추가 단계를 포함할 수 있다. 일부 실시예에서, 프로세스(200A)는 도 2a의 하나 이상의 단계를 생략할 수 있다.
도 2b는 본 개시의 실시예에 부합하는, 다른 예시적인 인코딩 프로세스(200B)의 개략도를 예시한다. 프로세스(200B)는 프로세스(200A)로부터 수정될 수 있다. 예를 들어, 프로세스(200B)는 하이브리드 비디오 부호화 표준(예를 들어, H.26x 시리즈)을 따르는 인코더에 의해 사용될 수 있다. 프로세스(200A)와 비교하여, 프로세스(200B)의 순방향 경로는 모드 결정 단계(230)를 추가로 포함하고 예측 단계(204)를 공간적 예측 단계(2042) 및 시간적 예측 단계(2044)로 나눈다. 프로세스(200B)의 재구성 경로는 루프 필터 단계(232) 및 버퍼(234)를 추가로 포함한다.
보통, 예측 기술은 공간적 예측과 시간적 예측의 두 가지 유형으로 분류될 수 있다. 공간적 예측(예를 들어, 영상-내 예측 또는 "인트라 예측")은 현재 BPU를 예측하기 위해 동일한 영상에서 하나 이상의 이미 부호화된 이웃 BPU로부터의 픽셀을 사용할 수 있다. 즉, 공간적 예측에서의 예측 참조(224)는 이웃하는 BPU를 포함할 수 있다. 공간적 예측은 영상의 고유한 공간 중복성을 줄일 수 있다. 시간적 예측(예를 들어, 영상-간 예측 또는 "인터 예측")은 현재 BPU를 예측하기 위해 하나 이상의 이미 부호화된 영상의 영역을 사용할 수 있다. 즉, 시간적 예측에서의 예측 참조(224)는 부호화된 영상을 포함할 수 있다. 시간적 예측은 영상의 고유한 시간적 중복성을 감소시킬 수 있다.
프로세스(200B)를 참조하면, 순방향 경로에서, 인코더는 공간적 예측 단계(2042) 및 시간적 예측 단계(2044)에서 예측 동작을 수행한다. 예를 들어, 공간적 예측 단계(2042)에서, 인코더는 인트라 예측을 수행할 수 있다. 인코딩 되는 영상의 원본 BPU에 대해, 예측 참조(224)는 동일한 영상에서 (순방향 경로에서) 인코딩되고 (재구성된 경로에서) 재구성된 하나 이상의 이웃 BPU를 포함할 수 있다. 인코더는 이웃하는 BPU를 보외함으로써 예측된 BPU(208)를 생성할 수 있다. 보외법 기술은, 예를 들어, 선형 보외법 또는 보간법, 다항식 보외법 또는 보간법 등을 포함할 수 있다. 일부 실시예에서, 인코더는 예측된 BPU(208)의 각 픽셀에 대한 대응하는 픽셀의 값을 보외함으로써, 픽셀 수준에서 보외법을 수행할 수 있다. 보외법에 사용되는 이웃하는 BPU는 원본 BPU에 대해, 수직 방향(예를 들어, 원본 BPU의 상측), 수평 방향(예를 들어, 원본 BPU의 좌측), 대각선 방향(예를 들어 원본 BPU의 좌측-하단, 우측-하단, 좌측-상단 또는 우측-상단) 또는 사용된 비디오 부호화 표준에 정의된 임의의 방향과 같은 다양한 방향으로부터 위치할 수 있다. 인트라 예측을 위해, 예측 데이터(206)는, 예를 들어, 사용된 이웃 BPU의 위치(예를 들어, 좌표), 사용된 이웃 BPU의 크기, 보외법의 매개변수, 원본 BPU에 대해 사용된 이웃 BPU의 방향 등을 포함할 수 있다.
다른 예시로서, 시간적 예측 단계(2044)에서, 인코더는 인터 예측을 수행할 수 있다. 현재 영상의 원본 BPU에 대해, 예측 참조(224)는 (순방향 경로에서) 인코딩되고 (재구성된 경로에서) 재구성된 하나 이상의 영상("참조 영상"으로 지칭됨)을 포함할 수 있다. 일부 실시예에서, 참조 영상은 BPU별로 인코딩 및 재구성될 수 있다. 예를 들어, 인코더는 예측된 BPU(208)에 재구성된 잔차 BPU(222)를 더하여 재구성된 BPU를 생성할 수 있다. 동일한 영상의 재구성된 BPU가 모두 생성되면, 인코더는 재구성된 영상을 참조 영상으로 생성할 수 있다. 인코더는 참조 영상의 범위("검색 창"으로 지칭됨)에서 일치하는 영역을 검색하기 위해 "움직임 추정" 동작을 수행할 수 있다. 참조 영상에서 검색 창의 위치는 현재 영상에서 원본 BPU의 위치에 기초하여 결정될 수 있다. 예를 들어, 검색 창은 참조 영상에서 현재 영상의 원본 BPU와 동일한 좌표를 갖는 위치에 중심을 두고 미리 결정된 거리만큼 확장될 수 있다. 인코더가 검색 창에서 원본 BPU와 유사한 영역을 (예를 들어, PRA(pel-recursive algorithm), 블록 매칭 알고리즘 등을 사용하여) 식별할 때, 인코더는 그러한 영역을 일치 영역으로 결정할 수 있다. 일치 영역은 원본 BPU와 상이한 차원(예를 들어, 더 작거나, 같거나, 더 크거나, 상이한 모양)을 가질 수 있다. 참조 영상과 현재 영상은 타임라인에서 시간적으로 분리되어 있기 때문에(예를 들어, 도 1에 도시된 바와 같이), 시간이 지남에 따라 일치 영역이 원본 BPU의 위치로 "움직인다"고 간주될 수 있다. 인코더는 이러한 움직임의 방향과 거리를 "움직임 벡터"로 기록할 수 있다. 다수의 참조 영상이 사용되는 경우(예를 들어, 도 1의 영상(106)), 인코더는 일치 영역을 검색하고 각 참조 영상에 대한 연관된 움직임 벡터를 결정할 수 있다. 일부 실시예에서, 인코더는 각자의 일치 참조 영상의 일치 영역의 픽셀 값에 가중치를 할당할 수 있다.
움직임 추정은, 예를 들어, 병진, 회전, 줌 등과 같은 다양한 유형의 움직임을 식별하는 데 사용될 수 있다. 인터 예측의 경우, 예측 데이터(206)는, 예를 들어, 일치 영역의 위치(예를 들어, 좌표), 일치 영역과 연관된 움직임 벡터, 참조 영상의 수, 참조 영상과 연관된 가중치 등을 포함할 수 있다.
예측된 BPU(208)를 생성하기 위해, 인코더는 "움직임 보상"의 동작을 수행할 수 있다. 움직임 보상은 예측 데이터(206)(예를 들어, 움직임 벡터) 및 예측 참조(224)에 기초하여 예측된 BPU(208)를 재구성하는데 사용될 수 있다. 예를 들어, 인코더는 움직임 벡터에 따라 참조 영상의 일치 영역을 이동할 수 있으며, 여기에서 인코더는 현재 영상의 원본 BPU를 예측할 수 있다. 다수의 참조 영상이 사용되는 경우(예를 들어, 도 1의 영상(106)), 인코더는 각자의 움직임 벡터 및 일치 영역의 평균 픽셀 값에 따라 참조 영상의 일치 영역을 움직일 수 있다. 일부 실시예에서, 인코더가 각자의 일치 참조 영상의 일치 영역의 픽셀 값에 가중치를 할당했다면, 인코더는 움직인 일치 영역의 픽셀 값의 가중합을 더할 수 있다.
일부 실시예에서, 인터 예측은 단방향 또는 양방향일 수 있다. 단방향 인터 예측은 현재 영상에 대해 동일한 시간 방향으로 하나 이상의 참조 영상을 사용할 수 있다. 예를 들어, 도 1의 영상(104)은 참조 영상(즉, 영상(102))이 영상(104)에 선행하는 단방향 인터 예측 영상이다. 양방향 인터 예측은 현재 영상에 대해 양쪽 시간 방향에서 하나 이상의 참조 영상을 사용할 수 있다. 예를 들어, 도 1의 영상 (106)은 참조 영상(즉, 영상(104 및 108))이 영상(104)에 대해 양쪽 시간 방향에 있는 양방향 인터 예측 영상이다.
여전히 프로세스(200B)의 순방향 경로를 참조하면, 공간적 예측 단계(2042) 및 시간적 예측 단계(2044) 이후에, 모드 결정 단계(230)에서, 인코더는 프로세스(200B)의 현재 반복에 대해 예측 모드(예를 들어, 인트라 예측 또는 인터 예측 중 하나)를 선택할 수 있다. 예를 들어, 인코더는 레이트-왜곡 최적화 기술을 수행할 수 있는데, 여기에서 인코더는 후보 예측 모드의 비트레이트 및 후보 예측 모드 하의 재구성된 참조 영상의 왜곡에 따라 비용 함수의 값을 최소화하기 위한 예측 모드를 선택할 수 있다. 선택된 예측 모드에 따라, 인코더는 대응하는 예측된 BPU(208) 및 예측된 데이터(206)를 생성할 수 있다.
프로세스(200B)의 재구성 경로에서, 순방향 경로에서 인트라 예측 모드가 선택된 경우, 예측 참조(224)(예를 들어, 현재 영상에서 인코딩 및 재구성된 현재 BPU)를 생성한 후, 인코더는 나중의 사용을 위해(예를 들어, 현재 영상의 다음 BPU의 보외법을 위해) 예측 참조(224)를 공간적 예측 단계(2042)로 직접 공급할 수 있다. 순방향 경로에서 인터 예측 모드가 선택되었다면, 예측 참조(224)(예를 들어, 모든 BPU가 인코딩 및 재구성된 현재 영상)를 생성한 후, 인코더는 예측 참조(224)를 루프 필터 단계(232)로 공급할 수 있으며, 여기에서 인코더는 예측 참조(224)에 루프 필터를 적용하여 인터 예측에 의해 도입된 왜곡(예를 들어, 블로킹 아티팩트(blocking artifacts))을 줄이거나 제거할 수 있다. 인코더는 루프 필터 단계(232)에서, 예를 들어, 디블로킹(deblocking), 적응적 샘플 오프셋, 적응적 루프 필터 등과 같은 다양한 루프 필터 기술을 적용할 수 있다. 루프-필터링된 참조 영상은 나중에 사용하기 위해(예를 들어, 비디오 시퀀스(202)의 미래 영상에 대한 인터-예측 참조 영상으로 사용하기 위해) 버퍼(234)(또는 "디코딩된 영상 버퍼")에 저장될 수 있다. 인코더는 시간적 예측 단계(2044)에서 사용하기 위해 버퍼(234)에 하나 이상의 참조 영상을 저장할 수 있다. 일부 실시예에서, 인코더는 양자화된 변환 계수(216), 예측 데이터(206) 및 기타 정보와 함께, 이진 부호화 단계(226)에서 루프 필터의 매개변수(예를 들어, 루프 필터 강도)를 인코딩할 수 있다.
도 3a는 개시의 실시예에 부합하는, 예시적인 디코딩 프로세스(300A)의 개략도를 도시한다. 프로세스(300A)는 도 2a의 압축 프로세스(200A)에 대응하는 압축해제 프로세스일 수 있다. 일부 실시예에서, 프로세스(300A)는 프로세스(200A)의 재구성 경로와 유사할 수 있다. 디코더는 프로세스(300A)에 따라 비디오 비트스트림(228)을 비디오 스트림(304)으로 디코딩할 수 있다. 비디오 스트림(304)은 비디오 시퀀스(202)와 매우 유사할 수 있다. 그러나, 압축 및 압축해제 프로세스(예를 들어, 도 2a 내지 도 2b의 양자화 단계(214))에서의 정보 손실로 인해, 보통, 비디오 스트림(304)은 비디오 시퀀스와 똑같지 않다. 도 2a 내지 도 2b의 프로세스(200A 및 200B)와 유사하게, 디코더는 비디오 비트스트림(228) 내의 인코딩된 각 영상에 대해 기본 처리 단위(BPU)의 수준에서 프로세스(300A)를 수행할 수 있다. 예를 들어, 디코더는 반복적인 방식으로 프로세스(300A)를 수행할 수 있으며, 여기에서 디코더는 프로세스(300A)의 한 번의 반복에서 기본 처리 단위를 디코딩할 수 있다. 일부 실시예에서, 디코더는 비디오 비트스트림(228) 내의 인코딩된 각 영상의 영역(예를 들어, 영역(114-118))에 대해 병렬로 프로세스(300A)를 수행할 수 있다.
도 3a에서, 디코더는 인코딩된 영상의 기본 처리 단위("인코딩된 BPU"로 지칭됨)와 연관된 비디오 비트스트림(228)의 부분을 이진 디코딩 단계(302)로 공급할 수 있다. 이진 디코딩 단계(302)에서, 디코더는 이 부분을 예측 데이터(206) 및 양자화된 변환 계수(216)로 디코딩할 수 있다. 디코더는 양자화된 변환 계수(216)를 역양자화 단계(218) 및 역변환 단계(220)로 공급하여 재구성된 잔차 BPU(222)를 생성할 수 있다. 디코더는 예측 데이터(206)를 예측 단계(204)로 공급하여 예측된 BPU(208)를 생성할 수 있다. 디코더는 재구성된 잔차 BPU(222)를 예측된 BPU(208)에 더하여 예측된 참조(224)를 생성할 수 있다. 일부 실시예에서, 예측된 참조(224)는 버퍼(예를 들어, 컴퓨터 메모리의 디코딩된 영상 버퍼)에 저장될 수 있다. 디코더는 프로세스(300A)의 다음 반복에서 예측 동작을 수행하기 위해 예측된 참조(224)를 예측 단계(204)로 공급할 수 있다.
디코더는 인코딩된 영상의 각 인코딩된 BPU를 디코딩하고 인코딩된 영상의 다음 인코딩된 BPU를 인코딩하기 위한 예측된 참조(224)를 생성하기 위해 프로세스(300A)를 반복적으로 수행할 수 있다. 인코딩된 영상의 모든 인코딩된 BPU를 디코딩한 후, 디코더는 디스플레이를 위해 영상을 비디오 스트림(304)으로 출력하고 비디오 비트스트림(228)에서 다음 인코딩된 영상을 디코딩하도록 진행할 수 있다.
이진 디코딩 단계(302)에서, 디코더는 인코더에 의해 사용되는 이진 부호화 기술(예를 들어, 엔트로피 부호화, 가변 길이 부호화, 산술 부호화, 호프만 부호화, 맥락 적응 이진 산술 부호화, 또는 임의의 다른 무손실 압축 알고리즘)의 역 동작을 수행할 수 있다. 일부 실시예에서, 예측 데이터(206) 및 양자화된 변환 계수(216) 외에도, 디코더는, 예를 들어, 예측 모드, 예측 동작의 매개변수, 변환 유형, 양자화 프로세스의 매개변수(예를 들어, 양자화 매개변수), 인코더 제어 매개변수(예를 들어, 비트레이트 제어 매개변수) 등과 같은, 다른 정보를 이진 디코딩 단계(302)에서 디코딩할 수 있다. 일부 실시예에서, 비디오 비트스트림(228)이 네트워크를 통해 패킷으로 전송된다면, 디코더는 비디오 비트스트림(228)을 이진 디코딩 단계(302)로 공급하기 전에 패킷 해제(depacketize)할 수 있다.
도 3b는 개시의 실시예에 부합하는, 다른 예시적인 디코딩 프로세스(300B)의 개략도를 예시한다. 프로세스(300B)는 프로세스(300A)로부터 수정될 수 있다. 예를 들어, 프로세스(300B)는 하이브리드 비디오 부호화 표준(예를 들어, H.26x 시리즈)을 따르는 디코더에 의해 사용될 수 있다. 프로세스(300A)와 비교하여, 프로세스(300B)는 예측 단계(204)를 공간적 예측 단계(2042) 및 시간적 예측 단계(2044)로 추가적으로 나누고, 루프 필터 단계(232) 및 버퍼(234)를 더 포함한다.
프로세스(300B)에서, 디코딩 되고 있는 인코딩된 영상("현재 영상"으로 지칭됨)의 인코딩된 기본 처리 단위("현재 BPU"로 지칭됨)에 대해, 디코더에 의해 이진 디코딩 단계(302)로부터 디코딩된 예측 데이터(206)는, 인코더에 의해 현재 BPU를 인코딩하기 위해 어떤 예측 모드가 사용되었는지에 따라, 다양한 유형의 데이터를 포함할 수 있다. 예를 들어, 현재 BPU를 인코딩하기 위해 인코더에 의해 인트라 예측이 사용된 경우, 예측 데이터(206)는 인트라 예측을 보여주는 예측 모드 표시자(예를 들어, 플래그 값), 인트라 예측 동작의 매개변수 등을 포함할 수 있다. 인트라 예측 동작의 매개변수는, 예를 들어, 참조로 사용되는 하나 이상의 이웃 BPU의 위치(예를 들어, 좌표), 이웃 BPU의 크기, 보외법의 매개변수, 원본 BPU에 대한 이웃 BPU의 방향 등을 포함할 수 있다. 다른 예시로서, 현재 BPU를 인코딩하기 위해 인코더에 의해 인터 예측이 사용된 경우, 예측 데이터(206)는 인터 예측을 보여주는 예측 모드 표시자(예를 들어, 플래그 값), 인터 예측 동작의 매개변수 등을 포함할 수 있다. 인터 예측 동작의 매개변수는, 예를 들어, 현재 BPU와 연관된 참조 영상의 수, 참조 영상과 각자 연관된 가중치, 각자의 참조 영상에서 하나 이상의 일치 영역의 위치(예를 들어, 좌표), 일치 영역과 각각 연관된 하나 이상의 움직임 벡터 등을 포함할 수 있다.
예측 모드 표시자에 기초하여, 디코더는 공간적 예측 단계(2042)에서 공간적 예측(예를 들어, 인트라 예측)을 수행할지 또는 시간적 예측 단계(2044)에서 시간적 예측(예를 들어, 인터 예측)을 수행할지 결정할 수 있다. 그러한 공간적 예측 또는 시간적 예측을 수행하는 것에 대한 세부사항은 도 2b에 설명되어 있으며 이후에 반복되지 않는다. 그러한 공간적 예측 또는 시간적 예측을 수행한 후, 디코더는 예측된 BPU(208)를 생성할 수 있다. 도 3a에 설명된 바와 같이, 디코더는 예측된 BPU(208) 및 재구성된 잔차 BPU(222)를 더하여 예측 참조(224)를 생성할 수 있다.
프로세스(300B)에서, 디코더는 프로세스(300B)의 다음 반복에서 예측 동작을 수행하기 위해 예측된 참조(224)를 공간적 예측 단계(2042) 또는 시간적 예측 단계(2044)에 공급할 수 있다. 예를 들어, 현재 BPU가 공간적 예측 단계(2042)에서 인트라 예측을 사용하여 디코딩되는 경우, 예측 참조(224)(예를 들어, 디코딩된 현재 BPU)를 생성한 후에, 디코더는 나중 사용을 위해(예를 들어, 현재 영상의 다음 BPU의 보외법을 위해) 예측 참조(224)를 공간적 예측 단계(2042)로 직접 공급할 수 있다. 현재 BPU가 시간적 예측 단계(2044)에서 인터 예측을 사용하여 디코딩되는 경우, 예측 참조(224)(예를 들어, 모든 BPU가 디코딩된 참조 영상)를 생성한 후, 인코더는 예측 참조(224)를 루프 필터 단계(232)로 공급하여 왜곡(예를 들어 블로킹 아티팩트)을 줄이거나 제거할 수 있다. 디코더는 도 2b에 설명된 방식으로 루프 필터를 예측 참조(224)에 적용할 수 있다. 루프-필터링된 참조 영상은 나중에 사용하기 위해(예를 들어, 비디오 비트스트림(228)의 미래 인코딩된 영상에 대한 인터-예측 참조 영상으로 사용하기 위해) 버퍼(234)(예를 들어, 컴퓨터 메모리의 디코딩된 영상 버퍼)에 저장될 수 있다. 디코더는 시간적 예측 단계(2044)에서 사용하기 위한 버퍼(234)에 하나 이상의 참조 영상을 저장할 수 있다. 일부 실시예에서, 예측 데이터(206)의 예측 모드 표시자가 현재 BPU를 인코딩하기 위해 인터 예측이 사용되었음을 보여줄 때, 예측 데이터는 추가로 루프 필터의 매개변수(예를 들어 루프 필터 강도)를 더 포함할 수 있다.
도 4a는 개시의 실시예에 부합하는, 비디오를 인코딩 또는 디코딩하기 위한 예시적인 장치(400)의 블록도이다. 도 4a에 도시된 바와 같이, 장치(400)는 프로세서(402)를 포함할 수 있다. 프로세서(402)가 본원에 설명된 명령어들을 실행할 때, 장치(400)는 비디오 인코딩 또는 디코딩을 위한 특수 기계가 될 수 있다. 프로세서(402)는 정보를 조작하거나 처리할 수 있는 임의의 유형의 회로일 수 있다. 예를 들어, 프로세서(402)는 중앙 처리 장치(또는 "CPU"), 그래픽 처리 장치(또는 "GPU"), 신경 처리 장치("NPU"), 마이크로컨트롤러 장치("MCU”), 광 프로세서, 프로그램 가능 로직 컨트롤러, 마이크로컨트롤러, 마이크로프로세서, 디지털 신호 프로세서, 지적 재산(IP) 코어, 프로그램 가능 로직 어레이(PLA), 프로그램 가능 어레이 로직(PAL), 일반 어레이 로직(GAL), 복합 프로그램 가능 로직 디바이스(CPLD), 현장-프로그램 가능 게이트 어레이(FPGA), 단일 칩 시스템(SoC), 주문형 집적 회로(ASIC) 등의 임의의 수의 임의의 조합을 포함할 수 있다. 일부 실시예에서, 프로세서(402)는 또한 단일의 논리적 성분으로서 그룹화된 프로세서의 세트일 수 있다. 예를 들어, 도 4a에 도시된 바와 같이, 프로세서(402)는 프로세서(402a), 프로세서(402b) 및 프로세서(402n)를 포함하는 다중 프로세서를 포함할 수 있다.
장치(400)는 또한 데이터(예를 들어, 명령어들의 세트, 컴퓨터 코드, 중간 데이터 등)를 저장하도록 구성된 메모리(404)를 포함할 수 있다. 예를 들어, 도 4a에 도시된 바와 같이, 저장된 데이터는 프로그램 명령어들(예를 들어, 프로세스(200A, 200B, 300A 또는 300B)의 단계를 구현하기 위한 프로그램 명령어들) 및 처리용 데이터(예를 들어, 비디오 시퀀스(202), 비디오 비트스트림(228) 또는 비디오 스트림(304))를 포함할 수 있다. 프로세서(402)는 (예를 들어, 버스(410)를 통해) 프로그램 명령어들 및 처리용 데이터에 접근할 수 있고, 프로그램 명령어들을 실행하여 처리용 데이터에 대한 동작 또는 조작을 수행할 수 있다. 메모리(404)는 고속-임의-접근 저장 디바이스 또는 비-휘발성 저장 디바이스를 포함할 수 있다. 일부 실시예에서, 메모리(404)는 임의-접근 메모리(RAM), 읽기-전용 메모리(ROM), 광 디스크, 자기 디스크, 하드 드라이브, 솔리드-스테이트 드라이브, 플래시 드라이브, 보안 디지털(SD) 카드, 메모리 스틱, 컴팩트 플래시(CF) 카드 등의 임의의 수의 임의의 조합을 포함할 수 있다. 메모리(404)는 또한 단일의 논리적 성분으로서 그룹화된 메모리 그룹(도 4a에 미도시)일 수 있다.
버스(410)는 내부 버스(예를 들어, CPU-메모리 버스), 외부 버스(예를 들어, 범용 직렬 버스 포트, 주변 성분 인터커넥트 익스프레스 포트) 등과 같은, 장치(400) 내부의 성분들 사이의 데이터를 전달하는 통신 디바이스일 수 있다.
모호함을 유발하지 않고 설명을 용이하게 하기 위해, 프로세서(402) 및 다른 데이터 처리 회로는 본 개시에서 "데이터 처리 회로"로 집합적으로 지칭된다. 데이터 처리 회로는 전체적으로 하드웨어로 구현되거나 소프트웨어, 하드웨어 또는 펌웨어의 조합으로 구현될 수 있다. 또한, 데이터 처리 회로는 단일 독립 모듈일 수 있거나 장치(400)의 임의의 다른 성분에 전체적으로 또는 부분적으로 조합될 수 있다.
장치(400)는 네트워크(예를 들어, 인터넷, 인트라넷, 근거리 통신망, 이동 통신 네트워크 등)와의 유선 또는 무선 통신을 제공하기 위한 네트워크 인터페이스(406)를 더 포함할 수 있다. 일부 실시예에서, 네트워크 인터페이스(406)는 네트워크 인터페이스 컨트롤러(NIC), 무선 주파수(RF) 모듈, 응답기, 송수신기, 모뎀, 라우터, 게이트웨이, 유선 네트워크 어댑터, 무선 네트워크 어댑터, 블루투스 어댑터, 적외선 어댑터, 근거리 통신("NFC") 어댑터, 셀룰러 네트워크 칩 등의 임의의 수의 임의의 조합을 포함할 수 있다.
일부 실시예에서, 선택적으로, 장치(400)는 하나 이상의 주변 디바이스에 대한 연결을 제공하기 위해 주변 인터페이스(408)를 더 포함할 수 있다. 도 4a에 도시된 바와 같이, 주변 디바이스는 커서 제어 디바이스(예를 들어, 마우스, 터치패드 또는 터치스크린), 키보드, 디스플레이(예를 들어 음극선관 디스플레이, 액정 디스플레이, 또는 발광 다이오드 디스플레이), 비디오 입력 디바이스(예를 들어, 카메라 또는 비디오 아카이브에 통신 가능하게 결합된 입력 인터페이스) 등을 포함할 수 있지만, 이에 제한되지 않는다.
비디오 코덱(예를 들어, 코덱 수행 프로세스(200A, 200B, 300A 또는 300B))은 장치(400)의 임의의 소프트웨어 또는 하드웨어 모듈의 임의의 조합으로서 구현될 수 있다는 점에 유의해야 한다. 예를 들어, 프로세스(200A, 200B, 300A 또는 300B)의 일부 또는 모든 단계는, 메모리(404)에 로딩될 수 있는 프로그램 명령어들과 같은, 장치(400)의 하나 이상의 소프트웨어 모듈로서 구현될 수 있다. 다른 예시로서, 프로세스(200A, 200B, 300A 또는 300B)의 일부 또는 모든 단계는, 특수 데이터 처리 회로(예를 들어, FPGA, ASIC, NPU 등)와 같은 장치(400)의 하나 이상의 하드웨어 모듈로서 구현될 수 있다.
인터 예측을 사용하여 부호화된 CU의 경우, 이전에 디코딩된 영상(즉, 참조 영상) 내의 참조 블록이 예측자로서 식별된다. 참조 영상 내의 참조 블록과 현재 영상 내의 부호화 블록 사이의 상대 위치를 움직임 벡터(MV)로 정의한다. 현재 CU의 움직임 정보는 예측자의 수, 참조 영상 색인(들) 및 대응하는 MV(들)에 의해 지정된다. 움직임 정보에 기초한 움직임 보상에 의한 예측을 획득한 후, 예측 신호와 원본 신호 사이의 잔차는 출력 비트스트림 내로 패킹되기 전에, 변환, 양자화 및 엔트로피 부호화를 추가적으로 거칠 수 있다.
일부 상황에서, 현재 CU의 공간적 및 시간적 이웃 CU의 움직임 정보가 현재 CU의 움직임 정보를 예측하는 데 사용될 수 있다. 움직임 정보의 부호화 비트를 줄이기 위해 병합 모드가 채택될 수 있다. 병합 모드에서, 움직임 정보는 공간적 또는 시간적 이웃 블록으로부터 유도되고, 어느 이웃 블록으로부터 움직임 정보가 유도되는지 보여주기 위해 병합 색인이 시그널링될 수 있다.
HEVC에서 병합 후보 목록은 다음 후보에 기초하여 구성될 수 있다.
(1) 5개의 공간적 이웃 블록으로부터 유도되는 최대 4개의 공간적 병합 후보;
(2) 시간적인 공통 위치에 배치된(co-located) 블록으로부터 유도되는 하나의 시간적 병합 후보;
(3) 조합된 양방향-예측 후보 및 영(zero) 움직임 벡터 후보를 포함하는 추가 병합 후보.
병합 후보 목록의 제 1 후보는 공간적 이웃이다. 도 4b는 5개의 공간적 후보의 위치를 나타낸다. {A1, B1, B0, A0, B2} 순서에 따라, 각 후보 위치의 가용성을 확인한다. 공간적 이웃 블록이 인트라 예측되거나 위치가 현재 슬라이스 또는 타일 외부에 있는 경우, 병합 후보로 사용할 수 없는 것으로 여겨질 수 있다. 또한, 이웃 블록의 움직임 데이터가 가능한 한 고유한지 보장하기 위해 일부 중복 검사가 수행될 수 있다. 중복 검사로 인한 복잡성을 줄이기 위해, 제한된 중복 검사만이 수행될 수 있고, 고유성이 항상 보증되지 않을 수 있다. 예를 들어 {A1, B1, B0, A0, B2}의 순서가 주어지면, B0은 B1만 검사하고, A0은 A1만 검사하고, B2는 A1과 B1만 검사한다.
시간적 병합 후보의 경우, 도 4c에 도시된 바와 같이, 참조 영상의 공통 위치 블록(collocated block) 바로 바깥쪽에 있는 우측 하부 위치 C0가 이용 가능한 경우에 사용된다. 그렇지 않으면, 중심 위치 C1을 대신 사용할 수 있다. 공통 위치 참조 영상에 대해 어떤 참조 영상 목록이 사용되는지는 슬라이스 헤더에서 시그널링된 색인에 의해 보여질 수 있다. 도 5에 도시된 바와 같이, 공통 위치에 배치된 블록의 MV는 병합 목록에 삽입하기 전에 영상 순서 카운트(picture order count; POC) 차이에 기초하여 크기 조정될 수 있다.
병합 후보 C의 최대 개수는 슬라이스 헤더에 지정될 수 있다. 발견된 가용 병합 후보(시간적 후보 포함)의 수가 C보다 크면, 처음 C - 1개의 공간적 후보와 시간적 후보만이 유지된다. 그렇지 않고, 가용 병합 후보의 수가 C보다 작으면, 숫자가 C와 같아질 때까지 추가 후보가 생성된다. 부호화된 데이터를 구문 분석하는 능력이 가용 병합 후보의 수에 의존하지 않으므로, 이는 구문 분석을 단순화할 수 있고 더 강건하게 만든다. 공통 테스트 조건(common test condition; CTC)에서, 병합 후보 C의 최대 수는 5로 설정된다.
B 슬라이스의 경우, 참조 영상 목록 0 및 목록 1에 대해 미리 정의된 순서에 따라 2개의 가용 후보를 조합하여 추가 병합 후보가 생성된다. 예를 들어, 제 1 생성된 후보는 목록 0에 대한 제 1 병합 후보 및 목록 1에 대한 제 2 병합 후보를 사용한다. HEVC는 이미 구성된 병합 후보 목록에서 (0, 1), (1, 0), (0, 2), (2, 0), (1, 2), (2, 1), (0, 3), (3, 0), (1, 3), (3, 1), (2, 3) 및 (3, 2)와 같은 순서로 두 개의 움직임 벡터의 총 12개의 미리 정의된 쌍을 지정하며, 여기서 (i, j)는 가용 병합 후보의 색인을 나타낸다. 이 중, 중복 엔트리를 제거한 후 최대 5개의 후보를 포함할 수 있다.
슬라이스가 P 슬라이스이거나 병합 후보의 수가 여전히 C보다 작을 때, 0에서 참조 영상의 수 빼기 1의 수까지의 참조 색인과 연관된 영 움직임 벡터가 병합 후보 목록의 나머지 엔트리를 채우는 데 사용된다.
VVC에서, 병합 후보 목록은 다음 5가지 유형의 후보를 순서대로 포함하여 구성된다:
공간적 이웃 CU의 공간적 병합 후보;
공통 위치 CU의 시간적 병합 후보;
FIFO 테이블의 이력-기반 움직임 벡터 예측자(history-based motion vector predictor; HMVP);
쌍별(pairwise) 평균 후보; 및
영 MV.
공간적 병합 후보 및 시간적 병합 후보의 정의는 HEVC에서와 동일하다. 공간적 및 시간적 병합 후보 이후에, HMVP 병합 후보가 병합 목록에 추가된다. HMVP에서, 이전에 부호화된 블록의 움직임 정보는 테이블에 저장되며 현재 CU에 대한 움직임 벡터 예측자로 사용된다. 다중 HMVP 후보가 있는 테이블은 인코딩/디코딩 프로세스 동안 유지된다. 새로운 CTU 행이 발견되면 테이블이 재설정(비워짐)된다. 비-서브블록 인터-부호화된 CU가 있는 경우, 연관된 움직임 정보가 새로운 HMVP 후보로서 테이블의 마지막 엔트리에 추가된다.
VVC에서, HMVP 테이블 크기는 6으로 설정될 수 있다. 즉, 테이블에 최대 6개의 HMVP 후보가 추가될 수 있다. 새로운 움직임 후보를 테이블에 삽입할 때, 테이블에 똑같은 HMVP가 있는지 찾기 위해 중복 검사가 먼저 적용되는 제약된 선입 선출(first-in-first-out; FIFO) 규칙을 활용될 수 있다. 발견되면, 똑같은 HMVP가 테이블에서 제거되고 이후의 모든 HMVP 후보가 앞으로 이동할 수 있다.
병합 후보 목록 구성 프로세스에서, 테이블에서 가장 최근의 여러 HMVP 후보를 순서대로 확인하여 시간적 움직임 벡터 예측자(temporal Motion Vector Predictor; TMVP) 후보 이후로 병합 후보 목록에 삽입한다. 공간적 또는 시간적 병합 후보에 대해 HMVP 후보를 확인하기 위해 중복 검사가 적용될 수 있다.
HMVP 후보를 삽입한 후, 병합 후보 목록이 아직 가득 차지 않은 경우 쌍별 평균 후보를 추가한다. 쌍별 평균 후보는 기존 병합 후보 목록에서 미리 정의된 후보 쌍을 평균하여 생성된다. 미리 정의된 쌍은 {(0, 1), (0, 2), (1, 2), (0, 3), (1, 3), (2, 3)}으로 정의되며, 여기에서 숫자는 병합 후보 목록의 병합 색인을 의미한다. 평균 움직임 벡터는 각 참조 영상 목록에 대해 개별적으로 계산된다. 하나의 목록에서 두 움직임 벡터가 모두 사용할 수 있는 경우, 상이한 참조 영상을 가리키는 경우에도 이러한 두 움직임 벡터를 평균한다. 하나의 움직임 벡터만 사용할 수 있는 경우, 가용한 것이 직접 사용된다. 움직임 벡터를 사용할 수 없으면, 목록이 무효인 것으로 여겨진다.
쌍별 평균 병합 후보를 추가한 후에도 병합 목록이 여전히 가득 차지 않은 경우, 최대 병합 후보 수에 도달할 때까지 영 움직임 벡터가 마지막에 삽입된다.
VVC에서, 일반 병합 모드 외에, 병합 후보 목록의 구성은 또한 움직임 벡터 차이를 이용한 병합 모드(merge mode with motion vector difference; MMVD) 및 삼각형 분배 모드(triangle partition mode; TPM)에 사용될 수 있다.
MMVD에서는, 먼저 병합 후보 목록에서 병합 후보가 선택된 후, 시그널링된 움직임 벡터 차이(Motion Vector Difference; MVD) 정보에 의해 더 개선된다. MMVD 병합 후보 목록의 크기는 2로 설정된다. 병합 후보 플래그는 2개의 MMVD 후보 중 어느 것이 기본 움직임 벡터(MV)로 사용되는지를 지정하도록 시그널링될 수 있다. MVD 정보는 거리 색인 및 방향 색인으로 시그널링될 수 있다. 거리 색인은 움직임 크기 정보를 지정하고 기본 MV에서 미리-정의된 오프셋을 나타낸다. 거리 색인과 미리-정의된 오프셋의 관계는 도 6의 예에 도시되어 있다. 방향 색인은 기본 MV에 추가된 오프셋의 부호를 지정하며, 예를 들어 0은 양수 부호를 보여주고 1은 음수 부호를 보여준다.
TPM에서, CU는 대각선 분할 또는 반-대각선(anti-diagonal) 분할을 사용하여, 2개의 삼각형-모양 파티션으로 균등하게 분할된다. CU의 각 삼각형 파티션은 자체 움직임을 사용하여 인터-예측할 수 있다. 각 파티션에 대해 단일-예측만이 허용된다. 즉, 각 파티션은 하나의 움직임 벡터와 하나의 참조 색인을 갖는다. 양방향-예측과 유사하게, 각 CU에 대해 2개의 움직임 보상 예측만이 필요하게 보장하도록 단일-예측 움직임 제약이 적용된다. 현재 CU에 대해 삼각형 분배 모드가 사용되면, 삼각형 파티션의 방향(대각선 또는 반-대각선)을 나타내는 플래그와 두 개의 병합 색인(각 파티션에 대해 하나씩)이 추가로 시그널링될 수 있다. 각 삼각형 파티션을 예측한 후, 대각선 또는 반-대각선 가장자리를 따라 샘플 값들은 적응 가중치가 있는 혼합 처리를 사용하여 조정된다. 이는 전체 CU에 대한 예측 신호에 대응하며, 일반 인터 모드와 마찬가지로 전체 CU에 변환 및 양자화 프로세스가 적용될 수 있다. 병합 후보 목록이 구성될 수 있다. 최대 TPM 병합 후보의 수는 슬라이스 헤더에서 명시적으로 시그널링될 수 있고 CTC에서 5로 설정될 수 있다.
VVC에서, 공간적 후보, 시간적 후보, HMVP 및 쌍별 평균 후보를 포함하는 병합 후보 목록이 구성된다. 상이한 인터 모드에 대해, 상이한 병합 목록 크기가 적용된다. 예를 들어, 공간적 병합 후보는 {A1, B1, B0, A0, B2} 순서에 따라 병합 목록에 삽입될 수 있다. 그러나, HEVC로부터 VVC로 공간적 병합 후보의 구성 프로세스가 변경되지 않으며, 이는 VVC의 새로운 병합 후보(예를 들어 HMVP, 쌍별 평균)와 새로운 인터 모드(예를 들어 MMVD, TPM)를 고려하지 않는다. 이는 현재 공간적 병합 후보의 다양한 결점으로 이어진다.
예를 들어, 공간적 병합 후보의 순서가 개선될 수 있다. 공간적 병합 후보의 수가 조정될 수 있다. 또한 일반 모드, MMVD 및 TPM 모드에 대해 공간적 병합 후보의 구성이 고정되어, 병합 방법의 가능성이 제한된다. 또한, 저-지연 영상과 비-저-지연 영상에 대해 공간적 병합 후보 구성이 고정되어, 유연성을 저하시킨다. 전술한 및 기타 문제점을 다루기 위해, 본 개시에서는 다양한 해결책이 제공된다.
예를 들어, 일부 실시예에서, 공간적 병합 후보의 순서는 변경될 수 있다. 공간적 병합 후보의 새로운 순서 {B1, A1, B0, A0, B2}가 적용될 수 있다. 공간적 이웃 블록(B1, A1, B0, A0 및 B2)의 위치는 도 7에 예시되어 있다. 일부 실시예에서, 그 순서는 {B1, A1, B0, A0, B2}로 변경될 수 있다.
새로운 순서는 상측 이웃 블록, 좌측 이웃 블록, 상측 이웃 블록, 좌측 이웃 블록 및 상부-좌측 이웃 블록에 순차적으로 대응하며, 상측 및 좌측 이웃 사이를 교차한다. 또한, 공간적 병합 후보의 새로운 순서는 더 높은 부호화 성능을 달성할 수 있다. 도 8 및 도 9에 도시된 바와 같이, 일부 실시예에 따르면, 제안된 방법은 임의 접근(random access; RA) 및 저지연(low delay; LD) 구성 하에서 각각 VTM-6에 비해 평균 0.05% 및 0.21%의 부호화 이득을 얻을 수 있다.
일부 실시예에서, 공간적 병합 후보의 수는 변경될 수 있다. 연산 복잡도와 부호화 성능 사이의 더 나은 절충안을 달성하기 위해, 본 개시의 다양한 실시예에서 줄어든 수의 공간적 병합 후보가 제안되고 적용된다. 공간적 병합 후보의 수를 2로 제한할 때, 구성 순서 {B1, A1}을 적용할 수 있다. 예를 들어, 이웃 블록 B1을 확인하고 가용한 경우 병합 목록에 삽입할 수 있다. 그런 다음, B1과 동일하지 않고 가용하면 이웃 블록 A1을 확인하고 병합 목록에 삽입할 수 있다. 공간적 병합 후보 {B1, A1}를 삽입한 후, 다음의 TMVP, HMVP 및 쌍별 평균 후보가 병합 목록에 추가될 수 있다.
공간적 병합 후보의 수를 3개로 제한할 때, 구성 순서 {B1, A1, B0}가 적용될 수 있다. 이웃 블록의 확인 순서는 B1 -> A1 -> B0이며, 대응하는 MV는 가용하고 중복되지 않는 경우 병합 목록에 삽입될 수 있다.
공간적 병합 후보 {B1, A1, B0}을 사용할 때, VTM-6과 비교한 실험 결과가 도 10 및 도 11에 도시된다. 도 10 및 도 11에 도시된 바와 같이, 일부 실시예에 따르면, 제안된 기술은 RA 및 LD 구성 하에서 0.00% 및 0.10% 부호화 이득을 달성할 수 있다.
또한, 일부 VVC 기술에서, 병합 후보의 총 수가 시그널링될 수 있다. 본 개시의 일부 실시예에서, 병합 후보 목록 구성에 더 많은 유연성을 제공하기 위해 공간적 병합 후보의 수를 추가로 시그널링하는 것이 제안된다. 공간적 병합 후보의 수는 현재 영상의 예측 구조를 고려하여, 상이한 값으로 설정될 수 있다. 현재 영상이 비-저-지연 영상이면, 공간적 병합 후보의 수는 제 1 값으로 설정될 수 있다. 비-저-지연 영상은 디스플레이 순서에 따라 과거 및 미래 모두의 참조 영상을 사용하여 부호화된 영상을 참조할 수 있다. 또는, 현재 영상이 저-지연 영상이면, 공간적 병합 후보의 수는 제 2 값으로 설정될 수 있다. 저-지연 영상은 디스플레이 순서에 따라 과거의 참조 영상만을 이용하여 부호화된 영상을 참조할 수 있다. 제 1 값은 제 2 값보다 클 수 있다. 제 1 값 및 제 2 값은 비트스트림, 예를 들어 슬라이스 헤더에서 명시적으로 시그널링될 수 있다. 예시가 도 12에 도시되어 있다.
신택스 요소 num_spatial_merge_cand_minus2(예를 들어, 도 12의 요소 (1201))는 현재 슬라이스에 사용되는 공간적 병합 후보의 수를 보여줄 수 있다. num_spatial_merge_cand_minus2의 값은 0에서 3까지의 범위일 수 있다. num_spatial_merge_cand_minus2 요소가 존재하지 않을 때, 0과 같은 것으로 유추할 수 있다.
현재 슬라이스를 부호화하는 데 사용되는 참조 영상에 따라, 슬라이스가 저-지연 또는 비-저-지연으로 분류될 수 있고, 상이한 수의 병합 후보가 사용될 수 있다. num_spatial_merge_cand_minus2의 값은 이에 따라 인코더에 의해 설정되고 비트스트림 내에서 보내질 수 있다.
대안적으로, 슬라이스 헤더에서 하나의 신택스 요소를 시그널링하는 대신, 도 13(예를 들어, 요소(1301)) 및 도 14(예를 들어 요소(1401))에 도시된 바와 같이, 2개의 신택스 요소, num_spatial_merge_cand_minus2_non_lowdelay 및 num_spatial_merge_cand_minus2_lowdelay가 영상 매개변수 세트(PPS) 또는 시퀀스 매개변수 세트(SPS)에서 시그널링될 수 있다. 또한, 슬라이스 수준에서, 슬라이스 유형에 따라, 대응하는 수의 공간적 병합 후보가 사용될 수 있다.
num_spatial_merge_cand_minus2_non_lowdelay 및 num_spatial_merge_cand_minus2_lowdelay의 값은 각각 비-저-지연 슬라이스 및 저-지연 슬라이스에 사용되는 공간적 병합 후보의 수를 보여줄 수 있다. num_spatial_merge_cand_minus2_non_lowdelay 및 num_spatial_merge_cand_minus2_lowdelay의 값은 0에서 3까지의 범위에 있을 수 있다. num_spatial_merge_cand_minus2_non_lowdelay 또는 num_spatial_merge_cand_minus2_lowdelay가 존재하지 않을 때, 0과 같은 것으로 유추할 수 있다.
일부 실시예에서, 공간적 병합 후보의 개별 구성 순서가 상이한 인터 모드에 적용될 수 있다. 예를 들어, {B1, A1, B0, A0, B2} 및 {A1, B1, B0, A0, B2}를 포함하는 공간적 병합 후보의 두 가지 구성 순서를 고려할 수 있다. 일반 병합 모드, MMVD 모드 및 TPM 모드의 경우, 상이한 구성 순서를 채택할 수 있다. 일부 실시예에서, {B1, A1, B0, A0, B2}는 일반 병합 모드 및 TPM 모드에 대해 사용하고, {A1, B1, B0, A0, B2}는 MMVD 모드에 대해 사용하는 것이 제안된다. 예시적인 실시예의 실험 결과가 도 15 및 도 16에 도시된다. 제안된 방법은 RA 및 LD 구성 하에서 각각 평균 0.07% 및 0.16% 부호화 이득을 달성할 수 있음이 관찰된다.
본 개시에 기초하여, 당업자는 공간적 병합 후보 순서 및 병합 모드의 다른 조합이 사용될 수 있음을 이해할 수 있다. 예를 들어, {B1, A1, B0, A0, B2}는 일반 병합 모드에서만 사용될 수 있고, {A1, B1, B0, A0, B2}는 MMVD 모드와 TMP 모드에서 사용될 수 있다.
일부 실시예에서, 공간적 병합 후보의 적응적 구성 순서는 프레임 유형에 기초하여 적용될 수 있다. 예를 들어, 저-지연 및 비-저-지연 영상과 같은, 상이한 유형의 인터 부호화된 영상에 대해 상이한 공간적 병합 후보 구성 방법이 적용될 수 있다. 일부 실시예에서, 저-지연 영상의 경우, 공간적 병합 후보의 구성 순서 {B1, A1, B0, A0, B2}는 일반 병합 모드, TPM 모드 및 MMVD 모드에 대해 사용될 수 있다. 비-저-지연 영상의 경우, 공간적 병합 후보의 구성 순서 {B1, A1, B0, A0, B2}는 일반 병합 모드와 TPM 모드에 사용할 수 있으며 공간적 병합 후보의 구성 순서 {A1, B1, B0, A0, B2}는 MMVD 모드에 사용할 수 있다. 예시적인 실시예의 실험 결과가 도 17 및 도 18에 도시되어 있다. 제안된 방법은 RA 및 LD 구성 하에서 각각 평균 0.08% 및 0.21% 부호화 이득을 달성할 수 있음이 관찰된다.
도 19는 개시의 실시예에 부합하는, 예시적인 비디오 처리 방법(1900)의 흐름도를 도시한다. 일부 실시예에서, 방법(1900)은 인코더, 디코더, 장치(예를 들어, 도 4a의 장치(400))의 하나 이상의 소프트웨어 또는 하드웨어 성분에 의해 수행될 수 있다. 예를 들어, 프로세서(예를 들어, 도 4a의 프로세서(402))는 방법(1900)을 수행할 수 있다. 일부 실시예에서, 방법(1900)은 컴퓨터(예를 들어, 도 4a의 장치(400))에 의해 실행되는 프로그램 코드와 같은, 컴퓨터-실행가능 명령어들을 포함하는, 컴퓨터-판독가능 매체에 실시된, 컴퓨터 프로그램 제품에 의해 구현될 수 있다.
단계(802)에서, 공간적 병합 후보의 세트가, 예를 들어, 인코더, 디코더 또는 장치(예를 들어, 도 4a의 장치(400))의 하나 이상의 소프트웨어 또는 하드웨어 성분에 의해 부호화 블록의 병합 후보 목록에 삽입될 수 있다. VVC에서, 공간적 병합 후보의 순서를 개선할 수 있다. 공간적 병합 후보 세트는 상측 이웃 블록, 좌측 이웃 블록, 상측 이웃 블록, 좌측 이웃 블록 및 상부-좌측 이웃 블록의 순서에 따라 삽입될 수 있다. 예를 들어, 공간적 병합 후보 {B1, A1, B0, A0, B2}의 새로운 순서는 도 7에 도시되어 있다.
공간적 병합 후보의 수는 조정될 수 있다. 단계(804)에서, 공간적 병합 후보의 미리 설정된 수 제한이 결정된다.
단계(806)에서, 수 제한이 2이면, 공간적 병합 후보 세트는 상측 이웃 블록, 좌측 이웃 블록의 순서에 기초하여 병합 후보 목록에 삽입된다. 공간적 병합 후보의 수를 2개로 제한할 때, 구성 순서 {B1, A1}을 적용할 수 있다. 예를 들어, 이웃 블록(B1)을 확인하고 가용한 경우 병합 목록에 삽입할 수 있다. 그런 다음, 이웃 블록(A1)을 확인하고 B1과 동일하지 않고 가용하면 병합 목록에 삽입할 수 있다. 공간적 병합 후보 {B1, A1}를 삽입한 후, 다음의 TMVP, HMVP 및 쌍별 평균 후보를 병합 목록에 추가할 수 있다.
단계(808)에서, 수 제한이 3이면, 공간적 병합 후보의 세트는 상측 이웃 블록, 좌측 이웃 블록, 상측 이웃 블록의 순서에 기초하여 병합 후보 목록에 삽입된다. 공간적 병합 후보의 수를 3개로 제한할 때, 구성 순서 {B1, A1, B0}를 적용할 수 있다. 이웃 블록의 검사 순서는 B1 -> A1 -> B0이며, 대응하는 MV는 가용하고 중복되지 않으면 병합 목록에 삽입할 수 있다.
일부 실시예에서, 다음 중 적어도 하나가 병합 후보 목록에 추가될 수 있다: 공통 위치된 부호화 단위로부터의 시간적 병합 후보, 선입선출(FIFO) 테이블로부터의 이력-기반 움직임 벡터 예측자(HMVP), 쌍별 평균 후보 또는 영 움직임 벡터.
HMVP에서, 이전에 부호화된 블록의 움직임 정보는 FIFO 테이블에 저장되어 현재 부호화 단위에 대한 움직임 벡터 예측자로 사용된다. 다중 HMVP 후보가 있는 테이블은 인코딩/디코딩 프로세스 동안 유지된다. 새로운 CTU 행이 발견되면 테이블이 재설정(비워짐)된다. 비-서브블록 인터-부호화된 부호화 단위가 있는 경우, 비-서브블록 인터-부호화된 부호화 단위와 연관된 움직임 정보가 새로운 HMVP 후보로서 FIFO 테이블의 마지막 엔트리에 추가된다.
쌍별 평균 후보는 병합 후보 목록의 후보 쌍을 평균하여 생성되고 병합 후보 목록이 가득 차지 않은 것에 응답하여 하나 이상의 HMVP가 병합 후보 목록에 추가된 후에 병합 후보 목록에 추가된다.
쌍별 평균 병합 후보를 추가한 후에도 병합 목록이 가득 차지 않은 경우, 최대 병합 후보 개수에 도달할 때까지 영 움직임 벡터를 병합 후보 목록의 끝에 삽입한다.
단계(810)에서, 제 1 부호화 모드 또는 제 2 부호화 모드가 부호화 블록에 적용되는지는 예를 들어, 인코더 또는 디코더에 의해 결정된다. 제 1 부호화 모드는 제 2 부호화 모드와 상이하다. 일부 실시예에서, 제 1 부호화 모드 및 제 2 부호화 모드 각각은 일반 병합 모드, 움직임 벡터 차이를 이용한 병합 모드(MMVD) 및 삼각형 분배 모드(TPM) 중 하나일 수 있다.
단계(812)에서, 제 1 부호화 모드가 부호화 블록에 적용될 때, 공간적 병합 후보의 세트는 제 1 구성 순서에 따라 삽입된다. 예를 들어, MMVD에서는, 병합 후보 목록에서 먼저 병합 후보를 선택한 다음, 시그널링된 움직임 벡터 차이(MVD) 정보에 의해 개선하고, 두 개의 MMVD 후보 중 어느 것이 기본 움직임 벡터로 사용되는지 지정하기 위해 병합 후보 플래그가 시그널링된다. MVD 정보는 거리 색인과 방향 색인으로 시그널링될 수 있다. 거리 색인은 움직임 크기 정보를 지정하고 기본 MV로부터 미리-정의된 오프셋을 보여준다. 거리 색인과 미리-정의된 오프셋의 관계는 도 6의 예시에 도시되어 있다. 방향 색인은 기본 MV에 추가된 오프셋의 부호를 지정한다. 예를 들어 0은 양수 부호를 보여주고 1은 음수 부호를 보여준다.
단계(814)에서, 제 2 부호화 모드가 부호화 블록에 적용될 때, 공간적 병합 후보의 세트는 제 2 구성 순서에 따라 삽입된다. 예를 들어, TPM에서, 부호화 단위는 대각선 분할 또는 반-대각선 분할 중 적어도 하나를 사용하여, 두 개의 삼각형-모양 파티션으로 균등하게 분할된다. CU의 각 삼각형 파티션은 자체 움직임을 사용하여 인터-예측될 수 있다. 각 파티션에 대해 단일-예측만이 허용된다. 즉, 각 파티션은 하나의 움직임 벡터와 하나의 참조 색인을 갖는다.
단계(816)에서, 부호화 블록이 저-지연 영상 또는 비-저-지연 영상의 일부인지가 결정된다.
단계(818)에서, 부호화 블록이 저-지연 영상의 일부일 때, 공간적 병합 후보 세트는 제 3 구성 순서에 따라 삽입된다. 일부 실시예에서, 저-지연 영상의 경우, 공간적 병합 후보의 구성 순서 {B1, A1, B0, A0, B2}는 일반 병합 모드, TPM 모드 및 MMVD 모드에 대해 사용될 수 있다.
단계(820)에서, 부호화 블록이 비-저-지연 영상의 일부일 때, 공간적 병합 후보 세트는 제 4 구성 순서에 따라 삽입된다. 제 3 구성 순서는 제 4 구성 순서와 상이하다. 제 3 구성 순서와 제 4 구성 순서는 움직임 벡터 차이를 이용한 병합 모드에 사용된다. 일부 실시예에서, 비-저 지연 영상에 대해, 공간적 병합 후보의 구성 순서 {B1, A1, B0, A0, B2}는 일반 병합 모드 및 TPM 모드에 대해 사용될 수 있고, 공간적 병합 후보의 구성 순서 {A1, B1, B0, A0, B2}는 MMVD 모드에 대해 사용될 수 있다.
본 개시와 부합하게, 당업자는 하나 이상의 전술한 방법이 조합되어 사용될 수 있거나 개별적으로 사용될 수 있음을 이해할 것이다. 예를 들어, 줄어든 수의 공간적 병합 후보를 채택하는 기술은 상이한 인터 모드에 대한 공간적 병합 후보의 개별 구성 순서를 사용하는 제안된 방법과 조합하여 사용할 수 있다.
일부 실시예에서, 명령어들을 포함하는 비-일시적 컴퓨터-판독가능 저장 매체가 또한 제공되고, 명령어들은 전술한 방법을 수행하기 위한 디바이스(예컨대 개시된 인코더 및 디코더)에 의해 실행될 수 있다. 비-일시적 매체의 일반적인 형태는, 예를 들어, 플로피 디스크, 플렉서블 디스크, 하드 디스크, 솔리드 스테이트 드라이브, 자기 테이프 또는 기타 자기 데이터 저장 매체, CD-ROM, 기타 광학 데이터 저장 매체, 구멍 패턴이 있는 임의의 물리적 매체, RAM, PROM 및 EPROM, FLASH-EPROM 또는 임의의 다른 플래시 메모리, NVRAM, 캐시, 레지스터, 임의의 다른 메모리 칩 또는 카트리지 및 이의 네트워크로 연결된 버전을 포함한다. 디바이스는 하나 이상의 프로세서(CPU), 입력/출력 인터페이스, 네트워크 인터페이스 및/또는 메모리를 포함할 수 있다.
본원에서 "제 1" 및 "제 2"와 같은 관계 용어는 개체 또는 작업을 다른 개체 또는 동작과 구별하는 데에만 사용되며, 이러한 개체 또는 동작 사이의 임의의 실제 관계 또는 순서를 요구하거나 암시하지 않음을 유의하여야 한다. 또한, "포함하는(comprising)", "갖는(having)", "함유하는(containing)" 및 "포함하는(including)"이라는 단어 및 기타 유사한 형태는 의미가 동등하며 이러한 단어 중 임의의 것 뒤에 오는 항목 또는 항목들이 그러한 항목 또는 항목들의 완전한 목록을 의미하거나 나열된 항목 또는 항목들만으로 제한되어야 하는 것이 아닌, 개방적인 것으로 의도된다.
본원에서 사용되는 바와 따르면, 달리 구체적으로 언급되지 않는 한, 용어 "또는"은 실행 불가능한 경우를 제외하고 모든 가능한 조합을 포함한다. 예를 들어, 데이터베이스가 A 또는 B를 포함할 수 있다고 명시되어 있는 경우, 구체적으로 달리 명시되거나 실행 불가능한 경우를 제외하고, 데이터베이스는 A 또는 B 또는 A와 B를 포함할 수 있다. 제 2의 예시로서, 데이터베이스가 A, B 또는 C를 포함할 수 있다고 명시되어 있는 경우, 구체적으로 달리 명시되거나 실행 불가능한 경우를 제외하고, 데이터베이스는 A 또는 B 또는 C 또는 A와 B 또는 A와 C 또는 B와 C 또는 A와 B와 C를 포함할 수 있다.
전술한 실시예는 하드웨어, 또는 소프트웨어(프로그램 코드) 또는 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있다는 것이 이해된다. 소프트웨어로 구현되는 경우, 전술한 컴퓨터-판독가능 매체에 저장될 수 있다. 프로세서에 의해 실행될 때, 소프트웨어는 개시된 방법을 수행할 수 있다. 이 개시에서 설명된 연산 단위 및 다른 기능 단위는 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 당업자는 또한 위에서 설명된 모듈/단위 중 다수가 하나의 모듈/단위로 결합될 수 있고, 위에서 설명된 모듈/단위 각각은 복수의 서브-모듈/서브-단위로 더 분할될 수 있음을 이해할 것이다.
실시예는 다음의 조항을 사용하여 추가로 설명될 수 있다.
1. 비디오 처리 방법에 있어서:
부호화 블록의 병합 후보 목록에 공간적 병합 후보 세트를 삽입하는 것을 포함하며,
공간적 병합 후보 세트는 상측 이웃 블록, 좌측 이웃 블록, 상측 이웃 블록, 좌측 이웃 블록 및 상부-좌측 이웃 블록의 순서에 따라 삽입되는, 방법.
2. 조항 1에 있어서:
공통 위치된(collocated) 부호화 단위로부터의 시간적 병합 후보, 선입선출(First-In, First-Out; FIFO) 테이블로부터의 이력-기반 움직임 벡터 예측자(history-based motion vector predictor; HMVP), 쌍별(pairwise) 평균 후보 또는 영(zero) 움직임 벡터 중 적어도 하나를 병합 후보 목록에 추가하는 것을 더 포함하는, 방법.
3. 조항 2에 있어서, 이전 부호화된 블록의 움직임 정보가 FIFO 테이블 내에 저장되고 현재 부호화 단위의 움직임 벡터 예측자로 사용되는, 방법.
4. 조항 2 및 3 중 어느 하나에 있어서, 비-서브블록(non-subblock) 인터-부호화된 부호화 단위와 연관된 움직임 정보가 새로운 HMVP 후보로 FIFO 테이블의 마지막 엔트리에 추가되는, 방법.
5. 조항 2에 있어서,
쌍별 평균 후보는 병합 후보 목록 내의 후보 쌍을 평균하여 생성되고 병합 후보 목록이 가득 차지 않은 것에 응답하여 하나 이상의 HMVP가 병합 후보 목록에 추가된 후에 병합 후보 목록에 추가되는, 방법.
6. 조항 2에 있어서,
최대 병합 후보 수에 도달할 때까지 병합 후보 목록의 끝에 영 움직임 벡터가 삽입되는, 방법.
7. 비디오 처리 방법에 있어서:
공간적 병합 후보의 미리 설정된 수 제한에 기초하여, 부호화 블록의 병합 후보 목록에 공간적 병합 후보 세트를 삽입하는 것을 포함하며,
수 제한이 2이면, 공간적 병합 후보 세트는 상측 이웃 블록, 좌측 이웃 블록의 순서에 기초하여 병합 후보 목록에 삽입되고;
수 제한이 3이면, 공간적 병합 후보 세트는 상측 이웃 블록, 좌측 이웃 블록, 상측 이웃 블록의 순서에 기초하여 병합 후보 목록에 삽입되는, 방법.
8. 조항 7에 있어서,
현재 영상이 디스플레이 순서에 따라 과거 참조 영상 및 미래 참조 영상을 사용하여 부호화된 것에 응답하여, 공간적 병합 후보의 수를 제 1 값으로 설정하고;
현재 영상이 디스플레이 순서에 따라 과거 참조 영상을 사용하여 부호화된 것에 응답하여, 공간적 병합 후보의 수를 제 1 값보다 작은 제 2 값으로 설정하는 방법.
9. 조항 7에 있어서:
병합 후보 목록에 삽입된 공간적 병합 후보의 수를 시그널링하는 것을 더 포함하는 방법.
10. 조항 7-9 중 어느 하나에 있어서,
공통 위치된 부호화 단위로부터의 시간적 병합 후보, FIFO 테이블로부터의 이력-기반 움직임 벡터 예측자(HMVP), 쌍별 평균 후보 또는 영 움직임 벡터 중 적어도 하나를 병합 후보 목록에 추가하는 것을 더 포함하는, 방법.
11. 조항 10에 있어서,
이전 부호화된 블록의 움직임 정보가 FIFO 테이블 내에 저장되고 현재 부호화 단위의 움직임 벡터 예측자로 사용되는, 방법.
12. 조항 10 및 11 중 어느 하나에 있어서,
비-서브블록 인터-부호화된 부호화 단위와 연관된 움직임 정보가 새로운 HMVP 후보로 FIFO 테이블의 마지막 엔트리에 추가되는, 방법.
13. 조항 10에 있어서,
쌍별 평균 후보는 병합 후보 목록 내의 후보 쌍을 평균하여 생성되고 병합 후보 목록이 가득 차지 않은 것에 응답하여 하나 이상의 HMVP가 병합 후보 목록에 추가된 후에 병합 후보 목록에 추가되는, 방법.
14. 조항 10에 있어서,
최대 병합 후보 수에 도달할 때까지 병합 후보 목록의 끝에 영 움직임 벡터가 삽입되는, 방법.
15. 비디오 처리 방법에 있어서:
부호화 블록의 병합 후보 목록에 공간적 병합 후보 세트를 삽입하는 것을 포함하며,
부호화 블록에 제 1 부호화 모드가 적용될 때, 공간적 병합 후보 세트는 제 1 구성 순서에 따라 삽입되고;
부호화 블록에 제 2 부호화 모드가 적용될 때, 공간적 병합 후보 세트는 제 2 구성 순서에 따라 삽입되며;
제 1 구성 순서는 제 2 구성 순서와 상이한, 방법.
16. 조항 15에 있어서, 제 1 및 제 2 부호화 모드는:
일반 병합 모드, 움직임 벡터 차이를 이용한 병합 모드(merge mode with motion vector difference; MMVD) 및 삼각형 분배 모드(triangle partition mode; TPM)로부터 선택된 두 개의 상이한 모드인, 방법.
17. 조항 16에 있어서,
MMVD에서, 병합 후보는 병합 후보 목록으로부터 먼저 선택되고, 그런 다음 시그널링된 움직임 벡터 차이(motion vector difference; MVD)에 의해 개선되며, 두 개의 MMVD 후보 중 어느 것이 기본 움직임 벡터로 사용되는지 지정하기 위하여 병합 후보 플래그가 시그널링되는, 방법.
18. 조항 16에 있어서,
TPM에서, 대각선 분할 또는 반-대각선(anti-diagonal) 분할을 사용하여, 부호화 단위가 두 개의 삼각형-모양 파티션으로 균등하게 분할되는 방법.
19. 조항 15 및 16 중 어느 하나에 있어서,
공통 위치된 부호화 단위로부터의 시간적 병합 후보, FIFO 테이블로부터의 이력-기반 움직임 벡터 예측자(HMVP), 쌍별 평균 후보 또는 영 움직임 벡터 중 적어도 하나를 병합 후보 목록에 추가하는 것을 더 포함하는, 방법.
20. 조항 19에 있어서,
이전 부호화된 블록의 움직임 정보가 FIFO 테이블 내에 저장되고 현재 부호화 단위의 움직임 벡터 예측자로 사용되는, 방법.
21. 조항 19 및 20 중 어느 하나에 있어서,
비-서브블록 인터-부호화된 부호화 단위와 연관된 움직임 정보가 새로운 HMVP 후보로 FIFO 테이블의 마지막 엔트리에 추가되는, 방법.
22. 조항 19에 있어서,
쌍별 평균 후보는 병합 후보 목록 내의 후보 쌍을 평균하여 생성되고 병합 후보 목록이 가득 차지 않은 것에 응답하여 하나 이상의 HMVP가 병합 후보 목록에 추가된 후에 병합 후보 목록에 추가되는, 방법.
23. 조항 19에 있어서,
최대 병합 후보 수에 도달할 때까지 병합 후보 목록의 끝에 영 움직임 벡터가 삽입되는, 방법.
24. 비디오 처리 방법에 있어서:
부호화 블록의 병합 후보 목록에 공간적 병합 후보 세트를 삽입하는 것을 포함하며,
부호화 블록이 저-지연(low-delay) 영상의 일부일 때, 공간적 병합 후보 세트는 제 1 구성 순서에 따라 삽입되고;
부호화 블록이 비-저-지연(non-low-delay) 영상의 일부일 때, 공간적 병합 후보 세트는 제 2 구성 순서에 따라 삽입되며;
제 1 구성 순서는 제 2 구성 순서와 상이한, 방법.
25. 조항 24에 있어서,
제 1 구성 순서와 제 2 구성 순서는 움직임 벡터 차이를 이용한 병합 모드(MMVD)에 대해 사용되는, 방법.
26. 조항 24에 있어서,
공통 위치된 부호화 단위로부터의 시간적 병합 후보, FIFO 테이블로부터의 이력-기반 움직임 벡터 예측자(HMVP), 쌍별 평균 후보 또는 영 움직임 벡터 중 적어도 하나를 병합 후보 목록에 추가하는 것을 더 포함하는, 방법.
27. 조항 26에 있어서,
이전 부호화된 블록의 움직임 정보가 FIFO 테이블 내에 저장되고 현재 부호화 단위의 움직임 벡터 예측자로 사용되는, 방법.
28. 조항 26 및 27 중 어느 하나에 있어서,
비-서브블록 인터-부호화된 부호화 단위와 연관된 움직임 정보가 새로운 HMVP 후보로 FIFO 테이블의 마지막 엔트리에 추가되는, 방법.
29. 조항 26에 있어서,
쌍별 평균 후보는 병합 후보 목록 내의 후보 쌍을 평균하여 생성되고 병합 후보 목록이 가득 차지 않은 것에 응답하여 하나 이상의 HMVP가 병합 후보 목록에 추가된 후에 병합 후보 목록에 추가되는, 방법.
30. 조항 26에 있어서,
최대 병합 후보 수에 도달할 때까지 병합 후보 목록의 끝에 영 움직임 벡터가 삽입되는, 방법.
31. 비디오 처리 장치에 있어서:
명령어들의 세트를 저장하는 메모리; 및
명령어들의 세트를 실행하여 장치가:
부호화 블록의 병합 후보 목록에 공간적 병합 후보 세트를 삽입하는 것을 수행하게 하도록 구성되는 하나 이상의 프로세서를 포함하며,
공간적 병합 후보 세트는 상측 이웃 블록, 좌측 이웃 블록, 상측 이웃 블록, 좌측 이웃 블록 및 상부-좌측 이웃 블록의 순서에 따라 삽입되는, 장치.
32. 조항 31에 있어서, 하나 이상의 프로세서는 명령어들의 세트를 실행하여 장치가:
공통 위치된 부호화 단위로부터의 시간적 병합 후보, 선입선출(FIFO) 테이블로부터의 이력-기반 움직임 벡터 예측자(HMVP), 쌍별 평균 후보 또는 영 움직임 벡터 중 적어도 하나를 병합 후보 목록에 추가하는 것을 더 수행하게 하도록 구성되는, 장치.
33. 조항 32에 있어서,
이전 부호화된 블록의 움직임 정보가 FIFO 테이블 내에 저장되고 현재 부호화 단위의 움직임 벡터 예측자로 사용되는, 장치.
34. 조항 32 및 33 중 어느 하나에 있어서,
비-서브블록 인터-부호화된 부호화 단위와 연관된 움직임 정보가 새로운 HMVP 후보로 FIFO 테이블의 마지막 엔트리에 추가되는, 장치.
35. 조항 32에 있어서,
쌍별 평균 후보는 병합 후보 목록 내의 후보 쌍을 평균하여 생성되고 병합 후보 목록이 가득 차지 않은 것에 응답하여 하나 이상의 HMVP가 병합 후보 목록에 추가된 후에 병합 후보 목록에 추가되는, 장치.
36. 조항 32에 있어서,
최대 병합 후보 수에 도달할 때까지 병합 후보 목록의 끝에 영 움직임 벡터가 삽입되는, 장치.
37. 비디오 처리 장치에 있어서:
명령어들의 세트를 저장하는 메모리; 및
명령어들의 세트를 실행하여 장치가:
공간적 병합 후보의 미리 설정된 수 제한에 기초하여, 부호화 블록의 병합 후보 목록에 공간적 병합 후보 세트를 삽입하는 것을 수행하게 하도록 구성되는 하나 이상의 프로세서를 포함하며,
수 제한이 2이면, 공간적 병합 후보 세트는 상측 이웃 블록, 좌측 이웃 블록의 순서에 기초하여 병합 후보 목록에 삽입되고;
수 제한이 3이면, 공간적 병합 후보 세트는 상측 이웃 블록, 좌측 이웃 블록, 상측 이웃 블록의 순서에 기초하여 병합 후보 목록에 삽입되는, 장치.
38. 조항 37에 있어서,
현재 영상이 디스플레이 순서에 따라 과거 참조 영상 및 미래 참조 영상을 사용하여 부호화된 것에 응답하여, 공간적 병합 후보의 수를 제 1 값으로 설정하고;
현재 영상이 디스플레이 순서에 따라 과거 참조 영상을 사용하여 부호화된 것에 응답하여, 공간적 병합 후보의 수를 제 1 값보다 작은 제 2 값으로 설정하는 장치.
39. 조항 37에 있어서, 하나 이상의 프로세서는 명령어들의 세트를 실행하여 장치가:
병합 후보 목록에 삽입된 공간적 병합 후보의 수를 시그널링하는 것을 더 수행하게 하도록 구성되는, 장치.
40. 조항 37-39 중 어느 하나에 있어서, 하나 이상의 프로세서는 명령어들의 세트를 실행하여 장치가:
공통 위치된 부호화 단위로부터의 시간적 병합 후보, FIFO 테이블로부터의 이력-기반 움직임 벡터 예측자(HMVP), 쌍별 평균 후보 또는 영 움직임 벡터 중 적어도 하나를 병합 후보 목록에 추가하는 것을 더 수행하게 하도록 구성되는, 장치.
41. 조항 40에 있어서,
이전 부호화된 블록의 움직임 정보가 FIFO 테이블 내에 저장되고 현재 부호화 단위의 움직임 벡터 예측자로 사용되는, 장치.
42. 조항 40 및 41 중 어느 하나에 있어서,
비-서브블록 인터-부호화된 부호화 단위와 연관된 움직임 정보가 새로운 HMVP 후보로 FIFO 테이블의 마지막 엔트리에 추가되는, 장치.
43. 조항 40에 있어서,
쌍별 평균 후보는 병합 후보 목록 내의 후보 쌍을 평균하여 생성되고 병합 후보 목록이 가득 차지 않은 것에 응답하여 하나 이상의 HMVP가 병합 후보 목록에 추가된 후에 병합 후보 목록에 추가되는, 장치.
44. 조항 40에 있어서,
최대 병합 후보 수에 도달할 때까지 병합 후보 목록의 끝에 영 움직임 벡터가 삽입되는, 장치.
45. 비디오 처리 장치에 있어서:
명령어들의 세트를 저장하는 메모리; 및
명령어들의 세트를 실행하여 장치가:
부호화 블록의 병합 후보 목록에 공간적 병합 후보 세트를 삽입하는 것을 수행하게 하도록 구성되는 하나 이상의 프로세서를 포함하며,
부호화 블록에 제 1 부호화 모드가 적용될 때, 공간적 병합 후보 세트는 제 1 구성 순서에 따라 삽입되고;
부호화 블록에 제 2 부호화 모드가 적용될 때, 공간적 병합 후보 세트는 제 2 구성 순서에 따라 삽입되며;
제 1 구성 순서는 제 2 구성 순서와 상이한, 장치.
46. 조항 45에 있어서, 제 1 및 제 2 부호화 모드는:
일반 병합 모드, 움직임 벡터 차이를 이용한 병합 모드(MMVD) 및 삼각형 분배 모드(TPM)로부터 선택된 두 개의 상이한 모드인, 장치.
47. 조항 46에 있어서,
MMVD에서, 병합 후보는 병합 후보 목록으로부터 먼저 선택되고, 그런 다음 시그널링된 움직임 벡터 차이(MVD)에 의해 개선되며, 두 개의 MMVD 후보 중 어느 것이 기본 움직임 벡터로 사용되는지 지정하기 위하여 병합 후보 플래그가 시그널링되는, 장치.
48. 조항 45 및 46 중 어느 하나에 있어서,
TPM에서, 대각선 분할 또는 반-대각선 분할을 사용하여, 부호화 단위가 두 개의 삼각형-모양 파티션으로 균등하게 분할되는, 장치.
49. 조항 46에 있어서,
공통 위치된 부호화 단위로부터의 시간적 병합 후보, FIFO 테이블로부터의 이력-기반 움직임 벡터 예측자(HMVP), 쌍별 평균 후보 또는 영 움직임 벡터 중 적어도 하나를 병합 후보 목록에 추가하는 것을 더 포함하는, 장치.
50. 조항 49에 있어서,
이전 부호화된 블록의 움직임 정보가 FIFO 테이블 내에 저장되고 현재 부호화 단위의 움직임 벡터 예측자로 사용되는, 장치.
51. 조항 49 및 50 중 어느 하나에 있어서,
비-서브블록 인터-부호화된 부호화 단위와 연관된 움직임 정보가 새로운 HMVP 후보로 FIFO 테이블의 마지막 엔트리에 추가되는, 장치.
52. 조항 49에 있어서,
쌍별 평균 후보는 병합 후보 목록 내의 후보 쌍을 평균하여 생성되고 병합 후보 목록이 가득 차지 않은 것에 응답하여 하나 이상의 HMVP가 병합 후보 목록에 추가된 후에 병합 후보 목록에 추가되는, 장치.
53. 조항 49에 있어서,
최대 병합 후보 수에 도달할 때까지 병합 후보 목록의 끝에 영 움직임 벡터가 삽입되는, 장치.
54. 비디오 처리 장치에 있어서:
명령어들의 세트를 저장하는 메모리; 및
명령어들의 세트를 실행하여 장치가:
부호화 블록의 병합 후보 목록에 공간적 병합 후보 세트를 삽입하는 것을 수행하게 하도록 구성되는 하나 이상의 프로세서를 포함하며,
부호화 블록이 저-지연 영상의 일부일 때, 공간적 병합 후보 세트는 제 1 구성 순서에 따라 삽입되고;
부호화 블록이 비-저-지연 영상의 일부일 때, 공간적 병합 후보 세트는 제 2 구성 순서에 따라 삽입되며;
제 1 구성 순서는 제 2 구성 순서와 상이한 장치.
55. 조항 54에 있어서,
제 1 구성 순서와 제 2 구성 순서는 움직임 벡터 차이를 이용한 병합 모드(MMVD)에 대해 사용되는 장치.
56. 조항 54에 있어서, 하나 이상의 프로세서는 명령어들의 세트를 실행하여 장치가:
공통 위치된 부호화 단위로부터의 시간적 병합 후보, FIFO 테이블로부터의 이력-기반 움직임 벡터 예측자(HMVP), 쌍별 평균 후보 또는 영 움직임 벡터 중 적어도 하나를 병합 후보 목록에 추가하는 것을 더 수행하게 하도록 구성되는, 장치.
57. 조항 56에 있어서,
이전 부호화된 블록의 움직임 정보가 FIFO 테이블 내에 저장되고 현재 부호화 단위의 움직임 벡터 예측자로 사용되는, 장치.
58. 조항 56 및 57 중 어느 하나에 있어서,
비-서브블록 인터-부호화된 부호화 단위와 연관된 움직임 정보가 새로운 HMVP 후보로 FIFO 테이블의 마지막 엔트리에 추가되는, 장치.
59. 조항 56에 있어서,
쌍별 평균 후보는 병합 후보 목록 내의 후보 쌍을 평균하여 생성되고 병합 후보 목록이 가득 차지 않은 것에 응답하여 하나 이상의 HMVP가 병합 후보 목록에 추가된 후에 병합 후보 목록에 추가되는, 장치.
60. 조항 56에 있어서,
최대 병합 후보 수에 도달할 때까지 병합 후보 목록의 끝에 영 움직임 벡터가 삽입되는, 장치.
61. 컴퓨터의 적어도 하나의 프로세서에 의해 실행 가능하여 컴퓨터가 비디오 처리 방법을 수행하게 하는 명령어들의 세트를 저장하는 비-일시적 컴퓨터 판독가능 매체에 있어서, 방법은:
부호화 블록의 병합 후보 목록에 공간적 병합 후보 세트를 삽입하는 것을 포함하며,
공간적 병합 후보 세트는 상측 이웃 블록, 좌측 이웃 블록, 상측 이웃 블록, 좌측 이웃 블록 및 상부-좌측 이웃 블록의 순서에 따라 삽입되는, 비-일시적 컴퓨터 판독가능 매체.
62. 조항 61에 있어서, 컴퓨터에 의해 실행 가능한 명령어들의 세트는 컴퓨터가:
공통 위치된 부호화 단위로부터의 시간적 병합 후보, 선입선출(FIFO) 테이블로부터의 이력-기반 움직임 벡터 예측자(HMVP), 쌍별 평균 후보 또는 영 움직임 벡터 중 적어도 하나를 병합 후보 목록에 추가하는 것을 더 수행하게 하는, 비-일시적 컴퓨터 판독가능 매체.
63. 조항 62에 있어서,
이전 부호화된 블록의 움직임 정보가 FIFO 테이블 내에 저장되고 현재 부호화 단위의 움직임 벡터 예측자로 사용되는, 비-일시적 컴퓨터 판독가능 매체.
64. 조항 62 및 63 중 어느 하나에 있어서,
비-서브블록 인터-부호화된 부호화 단위와 연관된 움직임 정보가 새로운 HMVP 후보로 FIFO 테이블의 마지막 엔트리에 추가되는, 비-일시적 컴퓨터 판독가능 매체.
65. 조항 62에 있어서,
쌍별 평균 후보는 병합 후보 목록 내의 후보 쌍을 평균하여 생성되고 병합 후보 목록이 가득 차지 않은 것에 응답하여 하나 이상의 HMVP가 병합 후보 목록에 추가된 후에 병합 후보 목록에 추가되는, 비-일시적 컴퓨터 판독가능 매체.
66. 조항 62에 있어서,
최대 병합 후보 수에 도달할 때까지 병합 후보 목록의 끝에 영 움직임 벡터가 삽입되는, 비-일시적 컴퓨터 판독가능 매체.
67. 컴퓨터의 적어도 하나의 프로세서에 의해 실행 가능하여 컴퓨터가 비디오 처리 방법을 수행하게 하는 명령어들의 세트를 저장하는 비-일시적 컴퓨터 판독가능 매체에 있어서, 방법은:
공간적 병합 후보의 미리 설정된 수 제한에 기초하여, 부호화 블록의 병합 후보 목록에 공간적 병합 후보 세트를 삽입하는 것을 포함하며,
수 제한이 2이면, 공간적 병합 후보 세트는 상측 이웃 블록, 좌측 이웃 블록의 순서에 기초하여 병합 후보 목록에 삽입되고;
수 제한이 3이면, 공간적 병합 후보 세트는 상측 이웃 블록, 좌측 이웃 블록, 상측 이웃 블록의 순서에 기초하여 병합 후보 목록에 삽입되는, 비-일시적 컴퓨터 판독가능 매체.
68. 조항 67에 있어서,
현재 영상이 디스플레이 순서에 따라 과거 참조 영상 및 미래 참조 영상을 사용하여 부호화된 것에 응답하여, 공간적 병합 후보의 수를 제 1 값으로 설정하고;
현재 영상이 디스플레이 순서에 따라 과거 참조 영상을 사용하여 부호화된 것에 응답하여, 공간적 병합 후보의 수를 제 1 값보다 작은 제 2 값으로 설정하는, 비-일시적 컴퓨터 판독가능 매체.
69. 조항 67에 있어서, 컴퓨터에 의해 실행 가능한 명령어들의 세트는 컴퓨터가:
병합 후보 목록에 삽입된 공간적 병합 후보의 수를 시그널링하는 것을 더 수행하게 하는 비-일시적 컴퓨터 판독가능 매체.
70. 조항 67-69 중 어느 하나에 있어서, 적어도 하나의 프로세서는 명령어들의 세트를 실행하여 컴퓨터가:
공통 위치된 부호화 단위로부터의 시간적 병합 후보, FIFO 테이블로부터의 이력-기반 움직임 벡터 예측자(HMVP), 쌍별 평균 후보 또는 영 움직임 벡터 중 적어도 하나를 병합 후보 목록에 추가하는 것을 더 수행하게 하도록 구성되는, 비-일시적 컴퓨터 판독가능 매체.
71. 조항 70에 있어서,
이전 부호화된 블록의 움직임 정보가 FIFO 테이블 내에 저장되고 현재 부호화 단위의 움직임 벡터 예측자로 사용되는, 비-일시적 컴퓨터 판독가능 매체.
72. 조항 70 및 71 중 어느 하나에 있어서,
비-서브블록 인터-부호화된 부호화 단위와 연관된 움직임 정보가 새로운 HMVP 후보로 FIFO 테이블의 마지막 엔트리에 추가되는, 비-일시적 컴퓨터 판독가능 매체.
73. 조항 70에 있어서,
쌍별 평균 후보는 병합 후보 목록 내의 후보 쌍을 평균하여 생성되고 병합 후보 목록이 가득 차지 않은 것에 응답하여 하나 이상의 HMVP가 병합 후보 목록에 추가된 후에 병합 후보 목록에 추가되는, 비-일시적 컴퓨터 판독가능 매체.
74. 조항 70에 있어서,
최대 병합 후보 수에 도달할 때까지 병합 후보 목록의 끝에 영 움직임 벡터가 삽입되는, 비-일시적 컴퓨터 판독가능 매체.
75. 컴퓨터의 적어도 하나의 프로세서에 의해 실행 가능하여 컴퓨터가 비디오 처리 방법을 수행하게 하는 명령어들의 세트를 저장하는 비-일시적 컴퓨터 판독가능 매체에 있어서, 방법은:
부호화 블록의 병합 후보 목록에 공간적 병합 후보 세트를 삽입하는 것을 포함하며,
부호화 블록에 제 1 부호화 모드가 적용될 때, 공간적 병합 후보 세트는 제 1 구성 순서에 따라 삽입되고;
부호화 블록에 제 2 부호화 모드가 적용될 때, 공간적 병합 후보 세트는 제 2 구성 순서에 따라 삽입되며;
제 1 구성 순서는 제 2 구성 순서와 상이한, 비-일시적 컴퓨터 판독가능 매체.
76. 조항 75에 있어서, 제 1 및 제 2 부호화 모드는:
일반 병합 모드, 움직임 벡터 차이를 이용한 병합 모드(MMVD) 및 삼각형 분배 모드(TPM)로부터 선택된 두 개의 상이한 모드인, 비-일시적 컴퓨터 판독가능 매체.
77. 조항 76에 있어서,
MMVD에서, 병합 후보는 병합 후보 목록으로부터 먼저 선택되고, 그런 다음 시그널링된 움직임 벡터 차이(MVD)에 의해 개선되며, 두 개의 MMVD 후보 중 어느 것이 기본 움직임 벡터로 사용되는지 지정하기 위하여 병합 후보 플래그가 시그널링되는, 비-일시적 컴퓨터 판독가능 매체.
78. 조항 76에 있어서,
TPM에서, 대각선 분할 또는 반-대각선 분할을 사용하여, 부호화 단위가 두 개의 삼각형-모양 파티션으로 균등하게 분할되는, 비-일시적 컴퓨터 판독가능 매체.
79. 조항 75 및 76 중 어느 하나에 있어서,
공통 위치된 부호화 단위로부터의 시간적 병합 후보, FIFO 테이블로부터의 이력-기반 움직임 벡터 예측자(HMVP), 쌍별 평균 후보 또는 영 움직임 벡터 중 적어도 하나를 병합 후보 목록에 추가하는 것을 더 포함하는, 비-일시적 컴퓨터 판독가능 매체.
80. 조항 79에 있어서,
이전 부호화된 블록의 움직임 정보가 FIFO 테이블 내에 저장되고 현재 부호화 단위의 움직임 벡터 예측자로 사용되는, 비-일시적 컴퓨터 판독가능 매체.
81. 조항 79 및 80 중 어느 하나에 있어서,
비-서브블록 인터-부호화된 부호화 단위와 연관된 움직임 정보가 새로운 HMVP 후보로 FIFO 테이블의 마지막 엔트리에 추가되는, 비-일시적 컴퓨터 판독가능 매체.
82. 조항 79에 있어서,
쌍별 평균 후보는 병합 후보 목록 내의 후보 쌍을 평균하여 생성되고 병합 후보 목록이 가득 차지 않은 것에 응답하여 하나 이상의 HMVP가 병합 후보 목록에 추가된 후에 병합 후보 목록에 추가되는, 비-일시적 컴퓨터 판독가능 매체.
83. 조항 79에 있어서,
최대 병합 후보 수에 도달할 때까지 병합 후보 목록의 끝에 영 움직임 벡터가 삽입되는, 비-일시적 컴퓨터 판독가능 매체.
84. 컴퓨터의 적어도 하나의 프로세서에 의해 실행 가능하여 컴퓨터가 비디오 처리 방법을 수행하게 하는 명령어들의 세트를 저장하는 비-일시적 컴퓨터 판독가능 매체에 있어서, 방법은:
부호화 블록의 병합 후보 목록에 공간적 병합 후보 세트를 삽입하는 것을 포함하며,
부호화 블록이 저-지연 영상의 일부일 때, 공간적 병합 후보 세트는 제 1 구성 순서에 따라 삽입되고;
부호화 블록이 비-저-지연 영상의 일부일 때, 공간적 병합 후보 세트는 제 2 구성 순서에 따라 삽입되며;
제 1 구성 순서는 제 2 구성 순서와 상이한, 비-일시적 컴퓨터 판독가능 매체.
85. 조항 84에 있어서,
제 1 구성 순서와 제 2 구성 순서는 움직임 벡터 차이를 이용한 병합 모드(MMVD)에 대해 사용되는, 비-일시적 컴퓨터 판독가능 매체.
86. 조항 84에 있어서, 컴퓨터에 의해 실행 가능한 명령어들의 세트는 컴퓨터가:
공통 위치된 부호화 단위로부터의 시간적 병합 후보, FIFO 테이블로부터의 이력-기반 움직임 벡터 예측자(HMVP), 쌍별 평균 후보 또는 영 움직임 벡터 중 적어도 하나를 병합 후보 목록에 추가하는 것을 더 수행하도록 하는, 비-일시적 컴퓨터 판독가능 매체.
87. 조항 86에 있어서,
이전 부호화된 블록의 움직임 정보가 FIFO 테이블 내에 저장되고 현재 부호화 단위의 움직임 벡터 예측자로 사용되는, 비-일시적 컴퓨터 판독가능 매체.
88. 조항 86 및 87 중 어느 하나에 있어서,
비-서브블록 인터-부호화된 부호화 단위와 연관된 움직임 정보가 새로운 HMVP 후보로 FIFO 테이블의 마지막 엔트리에 추가되는, 비-일시적 컴퓨터 판독가능 매체.
89. 조항 86에 있어서,
쌍별 평균 후보는 병합 후보 목록 내의 후보 쌍을 평균하여 생성되고 병합 후보 목록이 가득 차지 않은 것에 응답하여 하나 이상의 HMVP가 병합 후보 목록에 추가된 후에 병합 후보 목록에 추가되는, 비-일시적 컴퓨터 판독가능 매체.
90. 조항 86에 있어서,
최대 병합 후보 수에 도달할 때까지 병합 후보 목록의 끝에 영 움직임 벡터가 삽입되는, 비-일시적 컴퓨터 판독가능 매체.
전술한 명세서에서, 실시예는 구현예마다 다를 수 있는 다수의 특정 세부사항을 참조하여 설명되었다. 설명된 실시예의 특정 적응 및 수정이 이루어질 수 있다. 다른 실시예는 본원에 개시된 발명의 명세서 및 실시를 고려하여 당업자에게 명백할 수 있다. 명세서 및 실시예는 단지 예시로서 고려되어야 하며, 발명의 진정한 범위 및 정신은 다음의 청구범위에 의해 보여지는 것으로 의도된다. 또한 도면에 도시된 단계의 순서는 단지 예시를 위해 의도된 것이며 특정 단계의 순서로 제한되는 것으로 의도되지 않는다. 이와 같이, 당업자는 이러한 단계가 동일한 방법을 구현하면서 상이한 순서로 수행될 수 있음을 인식할 수 있다.
도면 및 명세서에는 예시적인 실시예가 개시되어 있다. 그러나, 이러한 실시예에 대해 많은 변형 및 수정이 이루어질 수 있다. 따라서, 특정한 용어가 사용되더라도 일반적이고 설명적인 의미로 사용되며 제한을 위한 것은 아니다.

Claims (18)

  1. 비디오 처리 방법에 있어서:
    부호화 블록의 병합 후보 목록에 공간적 병합 후보 세트를 삽입하는 것을 포함하며,
    상기 공간적 병합 후보 세트는: 상측 이웃 블록, 좌측 이웃 블록, 상측 이웃 블록, 좌측 이웃 블록 및 상부-좌측 이웃 블록의 순서에 따라 삽입되는, 방법.
  2. 제1항에 있어서,
    공통 위치된(collocated) 부호화 단위로부터의 시간적 병합 후보, 선입선출(First-In, First-Out; FIFO) 테이블로부터의 이력-기반 움직임 벡터 예측자(history-based motion vector predictor; HMVP), 쌍별(pairwise) 평균 후보 또는 영(zero) 움직임 벡터 중 적어도 하나를 상기 병합 후보 목록에 추가하는 것을 더 포함하는, 방법.
  3. 제2항에 있어서, 이전 부호화된 블록의 움직임 정보가 상기 FIFO 테이블 내에 저장되고 현재 부호화 단위의 상기 움직임 벡터 예측자로 사용되는, 방법.
  4. 제3항에 있어서, 비-서브블록(non-subblock) 인터-부호화된 부호화 단위와 연관된 움직임 정보가 새로운 HMVP 후보로 상기 FIFO 테이블의 마지막 엔트리에 추가되는, 방법.
  5. 제2항에 있어서,
    상기 쌍별 평균 후보는 상기 병합 후보 목록 내의 후보 쌍을 평균하여 생성되고 상기 병합 후보 목록이 가득 차지 않은 것에 응답하여 하나 이상의 HMVP가 상기 병합 후보 목록에 추가된 후에 상기 병합 후보 목록에 추가되는, 방법.
  6. 제2항에 있어서,
    최대 병합 후보 수에 도달할 때까지 상기 병합 후보 목록의 끝에 상기 영 움직임 벡터가 삽입되는, 방법.
  7. 비디오 처리 장치에 있어서:
    명령어들의 세트를 저장하는 메모리; 및
    상기 명령어들의 세트를 실행하여 상기 장치가:
    부호화 블록의 병합 후보 목록에 공간적 병합 후보 세트를 삽입하는 것을 수행하게 하도록 구성되는 하나 이상의 프로세서를 포함하며,
    상기 공간적 병합 후보 세트는 상측 이웃 블록, 좌측 이웃 블록, 상측 이웃 블록, 좌측 이웃 블록 및 상부-좌측 이웃 블록의 순서에 따라 삽입되는, 장치.
  8. 제7항에 있어서, 상기 하나 이상의 프로세서는 상기 명령어들의 세트를 실행하여 상기 장치가:
    공통 위치된 부호화 단위로부터의 시간적 병합 후보, 선입선출(FIFO) 테이블로부터의 이력-기반 움직임 벡터 예측자(HMVP), 쌍별 평균 후보 또는 영 움직임 벡터 중 적어도 하나를 상기 병합 후보 목록에 추가하는 것을 더 수행하게 하도록 구성되는, 장치.
  9. 제8항에 있어서,
    이전 부호화된 블록의 움직임 정보가 상기 FIFO 테이블 내에 저장되고 현재 부호화 단위의 상기 움직임 벡터 예측자로 사용되는, 장치.
  10. 제9항에 있어서,
    비-서브블록 인터-부호화된 부호화 단위와 연관된 움직임 정보가 새로운 HMVP 후보로 상기 FIFO 테이블의 마지막 엔트리에 추가되는, 장치.
  11. 제8항에 있어서,
    상기 쌍별 평균 후보는 상기 병합 후보 목록 내의 후보 쌍을 평균하여 생성되고 상기 병합 후보 목록이 가득 차지 않은 것에 응답하여 하나 이상의 HMVP가 상기 병합 후보 목록에 추가된 후에 상기 병합 후보 목록에 추가되는, 장치.
  12. 제8항에 있어서,
    최대 병합 후보 수에 도달할 때까지 상기 병합 후보 목록의 끝에 상기 영 움직임 벡터가 삽입되는, 장치.
  13. 컴퓨터의 적어도 하나의 프로세서에 의해 실행 가능하여 상기 컴퓨터가 비디오 처리 방법을 수행하게 하는 명령어들의 세트를 저장하는 비-일시적 컴퓨터 판독가능 매체에 있어서, 상기 방법은:
    부호화 블록의 병합 후보 목록에 공간적 병합 후보 세트를 삽입하는 것을 포함하며,
    상기 공간적 병합 후보 세트는 상측 이웃 블록, 좌측 이웃 블록, 상측 이웃 블록, 좌측 이웃 블록 및 상부-좌측 이웃 블록의 순서에 따라 삽입되는, 비-일시적 컴퓨터 판독가능 매체.
  14. 제13항에 있어서, 상기 컴퓨터에 의해 실행 가능한 상기 명령어들의 세트는 상기 컴퓨터가:
    공통 위치된 부호화 단위로부터의 시간적 병합 후보, 선입선출(FIFO) 테이블로부터의 이력-기반 움직임 벡터 예측자(HMVP), 쌍별 평균 후보 또는 영 움직임 벡터 중 적어도 하나를 상기 병합 후보 목록에 추가하는 것을 더 수행하게 하는, 비-일시적 컴퓨터 판독가능 매체.
  15. 제14항에 있어서,
    이전 부호화된 블록의 움직임 정보가 상기 FIFO 테이블 내에 저장되고 현재 부호화 단위의 상기 움직임 벡터 예측자로 사용되는, 비-일시적 컴퓨터 판독가능 매체.
  16. 제15항에 있어서,
    비-서브블록 인터-부호화된 부호화 단위와 연관된 움직임 정보가 새로운 HMVP 후보로 상기 FIFO 테이블의 마지막 엔트리에 추가되는, 비-일시적 컴퓨터 판독가능 매체.
  17. 제14항에 있어서,
    상기 쌍별 평균 후보는 상기 병합 후보 목록 내의 후보 쌍을 평균하여 생성되고 상기 병합 후보 목록이 가득 차지 않은 것에 응답하여 하나 이상의 HMVP가 상기 병합 후보 목록에 추가된 후에 상기 병합 후보 목록에 추가되는, 비-일시적 컴퓨터 판독가능 매체.
  18. 제14항에 있어서,
    최대 병합 후보 수에 도달할 때까지 상기 병합 후보 목록의 끝에 상기 영 움직임 벡터가 삽입되는, 비-일시적 컴퓨터 판독가능 매체.
KR1020227012760A 2019-09-19 2020-08-18 병합 후보 목록 구성 방법 KR20220063248A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962902790P 2019-09-19 2019-09-19
US62/902,790 2019-09-19
PCT/US2020/046799 WO2021055126A1 (en) 2019-09-19 2020-08-18 Methods for constructing a merge candidate list

Publications (1)

Publication Number Publication Date
KR20220063248A true KR20220063248A (ko) 2022-05-17

Family

ID=74882289

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227012760A KR20220063248A (ko) 2019-09-19 2020-08-18 병합 후보 목록 구성 방법

Country Status (6)

Country Link
US (2) US11523104B2 (ko)
EP (1) EP4032297A4 (ko)
JP (1) JP2022548351A (ko)
KR (1) KR20220063248A (ko)
CN (1) CN114762332A (ko)
WO (1) WO2021055126A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230079743A1 (en) * 2021-09-16 2023-03-16 Qualcomm Incorporated Multiple inter predictors with decoder side motion vector derivation for video coding
GB2611323A (en) * 2021-09-29 2023-04-05 Canon Kk Video coding and decoding

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107105258B (zh) * 2010-10-08 2020-09-01 Ge视频压缩有限责任公司 编码器和编码方法与解码器和解码方法
MX369711B (es) * 2011-08-29 2019-11-19 Ibex Pt Holdings Co Ltd Aparato para decodificar información de movimientos de modo de fusión.
KR20130050406A (ko) * 2011-11-07 2013-05-16 오수미 머지 모드에서의 움직임 정보 생성 방법
KR101347062B1 (ko) * 2012-06-27 2014-01-10 숭실대학교산학협력단 움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법
KR102378459B1 (ko) * 2014-06-30 2022-03-24 한국전자통신연구원 움직임 병합 모드에서 시점 합성 예측 후보의 중복성 제거 장치 및 방법
EP3205109A4 (en) * 2014-12-09 2018-03-07 MediaTek Inc. Method of motion vector predictor or merge candidate derivation in video coding
AU2016316309B2 (en) * 2015-09-02 2019-01-24 Hfi Innovation Inc. Method and apparatus of decoder side motion derivation for video coding
US10944963B2 (en) * 2016-05-25 2021-03-09 Arris Enterprises Llc Coding weighted angular prediction for intra coding
US20180242024A1 (en) * 2017-02-21 2018-08-23 Mediatek Inc. Methods and Apparatuses of Candidate Set Determination for Quad-tree Plus Binary-tree Splitting Blocks
CA3065492C (en) * 2017-05-17 2022-06-14 Kt Corporation Method and device for video signal processing
US10602180B2 (en) * 2017-06-13 2020-03-24 Qualcomm Incorporated Motion vector prediction
WO2019054838A1 (ko) * 2017-09-18 2019-03-21 인텔렉추얼디스커버리 주식회사 블록 분할에 따른 병합 후보 리스트를 사용하는 비디오 코딩 방법 및 장치
WO2019103564A1 (ko) * 2017-11-27 2019-05-31 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측에 따른 영상 디코딩 방법 및 장치
US10812810B2 (en) * 2018-02-06 2020-10-20 Tencent America LLC Method and apparatus for video coding in merge mode
WO2019183901A1 (en) * 2018-03-29 2019-10-03 Huawei Technologies Co., Ltd. Picture encoding and decoding, picture encoder, and picture decoder
US10587885B2 (en) * 2018-06-04 2020-03-10 Tencent America LLC Method and apparatus for merge mode with additional middle candidates in video coding
US10491902B1 (en) * 2018-07-16 2019-11-26 Tencent America LLC Method and apparatus for history-based motion vector prediction
US11122288B2 (en) * 2018-12-06 2021-09-14 Qualcomm Incorporated Spatio-temporal motion vector prediction patterns for video coding
WO2020139061A1 (ko) * 2018-12-28 2020-07-02 인텔렉추얼디스커버리 주식회사 화면 간 예측 부호화 및 복호화 방법 및 장치
US20220078407A1 (en) * 2019-01-01 2022-03-10 Lg Electronics Inc. Method and apparatus for processing video signal on basis of inter prediction
US11115653B2 (en) * 2019-02-22 2021-09-07 Mediatek Inc. Intra block copy merge list simplification
WO2020175915A1 (ko) * 2019-02-26 2020-09-03 주식회사 엑스리스 영상 신호 부호화/복호화 방법 및 이를 위한 장치
WO2020180155A1 (ko) * 2019-03-07 2020-09-10 엘지전자 주식회사 비디오 신호를 처리하기 위한 방법 및 장치
KR20200108799A (ko) * 2019-03-11 2020-09-21 주식회사 엑스리스 영상 신호 부호화/복호화 방법 및 이를 위한 장치
KR20220002700A (ko) * 2019-06-24 2022-01-06 엘지전자 주식회사 쌍 예측을 적용하는 영상 디코딩 방법 및 그 장치
US11601666B2 (en) * 2019-06-25 2023-03-07 Qualcomm Incorporated Derivation of temporal motion vector prediction candidates in video coding
US20210392337A1 (en) * 2020-06-10 2021-12-16 Kt Corporation Method and apparatus for encoding/decoding a video signal based on weighted prediction, and a recording medium storing a bitstream

Also Published As

Publication number Publication date
JP2022548351A (ja) 2022-11-18
CN114762332A (zh) 2022-07-15
EP4032297A1 (en) 2022-07-27
US20210092357A1 (en) 2021-03-25
US20230300321A1 (en) 2023-09-21
US11523104B2 (en) 2022-12-06
EP4032297A4 (en) 2022-11-23
WO2021055126A1 (en) 2021-03-25

Similar Documents

Publication Publication Date Title
US11838541B2 (en) Matrix weighted intra prediction of video signals
US11323711B2 (en) Method and system for signaling chroma quantization parameter offset
US20230300321A1 (en) Methods for constructing a merge candidate list
US20210092388A1 (en) Lossless coding of video data
US20230362384A1 (en) Methods and systems for cross-component sample adaptive offset
KR20220143859A (ko) 크로마 신호를 처리하기 위한 방법
KR20220116006A (ko) 랩-어라운드 모션 보상을 수행하기 위한 방법들
US11638019B2 (en) Methods and systems for prediction from multiple cross-components
US20210306623A1 (en) Sign data hiding of video recording
US20240048772A1 (en) METHOD AND APPARATUS FOR PROCESSING VIDEO CONTENT WITH ALF and CCALF
CN114788284B (zh) 用于在调色板模式下对视频数据进行编码的方法和装置
KR20220113808A (ko) 화상들 상에서 점진적 디코딩 리프레시 프로세싱을 수행하기 위한 방법들 및 시스템들
US20230217026A1 (en) Fusion of video prediction modes
US20230090025A1 (en) Methods and systems for performing combined inter and intra prediction
US20210368170A1 (en) High level control of pdpc and intra reference sample filtering of video coding
US20210266548A1 (en) Signaling of maximum transform size and residual coding method
CN115699744A (zh) 双向预测校正系统和方法
KR20220120628A (ko) 서브화상 파티셔닝 정보를 시그널링하기 위한 방법 및 장치
KR20220057620A (ko) 변환-스킵 모드에서 비디오 데이터를 코딩하기 위한 방법 및 장치
US11711528B2 (en) Systems and methods for liner model derivation
US11606577B2 (en) Method for processing adaptive color transform and low-frequency non-separable transform in video coding
US20210385485A1 (en) Angular weighted prediction for inter prediction
US11412250B2 (en) Method and apparatus for deriving temporal motion