WO2018190595A1 - 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치 - Google Patents

비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치 Download PDF

Info

Publication number
WO2018190595A1
WO2018190595A1 PCT/KR2018/004144 KR2018004144W WO2018190595A1 WO 2018190595 A1 WO2018190595 A1 WO 2018190595A1 KR 2018004144 W KR2018004144 W KR 2018004144W WO 2018190595 A1 WO2018190595 A1 WO 2018190595A1
Authority
WO
WIPO (PCT)
Prior art keywords
coefficient
current
context
template
coefficients
Prior art date
Application number
PCT/KR2018/004144
Other languages
English (en)
French (fr)
Inventor
구문모
김승환
Original Assignee
엘지전자(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자(주) filed Critical 엘지전자(주)
Publication of WO2018190595A1 publication Critical patent/WO2018190595A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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

Definitions

  • the decoded picture buffer 170 may store the filtered picture for use as a reference picture in the inter prediction unit 180.
  • the inverse binarization unit 460 receives a binary-type bin decoded by the binary arithmetic decoding unit 420 and converts it into an integer-type syntax element value.
  • the debinarization unit 460 may output the binary bin as it is. have.
  • the decoder may perform inverse binarization on the decoded bin string (S670). For example, a decoded binary type bin may be input and converted into an integer syntax element value.
  • FIG. 8 is a diagram illustrating a method of allocating a context index range for each region of transform coefficients in a transform block according to an embodiment to which the present invention is applied.
  • a context offset is determined by referring to valid coefficient flags of neighboring coefficients in order to code an effective coefficient flag.
  • the transform coefficient may correspond to a low frequency component in the horizontal direction (or horizontal direction) as it is located on the left side, and as the transform coefficient is located at the top, it corresponds to a low frequency component in the vertical direction (or vertical direction).
  • anti-diagonal lines having the same d may correspond to components having an equal phase in terms of frequency.
  • the image data or the residual data may have a value closer to zero as the high frequency component (that is, the larger the d value), the high frequency component may be less important than the low frequency component.
  • the template may be configured using five neighboring coefficients as shown in FIG. 9 before the first coefficient 1601 having a d value of 12.
  • the template may be configured with two positions having a d value of 13 and three positions having a d value of 14.
  • the template in the case of the coefficient position where the d value is z, the template may be composed of two coefficients having a d value of z + 1 and three coefficients having a d value of z + 2.
  • Offset_ (GT ⁇ ) (x) represents an adjustment offset for adjusting the range of the context offset.
  • the context offset value may be determined to be 0 or 1.
  • the encoder / decoder uses the weight w_ (GT ⁇ ) (x, y) and / or the adjustment offset Offset_ (GT ⁇ ) (x) so that the output of the context offset is 0 and 3 (or 1 and 3). Can be adjusted as possible.
  • the template may be configured in various forms.
  • the template of the current coefficient may be composed of two coefficients adjacent to the right side of the current coefficient, two coefficients adjacent to the lower end, and one coefficient adjacent to the lower right end.
  • the template of the current coefficient may be composed of one coefficient adjacent to the right side of the current coefficient and one coefficient adjacent to the bottom.
  • the template of the current coefficient may be composed of three coefficients adjacent to the right side of the current coefficient, three coefficients adjacent to the bottom and three coefficients adjacent to the lower right.

Abstract

본 발명은, 비디오 신호에 대해 엔트로피 디코딩을 수행하는 방법에 있어서, 현재 블록이 비정방형 블록(non-square block)인 경우, 상기 현재 블록의 너비(width)와 높이(height)에 기초하여 상기 현재 블록을 복수 개의 서브 영역으로 분할하는 단계; 상기 현재 블록 내 각 서브 영역 별로 변환 계수 정보(transform coefficient information)를 나타내는 신택스 요소(syntax element)의 컨텍스트 베이스(context base) 값을 할당하는 단계; 상기 현재 블록 내 현재 계수의 템플릿(template)을 결정하는 단계; 상기 템플릿 내 이용 가능한 이웃하는 계수의 상기 신택스 요소 값에 기초하여 상기 현재 계수의 상기 신택스 요소의 컨텍스트 오프셋(context offset) 값을 결정하는 단계; 및 상기 현재 계수가 속한 서브 영역에 할당된 컨텍스트 베이스 값과 상기 컨텍스트 오프셋 값을 합하여 상기 현재 계수의 상기 신택스 요소의 컨텍스트 인덱스 값을 결정하는 단계를 포함하는 방법을 제공한다.

Description

비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
본 발명은 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치에 관한 것이다. 보다 구체적으로, 변환 계수를 엔트로피 인코딩, 디코딩하는 방법 및 장치에 관한 것이다.
엔트로피 코딩은 부호화 과정을 통해 결정된 신택스 엘리먼트들을 무손실 압축하여 RBSP(Raw Byte Sequence Payload)를 생성하는 과정이다. 엔트로피 코딩은 신택스의 통계를 이용하여 자주 발생하는 신택스에 대해서는 짧은 비트를 할당하고, 그렇지 않은 신택스에는 긴 비트를 할당하여 신택스 엘리먼트들을 간결한 데이터로 표현한다.
그 중, CABAC(Context-based Adaptive Binary Arithmetic Coding)은 이진 산술 코딩을 수행하는 과정에서 신택스의 컨텍스트와 이전에 발생한 심볼에 기초하여 적응적으로 업데이트된 컨텍스트 모델을 사용한다. 그러나, 이러한 CABAC도 연산량이 많아 복잡도가 높고 순차적 구조를 가지고 있어 병렬 수행이 어려운 문제점이 있다.
따라서, 비디오 압축 기술에 있어서 신택스 엘리먼트를 보다 효율적으로 압축하고 전송할 필요가 있으며, 이를 위해 엔트로피 코딩의 성능을 향상시킬 필요가 있다.
본 발명의 목적은 변환 계수를 엔트로피 인코딩/디코딩하기 위하여 컨텍스트(context)를 결정하는 방법을 제안한다.
또한, 본 발명의 목적은 변환 계수 블록을 서브 영역들로 분할하고 분할된 서브 영역 별로 컨텍스트를 할당하는 방법을 제안한다.
또한, 본 발명의 목적은 비정방형(non-square)인 변환 계수 블록을 서브 영역들로 분할하고 분할된 서브 영역 별로 컨텍스트를 할당하는 방법을 제안한다.
또한, 본 발명의 목적은 변환 계수의 이웃하는 계수들의 코딩된 값들을 합산하여 컨텍스트 인덱스(context index)를 결정하는 방법을 제안한다.
또한, 본 발명의 목적은 변환 계수의 이웃하는 계수들의 코딩된 값들을 가중합하여 컨텍스트 인덱스(context index)를 결정하는 방법을 제안한다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 양상은, 비디오 신호에 대해 엔트로피 디코딩을 수행하는 방법에 있어서, 현재 블록이 비정방형 블록(non-square block)인 경우, 상기 현재 블록의 너비(width)와 높이(height)에 기초하여 상기 현재 블록을 복수 개의 서브 영역으로 분할하는 단계; 상기 현재 블록 내 각 서브 영역 별로 변환 계수 정보(transform coefficient information)를 나타내는 신택스 요소(syntax element)의 컨텍스트 베이스(context base) 값을 할당하는 단계; 상기 현재 블록 내 현재 계수의 템플릿(template)을 결정하는 단계, 여기서, 상기 템플릿은 컨텍스트(context) 결정에 이용될 수 있는 복수 개의 이웃하는 계수를 나타냄; 상기 템플릿 내 이용 가능한 이웃하는 계수의 상기 신택스 요소 값에 기초하여 상기 현재 계수의 상기 신택스 요소의 컨텍스트 오프셋(context offset) 값을 결정하는 단계; 및 상기 현재 계수가 속한 서브 영역에 할당된 컨텍스트 베이스 값과 상기 컨텍스트 오프셋 값을 합하여 상기 현재 계수의 상기 신택스 요소의 컨텍스트 인덱스 값을 결정하는 단계를 포함할 수 있다.
바람직하게, 상기 신택스 요소는 0이 아닌 계수(non-zero coefficient)가 존재하는지 여부를 나타내는 플래그, 계수의 절대값이 1보다 큰지 여부를 나타내는 플래그 또는 계수의 절대값이 2보다 큰지 여부를 나타내는 플래그 중 어느 하나일 수 있다.
바람직하게, 상기 현재 블록을 복수 개의 서브 영역으로 분할하는 단계는, 상기 현재 블록 내 각 계수의 수평 방향으로 좌표 값의 증가량을 나타내는 수평 방향 증분 및 수직 방향으로 좌표 값의 증가량을 나타내는 수직 방향 증분을 결정하는 단계를 포함하고, 상기 수평 방향 증분 및 상기 수직 방향 증분을 합한 값에 기초하여 상기 현재 블록을 복수 개의 서브 영역으로 분할할 수 있다.
바람직하게, 상기 수평 방향 증분 및 상기 수직 방향 증분은 상기 현재 블록의 너비와 높이의 비율에 기초하여 결정될 수 있다.
바람직하게, 상기 현재 블록의 너비가 높이보다 큰 경우, 상기 수평 방향 증분은 1로 결정되고 상기 수직 방향 증분은 2로 결정될 수 있다.
바람직하게, 상기 현재 블록의 높이가 너비보다 큰 경우, 상기 수직 방향 증분은 1로 결정되고 상기 수평 방향 증분은 2로 결정될 수 있다.
바람직하게, 상기 현재 계수의 템플릿은 상기 현재 계수의 우측에 인접한 2개의 계수, 하단에 인접한 2개의 계수 및 우하단에 인접한 1개의 계수로 구성될 수 있다.
바람직하게, 상기 현재 계수의 템플릿은 상기 현재 계수의 우측에 인접한 1개의 계수 및 하단에 인접한 1개의 계수로 구성될 수 있다.
바람직하게, 상기 현재 계수의 템플릿은 상기 현재 계수의 우측에 인접한 3개의 계수, 하단에 인접한 3개의 계수 및 우하단에 인접한 3개의 계수로 구성될 수 있다.
바람직하게, 상기 현재 계수의 템플릿은 상기 현재 블록의 너비와 높이의 비율에 기초하여 결정될 수 있다.
바람직하게, 상기 현재 블록의 너비가 높이보다 큰 경우, 상기 현재 계수의 템플릿은 상기 현재 계수의 우측에 인접한 3개의 계수, 하단에 인접한 1개의 계수 및 우하단에 인접한 1개의 계수로 구성되고, 상기 현재 블록의 높이가 너비보다 큰 경우, 상기 현재 계수의 템플릿은 상기 현재 계수의 우측에 인접한 1개의 계수, 하단에 인접한 3개의 계수 및 우하단에 인접한 1개의 계수로 구성될 수 있다.
바람직하게, 상기 컨텍스트 오프셋 값을 결정하는 단계는, 상기 템플릿 내 이용 가능한 이웃하는 계수들의 상기 신택스 요소 값을 합함으로써 상기 현재 계수의 상기 신택스 요소의 컨텍스트 오프셋 값을 결정될 수 있다.
바람직하게, 상기 컨텍스트 오프셋 값을 결정하는 단계는, 상기 템플릿 내 계수들의 위치에 기초하여 각 계수 별로 가중치를 부여하는 단계를 포함하고, 상기 가중치가 적용된 상기 템플릿 내 이용 가능한 이웃하는 계수들의 상기 신택스 요소 값을 합함으로써 상기 현재 계수의 상기 신택스 요소의 컨텍스트 오프셋 값을 결정할 수 있다.
바람직하게, 상기 현재 블록의 너비가 높이보다 큰 경우, 상기 현재 계수의 템플릿 내 상기 현재 계수의 우측에 인접한 계수에 더 큰 가중치가 부여되고, 상기 현재 블록의 높이가 너비보다 큰 경우, 상기 현재 계수의 템플릿 내 상기 현재 계수의 하단에 인접한 계수에 더 큰 가중치가 부여될 수 있다.
본 발명의 다른 일 양상은, 비디오 신호에 대해 엔트로피 디코딩을 수행하는 장치에 있어서, 현재 블록이 비정방형 블록(non-square block)인 경우, 상기 현재 블록의 너비(width)와 높이(height)에 기초하여 상기 현재 블록을 복수 개의 서브 영역으로 분할하는 서브 영역 분할부; 상기 현재 블록 내 각 서브 영역 별로 변환 계수 정보(transform coefficient information)를 나타내는 신택스 요소(syntax element)의 컨텍스트 베이스(context base) 값을 할당하는 컨텍스트 베이스 할당부; 상기 현재 블록 내 현재 계수의 템플릿(template)을 결정하는 템플릿 결정부, 여기서, 상기 템플릿은 컨텍스트(context) 결정에 이용될 수 있는 복수 개의 이웃하는 계수를 나타냄; 상기 템플릿 내 이용 가능한 이웃하는 계수의 상기 신택스 요소 값에 기초하여 상기 현재 계수의 상기 신택스 요소의 컨텍스트 오프셋(context offset) 값을 결정하는 컨텍스트 오프셋 결정부; 및 상기 현재 계수가 속한 서브 영역에 할당된 컨텍스트 베이스 값과 상기 컨텍스트 오프셋 값을 합하여 상기 현재 계수의 상기 신택스 요소의 컨텍스트 인덱스 값을 결정하는 컨텍스트 인덱스 결정부를 포함할 수 있다.
본 발명의 실시예에 따르면, 정지 영상 또는 동영상을 부호화하여 전송할 때, 0이 아닌 계수(non-zero coefficient)가 존재하는지 여부를 나타내는 플래그, 계수의 절대값이 1보다 큰지 여부를 나타내는 플래그 및 계수의 절대값이 2보다 큰지 여부를 나타내는 플래그를 효과적으로 코딩함으로써, 변환 계수 코딩에 필요한 데이터의 양을 줄일 수 있다.
또한, 본 발명의 실시예에 따르면, 블록의 너비(width)와 높이(height)에 기초하여 컨텍스트 인덱스(context index)를 결정함으로써, 비정방형 블록의 형태에 따른 확률 정보를 효과적으로 반영할 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명이 적용되는 실시예로서, 비디오 신호의 인코딩이 수행되는 인코더의 개략적인 블록도를 나타낸다.
도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더의 개략적인 블록도를 나타낸다.
도 3은 본 발명이 적용되는 실시예로서, CABAC(Context-based Adaptive Binary Arithmetic Coding)이 적용되는 엔트로피 인코딩부의 개략적인 블록도를 나타낸다.
도 4는 본 발명이 적용되는 실시예로서, CABAC(Context-based Adaptive Binary Arithmetic Coding)이 적용되는 엔트로피 디코딩부의 개략적인 블록도를 나타낸다.
도 5는 본 발명이 적용되는 실시예로서, CABAC(Context-based Adaptive Binary Arithmetic Coding)에 따라 수행되는 인코딩 흐름도를 나타낸다.
도 6은 본 발명이 적용되는 실시예로서, CABAC(Context-based Adaptive Binary Arithmetic Coding)에 따라 수행되는 디코딩 흐름도를 나타낸다.
도 7은 본 발명이 적용되는 실시예로서, 변환 계수 정보(transform coefficient information)의 컨텍스트 인덱스를 결정하는 방법을 설명하기 위한 도면이다.
도 8은 본 발명이 적용되는 실시예로서, 변환 블록 내 변환 계수의 영역 별로 컨텍스트 인덱스 범위를 할당하는 방법을 예시하는 도면이다.
도 9는 본 발명이 적용되는 실시예로서, 변환 계수의 컨텍스트 오프셋을 결정하는 방법을 예시하는 도면이다.
도 10은 본 발명이 적용되는 실시예로서, 변환 블록 내 변환 계수의 영역 별로 컨텍스트 인덱스 범위를 할당하는 방법을 예시하는 도면이다.
도 11은 본 발명이 적용되는 실시예로서, 변환 계수의 컨텍스트 인덱스 범위를 할당하는 방법을 설명하기 위한 도면이다.
도 12는 본 발명이 적용되는 실시예로서, 비정방형의 변환 블록 내 변환 계수의 영역 별로 컨텍스트 인덱스 범위를 할당하는 방법을 예시하는 도면이다.
도 13은 본 발명이 적용되는 실시예로서, 비정방형의 변환 블록 내 변환 계수의 영역 별로 컨텍스트 인덱스 범위를 할당하는 방법을 예시하는 도면이다.
도 14는 본 발명이 적용되는 실시예로서, 컨텍스트 오프셋 결정에 이용되는 템플릿을 구성하는 방법을 예시하는 도면이다.
도 15는 본 발명이 적용되는 실시예로서, 컨텍스트 오프셋 결정에 이용되는 템플릿을 구성하는 방법을 예시하는 도면이다.
도 16은 본 발명이 적용되는 실시예로서, 컨텍스트 오프셋 결정에 이용되는 템플릿을 구성하는 방법을 예시하는 도면이다.
도 17은 본 발명이 적용되는 실시예로서, 컨텍스트 오프셋 결정에 이용되는 템플릿을 구성하는 방법을 예시하는 도면이다.
도 18은 본 발명이 적용되는 실시예로서, 컨텍스트 오프셋 결정에 이용되는 템플릿에 가중치를 부여하는 방법을 예시하는 도면이다.
도 19는 본 발명이 적용되는 실시예로서, 컨텍스트 오프셋 결정에 이용되는 템플릿을 구성하는 방법을 예시하는 도면이다.
도 20은 본 발명이 적용되는 실시예로서, 변환 계수 정보(transform coefficient information)를 나타내는 신택스 요소(syntax element)의 컨텍스트 인덱스를 복호화하는 방법을 나타내는 흐름도이다.
도 21은 본 발명이 적용되는 실시예로서, 변환 계수 정보를 나타내는 신택스 요소의 컨텍스트 인덱스를 복호화하는 장치를 나타내는 도면이다.
이하, 본 발명의 실시예들에 따른 예시적인 엘리먼트들 및 동작들이 첨부된 도면들을 참조하여 기술된다. 그러나 상기 도면들을 참조하여 기술되는 본 발명의 상기 엘리먼트들 및 동작들은 단지 실시예들로서 제공되는 것이고, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다는 것을 밝혀두고자 한다.
또한, 본 발명에서 사용되는 용어는 가능한 한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어를 사용하여 설명한다. 그러한 경우에는 해당 부분의 상세 설명에서 그 의미가 명확하게 기재된다. 따라서, 본 명세서의 설명에서 사용된 용어의 명칭 만에 기초하여 본 발명이 단순 해석되어서는 안 될 것이며 그 해당 용어의 의미까지 파악하여 해석되어야 함을 밝혀두고자 한다.
또한, 본 발명에서 사용되는 용어들은 발명을 설명하기 위해 선택된 일반적인 용어들이나, 유사한 의미를 갖는 다른 용어가 있는 경우 보다 적절한 해석을 위해 대체 가능할 것이다. 예를 들어, 신호, 데이터, 샘플, 픽쳐, 프레임, 블록은 각 코딩 과정에서 적절하게 대체되어 해석될 수 있을 것이다.
또한, 본 명세서에서 설명되는 실시예들의 개념과 방법들은, 다른 실시예들에도 적용가능하며, 본 명세서에서 모두 명시하여 기재하지 않더라도 본 발명의 기술적 사상 범위 내에서 각 실시예들의 조합도 적용가능할 것이다.
도 1은 본 발명이 적용되는 실시예로서, 비디오 신호의 인코딩이 수행되는 인코더의 개략적인 블록도를 나타낸다.
도 1을 참조하면, 인코더(100)는 영상 분할부(110), 변환부(120), 양자화부(130), 역양자화부(140), 역변환부(150), 필터링부(160), 복호 픽쳐 버퍼(DPB: Decoded Picture Buffer)(170), 인터 예측부(180), 인트라 예측부(185) 및 엔트로피 인코딩부(190)를 포함하여 구성될 수 있다.
영상 분할부(110)는 인코더(100)에 입력된 입력 영상(또는, 픽쳐, 프레임)를 하나 이상의 처리 유닛으로 분할할 수 있다. 예를 들어, 상기 처리 유닛은 코딩 트리 유닛(CTU: Coding Tree Unit), 코딩 유닛(CU: Coding Unit), 예측 유닛(PU: Prediction Unit) 또는 변환 유닛(TU: Transform Unit)일 수 있다.
인코더(100)는 입력 영상 신호에서 인터 예측부(180) 또는 인트라 예측부(185)로부터 출력된 예측 신호를 감산하여 잔여 신호(residual signal)를 생성할 수 있고, 생성된 잔여 신호는 변환부(120)로 전송된다.
변환부(120)는 잔여 신호에 변환 기법을 적용하여 변환 계수(transform coefficient)를 생성할 수 있다. 예를 들어, 변환 기법은 DCT(Discrete Cosine Transform), DST(Discrete Sine Transform), KLT(Karhunen-Loeve Transform), GBT(Graph-Based Transform), 또는 CNT(Conditionally Non-linear Transform) 중 적어도 하나를 포함할 수 있다. 여기서, GBT는 픽셀 간의 관계 정보를 그래프로 표현한다고 할 때 이 그래프로부터 얻어진 변환을 의미한다. CNT는 이전에 복원된 모든 픽셀(all previously reconstructed pixel)를 이용하여 예측 신호를 생성하고 그에 기초하여 획득되는 변환을 의미한다. 또한, 변환 과정은 정사각형의 동일한 크기를 갖는 픽셀 블록에 적용될 수도 있고, 정사각형이 아닌 가변 크기의 블록에도 적용될 수 있다.
양자화부(130)는 변환 계수를 양자화하여 엔트로피 인코딩부(190)로 전송하고, 엔트로피 인코딩부(190)는 양자화된 신호를 엔트로피 코딩하여 비트스트림으로 출력할 수 있다.
양자화부(130)로부터 출력된 양자화된 신호는 예측 신호를 생성하기 위해 이용될 수 있다. 예를 들어, 양자화된 신호는 루프 내의 역양자화부(140) 및 역변환부(150)를 통해 역양자화 및 역변환을 적용함으로써 잔여 신호를 복원할 수 있다. 복원된 잔여 신호를 인터 예측부(180) 또는 인트라 예측부(185)로부터 출력된 예측 신호에 더함으로써 복원 신호가 생성될 수 있다.
필터링부(160)는 복원 신호에 필터링을 적용하여 이를 재생 장치로 출력하거나 복호 픽쳐 버퍼(170)에 전송한다. 복호 픽쳐 버퍼(170)에 전송된 필터링된 신호는 인터 예측부(180)에서 참조 픽쳐로 사용될 수 있다. 이처럼, 필터링된 픽쳐를 화면간 예측 모드에서 참조 픽쳐로 이용함으로써 화질 뿐만 아니라 부호화 효율도 향상시킬 수 있다.
복호 픽쳐 버퍼(170)는 필터링된 픽쳐를 인터 예측부(180)에서의 참조 픽쳐로 사용하기 위해 저장할 수 있다.
인터 예측부(180)는 복원 픽쳐를 참조하여 시간적 중복성 및/또는 공간적 중복성을 제거하기 위해 시간적 예측 및/또는 공간적 예측을 수행한다. 이때, 인터 예측 모드에서 전송되는 움직임 정보의 양을 줄이기 위해 주변 블록과 현재 블록 간의 움직임 정보의 상관성에 기초하여 움직임 정보를 예측할 수 있다.
인트라 예측부(185)는 현재 부호화를 진행하려고 하는 블록의 주변에 있는 샘플들을 참조하여 현재 블록을 예측할 수 있다. 상기 인트라 예측부(185)는 인트라 예측을 수행하기 위해 다음과 같은 과정을 수행할 수 있다. 먼저, 예측 신호를 생성하기 위해 필요한 참조 샘플을 준비할 수 있다. 그리고, 준비된 참조 샘플을 이용하여 예측 신호를 생성할 수 있다. 이후, 예측 모드를 부호화하게 된다. 이때, 참조 샘플은 참조 샘플 패딩 및/또는 참조 샘플 필터링을 통해 준비될 수 있다. 참조 샘플은 예측 및 복원 과정을 거쳤기 때문에 양자화 에러가 존재할 수 있다. 따라서, 이러한 에러를 줄이기 위해 인트라 예측에 이용되는 각 예측 모드에 대해 참조 샘플 필터링 과정이 수행될 수 있다.
상기 인터 예측부(180) 또는 상기 인트라 예측부(185)를 통해 생성된 예측 신호는 복원 신호를 생성하기 위해 이용되거나 잔여 신호를 생성하기 위해 이용될 수 있다.
도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더의 개략적인 블록도를 나타낸다.
도 2를 참조하면, 디코더(200)는 엔트로피 디코딩부(210), 역양자화부(220), 역변환부(230), 필터링부(240), 복호 픽쳐 버퍼(DPB: Decoded Picture Buffer Unit)(250), 인터 예측부(260) 및 인트라 예측부(265)를 포함하여 구성될 수 있다.
그리고, 디코더(200)를 통해 출력된 복원 영상 신호는 재생 장치를 통해 재생될 수 있다.
디코더(200)는 도 1의 인코더(100)로부터 출력된 신호을 수신할 수 있고, 수신된 신호는 엔트로피 디코딩부(210)를 통해 엔트로피 디코딩될 수 있다.
역양자화부(220)에서는 양자화 스텝 사이즈 정보를 이용하여 엔트로피 디코딩된 신호로부터 변환 계수(transform coefficient)를 획득한다.
역변환부(230)에서는 변환 계수를 역변환하여 잔여 신호를 획득하게 된다.
획득된 잔여 신호를 인터 예측부(260) 또는 인트라 예측부(265)로부터 출력된 예측 신호에 더함으로써 복원 신호가 생성된다.
필터링부(240)는 복원 신호에 필터링을 적용하여 이를 재생 장치로 출력하거나 복호 픽쳐 버퍼부(250)에 전송한다. 복호 픽쳐 버퍼부(250)에 전송된 필터링된 신호는 인터 예측부(260)에서 참조 픽쳐로 사용될 수 있다.
본 명세서에서, 인코더(100)의 필터링부(160), 인터 예측부(180) 및 인트라 예측부(185)에서 설명된 실시예들은 각각 디코더의 필터링부(240), 인터 예측부(260) 및 인트라 예측부(265)에도 동일하게 적용될 수 있다.
도 3은 본 발명이 적용되는 실시예로서, CABAC(Context-based Adaptive Binary Arithmetic Coding)이 적용되는 엔트로피 인코딩부의 개략적인 블록도를 나타낸다.
본 발명이 적용되는 엔트로피 인코딩부(300)는 이진화부(310), 컨텍스트 모델링부(320), 이진 산술 인코딩부(330) 및 메모리(360)를 포함하고, 상기 이진 산술 인코딩부(330)는 정규 이진 인코딩부(regular binary encoding unit)(340) 및 바이패스 이진 인코딩부(bypass binary encoding unit)(350)를 포함한다. 여기서, 상기 정규 이진 인코딩부(regular binary encoding unit)(340) 및 상기 바이패스 이진 인코딩부(bypass binary encoding unit)(350)는 각각 정규 코딩 엔진, 바이패스 코딩 엔진이라 불릴 수 있다.
상기 이진화부(310)은 데이터 심볼들의 시퀀스를 수신하고 이진화를 수행함으로써 0 또는 1의 이진화된 값으로 구성된 이진 심볼(bin) 스트링을 출력할 수 있다. 상기 이진화부(310)은 신택스(syntax) 요소들을 이진 심볼들로 매핑할 수 있다. 서로 다른 여러 이진화 과정들, 예를 들어, 단항(unary: U), 끝이 잘린 단항(truncated unary: TU), k차 Exp-Golomb (EGk), 및 고정 길이(Fixed Length) 과정 등이 이진화를 위해 사용될 수 있다. 상기 이진화 과정은 신택스 요소의 유형을 기반으로 선택될 수 있다.
출력된 이진 심볼 스트링은 컨텍스트 모델링부(320)으로 전송된다.
상기 컨텍스트 모델링부(320)은 메모리로부터 현재 블록을 코딩하는데 필요한 확률 정보를 선택하여 상기 이진 산술 인코딩부(330)로 전송한다. 예를 들어, 코딩할 신택스 엘리먼트에 기초하여 상기 메모리(360)에서 컨텍스트 메모리를 선택하고 빈 인덱스(binIdx)를 통해 현재 신택스 엘리먼트 코딩에 필요한 확률 정보를 선택할 수 있다. 여기서, 컨텍스트는 심볼의 발생 확률에 관한 정보를 의미하고, 컨텍스트 모델링은 이전까지 코딩된 빈(bin)들에 대한 정보로부터 다음 빈(bin)의 이진 산술 코딩에 필요한 확률을 추정하는 과정을 의미한다. 그리고, 컨텍스트는 특정 확률 값을 나타내는 상태(state)와 MPS(Most Probable Symbol)로 구성될 수 있다.
상기 컨텍스트 모델링부(320)는 높은 코딩 효율을 성취하기 위해 필요한 정확한 확률 추정을 제공할 수 있다. 이에 따라, 서로 다른 이진 심볼들에 대해 서로 다른 컨텍스트 모델들이 사용될 수 있고 이러한 컨텍스트 모델의 확률은 이전에 코딩된 이진 심볼의 값들을 기반으로 업데이트될 수 있다.
유사한 분포를 가지는 이진 심볼들은 동일한 컨텍스트 모델을 공유할 수 있다. 이러한 각 이진 심볼에 대한 컨텍스트 모델은 확률 추정을 위해, 빈의 신택스 정보, 빈 스트링에서의 빈의 위치를 나타내는 빈 인덱스(binIdx), 빈이 들어 있는 블록의 이웃 블록에 포함된 빈의 확률, 이웃 블록의 특정 신택스 요소의 디코딩 값 중 적어도 하나가 이용될 수 있다.
상기 이진 산술 인코딩부(330)는 정규 이진 인코딩부(regular binary encoding unit)(340) 및 바이패스 이진 인코딩부(bypass binary encoding unit)(350)를 포함하고, 출력된 스트링에 대한 엔트로피 인코딩을 수행하고 압축된 데이터 비트들을 출력한다.
상기 정규 이진 인코딩부(regular binary encoding unit)(340)는 재귀적 간격 분할(recursive interval division)을 기반으로 산술 코딩을 수행한다.
먼저, 0 내지 1의 초기값을 가지는 간격(또는 구간, 범위)이 이진 심볼의 확률을 기반으로 두 개의 하위 간격들로 분할된다. 인코딩된 비트들은 이진 소수로 변환되는 경우 이진 심볼의 값들이 연속적으로 디코딩되는 과정에서 0 또는 1을 나타내는 간격 중 하나를 선택할 수 있는 오프셋을 제공한다.
디코딩된 모드의 이진 심볼 이후에, 상기 간격은 선택된 하위 간격을 동일하게 하기 위해 업데이트될 수 있으며, 상기 간격 분할 과정 자체가 반복된다. 상기 간격 및 오프셋은 제한된 비트 정밀도를 가지며, 따라서 상기 간격이 특정한 값 아래로 떨어질 때마다 정밀도 유지를 위하여(즉, 값이 지나치게 작아져서 부정확하게 표현되거나, 0이 되어 유실되는 것을 방지하기 위하여) 재정규화(renormalization)가 필요할 수 있다. 상기 재정규화(renormalization)는 각각의 이진 심볼이 인코딩 또는 디코딩된 이후에 발생할 수 있다.
상기 바이패스 이진 인코딩부(bypass binary encoding unit)(350)는 컨텍스트 모델 없이 인코딩을 수행하며, 현재 코딩되는 빈(bin)의 확률을 0.5로 고정하여 코딩을 수행한다. 이는 신택스의 확률을 결정하기 어렵거나 고속으로 코딩하고자 할 때 이용될 수 있다.
도 4는 본 발명이 적용되는 실시예로서, CABAC(Context-based Adaptive Binary Arithmetic Coding)이 적용되는 엔트로피 디코딩부의 개략적인 블록도를 나타낸다.
본 발명이 적용되는 엔트로피 디코딩부(400)는 컨텍스트 모델링부(410), 이진 산술 디코딩부(420), 메모리(450) 및 역이진화부(460)를 포함하고, 상기 이진 산술 디코딩부(420)는 정규 이진 디코딩부(regular binary decoding unit)(430) 및 바이패스 이진 디코딩부(bypass binary decoding unit)(440)를 포함한다.
상기 엔트로피 디코딩부(400)는 비트 스트림을 수신하고 현재 신택스 요소에 바이패스 모드(bypass mode)가 적용되는지 여부를 확인한다. 여기서, 바이패스 모드(bypass mode)는 컨텍스트 모델을 이용하지 않고, 현재 코딩되는 빈(bin)의 확률을 0.5로 고정하여 코딩을 수행하는 것을 의미한다. 바이패스 모드(bypass mode)가 적용되지 않는 경우, 상기 정규 이진 디코딩부(regular binary decoding unit)(430)는 정규 모드(regular mode)에 따라 이진 산술 디코딩을 수행한다.
이때, 상기 컨텍스트 모델링부(410)는 상기 메모리(450)로부터 현재 비트스트림을 디코딩하는데 필요한 확률 정보를 선택하여 상기 정규 이진 디코딩부(regular binary decoding unit)(430)로 전송한다.
한편, 바이패스 모드(bypass mode)가 적용되는 경우, 상기 바이패스 이진 디코딩부(bypass binary decoding unit)(440)는 바이패스 모드(bypass mode)에 따라 이진 산술 디코딩을 수행한다.
상기 역이진화부(460)는 상기 이진 산술 디코딩부(420)에서 디코딩된 이진수 형태의 빈(bin)을 입력받아 정수 형태의 신택스 엘리먼트 값으로 변환 출력하게 된다. 반면, 이진수 형태의 빈(bin) 또는 빈 스트링(bin string)이 신택스 요소의 값으로 매핑되는 신택스 엘리먼트의 경우, 상기 역이진화부(460)는 상기 이진수 형태의 빈(bin)을 그대로 출력할 수도 있다.
도 5는 본 발명이 적용되는 실시예로서, CABAC(Context-based Adaptive Binary Arithmetic Coding)에 따라 수행되는 인코딩 흐름도를 나타낸다.
인코더는, 신택스 엘리먼트에 대해 이진화를 수행할 수 있다(S510).
상기 인코더는, 정규 모드에 따라 이진 산술 코딩을 수행할지 또는 바이패스 모드에 따라 이진 산술 코딩을 수행할지 여부를 확인할 수 있다(S520).
정규 모드의 경우, 상기 인코더는 컨텍스트 모델을 선택할 수 있고(S530), 상기 컨텍스트 모델에 기초하여 이진 산술 인코딩을 수행할 수 있다(S540). 그리고, 상기 인코더는, 컨텍스트 모델을 업데이트할 수 있으며(S550), 상기 S530 단계에서 업데이트된 컨텍스트 모델에 기초하여 다시 적합한 컨텍스트 모델을 선택할 수 있다.
한편, 바이패스 모드의 경우, 상기 인코더는 확률 0.5에 기초하여 이진 산술 인코딩을 수행할 수 있다(S560).
도 6은 본 발명이 적용되는 실시예로서, CABAC(Context-based Adaptive Binary Arithmetic Coding)에 따라 수행되는 디코딩 흐름도를 나타낸다.
먼저, 디코더는 비트스트림을 수신할 수 있다(S610).
상기 디코더는 현재 신택스 요소에 정규 모드(regular mode)가 적용되는지 또는 바이패스 모드(bypass mode)가 적용되는지 여부를 확인할 수 있다(S620). 여기서, 상기 바이패스 모드의 적용 여부는 신택스의 종류에 따라 사전에 결정되어 있을 수 있다.
또한, 정규 모드가 적용되는 심볼들과 바이패스 모드가 적용되는 심볼들이 조합되어 신택스 요소를 구성할 수도 있다. 이 경우, 상기 디코더는 현재 신택스 요소의 심볼들에 바이패스 모드(bypass mode)가 적용되는지 여부를 확인할 수 있다.
상기 S620단계에서 확인한 결과 정규 모드가 적용되는 경우, 상기 디코더는 컨텍스트 모델을 선택할 수 있고(S630), 상기 컨텍스트 모델에 기초하여 이진 산술 디코딩을 수행할 수 있다(S640). 그리고, 상기 디코더는, 컨텍스트 모델을 업데이트할 수 있으며(S650), 상기 S630 단계에서 업데이트된 컨텍스트 모델에 기초하여 다시 적합한 컨텍스트 모델을 선택할 수 있다.
한편, 상기 S620단계에서 확인한 결과 바이패스 모드가 적용되는 경우, 상기 디코더는 확률 0.5에 기초하여 이진 산술 디코딩을 수행할 수 있다(S660).
상기 디코더는 디코딩된 빈스트링(bin string)에 대해 역이진화를 수행할 수 있다(S670). 예를 들어, 디코딩된 이진수 형태의 빈(bin)을 입력받아 정수 형태의 신택스 엘리먼트 값으로 변환 출력할 수 있다.
앞서 도 1 및 도 2에서 설명한 바와 같이, 인코더는 양자화된 변환 계수에 대하여 엔트로피 인코딩을 수행하여 비트 스트림으로 출력할 수 있고, 디코더는 인코더로부터 출력된 신호를 수신하고 수신된 신호에 대하여 엔트로피 디코딩을 수행할 수 있다.
이 경우, 인코더/디코더는 양자화된 변환 계수(또는 변환 계수의 양자화 레벨)를 나타내는 변환 계수 정보(transform coefficient information)를 코딩할 수 있다. 여기서, 변환 계수 정보는, 예를 들어, 1) 0이 아닌 계수(non-zero coefficient)가 존재하는지 여부를 나타내는 플래그(이하, 유효 계수 플래그(significant coefficient flag)라 지칭한다), 2) 계수의 절대값이 1보다 큰지 여부를 나타내는 플래그(이하, 1보다 큰 계수 플래그(greater than 1 coefficient flag)라 지칭한다), 3) 계수의 절대값이 2보다 큰지 여부를 나타내는 플래그(이하, 2보다 큰 계수 플래그(greater than 2 coefficient flag)라 지칭한다)를 포함할 수 있다. 고주파 영역으로 갈수록 양자화를 거치면서 많은 계수 값들이 0, 1, 2와 같은 작은 인덱스(또는 양자화 레벨) 값으로 매핑될 수 있기 때문에, 유효 계수 플래그, 1보다 큰 계수 플래그, 2보다 큰 계수 플래그를 이용하여 변환 계수 값(또는 변환 계수 레벨)을 표현함으로써 코딩 효율을 높일 수 있다.
변환 계수 정보, 즉, 유효 계수 플래그, 1보다 큰 계수 플래그, 2보다 큰 계수 플래그를 코딩하기 위해, 인코더/디코더는 각 플래그의 컨텍스트(context)를 결정할 수 있다. 인코더/디코더는 컨텍스트 인덱스(context index)를 이용하여 컨텍스트를 결정할 수 있다. 즉, 인코더/디코더는 컨텍스트 인덱스를 이용하여 컨텍스트 메모리에 저장된 컨텍스트 데이터에 접근하고 컨텍스트를 결정할 수 있다.
도 7은 본 발명이 적용되는 실시예로서, 변환 계수 정보(transform coefficient information)의 컨텍스트 인덱스를 결정하는 방법을 설명하기 위한 도면이다.
도 7을 참조하면, 인코더/디코더는 변환 계수의 변환 계수 정보를 코딩하기 위하여 컨텍스트 인덱스를 결정할 수 있다.
먼저, 인코더/디코더는 컨텍스트 베이스(context base)를 결정한다(S701). 즉, 인코더/디코더는 변환 계수 정보의 엔트로피 인코딩/디코딩에 필요한 컨텍스트 인덱스를 결정하기 위하여 컨텍스트 베이스를 결정할 수 있다. 이때, 상기 컨텍스트 인덱스는 다음의 수학식 1과 같이 계산될 수 있다.
Figure PCTKR2018004144-appb-M000001
상기 수학식 1을 참조하면, 컨텍스트 인덱스는 컨텍스트 베이스와 컨텍스트 오프셋(offset)을 합하여 계산될 수 있다. 여기서, 컨텍스트 베이스는 베이스, 컨텍스트 인덱스 베이스 등으로 지칭될 수 있고, 컨텍스트 오프셋은 오프셋, 컨텍스트 인덱스 오프셋 등으로 지칭될 수 있다.
또한, 인코더/디코더는 변환 블록을 하나 이상의 서브 영역으로 분할하고, 상기 분할된 서브 영역 별로 컨텍스트 베이스를 할당할 수 있다. 이 경우, 변환 블록을 하나 이상의 서브 영역으로 분할하는 단계 및 상기 분할된 서브 영역 별로 컨텍스트 베이스를 할당하는 단계가 상기 S701 단계 이전에 수행될 수 있다. 이하, 본 발명의 설명에 있어 설명의 편의를 위해, 변환이 수행되는 단위를 변환 블록이라 지칭하나 이에 한정되는 것은 아니다. 상기 변환 블록은 코딩 단위, 코딩 블록, 변환 단위, 변환 계수 블록, 변환 계수의 2차원 배열 등으로 지칭될 수 있다.
또한, 인코더/디코더는 상기 분할된 서브 영역별로 컨텍스트 오프셋의 범위를 할당할 수도 있다. 이하, 본 명세서에서 컨텍스트 베이스와 컨텍스트 오프셋의 범위를 합한 값은 컨텍스트 인덱스 범위로 통칭될 수 있다. 컨텍스트 베이스 및/또는 컨텍스트 오프셋의 범위 할당 방법은 자세히 후술한다.
인코더/디코더는 컨텍스트 오프셋을 결정한다(S702). 인코더/디코더는 S701 단계에서 결정된 컨텍스트 베이스와 S702 단계에서 결정된 컨텍스트 오프셋을 합하여 컨텍스트 인덱스를 결정한다(S703). 상기 컨텍스트 오프셋의 결정 방법은 자세히 후술한다.
도 8은 본 발명이 적용되는 실시예로서, 변환 블록 내 변환 계수의 영역 별로 컨텍스트 인덱스 범위를 할당하는 방법을 예시하는 도면이다.
도 8을 참조하면, 인코더/디코더는 유효 계수 플래그를 코딩하기 위하여, 변환 블록을 하나 이상의 영역으로 분할하고, 분할된 영역에 컨텍스트 인덱스 범위를 할당할 수 있다.
도 8(a)는 변환 블록의 휘도 성분(luma component)의 유효 계수 플래그에 대한 컨텍스트 인덱스 범위를 할당하는 방법을 예시한다. 인코더/디코더는 현재 블록을 3개의 서브 영역으로 분할하고 각각의 서브 영역에 컨덱스트 인덱스 범위를 할당할 수 있다.
구체적으로, 제 1 서브 영역(801)에 인코더/디코더는 컨텍스트 인덱스 범위를 12부터 17까지 할당할 수 있다. 이 경우, 제 1 서브 영역(801) 내에 위치한 계수의 유효 계수 플래그의 컨텍스트 베이스 값은 12로 결정될 수 있고, 컨텍스트 오프셋 값은 0부터 6까지의 값을 가질 수 있다. 마찬가지로, 인코더/디코더는 컨텍스트 인덱스 범위를 제 2 서브 영역(802)에 6부터 11까지 할당하고, 제 3 서브 영역(803)에 0부터 5까지 할당할 수 있다. 이 경우, 제 2 서브 영역(802)의 컨텍스트 베이스 값은 6으로 결정되고, 제 3 서브 영역(803)의 컨텍스트 베이스 값은 0으로 결정될 수 있다.
도 8(b)는 변환 블록의 색차 성분(chroma component)의 유효 계수 플래그에 대한 컨텍스트 인덱스 범위를 할당하는 방법을 예시한다. 인코더/디코더는 도 8(b)에 도시된 바와 같이 현재 블록을 2개의 서브 영역으로 분할하고 각각의 서브 영역에 컨덱스트 인덱스 범위를 할당할 수 있다.
인코더/디코더는 현재 변환 계수의 변환 계수 정보의 컨텍스트 오프셋을 결정하기 위하여 현재 변환 계수에 이웃하는 계수들의 변환 계수 정보를 참조할 수 있다. 아래의 도면을 참조하여 설명한다.
도 9는 본 발명이 적용되는 실시예로서, 변환 계수의 컨텍스트 오프셋을 결정하는 방법을 예시하는 도면이다.
도 9를 참조하면, 유효 계수 플래그를 코딩하기 위하여 이웃하는 계수의 유효 계수 플래그를 참조하여 컨텍스트 오프셋을 결정하는 경우를 가정한다.
예를 들어, 인코더/디코더는 변환 블록 내 중앙에 위치한 제 1 계수(901)의 경우, 다음의 수학식 2와 같이 이웃하는 다섯 개의 계수(ⓐ, ⓑ, ⓒ, ⓓ, ⓔ)들에 대한 유효 계수 플래그를 참조하여 제 1 계수(901)의 유효 계수 플래그의 컨텍스트 컨텍스트 오프셋을 결정할 수 있다.
Figure PCTKR2018004144-appb-M000002
여기서, GT0는 유효 계수 플래그를 나타낸다. 즉, 인코더/디코더는 이웃하는 다섯 개의 계수들의 유효 계수 플래그를 합하여 컨텍스트 오프셋을 계산할 수 있다. 수학식 2를 통해 계산되는 컨텍스트 오프셋은 0부터 5의 범위를 갖게될 수 있다.
본 발명에서 템플릿(template)이란 컨텍스트 오프셋을 결정하기 위하여 이용되는 이웃하는 계수들의 집합을 의미한다. 즉, 도 9에서 제 1 계수(901)의 경우, 템플릿은 ⓐ, ⓑ, ⓒ, ⓓ, ⓔ의 다섯 개의 위치로 구성된다.
컨텍스트 오프셋의 범위가 할당되는 경우, 현재 계수 x의 컨텍스트 오프셋은 0부터 M_(GT0)(x) 값을 가질 수 있다. 여기서, M_(GT0)(x)는 컨텍스트 오프셋의 최대값을 의미한다. 컨텍스트 오프셋의 범위가 할당되는 경우, 현재 계수 x의 컨텍스트 오프셋 값은 다음의 수학식 3을 이용하여 계산될 수 있다.
Figure PCTKR2018004144-appb-M000003
수학식 3을 참조하면, 현재 계수 x에 할당된 컨텍스트 오프셋의 최대값 M_(GT0)(x) 또는 템플릿의 유효 계수 플래그의 총 합 중 작은 값이 현재 계수 x의 컨텍스트 오프셋으로 결정될 수 있다.
도 9에서 제 1 계수(901) 이외의 나머지 계수들(902, 903, 904, 905)은 템플릿이 현재 블록의 경계를 넘어가는 경우에 해당된다. 이 경우, 인코더/디코더는 템플릿 중에서 블록 경계를 넘어가는 계수들의 유효 계수 플래그 값은 이용 가능하지 않은 것으로 간주할 수 있다. 이용 가능하지 않은 것으로 간주되는 경우에, 수학식 2 또는 수학식 3에서 GT0(즉, 유효 계수 플래그) 값은 0일 수 있다. 다만, 템플릿이 현재 블록 경계를 넘어가는 경우에도, 현재 블록에 이웃하는 블록이 먼저 코딩되어 이용 가능할 수 있다. 이 경우, 인코더/디코더는 현재 블록의 경계를 넘어가는 템플릿의 GT0 값을 참조하여 수학식 2 또는 수학식 3에 반영할 수 있다.
도 10은 본 발명이 적용되는 실시예로서, 변환 블록 내 변환 계수의 영역 별로 컨텍스트 인덱스 범위를 할당하는 방법을 예시하는 도면이다.
도 10을 참조하면, 인코더/디코더는 1보다 큰 계수 플래그 또는 2보다 큰 계수 플래그를 코딩하기 위하여, 변환 블록을 하나 이상의 영역으로 분할하고, 분할된 영역에 컨텍스트 인덱스 범위를 할당할 수 있다.
도 10(a)는 변환 블록의 휘도 성분(luma component)의 1보다 큰 계수 플래그 또는 2보다 큰 계수 플래그에 대한 컨텍스트 인덱스 범위를 할당하는 방법을 예시한다. 인코더/디코더는 현재 블록을 3개의 서브 영역으로 분할하고 각각의 서브 영역에 컨덱스트 인덱스 범위를 할당할 수 있다.
구체적으로, 제 1 서브 영역(1001)에 인코더/디코더는 컨텍스트 인덱스 범위를 11부터 15까지 할당할 수 있다. 이 경우, 제 1 서브 영역(1001) 내 계수의 1보다 큰 계수 플래그 또는 2보다 큰 계수 플래그의 컨텍스트 베이스 값은 11로 결정될 수 있고, 컨텍스트 오프셋 값은 0부터 5까지의 값을 가질 수 있다. 마찬가지로, 인코더/디코더는 컨텍스트 인덱스 범위를 제 2 서브 영역(1002)에 6부터 10까지 할당하고, 제 3 서브 영역(1003)에 1부터 5까지 할당할 수 있다. 이 경우, 제 2 서브 영역(1002)의 컨텍스트 베이스 값은 6으로 결정되고, 제 3 서브 영역(1003)의 컨텍스트 베이스 값은 1로 결정될 수 있다.
도 10(b)는 변환 블록의 색차 성분(chroma component)의 유효 계수 플래그에 대한 컨텍스트 인덱스 범위를 할당하는 방법을 예시한다. 인코더/디코더는 도 10(b)에 도시된 바와 같이 현재 블록을 서브 영역으로 분할하지 않고 현재 블록에 컨텍스트 인덱스 범위(1부터 5까지)를 할당할 수 있다.
1보다 큰 계수 플래그와 2보다 큰 계수 플래그에 대하여 인코더/디코더는 컨텍스트 셋을 공유할 수도 있고, 각각 별개의 컨텍스트 셋을 사용할 수도 있다. 여기서, 컨텍스트 셋은 하나 이상의 컨텍스트 모델로 구성될 수 있다. 또한, 도 10에 도시되지 않은 0번 컨텍스는 마지막 0이 아닌 계수(last non-zero coefficient)에 대한 1보다 큰 계수 플래그 또는 2보다 큰 계수 플래그를 코딩하기 위해 사용될 수 있다.
1보다 큰 계수 플래그 또는 2보다 큰 계수 플래그를 코딩하는 경우, 인코더/디코더는 앞서 도 9에서 설명한 방법과 동일한 방법으로 현재 계수의 템플릿을 결정하고, 수학식 2 및 수학식 3을 이용하여 컨테스트 오프셋을 결정할 수 있다. 이 경우, 수학식 2와 수학식 3에서 GT0는 1보다 큰 계수 플래그의 경우에는 GT1, 2보다 큰 계수 플래그의 경우에는 GT2로 변경될 수 있다.
도 11은 본 발명이 적용되는 실시예로서, 변환 계수의 컨텍스트 인덱스 범위를 할당하는 방법을 설명하기 위한 도면이다.
도 11을 참조하면, 현재 블록의 좌상단 샘플을 기준으로 각 계수 별 거리 d를 계산할 수 있다. 이때, 상기 d 는 수평 방향 증분(또는 수평 방향 좌표) d_x와 수직 방향 증분(또는 수직 방향 좌표) d_y의 합으로 계산될 수 있다.
동일한 d 값을 가지는 계수들이 안티-다이아고날(anti-diagonal) 라인을 형성할 수 있다. 앞서 설명한 도 10의 경우에 적용하면, d 값이 0 ~ 2일 때, 11부터 15까지의 컨텍스트 인덱스 범위가 할당된다. d 값이 3 ~ 9일 때, 6부터 10까지의 컨텍스트 인덱스 범위가 할당된다. d 값이 10보다 크거나 같을 때, 1부터 5까지의 컨텍스트 인덱스 범위가 할당된다.
도 11의 변환 블록 내에서 변환 계수가 좌측에 위치할수록 수평 방향(또는 가로 방향)으로 저주파 성분에 해당할 수 있고, 변환 계수가 상단에 위치할수록 수직 방향(또는 세로 방향)으로 저주파 성분에 해당할 수 있다. 또한, 동일한 d 을 가지는 안티-다이아고날 라인은 주파수 관점에서 동등한 위상을 가지는 성분들에 해당할 수 있다. 일반적으로, 영상 데이터 또는 잔차 데이터는 고주파 성분일수록(즉, d 값이 클수록) 절대값이 0에 가까운 값을 가질 수 있기 때문에, 저주파 성분 대비 고주파 성분은 상대적으로 중요도가 떨어질 수 있다.
도 12는 본 발명이 적용되는 실시예로서, 비정방형의 변환 블록 내 변환 계수의 영역 별로 컨텍스트 인덱스 범위를 할당하는 방법을 예시하는 도면이다.
도 12(a)를 참조하면, 현재 변환 블록이 16x8의 비정방형 블록인 경우를 가정한다. 인코더/디코더는 수평 방향 증분과 수직 방향 증분을 동일하게 1로 설정할 수 있다. 도 12(b)를 참조하면, 인코더/디코더는 앞서 도 10의 예시에서와 같은 d 값의 범위에 따라 컨텍스트 인덱스를 할당할 수 있다. 수평 방향 증분과 수직 방향 증분을 동일하게 1로 설정하였기 때문에, 앞서 도 10의 예시에서와 같은 안티-다이아고날 라인을 경계로 컨텍스트 인덱스 범위가 할당될 수 있다.
도 13은 본 발명이 적용되는 실시예로서, 비정방형의 변환 블록 내 변환 계수의 영역 별로 컨텍스트 인덱스 범위를 할당하는 방법을 예시하는 도면이다.
도 13(a)를 참조하면, 현재 변환 블록이 16x8의 비정방형 블록인 경우를 가정한다. 비정방형의 변환 블록에서 수평 방향의 주파수 증가 정도와 수직 방향의 주파수 증가 정도는 서로 다를 수 있다. 현재 변환 블록의 너비(width)와 높이(height)의 비율이 2인 것을 고려하여, 인코더/디코더는 수직 방향 증분을 수평 방향 증분의 2배로 설정할 수 있다. 즉, 인코더/디코더는 너비가 W이고 높이가 H인 블록의 경우, H ≥ W이면 수평 방향 증분을 수직 방향 증분의 H/W 배로 설정하고, H < W이면 수직 방향 증분을 수직 방향 증분의 W/H 배로 설정할 수 있다.
도 13(b)를 참조하면, 인코더/디코더는 앞서 도 10에서의 d 값의 범위에 따른 할당 기준을 적용하여 컨텍스트 인덱스 범위를 할당할 수 있다. 즉, d 값이 0 ~ 2일 때, 11부터 15까지의 컨텍스트 인덱스 범위가 할당된다. d 값이 3 ~ 9일 때, 6부터 10까지의 컨텍스트 인덱스 범위가 할당된다. d 값이 10보다 클 때, 1부터 5까지의 컨텍스트 인덱스 범위가 할당된다.
또한, 예를 들어, d 값이 3 ~ 12일 때, 6부터 10까지의 컨텍스트 인덱스 범위가 할당될 수 있다. 이 경우, 6부터 10까지의 컨텍스트 인덱스 범위가 할당된 영역이 도 13(b)에 도시된 영역 보다 넓어질 수 있다.
본 발명의 일 실시예에서, 인코더/디코더는 비정방형 블록에 대한 변환 계수 정보(즉, 유효 계수 플래그, 1보다 큰 계수 플래그, 2보다 큰 계수 플래그)를 코딩하기 위하여 컨텍스트 인덱스 범위를 다음의 실시예들과 같이 할당할 수 있다.
1) 인코더/디코더는 전술한 바와 같이 현재 블록의 너비와 높이의 비율에 따라 수평 방향 증분과 수직 방향 증분을 설정하고, 정방형 블록과 비정방형 블록에 대하여 동일한 d 값의 범위를 적용하여 컨텍스트 인덱스 범위를 할당할 수 있다.
2) 인코더/디코더는 현재 블록의 너비가 높이보다 큰 경우, 수평 방향 증분은 1로 설정하고 수직 방향 증분은 2로 설정할 수 있다. 인코더/디코더는 현재 블록의 높이가 너비보다 큰 경우, 수직 방향 증분은 1로 설정하고 수평 방향 증분은 2로 설정할 수 있다. 그리고, 인코더/디코더는 정방형 블록과 비정방형 블록에 대하여 동일한 d 값의 범위를 적용하여 컨텍스트 인덱스 범위를 할당할 수 있다.
3) 인코더/디코더는 정방형 블록과 비정방형 블록의 유효 계수 플래그, 1보다 큰 계수 플래그, 2보다 큰 계수 플래그에 대한 각각의 컨텍스트 셋을 공유할 수 있다.
4) 인코더/디코더는 유효 계수 플래그, 1보다 큰 계수 플래그, 2보다 큰 계수 플래그의 컨텍스트 셋을 정방형 블록과 비정방형 블록에 대하여 별도로 구성할 수 있다. 인코더/디코더는 블록의 너비와 높이의 비율에 관계 없이 비정방형 블록들에 대한 컨텍스트 셋을 공유할 수도 있고, 정방형 블록에 대한 컨텍스트 셋과 다른 컨텍스트 셋을 이용할 수도 있다. 또한, 인코더/디코더는 가로 방향으로 긴 비정방형 블록과 세로 방향으로 긴 비정방형 블록에 대하여 각각 별개의 컨텍스트 셋을 이용할 수 있다. 인코더/디코더는 현재 블록의 크기(또는 모양) 별로 (예를 들어, 4 x 8, 16 x 4, 8 x 32) 다른 컨텍스트를 사용할수도 있고, 특정 크기(또는 특정 모양)들을 그룹핑(grouping)하여 각 그룹 별로 다른 컨텍스트 셋을 할당할 수도 있다. 또한, 예를 들어, 인코더/디코더는 블록 내 계수(또는 픽셀)들의 수가 동일한 블록(예를 들어, 8 x 8, 4 x 16, 16 x 4, 32 x 2, 2 x 32 크기의 블록)들끼리 그룹핑하고, 각 그룹 별로 컨텍스트 셋을 할당할 수도 있다.
이상에서 정방형 블록과 비정방형 블록의 경우 컨텍스트 인덱스 범위를 할당하는 방법을 설명하였다. 이하에서는 컨텍스트 오프셋을 결정하기 위하여 이용되는 템플릿을 구성하는 방법을 설명한다.
도 14는 본 발명이 적용되는 실시예로서, 컨텍스트 오프셋 결정에 이용되는 템플릿을 구성하는 방법을 예시하는 도면이다.
인코더/디코더는 컨텍스트 오프셋을 결정하기 위하여 이용되는 템플릿을 제 1 계수(1401)의 예시와 같이 9개의 이웃하는 계수(또는 계수의 위치)들로 구성할 수 있다. 인코더/디코더는 템플릿을 제 2 계수(1402)의 예시와 같이 2개의 이웃하는 계수들로 구성할 수도 있다. 또한, 인코더/디코더는 템플릿을 제 3 계수(1403)의 예시와 같이 현재 계수(1403)의 위치를 둘러싼 8개의 이웃하는 계수들로 구성할 수도 있다. 또한, 인코더/디코더는 제 4 계수(1404) 또는 제 5 계수(1405)의 예시와 같이 비대칭적인 구조의 템플릿을 구성할 수도 있다. 또한, 인코더/디코더는 제 6 계수(1406) 또는 제 7 계수(1407)의 예시와 같이, 임의의 모양으로 템플릿을 구성할 수도 있다.
도 15는 본 발명이 적용되는 실시예로서, 컨텍스트 오프셋 결정에 이용되는 템플릿을 구성하는 방법을 예시하는 도면이다.
도 15를 참조하면, 인코더/디코더는 현재 블록이 비정방형 블록인 경우, 현재 블록의 크기(또는 모양)을 고려하여 템플릿을 구성할 수 있다.
예를 들어, 현재 블록의 너비가 높이보다 큰 경우, 인코더/디코더는 도 15(a)에 도시된 바와 같이 템플릿을 구성할 수 있다. 또한, 현재 블록의 높이가 너비보다 큰 경우, 인코더/디코더는 도 15(b)에 도시된 바와 같이 템플릿을 구성할 수 있다.
도 16은 본 발명이 적용되는 실시예로서, 컨텍스트 오프셋 결정에 이용되는 템플릿을 구성하는 방법을 예시하는 도면이다.
도 16(a)를 참조하면, d 값이 12인 제 1 계수(1601)에 앞서 도 9에서와 같이 5개의 이웃하는 계수를 이용하여 템플릿을 구성할 수 있다. 이 경우, d 값이 13인 위치 2개와 d 값이 14인 위치 3개로 템플릿이 구성될 수 있다. 다시 말해, d 값이 z 인 계수 위치의 경우, d 값이 z+1인 계수 2개와 d 값이 z+2인 계수 3개로 템플릿이 구성될 수 있다.
도 16(b)를 참조하면, 현재 블록이 비정방형 블록이고 너비가 높이의 2배인 블록인 경우를 가정한다. 이 경우, d=z인 제 2 계수(1602)의 예시와 같이, 인코더/디코더는 d=z+1인 계수(또는 계수 위치) 1개와 d=z+2인 계수 2개로 템플릿을 구성할 수 있다.
또한, 인코더/디코더는 제 3 계수(1603)의 예시와 같이, d=z+1인 계수(또는 계수 위치) 2개와 d=z+2인 계수 3개로 템플릿을 구성할 수도 있다. 또한, 제 4 계수(1604)의 예시와 같이, d=z+3인 계수 2개를 더 포함하여 템플릿을 구성할 수도 있다.
도 17은 본 발명이 적용되는 실시예로서, 컨텍스트 오프셋 결정에 이용되는 템플릿을 구성하는 방법을 예시하는 도면이다.
도 17(a)는 높이가 큰 비정방형 블록에 대한 템플릿의 예시이다. 수평 방향과 수직 방향이 바뀐 것을 제외하고, 인코더/디코더는 앞서 도 16(b)에서 설명한 방법과 동일한 방법으로 템플릿을 구성할 수 있다.
도 17(b)는 너비가 높이의 4배인 비정방형 블록의 경우, 템플릿의 예시이다. 제 1 계수(1701)의 예시와 같이 인코더/디코더는 d=z+1 및 d=z+2인 이웃 위치들로 템플릿을 구성할 수 있다. 또한, 제 2 계수(1702)의 예시와 같이 인코더/디코더는 d=z+1, d=z+2, d = z+3및 d = z+4의 이웃 위치들로 템플릿을 구성할 수도 있다.
본 발명의 다른 일 실시예에서, 인코더/디코더는 템플릿을 구성하는 계수들의 코딩 값(변환 계수 정보의 코딩된 값)에 대한 가중합에 기초하여 컨텍스트 오프셋을 결정할 수 있다. 현재 계수의 변환 계수 정보의 컨텍스트 오프셋은 다음의 수학식 4와 같이 계산될 수 있다.
Figure PCTKR2018004144-appb-M000004
여기서, GTα는 GT0, GT1 또는 GT2일 수 있으며, 각각 유효 계수 플래그, 1보다 큰 계수 플래그, 2보다 큰 계수 플래그를 의미한다. M_(GTα)(x)는 현재 계수 x가 가질 수 있는 컨텍스트 오프셋의 최대값을 나타낸다. N_(GTα)(x)는 템플릿에 속하는 이웃하는 계수들의 집합을 나타낸다. 또한, w_(GTα)(x,y)는 현재 계수 x의 템플릿 내 각 위치에 적용되는 가중치를 나타낸다. w_(GTα)(x,y)는 정수 값을 가질 수도 있고, 실수 값을 가질 수도 있다. 또한, 함수 f_(GTα)(x,ㆍ)는 예를 들어, 반올림(round) 함수, 함수의 인자 값보다 큰 최소의 정수를 출력하는 세일링(ceiling) 함수, 함수의 인자 값보다 작은 최대의 정수를 출력하는 플로어(floor) 함수 등일 수 있다. w_(GTα)(x,y) 값은 현재 계수 위치 x와 GT0, GT1, GT2인지 여부, 템플릿 내 이웃하는 계수의 위치 y에 따라 달라질 수 있다.
본 발명의 일 실시예에서, 인코더/디코더는 템플릿 내 이웃하는 계수 중에서 현재 계수에 더 가까운 위치의 계수에 더 높은 가중값을 부여할 수 있다. 또한, 인코더/디코더는 이웃 위치 y가 이용 가능하지 않은 경우(예를 들어, 블록 경계를 벗어나는 경우), 템플릿 내 위치들에 대한 가중값을 조절하여 가중합이 의미 있는 범위 내에 위치하도록 조절할 수 있다. 또한, 함수 f_(GTα)(x,ㆍ)도 현재 계수 위치인 x와 GT0, GT1, GT2인지 여부 등에 따라 달라질 수 있다. 예를 들어, 인코더/디코더는 x에 따라 또는 GT0, GT1, GT2인지 여부에 따라 반올림을 적용하거나 2만큼 오른쪽 쉬프트(right shift) 연산을 적용할 수도 있다. f_(GTα)(x,ㆍ)에 대한 다른 실시예로 다음의 수학식 5와 같이 컨텍스트 오프셋이 계산될 수도 있다.
Figure PCTKR2018004144-appb-M000005
여기서, Offset_(GTα)(x)은 컨텍스트 오프셋의 범위를 조정하기 위한 조정 오프셋을 나타낸다. 예를 들어, 앞서 설명한 도 9의 우측 하단의 제 4 계수(904)의 경우, 템플릿 내 계수 중 현재 블록의 경계를 넘어가지 않는 이용 가능한 계수가 1개만 존재할 수 있다. 따라서, 컨텍스트 오프셋 값은 0 또는 1로 결정될 수 있다. 이 경우, 인코더/디코더는 상기 가중치 w_(GTα)(x,y) 및/또는 상기 조정 오프셋 Offset_(GTα)(x)을 이용하여, 컨텍스트 오프셋의 출력이 0과 3(또는 1과 3)이 되도록 조정할 수있다.
Offset_(GTα)(x)은 GT0, GT1, GT2인지 여부와 x에 따라 결정될 수 있다. 예를 들어, 앞서 설명한 도 9의 우측 하단의 제 4 계수(904)의 경우와 같이, 템플릿 내 이용 가능한 계수들이 적은, 현재 블록의 경계에 인접한 계수들에 대하여 상대적으로 높은 Offset_(GTα)(x) 값을 부여함으로써 컨텍스트 오프셋의 범위가 동일한 서브 영역 내 다른 위치의 계수들과 유사한 범위에 놓이도록 할 수 있다.
도 18은 본 발명이 적용되는 실시예로서, 컨텍스트 오프셋 결정에 이용되는 템플릿에 가중치를 부여하는 방법을 예시하는 도면이다.
도 18을 참조하면, 인코더/디코더는 템플릿 내 각 위치의 계수들에 대하여 가중치를 부여할 수 있다. 인코더/디코더는 템플릿 내 계수들의 가중합을 이용하여 컨텍스트 오프셋을 결정할 수 있다.
도 18(a)의 경우, 인코더/디코더는 템플릿 내 계수들의 가중합 후에, 2만큼 오른쪽 쉬프트 연산(앞서 수학식 4에서 f_(GTα)(x,ㆍ))을 적용함으로써, 컨텍스트 오프셋의 범위가 0부터 5 사이에 놓이도록 할 수 있다.
도 18(b)는 현재 블록의 너비가 높이보다 큰 비정방형 블록인 경우를 가정한다. 인코더/디코더는 주파수 관점에서 현재 계수(1801)에 가장 가까운 계수에 더 높은 가중치를 부여할 수 있다. 다시 말해, 인코더/디코더는 도 18(b)에 도시된 바와 같이 가로 방향으로 인접한 이웃 위치에 대해 높은 가중치를 부여할 수 있다.
도 18(c)는 현재 블록의 높이가 너비보다 큰 비정방형 블록인 경우를 가정한다. 인코더/디코더는 주파수 관점에서 현재 계수(1802)에 가장 가까운 계수에 더 높은 가중치를 부여할 수 있다. 다시 말해, 인코더/디코더는 도 18(c)에 도시된 바와 같이 세로 방향으로 인접한 이웃 위치에 대해 높은 가중치를 부여할 수 있다.
도 19는 본 발명이 적용되는 실시예로서, 컨텍스트 오프셋 결정에 이용되는 템플릿을 구성하는 방법을 예시하는 도면이다.
도 19를 참조하면, 4x4 블록의 계수 그룹(CG: Coefficient Group) 단위로 잔차 신호가 코딩되는 경우를 가정한다.
앞서, 도 9, 도 14 또는 도 14에서 설명한 바와 같이 템플릿을 적용하는 경우, CG 경계에 가까운 계수의 템플릿은 CG 경계를 넘어갈 수 있다. 예를 들어, CG A의 우하단 위치의 계수(1901)의 경우, 해당 템플릿은 CG B, CG C, CG D에 걸쳐서 존재할 수 있다. 이때, 인코더/디코더는 CG들의 병렬 처리 등을 위하여, 템플릿 내 CG 경계를 넘어가는 이웃 위치들은 이용 가능하지 않은 것으로 간주할 수 있다.
인코더/디코더는 이용 가능하지 않은 이웃 위치에 대한 코딩 값을 0으로 부여할 수도 있고, 템플릿 내 이용 가능한 계수들의 수와 템플릿의 크기 또는 비율에 기초하여 수학식 4 또는 수학식 5의 가중합에 스케일링 값을 곱할 수도 있다. 예를 들어, 이용 가능한 위치들의 수가 2이고 템플릿이 5개의 이웃 위치들로 구성되는 경우, 인코더/디코더는 2.5배의 가중치를 적용한 후, 반올림, 세일링, 플로어 등의 연산을 적용하여 정수화함으로써 컨텍스트 오프셋을 결정할 수 있다.
또한, 예를 들어, 인코더/디코더는 템플릿 내 CG 경계를 넘어가는 위치에 대하여 다른 템플릿을 적용할 수도 있다. 예를 들어, 4x4 CG의 우측 2열과 하단 2행의 경우, 인코더/디코더는 상대적으로 작은 크기의 템플릿(예를 들어, 앞서 도 14의 제 2 계수(1402))을 적용할 수도 있다. 다른 템플릿을 적용하는 경우, 인코더/디코더는 CG 경계를 넘어가는 이웃 위치에 대하여 이용 가능하지 않은 것으로 간주할 수도 있고, 템플릿 내 이용 가능한 이웃 위치에 기초하여 스케일링을 적용할 수도 있다.
본 발명의 다른 일 실시예에서, 인코더/디코더는 블록 내 계수의 위치에 따라 서로 다른 템플릿을 적용할 수도 있다. 예를 들어, 앞서 설명한 도 8과 같은 컨텍스트 인덱스 범위가 각 서브 영역 별로 할당되는 경우를 가정하면, 인코더/디코더는 각 서브 영역에 대해 개별적인 템플릿을 적용할 수 있다. 즉, d = 0 ~ 1인 영역(도 8의 801)에 대해서는 앞서 도 9의 제 1 계수(901)의 예시와 같은 템플릿을 적용하고, d = 2 ~ 4(도 8의 802)인 영역에 대해서는 도 14의 제 1 계수(1401)의 예시와 같은 템플릿을 적용할 수 있고, d > 4인 영역(도 8의 803)에 대해서는 14의 제 2 계수(1402)의 예시와 같은 템플릿을 적용할 수 있다.
전술한 실시예들은 각각 독립적으로 수행될 수도 있고, 하나 이상의 실시예가 조합되어 수행될 수도 있다. 예를 들어, 인코더/디코더는 앞서 도 14에서 설명한 템플릿을 적용하고, 앞서 도 18에서 설명한 바와 같이 해당 템플릿을 구성하는 각 이웃 위치에 대하여 가중치를 부여할 수 있고, 앞서 수학식 4 또는 수학식 5에서 설명한 방법이 적용된 가중합에 기초하여 컨텍스트 오프셋을 계산할 수 있다.
또한, 인코더/디코더는 변환 블록의 크기 또는 블록의 모양 별로 유효 계수 플래그, 1보다 큰 계수 플래그, 2보다 큰 계수 플래그에 대해 각각 다른 컨텍스트 셋과 템플릿을 적용하도록 구성할 수 있다.
도 20은 본 발명이 적용되는 실시예로서, 변환 계수 정보(transform coefficient information)를 나타내는 신택스 요소(syntax element)의 컨텍스트 인덱스를 복호화하는 방법을 나타내는 흐름도이다.
디코더는 현재 블록이 비정방형 블록(non-square block)인 경우, 현재 블록의 너비(width)와 높이(height)에 기초하여 현재 블록을 복수 개의 서브 영역으로 분할한다(S2001).
전술한 바와 같이, 디코더는 현재 블록 내 각 계수의 수평 방향으로 좌표 값의 증가량을 나타내는 수평 방향 증분 및 수직 방향으로 좌표 값의 증가량을 나타내는 수직 방향 증분을 결정할 수 있다. 그리고, 디코더는 상기 수평 방향 증분 및 상기 수직 방향 증분을 합한 값에 기초하여 상기 현재 블록을 복수 개의 서브 영역으로 분할할 수 있다.
앞서 도 12 및 도 13에서 설명한 바와 같이, 상기 수평 방향 증분 및 상기 수직 방향 증분은 상기 현재 블록의 너비와 높이의 비율에 기초하여 결정될 수 있다. 상기 현재 블록의 너비가 높이보다 큰 경우, 상기 수평 방향 증분은 1로 결정되고 상기 수직 방향 증분은 2로 결정될 수 있고, 상기 현재 블록의 높이가 너비보다 큰 경우, 상기 수직 방향 증분은 1로 결정되고 상기 수평 방향 증분은 2로 결정될 수 있다.
디코더는 현재 블록 내 각 서브 영역 별로 변환 계수 정보(transform coefficient information)를 나타내는 신택스 요소(syntax element)의 컨텍스트 베이스(context base) 값을 할당한다(S2002).
전술한 바와 같이, 상기 신택스 요소는 0이 아닌 계수(non-zero coefficient)가 존재하는지 여부를 나타내는 플래그, 계수의 절대값이 1보다 큰지 여부를 나타내는 플래그 또는 계수의 절대값이 2보다 큰지 여부를 나타내는 플래그 중 어느 하나일 수 있다.
디코더는 현재 블록 내 현재 계수의 템플릿(template)을 결정한다(S2003). 여기서, 템플릿은 컨텍스트(context) 결정에 이용될 수 있는 복수 개의 이웃하는 계수를 나타낸다.
앞서 도 9 및 도 14에서 설명한 바와 같이, 상기 템플릿은 다양한 형태로 구성될 수 있다. 예를 들어, 상기 현재 계수의 템플릿은 상기 현재 계수의 우측에 인접한 2개의 계수, 하단에 인접한 2개의 계수 및 우하단에 인접한 1개의 계수로 구성될 수 있다. 또한, 상기 현재 계수의 템플릿은 상기 현재 계수의 우측에 인접한 1개의 계수 및 하단에 인접한 1개의 계수로 구성될 수 있다. 또한, 상기 현재 계수의 템플릿은 상기 현재 계수의 우측에 인접한 3개의 계수, 하단에 인접한 3개의 계수 및 우하단에 인접한 3개의 계수로 구성될 수 있다.
또한 앞서 도 15에서 설명한 바와 같이, 현재 블록이 비정방형 블록인 경우, 상기 현재 계수의 템플릿은 상기 현재 블록의 너비와 높이의 비율에 기초하여 결정될 수도 있다. 예를 들어, 상기 현재 블록의 너비가 높이보다 큰 경우, 상기 현재 계수의 템플릿은 상기 현재 계수의 우측에 인접한 3개의 계수, 하단에 인접한 1개의 계수 및 우하단에 인접한 1개의 계수로 구성되고, 상기 현재 블록의 높이가 너비보다 큰 경우, 상기 현재 계수의 템플릿은 상기 현재 계수의 우측에 인접한 1개의 계수, 하단에 인접한 3개의 계수 및 우하단에 인접한 1개의 계수로 구성될 수 있다.
디코더는 템플릿 내 이용 가능한 이웃하는 계수의 신택스 요소 값에 기초하여 현재 계수의 신택스 요소의 컨텍스트 오프셋(context offset) 값을 결정한다(S2004).
전술한 바와 같이, 디코더는 상기 템플릿 내 이용 가능한 이웃하는 계수들의 상기 신택스 요소 값을 합함으로써 상기 현재 계수의 상기 신택스 요소의 컨텍스트 오프셋 값을 결정할 수 있다.
또한, 전술한 바와 같이, 디코더는 상기 템플릿 내 계수들의 위치에 기초하여 각 계수 별로 가중치를 부여하고, 상기 가중치가 적용된 상기 템플릿 내 이용 가능한 이웃하는 계수들의 상기 신택스 요소 값을 합함으로써 상기 현재 계수의 상기 신택스 요소의 컨텍스트 오프셋 값을 결정할 수 있다. 이 경우, 예를 들어, 상기 현재 블록의 너비가 높이보다 큰 경우, 상기 현재 계수의 템플릿 내 상기 현재 계수의 우측에 인접한 계수에 더 큰 가중치가 부여되고, 상기 현재 블록의 높이가 너비보다 큰 경우, 상기 현재 계수의 템플릿 내 상기 현재 계수의 하단에 인접한 계수에 더 큰 가중치가 부여될 수 있다.
디코더는 현재 계수가 속한 서브 영역에 할당된 컨텍스트 베이스 값과 컨텍스트 오프셋 값을 합하여 현재 계수의 신택스 요소의 컨텍스트 인덱스 값을 결정한다(S2005). 그리고, 디코더는 결정된 컨텍스트 인덱스 값을 이용하여 컨텍스트를 결정할 수 있다.
도 21은 본 발명이 적용되는 실시예로서, 변환 계수 정보를 나타내는 신택스 요소의 컨텍스트 인덱스를 복호화하는 장치를 나타내는 도면이다.
도 21을 참조하면, 상기 복호화 장치는 앞서 도 6 내지 도 20에서 제안된 기능, 과정 및/또는 방법을 구현한다. 구체적으로, 상기 복호화 장치는 서브 영역 분할부(2101), 컨텍스트 베이스 할당부(2102), 템플릿 결정부(2103), 컨텍스트 오프셋 결정부(2104) 및 컨텍스트 인덱스 결정부(2105)를 포함하여 구성될 수 있다. 또한, 상기 복호화 장치는 앞서 도 2의 엔트로피 디코딩부(210)에 포함되는 구성으로 구현될 수 있다.
서브 영역 분할부(2101)는 현재 블록이 비정방형 블록(non-square block)인 경우, 현재 블록의 너비(width)와 높이(height)에 기초하여 현재 블록을 복수 개의 서브 영역으로 분할한다.
전술한 바와 같이, 서브 영역 분할부(2101)는 현재 블록 내 각 계수의 수평 방향으로 좌표 값의 증가량을 나타내는 수평 방향 증분 및 수직 방향으로 좌표 값의 증가량을 나타내는 수직 방향 증분을 결정할 수 있다. 그리고, 서브 영역 분할부(2101)는 상기 수평 방향 증분 및 상기 수직 방향 증분을 합한 값에 기초하여 상기 현재 블록을 복수 개의 서브 영역으로 분할할 수 있다.
앞서 도 12 및 도 13에서 설명한 바와 같이, 상기 수평 방향 증분 및 상기 수직 방향 증분은 상기 현재 블록의 너비와 높이의 비율에 기초하여 결정될 수 있다. 상기 현재 블록의 너비가 높이보다 큰 경우, 상기 수평 방향 증분은 1로 결정되고 상기 수직 방향 증분은 2로 결정될 수 있고, 상기 현재 블록의 높이가 너비보다 큰 경우, 상기 수직 방향 증분은 1로 결정되고 상기 수평 방향 증분은 2로 결정될 수 있다.
컨텍스트 베이스 할당부(2102)는 현재 블록 내 각 서브 영역 별로 변환 계수 정보(transform coefficient information)를 나타내는 신택스 요소(syntax element)의 컨텍스트 베이스(context base) 값을 할당한다.
전술한 바와 같이, 상기 신택스 요소는 0이 아닌 계수(non-zero coefficient)가 존재하는지 여부를 나타내는 플래그, 계수의 절대값이 1보다 큰지 여부를 나타내는 플래그 또는 계수의 절대값이 2보다 큰지 여부를 나타내는 플래그 중 어느 하나일 수 있다.
템플릿 결정부(2103)는 현재 블록 내 현재 계수의 템플릿(template)을 결정한다. 여기서, 템플릿은 컨텍스트(context) 결정에 이용될 수 있는 복수 개의 이웃하는 계수를 나타낸다.
앞서 도 9 및 도 14에서 설명한 바와 같이, 상기 템플릿은 다양한 형태로 구성될 수 있다. 예를 들어, 상기 현재 계수의 템플릿은 상기 현재 계수의 우측에 인접한 2개의 계수, 하단에 인접한 2개의 계수 및 우하단에 인접한 1개의 계수로 구성될 수 있다. 또한, 상기 현재 계수의 템플릿은 상기 현재 계수의 우측에 인접한 1개의 계수 및 하단에 인접한 1개의 계수로 구성될 수 있다. 또한, 상기 현재 계수의 템플릿은 상기 현재 계수의 우측에 인접한 3개의 계수, 하단에 인접한 3개의 계수 및 우하단에 인접한 3개의 계수로 구성될 수 있다.
또한 앞서 도 15에서 설명한 바와 같이, 현재 블록이 비정방형 블록인 경우, 상기 현재 계수의 템플릿은 상기 현재 블록의 너비와 높이의 비율에 기초하여 결정될 수도 있다. 예를 들어, 상기 현재 블록의 너비가 높이보다 큰 경우, 상기 현재 계수의 템플릿은 상기 현재 계수의 우측에 인접한 3개의 계수, 하단에 인접한 1개의 계수 및 우하단에 인접한 1개의 계수로 구성되고, 상기 현재 블록의 높이가 너비보다 큰 경우, 상기 현재 계수의 템플릿은 상기 현재 계수의 우측에 인접한 1개의 계수, 하단에 인접한 3개의 계수 및 우하단에 인접한 1개의 계수로 구성될 수 있다.
컨텍스트 오프셋 결정부(2104)는 템플릿 내 이용 가능한 이웃하는 계수의 신택스 요소 값에 기초하여 현재 계수의 신택스 요소의 컨텍스트 오프셋(context offset) 값을 결정한다.
전술한 바와 같이, 컨텍스트 오프셋 결정부(2104)는 상기 템플릿 내 이용 가능한 이웃하는 계수들의 상기 신택스 요소 값을 합함으로써 상기 현재 계수의 상기 신택스 요소의 컨텍스트 오프셋 값을 결정할 수 있다.
또한, 전술한 바와 같이, 컨텍스트 오프셋 결정부(2104)는 상기 템플릿 내 계수들의 위치에 기초하여 각 계수 별로 가중치를 부여하고, 상기 가중치가 적용된 상기 템플릿 내 이용 가능한 이웃하는 계수들의 상기 신택스 요소 값을 합함으로써 상기 현재 계수의 상기 신택스 요소의 컨텍스트 오프셋 값을 결정할 수 있다. 이 경우, 예를 들어, 상기 현재 블록의 너비가 높이보다 큰 경우, 상기 현재 계수의 템플릿 내 상기 현재 계수의 우측에 인접한 계수에 더 큰 가중치가 부여되고, 상기 현재 블록의 높이가 너비보다 큰 경우, 상기 현재 계수의 템플릿 내 상기 현재 계수의 하단에 인접한 계수에 더 큰 가중치가 부여될 수 있다.
컨텍스트 인덱스 결정부(2105)는 현재 계수가 속한 서브 영역에 할당된 컨텍스트 베이스 값과 컨텍스트 오프셋 값을 합하여 현재 계수의 신택스 요소의 컨텍스트 인덱스 값을 결정한다. 그리고, 디코더는 결정된 컨텍스트 인덱스 값을 이용하여 컨텍스트를 결정할 수 있다.
상기 기술된 것과 같이, 본 발명에서 설명한 실시예들은 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다. 예를 들어, 상기 도 1 내지 4 에서 도시한 기능 유닛들은 컴퓨터, 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다.
또한, 본 발명이 적용되는 디코더 및 인코더는 멀티미디어 방송 송수신 장치, 모바일 통신 단말, 홈 시네마 비디오 장치, 디지털 시네마 비디오 장치, 감시용 카메라, 비디오 대화 장치, 비디오 통신과 같은 실시간 통신 장치, 모바일 스트리밍 장치, 저장 매체, 캠코더, 주문형 비디오(VoD) 서비스 제공 장치, 인터넷 스트리밍 서비스 제공 장치, 3차원(3D) 비디오 장치, 화상 전화 비디오 장치, 및 의료용 비디오 장치 등에 포함될 수 있으며, 비디오 신호 및 데이터 신호를 처리하기 위해 사용될 수 있다.
또한, 본 발명이 적용되는 처리 방법은 컴퓨터로 실행되는 프로그램의 형태로 생산될 수 있으며, 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 본 발명에 따른 데이터 구조를 가지는 멀티미디어 데이터도 또한 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 상기 컴퓨터가 판독할 수 있는 기록 매체는 컴퓨터로 읽을 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함한다. 상기 컴퓨터가 판독할 수 있는 기록 매체는, 예를 들어, 블루레이 디스크(BD), 범용 직렬 버스(USB), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크 및 광학적 데이터 저장 장치를 포함할 수 있다. 또한, 상기 컴퓨터가 판독할 수 있는 기록 매체는 반송파(예를 들어, 인터넷을 통한 전송)의 형태로 구현된 미디어를 포함한다. 또한, 인코딩 방법으로 생성된 비트 스트림이 컴퓨터가 판독할 수 있는 기록 매체에 저장되거나 유무선 통신 네트워크를 통해 전송될 수 있다.
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 다양한 다른 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.

Claims (15)

  1. 비디오 신호에 대해 엔트로피 디코딩을 수행하는 방법에 있어서,
    현재 블록이 비정방형 블록(non-square block)인 경우, 상기 현재 블록의 너비(width)와 높이(height)에 기초하여 상기 현재 블록을 복수 개의 서브 영역으로 분할하는 단계;
    상기 현재 블록 내 각 서브 영역 별로 변환 계수 정보(transform coefficient information)를 나타내는 신택스 요소(syntax element)의 컨텍스트 베이스(context base) 값을 할당하는 단계;
    상기 현재 블록 내 현재 계수의 템플릿(template)을 결정하는 단계, 여기서, 상기 템플릿은 컨텍스트(context) 결정에 이용될 수 있는 복수 개의 이웃하는 계수를 나타냄;
    상기 템플릿 내 이용 가능한 이웃하는 계수의 상기 신택스 요소 값에 기초하여 상기 현재 계수의 상기 신택스 요소의 컨텍스트 오프셋(context offset) 값을 결정하는 단계; 및
    상기 현재 계수가 속한 서브 영역에 할당된 컨텍스트 베이스 값과 상기 컨텍스트 오프셋 값을 합하여 상기 현재 계수의 상기 신택스 요소의 컨텍스트 인덱스 값을 결정하는 단계를 포함하는 방법.
  2. 제1 항에 있어서,
    상기 신택스 요소는 0이 아닌 계수(non-zero coefficient)가 존재하는지 여부를 나타내는 플래그, 계수의 절대값이 1보다 큰지 여부를 나타내는 플래그 또는 계수의 절대값이 2보다 큰지 여부를 나타내는 플래그 중 어느 하나인 방법.
  3. 제1 항에 있어서,
    상기 현재 블록을 복수 개의 서브 영역으로 분할하는 단계는,
    상기 현재 블록 내 각 계수의 수평 방향으로 좌표 값의 증가량을 나타내는 수평 방향 증분 및 수직 방향으로 좌표 값의 증가량을 나타내는 수직 방향 증분을 결정하는 단계를 포함하고,
    상기 수평 방향 증분 및 상기 수직 방향 증분을 합한 값에 기초하여 상기 현재 블록을 복수 개의 서브 영역으로 분할하는 방법.
  4. 제3 항에 있어서,
    상기 수평 방향 증분 및 상기 수직 방향 증분은 상기 현재 블록의 너비와 높이의 비율에 기초하여 결정되는 방법.
  5. 제3 항에 있어서,
    상기 현재 블록의 너비가 높이보다 큰 경우, 상기 수평 방향 증분은 1로 결정되고 상기 수직 방향 증분은 2로 결정되는 방법.
  6. 제3 항에 있어서,
    상기 현재 블록의 높이가 너비보다 큰 경우, 상기 수직 방향 증분은 1로 결정되고 상기 수평 방향 증분은 2로 결정되는 방법.
  7. 제1 항에 있어서,
    상기 현재 계수의 템플릿은 상기 현재 계수의 우측에 인접한 2개의 계수, 하단에 인접한 2개의 계수 및 우하단에 인접한 1개의 계수로 구성되는 방법.
  8. 제1 항에 있어서,
    상기 현재 계수의 템플릿은 상기 현재 계수의 우측에 인접한 1개의 계수 및 하단에 인접한 1개의 계수로 구성되는 방법.
  9. 제1 항에 있어서,
    상기 현재 계수의 템플릿은 상기 현재 계수의 우측에 인접한 3개의 계수, 하단에 인접한 3개의 계수 및 우하단에 인접한 3개의 계수로 구성되는 방법.
  10. 제1 항에 있어서,
    상기 현재 계수의 템플릿은 상기 현재 블록의 너비와 높이의 비율에 기초하여 결정되는 방법.
  11. 제1 항에 있어서,
    상기 현재 블록의 너비가 높이보다 큰 경우, 상기 현재 계수의 템플릿은 상기 현재 계수의 우측에 인접한 3개의 계수, 하단에 인접한 1개의 계수 및 우하단에 인접한 1개의 계수로 구성되고,
    상기 현재 블록의 높이가 너비보다 큰 경우, 상기 현재 계수의 템플릿은 상기 현재 계수의 우측에 인접한 1개의 계수, 하단에 인접한 3개의 계수 및 우하단에 인접한 1개의 계수로 구성되는 방법.
  12. 제1 항에 있어서,
    상기 컨텍스트 오프셋 값을 결정하는 단계는,
    상기 템플릿 내 이용 가능한 이웃하는 계수들의 상기 신택스 요소 값을 합함으로써 상기 현재 계수의 상기 신택스 요소의 컨텍스트 오프셋 값을 결정하는 방법.
  13. 제1 항에 있어서,
    상기 컨텍스트 오프셋 값을 결정하는 단계는,
    상기 템플릿 내 계수들의 위치에 기초하여 각 계수 별로 가중치를 부여하는 단계를 포함하고,
    상기 가중치가 적용된 상기 템플릿 내 이용 가능한 이웃하는 계수들의 상기 신택스 요소 값을 합함으로써 상기 현재 계수의 상기 신택스 요소의 컨텍스트 오프셋 값을 결정하는 방법.
  14. 제13 항에 있어서,
    상기 현재 블록의 너비가 높이보다 큰 경우, 상기 현재 계수의 템플릿 내 상기 현재 계수의 우측에 인접한 계수에 더 큰 가중치가 부여되고,
    상기 현재 블록의 높이가 너비보다 큰 경우, 상기 현재 계수의 템플릿 내 상기 현재 계수의 하단에 인접한 계수에 더 큰 가중치가 부여되는 방법.
  15. 비디오 신호에 대해 엔트로피 디코딩을 수행하는 장치에 있어서,
    현재 블록이 비정방형 블록(non-square block)인 경우, 상기 현재 블록의 너비(width)와 높이(height)에 기초하여 상기 현재 블록을 복수 개의 서브 영역으로 분할하는 서브 영역 분할부;
    상기 현재 블록 내 각 서브 영역 별로 변환 계수 정보(transform coefficient information)를 나타내는 신택스 요소(syntax element)의 컨텍스트 베이스(context base) 값을 할당하는 컨텍스트 베이스 할당부;
    상기 현재 블록 내 현재 계수의 템플릿(template)을 결정하는 템플릿 결정부, 여기서, 상기 템플릿은 컨텍스트(context) 결정에 이용될 수 있는 복수 개의 이웃하는 계수를 나타냄;
    상기 템플릿 내 이용 가능한 이웃하는 계수의 상기 신택스 요소 값에 기초하여 상기 현재 계수의 상기 신택스 요소의 컨텍스트 오프셋(context offset) 값을 결정하는 컨텍스트 오프셋 결정부; 및
    상기 현재 계수가 속한 서브 영역에 할당된 컨텍스트 베이스 값과 상기 컨텍스트 오프셋 값을 합하여 상기 현재 계수의 상기 신택스 요소의 컨텍스트 인덱스 값을 결정하는 컨텍스트 인덱스 결정부를 포함하는 장치.
