KR20240027893A - 비디오 코딩에서의 신택스 요소들의 시그널링을 위한 방법 및 장치 - Google Patents

비디오 코딩에서의 신택스 요소들의 시그널링을 위한 방법 및 장치 Download PDF

Info

Publication number
KR20240027893A
KR20240027893A KR1020247006114A KR20247006114A KR20240027893A KR 20240027893 A KR20240027893 A KR 20240027893A KR 1020247006114 A KR1020247006114 A KR 1020247006114A KR 20247006114 A KR20247006114 A KR 20247006114A KR 20240027893 A KR20240027893 A KR 20240027893A
Authority
KR
South Korea
Prior art keywords
flag
equal
disable
sps
value
Prior art date
Application number
KR1020247006114A
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 KR20240027893A publication Critical patent/KR20240027893A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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/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/172Methods 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 picture, frame or field
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/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

비디오 코딩을 위한 방법 및 장치가 제공된다. 상기 방법은, 디코더가 픽처와 관련된 픽처 헤더(PH)에 디스에이블 플래그의 존재 여부를 결정하되, 상기 디스에이블 플래그는 코딩 툴이 PH와 관련된 하나 또는 그 이상의 슬라이스들에서의 디스에이블 여부를 지정하는 것인 단계를 포함한다. 추가적으로, 상기 방법은, 디코더가 상기 PH 중에 디스에이블 플래그가 존재하지 않는다는 결정에 응답하여, 픽처의 시퀀스 파라미터 세트(SPS)에서 시그널링되는 하나 또는 그 이상의 인에이블 플래그들에 따라 상기 디스에이블 플래그의 값을 추정하는 단계를 포함한다.

Description

비디오 코딩에서의 신택스 요소들의 시그널링을 위한 방법 및 장치{METHOD AND APPARATUS FOR SIGNALING OF SYNTAX ELEMENTS IN VIDEO CODING}
본 개시는 비디오 코딩 및 압축에 관한 것으로, 특히 비디오 코딩에서의 신택스 요소들의 시그널링을 위한 방법 및 장치에 관한 것이나, 이에 제한되지 않는다.
[관련 출원에 대한 교차 인용]
본 출원은 2020년 04월 08일에 제출한 "Signaling of Syntax Elements in Video Coding(비디오 코딩에서의 신택스 요소들의 시그널링)"이라는 명칭의 제 63/007,355호 미국 임시 출원, 2020년 04월 13일에 제출한 "Signaling of Syntax Elements in Video Coding(비디오 코딩에서의 신택스 요소들의 시그널링)"이라는 명칭의 제 63/009,404호 미국 임시 출원, 2020년 04월 14일에 제출한 "Signaling of Syntax Elements in Video Coding(비디오 코딩에서의 신택스 요소들의 시그널링)"이라는 명칭의 제 63/010/005호 미국 임시 출원, 2020년 04월 15일에 제출한 "Signaling of Syntax Elements in Video Coding(비디오 코딩에서의 신택스 요소들의 시그널링)"이라는 명칭의 제 60/010,619호 미국 임시 출원 및 2020년 04월 26일에 제출한 "Signaling of Syntax Elements in Video Coding(비디오 코딩에서의 신택스 요소들의 시그널링)"이라는 명칭의 제 63/015,663호 미국 임시 출원의 이익을 주장하며, 그 전체 내용은 인용을 통해 본 문에 병합되어 모든 목적에 사용된다.
다양한 비디오 코딩 기술이 비디오 데이터 압축에 사용될 수 있다. 하나 혹은 그 이상의 비디오 코딩 표준에 따라 비디오 코딩을 수행할 수 있다. 예를 들어, 비디오 코딩 표준은 다용도 비디오 코딩(Versatile Video Coding, VVC), 공동 탐사 테스트 모델(Joint Exploration Test Model, JEM), 고 효율 비디오 코딩(High-Efficiency Video Coding, H.265/HEVC), 고급 비디오 코딩(Advanced Video Coding, H.264/AVC), 동영상 전문가 그룹(Moving Picture Experts Group, MPEG) 등을 포함한다. 일반적으로, 비디오 코딩은 비디오 이미지들 또는 시퀀스들에 존재하는 중복성을 활용하는 예측 방법(예를 들어, 인터-예측, 인트라-예측 등)을 사용할 수 있다. 비디오 코딩 기술들의 중요한 목표는 비디오 데이터를 더 낮은 비트 레이트(bit rate)을 사용하는 형식으로 압축하면서도 비디오 품질 저하를 방지하거나 최소화하는 것이다.
본 개시는 비디오 코딩에서의 신택스 요소들의 시그널링과 관련된 기술들의 예시들을 설명한다.
본 개시의 제1 측면에 의하면, 비디오 코딩을 위한 방법을 제공한다. 상기 방법은, 디코더가 픽처와 관련된 픽처 헤더(PH)에 디스에이블 플래그의 존재 여부를 결정하되, 디스에이블 플래그는 코딩 툴이 PH와 관련된 하나 또는 그 이상의 슬라이스들에서의 디스에이블 여부를 지정하는 것인 단계를 포함한다. 추가적으로, 상기 방법은, 디코더가 PH에 디스에이블 플래그가 존재하지 않는다는 결정에 응답하여, 픽처의 시퀀스 파라미터 세트(SPS)에서 시그널링하는 하나 또는 그 이상의 인에이블 플래그들에 따라 디스에이블 플래그의 값을 추정하는 단계를 포함한다.
본 개시의 제2 측면에 의하면, 비디오 코딩을 위한 방법을 제공한다. 상기 방법은, 디코더가 픽처와 관련된 픽처 헤더(PH)에 플래그의 존재 여부를 결정하되, 상기 플래그는 시간적 움직임 벡터 예측(TMVP)에 사용되는 상기 픽처가 상기 픽처와 관련된 복수의 참조 픽처 리스트들 중의의 참조 픽처 리스트로부터의 도출 여부를 지정하는 것인 단계를 포함한다. 추가적으로, 상기 방법은, 상기 디코더가 상기 플래그가 상기 PH에 존재하지 않는다는 결정에 응답하여, 상기 참조 픽처 리스트 중의 참조 픽처들의 수량에 따라 상기 플래그의 값을 추정하는 단계를 포함한다.
본 개시의 제3 측면에 의하면, 비디오 코딩을 위한 방법을 제공한다. 상기 방법은, 디코더가 픽처와 관련된 픽처 헤더(PH)에 플래그의 존재 여부를 결정하되, 상기 플래그는 상기 픽처의 픽처 파라미터 세트(PPS) 중의 제1 가중치 예측(WP) 플래그와 상기 픽처의 상기 PH 중의 제2 가중치 예측(WP) 플래그에 따라 참조 픽처 리스트에서 시그널링되는 가중치의 수량을 지정하며, 상기 플래그는 상기 픽처와 관련된 가중치 예측(WP) 신택스에 존재하는 것인 단계를 포함한다. 추가적으로, 상기 방법은, 디코더가 상기 플래그가 상기 PH에 존재하지 않는다는 결정에 응답하여, 상기 픽처와 관련된 복수의 참조 픽처 리스트들 중의 참조 픽처 리스트 중의 참조 픽처들의 수량에 따라 상기 플래그의 값을 추정하는 단계를 포함한다.
본 개시의 제4 측면에 의하면, 비디오 코딩을 위한 방법을 제공한다. 상기 방법은, 디코더가 인에이블 플래그를 사용하여 하나 또는 그 이상의 시간적 움직임 벡터 예측자들이 픽처의 PH와 관련된 하나 또는 그 이상의 슬라이스들에 대한 인터 예측을 위하여 사용되는지 여부를 지정하는 단계를 포함한다. 추가적으로, 상기 방법은, 디코더가 스케일링 비율 계산을 위하여 상기 픽처의 사이즈에 적용되는 복수의 오프셋에 따라 상기 인에이블 플래그의 값을 제약하는 단계를 포함한다.
본 개시의 제5 측면에 의하면, 비디오 코딩을 위한 장치를 제공한다. 상기 장치는, 하나 또는 그 이상의 프로세서; 및 상기 하나 또는 그 이상의 프로세서들에 의하여 실행가능한 명령어들을 저장하도록 구성된 메모리를 포함한다. 상기 하나 또는 그 이상의 프로세서들은 상기 명령어들을 실행 시 본 개시의 제1 측면에 따른 비디오 코딩을 위한 방법을 수행하도록 구성된다.
본 개시의 제6 측면에 의하면, 비디오 코딩을 위한 장치를 제공한다. 상기 장치는, 하나 또는 그 이상의 프로세서; 및 상기 하나 또는 그 이상의 프로세서들에 의하여 실행가능한 명령어들을 저장하도록 구성된 메모리를 포함한다. 상기 하나 또는 그 이상의 프로세서들은 상기 명령어들을 실행 시 본 개시의 제2 측면에 따른 비디오 코딩을 위한 방법을 수행하도록 구성된다.
본 개시의 제7 측면에 의하면, 비디오 코딩을 위한 장치를 제공한다. 상기 장치는, 하나 또는 그 이상의 프로세서; 및 상기 하나 또는 그 이상의 프로세서들에 의하여 실행가능한 명령어들을 저장하도록 구성된 메모리를 포함한다. 상기 하나 또는 그 이상의 프로세서들은 상기 명령어들을 실행 시 본 개시의 제3 측면에 따른 비디오 코딩을 위한 방법을 수행하도록 구성된다.
본 개시의 제8 측면에 의하면, 비디오 코딩을 위한 장치를 제공한다. 상기 장치는, 하나 또는 그 이상의 프로세서; 및 상기 하나 또는 그 이상의 프로세서들에 의하여 실행가능한 명령어들을 저장하도록 구성된 메모리를 포함한다. 상기 하나 또는 그 이상의 프로세서들은 상기 명령어들을 실행 시 본 개시의 제4 측면에 따른 비디오 코딩을 위한 방법을 수행하도록 구성된다.
본 개시의 제9 측면에 의하면, 컴퓨터가 실행가능한 명령어들이 저장된 비디오 코딩을 위한 비-일시적 컴퓨터 판독 가능 저장 매체를 제공한다. 상기 명령어들은 하나 또는 그 이상의 컴퓨터 프로세서들에 의하여 실행될 때 상기 하나 또는 그 이상의 컴퓨터 프로세서들로 하여금 본 개시의 제1 측면에 따른 비디오 코딩을 위한 방법을 수행한다.
본 개시의 제10 측면에 의하면, 컴퓨터가 실행가능한 명령어들이 저장된 비디오 코딩을 위한 비-일시적 컴퓨터 판독 가능 저장 매체를 제공한다. 상기 명령어들은 하나 또는 그 이상의 컴퓨터 프로세서들에 의하여 실행될 때 상기 하나 또는 그 이상의 컴퓨터 프로세서들로 하여금 본 개시의 제2 측면에 따른 비디오 코딩을 위한 방법을 수행한다.
본 개시의 제11 측면에 의하면, 컴퓨터가 실행가능한 명령어들이 저장된 비디오 코딩을 위한 비-일시적 컴퓨터 판독 가능 저장 매체를 제공한다. 상기 명령어들은 하나 또는 그 이상의 컴퓨터 프로세서들에 의하여 실행될 때 상기 하나 또는 그 이상의 컴퓨터 프로세서들로 하여금 본 개시의 제3 측면에 따른 비디오 코딩을 위한 방법을 수행한다.
본 개시의 제12 측면에 의하면, 컴퓨터가 실행가능한 명령어들이 저장된 비디오 코딩을 위한 비-일시적 컴퓨터 판독 가능 저장 매체를 제공한다. 상기 명령어들은 하나 또는 그 이상의 컴퓨터 프로세서들에 의하여 실행될 때 상기 하나 또는 그 이상의 컴퓨터 프로세서들로 하여금 본 개시의 제4 측면에 따른 비디오 코딩을 위한 방법을 수행한다.
본 개시는 비디오 코딩에서의 신택스 요소들의 시그널링을 위한 방법 및 장치를 제공할 수 있다.
본 개시의 실시예들에 대한 보다 구체적인 설명은 첨부된 도면에 예시된 특정 실시예들을 참조하여 설명될 것이다. 이러한 도면들이 일부 실시예만을 도시하고 범위를 제한하는 것으로 간주하여서는 아니되며, 첨부된 도면 및 추가적인 특징 및 세부사항을 통하여 실시예들은 설명될 것이다.
도 1은 본 개시의 일부 구현 방식들에 따른 예시적인 비디오 인코더를 도시하는 블록도이다.
도 2는 본 개시의 일부 구현 방식들에 따른 예시적인 비디오 디코더를 도시하는 개략도이다.
도 3은 본 개시의 일부 구현 방식들에 따른 복수의 코딩 트리 유닛(coding tree unit, CTU)들로 분할된 픽처의 일 예를 도시한다.
도 4a 내지 도 4d는 본 개시의 일부 구현 방식들에 따른 멀티-타입 트리 분할 모드(multi-type tree splitting mode)들을 도시하는 개략도들이다.
도 5는 본 개시의 일부 구현 방식들에 따른 비디오 코딩을 위한 예시적인 장치를 도시하는 블록도이다.
도 6은 본 개시의 일부 구현 방식들에 따른 비디오 코딩의 예시적인 프로세스를 도시하는 흐름도이다.
도 7은 본 개시의 일부 구현 방식들에 따른 비디오 코딩의 예시적인 프로세스를 도시하는 흐름도이다.
도 8은 본 개시의 일부 구현 방식들에 따른 비디오 코딩의 예시적인 프로세스를 도시하는 흐름도이다.
도 9은 본 개시의 일부 구현 방식들에 따른 비디오 코딩의 예시적인 프로세스를 도시하는 흐름도이다.
이하 그 예가 첨부 도면에 도시되어 있는 특정 구현 방식들을 상세히 설명한다. 다음의 상세한 설명에서, 본 명세서에 기재된 내용의 이해를 돕기 위하여 복수의 비-제한적인 특정 세부 사항이 설명된다. 그러나, 다양한 변경을 진행할 수 있음은 당업자에게 자명한 것이다. 예를 들어, 본 명세서에 기재한 기술적 방안은 디지털 비디오 기능을 구비한 다양한 유형의 전자 장치에서 구현될 수 있음은 당업자에게 자명한 것이다.
본 명세서 전반에 걸쳐 "일 실시예", "실시예", "예", "일부 실시예", "일부 예"또는 유사한 용어는 설명 된 특정 특징, 구조 또는 특성이 적어도 하나의 실시예 또는 예에 포함된다는 것을 의미한다. 하나 또는 일부 실시예와 관련하여 설명된 특징, 구조, 요소 또는 특성은 달리 명시적으로 명시되지 않는 한 다른 실시예에도 적용이 가능하다.
달리 명시적으로 명시하지 않는 한, 본 개시 전반에 걸쳐, "제1", "제2", "제3" 등의 용어는 관련요소(예를 들어, 장치, 요소, 구성, 단계 등)에 대한 참조를 위한 명명법으로만 사용되는 것이지, 공간적 또는 시간적 순서를 암시하지 않는다. 예를 들어, "제1 장치" 및 "제2 장치"는 별도로 형성된 두개의 장치 또는 동일한 장치의 두 부분, 구성 또는 동작 상태를 의미할 수 있으며, 임의로 명명될 수 있다.
용어 "모듈", "서브-모듈", "회로", "서브-회로", "회로망", "서브-회로망", "유닛" 또는 "서브-유닛"은 하나 또는 그 이상의 프로세서에서 실행할 수 있는 코드 또는 명령어를 저장하는 메모리(공유, 전용 또는 그룹)를 포함할 수 있다. 모듈은 저장된 코드 또는 명령어를 가지거나 가지지 않는 하나 또는 그 이상의 회로를 포함할 수 있다. 모듈 또는 회로는 직접 또는 간접적으로 연결된 하나 또는 그 이상의 구성 요소들을 포함할 수 있다. 이러한 구성 요소들은 서로 물리적으로 부착되거나 인접하여 위치할 수도 있고 그렇지 않을 수도 있다.
본 명세서에서 사용된 바와 같이, 용어 "만약" 또는 "...경우"는 문맥에 따라 "...할때" 또는 "...응답하여"를 의미하는 것으로 이해될 수 있다. 만약 이러한 용어가 청구항에 기재되면, 관련 제한 또는 특징이 조건부 또는 선택 사항임을 가리키지 않을 수 있다. 예를 들어, 방법은 i) 조건 X가 존재할 때 또는 존재하는 경우, 기능 또는 동작 X'를 수행하고; ii) 조건 Y가 존재할 때 또는 존재하는 경우, 기능 또는 동작 Y'를 수행하는 단계를 포함할 수 있다. 상기 방법은 기능 또는 동작 X'를 수행하는 능력과 기능 또는 동작 Y'를 수행하는 능력 모두로 구현될 수 있다. 따라서 기능 X'와 Y'는 모두 다른 시간에 방법을 여러 번 실행할 때 수행할 수 있다.
유닛 또는 모듈은 단순히 소프트웨어, 단순히 하드웨어, 또는 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있다. 예를 들어, 단순한 소프트웨어 구현방식에서, 유닛 또는 모듈은 특정 기능을 수행하기 위하여 함께 직접 또는 간접적으로 연결된 기능적으로 관련된 코드 블록 또는 소프트웨어 구성 요소들을 포함할 수 있다.
도 1은 블록-기반 프로세싱을 사용하는 수 많은 비디오 코딩 표준들과 결합하여 사용할 수 있는 예시적인 블록-기반 하이브리드 비디오 인코더(100)를 도시하는 블록도를 보여준다. 인코더(100)에서, 비디오 프레임은 처리를 위해 복수의 비디오 블록들로 분할된다. 각각의 주어진 비디오 블록에 대하여, 인터 예측 방법 또는 인트라 예측 방법에 기반하여 예측을 형성된다. 인터 예측에서, 사전에 재구성된 프레임들의 픽셀들을 기반으로 움직임 추정 및 움직임 보상을 통해 하나 혹은 그 이상의 예측자를 형성한다. 인트라 예측에서, 현재 프레임 중의 재구성된 픽셀들을 기반으로 예측자를 형성한다. 모드 결정을 통하여 최적의 예측자를 선택하여 현재 블록을 예측할 수 있다.
현재 비디오 블록과 그 예측자 사이의 차이를 나타내는 예측 잔여는 변환 회로(102)로 전송된다. 변환 계수들은 엔트로피 감소를 위해 변환 회로(102)에서 양자화 회로(104)로 전송된다. 다음, 양자화된 계수들은 엔트로피 코딩 회로(106)에 공급되어 압축된 비디오 비트스트림을 생성한다.도 1에 도시된 바와 같이, 인터 예측 회로 및/또는 인트라 예측 회로(112)로부터의 비디오 블록 파티션 정보, 움직임 벡터들, 참조 픽처 인덱스 및 인트라 예측 모드와 같은 예측 관련 정보(110)도 엔트로피 코딩 회로(106)를 통해 공급되고 압축된 비디오 비트스트림(114)에 저장된다.
인코더(100)에서, 예측 목적을 위하여 픽셀들을 재구성하기 위하여, 디코더 관련 회로들도 또한 필요하다. 먼저, 예측 잔여는 역양자화(116) 및 역변환 회로(118)를 통해 재구성된다. 이와 같이 재구성된 예측 잔여는 블록 예측자(120)와 결합되어 현재 비디오 블록에 대한 필터링되지 않은 재구성된 픽셀들을 생성한다.
인트라 예측("공간적 예측"이라고도 함)은 동일한 비디오 픽처 및/또는 슬라이스에서 이미 코딩된 인접 블록들(기준 샘플들이라고 함)의 샘플들로부터 픽셀들을 사용하여 현재 비디오 블록을 예측한다. 공간적 예측은 비디오 신호에 내재된 공간적 중복을 감소시킨다.
인터 예측("시간적 예측"이라고도 함)은 이미 코딩된 비디오 픽처들로부터 재구성된 픽셀들을 사용하여 현재 비디오 블록을 예측한다. 시간적 예측은 비디오 신호에 내재된 시간적 중복을 감소시킨다. 주어진 코딩 유닛(CU) 또는 코딩 블록에 대한 시간적 예측 신호는 일반적으로 현재 CU와 그 시간적 참조(temporal reference) 사이의 움직임의 양과 방향을 가리키는 하나 또는 그 이상의 움직임 벡터(MV)들에 의해 시그널링된다. 이외에, 복수의 참조 픽처들을 지원하는 경우, 하나의 참조 픽처 인덱스를 추가로 전송하며, 이는 참조 픽처 스토어 중 어느 참조 픽처로부터 시간적 예측 신호가 오는지를 식별하는 데 사용된다.
공간적 및/또는 시간적 예측을 수행한 후, 인코더(100)에서의 인트라/인터 모드 결정 회로(121)는, 예를 들어, 레이트-왜곡 최적화 방법(rate-distortion optimization method)에 기반하여 최적의 예측 모드를 선택한다. 그 다음 현재 비디오 블록에서 블록 예측자(120)를 감산하며, 또한 변환 회로(102)와 양자화 회로(104)를 사용하여 획득한 예측 잔여에 대하여 관련을 제거(de-correlated)한다. 획득한 양자화된 잔여 계수들은 역 양자화 회로(116)에 의해 역 양자화되고, 역 변환 회로(118)에 의해 역 변환되어 재구성된 잔여를 형성하며, 이어서 재구성된 잔여는 다시 예측 블록에 추가되어 CU의 재구성된 신호를 형성한다. 더 나아가, 디블록킹 필터, 샘플 적응 오프셋(SAO) 및/또는 적응 인-루프 필터(ALF)와 같은 인-루프 필터링(115)은 재구성된 CU를 픽처 버퍼(117)의 참조 픽처 스토어에 투입하여 미래의 비디오 블록들을 코딩하기 전에 재구성된 CU에 적용될 수 있다. 출력 비디오 비트스트림(114)를 형성하기 위하여, 코딩 모드(인터 또는 인트라), 예측 모드 정보, 움직임 정보 및 양자화된 잔여 계수를 모두 엔트로피 코딩 유닛(106)으로 전송하여 더욱 압축하고 패킹하여 비트스트림을 형성한다.
예를 들어, 디블록킹 필터는 AVC, HEVC 및 현재 버전의 VVC에서 사용할 수 있다. HEVC에서, 코딩 효율성을 더욱 향상시키기 위해 샘플 적응적 오프셋(sample adaptive offset, SAO)라는 추가 인-루프 필터가 정의되었다. 현재 버전의 VVC 표준에서,적응적 루프 필터(adaptive loop filter, ALF)라는 또 다른 인-루프 필터에 대한 연구가 활발히 진행되고 있으며 최종 표준에 포함될 가능성이 높다.
이러한 인-루프 필터 동작들은 선택 사항이다. 이러한 동작들을 수행하면 코딩 효율성과 시각적 품질을 향상시키는 데 도움이 된다. 인코더 100에 의해 내려진 결정으로서, 그것들은 또한 턴 오프되어 계산 복작성을 절약할 수 있다.
유의해야 할 점은, 인코더 100에 의해 이러한 필터 옵션들이 턴 온될 경우, 인트라 예측은 일반적으로 필터링되지 않은 재구성된 픽셀들을 기반으로 하는 반면, 인터 예측은 필터링된 재구성된 픽셀들을 기반으로 한다.
도 2는 복수 비디오 코딩 표준들과 함께 사용할 수 있는 예시적인 블록-기반 비디오 디코더(200)를 도시하는 블록도이다. 당해 디코더(200)는 도 1의 인코더(100)에 상주하는 재구성 관련 부분과 유사하다. 디코더(200)에서,먼저 엔트로피 디코딩(202)을 통해 입력되는 비디오 비트스트림(201)을 디코딩하여 양자화된 계수 레벨들 및 예측 관련 정보를 도출한다. 다음, 양자화된 계수 레벨들은 역양자화(204) 및 역변환(206)을 통해 양자화된 계수 레벨들은 처리하여 재구성된 예측 잔여를 획득한다. 인트라/인터 모드 선택기(212)에서 구현되는 블록 예측자 메커니즘은 디코딩된 예측 정보에 기반하여 인트라 예측(208) 또는 움직임 보상(210)을 수행하도록 구성된다. 가산기(214)를 사용하여 역변환(206)의 재구성된 예측 잔차와 블록 예측자 메커니즘에 의해 생성된 예측 출력을 합산하여 필터링되지 않은 재구성된 픽셀 세트를 획득한다.
재구성된 블록은 참조 픽처 스토어로서 기능하는 픽처 버퍼(213)에 저장되기 전에 인-루프 필터(209)를 더 통과할 수 있다. 픽처 버퍼(213)에서의 재구성된 비디오는 전송되어 디스플레이 장치를 구동하고 미래의 비디오 블록들을 예측하는 데 사용될 수 있다. 인-루프 필터(209)를 턴-온한 경우, 이러한 재구성된 픽셀들에 대하여 필터링 동작을 수행하여 최종 재구성된 비디오 출력(222)을 도출할 수 있다.
위에서 언급한 VVC, JEM, HEVC, MPEG-4, Part 10과 같은 비디오 코딩/디코딩 표준은 개념적으로 유사하다. 예를 들어, 이들은 모두 블록-기반 처리를 사용한다. 일부 표준들에서의 블록 분할 방안들은 아래에 상세히 설명되어 있다.
다용도 비디오 코딩(VVC)
2018년 4월 10-20일에 미국 샌디에이고에서 개최된 제10차 JVET 회의에서, JVET는 다용도 비디오 코딩(VVC) 제1 초안 및 VVC 테스트 모델1(VTM1)을 참조 소프트웨어 구현으로 정의하였다. VVC의 초기 새로운 코딩 특징으로서, 중첩된 멀티-타입 트리를 가지는 쿼드트리를 포함하기로 결정하였다. 멀티-타입 트리는 이진 분할과 삼진 분할을 모두 포함하는 코딩 블록 분할 구조이다. 그 이후로, 인코딩과 디코딩 프로세스를 모두 구현한 참조 소프트웨어 VTM은 다음의 JVET 미팅들을 통해 개발하고 업데이트하였다.
VVC에서, 입력 비디오의 픽처는 CTU라고 불리는 블록들로 분할된다. 중첩된 멀티-타입 트리 구조를 가지는 쿼드트리를 사용하여 CTU를 CU들로 분할하며, CU는 동일한 예측 모드(예를 들어, 인트라 또는 인터)를 공유하는 픽셀들의 영역을 정의한다. 용어 "유닛"은 루마 및 크로마와 같은 모든 성분들을 커버하는 이미지의 영역을 정의할 수 있다. 용어 "블록"은 특정 성분(예를 들어, 루마)을 커버하는 영역을 정의하기 위해 사용될 수 있으며, 서로 다른 성분(예를 들어 루마 대 크로마)들의 블록들은 4:2:0과 같은 크로마 샘플링 포맷을 고려할 때 공간적인 위치가 다를 수 있다.
픽처를 CTU들로 분할
도 3은 본 발명의 일부 구현 방식들에 따른 복수의 CTU(302)들로 분할된 픽처(300)의 예시를 도시하고 있다.
픽처는 CTU들의 시퀀스로 분할된다. CTU 개념은 HEVC의 CTU개념과 동일하다. 3 개의 샘플 어레이들을 가지는 픽처의 경우, CTU는 루마 샘플들의 NХN 블록 및 크로마 샘플들의 2 개의 대응하는 블록들로 구성된다.
CTU에서의 루마 블록의 최대 허용 사이즈는 128Х128로 지정된다(루마 변환 블록들의 최대 사이즈는 64Х64이다).
트리 구조를 사용하여 CTU들을 분할
HEVC에서, CTU는 다양한 로컬 특성에 적응하기 위해 코딩 트리로 표시된 쿼터너리-트리 구조를 사용하여 CU들로 분할된다. 인터-픽처(시간적) 예측을 사용하여 픽처 영역을 코딩할지 아니면 인트라-픽처(공간적) 예측을 사용하여 픽처 영역을 코딩할지는 리프 CU 레벨에서 결정된다. 각 리프 CU는 예측 유닛(prediction unit, PU) 분할 타입에 따라 1 개, 2 개 또는 4 개의 PU들로 더 분할될 수 있다. 하나의 PU 내부에서는 동일한 예측 프로세스가 적용되고, 관련 정보는 PU를 기반으로 디코더로 전송된다. PU 분할 타입을 기반으로 예측 프로세스를 적용하여 잔여 블록을 획득한 다음, CU에 대한 코딩 트리와 유사한 다른 쿼드트리 구조에 따라 리프 CU는 변환 단위(transform unit, TU)들로 분할될 수 있다. HEVC 구조의 주요 특징 중 하나는 CU, PU 및 TU를 포함한 다중 분할 개념을 가지고 있다는 것이다.
VVC에서, 바이너리 및 터너리 분할 세그멘테이션(segmentation) 구조를 사용하는 중첩된 멀티-타입 트리를 갖는 쿼드트리는 멀티 분할 단위 타입의 개념을 대체한다. 예를 들어, 최대 변환 길이에 대하여 너무 큰 크기를 가진 CU를 제외하고 CU, PU 및 TU 개념의 구분을 제거하고 분할 형상에 대하여 더 많은 유연성을 지원한다. 코딩 트리 구조에서 CU는 정사각형 또는 직사각형 형상을 가질 수 있다. 먼저, CTU는 먼저 쿼터너리 트리(즉, 쿼드트리) 구조에 의해 분할된다. 다음, 쿼터너리 트리 리프 노드들은 멀티-타입 트리 구조에 의해 더 분할될 수 있다.
도 4a 내지 도 4d는 본 개시의 일부 구현 방식들에 따른 멀티-타입 트리 분할 모드(multi-type tree splitting mode)들을 도시하는 개략도이다. 도 4a 내지 도 4d에 도시된 바와 같이, 멀티-타입 트리 구조에는 수직 바이너리 분할(402, SPLIT_BT_VER), 수평 바이너리 분할(404, SPLIT_BT_HOR), 수직 터너리 분할(406, SPLIT_TT_VER) 및 수평 터너리 분할(408, SPLIT_TT_HOR)과 같은 네 가지 분할 타입이 있다. 멀티-타입 트리 리프 노드들은 CU(코딩 단위)라고 하며, CU가 최대 변환 길이에 대하여 너무 크지 않은 이상, 이러한 세그멘테이션은 추가 분할없이 예측 및 변환 프로세싱에 사용된다. 따라서, CU, PU 및 TU는 중첩된 멀티-타입 트리 코딩 블록 구조를 갖는 쿼드트리에서 동일한 블록 크기를 가진다. 최대 지원 변환 길이가 CU 컬러 성분의 너비 또는 높이보다 작은 경우 예외가 발생한다.
VVC에서의 신택스
VVC에서, 신택스 시그널링의 비트스트림의 제1 층은 네트워크 추상화층(Network Abstraction Layer, NAL)이며, 비트스트림은 한 세트의 NAL 유닛들로 분할된다. 일부 NAL 유닛들은 디코더에 시퀀스 파라미터 세트(SPS) 및 픽처 파라미터 세트(PPS)와 같은 공통 제어 파라미터를 시그널링한다. 기타 NAL 유닛들은 비디오 데이터를 포함한다. 비디오 코딩층(Video Coding Layer, VCL) NAL 유닛들에는 코딩된 비디오의 슬라이스들이 포함되어 있다. 코딩된 픽처를 액세스 유닛이라고 하며, 하나 또는 그 이상의 슬라이스들로 인코딩할 수 있다.
코딩된 비디오 시퀀스는 IDR(Instantaneous Decoder Refresh) 픽처로 시작한다. 다음의 모든 비디오 픽처들은 슬라이스들로 코딩된다. 새로운 IDR 픽처는 이전 비디오 세그먼트가 종료되고 새로운 비디오 세그먼트가 시작됨을 시그널링한다. 각 NAL 유닛은 1-바이트 헤더로 시작하여 원시 바이트 시퀀스 페이로드(Raw Byte Sequence Payload, RBSP)로 이어진다. RBSP는 인코딩된 슬라이스들을 포함한다. 슬라이스들은 이진 코딩된 것이므로, 0 비트로 패딩되어 정수개의 바이트인 길이를 보장할 수 있다. 슬라이스는 슬라이스 헤더와 슬라이스 데이터로 구성된다. 슬라이스 데이터는 일련의 CU들로 지정된다.
PH 개념은 제16회 JVET 회의에서 채택되어 픽처의 제1 VCL NAL 유닛으로서 픽처당 1회 전송된다. 이전에 슬라이스 헤더에 있던 일부 신택스 요소들을 이 픽처 헤더로 그룹화하는 것도 제안하였다. 기능적으로 픽처당 1 회만 전송하면 되는 신택스 요소들은 주어진 픽처에 대하여 슬라이스들에서 복수 회 전송되는 대신 픽처 헤더로 이동할 수 있다.
VVC 규격에서, 신택스 테이블들은 허용되는 모든 비트 스트림들의 신택스의 상위 집합을 지정한다. 기타 조항에서, 신택스에 대한 추가적인 제약을 직접적으로 또는 간접적으로 명시할 수 있다. 아래의 표 1은 VVC에서의 슬라이스 헤더와 픽처 헤더의 신택스 표이다. 일부 신택스의 세맨틱(semantic)들도 신택스 표 뒤에 도시된다.
표 1
선택된 신택스 요소들의 세맨틱
ph_temporal_mvp_enabled_flag는 PH와 관련된 슬라이스들에 대한 인터 예측에 시간적 움직임 벡터 예측자들을 사용할 수 있는 지 여부를 지정한다. ph_temporal_mvp_enabled_flag가 0과 같을 경우, 슬라이스들의 디코딩에 시간적 움직임 벡터 예측자가 사용되지 않도록, PH와 관련된 슬라이스들의 신택스 요소들을 제약하여야 한다. 그렇지 않고, ph_temporal_mvp_enabled_flag가 1과 같을 경우, 시간적 움직임 벡터 예측자들은 PH와 관련된 슬라이스들의 디코딩에 사용될 수 있다. 존재하지 않을 경우, ph_temporal_mvp_enabled_flag의 값은 0과 같다고 추정한다. 디코딩된 픽처 버퍼(Decoded Picture Buffer, DPB)에 현재 픽처와 같은 공간적 해상도를 가진 참조 픽처가 없을 경우, ph_temporal_mvp_enabled_flag의 값은 0과 같아야 한다.
서브 블록 기반 머지 MVP 후보들의 최대 수 MaxNumSubblockMergeCand는 다음과 같이 도출된다.
참조 픽처 리스트 구성을 위한 디코딩 프로세스
비-IDR 픽처의 각 슬라이스를 위한 디코딩 프로세스의 시작 부분에서 참조 픽처 리스트 구성을 위한 디코딩 프로세스를 호출한다.
참조 픽처는 참조 인덱스들을 통해 어드레싱(addressing)한다. 참조 인덱스는 참조 픽처 리스트에서의 인덱스이다. I 슬라이스를 디코딩할 경우, 슬라이스 데이터의 디코딩에서 참조 픽처 리스트를 사용하지 않는다. P 슬라이스를 디코딩할 경우, 슬라이스 데이터의 디코딩에서 참조 픽처 리스트 0(즉, RefPicList[0])만 사용한다. B 슬라이스를 디코딩할 경우, 슬라이스 데이터의 디코딩에서 참조 픽처 리스트 0과 참조 픽처 리스트 1(즉, RefPicList[1])만 사용한다.
비-IDR 픽처의 각 슬라이스에 대한 디코딩 프로세서의 시작에서, 참조 픽처 리스트 RefPicList[ 0 ] 및 RefPicList[ 1 ]을 도출한다. 참조 픽처 시스트들은 참조 픽처들을 비디오 코딩 표준 또는 슬라이스 데이터의 디코딩 에서 지정한 참조 픽처들을 마킹하기 위하여 사용된다.
비-IDR 픽처의 당해 픽처의 제1 슬라이스가 아닌 I 슬라이스의 경우, 비트스트림 일치성 검사의 목적으로 RefPicList[0] 및 RefPicList[1]를 도출하지만, 이들의 도출은 현재 픽처 또는 디코딩 순서에서의 현재 픽처 이후의 픽처의 디코팅에 필수적인 것은 아니다. 픽처의 제1 슬라이스가 아닌 P 슬라이스의 경우, 비트스트림 일치성 검사의 목적으로 RefPicList[1]를 도출하지만, 이 도출은 현재 픽처 또는 디코딩 순서에서의 현재 픽처 이후의 픽처의 디코팅에 필수적인 것은 아니다.
참조 픽처 리스트 RefPicList[0]과 RefPicList[1], 참조 픽처 스케일링 비율 RefPicScale[i][j][0]과 RefPicScale[i][j][1] 및 참조 픽처 스케일링 플래그 RprConstraintsActive[0][j] 및 RprConstraintsActive[1][j]은 다음과 같이 도출한다.
현재 VVC에서, 어떠한 조건 제약 없이 PH에서 mvd_l1_zero_flag를 시그널링한다. 그러나, 플래그 mvd_l1_zero_flag에 의해 제어되는 특징은 슬라이스가 양방향 예측 슬라이스(bi-predictive slice, B-슬라이스)인 경우에만 적용한다. 따라서, 픽처 헤더와 관련된 슬라이스가 B-슬라이스가 아닐 경우, 플래그 시그널링은 중복된다.
다른 예에서, 시퀀스 파라미터 세트(SPS)에서 각각 시그널링되는 대응하는 인에이블 플래그(sps_bdof_pic_present_flag, sps_dmvr_pic_present_flag)들이 참일 경우에만 PH에서 ph_disable_bdof_flagph_disable_dmvr_flag를 시그널링한다. 그러나, 아래 표 2와 같이, 플래그ph_disable_bdof_flagph_disable_dmvr_flag에 의해 제어되는 특징들은 슬라이스가 양방향 예측 슬라이스(B-슬라이스)인 경우에만 적용한다. 따라서, 픽처 헤더와 관련된 슬라이스가 B-슬라이스가 아닐 경우, 이 두 플래그들의 시그널링은 중복되거나 사용되지 않는다.
표 2
신택스 요소 ph_colocated_from_l0_flag에서도 하나 또는 그 이상의 예를 볼 수 있는데, 동일 위치 픽처가 리스트 0 또는 리스트 1로부터 임을 가리킬 수 있다. 그리고, 아래와 같이 신택스 pred_weight_table()에서 다른 예시를 볼 수 있는데, 이는 양방향 예측에 대한 가중치 표와 관련된 신택스 요소들이다.
세 번째 문제는 신택스 ph_temporal_mvp_enabled_flag와 관련된다. 현재 VVC에서, TMVP 도출을 위하여 선택된 동일 위치 픽처의 해상도가 현재 픽처의 해상도와 동일해야 하므로, 하기와 같이 ph_temporal_mvp_enabled_flag의 값을 체크하는 비트스트림 일치성 제약이 존재한다.
DPB에 현재 픽처와 동일한 공간 해상도를 가진 참조 픽처가 없을 경우, ph_temporal_mvp_enabled_flag의 값은 0과 같아야 한다.
그러나, 현재 VVC에서는, 동일 위치 픽처의 해상도가 TMVP의 인에이블에 영향을 줄 뿐만 아니라, 스케일링 비율 계산을 위하여 픽처 사이즈에 적용되는 오프셋도 TMVP의 인에이블에 영향을 준다. 그러나, 현재 VVC에서는, ph_temporal_mvp_enabled_flag의 비트스트림 일치성에서는 오프셋을 고려하지 않는다.
이외에, slice_collocated_ref_idx에 의해 참조되는 픽처는 코딩된 픽처의 모든 슬라이스들에 대하여 동일해야 한다는 비트스트림 일치성의 요구가 존재한다. 그러나, 코딩된 픽처가 복수의 슬라이스들을 가지고 이러한 모든 슬라이스들 사이에 공통 참조 픽처가 존재하지 않을 경우, 당해 비트스트림 일치성을 충족할 가능성이 없다. 이 경우, ph_temporal_mvp_enabled_flag는 0으로 제한되어야 한다.
위에서 설명한 문제들을 해결하기 위하여 몇가지 방법들이 제안되었다. 제안된 방법들은 독립적으로 또는 조합적으로 적용할 수 있다.
플래그 mvd_l1_zero_flag, ph_disable_bdof_flagph_disable_dmvr_flag에 의해 제어되는 특징들은 슬라이스가 양방향 예측 슬라이스(B-슬라이스)인 경우에만 적용되므로, 본 개시의 방법에 따르면, 관련된 슬라이스들이 B-슬라이스인 경우에만 이러한 플래그들을 시그널링하는 것을 제안한다. PH에서 참조 픽처 리스트를 시그널링할 경우(예를 들어, rpl_info_in_ph_flag=1), 이는 코딩된 픽처의 모든 슬라이스들이 PH에서 시그널링하는 동일한 참조 픽처들을 사용한다는 것을 의미한다. 따라서, PH에서 참조 픽처 리스트들을 시그널링하고 시그널링된 참조 픽처 리스트들이 현재 픽처가 양방향 예측한 것이 아님을 가리키는 경우, 플래그mvd_l1_zero_flag, ph_disable_bdof_flagph_disable_dmvr_flag를 시그널링할 필요가 없다.
일부 예들에서, 일부 조건들은 PH에서 설정한 그러한 신택스들에 추가되어, 픽처 헤더에서의 신택스들 중 일부에 대하여 전송한 부정확한 값들로 인한 중복 시그널링 또는 미정의된 디코딩 동작을 방지한다. 아래에 일부 예들이 도시되어 있고, 변수 num_ref_entries[i][RplsIdx[i]]들은 리스트 i에서의 참조 픽처들의 수를 나타낸다.
일부 예들에서, 조건은 아래와 같이 표시될 수 있다:
일부 예들에서, 조건은 아래와 같이 표시될 수 있다:
일부 예들에서, 조건은 아래와 같이 표시될 수 있다:
선택적으로, 조건들은 동일한 결과들을 제공하는 보다 콤팩트한 형태로 작성할 수 있다. 양방향 예측 슬라이스(B-슬라이스) 또는 양방향 예측 픽처는 반드시 적어도 하나의 리스트 1 참조 픽처를 가져야 하므로, 현재 슬라이스/픽처가 리스트 1 참조 픽처를 가지는지 여부만 체크할 수 있다. 대체 조건 체킹의 예가 아래에 예시되어 있다.
mvd_l1_zero_flag의 세맨틱도 수정되어 시그널링되지 않는 경우를 처리한다.
mvd_l1_zero_flag가 1과 같은 것은 mvd_coding(x0,y0,1)신택스 구조를 파싱하지 않음을 가리키고, MvdL1[x0][y0][compIdx] 및 MvdCpL1[x0][y0][cpIdx][compIdx]은 0과 같도록 설정되며, compIdx=0..1 및 cpIdx=0..2이다. mvd_l1_zero_flag가 0과 같은 것은 mvd_coding(x0,y0,1)신택스 구조를 파싱함을 가리킨다. 존재하지 않을 경우, mvd_l1_zero_flag의 값은 0으로 추정한다.
이하 신택스 요소 ph_disable_dmvr_flag를 조건적으로 시그널링하는 몇몇 예들을 예시한다:
이하 대안적인 조건 체킹의 다른 예를 예시한다:
ph_disable_dmvr_flag의 세맨틱도 수정되어 시그널링되지 않는 경우를 처리한다.
ph_disable_dmvr_flag가 1과 같은 것은 PH와 관련된 슬라이스들에서 디코더 움직임 벡터 세분화에 기반한 인터 양방향 예측(decoder motion vector refinement based inter bi-prediction)을 디스에이블함을 지정한다. ph_disable_dmvr_flag가 0과 같은 것은 PH와 관련된 슬라이스들에서 디코더 움직임 벡터 세분화에 기반한 인터 양방향 예측을 인에이블할 수 있거나 인에이블하지 않을 수 있음을 지정한다.
ph_disable_dmvr_flag가 존재하지 않을 경우, 다음을 적용한다:
-sps_dmvr_enabled_flag가 1과 같고 sps_dmvr_pic_present_flag가 0과 같을 경우, ph_disable_dmvr_flag의 값은 0과 같다고 추정한다.
-그렇지 않으면, sps_dmvr_enabled_flag가 1과 같고 sps_dmvr_pic_present_flag가 1과 같을 경우, ph_disable_dmvr_flag의 값은 1과 같다고 추정한다.
-그렇지 않으면(sps_dmvr_enabled_flag가 0과 같음), ph_disable_dmvr_flag의 값은 1과 같다고 추정한다.
이하 ph_disable_dmvr_flag가 존재하지 않을 경우 ph_disable_dmvr_flag의 값을 도출하는 다른 예를 예시한다:
-ph_disable_dmvr_flag의 값이 명시적으로 시그널링되거나 암시적으로 도출되는 경우, 모든 조건들은 ph_disable_dmvr_flag의 값의 도출을 위하여 고려된다:
-sps_dmvr_enabled_flag가 1과 같고 sps_dmvr_pic_present_flag가 0과 같을 경우, ph_disable_dmvr_flag의 값은 0과 같다고 추정한다.
-그렇지 않으면, sps_dmvr_enabled_flag가 0과 같고 sps_dmvr_pic_present_flag가 0과 같을 경우, ph_disable_dmvr_flag의 값은 1과 같다고 추정한다.
-그렇지 않으면, sps_dmvr_enabled_flag가 1과 같고 sps_dmvr_pic_present_flag가 1과 같고 rpl_info_in_ph_flag가 0과 같을 경우, ph_disable_dmvr_flag의 값은 X와 같다고 추정한다. (X는 명시적으로 시그널링됨)
-그렇지 않으면, sps_dmvr_enabled_flag가 1과 같고 sps_dmvr_pic_present_flag가 1과 같고 rpl_info_in_ph_flag가 1과 같고 num_ref_entries[1][RplsIdx[1]]>0일 경우, ph_disable_dmvr_flag의 값은 X와 같다고 추정한다. (X는 명시적으로 시그널링됨)
-그렇지 않으면(sps_dmvr_enabled_flag는 1과 같고 sps_dmvr_pic_present_flag는 1과 같고 rpl_info_in_ph_flag는 1과 같고 num_ref_entries[1][RplsIdx[1]]==0), ph_disable_dmvr_flag의 값은 1과 같다고 추정한다.
신택스 요소 ph_disable_dmvr_flag가 제3 조건 및 제4 조건 하에서 명시적으로 시그널링되므로, ph_disable_dmvr_flag가 존재하지 않을 경우, ph_disable_dmvr_flag의 도출에서 당해 신택스 요소를 제거한다.
ph_disable_dmvr_flag가 존재하지 않을 경우, 다음을 적용한다:
-sps_dmvr_enabled_flag가 1과 같고 sps_dmvr_pic_present_flag가 0과 같을 경우, ph_disable_dmvr_flag의 값은 0과 같다고 추정한다.
-그렇지 않으면, sps_dmvr_enabled_flag가 0과 같고 sps_dmvr_pic_present_flag가 0과 같을 경우, ph_disable_dmvr_flag의 값은 1과 같다고 추정한다.
-그렇지 않으면 (sps_dmvr_enabled_flag가 1과 같고 sps_dmvr_pic_present_flag가 1과 같고 rpl_info_in_ph_flag가 1과 같고 num_ref_entries[1][RplsIdx[1]]==0), ph_disable_dmvr_flag의 값은 1과 같다고 추정한다.
상기 조건들은 다음과 같이 편집적으로 간소화할 수 있다:
ph_disable_ dmvr_flag가 존재하지 않을 경우, 다음을 적용한다:
-sps_dmvr_enabled_flag가 1과 같고 sps_dmvr_pic_present_flag가 0과 같을 경우, ph_disable_dmvr_flag의 값은 0과 같다고 추정한다.
-그렇지 않으면 (sps_dmvr_enabled_flag가 0과 같거나 sps_dmvr_pic_present_flag가 1과 같음), ph_disable_dmvr_flag의 값은 1과 같다고 추정한다.
이하 ph_disable_dmvr_flag가 존재하지 않을 경우 ph_disable_dmvr_flag의 값을 도출하는 다른 예를 예시한다:
ph_disable_dmvr_flag가 존재하지 않을 경우, 다음을 적용한다:
-sps_ dmvr_pic_present_flag가 0과 같고, ph_disable_dmvr_flag의 값은 1- sps_dmvr_enabled_flag과 같다고 추정한다.
-그렇지 않으면, sps_dmvr_pic_present_flag가 1과 같고 rpl_info_in_ph_flag가 0과 같을 경우, ph_disable_dmvr_flag가 1- sps_ dmvr_enabled_flag과 같다고 추정한다.
-그렇지 않으면, sps_dmvr_pic_present_flag가 1과 같고 rpl_info_in_ph_flag가 1과 같고 num_ref_entries[1][RplsIdx[1]]>0인 경우, ph_disable_dmvr_flag의 값은 1- sps_dmvr_enabled_flag과 같다고 추정한다.
-그렇지 않으면 (sps_dmvr_pic_present_flag가 1과 같고 rpl_info_in_ph_flag가 1과 같고 num_ref_entries[1][RplsIdx[1]]==0), ph_disable_dmvr_flag의 값은 1과 같다고 추정한다.
일부 예들에서, 신택스 요소 ph_disable_dmvr_flag가 위의 제2 조건과 제3 조건 하에서 명시적으로 시그널링되므로, ph_disable_dmvr_flag가 존재하지 않을 경우 ph_disable_dmvr_flag의 도출에서 당해 신택스 요소를 제거할 수 있다.
일부 예들에서, ph_disable_dmvr_flag가 존재하지 않을 경우, 다음을 적용한다: sps_dmvr_pic_present_flag가 0과 같을 경우, ph_disable_dmvr_flag의 값은 1- sps_ dmvr_enabled_flag과 같다고 추정하고; 그렇지 않으면, ph_disable_ dmvr_flag의 값은 1과 같다고 추정한다.
이하 신택스 요소 ph_disable_bdof_flag를 조건적으로 시그널링하는 몇몇 예들을 예시한다:
일부 예들에서, 이하 대안적인 조건 체킹의 일 예를 예시한다:
ph_disable_bdof_flag의 세맨틱도 수정되어 시그널링되지 않는 경우를 처리한다.
ph_disable_bdof_flag가 1과 같은 것은 PH와 관련된 슬라이스들에서 양방향 광학 흐름 인터 예측에 기반한 인터 양방향 예측(bi-directional optical flow inter prediction based inter bi-prediction)을 디스에이블함을 지정한다. ph_disable_bdof_flag가 0고 같은 것은 PH와 관련된 슬라이스들에서 양방향 광학 흐름 인터 예측에 기반한 인터 양방향 예측을 인에이블할 수 있거나 인에이블하지 않을 수 있음을 지정한다.
ph_disable_bdof_flag가 존재하지 않을 경우, 다음을 적용한다:
-sps_bdof_enabled_flag가 1과 같고 sps_bdof_pic_present_flag가 0과 같을 경우, ph_disable_bdof_flag의 값은 0과 같다고 추정한다.
-그렇지 않으면, sps_bdof_enabled_flag가 1과 같고 sps_bdof_pic_present_flag가 1과 같을 경우, ph_disable_dmvr_flag의 값은 1과 같다고 추정한다.
-그렇지 않으면 (sps_bdof_enabled_flag가 0과 같음), ph_disable_bdof_flag의 값은 1과 같다고 추정한다.
이하 ph_disable_bdof_flag가 존재하지 않을 경우 ph_disable_bdof_flag의 값을 도출하는 대안적인 방식을 예시한다:
만약ph_disable_bdof_flag의 값이 명시적으로 시그널링되거나 암시적으로 도출되는 경우, 모든 조건들은 ph_disable_bdof_flag의 값의 도출을 위하여 고려된다:
-sps_bdof_enabled_flag가 1과 같고 sps_bdof_pic_present_flag가 0과 같을 경우, ph_disable_bdof_flag의 값은 0과 같다고 추정한다.
-그렇지 않으면, sps_bdof_enabled_flag가 0과 같고 sps_bdof_pic_present_flag가 0과 같을 경우, ph_disable_bdof_flag의 값은 1과 같다고 추정한다.
-그렇지 않으면, sps_bdof_enabled_flag가 1과 같고 sps_bdof_pic_present_flag가 1과 같고 rpl_info_in_ph_flag가 0과 같을 경우, ph_disable_bdof_flag의 값은 X와 같다고 추정한다. (X는 명시적으로 시그널링됨)
-그렇지 않으면, sps_bdof_enabled_flag가 1과 같고 sps_bdof_pic_present_flag가 1과 같고 rpl_info_in_ph_flag가 1과 같고 num_ref_entries[1][RplsIdx[1]]>0일 경우, ph_disable_bdof_flag의 값은 X와 같다고 추정한다. (X는 명시적으로 시그널링됨)
-그렇지 않으면 (sps_bdof_enabled_flag가 1과 같고 sps_bdof_pic_present_flag가 1과 같고 rpl_info_in_ph_flag가 1과 같고 num_ref_entries[1][RplsIdx[1]]==0), ph_disable_bdof_flag의 값은 1과 같다고 추정한다.
신택스 요소 ph_disable_bdof_flag가 제3 조건 및 제4 조건 하에서 명시적으로 시그널링되므로, ph_disable_bdof_flag가 존재하지 않을 경우, ph_disable_bdof_flag의 도출에서 당해 신택스 요소를 제거한다.
ph_disable_bdof_flag가 존재하지 않을 경우, 다음을 적용한다:
-sps_bdof_enabled_flag가 1과 같고sps_bdof_pic_present_flag가 0과 같을 경우, ph_disable_bdof_flag의 값은 0과 같다고 추정한다.
-그렇지 않으면, sps_bdof_enabled_flag가 0과 같고 sps_bdof_pic_present_flag가 0과 같을 경우, ph_disable_bdof_flag의 값은 1과 같다고 추정한다.
-그렇지 않으면 (sps_bdof_enabled_flag가 1과 같고 sps_bdof_pic_present_flag가 1과 같고 rpl_info_in_ph_flag가 1과 같고 num_ref_entries[1][RplsIdx[1]]==0), ph_disable_bdof_flag의 값은 1과 같다고 추정한다.
상기 조건들은 다음과 같이 편집적으로 간소화할 수 있다:
ph_disable_bdof_flag가 존재하지 않을 경우, 다음을 적용한다:
-sps_bdof_enabled_flag가 1과 같고sps_bdof_pic_present_flag가 0과 같을 경우, ph_disable_bdof_flag의 값은 0과 같다고 추정한다.
-그렇지 않으면 (sps_bdof_enabled_flag가 0과 같거나 sps_bdof_pic_present_flag가 1과 같음), ph_disable_bdof_flag의 값은 1과 같다고 추정한다.
이하 ph_disable_bdof_flag가 존재하지 않을 경우 ph_disable_bdof_flag의 값을 도출하는 다른 대안적인 방식을 예시한다:
ph_disable_bdof_flag가 존재하지 않을 경우, 다음을 적용한다:
-sps_bdof_pic_present_flag가 0과 같을 경우, ph_disable_bdof_flag의 값은1- sps_bdof_enabled_flag과 같다고 추정한다.
-그렇지 않으면, sps_bdof_pic_present_flag가 1과 같고 rpl_info_in_ph_flag가 0과 같을 경우, ph_disable_bdof_flag가 1- sps_bdof_enabled_flag과 같다고 추정한다.
-그렇지 않으면, sps_bdof_pic_present_flag가 1과 같고 rpl_info_in_ph_flag가 1과 같고 num_ref_entries[1][RplsIdx[1]]>0인 경우, ph_disable_bdof_flag의 값은 1- sps_bdof_enabled_flag과 같다고 추정한다.
-그렇지 않으면 (sps_bdof_pic_present_flag가 1과 같고 rpl_info_in_ph_flag가 1과 같고 num_ref_entries[1][RplsIdx[1]]==0), ph_disable_bdof_flag의 값은 1과 같다고 추정한다.
일부 예들에서, 신택스 요소 ph_disable_bdof_flag가 위의 제2 조건과 제3 조건 하에서 명시적으로 시그널링되므로, ph_disable_bdof_flag가 존재하지 않을 경우 ph_disable_bdof_flag의 도출에서 당해 신택스 요소를 제거할 수 있다.
ph_disable_bdof_flag가 존재하지 않을 경우, 다음을 적용한다:
-sps_bdof_pic_present_flag가 0과 같을 경우, ph_disable_bdof_flag의 값은 1- sps_bdof_enabled_flag과 같다고 추정한다.
-그렇지 않으면, ph_disable_bdof_flag의 값은 1과 같다고 추정한다.
이외에, 신택스 요소들 ph_collocated_from_l0_flag와 weight_table()의 시그널링 조건이 수정된 것은, 두 가지 타일의 신택스 요소들이 관련된 슬라이스들이 B-슬라이스들일 경우에만 적용되기 때문이다. 이하 수정된 신택스 요소들의 시그널링의 예들을 예시한다.
ph_collocated_from_l0_flag의 세맨틱들도 수정되어 시그널링되지 않는 경우를 처리한다.
ph_collocated_from_l0_flag가 1과 같은 것은 시간적 움직임 벡터 예측을 위한 동일 위치 픽처는 참조 픽처 리스트 0로부터 도출된 것임을 지정한다. ph_collocated_from_l0_flag가 0과 같은 것은 시간적 움직임 벡터 예측을 위한 동일 위치 픽처는 참조 픽처 리스트 1로부터 도출된 것임을 지정한다.
ph_collocated_from_l0_flag가 존재하지 않을 경우, 다음을 적용한다:
-num_ref_entries[0][RplsIdx[0]]가 1보다 클 경우, ph_collocated_from_l0_flag의 값이 1이라고 추정한다.
-그렇지 않으면 (num_ref_entries[1][RplsIdx[1]]가 1보다 큼), ph_collocated_from_l0_flag의 값은 0과 같다고 추정한다.
유사하게, 이하 대안적인 조건 체킹의 일 예를 예시한다:
pred_weight_table()에서의 신택스 요소들의 세맨틱들도 수정되어 당해 신택스 요소들을 시그널링하지 않는 경우를 처리한다.
num_l1_weights는 pps_weighted_bipred_flag 및 wp_info_in_ph_flag가 모두 1과 같을 경우 참조 픽처 리스트 1에서의 엔트리들에 대하여 시그널링하는 가중치의 수를 지정한다. num_l1_weights의 값은 0부터 Min(15,num_ref_entries[1][RplsIdx[1]])까지의 범위내여야 하며, 0과 Min(15,num_ref_entries[1][RplsIdx[1]])을 포함한다.
변수 NumWeightsL1는 다음과 같이 도출된다:
pred_weight_table()에서의 신택스 요소들의 세맨틱들에서, num_l1_weights가 존재하지 않을 경우 num_l1_weights의 값을 도출하는 대안적인 방식을 아래에 예시한다:
num_l1_weights는 pps_weighted_bipred_flag 및 wp_info_in_ph_flag가 모두 1과 같을 경우 참조 픽처 리스트 1에서의 엔트리들에 대하여 시그널링하는 가중치의 수를 지정한다. num_l1_weights의 값은 0부터 Min(15,num_ref_entries[1][RplsIdx[1]])까지의 범위내여야 하며, 0과 Min(15,num_ref_entries[1][RplsIdx[1]])을 포함한다. 존재하지 않을 경우, num_l1_weights의 값은 0으로 추정한다.
변수 NumWeightsL1은 다음과 같이 도출된다:
pred_weight_table()에서의 신택스 요소들의 세맨틱들에서, num_l1_weights가 존재하지 않을 경우 num_l1_weights의 값을 도출하는 다른 대안적인 방식을 아래에 예시한다:
개념적으로, 시그널링 중복 비트들을 피하기 위하여, B 슬라이스에만 적용되는 임의의 신택스 요소들에 대하여 현재 픽처가 리스트 0 및 리스트 1 참조 픽처 리스트들 모두로부터의 참조 픽처들을 가지고 있는지 여부를 체크하기 위한 시그널링 조건을 추가하는 것을 제안한다. 체크 조건은 두 참조 픽처 리스트(예를들어, 리스트 0/리스트 1 참조 픽처 리스트들)의 사이즈를 체크하는 상기 방법에 한정되지 않으며, 체크 조건은 현재 픽처가 리스트 0 및 리스트 1 참조 픽처 리스트들 모두로부터의 참조 픽처들을 가지고 있는지 여부를 가리키는 기타 임의의 방법일 수 있다. 예를 들어, 현재 픽처가 리스트 0과 리스트 1 참조 픽처를 모두 가지고 있는지 여부를 가리키는 플래그를 시그널링할 수 있다.
신택스 요소들을 시그널링하지 않고 픽처 헤더(PH)에서 참조 픽처 리스트 정보를 시그널링할 때, 현재 픽처가 리스트 0 및 리스트 1 참조 픽처들을 모두 가지고 있는지 또는 리스트 0 또는 리스트 1 참조 픽처만 가지고 있는지 여부에 대한 정보를 사용하여 신택스 요소들의 값을 도출한다. 일 예에서, ph_collocated_from_l0_flag를 시그널링하지 않을 경우, 그 값이 현재 픽처가 가지는 유일한 참조 픽처라고 추정한다. 다른 예에서, sps_bdof_enabled_flag가 1과 같고 sps_bdof_pic_present_flag가 1과 같으나 ph_disable_bdof_flag를 시그널링하지 않을 경우, 제안한 ph_disable_bdof_flag에 관한 시그널링 조건에 따라, num_ref_entries[0][RplsIdx[0]]가 0과 같고 num_ref_entries[1][rplsidx[1]]가 0과 같음을 암시한다. 따라서, 이 조건하에서, ph_disable_bdof_flag는 시그널링되지 않고 1로 추정된다. 현재 VVC에서, 동일 위치 픽처의 해상도가 TMVP의 인에이블에 영향을 줄 뿐만 아니라, 스케일링 비율 계산을 위하여 픽처 사이즈에 적용할 오프셋도 TMVP의 인에이블에 영향을 준다. 그러나, 현재 VVC에서는, ph_temporal_mvp_enabled_flag의 비트스트림 일치성에서는 오프셋을 고려하지 않는다. 제2 실시예에서는, ph_temporal_mvp_enabled_flag의 값이 아래에 예시된 바와 같이 스케일링 비율 계산을 위하여 픽처 사이즈에 적용하는 오프셋에 의존해야 한다는 것을 요구하는 비트스트림 일치성 제약을 현재 VVC에 추가하는 것을 제안한다.
DPB에서 현재 픽처와 동일한 공간 해상도를 가지고 스케일링 비율 계산을 위하여 픽처 사이즈에 적용되는 동일한 오프셋을 가지는 참조 픽처가 존재하지 않을 때, ph_temporal_mvp_enabled_flag의 값은 0과 같아야 한다.
상술한 세맨틱들은 다른 방식으로 다음과 같이 작성할 수도 있다.
DPB에서의 0과 같은 관련 변수 값RprConstraintsActive[i][j]을 가지는 참조 픽처가 존재하지 않을 때, ph_temporal_mvp_enabled_flag의 값은 0과 같아야 한다.
현재 VVC에서, slice_collocated_ref_idx에 의해 참조되는 픽처가 코딩된 픽처의 모든 슬라이스들에 대하여 동일해야 한다는 비트스트림 일치성의 요구가 존재한다. 그러나, 코딩된 픽처가 복수의 슬라이스들을 가지고 이러한 모든 슬라이스들 사이에 공통의 참조 픽처가 존재하지 않는 경우, 이 비트스트림 일치성을 충족할 가능성이 없다. 본 개시의 제3 실시예에서는, ph_temporal_mvp_enabled_flag에 대한 비트스트림 일치성의 요구를 수정하여, 현재 픽처의 모든 슬라이스들 사이에 공통의 참조 픽처가 존재하는지 여부를 고려한다. 이 실시예에 기반하여, VVC 규격에 대한 몇몇 예시적인 수정들이 아래에 예시되어 있다.
ph_temporal_mvp_enabled_flag는 시간적 움직임 예측자들을 PH와 관련된 슬라이스들에 대한 인터 예측에 사용할 수 있는지 여부를 지정한다. ph_temporal_mvp_enabled_flag가 0과 같은 경우, PH와 관련된 슬라이스들의 신택스 요소들은 시간적 움직임 벡터 예측자가 슬라이스들의 디코딩에 사용되지 않도록 제한되어야 한다. 그렇지 않으면(ph_temporal_mvp_enabled_flag는 1과 같음) 시간적 움직임 벡터 예측자들은 PH와 관련된 슬라이스들의 디코딩에 사용될 수 있다. 존재하지 않을 경우, ph_temporal_mvp_enabled_flag의 값은 0과 같다고 추정한다. DPB에서 현재 픽처와 동일한 공간 해상도를 가지는 참조 픽처가 존재하지 않을 경우, ph_temporal_mvp_enabled_flag의 값은 0과 같아야 한다. PH와 관련된 모든 슬라이스들에서 공통의 참조 픽처가 없을 경우, ph_temporal_mvp_enabled_flag의 값은 0과 같아야 한다.
ph_temporal_mvp_enabled_flag는 시간적 움직임 벡터 예측자들을 PH와 관련된 슬라이스들에 대한 인터 예측에 사용할 수 있는지 여부를 지정한다. ph_temporal_mvp_enabled_flag가 0과 같을 경우, PH와 관련된 슬라이스들의 신택스 요소들은 시간적 움직임 벡터 예측자가 슬라이스들의 디코딩에 사용되지 않도록 제한되어야 한다. 그렇지 않으면(ph_temporal_mvp_enabled_flag는 1과 같음) 시간적 움직임 벡터 예측자들은 PH와 관련된 슬라이스들의 디코딩에 사용될 수 있다. 존재하지 않을 경우, ph_temporal_mvp_enabled_flag의 값은 0과 같다고 추정한다. DPB에서 현재 픽처와 동일한 공간 해상도를 가지는 참조 픽처가 존재하지 않을 경우, ph_temporal_mvp_enabled_flag의 값은 0과 같아야 한다. PH와 관련된 모든 인터 슬라이스들에서 공통의 참조 픽처가 없을 경우, ph_temporal_mvp_enabled_flag의 값은 0과 같아야 한다.
시간적 움직임 벡터 예측자들을 PH와 관련된 슬라이스들에 대한 인터 예측에 사용할 수 있는지 여부를 지정한다. ph_temporal_mvp_enabled_flag가 0과 같을 경우, PH와 관련된 슬라이스들의 신택스 요소들은 시간적 움직임 벡터 예측자가 슬라이스들의 디코딩에 사용되지 않도록 제한되어야 한다. 그렇지 않으면(ph_temporal_mvp_enabled_flag는 1과 같음) 시간적 움직임 벡터 예측자들은 PH와 관련된 슬라이스들의 디코딩에 사용될 수 있다. 존재하지 않을 경우, ph_temporal_mvp_enabled_flag의 값은 0과 같다고 추정한다. DPB에서 현재 픽처와 동일한 공간 해상도를 가지는 참조 픽처가 존재하지 않을 경우, ph_temporal_mvp_enabled_flag의 값은 0과 같아야 한다. PH와 관련된 모든 비-인트라 슬라이스(non-intra slice)들에서 공통의 참조 픽처가 없을 경우, ph_temporal_mvp_enabled_flag의 값은 0과 같아야 한다.
일 예에서, slice_collocated_ref_idx에 대한 비트스트림 일치성은 다음과 같이 간소화된다:
비트스트림 일치성의 요구는, slice_collocated_ref_idx에 의해 참조되는 참조 픽처의 pic_width_in_luma_samples 및 pic_height_in_luma_samples의 값들이 각각 현재 픽처의 pic_width_in_luma_samples 및 pic_height_in_luma_samples의 값들과 같아야 하고, RprConstraintsActive[slice_collocated_from_l0_flag?0:1][slice_collocated_ref_idx]는 0과 같아야 한다는 것이다.
상기 방법들은 애플리케이션별 집적 회로(application specific integrated circuit, ASIC), 디지털 신호 프로세서(digital signal processor, DSP), 디지털 신호 프로세싱 장치(digital signal processing device, DSPD), 프로그래밍 가능 논리 장치(programmable logic device, PLD), 필드 프로그래머블 게이트 어레이(field programmable gate array, FPGA), 컨트롤러, 마이크로 컨트롤러, 또는 다른 전자 컴포넌트들을 포함하는 하나 또는 그 이상의 회로들을 포함하는 장치들을 사용하여 구현할 수 있다. 상기 장치는 상술한 방법들을 수행하기 위하여 상기 회로들을 다른 하드웨어 또는 소프트웨어 컴포넌트들과 조합하여 사용할 수 있다. 상기 개시된 각 모듈, 서브모듈, 유닛 또는 서브유닛은 하나 또는 그 이상의 회로들을 사용하여 적어도 부분적으로 구현될 수 있다.
현재 VVC 규격에서, 동일 위치 픽처의 해상도의 제한에 대하여 두 가지 비트스트림 일치성을 가지고 있다. 하나는 ph_temporal_mvp_enabled_flag에 대하여 제안하였고, 다른 하나는 slice_collocated_ref_idx에 관한 비트스트림 일치성에 대하여 제안하였다. 그러나, VVC 규격에서, 기능적 측면에서 두 가지 비트스트림의 일치성을 가지는 것은 중복적인데, 두 비트 스트림 모두 현재 픽처와 다른 해상도 및/또는 다른 스케일링 오프셋을 가지는 동일 위치 픽처를 사용하는 것을 금지하기 때문이다. 인코더가 비트스트림 일치성을 확인하는 부담을 줄이기 위하여, 제5 실시예에서는 비트스트림 일치성 slice_collocated_ref_idx만을 적용하는 것을 제안한다. VVC의 수정된 규격의 예가 아래에 예시되어 있다. 변경된 부분을 강조 표시한다.
일 예에서, 비트스트림 일치성 ph_temporal_mvp_enabled_flag만을 적용하는 것을 제안한다. 이하 VVC의 수정된 규격의 일 예를 예시한다.
도 5는 본 개시의 일부 구현 방식들에 따른 비디오 코딩을 위한 예시적인 장치를 도시하는 블록도이다. 장치(500)는 모바일 폰, 태블릿 컴퓨터, 디지털 방송 단말기, 태블릿 디바아스, 또는 개인 휴대 단말기와 같은 단말기일 수 있다.
도 5에 도시된 바와 같이, 장치(500)는 프로세싱 컴포넌트(502), 메모리(504), 전력 공급 컴포넌트(506), 멀티미디어 컴포넌트(508), 오디오 컴포넌트(510), 입출력(I/O) 인터페이스(512), 센서 컴포넌트(514) 및 통신 컴포넌트(516)와 같은 구성 중의 하나 또는 그 이상을 포함할 수 있다.
프로세싱 컴포넌트(502)는 디스플레이, 전화 통화, 데이터 통신, 카메라 동작 및 레코딩 동작과 관련된 동작들과 같은 장치 (500)의 전체 동작들을 제어한다. 프로세싱 컴포넌트(502)는 상기 방법의 전부 또는 일부 단계를 완성하기 위한 명령어를 실행하기 위한 하나 또는 그 이상의 프로세서(520)를 포함할 수 있다. 또한, 프로세싱 컴포넌트(502)는 프로세싱 컴포넌트(502)와 다른 컴포넌트 간의 상호 작용을 용이하게 하기 위해 하나 혹은 그 이상의 모듈을 포함할 수 있다. 예를 들어, 프로세싱 컴포넌트(502)는 멀티미디어 컴포넌트(508)와 프로세싱 컴포넌트(502)간의 상호 작용을 용이하게 하기 위해 멀티미디어 모듈을 포함할 수 있다.
메모리(504)는 장치(500)의 동작을 지원하기 위해 서로 다른 유형의 데이터를 저장하도록 구성된다. 이러한 데이터의 예로는 장치(500)에서 동작하는 임의의 애플리케이션 또는 방법에 대한 명령어, 연락처 데이터, 전화번호부 데이터, 메시지, 픽처, 비디오 등을 포함한다. 메모리(504)는 임의의 유형의 휘발성 또는 비 휘발성 저장 장치 또는 이들의 조합에 의해 구현할 수 있고, 메모리(504)는 SRAM(Static Random Access Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), EPROM(Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), ROM(Read-Only Memory), 자기 메모리(magnetic memory), 플래시 메모리(flash memory), 자기 디스크(magnetic disk) 또는 컴팩트 디스크(compact disk)일 수 있다.
전력 공급 컴포넌트(506)는 장치(500)의 다양한 컴포넌트들에 전력을 공급한다. 전력 공급 컴포넌트(506)는 전력 공급 관리 시스템, 하나 또는 그 이상의 전원 및 장치(500)의 전력을 생성, 관리 및 분배하는 것과 관련된 기타 컴포넌트를 포함할 수 있다.
멀티미디어 컴포넌트(508)는 장치(500)와 사용자 사이의 출력 인터페이스를 제공하는 스크린을 포함한다. 일부 예들에서, 스크린은LCD 및 터치 패널(TP)을 포함할 수 있다. 스크린이 터치 패널을 포함하는 경우, 스크린은 사용자로부터 입력 신호를 수신하는 터치 스크린으로 구현할 수 있다. 터치 패널은 터치 패널상의 터치, 슬라이드 및 제스처를 감지하기 위한 하나 또는 그 이상의 터치 센서를 포함할 수 있다. 터치 센서는 터치 또는 슬라이딩 동작의 경계를 감지할 뿐만 아니라 터치 또는 슬라이딩 동작과 관련된 지속 시간 및 압력도 감지할 수 있다. 일부 예들에서, 멀티미디어 컴포넌트(508)는 전방 카메라 및/또는 후방 카메라를 포함할 수 있다. 장치(500)가 촬영 모드 또는 비디오 모드와 같은 동작 모드에 있을 경우, 전방 카메라 및/또는 후방 카메라는 외부 멀티미디어 데이터를 수신할 수 있다.
오디오 컴포넌트(510)는 오디오 신호를 출력 및/또는 입력하도록 구성된다. 예를 들어, 오디오 컴포넌트(510)는 마이크(MIC)를 포함한다. 장치(500)가 통화 모드, 녹음 모드 및 음성 인식 모드와 같은 동작 모드일 경우, 마이크는 외부 오디오 신호를 수신하도록 구성된다. 수신된 오디오 신호는 또한 메모리(504)에 저장되거나 통신 컴포넌트(516)를 통해 전송될 수 있다. 일부 예들에서, 오디오 컴포넌트(510)는 오디오 신호를 출력하기 위한 스피커를 더 포함한다.
I/O 인터페이스(512)는 프로세싱 컴포넌트(502)와 주변 인터페이스 모듈사이의 인터페이스를 제공한다. 상기 주변 인터페이스 모듈은 키보드, 클릭 휠, 버튼 등일 수 있다. 이러한 버튼에는 홈 버튼, 볼륨 버튼, 시작 버튼 및 잠금 버튼이 포함될 수 있지만 이에 제한되지는 않는다.
센서 컴포넌트(514)는 장치(500)에 대해 상이한 측면들에서 상태 평가를 제공하기 위한 하나 또는 그 이상의 센서를 포함한다. 예를 들어, 센서 컴포넌트(514)는 장치(500)의 온/오프 상태 및 컴포넌트의 상대적 위치를 검출할 수 있다. 예를 들어, 컴포넌트는 장치(500)의 디스플레이 및 키패드이다. 센서 컴포넌트(514)는 또한 장치(500) 또는 장치(500)의 컴포넌트의 위치 변화, 장치에 대한 사용자의 접촉 유무를 감지할 수 있다. 센서 컴포넌트(514)는 물리적 터치없이 주변 물체의 존재를 감지하도록 구성된 근접 센서를 포함할 수 있다. 센서 컴포넌트(514)는 이미징 애플리케이션에 사용되는 CMOS 또는 CCD 이미지 센서와 같은 광학 센서를 더 포함할 수 있다. 일부 예에서, 센서 컴포넌트(514)는 가속도 센서(acceleration sensor), 자이로스코프 센서(gyroscope sensor), 자기 센서(magnetic sensor), 압력 센서(pressure sensor) 또는 온도 센서(temperature sensor)를 더 포함할 수 있다.
통신 컴포넌트(516)는 장치(500)와 기타 장치 사이의 유선 또는 무선 통신을 용이하게 하도록 구성된다. 장치(500)는 WiFi, 4G, 또는 이들의 조합과 같은 통신 표준에 기반한 무선 네트워크에 접속할 수 있다. 일 예에서, 통신 컴포넌트(516)는 방송 채널을 통해 외부 방송 관리 시스템으로부터 방송 신호 또는 방송 관련 정보를 수신한다. 일 예에서, 통신 컴포넌트(516)는 근거리 통신을 촉진하기 위한 근거리 무선 통신(Near Field Communication, NFC) 모듈을 더 포함할 수 있다. 예를 들어, NFC 모듈은 RFID(Radio Frequency Identification)기술, IrDA(Infrared Data Association)기술, UWB(Ultra-Wide Band)기술, BT(Bluetooth)기술 및 기타 기술을 기반으로 구현될 수 있다.
일 예에서, 장치(500)는 상기 방법을 수행하기 위해 ASIC(Application Specific Integrated Circuit), DSP(Digital Signal Processor), DSPD(Digital Signal Processing Devices), PLD(Programmable Logic Device), FPGA(Field Programmable Gate Array), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 또는 기타 전자 요소중 하나 또는 그 이상에 의해 구현될 수 있다.
비-일시적 컴퓨터 판독 가능 저장 매체는 예를 들어 하드 디스크 드라이브(HDD), 솔리드 스테이트 드라이브(SSD), 플래시 메모리, 하이브리드 드라이브 또는 솔리드 스테이트 하이브리드 드라이브 (SSHD), ROM(Read-Only Memory), 컴팩트 디스크 ROM(CD-ROM), 자기 테이프, 플로피 디스크 등일 수 있다.
도 6은 본 개시의 일부 구현 방식들에 따른 비디오 코딩의 예시적인 프로세스를 도시하는 흐름도이다.
단계(602)에서, 프로세서(520)는 픽처와 관련된 PH에 디스에이블 플래그의 존재 여부를 결정한다.
일부 예들에서, 디스에이블 플래그는 코딩 툴이 PH와 관련된 하나 또는 그 이상의 슬라이스들에서의 디스에이블 여부를 지정한다.
단계(604)에서, 프로세서(520)는 PH에 디스에이블 플래그가 존재하지 않는다는 결정에 응답하여, 픽처의 SPS에서 시그널링되는 하나 또는 그 이상의 인에이블 플래그들에 따라 디스에이블 플래그의 값을 추정한다.
일부 예들에서, 프로세서(520)는 디스에이블 플래그의 값이 1과 같다는 결정에 응답하여 하나 또는 그 이상의 슬라이스들을 디코딩할 경우 코딩 툴을 디스에이블하며, 디스에이블 플래그의 값이 0과 같다는 결정에 응답하여 하나 또는 그 이상의 슬라이스들을 디코딩할 경우 코딩 툴을 인에이블한다.
일부 예들에서, 코딩 툴은 DMVR에 기반한 인터 양방향 예측 및 BDOF에 기반한 인터 양방향 예측 중 적어도 하나를 포함한다.
일부 예들에서, 프로세서(520)는 하나 또는 그 이상의 참조 픽처 리스트들이 픽처와 관련된 하나 또는 그 이상의 슬라이스들이 양방향 예측적이지 않음을 가리킨다는 결정에 응답하여, 디스에이블 플래그의 파싱을 스킵한다.
일부 예들에서, 디스에이블 플래그는 DMVR에 기반한 인터 양방향 예측이 PH와 관련된 하나 또는 그 이상의 슬라이스들에서의 디스에이블 여부를 지정하며, 프로세서(520)는 하나 또는 그 이상의 슬라이스들을 디코딩할 경우 DMVR에 기반한 인터 양방향 예측을 디스에이블하는 것을 통하여 하나 또는 그 이상의 슬라이스들을 디코딩할 경우 코딩 툴을 디스에이블하며, 프로세서(520)는 하나 또는 그 이상의 슬라이스들을 디코딩할 경우 DMVR에 기반한 인터 양방향 예측을 인에이블하는 것을 통하여 하나 또는 그 이상의 슬라이스들을 디코딩할 경우 코딩 툴을 인에이블한다.
일부 예들에서, 프로세서(520)는 디스에이블 플래그의 파싱을 스킵한다는 결정에 응답하여, 아래의 동작을 통하여 픽처의 SPS에서 시그널링되는 하나 또는 그 이상의 인에이블 플래그들에 따라 디스에이블 플래그의 값을 추정한다: SPS 중의 제1 인에이블 플래그가 1과 같고 SPS 중의 제2 인에이블 플래그가 0과 같다는 결정에 응답하여, 디스에이블 플래그의 값을 0으로 추정한다.
일부 예들에서, SPS 중의 제1 인에이블 플래그는 DMVR에 기반한 인터 양방향 예측의 인에이블 여부를 지정하며, 제1 인에이블 플래그가 1과 같음은 DMVR에 기반한 인터 양방향 예측을 인에이블함을 지정하며, 제1 인에이블 플래그가 0과 같음은 DMVR에 기반한 인터 양방향 예측을 디스에이블함을 지정한다.
일부 예들에서, SPS 중의 제2 인에이블 플래그는 SPS를 참조하는 PH 중에 디스에이블 플래그의 존재 여부를 지정하며, 제2 인에이블 플래그가 0과 같음은 SPS를 참조하는 PH 중에 디스에이블 플래그가 존재하지 않음을 지정하며, 제2 인에이블 플래그가 1과 같음은SPS를 참조하는 PH 중에 디스에이블 플래그가 존재함을 지정한다.
일부 예들에서, 프로세서(520)는 디스에이블 플래그의 파싱을 스킵한다는 결정에 응답하여, 아래의 동작을 통하여 픽처의 SPS에서 시그널링되는 하나 또는 그 이상의 인에이블 플래그들에 따라 디스에이블 플래그의 값을 추정한다: SPS 중의 제1 인에이블 플래그가 1과 같고 SPS 중의 제2 인에이블 플래그가 1과 같다는 결정에 응답하여, 디스에이블 플래그의 값을 1로 추정하고, SPS 중의 제1 인에이블 플래그가 0과 같다는 결정에 응답하여 디스에이블 플래그의 값을 1로 추정한다.
일부 예들에서, 프로세서(520)는 디스에이블 플래그의 파싱을 스킵한다는 결정에 응답하여, 아래의 동작을 통하여 픽처의 SPS에서 시그널링되는 하나 또는 그 이상의 인에이블 플래그들에 따라 디스에이블 플래그의 값을 추정한다: SPS 중의 제1 인에이블 플래그가 0과 같고 SPS 중의 제2 인에이블 플래그가 0과 같다는 결정에 응답하여, 디스에이블 플래그의 값을 1로 추정하고, SPS 중의 제1 인에이블 플래그가 1과 같고 SPS 중의 제2 인에이블 플래그가 1과 같고 PH에서 하나 또는 그 이상의 참조 픽처 리스트들이 시그널링되고 제2 참조 픽처 리스트 중의 참조 픽처들의 수량이 0과 같다는 결정에 응답하여, 디스에이블 플래그의 값을 1로 추정한다. 하나 또는 그 이상의 참조 픽처 리스트들은 제1 참조 픽처 리스트 및 제2 참조 픽처 리스트를 포함한다.
일부 예들에서, 프로세서(520)는 디스에이블 플래그의 파싱을 스킵한다는 결정에 응답하여, 아래의 동작을 통하여 픽처의 SPS에서 시그널링되는 하나 또는 그 이상의 인에이블 플래그들에 따라 디스에이블 플래그의 값을 추정한다: SPS 중의 제1 인에이블 플래그가 0과 같다는 결정에 응답하여 디스에이블 플래그의 값을 1로 추정하고, SPS 중의 제2 인에이블 플래그가 1과 같다는 결정에 응답하여 디스에이블 플래그의 값을 1로 추정한다.
일부 예들에서, 프로세서(520)는 SPS 중의 제1 인에이블 플래그의 값을 W로 결정하며, SPS 중의 제1 인에이블 플래그는 DMVR에 기반한 인터 양방향 예측의 인에이블 여부를 지정하고, 제1 인에이블 플래그가 1과 같음은 DMVR에 기반한 인터 양방향 예측을 인에이블함을 지정하며, 제1 인에이블 플래그가 0과 같음은 DMVR에 기반한 인터 양방향 예측을 디스에이블함을 지정한다. 프로세서(520)는 디스에이블 플래그의 파싱을 스킵한다는 결정에 응답하여, 아래의 동작을 통하여 픽처의 SPS에서 시그널링되는 하나 또는 그 이상의 인에이블 플래그들에 따라 디스에이블 플래그의 값을 추정한다: SPS 중의 제2 인에이블 플래그가 0과 같다는 결정에 응답하여 디스에이블 플래그의 값을 1-W로 추정한다. SPS 중의 제2 인에이블 플래그는 SPS를 참조하는 PH에 디스에이블 플래그의 존재 여부를 지정하며, 제2 인에이블 플래그가 0과 같음은 SPS를 참조하는 PH에 디스에이블 플래그가 존재하지 않음을 지정하며, 제2 인에이블 플래그가 1과 같음은 SPS를 참조하는 PH에 디스에이블 플래그가 존재함을 지정한다.
일부 예들에서, 프로세서(520)는 디스에이블 플래그의 파싱을 스킵한다는 결정에 응답하여, 아래의 동작을 통하여 픽처의 SPS에서 시그널링되는 하나 또는 그 이상의 인에이블 플래그들에 따라 디스에이블 플래그의 값을 추정한다: SPS 중의 제2 인에이블 플래그가 0과 같지 않다는 결정에 응답하여 디스에이블 플래그의 값을 1로 추정한다.
일부 예들에서, 프로세서(520)는 아래의 동작을 통하여 SPS 중의 제2 인에이블 플래그가 0과 같지 않다는 결정에 응답하여 디스에이블 플래그의 값을 1로 추정한다: SPS 중의 제2 인에이블 플래그가 1과 같고 PH에서 하나 또는 그 이상의 참조 픽처 리스트들을 시그널링하고 제2 참조 픽처 리스트 중의 참조 픽처들의 수량이 0과 같다는 결정에 응답하여 디스에이블 플래그의 값을 1로 추정한다. 하나 또는 그 이상의 참조 픽처리스트들은 제1 참조 픽처 리스트 및 제2 참조 픽처 리스트를 포함한다.
일부 예들에서, 프로세서(520)는 PH에서 디스에이블 플래그가 시그널링되었다는 결정에 응답하여 SPS 중의 하나 또는 그 이상의 인에이블 플래그들에 따라 디스에이블 플래그의 값을 추정한다.
일부 예들에서, 프로세서(520)는 아래의 동작을 통하여 PH에서 디스에이블 플래그가 시그널링되었다는 결정에 응답하여 SPS 중의 하나 또는 그 이상의 인에이블 플래그들에 따라 디스에이블 플래그의 값을 추정한다: SPS 중의 제1 인에이블 플래그의 값을 W로 결정하고; SPS 중의 제2 인에이블 플래그가 1과 같고 PH에서 하나 또는 그 이상의 참조 픽처 리스트들이 시그널링되지 않는다는 결정에 응답하여 디스에이블 플래그의 값을 1-W로 추정하며; SPS 중의 제2 인에이블 플래그가 1과 같고 PH에서 하나 또는 그 이상의 참조 픽처 리스트들이 시그널링되고 참조 픽처 리스트1 중의 참조 픽처들의 수량이 0보다 크다는 결정에 응답하여,디스에이블 플래그의 값을 1-W로 추정한다.
일부 예들에서, 프로세서(520)는 아래의 동작을 통하여 PH 중의 디스에이블 플래그가 시그널링되었다는 결정에 응답하여 SPS 중의 하나 또는 그 이상의 인에이블 플래그들에 따라 디스에이블 플래그의 값을 추정한다: SPS 중의 제1 인에이블 플래그가 1과 같고 SPS 중의 제2 인에이블 플래그가 1과 같으며 PH에서 하나 또는 그 이상의 참조 픽처 리스트들이 시그널링되지 않는다는 결정에 응답하여, 디스에이블 플래그의 값을 PH에서 명시적으로 시그널링되는 디스에이블 플래그의 값으로 추정하고; SPS 중의 제1 인에이블 플래그가 1과 같고 SPS 중의 제2 인에이블 플래그가 1과 같고 PH에서 하나 또는 그 이상의 참조 픽처 리스트들이 시그널링되고 참조 픽처 리스트1 중의 참조 픽처들의 수량이 0보다 크다는 결정에 응답하여, 디스에이블 플래그의 값을 PH에서 명시적으로 시그널링되는 디스에이블 플래그의 값으로 추정한다.
일부 예들에서, 디스에이블 플래그는 PH와 관련된 하나 또는 그 이상의 슬라이스들에서 BDOF에 기반한 인터 양방향 예측의 디스에이블 여부를 지정한다. 프로세서(520)는 하나 또는 그 이상의 슬라이스들을 디코딩할 경우 BDOF에 기반한 인터 양방향 예측을 디스에이블하는 것을 통하여 하나 또는 그 이상의 슬라이스들을 디코딩할 경우 코딩 툴을 디스에이블하며, 하나 또는 그 이상의 슬라이스들을 디코딩할 경우 BDOF에 기반한 인터 양방향 예측을 인에이블하는 것을 통하여 하나 또는 그 이상의 슬라이스들을 디코딩할 경우 코딩 툴을 인에이블한다.
일부 예들에서, 프로세서(520)는 디스에이블 플래그의 파싱을 스킵한다는 결정에 응답하여, 아래의 동작을 통하여 픽처의 SPS에서 시그널링된 하나 또는 그 이상의 인에이블 플래그들에 따라 디스에이블 플래그의 값을 추정한다: SPS 중의 제3 인에이블 플래그가 1과 같고 SPS 중의 제4 인에이블 플래그가 0과 같다는 결정에 응답하여, 디스에이블 플래그의 값을 0로 추정한다. SPS 중의 제3 인에이블 플래그는 BDOF에 기반한 인터 양방향 예측의 인에이블 여부를 지정하며, 제3 인에이블 플래그가 1과 같음은 BDOF에 기반한 인터 양방향 예측을 인에이블함을 지정하며, 제3 인에이블 플래그가 0과 같음은 BDOF에 기반한 인터 양방향 예측을 디스에이블함을 지정한다. SPS 중의 제4 인에이블 플래그는 SPS를 참조하는 PH 중에 디스에이블 플래그의 존재 여부를 지정하며, 제4 인에이블 플래그가 0과 같음은 SPS를 참조하는 PH 중에 디스에이블 플래그가 존재하지 않음을 지정하며, 제4 인에이블 플래그가 1과 같음은SPS를 참조하는 PH 중에 디스에이블 플래그가 존재함을 지정한다.
일부 예들에서, 프로세서(520)는 디스에이블 플래그의 파싱을 스킵한다는 결정에 응답하여, 아래의 동작을 통하여 픽처의 SPS에서 시그널링된 하나 또는 그 이상의 인에이블 플래그들에 따라 디스에이블 플래그의 값을 추정한다: SPS 중의 제3 인에이블 플래그가 1과 같고 SPS 중의 제4 인에이블 플래그가 1과 같다는 결정에 응답하여, 디스에이블 플래그의 값을 1로 추정하고, SPS 중의 제3 인에이블 플래그가 0과 같다는 결정에 응답하여 디스에이블 플래그의 값을 1로 추정한다.
일부 예들에서, 프로세서(520)는 디스에이블 플래그의 파싱을 스킵한다는 결정에 응답하여, 아래의 동작을 통하여 픽처의 SPS에서 시그널링된 하나 또는 그 이상의 인에이블 플래그들에 따라 디스에이블 플래그의 값을 추정한다: SPS 중의 제3 인에이블 플래그가 0과 같고 SPS 중의 제4 인에이블 플래그가 0과 같다는 결정에 응답하여, 디스에이블 플래그의 값을 1로 추정하고, SPS 중의 제3 인에이블 플래그가 1과 같고 SPS 중의 제4 인에이블 플래그가 1과 같고 PH에서 하나 또는 그 이상의 참조 픽처 리스트들이 시그널링되고 제2 참조 픽처 리스트 중의 참조 픽처들의 수량이 0과 같다는 결정에 응답하여, 디스에이블 플래그의 값을 1로 추정한다. 하나 또는 그 이상의 참조 픽처 리스트들은 제1 참조 픽처 리스트 및 제2 참조 픽처 리스트를 포함한다.
일부 예들에서, 프로세서(520)는 디스에이블 플래그의 파싱을 스킵한다는 결정에 응답하여, 아래의 동작을 통하여 픽처의 SPS에서 시그널링된 하나 또는 그 이상의 인에이블 플래그들에 따라 디스에이블 플래그의 값을 추정한다: SPS 중의 제3 인에이블 플래그가 0과 같다는 결정에 응답하여 디스에이블 플래그의 값을 1로 추정하고, SPS 중의 제4 인에이블 플래그가 1과 같다는 결정에 응답하여 디스에이블 플래그의 값을 1로 추정한다.
일부 예들에서, 프로세서(520)는 SPS 중의 제3 인에이블 플래그의 값을 V로 결정하며, 아래의 동작을 통하여 픽처의 SPS에서 시그널링된 하나 또는 그 이상의 인에이블 플래그들에 따라 디스에이블 플래그의 값을 추정한다: SPS 중의 제4 인에이블 플래그가 0과 같다는 결정에 응답하여 디스에이블 플래그의 값을 1-V로 추정한다.
일부 예들에서, 프로세서(520)는 디스에이블 플래그의 파싱을 스킵한다는 결정에 응답하여, 아래의 동작을 통하여 픽처의 SPS에서 시그널링된 하나 또는 그 이상의 인에이블 플래그들에 따라 디스에이블 플래그의 값을 추정한다: SPS 중의 제4 인에이블 플래그가 0과 같지 않다는 결정에 응답하여 디스에이블 플래그의 값을 1로 추정한다.
일부 예들에서, 프로세서(520)는 아래의 동작을 통하여 SPS에서의 제4 인에이블 플래그가 0과 같지 않다는 결정에 응답하여 디스에이블 플래그의 값을 1로 추정한다: SPS 중의 제4 인에이블 플래그가 1과 같고 PH에서 하나 또는 그 이상의 참조 픽처 리스트들을 시그널링하고 제2 참조 픽처 리스트 중의 참조 픽처들의 수량이 0과 같다는 결정에 응답하여 디스에이블 플래그의 값을 1로 추정한다. 하나 또는 그 이상의 참조 픽처리스트들은 제1 참조 픽처 리스트 및 제2 참조 픽처 리스트를 포함한다.
일부 예들에서, 프로세서(520)는 SPS에서의 제3 인에이블 플래그의 값을 V로 결정하고 아래의 동작을 통하여 PH에서 디스에이블 플래그가 시그널링되었다는 결정에 응답하여 SPS 중의 하나 또는 그 이상의 인에이블 플래그들에 따라 디스에이블 플래그의 값을 추정한다: SPS 중의 제4 인에이블 플래그가 1과 같고 PH에서 하나 또는 그 이상의 참조 픽처 리스트들이 시그널링되지 않는다는 결정에 응답하여 디스에이블 플래그의 값을 1-V로 추정하고; SPS 중의 제4 인에이블 플래그가 1과 같고 PH에서 하나 또는 그 이상의 참조 픽처 리스트들이 시그널링되고 참조 픽처 리스트1 중의 참조 픽처들의 수량이 0보다 크다는 결정에 응답하여, 디스에이블 플래그의 값을 1-V로 추정한다.
일부 예들에서, 프로세서(520)는 SPS 중의 제3 인에이블 플래그가 1과 같고 SPS 중의 제4 인에이블 플래그가 1과 같으며 PH에서 하나 또는 그 이상의 참조 픽처 리스트들이 시그널링되지 않는다는 결정에 응답하여, 디스에이블 플래그의 값을 PH에서 명시적으로 시그널링되는 디스에이블 플래그의 값으로 추정하고; SPS 중의 제3 인에이블 플래그가 1과 같고 SPS 중의 제4 인에이블 플래그가 1과 같고 PH에서 하나 또는 그 이상의 참조 픽처 리스트들이 시그널링되고 참조 픽처 리스트1 중의 참조 픽처들의 수량이 0보다 크다는 결정에 응답하여, 디스에이블 플래그의 값을 PH에서 명시적으로 시그널링되는 디스에이블 플래그의 값으로 추정한다.
도 7은 본 개시의 일부 구현 방식들에 따른 비디오 코딩의 예시적인 프로세스를 도시하는 흐름도이다.
단계(702)에서, 프로세서(520)는 픽처와 관련된 PH에 플래그의 존재 여부를 결정한다.
일부 예들에서, 플래그는 TMVP에 사용되는 픽처가 픽처와 관련된 복수의 참조 픽처 리스트들 중의의 참조 픽처 리스트로부터의 도출 여부를 지정한다.
단계(704)에서, 프로세서(520)는 플래그가 PH에 존재하지 않는다는 결정에 응답하여, 참조 픽처 리스트 중의 참조 픽처들의 수량에 따라 플래그의 값을 추정한다.
일부 예들에서, 프로세서(520)는 복수의 참조 픽처 리스트들이 픽처와 관련된 하나 또는 그 이상의 슬라이스들이 양방향 예측적이지 않음을 가리킨다는 결정에 응답하여 플래그의 파싱을 스킵한다.
일부 예들에서, 복수의 참조 픽처 리스트들은 제1 참조 픽처 리스트 및 제2 참조 픽처 리스트를 포함한다.
일부 예들에서, 플래그가 1과 같음은 TMVP에 사용되는 픽처가 제1 참조 픽처 리스트에서 도출됨을 지정하고, 플래그가 0과 같음은 TMVP에 사용되는 픽처가 제2 참조 픽처 리스트에서 도출됨을 지정한다.
일부 예들에서, 프로세서(520)는 플래그의 파싱을 스킵한다는 결정에 응답하여, 아래의 동작을 통하여 참조 픽처 리스트에서의 참조 픽처들의 수에 따라 플래그의 값을 추정한다: 제1 참조 픽처 리스트 중의 참조 픽처들의 수량이 1보다 크다는 결정에 응답하여, 플래그의 값을 1로 추정하고, 제2 참조 픽처 리스트 중의 참조 픽처들의 수량이 1보다 크다는 결정에 응답하여, 플래그의 값을 0로 추정한다.
도 8은 본 개시의 일부 구현 방식들에 따른 비디오 코딩의 예시적인 프로세스를 도시하는 흐름도이다.
단계(802)에서, 프로세서(520)는 픽처와 관련된 PH에 플래그의 존재 여부를 결정한다.
일부 예들에서, 플래그는 픽처의 PPS 중의 제1 WP 플래그와 픽처의 PH 중의 제2 WP 플래그에 따라 참조 픽처 리스트에서 시그널링되는 가중치의 수량을 지정하며, 플래그는 픽처와 관련된 WP 신택스에 존재한다.
단계(804)에서, 프로세서(520)는 플래그가 PH에 존재하지 않는다는 결정에 응답하여, 픽처와 관련된 복수의 참조 픽처 리스트들로부터의 참조 픽처 리스트의 참조 픽처들의 수에 따라 플래그의 값을 추정한다.
일부 예들에서, 프로세서(520)는 복수의 참조 픽처 리스트들이 픽처와 관련된 하나 또는 그 이상의 슬라이스들이 양방향 예측적이지 않음을 가리킨다는 결정에 응답하여, 플래그의 파싱을 스킵한다.
일부 예들에서, 복수의 참조 픽처 리스트들은 제1 참조 픽처 리스트 및 제2 참조 픽처 리스트를 포함하며, 플래그는 PPS 중의 제1 WP 플래그가 1과 같고, PH 중의 제2 WP 플래그가 1과 같다는 결정에 응답하여 제2 참조 픽처 리스트에서 시그널링되는 가중치의 수를 지정한다.
일부 예들에서, 프로세서(520)는 플래그의 파싱을 스킵한다는 결정에 응답하여, 아래의 동작을 통하여 참조 픽처 리스트 중의 참조 픽처들의 수량에 따라 플래그의 값을 추정한다: PPS 중의 제1 WP 플래그가 0과 같고 PH 중의 제2 WP 플래그가 1과 같으며, 제2 참조 픽처 리스트 중의 참조 픽처들의 수량이 0과 같다는 결정에 응답하여, 플래그의 값을 0으로 추정하고; PPS 중의 제1 WP 플래그가 0과 같지 않고 PH 중의 제2 WP 플래그가 1과 같다는 결정에 응답하여, 플래그의 값을 PH에서 명시적으로 시그널링하는 플래그의 값으로 추정하며; PPS 중의 제1 WP 플래그가 0과 같지 않고 PH 중의 제2 WP 플래그가 1과 같지 않다는 결정에 응답하여, 플래그의 값을 NumRefIdxActive[1]의 값으로 추정한다.
일부 예들에서, NumRefIdxActive[i]-1의 값은 참조 픽처 리스트 i에 대한 최대 참조 인덱스를 지정하고, 여기서 i는 0 또는 1과 같다.
예를 들어, NumRefIdxActive[1]-1의 값은 참조 픽처 리스트 1(즉, 제2 참조 픽처 리스트)에 대한 최대 참조 인덱스를 지정한다.
일부 예들에서, 프로세서(520)는 아래의 동작을 통하여 PH 중에 플래그가 존재한다는 결정에 응답하여 플래그의 값을 결정한다: PPS 중의 제1 WP 플래그가 0과 같다는 결정에 응답하여 플래그의 값을 0으로 결정하고; PPS 중의 제1 WP 플래그가 0과 같지 않고 PH 중의 제2 WP 플래그가 1과 같다는 결정에 응답하여 플래그의 값을 PH에서 명시적으로 시그널링된 플래그의 값으로 결정하며; PPS 중의 제1 WP 플래그가 0과 같지 않고 PH 중의 제2 WP 플래그가 1과 같지 않다는 결정에 응답하여 플래그의 값을 NumRefIdxActive[1]의 값으로 결정한다.
도 9은 본 개시의 일부 구현 방식들에 따른 비디오 코딩의 예시적인 프로세스를 도시하는 흐름도이다.
단계(902)에서, 프로세서(520)는 인에이블 플래그를 사용하여 하나 또는 그 이상의 시간적 움직임 벡터 예측자들이 픽처의 PH와 관련된 하나 또는 그 이상의 슬라이스들에 대한 인터 예측을 위하여 사용되는지 여부를 지정한다.
단계(904)에서, 프로세서(520)는 스케일링 비율 계산을 위하여 픽처의 사이즈에 적용되는 복수의 오프셋에 따라 인에이블 플래그의 값을 제약한다.
일부 예들에서, 프로세서는 하나 또는 그 이상의 인터 슬라이스들에 공통의 추정 픽처가 존재하지 않는다는 결정에 응답하여, 인에이블 플래그를 0으로 설정한다. 하나 또는 그 이상의 슬라이스들은 PH와 관련된 하나 또는 그 이상의 인터 슬라이스들을 포함한다.
일부 예들에서, 프로세서는 하나 또는 그 이상의 비-인트라 슬라이스들에 공통의 추정 픽처가 존재하지 않는다는 결정에 응답하여 인에이블 플래그를 0으로 설정한다.
일부 예들에서, 비디오 코딩을 위한 장치를 제공한다. 장치는 하나 또는 그 이상의 프로세서(520)들 및 하나 또는 그 이상의 프로세서들에 의해 실행 가능한 명령어를 저장하도록 구성된 메모리(504)를 포함하며, 여기서 프로세서는 명령어를 실행할 경우 도 6에 도시된 바와 같은 방법을 수행하도록 구성된다.
일부 예들에서, 비디오 코딩을 위한 장치를 제공한다. 장치는 하나 또는 그 이상의 프로세서(520)들 및 하나 또는 그 이상의 프로세서들에 의해 실행 가능한 명령어를 저장하도록 구성된 메모리(504)를 포함하며, 여기서 프로세서는 명령어를 실행할 경우 도 7에 도시된 바와 같은 방법을 수행하도록 구성된다.
일부 예들에서, 비디오 코딩을 위한 장치를 제공한다. 장치는 하나 또는 그 이상의 프로세서(520)들 및 하나 또는 그 이상의 프로세서들에 의해 실행 가능한 명령어를 저장하도록 구성된 메모리(504)를 포함하며, 여기서 프로세서는 명령어를 실행할 경우 도 8에 도시된 바와 같은 방법을 수행하도록 구성된다.
일부 예들에서, 비디오 코딩을 위한 장치를 제공한다. 장치는 하나 또는 그 이상의 프로세서(520)들 및 하나 또는 그 이상의 프로세서들에 의해 실행 가능한 명령어를 저장하도록 구성된 메모리(504)를 포함하며, 여기서 프로세서는 명령어를 실행할 경우 도 9에 도시된 바와 같은 방법을 수행하도록 구성된다.
일부 다른 예들에서는, 내부에 저장된 명령어들을 가지는 비-일시적 컴퓨터 판독 가능 저장 매체(504)를 제공한다. 하나 또는 그 이상의 프로세서(520)들에 의해 명령어들이 실행될 경우, 상기 명령어들은 프로세서로 하여금 도 6에 도시된 바와 같은 방법을 수행하도록 한다.
일부 다른 예들에서는, 내부에 저장된 명령어들을 가지는 비-일시적 컴퓨터 판독 가능 저장 매체(504)를 제공한다. 하나 또는 그 이상의 프로세서(520)들에 의해 명령어들이 실행될 경우, 상기 명령어들은 프로세서로 하여금 도 7에 도시된 바와 같은 방법을 수행하도록 한다.
일부 다른 예들에서는, 내부에 저장된 명령어들을 가지는 비-일시적 컴퓨터 판독 가능 저장 매체(504)를 제공한다. 하나 또는 그 이상의 프로세서(520)들에 의해 명령어들이 실행될 경우, 상기 명령어들은 프로세서로 하여금 도 8에 도시된 바와 같은 방법을 수행하도록 한다.
일부 다른 예들에서는, 내부에 저장된 명령어들을 가지는 비-일시적 컴퓨터 판독 가능 저장 매체(504)를 제공한다. 하나 또는 그 이상의 프로세서(520)들에 의해 명령어들이 실행될 경우, 상기 명령어들은 프로세서로 하여금 도 9에 도시된 바와 같은 방법을 수행하도록 한다.
본 개시 내용의 설명은 예시의 목적으로 제시된 것이며, 본 개시 내용을 망라하거나 제한하고자 하는 것은 아니다. 전술한 설명 및 관련 도면들의 시사로부터 당업자들은 다양한 수정, 변경 및 대안적인 구현 방식들은 명백히 이해할 것이다.
예시들은 본 개시의 원리 및 당업자가 본 개시를 다양한 구현 방식으로 구현하도록 이해하고, 특정된 용도에 적합하도록 본 발명을 수정하도록 본 발명의 기본적인 원리 및 다양한 구현 방식을 제일 적합하게 사용하도록 설명되었다. 따라서, 본 개시의 범위는 개시된 구현 방식들의 특정 예에 제한되지 않으며, 변형 및 다른 구현 방식들은 본 개시에 포함되는 것으로 해석되어야 한다.

Claims (21)

  1. 픽처의 시퀀스 파라미터 세트(sequence parameter set, SPS)에서 하나 또는 그 이상의 인에이블 플래그들을 시그널링하는 단계; 및
    픽처와 관련된 픽처 헤더(PH)에서 디스에이블 플래그를 선택적으로 시그널링하는 단계를 포함하되,
    상기 디스에이블 플래그는 상기 PH와 관련된 하나 또는 그 이상의 슬라이스들에 대하여 상기 코딩 툴의 디스에이블 여부를 지정하고,
    상기 PH에서 상기 디스에이블 플래그가 시그널링되지 않는다는 결정에 응답하여, 상기 디스에이블 플래그의 값을 상기 SPS 레벨에서의 하나 또는 그 이상의 인에이블 플래그들에 따라 추정하고,
    상기 SPS레벨에서의 제1 인에이블 플래그가 1과 같다고 결정되고, 상기 SPS 레벨에서의 제2 인에이블 플래그가 0과 같다고 결정된 것에 응답하여, 상기 디스에이블 플래그의 값을 0으로 추정하는,
    비디오 인코딩을 위한 방법.
  2. 제 1 항에 있어서,
    상기 디스에이블 플래그의 값이 1과 같음은, 상기 하나 또는 그 이상의 슬라이스들을 디코딩할 때 상기 코딩 툴을 디스에이블함을 지정하고,
    상기 디스에이블 플래그의 값이 0과 같음은, 상기 하나 또는 그 이상의 슬라이스들을 디코딩할 때 상기 코딩 툴을 인에이블함을 지정하는,
    비디오 인코딩을 위한 방법.
  3. 제 1 항에 있어서,
    상기 코딩 툴은 디코더 움직임 벡터 세분화(decoder motion vector refinement, DMVR)에 기반한 인터 양방향 예측 및 양방향 광학 흐름(bi-directional optical flow, BDOF)에 기반한 인터 양방향 예측 중 적어도 하나를 포함하는,
    비디오 인코딩을 위한 방법.
  4. 제 3 항에 있어서,
    상기 픽처와 관련된 픽처 헤더(PH)에서 디스에이블 플래그를 선택적으로 시그널링하는 단계는,
    하나 또는 그 이상의 참조 픽처 리스트들로부터 상기 픽처와 관련된 하나 또는 그 이상의 슬라이스들이 양방향 예측적이지 않다는 결정에 응답하여, 상기 PH에서 상기 디스에이블 플래그를 시그널링하지 않는 단계를 포함하는,
    비디오 인코딩을 위한 방법.
  5. 제 4 항에 있어서,
    상기 디스에이블 플래그는 상기 PH와 관련된 상기 하나 또는 그 이상의 슬라이스들에 대하여 상기 DMVR에 기반한 인터 양방향 예측의 디스에이블 여부를 지정하고,
    상기 디스에이블 플래그의 값이 1과 같음은, 상기 하나 또는 그 이상의 슬라이스들을 디코딩할 때 상기 DMVR에 기반한 인터 양방향 예측을 디스에이블함을 지정하고,
    상기 디스에이블 플래그의 값이 0과 같음은, 상기 하나 또는 그 이상의 슬라이스들을 디코딩할 때 상기 DMVR에 기반한 인터 양방향 예측을 인에이블함을 지정하는,
    비디오 인코딩을 위한 방법.
  6. 제 5 항에 있어서,
    상기 SPS 레벨에서의 상기 제1 인에이블 플래그가 1과 같다고 결정되고, 상기 SPS 레벨에서의 상기 제2 인에이블 플래그가 1과 같다고 결정된 것에 응답하여, 상기 디스에이블 플래그의 값을 1로 추정하고, 상기 SPS 레벨에서의 상기 제1 인에이블 플래그가 0과 같다고 결정된 것에 응답하여 상기 디스에이블 플래그의 값을 1로 추정하는,
    비디오 인코딩을 위한 방법.
  7. 제 6 항에 있어서,
    상기 PH에서 하나 또는 그 이상의 참조 픽처 리스트들이 시그널링되는 것으로 결정되고, 제2 참조 픽처 리스트 중의 참조 픽처들의 수량이 0과 같다고 결정되는 것에 응답하여, 상기 픽처와 관련된 하나 또는 그 이상의 슬라이스들을 양방향 예측적이지 않다고 결정하되, 상기 하나 또는 그 이상의 참조 픽처 리스트들은 제1 참조 픽처 리스트 및 상기 제2 참조 픽처 리스트를 포함하며,
    상기 SPS 레벨에서의 상기 제1 인에이블 플래그가 0과 같다고 결정되고, 상기 SPS 레벨에서의 상기 제2 인에이블 플래그가 0과 같다고 결정된 것에 응답하여, 상기 디스에이블 플래그의 값을 1로 추정하고,
    상기 SPS 레벨에서의 상기 제1 인에이블 플래그가 1과 같다고 결정되고, 상기 SPS 레벨에서의 상기 제2 인에이블 플래그가 1과 같다고 결정된 것에 응답하여, 상기 디스에이블 플래그의 값을 1로 추정하는,
    비디오 인코딩을 위한 방법.
  8. 제 6 항에 있어서,
    상기 SPS 레벨에서의 상기 제1 인에이블 플래그가 0과 같다고 결정된 것에 응답하여 상기 디스에이블 플래그의 값을 1로 추정하고,
    상기 SPS 레벨에서의 상기 제2 인에이블 플래그가 1과 같다고 결정된 것에 응답하여 상기 디스에이블 플래그의 값을 1로 추정하는,
    비디오 인코딩을 위한 방법.
  9. 제 5 항에 있어서,
    상기 SPS 레벨에서의 제1 인에이블 플래그의 값은 W로 결정되되, 상기 SPS 레벨에서의 상기 제1 인에이블 플래그는 상기 DMVR에 기반한 인터 양방향 예측의 인에이블 여부를 지정하고, 상기 제1 인에이블 플래그가 1과 같음은 상기 DMVR에 기반한 인터 양방향 예측을 인에이블함을 지정하며, 상기 제1 인에이블 플래그가 0과 같음은 상기 DMVR에 기반한 인터 양방향 예측을 디스에이블함을 지정하며,
    상기 SPS 레벨에서의 제2 인에이블 플래그가 0과 같다고 결정된 것에 응답하여 상기 디스에이블 플래그의 값을 1-W로 추정하며,
    상기 SPS 레벨에서의 상기 제2 인에이블 플래그는 상기 SPS를 참조하는 상기 PH 중에 상기 디스에이블 플래그의 존재 여부를 지정하며, 상기 제2 인에이블 플래그가 0과 같음은 상기 SPS를 참조하는 상기 PH 중에 상기 디스에이블 플래그가 존재하지 않음을 지정하며, 상기 제2 인에이블 플래그가 1과 같음은 상기 SPS를 참조하는 상기 PH 중에 상기 디스에이블 플래그가 존재할 수 있음을 지정하는,
    비디오 인코딩을 위한 방법.
  10. 제 9 항에 있어서,
    상기 SPS 레벨에서의 상기 제2 인에이블 플래그가 0과 같지 않다고 결정된 것에 응답하여 상기 디스에이블 플래그의 값을 1로 추정하는,
    비디오 인코딩을 위한 방법.
  11. 제 10 항에 있어서,
    하나 또는 그 이상의 참조 픽처 리스트들이 상기 PH에서 시그널링된다고 결정되고, 제2 참조 픽처 리스트 중의 참조 픽처들의 수량이 0과 같다고 결정된 것에 응답하여, 상기 픽처와 관련된 하나 또는 그 이상의 슬라이스들이 양방향 예측적이지 않다고 결정되되, 상기 하나 또는 그 이상의 참조 픽처 리스트들은 제1 참조 픽처 리스트 및 제2 참조 픽처 리스트를 포함하고,
    상기 SPS 레벨에서의 상기 제2 인에이블 플래그가 1과 같다고 결정된 것에 응답하여, 상기 디스에이블 플래그의 값을 1로 추정하는,
    비디오 인코딩을 위한 방법.
  12. 제 4 항에 있어서,
    상기 디스에이블 플래그는 상기 PH와 관련된 상기 하나 또는 그 이상의 슬라이스들에 대하여 상기 BDOF에 기반한 인터 양방향 예측의 디스에이블 여부를 지정하고,
    상기 디스에이블 플래그의 값이 1과 같음은, 상기 하나 또는 그 이상의 슬라이스들을 디코딩할 때 상기 BDOF에 기반한 인터 양방향 예측을 디스에이블함을 지정하고,
    상기 디스에이블 플래그의 값이 0과 같음은, 상기 하나 또는 그 이상의 슬라이스들을 디코딩할 때 상기 BDOF에 기반한 인터 양방향 예측을 인에이블함을 지정하는,
    비디오 인코딩을 위한 방법.
  13. 제 12 항에 있어서,
    상기 SPS 레벨에서의 상기 제1 인에이블 플래그 및 상기 SPS 레벨에서의 상기 제2 인에이블 플래그가 모두 1과 같다고 결정된 것에 응답하여, 상기 디스에이블 플래그의 값을 1로 추정하고, 상기 SPS 레벨에서의 상기 제1 인에이블 플래그 및 상기 SPS 레벨에서의 상기 제2 인에이블 플래그가 모두 0과 같다고 결정된 것에 응답하여, 상기 디스에이블 플래그의 값을 1로 추정하거나, 또는
    상기 SPS 레벨에서의 상기 제1 인에이블 플래그가 0과 같다고 결정된 것에 응답하여, 상기 디스에이블 플래그의 값을 1로 추정하고, 상기 SPS 레벨에서의 상기 제2 인에이블 플래그가 1과 같다고 결정된 것에 응답하여, 상기 디스에이블 플래그의 값을 1로 추정하는,
    비디오 인코딩을 위한 방법.
  14. 제 13 항에 있어서,
    하나 또는 그 이상의 참조 픽처 리스트들이 상기 PH에서 시그널링된다고 결정되고, 제2 참조 픽처 리스트 중의 참조 픽처들의 수량이 0과 같다고 결정된 것에 응답하여, 상기 픽처와 관련된 하나 또는 그 이상의 슬라이스들이 양방향 예측적이지 않다고 결정되되, 상기 하나 또는 그 이상의 참조 픽처 리스트들은 제1 참조 픽처 리스트 및 제2 참조 픽처 리스트를 포함하고,
    상기 SPS 레벨에서의 상기 제1 인에이블 플래그가 0과 같다고 결정되고, 상기 SPS 레벨에서의 상기 제2 인에이블 플래그가 0과 같다고 결정된 것에 응답하여, 상기 디스에이블 플래그의 값을 1로 추정하며,
    상기 SPS 레벨에서의 상기 제1 인에이블 플래그가 1과 같다고 결정되고, 상기 SPS 레벨에서의 상기 제2 인에이블 플래그가 1과 같다고 결정된 것에 응답하여, 상기 디스에이블 플래그의 값을 1로 추정하는,
    비디오 인코딩을 위한 방법.
  15. 제 12 항에 있어서,
    상기 SPS 레벨에서의 제1 인에이블 플래그의 값은 V로 결정되되, 상기 SPS 레벨에서의 상기 제1 인에이블 플래그는 상기 BDOF에 기반한 인터 양방향 예측의 인에이블하는지 여부를 지정하며, 상기 제1 인에이블 플래그가 1과 같음은 상기 BDOF에 기반한 인터 양방향 예측을 인에이블함을 지정하며, 상기 제1 인에이블 플래그가 0과 같음은 상기 BDOF에 기반한 인터 양방향 예측을 디스에이블함을 지정하며,
    상기 SPS 레벨에서의 제2 인에이블 플래그가 0과 같다고 결정된 것에 응답하여, 상기 디스에이블 플래그의 값을 1-V로 추정하되, 상기 SPS 레벨에서의 상기 제2 인에이블 플래그는 상기 SPS를 참조하는 상기 PH에 상기 디스에이블 플래그의 존재 여부를 지정하며, 상기 제2 인에이블 플래그가 0과 같음은 상기 SPS를 참조하는 상기 PH 중에 상기 디스에이블 플래그가 존재하지 않음을 지정하며, 상기 제2 인에이블 플래그가 1과 같음은 상기 SPS를 참조하는 상기 PH 중에 상기 디스에이블 플래그가 존재함을 지정하는,
    비디오 인코딩을 위한 방법.
  16. 제 15 항에 있어서,
    상기 SPS 레벨에서의 상기 제2 인에이블 플래그가 0과 같지 않다고 결정된 것에 응답하여, 상기 디스에이블 플래그의 값을 1로 추정하는,
    비디오 인코딩을 위한 방법.
  17. 제 16 항에 있어서,
    하나 또는 그 이상의 참조 픽처 리스트들이 상기 PH에서 시그널링된다고 결정되고, 제2 참조 픽처 리스트 중의 참조 픽처들의 수량이 0과 같다고 결정된 것에 응답하여, 상기 픽처와 관련된 하나 또는 그 이상의 슬라이스들이 양방향 예측적이지 않다고 결정되되, 상기 하나 또는 그 이상의 참조 픽처 리스트들은 제1 참조 픽처 리스트 및 제2 참조 픽처 리스트를 포함하고,
    상기 SPS 레벨에서의 상기 제2 인에이블 플래그가 1과 같다고 결정된 것에 응답하여, 상기 디스에이블 플래그의 값을 1로 추정하는,
    비디오 인코딩을 위한 방법.
  18. 제 1 항에 있어서,
    상기 SPS 레벨에서의 상기 제1 인에이블 플래그는 상기 코딩 툴의 인에이블 여부를 지정하고, 상기 제1 인에이블 플래그가 1과 같음은 상기 코딩 툴이 인에이블됨을 지정하며, 상기 제1 인에이블 플래그가 0과 같음은 상기 코딩 툴이 디스에이블됨을 지정하며,
    상기 SPS 레벨에서의 제2 인에이블 플래그는 상기 SPS를 참조하는 상기 PH 중에 상기 디스에이블 플래그의 존재 여부를 지정하며, 상기 제2 인에이블 플래그가 0과 같음은 상기 SPS를 참조하는 상기 PH 중에 상기 디스에이블 플래그가 존재하지 않음을 지정하며, 상기 제2 인에이블 플래그가 1과 같음은 상기 SPS를 참조하는 상기 PH 중에 상기 디스에이블 플래그가 존재할 수 있음을 지정하는,
    비디오 인코딩을 위한 방법.
  19. 하나 또는 그 이상의 프로세서; 및
    상기 하나 또는 그 이상의 프로세서들에 의하여 실행가능한 명령어들을 저장하도록 구성된 메모리를 포함하되,
    상기 하나 또는 그 이상의 프로세서들은 상기 명령어들을 실행 시 제 1 항 내지 제 18 항 중 임의의 한 항의 방법을 수행하도록 구성되는,
    비디오 코딩을 위한 장치.
  20. 비디오 코딩을 위한 비-일시적 컴퓨터 판독 가능 저장 매체에 있어서,
    제 1 항 내지 제 18 항 중 임의의 한 항의 방법에 의하여 생성되는 비디오 비트스트림을 저장하는,
    비-일시적 컴퓨터 판독 가능 저장 매체.
  21. 비트스트림의 저장을 위한 명령어들을 구비하되, 상기 비트스트림은 제 1 항 내지 제 18 항 중 임의의 한 항의 방법에 의하여 생성되는 인코딩된 비디오 데이터를 포함하는,
    비-일시적 컴퓨터 판독 가능 저장 매체에 저장된 컴퓨터 프로그램.
