KR102600756B1 - 저 복잡도 변환에 기반한 영상 부호화 및 복호화 방법 및 이를 이용하는 장치 - Google Patents

저 복잡도 변환에 기반한 영상 부호화 및 복호화 방법 및 이를 이용하는 장치 Download PDF

Info

Publication number
KR102600756B1
KR102600756B1 KR1020177025127A KR20177025127A KR102600756B1 KR 102600756 B1 KR102600756 B1 KR 102600756B1 KR 1020177025127 A KR1020177025127 A KR 1020177025127A KR 20177025127 A KR20177025127 A KR 20177025127A KR 102600756 B1 KR102600756 B1 KR 102600756B1
Authority
KR
South Korea
Prior art keywords
transformation
kernel
transform
block
prediction
Prior art date
Application number
KR1020177025127A
Other languages
English (en)
Other versions
KR20170117112A (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 한국과학기술원
Publication of KR20170117112A publication Critical patent/KR20170117112A/ko
Application granted granted Critical
Publication of KR102600756B1 publication Critical patent/KR102600756B1/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/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding

Abstract

본 발명은 제1 변환 커널에 기반하여, 잔차 블록에 대해 변환을 수행하는 단계 및 변환된 상기 잔차 블록에 대해, 낮은 복잡도를 가지는 제2 변환 커널에 기반하여 변환을 수행하는 단계를 포함하되, 상기 제1 변환 커널은 예측 블록 또는 부호화 단위 블록에 기반하여 도출된 것을 특징으로 하는 저 복잡도 변환에 기반한 영상 복호화 방법을 제공한다.

Description

저 복잡도 변환에 기반한 영상 부호화 및 복호화 방법 및 이를 이용하는 장치
본 발명은 영상 부호화/복호화 방법 및 이를 이용하는 장치에 관한 것으로서, 보다 상세하게는 영상 부호화/복호화에서, 저 복잡도 변환 커널을 적용하는 영상 부호화/복호화 방법 및 이를 이용하는 장치에 관한 것이다.
정보 통신 산업의 지속적인 발달은 HD(High Definition) 해상도를 가지는 방송 서비스의 세계적인 확산을 야기시켰다. 이에, 많은 사용자들이 고해상도, 고화질의 영상에 익숙해지게 되었으며, 사용자들의 높은 화질에 대한 수요를 만족시키기 위하여, 많은 기관들이 차세대 영상기기에 대한 개발에 박차를 가하고 있다. 또한, HDTV뿐만 아니라, FHD(Full HD) 및 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)에 대한 관심이 증대되면서, 보다 높은 해상도, 고화질의 영상에 대한 영상 부호화/복호화 기술이 요구되고 있다.
영상 부호화/복호화 장치 및 방법은 보다 높은 해상도 및 고화질의 영상에 대한 부호화/복호화를 수행하기 위해, 시간적으로 이전 및/또는 이후의 픽쳐로부터 현재 픽쳐에 포함된 픽셀값을 예측하는 인터(inter) 예측 기술, 현재 픽쳐 내의 픽셀 정보를 이용하여 현재 픽쳐에 포함된 픽셀값을 예측하는 인트라(intra) 예측 기술, 출현 빈도가 높은 심볼(symbol)에 짧은 부호를 할당하고 출현 빈도가 낮은 심볼에 긴 부호를 할당하는 엔트로피 부호화 기술 등을 사용할 수 있다.
본 발명은 영상을 변환할 때, 복잡도가 낮은 변환 커널(또는 블록)을 적용하여 영상을 부호화 및/또는 복호화 하는 방법 및 이를 이용하는 장치를 제공하는 것을 목적으로 한다.
본 발명은 또한, 영상을 변환 부호화할 때, 움직임 예측 과정에서 얻은 저복잡도 변환 적용 결과를 제1차 변환 결과로 이용하고, 여기에 복잡도가 낮은 희소 변환 커널(또는 블록)을 적용하는 제2차 변환만을 적용하여 변환 과정 복잡도를 줄이는 것을 목적으로 하는, 영상을 부호화 및/또는 복호화 하는 방법 및 이를 이용하는 장치를 제공하는 것을 목적으로 한다.
본 발명은 또한, 변환 복잡도를 줄이기 위해, 복잡도가 낮은 제2차 변환 커널인 희소 변환 커널(또는 블록)을 적용하기 전에 월시-하다마드 변환 커널(또는 블록)을 적용하여, 영상을 부호화 및/또는 복호화 하는 방법 및 이를 이용하는 장치를 제공하는 것을 목적으로 한다.
본 발명은 또한, 변환 복잡도를 줄이기 위해, 복잡도가 낮은 제2차 변환 커널인 희소 변환 커널(또는 블록)을 적용하기 전에 2 자승 변환 커널(또는 블록)을 적용하여, 영상을 부호화 및/또는 복호화 하는 방법 및 이를 이용하는 장치를 제공하는 것을 목적으로 한다.
본 발명의 일 실시예에 따르면, 제1 변환 커널에 기반하여, 잔차 블록에 대해 변환을 수행하는 단계 및 변환된 상기 잔차 블록에 대해, 낮은 복잡도를 가지는 제2 변환 커널에 기반하여 변환을 수행하는 단계를 포함하되, 상기 제1 변환 커널은 예측 블록 또는 부호화 단위 블록에 기반하여 도출된 것을 특징으로 하는 저 복잡도 변환에 기반한 영상 복호화 방법을 제공한다.
이때, 상기 예측 블록은 적어도 하나 이상의 제1 변환 커널을 포함할 수 있다.
이때, 상기 예측 블록은 정방형 또는 비정방형일 수 있다.
이때, 상기 예측 블록에 포함된 상기 제1 변환 커널은 정방형 또는 비정방형일 수 있다.
이때, 상기 예측 블록은 3N x 4N의 크기를 가지고, 상기 예측 블록에는 2N x 2N의 크기를 가지는 제1 변환 커널 2개와, N x N의 크기를 가지는 제1 변환 커널 4개가 포함되어 있을 수 있다.
이때, 상기 제2 변환 커널은 상기 제1 변환 커널의 크기와 동일할 수 있다.
이때, 상기 제1 변환 커널과 상기 제2 변환 커널을 모두 적용한 변환은 이산 코사인 변환(Discrete Cosine Transform)에 대응되는 변환일 수 있다.
이때, 상기 제1 변환 커널은 월시 하다마드 변환 커널이고, 상기 제2 변환 커널은 희소 행렬인 것을 특징으로 하는 저 복잡도 변환에 기반할 수 있다.
이때, 상기 월시 하다마드 변환 커널과, 상기 희소 행렬에 기반한 변환은 아래 식과 같이 정의되고,
Figure 112017086694241-pct00001
,
상기 CM은 DCT 변환에 대응되고, 상기 M은 변환 커널의 크기이고, 상기 AM은 희소 행렬이고, 상기 Hw,M은 월시 하다마드 변환 커널일 수 있다.
이때, 상기 제1 변환 커널은 2-자승 변환 커널이고, 상기 제2 변환 커널은 희소 행렬일 수 있다.
이때, 상기 2-자승 변환 커널과, 상기 희소 행렬에 기반한 변환은 아래 식과 같이 정의되고,
Figure 112017086694241-pct00002
,
상기 CM은 DCT 변환에 대응되고, 상기 M은 변환 커널의 크기이고, 상기 AM은 희소 행렬이고, 상기 T2-p,M은 2-자승 변환 커널일 수 있다.
본 발명의 다른 실시예에 따르면, 제1 변환 커널에 기반하여, 잔차 블록에 대해 변환을 수행하는 단계 및 변환된 상기 잔차 블록에 대해, 낮은 복잡도를 가지는 제2 변환 커널에 기반하여 변환을 수행하는 단계를 포함하되, 상기 제1 변환 커널은 예측 블록에 기반하여 도출된 것을 특징으로 하는 저 복잡도 변환에 기반한 영상 부호화 방법을 제공할 수 있다.
본 발명의 다른 실시예에 따르면, 제1 변환 커널에 기반하여, 잔차 블록에 대해 변환을 수행하는 단계 및 변환된 상기 잔차 블록에 대해, 낮은 복잡도를 가지는 제2 변환 커널에 기반하여 변환을 수행하는 단계를 포함하되, 상기 제1 변환 커널은 부호화 블록에 기반하여 도출된 것을 특징으로 하는 저 복잡도 변환에 기반한 영상 부호화 방법을 제공할 수 있다.
본 발명의 또 다른 실시예에 따르면, 제1 변환 커널에 기반하여, 잔차 블록에 대해 변환하는 제1 변환 커널 적용부 및 변환된 상기 잔차 블록에 대해, 낮은 복잡도를 가지는 제2 변환 커널에 기반하여 변환하는 역변환부를 포함하되, 상기 제1 변환 커널은 예측 블록에 기반하여 도출된 것을 특징으로 하는 저 복잡도 변환에 기반한 영상 복호화 장치를 제공할 수 있다.
본 발명의 또 다른 실시예에 따르면, 제1 변환 커널에 기반하여, 잔차 블록에 대해 변환하는 제1 변환 커널 적용부 및 변환된 상기 잔차 블록에 대해, 낮은 복잡도를 가지는 제2 변환 커널에 기반하여 변환하는 변환부를 포함하되, 상기 제1 변환 커널은 예측 블록에 기반하여 도출된 것을 특징으로 하는 저 복잡도 변환에 기반한 영상 부호화 장치를 제공할 수 있다.
본 발명에 따르면, 영상을 변환할 때, 복잡도가 낮은 변환 커널(또는 블록)을 적용하면 영상의 부호화 및/또는 복호화 효율이 향상된다.
본 발명에 따르면, 영상을 변환할 때, 변환 복잡도를 줄이기 위해, 복잡도가 낮은 제2차 변환 커널인 희소 변환 커널(또는 블록)을 적용하기 전에 월시-하다마드 변환 커널(또는 블록)을 적용하여, 영상을 부호화 및/또는 복호화 효율이 향상된다.
본 발명은 또한, 영상을 변환할 때, 변환 복잡도를 줄이기 위해, 복잡도가 낮은 변환 제2차 변환 커널인 희소 커널(또는 블록)을 적용하기 전에 2 자승 변환 커널(또는 블록)을 적용하여, 영상을 부호화 및/또는 복호화 하는 효율이 향상된다.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 3은 영상을 부호화 및 복호화할 때 영상의 분할 구조를 개략적으로 나타내는 도면이다.
도 4는 부호화 유닛(CU)이 포함할 수 있는 예측 유닛(PU)의 형태를 도시한 도면이다.
도 5는 부호화 유닛(CU)이 포함할 수 있는 변환 유닛(TU)의 형태를 도시한 도면이다.
도 6은 인트라 예측 과정의 실시예를 설명하기 위한 도면이다.
도 7은 인터 예측 과정의 실시예를 설명하기 위한 도면이다.
도 8은 영상 부호화 방법의 순서도이다.
도 9는 본 발명의 일 실시예에 따른 영상 부호화 장치의 블록도다.
도 10은 희소행렬인 A8을 버터플라이 구조와, 정수 계수를 이용하여 구현한 일례다.
도 11은 본 발명의 일 실시예에 따른, 예측 블록과 변환 커널의 상관관계를 개략적으로 도시한 도면이다.
도 12는 본 발명의 일 실시예에 따른, 가변 분할 블록에 적용되는 변환 커널을 개략적으로 도시한 도면이다.
도 13은 본 발명의 일 실시예에 따른 영상 부호화에서의 변환 방법의 순서도다.
도 14는 본 발명의 일 실시예에 따른 영상 부호화 방법의 순서도다.
도 15는 본 발명의 일 실시예에 따른 영상 복호화 장치의 블록도이다.
도 16은 본 발명의 일 실시예에 따른 영상 복호화에서의 변환 방법의 순서도이다.
도 17은 본 발명의 일 실시예에 따른 영상 복호화 방법의 순서도이다.
이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 1을 참조하면, 상기 영상 부호화 장치(100)는 움직임 예측부(111), 움직임 보상부(112), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 가산기(175), 필터부(180) 및 참조 픽쳐 버퍼(190)를 포함한다.
영상 부호화 장치(100)는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드로 부호화를 수행하고 비트스트림을 출력할 수 있다. 인트라 모드인 경우 스위치(115)가 인트라로 전환되고, 인터 모드인 경우 스위치(115)가 인터로 전환될 수 있다. 영상 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분(residual)을 부호화할 수 있다.
인트라 모드인 경우, 인트라 예측부(120)는 현재 블록 주변의 이미 부호화된 블록의 픽셀값을 참조 화소로 이용할 수 있다. 인트라 예측부(120)는 참조 화소를 이용하여, 공간적 예측을 수행하고, 현재 블록에 대한 에측 샘플들을 생성할 수 있다.
인터 모드인 경우, 움직임 예측부(111)는, 움직임 예측 과정에서 참조 픽쳐 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구할 수 있다.
움직임 보상부(112)는 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다. 여기서, 움직임 벡터는 인터 예측에 사용되는 2차원 벡터이며, 현재 부호화/복호화 대상 영상과 참조 영상 사이의 오프셋을 나타낼 수 있다.
감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔여 블록(residual block, 레지듀얼 신호)을 생성할 수 있다.
변환부(130)는 잔여 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 여기서, 변환 계수는 잔여 블록 및/또는 잔여 신호에 대한 변환을 수행함으로써 생성된 계수 값을 의미할 수 있다. 변환 생략(transform skip) 모드가 적용되는 경우, 변환부(130)는 레지듀얼 블록에 대한 변환을 생략할 수도 있다.
이하, 본 명세서에서는 변환 계수에 양자화가 적용되어 생성된, 양자화된 변환 계수 레벨(transform coefficient level)도 변환 계수로 불릴 수 있다.
양자화부(140)는 입력된 변환 계수를 양자화 파라미터에 따라 양자화하여 양자화된 변환 계수 레벨(quantized transform coefficient level)을 출력할 수 있다. 이때, 양자화부(140)에서는 양자화 행렬을 사용하여 입력된 변환 계수를 양자화할 수 있다.
엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 확률 분포에 따라 엔트로피 부호화하여 비트스트림(bitstream)을 출력할 수 있다. 엔트로피 부호화부(150)는 비디오의 화소 정보 외에 비디오 디코딩을 위한 정보(예컨대, 신택스 엘리먼트(syntax element) 등)을 엔트로피 부호화 할 수도 있다.
부호화 파라미터는 부호화 및 복호화에 필요한 정보로서, 신택스 엘리먼트와 같이 부호화 장치에서 부호화되어 복호화 장치로 전달되는 정보뿐만 아니라, 부호화 혹은 복호화 과정에서 유추될 수 있는 정보를 포함할 수 있다.
부호화 파라미터는 예를 들어 인트라/인터 예측모드, 이동/움직임 벡터, 참조 영상 색인, 부호화 블록 패턴, 레지듀얼 신호 유무, 변환 계수, 양자화된 변환 계수, 양자화 파라미터, 블록 크기, 블록 분할 정보 등의 값 또는 통계를 포함할 수 있다.
레지듀얼 신호는 원신호와 예측 신호의 차이를 의미할 수 있고, 또한 원신호와 예측 신호의 차이가 변환(transform)된 형태의 신호 또는 원신호와 예측 신호의 차이가 변환되고 양자화된 형태의 신호를 의미할 수도 있다. 레지듀얼 신호는 블록 단위에서는 레지듀얼 블록이라 할 수 있다.
엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다.
엔트로피 부호화를 위해 지수 골롬(exponential Golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법이 사용될 수 있다. 예를 들어, 엔트로피 부호화부(150)는 가변 길이 부호화(VLC: Variable Length Coding/Code) 테이블을 이용하여 엔트로피 부호화를 수행할 수 있다. 또한 엔트로피 부호화부(150)는 대상 심볼의 이진화(binarization) 방법 및 대상 심볼/빈(bin)의 확률 모델(probability model)을 도출한 후, 도출된 이진화 방법 또는 확률 모델을 사용하여 엔트로피 부호화를 수행할 수도 있다.
양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환될 수 있다. 역양자화, 역변환된 계수는 가산기(175)를 통해 예측 블록과 더해지고 복원 블록이 생성될 수 있다.
복원 블록은 필터부(180)를 거치고, 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(180)는 적응적 인루프(in-loop) 필터로 불릴 수도 있다.
디블록킹 필터는 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. SAO는 코딩 에러를 보상하기 위해 픽셀값에 적정 오프셋(offset) 값을 더해줄 수 있다. ALF는 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. 필터부(180)를 거친 복원 블록은 참조 픽쳐 버퍼(190)에 저장될 수 있다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2를 참조하면, 상기 영상 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 가산기(255), 필터부(260) 및 참조 픽쳐 버퍼(270)를 포함한다.
영상 복호화 장치(200)는 부호화기에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환될 수 있다. 영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 복원된 잔여 블록(reconstructed residual block)을 얻고 예측 블록을 생성한 후 복원된 잔여 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성할 수 있다.
엔트로피 복호화부(210)는, 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여, 양자화된 계수(quantized coefficient) 형태의 심볼을 포함한 심볼들을 생성할 수 있다. 엔트로피 복호화 방법은 상술한 엔트로피 부호화 방법의 역과정으로 수행된다.
양자화된 계수는 역양자화부(220)에서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환 된 결과, 복원된 잔여 블록이 생성될 수 있다. 이때, 역양자화부(220)에서는 양자화된 계수에 양자화 행렬을 적용할 수 있다.
인트라 모드인 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 부호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다. 인터 모드인 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 픽쳐 버퍼(270)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다.
복원된 잔여 블록과 예측 블록은 가산기(255)를 통해 더해지고, 더해진 블록은 필터부(260)를 거칠 수 있다. 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(260)는 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 복원 영상은 참조 픽쳐 버퍼(270)에 저장되어 인터 예측에 사용될 수 있다.
도 3은 영상을 부호화 및 복호화할 때 영상의 분할 구조를 개략적으로 나타내는 도면이다.
영상을 효율적으로 분할하기 위해 부호화 유닛(Coding Unit; CU)으로 부호화 및 복호화를 수행할 수 있다. 유닛은 구문 요소(syntax element)와 영상 샘플들이 포함된 블록을 합쳐서 일컫는 말이다. 유닛이 분할된다는 것은 유닛에 해당하는 블록을 분할한다는 것을 의미할 수 있다.
도 3을 참조하면, 영상(300)을 최대 부호화 유닛(Largest Coding Unit; LCU)(이하, LCU라 함) 단위로 순차적으로 분할한 후, LCU 단위로 분할 구조를 결정한다. 여기서, LCU란 코딩 트리 유닛(Coding Tree Unit, CTU)과 동일한 의미로 사용될 수 있다. 분할 구조는 LCU(310) 내에서 영상을 효율적으로 부호화하기 위한 부호화 유닛(이하, CU라 함)의 분포를 의미하며, 이러한 분포는 하나의 CU를 그 가로 크기 및 세로 크기의 절반으로 감소된 4개의 CU로 분할할지 여부에 따라 결정될 수 있다. 분할된 CU는 동일한 방식으로 분할된 CU에 대해서 그 가로 크기 및 세로 크기가 절반씩 감소된 4개의 CU로 재귀적으로 분할될 수 있다.
이때, CU의 분할은 미리 정의된 깊이까지 재귀적으로 분할될 수 있다. 깊이 정보는 CU의 크기를 나타내는 정보로써, 각 CU마다 저장되어 있다. 예컨대, LCU의 깊이는 0이고, SCU(Smallest Coding Unit)의 깊이는 미리 정의된 최대 깊이일 수 있다. 여기서, LCU는 상술한 바와 같이 최대 부호화 유닛 크기를 가지는 부호화 유닛이며, SCU(Smallest Coding Unit)는 최소 부호화 유닛 크기를 가지는 부호화 유닛이다.
LCU(310)로부터 가로 및 세로 크기의 절반으로 분할을 수행할 때마다 CU의 깊이는 1씩 증가한다. 각각의 깊이 별로, 분할을 수행하지 않는 CU의 경우에는 2Nx2N 크기를 가지며, 분할을 수행하는 CU의 경우에는 2Nx2N 크기의 CU에서 NxN 크기를 가지는 4개의 CU로 분할된다. N의 크기는 깊이가 1씩 증가할 때마다 절반으로 감소한다.
도 3을 참조하면, 최소 깊이가 0인 LCU의 크기는 64x64 화소들이고, 최대 깊이가 3인 SCU의 크기는 8x8 화소들일 수 있다. 이때, 64x64 화소들의 CU(LCU)는 깊이 0으로, 32x32 화소들의 CU는 깊이 1로, 16x16 화소들의 CU는 깊이 2로, 8x8 화소들의 CU(SCU)는 깊이 3으로 표현될 수 있다.
또한, 특정 CU를 분할할지에 대한 정보는 CU마다 1비트의 분할 정보를 통해 표현될 수 있다. 이 분할 정보는 SCU를 제외한 모든 CU에 포함될 수 있으며, 예컨대 CU를 분할하지 않을 경우에는 분할 정보에 0을 저장할 수 있고, CU를 분할할 경우에는 분할 정보에 1을 저장할 수 있다.
도 4는 부호화 유닛(CU)이 포함할 수 있는 예측 유닛(PU)의 형태를 도시한 도면이다.
LCU로부터 분할된 CU 중 더 이상 분할되지 않는 CU는 하나 이상의 예측 유닛으로 분할되며 이 행위 자체 역시 분할(partition)(혹은 파티션)이라고 일컫는다.
예측 유닛(이하, PU라 함)은 예측을 수행하는 기본 단위로써, 스킵(skip) 모드, 인터(inter) 모드, 인트라(intra) 모드 중 어느 하나로 부호화 및 복호화되며, 각 모드에 따라서 다양한 형태로 파티션될 수 있다.
도 4를 참조하면, 스킵 모드의 경우, CU 내에서 파티션 없이, CU와 동일한 크기를 갖는 2Nx2N 모드(410)를 지원할 수 있다.
인터 모드의 경우, CU 내에서 8가지의 파티션된 형태, 예컨대 2Nx2N 모드(410), 2NxN 모드(415), Nx2N 모드(420), NxN 모드(425), 2NxnU 모드(430), 2NxnD 모드(435), nLx2N 모드(440), nRx2N 모드(445)를 지원할 수 있다.
인트라 모드의 경우, CU 내에서 2Nx2N 모드(410), NxN 모드(425)를 지원할 수 있다.
도 5는 부호화 유닛(CU)이 포함할 수 있는 변환 유닛(TU)의 형태를 도시한 도면이다.
변환 유닛(이하, TU라 함)은 CU 내에서 변환, 양자화, 역변환, 역양자화 과정을 위해 사용되는 기본 단위이다. TU는 정사각형 또는 직사각형 형태를 가질 수 있다. LCU로부터 분할된 CU 중 더 이상 분할되지 않는 CU는 하나 이상의 TU로 분할될 수 있다. 이때, TU의 분할 구조는 쿼드트리(quad-tree) 구조일 수 있다. 예컨대, 도 5에 도시된 바와 같이, 하나의 CU(510)가 쿼드트리 구조에 따라서 한번 혹은 그 이상 분할되어 다양한 크기의 TU들로 구성될 수 있다.
도 6은 인트라 예측 과정의 실시예를 설명하기 위한 도면이다.
인트라 예측 모드의 개수는 예측 유닛의 크기에 관계없이 35개로 고정하여 수행할 수 있으며, 이때 예측 모드는 도 6에서와 같이 2개의 비방향성 모드(DC, Planar)와 33개의 방향성 모드로 구성될 수 있다. 이때, 예측 모드의 개수는 색 성분(color component)이 휘도(luma) 신호인지 또는 색차(chroma) 신호인지에 따라 다를 수 있다. 예측 유닛의 크기는 4x4, 8x8, 16x16, 32x32, 64x64 등 NxN 형태 또는 2Nx2N 형태의 정사각형일 수 있다. 예측 유닛의 단위는 부호화 유닛(CU: Coding Unit), 예측 유닛(PU: Prediction Unit), 변환 유닛(TU: Transform Unit) 중 적어도 하나의 크기가 될 수 있다. 인트라 부/복호화는 주변의 복원된 유닛에 포함되는 샘플 값 또는 부호화 파라미터를 이용하여 수행할 수 있다.
도 7은 인터 예측 과정의 실시예를 설명하기 위한 도면이다.
도 7에 도시된 사각형은 영상(픽처)를 나타낸다. 또한, 도 7에서 화살표는 예측 방향을 나타낸다. 즉, 예측 방향에 따라 영상은 부호화/복호화될 수 있다.
각 영상(픽처)는 부호화 타입에 따라 I 픽처(Intra Picture), P 픽처(Uni-prediction Picture), B 픽처(Bi-prediction Picture)로 나뉘어지며, 각 픽처의 부호화 타입에 따라 부호화될 수 있다.
I 픽처는 픽처 간 예측 없이 영상 자체를 부호화하고, P 픽처는 순방향으로만 참조 픽처를 이용하여 픽처 간 예측 부호화하며, B 픽처는 순방향과 역방향 양측으로 참조 픽처를 이용하여 픽처 간 예측 부호화하거나, 순방향 또는 역방향 중 일측으로 참조 픽처를 이용하여 픽처 간 예측 부호화를 한다.
이때, 참조 영상을 이용하는 P 픽처 및 B 픽처는 인터 예측으로 부를 수 있다.
이하, 인터 예측에 대해 구체적으로 설명한다.
인터 예측은 참조 픽처 및 움직임 정보를 통해 수행될 수 있다. 또한, 인터 예측은 상술한 스킵 모드를 이용할 수도 있다.
참조 픽처는 현재 픽처의 이전 픽처 또는 이후 픽처 중 적어도 하나일 수 있다. 이때, 인터 예측은 참조 픽처를 기반으로 하여 블록에 대한 예측을 수행할 수 있다. 즉, 참조 픽처(reference picture)는 블록의 예측에 이용되는 영상을 의미할 수 있다.
이때, 참조 픽처 내의 영역은 참조 픽처를 지시하는 참조 픽처 인덱스(refIdx) 및 후술할 움직임 벡터(motion vector) 등을 이용하여 나타낼 수 있다. 인터 예측은 참조 픽처 및 참조 픽처 내에서 현재 블록에 대응하는 참조 블록을 선택해서, 현재 블록에 대한 예측 블록을 생성할 수 있다
움직임 정보는 인터 예측에서 부호화기 및 복호화기를 통해 도출될 수 있다. 아울러, 도출된 움직임 정보는 인터 예측을 수행하는데 사용될 수 있다.
이때, 부호화기 및 복호화기는 복원된 주변 블록(neighboring block) 및/또는 이미 복원된 콜(col) 픽쳐(collocated picture) 내에서 현재 블록에 대응되는 콜(col) 블록(collocated block)의 움직임 정보를 이용함으로써, 부호화/복호화 효율을 향상시킬 수 있다. 여기서, 복원된 주변 블록은 이미 부호화 및/또는 복호화되어 복원된 현재 픽쳐 내의 블록으로서, 현재 블록에 인접한 블록 및/또는 현재 블록의 외부 코너에 위치한 블록을 포함할 수 있다.
또한, 부호화기 및 복호화기는 콜 픽쳐 내에서 현재 블록과 공간적으로 대응되는 위치에 존재하는 블록을 기준으로, 소정의 상대적인 위치를 결정할 수 있고, 상기 결정된 소정의 상대적인 위치(상기 현재 블록과 공간적으로 대응되는 위치에 존재하는 블록의 내부 및/또는 외부의 위치)를 기반으로 상기 콜 블록을 도출할 수 있다. 여기서, 콜 픽쳐는 참조 픽쳐 리스트에 포함된 참조 픽쳐 중에서 하나의 픽쳐에 해당될 수 있다.
한편, 움직임 정보 도출 방식은 현재 블록의 예측 모드에 따라 달라질 수 있다. 인터 예측을 위해 적용되는 예측 모드에는 AMVP(Advanced Motion Vector Predictor), 머지(merge) 등이 있을 수 있다.
일례로, AMVP(Advanced Motion Vector Predictor)가 적용되는 경우, 부호화기 및 복호화기는 복원된 주변 블록의 움직임 벡터 및/또는 콜 블록의 움직임 벡터를 이용하여, 예측 움직임 벡터 후보 리스트를 생성할 수 있다. 즉, 복원된 주변 블록의 움직임 벡터 및/또는 콜 블록의 움직임 벡터는 예측 움직임 벡터 후보로 사용될 수 있다.
이때, 부호화기 및 복호화기는 상기 리스트에 포함된 예측 움직임 벡터 후보 중에서 선택된 최적의 예측 움직임 벡터를 지시하는 예측 움직임 벡터 인덱스를 복호화기로 전송할 수 있다. 이 때, 복호화기는 상기 예측 움직임 벡터 인덱스를 이용하여, 예측 움직임 벡터 후보 리스트에 포함된 예측 움직임 벡터 후보 중에서, 현재 블록의 예측 움직임 벡터를 선택할 수 있다.
이때, 부호화기는 현재 블록의 움직임 벡터와 예측 움직임 벡터 간의 움직임 벡터 차분(MVD: Motion Vector Difference)을 구할 수 있고, 이를 부호화하여 복호화기로 전송할 수 있다. 이 때, 복호화기는 수신된 움직임 벡터 차분을 복호화할 수 있고, 복호화된 움직임 벡터 차분과 예측 움직임 벡터의 합을 통해 현재 블록의 움직임 벡터를 도출할 수 있다.
이때, 부호화기는 또한 참조 픽처를 지시하는 참조 픽처 인덱스 등을 복호화기에 전송할 수 있다. 복호화기는 주변 블록의 움직임 정보들을 이용하여 현재 블록의 움직임 벡터를 예측하고, 부호화기로부터 수신한 움직임 벡터 차분을 이용하여 현재 블록에 대한 움직임 벡터를 유도할 수 있다. 복호화기는 유도한 움직임 벡터와 부호화기로부터 수신한 참조 픽처 인덱스 정보를 기반으로 현재 블록에 대한 예측 블록을 생성할 수 있다.
움직임 정보 도출 방식의 다른 예로, 병합 움직임이 적용될 수 있다. 이때, 병합 움직임은 머지(merge)를 의미할 수 있다. 머지가 적용되는 경우, 부호화기 및 복호화기는 복원된 주변 블록의 움직임 정보 및/또는 콜 블록의 움직임 정보를 이용하여, 병합 움직임 후보 목록(머지 후보 리스트, merge candidate list)를 생성할 수 있다. 이때 움직임 정보란, 움직임 벡터, 참조 영상에 대한 인덱스 그리고 예측 방향(단방향, 양방향 등) 중에서 적어도 하나를 포함한다.
이때, 병합 움직임은 부호화 유닛 또는 예측 유닛 단위로 적용될 수 있다. CU 또는 PU 단위로 병합 움직임을 수행하는 경우에는, 블록 파티션(partition)별로 병합 움직임을 수행할지에 관한 정보와 현재 블록에 인접한 주변 블록(현재 블록의 좌측 인접 블록, 현재 블록의 상측 인접 블록, 현재 블록의 시간적(temporal) 인접 블록 등) 중 어떤 블록과 병합 움직임을 할 것인지에 대한 정보를 전송할 필요가 있다.
이때, 병합 움직임 후보 목록은 움직임 정보들이 저장된 목록을 나타내며, 병합 움직임이 수행되기 전에 생성된다. 여기서 병합 움직임 후보 목록에 저장되는 움직임 정보는 현재 블록에 인접한 주변 블록의 움직임 정보이거나 참조 영상에서 현재 블록에 대응되는(collocated) 블록의 움직임 정보일 수 있다. 또한 병합 움직임 후보 목록에 저장되는 움직임 정보는 이미 병합 움직임 후보 목록에 존재하는 움직임 정보들을 조합하여 만든 새로운 움직임 정보일 수 있다.
스킵 모드는 주변 블록의 정보를 그대로 현재 블록에 이용하는 것으로, 인터 예측에 이용되는 모드 중 하나다. 스킵 모드일 경우, 부호화기는 현재 블록의 움직임 정보로서 어떤 블록의 움직임 정보를 이용할 것인지에 대한 정보만을 복호화기에 전송하며, 부호화기는 그 외의 정보(예컨대, 움직임 벡터 차분 정보 등과 같은 신택스(syntax) 정보)를 복호화기에 전송하지 않는다.
도 8은 영상 부호화 방법의 순서도이다.
도 8에 따르면, 영상 부호화 장치는 영상에 대한 예측을 수행한다(S800). 영상 부호화 장치가 영상에 대해 예측을 수행할 때, 영상 부호화 장치는 예측 블록을 이용할 수 있으며, 예측 블록은 상술한 예측 유닛(PU)에 대응될 수 있다. 이때, 예측 블록 및 영상 예측에 대한 구체적인 내용은 상술한 바와 같다.
영상 부호화 장치는 변환 커널을 이용하여, 변환을 수행할 수 있다(S810). 보다 구체적으로 영상 부호화 장치는 입력 블록과 예측 블록으로부터 생성된 잔차 블록에 대해 변환 커널을 적용함으로써, 변환을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 이때, 상기 잔차 블록은 상술한 잔여 블록, 잔여 신호, 잔차 신호 등으로 명명될 수 있다. 따라서, 이하에서는 설명의 편의를 위해 잔여 블록, 잔여 신호, 잔차 신호, 잔차 블록을 혼용하여 사용할 수 있다. 아울러, 상기 변환 커널은 변환 블록으로도 명명될 수 있으며, 이때, 상기 변환 블록은 상술한 변환 유닛에 대응될 수 있다. 따라서, 이하에서는 설명의 편의를 위해, 변환 커널, 변환 블록, 변환 유닛 또한 혼용하여 사용할 수 있다.
영상 부호화 장치가 변환을 수행할 때, 상기 잔차 블록의 크기에 대응되는 변환 블록, 또는 상기 잔차 블록의 크기보다 작은 변환 블록을 적용하여 상기 잔차 블록에 대해 변환을 수행할 수 있다. 예컨대, 상기 영상 부호화 장치는 상기 잔차 블록의 크기가 2N x 2N이라면, 상기 잔차 블록에 대해 2N x 2N의 크기를 가지는 변환 블록 하나를 적용하여 변환을 수행할 수 있으며, 상기 잔차 블록에 대해 N x N의 크기를 가지는 변환 블록 4개를 이용하여 변환을 수행할 수도 있다.
상기 변환 블록은 이산 코사인 변환(Discrete Cosine Transform; DCT)에 기반한 블록일 수 있으며, 상기 변환 블록이 특정 크기의 블록인 경우에는 이산 사인 변환(Discrete Sine Transform; DST)에 기반한 블록일 수도 있다.
이후, 영상 부호화 장치는 상기 변환 계수에 대해 양자화를 수행할 수 있다(S820).
상술한 바와 같이, DCT 변환 블록은 매우 다양한 크기를 가진다. 즉, DCT 변환 블록은 가변 크기 구조를 가진다. 이 뿐만이 아니라, 상기 변환 블록은 부호화 블록(이때, 부호화 블록은 상술한 부호화 유닛과 동일한 의미일 수 있으며, 이하에서는 설명의 편의를 위해, 부호화 블록과 부호화 유닛을 혼용하도록 한다.)으로부터 재귀적으로 사분할(Quad-tree) 되는 분할 구조를 가지므로, DCT 변환 블록을 이용하여 변환이 수행될 때, 곱셈 및 덧셈 연산이 매우 많아지게 된다. 특히, 영상 부호화 시에는 최고의 압축 효율을 얻기 위하여 율-왜곡 최적화를 수행하기 때문에, 각 블록 별로 움직임 예측과 움직임 보상, DCT 변환 및 엔트로피 부호화를 반복적으로 수행하게 된다.
이로 인해, 상술한 영상 부호화 및/또는 복호화에서의 변환 수행 과정은 매우 큰 복잡도를 가지게 되며, 상술한 복잡도로 인해, 영상의 부호화 및 복호화를 수행할 때, 영상 처리의 지연시간이 증대된다. 이 뿐만이 아니라, 매우 많은 곱셈 및 덧셈 연산을 수행해야 되는 상술한 부호화 및 복호화의 과정을 구현하는 장치는 매우 큰 복잡도를 가지기에, 상기 장치의 구현에는 많은 비용이 들게 된다.
이에, 본 발명에서는 부호화 및/또는 복호화 과정에서의 변환을 수행 과정을 복수의 단계로 분리하는 것을 추가적으로 제안한다. 이때, 본 발명에서는 설명의 편의를 위해, 상술한 변환을 수행하는 단계를 두 단계로 분리하는 영상 부호화 및/또는 복호화 방법 및 이를 이용하는 장치를 설명하도록 한다.
도 9는 본 발명의 일 실시예에 따른 영상 부호화 장치의 블록도다.
도 9에 따르면, 영상 부호화 장치(900)는 제1 변환 커널 적용부(910), 변환부(920) 및 양자화부(930)를 포함한다.
제1 변환 커널 적용부(910)는 제1 변환 커널에 기반하여 변환을 수행할 수 있다. 보다 구체적으로, 제1 변환 커널 적용부(910)에서는 예측 블록에 대해 제1 변환 커널이 적용될 수 있다. 혹은, 제1 변환 커널 적용부(910)에서는 예측 블록으로부터 제1 변환 커널을 도출할 수도 있으며, 또는, 상기 제1 변환 커널 적용부(910)는 제1 변환 커널을 적용한 결과를 예측 단계에서 얻을 수도 있다. 즉, 상기 제1 변환 커널은 상기 예측 블록과 상관관계를 맺는다. 또한, 제1 변환 커널 적용부(910)에서는, 상기 예측 블록의 크기에 기반하여, 상기 제1 변환 커널이 도출될 수 있으며, 상기 제1 변환 커널은 상기 예측 블록의 크기보다 작거나 같을 수 있다. 제1 변환 커널과, 예측 블록의 상관관계에 대한 구체적인 예는 추후 구체적으로 서술하도록 한다.
아울러, 제1 변환 커널 적용부(910)는 부호화 블록 또는 부호화 단위 블록에 대해 제1 변환 커널이 적용될 수도 있으며, 제1 변환 커널 적용부(910)에서는 부호화 블록(혹은 부호화 단위 블록, 이하에서는 설명의 편의를 위해 부호화 단위 블록과, 부호화 블록을 혼용하도록 한다.)으로부터 제1 변환 커널을 도출할 수도 있으며, 또는, 상기 제1 변환 커널 적용부(910)는 제1 변환 커널을 적용한 결과를 예측 단계에서 얻을 수도 있다. 즉, 상기 제1 변환 커널은 상기 부호화 블록과 상관관계를 맺는다. 또한, 제1 변환 커널 적용부(910)에서는, 상기 부호화 블록의 크기에 기반하여, 상기 제1 변환 커널이 도출될 수 있으며, 상기 제1 변환 커널은 상기 부호화 블록의 크기보다 작거나 같을 수 있다. 제1 변환 커널과, 부호화 블록의 상관관계에 대한 구체적인 예는 추후 구체적으로 서술하도록 한다.
상술한 제1 변환 커널은 예측 부호화를 할 때, 상술한 움직임 벡터의 결정을 위해 사용될 수도 있다. 즉, 제1 변환 커널은 인터 예측 모드에서 생성된 변환 커널일 수 있으며, 상기 제1 변환 커널은 인터 예측 모드에서 예측을 위해 사용되는 커널일 수도 있다. 아울러, 상술한 제1 변환 커널은 예측 부호화를 할 때, 인트라 예측 모드에서 생성된 변환 커널일 수 있으며, 상기 제1 변환 커널은 인트라 예측 모드에서 예측을 위해 사용되는 커널일 수도 있다.
이때, 상기 제1 변환 커널은 월시-하다마드 변환 또는 커널 또는 2-자승 변환 커널을 의미할 수 있으며, 월시 하다마드 또는 2-자승 변환은 작은 연산량 때문에 구현이 용이하고 고속으로 동작할 수 있는 장점이 있다. 이하에서는 월시-하다마드 변환은 월시 변환 또는 하다마드 변환으로도 명명될 수 있다.
월시 하다마드 변환 커널의 일례는 아래 식 1과 같다.
Figure 112017086694241-pct00003
상기 2-자승 변환 커널의 일례는 아래 식 2와 같다.
Figure 112017086694241-pct00004
변환부(920)는 제2 변환 커널에 기반하여, 변환을 수행함으로써, 변환 계수를 도출할 수 있다. 보다 구체적으로, 상기 변환부(920)는 상기 제1 변환 커널이 적용된 신호에, 추가적으로 제2 변환 커널을 적용할 수 있다. 이때, 상기 제2 변환 커널은 상기 제1 변환 커널과는 상이한 변환 커널에 해당하며, 제2 변환 커널은 낮은 복잡도를 가지는 변환 커널에 해당한다. 즉, 제2 변환 커널은 낮은 복잡도를 위해, 시프트(shift), 덧셈 또는 뺄셈 연산만을 이용하여 구현될 수 있도록 설계된 변환 커널에 해당할 수 있다. 상기 제2 변환 커널은 희소 행렬(sparse matrix) 특성을 가지는 행렬 A로 표현될 수 있다. 희소 행렬은 0을 많이 포함하는 행렬을 의미하며, 희소 행렬은 행렬 내에 0을 많이 포함하고 있기 때문에, 정수로된 계수로서 낮은 복잡도를 가지는 행렬로 표현할 수 있다.
즉, 변환부(920)에서는 제1 변환 커널이 적용된 결괴에 제2 변환 커널이 적용될 수 있다. 이를 달리 말하면, 변환부(920)에서는 제2 변환 커널이 적용되기 전에 제1 변환 커널이 미리 적용될 수 있다.
예컨대, 본 발명에 따른 영상 부호화 장치(900)는, 상술한 월시 하다마드 변환 커널과 희소행렬 A로서 변환을 수행할 수 있다. 즉, 본 발명에 따른 영상 부호화 장치는 월시 하다마드 변환 커널 및 희소행렬 A로서, 종래의 DCT 변환을 수행할 수 있다. 이때, 월시 하다마드 변환 커널과 희소 행렬로서 변환을 수행하는 것은 아래 식 3과 같이 나타낼 수 있다.
Figure 112017086694241-pct00005
이때, M은 행렬의 크기를 의미하며, AM은 희소 행렬을 의미하고, Hw,M은 상술한 월시 하다마드 행렬을 의미하며, 상술한 식 3에서 A8을 유도화하고, A8을 정수화할 경우, A8의 일례는 아래 식 4와 같이 나타낼 수 있다.
Figure 112017086694241-pct00006
희소행렬인 A8을 버터플라이 구조와, 정수 계수를 이용하여 구현하면 도 10과 같으며, 도 10은 희소행렬인 A8을 버터플라이 구조와, 정수 계수를 이용하여 구현한 일례다.
이때, A8 행렬 연산은 내부에 적어도 하나 이상의 A4 행렬을 포함한다. A8의 예에서는 각 기저벡터의 정규화가 양자화와 같이 수행되기 때문에, 각 기저벡터는 정규화된 기저 커널을 사용할 필요는 없다.
이때, 상술한 계수들은 시프트와 덧셈으로서 연산이 가능하다.
다시 도 9로 돌아와, 예컨대, 본 발명에 따른 영상 부호화 장치(900)는, 상술한 2-자승 변환 커널과 희소행렬 A로서 변환을 수행할 수 있다. 즉, 본 발명에 따른 영상 부호화 장치(900)는 2-자승 변환 커널 및 희소행렬 A로서, 종래의 DCT 변환을 수행할 수 있다. 이때, 2-자승 변환 커널과 희소 행렬로서 변환을 수행하는 것은 아래 식 5와 같이 나타낼 수 있다.
Figure 112017086694241-pct00007
이때, M은 행렬의 크기를 의미하며, AM은 희소 행렬을 의미하고, T2-p,M은 상술한 2-자승 행렬을 의미하며, 상술한 식 5에서 A8을 유도화하고, A8을 정수화할 경우, A8의 일례는 아래 식 6과 같이 나타낼 수 있다.
Figure 112017086694241-pct00008
상술한 예시들을 정리하면, 변환부(920)에서는 희소 행렬이 적용되기 전에 월시 하다마드 행렬 또는 2-자승 행렬이 미리 적용될 수 있다.
양자화부(930)는 입력된 변환 계수를 양자화 파라미터에 따라 양자화할 수 있다. 보다 구체적으로, 양자화부(930)는 입력된 변환 계수를 양자화 파라미터에 따라 양자화하여 양자화된 변환 계수 레벨을 출력할 수 있다. 즉, 양자화부(930)는 양자화 행렬을 사용하여 입력된 변환 계수를 양자화 할 수 있다. 이때, 제1 변환 커널과 제2 변환 커널에 대한 정규화는 양자화와 같이 실행될 수 있다.
이때, N 포인트 월시 하다마드 행렬의 정규화, 양자화 및 역양자화는 예컨대, 식 7과 같이 나타낼 수 있다.
Figure 112017086694241-pct00009
정수 연산을 위하여 상술한 식 7의 내용을 다시 표현하면 아래 식 8과 같이 나타낼 수 있다.
Figure 112017086694241-pct00010
이때, RK(i,j) 및 QK(i,j)는 아래 식 9와 같이 표현할 수 있다.
Figure 112017086694241-pct00011
이하에서는, 상술했던 제1 변환 커널과, 예측 블록의 상관관계에 대한 구체적인 예를 도 11을 통해 설명하도록 한다.
도 11은 본 발명의 일 실시예에 따른, 예측 블록과 변환 커널의 상관관계를 개략적으로 도시한 도면이다.
도 11에는 (a) 4N x 4N 크기의 부호화 블록에 3N x 4N 크기의 예측 블록(1110) 및 N x 4N 크기의 예측 블록(1120)이 포함되어 있는 경우, (b) 3N x 4N 크기의 예측 블록(1110) 및 N x 4N 크기의 예측 블록(1120)과 본 발명에서 제안하는 제1 변환 커널 간의 상관관계에 대한 일예가 개략적으로 도시되어 있다.
도 11의 예에 따르면, 4N x 4N 크기의 부호화 블록에 3N x 4N 크기의 예측 블록(1110) 및 N x 4N 크기의 예측 블록(1120)이 포함된 경우, 상기 3N x 4N 예측 블록(1110)으로부터 얻은 잔차 신호에 대해, 2개의 2N x 2N 크기의 변환 커널(1130) 및 4개의 N x N 크기의 변환 커널(1140)을 적용하여 변환을 수행하고, N x 4N 예측 블록(1120)으로부터 얻은 잔차 신호에 대해서는, 4개의 N x N 크기의 변환 커널(1150)을 적용하여 변환을 수행할 수 있다. 즉, 3N x 4N 크기의 예측 블록(1110)에는 2개의 2N x 2N 변환 커널(1130) 및 4개의 N x N 변환 커널(1140)이 포함될 수 있으며, N x 4N 크기의 예측 블록(1120)에는 4개의 N x N 변환 커널(1150)이 포함될 수 있다. 이때, 예측 블록의 크기에 따라 적용되는 변환 커널 즉, 상기 예측 블록에 포함되어 있는 상기 변환 커널은 상술한 제1 변환 커널에 해당할 수 있으며, 상기 제1 변환 커널은 상술한 바와 같이 월시 하다마드 변환 커널 또는 2-자승 변환 커널에 해당할 수 있다.
이후, 상술한 예측 블록의 크기에 따라 적용되는 변환 커널(예컨대 제1 변환 커널)에 대응되는 크기의 희소행렬(예컨대, 희소행렬 A)을 적용하여 변환 계수(예컨대, DCT 변환 계수)를 도출할 수 있다.
예컨대, 3N x 4N 크기의 예측 블록(1110)에 포함되어 있는 2개의 2N x 2N 변환 커널(1130) 및 4개의 N x N 변환 커널(1140)에 대해, 상기 2개의 2N x 2N 변환 커널(1130) 및 4개의 N x N 변환 커널(1140)에 대응되는 희소행렬 A를 적용하여 변환 계수를 도출하고, N x 4N 크기의 예측 블록(1120)에 포함되어 있는 4개의 N x N 변환 커널(1150)에 대해, 4개의 N x N 변환 커널(1150)에 대응되는 희소행렬 A를 적용하여, 변환 계수를 도출할 수 있다.
상술한 바와 같이, 변환 커널(예컨대 제1 변환 커널)은 변환 블록을 의미할 수 있으며, 변환 커널(예컨대, 제1 변환 커널)은 변환 블록과는 다른 별도의 블록을 의미할 수 있다. 즉, 변환 커널(예컨대, 제1 변환 커널)은 부호화 블록 및/또는 예측 블록에 기반하여 생성된 블록을 의미할 수 있다.
상술한 도 11의 예를 달리 설명하면, 1. 부호화 블록은 적어도 하나 이상의 예측 블록으로 분할되고, 2. 상기 예측 블록은 적어도 하나 이상의 변환 커널을 포함할 수 있다. 3. 이때, 상기 예측 블록에 포함되어 있는 변환 커널은 상기 예측 블록의 크기에 기반하여 도출된 것이며, 4. 상기 예측 블록에 포함되어 있는 변환 커널의 형태는 정방형 또는 비정방형일 수 있다. 5. 이때, 상술한 바와 같이 예측 블록에 포함되어 있는 변환 커널들은 예측 블록의 크기보다 작거나 같을 수 있다.
도 11의 예시에서는 예측 블록의 가로 변의 크기 또는 세로 변의 크기 중 작은 크기보다 같거나 작은 정방형(square) 크기의 변환 커널을 적용하는 예를 서술 하였다. 하지만, 본 발명은 도 11의 예에 한정되지 않으며, 예측 블록의 크기와 동일하거나 작은 크기의 비정방형(non-square) 크기의 변환 커널을 적용할 수 있다. 이 뿐만이 아니라, 본 발명에서의 예측 블록에는 정방형의 변환 커널과 비정방형의 변환 커널의 조합이 적용될 수도 있다.
예컨대, 3N x 4N 크기의 예측 블록(1110)에는 1개의 3N x 4N 크기의 변환 커널이 적용될 수 있다. 또한, 3N x 4N 크기의 예측 블록(1110)에는 2개의 3N x 2N 크기의 변환 커널이 적용될 수 있다. 즉, 본 발명에 따른 예측 블록에는 예측 블록의 크기와 같거나 작은 변환 커널이 적어도 한 개 이상 적용될 수 있다.
이때, 제1 변환 커널의 크기를 최대 8 x 8로 하였을 때, 부호화 블록과, 예측 블록의 크기에 따른 제1 변환 커널(특히 월시 하다마드 변환 커널)의 크기와, 희소 행렬의 크기의 예는 아래 표 1 및 표 2와 같다.
예측 블록타입 부호화 블록의 크기
8 x 8 16 x 16 32 x 32 64 x 64
2N x 2N H8 H8 H8 H8
N x 2N H4 H8 H8 H8
N x N H4 H8 H8 H8
표 1은 월시 하다마드 변환 커널의 크기를 최대 8 x 8로 하였을 때의 예시에 해당한다.
예측 블록타입 부호화 블록의 크기
8 x 8 16 x 16 32 x 32 64 x 64
2N x 2N H8 H16 H32 H32
N x 2N H4 H8 H16 H32
N x N H4 H8 H16 H32
표 2는 월시 하다마드 변환 커널의 크기를 최대 32 x 32로 하였을 때의 예시에 해당한다.
이하에서는 상술한 제1 변환 커널을 적용한 후, 제2 변환 커널을 적용하는 구체적인 일례를 도 12를 통해 서술하도록 한다.
도 12는 본 발명의 일 실시예에 따른, 가변 분할 블록에 적용되는 변환 커널을 개략적으로 도시한 도면이다.
도 12에 따르면, 8N x 8N 크기의 블록(1200)은 4N x 4N, 2N x 2N 및/또는 N x N 크기의 블록을 포함할 수 있다. 이때, 8N x 8N 블록(1200)은 CTU(즉, LCU)를 의미할 수 있으며, 혹은 8N x 8N 블록(1200) 자체가 부호화 블록을 의미할 수도 있다.
8N x 8N 블록(1200)에는 4N x 4N 블록이 포함될 수 있다.
이때, 4N x 4N 블록은 부호화 블록을 의미할 수 있다. 4N x 4N 크기의 부호화 블록은 4N x 4N 크기의 예측 블록을 통해 예측이 수행될 수 있으며, 이때, 부호화 장치에서는 4N x 4N 크기의 예측 블록에 대응되는 4N x 4N 제1 변환 커널 및 4N x 4N 제2 변환 커널에 기반하여, 변환이 수행될 수 있다(1210).
이때, 4N x 4N 크기의 부호화 블록은 4개의 2N x 2N 크기의 예측 블록을 포함(즉, 2N x 2N 예측 블록이 4N x 4N 크기의 부호화 블록 으로부터 도출)할 수 있다. 본 발명에 따른 부호화 장치에서는, 예측 블록의 크기가 2N x 2N일 경우, 각각의 예측 블록의 크기에 대응되는 제1 변환 커널 및 제2 변환 커널에 기반하여, 변환이 수행될 수 있다. 즉, 4N x 4N 크기의 부호화 블록은 4개의 2N x 2N 제1 변환 커널 및 2N x 2N 제2 변환 커널의 조합으로부터 변환이 수행될 수 있다(1220).
8N x 8N 블록(1200)에는 2N x 2N 블록이 포함될 수 있다.
이때, 2N x 2N 블록은 부호화 블록을 의미할 수 있으며, 2N x 2N 블록은 2N x 2N 예측 블록을 포함할 수 있다. 이때, 본 발명에 따르는 부호화 장치에서는 2N x 2N 크기의 제1 변환 커널 및 2N x 2N 크기의 제2 변환 커널의 조합으로부터 변환이 수행될 수 있다(1230).
8N x 8N 블록(1200)에는 N x N 블록이 포함될 수 있다.
이때, N x N 블록은 부호화 블록을 의미할 수 있으며, N x N 블록은 N x N 예측 블록을 포함할 수 있다. 이때, 본 발명에 따르는 부호화 장치에서는 N x N 크기의 제1 변환 커널 및 N x N 크기의 제2 변환 커널의 조합으로부터 변환이 수행될 수 있다(1240).
도 13은 본 발명의 일 실시예에 따른 영상 부호화에서의 변환 방법의 순서도다.
도 13에 따르면, 영상 부호화 장치는 잔차 신호에 대해 제1 변환 커널을 적용할 수 있다(S1310). 이때, 영상 부호화 장치가 잔차 신호에 대해 제1 변환 커널을 적용하는 구체적인 예는 상술한 바와 같다. 즉, 영상 부호화 장치는 예측 블록에 대해 제1 변환 커널을 적용할 수 있다. 혹은, 영상 부호화 장치는 예측 블록으로부터 제1 변환 커널을 도출할 수도 있으며, 또는, 영상 부호화 장치는 제1 변환 커널을 적용한 결과를 예측 단계에서 얻을 수도 있다. 즉, 상기 제1 변환 커널은 상기 예측 블록과 상관관계를 맺는다. 또한, 영상 부호화 장치에서는, 상기 예측 블록의 크기에 기반하여, 상기 제1 변환 커널이 도출될 수 있으며, 상기 제1 변환 커널은 상기 예측 블록의 크기보다 작거나 같을 수 있다. 영상 부호화 장치가 제1 변환 커널을 적용하는 구체적인 예에 대해서는 상술하였기 때문에, 이하에서는 영상 부호화 장치가 제1 변환 커널을 적용하는 구체적인 예에 대해서는 생략하도록 한다.
이후, 영상 부호화 장치는 제1 변환 커널이 적용된 결과에 대해 제2 변환 커널을 적용한다(S1320). 이때, 제2 변환 커널은 낮은 복잡도를 가지는 변환 커널을 의미할 수 있으며, 영상 부호화 장치가 제2 변환 커널을 적용하는 구체적인 예는 상술한 바와 같다. 즉, 영상 부호화 장치는 상기 제1 변환 커널이 적용된 신호에, 추가적으로 제2 변환 커널을 적용할 수 있다. 이때, 상기 제2 변환 커널은 상기 제1 변환 커널과는 상이한 변환 커널에 해당하며, 제2 변환 커널은 낮은 복잡도를 가지는 변환 커널에 해당한다. 즉, 제2 변환 커널은 낮은 복잡도를 위해, 시프트(shift), 덧셈 또는 뺄셈 연산만을 이용하여 구현될 수 있도록 설계된 변환 커널에 해당할 수 있다. 상기 제2 변환 커널은 희소 행렬(sparse matrix) 특성을 가지는 행렬 A로 표현될 수 있다. 희소 행렬은 0을 많이 포함하는 행렬을 의미하며, 희소 행렬은 행렬 내에 0을 많이 포함하고 있기 때문에, 정수로된 계수로서 낮은 복잡도를 가지는 행렬로 표현된다. 영상 부호화 장치가 제2 변환 커널을 적용하는 예에 대해서는 상술하였기 때문에, 이하에서는 영상 부호화 장치가 제2 변환 커널을 적용하는 예에 대해서는 생략하도록 한다.
도 14는 본 발명의 일 실시예에 따른 영상 부호화 방법의 순서도다.
도 14에 따르면, 영상 부호화 장치는 예측을 수행한다(S1400). 이때, 영상 부호화 장치가 예측을 수행하는 구체적인 예는 상술한 바와 같다.
영상 부호화 장치는 잔차 블록에 대해 제1 변환 커널을 적용할 수 있다(S1410). 이때, 영상 부호화 장치가 잔차 블록에 대해 제1 변환 커널을 적용하는 구체적인 방법은 상술한 바와 같다.
영상 부호화 장치는 제2 변환 커널을 적용한다(S1420). 보다 구체적으로, 영상 부호화 장치는 상술한 제1 변환 커널이 적용된 결과에 대해, 제2 변환 커널을 추가적으로 적용할 수 있으며, 영상 부호화 장치가 제2 변환 커널을 적용하는 구체적인 예는 상술한 바와 같다.
영상 부호화 장치는 변환 커널이 적용된 결과 즉, 변환 계수에 대해 양자화를 수행할 수 있다(S1430). 이때, 영상 부호화 장치가 양자화를 수행하는 구체적인 예는 상술한 바와 같다.
도 15는 본 발명의 일 실시예에 따른 영상 복호화 장치의 블록도이다.
도 15에 따르면, 영상 복호화 장치(1500)는 역양자화부(1510), 제1 변환커널 적용부(1520) 및 역변환부(1530)를 포함할 수 있다.
역양자화부(1510)는 양자화된 잔차 신호에 대해 역양자화를 수행한다. 이때, 역양자화부의 구체적인 실시예는 상술한 바와 같다.
제1 변환 커널 적용부(1520)는 제1 변환 커널에 기반하여, 변환을 수행할 수 있다. 이때, 제1 변환 커널을 적용하는 구체적인 예는 상술한 바와 같다.
역변환부(1530)는 제2 변환 커널에 기반하여 변환을 수행함으로써, 변환 계수를 도출할 수 있다. 이때, 제2 변환 커널에 기반하여 역변환을 수행하는 구체적인 예는 상술한 바와 같다. 즉, 본 발명에 따른 영상 복호화 장치는 상술한 바와 같이, 제1 변환 커널을 적용한 후 제2 변환 커널을 적용할 수 있다.
도 16은 본 발명의 일 실시예에 따른 영상 복호화에서의 변환 방법의 순서도이다.
도 16에 따르면, 영상 복호화 장치는 제1 변환 커널을 적용할 수 있다(S1600). 이때, 제1 변환 커널에 대한 구체적인 내용 및 제1 변환 커널을 적용하는 구체적인 내용은 상술한 바와 같다.
영상 복호화 장치는 제2 변환 커널을 적용할 수 있다(S1610). 이때, 제2 변환 커널은 낮은 복잡도를 가지는 변환 커널을 의미하며, 제2 변환 커널에 대한 구체적인 내용 및 제2 변환 커널을 적용하는 구체적인 내용은 상술한 바와 같다.
도 17은 본 발명의 일 실시예에 따른 영상 복호화 방법의 순서도이다.
도 17에 따르면, 영상 복호화 장치는 역양자화를 수행하며(S1700), 역양자화를 수행하는 구체적인 예는 상술한 바와 같다.
영상 복호화 장치는 예측을 수행한다(S1710). 이때, 영상 복호화 장치가 예측을 수행하는 구체적인 예는 상술한 바와 같다.
영상 복호화 장치는 제1 변환 커널을 추가적으로 적용한다(S1720). 이때, 제1 변환 커널의 구체적인 예 및 제1 변환 커널을 적용하는 구체적인 예는 상술한 바와 같다.
영상 복호화 장치는 제2 변환 커널을 적용한다(S1730). 이때, 제2 변환 커널은 낮은 복잡도를 가지는 변환 커널을 의미하며, 제2 변환 커널의 구체적인 예 및 제2 변환 커널을 적용하는 구체적인 예는 상술한 바와 같다.
예컨대, 도 17에 따른 영상 복호화 방법에서는, 1. 잔차 신호에 대해 역양자화를 수행하고, 2. 역양자화는 별개로 영상에 대한 예측이 수행되며, 3. 예측에 기반하여, 제1 변환 커널이 적용된 후, 4. 역양자화된 결과 및 제1 변환 커널이 적용된 결과에 기반하여 제2 변환 커널이 적용될 수도 있다.
도 9 ? 17의 내용을 정리하면 아래와 같다. 상술한 바와 같이, 예측 블록의 크기와 변환 블록의 크기가 독립적으로 결정될 경우에는 예측시에 사용한 월시 하다마드 변환 결과를 DCT 연산에 활용하는데 제약조건이 발생된다. 즉, 움직임 예측시에 월시 하다마드 변환을 사용하여 움직임 벡터를 결정하는데 있어, 월시 하다마드 변환이 인해 DCT와의 상이함으로 부호화 효율이 높은 움직임 예측을 구하는데 제약이 있었다.
이에, 본 발명은 상술한 바와 같이 영상 부호화에서 부호화 블록을 변환 부호화함에 있어서, DCT 변환을 월시 하다마드변환 또는 2-자승 변환 커널과 또 다른 희소행렬 특성의 변환 커널을 이용하여 분할하여 수행할 수 있으며, DCT가 월시 하다마드 변환 커널 또는 2-자승 변환 커널을 이용하여 수행될 수 있는 특성을 이용하여 움직임 예측 시 수반되는 월시 하다마드 변환 또는 2-자승 변환 정보에 DCT를 생성시킬 수 있는 변환 커널을 적용하여 DCT 연산을 수행함으로써, 예측잔차 신호를 직접 DCT 변환을 수행하는 것이 비해 연산량을 매우 크게 절약할 수 있다.
이로 인해, 본 발명은 영상 부호화 시 수반되는 DCT의 높은 연산량을 크게 감소 시키면서 높은 부호화 효율을 유지시키는 장점이 있다. DCT가 월시 하다마드 연산을 통해 구현할 수 있고, 월시 하다마드 연산은 예측 단계의 부호화 과정 중에 발생하는 부차적인 결과 이므로 월시 하다마드로 연산된 블록에 DCT를 생성하는 블록만을 추가적으로 곱해주면 DCT 결과와 동일한 블록을 저 복잡도로 생성할 수 있는 것이 본 발명의 장점이다.
또한 본 발명에서는 분할 부호화/복호화 블록 구조에서 예측 블록의 크기/모양을 고려하여 월시 하다마다 변환을 사용하고, 월시 하다마다 변환 결과를 DCT 변환에 사용하기 위해 DCT 커널을 설계함에 있어 월시 하다마다 변환 또는 2-자승 변환 커널과 결합하여 사용할 수 있다.
또한, 본 발명에서는 움직임 예측시에 2-자승 변환 커널을 사용함으로써 작은 연산 복잡도로 움직임 예측 부호화 성능을 향상 시킬 뿐만 아니라 DCT 변환 시에 재 사용이 가능한 것이 특징이다.
이로부터, 영상 부호화 시 DCT로 인해 발생하는 높은 연산량을 줄임으로써 하드웨어와 같은 자원이 제한적인 환경에서 고효율의 압축 성능을 보이는 부/복호화기 설계가 가능하다.
상술한 실시예들에서, 방법들은 일련의 단계 또는 유닛으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
상술한 실시예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.
상술한 본 발명에 따른 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
또한, 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해 되어서는 안 될 것이다.

Claims (20)

  1. 제1 변환 커널에 기반하여, 잔차 블록에 대해 변환을 수행하는 단계; 및
    변환된 상기 잔차 블록에 대해, 낮은 복잡도를 가지는 제2 변환 커널에 기반하여 변환을 수행하는 단계; 를 포함하되,
    상기 제1 변환 커널은 예측 블록 또는 부호화 단위 블록에 기반하여 도출되는 2-자승 변환 커널이고, 상기 제2 변환 커널은 희소 행렬인 것을 특징으로 하는 저 복잡도 변환에 기반한 영상 복호화 방법.
  2. 제1항에 있어서,
    상기 예측 블록은 적어도 하나 이상의 제1 변환 커널을 포함하는 것을 특징으로 하는 저 복잡도 변환에 기반한 영상 복호화 방법.
  3. 제2항에 있어서,
    상기 예측 블록은 정방형 또는 비정방형인 것을 특징으로 하는 저 복잡도 변환에 기반한 영상 복호화 방법.
  4. 제2항에 있어서,
    상기 예측 블록에 포함된 상기 제1 변환 커널은 정방형 또는 비정방형인 것을 특징으로 하는 저 복잡도 변환에 기반한 영상 복호화 방법.
  5. 제2항에 있어서,
    상기 예측 블록은 3N x 4N의 크기를 가지고, 상기 예측 블록에는 2N x 2N의 크기를 가지는 제1 변환 커널 2개와, N x N의 크기를 가지는 제1 변환 커널 4개가 포함되어 있는 것을 특징으로 하는 저 복잡도 변환에 기반한 영상 복호화 방법.
  6. 제1항에 있어서,
    상기 제2 변환 커널은 상기 제1 변환 커널의 크기와 동일한 것을 특징으로 하는 저 복잡도 변환에 기반한 영상 복호화 방법.
  7. 제1항에 있어서,
    상기 제1 변환 커널과 상기 제2 변환 커널을 모두 적용한 변환은 이산 코사인 변환(Discrete Cosine Transform)에 대응되는 변환인 것을 특징으로 하는 저 복잡도 변환에 기반한 영상 복호화 방법.
  8. 제1항에 있어서,
    상기 제1 변환 커널은 월시 하다마드 변환 커널이고,
    상기 제2 변환 커널은 희소 행렬인 것을 특징으로 하는 저 복잡도 변환에 기반한 영상 복호화 방법.
  9. 제8항에 있어서,
    상기 월시 하다마드 변환 커널과, 상기 희소 행렬에 기반한 변환은 아래 식과 같이 정의되고,
    Figure 112017086694241-pct00012
    ,
    상기 CM은 DCT 변환에 대응되고, 상기 M은 변환 커널의 크기이고, 상기 AM은 희소 행렬이고, 상기 Hw,M은 월시 하다마드 변환 커널인 것을 특징으로 하는 저 복잡도 변환에 기반한 영상 복호화 방법.
  10. 삭제
  11. 제 1항에 있어서,
    상기 2-자승 변환 커널과, 상기 희소 행렬에 기반한 변환은 아래 식과 같이 정의되고,
    Figure 112023047857358-pct00013
    ,
    상기 CM은 DCT 변환에 대응되고, 상기 M은 변환 커널의 크기이고, 상기 AM은 희소 행렬이고, 상기 T2-p,M은 2-자승 변환 커널인 것을 특징으로 하는 저 복잡도 변환에 기반한 영상 복호화 방법.
  12. 제1 변환 커널에 기반하여, 잔차 블록에 대해 변환을 수행하는 단계; 및
    변환된 상기 잔차 블록에 대해, 낮은 복잡도를 가지는 제2 변환 커널에 기반하여 변환을 수행하는 단계; 를 포함하되,
    상기 제1 변환 커널은 예측 블록 또는 부호화 단위 블록에 기반하여 도출되는 2-자승 변환 커널이고, 상기 제2 변환 커널은 희소 행렬인 것을 특징으로 하는 저 복잡도 변환에 기반한 영상 부호화 방법.
  13. 제12항에 있어서,
    상기 예측 블록은 적어도 하나 이상의 제1 변환 커널을 포함하는 것을 특징으로 하는 저 복잡도 변환에 기반한 영상 부호화 방법.
  14. 제13항에 있어서,
    상기 예측 블록은 정방형 또는 비정방형인 것을 특징으로 하는 저 복잡도 변환에 기반한 영상 부호화 방법.
  15. 제13항에 있어서,
    상기 예측 블록에 포함된 상기 제1 변환 커널은 정방형 또는 비정방형인 것을 특징으로 하는 저 복잡도 변환에 기반한 영상 부호화 방법.
  16. 제13항에 있어서,
    상기 예측 블록은 3N x 4N의 크기를 가지고, 상기 예측 블록에는 2N x 2N의 크기를 가지는 제1 변환 커널 2개와, N x N의 크기를 가지는 제1 변환 커널 4개가 포함되어 있는 것을 특징으로 하는 저 복잡도 변환에 기반한 영상 부호화 방법.
  17. 제12항에 있어서,
    상기 제2 변환 커널은 상기 제1 변환 커널의 크기와 동일한 것을 특징으로 하는 저 복잡도 변환에 기반한 영상 부호화 방법.
  18. 제12항에 있어서,
    상기 제1 변환 커널과 상기 제2 변환 커널을 모두 적용한 변환은 이산 코사인 변환(Discrete Cosine Transform)에 대응되는 변환인 것을 특징으로 하는 저 복잡도 변환에 기반한 영상 부호화 방법.
  19. 제1 변환 커널에 기반하여, 잔차 블록에 대해 변환하는 제1 변환 커널 적용부; 및
    변환된 상기 잔차 블록에 대해, 낮은 복잡도를 가지는 제2 변환 커널에 기반하여 변환하는 역변환부; 를 포함하되,
    상기 제1 변환 커널은 예측 블록 또는 부호화 단위 블록에 기반하여 도출되는 2-자승 변환 커널이고, 상기 제2 변환 커널은 희소 행렬인 것을 특징으로 하는 저 복잡도 변환에 기반한 영상 복호화 장치.
  20. 제1 변환 커널에 기반하여, 잔차 블록에 대해 변환하는 제1 변환 커널 적용부; 및
    변환된 상기 잔차 블록에 대해, 낮은 복잡도를 가지는 제2 변환 커널에 기반하여 변환하는 변환부; 를 포함하되,
    상기 제1 변환 커널은 예측 블록 또는 부호화 단위 블록에 기반하여 도출되는 2-자승 변환 커널이고, 상기 제2 변환 커널은 희소 행렬인 것을 특징으로 하는 저 복잡도 변환에 기반한 영상 부호화 장치.
KR1020177025127A 2015-03-06 2015-12-21 저 복잡도 변환에 기반한 영상 부호화 및 복호화 방법 및 이를 이용하는 장치 KR102600756B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20150031851 2015-03-06
KR1020150031851 2015-03-06
PCT/KR2015/014045 WO2016143991A1 (ko) 2015-03-06 2015-12-21 저 복잡도 변환에 기반한 영상 부호화 및 복호화 방법 및 이를 이용하는 장치

Publications (2)

Publication Number Publication Date
KR20170117112A KR20170117112A (ko) 2017-10-20
KR102600756B1 true KR102600756B1 (ko) 2023-11-10

Family

ID=56880174

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177025127A KR102600756B1 (ko) 2015-03-06 2015-12-21 저 복잡도 변환에 기반한 영상 부호화 및 복호화 방법 및 이를 이용하는 장치

Country Status (3)

Country Link
US (1) US10531123B2 (ko)
KR (1) KR102600756B1 (ko)
WO (1) WO2016143991A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3306937A1 (en) * 2016-10-05 2018-04-11 Thomson Licensing Method and apparatus for encoding and decoding a video
US11405645B2 (en) * 2017-02-28 2022-08-02 Google Llc Transform kernel selection and entropy coding
WO2018226067A1 (ko) * 2017-06-08 2018-12-13 엘지전자 주식회사 비디오 압축을 위한 변환 커널의 저복잡도 연산을 수행하는 방법 및 장치
US11070806B2 (en) * 2017-06-28 2021-07-20 Lg Electronics Inc. Method and apparatus for performing low complexity computation in transform kernel for video compression
US11589066B2 (en) * 2017-07-04 2023-02-21 Samsung Electronics Co., Ltd. Video decoding method and apparatus using multi-core transform, and video encoding method and apparatus using multi-core transform
WO2019050300A1 (ko) * 2017-09-06 2019-03-14 가온미디어 주식회사 효과적인 차분양자화 파라미터 전송 기반 영상 부/복호화 방법 및 장치
CN109922348B (zh) * 2017-12-13 2020-09-18 华为技术有限公司 图像编解码方法和装置
WO2019190284A1 (ko) * 2018-03-29 2019-10-03 엘지전자 주식회사 비디오 압축을 위한 변환 커널의 저복잡도 연산을 수행하는 방법 및 장치
US11647214B2 (en) * 2018-03-30 2023-05-09 Qualcomm Incorporated Multiple transforms adjustment stages for video coding
CN115604470A (zh) * 2018-04-01 2023-01-13 Lg电子株式会社(Kr) 视频编解码方法、计算机可读存储介质及发送方法
WO2019194503A1 (ko) * 2018-04-01 2019-10-10 엘지전자 주식회사 분할된 블록에 2차 변환을 적용하여 비디오 신호를 처리하는 방법 및 장치
CN116320414A (zh) * 2018-07-02 2023-06-23 Lg电子株式会社 对视频信号进行编解码的方法和非暂态可读存储介质
CN108900842B (zh) * 2018-07-27 2021-08-31 郑州云海信息技术有限公司 Y数据压缩处理方法、装置、设备及WebP压缩系统
CN111758261B (zh) * 2018-09-02 2022-06-10 Lg电子株式会社 用于处理图像信号的方法和设备
CN115379211A (zh) * 2018-09-02 2022-11-22 Lg电子株式会社 对视频信号进行解码/编码的方法和计算机可读存储介质
WO2020162690A1 (ko) * 2019-02-06 2020-08-13 엘지전자 주식회사 축소된 변환을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치
WO2020162737A1 (ko) * 2019-02-08 2020-08-13 주식회사 윌러스표준기술연구소 이차 변환을 이용하는 비디오 신호 처리 방법 및 장치
JP7293376B2 (ja) 2019-02-28 2023-06-19 ヒューマックス・カンパニー・リミテッド イントラ予測ベースのビデオ信号処理方法及び装置
JP7256293B2 (ja) * 2019-04-23 2023-04-11 北京字節跳動網絡技術有限公司 符号化映像における二次変換の使用
US11601135B2 (en) * 2020-02-27 2023-03-07 BTS Software Solutions, LLC Internet of things data compression system and method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050069035A1 (en) * 2003-09-30 2005-03-31 Shan Lu Low-complexity 2-power transform for image/video compression
US20090060362A1 (en) * 2007-08-07 2009-03-05 Oztan Harmanci Image and video compression using sparse orthonormal transforms
US20110276612A1 (en) * 2008-10-30 2011-11-10 International Business Machines Corporation Method, device, computer program and computer program product for determining a representation of a signal
US20120082211A1 (en) * 2010-09-30 2012-04-05 Madhukar Budagavi Low Complexity Large Transform

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960706267A (ko) * 1993-11-15 1996-11-08 존 엠. 클락 3세 쿼드트리 구조형 월시(walsh) 변환 코딩(quadtree-structured walsh transform conding)
US7471724B2 (en) * 2003-06-23 2008-12-30 Vichip Corp. Limited Method and apparatus for adaptive multiple-dimensional signal sequences encoding/decoding
US7545988B2 (en) * 2004-08-09 2009-06-09 George William Meeker Image blocking artifact reduction via transform pair
US8331448B2 (en) * 2006-12-22 2012-12-11 Qualcomm Incorporated Systems and methods for efficient spatial intra predictabilty determination (or assessment)
KR20100020441A (ko) 2008-08-12 2010-02-22 엘지전자 주식회사 비디오 신호 처리 방법
US9100646B2 (en) 2008-09-03 2015-08-04 Sk Telecom Co., Ltd. Device and method for image encoding/decoding using prediction direction conversion and selective encoding
CN107222081B (zh) * 2010-07-12 2021-04-30 Lg伊诺特有限公司 音圈电动机
KR101362696B1 (ko) * 2011-10-19 2014-02-17 전북대학교산학협력단 하이브리드 아키텍쳐가 적용된 신호 변환 장치, 신호 변환 방법 및 기록매체
US8982958B2 (en) 2012-03-07 2015-03-17 Intellectual Ventures Fund 83 Llc Video representation using a sparsity-based model
US10194158B2 (en) * 2012-09-04 2019-01-29 Qualcomm Incorporated Transform basis adjustment in scalable video coding
US9081731B2 (en) * 2013-01-31 2015-07-14 Inview Technology Corporation Efficient transforms and efficient row generation for Kronecker products of Hadamard matrices
US9432696B2 (en) * 2014-03-17 2016-08-30 Qualcomm Incorporated Systems and methods for low complexity forward transforms using zeroed-out coefficients
US20170195671A1 (en) * 2014-06-20 2017-07-06 Samsung Electronics Co., Ltd. Method and apparatus for encoding video, and method and apparatus for decoding video

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050069035A1 (en) * 2003-09-30 2005-03-31 Shan Lu Low-complexity 2-power transform for image/video compression
US20090060362A1 (en) * 2007-08-07 2009-03-05 Oztan Harmanci Image and video compression using sparse orthonormal transforms
US20110276612A1 (en) * 2008-10-30 2011-11-10 International Business Machines Corporation Method, device, computer program and computer program product for determining a representation of a signal
US20120082211A1 (en) * 2010-09-30 2012-04-05 Madhukar Budagavi Low Complexity Large Transform

Also Published As

Publication number Publication date
US10531123B2 (en) 2020-01-07
KR20170117112A (ko) 2017-10-20
WO2016143991A1 (ko) 2016-09-15
US20180041776A1 (en) 2018-02-08

Similar Documents

Publication Publication Date Title
KR102600756B1 (ko) 저 복잡도 변환에 기반한 영상 부호화 및 복호화 방법 및 이를 이용하는 장치
KR102382410B1 (ko) 비디오 코딩에서의 포지션-종속 예측 결합들
TWI755394B (zh) 二值化二次轉換指數
KR102383107B1 (ko) 비디오 신호 처리 방법 및 장치
KR20240027646A (ko) 움직임 예측 정보를 유도하는 방법 및 장치
KR102383105B1 (ko) 비디오 신호 처리 방법 및 장치
KR102348541B1 (ko) 블록 적응적 컬러­공간 변환 코딩
KR102383106B1 (ko) 비디오 신호 처리 방법 및 장치
RU2582062C2 (ru) Учитывающие параллелизацию кандидаты слияния для кодирования видео
WO2018129322A1 (en) Multi-type-tree framework for video coding
WO2018119431A1 (en) Determining neighboring samples for bilateral filtering in video decoding
KR20170108012A (ko) 비디오 코딩을 위한 중첩 모션 보상
KR102546142B1 (ko) 비디오 코딩 시스템에서 블록 구조 도출 방법 및 장치
CN111602395B (zh) 用于视频译码的量化组
JP2023040020A (ja) ビデオコーディングにおける係数領域ブロック差分パルスコード変調
KR102453110B1 (ko) 고속 변환 계수 부호화 방법 및 장치
KR20220082791A (ko) 움직임 예측 정보를 유도하는 방법 및 장치
CN113545051A (zh) 使用块大小限制的视频数据块的重构
WO2020072935A1 (en) Simplification of spatial-temporal motion vector prediction
KR102558803B1 (ko) 잔차 신호에 대한 예측 방법 및 장치
CN113330744A (zh) 视频编解码中用于并行处理的处理区域的推导
KR20220137935A (ko) 레지듀얼 코딩에 대한 영상 디코딩 방법 및 그 장치
KR20210158395A (ko) 레지듀얼 코딩에 대한 영상 디코딩 방법 및 그 장치
KR20170089777A (ko) 예측을 사용하는 비디오의 부호화 및 복호화를 위한 방법 및 장치
KR20170120418A (ko) 상위 계층 고속 움직임 예측 부복호화 장치

Legal Events

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