KR102123628B1 - 그래프 기반 변환(graph based transform)을 이용한 비디오 신호 처리 방법 및 이를 위한 장치 - Google Patents

그래프 기반 변환(graph based transform)을 이용한 비디오 신호 처리 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR102123628B1
KR102123628B1 KR1020177012525A KR20177012525A KR102123628B1 KR 102123628 B1 KR102123628 B1 KR 102123628B1 KR 1020177012525 A KR1020177012525 A KR 1020177012525A KR 20177012525 A KR20177012525 A KR 20177012525A KR 102123628 B1 KR102123628 B1 KR 102123628B1
Authority
KR
South Korea
Prior art keywords
graph
signal
processing block
sample
samples
Prior art date
Application number
KR1020177012525A
Other languages
English (en)
Other versions
KR20170072243A (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 KR20170072243A publication Critical patent/KR20170072243A/ko
Application granted granted Critical
Publication of KR102123628B1 publication Critical patent/KR102123628B1/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/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/162Segmentation; Edge detection involving graph-based methods
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/254Analysis of motion involving subtraction of images

Abstract

본 발명에서는 그래프 기반 변환(graph based transform)을 이용한 비디오 신호 처리 방법 및 이를 위한 장치가 개시된다. 구체적으로, 그래프 기반 변환(graph based transform)을 이용하여 비디오 신호를 처리하는 방법에 있어서, 상기 비디오 신호의 처리를 위해 이용 가능한 그래프 구성의 세트를 특정하는 단계, 상기 영상의 처리 블록 내 샘플로부터 신호 구조 정보를 도출하는 단계, 상기 신호 구조 정보를 이용하여 상기 처리 블록 내 샘플들에 대한 그래프를 구성하는 단계, 상기 그래프를 이용하여 상기 처리 블록을 위한 변환(transform)을 결정하는 단계 및 상기 변환(transform)을 이용하여 처리 블록 내 샘플들을 변환하는 단계를 포함하고, 상기 신호 구조 정보는 상기 특정된 그래프 구성의 세트 중에서 상기 처리 블록 내 각 샘플에 적용되는 그래프 구성에 대한 정보로 정의될 수 있다.

Description

그래프 기반 변환(GRAPH BASED TRANSFORM)을 이용한 비디오 신호 처리 방법 및 이를 위한 장치
본 발명은 정지 영상 또는 동영상 신호를 처리하는 방법에 관한 것으로서, 보다 상세하게 그래프 기반 변환(graph based transform)을 이용하여 정지 영상 또는 동영상 신호를 처리하는 방법 및 이를 지원하는 장치에 관한 것이다.
압축 부호화란 디지털화한 정보를 통신 회선을 통해 전송하거나, 저장 매체에 적합한 형태로 저장하기 위한 일련의 신호 처리 기술을 의미한다. 영상, 이미지, 음성 등의 미디어가 압축 부호화의 대상이 될 수 있으며, 특히 영상을 대상으로 압축 부호화를 수행하는 기술을 비디오 영상 압축이라고 일컫는다.
차세대 비디오 컨텐츠는 고해상도(high spatial resolution), 고프레임율(high frame rate) 및 영상 표현의 고차원화(high dimensionality of scene representation)라는 특징을 갖게 될 것이다. 그러한 컨텐츠를 처리하기 위해서는 메모리 저장(memory storage), 메모리 액세스율(memory access rate) 및 처리 전력(processing power) 측면에서 엄청난 증가를 가져올 것이다.
따라서, 차세대 비디오 컨텐츠를 보다 효율적으로 처리하기 위한 코딩 툴을 디자인할 필요가 있다.
본 발명은 이미지 및/또는 비디오 신호의 특정 클래스를 위한 간단한 신호 구조 설명(compact structure descripition)을 구성하는 방법 및 그러한 신호를 위한 최적의 그래프 기반 변환을 도출하는 방법을 제안한다.
또한, 본 발명에서는 신호 구조 설명을 이용하여 그래프 기반 변환을 도출하는 방법을 제안한다.
또한, 본 발명에서는 도출된 그래프 기반 변환을 이용하여 이미지 및/또는 비디오 신호를 처리하는 방법을 제안한다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 양상은, 그래프 기반 변환(graph based transform)을 이용하여 비디오 신호를 처리하는 방법에 있어서, 상기 비디오 신호의 처리를 위해 이용 가능한 그래프 구성의 세트를 특정하는 단계, 상기 영상의 처리 블록 내 샘플로부터 신호 구조 정보를 추출하는 단계, 상기 신호 구조 정보를 이용하여 상기 처리 블록 내 샘플들에 대한 그래프를 구성하는 단계, 상기 그래프를 이용하여 상기 처리 블록을 위한 변환(transform)을 결정하는 단계 및 상기 변환(transform)을 이용하여 처리 블록 내 샘플들을 변환하는 단계를 포함하고, 상기 신호 구조 정보는 상기 특정된 그래프 구성의 세트 중에서 상기 처리 블록 내 각 샘플에 적용되는 그래프 구성에 대한 정보로 정의될 수 있다.
본 발명의 다른 일 양상은, 그래프 기반 변환(graph based transform)을 이용하여 비디오 신호를 처리하는 방법에 있어서, 상기 비디오 신호의 처리를 위해 이용 가능한 그래프 구성의 세트를 특정하는 단계, 상기 비디오 신호의 비트 스트림으로부터 신호 구조 정보를 결정하는 단계, 상기 신호 구조 정보를 이용하여 상기 비디오 신호의 상기 처리 블록 내 샘플들에 대한 그래프를 구성하는 단계, 상기 그래프를 이용하여 상기 처리 블록을 위한 변환(transform)을 결정하는 단계 및 상기 비트 스트림으로부터 결정된 변환 계수를 역변환하는 단계를 포함하고, 상기 신호 구조 정보는 상기 특정된 그래프 구성의 세트 중에서 상기 처리 블록 내 각 샘플에 적용되는 그래프 구성에 대한 정보로 정의될 수 있다.
바람직하게, 상기 그래프 구성은 샘플이 상기 처리 블록 내 검출된 객체(object)에 속하는지 여부 또는 샘플이 상기 객체의 경계에 위치하는지 여부에 따라 결정될 수 있다.
바람직하게, 상기 처리 블록의 경계에 위치하는 샘플은 다른 샘플들 보다 적은 수의 에지를 가지도록 상기 그래프 구성이 결정될 수 있다.
바람직하게, 상기 처리 블록의 수직적 경계에 위치하는 샘플은 상기 처리 블록의 반대편의 다른 수직적 경계에 위치하는 샘플과 순환적 에지(circular edge)를 가지도록 상기 그래프 구성이 결정될 수 있다.
바람직하게, 상기 객체(object)와 인접한 샘플은 상기 객체(object)의 다른편에 인접한 샘플과의 에지를 가지지 않도록 상기 그래프 구성이 결정될 수 있다.
바람직하게, 상기 객체(object)와 인접한 샘플은 상기 객체(object)의 다른편에 인접한 샘플과의 에지를 가지도록 상기 그래프 구성이 결정될 수 있다.
바람직하게, 상기 그래프 구성은 상기 처리 블록 내 샘플과 노드와의 연관(association) 정보, 상기 노드에서 이용 가능한 에지의 개수 정보, 상기 노드에서 이용 가능한 모든 에지에 대한 가중치를 포함할 수 있다.
바람직하게, 상기 처리 블록 내 샘플들은 상기 신호 구조 정보에 기초하여 복수의 신호 클래스로 구분되고, 상기 복수의 신호 클래스 별로 독립적으로 상기 그래프의 차수 행렬(degree matrix)에 오프셋 값이 적용될 수 있다.
본 발명에 따르면, 이미지/비디오 신호의 처리 및 인코딩/디코딩을 위한 그래프 기반 변환(graph based transform)의 활용성을 향상 시킬 수 있다.
또한, 본 발명에 따르면, 그래프 기반 변환(graph based transform)을 도출하기 위하여 요구되는 신호 구조 설명(signal structure description)의 시그널링과 관련된 복잡도 뿐만 아니라 비트 오버헤드를 감소시킬 수 있다.
또한, 본 발명에 따르면 그래프 기반 변환 또는 접근 방법을 이용하는 코딩 시스템의 압축 효율을 향상시킬 수 있다.
또한, 본 발명에 따르면 그래프 기반 변환 또는 접근 방법을 이용하는 시스템을 향상시키며, 필터링, 잡음제거(denoising) 등과 같은 처리 효율을 향상시킬 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 특징을 설명한다.
도 1은 본 발명이 적용되는 실시예로서, 비디오 신호의 인코딩이 수행되는 인코더의 개략적인 블록도를 나타낸다.
도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더의 개략적인 블록도를 나타낸다.
도 3 내지 도 5는 그래프 기반 비디오 신호 처리 방법을 설명하기 위한 도면이다.
도 4는 그래프 기반 신호 처리 방법을 설명하기 위한 도면이다.
도 6은 2차원 비디오 신호에 대한 그래프 및 이에 따른 차수 행렬 D 및 인접 행렬 A를 예시하는 도면이다.
도 7은 본 발명의 일 실시예에 따른 비디오 신호의 변화에 따라 비디오 신호의 클래스를 분류하는 방법을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 그래프 구조 및 그래프 파라미터 구성을 예시한다.
도 9는 본 발명의 일 실시예에 따른 비디오 신호 처리를 위한 그래프 구성을 정의하는 방법을 예시한다.
도 10 및 도 11은 본 발명의 일 실시예에 따른 비디오 신호의 블록을 위한 그래프 구성을 예시한다.
도 12는 본 발명의 일 실시예에 따른 비디오 신호의 변화 패턴에 따라 변환을 도출하는 방법을 설명하기 위한 도면이다.
도 13 및 도 14는 본 발명의 일 실시예에 따른 그래프 기반 변환(graph based transform)을 이용한 비디오 신호 처리 방법을 예시하는 도면이다.
도 15는 본 발명의 일 실시예에 따른 그래프 기반 변환(graph based transform)을 수행하는 변환부를 보다 구체적으로 예시하는 도면이다.
도 16은 본 발명의 일 실시예에 따른 그래프 기반 변환(graph based transform)을 이용한 비디오 신호 처리 방법을 예시하는 도면이다.
도 17은 본 발명의 일 실시예에 따른 그래프 기반 변환(graph based transform)을 수행하는 역변환부를 보다 구체적으로 예시하는 도면이다.
이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 발명의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나, 당업자는 본 발명이 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다.
몇몇 경우, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시될 수 있다.
아울러, 본 발명에서 사용되는 용어는 가능한 한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어를 사용하여 설명한다. 그러한 경우에는 해당 부분의 상세 설명에서 그 의미를 명확히 기재하므로, 본 발명의 설명에서 사용된 용어의 명칭만으로 단순 해석되어서는 안 될 것이며 그 해당 용어의 의미까지 파악하여 해석되어야 함을 밝혀두고자 한다.
이하의 설명에서 사용되는 특정 용어들은 본 발명의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 발명의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다. 예를 들어, 신호, 데이터, 샘플, 픽쳐, 프레임, 블록 등의 경우 각 코딩 과정에서 적절하게 대체되어 해석될 수 있을 것이다.
이하 본 명세서에서 '처리 유닛'은 예측, 변환 및/또는 양자화 등과 같은 인코딩/디코딩의 처리 과정이 수행되는 단위를 의미한다. 이하, 설명의 편의를 위해 처리 유닛은 '처리 블록' 또는 '블록'으로 지칭될 수도 있다.
처리 유닛은 휘도(luma) 성분에 대한 단위와 색차(chroma) 성분에 대한 단위를 포함하는 의미로 해석될 수 있다. 예를 들어, 처리 유닛은 코딩 트리 유닛(CTU: Coding Tree Unit), 코딩 유닛(CU: Coding Unit), 예측 유닛(PU: Prediction Unit) 또는 변환 유닛(TU: Transform Unit)에 해당될 수 있다.
또한, 처리 유닛은 휘도(luma) 성분에 대한 단위 또는 색차(chroma) 성분에 대한 단위로 해석될 수 있다. 예를 들어, 처리 유닛은 휘도(luma) 성분에 대한 코딩 트리 블록(CTB: Coding Tree Block), 코딩 블록(CB: Coding Block), 예측 블록(PU: Prediction Block) 또는 변환 블록(TB: Transform Block)에 해당될 수 있다. 또는, 색차(chroma) 성분에 대한 코딩 트리 블록(CTB), 코딩 블록(CB), 예측 블록(PU) 또는 변환 블록(TB)에 해당될 수 있다. 또한, 이에 한정되는 것은 아니며 처리 유닛은 휘도(luma) 성분에 대한 단위와 색차(chroma) 성분에 대한 단위를 포함하는 의미로 해석될 수도 있다.
또한, 처리 유닛은 반드시 정사각형의 블록으로 한정되는 것은 아니며, 3개 이상의 꼭지점을 가지는 다각형 형태로 구성될 수도 있다.
또한, 이하 본 명세서에서 이미지/비디오/영상의 픽셀 또는 화소 등을 샘플로 통칭한다. 그리고, 샘플을 이용한다는 것은 픽셀 값 또는 화소 값 등을 이용한다는 것을 의미할 수 있다.
도 1은 본 발명이 적용되는 실시예로서, 비디오 신호의 인코딩이 수행되는 인코더의 개략적인 블록도를 나타낸다.
도 1을 참조하면, 인코더(100)는 영상 분할부(110), 감산기(115), 변환부(120), 양자화부(130), 역양자화부(140), 역변환부(150), 필터링부(160), 복호 픽쳐 버퍼(DPB: Decoded Picture Buffer)(170), 예측부(180) 및 엔트로피 인코딩부(190)를 포함하여 구성될 수 있다. 그리고, 예측부(180)는 인터 예측부(181), 인트라 예측부(182)을 포함하여 구성될 수 있다.
영상 분할부(110)는 인코더(100)에 입력된 입력 영상 신호(Input video signal)(또는, 픽쳐, 프레임)를 하나 이상의 처리 유닛으로 분할한다.
감산기(115)는 입력 영상 신호에서 예측부(180)로부터(즉, 인터 예측부(181) 또는 인트라 예측부(182))로부터 출력된 예측 신호(prediction signal)를 감산하여 차분 신호(residual signal)를 생성한다. 생성된 차분 신호는 변환부(120)로 전송된다.
변환부(120)는 차분 신호에 변환 기법을 적용하여 변환 계수(transform coefficient)를 생성한다.
특히, 본 발명에 있어서 변환부(120)는 본 발명에서 제안하는 그래프 기반 변환(graph based transform)을 도출하고, 이를 기반으로 변환을 수행할 수 있다. 변환부(120)에 대한 보다 상세한 설명은 후술한다.
양자화부(130)는 변환 계수를 양자화하여 엔트로피 인코딩부(190)로 전송하고, 엔트로피 인코딩부(190)는 양자화된 신호(quantized signal)를 엔트로피 코딩하여 비트 스트림으로 출력한다.
한편, 양자화부(130)로부터 출력된 양자화된 신호(quantized signal)는 예측 신호를 생성하기 위해 이용될 수 있다. 예를 들어, 양자화된 신호(quantized signal)는 루프 내의 역양자화부(140) 및 역변환부(150)를 통해 역양자화 및 역변환을 적용함으로써 차분 신호를 복원할 수 있다. 복원된 차분 신호를 인터 예측부(181) 또는 인트라 예측부(182)로부터 출력된 예측 신호(prediction signal)에 더함으로써 복원 신호(reconstructed signal)가 생성될 수 있다.
한편, 위와 같은 압축 과정에서 인접한 블록들이 서로 다른 양자화 파라미터에 의해 양자화됨으로써 블록 경계가 보이는 열화가 발생될 수 있다. 이러한 현상을 블록킹 열화(blocking artifacts)라고 하며, 이는 화질을 평가하는 중요한 요소 중의 하나이다. 이러한 열화를 줄이기 위해 필터링 과정을 수행할 수 있다. 이러한 필터링 과정을 통해 블록킹 열화를 제거함과 동시에 현재 픽쳐에 대한 오차를 줄임으로써 화질을 향상시킬 수 있게 된다.
필터링부(160)는 복원 신호에 필터링을 적용하여 이를 재생 장치로 출력하거나 복호 픽쳐 버퍼(170)에 전송한다. 복호 픽쳐 버퍼(170)에 전송된 필터링된 신호는 인터 예측부(181)에서 참조 픽쳐로 사용될 수 있다. 이처럼, 필터링된 픽쳐를 화면간 예측 모드에서 참조 픽쳐로 이용함으로써 화질 뿐만 아니라 부호화 효율도 향상시킬 수 있다.
복호 픽쳐 버퍼(170)는 필터링된 픽쳐를 인터 예측부(181)에서의 참조 픽쳐으로 사용하기 위해 저장할 수 있다.
인터 예측부(181)는 복원 픽쳐(reconstructed picture)를 참조하여 시간적 중복성 및/또는 공간적 중복성을 제거하기 위해 시간적 예측 및/또는 공간적 예측을 수행한다. 여기서, 예측을 수행하기 위해 이용되는 참조 픽쳐는 이전 시간에 부호화/복호화 시 블록 단위로 양자화와 역양자화를 거친 변환된 신호이기 때문에, 블로킹 아티팩트(blocking artifact)나 링잉 아티팩트(ringing artifact)가 존재할 수 있다.
따라서, 인터 예측부(181)는 이러한 신호의 불연속이나 양자화로 인한 성능 저하를 해결하기 위해, 로우패스 필터(lowpass filter)를 적용함으로써 픽셀들 사이의 신호를 서브 픽셀 단위로 보간할 수 있다. 여기서, 서브 픽셀은 보간 필터를 적용하여 생성된 가상의 화소를 의미하고, 정수 픽셀은 복원된 픽쳐에 존재하는 실제 화소를 의미한다. 보간 방법으로는 선형 보간, 양선형 보간(bi-linear interpolation), 위너 필터(wiener filter) 등이 적용될 수 있다.
보간 필터는 복원 픽쳐(reconstructed picture)에 적용되어 예측의 정밀도를 향상시킬 수 있다. 예를 들어, 인터 예측부(181)는 정수 픽셀에 보간 필터를 적용하여 보간 픽셀을 생성하고, 보간 픽셀들(interpolated pixels)로 구성된 보간 블록(interpolated block)을 예측 블록(prediction block)으로 사용하여 예측을 수행할 수 있다.
인트라 예측부(182)는 현재 부호화를 진행하려고 하는 블록의 주변에 있는 샘플들을 참조하여 현재 블록을 예측한다. 인트라 예측부(182)는, 인트라 예측을 수행하기 위해 다음과 같은 과정을 수행할 수 있다. 먼저, 예측 신호를 생성하기 위해 필요한 참조 샘플을 준비할 수 있다. 그리고, 준비된 참조 샘플을 이용하여 예측 신호를 생성할 수 있다. 이후, 예측 모드를 부호화하게 된다. 이때, 참조 샘플은 참조 샘플 패딩 및/또는 참조 샘플 필터링을 통해 준비될 수 있다. 참조 샘플은 예측 및 복원 과정을 거쳤기 때문에 양자화 에러가 존재할 수 있다. 따라서, 이러한 에러를 줄이기 위해 인트라 예측에 이용되는 각 예측 모드에 대해 참조 샘플 필터링 과정이 수행될 수 있다.
인터 예측부(181) 또는 상기 인트라 예측부(182)를 통해 생성된 예측 신호(prediction signal)는 복원 신호를 생성하기 위해 이용되거나 차분 신호를 생성하기 위해 이용될 수 있다.
도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더의 개략적인 블록도를 나타낸다.
도 2를 참조하면, 디코더(200)는 엔트로피 디코딩부(210), 역양자화부(220), 역변환부(230), 가산기(235), 필터링부(240), 복호 픽쳐 버퍼(DPB: Decoded Picture Buffer Unit)(250), 예측부(260)를 포함하여 구성될 수 있다. 그리고, 예측부(260)는 인터 예측부(261) 및 인트라 예측부(262)를 포함하여 구성될 수 있다.
그리고, 디코더(200)를 통해 출력된 복원 영상 신호(reconstructed video signal)는 재생 장치를 통해 재생될 수 있다.
디코더(200)는 도 1의 인코더(100)로부터 출력된 신호(즉, 비트 스트림)을 수신하고, 수신된 신호는 엔트로피 디코딩부(210)를 통해 엔트로피 디코딩된다.
역양자화부(220)에서는 양자화 스텝 사이즈 정보를 이용하여 엔트로피 디코딩된 신호로부터 변환 계수(transform coefficient)를 획득한다.
역변환부(230)에서는 변환 계수를 역변환하여 차분 신호(residual signal)를 획득하게 된다.
특히, 본 발명에 있어서 역변환부(230)는 본 발명에서 제안하는 그래프 기반 변환(graph based transform)을 도출하고, 이를 기반으로 역변환을 수행할 수 있다. 역변환부(230)에 대한 보다 상세한 설명은 후술한다.
가산기(235)는 획득된 차분 신호를 예측부(260)(즉, 인터 예측부(261) 또는 인트라 예측부(262))로부터 출력된 예측 신호(prediction signal)에 더함으로써 복원 신호(reconstructed signal)가 생성된다.
필터링부(240)는 복원 신호(reconstructed signal)에 필터링을 적용하여 이를 재생 장치로 출력하거나 복호 픽쳐 버퍼부(250)에 전송한다. 복호 픽쳐 버퍼부(250)에 전송된 필터링된 신호는 인터 예측부(261)에서 참조 픽쳐로 사용될 수 있다.
본 명세서에서, 인코더(100)의 필터링부(160), 인터 예측부(181) 및 인트라 예측부(182)에서 설명된 실시예들은 각각 디코더의 필터링부(240), 인터 예측부(261) 및 인트라 예측부(262)에도 동일하게 적용될 수 있다.
오늘날의 디지털 신호 처리는 변환(transform) 기반 처리의 적용과 밀접하게 관련된다. 가장 주목할만한 변환의 예의 하나로서, 이산 코사인 변환(DCT: Discrete Cosine Transform)이 있다. DCT는 비디오 잡음제거(denoising)을 위한 슬라이딩 윈도우 3D DCT 알고리즘(SW-3DDCT: Sliding Window 3D DCT algorithm), 이미지 잡음제거(denosing)를 위한 블록-매칭 3D 필터링(BM3D: Block-matching and 3D filtering)과 같은 이미지 및 비디오 처리 기술 뿐만 아니라 오디오를 위한 MP3(MPEG Audio Layer-3), 이미지를 위한 JPEG(Joint Photographic Experts Group), 대다수의 비디오 코딩 시스템(H.264/AVC(Advanced Video Coding), H.265/HEVC(High Efficiency Video Coding)과 같은 신호 압축 시스템에 널리 적용된다.
DCT는 높은 상관 신호들(highly correlated signals), 즉높은 상관 신호들은 1에 가까운 인접 샘플들 간의 상관 계수(correlation coefficient)를 가지고 첫 번째로 마르코프(Markov) 처리에 의해 모델링된(modeled) 신호들을 위한 KLT(Karhunen-Loeve Transform)와 아주 근사(approximation)하다는 사실로 인하여 널리 적용되었다.
KLT의 기저 함수(basis fuction)는 신호의 공분산 행렬(covariance matrix)의 고유 벡터(eigenvector)로 계산되고, 기저 함수(basis fuction) 절단(truncation)으로부터 야기되는 평균 제곱 에러(mean square error)를 최소화하기 때문에, KLT는 에너지 압축(energy compaction) 측면에서 최적의 신호 적응적(signal-adaptive) 변환이다.
결국, DCT의 기저 벡터(basis vectors)는 상관 계수(correlation coefficient) r=1을 가지는 AR(1) 처리의 공분산 행렬(covariance matrix)의 고유 벡터(eigenvector)에 가장 근접한 근사치이다. 일반적인 이미지 및 비디오 등과 같은 높은 상관 신호를 경우 이러한 공분산 행렬(covariance matrix)이 일반적이므로, DCT는 비상관화(decorelation) 및 에너지 압축(energy compaction) 특성에 있어서 최적에 가깝다.
그러나, r=1을 가지는 AR(1) 처리에 의해 설명(described)할 수 없는 신호에 대해서, KLT(신호의 공분산 행렬로부터 만들어진 고유 벡터(eigenvector))는 DCT 기저 함수(basis fuction)과 구별되므로, DCT는 최적의 변환은 아니며, 비상관화(decorelation) 및 에너지 압축(energy compaction) 특성 측면에서 더 효율적인 변환이 설계될 수 있다.
r=1을 가지는 AR(1) 처리에 의해 설명(described)할 수 없는 신호를 위해 최적의 KTL를 도출하기 위한 기존의 접근 방법은 분리 가능한 공분산 행렬(covariance matrix)을 통해 2D 신호의 통계적 특성(즉, 신호의 구조)를 나타내고, 고유 벡터(eigenvector)로 KLT 기저가 계산된다. 이러한 접근 방법은 전형적으로 처리 이미지의 샘플 표시(즉, 샘플링 레이트)를 제한하며, 2D 이미지 내에 존재하는 통계적인 종속성(dependency)을 수평적(horizontal) 및 수직적(vertical) 종속성(dependency)으로 제한한다.
이러한 제한을 극복하기 위하여, 신호의 그래프 표시(graph representation)의 이론이 발전되었다.
그래프(graph)는 라인(즉, 에지(edge))에 의해 연결되는 포인트(즉, 노드(node) 또는 꼭지점(vertex))의 세트이다. 이러한 신호의 그래프 표시에 있어서, 다차원의 신호의 샘플은 그래프의 노드(node)를 형성한다. 다시 말해, 하나 이상의 픽셀은 그래프의 노드(또는 꼭지점)에 연관되고, 픽셀의 값은 그래프의 노드(또는 꼭지점)의 값에 해당될 수 있다. 그래프의 에지(edge)는 신호의 신호의 샘플들 간에 존재하는 통계적 종속성(statistical dependency)을 나타낸다. 이때, 양의 가중치는 그 강도를 나타낼 수 있다. 예를 들어, 그래프의 각 노드(또는 꼭지점)은 모든 다른 노드(또는 꼭지점)에 연결될 수 있으며, 0의 가중치는 서로 연관되지 않거나 약하게 연관된 노드(또는 꼭지점)들을 연결하는 에지에 할당될 수 있다. 다만, 표현의 간단화를 위해, 0의 가중치를 갖는 에지는 완전히 제거될 수도 있다.
그래프 노드(또는 꼭지점)을 연결하는 에지들은 신호 특성에 따라 사전에 설정될 수 있다. 예를 들어, 노드(또는 꼭지점)들은 오디오 신호에 대해서는 1차원 배열 상에, 이미지(즉, 정지 영상)에 대해서는 2차원 배열 상에, 또한 비디오 프레임(즉, 동영상)에 대해서는 3차원 배열 상에 배치될 수 있다. 이때, 3차원 배열의 경우에는 시간 축이 3번째 차원이 될 수 있다.
도 3은 그래프 기반 비디오 신호 처리 방법을 설명하기 위한 도면이다.
도 3에서는 4×4 크기의 이미지 블록을 위해 구성된 그래프를 예시한다.
도 3에서 원(circle)(310)은 이미지 샘플과 관련된 노드를 표시하고, 노드들 간의 라인(320)은 그래프 에지(또는 링크) 또는 샘플들간의 통계적 종속성을 나타낸다. 도 3에서 1 내지 12 에지는 수평적 종속성(horizontal dependency)를 나타내고, 13 내지 24 에지는 수직적 종속성(vertical dependency)를 나타낸다.
그래프의 노드는 그래프의 또 다른 노드와 연결될 수 있고, 통계적 유사성(statistical similarity)의 강도(strength)는 양(positive)의 가중치로 표시된다. 두 개의 신호 샘플들 간에 통계적 종속성(statistical dependency)이 존재하지 않거나 또는 두 개의 신호 샘플들 간의 통계적 종속성이 신호 처리 과정 중에 무시될 수 있다면, 이러한 샘플을 나타내는 두 개의 노드를 연결하는 에지는 일반적으로 0에 가까운 작은 가중치로 표시된다.
도 4는 그래프 기반 비디오 신호 처리 방법을 설명하기 위한 도면이다.
도 4에서는 16×16 크기의 이미지 블록을 위해 구성된 그래프를 예시한다.
이미지 샘플은 그래프 노드(작은 사각형)(410)와 관련되고, 이미지 샘플들 간의 수평적 종속성(horizontal dependence)은 그래프 에지(420, 430)로 표시된다.
에지의 타입(즉, 실선 또는 점선)은 노드들 간의 통계적 종속성(statistical dependency)의 레벨을 나타낸다. 예를 들어, 실선(430)은 강한 종속성(예를 들어, 가중치 w=1)을 나타내고, 점선(420)은 약한 종속성(즉, 가중치 w가 0에 가까우며, 일례로 w=0.001)을 나타낸다.
도 4에서 예시된 그래프는 16×16 크기의 블록이 8×16 크기의 2개의 블록으로 분할되고, 블록 분할 경계(block partitioning border)에 위치하는 샘플들 간에 종속성이 존재하지 않거나 혹은 종속성이 의도적으로 무시되는 경우를 예시한다.
즉, 분할 경계에 위치하는 샘플들 간의 통계적 종속성은 존재하지 않거나(이 경우, 점선(420)은 에지 가중치가 0과 같음), 신호의 처리 과정 중에 분할 경계에 위치하는 샘플들 간의 통계적 종속성이 의도적으로 사용되지 않을 수 있다(예를 들어, 8×16 크기의 2개의 블록이 독립적으로 처리되는 경우 등).
일반적으로, 그래프의 각 노드는 해당 노드와 관련되어 현재 처리되는 샘플에 이웃하는 하나 이상의 다른 노드가 연결될 수 있을 뿐만 아니라 공간적으로(spatially) 또는 시간적으로(temporally) 원거리에 위치하는 하나 이상의 다른 노드와도 연결될 수 있다.
각 노드에서 다른 노드로의 가능한 연결의 개수는 신호 설계(즉, 신호 상의 가정)에 따라 또는 신호 내에 존재하는 실질적인 종속성(actual dependency)에 따라 그래프의 복잡도를 특정한다.
도 5는 그래프 기반 비디오 신호 처리 방법을 설명하기 위한 도면이다.
도 5에서는 수평적 방향(horizontal direction)의 순환적 종속성(circular dependency)를 가지는 4×4 크기의 이미지 블록을 위해 구성된 그래프를 예시한다.
도 5에서 블록의 수직적 경계(vertical border)에 위치하는 샘플들과 관련된 노드들은 반대편 블록의 경계에 위치하는 샘플들과 그래프 에지로 연결된다. 이러한 에지는 수평적 방향(horizontal direction)으로 데이터의 순환 종속성(circular dependency)가 존재한다고 해석될 수 있다. 즉, 좌측/우측 블록 경계에 위치하는 샘플들(510)은 우측/좌측 블록 경계에 위치하는 샘플들(520)과 수평적 종속성(horizontal dependency)가 존재한다.
그래프 G가 N개의 노드(또는 꼭지점(vertex)) {n_i} (i=0, ..., N-1)로 구성될 때, 그래프 G는 대각 차수 행렬(diagonal degree matrix) 'D' 및 인접 행렬(adjacency matrix) 'A'를 통해 수학적으로 표시된다. 즉, 대각 차수 행렬(diagonal degree matrix) 'D'는 그래프의 각 노드(또는 꼭지점)의 차수에 대한 정보를 포함하고, 인접 행렬(adjacency matrix) 'A'는 인접한 노드(또는 꼭지점)과의 연결 관계(edge)를 가중치로 나타낸다.
N×N 크기의 대각 차수 행렬 D는 노드 n_i에서 이용 가능한(available) 에지의 수를 나타내는 원소(element)(또는 성분(entry)) d_i,j (i=j)로 구성될 수 있다.
또한, N×N 크기의 대각 차수 행렬 D는 노드 n_i에서 노드 n_j (i≠j)로 연결되는 에지의 가중치의 합을 나타내는 원소(또는 성분) d_i,i로 구성될 수 있으며, d_i,j (i≠j)는 0 값을 가질 수 있다. 즉, 대각 원소(또는 성분)만이 값을 가질 수 있다.
이하, 본 발명의 설명에 있어서, 설명의 편의를 위해 대각 차수 행렬 D의 원소(또는 성분)이 이용 가능한(available) 에지의 수의 수를 나타낸다고 가정하여 설명하나, 본 발명이 이에 한정되는 것은 아니다.
N 노드로 구성되는 그래프(graph) G의 인접 행렬 A는 N×N 크기를 가진다. 인접 행렬 A의 비대각 행렬 성분(non-diagonal entry) a_i,j (i≠j)는 노드 i로부터 노드 j로의 에지의 수(또는 에지의 가중치)이고, A의 대각 성분(diagonal entry) a_i,j (i=j)는 노드 i로부터 그 자신으로의 1개 이상의 에지(즉, 셀프 루프(self loop))이다. 만약, 셀프 루프가 존재하지 않는다면, a_i,j (i=j)는 0 값을 가질 수 있다.
도 6은 2차원 비디오 신호에 대한 그래프 및 이에 따른 차수 행렬 D 및 인접 행렬 A를 예시하는 도면이다.
도 6을 참조하면, 그래프는 0, 1, 2, 3 총 4개의 노드로 구성된다.
그리고, 각 노드 별로, 노드 0는 노드 1 및 노드 3과 연결될 수 있고, 노드 1은 노드 0 및 노드 2와 연결될 수 있고, 노드 2는 노드 1 및 노드 3과 연결될 수 있고, 노드 3은 노드 2 및 노드 0과 연결될 수 있으므로 모두 에지의 수는 2이다. 따라서, 대각 차수 행렬 D의 성분 d_i,j (i=j)가 모두 2이다.
노드 0과 노드 1 간의 에지 가중치는 0.1이므로, 성분 a_0,1 및 a_1,0의 값은 0.1이다. 노드 1과 노드 2 간의 에지 가중치는 1이므로, 성분 a_1,2 및 a_2,1의 값은 1이다. 노드 2와 노드 3 간의 에지 가중치는 0.1이므로, 성분 a_2,3 및 a_3,2의 값은 0.1이다.
또한, 각 노드의 자기 자신으로의 연결을 나타내는 에지의 가중치는 모두 1인 경우로, 성분 a_0,0, a_1,1, a_2,2, a_3,3의 값 모두 1이다.
라플라시안 행렬(Laplacian matrix) 'L'은 그래프의 완전한 표시(complete representation)이고, 아래 수학식 1과 같이 차수 행렬 D와 인접 행렬 A로부터 계산된다.
Figure 112017044075877-pct00001
라플라시안 행렬 L은 최적의 신호 직교 변환(signal orthogonal transform) 'U'를 도출하기 위한 충분한 그래프의 설명(description)를 제공한다. 즉, 고유 분해(eigen-decomposition) 과정을 통해 아래 수학식 2와 같이 변환 (커널) U가 도출될 수 있다.
Figure 112017044075877-pct00002
수학식 2에서, 대각 행렬 E는 음이 아닌(non-negative) 고유 값(eigenvalue) 'λ_i'을 포함하고, 변환 (커널) U(즉, 고유 행렬(eigen matrix))는 해당 고유 벡터(eigenvector) 'u_i'를 포함한다.
고유 행렬(eigen matrix) U는 해당 이미지/비디오 신호에 대해 특화된 그래프 기반 푸리에(Fourier) 변환을 제공할 수 있다. 예를 들어, 앞서 수학식 2를 만족하는 고유 행렬(eigen matrix) U는 그래프 기반 변환 커널을 의미할 수 있다.
결론적으로, 그래프 기반의 표시는 처리되는 신호에 존재하는 종속성(dependency)의 구조적인 설명(structured description)을 제공하거나 또는 신호 처리 중에 사용되도록 가정되는 종속성(dependency)에 대한 선행 지식을 특정하므로, 처리되는 종속성(processing dependency)를 기술한다. 즉, 그래프를 기반으로 신호 처리 중에 이용되는 샘플 간의 종속성이 특정될 수 있다.
신호를 정확히 모델링하기 위하여, 노드 당 에지의 개수(즉, 차수 행렬 D의 성분), 그래프 에지의 강도(즉, 인접 행렬 A의 성분)와 같은 그래프 파라미터는 처리되는 신호 또는 신호의 클래스(또는 타입)에 적합하여야 한다.
이에 따라 주어진 신호의 클래스에 따른 그래프 설명(description)의 구성 방법 및 압축된 표시(compact representation) 방법은 현재 미해결된 이슈(open issue)이며, 본 발명에서 이에 대한 방법을 제안한다.
그래프 기반 변환(graph based transform)은 한정된 수의 그래프 파라미터를 이용하여 신호의 구조 등과 같은 신호의 통계적 특성을 설명하기 위한 기술을 제공한다. 그래프로부터 도출된 최적의 변환(transform)은 예를 들어, 신호 필터링 또는 압축 등과 같은 다양한 신호 처리 응용에 이용될 수 있다. 신호 압축의 전형적인 케이스에 있어서, 신호의 인코더 및 디코더에서는 모두 그래프 변환을 구성할 수 있도록 특정 정보를 가지고 있어야 한다. 그러므로, 그래프 파라미터의 압축된 표시(compact representation) 및/또는 인코더로부터 디코더로의 그래프 파라미터의 압축된 표시의 시그널링 방법은 그래프 기반 변환(graph based transform) 이용 측면에서 중요하다.
앞서 도 3에서 예시한 바와 같이, N×N 이미지 샘플의 블록을 위한 그래프를 구성하기 위하여 그래프 에지의 가중치로서 샘플 간(inter-sample) 종속성(dependency) 간의 관련성 그리고, 이미지 샘플과 그래프 노드 간의 관련성을 확립하여야 한다.
N×N 이미지 샘플의 블록을 위한 그래프를 구성하기 위하여 요구되는 설명(description)은 차수 행렬 D의 N^2개의 성분(즉, 노드 당 그래프 에지의 개수) 및 인접 행렬 A의 성분을 포함한다. 이러한 성분의 수는 노드 간에 확립된 종속성에 따라 결정된다.
만약, N×N 크기의 이미지 블록을 위한 그래프가 구성될 때, 블록 내 샘플들 수평적(horizontal) 및 수직적(vertical) 종속성(즉, 픽셀 당 4개의 종속성)으로 한정된다면, 앞서 도 3의 예시와 같이 그래프 에지의 개수는 2N(N-1)와 같다. 즉, 이 경우 인접 행렬 A의 성분의 개수는 2N(N-1)와 같다.
일반적인 케이스에 있어서, 그래프 에지의 가중치는 신호 내 존재하는 통계적 종속성(statistical dependency)를 반영하기 위하여 0으로부터 1까지의 범위로 제한되고, 그래프 에지의 가중치의 실제 값은 미리 알려질 수 없으므로 이 파라미터를 위한 부동 소수점(floating point) 표시가 요구될 수 있다.
이러한 N×N 샘플의 이미지 블록을 위한 그래프 설명(graph description)은 약 3N^2 파라미터를 포함한다. 예를 들어, 차수 행렬 D의 성분을 위한 N^2 개의 파라미터, 인접 행렬 A의 성분을 위한 약 2N^2 개(예를 들어, 2N(N-1))의 파라미터를 포함할 수 있다.
특정 신호 및/또는 어플리케이션의 클래스(즉, 타입)에 있어서, 차수 행렬 D의 파라미터는 미리 고정될 수 있고, 에지 가중치 표시의 정확도는 그래프 설명 및 파라미터로부터 도출되는 변환(transform) U의 성능에 영향을 미치지 않도록 조절될 수 있다.
예를 들어, 그래프 기반 변환(graph based transform)을 이용한 깊이 맵 앞축 알고리즘(depth map compression algorithm)에 따르면, 차수 행렬 D의 성분은 코딩되는 픽처의 모든 샘플에 대해 고정된 값을 가지고, 각 노드는 최대 4개의 에지(2개의 수평적 종속성 및 2개의 수직적 종속성)를 가지며, 차수 행렬 D의 성분 및 에지의 최대 개수는 미리 알려져 있다.
인접 행렬 A의 성분 값은 에지 검출 알고리즘(즉, 에지가 존재하는 경우 에지 가중치가 1, 에지가 존재하지 않는 경우 에지 가중치가 0)으로 코딩된 이미지를 처리함으로써 도출되고, 최적의 변환(transform)을 도출하기 위하여 사용된다. 샘플 간 상관(inter-sample correlation)에 대한 2진수 맵은 손실없는(lossless) 코딩 방법으로 코딩되고, 디코더로 시그널된다. 디코더는 디코딩된 2진수 맵으로부터 도출된 인접 행렬 A의 성분 및 미리 알려진 차수 행렬 D로부터 최적의 변환을 도출한다.
그래프에 부과된(imposed) 한정에도 불구하고, 그래프를 설명하기 위하여 시그널링되어야 하는 파라미터의 양이 매우 크고, 픽셀(즉, 샘플) 당 약 1개 파라미터가 요구된다. 이러한 그래프 설명(graph description)을 위한 해결 방안은 특정 신호의 클래스(즉, 타입)를 위해 실용적일 수 있으나, 일반적인 이미지를 위해 적용되지 못할 수 있다.
이에 따라, 본 발명에서는 특정 이미지 및/또는 비디오 신호의 클래스(즉, 타입)에 대한 압축된 그래프 구조 설명(compact graph structure description)을 구성하는 방법 및 그러한 신호에 대한 최적의 변환(transform)을 도출하는 방법을 제안한다.
이하, 본 발명을 설명함에 있어서, 4가지의 주요 파트 별로 살펴본다.
1) 신호 내 지역적 패턴(local pattern)의 분류(classification) 및 각각의 그래프 구조(graph construction)
본 발명에서는 지역적 신호(local signal) 변화 패턴을 소정의 개수의 타입으로 분류하고, 그래프의 파라미터와의 연관성을 확립하는 방법을 제안한다.
신호 변화(signal variation)는 해석 함수(analytical fuction)(예를 들어, 기울기(gradient) 등)에 의해 모델링될 수 있으며, 구분되는 패턴 타입으로 분류될 수 있다.
도 7은 본 발명의 일 실시예에 따른 비디오 신호의 변화에 따라 비디오 신호의 클래스를 분류하는 방법을 설명하기 위한 도면이다.
도 7에서는 1 차원(1D: 1 demension) 신호의 간략한 표시(710a, 710b, 710c)를 예시한다. 그리고, 각각의 해당 신호를 위해 구성된 그래프(즉, 노드 및 에지)(720a, 720b, 720c) 및 해당 그래프(720a, 720b, 720c)의 파라미터 즉, 노드의 차수(degree of nodes)(즉, D 행렬의 성분)(722a, 722b, 722c) 및 에지의 가중치(weights of edges)(즉, A 행렬의 성분)(721a, 721b, 721c)를 예시한다.
도 7(a)는 이웃하는 샘플간의 높은 상관을 가지는 신호의 패턴을 예시한다. 즉, 샘플의 크기(magnitude)의 변화가 낮은 신호의 구간(fragment)(즉, 부드러운 구간(smooth fragment))을 예시한다.
도 7(b)는 이웃하는 샘플 간의 높은 공간적인 반상관(spatial anticorrelation)을 가지는 신호의 패턴을 예시한다. 즉, 높은 지역적 변화(local variation)(예를 들어, 신호 내 존재하는 에지 등)을 가지는 신호의 구간(fragment)을 예시한다.
도 7(c)는 선형 관계(linear relationship)에 의해 모델링될 수 있는 신호 샘플 간의 연속적인 변화(continuous variation)를 가지는 신호의 패턴을 예시한다. 즉, S(1) 내지 S(3)의 샘플들 간에 선형 모델링된(linear-modelled) 신호 변화의 특징을 가지는 신호의 구간(fragment)를 예시한다.
도 7(a) 및 도 7(b)의 예시, 즉 신호 크기의 낮은 변화를 가지는 신호 패턴 및 에지를 포함하는 신호 패턴에 대한 그래프 구조에 대해서는 많은 연구가 진행되었다.
반면, 도 7(c)의 예시와 같이 다수의 샘플에 의해 나타나고, 해석 함수(analytical fuction)에 의해 모델링될 수 있는 연속적인 변화(continuous variation)(도 7(a)와 같은 부드러운 신호 변화 또는 도 7(c)와 같은 에지와 비교하여 상대적으로)에 대한 그래프 구조에 대해서는 이전에 연구되지 않았다.
이에 따라 본 발명에서는 연속적인 변화(예를 들어, 기울기(gradient))의 특징을 가지는 신호 구간(fragment)에 대한 그래프 구조에서 연속적인 변화의 특징을 가지는 샘플을 나타내는 노드의 양 쪽에 0에 가까운 가중치(즉, A 행렬 성분)를 가지는 불확실한(unreliable) 그래프 에지를 사용하는 방법을 제안한다.
도 7(c)를 참조하면, 1D 신호 s_i(710c)는 샘플들 s_1, ..., s_3에 존재하는 연속적인 지역적 변화(continuous local variation)(예를 들어, 기울기(gradient))의 특징을 가진다.
1D 신호 s_i를 위해 구성된 그래프(720c)는 각각의 샘플과 관련된 4개의 노드(즉, 차수 행렬의 성분) n_i 및 이들 샘플(즉, 노드) 간의 종속성(dependency)을 나타내는 가중치(즉, 인접 행렬의 성분) a_i를 가지는 3개의 에지로 구성된다.
1D 신호 s_i를 위해 구성된 그래프(720c)를 대각 차수 행렬(D) 및 인접 행렬(A)로 나타내면 아래 수학식 3과 같다.
Figure 112017044075877-pct00003
수학식 3의 차수 행렬 D와 인접 행렬 A로부터 라플라시안 행렬 L은 아래 수학식 4와 같이 계산된다.
Figure 112017044075877-pct00004
연속적인 변화(예를 들어, 기울기(gradient))는 s_1 샘플과 s_2 샘플 간에 존재한다. 이 신호 패턴에 대한 그래프는 인접 성분 a_1 및 a_2 각각 0에 가까운(도 7(c)의 예시의 경우, 모두 0.01) 2개의 불확실한(unreliable) 그래프 에지를 가지는 노드 n_2를 가지도록 설계될 수 있다.
그래프 기반 변환(graph based transform)에서, 그래프 파라미터는 A 행렬 성분의 값에 반영되고, 이로 인하여 작은 고유 값(eigenvalue)(그래프 스펙트럼 영역(graph spectral domain)에서 낮은 주파수 부분)에 대응되는 기저 함수(basis function) U(앞서 수학식 2에 의해 도출)의 에지에 걸쳐 선형 기울기 변이(linear gradient transition)가 발생된다.
이러한 기저 함수 U의 결과는 연속적인 신호 변화(예를 들어, 기울기(gradient))의 특징을 가지는 신호 구조에 대하여 더 나은 에너지 압축 특성을 제공한다.
2) 그래프 파라미터 구성(graph parameters configurations)의 세트
그래프 파라미터 구성은 그래프를 구성하기 위하여 필요한 파라미터의 세트를 의미한다. 본 명세서에서 그래프 파라미터 구성은 간단히 그래프 구성으로 지칭될 수 있다.
N개의 노드 {n_i}를 포함하는 그래프 G의 파라미터 구성은 각 노드 별로 이미지(및/또는 비디오) 샘플과 노드 간의 연관(association) 정보, 노드에서 이용 가능한 종속성(dependency)(즉, 그래프 에지)의 개수(즉, 노드의 차수(degree)), 노드에서 이용 가능한 모든 그래프 에지에 대한 가중치를 포함하나, 이에 한정되는 것은 아니다.
이미지(및/또는 비디오) 샘플과 노드 간의 연관(association)(즉, 노드 i에 대한 샘플과 노드와의 관계 R_i)은 이미지(및/또는 비디오) 또는 처리 블록 또는 각 노드 별로 상이하게 정의될 수 있다. 예를 들어, 하나의 샘플이 하나의 노드와 연관되는 경우 R=1로 셋팅되고, 샘플들의 그룹(즉, 복수의 샘플)이 하나의 노드와 연관되는 경우 R≠1로 셋팅될 수 있다. 다만, 파라미터 R의 표기 방식은 이에 한정되는 것은 아니며 이와 상이한 방식으로 표시될 수도 있다. 예를 들어, M 포인트 신호를 노드의 개수 N을 통해 나타낼 수 있다.
노드의 차수(degree)는 노드 n_i에서의 종속성의 개수(즉, 그래프 에지)를 나타내고, 차수 행렬의 성분 d_i으로 표시된다.
그래프 구조에 의해 이용되거나(exploited) 또는 신호의 샘플들 간에 이용될 수 있는 종속성의 특성(character)은 노드 n_i와 모드 n_j (여기서, i≠j) 간의 그래프 에지의 가중치(즉, 인접 행렬 성분 a_i)로 표시된다.
이러한 주어진 신호의 샘플 또는 샘플 그룹에 대한 그래프 구조를 전체적으로 설명하기 위한 파라미터 세트를 포함하는 그래프 파라미터 구성(또는 그래프 구성) C_i를 아래 수학식 5와 같이 정의할 수 있다.
Figure 112017044075877-pct00005
수학식 5에서 i는 관련 노드의 인덱스를 나타낸다. 상술한 바와 같이, R은 이미지(및/또는 비디오) 샘플과 노드 간의 연관(association)을 나타내고, d는 노드의 차수(degree)를 나타내며, a는 그래프 에지 별 가중치를 나타낸다. a는 각 그래프 에지 별 가중치를 나타내기 위하여 배열(array)로 구성될 수 있으며, 이 경우 배열에 포함된 요소(element)의 개수를 노드의 차수와 동일하다.
도 8은 본 발명의 일 실시예에 따른 그래프 구조 및 그래프 파라미터 구성을 예시한다.
도 8의 예시에서 파라미터 R은 R=1(즉, 하나의 샘플 당 하나의 노드와 연관)을 가정하고 있으며, 설명의 편의를 위해 그래프 파라미터 구성에서 R은 생략하였다.
도 8에서 d는 현재 노드에 허용되는 에지의 차수(degree)를 특정한다. 배열 a(즉, a={w_i}, i=0, ..., d-1)는 현재 노드에서 이용 가능한 모든 에지에 대한 가중치를 특정한다. 예를 들어, 가중치를 특정하는 배열 a은 상위-수직(top-vertical) 방향의 에지로부터 시작하여 시계 방향(clock-wise direction)으로 각 에지 별로 가중치를 특정할 수 있다.
다만, 이와 같이 가중치를 특정하기 위한 순서는 하나의 예시에 불과하며 본 발명이 이에 한정되는 것은 아니다. 또한, 도 8에서 예시된 각 에지에 대한 가중치 값은 하나의 예시에 불과하다.
도 8(a)는 수직 및 수평 방향으로 4개의 가능한 종속성(dependency)를 가지며, 모든 종속성(dependency)이 강한 가중치(에지 가중치=1)(즉, a={1, 1, 1, 1})인 노드에 대해 구성된 그래프를 예시한다. 일반적으로 이러한 예는 동질의(homogenous) 이미지 조각(즉, 지역 변화(local variation)의 레벨이 낮은 이미지 조각) 내 2D 신호의 샘플에서 나타난다.
도 8(b)는 상위-수직(top-vertical) 방향에 종속성이 존재하지 않거나 이용되지 않는(not-utilized) 종속성(즉, a={0.1, 1, 1, 1})을 가지는 노드에 대해 구성된 그래프를 예시한다. 일반적으로 이러한 예는 처리 블록의 경계에 위치하는 샘플에 나타난다.
도 8(c)는 상위-수직(top-vertical) 방향 및 좌측-수평(left-horizontal) 방향에 종속성이 존재하지 않거나(not present) 이용 불가능한(disabled) 종속성(즉, a={0.1, 1, 1, 0.1})을 가지는 노드에 대해 구성된 그래프를 예시한다. 일반적으로 이러한 예는 처리 블록의 좌상측(top-left) 모서리에 위치하는 샘플에 나타난다.
도 8(d)는 수직 및 수평 방향 뿐만 아니라 대각 방향으로 8개의 가능한 종속성(dependency)를 가지며, 모든 종속성(dependency)이 강한 가중치(에지 가중치=1)(즉, a={1, 1, 1, 1, 1, 1, 1, 1})인 노드에 대해 구성된 그래프를 예시한다.
도 8(e)는 수직 및 수평 방향으로 4개의 가능한 종속성(dependency)를 가지며, 하위-수직(vertical-down) 방향은 약한 가중치(에지 가중치=0.01)를 가지고 이외의 종속성은 강한 가중치(에지 가중치=1)를 가지는 노드에 대해 구성된 그래프를 예시한다. 일반적으로 이러한 예는 객체(object)의 경계에 위치하는 2D 신호의 샘플에 나타난다.
도 8(f)는 수직 및 수평 방향으로 4개의 가능한 종속성(dependency)를 가지며, 하위-수직(vertical-down) 및 우측-수평(horizontal-right) 방향의 종속성은 약한 가중치(에지 가중치=0.01)를 가지고, 이외의 종속성은 강한 가중치(에지 가중치=1)를 가지는 노드에 대해 구성된 그래프를 예시한다. 일반적으로 이러한 예는 대상의 우하측(bottom-right) 모서리에 위치하는 2D 신호의 샘플에 나타난다.
도 8은 그래프 파라미터 구성을 나타내는 하나의 예시에 불과하며 본 발명이 이에 한정되는 것은 아니다. 즉, 도 8에서 예시되지 않은 상이한 그래프 구조 및 그에 따른 그래프 파라미터 구성이 이용될 수 있다.
인코더 및 디코더에서는 현재 이미지 및/또는 비디오 신호의 처리(즉, 현재 이미지 및/또는 비디오 신호의 인코딩/디코딩)를 위하여 이용 가능한(available) 그래프 파라미터 구성 세트를 특정(specify)할 수 있다. 예를 들어, 인코더 및 디코더에서는 현재 이미지 및/또는 비디오 신호의 처리를 위해 이용 가능한 그래프 파라미터 구성 세트를 앞서 도 8의 예시와 같이 총 6가지의 그래프 파라미터 구성을 특정할 수 있다.
이때, 인코더 및 디코더에서는 전체 이미지 및/또는 비디오에 대한 이용 가능한 그래프 파라미터 구성 세트를 특정할 수도 있으나, 처리 블록 별로 별개로 이용 가능한 그래프 파라미터 구성 세트를 특정할 수도 있다.
이때, 인코더 및 디코더에서는 동일한 이미지 및/또는 비디오 신호에 대하여 동일한 이용 가능한(available) 파라미터 구성 세트를 특정하여야 하므로, 인코더 및 디코더에서 동일한 정보(예를 들어, 이미지 및/또는 비디오의 타입, 해상도, 크기 또는 이미지 및/또는 비디오가 이용되는 어플리케이션(application) 등)를 기반으로 동일한 규칙을 이용하여 이용 가능한(available) 파라미터 구성 세트를 특정할 수 있다.
또는, 인코더에서 디코더로 현재 이미지 및/또는 비디오 신호의 처리를 위해 이용 가능한 그래프 파라미터 구성 세트에 정보를 비트스트림(bitstream)을 통해 시그널링할 수 있다.
또는, 이용 가능한 그래프 파라미터 구성 세트는 이미지 및/또는 비디오와는 무관하게 미리 고정되어 인코더 및 디코더에서 모두 알고 있을 수도 있다.
3) 압축된 신호 구조(compact signal structure) 설명(description)(또는, 정보(information))
본 발명에서는 정사각 블록(square block), 볼륨(volumn), 다차원 폴리곤(multidimensioinal polygon) 또는 더 복잡한 도형(figure)(예를 들어, 커브의 세트에 의해 묘사되는 영역 또는 볼륨(volumn) 등)과 같은 추상적 요소(abstract elements)를 통해 표현되는 신호의 높은 레벨 구조에 대한 신호 구조의 설명(description)을 제안한다.
이하, 위와 같은 추상적 요소(abstract element)를 객체(object)로 통칭하여 설명한다.
인코더에서는 처리 블록 내 샘플들로부터 신호 구조 설명(description)(또는 정보(information))를 추출(extract)(또는 도출, 결정)할 수 있다. 다시 말해, 인코더는 처리 블록 내 존재하는 하나 이상의 객체(object)를 검출하고, 검출된 객체(object)를 고려하여 처리 블록 내 샘플들에 대해 이용 가능한(available) 그래프 파라미터 구성으로 분류할 수 있다. 즉, 인코더에서는 이용 가능한(available) 그래프 파라미터 구성을 기반으로 처리 블록 내 각 샘플 별로 해당 샘플에 적용되는 그래프 파라미터 구성을 결정할 수 있다.
따라서, 신호 구조 설명(description)(또는 정보(information))는 이용 가능한(available) 그래프 파라미터 구성 세트를 기반으로 처리 블록 내 각 샘플 별로 적용되는 그래프 파라미터 구성을 지시하는 정보를 의미할 수 있다.
보다 구체적으로, 인코더에서는 객체 검출 알고리즘(object detection algorithm)을 이용하여 현재 처리 블록 내에 존재하는 객체(object)를 검출한다. 그리고, 처리 블록 내 존재하는 객체(object)에 속한 샘플들과 객체(object)에 속하지 않은 샘플들을 구분하여 마킹(marking)한다. 이때, 처리 블록 내에 하나 이상의 객체(object)가 존재할 수 있으며, 이 경우 각 객체(object) 별로 해당 객체(object)에 속한 샘플들을 구분하여 마킹(marking)할 수 있다. 나아가, 객체(object)의 경계에 위치하는 샘플들을 구분하여 마킹(marking)할 수도 있다.
또한, 본 발명에서는 처리되는 객체(object) 내 이미지/비디오 신호 샘플에 미리 정해진(preset) 그래프 구성 {C_i} 중 어떠한 그래프 구성이 적용되는지, 처리되는 객체(object)밖에 위치하는 이미지/비디오 신호 샘플에 어떠한 그래프 구성이 적용되는지 및/또는 처리되는 객체(object)(또는 처리 블록)의 경계에 위치하는 이미지/비디오 신호 샘플에 어떠한 그래프 구성이 적용되는지 지정(specification)하는 방법을 제안한다.
즉, 인코더는 미리 정해진 지정(specification), 즉 처리 블록 내 이미지/비디오 샘플과 그래프 파라미터 구성과의 매핑 관계(또는 매핑 규칙)에 따라, 이용 가능한(available) 그래프 파라미터 구성을 기반으로 처리 블록 내 각 샘플 별로 해당 샘플에 적용되는 그래프 파라미터 구성을 결정할 수 있다.
도 9는 본 발명의 일 실시예에 따른 비디오 신호 처리를 위한 그래프 구성을 정의하는 방법을 예시한다.
도 9에서는 2D 신호의 샘플은 원형(circle)으로 표기되고, 처리되는 블록(910)의 크기가 6×6인 경우를 예시한다. 현재 처리되는 6×6 크기의 블록(910) 내 2D 신호는 객체(object)(920)을 가지고, 또 다른 객체(예를 들어, 나머지 샘플에 의해 표현되는 배경)을 가진다고 가정한다.
2D 이미지/비디오 신호의 샘플은 그래프 구성 {C_i}과 관련하여 분류된다. 도 9에서는 설명의 편의를 위해, 앞서 8에서 예시된 그래프 구성 세트 {C_i}로 분류된 2D 신호 샘플을 예시하나, 본 발명이 이에 한정되는 것은 아니다.
인코더에서는 객체 검출 알고리즘(object detection algorithm)을 이용하여 처리 블록(910) 내 객체(920)를 검출할 수 있다. 그리고, 처리 블록(910) 내 샘플들로부터 신호 구조 설명(또는 정보)를 도출할 수 있다. 즉, 인코더는 처리 블록(910) 내 샘플들이 객체(920) 내 위치하는지, 객체(920) 밖에 위치하는지, 처리 블록(910)의 경계(즉, 처리 블록(910)과 다른 처리 블록과의 경계 및/또는 처리 블록(910)과 처리 블록(910) 내 존재하는 객체(920)와의 경계)에 위치하는지에 따라 해당 샘플에 적용되는 그래프 구성을 결정할 수 있다.
여기서, 도 9에서는 설명의 편의를 위해 처리 블록(910) 내 하나의 객체(920)만이 포함되어 있는 경우를 예시하지만 본 발명이 이에 한정되는 것은 아니며, 복수의 객체가 포함되어 있을 수도 있다. 복수의 객체가 포함되어 있는 경우, 인코더는 샘플이 속한 객체 별로 샘플을 구분하여 그래프 구성을 결정할 수 있다.
도 9에서 각 샘플 별로 분류된 카테고리는 소문자(low case letter)로 라벨링(labeling)하여 예시한다.
카테고리 'a'의 샘플은 처리 블록(910) 및/또는 객체(object)(920)의 경계에 위치하지 않으며, 수평적 및 수직적 방향의 종속성의 특징을 가지고, 앞서 도 8(a)에서 예시된 그래프 구성으로 처리(즉, 결정)될 수 있다.
카테고리 'b'의 샘플 및 카테고리 'e'의 샘플은 처리 블록의 경계에 위치하고, 각각 앞서 도 8(b) 및 도 8(e)에서 예시된 그래프 구성으로 처리(즉, 결정)될 수 있다. 즉, 각각 앞서 도 8(b) 및 도 8(e)에서 예시된 바와 같이 수직 방향의 종속성이 존재하지 않거나 그래프 설계에서 종속성이 의도적으로 무시(즉, 종속성 이용 불가(diabled))하다.
카테고리 'c' 및 'f'의 샘플은 처리 블록(910) 및/또는 객체(object)(920)의 모서리에 위치하고, 각각 앞서 도 8(c) 및 도 8(f)에서 예시된 그래프 구성으로 처리(즉, 결정)될 수 있다.
위와 같이, 처리 블록(910) 내 객체(920)가 존재하는 경우, 객체(920)의 경계에 인접하는 샘플들(즉, 객체(920)에 속하는 않는 샘플 중 객체(920)의 경계에 인접한 샘플들과 객체(9201)에 속하는 샘플 중 객체(920)의 경계에 인접한 샘플들) 간에는 종속성을 가지지 않도록 설정할 수 있다. 즉, 객체(920)의 경계에 인접하는 샘플들 간에는 에지로 연결되지 않도록 그래프 구성이 결정될 수 있다.
도 9에서 라벨(label)이 표시되지 않은 2D 샘플은 그래프 구성 {C_i}의 카테고리로 분류되지 않은 샘플을 나타낸다. 다만, 이는 하나의 예시에 불과하며, 이들 샘플도 도 8에서 제공하는 그래프 구성 {C_i}에서 이용 가능한 구성으로 분류되거나 추가적인 구성(예를 들어, 수평적 방향에 제한적인 종속성을 반영하는)을 가지는 확장된 세트 {C_i}로 분류될 수 있다.
도 9와 같이 인코더에서는 처리 블록(910) 내에서 객체 검출 알고리즘(object detection algorithm)을 이용하여 객체(920)를 검출하고, 검출된 객체(920)를 고려하여 각 샘플 별로 해당 샘플에 적용할 그래프 구성을 결정한다. 즉, 처리 블록(910) 내 샘플들이 객체(920) 내 속하는지, 객체(920) 내 속하지 않는지, 처리 블록(910)/객체(920)의 경계에 위치하는지, 처리 블록(910)/객체(920)의 모서리에 위치하는지 등을 고려하여 각 샘플 별로 해당 샘플에 적용되는 그래프 파라미터 구성을 결정할 수 있다. 상술한 바와 같이 처리 블록(910) 내 모든 샘플에 대하여 적용될 그래프 구성을 결정할 수도 있으나, 일부의 샘플에 대해서만 적용될 그래프 구성을 결정할 수도 있다.
본 발명의 일 실시예에 있어서, 신호 구조 설명(description)은 어플리케이션(application) 또는 사용예(use case)에 따라 상이하게 정의된 규격(specification)으로 해석될 수 있다. 즉, 어플리케이션(application) 또는 사용예(use case)에 따라 처리 블록 내 이미지/비디오 샘플과 그래프 파라미터 구성과의 매핑 관계가 상이하게 정해질 수 있다. 이에 대하여 아래 도 10 및 11을 참조하여 설명한다.
도 10은 본 발명의 일 실시예에 따른 비디오 신호의 블록을 위한 그래프 구성을 예시한다.
본 발명의 일 실시예로서, 지정(specification)은 처리 조각(즉, 이미지 블록)의 경계에 위치하는 샘플들은 도 10(a)와 같이 이용 가능하지 않은 노드 또는 제한된 종속성을 가지는 노드로 해석되도록 정의될 수 있다.
도 10(a)를 참조하면, 처리 블록의 경계에 위치하는 샘플과 관련된 노드들은 처리 블록의 경계가 아닌 내부에 위치하는 샘플들 보다 적은 수의 에지를 가지도록 그래프 구성이 결정될 수 있다. 일례로, 처리 블록의 최상위 경계에 위치하는 샘플들(1011)은 그래프 구성 'b'(도 8 참조)를 가지고 그래프에 표시되도록 결정될 수 있다. 이와 같이, 경계에 위치하는 샘플들은 처리 블록의 경계가 아닌 내부에 위치하는 샘플들 보다 적은 수의 에지를 가지도록 그래프 보다 적은 수의 에지를 가지도록 그래프 구성이 결정됨으로써, 일반적인 2D 신호 레이아웃(layout)을 유지하는(preserving) 노드로 대체될 수 있다.
또한, 도 10(a)에서는 처리 블록만을 예시하고 있으나, 앞서 9의 예시와 같이 처리 블록(910) 내 존재하는 객체(object)(920)의 경계에 위치하는 샘플들도 동일하게 적용될 수 있다. 객체(object)(920)의 경계에 위치하는 샘플들은 객체(object)(920)의 경계가 아닌 내부에 위치하는 샘플(또는 처리 블록(910) 경계가 아닌 내부에 위치하는 샘플) 보다 적은 수의 에지를 가지도록 그래프 구성이 결정될 수도 있다(도 9의 예시에서 그래프 구성 'b', 'e'로 분류된 샘플들).
본 발명의 다른 일 실시예에 있어서, 지정(specification)은 처리 블록의 서로 다른 면에 위치하는 샘플들 간에 순환적 종속성(circular dependency)이 확립되도록 정의될 수 있다. 처리 블록의 수직적 경계에 위치한 샘플과 연관된 노드를 위해 도입된 순환적 에지(circular edge)로 구성되는 그래프는 아래 도 10(b)에서 예시된다.
도 10(b)를 참조하면, 처리 블록의 수직적 경계에 위치하는 샘플과 관련된 노드(1021/1022)는 블록의 반대편의 수직적 경계에 위치하는 샘플과 관련된 노드(1022/1021)와 순환적 에지(circular edge)를 가지도록 그래프 구성이 결정될 수 있다.
또한, 도 10(b)에서는 처리 블록만을 예시하고 있으나, 처리 블록 내 존재하는 객체(object)의 수직적 경계에 위치하는 샘플들도 동일하게 적용될 수 있다. 즉, 객체(object)의 수직적 경계에 위치하는 샘플들은 반대편의 수직적 경계에 위치하는 샘플들과 순환적 에지(circular edge)를 가지도록 그래프 구성이 결정될 수 있다.
본 발명의 또 다른 일 실시예에 있어서, 특정 신호 구조는 노드에서 이용 가능한(available) 종속성(즉, 에지)을 배제(prevention)하도록 그래프 구조가 해석될 수 있다. 즉, 처리 블록 내 특정 노드에서는 종속성(즉, 에지)가 배제(prevention)되도록 그래프 구성이 결정될 수 있다.
본 발명의 또 다른 일 실시예에 있어서, 동일한 신호 구조가 노드에서 이용 가능한(available) 종속성(즉, 에지)을 유지(preserve)하나 종속성의 소스(source)를 새로운 방향으로 변경(즉, 해당 노드에서 연결되는 다른 노드를 재정의)하도록 해석될 수 있다. 즉, 처리 블록 내 특정 노드에서는 종속성(즉, 에지)가 유지(prevention)되나 해당 노드에서 연결되는 노드를 변경하도록 그래프 구성이 결정될 수 있다.
아래 도 11에서는 이러한 2가지의 사용예를 예시한다.
도 11은 본 발명의 일 실시예에 따른 비디오 신호의 블록을 위한 그래프 구조를 예시한다.
도 11에서는 앞서 도 9와 같이 6×6 크기의 처리 블록을 예시한다.
도 11(a)에서는 처리 블록 내 샘플 중에서 객체(1120)의 다른편에 위치하는 샘플들(111a, 1112a) 간의 종속성이 확립되는 것을 배제(prevent)하는 신호 구조 정보를 예시한다.
인코더는 도 11(a)와 같이 처리 블록 내 객체(2×3 크기의 블록을 구성하는 샘플들, B)(1120)이 처리 블록 내 존재함으로써 배경(객체(1120) 이외의 샘플들, A)에 속하는 샘플들(1111a, 1112a) 간의 종속성을 배제할 수 있다. 즉, 인코더는 객체(1120) 내 속하지 않는 샘플 중에서 객체(1120)와 인접한 샘플들(1111a, 1112a) 간에 에지로 연결되지 않도록, 해당 샘플들(111a, 1112a)의 그래프 구성을 결정할 수 있다.
예를 들어, 객체(1120)의 상측 경계와 인접한 샘플들(1111a)는 앞서 도 8(e)에서 예시된 그래프 구성으로 결정되고, 객체(1120)의 하측 경계와 인접한 (1112b)는 앞서 도 8(b)에 예시된 그래프 구성으로 결정될 수 있다.
도 11(b)는 객체의 다른편에 위치하는 샘플들 간의 종속성이 중단(interrupted)되지 않도록 해석되는 신호 구조 정보를 예시한다. 즉, 객체의 존재가 종속성(즉, 에지)을 확립을 배제(prevent)하지 않는 경우를 예시한다.
인코더는 도 11(b)와 같이 처리 블록 내 객체(1120)가 존재하더라도 배경에 속하는 샘플들(1111b, 1112b) 간의 종속성을 유지할 수 있다. 즉, 인코더는 객체(1120)와 인접한 샘플들(1111b, 1112b) 간에 에지로 연결되도록 해당 샘플들(1111b, 1112b)의 그래프 구성을 결정할 수 있다. 예를 들어, 객체(1120)와 인접한 샘플들(1111b, 1112b)은 앞서 도 8(a)에 예시된 그래프 구성으로 결정될 수 있다.
도 11에서는 설명의 편의를 위해 객채(object)의 상측 경계 및 하측 경계에 위치하는 샘플들 간의 종속성을 예시하여 설명하였으나, 본 발명이 이에 한정되는 것은 아니다.
위와 같은 2가지의 케이스에서, 이용 가능한 신호 구조는 처리 블록 내 객체(object)가 존재하고 있음을 설명(description)하나, 객체(object)에 속하지 않은 샘플들에 대한 그래프 구조는 도 11의 예시와 같이 상이하게 구성될 수 있다.
4) 수학적 그래프 설명 내 신호 구조(signal structure)의 반영(reflecting)
신호 구조의 설명(description) 및 이용 가능한(available) 그래프 구성 {C_i}이 특정되면, 확립된 규격(specification)을 이용하여 이용 가능한 그래프 구성 {C_i}의 요소로부터 그래프가 구성된다.
이와 같이 구성되는 그래프는 차수 행렬(degree matrix) D 및 인접 행렬(adjacent matrix) A 행렬로 표시될 수 있으며, 결국 라플라시안 행렬 L을 통해 수학적으로 설명될 수 있다. 라플라시안 행렬 L은 앞서 수학식 2에 따라 최적의 변환 U를 도출하기 위하여 이용된다.
각 노드에 대한 종속성(dependency)의 복잡도를 나타내는 차수 행렬 D의 대각 성분 D_i,j는 인접 행렬 A의 i번째 행(row)의 합계(summation)(즉, i번째 행의 0이 아닌 성분의 개수)와 같다.
본 발명에서는 신호 구조의 압축된 설명(description)에 따라 동일한 영역에 속하는 신호 샘플에 관련된 그래프 노드에 대한 성분 값에 오프셋(offset)을 적용하여 차수 행렬 D를 수정하는 방법을 제안한다. 이에 대하여 아래 도면을 참조하여 설명한다.
도 12는 본 발명의 일 실시예에 따른 비디오 신호의 변화 패턴에 따라 변환을 도출하는 방법을 설명하기 위한 도면이다.
도 12에서는 2개의 구분되는 변화 패턴(클래스 1 및 클래스 2)을 구성하는 신호의 4개의 포인트 s_i를 예시한다.
도 12를 참조하면, 4 포인트의 1D 신호 s_i는 위치 1 및 4에서 낮은 크기(magnitude) 샘플로 구성되고, 위치 2 및 3에서 높은 크기(magnitude) 샘플로 구성되는 경우를 예시한다.
2개의 클래스로 구성되는 신호 샘플을 특정하기 위하여 신호 구조 설명을 이용할 수 있다. 도 12에서는 {s_1, s_4} 샘플들은 클래스 1에 속하고, {s_2, s_3} 샘플들은 클래스 2에 속하는 경우를 예시한다.
신호 s_i의 그래프 구조는 다음 수학식 6과 같이 차수 행렬(D) 및 인접 행렬(A)이 도출될 수 있다.
Figure 112017044075877-pct00006
수학식 6에서 가중치 0.1(weights=0.1)은 2개의 클래스의 경계에 위치하는 샘플들 간(즉, 1번째 샘플과 2번째 샘플 간 그리고 3번째 샘플과 4번째 샘플 간)의 낮은 상관을 나타낸다.
본 발명에서 제안하는 방법에서, 신호 구조 정보를 이용하여 샘플 1 및 4가 하나의 클래스(즉, 클래스 1)로 분류될 수 있으며, 신호가 복수의 클래스로 분류되는 점에 기초하여 차수 행렬(degree matrix) D를 수정할 수 있다. 본 발명에서 제안하는 방법에 따르면, 앞서 도 12에서 예시된 신호로부터 다음 수학식 7과 같이 차수 행렬(D) 및 인접 행렬(A)이 도출될 수 있다.
Figure 112017044075877-pct00007
수학식 7에서 P는 임의로 선택되는 값으로서, 현재 그래프 G 내 노드에서 이용 가능한 차수의 개수보다 현저하게 큰 값으로 선택될 수 있다.
또한, 앞서 수학식 1을 이용함으로써 이러한 정보가 아래 수학식 8과 같이 라플라시안 행렬 L에 직접적으로 도입될 수 있다.
Figure 112017044075877-pct00008
앞서 수학식 2에서 변환 U을 도출하는 과정에 있어서, 라플라시안 행렬에 오프셋 P를 적용하여 주어신 신호의 클래스 즉, 클래스 1의 샘플 및 클래스 2의 샘플을 명확히 분리함으로써 고유 벡터 분해(eigen vector decomposition)의 결과 값 및 직교 기저 함수(orthogonal basis function)의 세트를 구성하는데 영향을 미친다.
즉, 신호의 클래스 별로 D 행렬의 성분에 서로 다른 오프셋이 적용될 수 있다. 이때, 신호 구조의 설명(description)에 기초하여 처리 블록 내 샘플들이 복수의 신호 클래스로 분류될 수 있다. 다시 말해 각 샘플 별로 결정된 그래프 구성에 기반으로 복수의 신호 클래스로 분류될 수 있다. 예를 들어, 높은 종속성을 가지는 연속되는 샘플들로 그룹핑하여 각각 구분되는 클래스로 분류할 수 있다. 또 다른 일례로, 처리 블록 내 객체(object)가 존재하는 경우, 객체(object)에 속한 샘플과 객체(object)에 속하지 않은 샘플로 분류할 수 있다.
한편, 도 12에서는 설명의 편의를 위해 신호를 2개의 클래스로 구분하는 경우를 예시하고 있으나, 본 발명이 이에 한정되는 것은 아니다. 즉, 그래프 구조 설명을 이용하여 신호를 3개 이상의 클래스로 구분하고, 각 클래스 별로 독립적으로 처리(즉, 독립적으로 오프셋 적용)됨으로써 신호 처리의 효율을 향상시킬 수 있다.
본 발명의 목적인 신호 처리 및/또는 향상을 위하여 본 발명의 일 실시예로서 그래프 기반 처리 기술이 이용될 수 있다. 이러한 실시예는 변환 기반 신호 필터링(signal filtering), 잡음제거(denosing), 향상(enhancement)을 포함할 수 있으며, 여기서 이용되는 변환은 본 발명에서 제안하는 신호 구조 설명(description) 및 그래프 구조를 사용하여 구성되는 그래프로부터 도출될 수 있다.
또한, 본 발명의 목적인 신호 압축을 위하여 그래프 기반 처리 기술이 실시예로서 이용될 수 있다. 이러한 실시예는 변환 기반 신호 압축(signal compression)을 포함하고, 이용되는 변환은 본 발명에서 제안하는 신호 구조 설명(description) 및 그래프 구조을 사용하여 구성되는 그래프로부터 도출될 수 있다.
본 발명의 일 실시예에 있어서, 신호 구조 설명 및 이용 가능한 그래프 구성은 검출(detection), 분할(segmentation) 및/또는 형태학적 동작(morphological operation)을 사용하여 현재 처리되는 신호로부터 도출될 수 있다.
본 발명의 일 실시예에 있어서, 그래프 기반 처리에서 이용되는 신호 구조 설명 및 이용 가능한 그래프 구성은 압축된 비트스트림 내에서 인코더로부터 디코더로 시그널링될 수 있다.
도 13은 본 발명의 일 실시예에 따른 그래프 기반 변환(graph based transform)을 이용한 비디오 신호 처리 방법을 예시하는 도면이다.
도 13을 참조하면, 인코더는 현재 이미지/비디오 신호의 처리(예를 들어, 인코딩, 필터링)를 위하여 이용 가능한 그래프 구성의 세트를 특정할 수 있다(S1301).
이때, 인코더는 이미지 및/또는 비디오의 타입, 해상도, 크기 또는 이미지 및/또는 비디오가 이용되는 어플리케이션(application) 등과 같은 정보를 기반으로 이용하여 이용 가능한(available) 파라미터 구성 세트를 특정할 수 있다.
또한, 인코더는 전체 이미지 및/또는 비디오에 대한 이용 가능한 그래프 파라미터 구성의 세트를 특정할 수도 있으나, 미리 정의된 N×N 크기의 처리 블록 별로 이용 가능한 그래프 파라미터 구성 세트를 특정할 수도 있다.
또한, 인코더는 디코더에게 이용 가능한 그래프 파라미터 구성 세트에 정보를 비트스트림(bitstream)을 통해 시그널링(즉, 전송)할 수 있다.
이와 반대로, 이용 가능한 그래프 파라미터 구성 세트는 이미지 및/또는 비디오와는 무관하게 미리 고정되어 인코더 및 디코더에서 모두 알고 있을 수도 있으며, 이 경우 S1301 단계를 생략될 수 있다.
한편, 도 13에서는 도시되지 않았으나, S1301 단계 이전에 현재 처리되는 이미지/비디오 2D 신호를 처리 블록(PB: Processsing Block)으로 분할하고, 처리 블록 단위로 처리(예를 들어, 인터 예측 또는 인트라 예측)하는 단계가 더 포함될 수 있다.
인코더는 처리 블록 내 샘플들로부터 신호 구조 정보(또는 설명(description)을 추출(또는 도출)한다(S1303).
인코더에서는 이용 가능한(available) 그래프 파라미터 구성을 기반으로 처리 블록 내 객체(object)를 고려하여 각 샘플 별로 해당 샘플에 적용되는 그래프 파라미터 구성을 결정할 수 있다. 즉, 신호 구조 정보는 상기 특정된 그래프 구성의 세트 중에서 처리 블록 내 각 샘플에 적용되는 그래프 구성에 대한 정보로 정의될 수 있다.
이때, 그래프 구성은 샘플이 상기 처리 블록 내 검출된 객체(object)에 속하는지 여부 또는 샘플이 객체의 경계에 위치하는지 여부에 따라 결정될 수 있다.
또한, 그래프 구성은 샘플이 처리 블록 내 검출된 객체(object)에 속하는지 여부 또는 샘플이 객체의 경계에 위치하는지 여부에 따라 결정될 수 있다.
또한, 처리 블록의 경계에 위치하는 샘플은 다른 샘플들 보다 적은 수의 에지를 가지도록 그래프 구성이 결정될 수 있다.
또한, 처리 블록의 수직적 경계에 위치하는 샘플은 처리 블록의 반대편의 다른 수직적 경계에 위치하는 샘플과 순환적 에지(circular edge)를 가지도록 그래프 구성이 결정될 수 있다.
또한, 객체(object)와 인접한 샘플은 상기 객체(object)의 다른편에 인접한 샘플과의 에지를 가지지 않도록 그래프 구성이 결정될 수 있다.
또한, 객체(object)와 인접한 샘플은 상기 객체(object)의 다른편에 인접한 샘플과의 에지를 가지도록 그래프 구성이 결정될 수 있다.
S1303 단계에 대하여 아래 도 14을 참조하여 보다 상세히 설명한다.
도 14는 본 발명의 일 실시예에 따른 그래프 기반 변환(graph based transform)을 이용한 비디오 신호 처리 방법을 예시하는 도면이다.
도 14를 참조하면, 인코더는 객체 검출 알고리즘(object detection algorithm)을 이용하여 처리 블록 내 포함된 하나 이상의 객체(object)를 검출한다(S1401).
인코더는 처리 블록 내 객체(object)에 속한 샘플과 객체(object)에 속하지 않은 샘플을 구분한다(S1402).
여기서, 인코더는 처리 블록 내 존재하는 객체(object)에 속한 샘플들과 객체(object)에 속하지 않은 샘플들을 구분하여 마킹(marking)할 수 있다.
이때, 처리 블록 내에 하나 이상의 객체(object)가 존재할 수 있으며, 이 경우 각 객체(object) 별로 해당 객체(object)에 속한 샘플들을 구분하여 마킹(marking)할 수 있다.
S1302 단계를 다시 참조하면, 인코더는 앞서 S1401 및 S1402 단계와 같이 인코더는 처리 블록 샘플을 객체(object)에 속하는지 여부를 구분하고, 미리 정해진 지정(specification)(즉 처리 블록 내 이미지/비디오 샘플과 그래프 파라미터 구성과의 매핑 관계)에 따라, 처리 블록의 신호 구조 정보(또는 설명(description)을 도출(또는 추출)할 수 있다. 즉, 처리 블록 내 각 샘플 별로 해당 샘플에 적용되는 그래프 파라미터 구성을 결정할 수 있다.
여기서, 처리 블록 내 이미지/비디오 샘플과 그래프 파라미터 구성과의 매핑 관계는 앞서 도 10 및 도 11의 예시에서 설명한 바와 같이 어플리케이션(application) 또는 사용예(use case)에 따라 상이하게 정해질 수 있다.
인코더는 신호 구조 정보를 이용하여 처리 블록 내 샘플에 대한 그래프를 구성한다(S1303).
즉, 인코더는 처리 블록 내 각 샘플 별로 결정된 그래프 구성을 적용함으로써 처리 블록에 대한 그래프를 구성할 수 있다.
인코더는 그래프를 이용하여 처리 블록을 위한 변환 U을 결정한다(S1304).
앞서 설명한 바와 같이 그래프는 차수 행렬(degree matrix) D 및 인접 행렬(adjacent matrix) A 행렬로 표시될 수 있으며, 결국 라플라시안 행렬 L을 통해 표시될 수 있다. 그리고, 라플라시안 행렬 L은 앞서 수학식 2에 따라 최적의 변환 U를 도출하기 위하여 이용된다.
여기서, 앞서 설명한 바와 같이 인코더는 신호 구조의 설명(description) 즉, 처리 블록 내 샘플 별로 결정된 그래프 구성에 기초하여 처리 블록 내 샘플들을 복수의 클래스로 분류할 수 있다. 그리고, 인코더는 각 신호의 클래스(또는 샘플의 클래스) 별로 독립적으로 차수 행렬(D)의 성분에 오프셋 값을 적용할 수 있다.
인코더는 결정된 변환 U를 이용하여 처리 블록 내 샘플들을 변환 처리한다(S1305).
이후, 인코더는 변환 U의 스펙트럼(spectrum) 내 필터링 동작을 수행할 수 있다(S1311).
또한, 인코더는 변환 U의 변환 계수를 양자화하고, 양자화된 변환 계수를 엔트로피 코딩하여 비트 스트림으로 출력할 수 있다(S1321).
이때, 비트 스트림은 현재 처리 블록에 대한 신호 구조 정보(즉, 각 샘플 별 그래프 구성 정보)를 포함할 수 있다.
도 15는 본 발명의 일 실시예에 따른 그래프 기반 변환(graph based transform)을 수행하는 변환부를 보다 구체적으로 예시하는 도면이다.
도 15를 참조하면, 변환부(120)(도 1 참조)는 앞서 본 발명의 1) 내지 4)에서 제안된 기능, 과정 및/또는 방법을 구현한다. 구체적으로, 변환부(120)는 그래프 구성 세트 특정부(1501), 신호 구조 도출부(1502), 그래프 구성부(1503), 변환 결정부(1504), 변환 처리부(1505)를 포함하여 구성될 수 있다.
그래프 구성 세트 특정부(1501)는 현재 이미지/비디오 신호의 처리(예를 들어, 인코딩, 필터링)를 위하여 이용 가능한 그래프 구성의 세트를 특정한다.
또는, 이용 가능한 그래프 파라미터 구성 세트는 이미지 및/또는 비디오와는 무관하게 미리 고정되어 인코더 및 디코더에서 모두 알고 있을 수도 있으며, 이 경우 그래프 구성 세트 특정부(1501)는 생략될 수 있다.
신호 구조 도출부(1502)는 처리 블록 내 샘플들로부터 신호 구조 정보(또는 설명(description)을 도출(또는 추출)한다. 즉, 신호 구조 도출부(1502)는 이용 가능한(available) 그래프 파라미터 구성을 기반으로 처리 블록 내 객체(object)를 고려하여 각 샘플 별로 해당 샘플에 적용되는 그래프 파라미터 구성을 결정할 수 있다.
그래프 구성부(1503)는 신호 구조 정보를 이용하여 처리 블록 내 샘플에 대한 그래프를 구성한다. 즉, 그래프 구성부(1503)는 처리 블록 내 각 샘플 별로 결정된 그래프 구성을 적용함으로써 처리 블록에 대한 그래프를 구성할 수 있다.
변환 결정부(1504)는 그래프를 이용하여 처리 블록을 위한 변환 U을 결정한다. 즉, 변환 결정부(1504)는 그래프는 차수 행렬(degree matrix) D 및 인접 행렬(adjacent matrix) A 행렬로 표시될 수 있으며, 차수 행렬 D 및 인접 행렬 A를 이용하여 앞서 수학식 1과 같이 라플라시안 행렬 L을 도출할 수 있다. 그리고, 변환 결정부(1504)는 앞서 수학식 2와 같이 라플라시안 행렬 L을 이용하여 최적의 변환 U를 도출할 수 있다.
여기서, 앞서 설명한 바와 같이 변환 결정부(1504)는 신호 구조의 설명(description)에 기초하여 처리 블록 내 샘플들을 복수의 클래스로 분류하고, 각 신호의 클래스(또는 샘플의 클래스) 별로 독립적으로 차수 행렬(D)의 성분에 오프셋 값을 적용할 수 있다.
변환 처리부(1505)는 결정된 변환 U를 이용하여 처리 블록 내 샘플들을 변환 처리한다.
도 16은 본 발명의 일 실시예에 따른 그래프 기반 변환(graph based transform)을 이용한 비디오 신호 처리 방법을 예시하는 도면이다.
도 16을 참조하면, 디코더는 현재 이미지/비디오 신호의 처리(예를 들어, 인코딩, 필터링)를 위하여 이용 가능한 그래프 구성의 세트를 특정할 수 있다(S1601).
이때, 디코더는 이미지 및/또는 비디오의 타입, 해상도, 크기 또는 이미지 및/또는 비디오가 이용되는 어플리케이션(application) 등과 같은 정보를 기반으로 이용하여 이용 가능한(available) 파라미터 구성 세트를 특정할 수 있다.
또한, 디코더는 전체 이미지 및/또는 비디오에 대한 이용 가능한 그래프 파라미터 구성의 세트를 특정할 수도 있으나, 미리 정의된 N×N 크기의 처리 블록 별로 이용 가능한 그래프 파라미터 구성 세트를 특정할 수도 있다.
또한, 디코더는 인코더로부터 이용 가능한 그래프 파라미터 구성 세트에 정보를 비트스트림(bitstream)을 통해 수신할 수 있다.
이와 반대로, 이용 가능한 그래프 파라미터 구성 세트는 이미지 및/또는 비디오와는 무관하게 미리 고정되어 인코더 및 디코더에서 모두 알고 있을 수도 있으며, 이 경우 S1601 단계를 생략될 수 있다.
디코더는 비트 스트림으로부터 처리 블록 내 샘플에 대한 신호 구조 정보를 결정(또는 도출)한다(S1602). 상술한 바와 같이, 인코더로부터 시그널링되는 비트 스트림은 현재 처리 블록에 대한 신호 구조 정보(즉, 현재 처리 블록 내 각 샘플 별로 적용되는 그래프 구성 정보)를 포함할 수 있다.
디코더는 신호 구조 정보를 이용하여 처리 블록 내 샘플에 대한 그래프를 구성한다(S1603).
즉, 디코더는 처리 블록 내 각 샘플 별로 결정된 그래프 구성을 적용함으로써 처리 블록에 대한 그래프를 구성할 수 있다.
디코더는 그래프를 이용하여 처리 블록을 위한 변환 U을 결정한다(S1604).
디코더는 비트 스트림으로부터 변환 계수를 결정(또는 도출)하고, 결정된 변환 계수를 역변환 처리한다(S1605).
디코더는 변환 계수를 역변환하여 차분 신호(residual signal)를 획득하고, 획득된 차분 신호를 예측 신호(prediction signal)에 더함으로써 복원 신호(reconstructed signal)를 생성할 수 있다.
한편, 도 16에서는 도시되지 않았으나, 디코더는 S1605 단계 이전에 비트 스트림으로부터 결정된 변환 계수를 역양자화할 수 있다.
도 17은 본 발명의 일 실시예에 따른 그래프 기반 변환(graph based transform)을 수행하는 역변환부를 보다 구체적으로 예시하는 도면이다.
도 17을 참조하면, 역변환부(230)(도 2 참조)는 앞서 본 발명의 1) 내지 4)에서 제안된 기능, 과정 및/또는 방법을 구현한다. 구체적으로, 역변환부(230)는 그래프 구성 세트 특정부(1701), 신호 구조 결정부(1702), 그래프 구성부(1703), 변환 결정부(1704), 역변환 처리부(1705)를 포함하여 구성될 수 있다.
그래프 구성 세트 특정부(1701)는 현재 이미지/비디오 신호의 처리(예를 들어, 인코딩, 필터링)를 위하여 이용 가능한 그래프 구성의 세트를 특정한다.
또는, 이용 가능한 그래프 파라미터 구성 세트는 이미지 및/또는 비디오와는 무관하게 미리 고정되어 인코더 및 디코더에서 모두 알고 있을 수도 있으며, 이 경우 그래프 구성 세트 특정부(1701)는 생략될 수 있다.
신호 구조 결정부(1702)는 비트 스트림으로부터 처리 블록 내 샘플에 대한 신호 구조 정보를 결정(또는 도출)한다.
그래프 구성부(1703)는 신호 구조 정보를 이용하여 처리 블록 내 샘플에 대한 그래프를 구성한다. 즉, 그래프 구성부(1703)는 처리 블록 내 각 샘플 별로 결정된 그래프 구성을 적용함으로써 처리 블록에 대한 그래프를 구성할 수 있다.
변환 결정부(1704)는 그래프를 이용하여 처리 블록을 위한 변환 U을 결정한다
역변환 처리부(1705)는 비트 스트림으로부터 변환 계수를 결정(또는 도출)하고, 결정된 변환 계수를 역변환 처리한다.
이상에서 설명된 실시예들은 본 발명의 구성요소들과 특징들이 소정 형태로 결합된 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려되어야 한다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성하는 것도 가능하다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다. 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있음은 자명하다.
본 발명에 따른 실시예는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리는 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고 받을 수 있다.
본 발명은 본 발명의 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 다양한 다른 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.

