KR20220100731A - 비디오 코딩 시스템에서 교차 성분 적응 루프 필터에 대한 신택스 시그널링 제약 방법 및 장치 - Google Patents
비디오 코딩 시스템에서 교차 성분 적응 루프 필터에 대한 신택스 시그널링 제약 방법 및 장치 Download PDFInfo
- Publication number
- KR20220100731A KR20220100731A KR1020227022927A KR20227022927A KR20220100731A KR 20220100731 A KR20220100731 A KR 20220100731A KR 1020227022927 A KR1020227022927 A KR 1020227022927A KR 20227022927 A KR20227022927 A KR 20227022927A KR 20220100731 A KR20220100731 A KR 20220100731A
- Authority
- KR
- South Korea
- Prior art keywords
- alf
- ccalf
- aps
- flag
- component
- Prior art date
Links
- 230000011664 signaling Effects 0.000 title claims abstract description 35
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 53
- 241000023320 Luma <angiosperm> Species 0.000 claims abstract description 40
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims abstract description 40
- 208000031212 Autoimmune polyendocrinopathy Diseases 0.000 claims abstract description 28
- 235000019395 ammonium persulphate Nutrition 0.000 claims abstract description 28
- 238000000261 appearance potential spectroscopy Methods 0.000 claims abstract description 28
- 230000004913 activation Effects 0.000 claims description 46
- 230000006978 adaptation Effects 0.000 claims description 12
- 238000003672 processing method Methods 0.000 claims description 8
- 108010063123 alfare Proteins 0.000 claims 3
- 238000013461 design Methods 0.000 description 19
- 238000013139 quantization Methods 0.000 description 8
- 230000002123 temporal effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 101150114515 CTBS gene Proteins 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007670 refining Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000007906 compression Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001131 transforming 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/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/117—Filters, e.g. for pre-processing or post-processing
-
- 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/172—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 picture, frame or field
-
- 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/174—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 slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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/46—Embedding additional information in the video signal during the compression process
-
- 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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
인코딩 방법 및 장치는, 루마 성분에 따라 하나 이상의 크로마 성분을 정제하기 위해, 하나 이상의 적응 루프 필터(ALF) 적응 파라미터 세트(APS)에 시그널링된 CCALF 계수에 기반하여 현재 픽처에 대해 교차 성분 적응 루프 필터(CCALF) 처리를 적용하는 것, 각 ALF APS에 2개의 ALF 신호 플래그 및 2개의 CCALF 신호 플래그를 시그널링하거나 각 ALF APS로부터 2개의 ALF 신호 플래그 및 2개의 CCALF 신호 플래그를 파싱하는 것, 및 현재 픽처를 인코딩 또는 디코딩하는 것을 포함한다. 각 ALF APS에 있는 2개의 ALF 신호 플래그 및 2개의 CCALF 신호 플래그의 값은, ALF APS 중 어느 것도 빈 APS가 아님을 보장하기 위해, 모두 0과 동일한 것은 아니다.
Description
본 발명은 2019년 12월 5일자로 출원된 "교차 성분 적응 루프 필터 시그널링 제약(Cross-Component Adaptive loop filter signaling constraints)"이라는 명칭의 미국 임시 특허 출원 번호 제62/943,836호, 및 2020년 1월 10일자로 출원된 "CCALF의 시퀀스-레벨 온-오프 방법(Method of sequence-level on-off of CCALF)"라는 명칭의 미국 임시 특허 출원 번호 제62/959,707호에 대한 우선권을 주장한다. 이들 미국 임시 특허 출원은 그 전체 내용이 본원에 참고로 포함된다.
발명의 분야
본 발명은 비디오 인코딩 또는 비디오 디코딩을 위한 비디오 데이터 처리 방법 및 장치에 관한 것이다. 특히, 본 발명은 비디오 인코딩 또는 디코딩 시스템에서 교차 성분 적응 루프 필터에 대한 신택스 시그널링 제약에 관한 것이다.
고효율 비디오 코딩(High-Efficiency Video Coding)(HEVC) 표준은 ITU-T 연구 그룹(Study Group)의 비디오 코딩 전문가로 구성된 JCT-VC(Joint Collaborative Team on Video Coding) 그룹에 의해 개발된 최신 비디오 코딩 표준이다. HEVC 표준은 각 슬라이스를 다수의 코딩 트리 단위(Coding Tree Unit)(CTU)로 나누는 블록 기반 코딩 구조에 의존하고 있다. 코딩된 픽처는 하나의 슬라이스 또는 슬라이스의 집합체 표현되며, 각 슬라이스는 정수 개의 CTU를 포함한다. 슬라이스 내의 개별 CTU는 래스터 스캔 순서(raster scanning order)에 따라 처리된다. 이중 예측(Bi-predictive)(B) 슬라이스 내의 각 블록의 샘플 값은 최대 2개의 모션 벡터 및 참조 인덱스를 사용하는 인트라 픽처 예측(intra picture prediction) 또는 인터 픽처 예측(inter picture prediction)을 사용하여 디코딩된다. 예측(P) 슬라이스 내의 각 블록의 샘플 값은 오직 하나의 모션 벡터 및 참조 인덱스를 사용하는 인트라 픽처 예측 또는 인터 픽처 예측을 사용하여 디코딩된다. 인트라(I) 슬라이스는 인트라 픽처 예측만을 사용하여 디코딩된다. 각 CTU는 다양한 로컬 모션 및 텍스처 특성에 적응하도록 쿼드트리 분할 방법에 따라 하나 이상의 코딩 단위(Coding Unit)(CU)로 더 재귀적으로 분할된다.
예측 결정은 CU 레벨에서 행해지며, 여기서 각 CU는 인터 픽처 예측 또는 인트라 픽처 예측에 의해 코딩된다. CU 계층 트리의 분할이 완료되면, 각 CU는 예측을 위한 PU 파티션 타입에 따라 하나 이상의 예측 단위(Prediction Unit)(PU)로 추가 분할된다. PU는, 연관된 CU 신택스와 함께, 예측 정보를 공유하기 위한 기본 대표 블록으로 작동하는데, 이는 동일한 예측 프로세스가 PU의 모든 픽셀에 적용되고 예측 관련 정보가 PU 기반으로 디코더에 전달되기 때문이다. 지정된 예측 프로세스는 PU 내부의 연관된 픽셀 샘플의 값을 예측하는 데 이용된다. 예측 프로세스에 의해 생성된 잔차 신호(residual signal)를 획득한 후, CU에 속하는 잔차 신호의 잔차 데이터는, 잔차 데이터를 컴팩트한 데이터 표현을 위한 변환 계수로 변환하기 위한 잔차 쿼드트리(Residual QuadTree)(RQT) 블록 분할 구조에 따라 하나 이상의 변환 단위(Transform Unit)(TU)로 분할된다. TU는 인코딩 프로세스에서 잔차 신호에 대해 변환 및 양자화를 적용하기 위한 기본 대표 블록이다. 각 TU마다, TU와 동일한 사이즈의 변환 행렬을 잔차 신호에 적용하여 변환 계수를 생성하고, 이러한 변환 계수를 TU 단위로 양자화하여 디코더에 전달한다.
코딩 트리 블록(Coding Tree Block)(CTB), 코딩 블록(Coding block)(CB), 예측 블록(Prediction Block)(PB), 및 변환 블록(Transform Block)(TB)이라는 용어는 CTU, CU, PU, 및 TU와 제각기 연관되는 하나의 색상 성분의 2차원 샘플 어레이를 지정하도록 정의된다. 예를 들어, CTU는 하나의 휘도(루마(luma), Y) CTB, 2개의 색차(크로마(chroma), Cb 및 Cr) CTB, 및 관련 신택스 요소로 구성된다. HEVC 표준에서는, 크로마 블록의 최소 사이즈에 도달하지 않는 한, 루마 및 크로마 성분 모두에 대해 동일한 쿼드트리 블록 분할 구조가 일반적으로 적용된다.
ITU-T와 ISO/IEC의 JVET(Joint Video Expert Team)는 현재 차세대 비디오 코딩 표준인 VVC(Versatile Video Coding)를 수립하는 과정에 있다. 루마 샘플 값에 따라 각 크로마 성분의 ALF 필터링된 크로마 샘플 값을 정제(refining)함으로써 코딩 효율을 향상시키기 위해 교차 성분 적응 루프 필터(Cross-Component Adaptive Loop Filter)(CCALF)가 제안되고 있다. CCALF는 코딩 루프 내부의 크로마 성분에서 손실된 세부 정보를 루마 성분으로부터 추출한다는 개념을 기반으로 하고 있다. CCALF는 기존 루마(luma) ALF 동작과 병렬로 동작한다. 도 1은 다른 루프 필터에 대한 CCALF의 배치를 도시한 것이다. 루마 SAO(Sample Adaptive Offset)(102)에 의해 처리된 루마 샘플은, 루마 ALF(104), Cb 성분을 위한 CCALF(106), 및 Cr 성분을 위한 CCALF(108)의 입력이 된다. 루마 ALF(104)에 의해 생성된 필터링된 루마 샘플 Y는 참조 픽처 버퍼에 저장된다. 크로마 Cb 샘플은 먼저 Cb SAO(110)에 의해 처리된 다음 크로마 ALF(114)에 의해 처리되며, 유사하게 크로마 Cr 샘플은 먼저 Cr SAO(112)에 의해 처리된 다음 크로마 ALF(114)에 의해 처리된다. Cb 성분을 위한 CCALF(106)는 필터링된 크로마 Cb 샘플에 대한 보정 값을 출력하고, Cr 성분을 위한 CCALF(108)는 필터링된 크로마 Cr 샘플에 대한 보정 값을 출력한다. 필터링된 크로마 Cb 샘플과 결합된 Cb에 대한 보정 값은 참조 픽처 버퍼에 저장되고, 필터링된 크로마 Cr 샘플과 결합된 Cr에 대한 보정 값이 또한 참조 픽처 버퍼에 저장된다.
CCALF는 각 크로마 성분에 대한 루마 채널에 대해 도 2에 도시된 바와 같은 선형 다이아몬드 형상의 필터를 적용한다. 선형 다이아몬드 형상의 필터의 필터 계수는 적응 파라미터 세트(Adaptation Parameter Set)(APS)로 전송되어, 210의 계수로 스케일링된 후, 고정 소수점 표현을 위해 반올림된다. 필터 계수 동적 범위는 6-비트 부호 값(6-bit signed value)으로 제한된다. 필터 선택은 최대 4개의 필터를 지원하는 CTU 레벨에서 수행된다. ALF 디자인과 더 잘 조화되기 위해서는 가상 경계에서 대칭 라인 선택을 사용하고, 시간 계층 계수 버퍼(temporal layer coefficient buffer)는 사용되지 않는다. 각 잔차 출력은 에서 까지 클리핑된다. 각 APS에서 운반되는 데이터는 다수의 픽처 또는 슬라이스에 걸쳐 공유될 수 있고, 이들 픽처 또는 슬라이스에 의해 참조될 수 있다. 각 APS는 고유한 식별자(ID)를 가지며, 현재 픽처의 픽처 헤더(Picture Header)(PH) 또는 현재 슬라이스의 슬라이스 헤더(Slice Header)(SH)에 APS ID가 포함된 경우 각 APS를 사용하여 현재 픽처 또는 현재 슬라이스가 어떤 APS를 참조하는지를 식별한다. 필터의 적용은 가변 블록 사이즈에 따라 제어되고, 샘플의 각 블록마다 수신되는 컨텍스트-코딩된 플래그에 의해 시그널링된다. CCALF는 블록 단위로 활성화 또는 비활성화된다. 블록 사이즈는 CCALF 활성화 플래그와 함께 각 크로마 성분마다 슬라이스 레벨로 수신된다. 크로마 성분에 지원되는 블록 사이즈는 16x16, 32x32, 64x64, 및 128x128이다.
VTM4에서, 각 APS는 하나의 ALF(Adaptive Loop Filter) 계수 세트를 포함하며, 비디오 인코딩 또는 디코딩 중에 최대 32개의 APS를 사용할 수 있다. 타일 그룹 또는 슬라이스는 APS의 ALF 정보를 재사용하여 오버헤드를 줄일 수 있다. 32개의 APS는 선입 선출(first-in-first-out)(FIFO) 버퍼로 업데이트된다. CTB 기반 ALF 방식에서, ALF 처리가 루마 CTB에 적용될 경우, 5개의 시간적 또는 1개의 시그널링된 ALF 필터 세트 중에서의 선택이 비디오 인코더에 의해 선택되고, 인코딩된 비트스트림에서 필터 세트 인덱스를 시그널링함으로써 표시된다. 필터 세트 인덱스는 선택된 ALF 필터 세트를 표시하기 위해 시그널링된다. 각 슬라이스마다, 25개 ALF 필터의 하나의 새로운 세트만이 시그널링될 수 있다. 현재 슬라이스에 대해 새로운 ALF 필터 세트가 시그널링되면, 현재 슬라이스 내의 모든 루마 CTB가 이러한 새로운 ALF 필터 세트를 공유한다. 크로마 CTB에 대해 ALF 처리가 적용될 때, 현재 슬라이스에 대해 새로운 ALF 필터 세트가 시그널링되면, 크로마 CTB는 새로운 ALF 필터 세트를 사용하고; 그렇지 않으면, 시간적 확장성 제약을 충족하는 가장 최근의 시간적 크로마 필터가 적용된다. 슬라이스-레벨 시간 필터에 대해, APS는 FIFO 버퍼로 업데이트되고, FIFO 인덱스는 시간 필터의 기준을 식별하는 데 사용된다.
비디오 인코딩 또는 디코딩 시스템에서 비디오 데이터를 처리하는 방법은, 현재 픽처 내의 현재 블록과 연관된 입력 비디오 데이터를 수신하고, 현재 블록의 루마 성분에 따라 현재 블록의 하나 이상의 크로마 성분 Cb 및 Cr을 정제하기 위해 현재 블록에 대해 CCALF 계수에 기반한 CCALF 처리를 적용하고, ALF와 동일한 APS 파라미터 타입을 갖는 APS에 2개의 ALF 신호 플래그 및 2개의 CCALF 신호 플래그를 시그널링하거나 ALF와 동일한 APS 파라미터 타입을 갖는 APS에서 2개의 ALF 신호 플래그 및 2개의 CCALF 신호 플래그를 파싱하고, 그리고 현재 픽처 내의 현재 블록을 인코딩 또는 디코딩한다. ALF와 동일한 APS 파라미터 타입을 갖는 APS는 또한 ALF APS라고 지칭된다. CCALF 계수는 ALF APS에 시그널링된다. 2개의 ALF 신호 플래그는 루마 및 크로마 성분에 대한 ALF 계수가 ALF APS에 각각 시그널링되는지 여부를 지정하고, 2개의 CCALF 신호 플래그는 크로마 성분 Cb 및 Cr에 대한 CCALF 계수가 ALF APS에 각각 시그널링되는지 여부를 지정한다. 각 ALF APS에 있는 2개의 ALF 신호 플래그와 2개의 CCALF 신호 플래그의 값이 모두 0과 동일한 것은 아니다.
일 실시예에서, CCALF 신호 플래그가 ALF APS에 존재하지 않는 경우에 2개의 CCALF 신호 플래그 각각은 0과 동일한 것으로 추론된다. 각각의 ALF APS에 대해, 루마 및 크로마 성분에 대한 ALF 계수가 해당 ALF APS에 시그널링되지 않을 경우, 크로마 성분 Cb 및 Cr 중 적어도 하나에 대한 CCALF 계수가 해당 ALF APS에 시그널링된다.
하나의 특정 실시예에서, 각각의 ALF APS 내의 2개의 ALF 신호 플래그의 값은 모두 0과 동일한 것은 아니며, 동시에 각 ALF APS 내의 2개의 CCALF 신호 플래그의 값이 모두 0과 동일한 것은 아니다.
본 발명의 일부 실시예는 현재 픽처 내의 서로 다른 슬라이스가 CCALF 계수를 획득하기 위해 서로 다른 ALF APS를 참조할 수 있게 한다. 예를 들어, 현재 픽처 내의 서로 다른 슬라이스는 CCALF 계수를 획득하기 위해 최대 8개의 ALF APS를 참조할 수 있다. 본 발명의 일부 실시예에서, 현재 픽처 내의 슬라이스에 의한 CCALF 계수의 참조에 이용 가능한 서로 다른 ALF APS의 최대 수는 현재 픽처 내의 슬라이스에 의한 ALF 계수의 참조에 이용 가능한 서로 다른 ALF APS의 최대 수와 동일하다.
일부 실시예에서, 비디오 데이터 처리 방법은, ALF 및 CCALF 시그널링 모두가 PH 또는 SH에 존재하기 때문에, 하나 이상의 픽처 헤더(Picture Header)(PH) CCALF 신택스 요소 또는 슬라이스 헤더(Slice Header)(SH) CCALF 신택스 요소를 시그널링하거나 파싱하는 단계를 더 포함한다. CCALF 시그널링은 일 실시예에 따른 픽처 레벨 ALF 활성화 플래그 또는 슬라이스 레벨 ALF 활성화 플래그에 따라 조절된다. 다른 실시예에서, CCALF 시그널링은 시퀀스 파라미터 세트(SPS) 레벨 ALF 활성화 플래그 및 픽처 레벨 ALF 활성화 플래그 모두에 따라 조절된다.
비디오 데이터 처리 방법은 일 실시예에 따라, SPS ALF 활성화 플래그를 시그널링 또는 파싱하고, 그 후, SPS ALF 활성화 플래그에 따라 별도의 SPS CCALF 활성화 플래그를 조건부로 시그널링 또는 파싱하는 단계를 더 포함한다. SPS ALF 활성화 플래그는 ALF 처리가 활성화되는지 또는 비활성화되는지를 지정하고, SPS CCALF 활성화 플래그는 CCALF 처리가 활성화되는지 또는 비활성화되는지를 지정한다. SPS ALF 활성화 플래그가 ALF 처리가 활성화된다는 것을 나타내는 경우에 SPS CCALF 활성화 플래그가 시그널링되거나 파싱되고, 즉, CCALF 처리는 ALF 처리가 활성화되는 경우에만 활성화될 수 있다. 일 실시예에서, CCALF 처리를 위한 별도의 일반 제약 플래그는 일반 제약 정보 신택스 테이블에 시그널링되거나 이로부터 파싱된다. CCALF 처리를 위한 별도의 일반 제약 플래그가 1과 동일한 경우 SPS CCALF 활성화 플래그는 0과 동일하다. ALF 처리를 위한 일반 제약 플래그가 1과 동일한 경우 CCALF 처리를 위한 별도의 일반 제약 플래그는 1과 동일하며, 이는 ALF 처리가 비활성화되는 경우 CCALF 처리가 비활성화되어야 한다는 것을 의미한다. 비디오 인코딩 또는 디코딩 시스템은, SPS ALF 활성화 플래그가 ALF 처리가 활성화된다는 것을 지정하는 경우, ALF 계수에 기반하여 현재 블록에 대해 ALF 처리를 적용한다.
본 개시 내용의 양태는, 현재 픽처 내의 현재 블록의 입력 비디오 데이터를 수신하는 것, 현재 블록의 루마 성분에 따라 현재 블록의 하나 이상의 크로마 성분 Cb 및 Cr을 정제하기 위해, 현재 블록에 대해 CCALF 계수에 기반하여 CCALF 처리를 적용하는 것, ALF APS에 2개의 ALF 신호 플래그 및 2개의 CCALF 신호 플래그를 시그널링하거나 ALF APS로부터 2개의 ALF 신호 플래그 및 2개의 CCALF 신호 플래그를 파싱하는 것, 및 현재 픽처 내의 현재 블록을 인코딩 또는 디코딩하는 것에 의해, 비디오 데이터를 처리하는 비디오 인코딩 또는 디코딩 시스템을 위한 장치를 추가로 제공한다. CCALF 계수는 ALF APS에 시그널링된다. ALF APS의 2개의 ALF 신호 플래그는 루마 및 크로마 성분에 대한 ALF 계수가 ALF APS에 시그널링되는지 여부를 지정하고, ALF APS의 2개의 CCALF 신호 플래그는 크로마 성분 Cb 및 Cr에 대한 CCALF 계수가 ALF APS에 시그널링되는지 여부를 지정한다. 각 ALF APS에 있는 2개의 ALF 신호 플래그와 2개의 CCALF 신호 플래그의 값이 모두 0과 동일하지는 않도록 제한된다. 본 발명의 다른 양태 및 특징은 특정 실시예에 대한 다음 설명을 검토하면 당업자에게는 명백해질 것이다.
예로서 제안된 본 개시 내용의 다양한 실시예는 아래의 도면을 참조하여 상세하게 설명될 것이며, 여기서 유사한 참조 번호는 유사한 요소를 나타내고, 여기서:
도 1은 비디오 인코딩 또는 디코딩 시스템에서 루프 내 필터 처리의 예시적인 블록도를 도시한 것이다.
도 2는 CCALF에 사용되는 예시적인 다이아몬드 형상의 필터를 도시한 것이다.
도 3은 하나 이상의 ALF APS에 시그널링되는 ALF 및 CCALF 계수를 기반으로 ALF 및 CCALF를 적용함으로써 현재 픽처의 비디오 데이터를 인코딩하는 본 발명의 일 실시예를 예시하는 플로우차트이다.
도 4는 하나 이상의 ALF APS에 시그널링되는 ALF 및 CCALF 계수를 기반으로 ALF 및 CCALF를 적용함으로써 현재 픽처의 비디오 데이터를 디코딩하는 본 발명의 일 실시예를 예시하는 플로우차트이다.
도 5는 본 발명의 실시예에 따른 비디오 데이터 처리 방법을 포함하는 비디오 인코딩 시스템에 대한 예시적인 시스템 블록도를 도시한 것이다.
도 6은 본 발명의 실시예에 따른 비디오 데이터 처리 방법을 포함하는 비디오 디코딩 시스템에 대한 예시적인 시스템 블록도를 도시한 것이다.
도 1은 비디오 인코딩 또는 디코딩 시스템에서 루프 내 필터 처리의 예시적인 블록도를 도시한 것이다.
도 2는 CCALF에 사용되는 예시적인 다이아몬드 형상의 필터를 도시한 것이다.
도 3은 하나 이상의 ALF APS에 시그널링되는 ALF 및 CCALF 계수를 기반으로 ALF 및 CCALF를 적용함으로써 현재 픽처의 비디오 데이터를 인코딩하는 본 발명의 일 실시예를 예시하는 플로우차트이다.
도 4는 하나 이상의 ALF APS에 시그널링되는 ALF 및 CCALF 계수를 기반으로 ALF 및 CCALF를 적용함으로써 현재 픽처의 비디오 데이터를 디코딩하는 본 발명의 일 실시예를 예시하는 플로우차트이다.
도 5는 본 발명의 실시예에 따른 비디오 데이터 처리 방법을 포함하는 비디오 인코딩 시스템에 대한 예시적인 시스템 블록도를 도시한 것이다.
도 6은 본 발명의 실시예에 따른 비디오 데이터 처리 방법을 포함하는 비디오 디코딩 시스템에 대한 예시적인 시스템 블록도를 도시한 것이다.
본 발명의 기능 모듈이, 본원의 도면에 일반적으로 기술되고 예시되는 바와 같이, 광범위한 다양한 상이한 구성으로 배열 및 설계될 수 있는 것으로 쉽게 이해될 것이다. 따라서, 도면에 도시되는 바와 같은 본 발명의 시스템 및 방법의 실시예에 대한 아래의 보다 상세한 설명은 청구된 바와 같은 본 발명의 범위를 제한하려는 것이 아니라, 단지 본 발명의 선택된 실시예를 나타내는 것에 불과하다.
본 명세서 전체에 걸쳐 "일 실시예", "일부 실시예", 또는 유사한 언어에 대한 언급은 해당 실시예와 관련하여 기술된 특정 특징, 구조, 또는 특성이 본 발명의 적어도 하나의 실시예에 포함될 수 있다는 것을 의미한다. 따라서, 본 명세서 전체의 다양한 장소에서 "일 실시예에서" 또는 "일부 실시예에서"라는 문구의 출현은 반드시 모두 동일한 실시예를 지칭하는 것은 아니며, 이들 실시예는 개별적으로 구현될 수 있거나 또는 하나 이상의 다른 실시예와 함께 구현될 수 있다. 또한, 기술된 특징, 구조, 또는 특성은 하나 이상의 실시예에서 임의의 적합한 방식으로 결합될 수 있다. 그러나, 관련 기술 분야의 기술자는 본 발명이 하나 이상의 특정 세부 사항 없이 실시될 수 있거나, 또는 다른 방법, 컴포넌트 등과 함께 실시될 수 있는 것으로 인식할 것이다. 다른 사례에서, 잘 알려진 구조, 또는 동작은 본 발명의 양태를 모호하게 하는 것을 피하기 위해 상세하게 도시되거나 설명되지는 않는다.
VVC 표준의 VTM-5.0에 따르면, 각 적응 파라미터 세트(Adaptation Parameter Set)(APS)는 APS의 APS 파라미터 타입에 따른 3개의 범주 중 하나로 분류된다. VTM-5.0의 3개의 APS 파라미터 타입은 적응 루프 필터(Adaptive Loop Filter)(ALF) 타입, 루마 매핑 크로마 스케일링(Luma Mapping Chroma Scaling)(LMCS) 타입, 및 예약 타입이다. 현재 APS의 APS 파라미터 타입은 현재 APS에서 운반되는 파라미터의 타입을 지정하며, 즉, APS 파라미터 타입이 ALF 타입일 경우, ALF 계수가 현재 APS에 시그널링되고, 유사하게 APS 파라미터 타입이 LMCS 타입일 경우, LMCS 계수가 현재 APS에 시그널링된다.
CCALF 플래그의 제약 값
현재의 ALF 디자인에서는 ALF 타입과 동일한 APS 파라미터 타입을 갖는 SPS에 시그널링되는 2개의 ALF 신호 플래그(alf_luma_filter_signal_flag 및 alf_chroma_filter_signal_flag)가 존재하며, 이들 ALF 신호 플래그는 루마 및 크로마 필터가 이러한 APS에 각각 시그널링되는지 여부를 지정한다. 예를 들어, ALF 신호 플래그(alf_luma_filter_signal_flag)의 값이 1과 동일한 경우 APS에는 루마 필터 계수가 시그널링되고, ALF 신호 플래그(alf_chroma_filter_signal_flag)의 값이 1과 동일한 경우 APS에는 크로마 필터 계수가 시그널링된다. 어떠한 필터 계수 없이 빈 APS를 시그널링하는 것을 피하기 위해 이들 두 ALF 신호 플래그의 값에 대한 제한이 있다. 각 ALF APS에 대해, 2개의 ALF 신호 플래그(alf_luma_filter_signal_flag 및 alf_chroma_filter_signal_flag)의 값은 둘 모두 0과 동일해서는 안 된다. 현재의 CCALF 디자인에서는 ALF 타입과 동일한 APS 파라미터 타입을 갖는 APS에 시그널링되는 2개의 CCALF 신호 플래그(alf_cross_component_cb_filter_signal_flag 및 alf_cross_component_cr_filter_signal_flag)가 존재하며, 이들 CCALF 신호 플래그는 교차 성분 Cb 및 Cr 필터 계수가 이러한 APS에 각각 시그널링되는지 여부를 지정한다. 현재의 CCALF 디자인에서는 각 ALF APS에 시그널링되는 이들 2개의 CCALF 신호 플래그의 값에 대한 제한은 없다. 이는 ALF 루마 필터와 ALF 크로마 필터 없이는 ALF APS에 시그널링하는 것이 불가능하지만 적어도 하나의 Cb 또는 Cr 색상 성분에 대한 CCALF 계수는 시그널링된다는 것을 의미한다. 그러나, 이 경우는, 예컨대, 미리 정의된 ALF 필터가 필터링에 사용되는 경우에 나타날 수 있으며, 이는 ALF가 여전히 적용되는 동안에는 ALF에 대한 시그널링은 불필요하다는 것을 의미한다. 그리고 CCALF는 하나 이상의 크로마 성분에 적용된다. 본 발명의 일부 실시예는 ALF와 동일한 APS 파라미터 타입을 갖는 각각의 APS가 완전히 비어 있지 않도록 2개의 ALF 신호 플래그 및 2개의 CCALF 신호 플래그의 값에 대한 제한을 설정한다. 일 실시예에서, 2개의 ALF 신호 플래그(alf_luma_filter_signal_flag 및 alf_chroma_filter_signal_flag), 및 2개의 CCALF 신호 플래그(alf_cross_component_cb_filter_signal_flag 및 alf_cross_component_cr_filter_signal_flag)의 값은 모두 0과 동일해서는 안 된다. 즉, 2개의 ALF 신호 플래그와 2개의 CCALF 신호 플래그 중 적어도 하나는 1과 동일해야 한다. alf_cc_cb_filter_signal_flag라고 지칭되기도 하는 신택스 요소(alf_cross_component_cb_filter_signal_flag)는 Cb 색상 성분에 대한 교차 성분 필터 계수가 시그널링되는지 여부를 지정한다. 예를 들어, Cb 색상 성분에 대한 교차 성분 필터 계수는 신택스 요소(alf_cc_cb_filter_signal_flag)가 1과 동일한 경우에 APS에 시그널링되는 반면, Cb 색상 성분에 대한 교차 성분 필터 계수는 alf_cc_cb_filter_signal_flag가 0과 동일한 경우에는 시그널링되지 않는다. alf_cc_cb_filter_signal_flag의 값은 APS에 존재하지 않는 경우 0과 동일한 것으로 추론된다. alf_cc_cr_filter_signal_flag라고 지칭되기도 하는 신택스 요소(alf_cross_component_cr_filter_signal_flag)는 Cr 색상 성분에 대한 교차 성분 필터 계수가 시그널링되는지 여부를 지정한다. 예를 들어, Cr 색상 성분에 대한 교차 성분 필터 계수는 신택스 요소(alf_cc_cr_filter_signal_flag)가 1과 동일한 경우 APS에 시그널링되는 반면, Cr 색상 성분에 대한 교차 성분 필터 계수는 alf_cc_cr_filter_signal_flag가 0과 동일한 경우에는 시그널링되지 않는다. alf_cc_cr_filter_signal_flag의 값은 APS에 존재하지 않는 경우 0과 동일한 것으로 추론된다. 본 발명의 일 실시예에서, 루마 및 크로마 성분 모두에 대한 ALF 필터 계수가 현재 APS에 시그널링되지 않는 경우, Cb 및 Cr 색상 성분 중 적어도 하나에 대한 CCALF 필터 계수가 현재 APS에 시그널링된다. 본 발명의 다양한 실시예는 각 ALF APS가 루마 ALF 필터, 크로마 ALF 필터, Cb를 위한 교차 성분 필터, 및 Cr을 위한 교차 성분 필터 중 적어도 하나에 대한 필터 계수를 운반하도록 보장하며, 그에 따라 APS는 ALF APS인 경우, 완전히 비어 있지는 않게 될 것이다.
본 발명의 앞선 실시예를 구현하는 비디오 인코더는 각 ALF APS에 있는 2개의 ALF 신호 플래그 및 2개의 CCALF 신호 플래그 중 적어도 하나를 1과 동일하게 설정하고, 2개의 ALF 신호 플래그 및 2개의 CCALF 신호 플래그를 각 ALF APS에 시그널링하여, 각 ALF APS에 필터 계수가 시그널링되도록 보장한다. 본 발명의 앞선 실시예를 구현하는 비디오 디코더는 각 참조된 ALF APS로부터 2개의 ALF 신호 플래그와 2개의 CCALF 신호 플래그를 파싱하고, 각 참조된 ALF APS 내의 2개의 ALF 신호 플래그와 2개의 CCALF 신호 플래그의 값은 모두 0과 동일하지는 않다.
다른 실시예에서, ALF 및 CCALF 필터 계수에 대해 제한이 개별적으로 부과된다. 예를 들어, ALF 신호 플래그(alf_luma_filter_signal_flag 및 alf_chroma_filter_signal_flag)의 값은 모두 0과 동일해서는 안 되며, 동시에, 2개의 CCALF 신호 플래그(alf_cross_component_cb_filter_signal_flag 및 alf_cross_component_cr_filter)의 값이 모두 0과 동일해서는 안 된다.
하나의 픽처의 슬라이스에 의해 참조되는 ALF APS의 수에 대한 제약
현재의 CCALF 디자인 버전에서는 하나의 픽처 내의 서로 다른 슬라이스가 하나의 ALF APS만을 참조할 수 있도록 제한하는 제약이 있다. 비트스트림 적합성의 요구 사항은, 슬라이스 레벨에서 시그널링된 CCALF 활성화 플래그가 CCALF가 활성화되었음을 나타낼 때, 현재 픽처의 모든 슬라이스에 의해 참조되는 ALF APS의 APS ID가 동일해야 한다는 것으로 제한한다. 그러나, 현재의 ALF 디자인 버전에서, 현재 픽처의 슬라이스는 최대 8개의 ALF APS를 참조할 수 있다. 즉, 신택스 요소(Adaptation_parameter_set_id)는 다른 신택스 요소에 의한 참조를 위해 APS에 대한 식별자를 제공하며, APS 타입(aps_params_type)이 ALF 또는 SCALING과 동일한 경우, adaptation_parameter_set_id의 값은 0과 7을 포함하여 0 내지 7의 범위 내에 있다. adaptation_parameter_set_id의 특정 값과 aps_params_type의 특정 값을 갖는 APS 네트워크 추상화 계층(Network Abstraction Layer)(NAL) 유닛은 픽처 간에 공유될 수 있으며, 픽처 내의 서로 다른 슬라이스는 서로 다른 ALF APS를 참조할 수 있다. 일 실시예에서, CCALF 디자인은 ALF 디자인과 정렬되므로, CCALF에 대해 단 하나의 ALF APS만을 참조하는 제한은 제거된다. 픽처 내의 서로 다른 슬라이스는, 이 실시예에 따라 CCALF가 활성화되는 경우, CCALF 계수를 획득하기 위해 둘 이상의 ALF APS를 참조할 수 있다. 일 실시예에서, CCALF 계수에 대한 참조에 이용 가능한 서로 다른 ALF APS의 최대 수는 ALF 계수에 대한 참조에 이용 가능한 서로 다른 ALF APS의 최대 수와 동일하다. 예를 들어, ALF 및 CCALF 모두에 대해 하나의 픽처의 서로 다른 슬라이스에 의해 참조되는 ALF APS의 최대 수는 8과 동일하다. 대안적인 실시예에서, ALF 디자인은 현재의 CCALF 디자인과 정렬되고, 그에 따라 현재 픽처의 모든 슬라이스는 ALF 계수를 획득하기 위해 하나의 ALF APS만을 참조할 수 있게 된다.
CCALF의 조건에 대하여
현재의 ALF 디자인 버전에서, ALF는 SPS ALF 활성화 플래그(sps_alf_enabled_flag)에 의해 시퀀스 파라미터 세트(SPS) 레벨에서 활성화되며, ALF 활성화 플래그 및 ALF APS ID와 같은 ALF 파라미터는, SPS ALF 활성화 플래그가 1과 동일한 경우, 픽처 레벨 또는 슬라이스 레벨로 시그널링될 수 있다. ALF 파라미터는 픽처 헤더(Picture Header)(PH) 또는 슬라이스 헤더(Slice Header)(SH)에 시그널링될 수 있다. 그러나, 현재의 CCALF 디자인 버전은 슬라이스 레벨 활성화 플래그(slice_cross_component_alf_cb_enabled_flag 및 slice_cross_component_alf_cr_enabled_flag)를 시그널링함으로써 슬라이스 레벨에서만 활성화된다. 이들 2개의 슬라이스 레벨 활성화 플래그는 SPS ALF 활성화 플래그가 다음과 같이 시퀀스 레벨에서 ALF가 활성화되었음을 나타내는 경우에 시그널링된다.
본 발명의 일 실시예에서, CCALF 디자인은 ALF 디자인과 정렬되고, 그에 따라 픽처 헤더(PH) 또는 슬라이스 헤더(SH)로의 ALF 및 CCALF 시그널링 모두는 다음에 도시된 바와 같이 가능하게 된다. CCALF에 대한 제어는, ALF 및 CCALF 신택스 요소 모두가 PH 또는 SH로 시그널링되기 때문에, ALF에 대한 것과 동일하다.
다른 실시예에서, CCALF 디자인은 ALF 디자인에 정렬되고, PH 또는 SH로의 ALF 및 CCALF 시그널링 모두는 다음과 같이 존재한다. CCALF 시그널링은 PH에 시그널링되는 픽처 레벨 ALF 활성화 플래그(pic_alf_enabled_flag) 또는 SH에 시그널링되는 슬라이스 레벨 ALF 활성화 플래그(slice_alf_enabled_flag)에 따라 조절된다.
또 다른 실시예에서, CCALF 디자인은 ALF 디자인과 정렬되고, CCALF와 관련된 신택스 요소는, SPS 레벨 활성화 플래그 및 픽처 레벨 활성화 플래그 모두가 ALF가 활성화되고 ALF 관련 신택스 요소가 PH 또는 SH에 존재한다고 표시하는 경우에만, PH 또는 SH에 시그널링된다. PH에 시그널링되는 CCALF와 관련된 신택스 요소의 일부 예는 pic_cross_component_alf_enabled_present_flag, pic_cross_component_alf_cb_enabled_flag, pic_cross_component_alf_cr_enabled_flag, pic_cross_component_alf_cb_aps_id, 및 pic_cross_component_alf_cr_aps_id이다. SH에 시그널링되는 CCALF와 관련된 신택스 요소의 일부 예는 slice_cross_component_alf_cb_enabled_flag, slice_cross_component_alf_cr_enabled_flag, slice_cross_component_alf_cb_aps_id, 및 slice_cross_component_alf_cr_aps_id이다.
다음 실시예에서, CCALF 신택스 요소는, SPS 레벨 활성화 플래그 및 픽처 레벨 활성화 플래그 모두가 ALF가 활성화된 것을 나타낼 경우, 크로마 ALF에 따라 PH 또는 SH에 시그널링된다.
일 실시예에서, CCALF 신택스 요소는 크로마 ALF 및 픽처 레벨 CCALF 활성화 제공 플래그에 따라 시그널링된다.
다음 실시예에서, CCALF 신택스 요소는, SPS 레벨 활성화 플래그 및 픽처 레벨 활성화 플래그가 ALF가 활성화된 것을 나타내는 경우에만, 오버라이팅(overwriting)의 가능성과 함께 PH에 시그널링된다.
일 실시예에서, 오버라이팅은 Cb 및 Cr 성분에 대해 개별적으로 수행될 수 있다. 예를 들어, Cb 및 Cr 성분 모두에 대한 CCALF 파라미터는 PH에 시그널링되지만 Cr 성분에 대한 CCALF 파라미터만이 슬라이스 레벨에서 오버라이팅된다.
시퀀스 레벨에서 CCALF 및 ALF에 대한 별도의 제어
일부 실시예에서, ALF에 대한 SPS 레벨 제어와는 별도로, CCALF에 대한 SPS 레벨 제어가 존재한다. CCALF에 대한 SPS 레벨 제어는 이들 실시예에 따라 ALF에 대한 SPS 레벨 제어에 의존하고 있다. CCALF에 대한 SPS 레벨 제어는 SPS 레벨 CCALF 활성화 플래그를 시그널링하거나 파싱함으로써 실현되며, 여기서 SPS 레벨 CCALF 활성화 플래그는 CCALF 시그널링을 제어하는 데 사용된다. SPS 레벨 ALF 활성화 플래그(sps_alf_enabled_flag)에 따라 별도의 SPS 레벨 CCALF 활성화 플래그를 시그널링하는 실시예는 다음에서 설명되며, 여기서 신택스 요소(sps_cross_component_alf_enabled_flag)는 교차 성분 적응 루프 필터가 현재 시퀀스에 대해 활성화되는지 또는 비활성화되는지를 지정한다.
CCALF에 대한 SPS 활성화 플래그를 시그널링하는 일 실시예에서, 관련된 신택스 요소 및 시맨틱은 다음과 같이 설명된다.
SPS에 시그널링되는 신택스 요소(sps_ccalf_enabled_flag)는 교차 성분 적응 루프 필터가 활성화되는지 또는 비활성화되는지를 지정한다. sps_ccalf_enabled_flag가 0과 동일한 경우 교차 성분 적응 루프 필터는 비활성화되고, sps_ccalf_enabled_flag가 1과 동일한 경우 교차 성분 적응 루프 필터는 활성화된다. 이러한 신택스 요소(sps_ccalf_enabled_flag)는 SPS에 존재하지 않는 경우 0이 되는 것으로 추론된다.
PH에 시그널링되는, 1과 동일한 신택스 요소(pic_alf_enabled_flag)는, 적응 루프 필터가 PH와 연관된 모든 슬라이스에 대해 활성화되고 슬라이스 내의 Y, Cb, 또는 Cr 색상 성분에 적용될 수 있음을 지정한다. 적응 루프 필터는, pic_alf_enabled_flag가 0과 동일한 경우, PH와 연관된 하나 이상 또는 모든 슬라이스에 대해 비활성화될 수 있다. 신택스 요소(pic_cross_component_alf_cb_enabled_flag, pic_cross_component_alf_cb_aps_id, pic_cross_component_cb_filters_signalled_minus1, pic_cross_component_alf_cr_enabled_flag, pic_cross_component_alf_cr_aps_id, 및 pic_cross_component_cr_filters_signalled_minus1)는, 신택스 요소(pic_alf_enabled_flag)가 0과 동일한 경우, PH에는 존재하지 않는다. 이러한 신택스 요소(pic_alf_enabled_flag)는 PH에 존재하지 않는 경우 0과 동일한 것으로 추론된다. 신택스 요소(pic_cross_component_alf_cb_enabled_flag)는 교차 성분 Cb 필터가 PH와 연관된 모든 슬라이스에 대해 활성화되는지 또는 PH와 관련된 하나 이상 또는 모든 슬라이스에 대해 비활성화되는지를 나타낸다. 교차 성분 Cb 필터는, pic_cross_component_alf_cb_enabled_flag가 1과 동일한 경우, 슬라이스 내의 Cb 색상 성분에 적용될 수 있다. 이러한 신택스 요소(pic_cross_compnent_alf_cb_enabled_flag)는 PH에 존재하지 않는 경우 0과 동일한 것으로 추론된다. 신택스 요소(pic_cross_component_alf_cb_aps_id)는 PH와 연관된 슬라이스의 Cb 색상 성분이 참조하는 ALF APS의 적응 파라미터 세트(APS) ID를 지정한다. ALF와 동일한 APS 파라미터 타입 및 pic_cross_component_alf_cb_aps_id와 동일한 adapt_parameter_set_id를 갖는 APS NAL 유닛의 alf_cross_component_cb_filter_signal_flag의 값은 1과 동일해야 한다. 신택스 요소(pic_cross_component_cb_filters_signalled_minus1 + 1)는 교차 성분 Cb 필터의 수를 지정하고, 이 신택스 요소의 값은 0 내지 3의 범위에 있어야 한다. pic_cross_component_alf_cb_enabled_flag가 1과 동일한 경우, pic_cross_component_cb_filters_signalled_minus1이 참조된 ALF APS 내에서 pic_cross_component_alf_cb_aps_id에 의해 참조되는 alf_cross_component_cb_filters_signaled_minus1의 값보다 작거나 같아야 하는 것이 비트스트림 적합성의 요구 사항이다. 신택스 요소(pic_cross_component_alf_cr_enabled_flag, pic_cross_component_alf_cr_aps_id, 및 pic_cross_component_cr_filters_signalled_minus1)의 시맨틱은 pic_cross_component_alf_cb_enabled_flag, pic_cross_component_alf_cb_aps_id, 및 pic_cross_component_cb_filters_signalled_minus1의 시맨틱과 유사하다.
슬라이스 헤더에서, 1과 동일한 신택스 요소(slice_alf_enabled_flag)는 적응 루프 필터가 활성화되고 슬라이스 내의 Y, Cb, 또는 Cr 색상 성분에 적용될 수 있음을 지정한다. 0과 동일한 신택스 요소(slice_alf_enabled_flag)는 적응 루프 필터가 슬라이스 내의 모든 색상 성분에 대해 비활성화된다고 지정하고, 신택스 요소(slice_cross_component_alf_cb_enabled_flag, slice_cross_component_alf_cb_aps_id, slice_cross_component_cb_filters_signalled_minus1, slice_cross_component_alf_cr_enabled_flag, slice_cross_component_alf_cr_aps_id, 및 slice_cross_component_cr_filters_signalled_minus1)는, slice_alf_enabled_flag가 0과 동일한 경우, 슬라이스 헤더 내에 존재하지 않는다. 이 신택스 요소(slice_alf_enabled_flag)는 SH에 존재하지 않는 경우 pic_alf_enabled_flag의 값이 되는 것으로 추론된다. 신택스 요소(slice_cross_component_alf_cb_enabled_flag)는 교차 성분 Cb 필터가 Cb 색상 성분에 적용되는지 여부를 나타낸다. 일 실시예에서, 이 신택스 요소는 SH에 존재하지 않는 경우 pic_cross_component_alf_cb_enabled_flag의 값과 동일한 것으로 추론된다. 다른 실시예에서, 이 신택스 요소는 SH에 존재하지 않는 경우 (!pic_cross_component_alf_cb_enabled_flag)의 값과 동일한 것으로 추론된다. 신택스 요소(slice_cross_component_alf_cb_aps_id)는 슬라이스의 Cb 색상 성분이 참조하는 적응 파라미터 세트 ID를 지정한다. ALF와 동일한 APS 파라미터 타입 및 slice_cross_component_alf_cb_aps_id와 동일한 적응 파라미터 세트 ID를 갖는 APS NAL 유닛의 TemporalId는 코딩된 슬라이스 NAL 유닛의 TemporalId보다 작거나 같아야 한다. slice_cross_component_alf_cb_enabled_flag가 1과 동일하고 slice_cross_component_alf_cb_aps_id가 SH에 존재하지 않는 경우, slice_cross_component_alf_cb_aps_id의 값은 pic_cross_component_alf_cb_aps_id의 값과 동일한 것으로 추론된다. ALF와 동일한 APS 파라미터 타입 및 slice_cross_component_alf_cb_aps_id와 동일한 적응 파라미터 세트 ID를 갖는 APS NAL 유닛의 alf_cross_component_cb_filter_signal_flag의 값은 1과 동일해야 한다. 신택스 요소(slice_cross_component_cb_filters_signalled_minus1 + 1)는 교차 성분 Cb 필터의 수를 지정한다. slice_cross_component_cb_filters_signalled_minus1의 값은 0 내지 3의 범위 내에 있어야 한다. slice_cross_component_alf_cb_enabled_flag가 1과 동일하고 slice_cross_component_cb_filters_signalled_minus1이 SH에 존재하지 않는 경우, slice_cross_component_cb_filters_signalled_minus1의 값은 현재 슬라이스의 pic_cross_component_alf_cb_aps_id의 값과 동일한 것으로 추론된다. 다른 실시예에서, slice_cross_component_alf_cb_enabled_flag가 1과 동일하고 slice_cross_component_cb_filters_signalled_minus1이 SH에 존재하지 않는 경우, slice_cross_component_cb_filters_signalled_minus1의 값은 현재 슬라이스의 pic_cross_component_cb_filters_signalled_minus1의 값과 동일한 것으로 추론된다. 신택스 요소(slice_cross_component_alf_cr_enabled_flag, slice_cross_component_alf_cr_aps_id, 및 slice_cross_component_cr_filters_signalled_minus1)의 시맨틱은 대응하는 신택스 요소(slice_cross_component_alf_cb_enabled_flag, slice_cross_component_alf_cb_aps_id, 및 slice_cross_component_cb_filters_signalled_minus1)의 시맨틱과 유사하다.
CCALF에 대한 별도의 일반 제약 플래그
CCALF 디자인의 일 실시예에서, CCALF에 대한 별도의 일반 제약 플래그(no_ccalf_constraint_flag)는 일반 제약 정보 신택스 테이블(general_constraint_info())에 추가된다. 0과 동일한 SPS 레벨 CCALF 활성화 플래그(sps_ccalf_enabled_flag)는 이러한 별도의 일반 제약 플래그(no_ccalf_constraint_flag)가 1과 동일한 경우 CCALF가 비활성화된다는 것을 나타낸다. 1과 동일한 신택스 요소(no_ccalf_constraint_flag)는 SPS 레벨 CCALF 활성화 플래그(sps_ccalf_enabled_flag)가 0과 동일해야 한다는 것을 지정하며, 0과 동일한 no_ccalf_constraint_flag는 이 제약이 부과되지 않는다는 것을 나타낸다. ALF에 대한 일반 제약 플래그(no_alf_constraint_flag)가 1과 동일한 경우 CCALF에 대한 별도의 일반 제약 플래그(no_ccalf_constraint_flag)의 값이 1과 동일해야 한다는 것이 비트스트림 적합성의 요구 사항이다. general_constraint_info() 신택스 테이블의 예는 다음과 같다.
ALF APS의 적응 루프 필터 데이터 신택스
ALF APS에 시그널링되는 적응 루프 필터 데이터 신택스 요소 및 교차 성분 ALF 데이터 신택스 요소의 예는 다음과 같다.
1과 동일한 신택스 요소(alf_cross_component_cb_filter_signal_flag)는 교차 성분 Cb 필터가 시그널링되는 것을 지정하지만, 0과 동일한 alf_cross_component_cb_filter_signal_flag는 교차 성분 Cb 필터가 시그널링되지 않는다는 것을 지정한다. ChromaArrayType이 0과 동일한 경우, alf_cross_component_cb_filter_signal_flag도 또한 0과 동일해야 한다. alf_luma_filter_signal_flag가 1과 동일한 경우, alf_cross_component_cb_filter_signal_flag의 값이 0과 동일해야 한다는 것이 비트스트림 적합성의 요구 사항이다. 1과 동일한 신택스 요소(alf_cross_component_cr_filter_signal_flag)는 교차 성분 Cr 필터가 이러한 APS에 시그널링되는 것을 지정하며, 0과 동일한 alf_cross_component_cr_filter_signal_flag는 교차 성분 Cr 필터가 시그널링되지 않는다는 것을 지정한다. 유사하게, ChromaArrayType이 0과 동일한 경우, alf_cross_component_cr_filter_signal_flag는 0과 동일해야 한다. alf_luma_filter_signal_flag가 1과 동일한 경우, alf_cross_component_cr_filter_signal_flag의 값이 0과 동일해야 한다는 것이 비트스트림 적합성의 요구 사항이다. 각 ALF APS는 루마 ALF 필터 파라미터 또는 교차 성분 필터 파라미터만을 운반한다. 신택스 요소(alf_cross_component_cb_filters_signalled_minus1 + 1)는 현재 ALF APS에 시그널링되는 교차 성분 Cb 필터의 수를 지정한다. alf_cross_component_cb_filters_signalled_minus1의 값은 0 내지 3의 범위 내에 있어야 한다. 신택스 요소(alf_cross_component_cb_coeff_plus32[k][j] - 32)는 시그널링된 k번째 교차 성분 Cb 필터 세트의 j번째 계수의 값을 지정한다. 이러한 신택스가 존재하지 않는 경우, 32와 동일한 것으로 추론된다. 요소(CcAlfApsCoeffCb[adaptation parameter set id][k][j](여기서, j = 0..7임))를 갖는 시그널링된 k번째 교차 성분 Cb 필터 계수(CcAlfApsCoeffCb[adaptation parameter set id][k])는 다음과 같이 유도된다: CcAlfApsCoeffCb[adaptation_parameter_set_id][ k ][ j ] = alf_cross_component_cb_coeff_plus32[ k ][ j ] - 32
신택스 요소(alf_cross_component_cr_filters_signalled_minus1 + 1)는 현재 ALF APS에 시그널링되는 교차 성분 Cr 필터의 수를 지정한다. alf_cross_component_cr_filters_signalled_minus1의 값은 0 내지 3의 범위 내에 있어야 한다. 신택스 요소(alf_cross_compnent_cr_coeff_plus32[k][j] - 32)는 시그널링된 k번째 교차 성분 Cr 필터 세트의 j번째 계수의 값을 지정한다. alf_cross_component_cr_coeff_abs[k][j]가 존재하지 않는 경우, 32와 동일한 것으로 추론된다. 요소(CcAlfApsCoeffCr[adaptation parameter set id][k][j](여기서, j = 0..7임))를 갖는 시그널링된 k번째 교차 성분 Cr 필터 계수(CcAlfApsCoeffCr[adaptation parameter set id][k])는 다음과 같이 유도된다: CcAlfApsCoeffCr[adaptation_parameter_set_id][ k ][ j ] = alf_cross_component_cr_coeff_plus32[ k ][ j ] - 32
예시적인 비디오 인코딩 및 디코딩 시스템에 대한 대표적인 플로우차트
도 3은 비디오 인코딩 시스템에 의해 현재 픽처를 인코딩하기 위한 본 발명의 예시적인 실시예를 나타내는 플로우차트이다. 현재 픽처와 연관된 비디오 데이터는 단계 S302에서 비디오 인코딩 시스템에 의해 수신된다. 도 3은 ALF 및 CCALF가 모두 활성화되는 경우, ALF 처리 및 CCALF 처리를 이용하여 현재 픽처의 재구성된 데이터를 필터링하는 일 실시예를 도시한 것이다. 비디오 데이터는 단계 S304에서 인트라 예측 또는 인터 예측에 의해 예측된 후 단계 S306에서 재구성된다. 단계 S308에서는, 단계 S304에서의 예측 및 단계 S306에서의 재구성 이후에, ALF 계수에 기반하여 현재 픽처의 루마 성분, 크로마 성분, 또는 루마 및 크로마 성분 모두를 필터링하기 위한 ALF 처리가 비디오 데이터에 적용된다. 단계 S310에서는, 루마 성분에 따라 크로마 성분 중 하나 또는 둘 모두를 정제하기 위해 CCALF 계수에 기반하여 CCALF 처리를 적용한다. ALF 계수 및 CCALF 계수는 ALF APS라고 지칭되기도 하는 ALF와 동일한 APS 파라미터 타입을 갖는 APS에 시그널링된다. 단계 S312에서, 비디오 인코딩 시스템은, 각 ALF APS마다 alf_luma_filter_signal_flag, alf_chroma_filter_signal_flag, alf_cross_component_cb_filter_signal_flag, 및 alf_cross_component_cr_filter_signal_flag 중 적어도 하나를 1과 동일하게 설정함으로써, 각 ALF APS가 ALF 또는 CCALF 계수 중 적어도 하나의 세트를 운반하도록 보장한다. 이들 2개의 ALF 신호 플래그(alf_luma_filter_signal_flag 및 alf_chroma_filter_signal_flag) 및 2개의 CCALF 신호 플래그(alf_cross_component_cb_filter_signal_flag 및 alf_cross_component_cr_filter_signal_flag)는 각각의 ALF APS에 시그널링된다. ALF APS 내의 2개의 ALF 신호 플래그(alf_luma_filter_signal_flag 및 alf_chroma_filter_signal_flag)는 루마 필터 계수 및 크로마 필터 계수가 이러한 ALF APS에 각각 시그널링되는지 여부를 나타낸다. ALF APS 내의 2개의 CCALF 신호 플래그(alf_cross_component_cb_filter_signal_flag 및 alf_cross_component_cr_filter_signal_flag)는 교차 성분 cb 필터 계수 및 교차 성분 cr 필터 계수가 이러한 ALF APS에 각각 시그널링되는지 여부를 나타낸다. 비디오 인코딩 시스템은 단계 S314에서 현재 픽처의 비디오 데이터를 인코딩한다.
도 4는 비디오 디코딩 시스템에 의해 현재 픽처의 비디오 데이터를 디코딩하기 위한 본 발명의 예시적인 실시예를 나타내는 플로우차트이다. 현재 픽처와 연관된 인코디이된 비디오 데이터는 단계 S402에서 비디오 디코딩 시스템에 의해 수신된다. 도 4는 ALF 및 CCALF 처리가 모두 활성화되는 경우, ALF 처리 및 CCALF 처리를 이용하여 현재 픽처의 재구성된 데이터를 필터링하는 일 실시예를 도시한 것이다. 예를 들어, 현재 시퀀스에 대해 파싱된 SPS 레벨 ALF 활성화 플래그와 SPS CCALF 활성화 플래그는 모두 현재 시퀀스에 대해 ALF 및 CCALF 처리가 활성화되었음을 나타내고, 현재 픽처에 대해 파싱된 픽처 레벨 ALF 활성화 플래그 및 픽처 레벨 CCALF 활성화 플래그는 현재 픽처에 대해 ALF 및 CCALF 처리가 활성화되었음을 나타낸다. 비디오 디코딩 시스템은 단계 S404에서 비디오 데이터에 대해 엔트로피 디코딩을 수행하고, 단계 S406에서 예측을 수행하고, 그리고 단계 S408에서 재구성을 수행한다. 단계 S410에서, 2개의 ALF 신호 플래그(alf_luma_filter_signal_flag 및 alf_chroma_filter_signal_flag) 및 2개의 CCALF 신호 플래그(alf_cross_component_cb_filter_signal_flag 및 alf_cross_component_cr_filter_signal_flag)는 현재 픽처 내의 하나 이상의 슬라이스에 의해 참조되는 각 ALF APS로부터 획득된다. 각 ALF APS에 ALF 또는 CCALF 계수의 적어도 하나의 세트가 시그널링되도록 보장하기 위해, 각 ALF APS에 있는 2개의 ALF 신호 플래그와 2개의 CCALF 신호 플래그의 값이 모두 0과 동일한 것은 아니라는 것이 비트스트림 적합성의 요구 사항이다. 비디오 디코딩 시스템은 단계 S412에서 하나 이상의 참조된 ALF APS로부터 획득된 ALF 계수에 기반하여 루마 성분 및 크로마 성분에 대해 ALF 처리를 적용하고, 단계 S414에서 루마 성분에 따라 크로마 성분 중 하나 또는 둘 모두를 정제하기 위해 하나 이상의 참조된 ALF APS로부터 획득된 CCALF 계수에 기반하여 CCALF 처리를 적용한다. 비디오 디코딩 시스템은 단계 S416에서 디코딩된 비디오를 출력한다.
대표적인 시스템 블록도
도 5는 CCALF 시그널링과 연관된 실시예를 구현하는 비디오 인코더(500)에 대한 예시적인 시스템 블록도를 도시한 것이다. 인트라 예측 모듈(510)은 현재 픽처의 재구성된 비디오 데이터에 기반하여 인트라 예측자를 제공한다. 인터 예측 모듈(512)은 다른 픽처 또는 픽처들로부터 비디오 데이터를 참조하는 것에 기반하여 예측자를 제공하기 위해 모션 추정(Motion Estimation)(ME) 및 모션 보상(Motion Compensation)(MC)을 수행한다. 스위치(514)는 인트라 예측 모듈(510) 또는 인터 예측 모듈(512)로부터 예측자를 선택하고, 선택된 예측자를 가산기(516)에 제공하여 잔차를 형성한다. 현재 블록의 잔차는 변환 모듈(T)(518)에 이어 양자화 모듈(Q)(520)에 의해 추가로 처리된다. 양자화 모듈(520)은 변환 모듈(518)로부터 각 변환 블록의 스케일링된 변환 계수를 수신하고, 양자화 처리를 적용하여 변환 및 양자화된 잔차 신호를 생성한다. 그 후 변환 및 양자화된 잔차 신호는 엔트로피 인코더(530)에 의해 인코딩되어 비디오 비트스트림을 형성한다. 그 후 비디오 비트스트림은 부가 정보와 함께 패킹된다. 현재 블록의 변환 및 양자화된 잔차 신호는 역양자화 모듈(IQ)(522) 및 역변환 모듈(IT)(524)에 의해 처리되어 예측 잔차를 복구한다. 도 5에 도시된 바와 같이, 잔차는 재구성 모듈(REC)(526)에서 선택된 예측자를 다시 추가함으로써 복구되어 재구성된 비디오 데이터를 생성하게 된다. 재구성된 비디오 데이터는 참조 픽처 버퍼(532)에 저장되어 다른 픽처의 예측에 사용될 수 있다. REC 모듈(526)로부터의 재구성된 비디오 데이터는 인코딩 처리로 인해 다양한 손상을 받을 수 있으며, 결과적으로, 재구성된 비디오 데이터를 참조 픽처 버퍼(532)에 저장하기 전에 재구성된 비디오 데이터에 대해 적응 루프 필터(ALF)(528) 및 교차 성분 적응 루프 필터(CCALF)(529)를 적용하여 픽처 품질을 더욱 향상시킨다. CCALF(529)는 대응하는 루마 성분에 따라 하나 이상의 크로마 성분을 정제한다. 현재 슬라이스 또는 현재 픽처에 대한 ALF 계수 및 CCALF 계수는 하나 이상의 ALF APS에 시그널링된다. 각 ALF APS마다, ALF APS 중 어느 것도 빈 APS가 아님을 보장하기 위해, 2개의 ALF 신호 플래그와 2개의 CCALF 신호 플래그의 값이 모두 0과 동일한 것은 아니다. 일부 실시예에서, CCALF 제약 또는 시그널링 방법은 ALF 제약 또는 시그널링 방법과 정렬된다. CCALF 신택스 요소가 또한 ALF APS에 시그널링되기 때문에 CCALF 제약과 ALF 제약을 정렬하는 것이 더 효율적이다. 일 실시예에서, 현재 픽처 내의 서로 다른 슬라이스는 CCALF 계수를 검색하기 위해 최대 8개의 서로 다른 APS를 참조할 수 있는데, 이는 이들 슬라이스가 ALF 계수에 대해 최대 8개의 서로 다른 APS를 또한 참조할 수 있기 때문이다. 일 실시예에서, PH 상으로 또는 SH 상으로의 CCALF 시그널링이 가능하며, CCALF 시그널링은 ALF 시그널링과 정렬된다. 다른 실시예에서, 시퀀스 레벨 CCALF 활성화 플래그는 시퀀스 레벨 ALF 활성화 플래그에 따라 조건부로 시그널링된다. 예를 들어, 시퀀스 레벨 CCALF 활성화 플래그는 시퀀스 레벨 ALF 활성화 플래그가 ALF가 활성화된 것을 나타낼 때만 SPS에 시그널링된다. 또 다른 실시예에서, CCALF에 대한 별도의 제약 플래그가 일반 제약 정보 신택스 테이블에 추가된다. 신택스 요소는 비디오 비트스트림으로의 통합을 위해 엔트로피 인코더(530)에 제공된다.
도 5의 비디오 인코더(500)와 같은 비디오 인코더에 의해 생성된 비디오 비트스트림을 디코딩하기 위한 대응하는 비디오 디코더(600)가 도 6에 도시된다. 비디오 비트스트림은 비디오 디코더(600)에 대한 입력이고, 엔트로피 디코더(610)에 의해 디코딩되어, 변환 및 양자화된 잔차 신호 및 기타 시스템 정보를 파싱 및 복구하게 된다. 엔트로피 디코더(610)는 현재 변환 블록의 코딩된 변환 계수 레벨을 파싱한다. 디코더(600)의 디코딩 프로세스는, 디코더(600)가 인터 예측 모듈(614)에서 모션 보상 예측만을 필요로 한다는 점을 제외하고는, 인코더(500)에서의 재구성 루프와 유사하다. 각 블록은 인트라 예측 모듈(612) 또는 인터 예측 모듈(614)에 의해 디코딩된다. 스위치(616)는 디코딩된 모드 정보에 따라 인트라 예측 모듈(612)로부터의 인트라 예측자를 선택하거나 인터 예측 모듈(614)로부터의 인터 예측자를 선택한다. 변환 및 양자화된 잔차 신호는 역양자화 모듈(IQ)(620) 및 역변환 모듈(IT)(622)에 의해 복구된다. 복구된 잔차 신호는 재구성 모듈(618)에서 예측자를 다시 추가함으로써 재구성되어 재구성된 비디오를 생성하게 된다. 재구성된 비디오는 적응 루프 필터(ALF)(624) 및 교차 성분 적응 루프 필터(CCALF)(625)에 의해 추가로 처리되어 최종 디코딩된 비디오를 생성하게 된다. CCALF는 대응하는 루마 성분에 따라 하나 이상의 크로마 성분을 정제한다. CCALF 처리를 이용하여 현재 픽처를 처리하기 위해, 현재 픽처 내의 슬라이스에 의해 참조되는 하나 이상의 ALF APS로부터 CCALF 계수를 획득한다. 본 발명의 일부 실시예에서, 2개의 ALF 신호 플래그(alf_luma_filter_signal_flag 및 alf_chroma_filter_signal_flag) 및 2개의 CCALF 신호 플래그(alf_cross_component_cb_filter_signal_flag 및 alf_cross_component_cr_filter_signal_flag)의 값은 모두 0과 동일한 것은 아니다. 즉, 루마 ALF 계수, 크로마 ALF 계수, cb 성분을 위한 교차 성분 필터 계수, 및 cr 성분을 위한 교차 성분 필터 계수 중 적어도 하나의 세트는 각 ALF APS에 시그널링된다. 현재 디코딩된 픽처가 참조 픽처인 경우, 현재 디코딩된 픽처의 재구성된 비디오가 또한 디코딩 순서의 후속 픽처를 위해 참조 픽처 버퍼(626)에 저장된다.
도 5 및 도 6의 비디오 인코더(500) 및 비디오 디코더(600)의 다양한 컴포넌트는 하드웨어 컴포넌트에 의해, 메모리에 저장된 프로그램 인스트럭션을 실행하도록 구성된 하나 이상의 프로세서에 의해, 또는 하드웨어와 프로세서의 조합에 의해 구현될 수 있다. 예를 들어, 프로세서는 프로그램 인스트럭션을 실행하여 하나 이상의 ALF APS에 시그널링되는 CCALF 계수에 기반하여 CCALF 처리를 적용하는 것을 제어한다. 프로세서에는 단일 또는 다수의 처리 코어가 장착되어 있다. 일부 예에서, 프로세서는 프로그램 인스트럭션을 실행하여 인코더(500) 및 디코더(600)의 일부 컴포넌트의 기능을 수행하고, 프로세서와 전기적으로 연결된 메모리는 프로그램 인스트럭션, 블록의 재구성된 이미지에 대응하는 정보, 및/또는 인코딩 또는 디코딩 프로세스 동안의 중간 데이터를 저장하는 데 사용된다. 일부 실시예에서 메모리는 반도체 또는 솔리드 스테이트 메모리, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 하드 디스크, 광학 디스크, 또는 다른 적합한 저장 매체와 같은 비일시적 컴퓨터 판독 가능 매체를 포함한다. 메모리는 또한 위에 나열된 비일시적 컴퓨터 판독 가능 매체 중 둘 이상의 조합일 수 있다. 도 5 및 도 6에 도시된 바와 같이, 인코더(500) 및 디코더(600)는 동일한 전자 디바이스에서 구현될 수 있으므로, 인코더(500) 및 디코더(600)의 다양한 기능적 컴포넌트는 동일한 전자 디바이스 내에 구현되는 경우 공유되거나 재사용될 수 있다. 예를 들어, 도 5의 재구성(526), 역변환(524), 역양자화(522), ALF(528), CCALF(529), 및 참조 픽처 버퍼(532) 중 하나 이상은 또한 도 6의 재구성(618), 역변환(622), 역양자화(620), ALF(624), CCALF(625), 및 참조 픽처 버퍼(626)로서 기능하도록 사용될 수 있다.
비디오 코딩 시스템에서 현재 슬라이스에 대해 특정 프로세스를 수행하는 비디오 데이터 처리 방법의 실시예는 비디오 압축 칩에 통합된 회로에 구현되거나 또는 비디오 압축 소프트웨어에 통합된 프로그램 코드로 구현되어 전술한 처리를 수행할 수 있다. 예를 들어, CCALF 처리를 적용하는 것은 컴퓨터 프로세서, 디지털 신호 프로세서(DSP), 마이크로프로세서, 또는 필드 프로그래머블 게이트 어레이(FPGA) 상에서 실행될 프로그램 코드로 실현될 수 있다. 이들 프로세서는, 본 발명에 의해 구현된 특정 방법을 정의하는 머신 판독 가능 소프트웨어 코드 또는 펌웨어 코드를 실행함으로써, 본 발명에 따른 특정 작업을 수행하도록 구성될 수 있다.
본 발명은 그 사상 또는 본질적인 특성을 벗어나지 않고 다른 특정 형태로 구현될 수 있다. 설명된 예는 모든 면에서 설명을 위한 것일 뿐 제한적인 것이 아닌 것으로 간주되어야 한다. 따라서, 본 발명의 범위는 전술한 설명보다는 첨부된 청구항에 의해 표시된다. 청구항과 균등한 의미 및 범위 내에 있는 모든 변경은 그 청구항의 범위 내에 포함되어야 한다.
Claims (16)
- 비디오 코딩 시스템에서의 비디오 처리 방법으로서,
현재 픽처에서 현재 블록의 입력 비디오 데 이터를 수신하는 단계;
상기 현재 블록의 루마 샘플 값에 따라 상기 현재 블록의 하나 이상의 크로마 성분을 정제하기 위해, 교차 성분 필터 계수에 기반하여 상기 현재 블록에 대해 교차 성분 적응 루프 필터(Cross-Component Adaptive Loop Filter)(CCALF) 처리를 적용하는 단계;
적응 루프 필터(Adaptation Loop Filter)(ALF)와 동일한 적응 파라미터 세트(Adaptation Parameter Set)(APS) 파라미터 타입을 갖는 APS에 2개의 ALF 신호 플래그 및 2개의 CCALF 신호 플래그를 시그널링하거나 또는 ALF와 동일한 APS 파라미터 타입을 갖는 APS로부터 2개의 ALF 신호 플래그 및 2개의 CCALF 신호 플래그를 파싱하는 단계 ― 상기 2개의 ALF 신호 플래그는 루마 및 크로마 필터 계수가 상기 APS에 각각 시그널링되는지 여부를 지정하고, 상기 2개의 CCALF 신호 플래그는 교차 성분 Cb 및 Cr 필터 계수가 상기 APS에 각각 시그널링되는지 여부를 지정하며, 상기 ALF와 동일한 APS 파라미터 타입을 갖는 각 APS 내에 있는 상기 2개의 ALF 신호 플래그 및 2개의 CCALF 신호 플래그의 값은 모두 0과 동일한 것은 아님 ―; 및
상기 현재 픽처 내의 상기 현재 블록을 인코딩 또는 디코딩하는 단계를 포함하는, 비디오 코딩 시스템에서의 비디오 처리 방법. - 제1항에 있어서,
상기 CCALF 신호 플래그가 상기 APS에 존재하지 않는 경우, 상기 2개의 CCALF 신호 플래그 각각은 0과 동일한 것으로 추론되는, 비디오 코딩 시스템에서의 비디오 처리 방법. - 제1항에 있어서,
루마 및 크로마 성분 모두에 대한 ALF 필터 계수가 시그널링되지 않는 경우, Cb 및 Cr 색상 성분 중 적어도 하나에 대한 CCALF 필터 계수가 시그널링되는, 비디오 코딩 시스템에서의 비디오 처리 방법. - 제1항에 있어서,
상기 ALF와 동일한 APS 파라미터 타입을 갖는 각 APS 내의 상기 2개의 ALF 신호 플래그의 값은 모두 0과 동일한 것은 아니며, 상기 ALF와 동일한 APS 파라미터 타입을 갖는 각 APS 내의 상기 2개의 CCALF 신호 플래그의 값은 모두 0과 동일한 것은 아닌, 비디오 코딩 시스템에서의 비디오 처리 방법. - 제1항에 있어서,
상기 현재 픽처 내의 서로 다른 슬라이스는 CCALF 계수를 획득하기 위해 서로 다른 ALF APS를 참조할 수 있는, 비디오 코딩 시스템에서의 비디오 처리 방법. - 제5항에 있어서,
상기 현재 픽처 내의 서로 다른 슬라이스는 CCALF 계수를 획득하기 위해 최대 8개의 ALF APS를 참조할 수 있는, 비디오 코딩 시스템에서의 비디오 처리 방법. - 제1항에 있어서,
상기 현재 픽처 내의 슬라이스에 의한 CCALF 계수의 참조에 이용 가능한 서로 다른 ALF APS의 최대 수는 상기 현재 픽처 내의 슬라이스에 의한 ALF 계수의 참조에 이용 가능한 서로 다른 ALF APS의 최대 수와 동일한, 비디오 코딩 시스템에서의 비디오 처리 방법. - 제1항에 있어서,
하나 이상의 픽처 헤더(PH) CCALF 신택스 요소 또는 슬라이스 헤더(SH) CCALF 신택스 요소를 시그널링하거나 파싱하는 단계를 더 포함하고, ALF 및 CCALF 시그널링 모두가 PH 또는 SH에 존재하는, 비디오 코딩 시스템에서의 비디오 처리 방법. - 제8항에 있어서,
상기 CCALF 시그널링은 픽처 레벨 ALF 활성화 플래그 또는 슬라이스 레벨 ALF 활성화 플래그에 따라 조절되는 것인, 비디오 코딩 시스템에서의 비디오 처리 방법. - 제8항에 있어서,
상기 CCALF 시그널링은 시퀀스 파라미터 세트(SPS) 레벨 ALF 활성화 플래그 및 픽처 레벨 ALF 활성화 플래그 모두에 따라 조절되는 것인, 비디오 코딩 시스템에서의 비디오 처리 방법. - 제1항에 있어서,
시퀀스 파라미터 세트(SPS) ALF 활성화 플래그를 시그널링 또는 파싱한 다음, 상기 SPS ALF 활성화 플래그에 따라 별도의 SPS CCALF 활성화 플래그를 조건부로 시그널링 또는 파싱하는 단계를 더 포함하고, 상기 SPS ALF 활성화 플래그는 ALF 처리가 활성화되는지 또는 비활성화되는지를 지정하고, 상기 SPS CCALF 활성화 플래그는 상기 CCALF 처리가 활성화되는지 또는 비활성화되는지를 지정하는 것인, 비디오 코딩 시스템에서의 비디오 처리 방법. - 제11항에 있어서,
상기 SPS ALF 활성화 플래그가 상기 ALF 처리가 활성화된다는 것을 나타내는 경우에 상기 SPS CCALF 활성화 플래그가 시그널링되거나 파싱되는 것인, 비디오 코딩 시스템에서의 비디오 처리 방법. - 제11항에 있어서,
상기 CCALF 처리를 위한 별도의 일반 제약 플래그가 일반 제약 정보 신택스 테이블에 시그널링되거나 일반 제약 정보 신택스 테이블로부터 파싱되고, 상기 CCALF 처리를 위한 별도의 일반 제약 플래그가 1과 동일한 경우에 상기 SPS CCALF 활성화 플래그는 0과 동일한 것인, 비디오 코딩 시스템에서의 비디오 처리 방법. - 제13항에 있어서,
상기 ALF 처리를 위한 일반 제약 플래그가 1과 동일한 경우, 상기 CCALF 처리를 위한 별도의 일반 제약 플래그는 1과 동일한 것인, 비디오 코딩 시스템에서의 비디오 처리 방법. - 제11항에 있어서,
상기 SPS ALF 활성화 플래그가 상기 ALF 처리가 활성화된다는 것을 지정하는 경우에, ALF 계수에 기반하여 상기 현재 블록에 대해 상기 ALF 처리를 적용하는 단계를 더 포함하는, 비디오 코딩 시스템에서의 비디오 처리 방법. - 비디오 코딩 시스템에서 비디오 데이터를 처리하는 장치로서,
상기 장치는 하나 이상의 전자 회로를 포함하고, 상기 전자 회로는:
현재 픽처에서 현재 블록의 입력 비디오 데이터를 수신하는 단계;
하나 이상의 적응 파라미터 세트(APS)에 시그널링되는 CCALF 계수에 기반하여 상기 현재 블록에 대해 교차 성분 적응 루프 필터(CCALF) 처리를 적용하는 단계 ― 상기 현재 블록의 루마 샘플 값은 상기 현재 블록의 각 크로마 성분을 정제하기 위해 상기 CCALF 처리에 의해 처리됨 ―;
적응 루프 필터(ALF)와 동일한 적응 파라미터 세트(APS) 파라미터 타입을 갖는 APS에 또는 상기 APS에서 2개의 ALF 신호 플래그 및 2개의 CCALF 신호 플래그를 시그널링하거나 파싱하는 단계 ― 상기 2개의 ALF 신호 플래그는 루마 및 크로마 필터 계수가 상기 APS에 각각 시그널링되는지 여부를 지정하고, 상기 2개의 CCALF 신호 플래그는 교차 성분 Cb 및 Cr 필터 계수가 상기 APS에 각각 시그널링되는지 여부를 지정하며, 상기 ALF와 동일한 APS 파라미터 타입을 갖는 각 APS 내에 있는 상기 2개의 ALF 신호 플래그 및 2개의 CCALF 신호 플래그의 값은 모두 0과 동일한 것은 아님 ―; 및
상기 현재 픽처 내의 상기 현재 블록을 인코딩 또는 디코딩하는 단계를 수행하도록 구성되는 것인, 비디오 코딩 시스템에서 비디오 데이터를 처리하는 장치.
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962943836P | 2019-12-05 | 2019-12-05 | |
US62/943,836 | 2019-12-05 | ||
US202062959707P | 2020-01-10 | 2020-01-10 | |
US62/959,707 | 2020-01-10 | ||
US17/110,491 US11432016B2 (en) | 2019-12-05 | 2020-12-03 | Methods and apparatuses of syntax signaling constraint for cross-component adaptive loop filter in video coding system |
US17/110,491 | 2020-12-03 | ||
PCT/CN2020/133995 WO2021110149A1 (en) | 2019-12-05 | 2020-12-04 | Methods and apparatuses of syntax signaling constraint for cross-component adaptive loop filter in video coding system |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220100731A true KR20220100731A (ko) | 2022-07-15 |
Family
ID=76209019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227022927A KR20220100731A (ko) | 2019-12-05 | 2020-12-04 | 비디오 코딩 시스템에서 교차 성분 적응 루프 필터에 대한 신택스 시그널링 제약 방법 및 장치 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11432016B2 (ko) |
KR (1) | KR20220100731A (ko) |
CN (2) | CN114731391B (ko) |
MX (2) | MX2022006886A (ko) |
TW (2) | TWI786481B (ko) |
WO (1) | WO2021110149A1 (ko) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220016075A (ko) | 2019-06-04 | 2022-02-08 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 모션 후보 리스트 구성 프로세스의 조건부 구현 |
WO2020244571A1 (en) | 2019-06-04 | 2020-12-10 | Beijing Bytedance Network Technology Co., Ltd. | Motion candidate list construction using neighboring block information |
CN114128295B (zh) * | 2019-07-14 | 2024-04-12 | 北京字节跳动网络技术有限公司 | 视频编解码中几何分割模式候选列表的构建 |
CN117596389A (zh) | 2019-09-28 | 2024-02-23 | 北京字节跳动网络技术有限公司 | 视频编解码中的几何分割模式 |
CN114902662A (zh) * | 2019-12-23 | 2022-08-12 | 华为技术有限公司 | 用于视频译码的跨分量自适应环路滤波 |
WO2021134706A1 (zh) * | 2019-12-31 | 2021-07-08 | 北京大学 | 环路滤波的方法与装置 |
CN114930818A (zh) * | 2020-01-01 | 2022-08-19 | 字节跳动有限公司 | 用于色度编解码的比特流语法 |
AR121127A1 (es) * | 2020-02-29 | 2022-04-20 | Beijing Bytedance Network Tech Co Ltd | Señalización de información de imagen de referencia en un flujo de bits de video |
KR20220160019A (ko) * | 2020-03-29 | 2022-12-05 | 알리바바 그룹 홀딩 리미티드 | 루프 필터의 높은 레벨 신택스 제어 |
WO2021204251A1 (en) * | 2020-04-10 | 2021-10-14 | Beijing Bytedance Network Technology Co., Ltd. | Use of header syntax elements and adaptation parameter set |
WO2021209061A1 (en) | 2020-04-17 | 2021-10-21 | Beijing Bytedance Network Technology Co., Ltd. | Presence of adaptation parameter set units |
KR20230002447A (ko) | 2020-04-26 | 2023-01-05 | 바이트댄스 아이엔씨 | 비디오 코딩 신택스 요소의 조건적 시그널링 |
US11611778B2 (en) * | 2020-05-20 | 2023-03-21 | Sharp Kabushiki Kaisha | Systems and methods for signaling general constraint information in video coding |
EP4154529A4 (en) * | 2020-05-22 | 2024-05-22 | Alibaba Group Holding Limited | METHOD AND APPARATUS FOR PROCESSING VIDEO CONTENT |
US12075034B2 (en) * | 2020-07-24 | 2024-08-27 | Qualcomm Incorporated | Multiple adaptive loop filter sets |
CN117581548A (zh) * | 2021-07-02 | 2024-02-20 | Lg 电子株式会社 | 图像编码/解码方法、用于发送比特流的方法以及存储比特流的记录介质 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140301463A1 (en) * | 2013-04-05 | 2014-10-09 | Nokia Corporation | Method and apparatus for video coding and decoding |
US10057574B2 (en) | 2015-02-11 | 2018-08-21 | Qualcomm Incorporated | Coding tree unit (CTU) level adaptive loop filter (ALF) |
US10045038B2 (en) | 2015-05-28 | 2018-08-07 | Hfi Innovation Inc. | Method and apparatus for using a current picture as a reference picture |
WO2016204374A1 (ko) | 2015-06-18 | 2016-12-22 | 엘지전자 주식회사 | 영상 코딩 시스템에서 영상 필터링 방법 및 장치 |
US10419757B2 (en) * | 2016-08-31 | 2019-09-17 | Qualcomm Incorporated | Cross-component filter |
US10506230B2 (en) | 2017-01-04 | 2019-12-10 | Qualcomm Incorporated | Modified adaptive loop filter temporal prediction for temporal scalability support |
US10440396B2 (en) * | 2017-03-28 | 2019-10-08 | Qualcomm Incorporated | Filter information sharing among color components |
US20190320172A1 (en) | 2018-04-12 | 2019-10-17 | Qualcomm Incorporated | Hardware-friendly sample adaptive offset (sao) and adaptive loop filter (alf) for video coding |
US11368684B2 (en) * | 2019-04-23 | 2022-06-21 | Qualcomm Incorporated | Adaptation parameter sets (APS) for adaptive loop filter (ALF) parameters |
US11166033B2 (en) * | 2019-06-06 | 2021-11-02 | Qualcomm Incorporated | Adaptation parameter set in access unit in video coding |
US11234010B2 (en) * | 2019-08-28 | 2022-01-25 | Qualcomm Incorporated | Cross-component adaptive loop filtering for video coding |
US11451834B2 (en) * | 2019-09-16 | 2022-09-20 | Tencent America LLC | Method and apparatus for cross-component filtering |
CN114450963A (zh) * | 2019-09-18 | 2022-05-06 | 松下电器(美国)知识产权公司 | 用于视频编码的系统和方法 |
US11343493B2 (en) * | 2019-09-23 | 2022-05-24 | Qualcomm Incorporated | Bit shifting for cross-component adaptive loop filtering for video coding |
-
2020
- 2020-12-03 US US17/110,491 patent/US11432016B2/en active Active
- 2020-12-04 WO PCT/CN2020/133995 patent/WO2021110149A1/en active Application Filing
- 2020-12-04 KR KR1020227022927A patent/KR20220100731A/ko unknown
- 2020-12-04 CN CN202080080824.8A patent/CN114731391B/zh active Active
- 2020-12-04 TW TW109142838A patent/TWI786481B/zh active
- 2020-12-04 CN CN202311495530.3A patent/CN117395410A/zh active Pending
- 2020-12-04 MX MX2022006886A patent/MX2022006886A/es unknown
- 2020-12-04 TW TW111142007A patent/TWI846132B/zh active
-
2022
- 2022-06-06 MX MX2023004888A patent/MX2023004888A/es unknown
- 2022-06-28 US US17/851,268 patent/US11979613B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
TWI786481B (zh) | 2022-12-11 |
MX2022006886A (es) | 2022-07-11 |
US11979613B2 (en) | 2024-05-07 |
WO2021110149A1 (en) | 2021-06-10 |
CN117395410A (zh) | 2024-01-12 |
CN114731391A (zh) | 2022-07-08 |
MX2023004888A (es) | 2023-05-11 |
TW202130185A (zh) | 2021-08-01 |
US11432016B2 (en) | 2022-08-30 |
TWI846132B (zh) | 2024-06-21 |
US20220329874A1 (en) | 2022-10-13 |
US20210176501A1 (en) | 2021-06-10 |
CN114731391B (zh) | 2023-12-01 |
TW202310619A (zh) | 2023-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20220100731A (ko) | 비디오 코딩 시스템에서 교차 성분 적응 루프 필터에 대한 신택스 시그널링 제약 방법 및 장치 | |
CN112689147B (zh) | 视频数据处理方法以及装置 | |
WO2020224525A1 (en) | Methods and apparatuses of syntax signaling and referencing constraint in video coding system | |
TWI770681B (zh) | 視訊編碼或解碼系統中的視訊處理方法和裝置 | |
US20130039417A1 (en) | Residual tree structure of transform unit partitioning | |
US11792394B2 (en) | Method and apparatus for signaling adaptive loop filter parameters in video coding | |
US20140023142A1 (en) | Signaling of temporal motion vector predictor (mvp) enable flag | |
US20130163663A1 (en) | Implicit determination of collocated picture for temporal prediction | |
WO2013177975A1 (en) | Method and apparatus for coding of sample adaptive offset information | |
CN114586369B (zh) | 用于编解码视频序列的方法和装置 | |
EP2982110A1 (en) | Method and device for determining the value of a quantization parameter | |
US20140092984A1 (en) | Processing of pulse code modulation (pcm) parameters | |
WO2021170036A1 (en) | Methods and apparatuses of loop filter parameter signaling in image or video processing system | |
US20240340419A1 (en) | Method for splitting picture and decoding apparatus | |
US20220353505A1 (en) | Method for reconstructing residual blocks of chroma blocks, and video decoding apparatus | |
CN115066898A (zh) | 跨层参考限制条件 | |
CN115349261A (zh) | 使用语法元素的视频处理 | |
US11477445B2 (en) | Methods and apparatuses of video data coding with tile grouping | |
WO2014028631A1 (en) | Signaling of temporal motion vector predictor (mvp) enable flag | |
WO2014051962A1 (en) | Signaling of scaling list |