KR20180028468A - 싱글톤 계수 업데이트를 이용하여 변환을 수행하는 방법 및 장치 - Google Patents

싱글톤 계수 업데이트를 이용하여 변환을 수행하는 방법 및 장치 Download PDF

Info

Publication number
KR20180028468A
KR20180028468A KR1020187003563A KR20187003563A KR20180028468A KR 20180028468 A KR20180028468 A KR 20180028468A KR 1020187003563 A KR1020187003563 A KR 1020187003563A KR 20187003563 A KR20187003563 A KR 20187003563A KR 20180028468 A KR20180028468 A KR 20180028468A
Authority
KR
South Korea
Prior art keywords
transform
conversion
horizontal
vertical
coefficient
Prior art date
Application number
KR1020187003563A
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 KR20180028468A publication Critical patent/KR20180028468A/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은, 비디오 신호를 인코딩하는 방법에 있어서, 타겟 블록에 대한 최적화 과정을 통해 변환 파라미터 셋을 선택하는 단계, 여기서 변환 파라미터 셋은 수직 변환 셋, 수평 변환 셋 및 변환 순서 파라미터 셋을 포함함; 상기 선택된 변환 파라미터 셋에 기초하여 싱글톤 계수를 갖는 변환 블록을 업데이트하는 단계, 여기서 상기 싱글톤 계수는 상기 변환 순서 파라미터 셋에 기초하여 획득된 싱글 계수를 나타냄; 상기 업데이트된 변환 블록에 기초하여 상기 타겟 블록에 대한 변환 계수를 획득하는 단계; 상기 변환 계수를 양자화하는 단계; 및 상기 양자화된 변환 계수를 엔트로피 인코딩하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.

Description

싱글톤 계수 업데이트를 이용하여 변환을 수행하는 방법 및 장치
본 발명은 비디오 신호의 인코딩/디코딩 방법 및 장치에 관한 것이며, 보다 구체적으로 인코더의 경우 싱글톤 계수 업데이트를 이용하여 변환을 수행하는 기술에 관한 것이고, 디코더의 경우 싱글톤 계수 업데이트가 반영된 변환에 기초하여 역변환을 수행하는 기술에 관한 것이다.
압축 부호화란 디지털화한 정보를 통신 회선을 통해 전송하거나, 저장 매체에 적합한 형태로 저장하기 위한 일련의 신호 처리 기술을 의미한다. 영상, 이미지, 음성 등의 미디어가 압축 부호화의 대상이 될 수 있으며, 특히 영상을 대상으로 압축 부호화를 수행하는 기술을 비디오 영상 압축이라고 일컫는다.
차세대 비디오 컨텐츠는 고해상도(high spatial resolution), 고프레임율(high frame rate) 및 영상 표현의 고차원화(high dimensionality of scene representation)라는 특징을 갖게 될 것이다. 그러한 컨텐츠를 처리하기 위해서는 메모리 저장(memory storage), 메모리 액세스율(memory access rate) 및 처리 전력(processing power) 측면에서 엄청난 증가를 가져올 것이다. 따라서, 차세대 비디오 컨텐츠를 보다 효율적으로 처리하기 위한 새로운 코딩 툴을 디자인할 필요가 있다.
특히, 종래의 비디오 코딩에서는, 분리 가능한 2D 이산 코사인 변환(2D DCT)이 블록 신호들로 전형적으로 사용된다. 2D DCT의 사용의 주요 단점은 블록 데이터의 비-등방성 특징을 획득(capture)할 수 없는 등방성 변환이라는 것이다. 실제적으로, 이미지/비디오 블록들은 인터/인트라 모드와 같은 예측 방법 및 비디오 컨텐츠에 의존하는 다양한 통계적인 특성들을 가질 수 있다. 따라서, 데이터 블록들의 비-등방성 통계적 특징들에 적응될 수 있는 상이한 변환들을 사용함으로써 양호한 압축 이득들이 달성될 수 있다. 이러한 문제에 대한 한가지 해결책은 카루넨-루베 (Karhunen-Loeve) 변환 (KLT)과 같은 분리 가능하지 않은 변환들을 이용하는 것이다. 그러나, 상기 KLT는 높은 복잡도 때문에 실질적인 효용이 높지 않다. 따라서, 다중 변환들을 결합함으로써 유도되는 분리 가능하지 않지만 저-복잡도 변환들을 설계할 필요가 있다.
본 발명은 새로운 변환 디자인을 통해 코딩 효율을 향상시키는 방법을 제안하고자 한다.
본 발명은 저복잡도, 비등방성 변환(low-complexity and non-isotropic transform)을 설계하는 방법을 제안하고자 한다.
본 발명은 싱글톤 업데이트를 이용하여 변환을 설계하는 방법을 제안하고자 한다.
본 발명은 특정 변환 순서에 따라 블록 내 각각의 행 및 열에 대해 변환을 수행하는 방법을 제안하고자 한다.
본 발명은 새로운 변환 디자인을 반영하기 위한 새로운 인코더/디코더 구조를 제안하고자 한다.
본 발명은 새로운 변환 디자인을 통해 코딩 효율을 향상시키는 방법을 제공한다.
본 발명은 싱글톤 업데이트를 이용함으로써 저복잡도, 비등방성 변환(low-complexity and non-isotropic transform)을 설계하는 방법을 제공한다.
본 발명은 타겟 블록에 대한 최적화 과정을 통해 변환 파라미터 셋을 선택하는 방법을 제공한다.
본 발명은 변환 파라미터 셋에 기초하여 싱글톤 계수를 갖는 변환 블록을 업데이트하는 방법을 제공한다.
본 발명은 특정 변환 순서에 따라 블록 내 각각의 행 및 열에 대해 변환을 수행하는 방법을 제공한다.
본 발명은 새로운 변환 디자인을 반영하기 위한 새로운 인코더/디코더 구조를 제공한다.
본 발명은 새로운 변환 디자인을 통해 코딩 효율을 향상시킬 수 있다.
그리고, 데이터 블록의 비-등방성 특징들을 획득함으로써 더 양호한 압축을 수행할 수 있으며, 분리 가능한 방식으로 블록 데이터의 서로 다른 부분들에 서로 다른 변환 세트를 적용할 수 있기 때문에, 고해상도 비디오 코덱 상에서 저복잡도로 빠른 구현이 가능할 수 있다.
도 1은 본 발명이 적용되는 실시예로서, 비디오 신호의 인코딩이 수행되는 인코더의 개략적인 블록도를 나타낸다.
도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더의 개략적인 블록도를 나타낸다.
도 3은 본 발명이 적용되는 실시예로서, 코딩 유닛의 분할 구조를 설명하기 위한 도면이다.
도 4는 본 발명이 적용되는 실시예로서, 데이터 블록에 대해 수직 변환과 수평 변환을 수행하는 경우들에 대한 입출력 관계를 나타낸다.
도 5 내지 도 6은 본 발명이 적용되는 실시예들로서, 특정 변환 순서에 따라 수직 변환과 수평 변환을 적용하여 변환 계수를 생성하는 과정을 설명하는 도면이다.
도 7은 본 발명이 적용되는 실시예로서, 수직 변환과 수평 변환을 수행하는 방향성 변환부의 개략적인 내부 블록도를 나타낸다.
도 8은 본 발명이 적용되는 실시예로서, 싱글톤 계수 업데이트를 이용하는 방향성 변환부의 개략적인 내부 블록도를 나타낸다.
도 9는 본 발명이 적용되는 실시예로서, 싱글톤 계수 업데이트부의 개략적인 내부 블록도를 나타낸다.
도 10은 본 발명이 적용되는 실시예로서, 데이터 블록에 대해 싱글톤 수직 계수 업데이트와 싱글톤 수평 계수 업데이트를 수행하는 경우들에 대한 입출력 관계를 나타낸다.
도 11은 본 발명이 적용되는 실시예로서, 변환 계수 피드백에 기초하여 선택된 변환을 이용하는 방향성 변환부의 개략적인 내부 블록도를 나타낸다.
도 12는 본 발명이 적용되는 실시예로서, 인터 예측에서 이용된 참조 블록의 부가 정보에 기초하여 선택된 변환을 이용하는 방향성 변환부의 개략적인 내부 블록도를 나타낸다.
도 13은 본 발명이 적용되는 실시예로서, 싱글톤 계수 업데이트를 이용하여 변환을 수행하는 방법을 설명하는 흐름도이다.
도 14는 본 발명이 적용되는 실시예로서, 최적화 과정을 이용하여 변환 파라미터 셋을 결정하는 방법을 설명하는 흐름도이다.
도 15는 본 발명이 적용되는 실시예로서, 싱글톤 계수 업데이트가 반영된 변환에 기초하여 역변환을 수행하는 방법을 설명하는 흐름도이다.
발명의 실시를 위한 최선의 형태
본 발명은, 비디오 신호를 인코딩하는 방법에 있어서, 타겟 블록에 대한 최적화 과정을 통해 변환 파라미터 셋을 선택하는 단계, 여기서 변환 파라미터 셋은 수직 변환 셋, 수평 변환 셋 및 변환 순서 파라미터 셋을 포함함; 상기 선택된 변환 파라미터 셋에 기초하여 싱글톤 계수를 갖는 변환 블록을 업데이트하는 단계, 여기서 상기 싱글톤 계수는 상기 변환 순서 파라미터 셋에 기초하여 획득된 싱글 계수를 나타냄; 상기 업데이트된 변환 블록에 기초하여 상기 타겟 블록에 대한 변환 계수를 획득하는 단계; 상기 변환 계수를 양자화하는 단계; 및 상기 양자화된 변환 계수를 엔트로피 인코딩하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.
또한, 본 발명에서, 상기 변환 순서 파라미터 셋은 방향 파라미터, 위치 인덱스 파라미터 또는 주파수 파라미터 중 적어도 하나를 포함하는 것을 특징으로 한다.
또한, 본 발명에서, 상기 변환 순서 파라미터 셋은 상기 타겟 블록의 모드 정보에 기초하여 선택되는 것을 특징으로 한다.
또한, 본 발명에서, 상기 모드 정보가 수평 방향을 나타내는 경우 수직 변환을 먼저 적용하고, 상기 모드 정보가 수직 방향을 나타내는 경우 수평 변환을 먼저 적용하는 것을 특징으로 한다.
또한, 본 발명에서, 상기 업데이트 단계는, 다른 변환 순서 파라미터 셋(another transform parameter set)에 기초하여 상기 변환 블록을 업데이트하는 단계를 더 포함하되, 상기 변환 계수는 상기 업데이트된 변환 블록에 기초하여 획득되는 것을 특징으로 한다.
또한, 본 발명에서, 상기 업데이트 단계는, 상기 변환 파라미터 셋에 포함된 파라미터 개수만큼 반복적으로 수행되는 것을 특징으로 한다.
또한, 본 발명에서, 상기 최적화 과정은, 상기 수직 변환 셋과 상기 수평 변환 셋을 초기화하는 단계; 상기 수직 변환 셋을 고정하고 상기 수평 변환 셋의 서브 셋을 업데이트한 후, 상기 수평 변환 셋을 고정하고 상기 수직 변환 셋의 서브 셋을 업데이트하는 단계; 및 공분산 기반 모델링을 통해 최적화된 변환 파라미터 셋을 결정하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명에서, 상기 수직 변환 셋과 상기 수평 변환 셋의 업데이트 순서는 모드 정보에 기초하여 선택되는 것을 특징으로 한다.
또한, 본 발명은, 비디오 신호를 디코딩하는 방법에 있어서, 상기 비디오 신호로부터 타겟 블록에 대한 적어도 하나의 변환 인덱스를 추출하는 단계; 상기 변환 인덱스에 대응되는 변환 파라미터 셋을 유도하는 단계, 여기서 상기 변환 파라미터 셋은 수직 변환 셋, 수평 변환 셋 및 변환 순서 파라미터 셋을 포함함; 및 상기 변환 파라미터 셋에 기초하여 상기 타겟 블록에 대해 역변환을 수행하는 단계를 포함하는 것을 특징으로 하는 방법을 제공한다.
또한, 본 발명은, 비디오 신호를 인코딩하는 장치에 있어서, 타겟 블록에 대한 최적화 과정을 통해 변환 파라미터 셋을 선택하는 변환 선택부, 여기서 변환 파라미터 셋은 수직 변환 셋, 수평 변환 셋 및 변환 순서 파라미터 셋을 포함함; 상기 선택된 변환 파라미터 셋에 기초하여 싱글톤 계수를 갖는 변환 블록을 업데이트하는 업데이트부, 여기서 상기 싱글톤 계수는 상기 변환 순서 파라미터 셋에 기초하여 획득된 싱글 계수를 나타냄; 상기 업데이트된 변환 블록에 기초하여 상기 타겟 블록에 대한 변환 계수를 획득하는 변환 수행부; 상기 변환 계수를 양자화하는 양자화부; 및 상기 양자화된 변환 계수를 엔트로피 인코딩하는 엔트로피 인코딩부를 포함하는 것을 특징으로 하는 장치를 제공한다.
또한, 본 발명은, 비디오 신호를 디코딩하는 장치에 있어서, 상기 비디오 신호로부터 타겟 블록에 대한 적어도 하나의 변환 인덱스를 추출하는 파싱부; 및 상기 변환 인덱스에 대응되는 변환 파라미터 셋을 유도하고, 상기 변환 파라미터 셋에 기초하여 상기 타겟 블록에 대해 역변환을 수행하는 역변환부를 포함하되, 상기 변환 파라미터 셋은 수직 변환 셋, 수평 변환 셋 및 변환 순서 파라미터 셋을 포함하는 것을 특징으로 하는 장치를 제공한다.
발명의 실시를 위한 형태
이하, 첨부된 도면을 참조하여 본 발명의 실시예의 구성과 그 작용을 설명하며, 도면에 의해서 설명되는 본 발명의 구성과 작용은 하나의 실시예로서 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.
아울러, 본 발명에서 사용되는 용어는 가능한 한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어를 사용하여 설명한다. 그러한 경우에는 해당 부분의 상세 설명에서 그 의미를 명확히 기재하므로, 본 발명의 설명에서 사용된 용어의 명칭만으로 단순 해석되어서는 안 될 것이며 그 해당 용어의 의미까지 파악하여 해석되어야 함을 밝혀두고자 한다.
또한, 본 발명에서 사용되는 용어들은 발명을 설명하기 위해 선택된 일반적인 용어들이나, 유사한 의미를 갖는 다른 용어가 있는 경우 보다 적절한 해석을 위해 대체 가능할 것이다. 예를 들어, 신호, 데이터, 샘플, 픽쳐, 프레임, 블록 등의 경우 각 코딩 과정에서 적절하게 대체되어 해석될 수 있을 것이다. 또한, 파티셔닝(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)를 생성할 수 있다. 변환 과정은 정사각형의 동일한 크기를 갖는 픽셀 블록에 적용될 수도 있고, 정사각형이 아닌 가변 크기의 블록에도 적용될 수 있다.
본 발명은 새로운 변환 디자인을 통해 코딩 효율을 향상시키는 방법을 제공한다. 예를 들어, 인코더는 싱글톤 업데이트를 이용함으로써 저복잡도, 비등방성 변환(low-complexity and non-isotropic transform)을 설계할 수 있다.
또한, 본 발명은 타겟 블록에 대한 최적화 과정을 통해 변환 파라미터 셋을 선택하고, 변환 파라미터 셋에 기초하여 싱글톤 계수를 갖는 변환 블록을 업데이트할 수 있다. 이경우, 특정 변환 순서에 따라 블록 내 각각의 행 및 열에 대해 변환을 수행할 수 있다. 이에 대한 구체적인 실시예들은 본 명세서에서 보다 상세히 설명하도록 한다.
양자화부(130)는 변환 계수를 양자화하여 엔트로피 인코딩부(190)로 전송하고, 엔트로피 인코딩부(190)는 양자화된 신호(quantized signal)를 엔트로피 코딩하여 비트스트림으로 출력할 수 있다.
양자화부(130)로부터 출력된 양자화된 신호(quantized signal)는 예측 신호를 생성하기 위해 이용될 수 있다. 예를 들어, 양자화된 신호(quantized signal)는 루프 내의 역양자화부(140) 및 역변환부(150)를 통해 역양자화 및 역변환을 적용함으로써 잔여 신호를 복원할 수 있다. 복원된 잔여 신호를 인터 예측부(180) 또는 인트라 예측부(185)로부터 출력된 예측 신호(prediction signal)에 더함으로써 복원 신호(reconstructed signal)가 생성될 수 있다.
한편, 위와 같은 압축 과정에서 인접한 블록들이 서로 다른 양자화 파라미터에 의해 양자화됨으로써 블록 경계가 보이는 열화가 발생될 수 있다. 이러한 현상을 블록킹 열화(blocking artifacts)라고 하며, 이는 화질을 평가하는 중요한 요소 중의 하나이다. 이러한 열화를 줄이기 위해 필터링 과정을 수행할 수 있다. 이러한 필터링 과정을 통해 블록킹 열화를 제거함과 동시에 현재 픽쳐에 대한 오차를 줄임으로써 화질을 향상시킬 수 있게 된다.
필터링부(160)는 복원 신호에 필터링을 적용하여 이를 재생 장치로 출력하거나 복호 픽쳐 버퍼(170)에 전송한다. 복호 픽쳐 버퍼(170)에 전송된 필터링된 신호는 인터 예측부(180)에서 참조 픽쳐로 사용될 수 있다. 이처럼, 필터링된 픽쳐를 화면간 예측 모드에서 참조 픽쳐로 이용함으로써 화질 뿐만 아니라 부호화 효율도 향상시킬 수 있다.
복호 픽쳐 버퍼(170)는 필터링된 픽쳐를 인터 예측부(180)에서의 참조 픽쳐로 사용하기 위해 저장할 수 있다.
인터 예측부(180)는 복원 픽쳐(reconstructed picture)를 참조하여 시간적 중복성 및/또는 공간적 중복성을 제거하기 위해 시간적 예측 및/또는 공간적 예측을 수행한다. 여기서, 예측을 수행하기 위해 이용되는 참조 픽쳐는 이전 시간에 부호화/복호화 시 블록 단위로 양자화와 역양자화를 거친 변환된 신호이기 때문에, 블로킹 아티팩트(blocking artifact)나 링잉 아티팩트(ringing artifact)가 존재할 수 있다.
따라서, 인터 예측부(180)는 이러한 신호의 불연속이나 양자화로 인한 성능 저하를 해결하기 위해, 로우패스 필터(lowpass filter)를 적용함으로써 픽셀들 사이의 신호를 서브 픽셀 단위로 보간할 수 있다. 여기서, 서브 픽셀은 보간 필터를 적용하여 생성된 가상의 화소를 의미하고, 정수 픽셀은 복원된 픽쳐에 존재하는 실제 화소를 의미한다. 보간 방법으로는 선형 보간, 양선형 보간(bi-linear interpolation), 위너 필터(wiener filter) 등이 적용될 수 있다.
보간 필터는 복원 픽쳐(reconstructed picture)에 적용되어 예측의 정밀도를 향상시킬 수 있다. 예를 들어, 인터 예측부(180)는 정수 픽셀에 보간 필터를 적용하여 보간 픽셀을 생성하고, 보간 픽셀들(interpolated pixels)로 구성된 보간 블록(interpolated block)을 예측 블록(prediction block)으로 사용하여 예측을 수행할 수 있다.
한편, 인트라 예측부(185)는 현재 부호화를 진행하려고 하는 블록의 주변에 있는 샘플들을 참조하여 현재 블록을 예측할 수 있다. 상기 인트라 예측부(185)는 인트라 예측을 수행하기 위해 다음과 같은 과정을 수행할 수 있다. 먼저, 예측 신호를 생성하기 위해 필요한 참조 샘플을 준비할 수 있다. 그리고, 준비된 참조 샘플을 이용하여 예측 신호를 생성할 수 있다. 이후, 예측 모드를 부호화하게 된다. 이때, 참조 샘플은 참조 샘플 패딩 및/또는 참조 샘플 필터링을 통해 준비될 수 있다. 참조 샘플은 예측 및 복원 과정을 거쳤기 때문에 양자화 에러가 존재할 수 있다. 따라서, 이러한 에러를 줄이기 위해 인트라 예측에 이용되는 각 예측 모드에 대해 참조 샘플 필터링 과정이 수행될 수 있다.
상기 인터 예측부(180) 또는 상기 인트라 예측부(185)를 통해 생성된 예측 신호(prediction signal)는 복원 신호를 생성하기 위해 이용되거나 잔여 신호를 생성하기 위해 이용될 수 있다.
도 2는 본 발명이 적용되는 실시예로서, 비디오 신호의 디코딩이 수행되는 디코더의 개략적인 블록도를 나타낸다.
도 2를 참조하면, 디코더(200)는 파싱부(미도시), 엔트로피 디코딩부(210), 역양자화부(220), 역변환부(230), 필터링부(240), 복호 픽쳐 버퍼(DPB: Decoded Picture Buffer Unit)(250), 인터 예측부(260) 및 인트라 예측부(265)를 포함하여 구성될 수 있다.
그리고, 디코더(200)를 통해 출력된 복원 영상 신호(reconstructed video signal)는 재생 장치를 통해 재생될 수 있다.
디코더(200)는 도 1의 인코더(100)로부터 출력된 신호을 수신할 수 있고, 수신된 신호는 엔트로피 디코딩부(210)를 통해 엔트로피 디코딩될 수 있다.
역양자화부(220)에서는 양자화 스텝 사이즈 정보를 이용하여 엔트로피 디코딩된 신호로부터 변환 계수(transform coefficient)를 획득한다.
역변환부(230)에서는 변환 계수를 역변환하여 잔여 신호(residual signal)를 획득하게 된다.
획득된 잔여 신호를 인터 예측부(260) 또는 인트라 예측부(265)로부터 출력된 예측 신호(prediction signal)에 더함으로써 복원 신호(reconstructed signal)가 생성된다.
필터링부(240)는 복원 신호(reconstructed signal)에 필터링을 적용하여 이를 재생 장치로 출력하거나 복호 픽쳐 버퍼부(250)에 전송한다. 복호 픽쳐 버퍼부(250)에 전송된 필터링된 신호는 인터 예측부(260)에서 참조 픽쳐로 사용될 수 있다.
본 명세서에서, 인코더(100)의 변환부(120) 및 각 기능 유닛들에서 설명된 실시예들은 각각 디코더의 역변환부(230) 및 대응되는 기능 유닛들에도 동일하게 적용될 수 있다.
도 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는 본 발명이 적용되는 실시예로서, 데이터 블록에 대해 수직 변환과 수평 변환을 수행하는 경우들에 대한 입출력 관계를 나타낸다.
본 발명은 저-복잡도, 비-등방성 변환들을 개시한다. 본 발명의 실시예들은 변환 코딩을 구현하는 임의의 비디오 코덱으로 사용될 수 있다.
본 발명은 싱글톤 업데이트를 이용함으로써 저복잡도, 비등방성 변환(low-complexity and non-isotropic transform)을 설계하는 방법을 제공한다.
본 발명은 타겟 블록에 대한 최적화 과정을 통해 변환 파라미터 셋을 선택하고, 변환 파라미터 셋에 기초하여 싱글톤 계수(singleton coefficient)를 갖는 변환 블록을 업데이트할 수 있다. 여기서, 상기 싱글톤 계수(singleton coefficient)는 변환 순서 파라미터 셋에 기초하여 획득된 싱글 계수(single coefficient)를 의미할 수 있다.
그리고, 특정 변환 순서에 따라 블록 내 각각의 행 및 열에 대해 변환을 수행하는 방법을 제공한다.
예를 들어, 인코더는 다중 변환들을 결합함으로써 유도되는 분리 가능하지 않지만 저-복잡도 변환들을 설계하는 방법들을 제시하고, 여기서 각각의 변환은 블록의 특정 부분에 대하여 설계될 수 있다. 또한, 인코더는 최적화 절차를 이용하여 블록의 행들 및 열들에 대하여 두 세트의 변환들을 우선적으로 설계할 수 있다. 그리고, 특정 변환 순서를 갖는 블록의 각각의 행 및 열을 변환시킴으로써 변환이 수행될 수 있다.
이와 같이, 본 명세서 내에서 싱글톤 계수 업데이트를 이용하는 변환을 수행하는 방법을 GITSU(generalized incremental transforms with singleton updates)라 부르기로 한다.
다음에서, 상기 GITSU의 기본 형성 블록이 될 수직 및 수평 변환들이 기술된다. 전체 변환 T(행들이 기저 벡터들)는 변환 파라미터 셋에 기초하여 유도될 수 있다. 상기 변환 파라미터 셋은 수직 변환 셋, 수평 변환 셋 또는 변환 순서 파라미터 셋 중 적어도 하나를 포함할 수 있다.
Figure pct00001
수직 변환 셋: {V 1,V 2,...,V N}
Figure pct00002
수평 변환 셋: {H 1,H 2,...,H N}
Figure pct00003
변환 순서 파라미터 셋: s = {0,1}
상기 변환 파라미터 셋은 이후 본 명세서에서 설명될 최적화 과정에 기초하여 선택 또는 결정될 수 있다. 다른 실시예로, 인코더는 상기 변환 파라미터 셋에 대응되는 변환 인덱스를 정의하여 디코더로 전송할 수 있다.
상기 변환 순서 파라미터 셋은 변환 순서를 나타내는 정보들의 셋을 의미하며, 실제 변환 순서를 나타내는 경우에는 상기 변환 순서 파라미터 셋 중 어느 하나의 값이 이용될 수 있다. 이 경우, 상기 어느 하나의 값을 변환 순서 파라미터라 부를 수 있다. 예를 들어, 상기 변환 순서 파라미터 셋을 S 라 표현하면, S는 0 또는 1의 값을 가질 수 있으며, S=1 인 경우 수직 변환을 먼저 적용하고, 이후 수평 변환을 적용하는 순서를 의미할 수 있고, S= 0인 경우 수평 변환을 먼저 적용하고, 이후 수직 변환을 적용하는 순서를 의미할 수 있다. 본 발명은 이에 한정되지 않으며, 역의 경우가 적용될 수도 있으며, 또는 상기 변환 순서 파라미터 셋은 3개 이상의 값에 의해 정의될 수도 있다.
상기 수직 변환 셋 및 수평 변환 셋이 주어진다고 가정하면, 도 4는 입력 데이터 블록 B에 대해 수직 변환 셋 또는 수평 변환 셋이 적용되어 수직 변환 계수 또는 수평 변환 계수가 출력되는 과정을 나타낸다.
예를 들어, 도 4(a)를 살펴보면, 입력 데이터 블록 B에 대해 수직 변환 셋이 적용되어 수직 변환 계수 Cv(l,k) 가 생성되는 과정을 확인할 수 있다. 이를 수학식으로 나타내면, 다음 수학식 1과 같다.
Figure pct00004
여기서, k = 1, …, N, l = 1, …, N 을 나타낸다. 도 4(a)를 살펴보면, 수직 변환 Vkk번째 열에 적용될 수 있다.
그리고, 도 4(b)를 살펴보면, 입력 데이터 블록 B에 대해 수평 변환 셋이 적용되어 수평 변환 계수 Ch(k,l) 가 생성되는 과정을 확인할 수 있다. 이를 수학식으로 나타내면, 다음 수학식 2와 같다.
Figure pct00005
여기서, k = 1, …, N, l = 1, …, N 을 나타낸다. 도 4(b)를 살펴보면, 수평 변환 Hkk번째 행에 적용될 수 있다.
이와 같은 과정을 통해, 전체 변환 T는 특정 변환 순서에 기초하여 수직 변환 및 수평 변환을 적용함으로써 생성될 수 있다. 예를 들어, 상기 특정 변환 순서는 수직 변환을 먼저 적용한 후에 수평 변환을 적용하거나, 또는 수평 변환을 먼저 적용한 후에 수직 변환을 적용하는 경우를 의미할 수 있다. 상기 특정 변환 순서는 상기 변환 순서 파라미터 셋에 대응될 수 있으며, 예를 들어 상기 특정 변환 순서는 상기 변환 순서 파라미터 셋에 의해 결정될 수 있다.
이에 대한 구체적인 실시예들은 이하 도 5 내지 도 6에서 보다 상세히 설명하도록 한다.
도 5 내지 도 6은 본 발명이 적용되는 실시예들로서, 특정 변환 순서에 따라 수직 변환과 수평 변환을 적용하여 변환 계수를 생성하는 과정을 설명하는 도면이다.
도 5를 살펴보면, 본 발명은 수직 변환 셋을 먼저 적용하고, 이후 수평 변환 셋을 적용함으로써 변환 계수를 생성하는 실시예를 나타낸다. 예를 들어, 변환 파라미터 셋의 값이 S=1 인 경우를 의미할 수 있다.
입력 데이터 블록 B가 주어진 경우, 입력 데이터 B(j,k)에 대해 수직 변환 셋 {V1, …, VN}을 적용하는 경우, 수직 변환 계수 Cv(l,k)는 다음 수학식 3에 의해 생성될 수 있다.
Figure pct00006
여기서, k = 1, …, N, l = 1, …, N 을 나타낸다. 상기 도 5를 살펴보면, 수직 변환 Vkk번째 열에 적용될 수 있다.
그리고, 상기 수학식 3에 의해 산출된 수직 변환 계수 Cv(l,k)는 수평 변환을 적용하기 위한 입력 값이 될 수 있다. 상기 수직 변환 계수 Cv(l,k)에 대해 수평 변환 셋 {H1, …, HN}을 적용하는 경우, 수직/수평 변환 계수 Cvh(k,l)는 다음 수학식 4에 의해 생성될 수 있다. 본 명세서에서, 수직 변환 이후 수평 변환을 적용함으로써 산출되는 변환 계수를 수직/수평 변환 계수라 하고, 그 역의 경우는 수평/수직 변환 계수라 부르기로 한다.
Figure pct00007
여기서, k = 1, …, N, l = 1, …, N 을 나타낸다. 상기 도 5를 살펴보면, 수평 변환 Hkk번째 행에 적용될 수 있다.
도 6을 살펴보면, 본 발명은 수평 변환 셋을 먼저 적용하고, 이후 수직 변환 셋을 적용함으로써 변환 계수를 생성하는 실시예를 나타낸다. 예를 들어, 변환 파라미터 셋의 값이 S=0 인 경우를 의미할 수 있다.
입력 데이터 블록 B가 주어진 경우, 입력 데이터 B(k,j)에 대해 수평 변환 셋 {H1, …, HN}을 적용하는 경우, 수평 변환 계수 Ch(k,l)는 다음 수학식 5에 의해 생성될 수 있다.
Figure pct00008
여기서, k = 1, …, N, l = 1, …, N 을 나타낸다. 상기 도 6을 살펴보면, 수평 변환 Hkk번째 행에 적용될 수 있다.
그리고, 상기 수학식 5에 의해 산출된 수평 변환 계수 Ch(k,l)는 수직 변환을 적용하기 위한 입력 값이 될 수 있다. 상기 수평 변환 계수 Ch(k,l)에 대해 수직 변환 셋 {V1, …, VN}을 적용하는 경우, 수평/수직 변환 계수 Chv(l,k)는 다음 수학식 6에 의해 생성될 수 있다.
Figure pct00009
여기서, k = 1, …, N, l = 1, …, N 을 나타낸다. 상기 도 6을 살펴보면, 수직 변환 Vkk번째 열에 적용될 수 있다.
일반적으로, 상기 수학식 4의 Cvh와 상기 수학식 6의 Chv는 같지 않다. 즉, 입력 블록의 행들 및 열들에 대하여 상이한 변환들이 적용되는 경우 상기 수직 및 수평 변환의 상이한 순서는 상이한 변환을 생성할 수 있다.
예를 들어, 수직 변환 및 수평 변환을 1차원 DCT로 설정하는 경우, 상기 도 5 내지 도 6의 실시예들은 분리가능한 2차원 DCT를 나타낼 수 있다.
도 7은 본 발명이 적용되는 실시예로서, 수직 변환과 수평 변환을 수행하는 방향성 변환부의 개략적인 내부 블록도를 나타낸다.
도 7을 살펴보면, 본 발명이 적용되는 인코더는 방향성 변환부(700)를 포함할 수 있다. 상기 방향성 변환부(700)는 앞서 설명한 도 1의 변환부(120)에 포함되거나 대체되어 수행될 수 있으나, 본 발명은 이에 한정되지 않으며, 별개의 기능 유닛으로 수행될 수도 있다.
상기 방향성 변환부(700)는 변환 선택부(710) 또는 변환 수행부(720) 중 적어도 하나를 포함할 수 있다.
상기 방향성 변환부(700)는 이미지 또는 차분 이미지(residual image)의 방향적 특성(directional property)에 기초하여 변환을 수행할 수 있다.
일실시예로, 상기 변환 선택부(710)는 예측 모드에 기초하여 대응되는 변환을 선택할 수 있다. 예를 들어, 상기 예측 모드가 인트라 방향성 모드를 나타내는 경우, 상기 인트라 방향성 모드에 대응되는 수평 변환 셋 및 수직 변환 셋을 선택할 수 있다. 여기서, 인코더 및 디코더는 학습(training)을 통해 각 예측 모드에 대응되는 수평 변환 셋 및/또는 수직 변환 셋을 이미 알고 있을 수 있다. 따라서, 상기 수평 변환 셋 및/또는 상기 수직 변환 셋은 각각 기결정된 변환 셋들 중의 어느 하나에 대응될 수 있다.
다른 예로, 상기 변환 선택부(710)는 부가 정보에 기초하여 변환 순서 파라미터, 수직 변환 셋 또는 수평 변환 셋 중 적어도 하나를 결정 또는 선택할 수 있다. 예를 들어, 인트라 모드 각각에 대해 서로 다른 수직 변환 셋 및 수평 변환 셋이 선택될 수 있다.
또한, 상기 변환 순서 파라미터는 인트라 모드에 기초하여 선택될 수 있다. 예를 들어, 인트라 모드가 2,3, … ,17 인 경우, 상기 변환 순서 파라미터 S는 1일 수 있다. 즉, 상기 변환 순서 파라미터는 수직 변환 이후 수평 변환이 적용되는 순서를 나타낼 수 있다.
상기 인트라 모드들의 경우, 데이터 변화(variation)가 수직 방향에서 크기 때문에 수직 변환들을 우선적으로 적용하는 것이 많은 에너지를 획득할 수 있고 이는 비-선형 근사화 성능의 측면에서 양호할 수 있기 때문이다.
다른 예로, 인트라 모드 18, … ,34의 경우, 상기 변환 순서 파라미터 S는 0일 수 있다. 즉, 상기 변환 순서 파라미터는 수평 변환 이후 수직 변환이 적용되는 순서를 나타낼 수 있다.
상기와 같이, 변환 순서 파라미터, 수직 변환 셋 및 수평 변환 셋이 결정 또는 선택되면, 변환 수행부(720)는 상기 변환 순서 파라미터에 따라 수직 변환 셋 및 수평 변환 셋을 적용하여 변환을 수행할 수 있다.
예를 들어, S=1 인 경우, 먼저 수직 변환부(721)는 입력 데이터 B에 대해 수직 변환을 수행함으로써 수직 변환 계수 Cv를 출력할 수 있다. 그리고, 수평 변환부(722)는 수직 변환 계수 Cv에 대해 수평 변환을 수행함으로써 수직/수평 변환 계수 Cvh를 출력할 수 있다.
다른 예로, S=0 인 경우, 먼저 수평 변환부(723)는 입력 데이터 B에 대해 수평 변환을 수행함으로써 수평 변환 계수 Ch를 출력할 수 있다. 그리고, 수직 변환부(724)는 수평 변환 계수 Ch에 대해 수직 변환을 수행함으로써 수평/수직 변환 계수 Chv를 출력할 수 있다.
도 8은 본 발명이 적용되는 실시예로서, 싱글톤 계수 업데이트를 이용하는 방향성 변환부의 개략적인 내부 블록도를 나타낸다.
도 8을 살펴보면, 본 발명이 적용되는 인코더는 방향성 변환부(800)를 포함할 수 있다. 상기 방향성 변환부(800)는 앞서 설명한 도 1의 변환부(120)에 포함되거나 대체되어 수행될 수 있으나, 본 발명은 이에 한정되지 않으며, 별개의 기능 유닛으로 수행될 수도 있다.
상기 방향성 변환부(800)는 변환 선택부(810) 또는 싱글톤 계수 업데이트부(820) 중 적어도 하나를 포함할 수 있다.
상기 방향성 변환부(800)는 이미지 또는 차분 이미지(residual image)의 방향적 특성(directional property)에 기초하여 변환을 수행할 수 있다.
일실시예로, 상기 변환 선택부(810)는 부가 정보에 기초하여 변환 순서 파라미터, 수직 변환 셋 또는 수평 변환 셋 중 적어도 하나를 결정 또는 선택할 수 있다. 예를 들어, 인트라 모드 각각에 대해 서로 다른 수직 변환 셋 및 수평 변환 셋이 선택될 수 있다. 상기 변환 선택부(810)는 상기 도 7에서 설명한 실시예들이 적용될 수 있으며, 중복적인 설명은 생략하기로 한다.
싱글톤 계수 업데이트부(820)는 싱글톤 계수(singleton coefficient)를 업데이트하고, 업데이트된 싱글톤 계수에 기초하여 변환을 수행할 수 있다. 여기서, 상기 싱글톤 계수(singleton coefficient)는 변환 순서 파라미터 셋에 기초하여 획득된 싱글 계수(single coefficient)를 의미할 수 있다.
본 발명은 GITSU(Generalized Incremental Transforms with Singleton Updates)를 설계하는 방법을 제공한다.
예를 들어, 데이터 블록
Figure pct00010
에 대하여 GITSU
Figure pct00011
은 다음 변환 파라미터 셋에 의해 정의될 수 있다.
Figure pct00012
수직 변환 셋: {V 1,V 2,...,V N}
Figure pct00013
수평 변환 셋: {H 1,H 2,...,H N}
Figure pct00014
변환 순서 파라미터 셋: {(o,k,f)}n = (o 1,k 1,f 1),...,(o n,k n,f n)
상기 도 8에 도시된 바와 같이, 본 발명은, 변환 T 에 대한 변환 파라미터 셋인, 수직 변환 셋 {V 1,V 2,...,V N}, 수평 변환 셋 {H 1,H 2,...,H N} 및 변환 순서 파라미터 셋 {(o,k,f)}n을 선택하여 전역 변환(global transform)을 결정하기 위해 입력 데이터 및 부가 정보를 이용할 수 있다.
상기 변환 순서 파라미터 셋은 길이 n 의 일련의 트리플렛(triplets)(즉, {(o,k,f)}n)에 의해 결정될 수 있고, 예를 들어, 상기 트리플렛 (o,k,f)은 방향, 주파수 및 위치 인덱스 중 적어도 하나에 의해 정의될 수 있다. 여기서, 상기 트리플렛 (o,k,f)은 방향(orientation) ∈{0,1}, 주파수 f ∈{1,2,..,N}, 위치 인덱스 k ∈{1,2,..,N}에 의해 정의될 수 있다.
상기 트리플렛 (o,k,f)은 최적화 과정에 의해 결정될 수 있으며, 이 경우 GITSU 변환 T는 n개의 연속된(cascaded) 싱글톤 계수 업데이트 절차들(SCUSs : singleton coefficient update steps)에 의해 정의될 수 있다.
도 9는 본 발명이 적용되는 실시예로서, 싱글톤 계수 업데이트부의 개략적인 내부 블록도를 나타낸다.
도 9를 살펴보면, 본 발명이 적용되는 인코더는 싱글톤 계수 업데이트부(900)를 포함할 수 있다. 상기 싱글톤 계수 업데이트부(900)는 앞서 설명한 도 1의 변환부(120)에 포함되거나 대체되어 수행될 수 있으나, 본 발명은 이에 한정되지 않으며, 별개의 기능 유닛으로 수행될 수도 있다.
상기 싱글톤 계수 업데이트부(900)는 제1업데이트부(910), 제2업데이트부(920) 또는 제N업데이트부(930) 중 적어도 하나를 포함할 수 있다. 예를 들어, GITSU 변환 T는 싱글톤 계수 업데이트 절차들(SCUSs)의 연속에 의해 생성될 수 있다.
상기 도 9를 살펴보면, 변환 순서 파라미터 {(o,k,f)}n에 따라 연속된 업데이트부들을 확인할 수 있다. 여기서, 상기 업데이트부들은 각각 싱글톤 계수 업데이트 절차(SCUS, singleton coefficient update step)를 의미할 수 있다. 상기 SCUS는 방향 파라미터 o에 의존하는 싱클톤 수직 계수 업데이트 (SVCU, singleton vertical coefficient update) 또는 싱클톤 수평 계수 업데이트 (SHCU, singleton horizontal coefficient update) 중 하나에 대응될 수 있다.
상기 제1업데이트부(910)는 입력 데이터 S0 = B에 대해 방향 파라미터 o1에 따라 싱클톤 수직 계수 업데이트 (SVCU, singleton vertical coefficient update) 또는 싱클톤 수평 계수 업데이트 (SHCU, singleton horizontal coefficient update)를 수행할 수 있다. 예를 들어, 방향 파라미터 o1 = 0 인 경우 싱클톤 수평 계수 업데이트 (SHCU, singleton horizontal coefficient update)를 수행할 수 있고, 방향 파라미터 o1 = 1 인 경우 싱클톤 수직 계수 업데이트 (SVCU, singleton vertical coefficient update)를 수행할 수 있다. 상기 제1업데이트부(910)는 SHCU 또는 SVCU 에 따라 Sl을 출력할 수 있다.
상기 제2업데이트부(920)는 입력 데이터 Sl 에 대해 방향 파라미터 o2에 따라 싱클톤 수직 계수 업데이트 (SVCU, singleton vertical coefficient update) 또는 싱클톤 수평 계수 업데이트 (SHCU, singleton horizontal coefficient update)를 수행할 수 있다.
이와 같이, N번의 업데이트 절차를 통해, 상기 싱글톤 계수 업데이트부(900)는 변환 계수 C = Sn을 획득할 수 있다.
도 10은 본 발명이 적용되는 실시예로서, 데이터 블록에 대해 싱글톤 수직 계수 업데이트와 싱글톤 수평 계수 업데이트를 수행하는 경우들에 대한 입출력 관계를 나타낸다.
도 10(a)는 수직 계수 업데이트부(1010)에 따른 싱글톤 입출력 관계를 나타내고, 도 10(b)는 수평 계수 업데이트부(1020)에 따른 싱글톤 입출력 관계를 나타낸다.
상기 도 10(a)를 살펴보면, 상기 수직 계수 업데이트부(1010)는 입력 데이터 Si에 대해 수직 변환 Vk를 적용하되, 주파수 f에서 기저 벡터 Vk(f,:)를 이용하여 k번째 열에서 하나의 계수만을 업데이트할 수 있다. 이를 수학식으로 나타내면 다음 수학식 7과 같다.
Figure pct00015
여기서,
Figure pct00016
이다.
다른 실시예로, 상기 수직 계수 업데이트부(1010)는 하나의 기저 벡터를 적용하는 것 대신에, 각 단계의 위치 k에서 다중 주파수 업데이트를 위해 기저 벡터들의 서브셋을 이용할 수도 있다.
상기 도 10(b)를 살펴보면, 상기 수평 계수 업데이트부(1020)는 입력 데이터 Si에 대해 수평 변환 Hk를 적용하되, 주파수 f에서 기저 벡터 Hk(f,:)를 이용하여 k번째 행에서 하나의 계수만을 업데이트할 수 있다. 이를 수학식으로 나타내면 다음 수학식 8과 같다.
Figure pct00017
여기서,
Figure pct00018
이다.
다른 실시예로, 상기 수평 계수 업데이트부(1020)는 하나의 기저 벡터를 적용하는 것 대신에, 각 단계의 위치 k에서 다중 주파수 업데이트를 위해 기저 벡터들의 서브셋을 이용할 수도 있다.
다른 실시예로, 일련의 변환 순서 파라미터 {(o,k,f)}n의 길이는 임의로 선택될 수 있으며, 여기서 n은 충분한 싱글톤 업데이트 수행이 가능하도록 N3의 차수일 수 있다.
도 11은 본 발명이 적용되는 실시예로서, 변환 계수 피드백에 기초하여 선택된 변환을 이용하는 방향성 변환부의 개략적인 내부 블록도를 나타낸다.
도 11을 살펴보면, 본 발명이 적용되는 인코더는 방향성 변환부(1100)를 포함할 수 있다. 상기 방향성 변환부(1100)는 앞서 설명한 도 1의 변환부(120)에 포함되거나 대체되어 수행될 수 있으나, 본 발명은 이에 한정되지 않으며, 별개의 기능 유닛으로 수행될 수도 있다.
상기 방향성 변환부(1100)는 변환 선택부(1110) 또는 싱글톤 계수 업데이트부(1120) 중 적어도 하나를 포함할 수 있다.
상기 방향성 변환부(1100)는 부가 정보 또는 변환 계수 피드백 정보 중 적어도 하나에 기초하여 변환을 수행할 수 있다.
일실시예로, 상기 변환 선택부(1110)는 부가 정보 및 변환 계수 피드백 정보 중 적어도 하나에 기초하여 변환 순서 파라미터, 수직 변환 셋 또는 수평 변환 셋 중 적어도 하나를 결정 또는 선택할 수 있다. 여기서, 상기 변환 계수 피드백 정보는 업데이트된 싱글톤 계수 또는 변환 계수 패턴 정보 중 적어도 하나를 포함할 수 있고, 상기 부가 정보는 예측 모드 또는 블록 특징 정보 중 적어도 하나를 포함할 수 있다.
예를 들어, 상기 변환 선택부(1110)는 더 유연한 변환 선택이 가능하도록 변환 계수 패턴 정보에 기초하여 변환 순서 파라미터, 수직 변환 셋 또는 수평 변환 셋 중 적어도 하나를 결정 또는 선택할 수 있다.
또는, 상기 변환 선택부(1110)는 저-수준 처리(예를 들어, 경계 검출 등)을 통해 기준 블록들로부터 추출된 블록 특징 정보에 기초하여 변환 순서 파라미터, 수직 변환 셋 또는 수평 변환 셋 중 적어도 하나를 결정 또는 선택할 수 있다.
상기 싱글톤 계수 업데이트부(1120)는 싱글톤 계수(singleton coefficient)를 업데이트하고, 업데이트된 싱글톤 계수에 기초하여 변환을 수행할 수 있다. 여기서, 도 8 내지 도 10에서 설명한 실시예들이 적용될 수 있으며, 중복적인 설명은 생략하도록 한다.
또한, 본 명세서에서 설명한 실시예들도 상기 도 11의 실시예에 적용 가능할 것이다.
도 12는 본 발명이 적용되는 실시예로서, 인터 예측에서 이용된 참조 블록의 부가 정보에 기초하여 선택된 변환을 이용하는 방향성 변환부의 개략적인 내부 블록도를 나타낸다.
도 12를 살펴보면, 본 발명이 적용되는 인코더는 방향성 변환부(1200)를 포함할 수 있다. 상기 방향성 변환부(1200)는 앞서 설명한 도 1의 변환부(120)에 포함되거나 대체되어 수행될 수 있으나, 본 발명은 이에 한정되지 않으며, 별개의 기능 유닛으로 수행될 수도 있다.
상기 방향성 변환부(1200)는 변환 선택부(1210) 또는 싱글톤 계수 업데이트부(1220) 중 적어도 하나를 포함할 수 있다.
상기 방향성 변환부(1200)는 부가 정보 또는 변환 계수 피드백 정보 중 적어도 하나에 기초하여 변환을 수행할 수 있다.
일실시예로, 상기 변환 선택부(1210)는 부가 정보 또는 변환 계수 피드백 정보 중 적어도 하나에 기초하여 변환 순서 파라미터, 수직 변환 셋 또는 수평 변환 셋 중 적어도 하나를 결정 또는 선택할 수 있다.
예를 들어, 상기 변환 계수 피드백 정보는 업데이트된 싱글톤 계수 또는 변환 계수 패턴 정보 중 적어도 하나를 포함할 수 있고, 상기 부가 정보는 예측 모드, 인터 예측을 위해 이용된 참조 블록 정보 또는 블록 특징 정보 중 적어도 하나를 포함할 수 있다.
예를 들어, 상기 예측 모드는 인트라 모드 또는 인터 모드를 나타낼 수 있고, 상기 참조 블록 정보는 참조 인덱스, 모션 벡터, 또는 참조 블록의 변환 정보 중 적어도 하나를 포함할 수 있다. 상기 참조 블록의 변환 정보는 변환 유닛 사이즈 정보, 변환 계수 정보, 또는 변환 파라미터 셋 중 적어도 하나를 포함할 수 있다.
도 13은 본 발명이 적용되는 실시예로서, 싱글톤 계수 업데이트를 이용하여 변환을 수행하는 방법을 설명하는 흐름도이다.
본 발명은 새로운 변환 디자인을 통해 코딩 효율을 향상시키는 방법을 제공하며, 나아가 싱글톤 업데이트를 이용함으로써 저복잡도, 비등방성 변환(low-complexity and non-isotropic transform)을 설계하는 방법을 제공한다.
일실시예로, 본 발명은 변환 파라미터 셋에 기초하여 싱글톤 계수를 갖는 변환 블록을 업데이트하는 방법을 제공한다.
다른 실시예로, 본 발명은 특정 변환 순서에 따라 블록 내 각각의 행 및 열에 대해 변환을 수행하는 방법을 제공한다.
먼저, 인코더는, 타겟 블록에 대한 최적화 과정을 통해 변환 파라미터 셋을 선택할 수 있다(S1310). 여기서, 상기 변환 파라미터 셋은 수직 변환 셋, 수평 변환 셋 또는 변환 순서 파라미터 셋 중 적어도 하나를 포함할 수 있다. 일실시예로, 상기 변환 순서 파라미터 셋은 상기 타겟 블록의 모드 정보에 기초하여 선택될 수 있다. 예를 들어, 상기 모드 정보가 수평 방향을 나타내는 경우 수직 변환을 먼저 적용하고, 상기 모드 정보가 수직 방향을 나타내는 경우 수평 변환을 먼저 적용할 수 있다.
상기 인코더는, 상기 선택된 변환 파라미터 셋에 기초하여 싱글톤 계수를 갖는 변환 블록을 업데이트할 수 있다(S1320). 여기서, 상기 싱글톤 계수는 상기 변환 순서 파라미터 셋에 기초하여 획득된 싱글 계수를 나타낸다.
다른 예로, 상기 변환 블록은 다른 변환 순서 파라미터 셋(another transform parameter set)에 기초하여 업데이트될 수 있다.
다른 예로, 상기 업데이트 단계(S1320)는, 상기 변환 파라미터 셋에 포함된 파라미터 개수만큼 반복적으로 수행될 수 있다.
상기 인코더는, 상기 업데이트된 변환 블록에 기초하여 상기 타겟 블록에 대한 변환 계수를 획득할 수 있다(S1330).
그리고, 상기 인코더는, 상기 변환 계수를 양자화하고(S1340), 상기 양자화된 변환 계수를 엔트로피 인코딩할 수 있다(S1350).
도 14는 본 발명이 적용되는 실시예로서, 최적화 과정을 이용하여 변환 파라미터 셋을 결정하는 방법을 설명하는 흐름도이다.
본 발명은 타겟 블록에 대한 최적화 과정을 통해 변환 파라미터 셋을 결정 또는 선택하는 방법을 제공한다. 예를 들어, 상기 최적화 과정은 율-왜곡 최적화(Rate-Distortion optimization)를 의미할 수 있다.
인코더는, 먼저 수직 변환 셋과 수평 변환 셋을 초기화할 수 있다(S1410).
상기 인코더는, 상기 수직 변환 셋을 고정하고 상기 수평 변환 셋의 서브 셋을 업데이트한 후, 상기 수평 변환 셋을 고정하고 상기 수직 변환 셋의 서브 셋을 업데이트할 수 있다(S1420).
그리고, 상기 인코더는, 공분산 기반 모델링을 통해 최적화된 변환 파라미터 셋을 결정할 수 있다(S1430). 여기서, 상기 수직 변환 셋과 상기 수평 변환 셋의 업데이트 순서는 모드 정보에 기초하여 선택될 수 있다.
이하에서는, 본 발명의 일실시예로써 최적화 프레임워크을 설명하도록 한다. 수직 변환 셋 {V1, V2, …, VN} 및 수평 변환 셋 {H1, H2, …, HN} 을 결정하기 위해, 본 발명은 서로 다른 메트릭을 갖는 최적화 이슈가 이용될 수 있다.
예를 들어, 각 클래스가 공분산(covariance)들 K1, K2, … , KL 을 갖는 영-평균 다중분산 가우시안 랜덤 벡터로서 모델링되는 L개의 상이한 블록 데이터 클래스들이 있다고 가정한다. 목표는 율-왜곡 관점에서 최적 변환 T를 찾는 것이다. 공분산 K를 갖는 단일 모델에 대하여, 한 가지 전형적인 측정은 (행들이 상기 기저 벡터들인) 상기 변환 T가 얼마나 더 양호하게 공분산 K를 대각화하는지 여부에 기초한다. 많이 사용되는 한가지 메트릭은 다음 수학식 9와 같이 생성되는 코딩 이득으로 지칭될 수 있다.
Figure pct00019
여기서, det(K)는 K의 행렬식(determinant)이고 ddiag(K) 연산자는 K의 대각 성분(diagonal element)들에 의한 대각 형렬을 생성한다. 직관적으로, 더 큰 코딩 이득 메트릭이 더 양호한 변환 T를 의미할 수 있다. 다중 (L) 공분산 모델에 대하여 최적 변환을 찾기 위하여, 다음 수학식 10의 최대화(maximization) 문제는 직교성 제약(orthogonality constraint)
Figure pct00020
하에서 해결될 수 있다.
Figure pct00021
여기서, 상기 메트릭은 모든 Ki, i= 1,2, …, L에 대하여 로그-합 코딩 이득들(log-sum coding gains)을 측정할 수 있다.
일 실시예로서, 그래프 기반 모델링 (예컨대, 가우시안 마르코프 랜덤 필드들(Gaussian Markov Random Fields))은 상기 공분산 기반 모델들을 그래프 라플라시안들에 의해 파라미터화된 모델들로 대체함으로써 생성될 수 있다. 예를 들어, 그래프 라플라시안들
Figure pct00022
(즉, 그래프-기반 모델들)의 세트가 주어지면
Figure pct00023
와 같은 공분산들을 정의할 수 있고, 여기서 L+는 L의 의사-역(pseudo-inverse)를 나타낸다.
상기 수학식 10은 전역 변환 행렬 T를 최적화하기 위한 것으로, 변환 세트들을 설계하기 위하여 아래와 같은 절차들을 반복적으로 수행할 수 있다.
첫째, 기결정된 정보에 기초하거나 단위 행렬을 이용하여 수직 변환 셋 및 수평변환 셋을 초기화할 수 있다.
둘째, 수직 변환 셋을 고정시키고 수평 변환 셋의 서브 셋을 업데이트할 수 있다.
셋째, 수평 변환 셋을 고정시키고 수직 변환 셋의 서브 셋을 업데이트할 수 있다.
넷째, (위에서 정의된 코딩 이득 메트릭에 기초하여) 수렴될 때까지 상기 두번째 단계부터 반복적으로 수행될 수 있다.
일실시예로, 상기 두번째 단계와 세번째 단계는 교환(exchange)될 수 있다. 상기 교환을 통해, 수직 변환 셋을 먼저 업데이트하고, 이후 수평 변환 셋을 업데이트하도록 유도할 수 있다. 이와 같이, 변환 셋들의 업데이트 순서를 결정하는 것은 중요하다.
일실시예로, 상기 업데이트 순서는 부가 정보 또는 입력 데이터에 기초하여 선택 또는 결정될 수 있다. 예를 들어, 이미지 모델은 급격한 (sharp) 수평 경계 (즉, 큰 수직 변화)를 가지고, 대부분의 에너지는 수직 계수들에 집중될 것이기 때문에, 이 경우 수직 변환 업데이트를 먼저 시작하는 것이 효율적이다. 즉, 수직 변환을 먼저 최적화하고 이후 수평 변환들을 업데이트하는 것이 보다 효율적이다.
일실시예로, 다음 수학식 11과 같이 에러의 제곱(squared error)을 최소화함으로써 분리 가능하지 않은 기저 0를 근사화하기 위하여 상기 최적화 과정이 이용될 수 있다.
Figure pct00024
여기서, 아래첨자 F는 프로베니우스 놈(Frobenius norm)을 나타낸다.
도 15는 본 발명이 적용되는 실시예로서, 싱글톤 계수 업데이트가 반영된 변환에 기초하여 역변환을 수행하는 방법을 설명하는 흐름도이다.
디코더는, 비디오 신호로부터 타겟 블록에 대한 적어도 하나의 변환 인덱스를 추출할 수 있다(S1510).
상기 디코더는, 상기 변환 인덱스에 대응되는 변환 파라미터 셋을 유도할 수 있다(S1520). 여기서, 상기 변환 파라미터 셋은 수직 변환 셋, 수평 변환 셋 또는 변환 순서 파라미터 셋 중 적어도 하나를 포함할 수 있다.
다른 일실시예로, 상기 디코더는 변환 인덱스를 추출하지 않고, 상기 타겟 블록의 모드 정보에 기초하여 상기 변환 순서 파라미터 셋을 유도할 수 있다.
상기 디코더는, 상기 변환 파라미터 셋에 기초하여 상기 타겟 블록에 대해 역변환을 수행할 수 있다(S1530). 여기서, 상기 역변환시 적용되는 변환은 싱글톤 계수의 업데이트가 적용된 것일 수 있다. 여기서, 상기 싱글톤 계수는 상기 변환 순서 파라미터 셋에 기초하여 획득된 싱글 계수를 나타낸다.
상기 기술된 것과 같이, 본 발명에서 설명한 실시예들은 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다. 예를 들어, 상기 도 1, 도 2 및 도 6 내지 도 11에서 도시한 기능 유닛들은 컴퓨터, 프로세서, 마이크로 프로세서, 컨트롤러 또는 칩 상에서 구현되어 수행될 수 있다.
또한, 본 발명이 적용되는 디코더 및 인코더는 멀티미디어 방송 송수신 장치, 모바일 통신 단말, 홈 시네마 비디오 장치, 디지털 시네마 비디오 장치, 감시용 카메라, 비디오 대화 장치, 비디오 통신과 같은 실시간 통신 장치, 모바일 스트리밍 장치, 저장 매체, 캠코더, 주문형 비디오(VoD) 서비스 제공 장치, 인터넷 스트리밍 서비스 제공 장치, 3차원(3D) 비디오 장치, 화상 전화 비디오 장치, 및 의료용 비디오 장치 등에 포함될 수 있으며, 비디오 신호 및 데이터 신호를 처리하기 위해 사용될 수 있다.
또한, 본 발명이 적용되는 처리 방법은 컴퓨터로 실행되는 프로그램의 형태로 생산될 수 있으며, 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 본 발명에 따른 데이터 구조를 가지는 멀티미디어 데이터도 또한 컴퓨터가 판독할 수 있는 기록 매체에 저장될 수 있다. 상기 컴퓨터가 판독할 수 있는 기록 매체는 컴퓨터로 읽을 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함한다. 상기 컴퓨터가 판독할 수 있는 기록 매체는, 예를 들어, 블루레이 디스크(BD), 범용 직렬 버스(USB), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크 및 광학적 데이터 저장 장치를 포함할 수 있다. 또한, 상기 컴퓨터가 판독할 수 있는 기록 매체는 반송파(예를 들어, 인터넷을 통한 전송)의 형태로 구현된 미디어를 포함한다. 또한, 인코딩 방법으로 생성된 비트 스트림이 컴퓨터가 판독할 수 있는 기록 매체에 저장되거나 유무선 통신 네트워크를 통해 전송될 수 있다.
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 다양한 다른 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.

