KR102487062B1 - 비디오 코딩에서의 양자화 및 역-양자화 디자인을 위한 방법 및 장치 - Google Patents

비디오 코딩에서의 양자화 및 역-양자화 디자인을 위한 방법 및 장치 Download PDF

Info

Publication number
KR102487062B1
KR102487062B1 KR1020227013359A KR20227013359A KR102487062B1 KR 102487062 B1 KR102487062 B1 KR 102487062B1 KR 1020227013359 A KR1020227013359 A KR 1020227013359A KR 20227013359 A KR20227013359 A KR 20227013359A KR 102487062 B1 KR102487062 B1 KR 102487062B1
Authority
KR
South Korea
Prior art keywords
quantization
delete delete
bit
coding
scaling
Prior art date
Application number
KR1020227013359A
Other languages
English (en)
Other versions
KR20220054900A (ko
Inventor
홍-젱 주
샤오위 시우
샹린 왕
이-웬 첸
췅-추안 마
??-추안 마
빙 유
Original Assignee
베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 filed Critical 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드
Priority to KR1020227046345A priority Critical patent/KR102571893B1/ko
Publication of KR20220054900A publication Critical patent/KR20220054900A/ko
Application granted granted Critical
Publication of KR102487062B1 publication Critical patent/KR102487062B1/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/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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/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/186Methods 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 a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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

Landscapes

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

Abstract

비디오 코딩을 위한 방법이 제공된다. 상기 방법은, 코딩 유닛(CU)의 잔여 데이터에 대한 양자화 파라미터를 확정하는 단계; 상기 양자화 파라미터를 스케일링 팩터로 스케일링하여 스케일링 값을 도출하는 단계; 상기 CU와 관련된 복수의 계수들을 확정하는 단계; 상기 CU와 관련된 복수의 파라미터들을 확정하는 단계; 상기 복수의 파라미터들을 비트-시프트하여 복수의 비트-시프트들을 획득하는 단계; 및 상기 스케일링 값, 상기 복수의 계수들 및 상기 복수의 비트-시프트들에 기반하여 양자화된 레벨을 획득하는 단계,를 포함한다.

Description

비디오 코딩에서의 양자화 및 역-양자화 디자인을 위한 방법 및 장치
본 개시는 일반적으로 비디오 코딩 및 압축에 관한 것으로, 특히 비디오 코딩에서의 양자화 및 역-양자화 디자인을 위한 방법 및 장치에 관한 것이나, 이에 제한되지 않는다.
다양한 비디오 코딩 기술이 비디오 데이터 압축에 사용될 수 있다. 하나 혹은 그 이상의 비디오 코딩 표준에 따라 비디오 코딩을 수행할 수 있다. 예를 들어, 비디오 코딩 표준은 다용도 비디오 코딩(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 측면에 의하면, 인코더에 적용되는 비디오 코딩 방법을 제공하며, 상기 비디오 코딩 방법은, 코딩 유닛(CU)의 잔여 데이터에 대한 양자화 파라미터를 확정하는 단계; 상기 양자화 파라미터를 스케일링 팩터로 스케일링하여 스케일링 값을 도출하는 단계; 상기 CU와 관련된 복수의 계수들을 확정하는 단계; 상기 CU와 관련된 복수의 파라미터들을 확정하는 단계; 상기 복수의 파라미터들을 비트-시프트하여 복수의 비트-시프트들을 획득하는 단계; 및 상기 스케일링 값, 상기 복수의 계수들 및 상기 복수의 비트-시프트들에 기반하여 양자화된 레벨을 획득하는 단계를 포함한다.
본 개시의 제2 측면에 의하면, 디코더에 적용되는 비디오 코딩 방법을 제공하며, 상기 비디오 코딩 방법은, 양자화 파라미터 및 양자화된 레벨을 포함하는 비디오 비트스트림을 수신하는 단계; 상기 양자화 파라미터를 스케일링 팩터로 스케일링하여 스케일링 값을 도출하는 단계; 코딩 유닛(CU)과 관련된 복수의 파라미터들을 확정하는 단계; 상기 복수의 파라미터들을 비트-시프트하여 복수의 비트-시프트들을 획득하는 단계; 및 상기 양자화된 레벨, 상기 스케일링 값 및 상기 복수의 비트-시프트들에 기반하여 상기 CU와 관련된 복수의 계수들을 획득하는 단계를 포함한다.
본 개시의 제3 측면에 의하면, 컴퓨팅 장치를 제공하며, 상기 컴퓨팅 장치는, 하나 또는 그 이상의 프로세서; 상기 하나 또는 그 이상의 프로세서들에 결합된 비-일시적 저장 장치; 및 상기 비-일시적 저장 장치에 저장된 복수의 프로그램,을 포함하되, 상기 복수의 포로그램들은 상기 하나 또는 그 이상의 프로세서들에 의하여 실행될 때 상기 하나 또는 그 이상의 프로세서들로 하여금 아래와 같은 동작들을 수행하도록 구성되며, 상기 동작은: 코딩 유닛(CU)의 잔여 데이터에 대한 양자화 파라미터를 확정하는 동작; 상기 양자화 파라미터를 스케일링 팩터로 스케일링하여 스케일링 값을 도출하는 동작; 상기 CU와 관련된 복수의 계수들을 확정하는 동작; 상기 CU와 관련된 복수의 파라미터들을 확정하는 동작; 상기 복수의 파라미터들을 비트-시프트하여 복수의 비트-시프트들을 획득하는 동작; 및 상기 스케일링 값, 상기 복수의 계수들 및 상기 복수의 비트-시프트들에 기반하여 양자화된 레벨을 획득하는 동작을 포함한다.
본 개시의 제4 측면에 의하면, 컴퓨팅 장치를 제공하며, 상기 컴퓨팅 장치는, 하나 또는 그 이상의 프로세서; 상기 하나 또는 그 이상의 프로세서들에 결합된 비-일시적 저장 장치; 및 상기 비-일시적 저장 장치에 저장된 복수의 프로그램,을 포함하되, 상기 복수의 포로그램들은 상기 하나 또는 그 이상의 프로세서들에 의하여 실행될 때 상기 하나 또는 그 이상의 프로세서들로 하여금 아래와 같은 동작들을 수행하도록 구성되며, 상기 동작들은: 양자화 파라미터 및 양자화된 레벨을 포함하는 비디오 비트스트림을 수신하는 동작; 상기 양자화 파라미터를 스케일링 팩터로 스케일링하여 스케일링 값을 도출하는 동작; 코딩 유닛(CU)과 관련된 복수의 파라미터들을 확정하는 동작; 상기 복수의 파라미터들을 비트-시프트하여 복수의 비트-시프트들을 획득하는 동작; 및 상기 양자화된 레벨, 상기 스케일링 값 및 상기 복수의 비트-시프트들에 기반하여 상기 CU와 관련된 복수의 계수들을 획득하는 동작을 포함한다.
본 개시의 제5 측면에 의하면, 비-일시적 컴퓨터 판독 가능 저장 매체를 제공하며, 상기 저장 매체는, 하나 또는 그 이상의 프로세서들을 구비한 컴퓨팅 장치에 의하여 실행하는 복수의 프로그램을 저장하고, 상기 복수의 포로그램들은 상기 하나 또는 그 이상의 프로세서들에 의하여 실행될 때 상기 하나 또는 그 이상의 프로세서들로 하여금 아래와 같은 동작들을 수행하도록 구성되며, 상기 동작들은: 코딩 유닛(CU)의 잔여 데이터에 대한 양자화 파라미터를 확정하는 동작; 상기 양자화 파라미터를 스케일링 팩터로 스케일링하여 스케일링 값을 도출하는 동작; 상기 CU와 관련된 복수의 계수들을 확정하는 동작; 상기 CU와 관련된 복수의 파라미터들을 확정하는 동작; 상기 복수의 파라미터들을 비트-시프트하여 복수의 비트-시프트들을 획득하는 동작; 및 상기 스케일링 값, 상기 복수의 계수들 및 상기 복수의 비트-시프트들에 기반하여 양자화된 레벨을 획득하는 동작을 포함한다.
본 개시의 제6 측면에 의하면, 비-일시적 컴퓨터 판독 가능 저장 매체를 제공하며, 상기 저장 매체는, 하나 또는 그 이상의 프로세서들을 구비한 컴퓨팅 장치에 의하여 실행하는 복수의 프로그램을 저장하고, 상기 복수의 포로그램들은 상기 하나 또는 그 이상의 프로세서들에 의하여 실행될 때 상기 하나 또는 그 이상의 프로세서들로 하여금 아래와 같은 동작들을 수행하도록 구성되며, 상기 동작들은: 양자화 파라미터 및 양자화된 레벨을 포함하는 비디오 비트스트림을 수신하는 동작; 상기 양자화 파라미터를 스케일링 팩터로 스케일링하여 스케일링 값을 도출하는 동작; 코딩 유닛(CU)과 관련된 복수의 파라미터들을 확정하는 동작; 상기 복수의 파라미터들을 비트-시프트하여 복수의 비트-시프트들을 획득하는 동작; 및 상기 양자화된 레벨, 상기 스케일링 값 및 상기 복수의 비트-시프트들에 기반하여 상기 CU와 관련된 복수의 계수들을 획득하는 동작을 포함한다.
본 개시의 실시예들에 대한 보다 구체적인 설명은 첨부된 도면에 예시된 특정 실시예들을 참조하여 설명될 것이다. 이러한 도면들이 일부 실시예만을 도시하고 범위를 제한하는 것으로 간주하여서는 아니되며, 첨부된 도면 및 추가적인 특수성 및 세부사항을 통하여 실시예들은 설명될 것이다.
도 1은 본 개시의 일부 구현 방식들에 따른 예시적인 비디오 인코더를 도시하는 블록도이다.
도 2는 본 개시의 일부 구현 방식들에 따른 예시적인 비디오 디코더를 도시하는 개략도이다.
도 3은 본 개시의 일부 구현 방식들에 따른 코딩 트리 유닛(coding tree unit, CTU)들로 분할된 픽처를 도시한다.
도 4는 본 개시의 일부 구현 방식들에 따른 멀티-타입 트리 분할 모드(multi-type tree splitting mode)들을 도시하는 개략도이다.
도 5는 본 개시의 일부 구현 방식들에 따른 중첩된 멀티-타입 트리 코딩 트리 구조를 갖는 쿼드트리(quadtree)에서의 파티션 분할 정보(partition splitting information)의 시그널링 메커니즘(signaling mechanism)을 도시한다.
도 6은 본 개시의 일부 구현 방식들에 따른 중첩된 멀티-타입 트리 코딩 블록 구조를 갖는 쿼드트리를 이용하여 복수의 CU들로 분할된 CTU를 도시한다.
도 7은 본 개시의 일부 구현 방식들에 따른 팔레트 모드(palette mode)에서 코딩된 블록의 일 예를 도시한다.
도 8a 및 8b는 본 개시의 일부 구현 방식들에 따른 수평 트래버스 스캔(traverse scan) 및 수직 트래버스 스캔을 도시한다.
도 9는 본 개시의 일부 구현 방식들에 따른 팔레트 인덱스들의 코딩을 도시한다.
도 10은 본 개시의 일부 구현 방식들에 따른 비디오 코딩을 위한 장치를 도시하는 블록도이다.
도 11은 본 개시의 일부 구현 방식들에 따른 비디오 코딩에서의 양자화 디자인의 예시적인 프로세스를 도시하는 흐름도이다.
도 12는 본 개시의 일부 구현 방식들에 따른 비디오 코딩에서의 역-양자화 디자인의 예시적인 프로세스를 도시하는 흐름도이다.
이하 그 예가 첨부 도면에 도시되어 있는 특정 구현 방식들을 상세히 설명한다. 다음의 상세한 설명에서, 본 명세서에 기재된 내용의 이해를 돕기 위하여 복수의 비-제한적인 특정 세부 사항이 설명된다. 그러나, 다양한 변경을 진행할 수 있음은 당업자에게 자명한 것이다. 예를 들어, 본 명세서에 기재한 기술적 방안은 디지털 비디오 기능을 구비한 다양한 유형의 전자 장치에서 구현될 수 있음은 당업자에게 자명한 것이다.
본 명세서 전반에 걸쳐 "일 실시예", "실시예", "예", "일부 실시예", "일부 예"또는 유사한 용어는 설명 된 특정 특징, 구조 또는 특성이 적어도 하나의 실시예 또는 예에 포함된다는 것을 의미한다. 하나 또는 일부 실시예와 관련하여 설명된 특징, 구조, 요소 또는 특성은 달리 명시적으로 명시되지 않는 한 다른 실시예에도 적용이 가능하다.
달리 명시적으로 명시하지 않는 한, 본 개시 전반에 걸쳐, "제1", "제2", "제3" 등의 용어는 관련요소(예를 들어, 장치, 요소, 구성, 단계 등)에 대한 참조를 위한 명명법으로만 사용되는 것이지, 공간적 또는 시간적 순서를 암시하지 않는다. 예를 들어, "제1 장치" 및 "제2 장치"는 별도로 형성된 두개의 장치 또는 동일한 장치의 두 부분, 구성 또는 동작 상태를 의미할 수 있으며, 임의로 명명될 수 있다.
용어 "모듈", "서브-모듈", "회로", "서브-회로", "회로망", "서브-회로망", "유닛" 또는 "서브-유닛"은 하나 또는 그 이상의 프로세서에서 실행할 수 있는 코드 또는 명령어를 저장하는 메모리(공유, 전용 또는 그룹)를 포함할 수 있다. 모듈은 저장된 코드 또는 명령어를 가지거나 가지지 않는 하나 또는 그 이상의 회로를 포함할 수 있다. 모듈 또는 회로는 직접 또는 간접적으로 연결된 하나 또는 그 이상의 구성 요소들을 포함할 수 있다. 이러한 구성 요소들은 서로 물리적으로 부착되거나 인접하여 위치할 수도 있고 그렇지 않을 수도 있다.
본 명세서에서 사용된 바와 같이, 용어 "만약" 또는 "??경우"는 문맥에 따라 "??할때" 또는 "??응답하여"를 의미하는 것으로 이해될 수 있다. 만약 이러한 용어가 청구항에 기재되면, 관련 제한 또는 특징이 조건부 또는 선택 사항임을 가리키지 않을 수 있다. 예를 들어, 방법은 i) 조건 X가 존재할 때 또는 존재하는 경우, 기능 또는 동작 X'를 수행하고; ii) 조건 Y가 존재할 때 또는 존재하는 경우, 기능 또는 동작 Y'를 수행하는 단계를 포함할 수 있다. 상기 방법은 기능 또는 동작 X'를 수행하는 능력과 기능 또는 동작 Y'를 수행하는 능력 모두로 구현될 수 있다. 따라서 기능 X'와 Y'는 모두 다른 시간에 방법을 여러 번 실행할 때 수행할 수 있다.
유닛 또는 모듈은 단순히 소프트웨어, 단순히 하드웨어, 또는 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있다. 예를 들어, 단순한 소프트웨어 구현방식에서, 유닛 또는 모듈은 특정 기능을 수행하기 위하여 함께 직접 또는 간접적으로 연결된 기능적으로 관련된 코드 블록 또는 소프트웨어 구성 요소들을 포함할 수 있다.
도 1은 본 개시의 일부 구현 방식들에 따른 예시적인 비디오 인코더를 도시하는 블록도이다. 인코더(100)에서, 비디오 프레임은 처리를 위해 복수의 비디오 블록들로 분할된다. 각각의 주어진 비디오 블록에 대하여, 인터 예측 방법 또는 인트라 예측 방법에 기반하여 예측을 형성된다. 인터 예측에서, 사전에 재구성된 프레임들의 픽셀들을 기반으로 움직임 추정 및 움직임 보상을 통해 하나 혹은 그 이상의 예측자를 형성한다. 인트라 예측에서, 현재 프레임 중의 재구성된 픽셀들을 기반으로 예측자를 형성한다. 모드 결정을 통하여 최적의 예측자를 선택하여 현재 블록을 예측할 수 있다.
현재 비디오 블록과 그 예측자 사이의 차이를 나타내는 예측 잔여는 변환 회로(102)로 전송된다. 변환 계수들은 엔트로피 감소를 위해 변환 회로(102)에서 양자화 회로(104)로 전송된다. 다음, 양자화된 계수들은 엔트로피 코딩 회로(106)에 공급되어 압축된 비디오 비트스트림을 생성한다.도 1에 도시된 바와 같이, 인터 예측 회로 및/또는 인트라 예측 회로(112)로부터의 비디오 블록 파티션 정보, 움직임 벡터들, 참조 픽처 인덱스 및 인트라 예측 모드와 같은 예측 관련 정보(110)도 엔트로피 코딩 회로(106)를 통해 공급되고 압축된 비디오 비트스트림(114)에 저장된다.
인코더(100)에서, 예측 목적을 위하여 픽셀들을 재구성하기 위하여, 디코더 관련 회로들도 또한 필요하다. 먼저, 예측 잔여는 역양자화(116) 및 역변환 회로(118)를 통해 재구성된다. 이와 같이 재구성된 예측 잔여는 블록 예측자(120)와 결합되어 현재 비디오 블록에 대한 필터링되지 않은 재구성된 픽셀들을 생성한다.
코딩 효율과 시각 품질을 향상시키기 위하여, 인-루프 필터를 사용한다. 예를 들어, 디블로킹 필터는 AVC, HEVC 및 현재 버전의 VVC에서 사용할 수 있다. HEVC에서, 코딩 효율성을 더욱 향상시키기 위해 샘플 적응적 오프셋(sample adaptive offset, SAO)라는 추가 인-루프 필터가 정의되었다. 현재 버전의 VVC 표준에서,적응적 루프 필터(adaptive loop filter, ALF)라는 또 다른 인-루프 필터에 대한 연구가 활발히 진행되고 있으며 최종 표준에 포함될 가능성이 높다.
도 2는 복수 비디오 코딩 표준들과 함께 사용할 수 있는 예시적인 블록-기반 비디오 디코더(200)를 도시하는 블록도이다. 당해 디코더(200)는 도 1의 인코더(100)에 상주하는 재구성 관련 부분과 유사하다. 디코더(200)에서,먼저 엔트로피 디코딩(202)을 통해 입력되는 비디오 비트스트림(201)을 디코딩하여 양자화된 계수 레벨들 및 예측 관련 정보를 도출한다. 다음, 양자화된 계수 레벨들은 역양자화(204) 및 역변환(206)을 통해 양자화된 계수 레벨들은 처리하여 재구성된 예측 잔여를 획득한다. 인트라/인터 모드 선택기(212)에서 구현되는 블록 예측자 메커니즘은 디코딩된 예측 정보에 기반하여 인트라 예측(208) 또는 움직임 보상(210)을 수행하도록 구성된다. 가산기(214)를 사용하여 역변환(206)의 재구성된 예측 잔차와 블록 예측자 메커니즘에 의해 생성된 예측 출력을 합산하여 필터링되지 않은 재구성된 픽셀 세트를 획득한다. 인-루프 필터(209)를 턴-온한 경우, 이러한 재구성된 픽셀들에 대해 필터링 동작을 수행하여 최종 재구성된 비디오 출력(222)을 유도할 수 있다.
위에서 언급한 VVC, JEM, HEVC, MPEG-4, Part 10과 같은 비디오 코딩/디코딩 표준은 개념적으로 유사하다. 예를 들어, 이들은 모두 블록-기반 처리를 사용한다. 공동 비디오 전문가 팀(JVET) 회의에서 JVET는 다용도 비디오 코딩(VVC) 및 VVC 테스트 모델(VTM1) 인코딩 방법의 제 1 드래프트를 정의하였다. VVC의 초기 새로운 코딩 특징으로 바이너리 및 터너리(ternary) 분할 코딩 블록 구조를 사용하여 중첩된 멀티-타입 트리가 있는 쿼드트리를 포함하기로 결정하였다. 쿼드트리는 상위 노드가 4개의 하위 노드들로 분할될 수 있는 트리이며, 각 하위 노드는 4개의 새로운 하위 노드들로 또 다시 분할되기 위한 또 다른 상위 노드가 될 수 있다.
VVC에서 픽처 분할 구조는 입력 비디오를 코딩 트리 단위(CTU)들이라고 하는 블록들로 분할한다. CTU는 중첩된 멀티-타입 트리 구조를 갖는 쿼드 트리를 사용하여 코딩 단위(CU)로 분할되며, 리프 코딩 단위(CU)는 동일한 예측 모드(예를 들어, 인트라 또는 인터)를 공유하는 영역을 정의한다. 본 개시에서, "단위(unit)"라는 용어는 모든 성분들을 커버하는 이미지의 영역을 정의한다. "블록"이라는 용어는 특정 성분(예를 들어, 루마)을 포함하는 영역을 정의하는데 사용되며, 4 : 2 : 0과 같은 크로마 샘플링 포맷을 고려할때 공간 위치가 다를 수 있다.
픽처를 CTU들로 분할
픽처는 CTU(Coding Tree Unit)들의 시퀀스로 분할될 수 있다. CTU 개념은 HEVC와 동일하다. 3 개의 샘플 어레이들이 있는 픽처의 경우, CTU는 루마 샘플들의 NХN 블록과 함께 2 개의 대응하는 크로마 샘플 블록들로 구성된다. 도 3은 본 개시의 일부 구현 방식들에 따른 코딩 트리 유닛(coding tree unit, CTU)들로 분할된 픽처를 도시한다. 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는 먼저 쿼터너리 트리(즉, 쿼드트리) 구조에 의해 분할된다. 다음, 쿼터너리 트리의 리프 노드들은 멀티-타입 트리 구조에 의해 더 분할될 수 있다.
도 4는 본 개시의 일부 구현 방식들에 따른 멀티-타입 트리 분할 모드(multi-type tree splitting mode)들을 도시하는 개략도이다. 도 4에 도시된 바와 같이, 멀티-타입 트리 구조에는 수직 바이너리 분할(SPLIT_BT_VER), 수평 바이너리 분할(SPLIT_BT_HOR), 수직 터너리 분할(SPLIT_TT_VER) 및 수평 터너리 분할(SPLIT_TT_HOR)과 같은 네 가지 분할 타입이 있다. 멀티-타입 트리의 리프 노드들은 CU(코딩 단위)라고 하며, CU가 최대 변환 길이에 대하여 너무 크지 않은 이상, 이러한 세그멘테이션은 추가 분할없이 예측 및 변환 프로세싱에 사용된다. 따라서, CU, PU 및 TU는 중첩된 멀티-타입 트리 코딩 블록 구조를 갖는 쿼드트리에서 동일한 블록 크기를 가진다. 최대 지원 변환 길이가 CU 컬러 성분의 너비 또는 높이보다 작은 경우 예외가 발생한다.
도 5는 본 개시의 일부 구현 방식들에 따른 중첩된 멀티-타입 트리 코딩 트리 구조를 갖는 쿼드트리(quadtree)에서의 파티션 분할 정보(partition splitting information)의 시그널링 메커니즘(signaling mechanism)을 도시한다. CTU는 쿼터너리 트리의 루트로 취급되며 먼저 쿼터너리 트리 구조로 분할된다. 각 쿼터너리 트리 리프 노드는, 충분히 크면 다음으로 멀티-타입 트리 구조를 통해 더 분할되도록 허용한다. 멀티-타입 트리 구조에서, 제1 플래그(mtt_split_cu_flag)를 시그널링하여 노드가 더 분할되는지 여부를 가리킨다. 노드가 더 분할되면, 제2 플래그(mtt_split_cu_vertical_flag)를 시그널링하여 분할 방향을 가리키고, 제3 플래그(mtt_split_cu_binary_flag)를 시그널링하여 분할이 바이너리 분할인지 터너리 분할인지를 가리킨다. mtt_split_cu_vertical_flag 및 mtt_split_cu_binary_flag의 값을 기반으로, 표 1과 같이 CU의 멀티-타입 트리 분할 모드(MttSplitMode)를 도출한다.
MttSplitMode mtt_split_cu_vertical_flag mtt_split_cu_binary_flag
SPLIT_TT_HOR 0 0
SPLIT_BT_HOR 0 1
SPLIT_TT_VER 1 0
SPLIT_BT_VER 1 1
표1. 멀티-타입 트리 신택스 요소를 기반으로 하는 MttSplitMode 도출도 6은 본 개시의 일부 구현 방식들에 따른 중첩된 멀티-타입 트리 코딩 블록 구조를 갖는 쿼드트리를 이용하여 복수의 CU들로 분할된 CTU를 도시한다. 도 6에 도시된 바와 같이, 굵은 블록 가장자리는 쿼드트리 분할을 나타내고 나머지 가장자리는 멀티-타입 트리 분할을 나타낸다. 중첩된 멀티-타입 트리 파티션을 가진 쿼드트리는 CU로 구성된 콘텐츠-적응형 코딩 트리 구조를 제공한다. CU의 크기는CTU만큼 클 수도 있고 루마 샘플 단위로 4x4만큼 작을 수도 있다. 4:2:0 크로마 포맷의 경우, 최대 크로마 코딩 블록(CB) 크기는 64Х64이고, 최소 크로마 CB 크기는 2Х2이다.
VVC에서, 최대 지원하는 루마 변환 크기는 64Х64이고 최대 지원 크로마 변환 크기는 32Х32이다. CB의 너비 또는 높이가 최대 변환 너비 또는 높이보다 클 경우, CB가 수평 및/또는 수직 방향으로 자동으로 분할되어 해당 방향의 변환 크기 제한을 만족한다.
중첩된 멀티-타입 트리 코딩 트리 방안을 갖는 쿼드트리에 대한 시퀀스 파라미터 세트(Sequence Parameter Set, SPS) 신택스 요소에 의해 다음의 파라미터를 정의 및 지정한다.
CTU 크기: 쿼터너리 트리의 루트 노드 크기;
MinQTSize: 최소 허용 쿼터너리 트리 리프 노드 크기;
MaxBtSize: 최대 허용 바이너리 트리 루트 노드 크기;
MaxTtSize: 최대 허용 터너리 트리 루트 노드 크기;
MaxMttDepth: 쿼드트리 리프 노드에서 분할하는 멀티-타입 트리의 최대 허용 계층 깊이;
MinBtSize: 최소 허용 바이너리 트리 리프 노드 크기;
MinTtSize: 최소 허용 터너리 트리 리프 노드 크기.
중첩된 멀티-타입 트리 코딩 트리 구조를 갖는 쿼드트리의 일 예에서, CTU 크기는 128Х128 루마 샘플들 및 2개의 대응하는 64Х64개의 4:2:0 크로마 샘플들의 블록들로 설정된다. MinQTSize는 16Х16로 설정되고, MaxBtSize는 128Х128로 설정되며, MaxTtSize는 64Х64로 설정된다. 너비와 높이 모두에 대해 MinBtSize와 MinTtSize는 4Х4로 설정되고, MaxMttDepth는 4로 설정된다. 쿼터너리 트리 분할은 먼저 CTU에 적용되어 쿼터너리 트리 리프 노드들을 생성한다. 쿼터너리 트리 리프 노드들은 16Х16(즉, MinQTSize)부터 128Х128(즉, CTU 크기)까지의 크기를 가질 수 있다. 리프 QT 노드가 128Х128일 경우, 크기가 MaxBtSize와 MaxTtSize(즉, 64Х64)를 초과하므로, 바이너리 트리로 더 분할되지 않는다. 그렇지 않으면, 리프 쿼드트리 노드가 멀티-타입 트리에 의해 더 분할될 수 있다. 따라서 쿼터너리 트리 리프 노드는 멀티-타입 트리의 루트 노드이기도 하며, 멀티-타입 트리 깊이(즉, mttDepth)는 0이다. 멀티-타입 트리 깊이가 MaxMttDepth(즉, 4)에 도달할 경우, 더 이상의 분할을 고려하지 않는다. 멀티-타입 트리 노드가 MinBtSize와 같고 2MinTtSize보다 작거나 같으면 더 이상의 수평 분할이 고려되지 않습니다. 유사하게, 멀티-타입 트리 노드의 높이가 MinBtSize와 같고 2ХMinTtSize보다 작거나 같은 너비를 가질 경우, 더 이상의 수직 분할을 고려하지 않는다.
도 7은 본 개시의 일부 구현 방안들에 따른 팔레트 모드(palette mode)에서 코딩된 블록의 일 예를 도시한다. VVC 하드웨어 디코더에서의 64Х64 루마 블록 및 32Х32 크로마 파이프라이닝 디자인을 구현하기 위하여, 도 7에 도시된 바와 같이, 루마 코딩 블록의 너비 또는 높이가 64보다 큰 경우, TT 분할을 금지한다. 크로마 코딩 블록의 너비 또는 높이가 32보다 큰 경우에도 TT 분할을 금지한다.
VVC에서, 코딩 트리 방안은 루마와 크로마가 별도의 블록 트리 구조를 가질 수 있는 능력을 지원한다. 이러한 CU 분할 구조를 듀얼 트리 구조 또는 듀얼 코딩 트리 구조라고 한다. 루마와 크로마가 모두 공유하는 CU 분할 구조를 싱글 트리 구조 또는 싱글 코딩 트리 구조라고 한다. P 슬라이스 및 B 슬라이스의 경우, 하나의 CTU의 루마 코딩 트리 블록(CTB) 및 크로마 코딩 트리 블록은 반드시 동일한 코딩 트리 구조를 공유하여야 한다. 그러나, I 슬라이스의 경우, 루마와 크로마는 별도의 블록 트리 구조를 가질 수 있다. 별도의 블록 트리 모드를 적용할 때, 하나의 코딩 트리 구조를 통해 루마 CTB를 CU들로 분할하고, 다른 하나의 코딩 트리 구조를 통해 크로마 CTB를 크로마 CU들로 분할한다. 이는 I 슬라이스의 CU가 루마 성분의 코딩 블록 또는 2개의 크로마 성분들의 코딩 블록으로 구성될 수 있고, P 슬라이스 또는 B 슬라이스의 C가 비디오가 모노크롬이 아닌 한 항상 모든 세 가지 컬러 성분들의 코딩 블록으로 구성됨을 의미한다.
코어 변환을 위한 복수 변환 선택(Multiple Transform Selection, MTS)
HEVC에서 사용하고 있는 DCT-II 이외에, MTS 방안이 인터 및 인트라 코딩된 블록들 모두에서 잔여 코딩을 위하여 사용된다. MTS 방안은 DCT8/DST7에서 선택한 복수의 변환을 사용한다. 새로 도입된 변환 매트릭스는 DST-VII 및 DCT-VIII이다. 표 2는 선택된 DST/DCT의 기본 함수를 나타낸다.
변환 타입 기본 함수 T i (j), i, j = 0, 1, ···, N-1
DCT-II
Figure 112022042757913-pct00001

여기서,
Figure 112022042757913-pct00002
DCT-VIII
Figure 112022042757913-pct00003
DST-VII
Figure 112022042757913-pct00004
표 2. N-포인트 입력을 위한 DCT-II/VIII 및 DST-VII의 변환 기본 함수변환 매트릭스의 직교성을 유지하기 위하여, HEVC에서의 변환 매트릭스들에 비하여, 변환 매트릭스들은 더 정확하게 양자화된다. 변환된 계수의 중간값을 16-비트 범위 내로 유지하기 위해서는, 수평 변환 후와 수직 변환 후 모든 계수가 10-비트가 되어야 한다.
MTS 방안을 제어하기 위하여, 인트라 및 인터에 대하여 SPS 레벨에서 별도의 인에이블 플래그들을 지정한다. SPS에서 MTS를 활성화하면, CU 레벨 플래그를 시그널링하여 MTS 적용 여부를 가리킨다. 여기서, MTS는 루마에만 적용된다. 다음 조건을 충족할 때 MTS CU 레벨 플래그를 시그널링한다: 첫째, 너비와 높이가 모두 32보다 작거나 같거나; 둘째, CBF 플래그는 1과 같다.
MTS_CU_flag가 0과 같으면, 양방향에서 DCT2를 적용한다. 그러나, MTS_CU_flag가 1과 같으면, 두 개의 다른 플래그를 더 시그널링하여 수평 및 수직 방향에 대한 변환 타입을 각각 가리킨다. 변환 및 시그널링 매핑 테이블은 표 3과 같다. 인트라 모드 및 블록 모양 종속성을 제거하는 것을 통하여, ISP 및 암시적 MTS에 대한 변환 선택을 통합하여 사용한다. 현재 블록이 ISP 모드이거나 현재 블록이 인트라 블록이고 인트라 및 인터 명시적 MTS가 모두 온(on)인 경우, DST7만 수평 및 수직 변환 코어 모두에 사용된다. 변환 매트릭스 정밀도와 관련하여, 8-비트 초기 변환 코어들을 사용한다. 따라서, 4-포인트 DCT2 및 DST7, 8-포인트, 16-포인트 및 32-포인트 DCT2를 포함하여 HEVC에서 사용하는 모든 변환 코어들을 동일하게 유지한다. 또한, 64-포인트 DCT2, 4-포인트 DCT8, 8-포인트, 16-포인트, 32-포인트 DST7 및 DCT8을 포함한 다른 변환 코어들은 8-비트 초기 변환 코어들을 사용한다.
MTS_CU_flag MTS_Hor_flag MTS_Ver_flag Intra/inter
Horizontal Vertical
0 DCT2


1
0 0 DST7 DST7
0 1 DCT8 DST7
1 0 DST7 DCT8
1 1 DCT8 DCT8
표 3. 변환 및 시그널링 매핑 테이블큰 크기의 DST7 및 DCT8의 복잡성을 줄이기 위하여, 크기(너비 또는 높이, 또는 너비와 높이 모두)가 32와 같은 DST7 및 DCT8 블록에 대하여, 고주파수 변환 계수를 제로잉한다. 16Х16 저주파 영역내의 계수만 유지한다.
HEVC에서와 같이, 블록의 잔여는 변환 스킵 모드로 코딩될 수 있다. 신택스 코딩의 중복을 피하기 위하여, CU 레벨 MTS_CU_flag가 0과 같지 않을 때, 변환 스킵 플래그를 시그널링하지 않는다. 변환 스킵을 위한 블록 크기 제한은 JEM4에서의 MTS를 위한 제한과 동일하며, 이는 블록 너비와 높이가 모두 32와 같거나 작을 때 변환 건너뛰기가 CU에 적용 가능함을 가리킨다. 현재 CU에 대해 LFNST 또는 MIP를 인에이블한 경우, 암시적 MTS 변환은 DCT2로 설정된다. 또한, 인터 코딩된 블록에 대해 MTS를 인에이블한 경우에도, 암시적 MTS를 인에이블할 수 있다.
양자화 파라미터 제어
일부 예들에서, 최대 QP는 51에서 63으로 확장될 수 있고, 이에 따라 초기 양자화 파라미터(Quantization Parameter, QP)의 시그널링이 변경될 수 있다. slice_qp_delta의 0이 아닌 값이 코딩될 때, SliceQpY의 초기값은 슬라이스 세그먼트 계층에서 수정된다. 구체적으로, init_qp_minus26의 값은 (-26 + QpBdOffsetY)에서 +37의 범위내로 수정될 수 있다. 변환 블록의 크기가 4의 거듭제곱이 아닌 경우, 변환 계수는 181/256(또는 181/128)을 곱하는 대신 QP 또는 QP 레벨 스케일링 테이블에 대한 수정과 함께 처리되어 변환 프로세스에 의한 암시적 스케일링을 보상한다. 변환 스킵 블록의 경우, QP가 4와 같을 때 양자화 스텝 크기가 1이 되기 때문에, 최소 허용 QP는 4로 정의된다.
일부 예들에서, 고정된 룩-업 테이블은 루마 양자화 파라미터 QPY를 크로마 양자화 파라미터 QPC로 변환하기 위하여 사용된다. VVC에서, 보다 유연한 루마에서 크로마로의 QP 매핑이 사용된다. 고정된 테이블을 사용하는 대신에, 유연한 구간별 선형 모델을 사용하여 SPS에서 루마에서 크로마로의 QP 매핑을 시고널링하되, 선형 모델의 유일한 제약 조건은 각 구간의 기울기가 음수가 될 수 없다는 것이다. 즉, 루마 QP가 증가함에 따라, 크로마 QP는 그대로 유지되거나 증가해야 하지만 감소할 수는 없다. 구간별 선형 모델은 다음과 같이 정의된다: 1) 모델의 구간 수;및 2) 해당 조각에 대한 입력(루마) 델타QP 및 출력(크로마) 델타 QP. 구간별 선형 모델의 입력 범위는 [-QpBdOffsetY, 63]이고 구간별 선형 모델의 출력 범위는 [-QpBdOffsetC, 63]이다. QP 매핑 관계는 Cb, Cr 및 공동 Cb/Cr 코딩에 대해 별도로 시그널링하거나 3가지 타입들의 모든 잔여 코딩에 대해 공동으로 시그널링할 수 있다.
HEVC와 동일하게, VVC에서도 CU 레벨 QP 적응을 허용된다. 루마 성분 및 크로마 성분에 대한 델타 QP 값은 별도로 시그널링할 수 있다. 크로마 성분들의 경우, HEVC에서와 유사한 방식으로 픽처 파라미터 세트(picture parameter set, PPS)에서의 오프셋 리스트들의 형태로 허용된 크로마 QP 오프셋 값들을 시그널링한다. Cb, Cr 및 공동 Cb/Cr 코딩의 경우, 별도로 리스트를 정의한다. Cb 리스트, Cr 리스트 및 공동 Cb/Cr 리스트 각각의 경우, 최대 6개에 달하는 오프셋 값들을 허용한다. CU 레벨에서, 인덱스를 시그널링하여 오프셋 리스트의 오프셋 값들 중 어느 것이 해당 CU에 대한 크로마 QP를 조정하는 데 사용되는지를 가리킨다.
변환 계수들에 대한 양자화 및 역-양자화 프로세스
변환 프로세스는 결과 계수를 특정 팩터에 의해 스케일링하고, 뒤따라 양자화 및 역-양자화 프로세스 동안 시프트 동작을 수행할 것을 요구한다. 스케일링 계수는 다음의 수학식1과 같이 정의된다:
Figure 112022042757913-pct00005
여기서, M과 N은 변환 블록의 너비와 높이이다.
일부 예들에서, 블록의 차원은 2의 거듭제곱, 즉 M=2m 및 N=2n이다. 이는 M이 N과 같을 때, 또는 실제로 M·N이 4의 거듭제곱일 때, 우측 시프트에 의해 팩터를 적용할 수 있음을 의미한다. 이러한 조건을 만족하는 블록을 "일반 블록"이라고 한다. M·N이 4의 거듭제곱이 아닐때, 다른 스케일링 및 시프트 값을 사용하여 보상한다. 스케일링 값은 표 4와 같이 정의된다. 이러한 조건을 만족하는 블록을 "보상 블록"이라고 한다.
QP % 6 0 1 2 3 4 5
encScale[QP% 6 ] 일반 블록 26214 23302 20560 18396 16384 14564
decScale[QP% 6 ] 40 45 51 57 64 72
encScale[QP% 6 ] 보상 블록 18396 16384 14564 13107 11651 10280
decScale[QP% 6 ] 57 64 72 80 90 102
표4. 스케일링 테이블
변환 스킵 모드에서 코딩된 블록에 대해서는 일반 블록에 대해 정의한 스케일링 및 시프트 동작을 수행한다.
표 5에는 스케일링된 변환 계수의 도출이 도시되어 있다. 표 5의 모든 변수에 대한 정의는 VVC 드래프트 사양의 버전 6에서 찾을 수 있다.
변수 rectNonTsFlag 다음과 같이 도출된다:
rectNonTsFlag = ( ( ( Log2( nTbW ) + Log2( nTbH ) ) & 1 ) = = 1 && transform_skip_flag[ xTbY ][ yTbY ] = = 0 )
변수 bdShift, rectNorm 및 bdOffset 다음과 같이 도출된다:
bdShift = bitDepth + ( ( rectNonTsFlag ? 1 : 0 ) + ( Log2( nTbW ) + Log2( nTbH ) ) / 2 ) - 5 + dep_quant_enabled_flag
bdOffset = ( 1 << bdShift ) >> 1
리스트 levelScale[ ][ ]는 levelScale[ j ][ k ] = { { 40, 45, 51, 57, 64, 72 }, { 57, 64, 72, 80, 90, 102 } }로 지정되고, 여기서, j = 0..1, k = 0..5.
(nTbW)x(nTbH) 어레이 dz는 (nTbW)x(nTbH) 어레이와 같도록 설정된다. TransCoeffLevel[ xTbY ][ yTbY ][ cIdx ].
스케이링 변환 계수 d[ x ][ y ]에 대하여, 여기서, x = 0..nTbW - 1, y = 0..nTbH - 1, 다음과 같이 적용된다:
-중간 스케일링 팩터 m[ x ][ y ]는 다음과 같이 도출된다:
-만약 아래의 조건 중의 하나 혹은 그 이상의 조건이 참이면, m[ x ][ y ]는 16과 같도록 설정된다:
-sps_scaling_list_enabled_flag is equal to 0.
-transform_skip_flag[ xTbY ][ yTbY ] is equal to 1.
-그렇지 않으면, 아래와 같이 적용된다:
m[ x ][ y ] = ScalingFactor[ Log2( nTbW ) ][ Log2( nTbH ) ][ matrixId ][ x ][ y ]
- 만약 스케일링 팩터 [ x ][ y ]이 아래와 같이 도출되면:
-만약 dep_quant_enabled_flag가 1과 같으면, 다음과 같이 적용된다:
ls[ x ][ y ] = ( m[ x ][ y ] * levelScale[ rectNonTsFlag ][ (qP + 1) % 6 ] ) << ( (qP + 1) / 6 )
-그렇지 않으면, (dep_quant_enabled_flag이 0과 같으면), 다음과 같이 적용된다:
ls[ x ][ y ] = ( m[ x ][ y ] * levelScale[ rectNonTsFlag ][ qP % 6 ] ) << ( qP / 6 )
-BdpcmFlag[ xTbY ][ yYbY ]이 1과 같으면, dz[ x ][ y ]는 아래와 같이 수정된다:
-만약 BdpcmDir[ xTbY ][ yYbY ]가 0과 같고 x가 0보다 크면, 다음과 같이 적용된다:
dz[ x ][ y ] = Clip3( CoeffMin, CoeffMax, dz[ x - 1 ][ y ] + dz[ x ][ y ])
-그렇지 않으면, 만약 BdpcmDir[ xTbY ][ yYbY ]가 1과 같고 y가 0보다 크면, 다음과 같이 적용된다:
dz[ x ][ y ] = Clip3( CoeffMin, CoeffMax, dz[ x ][ y - 1 ] + dz[ x ][ y ])
-값 dnc[ x ][ y ] 다음과 같이 도출된다:
dnc[ x ][ y ] = ( dz[ x ][ y ] * ls[ x ][ y ] +bdOffset ) >> bdShift
-스케일링 변환 계수 d[ x ][ y ]는 다음과 같이 도출된다:
d[ x ][ y ] = Clip3( CoeffMin, CoeffMax, dnc[ x ][ y ] )
사용된 QP 값이 주어졌을 때, 변환 계수에 대한 양자화 및 역-양자화 프로세스는 다음과 같이 설명할 수 있다. 양자화는 수학식 2로 설명할 수 있다.
Figure 112022042757913-pct00006
역-양자화는 수학식 3으로 설명할 수 있다.
Figure 112022042757913-pct00007
여기서, 변수 rectNonTsFlag는 수학식 4를 통해 획득할 수 있다.
Figure 112022042757913-pct00008
또한, 변수 transformShift'는 수학식 5를 통해 획득할 수 있다.
Figure 112022042757913-pct00009
여기서,
Figure 112022042757913-pct00010
는 변환 계수 값이고;
Figure 112022042757913-pct00011
은 양자화된 값 또는 양자화된 레벨이며;
Figure 112022042757913-pct00012
는 역-양자화 프로세스로부터의 재구성된 변환 계수 값들이다.
변수
Figure 112022042757913-pct00013
는 현재 블록이 "일반 블록"으로 분류되었는지 아니면 "보상 블록"으로 분류되었는지를 나타낸다. 이 값이 거짓 또는 0일 경우, 현재 블록은 보상 블록으로 분류된다.
변수
Figure 112022042757913-pct00014
Figure 112022042757913-pct00015
와 동일한 2차원(2D) 변환으로 인한 동적 범위 증가를 보상하는 데 사용되는 비트-시프트를 나타낸다. 여기서, W 및 H는 현재 변환 단위의 너비 및 높이이고, bitDepth는 코딩 비트 심도이다.
Figure 112022042757913-pct00016
의 값에 따라, 시프트 동작에 사용된 실제 값
Figure 112022042757913-pct00017
Figure 112022042757913-pct00018
와 같은 값을 취하거나 (
Figure 112022042757913-pct00019
-1)과 같은 값을 취할 수 있다.
Figure 112022042757913-pct00020
Figure 112022042757913-pct00021
은 각각 14-비트 정밀도 및 6-비트 정밀도를 가진 양자화 스케일링 값 및 역-양자화 스케일링 값으로, 표 4와 같이 정의된다.
Figure 112022042757913-pct00022
의 값에 따라, "일반 블록" 또는 "보상 블록"에 사용된 스케일링 팩터 세트를 선택하여 현재 블록에 사용한다.
변환 스킵 모드에 대한 양자화 및 역-양자화 프로세스
변환 스킵 모드에서, 예측 잔여들은 변환 동작을 수행하지 않고 직접 양자화 및 코딩된다. 보다 구체적으로, 그 양자화 및 역-양자화 프로세스를 설명하면 다음과 같다.
양자화는 수학식 6으로 설명할 수 있다.
Figure 112022042757913-pct00023
역-양자화는 수학식 7로 설명할 수 있다
Figure 112022042757913-pct00024
여기서,
Figure 112022042757913-pct00025
Figure 112022042757913-pct00026
는 오리지널 예측 잔여 샘플 값 및 재구성된 예측 잔여 샘플 값이고;
Figure 112022042757913-pct00027
은 양자화된 값 또는 양자화된 레벨이며;
Figure 112022042757913-pct00028
Figure 112022042757913-pct00029
은 각각 14-비트 정밀도 및 6-비트 정밀도를 가진 양자화 스케일링 값 및 역-양자화 스케일링 값이며 표 4에 표시된 "일반 블록"에 사용된 것과 동일하게 정의된다.
팔레트 모드에 대한 양자화 및 역-양자화 프로세스
VTM6은 4:4:4 컬러 포맷의 스크린 콘텐츠 코딩을 위한 팔레트 모드를 지원한다. 팔레트 모드가 인에이블될 경우 CU 크기가 64Х64보다 작거나 같으면, CU 레벨에서 플래그를 시그널링하여 팔레트 모드가 CU에 사용되는지 여부를 가리킨다. 팔레트 모드는 인트라 예측, 인터 예측, 인트라 블록 카피(Intra Block Copy, IBC) 모드 이외의 예측 모드로 시그널링된다.
팔레트 모드가 CU에 사용되는 경우, CU의 샘플 값은 대표 컬러 값의 작은 세트로 표시될 수 있다. 상기 세트를 "팔레트"라고 한다. 팔레트 컬러에 가까운 값을 가진 픽셀의 경우, 팔레트 인덱스를 시그널링하여 해당 값을 디코더에 전달할 수 있다. 이스케이프 기호 인덱스(escape symbol index) 다음에 이스케이프 값을 시그널링하여 샘플 값이 어떠한 팔레트 컬러에도 가깝지 않은 샘플을 지정할 수도 있다. 이스케이프 값은 샘플의 양자화된 성분 값이다. 이는 도 7에 도시되어 있다.
이스케이프 값의 양자화 및 역-양자화에 대하여, 다음의 수식은 인코더와 디코더에서 각각 적용되는 해당 프로세스를 설명한다.
양자화는 수학식 8에 의해 설명된다.
Figure 112022042757913-pct00030
역-양자화는 수학식 9에 의해 설명된다.
Figure 112022042757913-pct00031
여기서,
Figure 112022042757913-pct00032
Figure 112022042757913-pct00033
는 오리지널 이스케이프 값 및 재구성된 이스케이프 값이고;
Figure 112022042757913-pct00034
은 양자화된 값 또는 양자화된 레벨이며;
Figure 112022042757913-pct00035
Figure 112022042757913-pct00036
은 각각 14-비트 정밀도 및 6-비트 정밀도를 가진 양자화 스케일링 값 및 역-양자화 스케일링 값이며, 표 4에 표시된 "일반 블록"에 사용된 것과 동일하게 정의된다.
팔레트 코딩의 경우, 컬러 리스트를 포함하는 팔레트 예측자를 유지한다. 예측자는 웨이브프론트(wavefront)이 아닌 경우 각 슬라이스의 시작 부분에서 0으로 초기화(즉, 빈 리스트)되고, 웨이브프론트의 경우 각 CTU 행의 시작 부분에서 0으로 초기화된다. 팔레트 예측자의 각 항목에 대하여, 재사용 플래그를 시그널링하여 CU의 현재 팔레트의 일부인지 여부를 가리킨다. 0의 실행 길이 코딩을 사용하여 재사용 플래그를 전송한다. 그 다음, 새 팔레트 항목의 수와 새 팔레트 항목에 대한 성분 값을 시그널링한다. 팔레트 모드에서 CU를 코딩한 후, 현재 팔레트를 사용하여 팔레트 예측자를 업데이트하고, 현재 팔레트에서 재사용되지 않는 팔레트 예측자의 항목을 최대 허용 팔레트 크기에 도달하여 새 팔레트를 형성할 때까지 끝에 추가한다. 각 CU에 대해 이스케이프 플래그를 시그널링하여 현재 CU에 이스케이프 기호가 있는지 여부를 가리킨다. 이스케이프 기호가 있는 경우, 팔레트 테이블이 1씩 증가하고 마지막 인덱스를 할당하여 이스케이프 기호(symbol)를 나타낸다.
도 8a 및 8b는 본 개시의 일부 구현 방식들에 따른 수평 트래버스 스캔(traverse scan) 및 수직 트래버스 스캔을 도시한다. CU의 샘플들의 팔레트 인덱스들은 팔레트 인덱스 맵을 형성한다. 도 8a 및 도 8b에 도시된 바와 같이 수평 트래버스 스캔 및/또는 수직 트래버스 스캔을 사용하여 인덱스 맵을 코딩한다. palette_transpose_flag를 사용하여 비트스트림에서 스캔 순서를 명시적으로 시그널링한다.
도 9는 본 개시의 일부 구현 방식들에 따른 팔레트 인덱스들의 코딩을 도시한다. 이하의 두 가지 주요 팔레트 샘플 모드들을 사용하여 팔레트 인덱스들을 코딩한다: INDEX 및 COPY_ABOVE. 수평 스캔만 사용되는 상측 행, 수직 스캔만 사용되는 첫 번째 열 또는 이전 모드가 COPY_ABOVE였던 팔레트 샘플 위치들을 제외하고, 플래그를 사용하여 상기 모드들을 시그널링한다. COPY_ABOVE 모드에서, 상측 행의 샘플의 팔레트 인덱스를 복제(copy)한다. INDEX 모드에서, 팔레트 인덱스를 명시적으로 시그널링한다. INDEX 및 COPY_ABOVE 모드 모두에 대하여, 동일한 관련 모드를 사용하여 코딩되는 픽셀 수를 지정하는 실행 값을 시그널링한다.
인덱스 맵의 코딩 순서는 다음과 같다. 먼저, INDEX 실행과 관련된 인덱스 값들의 수를 시그널링한다. 그 다음에는 절단된 바이너리 코딩을 사용하여 전체 CU에 대한 실제 인덱스 값들을 시그널링한다. 다음으로, 인터리브 방식으로 팔레트 모드(INDEX 또는 COPY_ABOVE)와 각 실행에 대한 실행 길이를 시그널링한다. 마지막으로, 전체 CU에 대한 양자화된 이스케이프 모드 컬러를 함께 그룹화하고 지수 골롬 코딩(exponential Golomb coding)으로 코딩한다.
듀얼 루마/크로마 트리가 있는 슬라이스의 경우, 팔레트는 루마(Y 성분)와 크로마(Cb 및 Cr 성분)에 각각 적용된다. 단일 트리의 슬라이스들의 경우, 팔레트는 Y, Cb, Cr 성분들에 공동으로 적용된다. 즉, 팔레트의 각 항목은 Y, Cb, Cr 값을 포함한다. 디블록킹의 경우, 팔레트 코딩된 블록의 블록 경계를 디블록킹하지 않는다.
양자화 방안의 세 가지 다른 디자인이 가능하며 각각 일반 변환, 변환 스킵 및 팔레트 모드에 적용된다. 각각의 서로 다른 양자화 디자인은 서로 다른 시프트 및 스케일링 동작과 관련된다. 일반 변환을 적용하는 블록들의 경우, 시프트 및 스케일링 동작들은 블록 모양에 의존한다. 변환 스킵을 적용하는 블록들의 경우, 시프트 및 스케일링 동작들은 블록 모양에 의존하지 않는다. 팔레트 모드로 코딩된 블록의 경우, 스케일링 동작만 수행하며, 상기 동작은 블록 모양에 의존하지 않는다. 이러한 통일되지 않은 디자인은 표준화 관점에서 최적이 아닐 수 있다.
일부 예들에서, 변환 및 양자화를 단순화하고 더욱 개선하기 위한 방법을 제공한다. 변환 스킵 모드 및 팔레트 모드에서 사용하는 양자화 및 역-양자화 동작은 변환 스킵 모드에서 사용하는 양자화 및 역-양자화 동작을 팔레트 모드에 적용함으로써 통일할 수 있다.
일부 예들에서, 변환 스킵 모드 및 팔레트 모드 하에서 사용하는 양자화 및 역-양자화 동작들은 팔레트 모드 하에서 현재 양자화 및 역-양자화 동작들을 변환 스킵 모드에 적용함으로써 통일한다.
일부 예들에서, 일반 변환 모드, 변환 스킵 모드 및 팔레트 모드의 양자화 및 역-양자화 동작들은 모두 일반 변환 모드에 대한 양자화 및 역-양자화 동작들을 모든 모드(변환 스킵 모드와 팔레트 모드도 포함함)들에 적용함으로써 통일할 수 있다.
변환 스킵 모드 및 팔레트 모드에 사용되는 양자화 및 역-양자화의 조화(Harmonization)
일부 예들에서, 동일한 양자화 및 역-양자화 프로세스를 변환 스킵 모드에서의 예측 잔여 및 팔레트 모드에서의 이스케이프 값 모두에 적용한다. 변환 스킵 모드에서 사용하는 양자화 및 역-양자화 동작도 팔레트 모드에 적용한다. 예를 들어,
Figure 112022042757913-pct00037
Figure 112022042757913-pct00038
에 대응하는 수학식 6 및 7은 팔레트 모드에서의 이스케이프 값에 사용되며, 여기서,
Figure 112022042757913-pct00039
는 오리지널 이스케이프 값
Figure 112022042757913-pct00040
에 의해 대체되고, 이 경우
Figure 112022042757913-pct00041
의 출력은 재구성된 이스케이프 값
Figure 112022042757913-pct00042
가 된다.
구체적으로, 양자화 동작은 아래와 같이 설명된다:
Figure 112022042757913-pct00043
여기서,
Figure 112022042757913-pct00044
,
Figure 112022042757913-pct00045
은 양자화된 레벨이고,
Figure 112022042757913-pct00046
은 이스케이프 컬러 값이고, QP는 양자화 파라미터이고,
Figure 112022042757913-pct00047
는 스케일링 값이고, %은 모듈 연산을 나타내고,
Figure 112022042757913-pct00048
는 QP 모듈로 6의 연산을 나타내고, W는 CU의 너비, H는 CU의 높이, bitDepth는 코딩 비트 심도이다.
또한, 역양자화 동작은 이에 따라 아래와 같이 설명된다:
Figure 112022042757913-pct00049
여기서,
Figure 112022042757913-pct00050
,
Figure 112022042757913-pct00051
은 양자화된 레벨이고,
Figure 112022042757913-pct00052
은 CU에 대한 재구성된 이스케이프 컬러 값이고, QP는 양자화 파라미터이고,
Figure 112022042757913-pct00053
는 스케일링 값이고, %은 모듈 연산을 나타내고,
Figure 112022042757913-pct00054
는 QP 모듈로 6의 연산을 나타내고, W는 CU의 너비, H는 CU의 높이, bitDepth는 코딩 비트 심도이다.
일부 예들에서, 팔레트 모드하에서의 이스케이프 값들에 사용되는 양자화 및 역-양자화 동작들은 변환 스킵 모드 하에서의 예측 잔여들에도 적용된다. 예를 들어,
Figure 112022042757913-pct00055
Figure 112022042757913-pct00056
에 대응하는 수학식 8 및 9는 변환 스킵 모드하에서의 예측 잔여 값들에 사용되며, 여기서,
Figure 112022042757913-pct00057
는 예측 잔여 값
Figure 112022042757913-pct00058
로 대체되고, 이 경우
Figure 112022042757913-pct00059
의 출력은 재구성된 예측 잔여 값
Figure 112022042757913-pct00060
가 된다.
구체적으로, 양자화 동작은 아래와 같이 설명된다:
Figure 112022042757913-pct00061
여기서,
Figure 112022042757913-pct00062
은 양자화된 레벨이고,
Figure 112022042757913-pct00063
는 예측 잔여 샘플 값이고,
Figure 112022042757913-pct00064
는 스케일링 값이고, QP는 양자화 파라미터이고, %은 모듈 연산을 나타내고,
Figure 112022042757913-pct00065
는 QP 모듈로 6의 연산을 나타낸다.
또한, 역-양자화 동작은 아래와 같이 설명된다:
Figure 112022042757913-pct00066
여기서,
Figure 112022042786948-pct00067
은 양자화된 레벨이고,
Figure 112022042786948-pct00068
는 재구성된 예측 잔여 샘플 값이고,
Figure 112022042786948-pct00191
는 스케일링 값이고, QP는 양자화 파라미터이고, %은 모듈 연산을 나타내고,
Figure 112022042786948-pct00070
는 QP 모듈로 6의 연산을 나타낸다.
일반 변환 모드, 변환 스킵 모드 및 팔레트 모드에 사용되는 양자화 및 역양자화의 조화
일부 예들에서, 일반 변환 모드, 변환 스킵 모드 및 팔레트 모드의 양자화 및 역-양자화 동작은 일반 변환 모드에 대한 양자화 및 역-양자화 동작을 모든 모드(변환 스킵 모드 및 팔레트 모드도 포함함)에 적용함으로써 통일할 수 있다.
일부 예들에서, 일반 변환 모드에 대한 양자화 및 역-양자화 프로세스는 변환 스킵 모드 및 팔레트 모드에도 사용된다. 예를 들어, 수학식 2, 3, 4 및 5는 변환 스킵 모드 및 팔레트 모드하에서의 양자화/역-양자화 프로세스에도 사용된다.
일부 예들에서,
Figure 112022042757913-pct00071
Figure 112022042757913-pct00072
함수가 변환 스킵 모드하에서의 예측 잔여 값
Figure 112022042757913-pct00073
에 사용될 때,
Figure 112022042757913-pct00074
Figure 112022042757913-pct00075
로 대체되고, 이 경우
Figure 112022042757913-pct00076
로부터의 출력은
Figure 112022042757913-pct00077
와 같게 된다. 그 결과, 재구성된 예측 잔여 값
Figure 112022042757913-pct00078
Figure 112022042757913-pct00079
/
Figure 112022042757913-pct00080
에 의해 도출된다. 따라서, 일부 시프트 동작을 제외하고, 변환 스킵 계수에 대한 동일한 양자화 및 역-양자화 함수들이 변환 스킵 모드하에서의 예측 잔여 값에 사용된다.
구체적으로 양자화 연산은 아래와 같이 설명된다:
Figure 112022042757913-pct00081
Figure 112022042757913-pct00082
Figure 112022042757913-pct00083
여기서,
Figure 112022042757913-pct00084
은 양자화된 레벨이고,
Figure 112022042757913-pct00085
는 예측 잔여 샘플 값이고,
Figure 112022042757913-pct00086
은 스케일링 값이고, QP는 양자화 파라미터이고, %은 모듈 연산을 나타내고,
Figure 112022042757913-pct00087
는 QP 모듈로 6의 연산을 나타내고, W는 CU의 너비, H는 CU의 높이, bitDepth는 코딩 비트 심도이고, CU가 일반 블록으로 분류될 때
Figure 112022042757913-pct00088
는 0과 같고, CU가 보상 블록으로 분류될 때
Figure 112022042757913-pct00089
는 1과 같다.
또한, 역-양자화 동작은 아래와 같이 설명된다:
Figure 112022042757913-pct00090
Figure 112022042757913-pct00091
Figure 112022042757913-pct00092
여기서,
Figure 112022042786948-pct00093
은 양자화된 레벨이고,
Figure 112022042786948-pct00094
는 재구성된 예측 잔여 샘플 값이고,
Figure 112022042786948-pct00192
은 스케일링 값이고, QP는 양자화 파라미터이고, %은 모듈 연산을 나타내고,
Figure 112022042786948-pct00096
는 QP 모듈로 6의 연산을 나타내고, W는 CU의 너비, H는 CU의 높이, bitDepth는 코딩 비트 심도이고, CU가 일반 블록으로 분류될 때
Figure 112022042786948-pct00097
는 0과 같고, CU가 보상 블록으로 분류될 때
Figure 112022042786948-pct00098
는 1과 같다.
일부 예들에서,
Figure 112022042757913-pct00099
Figure 112022042757913-pct00100
함수가 팔레트 모드하에서의 이스케이프 값
Figure 112022042757913-pct00101
에 사용될 때,
Figure 112022042757913-pct00102
Figure 112022042757913-pct00103
로 대체되고, 이 경우
Figure 112022042757913-pct00104
로부터의 출력은
Figure 112022042757913-pct00105
와 같게 된다. 그 결과, 재구성된 이스케이프 값
Figure 112022042757913-pct00106
Figure 112022042757913-pct00107
/
Figure 112022042757913-pct00108
에 의해 도출된다. 따라서, 일부 시프트 동작들을 제외하고, 변환 스킵 계수들에 대한 동일한 양자화 및 역-양자화 함수들이 팔레트 모드하에서의 이스케이프 값들에도 사용된다.
구체적으로, 양자화 동작은 아래와 같이 설명된다:
Figure 112022042757913-pct00109
Figure 112022042757913-pct00110
Figure 112022042757913-pct00111
여기서,
Figure 112022042757913-pct00112
은 양자화된 레벨이고,
Figure 112022042757913-pct00113
는 이스케이프 컬러 값이고,
Figure 112022042757913-pct00114
은 스케일링 값이고, QP는 양자화 파라미터이고, %은 모듈 연산을 나타내고,
Figure 112022042757913-pct00115
는 QP 모듈로 6의 연산을 나타내고, W는 CU의 너비, H는 CU의 높이, bitDepth는 코딩 비트 심도이고, CU가 일반 블록으로 분류될 때
Figure 112022042757913-pct00116
는 0과 같고, CU가 보상 블록으로 분류될 때
Figure 112022042757913-pct00117
는 1과 같다.
유의해야 할 점은,
Figure 112022042757913-pct00118
Figure 112022042757913-pct00119
에 따른 양자화 및 역-양자화 프로세스는 이 두 함수들을 사용하여 1의 양자화 스텝 크기로도 완벽한 재구성이 보장되지 않기 때문에, VVC에서의 무손실 코딩을 지원하는 데 사용되지 않을 수 있다.
일부 예들에서, 상술한 방법을 사용하여 상이한 샘플 값들의 양자화 및 역-양자화 프로세스를 통일할 때, 비트스트림에서 별도의 플래그(예를 들어, trans_quant_bypass_flag)를 시그널링하여 주어진 이미지 영역(예를 들어, CU)이 무손실 코딩 모드하에 코딩되는 지 여부를 가리킬 수 있다. 이러한 플래그가 주어진 블록이 무손실 모드로 코딩되었음을 가리키는 경우, 블록 코딩에 대하여 해당 양자화 및 역-양자화 프로세스들을 우회한다.
도 10은 본 개시의 일부 구현 방식들에 따른 비디오 코딩을 위한 장치를 도시하는 블록도이다. 장치(1100)는 모바일 폰, 태블릿 컴퓨터, 디지털 방송 단말기, 태블릿 디바아스, 또는 개인 휴대 단말기와 같은 단말기일 수 있다.
도 10에 도시된 바와 같이, 장치(1000)는 프로세싱 컴포넌트(1002), 메모리(1004), 전력 공급 컴포넌트(1006), 멀티미디어 컴포넌트(1008), 오디오 컴포넌트(1010), 입출력(I/O) 인터페이스(1012), 센서 컴포넌트(1014) 및 통신 컴포넌트(1016)와 같은 구성 중의 하나 또는 그 이상을 포함할 수 있다.
프로세싱 컴포넌트(1002)는 디스플레이, 전화 통화, 데이터 통신, 카메라 동작 및 레코딩 동작과 관련된 동작들과 같은 장치 (1000)의 전체 동작들을 제어한다. 프로세싱 컴포넌트(1002)는 상기 방법의 전부 또는 일부 단계를 완성하기 위한 명령어를 실행하기 위한 하나 또는 그 이상의 프로세서(1020)를 포함할 수 있다. 또한, 프로세싱 컴포넌트(1002)는 프로세싱 컴포넌트(1002)와 다른 컴포넌트 간의 상호 작용을 용이하게 하기 위해 하나 혹은 그 이상의 모듈을 포함할 수 있다. 예를 들어, 프로세싱 컴포넌트(1002)는 멀티미디어 컴포넌트(1008)와 프로세싱 컴포넌트(1002)간의 상호 작용을 용이하게 하기 위해 멀티미디어 모듈을 포함할 수 있다.
메모리(1004)는 장치(1000)의 동작을 지원하기 위해 서로 다른 유형의 데이터를 저장하도록 구성된다. 이러한 데이터의 예로는 장치(1000)에서 동작하는 임의의 애플리케이션 또는 방법에 대한 명령어, 연락처 데이터, 전화번호부 데이터, 메시지, 사진, 비디오 등을 포함한다. 메모리(1004)는 임의의 유형의 휘발성 또는 비 휘발성 저장 장치 또는 이들의 조합에 의해 구현할 수 있고, 메모리(1004)는 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)일 수 있다.
전력 공급 컴포넌트(1006)는 장치(1000)의 다양한 컴포넌트들에 전력을 공급한다. 전력 공급 컴포넌트(1006)는 전력 공급 관리 시스템, 하나 또는 그 이상의 전원 및 장치(1000)의 전력을 생성, 관리 및 분배하는 것과 관련된 기타 컴포넌트를 포함할 수 있다.
멀티미디어 컴포넌트(1008)는 장치(1000)와 사용자 사이의 출력 인터페이스를 제공하는 스크린을 포함한다. 일부 예들에서, 스크린은LCD 및 터치 패널(TP)을 포함할 수 있다. 스크린이 터치 패널을 포함하는 경우, 스크린은 사용자로부터 입력 신호를 수신하는 터치 스크린으로 구현할 수 있다. 터치 패널은 터치 패널상의 터치, 슬라이드 및 제스처를 감지하기 위한 하나 또는 그 이상의 터치 센서를 포함할 수 있다. 터치 센서는 터치 또는 슬라이딩 동작의 경계를 감지할 뿐만 아니라 터치 또는 슬라이딩 동작과 관련된 지속 시간 및 압력도 감지할 수 있다. 일부 예들에서, 멀티미디어 컴포넌트(1008)는 전방 카메라 및/또는 후방 카메라를 포함할 수 있다. 장치(1000)가 촬영 모드 또는 비디오 모드와 같은 동작 모드에 있을 경우, 전방 카메라 및/또는 후방 카메라는 외부 멀티미디어 데이터를 수신할 수 있다.
오디오 컴포넌트(1010)는 오디오 신호를 출력 및/또는 입력하도록 구성된다. 예를 들어, 오디오 컴포넌트(1010)는 마이크(MIC)를 포함한다. 장치(1000)가 통화 모드, 녹음 모드 및 음성 인식 모드와 같은 동작 모드일 경우, 마이크는 외부 오디오 신호를 수신하도록 구성된다. 수신된 오디오 신호는 또한 메모리(1004)에 저장되거나 통신 컴포넌트(1016)를 통해 전송될 수 있다. 일부 예들에서, 오디오 컴포넌트(1010)는 오디오 신호를 출력하기 위한 스피커를 더 포함한다.
I/O 인터페이스(1012)는 프로세싱 컴포넌트(1002)와 주변 인터페이스 모듈사이의 인터페이스를 제공한다. 상기 주변 인터페이스 모듈은 키보드, 클릭 휠, 버튼 등일 수 있다. 이러한 버튼에는 홈 버튼, 볼륨 버튼, 시작 버튼 및 잠금 버튼이 포함될 수 있지만 이에 제한되지는 않는다.
센서 컴포넌트(1014)는 장치(1000)에 대해 상이한 측면들에서 상태 평가를 제공하기 위한 하나 또는 그 이상의 센서를 포함한다. 예를 들어, 센서 컴포넌트(1014)는 장치(1000)의 온/오프 상태 및 컴포넌트의 상대적 위치를 검출할 수 있다. 예를 들어, 컴포넌트는 장치(1000)의 디스플레이 및 키패드이다. 센서 컴포넌트(1014)는 또한 장치(1000) 또는 장치(1000)의 컴포넌트의 위치 변화, 장치에 대한 사용자의 접촉 유무를 감지할 수 있다. 센서 컴포넌트(1014)는 물리적 터치없이 주변 물체의 존재를 감지하도록 구성된 근접 센서를 포함할 수 있다. 센서 컴포넌트(1014)는 이미징 애플리케이션에 사용되는 CMOS 또는 CCD 이미지 센서와 같은 광학 센서를 더 포함할 수 있다. 일부 예에서, 센서 컴포넌트(1014)는 가속도 센서(acceleration sensor), 자이로스코프 센서(gyroscope sensor), 자기 센서(magnetic sensor), 압력 센서(pressure sensor) 또는 온도 센서(temperature sensor)를 더 포함할 수 있다.
통신 컴포넌트(1016)는 장치(1000)와 기타 장치 사이의 유선 또는 무선 통신을 용이하게 하도록 구성된다. 장치(1000)는 WiFi, 4G, 또는 이들의 조합과 같은 통신 표준에 기반한 무선 네트워크에 접속할 수 있다. 일 예에서, 통신 컴포넌트(1016)는 방송 채널을 통해 외부 방송 관리 시스템으로부터 방송 신호 또는 방송 관련 정보를 수신한다. 일 예에서, 통신 컴포넌트(1016)는 근거리 통신을 촉진하기 위한 근거리 무선 통신(Near Field Communication, NFC) 모듈을 더 포함할 수 있다. 예를 들어, NFC 모듈은 RFID(Radio Frequency Identification)기술, IrDA(Infrared Data Association)기술, UWB(Ultra-Wide Band)기술, BT(Bluetooth)기술 및 기타 기술을 기반으로 구현될 수 있다.
일 예에서, 장치(1000)는 상기 방법을 수행하기 위해 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), 자기 테이프, 플로피 디스크 등일 수 있다.
도 11은 본 개시의 일부 구현 방식들에 따른 비디오 코딩에서의 양자화 디자인의 예시적인 프로세스를 도시하는 흐름도이다. 상기 프로세스는 인코더에 적용될 수 있다.
단계 1101에서, 프로세서(1020)는 CU의 잔여 데이터에 대한 양자화 파라미터를 확정한다.
단계 1102에서, 프로세서(1020)는 양자화 파라미터를 스케일링 팩터로 스케일링하여 스케일링 값을 도출한다.
단계 1103에서, 프로세서(1020)는 CU와 관련된 복수의 계수들을 확정한다.
일부 예들에서, 복수의 계수들은 변환 계수, CU에 대한 이스케이프 컬러 값 및 예측 잔여 샘플 값을 포함할 수 있다.
단계 1104에서, 프로세서(1020)는 CU와 관련된 복수의 파라미터들을 확정한다.
일부 예들에서, 복수의 파라미터들은 코딩 비트 심도에 기반하여 확정한 비트-시프트, CU의 너비 및 높이를 포함하고, 스케일링 팩터는 CU의 너비 및 높이에 기반하여 확정된다.
단계 1105에서, 프로세서(1020)는 복수의 파라미터들을 비트-시프트하여 복수의 비트-시프트들을 획득한다.
단계 1106에서, 프로세서(1020)는 스케일링 값, 복수의 계수들 및 복수의 비트-시프트들에 기반하여 양자화된 레벨을 획득한다.
일부 예들에서, 프로세서(1020)가 CU와 관련된 복수의 계수들을 확정할 경우, 프로세서(1020)는 CU에 대한 이스케이프 컬러 값을 더 확정한다. 이스케이프 컬러 값은 CU로부터 선택된 미리 설정된 복수의 컬러들에 없는 컬러를 갖는 CU의 픽셀에 대한 값일 수 있다. 그리고, 프로세서(1020)가 스케일링 값, 복수의 계수들 및 복수의 비트-시프트들에 기반하여 양자화된 레벨을 획득하는 경우, 프로세서(1020)는 스케일링 값, 이스케이프 컬러 값 및 복수의 비트-시프트들에 기반하여 양자화된 레벨을 더 획득한다.
일부 예들에서, 프로세서(1020)는 CU와 관련된 예측 잔여 샘플을 더 확정한다. 프로세서(1020)가 CU와 관련된 복수의 계수들을 결정하는 경우, 프로세서(1020)는 예측 잔여 샘플에 대응하는 예측 잔여 샘플 값을 더 확정한다. 프로세서(1020)가 스케일링 값, 복수의 계수들 및 복수의 비트-시프트들에 기반하여 양자화된 레벨을 획득하는 경우, 프로세서(1020)는 스케일링 값, 예측 잔여 샘플 값 및 복수의 비트-시프트들에 기반하여 양자화된 레벨을 더 획득한다.
도 12는 본 개시의 일부 구현 방식들에 따른 비디오 코딩에서의 역-양자화 디자인의 예시적인 프로세스를 도시하는 흐름도이다. 상기 프로세스는 디코더에 적용될 수 있다.
단계 1201에서, 프로세서(1020)는 양자화 파라미터 및 양자화된 레벨을 포함하는 비디오 비트스트림을 수신한다.
단계 1202에서, 프로세서(1020)는 양자화 파라미터를 스케일링 팩터로 스케일링하여 스케일링 값을 도출한다.
단계 1203에서, 프로세서(1020)는 CU와 관련된 복수의 파라미터들을 확정한다.
일부 예들에서, 복수의 파라미터들은 코딩 비트 심도에 기반하여 확정한 비트-시프트, CU의 너비 및 높이를 포함하고, 스케일링 팩터는 CU의 너비 및 높이에 기반하여 확정된다.
단계 1204에서, 프로세서(1020)는 복수의 파라미터들을 비트-시프트하여 복수의 비트-시프트들을 획득한다.
단계 1205에서, 프로세서(1020)는 양자화된 레벨, 스케일링 값 및 복수의 비트-시프트들에 기반하여 CU와 관련된 복수의 계수들을 획득한다.
일부 예들에서, 복수의 계수들은 재구성된 변환 계수, CU에 대한 재구성된 이스케이프 컬러 값 및 재구성된 예측 잔여 샘플 값을 포함할 수 있다.
일부 예들에서, 프로세서(1020)가 양자화된 레벨, 스케일링 값 및 복수의 비트-시프트들에 기반하여 CU와 관련된 복수의 계수들을 획득할 경우, 프로세서(1020)는 양자화된 레벨, 스케일링 값 및 복수의 비트-시프트들에 기반하여 CU에 대한 재구성된 이스케이프 컬러 값을 더 획득한다. 그리고, 재구성된 이스케이프 컬러 값은 CU로부터 선택된 미리 설정된 복수의 컬러들에 없는 컬러를 갖는 CU의 픽셀에 대한 값이다.
일부 예들에서, 프로세서(1020)는 CU와 관련된 예측 잔여 샘플을 추가로 확정한다. 프로세서(1020)가 양자화된 레벨, 스케일링 값 및 복수의 비트-시프트들에 기반하여 CU와 관련된 복수의 계수들을 획득할 경우, 프로세서(1020)는 양자화된 레벨, 스케일링 값 및 복수의 비트-시프트들에 기반하여 CU에 대한 재구성된 예측 잔여 샘플 값을 획득한다. 그리고, 재구성된 예측 잔여 샘플 값은 예측 잔여 샘플에 대응할 수 있다.
일부 예들에서, 비디오 코딩을 위한 컴퓨팅 장치가 제공된다. 상기 장치는 프로세서(1020) 및 프로세서에 의해 실행 가능한 명령어를 저장하도록 구성된 메모리(1004)를 포함하며, 프로세서는 명령어 실행시 도 11에 도시된 방법을 수행하도록 구성된다.
일부 예들에서, 비디오 코딩을 위한 컴퓨팅 장치가 제공된다. 상기 장치는 프로세서(1020) 및 프로세서에 의해 실행 가능한 명령어를 저장하도록 구성된 메모리(1004)를 포함하며, 프로세서는 명령어 실행시 도 12에 도시된 방법을 수행하도록 구성된다.
일부 다른 예들에서, 명령어가 저장된 비-일시적 컴퓨터 판독 가능 저장 매체(1004)가 제공된다. 명령어가 프로세서(1020)에 의해 실행될 경우, 명령어는 프로세서로 하여금 도 11에 도시된 방법을 수행하도록 한다.
일부 다른 예들에서, 명령어가 저장된 비-일시적 컴퓨터 판독 가능 저장 매체(1004)가 제공된다. 명령어가 프로세서(1020)에 의해 실행될때, 명령어는 프로세서로 하여금 도 12에 도시된 방법을 수행하도록 한다.
본 개시 내용의 설명은 예시의 목적으로 제시된 것이며, 본 개시 내용을 망라하거나 제한하고자 하는 것은 아니다. 전술한 설명 및 관련 도면들의 시사로부터 당업자들은 다양한 수정, 변경 및 대안적인 구현 방식들은 명백히 이해할 것이다.
예시들은 본 개시의 원리 및 당업자가 본 개시를 다양한 구현 방식으로 구현하도록 이해하고, 특정된 용도에 적합하도록 본 발명을 수정하도록 본 발명의 기본적인 원리 및 다양한 구현 방식을 제일 적합하게 사용하도록 설명되었다. 따라서, 본 개시의 범위는 개시된 구현 방식들의 특정 예에 제한되지 않으며, 변형 및 다른 구현 방식들은 본 개시에 포함되는 것으로 해석되어야 한다.