Claims (11)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 그래프 기반 변환(graph based transform)을 이용하여 비디오 신호를 처리하는 방법에 있어서,
    상기 비디오 신호의 처리를 위해 이용 가능한 그래프 구성의 세트를 특정하는 단계;
    상기 비디오 신호의 비트 스트림으로부터 처리 블록 내 각 샘플에 적용되는 그래프 구성에 대한 정보를 나타내는신호 구조 정보를 결정하는 단계로서, 여기서, 상기 그래프 구성은 상기 특정된 그래프 구성의 세트에 속함;
    상기 신호 구조 정보를 이용하여 상기 비디오 신호의 상기 처리 블록 내 샘플들에 대한 그래프를 구성하는 단계;
    상기 그래프를 이용하여 상기 처리 블록을 위한 변환(transform)을 결정하는 단계; 및
    상기 비트 스트림으로부터 결정된 변환 계수를 역변환하는 단계를 포함하고,
    상기 신호 구조 정보는 상기 특정된 그래프 구성의 세트 중에서 상기 처리 블록 내 각 샘플에 적용되는 그래프 구성에 대한 정보로 정의되고,
    상기 그래프 구성은 상기 처리 블록 내 샘플과 노드와의 연관(association) 정보, 상기 노드에서 이용 가능한 에지의 개수 정보, 상기 노드에서 이용 가능한 모든 에지에 대한 가중치를 포함하고,
    상기 그래프 구성은 샘플이 상기 처리 블록 내 검출된 객체(object)에 속하는지 여부 또는 샘플이 상기 객체의 경계에 위치하는지 여부에 따라 결정되고,
    상기 처리 블록의 경계에 위치하는 샘플은 다른 샘플들 보다 적은 수의 에지를 가지도록 상기 그래프 구성이 결정되고,
    상기 처리 블록의 수직적 경계에 위치하는 샘플은 상기 처리 블록의 반대편의 다른 수직적 경계에 위치하는 샘플과 순환적 에지(circular edge)를 가지도록 상기 그래프 구성이 결정되고,
    상기 객체(object)와 인접한 샘플은 상기 객체(object)의 다른편에 인접한 샘플과의 에지를 가지거나 또는 가지지 않도록 상기 그래프 구성이 결정되고,
    상기 처리 블록 내 샘플들은 상기 신호 구조 정보에 기초하여 복수의 신호 클래스로 구분되고,
    상기 복수의 신호 클래스 별로 독립적으로 상기 그래프의 차수 행렬(degree matrix)에 오프셋 값이 적용되는 영상 처리 방법.
  10. 삭제
  11. 삭제