Claims (14)

  1. 비디오 신호를 인코딩하는 방법에 있어서,
    타겟 블록에 대한 최적화 과정을 통해 변환 파라미터 셋을 선택하는 단계, 여기서 변환 파라미터 셋은 수직 변환 셋, 수평 변환 셋 및 변환 순서 파라미터 셋을 포함함;
    상기 선택된 변환 파라미터 셋에 기초하여 싱글톤 계수를 갖는 변환 블록을 업데이트하는 단계, 여기서 상기 싱글톤 계수는 상기 변환 순서 파라미터 셋에 기초하여 획득된 싱글 계수를 나타냄;
    상기 업데이트된 변환 블록에 기초하여 상기 타겟 블록에 대한 변환 계수를 획득하는 단계;
    상기 변환 계수를 양자화하는 단계; 및
    상기 양자화된 변환 계수를 엔트로피 인코딩하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 변환 순서 파라미터 셋은 방향 파라미터, 위치 인덱스 파라미터 또는 주파수 파라미터 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 변환 순서 파라미터 셋은 상기 타겟 블록의 모드 정보에 기초하여 선택되는 것을 특징으로 하는 방법.
  4. 제3항에 있어서,
    상기 모드 정보가 수평 방향을 나타내는 경우 수직 변환을 먼저 적용하고,
    상기 모드 정보가 수직 방향을 나타내는 경우 수평 변환을 먼저 적용하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서, 상기 업데이트 단계는,
    다른 변환 순서 파라미터 셋(another transform parameter set)에 기초하여 상기 변환 블록을 업데이트하는 단계
    를 더 포함하되,
    상기 변환 계수는 상기 업데이트된 변환 블록에 기초하여 획득되는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 업데이트 단계는, 상기 변환 파라미터 셋에 포함된 파라미터 개수만큼 반복적으로 수행되는 것을 특징으로 하는 방법.
  7. 제1항에 있어서, 상기 최적화 과정은,
    상기 수직 변환 셋과 상기 수평 변환 셋을 초기화하는 단계;
    상기 수직 변환 셋을 고정하고 상기 수평 변환 셋의 서브 셋을 업데이트한 후, 상기 수평 변환 셋을 고정하고 상기 수직 변환 셋의 서브 셋을 업데이트하는 단계; 및
    공분산 기반 모델링을 통해 최적화된 변환 파라미터 셋을 결정하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  8. 제7항에 있어서,
    상기 수직 변환 셋과 상기 수평 변환 셋의 업데이트 순서는 모드 정보에 기초하여 선택되는 것을 특징으로 하는 방법.
  9. 비디오 신호를 디코딩하는 방법에 있어서,
    상기 비디오 신호로부터 타겟 블록에 대한 적어도 하나의 변환 인덱스를 추출하는 단계;
    상기 변환 인덱스에 대응되는 변환 파라미터 셋을 유도하는 단계, 여기서 상기 변환 파라미터 셋은 수직 변환 셋, 수평 변환 셋 및 변환 순서 파라미터 셋을 포함함; 및
    상기 변환 파라미터 셋에 기초하여 상기 타겟 블록에 대해 역변환을 수행하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  10. 제9항에 있어서,
    상기 변환 순서 파라미터 셋은 방향 파라미터, 위치 인덱스 파라미터 또는 주파수 파라미터 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  11. 제9항에 있어서,
    상기 변환 순서 파라미터 셋은 상기 타겟 블록의 모드 정보에 기초하여 선택되는 것을 특징으로 하는 방법.
  12. 제11항에 있어서,
    상기 모드 정보가 수평 방향을 나타내는 경우 수직 변환을 먼저 적용하고,
    상기 모드 정보가 수직 방향을 나타내는 경우 수평 변환을 먼저 적용하는 것을 특징으로 하는 방법.
  13. 비디오 신호를 인코딩하는 장치에 있어서,
    타겟 블록에 대한 최적화 과정을 통해 변환 파라미터 셋을 선택하는 변환 선택부, 여기서 변환 파라미터 셋은 수직 변환 셋, 수평 변환 셋 및 변환 순서 파라미터 셋을 포함함;
    상기 선택된 변환 파라미터 셋에 기초하여 싱글톤 계수를 갖는 변환 블록을 업데이트하는 업데이트부, 여기서 상기 싱글톤 계수는 상기 변환 순서 파라미터 셋에 기초하여 획득된 싱글 계수를 나타냄;
    상기 업데이트된 변환 블록에 기초하여 상기 타겟 블록에 대한 변환 계수를 획득하는 변환 수행부;
    상기 변환 계수를 양자화하는 양자화부; 및
    상기 양자화된 변환 계수를 엔트로피 인코딩하는 엔트로피 인코딩부
    를 포함하는 것을 특징으로 하는 장치.
  14. 비디오 신호를 디코딩하는 장치에 있어서,
    상기 비디오 신호로부터 타겟 블록에 대한 적어도 하나의 변환 인덱스를 추출하는 파싱부; 및
    상기 변환 인덱스에 대응되는 변환 파라미터 셋을 유도하고, 상기 변환 파라미터 셋에 기초하여 상기 타겟 블록에 대해 역변환을 수행하는 역변환부
    를 포함하되,
    상기 변환 파라미터 셋은 수직 변환 셋, 수평 변환 셋 및 변환 순서 파라미터 셋을 포함하는 것을 특징으로 하는 장치.
