KR102329228B1 - 임의 파티션 변환에 기초하여 비디오 신호를 처리하는 방법 - Google Patents

임의 파티션 변환에 기초하여 비디오 신호를 처리하는 방법 Download PDF

Info

Publication number
KR102329228B1
KR102329228B1 KR1020187032507A KR20187032507A KR102329228B1 KR 102329228 B1 KR102329228 B1 KR 102329228B1 KR 1020187032507 A KR1020187032507 A KR 1020187032507A KR 20187032507 A KR20187032507 A KR 20187032507A KR 102329228 B1 KR102329228 B1 KR 102329228B1
Authority
KR
South Korea
Prior art keywords
partition
transform
arbitrary
transformation
index
Prior art date
Application number
KR1020187032507A
Other languages
English (en)
Other versions
KR20180136974A (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 KR20180136974A publication Critical patent/KR20180136974A/ko
Application granted granted Critical
Publication of KR102329228B1 publication Critical patent/KR102329228B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

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

본 발명은, 임의 파티션 변환(arbitrary partition transform)에 기초하여 비디오 신호를 처리하는 방법에 있어서, 입력 데이터에 대해 파티션 셋을 결정하는 단계, 여기서 상기 파티션 셋은 스캐닝 패턴에 기초하여 데이터 블록으로부터 분할된 파티션들의 셋을 나타냄; 상기 파티션 셋에 대응되는 변환 행렬 셋을 결정하는 단계; 상기 파티션 셋에 상기 변환 행렬 셋을 적용함으로써 각 파티션에 대한 임의 파티션 변환 벡터(arbitrary partition transform vector)를 산출하는 단계; 및 상기 임의 파티션 변환 벡터를 역매핑(inverse-mapping)하여 상기 입력 데이터에 대한 임의 파티션 변환 계수(arbitrary partition transform coefficient)를 산출하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.

Description

임의 파티션 변환에 기초하여 비디오 신호를 처리하는 방법
본 발명은 임의 파티션 변환(arbitrary partition transform)에 기초하여 비디오 신호를 처리하는 방법에 관한 것이다. 구체적으로, 데이터 블록으로부터 임의적으로 분할된 파티션들에 대한 변환을 디자인하는 기술에 관한 것이다.
차세대 비디오 컨텐츠는 고해상도(high spatial resolution), 고프레임율(high frame rate) 및 영상 표현의 고차원화(high dimensionality of scene representation)라는 특징을 갖게 될 것이다. 그러한 컨텐츠를 처리하기 위해서는 메모리 저장(memory storage), 메모리 액세스율(memory access rate) 및 처리 전력(processing power) 측면에서 엄청난 증가를 가져올 것이다. 따라서, 차세대 비디오 컨텐츠를 보다 효율적으로 처리하기 위한 코딩 툴을 디자인할 필요가 있다.
일반적으로 N × N 블록의 데이터의 경우 2차원 변환을 적용하려면 N4 의 곱셈-덧셈 연산(multiply-add operations)이 필요하다. 반면, 분리 가능한 변환(Separable transform)은 일반적으로 N3 정도의 복잡성을 갖지만 분리 불가능한 변환과 비교할 때 신호 압축과 같은 응용 프로그램에서는 성능이 떨어진다.
따라서, 효과적인 신호 처리를 위해 낮은 복잡도와 높은 압축 효율 간의 요구 사항을 모두 만족시킬 수 있는 방법이 필요하다.
본 발명은, 임의 파티션 변환(arbitrary partition transform)에 기초하여 비디오 신호를 처리하는 방법을 제공하고자 한다.
또한, 본 발명은, 데이터 블록으로부터 임의적으로 분할된 파티션들에 대한 변환을 정의하는 방법을 제공하고자 한다.
또한, 본 발명은, 1차원 변환(1-dimensional transform)을 사용하여 분리 불가능한 다차원 번환을 근사화(approximate)하는 방법을 제공하고자 한다.
또한, 본 발명은, 데이터 블록에 임의 파티션 변환(arbitrary partition transform)을 적용하는 방법을 제공하고자 한다.
또한, 본 발명은, 1차원 임의 파티션 변환 및 다차원 임의 파티션 변환을 수행하는 방법을 제공하고자 한다.
또한, 본 발명은, 임의 파티션 변환을 수행하기 위한 최적의 파티션 셋을 결정하는 방법을 제공하고자 한다.
또한, 본 발명은, 임의 파티션 변환을 수행하기 위한 최적의 변환 행렬 셋을 결정하는 방법을 제공하고자 한다.
본 발명은, 임의 파티션 변환(arbitrary partition transform)에 기초하여 비디오 신호를 처리하는 방법을 제공한다.
또한, 본 발명은, 1차원 임의 파티션 변환을 연속적으로 수행함으로서 다차원 임의 파티션 변환을 수행하는 방법을 제공한다.
또한, 본 발명은, 최적화 함수에 기초하여 임의 파티션 변환을 수행하기 위한 최적의 파티션 셋을 결정하는 방법을 제공한다.
또한, 본 발명은, 최적화 함수에 기초하여 임의 파티션 변환을 수행하기 위한 최적의 변환 행렬 셋을 결정하는 방법을 제공한다.
또한, 본 발명은, 파티션 셋을 정의하기 위한 스캐닝 패턴의 다양한 실시예들을 제공한다.
또한, 본 발명은, 임의 파티션 변환 정보에 기초하여 임의 파티션 역변환을 수행하는 방법을 제공한다.
본 발명은 임의 파티션 변환(arbitrary partition transform)을 수행하는 방법을 제공함으로써 낮은 복잡도 및 고효율로 압축 코딩을 수행할 수 있다.
또한, 본 발명의 컨셉은 정방형 블록뿐 아니라 비정방형 블록(non-square blocks), 다차원(multiple dimensions) 및 비픽셀 유형(non-pixel type)의 데이터로 확장 가능하며, 이로 인해 보다 적응적인 변환을 수행할 수 있다.
또한, 본 발명은 임의 파티션 변환(arbitrary partition transform)을 수행하기 위해, 최적화 함수에 기초하여 결정된 최적의 파티션 셋 또는 최적의 변환 행렬 셋 중 적어도 하나를 이용함으로써, 기존의 DCT 기반의 코딩보다 효율적인 코딩을 수행할 수 있다.
도 1은 본 발명이 적용되는 실시예로서, 비디오 신호의 인코딩이 수행되는 인코더의 개략적인 블록도를 나타낸다.
도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더의 개략적인 블록도를 나타낸다.
도 3은 본 발명이 적용되는 실시예로서, 비디오 신호의 코딩을 위한 블록의 분할 구조를 나타낸다.
도 4는 본 발명이 적용되는 실시예로서, 임의 파티션 변환(arbitrary partition transform)을 수행하기 위한 입력 데이터의 파티션 셋을 설명하기 위한 도면이다.
도 5는 본 발명이 적용되는 일실시예로서, 임의 파티션 변환(arbitrary partition transform)을 수행하는 방법을 설명하기 위한 도면이다.
도 6은 본 발명이 적용되는 실시예로서, 임의 파티션 변환(arbitrary partition transform)이 적용되는 변환부의 개략적인 블록도를 나타낸다.
도 7은 본 발명이 적용되는 일실시예로서, 2차원 임의 파티션 변환(2-Dimensional arbitrary partition transform)을 수행하는 방법을 설명하기 위한 도면이다.
도 8 내지 도 11은 본 발명이 적용되는 실시예들로서, 파티션 셋을 정의하기 위한 스캐닝 패턴의 다양한 예들을 나타낸다.
도 12는 본 발명이 적용되는 실시예로서, 임의 파티션 변환(arbitrary partition transform)을 수행하는 과정을 나타내는 흐름도이다.
도 13은 본 발명이 적용되는 일실시예로서, 임의 파티션 변환 벡터를 산출하는 과정을 나타내는 흐름도이다.
도 14는 본 발명이 적용되는 일실시예로서, 임의 파티션 변환(arbitrary partition transform)에 기초하여 비디오 신호를 디코딩하는 과정을 나타내는 흐름도이다.
도 15는 본 발명이 적용되는 일실시예로서, 임의 파티션 변환(arbitrary partition transform)을 포함하는 적어도 하나의 변환 방식을 이용하여 변환을 수행하는 변환부의 개략적인 블록도를 나타낸다.
발명의 실시를 위한 최선의 형태
본 발명은, 임의 파티션 변환(arbitrary partition transform)에 기초하여 비디오 신호를 처리하는 방법에 있어서, 입력 데이터에 대해 파티션 셋을 결정하는 단계, 여기서 상기 파티션 셋은 스캐닝 패턴에 기초하여 데이터 블록으로부터 분할된 파티션들의 셋을 나타냄; 상기 파티션 셋에 대응되는 변환 행렬 셋을 결정하는 단계; 상기 파티션 셋에 상기 변환 행렬 셋을 적용함으로써 각 파티션에 대한 임의 파티션 변환 벡터(arbitrary partition transform vector)를 산출하는 단계; 및 상기 임의 파티션 변환 벡터를 역매핑(inverse-mapping)하여 상기 입력 데이터에 대한 임의 파티션 변환 계수(arbitrary partition transform coefficient)를 산출하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.
또한, 본 발명에서, 상기 임의 파티션 변환 벡터를 산출하는 단계는, 상기 입력 데이터의 블록 내 픽셀 위치에 인덱스를 할당하는 단계; 상기 인덱스에 대응되는 열 벡터(column vector)를 형성하는 단계; 및 상기 열 벡터들에 대해 상기 변환 행렬 셋을 적용함으로써 상기 파티션 셋에 대한 임의 파티션 변환 벡터를 산출하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명에서, 상기 인덱스는 적어도 하나의 인덱스 서브셋(index subset)으로 표현되고, 상기 열 벡터는 적어도 하나의 열 벡터 서브셋(column vector subset)으로 표현되며, 상기 적어도 하나의 인덱스 서브셋 및 상기 적어도 하나의 열 벡터 셋은 각각 상기 스캐닝 패턴에 기초하여 정렬되는 것을 특징으로 한다.
또한, 본 발명에서, 상기 스캐닝 패턴은 대각(diagonal) 패턴, 반-대각(anti-diagonal) 패턴, 각도 패턴(angle pattern), 코너 패턴(corner pattern), 또는 임의 패턴(arbitrary pattern) 중 적어도 하나에 대응되는 것을 특징으로 한다.
또한, 본 발명에서, 상기 파티션 셋과 상기 변환 행렬 셋 중 적어도 하나는 최적화 함수에 기초하여 최적의 값(optimal value)으로 결정되는 것을 특징으로 한다.
또한, 본 발명에서, 2차원의 임의 파티션 변환은 2개의 1차원 임의 파티션 변환을 연속적으로 수행함으로써 획득되는 것을 특징으로 한다.
또한, 본 발명은, 상기 임의 파티션 변환 계수를 양자화하는 단계; 및 상기 양자화된 임의 파티션 변환 계수를 엔트로피 인코딩하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 본 발명은, 임의 파티션 변환(arbitrary partition transform)에 기초하여 비디오 신호를 처리하는 방법에 있어서, 상기 비디오 신호로부터 임의 파티션 변환 정보(arbitrary partition transform information)를 추출하는 단계; 상기 임의 파티션 변환 정보에 기초하여 임의 파티션 변환 벡터를 유도하는 단계; 상기 임의 파티션 변환 벡터에 기초하여, 레지듀얼 데이터에 대해 임의 파티션 역변환을 수행하는 단계; 및 상기 역변환된 레지듀얼 신호와 예측 신호를 합하여 복원 신호를 생성하는 단계를 포함하되, 상기 임의 파티션 변환 정보는 파티션 인덱스 또는 변환 인덱스 중 적어도 하나를 포함하고, 상기 파티션 인덱스는 특정 스캐닝 패턴에 기초하여 분할된 파티션 셋을 가리키는 인덱스를 나타내고, 상기 변환 인덱스는 상기 파티션 셋에 대응되는 변환 행렬 셋을 가리키는 인덱스를 나타내는 것을 특징으로 하는 방법을 제공한다.
또한, 본 발명은, 임의 파티션 변환(arbitrary partition transform)에 기초하여 비디오 신호를 처리하는 장치에 있어서, 입력 데이터에 대해 파티션 셋을 결정하고, 상기 파티션 셋에 대응되는 변환 행렬 셋을 결정하고, 상기 파티션 셋에 상기 변환 행렬 셋을 적용함으로써 각 파티션에 대한 임의 파티션 변환 벡터(arbitrary partition transform vector)를 산출하고, 상기 임의 파티션 변환 벡터를 역매핑(inverse-mapping)하여 상기 입력 데이터에 대한 임의 파티션 변환 계수(arbitrary partition transform coefficient)를 산출하는 변환부; 상기 임의 파티션 변환 계수를 양자화하는 양자화부; 및 상기 양자화된 임의 파티션 변환 계수를 엔트로피 인코딩하는 엔트로피 인코딩부를 포함하되, 상기 파티션 셋은 스캐닝 패턴에 기초하여 데이터 블록으로부터 분할된 파티션들의 셋을 나타내는 것을 특징으로 하는 장치를 제공한다.
또한, 본 발명에서, 상기 변환부는, 상기 입력 데이터의 블록 내 픽셀 위치에 인덱스를 할당하고, 상기 인덱스에 대응되는 열 벡터(column vector)를 형성하고, 상기 열 벡터들에 대해 상기 변환 행렬 셋을 적용함으로써 상기 파티션 셋에 대한 임의 파티션 변환 벡터를 산출하는 것을 특징으로 한다.
또한, 본 발명은, 임의 파티션 변환(arbitrary partition transform)에 기초하여 비디오 신호를 처리하는 장치에 있어서, 상기 비디오 신호로부터 임의 파티션 변환 정보(arbitrary partition transform information)를 추출하는 파싱부; 상기 임의 파티션 변환 정보에 기초하여 임의 파티션 변환 벡터를 유도하고, 상기 임의 파티션 변환 벡터에 기초하여 레지듀얼 데이터에 대해 임의 파티션 역변환을 수행하는 역변환부; 및 상기 역변환된 레지듀얼 신호와 예측 신호를 합하여 복원 신호를 생성하는 복원부를 포함하되, 상기 임의 파티션 변환 정보는 파티션 인덱스 또는 변환 인덱스 중 적어도 하나를 포함하고, 상기 파티션 인덱스는 특정 스캐닝 패턴에 기초하여 분할된 파티션 셋을 가리키는 인덱스를 나타내고, 상기 변환 인덱스는 상기 파티션 셋에 대응되는 변환 행렬 셋을 가리키는 인덱스를 나타내는 것을 특징으로 하는 장치를 제공한다.
발명의 실시를 위한 형태
이하, 첨부된 도면을 참조하여 본 발명의 실시예의 구성과 그 작용을 설명하며, 도면에 의해서 설명되는 본 발명의 구성과 작용은 하나의 실시예로서 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
아울러, 본 발명에서 사용되는 용어는 가능한 한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어를 사용하여 설명한다. 그러한 경우에는 해당 부분의 상세 설명에서 그 의미를 명확히 기재하므로, 본 발명의 설명에서 사용된 용어의 명칭만으로 단순 해석되어서는 안 될 것이며 그 해당 용어의 의미까지 파악하여 해석되어야 함을 밝혀두고자 한다.
또한, 본 발명에서 사용되는 용어들은 발명을 설명하기 위해 선택된 일반적인 용어들이나, 유사한 의미를 갖는 다른 용어가 있는 경우 보다 적절한 해석을 위해 대체 가능할 것이다. 예를 들어, 신호, 데이터, 샘플, 픽쳐, 프레임, 블록 등의 경우 각 코딩 과정에서 적절하게 대체되어 해석될 수 있을 것이다. 또한, 파티셔닝(partitioning), 분해(decomposition), 스플리팅(splitting) 및 분할(division) 등의 경우에도 각 코딩 과정에서 적절하게 대체되어 해석될 수 있을 것이다.
도 1은 본 발명이 적용되는 실시예로서, 비디오 신호의 인코딩이 수행되는 인코더의 개략적인 블록도를 나타낸다.
도 1을 참조하면, 인코더(100)는 영상 분할부(110), 변환부(120), 양자화부(130), 역양자화부(140), 역변환부(150), 필터링부(160), 복호 픽쳐 버퍼(DPB: Decoded Picture Buffer)(170), 인터 예측부(180), 인트라 예측부(185) 및 엔트로피 인코딩부(190)를 포함하여 구성될 수 있다.
영상 분할부(110)는 인코더(100)에 입력된 입력 영상(Input image)(또는, 픽쳐, 프레임)를 하나 이상의 처리 유닛으로 분할할 수 있다. 예를 들어, 상기 처리 유닛은 코딩 트리 유닛(CTU: Coding Tree Unit), 코딩 유닛(CU: Coding Unit), 예측 유닛(PU: Prediction Unit) 또는 변환 유닛(TU: Transform Unit)일 수 있다.
다만, 상기 용어들은 본 발명에 대한 설명의 편의를 위해 사용할 뿐이며, 본 발명은 해당 용어의 정의에 한정되지 않는다. 또한, 본 명세서에서는 설명의 편의를 위해, 비디오 신호를 인코딩 또는 디코딩하는 과정에서 이용되는 단위로써 코딩 유닛이라는 용어를 사용하지만, 본 발명은 그에 한정되지 않으며 발명 내용에 따라 적절하게 해석 가능할 것이다.
인코더(100)는 입력 영상 신호에서 인터 예측부(180) 또는 인트라 예측부(185)로부터 출력된 예측 신호(prediction signal)를 감산하여 레지듀얼 신호(residual signal)를 생성할 수 있고, 생성된 레지듀얼 신호는 변환부(120)로 전송된다.
변환부(120)는 레지듀얼 신호에 변환 기법을 적용하여 변환 계수(transform coefficient)를 생성할 수 있다. 변환 과정은 정사각형의 동일한 크기를 갖는 픽셀 블록에 적용될 수도 있고, 정사각형이 아닌 가변 크기의 블록에도 적용될 수 있다.
상기 변환부(120)는 픽셀 간 관계 정보를 그래프로 표현하여 처리하는 그래프 기반 신호 처리 방식을 이용할 수 있다. 예를 들어, 상기 변환부(120)는 임의 파티션 변환부(arbitrary partition transform unit)(미도시)를 포함할 수 있고, 상기 임의 파티션 변환부는 입력 데이터에 대해 파티션 셋을 결정하고, 상기 파티션 셋에 대응되는 변환 행렬 셋을 결정하고, 상기 파티션 셋에 상기 변환 행렬 셋을 적용함으로써 각 파티션에 대한 임의 파티션 변환 벡터(arbitrary partition transform vector)를 산출하고, 상기 임의 파티션 변환 벡터를 역매핑(inverse-mapping)하여 상기 입력 데이터에 대한 임의 파티션 변환 계수(arbitrary partition transform coefficient)를 산출할 수 있다. 여기서, 상기 파티션 셋은 스캐닝 패턴에 기초하여 데이터 블록으로부터 분할된 파티션들의 셋을 나타낼 수 있다.
본 발명의 일실시예로, 임의 파티션 변환 벡터를 산출하는 단계는, 입력 데이터의 블록 내 픽셀 위치에 인덱스를 할당하는 단계; 상기 인덱스에 대응되는 열 벡터(column vector)를 형성하는 단계; 및 상기 열 벡터들에 대해 변환 행렬 셋을 적용함으로써 상기 파티션 셋에 대한 임의 파티션 변환 벡터를 산출하는 단계를 포함할 수 있다.
본 발명의 일실시예로, 상기 인덱스는 적어도 하나의 인덱스 서브셋(index subset)으로 표현되고, 상기 열 벡터는 적어도 하나의 열 벡터 서브셋(column vector subset)으로 표현되며, 상기 적어도 하나의 인덱스 서브셋 및 상기 적어도 하나의 열 벡터 셋은 각각 상기 스캐닝 패턴에 기초하여 정렬될 수 있다.
본 발명의 일실시예로, 상기 스캐닝 패턴은 대각(diagonal) 패턴, 반-대각(anti-diagonal) 패턴, 각도 패턴(angle pattern), 코너 패턴(corner pattern), 또는 임의 패턴(arbitrary pattern) 중 적어도 하나에 대응될 수 있다.
본 발명의 일실시예로, 상기 파티션 셋과 상기 변환 행렬 셋 중 적어도 하나는 최적화 함수에 기초하여 최적의 값(optimal value)으로 결정될 수 있다.
본 발명의 일실시예는, 2차원의 임의 파티션 변환은 2개의 1차원 임의 파티션 변환을 연속적으로 수행함으로써 획득될 수 있다.
본 발명이 적용되는 임의 파티션 변환부는 별개의 기능 유닛으로 존재할 수 있다. 또는, 상기 임의 파티션 변환부는 다른 변환 방식으로 수행되는 기능부(functional unit)와 함께 상기 변환부(120) 내에 포함될 수 있다. 예를 들어, 이후 설명하게 될 도 15가 한 예가 될 수 있으나, 본 발명은 이에 한정되지 않는다. 예를 들어, 상기 다른 변환 방식은 DCT(Discrete Cosine Transform), DST(Discrete Sine Transform), KLT(Karhunen-Loeve Transform), CNT(Conditionally Non-linear Transform), 임의 파티션 변환(Arbitrary Partition Transform) 또는 기울임 변환(Oblique Transform) 중 적어도 하나를 포함할 수 있다.
양자화부(130)는 변환 계수를 양자화하여 엔트로피 인코딩부(190)로 전송하고, 엔트로피 인코딩부(190)는 양자화된 신호(quantized signal)를 엔트로피 코딩하여 비트스트림으로 출력할 수 있다. 여기서, 상기 변환 계수는 상기 임의 파티션 변환 계수일 수 있고, 또는 다른 변환 방식에 의해 산출된 변환 계수일 수도 있다.
양자화부(130)로부터 출력된 양자화된 신호(quantized signal)는 예측 신호를 생성하기 위해 이용될 수 있다. 예를 들어, 양자화된 신호(quantized signal)는 루프 내의 역양자화부(140) 및 역변환부(150)를 통해 역양자화 및 역변환을 적용함으로써 레지 듀얼 신호를 복원할 수 있다. 복원된 레지듀얼 신호를 인터 예측부(180) 또는 인트라 예측부(185)로부터 출력된 예측 신호(prediction signal)에 더함으로써 복원 신호(reconstructed signal)가 생성될 수 있다.
한편, 위와 같은 압축 과정에서 인접한 블록들이 서로 다른 양자화 파라미터에 의해 양자화됨으로써 블록 경계가 보이는 열화가 발생될 수 있다. 이러한 현상을 블록킹 열화(blocking artifacts)라고 하며, 이는 화질을 평가하는 중요한 요소 중의 하나이다. 이러한 열화를 줄이기 위해 필터링 과정을 수행할 수 있다. 이러한 필터링 과정을 통해 블록킹 열화를 제거함과 동시에 현재 픽쳐에 대한 오차를 줄임으로써 화질을 향상시킬 수 있게 된다.
필터링부(160)는 복원 신호에 필터링을 적용하여 이를 재생 장치로 출력하거나 복호 픽쳐 버퍼(170)에 전송한다. 복호 픽쳐 버퍼(170)에 전송된 필터링된 신호는 인터 예측부(180)에서 참조 픽쳐로 사용될 수 있다. 이처럼, 필터링된 픽쳐를 화면간 예측 모드에서 참조 픽쳐로 이용함으로써 화질 뿐만 아니라 부호화 효율도 향상시킬 수 있다.
복호 픽쳐 버퍼(170)는 필터링된 픽쳐를 인터 예측부(180)에서의 참조 픽쳐로 사용하기 위해 저장할 수 있다.
인터 예측부(180)는 복원 픽쳐(reconstructed picture)를 참조하여 시간적 중복성 및/또는 공간적 중복성을 제거하기 위해 시간적 예측 및/또는 공간적 예측을 수행한다. 여기서, 예측을 수행하기 위해 이용되는 참조 픽쳐는 이전 시간에 부호화/복호화 시 블록 단위로 양자화와 역양자화를 거친 변환된 신호이기 때문에, 블로킹 아티팩트(blocking artifact)나 링잉 아티팩트(ringing artifact)가 존재할 수 있다.
따라서, 인터 예측부(180)는 이러한 신호의 불연속이나 양자화로 인한 성능 저하를 해결하기 위해, 로우패스 필터(lowpass filter)를 적용함으로써 픽셀들 사이의 신호를 서브 픽셀 단위로 보간할 수 있다. 여기서, 서브 픽셀은 보간 필터를 적용하여 생성된 가상의 화소를 의미하고, 정수 픽셀은 복원된 픽쳐에 존재하는 실제 화소를 의미한다. 보간 방법으로는 선형 보간, 양선형 보간(bi-linear interpolation), 위너 필터(wiener filter) 등이 적용될 수 있다.
보간 필터는 복원 픽쳐(reconstructed picture)에 적용되어 예측의 정밀도를 향상시킬 수 있다. 예를 들어, 인터 예측부(180)는 정수 픽셀에 보간 필터를 적용하여 보간 픽셀을 생성하고, 보간 픽셀들(interpolated pixels)로 구성된 보간 블록(interpolated block)을 예측 블록(prediction block)으로 사용하여 예측을 수행할 수 있다.
인트라 예측부(185)는 현재 부호화를 진행하려고 하는 블록의 주변에 있는 샘플들을 참조하여 현재 블록을 예측할 수 있다. 상기 인트라 예측부(185)는 인트라 예측을 수행하기 위해 다음과 같은 과정을 수행할 수 있다. 먼저, 예측 신호를 생성하기 위해 필요한 참조 샘플을 준비할 수 있다. 그리고, 준비된 참조 샘플을 이용하여 예측 신호를 생성할 수 있다. 이후, 예측 모드를 부호화하게 된다. 이때, 참조 샘플은 참조 샘플 패딩 및/또는 참조 샘플 필터링을 통해 준비될 수 있다. 참조 샘플은 예측 및 복원 과정을 거쳤기 때문에 양자화 에러가 존재할 수 있다. 따라서, 이러한 에러를 줄이기 위해 인트라 예측에 이용되는 각 예측 모드에 대해 참조 샘플 필터링 과정이 수행될 수 있다.
상기 인터 예측부(180) 또는 상기 인트라 예측부(185)를 통해 생성된 예측 신호(prediction signal)는 복원 신호를 생성하기 위해 이용되거나 레지듀얼 신호를 생성하기 위해 이용될 수 있다.
도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더의 개략적인 블록도를 나타낸다.
도 2를 참조하면, 디코더(200)는 파싱부(미도시), 엔트로피 디코딩부(210), 역양자화부(220), 역변환부(230), 필터링부(240), 복호 픽쳐 버퍼(DPB: Decoded Picture Buffer Unit)(250), 인터 예측부(260), 인트라 예측부(265) 및 복원부(미도시)를 포함하여 구성될 수 있다.
그리고, 디코더(200)를 통해 출력된 복원 영상 신호(reconstructed video signal)는 재생 장치를 통해 재생될 수 있다.
디코더(200)는 비트스트림을 수신할 수 있고, 상기 비트스트림으로부터 신호 복원을 위해 필요한 코딩 정보를 파싱부(미도시)를 통해 파싱할 수 있다.
상기 수신된 비트스트림은 엔트로피 디코딩부(210)를 통해 엔트로피 디코딩될 수 있다.
본 발명의 일실시예로, 상기 파싱부는 상기 비트스트림으로부터 임의 파티션 변환 정보(arbitrary partition transform information)를 추출할 수 있다. 여기서, 상기 임의 파티션 변환 정보는 임의 파티션 변환을 수행하기 위해 이용되는 정보를 나타내고, 예를 들어, 파티션 인덱스 또는 변환 인덱스 중 적어도 하나를 포함할 수 있다. 상기 파티션 인덱스는 특정 스캐닝 패턴에 기초하여 분할된 파티션 셋을 가리키는 인덱스를 나타내고, 상기 변환 인덱스는 상기 파티션 셋에 대응되는 변환 행렬 셋을 가리키는 인덱스를 나타낸다.
상기 임의 파티션 변환 정보는 임의 파티션 역변환을 수행하기 위해 이용될 수 있다.
본 발명의 일실시예로, 상기 파싱부는 상기 비트스트림으로부터 모드 인덱스를 추출할 수 있다. 여기서, 상기 모드 인덱스는 최적화된 변환 행렬 또는 변환 행렬 셋에 대응될 수 있다. 예를 들어, 상기 모드 인덱스는 DCT 행렬, 임의 파티션 변환 행렬, DST 행렬 또는 이들의 조합을 나타낼 수 있다.
상기 모드 인덱스는 상기 엔트로피 디코딩부(210)를 통해 엔트로피 디코딩되고, 역변환부(230)에서 역변환을 수행하기 위해 이용될 수 있다.
예를 들어, 상기 디코더는 상기 임의 파티션 변환 정보에 기초하여 임의 파티션 변환 벡터를 유도하고, 상기 임의 파티션 변환 벡터에 기초하여 레지듀얼 데이터에 대해 임의 파티션 역변환을 수행하고, 상기 역변환된 레지듀얼 신호와 예측 신호를 합하여 복원 신호를 생성할 수 있다.
일실시예로, 상기 모드 인덱스에 대응되는 다양한 타입의 변환 행렬들은 오프라인 훈련(off-line training)을 통해 미리 준비되어 인코더 및/또는 디코더에 저장되어 있을 수 있다. 상기 디코더는 미리 저장되어 있는 변환 행렬들 중, 상기 모드 인덱스에 대응되는 변환을 유도하여 이용할 수 있다.
다만, 본 발명은 이에 한정되지 않으며, 예를 들어 상기 모드 인덱스는 본 발명의 디코딩을 위해 필수적인 요소가 아닐 수 있다.
역양자화부(220)에서는 양자화 스텝 사이즈 정보를 이용하여 엔트로피 디코딩된 신호로부터 변환 계수(transform coefficient)를 획득한다. 여기서, 상기 변환 계수는 상기 임의 파티션 변환 계수일 수 있고, 또는 다른 변환 방식에 의해 산출된 변환 계수일 수도 있다. 또는, 상기 변환 계수는 상기 도 1의 변환부(120)에서 설명한 다양한 실시예들이 적용된 것일 수 있다.
역변환부(230)에서는 상기 변환 계수를 역변환하여 레지듀얼 신호(residual signal)를 획득하게 된다. 예를 들어, 상기 역변환시 임의 파티션 변환 방식이 이용될 수 있다.
획득된 레지듀얼 신호를 인터 예측부(260) 또는 인트라 예측부(265)로부터 출력된 예측 신호(prediction signal)에 더함으로써 복원 신호(reconstructed signal)가 생성된다.
필터링부(240)는 복원 신호(reconstructed signal)에 필터링을 적용하여 이를 재생 장치로 출력하거나 복호 픽쳐 버퍼부(250)에 전송한다. 복호 픽쳐 버퍼부(250)에 전송된 필터링된 신호는 인터 예측부(260)에서 참조 픽쳐로 사용될 수 있다.
본 명세서에서, 인코더(100)의 필터링부(160), 인터 예측부(180) 및 인트라 예측부(185)에서 설명된 실시예들은 각각 디코더의 필터링부(240), 인터 예측부(260)및 인트라 예측부(265)에도 동일하게 적용될 수 있다.
도 3은 본 발명이 적용되는 실시예로서, 비디오 신호의 코딩을 위한 블록의 분할 구조를 나타낸다.
QTBT(Quadtree plus binarytree) 구조
QTBT는 쿼드트리(quadtree, 이하 'QT'라 함) 방식과 바이너리트리(binarytree, 이하 'BT'라 함) 방식이 결합된 블록 분할 구조를 말한다. 본 발명에서, 상기 QT 방식이 적용된 후 BT 방식이 적용될 수 있으며, 또한 순서에 상관없이 적용될 수도 있다.
구체적으로, QTBT 블록 분할 구조에서는 기존의 방법과 같이 QT 형태로 블록 분할이 수행된 후, 분할 플래그(split flag) 정보의 시그널링을 통해 추가적으로 BT 형태로 분할이 수행된다.
도 3을 참조하면, QTBT 구조의 블록 분할 구조를 예시한다. 실선으로 구분된 블록은 QT 구조 즉, QT 형태로 분할된 블록을 나타낸다.
그리고, 점선으로 구분된 블록은 BT 구조 즉, BT 형태로 분할된 블록을 나타낸다. QT 형태로 분할된 블록 구조에 기초하여 BT 구조로 추가적인 분할이 수행될 수 있다. 또는, 그 역으로도 가능할 수 있다.
구체적으로, 인코더는 BT 구조로 블록 분할을 위해 BT 분할 플래그와 수평 방향 분할 또는 수직 방향 분할을 지시하는 분할 방향 플래그 중 적어도 하나를 이용할 수 있다.
QTBT 블록 구조에 의하여 영상의 특성에 따라 정방형 블록 이외에 비정방형 블록이 존재할 수 있다. 그리고, 분할된 블록을 기준으로 예측, 변환, 양자화, 엔트로피 코딩 등을 수행할 수 있다.
한편, 인코더는 하나의 영상(또는 픽쳐)을 사각형 형태의 코딩 트리 유닛(CTU: Coding Tree Unit) 단위로 분할할 수 있다. 그리고, 래스터 스캔 순서(raster scan order)에 따라 하나의 CTU 씩 순차적으로 인코딩한다.
인코더는 입력된 영상의 해상도 또는 입력된 영상의 특성 등에 따라 CTU의 크기를 선택하여 사용할 수 있다. CTU은 휘도(luma) 성분에 대한 코딩 트리 블록(CTB: Coding Tree Block)과 이에 대응하는 두 개의 색차(chroma) 성분에 대한 코딩 트리 블록(CTB: Coding Tree Block)을 포함할 수 있다.
하나의 CTU은 QTBT 구조 또는 QT 구조로 분해될 수 있고, 이러한 QTBT 구조 또는 QT 구조의 분해는 재귀적으로 수행될 수 있다.
CU(CU: Coding Unit)은 입력 영상의 처리 과정, 예컨대 인트라(intra)/인터(inter) 예측이 수행되는 코딩의 기본 단위를 의미할 수 있다.
또한, 트리 구조를 갖는 CU은 미리 정해진 최대 깊이 정보(또는, 최대 레벨 정보)를 가지고 계층적으로 분할될 수 있다. 그리고, 각각의 분할된 CU은 깊이 정보를 가질 수 있다. 깊이 정보는 CU의 분할된 횟수 및/또는 정도를 나타내므로, CU의 크기에 관한 정보를 포함할 수도 있다.
하나의 CU에 대하여, 해당 CU이 분할 되는지 여부를 나타내는 정보가 디코더에 전달될 수 있다. 예를 들어, 상기 정보는 분할 플래그로 정의될 수 있으며, 신택스 엘리먼트 "split_cu_flag"로 표현될 수 있다. 앞서 CU의 분할 과정에 대해 예로 들어 설명하였으나, 변환을 수행하는 기본 단위인 변환 유닛(TU: Transform Unit)의 분할 과정에 대해서도 QT 구조뿐만 아니라 QTBT 구조를 적용할 수 있다.
TU는 코딩하려는 CU로부터 QTBT 구조 또는 QT 구조로 계층적으로 분할될 수 있다.
TU는 QTBT 구조 또는 QT 구조로 분할되므로 CU로부터 분할된 TU는 다시 더 작은 하위 TU로 분할될 수 있다.
하나의 TU에 대하여, 해당 TU이 분할 되는지 여부를 나타내는 정보가 디코더에 전달될 수 있다. 예를 들어, 상기 정보는 분할 변환 플래그로 정의될 수 있으며, 신택스 엘리먼트 "split_transform_flag"로 표현될 수 있다.
상기에서 설명한 바와 같이, CU는 인트라 예측 또는 인터 예측이 수행되는 코딩의 기본 단위이다. 입력 영상을 보다 효과적으로 코딩하기 위하여 CU를 예측 유닛(PU: Prediction Unit) 단위로 분할할 수 있다.
PU는 예측 블록을 생성하는 기본 단위로서, 하나의 CU 내에서도 PU 단위로 서로 다르게 예측 블록을 생성할 수 있다. PU는 PU가 속하는 CU의 코딩 모드로 인트라 예측 모드가 사용되는지 인터 예측 모드가 사용되는지에 따라 상이하게 분할될 수 있다.
도 4는 본 발명이 적용되는 실시예로서, 임의 파티션 변환(arbitrary partition transform)을 수행하기 위한 입력 데이터의 파티션 셋을 설명하기 위한 도면이다.
본 발명은, 연속적이고 간단한 1 차원 변환(1-dimensional transform)을 이용하여 정교하고 일반적인 분리 불가능한 다차원 변환을 근사화(approximate)하는 방법을 제안한다. 제안되는 알고리즘은 2차원을 예로 들어 설명하나, 본 발명은 이에 한정되지 않으며 다차원 예제로 확장 가능하다.
분리 가능하지 않은 변환(non-separable transform)은 높은 복잡도를 요구하지만 신호의 복잡한 특성(intricate characteristics)을 포착할 수 있다는 이점이 있다. 일반적으로 N × N 블록의 데이터의 경우 2차원 변환을 적용하려면 N4의 곱셈-덧셈 연산(multiply-add operations)이 필요하다. 반면, 분리 가능한 변환(separable transform)은 일반적으로 N3 정도의 복잡성을 갖지만 분리 가능하지 않은 변환(non-separable transform)과 비교할 때 신호 압축과 같은 응용 프로그램에서는 성능이 떨어진다.
따라서, 본 발명은 연속적으로 적용되는 2 셋의 1차원 변환들(two sets of 1D transforms that are applied consecutively)로 2차원 변환을 근사화함으로써 낮은 복잡도 및 높은 코딩 효율에 대한 2 가지 요구 사항을 모두 만족시킬 수 있다.
예를 들어, 전통적으로 분리 가능한 변환 (또는 분리 불가능한 변환의 분리 가능한 근사)과는 달리, 1차원 변환을 특정 차원, 예를 들어 N × N 블록의 행에 적용하는 것이 아니라, 1차원 변환 행렬 셋이 임의 파티션 변환에 적용되는 파티션 셋에 적용될 수 있다
이하에서는, N × N 픽셀의 정방형 블록을 사용하여 본 발명을 설명할 것이다. 다만, 본 발명은 이에 한정되지 않으며, 정방형 블록뿐 아니라 비정방형 블록(non-square blocks), 다차원(multiple dimensions) 및 비픽셀 유형(non-pixel type)의 데이터로 확장 가능하며, 이로 인해 보다 적응적인 변환을 수행할 수 있다.
본 발명의 일실시예로, N × N 블록의 경우 모든 픽셀의 위치(every pixel's location)에 인덱스를 할당하고 인덱스에 따라 정렬할 수 있다. 정렬된(ordered) 픽셀의 집합은
Figure 112018111097530-pct00001
또는 벡터화된 형태(vectorized form)
Figure 112018111097530-pct00002
로 표시될 수 있다. 여기서, []'는 전치 행렬(transpose matrix)을 나타낸다. 하나의 N × N 블록 내의 모든 픽셀에 대한 인덱스들의 셋(set)은 I = {1,2...,N 2}로 표시될 수 있다.
본 발명에서, N × N 블록에 적용가능한 2 차원 변환 D는 2 개의 연속적인(two successive) 임의 파티션 변환(arbitrary partition transform)에 의해 근사화될 수 있다. 다만, 본 명세서에서 특정 각도 방향의 스캐닝 오더에 따라 파티션 셋이 설정되는 경우에 대해 기울임 변환(oblique transform)이란 용어를 이용할 수 있으나, 본 발명은 본 용어에 한정되지 않으며 본 발명이 적용되는 범위 내에서 임의 파티션 변환으로 해석될 수 있을 것이다. 즉, 상기 기울임 변환(oblique transform)은 상기 임의 파티션 변환의 일실시예에 해당한다. 예를 들어, 상기 기울임 변환(oblique transform) O는 다음과 같이 정의될 수 있다.
기울임 변환(oblique transform)의 정의
1. 파티션 셋
Figure 112018111097530-pct00003
셋 I의 파티션 셋
Figure 112018111097530-pct00004
는 다음 수학적 정의를 따름.
a. 파티션 셋 Ω는 빈 셋(empty set)를 포함하지 않음.
b. 파티션 셋 Ω의 모든 셋들의 결합(Union of all sets)은 셋 I임.
c. 파티션 셋 Ω 내의 어떠한 2개의 구별되는 셋들(any two distinct sets)의 교집합은 없음(empty).
또한, 서브셋(subset) ωk(k = 1, ..., K)는 완전히 순서화된 셋(totally ordered set)이고, 전체 순서는 스캐닝 순서(scanning order)를 통해 정의될 수 있다. 여기서, 상기 서브셋(subset) ωk 는 데이터 블록의 파티션에 대응되고, 대응되는 파티션의 인덱스들의 집합을 나타낸다. 상기 인덱스들은 스캐닝 순서에 따라 정렬될 수 있다.
2. 변환 행렬 셋
Figure 112018111097530-pct00005
변환 행렬
Figure 112018111097530-pct00006
(k = 1, ... K)는 픽셀들에 적용되고, 픽셀들의 인덱스들은 서브셋
Figure 112018111097530-pct00007
내에 주어진다. 변환 기저(Transform bases)는
Figure 112018111097530-pct00008
의 열(column)에 주어진다. 서브셋
Figure 112018111097530-pct00009
의 카디낼리티(cardinality)를
Figure 112018111097530-pct00010
= |
Figure 112018111097530-pct00011
|로 나타내면 변환 행렬 셋은 다음 수학식 1과 같이 쓸 수 있다.
[수학식1]
Figure 112018111097530-pct00012
여기서,
Figure 112018111097530-pct00013
Figure 112018111097530-pct00014
벡터를 나타내고,
Figure 112018111097530-pct00015
는 정규직교(orthonormal)라고 가정하지만, 보다 일반적인 변환으로의 확장도 가능하다.
Figure 112018111097530-pct00016
를 얻기 위해 픽셀 블록 P에 1차원 기울임 변환(oblique transform)
Figure 112018111097530-pct00017
를 적용하는 것은 다음과 같은 단계로 수행된다.
기울임 변환(oblique transform) 수행 방법
1. 벡터
Figure 112018111097530-pct00018
를 구성하는 픽셀들의 인덱스들이 서브셋
Figure 112018111097530-pct00019
에 주어지도록 열 벡터들(column vectors)
Figure 112018111097530-pct00020
, (k = 1, ... K)를 형성할 수 있다. 즉
Figure 112018111097530-pct00021
2. 벡터
Figure 112018111097530-pct00022
에 변환을 적용하여 다음 수학식 2와 같은 결과 벡터(resulting vector)
Figure 112018111097530-pct00023
를 획득할 수 있다. 예를 들어, 상기 결과 벡터는 임의 파티션 변환 벡터 또는 기울임 변환 벡터를 의미할 수 있다.
[수학식2]
Figure 112018111097530-pct00024
여기서,
Figure 112018111097530-pct00025
Figure 112018111097530-pct00026
의 전치 행렬(transpose matrix)을 나타낸다.
3. 결과 벡터
Figure 112018111097530-pct00027
에 대해 역매핑(inverse mapping)을 수행할 수 있다. 예를 들어,
Figure 112018111097530-pct00028
또는 벡터화된 형식
Figure 112018111097530-pct00029
가 형성될 수 있다. 따라서, 파티션 셋 Ω 에 대응되는 벡터
Figure 112018111097530-pct00030
가 산출될 수 있다.
상기 도 4를 살펴보면, 임의 파티션 변환(arbitrary partition transform)을 수행하기 위한 입력 데이터의 파티션 셋이 결정되는 과정을 확인할 수 있다. 도 4(a)는 4x4 픽셀 블록의 입력 데이터 P를 나타내고, 도 4(b)는 입력 데이터 P에 할당된 인덱스를 나타내고, 도 4(c)는 스캐닝 오더에 따른 파티션 셋을 나타낸다.
상기 도 4(c)를 살펴보면, 데이터 블록이 대각 방향으로 분할된 파티션 셋을 확인할 수 있다. 예를 들어, 파티션 셋(partition set) Ω은 7 개의 정렬된 서브셋들(7 ordered subsets)
Figure 112018111097530-pct00031
(k = 1, ... 7), 각 서브셋 내 인덱스들의 정렬(ordering) 또는 7 개의 벡터
Figure 112018111097530-pct00032
(k = 1, ..., 7) 중 적어도 하나에 기초하여 정의될 수 있다. 여기서, 각 서브셋 내 인덱스들의 정렬(ordering)은 스캐닝 오더에 따라 정렬될 수 있고, 이는 도 4(c)에서와 같이 화살표로 표현되었다.
상기 도 4(c)의 파티션 셋(partition set) Ω은 다음 수학식 3과 같이 표현될 수 있다.
[수학식3]
Figure 112018111097530-pct00033
도 5는 본 발명이 적용되는 일실시예로서, 임의 파티션 변환(arbitrary partition transform)을 수행하는 방법을 설명하기 위한 도면이다.
먼저, 인코더는 입력 데이터 P에 대한 파티션 셋을 결정할 수 있다(a). 예를 들어, 인코더는 최적화 과정을 통해 입력 데이터 P에 대한 최적의 파티션 셋을 결정할 수 있다. 여기서, 상기 파티션 셋은 스캐닝 패턴에 기초하여 데이터 블록으로부터 분할된 파티션들의 셋을 의미할 수 있다.
상기 인코더는 상기 파티션 셋에 대응되는 변환 행렬 셋을 결정하고, 상기 파티션 셋에 상기 변환 행렬 셋을 적용할 수 있다(b). 예를 들어, 인코더는 최적화 과정을 통해 입력 데이터 P에 대한 최적의 변환 행렬 셋을 결정할 수 있다.
이때, 상기 최적의 파티션 셋 또는 상기 최적의 변환 행렬 셋 중 적어도 하나는 오프라인 푼련(off-line training)을 통해 기결정되어, 인코더 및/또는 디코더에 미리 저장되어 있을 수 있다. 상기 인코더는 미리 저장되어 있는 파티션 셋으로부터 최적의 파티션 셋 및/또는 그에 대응되는 최적의 변환 행렬 셋을 유도하여 이용할 수 있다.
상기 인코더는 상기 파티션 셋에 상기 변환 행렬 셋을 적용함으로써 각 파티션에 대한 임의 파티션 변환 벡터(또는 기울임 변환 벡터)를 산출할 수 있다.
그리고, 상기 인코더는 상기 임의 파티션 변환 벡터를 역매핑(inverse-mapping)하여 상기 입력 데이터에 대한 임의 파티션 변환 계수(arbitrary partition transform coefficient)를 산출할 수 있다(c). 그에 따라 출력 데이터 X가 산출될 수 있다.
도 6은 본 발명이 적용되는 실시예로서, 임의 파티션 변환(arbitrary partition transform)이 적용되는 변환부의 개략적인 블록도를 나타낸다.
본 발명이 적용되는 변환부는 파티션 결정부(610), 변환 결정부(620), 변환 수행부(630) 및 역매핑부(640)를 포함할 수 있다. 본 실시예에서는 각 기능 유닛을 별개로 도시하였으나, 본 발명은 이에 한정되지 않으며, 각 기능 유닛들은 서로 결합되어 적어도 하나의 기능 유닛에서 수행될 수 있다.
예를 들어, 상기 파티션 결정부(610), 상기 변환 결정부(620), 상기 변환 수행부(630) 및 상기 역매핑부(640) 중 적어도 하나는 최적화부(optimization unit)(미도시)에 포함되어 수행될 수 있으며, 이 경우 상기 최적화부는 최적화 과정을 통해 최적의 파티션 셋과 최적의 변환 행렬 셋을 결정하고, 그들에 기초하여 변환을 수행할 수 있다.
상기 파티션 결정부(610)는 입력 데이터에 대해 파티션 셋을 결정할 수 있다. 여기서, 상기 파티션 셋은 스캐닝 패턴에 기초하여 데이터 블록으로부터 분할된 파티션들의 셋을 나타낸다.
일실시예로, 상기 스캐닝 패턴은 대각(diagonal) 패턴, 반-대각(anti-diagonal) 패턴, 각도 패턴(angle pattern), 코너 패턴(corner pattern), 또는 임의 패턴(arbitrary pattern) 중 적어도 하나를 포함할 수 있다. 이는 도 8 내지 도 11에서 보다 상세히 설명하도록 한다.
상기 변환 결정부(620)는 상기 파티션 셋에 대응되는 변환 행렬 셋을 결정할 수 있다.
일실시예로, 상기 파티션 셋과 상기 변환 행렬 셋 중 적어도 하나는 최적화 함수에 기초하여 최적의 값(optimal value)으로 결정될 수 있다.
상기 변환 수행부(630)는 상기 파티션 셋에 상기 변환 행렬 셋을 적용함으로써 각 파티션에 대한 임의 파티션 변환 벡터(arbitrary partition transform vector)를 산출할 수 있다. 여기서, 상기 각 파티션에 대한 임의 파티션 변환 벡터는 다음과 같은 세부 과정을 통해 산출될 수 있다.
먼저, 인코더는 입력 데이터의 블록 내 픽셀 위치에 인덱스를 할당하고, 상기 인덱스에 대응되는 열 벡터(column vector)를 형성할 수 있다. 그리고, 상기 열 벡터에 대해 상기 변환 행렬 셋을 적용함으로써 각 파티션에 대한 임의 파티션 변환 벡터를 산출할 수 있다.
이때, 상기 인덱스는 적어도 하나의 인덱스 서브셋(index subset)으로 표현되고, 상기 열 벡터는 적어도 하나의 열 벡터 서브셋(column vector subset)으로 표현될 수 있다. 상기 적어도 하나의 인덱스 서브셋 및 상기 적어도 하나의 열 벡터 셋은 각각 상기 스캐닝 패턴에 기초하여 정렬될 수 있다.
상기 역매핑부(640)는 상기 임의 파티션 변환 벡터를 역매핑(inverse-mapping)하여 상기 입력 데이터에 대한 임의 파티션 변환 계수(arbitrary partition transform coefficient)를 산출할 수 있다.
이후, 인코더는 상기 임의 파티션 변환 계수를 양자화하고, 상기 양자화된 임의 파티션 변환 계수를 엔트로피 인코딩할 수 있다.
도 7은 본 발명이 적용되는 일실시예로서, 2차원 임의 파티션 변환(2-Dimensional arbitrary partition transform)을 수행하는 방법을 설명하기 위한 도면이다.
본 발명의 일실시예로, 2차원 임의 파티션 변환(또는 2차원 기울임 변환)은 도 7과 같이 2개의 1차원 임의 파티션 변환들(또는 기울임 변환들)의 연속적인 수행에 의해 정의될 수 있다.
본 발명은, 2차원 변환 D가 2개의 연속된 1차원 기울임 변환들(oblique transforms)에 의해 근사화되는 것을 제안한다. 여기서, 상기 2차원 변환 D는 일반적인 비분리의 정교한 변환(generally non-separable sophisticated transform)을 의미할 수 있다.
만약, 2차원 변환 행렬 D가 벡터
Figure 112018111097530-pct00034
에 적용된다고 하면, 바람직한 결과 벡터(desired resulting vector) y는 다음 수학식 4와 같이 주어진다.
[수학식 4]
Figure 112018111097530-pct00035
상기 바람직한 결과 벡터(desired resulting vector) y는 x에 의해 근사화될 수 있다. 여기서, x는 2개의 연속된 1차원 임의 파티션 변환들(또는 기울임 변환들)
Figure 112018111097530-pct00036
Figure 112018111097530-pct00037
에 기초하여, 다음 수학식 5와 같이 획득될 수 있다.
[수학식 5]
Figure 112018111097530-pct00038
위 임의 파티션 변환들의 표현으로부터 임의 파티션 변환 행렬 O가 생성될 수 있음은 명백하다. 따라서, 임의 파티션 변환 행렬 O가 데이터 p에 적용될 때, x 는 다음 수학식 6에 의해 획득될 수 있다.
[수학식 6]
Figure 112018111097530-pct00039
여기서, 임의 파티션 변환 행렬 O는, 다음 수학식 7과 같이, 4개의 튜플(4-tuple)
Figure 112018111097530-pct00040
에 의해 정의될 수 있다.
[수학식 7]
Figure 112018111097530-pct00041
본 발명의 일실시예는, 수학식 8과 같이, 바람직한 변환 행렬(desired transform matrix) D를 임의 파티션 변환 행렬 O에 의해 근사화함으로써 2개의 최적의 임의 파티션 변환 행렬들
Figure 112018111097530-pct00042
을 획득할 수 있다.
[수학식 8]
Figure 112018111097530-pct00043
본 발명의 일실시예는, 입력 블록들의 집합(a collection of input blocks)
Figure 112018111097530-pct00044
, 바람직한 변환 행렬(desired transform matrix) D 및 최적의 변환 행렬 셋들
Figure 112018111097530-pct00045
이 주어졌을 때, 다음 수학식 9를 만족하는 최적의 파티션 셋들 Ω1 , Ω2 을 결정할 수 있다.
[수학식 9]
Figure 112018111097530-pct00046
본 발명의 다른 일실시예는, 입력 블록들의 집합(a collection of input blocks)
Figure 112018111097530-pct00047
, 바람직한 변환 행렬(desired transform matrix) D 및 최적의 파티션 셋들
Figure 112018111097530-pct00048
이 주어졌을 때, 다음 수학식 10을 만족하는 최적의 변환 행렬 셋들
Figure 112018111097530-pct00049
을 결정할 수 있다.
[수학식 10]
Figure 112018111097530-pct00050
본 발명의 다른 일실시예는, 입력 블록들의 집합(a collection of input blocks)
Figure 112018111097530-pct00051
및 바람직한 변환 행렬(desired transform matrix)D 가 주어졌을 때, 다음 수학식 11을 만족하는 최적의 파티션 셋들(partition sets) Ω1 , Ω2 및 최적의 변환 행렬 셋들
Figure 112018111097530-pct00052
을 결정할 수 있다.
[수학식 11]
Figure 112018111097530-pct00053
본 발명의 다른 일실시예는, 최적의 변환을 수행하기 위해 M개 (M = 1,2,3,... )의 임의 파티션 변환들 또는 임의 파티션 변환 셋들을 이용할 수 있다.
본 발명의 다른 일실시예는, 최적의 변환을 수행하기 위해, (M-1)개의 임의 파티션 변환들 또는 임의 파티션 변환 셋들을 이용하고, M번째 임의 파티션 변환 또는 임의 파티션 변환 셋은 치환 행렬들만으로 구성된(comprised only of permutation matrices)
Figure 112018111097530-pct00054
을 이용할 수 있다. 여기서, 상기 치환 행렬은 단위 행렬들(identity matrices)의 행들(rows)을 치환함으로써 획득되는 행렬을 의미할 수 있다.
여기서, 상기 M번째 임의 파티션 변환은 (M-1)개의 임의 파티션 변환들을 이용하여 획득된 아웃풋 계수들(output coefficients)을 치환함으로써, 상기 수학식 8 내지 11을 더 최소화할 수 있다.
도 8 내지 도 11은 본 발명이 적용되는 실시예들로서, 파티션 셋을 정의하기 위한 스캐닝 패턴의 다양한 예들을 나타낸다.
도 8은 대각(diagonal) 패턴 및 반-대각(anti-diagonal) 패턴을 나타내고, 도 9는 각도 패턴(angle pattern)을 나타내고, 도 10은 코너 패턴(corner pattern)을 나타내며, 도 11은 임의 패턴(arbitrary pattern)을 나타낸다.
본 발명의 일실시예로, 2차원 임의 파티션 변환에 대한 2개의 파티션 셋들 Ω1, Ω2이 상기 도 8(a) 및 도 8(b)와 같이 대각(diagonal) 패턴 및 반-대각(anti-diagonal) 패턴에 기초하여 정의될 수 있다.
상기 도 8(a)의 파티션 셋의 경우, 데이터 블록의 픽셀들은 대각 방향(diagonally)으로 스캐닝 되고, 상기 도 8(b)의 파티션 셋의 경우, 데이터 블록의 픽셀들은 반-대각 방향(anti-diagonally)으로 스캐닝될 수 있다.
본 발명의 일실시예로, 2차원 임의 파티션 변환에 대한 2개의 파티션 셋들 Ω1 , Ω2이 상기 도 9(a) 및 도 9(b)와 같이 각도 패턴(angle pattern)에 기초하여 정의될 수 있다.
상기 도 9(a)의 파티션 셋의 경우, 데이터 블록의 픽셀들은 θ 각도 방향으로 스캐닝되고, 상기 도 9(b)의 파티션 셋의 경우, 데이터 블록의 픽셀들은 (θ-90) 각도 방향으로 스캐닝될 수 있다.
본 발명의 일실시예로, 2차원 임의 파티션 변환에 대한 2개의 파티션 셋들 Ω1 , Ω2이 상기 도 10(a) 및 도 10(b)와 같이 코너 패턴(corner pattern)에 기초하여 정의될 수 있다.
상기 도 10(a)의 파티션 셋의 경우, 데이터 블록의 픽셀들은 바깥쪽 코너에서 중심(center) 방향으로 스캐닝될 수 있으며, 예를 들어, 좌상측 코너 픽셀부터 시작해서 코너 중심 방향으로 스캐닝될 수 있다. 다만, 본 발명은 이에 한정되지 않으며, 그 시작점은 다른 코너 픽셀이 될 수도 있다.
상기 도 10(b)의 파티션 셋의 경우, 데이터 블록의 픽셀들은 코너 픽셀들과 그 이외의 픽셀들을 구분하여 스캐닝될 수 있으며, 예를 들어, 좌상측, 좌하측, 우하측, 우상측 순으로 코너 픽셀들을 먼저 스캐닝하고, 동일한 순서로 나머지 부분들의 픽셀들을 스캐닝할 수 있다. 다만, 본 발명은 이에 한정되지 않으며, 그 시작점은 다른 코너 픽셀 또는 다른 나머지 부분이 될 수도 있다.
본 발명의 일실시예로, 2차원 임의 파티션 변환에 대한 파티션 셋 Ω 이 상기 도 11과 같이 임의 패턴(arbitrary pattern)에 기초하여 정의될 수 있다. 예를 들어, 상기 도 11을 살펴보면, 파티션 셋은
Figure 112018111097530-pct00055
(k= 1,2,3,4) 4개의 파티션들로 랜덤하게 정의될 수 있다.
다른 예로, 상기 임의 패턴(arbitrary pattern)은 인코더 내에서 최적화 과정을 통해 결정되거나, 영상 특성에 따라 오프라인 훈련(off-line training)을 통해 기결정될 수 있다.
본 발명의 다른 일실시예로, 상기 임의 패턴(arbitrary pattern)은 입력 데이터 p를 임의 파티션 변환으로 치환함으로써 획득될 수도 있다.
도 12는 본 발명이 적용되는 실시예로서, 임의 파티션 변환(arbitrary partition transform)을 수행하는 과정을 나타내는 흐름도이다.
인코더는 입력 데이터에 대해 파티션 셋을 결정할 수 있다(S1210). 여기서, 상기 파티션 셋은 스캐닝 패턴에 기초하여 데이터 블록으로부터 분할된 파티션들의 셋을 나타낸다. 여기서, 상기 스캐닝 패턴에 대해 상기 도 8 내지 도 11에서 설명한 실시예들이 적용될 수 있다. 예를 들어, 상기 스캐닝 패턴은 대각(diagonal) 패턴, 반-대각(anti-diagonal) 패턴, 각도 패턴(angle pattern), 코너 패턴(corner pattern), 또는 임의 패턴(arbitrary pattern) 중 적어도 하나를 포함할 수 있다.
상기 인코더는 상기 파티션 셋에 대응되는 변환 행렬 셋을 결정할 수 있다(S1220). 일실시예로, 상기 파티션 셋과 상기 변환 행렬 셋 중 적어도 하나는 최적화 함수에 기초하여 최적의 값(optimal value)으로 결정될 수 있다. 예를 들어, 최적의 파티션 셋 및/또는 최적의 변환 행렬 셋을 결정하기 위해 상기 수학식 8 내지 11이 이용될 수 있다.
상기 인코더는 상기 파티션 셋에 상기 변환 행렬 셋을 적용함으로써 각 파티션에 대한 임의 파티션 변환 벡터(arbitrary partition transform vector)를 산출할 수 있다(S1230). 여기서, 상기 각 파티션에 대한 임의 파티션 변환 벡터를 산출하는 과정은 도 13에서 보다 상세히 설명하도록 한다.
그리고, 상기 인코더는 상기 임의 파티션 변환 벡터를 역매핑(inverse-mapping)하여 상기 입력 데이터에 대한 임의 파티션 변환 계수(arbitrary partition transform coefficient)를 산출할 수 있다(S1240).
이후, 인코더는 상기 임의 파티션 변환 계수를 양자화하고, 상기 양자화된 임의 파티션 변환 계수를 엔트로피 인코딩할 수 있다.
도 13은 본 발명이 적용되는 일실시예로서, 임의 파티션 변환 벡터를 산출하는 과정을 나타내는 흐름도이다.
먼저, 인코더는 입력 데이터의 블록 내 픽셀 위치에 인덱스를 할당할 수 있다(S1310). 예를 들어, 상기 도 4(b)와 같이 인덱스가 할당될 수 있다.
상기 인코더는, 상기 인덱스에 대응되는 열 벡터(column vector)를 형성할 수 있다(S1320).
여기서, 상기 인덱스는 적어도 하나의 인덱스 서브셋(index subset)으로 표현되고, 상기 열 벡터는 적어도 하나의 열 벡터 서브셋(column vector subset)으로 표현될 수 있다. 상기 적어도 하나의 인덱스 서브셋 및 상기 적어도 하나의 열 벡터 셋은 각각 상기 스캐닝 패턴에 기초하여 정렬될 수 있다. 이때, 상기 스캐닝 패턴은, 상기 도 8 내지 도 11과 같이, 본 명세서에서 설명된 실시예들이 적용될 수 있다.
그리고, 상기 인코더는, 상기 열 벡터에 대해 상기 변환 행렬 셋을 적용함으로써 상기 파티션 셋에 대한 임의 파티션 변환 벡터를 산출할 수 있다(S1330). 예를 들어, 상기 파티션 셋에 대한 임의 파티션 변환 벡터는 상기 수학식 2에 기초하여 산출될 수 있다.
도 14는 본 발명이 적용되는 일실시예로서, 임의 파티션 변환(arbitrary partition transform)에 기초하여 비디오 신호를 디코딩하는 과정을 나타내는 흐름도이다.
디코더는, 비디오 신호로부터 임의 파티션 변환 정보(arbitrary partition transform information)를 추출할 수 있다(S1410).
여기서, 상기 임의 파티션 변환 정보는 임의 파티션 변환을 수행하기 위해 이용되는 정보를 나타내고, 예롤 들어, 파티션 인덱스 또는 변환 인덱스 중 적어도 하나를 포함할 수 있다. 그리고, 상기 파티션 인덱스는 특정 스캐닝 패턴에 기초하여 분할된 파티션 셋을 가리키는 인덱스를 나타내고, 상기 변환 인덱스는 상기 파티션 셋에 대응되는 변환 행렬 셋을 가리키는 인덱스를 나타낸다.
상기 디코더는, 상기 임의 파티션 변환 정보에 기초하여 임의 파티션 변환 벡터를 유도할 수 있다(S1420).
상기 디코더는, 상기 임의 파티션 변환 벡터에 기초하여, 레지듀얼 데이터에 대해 임의 파티션 역변환을 수행할 수 있다(S1430).
상기 디코더는, 상기 역변환된 레지 듀얼 신호와 예측 신호를 합하여 복원 신호를 생성할 수 있다(S1440).
도 15는 본 발명이 적용되는 일실시예로서, 임의 파티션 변환(arbitrary partition transform)을 포함하는 적어도 하나의 변환 방식을 이용하여 변환을 수행하는 변환부의 개략적인 블록도를 나타낸다.
본 발명이 적용되는 변환부는 제1변환부(1510), 제2변환부(1520), 제N변환부(1530) 및 모드 선택부(1540)를 포함할 수 있다. 본 실시예에서는 각 기능 유닛을 별개로 도시하였으나, 본 발명은 이에 한정되지 않으며, 각 기능 유닛들은 서로 결합되어 적어도 하나의 기능 유닛에서 수행될 수 있다.
예를 들어, 상기 제1변환부(1510), 상기 제2변환부(1520), 상기 제N변환부(1530) 및 상기 모드 선택부(1540) 중 적어도 하나는 최적화부(optimization unit)(미도시)에 포함되어 수행될 수 있으며, 이 경우 상기 최적화부는 최적화 과정을 통해 최적의 변환 행렬을 결정하고, 그에 기초하여 변환을 수행할 수 있다.
본 발명의 일실시예로, 상기 제1변환부(1510), 상기 제2변환부(1520) 및 상기 제N변환부(1530) 중 적어도 2개는 서로 동일한 변환 방식이 적용될 수 있다. 이때, 임의 파티션 변환이 적용되는 경우, 본 명세서에서 설명한 실시예들이 적용될 수 있다.
본 발명의 다른 일실시예로, 상기 제1변환부(1510), 상기 제2변환부(1520) 및 상기 제N변환부(1530) 중 적어도 2개는 서로 다른 변환 방식이 적용될 수 있다. 예를 들어, 상기 다른 변환 방식은 DCT(Discrete Cosine Transform), DST(Discrete Sine Transform), KLT(Karhunen-Loeve Transform), CNT(Conditionally Non-linear Transform), 임의 파티션 변환(Arbitrary Partition Transform) 또는 기울임 변환(Oblique Transform) 중 적어도 하나를 포함할 수 있다.
상기 모드 선택부(1540)는 상기 제1변환부(1510), 상기 제2변환부(1520) 및 상기 제N변환부(1530)로부터 출력된 변환 계수들 각각에 대한 RD(Rate-Distortion) 비용을 비교함으로씨 하나의 변환 방식을 선택 또는 결정할 수 있다. 예를 들어, 임의 파티션 변환 계수의 RD 비용이 DCT 계수보다 더 작을 때, 상기 모드 선택부(1540)는 임의 파티션 변환 계수에 대응되는 모드 인덱스를 선택할 수 있다.
여기서, 상기 모드 인덱스는 앞서 설명한 임의 파티션 변환 정보에 포함될 수 있다. 예를 들어, 상기 모드 인덱스는 파티션 인덱스 또는 변환 인덱스 중 적어도 하나를 포함할 수 있다. 구체적 예로, 상기 모드 인덱스가 임의 파티션 변환 행렬 셋을 가리키면, 디코더에서는 상기 모드 인덱스에 대응되는 임의 파티션 변환 행렬 셋을 유도할 수 있다.
본 명세서에서 설명하는 실시예들은 인코더를 기반으로 주로 설명하고 있으나, 본 발명은 이에 한정되지 않는다. 변환부의 각 기능 유닛들은 인코더뿐 아니라 디코더에서도 수행될 수 있으며, 이 경우 상기 실시예들에서 설명한 변환부의 모든 기능 유닛들은 디코더에 필수적으로 포함되어야 하는 것은 아니며, 일부가 포함될 수도 있으며, 또는 외부에 저장된 정보를 이용하거나 인코더/디코더 내 기정의된 정보를 이용할 수 있다.
상기 기술된 것과 같이, 본 발명에서 설명한 실시예들은 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다. 예를 들어, 상기 도 1, 도 2, 도 5 내지 도 7 및 도 15에서 도시한 기능 유닛들은 컴퓨터, 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다.
또한, 본 발명이 적용되는 디코더 및 인코더는 멀티미디어 방송 송수신 장치, 모바일 통신 단말, 홈 시네마 비디오 장치, 디지털 시네마 비디오 장치, 감시용 카메라, 비디오 대화 장치, 비디오 통신과 같은 실시간 통신 장치, 모바일 스트리밍 장치, 저장 매체, 캠코더, 주문형 비디오(VoD) 서비스 제공 장치, 인터넷 스트리밍 서비스 제공 장치, 3차원(3D) 비디오 장치, 화상 전화 비디오 장치, 및 의료용 비디오 장치 등에 포함될 수 있으며, 비디오 신호 및 데이터 신호를 처리하기 위해 사용될 수 있다.
또한, 본 발명이 적용되는 처리 방법은 컴퓨터로 실행되는 프로그램의 형태로 생산될 수 있으며, 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 본 발명에 따른 데이터 구조를 가지는 멀티미디어 데이터도 또한 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 상기 컴퓨터가 판독할 수 있는 기록 매체는 컴퓨터로 읽을 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함한다. 상기 컴퓨터가 판독할 수 있는 기록 매체는, 예를 들어, 블루레이 디스크(BD), 범용 직렬 버스(USB), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크 및 광학적 데이터 저장 장치를 포함할 수 있다. 또한, 상기 컴퓨터가 판독할 수 있는 기록 매체는 반송파(예를 들어, 인터넷을 통한 전송)의 형태로 구현된 미디어를 포함한다. 또한, 인코딩 방법으로 생성된 비트 스트림이 컴퓨터가 판독할 수 있는 기록 매체에 저장되거나 유무선 통신 네트워크를 통해 전송될 수 있다.
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 다양한 다른 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.

Claims (15)

  1. 임의 파티션 변환(arbitrary partition transform)에 기초하여 비디오 신호를 처리하는 방법에 있어서,
    입력 데이터에 대해 파티션 셋을 결정하는 단계, 여기서 상기 파티션 셋은 스캐닝 패턴에 기초하여 데이터 블록으로부터 분할된 파티션들의 셋을 나타냄;
    상기 파티션 셋에 대응되는 변환 행렬 셋을 결정하는 단계;
    상기 파티션 셋에 상기 변환 행렬 셋을 적용함으로써 각 파티션에 대한 임의 파티션 변환 벡터(arbitrary partition transform vector)를 산출하는 단계; 및
    상기 임의 파티션 변환 벡터를 역매핑(inverse-mapping)하여 상기 입력 데이터에 대한 임의 파티션 변환 계수(arbitrary partition transform coefficient)를 산출하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 임의 파티션 변환 벡터를 산출하는 단계는,
    상기 입력 데이터의 블록 내 픽셀 위치에 인덱스를 할당하는 단계;
    상기 인덱스에 대응되는 열 벡터(column vector)를 형성하는 단계; 및
    상기 열 벡터에 대해 상기 변환 행렬 셋을 적용함으로써 상기 파티션 셋에 대한 임의 파티션 변환 벡터를 산출하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 인덱스는 적어도 하나의 인덱스 서브셋(index subset)으로 표현되고, 상기 열 벡터는 적어도 하나의 열 벡터 서브셋(column vector subset)으로 표현되며,
    상기 적어도 하나의 인덱스 서브셋 및 상기 적어도 하나의 열 벡터 셋은 각각 상기 스캐닝 패턴에 기초하여 정렬되는 것을 특징으로 하는 방법.
  4. 제3항에 있어서,
    상기 스캐닝 패턴은 대각(diagonal) 패턴, 반-대각(anti-diagonal) 패턴, 각도 패턴(angle pattern), 코너 패턴(corner pattern), 또는 임의 패턴(arbitrary pattern) 중 적어도 하나에 대응되는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 파티션 셋과 상기 변환 행렬 셋 중 적어도 하나는 최적화 함수에 기초하여 최적의 값(optimal value)으로 결정되는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    2차원의 임의 파티션 변환은 2개의 1차원 임의 파티션 변환을 연속적으로 수행함으로써 획득되는 것을 특징으로 하는 방법.
  7. 제1항에 있어서, 상기 방법은,
    상기 임의 파티션 변환 계수를 양자화하는 단계; 및
    상기 양자화된 임의 파티션 변환 계수를 엔트로피 인코딩하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  8. 임의 파티션 변환(arbitrary partition transform)에 기초하여 비디오 신호를 처리하는 방법에 있어서,
    상기 비디오 신호로부터 임의 파티션 변환 정보(arbitrary partition transform information)를 추출하는 단계;
    상기 임의 파티션 변환 정보에 기초하여 임의 파티션 변환 벡터를 유도하는 단계;
    상기 임의 파티션 변환 벡터에 기초하여, 레지듀얼 데이터에 대해 임의 파티션 역변환을 수행하는 단계; 및
    상기 역변환된 레지듀얼 신호와 예측 신호를 합하여 복원 신호를 생성하는 단계
    를 포함하되,
    상기 임의 파티션 변환 정보는 파티션 인덱스 또는 변환 인덱스 중 적어도 하나를 포함하고,
    상기 파티션 인덱스는 특정 스캐닝 패턴에 기초하여 분할된 파티션 셋을 가리키는 인덱스를 나타내고, 상기 변환 인덱스는 상기 파티션 셋에 대응되는 변환 행렬 셋을 가리키는 인덱스를 나타내는 것을 특징으로 하는 방법.
  9. 제8항에 있어서,
    상기 특정 스캐닝 패턴은 대각(diagonal) 패턴, 반-대각(anti-diagonal) 패턴, 각도 패턴(angle pattern), 코너 패턴(corner pattern), 또는 임의 패턴(arbitrary pattern) 중 적어도 하나에 대응되는 것을 특징으로 하는 방법.
  10. 제8항에 있어서,
    상기 파티션 셋과 상기 변환 행렬 셋 중 적어도 하나는 최적화 함수에 기초하여 최적의 값(optimal value)으로 결정된 것을 특징으로 하는 방법.
  11. 제8항에 있어서,
    2차원의 임의 파티션 변환은 2개의 1차원 임의 파티션 변환을 연속적으로 수행함으로써 획득되는 것을 특징으로 하는 방법.
  12. 임의 파티션 변환(arbitrary partition transform)에 기초하여 비디오 신호를 처리하는 장치에 있어서,
    입력 데이터에 대해 파티션 셋을 결정하고, 상기 파티션 셋에 대응되는 변환 행렬 셋을 결정하고, 상기 파티션 셋에 상기 변환 행렬 셋을 적용함으로써 각 파티션에 대한 임의 파티션 변환 벡터(arbitrary partition transform vector)를 산출하고, 상기 임의 파티션 변환 벡터를 역매핑(inverse-mapping)하여 상기 입력 데이터에 대한 임의 파티션 변환 계수(arbitrary partition transform coefficient)를 산출하는 변환부;
    상기 임의 파티션 변환 계수를 양자화하는 양자화부; 및
    상기 양자화된 임의 파티션 변환 계수를 엔트로피 인코딩하는 엔트로피 인코딩부
    를 포함하되,
    상기 파티션 셋은 스캐닝 패턴에 기초하여 데이터 블록으로부터 분할된 파티션들의 셋을 나타내는 것을 특징으로 하는 장치.
  13. 제12항에 있어서, 상기 변환부는,
    상기 입력 데이터의 블록 내 픽셀 위치에 인덱스를 할당하고, 상기 인덱스에 대응되는 열 벡터(column vector)를 형성하고, 상기 열 벡터에 대해 상기 변환 행렬 셋을 적용함으로써 상기 파티션 셋에 대한 임의 파티션 변환 벡터를 산출하는 것을 특징으로 하는 장치.
  14. 임의 파티션 변환(arbitrary partition transform)에 기초하여 비디오 신호를 처리하는 장치에 있어서,
    상기 비디오 신호로부터 임의 파티션 변환 정보(arbitrary partition transform information)를 추출하는 파싱부;
    상기 임의 파티션 변환 정보에 기초하여 임의 파티션 변환 벡터를 유도하고, 상기 임의 파티션 변환 벡터에 기초하여 레지듀얼 데이터에 대해 임의 파티션 역변환을 수행하는 역변환부; 및
    상기 역변환된 레지듀얼 신호와 예측 신호를 합하여 복원 신호를 생성하는 복원부
    를 포함하되,
    상기 임의 파티션 변환 정보는 파티션 인덱스 또는 변환 인덱스 중 적어도 하나를 포함하고,
    상기 파티션 인덱스는 특정 스캐닝 패턴에 기초하여 분할된 파티션 셋을 가리키는 인덱스를 나타내고, 상기 변환 인덱스는 상기 파티션 셋에 대응되는 변환 행렬 셋을 가리키는 인덱스를 나타내는 것을 특징으로 하는 장치.
  15. 제14항에 있어서,
    상기 특정 스캐닝 패턴은 대각(diagonal) 패턴, 반-대각(anti-diagonal) 패턴, 각도 패턴(angle pattern), 코너 패턴(corner pattern), 또는 임의 패턴(arbitrary pattern) 중 적어도 하나에 대응되고,
    상기 파티션 셋과 상기 변환 행렬 셋 중 적어도 하나는 최적화 함수에 기초하여 최적의 값(optimal value)으로 결정된 것을 특징으로 하는 장치.
KR1020187032507A 2016-05-12 2017-05-12 임의 파티션 변환에 기초하여 비디오 신호를 처리하는 방법 KR102329228B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662335621P 2016-05-12 2016-05-12
US62/335,621 2016-05-12
PCT/KR2017/004949 WO2017196127A1 (ko) 2016-05-12 2017-05-12 임의 파티션 변환에 기초하여 비디오 신호를 처리하는 방법

Publications (2)

Publication Number Publication Date
KR20180136974A KR20180136974A (ko) 2018-12-26
KR102329228B1 true KR102329228B1 (ko) 2021-11-19

Family

ID=60267337

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187032507A KR102329228B1 (ko) 2016-05-12 2017-05-12 임의 파티션 변환에 기초하여 비디오 신호를 처리하는 방법

Country Status (3)

Country Link
US (1) US10893274B2 (ko)
KR (1) KR102329228B1 (ko)
WO (1) WO2017196127A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7007485B2 (ja) 2017-12-15 2022-01-24 エルジー エレクトロニクス インコーポレイティド 非分離二次変換に基づいた画像コーディング方法及びその装置
CA3088026C (en) * 2017-12-15 2023-10-03 Lg Electronics Inc. Image coding method on basis of transformation and device therefor
CN111556319B (zh) * 2020-05-14 2021-12-17 电子科技大学 一种基于矩阵分解的视频编码方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120236931A1 (en) 2010-12-23 2012-09-20 Qualcomm Incorporated Transform coefficient scan

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8179974B2 (en) 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
CN102388610B (zh) 2009-02-09 2015-03-04 三星电子株式会社 使用低复杂度频率变换的视频编码方法和设备以及视频解码方法和设备
KR20120086232A (ko) 2011-01-25 2012-08-02 (주)휴맥스 율-왜곡 최적화를 위한 영상 부호화/복호화 방법 및 이를 수행하는 장치
KR101298698B1 (ko) * 2011-02-21 2013-08-21 주식회사 크림슨 합성목재 조립패널 연결구조체
US9081731B2 (en) * 2013-01-31 2015-07-14 Inview Technology Corporation Efficient transforms and efficient row generation for Kronecker products of Hadamard matrices
US10638132B2 (en) * 2015-10-15 2020-04-28 Lg Electronics Inc. Method for encoding and decoding video signal, and apparatus therefor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120236931A1 (en) 2010-12-23 2012-09-20 Qualcomm Incorporated Transform coefficient scan

Also Published As

Publication number Publication date
WO2017196127A1 (ko) 2017-11-16
US20190191166A1 (en) 2019-06-20
US10893274B2 (en) 2021-01-12
KR20180136974A (ko) 2018-12-26

Similar Documents

Publication Publication Date Title
KR102504694B1 (ko) 축소된 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
KR102465119B1 (ko) 축소된 2차 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
KR102385399B1 (ko) 비디오 압축을 위한 변환을 구성하는 방법 및 장치
KR102599446B1 (ko) 인트라 예측 모드에 기초하여 변환 인덱스 코딩을 수행하는 방법 및 이를 위한 장치
US11178417B2 (en) Method and apparatus for processing video signal on basis of secondary transform
EP4054196A1 (en) Method for transform-based image coding and apparatus therefor
KR20210079377A (ko) 이차 변환에 기반한 영상 코딩 방법 및 그 장치
KR20220058582A (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
KR102408742B1 (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
US11563979B2 (en) Image coding method on basis of transform, and apparatus therefor
KR102329228B1 (ko) 임의 파티션 변환에 기초하여 비디오 신호를 처리하는 방법
KR102650865B1 (ko) 분할된 블록에 2차 변환을 적용하여 비디오 신호를 처리하는 방법 및 장치
KR20220070245A (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
EP4017007A1 (en) Image coding method based on transform, and device therefor
KR20220058583A (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
KR20220066350A (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
KR20220061181A (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
KR20220024500A (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
KR20220024499A (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
KR20220000404A (ko) 영상 코딩 시스템에서 변환 커널 세트에 관한 정보에 대한 컨텍스트 코딩
KR20200004348A (ko) 타겟 영역 수정을 통해 비디오 신호를 처리하는 방법 및 장치
US11570476B2 (en) Transform-based video coding method, and device therefor
KR20220097519A (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
KR20220036960A (ko) 변환에 기반한 영상 코딩 방법 및 그 장치
KR20220024501A (ko) 변환에 기반한 영상 코딩 방법 및 그 장치

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant