KR20170116043A - 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치 - Google Patents

그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치 Download PDF

Info

Publication number
KR20170116043A
KR20170116043A KR1020177022570A KR20177022570A KR20170116043A KR 20170116043 A KR20170116043 A KR 20170116043A KR 1020177022570 A KR1020177022570 A KR 1020177022570A KR 20177022570 A KR20177022570 A KR 20177022570A KR 20170116043 A KR20170116043 A KR 20170116043A
Authority
KR
South Korea
Prior art keywords
graph
unit
transform
information
conversion
Prior art date
Application number
KR1020177022570A
Other languages
English (en)
Inventor
구문모
허진
손은용
예세훈
박승욱
김규운
이범식
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Publication of KR20170116043A publication Critical patent/KR20170116043A/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/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
    • 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/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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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
    • 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/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

Abstract

본 발명은, 그래프 기반 변환을 이용하여 비디오 신호를 디코딩하는 방법에 있어서, 상기 비디오 신호로부터 현재 코딩 유닛의 예측 유닛 파티션 정보를 추출하는 단계; 상기 예측 유닛 파티션 정보에 기초하여 기설정된 테이블 정보로부터 그래프 기반 변환 커널(graph-based transform kernel)을 획득하는 단계; 및 상기 그래프 기반 변환 커널을 이용하여 변환 유닛에 대해 역변환을 수행하는 단계를 포함하되, 상기 그래프 기반 변환 커널은 상기 예측 유닛 파티션 정보 또는 에지 가중치 중 적어도 하나에 대응되고, 상기 에지 가중치는 픽셀 간 상관 관계를 나타내는 기설정된 값인 것을 특징으로 하는 방법을 제공한다.

Description

그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
본 발명은 그래프 기반 변환(graph-based transform)을 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치에 관한 것이다. 구체적으로, 블록 단위 간 이질성에 기초하여 적응적으로 그래프 기반 변환(graph-based transform)을 적용하는 방법 및 분리 가능한 그래프 기반 변환(separable graph-based transform)을 적용하는 방법에 관한 것이다.
압축 부호화란 디지털화한 정보를 통신 회선을 통해 전송하거나, 저장 매체에 적합한 형태로 저장하기 위한 일련의 신호 처리 기술을 의미한다. 영상, 이미지, 음성 등의 미디어가 압축 부호화의 대상이 될 수 있으며, 특히 영상을 대상으로 압축 부호화를 수행하는 기술을 비디오 영상 압축이라고 일컫는다.
차세대 비디오 컨텐츠는 고해상도(high spatial resolution), 고프레임율(high frame rate) 및 영상 표현의 고차원화(high dimensionality of scene representation)라는 특징을 갖게 될 것이다. 그러한 컨텐츠를 처리하기 위해서는 메모리 저장(memory storage), 메모리 액세스율(memory access rate) 및 처리 전력(processing power) 측면에서 엄청난 증가를 가져올 것이다.
따라서, 차세대 비디오 컨텐츠를 보다 효율적으로 처리하기 위한 코딩 툴을 디자인할 필요가 있다.
특히, 그래프는 픽셀 간 관계 정보를 기술하는데 유용한 데이터 표현 형태로써, 이러한 픽셀 간 관계 정보를 그래프로 표현하여 처리하는 그래프 기반 신호 처리 방식이 활용되고 있다. 이러한 그래프 기반 신호 처리는 각 신호 샘플이 꼭지점(vertex)을 나타내며 신호의 관계들이 양의 가중치를 가지는 그래프 에지로 나타내어지는 그래프를 사용하여 샘플링, 필터링, 변환 등과 같은 개념들을 일반화할 수 있다. 따라서, 보다 효율적인 그래프 기반의 신호 처리 방법이 비디오 압축 분야뿐만 아니라 많은 응용 분야에서 요구된다.
블록 내 경계 정보에 기초하여 적응적인 그래프 기반 변환을 적용하는 방법을 제공하고자 한다.
블록이 복잡하게 분할되어 있는 경우 적응적으로 그래프 기반 변환을 적용하는 방법을 제공하고자 한다.
그래프 정보를 코딩하기 위한 오버헤드를 감소시키는 방안을 제공하고자 한다.
그래프 기반 변환에 대한 템플릿을 정의하고 이를 시그널링하는 방법을 제공하고자 한다.
그래프 기반 변환 템플릿의 출현 빈도에 따라 코딩 모드별로 코드 워드를 할당하는 방법을 제공하고자 한다.
코딩 블록의 행 방향과 열 방향에 대해 서로 다른 분리 가능한 그래프 기반 변환을 적용하는 방법을 제공하고자 한다.
본 발명은 블록 내 경계 정보에 기초하여 적응적인 그래프 기반 변환을 적용하는 방법을 제공한다.
본 발명은 코딩 유닛의 예측 유닛 파티션 정보에 따라 그래프 기반 변환을 적용하는 방법을 제공한다.
본 발명은 코딩 유닛 또는 변환 유닛의 구성에 따라 서로 다른 그래프 기반 변환을 적용하는 방법을 제공한다.
본 발명은 코딩 유닛 또는 변환 유닛 레벨에서 어떠한 그래프 기반 변환을 적용할지를 나타내는 플래그 정보를 정의하고자 한다.
본 발명은 인접한 변환 유닛을 머지(merge)하여 하나의 변환을 적용하는 방법을 제공한다.
본 발명은 변환 유닛에 대한 파티션 정보를 이용하여 변환을 적용하는 방법을 제공한다.
본 발명은 주변 블록의 그래프 기반 변환에 대한 정보를 이용하여 현재 블록의 그래프 기반 변환을 예측하는 방법을 제공한다.
본 발명은 코딩 유닛의 예측 유닛 파티션 정보에 따라 비정방형(non-square) 그래프 기반 변환을 적용하는 방법을 제공한다.
본 발명은 그래프 정보를 코딩하기 위한 오버헤드를 감소시키는 방안을 제공한다.
본 발명은 그래프 기반 변환에 대한 템플릿을 정의하고 이를 시그널링하는 방법을 제공한다.
본 발명은 그래프 기반 변환 템플릿의 출현 빈도에 따라 코딩 모드별로 코드 워드를 할당하는 방법을 제공한다.
본 발명은 코딩 블록의 행 방향과 열 방향에 대해 서로 다른 분리 가능한 그래프 기반 변환을 적용하는 방법을 제공한다.
본 발명은, 블록 내 경계 정보에 기초하여 적응적인 그래프 기반 변환을 적용함으로써 보다 효율적으로 비디오 신호를 처리할 수 있으며, 특히 블록이 복잡하게 분할되어 있는 경우에 보다 효율적일 수 있다.
또한, 본 발명은 그래프 기반 변환에 대한 템플릿을 정의하고 이를 시그널링하는 방법을 제공함으로써 그래프 정보를 코딩하기 위한 오버헤드를 현저히 감소시킬 수 있다.
또한, 그래프 기반 변환 템플릿의 출현 빈도에 따라 코딩 모드별로 코드 워드를 할당하는 방법을 제공함으로써 전송하는 데이터 크기를 줄일 수 있으며, 코딩 블록의 행 방향과 열 방향에 대해 서로 다른 분리 가능한 그래프 기반 변환을 적용함으로써 보다 효율적인 코딩을 수행할 수 있게 된다.
또한, 본 발명은, 변환을 적응적으로 적용할 수 있는 유연성을 확보하며, 연산 복잡도를 감소시킬 수 있다.
또한, 본 발명은, 서로 다른 비디오 세그먼트들에서 변화하는 통계적 특성에 대해 보다 빠른 적응을 가능하게 하며, 변환을 수행함에 있어서의 변동성을 제공할 수 있다.
또한, 본 발명은, 분리 가능한 변환을 이용함으로써 비디오 신호를 코딩하기 위한 연산 복잡도를 감소시킬 수 있으며, 변환 행렬의 전송 및 변환 선택에서의 오버헤드를 현저히 감소시킬 수 있다.
도 1은 본 발명이 적용되는 실시예로서, 비디오 신호의 인코딩이 수행되는 인코더의 개략적인 블록도를 나타낸다.
도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더의 개략적인 블록도를 나타낸다.
도 3은 본 발명이 적용되는 실시예로서, 코딩 유닛의 분할 구조를 설명하기 위한 도면이다.
도 4는 본 발명이 적용되는 일실시예로서, 1차원 그래프와 2차원 그래프에 기초하여 그래프 기반 변환 매트릭스를 획득하는 과정을 설명하기 위한 도면이다.
도 5는 본 발명이 적용되는 일실시예로서, 코딩 유닛의 PU 파티션 정보에 기초하여 변환을 수행하는 그래프 기반 변환부의 내부 블록도를 나타낸다.
도 6 본 발명이 적용되는 일실시예로서, 2Nx2N 코딩 유닛이 nLx2N으로 분할된 경우 1차원 그래프로부터 생성된 변환을 수평 방향으로 적용하는 방법을 설명하기 위한 도면이다.
도 7은 본 발명이 적용되는 일실시예로서, 코딩 유닛의 PU 파티션 정보에 기초하여 GBT를 적용하는 과정의 흐름도이다.
도 8은 본 발명이 적용되는 일실시예로서, 2Nx2N 코딩 유닛이 4개의 NxN 변환 유닛으로 분할되어 경우 블록 내 경계 정보에 따라 서로 다른 변환을 적용하는 방법을 설명하기 위한 도면이다.
도 9는 본 발명이 적용되는 일실시예로서, 예측 유닛들의 모션 정보 값들 간의 차이에 따라 서로 다른 변환을 적용하는 방법을 설명하기 위한 도면이다.
도 10은 본 발명이 적용되는 일실시예로서, 코딩 유닛 내 변환 유닛이 유사한 성질을 갖는 경우 복수개의 변환 유닛을 머지하여 변환을 수행하는 방법을 설명하기 위한 도면이다.
도 11은 본 발명이 적용되는 일실시예로서, 변환 유닛의 파티션 정보를 이용하여 변환을 수행하는 방법을 설명하기 위한 도면이다.
도 12는 본 발명이 적용되는 일실시예로서, 그래프 신호의 에지 가중치에 기초하여 GBT를 적용하는 디코딩 과정의 흐름도이다.
도 13은 본 발명이 적용되는 일실시예로서, 주변 블록의 그래프 기반 변환 정보를 이용하여 현재 블록의 그래프 기반 변환 정보를 예측하는 방법을 설명하기 위한 도면이다.
도 14는 본 발명이 적용되는 일실시예로서, 코딩 유닛의 예측 유닛 파티션 정보에 기초하여 비정방형 그래프 기반 변환을 적용하는 방법을 설명하기 위한 도면이다.
도 15는 본 발명이 적용되는 일실시예로서, 2차원 그래프의 각 라인마다 서로 다른 분리가능한 변환(separable transform)을 적용하는 방법을 설명하기 위한 도면이다.
도 16은 본 발명이 적용되는 일실시예로서, 분리가능한 변환(separable transform)을 적용하기 위한 변환 기저가 될 수 있는 1차원 그래프들의 예를 나타낸다.
도 17은 본 발명이 적용되는 일실시예로서, 블록 내 경계 정보에 기초하여 가중치 적용된 템플릿을 시그널링하는 방법을 설명하기 위한 도면이고, 도 18은 본 발명이 적용되는 일실시예로서, 블록 내 경계 정보에 기초하여 1차원의 분리가능한 변환(separable transform)을 적용하는 방법을 설명하기 위한 도면이다.
도 19 및 도 20은 본 발명이 적용되는 실시예들로, 그래프 기반 변환 템플릿을 나타내는 인덱스를 인코딩/디코딩하는 방법을 설명하기 위한 흐름도이다.
발명의 실시를 위한 최선의 형태
본 발명은, 그래프 기반 변환을 이용하여 비디오 신호를 디코딩하는 방법에 있어서, 상기 비디오 신호로부터 현재 코딩 유닛의 예측 유닛 파티션 정보를 추출하는 단계; 상기 예측 유닛 파티션 정보에 기초하여 기설정된 테이블 정보로부터 그래프 기반 변환 커널(graph-based transform kernel)을 획득하는 단계; 및 상기 그래프 기반 변환 커널을 이용하여 변환 유닛에 대해 역변환을 수행하는 단계를 포함하되, 상기 그래프 기반 변환 커널은 상기 예측 유닛 파티션 정보 또는 에지 가중치 중 적어도 하나에 대응되고, 상기 에지 가중치는 픽셀 간 상관 관계를 나타내는 기설정된 값인 것을 특징으로 하는 방법을 제공한다.
또한, 본 발명에서, 상기 에지 가중치는 상기 예측 유닛의 분할 경계에서 상대적으로 작은 값을 갖는 것을 특징으로 한다.
또한, 본 발명에서, 상기 코딩 유닛이 복수개의 변환 유닛으로 구성된 경우, 상기 분할 경계와 겹치는 제 1 변환 유닛과 상기 분할 경계와 겹치지 않는 제 2 변환 유닛은 서로 다른 변환 타입이 적용되는 것을 특징으로 한다.
또한, 본 발명은, 그래프 기반 변환을 이용하여 비디오 신호를 디코딩하는 장치에 있어서, 상기 비디오 신호로부터 현재 코딩 유닛의 예측 유닛 파티션 정보를 추출하는 비트스트림 추출부; 및 상기 예측 유닛 파티션 정보에 기초하여 기설정된 테이블 정보로부터 그래프 기반 변환 커널(graph-based transform kernel)을 획득하고, 상기 그래프 기반 변환 커널을 이용하여 변환 유닛에 대해 역변환을 수행하는 역변환부를 포함하되, 상기 그래프 기반 변환 커널은 상기 예측 유닛 파티션 정보 또는 에지 가중치 중 적어도 하나에 대응되고, 상기 에지 가중치는 픽셀 간 상관 관계를 나타내는 기설정된 값인 것을 특징으로 하는 장치를 제공한다.
또한, 본 발명은, 그래프 기반 변환을 이용하여 비디오 신호를 디코딩하는 방법에 있어서, 코딩 유닛에 대응되는 그래프 내 에지 가중치를 수신하는 단계, 여기서 상기 에지 가중치는 픽셀 간 상관관계를 나타내는 값임; 상기 에지 가중치에 기초하여, 변환 유닛의 그래프 기반 변환 커널(graph-based transform kernel)을 획득하는 단계; 및 상기 그래프 기반 변환 커널을 이용하여 상기 변환 유닛을 복원하는 단계를 포함하되, 상기 에지 가중치는 예측 유닛의 코딩 정보에 기초하여 결정된 것을 특징으로 하는 방법을 제공한다.
또한, 본 발명은, 그래프 기반 변환을 이용하여 비디오 신호를 인코딩하는 방법에 있어서, 코딩 유닛에 대응되는 그래프 내 에지 가중치를 산출하는 단계, 여기서 상기 에지 가중치는 픽셀 간 상관관계를 나타내는 값임; 예측 유닛의 코딩 정보에 기초하여, 변환 유닛의 행과 열에 대해 별개의 그래프 기반 변환 커널(graph-based transform kernel)을 생성하는 단계; 및 상기 그래프 기반 변환 커널을 이용하여, 상기 변환 유닛에 대해 변환을 수행하는 단계를 포함하되, 상기 그래프 기반 변환 커널은 상기 에지 가중치에 기초하여 생성되며, 상기 에지 가중치는 분할 경계에서 상대적으로 작은 값을 갖는 것을 특징으로 하는 방법을 제공한다.
또한, 본 발명에서, 상기 코딩 유닛이 복수개의 변환 유닛으로 구성되는 경우, 상기 분할 경계와 겹치는 제 1 변환 유닛과 상기 분할 경계와 겹치지 않는 제 2 변환 유닛은 서로 다른 변환 타입이 적용되고, 상기 제 1 변환 유닛은 상기 그래프 기반 변환 커널이 적용되고, 상기 제 2 변환 유닛은 상기 그래프 기반 변환 커널이 아닌 다른 변환 커널이 적용되는 것을 특징으로 한다.
또한, 본 발명에서, 상기 예측 유닛의 코딩 정보는 파티션 정보 또는 모션 정보 중 적어도 하나를 포함하는 것을 특징으로 한다.
또한, 본 발명에서, 상기 코딩 유닛이 복수개의 예측 유닛들로 구성되는 경우, 상기 복수개의 예측 유닛들의 모션 정보들 간의 차이값이 기설정된 임계값보다 크면 중 상기 그래프 기반 변환 커널이 적용되는 것을 특징으로 한다.
또한, 본 발명은, 그래프 기반 변환을 이용하여 비디오 신호를 디코딩하는 장치에 있어서, 코딩 유닛에 대응되는 그래프 내 에지 가중치를 수신하되, 상기 에지 가중치는 픽셀 간 상관관계를 나타내는 값이고, 상기 에지 가중치에 기초하여 변환 유닛의 그래프 기반 변환 커널(graph-based transform kernel)을 획득하고, 상기 그래프 기반 변환 커널을 이용하여 상기 변환 유닛을 복원하는 역변환부를 포함하되, 상기 에지 가중치는 예측 유닛의 코딩 정보에 기초하여 결정된 것을 특징으로 하는 장치를 제공한다.
또한, 본 발명은, 그래프 기반 변환을 이용하여 비디오 신호를 인코딩하는 장치에 있어서, 코딩 유닛에 대응되는 그래프 내 에지 가중치를 산출하되, 상기 에지 가중치는 픽셀 간 상관관계를 나타내는 값이고, 예측 유닛의 코딩 정보에 기초하여 변환 유닛의 행과 열에 대해 별개의 그래프 기반 변환 커널(graph-based transform kernel)을 생성하고, 상기 그래프 기반 변환 커널을 이용하여 상기 변환 유닛에 대해 변환을 수행하는 그래프 기반 변환부를 포함하되, 상기 그래프 기반 변환 커널은 상기 에지 가중치에 기초하여 생성되며, 상기 에지 가중치는 분할 경계에서 상대적으로 작은 값을 갖는 것을 특징으로 하는 장치를 제공한다.
또한, 본 발명은, 그래프 기반 변환을 이용하여 비디오 신호를 디코딩하는 방법에 있어서, 그래프 기반 변환 템플릿을 나타내는 인덱스 정보를 수신하는 단계, 여기서 상기 그래프 기반 변환 템플릿은 잔여 신호의 패턴에 대응됨; 상기 인덱스 정보에 대응되는 그래프 기반 변환 커널을 획득하는 단계; 및 상기 그래프 기반 변환 커널을 이용하여 변환 유닛을 복원하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.
또한, 본 발명은, 그래프 기반 신호를 이용하여 비디오 신호를 인코딩하는 방법에 있어서, 잔여 신호의 패턴(pattern)을 확인하는 단계; 상기 잔여 신호의 패턴에 대응되는 그래프 기반 변환 템플릿(graph-based transform template)을 결정하는 단계; 및 상기 결정된 그래프 기반 변환 템플릿을 나타내는 인덱스를 인코딩하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.
또한, 본 발명은, 그래프 기반 변환을 이용하여 비디오 신호를 디코딩하는 장치에 있어서, 그래프 기반 변환 템플릿을 나타내는 인덱스 정보를 수신하되, 여기서 상기 그래프 기반 변환 템플릿은 잔여 신호의 패턴에 대응되고, 상기 인덱스 정보에 대응되는 그래프 기반 변환 커널을 획득하고, 상기 그래프 기반 변환 커널을 이용하여 변환 유닛을 복원하는 역변환부를 포함하는 것을 특징으로 하는 장치.
또한, 본 발명은, 그래프 기반 신호를 이용하여 비디오 신호를 인코딩하는 장치에 있어서, 잔여 신호의 패턴(pattern)을 확인하고, 상기 잔여 신호의 패턴에 대응되는 그래프 기반 변환 템플릿(graph-based transform template)을 결정하고, 상기 결정된 그래프 기반 변환 템플릿을 나타내는 인덱스를 인코딩하는 그래프 기반 변환부를 포함하는 것을 특징으로 하는 장치를 제공한다.
또한, 본 발명은, 그래프 기반 변환를 이용하여 비디오 신호를 인코딩하는 방법에 있어서, 타겟 유닛 내 각각의 행 또는 열에 대한 1차원 에지 가중치를 유도하는 단계, 여기서 상기 에지 가중치는 픽셀 간 상관관계를 나타내는 값임; 상기 1차원 에지 가중치에 대응되는 1차원 그래프 기반 변환 커널을 불러오는 단계; 상기 1차원 그래프 기반 변환 커널을 조합함으로써, 상기 타겟 유닛에 최적화된 그래프 기반 변환 커널을 생성하는 단계; 및 상기 그래프 기반 변환 커널을 이용하여, 상기 타겟 유닛에 대해 변환을 수행하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.
또한, 본 발명에서, 상기 1차원 그래프 기반 변환 커널에 대응되는 1차원 그래프의 양끝 꼭지점들 중 적어도 하나는 자기 가중치(self weight)를 포함하는 것을 특징으로 한다.
발명의 실시를 위한 형태
이하, 첨부된 도면을 참조하여 본 발명의 실시예의 구성과 그 작용을 설명하며, 도면에 의해서 설명되는 본 발명의 구성과 작용은 하나의 실시예로서 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
아울러, 본 발명에서 사용되는 용어는 가능한 한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어를 사용하여 설명한다. 그러한 경우에는 해당 부분의 상세 설명에서 그 의미를 명확히 기재하므로, 본 발명의 설명에서 사용된 용어의 명칭만으로 단순 해석되어서는 안 될 것이며 그 해당 용어의 의미까지 파악하여 해석되어야 함을 밝혀두고자 한다.
또한, 본 발명에서 사용되는 용어들은 발명을 설명하기 위해 선택된 일반적인 용어들이나, 유사한 의미를 갖는 다른 용어가 있는 경우 보다 적절한 해석을 위해 대체 가능할 것이다. 예를 들어, 신호, 데이터, 샘플, 픽쳐, 프레임, 블록 등의 경우 각 코딩 과정에서 적절하게 대체되어 해석될 수 있을 것이다. 또한, 파티셔닝(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)는 코딩 유닛의 예측 유닛 파티션 정보(PU partition information)에 따라 그래프 기반 변환을 적용할 수 있다.
본 발명의 다른 일실시예로, 상기 변환부(120)는 코딩 유닛 또는 변환 유닛의 구성에 따라 서로 다른 그래프 기반 변환을 적용할 수 있다.
본 발명의 다른 일실시예로, 상기 변환부(120)는 인접한 변환 유닛을 머지(merge)하여 하나의 변환을 적용할 수 있다.
본 발명의 다른 일실시예로, 상기 변환부(120)는 변환 유닛에 대한 파티션 정보를 이용하여 변환을 적용할 수 있다.
본 발명의 다른 일실시예로, 상기 변환부(120)는 주변 블록의 그래프 기반 변환에 대한 정보를 이용하여 현재 블록의 그래프 기반 변환을 예측할 수 있다.
본 발명의 다른 일실시예로, 상기 변환부(120)는 코딩 유닛의 예측 유닛 파티션 정보(PU partition information)에 따라 비정방형(non-square) 그래프 기반 변환을 적용할 수 있다.
본 발명의 다른 일실시예로, 상기 변환부(120)는 코딩 유닛의 행 방향과 열 방향에 대해 서로 다른 분리가능한 그래프 기반 변환을 적용할 수 있다.
양자화부(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)는 도 1의 인코더(100)로부터 출력된 신호을 수신할 수 있고, 수신된 신호는 엔트로피 디코딩부(210)를 통해 엔트로피 디코딩될 수 있다.
역양자화부(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은 본 발명이 적용되는 실시예로서, 코딩 유닛의 분할 구조를 설명하기 위한 도면이다.
인코더는 하나의 영상(또는 픽쳐)을 사각형 형태의 코딩 트리 유닛(CTU: Coding Tree Unit) 단위로 분할할 수 있다. 그리고, 래스터 스캔 순서(raster scan order)에 따라 하나의 CTU 씩 순차적으로 인코딩한다.
예를 들어, CTU의 크기는 64x64, 32x32, 16x16 중 어느 하나로 정해질 수 있으나, 본 발명은 이에 한정되지 않는다. 인코더는 입력된 영상의 해상도 또는 입력된 영상의 특성 등에 따라 CTU의 크기를 선택하여 사용할 수 있다. CTU은 휘도(luma) 성분에 대한 코딩 트리 블록(CTB: Coding Tree Block)과 이에 대응하는 두 개의 색차(chroma) 성분에 대한 코딩 트리 블록(CTB: Coding Tree Block)을 포함할 수 있다.
하나의 CTU은 쿼드트리(quadtree, 이하 'QT'라 함) 구조로 분해될 수 있다. 예를 들어, 하나의 CTU은 정사각형 형태를 가지면서 각 변의 길이가 절반씩 감소하는 4개의 유닛으로 분할될 수 있다. 이러한 QT 구조의 분해는 재귀적으로 수행될 수 있다.
도 3을 참조하면, QT의 루트 노드(root node)는 CTU와 관련될 수 있다. QT는 리프 노드(leaf node)에 도달할 때까지 분할될 수 있고, 이때 상기 리프 노드는 코딩 유닛(CU: Coding Unit)으로 지칭될 수 있다.
CU은 입력 영상의 처리 과정, 예컨대 인트라(intra)/인터(inter) 예측이 수행되는 코딩의 기본 단위를 의미할 수 있다. CU은 휘도(luma) 성분에 대한 코딩 블록(CB: Coding Block)과 이에 대응하는 두 개의 색차(chroma) 성분에 대한 CB를 포함할 수 있다. 예를 들어, CU의 크기는 64x64, 32x32, 16x16, 8x8 중 어느 하나로 정해질 수 있으나, 본 발명은 이에 한정되지 않으며, 고해상도 영상일 경우, CU의 크기는 더 커지거나 다양해질 수 있다.
도 3을 참조하면, CTU는 루트 노드(root node)에 해당되고, 가장 작은 깊이(depth)(즉, 레벨 0) 값을 가진다. 입력 영상의 특성에 따라 CTU가 분할되지 않을 수도 있으며, 이 경우 CTU은 CU에 해당된다.
CTU은 QT 형태로 분해될 수 있으며, 그 결과 레벨 1의 깊이를 가지는 하위 노드들이 생성될 수 있다. 그리고, 레벨 1의 깊이를 가지는 하위 노드에서 더 이상 분할되지 않은 노드(즉, 리프 노드)는 CU에 해당한다. 예를 들어, 도 3(b)에서 노드 a, b 및 j에 대응하는 CU(a), CU(b), CU(j)는 CTU에서 한 번 분할되었으며, 레벨 1의 깊이를 가진다.
레벨 1의 깊이를 가지는 노드 중 적어도 어느 하나는 다시 QT 형태로 분할될 수 있다. 그리고, 레벨 2의 깊이를 가지는 하위 노드에서 더 이상 분할되지 않은 노드(즉, 리프 노드)는 CU에 해당한다. 예를 들어, 도 3(b)에서 노드 c, h 및 i에 대응하는 CU(c), CU(h), CU(i)는 CTU에서 두 번 분할되었으며, 레벨 2의 깊이를 가진다.
또한, 레벨 2의 깊이를 가지는 노드 중 적어도 어느 하나는 다시 QT 형태로 분할될 수 있다. 그리고, 레벨 3의 깊이를 가지는 하위 노드에서 더 이상 분할되지 않은 노드(즉, 리프 노드)는 CU에 해당한다. 예를 들어, 도 3(b)에서 노드 d, e, f, g에 대응하는 CU(d), CU(e), CU(f), CU(g)는 CTU에서 3번 분할되었으며, 레벨 3의 깊이를 가진다.
인코더에서는 비디오 영상의 특성(예를 들어, 해상도)에 따라서 혹은 부호화의 효율을 고려하여 CU의 최대 크기 또는 최소 크기를 결정할 수 있다. 그리고, 이에 대한 정보 또는 이를 유도할 수 있는 정보가 비트스트림에 포함될 수 있다. 최대 크기를 가지는 CU를 최대 코딩 유닛(LCU: Largest Coding Unit)이라고 지칭하며, 최소 크기를 가지는 CU를 최소 코딩 유닛(SCU: Smallest Coding Unit)이라고 지칭할 수 있다.
또한, 트리 구조를 갖는 CU은 미리 정해진 최대 깊이 정보(또는, 최대 레벨 정보)를 가지고 계층적으로 분할될 수 있다. 그리고, 각각의 분할된 CU은 깊이 정보를 가질 수 있다. 깊이 정보는 CU의 분할된 횟수 및/또는 정도를 나타내므로, CU의 크기에 관한 정보를 포함할 수도 있다.
LCU가 QT 형태로 분할되므로, LCU의 크기 및 최대 깊이 정보를 이용하면 SCU의 크기를 구할 수 있다. 또는 역으로, SCU의 크기 및 트리의 최대 깊이 정보를 이용하면, LCU의 크기를 구할 수 있다.
하나의 CU에 대하여, 해당 CU이 분할 되는지 여부를 나타내는 정보가 디코더에 전달될 수 있다. 예를 들어, 상기 정보는 분할 플래그로 정의될 수 있으며, 신택스 엘리먼트 "split_cu_flag"로 표현될 수 있다. 상기 분할 플래그는 SCU을 제외한 모든 CU에 포함될 수 있다. 예를 들어, 상기 분할 플래그의 값이 '1'이면 해당 CU은 다시 4개의 CU으로 나누어지고, 상기 분할 플래그의 값이 '0'이면 해당 CU은 더 이상 나누어지지 않고 해당 CU에 대한 코딩 과정이 수행될 수 있다.
앞서 도 3의 실시예에서는 CU의 분할 과정에 대해 예로 들어 설명하였으나, 변환을 수행하는 기본 단위인 변환 유닛(TU: Transform Unit)의 분할 과정에 대해서도 상술한 QT 구조를 적용할 수 있다.
TU는 코딩하려는 CU로부터 QT 구조로 계층적으로 분할될 수 있다. 예를 들어, CU은 변환 유닛(TU)에 대한 트리의 루트 노트(root node)에 해당될 수 있다.
TU는 QT 구조로 분할되므로 CU로부터 분할된 TU는 다시 더 작은 하위 TU로 분할될 수 있다. 예를 들어, TU의 크기는 32x32, 16x16, 8x8, 4x4 중 어느 하나로 정해질 수 있으나, 본 발명은 이에 한정되지 않으며, 고해상도 영상일 경우, TU의 크기는 더 커지거나 다양해질 수 있다.
하나의 TU에 대하여, 해당 TU이 분할 되는지 여부를 나타내는 정보가 디코더에 전달될 수 있다. 예를 들어, 상기 정보는 분할 변환 플래그로 정의될 수 있으며, 신택스 엘리먼트 "split_transform_flag"로 표현될 수 있다.
상기 분할 변환 플래그는 최소 크기의 TU을 제외한 모든 TU에 포함될 수 있다. 예를 들어, 상기 분할 변환 플래그의 값이 '1'이면 해당 TU은 다시 4개의 TU으로 나누어지고, 상기 분할 변환 플래그의 값이 '0'이면 해당 TU은 더 이상 나누어지지 않는다.
상기에서 설명한 바와 같이, CU는 인트라 예측 또는 인터 예측이 수행되는 코딩의 기본 단위이다. 입력 영상을 보다 효과적으로 코딩하기 위하여 CU를 예측 유닛(PU: Prediction Unit) 단위로 분할할 수 있다.
PU는 예측 블록을 생성하는 기본 단위로서, 하나의 CU 내에서도 PU 단위로 서로 다르게 예측 블록을 생성할 수 있다. PU는 PU가 속하는 CU의 코딩 모드로 인트라 예측 모드가 사용되는지 인터 예측 모드가 사용되는지에 따라 상이하게 분할될 수 있다.
도 4는 본 발명이 적용되는 일실시예로서, 1차원 그래프와 2차원 그래프에 기초하여 그래프 기반 변환 매트릭스를 획득하는 과정을 설명하기 위한 도면이다.
본 발명의 일실시예로, 이미지 내 픽셀 블록의 처리를 위해 사용될 수 있는 그래프 타입은 도 4를 통해 설명될 수 있다. 예를 들어, 도 4(a)는 픽셀 블록의 각 라인에 대응되는 1차원 그래프를 나타내고, 도 4(b)는 픽셀 블록에 대응되는 2차원 그래프를 나타낼 수 있다.
그래프 꼭지점(vertex)은 픽셀 블록의 각 픽셀에 연관되며, 그래프 꼭지점의 값은 픽셀 값으로 표현될 수 있다. 그리고, 그래프 에지(graph edge)는 그래프 꼭지점을 연결하는 선을 의미할 수 있다. 상기 그래프 에지는 신호 내의 어떠한 형태의 통계적 의존성을 나타내기 위해 사용되며, 그 강도를 나타내는 값을 에지 가중치(edge weight)라 할 수 있다.
예를 들어, 도 4(a)를 살펴보면, 1차원 그래프를 나타내며, 0,1,2,3은 각 꼭지점의 위치를 나타내고, w0,w1,w2는 각 꼭지점 간의 에지 가중치를 나타낸다. 도 4(b)를 살펴보면, 2차원 그래프를 나타내며, aij (i=0,1,2,3,j=0,1,2), bkl (k=0,1,2,l=0,1,2,3)는 각 꼭지점 간의 에지 가중치를 나타낸다.
각 꼭지점은 모든 다른 꼭지점에 연결될 수 있으며, 0의 에지 가중치는 서로 연관되지 않거나 약하게 연관된 꼭지점들을 연결하는 에지에 할당될 수 있다. 다만, 표현의 간단화를 위해, 0의 에지 가중치를 갖는 에지는 완전히 제거될 수 있다.
본 발명이 적용되는 일실시예로, 그래프 신호로부터 획득되는 변환을 그래프 기반 변환(Graph-Based Transform, 이하 'GBT'라 함)이라 정의할 수 있다. 예를 들어, TU를 구성하는 픽셀 간의 관계 정보를 그래프로 표현한다고 할 때, 이 그래프로부터 얻어진 변환을 GBT라고 할 수 있다.
픽셀 간의 관계 정보는 다양한 방법으로 표현될 수 있다. 예를 들어, 픽셀 값들 사이의 유사성, 동일한 PU에 속해 있는지 여부, 같은 오브젝트에 속해 있는지 여부 등에 기초하여 픽셀 간의 관계 정보를 표현할 수 있다. 상기 픽셀 간 관계 정보는 각 픽셀을 그래프의 꼭지점에 대응시켰을 때 픽셀들 간의 에지 유무 및 에지 가중치(edge weight) 값으로 표현될 수 있다. 이 경우, 상기 GBT는 다음과 같은 과정을 통해 획득될 수 있다. 예를 들어, 인코더 또는 디코더는 비디오 신호의 타겟 블록으로부터 그래프 정보를 획득할 수 있다. 상기 획득된 그래프 정보로부터 라플라시안 행렬(Laplacian matrix)를 획득한 다음, 상기 라플라시안 행렬(Laplacian matrix)에 대해 아래 수학식 1과 같이 고유 분해(eigen decomposition)를 수행함으로써 GBT 커널을 획득할 수 있다.
Figure pct00001
상기 수학식 1에서, L은 라플라시안 행렬, U는 고유 행렬(eigen matrix), UT는 U의 전치행렬을 의미한다. 여기서, 상기 수학식 1을 만족하는 U가 GBT 커널을 의미할 수 있다.
도 5는 본 발명이 적용되는 일실시예로서, 코딩 유닛의 PU 파티션 정보에 기초하여 변환을 수행하는 그래프 기반 변환부의 내부 블록도를 나타낸다.
도 5(a)를 살펴보면, 본 발명이 적용되는 그래프 기반 변환부(500)는 경계 확인부(510), 변환 커널 획득부(520) 및 변환 수행부(530)를 포함할 수 있다. 상기 그래프 기반 변환부(500)는 도 5에서와 같이 별개의 기능 유닛으로 존재할 수 있고, 이 경우 상기 그래프 기반 변환부(500)는 상기 도 1의 변환부(120) 앞에 위치할 수 있으나, 본 발명은 이에 한정되지 않는다. 또한, 상기 그래프 기반 변환부(500)는 상기 도 1의 변환부(120) 내에 포함될 수도 있다.
상기 경계 확인부(510)는 타겟 유닛이 복수개의 블록들로 분할되어 있는 경우 파티션 정보를 확인할 수 있다. 예를 들어, 상기 타겟 유닛은 CTB, CU, PU, TU, 처리 유닛, 블록, 또는 프레임 중 어느 하나일 수 있다. 구체적 예로, 현재 CU가 복수개의 PU로 분할되어 있는 경우, 상기 경계 확인부(510)는 PU 파티션 정보로부터 경계(boundary)를 감지할 수 있다.
상기 변환 커널 획득부(520)는 상기 파티션 정보에 기초하여 변환 커널을 획득할 수 있다. 여기서, 상기 변환 커널은 에지 가중치를 고려한 그래프 기반 변환 커널일 수 있으며, 상기 그래프 기반 변환 커널은 인코더 또는 디코더에 저장되어 있는 기설정된 테이블로부터 획득될 수 있다. 상기 에지 가중치는 픽셀 간의 상관 관계 정도를 나타내는 값이며, 예를 들어 1에 가까울수록 상관 관계가 높으며 0에 가까울수록 상관 관계가 낮다고 판단할 수 있다.
또한, 상기 에지 가중치는 파티션 정보에 따라 설정된 고정값일 수 있다. 예를 들어, 파티션 경계와 겹치는 그래프 에지는 그렇지 않은 그래프 에지보다 더 작은 에지 가중치를 가질 수 있다. 이는, 파티션 경계와 겹치는 그래프 에지는 서로 다른 파티션에 속하는 픽셀들 간의 상관 관계를 나타내기 때문이다.
상기 변환 수행부(530)는 상기 획득된 변환 커널을 이용하여 변환을 수행할 수 있다.
도 5(b)를 살펴보면, 본 발명이 적용되는 다른 실시예로, 상기 그래프 기반 변환부(500)는 그래프 신호 생성부(560), PU 분할 확인부(570) 및 에지 가중치 설정부(580)를 포함할 수 있다.
상기 그래프 신호 생성부(560)은 타겟 유닛에 대응되는 그래프를 생성할 수 있다. 예를 들어, 상기 타겟 유닛은 CTB, CU, PU, TU, 처리 유닛, 블록, 또는 프레임 중 어느 하나일 수 있다. 상기 수학식 1에서와 같은 상기 그래프의 라플라시안 행렬이 그래프 기반의 신호 처리를 위해 사용될 수 있다.
그리고, 상기 PU 분할 확인부(570)는, 타겟 유닛이 다양한 모양의 PU들로 분할되는 경우 PU 파티션 정보를 확인할 수 있다.
상기 에지 가중치 설정부(580)는 상기 PU 파티션 정보에 따라 상기 그래프 신호의 에지에 대해 적응적으로 에지 가중치를 설정할 수 있다. 예를 들어, PU 파티션 경계와 겹치는 그래프 에지는 그렇지 않은 그래프 에지들보다 더 작은 에지 가중치를 설정할 수 있다.
그리고, 상기 그래프 기반 변환부(500)에서는 상기 에지 가중치를 이용하여 대응되는 그래프 기반 변환 커널을 생성할 수 있다.
이러한 경우, 인코더에서는 에지 가중치 또는 그래프 기반 변환 커널 중 적어도 하나를 디코더로 전송할 수 있다. 상기 에지 가중치 또는 상기 그래프 기반 변환 커널 중 적어도 하나는 SPS(Sequence Parameter Set), PPS(Picture Parameter Set), 슬라이스, CU(Coding Unit), PU(Prediction Unit), 블록, 폴리곤, 처리 유닛 및 특정 유닛 중 적어도 하나의 레벨에서 전송될 수 있다.
본 발명이 적용되는 다른 실시예로, 이용가능한 에지 가중치들의 조합을 한정할 수 있는 경우, 인코더 또는 디코더는 상기 에지 가중치들의 모든 조합에 대해 변환 커널들을 미리 생성할 수 있다. 이러한 경우, 인코더는 각 조합에 대한 인덱스를 디코더로 전송함으로써 대응되는 변환 커널들을 획득할 수도 있다.
도 6 본 발명이 적용되는 일실시예로서, 2Nx2N 코딩 유닛이 nLx2N으로 분할된 경우 1차원 그래프로부터 생성된 변환을 수평 방향으로 적용하는 방법을 설명하기 위한 도면이다.
CU의 PU 파티션 정보를 바탕으로 GBT를 적용하는 실시예
본 발명은 블록 유닛 간의 경계 정보에 기초하여 GBT를 적용하는 실시예들을 제공한다. 일실시예로, CU가 다양한 형태의 PU들로 분할되는 경우, PU들 간의 경계 정보에 기초하여 GBT를 적용할 수 있다.
GBT는 분리 가능한 GBT(separable GBT)와 비분리 GBT(Non-separable GBT)로 나누어서 정의될 수 있다. 여기서, 분리 가능한 GBT(separable GBT)는 수평 방향과 수직 방향에 대해 별개로 적용되는 1차원 변환으로 정의될 수 있고, 비분리 GBT(Non-separable GBT)는 NxN 이미지 전체에 대해 한번에 적용되는 변환으로 정의될 수 있다. 예를 들어, 상기 비분리 GBT(Non-separable GBT)는 NxN 2차원 그래프로부터 획득된 N2xN2 변환 커널일 수 있다. 이하에서는, 분리 가능한 GBT(separable GBT)를 SGBT라 하고, 비분리 GBT(Non-separable GBT)를 NSGBT라 한다.
또한, 본 명세서에서는, CU 내 PU 파티션 정보에 기초하여 적용되는 GBT를 PGBT라고 명명하고, PGBT 중에 분리 가능한 GBT(separable GBT)는 PSGBT, 비분리 GBT(Non-separable GBT)는 PNSGBT라고 명명하기로 한다.
본 발명이 적용되는 PGBT의 실시예는 다음과 같다. 도 6(a)에서와 같이 2Nx2N CU가 nLx2N 크기로 분할된 경우 해당 CU와 동일한 크기로 변환을 적용한다고 했을 때, 수평 방향으로 도 6(a)의 1D 그래프로부터 생성한 변환을 적용할 수 있다. 예를 들어, 도 6(b)를 살펴보면, 서로 다른 파티션 A, B에 속한 픽셀들은 서로 상관성(correlation)이 작을 것으로 예상되므로, 파티션 A와 파티션 B 간의 경계에 존재하는 그래프 에지에는 다른 그래프 에지에 적용되는 에지 가중치(α)보다 더 작은 에지 가중치(β)를 부여할 수 있다. 여기서, 에지 가중치는 픽셀 간의 상관(correlation) 정도를 나타내는 값을 의미한다.
상기 도 6(b)와 같은 1D 그래프에 대해서 라플라시안 매트릭스(Laplacian matrix)를 생성한 후 이에 대해 상기 수학식 1과 같이 고유 분해(eigen decomposition)를 수행하여 얻어진 아이겐 벡터 매트릭스(eigen vector matrix)가 해당 1D 그래프로부터 생성한 변환 커널(transform kernel)이 된다.
도 7은 본 발명이 적용되는 일실시예로서, 코딩 유닛의 PU 파티션 정보에 기초하여 GBT를 적용하는 과정의 흐름도이다.
본 발명은 코딩 유닛의 PU 파티션 정보에 기초하여 GBT를 적용하는 인코딩 및 디코딩 실시예를 제공한다. 예를 들어, CU가 다양한 형태의 PU들로 분할되는 경우, PU들 간의 경계 정보에 기초하여 GBT를 적용할 수 있다.
먼저, 인코더는, CU가 복수개의 PU들로 분할되어 있는 경우 PU 파티션 정보를 확인할 수 있다. 그리고, 상기 PU 파티션 정보로부터 파티션 경계(partition boundary)를 감지할 수 있다(S710).
상기 인코더는 기설정된 테이블로부터 상기 PU 파티션 정보와 기설정된 에지 가중치 중 적어도 하나에 대응되는 그래프 기반 변환 커널을 획득할 수 있다(S720). 여기서, 상기 에지 가중치는 PU 파티션 정보에 따라 설정된 고정값일 수 있다. 예를 들어, 상기 에지 가중치는 PU 파티션 경계와 겹치는 그래프 에지는 그렇지 않은 그래프 에지보다 더 작은 에지 가중치를 갖도록 설정될 수 있다.
상기 획득된 그래프 기반 변환 커널을 이용하여 변환 유닛에 대해 변환을 수행할 수 있다(S730).
본 발명의 다른 실시예로, CU의 PU 파티션 정보에 기초하여 GBT를 적용하는 디코딩 실시예를 제공한다. 예를 들어, CU가 다양한 형태의 PU들로 분할되는 경우, PU들 간의 경계 정보에 기초하여 역GBT를 적용할 수 있다. 디코더의 경우, 상기 인코더에서 수행되는 과정과 유사하다.
디코더는, 비디오 신호로부터 블록 분할 정보를 추출함으로써 블록 분할 정보를 확인할 수 있다. 예를 들어, 상기 블록 분할 정보는 PU 파티션 정보를 포함할 수 있으며, 디코더는 상기 PU 파티션 정보로부터 파티션 경계(partition boundary)를 감지할 수 있다. 한편, 상기 블록 분할 정보를 포함한 신택스 정보들은 디코더 내 비트스트림 추출기(미도시)에 의해 추출될 수 있다.
상기 디코더는 기설정된 테이블로부터 상기 PU 파티션 정보와 기설정된 에지 가중치 중 적어도 하나에 대응되는 그래프 기반 변환 커널을 획득할 수 있다. 여기서, 상기 에지 가중치는 PU 파티션 정보에 따라 설정된 고정값일 수 있다. 예를 들어, 상기 에지 가중치는 PU 파티션 경계와 겹치는 그래프 에지는 그렇지 않은 그래프 에지보다 더 작은 에지 가중치를 갖도록 설정될 수 있다.
상기 획득된 그래프 기반 변환 커널을 이용하여 변환 유닛에 대해 역변환을 수행할 수 있다.
본 발명이 적용되는 다른 실시예로, 인코더는, 코딩 유닛에 대응되는 그래프 내 에지 가중치를 산출할 수 있다. 여기서, 상기 에지 가중치는 픽셀 간 상관관계를 나타내는 값을 의미할 수 있다.
만약, CU가 다양한 형태의 PU들로 분할되는 경우, 예측 유닛(PU)의 코딩 정보에 기초하여, 변환 유닛(TU)의 행과 열에 대해 별개의 그래프 기반 변환 커널(graph-based transform kernel)을 생성할 수 있다. 이때, 상기 그래프 기반 커널은 상기 에지 가중치에 기초하여 생성되고, 상기 에지 가중치는 PU 파티션 경계에서 상대적으로 작은 값을 가질 수 있다.
상기 생성된 그래프 기반 변환 커널을 이용하여 상기 변환 유닛에 대해 변환을 수행할 수 있다.
다른 예로, 상기 코딩 유닛이 복수개의 변환 유닛으로 구성되는 경우, 상기 PU 파티션 경계와 겹치는 제 1 변환 유닛과 상기 PU 파티션 경계와 겹치지 않는 제 2 변환 유닛은 서로 다른 변환 타입이 적용될 수 있다. 예를 들어, 변환 타입으로는 GBT, SGBT, NSGBT, PGBT, PSGBT, PNSGBT, DCT, DST, 또는 KLT 중 적어도 하나를 포함할 수 있다.
구체적 예로, 상기 제 1 변환 유닛은 상기 그래프 기반 변환 커널이 적용되고, 상기 제 2 변환 유닛은 상기 그래프 기반 변환 커널이 아닌 다른 변환 커널이 적용될 수 있다.
도 8은 본 발명이 적용되는 일실시예로서, 2Nx2N 코딩 유닛이 4개의 NxN 변환 유닛으로 분할되어 경우 블록 내 경계 정보에 따라 서로 다른 변환을 적용하는 방법을 설명하기 위한 도면이다.
도 8(a)에서와 같이 2Nx2N CU가 nLx2N 크기로 분할된 경우, 왼쪽 파티션을 파티션 A, 오른쪽 파티션을 파티션 B라 하자. 이때, 2Nx2N CU는 4개의 NxN TU로 분할되어 변환될 수 있고, 이 경우 각 TU 마다 서로 다른 방식의 변환이 적용될 수 있다. 예를 들어, 파티션 경계를 포함하는 변환 블록 TU1과 TU3에는 PSGBT가 적용될 수 있고, 파티션 경계를 포함하지 않는 TU2와 TU4에는 DCT가 적용될 수 있다. 즉, 파티션 경계를 포함하는 변환 블록에 대해 PSGBT를 적용함으로써 보다 적응적인 변환을 수행할 수 있게 된다.
이때, 상기 PSGBT는 행과 열 별로 각각의 PSGBT를 적용할 수도 있고, 또는 해당 2D 그래프로부터 획득된 PNSGBT를 한 번에 적용할 수도 있다. 따라서, 어떠한 파티션 방식 또는 코딩 구조에서라도 GBT를 적절히 적용할 수 있다.
도 8(b)를 살펴보면, 서로 다른 파티션 A, B에 속한 픽셀들은 서로 상관성(correlation)이 작을 것으로 예상되므로, 파티션 A와 파티션 B 간의 경계에 존재하는 그래프 에지에는 다른 그래프 에지에 적용되는 에지 가중치(α)보다 더 작은 에지 가중치(β)를 부여할 수 있다.
도 9는 본 발명이 적용되는 일실시예로서, 예측 유닛들의 모션 정보 값들 간의 차이에 따라 서로 다른 변환을 적용하는 방법을 설명하기 위한 도면이다.
CU 또는 TU의 구성에 따라 이종의 GBT를 적용
한 CU에 대해, 인트라 예측 또는 인터 예측 방식으로 코딩되었는지 여부, CU 크기, PU 파티션의 이질성 등의 정보에 기초하여 서로 다른 종류의 GBT를 적용할 수 있다.
한 TU에 대해서도 TU 크기나 PU 파티션 경계의 포함 여부 등의 정보에 기초하여 서로 다른 종류의 GBT를 적용할 수 있다. 예를 들어, 작은 TU에 대해서는 일반 분리 가능한 GBT(separable GBT)를 작용하고 큰 TU에 대해서는 PGBT를 적용할 수 있다.
또 다른 예로, 한 PU 경계에 대해 인접한 PU들의 모션 벡터 값 차이가 큰 경우, 두 PU가 이질적인 특성을 갖는다고 판단하여, 도 9(a)에서와 같이 해당 경계를 포함하는 PU에 대해서는 PGBT를 적용할 수 있다.
또는, 도 9(b)에서와 같이, 상기 모션 벡터 값 차이가 큰 경우, 오히려 PGBT를 적용하지 않고 파티션 경계에 따라 TU들을 분할한 후 각 TU에 대해서 GBT 또는 DCT를 적용하도록 구성할 수도 있다. 이 경우, 분할 플래그를 정의하지 않을 수 있다.
본 발명이 적용되는 다른 실시예로, CU 또는 TU 레벨에서 어떠한 GBT를 적용할지를 플래그를 통해 지정할 수 있다.
예를 들어, CU 또는 TU 레벨에서 변환 블록이 PU 경계를 만났을 때 PSGBT를 적용할지 DCT(또는 GBT)를 적용할지 여부를 나타내는 플래그를 전송함으로써 적용할 변환 종류를 지정할 수 있다.
또 다른 예로, CU (또는 TU) 크기가 작은 경우에는 특정 변환을 플래그 없이 적용하고, 크기가 큰 경우에 플래그를 통해 선택적으로 적용하도록 할 수 있다.
도 10은 본 발명이 적용되는 일실시예로서, 코딩 유닛 내 변환 유닛이 유사한 성질을 갖는 경우 복수개의 변환 유닛을 머지하여 변환을 수행하는 방법을 설명하기 위한 도면이다.
도 10을 살펴보면, 몇 개의 인접한 TU들을 머지(merge)하여 하나의 변환 방법을 적용할 수 있다. 예를 들어, 도 10에서와 같이 하나의 CU 내의 4개의 TU가 존재하고 상기 4개의 TU들 (TU1, TU2, TU3, TU4)이 유사한 성질 또는 코딩 정보를 갖는 경우, 상기 4개의 TU들을 하나의 TU로 머지(merge)한 후 하나의 변환 방법을 적용할 수 있다. 이때, 상기 유사한 성질 또는 코딩 정보의 예로, 상기 4개의 TU들이 동일한 모션 정보를 갖는 경우를 들 수 있으나, 본 발명은 이에 한정되지 않는다.
본 발명이 적용되는 다른 실시예로, 도 8에서 설명한 실시예가 본 발명에도 적용될 수 있다. 예를 들어, PU 경계 정보 등을 활용하여 PGBT를 적용할지 또는 일반 GBT를 적용할지 여부를 결정할 수 있다. 구체적 예로, 상기 머지한 TU 블록이 PU 경계를 포함하는 경우 PGBT를 적용하고, PU 경계를 포함하지 않는 경우 일반 GBT를 적용할 수 있다.
본 발명이 적용되는 다른 실시예로, 어떤 TU들을 머지(merge)할 지에 대한 정보를 별도로 시그널링할 수 있다. 예를 들어, 가장 작은 TU 단위의 비트맵(bitmap) 데이터를 보내서 1의 값을 갖는 TU들을 하나의 TU로 머지(merge)하도록 할 수 있다. 또한, CU 내의 TU들 뿐만 아니라 CU 경계를 넘어선 TU들에 대해서도 머지(merge)할 수 있다.
본 발명이 적용되는 다른 실시예로, 어떤 TU들을 머지(merge)할 지에 대한 플래그 정보(예를 들어, TU 머지 플래그)를 전송함으로써 어떤 TU들을 머지할 지를 결정할 수 있다. 예를 들어, 16개의 TU들의 TU 머지 플래그 정보를 확인할 수 있고, 확인 결과 TU 머지 플래그가 1인 TU 들을 선별할 수 있다. 그리고, 상기 TU 머지 플래그가 1인 TU 들이 인접하고 있는지 여부를 확인하고, 인접한 TU들에 대해서는 머지를 수행할 수 있다. 그리고, 머지된 TU들에 대해서는 한번의 변환이 적용되도록 할 수 있다. 예를 들어, 도 8의 TU1, TU2, TU3, TU4의 TU 머지 플래그가 1이고, 나머지 TU들의 TU 머지 플래그는 0인 경우, 서로 인접하고 있는 TU1, TU2, TU3, TU4를 머지하여 하나의 변환 방법을 적용할 수 있다.
도 11은 본 발명이 적용되는 일실시예로서, 변환 유닛의 파티션 정보를 이용하여 변환을 수행하는 방법을 설명하기 위한 도면이다.
TU에 대한 파티션 정보를 이용한 변환 적용
본 발명이 적용되는 일실시예로, TU에 대한 QT 기술을 위한 분할 플래그(split flag)와는 별도로, TU에 대한 파티션(partition) 정보를 고려하여 변환 방법을 적용할 수 있다.
예를 들어, 도 11(a)에서와 같이 TU가 분할되어 있다고 가정하자. TU1의 경우 수평 방향으로 분할되어 있고, 이때 TU1의 파티션 정보에 따라 도 11(b) 또는 도 11(c)와 같이 변환 방법이 적용될 수 있다. 도 11(b)의 경우, TU1 내의 파티션 영역별로 비정방형 DCT(non-square DCT, NSDCT)를 적용할 수 있다. 또는, 도 11(c)의 경우와 같이, 파티션 정보에 기초하여 PGBT를 적용할 수도 있다.
다른 예로, TU 파티션에 대한 정보량을 줄이기 위해, TU 파티션 정보가 PU 파티션 정보와 일치하는지 또는 정렬(align)이 되는지 여부를 나타내는 플래그 정보를 전송할 수도 있다. 예를 들어, TU 파티션과 PU 파티션이 일치하는 경우에는, TU 파티션과 PU 파티션이 일치한다는 플래그 정보를 전송함으로써 TU 파티션 정보를 감소시킬 수 있다.
다른 예로, 도 10에서와 같이 사각형이 중간에 플로팅(floating)되어 있는 모양도 TU 파티션(굵은 점선)의 한 형태로 정의할 수 있다. 또한, 도 10의 TU1, TU2, TU3, TU4와 같이, 내부 파티션은 더 깊은 레벨로 분할될 수 있다.
도 12는 본 발명이 적용되는 일실시예로서, 그래프 신호의 에지 가중치에 기초하여 GBT를 적용하는 디코딩 과정의 흐름도이다.
본 발명은 그래프 신호의 에지 가중치에 기초하여 GBT를 적용하는 디코딩 실시예를 제공한다.
먼저, 디코더는, 코딩 유닛에 대응되는 그래프 내 에지 가중치를 수신할 수 있다(S1210). 여기서, 상기 에지 가중치는 픽셀 간 상관관계를 나타내는 값을 의미할 수 있다. 그리고, CU가 다양한 형태의 PU들로 분할되어 코딩된 경우, 상기 에지 가중치는 예측 유닛의 코딩 정보에 기초하여 결정된 것일 수 있다. 이때, 상기 코딩 정보는 PU 파티션 정보 또는 모션 정보 중 적어도 하나를 포함할 수 있다. 상기 에지 가중치는 상기 예측 유닛의 분할 경계에서 상대적으로 작은 값을 가질 수 있다.
상기 에지 가중치에 기초하여, 변환 유닛의 그래프 기반 변환 커널(graph-based transform kernel)을 획득할 수 있다(S1220).
상기 그래프 기반 변환 커널을 이용하여 상기 변환 유닛을 복원할 수 있다(S1230). 이때, 상기 코딩 유닛이 복수개의 변환 유닛으로 구성된 경우, 상기 분할 경계와 겹치는 제 1 변환 유닛과 상기 분할 경계와 겹치지 않는 제 2 변환 유닛은 서로 다른 변환 타입이 적용될 수 있다. 예를 들어, 상기 변환 타입으로는 GBT, SGBT, NSGBT, PGBT, PSGBT, PNSGBT, DCT, DST, 또는 KLT 중 적어도 하나를 포함할 수 있다.
도 13은 본 발명이 적용되는 일실시예로서, 주변 블록의 그래프 기반 변환 정보를 이용하여 현재 블록의 그래프 기반 변환 정보를 예측하는 방법을 설명하기 위한 도면이다.
주변 GBT 정보를 통한 현재 GBT의 예측
현재 TU에 적용할 GBT의 종류가 주변 TU에 대한 GBT의 종류와 유사한 경우, 현재 TU에 적용할 GBT를 코딩하기 위해 주변 TU의 GBT 정보를 이용할 수 있다. 예를 들어, 현재 TU의 GBT 종류를 나타내는 인덱스(index)를 코딩할 때 주변 TU의 GBT 종류를 가리키는 인덱스(index)를 예측 값으로 사용할 수 있다. 구체적 예로, 도 13에서 위아래로 인접한 TU 0와 TU 2의 경우 동일한 파티션 경계(partition boundary)를 공유하고 있기 때문에 동일한 GBT가 적용될 가능성이 크다. 가로 방향에 대해서는 동일한 1D GBT가 적용될 수 있다. 따라서, 현재 TU의 최적 GBT를 결정할 때 주변 TU의 GBT 정보를 활용하는 것이 가능하다.
본 발명이 적용되는 다른 실시예로, 분리 가능한 GBT(Separable GBT)의 경우, 좌측 TU로부터는 세로 방향의 (또는 가로 방향의) GBT를 예측자(predictor)로 이용할 수 있고, 상측 TU로부터는 가로 방향의 (또는 세로 방향의) GBT를 예측자(predictor)로 이용할 수 있다.
다른 실시예로, 주변 TU가 다른 PU에 속하는 경우 GBT 정보를 참조하지 않을 수 있다.
또한, 인트라 코딩의 경우, 현재 TU가 속한 PU와 주변 TU가 속한 PU가 유사 또는 동일한 방향의 앵귤러 예측 모드(angular prediction mode)인 경우에 한해 GBT 정보를 참조할 수도 있다.
도 14는 본 발명이 적용되는 일실시예로서, 코딩 유닛의 예측 유닛 파티션 정보에 기초하여 비정방형 그래프 기반 변환을 적용하는 방법을 설명하기 위한 도면이다.
비정방형(Non-square) GBT의 적용
본 발명이 적용되는 일실시예로, CU의 PU 파티션 정보에 기초하여 비정방형(non-square) GBT를 적용할 수 있다. 예를 들어, 도 14(a)에서와 같이 PU 파티션이 존재하는 경우, 각 PU 파티션에 대해 Nx2N SGBT(separable GBT) 또는 Nx2N NSGBT(non-separable GBT)를 적용할 수 있다.
다른 실시예로, TU가 분할(split)된 경우 PU 파티션 경계(partition boundary)를 포함하는 TU의 경우는 2개의 비정방(non-square) GBT를 적용하고, 그렇지 않는 경우에는 정방 GBT(square GBT) 또는 DCT를 적용할 수 있다. 예를 들어, 도 14(b)에서와 같이 PU0와 PU1 사이에 PU 파티션 경계가 존재하고, PU 파티션 경계를 포함하는 TU, 즉 TU0와 TU2의 경우, 비정방(non-square) GBT가 적용될 수 있다. 이때, TU0와 TU2 각각은, PU 파티션 경계를 기준으로 2개의 비정방(non-square) GBT가 적용될 수 있다. 그리고, PU 파티션 경계를 포함하지 않는 TU들, 즉 TU1과 TU3의 경우, 정방 GBT(square GBT) 또는 DCT가 적용될 수 있다.
도 15는 본 발명이 적용되는 일실시예로서, 2차원 그래프의 각 라인마다 서로 다른 분리가능한 변환(separable transform)을 적용하는 방법을 설명하기 위한 도면이다.
상기 도 15는 픽셀 블록에 대응되는 2차원 그래프를 나타내며, 그래프 꼭지점(vertex)은 픽셀 블록의 각 픽셀에 연관되며, 그래프 꼭지점의 값은 픽셀 값으로 표현될 수 있다. 여기서, 그래프 꼭지점을 연결하는 선은 그래프 에지(graph edge)를 의미한다. 앞서 살펴본 바와 같이, 상기 그래프 에지는 신호 내의 어떠한 형태의 통계적 의존성을 나타내기 위해 사용되며, 그 강도를 나타내는 값을 에지 가중치(edge weight)라 할 수 있다. 예를 들어, 도 15를 살펴보면, 2차원 그래프를 나타내며, aij (i=0,1,2,3,j=0,1,2), bkl (k=0,1,2,l=0,1,2,3)는 각 꼭지점 간의 에지 가중치를 나타낸다.
본 발명이 적용되는 일실시예로, 직각 방향으로 이웃한 픽셀들에 대해서만 그래프 에지를 연결하는 2D 그래프의 경우(이를 4-connected graph라 하기도 한다), 2D NSGBT(non-separable GBT)를 적용할 수도 있지만 열(row) 방향과 행(column) 방향에 각각 1D SGBT(separable GBT)를 적용할 수 있다.
예를 들어, 도 15의 2D 그래프의 각 꼭지점에 대해 최대 4개의 이웃한 꼭지점을 가지므로 4-연결 그래프(4-connected graph)라고 할 수 있으며, 여기서, 각 변의 에지 가중치(edge weight) (aij, bkl)를 이용하여 2D NSGBT(non-separable GBT) 커널(kernel)을 생성해서 적용할 수 있다.
구체적 예로, 열(row) 방향에 대해서는 각 열(row)에 대해 i번째 열의 에지 가중치 ai0, ai1, ai2로 이루어진 그래프에 대한 1D SGBT(separable GBT)를 적용하고 각 행(column)에 대해서는 j번째 행(column) b0j, b1j, b2j의 에지 가중치로 이루어진 그래프에 대한 1D SGBT(separable GBT)를 적용할 수 있다.
다른 실시예로, 임의의 4-연결 그래프(4-connected graph)의 경우 각 라인마다 (가로 방향과 세로 방향 모두에 대해) 서로 다른 1D SGBT(separable GBT)을 적용할 수 있다. 예를 들어, 도 15에서 각 열(row)과 행(column)에 대해 에지 가중치(edge weight)의 조합이 다른 경우, 각 조합에 대한 1D SGBT를 적용할 수 있다.
한편, NxN TU에 대한 한 GBT 템플릿 셋(template set)이 M 개의 4-연결 그래프(4-connected graph)들로 구성된 경우, 총 M 개의 N2xN2 변환 매트릭스들이 준비되어야 하므로 이들을 저장하기 위한 메모리 요구량이 커진다. 따라서, 하나의 4-연결 그래프(4-connected graph)를 적어도 하나의 1D 그래프 요소로 조합하여 구성할 수 있다면, 적어도 하나의 1D 그래프 요소에 대한 변환만이 필요하게 되므로 변환 매트릭스들을 저장하기 위한 메모리 양을 줄일 수 있다.
본 발명의 일실시예로, 제한된 개수의 1D 그래프 요소들로 다양한 4-연결 2D 그래프(4-connected 2D graph)들을 생성할 수 있고, 그럼으로써 각 모드 조합에 적합한 GBT 템플릿 셋(template set)을 커스터마이징할 수 있다. 총 GBT 템플릿 개수가 늘어난다 할지라도 기저를 이루는 1D 변환들의 수는 그대로일 것이므로 필요한 메모리 양을 최소화할 수 있다. 예를 들어, 도 15에서 제한된 개수의 (ai0, ai1, ai2)과 (b0j, b1j, b2j) 조합들을 준비한 후, 각 조합에 대한 1D 그래프들을 단위로 하여 이들을 적절히 연결하게 되면 하나의 4-연결 2D 그래프(4-connected 2D graph)를 생성할 수 있다.
예를 들어, 현재 코딩 블록에 대해서, 그래프 에지 정보, 파티션 정보, 픽셀 간 상관성(correlation) 정보 등을 비트스트림으로부터 전달받거나 주변 정보로부터 유도가 가능한 경우, 이 정보들을 이용하여 1D 변환들의 조합을 커스터마이징할 수 있다.
도 16은 본 발명이 적용되는 일실시예로서, 분리가능한 변환(separable transform)을 적용하기 위한 변환 기저가 될 수 있는 1차원 그래프들의 예를 나타낸다.
한 라인에 대해서 기저가 될 수 있는 1D 그래프들에 대한 실시예들로는 다음과 같이 설명될 수 있다.
첫번째 실시예로, 한 픽셀 쌍(pixel pair)에 대해서만 상관성(correlation)이 작아서 해당 에지(edge)의 가중치 값만 작게 설정하는 경우를 들 수 있다. 예를 들어, 블록 경계를 포함하는 픽셀 쌍(pixel pair)의 경우 상관성이 상대적으로 작으므로 블록 경계를 포함하는 그래프 에지에 대해 작은 에지 가중치를 설정할 수 있다.
두번째 실시예로, 양단에 자기 루프(self-loop)가 존재하거나, 존재하지 않는 경우, 또는 한 쪽만 자기 루프(self-loop)가 존재하는 경우를 들 수 있다. 예를 들어, 도 16(a)와 도 16(b)는 1D 그래프 양단의 한 쪽에만 자기 루프(self-loop)가 존재하는 경우를 나타내고, 도 16(c)는 1D 그래프 양단에 자기 루프(self-loop)가 존재하는 경우를 나타내며, 도 16(d)는 1D 그래프 양단에 자기 루프(self-loop)가 존재하지 않는 경우를 나타낸다. 여기서, 자기 루프(self-loop)란 인접 꼭지점(vertex)와의 의존성(dependency)을 나타내는 것으로, 예를 들어 자기 가중치를 의미할 수 있다. 즉, 자기 루프(self-loop)가 존재하는 부분에 가중치를 더 부여할 수 있다.
본 발명의 다른 실시예로, TU 사이즈에 따라 별도의 1D 분리 가능한 변환 셋(separable transform set)을 정의할 수 있다. 비분리 변환(Non-separable transform)의 경우 TU 사이즈가 커질수록 O(N4)으로 변환 계수 데이터가 늘어나지만, 분리 가능한 변환(separable transform)의 경우는 O(N2)으로 늘어가게 된다. 따라서, 기저를 이루는 여러 가지 1D 분리 가능한 변환(separable transform)들을 조합함으로써 다음과 같은 구성이 가능할 수 있다.
예를 들어, 1D 분리 가능한 변환(separable transform) 템플릿으로, 도 16(a)와 같이 왼쪽에 자기 루프(self-loop)가 존재하는 템플릿, 도 16(b)와 같이 오른쪽에 자기 루프(self-loop)가 존재하는 템플릿, 도 16(c)와 같이 양단에 자기 루프(self-loop)가 존재하는 템플릿, 및 도 16(d)와 같이 양쪽에 자기 루프(self-loop)가 모두 존재하지 않는 템플릿을 들 수 있다. 이들이 모두 이용가능한 경우, 열(row)과 행(column)에 대해 각기 상기 4가지 경우들이 가능하므로 총 16개의 조합에 대한 템플릿 인덱스(template index)를 정의할 수 있다.
다른 실시예로, TU 중간에 파티션 경계(partition boundary) 또는 오브젝트 경계(object boundary)가 존재하는 경우 템플릿 인덱스(template index)를 시그널링하되, 경계에 해당하는 에지에 대해서만 추가적으로 작은 가중치 값을 부여한 별도의 템플릿을 대신 적용할 수 있다.
도 17은 본 발명이 적용되는 일실시예로서, 블록 내 경계 정보에 기초하여 가중치 적용된 템플릿을 시그널링하는 방법을 설명하기 위한 도면이고, 도 18은 본 발명이 적용되는 일실시예로서, 블록 내 경계 정보에 기초하여 1차원의 분리가능한 변환(separable transform)을 적용하는 방법을 설명하기 위한 도면이다.
본 발명의 일실시예로, 경계 정보가 고려된 템플릿을 적용할 것이라는 정보를 플래그를 통해 별도로 시그널링할 수 있다. 예를 들어, 도 17에서와 같이 한 CU가 nRx2N 형태로 파티션된 경우, PU 파티션 경계가 실선과 같이 형성될 수 있다. 만약, 상기 CU가 4개의 TU들(TU0, TU1, TU2, TU3)로 구성되는 경우 TU1과 TU3은 PU 파티션 경계를 공유한다. 따라서, TU1과 TU3에 대해서는 도 18과 같이 중간에 작은 가중치 값을 가진 에지(점선으로 표시)로 표현된 1D 그래프로부터 획득된 1D SGBT(separable GBT)를 적용할 수 있다.
또한, 직사각형(rectangular) 모양의 TU에 대해서도 각 방향에 적합한 1D SGBT(separable GBT)를 적용하여 조합할 수 있고, 수평/수직 방향에 대해 각기 서로 다른 1D SGBT(separable GBT)를 적용할 수도 있다.
도 19 및 도 20은 본 발명이 적용되는 실시예들로, 그래프 기반 변환 템플릿을 나타내는 인덱스를 인코딩/디코딩하는 방법을 설명하기 위한 흐름도이다.
본 발명이 적용되는 일실시예로, 일정한 패턴에 대한 GBT를 GBT 템플릿으로 정의하고, TU마다 어떤 GBT 템플릿을 적용할지 결정할 수 있다.
만약 TU를 구성하는 잔여 데이터(residual data)가 몇 개의 패턴들로 대표될 수 있다고 하면, 먼저 해당 패턴들에 대한 GBT를 각기 획득할 수 있다. 그리고, TU마다 어떤 패턴의 GBT를 적용할지를 선택할 수 있다.
잔여 데이터(residual data)마다 해당 그래프와 연관된 정보를 모두 코딩해야 한다면 상당한 오버헤드가 발생할 것이다. 따라서, 상기와 같이 대표되는 패턴들을 정한 후 패턴을 가리키는 인덱스를 코딩함으로써 오버헤드를 대폭 감소시킬 수 있다.
본 명세서에서는 상기의 패턴을 GBT 템플릿이라고 하며, 본 발명의 실시예로 TU마다 적용할 GBT 템플릿을 지정해 주는 인덱스 정보를 시그널링할 수 있다. 이하의 실시예에서는 상기 인덱스 정보를 인코딩/디코딩하는 방법을 설명하고, 여러 가지 코딩 모드 정보를 활용하여 어떻게 줄일 수 있을 지와 코딩 모드 별로 적용되는 GBT 템플릿들의 종류와 개수를 조절하는 방법을 설명하도록 한다.
먼저, 인코더는 잔여 신호의 패턴(pattern)을 확인할 수 있다(S1910).
그리고, 상기 잔여 신호의 패턴에 대응되는 GBT 템플릿(graph-based transform template)을 결정할 수 있다(S1920). 이때, 인코더와 디코더는 이미 상기 GBT 템플릿에 대한 정보를 알고 있거나, 또는 코딩시에 결정할 수도 있다.
상기 결정된 그래프 기반 변환 템플릿을 나타내는 인덱스를 인코딩할 수 있다(S1930). 이는 도 1의 변환부(120) 또는 도 5의 그래프 기반 변환부(500)에 의해 수행될 수 있다.
한편, 디코더는 그래프 기반 변환 템플릿을 나타내는 인덱스 정보를 수신할 수 있다(S2010). 여기서, 상기 그래프 기반 변환 템플릿은 잔여 신호의 패턴에 대응될 수 있다.
그리고, 상기 디코더는 상기 인덱스 정보에 대응되는 그래프 기반 변환 커널을 획득할 수 있다(S2020).
상기 그래프 기반 변환 커널을 이용하여 변환 유닛을 복원할 수 있다(S2030). 이는 디코더 내 역변환부에 의해 수행될 수 있으며, 이를 통해 잔여 신호가 복원되고 예측된 신호와 더해져 비디오 신호를 복원하게 된다.
본 발명의 다른 일실시예로, GBT 템플릿 별로 코드워드(codeword)를 할당하여 부가 정보(side information)를 코딩하는 경우, GBT 템플릿의 출현 빈도에 따라 다른 길이의 코드워드(codeword)를 할당할 수 있다. 예를 들어, 출현 빈도가 높은 템플릿의 경우 짧은 길이의 코드워드(codeword)를 할당하고, 출현 빈도가 보다 낮은 템플릿의 경우는 보다 긴 코드워드(codeword)를 할당할 수 있다.
다른 실시예로, GBT 템플릿들의 출현 빈도는 코딩 모드에 따라 달라질 수 있다. 예를 들어, 인트라 예측(intra prediction)의 경우 YUV 성분, TU 크기, 앵귤러 예측 모드(angular prediction mode)에 따라 GBT 템플릿들의 출현 빈도가 달라질 수 있다. 인터 예측(inter prediction)의 경우 YUV 성분, TU 크기, PU 파티션 경계가 TU 내부에 걸쳐있는지 여부, 모션 벡터의 소수(fractional) 부분에 대한 값 등에 따라 GBT 템플릿들의 출현 빈도가 달라질 수 있다. 따라서 본 발명에서는 코딩 모드 별로 GBT 템플릿들에 대한 코드워드를 다르게 할당하는 방법을 제안한다.
첫번째 실시예로, 첫 번째 비트는 0번째 GBT 템플릿을 가리키는 플래그로 할당하고 뒤따르는 비트들로 나머지 GBT 템플릿들을 구분할 수 있다. 예를 들어 전체 GBT 템플릿 개수가 9개일 때 0번째 GBT 템플릿은 코드워드로서 0을 할당하고(플래그 역할), 나머지 1~8번째 GBT 템플릿은 3비트 고정 길이 코드워드를 덧붙여 1000~1111까지 할당할 수 있다.
다른 예로, 변형된 형태로서 코딩 모드에 따라 인덱스 0에 (1비트 플래그만 할당) 대응되는 GBT 템플릿을 다르게 설정할 수 있다. 예를 들어 YUV 성분, TU 크기, 인트라 예측 모드 등에 대한 조합 별로 0번째 GBT 템플릿을 다르게 설정할 수 있다. 그리고, 각 모드 조합 별로 가장 높은 빈도로 적용되는 GBT 템플릿을 0번째에 배치할 수 있다.
두번째 실시예로, 비슷하게 큰 확률을 보이는 복수개의 GBT 템플릿들이 존재하는 경우, 첫번째 실시예에서처럼 1비트 플래그를 두는 대신 2개 이상의 비트들을 이용하여 상기 복수개의 GBT 템플릿들을 구분하고, 뒤이은 비트들로 나머지 GBT 템플릿들을 구분할 수 있다.
다른 예로, 모든 GBT 템플릿들이 비슷한 확률을 가지는 그룹들로 나뉘는 경우, 확률에 따라 각 그룹에 대해 다른 길이의 코드워드를 부여할 수 있다. 모드 조합 별로 확률 분포가 다른 경우, 모드 조합 별로 코드워드마다 다른 GBT 템플릿을 매칭시킬 수 있다. 예를 들어, GBT 템플릿 인덱스(GBT template index)의 증가 순서에 따른 코드워드 할당 예시는 다음 표 1 내지 2와 같다.
템플릿 인덱스(template index) 코드워드(codeword)
0 0
1 10
2 110
3 1110
4 1111
템플릿 인덱스(template index) 코드워드(codeword)
0 00
1 01
2 10
3 110
4 1110
5 1111
본 발명의 다른 실시예로, 모드 조합마다 다른 코드워드 셋(codeword set)을 할당할 수 있다. 또한, 모드 조합마다 코드워드 셋(codeword set)의 크기를 다르게 설정할 수 있다. 이는 모드 조합마다 GBT 템플릿들의 확률 분포가 다르고, 특정 GBT 템플릿들에 대해서는 발생 빈도가 매우 적어 GBT 템플릿 리스트에서 제외하여도 크게 문제가 없기 때문이다.
본 발명의 다른 실시예로, 모드 조합에 따라 다른 종류의 GBT 템플릿 셋이 정의될 수 있다. 예를 들어, 모드 조합 1에 대해서는 GBT 템플릿 A,B,C,D 중에서 선택할 수 있게 하고, 모드 조합 2에 대해서는 GBT 템플릿 B,C,E,F,G 중에서 선택하도록 할 수 있다.
본 발명의 다른 실시예로, 색차 성분 Cb와 Cr의 경우 각 처리 유닛(예를 들어, TU)에 대해 동일한 GBT 템플릿을 사용하도록 함으로써 색차 성분에 대한 GBT 템플릿 인덱스의 시그널링을 절반으로 줄일 수 있다. 또는, GBT 템플릿 인덱스를 시그널링하는 처리 유닛의 크기를 TU보다 큰 단위(예를 들어, CU)로 확장함으로써 부가 정보(side information)의 크기를 줄일 수 있다.
본 발명의 다른 실시예로, 수평 방향과 수직 방향에 별도의 1D SGBT(separable GBT)가 적용되도록 구성할 수 있다. 이때, 수평 방향과 수직 방향에 대한 GBT 템플릿 인덱스를 별개로 코딩할 수 있다. 모드 조합 별로 수평 방향에 대한 GBT 템플릿들의 분포와 수직 방향에 대한 GBT 템플릿들의 분포가 다르기 때문에, 방향에 따라 해당 GBT 템플릿들에 대해 서로 다른 코드워드 셋(codeword set)을 적용할 수 있다. 또한, 모드 조합 별로 수평 방향과 수직 방향에 대해 각기 다른 GBT 템플릿 셋을 적용할 수 있으며, 해당 GBT 템플릿 셋을 구성하는 GBT 템플릿들의 개수도 다르게 구성할 수 있다.
수평(또는 수직) 방향에 대한 변환이 어떤 방식인지에 따라 수직(또는 수평) 방향에 대한 변환의 사용 빈도 분포가 달라질 수 있다. 따라서, 한쪽 방향에 대한 GBT 템플릿이 무엇인가에 따라, 다른 방향의 GBT에 대해 템플릿 셋 구성이나 코드워드 할당 방식 등을 별도로 설정할 수 있다.
본 발명의 다른 실시예로, 주변 블록에 대한 GBT 템플릿 인덱스와 현재 블록에 대한 GBT 템플릿 인덱스의 유사성에 기초하여 모드 부호화를 수행할 수 있다. 예를 들어, 주변 블록에 대한 GBT 템플릿 인덱스와 현재 블록에 대한 GBT 템플릿 인덱스가 유사한 경우 주변 블록에 대한 GBT 템플릿 인덱스를 MPM(Most Probable Mode)으로 결정할 수 있다.
구체적 예로, 0번 GBT 템플릿 인덱스에 대한 플래그가 0이면 0번 GBT 템플릿 선택할 수 있고, 0번 GBT 템플릿 인덱스에 대한 플래그가 1이면 MPM 플래그(mpm_flag)를 전송할 수 있다. 이 경우, MPM 플래그(mpm_flag)가 1이면 주변 블록의 GBT 템플릿들 중 하나를 선택할 수 있고, MPM 플래그(mpm_flag)가 0이면 GBT 템플릿 인덱스를 직접 전송할 수 있다. 이때, 상기 GBT 템플릿 인덱스는 고정 길이 비트 열로 표현될 수 있다.
상기 기술된 것과 같이, 본 발명에서 설명한 실시예들은 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다. 예를 들어, 상기 도 1 및 도 2에서 도시한 기능 유닛들은 컴퓨터, 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다.
또한, 본 발명이 적용되는 디코더 및 인코더는 멀티미디어 방송 송수신 장치, 모바일 통신 단말, 홈 시네마 비디오 장치, 디지털 시네마 비디오 장치, 감시용 카메라, 비디오 대화 장치, 비디오 통신과 같은 실시간 통신 장치, 모바일 스트리밍 장치, 저장 매체, 캠코더, 주문형 비디오(VoD) 서비스 제공 장치, 인터넷 스트리밍 서비스 제공 장치, 3차원(3D) 비디오 장치, 화상 전화 비디오 장치, 및 의료용 비디오 장치 등에 포함될 수 있으며, 비디오 신호 및 데이터 신호를 처리하기 위해 사용될 수 있다.
또한, 본 발명이 적용되는 처리 방법은 컴퓨터로 실행되는 프로그램의 형태로 생산될 수 있으며, 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 본 발명에 따른 데이터 구조를 가지는 멀티미디어 데이터도 또한 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 상기 컴퓨터가 판독할 수 있는 기록 매체는 컴퓨터로 읽을 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함한다. 상기 컴퓨터가 판독할 수 있는 기록 매체는, 예를 들어, 블루레이 디스크(BD), 범용 직렬 버스(USB), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크 및 광학적 데이터 저장 장치를 포함할 수 있다. 또한, 상기 컴퓨터가 판독할 수 있는 기록 매체는 반송파(예를 들어, 인터넷을 통한 전송)의 형태로 구현된 미디어를 포함한다. 또한, 인코딩 방법으로 생성된 비트 스트림이 컴퓨터가 판독할 수 있는 기록 매체에 저장되거나 유무선 통신 네트워크를 통해 전송될 수 있다.
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 다양한 다른 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.

Claims (15)

  1. 그래프 기반 변환을 이용하여 비디오 신호를 디코딩하는 방법에 있어서,
    상기 비디오 신호로부터 현재 코딩 유닛의 예측 유닛 파티션 정보를 추출하는 단계;
    상기 예측 유닛 파티션 정보에 기초하여 기설정된 테이블 정보로부터 그래프 기반 변환 커널(graph-based transform kernel)을 획득하는 단계; 및
    상기 그래프 기반 변환 커널을 이용하여 변환 유닛에 대해 역변환을 수행하는 단계
    를 포함하되,
    상기 그래프 기반 변환 커널은 상기 예측 유닛 파티션 정보 또는 에지 가중치 중 적어도 하나에 대응되고, 상기 에지 가중치는 픽셀 간 상관 관계를 나타내는 기설정된 값인 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 에지 가중치는 예측 유닛의 분할 경계에서 상대적으로 작은 값을 갖는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 현재 코딩 유닛이 복수개의 변환 유닛으로 구성된 경우, 상기 분할 경계와 겹치는 제 1 변환 유닛과 상기 분할 경계와 겹치지 않는 제 2 변환 유닛은 서로 다른 변환 타입이 적용되는 것을 특징으로 하는 방법.
  4. 그래프 기반 변환을 이용하여 비디오 신호를 인코딩하는 방법에 있어서,
    코딩 유닛에 대응되는 그래프 내 에지 가중치를 산출하는 단계, 여기서 상기 에지 가중치는 픽셀 간 상관관계를 나타내는 값임;
    예측 유닛의 코딩 정보에 기초하여, 변환 유닛의 행과 열에 대해 별개의 그래프 기반 변환 커널(graph-based transform kernel)을 생성하는 단계; 및
    상기 그래프 기반 변환 커널을 이용하여, 상기 변환 유닛에 대해 변환을 수행하는 단계
    를 포함하되,
    상기 그래프 기반 변환 커널은 상기 에지 가중치에 기초하여 생성되며, 상기 에지 가중치는 분할 경계에서 상대적으로 작은 값을 갖는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 코딩 유닛이 복수개의 변환 유닛으로 구성되는 경우, 상기 분할 경계와 겹치는 제 1 변환 유닛과 상기 분할 경계와 겹치지 않는 제 2 변환 유닛은 서로 다른 변환 타입이 적용되는 것을 특징으로 하는 방법.
  6. 제5항에 있어서,
    상기 제 1 변환 유닛은 상기 그래프 기반 변환 커널이 적용되고, 상기 제 2 변환 유닛은 상기 그래프 기반 변환 커널이 아닌 다른 변환 커널이 적용되는 것을 특징으로 하는 방법.
  7. 제4항에 있어서,
    상기 예측 유닛의 코딩 정보는 파티션 정보 또는 모션 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  8. 제7항에 있어서,
    상기 코딩 유닛이 복수개의 예측 유닛들로 구성되는 경우, 상기 복수개의 예측 유닛들의 모션 정보들 간의 차이값이 기설정된 임계값보다 크면 중 상기 그래프 기반 변환 커널이 적용되는 것을 특징으로 하는 방법.
  9. 그래프 기반 변환을 이용하여 비디오 신호를 디코딩하는 장치에 있어서,
    상기 비디오 신호로부터 현재 코딩 유닛의 예측 유닛 파티션 정보를 추출하는 비트스트림 추출부; 및
    상기 예측 유닛 파티션 정보에 기초하여 기설정된 테이블 정보로부터 그래프 기반 변환 커널(graph-based transform kernel)을 획득하고, 상기 그래프 기반 변환 커널을 이용하여 변환 유닛에 대해 역변환을 수행하는 역변환부
    를 포함하되,
    상기 그래프 기반 변환 커널은 상기 예측 유닛 파티션 정보 또는 에지 가중치 중 적어도 하나에 대응되고, 상기 에지 가중치는 픽셀 간 상관 관계를 나타내는 기설정된 값인 것을 특징으로 하는 장치.
  10. 제9항에 있어서,
    상기 에지 가중치는 예측 유닛의 분할 경계에서 상대적으로 작은 값을 갖는 것을 특징으로 하는 장치.
  11. 제10항에 있어서,
    상기 현재 코딩 유닛이 복수개의 변환 유닛으로 구성된 경우, 상기 분할 경계와 겹치는 제 1 변환 유닛과 상기 분할 경계와 겹치지 않는 제 2 변환 유닛은 서로 다른 변환 타입이 적용되는 것을 특징으로 하는 장치.
  12. 그래프 기반 변환을 이용하여 비디오 신호를 인코딩하는 장치에 있어서,
    코딩 유닛에 대응되는 그래프 내 에지 가중치를 산출하되, 상기 에지 가중치는 픽셀 간 상관관계를 나타내는 값이고, 예측 유닛의 코딩 정보에 기초하여 변환 유닛의 행과 열에 대해 별개의 그래프 기반 변환 커널(graph-based transform kernel)을 생성하고, 상기 그래프 기반 변환 커널을 이용하여 상기 변환 유닛에 대해 변환을 수행하는 그래프 기반 변환부
    를 포함하되,
    상기 그래프 기반 변환 커널은 상기 에지 가중치에 기초하여 생성되며, 상기 에지 가중치는 분할 경계에서 상대적으로 작은 값을 갖는 것을 특징으로 하는 장치.
  13. 제12항에 있어서,
    상기 코딩 유닛이 복수개의 변환 유닛으로 구성되는 경우, 상기 분할 경계와 겹치는 제 1 변환 유닛과 상기 분할 경계와 겹치지 않는 제 2 변환 유닛은 서로 다른 변환 타입이 적용되는 것을 특징으로 하는 장치.
  14. 제13항에 있어서,
    상기 제 1 변환 유닛은 상기 그래프 기반 변환 커널이 적용되고, 상기 제 2 변환 유닛은 상기 그래프 기반 변환 커널이 아닌 다른 변환 커널이 적용되는 것을 특징으로 하는 장치.
  15. 제12항에 있어서,
    상기 예측 유닛의 코딩 정보는 파티션 정보 또는 모션 정보 중 적어도 하나를 포함하고,
    상기 코딩 유닛이 복수개의 예측 유닛들로 구성되는 경우, 상기 복수개의 예측 유닛들의 모션 정보들 간의 차이값이 기설정된 임계값보다 크면 중 상기 그래프 기반 변환 커널이 적용되는 것을 특징으로 하는 장치.
KR1020177022570A 2015-02-12 2016-02-04 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치 KR20170116043A (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201562115587P 2015-02-12 2015-02-12
US62/115,587 2015-02-12
US201562138397P 2015-03-26 2015-03-26
US62/138,397 2015-03-26
US201562139774P 2015-03-29 2015-03-29
US62/139,774 2015-03-29
PCT/KR2016/001252 WO2016129872A1 (ko) 2015-02-12 2016-02-04 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20170116043A true KR20170116043A (ko) 2017-10-18

Family

ID=56614859

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177022570A KR20170116043A (ko) 2015-02-12 2016-02-04 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치

Country Status (4)

Country Link
US (1) US10742988B2 (ko)
KR (1) KR20170116043A (ko)
CN (1) CN107431813B (ko)
WO (1) WO2016129872A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019117639A1 (ko) * 2017-12-15 2019-06-20 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
WO2019117636A1 (ko) * 2017-12-15 2019-06-20 엘지전자 주식회사 비분리 2차 변환에 기반한 영상 코딩 방법 및 그 장치

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6392453B2 (ja) * 2014-09-26 2018-09-19 エルジー エレクトロニクス インコーポレイティド 幾何要素を用いてグラフに基づく信号を処理する方法及び装置
WO2016178485A1 (ko) * 2015-05-05 2016-11-10 엘지전자 주식회사 영상 코딩 시스템에서 코딩 유닛 처리 방법 및 장치
ITUB20153724A1 (it) * 2015-09-18 2017-03-18 Sisvel Tech S R L Metodi e apparati per codificare e decodificare immagini o flussi video digitali
IT201600122898A1 (it) * 2016-12-02 2018-06-02 Ecole Polytechnique Fed Lausanne Epfl Metodi e apparati per codificare e decodificare immagini o flussi video digitali
EP3407607A1 (en) * 2017-05-24 2018-11-28 Thomson Licensing Method and device for encoding and reconstructing a point cloud
US11134272B2 (en) * 2017-06-29 2021-09-28 Qualcomm Incorporated Memory reduction for non-separable transforms
CN114449270B (zh) * 2017-07-04 2023-09-26 三星电子株式会社 使用多核变换的视频解码/编码方法和设备
US10484695B2 (en) * 2017-10-23 2019-11-19 Google Llc Refined entropy coding for level maps
CN111316649A (zh) * 2017-11-01 2020-06-19 Vid拓展公司 重叠块运动补偿
CN114885163B (zh) * 2018-09-02 2024-04-23 Lg电子株式会社 用于对图像信号编码和解码的方法及计算机可读记录介质
JP2021509789A (ja) * 2018-09-02 2021-04-01 エルジー エレクトロニクス インコーポレイティド ビデオ信号の符号化/復号方法及びそのための装置
CN113170147B (zh) * 2018-12-04 2023-04-18 华为技术有限公司 视频编码器、视频解码器、及对应方法
CN111669582B (zh) * 2019-03-09 2022-05-20 杭州海康威视数字技术股份有限公司 进行编码和解码的方法、编码端、解码端和系统
US11785254B2 (en) * 2020-05-29 2023-10-10 Tencent America LLC Implicit mode dependent primary transforms

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100579890B1 (ko) * 2004-12-30 2006-05-15 삼성전자주식회사 움직임 적응적 영상처리 장치 및 그 방법
US7889924B2 (en) * 2006-04-10 2011-02-15 Siemens Medical Solutions Usa, Inc. Globally optimal uninitialized graph-based rectilinear shape segmentation
JP5045320B2 (ja) * 2007-09-05 2012-10-10 ソニー株式会社 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム
JP4945533B2 (ja) * 2008-09-09 2012-06-06 株式会社東芝 画像処理装置及び画像処理方法
CN104601996B (zh) * 2009-10-20 2018-04-10 夏普株式会社 运动图像编码装置、运动图像解码装置、运动图像编码方法及运动图像解码方法
KR101598857B1 (ko) 2010-02-12 2016-03-02 삼성전자주식회사 그래프 기반 화소 예측을 이용한 영상 부호화/복호화 시스템 및 방법 그리고 깊이 맵 부호화 시스템 및 방법
EP2360927A3 (en) * 2010-02-12 2011-09-28 Samsung Electronics Co., Ltd. Image encoding/decoding system using graph based pixel prediction and encoding system and method
KR20110134578A (ko) * 2010-06-09 2011-12-15 주육환 시공시에 문틀의 수평을 조절하는 장치
KR20110135787A (ko) * 2010-06-11 2011-12-19 삼성전자주식회사 엣지-적응 변환을 이용한 영상 부호화/복호화 시스템 및 방법
KR20130050901A (ko) * 2011-11-08 2013-05-16 경희대학교 산학협력단 디블록킹 필터링의 경계 필터링 강도 결정 방법 및 장치
JP5000781B1 (ja) * 2011-11-09 2012-08-15 楽天株式会社 画像処理装置、画像処理装置の制御方法、プログラム、及び情報記憶媒体
JP6188005B2 (ja) 2012-06-21 2017-08-30 大学共同利用機関法人情報・システム研究機構 濃淡画像符号化装置及び復号装置
CN103501441B (zh) 2013-09-11 2016-08-17 北京交通大学长三角研究院 一种基于人类视觉系统的多描述视频编码方法
US9565451B1 (en) * 2014-10-31 2017-02-07 Google Inc. Prediction dependent transform coding

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019117639A1 (ko) * 2017-12-15 2019-06-20 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
WO2019117636A1 (ko) * 2017-12-15 2019-06-20 엘지전자 주식회사 비분리 2차 변환에 기반한 영상 코딩 방법 및 그 장치
RU2748907C1 (ru) * 2017-12-15 2021-06-01 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ кодирования изображения на основе неразделимого вторичного преобразования и устройство для него
US11039140B2 (en) 2017-12-15 2021-06-15 Lg Electronics Inc. Image coding method on basis of non-separable secondary transform and device therefor
RU2760566C2 (ru) * 2017-12-15 2021-11-29 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ кодирования изображения на основе неразделимого вторичного преобразования и устройство для него
US11218731B2 (en) 2017-12-15 2022-01-04 Lg Electronics Inc. Image coding method on basis of transformation and device therefor
US11601679B2 (en) 2017-12-15 2023-03-07 Lg Electronics Inc. Image coding method on basis of transformation and device therefor
US11627320B2 (en) 2017-12-15 2023-04-11 Lg Electronics Inc. Image coding method on basis of non-separable secondary transform and device therefor
US11818350B2 (en) 2017-12-15 2023-11-14 Lg Electronics Inc. Image coding method on basis of non-separable secondary transform and device therefor
US11895334B2 (en) 2017-12-15 2024-02-06 Lg Electronics Inc. Image coding method on basis of transformation and device therefor

Also Published As

Publication number Publication date
CN107431813A (zh) 2017-12-01
WO2016129872A1 (ko) 2016-08-18
CN107431813B (zh) 2020-04-10
US20180041760A1 (en) 2018-02-08
US10742988B2 (en) 2020-08-11

Similar Documents

Publication Publication Date Title
KR20170116043A (ko) 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
CN110249627B (zh) 视频编解码的方法、装置及非暂时性计算机可读介质
KR102467487B1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
US10880546B2 (en) Method and apparatus for deriving intra prediction mode for chroma component
KR20190090866A (ko) 이차 변환을 이용한 비디오 신호의 인코딩/디코딩 방법 및 장치
KR20190125482A (ko) 영상 코딩 시스템에서 변환 방법 및 그 장치
US20180213224A1 (en) Intra prediction method and device in video coding system
US10567763B2 (en) Method and device for processing a video signal by using an adaptive separable graph-based transform
KR20180064414A (ko) 비디오 신호의 인코딩, 디코딩 방법 및 장치
US10694187B2 (en) Method and device for deriving block structure in video coding system
KR101912769B1 (ko) 그래프 템플릿으로부터 유도된 변환을 이용하여 비디오 신호를 디코딩/인코딩하는 방법 및 장치
KR102287302B1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
KR102470695B1 (ko) 인트라 예측 기반 영상 코딩에서의 변환
KR20190096432A (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
KR20180021101A (ko) 분리 가능한 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
EP3261349A1 (en) Method and device for encoding/decoding video signal by using adaptive scan order
KR102605285B1 (ko) 다중 그래프 기반 모델에 따라 최적화된 변환을 이용하여 비디오 신호를 인코딩/디코딩하는 방법 및 장치
CN110603810B (zh) 图像编译系统中根据块分离结构的图像解码方法和设备
US10893274B2 (en) Method for processing video signal on basis of arbitrary partition transform
US10785499B2 (en) Method and apparatus for processing video signal on basis of combination of pixel recursive coding and transform coding
US10382792B2 (en) Method and apparatus for encoding and decoding video signal by means of transform-domain prediction
KR20200004749A (ko) 잔차신호 재배열 방법 및 영상 복호화 장치