KR1020247006114A 2020-04-08 2021-04-07 비디오 코딩에서의 신택스 요소들의 시그널링을 위한 방법 및 장치 KR20240027893A (ko)

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
US202063007355P 2020-04-08 2020-04-08
US63/007,355 2020-04-08
US202063009404P 2020-04-13 2020-04-13
US63/009,404 2020-04-13
US202063010005P 2020-04-14 2020-04-14
US63/010,005 2020-04-14
US202063010619P 2020-04-15 2020-04-15
US63/010,619 2020-04-15
US202063015663P 2020-04-26 2020-04-26
US63/015,663 2020-04-26
KR1020227039130A KR102642367B1 (ko) 2020-04-08 2021-04-07 비디오 코딩에서의 신택스 요소들의 시그널링을 위한 방법 및 장치
PCT/US2021/026271 WO2021207423A1 (en) 2020-04-08 2021-04-07 Methods and apparatuses for signaling of syntax elements in video coding

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020227039130A Division KR102642367B1 (ko) 2020-04-08 2021-04-07 비디오 코딩에서의 신택스 요소들의 시그널링을 위한 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20240027893A true KR20240027893A (ko) 2024-03-04

Family

ID=78023797

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020227039130A KR102642367B1 (ko) 2020-04-08 2021-04-07 비디오 코딩에서의 신택스 요소들의 시그널링을 위한 방법 및 장치
KR1020247006123A KR20240027894A (ko) 2020-04-08 2021-04-07 비디오 코딩에서의 신택스 요소들의 시그널링을 위한 방법 및 장치
KR1020247006114A KR20240027893A (ko) 2020-04-08 2021-04-07 비디오 코딩에서의 신택스 요소들의 시그널링을 위한 방법 및 장치

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020227039130A KR102642367B1 (ko) 2020-04-08 2021-04-07 비디오 코딩에서의 신택스 요소들의 시그널링을 위한 방법 및 장치
KR1020247006123A KR20240027894A (ko) 2020-04-08 2021-04-07 비디오 코딩에서의 신택스 요소들의 시그널링을 위한 방법 및 장치

Country Status (7)

Country Link
US (1) US20230040224A1 (ko)
EP (1) EP4133734A4 (ko)
JP (1) JP7490809B2 (ko)
KR (3) KR102642367B1 (ko)
CN (2) CN116233464B (ko)
MX (1) MX2022012669A (ko)
WO (1) WO2021207423A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112022021594A2 (pt) 2020-04-26 2022-12-06 Bytedance Inc Método de processamento de dados de vídeo, aparelho para processar dados de vídeo e meios de armazenamento e de gravação não transitórios legíveis por computador

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6144754B2 (ja) * 2012-04-11 2017-06-07 モトローラ モビリティ エルエルシーMotorola Mobility Llc 時間的予測のための時間的動きベクトル予測(mvp)フラグのシグナリング
US9380289B2 (en) * 2012-07-20 2016-06-28 Qualcomm Incorporated Parameter sets in video coding
CN111064965B (zh) * 2014-03-16 2022-05-24 Vid拓展公司 用于无损视频译码的信令的方法、设备和计算机可读介质
US10623774B2 (en) * 2016-03-22 2020-04-14 Qualcomm Incorporated Constrained block-level optimization and signaling for video coding tools
US10419755B2 (en) * 2016-05-16 2019-09-17 Qualcomm Incorporated Confusion of multiple filters in adaptive loop filtering in video coding
US11750832B2 (en) * 2017-11-02 2023-09-05 Hfi Innovation Inc. Method and apparatus for video coding
WO2019194502A1 (ko) * 2018-04-01 2019-10-10 엘지전자 주식회사 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
KR20210016581A (ko) * 2018-06-05 2021-02-16 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Ibc 및 atmvp 간의 상호 작용
WO2020003260A1 (en) * 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Boundary enhancement for sub-block
WO2020016743A2 (en) * 2018-07-15 2020-01-23 Beijing Bytedance Network Technology Co., Ltd. Extension of look-up table based motion vector prediction with temporal information
US10904574B2 (en) * 2018-09-13 2021-01-26 Tencent America LLC Method and device using an out of band end of stream NAL unit in decoding

