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

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

Info

Publication number
KR20190132519A
KR20190132519A KR1020197033090A KR20197033090A KR20190132519A KR 20190132519 A KR20190132519 A KR 20190132519A KR 1020197033090 A KR1020197033090 A KR 1020197033090A KR 20197033090 A KR20197033090 A KR 20197033090A KR 20190132519 A KR20190132519 A KR 20190132519A
Authority
KR
South Korea
Prior art keywords
last non
current block
zero
region
syntax element
Prior art date
Application number
KR1020197033090A
Other languages
English (en)
Other versions
KR102149023B1 (ko
Inventor
구문모
김승환
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020207024246A priority Critical patent/KR102272992B1/ko
Publication of KR20190132519A publication Critical patent/KR20190132519A/ko
Application granted granted Critical
Publication of KR102149023B1 publication Critical patent/KR102149023B1/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/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/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/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
    • 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/18Methods 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 set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

본 발명은, 비디오 신호를 복호화하는 방법에 있어서, 비트 스트림으로부터 마지막 0이 아닌 영역(last non-zero region)을 지시하는 신택스 요소(syntax element)를 복호화하는 단계, 여기서 상기 마지막 0이 아닌 영역은 스캔 순서상 마지막 0이 아닌 변환 계수(last non-zero transform coefficient)를 포함하는 영역을 나타냄; 현재 블록을 복수 개의 서브 영역들로 분할하는 단계; 및 상기 신택스 요소에 기초하여 상기 분할된 서브 영역들 중에서 상기 현재 블록의 마지막 0이 아닌 영역을 결정하는 단계를 포함하는 방법을 제공한다.

Description

비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
본 발명은 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치에 관한 것이다. 보다 구체적으로, 변환 계수를 코딩할 때 마지막 0이 아닌 계수(last non-zero coefficient)의 위치를 인코딩, 디코딩하는 방법 및 장치에 관한 것이다.
엔트로피 코딩은 부호화 과정을 통해 결정된 신택스 엘리먼트들을 무손실 압축하여 RBSP(Raw Byte Sequence Payload)를 생성하는 과정이다. 엔트로피 코딩은 신택스의 통계를 이용하여 자주 발생하는 신택스에 대해서는 짧은 비트를 할당하고, 그렇지 않은 신택스에는 긴 비트를 할당하여 신택스 엘리먼트들을 간결한 데이터로 표현한다.
그 중, CABAC(Context-based Adaptive Binary Arithmetic Coding)은 이진 산술 코딩을 수행하는 과정에서 신택스의 컨텍스트와 이전에 발생한 심볼에 기초하여 적응적으로 업데이트된 컨텍스트 모델을 사용한다. 그러나, 이러한 CABAC도 연산량이 많아 복잡도가 높고 순차적 구조를 가지고 있어 병렬 수행이 어려운 문제점이 있다.
따라서, 비디오 압축 기술에 있어서 신택스 엘리먼트를 보다 효율적으로 압축하고 전송할 필요가 있으며, 이를 위해 엔트로피 코딩의 성능을 향상시킬 필요가 있다.
본 발명의 목적은 변환 단위를 분할하여 분할된 영역 중에서 마지막 0이 아닌 변환 계수(last non-zero transform coefficient)가 속하는 영역을 코딩하는 방법을 제안한다.
또한, 본 발명의 목적은 변환 단위를 재귀적으로 분할하여 각각의 분할된 영역 중에서 마지막 0이 아닌 변환 계수가 속하는 영역을 코딩하는 방법을 제안한다.
또한, 본 발명의 목적은 적응적으로 코딩 방법을 변경하면서 마지막 0이 아닌 계수의 위치를 코딩하는 방법을 제안한다.
또한, 본 발명의 목적은 여러 조건에 따라 코딩 방법을 다르게 적용하여 마지막 0이 아닌 계수의 위치를 코딩하는 방법을 제안한다.
또한, 본 발명의 목적은 마지막 0이 아닌 계수의 위치가 제한된 영역 내에 존재하는 것이 보장되는 경우를 고려하여 마지막 0이 아닌 계수의 위치를 코딩하는 방법을 제안한다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 양상은, 비디오 신호를 복호화하는 방법에 있어서, 비트 스트림으로부터 마지막 0이 아닌 영역(last non-zero region)을 지시하는 신택스 요소(syntax element)를 복호화하는 단계, 여기서 상기 마지막 0이 아닌 영역은 스캔 순서상 마지막 0이 아닌 변환 계수(last non-zero transform coefficient)를 포함하는 영역을 나타냄; 현재 블록을 복수 개의 서브 영역들로 분할하는 단계; 및 상기 신택스 요소에 기초하여 상기 분할된 서브 영역들 중에서 상기 현재 블록의 마지막 0이 아닌 영역을 결정하는 단계를 포함할 수 있다.
바람직하게, 상기 현재 블록의 마지막 0이 아닌 영역 내에서 상기 마지막 0이 아닌 변환 계수의 위치를 나타내는 인덱스(index) 정보를 복호화하는 단계를 더 포함할 수 있다.
바람직하게, 상기 현재 블록을 복수 개의 서브 영역들로 분할하는 단계는, 상기 현재 블록을 기 설정된 분할 방식에 기초하여 하위 깊이(lower depth)의 영역들로 재귀적(recursive)으로 분할함으로써 상기 현재 블록을 상기 복수 개의 서브 영역들로 분할할 수 있다.
바람직하게, 상기 신택스 요소는 각각의 깊이마다, 상기 현재 블록으로부터 분할되는 하위 깊이의 영역들 중 상기 마지막 0이 아닌 변환 계수를 포함하는 영역을 지시하는 정보를 포함할 수 있다.
바람직하게, 상기 현재 블록을 복수 개의 서브 영역들로 분할하는 단계는, 상기 현재 블록의 너비(width)를 복수 개의 수평 방향 그룹들로 그룹핑(grouping)하고, 상기 현재 블록의 높이(height)를 복수 개의 수직 방향 그룹들로 그룹핑하는 단계를 포함하고, 상기 수평 방향 그룹들 및 상기 수직 방향 그룹들에 기초하여 상기 현재 블록을 상기 복수 개의 서브 영역들로 분할할 수 있다.
바람직하게, 상기 신택스 요소는 상기 수평 방향 그룹들 또는 상기 수직 방향 그룹들 중 상기 마지막 0이 아닌 영역을 나타내는 수평 방향 그룹 또는 수직 방향 그룹에 대한 정보를 포함할 수 있다.
바람직하게, 상기 현재 블록의 마지막 0이 아닌 영역 내에서 상기 마지막 0이 아닌 변환 계수의 위치를 지시하는 신택스 요소를 복호화하는 단계를 더 포함하고, 상기 마지막 0이 아닌 영역을 지시하는 신택스 요소는 절삭형 단항(truncated unary) 코드를 이용하여 이진화되고, 상기 마지막 0이 아닌 변환 계수의 위치를 지시하는 신택스 요소는 고정 길이(fixed length) 코드를 이용하여 이진화될 수 있다.
바람직하게, 상기 마지막 0이 아닌 영역을 지시하는 신택스 요소는 컨텍스트(context)를 이용하는 정규 모드(regular mode)로 복호화되고, 상기 마지막 0이 아닌 변환 계수의 위치를 지시하는 신택스 요소는 컨텍스트를 이용하지 않는 우회 모드(bypass mode)로 복호화될 수 있다.
바람직하게, 미리 저장된 파라미터 셋(parameter set) 중 상기 현재 블록에 적용되는 파라미터 셋을 적응적으로 결정하는 단계를 더 포함하되, 상기 파라미터 셋은 상기 수평 방향 그룹들 또는 상기 수직 방향 그룹들의 수를 나타내는 파라미터, 각 그룹 별로 할당되는 코드의 길이를 나타내는 파라미터 또는 상기 각 그룹 별로 할당되는 코드에 사용되는 컨텍스트 인덱스를 나타내는 파라미터 중 적어도 하나를 포함할 수 있다.
바람직하게, 상기 현재 블록에 적용되는 파라미터 셋을 적응적으로 결정하는 단계는, 상기 마지막 0이 아닌 변환 계수의 위치의 확률 분포에 기초하여 상기 현재 블록에 적용되는 파라미터 셋을 결정할 수 있다.
바람직하게, 상기 현재 블록이 비정방형 블록인 경우, 상기 현재 블록은 특정 개수의 픽셀들로 구성되는 서브 영역들로 분할되고, 상기 특정 개수는 상기 현재 블록의 너비와 높이의 비율에 따라 결정될 수 있다.
바람직하게, 상기 마지막 0이 아닌 변환 계수가 상기 현재 블록의 특정 영역 내에 존재하는 경우, 상기 신택스 요소는 상기 특정 영역의 범위 내에서 할당되는 절삭형 단항(truncated unary) 코드를 이용하여 이진화될 수 있다.
본 발명의 다른 일 양상은, 비디오 신호를 복호화하는 장치에 있어서, 비트 스트림으로부터 마지막 0이 아닌 영역(last non-zero region)을 지시하는 신택스 요소(syntax element)를 복호화하는 신택스 요소 복호화부, 여기서 상기 마지막 0이 아닌 영역은 스캔 순서상 마지막 0이 아닌 변환 계수(last non-zero transform coefficient)를 포함하는 영역을 나타냄; 현재 블록을 복수 개의 서브 영역들로 분할하는 서브 영역 분할부; 및 상기 신택스 요소에 기초하여 상기 분할된 서브 영역들 중에서 상기 현재 블록의 마지막 0이 아닌 영역을 결정하는 마지막 0이 아닌 영역 결정부를 포함할 수 있다.
본 발명의 실시예에 따르면, 마지막 0이 아닌 계수의 위치 정보를 효과적으로 부호화함으로써, 변환 계수를 시그널링하기 위하여 필요한 데이터 양을 줄일 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 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은 본 발명이 적용되는 일 실시예로서, 마지막 0이 아닌 변환 계수의 위치 정보를 부호화하는 방법을 예시하는 흐름도이다.
도 8은 본 발명이 적용되는 실시예로서, 재귀적 분할을 통한 마지막 0이 아닌 변환 계수의 위치 정보 부호화 방법을 예시하는 도면이다.
도 9는 본 발명이 적용되는 실시예로서, 슈퍼 픽셀(super-pixel)을 이용하여 마지막 0이 아닌 변환 계수의 위치 정보를 부호화하는 방법을 예시하는 도면이다.
도 10은 본 발명이 적용되는 실시예로서, 마지막 0이 아닌 변환 계수의 위치 정보를 복호화하는 방법을 나타내는 흐름도이다.
도 11은 본 발명이 적용되는 실시예로서, 마지막 0이 아닌 변환 계수의 위치 정보를 복호화하는 장치를 나타내는 도면이다.
이하, 본 발명의 실시예들에 따른 예시적인 엘리먼트들 및 동작들이 첨부된 도면들을 참조하여 기술된다. 그러나 상기 도면들을 참조하여 기술되는 본 발명의 상기 엘리먼트들 및 동작들은 단지 실시예들로서 제공되는 것이고, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다는 것을 밝혀두고자 한다.
또한, 본 발명에서 사용되는 용어는 가능한 한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어를 사용하여 설명한다. 그러한 경우에는 해당 부분의 상세 설명에서 그 의미가 명확하게 기재된다. 따라서, 본 명세서의 설명에서 사용된 용어의 명칭 만에 기초하여 본 발명이 단순 해석되어서는 안 될 것이며 그 해당 용어의 의미까지 파악하여 해석되어야 함을 밝혀두고자 한다.
또한, 본 발명에서 사용되는 용어들은 발명을 설명하기 위해 선택된 일반적인 용어들이나, 유사한 의미를 갖는 다른 용어가 있는 경우보다 적절한 해석을 위해 대체 가능할 것이다. 예를 들어, 신호, 데이터, 샘플, 픽쳐, 프레임, 블록은 각 코딩 과정에서 적절하게 대체되어 해석될 수 있을 것이다.
또한, 본 명세서에서 설명되는 실시예들의 개념과 방법들은, 다른 실시예들에도 적용 가능하며, 본 명세서에서 모두 명시하여 기재하지 않더라도 본 발명의 기술적 사상 범위 내에서 각 실시예들의 조합도 적용 가능할 것이다.
도 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)을 입력받아 정수 형태의 신택스 엘리먼트 값으로 변환 출력할 수 있다.
본 발명은 변환 단위를 분할하여 분할된 영역 중에서 마지막 0이 아닌 변환 계수(last non-zero transform coefficient)가 속하는 영역을 코딩하는 방법을 제안한다.
또한, 본 발명은 변환 단위를 재귀적으로 분할하여 각각의 분할된 영역 중에서 마지막 0이 아닌 변환 계수가 속하는 영역을 코딩하는 방법을 제안한다.
또한, 본 발명은 적응적으로 코딩 방법을 변경하면서 마지막 0이 아닌 계수의 위치를 코딩하는 방법을 제안한다.
또한, 본 발명은 여러 조건에 따라 코딩 방법을 다르게 적용하여 마지막 0이 아닌 계수의 위치를 코딩하는 방법을 제안한다.
또한, 본 발명은 마지막 0이 아닌 계수의 수평, 수직 방향 좌표 또는 변환 단위의 크기, 모양에 따라 별도의 컨텍스트를 이용하여 마지막 0이 아닌 계수의 위치를 코딩하는 방법을 제안한다.
또한, 본 발명은 그룹핑(grouping)된 변환 계수 그룹들 중 마지막 0이 아닌 계수가 속한 그룹을 코딩하고 해당 그룹 내 오프셋(offset)을 코딩하는 방법을 제안한다.
또한, 본 발명은 마지막 0이 아닌 계수의 위치가 제한된 영역 내에 존재하는 것이 보장되는 경우를 고려하여 마지막 0이 아닌 계수의 위치를 코딩하는 방법을 제안한다.
본 발명에서 제안하는 방법에 따르면 마지막 0이 아닌 계수의 위치 정보를 효과적으로 부호화함으로써, 변환 계수를 시그널링하기 위하여 필요한 데이터 양을 줄일 수 있다.
실시예 1
기존의 비디오 부호화 표준(예를 들어, HEVC 또는 JVET)에서 인코더/디코더는 잔차 신호를 부호화/복호화하기 위하여 마지막 0이 아닌 변환 계수(last non-zero transform coefficient)의 위치 정보를 먼저 부호화/복호화한다. 이때, 인코더/디코더는 변환 블록 내에서의 마지막 0이 아닌 변환 계수의 위치(즉, 수평 방향 좌표 및 수직 방향 좌표)를 부호화/복호화한다. 기존의 방법에 따르면, 변환 블록의 크기가 클수록 변환 블록 내에서의 마지막 0이 아닌 변환 계수의 좌표 값을 시그널링하기 위하여 많은 비트가 요구될 수 있고, 이로 인해 부호화 효율이 저하될 수 있다는 문제가 있다.
따라서, 본 발명에서는 위와 같은 문제점을 해결하고 마지막 0이 아닌 변환 계수에 대한 위치 정보를 효율적으로 부호화하기 위하여, 변환 단위(또는 부호화 단위)로부터 분할된 영역 중에서 마지막 0이 아닌 변환 계수(last non-zero transform coefficient)가 속하는 영역을 코딩하는 방법을 제안한다. 여기서, 마지막 0이 아닌 변환 계수(또)는 현재 변환 단위(또는 부호화 단위) 내에서 스캔 순서상 마지막에 위치하는 0이 아닌 계수(non-zero coefficient)(즉, 유효 계수(significant coefficient))를 나타내며, 마지막 0이 아닌 계수, 마지막 유효 계수(last significant coefficient) 등으로 지칭될 수도 있다.
도 7은 본 발명이 적용되는 일 실시예로서, 마지막 0이 아닌 변환 계수의 위치 정보를 부호화하는 방법을 예시하는 흐름도이다.
도 7을 참조하면, 본 실시예에서 설명하는 방법은 인코더와 디코더에서 동일하게 적용될 수 있으나, 설명의 편의상 인코더를 기준으로 설명한다.
인코더는 현재 블록의 변환 계수(transform coefficient)를 획득한다(S701). 인코더는 인터 또는 인트라 예측을 수행하여 예측 블록을 생성할 수 있다. 인코더는 원본 영상에서 상기 예측 블록을 감산하여 현재 블록의 잔차 블록을 생성할 수 있다. 인코더는 상기 잔차 블록에 대하여 변환을 수행하여 변환 계수를 생성할 수 있고, 상기 변환 계수에 양자화를 적용함으로써 양자화된 변환 계수를 생성할 수 있다.
인코더는 현재 블록을 복수 개의 서브 영역(또는 하위 영역)들로 분할한다(S702). 예를 들어, 인코더는 현재 블록을 N개의 서브 영역으로 분할할 수 있다. 이 경우, 각각의 서브 영역은 서로 배타적으로(exclusive) 분할된 영역일 수도 있고, 일부 또는 전부의 영역이 중첩되어 분할된 영역일 수도 있다. 현재 블록(또는 현재 처리 블록)은 부호화 단위, 부호화 블록, 변환 유닛, 변환 블록, 예측 유닛, 예측 블록 등일 수 있다.
인코더는 분할된 서브 영역들 중에서 현재 블록의 마지막 0이 아닌 영역(last non-zero region)을 부호화한다(S703). 여기서, 마지막 0이 아닌 영역은 마지막 0이 아닌 계수를 포함하는 영역을 나타낸다. 예를 들어, 현재 블록이 N개의 서브 영역으로 분할되는 경우, 인코더는 N개의 서브 영역들 중에서 상기 마지막 0이 아닌 변환 계수를 포함하는 서브 영역을 지시하는 인덱스 정보(또는 신택스 요소(syntax element))를 부호화할 수 있다.
또한, 상기 S702 단계, S703 단계는 재귀적(반복적)으로 수행될 수도 있다. 다시 말해, 인코더는 마지막 0이 아닌 변환 계수가 속한 영역을 더 세분화된 영역으로 표현하기 위하여 하위 깊이(lower depth)를 가지는 영역들로 재귀적(recurlsive)(또는 반복적)으로 분할할 수 있다. 인코더는 N개의 서브 영역 중에서 마지막 0이 아닌 계수를 포함하는 영역을 선택하고, 상기 마지막 0이 아닌 계수를 포함하는 영역을 다시 M개의 하위 영역(또는 하위 깊이의 영역)들로 분할할 수 있다. 상기 재귀적 분할은 K번 수행될 수 있고, 상기 마지막 0이 아닌 영역이 화소 단위에 이를 때까지 수행될 수도 있다. 이에 대한 자세한 설명은 후술한다.
인코더/디코더는 화소 단위까지 마지막 0이 아닌 영역을 세분화할 수도 있고, 그렇지 않을 수도 있다. 화소 단위까지 마지막 0이 아닌 영역을 세분화하지 않는 경우, 인코더/디코더는 최종적으로 결정된 마지막 0이 아닌 영역(즉, 최하위 심도의 마지막 0이 아닌 영역) 내 계수들을 부호화/복호화할 수 있다. 예를 들어, 인코더/디코더는 상기 마지막 0이 아닌 영역을 부호화/복호화한 후, 상기 최종적으로 결정된 마지막 0이 아닌 영역 내 각 계수들이 0이 아닌 값을 가지는지 여부를 나타내는 유효 맵(significant map)(또는 유효 계수 맵)을 부호화/복호화할 수 있다. 즉, 인코더/디코더는 마지막 0이 아닌 계수가 존재하는 최종적인 하위 영역을 나타내는 정보를 코딩하고, 해당 영역 내 모든 계수들에 대하여 각 위치에 대한 유효 플래그(significant flag)를 전송함으로써 0이 아닌 계수(non-zero coefficient)의 유무를 부호화/복호화할 수 있다.
또한, 일 실시예에서 상기 재귀적 분할을 통한 마지막 0이 아닌 계수의 위치 정보 부호화 방법(예를 들어, 상기 M, N, K 값의 결정)은 현재 블록(예를 들어, 부호화 블록 또는 변환 블록)의 모양 또는 크기에 따라 결정될 수 있다. 예를 들어, 상기 모양은 정방형 블록 또는 비정방형 블록을 나타낼 수 있고, 상기 크기는 현재 블록의 너비(width)와 높이(height) 또는 현재 블록 내 화소수(너비*높이)를 나타낼 수 있다. 상기 마지막 0이 아닌 영역의 부호화 방법(예를 들어, 상기 M, N, K 값의 결정)은 인코더/디코더에 미리 정의되거나, 픽쳐, 슬라이스, 부호화 단위 또는 변환 단위로 인코더로부터 디코더에게 시그널링될 수 있다.
본 명세서에서 제안하는 마지막 0이 아닌 영역의 부호화 방법은 기존의 화소 단위의 위치 정보(즉, 마지막 0이 아닌 변환 계수의 변환 단위 내 수평 방향 좌표 및 수직 방향 좌표)를 전송하는 방법과 병행하여 사용될 수 있다.
이하에서, 재귀적 분할을 통한 마지막 0이 아닌 계수의 위치 정보 부호화 방법을 설명한다.
실시예 2
본 발명의 일 실시예에서, 인코더/디코더는 마지막 0이 아닌 계수가 존재하는 영역을 하위 깊이의 영역으로 분할한 후, 상기 하위 깊이의 영역 중에서 상기 마지막 0이 아닌 계수가 존재하는 영역(즉, 마지막 0이 아닌 영역)을 코딩할 수 있다. 여기서, 하위 깊이는 현재 블록(또는 현재 변환 단위)의 분할 횟수를 나타내며, 깊이가 0인 현재 블록으로부터 분할이 될 때마다 깊이가 1씩 증가할 수 있다. 인코더/디코더는 상기 하위 심도를 가지는 영역 중에서 마지막 0이 아닌 영역을 지시하는 정보를 코딩할 수 있다. 상기 마지막 0이 아닌 영역은 다시 하위 심도를 가지는 영역들로 계층적으로 분할될 수 있다.
현재 블록 내 모든 픽셀(또는 픽셀의 위치)를 포함하는 집합을 P라고 가정할 때, P는 다음의 수학식 1과 같이 P(k)들로 분할될 수 있다.
Figure pct00001
수학식 1을 참조하면, P는 P(k)들로 분할될 수 있고, P(k)의 깊이(depth)는 1증가할 수 있다. P(k)의 깊이는 P의 깊이보다 1만큼 크다. 다시 말해, 현재 블록 내 모든 픽셀을 포함하는 P는 깊이가 0이고, P(k)의 깊이는 1이다.
현재 블록이 재귀적으로 분할되는 경우, P(k)는 다시 하위 깊이를 가지는 하위 영역으로 분할될 수 있고, 상기 하위 영역은 다시 하위 깊이의 영역(즉, 깊이가 1 증가되는 영역)으로 분할될 수 있다.
깊이 d의 영역은 다음의 수학식 2와 같이 표현될 수 있다.
Figure pct00002
수학식 2에 의해 표현되는 영역은 0의 깊이의 현재 블록(0의 깊이의 i_0 번째 영역)이 1의 깊이의 영역으로 분할되었을 때 i_1 번째 영역(또는 i_1에 의해 식별되는 영역)에 속한다. 수학식 2에 의해 표현되는 영역은 최종적으로 현재 블록이 d의 깊이까지 분할되었을 때 i_d 번째 영역(또는 i_d에 의해 식별되는 영역)을 나타낸다. 이때, 0의 깊이의 현재 블록은 전체 영역으로서 i_0 값은 1의 값을 가질 수 있다.
상술한 재귀적 분할은 다음의 수학식 3과 같이 표현할 수 있다.
Figure pct00003
수학식 3을 참조하면, 하위 영역은 서로 배타적으로(exclusive) 분할되는 경우를 가정한다. 여기서, N^(d)(i_0, i_1, … ,i_d)는 d의 깊이에서 분할되는 하위 영역(즉, d+1의 깊이 영역)의 개수를 나타낸다.
수학식 2와 수학식 3의 표기법을 적용하면 다음의 수학식 4와 같이 현재 블록의 분할을 표현할 수 있다.
Figure pct00004
수학식 4를 참조하면, 0의 깊이의 현재 블록은 N개의 1의 깊이의 영역으로 분할될 수 있다.
P^(d)(i_0, i_1, … ,i_d)이 리프(leaf) 영역이 아닌 경우, 인코더/디코더는 P^(d)(i_0, i_1, … ,1) 내지 P^(d)(i_0, i_1, … , N^(d-1)(i_0, i_1, … ,i_(d-1)))를 구분할 수 있는 코드를 코딩할 수 있다. 여기서, 리프 영역은 재귀적(또는 계층적) 분할에서 더 이상 분할되지 않는 영역을 의미한다. 즉, 인코더/디코더는 현재 블록으로부터 분할되는 하위 깊이의 영역들 중에서 각 깊이 마다 마지막 0이 아닌 변환 계수를 포함하는 영역을 코딩할 수 있다.
상기 재귀적으로 분할되는 하위 깊이의 영역들을 코딩하기 위하여 여러 다양한 엔트로피 코딩 방법이 적용될 수 있다. 예를 들어, 인코더/디코더는 각 영역에 이진(binary) 코드를 할당함으로써 이진화(binarization)를 수행할 수 있고, 상기 이진 코드에 이진 산술 코딩(binary arithmetic coding)을 적용할 수 있다. 또한, 현재 블록으로부터 분할된 제 1 영역과 제 2 영역이 각각 복수 개의 하위 영역들로 분할되는 경우, 상기 제 1 영역의 하위 영역들을 구분하기 위한 코딩 방법과 상기 제 2 영역의 하위 영역들을 구분하기 위한 코딩 방법이 다를 수 있다. 예를 들어, 인코더/디코더는 상기 제 1 영역의 하위 영역들을 구분하기 위한 코드에 이진 산술 코딩(binary arithmetic coding)을 적용하고 상기 제 2 영역의 하위 영역들을 구분하기 위한 코드에 비 이진 산술 코딩(non-binary arithmetic coding)을 적용할 수 있다.
리프 영역이 아닌 P^(d)(i_0, i_1, … ,i_d)를 구분하기 위한 코드를 s^(d)(i_0, i_1, … ,i_d)라 하고, 리프 영역인 영역 A 내 마지막 0이 아닌 변환 계수의 위치 q를 나타내는 코드를 s(A,q)라 하면, q를 코딩하기 위한 코드는 다음의 수학식 5와 같이 나타낼 수 있다.
Figure pct00005
수학식 5를 참조하면, 현재 블록으로부터 깊이 d_q의 영역까지 분할될 수 있고, q는 상기 깊이 d의 영역에 속할 수 있다. 여기서, ∏ 연산자는 코드들을 연결(concatenation)한다. q는 각 깊이에서 영역 인덱스 i_0, i_1, … , i_(d_q)에 의해 식별되는 영역에 속한다.
도 8은 본 발명이 적용되는 실시예로서, 재귀적 분할을 통한 마지막 0이 아닌 변환 계수의 위치 정보 부호화 방법을 예시하는 도면이다.
도 8을 참조하면, 현재 블록이 4×4 크기의 변환 블록인 경우를 가정한다. 수학식 4에 따르면 집합 P는 다음의 수학식 6과 같이 표현될 수 있다.
Figure pct00006
P^(0)(1)는 다음의 수학식 7과 같이 3개의 깊이 1의 영역으로 분할될 수 있고, 각각의 분할된 영역에 코드가 할당될 수 있다.
Figure pct00007
그리고, P^(1)(1,1) 및 P^(1)(1,3)은 다음의 수학식 8과 같이 각각 2개 및 3개의 깊이 2의 영역으로 분할될 수 있고, 각각의 분할된 영역에 코드가 할당될 수 있다.
Figure pct00008
이때, P^(1)(1,2), P^(2)(1,1,1), P^(2)(1,1,2), P^(2)(1,1,3), P^(2)(1,3,1), P^(2)(1,3,2) 영역들은 리프 영역들에 해당할 수 있다. 각각의 리프 영역들에 속하는 각 계수의 위치에 대한 코드는 다음의 수학식 9와 같이 할당될 수 있다.
Figure pct00009
여기서, P^(2)(1,1,1) 영역은 화소 단위까지 분할된 영역으로서, 해당 영역 내에서 특정 위치의 계수를 식별하기 위한 코드가 할당되지 않을 수 있다.
수학식 7 내지 9와 같이 코드가 할당되고 마지막 0이 아닌 변환 계수가 q_34에 위치한다고 가정하면, 인코더/디코더는 마지막 0이 아닌 변환 계수의 위치 정보를 다음의 수학식 10과 같이 코딩할 수 있다.
Figure pct00010
수학식 10에서 · 연산자는 코드들을 연결(concatenation)한다.
본 실시예에서 제안하는 방법은 변환 블록의 크기나 모양에 관계 없이 적용될 수 있다. 즉, 현재 블록이 정방형 블록인 경우뿐만 아니라 비정방형 블록 또는 임의의 모양인 경우에도 적용될 수 있다.
실시예 3
본 발명의 일 실시예에서, 인코더/디코더는 마지막 0이 아닌 변환 계수의 위치 정보를 접두사(prefix)와 접미사(suffix)로 분할하여 이진화를 수행할 수 있다. 예를 들어, 인코더/디코더는 접두사를 절삭형 단항(truncated unary) 코드로 표현하고, 접미사를 고정 길이(fixed length) 코드로 표현할 수 있다.
인코더/디코더는 마지막 0이 아닌 변환 계수의 수평 방향 좌표(즉, x 좌표)와 수직 방향 좌표(즉, y 좌표)를 각각 접두사와 접미사로 분할하여 이진화를 수행할 수 있다. 접두사를 절삭형 단항(truncated unary) 코드로 표현하고, 접미사를 고정 길이(fixed length) 코드로 표현한다고 가정하면, 인코더/디코더는 다음의 표 1과 같이 좌표 값을 그룹핑(grouping)하고 각 그룹에 이진 코드를 할당할 수 있다.
Figure pct00011
현재 블록 내 좌표 값들을 N개의 그룹으로 분할하는 경우를 가정하면, 표 1의 코드는 다음의 수학식 11과 같은 파라미터 셋(parameter set) B_k로 표현될 수 있다.
Figure pct00012
여기서, P_i는 그룹 i에 대한 접두사 코드의 길이를 나타낸다. S_i는 그룹 i에 대한 접미사 코드의 길이를 나타낸다. 상기 P_i는 다음의 수학식 12와 같이 결정될 수 있다.
Figure pct00013
그리고, 상기 S_i는 S_i≥0을 만족할 수 있다.
접두사 코드와 접미사 코드 모두 빈(bin)(즉, 이진 심볼) 마다 컨텍스트를 이용하는 정규 코딩(regular coding) 방법이 적용될 수 있다. 즉, 수학식 11에서, C_(p)(i, j)는 그룹 i에 대한 접두사에서 j번째 빈(bin)(즉, 이진 심볼)에 대한 컨텍스트 인덱스를 나타낸다. 이때, 1≤i≤N, 1≤j≤P_i, C_(p)(i, j)≥0을 만족할 수 있다. 전체 컨텍스트의 개수가 N_C개이고 컨텍스트 인덱스가 1부터 시작한다고 가정하면, 인코더/디코더는 상기 컨텍스트 인덱스 값이 0인 경우 우회 코딩(bypass coding)을 의미하도록 구성할 수 있다.
또한, 수학식 11에서, C_(s)(i, j)는 그룹 i에 대한 접미사에서 j번째 빈(bin)에 대한 컨텍스트 인덱스를 나타낸다. 이때, 1≤i≤N, 1≤j≤S_i, C_(s)(i, j)≥0을 만족할 수 있다. 전체 컨텍스트의 개수가 N_C개이고 컨텍스트 인덱스가 1부터 시작한다고 가정하면, 인코더/디코더는 상기 컨텍스트 인덱스 값이 0인 경우 우회 코딩(bypass coding)을 의미하도록 구성할 수 있다.
수학식 11을 바탕으로 인코더/디코더에서 지원하는 모든 파라미터 셋들을 다음의 수학식 13과 같이 집합
Figure pct00014
로 나타낼 수 있다.
Figure pct00015
수학식 13을 참조하면, 인코더/디코더는 마지막 0이 아닌 변환 계수의 위치를 코딩하기 위해
Figure pct00016
개의 파라미터 셋을 지원할 수 있다. 상기 파라미터 셋은 코딩 파라미터, 코딩 파라미터 셋, 코딩 방법 등으로 지칭될 수 있다.
본 발명의 일 실시예에서, 인코더/디코더는 마지막 0이 아닌 변환 계수의 위치를 코딩하기 위해
Figure pct00017
개의 파라미터 셋 중에서 적응적으로 특정 파라미터 셋을 결정하고, 결정된 파라미터 셋을 이용하여 코딩할 수 있다.
복수 개의 파라미터 셋 중에서 적응적으로 특정 파라미터 셋을 결정하기 위해 인코더/디코더는 여러 다양한 파라미터 셋을 미리 저장(또는 구비)할 수 있다. 이하에서, 파라미터 셋을 예를 들어 설명한다.
현재 블록의 너비(width) 또는 높이(height)가 128인 경우를 가정하면, 인코더/디코더는 다음의 표 2와 같이 현재 블록 내 각 화소(또는 계수)의 위치에 코드를 할당할 수 있다.
Figure pct00018
표 2를 참조하면, 인코더/디코더는 현재 블록의 너비 또는 높이를 복수 개의 수평 방향 그룹들 또는 수직 방향 그룹들로 그룹핑(grouping)할 수 있다. 그리고, 인코더/디코더는 각 수평 방향 그룹들(또는 수직 방향 그룹들)에 절삭형 단항 코드로 표현되는 접두사를 매핑할 수 있다. 인코더/디코더는 상기 수평 방향 그룹들(또는 수직 방향 그룹들) 내 계수의 위치에 고정 길이 코드로 표현되는 접미사를 매핑할 수 있다.
이 경우, 인코더/디코더는 상기 접두사를 컨텍스트(context)를 이용하는 정규 모드(regular mode)로 코딩하고, 상기 접미사를 컨텍스트를 이용하지 않는 우회 모드(bypass mode)로 코딩할 수 있다.
일반적으로 영상 내에서 변환 블록의 마지막 0이 아닌 계수의 위치는 경향성을 가질 수 있다. 따라서, 접두사 코딩에 정규 모드를 적용함으로써 이러한 경향성(즉, 빈(bin)의 발생 확률)을 효과적으로 반영할 수 있고, 접미사 코딩에 우회모드를 적용함으로써 구현의 단순화와 병렬화를 향상시킬 수 있다.
인코더/디코더는 다음의 표 3과 같이 상대적으로 낮은 그룹부터 접미사의 길이가 0보다 커지도록 코드를 매핑하고, 이후의 그룹들에 대하여 접미사의 길이가 더 빠르게 증가하도록 코드를 매핑할 수 있다. 이와 같이 코드를 구성함으로써, 비정방형(non-square) 변환 블록에서 마지막 0이 아닌 변환 계수의 위치가 고주파 영역에 빈번하게 위치하는 양상을 반영하고 부호화 효율을 향상시킬 수 있다.
Figure pct00019
또한, 인코더/디코더는 다음의 표 4와 같이 상대적으로 높은 그룹부터 접미사의 길이가 0보다 커지도록 코드를 매핑할 수 있다. 이와 같이 코드를 구성함으로써, 마지막 0이 아닌 변환 계수의 위치가 저주파 영역에 빈번하게 위치하고, 상대적으로 고주파 영역에 위치하는 확률이 급격하게 낮아지는 양상을 효과적으로 반영할 수 있다.
Figure pct00020
또한, 인코더/디코더는 다음의 표 5와 같이 접미사의 길이가 0보다 커지는 지점은 그대로 두되, 접미사의 길이가 2부터 시작하도록 코드를 구성할 수도 있다.
Figure pct00021
또한, 인코더/디코더는 다음의 표 6와 같이 접미사의 첫 번째 빈(bin)에 대해서 우회 코딩이 아닌 정규 코딩을 적용할 수도 있다.
Figure pct00022
앞서 설명한 표1과 수학식 12 및 수학식 13으로 표현되는 파라미터 셋(또는 코딩 방법)들이 인코더/디코더에 미리 설정된(또는 저장된) 경우를 가정한다. 이 경우, 인코더/디코더는 적응적으로 파라미터 셋을 변경하면서, 변경된 파라미터 셋을 이용하여 마지막 0이 아닌 변환 계수를 코딩할 수 있다.
일 실시예에서, 인코더/디코더는 마지막 0이 아닌 변환 계수의 확률 분포에 기초하여 현재 블록의 파라미터 셋을 결정할 수 있다.
예를 들어, 현재 블록 내 좌표 값의 범위가 1~W라 할 때, 인코더/디코더는 상기 1부터 W까지의 범위를 M개의 구간으로 분할할 수 있다. 마지막 0이 아닌 계수의 좌표 값을 코딩할 때마다, 인코더/디코더는 상기 마지막 0이 아닌 계수가 위치하는 구간의 카운트(count) 값을 누적시킬 수 있다. 인코더/디코더는 누적된 카운트 값이 가장 높은 구간의 파라미터 셋(또는 코딩 방법)을 현재 블록의 파라미터 셋으로 결정할 수 있다. 또는, 인코더/디코더는 M개의 구간 중 마지막 0이 아닌 변환 계수가 위치하는 확률을 계산한(누적한) 후, 확률 값이 가장 높은 구간의 파라미터 셋을 결정할 수도 있다. 인코더/디코더는 결정된 파라미터 셋을 이용하여 현재 블록의 마지막 0의 아닌 변환 계수의 위치를 코딩할 수 있다.
이때, 인코더/디코더는 각 구간에 대한 확률을 계산시 이전에 코딩된 모든 변환 단위(즉, TU)들에 대한 통계 값을 반영할 수도 있고, 현재 코딩되는 CTU(또는 최대 부호화 단위) 내의 통계 값만을 반영할 수도 있고 또는 이웃하는 CTU들 중에서 특정 위치(또는 특정 개수) CTU들에 대한 통계 값만을 반영할 수도 있다.
또한, 예를 들어, 인코더/디코더는 M개의 구간 중에서 누적된 확률 값 또는 누적된 카운트 값이 특정 스레숄드(threshold) 보다 큰 구간을 선택하고, 상기 선택된 구간의 파라미터 셋을 현재 블록의 마지막 0이 아닌 변환 계수를 코딩하기 위한 파라미터 셋으로 결정할 수 있다.
또한, 예를 들어, 특정 구간이 코딩 과정에서 미리 설정된 개수만큼 선택된 경우, 해당 구간에 대한 파라미터 셋을 이용하여 코딩할 수 있다. 여기서, 상기 미리 설정된 개수는 구간마다 다르게 설정될 수 있다.
또한, 예를 들어, 인코더/디코더는 파라미터 셋을 스테이트(state)로 결정하는 스테이트 머신(state machine) 방식으로 현재 블록의 파라미터 셋을 결정할 수 있다. 예를 들어, 상기 M개의 구간 중에서 구간 k에 해당하는 스테이트를 현재 스테이트라고 가정하면, 인코더/디코더는 각 스테이트에 대해 저주파 방향에 대한 카운터(counter) 변수와 고주파 방향에 대한 카운터 변수를 설정할 수 있다. 인코더/디코더는 현재 구간보다 저주파 쪽(즉, 좌표가 더 작은 구간)이 코딩되면 저주파 방향에 대한 카운터 값을 증가시키고, 고주파 쪽(즉, 좌표가 더 큰 구간)이 코딩되면 고주파 방향에 대한 카운터 값을 증가시킬 수 있다.
저주파 방향 또는 고주파 방향에 대한 카운터 값이 특정 임계치 값에 도달한 경우, 인코더/디코너는 상기 증가된 카운터 값에 따라 저주파 방향으로 또는 고주파 방향으로 현재 스테이트를 천이할 수 있다. 만약 현재 구간이 코딩된 경우, 저주파 방향 또는 고주파 방향에 대한 카운터 값을 모두 감소시킬 수도 있다. 또는, 인코더/디코더는 저주파 방향(또는 고주파 방향)의 구간이 코딩된 경우, 해당 카운터 값을 증가시켜줌과 동시에 고주파 방향(또는 저주파 방향) 쪽 카운터 값을 감소시킬 수도 있다.
다른 일 실시예에서, 앞서 설명한 표1과 수학식 12 및 수학식 13으로 표현되는 파라미터 셋(또는 코딩 방법)들은 여러 조건(예를 들면, 양자화 파라미터, 블록 크기, 블록 모양, 예측 모드)들에 따라 다르게 적용될 수 있다.
예를 들어, 인코더/디코더는 블록 크기에 따라 다른 파라미터 셋을 적용할 수 있다
또한, 예를 들어, 인코더/디코더는 블록의 모양에 따라 다른 파라미터 셋을 적용할 수 있다. 예를 들어, 인코더/디코더는 정방형, 가로가 긴 비정방형, 세로가 긴 비정방형에 대해 각각 다른 파라미터 셋을 적용할 수 있다. 또한, 인코더/디코더는 비정방형 블록 중, 너비와 높이의 비가 2 : 1, 4 : 1, 8 : 1, 1 : 2, 1 : 4, 1 : 8 등인 경우들에 대해 각각 다른 파라미터 셋을 적용할 수 있다. 또한, 인코더/디코더는 너비와 높이의 비가 2 : 1인 비정방형 블록에 대해, 블록의 크기에 따라(예를 들어, 너비와 높이가 각각 8×4, 16×8, 32×16) 각각 다른 파라미터 셋을 적용할 수 있다.
또한, 예를 들어, 인코더/디코더는 비정방형 블록의 경우 현재 블록의 너비와 높이에 각각 다른 파라미터 셋을 적용할 수 있다. 예를 들어, 8×4, 16×8, 32×16 의 비정방형 블록의 경우, 인코더/디코더는 긴 변인 16, 16, 32에 대해서는 동일한 파라미터 셋을 적용하고, 짧은 변인 8, 4, 8인 경우에 대해서 동일한 파라미터 셋을 적용할 수 있다.
또한, 예를 들어, 인코더/디코더는 비정방형 블록의 너비 또는 높이 중에서, 긴 변 또는 짧은 변에 대해서만 다른 파라미터 셋을 적용할 수 있다. 예를 들어, 8×16, 16×4, 32×8인 블록들의 경우, 긴 변인 16, 16, 32에 대해서는 별도의 파라미터 셋을 적용할 수 있다.
이상에서 설명한 적응적으로 코딩 방법을 변경하는 방법과 여러 조건들에 따라 코딩 방법을 다르게 적용하는 방법은 표 1과 수식 (12)&(13)에서 제시하는 코딩 방법 이외에 다른 임의의 코딩 방법이 적용될 수도 있다. 또한, 적응적으로 코딩 방법을 변경하는 방법과 여러 조건들에 따라 코딩 방법을 다르게 적용하는 방법은 독립적으로 적용될 수도 있고 두 가지 방법이 조합되어 적용될 수도 있다. 예를 들어, 스테이트 머신(state machine) 방식으로 코딩 방법을 적응적으로 변경하는 경우, 인코더/디코더는 특정 조건에 따라 서로 다른 스테이트 머신(state machine)을 설정할 수 있다.
일 실시예에서, 마지막 0이 아닌 변환 계수의 수평 방향 좌표와 수직 방향 좌표를 독립적으로 코딩하는 경우, 인코더/디코더는 수평 방향 좌표를 코딩하기 위한 컨텍스트 셋(context set)과 수직 방향 좌표를 코딩하기 위한 컨텍스트 셋을 별도로 공유하도록 구성할 수 있다. 여기서, 컨텍스트 셋은 컨텍스트를 결정하기 위해 이용될 수 있는 파라미터들의 집합을 나타내며, 컨텍스트, 컨텍스트 모델 등으로 지칭될 수도 있다. 또한, 인코더/디코더는 정방형 블록, 가로 방향으로 긴 비정방형 블록, 세로 방향으로 긴 비정방형 블록에 대해 각각 별도의 컨텍스트 셋을 적용할 수 있으며, 너비와 높이의 비율이 특정 값을 갖는 비정방형의 경우에만 개별적인 컨텍스트 셋을 적용할 수도 있다.
실시예 4
본 발명의 일 실시예에서, 인코더/디코더는 현재 블록이 비정방형(non- square) 블록인 경우, 마지막 0이 아닌 변환 계수의 위치를 코딩하기 위해 현재 블록을 특정 개수의 픽셀들의 집합으로 구성되는 서브 영역으로 분할할 수 있다. 이 경우, 상기 특정 개수는 현재 블록의 너비와 높이의 비율에 따라 결정될 수 있다. 아래의 도면을 참조하여 설명한다.
도 9는 본 발명이 적용되는 실시예로서, 슈퍼 픽셀(super-pixel)을 이용하여 마지막 0이 아닌 변환 계수의 위치 정보를 부호화하는 방법을 예시하는 도면이다.
도 9를 참조하면, 현재 블록이 16×4인 경우를 가정하여 설명한다. 이때, 인코더/디코더는 슈퍼 픽셀(super-pixel) 단위로 현재 블록을 분할할 수 있다. 여기서, 슈퍼 픽셀은 특정 개수의 픽셀들의 집합을 나타내며, 상기 특정 개수는 현재 블록의 너비와 높이의 비율에 따라 결정될 수 있다. 현재 블록의 너비와 높이의 비율이 4이기 때문에, 상기 슈퍼 픽셀은 4개의 픽셀들로 구성될 수 있다.
즉, 비정방형 블록에 대하여 마지막 0이 아닌 변환 계수의 위치를 코딩할 때, 도 9에 도시된 바와 같이 4개의 픽셀을 하나의 슈퍼 픽셀로 구성하면 현재 블록 내 슈퍼 픽셀의 개수가 가로 방향과 세로 방향이 동일하도록 만들 수 있다. 이와 같이 구성하면, 인코더/디코더는 슈퍼 픽셀 단위로 마지막 0이 아닌 영역을 코딩하고, 상기 슈퍼 픽셀 내에서 마지막 0이 아닌 계수의 위치를 오프셋(offset)으로 코딩할 수 있다. 예를 들어, 인코더/디코더는 슈퍼 픽셀 단위로 마지막 0이 아닌 영역을 코딩할 때, 기존 HEVC의 마지막 0이 아닌 계수의 코딩 방법과 동일한 방법을 적용하여 상기 마지막 0이 아닌 영역을 코딩할 수 있다.
또한, 인코더/디코더는 다양한 여러 방법으로 오프셋을 코딩할 수 있다. 예를 들어, 4개의 픽셀로 슈퍼 픽셀이 구성되는 경우, 각 픽셀들의 위치에 인코더/디코더는 00, 01, 10, 11의 코드를 할당할 수 있다. 또한, 인코더/디코더는 상기 할당된 코드에서, 2개의 빈(bin)에 대해 각각 개별적인 컨텍스트를 할당한 후, 정규 코딩(regular coding)을 적용할 수 있다. 또한, 인코더/디코더는 수평 방향 또는 수직 방향에 대해 서로 다른 컨텍스트를 할당할 수 있다. 또한, 인코더/디코더는 블록의 크기 별로 개별적인 컨텍스트를 할당할 수도 있다. 또한, 다른 일 실시예로서 인코더/디코더는 너비와 높이가 특정 비율인 경우(예를 들어, 1:2 또는 2:1 인 경우)에만, 상기 슈퍼 픽셀 단위의 코딩 방법을 적용할 수 있다.
실시예 5
인코더/디코더는 특정 조건 하에서 블록 크기에 관계 없이 마지막 0이 아닌 변환 계수가 제한된 영역 내에 위치하도록 할 수 있다. 예를 들어, 인코더/디코더는 현재 블록의 너비와 높이가 특정 값보다 크거나 같은 경우, 또는 인터 예측(또는 화면간 예측)을 이용하여 코딩된 블록인 경우 또는 현재 블록의 너비와 높이의 곱이 특정 값보다 크거나 같은 경우(즉, 현재 블록 내 픽셀의 개수가 특정 개수 이상인 경우), 마지막 0이 아닌 변환 계수가 현재 블록 내에서 제한된 영역 내에 위치하도록 구성할 수 있다.
이 경우, 인코더/디코더는 상기 제한 영역까지 절삭형 단항 접두사(truncated unary prefix) 코드를 할당할 수 있다. 예를 들어, 64×128의 비정방형 블록에서 마지막 0이 아닌 변환 계수가 좌상단의 32×32 영역 내에만 존재하는 것이 보장되는 경우, 인코더/디코더는 수평 방향 및 수직 방향의 좌표 값에 대해 31까지로 제한된 절삭형 단항 코드를 적용할 수 있다. 이 경우, 앞서 설명한 표 2에서의 24~31 구간에 대한 접두사로서 1111111110 코드가 아닌 111111111 코드를 할당할 수 있다.
전술한 실시예 1 내지 실시예 5는 각각 독립적으로 적용될 수도 있고 복수 개의 실시예가 조합되어 적용될 수도 있다.
도 10은 본 발명이 적용되는 실시예로서, 마지막 0이 아닌 변환 계수의 위치 정보를 복호화하는 방법을 나타내는 흐름도이다.
디코더는 비트 스트림으로부터 마지막 0이 아닌 영역(last non-zero region)을 지시하는 신택스 요소(syntax element)를 복호화한다(S1001). 여기서, 상기 마지막 0이 아닌 영역은 스캔 순서상 마지막 0이 아닌 영역은 스캔 순서상 마지막 0이 아닌 변환 계수(last non-zero transform coefficient)를 포함하는 영역을 나타낸다.
디코더는 현재 블록을 복수 개의 서브 영역들로 분할한다(S1002).
전술한 바와 같이, 디코더는 현재 블록을 기 설정된 분할 방식에 기초하여 하위 깊이(lower depth)의 영역들로 재귀적(recursive)으로 분할함으로써 상기 현재 블록을 상기 복수 개의 서브 영역들로 분할할 수 있다. 이 경우, 디코더는 각각의 하위 깊이에서 마지막 0이 아닌 변환 계수를 포함하는 영역을 지시하는 정보를 복호화할 수 있다.
또한, 전술한 바와 같이, 디코더는 현재 블록의 너비(width)를 복수 개의 수평 방향 그룹들로 그룹핑(grouping)하고, 상기 현재 블록의 높이(height)를 복수 개의 수직 방향 그룹들로 그룹핑할 수 있다. 이 경우, 디코더는 상기 수평 방향 그룹들 및 상기 수직 방향 그룹들에 기초하여 상기 현재 블록을 상기 복수 개의 서브 영역들로 분할할 수 있다. 또한, 디코더는 상기 수평 방향 그룹들 또는 상기 수직 방향 그룹들 중 상기 마지막 0이 아닌 영역을 나타내는 수평 방향 그룹 또는 수직 방향 그룹에 대한 정보를 복호화할 수 있다.
또한, 전술한 바와 같이, 마지막 0이 아닌 영역을 지시하는 신택스 요소는 절삭형 단항(truncated unary) 코드를 이용하여 이진화되고, 마지막 0이 아닌 변환 계수의 위치를 지시하는 신택스 요소는 고정 길이(fixed length) 코드를 이용하여 이진화될 수 있다. 또한, 마지막 0이 아닌 영역을 지시하는 신택스 요소는 컨텍스트(context)를 이용하는 정규 모드(regular mode)로 복호화되고, 상기 마지막 0이 아닌 변환 계수의 위치를 지시하는 신택스 요소는 컨텍스트를 이용하지 않는 우회 모드(bypass mode)로 복호화될 수 있다.
또한, 전술한 바와 같이, 디코더는 미리 저장된 파라미터 셋(parameter set) 중 상기 현재 블록에 적용되는 파라미터 셋을 적응적으로 결정할 수 있다. 여기서, 상기 파라미터 셋은 앞서 수학식 11의 예시와 같이, 상기 수평 방향 그룹들 또는 상기 수직 방향 그룹들의 수를 나타내는 파라미터, 각 그룹 별로 할당되는 코드의 길이를 나타내는 파라미터 또는 상기 각 그룹 별로 할당되는 코드에 사용되는 컨텍스트 인덱스를 나타내는 파라미터 중 적어도 하나를 포함할 수 있다. 디코더는 상기 마지막 0이 아닌 변환 계수의 위치의 확률 분포에 기초하여 상기 현재 블록에 적용되는 파라미터 셋을 적응적으로 결정할 수 있다.
또한, 전술한 바와 같이, 디코더는 현재 블록이 비정방형 블록인 경우, 디코더는 현재 블록의 너비와 높이의 비율에 따라 결정되는 특정 개수의 픽셀들로 현재 블록을 분할할 수 있다. 또한, 마지막 0이 아닌 변환 계수가 현재 블록의 특정 영역 내에 존재하는 경우, 상기 신택스 요소는 상기 특정 영역의 범위 내에서 할당되는 절삭형 단항(truncated unary) 코드를 이용하여 이진화될 수 있다.
디코더는 상기 S1001 단계에서 복호화한 신택스 요소에 기초하여 상기 S1002 단계에서 분할된 서브 영역들 중에서 현재 블록의 마지막 0이 아닌 영역을 결정한다(S1003).
전술한 바와 같이, 인코더는 상기 마지막 0이 아닌 영역 내 마지막 0이 아닌 변환 계수를 디코더에게 시그널링할 수 있다. 이때, 디코더는 현재 블록의 마지막 0이 아닌 영역 내에서 마지막 0이 아닌 변환 계수의 위치를 나타내는 인덱스(index) 정보를 복호화할 수 있다.
도 11은 본 발명이 적용되는 실시예로서, 마지막 0이 아닌 변환 계수의 위치 정보를 복호화하는 장치를 나타내는 도면이다.
도 11을 참조하면, 상기 복호화 장치는 앞서 도 6 내지 도 10에서 제안된 기능, 과정 및/또는 방법을 구현한다. 구체적으로, 상기 복호화 장치는 신택스 요소 복호화부(1101), 서브 영역 분할부(1102) 및 마지막 0이 아닌 영역 결정부(1103)를 포함하여 구성될 수 있다.
신택스 요소 복호화부(1101)는 비트 스트림으로부터 마지막 0이 아닌 영역(last non-zero region)을 지시하는 신택스 요소(syntax element)를 복호화한다. 여기서, 상기 마지막 0이 아닌 영역은 스캔 순서상 마지막 0이 아닌 영역은 스캔 순서상 마지막 0이 아닌 변환 계수(last non-zero transform coefficient)를 포함하는 영역을 나타낸다.
서브 영역 분할부(1102)는 현재 블록을 복수 개의 서브 영역들로 분할한다.
전술한 바와 같이, 서브 영역 분할부(1102)는 현재 블록을 기 설정된 분할 방식에 기초하여 하위 깊이(lower depth)의 영역들로 재귀적(recursive)으로 분할함으로써 상기 현재 블록을 상기 복수 개의 서브 영역들로 분할할 수 있다. 이 경우, 서브 영역 분할부(1102)는 각각의 하위 깊이에서 마지막 0이 아닌 변환 계수를 포함하는 영역을 지시하는 정보를 복호화할 수 있다.
또한, 전술한 바와 같이, 서브 영역 분할부(1102)는 현재 블록의 너비(width)를 복수 개의 수평 방향 그룹들로 그룹핑(grouping)하고, 상기 현재 블록의 높이(height)를 복수 개의 수직 방향 그룹들로 그룹핑할 수 있다. 이 경우, 서브 영역 분할부(1102)는 상기 수평 방향 그룹들 및 상기 수직 방향 그룹들에 기초하여 상기 현재 블록을 상기 복수 개의 서브 영역들로 분할할 수 있다. 또한, 마지막 0이 아닌 영역 결정부(1103)는 상기 수평 방향 그룹들 또는 상기 수직 방향 그룹들 중 상기 마지막 0이 아닌 영역을 나타내는 수평 방향 그룹 또는 수직 방향 그룹에 대한 정보를 복호화할 수 있다.
또한, 전술한 바와 같이, 마지막 0이 아닌 영역을 지시하는 신택스 요소는 절삭형 단항(truncated unary) 코드를 이용하여 이진화되고, 마지막 0이 아닌 변환 계수의 위치를 지시하는 신택스 요소는 고정 길이(fixed length) 코드를 이용하여 이진화될 수 있다. 또한, 마지막 0이 아닌 영역을 지시하는 신택스 요소는 컨텍스트(context)를 이용하는 정규 모드(regular mode)로 복호화되고, 상기 마지막 0이 아닌 변환 계수의 위치를 지시하는 신택스 요소는 컨텍스트를 이용하지 않는 우회 모드(bypass mode)로 복호화될 수 있다.
또한, 전술한 바와 같이, 마지막 0이 아닌 영역 결정부(1103)는 미리 저장된 파라미터 셋(parameter set) 중 상기 현재 블록에 적용되는 파라미터 셋을 적응적으로 결정할 수 있다. 여기서, 상기 파라미터 셋은 앞서 수학식 11의 예시와 같이, 상기 수평 방향 그룹들 또는 상기 수직 방향 그룹들의 수를 나타내는 파라미터, 각 그룹 별로 할당되는 코드의 길이를 나타내는 파라미터 또는 상기 각 그룹 별로 할당되는 코드에 사용되는 컨텍스트 인덱스를 나타내는 파라미터 중 적어도 하나를 포함할 수 있다. 마지막 0이 아닌 영역 결정부(1103)는 상기 마지막 0이 아닌 변환 계수의 위치의 확률 분포에 기초하여 상기 현재 블록에 적용되는 파라미터 셋을 적응적으로 결정할 수 있다.
또한, 전술한 바와 같이, 서브 영역 분할부(1102)는 현재 블록이 비정방형 블록인 경우, 현재 블록의 너비와 높이의 비율에 따라 결정되는 특정 개수의 픽셀들로 현재 블록을 분할할 수 있다. 또한, 마지막 0이 아닌 변환 계수가 현재 블록의 특정 영역 내에 존재하는 경우, 상기 신택스 요소는 상기 특정 영역의 범위 내에서 할당되는 절삭형 단항(truncated unary) 코드를 이용하여 이진화될 수 있다.
마지막 0이 아닌 영역 결정부(1103)는 복호화한 신택스 요소에 기초하여 분할된 서브 영역들 중에서 현재 블록의 마지막 0이 아닌 영역을 결정한다.
전술한 바와 같이, 인코더는 상기 마지막 0이 아닌 영역 내 마지막 0이 아닌 변환 계수를 디코더에게 시그널링할 수 있다. 이때, 디코더는 현재 블록의 마지막 0이 아닌 영역 내에서 마지막 0이 아닌 변환 계수의 위치를 나타내는 인덱스(index) 정보를 복호화할 수 있다.
상기 신택스 요소 복호화부(1101), 서브 영역 분할부(1102) 및 마지막 0이 아닌 영역 결정부(1103)는 본 발명에서 제안하는 방법을 수행하기 위하여 유기적으로 결합되어 구성될 수 있다. 예를 들어, 신택스 요소 복호화부(1101)에 의한 신택스 요소의 복호화와 서브 영역 분할부(1102)에 의한 분할은 각 깊이(depth) 마다 유기적으로 수행될 수 있다.
상기 기술된 것과 같이, 본 발명에서 설명한 실시예들은 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다. 예를 들어, 상기 도 1 내지 4 에서 도시한 기능 유닛들은 컴퓨터, 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다.
또한, 본 발명이 적용되는 디코더 및 인코더는 멀티미디어 방송 송수신 장치, 모바일 통신 단말, 홈 시네마 비디오 장치, 디지털 시네마 비디오 장치, 감시용 카메라, 비디오 대화 장치, 비디오 통신과 같은 실시간 통신 장치, 모바일 스트리밍 장치, 저장 매체, 캠코더, 주문형 비디오(VoD) 서비스 제공 장치, 인터넷 스트리밍 서비스 제공 장치, 3차원(3D) 비디오 장치, 화상 전화 비디오 장치, 및 의료용 비디오 장치 등에 포함될 수 있으며, 비디오 신호 및 데이터 신호를 처리하기 위해 사용될 수 있다.
또한, 본 발명이 적용되는 처리 방법은 컴퓨터로 실행되는 프로그램의 형태로 생산될 수 있으며, 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 본 발명에 따른 데이터 구조를 가지는 멀티미디어 데이터도 또한 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 상기 컴퓨터가 판독할 수 있는 기록 매체는 컴퓨터로 읽을 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함한다. 상기 컴퓨터가 판독할 수 있는 기록 매체는, 예를 들어, 블루레이 디스크(BD), 범용 직렬 버스(USB), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크 및 광학적 데이터 저장 장치를 포함할 수 있다. 또한, 상기 컴퓨터가 판독할 수 있는 기록 매체는 반송파(예를 들어, 인터넷을 통한 전송)의 형태로 구현된 미디어를 포함한다. 또한, 인코딩 방법으로 생성된 비트 스트림이 컴퓨터가 판독할 수 있는 기록 매체에 저장되거나 유무선 통신 네트워크를 통해 전송될 수 있다.
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 다양한 다른 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.