Claims (22)

  1. 비트스트림으로부터 및 제1 코딩 블록에 대하여 양자화 파라미터 및 양자화된 레벨을 도출하는 단계;
    상기 양자화 파라미터에 기반하여 스케일링 레벨 테이블을 조회하는 것을 통하여 스케일링 값을 도출하는 단계; 및
    상기 제1 코딩 블록이 변환 스킵 모드로 코딩된 것을 확정함에 따라, 제1 역양자화 동작을 적용하는 것을 통하여, 상기 양자화된 레벨, 상기 스케일링 값 및 복수의 비트-시프트들에 기반하여 제1 코딩 블록의 샘플에 대한 잔여 샘플을 획득하는 단계를 포함하고,
    상기 제1 역양자화 동작을 더 적용하여 팔레트 모드로 코딩된 제2 코딩 블록의 이스케이프 샘플에 대한 재구성된 샘플을 획득하는,
    비디오 디코딩을 위한 방법.
  2. 제 1 항에 있어서,
    제3 코딩 블록이 일반 변환 모드로 코딩된 것을 확정함에 따라, 상기 제1 역양자화 동작과 상이한 제2 역양자화 동작을 적용하는 것을 통하여 상기 제3 코딩 블록의 샘플에 대한 잔여 샘플을 획득하는 단계를 더 포함하는,
    비디오 디코딩을 위한 방법.
  3. 제 1 항에 있어서,
    상기 스케일링 레벨 테이블은 levelScale[ k ] = { 40, 45, 51, 57, 64, 72 }이고, 여기서k = 0..5인,
    비디오 디코딩을 위한 방법.
  4. 제 1 항에 있어서,
    상기 비트스트림에서 상기 제2 코딩 블록에 이스케이프 샘플이 존재하는지 여부를 가리키는 이스케이프 플래그를 수신하는 단계를 더 포함하는,
    비디오 디코딩을 위한 방법.
  5. 제 1 항에 있어서,
    상기 복수의 비트-시프트들은 QP/6 비트 좌측 시프트 및 6 비트 우측 시프트를 포함하고, 상기 QP는 상기 양자화 파라미터인,
    비디오 디코딩을 위한 방법.
  6. 제 1 항에 있어서,
    상기 제1 역양자화 동작은 아래와 같고:
    Figure 112022042786948-pct00193

    여기서,
    Figure 112022042786948-pct00194
    은 양자화된 레벨이고,
    Figure 112022042786948-pct00195
    는 재구성된 예측 잔여 샘플 값이고,
    Figure 112022042786948-pct00196
    는 스케일링 값이고, QP는 양자화 파라미터이고, %은 모듈 연산을 나타내고,
    Figure 112022042786948-pct00197
    는 QP 모듈로 6의 연산을 나타내는,
    비디오 디코딩을 위한 방법.
  7. 하나 또는 그 이상의 프로세서;
    상기 하나 또는 그 이상의 프로세서들에 결합된 비-일시적 저장 장치; 및
    상기 비-일시적 저장 장치에 저장된 복수의 프로그램을 포함하되,
    상기 복수의 포로그램들은 상기 하나 또는 그 이상의 프로세서들에 의하여 실행될 때 상기 하나 또는 그 이상의 프로세서들로 하여금 제 1 항 내지 제 6 항 중 어느 한 항의 방법을 수행하게 하는,
    컴퓨팅 장치.
  8. 하나 또는 그 이상의 프로세서들을 구비한 컴퓨팅 장치에 의하여 실행하는 비트스트림을 저장하고,
    상기 비트스트림은 상기 하나 또는 그 이상의 프로세서들에 의하여 실행될 때 상기 하나 또는 그 이상의 프로세서들로 하여금 제 1 항 내지 제 6 항 중 어느 한 항의 방법을 수행하게 하는,
    비-일시적 컴퓨터 판독 가능 저장 매체.
  9. 비-일시적 컴퓨터 판독 가능 저장 매체에 저장된 컴퓨터 프로그램에 있어서, 컴퓨터에 의하여 실행될 때 상기 컴퓨터로 하여금 제 1 항 내지 제 6 항 중 어느 한 항의 방법을 수행하게 하는,
    컴퓨터 프로그램.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
KR1020227013359A 2019-09-23 2020-09-23 비디오 코딩에서의 양자화 및 역-양자화 디자인을 위한 방법 및 장치 KR102487062B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227046345A KR102571893B1 (ko) 2019-09-23 2020-09-23 비디오 코딩에서의 양자화 및 역-양자화 디자인을 위한 방법 및 장치

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962904668P 2019-09-23 2019-09-23
US62/904,668 2019-09-23
PCT/US2020/052175 WO2021061744A1 (en) 2019-09-23 2020-09-23 Methods and devices for quantization and de-quantization design in video coding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227046345A Division KR102571893B1 (ko) 2019-09-23 2020-09-23 비디오 코딩에서의 양자화 및 역-양자화 디자인을 위한 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20220054900A KR20220054900A (ko) 2022-05-03
KR102487062B1 true KR102487062B1 (ko) 2023-01-09

Family

ID=75167108

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020227013359A KR102487062B1 (ko) 2019-09-23 2020-09-23 비디오 코딩에서의 양자화 및 역-양자화 디자인을 위한 방법 및 장치
KR1020237028566A KR20230127375A (ko) 2019-09-23 2020-09-23 비디오 코딩에서의 양자화 및 역-양자화 디자인을 위한 방법 및 장치
KR1020227046345A KR102571893B1 (ko) 2019-09-23 2020-09-23 비디오 코딩에서의 양자화 및 역-양자화 디자인을 위한 방법 및 장치
KR1020237028574A KR20230125862A (ko) 2019-09-23 2020-09-23 비디오 코딩에서의 양자화 및 역-양자화 디자인을 위한 방법 및 장치

Family Applications After (3)

Application Number Title Priority Date Filing Date
KR1020237028566A KR20230127375A (ko) 2019-09-23 2020-09-23 비디오 코딩에서의 양자화 및 역-양자화 디자인을 위한 방법 및 장치
KR1020227046345A KR102571893B1 (ko) 2019-09-23 2020-09-23 비디오 코딩에서의 양자화 및 역-양자화 디자인을 위한 방법 및 장치
KR1020237028574A KR20230125862A (ko) 2019-09-23 2020-09-23 비디오 코딩에서의 양자화 및 역-양자화 디자인을 위한 방법 및 장치

Country Status (7)

Country Link
US (4) US11997278B2 (ko)
EP (4) EP4429238A3 (ko)
JP (3) JP7382494B6 (ko)
KR (4) KR102487062B1 (ko)
CN (2) CN114827605A (ko)
MX (1) MX2022003471A (ko)
WO (1) WO2021061744A1 (ko)

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013109471A1 (en) * 2012-01-19 2013-07-25 Vid Scale, Inc. System and method of video coding quantization and dynamic range control
US9635371B2 (en) * 2013-05-31 2017-04-25 Qualcomm Incorporated Determining rounding offset using scaling factor in picture resampling
US10708588B2 (en) * 2013-06-19 2020-07-07 Apple Inc. Sample adaptive offset control
EP4366308A3 (en) * 2013-06-28 2024-07-10 Velos Media International Limited Methods and devices for emulating low-fidelity coding in a high-fidelity coder
US10038915B2 (en) * 2014-05-22 2018-07-31 Qualcomm Incorporated Escape sample coding in palette-based video coding
CN106416257B (zh) * 2014-05-23 2019-05-10 寰发股份有限公司 调色板大小发信和有条件的调色板例外标志发信的方法
US10382749B2 (en) * 2014-05-23 2019-08-13 Qualcomm Incorporated Coding run values based on palette index in palette-based video coding
US10136141B2 (en) * 2014-06-11 2018-11-20 Qualcomm Incorporated Determining quantization parameter (QP) values and delta QP values for palette coded blocks in video coding
WO2015194187A1 (en) * 2014-06-20 2015-12-23 Sharp Kabushiki Kaisha Harmonized palette coding
RU2686559C2 (ru) * 2015-01-29 2019-04-29 Кэнон Кабусики Кайся Инициализатор предсказателя палитры при кодировании или декодировании самостоятельных кодируемых структур
JP2018510539A (ja) 2015-01-29 2018-04-12 ヴィド スケール インコーポレイテッド パレット符号化モードのためのエスケープカラー符号化
CN106664405B (zh) * 2015-06-09 2020-06-09 微软技术许可有限责任公司 用调色板模式对经逸出编码的像素的稳健编码/解码
US10097842B2 (en) * 2015-09-18 2018-10-09 Qualcomm Incorporated Restriction of escape pixel signaled values in palette mode video coding
KR20180074150A (ko) * 2016-12-23 2018-07-03 삼성전자주식회사 Sao 필터링을 포함하는 비디오 데이터의 부호화를 위한 방법 및 장치
KR20230049764A (ko) 2019-08-15 2023-04-13 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 팔레트 모드를 이용한 비디오 코딩의 방법 및 장치
CN116684583A (zh) 2019-08-26 2023-09-01 Lg电子株式会社 解码设备、编码设备和数据发送设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Yu-Chen Sun, et. al., "CE8: WD of palette mode with neighboring pixel copy(CE8-1.1)", JVET 16th Meeting, Geneva, 1-11 October, 2019, JVET-P0060WD*

Also Published As

Publication number Publication date
US20220217349A1 (en) 2022-07-07
US20240283932A1 (en) 2024-08-22
KR102571893B1 (ko) 2023-08-28
KR20220054900A (ko) 2022-05-03
EP4429237A3 (en) 2024-10-09
EP4035368B1 (en) 2024-09-04
US20240283931A1 (en) 2024-08-22
JP2023162319A (ja) 2023-11-08
MX2022003471A (es) 2022-04-19
EP4429239A3 (en) 2024-10-09
EP4035368A4 (en) 2022-11-30
CN114450948A (zh) 2022-05-06
JP2024073638A (ja) 2024-05-29
JP2022541076A (ja) 2022-09-21
WO2021061744A1 (en) 2021-04-01
KR20230125862A (ko) 2023-08-29
US20240283933A1 (en) 2024-08-22
EP4429238A3 (en) 2024-10-09
US11997278B2 (en) 2024-05-28
CN114827605A (zh) 2022-07-29
EP4035368A1 (en) 2022-08-03
EP4429239A2 (en) 2024-09-11
EP4429237A2 (en) 2024-09-11
JP7382494B6 (ja) 2023-11-29
EP4429238A2 (en) 2024-09-11
KR20230127375A (ko) 2023-08-31
JP7382494B2 (ja) 2023-11-16
KR20230006060A (ko) 2023-01-10

Similar Documents

Publication Publication Date Title
KR102655582B1 (ko) 비디오 처리를 위한 다중 이차 변환 행렬
JP7422684B2 (ja) ブロックベースの適応ループフィルタ(alf)の設計およびシグナリング
CN113785587B (zh) 在矩阵帧内预测模式中裁剪预测样本
JP6929647B2 (ja) ブロック適応色空間コンバージョンコーディング
JP6612767B2 (ja) 色空間変換コーディングのための量子化パラメータ
JP6580562B2 (ja) イントラ予測フィルタリングの無効化
JP7463399B2 (ja) ビデオコーディングのための勾配ベースの予測改良
KR20220006055A (ko) 다중 인트라 코딩 방법 사이의 상호 작용
US20220124347A1 (en) Lossless coding modes for video coding
KR20220140642A (ko) 비디오 코딩에서의 신택스 엘리먼트의 시그널링을 위한 방법 및 장치
KR102487062B1 (ko) 비디오 코딩에서의 양자화 및 역-양자화 디자인을 위한 방법 및 장치
WO2021236400A1 (en) Signaling of syntax elements in video coding
CN115398903A (zh) 视频译码中的子图片提取和约束

Legal Events

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