KR1020187003563A 2015-08-06 2016-08-08 싱글톤 계수 업데이트를 이용하여 변환을 수행하는 방법 및 장치 KR20180028468A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562201597P 2015-08-06 2015-08-06
US62/201,597 2015-08-06
PCT/KR2016/008707 WO2017023152A1 (ko) 2015-08-06 2016-08-08 싱글톤 계수 업데이트를 이용하여 변환을 수행하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20180028468A true KR20180028468A (ko) 2018-03-16

Family

ID=57943918

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187003563A KR20180028468A (ko) 2015-08-06 2016-08-08 싱글톤 계수 업데이트를 이용하여 변환을 수행하는 방법 및 장치

Country Status (5)

Country Link
US (1) US20200092553A1 (ko)
EP (1) EP3334163A4 (ko)
KR (1) KR20180028468A (ko)
CN (1) CN108028945A (ko)
WO (1) WO2017023152A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019190284A1 (ko) * 2018-03-29 2019-10-03 엘지전자 주식회사 비디오 압축을 위한 변환 커널의 저복잡도 연산을 수행하는 방법 및 장치

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020050702A1 (ko) 2018-09-07 2020-03-12 주식회사 윌러스표준기술연구소 다중 변환 커널을 사용하는 비디오 신호 처리 방법 및 장치
CN110968368B (zh) * 2018-09-30 2022-05-13 武汉斗鱼网络科技有限公司 一种直播数据的处理方法及其相关设备
CN111385584B (zh) * 2018-12-28 2022-09-06 杭州海康威视数字技术股份有限公司 进行编码、解码的方法、装置和系统
US10904563B2 (en) * 2019-01-02 2021-01-26 Tencent America LLC Method and apparatus for improved zero out transform
CN115606183A (zh) 2020-04-07 2023-01-13 抖音视界有限公司(Cn) 参考图片环绕的剪裁操作
CN115668917A (zh) 2020-04-09 2023-01-31 抖音视界有限公司 视频编解码中的去块信令通知
WO2021204251A1 (en) 2020-04-10 2021-10-14 Beijing Bytedance Network Technology Co., Ltd. Use of header syntax elements and adaptation parameter set
WO2021209061A1 (en) 2020-04-17 2021-10-21 Beijing Bytedance Network Technology Co., Ltd. Presence of adaptation parameter set units
WO2021222036A1 (en) 2020-04-26 2021-11-04 Bytedance Inc. Conditional signaling of video coding syntax elements

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2177033A2 (en) * 2007-06-12 2010-04-21 Nokia Corporation Joint coding of multiple transform blocks with reduced number of coefficients
KR101359496B1 (ko) * 2008-08-06 2014-02-11 에스케이 텔레콤주식회사 부호화 모드 결정 방법 및 장치와 그를 이용한 영상 부호화장치
CN102045560B (zh) * 2009-10-23 2013-08-07 华为技术有限公司 一种视频编解码方法及设备
US8855011B2 (en) * 2010-07-12 2014-10-07 University Of Southern California Distributed transforms for efficient data gathering in sensor networks
US8861593B2 (en) * 2011-03-15 2014-10-14 Sony Corporation Context adaptation within video coding modules
KR102061201B1 (ko) * 2012-04-12 2019-12-31 주식회사 골드피크이노베이션즈 블록 정보에 따른 변환 방법 및 이러한 방법을 사용하는 장치
US20140254661A1 (en) * 2013-03-08 2014-09-11 Samsung Electronics Co., Ltd. Method and apparatus for applying secondary transforms on enhancement-layer residuals
US9591322B2 (en) * 2013-12-30 2017-03-07 New York University Coding using a redundant dictionary, such as video coding using a self-adaptive redundant dictionary including spatial and/or temporal prediction candidate atoms

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019190284A1 (ko) * 2018-03-29 2019-10-03 엘지전자 주식회사 비디오 압축을 위한 변환 커널의 저복잡도 연산을 수행하는 방법 및 장치

Also Published As

Publication number Publication date
EP3334163A1 (en) 2018-06-13
US20200092553A1 (en) 2020-03-19
EP3334163A4 (en) 2019-04-17
CN108028945A (zh) 2018-05-11
WO2017023152A1 (ko) 2017-02-09

Similar Documents

Publication Publication Date Title
KR102349176B1 (ko) 영상 부호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체
US11190799B2 (en) Intra-prediction mode-based image processing method and apparatus therefor
KR20180028468A (ko) 싱글톤 계수 업데이트를 이용하여 변환을 수행하는 방법 및 장치
CN108293125B (zh) 一种数字图像处理系统和方法
KR101912769B1 (ko) 그래프 템플릿으로부터 유도된 변환을 이용하여 비디오 신호를 디코딩/인코딩하는 방법 및 장치
KR20170116043A (ko) 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
CN108353194B (zh) 编码和解码视频信号的方法和装置
KR20190039562A (ko) 레이어드 기븐스 변환을 이용하여 변환을 수행하는 방법 및 장치
KR20180006411A (ko) 디블록킹 필터링을 수행하는 방법 및 장치
US20220303537A1 (en) Method and device for encoding/decoding video signal by using optimized conversion based on multiple graph-based model
US10771815B2 (en) Method and apparatus for processing video signals using coefficient induced prediction
US10382792B2 (en) Method and apparatus for encoding and decoding video signal by means of transform-domain prediction
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
KR20180089858A (ko) 레이어드 기븐스 변환을 이용하여 변환을 수행하는 방법 및 장치
US11503292B2 (en) Method and apparatus for encoding/decoding video signal by using graph-based separable transform
US11647228B2 (en) Method and apparatus for encoding and decoding video signal using transform domain prediction for prediction unit partition
KR20180054693A (ko) 비디오 신호의 인코딩, 디코딩 방법 및 그 장치
US20200329232A1 (en) Method and device for encoding or decoding video signal by using correlation of respective frequency components in original block and prediction block