Claims (13)

  1. 비디오 신호를 복호화하는 방법에 있어서,
    비트 스트림으로부터 마지막 0이 아닌 영역(last non-zero region)을 지시하는 신택스 요소(syntax element)를 복호화하는 단계, 여기서 상기 마지막 0이 아닌 영역은 스캔 순서상 마지막 0이 아닌 변환 계수(last non-zero transform coefficient)를 포함하는 영역을 나타냄;
    현재 블록을 복수 개의 서브 영역들로 분할하는 단계; 및
    상기 신택스 요소에 기초하여 상기 분할된 서브 영역들 중에서 상기 현재 블록의 마지막 0이 아닌 영역을 결정하는 단계를 포함하는 방법.
  2. 제 1항에 있어서,
    상기 현재 블록의 마지막 0이 아닌 영역 내에서 상기 마지막 0이 아닌 변환 계수의 위치를 나타내는 인덱스(index) 정보를 복호화하는 단계를 더 포함하는 방법.
  3. 제 1항에 있어서,
    상기 현재 블록을 복수 개의 서브 영역들로 분할하는 단계는,
    상기 현재 블록을 기 설정된 분할 방식에 기초하여 하위 깊이(lower depth)의 영역들로 재귀적(recursive)으로 분할함으로써 상기 현재 블록을 상기 복수 개의 서브 영역들로 분할하는 방법.
  4. 제 3항에 있어서,
    상기 신택스 요소는 각각의 깊이마다, 상기 현재 블록으로부터 분할되는 하위 깊이의 영역들 중 상기 마지막 0이 아닌 변환 계수를 포함하는 영역을 지시하는 정보를 포함하는 방법.
  5. 제 1항에 있어서,
    상기 현재 블록을 복수 개의 서브 영역들로 분할하는 단계는,
    상기 현재 블록의 너비(width)를 복수 개의 수평 방향 그룹들로 그룹핑(grouping)하고, 상기 현재 블록의 높이(height)를 복수 개의 수직 방향 그룹들로 그룹핑하는 단계를 포함하고,
    상기 수평 방향 그룹들 및 상기 수직 방향 그룹들에 기초하여 상기 현재 블록을 상기 복수 개의 서브 영역들로 분할하는 방법.
  6. 제 5항에 있어서,
    상기 신택스 요소는 상기 수평 방향 그룹들 또는 상기 수직 방향 그룹들 중 상기 마지막 0이 아닌 영역을 나타내는 수평 방향 그룹 또는 수직 방향 그룹에 대한 정보를 포함하는 방법.
  7. 제 6항에 있어서,
    상기 현재 블록의 마지막 0이 아닌 영역 내에서 상기 마지막 0이 아닌 변환 계수의 위치를 지시하는 신택스 요소를 복호화하는 단계를 더 포함하고,
    상기 마지막 0이 아닌 영역을 지시하는 신택스 요소는 절삭형 단항(truncated unary) 코드를 이용하여 이진화되고, 상기 마지막 0이 아닌 변환 계수의 위치를 지시하는 신택스 요소는 고정 길이(fixed length) 코드를 이용하여 이진화되는 방법.
  8. 제 7항에 있어서,
    상기 마지막 0이 아닌 영역을 지시하는 신택스 요소는 컨텍스트(context)를 이용하는 정규 모드(regular mode)로 복호화되고, 상기 마지막 0이 아닌 변환 계수의 위치를 지시하는 신택스 요소는 컨텍스트를 이용하지 않는 우회 모드(bypass mode)로 복호화되는 방법.
  9. 제 5항에 있어서,
    미리 저장된 파라미터 셋(parameter set) 중 상기 현재 블록에 적용되는 파라미터 셋을 적응적으로 결정하는 단계를 더 포함하되,
    상기 파라미터 셋은 상기 수평 방향 그룹들 또는 상기 수직 방향 그룹들의 수를 나타내는 파라미터, 각 그룹 별로 할당되는 코드의 길이를 나타내는 파라미터 또는 상기 각 그룹 별로 할당되는 코드에 사용되는 컨텍스트 인덱스를 나타내는 파라미터 중 적어도 하나를 포함하는 방법.
  10. 제 9항에 있어서,
    상기 현재 블록에 적용되는 파라미터 셋을 적응적으로 결정하는 단계는,
    상기 마지막 0이 아닌 변환 계수의 위치의 확률 분포에 기초하여 상기 현재 블록에 적용되는 파라미터 셋을 결정하는 방법.
  11. 제 1항에 있어서,
    상기 현재 블록이 비정방형 블록인 경우, 상기 현재 블록은 특정 개수의 픽셀들로 구성되는 서브 영역들로 분할되고,
    상기 특정 개수는 상기 현재 블록의 너비와 높이의 비율에 따라 결정되는 방법.
  12. 제 1항에 있어서,
    상기 마지막 0이 아닌 변환 계수가 상기 현재 블록의 특정 영역 내에 존재하는 경우, 상기 신택스 요소는 상기 특정 영역의 범위 내에서 할당되는 절삭형 단항(truncated unary) 코드를 이용하여 이진화되는 방법.
  13. 비디오 신호를 복호화하는 장치에 있어서,
    비트 스트림으로부터 마지막 0이 아닌 영역(last non-zero region)을 지시하는 신택스 요소(syntax element)를 복호화하는 신택스 요소 복호화부, 여기서 상기 마지막 0이 아닌 영역은 스캔 순서상 마지막 0이 아닌 변환 계수(last non-zero transform coefficient)를 포함하는 영역을 나타냄;
    현재 블록을 복수 개의 서브 영역들로 분할하는 서브 영역 분할부; 및
    상기 신택스 요소에 기초하여 상기 분할된 서브 영역들 중에서 상기 현재 블록의 마지막 0이 아닌 영역을 결정하는 마지막 0이 아닌 영역 결정부를 포함하는 장치.
