KR20200004749A - 잔차신호 재배열 방법 및 영상 복호화 장치 - Google Patents

잔차신호 재배열 방법 및 영상 복호화 장치 Download PDF

Info

Publication number
KR20200004749A
KR20200004749A KR1020190072480A KR20190072480A KR20200004749A KR 20200004749 A KR20200004749 A KR 20200004749A KR 1020190072480 A KR1020190072480 A KR 1020190072480A KR 20190072480 A KR20190072480 A KR 20190072480A KR 20200004749 A KR20200004749 A KR 20200004749A
Authority
KR
South Korea
Prior art keywords
type
rearrangement
residual
transform
block
Prior art date
Application number
KR1020190072480A
Other languages
English (en)
Inventor
나태영
손세훈
신재섭
이선영
이승호
임정연
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to PCT/KR2019/008102 priority Critical patent/WO2020009460A1/ko
Publication of KR20200004749A publication Critical patent/KR20200004749A/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

잔차신호 재배열 방법 및 영상 복호화 장치를 개시한다.
본 발명의 일 실시예에 의하면, 현재블록의 변환블록 내 변환계수들 및 상기 변환블록에 적용된 변환타입을 지시하는 변환타입 정보를 비트스트림으로부터 복호화하는 단계; 상기 변환타입 정보에 의해 지시되는 변환타입에 따라, 상기 변환계수들로부터 잔차블록을 도출하는 단계; 및 하나 이상의 재배열 타입 중 어느 하나에 따라, 상기 잔차블록 내 잔차신호들을 재배열하는 단계를 포함하는 것을 특징으로 하는 잔차신호 재배열 방법을 제공한다.

Description

잔차신호 재배열 방법 및 영상 복호화 장치{METHOD FOR REARRANGING RESIDUAL AND APPARATUS}
본 발명은 영상의 부호화 및 복호화에 관한 것으로서, 잔차신호를 재배열하여 부호화 및 복호화의 효율을 향상시킨 잔차신호 재배열 방법 및 영상 복호화 장치에 관한 것이다.
동영상 데이터는 음성 데이터나 정지 영상 데이터 등에 비하여 많은 데이터량을 가지기 때문에, 압축을 위한 처리 없이 그 자체를 저장하거나 전송하기 위해서는 메모리를 포함하여 많은 하드웨어 자원을 필요로 한다.
따라서, 통상적으로 동영상 데이터를 저장하거나 전송할 때에는 부호화기를 사용하여 동영상 데이터를 압축하여 저장하거나 전송하며, 복호화기에서는 압축된 동영상 데이터를 수신하여 압축을 해제하고 재생한다. 이러한 동영상 압축 기술로는 H.264/AVC를 비롯하여, H.264/AVC에 비해 약 40% 정도의 부호화 효율을 향상시킨 HEVC(High Efficiency Video Coding)가 존재한다.
그러나, 영상의 크기 및 해상도, 프레임율이 점차 증가하고 있고, 이에 따라 부호화해야 하는 데이터량도 증가하고 있으므로 기존의 압축 기술보다 더 부호화 효율이 좋고 화질 개선 효과도 높은 새로운 압축 기술이 요구된다.
이러한 요구에 부응하기 위해 본 발명은 개선된 영상 부호화 및 복호화 기술을 제공하는 것을 목적으로 하며, 특히, 본 발명의 일 측면은 잔차신호를 현재블록의 특성에 따라 적응적으로 재배열함으로써 부호화 및 복호화의 효율을 향상시키는 기술과 관련된다.
본 발명의 일 측면은, 현재블록의 변환블록 내 변환계수들 및 상기 변환블록에 적용된 변환타입을 지시하는 변환타입 정보를 비트스트림으로부터 복호화하는 단계; 상기 변환타입 정보에 의해 지시되는 변환타입에 따라, 상기 변환계수들로부터 잔차블록을 도출하는 단계; 및 하나 이상의 재배열 타입 중 어느 하나에 따라, 상기 잔차블록 내 잔차신호들을 재배열하는 단계를 포함하는 것을 특징으로 하는 잔차신호 재배열 방법을 제공한다.
본 발명의 다른 일 측면은, 현재블록의 변환블록 내 변환계수들 및 상기 변환블록에 적용된 변환타입을 지시하는 변환타입 정보를 비트스트림으로부터 복호화하는 복호화부; 상기 변환타입 정보에 의해 지시되는 변환타입에 따라, 상기 변환계수들로부터 잔차블록을 도출하는 역변환부; 및 하나 이상의 재배열 타입 중 어느 하나에 따라, 상기 잔차블록 내 잔차신호들을 재배열하는 제어수단을 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.
이상에서 설명한 바와 같이 본 발명의 일 실시예에 의하면, 잔차신호가 변환타입에 적합한 형태로 재배열되므로, 영상 부호화 및 복호화에 대한 압축 성능이 향상될 수 있다.
도 1은 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다.
도 2는 QTBTTT 구조를 이용하여 블록을 분할하는 방법을 설명하기 위한 도면이다.
도 3은 복수의 인트라 예측 모드들을 설명하기 위한 도면이다.
도 4는 본 개시의 기술들을 구현할 수 있는 영상 복호화 장치의 예시적인 블록도이다.
도 5는 변환타입의 기저함수들에 대한 파형을 설명하기 위한 도면이다.
도 6은 잔차신호들의 에너지 분포에 적합한 변환타입을 설명하기 위한 도면이다.
도 7은 잔차신호들을 재배열하는 본 발명의 일 실시예를 설명하기 위한 순서도이다.
도 8 및 도 9는 재배열 타입의 두 가지 예를 설명하기 위한 도면이다.
도 10은 도 8 및 도 9에서 설명된 재배열 타입에 따라 잔차신호들을 재배열하는 일 예를 설명하기 위한 도면이다.
도 11은 인트라 예측을 예측 방향에 따라 구분하는 일 예를 설명하기 위한 도면이다.
도 12 및 도 13은 재배열 타입 정보를 판단하는 본 발명의 실시예들을 설명하기 위한 순서도이다.
도 14는 참조블록들의 에러 값을 기준으로 잔차신호들을 재배열하는 본 발명의 일 실시예를 설명하기 위한 순서도이다.
도 15는 도 14를 통해 설명된 실시예를 이용하여 잔차신호들을 재배열하는 일 예를 설명하기 위한 도면이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성 요소들에 식별 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 본 개시의 기술들을 구현할 수 있는 영상 부호화 장치에 대한 예시적인 블록도이다. 이하에서는 도 1을 참조하여 영상 부호화 장치와 이 장치의 하위 구성들에 대하여 설명하도록 한다.
영상 부호화 장치는 블록 분할부(110), 예측부(120), 감산기(130), 변환부(140), 양자화부(145), 부호화부(150), 역양자화부(160), 역변환부(165), 가산기(170), 필터부(180) 및 메모리(190)를 포함하여 구성될 수 있다.
영상 부호화 장치의 각 구성요소는 하드웨어 또는 소프트웨어로 구현되거나, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 각 구성요소의 기능이 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
하나의 영상(비디오)는 복수의 픽처들로 구성된다. 각 픽처들은 복수의 영역으로 분할되고 각 영역마다 부호화가 수행된다. 예를 들어, 하나의 픽처는 하나 이상의 타일(Tile) 또는/및 슬라이스(Slice)로 분할된다. 여기서, 하나 이상의 타일을 타일 그룹(Tile Group)으로 정의할 수 있다. 각 타일 또는/슬라이스는 하나 이상의 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)들로 분할한 이후에, 트리 구조(tree structure)를 이용하여 CTU를 반복적으로(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) 구조가 사용될 수 있다. 여기서, BTTT를 합쳐서 MTT(Multiple-Type Tree)라 칭할 수 있다.
도 2는 QTBTTT 분할 트리 구조를 보인다. 도 2에서 보는 바와 같이, CTU는 먼저 QT 구조로 분할될 수 있다. 쿼드트리 분할은 분할 블록(splitting block)의 크기가 QT에서 허용되는 리프 노드의 최소 블록 크기(MinQTSize)에 도달할 때까지 반복될 수 있다. QT 구조의 각 노드가 하위 레이어의 4개의 노드들로 분할되는지 여부를 지시하는 제1 플래그(QT_split_flag)는 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다. QT의 리프 노드가 BT에서 허용되는 루트 노드의 최대 블록 크기(MaxBTSize)보다 크지 않은 경우, BT 구조 또는 TT 구조 중 어느 하나 이상으로 더 분할될 수 있다. BT 구조 및/또는 TT 구조에서는 복수의 분할 방향이 존재할 수 있다. 예컨대, 해당 노드의 블록이 가로로 분할되는 방향과 세로로 분할되는 방향 두 가지가 존재할 수 있다. 도 2와 같이, MTT 분할이 시작되면, 노드들이 분할되었는지 여부를 지시하는 제2 플래그(mtt_split_flag)와, 분할이 되었다면 추가적으로 분할 방향(vertical 혹은 horizontal)을 나타내는 플래그 및/또는 분할 타입(Binary 혹은 Ternary)을 나타내는 플래그가 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다.
트리 구조의 다른 예로서, QTBTTT 구조를 사용하여 블록을 분할하는 경우, 먼저 분할 되었음을 나타내는 CU 분할 플래그(split_cu_flag) 및 분할 타입이 QT 분할인지를 지시하는 QT 분할 플래그(split_qt_flag) 정보가 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다. CU 분할 플래그(split_cu_flag) 값이 분할되지 않았음을 지시하는 경우, 해당 노드의 블록이 분할 트리 구조에서의 리프 노드(leaf node)가 되어 부호화의 기본 단위인 CU(coding unit)가 된다. CU 분할 플래그(split_cu_flag) 값이 분할되었음을 지시하는 경우, QT 분할 플래그(split_qt_flag) 값을 통해 분할 타입이 QT 혹은 MTT인지를 구분한다. 분할 타입이 QT인 경우에는 더 이상의 추가 정보가 없으며, 분할 타입이 MTT인 경우에는 추가적으로 MTT 분할 방향(vertical 혹은 horizontal)을 나타내는 플래그(mtt_split_cu_vertical_flag) 및/또는 MTT 분할 타입(Binary 혹은 Ternary)을 나타내는 플래그(mtt_split_cu_binary_flag)가 부호화부(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)는 잔차블록의 전체 크기를 변환 단위로 사용하여 잔차블록 내의 잔차 신호들을 변환할 수 있으며, 또는 잔차블록을 변환 영역 및 비변환 영역인 두 개의 서브블록으로 구분하여, 변환 영역 서브블록만 변환 단위로 사용하여 잔차 신호들을 변환할 수 있다. 여기서, 변환 영역 서브블록은 가로축 (혹은 세로축) 기준 1:1의 크기 비율을 가지는 두 개의 직사각형 블록 중 하나일 수 있다. 이런 경우, 서브블록 만을 변환하였음을 지시하는 플래그(cu_sbt_flag), 방향성(vertical/horizontal) 정보(cu_sbt_horizontal_flag) 및/또는 위치 정보(cu_sbt_pos_flag)가 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다. 또한, 변환 영역 서브블록의 크기는 가로축 (혹은 세로축) 기준 1:3의 크기 비율을 가질 수 있으며, 이런 경우 해당 분할을 구분하는 플래그(cu_sbt_quad_flag)가 추가적으로 부호화부(150)에 의해 부호화되어 영상 복호화 장치로 시그널링된다.
변환부(140)는 복수의 변환타입 중 하나를 선택하여 잔차 신호들을 변환할 수 있다. 복수의 변환타입은 코사인 기반 변환(예: DCT-II, DCT-VIII 등), 사인 기반 변환(예: DST-VII)을 포함할 수 있다. 더 나아가, 변환부(140)는 변환을 스킵(skip)하고 공간 도메인의 잔차 신호를 그대로 양자화부(145)로 출력할 수도 있다.
양자화부(145)는 변환부(140)로부터 출력되는 변환 계수들을 양자화하고, 양자화된 변환 계수들을 부호화부(150)로 출력한다.
부호화부(150)는 양자화된 변환 계수들을 CABAC(Context-based Adaptive Binary Arithmetic Code) 등의 부호화 방식을 사용하여 부호화함으로써 비트스트림을 생성한다. 부호화부(150)는 블록 분할과 관련된 CTU size, CU 분할 플래그, QT 분할 플래그, MTT 분할 방향, MTT 분할 타입 등의 정보를 부호화하여, 영상 복호화 장치가 영상 부호화 장치와 동일하게 블록을 분할할 수 있도록 한다.
또한, 부호화부(150)는 현재블록이 인트라 예측에 의해 부호화되었는지 아니면 인터 예측에 의해 부호화되었는지 여부를 지시하는 예측 타입에 대한 정보를 부호화하고, 예측 타입에 따라 인트라 예측정보(즉, 인트라 예측 모드에 대한 정보) 또는 인터 예측정보(참조픽처 및 움직임벡터에 대한 정보)를 부호화한다. 또한, 부호화부(150)는 변환과 관련된 신택스 요소들을 부호화할 수 있다. 일례로서, 부호화부(150)는 잔차신호에 대한 변환이 스킵되는지 여부를 지시하는 변환 스킵 플래그, 변환이 스킵되지 않는 경우 복수의 변환타입 중 잔차신호를 변환하기 위해 사용된 변환타입을 지시하는 변환타입 정보 등을 부호화할 수 있다.
역양자화부(160)는 양자화부(145)로부터 출력되는 양자화된 변환 계수들을 역양자화하여 변환 계수들을 생성한다. 역변환부(165)는 역양자화부(160)로부터 출력되는 변환 계수들을 주파수 도메인으로부터 공간 도메인으로 변환하여 잔차블록을 복원한다.
가산부(170)는 복원된 잔차블록과 예측부(120)에 의해 생성된 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 픽셀들은 다음 순서의 블록을 인트라 예측할 때 참조 픽셀로서 사용된다.
필터부(180)는 블록 기반의 예측 및 변환/양자화로 인해 발생하는 블록킹 아티팩트(blocking artifacts), 링잉 아티팩트(ringing artifacts), 블러링 아티팩트(blurring artifacts) 등을 줄이기 위해 복원된 픽셀들에 대한 필터링을 수행한다. 필터부(180)는 디블록킹 필터(182)와 SAO(Sample Adaptive Offset) 필터(184)를 포함할 수 있다.
디블록킹 필터(180)는 블록 단위의 부호화/복호화로 인해 발생하는 블록킹 현상(blocking artifact)을 제거하기 위해 복원된 블록 간의 경계를 필터링하고, SAO 필터(184)는 디블록킹 필터링된 영상에 대해 추가적인 필터링을 수행한다. SAO 필터(184)는 손실 부호화(lossy coding)로 인해 발생하는 복원된 픽셀과 원본 픽셀 간의 차이를 보상하기 위해 사용되는 필터이다.
디블록킹 필터(182) 및 SAO 필터(184)를 통해 필터링된 복원블록은 메모리(190)에 저장된다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.
도 1에는 표현되지 않았으나, 영상 부호화 장치는 잔차블록 내 잔차신호들(샘플들)을 재배열하는 제어수단을 더 포함하여 구성될 수 있다. 이 제어수단은 도 1에 표현된 하위 구성들과 함께 동일한 물리적 구성(프로세서 등)에서 구현되거나, 도 1에 표현된 하위 구성들과는 다른 물리적 구성에서 구현될 수 있다. 제어수단에 대한 상세한 내용은 후술하도록 한다.
도 4는 본 개시의 기술들을 구현할 수 있는 영상 복호화 장치의 예시적인 블록도이다. 이하에서는 도 4를 참조하여 영상 복호화 장치와 이 장치의 하위 구성들에 대하여 설명하도록 한다.
영상 복호화 장치는 복호화부(410), 역양자화부(420), 역변환부(430), 예측부(440), 가산기(450), 필터부(460) 및 메모리(470)를 포함하여 구성될 수 있다.
도 1의 영상 부호화 장치와 마찬가지로, 영상 복호화 장치의 각 구성요소는 하드웨어 또는 소프트웨어로 구현되거나, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 각 구성요소의 기능이 소프트웨어로 구현되고 마이크로프로세서가 각 구성요소에 대응하는 소프트웨어의 기능을 실행하도록 구현될 수도 있다.
복호화부(410)는 영상 부호화 장치로부터 수신한 비트스트림을 복호화하여 블록 분할과 관련된 정보를 추출함으로써 복호화하고자 하는 현재블록을 결정하고, 현재블록을 복원하기 위해 필요한 예측정보와 잔차신호에 대한 정보 등을 추출한다.
복호화부(410)는 SPS(Sequence Parameter Set) 또는 PPS(Picture Parameter Set)로부터 CTU size에 대한 정보를 추출하여 CTU의 크기를 결정하고, 픽처를 결정된 크기의 CTU로 분할한다. 그리고, CTU를 트리 구조의 최상위 레이어, 즉, 루트 노드로 결정하고, CTU에 대한 분할정보를 추출함으로써 트리 구조를 이용하여 CTU를 분할한다.
예컨대, QTBTTT 구조를 사용하여 CTU를 분할하는 경우, 먼저 QT의 분할과 관련된 제1 플래그(QT_split_flag)를 추출하여 각 노드를 하위 레이어의 네 개의 노드로 분할한다. 그리고, QT의 리프 노드에 해당하는 노드에 대해서는 MTT의 분할과 관련된 제2 플래그(MTT_split_flag) 및 분할 방향(vertical / horizontal) 및/또는 분할 타입(binary / ternary) 정보를 추출하여 해당 리프 노드를 MTT 구조로 분할한다. 이를 통해 QT의 리프 노드 이하의 각 노드들을 BT 또는 TT 구조로 반복적으로(recursively) 분할한다.
또 다른 예로서, QTBTTT 구조를 사용하여 CTU를 분할하는 경우, 먼저 CU의 분할 여부를 지시하는 CU 분할 플래그(split_cu_flag)를 추출하고, 해당 블록이 분할된 경우, QT 분할 플래그(split_qt_flag)를 추출한다. 분할 타입이 QT가 아니고 MTT인 경우, MTT 분할 방향(vertical 혹은 horizontal)을 나타내는 플래그(mtt_split_cu_vertical_flag) 및/또는 MTT 분할 타입(Binary 혹은 Ternary)을 나타내는 플래그(mtt_split_cu_binary_flag)를 추가적으로 추출한다. 분할 과정에서 각 노드는 0번 이상의 반복적인 QT 분할 후에 0번 이상의 반복적인 MTT 분할이 발생할 수 있다. 예컨대, CTU는 바로 MTT 분할이 발생하거나, 반대로 다수 번의 QT 분할만 발생할 수도 있다.
다른 예로서, QTBT 구조를 사용하여 CTU를 분할하는 경우, QT의 분할과 관련된 제1 플래그(QT_split_flag)를 추출하여 각 노드를 하위 레이어의 네 개의 노드로 분할한다. 그리고, QT의 리프 노드에 해당하는 노드에 대해서는 BT로 더 분할되는지 여부를 지시하는 분할 플래그(split_flag) 및 분할 방향 정보를 추출한다.
한편, 복호화부(410)는 트리 구조의 분할을 통해 복호화하고자 하는 현재블록을 결정하게 되면, 현재블록이 인트라 예측되었는지 아니면 인터 예측되었는지를 지시하는 예측 타입에 대한 정보를 추출한다. 예측 타입 정보가 인트라 예측을 지시하는 경우, 복호화부(410)는 현재블록의 인트라 예측정보(인트라 예측 모드)에 대한 신택스 요소를 추출한다. 예측 타입 정보가 인터 예측을 지시하는 경우, 복호화부(410)는 인터 예측정보에 대한 신택스 요소, 즉, 움직임벡터 및 그 움직임벡터가 참조하는 참조픽처를 나타내는 정보를 추출한다.
한편, 복호화부(410)는 잔차신호에 대한 정보로서 현재블록의 양자화된 변환계수들에 대한 정보를 추출한다. 또한, 복호화부(410)는 변환과 관련된 신택스 요소들을 추출한다. 예컨대, 변환 스킵 플래그를 추출하고, 변환 스킵 플래그가 변환이 스킵되지 않음을 지시하면 변환타입 정보 등을 추출할 수 있다.
역양자화부(420)는 양자화된 변환계수들을 역양자화하고, 역변환부(430)는 역양자화된 변환계수들을 주파수 도메인으로부터 공간 도메인으로 역변환하여 잔차신호들을 복원함으로써 현재블록에 대한 잔차블록을 생성한다. 역변환은 복호화부(410)에 의해 추출된 변환 관련 신택스 요소들에 기반하여 수행될 수 있다. 예컨대, 변환 스킵 플래그가 변환 스킵을 지시하면, 역변환부(430)에 의한 역변환은 스킵된다. 이 경우, 역양자화 과정을 거친 블록(역양자화된 변환계수들로 구성된 블록)이 잔차블록으로서 출력된다. 변환 스킵 플래그가 변환이 수행됨을 지시하면, 역변환부(430)는 변환타입 정보에 의해 지시되는 변환타입에 따라 역변환을 수행한다. 예컨대, 역변환부(430)는 변환타입이 DCT-II를 지시하면 DCT-II 기반의 변환 매트릭스를 이용하여 역변환을 수행함으로써 잔차블록을 생성하고, 변환 타입이 DST-VII를 지시하면 DST-VII 기반의 변환 매트릭스를 이용하여 역변환을 수행함으로써 잔차블록을 생성한다.
또한, 역변환부(430)는 변환블록의 일부 영역(서브블록)만 역변환하는 경우, 변환블록의 서브블록만을 변환하였음을 지시하는 플래그(cu_sbt_flag), 서브블록의 방향성(vertical/horizontal) 정보(cu_sbt_horizontal_flag) 및/또는 서브블록의 위치 정보(cu_sbt_pos_flag)를 추출하여, 해당 서브블록의 변환계수들을 주파수 도메인으로부터 공간 도메인으로 역변환함으로써 잔차신호들을 복원하고, 역변환되지 않은 영역에 대해서는 잔차신호로 "0" 값을 채움으로써 현재블록에 대한 최종 잔차블록을 생성한다.
예측부(440)는 인트라 예측부(442) 및 인터 예측부(444)를 포함할 수 있다. 인트라 예측부(442)는 현재블록의 예측 타입이 인트라 예측일 때 활성화되고, 인터 예측부(444)는 현재블록의 예측 타입이 인터 예측일 때 활성화된다.
인트라 예측부(442)는 복호화부(410)로부터 추출된 인트라 예측 모드에 대한 신택스 요소로부터 복수의 인트라 예측 모드 중 현재블록의 인트라 예측 모드를 결정하고, 인트라 예측 모드에 따라 현재블록 주변의 참조 픽셀들을 이용하여 현재블록을 예측한다.
인터 예측부(444)는 복호화부(410)로부터 추출된 인트라 예측 모드에 대한 신택스 요소를 이용하여 현재블록의 움직임벡터와 그 움직임벡터가 참조하는 참조픽처를 결정하고, 움직임벡터와 참조픽처를 이용하여 현재블록을 예측한다.
가산기(450)는 역변환부로부터 출력되는 잔차블록과 인터 예측부 또는 인트라 예측부로부터 출력되는 예측블록을 가산하여 현재블록을 복원한다. 복원된 현재블록 내의 픽셀들은 이후에 복호화할 블록을 인트라 예측할 때의 참조픽셀로서 활용된다.
필터부(460)는 디블록킹 필터(462) 및 SAO 필터(464)를 포함할 수 있다. 디블록킹 필터(462)는 블록 단위의 복호화로 인해 발생하는 블록킹 현상(blocking artifact)를 제거하기 위해, 복원된 블록 간의 경계를 디블록킹 필터링한다. SAO 필터(464)는 손실 부호화(lossy coding)으로 인해 발생하는 복원된 픽셀과 원본 픽셀 간의 차이를 보상하기 위해, 디블록킹 필터링 이후의 복원된 블록에 대해 추가적인 필터링을 수행한다. 디블록킹 필터(462) 및 SAO 필터(464)를 통해 필터링된 복원블록은 메모리(470)에 저장된다. 한 픽처 내의 모든 블록들이 복원되면, 복원된 픽처는 이후에 부호화하고자 하는 픽처 내의 블록을 인터 예측하기 위한 참조 픽처로 사용된다.
도 4에는 표현되지 않았으나, 영상 복호화 장치는 잔차블록 내 잔차신호들을 재배열하는 제어수단을 더 포함하여 구성될 수 있다. 이 제어수단은 도 4에 표현된 하위 구성들과 함께 동일한 물리적 구성(프로세서 등)에서 구현되거나, 도 4에 표현된 하위 구성들과는 다른 물리적 구성에서 구현될 수 있다. 제어수단에 대한 상세한 내용은 후술하도록 한다.
한편, 영상 복호화 장치에 포함되는 제어수단은 영상 부호화 장치에 포함되는 전술된 제어수단과 그 기능 측면에서 대응되는 구성에 해당한다. 이하에서는, 영상 복호화 장치에 포함되는 제어수단과 영상 부호화 장치에 포함되는 제어수단을 용이하게 구별하기 위하여, 영상 복호화 장치에 포함되는 제어수단을 복호화 제어수단으로 지칭하며, 영상 부호화 장치에 포함되는 제어수단을 부호화 제어수단으로 지칭하도록 한다.
이하에서는, 잔차블록 내의 잔차신호들을 재정렬 또는 재배열하기 위한 본 발명의 실시예들에 대해 설명하도록 한다.
HEVC 표준(종래 방법)은 세 가지 종류의 변환타입(DCT, DST 및 transform skip)을 이용하여 변환/역변환을 수행한다. 도 5에는 DCT 및 DST에 대한 기저함수(basis function)들이 표현되어 있으며, 기저함수들은 코사인(cosine) 그래프와 사인(sine) 그래프의 주기를 변화시켜 표현되었다.
DCT 변환타입에서는 도 5 (a)에 표현된 기저함수들이 이용되어 입력신호 값이 계수신호 값으로 변환된다. DST 변환타입에서는 도 5 (b)에 표현된 기저함수들이 이용되어 입력신호 값이 계수신호 값으로 변환된다. 변환 대상인 입력신호가 기저함수의 파형과 유사한 모습을 보이면, 변환이 효율적으로 처리될 수 있다. 즉, 입력신호가 기저함수의 파형과 유사한 모습을 보이면, 출력되는 계수신호 값들의 총량이 감소하여 압축 성능이 향상될 수 있다.
비디오 부호화 표준에서, 변환 대상인 입력신호는 예측 이후의 잔차신호가 된다. 따라서, 잔차신호의 모양/모습/파형(잔차신호 값들의 모양/모습/파형)에 따라, 변환타입들 중 변환이 효율적으로 처리될 수 있는 변환타입이 존재할 수 있다. 이를 구체적으로 설명하기 위한 예가 도 6에 표현되어 있다.
도 6 (a)에 표현된 바와 같이, 인트라 예측에서, 부호화/복호화 대상 픽셀들(a, b, c, d) 값과 참조샘플(빗금이 표현된 원) 값 사이의 차이 값(에러 값)은 참조샘플로부터의 거리를 기준으로 증가할 수 있다. 구체적으로, 참조샘플에 인접한 픽셀일수록 예측 정확도가 높아 에러 값이 상대적으로 작으며, 참조샘플에 먼 픽셀일수록 예측 정확도가 낮아 에러 값이 상대적으로 커질 수 있다. 참조샘플과의 거리를 기준으로, 에러 값의 차이를 표현하면, 도 6 (a)의 2점 쇄선과 같이 우상향 직선으로 표현될 수 있다.
2점 쇄선을 DCT 기저함수들의 파형과 비교한 예가 도 6 (b)에 표현되어 있으며, 2점 쇄선을 DST 기저함수들의 파형과 비교한 예가 도 6 (c)에 표현되어 있다. 2점 쇄선은 거리(distance)가 증가할수록 그 크기(magnitude)가 증가하는 양상을 보이며, DCT 기저함수의 파형은 거리가 증가할수록 그 크기가 감소하는 양상을 보이고, DST 기저함수의 파형은 거리가 증가할수록 그 크기가 증가하는 양상을 보인다. 따라서, 에러 값이 점차 증가하는 잔차신호 값들에 적합한 변환타입은 DST 변환타입임을 알 수 있다.
Skip 타입(transform skip)의 경우에는 잔차신호 값들의 분포가 잔차블록의 좌상측으로부터 우하측으로 갈수록 작아지는 형태가 적합할 수 있다. 변환계수를 부호화하는 종래의 방식은 저주파 영역에 계수 값이 많이 분포하고 고주파 영역에 계수 값이 분포하지 않는 경우에 적합하기 때문이다.
본 발명은 이러한 특성(잔차신호 값들의 크기 분포와 변환타입 간의 상관관계)에 착안하여, 변환타입에 더욱 적합한 배열이 되도록 잔차신호들을 재배열하는 방법들을 제안한다.
실시예 1
영상 부호화 장치(감산기, 130)는 현재블록과 이 현재블록의 예측블록을 차분하여 현재블록에 대한 잔차블록을 도출할 수 있다. 도출된 잔차블록에는 하나 이상의 잔차신호(샘플)들이 포함될 수 있다.
영상 부호화 장치(부호화 제어수단)는 잔차블록에 적용될 변환타입에 적합하도록 잔차신호들의 배열 또는 분포를 조정 또는 재배열할 수 있다. 재배열 타입에는 교환타입, 이동타입 등이 포함될 수 있으며, 이동타입에는 다양한 형태의 반전타입 및 시프팅타입 중 하나 이상이 포함될 수 있다. 교환타입은 이동타입에 포함되거나 이동타입과 동일한 재배열 방식으로 이해될 수 있다. 재배열 타입에 대한 구체적인 예는 후술하도록 한다.
영상 부호화 장치(변환부, 140)는 재배열된 잔차신호들을 변환타입에 적용하여 변환계수들(변환블록)을 도출할 수 있다. 변환타입이 Skip 타입인 경우, 변환계수들은 잔차신호들에 해당할 수 있다. 영상 부호화 장치(부호화부, 150)는 변환블록에 적용된 변환타입을 지시하는 정보(변환타입 정보) 및 변환계수들(양자화된 변환계수들)을 비트스트림에 포함시켜 영상 복호화 장치로 시그널링할 수 있다.
복호화부(410)는 변환타입 정보와 변환계수들을 비트스트림으로부터 복호화할 수 있다(S710). 역변환부(430)는 변환타입들(DCT, DST, Skip) 중 변환타입 정보가 지시하는 변환타입(변환타입 정보에 의해 지시되는 변환타입)에 따라 변환계수들(변환블록)을 역변환하여 잔차블록을 도출할 수 있다(S720).
복호화 제어수단은 하나 이상의 재배열 타입 중 어느 하나에 따라, 잔차블록 내의 잔차신호들을 재배열할 수 있다(S730). 재배열된 잔차신호들(재배열된 잔차블록)은 영상 부호화 장치에서 재배열되기 전의 잔차신호들과 동일한 배열 또는 분포를 가질 수 있다. 재배열된 잔차블록이 예측부(440)에서 도출되는 예측블록과 합산됨으로써 현재블록이 복원될 수 있다.
재배열 타입
앞서 언급된 바와 같이, 잔차신호들을 재배열하는 방법(재배열 타입)에는 잔차신호들을 교환하거나(교환타입) 이동시키는 타입(이동타입)이 존재할 수 있으며, 이동타입에는 잔차신호들을 반전 이동시키거나 시프트 이동시키는 타입들이 존재할 수 있다. 잔차신호들을 반전 이동시키는 타입(반전타입)과 시프트 이동시키는 타입(시프팅타입)에 대한 예가 도 8 내지 도 10에 표현되어 있다.
도 8에 표현된 바와 같이, (반전되기 전) 잔차블록(Residual block)이 4x4의 잔차신호(샘플)들로 구성되는 예에서, 각 샘플들에 표현된 숫자들을 이용하여 각 샘플들의 위치를 표현하였다.
반전타입에는, 잔차블록의 수평 중심 직선(수평 중심 축, 점선)을 기준으로 상측 샘플들과 하측 샘플들을 반전 이동시키는 수평 반전타입(horizontal flip(H-flip), 도 8 (a)), 잔차블록의 수직 중심 직선(수직 중심 축, 점선)을 기준으로 좌측 샘플들과 우측 샘플들을 반전 이동시키는 수직 반전타입(vertical flip(V-flip), 도 8 (b)), 잔차블록의 우상향 대각선(점선)을 기준으로 좌상측 샘플들과 우하측 샘플들을 반전 이동시키는 타입(diagonal-up flip(Dup-flip), 도 8 (c)), 잔차블록의 우하향 대각선(점선)을 기준으로 좌하측 샘플들과 우상측 샘플들을 반전 이동시키는 타입(diagonal-down flip(Ddw-flip), 도 8 (d)) 및 잔차블록에 대해 수직 반전과 수평 반전이 모두 적용되는 수평-수직 반전타입(horizontal-vertical flip(HV-flip), 도 8 (f)) 중 하나 이상이 포함될 수 있다. 또한, 반전타입에는 잔차신호가 반전되지 않는(아무런 변화가 발생하지 않는) 반전타입(N-flip, 도 8 (e))이 더 포함될 수도 있다.
다양한 반전타입들 중에서 Dup-flip 타입을 이용하여 잔차신호들을 재배열하는 예가 도 10 (a) 및 (b)에 표현되어 있다. 도 10 (a) 및 (b)에서, 빗금이 표현된 샘플들은 잔차신호의 값이 상대적으로 큰(에너지가 상대적으로 높은) 샘플을 의미한다.
상대적으로 높은 에너지를 가지는 샘플들이 잔차블록의 좌상측에 위치하고 상대적으로 낮은 에너지를 가지는 샘플들이 잔차블록의 우하측에 위치한 상태에서(도 10 (a)), Dup-flip 반전타입이 적용되면, 상대적으로 높은 에너지를 가지는 샘플들이 잔차블록의 우하측으로 반전 이동되고 상대적으로 낮은 에너지를 가지는 샘플들이 잔차블록의 좌상측으로 반전 이동될 수 있다(도 10 (b)).
재배열된 잔차블록을 기준으로 보면, 가로축 방향 및 세로축 방향 모두에서 잔차신호들의 값이 증가하게 된다. 따라서, 두 방향 모두에서, 잔차신호들이 DST에 적합한 에너지 형태로 재배열됨을 알 수 있다.
도 9에 표현된 바와 같이, (시프팅되기 전) 잔차블록(Residual block)이 4x4의 잔차신호(샘플)들로 구성되는 예에서, 각 샘플들에 표현된 숫자들을 이용하여 각 샘플들의 위치를 표현하였다.
시프팅타입에는, 잔차블록의 수평 중심 직선(수평 중심 축, 점선)을 기준으로 상측 샘플들과 하측 샘플들을 시프팅 이동시키는 수평 시프팅타입(horizontal shift(H-shift), 도 9 (a)), 잔차블록의 수직 중심 직선(수직 중심 축, 점선)을 기준으로 좌측 샘플들과 우측 샘플들을 시프팅 이동시키는 수직 시프팅타입(vertical shift(V-shift), 도 9 (b)), 잔차블록의 우상향 대각선(점선)을 기준으로 좌상측 샘플들과 우하측 샘플들을 시프팅 이동시키는 타입(diagonal-up shift(Dup-shift), 도 9 (c)), 잔차블록의 우하향 대각선(점선)을 기준으로 좌하측 샘플들과 우상측 샘플들을 시프팅 이동시키는 타입(diagonal-down shift(Ddw-shift), 도 9 (d)) 및 잔차블록에 대해 수직 시프팅과 수평 시프팅이 모두 적용되는 수평-수직 시프팅타입(horizontal-vertical shift(HV-shift), 도 9 (f)) 중 하나 이상이 포함될 수 있다. 또한, 시프팅타입에는 잔차신호가 시프팅 이동되지 않는(아무런 변화가 발생하지 않는) 시프팅타입(N-shift, 도 9 (e))이 더 포함될 수도 있다.
다양한 시프팅타입들 중에서 Ddw-shift 타입을 이용하여 잔차신호들을 재배열하는 예가 도 10 (c) 및 (d)에 표현되어 있다. 도 10 (c) 및 (d)에서, 빗금이 표현된 샘플들은 잔차신호의 값이 상대적으로 큰(에너지가 상대적으로 높은) 샘플을 의미한다.
상대적으로 높은 에너지를 가지는 샘플들이 잔차블록의 좌하측에 위치하고 상대적으로 낮은 에너지를 가지는 샘플들이 잔차블록의 우상측에 위치한 상태에서(도 10 (c)), Ddw-shift 타입이 적용되면, 상대적으로 높은 에너지를 가지는 샘플들이 잔차블록의 우상측으로 시프팅 이동되고 상대적으로 낮은 에너지를 가지는 샘플들이 잔차블록의 좌하측으로 시프팅 이동될 수 있다(도 10 (d)).
재배열된 잔차블록을 기준으로 보면, 가로축 방향에서 잔차신호들의 값이 증가하게 되어 잔차신호들이 DST에 적합한 에너지 형태로 재배열됨을 알 수 있고, 세로축 방향에서 잔차신호들의 값이 감소하게 되어 잔차신호들이 DCT에 적합한 에너지 형태로 재배열됨을 알 수 있다.
예측모드 및 예측방향
(재배열되기 전) 잔차신호들의 분포 또는 배열은 현재블록의 예측모드 및/또는 예측방향에 따라 달라질 수 있다. 예측모드 및/또는 예측방향에 따라 잔차신호들의 배열이 달라지면, 특정 변환타입에 적합한 재배열 타입 또한, 달라질 수 있다. 여기서, 예측모드란 현재블록의 예측모드가 인터 예측인지 인트라 예측인지 여부를 의미할 수 있으며, 예측방향이란 현재블록의 예측모드가 인트라 예측인 경우에 인트라 예측방향을 의미할 수 있다.
도 11에 표현된 바와 같이, 현재블록의 예측모드가 인트라 예측인 경우에, 잔차신호들의 분포 형태는 인트라 예측 방향에 따라 세 가지 카테고리((A), (B) 및 (C))로 구분될 수 있다. (A)는 수평 지향 모드(Horizontal intra, up-diagonal intra)로서, 잔차블록 내에서 좌측으로부터 우측으로 갈수록 잔차신호 값들이 점차 증가하는 양상을 보일 수 있다. (C)는 수직 지향 모드(Vertical intra, down-diagonal intra)로서, 잔차블록 내에서 상측으로부터 하측으로 갈수록 잔차신호 값들이 점차 증가하는 양상을 보일 수 있다. (B)는 대각 지향 모드(Diagonal intra)로서, 잔차블록 내에서 좌상측으로부터 우하측으로 갈수록 잔차신호 값들이 증가하는 양상을 보일 수 있다. 인트라 예측인 경우의 비방향성 모드(Non-directional intra) 및 인터 예측(inter)은 별도의 카테고리로 구분될 수 있다.
예측모드와 예측방향에 따라 구분되는 카테고리들을 정리하면, 아래 표 1과 같다.
Figure pat00001
영상 부호화 장치는 현재블록의 예측모드 및/또는 예측방향을 기준으로 잔차신호들의 분포 또는 배열 형태를 판단하고, 잔차신호들의 배열 형태 및/또는 변환타입에 적합한 재배열 타입을 결정한 후, 결정된 재배열 타입을 잔차블록에 적용하여 잔차신호들을 재배열할 수 있다.
현재블록의 예측모드 및/또는 예측방향에 대한 정보(예측정보)는 비트스트림에 포함되어 영상 부호화 장치로부터 영상 복호화 장치로 시그널링될 수 있다.
영상 복호화 장치는 변환타입 정보와 변환계수들에 더하여, 예측정보를 비트스트림으로부터 더 복호화할 수 있다. 또한, 영상 복호화 장치는 변환타입 정보와 예측정보 중 하나 이상에 근거하여 잔차블록의 재배열에 적용될 수 있는 하나 이상의 재배열 타입들을 결정할 수 있다. 구체적으로, 영상 복호화 장치는 현재블록의 예측모드 및/또는 예측방향을 기준으로 잔차신호들의 분포 또는 배열 형태를 판단하고, 잔차신호들의 배열 형태 및/또는 변환타입에 적합한 재배열 타입을 결정한 후, 결정된 재배열 타입을 잔차블록에 적용하여 잔차신호들을 재배열할 수 있다.
실시형태에 따라, 영상 부호화/복호화 장치는 적용 가능한 재배열 타입들을 예측정보 및/또는 변환타입 정보에 따라 미리 구분하여 카테고리화할 수 있다. 이와 같은 경우, 영상 부호화 장치는 현재블록의 예측정보 및/또는 변환타입 정보에 대응되는 카테고리를 선정하고, 선정된 카테고리에 포함되어 있는 하나 이상의 재배열 타입들 중 재배열에 적용된 재배열 타입에 대한 정보를 영상 복호화 장치로 시그널링할 수 있다. 영상 복호화 장치는 미리 정의된 카테고리들 중 시그널링된 예측정보 및/또는 변환타입 정보에 대응되는 카테고리를 선정하고, 선정된 카테고리에 포함되어 있는 하나 이상의 재배열 타입들 중 시그널링된 재배열 타입 정보가 지시하는 재배열 타입을 잔차블록에 적용하여 잔차신호들을 재배열할 수 있다.
이하에서는, 예측정보 및 변환타입 정보를 이용하여 재배열 타입들을 선정하는 예를 각 변환타입 별로 구분하여 설명하도록 한다.
Skip 타입
전술된 바와 같이, 변환타입이 Skip 타입인 경우에는 잔차블록의 좌상측으로부터 우하측 방향으로 잔차신호들의 값이 감소하는 형태가 적합할 수 있다.
따라서, 변환타입이 Skip 타입이고 인트라 예측방향이 수평 지향 모드(A)이면, 잔차블록의 좌측에 위치한 잔차신호들과 우측에 위치한 잔차신호들을 서로 교환하거나 서로 이동시키는 재배열 타입이 적합할 수 있다. 또한, 변환타입이 Skip 타입이고 인트라 예측방향이 수직 지향 모드(C)이면, 잔차블록의 상측에 위치한 잔차신호들과 하측에 위치한 잔차신호들을 서로 교환하거나 서로 이동시키는 재배열 타입이 적합할 수 있다. 나아가, 변환타입이 Skip 타입이고 인트라 예측방향이 대각 지향 모드(B)이면, 잔차블록의 좌상측에 위치한 잔차신호들과 우하측에 위치한 잔차신호들을 서로 교환하거나 서로 이동시키는 재배열 타입이 적합할 수 있다.
Skip 타입에 적합한 재배열 타입들을 전술된 카테고리들을 기준으로 구분하면 아래 표 2 내지 표 6과 같다. 표 2 내지 표 6에서는 재배열 타입들 중 반전타입과 시프팅타입을 예로 들었다.
Figure pat00002
Figure pat00003
Figure pat00004
Figure pat00005
Figure pat00006
표 2 및 표 3에서, 대각 지향 모드(B)의 경우에 Dup-flip을 Ddw-flip 또는 HV-flip로 대체 가능하며, 비방향성/인터 모드(D)의 경우에 Dup-flip 및 Ddw-flip를 HV-flip로 대체 가능하다. 표 4에서, 수평 지향 모드(A) 및 수직 지향 모드(C)의 경우에 Dup-flip을 Ddw-flip 또는 HV-flip로 대체 가능하며, 대각 지향 모드(B) 및 비방향성/인터 모드(D)의 경우에 Dup-flip 및 Ddw-flip를 HV-flip로 대체 가능하다.
표 2 내지 표 5에서, 모든 반전타입들은 동일한 방식의 시프팅타입들로 대체 가능하다. 표 6에서, 대각 지향 모드(B)의 경우에 Dup-flip을 Ddw-flip으로 대체 가능하며, Dup-shift를 Ddw-shift로 대체 가능하다. 또한, 비방향성/인터 모드(D)의 경우에 Dup-flip 및 Ddw-flip을 HV-flip로 대체 가능하다. 또한, 비방향성/인터 모드(D)의 경우에 모든 반전타입들은 동일한 방식의 시프팅타입들로 대체 가능하다. 나아가, 모든 카테고리에 N-flip이 추가될 수 있다.
한편, 표 2, 표 4 및 표 6에는 N-flip이 포함되어 있지 않으나, 표 3 및 표 5에는 N-flip이 포함되어 있다. 이러한 차이점으로 인하여, 재배열 타입 정보를 시그널링하는 방식에 차이가 발생할 수 있다. 재배열 타입 정보를 시그널링하는 방식에 대해서는 후술하도록 한다.
DST 타입
전술된 바와 같이, 변환타입이 DST 타입인 경우에는 잔차블록의 좌측으로부터 우측 방향으로, 또는 상측으로부터 하측 방향으로 잔차신호들의 값이 증가하는 형태가 적합할 수 있다.
따라서, 변환타입이 DST이고 인트라 예측방향이 수평 지향 모드(A)이면, 잔차블록의 상측에 위치한 잔차신호들과 하측에 위치한 잔차신호들을 서로 교환하거나 서로 이동시키는 재배열 타입이 적합할 수 있다. 또한, 변환타입이 DST이고 인트라 예측방향이 수직 지향 모드(C)이면, 잔차블록의 좌측에 위치한 잔차신호들과 우측에 위치한 잔차신호들을 서로 교환하거나 서로 이동시키는 재배열 타입이 적합할 수 있다.
DST 타입에 적합한 재배열 타입들을 전술된 카테고리들을 기준으로 구분하면 아래 표 7 내지 표 9과 같다. 표 7 내지 표 9에서는 재배열 타입들 중 반전타입과 시프팅타입을 예로 들었다.
Figure pat00007
Figure pat00008
Figure pat00009
표 7 내지 표 9에서, 비방향성/인터 모드(D)의 경우에 Dup-flip 및 Ddw-flip을 HV-flip으로 대체 가능하다. 표 7 및 표 8에서, 모든 반전타입들은 동일한 방식의 시프팅타입들로 대체 가능하다. 표 9에서, 모든 카테고리에 N-flip이 추가될 수 있다.
한편, 표 7 및 표 9에는 N-flip이 포함되어 있지 않으나, 표 8에는 N-flip이 포함되어 있다. 이러한 차이점으로 인하여, 재배열 타입 정보를 시그널링하는 방식에 차이가 발생할 수 있으며, 시그널링하는 방식에 대해서는 후술하도록 한다.
DCT 타입
전술된 바와 같이, 변환타입이 DCT 타입인 경우에는 잔차블록의 좌측으로부터 우측 방향으로, 또는 상측으로부터 하측 방향으로 잔차신호들의 값이 감소하는 형태가 적합할 수 있다.
따라서, 변환타입이 DCT이고 인트라 예측방향이 수평 지향 모드(A)이면, 잔차블록의 좌측에 위치한 잔차신호들과 우측에 위치한 잔차신호들을 서로 교환하거나 서로 이동시키는 재배열 타입이 적합할 수 있다. 또한, 변환타입이 DCT이고 인트라 예측방향이 수직 지향 모드(C)이면, 잔차블록의 상측에 위치한 잔차신호들과 하측에 위치한 잔차신호들을 서로 교환하거나 서로 이동시키는 재배열 타입이 적합할 수 있다. 나아가, 변환타입이 DCT이고 인트라 예측방향이 대각 지향 모드(B)이면, 잔차블록의 좌상측에 위치한 잔차신호들과 우하측에 위치한 잔차신호들을 서로 교환하거나 서로 이동시키는 재배열 타입이 적합할 수 있다.
카테고리들을 기준으로 DCT 타입에 적합한 재배열 타입들을 구분하면, 전술된 표 2 내지 표 6과 같으며, 대체 가능성 또한 표 2 내지 표 6을 통해 설명된 바와 같다.
재배열 타입 정보 시그널링
앞서 설명된 바와 같이, 본 발명에서 이용되는 재배열 타입에는 교환타입, 이동타입이 포함될 수 있으며, 이동타입에는 반전타입과 시프팅타입이 포함될 수 있다.
영상 복호화 장치는 영상 부호화 장치로부터 재배열 타입 정보를 제공(시그널링) 받아 잔차블록에 적용된 재배열 타입을 파악하거나, 재배열 타입 정보의 제공 없이 잔차블록에 적용된 재배열 타입을 파악할 수도 있다.
재배열 타입 정보의 제공이 없는 예에는 잔차블록에 적용될 재배열 타입이 영상 부호화/복호화 장치에 미리 설정된 경우가 포함될 수 있다. 또한, 표 2 내지 표 9를 통해 설명된 예에서, 예측정보 및/또는 변환타입 정보에 의해 선정된 카테고리에 재배열 타입이 하나만 포함되어 있는 경우에도 재배열 타입 정보의 제공이 이루어지지 않을 수 있다. 나아가, 표 7 및 표 9를 통해 설명된 예에서, 대각 지향 모드(B)에 재배열 타입이 정의(포함)되어 있지 않은 경우에도 재배열 타입 정보의 제공이 이루어지지 않을 수 있다.
재배열 타입 정보가 제공되는 예에는, 1) 재배열 타입 정보만이 시그널링되는 경우, 2) 재배열이 허용되는지 여부를 지시하는 인에이블 정보, 재배열 타입 정보 및 재배열이 적용되는지 여부를 지시하는 적용정보가 시그널링되는 경우, 3) 인에이블 정보 및 재배열 타입 정보가 시그널링되는 경우 등이 포함될 수 있다. 재배열 타입 정보는 적용 가능한 재배열 타입 정보들(하나 이상의 재배열 타입들)의 개수에 따라 인덱스, 플래그 등 다양한 형태로 이루어질 수 있다.
a. 재배열 타입 정보만이 시그널링되는 경우
영상 부호화 장치는 잔차블록에 적용된 재배열 타입에 대한 정보를 비트스트림에 포함시켜 영상 복호화 장치로 시그널링할 수 있다. 영상 복호화 장치는 재배열 타입 정보를 복호화하고, 하나 이상의 재배열 타입 정보들 중에서 복호화된 재배열 타입 정보가 지시하는 재배열 타입에 따라 잔차신호들을 재배열할 수 있다.
b. 인에이블 정보, 적용정보 및 재배열 타입 정보가 시그널링되는 경우
영상 부호화 장치는 재배열이 허용되는지 여부를 지시하는 인에이블 정보(예: residual_flipping_enabled_flag)를 시그널링할 수 있다. 인이에블 정보는 High-level syntax로써 정의되어 시그널링될 수 있다. 인에이블 정보가 재배열이 허용됨을 지시하는 경우(on), 영상 부호화 장치는 해당하는 잔차블록(또는 변환블록)에 재배열이 적용되는지 여부를 지시하는 적용정보(예: residual_flipping_flag)를 잔차블록(또는 변환블록) 별로 정의하여 시그널링할 수 있다. 적용정보는 해당하는 변환블록의 헤더 위치에 정의될 수 있다. 적용정보가 on인 경우, 영상 부호화 장치는 해당하는 잔차블록(또는 변환블록)에 적용된 재배열 타입 정보(예: residual_flipping_idx)를 시그널링할 수 있다.
영상 복호화 장치는 비트스트림으로부터 복호화된 인에이블 정보의 on/off 여부를 판단할 수 있다(S1210). 인에이블 정보가 on인 경우, 영상 복호화 장치는 비트스트림으로부터 적용정보를 복호화할 수 있다(S1220). 적용정보가 on인 경우(S1230), 영상 복호화 장치는 비트스트림으로부터 재배열 타입 정보를 복호화할 수 있다(S1240). 영상 복호화 장치는 적용 가능한 하나 이상의 재배열 타입들 중 재배열 타입 정보가 지시하는 재배열 타입에 따라 잔차신호들을 재배열할 수 있다(S1250).
c. 인에이블 정보 및 재배열 타입 정보가 시그널링되는 경우
영상 부호화 장치는 인에이블 정보를 시그널링할 수 있다. 인이에블 정보는 High-level syntax로써 정의되어 시그널링될 수 있다. 인에이블 정보가 on인 경우, 영상 부호화 장치는 잔차블록(또는 변환블록)에 적용된 재배열 타입 정보를 시그널링할 수 있다. 영상 복호화 장치는 인에이블 정보가 on인 경우(S1310), 비트스트림으로부터 재배열 타입 정보를 복호화할 수 있다(S1320). 또한, 영상 복호화 장치는 적용 가능한 하나 이상의 재배열 타입들 중 재배열 타입 정보가 지시하는 재배열 타입에 따라 잔차신호들을 재배열할 수 있다(S1330).
인에이블 정보 및 재배열 타입 정보만이 시그널링되는 경우에, 적용 가능한 재배열 타입들에는 재배열이 발생하지 않음을 나타내는 N-재배열 타입(예: N-flip, N-shift)이 포함될 수 있다. 이와 같은 경우, 영상 부호화 장치는 N-재배열 타입을 지시하는 재배열 타입 정보를 시그널링하고, 영상 복호화 장치는 해당 재배열 타입 정보가 N-재배열 타입을 지시하는 경우에 잔차신호들에 대한 재배열을 수행하지 않을 수 있다.
한편, 본 발명에서 제안하는 재배열 타입 구분들(표 2 내지 표 9) 중 표 3, 표 5 및 표 8의 재배열 타입 구분에는 N-재배열 타입이 포함되어 있으나, 나머지 재배열 타입 구분(표 2, 표 4, 표 6, 표 7 및 표 9)에는 N-재배열 타입이 포함되어 있지 않다. 따라서, 표 3, 표 5 및 표 8의 재배열 타입 구분은 적용정보가 시그널링되지 않는 실시예(c 실시예)에 적합할 수 있으며, 표 2, 표 4, 표 6, 표 7 및 표 9의 재배열 타입 구분은 적용정보가 시그널링되는 실시예(b 실시예)에 적합할 수 있다.
물론, 표 6의 재배열 타입 구분에 N-재배열 타입이 포함되거나 표 9의 재배열 타입 구분에 N-재배열 타입이 포함되는 경우에는 표 6 및 표 9의 재배열 타입 구분 또한 c 실시예에 적합할 수 있다.
실시예 2
실시예 2는 인터 예측의 양방향 예측에서 양방향 각각의 참조블록들 사이의 에러 값과 잔차블록의 에너지 분포 사이에 상관관계가 존재함을 이용하여, 잔차블록 내 잔차신호들을 재배열하는 방법에 해당한다.
인터 예측의 양방향 예측 시, 영상 부호화/복호화 장치는 양방향(L1 방향 및 L0 방향) 각각의 참조블록들(참조블록 L0 및 참조블록 L1)을 평균하거나 가중 연산하여 예측블록을 생성하고, 현재블록과 예측블록을 차분하여 잔차블록을 생성할 수 있다. 이 경우, 참조블록 L0와 참조블록 L1 사이의 에러 값이 큰 영역은 예측이 상대적으로 부정확한 영역에 해당하고, 참조블록 L0와 참조블록 L1 사이의 에러 값이 작은 영역은 예측이 상대적으로 정확한 영역에 해당할 수 있다.
예측이 상대적으로 부정확하게 되면 현재블록과의 차분을 통해 상대적으로 큰 에너지를 가지는 잔차신호 값들이 유도될 수 있으며, 예측이 상대적으로 정확하게 되면 상대적으로 작은 에너지를 가지는 잔차신호 값들이 유도될 수 있다. 결론적으로, 참조블록 L0와 참조블록 L1 사이의 에러 값이 큰 영역은 큰 에너지를 가지는 잔차신호 값들로 귀결되며, 참조블록 L0와 참조블록 L1 사이의 에러 값이 작은 영역은 작은 에너지를 가지는 잔차신호 값들로 귀결될 수 있다.
따라서, 영상 부호화/복호화 장치는 참조블록 L0와 참조블록 L1 사이의 에러 값 크기를 기준으로 잔차블록 내 잔차신호 값들의 분포를 파악할 수 있으며, 파악된 결과를 이용하여 잔차신호들을 변환타입에 적합한 분포로 재배열할 수 있다.
실시예 2의 경우, 잔차신호들을 재배열하기 위해 영상 부호화 장치로부터 영상 복호화 장치로 시그널링되는 추가적인 정보가 요구되지 않을 수 있다. 영상 복호화 장치도 양방향 각각의 참조블록들에 대한 정보를 자체적으로 파악할 수 있고, 두 참조블록들 사이의 에러 값을 계산하여 재배열 기준으로 활용할 수 있기 때문이다.
실시예 2에서, 재배열되는 단위는 잔차신호이거나, 잔차블록 또는 참조블록들을 (가상적으로) 분할한 서브블록일 수 있다. 잔차블록 또는 참조블록들은 하나 이상의(MxN) 서브블록들로 분할될 수 있다. 예를 들어, 잔차블록 또는 참조블록들은 가로축 및 세로축을 기준으로 각각 이등분된 총 4개의 서브블록들로 분할될 수 있다. 이하에서는, 서브블록 단위의 재배열을 중심으로 실시예 2에 대해 설명하도록 한다.
영상 부호화 장치는 참조블록 L0와 참조블록 L1 사이의 에러 값을 산출할 수 있다. 에러 값은 서브블록마다 별도로 산출될 수 있으며, 특정 서브블록에 포함된 픽셀이 복수 개인 경우에 에러 값은 이 픽셀들 각각의 에러 값들을 평균하거나 합산한 에러 대표 값일 수 있다.
영상 부호화 장치는 에러 값들을 기준으로 잔차블록 내 서브블록들을 재배열할 수 있다. 서브블록들은 서브블록들(잔차신호들)의 분포가 변환타입들(DCT, DST, Skip) 중 잔차블록에 적용될 변환타입에 적합하게 되도록 재배열될 수 있다. 예를 들어, 서브블록들은 각각의 에러 값을 기준으로 순차적으로 정렬된 후, 적용될 변환타입에 따라 스캐닝(scanning)됨으로써 재배열될 수 있다. 서브블록들을 순차적으로 정렬하는 방식에는 descending order, ascending order 등이 포함될 수 있으며, 정렬된 서브블록들을 스캐닝하는 방식에는 horizontal scanning, vertical scanning, diagonal-up scanning, zig-zag scanning 등이 포함될 수 있다.
영상 복호화 장치는 양방향 각각의 참조블록들을 결정하고(S1410), 참조블록들 사이의 에러 값을 서브블록들 각각에 대하여 산출할 수 있다(S1420). 또한, 영상 복호화 장치는 산출된 에러 값들을 기준으로 서브블록들을 재배열함으로써 잔차신호들을 재배열할 수 있다(S1430). 전술된 변환타입이 서브블록들의 재배열에 기준으로 작용할 수 있으며, 전술된 정렬 방식과 스캐닝 방식은 서브블록들을 변환타입에 적합한 형태로 재배열하기 위한 방법으로 이용될 수 있다. 즉, 하나 이상의 정렬 방식들 중 적용될 정렬 방식의 선택과, 하나 이상의 스캐닝 방식들 중 적용될 스캐닝 방식의 선택은 변환타입에 적합한지 여부를 기준으로 결정될 수 있다.
아래 표 10은 특정 변환타입에 적합한 정렬 방식과 스캐닝 방식을 나타낸다.
Figure pat00010
표 10에 표현된 바와 같이, Skip 타입의 경우에는 descending order 정렬 방식이 적합할 수 있으며, diagonal-up 또는 zig-zag 스캐닝 방식이 적합할 수 있다. DST 타입(sine)의 경우에는 ascending order 정렬 방식이 적합할 수 있으며, horizontal 또는 vertical 스캐닝 방식이 적합할 수 있다. DCT 타입(cosine)의 경우에는 descending order 정렬 방식이 적합할 수 있으며, horizontal 또는 vertical 스캐닝 방식이 적합할 수 있다.
실시형태에 따라, 서브블록의 재배열은 가상의 에러블록을 이용하여 구현될 수도 있다. 에러블록이란 두 참조블록들 사이의 에러 값들을 포함하는 블록에 해당할 수 있다. 에러블록은 하나 이상의 서브블록들로 구분될 수 있으며, 에러블록을 구성하는 서브블록들마다 에러 (대표) 값이 산출될 수 있다. 이와 같은 실시형태의 경우, 서브블록들을 정렬하는 과정은 에러블록에 포함된 서브블록들에 대해 수행될 수 있으며, 서브블록들을 스캐닝하는 과정은 에러블록에 포함된 서브블록들의 정렬된 순서에 상응하도록 잔차블록에 포함된 서브블록들에 대해 수행될 수 있다.
에러블록을 이용하여 서브블록의 재배열을 구현하는 일 실시예가 도 15에 표현되어 있다. 도 15 (a)는 재배열되기 전 에러블록의 서브블록들을 나타내며, 도 15 (b)는 재배열된 에러블록의 서브블록들을 나타낸다. 서브블록들 각각에 포함된 괄호 숫자는 에러 (대표) 값을 나타내며, 괄호로 표현되지 않은 숫자는 서브블록들의 위치를 나타낸다.
도 15 (a)에 표현된 바와 같이, 재배열되기 전 서브블록들은 하측으로 갈수록 높은 에러 값을 가질 수 있다. descending order 정렬 방식을 이용하여 재배열되기 전 서브블록들을 정렬하고, diagonal-up 스캐닝 방식을 이용하여 '정렬된 서브블록들'을 스캐닝하면, 에러 값이 좌상측으로 갈수록 커지고 우하측으로 갈수록 작아지는 재배열이 구현될 수 있다(도 15 (b)). 따라서, 에러 값을 기준으로 서브블록들을 정렬하고 스캐닝하면 서브블록들을 특정 변환타입(도 15 기준, Skip 타입)에 적합한 배열 형태로 재배열할 수 있음을 알 수 있다.
실시형태에 따라, 앞서 언급된 반전 타입과 시프팅 타입이 실시예 2의 재배열 방식으로 이용될 수 있다. 이와 같은 실시형태의 경우, 영상 부호화/복호화 장치는 참조블록들 사이의 에러 값 및 적용될(적용된) 변환타입을 기준으로 잔차블록에 적용될 반전 타입 또는 시프팅 타입을 결정하고, 결정된 타입에 따라 잔차신호들을 재배열할 수 있다.
예를 들어, 영상 부호화/복호화 장치는 잔차블록의 중심 가로축을 기준으로 상측 및 하측 서브블록들에 대한 에러 값을 산출한 후, 산출된 에러 값에 근거하여 H-flip/H-shift의 적용 여부를 결정할 수 있다. 또한, 영상 부호화/복호화 장치는 잔차블록의 중심 세로축을 기준으로 좌측 및 우측 서브블록들에 대한 에러 값을 산출한 후, 산출된 에러 값에 근거하여 V-flip/V-shift의 적용 여부를 결정할 수 있다. 나아가, 영상 부호화/복호화 장치는 반전타입들/시프팅타입들 각각에 대한 재배열 결과들을 기준으로 반전타입들/시프팅타입들을 상호 비교하여 '적용될 변환타입'에 가장 적합한 반전타입/시프팅타입을 결정할 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
120, 440: 예측부 130: 감산기
170, 450: 가산기 180, 460: 필터부

Claims (18)

  1. 현재블록의 변환블록 내 변환계수들 및 상기 변환블록에 적용된 변환타입을 지시하는 변환타입 정보를 비트스트림으로부터 복호화하는 단계;
    상기 변환타입 정보에 의해 지시되는 변환타입에 따라, 상기 변환계수들로부터 잔차블록을 도출하는 단계; 및
    하나 이상의 재배열 타입 중 어느 하나에 따라, 상기 잔차블록 내 잔차신호들을 재배열하는 단계를 포함하는 것을 특징으로 하는 잔차신호 재배열 방법.
  2. 제1항에 있어서,
    상기 복호화하는 단계는,
    상기 잔차블록에 적용할 재배열 타입을 지시하는 재배열 타입 정보를 상기 비트스트림으로부터 더 복호화하고,
    상기 재배열하는 단계는,
    상기 하나 이상의 재배열 타입 중 상기 재배열 타입 정보에 의해 지시되는 재배열 타입에 따라, 상기 잔차신호들을 재배열하는 것을 특징으로 하는 잔차신호 재배열 방법.
  3. 제2항에 있어서,
    상기 복호화하는 단계는,
    상기 비트스트림에 포함된 인에이블(enable) 정보가 상기 잔차신호의 재배열이 허용됨을 지시하며, 상기 비트스트림에 포함된 적용정보가 상기 잔차신호의 재배열이 적용됨을 지시하는 경우에, 상기 재배열 타입 정보를 복호화화는 것을 특징으로 하는 잔차신호 재배열 방법.
  4. 제2항에 있어서,
    상기 하나 이상의 재배열 타입은,
    상기 잔차신호가 재배열되지 않는 N-재배열 타입을 포함하고,
    상기 복호화화는 단계는,
    상기 비트스트림에 포함된 인에이블 정보가 상기 잔차신호의 재배열이 허용됨을 지시하는 경우에, 상기 재배열 타입 정보를 복호화하는 것을 특징으로 하는 잔차신호 재배열 방법.
  5. 제1항에 있어서,
    상기 복호화하는 단계는,
    상기 현재블록의 예측모드가 인터 예측인지 인트라 예측인지 여부에 대한 정보를 포함하되, 상기 현재블록의 예측모드가 인트라 예측인 경우에 인트라 예측 방향에 대한 정보를 더 포함하는 예측정보를 더 복호화하고,
    상기 하나 이상의 재배열 타입은,
    상기 변환타입 정보에 의해 지시되는 변환타입 및 상기 예측정보 중 하나 이상에 근거하여 결정되는 것을 특징으로 하는 잔차신호 재배열 방법.
  6. 제5항에 있어서,
    상기 하나 이상의 재배열 타입은,
    상기 변환타입 정보에 의해 지시되는 변환타입이 변환 스킵(skip) 또는 코사인(cosine) 기반 변환인 경우,
    상기 인트라 예측 방향이 수평 지향 모드이면, 상기 잔차블록의 좌측에 위치한 잔차신호들과 우측에 위치한 잔차신호들을 서로 교환하는 타입을 포함하고,
    상기 인트라 예측 방향이 수직 지향 모드이면, 상기 잔차블록의 상측에 위치한 잔차신호들과 하측에 위치한 잔차신호들을 서로 교환하는 타입을 포함하는 것을 특징으로 하는 잔차신호 재배열 방법.
  7. 제5항에 있어서,
    상기 하나 이상의 재배열 타입은,
    상기 변환타입 정보에 의해 지시되는 변환타입이 사인(sine) 기반 변환인 경우,
    상기 인트라 예측 방향이 수평 지향 모드이면, 상기 잔차블록의 상측에 위치한 잔차신호들과 하측에 위치한 잔차신호들을 서로 교환하는 타입을 포함하고,
    상기 인트라 예측 방향이 수직 지향 모드이면, 상기 잔차블록의 좌측에 위치한 잔차신호들과 우측에 위치한 잔차신호들을 서로 교환하는 타입을 포함하는 것을 특징으로 하는 잔차신호 재배열 방법.
  8. 제5항에 있어서,
    상기 하나 이상의 재배열 타입은,
    상기 잔차블록이 균등 분할된 서브블록들 각각의 잔차신호들을 서로 다른 서브블록 내로 반전(flipping) 이동시키는 반전 타입(flipping type)을 포함하고,
    상기 반전 타입은,
    수평 반전(horizontal flipping), 수직 반전(vertical flipping), 수평-수직 반전(horizontal-vertical flipping), 우하향 대각선을 기준으로 하는 반전 및 우상향 대각선을 기준으로 하는 반전 중 하나 이상을 포함하는 것을 특징으로 하는 잔차신호 재배열 방법.
  9. 제5항에 있어서,
    상기 하나 이상의 재배열 타입은,
    상기 잔차블록이 균등 분할된 서브블록들 각각의 잔차신호들을 서로 다른 서브블록 내로 시프트(shift) 이동시키는 시프팅 타입(shifting type)을 포함하고,
    상기 시프팅 타입은,
    수평 시프트(horizontal shift), 수직 시프트(vertical shift), 수평-수직 시프트(horizontal-vertical shift), 우하향 대각선에 수직인 방향으로 이동시키는 시프트 및 우상향 대각선에 수직인 방향으로 이동시키는 시프트 중 하나 이상을 포함하는 것을 특징으로 하는 잔차신호 재배열 방법.
  10. 현재블록의 변환블록 내 변환계수들 및 상기 변환블록에 적용된 변환타입을 지시하는 변환타입 정보를 비트스트림으로부터 복호화하는 복호화부;
    상기 변환타입 정보에 의해 지시되는 변환타입에 따라, 상기 변환계수들로부터 잔차블록을 도출하는 역변환부; 및
    하나 이상의 재배열 타입 중 어느 하나에 따라, 상기 잔차블록 내 잔차신호들을 재배열하는 제어수단을 포함하는 것을 특징으로 하는 영상 복호화 장치.
  11. 제10항에 있어서,
    상기 복호화부는,
    상기 잔차블록에 적용할 재배열 타입을 지시하는 재배열 타입 정보를 상기 비트스트림으로부터 더 복호화하고,
    상기 제어수단은,
    상기 하나 이상의 재배열 타입 중 상기 재배열 타입 정보에 의해 지시되는 재배열 타입에 따라, 상기 잔차신호들을 재배열하는 것을 특징으로 하는 영상 복호화 장치.
  12. 제11항에 있어서,
    상기 복호화부는,
    상기 비트스트림에 포함된 인에이블(enable) 정보가 상기 잔차신호의 재배열이 허용됨을 지시하며, 상기 비트스트림에 포함된 적용정보가 상기 잔차신호의 재배열이 적용됨을 지시하는 경우에, 상기 재배열 타입 정보를 복호화화는 것을 특징으로 하는 영상 복호화 장치.
  13. 제11항에 있어서,
    상기 하나 이상의 재배열 타입은,
    상기 잔차신호가 재배열되지 않는 N-재배열 타입을 포함하고,
    상기 복호화부는,
    상기 비트스트림에 포함된 인에이블 정보가 상기 잔차신호의 재배열이 허용됨을 지시하는 경우에, 상기 재배열 타입 정보를 복호화하는 것을 특징으로 하는 영상 복호화 장치.
  14. 제10항에 있어서,
    상기 복호화부는,
    상기 현재블록의 예측모드가 인터 예측인지 인트라 예측인지 여부에 대한 정보를 포함하되, 상기 현재블록의 예측모드가 인트라 예측인 경우에 인트라 예측 방향에 대한 정보를 더 포함하는 예측정보를 더 복호화하고,
    상기 하나 이상의 재배열 타입은,
    상기 변환타입 정보에 의해 지시되는 변환타입 및 상기 예측정보 중 하나 이상에 근거하여 결정되는 것을 특징으로 하는 영상 복호화 장치.
  15. 제14항에 있어서,
    상기 하나 이상의 재배열 타입은,
    상기 변환타입 정보에 의해 지시되는 변환타입이 변환 스킵(skip) 또는 코사인(cosine) 기반 변환인 경우,
    상기 인트라 예측 방향이 수평 지향 모드이면, 상기 잔차블록의 좌측에 위치한 잔차신호들과 우측에 위치한 잔차신호들을 서로 교환하는 타입을 포함하고,
    상기 인트라 예측 방향이 수직 지향 모드이면, 상기 잔차블록의 상측에 위치한 잔차신호들과 하측에 위치한 잔차신호들을 서로 교환하는 타입을 포함하는 것을 특징으로 하는 영상 복호화 장치.
  16. 제14항에 있어서,
    상기 하나 이상의 재배열 타입은,
    상기 변환타입 정보에 의해 지시되는 변환타입이 사인(sine) 기반 변환인 경우,
    상기 인트라 예측 방향이 수평 지향 모드이면, 상기 잔차블록의 상측에 위치한 잔차신호들과 하측에 위치한 잔차신호들을 서로 교환하는 타입을 포함하고,
    상기 인트라 예측 방향이 수직 지향 모드이면, 상기 잔차블록의 좌측에 위치한 잔차신호들과 우측에 위치한 잔차신호들을 서로 교환하는 타입을 포함하는 것을 특징으로 하는 영상 복호화 장치.
  17. 제14항에 있어서,
    상기 하나 이상의 재배열 타입은,
    상기 잔차블록이 균등 분할된 서브블록들 각각의 잔차신호들을 서로 다른 서브블록 내로 반전(flipping) 이동시키는 반전 타입(flipping type)을 포함하고,
    상기 반전 타입은,
    수평 반전(horizontal flipping), 수직 반전(vertical flipping), 수평-수직 반전(horizontal-vertical flipping), 우하향 대각선을 기준으로 하는 반전 및 우상향 대각선을 기준으로 하는 반전 중 하나 이상을 포함하는 것을 특징으로 하는 영상 복호화 장치.
  18. 제14항에 있어서,
    상기 하나 이상의 재배열 타입은,
    상기 잔차블록이 균등 분할된 서브블록들 각각의 잔차신호들을 서로 다른 서브블록 내로 시프트(shift) 이동시키는 시프팅 타입(shifting type)을 포함하고,
    상기 시프팅 타입은,
    수평 시프트(horizontal shift), 수직 시프트(vertical shift), 수평-수직 시프트(horizontal-vertical shift), 우하향 대각선에 수직인 방향으로 이동시키는 시프트 및 우상향 대각선에 수직인 방향으로 이동시키는 시프트 중 하나 이상을 포함하는 것을 특징으로 하는 영상 복호화 장치.
