KR20220121425A - 비디오 신호 처리 방법 및 장치 - Google Patents

비디오 신호 처리 방법 및 장치 Download PDF

Info

Publication number
KR20220121425A
KR20220121425A KR1020210025451A KR20210025451A KR20220121425A KR 20220121425 A KR20220121425 A KR 20220121425A KR 1020210025451 A KR1020210025451 A KR 1020210025451A KR 20210025451 A KR20210025451 A KR 20210025451A KR 20220121425 A KR20220121425 A KR 20220121425A
Authority
KR
South Korea
Prior art keywords
abs
value
flag
block
level
Prior art date
Application number
KR1020210025451A
Other languages
English (en)
Inventor
임성원
Original Assignee
주식회사 케이티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 케이티 filed Critical 주식회사 케이티
Priority to KR1020210025451A priority Critical patent/KR20220121425A/ko
Publication of KR20220121425A publication Critical patent/KR20220121425A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

본 발명은 잔차 신호의 부/복호화 방법 및 이를 위한 장치를 제공한다.

Description

비디오 신호 처리 방법 및 장치{A METHOD AND AN APPARATUS FOR PROCESSING A VIDEO SIGNAL}
본 발명은 비디오 신호 처리 방법 및 장치에 관한 것이다.
비디오 영상은 시공간적 중복성 및 시점 간 중복성을 제거하여 압축부호화되며, 이는 통신 회선을 통해 전송되거나 저장 매체에 적합한 형태로 저장될 수 있다.
본 발명은 비디오 신호의 코딩 효율을 향상시키고자 함에 있다.
상기 과제를 해결하기 위하여 잔차 신호의 부/복호화 방법 및 이를 위한 장치를 제공한다.
본 발명에 따른 비디오 신호 처리 방법 및 장치는 영상 부호화/복호화 효율을 향상시킬 수 있다.
최근, 초고해상도 영상은 디지털 방송뿐 아니라 넷플릭스 및 유튜브 등의 스트리밍 서비스 분야의 핵심이다. 게다가 기존의 2D영상이외에도 VR, 3D 영상 서비스가 상용화되고 있으며, 디지털 TV뿐만 아니라 스마트폰과 같은 모바일 장비에서도 위와 같은 영상 서비스를 사용할 수 있다. 이러한 영상 서비스의 공통점은, 영상 압축의 적용 없이는 서비스가 불가능하다는 점이다. Full-HD라고 할 수 있는 1080p@60Hz의 경우, 1920x1080크기의 화면을 1초에 60번 전송해야 한다. 3D 영상과 같이 양쪽 눈에 정보를 전달하기 위해서는 2배의 데이터가 필요하며, 4K(4096x2048), 8K(8192x4096) 등 초고해상도 영상 서비스는 한 화면을 1초에 120번 이상 전송해야 되기 때문에 full-HD대비 엄청난 데이터가 발생된다. 이러한 데이터를 감당하기 위해서는 통신 대역폭, 영상 압축 기술 등 다양한 분야의 기술이 필요하다. 우선, 데이터에 예측 기술이 사용되어 잔차 값을 생성한다. 예측이 정확하게 수행될수록 원본 데이터와의 잔차 신호들은 0에 가까워진다. 그 후 변환을 통해 에너지를 집중시키며, 양자화된 계수 값들은 문맥 정보를 참조하여 부호화가 수행된다.
특히 낮은 QP를 이용하여 부호화하는 경우, 혹은 12비트 이상의 의료영상이나 초고화질 영상의 경우, 부호화해야될 레지듀얼 신호는 극단적으로 커질 수 있다. 이러한 값들을 위해 최적화된 부호화 방식이 사용된다면, 부호화 효율을 크게 증가시켜줄 수 있다.
1. 블록 내 레지듀얼 신호 부호화 방법
블록을 부호화 할 때, 레지듀얼(residual) 신호를 생성하고, 생성된 레지듀얼 신호에 대하여 엔트로피 부호화를 수행한다. 이 레지듀얼 신호는 다양한 방법으로 생성될 수 있다. 일 예로, 원본 블록안에 존재하는 샘플(화소)들로부터, 화면 간 예측 혹은 화면 내 예측 등과 같은 예측을 통해 생성된 예측 샘플(화소)들을 차분하여, 잔차 값들로 이루어진 잔차 블록이 생성된다. 이 잔차 블록들에 변환, 및 양자화가 이루어진 양자화된 변환 계수가 레지듀얼 신호로 설정될 수 있다. 혹은, 예측, 변환, 또는 양자화 중 적어도 하나 이상을 스킵한 채, 레지듀얼 신호를 생성할 수도 있다.
생성된 레지듀얼 신호는 다양한 신택스로 표현되고, 이들에 대한 엔트로피 부호화가 수행된다. 이진화 과정을 거쳐 다수의 빈(bin)들로 변경된 후, 엔트로피 부호화를 이용하여 부호화 된다. 이때, 블록을 추가적으로 서브 블록 단위로 분할한 뒤, 서브 블록 단위로 레지듀얼 신호에 대해 엔트로피 부호화를 수행할 수도 있다.
엔트로피 부호화는 문맥 정보(context)를 이용한 부호화와 문맥 정보를 이용하지 않는 부호화를 포함할 수 있다.
엔트로피 코더의 처리율(throughput)을 증가시키기 위해, 부호화 하려는 블록마다 문맥정보를 이용하여 엔트로피 부호화를 수행하는 빈의 개수를 제한할 수 있다. 이를 위해, 임계값을 정한다. 발생한 다수의 빈들 중 정해진 임계값 만큼은, 문맥 정보를 이용한 부호화가 수행된다. 문맥 정보를 이용하여 부호화된 빈의 개수를 카운팅(counting)하고, 카운팅 된 값이 임계값을 넘어서는 경우, 나머지 빈들에 대해서는, 문맥 정보를 이용하지 않고 부호화한다.
임계값은 적응적으로 결정될 수 있다. 일 예로, 임계값은 블록의 크기, 형태, 0이 아닌 레지듀얼 신호의 개수, 변환(또는 변환 스킵)이 적용되었는지 여부, 변환 커널의 종류, 양자화가 적용되었는지 여부, 예측 모드, 컬러 콤포넌트(YCbCr), 양자화 파라미터 또는 비트 심도(BitDepth) 중 적어도 하나를 기초로 결정될 수 있다.
일 예로, 블록 내에 존재하는 0이 아닌 양자화 된 계수의 개수를 기초로 임계값이 결정될 수 있다. 일 예로, 상기 개수의 실수 배 또는 상기 개수에 오프셋을 가산/감산한 값이 임계값으로 정의 될 수 있다.
일 예로, 블록 내에 존재하는 화소의 개수(즉, 블록 크기)에 기초하여 임계값이 결정될 수 있다. 일 예로, 상기 개수의 실수 배 또는 상기 개수에 오프셋을 가산/감산한 값이 임계값으로 정의 될 수 있다.
다른 예로, 임계값을 결정하기 위한 정보가 부호화되어 시그날링될 수 있다. 일 예로, 상기 정보는 혹은 상위 헤더를 통해 부호화 되어 복호화기로 전송 될 수 있다.
다른 예로, 블록 크기/형태 별로 임계값이 기 정의되어 있을 수 있다. 또는, 블록 크기/형태 별로 임계값 후보들을 기 정의한 뒤, 복수의 임계값 후보들 중 하나를 부호화하여 시그날링할 수 있다.
또는, 부호화기 및 복호화기에서 고정된 값을 임계값으로 정의할 수 있다.
레지듀얼 신호를 부호화하는 방법에는 RC(Residual Codong) 방식과 TSRC(Transform Skip Residual Coding) 방식이 존재한다. 예를 들어 블록에 RC방법이 적용된다면 블록 내 존재하는 모든 서브블록들은 RC로 수행된다. 여기서 서브 블록은, 엔트로피 부호화가 수행되기 전, TSRC 혹은 RC가 사용되는 단위를 의미한다.
1-1: RC방법
다음의 그림 1은 RC 방법의 예시이다. 설명의 편의를 위해, 서브 블록의 크기는 4x4크기라고 가정한다. 또한, 문맥 정보를 이용하여 부호화되는 사용할 빈의 개수(즉, 임계값, CCB(Coded Context Bin))은 52라고 가정한다.
Figure pat00001
그림 1
위 그림 1 에서, C15~C0은 서브 블록 내에 존재하는 레지듀얼 신호를 의미한다. 서브 블록 내 레지듀얼 신호는 서브 블록 내 오른쪽 아래방향에서부터 왼쪽 위 방향으로 부호화가 진행된다. 위 그림에서 C15는 서브 블록 내 오른쪽 아래에 존재하는 신호이며, C0은 서브 블록 내 왼쪽 위에 존재하는 신호를 의미한다. 또한 검은색 화살표(context coding)로 표시된 부분은, 문맥정보를 이용하여 부호화되는 빈들을 나타내고, 파란색 화살표(bypass coding)로 표시된 부분은, 문맥정보를 이용하지 않고 부호화되는 빈들을 나타낸다. 또한, 화살표 방향을 따라, 각 신택스들에 대한 부호화가 수행될 수 있다.
또한, sig_coeff_flag, abs_level_gtx_flag[0], par_level_flag, abs_level_gtx_flag[1], abs_remainder, dec_abs_level, coeff_sign_flag는 다음의 표에 존재하는 수식과 같이 정의될 수 있다.
Pass 신택스명 수식
pass 1 sig_coeff_flag CN != 0
abs_level_gtx_flag[0] !! ( |CN| - 1 )
par_level_flag ( |CN| - 2 ) & 1
abs_level_gtx_flag[1] ( |CN| - 2 ) >> 1
pass 2-1 abs_remainder ( |CN| - 4 ) >> 1
pass 2-2 dec_abs_level
pass 3 coeff_sign_flag CN < 0 ? 1 : 0
만약, C15의 값이 -21 이라면, C15에 해당하는 sig_coeff_flag는 1, abs_level_gtx_flag[0]는 1, par_level_flag은 1, abs_level_gtx_flag[1]는 1, abs_remainder의 값은 8이되며, coeff_sign_flag의 값은 1로 표현되며 이 신택스들이 엔트로피 부호화되어 디코더로 시그널링 된다.
디코더에서는 다음의 표를 이용하여 레지듀얼 신호를 복원한다.
수식
TmpCN sig_coeff_flag + abs_level_gtx_flag[0] + par_level_flag + (abs_level_gtx_flag[1]<<1)
|CN| TmpCN + (abs_remainder<<1)
상기 설명한 대로 |C15|에 대해 복원하면, TmpCN의 값은 1+1+1+(1<<1)를 통해 5가 되며, (abs_remainder<<1)의 결과를 더해 21로 복원 된다. 그 후, coeff_sign_flag값을 통해 C15의 값은 -21로 최종 복원된다.
1-2: TSRC방법
다음의 그림 2는 TSRC 방식의 예시이다. 설명의 편의를 위해, 서브 블록의 크기는 4x4크기라고 가정한다. 또한 문맥 정보를 이용하여 부호화되는 빈의 개수(즉, 임계값, CCB(Coded Context Bin))은 112라고 가정한다.
Figure pat00002
그림 2
위 그림 2에서, C0~C15는 서브 블록 내에 존재하는 레지듀얼 신호를 의미한다. TSRC 방식이 적용 될 때, 서브 블록 내에 존재하는 레지듀얼 신호는 서브 블록내 왼쪽 위 방향에서 오른쪽 아래방향으로 부호화가 진행된다. 위 그림에서 C15는 서브 블록 내 오른쪽 아래에 존재하는 신호이며, C0은 서브 블록 내 왼쪽 위에 존재하는 신호를 의미한다. 또한 검은색 화살표(context coding)로 표시된 부분은 문맥정보를 이용하여 부호화가 수행되는 빈들을 나타낸다. 파란색 화살표(bypass coding)로 표시된 부분은 문맥정보를 이용하지 않고 부호화되는 빈을 나타낸다. 또한, 화살표 방향대로, 각 신택스들에 대한 부호화가 수행될 수 있다.
또한, sig_coeff_flag, coeff_sign_flag, abs_level_gtx_flag[0], par_level_flag, abs_level_gtx_flag[1], abs_level_gtx_flag[2], abs_level_gtx_flag[3], abs_level_gtx_flag[4], abs_remainder는 다음의 표에 존재하는 수식과 같이 정의된다.
pass 신택스명 수식
pass 1 sig_coeff_flag CN != 0
coeff_sign_flag CN < 0 ? 1 : 0
abs_level_gtx_flag[0] !! ( |CN| - 1 )
par_level_flag ( |CN| - 2 ) & 1
pass 2 abs_level_gtx_flag[1] ( |CN| - 2 ) >= 4
abs_level_gtx_flag[2] ( |CN| - 2 ) >= 6
abs_level_gtx_flag[3] ( |CN| - 2 ) >= 8
abs_level_gtx_flag[4] ( |CN| - 2 ) >= 10
pass 3 abs_remainder ( |CN| - 10 ) >> 1
만약, C0의 값이 -21 이라면, C0에 해당하는 sig_coeff_flag는 1, coeff_sign_flag는 1, abs_level_gtx_flag[0]는 1, par_level_flag는1, abs_level_gtx_flag[1]은 1, abs_level_gtx_flag[2]는 1, abs_level_gtx_flag[3]은 1, abs_level_gtx_flag[4]는 1, abs_remainder의 값은 5로 표현되며, 이 신택스들이 엔트로피 부호화되어 디코더로 시그널링 된다.
디코더에서는 다음의 표를 이용하여 레지듀얼 신호를 복원한다.
수식
TmpCN sig_coeff_flag + abs_level_gtx_flag[0] + par_level_flag
CN TmpCN + (abs_level_gtx_flag[1]<<1) + (abs_level_gtx_flag[2]<<1) + (abs_level_gtx_flag[3]<<1) + (abs_level_gtx_flag[4]<<1) +
(abs_remainder<<1)
상기 설명한 대로 |C0|에 대해 복원하면, TmpCN의 값은 1+1+1을 통해 3이 되며, (abs_level_gtx_flag[1]<<1) + (abs_level_gtx_flag[2]<<1) + (abs_level_gtx_flag[3]<<1) + (abs_level_gtx_flag[4]<<1) 을 통해 8이 복원되고, (abs_remainder<<1)을 통해 10이 복원됨으로, 전부 합하면 21로 복원 된다. 그 후, coeff_sign_flag값을 통해 C0의 값은 -21로 최종 복원된다.
1-3: 절삭된 라이스 (TR: Truncated Rice) 이진화 방법
어떤 값에 대해 엔트로피 부호화를 수행하기 위해서는 이진화가 선행되어야 한다. 다양한 이진화 방법들 중, 절삭된 라이스(TR) 이진화 방법을 수행하기 위해서는 두개의 파라미터가 요구된다. 구체적으로, 절삭된 라이스 이진화 방법을 수행하기 위해, cMax 파라미터와 라이스파라미터(cRiceParam)가 결정되어야 한다.
TR 이진화 방식이 적용되는 경우, 파라미터에 기초하여, 부호화하려는 값을 프리픽스(prefix) 부분과 서픽스(suffix) 부분으로 분류할 수 있다. 이후, 각 부분을 설정된 방법에 따라 이진화할 수 있다. 프리픽스 부분은 다음의 수식으로 분류된다.
prefixVal = symbolVal >> cRiceParam (1)
위 수식에서 symbolVal은 부호화하려는 값을 의미하며 prefixVal은 프리픽스를 의미한다. 그 후, 다음의 테이블을 이용하여 이진화한다.
prefixVal Bin string
0 0
1 1 0
2 1 1 0
3 1 1 1 0
4 1 1 1 1 0
5 1 1 1 1 1 0
...
bin index 0 1 2 3 4 5 ...
이 때, prefixVal의 값이 (cMax >> cRiceParam)의 결과보다 작은 경우, 위의 표와 같이 이진화할 수 있다. 그렇지 않은 경우, 빈 스트링(Bin string)의 길이를 더 이상 늘리지 않고, 마지막 빈을 1로 대체한다. 예를 들어 (cMax >> cRiceParam)의 값이 6이고 prefixVal의 값이 6인 경우, 아래와 같이 빈 스트링이 설정될 수 있다.
prefixVal Bin string
0 0
1 1 0
2 1 1 0
3 1 1 1 0
4 1 1 1 1 0
5 1 1 1 1 1 0
6 1 1 1 1 1 1
bin index 0 1 2 3 4 5
cMax가 symbolVal보다 크고 cRiceParam이 0보다 큰 경우에만 서픽스를 사용할 수 있다. 그렇지 않은 경우, 서픽스는 사용되지 않는다. 서픽스가 사용되는 경우, 다음의 수식에 의해 서픽스 값이 설정된다.
suffixVal = symbolVal - (prefixVal << cRiceParam) (2)
그 후, suffixVal의 이진화할 때, 고정길이 (FL : Fixed-length)이진화 방식이 적용될 수 있다. FL이진화를 위한 cMax값은 (1 << cRiceParam)-1 의 값으로 설정된다.
고정길이 이진화 방식 하에서, 고정길이가 다음의 수식과 같이 설정될 수 있다.
fixedLength = Ceil ( Log2 (cMax+1) ) (3)
fixedLength은 FL이진화 방식에 사용되는 고정길이를 의미하며 Ceil( )는 올림 연산을 의미한다. 또한, (2fixedLength) 개의 값을 이진화 할 수 있다. 예를 들어 fixedLength가 2 설정된 경우 22 = 4개의 값을 이진화 할 수 있다. 다음의 표는 이에 따른 예시이다.
Val Bin string
0 0 0
1 0 1
2 1 0
3 1 1
bin index 0 1
1-4: 제한된 k차 지수골룸 (Limited k-th order Exp-Golomb) 이진화 방법
이 이진화 방식의 입력으로는, 이진화하려는 값인 symbolVal과, 변수 k, maxPreExtLen, truncSuffixLen이 존재한다.
이 입력값들을 이용하여 제한된 k차 지수골룸 이진화하는 방법은 다음의 표를 통해 설명된다.
codeValue = symbolVal >> k
preExtLen = 0
while( ( preExtLen < maxPreExtLen ) && ( codeValue > ( ( 2 << preExtLen ) - 2 ) ) ) {
preExtLen++
put( 1 )
}
if( preExtLen = = maxPreExtLen )
escapeLength = truncSuffixLen
else {
escapeLength = preExtLen + k
put( 0 )
}
symbolVal = symbolVal - ( ( ( 1 << preExtLen ) - 1 ) << k )
while( ( escapeLength-- ) > 0 )
put( ( symbolVal >> escapeLength ) & 1 )
1-5: abs_remainder과 dec_abs_level의 이진화 방법
abs_remainder의 이진화를 위해 abs_remainder를 프리픽스 부분과 서픽스 부분으로 분류한다. 그 후, 프리픽스 부분은 TR방식으로 이진화하고, 서픽스 부분은 제한된 k차 지수골룸 (Limited k-th order Exp-Golomb )방식으로 이진화가 수행된다. 이 때, TR방식으로 이진화한 결과가 111111인 경우에만(즉, prefixVal의 값이 (cMax >> cRiceParam)인 경우), abs_remainder의 서픽스를 생성하여 이진화한다.
우선, abs_remainder의 프리픽스를 TR방식으로의 이진화하기 위해, cRiceParam의 값과 cMax값이 설정되어야 한다. 이때, cRiceParam의 값은, 레지듀얼 신호의 부호화 방식에 따라 결정될 수 있다. 일 예로, 레지듀얼 신호의 부호화를 위해 TSRC방식이 적용된 경우, cRiceParam가 기 정의된 상수로 설정될 수 있다. 여기서, 기 정의된 상수는, 1일 수 있다. 만약, 레지듀얼 신호의 부호화를 위해, RC이 적용된 경우, 다음 설명에 따라, cRiceParam가 설정된다.
우선 그림 3과 같이, 현재 부호화하려는 위치를 기준으로 주변 참조위치 각각에 존재하는 레지듀얼 신호들의 절대값합(locSumAbs)를 유도한다.
Figure pat00003
그림 3
이때, 참조위치에 존재하는 각 레지듀얼 신호의 절대값은 표 2를 이용해서 생성된다. 그 후, 다음의 수식 (4)를 통해 클리핑을 수행한다. 여기서 Clip3 (A,B,C)의 의미는, 만약 C의 값이 A이하라면 A를 출력하고, 그게 아니라 만약 C의 값이 B이상이라면 B를 출력하며, 그게아니라면 C를 출력한다는 의미이다.
locSumAbs = Clip3(0, 31, locSumAbs - baseLevel*5 ) (4)
위 수식에서 baseLevel은 4로 고정된다. 그 후, 수식에 의해 계산된 locSumAbs에 따라서 다음의 표와 같이 cRiceParam를 유도한다.
locSumAbs 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
cRiceParam 0 0 0 0 0 0 0 1 1 1 1 1 1 1 2 2
locSumAbs 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
cRiceParam 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3
파라미터 cMax는 다음의 수식을 이용하여 설정된다.
cMax = 6<< cRiceParam (5)
상기 설명한 방식을 이용하여, abs_remainder의 프리픽스를 TR방식으로의 이진화하기 위해 cRiceParam의 값과 cMax값이 설정되면, abs_remainder의 프리픽스를 다음의 수식 (6)을 이용하여 설정한다.
prefixVal = Min (cMax, abs_remainder) (6)
이렇게 설정된 prefixVal은 파라미터 cMax와 cRiceParam를 이용하여 TR방식으로 이진화 된다.
다음의 예시는, abs_remainder를 이진화하는 예시를 나타낸다. 설명의 편의를 위해 cRiceParam은 2, abs_remainder의 값은 23이라고 가정한다.
우선, cRiceParam가 2이기 때문에, 수식 (5)에 의해 cMax는 24로 설정된다. 그 후, 수식 (6)에 의해 abs_remainder의 프리픽스 값이 23으로 설정된다. 이 프리픽스 값과 cMax, cRiceParam를 입력값으로 이용하여 TR이진화를 수행한다. 이 때. 이 프리픽스 값이 TR이진화의 symbolVal로 입력된다.
TR이진화를 수행하기 위해 symbolVal을 프리픽스와 서픽스로 분류한다. symbolVal이 23이고 수식 (1)을 통해, prefixVal이 5로 설정된다. 그 후, 이 프리픽스 값은 (cMax >> cRiceParam)의 결과인 6보다 작으므로 표 5에 의해 111110 으로 이진화 된다.
그리고, cMax값이 symbolVal 값인 23보다 크고 cRiceParam이 2이기 때문에, symbolVal의 서픽스를 추가로 설정하여야 한다. 수식 (2)와 같이 설정하면 suffixVal의 값은 23 - (5<<2)의 결과인 3이 설정되며, (1 << cRiceParam)-1의 값을 FL이진화 방식을 위한 cMax로 설정된다. 그 후, suffixVal 값인 3과, cMax 값인 3을 고정길이 (FL : Fixed-length)이진화 방식의 입력으로 적용하여 이진화를 수행한다. 이 때, 수식 (3)에 의해 fixedLength의 값은 2가 되며, 표 7에 의해 11로 이진화된다.
위와 같은 방식으로, abs_remainder의 프리픽스 값인 23을 TR이진화를 수행하면 111110 11 로 표현된다. 따라서, 111111이 아니기때문에 abs_remainder의 서픽스는 생성하지 않고 abs_remainder의 이진화 과정이 종료된다.
다음의 예시는, abs_remainder를 이진화하는 또다른 예시를 나타낸다. 설명의 편의성을 위해 cRiceParam은 2, abs_remainder의 값은 25라고 가정한다.
우선, cRiceParam가 2이기 때문에, 수식 (5)에 의해 cMax는 24로 설정된다. 그 후, 수식 (6)에 의해 abs_remainder의 프리픽스 값이 24으로 설정된다. 이 프리픽스 값과 cMax, cRiceParam를 입력값으로 이용하여 TR이진화를 수행한다. 이 때. 이 프리픽스 값이 TR이진화의 symbolVal로 입력된다.
TR이진화를 수행하기 위해 symbolVal을 프리픽스와 서픽스로 분류한다. symbolVal이 24이고 수식 (1)을 통해, prefixVal이 6으로 설정된다. 그 후, 이 프리픽스 값은 (cMax >> cRiceParam)의 결과인 6보다 작지 않기 때문에, 표 6에 의해 111111 로 이진화 된다.
그리고, cMax값이 symbolVal 값인 24보다 크지 않기 때문에 TR이진화의 서픽스를 생성하지 않으며, abs_remainder의 프리픽스를 이진화한 결과는 111111로 종료된다.
그 후, abs_remainder의 프리픽스를 TR방식으로 이진화한 결과가 111111이기 때문에, abs_remainder의 서픽스를 다음의 수식으로 생성한다.
SuffixVal = abs_remainder - cMax (7)
따라서 수식 (7)을 적용하면, 25-24의 결과인 1이 서픽스 값으로 생성된다. 그 후 k의 값을 cRiceParam+1의 결과로 설정하고, maxPreExtLen과 truncSuffixLen를 각각 11과 15로 설정한다. 마지막으로 서픽스값, k, maxPreExtLen, truncSuffixLen을 입력값으로 이용하여 제한된 k차 지수골룸 (Limited k-th order Exp-Golomb )방식으로 이진화한다.
dec_abs_level의 이진화는 abs_remainder의 이진화와 동일하다. 단, 수식(4)에 사용되는 baseLevel은 0으로 고정된다.
2. 영역 기반 확장된 라이스파라미터 유도 방법
abs_remainder와 dec_abs_level을 이진화할 때 그림 3과 표 9를 이용하지 않고, 임계값과 레지듀얼 신호를 이용하여 라이스파라미터(cRiceParam)를 유도하는 방식을 설명한다. 다음의 그림 4은 블록이 16x16인 경우에 대한 예시이다. 설명의 편의를 위해, 본 예시에서는 4x4 크기의 서브 영역 단위로 RC 혹은 TSRC가 수행되는 것으로 가정한다. 또한, 16x16 블록 내 모든 위치의 레지듀얼 신호들이 모두 abs_remainder 혹은 dec_abs_level를 이용하여 부호화/복호화되는 것으로 가정한다.
Figure pat00004
그림 4
일 예로, 블록에 변환이 수행되었다면, 해당 블록은 위 그림에서와 같이 3개의 영역으로 구분될 수 있다. 첫 번째 영역(빨간색)은 DC영역, 두 번째 영역(초록색)은 주요 저주파 영역, 세 번째 영역(주황색)은 그 외 영역을 나타낸다. 각 영역별로 변수 buf가 설정될 수 있다. 변수 buf는 임계값을 설정하는데 이용될 수 있다. 복원된 잔차값과 임계값을 비교한 후, locSumAbs를 스케일 다운 하기 위한 shift변수를 유도할 수 있다. 스케일 다운된 locSumAbs를 기초로, 라이스 파라미터를 유도할 수 있다. 이 후, 변수 buf의 값을 업데이트 할 수 있다.
다음의 그림 5은 라이스 파라미터 유도 방법의 흐름도를 나타낸다. 그림 4에 도시된 각 영역 마다, 독립적으로 그림 5의 실시예가 적용될 수 있다.
Figure pat00005
그림 5
우선, 변수 buf를 초기화한다. 이 변수의 초기값은 임의의 상수로 설정될 수 있다. 일 예로, 0, 1, 또는 2 등이 초기값으로 설정될 수 있다. 또는, SPS, PPS, 픽쳐헤더 등 상위 헤더를 통해 초기값이 시그널링 될 수 있다. 또는, 슬라이스, 타일, CTU등 픽쳐내 임의의 영역마다 초기값이 시그널링 될 수 있다. 혹은 인코더와 디코더에서 초기값이 기 정의되어 있을 수 있다.
그 후, 변수 buf를 이용하여, 임계값을 설정한다. 일 예로, 임계값은 다음의 수식을 통해 설정될 수 있다.
lowerTH = c0 << (buf>>4) (8)
upperTH = c1 << (buf>>4) (9)
위 수식에서 c0과 c1은 임의의 상수로, c1은 c0보다 큰 값을 갖는 정수일 수 있다.이다. c0 및/또는 c1을 결정하기 위한 정보가, 임의의 영역마다 시그널링 될 수 있다. 또는, 인코더와 디코더에서 c0 및/또는 c1의 값이 기 정의되어 있을 수 있다. 일 예로, c0과 c1은 각각 1과 3으로 기 정의되어 있을 수 있다.
또한, 다음의 수식을 이용하여 shift변수를 유도한다.
shift = Min(12, Max(0, ((buf + 8)>>4) - 2 )) - 1 (10)
shift가 유도되었으면, 그림 3과 수식(4)를 통해 유도된 locSumAbs를 다음의 수식 (11)을 통해 locSumAbs를 스케일링한다.
locSumAbs = Clip3( 0, 31, Max( locSumAbs - baseLevel * 5, 0 ) >> shift ) (11)
위 수식 (11)에서 유도된 locSumAbs와 표 9를 이용하여 cRiceParam를 유도하고, 유도된 cRiceParam에 shift를 합산하여 확장된 cRiceParam을 유도한다. 확장된 cRiceParam을 이용하여 현재 위치의 신호를 표현(부호화 혹은 복호화)하고, buf를 다음의 표 10과 같이 업데이트 한다.
if(AbsLevel[x][y] > 0)
{
if( AbsLevel[x][y] >= upperTH )
buf += offset0
else if( 2 * AbsLevel[x][y] <= lowerTH )
buf = buf > 0 ? buf - offset1 : buf
else
buf = buf
}
위 표에서 AbsLevel[x][y]는, 블록 내 (x,y)위치에 존재하는 레지듀얼 신호의 절대값을 의미한다. 또한 offset0과 offset1은 임의의 상수를 나타낸다. offset0 및/또는 offset1을 결정하기 위한 정보가 임의의 영역마다 시그널링 될 수 있다. 혹은 offset 0 및/또는 offset1의 값이 인코더와 디코더에서 기 정의되어 있을 수 있다. 일 예로, offset0과 offset1은 각각 4와 1로 기 정의되어 있을 수 있다.
N 번째 레지듀얼 신호의 부호화/복호화가 완료되면, 그 다음(N+1번째) 레지듀얼 신호 위치로 이동하여, 위 과정(임계값유도, shift유도, 라이스파라미터유도, 레지듀얼 신호 표현, buf 업데이트)를 반복한다.
상기 설명에서는 블록에 변환이 적용된 경우에 대하여 설명하였다. 이하 블록이 변환이 적용되지 않은 경우에 대한 예시를 설명한다.
다음의 그림은 블록이 16x16인 경우에 대한 예시이다. 설명의 편의를 위해, 본 예시에서는 4x4 서브 영역 단위로 RC 혹은 TSRC가 수행되는 것으로 가정한다. 또한, 16x16 블록 내 모든 위치의 레지듀얼 신호들이 abs_remainder 혹은 dec_abs_level를 이용하여 부호화/복호화되는 것으로 가정한다.
Figure pat00006
그림 6
변환이 적용되지 않는 경우, 위 그림과 같이, 블록 전체를 하나의 영역으로 보고, 하나의 buf를 이용하여 그림 5의 흐름도를 적용할 수 있다.
혹은 RC 혹은 TSRC가 수행되는 4x4 크기의 서브 영역 단위 마다 독립적으로, buf를 이용하는 방식 또한 가능하다.
혹은, 변수 buf는 컬러 콤포넌트(Y, Cb, Cr)에 따라 상이하게 설정할 수도 있다. 일 예로, Y신호에 대해서는 그림 4과 같이 블록을 3개의 영역으로 분류하여 각 영역별 변수 buf를 독립적으로 설정하는 한편, Cb 혹은 Cr 신호에 대해서는 그림 6와 같이 블록을 하나의 영역으로 간주하는 것 또한 가능하다.
혹은, 컬러 콤포넌트마다 블록을 복수의 영역들(예컨대, 그림 4와 같이 각각 3개의 영역)으로 분류하는 것도 가능하다. 또는, 컬러 콤포넌트 별로, 영역의 개수 또는 크기를 상이하게 설정할 수도 있다.
혹은, 변환 스킵이 적용된 경우라 하더라도, 블록을 복수개의 영역들로 분할하고, 분할된 각 영역별로 독립적으로 변수 buf를 결정할 수 있다. 예컨대, 그림 6에 도시된 예에서와 같이, 변환 스킵이 적용된 블록을 4x4 크기의 영역들로 분할한 뒤,각 영역별로 변수 buf를 독립적으로 결정할 수 있다.
상기 설명한 컬러 콤포넌트별, 영역별, 또는 변환 스킵의 적용 여부 중 적어도 하나를 고려하여buf 값을 설정할 수 있다. 이를 위해, 다음의 수식 (12)~(13)과 같이 index를 유도하고, buf 대신 buf[index]를 이용할 수 있다.
index = cIdx << 2 + (transform_skip_flag[cIdx] ? 0 :
(x == 0 && y == 0) ? 1 : x < 4 && y < 4 ? 2 : 3) (12)
위 수식에서 cIdx는 콤포넌트를 나타내며 Y인경우 0, Cb인경우 1, Cr인경우 2를 의미한다. 또한, transform_skip_flag[cIdx]는 해당 콤포넌트에 변환이 스킵이 되었는지를 나타내며 스킵되었다면 1, 그게 아니라면 0을 의미한다. 그리고 x와 y는 현재 레지듀얼 시그널의 위치 (x,y)를 의미한다. 이에 따라 아래의 표와 같이 index는 0~11로 중 하나로 설정될 수 있으며, 그림 4와 같이 서브 영역 단위가 정사각형인 경우를 반영한다.
변환스킵 DC영역 주요
저주파영역
그외 영역
Y 0 1 2 3
Cb 4 5 6 7
Cr 8 9 10 11
혹은, 그림 4에 도시된 것과 상이하게 영역들을 정의할 수도 있다. 일 예로, ISP(Intra Sub-Partitions)기술이 적용되는 경우, 코딩 블록은, 다수의 직사각형/정사각형 모양의 서브블록들(즉, 변환 블록들)로 분할될 수 있다. 이 경우, 코딩 블록의 크기에 따라, RC 혹은 TSRC가 수행되는 서브 영역 단위의 크기가 4x4가 아닌 경우가 발생할 수 있다. 다음의 표는 이에 대한 예시이다.
서브 블록의 크기 서브 영역 단위의 크기
1 x N, N>=16 1 x 16
N x 1, N>=16 16 x 1
2 x N, N>=8 2 x 8
N x 2, N>=8 8 x 2
그 외 4 x 4
예를 들어, 크기가 16x8인 코딩 블록에 ISP가 적용되어 4개의 16x2 서브 블록들이 생성되었다고 가정하자.
이 경우, 표 11의 예에서와 같이, 각 16x2 서브 블록은 8x2 크기의 서브 영역 단위로 RC 또는 TSRC가 수행된다.
또는, 크기가 32x4인 코딩 블록에 ISP가 적용되어 4개의 32x1 서브 블록들이 생성되었다고 가정하자. 이 경우, 각 32x1 서브 블록은 16x1 크기의 서브 영역 단위로 RC 또는 TSRC가 수행된다.
다음의 그림 7은 이와 관련된 예시들을 나타낸다.
Figure pat00007
그림 7
위와 같은 경우에도, 그림 4과 유사하게, 블록을 복수개의 영역들로 분할할 수 있다. 일 예로, 위 그림 7에서 첫 번째 영역(빨간색)은 DC영역, 두 번째 영역(초록색)은 주요 저주파 영역, 세 번째 영역(주황색)은 그외 영역을 나타낸다. 이후, 각 영역마다 독립적으로 변수 buf를 설정할 수 있다. 해당 변수에 저장된 값을 이용하여 임계값을 설정할 수 있으며, 복원된 잔차값과 임계값을 비교후 locSumAbs를 스케일다운 할 shift변수를 유도한다. 그리고 라이스 파라미터를 유도 후, buf의 값을 업데이트 할 수 있다.
상기 설명한 그림 7에서 두 번째 주요 저주파 영역(초록색)의 경우, 수식 (12)와 같이 x와 y 모두 4보다 작은 경우로 표현될 수 없다. 따라서, 이 영역의 경우 레지듀얼 시그널의 위치 (x, y)가 아닌, 서브 영역단위의 위치를 이용하여 수식 (13)과 같이 주요 저주파 영역을 위한 인덱스 index를 정의할 수 있다.
index = cIdx << 2 + (transform_skip_flag[cIdx] ? 0 :
(x == 0 && y == 0) ? 1 : xS < 1 && yS < 1 ? 2 : 3) (13)
위 수식에서 xS와 yS는 블록 내 서브 영역 단위의 위치를 의미한다. 수식 (13)은 그림 7 뿐만 아니라, 그림 4에 도시된 실시예에도 적용 가능하다.
위 수식 (13)에서 xS와 yS는 음수로 설정될 수 없다. 또한, xS와 yS는, 서브 영역 단위 내 좌상단 픽셀(예컨대, (0, 0))의 위치를 의미한다. 이에 따라, xS, yS는 서브 영역 단위 내 DC값의 위치를 나타낼 수 있다.
혹은, Y신호에서 결정된 라이스 파라미터를, 동일 위치에 존재하는 Cb 혹은 Cr 블록에 동일하게 사용할 수 있다. 또는, Y신호에서 결정된 라이스 파라미터에 오프셋값을 적용하여, Cb 혹은 Cr 블록에 대한 라이스 파라미터를 유도할 수 있다. 일 예로 오프셋값은 -2, -1, 0, 1 또는 1등으로 설정될 수 있다. 오프셋값은 부호화기 및 복호화기에서 기설정되어 있을 수 있다. 또는, 특정 영역마다 오프셋값을 결정하기 위한 정보가 부호화되어 시그널링될 수 있다.
혹은, 듀얼트리가 적용되었는지 여부에 따라 라이스 파라미터의 유도 방법이 상이하게 결정될 수 있다. 일 예로, 듀얼트리가 사용된 경우에는, Y 성분의 라이스 파라미터를, Cb 및/또는 Cr 성분에 그대로 적용하지 않을 수 있다. 예컨대, Cb 및/또는 Cr 성분의 라이스 파라미터를 Y 성분과 독립적으로 결정하거나, Y 성분의 라이스 파라미터에 오프셋을 적용하여 Cb 및/또는 Cr 성분의 라이스 파라미터를 유도할 수 있다.
반면, 싱글트리가 사용되었다면 Y 성분의 라이스 파라미터를 동일 위치의 Cb 및/또는 Cr 성분에 공유할 수 있다.
또한, 병렬처리를 위해 WPP(Wavefront Parallel Processing)가 사용되는 경우, CABAC의 컨텍스트 초기화 방법과 유사하게 buf의 초기화가 이뤄질 수 있다. 일 예로 현재 슬라이스의 시작점에서 초기화값으로 사용되는 buf의 값은, 이전 슬라이스에서 가져와 초기값으로 사용할 수 도 있다. 혹은 WPP와 상관없이 슬라이스의 시작점에서는 언제나 기설정된 초기화값(일 예로 0, 1, 2 등)을 사용할 수도 있다.
혹은, 표 10에서 언급한 변수 buf의 업데이트는 특정 위치에서만 이루어지도록 하는것이 가능하다. 일 예로, 블록 내 레지듀얼 신호 중 라이스 파라미터를 사용하면서 동시에, x와 y위치가 동일한 곳에서만 buf의 업데이트가 수행되도록 할 수 있다. 혹은, RC와 TSRC가 수행되는 서브 영역 단위 내, 라이스 파라미터를 사용하는 첫 번째 위치, 혹은 서브 영역 단위 내 스캔 순서상 첫 번째 위치에서만 buf의 업데이트가 수행되도록 할 수 있다. 이 경우, 서브 영역 단위마다 buf의 업데이트가 한 번 수행된다.
혹은, 블록 내에서 라이스 파라미터를 사용하는 첫 번째 위치, 혹은 스캔 순서상 첫 번째 위치에서만 buf의 업데이트가 수행되도록 할 수 있다. 이 경우, 블록마다 buf의 업데이트가 한 번 수행된다.
혹은 서브 영역 단위의 가로길이와 세로길이의 비율에 따라 변수 buf의 업데이트위치를 조절할 수 있다. 일 예로, 서브 영역 단위의 모양이 직사각형이고, 가로길이와 세로길이의 비율이 4:1인 경우(예컨대, 8x2), 4x와 y가 동일한 픽셀에 대해서만 변수 buf를 업데이트할 수 있다. 만약, 서브 영역 단위의 모양이 정사각형인 경우(예컨대, 4x4), x와 y가 동일한 픽셀에 대해서만 변수 buf를 업데이트할 수 있다.
상기 설명한 buf의 업데이트가 수행되는지 여부에 따라 임계값 유도, shift 유도, 라이스 파라미터 유도 과정의 수행 여부가 결정될 수 있다. 일 예로, buf의 업데이트가 수행되지 않았다면 임계값 유도와 shift 유도 및 라이스파라미터유도는 수행되지 않으며, 이전 업데이트 후 유도된 라이스파라미터(혹은 shift)를 그대로 사용할 수 있다.
혹은 라이스 파라미터를 사용하는 레지듀얼 신호가 abs_remainder을 이용하여 부호화 되는지 dec_abs_level을 이용하여 부호화되는지에 여부에 기초하여, buf 업데이트 수행 과정을 상이하게 설정할 수 있다. 일 예로 abs_remainder를 이용하여 부호화되는 레지듀얼 신호는, 표 1에서 볼 수 있듯이 sig_coeff_flag ~ abs_level_gtx_flag[1]로 표현되는 값의 나머지가 abs_remainder를 통해 표현된다. 따라서, abs_remainder를 이용하여 부호화되는 레지듀얼 신호에 대해서는, 표 10과 다르게 offset2가 추가되어 다음과 같이 buf의 업데이트가 이루어질 수 있다.
if(AbsLevel[x][y] > 0)
{
if( AbsLevel[x][y] - offset2 >= upperTH )
buf += offset0
else if( 2 * (AbsLevel[x][y] - offset2) <= lowerTH )
buf = buf > 0 ? buf - offset1 : buf
else
buf = buf
}
상기 표 13에서 추가된 offset2의 값은 sig_coeff_flag ~ abs_level_gtx_flag[1]의 값을 기초로 결정될 수 있다. 일 예로, offset2의 값은 4로 설정될 수 있다.
dec_abs_level를 이용하여 부호화되는 레지듀얼 신호의 경우에는, abs_remainder를 이용하는 경우와는 달리 par_level_flag의 부호화/복호화가 생략된다. 따라서 수식 (20)의 결과에 오프셋을 더하여 조정된 shift를 사용할 수도 있다. 일 예로, 이 오프셋은 1이 될 수 있다.

