KR20220115965A - 비디오 코딩을 위한 일반적인 제약 정보 - Google Patents
비디오 코딩을 위한 일반적인 제약 정보 Download PDFInfo
- Publication number
- KR20220115965A KR20220115965A KR1020227021593A KR20227021593A KR20220115965A KR 20220115965 A KR20220115965 A KR 20220115965A KR 1020227021593 A KR1020227021593 A KR 1020227021593A KR 20227021593 A KR20227021593 A KR 20227021593A KR 20220115965 A KR20220115965 A KR 20220115965A
- Authority
- KR
- South Korea
- Prior art keywords
- flag
- video
- bitstream
- mode
- equal
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 239
- 238000006243 chemical reaction Methods 0.000 claims abstract description 47
- 238000012545 processing Methods 0.000 claims abstract description 39
- 230000003044 adaptive effect Effects 0.000 claims abstract description 24
- 238000003672 processing method Methods 0.000 claims description 31
- 238000012952 Resampling Methods 0.000 claims description 4
- 230000001131 transforming effect Effects 0.000 claims description 2
- 230000009466 transformation Effects 0.000 abstract description 16
- 230000004044 response Effects 0.000 abstract description 12
- 241000023320 Luma <angiosperm> Species 0.000 description 44
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 43
- 238000013139 quantization Methods 0.000 description 36
- 238000010586 diagram Methods 0.000 description 27
- 230000011664 signaling Effects 0.000 description 22
- 239000013598 vector Substances 0.000 description 16
- 230000008569 process Effects 0.000 description 13
- 235000021251 pulses Nutrition 0.000 description 10
- 238000004590 computer program Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 230000015654 memory Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 5
- 238000005192 partition Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 239000011449 brick Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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/196—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N11/00—Colour television systems
- H04N11/04—Colour television systems using pulse code modulation
- H04N11/042—Codec means
- H04N11/044—Codec means involving transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
이미지/비디오 인코딩 및 디코딩 동안 적응적 색 변환(ACT)을 구현하기 위한 방법, 시스템 및 장치가 설명된다. 비디오 처리의 예시적인 방법은, 블록을 포함하는 비디오와 상기 비디오의 비트스트림 사이의 변환을 위해, 블록의 크기가 ACT 모드에 대한 최대 허용 크기보다 크다는 것을 결정하고, 상기 결정에 기초하여 변환을 수행하는 단계를 포함하고, 블록의 크기가 ACT 모드에 대한 최대 허용 크기보다 큰 것에 응답하여, 블록은 다수의 서브블록으로 분할되고, 다수의 서브블록 각각은 동일한 예측 모드를 공유하고, ACT 모드는 서브블록 레벨에서 인에이블된다.
Description
관련 출원의 상호 참조
파리 협약에 따른 적용가능한 특허법 및/또는 규칙에 따라, 본 출원은 2020년 1월 5일에 제출된 국제 특허 출원 번호 PCT/CN2020/070368에 대한 우선권과 혜택을 적시에 청구하기 위하여 만들어졌다. 법 하의 모든 목적을 위해, 상술한 출원의 전체 개시물은 본 출원의 개시의 일부로서 참고로 통합된다.
본 문서는 이미지 및 비디오 코딩 기술에 관한 것이다.
디지털 비디오는 인터넷 및 다른 디지털 통신 네트워크 상에서 가장 큰 대역폭 사용을 차지한다. 비디오를 수신하고 디스플레이할 수 있는 연결된 사용자 장치의 수가 증가함에 따라, 디지털 비디오 사용에 대한 대역폭 요구가 계속 증가할 것으로 기대된다.
본 문서는 다른 코딩 툴에 더하여 적응적 색 변환(ACT) 모드를 이용하는 비디오 인코딩 및 디코딩용 시스템, 방법 및 디바이스를 개시한다.
일 예시적인 양태에서, 비디오 처리(video processing) 방법이 개시된다. 방법은 비디오의 현재 비디오 블록과 비디오의 비트스트림 간의 변환을 위해 현재 비디오 블록을 코딩하는 데 사용되는 적응적 색 변환(ACT) 모드에 대한 허용되는 최대 크기 및/또는 허용되는 최소 크기를 결정하는 단계를 및 상기 결정에 기초하여 변환을 수행하는 단계를 포함한다.
다른 예시적인 양태에서, 비디오 처리 방법이 개시된다. 방법은 비디오의 현재 비디오 블록과 비디오의 비트스트림 사이의 변환을 위해 현재 비디오 블록을 코딩하는 데 사용되는 팔레트 모드에 대한 최대 허용 팔레트 크기 및/또는 최소 허용 예측자 크기를 결정하는 단계; 및 상기 결정에 기초하여 변환을 수행하는 단계를 포함하고, 최대 허용 팔레트 크기 및/또는 최소 허용 예측자 크기는 현재 비디오 블록의 코딩 특성에 기초한다.
또 다른 예시적인 양태에서, 비디오 처리 방법이 개시된다. 방법은 비디오의 현재 비디오 블록과 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 비트스트림은 포맷 규칙을 따르고, 현재 비디오 블록은 팔레트 모드 코딩 툴을 사용하여 코딩되고, 포맷 규칙은 비트스트림의 현재 비디오 블록에 대한 이스케이프 심볼의 이진화와 연관된 파라미터는 현재 비디오 블록의 코딩된 정보에 기초한다는 것을 명시한다.
또 다른 예시적인 양태에서, 비디오 처리 방법이 개시된다. 방법은 블록을 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 위해, 블록의 크기가 적응적 색 변환(ACT) 모드에 대한 최대 허용 크기보다 크다고 결정하는 단계; 및 상기 결정에 기초하여 변환을 수행하는 단계를 포함하고, 블록의 크기가 ACT 모드에 대한 최대 허용 크기보다 큰 것에 응답하여, 블록은 다중 서브블록으로 분할되고, 다중 서브블록의 각각은 동일한 예측 모드를 공유하고 ACT 모드는 서브블록 레벨에서 인에이블된다.
또 다른 예시적인 양태에서, 비디오 처리 방법이 개시된다. 방법은 비디오의 현재 비디오 블록과 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 비트스트림은 현재 비디오 블록에 대하여 적응적 색 변환(ACT) 모드의 사용의 표시가 비트스트림에서 시그널링되는지가 현재 비디오 블록의 치수 또는 ACT 모드에 대한 최대 허용 크기 중의 적어도 하나에 기초하는 것을 명시하는 포맷 규칙을 따른다.
또 다른 예시적인 양태에서, 비디오 처리 방법이 개시된다. 방법은 비디오의 현재 비디오 유닛과 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서 비트스트림은 포맷 규칙을 따르고, 포맷 규칙은 제1 플래그가 비트스트림에 포함되는지 여부를 명시하고, 제1 플래그는 현재 비디오 유닛에 대한 적응적 색 변환(ACT) 모드가 디스에이블되는 것을 시퀀스 파라미터 세트(SPS)의 제2 플래그가 명시하는지를 나타낸다.
또 다른 예시적인 양태에서, 비디오 처리 방법이 개시된다. 방법은 비디오의 현재 비디오 유닛과 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서 비트스트림은 포맷 규칙을 따르고, 포맷 규칙은 제1 플래그가 비트스트림에 포함되는지 여부를 명시하고, 제1 플래그는 현재 비디오 유닛에 대한 블록 기반 델타 펄스 코드 변조(BDPCM) 모드가 디스에이블되는 것을 시퀀스 파라미터 세트(SPS)의 제2 플래그가 명시하는지를 나타낸다.
또 다른 예시적인 양태에서, 비디오 처리 방법이 개시된다. 방법은 비디오의 현재 비디오 유닛과 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 비트스트림은 포맷 규칙을 따르고, 포맷 규칙은 제1 플래그가 비트스트림에 포함되는지 여부를 명시하고, 제1 플래그는 현재 비디오 유닛의 크로마 성분에 대한 블록 기반 델타 펄스 코드 변조(BDPCM) 모드가 디스에이블되는 것을 시퀀스 파라미터 세트(SPS)의 제2 플래그가 명시하는지를 나타낸다.
또 다른 예시적인 양태에서, 비디오 처리 방법이 개시된다. 방법은 비디오의 현재 비디오 유닛과 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 비트스트림은 포맷 규칙을 따르고, 포맷 규칙은 제1 플래그가 비트스트림에 포함되는지 여부를 명시하고, 제1 플래그는 현재 비디오 유닛에 대한 팔레트 모드가 디스에이블되는 것을 시퀀스 파라미터 세트(SPS)의 제2 플래그가 명시하는지를 나타낸다.
또 다른 예시적인 양태에서, 비디오 처리 방법이 개시된다. 방법은 비디오의 현재 비디오 유닛과 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 비트스트림은 포맷 규칙을 따르고, 포맷 규칙은 제1 플래그가 비트스트림에 포함되는지 여부를 명시하고, 제1 플래그는 현재 비디오 유닛에 대한 참조 픽처 리샘플링(RPR) 모드가 디스에이블되는 것을 시퀀스 파라미터 세트(SPS)의 제2 플래그가 명시하는지를 나타낸다.
또 다른 예시적인 양태에서, 비디오 처리 방법이 개시된다. 방법은 적응적 색 변환(ACT) 모드가 현재 비디오 블록에 대해 인에이블될 때 추가의 양자화 파라미터 오프셋이 적용되는 것을 명시하는 규칙에 따라 비디오의 현재 비디오 블록과 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함한다.
또 다른 예시적인 양태에서, 비디오 처리 방법이 개시된다. 방법은 규칙에 따라 비디오의 현재 비디오 블록과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하며, 현재 비디오 블록은 YCgCo 색상 변환 또는 YCgCo 역 색상 변환이 현재 비디오 블록에 적용되는 조인트 CbCr 코딩 모드를 이용하여 코딩되고, 규칙은, YCgCo 색상 변환이 사용되는 조인트 CbCr 코딩 모드를 이용하여 코딩되는 현재 비디오 블록 때문에, -5와 다른 양자화 파라미터 오프셋 값이 현재 비디오 블록과 연관된 픽처 헤더(PH) 또는 픽처 파라미터 세트(PPS)에서 사용되는 것을 명시한다.
또 다른 예시적인 양태에서, 비디오 처리 방법이 개시된다. 방법은 규칙에 따라 비디오의 현재 비디오 블록과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하고, 현재 비디오 블록은 YCgCo-R 색상 변환 또는 YCgCo-R 역 색상 변환이 현재 비디오 블록에 적용되는 조인트 CbCr 코딩 모드를 이용하여 코딩되고, 규칙은, YCgCo-R 색상 변환이 사용되는 조인트 CbCr 코딩 모드를 이용하여 코딩되는 현재 비디오 블록 때문에, 소정의 오프셋과 다른 양자화 파라미터 오프셋 값이 현재 비디오 블록과 연관된 픽처 헤더(PH) 또는 픽처 파라미터 세트(PPS)에서 사용되는 것을 명시한다.
또 다른 예시적인 양태에서, 비디오 인코더 장치가 개시된다. 비디오 인코더는 전술한 방법을 구현하도록 구성된 프로세서를 포함한다.
또 다른 예시적인 양태에서, 비디오 디코더 장치가 개시된다. 비디오 디코더는 전술한 방법을 구현하도록 구성된 프로세서를 포함한다.
또 다른 예시적인 양태에서, 코드가 저장된 비일시적 컴퓨터 판독가능 매체가 개시된다. 코드는 프로세서 실행 가능 코드의 형태로 여기에 설명된 방법 중 하나를 구현한다.
이들 및 기타 특징은 본 문서 전체에 걸쳐 설명되어 있다.
도 1은 인루프 적응적 색 변환(in-loop adaptive color transform (ACT)의 스크린 컨텐트 코딩(SCC) 디코더를 나타내는 도면.
도 2는 ACT를 이용한 디코딩 프로세스를 나타내는 도면.
도 3은 팔레트 모드로 코딩된 블록의 예를 나타내는 도면.
도 4는 팔레트 예측자를 이용하여 팔레트 엔트리를 시그널링하는 예를 나타내는 도면.
도 5는 수평 및 수직 횡단 스캔의 예를 나타내는 도면.
도 6은 팔레트 인덱스의 코딩의 예를 나타내는 도면.
도 7은 여기에 개시된 다양한 기술이 구현될 수 있는 예시적인 비디오 프로세싱 시스템을 나타내는 블록도.
도 8은 비디오 프로세싱에 사용되는 예시적인 하드웨어 플랫폼의 블록도.
도 9는 본 개시의 일부 실시예에 따른 비디오 코딩 시스템을 나타내는 블록도.
도 10은 본 개시의 일부 실시예에 따른 인코더를 나타내는 블록도.
도 11은 본 개시의 일부 실시예에 따른 디코더를 나타내는 블록도.
도 12 내지 24는 비디오 프로세싱의 예시적인 방법의 플로우챠트를 나타내는 도면
도 2는 ACT를 이용한 디코딩 프로세스를 나타내는 도면.
도 3은 팔레트 모드로 코딩된 블록의 예를 나타내는 도면.
도 4는 팔레트 예측자를 이용하여 팔레트 엔트리를 시그널링하는 예를 나타내는 도면.
도 5는 수평 및 수직 횡단 스캔의 예를 나타내는 도면.
도 6은 팔레트 인덱스의 코딩의 예를 나타내는 도면.
도 7은 여기에 개시된 다양한 기술이 구현될 수 있는 예시적인 비디오 프로세싱 시스템을 나타내는 블록도.
도 8은 비디오 프로세싱에 사용되는 예시적인 하드웨어 플랫폼의 블록도.
도 9는 본 개시의 일부 실시예에 따른 비디오 코딩 시스템을 나타내는 블록도.
도 10은 본 개시의 일부 실시예에 따른 인코더를 나타내는 블록도.
도 11은 본 개시의 일부 실시예에 따른 디코더를 나타내는 블록도.
도 12 내지 24는 비디오 프로세싱의 예시적인 방법의 플로우챠트를 나타내는 도면
섹션 표제는 이해의 편의를 위해 본 문서에서 사용되며, 각 섹션에 개시된 기술 및 실시예의 적용가능성은 그 섹션에만 제한되지 않는다. 또한, H.266 용어는 단지 이해의 편의를 위해 일부 설명에서 사용되며 개시된 기술의 범위를 제한하기 위한 것이 아니다. 이와 같이, 여기에 기재된 기술은 다른 비디오 코덱 프로토콜 및 설계에 적용가능하다.
1. 요약
본 특허 문서는 이미지/비디오 코딩 기술에 관한 것이다. 구체적으로, 이미지/비디오 코딩에서의 적응적 색 변환에 관한 것이다. 이것은 개발 중인 표준, 예를 들어, 다목적 비디오 코딩(Versatile Video coding)에 적용될 수 있다. 이는 또한 미래의 비디오 코딩 표준 또는 비디오 코덱에도 적용될 수 있다.
2. 간략한 설명
비디오 코딩 표준은 주로 잘 알려진 ITU-T 및 ISO/IEC 표준의 개발을 통해 발전해왔다. ITU-T는 H.261 및 H.263을 제작하였고, ISO/IEC는 MPEG-1 및 MPEG-4 Visual을 제작하였고, 이들 두 조직은 공동으로 H.262/MPEG-2 Video 및 H.264/MPEG-4 Advanced Video Coding (AVC) 및 H.265/HEVC 표준을 제작하였다. H.262 이후, 비디오 코딩 표준은 시간 예측 및 변환 코딩이 이용되는 하이브리드 비디오 코딩 구조에 기초한다. HEVC 이후의 미래의 비디오 코딩 기술을 탐구하기 위하여, 2015년에 VCEG 및 MPEG가 공동으로 JVET(Joint Video Exploration Team)를 설립하였다. 그 후, 많은 새로운 방법이 JVET에 의해 채택되어 왔고, JEM(Joint Exploration Model)이라는 참조 소프트웨어에 적용되었다. 2018년 4월, VCEG (Q6/16) 및 ISO/IEC JTC1 SC29/WG11 (MPEG) 간의 JVET(Joint Video Expert Team)가 HEVC에 비해 50% 비트레이트 감소를 목표로 하는 VVC 표준에 작업하도록 조직되었다.
VVC 초안의 최신 버전, 즉, 다목적 비디오 코딩(초안 7)은 http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/16_Geneva/wg11/JVET-P2001-v14.zip 에서 찾을 수 있다.
VTM으로 명명된 VVC의 최신 참조 소프트웨어는 https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-7.0에서 찾을 수 있다
2.1 HEVC-SCC에서의 적응적 색 변환(ACT)
ACT(Adaptive Color Transform)는 제18차 JCT-VC 회의(2014년 6월 30일부터 7월 9일까지 일본 삿포로)에서 HEVC SCC(Screen Content Coding) 테스트 모델 2에 채택되었다. ACT는 YCoCg 및 YCoCg-R 색 공간을 기반으로 하는 색 변환 행렬을 사용하여 예측 잔차 도메인에서 인루프 색 공간 변환을 수행한다. ACT는 cu_residual_act_flag 플래그를 사용하여 CU 레벨에서 적응적으로 켜거나 끈다. ACT는 HEVC에서 이미 지원되는 또 다른 컴포넌트 간 상관해제(de-correlation) 방법인 교차 컴포넌트 예측(CCP)과 결합될 수 있다. 둘 다 인에이블되면 도 1에 도시된 바와 같이 디코더에서 CCP 후에 ACT가 수행된다.
2.1.1 ACT에서의 색 공간 변환
ACT에서의 색 공간 변환은 YCoCg-R 변환에 기초한다. 손실 코딩 및 무손실 코딩(cu_transquant_bypass_flag = 0 또는 1) 모두 동일한 역변환을 사용하지만 손실 코딩의 경우 Co 및 Cg 컴포넌트에 추가 1비트 왼쪽 시프트가 적용된다. 특히 다음의 색 공간 변환이 손실 및 무손실 코딩을 위한 순방향 및 역방향 변환에 사용된다.
손실 코딩에 대한 순방향 변환(non-normative):
무손실 코딩에 대한 순방향 변환(non-normative):
역방향 변환 (normative)
순방향 변환은 정규화되지 않으며, 그 기준(norm)은 Y 및 Cg에 대해 대략 와 동일하고 Co에 대해 와 동일하다. 순방향 변환의 비정규화 특성을 보상하기 위해 (-5, -3, -5)의 델타 QP가 (Y, Co, Cg)에 각각 적용된다. 즉, CU에 대한 주어진 "정상" QP에 대해, ACT가 켜져 있으면, 양자화 파라미터는 (Y, Co, Cg)에 대해 각각 (QP - 5, QP - 3, QP -5)와 동일하게 설정된다. 조정된 양자화 파라미터는 CU에서 잔차의 양자화 및 역 양자화에만 영향을 준다. 디블로킹의 경우 "정상" QP 값이 계속 사용된다. 음수가 되지 않도록 0으로의 클리핑이 조정된 QP 값에 적용된다. 무손실 코딩(cu_transquant_bypass_flag=1)에서는 양자화가 수행되지 않으므로, 이 QP 조정은 손실 코딩에만 적용될 수 있다. SCM 4에서는 추가 QP 오프셋 값의 PPS/슬라이스 레벨 시그널링이 도입된다. 이러한 QP 오프셋 값은 적응적 색 변환이 적용될 때 CU에 대해 (-5, -3, -5) 대신 사용될 수 있다.
색 성분의 입력 비트 심도가 다른 경우, ACT 동안 샘플 비트 심도를 최대 비트 심도로 정렬하기 위해 적절한 왼쪽 시프트가 적용되고, ACT 이후 원래 샘플 비트 심도를 복원하기 위해 적절한 오른쪽 시프트가 적용된다.
2.2. VVC에서의 ACT
도 2는 ACT가 적용된 VVC의 디코딩 흐름도를 예시한다. 도 2에 도시된 바와 같이, 색 공간 변환은 잔차 도메인에서 수행된다. 특히, 하나의 추가 디코딩 모듈, 즉 역 ACT가 역변환 후에 도입되어 YCgCo 도메인의 잔차를 다시 원래 도메인으로 변환한다.
VVC에서, 최대 변환 크기가 하나의 CU(Coding Unit)의 너비 또는 높이보다 작지 않는 한, 하나의 CU 리프(leaf) 노드도 변환 처리의 단위로 사용된다. 따라서 제안된 구현예에서, ACT 플래그는 하나의 CU가 해당 잔차를 코딩하기 위한 색 공간을 선택하도록 시그널링된다. 또한, HEVC ACT 설계에 따라, 인터 및 IBC CU에 대해, ACT는 CU에 적어도 하나의 0이 아닌 계수가 있는 경우에만 인에이블된다. 인트라 CU에 대해, ACT는 크로마 성분이 루마 성분의 동일한 인트라 예측 모드, 즉 DM 모드를 선택할 때만 인에이블된다.
색 공간 변환에 사용되는 코어 변환은 HEVC에 사용되는 것과 동일하게 유지된다. 또한 HEVC의 ACT 설계와 동일하게, 색 변환 전후에 잔차 신호의 동적 범위 변화를 보상하기 위해 (-5, -5, -3)의 QP 조정이 변환 잔차에 적용된다.
한편, 순방향 및 역 색 변환은 3가지 컴포넌트 모두의 잔차에 접근할 필요가 있다. 이에 따라, 제안된 구현예에서, ACT는 세 컴포넌트의 모든 잔차를 사용할 수 없는 다음 두 시나리오에서 디스에이블된다.
1.
별도의 트리 분할(separate-tree partition): 별도의 트리(separate-tree)가 적용되는 경우 하나의 CTU 내의 루마 및 크로마 샘플이 서로 다른 구조에 의해 분할된다. 결과적으로 루마 트리의 CU는 루마 성분만을 포함하고, 크로마 트리의 CU는 두 개의 크로마 성분만을 포함한다.
2.
인트라 하위 분할(sub-partition) 예측(ISP): ISP 하위 분할은 루마에만 적용되는 반면 크로마 신호는 분할(splitting) 없이 코딩된다. 현재 ISP 디자인에서, 마지막 ISP 하위 분할을 제외하고 다른 하위 분할은 루마 성분만을 포함한다.
VVC 초안에서 코딩 유닛의 텍스트는 다음과 같다.
1과 동일한 cu_act_enabled_flag는 현재 코딩 유닛의 잔차가 YCgCo 색 공간에서 코딩됨을 나타낸다. 0과 동일한 cu_act_enabled_flag는 현재 코딩 유닛의 잔차가 원래 색상 공간에서 코딩됨을 나타낸다. cu_act_enabled_flag가 없으면 0으로 추론된다.
2.3. VVC에서의 변환 스킵 모드
HEVC에서와 같이, 블록의 잔차는 블록에 대한 변환 프로세스를 완전히 스킵하는 변환 스킵 모드로 코딩될 수 있다. 또한 변환 스킵 블록의 경우, SPS에서 시그널링된 최소 허용 양자화 파라미터(QP)가 사용되며, 이는 VTM7.0에서 6*(internalBitDepth - inputBitDepth) + 4와 동일하게 설정된다.
2.4. 블록 기반 델타 펄스 코드 변조(BDPCM)
JVET-M0413에서는, 스크린 콘텐츠를 효율적으로 코딩하기 위해 블록 기반 델타 펄스 코드 변조(Delta Pulse Code Modulation, BDPCM)가 제안되어 VVC에 채택된다.
BDPCM에서 사용되는 예측 방향은 수직 및 수평 예측 모드일 수 있다. 인트라 예측은 인트라 예측과 유사한 예측 방향(수평 또는 수직 예측)으로 샘플 복사하여 전체 블록에 대해 수행된다. 잔차는 양자화되고, 양자화된 잔차와 그 예측자(수평 또는 수직) 양자화된 값 사이의 델타가 코딩된다. 이것은 다음과 같이 설명할 수 있다. 크기 M(행) Х N(열)의 블록에 대해, 를 상부 또는 왼쪽 블록 경계 샘플로부터의 필터링되지 않은 샘플을 사용하여 수평으로(예측된 블록을 가로질러 왼쪽 이웃 픽셀 값을 라인 단위로 복사) 또는 수직으로(예측된 블록의 각 라인에 상단 이웃 라인 복사) 인트라 예측을 수행한 후의 예측 잔차라 하자. 를 잔차 의 양자화된 버전을 나타내는 것으로 하자. 여기서 잔차는 원래 블록과 예측된 블록 간의 차이이다. 그런 다음 블록 DPCM이 양자화된 잔차 샘플에 적용되어 요소 를 갖는 수정된 M Х N 어레이( )가 생성된다. 수직 BDPCM이 시그널링될 때:
수평 예측의 경우, 유사한 규칙이 적용되고 잔여의 양자화된 샘플은 다음과 같이 획득된다
수직 예측의 경우
수평 예측의 경우
이 방식의 주요 이점은, 계수가 파싱될 때 간단히 예측자를 추가하는 계수 파싱 동안 즉석에서 역 BDPCM이 수행될 수 있거나 파싱 후에 수행될 수 있다는 것이다.
VTM7.0에서, BDPCM은 또한 크로마 블록에 적용될 수 있고 크로마 BDPCM은 루마 BDPCM 모드와 별개의 플래그 및 BDPCM 방향을 갖는다.
2.5. 변환 계수를 위한 스케일링 프로세스
JVET-P2001-vE에서 변환 계수에 대한 스케일링 프로세스와 관련된 텍스트는 다음과 같다.
이 프로세스에 대한 입력은 다음과 같다.
- 현재 픽처의 상단 좌측 루마 샘플에 상대적인 현재 루마 변환 블록의 상단 좌측 샘플을 나타내는 루마 위치(xTbY, yTbY),
- 변환 블록 너비를 나타내는 변수(nTbW),
- 변환 블록 높이를 나타내는 변수(nTbH),
- 코딩 유닛의 예측 모드를 나타내는 변수(predMode),
- 현재 블록의 색 컴포넌트를 나타내는 변수(cIdx).
이 프로세스의 출력은 요소 d[ x ][ y ]를 갖는 스케일링된 변환 계수의 (nTbW)x(nTbH) 어레이(d)이다.
양자화 파라미터(qP)는 다음과 같이 유도된다:
cIdx가 0이면, 다음이 적용된다:
그렇지 않고, TuCResMode[ xTbY ][ yTbY ]가 2이면, 다음이 적용된다:
그렇지 않고, cIdx이 1이면, 다음이 적용된다:
그렇지 않고, cIdx이 2이면, 다음이 적용된다:
양자화 파라미터(qP)가 수정되고 변수(rectNonTsFlag 및 bdShift)가 다음과 같이 유도된다:
transform_skip_flag[ xTbY ][ yTbY ][ cIdx ]가 0이면, 다음이 적용된다:
-
그렇지 않으면 (transform_skip_flag[ xTbY ][ yTbY ][ cIdx ]이 1이면), 다음이 적용된다:
변수(bdOffset) 다음과 같이 유도된다:
리스트(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는 0이다.
- pic_scaling_list_present_flag는 0 이다.
- transform_skip_flag[ xTbY ][ yTbY ][ cIdx ]는 1이다.
- scaling_matrix_for_lfnst_disabled_flag는 1이고 lfnst_idx[ xTbY ][ yTbY ]는 0이 아니다.
- 그렇지 않으면, 다음이 적용된다:
- 변수(id)는 표 36에 명시된 바와 같이 predMode, cIdx, nTbW, 및 nTbH를 기반으로 유도되고, 변수(log2MatrixSize)는 다음과 같이 유도된다:
- 스케일링 인자(m[ x ][ y ])는 다음과 같이 유도된다:
- Id가 13보다 크고 x 및 y이 둘다 0이면, m[ 0 ][ 0 ]은 다음과 같이 추가로 수정된다:
주(NOTE) - 양자화 행렬 요소(m[ x ][ y ])는 다음 조건 중 하나가 참일 때 0이 될 수 있다.
- x는 32보다 크다.
- y는 32보다 크다.
- 디코딩된 tu는 디폴트 변환 모드에 의해 코딩되지 않고(즉, 변환 타입이 0과 같지 않음) x가 16보다 크다.
- 디코딩된 tu는 디폴트 변환 모드에 의해 코딩되지 않고(즉, 변환 타입이 0과 같지 않음) y가 16보다 크다.
- 스케일링 인자(ls[ x ][ y ])가 다음과 같이 유도된다:
-pic_dep_quant_enabled_flag이 1이고 transform_skip_flag[ xTbY ][ yTbY ][ cIdx ]이 0이면, 다음이 적용된다:
- 그렇지 않고 (pic_dep_quant_enabled_flag이 0 이거나 transform_skip_flag[ xTbY ][ yTbY ][ cIdx ]이 1이면), 다음이 적용된다:
- BdpcmFlag[ xTbY ][ yYbY ][ cIdx ]이 1이면, dz[ x ][ y ]이 다음과 같이 수정된다:
- BdpcmDir[ xTbY ][ yYbY ][ cIdx ]이 0이고 x가 0보다 크면, 다음이 적용된다:
- 그렇지 않으면, BdpcmDir[ xTbY ][ yTbY ][ cIdx ]이 1이고 y가 0보다 크면, 다음이 적용된다:
값(dnc[ x ][ y ])은 다음과 같이 유도된다:
스케일링된 변환 계수(d[ x ][ y ])는 다음과 같이 유도된다:
표 6 -predMode, cIdx, nTbW, 및 nTbH 에 따른 스케일링 매트릭스 식별자 변수(id)의 사양
2.6. 팔레트 모드
2.6.1. 팔레트 모드의 개념
팔레트 모드의 기본 개념은 CU의 픽셀이 작은 세트의 대표 색상 값으로 표현된다는 것이다. 이 세트를 팔레트라고 합니다. 그리고 (양자화된) 컴포넌트 값이 뒤따르는 이스케이프(escape) 심볼을 시그널링하여 팔레트 외부에 있는 샘플을 나타내는 것도 가능하다. 이러한 종류의 픽셀을 이스케이프 픽셀이라고 한다. 팔레트 모드는 도 3에 도시되어 있다. 도 3에 도시된 바와 같이, 3개의 색 성분(루마 및 2개의 크로마 성분)을 갖는 각 픽셀에 대해, 팔레트에 대한 인덱스가 발견되고, 블록은 팔레트에서 발견된 값을 기반으로 복원될 수 있다.
2.6.2. 팔레트 엔트리의 코딩
팔레트 엔트리의 코딩을 위해, 팔레트 예측자가 유지된다. 팔레트의 최대 크기와 팔레트 예측자는 SPS에서 시그널링된다. HEVC-SCC에서, PPS에 palette_predictor_initializer_present_flag가 도입된다. 이 플래그가 1일 때, 팔레트 예측자를 초기화하기 위한 엔트리는 비트스트림에서 시그널링된다. 팔레트 예측자는 각 CTU 행, 각 슬라이스 및 각 타일의 시작 부분에서 초기화된다. palette_predictor_initializer_present_flag의 값에 따라, 팔레트 예측자는 0으로 재설정되거나 PPS에서 시그널링된 팔레트 예측자 이니셜라이저 엔트리를 사용하여 초기화된다. HEVC-SCC에서, 크기 0의 팔레트 예측자 이니셜라이즈가 인에이블되어 PPS 레벨에서 팔레트 예측자 초기화의 명시적인 디스에이블링을 허용하였다.
팔레트 예측자의 각 엔트리에 대해, 그것이 현재 팔레트의 일부인지 여부를 나타내기 위해 재사용 플래그가 시그널링된다. 이것은 도 4에 도시되어 있다. 재사용 플래그는 0의 런-렝스(run-length) 코딩을 사용하여 전송된다. 그 후, 새로운 팔레트 엔트리의 수는 차수 0의 지수 골롬(EG) 코드, 즉 EG-0을 사용하여 시그널링된다. 지막으로, 새 팔레트 엔트리에 대한 컴포넌트 값이 표시된다.
2.6.3. 팔레트 인덱스의 코딩
팔레트 인덱스는 도 5에 도시된 바와 같이 수평 및 수직 횡단 스캔을 사용하여 코딩된다. 스캔 순서는 palette_transpose_flag를 사용하여 비트스트림에서 명시적으로 시그널링된다. 나머지 하위 섹션에서는, 스캔이 수평이라고 가정한다.
팔레트 인덱스는 2개의 팔레트 샘플 모드인 'COPY_LEFT' 및 'COPY_ABOVE'를 사용하여 코딩된다. 'COPY_LEFT' 모드에서, 팔레트 인덱스는 디코딩된 인덱스에 할당된다. 'COPY_ABOVE' 모드에서는, 위 행에 있는 샘플의 팔레트 인덱스가 복사된다. 'COPY_LEFT' 및 'COPY_ABOVE' 모드 모두에 대해, 동일한 모드를 사용하여 코딩되는 후속 샘플의 수를 나타내는 런(run) 값이 시그널링된다.
팔레트 모드에서, 이스케이프 심볼에 대한 인덱스 값은 팔레트 엔트리의 수이다. 그리고, 이스케이프 심볼이 'COPY_LEFT' 또는 'COPY_ABOVE' 모드에서 런의 일부인 경우, 각 이스케이프 심볼에 대해 이스케이프 컴포넌트 값이 시그널링된다. 팔레트 인덱스의 코딩은 도 6에 도시되어 있다.
이 신택스 순서는 다음과 같이 이루어진다. 먼저, CU에 대한 인덱스 값의 수가 시그널링된다. 그 다음에는 잘린(truncated) 이진 코딩을 사용하여 전체 CU에 대한 실제 인덱스 값을 시그널링한다. 인덱스의 수 뿐만 아니라 인덱스 값이 바이패스 모드에서 코딩된다. 이는 인덱스 관련 바이패스 빈을 함께 그룹화한다. 그런 다음, 팔레트 샘플 모드(필요한 경우)와 런이 인터리브 방식으로 시그널링된다. 마지막으로, 전체 CU에 대한 이스케이프 심볼에 해당하는 컴포넌트 이스케이프 값은 함께 그룹화되고 바이패스 모드에서 코딩된다. 이스케이프 심볼의 이진화는 3차 EG 코딩, 즉 EG-3이다.
추가 신택스 요소인 last_run_type_flag는 인덱스 값을 시그널링한 후에 시그널링된다. 인덱스의 수와 함께 이 신택스 요소는 블록의 마지막 런에 해당하는 런 값을 시그널링할 필요성을 제거한다.
HEVC-SCC에서, 팔레트 모드는 또한 4:2:2, 4:2:0 및 모노크롬 크로마 포맷에 대해 인에이블된다. 팔레트 엔트리 및 팔레트 인덱스의 시그널링은 모든 크로마 포맷에 대해 거의 동일하다. 모노크롬 포맷이 아닌 경우, 각 팔레트 엔트리는 3개의 컴포넌트로 구성된다. 모노크롬 포맷의 경우, 각 팔레트 엔트리는 단일 컴포넌트로 구성된다. 서브샘플링된 크로마 방향의 경우, 크로마 샘플은 2로 나눌 수 있는 루마 샘플 인덱스와 연관된다. CU에 대한 팔레트 인덱스를 복원한 후, 샘플이 그와 연관된 단일 컴포넌트만을 갖는 경우, 팔레트 엔트리의 제1 컴포넌트만이 사용된다. 시그널링의의 유일한 차이점은 이스케이프 컴포넌트 값에 대한 것이다. 각 이스케이프 심볼에 대해, 시그널링되는 이스케이프 컴포넌트 값의 수는 그 심볼과 연관된 컴포넌트의 수에 따라 다를 수 있다.
2.6.4.
듀얼 트리 (Dual tree) 에서의 팔레트
VVC에서, 듀얼 트리 코딩 구조는 인트라 슬라이스를 코딩하는데 사용되므로, 루마 성분 및 2개의 크로마 성분은 상이한 팔레트 및 팔레트 인덱스를 가질 수 있다. 또한 두 개의 크로마 성분은 동일한 팔레트 및 팔레트 인덱스를 공유한다.
2.6.5.
라인 기반 CG 팔레트 모드
라인 기반 CG 팔레트 모드가 VVC에 채택되었다. 이 방법에서, 팔레트 모드의 각 CU는 횡단 스캔 모드를 기반으로 m 샘플(이 테스트에서는 m=16)의 다수의 세그먼트로 나뉜다. 각 세그먼트에서 팔레트 런 코딩을 위한 인코딩 순서는 다음과 같다. 각 픽셀에 대해, 픽셀이 이전 픽셀과 동일한 모드인지, 즉 이전 스캔 픽셀과 현재 픽셀이 모두 런 타입 COPY_ABOVE이거나 이전 스캔 픽셀과 현재 픽셀이 모두 런 타입 INDEX이고 동일한 인덱스 값인지를 나타내는 1개의 컨텍스트 코딩된 빈(run_copy_flag = 0)이 시그널링된다. 그렇지 않으면, run_copy_flag = 1이 시그널링된다. 픽셀과 이전 픽셀이 다른 모드이면, 픽셀의 런 타입, 즉 INDEX 또는 COPY_ABOVE를 나타내는 하나의 컨텍스트 코딩된 빈 (copy_above_palette_indices_flag)이 시그널링된다. VTM6.0의 팔레트 모드와 동일하게, INDEX 모드가 디폴트로 사용되기 때문에 샘플이 첫 번째 행(수평 횡단 스캔) 또는 첫 번째 열(수직 횡단 스캔)에 있는 경우 디코더는 런 타입을 파싱할 필요가 없다. 또한, 디코더는 이전에 파싱된 런 타입이 COPY_ABOVE인 경우 런 타입을 파싱(parse)할 필요가 없다. 한 세그먼트의 픽셀에 대한 팔레트 런 코딩 후, 인덱스 값(INDEX 모드의 경우) 및 양자화된 이스케이프 색상은 각 라인 CG 내에서 처리량을 개선하기 위해 컨텍스트 코딩된 빈의 인코딩/파싱과 별도로 바이패스 코딩되고 그룹화된다. 인덱스 값은 이제 VTM에서와 같이 팔레트 런 코딩 전에 처리되는 대신 런 코딩 후에 코딩/파싱되므로, 인코더는 인덱스 값 num_palette_indices_minus1의 수와 마지막 런 타입 copy_above_indices_for_final_run_flag을 시그널링할 필요가 없다.
3. 개시된 실시예 및 솔루션에 의해 해결되는 기술적 문제
현재 설계에서, ACT 및 루마 BDPCM 모드는 하나의 블록에 대해 인에이블될 수 있다. 그러나, ACT 모드로 코딩된 블록에서는 크로마 BDPCM 모드가 항상 디스에이블된다. 따라서, 예측 신호는 덜 효율적일 수 있는 동일한 코딩 유닛의 루마 및 크로마 블록에 대해 상이하게 유도될 수 있다.
블록의 양자화 파라미터(QP)는 ACT가 인에이블될 때 음수가 될 수 있다.
ACT의 현재 설계는 무손실 코딩을 지원하지 않는다.
ACT 사용의 시그널링은 블록 크기에 의존하지 않는다.
최대 팔레트 크기 및 최대 예측자 크기는 고정된 숫자이며, 이는 팔레트 모드의 유연성을 제한할 수 있다.
이스케이프 샘플(escape samples)은 이진화 방법으로서 3차 EG(Exponential-Golomb)를 사용하지만, 이스케이프 샘플에 대한 이진화는 양자화 파라미터(QP)에 의존하지 않는다.
4. 기술적 솔루션
이하에서 설명하는 기술적 솔루션은 일반적인 개념을 설명하기 위한 예로서 고려되어야 한다. 이러한 기술적 솔루션을 좁은 의미로 해석해서는 안된다. 또한 이러한 기술적 솔루션은 어떤 방식으로든 결합될 수 있다.
이하의 설명에서, '블록'이라는 용어는 CU(Coding Unit), PU(Prediction Unit), TU(Transform Unit)와 같은 비디오 영역을 나타낼 수 있으며, 이는 3가지 색상 성분의 샘플을 포함할 수 있다. 'BDPCM'이라는 용어는 VVC의 설계에 국한되지 않고 다른 예측 신호 생성 방법을 사용하여 잔차를 코딩하는 기술을 나타낼 수 있다.
ACT와 BDPCM의 상호작용(항목 1-4)
1.
크로마 BDPCM 모드의 인에이블링 여부는 ACT 및/또는 루마 BDPCM 모드의 사용에 의존할 수 있다.
a.
일 예에서, ACT가 블록에 대해 인에이블될 때, 크로마 BDPCM 모드(예를 들어, intra_bdpcm_chroma_flag)의 사용의 표시는 루마 BDPCM 모드(예를 들어, intra_bdpcm_luma_flag)의 사용의 표시인 것으로 추론될 수 있다.
i.
일 예에서, 크로마 BDPCM 모드의 추론된 값은 (ACT 및 루마 BDPCM 모드가 인에이블되는가? 참: 거짓)으로 정의된다.
1.
일 예에서, intra_bdpcm_chroma_flag는 intra_bdpcm_luma_flag가 거짓일 때 거짓과 동일하게 설정될 수 있다.
a.
대안으로, intra_bdpcm_chroma_flag는 intra_bdpcm_luma_flag가 참일 때 참과 동일하게 설정될 수 있다.
ii.
대안으로, 일 예에서, 크로마 BDPCM 모드의 사용 표시는, 블록에 대한 루마 BDPCM 모드 및 ACT의 사용 표시가 참인 경우 참으로 추론될 수 있다.
b.
대안으로, 동일한 BDPCM 예측 방향이 블록의 루마 및 크로마 샘플 모두에 사용되는 것과 같이 블록에 대한 ACT의 사용을 시그널링할지 여부는 조건적으로 체크될 수 있다.
i.
대안으로, 더 나아가, BDPCM 모드를 사용한 후에 ACT의 사용 표시를 시그널링한다.
2.
ACT가 블록에 대해 인에이블되면, 크로마 BDPCM 모드(예: intra_bdpcm_chroma_dir_flag)의 예측 방향 표시는 루마 BDPCM 모드(예: intra_bdpcm_luma_dir_flag) 사용의 예측 방향 표시로 유추될 수 있다.
a.
일 예에서, intra_bdpcm_chroma_dir_flag의 추론된 값은 (ACT가 인에이블되었는가? intra_bdpcm_luma_dir_flag: 0)로 정의된다.
i.
일 예에서, 루마 BDPCM 모드의 예측 방향의 표시가 수평인 경우 크로마 BDPCM 모드의 예측 방향의 표시는 수평으로 추론될 수 있다.
ii.
대안으로, 일 예에서, 루마 BDPCM 모드의 예측 방향의 표시가 수직인 경우 크로마 BDPCM 모드의 예측 방향의 표시는 수직으로 추론될 수 있다.
3.
ACT 및 BDPCM 모드는 배타적으로 적용될 수 있다.
a.
일 예에서, 블록에 대해 ACT 모드가 인에이블되면, BDPCM 모드는 블록에 대해 디스에이블될 수 있다.
i.
대안으로, 더 나아가, BDPCM 모드의 사용 표시는 ACT 모드의 사용 표시의 시그널링 후에 시그널링될 수 있다.
ii.
대안으로, 더 나아가, BDPCM 모드의 사용 표시는 시그널링되지 않고 거짓(0)으로 추론될 수 있다.
b.
일 예에서, BDPCM 모드가 블록에 대해 인에이블되면, ACT 모드는 블록에 대해 디스에이블될 수 있다.
i.
대안으로, 더 나아가, ACT 모드의 사용 표시는 BDPCM 모드 사용 표시의 시그널링 후에 시그널링될 수 있다.
ii.
대안적으로, 더 나아가, ACT 모드의 사용 표시는 시그널링되지 않고 거짓(0)으로 추론될 수 있다.
c.
일 예에서, 위의 예들의 BDPCM 모드는 루마 BDPCM 모드 및/또는 크로마 BDPCM 모드를 나타낼 수 있다.
4.
역 ACT는 디코더에서 역 BDPCM 이전에 적용될 수 있다.
a.
일 예에서, 루마 및 크로마 BDPCM이 다른 예측 모드를 갖는 경우에도 ACT가 적용될 수 있다.
b.
대안으로, 인코더에서, BDPCM 후에 순방향 ACT가 적용될 수 있다.
ACT가 인에이블될 때의 QP 세팅(항목 5)
5.
ACT가 인에이블되면 QP를 클립(clip)하는 것을 제안한다.
a.
일 예에서, 클리핑 함수는 (l, h, x)로 정의될 수 있으며, 여기서 l은 입력(x)의 가능한 가장 낮은 값이고 h는 입력(x)의 가능한 가장 높은 값이다.
i.
일 예에서, l은 0과 동일하게 설정된다.
ii.
일 예에서, h는 63과 동일하게 설정된다.
b.
일 예에서, QP는 섹션 2.5에 주어진 qP일 수 있다.
c.
일 예에서, ACT 모드에 대한 QP 조정 후에 클리핑이 수행될 수 있다.
d.
일 예에서, 변환 스킵이 적용되면, l은 변환 스킵 모드에 대한 최소 허용 QP와 동일하게 설정될 수 있다.
관련된 팔레트 모드(항목 6-7)
6.
최대 허용 팔레트 크기 및/또는 최대 허용 예측자 크기의 값은 코딩 특성에 의존할 수 있다. S1이 제1 코딩 특성과 연관된 최대 팔레트 크기(또는 팔레트 예측자 크기)이고; S2가 제2 코딩 특성과 연관된 최대 팔레트 크기(또는 팔레트 예측자 크기)인 것으로 가정한다.
a.
일 예에서, 코딩 특성은 색 성분일 수 있다.
i.
일 예에서, 다른 색상 성분에 대한 최대 허용 팔레트 크기 및/또는 최대 허용 예측자 크기는 다른 값을 가질 수 있다.
ii.
일 예에서, 제1 색 성분(예를 들어, YCbCr에서 Y, RGB에서 G)에 대한 최대 허용 팔레트 크기 및/또는 최대 허용 예측자 크기의 값은 제1 색 성분을 제외한 다른 2색 성분(YCbCr의 Cb 및 Cr, RGB의 B 및 R)에 대한 최대 허용 팔레트 크기 및/또는 최대 허용 예측자 크기의 값과 다를 수 있다.
b.
일 예에서, 코딩 특성은 양자화 파라미터(QP)일 수 있다.
i.
일 예에서, QP1이 QP2보다 크면, QP1에 대한 S1 및/또는 S2는 QP2에 대한 S1 및/또는 S2보다 작아야 한다.
ii.
일 예에서, QP는 슬라이스 레벨 QP 또는 블록 레벨 QP이다.
c.
일 예에서, S2는 S1보다 크거나 같을 수 있다.
d.
제1 코딩 특성 및 제2 코딩 특성에 대해, 최대 팔레트 크기/팔레트 예측자 크기의 표시는 개별적으로 시그널링되거나 서로 추론될 수 있다.
i.
일 예에서, S1은 시그널링될 수 있고 S2는 S1에 기초하여 도출될 수 있다.
1.
일 예에서, S2는 S1-n으로 추론될 수 있다.
2.
일 예에서, S2는 S1>>n으로 추론될 수 있다.
3.
일 예에서, S2는 floor(S1 / n)으로 추론될 수 있고, 여기서, floor(x)는 x보다 크지 않은 최대 정수를 나타낸다.
e.
일 예에서, S1 및/또는 S2는 높은 레벨(예: SPS/PPS/PH/슬라이스 헤더)에서 시그널링되고 더 낮은 레벨(예: CU/블록)에서 조정될 수 있다.
i.
S1 및/또는 S2를 조정하는 방법은 코딩된 정보에 의존한다.
1.
S1 및/또는 S2를 조정하는 방법은 현재 QP에 의존할 수 있다.
a.
일 예에서, S1 및/또는 S2은 현재 QP 가 증가되면 감소되어야 한다.
2.
S1 및/또는 S2를 조정하는 방법은 블록 치수에 의존할 수 있다.
a.
일 예에서, S1 및/또는 S2은 현재 블록 크기가 증가되면 증가되어야 한다.
f.
S1 및/또는 S2은 LMCS가 이용되는지에 의존할 수 있다.
7.
이스케이프 샘플/픽셀에 대한 이진화 방법과 연관된 파라미터는 코딩된 정보, 예를 들어 양자화 파라미터(QP)에 의존할 수 있다.
a.
일 예에서, EG 이진화 방법이 이용될 수 있고, k로 표시되는 EG 이진화의 순서는 코딩된 정보에 의존할 수 있다.
i.
일 예에서, 현재 QP 가 증가하면, k는 감소할 수 있다.
ACT 모드의 시그널링(항목 8-10)
8.
허용되는 최대 및/또는 최소 ACT 크기의 표시는 시퀀스/비디오/슬라이스/타일/서브픽쳐/브릭/기타 비디오 처리 유닛 레벨로 시그널링되거나 코딩된 정보에 기초하여 유도될 수 있다.
a.
일 예에서, 이들은 SPS/PPS/픽처 헤더/슬라이스 헤더에서 시그널링될 수 있다.
b.
일 예에서, 이들은 ACT가 인에이블되는 것에 따르는 것처럼 조건적으로 시그널링될 수 있다.
c.
일 예에서, 허용된 최대 및/또는 최소 ACT 크기의 N-레벨이 시그널링/정의될 수 있다. 예를 들어 N = 2이다.
i.
일 예에서, 허용되는 최대 및/또는 최소 ACT 크기는 K0 또는 K1(예를 들어, K0=64, K1=32)으로 설정될 수 있다.
ii.
대안으로, 더 나아가, 레벨의 표시가 시그널링될 수 있고, 예를 들어 N = 2일 때, 플래그가 시그널링될 수 있다.
d.
일 예에서, (예를 들어, 루마 성분에 대한) 허용된 최대 및/또는 최소 ACT 크기와 허용된 최대 및/또는 최소 변환(또는 변환 스킵) 크기 사이의 차이의 표시가 시그널링될 수 있다.
e.
일 예에서, 허용된 최대 및/또는 최소 ACT 크기는 예를 들어, (루마 성분에 대한) 허용된 최대 및/또는 최소(또는 변환 스킵) 크기로부터 유도될 수 있다.
f.
대안적으로, 더 나아가, ACT 사용의 표시 및 ACT와 관련된 기타 사이드 정보를 시그널링할지 여부 및/또는 시그널링하는 방법은 허용된 최대값 및/또는 최소값에 의존할 수 있다.
9.
블록이 허용된 최대 ACT 크기(또는 허용된 최대 변환 크기)보다 클 때, 블록은 모든 서브블록이 동일한 예측 모드를 공유하는 여러 서브블록으로 자동 분할될 수 있고(예를 들어, 그들 모두는 인트라 코딩된다), ACT는 블록 레벨 대신 서브블록 레벨에서 인에이블링될 수 있다.
10.
ACT 모드의 사용 표시는 블록 치수(예를 들어, 블록 너비 및/또는 높이, 블록 너비 곱하기 높이, 블록 너비와 높이 사이의 비율, 블록 너비 및 높이의 최대/최소값) 및/또는 최대 허용 ACT 크기에 기초하여 조건적으로 시그널링될 수 있다.
a.
일 예에서, ACT 모드의 사용 표시는 예를 들어 블록 치수에 따른 특정 조건이 충족될 때 시그널링될 수 있다.
i.
일 예에서, 조건은 현재 블록 너비가 m보다 작거나 같거나 및/또는 현재 블록 높이가 n보다 작거나 같은 경우이다.
ii.
일 예에서, 조건은 현재 블록 너비 곱하기 높이가 m보다 작거나 크지 않은 경우이다.
iii.
일 예에서, 조건은 현재 블록 너비 곱하기 높이가 m보다 크거나 작지 않은 경우이다.
b.
대안적으로, 일 예에서, ACT 모드의 사용의 표시는 예를 들어 블록 치수에 따른 특정 조건이 충족되지 않을 때 시그널링되지 않을 수 있다.
i.
일 예에서, 조건은 현재 블록 너비가 m보다 크거나 및/또는 현재 블록 높이가 n보다 큰 경우이다.
ii.
일 예에서, 조건은 현재 블록 너비 곱하기 높이가 m보다 작거나 크지 않은 경우이다.
iii.
일 예에서, 조건은 현재 블록 너비 곱하기 높이가 m보다 크거나 작지 않은 경우이다.
iv.
대안으로, ACT 모드의 사용 표시는 0으로 추론될 수 있다.
c.
상기 예에서, 변수(m, n)은 미리 정의되거나(예: 4, 64, 128) 시그널링되거나 즉석에서 유도될 수 다.
i.
일 예에서, m 및/또는 n은 CTU/CU/블록의 SPS/PPS/APS/CTU 행/그룹 내의 디코딩된 메시지에 기초하여 유도될 수 있다.
1.
일 예에서, m 및/또는 n은 최대 허용 변환 크기(예: MaxTbSizeY)와 동일하게 설정될 수 있다.
일반 제약 정보 신택스에서의 제약 플래그 시그널링(항목 11-16)
아래의 제약 플래그는 SPS 이외의 비디오 유닛에서 시그널링될 수 있다. 예를 들어, JVET-P2001-vE에 지정된 일반 제약 정보 신택스에서 시그널링될 수 있다.
11.
SPS ACT 인에이블링 플래그(예: sps_act_enabled_flag)가 0과 같아야 하는지 여부를 나타내기 위해 제약 플래그를 갖는 것이 제안된다.
a.
일 예에서, 플래그는 no_act_constraint_flag로 표시될 수 있다.
i.
이 플래그가 1과 같을 때 SPS ACT 인에이블링 플래그(예: sps_act_enabled_flag)는 0과 같아야 한다.
ii.
이 플래그가 0이면, 그러한 제약을 부과하지 않는다.
12.
SPS BDPCM 인에이블링 플래그(예: sps_bdpcm_enabled_flag)가 0과 같아야 하는지 여부를 나타내기 위해 제약 플래그를 갖는 것이 제안된다.
a.
일 예에서, 플래그는 no_bdpcm_constraint_flag로서 표시될 수 있다.
i.
이 플래그가 1과 같을 때 SPS BDPCM 인에이블링 플래그(예: sps_bdpcm_enabled_flag)는 0과 같아야 한다.
ii.
이 플래그가 0이면, 그러한 제약을 부과하지 않는다.
13.
SPS 크로마 BDPCM 인에이블링 플래그(예: sps_bdpcm_chroma_enabled_flag)가 0과 같아야 하는지 여부를 나타내기 위해 제약 플래그를 갖는 것이 제안된다.
a.
일 예에서, 플래그는 no_bdpcm_chroma_constraint_flag로 표시될 수 있다.
i.
이 플래그가 1과 같을 때, SPS 크로마 BDPCM 인에이블링 플래그(예: sps_bdpcm_chroma_enabled_flag)는 0과 같아야 한다.
ii.
이 플래그가 0이면, 그러한 제약을 부과하지 않는다.
14.
SPS 팔레트 인에이블링 플래그(예: sps_palette_enabled_flag)가 0과 같아야 하는지 여부를 나타내기 위해 제약 플래그를 갖는 것이 제안된다.
a.
일 예에서, 플래그는 no_palette_constraint_flag로서 표시될 수 있다.
i.
이 플래그가 1과 같을 때, SPS 팔레트 인에이블링 플래그(예: sps_palette_enabled_flag)는 0과 같아야 한다.
ii.
이 플래그가 0이면, 그러한 제약을 부과하지 않는다.
15.
SPS RPR 인에이블링 플래그(예: ref_pic_resampling_enabled_flag)가 0과 같아야 하는지 여부를 나타내기 위해 제약 플래그를 갖는 것이 제안된다.
a.
일 예에서, 플래그는 no_ref_pic_resampling_constraint_flag로서 표시될 수 있다.
i.
이 플래그가 1과 같을 때, SPS RPR 인에이블링 플래그(예: ref_pic_resampling_enabled_flag)는 0과 같아야 한다.
ii.
이 플래그가 0이면 그러한 제약을 부과하지 않는다.
16.
위의 예(11-15)에서, 이러한 제약 플래그는 예를 들어 크로마 포맷(예: chroma_format_idc) 및/또는 개별 평면 코딩 또는 ChromaArrayType에 따라 조건적으로 시그널링될 수 있다.
ACT QP 오프셋(항목 17-19)
17.
블록에 ACT가 적용될 때 다른 크로마 오프셋(예를 들어, PPS 및/또는 픽처 헤더(PH) 및/또는 슬라이스 헤더(SH)의 오프셋)을 적용한 후 ACT 오프셋을 적용할 것을 제안한다.
18.
YCgCo 색상 변환이 블록에 적용될 때 JCbCr 모드 2에 대해 -5 이외의 PPS 및/또는 PH 오프셋을 갖는 것이 제안된다.
a.
일 예에서, 오프셋은 -5가 아닐 수 있다.
b.
일 예에서, 오프셋은 PPS로 표시될 수 있고(예를 들어, pps_act_cbcr_qp_offset_plus6으로) 오프셋은 pps_act_cbcr_qp_offset_plus6 - 6으로 설정될 수 있다.
c.
일 예에서, 오프셋은 PPS로 표시될 수 있고(예를 들어, pps_act_cbcr_qp_offset_plus7로서) 오프셋은 pps_act_cbcr_qp_offset_plus7 - 7로 설정될 수 있다.
19.
YCgCo-R이 블록에 적용될 때 JCbCr 모드 2에 대해 1이 아닌 PPS 및/또는 PH 오프셋을 갖도록 제안한다.
a.
일 예에서 오프셋은 -1이 아닐 수 있다.
b.
일 예에서, 오프셋은 PPS로 표시될 수 있고(예를 들어, pps_act_cbcr_qp_offset으로) 오프셋은 pps_act_cbcr_qp_offset으로 설정될 수 있다.
c.
일 예에서, 오프셋은 PPS로 표시될 수 있고(예를 들어, pps_act_cbcr_qp_offset_plus1로서) 오프셋은 pps_act_cbcr_qp_offset_plus1 - 1로서 설정될 수 있다.
일반 기술(항목 20-21)
20.
상기 예에서, S 1, S 2, l, h, m, n 및/또는 k는 정수이고 다음에 의존할 수 있다.
a.
DPS/SPS/VPS/PPS/APS/픽처 헤더/슬라이스 헤더/타일 그룹 헤더/최대 코딩 유닛(LCU)/코딩 유닛(CU)/LCU 행/LCU의 그룹/TU/PU 블록/비디오 코딩 유닛에서 시그널링되는 메시지
b.
CU/PU/TU/블록/비디오 코딩 유닛의 위치
c.
에지를 따라 샘플을 포함하는 블록의 코딩된 모드
d.
에지를 따라 샘플을 포함하는 블록에 적용되는 변환 매트릭스
e.
현재 블록 및/또는 그 인접 블록의 블록 치수/블록 형상
f.
(4:2:0, 4:4:4, RGB 또는 YUV 등의) 색상 포맷의 표시
g.
(듀얼 트리 또는 싱글 트리 등의) 코딩 트리 구조
h.
슬라이스/타일 그룹 타입 및/또는 픽처 타입
i.
색상 성분(예를 들어, Cb 또는 Cr에만 적용될 수 있다)
j.
시간적 레이어 ID
k.
표준의 프로파일/레벨/티어
l.
대안으로, S 1, S 2, l, h, m, n 및/또는 k는 디코더로 시그널링될 수 있다.
21.
위에서 제안된 방법은 특정 조건에서 적용될 수 있다.
a.
일 예에서, 조건은 색상 포맷이 4:2:0 및/또는 4:2:2이다.
b.
일 예에서, 위의 방법들의 사용 표시는 SPS/PPS/픽처 헤더/슬라이스 헤더와 같은 시퀀스/픽처/슬라이스/타일/브릭/비디오 영역 레벨로 시그널링될 수 있다.
c.
일 예에서, 상기 방법의 사용은 다음에 의존할 수 있다
i.
비디오 콘텐츠(예: 화면 콘텐츠 또는 자연 콘텐츠)
ii.
DPS/SPS/VPS/PPS/APS/픽처 헤더/슬라이스 헤더/타일 그룹 헤더/최대 코딩 유닛(LCU)/코딩 유닛(CU)/LCU 행/LCU의 그룹/TU/PU 블록/비디오 코딩 유닛에서 시그널링되는 메시지
iii.
CU/PU/TU/블록/비디오 코딩 유닛의 위치
iv.
가장자리를 따라 샘플을 포함하는 블록의 코딩된 모드
v.
가장자리를 따라 샘플을 포함하는 블록에 적용된 변환 매트릭스
vi.
현재 블록 및/또는 인접 블록의 블록 치수
vii.
현재 블록 및/또는 인접 블록의 블록 형상
viii.
(4:2:0, 4:4:4, RGB 또는 YUV 등의) 색상 포맷 표시
ix.
(이중 트리 또는 단일 트리 등의) 코딩 트리 구조
x.
슬라이스/타일 그룹 타입 및/또는 픽처 타입
xi.
색상 성분(예를 들어, Cb 또는 Cr에만 적용할 수 있음)
xii.
시간적 레이어 ID
xiii.
표준의 프로파일/레벨/티어(tier)
xiv.
대안적으로, m 및/또는 n은 디코더에 시그널링될 수 있다.
5. 실시예
실시예는 JVET-P2001-vE에 기초한다. 새로 추가된 텍스트는 굵은 이탤릭체 밑줄이 있는 텍스트 로 강조 표시된다. 삭제된 텍스트는 이탤릭체 텍스트로 표시된다.
5.1. 실시예 #1
본 실시예는 ACT 및 BDPCM 모드 간의 상호작용에 관련된다.
5.2. 실시예 #2
본 실시예는 ACT 및 BDPCM 모드 간의 상호작용에 관련된다.
1과 동일한 intra_bdpcm_chroma_flag는 BDPCM이 위치(x0, y0)에서 현재 크로마 코딩 블록에 적용된다는 것을 나타낸다. 즉, 변환이 스킵되고, 인트라 크로마 예측 모드가 intra_bdpcm_chroma_dir_flag로 명시된다. 0과 동일한 intra_bdpcm_chroma_flag는 BDPCM이 위치( x0, y0 )에서 현재 크로마 코딩 블록에 적용되지 않음을 나타낸다.
intra_bdpcm_chroma_flag가 존재하지 않고 cu_act_enabled_flag가 거짓 인 경우, 0과 동일한 것으로 추론된다.
intra_bdpcm_chroma_flag가 존재하지 않고 cu_act_enabled_flag가 참인 경우, intra_bdpcm_luma_flag와 동일한 것으로 추론된다 .
변수 BdpcmFlag[ x ][ y ][ cIdx ]는 intra_bdpcm_chroma_flag와 동일하게 설정되고, 여기서, x = x0..x0 + cbWidth - 1, y = y0..y0 + cbHeight - 1 및 cIdx = 1..2이다.
0과 동일한 intra_bdpcm_chroma_dir_flag는 BDPCM 예측 방향이 수평임을 명시한다. 1과 동일한 intra_bdpcm_chroma_dir_flag는 BDPCM 예측 방향이 수직임을 명시한다. cu_act_enabled_flag가 참일 때, intra_bdpcm_chroma_dir_flag는 intra_bdpcm_luma_dir_flag와 동일하게 설정된다 .
변수 BdpcmDir[ x ][ y ][ cIdx ]는 intra_bdpcm_chroma_dir_flag와 동일하게 설정되고, 여기서, x = x0..x0 + cbWidth - 1, y = y0..y0 + cbHeight - 1 및 cIdx = 1..2이다.
5.3. 실시예 #3
이 실시예는 QP 설정에 관련된다.
8.7.3. 변환 계수에 대한 스케일링 프로세스
이 프로세스에 대한 입력은 다음과 같다.
- 현재 픽처의 상단 좌측 루마 샘플에 상대적인 현재 루마 변환 블록의 상단 좌측 샘플을 나타내는 루마 위치( xTbY, yTbY ),
- 변환 블록 너비를 나타내는 변수 nTbW,
- 변환 블록 높이를 나타내는 변수 nTbH,
- 코딩 유닛의 예측 모드를 나타내는 변수 predMode,
- 현재 블록의 색상 성분을 나타내는 변수 cIdx.
이 프로세스의 출력은 요소 d[ x ][ y ]를 갖는 스케일링된 변환 계수의 (nTbW)x(nTbH) 어레이(d)이다.
...
양자화 파라미터(qP)가 수정되고 변수(rectNonTsFlag 및 bdShift)가 다음과 같이 유도된다.
- transform_skip_flag[ xTbY ][ yTbY ][ cIdx ]가 0인 경우 다음이 적용된다.
- 그렇지 않으면(transform_skip_flag[ xTbY ][ yTbY ][ cIdx ]이 1인 경우), 다음이 적용된다.
...
5.4. 실시예 #4
8.7.1 양자화 파라미터에 대한 유도 프로세스
...
- Cb 및 Cr 성분, Qp'Cb 및 Qp'Cr, 조인트 Cb-Cr 코딩 Qp'CbCr에 대한 크로마 양자화 파라미터는 다음과 같이 유도된다.
5.5. 실시예 #5
7.3.9.5 코딩 유닛 신택스
K0 및 K1은 32와 동일하게 설정된다.
5.6. 실시예 #6
7.3.9.5 코딩 유닛 신택스
도 7은 여기에 개시된 다양한 기술들이 구현될 수 있는 예시적인 비디오 처리 시스템(video processing system, 700)을 도시하는 블록도이다. 다양한 구현예는 시스템(700)의 컴포넌트의 일부 또는 전부를 포함할 수 있다. 시스템(700)은 비디오 콘텐츠를 수신하기 위한 입력(702)을 포함할 수 있다. 비디오 콘텐츠는 원(raw) 또는 압축되지 않은 포맷, 예를 들어 8 또는 10비트 다중 컴포넌트 픽셀 값으로 수신될 수 있거나 압축 또는 인코딩된 포맷일 수 있다. 입력(702)은 네트워크 인터페이스, 주변 버스 인터페이스, 또는 저장 인터페이스를 나타낼 수 있다. 네트워크 인터페이스의 예로는 이더넷, 수동 광 네트워크(PON) 등과 같은 유선 인터페이스와 Wi-Fi 또는 셀룰러 인터페이스와 같은 무선 인터페이스가 있다.
시스템(700)은 본 문서에 설명된 다양한 코딩 또는 인코딩 방법을 구현할 수 있는 코딩 컴포넌트(704)를 포함할 수 있다. 코딩 컴포넌트(704)는 비디오의 코딩된 표현을 생성하기 위해 코딩 컴포넌트(704)의 입력(702)으로부터 출력으로의 비디오의 평균 비트레이트를 감소시킬 수 있다. 따라서, 코딩 기술은 비디오 압축 또는 비디오 트랜스코딩 기술이라고도 한다. 코딩 컴포넌트(704)의 출력은 컴포넌트(706)에 의해 표현된 바와 같이 저장되거나 연결된 통신을 통해 전송될 수 있다. 입력(702)에서 수신된 비디오의 저장 또는 통신된 비트스트림(또는 코딩된) 표현은 디스플레이 인터페이스(710)로 전송되는 디스플레이가능한 비디오 또는 픽셀 값을 생성하기 위한 컴포넌트(708)에 의해 사용될 수 있다. 비트스트림 표현으로부터 사용자가 볼 수 있는 비디오를 생성하는 프로세스는 때때로 비디오 압축 해제라고 불린다. 또한, 특정 비디오 처리 동작은 "코딩" 동작 또는 툴로 지칭될 수 있는 반면, 코딩 툴 또는 동작은 인코더에서 사용되며, 코딩의 결과를 역전시키는 해당 디코딩 툴 또는 동작은 디코더에 의해 수행되는 것으로 볼 수도 있다.
주변 버스 인터페이스 또는 디스플레이 인터페이스의 예는 USB(Universal Serial Bus) 또는 HDMI(High Definition Multimedia Interface) 또는 Displayport 등을 포함할 수 있다. 저장 인터페이스의 예로는 SATA(Serial Advanced Technology Attachment), PCI, IDE 인터페이스 등이 있다. 본 문서에서 설명된 기술은 디지털 데이터 처리 및/또는 비디오 디스플레이를 수행할 수 있는 휴대폰, 랩탑, 스마트폰 또는 기타 장치와 같은 다양한 전자 장치에서 구현될 수 있다.
도 8은 비디오 처리 장치(800)의 블록도이다. 장치(800)는 여기에 설명된 방법들 중 하나 이상을 구현하는 데 사용될 수 있다. 장치(800)는 스마트폰, 태블릿, 컴퓨터, 사물 인터넷(IoT) 수신기 등으로 구현될 수 있다. 장치(800)는 하나 이상의 프로세서(802), 하나 이상의 메모리(804) 및 비디오 처리 하드웨어(806)를 포함할 수 있다. 프로세서(들)(802)는 본 문서(예를 들어, 도 5a 및 5B)에 설명된 하나 이상의 방법을 구현하도록 구성될 수 있다. 메모리(메모리)(804)는 여기에 설명된 방법 및 기술을 구현하는 데 사용되는 데이터 및 코드를 저장하는 데 사용될 수 있다. 비디오 처리 하드웨어(806)는 하드웨어 회로에서 본 문서에 설명된 일부 기술을 구현하는 데 사용될 수 있다. 일부 실시예에서, 하드웨어(806)는 부분적으로 또는 전체적으로 프로세서(802), 예를 들어 그래픽 프로세서에 있을 수 있다.
도 9는 본 개시의 기법들을 이용할 수 있는 예시적인 비디오 코딩 시스템(100)을 예시하는 블록도이다. 도 9에 도시된 바와 같이, 비디오 코딩 시스템(100)은 소스 디바이스(110) 및 목적지 디바이스(120)를 포함할 수 있다. 소스 디바이스(110)는 인코딩된 비디오 데이터를 생성하고, 비디오 인코딩 디바이스로 지칭될 수 있다. 목적지 디바이스 (120)는 소스 디바이스 (110)에 의해 생성된 인코딩된 비디오 데이터를 디코딩할 수 있고, 비디오 디코딩 디바이스로 지칭될 수도 있다. 소스 디바이스(110)는 비디오 소스(112), 비디오 인코더(114), 및 입력/출력(I/O) 인터페이스(116)를 포함할 수 있다.
비디오 소스(112)는 비디오 캡처 디바이스와 같은 소스, 비디오 콘텐츠 제공자로부터 비디오 데이터를 수신하기 위한 인터페이스, 및/또는 비디오 데이터를 생성하기 위한 컴퓨터 그래픽 시스템, 또는 이러한 소스들의 조합을 포함할 수 있다. 비디오 데이터는 하나 이상의 픽처를 포함할 수 있다. 비디오 인코더(114)는 비디오 소스(112)로부터의 비디오 데이터를 인코딩하여 비트스트림을 생성한다. 비트스트림은 비디오 데이터의 코딩된 표현을 형성하는 비트들의 시퀀스를 포함할 수 있다. 비트스트림은 코딩된 픽처 및 연관된 데이터를 포함할 수 있다. 코딩된 픽처는 픽처의 코딩된 표현이다. 연관된 데이터는 시퀀스 파라미터 세트, 픽처 파라미터 세트, 및 기타 신택스 구조를 포함할 수 있다. I/O 인터페이스(116)는 변조기/복조기(모뎀) 및/또는 송신기를 포함할 수 있다. 인코딩된 비디오 데이터는 네트워크(130a)를 통해 I/O 인터페이스(116)를 통해 목적지 디바이스(120)로 직접 전송될 수 있다. 인코딩된 비디오 데이터는 또한 목적지 디바이스(120)에 의한 액세스를 위해 저장 매체/서버(130b)에 저장될 수 있다.
목적지 디바이스(120)는 I/O 인터페이스(126), 비디오 디코더(124), 및 디스플레이 디바이스(122)를 포함할 수 있다.
I/O 인터페이스(126)는 수신기 및/또는 모뎀을 포함할 수 있다. I/O 인터페이스(126)는 소스 디바이스(110) 또는 저장 매체/서버(130b)로부터 인코딩된 비디오 데이터를 획득할 수 있다. 비디오 디코더(124)는 인코딩된 비디오 데이터를 디코딩할 수 있다. 디스플레이 디바이스(122)는 디코딩된 비디오 데이터를 사용자에게 디스플레이할 수 있다. 디스플레이 디바이스(122)는 목적지 디바이스(120)와 통합될 수 있거나, 외부 디스플레이 디바이스와 인터페이스하도록 구성된 목적지 디바이스(120)의 외부에 있을 수 있다.
비디오 인코더(114) 및 비디오 디코더(124)는 HEVC(High Efficiency Video Coding) 표준, VVM(Versatile Video Coding) 표준 및 다른 현재 및/또는 추가 표준과 같은 비디오 압축 표준에 따라 동작할 수 있다.
도 10은 도 9에 예시된 시스템(100)의 비디오 인코더(114)일 수 있는 비디오 인코더(200)의 예를 예시하는 블록도이다.
비디오 인코더(200)는 본 개시의 기법들 중 임의의 것 또는 전부를 수행하도록 구성될 수도 있다. 도 10의 예에서. 비디오 인코더(200)는 복수의 기능적 컴포넌트를 포함한다. 본 개시에서 설명된 기법들은 비디오 인코더 (200)의 다양한 컴포넌트들 사이에서 공유될 수도 있다. 일부 예들에서, 프로세서는 본 개시에서 설명된 기법들 중 임의의 것 또는 모든 기법을 수행하도록 구성될 수도 있다.
비디오 인코더(200)의 기능적 컴포넌트는 분할부(201), 모드 선택부(203), 모션 추정부(204), 모션 보상부(205) 및 인트라 예측부(206)을 포함할 수 있는 예측부(202), 잔여 생성부(207), 변환부(208), 양자화부(209), 역양자화부(210), 역변환부(211), 복원부(212), 버퍼(213), 엔트로피 인코딩부(214)를 포함한다.
다른 예들에서, 비디오 인코더 (200)는 더 많거나, 더 적거나, 또는 상이한 기능적 컴포넌트들을 포함할 수 있다. 일 예에서, 예측부(202)는 인트라 블록 카피(IBC) 유닛을 포함할 수 있다. IBC 유닛은, 적어도 하나의 참조 픽처가 현재 비디오 블록이 위치한 픽쳐인 IBC 모드에서 예측을 수행할 수 있다.
또한, 모션 추정부(204) 및 모션 보상부(205)와 같은 일부 컴포넌트는 고도로 통합될 수 있지만, 도 10의 예에서는 설명을 목적으로 개별적으로 표현된다.
분할부(201)는 픽처를 하나 이상의 비디오 블록으로 분할할 수 있다. 비디오 인코더(200) 및 비디오 디코더(300)는 다양한 비디오 블록 크기들을 지원할 수 있다.
모드 선택부(203)는 예를 들어, 에러 결과들에 기초하여 인트라 또는 인터 코딩 모드들 중 하나를 선택할 수 있고, 결과적인 인트라- 또는 인터-코딩된 블록을 잔차 생성부(207)에 제공하여 잔차 블록 데이터를 생성하고 복원부(212)에 제공하여 참조 픽처로서 사용될 인코딩된 블록을 복원할 수 있다. 일부 예에서, 모드 선택부(203)는 예측이 인터 예측 신호 및 인트라 예측 신호에 기초하는 CIIP(Intra and Inter Predication) 모드의 조합을 선택할 수 있다. 모드 선택부(203)는 또한 인터 예측의 경우 블록에 대한 모션 벡터에 대한 해상도(예를 들어, 서브-픽셀 또는 정수 픽셀 정밀도)를 선택할 수 있다.
현재 비디오 블록에 대한 인터 예측을 수행하기 위해, 모션 추정부 (204)는 버퍼(213)로부터의 하나 이상의 참조 프레임들을 현재 비디오 블록과 비교함으로써 현재 비디오 블록에 대한 모션 정보를 생성할 수 있다. 모션 보상부(205)는 현재 비디오 블록과 연관된 픽처 이외의 버퍼(213)로부터의 픽처들의 디코딩된 샘플들 및 모션 정보에 기초하여 현재 비디오 블록에 대한 예측된 비디오 블록을 결정할 수 있다.
모션 추정부 (204) 및 모션 보상부 (205)는 예를 들어 현재 비디오 블록이 I 슬라이스, P 슬라이스, 또는 B 슬라이스에 있는지 여부에 따라 현재 비디오 블록에 대해 상이한 동작들을 수행할 수 있다.
일부 예들에서, 모션 추정부(204)는 현재 비디오 블록에 대해 단방향 예측을 수행할 수 있고, 모션 추정부(204)는 현재 비디오 블록에 대한 참조 비디오 블록에 대해 리스트 0 또는 리스트 1를 검색할 수 있다. 모션 추정부(204)는 그 다음 현재 비디오 블록과 참조 비디오 블록 사이의 공간적 변위를 나타내는 모션 벡터 및 참조 비디오 블록을 포함하는 리스트 0 또는 리스트 1의 참조 픽처를 나타내는 참조 인덱스를 생성할 수 있다. 모션 추정부(204)는 참조 인덱스, 예측 방향 표시자, 및 모션 벡터를 현재 비디오 블록의 모션 정보로서 출력할 수 있다. 움직임 보상부(205)는 현재 비디오 블록의 움직임 정보가 지시하는 참조 비디오 블록에 기초하여 현재 블록의 예측된 비디오 블록을 생성할 수 있다.
다른 예들에서, 모션 추정부(204)는 현재 비디오 블록에 대한 양방향 예측을 수행할 수 있고, 모션 추정부(204)는 현재 비디오 블록에 대한 참조 비디오 블록에 대해 리스트 0에서 참조 픽처들을 검색할 수 있고, 또한 현재 비디오 블록에 대한 다른 참조 비디오 블록에 대한 리스트 1의 참조 화상을 검색할 수 있다. 모션 추정부(204)는 그 다음 참조 비디오 블록과 현재 비디오 블록 사이의 공간 변위를 나타내는 모션 벡터 및 참조 비디오 블록을 포함하는 리스트 0 및 리스트 1의 참조 픽처를 나타내는 참조 인덱스를 생성할 수 있다. 모션 추정부(204)는 현재 비디오 블록의 모션 정보로서 현재 비디오 블록의 참조 인덱스 및 모션 벡터를 출력할 수 있다. 움직임 보상부(205)는 현재 비디오 블록의 움직임 정보에 의해 지시되는 참조 비디오 블록들에 기초하여 현재 비디오 블록의 예측된 비디오 블록을 생성할 수 있다.
일부 예들에서, 모션 추정부(204)는 디코더의 디코딩 프로세싱을 위한 모션 정보의 전체 세트를 출력할 수 있다.
일부 예들에서, 모션 추정부(204)는 현재 비디오에 대한 모션 정보의 전체 세트를 출력하지 않을 수 있다. 오히려, 모션 추정부(204)는 다른 비디오 블록의 모션 정보를 참조하여 현재 비디오 블록의 모션 정보를 시그널링할 수 있다. 예를 들어, 모션 추정부(204)는 현재 비디오 블록의 모션 정보가 인접하는 비디오 블록의 모션 정보와 충분히 유사하다고 결정할 수 있다.
일 예에서, 모션 추정부(204)는, 현재 비디오 블록과 연관된 신택스 구조에서, 현재 비디오 블록이 다른 비디오 블록과 동일한 모션 정보를 갖는다는 것을 비디오 디코더(300)에 나타내는 값을 나타낼 수 있다.
다른 예에서, 모션 추정부(204)는, 현재 비디오 블록과 연관된 신택스 구조에서, 다른 비디오 블록 및 모션 벡터 차이(MVD)를 식별할 수 있다. 움직임 벡터 차이는 현재 비디오 블록의 움직임 벡터와 지시된 비디오 블록의 움직임 벡터 간의 차이를 나타낸다. 비디오 디코더(300)는 지시된 비디오 블록의 움직임 벡터와 움직임 벡터 차이를 이용하여 현재 비디오 블록의 움직임 벡터를 결정할 수 있다.
위에서 논의된 바와 같이, 비디오 인코더(200)는 모션 벡터를 예측적으로 시그널링할 수 있다. 비디오 인코더(200)에 의해 구현될 수도 있는 예측 시그널링 기술의 두 가지 예는 AMVP(Advanced Motion Vector Predication) 및 병합 모드 시그널링을 포함한다.
인트라 예측부(206)는 현재 비디오 블록에 대해 인트라 예측을 수행할 수 있다. 인트라 예측부(206)가 현재 비디오 블록에 대해 인트라 예측을 수행할 때, 인트라 예측부(206)는 동일한 픽처의 다른 비디오 블록의 디코딩된 샘플에 기초하여 현재 비디오 블록에 대한 예측 데이터를 생성할 수 있다. 현재 비디오 블록에 대한 예측 데이터는 예측된 비디오 블록 및 다양한 신택스 요소를 포함할 수 있다.
잔차 생성부(207)는 현재 비디오 블록에서 현재 비디오 블록의 예측된 비디오 블록(들)을 감산함으로써(예를 들어, 빼기 부호로 표시됨) 현재 비디오 블록에 대한 잔차 데이터를 생성할 수 있다. 현재 비디오 블록의 잔차 데이터는 현재 비디오 블록의 샘플들의 상이한 샘플 성분들에 대응하는 잔차 비디오 블록들을 포함할 수 있다.
다른 예들에서, 예를 들어 스킵 모드에서 현재 비디오 블록에 대한 현재 비디오 블록에 대한 잔차 데이터가 없을 수 있고, 잔차 생성부(207)는 감산 동작을 수행하지 않을 수 있다.
변환 처리부(208)는 현재 비디오 블록과 연관된 잔차 비디오 블록에 하나 이상의 변환들을 적용함으로써 현재 비디오 블록에 대한 하나 이상의 변환 계수 비디오 블록들을 생성할 수 있다.
변환 처리부(208)가 현재 비디오 블록과 연관된 변환 계수 비디오 블록을 생성한 후, 양자화부(209)는 현재 비디오 블록와 연관된 하나 이상의 양자화 파라미터(QP) 값들에 기초하여 현재 비디오 블록과 연관된 변환 계수 비디오 블록을 양자화할 수 있다.
역양자화부(210) 및 역변환부(211)는 변환 계수 비디오 블록으로부터 잔차 비디오 블록을 복원하기 위해 각각 역양자화 및 역변환을 변환 계수 비디오 블록에 적용할 수 있다. 복원부(212)는 버퍼(213)에 저장될 현재 블록과 연관된 복원된 비디오 블록을 생성하기 위해 예측부(202)에 의해 생성된 하나 이상의 예측된 비디오 블록들로부터의 해당 샘플들에 복원된 잔차 비디오 블록을 추가할 수 있다.
복원부(212)가 비디오 블록을 복원한 후, 루프 필터링 동작이 수행되어 비디오 블록에서 비디오 블록킹 아티팩트(video blocking artifacts)를 감소시킬 수 있다.
엔트로피 인코딩부(214)는 비디오 인코더(200)의 다른 기능적 컴포넌트들로부터 데이터를 수신할 수 있다. 엔트로피 인코딩부(214)가 데이터를 수신하면, 엔트로피 인코딩부(214)는 하나 이상의 엔트로피 인코딩 동작을 수행하여 엔트로피 인코딩된 데이터를 생성하고 엔트로피 인코딩된 데이터를 포함하는 비트스트림을 출력한다.
도 11은 도 9에 예시된 시스템(100)의 비디오 디코더(114)일 수 있는 비디오 디코더(300)의 예를 나타내는 블록도이다.
비디오 디코더(300)는 본 개시의 기법들 중 임의의 것 또는 전부를 수행하도록 구성될 수 있다. 도 11의 예에서, 비디오 디코더(300)는 복수의 기능적 컴포넌트를 포함한다. 본 개시에서 설명된 기법들은 비디오 디코더(300)의 다양한 컴포넌트들 사이에서 공유될 수도 있다. 일부 예들에서, 프로세서는 본 개시에서 설명된 기법들 중 임의의 것 또는 모두를 수행하도록 구성될 수 있다.
도 11의 예에서, 비디오 디코더(300)는 엔트로피 디코딩부(301), 모션 보상부(302), 인트라 예측부(303), 역양자화부(304), 역변환부(305), 변환부(306) 및 버퍼(307)를 포함한다. 비디오 디코더(300)는, 일부 예들에서, 비디오 인코더(200)(도 10)에 대해 설명된 인코딩 패스(encoding pass)에 일반적으로 역인 디코딩 패스를 수행한다.
엔트로피 디코딩부(301)는 인코딩된 비트스트림을 검색(retrieve)할 수 있다. 인코딩된 비트스트림은 엔트로피 코딩된 비디오 데이터(예를 들어, 비디오 데이터의 인코딩된 블록)를 포함할 수 있다. 엔트로피 디코딩부(301)는 엔트로피 코딩된 비디오 데이터를 디코딩할 수 있고, 엔트로피 디코딩된 비디오 데이터로부터, 모션 보상부(302)는 모션 벡터, 모션 벡터 정밀도, 참조 픽처 리스트 인덱스, 및 다른 모션 정보를 포함하는 모션 정보를 결정할 수 있다. 모션 보상부(302)는 예를 들어 AMVP 및 머지 모드를 수행함으로써 그러한 정보를 결정할 수 있다.
모션 보상부(302)는 모션 보상된 블록을 생성할 수 있고, 가능하게는 보간 필터에 기초하여 보간을 수행할 수 있다. 서브픽셀 정밀도와 함께 사용될 보간 필터에 대한 식별자가 신택스 요소에 포함될 수 있다.
모션 보상부(302)는 비디오 블록의 인코딩 동안 비디오 인코더(20)에 의해 사용되는 보간 필터들을 사용하여 참조 블록의 서브-정수 픽셀들에 대한 보간된 값들을 계산할 수 있다. 모션 보상부(302)는 수신된 신택스 정보에 따라 비디오 인코더(200)에 의해 사용되는 보간 필터들을 결정할 수 있고 보간 필터를 사용하여 예측 블록들을 생성할 수 있다.
모션 보상부(302)는 신택스 정보의 일부를 사용하여 인코딩된 비디오 시퀀스의 프레임(들) 및/또는 슬라이스(들)를 인코딩하는 데 사용되는 블록의 크기, 인코딩된 비디오 시퀀스의 픽처의 각 매크로 블록이 어떻게 분할되는지를 설명하는 분할 정보, 각각의 분할이 인코딩되는 방법을 나타내는 모드, 각각의 인터 인코딩된 블록에 대한 하나 이상의 참조 프레임 (및 참조 프레임 리스트) 및 인코딩된 비디오 시퀀스를 디코딩하기 위한 다른 정보를 결정할 수 있다.
인트라 예측부(303)는 예를 들어 비트스트림에서 수신된 인트라 예측 모드들을 사용하여 공간적으로 인접한 블록들로부터 예측 블록을 형성할 수 있다. 역양자화부(303)는, 비트스트림에 제공되고 엔트로피 디코딩부(301)에 의해 디코딩된 양자화된 비디오 블록 계수를 역양자화(inverse quantize), 즉 역양자화(de-quantize)한다. 역변환부(303)는 역변환을 적용한다.
복원부(306)는 모션 보상부(202) 또는 인트라 예측부(303)에 의해 생성된 해당 예측 블록들과 잔차 블록들을 합산하여 디코딩된 블록들을 형성할 수 있다. 원하는 경우, 블록화(blockiness) 아티팩트를 제거하기 위해 디블록킹 필터를 적용하여 디코딩된 블록을 필터링할 수 있다. 그 다음 디코딩된 비디오 블록은 버퍼(307)에 저장되고, 버퍼는 후속 모션 보상/인트라 예측을 위한 참조 블록을 제공하고 또한 디스플레이 디바이스 상의 프리젠테이션을 위해 디코딩된 비디오를 생성한다.
도 12 내지 도 24는 예를 들어 도 7 내지 11에 도시된 실시예에서 상술한 기술적 솔루션을 구현할 수 있는 예시적인 방법을 도시한다.
도 12는 비디오 처리(video processing)의 예시적인 방법(1200)에 대한 흐름도를 도시한다. 방법(1200)은, 동작(1210)에서, 비디오의 현재 비디오 블록과 비디오의 비트스트림 사이의 변환을 위해, 현재 비디오 블록을 코딩하는데 사용되는 적응적 색 변환(ACT) 모드에 대한 허용된 최대 크기 및/또는 허용된 최소 크기를 결정하는 단계를 포함한다.
방법(1200)은, 동작(1220)에서, 상기 결정에 기초하여 변환을 수행하는 단계를 포함한다.
도 13은 비디오 처리의 예시적인 방법(1300)에 대한 흐름도를 도시한다. 방법(1300)은, 동작(1310)에서, 비디오의 현재 비디오 블록과 비디오의 비트스트림 사이의 변환을 위해, 현재 비디오 블록을 코딩하는데 사용되는 팔레트 모드에 대한 최대 허용 팔레트 크기 및/또는 최소 허용 예측자 크기를 결정하는 단계를 포함한다. 최대 허용 팔레트 크기 및/또는 최소 허용 예측자 크기는 현재 비디오 블록의 코딩 특성에 기초한다.
방법(1300)은, 동작(1320)에서, 상기 결정에 기초하여 변환을 수행하는 단계를 포함한다.
도 14는 비디오 처리의 예시적인 방법(1400)에 대한 흐름도를 도시한다. 방법(1400)은, 동작(1410)에서, 비디오의 현재 비디오 블록과 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고, 현재 비디오 블록은 팔레트 모드 코딩 툴을 이용하여 코딩되고, 비트스트림은 비트스트림 내의 현재 비디오 블록에 대한 이스케이프 심볼의 이진화와 연관된 파라미터가 현재 비디오 블록의 코딩된 정보에 기초한다는 것을 명시하는 포맷 규칙을 따른다.
도 15는 비디오 처리의 예시적인 방법(1500)에 대한 흐름도를 도시한다. 방법(1500)은, 동작(1510)에서, 블록을 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 위해, 블록의 크기가 적응적 색 변환(ACT) 모드에 대한 최대 허용 크기보다 크다고 결정하는 단계를 포함한다.
방법(1500)은, 동작(1520)에서, 상기 결정에 기초하여 변환을 수행하는 단계를 포함하고, 블록의 크기가 ACT 모드에 대한 최대 허용 크기보다 큰 것에 응답하여 블록이 다중 서브블록으로 분할되고, 다중 서브블록의 각각은 동일한 예측 모드를 공유하고, ACT 모드는 서브블록 레벨에서 인에이블된다.
도 16은 비디오 처리의 예시적인 방법(1600)에 대한 흐름도를 도시한다. 방법(1600)은, 동작(1610)에서, 비디오의 현재 비디오 블록과 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은, 현재 비디오 블록에 대하여 적응적 색 변환(ACT) 모드의 사용의 표시가 비트스트림에서 시그널링되는지가 현재 비디오 블록의 치수 또는 ACT 모드에 대한 최대 허용 크기 중의 적어도 하나에 기초하는 것을 명시하는 포맷 규칙을 따른다.
도 17은 비디오 처리의 예시적인 방법(1700)에 대한 흐름도를 도시한다. 방법(1700)은, 동작(1710)에서, 비디오의 현재 비디오 유닛과 비디오의 비트스트림 사이의 변환을 수행하는 것을 포함하며, 비트스트림은 제1 플래그가 비트스트림에 포함되는지 여부를 명시하는 포맷 규칙을 따르고, 제1 플래그는 현재 비디오 유닛에 대한 적응적 색 변환(ACT) 모드가 디스에이블되는 것을 시퀀스 파라미터 세트(SPS)의 제2 플래그가 명시하는지를 나타낸다.
도 18은 비디오 처리의 예시적인 방법(1800)에 대한 흐름도를 도시한다. 방법(1800)은, 동작(1810)에서, 비디오의 현재 비디오 유닛과 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 제1 플래그가 비트스트림에 포함되는지 여부를 명시하는 포맷 규칙을 따르고, 제1 플래그는 현재 비디오 유닛에 대한 블록 기반 델타 펄스 코드 변조(BDPCM) 모드가 디스에이블되는 것을 시퀀스 파라미터 세트(SPS)의 제2 플래그가 명시하는지를 나타낸다.
도 19는 비디오 처리의 예시적인 방법(1900)에 대한 흐름도를 도시한다. 방법(1900)은, 동작(1910)에서, 비디오의 현재 비디오 유닛과 비디오의 비트스트림 사이의 변환을 수행하는 것을 포함하며, 비트스트림은 제1 플래그가 비트스트림에 포함되는지 여부를 명시하는 포맷 규칙을 따르고, 제1 플래그는 현재 비디오 유닛의 크로마 성분에 대한 블록 기반 델타 펄스 코드 변조(BDPCM) 모드가 디스에이블되는 것을 시퀀스 파라미터 세트(SPS)의 제2 플래그가 명시하는지를 나타낸다.
도 20은 비디오 처리의 예시적인 방법(2000)에 대한 흐름도를 도시한다. 방법(2000)은, 동작 2010에서, 비디오의 현재 비디오 유닛과 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하며, 비트스트림은 제1 플래그가 비트스트림에 포함되는지 여부를 명시하는 포맷 규칙을 따르고, 제1 플래그는 현재 비디오 유닛에 대한 팔레트가 디스에이블되는 것을 시퀀스 파라미터 세트(SPS)의 제2 플래그가 명시하는지를 나타낸다.
도 21은 비디오 처리의 예시적인 방법(2100)에 대한 흐름도를 도시한다. 방법(2100)은, 동작(2110)에서, 비디오의 현재 비디오 유닛과 비디오의 비트스트림 사이의 변환을 수행하는 것을 포함하며, 비트스트림은 제1 플래그가 비트스트림에 포함되는지 여부를 명시하는 포맷 규칙을 따르고, 제1 플래그는 현재 비디오 유닛에 대한 참조 픽처 리샘플링(RPR) 모드가 디스에이블되는 것을 시퀀스 파라미터 세트(SPS)의 제2 플래그가 명시하는지를 나타낸다.
도 22는 비디오 처리의 예시적인 방법(2200)에 대한 흐름도를 도시한다. 방법(2200)은, 동작(2210)에서, 적응적 색 변환(ACT) 모드가 현재 비디오 블록에 대하여 인에이블될 때 추가의 양자화 파라미터 오프셋이 적용되는 것을 명시하는 규칙에 따라 비디오의 현재 비디오 블록과 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함한다.
도 23은 비디오 처리의 예시적인 방법(2300)에 대한 흐름도를 도시한다. 방법(2300)은, 동작 2310에서, 규칙에 따라 비디오의 현재 비디오 블록과 비디오의 비트스트림 표현 사이의 변환을 수행하는 것을 포함하며, 현재 비디오 블록은 YCgCo 색상 변환 또는 YCgCo 역 색상 변환이 현재 비디오 블록에 적용되는 조인트 CbCr 코딩 모드를 이용하여 코딩되고, 규칙은, YCgCo 색상 변환이 사용되는 조인트 CbCr 코딩 모드를 이용하여 코딩되는 현재 비디오 블록 때문에, -5와 다른 양자화 파라미터 오프셋 값이 현재 비디오 블록과 연관된 픽처 헤더(PH) 또는 픽처 파라미터 세트(PPS)에서 사용되는 것을 명시한다.
도 24은 비디오 처리의 예시적인 방법(2400)에 대한 흐름도를 도시한다. 방법(2400)은, 동작 2410에서, 규칙에 따라 비디오의 현재 비디오 블록과 비디오의 비트스트림 표현 사이의 변환을 수행하는 것을 포함하며, 현재 비디오 블록은 YCgCo-R 색상 변환 또는 YCgCo-R 역 색상 변환이 현재 비디오 블록에 적용되는 조인트 CbCr 코딩 모드를 이용하여 코딩되고, 규칙은, YCgCo-R 색상 변환이 사용되는 조인트 CbCr 코딩 모드를 이용하여 코딩되는 현재 비디오 블록 때문에, 소정의 오프셋과 다른 양자화 파라미터 오프셋 값이 현재 비디오 블록과 연관된 픽처 헤더(PH) 또는 픽처 파라미터 세트(PPS)에서 사용되는 것을 명시한다.
일부 실시예에서 선호하는 솔루션의 리스트가 다음에 제공된다.
A1. 비디오의 현재 비디오 블록과 비디오의 비트스트림 간의 변환을 위해, 코딩에 사용되는 적응적 색 변환(ACT) 모드에 대한 허용되는 최대 크기 및/또는 허용되는 최소 크기를 결정하는 단계; 및 상기 결정에 기초하여 변환을 수행하는 단계를 포함하는 비디오 처리 방법.
A2. 솔루션 A1에 있어서, ACT 모드에 대한 허용되는 최대 크기 또는 허용되는 최소 크기는 색 성분에 대한 변환 블록 또는 변환 스킵 블록에 대한 허용되는 최대 크기 또는 허용되는 최소 크기에 기초하는 방법.
A3. 솔루션 A2에 있어서, 색 성분이 루마 성분인 방법.
A4. 솔루션 A1에 있어서, ACT 모드의 표시는 허용되는 최대 크기 또는 허용되는 최소 크기에 기초하여 비트스트림에서 시그널링되는 방법.
A5. 솔루션 A1에 있어서, ACT 모드와 관련된 부가 정보가 허용된 최대 크기 또는 허용된 최소 크기에 기초하여 비트스트림에서 시그널링되는 방법.
A6. 솔루션 A1에 있어서, 허용되는 최대 크기 또는 허용되는 최소 크기는 시퀀스 파라미터 세트(SPS), 픽처 파라미터 세트(PPS), 픽처 헤더 또는 슬라이스 헤더에서 시그널링되는 방법.
A7. 솔루션 A1에 있어서, 허용되는 최대 크기 또는 허용되는 최소 크기는 ACT 모드가 인에이블될 때 비트스트림에서 시그널링되는 방법.
A8. 솔루션 A1에 있어서, 허용되는 최대 크기는 K0이고 허용되는 최소 크기는 K1이며, K0 및 K1은 양의 정수인 방법.
A9. 솔루션 A8에 있어서, K0 = 64 및 K1 = 32인 방법.
A10. 솔루션 A1에 있어서, ACT 코딩된 블록에 대한 허용되는 최대 크기 또는 허용되는 최소 크기와 변환 블록 또는 변환 스킵 블록에 대한 해당 크기 간의 차이가 비트스트림에서 시그널링되는 방법.
A11. 비디오의 현재 비디오 블록과 비디오의 비트스트림 간의 변환을 위해, 현재 비디오를 코딩하는 데 사용되는 팔레트 모드에 대한 최대 허용 팔레트 크기 및/또는 최소 허용 예측자 크기를 결정하는 단계; 및 상기 결정에 기초하여, 변환을 수행하는 단계를 포함하고, 최대 허용 팔레트 크기 및/또는 최소 허용 예측자 크기는 현재 비디오 블록의 코딩 특성에 기초하는 방법.
A12. 솔루션 A11에 있어서, 코딩 특성은 비디오의 색 성분이고, 최대 허용 팔레트 크기는 상이한 컬러 성분에 대해 상이한 방법.
A13. 솔루션 A11에 있어서, 코딩 특성이 양자화 파라미터인 방법.
A14. 솔루션 A11에 있어서, S1은 제1 코딩 특성과 연관된 최대 허용 팔레트 크기 또는 최소 허용 예측자 크기이고 S2는 제2 코딩 특성과 연관된 최대 허용 팔레트 크기 또는 최소 허용 예측자 크기이고, S1 및 S2는 양의 정수인 방법.
A15. 솔루션 A14에 있어서, S2가 S1보다 크거나 같은 방법.
A16. 솔루션 A14에 있어서, S1 및 S2가 비트스트림에서 개별적으로 시그널링되는 방법.
A17. 솔루션 A14에 있어서, S1은 비트스트림에서 시그널링되고, S2는 S1에서 추론되거나 유도되는 방법.
A18. 솔루션 A17에 있어서, S2 = S1 - n이고, 여기서 n은 0이 아닌 정수인 방법.
A19. 솔루션 A14에 있어서, S1 및 S2가 제1 레벨에서 시그널링되고 제1 레벨보다 낮은 제2 레벨에서 조정되는 방법.
A20. 솔루션 A14에 있어서, 제1 레벨은 시퀀스 레벨, 픽처 레벨 또는 슬라이스 레벨이고, 제2 레벨은 코딩 유닛 레벨 또는 블록 레벨인 방법.
A21. 솔루션 A14에 있어서, S1 및 S2는 LMCS(luma mapping with chroma scaling)이 현재 비디오 블록에 적용되는지 여부에 기초하는 방법.
A22. 비디오 처리 방법으로서, 비디오의 현재 비디오 블록과 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 비트스트림은 포맷 규칙을 따르고, 현재 비디오 블록은 팔레트 모드 코딩 툴을 사용하여 코딩되고, 포맷 규칙은 비트스트림의 현재 비디오 블록에 대한 이스케이프 심볼의 이진화와 연관된 파라미터가 현재 비디오 블록의 코딩된 정보에 기초하는 것을 명시하는 비디오 처리 방법.
A23. 솔루션 A22에 있어서, 코딩된 정보는 하나 이상의 양자화 파라미터를 포함하는 방법.
A24. 솔루션 A22에 있어서, 이진화는 차수 k를 갖는 지수-골롬 이진화 방법을 사용하고, 여기서 k는 코딩된 정보에 기초하는 음이 아닌 정수인 방법.
A25. 비디오 처리 방법으로서, 블록을 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 위해, 블록의 크기가 적응적 색 변환(ACT) 모드에 대한 최대 허용 크기보다 크다는 것을 결정하는 단계; 및 상기 결정에 기초하여 변환을 수행하는 단계를 포함하고, 블록의 크기가 ACT 모드에 대한 최대 허용 크기보다 큰 것에 응답하여, 블록은 다중 서브블록으로 분할되고, 다중 서브-블록 각각은 동일한 예측 모드를 공유하고 ACT 모드는 서브블록 레벨에서 인에이블되는 방법.
A26. 비디오 처리 방법으로서, 비디오의 현재 비디오 블록과 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 비트스트림은 현재 비디오 블록에 대한 적응적 색 변환(ACT)의 사용 표시가 비트스트림에서 시그널링되는지가 현재 비디오 블록의 치수 또는 ACT 모드에 대한 최대 허용 크기 중 적어도 하나에 기초하는 것을 명시하는 포맷 규칙을 따르는 방법.
A27. 솔루션 A26에 있어서, 현재 비디오 블록의 너비가 m보다 작거나 같거나 현재 비디오 블록의 높이가 n보다 작거나 같은 것에 의해 상기 표시가 시그널링되고, m 및 n은 양의 정수인 방법.
A28. 솔루션 A26에 있어서, 현재 비디오 블록의 너비와 현재 비디오 블록의 높이가 m보다 작거나 같은 것에 의해 상기 표시가 시그널링되며, m은 양의 정수인 방법.
A29. 솔루션 A26에 있어서, 현재 비디오 블록의 너비가 m보다 크거나 현재 비디오 블록의 높이가 n보다 큰 것에 의해 상기 표시가 시그널링되지 않으며, m 및 n은 양의 정수인 방법.
A30. 솔루션 A27 내지 A29 중 어느 하나에 있어서, m은 미리 정의된 것인 방법.
A31. 솔루션 A27 내지 A29 중 어느 하나에 있어서, m은 시퀀스 파라미터 세트(SPS), 픽처 파라미터 세트(PPS), 적응 파라미터 세트(APS), 코딩 트리 유닛(CTU) 행, CTU 그룹, 코딩 유닛(CU) 또는 블록 내의 디코딩된 메시지에 기초하여 유도되는 방법.
A32. 솔루션 A26에 있어서, 상기 표시가 시그널링되지 않고 0인 것으로 추론되는 방법.
일부 실시예에서 선호하는 솔루션의 또 다른 리스트가 다음에 제공된다.
B1. 비디오 처리 방법으로서, 비디오의 현재 비디오 유닛과 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 비트스트림은 포맷 규칙을 따르고, 포맷 규칙은 제1 플래그가 비트스트림에 포함되는지를 명시하고, 상기 제1 플래그는 현재 비디오 유닛에 대한 적응적 색 변환(ACT) 모드가 디스에이블되는 것을 시퀀스 파라미터 세트(SPS)의 제2 플래그가 명시하는지를 나타내는 방법.
B2. 솔루션 B1에 있어서, 상기 제1 플래그는 비디오의 출력 레이어 세트의 하나 이상의 픽처에 대한 일반 제약 정보를 포함하는 방법.
B3. 솔루션 B1 또는 B2에 있어서, 제1 플래그는 no_act_constraint_flag이고, 제2 플래그는 sps_act_enabled_flag인 방법.
B4. 솔루션 B1 내지 B3 중 어느 하나에 있어서, 제1 플래그가 1과 동일한 것에 의해 제2 플래그가 0과 동일한 방법.
B5. 솔루션 B1 내지 B3 중 어느 하나에 있어서, 0과 동일한 제2 플래그는 현재 비디오 유닛에 대해 ACT 모드가 디스에이블되는 것을 명시하는 방법.
B6. 솔루션 B1 내지 B3 중 어느 하나에 있어서, 제1 플래그가 0과 같은 것에 의해 제2 플래그는 0 또는 1과 같을 수 있는 방법.
B7. 비디오 처리 방법으로서, 비디오의 현재 비디오 유닛과 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 비트스트림은 포맷 규칙을 따르고, 포맷 규칙은 제1 플래그가 비트스트림에 포함되는지를 명시하고, 상기 제1 플래그는 현재 비디오 유닛에 대한 블록 기반 델타 펄스 코드 변조(BDPCM) 모드가 디스에이블되는 것을 시퀀스 파라미터 세트(SPS)의 제2 플래그가 명시하는지를 나타내는 방법.
B8. 솔루션 B7에 있어서, 상기 제1 플래그는 비디오의 출력 레이어 세트의 하나 이상의 픽처에 대한 일반 제약 정보를 포함하는 방법.
B9. 솔루션 B7 또는 B8에 있어서, 제1 플래그는 no_bdpcm_constraint_flag 이고, 제2 플래그는 sps_bdpcm_enabled_flag 인 방법.
B10. 솔루션 B7 내지 B9 중 어느 하나에 있어서, 제1 플래그가 1과 동일한 것에 의해 제2 플래그가 0과 동일한 방법.
B11. 솔루션 B7 내지 B9 중 어느 하나에 있어서, 0과 동일한 제2 플래그는 현재 비디오 유닛에 대해 BDPCM 모드가 디스에이블되는 것을 명시하는 방법.
B12. 솔루션 B7 내지 B9 중 어느 하나에 있어서, 제1 플래그가 0과 같은 것에 의해 제2 플래그는 0 또는 1과 같을 수 있는 방법.
B13. 비디오 처리 방법으로서, 비디오의 현재 비디오 유닛과 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 비트스트림은 포맷 규칙을 따르고, 포맷 규칙은 제1 플래그가 비트스트림에 포함되는지를 명시하고, 상기 제1 플래그는 현재 비디오 유닛의 크로마 성분에 대한 블록 기반 델타 펄스 코드 변조(BDPCM) 모드가 디스에이블되는 것을 시퀀스 파라미터 세트(SPS)의 제2 플래그가 명시하는지를 나타내는 방법.
B14. 솔루션 B13에 있어서, 상기 제1 플래그는 비디오의 출력 레이어 세트의 하나 이상의 픽처에 대한 일반 제약 정보를 포함하는 방법.
B15. 솔루션 B13 또는 B14에 있어서, 제1 플래그는 no_bdpcm_chroma_constraint_flag이고, 제2 플래그는 sps_bdpcm_chroma_enabled_flag 인 방법.
B16. 솔루션 B13 내지 B15 중 어느 하나에 있어서, 제1 플래그가 1과 동일한 것에 의해 제2 플래그가 0과 동일한 방법.
B17. 솔루션 B13 내지 B15 중 어느 하나에 있어서, 0과 동일한 제2 플래그는 현재 비디오 유닛의 크로마 성분에 대해 BDPCM 모드가 디스에이블되는 것을 명시하는 방법.
B18. 솔루션 B13 내지 B15 중 어느 하나에 있어서, 제1 플래그가 0과 같은 것에 의해 제2 플래그는 0 또는 1과 같을 수 있는 방법.
B19. 비디오 처리 방법으로서, 비디오의 현재 비디오 유닛과 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 비트스트림은 포맷 규칙을 따르고, 포맷 규칙은 제1 플래그가 비트스트림에 포함되는지를 명시하고, 상기 제1 플래그는 현재 비디오 유닛에 대한 팔레트 모드가 디스에이블되는 것을 시퀀스 파라미터 세트(SPS)의 제2 플래그가 명시하는지를 나타내는 방법.
B20. 솔루션 B19에 있어서, 상기 제1 플래그는 비디오의 출력 레이어 세트의 하나 이상의 픽처에 대한 일반 제약 정보를 포함하는 방법.
B21. 솔루션 B19 또는 B20에 있어서, 제1 플래그는 no_palette_constraint_flag 이고, 제2 플래그는 sps_palette_enabled_flag 인 방법.
B22. 솔루션 B19 내지 B21 중 어느 하나에 있어서, 제1 플래그가 1과 동일한 것에 의해 제2 플래그가 0과 동일한 방법.
B23. 솔루션 B19 내지 B21 중 어느 하나에 있어서, 0과 동일한 제2 플래그는 현재 비디오 유닛에 대하여 팔레트 모드가 디스에이블되는 것을 명시하는 방법.
B24. 솔루션 B19 내지 B21 중 어느 하나에 있어서, 제1 플래그가 0과 같은 것에 의해 제2 플래그는 0 또는 1과 같을 수 있는 방법.
B25. 비디오 처리 방법으로서, 비디오의 현재 비디오 유닛과 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 비트스트림은 포맷 규칙을 따르고, 포맷 규칙은 제1 플래그가 비트스트림에 포함되는지를 명시하고, 상기 제1 플래그는 현재 비디오 유닛에 대한 참조 픽처 리샘플링(RPR) 모드가 디스에이블되는 것을 시퀀스 파라미터 세트(SPS)의 제2 플래그가 명시하는지를 나타내는 방법.
B26. 솔루션 B25에 있어서, 상기 제1 플래그는 비디오의 출력 레이어 세트의 하나 이상의 픽처에 대한 일반 제약 정보를 포함하는 방법.
B27. 솔루션 B25 또는 B26에 있어서, 제1 플래그는 no_ref_pic_resampling_constraint_flag 이고, 제2 플래그는 ref_pic_resampling_enabled_flag 인 방법.
B28. 솔루션 B25 내지 B27 중 어느 하나에 있어서, 제1 플래그가 1과 동일한 것에 의해 제2 플래그가 0과 동일한 방법.
B29. 솔루션 B25 내지 B27 중 어느 하나에 있어서, 0과 동일한 제2 플래그는 현재 비디오 유닛에 대하여 RPR 모드가 디스에이블되는 것을 명시하는 방법.
B30. 솔루션 B25 내지 B27 중 어느 하나에 있어서, 제1 플래그가 0과 같은 것에 의해 제2 플래그는 0 또는 1과 같을 수 있는 방법.
B31. 솔루션 B1 내지 B30 중 어느 하나에 있어서, 포맷 규칙은 제1 플래그가 비트스트림에서 시그널링되는지 여부가 조건에 기초함을 추가로 명시하는 방법.
B32. 솔루션 B31에 있어서, 상기 조건이 비디오의 크로마 포맷의 타입인 방법.
일부 실시예에 의해 선호되는 솔루션의 또 다른 리스트가 다음에 제공된다.
C1. 비디오 처리 방법으로서, 적응적 색 변환(ACT) 모드가 현재 비디오 블럭에 대해 인에이블되면 추가적인 양자화 파라미터 오프셋이 적용되는 것을 명시하는 규칙에 따라 비디오의 현재 비디오 블록과 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하는 방법.
C2. 솔루션 C1에 있어서, 하나 이상의 크로마 오프셋이 적용된 후에 추가 양자화 파라미터 오프셋이 적용되는 방법.
C3. 솔루션 C2에 있어서, 하나 이상의 크로마 오프셋이 픽처 파라미터 세트(PPS), 픽처 헤더(PH), 또는 슬라이스 헤더(SH)에서 명시되는 방법.
C4. 비디오 처리 방법으로서, 규칙에 따라 비디오의 현재 비디오 블록과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하고, 현재 비디오 블록은 YCgCo 색상 변환 또는 YCgCo 역 색상 변환이 현재 비디오 블록에 적용되는 조인트 CbCr 코딩 모드를 이용하여 코딩되고, 규칙은, YCgCo 색상 변환이 사용되는 조인트 CbCr 코딩 모드를 이용하여 현재 비디오 블록이 코딩되는 것에 의해, -5와는 다른 양자화 파라미터 오프셋이 현재 비디오 블록과 연관된 픽처 헤더(PH) 또는 픽처 파라미터 세트(PPS)에서 사용되는 것을 명시하는 방법.
C5. 솔루션 C4에 있어서, 조인트 CbCr 모드는 JCbCr 모드 2를 포함하는 방법.
C6. 비디오 처리 방법으로서, 규칙에 따라 비디오의 현재 비디오 블록과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하고, 현재 비디오 블록은 YCgCo-R 색상 변환 또는 YCgCo-R 역 색상 변환이 현재 비디오 블록에 적용되는 조인트 CbCr 코딩 모드를 이용하여 코딩되고, 규칙은, YCgCo-R 색상 변환이 사용되는 조인트 CbCr 코딩 모드를 이용하여 현재 비디오 블록이 코딩되는 것에 의해, 소정의 오프셋과는 다른 양자화 파라미터 오프셋이 현재 비디오 블록과 연관된 픽처 헤더(PH) 또는 픽처 파라미터 세트(PPS)에서 사용되는 것을 명시하는 방법.
C7. 솔루션 C6에 있어서, 조인트 CbCr 모드는 JCbCr 모드 2를 포함하는 방법.
C8. 솔루션 C6 또는 C7에 있어서, 소정의 오프셋이 1인 방법.
C9. 솔루션 C6 또는 C7에 있어서, 소정의 오프셋이 -1인 방법.
일부 실시예에 의해 선호되는 솔루션의 또 다른 리스트가 다음에 제공된다.
P1. 비디오 처리 방법으로서, 비디오 블록에 대한 적응적 색 변환(ACT) 모드 및/또는 루마 BDPCM 모드의 사용이 인에이블되는지에 기초하여 비디오의 비디오 블록에 대한 크로마 블록 기반 델타 펄스 코드 변조(BDPCM) 모드를 인에이블할지를 결정하는 단계; 및 상기 결정에 따라 비디오 블록과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하는 비디오 처리 방법.
P2. 솔루션 P1에 있어서, 크로마 BDPCM 모드를 인에이블링하는 것과 연관된 제1 플래그에 대한 제1 값에 대한 시그널링은 비디오 블록에 대해 인에이블링되는 ACT 모드의 시그널링 및 루마 BDPCM 모드의 사용과 연관된 제2 플래그에 대한 제2 값의 시그널링에 기초하여 결정되는 방법.
P3. 솔루션 P2에 있어서, ACT 모드가 인에이블되는 것과 제2 플래그에 대한 제2 값이 거짓 값을 갖는 것에 응답하여, 제1 플래그에 대한 제1 값은 거짓 값을 갖는 방법.
P4. 솔루션 P2에 있어서, 제2 플래그에 대한 제2 값이 참 값을 갖는 것에 응답하여, 제1 플래그에 대한 제1 값은 참 값을 갖는 방법.
P5. 솔루션 P1에 있어서, 비디오 블록에 대한 ACT 모드의 시그널링은 비디오 블록의 루마 샘플 및 크로마 샘플에 사용되는 동일한 BDPCM 예측 방향에 조건적으로 기초하는 방법.
P6. 솔루션 P5에 있어서, ACT 모드의 시그널링은 크로마 BDPCM 모드 및 루마 BDPCM 모드의 시그널링 후에 표시되는 방법.
P7. 솔루션 P1에 있어서, ACT 모드의 사용이 인에이블되는 것에 응답하여, 크로마 BDPCM 모드의 제1 예측 방향을 나타내는 제1 값이 루마 BDPCM 모드의 제2 예측 방향을 나타내는 제2 값으로부터 유도되는 방법 .
P8. 솔루션 P7에 있어서, 크로마 BDPCM 모드의 제1 예측 방향을 나타내는 제1 값은 루마 BDPCM 모드의 제2 예측 방향을 나타내는 제2 값과 동일한 방법.
P9. 솔루션 P8에 있어서, 크로마 BDPCM 모드의 제1 예측 방향 및 루마 BDPCM 모드의 제2 예측 방향이 수평 방향인 방법.
P10. 솔루션 P8에 있어서, 크로마 BDPCM 모드의 제1 예측 방향 및 루마 BDPCM 모드의 제2 예측 방향이 수직 방향인 방법.
P11. 솔루션 P1에 있어서, ACT 모드의 사용이 디스에이블되는 것에 응답하여, 크로마 BDPCM 모드의 제1 예측 방향을 나타내는 제1 값은 0인 방법.
P12. 비디오 처리 방법으로서, 비디오 블록에 대한 적응적 색 변환(ACT) 모드의 사용이 인에이블되는지에 기초하여 비디오의 비디오 블록에 대해 블록 기반 델타 펄스 코드 변조(BDPCM) 모드를 인에이블링할지를 결정하는 단계; 및 상기 결정에 따라 비디오 블록과 비디오의 비트스트림 표현 사이의 변환을 수행하는 단계를 포함하는 방법.
P13. 솔루션 P12에 있어서, ACT 모드가 비디오 블록에 대해 인에이블되는 것에 응답하여 BDPCM 모드가 비디오 블록에 대해 디스에이블되는 방법.
P14. 솔루션 P13에 있어서, BDPCM 모드를 나타내는 제1 플래그는 ACT 모드를 나타내는 제2 플래그 이후에 시그널링되는 방법.
P15. 솔루션 P13에 있어서, BDPCM 모드를 나타내는 플래그가 시그널링되지 않고, 플래그가 거짓 값 또는 0인 것으로 결정되는 방법.
P16. 솔루션 P12에 있어서, BDPCM 모드가 비디오 블록에 대해 인에이블되는 것에 응답하여 ACT 모드가 비디오 블록에 대해 디스에이블되는 방법.
P17. 솔루션 P16에 있어서, BDPCM 모드를 나타내는 제1 플래그가 ACT 모드를 나타내는 제2 플래그 전에 시그널링되는 방법.
P18. 솔루션 P16에 있어서, ACT 모드를 나타내는 플래그가 시그널링되지 않고, 플래그가 거짓 값 또는 0인 것으로 결정되는 방법.
P19. 솔루션 P12 내지 P18 중 어느 하나에 있어서, BDPCM 모드는 루마 BDPCM 모드 및/또는 크로마 BDPCM 모드를 포함하는 방법.
P20. 솔루션 P1에 있어서, 크로마 BDPCM 모드 및 루마 BDPCM 모드가 상이한 예측 모드와 연관될 때 ACT 모드가 적용되는 방법.
P21. 솔루션 P20에 있어서, 순방향 ACT 모드가 크로마 BDPCM 모드 또는 루마 BDPCM 모드 후에 적용되는 방법.
P22. 솔루션 P1 내지 P21 중 어느 하나에 있어서, ACT 모드가 인에이블링되는 것에 응답하여 비디오 블록에 대한 양자화 파라미터(QP)가 클리핑되는 것인 방법.
P23. 솔루션 P22에 있어서, QP를 클리핑하기 위한 클리핑 함수가 (l, h, x)로 정의되고, 여기서 l은 입력(x)의 가능한 가장 낮은 값이고 h는 입력(x)의 가능한 가장 높은 값인 방법.
P24. 솔루션 P23에 있어서, l이 0인 방법.
P25. 솔루션 P23에 있어서, h가 63인 방법.
P26. 솔루션 P22에 있어서, ACT 모드에 대해 QP가 조정된 후에 비디오 블록에 대한 QP가 클리핑되는 방법.
P27. 솔루션 P23에 있어서, 변환 스킵이 비디오 블록에 적용되는 것에 응답하여, l은 변환 스킵 모드에 대한 최소 허용 QP와 동일한 방법.
P28. 솔루션 P23 내지 P26 중 어느 하나에 있어서, l, h, m, n 및/또는 k는 (i) DPS/SPS/VPS/PPS/APS/픽처 헤더/슬라이스 헤더/타일 그룹 헤더/최대 코딩 유닛(LCU)/코딩 유닛(CU)/LCU 행/LCU의 그룹/TU/PU 블록/비디오 코딩 유닛에서 시그널링되는 메시지, (ii) CU/PU/TU/블록/비디오 코딩 유닛의 위치, (iii) 에지를 따라 샘플을 포함하는 블록의 코딩된 모드, (iv) 에지를 따라 샘플을 포함하는 블록에 적용된 변환 매트릭스, (v) 현재 블록 및/또는 그 인접 블록의 블록 치수/블록 형상, (vi) (4:2:0, 4:4:4, RGB 또는 YUV 등의) 색상 포맷의 표시, (vii) (듀얼 트리 또는 싱글 트리 등의) 코딩 트리 구조, (viii) 슬라이스/타일 그룹 타입 및/또는 픽처 타입, (ix) 색상 성분(예를 들어, Cb 또는 Cr에만 적용될 수 있다), (x) 시간적 레이어 ID, 또는 (xi) 표준의 프로파일/레벨/티어에 의존하는 정수인 방법.
P29. 솔루션 P23 내지 P26 중 어느 하나에 있어서, l, h, m, n 및/또는 k가 디코더로 시그널링되는 방법.
P30. 솔루션 P30 중 어느 하나에 있어서, 색상 포맷은이 4:2:0 또는 4:2:2인 방법.
P31. 솔루션 P1 내지 P30 중 어느 하나에 있어서, ACT 모드 또는 BDPCM 모드 또는 크로마 BDPCM 모드 또는 루마 BDPCM 모드에 대한 표시는 시퀀스, 픽처, 슬라이스, 타일, 브릭, 또는 비디오 영역 레벨에서 시그널링되는 방법.
다음 기술적 솔루션은 상기 솔루션 중 하나에 적용될 수 있다.
O1. 이전 솔루션 중 어느 하나에 있어서, 상기 변환은 비트스트림 표현으로부터 상기 비디오를 디코딩하는 것을 포함하는 방법.
O2. 이전 솔루션 중 어느 하나에 있어서, 상기 변환은 비디오를 비트스트림 표현으로 인코딩하는 것을 포함하는 방법.
O3. 이전 항 중 어느 한 항에 있어서, 상기 변환은 현재 비디오 유닛으로부터 비트스트림을 생성하는 단계를 포함하고,상기 비트스트림을 비일시적 컴퓨터 판독가능 기록매체에 저장하는 단계를 더 포함하는 방법.
O4. 비디오를 나타내는 비트스트림을 컴퓨터 판독가능 기록매체에 저장하는 방법으로서, 선행하는 항 중 어느 하나에 기재된 방법에 따라 비디오로부터 비트스트림을 생성하는 단계; 및 상기 컴퓨터 판독가능 기록매체에 상기 비트스트림을 기록(write)하는 단계를 포함하는 방법.
O5. 선행하는 항 중 어느 하나에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 처리 장치.
O6. 명령어가 저장되어 있고, 상기 명령어는, 실행될 때 프로세서가 선행하는 항 중 어느 하나에 기재된 방법을 구현하도록 하는 컴퓨터 판독가능 매체.
O7. 선행하는 항 중 어느 하나에 따라 생성된 비트스트림 표현을 저장하는 컴퓨터 판독가능 매체.
O8. 비트스트림 표현을 저장하기 위한 비디오 처리 장치로서, 상기 비디오 처리 장치는 선행하는 항 중 어느 하나에 기재된 방법을 구현하도록 구성되는 비디오 처리 장치.
O9. 여기에 기술된 방법을 사용하여 생성된 비트스트림으로서, 비트스트림은 컴퓨터 판독가능 매체에 저장되는 비트스트림.
본 문서에서 "비디오 처리"라는 용어는 비디오 인코딩, 비디오 디코딩, 비디오 압축 또는 비디오 압축해제를 지칭할 수 있다. 예를 들어, 비디오 압축 알고리즘은 비디오의 픽셀 표현에서 대응하는 비트스트림 표현으로 또는 그 반대로 변환하는 동안 적용될 수 있다. 현재 비디오 블록의 비트스트림 표현은, 예를 들어, 신택스에 의해 정의된 바와 같이 비트스트림 내의 다른 위치에 함께 배치되거나 확산되는 비트에 대응할 수 있다. 예를 들어, 매크로블록은, 변환되고 코딩된 에러 잔차 값의 관점에서 그리고 또한 헤더의 비트 및 비트스트림의 다른 필드를 사용하여 인코딩될 수 있다.
이 문서에 설명된 개시된 및 다른 솔루션, 예, 실시예, 모듈 및 기능적 동작은 디지털 전자 회로, 본 문서에 개시된 구조, 그들의 구조적 동등물들을 포함하는 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어 또는 이들 중의 하나 이상의 조합으로 구현될 수 있다. 개시된 실시예 및 다른 실시예는 하나 이상의 컴퓨터 프로그램 제품, 즉, 데이터 프로세싱 장치에 의한 실행 또는 그의 동작의 제어를 위해 컴퓨터 판독가능 매체 상에 인코딩되는 컴퓨터 프로그램 명령의 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터 판독가능 매체는 머신-판독가능 저장 장치, 머신-판독가능 저장 기판, 메모리 장치, 머신-판독가능 전파 신호에 영향을 주는 물질의 구성 또는 그들 중의 하나 이상의 조합일 수 있다. 용어 "데이터 프로세싱 장치"는 데이터 처리를 위한 모든 장치, 디바이스 및 머신을 포함하며, 예를 들어 프로그램 가능한 프로세서, 컴퓨터 또는 다중 프로세서 또는 컴퓨터를 포함한다. 장치는 하드웨어에 더하여 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나의 조합을 구성하는 코드를 포함할 수 있다. 전파되는 신호는 인공적으로 생성된 신호, 예를 들어, 머신 생성 전기, 광, 또는 전자기 신호이며, 이는 적절한 수신기 장치로의 전송을 위한 정보를 인코딩하기 위해 생성된다.
컴퓨터 프로그램 (프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 함)은 컴파일된 언어 또는 해석된 언어를 포함하여 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 독립형 프로그램 또는 컴퓨터 환경에서 사용되기에 적합한 모듈, 컴포넌트, 서브루틴 또는 다른 유닛으로서 임의의 형태로 배치(deploy)될 수 있다. 컴퓨터 시스템은 파일 시스템 내의 파일에 반드시 대응되는 것은 아니다. 프로그램은 다른 프로그램 또는 데이터를 보유하는 파일의 일부(예를 들어 마크업 언어 문서에 저장된 하나 이상의 스크립트) 또는 문제의 프로그램의 전용인 단일 파일 또는 다중 편성(coordinated) 파일(예를 들어, 하나 이상의 모듈, 서브 프로그램 또는 코드의 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은, 하나의 컴퓨터 또는 한 사이트에 위치하거나 다수의 사이트에 걸쳐 분배되고 통신 네트워크에 의해 상호 접속되는 다수의 컴퓨터 상에서 실행되도록 배치될 수 있다.
본 명세서에 설명된 프로세스 및 로직 흐름은 입력 데이터에 대해 작동하고 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍가능한 프로세서에 의해 수행될 수 있다. 프로세스 및 로직 흐름은 또한 FPGA (필드 프로그래밍 가능 게이트 어레이) 또는 ASIC (애플리케이션 특정 집적 회로)와 같은 특수 목적 로직 회로로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어 범용 및 특수 목적의 마이크로 프로세서와 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 리드 온리 메모리 또는 랜덤 액세스 메모리 또는 둘 다에서 명령과 데이터를 수신한다. 컴퓨터의 필수 요소는 명령을 수행하기위한 프로세서와 명령과 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치, 예를 들어 자기, 광 자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 데이터를 전송하거나 둘 모두를 수행하도록 동작 가능하게 결합된다. 그러나 컴퓨터가 이러한 장치를 가질 필요는 없다. 컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는 예를 들어 EPROM, EEPROM 및 플래시 메모리 장치와 같은 반도체 메모리 장치; 내부 하드 디스크 또는 제거가능 디스크 등의 자기 디스크; 광자기 디스크 및 CD ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치를 포함한다. 프로세서와 메모리는 특수 목적 로직 회로에 의해 보완되거나 통합될 수 있다.
이 특허 문서에는 많은 세부 사항이 포함되어 있지만, 이는 임의의 발명의 범위 또는 청구 대상에 대한 제한으로 해석되어서는 안되며, 특정 발명의 특정 실시예에 특정될 수 있는 특징에 대한 설명으로 해석되어야 한다. 개별 실시예의 맥락에서 본 특허 문서에 설명된 특정 특징은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시 예의 맥락에서 설명된 다양한 특징은 또한 다중 실시 예에서 개별적으로 또는 임의의 적절한 하위 조합으로 구현될 수 있다. 더욱이, 특징이 특정 조합으로 작용하는 것으로 위에서 설명될 수 있고 심지어 처음에 그렇게 청구될 수도 있지만, 청구된 조합으로부터 하나 이상의 특징이 어떤 경우에는 조합으로부터 삭제될 수 있고, 청구된 조합은 하위 조합 또는 변형일 수 있다.
유사하게, 동작이 특정 순서로 도면에 도시되어 있지만, 이는 바람직한 결과를 달성하기 위해 그러한 동작이 도시된 특정 순서 또는 순차적인 순서로 수행되거나 모든 예시된 동작이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 더욱이, 이 특허 문헌에 설명된 실시예들에서 다양한 시스템 컴포넌트들의 분리는 모든 실시예들에서 그러한 분리를 요구하는 것으로 이해되어서는 안된다.
단지 몇 가지 구현예 및 예가 설명되고, 다른 구현예, 향상 및 변형이 특허 문서에 설명되고 예시된 것에 기초하여 이루어질 수 있다.
Claims (40)
- 비디오 처리 방법으로서,
비디오의 현재 비디오 유닛과 상기 비디오의 비트스트림 간의 변환을 수행하는 단계를 포함하고,
상기 비트스트림은 포맷 규칙을 따르고,
상기 포맷 규칙은 제1 플래그가 상기 비트스트림에 포함되는지를 명시하고,
상기 제1 플래그는 상기 현재 비디오 유닛에 대한 적응적 색 변환(ACT) 모드가 디스에이블되는 것을 시퀀스 파라미터 세트(SPS)의 제2 플래그가 명시하는지를 나타내는 방법. - 제1항에 있어서, 상기 제1 플래그는 상기 비디오의 출력 레이어의 세트의 하나 이상의 픽처에 대한 일반 제약 정보를 포함하는 방법.
- 제1항 또는 제2항에 있어서, 상기 제1 플래그는 no_act_constraint_flag이고 제2 플래그는 sps_act_enabled_flag인 방법.
- 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 제1 플래그가 1과 동일한 것에 의해 상기 제2 플래그가 0과 동일한 방법.
- 제1항 내지 제3항 중 어느 한 항에 있어서, 0과 동일한 상기 제2 플래그는 상기 현재 비디오 유닛에 대해 ACT 모드가 디스에이블되는 것을 명시하는 방법.
- 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 제1 플래그가 0과 같은 것에 의해 상기 제2 플래그는 0 또는 1과 같을 수 있는 방법.
- 비디오 처리 방법으로서,
비디오의 현재 비디오 유닛과 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고,
상기 비트스트림은 포맷 규칙을 따르고,
상기 포맷 규칙은 제1 플래그가 상기 비트스트림에 포함되는지를 명시하고,
상기 제1 플래그는 상기 현재 비디오 유닛에 대한 블록 기반 델타 펄스 코드 변조(BDPCM) 모드가 디스에이블되는 것을 시퀀스 파라미터 세트(SPS)의 제2 플래그가 명시하는지를 나타내는 방법. - 제7항에 있어서, 상기 제1 플래그는 상기 비디오의 출력 레이어 세트의 하나 이상의 픽처에 대한 일반 제약 정보를 포함하는 방법.
- 제7항 또는 제8항에 있어서, 제1 플래그는 no_bdpcm_constraint_flag이고, 제2 플래그는 sps_bdpcm_enabled_flag인 방법.
- 제7항 내지 제9항 중 어느 한 항에 있어서, 상기 제1 플래그가 1과 동일한 것에 의해 상기 제2 플래그가 0과 동일한 방법.
- 제7항 내지 제9항 중 어느 한 항에 있어서, 0과 동일한 상기 제2 플래그는 상기 현재 비디오 유닛에 대해 상기 BDPCM 모드가 디스에이블되는 것을 명시하는 방법.
- 제7항 내지 제9항 중 어느 한 항에 있어서, 상기 제1 플래그가 0과 같은 것에 의해 상기 제2 플래그는 0 또는 1과 같을 수 있는 방법.
- 비디오 처리 방법으로서,
비디오의 현재 비디오 유닛과 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고,
상기 비트스트림은 포맷 규칙을 따르고,
상기 포맷 규칙은 제1 플래그가 비트스트림에 포함되는지를 명시하고,
상기 제1 플래그는 상기 현재 비디오 유닛의 크로마 성분에 대한 블록 기반 델타 펄스 코드 변조(BDPCM) 모드가 디스에이블되는 것을 시퀀스 파라미터 세트(SPS)의 제2 플래그가 명시하는지를 나타내는 방법. - 제13항에 있어서, 상기 제1 플래그는 상기 비디오의 출력 레이어 세트의 하나 이상의 픽처에 대한 일반 제약 정보를 포함하는 방법.
- 제13항 또는 제14항에 있어서, 상기 제1 플래그는 no_bdpcm_chroma_constraint_flag이고, 상기 제2 플래그는 sps_bdpcm_chroma_enabled_flag인 방법.
- 제13항 내지 제15항 중 어느 한 항에 있어서, 상기 제1 플래그가 1과 동일한 것에 의해 상기 제2 플래그가 0과 동일한 방법.
- 제13항 내지 제15항 중 어느 한 항에 있어서, 0과 동일한 상기 제2 플래그는 상기 현재 비디오 유닛의 크로마 성분에 대해 BDPCM 모드가 디스에이블되는 것을 명시하는 방법.
- 제13항 내지 제15항 중 어느 한 항에 있어서, 상기 제1 플래그가 0과 같은 것에 의해 상기 제2 플래그는 0 또는 1과 같을 수 있는 방법.
- 비디오 처리 방법으로서,
비디오의 현재 비디오 유닛과 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고,
상기 비트스트림은 포맷 규칙을 따르고,
상기 포맷 규칙은 제1 플래그가 상기 비트스트림에 포함되는지를 명시하고,
상기 제1 플래그는 상기 현재 비디오 유닛에 대한 팔레트 모드가 디스에이블되는 것을 시퀀스 파라미터 세트(SPS)의 제2 플래그가 명시하는지를 나타내는 방법. - 제19항에 있어서, 상기 제1 플래그는 상기 비디오의 출력 레이어 세트의 하나 이상의 픽처에 대한 일반 제약 정보를 포함하는 방법.
- 제19항 또는 제20항 중 어느 한 항에 있어서, 상기 제1 플래그는 no_palette_constraint_flag 이고, 상기 제2 플래그는 sps_palette_enabled_flag인 방법.
- 제19항 또는 제21항 중 어느 한 항에 있어서, 상기 제1 플래그가 1과 동일한 것에 의해 상기 제2 플래그가 0과 동일한 방법.
- 제19항 또는 제21항 중 어느 한 항에 있어서, 0과 동일한 상기 제2 플래그는 상기 현재 비디오 유닛에 대하여 상기 팔레트 모드가 디스에이블되는 것을 명시하는 방법.
- 제19항 또는 제21항 중 어느 한 항에 있어서, 상기 제1 플래그가 0과 같은 것에 의해 상기 제2 플래그는 0 또는 1과 같을 수 있는 방법.
- 비디오 처리 방법으로서,
비디오의 현재 비디오 유닛과 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고,
상기 비트스트림은 포맷 규칙을 따르고,
상기 포맷 규칙은 제1 플래그가 상기 비트스트림에 포함되는지를 명시하고,
상기 제1 플래그는 상기 현재 비디오 유닛에 대한 참조 픽처 리샘플링(RPR) 모드가 디스에이블되는 것을 시퀀스 파라미터 세트(SPS)의 제2 플래그가 명시하는지를 나타내는 방법. - 제25항에 있어서, 상기 제1 플래그는 상기 비디오의 출력 레이어 세트의 하나 이상의 픽처에 대한 일반 제약 정보를 포함하는 방법.
- 제25항 또는 제26항에 있어서, 상기 제1 플래그는 no_ref_pic_resampling_constraint_flag이고, 상기 제2 플래그는 ref_pic_resampling_enabled_flag인 방법.
- 제25항 내지 27항 중 어느 한 항에 있어서, 상기 제1 플래그가 1과 동일한 것에 의해 상기 제2 플래그가 0과 동일한 방법.
- 제25항 내지 27항 중 어느 한 항에 있어서, 0과 동일한 상기 제2 플래그는 상기 현재 비디오 유닛에 대하여 상기 RPR 모드가 디스에이블되는 것을 명시하는 방법.
- 제25항 내지 27항 중 어느 한 항에 있어서, 상기 제1 플래그가 0과 같은 것에 의해 상기 제2 플래그는 0 또는 1과 같을 수 있는 방법.
- 제1항 내지 30항 중 어느 한 항에 있어서, 상기 포맷 규칙은 상기 제1 플래그가 상기 비트스트림에서 시그널링되는지 여부가 조건에 기초함을 추가로 명시하는 방법.
- 제31항에 있어서, 상기 조건이 상기 비디오의 크로마 포맷의 타입인 방법.
- 제1항 내지 제32항 중 어느 한 항에 있어서, 상기 변환은 비트스트림 표현으로부터 상기 비디오를 디코딩하는 것을 포함하는 방법.
- 제1항 내지 제32항 중 어느 한 항에 있어서, 상기 변환은 상기 비디오를 비트스트림 표현으로 인코딩하는 것을 포함하는 방법.
- 제1항 내지 제32항 중 어느 한 항에 있어서,
상기 변환은 상기 현재 비디오 유닛으로부터 상기 비트스트림을 생성하는 단계를 포함하고,
상기 방법은 상기 비트스트림을 비일시적 컴퓨터 판독가능 기록매체에 저장하는 단계를 더 포함하는 방법. - 비디오를 나타내는 비트스트림을 컴퓨터 판독가능 기록매체에 저장하는 방법으로서,
제1항 내지 제32항 중 어느 하나 이상의 항에 기재된 방법에 따라 비디오로부터 비트스트림을 생성하는 단계; 및
상기 컴퓨터 판독가능 기록매체에 상기 비트스트림을 기록(write)하는 단계를 포함하는 방법. - 제1항 내지 제36항 중 어느 하나 이상의 항에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 처리 장치.
- 명령어가 저장되어 있고, 상기 명령어는, 실행될 때, 프로세서가 제1항 내지 제36항 중 어느 하나 이상의 항에 기재된 방법을 구현하도록 하는 컴퓨터 판독가능 매체.
- 제1항 내지 제36항 중 어느 하나 이상의 항에 따라 생성된 비트스트림 표현을 저장하는 컴퓨터 판독가능 매체.
- 비트스트림 표현을 저장하기 위한 비디오 처리 장치로서, 상기 비디오 처리 장치는 제1항 내지 제36항 중 어느 하나 이상의 항에 기재된 방법을 구현하도록 구성되는 비디오 처리 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNPCT/CN2020/070368 | 2020-01-05 | ||
CN2020070368 | 2020-01-05 | ||
PCT/CN2021/070279 WO2021136554A1 (en) | 2020-01-05 | 2021-01-05 | General constraints information for video coding |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220115965A true KR20220115965A (ko) | 2022-08-19 |
Family
ID=76687345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227021593A KR20220115965A (ko) | 2020-01-05 | 2021-01-05 | 비디오 코딩을 위한 일반적인 제약 정보 |
Country Status (6)
Country | Link |
---|---|
US (4) | US20220345730A1 (ko) |
EP (1) | EP4070558A4 (ko) |
JP (2) | JP7436680B2 (ko) |
KR (1) | KR20220115965A (ko) |
CN (3) | CN115191118A (ko) |
WO (3) | WO2021136555A1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021145691A1 (ko) * | 2020-01-14 | 2021-07-22 | 현대자동차주식회사 | 적응적 색상 변환을 이용하는 비디오 부호화 및 복호화 |
KR20220156831A (ko) | 2020-03-20 | 2022-11-28 | 바이트댄스 아이엔씨 | 서브픽처의 레퍼런스 픽처 목록에 대한 제약 |
US11451811B2 (en) * | 2020-04-05 | 2022-09-20 | Tencent America LLC | Method and apparatus for video coding |
BR112022021342A2 (pt) * | 2020-04-20 | 2022-12-13 | Bytedance Inc | Método de processamento de vídeo, aparelho para processamento de dados de vídeo, meios de armazenamento e de gravação não transitórios legíveis por computador |
Family Cites Families (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6016163A (en) * | 1997-03-12 | 2000-01-18 | Scientific-Atlanta, Inc. | Methods and apparatus for comparing blocks of pixels |
US7369612B2 (en) * | 2000-12-11 | 2008-05-06 | Sony Corporation | Video decoder and method for using the same |
KR101348365B1 (ko) | 2006-08-02 | 2014-01-10 | 삼성전자주식회사 | 영상의 부호화 방법 및 장치, 복호화 방법 및 장치 |
US9338475B2 (en) | 2008-04-16 | 2016-05-10 | Intel Corporation | Tone mapping for bit-depth scalable video codec |
US7902540B2 (en) | 2008-05-21 | 2011-03-08 | International Business Machines Corporation | Fast P-I-N photodetector with high responsitivity |
US9001883B2 (en) | 2011-02-16 | 2015-04-07 | Mediatek Inc | Method and apparatus for slice common information sharing |
WO2012117744A1 (en) | 2011-03-03 | 2012-09-07 | Panasonic Corporation | Method of encoding an image into a coded image, method of decoding a coded image, and apparatuses thereof |
US9344721B2 (en) * | 2011-06-23 | 2016-05-17 | Saab Ab | Best quality given a maximum bit rate |
US9451258B2 (en) | 2012-04-03 | 2016-09-20 | Qualcomm Incorporated | Chroma slice-level QP offset and deblocking |
US20130272390A1 (en) | 2012-04-16 | 2013-10-17 | Qualcomm Incorporated | Uniform granularity for quantization matrix in video coding |
US9591302B2 (en) | 2012-07-02 | 2017-03-07 | Microsoft Technology Licensing, Llc | Use of chroma quantization parameter offsets in deblocking |
US9414054B2 (en) | 2012-07-02 | 2016-08-09 | Microsoft Technology Licensing, Llc | Control and use of chroma quantization parameter values |
US10070125B2 (en) | 2013-07-31 | 2018-09-04 | Nokia Technologies Oy | Method and apparatus for video coding and decoding |
US9294766B2 (en) * | 2013-09-09 | 2016-03-22 | Apple Inc. | Chroma quantization in video coding |
KR101782454B1 (ko) * | 2013-12-06 | 2017-09-28 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 이미지 복호화 장치, 이미지 부호화 장치, 및 부호화된 데이터 변환 장치 |
US9930929B2 (en) * | 2013-12-27 | 2018-04-03 | Nike, Inc. | Sole structure for an article of footwear with abrasion resistant outsole and method of manufacturing same |
AU2015228999B2 (en) | 2014-03-14 | 2018-02-01 | Interdigital Vc Holdings, Inc. | Systems and methods for RGB video coding enhancement |
US9948933B2 (en) * | 2014-03-14 | 2018-04-17 | Qualcomm Incorporated | Block adaptive color-space conversion coding |
TWI589152B (zh) * | 2014-04-25 | 2017-06-21 | 夏普股份有限公司 | 圖像解碼裝置、圖像編碼裝置以及編碼資料轉換裝置 |
CN106416257B (zh) * | 2014-05-23 | 2019-05-10 | 寰发股份有限公司 | 调色板大小发信和有条件的调色板例外标志发信的方法 |
BR112017004886A2 (pt) | 2014-09-12 | 2017-12-05 | Vid Scale Inc | dispositivo de codificação de vídeo e método de codificação de vídeo |
WO2016049894A1 (en) * | 2014-09-30 | 2016-04-07 | Mediatek Inc. | Scaling in color transform |
GB2531004A (en) | 2014-10-06 | 2016-04-13 | Canon Kk | Residual colour transform signalled at sequence level for specific coding modes |
US9609362B2 (en) | 2014-10-06 | 2017-03-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Coding and deriving quantization parameters |
US9883184B2 (en) * | 2014-10-07 | 2018-01-30 | Qualcomm Incorporated | QP derivation and offset for adaptive color transform in video coding |
CN105960802B (zh) | 2014-10-08 | 2018-02-06 | 微软技术许可有限责任公司 | 切换色彩空间时对编码和解码的调整 |
RU2686559C2 (ru) * | 2015-01-29 | 2019-04-29 | Кэнон Кабусики Кайся | Инициализатор предсказателя палитры при кодировании или декодировании самостоятельных кодируемых структур |
US9986248B2 (en) * | 2015-01-29 | 2018-05-29 | Qualcomm Incorporated | Palette mode coding for video coding |
US10158836B2 (en) | 2015-01-30 | 2018-12-18 | Qualcomm Incorporated | Clipping for cross-component prediction and adaptive color transform for video coding |
EP3248377B1 (en) * | 2015-02-16 | 2022-05-04 | HFI Innovation Inc. | Method and apparatus for palette predictor initialization for palette coding in video and image compression |
WO2016161967A1 (en) * | 2015-04-08 | 2016-10-13 | Mediatek Inc. | Methods of palette mode coding in video coding |
JP6593122B2 (ja) | 2015-11-20 | 2019-10-23 | 富士通株式会社 | 動画像符号化装置、動画像符号化方法、及びプログラム |
US20170310969A1 (en) * | 2016-04-20 | 2017-10-26 | Mediatek Inc. | Image encoding method and apparatus with color space transform performed upon predictor and associated image decoding method and apparatus |
US10200698B2 (en) * | 2016-08-09 | 2019-02-05 | Intel Corporation | Determining chroma quantization parameters for video coding |
AU2016231584A1 (en) | 2016-09-22 | 2018-04-05 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding video data |
US10574989B2 (en) | 2016-10-17 | 2020-02-25 | Arris Enterprises Llc | Temporal local activity for quantization parameter (QP) offset for video coding |
CN116320495A (zh) | 2016-11-28 | 2023-06-23 | 韩国电子通信研究院 | 用于滤波的方法和装置 |
EP3425911A1 (en) | 2017-07-06 | 2019-01-09 | Thomson Licensing | A method and a device for picture encoding and decoding |
CN108701363B (zh) | 2017-07-07 | 2021-06-29 | 广东虚拟现实科技有限公司 | 使用多相机识别和追踪对象的方法、设备和系统 |
US10523968B2 (en) * | 2017-09-18 | 2019-12-31 | Google Llc | Coding of last significant coefficient flags |
WO2019065487A1 (ja) | 2017-09-28 | 2019-04-04 | シャープ株式会社 | 値制限フィルタ装置、動画像符号化装置および動画像復号装置 |
KR102432486B1 (ko) | 2017-11-22 | 2022-08-12 | 삼성전자주식회사 | 비디오 복호화 장치 및 이를 포함하는 컴퓨팅 시스템 및 비디오 복호화 방법 |
CN111416976B (zh) * | 2019-01-08 | 2023-12-08 | 浙江大学 | 视频解码方法、视频编码方法、装置、设备及存储介质 |
US11070825B2 (en) * | 2019-06-13 | 2021-07-20 | Mediatek Inc. | Method and apparatus of encoding or decoding video data with adaptive colour transform |
KR20220021442A (ko) * | 2019-06-18 | 2022-02-22 | 엘지전자 주식회사 | 영상 디코딩 방법 및 그 장치 |
US11032548B2 (en) * | 2019-06-24 | 2021-06-08 | Tencent America LLC | Signaling for reference picture resampling |
US11616962B2 (en) * | 2019-07-15 | 2023-03-28 | Tencent America LLC | Method and apparatus for video coding |
JP7379655B2 (ja) | 2019-07-19 | 2023-11-14 | ウィルス インスティテュート オブ スタンダーズ アンド テクノロジー インコーポレイティド | ビデオ信号処理方法及び装置 |
EP4011068A4 (en) | 2019-08-06 | 2023-08-09 | OP Solutions, LLC | IMPLICIT SIGNALING OF ADAPTIVE RESOLUTION MANAGEMENT BASED ON FRAME TYPE |
CN114424541B (zh) * | 2019-08-16 | 2024-05-31 | 苹果公司 | 压缩视频及重建压缩视频的系统、方法、及存储介质 |
JP7434545B2 (ja) | 2019-10-28 | 2024-02-20 | エルジー エレクトロニクス インコーポレイティド | 色空間変換を用いる画像符号化/復号化方法、装置、及びビットストリームを伝送する方法 |
US11483549B2 (en) * | 2019-11-21 | 2022-10-25 | Hfi Innovation Inc. | Methods and apparatuses for transform skip mode information signaling |
CN114930827A (zh) * | 2019-11-22 | 2022-08-19 | Lg电子株式会社 | 使用无损颜色变换的图像编码/解码方法和装置及比特流发送方法 |
CN118317118A (zh) * | 2019-11-26 | 2024-07-09 | 韦勒斯标准与技术协会公司 | 通过使用自适应颜色空间变换处理视频信号的方法和设备 |
JP2023011955A (ja) | 2019-12-03 | 2023-01-25 | シャープ株式会社 | 動画像符号化装置、動画像復号装置 |
-
2021
- 2021-01-05 CN CN202180008244.2A patent/CN115191118A/zh active Pending
- 2021-01-05 WO PCT/CN2021/070282 patent/WO2021136555A1/en active Application Filing
- 2021-01-05 CN CN202180008254.6A patent/CN115152220A/zh active Pending
- 2021-01-05 WO PCT/CN2021/070265 patent/WO2021136553A1/en active Application Filing
- 2021-01-05 JP JP2022541250A patent/JP7436680B2/ja active Active
- 2021-01-05 WO PCT/CN2021/070279 patent/WO2021136554A1/en unknown
- 2021-01-05 KR KR1020227021593A patent/KR20220115965A/ko not_active Application Discontinuation
- 2021-01-05 CN CN202180008261.6A patent/CN115211123A/zh active Pending
- 2021-01-05 EP EP21736195.5A patent/EP4070558A4/en active Pending
-
2022
- 2022-07-05 US US17/857,924 patent/US20220345730A1/en active Granted
- 2022-07-05 US US17/857,874 patent/US11838523B2/en active Active
-
2023
- 2023-09-21 US US18/471,485 patent/US20240064315A1/en active Pending
- 2023-11-27 JP JP2023200159A patent/JP2024023413A/ja active Pending
- 2023-11-30 US US18/524,994 patent/US20240114156A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2021136553A1 (en) | 2021-07-08 |
US11838523B2 (en) | 2023-12-05 |
US20240114156A1 (en) | 2024-04-04 |
US20240064315A1 (en) | 2024-02-22 |
JP7436680B2 (ja) | 2024-02-22 |
US20220345730A1 (en) | 2022-10-27 |
JP2024023413A (ja) | 2024-02-21 |
CN115152220A (zh) | 2022-10-04 |
CN115191118A (zh) | 2022-10-14 |
EP4070558A1 (en) | 2022-10-12 |
CN115211123A (zh) | 2022-10-18 |
US20220353495A1 (en) | 2022-11-03 |
WO2021136555A1 (en) | 2021-07-08 |
WO2021136554A1 (en) | 2021-07-08 |
JP2023511026A (ja) | 2023-03-16 |
EP4070558A4 (en) | 2023-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102705477B1 (ko) | 상이한 분할 구조들을 갖는 팔레트 모드 | |
JP7451731B2 (ja) | クロマ成分のためのデブロッキングパラメータ | |
US11838523B2 (en) | General constraints information for video coding | |
KR20220044279A (ko) | 팔레트 이스케이프 심벌에 대한 엔트로피 코딩 | |
WO2021143750A1 (en) | Overwriting of quantization parameters in video coding | |
US11863715B2 (en) | Joint use of adaptive colour transform and differential coding of video | |
US20230362375A1 (en) | Adaptive Colour Transform in Image/Video Coding | |
JP2024014958A (ja) | ローカルデュアルツリー向けのパレットモード | |
KR20220061969A (ko) | 팔레트 모드에 대한 양자화 파라미터 도출 | |
CN114946180B (zh) | 使用量化参数信息的去方块滤波 | |
WO2021139707A1 (en) | Joint coding of chroma residuals and adaptive color transforms | |
WO2021108787A1 (en) | Dictionary based coding of video data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal |