KR20150004484A - 영상 압축을 위한 선택적 변환 방법 및 장치, 및 역변환 방법 및 장치 - Google Patents
영상 압축을 위한 선택적 변환 방법 및 장치, 및 역변환 방법 및 장치 Download PDFInfo
- Publication number
- KR20150004484A KR20150004484A KR20130077229A KR20130077229A KR20150004484A KR 20150004484 A KR20150004484 A KR 20150004484A KR 20130077229 A KR20130077229 A KR 20130077229A KR 20130077229 A KR20130077229 A KR 20130077229A KR 20150004484 A KR20150004484 A KR 20150004484A
- Authority
- KR
- South Korea
- Prior art keywords
- size
- transform
- current
- stu
- block
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/12—Selection 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/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
- H04N19/45—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder performing compensation of the inverse transform mismatch, e.g. Inverse Discrete Cosine Transform [IDCT] mismatch
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
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
본 발명의 영상 압축을 위한 선택적 변환 방법은 현재 블록과 예측 블록 간의 차분값에 해당하는 잔차 신호에 대한 변환을 수행하고자 할 때, 현재 TU(Transform Unit) 사이즈와 STU(Smallest Transform Unit) 사이즈를 비교하는 단계 및 상기 TU 사이즈와 STU 사이즈의 비교 정보를 기반으로 현재 변환 블록의 변환 방식을 결정하는 단계를 포함한다. 따라서, STU가 4x4보다 클 경우에도 부호화기/복호화기의 판단에 의해 큰 오버헤드 부담 없이 복수 개의 변환/역변환 방법 중 하나를 선택하도록 지시할 수 있어 영상 압축률을 증가시키거나 화질 저하를 최소화한다.
Description
본 발명은 영상압축기술에 관한 것으로, 보다 상세하게는 영상압축을 위한 변환 방법 및 장치, 및 역변환 방법 및 장치에 관한 것이다.
H.264/AVC나 HEVC와 같은 움직임보상-변환부호화 영상압축기술에 있어서 변환은 항상 Discrete Cosine Transform (DCT)를 사용한다. 인트라부호화의 경우 이트라 예측(intra prediction) 수행시, 현재블록의 주변블록의 경계에 있는 복원된 화소를 사용하여 예측값을 만든다. 이때, 현재 부호화할 정보와 예측값이 달라 잔차신호가 커지는 경우가 종종 발생한다. 예측신호 생성시 블록 경계면에 있는 인접블록측 화소를 사용하기 때문에 잔차 신호는 현재블록의 블록경계면에 가까울수록 값이 작으나 경계면에서 블록 내부로 멀어질수록 일반적으로 잔차 신호가 커질 수 있다. 또한, 현재 정보와 예측 정보간의 차분 정보인 잔차(residual) 정보를 근사하기 위하여 DCT 커널 신호보다는 DST 커널신호가 더욱 적절한 경우가 자주 발생할 수 있다. 이런 경우, 일률적으로 DCT 변환을 수행하는 것보다는 다른 변환 방법 (예를 들어, Discrete Sine Transform (DST)변환)을 수행하여 부호화하면 오히려 압축 성능이 더 좋거나 화질 저하를 현저하게 줄일 수 있는 경우가 많다. 그러나 기존 영상 압축 방법들은 잔차 신호의 성질과는 상관없이 항상 DCT 변환을 수행하여야만 하므로, 기존 방법을 적용할 경우 화질 저하나 압축률 저하를 피할 수 없는 문제점이 항상 있어 왔다.
이 문제를 피하기 위하여 인트라 예측(intra prediction)에서는 DST 변환 수행을 지시하도록 하여 이러한 문제를 해결하는 것을 생각할 수 있다. 그러나, 인트라 예측에서 모든 블록마다 DST 변환을 수행할 경우, 오히려 DCT 커널이 잔차 신호를 근사하기에 더 적합한 경우도 또한 발생할 수 있어 또 다른 문제가 발생하기도 한다. 또한 블록에 따라 DCT 와 DST 변환을 적응적으로 선택하여 사용하는 것도 가능하지만 이 경우는 어떤 변환을 사용하는지 여부를 신호하여야 하므로 비트 압축율면에서 불리하게 되는 문제가 발생할 수 있다.
이에 대한 한가지 해결책으로 인트라 예측(intra prediction)에서 현재 변환블록크기(TU size)가 4x4일 경우에 휘도(Luma) 신호에 대하여만 DST 변환을 수행하도록 하는 방법이 알려져 있다. 이 기술은 휘도(Luma) 신호에 대하여 4x4 보다 큰 변환 블록에서는 DCT 변환이 수행되도록 하고, 4x4 의 경우에는 DST 변환이 수행되도록 하는 것이다. 최근 개발된 RQT기술을 사용하면 쿼드 트리(Quad-tree)로 분할된 다중 크기의 RQT 변환 기술을 사용하여 각 블록에 적합한 블록변환크기를 적응적이며 계층적으로 정할 수 있다. RQT 기술을 사용할 경우 만일 특정 블록 내의 영상의 특성을 살펴본 결과 변환의 효용성이 적다고 판단되면 더 세밀한 변환 블록 크기로 분할하여 변환을 수행함으로써, 이러한 비효율성의 문제를 일부 변환 블록으로 한정시킬 수 있다. 그러나 가장 작은 변환 크기가 4x4 이므로, 현재 고려중인 변환 블록크기가 4x4인 경우에는 더 이상 분할을 할 수 없게 되므로 이 경우에는 DST 변환을 수행하도록 하는 것이다. 이렇게 함으로써 DCT와 DST 변환 중 어떤 것을 사용하였는지에 대한 시그널링 없이도 DCT 와 DST 변환을 사용할 수 있도록 함으로써 압축률 향상 및 화질 저하 문제를 감소하는 효과를 누릴 수 있도록 하고 있다.
한편 현재의 비디오 압축기술은 각 인코더의 독자적인 판단에 따라 복호화기가 사용할 최소 크기의 블록변환크기를 자체적으로 적응적으로 정할 수 있다. 특정 응용에서는 최소변환블록 크기가 4x4 가 아닌 8x8 이나 16x16 등 여타의 크기로 정해질 수 있다. 만일 부호화기가 정한 최소 블록 변환 크기(이하 STU: Smallest TU Size)가 8x8 이상일 경우, 현재의 기술은 어떠한 경우에도 DST 변환을 수행할 수 없다는 심각한 기술적 단점을 갖고 있다. 즉, 이 경우 인트라 블록의 변환 효율성이 상당히 떨어져 차라리 DST 변환 수행하는 경우가 더욱 유리한 것이 자명하더라도 현재의 기술을 사용하면 이를 가능하게 할 수 없는 문제가 발생하여 압축률이 떨어지거나 화질 저하의 문제를 감수하여야만 한다.
상술한 문제점을 해결하기 위한 본 발명의 목적은 현재 (변환) 블록의 크기가 인코더(또는 사용자)가 설정한 사용 가능한 최소 변환 블록 크기(STU)와 같은지 여부를 보고, 현재 변환 블록에 대해 복수 개의 변환 방법(예컨대, DCT 또는 DST 등) 중 어느 하나를 선택하여 수행하는 기능을 실현하는 부호화기 또는 복호화기를 제공하는 것이다.
부호화기의 경우, 현재 블록의 크기가 압축 데이터에 명시된 사용가능한 STU 크기일 경우에는 DST 변환을 수행하고, 그렇지 않을 경우, DCT 변환을 수행하도록 한다.
복호화기의 경우, 현재 블록의 크기가 압축 데이터에 명시된 사용가능한 STU 크기일 경우에는 DST 역변환을 수행하고, 그렇지 않을 경우, DCT 역변환을 수행한다.
상기한 목적을 달성하기 위한 본 발명의 영상 압축을 위한 선택적 변환 방법은 현재 블록과 예측 블록 간의 차분값에 해당하는 잔차 신호에 대한 변환을 수행하고자 할 때, 현재 TU(Transform Unit) 사이즈와 STU(Smallest Transform Unit) 사이즈를 비교하는 단계 및 상기 TU 사이즈와 STU 사이즈의 비교 정보를 기반으로 현재 변환 블록의 변환 방식을 결정하는 단계를 포함할 수 있다.
상기 변환 방식 결정 단계는 상기 잔차 신호에 대해 DST(Discrete Sine Transform) 또는 DCT(Discrete Cosine Transform) 중 어느 하나로 변환 방식을 결정하는 단계를 포함할 수 있다.
상기 변환 방법은 상기 결정된 변환 방식을 기반으로 상기 현재 변환 블록에 대한 변환을 수행하는 단계를 더 포함할 수 있다.
상기 변환 방식 결정 단계는 상기 현재 TU 사이즈와 상기 STU 사이즈가 같은 경우, 상기 잔차 신호에 대해 DST 변환을 수행하도록 결정하는 단계를 포함할 수 있다.
상기 변환 방식 결정 단계는 상기 현재 TU 사이즈와 상기 STU 사이즈가 다른 경우, 상기 잔차 신호에 대해 DCT 변환을 수행하도록 결정하는 단계를 포함할 수 있다.
상기 변환 방법은 상기 결정된 변환 방식과 관련된 정보 플래그를 시그널링하는 단계를 더 포함할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 영상 압축을 위한 선택적 변환 장치는 현재 블록과 예측 블록 간의 차분값에 해당하는 잔차 신호에 대한 변환을 수행하고자 할 때, 현재 TU(Transform Unit) 사이즈와 STU(Smallest Transform Unit) 사이즈를 비교하는 비교부 및 상기 TU 사이즈와 STU 사이즈의 비교 정보를 기반으로 현재 변환 블록의 변환 방식을 결정하는 결정부를 포함할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 영상 압축을 위한 선택적 역변환 방법은 역 양자화된 변환 계수에 대한 역변환을 수행하고자 할 때, 현재 TU(Transform Unit) 사이즈와 STU(Smallest Transform Unit) 사이즈를 비교하는 단계 및 상기 TU 사이즈와 STU 사이즈의 비교 정보를 기반으로 현재 변환 블록의 역변환 방식을 결정하는 단계를 포함할 수 있다.
상기 역변환 방식 결정 단계는 상기 잔차 신호에 대해 inverse DST(Discrete Sine Transform) 또는 inverse DCT(Discrete Cosine Transform) 중 어느 하나로 역변환 방식을 결정하는 단계를 포함할 수 있다.
상기 역변환 방법은 상기 결정된 역변환 방식을 기반으로 상기 현재 변환 블록에 대한 역변환을 수행하는 단계를 더 포함할 수 있다.
상기 역변환 방식 결정 단계는 상기 현재 TU 사이즈와 상기 STU 사이즈가 같은 경우, 상기 잔차 신호에 대해 inverse DST 역변환을 수행하도록 결정하는 단계를 포함할 수 있다.
상기 역변환 방식 결정 단계는 상기 현재 TU 사이즈와 상기 STU 사이즈가 다른 경우, 상기 잔차 신호에 대해 inverse DCT 역변환을 수행하도록 결정하는 단계를 포함할 수 있다.
상기 역변환 단계는 상기 역변환 방식과 관련된 정보 플래그를 수신하는 경우, 상기 정보 플래그를 파싱하여 상기 역변환 방식을 결정하는 단계를 포함할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 영상 압축을 위한 선택적 역변환 장치는 역 양자화된 변환 계수에 대한 역변환을 수행하고자 할 때, 현재 TU(Transform Unit) 사이즈와 STU(Smallest Transform Unit) 사이즈를 비교하는 비교부 및 상기 TU 사이즈와 STU 사이즈의 비교 정보를 기반으로 현재 변환 블록의 역변환 방식을 결정하는 결정부를 포함할 수 있다.
종래에는 현재 정보와 예측 정보간의 차분 정보인 잔차 정보가 가지고 있는 공간적 에너지 변화도가 매우 크거나 매우 예리하여 DCT 변환을 수행하여도 영상 에너지가 저주파로 집중하는 정도가 크기 않으며, 압축 과정에서 저주파 성분은 주로 유지하고 고주파 성분을 없애 버리거나 양자화를 강하게 적용할 경우, 심각한 화질의 저하를 초래하는 경우가 자주 발생하였다. 다만, 본 발명의 영상 압축을 위한 선택적 변환 방법 및 장치, 및 역변환 방법 및 장치에 따르면, STU가 4x4보다 클 경우에도 부호화기의 판단에 의해 큰 오버헤드 부담 없이 복수 개의 변환 방법 중 하나를 선택하도록 지시할 수 있어 영상 압축률을 증가시키거나 화질 저하를 최소화할 수 있는 효과가 있다.
또한, 상기 효과는 특히 인트라 예측(intra prediction) 수행시 더 두드러진다.
도 1은 본 발명이 적용되는 비디오 부호화기의 일 실시예에 따른 구성을 나타내는 블록도,
도 2는 비디오 복호화기의 일 실시예에 따른 구성을 나타내는 블록도,
도 3은 변환 매트릭스의 일 예를 나타낸 도면,
도 4는 본 발명의 일 실시예에 따른 선택적 변환 방법을 개략적으로 나타낸 흐름도,
도 5a 및 5b는 본 발명의 일 실시예에 따른 선택적 변환 방법에 있어서, 현재 변환 블록의 사이즈와 STU 사이즈의 크기 비교를 통한 변환 방법의 선택 과정을 설명하기 위한 개념도,
도 6은 본 발명의 일 실시예에 따른 선택적 변환 장치를 개략적으로 나타낸 블록도,
도 7은 본 발명의 일 실시예에 따른 선택적 역변환 방법을 개략적으로 나타낸 흐름도이다.
도 2는 비디오 복호화기의 일 실시예에 따른 구성을 나타내는 블록도,
도 3은 변환 매트릭스의 일 예를 나타낸 도면,
도 4는 본 발명의 일 실시예에 따른 선택적 변환 방법을 개략적으로 나타낸 흐름도,
도 5a 및 5b는 본 발명의 일 실시예에 따른 선택적 변환 방법에 있어서, 현재 변환 블록의 사이즈와 STU 사이즈의 크기 비교를 통한 변환 방법의 선택 과정을 설명하기 위한 개념도,
도 6은 본 발명의 일 실시예에 따른 선택적 변환 장치를 개략적으로 나타낸 블록도,
도 7은 본 발명의 일 실시예에 따른 선택적 역변환 방법을 개략적으로 나타낸 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명이 적용되는 비디오 부호화기의 일 실시예에 따른 구성을 나타내는 블록도이다. 도 1을 참조하면, 상기 비디오 부호화기는 픽쳐 분할부(110), 인터 예측부(120), 인트라 예측부(125), 변환부(130), 양자화부(135), 역양자화부(140), 역변환부(145), 필터부(150), 메모리(155), 재정렬부(160) 및 엔트로피 부호화부(165)를 포함할 수 있다.
픽쳐 분할부(110)는 입력된 현재 픽쳐를 하나 이상의 부호화 단위로 분할할 수 있다. 부호화 유닛(Coding Unit: CU, 이하 'CU'라 함)은 비디오 부호화기에서 부호화가 수행되는 하나의 단위로서, 쿼드 트리 구조(Quad Tree Structure)를 기초로 깊이(depth) 정보를 가지고 계층적으로 분할될 수 있다. CU는 8×8, 16×16, 32×32, 64×64 등 다양한 크기를 가질 수 있다. 가장 큰 크기의 CU는 LCU(Largest Coding Unit)로 불릴 수 있으며, 가장 작은 크기의 CU는 SCU(Smallest Coding Unit)로 불릴 수 있다.
또한 픽쳐 분할부(110)는 CU를 분할하여 예측 유닛(Prediction Unit: PU, 이하 'PU'라 함)과 변환 유닛(Transdorm Unit: TU, 이하 'TU'라 함)을 생성할 수 있다. PU는 CU보다 작거나 같은 블록일 수 있고, 반드시 정방형일 필요는 없으며, 직사각형 형태의 블록일 수도 있다.
통상 인트라 예측은 2N*2N 또는 N*N 크기의 블록 단위로 수행될 수 있다. 여기서 N은 자연수로서 픽셀의 수를 나타내며, 2N*2N 및 N*N은 PU의 크기(및/또는 분할 모드)를 나타낼 수 있다. 그러나, SDIP(Short Distance Intra Prediction: 단거리 인트라 예측) 방법에서는, 인트라 예측의 효율을 높이기 위해 2N*2N의 예측 유닛 외에 이를 더 세분화한 예측 유닛 크기로서 hN*2N/2N*hN이 사용될 수 있다(여기서 h=1/2임). hN*2N/2N*hN의 크기의 예측 단위가 사용되는 경우, 블록 내의 경계면의 방향성이 보다 잘 반영될 수 있으며, 따라서 결과적으로 예측 오차 신호의 에너지가 감소되어 부호화에 필요한 비트량이 절감되어 부호화 효율이 증가할 수 있다.
또한, 인터 예측은 2N*2N, 2N*N, N*2N 또는 N*N 크기의 블록 단위로 수행될 수 있다. 여기서 N은 자연수로서 픽셀의 수를 나타내며, 2N*2N, 2N*N, N*2N 및 N*N은 PU의 크기(및/또는 분할 모드)를 나타낼 수 있다. 또한, 인터 예측에서는 인터 예측의 효율을 높이기 위해 2N*2N, 2N*N, N*2N 또는 N*N의 예측 유닛 외에 2NxnU, 2NxnD, nLx2N 또는 nRx2N의 예측 유닛 단위로 예측이 수행될 수도 있다. 여기서, 2NxnU, 2NxnD, nLx2N 및 nRx2N는 PU의 크기(및/또는 분할 모드)를 나타낼 수 있다. 2NxnU 및 2NxnD의 분할 모드에서는 PU의 크기가 2Nx(1/2)N 또는 2Nx(3/2)N일 수 있고, nLx2N 및 nRx2N의 분할 모드에서는 PU의 크기가 (1/2)Nx2N 또는 (3/2)Nx2N일 수 있다.
인터 예측(Inter Prediction) 모드에 있는 경우, 인터 예측부(120)는 움직임 추정(ME: Motion Estimation) 및 움직임 보상(MC: Motion Compensation)을 수행할 수 있다. 인터 예측부(120)는 현재 픽쳐의 이전 픽쳐 또는 이후 픽쳐 중 적어도 하나의 픽쳐 정보를 기초로 예측 블록을 생성할 수 있다.
인터 예측부(120)는 분할된 예측 대상 블록 및 메모리부(155)에 저장된 적어도 하나의 참조 블록을 기반으로 움직임 추정을 수행할 수 있다. 인터 예측부(120)는 움직임 추정의 결과로서 움직임 벡터(MV: Motion Vector), 참조 블록 인덱스 및 예측 모드 등을 포함한 움직임 정보(motion information)를 생성할 수 있다.
또한 인터 예측부(120)는 상기 움직임 정보 및 참조 블록을 이용하여 움직임 보상을 수행할 수 있다. 이 때, 인터 예측부(120)는 상기 참조 블록으로부터 입력 블록에 대응하는 예측 블록을 생성하여 출력할 수 있다.
인트라 예측(Intra Prediction) 모드의 경우, 인트라 예측부(125)는 현재 픽쳐 내의 픽셀 정보를 기초로 예측 블록을 생성할 수 있다. 인트라 예측 모드의 경우, 인트라 예측부(125)는 예측 대상 블록과 이전에 변환 및 양자화된 후 복원된 복원 블록을 기반으로 현재 블록에 대한 예측을 수행할 수 있다. 상기 복원 블록은 필터부(150)를 거치기 전의 복원된 영상일 수 있다.
상술한 바와 같이 인터 모드 또는 인트라 모드에서는 예측 대상 블록에 대한 예측이 수행되고 예측 블록이 생성될 수 있다. 이 때, 예측 대상 블록 및 생성된 예측 블록의 차분에 의해 잔차 블록이 생성될 수 있다.
변환부(130)는 TU 별로 잔차 블록에 대해 변환을 수행하여 변환 계수를 생성할 수 있다. TU는 최대 크기와 최소 크기의 범위 내에서 트리 구조(tree structure)를 가질 수 있다. TU 별로 현재 블록이 하위 블록(sub-block)으로 나누어지는지는 지시자(flag)를 통해 지시될 수 있다. 변환부(130)는 DCT(Discrete Cosine Transform) 및/또는 DST(Discrete Sine Transform) 등을 기반으로 변환을 수행할 수 있다.
양자화부(135)는 변환부(130)에서 변환된 값들을 양자화할 수 있다. 블록에 따라 또는 영상의 중요도에 따라 양자화 계수는 변할 수 있다. 양자화된 변환 계수 값은 재정렬부(160) 및 역양자화부(140)에 제공될 수 있다.
재정렬부(160)는, 엔트로피 부호화의 효율을 높이기 위해, 스캔(scan)을 통하여 상기 양자화된 2차원 블록 형태의 변환 계수를 1차원 벡터 형태의 변환 계수로 정렬할 수 있다. 이때, 재정렬부(160)는 확률적 통계를 기초로 스캔 순서를 달리 하여 엔트로피 부호화 효율을 높일 수 있다.
엔트로피 부호화부(165)는 재정렬부(160)에서 얻어진 값들을 엔트로피 부호화할 수 있다. 엔트로피 부호화 과정에서는 발생 빈도가 높은 구문 요소 값에 더 적은 비트수의 코드워드가 할당될 수 있고, 발생 빈도가 낮은 구문 요소 값에 더 많은 비트수의 코드워드가 할당될 수 있다. 따라서, 부호화 대상 심볼들에 대한 비트열의 크기가 감소되어 영상 부호화 압축 성능이 높아질 수 있다. 엔트로피 부호화를 위해서는 지수 골룸(exponential golomb), CAVLC(Context-Adaptive Variable Length Coding) 및/또는 CABAC(Context-Adaptive Binary Arithmetic Coding) 등과 같은 부호화 방법이 사용될 수 있다. 부호화된 정보들은 압축된 비트 스트림을 형성하여 네트워크 추상 계층(NAL: Network Abstraction Layer)을 통해 전송되거나 저장될 수 있다.
역양자화부(140)는 양자화부(135)에서 양자화된 변환 계수를 역양자화할 수 있고, 역변환부(145)는 역양자화된 변환 계수를 역변환해서 복원된 잔차 블록을 생성할 수 있다. 복원된 잔차 블록은 인터 예측부(120) 또는 인트라 예측부(125)에서 생성된 예측 블록과 합쳐져 복원 블록이 생성될 수 있다. 복원 블록은 인트라 예측부(125) 및 필터부(150)에 제공될 수 있다.
필터부(150)는 복원된 잔차 블록에 디블록킹 필터(Deblocking Filter), SAO(Sample Adaptive Offset) 및/또는 ALF(Adaptive Loop Filter) 등을 적용할 수 있다. 디블록킹 필터는 부호화 및 복호화 과정에서 발생하는 블록 경계 사이의 왜곡을 제거하기 위해, 복원 블록을 필터링할 수 있다. SAO는 디블록킹 필터가 적용된 잔차 블록에 대하여, 픽셀 단위로 원본 영상과의 오프셋 차이를 복원해주는 루프 필터 처리 과정이다. SAO를 통해서 적용되는 오프셋으로는 밴드 오프셋(Band Offset), 에지 오프셋(Edge Offset) 등이 있을 수 있다. 밴드 오프셋은 픽셀을 세기(intensity)에 따른 32개의 밴드로 구분하고, 32 개 밴드를 가장 자리의 16개 밴드와 중심부 16개 밴드의 두 밴드 그룹으로 나누어 오프셋을 적용할 수 있다. ALF는 예측 대상 블록과 최종 복원 블록 사이의 에러를 최소화하기 위해 필터링을 수행할 수 있다. ALF는 디블록킹 필터를 통해 필터링된 복원 블록과 현재의 예측 대상 블록을 비교한 값을 기초로 필터링을 수행할 수 있으며, ALF의 필터 계수 정보는 슬라이스 헤더(slice header)에 실려 부호화기로부터 복호화기로 전송될 수 있다.
메모리(155)는 필터부(150)를 거친 최종 복원 블록을 저장할 수 있고, 저장된 최종 복원 블록은 인터 예측을 수행하는 인터 예측부(120)에 제공될 수 있다.
도 2는 비디오 복호화기의 일 실시예에 따른 구성을 나타내는 블록도이다. 도 2를 참조하면, 비디오 복호화기는 엔트로피 복호화부(210), 재정렬부(215), 역양자화부(220), 역변환부(225), 인터 예측부(230), 인트라 예측부(235), 필터부(240) 및 메모리(245)를 포함할 수 있다.
엔트로피 복호화부(210)는 NAL로부터 압축된 비트 스트림을 수신할 수 있다. 엔트로피 복호화부(210)는 수신된 비트 스트림을 엔트로피 복호화할 수 있고, 예측 모드, 움직임 벡터 정보 등이 비트 스트림에 포함되는 경우 이를 함께 엔트로피 복호화할 수 있다. 엔트로피 복호화 방법이 적용되는 경우, 발생 빈도가 높은 구문 요소 값에 더 적은 비트수의 코드워드가 할당될 수 있고, 발생 빈도가 낮은 구문 요소 값에 더 많은 비트수의 코드워드가 할당될 수 있다. 따라서, 부호화 대상 심볼들에 대한 비트열의 크기가 감소되어 영상 복호화 성능이 높아질 수 있다.
엔트로피 복호화된 변환 계수 또는 잔차 신호는 재정렬부(215)에 제공될 수 있다. 재정렬부(215)는 복호화된 변환 계수 또는 잔차 신호를 역스캔(inverse scan)하여 2차원 블록 형태의 변환 계수를 생성할 수 있다.
역양자화부(220)는 재정렬된 변환 계수를 역양자화할 수 있다. 역변환부(225)는 역양자화된 변환 계수를 역변환하여 잔차 블록을 생성할 수 있다.
잔차 블록은 인터 예측부(230) 또는 인트라 예측부(235)에서 생성된 예측 블록과 합쳐져 복원 블록이 생성될 수 있다. 복원 블록은 인트라 예측부(235) 및 필터부(240)에 제공될 수 있다. 인터 예측부(230) 및 인트라 예측부(235)의 동작은 각각 비디오 부호화기에서의 인터 예측부(120) 및 인트라 예측부(125)의 동작과 동일하거나 유사하므로, 여기서는 생략하기로 한다.
필터부(240)는 복원 블록에 디블록킹 필터, SAO 및/또는 ALF 등을 적용할 수 있다. 디블록킹 필터는 부호화 및 복호화 과정에서 발생하는 블록 경계 사이의 왜곡을 제거하기 위해, 복원 블록을 필터링할 수 있다. SAO는 디블록킹 필터링된 복원 블록에 픽셀 단위로 적용되어 원본 영상과의 차이를 줄일 수 있다. 또한, ALF는 예측 대상 블록과 최종 복원 블록 사이의 에러를 최소화하기 위해 SAO 과정이 수행된 복원 블록에 필터링을 수행할 수 있다.
메모리(245)는 필터부(240)를 통해 얻어진 최종 복원 블록을 저장할 수 있고, 저장된 최종 복원 블록은 인터 예측을 수행하는 인터 예측부(230)에 제공될 수 있다.
이하, 블록은 영상 부호화 및 복호화의 단위를 의미할 수 있다. 따라서, 본 명세서에서 블록은 경우에 따라 부호화 유닛(CU: Coding Unit), 예측 유닛(PU: Prediction Unit), 변환 유닛(TU: Transform Unit) 등을 의미할 수도 있다. 또한, 본 명세서에서 부호화/복호화 대상 블록은, 변환/역변환이 수행되는 경우의 변환/역변환 대상 블록 및 예측이 수행되는 경우의 예측 대상 블록 등을 모두 포함하는 의미로 사용될 수 있다.
HEVC 인트라 예측 유닛(PU)(예컨대, 휘도 신호일 수 있음)의 부호화를 위해 먼저, 현재 블록과 예측 블록간의 차분값에 해당하는 잔차 신호를 구하고, 이를 변환한다. 이때, 현재 TU 사이즈에 따라 DCT와 DST 변환 방법을 적응적으로 선택할 수 있다. DCT와 DST 변환 방법의 선택을 위한 방식에 있어서, 다음과 같은 방식이 있을 수 있다.
1) 현재 TU 사이즈가 4x4일 경우, DST 변환 방법을 선택하여 사용할 수 있다.
2) 현재 TU 사이즈가 8x8 이상일 경우, DCT 변환 방법을 선택하여 사용한다.
3) 현재 TU 사이즈를 참조하기 때문에 DCT 또는 DST 변환 중 어떤 것을 쓰는지는 복호화기에 별도로 신호할 필요가 없을 수 있다.
도 3은 변환 매트릭스의 일 예를 나타낸 도면이다.
도 3을 참조하면, 부호화기는 예측 유닛에 대한 인트라 예측에서 4x4 TU를 선택하는 경우, DST 커널을 사용할 수 있다. 도 3에 도시된 변환 매트릭스는 DST 커널을 나타낸다.
HEVC에서 역변환 프로세스는 다음과 같이 나타낼 수 있다.
8.6.4 Transformation process for scaled transform coefficients
Inputs of this process are:
a luma location ( xT, yT ) specifying the top-left sample of the current luma transform block relative to the top left luma sample of the current picture,
a variable nT specifying the size of the current transform block,
a variable cIdx specifying the color component of the current block,
a (nT)x(nT) array d of scaled transform coefficients with elements d[ x ][ y ].
Output of this process is:
the (nT)x(nT) array r of residual samples with elements r[ x ][ y ].
Depending on CuPredMode[ xT ][ yT ], nT and cIdx, the variable trType is derived as follows.
If
CuPredMode
[
xT
][
yT
]
is
equal
to
MODE
_
INTRA
,
nT
is
equal
to
4, and
cIdx
is
equal
to
0,
trType
is
set
equal
to
1.
Otherwise, trType is set equal to 0.
위의 표현을 살펴보면, 인트라 블록에 대해서만 적용이 되고, nT is equal to 4는 TU 사이즈가 4x4인 경우에 적용이 된다는 것이고, cldx is equal to 0은 휘도(luma) 신호에 대해서만 적용된다는 것이며, trType is set equal to 1은 이러한 조건을 만족하는 경우, DST 변환을 사용하라는 것을 의미한다. 그리고, 조건을 만족하지 못하는 나머지 경우는 DCT 변환를 사용하라는 것을 의미한다.
또한, 도 3에 도시된 DST 커널을 사용하는 부분에 대한 설명은 다음과 같이 표현될 수 있다.
8.6.4.1 Transformation process
Inputs of this process are:
a variable nT specifying the sample size of scaled transform coefficients,
a list of scaled transform coefficients x with elements x[ j ], with j = 0..nT - 1.
a transform type variable trType
Output of this process is:
the list of transformed samples y with elements y[ i ], with i = 0..nT - 1.
Depending on trType, the following applies:
If trType is equal to 1, the following transform matrix multiplication applies.
y[ i ] = ∑j( transMatrix[ i ][ j ] * x[ j ] ) with i = 0..nT - 1, j = 0..nT - 1
where the transform coefficient array transMatrix is specified as:
transMatrix
=
{
{29 55 74 84}
{74 74 0 -74}
{84 -29 -74 55}
{55 -84 74 -29}
}
Otherwise (trType is equal to 0), the following transform matrix multiplication applies.
y[ i ] = ∑j( transMatrix[ i ][ k ] * x[ j ] ) with i = 0..nT - 1, j = 0..nT - 1
where k = ( 1 << ( 5 - Log2( nT ) ) ) * j and the transform coefficient array transMatrix is specified as:
변환 프로세스의 설명 중간 부분의 transMatrix가 인트라 예측에서 4x4 TU 선택시 사용하는 DST 커널을 나타낸다.
위 내용에 따르면, 하이 레벨 신택스(high level syntax)에서 설정한 STU(Smallest TU) 사이즈가 4x4보다 클 경우, 어떤 경우에도 DST 변환을 수행할 수 없게 되어 있다. 즉, DST 변환이 유리한 경우에도 DCT만을 사용할 수밖에 없다. 신택스에서 nT is equal to 4 라는 내용이 STU > 4x4일 경우, 항상 거짓이 되기 때문에 trType 값이 0이 되어 DCT 변환만 수행하게 된다.
도 4는 본 발명의 일 실시예에 따른 선택적 변환 방법을 개략적으로 나타낸 흐름도이다. 이는 부호화기 측에서의 동작을 나타낸 것으로 전체적인 프로세스는 도 1의 프로세스를 참조할 수 있다.
도 4를 참조하면, 부호화기는 인트라 블록 예측에 의해 생성된 잔차 신호에 대한 변환 과정에서 현재 TU 사이즈와 STU 사이즈를 참조하여 복수 개의 변환 방법(예컨대, DCT 및 DST 등) 중 어느 하나를 선택하여 적용할 수 있다.
먼저, 부호화기의 변환 관련 구성(예컨대, 도 1의 변환부(130))은 인터 예측부 또는 인트라 예측부로부터 잔차 신호를 수신한다(S410). 여기서의 신호 수신은 외부 장치로부터의 신호 수신을 의미하는 것이 아니라, 부호화기에서 변환 관련 구성이 변환을 처리하기 위한 신호를 수신하기 위해 부호화기 내부 구성(예컨대, 인터 예측부 또는 인트라 예측부)으로부터 잔차 신호를 수신하는 것을 의미한다. 잔차 신호는 현재 블록과 예측 블록과의 차분 값일 수 있다.
부호화기는 잔차 신호를 파싱하여 현재 TU 사이즈와 STU 사이즈를 비교한다(S420). STU는 최소 변환 블록을 나타내고, STU 사이즈는 최소 변환 블록의 사이즈로서 Nmin x Nmin으로 나타낼 수 있다. STU는 변환을 허용하는 최소 블록 단위를 나타낼 수 있다. 이는 디폴트(default) 설정으로 미리 설정되어 있을 수 있다. 경우에 따라 사용자 인터페이스를 통해 사용자가 변경할 수 있다. 사용자는 입력 신호의 특성에 맞게 STU 사이즈를 변경할 수 있다. 사용을 허락하는 최소 변환 블록(STU)의 사이즈는 Sequence_parameter_set에 문법 요소("log2_min_transform_block_size_minus2")를 사용하여 지시할 수 있다. 이때, 최소 변환 블록의 크기는 Nmin = 2( log2 _ min _ transform _ block _ size _ minus2 +2)가 될 수 있다. 이 경우, 최소 변환 블록의 크기는 전술한 바와 같이, Nmin x Nmin이다. 부호화기는 설정된 STU 사이즈와 현재 TU 사이즈를 비교하여 변환 방법을 결정하기 위한 기준으로 선택할 수 있다. 종래의 경우, STU 사이즈를 고려하지 않고, 현재 TU 사이즈가 단순히 4x4인 경우에만 특정 변환 방식을 사용하게끔 제어했다면, STU 사이즈의 변경 또는 조정을 통해 4x4 보다 큰 사이즈에서도 특정 변환 방식이 사용될 수 있게 제어할 수 있다. 즉, 특정 변환 방식이 4x4 보다 큰 사이즈에서 기본적인 변환 방식(예컨대, DCT)보다 압축 성능 또는 화질 저하 측면에서 보다 유리할 수 있으므로, 현재 변환 블록의 사이즈 특성을 기반으로 이를 가변적으로 결정할 수 있다.
사이즈 비교가 완료되면, 부호화기는 비교 결과 정보를 기반으로 복수 개의 변환 방식 중 현재 TU에 대해 수행할 변환 방식을 결정한다(S430). 복수 개의 변환 방식은 DCT 및 DST를 포함할 수 있다. 다만, 반드시 DCT, DST 방식에 한정되는 것은 아니고, 다른 변환 방식, 예컨대, DFT(Discrete Fourier Transform), ST(Slant Transformation), WHT(Walsh Hadamard Transform) 등을 사용할 수 있다. 부호화기는 현재 TU 사이즈와 STU 사이즈가 같을 경우, DST 변환을 수행하도록 하고, 현재 TU 사이즈와 STU 사이즈가 다를 경우, DCT 변환을 수행하도록 할 수 있다. 기본적으로 이렇게 동작하도록 설정할 수 있으나, 경우에 따라 서로 뒤바꿔서 현재 TU 사이즈와 STU 사이즈가 같을 경우, DCT 변환을 수행하도록 하고, 현재 TU 사이즈와 STU 사이즈가 다를 경우, DST 변환을 수행하도록 할 수도 있다.
본 발명의 실시예에 따르면, 이러한 변환 방식 결정 과정은 휘도(luma) 신호뿐만 아니라 색차(chroma) 신호에 대해서도 적용이 가능하다. 또한, 인트라 예측뿐만 아니라 인터 예측의 경우에도 이러한 변환 방식 결정 과정을 적용할 수 있다.
도 5a 및 5b는 본 발명의 일 실시예에 따른 선택적 변환 방법에 있어서, 현재 변환 블록의 사이즈와 STU 사이즈의 크기 비교를 통한 변환 방법의 선택 과정을 설명하기 위한 개념도이다.
도 5a를 참조하면, 부호화기는 현재 변환 블록(510)의 사이즈와 STU(520) 사이즈가 같은 경우 DST를 수행하도록 결정할 수 있다. 현재 변환 블록(510)의 사이즈는 8x8이고, STU(520)의 사이즈도 8x8인 경우, DST를 수행하도록 결정할 수 있다. 이는 일 실시예로, STU가 8x8인 경우를 가정하고 있으나, 다른 사이즈를 가정하여 8x8이 아닌 현재 변환 블록 사이즈의 경우도 DST를 적용할 수 있도록 설정할 수 있다. 이는 입력 영상 신호의 특성을 고려하여 사용자가 적절하게 선택할 수 있다.
도 5b를 참조하면, 부호화기는 현재 변환 블록(510)의 사이즈와 STU(520) 사이즈가 다른 경우 DCT를 수행하도록 결정할 수 있다. 현재 변환 블록(510)의 사이즈는 8x8이고, STU(520)의 사이즈도 4x4인 경우, DST를 수행하도록 결정할 수 있다.
본 발명의 다른 실시예에 따르면, 현재 TU 사이즈와 STU 사이즈를 참조하여 변환 방식 결정과 관련된 정보를 시그널링할 수 있다. 예컨대, trType 정보 플래그(flag)가 1이면 DST를, 0이면 DCT를 사용하는 것으로 변환 방식을 지시할 수 있다. 이때, 복호화기는 주어진 블록의 복호화시에 현재 TU 사이즈와 STU 사이즈를 참조하여 역변환 방식을 지시하는 정보(flag)를 선택적으로 파싱할 수 있다.
또한, 레지듀얼 코딩(residual coding) 데이터 전송보다 상위 레이어에서 전달되는(예컨대, Sequence parameter set, Picture parameter set 또는 slice header등) 또 다른 플래그 값에 따라 본 발명에서 제안하는 변환 방식 결정 기술(현재 (변환) 블록의 사이즈가 부호화기(또는 사용자)가 정한 사용 가능한 최소 변환 블록(STU) 사이즈와 같은지 여부에 따라 변환 방식을 결정) 자체를 사용할지 여부를 지시할 수 있다. 즉, 상기 변환 방식 결정 과정을 사용하는 경우를 '1'로 설정하여 사용자가 정한 STU와의 사이즈 비교를 통해 변환 방식을 결정하도록 할 수 있고, 상기 변환 방식을 사용하지 않고 다른 방식, 즉 STU 사이즈를 4x4로 고정하여 현재 블록 사이즈가 4x4인지 여부를 통해 변환 방식을 결정하도록 할 수도 있다.
도 6은 본 발명의 일 실시예에 따른 선택적 변환 장치를 개략적으로 나타낸 블록도이다. 도 6에 도시된 바와 같이, 본 발명의 일 실시예에 따른 선택적 변환 장치는 비교부(610), 결정부(620) 및 변환 수행부(630)를 포함할 수 있다.
먼저, 비교부(610)는 인터 예측부 또는 인트라 예측부(도 1 참조)로부터 잔차 신호를 수신한다. 여기서의 신호 수신은 외부 장치로부터의 신호 수신을 의미하는 것이 아니라, 변환을 처리하기 위한 신호를 수신하기 위해 부호화기 내부 구성(예컨대, 인터 예측부 또는 인트라 예측부)으로부터 잔차 신호를 수신하는 것을 의미한다. 잔차 신호는 현재 블록과 예측 블록과의 차분 값일 수 있다.
비교부(610)는 잔차 신호를 파싱하여 현재 TU 사이즈와 STU 사이즈를 비교한다. STU는 변환을 허용하는 최소 블록 단위를 나타낼 수 있고, 이는 디폴트(default) 설정으로 미리 설정되어 있을 수 있다. 경우에 따라 사용자 인터페이스를 통해 사용자가 변경할 수 있다. 사용자는 입력 신호의 특성에 맞게 STU 사이즈를 변경할 수 있다. 비교부(610)는 설정된 STU 사이즈와 현재 TU 사이즈를 비교하여 변환 방법을 결정하기 위한 기준으로 선택할 수 있다. STU 사이즈의 변경 또는 조정을 통해 4x4 보다 큰 사이즈에서도 특정 변환 방식이 사용될 수 있게 제어할 수 있다. 즉, 특정 변환 방식이 4x4 보다 큰 사이즈에서 기본적인 변환 방식(예컨대, DCT)보다 압축 성능 또는 화질 저하 측면에서 보다 유리할 수 있으므로, 현재 변환 블록의 사이즈 특성을 기반으로 이를 가변적으로 결정할 수 있다.
결정부(620)는 비교부(610)에서의 비교 결과 정보를 기반으로 복수 개의 변환 방식 중 현재 TU에 대해 수행할 변환 방식을 결정한다. 복수 개의 변환 방식은 DCT 및 DST를 포함할 수 있다. 다만, 반드시 DCT, DST 방식에 한정되는 것은 아니고, 다른 변환 방식, 예컨대, DFT(Discrete Fourier Transform), ST(Slant Transformation), WHT(Walsh Hadamard Transform) 등을 사용할 수 있다. 결정부(620)는 현재 TU 사이즈와 STU 사이즈가 같을 경우, DST 변환을 수행하도록 하고, 현재 TU 사이즈와 STU 사이즈가 다를 경우, DCT 변환을 수행하도록 할 수 있다. 기본적으로 이렇게 동작하도록 설정할 수 있으나, 경우에 따라 서로 뒤바꿔서 현재 TU 사이즈와 STU 사이즈가 같을 경우, DCT 변환을 수행하도록 하고, 현재 TU 사이즈와 STU 사이즈가 다를 경우, DST 변환을 수행하도록 할 수도 있다. 이때, 결정된 변환 방식을 지시하는 정보 플래그를 복호화기 측으로 전송할 수 있다.
변환 수행부(630)는 결정부(620)에서 결정된 변환 방식에 따라 현재 변환 블록에 대한 변환을 수행한다.
도 7은 본 발명의 일 실시예에 따른 선택적 역변환 방법을 개략적으로 나타낸 흐름도이다. 이는 복호화기 측에서의 동작을 나타낸 것으로 전체적인 프로세스는 도 2의 프로세스를 참조할 수 있다. 복호화기의 역변환 방식 결정 과정은 기본적으로 부호화기(도 4 내지 도 6 참조)에서의 결정 과정과 동일하게 진행된다.
도 7을 참조하면, 복호화기는 역 양자화된 변환 계수에 대한 역변환 과정에서 현재 TU 사이즈와 STU 사이즈를 참조하여 복수 개의 역변환 방법(예컨대, inverse DCT 및 inverse DST 등) 중 어느 하나를 선택하여 적용할 수 있다.
먼저, 복호화기의 역변환 관련 구성(예컨대, 도 2의 역변환부(230))은 역양자화부로부터 역양자화된 변환계수를 수신한다(S710). 여기서의 신호 수신은 외부 장치로부터의 신호 수신을 의미하는 것이 아니라, 복호화기에서 역변환 관련 구성이 역변환을 처리하기 위한 신호를 수신하기 위해 복호화기 내부 구성(예컨대, 역양자화부)으로부터 역양자화된 변환 계수 관련 신호를 수신하는 것을 의미한다.
복호화기는 역양자화된 신호를 파싱하여 현재 TU 사이즈와 STU 사이즈를 비교한다(S720). STU는 최소 변환 블록을 나타내고, STU 사이즈는 최소 변환 블록의 사이즈로서 Nmin x Nmin으로 나타낼 수 있다. STU는 역변환을 허용하는 최소 블록 단위를 나타낼 수 있다. 이는 디폴트(default) 설정으로 미리 설정되어 있을 수 있다. 경우에 따라 사용자 인터페이스를 통해 사용자가 변경할 수 있다. 사용자는 입력 신호의 특성에 맞게 STU 사이즈를 변경할 수 있다. 사용을 허락하는 최소 변환 블록(STU)의 사이즈는 Sequence_parameter_set에 문법 요소("log2_min_transform_block_size_minus2")를 사용하여 지시할 수 있다. 이때, 최소 변환 블록의 크기는 Nmin = 2( log2 _ min _ transform _ block _ size _ minus2 +2)가 될 수 있다. 이 경우, 최소 변환 블록의 크기는 전술한 바와 같이, Nmin x Nmin이다. 복호화기는 설정된 STU 사이즈와 현재 TU 사이즈를 비교하여 역변환 방법을 결정하기 위한 기준으로 선택할 수 있다. 종래의 경우, STU 사이즈를 고려하지 않고, 현재 TU 사이즈가 단순히 4x4인 경우에만 특정 역변환 방식을 사용하게끔 제어했다면, STU 사이즈의 변경 또는 조정을 통해 4x4 보다 큰 사이즈에서도 특정 역변환 방식이 사용될 수 있게 제어할 수 있다. 즉, 특정 역변환 방식이 4x4 보다 큰 사이즈에서 기본적인 역변환 방식(예컨대, inverse DCT)보다 압축 성능 또는 화질 저하 측면에서 보다 유리할 수 있으므로, 현재 변환 블록의 사이즈 특성을 기반으로 이를 가변적으로 결정할 수 있다.
사이즈 비교가 완료되면, 복호화기는 비교 결과 정보를 기반으로 복수 개의 역변환 방식 중 현재 TU에 대해 수행할 역변환 방식을 결정한다(S730). 복수 개의 역변환 방식은 inverse DCT 및 inverse DST를 포함할 수 있다. 다만, 반드시 inverse DCT, inverse DST 방식에 한정되는 것은 아니고, 다른 역변환 방식, 예컨대, inverse DFT(Discrete Fourier Transform), inverse ST(Slant Transformation), inverse WHT(Walsh Hadamard Transform) 등을 사용할 수 있다. 복호화기는 현재 TU 사이즈와 STU 사이즈가 같을 경우, inverse DST 변환을 수행하도록 하고, 현재 TU 사이즈와 STU 사이즈가 다를 경우, inverse DCT 변환을 수행하도록 할 수 있다. 기본적으로 이렇게 동작하도록 설정할 수 있으나, 경우에 따라 서로 뒤바꿔서 현재 TU 사이즈와 STU 사이즈가 같을 경우, inverse DCT 변환을 수행하도록 하고, 현재 TU 사이즈와 STU 사이즈가 다를 경우, inverse DST 변환을 수행하도록 할 수도 있다.
본 발명의 실시예에 따르면, 이러한 역변환 방식 결정 과정은 휘도(luma) 신호뿐만 아니라 색차(chroma) 신호에 대해서도 적용이 가능하다. 또한, 인트라 예측뿐만 아니라 인터 예측의 경우에도 이러한 역변환 방식 결정 과정을 적용할 수 있다.
본 발명의 다른 실시예에 따르면, 복호화기는 부호화기로부터 현재 TU와 STU의 사이즈를 비교를 통한 변환 방식 관련 지시 플래그를 수신하고 수신된 지시 플래그 정보를 파싱하여 역변환 방식을 결정할 수 있다. 예컨대, 지시 플래그가 '1'이면 inverse DST를 '0'이면 inverse DCT를 수행하도록 결정할 수 있다.
다만, 복호화기는 레지듀얼 코딩(residual coding) 데이터 전송보다 상위 레이어에서 전달되는(예컨대, Sequence parameter set, Picture parameter set 또는 slice header등) 또 다른 플래그 값에 따라 본 발명에서 제안하는 역변환 방식 결정 기술(현재 (변환) 블록의 사이즈가 복호화기(또는 사용자)가 정한 사용 가능한 최소 변환 블록(STU) 사이즈와 같은지 여부에 따라 역변환 방식을 결정) 자체를 사용할지 여부를 지시할 수 있다. 즉, 상기 역변환 방식 결정 과정을 사용하는 경우를 '1'로 설정하여 사용자가 정한 STU와의 사이즈 비교를 통해 역변환 방식을 결정하도록 할 수 있고, 상기 역변환 방식을 사용하지 않고 다른 방식, 즉 STU 사이즈를 4x4로 고정하여 현재 블록 사이즈가 4x4인지 여부를 통해 역변환 방식을 결정하도록 할 수도 있다.
마지막으로, 복호화기는 상기와 같이 결정된 역변환 방식에 따라 현재 변환 블록에 대한 역변환을 수행한다(S740).
이와 같은 복호화기에서의 일련의 역변환 방식 결정 과정은 다음과 같이 표현될 수 있다.
8.6.4 Transformation process for scaled transform coefficients
Inputs of this process are:
a luma location ( xT, yT ) specifying the top-left sample of the current luma transform block relative to the top left luma sample of the current picture,
a variable nT specifying the size of the current transform block,
a variable cIdx specifying the colour component of the current block,
a (nT)x(nT) array d of scaled transform coefficients with elements d[ x ][ y ].
Output of this process is:
the (nT)x(nT) array r of residual samples with elements r[ x ][ y ].
Depending on CuPredMode[ xT ][ yT ], nT and cIdx, the variable trType is derived as follows.
If CuPredMode[ xT ][ yT ] is equal to MODE_INTRA, nT is equal to Nmin , and cIdx is equal to 0, trType is set equal to 1.
Otherwise, trType is set equal to 0.
여기서, "nT is equal to Nmin"은 현재 변환 블록이 STU 사이즈, 즉, 최소 변환 블록의 사이즈와 동일한 경우를 나타내고, 이 경우, tuType는 '1'로서 inverse DST를 사용하며, 나머지 경우는 inverse DCT를 사용하도록 설정하는 것을 알 수 있다. 이를 통해 보다 효율적으로 역변환을 수행할 수 있다.
이상 도면 및 실시예를 참조하여 설명하였지만, 본 발명의 보호범위가 상기 도면 또는 실시예에 의해 한정되는 것을 의미하지는 않으며 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
Claims (14)
- 현재 블록과 예측 블록 간의 차분값에 해당하는 잔차 신호에 대한 변환을 수행하고자 할 때, 현재 TU(Transform Unit) 사이즈와 STU(Smallest Transform Unit) 사이즈를 비교하는 단계; 및
상기 TU 사이즈와 STU 사이즈의 비교 정보를 기반으로 현재 변환 블록의 변환 방식을 결정하는 단계를 포함하는 것을 특징으로 하는 영상 압축을 위한 선택적 변환 방법.
- 제 1 항에 있어서, 상기 변환 방식 결정 단계는
상기 잔차 신호에 대해 DST(Discrete Sine Transform) 또는 DCT(Discrete Cosine Transform) 중 어느 하나로 변환 방식을 결정하는 단계를 포함하는 것을 특징으로 하는 영상 압축을 위한 선택적 변환 방법.
- 제 1 항에 있어서,
상기 결정된 변환 방식을 기반으로 상기 현재 변환 블록에 대한 변환을 수행하는 단계를 더 포함하는 것을 특징으로 하는 영상 압축을 위한 선택적 변환 방법.
- 제 1 항에 있어서, 상기 변환 방식 결정 단계는
상기 현재 TU 사이즈와 상기 STU 사이즈가 같은 경우, 상기 잔차 신호에 대해 DST 변환을 수행하도록 결정하는 단계를 포함하는 것을 특징으로 하는 영상 압축을 위한 선택적 변환 방법.
- 제 1 항에 있어서, 상기 변환 방식 결정 단계는
상기 현재 TU 사이즈와 상기 STU 사이즈가 다른 경우, 상기 잔차 신호에 대해 DCT 변환을 수행하도록 결정하는 단계를 포함하는 것을 특징으로 하는 영상 압축을 위한 선택적 변환 방법.
- 제 1 항에 있어서,
상기 결정된 변환 방식과 관련된 정보 플래그를 시그널링하는 단계를 더 포함하는 것을 특징으로 하는 영상 압축을 위한 선택적 변환 방법.
- 현재 블록과 예측 블록 간의 차분값에 해당하는 잔차 신호에 대한 변환을 수행하고자 할 때, 현재 TU(Transform Unit) 사이즈와 STU(Smallest Transform Unit) 사이즈를 비교하는 비교부; 및
상기 TU 사이즈와 STU 사이즈의 비교 정보를 기반으로 현재 변환 블록의 변환 방식을 결정하는 결정부를 포함하는 것을 특징으로 하는 영상 압축을 위한 선택적 변환 장치.
- 역 양자화된 변환 계수에 대한 역변환을 수행하고자 할 때, 현재 TU(Transform Unit) 사이즈와 STU(Smallest Transform Unit) 사이즈를 비교하는 단계; 및
상기 TU 사이즈와 STU 사이즈의 비교 정보를 기반으로 현재 변환 블록의 역변환 방식을 결정하는 단계를 포함하는 것을 특징으로 하는 영상 압축을 위한 선택적 역변환 방법.
- 제 8 항에 있어서, 상기 역변환 방식 결정 단계는
상기 잔차 신호에 대해 inverse DST(Discrete Sine Transform) 또는 inverse DCT(Discrete Cosine Transform) 중 어느 하나로 역변환 방식을 결정하는 단계를 포함하는 것을 특징으로 하는 영상 압축을 위한 선택적 역변환 방법.
- 제 8 항에 있어서,
상기 결정된 역변환 방식을 기반으로 상기 현재 변환 블록에 대한 역변환을 수행하는 단계를 더 포함하는 것을 특징으로 하는 영상 압축을 위한 선택적 역변환 방법.
- 제 8 항에 있어서, 상기 역변환 방식 결정 단계는
상기 현재 TU 사이즈와 상기 STU 사이즈가 같은 경우, 상기 잔차 신호에 대해 inverse DST 역변환을 수행하도록 결정하는 단계를 포함하는 것을 특징으로 하는 영상 압축을 위한 선택적 역변환 방법.
- 제 8 항에 있어서, 상기 역변환 방식 결정 단계는
상기 현재 TU 사이즈와 상기 STU 사이즈가 다른 경우, 상기 잔차 신호에 대해 inverse DCT 역변환을 수행하도록 결정하는 단계를 포함하는 것을 특징으로 하는 영상 압축을 위한 선택적 역변환 방법.
- 제 8 항에 있어서,
상기 역변환 방식과 관련된 정보 플래그를 수신하는 경우, 상기 정보 플래그를 파싱하여 상기 역변환 방식을 결정하는 단계를 포함하는 것을 특징으로 하는 영상 압축을 위한 선택적 역변환 방법.
- 역 양자화된 변환 계수에 대한 역변환을 수행하고자 할 때, 현재 TU(Transform Unit) 사이즈와 STU(Smallest Transform Unit) 사이즈를 비교하는 비교부; 및
상기 TU 사이즈와 STU 사이즈의 비교 정보를 기반으로 현재 변환 블록의 역변환 방식을 결정하는 결정부를 포함하는 것을 특징으로 하는 영상 압축을 위한 선택적 역변환 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130077229A KR101529650B1 (ko) | 2013-07-02 | 2013-07-02 | 영상 압축을 위한 선택적 변환 방법 및 장치, 및 역변환 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130077229A KR101529650B1 (ko) | 2013-07-02 | 2013-07-02 | 영상 압축을 위한 선택적 변환 방법 및 장치, 및 역변환 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150004484A true KR20150004484A (ko) | 2015-01-13 |
KR101529650B1 KR101529650B1 (ko) | 2015-06-19 |
Family
ID=52476647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130077229A KR101529650B1 (ko) | 2013-07-02 | 2013-07-02 | 영상 압축을 위한 선택적 변환 방법 및 장치, 및 역변환 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101529650B1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017138791A1 (ko) * | 2016-02-12 | 2017-08-17 | 삼성전자 주식회사 | 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치 |
WO2017171370A1 (ko) * | 2016-03-28 | 2017-10-05 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
WO2018044088A1 (ko) * | 2016-08-31 | 2018-03-08 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
WO2019132567A1 (ko) * | 2017-12-29 | 2019-07-04 | 인텔렉추얼디스커버리 주식회사 | 서브-블록 단위 화면 내 예측을 사용하는 비디오 코딩 방법 및 장치 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019190283A1 (ko) * | 2018-03-29 | 2019-10-03 | 엘지전자 주식회사 | 저복잡도 연산 dst7을 설계하는 방법 및 장치 |
KR102555966B1 (ko) | 2018-07-12 | 2023-07-17 | 엘지전자 주식회사 | 비디오 신호를 처리하기 위한 방법 및 장치 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120035096A (ko) * | 2010-10-04 | 2012-04-13 | 한국전자통신연구원 | 쿼드 트리 변환 구조에서 부가 정보의 시그널링 방법 및 장치 |
KR101943049B1 (ko) * | 2011-06-30 | 2019-01-29 | 에스케이텔레콤 주식회사 | 영상 부호화/복호화 방법 및 장치 |
KR102055451B1 (ko) * | 2011-07-01 | 2019-12-13 | 엠앤케이홀딩스 주식회사 | 영상 복호화 장치 및 방법 |
TWI562597B (en) * | 2011-11-08 | 2016-12-11 | Samsung Electronics Co Ltd | Method and apparatus for quantization parameter determination and computer readable recording medium |
-
2013
- 2013-07-02 KR KR1020130077229A patent/KR101529650B1/ko active IP Right Grant
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10735731B2 (en) | 2016-02-12 | 2020-08-04 | Samsung Electronics Co., Ltd. | Image encoding method and apparatus, and image decoding method and apparatus |
US11758138B2 (en) | 2016-02-12 | 2023-09-12 | Samsung Electronics Co., Ltd. | Image encoding method and apparatus, and image decoding method and apparatus |
WO2017138791A1 (ko) * | 2016-02-12 | 2017-08-17 | 삼성전자 주식회사 | 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치 |
US11323709B2 (en) | 2016-02-12 | 2022-05-03 | Samsung Electronics Co.. Ltd. | Image encoding method and apparatus, and image decoding method and apparatus |
US11343497B2 (en) | 2016-03-28 | 2022-05-24 | Kt Corporation | Method and apparatus for processing video signal |
US10904526B2 (en) | 2016-03-28 | 2021-01-26 | Kt Corporation | Method and apparatus for processing video signal |
WO2017171370A1 (ko) * | 2016-03-28 | 2017-10-05 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
US11343498B2 (en) | 2016-03-28 | 2022-05-24 | Kt Corporation | Method and apparatus for processing video signal |
US11343499B2 (en) | 2016-03-28 | 2022-05-24 | Kt Corporation | Method and apparatus for processing video signal |
US11445194B2 (en) | 2016-08-31 | 2022-09-13 | Kt Corporation | Method and apparatus for processing video signal |
US10764583B2 (en) | 2016-08-31 | 2020-09-01 | Kt Corporation | Method and apparatus for processing video signal |
US11962774B2 (en) | 2016-08-31 | 2024-04-16 | Kt Corporation | Method and apparatus for processing video signal |
WO2018044088A1 (ko) * | 2016-08-31 | 2018-03-08 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
US11412223B2 (en) | 2016-08-31 | 2022-08-09 | Kt Corporation | Method and apparatus for processing video signal |
US11445195B2 (en) | 2016-08-31 | 2022-09-13 | Kt Corporation | Method and apparatus for processing video signal |
US11445193B2 (en) | 2016-08-31 | 2022-09-13 | Kt Corporation | Method and apparatus for processing video signal |
WO2019132567A1 (ko) * | 2017-12-29 | 2019-07-04 | 인텔렉추얼디스커버리 주식회사 | 서브-블록 단위 화면 내 예측을 사용하는 비디오 코딩 방법 및 장치 |
KR20220130654A (ko) * | 2017-12-29 | 2022-09-27 | 인텔렉추얼디스커버리 주식회사 | 서브-블록 단위 화면 내 예측을 사용하는 비디오 코딩 방법 및 장치 |
KR20190081383A (ko) * | 2017-12-29 | 2019-07-09 | 인텔렉추얼디스커버리 주식회사 | 서브-블록 단위 화면 내 예측을 사용하는 비디오 코딩 방법 및 장치 |
US11785227B2 (en) | 2017-12-29 | 2023-10-10 | Intellectual Discovery Co., Ltd. | Video coding method and device which use sub-block unit intra prediction |
US11259030B2 (en) | 2017-12-29 | 2022-02-22 | Intellectual Discovery Co., Ltd. | Video coding method and device which use sub-block unit intra prediction |
Also Published As
Publication number | Publication date |
---|---|
KR101529650B1 (ko) | 2015-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7091479B2 (ja) | 2次変換を利用するビデオ信号処理方法及び装置 | |
US10791329B2 (en) | Method and device for entropy coding/decoding | |
KR101769427B1 (ko) | 영상 부호화/복호화 방법 및 장치 | |
RU2721933C2 (ru) | Способ декодирования видеосигнала | |
KR102006479B1 (ko) | 영상 정보 부호화 및 복호화 방법 | |
KR101478959B1 (ko) | 영상 정보의 시그널링 방법 및 이를 이용한 영상 정보의 복호화 방법 | |
KR101529650B1 (ko) | 영상 압축을 위한 선택적 변환 방법 및 장치, 및 역변환 방법 및 장치 | |
WO2014084903A1 (en) | Devices and methods for modifications of syntax related to transform skip for high efficiency video coding (hevc) | |
KR20140130446A (ko) | 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치 | |
KR20140018873A (ko) | 영상 정보 부호화 방법 및 복호화 방법 | |
US11039166B2 (en) | Devices and methods for using base layer intra prediction mode for enhancement layer intra mode prediction | |
CN114731437A (zh) | 通过使用自适应颜色空间变换处理视频信号的方法和设备 | |
KR102577480B1 (ko) | 영상 부호화/복호화 방법 및 장치 | |
KR20130083405A (ko) | 디블록킹 필터링 방법 및 그 장치 | |
KR20210036479A (ko) | 비디오 코덱에서 행렬 변환 기반 예측 조건에 따른 2차 변환 블록 크기 제한 방법 | |
KR20210034790A (ko) | 비디오 코덱에서 이차 변환 부호화 방법 | |
KR20210035602A (ko) | 비디오 코덱에서 행렬 변환 기반 인트라 예측에 따른 2차 변환 적용 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20180508 Year of fee payment: 4 |