KR1020197033090A 2017-04-13 2018-04-09 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치 KR102149023B1 (ko)

Priority Applications (1)

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

Applications Claiming Priority (3)

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

Related Child Applications (1)

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

Publications (2)

Publication Number Publication Date
KR20190132519A true KR20190132519A (ko) 2019-11-27
KR102149023B1 KR102149023B1 (ko) 2020-08-28

Family

ID=63793448

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020197033090A KR102149023B1 (ko) 2017-04-13 2018-04-09 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
KR1020227013842A KR102509347B1 (ko) 2017-04-13 2018-04-09 비디오 신호를 인코딩, 디코딩하는 방법 및 장치
KR1020207024246A KR102272992B1 (ko) 2017-04-13 2018-04-09 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
KR1020217020295A KR102391908B1 (ko) 2017-04-13 2018-04-09 비디오 신호를 인코딩, 디코딩하는 방법 및 장치

Family Applications After (3)

Application Number Title Priority Date Filing Date
KR1020227013842A KR102509347B1 (ko) 2017-04-13 2018-04-09 비디오 신호를 인코딩, 디코딩하는 방법 및 장치
KR1020207024246A KR102272992B1 (ko) 2017-04-13 2018-04-09 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
KR1020217020295A KR102391908B1 (ko) 2017-04-13 2018-04-09 비디오 신호를 인코딩, 디코딩하는 방법 및 장치