PCT/KR2018/004144 2017-04-13 2018-04-09 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치 WO2018190595A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762484898P 2017-04-13 2017-04-13
US62/484,898 2017-04-13

Publications (1)

Publication Number Publication Date
WO2018190595A1 true WO2018190595A1 (ko) 2018-10-18

Family

ID=63793522

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/004144 WO2018190595A1 (ko) 2017-04-13 2018-04-09 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치

Country Status (1)

Country Link
WO (1) WO2018190595A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112449188A (zh) * 2019-08-28 2021-03-05 腾讯科技(深圳)有限公司 视频解码方法、编码方法、装置、介质及电子设备
US11202100B2 (en) * 2019-03-11 2021-12-14 Qualcomm Incorporated Coefficient coding for transform skip mode
WO2022217417A1 (zh) * 2021-04-12 2022-10-20 Oppo广东移动通信有限公司 编解码方法、编码器、解码器以及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130202026A1 (en) * 2012-02-04 2013-08-08 General Instrument Corporation Devices and methods for context reduction in last significant coefficient position coding
US20140348247A1 (en) * 2011-12-28 2014-11-27 Sharp Kabushiki Kaisha Arithmetic decoding device, image decoding device, and arithmetic coding device
KR20150060622A (ko) * 2011-10-31 2015-06-03 삼성전자주식회사 변환 계수 레벨의 엔트로피 부호화 및 복호화를 위한 컨텍스트 모델 결정 방법 및 장치
US20160014412A1 (en) * 2012-10-01 2016-01-14 Ge Video Compression, Llc Scalable video coding using subblock-based coding of transform coefficient blocks in the enhancement layer
KR20160105518A (ko) * 2014-01-03 2016-09-06 노키아 테크놀로지스 오와이 파라미터 세트 코딩
US20170064336A1 (en) * 2015-09-01 2017-03-02 Qualcomm Incorporated Coefficient level coding in video coding

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150060622A (ko) * 2011-10-31 2015-06-03 삼성전자주식회사 변환 계수 레벨의 엔트로피 부호화 및 복호화를 위한 컨텍스트 모델 결정 방법 및 장치
US20140348247A1 (en) * 2011-12-28 2014-11-27 Sharp Kabushiki Kaisha Arithmetic decoding device, image decoding device, and arithmetic coding device
US20130202026A1 (en) * 2012-02-04 2013-08-08 General Instrument Corporation Devices and methods for context reduction in last significant coefficient position coding
US20160014412A1 (en) * 2012-10-01 2016-01-14 Ge Video Compression, Llc Scalable video coding using subblock-based coding of transform coefficient blocks in the enhancement layer
KR20160105518A (ko) * 2014-01-03 2016-09-06 노키아 테크놀로지스 오와이 파라미터 세트 코딩
US20170064336A1 (en) * 2015-09-01 2017-03-02 Qualcomm Incorporated Coefficient level coding in video coding

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11202100B2 (en) * 2019-03-11 2021-12-14 Qualcomm Incorporated Coefficient coding for transform skip mode
CN112449188A (zh) * 2019-08-28 2021-03-05 腾讯科技(深圳)有限公司 视频解码方法、编码方法、装置、介质及电子设备
CN112449188B (zh) * 2019-08-28 2021-08-20 腾讯科技(深圳)有限公司 视频解码方法、编码方法、装置、介质及电子设备
WO2022217417A1 (zh) * 2021-04-12 2022-10-20 Oppo广东移动通信有限公司 编解码方法、编码器、解码器以及存储介质

