KR20190130458A - 비-제로 계수들의 위치를 표현하는 방법 및 장치 - Google Patents

비-제로 계수들의 위치를 표현하는 방법 및 장치 Download PDF

Info

Publication number
KR20190130458A
KR20190130458A KR1020180151830A KR20180151830A KR20190130458A KR 20190130458 A KR20190130458 A KR 20190130458A KR 1020180151830 A KR1020180151830 A KR 1020180151830A KR 20180151830 A KR20180151830 A KR 20180151830A KR 20190130458 A KR20190130458 A KR 20190130458A
Authority
KR
South Korea
Prior art keywords
coefficient
block
coefficients
rectangular area
valid
Prior art date
Application number
KR1020180151830A
Other languages
English (en)
Inventor
임정연
손세훈
신재섭
이선영
이승호
나태영
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Publication of KR20190130458A publication Critical patent/KR20190130458A/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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 개시는 계수 블록 내 비-제로 계수들의 위치를 효율적으로 표현하는 것과 관련되어 있다. 본 개시의 일 측면에 따르면, 복수의 서브 블록들로 분할가능한 계수 블록을 복호화하는 방법으로서, 상기 계수 블록 내의 직사각형 영역을 식별하는 정보를 복호화하는 단계, 여기서 직사각형 영역은 상기 계수 블록 내의 부호화된 모든 비-제로 계수들을 포함함; 및 상기 계수 블록과 관련된 스캔닝 순서의 역순에 따라, 상기 직사각형 영역 내의 비-제로 계수들의 위치를 식별하는 정보를 복호화하는 단계를 포함하는, 복호화 방법이 제공된다.

Description

