KR20200138804A - 변환 세트 - Google Patents

변환 세트 Download PDF

Info

Publication number
KR20200138804A
KR20200138804A KR1020207031381A KR20207031381A KR20200138804A KR 20200138804 A KR20200138804 A KR 20200138804A KR 1020207031381 A KR1020207031381 A KR 1020207031381A KR 20207031381 A KR20207031381 A KR 20207031381A KR 20200138804 A KR20200138804 A KR 20200138804A
Authority
KR
South Korea
Prior art keywords
transform
block
prediction
selectable
residual
Prior art date
Application number
KR1020207031381A
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 KR20200138804A publication Critical patent/KR20200138804A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/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/167Position within a video image, e.g. region of interest [ROI]
    • 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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Paper (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Abstract

본 발명은 변환 계수 코딩에 관련된 것으로, 미리 결정된 변환 세트가 사용될 수 있다. 본 발명의 실시형태는 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로/으로부터 코딩/디코딩하며, 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원하는 인코더(10) 및 디코더(20)를 제공한다. 본 인코더(10) 및 디코더(20) 현재 잔차 블록(84)의 높이 및 폭에 기초하여 변환 세트(94) 중에서 현재 잔차 블록(84)에 대한 변환의 변환 후보 목록(98)을 결정하도록(122) 구성되며, 선택 가능한 변환 후보 목록(98) 중에서 하나의 선택된 변환(102)을 사용하여 상기 현재 잔차 블록(84) 내의 예측 잔차(100)를 코딩/디코딩하고 선택된 변환(102)을 데이터 스트림(14)에/으로부터 선택적으로 시그널링/유도시키도록 구성된다.

Description

변환 세트
개요 설명
본 발명은 영상(picture) 및 비디오 코딩(video coding)에 관련된 것이고, 특히 블록 기반 영상 및 비디오 코딩에 관련된 것이다. 영상은 동영상 시퀀스의 정지 화상이거나 또는 연속된 순서의 화상들일 수 있다. 본 발명의 일부 특정 실시예 및 실시형태는 비디오 코딩과 관련하여 잔차 코딩(residual coding)을 위한 통합 및 확장된 스킴으로서, 공간 도메인에서 각각의 잔차 신호(residual signal)를 획득하기 위해 변환에 사용되는 변환 후보들의 모드 종속적 세트(mode-dependent set of transform candidates)를 이용하는 스킴에 관련된 것이다.
1. 기술적 배경
고효율 비디오 코딩(HEVC: High Efficiency Video Coding)에서와 같은 일부 표준에 사용되어 온 DCT-II 및 4x4 DST-VII 외에, 예를 들어 JEM(Joint Exploration Test Model)과 같은 기타 표준은 두 가지 추가 변환 군을 정의할 수 있다. 적응적 다중 코어 변환(AMT: Adaptive Multiple Core Transform) 및 모드 종속적 분리 불가능 이차 변환(NSST: Mode-dependent Non-Separable Secondary Transform)의 세트이다.
2.1 적응적 다중 코어 변환 [1,8]
AMT는 DCT/DST 군, 즉 DST-VII, DCT-VIII, DST-I 및 DCT-V로부터의 변환을 통해 루마 컴포넌트에 대해 사용 가능한 변환 세트(a set of transforms)를 확장한다. 대응한 CU 레벨 플래그가 설정된 경우는 AMT가 적용되고, 그렇지 않으면 DCT-II가 사용된다. 상호 코딩된 블록의 경우, 두 개의 추가 플래그가 각각의 가로 방향 변환 및 세로 방향 변환에 대해 DST-VII와 DCT-VIII 사이를 각각 결정한다. 블록이 내부 코딩되는 경우, 이는 변환이 가능한 내부 예측 모드에 따라 달라진다. 각 내부 모드는 미리 정의된 세 세트 중 두 세트에 매핑된다. 가로 방향 변환 및 세로 방향 변환 각각에 대해 하나씩이다. 각 세트는 두 개의 변환으로 구성된다. 유의미 계수(significant coefficient)의 개수가 미리 정의된 임계값보다 많으면 각 방향에 대해 인덱스가 신호 되어지고, 그렇지 않으면 각 집합의 제1 변환이 사용된다.
2.2 모드 종속적 분리 불가능 이차 변환 [1,2]
NSST는 코어 변환(일차 변환)의 계수에 적용되는 제2 스테이지 변환을 정의한다. "변환 계수 블록의 폭과 높이가 모두 8 이상이면, 변환 계수 블록의 좌상단 8x8 영역에 8x8 분리 불가능 이차 변환이 적용된다. 그렇지 않고, 변환 계수 블록의 W 또는 H가 4이면, 변환 계수 블록의 좌상단 최소(8,W) x 최소(8,H) 영역에 4x4 분리 불가능 이차 변환이 적용되고 그 영역에서 4x4 분리 불가능 변환이 수행된다. 위의 변환 선택 규칙은 루마 컴포넌트와 채도 컴포넌트 모두에 적용된다." [1]
2.3 고주파 제로화를 사용한 큰 블록 크기 변환
"JEM에서는 최대 128x128 크기의 큰 블록 크기 변환이 가능한데, 이는 주로 고해상도 비디오에, 예를 들어 1080p 및 4K 시퀀스에, 유용하다. 고주파수 변환 계수는 64 이상의 크기(폭 또는 높이, 또는 폭과 높이 모두)를 갖는 변환 블록에 대해 영이 되어, 저주파 계수만 유지된다. 예를 들어, MxN 변환 블록의 경우, 여기서 M은 블록 폭이고 N은 블록 높이임, M이 64 이상일 때, 변환 계수의 좌측 32개 열들만 유지된다. 마찬가지로, N이 64 이상일 때, 변환 계수의 상측 32개 행들만 유지된다. 큰 블록에 변환 건너 뛰기 모드를 사용할 때는 어떤 값도 영이 되지 않고 전체 블록이 사용된다." [1]
그러나 기존 기술에는 몇 가지 단점이 있을 수 있다. 예를 들어, 영상 크기가 증가하면 코딩 노력이 상당히 증가한다. 그래서 효율성이 향상된 코덱을 제공하는 것이 바람직하다.
따라서, 모드 종속적 변환 후보 세트를 제공하는 것이 제안된다. 공간 도메인에서 잔차 신호를 획득하기 위해 사용되는 변환의 식별은 이미 디코딩된 구문 요소를 사용하는 후보 목록을 이용할 수 있다. 잔차 블록의 계수들은 후보 목록 내 이용 가능한 변환들에 따라 좌우되는 상태에서 디코딩될 수 있다. 이렇게 하면, 이미 얻은 계수에 대한 정보와 충돌하는 변환을 제거함으로써 후보 목록 자체를 반복적으로 줄일 수 있다. 모든 계수가 디코딩되고 하나 초과의 변환 후보가 남은 때, 후보 목록으로의 인덱스가 시그널링될 수 있다.
모드 종속적 후보 목록을 도입하는 혁신적인 개념은 잔차 블록에 대한 변환의 유연하고 효율적인 시험 및 시그널링이 이루어지게 할 수 있다. 예를 들어, 변환들의 유도된 제약에 의한 구조화된 변환들의 분류는 선택된 변환과 결과적인 계수와 그리고 이웃하는 변환 블록들 간의 종속성을 활용할 수 있게 한다.
본 발명의 양태들
제1 양태에 따르면, 혁신적인 본 개념의 실시형태는 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상을 데이터 스트림으로 코딩하는 인코더를 제공할 수 있으며, 이 인코더는 블록 기반 잔차 코딩을 위한 변환 세트를 지원한다. 이 인코더는 현재 잔차 블록의 높이 및 폭에 기초하여 변환 세트 중에서 현재 잔차 블록에 대한 변환의 변환 후보 목록을 결정하도록 구성될 수 있다. 이 인코더는 또한, 선택 가능한 변환 목록 중 하나의 선택된 변환을 사용하여 잔차 블록 내의 예측 잔차를 코딩하고, 선택된 변환을 데이터 스트림에서 선택적으로 시그널링하도록 구성될 수 있다. 시그널링은, 후보 목록이 단지 하나의 후보 변환만을 포함할 수 있고 그렇게 되면 시그널링이 중지될 수 있다는 사실을, 선택적으로 표시할 수 있다.
제1 양태에 따르면, 혁신적인 본 개념의 다른 실시형태는 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림으로부터 영상을 디코딩하는 디코더를 제공할 수 있으며, 이 디코더는 블록 기반 잔차 디코딩을 위한 변환 세트를 지원한다. 이 디코더는 현재 잔차 블록의 높이 및 폭에 기초하여 변환 세트 중에서 현재 잔차 블록에 대한 변환의 변환 후보 목록을 결정하고, 선택 가능한 변환 목록 중에서 하나의 선택된 변환의 도메인에서 잔차 블록 내의 예측 잔차를 디코딩하되 선택된 변환을 데이터 스트림으로부터 선택적으로 유도하면서 디코딩하도록 구성될 수 있다. 유도(Deriving)는, 후보 목록이 단지 하나의 후보 변환만을 포함할 수 있고 그렇게 되면 시그널링/유도(signaling/derivation)가 중지될 수 있다는 사실을, 선택적으로 표시할 수 있다.
제2 양태에 따르면, 혁신적인 본 개념의 실시형태는 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상을 데이터 스트림으로 코딩하는 인코더를 제공할 수 있으며, 이 인코더는 블록 기반 잔차 코딩을 위한 변환 세트를 지원한다. 이 인코더는 변환 세트 중에서 현재 잔차 블록에 대한 선택 가능한 변환 목록을 결정하고, 그 선택 가능한 변환 목록 중에서 하나의 선택된 변환을 사용하여 변환 계수 데이터를 잔차 블록 내의 예측 잔차를 나타내는 데이터 스트림으로 코딩하도록 구성될 수 있다. 이 인코더는 또한, 선택된 변환을 데이터 스트림에서 시그널링하도록, 그리고/또는 선택 가능한 목록의 결정을 변환 계수 데이터 또는 변환 계수 데이터의 일부에 의존하여 수행하도록, 구성될 수 있다.
제2 양태에 따르면, 혁신적인 본 개념의 다른 실시형태는 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림으로부터 영상을 디코딩하는 디코더를 제공할 수 있으며, 이 디코더는 블록 기반 잔차 디코딩을 위한 변환 세트를 지원한다. 이 디코더는 변환 세트 중에서 현재 잔차 블록에 대한 선택 가능한 변환 목록을 결정하고, 그 선택 가능한 변환 목록 중에서 하나의 선택된 변환을 사용하여 잔차 블록 내의 예측 잔차를 나타내는 데이터 스트림으로부터 변환 계수 데이터를 디코딩하도록 구성될 수 있다. 이 디코더는 또한, 선택된 변환을 데이터 스트림으로부터 유도시키도록, 그리고/또는 선택 가능한 목록의 결정을 변환 계수 데이터 또는 변환 계수 데이터의 일부 데이터에 의존하여 수행하도록, 구성될 수 있다.
제3 양태에 따르면, 혁신적인 본 개념의 실시형태는 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상을 데이터 스트림으로 코딩하는 인코더를 제공할 수 있으며, 이 인코더는 블록 기반 잔차 코딩을 위한 변환 세트를 지원한다. 이 인코더는 변환 세트 중에서 현재 잔차 블록에 대한 선택 가능한 변환 목록을 결정하고, 그 선택된 변환을 데이터 스트림에서 시그널링하도록 구성될 수 있다. 이 인코더는 또한, 선택 가능한 변환 목록 중 하나의 선택된 변환을 사용하여, 잔차 블록 내의 예측 잔차를 나타내는 변환 계수를 선택된 변환 또는 선택 가능한 변환 목록에 의존하여 코딩하도록 구성된다.
제3 양태에 따르면, 혁신적인 본 개념의 다른 실시형태는 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림으로부터 영상을 디코딩하는 디코더를 제공할 수 있으며, 이 디코더는 블록 기반 잔차 디코딩을 위한 변환 세트를 지원한다. 이 디코더는 변환 세트 중에서 현재 잔차 블록에 대한 선택 가능한 변환 목록을 결정하고, 선택된 변환을 데이터 스트림으로부터 유도시키도록 구성될 수 있다. 이 디코더는 또한, 선택 가능한 변환 목록 중 하나의 선택된 변환을 사용하여, 잔차 블록 내의 예측 잔차를 나타내는 변환 계수를 데이터 스트림으로부터 디코딩하되 선택된 변환 또는 선택 가능한 변환 목록에 의존하여 디코딩하도록 구성된다.
제4 양태에 따르면, 혁신적인 본 개념의 실시형태는 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상을 데이터 스트림으로 코딩하는 인코더를 제공할 수 있으며, 이 인코더는 블록 기반 잔차 코딩을 위한 변환 세트를 지원한다. 이 인코더는 변환 세트 중에서 현재 잔차 블록에 대한 선택 가능한 변환 목록을 결정하고, 그 선택 가능한 변환 목록 중에서 하나의 선택된 변환을 사용하여 잔차 블록 내의 예측 잔차를 코딩하도록 구성될 수 있다. 이 인코더는 또한, 선택된 변환을 데이터 스트림에서 변환 표시자를 사용하여 시그널링하도록 구성될 수 있으며, 여기서 상기 변환 표시자는 하나 이상의 자릿수를 갖는 코드를 사용하여 데이터 스트림에서 시그널링되며, 상기 하나 이상의 자릿수들의 세트의 각 자릿수는 그 각각의 변환 속성과 고유하게 연관된다.
제4 양태에 따르면, 혁신적인 본 개념의 다른 실시형태는 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림으로부터 영상을 디코딩하는 디코더를 제공할 수 있으며, 이 디코더는 블록 기반 잔차 디코딩을 위한 변환 세트를 지원한다. 이 디코더는 변환 세트 중에서 현재 잔차 블록에 대한 선택 가능한 변환 목록을 결정하고, 그 선택 가능한 변환 목록 중에서 하나의 선택된 변환을 사용하여 잔차 블록 내의 예측 잔차를 데이터 스트림으로부터 디코딩하도록 구성될 수 있다. 이 디코더는 또한, 선택된 변환을 변환 표시자를 사용하여 데이터 스트림으로부터 유도시키도록 구성될 수 있으며, 여기서 상기 변환 표시자는 하나 이상의 자릿수를 갖는 코드를 사용하여 데이터 스트림으로부터 유도되며, 상기 하나 이상의 자릿수들의 세트의 각 자릿수는 그 각각의 변환 속성과 고유하게 연관된다. 예를 들어, 코드는 이진 산술 코딩을 거치는 변환 표시자의 빈(bin)들, 또는 변환 표시자를 구성하며 데이터 스트림으로부터 파싱될 수 있는 구문 요소들을 포함할 수 있다.
제5 양태에 따르면, 혁신적인 본 개념의 실시형태는 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상을 데이터 스트림으로 코딩하는 인코더를 제공할 수 있으며, 이 인코더는 블록 기반 잔차 코딩을 위한 변환 세트를 지원한다. 이 인코더는 또한, 내부 예측 블록의 예측을 획득하기 위해 내부 예측 블록의 공간적 이웃을 복수의 신경망 중 선택된 신경망에 적용함으로써 내부 예측 블록을 예측하고, 선택된 신경망 및 잔차 블록의 블록 크기에 기초하여 변환 세트 중에서, 내부 예측 블록을 커버하는 잔차 블록에 대한 선택 가능한 변환 세트를 결정하도록 구성될 수 있다. 이 인코더는 또한, 선택 가능한 변환 세트 중 하나의 선택된 변환을 사용하여 잔차 블록 내의 내부 예측 블록의 예측과 연관된 예측 잔차를 코딩하고, 선택된 변환을 데이터 스트림에서 시그널링하도록 구성될 수 있다.
제5 양태에 따르면, 혁신적인 본 개념의 다른 실시형태는 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림으로부터 영상을 디코딩하는 디코더를 제공할 수 있으며, 이 디코더는 블록 기반 잔차 디코딩을 위한 변환 세트를 지원한다. 이 디코더는 내부 예측 블록의 예측을 획득하기 위해 내부 예측 블록의 공간적 이웃을 복수의 신경망 중 선택된 신경망에 적용함으로써 내부 예측 블록을 예측하고, 선택된 신경망 및 잔차 블록의 블록 크기에 기초하여 변환 세트 중에서, 내부 예측 블록을 커버하는 잔차 블록에 대한 선택 가능한 변환 세트를 결정하도록 구성될 수 있다. 이 디코더는 또한, 선택 가능한 변환 세트 중에서 하나의 선택된 변환의 도메인에서 잔차 블록 내의 내부 예측 블록의 예측과 연관된 예측 잔차를 데이터 스트림으로부터 디코딩하되 선택된 변환을 데이터 스트림으로부터 유도하면서 디코딩하도록 구성될 수 있다.
제6 양태에 따르면, 혁신적인 본 개념의 실시형태는 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상을 데이터 스트림으로 코딩하는 인코더를 제공할 수 있다. 이 인코더는 일차 변환의 도메인에서 내부 예측 블록의 예측을 얻기 위해 내부 예측 블록의 공간적 이웃을 신경망에 적용함으로써 내부 예측 블록을 예측하도록 구성될 수 있고, 그리고 선택 가능한 변환 세트 중 하나의 선택된 변환을 사용하여 잔차 블록 내 내부 예측 블록의 예측과 연관된 예측 잔차를 코딩하고 선택된 변환을 데이터 스트림에서 시그널링 하도록 구성될 수 있으며, 여기서 선택 가능한 변환 세트는 일차 변환의 일차 변환 계수의 하위 그룹에 적용되는 일차 변환 및 이차 변환을 포함하는 적어도 하나의 다단계 변환에 의해 채워진다.
제6 양태에 따르면, 혁신적인 본 개념의 다른 실시형태는 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 데이터 스트림으로부터 영상을 디코딩하는 디코더를 제공할 수 있다. 이 디코더는 일차 변환의 도메인에서 내부 예측 블록의 예측을 얻기 위해 내부 예측 블록의 공간적 이웃을 신경망에 적용함으로써 내부 예측 블록을 예측하도록 구성될 수 있고, 그리고 선택 가능한 변환 세트 중 하나의 선택된 변환의 또 다른 도메인에서 잔차 블록 내 내부 예측 블록의 예측과 연관된 예측 잔차를 데이터 스트림으로부터 디코딩하되 선택된 변환을 데이터 스트림으로부터 유도하면서 디코딩하도록 구성될 수 있으며, 여기서 선택 가능한 변환 세트는 일차 변환의 일차 변환 계수의 하위 그룹에 적용되는 일차 변환 및 이차 변환을 포함하는 적어도 하나의 다단계 변환에 의해 채워진다.
제7 양태에 따르면, 혁신적인 본 개념의 실시형태는 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상을 데이터 스트림으로 코딩하는 인코더를 제공할 수 있으며, 이 인코더는 블록 기반 잔차 코딩을 위한 변환 세트를 지원한다. 이 인코더는 내부 예측 블록의 예측을 획득하기 위해 내부 예측 모드 세트 중에서 선택된 예측 모드를 사용하여 내부 예측 블록의 공간적 이웃에 기초하여 내부 예측 블록을 예측하고, 선택된 내부 예측 모드 및 잔차 블록의 블록 크기에 기초하여 변환 세트 중에서, 내부 예측 블록을 커버하는 잔차 블록에 대한 선택 가능한 변환 세트를 결정하도록 구성될 수 있다. 이 인코더는 또한, 선택 가능한 변환 세트 중 하나의 선택된 변환을 사용하여 잔차 블록 내의 내부 예측 블록의 예측과 연관된 예측 잔차를 코딩하고, 선택된 변환을 데이터 스트림에서 시그널링하도록 구성될 수 있다.
제7 양태에 따르면, 혁신적인 본 개념의 다른 실시형태는 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림으로부터 영상을 디코딩하는 디코더를 제공할 수 있으며, 이 디코더는 블록 기반 잔차 디코딩을 위한 변환 세트를 지원한다. 이 디코더는 내부 예측 블록의 예측을 획득하기 위해 내부 예측 모드 세트 중에서 선택된 예측 모드를 사용하여 내부 예측 블록의 공간적 이웃에 기초하여 내부 예측 블록을 예측하고, 선택된 내부 예측 모드 및 잔차 블록의 블록 크기에 기초하여 변환 세트 중에서, 내부 예측 블록을 커버하는 잔차 블록에 대한 선택 가능한 변환 세트를 결정하도록 구성될 수 있다. 이 디코더는 또한, 선택 가능한 변환 세트 중에서 하나의 선택된 변환의 도메인에서 잔차 블록 내의 내부 예측 블록의 예측과 연관된 예측 잔차를 데이터 스트림으로부터 디코딩하되 선택된 변환을 데이터 스트림으로부터 유도하면서 디코딩하도록 구성될 수 있다.
제8 양태에 따르면, 혁신적인 본 개념의 실시형태는 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상을 데이터 스트림으로 코딩하는 인코더를 제공할 수 있으며, 이 인코더는 블록 기반 잔차 코딩을 위한 변환 세트를 지원한다. 이 인코더는 변환 세트 중 현재 잔차 블록에 대한 선택 가능한 변환 목록을 이웃하는 잔차 블록에 대해 선택된 기준 변환 - 예를 들어 이 또한 후자의 예측 잔차를 코딩하기 위한 변환 세트 중에서의 것임 - 에 기초하여 결정하도록 구성될 수 있다. 이 인코더는 또한, 선택 가능한 변환 목록 중 하나의 선택된 변환을 사용하여 잔차 블록 내의 예측 잔차를 코딩하고, 선택된 변환을 데이터 스트림에서 시그널링하도록 구성될 수 있다.
제8 양태에 따르면, 혁신적인 본 개념의 다른 실시형태는 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림으로부터 영상을 디코딩하는 디코더를 제공할 수 있으며, 이 디코더는 블록 기반 잔차 디코딩을 위한 변환 세트를 지원한다. 이 디코더는 변환 세트 중 현재 잔차 블록에 대한 선택 가능한 변환 목록을 이웃하는 잔차 블록에 대해 선택된 기준 변환 - 예를 들어 이 또한 후자의 예측 잔차를 코딩하기 위한 변환 세트 중에서의 것임 - 에 기초하여 결정하도록 구성될 수 있다. 이 디코더는 또한, 선택 가능한 변환 목록 중에서 하나의 선택된 변환의 도메인에서 잔차 블록 내의 예측 잔차를 디코딩하되 선택된 변환을 데이터 스트림으로부터 유도하면서 디코딩하도록 구성될 수 있다.
제9 양태에 따르면, 혁신적인 본 개념의 실시형태는 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상을 데이터 스트림으로 코딩하는 인코더를 제공할 수 있으며, 이 인코더는 블록 기반 잔차 코딩을 위한 변환 세트를 지원한다. 이 인코더는 변환 세트 중에서 현재 잔차 블록에 대한 선택 가능한 변환 목록을 결정하되 현재 블록의 양자화 파라미터에 의존하여 결정하도록 구성될 수 있다. 양자화 파라미터가 특정 임계값보다 미세한 양자화에 해당하는 경우, 현재 잔차 블록에 대한 선택 가능한 변환 목록이, 현재 잔차 블록 내 예측 잔차에 적용되는 일차 변환 및 일차 변환의 일차 변환 계수들의 하위 그룹에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환으로 채워진다. 그러나 양자화 파라미터가 특정 임계값보다 거친 양자화에 해당하는 경우에는, 현재 잔차 블록에 대한 선택 가능한 변환 목록이, 상기 적어도 하나의 다단계 변환에 추가하여서나 혹은 그 대신에, 하위 그룹을 넘어선 일차 변환 계수가 제로화되는 것에 따른 상기 적어도 하나의 다단계 변환의 수정으로 채워질 수 있다. 이들 두 경우에서, 인코더는 선택 가능한 변환 목록 중 하나의 선택된 변환을 사용하여 잔차 블록 내의 예측 잔차를 코딩하고, 선택된 변환을 데이터 스트림에서 시그널링하도록 구성될 수 있다.
제9 양태에 따르면, 혁신적인 본 개념의 다른 실시형태는 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림으로부터 영상을 디코딩하는 디코더를 제공할 수 있으며, 이 디코더는 블록 기반 잔차 디코딩을 위한 변환 세트를 지원한다. 이 디코더는 변환 세트 중에서 현재 잔차 블록에 대한 선택 가능한 변환 목록을 결정하되 현재 블록의 양자화 파라미터에 의존하여 결정하도록 구성될 수 있다. 양자화 파라미터가 특정 임계값보다 미세한 양자화에 해당하는 경우에는, 현재 잔차 블록에 대한 선택 가능한 변환 목록이, 현재 잔차 블록 내 예측 잔차에 적용되는 일차 변환 및 일차 변환의 일차 변환 계수들의 하위 그룹에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환으로 채워진다. 그러나 양자화 파라미터가 특정 임계값보다 거친 양자화에 해당하는 경우에는, 현재 잔차 블록에 대한 선택 가능한 변환 목록이, 상기 적어도 하나의 다단계 변환에 추가하여서나 혹은 그 대신에, 하위 그룹을 넘어선 일차 변환 계수가 제로화되는 상기 적어도 하나의 다단계 변환의 수정으로 채워진다. 이들 두 경우에서, 디코더는 선택 가능한 변환 목록 중에서 하나의 선택된 변환의 도메인에서 잔차 블록 내의 예측 잔차를 디코딩하되 선택된 변환을 데이터 스트림으로부터 유도하면서 디코딩하도록 구성될 수 있다.
제10 양태에 따르면, 혁신적인 본 개념의 실시형태는 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상을 데이터 스트림으로 코딩하는 인코더를 제공할 수 있으며, 이 인코더는 블록 기반 잔차 코딩을 위한 변환 세트를 지원한다. 이 인코더는 변환 세트 중 현재 잔차 블록에 대한 선택 가능한 변환 목록을 이웃하는 잔차 블록에 대해 선택된 기준 변환에 기초하여 결정하되 하나 이상의 이웃하는 잔차 블록들 내의 유의미 변환 계수(significant transform coefficient)들의 개수 또는 합계에 의존하는 방식으로 결정하도록 구성될 수 있다. 상기 개수 또는 합계가 특정 임계값보다 많은 경우에는, 현재 잔차 블록에 대한 선택 가능한 변환 목록이, 현재 잔차 블록의 예측 잔차에 적용되는 일차 변환 및 일차 변환의 일차 변환 계수들의 하위 그룹에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환으로 채워진다. 그러나 상기 개수 또는 합계가 특정 임계값보다 적은 경우에는, 현재 잔차 블록에 대한 선택 가능한 변환 목록이, 상기 적어도 하나의 다단계 변환에 추가하여서나 혹은 그 대신에, 하위 그룹을 넘어선 일차 변환 계수가 제로화되는 상기 적어도 하나의 다단계 변환의 수정으로 채워진다. 이들 두 경우에서, 인코더는 선택 가능한 변환 목록 중 하나의 선택된 변환을 사용하여 잔차 블록 내의 예측 잔차를 코딩하고, 선택된 변환을 데이터 스트림에서 시그널링하도록 구성될 수 있다.
제10 양태에 따르면, 혁신적인 본 개념의 다른 실시형태는 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림으로부터 영상을 디코딩하는 디코더를 제공할 수 있으며, 이 디코더는 블록 기반 잔차 디코딩을 위한 변환 세트를 지원한다. 이 디코더는 변환 세트 중 현재 잔차 블록에 대한 선택 가능한 변환 목록을 이웃하는 잔차 블록에 대해 선택된 기준 변환에 기초하여 결정하되 하나 이상의 이웃하는 잔차 블록들 내의 유의미 변환 계수들의 개수 또는 합계에 의존하는 방식으로 결정하도록 구성될 수 있다. 상기 개수 또는 합계가 특정 임계값보다 많은 경우에는, 현재 잔차 블록에 대한 선택 가능한 변환 목록이, 현재 잔차 블록의 예측 잔차에 적용되는 일차 변환 및 일차 변환의 일차 변환 계수들의 하위 그룹에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환으로 채워진다. 그러나 상기 개수 또는 합계가 특정 임계값보다 적은 경우에는, 현재 잔차 블록에 대한 선택 가능한 변환 목록이, 상기 적어도 하나의 다단계 변환에 추가하여서나 혹은 그 대신에, 하위 그룹을 넘어선 일차 변환 계수가 제로(0)화되는 상기 적어도 하나의 다단계 변환의 수정으로 채워진다. 이들 두 경우에서, 디코더는, 추가로, 선택 가능한 변환 목록 중에서 하나의 선택된 변환의 도메인에서 잔차 블록 내의 예측 잔차를 디코딩하되 선택된 변환을 데이터 스트림으로부터 유도하면서 디코딩하도록 구성될 수 있다.
또 다른 양태에 따르면, 컴퓨터 프로그램들로서, 각각의 컴퓨터 프로그램이 컴퓨터 또는 신호 프로세서에서 실행될 때 전술한 코딩 및/또는 디코딩 방법을 구현하도록 구성되어 전술한 방법들이 컴퓨터 프로그램들 중 하나에 의해 구현되도록 한, 컴퓨터 프로그램들이 제공된다.
이하에서는 도면을 참조하여 본 개시내용의 실시형태들을 더 상세하게 설명한다.
도 1은 본 발명의 하나 이상의 실시형태에 사용될 수 있는 인코더의 개략적인 블록도를 도시하는 것이다.
도 2는 본 발명의 하나 이상의 실시형태에 사용될 수 있는 디코더의 개략적인 블록도를 도시하는 것이다.
도 3은 본 발명의 하나 이상의 실시형태에 사용될 수 있는 블록 기반 코딩 스킴의 개략적인 블록도를 도시하는 것이다.
도 4는 변환을 이용할 때 잔차 블록을 변환 계수들의 그룹들과 하위 그룹들로 분할하는 몇 가지 예들을 보여주는 것이다.
도 5는 변환을 이용할 때 잔차 블록을 변환 계수들의 그룹들과 하위 그룹들로 분할하는 또 다른 예들을 보여주는 것이다.
도 6은 일차 변환과 일차 변환을 포함하는 다단계 변환의 여러 단계들의 몇 가지 예들을 보여주는 것이다.
도 7은 본 발명의 일 실시형태에 따른 것으로, 하나 이상의 신경망을 포함하는 변환 세트를 사용하는 블록 기반 잔차 코딩의 개략적인 블록도를 도시하는 것이다.
도 8은 본 발명의 일 실시형태에 따른 것으로, 일차 변환 및 이차 변환을 포함하는 다단계 변환의 개념을 도시하는 것이다.
도 9는 본 발명의 일 실시형태에 따른 것으로, 행과 열의 코딩 순서를 이용하는, 공간 도메인에서의 일차 변환 및 이차 변환을 포함하는 다단계 변환의 개념을 도시하는 것이다.
도 10은 본 발명의 일 실시형태에 따른 것으로, 일차 전용 변환의 개념을 도시하는 것이다.
도 11은 본 발명의 일 실시형태에 따른 것으로, 신경망을 포함하는 다단계 변환을 사용하는 블록 기반 잔차 코딩 스킴의 개략적인 블록도를 도시하는 것이다.
도 12는 본 발명의 일 실시형태에 따른 것으로, 변환 세트 및 선택 가능한 변환 세트를 사용하는 블록 기반 잔차 코딩 스킴의 개략적인 블록도를 도시하는 것이다.
도 13은 본 발명의 일 실시형태에 따른 것으로, 미리 결정된 코딩 순서로 코딩되는 복수의 유의미 및 비유의미 변환 계수들을 포함하는 잔차 블록의 개략적인 블록도를 도시하는 것이다.
도 14는 본 발명의 일 실시형태에 따른 것으로, 변환 세트 및 선택 가능한 변환 세트를 사용하며 변환 시그널링을 사용하는 블록 기반 잔차 코딩 스킴의 개략적인 블록도를 도시하는 것이다.
도 15는 본 발명의 일 실시형태에 따른 것으로, 변환 세트 및 선택 가능한 변환 세트를 사용하며 변환 시그널링을 사용하는 블록 기반 잔차 코딩 스킴의 개략적인 블록도를 도시하는 것이다.
도 16은 본 발명의 일 실시형태에 따른 것으로, 일부 변환 계수가 0으로 설정되는 블록 기반 잔차 코딩 스킴의 개략적인 블록도를 도시하는 것이다.
도 17은 본 발명의 일 실시형태에 따른 것으로, 나머지 0이 아닌 값을 갖는 일차 계수들이 이차 변환을 거치기 전에 그들 중 일부가 0으로 설정되는, 복수의 일차 계수를 포함하는 개략적인 잔차 블록을 도시하는 것이다.
도 18은 일 실시형태에 따른 것으로, 일부 변환 계수가 0으로 될 수 있는 변환 블록의 개략적인 블록도를 디코딩 관점에서 도시하는 것이다.
도 19는 일 실시형태에 따른 것으로, 일부 변환 계수가 0으로 될 수 있는 변환 블록의 개략적인 블록도를 디코딩 관점에서 도시하는 것이다.
도면의 설명
같거나 동등한 요소들, 또는 같거나 동등한 기능을 갖는 요소들은 아래의 설명에서는 같거나 동등한 참조 번호로 표시된다.
블록도로 도시되고 그 블록도를 참조하여 기술된 방법 단계들은 또한 도시되고/되거나 기술된 순서와 다른 순서로도 실행될 수 있다. 또한, 장치의 특정 특징과 관련된 방법 단계들은 그 장치의 그 특징으로 대체될 수 있으며, 그 반대의 경우도 가능하다.
변환(transformation)이라는 용어는 본원에서는 trafo라는 용어로 축약될 수도 있다. 변환(transformation)이라는 용어는 변환(transformation)과 변환한 것(transform)(즉, 변환의 결과) 모두에 대해 동의어로 사용될 수 있다.
도면에 대한 다음 설명은 본원에 설명된 실시형태들이 구축될 수 있는 코딩 프레임워크에 대한 예를 형성하기 위해 비디오의 영상을 코딩하기 위한 블록 기반 예측 코덱의 비디오 인코더 및 비디오 디코더에 대한 설명의 제시로 시작한다. 비디오 인코더 및 비디오 디코더는 도 1 내지 도 3과 관련하여 설명된다. 이하에서, 본 출원의 추가 실시형태들에 대한 설명이 도면과 관련하여 제시된다. 동일하게 번호가 매겨지고, 위의 설명 부분에서 위의 어느 부분이 아래에서 설명되고 청구된 실시형태들 중 어느 것을 지칭하는지에 대한 참조가 이루어진다. 이러한 모든 실시형태들은 각각 도 1 및 도 2의 비디오 인코더와 비디오 디코더에 내장될 수 있는데, 그렇지만 후속 도면들과 관련하여 설명된 것과 같은 본원에 설명된 실시형태들도 또한 도 1 및 도 2의 비디오 인코더 및 비디오 디코더의 기본이 되는 코딩 프레임워크에 따라 작동하지 않는 비디오 인코더 및 비디오 디코더를 형성하는 데 사용될 수 있다.
도 1은 일련의 영상들(12)로 구성된 비디오(11)를 데이터 스트림(14)으로 예측적으로 코딩하기 위한 장치를 도시한다. 이를 위해 블록 단위 예측 코딩이 사용된다. 또한, 변환 기반 잔차 코딩이 예시적으로 사용된다. 장치 또는 인코더는 도면 부호 10을 사용하여 표시된다.
도 2는 데이터 스트림(14)으로부터의 영상 블록들 내 영상들(12')로 구성된 비디오(11')를, 여기서도 또한 변환 기반 잔차 디코딩을 예시적으로 사용하여, 예측적으로 디코딩하도록 구성된 장치(20)인 디코더(20)를 도시하는데, 여기서 아포스트로피는, 장치(10)에 의해 원래 코딩된 영상(12)으로부터 예측 잔차 신호의 양자화에 의해 유래된 코딩 손실 측면에서 벗어나게 디코더(20)에 의해 재구성된 영상(12') 및 비디오(11')를 각각 나타내기 위해 사용되었다.
도 1 및 도 2는 변환 기반 예측 잔차 코딩을 예시적으로 사용하는데, 그렇지만 본 출원의 실시형태들은 이러한 종류의 예측 잔차 코딩에 제한되지 않는다. 이는 이하에서 설명되는 바와 같이 도 1 및 도 2와 관련하여 설명된 다른 세부 사항들에 대해서도 마찬가지이다.
인코더(10)는 예측 잔차 신호를 공간에서 스펙트럼으로의 변환(이하, 공간-스펙트럼 변환)을 거치게 하고 그에 따라 획득된 예측 잔차 신호를 데이터 스트림(14)으로 코딩하도록 구성된다. 마찬가지로, 디코더(20)는 데이터 스트림(14)으로부터 예측 잔차 신호를 디코딩하고 그에 따라 획득된 예측 잔차 신호를 스펙트럼에서 공간으로의 변환(이하, 스펙트럼-공간 변환)을 거치게 하도록 구성된다.
내부적으로, 인코더(10)는 비디오(11) 또는 현재 영상(12)인 원래 신호로부터의 예측 신호(26)의 편차를 측정할 수 있도록 예측 잔차(24)를 생성하는 예측 잔차 신호 형성기(22)를 포함할 수 있다. 예측 잔차 신호 형성기(22)는 예를 들어 현재 영상(12)인 원래 신호에서 예측 신호(26)를 감산하는 감산기일 수 있다.
그 다음, 인코더(10)는 인코더(10)에 또한 포함된 양자화기(32)에 의해 양자화되는 스펙트럼-도메인 예측 잔차 신호(24')를 획득하기 위해 예측 잔차 신호(24)를 공간-스펙트럼 변환을 거치게 하는 변환기(28)를 더 포함한다. 이렇게 양자화된 예측 잔차 신호(24'')는 비트 스트림(14)으로 코딩된다.
이를 위해, 인코더(10)는 데이터 스트림(14)으로 변환되고 양자화된 예측 잔차 신호를 엔트로피 코딩하는 엔트로피 코더(34)를 선택적으로 포함할 수 있다. 예측 잔차(24)는, 데이터 스트림(14)으로 디코딩되고 그 데이터 스트림으로부터 디코딩될 수 있는 예측 잔차 신호(24")에 기초하여 인코더(10)의 예측 스테이지(36)에 의해 생성된다.
이를 위해, 예측 스테이지(36)는 내부적으로, 도 1에 도시된 바와 같이, 양자화 손실을 제외하고는 신호(24')에 해당하는 스펙트럼-도메인 예측 잔차 신호(24''')를 얻을 수 있도록 예측 잔차 신호(24'')를 역양자화하는 역양자화기(38)를 포함할 수 있는데, 이 역양자화기 다음에는, 양자화 손실을 제외하고는 원래의 예측 잔차 신호(24)에 대응하는 예측 잔차 신호(24'''')를 획득하기 위해 상기 예측 잔차 신호(24''')를 역변환하는, 즉 스펙트럼-공간 변환을 하는, 역변환기(40)가 뒤따른다. 그 다음, 예측 스테이지(36)의 결합기(42)가 예측 신호(26)와 예측 잔차 신호(24'''')를 예컨대 가산에 의해 재결합시켜서 재구성된 신호(46), 즉 원래 신호(12)의 재구성을 획득한다. 재구성된 신호(46)는 신호(12')에 대응할 수 있다.
그 다음, 예측 스테이지(36)의 예측 모듈(44)이 예를 들어 공간 예측, 즉 내부 예측 및/또는 시간적 예측, 즉 상호 예측을 사용하여 신호(46)에 기초하여 예측 신호(26)를 생성한다. 이와 관련된 자세한 내용은 다음에서 설명한다.
마찬가지로, 디코더(20)는, 예측 스테이지(36)에 대응하며 예측 스테이지에 대응하는 방식으로 상호 연결된 컴포넌트들로 내부적으로 구성될 수 있다. 특히, 디코더(20)의 엔트로피 디코더(50)는 양자화된 스펙트럼-도메인 예측 잔차 신호(24'')를 데이터 스트림으로부터 엔트로피 디코딩할 수 있고, 반면에 예측 스테이지(36)의 모듈과 관련하여 위에서 설명한 방식으로 상호 연결되어 협력하는 역양자화기(52), 역변환기(54), 결합기(56), 및 예측 모듈(58)은 재구성된 신호를 예측 잔차 신호(24)에 기초하여 복구하고, 이에 따라 결합기(56)의 출력은, 도 2에 도시된 바와 같이, 재구성된 신호, 즉 비디오(11') 또는 이 비디오의 현재 영상(12')을 생성한다.
위에서 구체적으로 설명하지는 않았지만, 인코더(10)가 예를 들어 예측 모드, 모션 파라미터 등을 포함하는 일부 코딩 파라미터를 몇몇 최적화 방식에 따라, 예컨대 몇몇 레이트 및 왜곡 관련 기준, 즉 코딩 비용, 및/또는 몇몇 레이트 제어 사용을 최적화하는 방식으로 설정할 수 있다는 것은 쉽게 명백해진다. 아래에 자세히 설명되는 바와 같이, 인코더(10) 및 디코더(20)와 대응하는 모듈들(44, 58)은 각각, 내부 코딩 모드 및 상호 코딩 모드, 또는 영상 블록들의 예측을 구성하는 데 기본이 되는 원시 예측 모드들의 일종의 세트 또는 풀을 이전의 모드들이 형성하는 모드와 같은, 상이한 예측 모드를 지원한다. 인코더와 디코더가 이들 예측 구성(prediction composition)들 사이에서 전환되는 세분도(granularity)는 영상들(12 및 12')을 각각 블록으로 세분화하는 것에 대응할 수 있다. 이들 블록들 중 일부는 오로지 내부 코딩된 블록일 수 있고, 일부 블록은 오로지 상호 코딩된 블록일 수 있으며, 선택적으로, 또 다른 블록은 내부 코딩과 상호 코딩을 모두 사용하여 얻어진 블록일 수 있는데, 세부 사항에 대해서는 이하에서 설명된다.
내부 코딩 모드에 따르면, 블록에 대한 예측 신호는 각 블록의 이미 코딩된/디코딩된 공간적 이웃에 기초하여 획득된다. 여러 가지의 내부 코딩 하위 모드들이 존재할 수 있으며, 그 중에서 준(quasi)은 일종의 내부 예측 파라미터를 나타낸다. 각각의 방향성 내부 코딩 하위 모드에 대해 특정된 특정 방향을 따라 이웃의 샘플 값을 외삽함으로써 각각의 블록에 대한 예측 신호가 각각의 블록으로 채워지는, 방향성 또는 각도 내부 코딩 하위 모드들이 있을 수 있다. 내부 코딩 하위 모드는 또한, 예를 들어, 각각의 블록에 대한 예측 신호가 각각의 블록 내의 모든 샘플에 DC 값을 할당하는 DC 코딩 모드와 같은 하나 이상의 추가 하위 모드, 및/또는 각각의 블록의 예측 신호가, 각각의 블록의 샘플 위치들에 대한 2차원 선형 함수로 설명되는 샘플 값들의 공간적 분포로 근사되거나 결정되며 이 때 상기 2차원 선형 함수에 의해 정의되는 평면의 기울기 및 오프셋이 이웃하는 샘플들을 기초로 하여 도출되는, 평면 내부 코딩 모드를 포함할 수 있다.
이에 비해, 상호 예측 모드에 따르면, 블록에 대한 예측 신호는, 예를 들어 블록 내부를 시간적으로 예측함으로써, 획득할 수 있다. 상호 예측 모드의 파라미터화를 위해, 각각의 블록에 대한 예측 신호를 얻기 위해 이전에 코딩된/디코딩된 영상이 샘플링되는 비디오(11)의 이전에 코딩된 영상 부분의 공간 변위를 나타내는 모션 벡터가 데이터 스트림에서 시그널링될 수 있다. 이것이 의미하는 바는, 데이터 스트림(14)에, 양자화된 스펙트럼-도메인 예측 잔차 신호(24'')를 나타내는 엔트로피 코딩된 변환 계수 레벨과 같은, 데이터 스트림(14)에 포함된 잔차 신호 코딩 외에, 블록 예측 모드에 할당하기 위한 예측 관련 파라미터들과, 상호 예측 모드들에 대한 모션 파라미터들과 같은, 할당된 예측 모드들에 대한 예측 파라미터들과, 선택적으로, 할당된 예측 모드들 및 예측 파라미터들을 사용하여 블록들에 대한 최종 예측 신호의 성분을 제어하는 추가 파라미터들이 코딩될 수 있다는 것으로, 이들에 대해서는 아래에서 자세히 설명된다. 추가적으로, 데이터 스트림(14)은 영상(12 및 12')을 블록들로 세분하는 것을 각각 제어하고 시그널링하는 파라미터들을 포함할 수 있다. 디코더(20)는 이들 파라미터들을 사용하여 인코더(10)가 했던 것과 동일한 방식으로 영상(12)을 세분하여 동일한 예측 모드들 및 파라미터들을 블록들에 할당하고, 동일한 예측을 수행하여 동일한 예측 신호를 생성한다.
도 3은 한편으로는 재구성된 신호, 즉 재구성된 영상(12')과 다른 한편으로는 데이터 스트림(14)에서 시그널링된 예측 잔차 신호(24'''')와 예측 신호(26)의 조합과의 사이의 관계를 나타낸다. 위에서 이미 언급한 바와 같이, 상기 조합은 가산일 수 있다.
도 3에서 예측 신호(26)는 영상 영역을 다양한 크기의 블록(80)으로 세분한 것으로 예시되어 있지만, 이것은 단지 예일뿐이다. 세분은 임의의 세분, 예컨대 영상 영역을 블록의 행 및 열로 규칙적으로 세분하는 것, 또는 영상(12)을 쿼드트리 세분 등과 같이 다양한 크기의 리프 블록(leaf block)들로 다중 트리 분할하는 것일 수 있으며, 이들의 혼합이 도 3에 예시되어 있는데, 이 도면에서 보면, 영상 영역이 먼저 트리 루트 블록의 행과 열로 세분되고, 그 다음 순환적 다중 트리 세분화에 따라 더 세분되어, 결과적으로 블록들(80)이 생성된다.
도 3의 예측 잔차 신호(24'''')는 또한 영상 영역이 블록들(84)로 세분된 것으로서 예시되어 있다. 이 블록들은 코딩 블록(80)과 구별하기 위해 변환 또는 잔차 블록으로 불릴 수 있다. 사실상, 도 3은 인코더(10) 및 디코더(20)가 영상(12)과 영상(12') 각각의 두 가지 상이한 블록으로의 세분화 - 즉, 하나는 코딩 블록(80)으로의 세분화이고, 다른 하나는 블록(84)로의 세분화임 - 를 사용할 수 있음을 예시하고 있다. 두 가지 세분은 동일할 수 있다. 즉, 각 블록(80)은 동시에 변환 블록(84)을 형성할 수 있으며 그 반대도 가능하다. 그러나 도 3은 두 블록들(80) 사이의 경계가 두 블록들(84) 사이의 경계에 중첩되도록, 또는 달리 말하자면 각 블록(80)이 변환 블록들(84) 중 하나와 일치하거나 또는 변환 블록들(84)의 클러스터와 일치하도록, 예를 들어 변환 블록들(84)로의 세분화가 블록들(80)로의 세분화의 확장을 형성하는 경우를 예시하고 있다.
그러나 변환 블록들(84)이 위와 달리 블록들(80) 사이의 블록 경계와 교차할 수 있도록 세분화가 서로 독립적으로 결정되거나 선택될 수 있다. 변환 블록들(84)로의 세분화에 관한 한, 블록들(80)로의 세분화와 관련하여 제시된 것과 유사한 설명이 유효하다. 즉, 블록들(84)은 영상 영역을 블록들로 규칙적으로 세분하여 행과 열로 배열되게 한 결과일 수 있고, 영상 영역의 순환적 다중 트리 분할 또는 이들의 조합 또는 임의의 다른 종류의 분할의 결과일 수 있다.
단지 이와 별개로, 블록(80 및 84)은 2차, 직사각형, 또는 임의의 다른 모양으로 제한되지 않는다는 점을 주지해야 한다. 또한, 현재 영상(12)을 예측 신호가 형성되는 블록들(80)로 세분하는 것과, 현재 영상(12)을 예측 잔차가 코딩되는 블록들(84)으로 세분하는 것은 코딩/디코딩에 사용되는 유일한 세분화가 아닐 수 있다. 이러한 세분화는 예측 신호 결정 및 잔차 코딩이 수행되는 세분도를 형성하지만, 첫째, 잔차 코딩은 대안적으로 세분화 없이 수행될 수 있으며, 둘째, 이러한 세분화 이외의 다른 세분도에서, 인코더(10) 및 디코더(20)는, 예컨대 예측 파라미터, 예측 신호 성분 제어 신호 등과 같은, 전술한 파라미터들 중 일부 파라미터를 포함할 수 있는 특정 코딩 파라미터를 설정할 수 있다.
도 3은 예측 신호(26)와 예측 잔차 신호(24'''')의 조합이 직접적으로 재구성된 신호(12')를 생성함을 예시하고 있다. 그러나 하나 이상의 예측 신호(26)가 예측 잔차 신호(24'''')와 결합되어, 예를 들어 별도의 DPB를 갖춘 별도의 예측 루프에서 코딩/디코딩되는 다른 뷰 또는 다른 코딩 레이어로부터 얻어진 예측 신호와 같은, 대안적인 실시형태에 따른 영상(12')이 될 수 있다는 것을 주지해야 한다.
도 3에서, 변환 블록(84)은 다음과 같은 의미를 가져야 한다. 변환기(28) 및 역변환기(54)는 이들 변환 블록들(84)의 단위로 그들의 변환을 수행한다. 예를 들어, 많은 코덱은 모든 변환 블록들(84)에 대해 일종의 DST 또는 DCT를 사용한다. 일부 코덱은 변환 블록들(84) 중 일부에 대해 예측 잔차 신호가 공간 도메인에서 직접 코딩되도록 변환을 건너 뛸 수 있게 한다. 그러나, 후술하는 실시형태에 따르면, 인코더(10) 및 디코더(20)는 여러 가지 변환을 지원하도록 구성된다. 예를 들어, 인코더(10) 및 디코더(20)에 의해 지원되는 변환은 다음을 포함할 수 있다:
○ DCT-II(또는 DCT-III), 여기서 DCT는 이산 코사인 변환을 나타냄.
○ DST-IV, 여기서 DST는 이산 사인 변환을 나타냄.
○ DCT-IV ○ DST-VII
○ 아이덴티티 변환(IT)
당연히, 변환기(28)는 이러한 변환의 모든 순방향 변환 버전을 지원하지만, 디코더(20) 또는 역변환기(54)는 그 변환의 대응하는 역방향 또는 역버전을 지원할 것이다.
○ 역 DCT-II(또는 역 DCT-III)
○ 역 DST-IV
○ 역 DCT-IV
○ 역 DST-VII
○ 아이덴티티 변환(IT)
어느 경우든지, 지원되는 변환 세트는 하나의 스펙트럼-공간 변환 또는 공간-스펙트럼 변환과 같은 단지 하나의 변환을 포함할 수 있다는 점을 주지해야 한다.
이미 위에서 개설한 바와 같이, 도 1 내지 도 3은 본 출원에 따른 비디오 인코더 및 비디오 디코더에 대한 특정 실시예를 형성하기 위해 아래에서 더 설명되는 개념이 구현될 수 있는 실시예로서 제시되었다. 지금까지, 도 1 및 도 2의 비디오 인코더 및 비디오 디코더는 각각 아래에서 설명되는 비디오 인코더 및 비디오 디코더의 가능한 구현을 나타낸다.
청구범위와 관련하여, "분리 불가능"은 세로 방향 및 가로 방향의 분리 가능성에 관한 것임을 주지해야 한다.
3. 구조화된 다단계 변환
일반적으로, 크기가 D=W*H인 잔차 블록에 대한 임의의 선형 변환은 D*D 파라미터로 정의될 수 있다. 여기서, 이러한 종류의 변환을 완전히 연결된 변환이라고 한다. 이러한 변환이 가장 유연하지만, 필요한 연산의 횟수와 필요한 파라미터 저장의 측면에서의 그 변환의 복잡도는 크기 D에 따라 2차적으로 증가한다.
따라서, 완전히 연결된 변환은 작은 변환 크기에만 적용할 수 있다. 복잡도를 줄이기 위해, 변환은 특정 구조를 갖도록 제한될 수 있으며, 이는 효율적인 구현이 이루어질 수 있게 하며 변환 파라미터의 개수를 줄인다. 한 가지 접근 방식은 각 변환 스테이지 자체가 독립적인 하위 그룹들로 분리되는 다수의 변환으로 분해하는 변환을 필요로 한다. 이러한 다단계 변환의 복잡도는, 변환 스테이지들의 개수와, 독립적인 하위 그룹들의 디멘션을 선택하고 또한 하위 그룹 변환을 제한함으로써, 조정될 수 있다.
실시예: 하위 블록들로의 분할로 인한 곱셈 횟수 감소
폭이 W이고 높이가 H인 데이터 블록을 고려한다. 이 데이터 블록은 추가 처리를 위해 (H*W) × 1 벡터 b로 직렬화된 H × W 행렬 B로 나타낼 수 있다.
데이터 블록이 완전히 연결된 변환으로 변환되도록 한다. 변환 행렬 T와 직렬화된 데이터 블록 벡터 b 간의 행렬 벡터곱 T*b를 계산하여 변환이 행해진다. 변환 행렬 모양은 출력 계수마다 필요한 횟수의 H*W 곱셈을 유발하는 (H*W) × (H*W)이다. 따라서, H*W 출력 계수의 경우, 총 (H*W)2의 곱셈이 필요하다.
H = 8 및 W = 8의 경우에는 변환 계수 계산에 4096회의 곱셈이 생긴다. 이제, H와 W를 모두 4로 나눌 수 있다고 가정하여, 데이터 블록을 4x4 행렬 Bi로 표현할 수 있는 H/4*W/4 하위 블록으로 세분한다. 각 하위 블록은 추가 처리를 위해 다시 16x1 벡터 bi로 직렬화된다. 변환 계수는 이제 완전히 연결된 변환에 의해 각 하위 블록을 변환하고 결과를 스티칭하여 계산된다. 변환은 하위 블록 변환 매트릭스 Ti와 직렬화된 하위 블록 bi 사이의 행렬 벡터곱 Ti*bi의 계산에 의해 다시 수행된다. 이 경우 변환 행렬 모양은 16x16이므로, 출력 계수마다 총 16회의 곱셈이 필요하다. 따라서, 하나의 하위 블록의 변환 계수들을 계산하려면 16 *16 = 256회의 곱셈이 필요하다. H/4*W/4 하위 블록이 있으므로, 모든 하위 블록에 필요한 곱셈 횟수는 H/4*W/4*256 = H*W*16이다. H=8, W=8 경우를 다시 살펴보면, 하위 블록들로 분할되고 각 하위 블록이 독립적으로 변환되기 때문에, 곱셈 횟수는 4096에서 1024로 75% 감소한다. 이와 다르게 분할하는 또 다른 변환 스테이지를 추가함으로써, 블록 간 종속성도 고려할 수 있다. 제1 스테이지와 동일한 복잡도를 가정하면, 총 곱셈 횟수는 2048이므로, 완전히 연결된 8x8 변환의 복잡도의 절반에 불과하다.
비-전단사 변환(non-bijective transform)을 허용함으로써 복잡도를 더 줄일 수 있다. 보다 정확하게 말하자면, 여기서의 이러한 변환은 변환 스테이지들의 특정 하위 그룹을 모두 0이라고 가정하여 잔차 신호의 디멘션을 줄이는 변환으로 정의된다. 이러한 변환은 디멘션 축소(dimension reduction)를 사용한 변환이라고 칭해지며, 전술한 바와 같이 고주파 제로화를 사용한 변환의 일반화이다. 여기서, 계수의 제로화는 임의의 크기의 임의의 이전의 변환 스테이지와 조합하여 적용될 수 있다. 이는 계수의 제로(0)화가 제1 스테이지에 적용되는 경우를 포함한다. 이러한 변환은 효율적인 구현을 허용할 뿐만 아니라 뒤에서 설명하는 바와 같이 유의미하지 않은 계수의 효율적인 시그널링도 허용한다.
위에서 소개한 바와 같은 다단계 변환을 완전히 설명하기 위해서는, 각 변환 스테이지가 하위 그룹들로의 고유한 분할에 의해 제공되어야 하고 이러한 하위 그룹들에 변환이 적용되어야 한다.
전술한 바와 같은 다단계 변환의 복잡도 감소는 각 하위 그룹 변환이 서로 독립적으로 적용될 수 있고, 제한된 디멘션을 가지고, 그리고/또는 효율적인 알고리즘을 사용하여 적용될 수 있다는 사실에 기인한다. 따라서 각 하위 그룹 변환은 다음 유형 중 하나이다:
하위 그룹 변환:
ㆍ (아이덴티티)
ㆍ DCT/DST 군으로부터의 변환
ㆍ 최대 64인 하위 그룹 크기에 대해 완전히 연결된 변환
ㆍ (순열 +) 쌍별 기븐스 회전
ㆍ (순열 +) 쌍별 리프팅 스킴 변환
ㆍ 다단계 변환 자체
하위 그룹으로의 분할은 다음 규칙들 중 하나에 의해 제공될 수 있으며, 그 중 일부는 도 4 및 도 5에 다음 소문자로 표시되어 있다:
a) 각 스테이지 및 위치에 대해, 고유한 하위 그룹을 할당하는 레이블이 ROM에 저장된다.
b) 각 위치에 대해, 고유한 하위 그룹을 할당하는 레이블이 ROM에 저장된다. 이 분할은 변환의 모든 스테이지에 사용된다.
c) 위치들의 고유한 스캔 순서와 하위 그룹 크기 목록 D={d0, d1, dN}이 주어지면, 분할은 연속 위치들을 그룹화하여 이 스캔을 따라 수행되고, 여기서 각 그룹의 크기는 관련 요소 D로 주어진다.
d) 위치들의 고유한 스캔 순서가 주어지면, 첫 번째 d0 연속 위치들이 하나의 하위 그룹으로 취해지고, 나머지 위치들은 제2 하위 그룹으로 취해진다.
e) 분할은 가로 및 세로 방향으로 수행되어, 각 행이나 각 열이 하위 그룹을 정의하도록 한다.
f) 분할은 가로 방향으로 수행되어, 각 행이 {2, 4, 8, 16, 24, 48, 32, 64} 크기의 하위 그룹으로 더 분할되도록 한다.
f) 분할은 세로 방향으로 수행되어, 각 열이 {2, 4, 8, 16, 24, 48, 32, 64} 크기의 하위 그룹으로 더 분할되도록 한다.
h) 분할은, 제1 위치(왼쪽 상단)를 포함하고 {4×4, 4×8, 4×12, 4×16, 8×4, 8×8, 12×4, 16×4} 모양 중 하나를 하나의 하위 블록으로 갖는 하위 그룹으로 취함으로써 행해진다. 나머지 위치들은 제2 그룹을 형성한다.
i) 분할은, 제1 위치(왼쪽 상단)를 포함하고 {4×4, 4×8, 4×12, 4×16, 8×4, 8×8, 12×4, 16×4} 모양 중 하나를 하나의 하위 블록으로 갖는 하위 그룹으로 취함으로써 행해진다. 나머지 위치들은 {1x2, 2x1, 2x2, 4x4} 크기의 그룹으로 분할된다.
j) 모양이 4x4 및/또는 2x2인 하위 그룹들로 분할된다.
k) {2, 4, 8, 16} 크기의 하위 그룹 변환
l) {24, 32, 48, 64} 크기의 하위 그룹 변환
m) {2x2, 4x4, 4x8, 4x12, 4x16, 8x4, 8x8, 12x4, 16x4}의 모양 크기를 가진 하위 그룹들로의 분할이 행해진다.
n) 제1 위치를 하나의 그룹으로 포함하고 나머지 위치들은 제2 그룹을 형성하는 최소(8,폭) × 최소 (8,높이) 크기의 하위 그룹을 취함으로써, 분할이 잔차 블록의 폭 및 높이에서 유도된다.
o) 제1 위치를 포함하고 {4×4, 4×8, 4×12, 4×16, 8×4, 8×8, 12×4, 16×4}의 크기인 하위 그룹을 취함으로써, 분할이 잔차 블록의 폭(W) 및 높이(H)에서 유도된다. W == H이면 하위 그룹의 모양은 D × D이며, 여기서 D = 최소(W, 8)이다. W > H인 경우, 하위 그룹의 높이는 4로 설정된다. 폭은 W보다 크지 않은 {8, 12, 16}의 최대 크기를 취하여 선택된다. H > W인 경우, 하위 그룹의 폭은 4로 설정된다. 폭은 H보다 크지 않은 {8, 12, 16}의 최대 크기를 취하여 선택된다.
p) ROM에 저장된 순열 + 쌍별 분할.
q) 예측 모드에서 유도
r) 계층 구조:
1) N 가로 방향 변환(완전히 연결됨: dim M)
2) M 세로 방향 변환(완전히 연결됨: dim M)
변환 분류(Transform Classes):
구조화된 변환은 한편으로는 복잡도를 줄이는 데 도움이 되지만, 그 변환의 유도된 제약 조건에 의해 변환을 그룹화할 수도 있다. 이 분류는 변환을 비교하는 데 유익할 수 있으며, 양자화 및/또는 엔트로피 코딩 스테이지에 대한 종속성 모델을 정의하는 데 유익할 수 있다.
도 6에 예시적으로 도시된 바와 같은 하나의 변환 분류로서, 2개의 변환으로 분해하는 다단계 변환 - 이후에는 각각 일차 변환, 이차 변환이라고 칭함 - 을 고려한다. 일차 변환이 일차 변환 계수를 산출하는 공간 도메인의 예측 잔차에 직접 적용되고 이차 변환이 일차 변환 계수들의 서브세트에 적용되므로, 명명은 인코더 관점에서 이루어진다.
일차 변환과 이차 변환은 그들 자체가 다단계 변환으로 정의될 수 있으며, 이차 변환은 일차 변환에 비해 디멘션이 축소된 것이다.
제2 변환이 제1 변환의 계수들의 서브세트에만 적용되도록 변환이 두 개의 변환으로 분해되지 않는 경우, 이 변환을 일차 전용 변환이라고 칭한다.
또 다른 변환 분류는 변환이 세로 방향 및 가로 방향 변환으로 분해될 수 있다는 사실에 의해 제공되며, 이는 분리 가능한 변환으로 칭해진다. 이것은 특히 간단한 형태의 다단계 변환이다. 제1 스테이지에서 변환은 행 단위로 적용되고 제2 스테이지에서 변환은 제1 변환 스테이지의 출력(계수)에 열 단위로 적용된다(또는 이와 반대로 적용된다). 일반적으로, 각 스테이지마다, 동일한 변환이 각 행(열)에 적용된다.
변환의 특별 분류가 디멘션 축소 특성에 의해 제공된다. 즉, 디멘션이 변환에 의해 명시적으로 축소되면, 이 경우 정확한 계수 위치가 0으로 가정된다.
비트 스트림에 코딩된 계수로부터의 잔차 신호의 재구성이, 역양자화되기 전에 계수들(각기 다른 잔차 블록들)에 적용되는, 엔트로피 코딩 스테이지의 일부로서의 역변환을 포함한다고 가정하면, 반올림 오차를 유도하지 않는 무손실 변환을 가질 필요가 있다. 변환이 무손실인지 여부도 분류 속성이 될 수 있다.
변환의 또 다른 분류는 DCT/DST 군으로부터의 변환과 같이 분석적으로 구성된 변환과 특정 실시예들의 세트에 대해 훈련된 변환 사이를 구별함으로써 수행될 수 있다. 분석적 변환의 경우, 분류가 그의 구성 규칙에 따라 정확하게 행해질 수 있다. 이 구성 규칙은 각기 다른 변환 크기로 적용될 수 있으므로, 이는 또한 크기가 다른 경우에도 변환들 간의 비교를 가능하게 한다. 이는 예를 들어 이웃하는 블록들의 변환 결정에 의존하여 컨텍스트 모델을 유도시키기 위해 블록 간 종속성을 탐색하는 데 유용할 수 있다.
그러나 데이터 기반(data driven) 변환들은 이들의 특화에 의존하여 추가로 분류될 수 있다. 구체적으로, 내부 예측 잔차에 대한 변환을 훈련하는 것이 더 일반적이지만, 예를 들어 정확한 내부 방향에 의해 주어진 하나의 특정 내부 모드에 대해 변환을 정확하게 훈련하면 더 특화된 변환이 생성된다. 이 특화는 주어진 예측 모드에 대한 데이터를 클러스터링함으로써 더욱더 향상될 수 있다.
3.1 일차 및 이차 변환의 예시적인 실시형태
일차 변환 및 이차 변환에 대한 일부 실시예 및 실시형태는 다음과 같은 비포괄적 목록에 열거될 수 있다:
일차 변환:
A)
1. 단계: 행들로 분할, 각 행에 대해 전용 변환
2. 단계: 열들로 분할, 각 열에 대해 전용 변환
위에서 언급한 바와 같이 각 하위 그룹 변환은 어떠한 유형도 될 수 있음.
특히,
A.1)
1. 단계: 행들로 분할, 각 하위 그룹(행)에 대해 동일한 변환
2. 단계: 열들로 분할, 각 하위 그룹(열)에 대해 동일한 변환
A.2)
1. 단계: 행들로 분할, 각 하위 그룹(행)에 대해 동일한 DCT/DST 변환
2. 단계: 열들로 분할, 각 하위 그룹(열)에 대해 동일한 DCT/DST 변환
A.3)
1. 단계: 행들로 분할, 각 하위 그룹(행)에 대해 디멘션 축소가 있는 동일한 DCT/DST 변환
2. 단계: 열들로 분할, 각 하위 그룹(열)에 대해 동일한 DCT/DST 변환
A.4)
1. 단계: 행들로 분할, 각 하위 그룹(행)에 대해 동일한 DCT/DST 변환
2. 단계: 열들로 분할, 각 하위 그룹(열)에 대해 디멘션 축소가 있는 동일한 DCT/DST 변환
A.5)
1. 단계: 행들로 분할, 각 하위 그룹(행)에 대해 디멘션 축소가 있는 동일한 DCT/DST 변환
2. 단계: 열들로 분할, 각 하위 그룹(열)에 대해 디멘션 축소가 있는 동일한 DCT/DST 변환
A.6)
1. 단계: 행들로 분할, 각 하위 그룹(행)에 대해 아이덴티티 "변환"
2. 단계: 열들로 분할, 각 하위 그룹(열)에 대해 동일한 DCT/DST 변환
A.7)
1. 단계: 행들로 분할, 각 하위 그룹(행)에 대해 동일한 DCT/DST 변환
2. 단계: 열들로 분할, 각 하위 그룹(열)에 대해 아이덴티티 "변환"
A.8)
1. 단계: 행들로 분할, 각 하위 그룹(행)에 대해 아이덴티티 "변환"
2. 단계: 열들로 분할, 각 하위 그룹(열)에 대해 아이덴티티 "변환"
(변환을 전혀 적용하지 않는 것과 같음)
A.9)
1. 단계: 행들로 분할, 각 하위 그룹(행)에 대해 완전히 연결된 동일한 변환
2. 단계: 열들로 분할, 각 하위 그룹(열)에 대해 완전히 연결된 동일한 변환
A.10)
1. 단계: 행들로 분할, 각 하위 그룹(행)에 대해 완전히 연결된 전용 변환
2. 단계: 열들로 분할, 각 하위 그룹(열)에 대해 완전히 연결된 전용 변환
B)
1. 단계: 행을 따라 크기 S(예: 8)의 하위 그룹들로 분할
2. 단계: 열을 따라 크기 S(예: 8)의 하위 그룹들로 분할
위에서 언급한 바와 같이 각 하위 그룹 변환은 어떠한 유형도 될 수 있음.
특히,
B.1)
1. 단계: 행을 따라 블럭 폭의 절반인 크기 S의 하위 그룹들로 분할
2. 단계: 열들로 분할, 각 하위 그룹(열)에 대해 동일한 변환
B.2)
1. 단계: 행들로 분할, 각 하위 그룹(행)에 대해 동일한 변환
2. 단계: 열을 따라 블럭 높이의 절반인 크기 S의 하위 그룹들로 분할
B.3)
1. 단계: 행을 따라 블럭 폭의 절반인 크기 S의 하위 그룹들로 분할
2. 단계: 열을 따라 블럭 높이의 절반인 크기 S의 하위 그룹들로 분할
B.4)
1. 단계: 행을 따라 크기 S의 하위 그룹들로 분할
2. 단계: 열을 따라 크기 S의 하위 그룹들로 분할
제1 하위 그룹 변환은 DCT/DST 유형이고, 제2 하위 그룹은 0으로 설정됨.
B.5)
1. 단계: 행을 따라 크기 S의 하위 그룹들로 분할
2. 단계: 열을 따라 크기 S의 하위 그룹들로 분할
제1 하위 그룹은 0으로 설정되고, 제2 하위 그룹 변환은 DCT/DST 유형임.
C)
1. 단계: 행을 따라 크기 S(예: 8)의 하위 그룹들로 분할
2. 단계: 열을 따라 크기 S(예: 8)의 하위 그룹들로 분할
3. 단계: 바이패스가 있는 계층 구조(아이덴티티 변환이 있는 하위 그룹과 동일)
위에서 언급한 바와 같이 각 하위 그룹 변환은 어떠한 유형도 될 수 있음.
특히,
C.1)
1. 단계: 행들로 분할, 각 하위 그룹(행)에 대해 동일한 변환
2. 단계: 열들로 분할, 각 하위 그룹(열)에 대해 동일한 변환
3. 단계: 디멘션 축소가 있는 변환
C.2)
1. 단계: 행들로 분할, 각 하위 그룹(행)에 대해 동일한 DCT/DST 변환
2. 단계: 열들로 분할, 각 하위 그룹(열)에 대해 동일한 DCT/DST 변환
3. 단계: 디멘션 축소가 있는 변환
이차 변환:
A)
최소(8,W), 최소(8,H)에서 유도된 이차 변환에 사용되는 일차 계수들의 하위 그룹. 이차 변환은 완전히 연결된 변환 유형임.
A.1)
최소(8,W), 최소(8,H)에서 유도된 이차 변환에 사용되는 일차 계수들의 하위 그룹. 이차 변환은 디멘션 축소가 있는 완전히 연결된 변환 유형임.
B)
일차 계수를 4×4 하위 그룹들로 분할. 완전히 연결된 변환은 하위 그룹의 서브세트에 적용되어 계층 구조로 결합됨.
B.1)
일차 계수를 4×4 하위 그룹들로 분할. 디멘션 축소가 있는 완전히 연결된 변환은 하위 그룹의 서브세트에 적용되어 계층 구조로 결합됨.
C)
일차 계수를 하위 그룹들로 분할. 이차 변환은 해당 하위 그룹의 서브세트에 적용됨. 이차 변환의 변환 유형(즉, 연결도)은 전체 변환 블록 내 하위 그룹의 위치에 따라 달라진다.
4. 변환 후보 세트( Set of Transform Candidates)
선택된 변환의 디코딩 과정은 다음 단계들로 구성될 수 있다:
먼저, 후보 목록이 이미 디코딩된 구문 요소를 이용하여 구성될 수 있다.
선택된 변환에 대한 지식은 비트 스트림으로부터 계수를 디코딩하는 과정을 지원할 수 있다. 따라서, 후보 목록이 하나 이상의 변환을 포함하는 경우, 계수 디코딩 과정 전에 선택된 변환에 대한 정보를 명시 적으로 시그널링함으로써 후보 목록을 줄이는(또는 심지어는 선택된 것을 식별하는) 것이 유익할 수 있다.
한편, 계수에 대한 이미 디코딩된 정보는 후보들 중에서 선택된 변환을 결정하는 데 활용될 수 있다. 계수 디코딩 과정 동안, 이미 얻은 계수에 대한 정보와 충돌하는 변환을 제거함으로써 후보 목록을 반복적으로 줄일 수 있다. 모든 계수가 디코딩되고 하나 초과의 변환 후보가 남아 있을 때, 나머지 후보 목록에 인덱스가 시그널링될 수 있다.
4.1 후보 목록 구성
잔차 블록에 대한 변환 후보 목록이 이미 디코딩된 구문 요소들을 이용하여 구성된다. 이들은 총 크기, 모양(폭 및 높이), 및 색상 채널 유형(루마 또는 채도)과 같은 변환 블록 파라미터뿐만 아니라 현재 블록에 사용되는 예측 방법에 대한 정보도 포함할 수 있다. 상이한 변환 크기에 대해 상이한 변환 유형을 가지면 3절에서의 복잡도 고려 사항에 의해 이미 동기 부여될 수 있다.
도 12는 다수의 잔차 블록(84, 84', 84'')을 갖는 영상(12)을 코딩하기 위한 비제한적인 실시예를 도시한다. 잔차 블록(84)에 대해 예시적으로 도시된 바와 같이, 각 잔차 블록은 각각의 블록(84)의 폭 및 높이에 의해 정의될 수 있는 특정 블록 디멘션(96)를 포함한다. 이 비제한적인 예에 따르면, 변환 후보 목록의 구성은 각각의 블록 디멘션(96)를 한 예로 참조하여 설명될 수 있다.
따라서, 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로/으로부터 코딩/디코딩하며, 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원하는 인코더(10) 및 디코더(20)가 제공될 수 있다. 인코더(10) 및 디코더(20)는 현재 잔차 블록(84)의 크기(96), 예를 들어 높이 및 폭에 기초하여 변환 세트(94) 중에서 현재 잔차 블록(84)에 대한 변환의 변환 후보 목록(98)을 결정하도록(122) 구성될 수 있다. 인코더(10)는 선택 가능한 변환 후보 목록(98) 중 하나의 선택된 변환(102)을 사용하여 상기 현재 잔차 블록(84) 내의 예측 잔차(100)를 코딩하고, 선택된 변환(102)을 데이터 스트림(14)에서 선택적으로 시그널링하도록 구성될 수 있다. 다음으로, 디코더(20)는 선택 가능한 변환 후보 목록(98) 중에서 하나의 선택된 변환(102)의 도메인에서 상기 현재 잔차 블록(84) 내의 예측 잔차(100)를 디코딩하되 선택된 변환(102)을 데이터 스트림(14)으로부터 유도하면서 디코딩하도록 구성될 수 있다.
용어 '도메인' 및 '코도메인'에 관해서는 다수의 샘플(105)을 포함하는 상기 언급된 잔차 블록(84)에 대한 상세한 묘사를 보여주는 도 16을 참조할 것이다. 샘플(105)의 개수는 잔차 블록(84)의 블록 디멘션(96), 예를 들어 폭 및 높이를, 예컨대 4×4, 8×8 블록 등을 결정할 수 있다. 잔차 블록(84) 또는 샘플(105)은 각각 일차 변환을 거칠 수 있으며, 이 때 블록 디멘션(96) 및 샘플(105)은 일차 변환의 도메인에 대응한다. 샘플(105)은 일차 변환 계수(114)로 변환되고, 여기서 하나 이상의 일차 변환 계수(114)는 일차 변환 계수들의 하위 그룹(112)에 포함될 수 있다. 일차 변환의 출력, 즉 일차 변환의 코도메인은 일차 변환 계수(114)의 개수에 의해 정의된 하위 그룹(112)의 크기에 대응한다.
도 16에 도시된 비제한적 예에서, 하위 그룹(112)은 하나 이상의 0값 일차 변환 계수(114) 및 하나 이상의 유의미(즉, 0값이 아닌) 일차 변환 계수(114)를 포함할 수 있다. 하나 이상의 일차 변환이 0으로 설정될 수 있는 일부 특정 실시예는 아래의 5절에서 다소 나중에 설명된다.
당장은, 일반적인 원리에 대해 도 16을 계속 참조하면서 더 설명한다. 알 수 있는 바와 같이, 이 비제한적인 실시예에서의 하위 그룹(112)은 역 'L'자 모양을 갖는다. 즉, 유의미 계수(114)를 포함하는 좌측 열 및 상단 행은 유지되는 반면, 역 'L' 밖의 나머지 일차 변환 계수(114)는 적어도 인코더 관점에서 0으로 설정될 수 있다. 개괄적으로 말해, 디코더에도 적용되는 이차 변환의 도메인은 일차 변환의 도메인에 비해 축소된다.
일차 변환 계수(114)의 하위 그룹(112)은 이차 변환 계수 (134)의 이차 하위 그룹(138)으로 이어지는 이차 변환을 거칠 수 있다. 하위 그룹(112)의 크기, 즉 일차 변환 계수(114)의 개수(이차 변환의 도메인에 해당)는 이차 하위 그룹(138)의 크기, 즉 이차 변환 계수(119)의 개수(이차 변환의 코도메인에 해당)보다 많을 수 있다.
도 16은 유의미 일차 변환 계수(114)만이 이차 변환에 의해 변환되고 0값 일차 변환 계수가 암시적으로 감소되고 시그널링되지 않는, 즉 이 경우에서는 변환된 유의미 변환 계수(이차 하위 그룹(138))만이 코딩되는, 제1 대안 A를 보여주고 있다. 도 16은 이차 하위 그룹(138) 및 하위 그룹(138) 밖의 0값 계수를 포함하는 전체 서브 블록(117)이 존재할 수 있는, 즉 이 경우에서는 모든 계수가 코딩되는, 제2 대안 B를 (충돌 선으로) 보여주고 있다.
도 16에 또한 도시된 바와 같이, 인코더(10) 및 디코더(20)는 이차 변환 계수(134)를 역변환할 수 있으며, 이 때 역변환의 도메인은 이차 변환의 코도메인에 대응할 수 있다.
위에서 언급한 바와 같이, 잔차 블록에 대한 변환 후보 목록(98)은 이미 디코딩된 구문 요소, 예를 들어 변환 블록의 전체 크기, 모양(폭 및 높이)과 같은 변환 블록 파라미터를 이용하여 구성될 수 있거나, 또는 그 각각의 변환의 도메인/코도메인에 기초하여 다르게 지정된다.
따라서, 이 양태의 인코더(10)는 복수의 블록 디멘션(96)(즉, 높이 및 폭)를 지원할 수 있다. 각 블록 디멘션에 대해, 변환 세트(94)는 도메인이 각각의 블록 디멘션(96)에 대응하는 변환 서브세트를 포함할 수 있다. 변환 세트(94)의 각각의 변환에 대해, 인코더(10)는 도메인이 각각의 변환의 코도메인과 일치하는 역변환을 지원하며(디멘션 축소가 있는 변환 T의 경우처럼 반드시 T*T-1 = 1이어야 하는 것은 아님을 주지해야 함), 여기서 인코더(10)는 역변환을 사용하여, 각각의 변환이 선택된 잔차 블록들에서, 디코딩된 영상 버퍼를 채울 수 있다. 또한, 인코더(10)는 변환 후보 목록(98)을 결정할 때 그 변환들을, 도메인이 현재 잔차 블록(84)의 높이 및 폭에 대응하는, 변환 서브세트 중의 변환들만으로 오로지 채우도록 구성될 수 있다.
따라서, 이 양태의 디코더(20)는 복수의 블록 디멘션(즉, 높이 및 폭)를 지원할 수 있다. 각 블록 크기에 대해, 변환 세트(94)는 코도메인이 각각의 블록 디멘션에 대응하는 변환 서브세트를 포함한다. 여기서 언급된 변환은 인코더(10)에서 발생하는 변환에 대한 역변환임을 주지해야 한다. 또한, 디코더(20)는 변환 후보 목록(98)을 결정할 때 그 변환들을, 코도메인이 현재 잔차 블록(84)의 높이 및 폭에 대응하는, 변환 서브세트 중의 변환들만으로 오로지 채우도록 구성될 수 있다.
요약하면, 각 변환(일차 또는 이차)은 그 변환의 입력과 비교할 수 있는 도메인 및 그 변환의 출력과 비교할 수 있는 코도메인을 포함할 수 있으며, 여기서 일차 변환 및 이차 변환의 각각의 코도메인은 서로 다를 수 있다. 축소된 코도메인은 예를 들어 일부 일차 및/또는 이차 계수를 0으로 설정함으로써 달성될 수 있으며, 이에 대해서는 아래에서 더 자세히 설명한다.
위에서 처음에 언급한 바와 같이, 계산 복잡도는 변환 크기에 따라 증가할 수 있다. 따라서, 크기가 임계값을 초과하는 변환 블록의 변환 후보를 그 대신에 더 간단한 변환 유형으로 제한하는 것이 유용하다. 현재로서는, 하나의 가로 방향 및 세로 방향 변환 유형으로 정의되는 분리 가능한 변환을 고려하여, 간단한 실시예가 제공된다. 추가적인 계산 복잡도가 없는 "변환"이라는 아이덴티티 다음으로, DCT-II가 나비 구조를 활용하는 효율적인 알고리즘으로 인해 계산상 단순 변환 유형으로 간주된다.
3절에서 언급된 바와 같이, 각 변환 유형의 복잡도는, 특정 계수를 0이 되게 함으로써 디멘션들의 개수를 암시적으로 감소시키고 그에 따라 필요한 곱셈 횟수를 줄이는 변환 후보를 도입함으로써 감소시킬 수 있다.
이하에서는, 일차 변환 계수 중 하나 이상 및/또는 이차 변환 중 하나 이상을 0으로 설정하도록 - 이는 '제로화'라고도 칭해짐 - 구성되는 인코더(10) 및 디코더(20)의 일부 예시적인 실시형태가 설명될 것이다. 계수를 0으로 설정하는 것은 인코더 끝에 적용될 수 있는 반면, 디코더는 0인 계수를 디코딩하지 않을 수 있다.
예를 들어, 세 가지 임계값(T1, T2, T3)을 정의해 본다. T1은 2.3절의 내용을 따르며, 높이(폭)가 T1보다 작은 경우에만 DCT-II가 블록의 세로 방향(가로 방향) 변환 후보가 되도록 한 크기(폭 또는 높이)로 정의된다. 그렇지 않으면, 디멘션 축소가 있는 DCT-II가 후보가 되고, 여기서 마지막 높이(폭) - T1 고주파 계수가 0으로 설정된다. 이 외에, T2는 전체 크기 변환이 크기가 T2보다 작은 경우에만 후보가 되도록 다른 변환 유형(예를 들어, DST-VII, DCT-III 등)에 대한 임계값 크기를 정의한다. 그렇지 않으면, 디멘션 축소가 있는 그의 대응하는 변환이 후보가 된다. 끝으로, T3은 아이덴티티 "변환"에 대한 임계값 크기를 정의하는데, 아이덴티티 "변환"은 그의 크기가 T3보다 작은 경우에만 후보가 된다.
일 실시예에 따르면, 인코더(10)는, 변환 후보 목록(98)을 결정할 때,
현재 잔차 블록(84)의 높이와 폭이 제1 기준(예를 들어, T1 및 T2)을 충족시키는 경우에는, 변환 후보 목록(98)을, 도메인이 현재 잔차 블록(84)의 높이 및 폭에 대응하며 코도메인이 상기 도메인보다 작은, 변환 서브세트 중의 하나 이상의 변환들("폭 디멘션 축소"가 있는 변환들)로 채우도록 구성되거나, 또는
현재 잔차 블록(84)의 높이와 폭이 제1 기준을 충족시키지 못하는 경우에는, 도메인이 현재 잔차 블록(84)의 높이 및 폭에 대응하며 코도메인이 상기 도메인보다 작은, 변환 서브세트 중의 하나 이상의 변환들을 변환 후보 목록(98)에서 제외시키도록 구성될 수 있다.
다음으로, 디코더(20)는, 변환 후보 목록(98)을 결정할 때,
현재 잔차 블록(84)의 높이와 폭이 제1 기준(예를 들어, T1 및 T2)을 충족시키는 경우에는, 변환 후보 목록(98)을, 코도메인이 현재 잔차 블록(84)의 높이 및 폭에 대응하며 도메인이 상기 코도메인보다 작은(예를 들어, 적은 수의 샘플/계수를 포함), 변환 서브세트 중의 하나 이상의 변환들(즉, "폭 디멘션 축소"가 있는 변환들의 역변환들)로 채우도록 구성되거나, 또는
현재 잔차 블록(84)의 높이와 폭이 제1 기준을 충족시키지 못하는 경우에는, 코도메인이 현재 잔차 블록(84)의 높이 및 폭에 대응하며 도메인이 상기 도메인보다 작은, 변환 서브세트 중의 하나 이상의 변환들을 변환 후보 목록(98)에서 제외시키도록 구성될 수 있다.
상기 하나 이상의 변환은 DCT-II, DST-VII, 및 DCT-III 중 하나 이상일 수 있다.
또 다른 실시예에 따르면, 인코더(10) 및 디코더(20)는, 변환 후보 목록(98)을 결정할 때,
현재 잔차 블록(84)의 높이와 폭이 제2 기준(예들 들어, T3)을 충족시키는 경우에는, 변환 후보 목록(98)을, 도메인이 현재 잔차 블록(84)의 높이 및 폭에 대응하는, 변환 서브세트 중의 아이덴티티 변환으로 채우도록 구성되거나, 또는
현재 잔차 블록(84)의 높이와 폭이 제2 기준을 충족시키지 못하는 경우에는, 도메인이 현재 잔차 블록(84)의 높이 및 폭에 대응하는, 변환 서브세트 중의 아이덴티티 변환을 변환 후보 목록(98)에서 제외시키도록 구성될 수 있다.
인코더(10) 및 디코더(20)는 높이, 폭, 높이와 폭 모두, 및/또는 높이와 폭의 곱이 특정 임계값을 초과하는지 여부를 확인함으로써 상기 제1 및/또는 제2 기준을 확인하도록 구성될 수 있다.
제약을 잔차 블록의 폭과 높이로 독립적으로 정의하는 것 외에도, 상대적인 모양을 검사함으로써 규칙을 적용할 수 있다. 예를 들어, 폭 또는 높이 중 어느 하나가 다른 하나를 초과하는 경우에만 후보를 허용한다. 분리 가능한 변환 후보의 경우, 이는 하나의 변환 유형을 더 큰 변환 디멘션에 할당하고 다른 변환 유형을 더 작은 쪽에 할당함으로써 행해질 수 있다. 디멘션 축소가 있는 변환의 경우, 이 정보는 어느 계수가 0으로 설정되는지를 결정하는 데 사용될 수 있다.
또 다른 실시예에 따르면, 인코더(10) 및 디코더(20)는, 변환 후보 목록을 결정할 때,
현재 잔차 블록의 높이와 폭이 제3 기준(예를 들어 높이와 폭의 비가 특정 임계값을 초과)을 충족시키는 경우에는, 변환 후보 목록을, 도메인이 현재 잔차 블록(84)의 크기에 대응하는, 변환 서브세트 중의 분리 가능 스펙트럼 분해 변환(separable spectrally decomposing transform)으로 채우도록 구성되고,
현재 잔차 블록의 높이와 폭이 제3 기준을 충족시키지 못하는 경우에는, 도메인이 현재 잔차 블록(84)의 크기에 대응하는, 변환 서브세트 중의 분리 가능 스펙트럼 분해 변환을 변환 후보 목록에서 제외시키도록 구성될 수 있다.
이 실시예에 따르면, 인코더(10) 및 디코더(20)는 높이와 폭의 비가 특정 임계값을 초과하는지 여부를 확인함으로써 상기 제3 기준을 확인하도록 구성될 수 있다. 이차 변환의 경우, 또 다른 변환 단계에서 변환할 계수를 결정하는 데 잔차 블록의 폭과 높이를 사용할 수 있다. 위에서의 복잡도에 대한 주장에 따라, (분리 가능한 변환보다) 더 유연한 변환 구조도 변환 블록 크기에 의존하여 제한되어야 한다. 이전 변환 스테이지의 전체 결과(모든 계수)가 다음 스테이지(3절에서 일차 전용 변환이라고 함)에서 추가로 변환되도록 더 작은 블록 크기의 변환 스테이지가 정의될 수 있지만, 더 큰 블록 크기에 대해서는 일차 변환 + 이차 변환으로 구성되는 다단계 변환이 사용될 수 있다.
예를 들어 이차 변환이 64인 디멘션(일차 변환의 계수)까지 적용 가능하다고 가정하면, 이차 입력에 대한 구성 규칙은 최소(8, 폭) × 최소(8, 높이)로 정의된 하위 그룹으로 공식화될 수 있다. 정의된 변환의 총 개수를 줄이기 위해, 이차 변환 하위 그룹의 모양을 제한할 수 있다. 예를 들어, 8x8 및 4x4 모양에 대해서 이차 변환만 정의함으로써, 이차 변환 하위 그룹은 주어진 변환 블록 크기에 적용할 수 있는 더 큰 모양(폭*높이)에 의해 선택된다.
예시로서, (4 × 32) 크기의 변환 블록은 (4 × 4)인 이차 변환 모양을 갖는 반면, (8x16) 크기의 변환 블록은 이 경우에서는 (8 × 8)인 이차 변환 모양을 갖는다. 또한, 이차 변환 자체의 구조는 그 자체의 크기 및 전체 변환 블록의 크기에 의존하는 복잡도 제약 조건을 가지고 정의되어야 한다. 예를 들어, 4x4 이차 변환은 완전 연결 변환으로 정의될 수 있는데, 더 큰 이차 변환은 제3절에 설명된 임의의 방법에 의해, 예를 들어, 추가 변환 스테이지들의 수를 제한함으로써, 또는 특정 계수를 0으로 설정하여 디멘션을 줄임으로써, 그의 복잡도가 제한되어야 한다.
따라서, 인코더(10) 및 디코더(20)는, 변환 후보 목록(98)을 결정할 때, 변환 후보 목록(98)을 블록 크기 및 모양에 따른 변환들로 채우도록 구성될 수 있으며, 이 때, 위의 구절에서 예시적으로 설명된 바와 같이, 블록의 스케일링이 사용될 수 있다. 위에서 언급된 바와 같이, 예를 들어, (4 × 32) 크기의 제1 변환 블록은 (4 × 4)인 이차 변환 모양을 갖는 반면, (8x16) 크기의 제2 변환 블록은 (8 × 8)인 이차 변환 모양을 갖는다. 즉, 제1 변환 블록 및 제2 변환 블록의 행은 1:2의 스케일링 비율을 포함할 수 있는 반면, 제1 변환 블록 및 제2 변환 블록의 열은 2:1의 스케일링 비율을 포함할 수 있다.
따라서, 현재 잔차 블록(84)의 높이와 폭이 제1 미리 결정된 블록 디멘션에 대응하는 경우, 인코더(10) 및 디코더(20)는, 변환 후보 목록(98)을, 현재 잔차 블록(84) 내의 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 제1 하위 그룹(112)에 적용되는 이차 변환(110)을 포함하는 다단계 변환(106)을 역전시키며 그리고 코도메인이 현재 잔차 블록(84)의 높이 및 폭에 대응하는, 변환 서브세트 중의 제1 하나 이상의 변환들로 채우도록 구성될 수 있다.
대안적으로, 현재 잔차 블록(84)의 높이와 폭이 제2 미리 결정된 블록 디멘션에 대응하는 경우, 인코더(10) 및 디코더(20)는, 변환 후보 목록(98)을, 현재 잔차 블록(84) 내의 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 제2 하위 그룹(112)에 적용되는 이차 변환(110)을 포함하는 다단계 변환(106)을 역전시키며 그리고 코도메인이 현재 잔차 블록(84)의 높이 및 폭에 대응하는, 변환 서브세트 중의 제2 하나 이상의 변환들로 채우도록 구성될 수 있다.
어느 경우든지, 상기 제1 하나 이상의 변환의 일차 변환(108)의 제1 코도메인을 상기 제1 하나 이상의 변환의 일차 변환(108)의 제2 코도메인 상으로 이미지화하는 스케일링은 제1 코도메인 내의 제1 하위 그룹의 주변(circumference)은 제2 코도메인 내의 제2 하위 그룹의 주변 상으로는 이미지화하지 않는다.
상기 언급된 일차 및 이차 변환을 거치는 블록들의 높이/폭 비율과 관련하여, 예를 들어 일차 변환의 코도메인의 높이/폭 비율(종횡비)이 동일할 뿐만 아니라 제1 및 제2 미리 결정된 디멘션의 높이/폭 비율이 동일하더라도, 제1 코도메인 내의 제1 하위 그룹(112)의 주변은 제2 하위 그룹의 주변 상으로 이미지화되지 않을 수 있다.
따라서, 인코더(10) 및 디코더(20)는, 현재 잔차 블록의 높이와 폭이 제1 미리 결정된 블록 디멘션에 대응하는 경우에는, 변환 후보 목록을, 현재 잔차 블록 내의 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환의 일차 변환 계수(114)의 제1 하위 그룹(112)에 적용되는 이차 변환(110)을 포함하는 다단계 변환(106)이며 그리고 도메인이 현재 잔차 블록(84)의 높이 및 폭에 대응하는, 변환 서브세트 중의 제1 하나 이상의 변환들로 채우도록 구성될 수 있다. 대안적으로, 현재 잔차 블록의 높이와 폭이 제2 미리 결정된 블록 디멘션에 대응하는 경우, 인코더(10) 및 디코더(20)는, 변환 후보 목록을, 현재 잔차 블록 내의 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환의 일차 변환 계수(114)의 제2 하위 그룹(112)에 적용되는 이차 변환(110)을 포함하는 다단계 변환(106)이며 그리고 도메인이 현재 잔차 블록(84)의 높이 및 폭에 대응하는, 변환 서브세트 중의 제2 하나 이상의 변환들로 채우도록 구성될 수 있다. 이 실시예에서, 상기 제1 하나 이상의 변환의 일차 변환의 제1 코도메인을 상기 제1 하나 이상의 변환의 일차 변환의 제2 코도메인 상으로 이미지화하는 스케일링은 제1 코도메인 내의 제1 하위 그룹의 주변을 제2 코도메인 내의 제2 하위 그룹의 주변 상으로는 이미지화하지 않을 수 있다.
변환 스테이지들의 전체 변환 블록 크기에 대한 상대적 복잡도 오버헤드를 고려할 때(예를 들어, 전체 변환 블록에서의 픽셀 당 곱셈 횟수를 계산함으로써), 변환 스테이지의 구조는 그의 상대적 크기에 의해 더 제한되어야 한다. 여기서, 정의에 의하면(3절 참조) 이전 변환 스테이지의 모든 계수(또는 모든 하위 그룹)가 다음 변환 스테이지에 입력되는 최악의 경우가 일차 전용 다단계 변환에 적용된다. 다시 말하자면, 3절의 모든 방법이 적용된다.
변환 블록 모양 외에, 잔차 블록을 획득하기 위해 사용되는 예측 방법도 또한 잔차 신호의 특성에 대한 통찰력을 제공하므로 적절한 변환 후보를 선택하는 데 사용될 수 있다.
변환 후보 목록들은 또한 채도 및 루마 잔차 블록에 대해 정의된 각기 다른 변환 후보들을 가짐으로써 색상 채널에 맞추어질 수도 있다. 전용 채도 변환 세트가 있으면 유연성이 높아지지만, 추가 변환 코어를 저장하는 데 필요한 메모리 양도 늘어난다. 따라서, 후보를 선택하기 위한 변환 구조들/코어들의 공유 세트를 갖는 것이 바람직하다. 채도 잔차 블록이 루마 변환 블록과 연관된 경우(예를 들어, 동일한 CU에 속하지만 이중-트리는 없음), 동일한 변환 인덱스를 공유하거나(시그널링을 한 번만 해야 함), 선택된 채도가 선택된 루마 변환에서 유도되는 것도 바람직하다. 고유한 식별을 위해서는, 채도 후보 목록이 신중하게 선택되어서, 루마 후보 목록에 맞추어져야 한다. 비디오 코딩에는 주로 채도 서브 샘플링이 사용되므로, 채도 잔차 블록 크기와 그에 따른 채도 변환 크기도 선택된 루마 변환 크기와 다르다. 채도 후보를 식별하기 위해서는, 선택된 루마 변환의 속성이 채도 블록의 후보 목록에 있는 변환 분류와 일치해야 한다. DCT/DST 분류로부터의 변환을 취하는 것은 그 분류들이 각기 다른 크기에 대해서 정의되므로 간단하다. 따라서, 채도 변환 블록의 후보 목록은 연관된 루마 블록과 동일한 변환 유형(DCT/DST)으로 채워질 수 있지만, 크기는 더 작으며, 선택된 변환은 고유하게 식별 가능하여서, 선택된 루마 후보를 알게 된다. 예를 들어 단지 한 후보만 이차 + 변환을 갖게 함으로써, 이 속성도 고유한 식별을 허용한다. 또한, 연관된 채도 변환 후보를 식별하는 데 디멘션 축소 속성이 사용될 수 있다. 선택된 루마 변환이 미리 정의된 계수 위치들을 0으로 설정함으로써 디멘션을 줄이면, 동일한 상대 위치를 강제로 0이 되게 하는 후보를 취함으로써 채도 변환(chroma transform)을 식별할 수 있다. 여기서, 상대 위치는 예를 들어 블록의 첫 번째 절반, 또는 블록의 첫 번째 행 등을 가리킨다. 동일한 속성이 루마 목록 및 채도 목록 내의 동일한 개수의 후보들 사이에서 공유되는 경우, 채도 변환을 식별하는 데 목록 내의 순서와 선택된 루마 변환 인덱스(luma transform index)가 사용될 수 있다.
양자화 파라미터가 특정 범위 내에 있는 경우에는 후보 목록에 특정 변환만을 추가하는 것이 유용할 수 있다. 이는 디멘션 축소가 있는 변환에 특히 유용하지만, 특화된 변환도 양자화 파라미터에 따라 훈련될 수 있다.
이러한 속성들이 주어지면, 변환 후보 목록이 구성 규칙에 의해 유도되거나 조견표에 의해 얻어질 수 있다. 여기서, 가능한 모든 속성 조합에 대한 변환 후보 목록의 조견표를 갖는 것이 가장 유연하고, 그래서 선호되는 변형례이다.
다음의 절들에서는 변환 후보 목록을 구성하기 위한 규칙을 제공한다.
4.1.1 큰 잔차 블록(Large Residual Blocks)
폭 또는 높이가 64보다 큰 잔차 블록은 위의 2.3 절에 설명된 바와 같이 고주파 제로화를 하는 DCT-II 25를 사용하여 변환시킬 수 있다.
4.1.2 상호 예측된 잔차 블록(Inter-Predicted Residual Blocks)
상호 예측 잔차 블록의 경우, AMT의 변환 및 시그널링 스킴이 사용될 수 있다. 즉, 후보 목록이 다음을 포함할 수 있다:
{[DCT-II, DCT-II], [DST-VII, DST-VII], [DST-VII, DCT-VIII], [DCT-VIII, DST-VIl], [DCT-Vlll, DCT-VIII]}
상기 표기에 있어서: [세로 방향 변환, 가로 방향 변환]
4.1.3 내부-NN 예측 잔차 블록(Intra-NN Predicted Residual Blocks)
내부-NN 변환 (Intra-NN TRANFORM)
내부-NN(Neural Network)의 경우, 내부-NN 예측 블록에 사용하기 위한 전용 변환 세트가 제공된다. 이하에서는 이러한 변환을 내부 NN 변환이라고 한다.
도 7을 참조하면, 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로/으로부터 코딩/디코딩하는 인코더(10)(도 1을 참조하여 위에서 설명된 것과 유사) 및 디코더(20)(도 2를 참조하여 위에서 설명된 것과 유사)가 제공될 수 있다. 인코더(10) 및 디코더(20)는 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원하며, 여기서 하나 이상의 상이한 변환이 세트(94) 내에서 이용 가능할 수 있다. 인코더(10) 및 디코더(20)는 내부 예측 블록(80)의 예측(104)을 획득하기 위해 내부 예측 블록(80)의 공간적 이웃(90)을 복수의 신경망(92) 중 선택된 신경망에 적용함으로써 내부 예측 블록(80)을 예측하도록 구성된다. 인코더(10) 및 디코더(20)는 선택된 신경망 및 잔차 블록(84)의 블록 크기(96)에 기초하여 변환 세트(94) 중에서, 내부 예측 블록(80)을 커버하는 잔차 블록(84)에 대한 선택 가능한 변환 세트(98)를 결정할 수 있다. 또한, 인코더(10)는 선택 가능한 변환 세트(98) 중 하나의 선택된 변환(102)을 사용하여 잔차 블록(84) 내의 내부 예측 블록(80)의 예측과 연관된 예측 잔차(100)를 코딩하고, 선택된 변환을 데이터 스트림(14)에서 시그널링할 수 있다. 다음으로, 디코더(20)는 선택 가능한 변환 세트(98) 중에서 하나의 선택된 변환(102)의 도메인에서 잔차 블록(84) 내의 내부 예측 블록(80)의 예측(104)과 연관된 예측 잔차(100)를 데이터 스트림(14)으로부터 디코딩하되 선택된 변환을 데이터 스트림(14)으로부터 유도하면서 디코딩할 수 있다.
따라서, 변환 세트(94)로부터 선택될 수 있는 하나 이상의 선택 가능한 세트(98)를 포함하는 변환 세트(94)가 제공될 수 있다. 선택 가능한 세트(98)는 하나 이상의 변환(102)을 포함할 수 있으며, 여기서 하나의 변환(102)이 선택 가능한 세트(98) 중에서 선택될 수 있다. 인코더(10)는 하나의 선택된 변환(102)을 사용하여 예측 잔차(100)를 코딩할 수 있다. 디코더(20)는 하나의 선택된 변환(102)을 사용하여 예측 잔차(100)를 디코딩할 수 있다.
이러한 변환은 서로 다른 내부 NN 모드들에 따라 좌우되는 때에는, 예측 잔차의 특정 특성에 대해 훈련된다. 내부 NN 변환 세트(98)는 작은 블록 크기(예를 들어, 미리 결정된 임계값 미만의 블록 크기)에 대한 일차 전용 변환과, 큰 블록 크기(예를 들어, 미리 결정된 임계값을 초과한 블록 크기)에 대한 일차 + 이차 변환을 포함한다.
예를 들어, 도 7 내지 도 10은 다수의 샘플(105)을 포함하는 잔차 블록(84)을 보여주고 있다. 잔차 블록(84)은 각각 코딩 및 디코딩될 수 있는 예측 잔차(100)를 포함할 수 있다. 샘플들(105)은 하나 이상의 변환, 예를 들어 일차 전용 변환(118)(도 10), 또는 일차 변환(108) 및 후속한 이차 변환(110)을 포함하는 다단계 변환(106)(도 8)을 거칠 수 있다.
샘플들(105)은 그 샘플들(105)이 공간 도메인에서 변환 도메인으로 변환될 수 있도록 일차 변환(108)을 거칠 수 있다. 결과적으로, 변환된 블록은 하나 이상의 일차 변환 계수(114)를 포함할 수 있다. 다수의 일차 변환 계수들(114)이 일차 변환 계수(114)의 일차 하위 그룹(112)에 함께 배열될 수 있다. 예를 들어 도 9에서 알 수 있는 바와 같이, 일차 변환(108)은 잔차 블록(84)의 하나 이상의 행을 공간 도메인으로부터 변환 도메인으로 변환할 수 있는 반면, 잔차 블록(84)의 열은 변환되지 않고서 공간 도메인에 유지된다.
일부 실시예에서, 일차 변환 계수(114)는 그 일차 변환 계수(114)가 각각의 이차 변환 도메인으로 변환되도록 이차 변환(110)에 의해 추가로 변환될 수 있다. 결과적으로, 다시 변환된 블록(117)은 (이차 변환(110)으로 인해) 하나 이상의 이차 변환 계수(134)를 포함할 수 있다. 다수의 이차 변환 계수들(134)은 이차 변환 계수들(134)의 이차 하위 그룹(138) 내에 함께 배열될 수 있다. 예를 들어 도 9에서 알 수 있는 바와 같이, 이차 변환(110)은 블록의 하나 이상의 열을 공간 도메인으로부터 변환 도메인으로 변환할 수 있다. 위에서 언급한 바와 같이, 블록의 행은 일차 변환(108)에 의해 이미 변환되었을 수 있다. 결과적으로, 행과 열은 다단계 변환에 의해, 즉 일차 변환 및 후속한 이차 변환을 적용함으로써, 변환되었을 수 있다. 그러나 변환 계수는 단지 한 가지 비제한적인 예일 뿐이므로 행과 열로 제한되지 않는다.
전술한 바와 같이, 인코더(10) 및 디코더(20)가 선택할 수 있는 미리 결정된 변환 세트(94)가 이용 가능할 수 있다. 예를 들어, 도 7 및 도 8을 참조하면, 인코더(10) 및 디코더(20)는, 선택 가능한 세트(98)의 결정을 수행하되, 블록 크기가 미리 결정된 임계값을 초과하는 경우, 선택 가능한 변환 세트(98)가, 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 각각이 포함하는 제1 개수의 하나 이상의 다단계 변환(106)으로 채워지게끔, 상기 결정을 수행하도록 구성되며, 상기 이차 변환(110)은 분리 불가능하며 그리고 선택된 신경망에 의존한다. 하위 그룹(112)은 일차 변환(108)의 저주파 부분을 나타낸다.
예를 들어, S = {4, 8, 16, 32} × {4, 8, 16, 32}의 각 블록 크기 및 각 내부 NN 예측 모드의 경우, 4개의 내부 NN 변환들의 세트가 있다. 보다 일반적으로, 다단계 변환의 소정 개수는 양단을 포함한 2 내지 6일 수 있다. S 내의 블록 크기 이외의 블록 크기의 경우, 유도된 크기 s'에 대한 내부 NN 변환이 사용된다. 크기 s'은 S 내의 크기, 즉 각각이 S 내에서 가장 작은 세로 디멘션 및 가로 디멘션이지만 적어도 블록의 크기는 갖는 크기를 취함으로써 얻어진다.
도 10을 참조하면, 추가로 또는 대안적으로, 인코더(10) 및 디코더(20)는, 선택 가능한 세트(98)의 결정을 수행하되, 블록 크기가 미리 결정된 임계값 미만인 경우, 선택 가능한 변환 세트(98)가 제2 개수의 하나 이상의 분리 불가능 변환(118)으로 채워지게끔, 상기 결정을 수행하도록 구성될 수 있다. 제1 개수의 다단계 변환(106)(도 8)과 제2 개수의 분리 불가능 변환(118)(도 10)은 동일할 수 있다.
블록 높이(H)나 블록 폭(W)이 8보다 크지 않은 크기에 대한 내부 NN 변환은 일차 전용 변환으로 정의된다. 복잡도 이유로 인해, 더 많은 변환들이, 복잡도가 낮은 분리 가능 일차 변환 및 일차 계수 하위 블록에만 적용된 이차 변환을 갖는 일차 + 이차 변환으로 정의되며, 이는 제1 계수를 포함하며 그리고 최소(8, W) × 최소(8, H)인 크기를 갖는다.
버전 1:
도 9를 참조하면, 내부 NN 변환에 더 추가로 또는 그에 대해 대안적으로, 인코더(10) 및 디코더(20)는, 선택 가능한 세트(98)의 결정을 수행하되, 선택 가능한 변환 세트(98)가 제3 개수(예를 들어, 1 또는 5)의 하나 이상의 분리 가능 2차원 변환(116)으로 채워지게끔, 즉 내부 NN 예측 잔차 블록에 대한 변환 후보 목록이 DCT/DST 군 중에서 하기 5개의 분리 가능 변환(일차 전용)을 포함할 수 있게끔, 상기 결정을 수행하도록 구성될 수 있다:
{[DCT-II, DCT-II], [DST-VII, DST-VII], [DST-VII, DCT-VIII], [DCT-VIII, DST-VII], [DCT-VIII, DCT-VIII]}
상기 표기에 있어서: [세로 방향 변환, 가로 방향 변환]
버전 2:
내부-NN 변환에 또 추가적으로 또는 대안적으로, 내부-NN 예측 잔차 블록에 대한 변환 후보 목록은 분리 가능 (일차 전용) {DCT-II, DCT-II} 변환을 포함할 수 있다.
버전 3:
내부-NN 예측은 이 예측이 공간 도메인 표현 대신 변환 도메인 표현으로 주어지도록 정의될 수 있다. 따라서, 예측 잔차는 특정 변환 단계의 계수로 주어진다. 이 경우, 효과적으로 적용된 변환의 제1 단계는 사용된 예측에 의해 이미 명시적으로 정의된다.
예를 들어, 인코더(10) 및 디코더(20)는 내부 예측 블록(80)의 예측이 일차 변환(108)의 도메인(118)에서 획득되게끔 예측을 수행하도록 구성될 수 있다. 인코더(10) 및 디코더(20)는 또한, 선택 가능한 세트(98)의 결정을 수행하되, 선택 가능한 변환 세트(98)가, 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 각각이 포함하는 제4 개수의 하나 이상의 다단계 변환(106)으로 채워지게끔, 상기 결정을 수행하도록 구성되며, 상기 이차 변환(110)은 분리 불가능하며 그리고 선택된 신경망에 의존할 수 있다.
일 실시예로서, 예측 잔차는 DCT-II 도메인의 계수로서 주어질 수 있다. 즉, 일차 변환(108)은 분리 가능 2차원 변환(116)(도 9)일 수 있다. 일차 + 이차 변환의 경우, 일차 변환은 예측 모드(여기서는 DCT-II)에 의해 정의된 변환으로서 취해진다. 따라서, 이차 변환은 DCT-II 계수의 서브세트에서 정의된다. 여기서, 이차 변환은 크기가 최소(8, W) × 최소(8, H)인 최소 주파수를 갖는 계수들의 하위 집합에서 정의된다. 즉, 하위 그룹(112)은 일차 변환(108)의 저주파 부분을 나타낸다.
이 버전에서, 내부 NN 예측 잔차 블록의 모든 변환 후보는 내부 모드에 의해 명시적으로 제공된 동일한 제1 변환 스테이지를 갖는다. 주어진 변환 스테이지의 상단에 구성된 4개(예를 들어, 2개 내지 6개)의 훈련된 내부 NN 변환에 추가하여, 명시적으로 주어진 변환 자체도 후보 목록(여기서는 모든 내부 모드에 대해 DCT-II)에 일차 전용 변환으로 추가된다. 즉, 선택 가능한 변환 세트(98)가 일차 변환(108)으로 추가로 채워질 수 있다.
내부 NN 변환을 위한 인코더(10) 및 디코더(20)의 추가 실시예가 도 11에 도시되어 있다. 이 실시예는 도 7 및 도 10을 참조하여 위에서 설명한 것과 유사할 수 있으며, 따라서 그 설명은 하기 실시예의 설명에도 소용된다.
이 실시예의 인코더(10)는 일차 변환(108)의 도메인(118)(도 10, 도 11)에서 내부 예측 블록(80)의 예측(104)을 획득하기 위해 내부 예측 블록(80)의 공간적 이웃(90)을 신경망(NN#)에 적용함으로써 내부 예측 블록(80)을 예측하도록 구성될 수 있다. 이 인코더(10)는 선택 가능한 변환 세트(98) 중 하나의 선택된 변환(102)을 사용하여 잔차 블록(84) 내의 내부 예측 블록(80)의 예측(104)과 연관된 예측 잔차(100)를 코딩하고, 선택된 변환(102)을 데이터 스트림(14)에서 시그널링하도록 구성될 수 있다. 이 실시예에서, 선택 가능한 변환 세트(98)는, 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)(도 8)에 적용되는 이차 변환(110)을 포함하는 적어도 하나의 다단계 변환(106)으로 채워진다.
대응하는 디코더(20)는 일차 변환(108)의 도메인(118)(도 10, 도 11)에서 내부 예측 블록(80)의 예측(104)을 획득하기 위해 내부 예측 블록(80)의 공간적 이웃(90)을 신경망(NN#)에 적용함으로써 내부 예측 블록(80)을 예측하도록 구성될 수 있다. 이 디코더(20)는 선택 가능한 변환 세트(98) 중에서 하나의 선택된 변환(102)의 또 다른 도메인(119)에서 잔차 블록(84) 내의 내부 예측 블록(80)의 예측(104)과 연관된 예측 잔차(100)를 데이터 스트림(14)으로부터 디코딩하되 선택된 변환(102)을 데이터 스트림(14)으로부터 유도하면서 디코딩하도록 구성될 수 있다. 선택 가능한 변환 세트(98)는, 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)(도 8)에 적용되는 이차 변환(110)을 포함하는 적어도 하나의 다단계 변환(106)으로 채워진다.
인코더(10) 및 디코더(20)는, 선택 가능한 변환 세트(98)가, 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110) - 이 이차 변환(110)은 분리 불가능한 것임 - 을 각각이 포함하는 소정 개수의 다단계 변환(106)으로 채워지도록 구성된다.
다단계 변환의 개수는 양단을 포함한 2 내지 6이다. 추가적으로 또는 대안적으로, 일차 변환(108)은 분리 가능 2차원 변환일 수 있다. 추가적으로 또는 대안 적으로, 하위 그룹(112)은 일차 변환의 저주파 부분을 나타낼 수 있다.
인코더(10) 및 디코더(20)는 선택 가능한 변환 세트(98)가 일차 변환으로 추가로 채워지게끔, 선택 가능한 변환 세트(98)의 결정을 수행하도록 구성될 수 있다.
4.1.4 내부 예측 잔차 블록(DC, 평면, 각도)
내부 예측 잔차 블록의 경우, 실제 적용된 내부 모드 및 블록 크기가 제공될 때 잔차 신호의 특정 특성에 대해 훈련된 전용 변환 세트가 정의된다. 이러한 변환은 일차 전용 변환을 포함하며, 그리고 일차 변환이 특히 낮은 복잡도의 구현을 취하는 일차 + 이차 변환도 또한 복잡도를 이유로 포함한다.
다시 도 7을 참조하면, 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로/으로부터 코딩/디코딩하는 인코더(10)(도 1을 참조하여 위에서 설명된 것과 유사) 및 디코더(20)(도 2를 참조하여 위에서 설명된 것과 유사)가 제공될 수 있다. 이 인코더(10) 및 디코더(20)는 내부 예측 블록(80)의 예측(104)을 획득하기 위해 내부 예측 모드들의 세트(120) 중에서 선택된 모드를 사용하여 내부 예측 블록(80)의 공간적 이웃(90)에 기초하여 내부 예측 블록(80)을 예측하도록 구성될 수 있다. 또한, 이 인코더(10) 및 디코더(20)는 선택된 내부 예측 모드 및 잔차 블록(84)의 블록 크기(96)에 기초하여 변환 세트(94) 중에서, 내부 예측 블록(80)을 커버하는 잔차 블록(84)에 대한 선택 가능한 변환 세트(98)를 결정하도록 구성될 수 있다. 또한, 이 인코더(10)는 선택 가능한 변환 세트(98) 중 하나의 선택된 변환(102)을 사용하여 잔차 블록(84) 내의 내부 예측 블록(80)의 예측(104)과 연관된 예측 잔차(100)를 코딩하고, 선택된 변환(102)을 데이터 스트림(14)에서 시그널링하도록 구성될 수 있다. 다음으로, 디코더(20)는 선택 가능한 변환 세트(98) 중에서 하나의 선택된 변환(102)의 도메인에서 잔차 블록(84) 내의 내부 예측 블록(80)의 예측(104)과 연관된 예측 잔차(100)를 데이터 스트림(14)으로부터 디코딩하되 선택된 변환(102)을 데이터 스트림(14)으로부터 유도하면서 디코딩하도록 구성될 수 있다.
일차 변환 중에는 AMT로 정의된 DCT/DST 군의 변환이 있으며, 이는 NSST로 정의된 변환과 결합하여 일차 전용 변환 및 일차 + 이차 변환을 각각 구성할 수 있다. 바꾸어 말하면, 일차 변환(108)은 선택된 내부 예측 모드에 의존할 수 있으며, 분리 가능한 2차원 변환(116)일 수 있다. 따라서, 도 8을 다시 참조하면, 인코더(10) 및 디코더(20)는, 선택 가능한 세트(98)의 결정을 수행하되, 미리 결정된 블록 크기들의 제1 미리 결정된 세트의 블록 크기들에 대해, 선택 가능한 변환 세트(98)가, 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 각각이 포함하는 소정 개수의 하나 이상의 다단계 변환(106)으로 채워지게끔, 상기 결정을 수행하도록 구성될 수 있으며, 상기 이차 변환(110)은 분리 불가능하며 그리고 선택된 내부 예측 모드에 의존한다.
추가 변환이 훈련되었을 수 있으며, 이는 64의 디멘션까지 완전히 연결된 변환 단계들과, 변환 스테이지 계수의, 특히 일차 변환 계수의, 내부 모드 종속적 분할(예를 들어, 하위 그룹(112)가 선택된 내부 예측 모드에 종속적일 수 있음)을 포함한다. 이들 변환들 중 어느 변환이 이미 디코딩된 구문 요소에 따라 잔차 블록에 적합한지가 실험적으로 발견되었으며, 이는 후보 목록에 대한 하기의 구성 규칙과 함께 조견표로 제공된다.
따라서, 도 10을 다시 참조하면, 인코더(10) 및 디코더(20)는, 선택 가능한 세트(98)의 결정을 수행하되, 미리 결정된 블록 크기들의 제2 미리 결정된 세트의 블록 크기가 미리 결정된 블록 크기들의 제1 미리 결정된 세트보다 작은 경우, 선택 가능한 변환 세트(98)가 제2 개수의 하나 이상의 분리 불가능 변환(118)으로 채워지게끔, 상기 결정을 수행하도록 구성될 수 있다.
하위 그룹이 직사각형이고 조밀하고 낮은 디멘션이어야 하는 복잡도 제약 조건으로 다단계 변환을 구성할 때, 하위 그룹의 모양을 여전히 자유롭게 선택할 수 있다. 정확하게 말하면, 모양은 2차적일 수 있거나, 또는 세로 방향이나 혹은 가로 방향에서 지배적인 디멘션을 가질 수 있다. 이는 선택된 일차 변환 및 실제 내부 예측 모드 - 이들 중 어느 것이나 바람직함 - 에 종속된다. 예를 들어, DCT-II가 일차 변환이고 잔차 블록이 가로 방향 모드들 중 하나로 예측된 경우, 잔차 일차 계수들이 블록의 왼쪽에 집중될 것으로 예상되므로, 하위 그룹은 폭보다 더 큰 높이를 갖도록 선택된다. 세로 내부 방향에서는 이와 반대되게 선택될 수 있다.
루마 컴포넌트(LUMA COMPONENT)
버전 1:
내부 예측 루마 잔차 블록에 대한 변환 후보 목록의 생성을 위해 조견표가 사용될 수 있다. 이 조견표는 S3 = {64×64} + {4, 8, 16, 32} × {4, 8, 16, 32} + {4×12, 12×4}의 크기들의 조합에 대한 변환 후보 목록과, I0 = {0,..., 34}의 내부 모드 인덱스를 보유한다. 위에서 언급한 바와 같이, 인코더(10) 및 디코더(20)는 선택된 내부 예측 모드 및 잔차 블록(84)의 블록 크기(96)에 기초하여 변환 세트(94) 중에서, 내부 예측 블록(80)을 커버하는 잔차 블록(84)에 대한 선택 가능한 변환 세트(98)를 결정하도록 구성될 수 있다.
잔차 블록에 대한 후보 목록을 얻는 실제 규칙은 다음과 같다:
내부 모드가 {DC, 평면} + 33개 방향 모드들}의 내부 방향들 중 하나로 지정되어 있는 경우, 이 내부 방향은 LUT로의 내부 모드 인덱스로서 사용된다.
내부 모드가 {DC, 평면} + 65개 방향 모드들}의 내부 방향들 중 하나로 지정되어 있는 경우, LUT로의 내부 모드 인덱스는 다음과 같은 매핑에 의해 획득된다:
Figure pct00001
S3의 크기들을 갖는 잔차 블록의 경우, 이 크기는 LUT로의 입력으로 사용되고, 그렇지 않으면 10 내의 각 내부 모드 인덱스에 대해 한 세트의 고정 변환 후보 세트가 정의된 제2 조견표가 사용된다.
따라서, 인코더(10) 및 디코더(20)는, 이차 변환(110)이 선택된 내부 예측 모드에 의존하는 방식이 내부 예측 모드 집단을 포함하도록, 예를 들어, 내부 예측 모드들의 세트(120) 중 각도 내부 예측 모드의 내부 예측 방향의 양자화 또는 내부 예측 모드 인덱스의 양자화를 포함하도록, 구성될 수 있다.
추가적으로 또는 대안적으로, 인코더(10) 및 디코더(20)는, 일차 변환(108)이 선택된 내부 예측 모드에 의존하는 방식이 내부 예측 모드 집단을 포함하도록, 예를 들어, 내부 예측 모드들의 세트(120) 중 각도 내부 예측 모드의 내부 예측 방향의 양자화 또는 내부 예측 모드 인덱스의 양자화를 포함하도록, 구성될 수 있다.
버전 2:
버전 1과의 차이점은 S3에 없는 크기를 갖는 잔차 블록에 대한 변환 후보의 편차이다. 여기서 크기 s'는 조견표를 어드레싱하는 데 사용된다. 여기서 s'는 S3 내의 가장 작은 크기이며, 이 때 각 디멘션은 s의 대응하는 디멘션보다 크거나 또는 그 디멘션과 같다.
채도 컴포넌트(CHROMA COMPONENT)(채도 이중 트리 없음, NO CHROMA DUAL-TREE)
버전 1:
채도 잔차 블록에 대한 변환 후보는 루마 변환 후보와 동일한 변환 세트에서 얻어진다. 여기서, 각 변환 키는 두 개의 개별 채도 변환 후보를 정의할 수 있다. 채도 성분의 예측 모드가 루마 모드와 같으면, 첫 번째 후보가 선택된다. 그렇지 않으면 두 번째 후보가 선택된다.
버전 2:
채도 잔차 블록에 대한 변환 후보는 루마 변환 후보와 동일한 변환 세트에서 얻어진다. 여기서, 각 변환 키는 두 개의 개별 채도 변환 후보를 정의할 수 있다. 그렇다면, 두 변환 모두 채도 후보 목록에 추가된다.
4.1.5 이웃하는 변환 블록들의 변환 결정에 의존한 후보 추가/교체 및 재정렬
예측 모드, 블록 크기 등과 같은, 변환 블록 자체의 속성에서 유도된 변환 후보 외에도, 이웃하는 변환 블록에서도 후보가 유도될 수 있다. 몇 가지 실시예가 다음에서 논의된다.
예를 들어, 도 12는 현재 잔차 블록(84)과, 현재 잔차 블록(84)에 바로 인접하거나 현재 잔차 블록(84)으로부터 공간적으로 떨어져 있을 수 있는 공간적으로 이웃하는 잔차 블록(84', 84'')으로 분할되는 영상(12)을 도시하고 있다. 이웃하는 잔차 블록(84', 84'')이 잔여 에너지 및 신호 구조와 같은 다양한 속성에서 유사하다고 가정하면, 이 유사성은 현재 블록(84)에 대한 후보들의 편차 프로세스로의 선택된 이웃 변환들의 정보를 포함함으로써 이용될 수 있다.
도 12를 참조하면, 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로/으로부터 코딩/디코딩하는 인코더(10)(도 1을 참조하여 위에서 설명된 것과 유사) 및 디코더(20)(도 2를 참조하여 위에서 설명된 것과 유사)가 제공될 수 있다.
인코더(10) 및 디코더(20)는 이웃하는 잔차 블록(84', 84'')에 대해 선택된 기준 변환에 기초하여, 변환 세트(94) 중에서 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)을 결정하도록(122) 구성될 수 있다. 인코더(10)는 선택 가능한 변환 후보 목록(98) 중 하나의 선택된 변환(102)을 사용하여 현재 잔차 블록(84) 내의 예측 잔차(100)를 코딩하고, 선택된 변환(102)을 데이터 스트림(14)에서 시그널링하도록 구성될 수 있다. 다음으로, 디코더(20)는 선택 가능한 변환 후보 목록(98) 중에서 하나의 선택된 변환(102)의 도메인에서 현재 잔차 블록(84) 내의 예측 잔차(100)를 디코딩하되 선택된 변환(102)을 데이터 스트림(14)으로부터 유도하면서 디코딩하도록 구성될 수 있다.
일반적으로, 이웃하는 변환 블록(84', 84'')이 현재 블록(84)과 동일한 크기 및 예측 모드를 갖는 경우, 목록이 위에 설명된 대로 구성되는 조건 하에서는, 이웃하는 변환 블록(84', 84'')의 선택된 변환도 현재 블록(84)의 후보이다. 이러한 경우, 현재 후보 목록은 이전에 선택된 후보가 후보 목록의 첫 번째 위치들 중 하나에 놓이도록 재정렬될 수 있다. 따라서, 인코더(10) 및 디코더(20)는 기준 변환을 사용하여, 선택 가능한 변환 후보 목록(98)을 정렬시키도록(122) 구성될 수 있다.
예를 들어, 인코더(10) 및 디코더(20)는 기준 변환 또는 기준 변환에 대응하는 변환을 가장 가능성 있는 선택(예를 들어, 제1 위치, 또는 인덱스(124)의 가장 낮은 인덱스 값과 관련되거나 또는 가장 짧은 VLC와 연관된 인덱스 값과 관련된 부분)과 연관된 순위("n#"에 있어서의 #)로 배치함으로써(예를 들어, 하나의 스테이지와 관련하여, 다른 크기의 이웃하는 블록에 대해 높은 변환 인덱스(124)에 의해 시그널링되고 그에 따라 매우 특화된 변환, 분석적 변환 유형일 가능성이 있음) 선택 가능한 변환 후보 목록(98)을 정렬시키도록(122) 구성될 수 있다. 대안적으로, 인코더(10) 및 디코더(20)는 기준 변환 또는 기준 변환에 대응하는 변환을 두 번째로 가장 가능성 있는 선택과 연관된 순위("n#"에 있어서의 #)로 배치함으로써 선택 가능한 변환 후보 목록(98)을 정렬시킬(122) 수 있다.
이는 후보의 시그널링을 향상시킬 수 있으며, 또한 다음 후보들의 시험을 건너 뛰어서 인코더에서 변환 후보들을 시험하기 위한 효율적이고 빠른 검색 모드도 허용한다.
하나 이상의 이웃하는 블록(84', 84'')의 변환 결정이 사용 가능하면, 현재 목록 내 각 후보의 실제 위치는 더 빈번하게 선택된 후보들을 목록의 앞으로 배치함으로써 이웃하는 블록(84', 84'')에서 후보가 얼마나 자주 선택되었는지에 따라 좌우될 수 있다. 목록 내 첫 번째 후보를 변경하지 않고 가장 빈번하게 선택된 후보를 제2 위치로 두는 것이 유익할 수 있는데, 제1 변환은 이웃하는 결정에 따라 좌우되는 때에도 종종 가장 가능성이 있기 때문이다.
따라서, 인코더(10) 및 디코더(20)는 이웃하는 잔차 블록들(84', 84'')의 세트에 대해 선택된 기준 변환에 기초하여, 변환 세트(94) 중에서 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)을 결정하도록(122) 구성될 수 있다.
또한, 인코더(10) 및 디코더(20)는 이웃하는 잔차 블록들(84', 84'')의 세트에 대해 기준 변환이 선택되는 빈도에 대응하는 순서로 기준 변환들을 상호 배치함으로써 선택 가능한 변환 후보 목록(98)을 정렬시키도록(122) 구성될 수 있다.
이웃 잔차 블록들(84', 84'')이 예측 모드 또는 블록 크기에 있어서 다를 때, 선택된 이웃 변환이 반드시 이미 현재 블록(84)의 후보일 필요는 없다. 이러한 경우, 선택된 변환은 그것이 또한 현재 블록 크기에 대해서도 정의된 경우에는 현재 변환 목록에 추가될 수 있다. 따라서, 인코더(10) 및 디코더(20)는 선택 가능한 변환 후보 목록(98)을 기준 변환으로 채우도록(122) 구성될 수 있다.
변환이 실제로 후보 목록에 추가되는 경우, 그 변환은 두 블록의 선택된 예측 모드의 유사성에 따라 좌우되어야 한다. 예를 들어, 두 블록이 방향 모드를 사용하여 예측되고 방향 인덱스들이 2개 초과하여 다르고 이웃하는 블록의 선택된 변환이 해당 모드에 대해 특별히 훈련된 변환인 경우, 이 변환이 현재 블록에 대해 유망한 후보가 될 가능성은 없다. 반면에 두 예측 모드가 유사하거나 또는 범용 변환(예를 들어, DCT 또는 DST)이 선택된 경우, 그 변환은 또한 현재 후보 목록에도 추가될 수 있다. 두 블록이 크기만 다르고, 이미 알려진 선택된 변환이 DCT/DST 군과 같은 분석적으로 정의된 변환에서 나온 것인 경우, 현재 블록 크기에 대한 대응하는 변환이 직접 유도되어 후보 목록에 추가될 수 있다.
따라서, 인코더(10) 및 디코더(20)는 이웃하는 블록(84', 84'') 및 현재 잔차 블록(84)과 연관된 하나 이상의 특정 특성이 충분히 유사한 경우, 그리고/또는 기준 변환이 분리 가능 스펙트럼 분해 변환인 경우에, 채우기를 수행하도록 구성될 수 있다. 상기 하나 이상의 특성은, 예를 들어, 하나 이상의 내부 예측 모드를 포함할 수 있다.
추가적으로 또는 대안적으로, 기준 변환은 분석적으로 정의 가능한 분리 가능 스펙트럼 분해 변환(예를 들어, DCT, DST, FFT 등)일 수 있으며, 인코더(10) 및 디코더(20)는 선택 가능한 변환 후보 목록(98)을, 기준 변환을 현재 잔차 블록(84)의 블록 크기(96)에 적응시킴으로써 유도된 또 다른 변환으로, 채우도록(122) 구성될 수 있다.
이웃 블록의 선택된 변환이 현재 목록의 후보가 아닌 경우에도, 해당 변환을 알면 현재 목록의 최적 후보를 예측하는 데 도움이 될 수 있으므로, 후보들의 순서가 해당 변환에 따라 좌우될 수 있다. 예를 들어, 이웃 블록의 일차 변환이 DCT/DST 군에서 나온 것으로 하면, 위에서 언급한 바와 같이, 현재 크기의 대응하는 일차 변환을 갖는 모든 후보들이 후보 목록의 앞에 놓일 수 있다.
또한, 이웃 블록들의 에너지가 상관 관계를 갖는다고 가정하면, 이웃하는 잔차 블록이 많은 수의 유의미 계수를 가질 때, 현재 블록의 유의미 계수의 개수가 많아질 가능성이 있다. 계수가 적은 반대의 경우에도 동일한 상관 관계를 가정할 수 있다.
따라서, 인코더(10) 및 디코더(20)는 하나 이상의 특정 특성에 있어서 기준 변환과의 유사성에 따라 선택 가능한 변환 세트(98) 내 변환들의 순위를 매김으로써 선택 가능한 변환 후보 목록(98)을 정렬시키도록(122) 구성될 수 있고, 그리고/또는 하나 이상의 특정 특성에 있어서 기준 변환과의 특정 비유사성을 초과하는 변환들을 선택 가능한 변환 후보 목록(98)으로부터 제외시키는 방식으로 선택 가능한 변환 후보 목록(98)을 결정하도록 구성될 수 있다. 예를 들어, 상기 하나 이상의 특성은 하나 이상의 일차 변환(예를 들어, 일차 변환의 동등성이 요구됨)을 포함할 수 있다.
이 정보는 후보들을 재정렬시키거나 바람직하지 않은 변환들을 목록에서 제거하는 데 사용될 수 있다. 예를 들어, k개의 계수들의 하위 그룹에서 정의된 이차 변환이 있는 변환 후보를 갖는 경우, 이 후보는 이웃하는 잔차 블록(84', 84'')이 k개보다 훨씬 적은 유의미 계수들을 갖게 되면 제거되거나 마지막 위치에 놓일 수 있다. 또한, 소수의 계수만이 유의미일 것이라고 예상되는 경우, 동일한 일차 변환을 공유하지만 이차 변환들만 다른 변환 후보를 갖는 것의 이점은 적을 가능성이 있다. 이러한 변환이 후보들 중에 있으면, 이와 같은 경우에, 그러한 변환들 중 첫 번째 변환을 단지 유지하기만 함으로써 또는 그러한 변환들을 대응하는 일차 전용 변환으로 대체함으로써, 목록을 줄일 수 있다.
일 실시예에 따르면, 인코더(10)는 변환 세트 중 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)을, 이웃하는 잔차 블록에 대해 선택된 기준 변환에 기초하여, 하나 이상의 이웃하는 잔차 블록들(84', 84'') 내의 유의미 변환 계수들의 개수 또는 합계에 의존하는 방식으로 결정하도록(122) 구성될 수 있다. 상기 개수 또는 합계가 특정 임계값보다 많은 경우에는, 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)이, 현재 잔차 블록의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환의 일차 변환 계수들의 하위 그룹에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환으로 채워진다. 상기 개수 또는 합계가 특정 임계값보다 적은 경우에는, 현재 잔차 블록에 대한 선택 가능한 변환 목록이, 상기 적어도 하나의 다단계 변환에 추가하여서나 혹은 그 대신에, 하위 그룹을 넘어선 일차 변환 계수가 제로화되는 상기 적어도 하나의 다단계 변환의 수정으로 채워진다. 어느 경우든지, 인코더(10)는 선택 가능한 변환 목록 중 하나의 선택된 변환을 사용하여 잔차 블록 내의 예측 잔차를 코딩하고, 선택된 변환을 데이터 스트림에서 시그널링하도록 구성될 수 있다.
대응하는 디코더(20)는 변환 세트 중 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)을, 이웃하는 잔차 블록(84', 84'')에 대해 선택된 기준 변환에 기초하여, 하나 이상의 이웃하는 잔차 블록들(84', 84'') 내의 유의미 변환 계수들의 개수 또는 합계에 의존하는 방식으로 결정하도록(122) 구성될 수 있다. 상기 개수 또는 합계가 특정 임계값보다 많은 경우에는, 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)이, 현재 잔차 블록의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환의 일차 변환 계수들의 하위 그룹에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환으로 채워진다. 상기 개수 또는 합계가 특정 임계값보다 적은 경우에는, 현재 잔차 블록에 대한 선택 가능한 변환 목록이, 상기 적어도 하나의 다단계 변환에 추가하여서나 혹은 그 대신에, 하위 그룹을 넘어선 일차 변환 계수가 제로화되는 상기 적어도 하나의 다단계 변환의 수정으로 채워진다. 어느 경우든지, 디코더(20)는 선택 가능한 변환 목록 중에서 하나의 선택된 변환의 도메인에서 잔차 블록 내의 예측 잔차를 디코딩하되 선택된 변환을 데이터 스트림으로부터 유도하면서 디코딩하도록 구성될 수 있다.
추가적으로 또는 대안적으로, 인코더(10) 및 디코더(20)는 이웃하는 블록(84')의 하나 이상의 특정 특성에 따라 선택 가능한 변환 세트(98) 내 변환들의 순위를 매김으로써 선택 가능한 변환 후보 목록(98)을 정렬시키도록(122) 구성될 수 있고, 그리고/또는 이웃하는 블록(84')의 하나 이상의 특정 특성에 따라 변환들을 선택 가능한 변환 후보 목록(98)으로부터 제외시키는 방식으로 선택 가능한 변환 후보 목록(98)을 결정하도록 구성될 수 있다. 예를 들어, 상기 하나 이상의 특성은 다수의 유의미 변환 계수들 중 하나 이상을 포함할 수 있다.
추가적으로 또는 대안적으로, 상기 하나 이상의 특성은 다수의 유의미 변환 계수들 중 하나 이상을 포함하되, 그 유의미 변환 계수들의 개수가 특정 임계값(예를 들어, 하위 그룹(112) 내 계수들의 개수에 따라 달라짐) 미만인 경우, 이차 변환을 받게 되는 일차 변환 계수들의 하위 그룹(112)이 있는 다단계 유형의 변환들은 가능성이 낮은 것으로 순위를 매기거나 또는 그 변환들을 제외시켜서 포함할 수 있다.
4.1.6 양자화 파라미터에 적응된 변환 후보 제공
변환은 양자화 스테이지의 각기 다른 재구성 지점들에 대해 최적화될 수 있고 그에 따라 각기 다른 양자화 파라미터들(QP)에 대해 최적화될 수 있다. QP 적응적 변환 세트가 예측 모드에 대해 정의된 경우, 후보 목록은 다음 규칙들 중 하나에 의해 구성된다:
현재 QP에 대해 변환이 정의된 경우, 그 변환이 후보 목록에 추가된다.
현재 QP에 가장 근접한 QP에 정의된 변환이 후보 목록에 추가된다.
상기 두 변환이 후보 목록에 추가된다. 첫 번째는 현재 QP보다 다음으로 작은 QP에 대해 정의된 변환이고, 두 번째는 현재 QP보다 다음으로 큰 QP에 대해 정의된 변환이다.
따라서, 도 7을 참조하면, 인코더(10) 및 디코더(20)는 잔차 블록(84)의 양자화 파라미터가 하나 이상의 미리 결정된 양자화 파라미터들의 세트에 포함되어 있는지를 확인하도록 구성될 수 있다. 그 대답이 '예'이면, 인코더(10) 및 디코더(20)는 선택 가능한 변환 세트(98)의 결정을 수행하되, 그 선택 가능한 변환 세트(98)가 하나 이상의 미리 결정된 양자화 파라미터들의 세트와 연관된 하나 이상의 미리 결정된 변환들의 세트에 의해 추가로 채워지게끔, 결정을 수행할 수 있다.
추가적으로 또는 대안적으로, 인코더(10) 및 디코더(20)는 내부 예측 블록의 양자화 파라미터가 하나 이상의 미리 결정된 양자화 파라미터들의 세트에 포함되어 있는지를 확인하도록 구성될 수 있다. 그 대답이 '예'이면, 인코더(10) 및 디코더(20)는 선택 가능한 변환 세트(98)의 결정을 수행하되, 그 선택 가능한 변환 세트(98)가 하나 이상의 미리 결정된 양자화 파라미터들의 세트와 연관된 하나 이상의 미리 결정된 변환들의 세트에 의해 추가로 채워지게끔, 결정을 수행할 수 있다.
또한 추가적으로 또는 대안적으로, 인코더(10) 및 디코더(20)는 잔차 블록(84)의 양자화 파라미터가 하나 이상의 미리 결정된 양자화 파라미터들의 세트에 포함되어 있는지를 확인하도록 구성될 수 있다. 그 대답이 '예'이면, 인코더(10) 및 디코더(20)는 선택 가능한 변환 세트(98)의 결정을 수행하되, 그 선택 가능한 변환 세트(98)가 하나 이상의 미리 결정된 양자화 파라미터들의 세트와 연관된 하나 이상의 미리 결정된 변환들의 세트에 의해 추가로 채워지게끔, 결정을 수행할 수 있다.
또한 추가적으로 또는 대안적으로, 인코더(10) 및 디코더(20)는 현재 블록의 양자화 파라미터가 하나 이상의 미리 결정된 양자화 파라미터들의 세트에 포함되어 있는지를 확인하도록 구성될 수 있다. 그 대답이 '예'이면, 인코더(10) 및 디코더(20)는 선택 가능한 변환 세트(98)의 결정을 수행하되, 그 선택 가능한 변환 세트(98)가 하나 이상의 미리 결정된 양자화 파라미터들의 세트와 연관된 하나 이상의 미리 결정된 변환들의 세트에 의해 추가로 채워지게끔, 결정을 수행할 수 있다.
디멘션 축소가 있는 변환에 의한 후보 추가/교체
변환 블록 크기 및 양자화 파라미터(QP: quantization parameter)에 따라, 예측 잔차의 디멘션을 명시적으로 줄여서 계수의 효율적인 코딩이 이루어지게 하며 복잡도가 감소된 구현이 이루어지게 하는 변환 후보들을 포함하는 것이 유리할 수 있다. 정의에 따라, 이러한 변환만이 특정 하위 분류의 잔차 신호에 대해 오류 없는 표현에 이르게 한다. 반면에, 이는 계수를 0으로 양자화하는 것과 유사하며, 중요하지 않은 계수 위치들의 효율적 코딩이 이루어지게 할 수 있다.
다음 규칙들 중 하나가 적용될 수 있다:
후보 목록에 일차 + 이차 변환이 적어도 하나 포함되어 있고 현재 QP가 임계값 Tqp보다 큰 경우, 일차 + 이차 변환은 디멘션 축소 특성이 있는 대응하는 변환으로 대체된다.
이러한 변환은 이차 변환에 의해 추가로 변환되는 계수들의 하위 그룹에 속하지 않는 계수를 0이 되게 함으로써 목록 중의 대응하는 원래의 후보로 구성된다.
후보 목록에 일차 + 이차 변환이 적어도 하나 포함되어 있고 현재 QP가 임계값 Tqp보다 큰 경우, 일차 + 이차 변환 각각에 대한 디멘션 축소가 있는 변환이 목록에 추가된다. 이러한 변환은 이차 변환에 의해 추가로 변환되는 계수들의 하위 그룹에 속하지 않는 계수를 0이 되게 함으로써 목록 중의 원래의 후보로 구성된다.
후보 목록이 일차 + 이차 변환을 적어도 하나 포함하고 이웃하는 변환 블록들의 유의미 계수들의 합이 임계값 T보다 작은 경우, 일차 + 이차 변환은 디멘션 축소 특성이 있는 대응하는 변환으로 대체된다. 이러한 변환은 이차 변환에 의해 추가로 변환되는 계수들의 하위 그룹에 속하지 않는 계수를 0이 되게 함으로써 목록 중의 대응하는 원래의 후보로 구성된다.
후보 목록이 일차 + 이차 변환을 적어도 하나 포함하고 이웃하는 변환 블록들의 유의미 계수들의 합이 임계값 T보다 작은 경우, 일차 + 이차 변환 각각에 대한 디멘션 축소가 있는 변환이 목록에 추가된다. 이러한 변환은 이차 변환에 의해 추가로 변환되는 계수들의 하위 그룹에 속하지 않는 계수를 0이 되게 함으로써 목록 중의 원래의 후보로 구성된다.
일 실시예에 따르면, 인코더(10)는 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로 코딩하도록 구성될 수 있으며, 이 인코더는 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원한다. 인코더(10)는 변환 세트 중에서 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)을 현재 블록의 양자화 파라미터에 의존하여 결정하되, 양자화 파라미터가 특정 임계값보다 미세한 양자화에 해당하는 경우에는, 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)이, 현재 잔차 블록 내 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 포함하는 적어도 하나의 다단계 변환(106)으로 채워지게끔, 결정하도록 구성될 수 있다. 양자화 파라미터가 특정 임계값보다 거친 양자화에 해당하는 경우에는, 현재 잔차 블록에 대한 선택 가능한 변환 목록이, 상기 적어도 하나의 다단계 변환(106)에 추가하여서나 혹은 그 대신에, 하위 그룹(112)을 넘어선 일차 변환 계수(114)가 제로화되는 상기 적어도 하나의 다단계 변환의 수정으로 채워진다. 어느 경우든지, 인코더(10)는 선택 가능한 변환 후보 목록(98) 중 하나의 선택된 변환(102)을 사용하여 현재 잔차 블록(84) 내의 예측 잔차(100)를 코딩하고, 선택된 변환을 데이터 스트림(14)에서 시그널링하도록 구성될 수 있다.
또한, 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림(14)으로부터 영상(12)을 디코딩하는 디코더(20)가 제공될 수 있으며, 이 디코더는 블록 기반 잔차 디코딩을 위한 변환 세트(94)를 지원한다. 디코더(20)는 변환 세트 중에서 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)을 현재 블록의 양자화 파라미터에 의존하여 결정하되, 양자화 파라미터가 특정 임계값보다 미세한 양자화에 해당하는 경우에는, 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)이, 현재 잔차 블록 내 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 포함하는 적어도 하나의 다단계 변환(106)으로 채워지게끔, 결정하도록 구성될 수 있다. 양자화 파라미터가 특정 임계값보다 거친 양자화에 해당하는 경우에는, 현재 잔차 블록에 대한 선택 가능한 변환 목록이, 상기 적어도 하나의 다단계 변환(106)에 추가하여서나 혹은 그 대신에, 하위 그룹(112)을 넘어선 일차 변환 계수(114)가 제로화되는 상기 적어도 하나의 다단계 변환의 수정으로 채워진다. 어느 경우든지, 디코더(20)는 선택 가능한 변환 후보 목록(98) 중에서 하나의 선택된 변환(102)의 도메인에서 현재 잔차 블록(84) 내의 예측 잔차(100)를 디코딩하되 선택된 변환을 데이터 스트림(14)으로부터 유도하면서 디코딩하도록 구성될 수 있다.
4.2 변환 후보 목록 축소
잔차 계수들을 디코딩하는 과정 동안, 새로 획득된 정보가 목록 내의 특정 변환의 제약 조건을 충족시키지 못하면, 후속해서 변환 후보 목록을 축소시킬 수 있다. 이는 선택된 후보의 코딩 비용을 줄이는 데 도움이 되며, 또한 나머지 변환 후보들의 특정 속성에 대한 이어지는 구문 요소들의 조건화도 이루어지게 하여 코딩 효율성을 증대시킨다. 사전에 선택된 변환에 대한 정보를 명시적으로 코딩함으로써 축소된 후보 목록에 영향을 받는 구문 요소들의 개수를 늘리는 것이 유용할 수 있다.
도 14를 참조하면, 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로/으로부터 코딩/디코딩하는 인코더(10) 및 디코더(20)가 제공될 수 있다. 인코더(10) 및 디코더(20)는 위에서 설명한 것과 유사한 방식으로 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원할 수 있다. 그러나 이 실시예에 따르면, 인코더(10) 및 디코더(20)는 변환 세트(94) 중에서 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)을 결정하도록(130) 구성될 수 있다. 인코더(10)는 변환 계수 데이터(126)를 선택 가능한 변환 후보 목록(98) 중 하나의 선택된 변환(102)을 사용하여 현재 잔차 블록(84) 내의 예측 잔차(100)를 나타내는 데이터 스트림(14)으로 코딩하도록 구성될 수 있다. 인코더(10)는 또한, 선택된 변환(102)을 데이터 스트림(14)에서 시그널링하고(128) 그리고/또는 선택 가능한 변환 후보 목록(98)의 결정(130)을 변환 계수 데이터(126) 또는 변환 계수 데이터(126)의 일부에 의존하여 수행하도록 구성될 수 있다. 다음으로, 디코더(20)는 선택 가능한 변환 후보 목록(98) 중 하나의 선택된 변환(102)을 사용하여 현재 잔차 블록(84) 내의 예측 잔차(100)를 나타내는 데이터 스트림(14)으로부터 변환 계수 데이터(126)를 디코딩하도록 구성될 수 있다. 디코더(20)는 또한, 선택된 변환(102)을 데이터 스트림(14)으로부터 유도시키고(128) 그리고/또는 선택 가능한 변환 후보 목록(98)의 결정(130)을 변환 계수 데이터(126) 또는 변환 계수 데이터(126)의 일부 데이터에 의존하여 수행하도록 구성될 수 있다.
예들 들어, 인코더(10) 및 디코더(20)는, 선택 가능한 변환 후보 목록(98)을, 변환 계수 데이터(126) 또는 변환 계수 데이터의 일부에 따라 개수가 달라지는, 변환 세트(94) 중의 다수의 변환들로 채움으로써, 선택 가능한 변환 후보 목록(98)을 결정하도록(130) 구성될 수 있으며, 선택된 변환(102)을 시그널링하기 위해 데이터 스트림(14)에서 소비되는 코드 레이트가 낮을수록 상기 개수가 적어지도록 하는 방식으로, 데이터 스트림(14)에서의 선택된 변환(102)의 시그널링(128)을 수행하도록 구성될 수 있다.
추가적으로 또는 대안적으로, 인코더(10) 및 디코더(20)는, 선택 가능한 변환 후보 목록(98)을 변환 계수 데이터(126) 또는 변환 계수 데이터(126)의 일부에 따라 정렬함으로써, 선택 가능한 변환 후보 목록(98)을 결정하도록(130) 구성될 수 있으며, 선택 가능한 변환 후보 목록(98) 내 변환들의 순서에 따라 선택 가능한 변환 후보 목록(98)의 변환들에 코드워드가 할당된 가변 길이 코드를 사용하여 데이터 스트림(14)에서의 선택된 변환(102)의 시그널링(128)을 수행하도록 구성될 수 있다.
도 15는, 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로/으로부터 코딩/디코딩하며, 블록 기반 잔차 코딩을 위한 변환 세트를 지원하는 인코더(10) 및 디코더(20)의 또 다른 실시예를 도시하고 있다. 이 실시예의 인코더(10) 및 디코더(20)는 변환 세트 중에서 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)을 결정하도록(130) 구성될 수 있다. 인코더(10)는 선택된 변환을 데이터 스트림(14)에서 시그널링하도록(128)하도록 구성될 수 있으며, 선택 가능한 변환 목록 중 하나의 선택된 변환을 사용하여 잔차 블록 내의 예측 잔차를 나타내는 변환 계수를 코딩하되 선택된 변환(102) 또는 선택 가능한 변환 후보 목록(98)에 의존하여 코딩하도록(140) 구성될 수 있다. 다음으로, 디코더(20)는 선택된 변환을 데이터 스트림(14)으로부터 유도시키도록(128) 구성될 수 있으며, 선택 가능한 변환 목록 중 하나의 선택된 변환을 사용하여 잔차 블록 내의 예측 잔차를 나타내는 변환 계수를 데이터 스트림(14)으로부터 디코딩하되 선택된 변환(102) 또는 선택 가능한 변환 후보 목록(98)에 의존하여 디코딩하도록(140) 구성될 수 있다.
예를 들어, 도 14는 선택된 변환의 다수의 값의 변환 계수들(134)을 갖는 블록(114)을 도시하고 있는데, 변환 계수들(134)의 값들은 미리 결정된 스캔 순서(136)로 가로질러질 수 있다. 이 실시예에서 마지막 유의미 변환 계수 위치일 수 있는 하나의 예시적인 유의미(즉, 0이 아닌 값을 가지는) 변환 계수 위치(132)는 도 13에서 'x'로 표시된다.
변환 후보 목록에 대한 가능한 제약 조건에는, 변환 후보의 추가 시그널링 비용을 보상하기 위해 적어도 특정 개수의 유의미(즉, 0이 아닌 값을 가지는) 계수(134)가 필요하다는 것이 포함될 수 있다. 이 제약 조건은 정확한 개수의 유의미 계수들(134)이 획득된 후에 후보 목록을 축소시킴으로써 충족될 수 있지만, 마지막 유의미 계수(132)의 위치에 의해 표시된 변환 후보들을 제거하는 것도 가능하다. 이는 마지막 위치가 일반적으로는 사전에 코딩되기 때문에 축소된 목록에 영향을 받을 수 있는 구문 요소들의 개수를 증가시킨다.
일 실시예(도 13 및 도 14 참조)에 따르면, 인코더(10) 및 디코더(20)는, 변환 계수 데이터(126)가 선택된 변환(102)의 유의미 변환 계수 위치(132)의 표시와, 선택된 변환의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서(136)에 의해 유의미 변환 계수 위치(132)로부터 전방으로 가로질러지는 선택된 변환의 변환 계수들(134)의 값을 포함하도록 구성될 수 있고, 여기서 선택 가능한 변환 후보 목록(98)의 결정(130)은 상기 표시에, 즉 변환 계수 데이터(126)의 "부분"인 표시에 의존한다.
또 다른 실시예에 따르면, 인코더(10) 및 디코더(20)는 선택된 변환(102)의 유의미 변환 계수들(134)의 개수를 카운트하도록 구성될 수 있으며, 여기서 선택 가능한 변환 후보 목록(98)의 결정(130)은 상기 카운트에 의존한다.
일차 변환 계수의 특정 서브세트에만 추가 변환 스테이지들을 적용하는 다단계 변환 후보의 경우, 제약 조건은 상기 서브세트에 기초하여 정의될 수 있다. 이 제약 조건에는 적어도 특정 개수의 유의미 위치가 상기 서브세트에 속해야 한다는 것이 포함된다. 이 제약 조건은 마지막 유의미 위치를 디코딩한 후에나 혹은 정확한 개수의 유의미 위치들이 알려지자마자 알려진 최대 개수의 가능한 유의미 위치들에 의해 이미 위반되었을 수 있다. 제약 조건이 위반되자마자, 대응하는 변환 후보들이 목록에서 제거되고, 이어지는 디코딩 과정은 변환 후보 세트가 축소된 것으로부터 이점을 얻을 수 있다.
따라서, 인코더(10) 및 디코더(20)는 선택된 변환(102)의 변환 계수들(134)의 하위 그룹(138)(도 13) 내의 선택된 변환(102)의 유의미 변환 계수들(134)의 개수가 특정 임계값을 초과하는지 여부와 관련하여 변환 계수 데이터(126)를 평가하도록 구성될 수 있고, 선택 가능한 변환 후보 목록(98)의 결정(130)은 상기 카운트, 즉 유의미 변환 계수들(134)의 개수에 의존하여 다음과 같이 수행될 수 있다:
1) 상기 개수가 특정 임계값보다 크면, 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)이, 현재 잔차 블록의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환(106)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환(106)으로 채워져서, 선택된 변환(102)의 변환 계수들의 하위 그룹(138)이 생성되도록 한다.
2) 상기 개수가 특정 임계값보다 적으면, 현재 잔차 블록에 대한 선택 가능한 변환 목록이, 현재 잔차 블록의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환의 일차 변환 계수들의 하위 그룹에 적용되는 이차 변환을 포함하는 어떤 다단계 변환(106)으로도 채워지지 않도록 한다.
또한, 채도 후보 목록들의 축소는 루마 컴포넌트의 실제 변환 결정에 따라 달라질 수 있다. 상이한 후보 목록들(예를 들어, 루마 및 채도)이 하나의 변환 색인을 공유할 수도 있는데, 이 경우 제2 목록은 제1 목록에 대해 이미 디코딩된 변환 인덱스에 의해 제공되는 선택된 변환으로 축소된다.
예시적인 실시형태들:
이하에서는, 상기 일반적인 설명을 구체화하기 위해 일부 예시적인 실시형태들이 제공된다.
유의미 계수들의 개수가 임계값 T0(예를 들어, 3) 미만인 경우, 변환 후보들의 목록은 이 목록의 처음 두 엔트리들로 축소된다.
유의미 계수들의 개수가 임계값 T1(예를 들어, 3) 미만인 경우, 변환 후보들의 목록은 그의 처음 엔트리로 축소된다.
루마와 채도가 동일한 코딩 구조를 공유하고, 루마 컴포넌트 및 채도 컴포넌트를 포함해서 (CU에 있는 모든 TU의) 유의미 계수의 총 개수가 임계값 T0 미만인 경우, 해당 CU에 있는 모든 TU들의 후보 목록은 그들의 처음 엔트리로 축소된다.
루마와 채도가 동일한 코딩 구조를 공유하고, 루마 컴포넌트 및 채도 컴포넌트를 포함해서 (CU에 있는 모든 TU의) 유의미 계수의 총 개수가 임계값 T0 미만인 경우, 해당 CU에 있는 모든 TU들의 후보 목록들은 그들의 처음 두 엔트리들로 축소된다. 이와 달리, 유의미 계수들의 개수가 임계값 T1(예를 들어, 3) 미만인 경우, 후보 목록은 그의 처음 5개 엔트리들로 축소된다.
유의미 계수의 개수가 주어지고, 유지할 후보들의 개수에 임계값을 매핑하는 표가 주어지면, 후보 목록은 그에 따라서 그의 첫 번째 엔트리들로 축소된다.
유의미 계수의 개수가 주어지고, 유지할 후보들의 개수에 임계값과 예측 모드를 매핑하는 표가 주어지면, 후보 목록은 그에 따라서 그의 처음 엔트리들로 축소된다.
유의미 계수의 개수가 주어지고, 유지할 후보들의 개수에 임계값과 QP를 매핑하는 표가 주어지면, 후보 목록은 그에 따라서 그의 처음 엔트리들로 축소된다.
루마와 채도가 동일한 코딩 구조를 공유하고, 루마 컴포넌트에 대해 잔차 신호가 코딩되지 않으면, 정렬된 채도 컴포넌트들의 후보 목록들이 그들의 처음 엔트리들로 축소된다.
루마와 채도가 동일한 코딩 구조를 공유하고, 변환 유닛의 루마 컴포넌트 및 채도 컴포넌트를 포함해서 유의미 계수의 총합이 임계값 T3(예를 들어, 3) 미만인 경우, 해당 CU에 있는 모든 TU의 후보 목록은 그들의 처음 후보로 축소된다.
루마와 채도가 동일한 코딩 구조를 공유하고, 루마 변환이 이미 디코딩된 경우, 채도 변환 후보들은 루마 변환과 동일한 분류인 경우에만 유지된다.
루마와 채도가 동일한 코딩 구조를 공유하고, 루마 변환이 이미 디코딩된 경우, 채도 변환 후보들은 루마 변환과 동일한 분류인 경우이거나 또는 목록 내에서 첫 번째인 경우에만 유지된다.
변환 블록의 유의미 계수들의 위치들이 주어지면, 이차 변환으로의 입력이 적어도 K개의 유의미 계수들을 포함하는지가 각 다단계 변환 후보에 대해 확인된다. 그렇지 않은 경우, 후보 목록에서 변환이 제거된다.
마지막 유의미 위치의 위치가 주어지면, 유의미할 수 있는 계수들이 얼마나 많은지 카운트된다. 유지할 후보들의 개수에 임계값을 매핑하는 표가 주어지면, 후보 목록은 그에 따라서 그의 첫 번째 엔트리들로 축소된다.
변환 블록의 마지막 유의미 위치의 위치와 스캔 순서가 주어지면, 이차 변환으로의 입력이 유의미할 수 있는 적어도 K개의 위치들을 포함하는지가 각 다단계 변환 후보에 대해 확인된다. 그렇지 않은 경우, 후보 목록에서 변환이 제거된다.
변환 블록의 마지막 유의미 위치의 위치와 스캔 순서가 주어지면, 각 이차 변환에 대해 가능한 유의미 입력 계수들의 개수가 카운트된다.
가장 큰 값을 가진 변환은 유지되고, 다른 모든 이차 변환은 제거된다.
모든 실시형태들은 예측 모드 및 QP에 따라 좌우될 수 있다.
4.3 시그널링(SIGNALING)
위에서 언급한 바와 같이, 변환 블록 계수에 대한 이미 디코딩된 정보를 활용하여 변환 후보 목록을 축소시키면 실제 선택된 변환을 시그널링하는 데 필요한 비용이 줄어든다. 한편, 이러한 종속성은 선택된 변환의 속성에 대한 계수 디코딩 과정을 조절하여 이용할 수도 있다. 두 접근법은 모두 구문 요소들의 특정 코딩 순서를 필요로 하며 인터리브 방식으로 연합하여 적용할 수 있다. 특별한 경우로서, 후보 목록으로의 변환 인덱스는 모든 계수가 이미 알려진 때에, 변환 블록의 코딩 과정의 맨 처음이나 또는 마지막에 완전히 시그널링할 수 있다. 후자의 경우에는 모든 계수에 대한 정보를 사용하여 후보 목록을 줄일 수 있는 반면, 전자의 경우에는 후보들을 사전에 줄일 수는 없지만 각 계수의 디코딩은 사용된 변환에 대한 전체 지식으로부터 이점을 얻을 수 있다.
후보 목록 축소는 선택된 후보에 대한 실제 시그널링 비용을 감소시키기도 한다는 것이 명백하지만, 선택된 변환에서의 계수들의 조건부 코딩은 덜 간단하며, 그리고 그 코딩은, 합리적인 복잡도로 이익을 얻을 수 있는 경우, 실제 선택된 변환과, 후보 목록과, 잔차 신호 자체에 따라 달라진다.
선택된 후보가 디멘션 축소를 사용한 변환인 경우에는, 계수의 전체 하위 그룹에 대한 유의성 정보(significance information)를 시그널링할 필요가 전혀 없다. 이는 또한 더 작은 나머지 위치들의 세트의 마지막 위치의 효율적인 시그널링을 가능하게 하는데, 이는 가능한 마지막 유의미 위치를 변환에 의해 주어진 마지막 위치로 설정함으로써 완전히 생략될 수도 있다. 이러한 경우, 변환에 의해 정의된 바와 같은 각각의 가능한 유의미 위치에 대해 유의성 플래그가 코딩될 수 있는 한편, 전체 위치 그룹에 대한 유의성 그룹 플래그를 먼저 시그널링하는 개념도 여기에 적용 가능하다. 이 종속성을 사용하기 위해서는, 계수들을 코딩하기 전에 디멘션 축소를 사용한 변환이 후보들 중에 있는지 여부를 확인하여서, 그렇다면, 그 후보들 중 어느 것이 선택되었는지를, 필요한 경우라면, 먼저 시그널링하는 것이 유용할 수 있다.
일 실시예로서, 다시 도 13 및 도 15를 참조하면, 선택 가능한 변환 목록은 다른 개수의 변환 계수들(134)의 변환들을 포함할 수 있다. 인코더(10) 및 디코더(20)는 상기 다른 개수의 변환 계수들(134)을 코딩/디코딩하도록 구성될 수 있으며, 여기서 변환 계수들(134)을 코딩/디코딩하는 단계는, 선택된 변환(102)의 유의미 변환 계수 위치(132)의 표시(예를 들어, 유의성 플래그)의 코딩와, 선택된 변환의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서(136)에 의해 상기 유의미 변환 계수 위치로부터 전방으로 가로질러지는 선택된 변환의 변환 계수들(134)의 값의 코딩을 포함한다. 이 실시예의 인코더(10) 및 디코더(20)는 상기 표시의 코딩을 위해 데이터 스트림(14)에서 소비되는 코드 레이트가 낮을수록 선택된 변환의 변환 계수들(134)의 개수가 적어지도록 하는 방식으로, 변환 계수들(134)의 코딩/디코딩을 수행하도록 구성될 수 있다.
또 다른 실시예로서, 인코더(10) 및 디코더(20)는 디멘션 축소가 있거나 또는 없는 변환을 사용할 수 있는지 여부, 즉 선택 가능한 변환 목록이 제1 개수의 변환 계수들(134)(예를 들어, 디멘션 축소가 있는 변환)의 변환들과, 상기 제1 개수보다 많은 제2 개수의 변환 계수들(134)의 변환들을 포함하는지 여부에 따라, 변환 계수들(134)을 선택적으로 코딩/디코딩하도록 구성될 수 있다.
선택된 변환의 변환 계수들(134)의 개수가 상기 제2 개수인 경우, 인코더(10) 및 디코더(20)는 선택된 변환의 유의미 변환 계수 위치(132)의 표시와, 선택된 변환의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서(136)에 의해 상기 유의미 변환 계수 위치(132)로부터 전방으로 가로질러지는 선택된 변환의 변환 계수들(134)의 값을 코딩/디코딩하도록 구성될 수 있다.
선택된 변환의 변환 계수들(134)의 개수가 상기 제1 개수인 경우, 인코더(10) 및 디코더(20)는 선택된 변환의 변환 계수들(134)의 상기 제1 개수 모두의 값을 코딩/디코딩하도록 구성될 수 있다.
계수들을 보다 효율적으로 코딩하기 위해 선택된 변환에 대한 지식을 사용할 수 있는 또 다른 실시예는 하나 초과한 변환 후보들이 일차+이차 변환에 의해 정의되는 반면 이차 변환이 적용되는 위치들의 하위 그룹들은 상이한 경우이다. 이러한 경우, 선택된 변환 또는 적어도 사용된 분할을 먼저 코딩하는 것이 유용할 수 있다. 이 지식을 사용하여, 일차 변환만 거치게 되는 위치들과, 이차 변환에 의해 변환된 위치들에 있는 변환 계수들을 코딩하는 데 전용 컨텍스트 모델 세트를 사용할 수 있다.
이 지식은 또한, 마지막 유의미 위치를 코딩하는 데에도 다음과 같이 사용될 수 있다.
먼저, 마지막 유의미 위치가 이차 변환에 입력된 위치들 내에 있는지 여부를 나타내는 플래그가 디코딩되고, 그런 다음 정확한 위치가 변환에 의해 정의된 마지막 가능한 유의미 위치와의 차이, 또는 특정 하위 그룹의 첫 번째 계수의 위치와의 차이로 코딩된다.
보다 평이한 말로 설명하자면, 여전히 도 13 및 도 15를 참조하면, 선택 가능한 변환 목록(134)은, 현재 잔차 블록에 적용되는 일차 변환 및 일차 변환 계수(134)의 일차 변환 계수들(134)의 하위 그룹(138)에 적용되는 이차 변환을 각각이 포함하는 적어도 하나의 다단계 변환을 포함하 수 있고, 상기 하위 그룹(138)은 상기 적어도 하나의 다단계 변환들 중의 각기 다른 변환들마다 다르다.
제1 대안 실시예에 따르면, 인코더(10) 및 디코더(20)는, 선택된 변환의 유의미 변환 계수 위치(132)의 표시와, 선택된 변환의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서(136)에 의해 상기 유의미 변환 계수 위치(132)로부터 전방으로 가로질러지는 선택된 변환의 변환 계수들(134)의 값을 코딩/디코딩함으로써, 변환 계수들(134)를 코딩/디코딩하도록 구성될 수 있다. 상기 표시는 선택된 변환이 다단계 변환인지 여부에 따라 달라진다. 선택된 변환이 다단계 변환이면, 상기 표시는 상기 유의미 변환 계수 위치(132)가 변환 계수(134)의 하위 그룹(138) 내에 있는지 여부의 플래그를 포함하고, 변환 계수 위치(132)가 변환 계수들(134)의 하위 그룹(138) 내에 있으면, 상기 표시는 상기 유의미 변환 계수 위치(132)를 선택된 변환의 모든 변환 계수들(134) 중에서 상기 미리 결정된 스캔 순서(136)에 따라 마지막으로 가로질러진 위치에 대해서 나타내고, 변환 계수 위치(132)가 변환 계수들(134)의 하위 그룹(138) 내에 있지 않으면, 상기 표시는 상기 유의미 변환 계수 위치를 하위 그룹(138) 내에 있지 않은 모든 변환 계수들(134) 중에서 상기 미리 결정된 스캔 순서(136)에 따라 마지막으로 가로질러진 위치에 대해서 나타내고, 상기 미리 결정된 스캔 순서(136)는 하위 그룹(138) 내에 있지 않은 모든 변환 계수(134)를 가로지른 후에 하위 그룹(138) 내의 모든 변환 계수(134)를 가로지른다.
제2 대안 실시예에 따르면, 인코더(10) 및 디코더(20)는, 선택된 변환이 다단계 유형인 경우, 변환 계수(134)가 선택된 변환의 변환 계수들(134)의 하위 그룹(138) 내에 있는지 여부에 의존하는 확률 추정을 사용하는 엔트로피 코딩을 사용하여, 선택된 변환의 변환 계수들(134)의 값을 코딩함으로써, 변환 계수들(134)을 코딩/디코딩하도록 구성될 수 있다.
제3 대안 실시예에 따르면, 인코더(10) 및 디코더(20)는, 선택된 변환이 다단계 유형인 경우, 변환 계수(134)가 선택된 변환의 변환 계수들(134)의 하위 그룹(138) 내에 있는지 여부에 의존하는 방식으로 하나 이상의 이웃하는 변환 계수들(134)에 의존하는 확률 추정을 사용하는 엔트로피 코딩을 사용하여, 선택된 변환의 변환 계수들(134)의 값을 코딩함으로써, 변환 계수들(134)을 코딩/디코딩하도록 구성될 수 있다.
변환 후보 목록으로의 인덱스를 코딩하되, 후보들의 위치마다 증가하는 시그널링 비용이 변환 후보 목록에서의 후보들의 위치에 따라 달라지도록, 코딩하는 것을 가정해본다. 이는 변환 인덱스를 절단된 일진 코드(truncated unary code)로 코딩함으로써 이루어질 수 있다.
또한, 변환 후보 목록은 후보들이 그들의 특화에 의해 정렬되는 방식으로 구성된다. 예를 들어, 제1 변환은 가장 범용의 분리 가능한 변환 [DCT-II, DCT-II]이고, 이 다음에는 [DST-VII, DST-VII]가 이어지고, 그 다음, 현재 잔차 블록의 특정 내부 모드에 대해 특별히 훈련된 변환이 이어진다. 목록은 추가 변환들로 채워지며, 이 추가 변환들의 각 변환은 상기 내부 모드에서 발생할 수 있는 잔차 신호의 특정 속성에 특화된다. 이 특화는 Gaussian-Mixture-Model을 데이터 예들에 피팅하는 것과 같은 클러스터링 방법을 포함한 것에 의해 훈련될 수 있으며, 획득된 각 클러스터에 대해 별도의 변환을 훈련할 수 있다. 정렬된 후보 목록에 대한 이러한 가정 하에서, 선택된 변환을 알면 실제 잔차 신호의 특성에 대한 통찰력을 얻게 되고, 그에 따라 예상 계수 분포에 대한 통찰력을 얻게 된다. 특히, 작은 변환 인덱스들의 경우에는 낮은 신호 에너지가 예상되는데, 보다 특화된 변환을 사용하여 이득을 코딩하는 것으로 변환 인덱스의 높은 코딩 비용이 정당화될 수 없기 때문이다.
이는 변환 인덱스 자체에 따라 계수들을 코딩하기 위한 컨텍스트 모델을 도출함으로써 이용할 수 있다. 계수들의 레벨을 코딩하기 위해 Golomb-Rice 코드를 사용할 때, 실제 라이스 파라미터는 선택된 변환 인덱스에서 유도될 수도 있다.
일 실시예에 따르면, 인코더(10)는 인덱스를 사용하여, 선택된 변환을 시그널링하도록 구성될 수 있고, 이진화 및 이진 엔트로피 코딩을 사용하여, 선택된 변환의 변환 계수(134)의 값을 코딩함으로써 변환 계수들(134)을 코딩하도록 구성될 수 있으며, 여기서 이진 엔트로피 코딩에 사용되는 확률 추정이 인덱스에 의존하고/하거나 이진화가 인덱스에 의존한다.
각각의 디코더(20)는 인덱스를 사용하여, 선택된 변환을 유도시키도록 구성될 수 있고, 이진화 및 이진 엔트로피 디코딩을 사용하여, 선택된 변환의 변환 계수(134)의 값을 디코딩함으로써 변환 계수들(134)을 디코딩하도록 구성될 수 있으며, 여기서 이진 엔트로피 코딩에 사용되는 확률 추정이 인덱스에 의존하고/하거나 이진화가 인덱스에 의존한다.
인덱스는 가변 길이 코딩(VLC) 인덱스일 수 있다.
계수 코딩을 위해 선택된 변환으로부터의 정보를 이용하는 더 복잡한 실시예는 변환 계수들의 분산의 상관 관계에 의해 모델링될 수 있는 변환 계수들의 나머지 종속성이 있다고 가정한다. 두 개의 계수를 취하고 그들의 평균이 0이라고 가정하면, 분산의 상관 관계는, 계수들 중 하나가 크고 다른 계수의 확률 모델이 높은 분산을 갖도록 선택되고 따라서 두 번째 계수가 유의미할 확률도 증가한다는 것을 안다고 단순하게 가정한다. 이 가정된 분산 상관 관계 모델은, 변환이 주어지면 디코더에서 특정 상관 관계 모델이 가정되도록, 변환 훈련 과정에 포함될 수 있다. 실제 상관 관계 모델은 또한 다단계 변환의 실제 계수 위치 또는 하위 그룹에 종속될 수 있다. 하나의 특정 모델은 어느 계수들이 분산 상관 관계를 갖는 것으로 가정되는지와, 이 상관 관계가 얼마나 강한지를 정의한다. 이는 이미 디코딩된 계수들의 특정 계수 위치에 대해 컨텍스트 모델 선택을 적응시키는 데 사용될 수 있다. 보다 정확하게는, 특정 위치에 있는 계수를 디코딩할 때, 선택된 변환에 의해 그 위치에 대해 어떤 상관 관계 모델이 정의되었는지 확인한다. 이미 디코딩된 계수들이 해당 모델에 의해 제공된 에너지 상관 위치들 중에 있는 경우, 그 계수들의 레벨은 역시 그 모델에 의해 정의된 주어진 임계값과 비교되며, 유의성 플래그 및 현재 계수의 레벨을 디코딩하기 위한 특정 컨텍스트 모델 집합이 유도된다.
상기 언급된 상관 관계는 이웃하는 변환 계수들로부터 도출될 수 있다. 일 실시예로서, 인코더(10) 및 디코더(20)는, 선택된 변환의 변환 계수(134)의 값을 엔트로피 코딩을 사용하여 코딩함으로써 변환 계수들(134)을 코딩/디코딩하도록 구성될 수 있고, 여기서 엔트로피 코딩은 선택한 변환에 의존하는 방식으로 하나 이상의 이웃하는 변환 계수(134)에 의존한다.
또 다른 실시예로서, 인코더(10) 및 디코더(20)는 선택된 변환에 있어서의 변환 계수의 위치에 의존하는 방식으로 하나 또는 이웃하는 변환 계수들(134)의 로컬 템플릿을 선택함으로써 엔트로피 코딩을 사용하여 선택된 변환의 변환 계수(134)의 값을 코딩/디코딩으로써, 추가로, 하나 또는 이웃하는 변환 계수들(134)의 가능한 값의 도메인을 변환 계수(134)에 대한 하나 이상의 컨텍스트들의 세트로 매핑하는 매핑을 사용하여, 변환 계수들(134)에 대해 선택된 컨텍스트를 결정함으로써, 그리고 변환 계수(134)의 값을 엔트로피 코딩하기 위해 선택된 컨텍스트와 연관된 확률 추정을 사용함으로써, 변환 계수(134)를 코딩/디코딩하도록 구성될 수 있으며, 여기서 상기 로컬 템플릿의 선택 및 상기 매핑 중 적어도 하나는 선택된 변환에 의존한다.
하나의 구체적인 실시예는, 일차+이차 변환이 사용되고 어느 위치가 이차 변환을 거치는지를 디코더에서 이미 알고 있다고 가정한다. 또한, 두 개의 상이한 분산 상관 관계 모델이 가정되는데, 하나는 일차 전용 변환 계수들에 대한 것이고 다른 하나는 나머지 계수 위치들에 대한 것이다. 두 모델 모두에 4개의 컨텍스트 모델 세트와 3개의 임계값이 제공된다. 계수를 디코딩할 때, 먼저 두 컨텍스트 모델 그룹 중 어느 것이 현재 위치에 적용되는지 확인한다. 그 다음, 이미 디코딩된 마지막 4개의 계수 레벨의 평균을 취해서 임계값과 비교한다. 그 결과는 현재 계수를 디코딩하는 데 사용되는 컨텍스트 모델 세트를 고유하게 정의한다.
제공된 실시예들에 의해 알 수 있는 바와 같이, 선택된 변환에 대한 여러 가지 정보는 계수들의 디코딩 과정의 특정 부분에 유익할 수 있다. 이는 선택된 변환을 후보들 중에서 식별하는 데 필요한 정보를 특정 변환 속성들로 분할하는 동기를 부여하며, 계수 코딩으로 개별적으로 인터리브된 그 속성들을 시그널링하도록 하는 동기를 부여한다. 이렇게 함으로써, 이미 디코딩된 변환에 대한 정보를 사용하여 계수에 대한 정보를 디코딩할 수 있는 한편, 계수들에 대해 새로 획득한 정보를 사용하여 변환 후보 목록을 줄일 수 있고, 그 결과 선택된 후보를 식별하기 위해 시그널링해야 하는 정보는 덜 필요하게 된다.
어떤 변환 속성을 어떤 순서로 코딩해야 하는지 여부도 또한 목록 내의 사용 가능한 후보와, 이미 획득한 잔차 신호에 대한 정보에 따라 달라지며, 적응식으로 선택될 수 있다. 예를 들어, 디멘션 축소를 사용한 변환이 후보들 중에 있는 경우에만 변환 인덱스가 사전에 코딩된다. 또한, 마지막 위치의 적어도 하나의 좌표가 디코딩되자마자, 선택된 변환의 추가 디코딩은 해당 좌표에 따라 좌우될 수 있다. 이미 하나의 좌표에 대한 지식은, 잔차 신호에서 예상되며 예를 들어 가능한 유의미 위치들의 최대 개수를 계산함으로써 주어지는 최대 에너지에 대한 몇 가지 증거를 제공한다. 이 예상 값이 임계값을 초과하는 경우에만 변환 인덱스가 다음으로 디코딩되고, 두 번째 좌표의 디코딩은 선택된 변환의 구조에 따라 좌우될 수 있다.
이 실시예에 따르면, 인코더(10) 및 디코더(20)는 선택된 변환을 데이터 스트림(14)에서 시그널링하되, 변환 계수 데이터에 대한 선택된 변환의 시그널링의 상대 위치, 및/또는 시그널링의 구문 요소들로의 분해가 선택 가능한 변환 목록에 의존하도록 하는 방식으로, 시그널링하도록 도록 구성될 수 있다.
이와 달리, 유의미 위치들의 실제 개수가 알려지고 최소 계수의 제약 조건을 위반하자마자, 변환의 디코딩을 연기하거나 심지어 건너뛸 수도 있다.
어느 경우든지, 변환 인덱스가 변환 블록의 시작, 인터리브, 또는 끝에서 시그널링되는지에 상관없이, 선택된 변환에 대한 정보를 그의 속성들로 분할하여 그 속성들을 개별적으로 시그널링하는 것은, 이웃하는 변환 블록들 사이에 이러한 속성들의 종속성이 존재할 때 유용할 수 있다. 그 다음, 이러한 종속성은 각 변환 속성에 대한 전용 컨텍스트 모델 세트를 사용함으로써 활용될 수 있다. 그렇게 함으로써, 선택된 컨텍스트 모델들도 또한 이미 디코딩된 이웃하는 잔차 블록들의 선택된 변환들에 의존할 수 있다.
이 양태에 따르면, 도 13 및 도 14를 참조하면, 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로/으로부터 코딩/디코딩하며, 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원하는 인코더(10) 및 디코더(20)가 제공될 수 있다. 이 인코더(10) 및 디코더(20)는 변환 세트(94) 중에서 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)을 결정하고(122), 그 선택 가능한 변환 목록 중에서 하나의 선택된 변환을 사용하여 잔차 블록 내의 예측 잔차를 코딩/디코딩하도록 구성될 수 있다. 인코더(10)는 선택된 변환을 데이터 스트림(14)에서 변환 표시자(124)를 사용하여 시그널링(128)하도록 구성될 수 있고, 디코더(20)는 상기 변환 표시자(124)를 사용하여 데이터 스트림(14)으로부터 선택된 변환을 유도시키도록 구성될 수 있다. 상기 변환 표시자(124)는 하나 이상의 자릿수를 갖는 코드를 사용하여 데이터 스트림(14)에서 시그널링될 수 있으며, 상기 하나 이상의 자릿수들의 세트의 각 자릿수는 그 각각의 변환 속성과 고유하게 연관된다. 코드는 이진 산술 코딩을 거치는 변환 표시자(124)의 빈들, 또는 변환 표시자(124)를 구성하며 데이터 스트림(14)으로부터 파싱될 수 있는 구문 요소들을 포함할 수 있다.
일반적으로, 이웃하는 블록들의 이미 선택된 변환 후보들의 인덱스를 아는 것만으로는 현재 블록의 선택된 변환에 대한 통찰력이 많이 주어지지 않는다. 한 가지 예외는, 높은 인덱스가 높은 특화 또는 높은 잔차 에너지를 나타내도록 후보들이 정렬되는 것이다. 또한, 실제 선택된 이웃하는 변환들이 그들의 예측 모드에 대해 고도로 특화된 경우, 현재 후보들과의 비교는 후보들이 동일한 모드를 공유하는 경우에만 의미가 있다. 반면에, 예를 들어 DCT/DST 군 중에서 주로 변환이 이웃에서 선택되었다는 것을 알게 되면, 이 정보는 현재 변환이 동일한 군에서 나온 것인지 여부를 먼저 시그널링하고서 그에 따라 후보 목록을 줄임으로써 활용될 수 있다.
일 실시예에 따르면, 각 변환 속성은 선택된 변환이 다단계 변환인지 여부, 및 선택된 변환이 미리 결정된 개수의 변환 계수보다 적은 변환 계수를 갖는 변환인지 여부 중 하나일 수 있다.
선택된 후보의 코딩을 분할하는 것과, 변환 속성들을 시그널링함으로써 후보 목록을 단계별로 명시적으로 축소시키는 것의 또 다른 이점은 목록 내 각기 다른 후보들 간의 종속성을 활용하는 것을 단순화할 수 있다는 것이다. 예를 들어, 변환 인덱스의 이진화 및 컨텍스트 모델 편차는 목록 내 변환 후보들에 따라 다음과 같이 달라질 수 있다. 후보들 중 하나(바람직하게는 첫 번째 것)가 가장 높은 확률과 연관되어 있다고 가정하면, 이 변환이 사용되는지 아니면 목록에서 제거되는지를 나타내는 플래그가 먼저 코딩된다. 나머지 변환 후보들이 각기 다른 변환 분류인 경우, 변환 분류가 먼저 디코딩될 수 있다. 이는 나머지 변환 인덱스 시그널링에 대한 컨텍스트 모델 편차에 따라 달라지는 변환 분류를 허용한다.
가장 가능성이 있는 후보가 목록에서 첫 번째가 되게 하여 목록 내 (나머지) 후보들이 예상 확률과 관련하여 정렬되어 있다고 가정하면, 컨텍스트 모델링된 절단된 일진 코드를 사용하여 변환 인덱스를 이진화할 수 있다.
일 실시예에 따르면, 인코더(10) 및 디코더(20)는 이웃하는 잔차 블록의 변환 표시자(124)에 의존하는 확률 추정을 사용하는 엔트로피 코딩을 사용하여 적어도 하나의 자릿수의 세트 중 적어도 하나의 자릿수를 코딩/디코딩하도록 구성될 수 있다.
4.3.1 예시적인 실시형태들
이하에서는, 상기 일반화된 설명을 구체화하기 위해 구체적이지만 비제한적인 일부 실시예들이 하나 이상의 예시적인 실시형태에 의해 제공된다.
코딩 순서:
잔차 신호가 블록에 대해 코딩된 것으로 알려진 때, 이 경우에서는, 코딩 블록 플래그(CBF: Coding Block Flag)가 디코딩되고 1과 같을 때, 후보 목록으로의 인덱스가 먼저 디코딩되고 그 다음 실제 변환 계수가 디코딩된다.
잔차 신호가 블록에 대해 코딩된 것으로 알려진 때, 이 경우에서는, 코딩 블록 플래그(CBF)가 디코딩되고 1과 같을 때, 해당 블록의 모든 계수들이 먼저 디코딩될 수 있다. 후보 목록에 하나 이상의 변환이 있는 경우, 디코딩된 계수들로 위반한 모든 후보들이 제거된 후 후보 목록으로의 인덱스가 코딩될 수 있다.
잔차 신호가 블록에 대해 코딩된 것으로 알려진 때, 이 경우에서는, 코딩 블록 플래그(CBF)가 디코딩되고 1과 같으며, 후보 목록에 다른 일차 변환 분류들(예컨대, 분리 불가능한 변환 및 DCT/DST 군으로부터의 변환)이 있는 변환이 포함될 때, 일차 변환 분류가 먼저 디코딩될 수 있고, 후보 목록이 그에 따라 축소될 수 있다. 해당 블록의 모든 변환 계수들의 디코딩은 나중에 이루어질 수 있다. 후보 목록에 하나 이상의 변환이 있는 경우, 디코딩된 계수들로 위반한 모든 후보들이 제거된 후 후보 목록으로의 인덱스가 디코딩될 수 있다.
잔차 신호가 블록에 대해 코딩된 것으로 알려진 때, 이 경우에서는, 코딩 블록 플래그(CBF)가 디코딩되고 1과 같으며, 후보 목록에 일차 전용 변환과 일차+이차 변환이 포함된 때, 이차 변환이 적용되는지 여부가 먼저 시그널링될 수 있다. 해당 블록의 모든 변환 계수들의 디코딩은 나중에 이루어질 수 있다. 후보 목록에 하나 이상의 변환이 있는 경우, 디코딩된 계수들로 위반한 모든 후보들이 제거된 후 후보 목록으로의 인덱스가 디코딩될 수 있다.
잔차 신호가 블록에 대해 코딩된 것으로 알려진 때, 이 경우에서는, 코딩 블록 플래그(CBF)가 디코딩되고 1과 같으며, 후보 목록에 디멘션 축소가 있는 적어도 하나의 변환이 포함된 때, 디멘션 축소가 있는 변환이 사용되는지가 먼저 디코딩될 수 있다. 이 경우 하나 초과한 후보가 0으로 설정된 위치들이 다른 디멘션 축소 속성을 가진 경우, 어떤 위치가 0으로 설정되는지 고유하게 정의하기 위해 그 다음으로 인덱스가 시그널링될 수 있다. 해당 블록의 모든 변환 계수들의 디코딩은 나중에 이루어질 수 있다. 후보 목록에 하나 이상의 변환이 있는 경우, 디코딩된 계수들로 위반한 모든 후보들이 제거된 후 후보 목록으로의 인덱스가 디코딩될 수 있다.
잔차 신호가 블록에 대해 코딩된 것으로 알려진 때, 이 경우에서는, 코딩 블록 플래그(CBF)가 디코딩되고 1과 같을 때, 마지막 유의미 계수의 위치가 먼저 디코딩될 수 있다. 디멘션 축소가 있는 변환이 후보들 중에 있는 경우, 그 변환은 마지막 유의미 위치와 충돌하면 제거된다. 양자화 파라미터(QP)에 의존하여, 이차 변환이 수반되는 변환들도, 마지막 유의미 위치에 의해 제공될 수 있는 추가 변환된 계수들의 개수가 임계값보다 작은 경우에는, 제거되거나 또는 후보 목록에 다시 추가된다. 하나 초과의 변환 후보가 남은 때, 후보 목록으로의 인덱스가 디코딩될 수 있다. 계수들은 나중에 디코딩된다.
잔차 신호가 블록에 대해 코딩된 것으로 알려진 때, 이 경우에서는, 코딩 블록 플래그(CBF)가 디코딩되고 1과 같을 때, 모든 유의미 계수들의 위치들이 먼저 디코딩될 수 있다. 디멘션 축소가 있는 변환이 후보들 중에 있는 경우, 그 변환은 유의미 위치들과 충돌하면 제거될 수 있다. 양자화 파라미터(QP)에 의존하여, 이차 변환이 수반되는 변환들도, 마지막 유의미 위치에 의해 제공될 수 있는 추가 변환된 계수들의 개수가 임계값보다 작은 경우에는, 제거되거나 또는 후보 목록에 다시 추가될 수 있다. 하나 초과의 변환 후보가 남은 때, 후보 목록으로의 인덱스가 디코딩된다. 나머지 계수 레벨들과 부호들은 나중에 디코딩될 수 있다.
잔차 신호가 블록에 대해 코딩된 것으로 알려진 때, 이 경우에서는, 코딩 블록 플래그(CBF)가 디코딩되고 1과 같으며, 마지막 유의미 위치가 각기 다른 영역들에 있을 것으로 예상하는 증거를 각 분류가 제공하도록 후보 목록에 각기 다른 분류의 변환들이 포함된 때, 이 변환 분류가 먼저 디코딩되고, 그 다음 마지막 유의미 위치가 디코딩될 수 있다. 필요한 경우, 변환 인덱스가 그 다음으로 시그널링될 수 있고, 이에 이어 계수들이 시그널링될 수 있다. 예를 들어, 특히 높은 QP의 경우, 이차 변환이 수반되는 변환들은 마지막 위치가 이차 변환에 의해 추가로 변환되는 계수들의 영역 내에 있을 것으로 예상하는 증거를 제공한다.
변환 인덱스의 시그널링(SIGNALING TRANSFORM INDEX):
변환 인덱스는 절단된 일진 코드를 사용하여 코딩될 수 있으며, 여기서 각 빈은 전용 컨텍스트 모델을 사용할 수 있다. 나머지 변환 후보들의 개수에 따라, 다른 컨텍스트 모델 세트가 사용될 수 있다.
변환 인덱스는 절단된 일진 코드를 사용하여 코딩될 수 있으며, 여기서 각 빈은 전용 컨텍스트 모델을 사용할 수 있다. 각 빈에 대한 컨텍스트 모델 선택은 이웃하는 잔차 블록들의 변환 결정에 의존할 수 있다. 나머지 변환 후보들의 개수에 따라, 절단된 일진 코드의 각 빈에 대한 k개의 컨텍스트 모델들로 구성된 컨텍스트 모델 세트가 선택될 수 있다. 이웃하는 블록들의 변환 인덱스들이 합산될 수 있으며, 그 합은 사용할 실제 컨텍스트 모델을 정의하는 k-1개의 임계값들과 비교될 수 있다.
변환 인덱스는 첫 번째 후보가 선택되었는지를 나타낼 수 있는 플래그를 먼저 코딩함으로써 코딩될 수 있다. 이 플래그에 대한 컨텍스트 모델 선택은 이웃하는 잔차 블록들의 변환 결정에 의존할 수 있다. 나머지 변환 후보들의 개수에 따라, k개의 컨텍스트 모델들로 구성된 컨텍스트 모델 세트가 선택될 수 있다. 이웃하는 블록들의 변환 인덱스들이 합산될 수 있으며, 그 합은 사용할 실제 컨텍스트 모델을 정의하는 k-1개의 임계값들과 비교될 수 있다. 인덱스의 나머지 부분은 고정 길이 코드에 의해 코딩될 수 있다.
변환 인덱스는 첫 번째 후보가 선택되었는지를 나타내는 플래그를 먼저 코딩함으로써 코딩된다. 그렇지 않으면 나머지 부분에 고정 길이 코드가 사용될 수 있다. 플래그는 잔차 블록의 크기에 의해 선택된 전용 컨텍스트 모델을 사용하여 코딩될 수 있다.
블록들로의 분할이 변환 블록(TU)들로 더 분할될 수 있는 코딩 단위(CU)들로의 분할을 포함하고, 적어도 하나의 잔차는 그의 코딩 블록 플래그가 1이 되도록 코딩될 수 있으면, 하나의 추가 플래그가 CU 레벨에서 코딩될 수 있다. 이 플래그가 0이면, 모든 잔차 블록들이 그들의 목록에서 첫 번째 후보를 취할 수 있다. 그렇지 않으면, 각 목록의 첫 번째 후보가 목록의 끝에 놓일 수 있고, 각 잔차 블록에 대한 변환 인덱스가 코딩될 수 있다.
변환 후보들의 개수는 5일 수 있다. 첫 번째 후보가 선택되었는지를 나타내는 플래그가 먼저 코딩될 수 있다. 그렇지 않으면, 두 번째 또는 세 번째 후보가 선택되었음을 나타내는 제2 플래그가 코딩될 수 있다. 최종 결정은 제3 플래그에 의해 코딩될 수 있다. 모든 플래그는 전용 컨텍스트 모델을 사용하여 코딩될 수 있다.
변환 인덱스는 첫 번째 후보가 선택되었는지를 나타내는 플래그를 먼저 코딩함으로써 코딩될 수 있다. 나머지 변환 후보들이 각기 다른 변환 분류들과 연관되어 있는 경우, 절단된 일진 코드가 변환 분류를 코딩하는 데 사용될 수 있다. 여기서, 일차 전용 변환은 하나의 분류를 형성할 수 있고, 일차 + 이차 변환은 제2 분류를 형성할 수 있다. 마지막으로, 필요한 경우, 변환 분류에 따라 설정된 전용 컨텍스트 모델을 활용함으로써, 절단된 일진 코드가 나머지 인덱스를 코딩하는 데 사용될 수 있다.
변환 인덱스는 첫 번째 후보가 선택되었는지를 나타내는 플래그를 먼저 코딩함으로써 코딩된다. 나머지 변환 후보들이 각기 다른 변환 분류들과 연관되어 있는 경우, 절단된 일진 코드가 변환 분류를 코딩하는 데 사용될 수 있다. 여기서, 일차 전용 변환은 하나의 분류를 형성할 수 있고, 일차 + 이차 변환은 제2 분류를 형성할 수 있다. 컨텍스트 모델은 이미 디코딩된 이웃하는 변환들의 변환 분류의 발생을 카운트함으로써 선택될 수 있다. 제1 분류가 더 자주 발생하면 제1 컨텍스트 모델이 사용될 수 있고, 제2 분류가 더 자주 발생하면 제2 컨텍스트 모델이 사용될 수 있으며, 각 분류의 개수가 같으면 제3 컨텍스트 모델이 사용될 수 있다. 마지막으로, 필요한 경우, 이미 디코딩된 변환 분류에 따라 설정된 전용 컨텍스트 모델을 활용함으로써, 절단된 일진 코드가 나머지 인덱스를 코딩하는 데 사용될 수 있다.
변환 인덱스는 첫 번째 후보가 선택되었는지를 나타내는 플래그를 먼저 코딩함으로써 코딩된다. 나머지 변환 후보들이 각기 다른 변환 분류들과 연관되어 있는 경우, 절단된 일진 코드가 변환 분류를 코딩하는 데 사용될 수 있다. 여기서, DCT/DST 군 중에서의 변환들은 제1 분류를 형성하고, 분리 불가능한 일차 전용 변환은 제2 분류를 형성하고, 일차 + 이차 변환은 제3 분류를 형성한다. 마지막으로, 필요한 경우, 변환 분류에 따라 설정된 전용 컨텍스트 모델을 활용함으로써, 절단된 일진 코드가 나머지 인덱스를 코딩하는 데 사용될 수 있다.
마지막 유의미 위치의 하나의 좌표가 이미 디코딩되었고 그 좌표가 적어도 2개인 경우, 변환 인덱스는 다음으로 디코딩될 수 있고, 그렇지 않으면, 변환 인덱스의 디코딩(필요한 경우)는 계수들이 이미 알려져 있고 후보 목록이 이미 축소된 때에 마지막 단계로 연기될 수 있다. 마지막 위치의 제2 좌표가 디코딩된 때 변환이 이미 알려져 있고, 변환이 일차 + 이차 변환인 경우, 절단된 일진 코드 부분에 대한 컨텍스트 모델 선택은, 이차 변환의 영역에 속하는 위치들과 연관된 빈들이 그 외의 것들이 아닌 각기 다른 컨텍스트 모델 세트를 사용할 수 있다.
계수 코딩을 위한 컨텍스트 모델 편차(CONTEXT MODEL DEVIATION FOR COEFFICIENT CODING):
(도 13, 도 14, 도 15 참조)
후보 목록으로의 변환 인덱스가 잔차 신호의 예상 에너지와 직접적으로 관련이 있다고 가정하므로, 그 변환 인덱스는 마지막 유의미 위치를 코딩하기 위한 컨텍스트 모델 선택에 사용된다. 각 변환 인덱스 값은 그 자신의 전용 컨텍스트 모델 세트를 정의한다.
후보 목록으로의 변환 인덱스가 잔차 신호의 예상 에너지와 직접적으로 관련이 있다고 가정하므로, 그 변환 인덱스는 마지막 유의미 위치를 코딩하기 위한 컨텍스트 모델 선택에 사용된다. 변환 인덱스 0과 1에는 전용 컨텍스트 모델 세트가 있고, 나머지 인덱스들은 하나의 컨텍스트 모델 세트를 공유한다.
변환 분류가 이미 알려진 경우, 계수 코딩은 각 변환 분류에 대해 전용 컨텍스트 모델 세트를 사용한다. 전용 컨텍스트 모델 세트가 있는 가능한 변환 분류는 DCT/DST 군 중에서의 변환들과, 분리 불가능한 변환이다.
계수 위치들의 분할이 변환에 의해 정의되고 분할이 이미 알려진 경우, 계수 코딩은 각 하위 그룹에 대한 전용 컨텍스트 모델 세트를 사용한다. 하나의 가능한 분할은 이차 변환에 의해 추가로 변환되는 계수에 의해 제공된다. 또 다른 분할은 다음 변환 스테이지들의 개수에 의해 제공된다.
정의된 각 변환은 하나의 컨텍스트 모델 세트와 연관되며 디코더에 의해 알려진다.
변환이 이미 고유하게 식별된 경우, 변환에서 컨텍스트 모델 세트로의 매핑은 계수 디코딩에 사용되는 컨텍스트 모델 세트를 유도시키는 데 사용된다.
계수 코딩이 이미 디코딩된 계수들에 기초한 컨텍스트 모델 선택을 포함하는 경우, (이미 알려진) 계수 레벨들은 상대 위치에 따라 가중되고 누적된다. 실제 사용된 컨텍스트 모델 세트는 합계를 미리 정의된 임계값과 비교하여 선택된다. 사용된 가중치들과 임계값들은 선택된 변환에 의해 제공된다.
특수 코딩 모드
목록 내의 첫 번째 후보가 사용되는지가 먼저 코딩될 수 있고, 그렇지 않으면, 나머지 변환 후보들 중 적어도 하나가 디멘션 축소를 사용한 변환인지 여부가 확인될 수 있다. 이 경우, 선택된 변환이 이러한 변환들 중 하나인지가 코딩될 수 있다. 이에 해당하는 경우이고 다른 모든 후보들이 목록에서 제거된 경우, 나머지 변환들이 명시적으로 0으로 설정된 그들의 위치에서 다른지 여부를 확인할 수 있다. 필요한 경우, 어떤 디멘션 축소가 선택되었는지를 고유하게 식별하는 인덱스가 시그널링될 수 있다. 따라서, 여전히 하나 초과의 후보가 남아 있더라도, 어떤 계수 위치들이 유의미한 것으로 남아 있을 수 있는지가 정확히 알려진다. 필요한 경우, 계수들이 디코딩된 후, 선택된 변환에 대한 인덱스가 디코딩될 수 있다.
디멘션 축소가 있는 변환이 사용되고 명시적으로 0으로 설정된 위치가 이미 알려진 경우, 마지막 유의미 계수 위치의 시그널링은 건너뛸 수 있다. 계수들의 스캔 순서가 주어지면, 마지막 위치는, 유의미한 것일 수 있고 스캔 순서에서 마지막일 수 있는 위치로 설정될 수 있다. 이 경우, 유의미 플래그는 마지막 위치에 대해서도 시그널링되어야 한다.
디멘션 축소가 있는 변환이 사용되고, 변환에 의해 명시적으로 0으로 설정된 위치들이 이미 알려진 경우, 나머지 계수 그룹 유의미 플래그들은 모두 1로 설정될 수 있으므로 코딩할 필요가 없다.
디멘션 축소가 있는 변환이 사용되고, 0으로 설정된 위치를 알고 있는 경우, 전용 컨텍스트 모델 세트가 나머지 계수들을 디코딩하는 데 사용될 수 있다.
디멘션 축소가 있는 변환이 사용되고, 0으로 설정된 위치를 알고 있는 경우, 전용 컨텍스트 모델 세트가 블록 내 마지막 계수 위치를 디코딩하는 데 사용될 수 있다.
디멘션 축소가 있는 변환이 사용된 경우, 계수 레벨들을 코딩하기 위한 라이스 파라미터의 전용 편차가 사용될 수 있다.
디멘션 축소가 있는 변환이 사용된 경우, 이웃하는 계수들에 기초하여 컨텍스트를 선택하기 위한 전용 템플릿을 사용할 수 있다.
모든 실시형태들은 예측 모드 및 QP에 따라 좌우될 수 있다.
5. 0으로 설정되는 일차 변환
4.1절에서는 일반적인 설명이 제공되었는데, 이하에서는 하나 이상의 일차 전용 계수가 제로화되는, 즉 0으로 설정되는 몇몇 실시예들이 제공된다(아래의 5.1절 참조). 특정 위치들에 있는 하나 이상의 계수가 제로화되는, 즉 0으로 설정되는 또 다른 실시예들이 제공된다(아래의 5.2절 참조). 제로화될 가능성이 있는 계수는 제로화 '후보'라고 칭하기도 한다.
일반적으로, 도 12를 참조하면, 본 발명의 이 양태는 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로/으로부터 코딩/디코딩하며, 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원하는 인코더(10) 및 디코더(20)를 제공한다. 인코더(10) 및 디코더(20)는 현재 잔차 블록(84)의 크기(96), 예를 들어 높이 및 폭에 기초하여 변환 세트(94) 중에서 현재 잔차 블록(84)에 대한 변환의 변환 후보 목록(98)을 결정하도록(122) 구성될 수 있다. 인코더(10)는 선택 가능한 변환 후보 목록(98) 중 하나의 선택된 변환(102)을 사용하여 현재 잔차 블록(84) 내의 예측 잔차(100)를 코딩하고, 선택된 변환(102)을 데이터 스트림(14)에서 선택적으로 시그널링하도록 구성될 수 있다. 다음으로, 디코더(20)는 선택 가능한 변환 후보 목록(98) 중에서 하나의 선택된 변환(102)의 도메인에서 현재 잔차 블록(84) 내의 예측 잔차(100)를 디코딩하되 선택된 변환(102)을 데이터 스트림(14)으로부터 유도하면서 디코딩하도록 구성될 수 있다.
5.1 일차 전용 계수의 제로화
일차 및 이차 변환을 포함하는 다단계 변환을 갖는 경우, 일차 전용 변환 계수(즉, 더 이상 변환되지 않는 계수)가 0으로 설정된다.
a. 이차 변환은 전체 크기 변환이다.
b. 이차 변환은 디멘션 축소(가능한 유의미 계수들의 개수가 더 감소됨)가 있는 변환이다.
예를 들어, 폭과 높이가 8 이상인 잔차 블록에 대한 일차 (분리 가능한) 변환(예를 들어, [DCT-II, DCT-II])을 포함하는 변환 후보를 갖는 경우, (8x8) 입력 크기의 이차 변환과 결합된 이 변환도 후보가 될 수 있다. 이차 변환을 적용한다는 것은 이차 변환에 의해 더 이상 변환되지 않는 계수들 모두가 강제로 0이 되게 한다는 것을 의미한다.
예를 들어, 폭 또는 높이(둘 다는 아님)가 4 이상인 잔차 블록에 대한 일차 (분리 가능한) 변환(예를 들어, [DCT-II, DCT-II]...)을 포함하는 변환 후보를 갖는 경우, (4x4) 입력 크기의 이차 변환과 결합된 이 변환도 후보가 될 수 있다. 이차 변환을 적용한다는 것은 이차 변환에 의해 더 이상 변환되지 않는 계수들 모두가 강제로 0이 되게 한다는 것을 의미한다.
예를 들어, 폭과 높이가 8 이상인 잔차 블록에 대한 일차 (분리 가능한) 변환(예를 들어, [DCT-II, DCT-II])을 포함하는 변환 후보를 갖는 경우, 3개의 (4×4) 크기의 좌측/최상단 계수 하위 그룹들에 적용된, 입력 디멘션이 48이고 출력 디멘션이 16인 이차 변환과 결합된 이 변환도 후보가 될 수 있다. 이차 변환을 적용한다는 것은 이차 변환에 의해 더 이상 변환되지 않는 계수들 모두가 강제로 0이 되도록 한다는 것을 의미하고, 따라서 추가로 이차 변환은 16개의 계수로 디멘션 축소된 변환이므로 마지막 유의미 계수 위치는 (3,3)이다.
5.2 특정 위치에 있는 계수의 제로화
일차 및 이차 변환을 포함하는 다단계 변환을 갖는 경우, X > Tx 또는 Y > Ty인 위치들을 갖는 계수들을 0으로 설정한다(예를 들어, Tx = Ty = 8).
a. 이차 변환은 전체 크기 변환이다.
b. 이차 변환은 디멘션 축소(가능한 유의미 계수들의 개수가 더 감소됨)가 있는 변환이다.
도 17은 일차 변환을 거쳤고 소정의 크기를 갖는, 즉 8보다 큰 폭 및 높이를 갖는 잔차 블록의 일 실시예를 보여주고 있다. 따라서, 복수의 일차 계수(114)를 갖는 하위 그룹(112)이 존재할 수 있다. 이 실시예에서, 하위 그룹(112)은 4x4 크기의 일차 계수들(114)을 포함할 수 있다. 여기에는 3개의 4x4 크기의 좌측/최상단 계수 하위 그룹들이 도시되어 있다. 따라서, 이들 3개의 하위 그룹(112)은 함께 48개의 일차 계수들(114)을 포함한다. 이 계수들은 48x16 디멘션의 이차 변환(110)을 거칠 수 있다. 즉, 이 계수들은 48에서 16으로 축소되며, 여기서 일부 일차 계수들은 제로화를 위한 후보일 수 있다.
예를 들어, 폭과 높이가 8 이상인 잔차 블록에 대한 일차 (분리 가능한) 변환(예를 들어, [DCT-II, DCT-II])을 포함하는 변환 후보를 갖는 경우, 3개의 (4×4) 크기의 좌측/최상단 계수 하위 그룹들(112)에 적용된, 디멘션이 (48×16)인 이차 변환과 결합된 이 변환도 후보가 될 수 있다. 이차 변환을 적용한다는 것은 마지막 유의미 계수 위치가 최대(7,7)에 있을 수 있고 그래서 나머지 일차 전용 계수들(해칭선)은 0으로 설정된다는 것을 의미한다.
예를 들어, 폭과 높이가 8 이상인 잔차 블록에 대한 일차 (분리 가능한) 변환(예를 들어, [DCT-II, DCT-II])을 포함하는 변환 후보를 갖는 경우, 3개의 (4×4) 크기의 좌측/최상단 계수 하위 그룹들에 적용된, 디멘션이 (48×16)인 이차 변환과 결합된 이 변환도 후보가 될 수 있다. 이차 변환을 적용한다는 것은 마지막 유의미 계수 위치가 최대(3,3)에 있을 수 있고 그래서 나머지 일차 전용 계수들은 0으로 설정된다는 것을 의미한다.
1 + 2에 대한 시그널링
a) 먼저 선택된 일차 변환 및 계수들을 시그널링한다. 이차 변환이 사용된 변환 후보에 의해 제공되는 제약 조건을 검증하는 위치들에서의 계수들이 유의미하면(0이 아님), 이차 변환은 사용되지 않았으므로 후보 목록에서 제거할 수 있으며 추가 시그널링이 필요하지 않다는 것이 분명하다.
b) 대응하는 일차+이차 변환이 후보 중에 있으면, 선택된 일차 변환을 먼저 시그널링하고, 이차 변환이 적용되었는지를 시그널링한다. 이차 변환이 적용된 경우, 전용 컨텍스트 모델 세트를 잠재적으로 사용하여, 최대 허용 마지막 위치를 그에 따라 설정하고, 마지막 위치를 시그널링하고, 그 다음 나머지 계수 정보를 시그널링한다.
종래 기술과 대비되는 신규 사항:
c) 이차 변환 플래그/인덱스를 마지막 위치 전에/마지막 위치와의 인터리브에서 시그널링한다.
d) 최소 유의미 위치(명시적 lastPosX + lastPosY > = T, 예를 들어, 1 또는 2)의 개수 대신 마지막 위치에 의한 변환 제약 조건을 시그널링한다.
e) 계수 시그널 플래그의 컨텍스트 모델링이 이차 변환 플래그에 의존한다.
따라서, 인코더(10) 및 디코더(20)는 변환 후보 목록의 변환이 코도메인에서 일치하도록, 즉 변환 계수들의 개수 및 배열이 동일하게끔 변환 후보 목록을 결정하도록 구성될 수 있다.
변환 후보 목록의 변환들은 코도메인에서 일치하는, 즉 변환 계수의 개수 및 배열이 동일한, 제1 변환 및 제2 변환을 포함할 수 있다. 제2 변환은 제1 변환(108)의 일차 변환 계수들(114)의 하위 그룹(112)에 적용되는 이차 변환에 대응하며, 이와 동시에 제1 변환(108)의 일차 변환 계수들(114)의 하위 그룹(112) 밖의 제1 변환(108)의 또 다른 일차 변환 계수들은 0으로 설정된다.
이 경우, 인코더(10)는 제1 변환(108)의 일차 변환 계수들의 하위 그룹(112) 밖의 제1 변환(108)의 또 다른 일차 변환 계수들(114)을 0으로 설정함으로써 현재 잔차 블록을 제2 변환에 대해 시험 코딩하도록 구성된다.
추가적으로 또는 대안적으로, 인코더(10) 및 디코더(20)는, 현재 잔차 블록의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환(108)의 일차 변환 계수들(114)의 하위 그룹(112)에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환(106)을, 변환 후보 목록에 채우거나 또는 변환 후보 목록에서 제외시켜서, 선택된 변환(102)의 변환 계수들의 하위 그룹(138)이 생성되도록 할지 여부를 결정하거나, 또는 변환 후보 목록에서, 유의미 변환 계수들이 변환 계수 데이터(126)에 따라 배치되는 위치 여하에 따라 적어도 하나의 다단계 변환(106)이 배치되는 곳을 결정하도록 구성될 수 있다.
추가적으로 또는 대안적으로, 인코더(10) 및 디코더(20)는, 현재 잔차 블록의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환(108)의 일차 변환 계수들(114)의 하위 그룹(112)에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환(106)을, 변환 후보 목록에 채우거나 또는 변환 후보 목록에서 제외시켜서, 선택된 변환(102)의 변환 계수들의 하위 그룹(138)이 생성되도록 할지 여부를 결정하거나, 또는 변환 후보 목록에서, 변환 계수들의 하위 그룹(138) 밖의 임의의 변환 계수가 변환 계수 데이터(126)에 따라 유의미해지는지 여하에 따라 적어도 하나의 다단계 변환(106)이 배치되는 곳을 결정하도록 구성될 수 있다.
추가적으로 또는 대안적으로, 인코더(10) 및 디코더(20)는 이진화 및 이진 엔트로피 코딩을 사용하여, 선택된 변환의 변환 계수의 값을 코딩/디코딩함으로써 변환 계수들을 코딩/디코딩하도록 구성될 수 있으며, 여기서 이진 엔트로피 코딩에 사용되는 확률 추정은 선택된 변환에 의존하고/하거나 이진화는 선택된 변환에 의존한다.
선택된 변환에 대한 상기 종속성은 선택된 변환이 다단계 변환인지 여부에 대한 종속성일 수 있다.
또한 추가적으로 또는 대안적으로, 인코더(10) 및 디코더(20)는, 현재 잔차 블록(84)의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환(106)의 일차 변환 계수들(114)의 하위 그룹(112)에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환(106)을, 변환 후보 목록(98)에 채우거나 또는 변환 후보 목록(98)에서 제외시켜서, 선택된 변환(102)의 변환 계수들의 하위 그룹(138)이 생성되도록 할지 여부를 결정하거나, 또는 변환 후보 목록(98)에서, 변환 계수들의 하위 그룹(112) 내에 있지만 변환 계수들의 하위 그룹(138) 밖에 있는 임의의 변환 계수가 변환 계수 데이터(126)에 따라 유의미해지는지 여하에 따라 적어도 하나의 다단계 변환(106)이 배치되는 곳을 결정하도록 구성될 수 있다.
또한 추가적으로 또는 대안적으로, 인코더(10) 및 디코더(20)는, 현재 잔차 블록(84)의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환(106)의 일차 변환 계수들(114)의 하위 그룹(112)에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환(106)을 변환 후보 목록(98)에 채우거나 또는 변환 후보 목록(98)에서 제외시켜서, 현재 잔차 블록(84)의 예측 잔차(100) 내 잔차 샘플들보다 개수가 더 적으며, 변환 계수 위치에서, 일차 변환과 동일한 변환 후보 목록(98) 내 또 다른 변환의 변환 계수들의 서브세트(138)에 대응하는, 다단계 변환(106)의 변환 계수들이 생성되도록 할지 여부를 결정하도록 구성될 수 있고, 여기서 일차 변환(106)의 일차 변환 계수들(114)은 현재 잔차 블록(84)의 예측 잔차(100) 내 샘플들(105)과 동일하거나, 또는 일차 변환(106)의 일차 변환 계수들(114)은 다단계 변환(106)의 변환 계수들보다 개수가 더 많다. 추가적으로 또는 대안적으로, 인코더(10) 및 디코더(20)는, 변환 후보 목록(98)에서, 적어도 하나의 다단계 변환(106)이 상기 또 다른 변환과 관련되어 배치되되,
a) 유의미 변환 계수가 변환 계수 데이터(126)에 따라 배치되는 위치에 의존하거나, 또는
b) 유의미 변환 계수가 변환 계수 데이터(126)에 따라 변환 계수들의 하위 그룹(138) 밖에 배치되는지 여부에 의존하거나, 또는
c) 유의미 변환 계수가 변환 계수 데이터(126)에 따라 일차 변환 계수들(114)의 하위 그룹(112) 밖에 배치되는지 여부에 의존하여 배치되는 곳을 결정하도록 구성될 수 있다.
도 8, 도 18, 및 도 19를 참조하여 몇 가지 실시예를 설명한다.
예를 들어, 전술한 바와 같이, 시그널링은 유의미 변환 계수 위치(132)에 의존할 수 있다. 도 18 및 도 19는 변환 계수(114, 134)와, 변환 계수(114, 134)의 하위 그룹(112,138)을 디코더 관점에서 예시적으로 도시하고 있다.
도 18은 제로화가 행해지는 다단계 변환의 한 가지 비제한적인 예를 도시하는 것으로, 여기서 일차 변환은 이차 변환 계수들(134)의 이차 하위 그룹(138)으로 이를 수 있는 이차 변환을 거칠 수 있는 일차 변환 계수들(114)의 일차 하위 그룹(112)으로 이를 수 있다. 일부 일차 변환 계수(114) 및/또는 일부 이차 변환 계수(134)는, 예를 들어 유의 변환 계수 위치들(132)에 기초하여, 제로화될 수 있다.
예를 들어, 도 18에 도시된 바와 같이, 이차 하위 그룹(138) 밖의 변환 계수들(134)과 그에 따른 일차 하위 그룹 (138) 밖의 변환 계수들(114)은 이차 변환이 적용될 수 있는 경우 0이 될 수 있다.
도 19는 이차 변환 계수들(134)이 제로화될 수 있는 또 다른 실시예를 도시하는 것으로, 이 도면도 디코더 관점에서 보는 것이다. 윤곽이 표시된 8x8 영역은 위에서 설명된 바와 같이 일차 변환 계수들(114)의 일차 하위 그룹(112)을 나타낸다. 교차 해칭선(최초 출원에서는 녹색)으로 표시된 영역 내의 변환 계수는 일차 전용 변환 계수를 나타낼 수 있다. 좌측 상단에서 우측 하단으로의 해칭선(최초 출원에서는 청색)으로 표시된 영역 내의 변환 계수는 이차 변환이 적용된 경우 0이어야 하는 변환 계수 위치를 나타낼 수 있다. 결국, 이것이 의미하는 바는, 좌측 상단에서 우측 하단으로 해칭된 영역(청색)에 유의미(0이 아닌 값) 계수들이 있는 경우, 디코더(20)는 이차 변환을 수행할 필요가 없는 것으로 안다는 것인데, 그렇지 않으면 그 위치들은 이차 변환으로 인해 0이어야 하기 때문이다. 따라서, 인덱스를 시그널링할 필요가 없다.
시그널링과 관련하여, 위에서 언급된 바와 같은 일부 실시예들은 시그널링 (예를 들어, 인덱스)이 필요한지 또는 생략될 수 있는지 여부가 유의미 계수 위치들(132)로부터 유도될 수 있는 것을 허용한다. 그러나, 일부 실시예는 시그널링이 유의미 계수 위치들(132)에 의존하지 않을 수 있지만 인덱스가 항상 시그널링될 수 있는 가능성을 제공할 수 있다. 후자의 경우, 이차 변환이 일차 하위 그룹(112)(예를 들어, 도 19)에 적용되었다면, 일차 하위 그룹(112) 밖의 일차 변환 계수들(114)은 0이어야 한다.
따라서, 디코더(20)는 일차 변환 및 이차 변환을 갖는 다단계 변환을 적용하도록 구성될 수 있으며, 여기서 일차 변환은 일차 하위 그룹(112)의 디멘션까지만의 제로화가 수반되어 구현될 수 있다. 즉, 가로 방향 및 세로 방향 일차 변환 모두는 예를 들어 하기와 같이 8x8(일차 하위 그룹 (112)) 및 16x16 변환 블록에 대해서 제로화가 수반되어 구현될 수 있다:
nonZeroW = 8, 단, 블록이 이차 변환 인덱스 세트를 갖는 경우임;
그 밖에는 16임.
nonZeroH = 8, 단, 블록이 이차 변환 인덱스 세트를 갖는 경우임;
그 밖에는 16임.
5.3 변환 후보 목록의 축소/이차 변환 적용의 제한
최소 마지막 위치(Minimum Last Position):
CBF 플래그가 설정된 경우:
a. 마지막 위치가 적어도 (예: X+Y > T, 마지막 위치! = (0,0))인지를 먼저 시그널링한다(대략적인 시그널링을 통해).
b. 최대인 위치(즉, T까지 정확한 위치, 따라서 정확히 알려졌거나, 또는 T 또는 > T)를 먼저 시그널링한다.
이차 변환에 대한 조건이 충족되면, 이차 변환/디멘션 축소가 있는 변환이
a. 디멘션 축소가 있는 변환(강제로 0이 되게 한 디멘션 축소 일차 변환이 있는 이차 변환)인지를 시그널링하고, 필요한 경우, 강제로 0이 되게 한 위치들에 따라 최대 마지막 위치를 설정하면서 정확한 마지막 위치를 아래와 같이 하여 코딩(= 정교화)한다.
I. 유의미 위치 코딩을 위한 컨텍스트 모델을 적응시킴.
II. grX 코딩을 위한 컨텍스트 모델을 적응시킴.
III. 골롬 라이스 파라미터를 적응시킴.
그 밖에, 제로화를 추론하지 않을 수 있고, 필요한 경우에는 정확한 마지막 위치를 계속 코딩한다.
따라서, 도 13 내지 도 16을 참조하면, 인코더(10) 및 디코더(20)는 선택된 변환(102)의 유의미 변환 계수 위치(132)의 표시의 대략적인 버전을 코딩/디코딩하도록 구성될 수 있다. 후보 목록(98)이 다단계 변환을 포함하지 않는 경우, 정확한 마지막 위치, 즉 상기 표시의 대략적인 버전의 정교화 버전(refinement)이 코딩될 수 있고, 모든 계수가 코딩/디코딩된다(도 16, 사례 B). 후보 목록(98)이 다단계 변환을 포함하는 경우, 실제 변환이 다단계 변환인지 추가로 결정될 수 있다. 그렇다면, 정확한 마지막 위치, 즉 상기 표시의 대략적인 버전의 정교화 버전이 코딩될 수 있고, 일차 변환 계수들(112)만 코딩/디코딩된다(도 16, 사례 A). 그렇지 않다면, 정확한 마지막 위치, 즉 상기 표시의 대략적인 버전의 정교화 버전이 코딩될 수 있고, 모든 계수가 코딩/디코딩된다.
따라서, 인코더(10) 및 디코더(20)는 선택된 변환(102)을 데이터 스트림(14)에서/으로부터 시그널링(128)하기/유도시키기 이전에 상기 표시의 대략적 버전을 데이터 스트림(14)으로/으로부터 코딩/디코딩하도록 구성될 수 있으며, 여기서 상기 선택 가능한 리스트(98)의 결정(130)은 상기 표시의 대략적 버전에 의존한다. 인코더(10) 및 디코더(20)는 또한, 상기 시그널링/유도에 후속해서, 선택된 변환(102)에 의존하여, 상기 표시의 대략적 버전의 정교화 버전을 데이터 스트림(14)으로/으로부터 코딩/디코딩하도록 구성될 수 있다.
추가적으로 또는 대안적으로, 인코더(10) 및 디코더(20)는 유의미 변환 계수 위치(132)가 변환 계수들의 하위 그룹(138) 내에 있는지 여부를 나타내는 힌트를 상기 대략적 버전으로서 코딩/디코딩하도록 구성될 수 있다. 인코더(10) 및 디코더(20)는 또한, 유의미 변환 계수 위치(132)가 하위 그룹(138) 내에 있는 경우에는 유의미 변환 계수 위치(132)를 하위 그룹(138) 내의 위치들 중에서 구별하며 유의미 변환 계수 위치(132)가 하위 그룹(138) 밖에 있는 경우에는 유의미 변환 계수 위치(132)를 하위 그룹(138) 밖의 위치들 중에서 구별하는 상대 위치 정보를 상기 정교화 버전으로서 코딩/디코딩하도록 구성될 수 있다.
또한 추가적으로 또는 대안적으로, 상기 힌트가 유의미 변환 계수 위치(132)가 하위 그룹(138) 내에 있음을 나타내는 경우, 인코더(10) 및 디코더(20)는 선택 가능한 변환 후보 목록(98)이 현재 잔차 블록의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환(106)의 일차 변환 계수들(114)의 하위 그룹(112)에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환(106)을 포함함으로써, 선택된 변환(102)의 변환 계수들의 하위 그룹(138)이 생성되게끔, 그 선택 가능한 목록을 결정하도록 구성될 수 있다. 상기 힌트가 유의미 변환 계수 위치(132)가 하위 그룹(138) 내에 있지 않음을 나타내는 경우, 인코더(10) 및 디코더(20)는 선택 가능한 변환 후보 목록(98)이 적어도 하나의 다단계 변환(106)을 포함하지 않게끔 그 선택 가능한 목록을 결정하도록 구성될 수 있다.
상기 힌트가 유의미 변환 계수 위치(132)가 하위 그룹(138) 내에 있음을 나타내는 경우, 인코더(10) 및 디코더(20)는 가변 길이 코딩(VLC)을 사용하여 상대 위치 정보를 하위 그룹(138) 내의 계수들의 개수에 대응하는 제1 최대 개수의 코드로 코딩/디코딩하도록 구성될 수 있다. 상기 힌트가 유의미 변환 계수 위치(132)가 하위 그룹(138) 내에 있지 않음을 나타내는 경우, 인코더(10) 및 디코더(20)는 하위 그룹(138) 밖의 계수들의 개수에 대응하는 제2 최대 개수의 코드들을 코딩/디코딩하도록 구성될 수 있다.
상기 힌트가 유의미 변환 계수 위치(132)가 하위 그룹(138) 내에 있음을 나타내는 경우, 인코더(10) 및 디코더(20)는 선택된 변환이 적어도 하나의 다단계 변환(106) 중에 있는지 여부를 나타내고 그리고/또는 적어도 하나의 다단계 변환(106) 중에서 어느 것이 선택된 변환인지를 나타내는 이차 변환 표시자를 상기 대략적 버전 이후이지만 상기 정교화 버전 이전에 코딩/디코딩하도록 구성될 수 있다.
상기 힌트가 유의미 변환 계수 위치(132)가 하위 그룹(138) 내에 있음을 나타내는 경우, 인코더(10) 및 디코더(20)는 하위 그룹(138) 내의 변환 계수들을 컨텍스트 적응적으로 엔트로피 코딩하기 위해 이차 변환 표시자에 의존하는 컨텍스트들을 사용하도록 구성될 수 있다.
상기 힌트가 유의미 변환 계수 위치(132)가 하위 그룹(138) 내에 있지 않음을 나타내는 경우, 인코더(10) 및 디코더(20)는 하위 그룹(138) 내와 밖의 변환 계수들을 컨텍스트 적응적으로 엔트로피 코딩하도록 구성될 수 있다.
5.4 (인코더 전용) 디멘션 축소 없이 이미 시험된 변환의 마지막 위치에서, 이차 변환이 시험된 경우, 인코더를 조건화
5.5 채도:
루마와 두 채도 컴포넌트에 대해 한 번만 시그널링:
a) 루마 + 두 채도 컴포넌트에 대해 시그널링:
- 조건이 충족된 제1 컴포넌트에서 시그널링(lastPosX > 0 또는 lastPosY > 0)
- (두 컴포넌트가 조건을 충족하는 경우에만 허용됨(두 컴포넌트의 마지막 위치에 대한 인터리브 코딩 필요...)
b) 각 컴포넌트에 대해 시그널링(조건이 충족되는 경우)
본 발명은 본원에서 기술되고 청구된 바와 같은 임의의 실시예들 및 실시형태들과 결합될 수 있는 다음 실시형태들에 의해 더욱더 실현될 수 있다:
1. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로 코딩하는 인코더로서, 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원하며,
내부 예측 블록(80)의 예측(104)을 획득하기 위해 내부 예측 블록(80)의 공간적 이웃(90)을 복수의 신경망(92) 중 선택된 신경망에 적용함으로써 내부 예측 블록을 예측하도록 구성되고,
선택된 신경망 및 잔차 블록(84)의 블록 크기(96)에 기초하여 변환 세트(94) 중에서, 내부 예측 블록(80)을 커버하는 잔차 블록(84)에 대한 선택 가능한 변환 세트(98)를 결정하도록 구성되며,
선택 가능한 변환 세트(98) 중 하나의 선택된 변환(102)을 사용하여 잔차 블록(84) 내의 내부 예측 블록(80)의 예측과 연관된 예측 잔차(100)를 코딩하고, 선택된 변환을 데이터 스트림(14)에서 시그널링하도록 구성된 인코더.
2. 실시형태 1에 있어서,
결정을 수행하되,
블록 크기가 미리 결정된 임계값을 초과하는 경우에는,
선택 가능한 변환 세트(98)가, 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 각각이 포함하는 제1 개수의 하나 이상의 다단계 변환(106)으로 채워지게끔, 상기 결정을 수행하도록 구성되며, 상기 이차 변환(110)은 분리 불가능하며 그리고 선택된 신경망에 의존하는, 인코더.
3. 실시형태 2에 있어서,
결정을 수행하되,
상기 일차 변환(108)이 선택된 신경망(102)에 의존하고, 분리 가능한 2차원 변환(116)이 되게끔 결정을 수행하도록 구성된 인코더.
4. 실시형태 3에 있어서, 상기 하위 그룹(112)은 상기 일차 변환(108)의 저주파 부분을 나타내는, 인코더.
5. 실시형태 2 내지 4 중 어느 하나에 있어서, 상기 제1 개수는 양단을 포함한 2 내지 6인, 인코더.
6. 실시형태 2 내지 5 중 어느 하나에 있어서,
결정을 수행하되,
블록 크기가 미리 결정된 임계값보다 작은 경우에는,
선택 가능한 변환 세트(98)가 제2 개수의 하나 이상의 분리 불가능한 변환(118)으로 채워지게끔, 상기 결정을 수행하도록 구성된 인코더.
7. 실시형태 4를 인용하는 실시형태 6에 있어서, 상기 제1 개수와 상기 제2 개수가 동일한, 인코더.
8. 실시형태 2 내지 7 중 어느 하나에 있어서,
결정을 수행하되,
선택 가능한 변환 세트(98)가 제3 개수의 하나 이상의 분리 가능 2차원 변환(116)으로 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 인코더.
9. 실시형태 8에 있어서, 상기 제3 개수는 1 또는 5인, 인코더.
10. 실시형태 1 내지 9 중 어느 하나에 있어서,
내부 예측 블록(80)의 예측이 일차 변환(108)의 도메인(118)에서 획득되게끔 예측을 수행하도록 구성되고,
결정을 수행하되,
선택 가능한 변환 세트(98)가, 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 각각이 포함하는 제4 개수의 하나 이상의 다단계 변환(106)으로 채워지게끔, 상기 결정을 수행하도록 구성되며, 상기 이차 변환(110)은 분리 불가능하며 그리고 선택된 신경망에 의존하는, 인코더.
11. 실시형태 10에 있어서,
결정을 수행하되,
상기 일차 변환(108)이 분리 가능한 2차원 변환(116)이 되게끔 결정을 수행하도록 구성된 인코더.
12. 실시형태 10 또는 11에 있어서, 상기 하위 그룹(112)은 상기 일차 변환(108)의 저주파 부분을 나타내는, 인코더.
13. 실시형태 10 내지 13 중 어느 하나에 있어서, 상기 제1 개수는 양단을 포함한 2 내지 6인, 인코더.
14. 실시형태 10 내지 14 중 어느 하나에 있어서,
결정을 수행하되,
선택 가능한 변환 세트(98)가 일차 변환(108)으로 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 인코더.
15. 실시형태 1 내지 14 중 어느 하나에 있어서,
잔차 블록(84)의 양자화 파라미터가 하나 이상의 미리 결정된 양자화 파라미터들의 세트에 포함되어 있는지를 확인하고,
그렇다면, 결정을 수행하되,
선택 가능한 변환 세트(98)가 하나 이상의 미리 결정된 양자화 파라미터들의 세트와 연관된 하나 이상의 미리 결정된 변환들의 세트에 의해 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 인코더.
21. 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림(14)으로부터 영상(12)을 디코딩하는 디코더로서, 블록 기반 잔차 디코딩을 위한 변환 세트(94)를 지원하며,
내부 예측 블록(80)의 예측(104)을 획득하기 위해 내부 예측 블록(80)의 공간적 이웃(90)을 복수의 신경망(92) 중 선택된 신경망에 적용함으로써 내부 예측 블록을 예측하도록 구성되고,
선택된 신경망 및 잔차 블록(84)의 블록 크기(96)에 기초하여 재변환 세트(94) 중에서, 내부 예측 블록(80)을 커버하는 잔차 블록(84)에 대한 선택 가능한 변환 세트(98)를 결정하도록 구성되며,
선택 가능한 변환 세트(98) 중에서 하나의 선택된 변환(102)의 도메인에서 잔차 블록(84) 내의 내부 예측 블록(80)의 예측(104)과 연관된 예측 잔차(100)를 데이터 스트림으로부터 디코딩하되 선택된 변환을 데이터 스트림(14)으로부터 유도하면서 디코딩하도록 구성된 디코더.
22. 실시형태 21에 있어서,
블록 크기가 미리 결정된 임계값을 초과하는 경우에는,
선택 가능한 변환 세트(98)가, 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 각각이 포함하는 제1 개수의 하나 이상의 다단계 변환(106)으로 채워지게끔, 상기 결정을 수행하도록 구성되며, 상기 이차 변환(110)은 분리 불가능하며 그리고 선택된 신경망에 의존하는, 디코더.
23. 실시형태 22에 있어서,
상기 일차 변환(108)이 선택된 신경망(102)에 의존하고, 분리 가능한 2차원 변환(116)이 되게끔 결정을 수행하도록 구성된 디코더.
24. 실시형태 23에 있어서, 상기 하위 그룹(112)은 상기 일차 변환(108)의 저주파 부분을 나타내는, 디코더.
25. 실시형태 22 내지 24 중 어느 하나에 있어서, 상기 제1 개수는 양단을 포함한 2 내지 6인, 디코더.
26. 실시형태 22 내지 25 중 어느 하나에 있어서,
블록 크기가 미리 결정된 임계값보다 작은 경우에는,
선택 가능한 변환 세트(98)가 제2 개수의 하나 이상의 분리 불가능한 변환(118)으로 채워지게끔, 상기 결정을 수행하도록 구성된 디코더.
27. 실시형태 24를 인용하는 실시형태 26에 있어서, 상기 제1 개수와 상기 제2 개수가 동일한, 디코더.
28. 실시형태 22 내지 27 중 어느 하나에 있어서,
선택 가능한 변환 세트(98)가 제3 개수의 하나 이상의 분리 가능 2차원 변환(116)으로 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 디코더.
29. 실시형태 28에 있어서, 상기 제3 개수는 1 또는 5인, 디코더.
30. 실시형태 21 내지 29 중 어느 하나에 있어서,
내부 예측 블록(80)의 예측(104)이 일차 변환(108)의 도메인(118)에서 획득되게끔 예측을 수행하도록 구성되고,
선택 가능한 변환 세트(98)가, 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 각각이 포함하는 제4 개수의 하나 이상의 다단계 변환(106)으로 채워지게끔, 상기 결정을 수행하도록 구성되며, 상기 이차 변환(110)은 분리 불가능하며 그리고 선택된 신경망에 의존하는, 디코더.
31. 실시형태 30에 있어서,
상기 일차 변환(108)이 분리 가능한 2차원 변환(116)이 되게끔 결정을 수행하도록 구성된 디코더.
32. 실시형태 30 또는 31에 있어서, 상기 하위 그룹(112)은 상기 일차 변환(108)의 저주파 부분을 나타내는, 디코더.
33. 실시형태 30 내지 33 중 어느 하나에 있어서, 상기 제1 개수는 양단을 포함한 2 내지 6인, 디코더.
34. 실시형태 30 내지 34 중 어느 하나에 있어서,
선택 가능한 변환 세트(98)가 일차 변환(108)으로 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 디코더.
35. 실시형태 21 내지 34 중 어느 하나에 있어서,
잔차 블록(84)의 양자화 파라미터가 하나 이상의 미리 결정된 양자화 파라미터들의 세트에 포함되어 있는지를 확인하고,
만약 포함되어 있다면,
선택 가능한 변환 세트(98)가 하나 이상의 미리 결정된 양자화 파라미터들의 세트와 연관된 하나 이상의 미리 결정된 변환들의 세트에 의해 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 디코더.
41. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로 코딩하는 인코더로서,
일차 변환(108)의 도메인(118)에서 내부 예측 블록(80)의 예측(104)을 획득하기 위해 내부 예측 블록(80)의 공간적 이웃(90)을 신경망(NN#)에 적용함으로써 내부 예측 블록(80)을 예측하도록 구성되고,
선택 가능한 변환 세트(98) 중 하나의 선택된 변환(102)을 사용하여 잔차 블록(84) 내의 내부 예측 블록(80)의 예측(104)과 연관된 예측 잔차(100)를 코딩하고, 선택된 변환(102)을 데이터 스트림(14)에서 시그널링하도록 구성되며,
선택 가능한 변환 세트(98)가, 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 포함하는 적어도 하나의 다단계 변환(106)으로 채워지는, 인코더.
42. 실시형태 41에 있어서,
선택 가능한 변환 세트(98)가, 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 각각이 포함하는 소정 개수의 다단계 변환(106)으로 채워지고, 상기 이차 변환(110)은 분리 불가능한, 인코더.
43. 실시형태 41 내지 42 중 어느 하나에 있어서, 상기 개수는 양단을 포함한 2 내지 6인, 인코더.
44. 실시형태 41 내지 43 중 어느 하나에 있어서,
상기 일차 변환(108)이 분리 가능한 2차원 변환인, 인코더.
45. 실시형태 41 내지 44 중 어느 하나에 있어서, 상기 하위 그룹(112)은 상기 일차 변환의 저주파 부분을 나타내는, 인코더.
46. 실시형태 41 내지 45 중 어느 하나에 있어서,
선택 가능한 변환 세트(98)가 일차 변환으로 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 인코더.
47. 실시형태 41 내지 46 중 어느 하나에 있어서,
내부 예측 블록의 양자화 파라미터가 하나 이상의 미리 결정된 양자화 파라미터들의 세트에 포함되어 있는지를 확인하고,
만약 포함되어 있다면,
선택 가능한 변환 세트가 하나 이상의 미리 결정된 양자화 파라미터들의 세트와 연관된 하나 이상의 미리 결정된 변환들의 세트에 의해 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 인코더.
51. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 데이터 스트림(14)으로부터 영상(12)을 디코딩하는 디코더로서,
일차 변환(108)의 도메인(118)에서 내부 예측 블록(80)의 예측(104)을 획득하기 위해 내부 예측 블록(80)의 공간적 이웃(90)을 신경망(NN#)에 적용함으로써 내부 예측 블록(80)을 예측하도록 구성되고,
선택 가능한 변환 세트(98) 중에서 하나의 선택된 변환(102)의 또 다른 도메인(119)[실시형태 56에 기재된 도메인(118)과 동일할 수 있음]에서 잔차 블록(84) 내의 내부 예측 블록(80)의 예측(104)과 연관된 예측 잔차(100)를 데이터 스트림(14)으로부터 디코딩하되 선택된 변환(102)을 데이터 스트림(14)으로부터 유도하면서 디코딩하도록 구성되며,
선택 가능한 변환 세트(98)가, 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 포함하는 적어도 하나의 다단계 변환(106)으로 채워지는, 디코더.
52. 실시형태 51에 있어서,
선택 가능한 변환 세트(98)가, 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 각각이 포함하는 소정 개수의 다단계 변환(106)으로 채워지고, 상기 이차 변환(110)은 분리 불가능한, 디코더.
53. 실시형태 51 내지 52 중 어느 하나에 있어서, 상기 개수는 양단을 포함한 2 내지 6인, 디코더.
54. 실시형태 51 내지 53 중 어느 하나에 있어서,
상기 일차 변환(108)이 분리 가능한 2차원 변환인, 디코더.
55. 실시형태 51 내지 54 중 어느 하나에 있어서, 상기 하위 그룹(112)은 상기 일차 변환의 저주파 부분을 나타내는, 디코더.
56. 실시형태 51 내지 55 중 어느 하나에 있어서,
결정을 수행하되,
선택 가능한 변환 세트(98)가 일차 변환으로 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 디코더.
57. 실시형태 51 내지 56 중 어느 하나에 있어서,
내부 예측 블록의 양자화 파라미터가 하나 이상의 미리 결정된 양자화 파라미터들의 세트에 포함되어 있는지를 확인하고,
만약 포함되어 있다면,
선택 가능한 변환 세트가 하나 이상의 미리 결정된 양자화 파라미터들의 세트와 연관된 하나 이상의 미리 결정된 변환들의 세트에 의해 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 디코더.
61. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로 코딩하는 인코더로서, 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원하며,
내부 예측 블록(80)의 예측(104)을 획득하기 위해 내부 예측 모드들의 세트(120) 중에서 선택된 모드를 사용하여 내부 예측 블록(80)의 공간적 이웃(90)에 기초하여 내부 예측 블록(80)을 예측하도록 구성되고,
선택된 내부 예측 모드 및 잔차 블록(84)의 블록 크기(96)에 기초하여 변환 세트(94) 중에서, 내부 예측 블록(80)을 커버하는 잔차 블록(84)에 대한 선택 가능한 변환 세트(98)를 결정하도록 구성되며,
선택 가능한 변환 세트(98) 중 하나의 선택된 변환(102)을 사용하여 잔차 블록(84) 내의 내부 예측 블록(80)의 예측(104)과 연관된 예측 잔차(100)를 코딩하고, 선택된 변환(102)을 데이터 스트림(14)에서 시그널링하도록 구성된 인코더.
62. 실시형태 61에 있어서,
미리 결정된 블록 크기들의 제1 미리 결정된 세트의 블록 크기에 대해,
선택 가능한 변환 세트(98)가, 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 각각이 포함하는 소정 개수의 하나 이상의 다단계 변환(106)으로 채워지게끔, 상기 결정을 수행하도록 구성되며, 상기 이차 변환(110)은 분리 불가능하며 그리고 선택된 내부 예측 모드에 의존하는, 인코더.
63. 실시형태 62에 있어서,
상기 일차 변환(108)이 선택된 내부 예측 모드에 의존하고, 분리 가능한 2차원 변환(116)이 되게끔, 상기 결정을 수행하도록 구성된 인코더.
64. 실시형태 62 또는 63에 있어서, 상기 하위 그룹(112)은 선택된 내부 예측 모드에 의존하는, 인코더.
65. 실시형태 62 내지 64 중 어느 하나에 있어서,
미리 결정된 블록 크기들의 제1 미리 결정된 세트보다 작은 미리 결정된 블록 크기들의 제2 미리 결정된 세트의 블록 크기에 대해,
선택 가능한 변환 세트(98)가 제2 개수의 하나 이상의 분리 불가능한 변환(118)으로 채워지게끔, 상기 결정을 수행하도록 구성된 인코더.
66. 실시형태 62 내지 65 중 어느 하나에 있어서, 이차 변환(110)이 선택된 내부 예측 모드에 의존하는 방식이 내부 예측 모드 집단(예를 들어, 내부 예측 모드들의 세트(120) 중 각도 내부 예측 모드의 내부 예측 방향의 양자화 또는 내부 예측 모드 인덱스의 양자화)을 포함하도록 구성된, 인코더.
66a. 실시형태 63에 있어서, 일차 변환(108)이 선택된 내부 예측 모드에 의존하는 방식이 내부 예측 모드 집단(예를 들어, 내부 예측 모드들의 세트(120) 중 각도 내부 예측 모드의 내부 예측 방향의 양자화 또는 내부 예측 모드 인덱스의 양자화)을 포함하도록 구성된, 인코더.
67. 실시형태 61 내지 66 중 어느 하나에 있어서,
잔차 블록(84)의 양자화 파라미터가 하나 이상의 미리 결정된 양자화 파라미터들의 세트에 포함되어 있는지를 확인하고,
만약 포함되어 있다면,
선택 가능한 변환 세트(98)가 하나 이상의 미리 결정된 양자화 파라미터들의 세트와 연관된 하나 이상의 미리 결정된 변환들의 세트에 의해 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 인코더.
71. 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림(14)으로부터 영상(12)을 디코딩하는 디코더로서, 블록 기반 잔차 디코딩을 위한 변환 세트(94)를 지원하며,
내부 예측 블록(80)의 예측(104)을 획득하기 위해 내부 예측 모드들의 세트(120) 중에서 선택된 모드를 사용하여 내부 예측 블록(80)의 공간적 이웃(90)에 기초하여 내부 예측 블록(80)을 예측하도록 구성되고,
선택된 내부 예측 모드 및 잔차 블록(84)의 블록 크기(96)에 기초하여 변환 세트(94) 중에서, 내부 예측 블록(80)을 커버하는 잔차 블록(84)에 대한 선택 가능한 변환 세트(98)를 결정하도록 구성되며,
선택 가능한 변환 세트(98) 중에서 하나의 선택된 변환(102)의 도메인에서 잔차 블록(84) 내의 내부 예측 블록(80)의 예측(104)과 연관된 예측 잔차(100)를 데이터 스트림(14)으로부터 디코딩하되 선택된 변환(102)을 데이터 스트림(14)으로부터 유도하면서 디코딩하도록 구성된 디코더.
72. 실시형태 71에 있어서,
미리 결정된 블록 크기들의 제1 미리 결정된 세트의 블록 크기에 대해,
선택 가능한 변환 세트(98)가, 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 각각이 포함하는 소정 개수의 하나 이상의 다단계 변환(106)으로 채워지게끔, 상기 결정을 수행하도록 구성되며, 상기 이차 변환(110)은 분리 불가능하며 그리고 선택된 내부 예측 모드에 의존하는, 디코더.
73. 실시형태 72에 있어서,
상기 일차 변환(108)이 선택된 내부 예측 모드에 의존하고, 분리 가능한 2차원 변환(116)이 되게끔 결정을 수행하도록 구성된 디코더.
74. 실시형태 72 또는 73에 있어서, 상기 하위 그룹(112)은 선택된 내부 예측 모드에 의존하는, 디코더.
75. 실시형태 72 내지 74 중 어느 하나에 있어서,
미리 결정된 블록 크기들의 제1 미리 결정된 세트보다 작은 미리 결정된 블록 크기들의 제2 미리 결정된 세트의 블록 크기에 대해,
선택 가능한 변환 세트(98)가 제2 개수의 하나 이상의 분리 불가능한 변환(116)으로 채워지게끔, 상기 결정을 수행하도록 구성된 디코더.
76. 실시형태 72 내지 75 중 어느 하나에 있어서, 이차 변환(110)이 선택된 내부 예측 모드에 의존하는 방식이 내부 예측 모드 집단(예를 들어, 내부 예측 모드들의 세트(120) 중 각도 내부 예측 모드의 내부 예측 방향의 양자화 또는 내부 예측 모드 인덱스의 양자화)을 포함하도록 구성된, 디코더.
77. 실시형태 71 내지 76 중 어느 하나에 있어서,
잔차 블록(84)의 양자화 파라미터가 하나 이상의 미리 결정된 양자화 파라미터들의 세트에 포함되어 있는지를 확인하고,
만약 포함되어 있다면,
선택 가능한 변환 세트(98)가 하나 이상의 미리 결정된 양자화 파라미터들의 세트와 연관된 하나 이상의 미리 결정된 변환들의 세트에 의해 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 디코더.
81. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로 코딩하는 인코더로서, 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원하며,
이웃하는 잔차 블록(84', 84'')에 대해 선택된 기준 변환에 기초하여, 변환 세트(94) 중에서[예를 들어, 또한 잔차 블록의 예측 잔차를 코딩하기 위한 세트(94) 중에서], 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)을 결정하도록(122) 구성되고,
선택 가능한 변환 후보 목록(98) 중 하나의 선택된 변환(102)을 사용하여 현재 잔차 블록(84) 내의 예측 잔차(100)를 코딩하고, 선택된 변환(102)을 데이터 스트림(14)에서 시그널링하도록 구성된 인코더.
82. 실시형태 81에 있어서,
상기 기준 변환을 사용하여, 선택 가능한 변환 후보 목록(98)을 정렬시키도록(122) 구성된 인코더.
83. 실시형태 81 또는 82에 있어서,
기준 변환 또는 기준 변환에 대응하는 변환을
가장 가능성 있는 선택[예를 들어, 제1 위치, 또는 인덱스(124)의 가장 낮은 인덱스 값과 관련되거나 또는 가장 짧은 VLC와 연관된 인덱스 값과 관련된 부분], 또는
두 번째로 가장 가능성 있는 선택과 연관된 순위("n#"에 있어서의 #)로 배치함으로써[예를 들어, 하나의 스테이지와 관련하여, 다른 크기의 이웃하는 블록에 대해 높은 변환 인덱스(124)에 의해 시그널링되고 그에 따라 매우 특화된 변환, 분석적 변환 유형일 가능성이 있음] 선택 가능한 변환 후보 목록(98)을 정렬시키도록(122) 구성된 인코더.
84. 실시형태 81 내지 83 중 어느 하나에 있어서,
이웃하는 잔차 블록들(84', 84'')의 세트에 대해 선택된 기준 변환에 기초하여, 변환 세트(94) 중에서 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)을 결정하도록(122) 구성된 인코더.
85. 실시형태 84에 있어서,
이웃하는 잔차 블록들(84', 84'')의 세트에 대해 기준 변환이 선택되는 빈도에 대응하는 순서로 기준 변환들을 상호 배치함으로써 선택 가능한 변환 후보 목록(98)을 정렬시키도록(122) 구성된 인코더.
86. 실시형태 81 내지 85 중 어느 하나에 있어서,
선택 가능한 변환 후보 목록(98)을 기준 변환으로 채우도록(122) 구성된 인코더.
87. 실시형태 86에 있어서, 상기 기준 변환은 분석적으로 정의 가능한 분리 가능 스펙트럼 분해 변환[예컨대, DCT, DST, FFT 등]이고, 상기 인코더는
기준 변환을 현재 잔차 블록(84)의 블록 크기(96)에 적응시킴으로써 유도된 또 다른 변환으로 선택 가능한 변환 후보 목록(98)을 채우도록(122) 구성된, 인코더.
88. 실시형태 86 또는 87에 있어서,
이웃하는 블록(84', 84'') 및 현재 잔차 블록(84)과 연관된 하나 이상의 특정 특성이 충분히 유사한 경우, 그리고/또는 기준 변환이 분리 가능 스펙트럼 분해 변환인 경우에, 채우기를 수행하도록 구성된 인코더.
89. 실시형태 88에 있어서, 상기 하나 이상의 특성은 하나 이상의 내부 예측 모드를 포함하는, 인코더.
90. 실시형태 81 내지 89 중 어느 하나에 있어서,
하나 이상의 특정 특성에 있어서 기준 변환과의 유사성에 따라 선택 가능한 변환 세트(98) 내 변환들의 순위를 매김으로써 선택 가능한 변환 후보 목록(98)을 정렬시키도록(122) 구성되고, 그리고/또는
하나 이상의 특정 특성에 있어서 기준 변환과의 특정 비유사성을 초과하는 변환들을 선택 가능한 변환 후보 목록(98)으로부터 제외시키는 방식으로 선택 가능한 변환 후보 목록(98)을 결정하도록 구성된 인코더.
91. 실시형태 90에 있어서, 상기 하나 이상의 특성은 하나 이상의 일차 변환[예를 들어, 일차 변환의 동등성이 요구됨]을 포함하는, 인코더.
92. 실시형태 81 내지 91 중 어느 하나에 있어서,
이웃하는 블록(84')의 하나 이상의 특정 특성에 의존하여 선택 가능한 변환 세트(98) 내 변환들의 순위를 매김으로써 선택 가능한 변환 후보 목록(98)을 정렬시키도록(122) 구성되고, 그리고/또는
이웃하는 블록(84')의 하나 이상의 특정 특성에 의존하여 선택 가능한 변환 후보 목록(98)으로부터 변환들을 제외시키는 방식으로 선택 가능한 변환 후보 목록(98)을 결정하도록 구성된 인코더.
93. 실시형태 93에 있어서, 상기 하나 이상의 특성은 다수의 유의미 변환 계수들 중 하나 이상을 포함하는, 인코더.
94. 실시형태 93 또는 92에 있어서, 상기 하나 이상의 특성은 다수의 유의미 변환 계수들 중 하나 이상을 포함하되, 그 유의미 변환 계수들의 개수가 특정 임계값(예를 들어, 하위 그룹(112) 내 계수들의 개수에 따라 달라짐) 미만인 경우, 이차 변환을 받게 되는 일차 변환 계수들의 하위 그룹(112)이 있는 다단계 유형의 변환들은 가능성이 낮은 것으로 순위를 매기거나 또는 그 변환들을 제외시켜서 포함하는, 인코더.
95. 실시형태 81 내지 94 중 어느 하나에 있어서,
현재 블록의 양자화 파라미터가 하나 이상의 미리 결정된 양자화 파라미터들의 세트에 포함되어 있는지를 확인하고,
만약 포함되어 있다면,
선택 가능한 변환 세트(98)가 하나 이상의 미리 결정된 양자화 파라미터들의 세트와 연관된 하나 이상의 미리 결정된 변환들의 세트에 의해 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 인코더.
101. 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림(14)으로부터 영상(12)을 디코딩하는 디코더로서, 블록 기반 잔차 디코딩을 위한 변환 세트(94)를 지원하며,
이웃하는 잔차 블록(84', 84'')에 대해 선택된 기준 변환에 기초하여, 변환 세트(94) 중에서[예를 들어, 또한 잔차 블록의 예측 잔차를 코딩하기 위한 세트(94) 중에서], 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)을 결정하도록(122) 구성되고,
선택 가능한 변환 후보 목록(98) 중에서 하나의 선택된 변환(102)의 도메인에서 현재 잔차 블록(84) 내의 예측 잔차(100)를 디코딩하되 선택된 변환(102)을 데이터 스트림(14)으로부터 유도하면서 디코딩하도록 구성된 디코더.
102. 실시형태 101에 있어서,
상기 기준 변환을 사용하여, 선택 가능한 변환 후보 목록(98)을 정렬시키도록(122) 구성된 디코더.
103. 실시형태 101 또는 102에 있어서,
기준 변환 또는 기준 변환에 대응하는 변환을
가장 가능성 있는 선택[예를 들어, 제1 위치, 또는 인덱스(124)의 가장 낮은 인덱스 값과 관련되거나 또는 가장 짧은 VLC와 연관된 인덱스 값과 관련된 부분], 또는
두 번째로 가장 가능성 있는 선택
과 연관된 순위("n#"에 있어서의 #)로 배치함으로써[예를 들어, 하나의 스테이지와 관련하여, 다른 크기의 이웃하는 블록에 대해 높은 변환 인덱스(124)에 의해 시그널링되고 그에 따라 매우 특화된 변환, 분석적 변환 유형일 가능성이 있음] 선택 가능한 변환 후보 목록(98)을 정렬시키도록(122) 구성된 디코더.
104. 실시형태 101 내지 103 중 어느 하나에 있어서,
이웃하는 잔차 블록들(84', 84'')의 세트에 대해 선택된 기준 변환에 기초하여, 변환 세트(94) 중에서 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)을 결정하도록(122) 구성된 디코더.
105. 실시형태 104에 있어서,
이웃하는 잔차 블록들(84', 84'')의 세트에 대해 기준 변환이 선택되는 빈도에 대응하는 순서로 기준 변환들을 상호 배치함으로써 선택 가능한 변환 후보 목록(98)을 정렬시키도록(122) 구성된 디코더.
106. 실시형태 101 내지 105 중 어느 하나에 있어서,
선택 가능한 변환 후보 목록(98)을 기준 변환으로 채우도록(122) 구성된 디코더.
107. 실시형태 106에 있어서, 상기 기준 변환은 분석적으로 정의 가능한 분리 가능 스펙트럼 분해 변환[예컨대, DCT, DST, FFT 등]이고, 상기 디코더는
기준 변환을 현재 잔차 블록(84)의 블록 크기(96)에 적응시킴으로써 유도된 또 다른 변환으로 선택 가능한 변환 후보 목록(98)을 채우도록(122) 구성된, 디코더.
108. 실시형태 106 또는 107에 있어서,
이웃하는 블록(84', 84'') 및 현재 잔차 블록(84)과 연관된 하나 이상의 특정 특성이 충분히 유사한 경우, 그리고/또는 기준 변환이 분리 가능 스펙트럼 분해 변환인 경우에, 채우기를 수행하도록 구성된 디코더.
109. 실시형태 108에 있어서, 상기 하나 이상의 특성은 하나 이상의 내부 예측 모드를 포함하는, 디코더.
110. 실시형태 101 내지 109 중 어느 하나에 있어서,
하나 이상의 특정 특성에 있어서 기준 변환과의 유사성에 따라 선택 가능한 변환 세트(98) 내 변환들의 순위를 매김으로써 선택 가능한 변환 후보 목록(98)을 정렬시키도록(122) 구성되고, 그리고/또는
하나 이상의 특정 특성에 있어서 기준 변환과의 특정 비유사성을 초과하는 변환들을 선택 가능한 변환 후보 목록(98)으로부터 제외시키는 방식으로 선택 가능한 변환 후보 목록(98)을 결정하도록 구성된 디코더.
111. 실시형태 100에 있어서, 상기 하나 이상의 특성은 하나 이상의 일차 변환[예를 들어, 일차 변환의 동등성이 요구됨]을 포함하는, 디코더.
112. 실시형태 101 내지 111 중 어느 하나에 있어서,
이웃하는 블록(84')의 하나 이상의 특정 특성에 의존하여 선택 가능한 변환 세트(98) 내 변환들의 순위를 매김으로써 선택 가능한 변환 후보 목록(98)을 정렬시키도록(122) 구성되고, 그리고/또는
이웃하는 블록(84')의 하나 이상의 특정 특성에 의존하여 선택 가능한 변환 후보 목록(98)으로부터 변환들을 제외시키는 방식으로 선택 가능한 변환 후보 목록(98)을 결정하도록 구성된 디코더.
113. 실시형태 112에 있어서, 상기 하나 이상의 특성은 다수의 유의미 변환 계수들 중 하나 이상을 포함하는, 디코더.
114. 실시형태 113 또는 112에 있어서, 상기 하나 이상의 특성은 다수의 유의미 변환 계수들 중 하나 이상을 포함하되,
그 유의미 변환 계수들의 개수가 특정 임계값(예를 들어, 하위 그룹(112) 내 계수들의 개수에 따라 달라짐) 미만인 경우, 이차 변환을 받게 되는 일차 변환 계수들의 하위 그룹(112)이 있는 다단계 유형의 변환들은 가능성이 낮은 것으로 순위를 매기거나 또는 그 변환들을 제외시켜서 포함하는, 디코더.
115. 실시형태 101 내지 114 중 어느 하나에 있어서,
현재 블록의 양자화 파라미터가 하나 이상의 미리 결정된 양자화 파라미터들의 세트에 포함되어 있는지를 확인하고,
만약 포함되어 있다면,
선택 가능한 변환 세트(98)가 하나 이상의 미리 결정된 양자화 파라미터들의 세트와 연관된 하나 이상의 미리 결정된 변환들의 세트에 의해 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 디코더.
121. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로 코딩하는 인코더로서, 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원하며,
변환 세트 중에서 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)을 현재 블록의 양자화 파라미터에 의존하여 결정하되,
양자화 파라미터가 특정 임계값보다 미세한 양자화에 해당하는 경우에는,
현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)이, 현재 잔차 블록 내 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 포함하는 적어도 하나의 다단계 변환(106)으로 채워지고,
양자화 파라미터가 특정 임계값보다 거친 양자화에 해당하는 경우에는,
현재 잔차 블록에 대한 선택 가능한 변환 목록이, 상기 적어도 하나의 다단계 변환(106)에 추가하여서나 혹은 그 대신에, 하위 그룹(112)을 넘어선 일차 변환 계수(114)가 제로화되는 상기 적어도 하나의 다단계 변환의 수정으로 채워지게끔, 결정하도록 구성되며;
선택 가능한 변환 후보 목록(98) 중 하나의 선택된 변환(102)을 사용하여 현재 잔차 블록(84) 내의 예측 잔차(100)를 코딩하고, 선택된 변환을 데이터 스트림(14)에서 시그널링하도록 구성된 인코더.
122. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상을 데이터 스트림으로 코딩하는 인코더로서, 블록 기반 잔차 코딩을 위한 변환 세트를 지원하며,
변환 세트 중 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)을, 이웃하는 잔차 블록에 대해 선택된 기준 변환에 기초하여, 하나 이상의 이웃하는 잔차 블록들(84', 84'') 내의 유의미 변환 계수들의 개수 또는 합계에 의존하는 방식으로 결정하되(122),
상기 수 또는 합계가 특정 임계값보다 큰 경우에는, 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)이, 현재 잔차 블록의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환의 일차 변환 계수들의 하위 그룹에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환으로 채워지고,
상기 수 또는 합계가 특정 임계값보다 작은 경우에는, 현재 잔차 블록에 대한 선택 가능한 변환 목록이, 상기 적어도 하나의 다단계 변환에 추가하여서나 혹은 그 대신에, 하위 그룹을 넘어선 일차 변환 계수가 제로화되는 상기 적어도 하나의 다단계 변환의 수정으로 채워지게끔,
상기 결정을 수행하도록 구성되고,
선택 가능한 변환 목록 중 하나의 선택된 변환을 사용하여 잔차 블록 내의 예측 잔차를 코딩하고, 선택된 변환을 데이터 스트림에서 시그널링하도록 구성된 인코더.
123. 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림(14)으로부터 영상(12)을 디코딩하는 디코더로서, 블록 기반 잔차 디코딩을 위한 변환 세트(94)를 지원하며,
변환 세트 중에서 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)을 현재 블록의 양자화 파라미터에 의존하여 결정하되,
양자화 파라미터가 특정 임계값보다 미세한 양자화에 해당하는 경우에는, 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)이, 현재 잔차 블록 내 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 포함하는 적어도 하나의 다단계 변환(106)으로 채워지고,
양자화 파라미터가 특정 임계값보다 거친 양자화에 해당하는 경우에는, 현재 잔차 블록에 대한 선택 가능한 변환 목록이, 상기 적어도 하나의 다단계 변환(106)에 추가하여서나 혹은 그 대신에, 하위 그룹(112)을 넘어선 일차 변환 계수(114)가 제로화되는 상기 적어도 하나의 다단계 변환의 수정으로 채워지게끔,
상기 결정을 수행하도록 구성되며,
선택 가능한 변환 후보 목록(98) 중에서 하나의 선택된 변환(102)의 도메인에서 현재 잔차 블록(84) 내의 예측 잔차(100)를 디코딩하되 선택된 변환을 데이터 스트림(14)으로부터 유도하면서 디코딩하도록 구성된 디코더.
124. 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림으로부터 영상을 디코딩하는 디코더로서, 블록 기반 잔차 디코딩을 위한 변환 세트를 지원하며,
변환 세트 중 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)을, 이웃하는 잔차 블록에 대해 선택된 기준 변환에 기초하여, 하나 이상의 이웃하는 잔차 블록들(84', 84'') 내의 유의미 변환 계수들의 개수 또는 합계에 의존하는 방식으로 결정하되(122),
상기 수 또는 합계가 특정 임계값보다 큰 경우에는, 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)이, 현재 잔차 블록의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환의 일차 변환 계수들의 하위 그룹에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환으로 채워지고,
상기 수 또는 합계가 특정 임계값보다 작은 경우에는, 현재 잔차 블록에 대한 선택 가능한 변환 목록이, 상기 적어도 하나의 다단계 변환에 추가하여서나 혹은 그 대신에, 하위 그룹을 넘어선 일차 변환 계수가 제로화되는 상기 적어도 하나의 다단계 변환의 수정으로 채워지게끔,
상기 결정을 수행하도록 구성되고,
선택 가능한 변환 목록 중에서 하나의 선택된 변환의 도메인에서 잔차 블록 내의 예측 잔차를 디코딩하되 선택된 변환을 데이터 스트림으로부터 유도하면서 디코딩하도록 구성된 디코더.
131. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로 코딩하는 인코더로서, 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원하며,
변환 세트(94) 중에서 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)을 결정하도록(130) 구성되고;
변환 계수 데이터(126)를 선택 가능한 변환 후보 목록(98) 중 하나의 선택된 변환(102)을 사용하여 현재 잔차 블록(84) 내의 예측 잔차(100)를 나타내는 데이터 스트림(14)으로 코딩하도록 구성되고;
선택된 변환(102)을 데이터 스트림(14)에서 시그널링하도록(128) 그리고/또는 선택 가능한 변환 후보 목록(98)의 결정(130)을 변환 계수 데이터(126) 또는 변환 계수 데이터(126)의 일부에 의존하여 수행하도록 구성된 인코더.
132. 실시형태 131에 있어서,
선택 가능한 변환 후보 목록(98)을, 변환 계수 데이터(126) 또는 변환 계수 데이터의 일부에 따라 개수가 달라지는, 변환 세트(94) 중의 다수의 변환들로 채움으로써, 선택 가능한 변환 후보 목록(98)을 결정하도록(130) 구성되며,
선택된 변환(102)을 시그널링하기 위해 데이터 스트림(14)에서 소비되는 코드 레이트가 낮을수록 상기 개수가 적어지도록 하는 방식으로, 데이터 스트림(14)에서 선택된 변환(102)의 시그널링(128)을 수행하도록 구성된 인코더.
133. 실시형태 131에 있어서,
선택 가능한 변환 후보 목록(98)을 변환 계수 데이터(126) 또는 변환 계수 데이터(126)의 일부에 따라 정렬함으로써, 선택 가능한 변환 후보 목록(98)을 결정하도록(130) 구성되며,
선택 가능한 변환 후보 목록(98) 내 변환들의 순서에 따라 선택 가능한 변환 후보 목록(98)의 변환들에 코드워드가 할당된 가변 길이 코드를 사용하여, 데이터 스트림에서 선택된 변환(102)의 시그널링(128)을 수행하도록 구성된 인코더.
134. 실시형태 132 또는 133에 있어서,
상기 인코더는, 변환 계수 데이터가 선택된 변환(102)의 유의미 변환 계수 위치(132)의 표시와, 선택된 변환의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서(136)에 의해 상기 유의미 변환 계수 위치(132)로부터 전방으로 가로지르는 선택된 변환의 변환 계수들(134)의 값을 포함하도록 구성되고,
상기 결정(130)은 상기 표시에 의존하는, 인코더.
135. 실시형태 132 또는 133 또는 134에 있어서,
상기 디코더는 선택된 변환(102)의 다수의 유의미 변환 계수(134)를 카운트하도록 구성되고,
상기 결정(130)은 상기 카운트에 의존하는, 인코더.
136. 실시형태 134 또는 135에 있어서,
선택된 변환(102)의 변환 계수들(134)의 하위 그룹(138) 내의 선택된 변환(102)의 유의미 변환 계수(134)의 개수가 특정 임계값을 초과하는지 여부와 관련하여 변환 계수 데이터(126)를 평가하도록 구성되고;
상기 카운트에 의존하여 상기 결정(130)을 수행하되,
상기 개수가 특정 임계값보다 큰 경우에는, 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)이, 현재 잔차 블록의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환(106)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환(106)으로 채워져서, 선택된 변환(102)의 변환 계수들의 하위 그룹(138)이 생성되도록 수행하고,
상기 개수가 특정 임계값보다 작은 경우에는, 현재 잔차 블록에 대한 선택 가능한 변환 목록이, 현재 잔차 블록의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환의 일차 변환 계수들의 하위 그룹에 적용되는 이차 변환을 포함하는 어떤 다단계 변환(106)으로도 채워지지 않게끔,
상기 결정을 수행하도록 구성된 인코더.
201. 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림(14)으로부터 영상(12)을 디코딩하는 디코더로서, 블록 기반 잔차 디코딩을 위한 변환 세트(94)를 지원하며,
변환 세트(94) 중에서 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)을 결정하도록(130) 구성되고;
변환 계수 데이터(126)를 선택 가능한 변환 후보 목록(98) 중 하나의 선택된 변환(102)을 사용하여 현재 잔차 블록(84) 내의 예측 잔차(100)를 나타내는 데이터 스트림(14)으로 디코딩하도록 구성되고;
선택된 변환(102)을 데이터 스트림(14)으로부터 유도시키고(128) 그리고/또는 선택 가능한 변환 후보 목록(98)의 결정(130)을 변환 계수 데이터(126) 또는 변환 계수 데이터(126)의 일부 데이터에 의존하여 수행하도록 구성된 디코더.
202. 실시형태 201에 있어서,
선택 가능한 변환 후보 목록(98)을, 변환 계수 데이터(126) 또는 변환 계수 데이터의 일부에 따라 개수가 달라지는, 변환 세트(94) 중의 다수의 변환들로 채움으로써, 선택 가능한 변환 후보 목록(98)을 결정하도록(130) 구성되며,
선택된 변환(102)을 시그널링하기 위해 데이터 스트림(14)에서 소비되는 코드 레이트가 낮을수록 상기 개수가 적어지도록 하는 방식으로, 데이터 스트림(14)에서 선택된 변환(102)의 시그널링(128)을 수행하도록 구성된 디코더.
203. 실시형태 201에 있어서,
선택 가능한 변환 후보 목록(98)을 변환 계수 데이터(126) 또는 변환 계수 데이터(126)의 일부에 따라 정렬함으로써, 선택 가능한 변환 후보 목록(98)을 결정하도록(130) 구성되며,
선택 가능한 변환 후보 목록(98) 내 변환들의 순서에 따라 선택 가능한 변환 후보 목록(98)의 변환들에 코드워드가 할당된 가변 길이 코드를 사용하여, 데이터 스트림에서 선택된 변환(102)의 시그널링(128)을 수행하도록 구성된 디코더.
204. 실시형태 202 또는 203에 있어서,
상기 디코더는, 변환 계수 데이터가 선택된 변환(102)의 유의미 변환 계수 위치(132)의 표시와, 선택된 변환의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서(136)에 의해 상기 유의미 변환 계수 위치(132)로부터 전방으로 가로지르는 선택된 변환의 변환 계수들(134)의 값을 포함하도록 구성되고,
상기 결정(130)은 상기 표시에 의존하는, 디코더.
205. 실시형태 202 또는 203 또는 204에 있어서,
상기 디코더는 선택된 변환(102)의 다수의 유의미 변환 계수(134)를 카운트하도록 구성되고,
상기 결정(130)은 상기 카운트에 의존하는, 디코더.
206. 실시형태 204 또는 205에 있어서,
선택된 변환(102)의 변환 계수들(134)의 하위 그룹(138) 내의 선택된 변환(102)의 유의미 변환 계수(134)의 개수가 특정 임계값을 초과하는지 여부와 관련하여 변환 계수 데이터(126)를 평가하도록 구성되고;
상기 카운트에 의존하여 상기 결정(130)을 수행하되,
상기 개수가 특정 임계값보다 큰 경우에는, 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)이, 현재 잔차 블록의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환(106)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환(106)으로 채워져서, 선택된 변환(102)의 변환 계수들의 하위 그룹(138)이 생성되도록 수행하고,
상기 개수가 특정 임계값보다 작은 경우에는,현재 잔차 블록에 대한 선택 가능한 변환 목록이, 현재 잔차 블록의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환의 일차 변환 계수들의 하위 그룹에 적용되는 이차 변환을 포함하는 어떤 다단계 변환(106)으로도 채워지지 않게끔,
상기 결정을 수행하도록 구성된 디코더.
141. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상을 데이터 스트림으로 코딩하는 인코더로서, 블록 기반 잔차 코딩을 위한 변환 세트를 지원하며,
변환 세트 중에서 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)을 결정하도록(130) 구성되고;
선택된 변환을 데이터 스트림에서 시그널링(128)하도록 구성되며;
선택 가능한 변환 목록 중 하나의 선택된 변환을 사용하여 잔차 블록 내의 예측 잔차를 나타내는 변환 계수를 코딩하되 선택된 변환(102) 또는 선택 가능한 변환 세트(98)에 의존하여 코딩(140)하도록 구성된 인코더.
142. 실시형태 141에 있어서,
선택 가능한 변환 목록이, 변환 계수의 개수가 상이한 변환들을 포함하고,
상기 인코더는, 변환 계수의 코딩을 위해 데이터 스트림에서 소비되는 코드 레이트가 낮을수록 선택된 변환의 변환 계수의 개수가 적어지도록 하는 방식으로, 변환 계수의 코딩을 수행하는, 인코더.
143. 실시형태 141 또는 142에 있어서,
선택 가능한 변환 목록이, 변환 계수(134)의 개수가 상이한 변환들을 포함하고,
변환 계수의 코딩은, 선택된 변환(102)의 유의미 변환 계수 위치(132)의 표시의 코딩와, 선택된 변환의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서(136)에 의해 상기 유의미 변환 계수 위치로부터 전방으로 가로지르는 선택된 변환의 변환 계수들(134)의 값의 코딩을 포함하고,
상기 인코더는 변환 계수를 코딩하되,
상기 표시를 코딩하기 위해 데이터 스트림에서 소비되는 코드 레이트가 낮을수록 선택된 변환의 변환 계수(134)의 개수가 적어지도록 하는 방식으로, 코딩하도록 구성된 인코더.
144. 실시형태 141 또는 142에 있어서,
선택 가능한 변환 목록이 제1 개수의 변환 계수들(134)의 변환들과, 상기 제1 개수보다 많은 제2 개수의 변환 계수들(134)의 변환들을 포함하고,
변환 계수의 코딩은,
선택된 변환의 변환 계수의 개수가 상기 제2 개수인 경우,
선택된 변환의 유의미 변환 계수 위치의 표시의 코딩와, 선택된 변환의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서에 의해 상기 유의미 변환 계수 위치로부터 전방으로 가로지르는 선택된 변환의 변환 계수들의 값의 코딩을 포함하고,
선택된 변환의 변환 계수의 개수가 상기 제1 개수인 경우,
선택된 변환의 변환 계수의 상기 제1 개수 모두의 값의 코딩을 포함하는, 인코더.
145. 실시형태 141 내지 144 중 어느 하나에 있어서,
선택 가능한 변환 목록이, 현재 잔차 블록에 적용되는 일차 변환 및 일차 변환의 일차 변환 계수들의 하위 그룹에 적용되는 이차 변환을 각각이 포함하는 적어도 하나의 다단계 변환을 포함하고, 상기 하위 그룹은 상기 적어도 하나의 다단계 변환들 중의 각기 다른 변환들마다 다르고,
상기 인코더는 변환 계수를 코딩하되,
선택된 변환의 유의미 변환 계수 위치의 표시를 코딩하고, 선택된 변환의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서에 의해 상기 유의미 변환 계수 위치로부터 전방으로 가로지르는 선택된 변환의 변환 계수들의 값을 코딩함으로써, - 여기서, 상기 표시는 선택된 변환이 다단계 변환이면, 상기 유의미 변환 계수 위치가 변환 계수들의 하위 그룹 내에 있는지 여부의 플래그를 포함하고, 변환 계수 위치가 변환 계수들의 하위 그룹 내에 있으면, 상기 표시는 상기 유의미 변환 계수 위치를 선택된 변환의 모든 변환 계수들 중에서 상기 미리 결정된 스캔 순서에 따라 마지막으로 가로지른 위치에 대해서 나타내고, 변환 계수 위치가 변환 계수들의 하위 그룹(138) 내에 있지 않으면, 상기 표시는 상기 유의미 변환 계수 위치를 하위 그룹 내에 있지 않은 모든 변환 계수들 중에서 상기 미리 결정된 스캔 순서에 따라 마지막으로 가로지른 위치에 대해서 나타내고, 상기 미리 결정된 스캔 순서는 하위 그룹 내에 있지 않은 모든 변환 계수들을 가로지른 후에 하위 그룹 내의 모든 변환 계수들을 가로지르는 것임 -, 그리고/또는
선택된 변환이 다단계 유형인 경우, 변환 계수가 선택된 변환의 변환 계수들의 하위 그룹 내에 있는지 여부에 의존하는 확률 추정을 사용하는 엔트로피 코딩을 사용하여, 선택된 변환의 변환 계수의 값을 코딩함으로써,
선택된 변환이 다단계 유형인 경우, 변환 계수가 선택된 변환의 변환 계수들의 하위 그룹 내에 있는지 여부에 의존하는 방식으로 하나 이상의 이웃하는 변환 계수에 의존하는 확률 추정을 사용하는 엔트로피 코딩을 사용하여, 선택된 변환의 변환 계수의 값을 코딩함으로써, 변환 계수를 코딩하도록 구성된 인코더.
145a. 실시형태 141 내지 145 중 어느 하나에 있어서,
선택 가능한 변환 목록이, 현재 잔차 블록에 적용되는 일차 변환 및 일차 변환의 일차 변환 계수들의 하위 그룹에 적용되는 이차 변환을 각각이 포함하는 적어도 하나의 다단계 변환을 포함하고, 상기 선택 가능한 변환 목록이 적어도 하나의 일차 변환 전용 유형의 변환을 포함하며,
상기 인코더는 변환 계수를 코딩하되,
선택된 변환의 유의미 변환 계수 위치의 표시를 코딩하고, 선택된 변환의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서에 의해 상기 유의미 변환 계수 위치로부터 전방으로 가로지르는 선택된 변환의 변환 계수들의 값을 코딩함으로써, - 여기서, 상기 표시는 선택된 변환이 일차 변환 전용 유형인 경우에는 선택된 변환의 모든 변환 계수들 중에서 상기 미리 결정된 스캔 순서에 따라 마지막으로 가로지른 위치에 대한 것이거나, 또는 선택된 변환이 다단계 변환(106)인 경우에는 하위 그룹 내에 있지 않은 모든 변환 계수들 중에서 상기 미리 결정된 스캔 순서에 따라 마지막으로 가로지른 위치에 대한 것임 -, 그리고/또는
선택된 변환의 유의미 변환 계수 위치의 표시를 코딩하고, 선택된 변환의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서에 의해 상기 유의미 변환 계수 위치로부터 전방으로 가로지르는 선택된 변환의 변환 계수들의 값을 코딩함으로써, - 여기서, 상기 표시는 선택된 변환이 다단계 변환이면, 상기 유의미 변환 계수 위치가 변환 계수들의 하위 그룹 내에 있는지 여부의 플래그를 포함하고, 변환 계수 위치가 변환 계수들의 하위 그룹 내에 있으면, 상기 표시는 상기 유의미 변환 계수 위치를 선택된 변환의 모든 변환 계수들 중에서 상기 미리 결정된 스캔 순서에 따라 마지막으로 가로지른 위치에 대해서 나타내고, 변환 계수 위치가 변환 계수들의 하위 그룹 내에 있지 않으면, 상기 표시는 상기 유의미 변환 계수 위치를 하위 그룹 내에 있지 않은 모든 변환 계수들 중에서 상기 미리 결정된 스캔 순서에 따라 마지막으로 가로지른 위치에 대해서 나타내고, 상기 미리 결정된 스캔 순서는 하위 그룹 내에 있지 않은 모든 변환 계수들을 가로지른 후에 하위 그룹 내의 모든 변환 계수들을 가로지르는 것임 -, 그리고/또는
선택된 변환이 다단계 유형인 경우, 변환 계수가 선택된 변환의 변환 계수들의 하위 그룹 내에 있는지 여부에 의존하는 확률 추정을 사용하는 엔트로피 코딩을 사용하여, 선택된 변환의 변환 계수의 값을 코딩함으로써,
선택된 변환이 다단계 유형인 경우, 변환 계수가 선택된 변환의 변환 계수들의 하위 그룹 내에 있는지 여부에 의존하는 방식으로 하나 이상의 이웃하는 변환 계수에 의존하는 확률 추정을 사용하는 엔트로피 코딩을 사용하여, 선택된 변환의 변환 계수의 값을 코딩함으로써, 변환 계수를 코딩하도록 구성된 인코더.
146. 실시형태 141 내지 145 중 어느 하나에 있어서,
가변 길이 코딩된(variable length coded) 인덱스를 사용하여 선택된 변환을 시그널링하도록 구성되고,
이진화(binarization) 및 이진 엔트로피 코딩(binary entropy coding)을 사용하여, 선택된 변환의 변환 계수의 값을 코딩함으로써, 변환 계수를 코딩하도록 구성되며,
이진 엔트로피 코딩에 사용되는 확률 추정은 상기 가변 길이 코딩된(VLC) 인덱스에 의존하고, 그리고/또는
이진화는 상기 가변 길이 코딩된(VLC) 인덱스에 의존하는, 인코더.
147. 실시형태 141 내지 146 중 어느 하나에 있어서,
엔트로피 코딩을 사용하여, 선택된 변환의 변환 계수의 값을 코딩함으로써, 변환 계수를 코딩하도록 구성되며,
엔트로피 코딩은 선택된 변환에 의존하는 방식으로 하나 또는 이웃하는 변환 계수들에 의존하는, 인코더.
148. 실시형태 147에 있어서,
변환 계수를 코딩하되,
선택된 변환 내 변환 계수의 위치에 의존하는 방식으로 하나 또는 이웃하는 변환 계수들의 로컬 템플릿을 선택함으로써,
하나 또는 이웃하는 변환 계수들의 가능한 값들의 도메인을 변환 계수에 대한 하나 이상의 컨텍스트들의 세트에 매핑하는 것을 사용하여, 변환 계수에 대해 선택된 컨텍스트를 결정함으로써,
변환 계수의 값을 엔트로피 코딩하기 위해 선택된 컨텍스트와 연관된 확률 추정을 사용함으로써 엔트로피 코딩을 사용하여, 선택된 변환의 변환 계수의 값을 코딩함으로써, 변환 계수를 코딩하도록 구성되고,
상기 로컬 템플릿의 선택 및 상기 매핑 중 적어도 하나가 선택된 변환에 의존하는, 인코더.
149. 실시형태 148에 있어서,
상기 값의 이진화를 이진 엔트로피 코딩하는 것을 사용하여, 선택된 변환의 변환 계수의 값의 코딩을 수행하도록 구성되며, 상기 선택된 컨텍스트와 연관된 확률 추정은 값이 0이거나 또는 아님을 나타내는 이진화의 빈에 사용되는, 인코더.
150. 실시형태 141 내지 149 중 어느 하나에 있어서,
선택된 변환을 데이터 스트림에서 시그널링하는 것을 수행하되,
변환 계수 데이터에 대한 선택된 변환의 시그널링의 상대 위치, 및/또는 시그널링의 구문 요소들로의 분해가 선택 가능한 변환 목록에 의존하는 방식으로, 수행하도록 구성된 인코더.
161. 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림으로부터 영상을 디코딩하는 디코더로서, 블록 기반 잔차 디코딩을 위한 변환 세트를 지원하며,
변환 세트 중에서 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)을 결정하도록(130) 구성되고;
선택된 변환을 데이터 스트림으로부터 유도(128)시키도록 구성되고;
선택 가능한 변환 목록 중 하나의 선택된 변환을 사용하여 잔차 블록 내의 예측 잔차를 나타내는 변환 계수를 데이터 스트림으로부터 디코딩(140)하되 선택된 변환(102) 또는 선택 가능한 변환 세트(98)에 의존하여 디코딩하도록 구성된 디코더.
162. 실시형태 161에 있어서,
선택 가능한 변환 목록이, 변환 계수의 개수가 상이한 변환들을 포함하고,
상기 디코더는, 변환 계수에 대해 데이터 스트림에서 소비되는 코드 레이트가 낮을수록 선택된 변환의 변환 계수의 개수가 적어지도록 하는 방식으로, 변환 계수의 디코딩을 수행하는, 디코더.
163. 실시형태 161 또는 162에 있어서,
선택 가능한 변환 목록이, 변환 계수(134)의 개수가 상이한 변환들을 포함하고,
변환 계수의 디코딩은, 선택된 변환(102)의 유의미 변환 계수 위치(132)의 표시의 디코딩과, 선택된 변환의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서(136)에 의해 상기 유의미 변환 계수 위치로부터 전방으로 가로지르는 선택된 변환의 변환 계수들(134)의 값의 디코딩을 포함하고,
상기 디코더는 변환 계수를 디코딩하되,
상기 표시를 위해 데이터 스트림에서 소비되는 코드 레이트가 낮을수록 선택된 변환의 변환 계수(134)의 개수가 적어지도록 하는 방식으로, 디코딩하도록 구성된 디코더.
164. 실시형태 161 또는 162에 있어서,
선택 가능한 변환 목록이 제1 개수의 변환 계수들(134)의 변환들과, 상기 제1 개수보다 많은 제2 개수의 변환 계수들(134)의 변환들을 포함하고,
변환 계수의 디코딩은,
선택된 변환의 변환 계수의 개수가 상기 제2 개수인 경우,
선택된 변환의 유의미 변환 계수 위치의 표시의 디코딩과, 선택된 변환의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서에 의해 상기 유의미 변환 계수 위치로부터 전방으로 가로지르는 선택된 변환의 변환 계수들의 값의 디코딩을 포함하고,
선택된 변환의 변환 계수의 개수가 상기 제1 개수인 경우,
선택된 변환의 변환 계수의 상기 제1 개수 모두의 값의 디코딩을 포함하는, 디코더.
165. 실시형태 161 내지 164 중 어느 하나에 있어서,
선택 가능한 변환 목록이, 현재 잔차 블록에 적용되는 일차 변환 및 일차 변환의 일차 변환 계수들의 하위 그룹에 적용되는 이차 변환을 각각이 포함하는 적어도 하나의 다단계 변환을 포함하고, 상기 하위 그룹은 상기 적어도 하나의 다단계 변환들 중의 각기 다른 변환들마다 다르고,
상기 디코더는 변환 계수를 코딩하되,
선택된 변환의 유의미 변환 계수 위치의 표시를 디코딩하고, 선택된 변환의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서에 의해 상기 유의미 변환 계수 위치로부터 전방으로 가로지르는 선택된 변환의 변환 계수들의 값을 디코딩함으로써, - 여기서, 상기 표시는 선택된 변환이 다단계 변환이면, 상기 유의미 변환 계수 위치가 변환 계수들의 하위 그룹 내에 있는지 여부의 플래그를 포함하고, 변환 계수 위치가 변환 계수들의 하위 그룹 내에 있으면, 상기 표시는 상기 유의미 변환 계수 위치를 선택된 변환의 모든 변환 계수들 중에서 상기 미리 결정된 스캔 순서에 따라 마지막으로 가로지른 위치에 대해서 나타내고, 변환 계수 위치가 변환 계수들의 하위 그룹(138) 내에 있지 않으면, 상기 표시는 상기 유의미 변환 계수 위치를 하위 그룹 내에 있지 않은 모든 변환 계수들 중에서 상기 미리 결정된 스캔 순서에 따라 마지막으로 가로지른 위치에 대해서 나타내고, 상기 미리 결정된 스캔 순서는 하위 그룹 내에 있지 않은 모든 변환 계수들을 가로지른 후에 하위 그룹 내의 모든 변환 계수들을 가로지르는 것임 -, 그리고/또는
선택된 변환이 다단계 유형인 경우, 변환 계수가 선택된 변환의 변환 계수들의 하위 그룹 내에 있는지 여부에 의존하는 확률 추정을 사용하는 엔트로피 코딩을 사용하여, 선택된 변환의 변환 계수의 값을 디코딩함으로써,
선택된 변환이 다단계 유형인 경우, 변환 계수가 선택된 변환의 변환 계수들의 하위 그룹 내에 있는지 여부에 의존하는 방식으로 하나 이상의 이웃하는 변환 계수에 의존하는 확률 추정을 사용하는 엔트로피 코딩을 사용하여, 선택된 변환의 변환 계수의 값을 디코딩함으로써, 변환 계수를 코딩하도록 구성된 디코더.
165a. 실시형태 161 내지 165 중 어느 하나에 있어서,
선택 가능한 변환 목록이, 현재 잔차 블록에 적용되는 일차 변환 및 일차 변환의 일차 변환 계수들의 하위 그룹에 적용되는 이차 변환을 각각이 포함하는 적어도 하나의 다단계 변환을 포함하고, 상기 선택 가능한 변환 목록이 적어도 하나의 일차 변환 전용 유형의 변환을 포함하며,
상기 디코더는 변환 계수를 코딩하되,
선택된 변환의 유의미 변환 계수 위치의 표시를 디코딩하고, 선택된 변환의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서에 의해 상기 유의미 변환 계수 위치로부터 전방으로 가로지르는 선택된 변환의 변환 계수들의 값을 디코딩함으로써, - 여기서, 상기 표시는 선택된 변환이 일차 변환 전용 유형인 경우에는 선택된 변환의 모든 변환 계수들 중에서 상기 미리 결정된 스캔 순서에 따라 마지막으로 가로지른 위치에 대한 것이거나, 또는 선택된 변환이 다단계 변환(106)인 경우에는 하위 그룹 내에 있지 않은 모든 변환 계수들 중에서 상기 미리 결정된 스캔 순서에 따라 마지막으로 가로지른 위치에 대한 것임 -, 그리고/또는
선택된 변환의 유의미 변환 계수 위치의 표시를 디코딩하고, 선택된 변환의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서에 의해 상기 유의미 변환 계수 위치로부터 전방으로 가로지르는 선택된 변환의 변환 계수들의 값을 디코딩함으로써, - 여기서, 상기 표시는 선택된 변환이 다단계 변환이면, 상기 유의미 변환 계수 위치가 변환 계수들의 하위 그룹 내에 있는지 여부의 플래그를 포함하고, 변환 계수 위치가 변환 계수들의 하위 그룹 내에 있으면, 상기 표시는 상기 유의미 변환 계수 위치를 선택된 변환의 모든 변환 계수들 중에서 상기 미리 결정된 스캔 순서에 따라 마지막으로 가로지른 위치에 대해서 나타내고, 변환 계수 위치가 변환 계수들의 하위 그룹 내에 있지 않으면, 상기 표시는 상기 유의미 변환 계수 위치를 하위 그룹 내에 있지 않은 모든 변환 계수들 중에서 상기 미리 결정된 스캔 순서에 따라 마지막으로 가로지른 위치에 대해서 나타내고, 상기 미리 결정된 스캔 순서는 하위 그룹 내에 있지 않은 모든 변환 계수들을 가로지른 후에 하위 그룹 내의 모든 변환 계수들을 가로지르는 것임 -, 그리고/또는
선택된 변환이 다단계 유형인 경우, 변환 계수가 선택된 변환의 변환 계수들의 하위 그룹 내에 있는지 여부에 의존하는 확률 추정을 사용하는 엔트로피 코딩을 사용하여, 선택된 변환의 변환 계수의 값을 디코딩함으로써,
선택된 변환이 다단계 유형인 경우, 변환 계수가 선택된 변환의 변환 계수들의 하위 그룹 내에 있는지 여부에 의존하는 방식으로 하나 이상의 이웃하는 변환 계수에 의존하는 확률 추정을 사용하는 엔트로피 코딩을 사용하여, 선택된 변환의 변환 계수의 값을 디코딩함으로써, 변환 계수를 코딩하도록 구성된 디코더.
166. 실시형태 161 내지 165 중 어느 하나에 있어서,
가변 길이 코딩된(variable length coded) 인덱스를 사용하여 선택된 변환을 유도시키도록 구성되고,
상기 디코더는 이진화 및 이진 엔트로피 디코딩을 사용하여, 선택된 변환의 변환 계수의 값을 디코딩함으로써, 변환 계수를 디코딩하도록 구성되며,
이진 엔트로피 코딩에 사용되는 확률 추정은 상기 가변 길이 코딩된(VLC) 인덱스에 의존하고, 그리고/또는
이진화는 상기 가변 길이 코딩된(VLC) 인덱스에 의존하는, 디코더.
167. 실시형태 161 내지 166 중 어느 하나에 있어서,
상기 디코더는 엔트로피 디코딩을 사용하여, 선택된 변환의 변환 계수의 값을 디코딩함으로써, 변환 계수를 디코딩하도록 구성되며,
엔트로피 디코딩은 선택된 변환에 의존하는 방식으로 하나 또는 이웃하는 변환 계수들에 의존하는, 디코더.
168. 실시형태 167에 있어서,
상기 디코더는 변환 계수를 디코딩하되,
선택된 변환 내 변환 계수의 위치에 의존하는 방식으로 하나 또는 이웃하는 변환 계수들의 로컬 템플릿을 선택함으로써,
하나 또는 이웃하는 변환 계수들의 가능한 값들의 도메인을 변환 계수에 대한 하나 이상의 컨텍스트들의 세트에 매핑하는 것을 사용하여, 변환 계수에 대해 선택된 컨텍스트를 결정함으로써,
변환 계수의 값을 엔트로피 디코딩하기 위해 선택된 컨텍스트와 연관된 확률 추정을 사용함으로써 엔트로피 디코딩을 사용하여, 선택된 변환의 변환 계수의 값을 디코딩함으로써, 변환 계수를 디코딩하도록 구성되고,
상기 로컬 템플릿의 선택 및 상기 매핑 중 적어도 하나가 선택된 변환에 의존하는, 디코더.
169. 실시형태 168에 있어서,
상기 값의 이진화를 이진 엔트로피 디코딩하는 것을 사용하여, 선택된 변환의 변환 계수의 값의 디코딩을 수행하도록 구성되며, 상기 선택된 컨텍스트와 연관된 확률 추정은 값이 0이거나 또는 아님을 나타내는 이진화의 빈에 사용되는, 디코더.
170. 실시형태 161 내지 169 중 어느 하나에 있어서,
선택된 변환을 데이터 스트림에서 시그널링하는 것을 수행하되,
변환 계수 데이터에 대한 선택된 변환의 시그널링의 상대 위치, 및/또는 시그널링의 구문 요소들로의 분해가 선택 가능한 변환 목록에 의존하는 방식으로, 수행하도록 구성된 디코더.
181. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상을 데이터 스트림으로 코딩하는 인코더로서, 블록 기반 잔차 코딩을 위한 변환 세트를 지원하며,
변환 세트 중에서 현재 잔차 블록에 대한 선택 가능한 변환 목록을 결정하도록 구성되고,
선택 가능한 변환 목록 중 하나의 선택된 변환을 사용하여 잔차 블록 내의 예측 잔차를 코딩하도록 구성되고,
선택된 변환을 데이터 스트림에서 변환 표시자(124)를 사용하여 시그널링(128)하도록 구성되며,
상기 변환 표시자는 하나 이상의 자릿수를 갖는 코드를 사용하여 데이터 스트림에서 시그널링되며, 상기 하나 이상의 자릿수들의 세트의 각 자릿수는 그 각각의 변환 속성과 고유하게 연관된, 인코더.
182. 실시형태 181에 있어서, 각 변환 속성은,
선택된 변환이 다단계 변환인지 여부, 및 선택된 변환이 미리 결정된 수의 변환 계수보다 적은 변환 계수를 갖는 변환인지 여부 중 하나인, 인코더.
183. 실시형태 181 또는 182에 있어서,
이웃하는 잔차 블록의 변환 표시자에 의존하는 확률 추정을 사용하는 엔트로피 코딩을 사용하여 적어도 하나의 자릿수들의 세트 중 적어도 하나의 자릿수를 코딩하도록 구성된 인코더.
191. 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림으로부터 영상을 디코딩하는 디코더로서, 블록 기반 잔차 디코딩을 위한 변환 세트를 지원하며,
변환 세트 중에서 현재 잔차 블록에 대한 선택 가능한 변환 목록을 결정하도록 구성되고,
선택 가능한 변환 목록 중 하나의 선택된 변환을 사용하여 잔차 블록 내의 예측 잔차를 데이터 스트림(14)으로부터 디코딩하도록 구성되고,
선택된 변환을 데이터 스트림으로부터 변환 표시자(124)를 사용하여 유도(128)시키도록 구성되고,
상기 변환 표시자는 하나 이상의 자릿수를 갖는 코드[예를 들어, 이진 산술 코딩을 거치는 124의 빈들, 또는 124를 구성하며 14로부터 파싱될 수 있는 구문 요소들]를 사용하여 데이터 스트림으로부터 유도되며, 상기 하나 이상의 자릿수들의 세트의 각 자릿수는 그 각각의 변환 속성과 고유하게 연관된, 디코더.
192. 실시형태 191에 있어서, 각 변환 속성은
선택된 변환이 다단계 변환인지 여부, 및 선택된 변환이 미리 결정된 수의 변환 계수보다 적은 변환 계수를 갖는 변환인지 여부 중 하나인, 디코더.
193. 실시형태 191 또는 192에 있어서,
이웃하는 잔차 블록의 변환 표시자에 의존하는 확률 추정을 사용하는 엔트로피 디코딩을 사용하여 적어도 하나의 자릿수들의 세트 중 적어도 하나의 자릿수를 디코딩하도록 구성된 디코더.
위의 인코더들/디코더들 중 임의의 것에 의해 수행되는 방법.
상기 방법들을 수행하기 위한 컴퓨터 프로그램.
본 발명의 코딩 방법들에 따라 생성된 데이터 스트림.
일부 양태들이 장치와 관련하여 설명되었지만, 이러한 양태들은 또한 대응하는 방법에 대한 설명도 나타내며, 이 경우 블록 또는 디바이스는 방법 단계 또는 방법 단계의 특징에 대응한다는 것이 명백하다. 유사하게, 방법 단계와 관련하여 설명된 양태들도 또한 대응하는 장치의 대응하는 블록 또는 물품 또는 특징을 나타낸다.
방법 단계들 중 일부 또는 전부는 예를 들어 마이크로프로세서, 프로그램 가능한 컴퓨터, 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 이를 사용하여) 실행될 수 있다. 일부 실시형태에서, 가장 중요한 방법 단계들 중 하나 이상이 그러한 장치에 의해 실행될 수 있다.
특정 구현 요건에 따라, 본 발명의 실시형태는 하드웨어 또는 소프트웨어로, 또는 적어도 부분적으로 하드웨어 또는 적어도 부분적으로 소프트웨어로 구현될 수 있다. 구현은, 각각의 방법이 수행되도록 프로그램 가능 컴퓨터 시스템과 협력하는(또는 협력할 수 있는) 전자적으로 판독 가능한 제어 신호가 저장된 디지털 저장 매체, 예컨대 플로피 디스크, DVD, 블루레이, CD, ROM, PROM, EPROM, EEPROM, 또는 FLASH 메모리를 사용하여 수행될 수 있다. 따라서, 디지털 저장 매체는 컴퓨터 판독 가능하다.
본 발명에 따른 일부 실시형태는 본원에 설명된 방법들 중 하나가 수행되도록 프로그램 가능 컴퓨터 시스템과 협력할 수 있는 전자적으로 판독 가능한 제어 신호를 갖는 데이터 캐리어를 포함한다.
일반적으로, 본 발명의 실시형태는 컴퓨터 프로그램 제품이 컴퓨터에서 실행될 때 방법들 중 하나를 수행하도록 동작하는 프로그램 코드를 갖는 컴퓨터 프로그램 제품으로서 구현될 수 있다. 프로그램 코드는 예를 들어 기계 판독 가능 캐리어에 저장될 수 있다.
다른 실시형태들은 기계 판독 가능 캐리어에 저장된 본원에 설명된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함한다.
따라서, 다시 말해, 본 발명의 방법의 일 실시형태는 컴퓨터 프로그램이 컴퓨터에서 실행될 때 본원에 설명된 방법들 중 하나를 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이다.
따라서, 본 발명의 방법의 또 다른 실시예는 데이터 캐리어(또는 디지털 저장 매체 또는 컴퓨터 판독 가능 매체)로서, 그에 기록된, 본원에 설명된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함하는 데이터 캐리어이다. 데이터 캐리어, 디지털 저장 매체, 또는 기록 매체는 일반적으로 유형의 것 및/또는 비일시적인 것이다.
따라서, 본 발명의 방법의 또 다른 실시형태는 본원에 설명된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 나타내는 데이터 스트림 또는 신호들의 시퀀스이다. 데이터 스트림 또는 신호들의 시퀀스는 데이터 통신 접속을 통해, 예를 들어 인터넷을 통해 전송되도록 구성될 수 있다.
또 다른 실시형태는 본원에 설명된 방법들 중 하나를 수행하도록 구성되거나 적응시킨 처리 수단, 예를 들어 컴퓨터 또는 프로그래밍 가능 논리 디바이스를 포함한다.
또 다른 실시형태는 본원에 설명된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램이 설치된 컴퓨터를 포함한다.
본 발명에 따른 또 다른 실시형태는 본원에 설명된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 수신기로 (예를 들어, 전자적으로 또는 광학적으로) 전송하도록 구성된 장치 또는 시스템을 포함한다. 수신기는 예를 들어 컴퓨터, 모바일 장치, 메모리 디바이스 등일 수 있다. 장치 또는 시스템은, 예를 들어, 컴퓨터 프로그램을 수신기로 전송하기 위한 파일 서버를 포함할 수 있다.
일부 실시형태에서, 프로그램 가능 논리 디바이스(예를 들어, 필드 프로그램 가능 게이트 어레이)는 본원에 설명된 방법들의 기능들 중 일부 또는 전부를 수행하는 데 사용될 수 있다. 일부 실시예에서, 필드 프로그램 가능 게이트 어레이는 본원에 설명된 방법들 중 하나를 수행하기 위해 마이크로프로세서와 협력할 수 있다. 일반적으로, 본 발명의 방법들은 바람직하게는 임의의 하드웨어 장치에 의해 수행된다.
본원에서 설명된 장치는 하드웨어 장치를 사용하거나, 컴퓨터를 사용하거나, 하드웨어 장치와 컴퓨터의 조합을 사용하여 구현될 수 있다.
본원에서 설명된 방법은 하드웨어 장치를 사용하거나, 컴퓨터를 사용하거나, 하드웨어 장치와 컴퓨터의 조합을 사용하여 수행될 수 있다.
본 개시내용은 예시적인 실시형태들을 참조하여 설명되었지만, 이 설명은 제한의 의미로 해석되도록 하려는 것이 아니다. 본 개시내용의 상기 예시적인 실시형태들뿐만 아니라 그 밖의 다른 실시형태들의 다양한 변형 및 조합은 상기 기술분야의 통상의 지식을 가진 자에게 있어서는 본 설명을 참조할 때 명백해질 것이다. 따라서, 첨부된 청구범위는 그러한 변형례들 또는 실시형태들을 포함하는 것으로 의도된다.
참고문헌
[1] J. Chen, E. Alshina, G. J. Sullivan, J-R. Ohm, J. Boyce (JEM editors) "Algorithm de-scription of Joint Exploration Test Model 7", JVET-G1001, Torino, Jul. 2017.
[2] X. Zhao, J. Chen, M. Karczewicz, "Mode-dependent non-separable secondary transform", ITU-T SG16/Q6 Doc. COM 16-C1044, Oct. 2015.
[3] C. Lan, J. Xu and F. Wu, "Enhancement of HEVC using Signal Dependent Transform (SDT)", MPEG doc. m37503, Oct. 2015 and ITU-T SG16/Q6 Doc. VCEG-AZ08, Jun. 2015.
[4] E. Alshina, A. Alshin, J.-H. Min, K. Choi, A. Saxena, M. Budagavi, '"Known tools performance investigation for next generation video coding", ITU-T SG16 Doc. VCEG-AZ05, Jun. 2015.
[5] J. Chen, Y. Chen, M. Karczewicz, X. Li, H. Liu, L. Zhang, X. Zhao, "Coding tools investigation for next generation video coding", ITU-T SG16 Doc. COM16-C806, Feb. 2015.
[6] B. Li, O. G. Guleryuz, J. Ehmann and A. Vosough, "LAYERED-GIVENS TRANSFORMS: TUNABLE COMPLEXITY, HIGH-PERFORMANCE APPROXIMATION OF OPTIMAL NON-SEPARABLE TRANSFORMS", ICIP, 2017.
[7] Said, Amir, et al. "Highly efficient non-separable transforms for next generation video coding." Picture Coding Symposium (PCS), 2016. IEEE, 2016.
[8] De Luxan Hernadez, Marpe, et al. "Predictive Picture Coding using Transform-Based Residual Coding", PCT/EP2017/067708, 2018.

Claims (205)

  1. 블록 기반 예측 및 블록 기반 잔차 코딩(residual coding)을 사용하여 영상(12)을 데이터 스트림(14)으로 코딩하는 인코더로서, 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원하며,
    현재 잔차 블록(84)의 높이 및 폭에 기초하여 변환 세트(94) 중에서 현재 잔차 블록(84)에 대한 변환의 변환 후보 목록(98)을 결정하도록(122) 구성되며,
    선택 가능한 변환 후보 목록(98) 중 하나의 선택된 변환(102)을 사용하여 상기 현재 잔차 블록(84) 내의 예측 잔차(100)를 코딩하고, 선택된 변환(102)을 데이터 스트림(14)에서 선택적으로 시그널링하도록 구성된 인코더.
  2. 제1항에 있어서,
    상기 인코더는 복수의 블록 디멘션을 지원하며,
    각 블록 디멘션에 대해, 상기 변환 세트(94)는, 도메인이 상기 각 블록 디멘션에 대응하는 변환 서브세트를 포함하고,
    상기 변환 세트(94)의 각 변환에 대해, 상기 인코더는, 도메인이 상기 변환의 코도메인(codomain)과 일치하는 역변환을 지원하며, 상기 각 변환이 선택된 잔차 블록들에서 디코딩된 영상 버퍼를 채우기 위해 이 역변환을 사용하며,
    상기 인코더는 상기 변환 후보 목록(98)을 결정할 때 그 변환 후보 목록(98)을, 도메인이 현재 잔차 블록(84)의 높이 및 폭에 대응하는 변환의 서브세트 중에서 변환들만으로 오로지 채우도록 구성된, 인코더.
  3. 제1항 또는 제2항에 있어서, 상기 변환 후보 목록(98)을 결정할 때,
    현재 잔차 블록의 높이와 폭이 제1 기준을 충족시키는 경우에는, 상기 변환 후보 목록(98)을, 도메인이 상기 현재 잔차 블록(84)의 높이 및 폭에 대응하며 코도메인이 상기 도메인보다 작은, 상기 변환의 서브세트 중에서 하나 이상의 변환들로 채우도록 구성되거나, 또는
    상기 현재 잔차 블록(84)의 높이와 폭이 제1 기준을 충족시키지 못하는 경우에는, 도메인이 상기 현재 잔차 블록(84)의 높이 및 폭에 대응하며 코도메인이 상기 도메인보다 작은, 상기 변환의 서브세트 중에서 하나 이상의 변환들을 상기 변환 후보 목록에서 제외시키도록 구성된 인코더.
  4. 제3항에 있어서,
    상기 하나 이상의 변환은 DCT-II, DST-VII, 및 DCT-III 중 하나 이상인, 인코더.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 변환 후보 목록(98)을 결정할 때,
    상기 현재 잔차 블록(84)의 높이와 폭이 제2 기준을 충족시키는 경우에는, 상기 변환 후보 목록(98)을, 도메인이 상기 현재 잔차 블록(84)의 높이 및 폭에 대응하는, 상기 변환의 서브세트 중에서 아이덴티티 변환으로 채우도록 구성되거나, 또는
    상기 현재 잔차 블록(84)의 높이와 폭이 제2 기준을 충족시키지 못하는 경우에는, 도메인이 상기 현재 잔차 블록(84)의 높이 및 폭에 대응하는, 상기 변환의 서브세트 중에서 상기 아이덴티티 변환을 상기 변환 후보 목록에서 제외시키도록 구성된 인코더.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 높이, 상기 폭, 상기 높이와 폭 모두, 및/또는 상기 높이와 폭의 곱이 특정 임계값을 초과하는지 여부를 확인함으로써 상기 제1 및/또는 제2 기준을 확인하도록 구성된 인코더.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 변환 후보 목록(98)을 결정할 때,
    상기 현재 잔차 블록(84)의 높이와 폭이 제3 기준을 충족시키는 경우에는, 상기 변환 후보 목록(98)을, 도메인이 상기 현재 잔차 블록(84)의 크기에 대응하는, 상기 변환의 서브세트 중에서 분리 가능 스펙트럼 분해 변환(separable spectrally decomposing transform)으로 채우고,
    상기 현재 잔차 블록(84)의 높이와 폭이 제3 기준을 충족시키지 못하는 경우에는, 도메인이 상기 현재 잔차 블록(84)의 크기에 대응하는, 상기 변환의 서브세트 중에서 상기 분리 가능 스펙트럼 분해 변환을 상기 변환 후보 목록(98)에서 제외시키도록 구성된 인코더.
  8. 제7항 있어서,
    상기 높이와 폭의 비가 특정 임계값을 초과하는지 여부를 확인함으로써 상기 제3 기준을 확인하도록 구성된 인코더.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 인코더는 상기 변환 후보 목록(98)을 결정할 때,
    상기 현재 잔차 블록의 높이와 폭이 제1 미리 결정된 블록 디멘션에 대응하는 경우에는, 상기 변환 후보 목록(98)을, 상기 현재 잔차 블록(84) 내의 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 제1 하위 그룹(112)에 적용되는 이차 변환(110)을 포함하는 다단계 변환(106)이며 도메인이 현재 잔차 블록(84)의 높이 및 폭에 대응하는, 상기 변환의 서브세트 중에서 제1의 하나 이상의 변환들로 채우도록 구성되거나, 또는
    상기 현재 잔차 블록(84)의 높이와 폭이 제2 미리 결정된 블록 디멘션에 대응하는 경우에는, 상기 변환 후보 목록(98)을, 상기 현재 잔차 블록 내의 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 제2 하위 그룹(112)에 적용되는 이차 변환(110)을 포함하는 다단계 변환(106)이며 도메인이 상기 현재 잔차 블록(84)의 높이 및 폭에 대응하는, 상기 변환의 서브세트 중의 제2의 하나 이상의 변환들로 채우도록 구성되고,
    상기 제1의 하나 이상의 변환의 일차 변환(108)의 제1 코도메인을 상기 제1 하나 이상의 변환의 일차 변환(108)의 제2 코도메인 상으로 이미지화하는 스케일링은 제1 코도메인 내의 제1 하위 그룹의 주변을 제2 코도메인 내의 제2 하위 그룹의 주변 상으로는 이미지화하지 않는, 인코더.
  10. 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림(14)으로부터 영상(12)을 디코딩하는 디코더로서, 상기 블록 기반 잔차 디코딩을 위한 변환 세트(94)를 지원하며,
    현재 잔차 블록(84)의 높이 및 폭에 기초하여 상기 변환 세트(94) 중에서 상기 현재 잔차 블록(84)에 대한 변환의 변환 후보 목록(98)을 결정하도록(122) 구성되며,
    상기 선택 가능한 변환 후보 목록(98) 중에서 하나의 선택된 변환(102)의 도메인에서 상기 현재 잔차 블록(84) 내의 예측 잔차(100)를 디코딩하되, 상기 선택된 변환(102)을 데이터 스트림(14)으로부터 선택적으로 유도(deriving)하면서 디코딩하도록 구성된 디코더.
  11. 제10항에 있어서,
    상기 디코더는 복수의 블록 디멘션(96)을 지원하며,
    각 블록 디멘션(96)에 대해, 상기 변환 세트(94)는, 코도메인이 상기 각 블록 디멘션(96)에 대응하는, 변환의 서브세트를 포함하고,
    상기 디코더는 상기 변환 후보 목록(98)을 결정할 때, 그 변환 후보 목록(98)을, 코도메인이 상기 현재 잔차 블록(84)의 높이 및 폭에 대응하는, 상기 변환의 서브세트 중의 변환들만으로 오로지 채우도록 구성된, 디코더.
  12. 제10항 또는 제11항에 있어서, 상기 변환 후보 목록(98)을 결정할 때,
    상기 현재 잔차 블록(84)의 높이와 폭이 제1 기준을 충족시키는 경우에는, 상기 변환 후보 목록(98)을, 코도메인이 상기 현재 잔차 블록(84)의 높이 및 폭에 대응하며 도메인이 상기 코도메인보다 작은, 상기 변환의 서브세트 중의 하나 이상의 변환들로 채우도록 구성되고,
    상기 현재 잔차 블록(84)의 높이와 폭이 제1 기준을 충족시키지 못하는 경우에는, 코도메인이 상기 현재 잔차 블록(84)의 높이 및 폭에 대응하며 도메인이 상기 도메인보다 작은, 상기 변환의 서브세트 중의 하나 이상의 변환들을 상기 변환 후보 목록(98)에서 제외시키도록 구성된, 디코더.
  13. 제12항에 있어서,
    상기 하나 이상의 변환은 역 DCT-II, DST-VII, 및 DCT-III 중 하나 이상인, 디코더.
  14. 제10항 내지 제13항 중 어느 한 항에 있어서, 상기 변환 후보 목록(98)을 결정할 때,
    상기 현재 잔차 블록(84)의 높이와 폭이 제2 기준을 충족시키는 경우에는, 상기 변환 후보 목록(98)을, 코도메인이 상기 현재 잔차 블록(84)의 높이 및 폭에 대응하는, 상기 변환의 서브세트 중에서 아이덴티티 변환으로 채우도록 구성되거나, 또는
    상기 현재 잔차 블록(84)의 높이와 폭이 제2 기준을 충족시키지 못하는 경우에는, 코도메인이 상기 현재 잔차 블록(84)의 높이 및 폭에 대응하는, 상기 변환의 서브세트 중에서 상기 아이덴티티 변환을 상기 변환 후보 목록(98)에서 제외시키도록 구성된 디코더.
  15. 제10항 내지 제14항 중 어느 한 항에 있어서,
    상기 높이, 상기 폭, 상기 높이와 폭 모두, 및/또는 상기 높이와 폭의 곱이 특정 임계값을 초과하는지 여부를 확인함으로써 상기 제1 및/또는 제2 기준을 확인하도록 구성된 디코더.
  16. 제10항 내지 제15항 중 어느 한 항에 있어서, 상기 변환 후보 목록(98)을 결정할 때,
    상기 현재 잔차 블록(84)의 높이와 폭이 제3 기준을 충족시키는 경우에는, 상기 변환 후보 목록(98)을, 코도메인이 상기 현재 잔차 블록(84)의 크기에 대응하는, 상기 변환의 서브세트 중에서 분리 가능 스펙트럼 분해 변환으로 채우도록 구성되거나, 또는
    상기 현재 잔차 블록(84)의 높이와 폭이 제3 기준을 충족시키지 못하는 경우에는, 코도메인이 상기 현재 잔차 블록(84)의 크기에 대응하는, 상기 변환의 서브세트 중에서 상기 분리 가능 스펙트럼 분해 변환을 상기 변환 후보 목록에서 제외시키도록 구성된 디코더.
  17. 제16항 있어서,
    상기 높이와 폭의 비가 특정 임계값을 초과하는지 여부를 확인함으로써 상기 제3 기준을 확인하도록 구성된 디코더.
  18. 제10항 내지 제17항 중 어느 한 항에 있어서, 상기 변환 후보 목록(98)을 결정할 때,
    상기 현재 잔차 블록(84)의 높이와 폭이 제1 미리 결정된 블록 디멘션에 대응하는 경우에는, 상기 변환 후보 목록(98)을, 상기 현재 잔차 블록(84) 내의 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 제1 하위 그룹(112)에 적용되는 이차 변환(110)을 포함하는 다단계 변환(106)을 역전(reverse)시키고 코도메인이 현재 잔차 블록(84)의 높이 및 폭에 대응하는, 상기 변환의 서브세트 에서 제1의 하나 이상의 변환들로 채우도록 구성되거나, 또는
    상기 현재 잔차 블록(84)의 높이와 폭이 제2 미리 결정된 블록 디멘션에 대응하는 경우에는, 상기 변환 후보 목록(98)을, 상기 현재 잔차 블록(84) 내의 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 제2 하위 그룹(112)에 적용되는 이차 변환(110)을 포함하는 다단계 변환(106)을 역전시키며 코도메인이 상기 현재 잔차 블록(84)의 높이 및 폭에 대응하는, 상기 변환의 서브세트 중의 제2 하나 이상의 변환들로 채우도록 구성되고,
    상기 제1 하나 이상의 변환의 일차 변환(108)의 제1 코도메인을 상기 제1 하나 이상의 변환의 일차 변환(108)의 제2 코도메인 상으로 이미지화하는 스케일링은, 제1 코도메인 내의 제1 하위 그룹의 주변(circumference)을 제2 코도메인 내의 제2 하위 그룹의 주변 상으로는 이미지화하지 않는, 디코더.
  19. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로 코딩하는 방법으로서, 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원하는, 코딩 방법에 있어서,
    현재 잔차 블록(84)의 높이 및 폭에 기초하여 변환 세트(94) 중에서 현재 잔차 블록(84)에 대한 변환의 변환 후보 목록(98)을 결정하는 단계(122), 및
    선택 가능한 변환 후보 목록(98) 중 하나의 선택된 변환(102)을 사용하여 상기 현재 잔차 블록(84) 내의 예측 잔차(100)를 코딩하고, 선택된 변환(102)을 데이터 스트림(14)에서 선택적으로 시그널링하는 단계를 포함하는 코딩 방법.
  20. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 데이터 스트림(14)으로부터 영상(12)을 디코딩하는 방법으로서, 블록 기반 잔차 디코딩을 위한 변환 세트(94)를 지원하는, 디코딩 방법에 있어서,
    현재 잔차 블록(84)의 높이 및 폭에 기초하여 상기 변환 세트(94) 중에서 상기 현재 잔차 블록(84)에 대한 변환의 변환 후보 목록(98)을 결정하는 단계(122), 및
    선택 가능한 상기 변환 후보 목록(98) 중에서 하나의 선택된 변환(102)의 도메인에서 상기 현재 잔차 블록(84) 내의 예측 잔차(100)를 디코딩하되, 상기 선택된 변환(102)을 데이터 스트림(14)으로부터 유도하면서 디코딩하는 단계를 포함하는, 디코딩 방법.
  21. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(picture)(12)을 데이터 스트림(14)으로 코딩하는 인코더로서, 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원하며,
    상기 변환 세트(94) 중에서 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)을 결정하도록(130) 구성되고;
    변환 계수 데이터(126)를 선택 가능한 상기 변환 후보 목록(98) 중 하나의 선택된 변환(102)을 사용하여 상기 현재 잔차 블록(84) 내의 예측 잔차(100)를 나타내는 데이터 스트림(14)으로 코딩하도록 구성되고;
    상기 선택된 변환(102)을 데이터 스트림(14)에서 시그널링하도록(128) 그리고/또는 선택 가능한 변환 후보 목록(98)의 결정(130)을 변환 계수 데이터(126) 또는 변환 계수 데이터(126)의 일부에 의존하여 수행하도록 구성된 인코더.
  22. 제21항에 있어서,
    선택 가능한 상기 변환 후보 목록(98)을, 변환 계수 데이터(126) 또는 변환 계수 데이터(126)의 일부에 따라 개수가 달라지는, 상기 변환 세트(94) 중의 다수의 변환들로 채움으로써, 선택 가능한 상기 변환 후보 목록(98)을 결정하도록(130) 구성되며,
    상기 선택된 변환(102)을 시그널링하기 위해 데이터 스트림(14)에서 소비되는 코드 레이트(code rate)가 낮을수록 상기 개수가 적어지도록 하는 방식으로, 상기 데이터 스트림(14)에서 상기 선택된 변환(102)의 시그널링(128)을 수행하도록 구성된 인코더.
  23. 제21항에 있어서,
    선택 가능한 상기 변환 후보 목록(98)을 변환 계수 데이터(126) 또는 변환 계수 데이터(126)의 일부에 따라 정렬함으로써, 선택 가능한 상기 변환 후보 목록(98)을 결정하도록(130) 구성되며,
    선택 가능한 상기 변환 후보 목록(98) 내 변환들의 순서에 따라 선택 가능한 상기 변환 후보 목록(98)의 변환들에 코드워드(cordword)가 할당된, 가변 길이 코드를 사용하여, 상기 데이터 스트림(14)에서의 선택된 변환(102)의 시그널링(128)을 수행하도록 구성된 인코더.
  24. 제22항 또는 제23항에 있어서,
    상기 인코더는, 상기 변환 계수 데이터(126)가 상기 선택된 변환(102)의 유의미 변환 계수 위치(132)의 표시(indication)와, 상기 선택된 변환(102)의 계수 위치들을 순차적으로 가로지르는(traverse) 미리 결정된 스캔 순서(136)에 의해 상기 유의미 변환 계수 위치(132)로부터 전방으로 가로질러지는(traversed) 상기 선택된 변환(102)의 변환 계수들(134)의 값을 포함하도록 구성되고,
    상기 결정(130)은 상기 표시에 의존하는, 인코더.
  25. 제24항에 있어서,
    상기 선택된 변환(102)을 상기 데이터 스트림(14)에서 시그널링(128)하기 이전에 상기 표시의 대략적 버전(coarse version)을 데이터 스트림(14)으로 코딩하도록 - 상기 결정(130)은 상기 표시의 대략적 버전에 의존함 - 구성되고,
    상기 시그널링에 후속해서, 상기 선택된 변환(102)에 의존하여, 상기 표시의 대략적 버전의 정교화 버전(refinement)을 상기 데이터 스트림(14)으로 코딩하도록 구성된 인코더.
  26. 제25항에 있어서,
    상기 유의미 변환 계수 위치(132)가 변환 계수들(134)의 하위 그룹(138) 내에 있는지 여부를 나타내는 힌트를 상기 대략적 버전으로서 코딩하도록 구성되고,
    상기 유의미 변환 계수 위치(132)가 하위 그룹(138) 내에 있는 경우에는 상기 유의미 변환 계수 위치(132)를 상기 하위 그룹(138) 내의 위치들 중에서 구별하며, 상기 유의미 변환 계수 위치(132)가 상기 하위 그룹(138) 밖에 있는 경우에는 상기 유의미 변환 계수 위치(132)를 상기 하위 그룹(138) 밖의 위치들 중에서 구별하는 상대 위치 정보를 상기 정교화 버전으로서 코딩하도록 구성된 인코더.
  27. 제26항에 있어서,
    상기 유의미 변환 계수 위치(132)가 상기 하위 그룹(138) 내에 있음을 나타내는 힌트의 경우에는, 선택 가능한 상기 목록(98)이 상기 현재 잔차 블록의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환(106)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환(106)을 포함함으로써, 상기 선택된 변환(102)의 변환 계수들의 하위 그룹(138)이 생성되게끔, 그 선택 가능한 목록을 결정하도록 구성되고,
    상기 유의미 변환 계수 위치(132)가 상기 하위 그룹(138) 내에 있지 않음을 나타내는 힌트의 경우에는, 선택 가능한 상기 목록(98)이 상기 적어도 하나의 다단계 변환(106)을 포함하지 않게끔 그 선택 가능한 상기 목록(98)을 결정하도록 구성된 인코더.
  28. 제27항에 있어서,
    가변 길이 코딩(VLC: variable length coding)을 사용하여 상기 상대 위치 정보를 코딩하되,
    상기 유의미 변환 계수 위치(132)가 상기 하위 그룹(138) 내에 있음을 나타내는 힌트의 경우에는 상기 하위 그룹(138) 내의 계수의 개수에 해당하는 제1 최대 개수의 코드들로 코딩하고, 그리고/또는
    상기 유의미 변환 계수 위치(132)가 상기 하위 그룹(138) 내에 있지 않음을 나타내는 힌트의 경우에는 상기 하위 그룹(138) 밖의 계수의 개수에 해당하는 제2 최대 개수의 코드들로 코딩하도록 구성된 인코더.
  29. 제26항 내지 제28항 중 어느 한 항에 있어서,
    상기 유의미 변환 계수 위치(132)가 상기 하위 그룹(138) 내에 있음을 나타내는 힌트의 경우, 상기 선택된 변환이 상기 적어도 하나의 다단계 변환(106) 중에 있는지 여부를 나타내고, 그리고/또는 상기 적어도 하나의 다단계 변환(106) 중에서 어느 것이 선택된 변환인지를 나타내는 이차 변환 표시자를 상기 대략적 버전 이후 그리고 상기 정교화 버전 이전에 코딩하도록 구성된 인코더.
  30. 제26항 내지 제29항 중 어느 한 항에 있어서,
    상기 유의미 변환 계수 위치(132)가 상기 하위 그룹(138) 내에 있음을 나타내는 힌트의 경우, 상기 하위 그룹(138) 내의 변환 계수들을 컨텍스트 적응적으로 엔트로피 코딩하기 위해 이차 변환 표시자에 의존하는 컨텍스트들을 사용하도록 구성된 인코더.
  31. 제29항 또는 제30항에 있어서,
    상기 유의미 변환 계수 위치(132)가 상기 하위 그룹(138) 내에 있지 않음을 나타내는 힌트의 경우, 상기 하위 그룹(138) 내와 밖의 변환 계수들을 컨텍스트 적응적으로 엔트로피 코딩하도록 구성된 인코더.
  32. 제21항 내지 제31항 중 어느 한 항에 있어서,
    상기 인코더는 상기 선택된 변환(102)의 다수의 유의미 변환 계수(134)를 카운트하도록 구성되고,
    선택 가능한 상기 목록(98)의 결정(130)은 상기 카운트에 의존하는, 인코더.
  33. 제21항 내지 제32항 중 어느 한 항에 있어서,
    상기 선택된 변환(102)의 변환 계수들(134)의 상기 하위 그룹(138) 내의 선택된 변환(102)의 상기 유의미 변환 계수의 개수가 특정 임계값을 초과하는지 여부와 관련하여 변환 계수 데이터(126)를 평가하도록 구성되고;
    상기 카운트에 의존하여 상기 결정(130)을 수행하되,
    상기 개수가 특정 임계값보다 큰 경우에는,
    상기 현재 잔차 블록(84)에 대한 선택 가능한 상기 변환 후보 목록(98)이, 상기 현재 잔차 블록(84)의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환(106)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환(106)으로 채워져서, 상기 선택된 변환(102)의 변환 계수들의 하위 그룹(138)이 생성되도록 수행하고,
    상기 개수가 특정 임계값보다 작은 경우에는,
    상기 현재 잔차 블록(84)에 대한 선택 가능한 상기 변환 후보 목록(98)이, 상기 현재 잔차 블록(84)의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환의 일차 변환 계수(114)의 하위 그룹(138)에 적용되는 이차 변환을 포함하는 어떤 다단계 변환(106)으로도 채워지지 않게끔 수행하도록 구성된 인코더.
  34. 제21항 내지 제33항 중 어느 한 항에 있어서,
    상기 변환 후보 목록(98)의 변환들이 코도메인에서 일치하게끔 상기 변환 후보 목록(98)을 결정하도록 구성된 인코더.
  35. 제21항 내지 제34항 중 어느 한 항에 있어서,
    상기 변환 후보 목록(98)의 변환은 코도메인에서 일치하는 제1 변환과 제2 변환을 포함하고,
    상기 제2 변환은 상기 제1 변환(108)의 일차 변환 계수들(114)의 하위 그룹(112)에 적용되는 이차 변환에 대응하며, 상기 제1 변환(108)의 일차 변환 계수들의 하위 그룹(112) 밖의 상기 제1 변환(108)의 또 다른 일차 변환 계수들(114)은 0으로 설정된, 인코더.
  36. 제35항에 있어서,
    상기 제1 변환(108)의 일차 변환 계수들의 하위 그룹(112) 밖의 상기 제1 변환(108)의 또 다른 일차 변환 계수들(114)을 0으로 설정함으로써 상기 현재 잔차 블록(84)을 상기 제2 변환에 대해 시험 코딩하도록 구성된 인코더.
  37. 제21항 내지 제36항 중 어느 한 항에 있어서,
    상기 현재 잔차 블록(84)의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환(108)의 일차 변환 계수들(114)의 하위 그룹(112)에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환(106)을, 상기 변환 후보 목록(98)에 채우거나 또는 상기 변환 후보 목록(98)에서 제외시켜서, 상기 선택된 변환(102)의 상기 변환 계수들의 하위 그룹(138)이 생성되도록 할지 여부를 결정하거나, 또는
    상기 변환 후보 목록에서, 변환 계수 데이터(126)에 따라 유의미 변환 계수가 배치되는 위치에 의존하여 상기 적어도 하나의 다단계 변환(106)이 배치되는 곳을 결정하도록 구성된 인코더.
  38. 제21항 내지 제37항 중 어느 한 항에 있어서,
    상기 현재 잔차 블록(84)의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환(108)의 일차 변환 계수들(114)의 하위 그룹(112)에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환(106)을, 상기 변환 후보 목록(98)에 채우거나 또는 상기 변환 후보 목록(98)에서 제외시켜서, 상기 선택된 변환(102)의 변환 계수들의 하위 그룹(138)이 생성되도록 할지 여부를 결정하거나, 또는
    상기 변환 후보 목록(98)에서, 변환 계수들의 하위 그룹(138) 밖의 임의의 변환 계수가 변환 계수 데이터(126)에 따라 유의미인지 여부에 의존하여 상기 적어도 하나의 다단계 변환(106)이 배치되는 곳을 결정하도록 구성된 인코더.
  39. 제21항 내지 제38항 중 어느 한 항에 있어서,
    상기 현재 잔차 블록(84)의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환(106)의 일차 변환 계수들(114)의 하위 그룹(112)에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환(106)을, 상기 변환 후보 목록(98)에 채우거나 또는 상기 변환 후보 목록(98)에서 제외시켜서, 상기 선택된 변환(102)의 변환 계수들의 하위 그룹(138)이 생성되도록 할지 여부를 결정하거나, 또는
    상기 변환 후보 목록(98)에, 변환 계수들의 하위 그룹(112) 내에 있지만 하위 그룹(138) 밖에 있는 임의의 변환 계수가 변환 계수 데이터(126)에 따라 유의미인지 여부에 의존하여 상기 적어도 하나의 다단계 변환(106)이 배치되는 곳을 결정하도록 구성된 인코더.
  40. 제21항 내지 제39항 중 어느 한 항에 있어서,
    상기 현재 잔차 블록(84)의 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수들(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 포함하는 적어도 하나의 다단계 변환(106)을 상기 변환 후보 목록(98)에 채우거나 또는 상기 변환 후보 목록(98)에서 제외시켜서, 상기 현재 잔차 블록(84)의 예측 잔차(100) 내 잔차 샘플들(105)보다 개수가 더 적으며, 변환 계수 위치에서, 일차 변환(108)과 동일한 변환 후보 목록(98) 내 또 다른 변환의 변환 계수들(134)의 서브세트(138)에 대응하는, 다단계 변환(106)의 변환 계수들(134)이 생성되도록 할지 여부를 결정하거나, 여기서 상기 일차 변환(108)의 일차 변환 계수(114)는 상기 다단계 변환(106)의 변환 계수(134)보다 개수가 더 많음, 또는
    상기 변환 후보 목록(98)에서, 상기 적어도 하나의 다단계 변환(106)이 상기 또 다른 변환과 관련되어 배치되되,
    유의미 변환 계수가 변환 계수 데이터(126)에 따라 배치되는 위치에 의존하거나, 또는
    상기 유의미 변환 계수가 상기 변환 계수 데이터(126)에 따라 변환 계수들의 하위 그룹(138) 밖에 배치되는지 여부에 의존하거나, 또는
    상기 유의미 변환 계수가 상기 변환 계수 데이터(126)에 따라 일차 변환 계수들(114)의 하위 그룹(112) 밖에 배치되는지 여부에 의존하여 배치되는 곳을 결정하도록 구성된 인코더.
  41. 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림(14)으로부터 영상(12)을 디코딩하는 디코더로서, 블록 기반 잔차 디코딩을 위한 변환 세트(94)를 지원하며,
    상기 변환 세트(94) 중에서 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)을 결정하도록(130) 구성되고;
    선택 가능한 상기 변환 후보 목록(98) 중 하나의 선택된 변환(102)을 사용하여 상기 현재 잔차 블록(84) 내의 예측 잔차(100)를 나타내는 데이터 스트림(14)으로부터 변환 계수 데이터(126)를 디코딩하도록 구성되고;
    상기 선택된 변환(102)을 데이터 스트림(14)으로부터 유도시키고(128) 그리고/또는 선택 가능한 상기 목록(98)의 결정(130)을 변환 계수 데이터(126) 또는 변환 계수 데이터(126)의 일부 데이터에 의존하여 수행하도록 구성된 디코더.
  42. 제41항에 있어서,
    선택 가능한 상기 변환 후보 목록(98)을, 변환 계수 데이터(126) 또는 변환 계수 데이터의 일부에 따라 개수가 달라지는, 상기 변환 세트(94) 중의 다수의 변환들로 채움으로써, 선택 가능한 상기 변환 후보 목록(98)을 결정하도록(130) 구성되며,
    상기 선택된 변환(102)을 시그널링하기 위해 상기 데이터 스트림(14)에서 소비되는 코드 레이트가 낮을수록 상기 개수가 적어지도록 하는 방식으로, 상기 데이터 스트림(14)에서의 상기 선택된 변환(102)의 시그널링(128)을 수행하도록 구성된 디코더.
  43. 제41항에 있어서,
    상기 선택 가능한 변환 후보 목록(98)을 상기 변환 계수 데이터(126) 또는 변환 계수 데이터(126)의 일부에 따라 정렬함으로써, 선택 가능한 상기 변환 후보 목록(98)을 결정하도록(130) 구성되며,
    상기 선택 가능한 변환 후보 목록(98) 내 변환들의 순서에 따라 선택 가능한 변환 후보 목록(98)의 변환들에 코드워드가 할당된 가변 길이 코드를 사용하여, 상기 데이터 스트림에서 상기 선택된 변환(102)의 시그널링(128)을 수행하도록 구성된 디코더.
  44. 제42항 또는 제43항에 있어서,
    상기 디코더는, 상기 변환 계수 데이터(126)가 선택된 변환(102)의 유의미 변환 계수 위치(132)의 표시와, 상기 선택된 변환의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서(136)에 의해 상기 유의미 변환 계수 위치(132)로부터 전방으로 가로지르는 상기 선택된 변환의 변환 계수들(134)의 값을 포함하도록 구성되고,
    상기 결정(130)은 상기 표시에 의존하는, 디코더.
  45. 제44항에 있어서,
    상기 선택된 변환(102)이 데이터 스트림(14)으로부터 유도되기 전에 데이터 스트림(14)으로부터 상기 표시의 대략적 버전을 디코딩하도록, 여기서 상기 결정(130)은 상기 표시의 대략적 버전에 의존함, 구성되고,
    상기 유도에 후속해서, 상기 선택된 변환(102)에 의존하여, 데이터 스트림(14)으로부터 상기 표시의 대략적 버전의 정교화 버전을 디코딩하도록 구성된 디코더.
  46. 제45항에 있어서,
    상기 유의미 변환 계수 위치(132)가 상기 변환 계수들(134)의 하위 그룹(138) 내에 있는지 여부를 나타내는 힌트를 상기 대략적 버전으로서 디코딩하도록 구성되고,
    상기 유의미 변환 계수 위치(132)가 상기 하위 그룹(138) 내에 있는 경우에는 상기 유의미 변환 계수 위치(132)를 상기 하위 그룹(138) 내의 위치들 중에서 구별하며 상기 유의미 변환 계수 위치(132)가 상기 하위 그룹(138) 밖에 있는 경우에는 상기 유의미 변환 계수 위치(132)를 상기 하위 그룹(138) 밖의 위치들 중에서 구별하는 상대 위치 정보를 상기 정교화 버전으로서 디코딩하도록 구성된 디코더.
  47. 제46항에 있어서,
    상기 유의미 변환 계수 위치(132)가 하위 그룹(138) 내에 있음을 나타내는 힌트의 경우에는, 선택 가능한 변환 후보 목록(98)이 현재 잔차 블록의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환(106)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환(106)을 포함함으로써, 선택된 변환(102)의 변환 계수들의 하위 그룹(138)이 생성되게끔, 그 선택 가능한 목록을 결정하도록 구성되고,
    상기 유의미 변환 계수 위치(132)가 하위 그룹(138) 내에 있지 않음을 나타내는 힌트의 경우에는, 선택 가능한 상기 목록(98)이 상기 적어도 하나의 다단계 변환(106)을 포함하지 않게끔 그 선택 가능한 상기 목록을 결정하도록 구성된 디코더.
  48. 제47항에 있어서,
    가변 길이 코딩(VLC: variable length coding)을 사용하여 상기 상대 위치 정보를 디코딩하되,
    상기 유의미 변환 계수 위치(132)가 상기 하위 그룹(138) 내에 있음을 나타내는 힌트의 경우에는 상기 하위 그룹(138) 내의 계수의 개수에 해당하는 제1 최대 개수의 코드들로 디코딩하고, 그리고/또는
    상기 유의미 변환 계수 위치(132)가 상기 하위 그룹(138) 내에 있지 않음을 나타내는 힌트의 경우에는 상기 하위 그룹(138) 밖의 계수의 개수에 해당하는 제2 최대 개수의 코드들로 디코딩하도록 구성된 디코더.
  49. 제46항 내지 제48항 중 어느 한 항에 있어서,
    상기 유의미 변환 계수 위치(132)가 상기 하위 그룹(138) 내에 있음을 나타내는 힌트의 경우, 상기 선택된 변환이 상기 적어도 하나의 다단계 변환(106) 중에 있는지 여부를 나타내고 그리고/또는 상기 적어도 하나의 다단계 변환(106) 중에서 어느 것이 선택된 변환인지를 나타내는 이차 변환 표시자를 상기 대략적 버전 이후이지만 상기 정교화 버전 이전에 디코딩하도록 구성된 디코더.
  50. 제46항 내지 제49항 중 어느 한 항에 있어서,
    상기 유의미 변환 계수 위치(132)가 상기 하위 그룹(138) 내에 있음을 나타내는 힌트의 경우, 상기 하위 그룹(138) 내의 변환 계수들을 컨텍스트 적응적으로 엔트로피 디코딩하기 위해 이차 변환 표시자에 의존하는 컨텍스트들을 사용하도록 구성된 디코더.
  51. 제49항 또는 제50항에 있어서,
    상기 유의미 변환 계수 위치(132)가 상기 하위 그룹(138) 내에 있지 않음을 나타내는 힌트의 경우, 상기 하위 그룹(138) 내와 밖의 변환 계수들을 컨텍스트 적응적으로 엔트로피 디코딩하도록 구성된 디코더.
  52. 제41항 내지 제51항 중 어느 한 항에 있어서,
    상기 디코더는 상기 선택된 변환(102)의 다수의 유의미 변환 계수(134)를 카운트하도록 구성되고,
    상기 결정(130)은 상기 카운트에 의존하는, 디코더.
  53. 제41항 내지 제52항 중 어느 한 항에 있어서,
    상기 선택된 변환(102)의 변환 계수들(134)의 하위 그룹(138) 내의 상기 선택된 변환(102)의 유의미 변환 계수(134)의 개수가 특정 임계값을 초과하는지 여부와 관련하여 변환 계수 데이터(126)를 평가하도록 구성되고;
    상기 카운트에 의존하여 상기 결정(130)을 수행하되,
    상기 개수가 특정 임계값보다 큰 경우에는,
    상기 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)이, 상기 현재 잔차 블록의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환(106)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환(106)으로 채워져서, 상기 선택된 변환(102)의 변환 계수들의 하위 그룹(138)이 생성되도록 수행하고,
    상기 개수가 특정 임계값보다 작은 경우에는,
    상기 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)이, 상기 현재 잔차 블록(84)의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환의 일차 변환 계수들의 하위 그룹(138)에 적용되는 이차 변환을 포함하는 어떤 다단계 변환(106)으로도 채워지지 않게끔 수행하도록 구성된 디코더.
  54. 제41항 내지 제53항 중 어느 한 항에 있어서,
    상기 변환 후보 목록(98)의 변환들이 코도메인에서 일치하게끔 상기 변환 후보 목록(98)을 결정하도록 구성된 디코더.
  55. 제41항 내지 제54항 중 어느 한 항에 있어서,
    상기 현재 잔차 블록(84)의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환(106)의 일차 변환 계수들(114)의 하위 그룹(112)에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환(106)을, 상기 변환 후보 목록(98)에 채우거나 또는 상기 변환 후보 목록(98)에서 제외시켜서, 상기 선택된 변환(102)의 변환 계수들의 하위 그룹(138)이 생성되도록 할지 여부를 결정하거나, 또는
    상기 변환 후보 목록(98)에서, 변환 계수 데이터(126)에 따라 유의미 변환 계수가 배치되는 위치에 의존하여 상기 적어도 하나의 다단계 변환(106)이 배치되는 곳을 결정하도록 구성된 디코더.
  56. 제41항 내지 제55항 중 어느 한 항에 있어서,
    상기 현재 잔차 블록(84)의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환(106)의 일차 변환 계수들(114)의 하위 그룹(112)에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환(106)을, 상기 변환 후보 목록(98)에 채우거나 또는 상기 변환 후보 목록(98)에서 제외시켜서, 상기 선택된 변환(102)의 변환 계수들의 하위 그룹(138)이 생성되도록 할지 여부를 결정하거나, 또는
    상기 변환 후보 목록(98)에서, 상기 변환 계수들의 하위 그룹(138) 밖의 임의의 변환 계수가 변환 계수 데이터(126)에 따라 유의미인지 여부에 의존하여 상기 적어도 하나의 다단계 변환(106)이 배치되는 곳을 결정하도록 구성된 디코더.
  57. 제41항 내지 제56항 중 어느 한 항에 있어서,
    상기 현재 잔차 블록(84)의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환(106)의 일차 변환 계수들(114)의 하위 그룹(112)에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환(106)을, 상기 변환 후보 목록(98)에 채우거나 또는 상기 변환 후보 목록(98)에서 제외시켜서, 상기 선택된 변환(102)의 변환 계수들의 하위 그룹(138)이 생성되도록 할지 여부를 결정하거나, 또는
    상기 변환 후보 목록(98)에서, 변환 계수들의 하위 그룹(112) 내에 있지만 하위 그룹(138) 밖에 있는 임의의 변환 계수가 변환 계수 데이터(126)에 따라 유의미인지 여부에 의존하여 상기 적어도 하나의 다단계 변환(106)이 배치되는 곳을 결정하도록 구성된 디코더.
  58. 제41항 내지 제57항 중 어느 한 항에 있어서,
    상기 현재 잔차 블록(84)의 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수들(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 포함하는 적어도 하나의 다단계 변환(106)을 상기 변환 후보 목록(98)에 채우거나 또는 상기 변환 후보 목록(98)에서 제외시켜서, 상기 현재 잔차 블록(84)의 예측 잔차(100) 내 잔차 샘플들(105)보다 개수가 더 적으며, 변환 계수 위치에서, 일차 변환(108)과 동일한 변환 후보 목록(98) 내 또 다른 변환의 변환 계수들(134)의 서브세트(138)에 대응하는, 다단계 변환(106)의 변환 계수들(134)이 생성되도록 할지 여부를 결정하거나, 여기서 상기 일차 변환(108)의 일차 변환 계수(114)는 상기 다단계 변환(106)의 변환 계수(134)보다 개수가 더 많음, 또는
    상기 변환 후보 목록(98)에서, 상기 적어도 하나의 다단계 변환(106)이 상기 또 다른 변환과 관련되어 배치되되,
    유의미 변환 계수가 변환 계수 데이터(126)에 따라 배치되는 위치에 의존하거나, 또는
    상기 유의미 변환 계수가 상기 변환 계수 데이터(126)에 따라 변환 계수들의 하위 그룹(138) 밖에 배치되는지 여부에 의존하거나, 또는
    상기 유의미 변환 계수가 상기 변환 계수 데이터(126)에 따라 일차 변환 계수들(114)의 하위 그룹(112) 밖에 배치되는지 여부에 의존하여 배치되는 곳을 결정하도록 구성된 디코더.
  59. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로 코딩하는 방법으로서, 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원하는, 코딩 방법에 있어서,
    상기 변환 세트(94) 중에서 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)을 결정하는 단계(130);
    변환 계수 데이터(126)를 선택 가능한 상기 변환 후보 목록(98) 중 하나의 선택된 변환(102)을 사용하여 상기 현재 잔차 블록(84) 내의 예측 잔차(100)를 나타내는 데이터 스트림(14)으로 코딩하는 단계;
    상기 선택된 변환(102)을 데이터 스트림(14)에서 시그널링하고(128) 그리고/또는 선택 가능한 상기 목록(98)의 결정(130)을 변환 계수 데이터(126) 또는 변환 계수 데이터(126)의 일부에 의존하여 수행하는 단계를 포함하는 코딩 방법.
  60. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 데이터 스트림(14)으로부터 영상(12)을 디코딩하는 방법으로서, 블록 기반 잔차 디코딩을 위한 변환 세트(94)를 지원하는, 디코딩 방법에 있어서,
    상기 변환 세트(94) 중에서 상기 현재 잔차 블록에 대한 선택 가능한 상기 변환 후보 목록(98)을 결정하는 단계(130);
    선택 가능한 상기 변환 후보 목록(98) 중 하나의 선택된 변환(102)을 사용하여 상기 현재 잔차 블록(84) 내의 예측 잔차(100)를 나타내는 데이터 스트림(14)으로부터 변환 계수 데이터(126)를 디코딩하는 단계;
    상기 선택된 변환(102)을 상기 데이터 스트림(14)으로부터 유도시키고(128) 그리고/또는 선택 가능한 변환 후보 목록(98)의 결정(130)을 변환 계수 데이터(126) 또는 변환 계수 데이터(126)의 일부 데이터에 의존하여 수행하는 단계를 포함하는 디코딩 방법.
  61. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로 코딩하는 인코더로서, 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원하며,
    상기 변환 세트(94) 중에서 상기 현재 잔차 블록(84)에 대한 선택 가능한 상기 변환 후보 목록(98)을 결정하도록(130) 구성되고;
    선택된 변환을 데이터 스트림(14)에서 시그널링(128)하도록 구성되고,
    선택 가능한 상기 변환 후보 목록(98) 중 하나의 선택된 변환(102)을 사용하여 상기 현재 잔차 블록(84) 내의 예측 잔차(100)를 나타내는 변환 계수(134)를 코딩하되(140), 상기 선택된 변환(102) 또는 선택 가능한 상기 변환 후보 목록(98)에 의존하여 코딩하도록 구성된 인코더.
  62. 제61항에 있어서,
    상기 선택 가능한 변환 후보 목록(98)이 변환 계수(134)의 개수가 상이한 변환들을 포함하고,
    상기 변환 계수(134)를 코딩하기 위해 상기 데이터 스트림(14)에서 소비되는 코드 레이트가 낮을수록 선택된 변환(102)의 상기 변환 계수(134)의 개수가 적어지도록 하는 방식으로, 상기 변환 계수(134)의 코딩을 수행하도록 구성된 인코더.
  63. 제61항 또는 제62항에 있어서,
    선택 가능한 상기 변환 후보 목록(98)이 상기 변환 계수(134)의 개수가 상이한 변환들을 포함하고,
    상기 변환 계수(134)의 코딩은, 상기 선택된 변환(102)의 유의미 변환 계수 위치(132)의 표시의 코딩와, 상기 선택된 변환(102)의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서(136)에 의해 상기 유의미 변환 계수 위치(132)로부터 전방으로 가로지르는 상기 선택된 변환(102)의 변환 계수들(134)의 값의 코딩을 포함하고,
    상기 인코더는 상기 변환 계수(134)를 코딩하되,
    상기 표시의 코딩을 위해 상기 데이터 스트림(14)에서 소비되는 코드 레이트가 낮을수록 상기 선택된 변환(102)의 변환 계수(134)의 개수가 적어지도록 하는 방식으로, 코딩도록 구성된 인코더.
  64. 제61항 또는 제62항에 있어서,
    선택 가능한 상기 변환 후보 목록(98)이 제1 개수의 변환 계수들(134)의 변환들과, 상기 제1 개수보다 많은 제2 개수의 변환 계수들(134)의 변환들을 포함하고,
    상기 변환 계수(134)의 코딩은,
    상기 선택된 변환(102)의 변환 계수(134)의 개수가 상기 제2 개수인 경우,
    상기 선택된 변환(102)의 유의미 변환 계수 위치(132)의 표시의 코딩와, 상기 선택된 변환(102)의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서(136)에 의해 상기 유의미 변환 계수 위치(132)로부터 전방으로 가로지르는 상기 선택된 변환(102)의 변환 계수들(134)의 값의 코딩을 포함하고,
    상기 선택된 변환(102)의 변환 계수(134)의 개수가 상기 제1 개수인 경우,
    상기 선택된 변환(102)의 변환 계수(134)의 상기 제1 개수 모두의 값의 코딩을 포함하는, 인코더.
  65. 제61항 내지 제64항 중 어느 한 항에 있어서,
    선택 가능한 상기 변환 후보 목록(98)이, 상기 현재 잔차 블록(84)에 적용되는 일차 변환 및 일차 변환의 일차 변환 계수들(134)의 하위 그룹(138)에 적용되는 이차 변환을 각각이 포함하는 적어도 하나의 다단계 변환을 포함하고, 상기 하위 그룹(138)은 상기 적어도 하나의 다단계 변환들 중의 각기 다른 변환들마다 다르고,
    상기 인코더는 상기 변환 계수(134)를 코딩하되,
    상기 선택된 변환(102)의 유의미 변환 계수 위치(132)의 표시를 코딩하고, 상기 선택된 변환의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서(136)에 의해 상기 유의미 변환 계수 위치(132)로부터 전방으로 가로지르는 상기 선택된 변환(102)의 변환 계수들(134)의 값을 코딩함으로써, - 여기서, 상기 표시는 상기 선택된 변환이 다단계 변환이면, 상기 유의미 변환 계수 위치(132)가 변환 계수들(134)의 하위 그룹(138) 내에 있는지 여부의 플래그를 포함하고, 상기 변환 계수 위치가 변환 계수들(134)의 하위 그룹(138) 내에 있으면, 상기 표시는 상기 유의미 변환 계수 위치(132)를 상기 선택된 변환(102)의 모든 변환 계수들(134) 중에서 상기 미리 결정된 스캔 순서(136)에 따라 마지막으로 가로지른 위치에 대해서 나타내고, 상기 변환 계수 위치가 상기 변환 계수들(134)의 하위 그룹(138) 내에 있지 않으면, 상기 표시는 상기 유의미 변환 계수 위치를 상기 하위 그룹(138) 내에 있지 않은 모든 변환 계수들(134) 중에서 상기 미리 결정된 스캔 순서(136)에 따라 마지막으로 가로지른 위치에 대해서 나타내고, 상기 미리 결정된 스캔 순서(136)는 상기 하위 그룹(138) 내에 있지 않은 모든 변환 계수들(134)를 가로지른 후에 상기 하위 그룹(138) 내의 모든 변환 계수들(134)를 가로지르는 것임 -, 그리고/또는
    상기 선택된 변환이 다단계 유형인 경우, 상기 변환 계수(134)가 상기 선택된 변환(102)의 상기 변환 계수들(134)의 하위 그룹(138) 내에 있는지 여부에 의존하는 확률 추정을 사용하는 엔트로피 코딩을 사용하여, 상기 선택된 변환(102)의 변환 계수(134)의 값을 코딩함으로써, 그리고/또는
    상기 선택된 변환(102)이 다단계 유형인 경우, 상기 변환 계수(134)가 상기 선택된 변환(102)의 변환 계수들(134)의 하위 그룹(138) 내에 있는지 여부에 의존하는 방식으로 하나 이상의 이웃하는 상기 변환 계수에 의존하는 확률 추정을 사용하는 엔트로피 코딩을 사용하여, 상기 선택된 변환(102)의 변환 계수(134)의 값을 코딩함으로써, 코딩하도록 구성된 인코더.
  66. 제61항 내지 제65항 중 어느 한 항에 있어서,
    선택 가능한 상기 변환 후보 목록(98)이, 상기 현재 잔차 블록(84)에 적용되는 일차 변환 및 일차 변환의 일차 변환 계수들(134)의 하위 그룹(138)에 적용되는 이차 변환을 각각이 포함하는 적어도 하나의 다단계 변환을 포함하고, 선택 가능한 상기 변환 후보 목록(98)이 적어도 하나의 일차 변환 전용 유형의 변환을 포함하며,
    상기 인코더는 상기 변환 계수(134)를 코딩하되,
    상기 선택된 변환(102)의 유의미 변환 계수 위치(132)의 표시를 코딩하고, 상기 선택된 변환(102)의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서(136)에 의해 상기 유의미 변환 계수 위치(132)로부터 전방으로 가로지르는 선택된 변환의 변환 계수들(134)의 값을 코딩함으로써, - 여기서, 상기 표시는 상기 선택된 변환이 일차 변환 전용 유형인 경우에는 상기 선택된 변환(102)의 모든 변환 계수들(134) 중에서 상기 미리 결정된 스캔 순서(136)에 따라 마지막으로 가로지른 위치에 대한 것이거나, 또는 상기 선택된 변환이 다단계 변환(106)인 경우에는 하위 그룹(138) 내에 있지 않은 모든 변환 계수들(134) 중에서 상기 미리 결정된 스캔 순서(136)에 따라 마지막으로 가로지른 위치에 대한 것임 -, 그리고/또는
    상기 선택된 변환(102)의 유의미 변환 계수 위치(132)의 표시를 코딩하고, 상기 선택된 변환(102)의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서(136)에 의해 상기 유의미 변환 계수 위치(132)로부터 전방으로 가로지르는 상기 선택된 변환(102)의 변환 계수들(134)의 값을 코딩함으로써, - 여기서, 상기 표시는 상기 선택된 변환(102)이 다단계 변환이면, 상기 유의미 변환 계수 위치(132)가 변환 계수들(134)의 하위 그룹(138) 내에 있는지 여부의 플래그를 포함하고, 상기 변환 계수 위치(132)가 변환 계수들(134)의 하위 그룹(138) 내에 있으면, 상기 표시는 상기 유의미 변환 계수 위치(132)를 선택된 변환(102)의 모든 변환 계수들(134) 중에서 상기 미리 결정된 스캔 순서(136)에 따라 마지막으로 가로지른 위치에 대해서 나타내고, 상기 변환 계수 위치(132)가 변환 계수들(134)의 하위 그룹(138) 내에 있지 않으면, 상기 표시는 상기 유의미 변환 계수 위치를 하위 그룹(138) 내에 있지 않은 모든 변환 계수들 중에서 상기 미리 결정된 스캔 순서(136)에 따라 마지막으로 가로지른 위치에 대해서 나타내고, 상기 미리 결정된 스캔 순서(136)는 하위 그룹(138) 내에 있지 않은 모든 변환 계수들(134)를 가로지른 후에 하위 그룹(138) 내의 모든 변환 계수들(134)를 가로지르는 것임 -, 그리고/또는
    상기 선택된 변환(102)이 다단계 유형인 경우, 상기 변환 계수(134)가 상기 선택된 변환(102)의 변환 계수들(134)의 하위 그룹(138) 내에 있는지 여부에 의존하는 확률 추정을 사용하는 엔트로피 코딩을 사용하여, 상기 선택된 변환(102)의 변환 계수(134)의 값을 코딩함으로써, 그리고/또는
    상기 선택된 변환(102)이 다단계 유형인 경우, 상기 변환 계수(134)가 상기 선택된 변환(102)의 변환 계수들(134)의 하위 그룹(138) 내에 있는지 여부에 의존하는 방식으로 하나 이상의 이웃하는 변환 계수에 의존하는 확률 추정을 사용하는 엔트로피 코딩을 사용하여, 상기 선택된 변환(102)의 변환 계수(134)의 값을 코딩함으로써, 코딩하도록 구성된 인코더.
  67. 제61항 내지 제66항 중 어느 한 항에 있어서,
    상기 인코더는 이진화(binarization) 및 이진 엔트로피 코딩(binary entropy coding)을 사용하여, 상기 선택된 변환(102)의 변환 계수(134)의 값을 코딩함으로써, 상기 변환 계수(134)를 코딩하도록 구성되며,
    상기 이진 엔트로피 코딩에 사용되는 확률 추정은 상기 선택된 변환(102)에 의존하고, 그리고/또는
    상기 이진화는 상기 선택된 변환(102)에 의존하는, 인코더.
  68. 제66항 또는 제67항에 있어서, 상기 선택된 변환(102)에 대한 종속성은 상기 선택된 변환(102)이 다단계 변환인지 여부에 대한 종속성인, 인코더.
  69. 제61항 내지 제68항 중 어느 한 항에 있어서,
    상기 인코더는 인덱스를 사용하여 상기 선택된 변환(102)을 시그널링하도록 구성되고,
    이진화(binarization) 및 이진 엔트로피 코딩(binary entropy coding)을 사용하여, 상기 선택된 변환(102)의 변환 계수(134)의 값을 코딩함으로써, 상기 변환 계수(134)를 코딩하도록 구성되며,
    상기 이진 엔트로피 코딩에 사용되는 확률 추정은 상기 인덱스에 의존하고, 그리고/또는
    상기 이진화는 상기 인덱스에 의존하는, 인코더.
  70. 제69항에 있어서,
    상기 인덱스는 가변 길이 코드(VLC) 인덱스인, 인코더.
  71. 제61항 내지 제70항 중 어느 한 항에 있어서,
    상기 인코더는 엔트로피 코딩을 사용하여, 상기 선택된 변환의 상기 변환 계수(134)의 값을 코딩함으로써, 상기 변환 계수(134)를 코딩하도록 구성되며,
    상기 엔트로피 코딩은 상기 선택된 변환(102)에 의존하는 방식으로 하나 이상의 이웃하는 변환 계수들에 의존하는, 인코더.
  72. 제71항에 있어서,
    상기 인코더는, 상기 변환 계수(134)를 코딩하되,
    상기 선택된 변환(102) 내 변환 계수의 위치에 의존하는 방식으로 하나 이상의 이웃하는 변환 계수들(134)의 로컬 템플릿을 선택함으로써,
    하나 또는 이웃하는 변환 계수의 가능한 값들의 도메인을 변환 계수에 대한 하나 이상의 컨텍스트들의 세트에 매핑하는 것을 사용하여, 상기 변환 계수(134)에 대해 선택된 컨텍스트를 결정함으로써,
    상기 변환 계수(134)의 값을 엔트로피 코딩하기 위해 선택된 컨텍스트와 연관된 확률 추정을 사용함으로써 엔트로피 코딩을 사용하여, 상기 선택된 변환(102)의 상기 변환 계수(134)의 값을 코딩함으로써, 상기 변환 계수를 코딩하도록 구성되고,
    상기 로컬 템플릿의 선택 및 상기 매핑 중 적어도 하나가 상기 선택된 변환(102)에 의존하는, 인코더.
  73. 제72항에 있어서,
    상기 값의 이진화(binarization)를 이진 엔트로피 코딩(binary entroy coding)하는 것을 사용하여, 상기 선택된 변환(102)의 변환 계수(134)의 값의 코딩을 수행하도록 구성되며, 상기 선택된 컨텍스트와 연관된 확률 추정은 값이 0이거나 또는 아님을 나타내는 상기 이진화의 빈(bin)에 사용되는, 인코더.
  74. 제61항 내지 제73항 중 어느 한 항에 있어서,
    상기 선택된 변환(134)을 상기 데이터 스트림(14)에서 시그널링하는 것을 수행하되,
    상기 변환 계수 데이터(126)에 대한 상기 선택된 변환(102)의 시그널링의 상대 위치, 및/또는 시그널링의 구문 요소들로의 분해가
    선택 가능한 상기 변환 후보 목록(98)에 의존하는 방식으로, 수행하도록 구성된 인코더.
  75. 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림(14)으로부터 영상(12)을 디코딩하는 디코더로서, 블록 기반 잔차 디코딩을 위한 변환 세트(94)를 지원하며,
    상기 변환 세트 중에서 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)을 결정하도록(130) 구성되고;
    선택된 변환을 데이터 스트림(14)으로부터 유도하도록(128) 구성되고,
    선택 가능한 상기 변환 후보 목록(98) 중 하나의 선택된 변환(102)을 사용하여 상기 현재 잔차 블록(84) 내의 예측 잔차(100)를 나타내는 변환 계수(134)를 데이터 스트림(14)으로부터 디코딩하되(140) 상기 선택된 변환(102) 또는 선택 가능한 상기 변환 후보 목록(98)에 의존하여 디코딩하도록 구성된 디코더.
  76. 제75항에 있어서,
    상기 선택 가능한 변환 후보 목록(98)이 상기 변환 계수(134)의 개수가 상이한 변환들을 포함하고,
    상기 변환 계수(134)에 대해서 상기 데이터 스트림(14)에서 소비되는 코드 레이트가 낮을수록 상기 선택된 변환(102)의 상기 변환 계수(134)의 개수가 적어지도록 하는 방식으로, 상기 변환 계수(134)의 디코딩을 수행하도록 구성된 디코더.
  77. 제75항 또는 제76항에 있어서,
    선택 가능한 상기 변환 후보 목록(98)이 상기 변환 계수(134)의 개수가 상이한 변환들을 포함하고,
    상기 변환 계수의 디코딩은, 상기 선택된 변환(102)의 유의미 변환 계수 위치(132)의 표시의 디코딩과, 상기 선택된 변환(102)의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서(136)에 의해 상기 유의미 변환 계수 위치(132)로부터 전방으로 가로지르는 상기 선택된 변환(102)의 변환 계수들(134)의 값의 디코딩을 포함하고,
    상기 디코더는 상기 변환 계수(134)를 디코딩하되,
    상기 표시를 위해 상기 데이터 스트림(14)에서 소비되는 코드 레이트가 낮을수록 상기 선택된 변환(102)의 상기 변환 계수(134)의 개수가 적어지도록 하는 방식으로, 디코딩하도록 구성된 디코더.
  78. 제75항 또는 제76항에 있어서,
    선택 가능한 상기 변환 후보 목록(98)이 제1 개수의 변환 계수들(134)의 변환들과, 상기 제1 개수보다 많은 제2 개수의 변환 계수들(134)의 변환들을 포함하고,
    상기 변환 계수(134)의 디코딩은,
    상기 선택된 변환(102)의 변환 계수(134)의 개수가 상기 제2 개수인 경우,
    상기 선택된 변환(102)의 유의미 변환 계수 위치(132)의 표시의 디코딩과, 상기 선택된 변환(102)의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서(136)에 의해 상기 유의미 변환 계수 위치(132)로부터 전방으로 가로지르는 상기 선택된 변환(102)의 변환 계수들(134)의 값의 코딩을 포함하거나, 또는
    상기 선택된 변환(102)의 변환 계수(134)의 개수가 상기 제1 개수인 경우,
    상기 선택된 변환(102)의 변환 계수(134)의 상기 제1 개수 모두의 값의 디코딩을 포함하는, 디코더.
  79. 제75항 내지 제78항 중 어느 한 항에 있어서,
    선택 가능한 상기 변환 후보 목록(98)이, 상기 현재 잔차 블록(84)에 적용되는 일차 변환 및 일차 변환의 일차 변환 계수들(134)의 하위 그룹(138)에 적용되는 이차 변환을 각각이 포함하는 적어도 하나의 다단계 변환을 포함하고, 상기 하위 그룹(138)은 상기 적어도 하나의 다단계 변환들 중의 각기 다른 변환들마다 다르고,
    상기 디코더는 상기 변환 계수(134)를 디코딩하되,
    상기 선택된 변환(102)의 유의미 변환 계수 위치(132)의 표시를 디코딩하고, 상기 선택된 변환(102)의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서(136)에 의해 상기 유의미 변환 계수 위치(132)로부터 전방으로 가로지르는 상기 선택된 변환(102)의 변환 계수들(134)의 값을 디코딩함으로써, - 여기서, 상기 표시는 상기 선택된 변환이 다단계 변환이면, 상기 유의미 변환 계수 위치(132)가 변환 계수들(134)의 하위 그룹(138) 내에 있는지 여부의 플래그를 포함하고, 상기 유의미 변환 계수 위치(132)가 변환 계수들(134)의 하위 그룹(138) 내에 있으면, 상기 표시는 상기 유의미 변환 계수 위치(132)를 선택된 변환(102)의 모든 변환 계수들(134) 중에서 상기 미리 결정된 스캔 순서(136)에 따라 마지막으로 가로지른 위치에 대해서 나타내고, 상기 변환 계수 위치(132)가 상기 변환 계수들(134)의 하위 그룹(138) 내에 있지 않으면, 상기 표시는 상기 유의미 변환 계수 위치를 하위 그룹(138) 내에 있지 않은 모든 변환 계수들(134) 중에서 상기 미리 결정된 스캔 순서(136)에 따라 마지막으로 가로지른 위치에 대해서 나타내고, 상기 미리 결정된 스캔 순서(136)는 상기 하위 그룹(138) 내에 있지 않은 모든 변환 계수들(134)를 가로지른 후에 상기 하위 그룹(138) 내의 모든 변환 계수들(134)를 가로지르는 것임 -, 그리고/또는
    상기 선택된 변환(102)이 다단계 유형인 경우, 상기 변환 계수(134)가 상기 선택된 변환(102)의 변환 계수들(134)의 하위 그룹(138) 내에 있는지 여부에 의존하는 확률 추정을 사용하는 엔트로피 코딩을 사용하여, 상기 선택된 변환(102)의 변환 계수(134)의 값을 디코딩함으로써, 그리고/또는
    상기 선택된 변환(102)이 다단계 유형인 경우, 상기 변환 계수(134)가 상기 선택된 변환(102)의 변환 계수들(134)의 하위 그룹(138) 내에 있는지 여부에 의존하는 방식으로 하나 이상의 이웃하는 변환 계수에 의존하는 확률 추정을 사용하는 엔트로피 코딩을 사용하여, 상기 선택된 변환(102)의 변환 계수(134)의 값을 디코딩함으로써, 디코딩하도록 구성된 디코더.
  80. 제75항 내지 제79항 중 어느 한 항에 있어서,
    선택 가능한 상기 변환 후보 목록(98)이, 상기 현재 잔차 블록(84)에 적용되는 일차 변환 및 일차 변환의 일차 변환 계수들(134)의 하위 그룹(138)에 적용되는 이차 변환을 각각이 포함하는 적어도 하나의 다단계 변환을 포함하고, 상기 선택 가능한 변환 후보 목록(98)이 적어도 하나의 일차 변환 전용 유형의 변환을 포함하며,
    상기 디코더는 상기 변환 계수(134)를 디코딩하되,
    상기 선택된 변환(102)의 유의미 변환 계수 위치(132)의 표시를 디코딩하고, 상기 선택된 변환(102)의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서(136)에 의해 상기 유의미 변환 계수 위치(132)로부터 전방으로 가로지르는 선택된 변환(102)의 변환 계수들(134)의 값을 디코딩함으로써, - 여기서, 상기 표시는 상기 선택된 변환(102)이 일차 변환 전용 유형인 경우에는 선택된 변환(102)의 모든 변환 계수들(134) 중에서 상기 미리 결정된 스캔 순서(136)에 따라 마지막으로 가로지른 위치에 대한 것이거나, 또는 상기 선택된 변환(102)이 다단계 변환(106)인 경우에는 하위 그룹(138) 내에 있지 않은 모든 변환 계수들(134) 중에서 상기 미리 결정된 스캔 순서(136)에 따라 마지막으로 가로지른 위치에 대한 것임 -, 그리고/또는
    상기 선택된 변환의 유의미 변환 계수 위치(132)의 표시를 디코딩하고, 상기 선택된 변환(102)의 계수 위치들을 순차적으로 가로지르는 미리 결정된 스캔 순서(136)에 의해 상기 유의미 변환 계수 위치(132)로부터 전방으로 가로지르는 상기 선택된 변환(102)의 변환 계수들(134)의 값을 디코딩함으로써, - 여기서, 상기 표시는 상기 선택된 변환(102)이 다단계 변환이면, 상기 유의미 변환 계수 위치(132)가 변환 계수들의 하위 그룹(138) 내에 있는지 여부의 플래그를 포함하고, 상기 유의미 변환 계수 위치(132)가 변환 계수들(134)의 하위 그룹(138) 내에 있으면, 상기 표시는 상기 유의미 변환 계수 위치(132)를 선택된 변환(102)의 모든 변환 계수들(134) 중에서 상기 미리 결정된 스캔 순서(136)에 따라 마지막으로 가로지른 위치에 대해서 나타내고, 상기 유의미 변환 계수 위치(132)가 변환 계수들(134)의 하위 그룹(138) 내에 있지 않으면, 상기 표시는 상기 유의미 변환 계수 위치를 상기 하위 그룹(138) 내에 있지 않은 모든 변환 계수들(134) 중에서 상기 미리 결정된 스캔 순서(136)에 따라 마지막으로 가로지른 위치에 대해서 나타내고, 상기 미리 결정된 스캔 순서(136)는 상기 하위 그룹(138) 내에 있지 않은 모든 변환 계수들(134)를 가로지른 후에 상기 하위 그룹(138) 내의 모든 변환 계수들(134)를 가로지르는 것임 -, 그리고/또는
    상기 선택된 변환(102)이 다단계 유형인 경우, 상기 변환 계수(134)가 상기 선택된 변환(102)의 변환 계수들(134)의 하위 그룹(138) 내에 있는지 여부에 의존하는 확률 추정을 사용하는 엔트로피 코딩을 사용하여, 상기 선택된 변환(102)의 변환 계수(134)의 값을 디코딩함으로써, 그리고/또는
    상기 선택된 변환(102)이 다단계 유형인 경우, 상기 변환 계수(134)가 상기 선택된 변환(102)의 변환 계수들(134)의 하위 그룹(138) 내에 있는지 여부에 의존하는 방식으로 하나 이상의 이웃하는 변환 계수에 의존하는 확률 추정을 사용하는 엔트로피 코딩을 사용하여, 상기 선택된 변환(102)의 변환 계수(134)의 값을 디코딩함으로써, 디코딩하도록 구성된 디코더.
  81. 제75항 내지 제80항 중 어느 한 항에 있어서,
    상기 디코더는 이진화 및 이진 엔트로피 코딩을 사용하여, 상기 선택된 변환(102)의 변환 계수(134)의 값을 디코딩함으로써, 변환 계수(134)를 디코딩하도록 구성되며,
    상기 이진 엔트로피 코딩에 사용되는 확률 추정은 상기 선택된 변환(102)에 의존하고, 그리고/또는
    상기 이진화는 상기 선택된 변환(102)에 의존하는, 디코더.
  82. 제81항에 있어서, 상기 선택된 변환(102)에 대한 종속성은 상기 선택된 변환(102)이 다단계 변환인지 여부에 대한 종속성인, 디코더.
  83. 제75항 내지 제82항 중 어느 한 항에 있어서,
    상기 디코더는 인덱스를 사용하여 상기 선택된 변환(102)을 유도시키도록 구성되고,
    이진화 및 이진 엔트로피 디코딩을 사용하여, 상기 선택된 변환(102)의 변환 계수(134)의 값을 디코딩함으로써, 상기 변환 계수(134)를 디코딩하도록 구성되며,
    상기 이진 엔트로피 코딩에 사용되는 확률 추정은 상기 인덱스에 의존하고, 그리고/또는
    상기 이진화는 상기 인덱스에 의존하는, 디코더.
  84. 제83항에 있어서, 상기 인덱스는 가변 길이 코드(VLC) 인덱스인, 디코더.
  85. 제75항 내지 제84항 중 어느 한 항에 있어서,
    상기 디코더는 엔트로피 디코딩을 사용하여, 상기 선택된 변환(102)의 변환 계수(134)의 값을 디코딩함으로써, 상기 변환 계수(134)를 디코딩하도록 구성되며,
    상기 엔트로피 디코딩은 상기 선택된 변환(102)에 의존하는 방식으로 하나 이상의 이웃하는 변환 계수들에 의존하는, 디코더.
  86. 제85항에 있어서,
    상기 디코더는 상기 변환 계수(134)를 디코딩하되,
    상기 선택된 변환(102) 내 변환 계수의 위치에 의존하는 방식으로 하나 또는 이웃하는 변환 계수들의 로컬 템플릿을 선택함으로써,
    하나 또는 이웃하는 변환 계수들의 가능한 값들의 도메인을 변환 계수(134)에 대한 하나 이상의 컨텍스트들의 세트에 매핑하는 것을 사용하여, 변환 계수(134)에 대해 선택된 컨텍스트를 결정함으로써,
    상기 변환 계수(134)의 값을 엔트로피 디코딩하기 위해 선택된 컨텍스트와 연관된 확률 추정을 사용함으로써 엔트로피 디코딩을 사용하여, 상기 선택된 변환(102)의 변환 계수(134)의 값을 디코딩함으로써, 상기 변환 계수를 디코딩하도록 구성되고,
    상기 로컬 템플릿의 선택 및 상기 매핑 중 적어도 하나가 선택된 변환(102)에 의존하는, 디코더.
  87. 제86항에 있어서,
    상기 값의 이진화를 이진 엔트로피 디코딩하는 것을 사용하여, 상기 선택된 변환(102)의 변환 계수(134)의 값의 디코딩을 수행하도록 구성되며, 상기 선택된 컨텍스트와 연관된 확률 추정은 값이 0이거나 또는 아님을 나타내는 이진화의 빈에 사용되는, 디코더.
  88. 제75항 내지 제87항 중 어느 한 항에 있어서,
    상기 선택된 변환(102)을 상기 데이터 스트림(14)에서 시그널링하는 것을 수행하되,
    상기 변환 계수 데이터(134)에 대한 선택된 변환(102)의 시그널링의 상대 위치, 및/또는 시그널링의 구문 요소들로의 분해가
    상기 선택 가능한 변환 후보 목록(98)에 의존하는 방식으로, 수행하도록 구성된 디코더.
  89. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상을 데이터 스트림으로 코딩하는 방법으로서, 블록 기반 잔차 코딩을 위한 변환 세트를 지원하는, 코딩 방법에 있어서,
    상기 변환 세트 중에서 상기 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)을 결정하는 단계(130);
    상기 선택된 변환을 데이터 스트림에서 시그널링하는 단계(128);
    상기 선택 가능한 변환 목록 중 하나의 선택된 변환을 사용하여 잔차 블록 내의 예측 잔차를 나타내는 변환 계수를 코딩하되 선택된 변환(102) 또는 선택 가능한 변환 후보 목록(98)에 의존하여 코딩하는 단계(140)를 포함하는 코딩 방법.
  90. 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림으로부터 영상을 디코딩하는 방법으로서, 블록 기반 잔차 디코딩을 위한 변환 세트를 지원하는, 디코딩 방법에 있어서,
    상기 변환 세트 중에서 상기 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)을 결정하는 단계(130);
    상기 선택된 변환을 상기 데이터 스트림으로부터 유도시키는 단계(128);
    상기 선택 가능한 변환 목록 중 하나의 선택된 변환을 사용하여 잔차 블록 내의 예측 잔차를 나타내는 변환 계수를 데이터 스트림으로부터 디코딩하되 선택된 변환(102) 또는 선택 가능한 변환 후보 목록(98)에 의존하여 디코딩하는 단계(140)를 포함하는 디코딩 방법.
  91. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로 코딩하는 인코더로서, 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원하며,
    상기 변환 세트(94) 중에서 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)을 결정하도록 구성되고,
    선택 가능한 변환 후보 목록(98) 중 하나의 선택된 변환(102)을 사용하여 상기 현재 잔차 블록(84) 내의 예측 잔차(100)를 코딩하도록 구성되고,
    상기 선택된 변환(102)을 상기 데이터 스트림(14)에서 변환 표시자(124)를 사용하여 시그널링(128)하도록 구성되며,
    상기 변환 표시자(124)는 하나 이상의 자릿수를 갖는 코드를 사용하여 데이터 스트림(14)에서 시그널링되며, 상기 하나 이상의 자릿수들의 세트의 각 자릿수는 그 각각의 변환 속성과 고유하게 연관된, 인코더.
  92. 제91항에 있어서, 각 변환 속성은
    상기 선택된 변환(102)이 다단계 변환인지 여부, 및
    상기 선택된 변환(102)이 미리 결정된 수의 변환 계수(134)보다 적은 변환 계수(134)를 갖는 변환인지 여부 중 하나인, 인코더.
  93. 제91항 또는 제92항에 있어서,
    이웃하는 잔차 블록(84')의 변환 표시자(124)에 의존하는 확률 추정을 사용하는 엔트로피 코딩을 사용하여 적어도 하나의 자릿수들의 세트 중 적어도 하나의 자릿수를 코딩하도록 구성된 인코더.
  94. 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림(14)으로부터 영상(12)을 디코딩하는 디코더로서, 블록 기반 잔차 디코딩을 위한 변환 세트(94)를 지원하며,
    상기 변환 세트(94) 중에서 상기 현재 잔차 블록(84)에 대한 선택 가능한 상기 변환 후보 목록(98)을 결정하도록 구성되고,
    선택 가능한 상기 변환 후보 목록(98) 중 하나의 선택된 변환(102)을 사용하여 상기 현재 잔차 블록(84) 내의 예측 잔차(100)를 상기 데이터 스트림(14)으로부터 디코딩하도록 구성되고,
    상기 선택된 변환(102)을 상기 데이터 스트림(14)으로부터 변환 표시자(124)를 사용하여 유도시키도록(128) 구성되며,
    상기 변환 표시자(124)는 하나 이상의 자릿수를 갖는 코드를 사용하여 데이터 스트림(14)으로부터 유도되며, 상기 하나 이상의 자릿수들의 세트의 각 자릿수는 그 각각의 변환 속성과 고유하게 연관된, 디코더.
  95. 제94항에 있어서, 각 변환 속성은,
    상기 선택된 변환(102)이 다단계 변환인지 여부, 및
    상기 선택된 변환(102)이 미리 결정된 수의 변환 계수(134)보다 적은 변환 계수(134)를 갖는 변환인지 여부 중 하나인, 디코더.
  96. 제94항 또는 제95항에 있어서,
    이웃하는 잔차 블록(84')의 변환 표시자(124)에 의존하는 확률 추정을 사용하는 엔트로피 디코딩을 사용하여 적어도 하나의 자릿수들의 세트 중 적어도 하나의 자릿수를 디코딩하도록 구성된 디코더.
  97. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로 코딩하는 방법으로서, 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원하는, 코딩 방법에 있어서,
    상기 변환 세트(94) 중에서 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)을 결정하는 단계,
    선택 가능한 상기 변환 후보 목록(98) 중 하나의 선택된 변환(102)을 사용하여 상기 현재 잔차 블록(84) 내의 예측 잔차(100)를 코딩하는 단계,
    상기 선택된 변환(102)을 데이터 스트림(14)에서 변환 표시자(124)를 사용하여 시그널링하는 단계(128)를 포함하고,
    상기 변환 표시자(124)는 하나 이상의 자릿수를 갖는 코드를 사용하여 상기 데이터 스트림(14)에서 시그널링되며, 상기 하나 이상의 자릿수들의 세트의 각 자릿수는 그 각각의 변환 속성과 고유하게 연관된, 코딩 방법.
  98. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 데이터 스트림(14)으로부터 영상(12)을 디코딩하는 방법으로서, 블록 기반 잔차 디코딩을 위한 변환 세트(94)를 지원하는, 디코딩 방법에 있어서,
    상기 변환 세트(94) 중에서 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)을 결정하는 단계,
    선택 가능한 상기 변환 후보 목록(98) 중 하나의 선택된 변환(102)을 사용하여 상기 현재 잔차 블록(84) 내의 예측 잔차(100)를 데이터 스트림(14)으로부터 디코딩하는 단계,
    상기 선택된 변환을 데이터 스트림(14)으로부터 변환 표시자(124)를 사용하여 유도시키는 단계(128)를 포함하고,
    상기 변환 표시자(124)는 하나 이상의 자릿수를 갖는 코드를 사용하여 상기 데이터 스트림(14)으로부터 유도되며, 상기 하나 이상의 자릿수들의 세트의 각 자릿수는 그 각각의 변환 속성과 고유하게 연관된, 디코딩 방법.
  99. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로 코딩하는 인코더로서, 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원하며,
    내부 예측 블록(80)의 예측(104)을 획득하기 위해 상기 내부 예측 블록(80)의 공간적 이웃(90)을 복수의 신경망(92) 중 선택된 신경망에 적용함으로써 상기 내부 예측 블록(80)을 예측하도록 구성되고,
    선택된 신경망 및 잔차 블록(84)의 블록 크기(96)에 기초하여 변환 세트(94) 중에서, 상기 내부 예측 블록(80)을 커버하는 잔차 블록(84)에 대한 선택 가능한 변환 세트(98)를 결정하도록 구성되며,
    선택 가능한 변환 세트(98) 중 하나의 선택된 변환(102)을 사용하여 상기 잔차 블록(84) 내의 내부 예측 블록(80)의 예측과 연관된 예측 잔차(100)를 코딩하고, 상기 선택된 변환을 데이터 스트림(14)에서 시그널링하도록 구성된 인코더.
  100. 제99항에 있어서,
    블록 크기가 미리 결정된 임계값을 초과하는 경우에는,
    상기 선택 가능한 변환 세트(98)가, 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 각각이 포함하는 제1 개수의 하나 이상의 다단계 변환(106)으로 채워지게끔, 상기 결정을 수행하도록 구성되며, 상기 이차 변환(110)은 분리 불가능하며 그리고 선택된 신경망에 의존하는, 인코더.
  101. 제100항에 있어서,
    상기 결정은, 상기 일차 변환(108)이 상기 선택된 신경망(102)에 의존하고, 분리 가능한 2차원 변환(116)이 되도록, 수행하도록 구성된 인코더.
  102. 제101항에 있어서,
    상기 하위 그룹(112)은 상기 일차 변환(108)의 저주파 부분을 나타내는, 인코더.
  103. 제100항 내지 제102항 중 어느 한 항에 있어서,
    상기 제1 개수는 양단을 포함한 2 내지 6인, 인코더.
  104. 제100항 내지 제103항 중 어느 한 항에 있어서,
    블록 크기가 미리 결정된 임계값보다 작은 경우에는,
    상기 선택 가능한 변환 세트(98)가 제2 개수의 하나 이상의 분리 불가능한 변환(118)으로 채워지게끔, 상기 결정을 수행하도록 구성된 인코더.
  105. 제104항에 있어서,
    상기 제1 개수와 상기 제2 개수가 동일한, 인코더.
  106. 제100항 내지 제105항 중 어느 한 항에 있어서,
    상기 선택 가능한 변환 세트(98)가 제3 개수의 하나 이상의 분리 가능 2차원 변환(116)으로 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 인코더.
  107. 제106항에 있어서,
    상기 제3 개수는 1 또는 5인, 인코더.
  108. 제99항 내지 제107항 중 어느 한 항에 있어서,
    상기 내부 예측 블록(80)의 예측이 일차 변환(108)의 도메인(118)에서 획득되게끔, 상기 예측을 수행하도록 구성되고,
    상기 선택 가능한 변환 세트(98)가, 상기 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 각각이 포함하는 제4 개수의 하나 이상의 다단계 변환(106)으로 채워지게끔, 상기 결정을 수행하도록 구성되며, 상기 이차 변환(110)은 분리 불가능하며 그리고 상기 선택된 신경망에 의존하는, 인코더.
  109. 제108항에 있어서,
    상기 일차 변환(108)이 분리 가능한 2차원 변환(116)이 되게끔 상기 결정을 수행하도록 구성된 인코더.
  110. 제108항 또는 제109항에 있어서,
    상기 하위 그룹(112)은 상기 일차 변환(108)의 저주파 부분을 나타내는, 인코더.
  111. 제108항 내지 제110항 중 어느 한 항에 있어서,
    상기 제4 개수는 양단을 포함한 2 내지 6인, 인코더.
  112. 제110항 내지 제111항 중 어느 한 항에 있어서,
    상기 선택 가능한 변환 세트(98)가 일차 변환(108)으로 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 인코더.
  113. 제99항 내지 제112항 중 어느 한 항에 있어서,
    잔차 블록(84)의 양자화 파라미터가 하나 이상의 미리 결정된 양자화 파라미터들의 세트에 포함되어 있는지를 확인하고,
    만약 포함되어 있다면,
    상기 선택 가능한 변환 세트(98)가 하나 이상의 미리 결정된 양자화 파라미터들의 세트와 연관된 하나 이상의 미리 결정된 변환들의 세트에 의해 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 인코더.
  114. 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림(14)으로부터 영상(12)을 디코딩하는 디코더로서, 블록 기반 잔차 디코딩을 위한 변환 세트(94)를 지원하며,
    내부 예측 블록(80)의 예측(104)을 획득하기 위해 상기 내부 예측 블록(80)의 공간적 이웃(90)을 복수의 신경망(92) 중 선택된 신경망에 적용함으로써 내부 예측 블록을 예측하도록 구성되고,
    상기 선택된 신경망 및 잔차 블록(84)의 블록 크기(96)에 기초하여 상기 변환 세트(94) 중에서, 상기 내부 예측 블록(80)을 커버하는 잔차 블록(84)에 대한 선택 가능한 변환 세트(98)를 결정하도록 구성되며,
    상기 선택 가능한 변환 세트(98) 중에서 하나의 선택된 변환(102)의 도메인에서 상기 잔차 블록(84) 내의 내부 예측 블록(80)의 예측(104)과 연관된 예측 잔차(100)를 데이터 스트림으로부터 디코딩하되 선택된 변환을 데이터 스트림(14)으로부터 유도하면서 디코딩하도록 구성된 디코더.
  115. 제114항에 있어서,
    블록 크기가 미리 결정된 임계값을 초과하는 경우에는,
    상기 선택 가능한 변환 세트(98)가, 상기 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 각각이 포함하는 제1 개수의 하나 이상의 다단계 변환(106)으로 채워지게끔, 상기 결정을 수행하도록 구성되며, 상기 이차 변환(110)은 분리 불가능하며 그리고 상기 선택된 신경망에 의존하는, 디코더.
  116. 제115항에 있어서,
    상기 일차 변환(108)이 상기 선택된 신경망(102)에 의존하고, 분리 가능한 2차원 변환(116)이 되게끔, 상기 결정을 수행하도록 구성된 디코더.
  117. 제116항에 있어서, 상기 하위 그룹(112)은 상기 일차 변환(108)의 저주파 부분을 나타내는, 디코더.
  118. 제115항 내지 제117항 중 어느 한 항에 있어서,
    상기 제1 개수는 양단을 포함한 2 내지 6인, 디코더.
  119. 제115항 내지 제118항 중 어느 한 항에 있어서,
    블록 크기가 미리 결정된 임계값보다 작은 경우에는,
    상기 선택 가능한 변환 세트(98)가 제2 개수의 하나 이상의 분리 불가능한 변환(118)으로 채워지게끔, 상기 결정을 수행하도록 구성된 디코더.
  120. 제117항을 인용할 때의 제119항에 있어서,
    상기 제1 개수와 상기 제2 개수가 동일한, 디코더.
  121. 제115항 내지 제120항 중 어느 한 항에 있어서,
    상기 선택 가능한 변환 세트(98)가 제3 개수의 하나 이상의 분리 가능 2차원 변환(116)으로 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 디코더.
  122. 제121항에 있어서,
    상기 제3 개수는 1 또는 5인, 디코더.
  123. 제114항 내지 제122항 중 어느 한 항에 있어서,
    상기 내부 예측 블록(80)의 예측(104)이 일차 변환(108)의 도메인(118)에서 획득되게끔, 상기 예측을 수행하도록 구성되고,
    상기 선택 가능한 변환 세트(98)가, 상기 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 각각이 포함하는 제4 개수의 하나 이상의 다단계 변환(106)으로 채워지게끔, 상기 결정을 수행하도록 구성되며, 상기 이차 변환(110)은 분리 불가능하며 상기 선택된 신경망에 의존하는, 디코더.
  124. 제123항에 있어서,
    상기 일차 변환(108)이 분리 가능한 2차원 변환(116)이 되게끔, 상기 결정을 수행하도록 구성된 디코더.
  125. 제123항 또는 제124항에 있어서,
    상기 하위 그룹(112)은 상기 일차 변환(108)의 저주파 부분을 나타내는, 디코더.
  126. 제123항 내지 제125항 중 어느 한 항에 있어서,
    상기 제4 개수는 양단을 포함한 2 내지 6인, 디코더.
  127. 제123항 내지 제126항 중 어느 한 항에 있어서,
    상기 선택 가능한 변환 세트(98)가 일차 변환(108)으로 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 디코더.
  128. 제114항 내지 제127항 중 어느 한 항에 있어서,
    상기 잔차 블록(84)의 양자화 파라미터가 하나 이상의 미리 결정된 양자화 파라미터들의 세트에 포함되어 있는지를 확인하고,
    만약 포함한다면,
    상기 선택 가능한 변환 세트(98)가 하나 이상의 미리 결정된 양자화 파라미터들의 세트와 연관된 하나 이상의 미리 결정된 변환들의 세트에 의해 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 디코더.
  129. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로 코딩하는 방법으로서, 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원하는, 코딩 방법에 있어서,
    내부 예측 블록(80)의 예측(104)을 획득하기 위해 상기 내부 예측 블록(80)의 공간적 이웃(90)을 복수의 신경망(92) 중 선택된 신경망에 적용함으로써 내부 예측 블록을 예측하는 단계,
    상기 선택된 신경망 및 잔차 블록(84)의 블록 크기(96)에 기초하여 상기 변환 세트(94) 중에서, 상기 내부 예측 블록(80)을 커버하는 잔차 블록(84)에 대한 선택 가능한 변환 세트(98)를 결정하는 단계,
    상기 선택 가능한 변환 세트(98) 중 하나의 선택된 변환(102)을 사용하여 상기 잔차 블록(84) 내의 내부 예측 블록(80)의 예측과 연관된 예측 잔차(100)를 코딩하고, 상기 선택된 변환을 데이터 스트림(14)에서 시그널링하는 단계를 포함하는 코딩 방법.
  130. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 데이터 스트림(14)으로부터 영상(12)을 디코딩하는 방법으로서, 블록 기반 잔차 디코딩을 위한 변환 세트(94)를 지원하는, 디코딩 방법에 있어서,
    내부 예측 블록(80)의 예측(104)을 획득하기 위해 상기 내부 예측 블록(80)의 공간적 이웃(90)을 복수의 신경망(92) 중 선택된 신경망에 적용함으로써 내부 예측 블록을 예측하는 단계,
    상기 선택된 신경망 및 잔차 블록(84)의 블록 크기(96)에 기초하여 상기 변환 세트(94) 중에서, 상기 내부 예측 블록(80)을 커버하는 잔차 블록(84)에 대한 선택 가능한 변환 세트(98)를 결정하는 단계,
    상기 선택 가능한 변환 세트(98) 중에서 하나의 선택된 변환(102)의 도메인에서 잔차 블록(84) 내의 내부 예측 블록(80)의 예측(104)과 연관된 예측 잔차(100)를 상기 데이터 스트림으로부터 디코딩하되 상기 선택된 변환을 상기 데이터 스트림(14)으로부터 유도하면서 디코딩하는 단계를 포함하는 디코딩 방법.
  131. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로 코딩하는 인코더로서,
    일차 변환(108)의 도메인(118)에서 내부 예측 블록(80)의 예측(104)을 획득하기 위해 상기 내부 예측 블록(80)의 공간적 이웃(90)을 신경망(NN#)에 적용함으로써 상기 내부 예측 블록(80)을 예측하도록 구성되고,
    선택 가능한 변환 세트(98) 중 하나의 선택된 변환(102)을 사용하여 잔차 블록(84) 내의 상기 내부 예측 블록(80)의 예측(104)과 연관된 예측 잔차(100)를 코딩하고, 상기 선택된 변환(102)을 상기 데이터 스트림(14)에서 시그널링하도록 구성되며,
    상기 선택 가능한 변환 세트(98)가, 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 포함하는 적어도 하나의 다단계 변환(106)으로 채워지는, 인코더.
  132. 제131항에 있어서,
    상기 선택 가능한 변환 세트(98)가, 상기 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 각각이 포함하는 소정 개수의 다단계 변환(106)으로 채워지고, 상기 이차 변환(110)은 분리 불가능한, 인코더.
  133. 제132항에 있어서,
    상기 소정 개수는 양단을 포함한 2 내지 6인, 인코더.
  134. 제131항 또는 제133항 중 어느 한 항에 있어서,
    상기 일차 변환(108)은 분리 가능한 2차원 변환인, 인코더.
  135. 제131항 내지 제134항 중 어느 한 항에 있어서,
    상기 하위 그룹(112)은 상기 일차 변환의 저주파 부분을 나타내는, 인코더.
  136. 제131항 내지 제135항 중 어느 한 항에 있어서,
    상기 선택 가능한 변환 세트(98)가 상기 일차 변환으로 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 인코더.
  137. 제131항 내지 제136항 중 어느 한 항에 있어서,
    상기 내부 예측 블록의 양자화 파라미터가 하나 이상의 미리 결정된 양자화 파라미터들의 세트에 포함되어 있는지를 확인하고,
    만약 포함되어 있다면,
    상기 선택 가능한 변환 세트가 하나 이상의 미리 결정된 양자화 파라미터들의 세트와 연관된 하나 이상의 미리 결정된 변환들의 세트에 의해 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 인코더.
  138. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 데이터 스트림(14)으로부터 영상(12)을 디코딩하는 디코더로서,
    일차 변환(108)의 도메인(118)에서 내부 예측 블록(80)의 예측(104)을 획득하기 위해 상기 내부 예측 블록(80)의 공간적 이웃(90)을 신경망(NN#)에 적용함으로써 상기 내부 예측 블록(80)을 예측하도록 구성되고,
    상기 선택 가능한 변환 세트(98) 중에서 하나의 선택된 변환(102)의 또 다른 도메인(119)에서 잔차 블록(84) 내의 내부 예측 블록(80)의 예측(104)과 연관된 예측 잔차(100)를 상기 데이터 스트림(14)으로부터 디코딩하되 선택된 변환(102)을 상기 데이터 스트림(14)으로부터 유도하면서 디코딩하도록 구성되며,
    상기 선택 가능한 변환 세트(98)가, 상기 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 포함하는 적어도 하나의 다단계 변환(106)으로 채워지는, 디코더.
  139. 제138항에 있어서,
    상기 선택 가능한 변환 세트(98)가, 상기 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 각각이 포함하는 소정 개수의 다단계 변환(106)으로 채워지고, 상기 이차 변환(110)은 분리 불가능한, 디코더.
  140. 제139항에 있어서,
    상기 소정 개수는 양단을 포함한 2 내지 6인, 디코더.
  141. 제138항 또는 제140항 중 어느 한 항에 있어서,
    상기 일차 변환(108)은 분리 가능한 2차원 변환인, 디코더.
  142. 제138항 내지 제141항 중 어느 한 항에 있어서,
    상기 하위 그룹(112)은 상기 일차 변환의 저주파 부분을 나타내는, 디코더.
  143. 제138항 내지 제142항 중 어느 한 항에 있어서,
    상기 선택 가능한 변환 세트(98)가 일차 변환으로 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 디코더.
  144. 제138항 내지 제143항 중 어느 한 항에 있어서,
    상기 내부 예측 블록의 양자화 파라미터가 하나 이상의 미리 결정된 양자화 파라미터들의 세트에 포함되어 있는지를 확인하고,
    만약 포함되어 있다면,
    상기 선택 가능한 변환 세트가 하나 이상의 미리 결정된 양자화 파라미터들의 세트와 연관된 하나 이상의 미리 결정된 변환들의 세트에 의해 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 디코더.
  145. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로 코딩하는 방법으로서,
    일차 변환(108)의 도메인(118)에서 내부 예측 블록(80)의 예측(104)을 획득하기 위해 상기 내부 예측 블록(80)의 공간적 이웃(90)을 신경망(NN#)에 적용함으로써 상기 내부 예측 블록(80)을 예측하는 단계,
    상기 선택 가능한 변환 세트(98) 중 하나의 선택된 변환(102)을 사용하여 잔차 블록(84) 내의 내부 예측 블록(80)의 예측(104)과 연관된 예측 잔차(100)를 코딩하고, 상기 선택된 변환(102)을 데이터 스트림(14)에서 시그널링하는 단계를 포함하고,
    상기 선택 가능한 변환 세트(98)가, 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 포함하는 적어도 하나의 다단계 변환(106)으로 채워지는, 코딩 방법.
  146. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 데이터 스트림(14)으로부터 영상(12)을 디코딩하는 방법으로서,
    일차 변환(108)의 도메인(118)에서 내부 예측 블록(80)의 예측(104)을 획득하기 위해 상기 내부 예측 블록(80)의 공간적 이웃(90)을 신경망(NN#)에 적용함으로써 상기 내부 예측 블록(80)을 예측하는 단계,
    상기 선택 가능한 변환 세트(98) 중에서 하나의 선택된 변환(102)의 또 다른 도메인(119)에서 잔차 블록(84) 내의 내부 예측 블록(80)의 예측(104)과 연관된 예측 잔차(100)를 데이터 스트림(14)으로부터 디코딩하되 선택된 변환(102)을 데이터 스트림(14)으로부터 유도하면서 디코딩하는 단계를 포함하고,
    상기 선택 가능한 변환 세트(98)가, 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 포함하는 적어도 하나의 다단계 변환(106)으로 채워지는, 디코딩 방법.
  147. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로 코딩하는 인코더로서, 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원하며,
    내부 예측 블록(80)의 예측(104)을 획득하기 위해 내부 예측 모드들의 세트(120) 중에서 선택된 모드를 사용하여 상기 내부 예측 블록(80)의 공간적 이웃(90)에 기초하여 상기 내부 예측 블록(80)을 예측하도록 구성되고,
    상기 선택된 내부 예측 모드 및 잔차 블록(84)의 블록 크기(96)에 기초하여 변환 세트(94) 중에서, 상기 내부 예측 블록(80)을 커버하는 잔차 블록(84)에 대한 선택 가능한 변환 세트(98)를 결정하도록 구성되며,
    상기 선택 가능한 변환 세트(98) 중 하나의 선택된 변환(102)을 사용하여 상기 잔차 블록(84) 내의 내부 예측 블록(80)의 예측(104)과 연관된 예측 잔차(100)를 코딩하고, 상기 선택된 변환(102)을 데이터 스트림(14)에서 시그널링하도록 구성된 인코더.
  148. 제147항에 있어서,
    미리 결정된 블록 크기들의 제1 미리 결정된 세트의 블록 크기에 대해,
    상기 선택 가능한 변환 세트(98)가, 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 각각이 포함하는 소정 개수의 하나 이상의 다단계 변환(106)으로 채워지게끔, 상기 결정을 수행하도록 구성되며, 상기 이차 변환(110)은 분리 불가능하며 그리고 선택된 내부 예측 모드에 의존하는, 인코더.
  149. 제148항에 있어서,
    상기 일차 변환(108)이 선택된 내부 예측 모드에 의존하고, 분리 가능한 2차원 변환(116)이 되게끔, 상기 결정을 수행하도록 구성된 인코더.
  150. 제148항 또는 제149항에 있어서,
    상기 하위 그룹(112)은 선택된 내부 예측 모드에 의존하는, 인코더.
  151. 제148항 내지 제150항 중 어느 한 항에 있어서,
    미리 결정된 블록 크기들의 제1 미리 결정된 세트보다 작은 미리 결정된 블록 크기들의 제2 미리 결정된 세트의 블록 크기에 대해,
    상기 선택 가능한 변환 세트(98)가 제2 개수의 하나 이상의 분리 불가능한 변환(118)으로 채워지게끔, 상기 결정을 수행하도록 구성된 인코더.
  152. 제148항 내지 제151항 중 어느 한 항에 있어서,
    상기 이차 변환(110)이 선택된 내부 예측 모드에 의존하는 방식은 내부 예측 모드 집단을 포함하도록 구성된, 인코더.
  153. 제148항 내지 제152항 중 어느 한 항에 있어서,
    상기 일차 변환(108)이 선택된 내부 예측 모드에 의존하는 방식은 내부 예측 모드 집단을 포함하도록 구성된, 인코더.
  154. 제147항 내지 제153항 중 어느 한 항에 있어서,
    상기 잔차 블록(84)의 양자화 파라미터가 하나 이상의 미리 결정된 양자화 파라미터들의 세트에 포함되어 있는지를 확인하고,
    만약 포함되어 있다면,
    상기 선택 가능한 변환 세트(98)가 하나 이상의 미리 결정된 양자화 파라미터들의 세트와 연관된 하나 이상의 미리 결정된 변환들의 세트에 의해 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 인코더.
  155. 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림(14)으로부터 영상(12)을 디코딩하는 디코더로서, 블록 기반 잔차 디코딩을 위한 변환 세트(94)를 지원하며,
    내부 예측 블록(80)의 예측(104)을 획득하기 위해 상기 내부 예측 모드들의 세트(120) 중에서 선택된 모드를 사용하여 상기 내부 예측 블록(80)의 공간적 이웃(90)에 기초하여 상기 내부 예측 블록(80)을 예측하도록 구성되고,
    선택된 상기 내부 예측 모드 및 잔차 블록(84)의 블록 크기(96)에 기초하여 변환 세트(94) 중에서, 상기 내부 예측 블록(80)을 커버하는 잔차 블록(84)에 대한 선택 가능한 변환 세트(98)를 결정하도록 구성되며,
    상기 선택 가능한 변환 세트(98) 중에서 하나의 선택된 변환(102)의 도메인에서 상기 잔차 블록(84) 내의 내부 예측 블록(80)의 예측(104)과 연관된 예측 잔차(100)를 상기 데이터 스트림(14)으로부터 디코딩하되 상기 선택된 변환(102)을 데이터 스트림(14)으로부터 유도하면서 디코딩하도록 구성된 디코더.
  156. 제155항에 있어서,
    미리 결정된 블록 크기들의 제1 미리 결정된 세트의 블록 크기에 대해,
    상기 선택 가능한 변환 세트(98)가, 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환(108)의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 각각이 포함하는 소정 개수의 하나 이상의 다단계 변환(106)으로 채워지게끔, 상기 결정을 수행하도록 구성되며, 상기 이차 변환(110)은 분리 불가능하며 그리고 선택된 내부 예측 모드에 의존하는, 디코더.
  157. 제156항에 있어서,
    상기 일차 변환(108)이 선택된 내부 예측 모드에 의존하고, 분리 가능한 2차원 변환(116)이 되게끔, 상기 결정을 수행하도록 구성된 디코더.
  158. 제156항 또는 제157항에 있어서,
    상기 하위 그룹(112)은 선택된 내부 예측 모드에 의존하는, 디코더.
  159. 제156항 내지 제158항 중 어느 한 항에 있어서,
    미리 결정된 블록 크기들의 제1 미리 결정된 세트보다 작은 미리 결정된 블록 크기들의 제2 미리 결정된 세트의 블록 크기에 대해,
    상기 선택 가능한 변환 세트(98)가 제2 개수의 하나 이상의 분리 불가능한 변환(116)으로 채워지게끔, 상기 결정을 수행하도록 구성된 디코더.
  160. 제156항 내지 제159항 중 어느 한 항에 있어서,
    상기 이차 변환(110)이 선택된 내부 예측 모드에 의존하는 방식은 내부 예측 모드 집단을 포함하도록 구성된, 디코더.
  161. 제155항 내지 제160항 중 어느 한 항에 있어서,
    상기 잔차 블록(84)의 양자화 파라미터가 하나 이상의 미리 결정된 양자화 파라미터들의 세트에 포함되어 있는지를 확인하고,
    만약 포함되어 있다면,
    상기 선택 가능한 변환 세트(98)가 하나 이상의 미리 결정된 양자화 파라미터들의 세트와 연관된 하나 이상의 미리 결정된 변환들의 세트에 의해 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 디코더.
  162. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로 코딩하는 방법으로서, 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원하는, 코딩 방법에 있어서,
    내부 예측 블록(80)의 예측(104)을 획득하기 위해 내부 예측 모드들의 세트(120) 중에서 선택된 모드를 사용하여 상기 내부 예측 블록(80)의 공간적 이웃(90)에 기초하여 상기 내부 예측 블록(80)을 예측하는 단계,
    선택된 상기 내부 예측 모드 및 잔차 블록(84)의 블록 크기(96)에 기초하여 변환 세트(94) 중에서, 상기 내부 예측 블록(80)을 커버하는 잔차 블록(84)에 대한 선택 가능한 변환 세트(98)를 결정하는 단계,
    상기 선택 가능한 변환 세트(98) 중 하나의 선택된 변환(102)을 사용하여 잔차 블록(84) 내의 내부 예측 블록(80)의 예측(104)과 연관된 예측 잔차(100)를 코딩하고, 상기 선택된 변환(102)을 상기 데이터 스트림(14)에서 시그널링하는 단계를 포함하는 코딩 방법.
  163. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 데이터 스트림(14)으로부터 영상(12)을 디코딩하는 방법으로서, 블록 기반 잔차 디코딩을 위한 변환 세트(94)를 지원하는, 디코딩 방법에 있어서,
    내부 예측 블록(80)의 예측(104)을 획득하기 위해 내부 예측 모드들의 세트(120) 중에서 선택된 모드를 사용하여 상기 내부 예측 블록(80)의 공간적 이웃(90)에 기초하여 상기 내부 예측 블록(80)을 예측하는 단계,
    선택된 상기 내부 예측 모드 및 잔차 블록(84)의 블록 크기(96)에 기초하여 변환 세트(94) 중에서, 상기 내부 예측 블록(80)을 커버하는 잔차 블록(84)에 대한 선택 가능한 변환 세트(98)를 결정하는 단계,
    상기 선택 가능한 변환 세트(98) 중에서 하나의 선택된 변환(102)의 도메인에서 잔차 블록(84) 내의 내부 예측 블록(80)의 예측(104)과 연관된 예측 잔차(100)를 상기 데이터 스트림(14)으로부터 디코딩하되 상기 선택된 변환(102)을 상기 데이터 스트림(14)으로부터 유도하면서 디코딩하는 단계를 포함하는 디코딩 방법.
  164. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로 코딩하는 인코더로서, 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원하며,
    이웃하는 잔차 블록(84', 84'')에 대해 선택된 기준 변환에 기초하여, 상기 변환 세트(94) 중에서 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)을 결정하도록(122) 구성되고,
    선택 가능한 상기 변환 후보 목록(98) 중 하나의 선택된 변환(102)을 사용하여 상기 현재 잔차 블록(84) 내의 예측 잔차(100)를 코딩하고, 상기 선택된 변환(102)을 데이터 스트림(14)에서 시그널링하도록 구성된 인코더.
  165. 제164항에 있어서,
    상기 기준 변환을 사용하여, 선택 가능한 상기 변환 후보 목록(98)을 정렬시키도록(122) 구성된 인코더.
  166. 제164항 또는 제165항에 있어서,
    상기 기준 변환 또는 상기 기준 변환에 대응하는 변환을,
    가장 가능성 있는 선택, 또는
    두 번째로 가장 가능성 있는 선택
    과 연관된 순위("n#"에 있어서의 #)로 배치함으로써 선택 가능한 상기 변환 후보 목록(98)을 정렬시키도록(122) 구성된 인코더.
  167. 제164항 내지 제166항 중 어느 한 항에 있어서,
    이웃하는 잔차 블록들(84', 84'')의 세트에 대해 선택된 기준 변환에 기초하여, 상기 변환 세트(94) 중에서 상기 현재 잔차 블록(84)에 대한 선택 가능한 상기 변환 후보 목록(98)을 결정하도록(122) 구성된 인코더.
  168. 제167항에 있어서,
    상기 이웃하는 잔차 블록들(84', 84'')의 세트에 대해 상기 기준 변환이 선택되는 빈도에 대응하는 순서로 상기 기준 변환들을 상호 배치함으로써 선택 가능한 상기 변환 후보 목록(98)을 정렬시키도록(122) 구성된 인코더.
  169. 제164항 내지 제168항 중 어느 한 항에 있어서,
    선택 가능한 상기 변환 후보 목록(98)을 상기 기준 변환으로 채우도록(122) 구성된 인코더.
  170. 제169항에 있어서,
    상기 기준 변환은 분석적으로 정의 가능한 분리 가능 스펙트럼 분해 변환이고,
    상기 인코더는 상기 기준 변환을 상기 현재 잔차 블록(84)의 블록 크기(96)에 적응시킴으로써 유도된 또 다른 변환으로 선택 가능한 상기 변환 후보 목록(98)을 채우도록(122) 구성된, 인코더.
  171. 제169항 또는 제170항 중 어느 한 항에 있어서,
    상기 이웃하는 블록(84', 84'') 및 현재 잔차 블록(84)과 연관된 하나 이상의 특정 특성이 충분히 유사한 경우, 그리고/또는
    상기 기준 변환이 분리 가능 스펙트럼 분해 변환인 경우에,
    상기 채우기를 수행하도록 구성된 인코더.
  172. 제171항에 있어서,
    상기 하나 이상의 특성은 하나 이상의 내부 예측 모드를 포함하는, 인코더.
  173. 제164항 내지 제172항 중 어느 한 항에 있어서,
    하나 이상의 특정 특성에 있어서 상기 기준 변환과의 유사성에 따라 상기 선택 가능한 변환 세트(98) 내 변환들의 순위를 매김으로써 선택 가능한 상기 변환 후보 목록(98)을 정렬시키도록(122) 구성되고, 그리고/또는
    하나 이상의 특정 특성에 있어서 상기 기준 변환과의 특정 비유사성을 초과하는 변환들을 선택 가능한 상기 변환 후보 목록(98)으로부터 제외시키는 방식으로 선택 가능한 상기 변환 후보 목록(98)을 결정하도록 구성된 인코더.
  174. 제173항에 있어서,
    상기 하나 이상의 특성은 하나 이상의 일차 변환을 포함하는, 인코더.
  175. 제164항 내지 제174항 중 어느 한 항에 있어서,
    이웃하는 블록(84')의 하나 이상의 특정 특성에 의존하여 상기 선택 가능한 변환 세트(98) 내 변환들의 순위를 매김으로써 선택 가능한 상기 변환 후보 목록(98)을 정렬시키도록(122) 구성되고, 그리고/또는
    상기 이웃하는 블록(84')의 하나 이상의 특정 특성에 의존하여 선택 가능한 상기 변환 후보 목록(98)으로부터 변환들을 제외시키는 방식으로 상기 선택 가능한 변환 후보 목록(98)을 결정하도록 구성된 인코더.
  176. 제175항에 있어서,
    상기 하나 이상의 특성은 다수의 유의미 변환 계수들 중 하나 이상을 포함하는, 인코더.
  177. 제175항 또는 제176항에 있어서,
    상기 하나 이상의 특성은 다수의 유의미 변환 계수들 중 하나 이상을 포함하되,
    그 유의미 변환 계수들의 개수가 특정 임계값 미만인 경우, 이차 변환을 받게 되는 일차 변환 계수들의 하위 그룹(112)이 있는 다단계 유형의 변환들은 가능성이 낮은 것으로 순위를 매기거나 또는 그 변환들을 제외시켜서 포함하는, 인코더.
  178. 제164항 내지 제177항 중 어느 한 항에 있어서,
    현재 블록의 양자화 파라미터가 하나 이상의 미리 결정된 양자화 파라미터들의 세트에 포함되어 있는지를 확인하고,
    만약 포함되어 있다면,
    상기 선택 가능한 변환 세트(98)가 하나 이상의 미리 결정된 양자화 파라미터들의 세트와 연관된 하나 이상의 미리 결정된 변환들의 세트에 의해 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 인코더.
  179. 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림(14)으로부터 영상(12)을 디코딩하는 디코더로서, 블록 기반 잔차 디코딩을 위한 변환 세트(94)를 지원하며,
    이웃하는 잔차 블록(84', 84'')에 대해 선택된 기준 변환에 기초하여, 상기 변환 세트(94) 중에서 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)을 결정하도록(122) 구성되고,
    선택 가능한 상기 변환 후보 목록(98) 중에서 하나의 선택된 변환(102)의 도메인에서 상기 현재 잔차 블록(84) 내의 예측 잔차(100)를 디코딩하되 상기 선택된 변환(102)을 데이터 스트림(14)으로부터 유도하면서 디코딩하도록 구성된 디코더.
  180. 제179항에 있어서,
    상기 기준 변환을 사용하여, 선택 가능한 상기 변환 후보 목록(98)을 정렬시키도록(122) 구성된 디코더.
  181. 제179항 또는 제180항에 있어서,
    상기 기준 변환 또는 상기 기준 변환에 대응하는 변환을,
    가장 가능성 있는 선택, 또는
    두 번째로 가장 가능성 있는 선택
    과 연관된 순위("n#"에 있어서의 #)로 배치함으로써, 선택 가능한 상기 변환 후보 목록(98)을 정렬시키도록(122) 구성된 디코더.
  182. 제179항 내지 제181항 중 어느 한 항에 있어서,
    이웃하는 잔차 블록들(84', 84'')의 세트에 대해 선택된 상기 기준 변환에 기초하여, 상기 변환 세트(94) 중에서 현재 잔차 블록(84)에 대한 선택 가능한 상기 변환 후보 목록(98)을 결정하도록(122) 구성된 디코더.
  183. 제182항에 있어서,
    이웃하는 잔차 블록들(84', 84'')의 세트에 대해 상기 기준 변환이 선택되는 빈도에 대응하는 순서로 상기 기준 변환들을 상호 배치함으로써 선택 가능한 상기 변환 후보 목록(98)을 정렬시키도록(122) 구성된 디코더.
  184. 제179항 내지 제183항 중 어느 한 항에 있어서,
    선택 가능한 상기 변환 후보 목록(98)을 상기 기준 변환으로 채우도록(122) 구성된 디코더.
  185. 제184항에 있어서,
    상기 기준 변환은 분석적으로 정의 가능한 분리 가능 스펙트럼 분해 변환이고,
    상기 디코더는, 상기 기준 변환을 상기 현재 잔차 블록(84)의 블록 크기(96)에 적응시킴으로써 유도된 또 다른 변환으로 선택 가능한 상기 변환 후보 목록(98)을 채우도록(122) 구성된, 디코더.
  186. 제184항 또는 제185항에 있어서,
    상기 이웃하는 블록(84', 84'') 및 현재 잔차 블록(84)과 연관된 하나 이상의 특정 특성이 충분히 유사한 경우, 그리고/또는
    상기 기준 변환이 분리 가능 스펙트럼 분해 변환인 경우에,
    상기 채우기를 수행하도록 구성된 디코더.
  187. 제186항에 있어서,
    상기 하나 이상의 특성은 하나 이상의 내부 예측 모드를 포함하는, 디코더.
  188. 제179항 내지 제187항 중 어느 한 항에 있어서,
    하나 이상의 특정 특성에 있어서 상기 기준 변환과의 유사성에 따라 상기 선택 가능한 변환 세트(98) 내 변환들의 순위를 매김으로써 선택 가능한 상기 변환 후보 목록(98)을 정렬시키도록(122) 구성되고, 그리고/또는
    하나 이상의 특정 특성에 있어서 상기 기준 변환과의 특정 비유사성을 초과하는 변환들을 선택 가능한 상기 변환 후보 목록(98)으로부터 제외시키는 방식으로 선택 가능한 상기 변환 후보 목록(98)을 결정하도록 구성된 디코더.
  189. 제188항에 있어서,
    상기 하나 이상의 특성은 하나 이상의 일차 변환을 포함하는, 디코더.
  190. 제179항 내지 제189항 중 어느 한 항에 있어서,
    상기 이웃하는 블록(84')의 하나 이상의 특정 특성에 의존하여 상기 선택 가능한 변환 세트(98) 내 변환들의 순위를 매김으로써 선택 가능한 상기 변환 후보 목록(98)을 정렬시키도록(122) 구성되고, 그리고/또는
    상기 이웃하는 블록(84')의 하나 이상의 특정 특성에 의존하여 선택 가능한 변환 후보 목록(98)으로부터 변환들을 제외시키는 방식으로 선택 가능한 상기 변환 후보 목록(98)을 결정하도록 구성된 디코더.
  191. 제190항에 있어서,
    상기 하나 이상의 특성은 다수의 유의미 변환 계수들 중 하나 이상을 포함하는, 디코더.
  192. 제190항 또는 제191항에 있어서,
    상기 하나 이상의 특성은 다수의 유의미 변환 계수들 중 하나 이상을 포함하되,
    그 유의미 변환 계수들의 개수가 특정 임계값 미만인 경우, 상기 이차 변환을 받게 되는 일차 변환 계수들의 하위 그룹(112)이 있는 다단계 유형의 변환들은 가능성이 낮은 것으로 순위를 매기거나 또는 그 변환들을 제외시켜서 포함하는, 디코더.
  193. 제179항 내지 제192항 중 어느 한 항에 있어서,
    현재 블록의 양자화 파라미터가 하나 이상의 미리 결정된 양자화 파라미터들의 세트에 포함되어 있는지를 확인하고,
    만약 포함되어 있다면,
    상기 선택 가능한 변환 세트(98)가 하나 이상의 미리 결정된 양자화 파라미터들의 세트와 연관된 하나 이상의 미리 결정된 변환들의 세트에 의해 추가로 채워지게끔, 상기 결정을 수행하도록 구성된 디코더.
  194. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로 코딩하는 방법으로서, 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원하는, 코딩 방법에 있어서,
    이웃하는 잔차 블록(84', 84'')에 대해 선택된 기준 변환에 기초하여, 상기 변환 세트(94) 중에서 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)을 결정하는 단계(122),
    선택 가능한 상기 변환 후보 목록(98) 중 하나의 선택된 변환(102)을 사용하여 상기 현재 잔차 블록(84) 내의 예측 잔차(100)를 코딩하고, 상기 선택된 변환(102)을 데이터 스트림(14)에서 시그널링하는 단계를 포함하는 코딩 방법.
  195. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 데이터 스트림(14)으로부터 영상(12)을 디코딩하는 방법으로서, 블록 기반 잔차 디코딩을 위한 변환 세트(94)를 지원하는, 디코딩 방법에 있어서,
    이웃하는 잔차 블록(84', 84'')에 대해 선택된 기준 변환에 기초하여, 상기 변환 세트(94) 중에서 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)을 결정하는 단계(122),
    선택 가능한 상기 변환 후보 목록(98) 중에서 하나의 선택된 변환(102)의 도메인에서 상기 현재 잔차 블록(84) 내의 예측 잔차(100)를 디코딩하되 상기 선택된 변환(102)을 데이터 스트림(14)으로부터 유도하면서 디코딩하는 단계를 포함하는 디코딩 방법.
  196. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로 코딩하는 인코더로서, 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원하며,
    상기 변환 세트 중에서 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)을 현재 블록의 양자화 파라미터에 의존하여 결정하되,
    상기 양자화 파라미터가 특정 임계값보다 미세한 양자화에 해당하는 경우에는, 상기 현재 잔차 블록에 대한 선택 가능한 상기 변환 후보 목록(98)이, 상기 현재 잔차 블록 내 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 포함하는 적어도 하나의 다단계 변환(106)으로 채워지고,
    상기 양자화 파라미터가 특정 임계값보다 거친 양자화에 해당하는 경우에는, 상기 현재 잔차 블록에 대한 선택 가능한 변환 목록이, 상기 적어도 하나의 다단계 변환(106)에 추가하여서나 혹은 그 대신에, 하위 그룹(112)을 넘어선 일차 변환 계수(114)가 제로화되는 상기 적어도 하나의 다단계 변환의 수정으로 채워지게끔,
    상기 결정을 수행하도록 구성되며,
    선택 가능한 상기 변환 후보 목록(98) 중 하나의 선택된 변환(102)을 사용하여 상기 현재 잔차 블록(84) 내의 예측 잔차(100)를 코딩하고, 상기 선택된 변환을 데이터 스트림(14)에서 시그널링하도록 구성된 인코더.
  197. 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림(14)으로부터 영상(12)을 디코딩하는 디코더로서, 블록 기반 잔차 디코딩을 위한 변환 세트(94)를 지원하며,
    상기 변환 세트 중에서 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)을 현재 블록의 양자화 파라미터에 의존하여 결정하되,
    상기 양자화 파라미터가 특정 임계값보다 미세한 양자화에 해당하는 경우에는, 상기 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)이, 상기 현재 잔차 블록 내 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 포함하는 적어도 하나의 다단계 변환(106)으로 채워지고,
    상기 양자화 파라미터가 특정 임계값보다 거친 양자화에 해당하는 경우에는, 상기 현재 잔차 블록에 대한 선택 가능한 변환 목록이, 상기 적어도 하나의 다단계 변환(106)에 추가하여서나 혹은 그 대신에, 하위 그룹(112)을 넘어선 일차 변환 계수(114)가 제로화되는 상기 적어도 하나의 다단계 변환의 수정으로 채워지게끔,
    상기 결정을 수행하도록 구성되며,
    선택 가능한 상기 변환 후보 목록(98) 중에서 하나의 선택된 변환(102)의 도메인에서 상기 현재 잔차 블록(84) 내의 예측 잔차(100)를 디코딩하되 상기 선택된 변환을 데이터 스트림(14)으로부터 유도하면서 디코딩하도록 구성된 디코더.
  198. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상(12)을 데이터 스트림(14)으로 코딩하는 방법으로서, 블록 기반 잔차 코딩을 위한 변환 세트(94)를 지원하는, 코딩 방법에 있어서,
    상기 변환 세트 중에서 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)을 현재 블록의 양자화 파라미터에 의존하여 결정하되,
    상기 양자화 파라미터가 특정 임계값보다 미세한 양자화에 해당하는 경우에는, 상기 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)이, 상기 현재 잔차 블록 내 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 포함하는 적어도 하나의 다단계 변환(106)으로 채워지고,
    상기 양자화 파라미터가 특정 임계값보다 거친 양자화에 해당하는 경우에는, 상기 현재 잔차 블록에 대한 선택 가능한 변환 목록이, 상기 적어도 하나의 다단계 변환(106)에 추가하여서나 혹은 그 대신에, 하위 그룹(112)을 넘어선 일차 변환 계수(114)가 제로화되는 상기 적어도 하나의 다단계 변환의 수정으로 채워지게끔,
    상기 결정을 수행하는 단계; 및
    선택 가능한 상기 변환 후보 목록(98) 중 하나의 선택된 변환(102)을 사용하여 상기 현재 잔차 블록(84) 내의 예측 잔차(100)를 코딩하고, 상기 선택된 변환을 데이터 스트림(14)에서 시그널링하는 단계를 포함하는 코딩 방법.
  199. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 데이터 스트림(14)으로부터 영상(12)을 디코딩하는 방법으로서, 블록 기반 잔차 디코딩을 위한 변환 세트(94)를 지원하는, 디코딩 방법에 있어서,
    변환 세트 중에서 현재 잔차 블록(84)에 대한 선택 가능한 변환 후보 목록(98)을 현재 블록의 양자화 파라미터에 의존하여 결정하되,
    상기 양자화 파라미터가 특정 임계값보다 미세한 양자화에 해당하는 경우에는, 상기 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)이, 상기 현재 잔차 블록 내 예측 잔차(100)에 적용되는 일차 변환(108) 및 일차 변환의 일차 변환 계수(114)의 하위 그룹(112)에 적용되는 이차 변환(110)을 포함하는 적어도 하나의 다단계 변환(106)으로 채워지고,
    상기 양자화 파라미터가 특정 임계값보다 거친 양자화에 해당하는 경우에는, 상기 현재 잔차 블록에 대한 선택 가능한 변환 목록이, 상기 적어도 하나의 다단계 변환(106)에 추가하여서나 혹은 그 대신에, 하위 그룹(112)을 넘어선 일차 변환 계수(114)가 제로화되는 상기 적어도 하나의 다단계 변환의 수정으로 채워지게끔,
    상기 결정을 수행하는 단계; 및
    선택 가능한 상기 변환 후보 목록(98) 중에서 하나의 선택된 변환(102)의 도메인에서 상기 현재 잔차 블록(84) 내의 예측 잔차(100)를 디코딩하되 상기 선택된 변환을 데이터 스트림(14)으로부터 유도하면서 디코딩하는 단계를 포함하는 디코딩 방법.
  200. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상을 데이터 스트림으로 코딩하는 인코더로서, 블록 기반 잔차 코딩을 위한 변환 세트를 지원하며,
    상기 변환 세트 중 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)을, 이웃하는 잔차 블록에 대해 선택된 기준 변환에 기초하여, 하나 이상의 이웃하는 잔차 블록들(84', 84'') 내의 유의미 변환 계수들의 개수 또는 합계에 의존하는 방식으로 결정하되(122),
    상기 수 또는 합계가 특정 임계값보다 큰 경우에는, 상기 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)이, 상기 현재 잔차 블록의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환의 일차 변환 계수들의 하위 그룹에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환으로 채워지고,
    상기 수 또는 합계가 특정 임계값보다 작은 경우에는, 상기 현재 잔차 블록에 대한 선택 가능한 변환 목록이, 상기 적어도 하나의 다단계 변환에 추가하여서나 혹은 그 대신에, 하위 그룹을 넘어선 일차 변환 계수가 제로화되는 상기 적어도 하나의 다단계 변환의 수정으로 채워지게끔,
    상기 결정이 수행되도록 구성되고,
    선택 가능한 상기 변환 후보 목록 중 하나의 선택된 변환을 사용하여 잔차 블록 내의 예측 잔차를 코딩하고, 상기 선택된 변환을 데이터 스트림에서 시그널링하도록 구성된 인코더.
  201. 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림으로부터 영상을 디코딩하는 디코더로서, 블록 기반 잔차 디코딩을 위한 변환 세트를 지원하며,
    변환 세트 중 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)을, 이웃하는 잔차 블록에 대해 선택된 기준 변환에 기초하여, 하나 이상의 이웃하는 잔차 블록들(84', 84'') 내의 유의미 변환 계수들의 개수 또는 합계에 의존하는 방식으로 결정하되(122),
    상기 수 또는 합계가 특정 임계값보다 큰 경우에는, 상기 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)이, 현재 잔차 블록의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환의 일차 변환 계수들의 하위 그룹에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환으로 채워지고,
    상기 수 또는 합계가 특정 임계값보다 작은 경우에는, 상기 현재 잔차 블록에 대한 선택 가능한 변환 목록이, 상기 적어도 하나의 다단계 변환에 추가하여서나 혹은 그 대신에, 하위 그룹을 넘어선 일차 변환 계수가 제로화되는 상기 적어도 하나의 다단계 변환의 수정으로 채워지게끔,
    상기 결정을 수행하도록 구성되고,
    선택 가능한 상기 변환 후보 목록 중에서 하나의 선택된 변환의 도메인에서 잔차 블록 내의 예측 잔차를 디코딩하되 상기 선택된 변환을 데이터 스트림으로부터 유도하면서 디코딩하도록 구성된 디코더.
  202. 블록 기반 예측 및 블록 기반 잔차 코딩을 사용하여 영상을 데이터 스트림으로 코딩하는 방법으로서, 블록 기반 잔차 코딩을 위한 변환 세트를 지원하는, 코딩 방법에 있어서,
    변환 세트 중 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)을, 이웃하는 잔차 블록에 대해 선택된 기준 변환에 기초하여, 하나 이상의 이웃하는 잔차 블록들(84', 84'') 내의 유의미 변환 계수들의 개수 또는 합계에 의존하는 방식으로 결정하되(122),
    상기 수 또는 합계가 특정 임계값보다 큰 경우에는, 상기 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)이, 상기 현재 잔차 블록의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환의 일차 변환 계수들의 하위 그룹에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환으로 채워지고,
    상기 수 또는 합계가 특정 임계값보다 작은 경우에는, 상기 현재 잔차 블록에 대한 선택 가능한 변환 목록이, 상기 적어도 하나의 다단계 변환에 추가하여서나 혹은 그 대신에, 하위 그룹을 넘어선 일차 변환 계수가 제로화되는 상기 적어도 하나의 다단계 변환의 수정으로 채워지게끔,
    상기 결정을 수행하는 단계; 및
    선택 가능한 상기 변환 후보 목록 중 하나의 선택된 변환을 사용하여 잔차 블록 내의 예측 잔차를 코딩하고, 상기 선택된 변환을 데이터 스트림에서 시그널링하는 단계를 포함하는 코딩 방법.
  203. 블록 기반 예측 및 블록 기반 잔차 디코딩을 사용하여 데이터 스트림으로부터 영상을 디코딩하는 방법으로서, 블록 기반 잔차 디코딩을 위한 변환 세트를 지원하는, 디코딩 방법에 있어서,
    변환 세트 중 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)을, 이웃하는 잔차 블록에 대해 선택된 기준 변환에 기초하여, 하나 이상의 이웃하는 잔차 블록들(84', 84'') 내의 유의미 변환 계수들의 개수 또는 합계에 의존하는 방식으로 결정하되(122),
    상기 수 또는 합계가 특정 임계값보다 큰 경우에는, 상기 현재 잔차 블록에 대한 선택 가능한 변환 후보 목록(98)이, 상기 현재 잔차 블록의 예측 잔차(100)에 적용되는 일차 변환 및 일차 변환의 일차 변환 계수들의 하위 그룹에 적용되는 이차 변환을 포함하는 적어도 하나의 다단계 변환으로 채워지고,
    상기 수 또는 합계가 특정 임계값보다 작은 경우에는, 상기 현재 잔차 블록에 대한 선택 가능한 변환 목록이, 상기 적어도 하나의 다단계 변환에 추가하여서나 혹은 그 대신에, 상기 하위 그룹을 넘어선 일차 변환 계수가 제로화되는 상기 적어도 하나의 다단계 변환의 수정으로 채워지게끔,
    상기 결정을 수행하는 단계; 및
    선택 가능한 상기 변환 후보 목록 중에서 하나의 선택된 변환의 도메인에서 잔차 블록 내의 예측 잔차를 디코딩하되 상기 선택된 변환을 데이터 스트림으로부터 유도하면서 디코딩하는 단계를 포함하는 디코딩 방법.
  204. 컴퓨터 또는 신호 프로세서에서 실행될 때, 제19항, 제20항, 제59항, 제60항, 제89항, 제90항, 제97항, 제98항, 제129항, 제130항, 제145항, 제146항, 제162항, 제163항, 제194항, 제195항, 제198항, 제199항, 제202항, 또는 제203항 중 적어도 한 항의 방법을 구현하는 컴퓨터 프로그램.
  205. 제19항, 제20항, 제59항, 제60항, 제89항, 제90항, 제97항, 제98항, 제129항, 제130항, 제145항, 제146항, 제162항, 제163항, 제194항, 제195항, 제198항, 제199항, 제202항, 또는 제203항 중 적어도 한 항의 방법에 의해 획득되는 데이터 스트림.
KR1020207031381A 2018-03-29 2019-03-29 변환 세트 KR20200138804A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP18165242 2018-03-29
EP18165242.1 2018-03-29
EP19163314 2019-03-15
EP19163314.8 2019-03-15
PCT/EP2019/058043 WO2019185883A1 (en) 2018-03-29 2019-03-29 Determination of set of candidate transforms for video encoding

Publications (1)

Publication Number Publication Date
KR20200138804A true KR20200138804A (ko) 2020-12-10

Family

ID=65904458

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207031381A KR20200138804A (ko) 2018-03-29 2019-03-29 변환 세트

Country Status (7)

Country Link
US (2) US11882284B2 (ko)
EP (1) EP3777165A1 (ko)
JP (2) JP2021519546A (ko)
KR (1) KR20200138804A (ko)
CN (1) CN112567745A (ko)
TW (2) TWI731322B (ko)
WO (1) WO2019185883A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022220546A1 (ko) * 2021-04-12 2022-10-20 엘지전자 주식회사 저주파 비분리 변환 설계 방법 및 장치
WO2024080797A1 (ko) * 2022-10-12 2024-04-18 엘지전자 주식회사 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체
WO2024080784A1 (ko) * 2022-10-12 2024-04-18 엘지전자 주식회사 비분리 1차 변환에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11128866B2 (en) 2018-10-18 2021-09-21 Qualcomm Incorporated Scans and last coefficient position coding for zero-out transforms
CA3224700A1 (en) 2018-12-19 2020-06-25 Lg Electronics Inc. Video coding method on basis of secondary transform, and device for same
WO2020145582A1 (ko) * 2019-01-07 2020-07-16 엘지전자 주식회사 이차 변환에 기반한 영상 코딩 방법 및 그 장치
US11218735B2 (en) * 2019-04-02 2022-01-04 Qualcomm Incorporated Context derivation for last position coding for video coding
US11032572B2 (en) 2019-05-17 2021-06-08 Qualcomm Incorporated Low-frequency non-separable transform signaling based on zero-out patterns for video coding
WO2020237011A1 (en) * 2019-05-23 2020-11-26 Cognizant Technology Solutions U.S. Corporation Quantifying the predictive uncertainty of neural networks via residual estimation with i/o kernel
US11218728B2 (en) * 2019-06-04 2022-01-04 Tencent America LLC Method and apparatus for video coding
US11695960B2 (en) 2019-06-14 2023-07-04 Qualcomm Incorporated Transform and last significant coefficient position signaling for low-frequency non-separable transform in video coding
WO2021086022A1 (ko) 2019-10-28 2021-05-06 엘지전자 주식회사 적응적 색상 변환을 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
KR102638578B1 (ko) * 2019-11-21 2024-02-20 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 변환 및 계수 시그널링에 대한 방법 및 장치
US11375220B2 (en) 2019-11-27 2022-06-28 Tencent America LLC Method and apparatus for video decoding using a nominal directional mode and an angular offset
US20230054294A1 (en) * 2020-01-10 2023-02-23 Lg Electronics Inc. Transform-based image coding method and device for same
JP7400114B2 (ja) 2020-02-24 2023-12-18 バイトダンス インコーポレイテッド ビデオコーディングでのピクチャレベルスライスインデックスの使用
CN115211044A (zh) 2020-03-03 2022-10-18 字节跳动有限公司 使用条带头信令通知控制缩放处理
US20210326710A1 (en) * 2020-04-16 2021-10-21 Tencent America LLC Neural network model compression
US11683490B2 (en) * 2020-09-10 2023-06-20 Tencent America LLC Context adaptive transform set
US20220201334A1 (en) * 2020-12-23 2022-06-23 Tencent America LLC Method and apparatus for video coding
WO2023046463A1 (en) * 2021-09-23 2023-03-30 Interdigital Vc Holdings France, Sas Methods and apparatuses for encoding/decoding a video
CN114339230B (zh) * 2022-03-03 2022-09-02 杭州未名信科科技有限公司 用于视频编码的变换核选择方法、装置、存储介质及终端
WO2024054689A1 (en) * 2022-09-10 2024-03-14 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatus for transform training and coding

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8855203B2 (en) * 2009-04-08 2014-10-07 Sharp Kabushiki Kaisha Video encoding apparatus and video decoding apparatus
US9215470B2 (en) * 2010-07-09 2015-12-15 Qualcomm Incorporated Signaling selected directional transform for video coding
CN107835419B (zh) * 2011-10-18 2021-05-14 株式会社Kt 视频信号解码方法
EP2904803A1 (en) * 2012-10-01 2015-08-12 GE Video Compression, LLC Scalable video coding using derivation of subblock subdivision for prediction from base layer
US10306229B2 (en) * 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
US10681379B2 (en) * 2015-09-29 2020-06-09 Qualcomm Incorporated Non-separable secondary transform for video coding with reorganizing
WO2018011345A1 (en) * 2016-07-14 2018-01-18 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Predictive picture coding using transform-based residual coding
US10972733B2 (en) * 2016-07-15 2021-04-06 Qualcomm Incorporated Look-up table for enhanced multiple transform
CN110419218B (zh) * 2017-03-16 2021-02-26 联发科技股份有限公司 编码或解码视频数据的方法和装置
US10750181B2 (en) * 2017-05-11 2020-08-18 Mediatek Inc. Method and apparatus of adaptive multiple transforms for video coding
KR20200015885A (ko) * 2017-07-04 2020-02-13 삼성전자주식회사 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치
KR102030384B1 (ko) * 2018-06-19 2019-11-08 광운대학교 산학협력단 잔차 계수 부호화/복호화 방법 및 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022220546A1 (ko) * 2021-04-12 2022-10-20 엘지전자 주식회사 저주파 비분리 변환 설계 방법 및 장치
WO2024080797A1 (ko) * 2022-10-12 2024-04-18 엘지전자 주식회사 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체
WO2024080784A1 (ko) * 2022-10-12 2024-04-18 엘지전자 주식회사 비분리 1차 변환에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체

Also Published As

Publication number Publication date
TWI731322B (zh) 2021-06-21
TWI791222B (zh) 2023-02-01
JP2023062181A (ja) 2023-05-02
US20240114138A1 (en) 2024-04-04
CN112567745A (zh) 2021-03-26
TW201946460A (zh) 2019-12-01
JP2021519546A (ja) 2021-08-10
EP3777165A1 (en) 2021-02-17
WO2019185883A1 (en) 2019-10-03
US20210084301A1 (en) 2021-03-18
US11882284B2 (en) 2024-01-23
TW202137762A (zh) 2021-10-01

Similar Documents

Publication Publication Date Title
KR20200138804A (ko) 변환 세트
JP7210568B2 (ja) ブロック単位の画像符号化のためのイントラ予測モード概念
CN110024392B (zh) 用于视频译码的低复杂度符号预测
US9516350B2 (en) Method and apparatus for entropy coding video and method and apparatus for entropy decoding video
KR102661759B1 (ko) 종속 스칼라 양자화를 사용하거나 이와 조합하는 데에 적합한 변환 계수의 효율적인 코딩
JP7459319B2 (ja) 統合変換タイプ通知および変換タイプ依存変換係数レベルコーディング
JP2020145753A (ja) 変換係数ブロック復号装置および方法、ならびに変換係数ブロック符号化装置および方法
KR20210003125A (ko) 종속 양자화
TW202007169A (zh) 適於相依純量量化之變換係數熵寫碼技術
JP2022538160A (ja) イントラ下位区分のためのコーディングを含むデコーダ、エンコーダ、および方法
TW202130171A (zh) 支援轉換係數等級的適應性相依量化的解碼器、編碼器及方法
WO2023131641A1 (en) Concepts for encoding and decoding neural network parameters
KR20200025171A (ko) 다중 변환 선택을 사용하는 비디오 신호 처리 방법 및 장치