Country Status (11)

Country Link
US (3) US11240536B2 (ko)
EP (1) EP3611922A4 (ko)
JP (1) JP2020517191A (ko)
KR (4) KR102149023B1 (ko)
CN (3) CN115297324A (ko)
AU (4) AU2018251489B2 (ko)
BR (1) BR112019021593A2 (ko)
CA (2) CA3222632A1 (ko)
MX (2) MX2019012293A (ko)
RU (3) RU2753238C1 (ko)
WO (1) WO2018190594A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115297324A (zh) 2017-04-13 2022-11-04 Lg 电子株式会社 熵编码和解码视频信号的方法和设备
US11128866B2 (en) * 2018-10-18 2021-09-21 Qualcomm Incorporated Scans and last coefficient position coding for zero-out transforms
MX2021005493A (es) * 2018-11-12 2021-06-18 Lg Electronics Inc Metodo para codificar el coeficiente de transformacion con base en la puesta a cero de frecuencia alta y aparato del mismo.
KR102388807B1 (ko) * 2018-12-17 2022-04-20 엘지전자 주식회사 고주파 제로잉을 기반으로 변환 계수 스캔 순서를 결정하는 방법 및 장치
US20220109875A1 (en) * 2019-02-09 2022-04-07 Lg Electronics Inc. Method and device for processing video signal
US20220086490A1 (en) * 2019-02-12 2022-03-17 Lg Electronics Inc. Method and apparatus for processing video signal
MX2021010562A (es) * 2019-03-05 2021-10-13 Fraunhofer Ges Forschung Seleccion de modelo de contexto impulsada en caso de uso para herramientas de codificacion de video hibridas.
CN113966611B (zh) * 2019-06-09 2023-12-15 北京字节跳动网络技术有限公司 视频编解码中的重要系数信令
BR112022002287A2 (pt) * 2019-08-08 2022-04-26 Lg Electronics Inc Método e aparelho para codificação de imagem com base em transformada
CN114365492B (zh) * 2019-08-24 2023-12-15 北京字节跳动网络技术有限公司 残差系数编解码
EP4325864A1 (en) * 2021-04-12 2024-02-21 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Coefficient encoding/decoding method, encoder, decoder, and computer storage medium
WO2023113551A1 (ko) * 2021-12-17 2023-06-22 주식회사 케이티 비디오 신호 부호화/복호화 방법, 그리고 비트스트림을 저장한 기록 매체
WO2023235588A1 (en) * 2022-06-02 2023-12-07 Innopeak Technology, Inc. Region-based coefficient coding for video

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130116754A (ko) * 2012-04-16 2013-10-24 주식회사 팬택 엔트로피 부복호화 방법 및 이러한 방법을 사용하는 장치
KR20140120891A (ko) * 2011-12-20 2014-10-14 모토로라 모빌리티 엘엘씨 효율적인 변환 유닛 인코딩을 위한 방법 및 장치
KR20150016263A (ko) * 2012-04-26 2015-02-11 퀄컴 인코포레이티드 비디오 코딩에서의 양자화 파라미터(qp) 코딩

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101457894B1 (ko) * 2009-10-28 2014-11-05 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
PT3244612T (pt) * 2010-04-13 2018-11-14 Ge Video Compression Llc Codificação de mapas de significância e blocos de coeficientes de transformada
MY184131A (en) * 2010-07-09 2021-03-19 Samsung Electronics Co Ltd Method and apparatus for entropy encoding/decoding a transform coefficient
US8976861B2 (en) * 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
CN104093020B (zh) * 2011-03-10 2017-11-17 华为技术有限公司 变换系数的编码方法、变换系数的解码方法,和装置
CA2839560C (en) * 2011-06-16 2016-10-04 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Entropy coding of motion vector differences
WO2013067435A1 (en) * 2011-11-04 2013-05-10 Huawei Technologies Co., Ltd. Differential pulse code modulation intra prediction for high efficiency video coding
JP6134651B2 (ja) 2011-12-28 2017-05-24 シャープ株式会社 算術復号装置、算術符号化装置および算術復号方法
SG11201404240PA (en) * 2012-01-20 2014-08-28 Fraunhofer Ges Forschung Transform coefficient coding
JP2013187869A (ja) 2012-03-09 2013-09-19 Sharp Corp 算術復号装置、算術符号化装置、画像復号装置、および画像符号化装置
CN104350753B (zh) * 2012-06-01 2019-07-09 威勒斯媒体国际有限公司 算术解码装置、图像解码装置、算术编码装置以及图像编码装置
CA2807919C (en) 2012-08-31 2016-06-14 Research In Motion Limited Methods and devices for entropy coding in scalable video compression
US9667994B2 (en) * 2012-10-01 2017-05-30 Qualcomm Incorporated Intra-coding for 4:2:2 sample format in video coding
HUE045386T2 (hu) * 2013-01-04 2019-12-30 Samsung Electronics Co Ltd Eljárás slice-szegmensek entrópiadekódolására
EP2946552B1 (en) * 2013-01-16 2018-03-21 BlackBerry Limited Context determination for entropy coding of run-length encoded transform coefficients
EP2946553B1 (en) * 2013-01-16 2019-01-02 BlackBerry Limited Transform coefficient coding for context-adaptive binary entropy coding of video
GB2521828A (en) 2013-12-23 2015-07-08 Sony Corp Data encoding and decoding
CN104270641B (zh) 2014-09-30 2018-12-14 杭州华为数字技术有限公司 变换系数的处理方法和装置
WO2017043763A1 (ko) * 2015-09-10 2017-03-16 삼성전자 주식회사 부호화 장치, 복호화 장치, 그 부호화 및 복호화 방법
US10440399B2 (en) * 2015-11-13 2019-10-08 Qualcomm Incorporated Coding sign information of video data
EP3270594A1 (en) * 2016-07-15 2018-01-17 Thomson Licensing Method and apparatus for advanced cabac context adaptation for last coefficient coding
EP3306924A1 (en) * 2016-10-05 2018-04-11 Thomson Licensing Method and device for context-adaptive binary arithmetic coding a sequence of binary symbols representing a syntax element related to picture data
CN115297324A (zh) 2017-04-13 2022-11-04 Lg 电子株式会社 熵编码和解码视频信号的方法和设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140120891A (ko) * 2011-12-20 2014-10-14 모토로라 모빌리티 엘엘씨 효율적인 변환 유닛 인코딩을 위한 방법 및 장치
KR20130116754A (ko) * 2012-04-16 2013-10-24 주식회사 팬택 엔트로피 부복호화 방법 및 이러한 방법을 사용하는 장치
KR20150016263A (ko) * 2012-04-26 2015-02-11 퀄컴 인코포레이티드 비디오 코딩에서의 양자화 파라미터(qp) 코딩