KR1020177012525A 2014-11-16 2015-11-11 그래프 기반 변환(graph based transform)을 이용한 비디오 신호 처리 방법 및 이를 위한 장치 KR102123628B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201462080384P 2014-11-16 2014-11-16
US62/080,384 2014-11-16
PCT/KR2015/012103 WO2016076624A1 (ko) 2014-11-16 2015-11-11 그래프 기반 변환(graph based transform)을 이용한 비디오 신호 처리 방법 및 이를 위한 장치

Publications (2)

Publication Number Publication Date
KR20170072243A KR20170072243A (ko) 2017-06-26
KR102123628B1 true KR102123628B1 (ko) 2020-06-18

Family

ID=55954637

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177012525A KR102123628B1 (ko) 2014-11-16 2015-11-11 그래프 기반 변환(graph based transform)을 이용한 비디오 신호 처리 방법 및 이를 위한 장치

Country Status (4)

Country Link
US (1) US10356420B2 (ko)
KR (1) KR102123628B1 (ko)
CN (1) CN107113427B (ko)
WO (1) WO2016076624A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
WO2018038554A1 (ko) * 2016-08-24 2018-03-01 엘지전자(주) 이차 변환을 이용한 비디오 신호의 인코딩/디코딩 방법 및 장치
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
US11122297B2 (en) * 2019-05-03 2021-09-14 Google Llc Using border-aligned block functions for image compression

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110229024A1 (en) * 2008-12-11 2011-09-22 Imax Corporation Devices and Methods for Processing Images Using Scale Space
US20130022288A1 (en) * 2011-07-20 2013-01-24 Sony Corporation Image processing apparatus and method for reducing edge-induced artefacts

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101598857B1 (ko) * 2010-02-12 2016-03-02 삼성전자주식회사 그래프 기반 화소 예측을 이용한 영상 부호화/복호화 시스템 및 방법 그리고 깊이 맵 부호화 시스템 및 방법
KR20110135787A (ko) * 2010-06-11 2011-12-19 삼성전자주식회사 엣지-적응 변환을 이용한 영상 부호화/복호화 시스템 및 방법
JP6188005B2 (ja) * 2012-06-21 2017-08-30 大学共同利用機関法人情報・システム研究機構 濃淡画像符号化装置及び復号装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110229024A1 (en) * 2008-12-11 2011-09-22 Imax Corporation Devices and Methods for Processing Images Using Scale Space
US20130022288A1 (en) * 2011-07-20 2013-01-24 Sony Corporation Image processing apparatus and method for reducing edge-induced artefacts

Also Published As

Publication number Publication date
WO2016076624A1 (ko) 2016-05-19
CN107113427A (zh) 2017-08-29
KR20170072243A (ko) 2017-06-26
US20170359581A1 (en) 2017-12-14
US10356420B2 (en) 2019-07-16
CN107113427B (zh) 2020-06-30

Similar Documents

Publication Publication Date Title
Hu et al. Multiresolution graph fourier transform for compression of piecewise smooth images
KR101901355B1 (ko) 최적화 함수를 이용하여 그래프 기반 예측을 수행하는 방법 및 장치
KR102549987B1 (ko) 영상 처리 방법 및 이를 위한 장치
EP3354030B1 (en) Methods and apparatuses for encoding and decoding digital images through superpixels
US10499061B2 (en) Method and device for processing video signal by using separable graph-based transform
US20180220158A1 (en) Method and device for processing video signal using graph-based transform
KR102123628B1 (ko) 그래프 기반 변환(graph based transform)을 이용한 비디오 신호 처리 방법 및 이를 위한 장치
US10469838B2 (en) Method and apparatus for processing video signal using graph-based transformation based on prediction angle
KR101912769B1 (ko) 그래프 템플릿으로부터 유도된 변환을 이용하여 비디오 신호를 디코딩/인코딩하는 방법 및 장치
KR102059842B1 (ko) 일반화된 그래프 파라미터를 이용하여 그래프 기반 변환을 수행하는 방법 및 장치
US10771815B2 (en) Method and apparatus for processing video signals using coefficient induced prediction
WO2019183901A1 (en) Picture encoding and decoding, picture encoder, and picture decoder
EP3340632B1 (en) Method and device for processing video signals
US20230269385A1 (en) Systems and methods for improving object tracking in compressed feature data in coding of multi-dimensional data
EP3711297A1 (en) Image and video processing apparatuses and methods
US11695958B2 (en) Method and apparatus for encoding/decoding video signal by using edge-adaptive graph-based transform

Legal Events

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