Also Published As

Publication number Publication date
KR20220155404A (ko) 2022-11-22
KR20240027894A (ko) 2024-03-04
CN115443661A (zh) 2022-12-06
MX2022012669A (es) 2022-11-07
CN116233464A (zh) 2023-06-06
CN116233464B (zh) 2024-03-19
WO2021207423A1 (en) 2021-10-14
JP2023521378A (ja) 2023-05-24
EP4133734A4 (en) 2023-08-23
US20230040224A1 (en) 2023-02-09
JP7490809B2 (ja) 2024-05-27
KR102642367B1 (ko) 2024-02-29
EP4133734A1 (en) 2023-02-15

Similar Documents

Publication Publication Date Title
CN113824959B (zh) 用于视频编码的方法、装置和存储介质
US20230031699A1 (en) Methods and apparatuses for signaling of syntax elements in video coding
KR102580875B1 (ko) 비디오 코딩을 위한 무손실 코딩 모드
US20230040224A1 (en) Methods and apparatuses for signaling of syntax elements in video coding
KR102667418B1 (ko) 비디오 코딩에서의 신택스 엘리먼트의 시그널링을 위한 방법 및 장치
CN115668941A (zh) 视频编解码中语法元素的信令
CN113728635A (zh) 用于三角预测的视频编解码方法和装置
CN114009019A (zh) 用于在视频编解码中用信令传递合并模式的方法和装置
JP7422901B2 (ja) ビデオコーディングのための方法、装置、非一時的コンピュータ可読記憶媒体およびプログラム
KR20240074009A (ko) 비디오 코딩에서의 신택스 엘리먼트의 시그널링을 위한 방법 및 장치
KR20240074008A (ko) 비디오 코딩에서의 신택스 엘리먼트의 시그널링을 위한 방법 및 장치
KR20240074908A (ko) 비디오 코딩에서의 신택스 엘리먼트의 시그널링을 위한 방법 및 장치
KR20240074907A (ko) 비디오 코딩에서의 신택스 엘리먼트의 시그널링을 위한 방법 및 장치
CN114982230A (zh) 用于使用三角形分区的视频编解码的方法和装置
CN113841406A (zh) 使用三角形分割用于视频编解码的方法和装置
CN114080807A (zh) 利用三角分区进行视频编解码的方法和装置
CN113994672A (zh) 用于利用三角形预测进行视频编解码的方法和装置

Legal Events

Date Code Title Description
A107 Divisional application of patent