Also Published As

Publication number Publication date
AU2024202107A1 (en) 2024-05-02
RU2738317C1 (ru) 2020-12-11
EP3611922A1 (en) 2020-02-19
BR112019021593A2 (pt) 2020-05-12
RU2753238C1 (ru) 2021-08-12
JP2020517191A (ja) 2020-06-11
US20240146976A1 (en) 2024-05-02
KR102149023B1 (ko) 2020-08-28
AU2018251489A1 (en) 2019-12-05
US20220109892A1 (en) 2022-04-07
MX2023008336A (es) 2023-07-25
US11902592B2 (en) 2024-02-13
KR102509347B1 (ko) 2023-03-14
AU2021221878B2 (en) 2023-02-09
AU2018251489B2 (en) 2021-05-27
AU2021221878A1 (en) 2021-09-23
CA3060035A1 (en) 2018-10-18
CN110622510A (zh) 2019-12-27
CA3222632A1 (en) 2018-10-18
CN115297325A (zh) 2022-11-04
KR20220057647A (ko) 2022-05-09
WO2018190594A1 (ko) 2018-10-18
AU2023202899A1 (en) 2023-05-25
CN115297324A (zh) 2022-11-04
KR20200102551A (ko) 2020-08-31
KR102391908B1 (ko) 2022-04-28
MX2019012293A (es) 2020-01-20
KR102272992B1 (ko) 2021-07-06
CA3060035C (en) 2024-01-02
KR20210083404A (ko) 2021-07-06
CN110622510B (zh) 2022-08-23
US11240536B2 (en) 2022-02-01
AU2023202899B2 (en) 2024-01-04
RU2768379C1 (ru) 2022-03-24
US20200396488A1 (en) 2020-12-17
EP3611922A4 (en) 2020-08-19

Similar Documents

Publication Publication Date Title
KR102509347B1 (ko) 비디오 신호를 인코딩, 디코딩하는 방법 및 장치
US10609374B2 (en) Method and apparatus for entropy-encoding and entropy-decoding video signal
EP2946553B1 (en) Transform coefficient coding for context-adaptive binary entropy coding of video
EP2946552B1 (en) Context determination for entropy coding of run-length encoded transform coefficients
US11700398B2 (en) Method and apparatus for entropy-encoding and entropy-decoding video signal
RU2785817C1 (ru) Способ и устройство для энтропийного кодирования и декодирования видеосигнала
KR20220121424A (ko) 비디오 신호 처리 방법 및 장치
KR101604033B1 (ko) 영상 복호화 방법 및 장치
KR20220088073A (ko) 비디오 신호 처리 방법 및 장치

Legal Events

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