Similar Documents

Publication Publication Date Title
WO2018190594A1 (ko) 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
WO2017086765A2 (ko) 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
WO2016143991A1 (ko) 저 복잡도 변환에 기반한 영상 부호화 및 복호화 방법 및 이를 이용하는 장치
WO2020256344A1 (ko) 영상 코딩에서 변환 커널 세트를 나타내는 정보의 시그널링
WO2020060282A1 (ko) 변환 계수 레벨 코딩 방법 및 그 장치
WO2020071879A1 (ko) 변환 계수 코딩 방법 및 그 장치
WO2019221472A1 (ko) 참조 샘플을 이용하는 비디오 신호 처리 방법 및 장치
WO2020167097A1 (ko) 영상 코딩 시스템에서 인터 예측을 위한 인터 예측 타입 도출
WO2020116961A1 (ko) 이차 변환에 기반한 영상 코딩 방법 및 그 장치
WO2021040400A1 (ko) 팔레트 모드 기반 영상 또는 비디오 코딩
WO2020071832A1 (ko) 변환 계수 코딩 방법 및 그 장치
WO2021040319A1 (ko) 비디오/영상 코딩 시스템에서 라이스 파라미터 도출 방법 및 장치
WO2021040398A1 (ko) 팔레트 이스케이프 코딩 기반 영상 또는 비디오 코딩
WO2018190595A1 (ko) 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
WO2020256346A1 (ko) 변환 커널 세트에 관한 정보에 대한 코딩
WO2020197274A1 (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
WO2019240539A1 (ko) Cabac에 기반한 엔트로피 코딩 방법 및 그 장치
WO2020185039A1 (ko) 레지듀얼 코딩 방법 및 장치
WO2020180043A1 (ko) Lmcs에 기반한 영상 코딩 방법 및 그 장치
WO2020141856A1 (ko) 영상 코딩 시스템에서 레지듀얼 정보를 사용하는 영상 디코딩 방법 및 그 장치
WO2016129980A1 (ko) 변환 도메인 예측을 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치
WO2016204479A1 (ko) 영상의 부호화/복호화 방법 및 이를 위한 장치
WO2021040488A1 (ko) 팔레트 모드에서의 이스케이프 이진화 기반 영상 또는 비디오 코딩
WO2020180044A1 (ko) Lmcs에 기반한 영상 코딩 방법 및 그 장치
WO2021040407A1 (ko) 영상 코딩 시스템에서 단순화된 레지듀얼 데이터 코딩을 사용하는 영상 디코딩 방법 및 그 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18783850

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18783850

Country of ref document: EP

Kind code of ref document: A1