KR1020190072480A 2018-07-04 2019-06-18 잔차신호 재배열 방법 및 영상 복호화 장치 KR20200004749A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2019/008102 WO2020009460A1 (ko) 2018-07-04 2019-07-03 잔차신호 재배열 방법 및 영상 복호화 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180077857 2018-07-04
KR20180077857 2018-07-04

Publications (1)

Publication Number Publication Date
KR20200004749A true KR20200004749A (ko) 2020-01-14

Family

ID=69153035

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190072480A KR20200004749A (ko) 2018-07-04 2019-06-18 잔차신호 재배열 방법 및 영상 복호화 장치

Country Status (1)

Country Link
KR (1) KR20200004749A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022191554A1 (ko) * 2021-03-08 2022-09-15 현대자동차주식회사 임의 블록 분할을 이용하는 비디오 코딩방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022191554A1 (ko) * 2021-03-08 2022-09-15 현대자동차주식회사 임의 블록 분할을 이용하는 비디오 코딩방법 및 장치

Similar Documents

Publication Publication Date Title
CN113873241B (zh) 用于对视频进行解码的方法和用于对视频进行编码的方法
CN113574877B (zh) 用于有效地对残差块解码的方法和装置
KR20120012401A (ko) 인트라 예측 복호화 장치
KR20200110214A (ko) 예측 유닛을 서브 유닛들로 분할하여 예측하는 인트라 예측 방법 및 장치
KR102503760B1 (ko) 영상 분석을 이용한 비디오 부호화/복호화 방법 및 장치
US11962777B2 (en) Inverse quantization device and method used in video decoding device
US20230048262A1 (en) Decoding device and method for predicting block partitioned into random shape
KR20200113173A (ko) 예측모드 추정에 기반하는 인트라 예측장치 및 방법
KR20220071939A (ko) 비디오 부호화 및 복호화를 위한 장치 및 방법
KR20200110236A (ko) 데이터 블록에 변환 생략 모드를 효율적으로 적용하기 위한 방법 및 장치
KR20200004749A (ko) 잔차신호 재배열 방법 및 영상 복호화 장치
KR20220071131A (ko) 서브블록단위 인트라 예측을 이용하는 영상 부호화 및 복호화 방법과 장치
KR20200133185A (ko) 영상 복호화 장치에서 이용하는 역양자화장치 및 방법
CN114830653A (zh) 用于预测划分为任意形状的块的解码装置和方法
KR20200084767A (ko) 인트라 예측 방법 및 영상 복호화 장치
US11956427B2 (en) Method of restoration in subblock units, and video decoding apparatus
KR102617469B1 (ko) Sao 필터링을 위한 방법 및 장치
KR20230160171A (ko) 혼합 성분간 예측을 사용하는 비디오 코딩방법 및 장치
KR20200145773A (ko) 코딩 툴들을 제어하는 방법 및 장치
KR20220126232A (ko) 임의 블록 분할을 이용하는 비디오 코딩방법 및 장치
KR20210069005A (ko) 차분 변조를 이용하는 비디오 부호화 및 복호화
KR20240021104A (ko) 루마 성분 기반 크로마 성분 예측을 이용하는 비디오코딩방법 및 장치
KR20230159260A (ko) 인트라 예측 블록에 대한 움직임벡터 저장방법 및 장치
KR20230139780A (ko) 적응적 다중변환선택을 이용하는 비디오 코딩방법 및 장치
KR20210025507A (ko) 차등 부호화를 이용하는 비디오 부호화 및 복호화

Legal Events

Date Code Title Description
A201 Request for examination