Claims (1)

  1. 잔차 신호의 부호화/복호화 방법.
KR1020210025451A 2021-02-25 2021-02-25 비디오 신호 처리 방법 및 장치 KR20220121425A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210025451A KR20220121425A (ko) 2021-02-25 2021-02-25 비디오 신호 처리 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210025451A KR20220121425A (ko) 2021-02-25 2021-02-25 비디오 신호 처리 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20220121425A true KR20220121425A (ko) 2022-09-01

Family

ID=83282013

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210025451A KR20220121425A (ko) 2021-02-25 2021-02-25 비디오 신호 처리 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20220121425A (ko)

Similar Documents

Publication Publication Date Title
KR102592909B1 (ko) 변환 계수의 엔트로피 부호화/복호화 방법 및 장치
AU2021221878B2 (en) Method and device for entropy encoding, decoding video signal
CN110870308A (zh) 通过几何自适应块分割将图片转换成用于视频编码的视频块的系统和方法
EP2810440A1 (en) Devices and methods for context reduction in last significant coefficient position coding
KR20130058524A (ko) 색차 인트라 예측 블록 생성 방법
KR102616533B1 (ko) 변환 계수 레벨 코딩 방법 및 그 장치
WO2019195671A1 (en) Design for non-square blocks in video coding
EP2805495A2 (en) Devices and methods for context reduction in last significant coefficient position coding
CA3130803A1 (en) Coefficient coding for transform skip mode
WO2020186046A1 (en) Grouped coding for palette syntax in video coding
CN112673639A (zh) 用于对变换系数位阶值进行编码的系统和方法
JP2023096030A (ja) 映像コーディングシステムにおいてレジデュアル情報を使用する映像デコーディング方法及びその装置
KR20220051341A (ko) 비디오/영상 코딩 시스템에서 변환 계수 코딩 방법 및 장치
EP3906679A1 (en) Escape coding for coefficient levels
KR20220038121A (ko) 비디오/영상 코딩 시스템에서 라이스 파라미터 도출 방법 및 장치
JP2024053059A (ja) 画像コーディングシステムで単純化されたレジデュアルデータコーディングを用いる画像デコード方法及びその装置
EP4289142A1 (en) Residual and coefficients coding for video coding
WO2019246091A1 (en) Coefficient coding with grouped bypass bins
CN114868400A (zh) 用于视频译码中的常规变换系数的基于方程的莱斯参数推导
KR20220019256A (ko) 영상 코딩 시스템에서 레지듀얼 코딩 방법에 대한 플래그를 사용하는 영상 디코딩 방법 및 그 장치
KR20220121425A (ko) 비디오 신호 처리 방법 및 장치
WO2021061799A1 (en) Arithmetic coder byte stuffing signaling for video coding
KR20220121424A (ko) 비디오 신호 처리 방법 및 장치
KR20220121426A (ko) 비디오 신호 처리 방법 및 장치
KR20220134309A (ko) 비디오 신호 처리 방법 및 장치