비-제로 계수들의 위치를 표현하는 방법 및 장치{Method and Apparatus for Expressing Position of Non-zero Coefficients}
본 발명은 영상 부호화 또는 복호화에 관한 것으로, 보다 상세하게는, 비-제로 계수들의 위치를 표현하는 것과 관련되어 있다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래 기술을 구성하는 것은 아니다.
H.265(HEVC) 표준에서, 양자화 과정을 거친 양자화된 계수(quantized coefficient)들의 어레이인 계수 블록 내의 비-제로 계수들의 위치를 표현하기 위한 신택스(syntax) 엘리먼트들은 총 6개로 구성된다.
1. last_sig_coeff_x_prefix
2. last_sig_coeff_y_prefix
3. last_sig_coeff_x_suffix
4. last_sig_coeff_y_suffix
5. coded_sub_block_flag
6. sig_coeff_flag
앞의 네 개의 신택스 엘리먼트는 계수 블록 내 스캔 순서상 가장 마지막 유효(비-제로) 계수(last significant coefficient)의 위치에 관한 것으로, 해당 위치에 대한 x 성분과 y 성분을 각각 별도로 표시하고, 각 성분은 접두어(prefix) 및 접미어(suffix)로 나누어서 표현된다. coded_sub_block_flag는 계수 블록을 복수의 4×4 서브 블록으로 분할하여 각 서브 블록이 비-제로 계수를 하나 이상 포함하고 있는지 여부를 가리키는 플래그이다. coded_sub_block_flag는 해당 서브 블록 내 모든 계수들이 제로이면 "0", 하나 이상의 비-제로 계수가 존재하면 "1"로 표시된다. sig_coeff_flag는 하나의 서브 블록 내 각 계수가 비-제로인지 제로인지를 가리키는 플래그이다. sig_coeff_flag는 제로 계수의 경우 "0"으로 표시되고, 비-제로 계수이면 "1"로 표시된다.
계수 블록에 대한 스캔 순서 상 마지막 유효 계수(Last significant coefficient)가 존재하는 마지막 유효 서브 블록(Last significant sub-block)에 선행하는 서브 블록에 한해서 coded_sub_block_flag가 시그널링된다. coded_sub_block_flag가 "1"인 경우에, 해당 서브 블록 내 모든 계수들 각각에 대한 sig_coeff_flag가 시그널링된다.
이상에서 설명한 바와 같이, HEVC 표준에서는, 플래그(flag) 비트들의 오버헤드를 감소시키기 위해, 마지막 유효 계수 위치가 이용되어 왔다. HEVC의 후속 표준화 활동에서는 64×64, 128×128 사이즈의 변환 블록의 허용을 고려하고 있는 바, HEVC 표준에서 사용된 전술한 기법은 이러한 큰 사이즈의 변환 블록에는 더 이상 효율적이지 않을 수 있다.
본 발명은 복수의 (서브) 블록으로 분할 가능한 계수들의 어레이를 갖는 계수 블록에서 비-제로 계수들의 위치를 보다 효율적으로 표현하는 데 그 주된 목적이 있다.
본 발명의 일 측면에 의하면, 복수의 서브 블록들로 분할가능한 계수 블록을 부호화하는 방법으로서, 상기 계수 블록 내의 직사각형 영역을 식별하는 정보를 복호화하는 단계, 여기서 직사각형 영역은 상기 계수 블록 내에서 부호화되는 모든 비-제로 계수들을 포함함; 및 상기 계수 블록과 관련된 스캔닝 순서에 따라, 상기 직사각형 영역 내의 비-제로 계수들의 위치를 식별하는 정보를 부호화하는 단계를 포함하는 부호화 방법이 제공된다.
본 발명의 다른 측면에 의하면, 계수 블록을 부호화하는 방법으로서, 상기 계수 블록에 대해 2개의 직사각형 영역을 결정하는 단계, 여기서 상기 계수 블록 내의 부호화된 각 비-제로 계수들은 상기 2개의 직사각형 영역 중 어느 하나에 포함됨; 상기 2개의 직사각형 영역을 식별하는 정보를 부호화하는 단계; 및 상기 계수 블록과 관련된 스캔닝 순서에 따라, 상기 2개의 직사각형 영역 내의 모든 비-제로 계수들의 위치를 식별하는 정보를 부호화하는 단계를 포함하는, 부호화 방법이 제공된다.
본 발명의 또 다른 측면에 의하면, 계수 블록을 부호화하는 방법으로서, 상기 계수 블록을 제 1 영역과 제 2 영역으로 구획하는 직선을 식별하는 정보를 부호화하는 단계, 상기 제 1 영역은 상기 계수 블록 내의 부호화되는 모든 비-제로 계수들을 포함함; 및 상기 계수 블록과 관련된 스캔닝 순서에 따라, 상기 제 1 영역 내의 비-제로 계수들의 위치를 식별하는 정보를 부호화하는 단계를 포함하는, 부호화 방법이 제공된다.
전술한 부호화 방법들은, 적어도 하나의 프로세서와 명령어들이 기록된 메모리를 포함하는 영상 부호화 장치에 수행될 수 있다. 예컨대, 상기 명령어들은 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 영상 부호화 장치로 하여금, 전술한 방법들을 수행하도록 한다.
본 발명의 또 다른 측면에 의하면, 복수의 서브 블록들로 분할가능한 계수 블록을 복호화하는 방법으로서, 상기 계수 블록 내의 직사각형 영역을 식별하는 정보를 복호화하는 단계, 여기서 직사각형 영역은 상기 계수 블록 내의 부호화된 모든 비-제로 계수들을 포함함; 및 상기 계수 블록과 관련된 스캔닝 순서의 역순에 따라, 상기 직사각형 영역 내의 비-제로 계수들의 위치를 식별하는 정보를 복호화하는 단계를 포함하는 복호화 방법이 제공된다.
본 발명의 또 다른 측면에 의하면, 계수 블록을 복호화하는 방법으로서, 상기 계수 블록에 대해 2개의 직사각형 영역을 식별하는 정보를 복호화하는 단계, 여기서 상기 계수 블록 내의 부호화된 각 비-제로 계수들은 상기 2개의 직사각형 영역 중 어느 하나에 포함됨; 및 상기 계수 블록과 관련된 스캔닝 순서의 역순에 따라, 상기 2개의 직사각형 영역 내의 모든 비-제로 계수들의 위치를 식별하는 정보를 복호화하는 단계를 포함하는 복호화 방법이 제공된다.
본 발명의 또 다른 측면에 의하면, 계수 블록을 복호화하는 방법으로서, 상기 계수 블록을 제 1 영역과 제 2 영역으로 구획하는 직선을 식별하는 정보를 복호화하는 단계, 상기 제 1 영역은 상기 계수 블록 내의 부호화된 모든 비-제로 계수들을 포함함; 및 상기 계수 블록과 관련된 스캔닝 순서의 역순에 따라, 상기 제 1 영역 내의 비-제로 계수들의 위치를 식별하는 정보를 복호화하는 단계를 포함하는, 복호화 방법이 제공된다.
전술한 복호화 방법들은, 적어도 하나의 프로세서와 명령어들이 기록된 메모리를 포함하는 영상 복호화 장치에 수행될 수 있다. 예컨대, 상기 명령어들은 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 영상 복호화 장치로 하여금, 전술한 방법들을 수행하도록 한다.
도 1은 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다.
도 2는 QTBT 구조를 이용한 블록 분할의 예시도이다.
도 3은 복수의 인트라 예측 모드들에 대한 예시도이다.
도 4는 양자화된 계수들의 부호화에 이용되는 예시적인 스캔 방식들을 나타낸 도면이다.
도 5는 본 개시의 기술들을 구현할 수 있는 영상 복호화 장치의 예시적인 블록도,
도 6a, 도 6b, 및 도 6c는 32×32 계수 블록의 일례를 도시한 도면이다.
도 7 내지 도 10b는 본 개시의 실시예들을 설명하기 위한 32×32 계수 블록의 일례를 도시한 도면이다.
도 11은, 본 개시의 제 1 실시예의 기법에 따른, 영상 부호화 장치가 계수 블록 내의 비-제로 계수들의 위치를 표현하는 방법을 도시한 흐름도이다.
도 12는, 본 개시의 제 1 실시예의 기법에 따른, 영상 복호화 장치가 계수 블록 내의 비-제로 계수들의 위치를 결정하는 방법을 도시한 흐름도이다.
도 13은, 본 개시의 제 2 실시예의 기법에 따른, 영상 부호화 장치가 계수 블록 내의 비-제로 계수들의 위치를 표현하는 방법을 도시한 흐름도이다.
도 14는, 본 개시의 제 2 실시예의 기법에 따른, 영상 복호화 장치가 계수 블록 내의 비-제로 계수들의 위치를 결정하는 방법을 도시한 흐름도이다.
도 15는, 본 개시의 제 3 실시예의 기법에 따른, 영상 부호화 장치가 계수 블록 내의 비-제로 계수들의 위치를 표현하는 방법을 도시한 흐름도이다.
도 16은, 본 개시의 제 3 실시예의 기법에 따른, 영상 복호화 장치가 계수 블록 내의 비-제로 계수들의 위치를 결정하는 방법을 도시한 흐름도이다.
도 17은, 본 개시의 제 4 실시예의 기법에 따른, 영상 부호화 장치가 계수 블록 내의 비-제로 계수들의 위치를 표현하는 방법을 도시한 흐름도이다.
도 18은, 본 개시의 제 4 실시예의 기법에 따른, 영상 복호화 장치가 계수 블록 내의 비-제로 계수들의 위치를 결정하는 방법을 도시한 흐름도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성 요소들에 식별 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다.
영상 부호화 장치는 블록 분할부(110), 예측부(120), 감산기(130), 변환부(140), 양자화부(145), 부호화부(150), 역양자화부(160), 역변환부(165), 가산기(170), 필터부(180) 및 메모리(190)를 포함한다. 영상 부호화 장치는 각 구성요소가 하드웨어 칩으로 구현될 수 있으며, 또는 소프트웨어로 구현되고 하나 이상의 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
하나의 영상(비디오)는 복수의 픽처들로 구성된다. 각 픽처들은 복수의 영역으로 분할되고 각 영역마다 부호화가 수행된다. 예를 들어, 하나의 픽처는 하나 이상의 슬라이스(slice) 또는/및 타일(Tile)로 분할되고, 각 슬라이스 또는 타일은 하나 이상의 CTU(Coding Tree Unit)로 분할된다. 그리고 각 CTU는 트리 구조에 의해 하나 이상의 CU(Coding Unit)들로 분할된다. 각 CU에 적용되는 정보들은 CU의 신택스로서 부호화되고, 하나의 CTU에 포함된 CU들에 공통적으로 적용되는 정보는 CTU의 신택스로서 부호화된다. 또한, 하나의 타일 내의 모든 블록들에 공통적으로 적용되는 정보는 타일의 신택스로서 부호화되거나 다수 개의 타일을 모아 놓은 타일 그룹의 신택스로서 부호화되며, 하나의 픽처들을 구성하는 모든 블록들에 적용되는 정보는 픽처 파라미터 셋(PPS, Picture Parameter Set) 혹은 픽처 헤더에 부호화된다. 나아가, 복수의 픽처가 공통으로 참조하는 정보들은 시퀀스 파라미터 셋(SPS, Sequence Parameter Set)에 부호화된다. 그리고 하나 이상의 SPS가 공통으로 참조하는 정보들은 비디오 파라미터 셋(VPS, Video Parameter Set)에 부호화된다.
블록 분할부(110)는 CTU(Coding Tree Unit)의 크기를 결정한다. CTU의 크기에 대한 정보(CTU size)는 SPS 또는 PPS 의 신택스로서 부호화되어 영상 복호화 장치로 전달된다. 블록 분할부(110)는 영상을 구성하는 각 픽처(picture)를 결정된 크기의 복수의 CTU(Coding Tree Unit)로 분할한 이후에, CTU를 트리 구조(tree structure)를 이용하여 반복적으로(recursively) 분할한다. 트리 구조에서의 리프 노드(leaf node)가 부호화의 기본 단위인 CU(coding unit)가 된다. 트리 구조로는 상위 노드(혹은 부모 노드)가 동일한 크기의 네 개의 하위 노드(혹은 자식 노드)로 분할되는 쿼드트리(QuadTree, QT), 또는 상위 노드가 두 개의 하위 노드로 분할되는 바이너리트리(BinaryTree, BT), 또는 상위 노드가 1:2:1 비율로 세 개의 하위 노드로 분할되는 터너리트리(TernaryTree, TT), 또는 이러한 QT 구조, BT 구조 및 TT 구조 중 하나 이상을 혼용한 구조일 수 있다. 예컨대, QTBT(QuadTree plus BinaryTree) 구조가 사용될 수 있고, 또는 QTBTTT(QuadTree plus BinaryTree TernaryTree) 구조가 사용될 수 있다.
도 2는 QTBTTT 분할 트리 구조를 보인다. 도 2에서 보는 바와 같이, CTU는 먼저 QT 구조로 분할될 수 있다. 쿼드트리 분할은 분할 블록(splitting block)의 크기가 QT에서 허용되는 리프 노드의 최소 블록 크기(MinQTSize)에 도달할 때까지 반복될 수 있다. QT 구조의 각 노드가 하위 레이어의 4개의 노드들로 분할되는지 여부를 지시하는 제1 플래그(QT_split_flag)는 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다.
QT의 리프 노드가 BT에서 허용되는 루트 노드의 최대 블록 크기(MaxBTSize)보다 크지 않은 경우, BT 구조 또는 TT 구조 중 어느 하나 이상으로 더 분할될 수 있다. BT 구조 및/또는 TT 구조에서는 복수의 분할 방향이 존재할 수 있다. 예컨대, 해당 노드의 블록이 가로로 분할하는 방향과 세로로 분할하는 방향 두 가지가 존재할 수 있다. 도 2와 같이, BTTT 분할이 시작되면, 노드들이 분할되었는지 여부를 지시하는 제2 플래그(BTTT_split_flag)와, 분할이 되었다면 추가적으로 분할 방향(vertical 혹은 horizontal)을 나타내는 플래그 및/또는 분할 타입(Binary 혹은 Ternary)을 나타내는 플래그가 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다.
트리 구조의 다른 예시로서 QTBT가 사용되는 경우, 해당 노드의 블록을 동일 크기의 두 개 블록으로 가로로 분할하는 타입(즉, symmetric horizontal splitting)과 세로로 분할하는 타입(즉, symmetric vertical splitting) 두 가지가 존재할 수 있다. BT 구조의 각 노드가 하위 레이어의 블록으로 분할되는지 여부를 지시하는 분할 플래그(split_flag) 및 분할되는 타입을 지시하는 분할 타입 정보는 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 전달된다. 한편, 해당 노드의 블록을 서로 비대칭 형태의 두 개의 블록으로 분할하는 타입이 추가로 더 존재할 수도 있다. 비대칭 형태로는 해당 노드의 블록을 1:3의 크기 비율을 가지는 두 개의 직사각형 블록으로 분할하는 형태를 포함할 수 있고, 혹은 해당 노드의 블록을 대각선 방향으로 분할하는 형태를 포함할 수도 있다.
CU는 CTU로부터의 QTBT 또는 QTBTTT 분할에 따라 다양한 크기를 가질 수 있다. 이하에서는, 부호화 또는 복호화하고자 하는 CU(즉, QTBTTT의 리프 노드)에 해당하는 블록을 '현재블록'이라 칭한다.
예측부(120)는 현재블록을 예측하여 예측블록을 생성한다. 예측부(120)는 인트라 예측부(122)와 인터 예측부(124)를 포함한다.
일반적으로, 픽처 내 현재블록들은 각각 예측적으로 코딩될 수 있다. 현재블록의 예측은 (현재블록을 포함하는 픽처로부터의 데이터를 사용하는) 인트라 예측 기술 또는 (현재블록을 포함하는 픽처 이전에 코딩된 픽처로부터의 데이터를 사용하는) 인터 예측 기술을 사용하여 일반적으로 수행될 수 있다. 인터 예측은 단방향 예측과 양방향 예측 모두를 포함한다.
인트라 예측부(122)는 현재블록이 포함된 현재 픽처 내에서 현재블록의 주변에 위치한 픽셀(참조 픽셀)들을 이용하여 현재블록 내의 픽셀들을 예측한다. 예측 방향에 따라 복수의 인트라 예측모드가 존재한다. 예컨대, 도 3에서 보는 바와 같이, 복수의 인트라 예측모드는 planar 모드와 DC 모드를 포함하는 비방향성 모드와 65 개의 방향성 모드를 포함할 수 있다. 각 예측모드에 따라 사용할 주변 픽셀과 연산식이 다르게 정의된다.
인트라 예측부(122)는 현재블록을 부호화하는데 사용할 인트라 예측 모드를 결정할 수 있다. 일부 예들에서, 인트라 예측부(122)는 여러 인트라 예측 모드들을 사용하여 현재블록을 인코딩하고, 테스트된 모드들로부터 사용할 적절한 인트라 예측 모드를 선택할 수도 있다. 예를 들어, 인트라 예측부(122)는 여러 테스트된 인트라 예측 모드들에 대한 레이트 왜곡(rate-distortion) 분석을 사용하여 레이트 왜곡 값들을 계산하고, 테스트된 모드들 중 최선의 레이트 왜곡 특징들을 갖는 인트라 예측 모드를 선택할 수도 있다.
인트라 예측부(122)는 복수의 인트라 예측 모드 중에서 하나의 인트라 예측 모드를 선택하고, 선택된 인트라 예측 모드에 따라 결정되는 주변 픽셀(참조 픽셀)과 연산식을 사용하여 현재블록을 예측한다. 선택된 인트라 예측 모드에 대한 정보는 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 전달된다.
인터 예측부(124)는 움직임 보상 과정을 통해 현재블록에 대한 예측블록을 생성한다. 현재 픽처보다 먼저 부호화 및 복호화된 참조픽처 내에서 현재블록과 가장 유사한 블록을 탐색하고, 그 탐색된 블록을 이용하여 현재블록에 대한 예측블록을 생성한다. 그리고, 현재 픽처 내의 현재블록과 참조픽처 내의 예측블록 간의 변위(displacement)에 해당하는 움직임벡터(motion vector)를 생성한다. 일반적으로, 움직임 추정은 루마(luma) 성분에 대해 수행되고, 루마 성분에 기초하여 계산된 모션 벡터는 루마 성분 및 크로마 성분 모두에 대해 사용된다. 현재블록을 예측하기 위해 사용된 참조픽처에 대한 정보 및 움직임벡터에 대한 정보를 포함하는 움직임 정보는 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 전달된다.
감산기(130)는 현재블록으로부터 인트라 예측부(122) 또는 인터 예측부(124)에 의해 생성된 예측블록을 감산하여 잔차 블록을 생성한다.
변환부(140)는 공간 영역의 픽셀 값들을 가지는 잔차 블록 내의 잔차 신호를 주파수 도메인의 변환 계수로 변환한다. 변환부(140)는 잔차 블록 내의 잔차 신호들을 현재블록의 크기를 변환 단위로 사용하여 변환할 수 있으며, 또는 잔차 블록을 더 작은 복수의 서브 블록을 분할하고 서브 블록 크기의 변환 단위로 잔차 신호들을 변환할 수도 있다. 잔차 블록을 더 작은 서브 블록으로 분할하는 방법은 다양하게 존재할 수 있다. 예컨대, 기정의된 동일한 크기의 서브 블록으로 분할할 수도 있으며, 또는 잔차 블록을 루트 노드로 하는 QT(quadtree) 방식의 분할을 사용할 수도 있다.
양자화부(145)는 변환부(140)로부터 출력되는 변환 계수들을 양자화하고, 양자화된 변환 계수들을 부호화부(150)로 출력한다.
부호화부(150)는 양자화된 변환 계수들을 CABAC 등의 부호화 방식을 사용하여 부호화하여 비트스트림을 생성한다. 이러한 부호화는 통상적으로 복수의 가용한 스캔 방식 중 하나를 이용하여 양자화된 변환 계수에 대해 수행된다.
도 4는 양자화된 계수들의 부호화에 이용되는 예시적인 스캔 방식들을 나타낸 도면이다. 이들 스캔 방식은 diagonal 방식(도 4의 (a)), horizontal 방식(도 4의 (b)), vertical 방식(도 4의 (c))을 포함한다. 각 스캔 방식은 계수 블록 내 서브 블록들 및 각 서브 블록 내 계수들에 대해서 동일한 형태의 스캔 패턴을 보인다. 예를 들어, horizontal 스캔 방식의 경우, 서브 블록들의 스캔 순서도 horizontal 방식이고, 각 서브 블록 내 계수들의 스캔 순서도 horizontal 방식이다. 다만, 실제 비트스트림에 저장되는 순서는 스캔 순서의 역순으로 저장이 된다.
본 개시의 기술들의 일 측면은 일반적으로 변환 및 양자화의 결과물인 양자화된 계수들의 어레이인 계수 블록에 대해 비-제로 계수(즉, 유효 계수)들의 위치를 효율적으로 표현하는 것과 관련된다. 따라서, 본 개시의 소정의 기법들은 부호화부(150)에 의해 수행될 수도 있다. 즉, 부호화부(150)는 도 7 내지 도 18에 대해 기술된 본 개시의 기법들을 수행할 수도 있다. 다른 예들에서, 영상 부호화 장치의 하나 이상의 다른 유닛들이 추가적으로 본 개시의 기법들을 수행하는 데 관여할 수도 있다.
또한, 부호화부(150)는 블록 분할과 관련된 CTU size, QT 분할 플래그, BT 분할 플래그, 분할 방향, 분할 타입 등의 정보를 부호화하여, 영상 복호화 장치가 영상 부호화 장치와 동일하게 블록을 분할할 수 있도록 한다.
또한, 부호화부(150)는 현재블록이 인트라 예측에 의해 부호화되었는지 아니면 인터 예측에 의해 부호화되었는지 여부를 지시하는 예측 타입에 대한 정보를 부호화하고, 예측 타입에 따라 인트라 예측정보(즉, 인트라 예측 모드에 대한 정보) 또는 인터 예측정보(참조픽처 및 움직임벡터에 대한 정보)를 부호화한다.
역양자화부(160)는 양자화부(145)로부터 출력되는 양자화된 변환 계수들을 역양자화하여 변환 계수들을 생성한다. 역변환부(165)는 역양자화부(160)로부터 출력되는 변환 계수들을 주파수 도메인으로부터 공간 도메인으로 변환하여 잔차블록을 복원한다.
가산부(170)는 복원된 잔차블록과 예측부(120)에 의해 생성된 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 픽셀들은 다음 순서의 블록을 인트라 예측할 때 참조 픽셀로서 사용된다.
필터부(180)는 블록 기반의 예측 및 변환/양자화로 인해 발생하는 블록킹 아티팩트(blocking artifacts), 링잉 아티팩트(ringing artifacts), 블러링 아티팩트(blurring artifacts) 등을 줄이기 위해 복원된 픽셀들에 대한 필터링을 수행한다. 필터부(180)는 디블록킹 필터(182)와 SAO 필터(184)를 포함할 수 있다.
디블록킹 필터(180)는 블록 단위의 부호화/복호화로 인해 발생하는 블록킹 현상(blocking artifact)을 제거하기 위해 복원된 블록 간의 경계를 필터링하고, SAO 필터(184)는 디블록킹 필터링된 영상에 대해 추가적인 필터링을 수행한다. SAO 필터(184)는 손실 부호화(lossy coding)로 인해 발생하는 복원된 픽셀과 원본 픽셀 간의 차이를 보상하기 위해 사용되는 필터이다.
디블록킹 필터(182) 및 SAO 필터(184)를 통해 필터링된 복원 블록은 메모리(190)에 저장한다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.
도 5는 본 개시의 기술들을 구현할 수 있는 영상 복호화 장치의 예시적인 블록도이다.
영상 복호화 장치는 복호화부(510), 역양자화부(520), 역변환부(530), 예측부(540), 가산기(550) 등을 포함하는 영상 복원기(5000)와, 필터부(560) 및 메모리(570)를 포함한다. 도 1의 영상 부호화 장치와 마찬가지로, 영상 복호화 장치는 각 구성요소가 하드웨어 칩으로 구현될 수 있으며, 또는 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
복호화부(510)는 영상 부호화 장치로부터 수신한 비트스트림을 복호화하여 블록 분할과 관련된 정보를 추출하여 복호화하고자 하는 현재블록을 결정하고, 현재블록을 복원하기 위해 필요한 예측 정보와 잔차신호에 대한 정보 등을 추출한다.
복호화부(510)는 SPS (Sequence Parameter Set) 또는 PPS (Picture Parameter Set)로부터 CTU size에 대한 정보를 추출하여 CTU의 크기를 결정하고, 픽처를 결정된 크기의 CTU로 분할한다. 그리고 CTU를 트리 구조의 최상위 레이어, 즉, 루트 노드로 결정하고, CTU에 대한 분할 정보를 추출함으로써 CTU를 트리 구조를 이용하여 분할한다. 예컨대, QTBTTT 구조를 사용하여 CTU를 분할하는 경우, 먼저 QT의 분할과 관련된 제1 플래그(QT_split_flag)를 추출하여 각 노드를 하위 레이어의 네 개의 노드로 분할한다. 그리고, QT의 리프 노드에 해당하는 노드에 대해서는 BTTT의 분할과 관련된 제2 플래그(BTTT_split_flag) 및 분할 방향(vertical / horizontal) 및/또는 분할 타입(binary / ternary) 정보를 추출하여 해당 리프 노드를 BTTT 구조로 분할한다. 이를 통해 QT의 리프 노드 이하의 각 노드들을 BT 또는 TT 구조로 반복적으로(recursively) 분할한다.
다른 예로서, QTBT 구조를 사용하여 CTU를 분할하는 경우, QT의 분할과 관련된 제1 플래그(QT_split_flag)를 추출하여 각 노드를 하위 레이어의 네 개의 노드로 분할한다. 그리고, QT의 리프 노드에 해당하는 노드에 대해서는 BT로 더 분할되는지 여부를 지시하는 분할 플래그(split_flag) 및 분할 방향 정보를 추출한다.
한편, 복호화부(510)는 트리 구조의 분할을 통해 복호화하고자 하는 현재블록을 결정하게 되면, 현재블록이 인트라 예측되었는지 아니면 인터 예측되었는지를 지시하는 예측 타입에 대한 정보를 추출한다.
예측 타입 정보가 인트라 예측을 지시하는 경우, 복호화부(510)는 현재블록의 인트라 예측정보(인트라 예측 모드)에 대한 신택스 요소를 추출한다.
예측 타입 정보가 인터 예측을 지시하는 경우, 복호화부(510)는 인터 예측정보에 대한 신택스 요소, 즉, 움직임벡터 및 그 움직임벡터가 참조하는 참조픽처를 나타내는 정보를 추출한다.
한편, 복호화부(510)는 잔차신호에 대한 정보로서 현재블록의 양자화된 변환계수들에 대한 정보를 추출한다. 본 개시의 기술들의 다른 측면은, 일반적으로, 변환 및 양자화의 결과물인 양자화된 계수들의 어레이인 계수 블록에 대해 비-제로 계수(즉, 유효 계수)들의 위치를 효율적으로 복호화하는 것과 관련된다. 따라서, 본 개시의 소정의 기법들은 복호화부(510)에 의해 수행될 수도 있다. 즉, 예를 들어, 복호화부(510)는 도 7 내지 도 18에 대해 기술된 본 개시의 기법들을 수행할 수도 있다. 다른 예들에서, 영상 복호화 장치의 하나 이상의 다른 유닛들이 추가적으로 본 개시의 기법들을 수행하는 데 관여할 수도 있다.
역양자화부(520)는 양자화된 변환계수들을 역양자화하고 역변환부(530)는 역양자화된 변환계수들을 주파수 도메인으로부터 공간 도메인으로 역변환하여 잔차신호들을 복원함으로써 현재블록에 대한 잔차블록을 생성한다.
예측부(540)는 인트라 예측부(542) 및 인터 예측부(544)를 포함한다. 인트라 예측부(342)는 현재블록의 예측 타입인 인트라 예측일 때 활성화되고, 인터 예측부(344)는 현재블록의 예측 타입인 인트라 예측일 때 활성화된다.
인트라 예측부(542)는 복호화부(510)로부터 추출된 인트라 예측 모드에 대한 신택스 요소로부터 복수의 인트라 예측 모드 중 현재블록의 인트라 예측 모드를 결정하고, 인트라 예측 모드에 따라 현재블록 주변의 참조 픽셀들을 이용하여 현재블록을 예측한다.
인터 예측부(544)는 복호화부(510)로부터 추출된 인트라 예측 모드에 대한 신택스 요소를 이용하여 현재블록의 움직임 벡터와 그 움직임벡터가 참조하는 참조픽처를 결정하고, 움직임벡터와 참조픽처를 현재블록을 예측한다.
가산기(550)는 역변환부로부터 출력되는 잔차블록과 인터 예측부 또는 인트라 예측부로부터 출력되는 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 픽셀들은 이후에 복호화할 블록을 인트라 예측할 때의 참조픽셀로서 활용된다.
영상 복원기(5000)에 의해 CU들에 해당하는 현재블록들을 순차적으로 복원함으로써, CU들로 구성된 CTU, CTU들로 구성된 픽처가 복원된다.
필터부(560)는 디블록킹 필터(562) 및 SAO 필터(564)를 포함한다. 디블록킹 필터(562)는 블록 단위의 복호화로 인해 발생하는 블록킹 현상(blocking artifact)를 제거하기 위해 복원된 블록 간의 경계를 디블록킹 필터링한다. SAO 필터(564)는, 손실 부호화(lossy coding)으로 인해 발생하는 복원된 픽셀과 원본 픽셀 간의 차이를 보상하기 위해, 디블록킹 필터링 이후의 복원된 블록에 대해 추가적인 필터링을 수행한다. 디블록킹 필터(562) 및 SAO 필터(564)를 통해 필터링된 복원 블록은 메모리(570)에 저장한다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.
전술한 바와 같이, 본 개시의 기법들은, 일반적으로, 변환 및 양자화의 결과물인 양자화된 계수들의 어레이인 계수 블록에 대해 비-제로 계수(즉, 유효 계수)들의 위치를 효율적으로 부호화하고 복호화하는 것과 관련되어 있다. 개시된 일부 기법들은 변환을 거치지 않은 잔차 블록에 대해 직접 적용될 수 있다. 이하의 설명에서, “(양자화된) 변환 블록”, “(양자화된) 계수들의 어레이”, 및 “(양자화된) 계수 블록”은 상호 호환적으로 사용될 수 있다.
본 개시의 일부 기법들에서, 계수 블록 내 부호화되고 복호화될 모든 비-제로 계수들이 포함된 직사각형의 유효 영역(significant region: SR)이 정의된다. 유효 영역 내부의 계수들 혹은 서브 블록들에 대해서만 유효 정보(significant information)가 시그널링되며, (본질적으로 비-제로 계수가 포함되지 않을) 유효 영역 외부에 대해서는 유효 정보의 시그널링이 스킵된다. 유효 정보(significant 정보)는 서브 블록 레벨의 유효 정보와 이를 기반으로 하는 계수 레벨의 유효 정보로 구분될 수 있다.
유효 영역은 계수 블록 내 모든 유효 계수들(비-제로 계수들)을 포함하는 직사각형일 수 있다. 예컨대, 유효 영역은 계수 블록 내 DC 계수와, 최하측(bottommost) 비-제로 계수(들)과, 최우측(rightmost) 비-제로 계수(들)을 포함하는 가장 작은 크기의 직사각형 영역일 수 있다. 대안적으로, 유효 영역은 계수 블록 내 모든 유효 서브 블록들을 포함하는 직사각형일 수 있다. 예컨대, 유효 영역은 DC 계수가 속하는 서브 블록과, 최하측(bottommost) 비-제로 계수(들)이 속하는 서브 블록(들)과, 최우측(rightmost) 비-제로 계수(들)이 속하는 서브 블록(들)을 포함하는 가장 작은 크기의 직사각형 영역일 수 있다. 또한, 유효 영역은 계수 블록 내의 유효 계수들 중에서 (화질에 미치는 영향이 상대적으로 미미할) 일부 고주파수 계수들을 포함되지 않도록, 영상 부호화 장치에 의해, 정의될 수도 있다.
유효 영역의 계수 블록 내에서의 위치는 유효 영역(직사각형 영역)의 최우하측 계수의 픽셀 좌표(pixel coordinates) 혹은 최우하측 서브 블록의 인덱스(index)로 표현될 수 있다. 즉, 복호화할 계수 블록 내에서의 유효 영역의 위치를 영상 복호화 장치가 결정할 수 있도록, 영상 부호화 장치는 유효 영역의 위치를 특정하는 픽셀 좌표 혹은 서브 블록의 인덱스를 시그널링할 수 있다.
본 개시의 다른 일부 기법들에서, 계수 블록에 대해 2개의 직사각형 모양의 유효 영역이 정의된다. 계수 블록 내의 각 비-제로 계수들은 위 2개의 유효 영역 중 어느 하나에 포함된다. 대안적으로 혹은 보완적으로, 2개의 직사각형 모양의 유효 영역은 계수 블록 내의 유효 계수들 중에서 (화질에 미치는 영향이 상대적으로 미미할) 적어도 하나의 고주파수 계수들을 포함하지 않도록, 영상 부호화 장치에 의해, 정의될 수도 있다. 또한, 2개의 유효 영역은 계수 블록 내 제로 계수들을 가능한 적게 포함하도록, 영상 부호화 장치에 의해 정의 혹은 결정될 수 있다. 2개의 유효 영역 중 하나는 DC 계수를 포함하는 직사각형일 수 있다. DC 계수를 포함하는 유효 영역의 계수 블록 내에서의 위치는 해당 유효 영역의 최우하측 픽셀의 좌표로 식별될 수 있다. 다른 하나의 유효 영역의 계수 블록 내서의 위치는 해당 유효 영역의 최좌상측 픽셀과 최우하측 픽셀의 좌표로 식별될 수 있다.
본 개시의 또 다른 일부 기법들에서, 계수 블록을, 제 1 영역과 제 2 영역으로 구획하는 직선이 정의된다. 제 1 영역에는 계수 블록 내의 부호화되고 복호화될 모든 비-제로 계수들을 포함될 수 있다. 대안적으로 혹은 보완적으로, 계수 블록 내의 유효 계수들 중에서 (화질에 미치는 영향이 상대적으로 미미할) 적어도 하나의 고주파수 계수들은 제 1 영역이 아닌 제 2 영역에 포함될 수도 있다. 영상 부호화 장치는, 제 1 영역(즉, 유효 영역)이 계수 블록 내의 제로 계수들을 가능한 적게 포함하도록, 상기 구획하는 직선을 결정할 수 있다. 제 1 영역은 유효 영역으로 설정되고, 유효 영역 내의 모든 계수들에 대해 유효 정보가 시그널링된다. 제 2 영역 내의 모든 계수들에 대해서는 유효 정보의 시그널링이 생략된다. 상기 구획하는 직선을 식별하는 정보(결과적으로, 계수 블록 내에서의 유효 영역의 위치를 식별하는 정보)는 그 구획하는 직선이 계수 블록의 경계와 교차하는 제 1 지점과 제 2 지점을 가리키는 픽셀 좌표로 표현될 수 있다.
이하에서는, 도 6a 내지 도 6c를 참조하여 HEVC 표준에서 비-제로 계수들의 위치를 표현하는 방식을 설명하고, 이에 대비되는 본 개시의 기법들을 채용한 몇몇 실시예들을 설명한다.
도 6a, 도 6b, 및 도 6c는 32×32 계수 블록의 일례를 도시한 도면이다. 여기서, 빗금 표시된 픽셀들은 비-제로 계수를, 그 이외의 흰색 계수들은 모두 제로 값을 가진다. 도 6a, 도 6b, 및 도 6c에는, 각각, diagonal, horizontal, vertical 스캔 방식에 따른 마지막 비-제로 계수(611)가 도시되어 있다. 어떤 타입의 스캔 방식을 사용하는지에 따라 마지막 비-제로 계수의 위치가 달라질 수 있다. 도 6a, 도 6b, 및 도 6c에서, 굵게 표시된 4×4 서브 블록들은 계수 레벨의 유효 정보를 생성해야 하는 (본 개시의 유효 영역에 대응되는) 영역이다. 즉, HEVC 표준에 따르면, 스캐닝 방법에 따라 유효 정보를 생성해야 하는 영역이 상이하다.
[발명의 배경이 되는 기술] 파트에서 설명한, HEVC 표준의 신택스 엘리먼트들 중 coded_sub_block_flagsig_coeff_flag를 도 6a에 예시된 계수 블록에 적용하면, 이들 2개의 신택스 엘리먼트를 표시하기 위해 필요한 비트 수는 다음과 같다. 총 64개의 서브 블록 중 22개의 서브 블록들에 대한 coded_sub_block_flag를 표시하기 위해, 22비트가 필요하다. 도 6a에서 굵게 표시된 24개의 서브 블록들 중에서 DC 성분이 포함된 좌상귀 서브 블록과 마지막 유효 계수가 속하는 서브 블록에 대해서는 coded_sub_block_flag가 시그널링되지 않는다. 예시된 계수 블록은 하나 이상의 비-제로 계수를 포함하고 있는 서브 블록(즉, 유효 서브 블록)이 7개이며, 따라서 7개의 유효 서브 블록에 대한 sig_coeff_flag를 표시하기 위해, 대략 112 비트(= 7×16; 마지막 유효 서브 블록에 대해서는 16 비트보다 적은 비트가 필요할 수 있다)가 필요하다. 결과적으로, 도 6a의 계수 블록에 대해 상기 두 개의 신택스 엘리먼트를 표현하는 데 필요한 비트 수는 대략 134 비트(= 22 + 112)이다. 상기 두 개의 신택스 엘리먼트는 본 개시의 기법들에서 사용되는 서브 블록 레벨 및 계수 레벨의 유효 정보를 표현하는 신택스 엘리먼트에 대비된다.
더 나아가, HEVC 표준에 따르면, 현재 블록이 인터 예측 방식을 사용하여 부호화되는 경우, 현재 블록의 계수들은 diagonal 방식으로 스캐닝되고, 현재 블록이 인트라 예측 방식으로 부호화되는 경우에는 인트라 예측 모드에 따라 상기 세 가지 스캔 방식 중에서 하나를 선택하여 현재 블록의 계수들을 스캐닝 하게 된다. 즉, 현재 블록이 인트라 예측 방식으로 부호화된 경우에, 어떤 인트라 예측 모드가 사용되었느냐에 따라 현재 블록과 관련된 계수들의 스캔 방식이 정해진다. 더욱이, 어떠한 인트라 예측 모드가 사용되었는지를 시그널링함에 있어서, 사용된 인트라 예측 모드의 번호(혹은 인덱스) 자체가 시그널링되지 않고, MPM 인덱스 값이나 non-MPM 인덱스 값의 형태로 시그널링된다. 따라서, 해당 블록의 MPM 및 non-MPM 구성 정보를 알아야 해당 블록의 실제 인트라 예측 모드를 알 수 있으며, 해당 블록의 MPM 및 non-MPM 정보를 알기 위해서는 주변 블록의 인트라 예측 모드를 알아야 하고, 그 주변 블록의 인트라 예측 모드를 알기 위해서는 그 주변 블록의 주변 블록 정보를 알아야 한다.
이상에서 설명한 바와 같이, 현재 블록의 스캔 방식을 알기 전에는 현재 블록과 관련된 변환 계수들에 관한 신택스 엘리먼트들의 파싱이 불가능한데, 주어진 블록이 인트라 예측 방식으로 부호화된 경우에는, 영상 복호화 장치는 해당 블록의 인트라 예측 모드를 결정하기 전까지는 신택스 엘리먼트들의 파싱이 불가능하다. 즉, 현재 블록의 주변 블록, 그 주변 블록의 주변 블록들의 인트라 예측 모드를 결정하기 전까지 현재 블록과 관련된 변환 계수들에 관한 신택스 엘리먼트들의 파싱이 지연된다.
후술하는 바와 같이, 본 개시의 기법들에 따르면, 어떠한 스캔 방법을 사용하여도 (계수 레벨의) 유효 정보를 생성해야 하는 영역은 변경되지 않는다. 즉, 주어진 계수 블록에 대해 계수 레벨의 유효 정보를 생성하는 데 특별히 유리하거나 불리한 스캔 방식이 존재하지 않는다. 따라서, 영상 부호화 장치와 영상 복호화 장치 간에 약속된 하나의 스캔 패턴이 모든 계수 블록들에 대해 적용되어도 무방하다. 결과적으로, 현재 블록에 연관된 양자화된 변환 계수들을 스캔하는 데에 사용되는 스캔 패턴은 현재 블록에 적용된 인트라 예측 모드(그에 따라, 이전에 복호화된 주변 블록)에 관한 의존성을 더 이상 가지지 않아도 된다. 또한, 스캔 패턴을 인트라 예측 모드와 연관시킴으로써 발생하는 계수에 관한 신택스 엘리먼트들의 파싱의 지연 문제가 해결될 수 있다. 나아가, 영상 복호화 장치가 인트라 예측 모드의 결정 프로세스와 스캔 패턴에 따른 2차원 변환 계수들의 블록의 재구성 프로세스를 병렬적으로 수행할 수 있게 된다.
이제, 본 개시의 기법들의 몇몇 실시예들을 설명한다. 이하의 예시적인 실시예들은, 설명의 편의상, 서브 블록이 2×2 정사각형임을 전제로 기술되나, 본 개시의 기법들은 다른 크기의 정사각형의 서브 블록들에 대해서도 적용 가능하다. 나아가, N×N 정사각형의 서브 블록 외에 M×N 직사각형의 서브 블록이 사용될 수도 있다. 가령, 2×4 혹은 1×4 서브 블록이 사용될 수도 있다.
제 1 실시예
본 실시예에서 계수 블록은 복수의 서브 블록들로 구분되며, 유효 영역은 계수 블록 내의 모든 유효 서브 블록을 포함하는 (가장 작은) 직사각형 영역으로 정의된다. 유효 서브 블록은 하나 이상의 비-제로 계수가 존재하는 서브 블록을 의미한다. 유효 영역의 계수 블록 내에서의 위치 정보는 유효 영역의 최우하측 서브 블록의 인덱스로 표현된다. 여기서, 인덱스는 가로축과 세로축으로 구분되는 2차원 값으로 표현될 수도 있고, 가로축과 세로축을 합산하여 1차원 값으로 표현될 수도 있다. 유효 정보(significant 정보)는 서브 블록 레벨의 유효 정보와 이를 기반으로 하는 계수 레벨의 유효 정보로 구분될 수 있다. 도 7을 참조하여, 본 실시예의 기법을 설명한다.
도 7에는 총 7개의 비-제로 계수들을 가진 32×32 계수 블록이 예시되어 있다. 도 7에 예시된 32×32 계수 블록은 도 6a 내지 도 6c에 예시된 계수 블록들과 동일하다. 즉, 빗금 표시된 계수들은 비-제로 계수들을 의미하며, 그 외의 계수들은 제로 계수들을 의미한다.
본 실시예에서, 유효 영역은 계수 블록 내의 모든 유효 서브 블록을 포함하는 직사각형 영역으로 정의된다. 예컨대, 유효 영역은 ⅰ) DC 계수(혹은 최우상측 서브 블록)와, ⅱ) 최하측(bottommost) 비-제로 계수(들)(711)가 속하는 서브 블록(들)과 ⅲ) 최우측(rightmost) 비-제로 계수(들) (721)가 속하는 서브 블록(들)을 모두 포함하는 가장 작은 직사각형 영역(700)으로 정의될 수 있다. 또한, 유효 영역은 계수 블록 내의 유효 계수들 중에서 (화질에 미치는 영향이 상대적으로 미미할) 일부 고주파수 계수들이 포함되지 않도록 정의될 수도 있다.
유효 영역의 계수 블록 내에서의 위치는 유효 영역의 최우하측 서브 블록의 인덱스를 사용하여 특정될 수 있다. 도 7의 예시에서, 가로축 및 세로축을 별도로 기술하는 경우, 좌상측 서브 블록의 인덱스 (0, 0)을 기준으로 유효 영역의 최우하측 서브 블록(730)의 인덱스는 (9, 6)가 된다. 즉, 인덱스 (9, 6)가 유효 영역의 계수 블록 내에서의 위치를 표현하는 정보로서 시그널링될 수 있다.
유효 영역이 정의되면, 유효 영역 내 모든 서브 블록들에 대해 서브 블록 레벨의 유효 정보가 생성된다. 서브 블록 레벨의 유효 정보는 그 서브 블록이 비-제로 계수를 하나 이상 포함하고 있는지 여부를 가리키는 제 1 신택스 엘리먼트이다. 제 1 신택스 엘리먼트는 서브 블록 내 모든 계수들이 제로이면 "0"으로, 하나 이상의 비-제로 계수가 존재하면 "1"로 표시되는, 1 bit 플래그일 수 있다. 도 7의 유효 영역(700) 내에는 70개의 2×2 서브 블록들이 존재한다. 여기서, DC 계수를 포함하는 인덱스 (0, 0)의 서브 블록의 유효 정보는 생략될 수 있으며, 영상 복호화 장치에 의해, “1”값으로 추론될 수 있다. 따라서 인덱스 (0, 0)의 서브 블록을 제외한 69 개의 서브 블록의 유효 정보를 표현하는 데에, 69 bits가 소요된다. 서브 블록들의 유효 정보를 표현하는 순서는 스캐닝 방법에 따라 달라질 수 있으나, 필요한 총 비트 수는 스캐닝 방법과는 무관하게 동일하다.
유효 서브 블록인 7개의 2×2 서브 블록들에 대해서는, 각 서브 블록 별로, 총 4개의 계수들에 대해, 계수 레벨의 유효 정보가 더 생성된다. 계수 레벨의 유효 정보는 그 계수가 비-제로 계수인지 여부를 가리키는 제 2 신택스 엘리먼트이다. 제 2 신택스 엘리먼트는 관련된 계수가 제로이면 "0"으로, 비-제로이면 "1"로 표시되는, 1 bit 플래그 일 수 있다. 따라서, 도 8의 계수 블록에 대해, 계수 레벨의 유효 정보를 표현하는 데에 필요한 비트 수는 7×4 = 28 bits 이다. 여기서, 2x2 유효 서브 블록 내 스캐닝 순서상 먼저 나오는 3개의 계수 레벨의 유효 정보가 모두 "0"인 경우, 마지막 4번째 계수에 대한 유효 정보는 생략될 수 있으며, 영상 복호화 장치에 의해, "1"값으로 추론될 수 있다.
따라서, 도 7의 계수 블록에 대해 서브 블록 레벨 및 계수 레벨의 유효 정보를 표현하는 데에는 총 97 bits (= 69 + 28) 가 필요하다.
이와 같이, 제 1 실시예는, 마지막 비-제로 계수의 위치를 픽셀 좌표로 표현하는 HEVC 방식에 비해, 서브 블록 인덱스 값을 이용하여 유효 영역의 위치를 표현함으로써 비트를 절감할 수 있고, 유효 정보를 표현하는 데에 필요한 비트 수도, HEVC 방식의 134 bits에 비해, 97 bits로 절감된다.
한편, 유효 영역의 직사각형이 작다면, 서브 블록 레벨의 유효 정보(즉, 제 1 신택스 엘리먼트)를 시그널링하는 것이 오버헤드 관점에서 오히려 더 불리할 수도 있다. 유효 영역이 기설정된 임계 크기보다 작은 경우에, 서브 블록 레벨의 유효 정보(즉, 제 1 신택스 엘리먼트)를 생성하는 대신에, 유효 영역 내의 모든 계수들에 대해, 계수 레벨의 유효 정보(즉, 제 2 신택스 엘리먼트)를 생성하는 것이 더 바람직할 수 있다. 예를 들어, 유효 영역이 2×2 서브 블록을 16개 미만으로 포함하는 경우, 영상 부호화 장치는 서브 블록 레벨의 유효 정보(즉, 제 1 신택스 엘리먼트)를 생략하고, 유효 영역 내의 모든 계수들에 대해 계수 레벨의 유효 정보(즉, 제 2 신택스 엘리먼트)를 생성한다.
유효한 서브 블록에 대한 계수 레벨의 유효 정보는 후속하는 서브 블록의 유효 정보에 앞서 시그널링될 수 있다. 대안적으로, 모든 서브 블록에 대해 서브 블록 레벨의 유효 정보가 시그널링된 후에 비로소 유효한 서브 블록들에 대해 계수 레벨의 유효 정보가 시그널링될 수도 있다.
제 2 실시예
제 1 실시예와 달리, 본 실시예에서 ⅰ) 유효 영역은 계수 블록 내의 부호화되고 복호화될 모든 비-제로 계수들을 포함하는 직사각형 영역으로 정의되며, ⅱ) 유효 영역의 계수 블록 내에서의 위치는 유효 영역의 최우하측 픽셀의 좌표로 시그널링된다. 그리고 ⅲ) 정의된 유효 영역 내 모든 계수들에 대해 유효 정보가 시그널링된다. 여기서, 최우하측 픽셀의 좌표는 2차원의 픽셀 좌표로 표현된다. 또한, 유효 영역은 계수 블록 내의 유효 계수들 중에서 (화질에 미치는 영향이 상대적으로 미미할) 일부 고주파수 계수들이 포함되지 않도록 정의될 수도 있다.
도 8은 제 2 실시예에 따른 기법을 설명하기 위한 도면이다. 도 8에 예시된 32×32 계수 블록은 도 6a 내지 도 6c에 예시된 계수 블록들과 동일하다. 즉, 도 8에 예시된 32×32 계수 블록은 총 7개의 비-제로 계수들을 가지며, 빗금 표시된 계수들은 비-제로 계수들을 의미하며, 그 외의 계수들은 제로 계수들을 의미한다.
본 실시예에서, 유효 영역은 계수 블록 내의 모든 유효 계수들을 포함하는 직사각형 영역으로 정의된다. 예컨대, 유효 영역은 ⅰ) DC 계수(811)와, ⅱ) 최하측(bottommost) 비-제로 계수(811)와 ⅲ) 최우측(rightmost) 비-제로 계수(821)를 모두 포함하는 가장 작은 직사각형 영역(800)으로 정의될 수 있다.
유효 영역의 계수 블록 내에서의 위치는 유효 영역의 최우하측 계수(830)의 2차원 픽셀 좌표로 식별된다. 도 8의 예시에서, (0, 0)의 좌상측 계수(즉, DC 계수)을 기준으로, 유효 영역(800)의 최우하측 계수(830)의 좌표는 (18, 13)이다. 즉, 픽셀 좌표 (18, 13)가 유효 영역의 계수 블록 내에서의 위치를 표현하는 정보로서 시그널링될 수 있다.
유효 영역이 정의되면, 유효 영역 내 모든 계수들에 대해, 계수 레벨의 유효 정보를 생성하게 된다. 도 8의 유효 영역(800) 내 계수들의 개수는 총 19×14 = 226 개이다. 계수들의 유효 정보를 표현하는 순서는 스캐닝 방법에 따라 달라질 수 있으나, 필요한 총 비트 수는 스캐닝 방법과는 무관하게 동일하다.
제 1 실시예와 유사하게, 직사각형의 유효 영역이 충분히 큰 경우, 곧바로 계수 레벨의 유효 정보를 생성하기보다는, 먼저 서브 블록 레벨의 유효 정보를 생성할 수도 있다. 예를 들어, 유효 영역이 계수들을 64개 이상 포함하는 경우(혹은 2×2 서브 블록을 16개 이상 포함하는 경우), 먼저 서브 블록 레벨의 유효 정보를 생성하고, 유효한 서브 블록에 한해서 계수 레벨의 유효 정보를 생성할 수 있다. 여기서, 2×2 유효 서브 블록 내 스캐닝 순서 상 먼저 나오는 3개의 계수 레벨의 유효 정보가 모두 "0"인 경우, 마지막 4번째 계수에 대한 유효 정보는 생략될 수 있으며, 영상 복호화 장치에 의해, "1"값으로 추론될 수 있다.
유효 영역을 2×2 서브 블록들로 나눌 때, 유효 영역의 경계에서 완전한 2×2 서브 블록으로 구획되지 못하는 영역이 존재할 수 있다. 이 경우, 유효 영역을 임시로 확장하여 완전한 2×2 서브 블록(들)을 만들 수 있다. 유효 영역의 임시 확장으로 얻어진 완전한 2×2 서브 블록(들)의 경우는 원래의 유효 영역에 속한 계수들에 대해서만 계수 레벨의 유효 정보를 생성한다. 대안적으로, 완전한 2×2 서브 블록으로 구획되지 못하는 영역에 대해서는, 서브 블록 레벨의 유효 정보를 생략하고, 곧바로 계수 레벨의 유효 정보를 생성할 수도 있다.
제 3 실시예
본 실시예에서는 계수 블록에 대해 2개의 직사각형 모양의 유효 영역이 정의된다. 계수 블록 내의 각 비-제로 계수들은 위 2개의 유효 영역 중 어느 하나에 포함될 수 있다. 대안적으로, 2개의 유효 영역은 계수 블록 내의 유효 계수들 중에서 (화질에 미치는 영향이 상대적으로 미미할) 적어도 하나의 고주파수 계수들을 포함하지 않도록 정의될 수도 있다. 2개의 유효 영역은 제로 계수들을 가능한 적게 포함하도록, 영상 부호화 장치에 의해 정의 혹은 결정될 수 있다. 2개의 유효 영역 중 하나는 DC 계수를 포함하는 직사각형일 수 있다. DC 계수를 포함하는 유효 영역의 계수 블록 내의 위치는 해당 유효 영역의 최우하측 픽셀의 좌표로 식별될 수 있다. 다른 하나의 유효 영역의 계수 블록 내의 위치는 해당 유효 영역의 최좌상측 픽셀과 최우하측 픽셀의 좌표로 식별된다.
도 9는 제 3 실시예에 따른 기법을 설명하기 위한 도면이다. 도 9에 예시된 32×32 계수 블록은 도 6a 내지 도 6c에 예시된 계수 블록들과 동일하다. 즉, 도 9에 예시된 32×32 계수 블록은 총 7개의 비-제로 계수들을 가지며, 빗금 표시된 계수들은 비-제로 계수들을 의미하며, 그 외의 계수들은 제로 계수들을 의미한다.
도 9에서는 직사각형 모양의 2개의 유효 영역들(900a, 900b)이 도시되어 있다. 도 9에 예시된 유효 영역들(900a, 900b)은 예시적인 것이며, 이와 상이한 형태의 유효 영역의 설정도 가능하다. 2개의 첫 번째 유효 영역(900a)의 최우하측 픽셀(911)의 좌표는, (0, 0)의 DC 계수를 기준으로, 첫 번째 유효 영역(900a)의 최우하측 픽셀(911)의 좌표는 (8, 10)이다. 즉, 픽셀 좌표 (8, 10)가 첫 번째 유효 영역(900a)의 계수 블록 내에의 위치를 표현하는 정보로서 시그널링될 수 있다. 두 번째 유효 영역(900b)의 최좌상측 픽셀(921)의 좌표는 (9, 8)이고, 최우하측 픽셀(922)의 좌표는 (18, 13)이다. 즉, 픽셀 좌표 (9, 8) 및 (18, 13)가 두 번째 유효 영역(900b)의 계수 블록 내에서의 위치를 표현하는 정보로서 시그널링될 수 있다. 여기서, 최우하측 픽셀(922)의 좌표는 최좌상측(921)의 좌표와의 차이값 정보로서 시그널링될 수도 있다. 즉, 픽셀 좌표 (9, 8) 및 (9, 5)가 두 번째 유효 영역(900b)의 계수 블록 내에서의 위치를 표현하는 정보로서 시그널링될 수 있다.
유효 영역들이 설정되면, 각 유효 영역 내 모든 계수들에 대해 계수 레벨의 유효 정보를 생성된다. 도 9의 첫 번째 유효 영역(900a) 내 계수들의 개수는 99 개이며, 두 번째 유효 영역(900b) 내 계수들의 개수는 50 개이다. 모든 계수들의 유효 정보를 표현하는 데에, 149 bits 가 소요된다. 계수들의 유효 정보를 표현하는 순서는 스캐닝 방법에 따라 달라질 수 있으나, 필요한 총 비트 수는 스캐닝 방법과는 무관하게 동일하다.
제 4 실시예
본 실시예에서, 계수 블록을, 제 1 영역과 제2 영역으로 구분하는 직선이 정의된다. 계수 블록 내의 모든 비-제로 계수들은 제 1 영역에 포함될 수 있다. 대안적으로 혹은 보완적으로, 제 1 영역에는 계수 블록 내의 유효 계수들 중에서 (화질에 미치는 영향이 상대적으로 미미할) 적어도 하나의 고주파수 계수들을 포함하지 않을 수도 있다. 제 1 영역에 대해서는 계수 레벨의 유효 정보가 시그널링되고, 제 2 영역에 대해서는 계수 레벨의 유효 정보의 시그널링이 생략된다. 계수 블록을 2개의 영역으로 구획하는 직선을 특정하는 정보(결과적으로, 유효 영역의 계수 블록내에서의 위치를 특정하는 정보)는 그 구획하는 직선이 계수 블록의 경계와 교차하는 제 1 지점과 제 2 지점을 식별하는 픽셀 좌표로 식별된다. 유효 영역이 설정되면, 유효 영역(즉, 제 1 영역) 내 모든 계수들에 대해 계수 레벨의 유효 정보가 생성된다. 제 2 영역내의 모든 계수들에 대해서는 계수 레벨의 유효 정보의 생성이 생략된다.
도 10a 및 도 10b는 제 4 실시예에 따른 기법을 설명하기 위한 도면이다. 도 10a에 예시된 32×32 계수 블록은 총 4개의 비-제로 계수들을 가진다. 빗금 표시된 계수들은 비-제로 계수들을 의미하며, 그 외의 계수들은 제로 계수들을 의미한다. 도 10b에 예시된 32×32 계수 블록은 총 7개의 비-제로 계수들을 가진 도 6a, 도 6b, 도 6c에 예시된 계수 블록들과 동일하다.
도 10a에 예시된 32×32 계수 블록에서, 직선(1000a)은 모든 비-제로 계수들이 포함된 삼각형의 영역(제 1 영역)과 나머지 영역(제 2 영역)으로 계수 블록을 구획하고 있다. 그 구획하는 직선이 계수 블록의 경계와 교차하는 제 1 지점과 제 2 지점을 1차원의 픽셀 좌표로 표현하면, DC 계수를 기준으로 제 1 지점은 "9", 제 2 지점은 "15"로 표현될 수 있다. 따라서, 도 10a에서, 유효 영역의 계수 블록내에서의 위치를 특정하는 정보는 (9, 15)이다.
도 10b에 예시된 32×32 계수 블록에서, 직선(1000b)은 모든 비-제로 계수들이 포함된 사각형의 영역(제 1 영역)과 나머지 영역(제 2 영역)으로 계수 블록을 구획하고 있다. 그 구획하는 직선이 계수 블록의 경계와 교차하는 제 1 지점과 제 2 지점을 1차원의 픽셀 좌표로 표현하면, DC 계수를 기준으로 제 1 지점은 "18", 제 2 지점은 "35(=31+4)"로 표현될 수 있다. 여기서, 제 2 지점은 계수 블록의 세로 좌표만으로 표현될 수 없는 바, 세로 좌표 값(31)와 가로 좌표 값(4)의 합으로 표현된 것이다. 따라서, 도 10b에서, 유효 영역의 계수 블록내에서의 위치를 특정하는 정보는 (18, 35)이다.
한편, 비-제로 계수들의 분포에 따라 직사각형의 유효 영역이 유리할 수도 있고, 삼각형을 포함한 다각형이 유리할 수도 있는 바, 영상 부호화 장치는, 주어진 계수 블록에 대해, 전술한 기법들 중에서 유리한 기법을 선택적으로 사용할 수도 있다. 예컨대, 영상 부호화 장치는 제 1 실시예의 기법과 제 4 실시예의 기법 중에서 유리한 기법을 선택적으로 사용하고, 선택된 기법을 식별하는 플래그를 시그널링할 수도 있다. 이에 대응하여, 영상 복호화 장치는 해당 플래그가 지시하는 기법에 따라, 계수 블록 내의 비-제로 계수들의 위치를 결정할 수도 있다.
도 11은, 본 개시의 제 1 실시예의 기법에 따른, 영상 부호화 장치가 계수 블록 내의 비-제로 계수들의 위치를 표현하는 방법을 도시한 흐름도이다.
먼저, 영상 부호화 장치는 현재의 계수 블록 내의 모든 유효 서브 블록들을 포함하는 직사각형 영역을 유효 영역으로 결정한다(S1110). 여기서, 유효 서브 블록은 적어도 하나의 비-제로 계수를 포함하는 서브 블록을 의미한다. 예컨대, 영상 부호화 장치는 현재의 계수 블록 내의 최하측의 비-제로 계수가 속한 제 1 서브 블록과 최우측의 비-제로 계수가 속한 제 2 서브 블록을 식별하고, 상기 계수 블록 내의 DC 계수, 상기 제 1 서브 블록, 및 상기 제 2 서브 블록이 속하는 가장 작은 직사각형 영역을 유효 영역으로 결정할 수 있다. 전술한 바와 같이, 직사각형 영역은 계수 블록 내의 유효 계수들 중에서 (화질에 미치는 영향이 상대적으로 미미할) 일부 고주파수 계수들이 포함되지 않도록 결정될 수도 있다.
영상 부호화 장치는 결정된 직사각형 영역(즉, 유효 영역)을 식별하는 정보를 부호화한다(S1120). 예컨대, 영상 부호화 장치는 상기 직사각형 영역 내의 최우하측 계수의 위치를 식별하는 계수 블록 내의 2차원 위치의 수평 좌표와 수직 좌표를 부호화할 수 있다. 대안적으로, 영상 부호화 장치는 상기 직사각형 영역 내의 최우하측의 서브 블록의 인덱스를 부호화할 수 있다.
영상 부호화 장치는 계수 블록과 관련된 스캐닝 순서에 따라, 상기 직사각형 영역 내의 모든 비-제로 계수들의 위치를 식별하는 정보를 부호화한다(S1130). 예컨대, 영상 부호화 장치는 상기 직사각형 영역 내의 각 서브 블록에 대해, 적어도 하나의 비-제로 계수를 갖는 유효 서브 블록(significant sub-block)인지 여부를 가리키는 제 1 신택스 엘리먼트를 부호화할 수 있다. 그리고, 각 유효 서브 블록에 대해, 해당 서브 블록 내의 각 계수가 비-제로 계수인지 여부를 가리키는 제 2 신택스 엘리먼트를 부호화할 수 있다. 영상 부호화 장치는, 상기 직사각형 영역이 기설정된 임계 크기보다 작은 경우에, 제 1 신택스 엘리먼트의 부호화를 생략하고, 상기 직사각형 영역 내의 모든 계수들에 대해 제 2 신택스 엘리먼트를 부호화할 수 있다.
도 12는, 본 개시의 제 1 실시예의 기법에 따른, 영상 복호화 장치가 계수 블록 내의 비-제로 계수들의 위치를 결정하는 방법을 도시한 흐름도이다.
먼저, 영상 복호화 장치는 현재의 계수 블록 내의 모든 유효 서브 블록들을 포함하는 직사각형 영역인 유효 영역을 식별하는 정보를 복호화한다(S1210). 예컨대, 영상 복호화 장치는, 비트스트림으로부터, 상기 직사각형 영역 내의 최우하측 서브 블록의 위치를 나타내는 2차원 좌표를 복호화할 수 있다. 대안적으로, 영상 부호화 장치는, 비트스트림으로부터, 상기 직사각형 영역 내의 최우하측의 서브 블록의 인덱스를 복호화할 수 있다.
영상 복호화 장치는, 계수 블록과 관련된 스캐닝 순서의 역순에 따라, 상기 직사각형 영역 내의 모든 비-제로 계수들의 위치를 식별하는 정보를 복호화한다(S1220). 예컨대, 영상 복호화 장치는 상기 직사각형 영역 내의 각 서브 블록에 대해, 적어도 하나의 비-제로 계수를 갖는 유효 서브 블록(significant sub-block)인지 여부를 가리키는 제 1 신택스 엘리먼트를 복호화할 수 있다. 그리고, 각 유효 서브 블록에 대해, 해당 서브 블록 내의 각 계수가 비-제로 계수인지 여부를 가리키는 제 2 신택스 엘리먼트를 복호화할 수 있다. 영상 부호화 장치는, 상기 직사각형 영역이 기설정된 임계 크기보다 작은 경우에, 제 1 신택스 엘리먼트의 복호화를 스킵하고, 상기 직사각형 영역 내의 모든 계수들에 대해 제 2 신택스 엘리먼트를 복호화할 수 있다.
도 13는, 본 개시의 제 2 실시예의 기법에 따른, 영상 부호화 장치가 계수 블록 내의 비-제로 계수들의 위치를 표현하는 방법을 도시한 흐름도이다.
먼저, 영상 부호화 장치는 현재의 계수 블록 내의 부호화되는 모든 유효 계수들을 포함하는 직사각형 영역을 유효 영역으로 결정한다(S1310). 여기서, 유효 계수는 비-제로 값을 가지는 계수를 의미한다. 예컨대, 영상 부호화 장치는 현재의 계수 블록 내의 최하측의 비-제로 계수(들)와 최우측의 비-제로 계수(들)을 식별하고, 상기 계수 블록 내의 DC 계수, 최하측의 비-제로 계수(들), 및 최우측의 비-제로 계수(들)이 속하는 가장 작은 직사각형 영역을 유효 영역으로 결정할 수 있다. 전술한 바와 같이, 직사각형 영역은 계수 블록 내의 유효 계수들 중에서 (화질에 미치는 영향이 상대적으로 미미할) 일부 고주파수 계수들이 포함되지 않도록 결정될 수도 있다.
영상 부호화 장치는 결정된 직사각형 영역(즉, 유효 영역)을 식별하는 정보를 부호화한다(S1320). 예컨대, 영상 부호화 장치는 상기 직사각형 영역 내의 최우하측 계수의 위치를 식별하는 계수 블록 내의 2차원 위치의 수평 좌표와 수직 좌표를 부호화할 수 있다.
영상 부호화 장치는, 계수 블록과 관련된 스캐닝 순서에 따라, 상기 직사각형 영역 내의 모든 비-제로 계수들의 위치를 식별하는 정보를 부호화한다(S1330). 예컨대, 영상 부호화 장치는 상기 직사각형 영역 내의 모든 계수들에 대해, 비-제로 계수인지 여부를 가리키는 신택스 엘리먼트를 부호화할 수 있다. 영상 부호화 장치는, 상기 직사각형 영역이 기설정된 임계 크기보다 크거나 같은 경우에, 상기 직사각형 영역 내의 각 서브 블록에 대해, 적어도 하나의 비-제로 계수를 갖는 유효 서브 블록인지 여부를 가리키는 신택스 엘리먼트를 부호화할 수 있다. 그리고, 각 유효 서브 블록에 대해, 해당 서브 블록 내의 각 계수가 비-제로 계수인지 여부를 가리키는 신택스 엘리먼트를 부호화할 수 있다.
도 14는, 본 개시의 제 2 실시예의 기법에 따른, 영상 복호화 장치가 계수 블록 내의 비-제로 계수들의 위치를 결정하는 방법을 도시한 흐름도이다.
먼저, 영상 복호화 장치는 현재의 계수 블록 내의 부호화된 모든 유효 계수들을 포함하는 직사각형 영역인 유효 영역을 식별하는 정보를 복호화한다(S1410). 예컨대, 영상 복호화 장치는, 비트스트림으로부터, 상기 직사각형 영역 내의 최우하측 계수의 위치를 식별하는 계수 블록 내의 2차원 위치의 수평 좌표와 수직 좌표를 복호화할 수 있다.
영상 복호화 장치는, 계수 블록과 관련된 스캐닝 순서의 역순에 따라, 상기 직사각형 영역 내의 모든 비-제로 계수들의 위치를 식별하는 정보를 복호화한다(S1420). 예컨대, 영상 복호화 장치는 상기 직사각형 영역 내의 각 계수가 비-제로 계수인지 여부를 가리키는 제 2 신택스 엘리먼트를 복호화할 수 있다. 영상 부호화 장치는, 상기 직사각형 영역이 기설정된 임계 크기보다 큰 경우에, 직사각형 영역 내의 각 서브 블록에 대해, 적어도 하나의 비-제로 계수를 갖는 유효 서브 블록(significant sub-block)인지 여부를 가리키는 제 1 신택스 엘리먼트를 복호화하고, 각 유효 서브 블록에 대해 해당 서브 블록 내의 모든 계수들에 대해 제 2 신택스 엘리먼트를 복호화할 수도 있다.
도 15는, 본 개시의 제 3 실시예의 기법에 따른, 영상 부호화 장치가 계수 블록 내의 비-제로 계수들의 위치를 표현하는 방법을 도시한 흐름도이다.
먼저, 영상 부호화 장치는 계수 블록에 대해 2개의 직사각형 영역을 유효 영역으로 결정한다(S1510). 계수 블록 내의 부호화되는 각 비-제로 계수들은 위 2개의 직사각형 영역 중 어느 하나에 포함된다. 2개의 유효 영역 중 하나는 DC 계수를 포함하는 직사각형일 수 있다. 영상 부호화 장치는 2개의 유효 영역이 제로 계수들을 가능한 적게 포함되도록, 각 직사각형의 크기 및 위치를 결정될 수 있다. 전술한 바와 같이, 2개의 직사각형 영역은 계수 블록 내의 유효 계수들 중에서 (화질에 미치는 영향이 상대적으로 미미할) 일부 고주파수 계수들이 포함되지 않도록 결정될 수도 있다.
영상 부호화 장치는 결정된 2개의 직사각형 영역(즉, 유효 영역)을 특정하는 정보를 부호화한다(S1520). 예컨대, 영상 부호화 장치는, DC 계수를 포함하는 유효 영역의 계수 블록 내의 위치를 특정하는 정보로서, 해당 유효 영역의 최우하측 픽셀의 좌표를 부호화할 수 있다. 또한, 영상 부호화 장치는, 다른 하나의 유효 영역의 계수 블록 내의 위치를 특정하는 정보로서, 해당 유효 영역의 최좌상측 픽셀의 좌표와 최우하측 픽셀의 좌표를 부호화할 수 있다. 여기서, 최우하측 픽셀의 좌표는 최좌상측 픽셀의 좌표 값과의 차이값으로 표현될 수도 있다.
영상 부호화 장치는 계수 블록과 관련된 스캐닝 순서에 따라, 상기 2개의 직사각형 영역 내의 모든 비-제로 계수들의 위치를 식별하는 정보를 부호화한다(S1530). 예컨대, 영상 부호화 장치는 각 유효 영역 내 모든 계수들에 대해, 계수 레벨의 유효 정보를 부호화할 수 있다. 즉, 영상 부호화 장치는 각 유효 영역 내 각 계수가 비-제로 계수인지 여부를 가리키는 제 2 신택스 엘리먼트를 부호화할 수 있다.
도 16은, 본 개시의 제 3 실시예의 기법에 따른, 영상 복호화 장치가 계수 블록 내의 비-제로 계수들의 위치를 결정하는 방법을 도시한 흐름도이다.
먼저, 영상 복호화 장치는 현재의 계수 블록에 대해 2개의 직사각형 모양의 유효 영역을 특정하는 정보를 복호화한다(S1610). 여기서, 계수 블록 내의 부호화된 각 비-제로 계수들은 위 2개의 유효 영역 중 어느 하나에 포함되며, 2개의 유효 영역 중 하나는 DC 계수를 포함하는 직사각형이다. 영상 복호화 장치는, DC 계수를 포함하는 유효 영역의 계수 블록 내의 위치를 특정하는 정보로서, 해당 유효 영역의 최우하측 픽셀의 좌표를 비트스트림으로부터 복호화할 수 있다. 또한, 영상 복호화 장치는, 다른 하나의 유효 영역의 계수 블록 내의 위치를 특정하는 정보로서, 해당 유효 영역의 최좌상측 픽셀의 좌표와 최우하측 픽셀의 좌표를 비트스트림으로부터 복호화할 수 있다.
영상 복호화 장치는 계수 블록과 관련된 스캐닝 순서의 역순에 따라, 상기 2개의 직사각형 영역 내의 모든 비-제로 계수들의 위치를 식별하는 정보를 복호화한다(S1630). 예컨대, 영상 복호화 장치는 각 유효 영역 내의 모든 계수들에 대해, 계수 레벨의 유효 정보를 복호화할 수 있다. 즉, 영상 부호화 장치는 각 유효 영역 내의 각 계수가 비-제로 계수인지 여부를 가리키는 제 2 신택스 엘리먼트를 복호화할 수 있다.
도 17은, 본 개시의 제 4 실시예의 기법에 따른, 영상 부호화 장치가 계수 블록 내의 비-제로 계수들의 위치를 표현하는 방법을 도시한 흐름도이다.
먼저, 영상 부호화 장치는 계수 블록을 제 1 영역과 제 2 영역으로 구획하는 직선을 결정한다(S1710). 영상 부호화 장치는, 제 1 영역이 계수 블록 내의 부호화되는 모든 비-제로 계수들을 포함하도록 그리고 제로 계수들을 가능한 적게 포함하도록, 상기 구획하는 직선을 결정할 수 있다. 전술한 바와 같이, 계수 블록을 구획하는 직선은 계수 블록 내의 유효 계수들 중에서 (화질에 미치는 영향이 상대적으로 미미할) 일부 고주파수 계수들이 제 1 영역에 포함되지 않도록 결정될 수도 있다. 제 1 영역은 유효 영역으로 설정된다.
영상 부호화 장치는 상기 구획하는 직선을 특정하는 정보(결과적으로, 계수 블록 내에서의 유효 영역의 위치를 특정하는 정보)를 부호화한다(S1720). 예컨대, 영상 부호화 장치는 그 구획하는 직선이 계수 블록의 경계와 교차하는 제 1 지점과 제 2 지점을 가리키는 1차원 혹은 2차원의 픽셀 좌표를 부호화할 수 있다.
영상 부호화 장치는, 계수 블록과 관련된 스캐닝 순서에 따라, 제 1 영역(즉, 유효 영역) 내의 모든 비-제로 계수들의 위치를 식별하는 정보를 부호화한다(S1730). 예컨대, 영상 부호화 장치는 제 1 영역 내의 모든 계수들에 대해, 비-제로 계수인지 여부를 가리키는 신택스 엘리먼트를 부호화할 수 있다.
도 18은, 본 개시의 제 4 실시예의 기법에 따른, 영상 복호화 장치가 계수 블록 내의 비-제로 계수들의 위치를 결정하는 방법을 도시한 흐름도이다.
먼저, 영상 복호화 장치는 현재의 계수 블록을 제 1 영역과 제 2 영역으로 구획하는 직선을 식별하는 정보를 복호화한다(S1810). 여기서, 제 1 영역은 계수 블록 내의 부호화된 모든 비-제로 계수들을 포함한다. 예컨대, 영상 복호화 장치는, 비트스트림으로부터, 그 구획하는 직선이 계수 블록의 경계와 교차하는 제 1 지점과 제 2 지점을 가리키는 1차원 혹은 2차원의 픽셀 좌표를 복호화할 수 있다. 제 1 영역은 유효 영역으로 설정된다.
영상 복호화 장치는, 계수 블록과 관련된 스캐닝 순서의 역순에 따라, 상기 유효 영역 내의 모든 비-제로 계수들의 위치를 식별하는 정보를 복호화한다(S1820). 예컨대, 영상 복호화 장치는 상기 유효 영역 내의 모든 계수에 대해, 각 계수가 비-제로 계수인지 여부를 가리키는 신택스 엘리먼트를 복호화할 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (10)

  1. 복수의 서브 블록들로 분할가능한 계수 블록을 복호화하는 방법으로서,
    상기 계수 블록 내의 직사각형 영역을 식별하는 정보를 복호화하는 단계, 여기서 직사각형 영역은 상기 계수 블록 내의 부호화된 모든 비-제로 계수들을 포함함; 및
    상기 계수 블록과 관련된 스캔닝 순서의 역순에 따라, 상기 직사각형 영역 내의 비-제로 계수들의 위치를 식별하는 정보를 복호화하는 단계
    를 포함하는, 복호화 방법.
  2. 제 1 항에 있어서,
    상기 직사각형 영역을 식별하는 정보는,
    상기 직사각형 영역 내의 최우하측 계수의 위치를 나타내는 상기 계수 블록 내의 2차원 좌표인 것을 특징으로 하는, 복호화 방법.
  3. 제 1 항에 있어서,
    상기 직사각형 영역을 식별하는 정보는,
    상기 직사각형 영역 내의 최우하측의 서브 블록의 인덱스인 것을 특징으로 하는, 복호화 방법.
  4. 제 1 항에 있어서,
    상기 직사각형 영역 내의 비-제로 계수들의 위치를 식별하는 정보를 복호화하는 단계는,
    상기 직사각형 영역 내의 각 서브 블록에 대해, 유효 서브 블록인지 여부를 가리키는 정보를 복호화하는 단계; 및
    각 유효 서브 블록에 대해, 해당 유효 서브 블록 내의 각 계수가 비-제로 계수인지 여부를 가리키는 정보를 복호화하는 단계
    를 포함하는 것을 특징으로 하는, 복호화 방법.
  5. 제 1 항에 있어서,
    상기 직사각형 영역 내의 모든 비-제로 계수들의 위치를 식별하는 정보를 복호화하는 단계는,
    상기 직사각형 영역이 기설정된 임계 크기보다 작은 경우에, 상기 직사각형 영역 내의 모든 계수들에 대해, 비-제로 계수인지 여부를 가리키는 정보를 복호화하는 단계; 및
    상기 직사각형 영역이 상기 기설정된 임계 크기보다 크거나 같은 경우에, 상기 직사각형 영역 내의 각 서브 블록에 대해 유효 서브 블록인지 여부를 가리키는 정보를 복호화하고, 각 유효 서브 블록에 대해, 해당 서브 블록 내의 각 계수가 비-제로 계수인지 여부를 가리키는 정보를 복호화하는 단계를 포함하는 것을 특징으로 하는, 복호화 방법.
  6. 영상 복호화 장치로서,
    하나 이상의 프로세서; 및
    명령어들이 저장된 메모리를 포함하되, 상기 명령어들은 상기 하나 이상의 프로세서에 의해 실행될 때 상기 영상 복호화 장치로 하여금,
    계수 블록 내의 직사각형 영역을 식별하는 정보를 복호화하는 단계, 여기서 상기 직사각형 영역은 상기 계수 블록 내의 부호화된 모든 비-제로 계수들을 포함함; 및
    상기 계수 블록과 관련된 스캔닝 순서의 역순에 따라, 상기 직사각형 영역 내의 비-제로 계수들의 위치를 식별하는 정보를 복호화하는 단계
    를 수행하도록 하는, 영상 복호화 장치.
  7. 제 6 항에 있어서,
    상기 직사각형 영역을 식별하는 정보는,
    상기 직사각형 영역 내의 최우하측 계수의 위치를 나타내는 상기 계수 블록 내의 2차원 좌표인 것을 특징으로 하는, 영상 복호화 장치.
  8. 제 6 항에 있어서,
    상기 직사각형 영역을 식별하는 정보는,
    상기 직사각형 영역 내의 최우하측의 서브 블록의 인덱스인 것을 특징으로 하는, 영상 복호화 장치.
  9. 제 6 항에 있어서,
    상기 직사각형 영역 내의 모든 비-제로 계수들의 위치를 식별하는 정보를 복호화하는 단계는,
    상기 직사각형 영역 내의 각 서브 블록에 대해, 유효 서브 블록인지 여부를 가리키는 정보를 복호화하는 단계; 및
    각 유효 서브 블록에 대해, 해당 유효 서브 블록 내의 각 계수가 비-제로 계수인지 여부를 가리키는 정보를 복호화하는 단계
    를 포함하는 것을 특징으로 하는, 영상 복호화 장치.
  10. 제 6 항에 있어서,
    상기 직사각형 영역 내의 모든 비-제로 계수들의 위치를 식별하는 정보를 복호화하는 단계는,
    상기 직사각형 영역이 기설정된 임계 크기보다 작은 경우에, 상기 직사각형 영역 내의 모든 계수들에 대해, 비-제로 계수인지 여부를 가리키는 정보를 복호화하는 단계; 및
    상기 직사각형 영역이 상기 기설정된 임계 크기보다 크거나 같은 경우에, 상기 직사각형 영역 내의 각 서브 블록에 대해 유효 서브 블록인지 여부를 가리키는 정보를 복호화하고, 각 유효 서브 블록에 대해, 해당 서브 블록 내의 각 계수가 비-제로 계수인지 여부를 가리키는 정보를 복호화하는 단계를 포함하는 것을 특징으로 하는, 영상 복호화 장치.
KR1020180151830A 2018-05-14 2018-11-30 비-제로 계수들의 위치를 표현하는 방법 및 장치 KR20190130458A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180055022 2018-05-14
KR20180055022 2018-05-14

Publications (1)

Publication Number Publication Date
KR20190130458A true KR20190130458A (ko) 2019-11-22

Family

ID=68730822

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180151830A KR20190130458A (ko) 2018-05-14 2018-11-30 비-제로 계수들의 위치를 표현하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20190130458A (ko)

Similar Documents

Publication Publication Date Title
CN110622511B (zh) 图像编码/解码方法及其设备
KR20190083948A (ko) 영상을 부호화 또는 복호화하는 방법 및 장치
KR20180082330A (ko) 영상 부호화 또는 복호화하기 위한 장치 및 방법
US11979554B2 (en) Intra prediction-based video signal processing method and device
KR102586674B1 (ko) 경계 강제 파티션에 대한 개선
KR20190052097A (ko) 영상 처리 방법 및 이를 위한 장치
CN115623196A (zh) 使用参考样本的视频信号处理方法及设备
KR20180121908A (ko) 비디오 코딩 시스템에서 블록 구조 도출 방법 및 장치
KR20200104252A (ko) 영상 신호 부호화/복호화 방법 및 이를 위한 장치
TWI737097B (zh) 越界節點視訊資料之處理方法及裝置
KR20190088020A (ko) 다양한 변환 기술을 사용하는 비디오 코딩 방법 및 장치
KR102390384B1 (ko) 영상 부호화 또는 복호화하기 위한 장치 및 방법
KR20200000543A (ko) 지도 학습을 이용한 영상 개선 방법 및 장치
KR20190142717A (ko) 인터 예측 방법 및 이를 이용한 영상 복호화 장치
KR20190083959A (ko) 크로마 블록의 복원 방법 및 이를 이용한 영상 복호화 장치
US20230048262A1 (en) Decoding device and method for predicting block partitioned into random shape
KR102649287B1 (ko) 변환 계수의 부호 데이터 은닉
KR20190130458A (ko) 비-제로 계수들의 위치를 표현하는 방법 및 장치
KR20200132761A (ko) 동영상 데이터의 병렬 부호화 및 복호화를 위한 방법 및 장치
KR20200073124A (ko) 필터링 방법 및 영상 복호화 장치
CN114128281B (zh) 用于控制编码工具的方法
EP4068776A1 (en) Decoding device and method for predicting block partitioned into random shapes
US20240214566A1 (en) Method of restoration in subblock units, and video decoding apparatus
KR102628530B1 (ko) 영상 부호화 또는 복호화하기 위한 장치 및 방법
KR102617469B1 (ko) Sao 필터링을 위한 방법 및 장치