KR20200043399A - 비디오 코딩에서 변환들의 세트의 로컬 선택을 위한 변환들의 풀들 - Google Patents

비디오 코딩에서 변환들의 세트의 로컬 선택을 위한 변환들의 풀들 Download PDF

Info

Publication number
KR20200043399A
KR20200043399A KR1020207005625A KR20207005625A KR20200043399A KR 20200043399 A KR20200043399 A KR 20200043399A KR 1020207005625 A KR1020207005625 A KR 1020207005625A KR 20207005625 A KR20207005625 A KR 20207005625A KR 20200043399 A KR20200043399 A KR 20200043399A
Authority
KR
South Korea
Prior art keywords
transforms
index
block
transform
region
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
KR1020207005625A
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 KR20200043399A publication Critical patent/KR20200043399A/ko
Pending legal-status Critical Current

Links

Images

Classifications

    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102—Methods 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/12—Selection 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
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00—Machine learning
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
    • H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169—Methods 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/17—Methods 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/176—Methods 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
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169—Methods 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/1883—Methods 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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46—Embedding additional information in the video signal during the compression process
    • H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169—Methods 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/17—Methods 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/174—Methods 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 slice, e.g. a line of blocks or a group of blocks
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169—Methods 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/187—Methods 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 scalable video layer
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96—Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

비디오 인코더들 및 디코더들의 성능을 개선하기 위한 방법 및 장치는 비디오 이미지의 영역 내의 블록들을 코딩하는데 사용될 수 있는 변환들의 복수의 세트들 중에서 변환들의 세트를 선택하는 것을 수반한다. 영역 내에서, 변환들의 선택된 세트를 포함하는 복수의 변환들 중에서 특정 변환의 선택은 영역 내의 적어도 하나의 블록을 인코딩 또는 디코딩하기 위해 사용된다. 영역 내에서 사용될 변환들의 세트 및 블록에 대해 선택된 변환을 표현하는 연관된 인덱스들은 비트스트림에서 전송될 수 있다. 대안적인 실시예에서, 변환들의 디폴트 세트는 블록 또는 영역 단위로 변환들의 추가적인 세트의 선택에 의해 보완된다.

Description

비디오 코딩에서 변환들의 세트의 로컬 선택을 위한 변환들의 풀들
본 원리들은 비디오 압축에 관한 것이고, 더 상세하게는 블록 변환들을 이용하여 비디오 코딩 및 디코딩을 수행하는 것에 관한 것이다.
블록 기반 코덱들의 변환들을 개선하기 위해 많은 시도들이 이미 수행되어 왔다. 이들은 2개의 카테고리들로 분류될 수 있다.
제1 카테고리는 변환 자체의 변화이다. 가장 정교한 방법들은 실제 콘텐츠에 대한 변환의 학습을 사용한다.
제2 카테고리는 로컬 레벨에서, 즉, 블록 레벨에서 몇몇 변환들을 경쟁시키는 것이다.
두 타입들 모두의 변환 변화들의 조합은 소위 "다수의 적응형 변환" 스킴들을 도출하였다. 다수의 변환들 중 어느 것이 블록에 의해 사용될지를 식별하기 위해 가외의 신택스가 필요할 수 있다.
추가적인 신택스의 비용에도 불구하고, 변환의 선택의 로컬 유연성은 압축 스킴에 대한 긍정적인 영향을 갖는 것으로 판명되었다.
종래 기술에서, 1) 콘텐츠의 로컬 통계에 더 잘 적응하기 위해 변환들의 수를 증가시키는 것 및 2) 가외의 변환 시그널링 신택스를 가능한 한 낮게 유지하는 것의 균형은 찾기 어려웠다. 물론, 더 많은 변환들은 더 양호한 적응성을 그러나 더 많은 시그널링을 도출한다. 일부 적응형 변환들을 추가하는 것은 압축 성능 측면에서 유리하다는 것이 밝혀졌다. 그러나, 가외의 시그널링은 변환된 계수들의 더 양호한 압축으로부터 획득된 모든 이득을 파괴하기 때문에 많은 변환들을 추가하는 것은 성능을 저하시킬 수 있다.
종래 기술의 이러한 및 다른 결함들 및 단점들은, 변환들의 수와 변환 시그널링 비용 사이의 균형을 개선하기 위한 방법 및 장치에 관한 본 발명의 설명된 실시예들에 의해 해결된다.
설명된 실시예들의 일 양태에 따르면, 비디오 이미지 내의 블록을 인코딩하기 위한 방법이 제공된다. 방법은 변환들의 복수의 세트들로부터 변환들의 세트를 선택하는 단계 - 변환들의 세트는 제1 인덱스와 연관됨 -, 변환들의 선택된 세트를 포함하는 복수의 변환들 중에서 변환을 선택하는 단계 - 선택된 변환은 제2 인덱스와 연관됨 -, 선택된 변환을 사용하여 비디오 이미지의 영역 내의 적어도 일 블록을 변환 계수들로 변환하는 단계, 및 제1 인덱스 및 제2 인덱스와 함께 변환된 계수들을 비트스트림으로 인코딩하는 단계를 포함한다.
설명된 실시예들의 다른 양태에 따르면, 비디오 이미지 내의 블록을 디코딩하기 위한 방법이 제공된다. 방법은 제1 인덱스 및 제2 인덱스를 생성하기 위해 비디오 비트스트림을 디코딩하는 단계, 비디오 이미지의 영역 내의 블록들을 디코딩하는데 사용될 변환들의 복수의 세트들로부터 제1 인덱스와 연관된 변환들의 세트를 선택하는 단계, 비디오 이미지의 영역 내의 블록을 디코딩하는데 사용하기 위해, 변환들의 선택된 세트를 포함하는 복수의 변환들 중에서 제2 인덱스와 연관된 변환을 선택하는 단계, 및 선택된 변환을 사용하여 비디오 이미지의 영역 내의 적어도 일 블록의 계수들을 역변환하는 단계를 포함한다.
설명된 실시예들의 다른 양태에 따르면, 장치가 제공된다. 장치는 메모리 및 프로세서를 포함하고, 프로세서는 비디오 이미지 내의 블록을 인코딩 및 디코딩하기 위한 전술된 방법들의 임의의 양태를 수행하도록 구성될 수 있다.
설명된 실시예들의 다른 양태에 따르면, 인코딩 실시예들 중 임의의 것에 따라 생성된 데이터 콘텐츠를 포함하는 비일시적 컴퓨터 판독가능 매체가 제공된다.
설명된 실시예들의 다른 양태에 따르면, 인코딩 실시예들 중 임의의 것에 따라 생성된 비디오 데이터를 포함하는 신호가 제공된다.
설명된 실시예들의 다른 양태에 따르면, 프로그램이 컴퓨터에 의해 실행될 때 컴퓨터로 하여금 인코딩 실시예들 중 임의의 것을 수행하게 하는 명령어들을 포함하는 컴퓨터 프로그램 제품이 제공된다.
본 원리들의 이들 및 다른 양태들, 특징들 및 이점들은 첨부된 도면들과 관련하여 읽혀질 예시적인 실시예들에 대한 다음의 상세한 설명으로부터 명백해질 것이다.
도 1a는 많은 표준 블록 기반 코덱들에서 사용되는 바와 같은 일반적인 블록 코딩 엔진을 예시한다.
도 1b는 본 실시예들이 구현될 수 있는 예시적인 HEVC 코더를 도시한다.
도 1c는 본 실시예들이 구현될 수 있는 예시적인 HEVC 디코더를 도시한다.
도 2는 변환들의 세트들의 풀을 사용하는 제안된 실시예들의 인코딩 방법에 대한 블록도를 예시한다.
도 3은 통상적인 오프라인 변환 학습 스킴을 예시하는 블록도를 예시한다.
도 4는 실시간 인코딩에서 적응된 변환들 및 정량자(quantifier)의 가능한 사용 중 하나를 예시한다.
도 5는 적응형 변환들을 구현하기 위한 방법의 다른 실시예를 도시한다.
도 6은 설명된 방법들을 사용하여 적응형 변환들을 구현하기 위한 방법의 추가적 실시예를 도시한다.
도 7은 설명된 방법들의 일 실시예에서와 같이 스태거링된 시간들에 프레임들의 도면을 도시한다.
도 8은 본원에 설명된 일반적 양태들을 사용하여 비디오 이미지 내의 블록을 인코딩하기 위한 방법의 일 실시예를 도시한다.
도 9는 본원에 설명된 일반적 양태들을 사용하여 비디오 이미지 내의 블록을 디코딩하기 위한 방법의 일 실시예를 도시한다.
도 10은 본원에 설명된 일반적 양태들을 사용하여 비디오 이미지 내의 블록을 인코딩 또는 디코딩하기 위한 장치의 일 실시예를 도시한다.
지난 수십 년 동안 많은 블록 기반 비디오 및 이미지 코덱들(MPEG2, h264/AVC, HEVC, VP8, VP9, 미래의 h266 등)이 개발되었으며, 이들 대부분은 도시된 것과 유사한 블록 코딩 엔진에 기초한다.
후술되는 실시예들에 의해 해결되는 기술적 문제는 블록 기반 코덱들에 사용된 변환들의 능력을 개선하고, 변환된 계수들에 포함된 정보를 압축하여, 코덱의 압축 능력이 증가되는 것, 즉 더 낮은 비트 레이트에 대한 동일한 품질이다.
이미지는 정사각형 또는 직사각형 블록들로 세그먼트화되고, 이어서, 변환된 계수들을 획득하기 위해 변환 T(DCT, DST 등)가 각각의 블록의 픽셀들에 적용된다. 이어서, 양자화기 Q는 예를 들어, VLC, 산술 코더, CABAC과 같은 엔트로피 코더에 의해 인코딩되는 양자화된 계수들을 획득하기 위해 계수들을 양자화한다.
압축 능력을 개선하기 위해, 블록은 이미 인코딩된 블록들로부터 예측되어 잔차가 획득된다. 이러한 예측은 공간적으로 이웃한 블록들(인트라 예측) 또는 시간적으로 상이한 인코딩된 프레임의 일부(인터 예측)로부터 수행될 수 있다. 잔차 블록에 포함된 정보는 통상적으로 원래의 블록 내의 정보보다 작아서, 더 양호한 압축 성능을 도출한다.
Figure pct00001
예측(인트라 대 인터, 방향)
Figure pct00002
블록 토폴로지(통상적으로 프루닝(pruning)을 갖는 쿼드-트리 또는 이진 트리에 의해 유도되는 위치 및 크기)
의 선택이 하기 합산으로 표현된 코딩 비용을 최소화하려 시도하는 레이트 왜곡 최적화(RDO)에 의해 유도되고,
Figure pct00003
여기서 C는 비용이고, D는 원래의 참조 블록에 비해 코딩된 블록의 왜곡이고, R은 모드를 인코딩하는데 필요한 레이트(=비트들의 수)이다. 통상적으로, 왜곡 D는 픽셀들 사이의 평균 제곱 차이로서 표현되고, 레이트 R은 본질적으로 하기의 합산으로 구성된 합성이다.
Figure pct00004
엔트로피 코더에 의해 양자화된 계수들을 인코딩하는데 필요한 레이트 RC
Figure pct00005
블록 토폴로지 및 예측 모드를 인코딩하는데 필요한 레이트 Rτ
따라서, RDO는 코딩 비용의 측면에서 최적의 토폴로지를 도출한다. 파라미터 λ는 압축의 품질을 유도한다. 극단적인 값들의 경우, λ=0은 모든 비용을 왜곡에 소비하고 손실없는 코딩을 도출하는 한편; λ>>1은 모든 비용을 레이트에 소비하고 매우 낮은 비트 레이트들을 갖는 코딩을 도출한다. 대체로, 왜곡의 측면에서 압축의 품질은 λ가 감소함에 따라 증가한다.
설명되는 실시예들은 다른 코딩 스킴들에 비해 더 양호한 코딩 성능을 획득하기 위해 변환 T의 개선에 초점을 둔다.
실시예들은 블록에서 어느 변환이 사용될지를 판정하기 위해 새로운 스킴 및 신택스를 설명한다. 주요 접근법은 다음과 같이 변환 시그널링 신택스를 2개의 레벨들로 분리하는 것이다:
Figure pct00006
영역 레벨에서, 변환들의 세트들의 풀로부터, 이러한 영역에 대해 어느 변환들의 세트가 사용될지를 선택한다.
Figure pct00007
로컬 영역 레벨에서, 선택된 변환들의 세트로부터, 하나의 블록 또는 블록들의 그룹에 대해 어느 변환이 사용될지를 판정한다. 하나의 영역은 몇몇 로컬 영역들을 포함할 수 있는 것으로 이해된다.
이러한 접근법은 콘텐츠에 대한 높은 적응성을 유지하기 위해 많은 변환들의 사용을 유지하는 동시에, 시그널링의 공통 부분을 영역 레벨에 놓음으로써 변환 시그널링을 감소시키는 것을 허용하기 때문에 유리하다.
설명된 실시예들의 인코딩 방법의 일 실시예는 도 2에 도시되어 있다. 풀로부터의 변환들의 선택은 비트스트림에 전용 신택스를 추가하는 RDO 루프에서 수행된다. 도 2의 블록도에 도시된 바와 같이, 비디오 신호는 먼저 각각의 영역이 블록들 또는 하위 영역들로 추가로 분리된 영역들로 분리된다. 영역에 대해, 제1 요소 Pi(즉, 변환들의 세트)가 변환들의 세트들의 풀로부터 선택된다. 이어서, 영역 내의 각각의 블록에 대해, 제2 요소(즉, 변환들의 세트로부터의 변환)
Figure pct00008
가 앞서 선택된 제1 요소 Pi로부터 선택된다. 이어서, 이러한 제2 요소(변환)를 사용하여 블록을 계수들로 변환한다. 이들 계수들은 양자화되어 양자화된 계수들을 획득하고, 이어서, 양자화된 계수들은 디코더에서 제2 요소를 식별하는 인덱스와 함께 비트스트림으로 코딩된다. 영역 내 모든 블록들을 인코딩하는 비용은 누적된다. 마지막으로, 제1 요소, 즉 풀 인덱스를 식별하는 인덱스가 비트스트림으로 코딩되고 전체 비용이 업데이트된다.
영역 레벨에서, 최소 코딩 비용을 갖는 변환 Pi의 세트가 그 영역을 인코딩하기 위해 선택된다. 코딩된 영역들은 픽처에서 여전히 코딩될 다음 영역들을 예측하는데 사용될 수 있다.
이미지 및 비디오 코딩을 위한 효율적인 변환들에 대한 연구는 항상 활발한 연구 분야였다. 과거에 많은 정교한 접근법들이 개발되었으며 2개의 주요 접근법들로 카테고리화될 수 있다.
하나의 접근법은 체계적인 변환들, 즉 이미 공지된 변환들을 사용하여 더 양호한 압축을 달성한다. 최근의 일부 작업은, 예를 들어, 비디오 신호를 압축하는 적응형 방식에서, 정현파 변환들의 계열, 즉, DCT-II, DCT-V, DCT-VIII, DST-I, DST-VIII로부터 획득된 다수의 체계적 변환들을 사용하는 것을 수반한다.
다른 접근법은 대형 트레이닝 세트에서 변환들의 사전을 오프라인에서 학습하는 것을 수반하며, 이는 이어서 비디오 코덱의 인코더 및 디코더 둘 모두에서 이용가능하다. 많은 상이한 학습 접근법들이 문헌에서 제안되었다. 통상적인 학습 스킴은 도 3에 도시되어 있고 아래에서 설명된다:
rj(여기서 j = 1...J)를 트레이닝 세트에서 j번째 잔차라 한다. 잔차들 각각은 K개의 상이한 변환들 Tk(여기서 k = 1...K)를 사용하여 변환될 수 있다. 이러한 변환들은 트레이닝 세트를 K개의 상이한 클래스들로 랜덤으로 분리하고, 이어서 이러한 클래스들 각각에 대해 KLT(Karhunen Loeve Transform)를 학습함으로써 초기화되거나, 배향된 DCT 형 분리가능 변환들의 세트로 초기화될 수 있다.
알고리즘은 2개의 부분들, 잔차 블록들의 분류 및 변환들의 새로운 세트의 생성으로 분리된다. 제1 단계는, 변환 Tk를 사용하여 잔차 블록 rj를 코딩하는 레이트-왜곡(R-D) 비용을 나타내고 최소 R-D 비용을 제공하는 변환 인덱스로 잔차를 추가로 라벨링하는 아래의 방정식에 기초하여 잔차 블록들을 K개의 상이한 클래스들(S1...SK)로 분류한다.
Figure pct00009
여기서,
Figure pct00010
는 양자화된 계수 블록
Figure pct00011
의 역 양자화 Q-1 및 역변환 Tk 후에 획득된 재구성된 잔차이다.
제2 단계에서, 새로운 변환
Figure pct00012
는 그 클래스에 대한 재구성 에러의 최소화를 사용하여 각각의 클래스 k에 대해 획득되고 아래의 방정식을 풀어서 획득된다.
Figure pct00013
통상적으로, 변환들의 직교 세트를 생성하기 위해 SVD(Singular Value Decomposition)가 사용된다. 상기 2개의 단계들은 솔루션의 수렴 또는 중지 기준에 도달될 때까지 반복된다. 도 3의 블록도에서 보이는 바와 같이, 시스템의 입력은 변환들의 일부 초기 세트(T1...TK)와 함께 잔차들의 큰 집합들로 구성된 트레이닝 세트이다. 시스템은 반복 학습 스킴 후에 학습된 변환들의 세트(T1'...TK')를 출력한다.
다음으로, 변환들의 세트를 생성하는 상이한 방법들이 간략하게 설명된다. 트레이닝 세트가 주어지면, 오프라인 학습 스킴을 사용하여 K개의 변환들의 세트가 생성될 수 있다. 그러나, 편향되지 않은 트레이닝 세트는 콘텐츠, 분해능, 비트 깊이 또는 기타 팩터들의 측면에서 다양한 상이한 비디오 시퀀스들로부터 잔차들을 추출함으로써 구성된다. 따라서, 이러한 일반적 트레이닝 세트에 대해 학습된 변환들은 특정 콘텐츠 유형 또는 분해능 유형으로 편향되지 않으며 일반적이다.
또한, 다른 접근법은 트레이닝 세트를 다수의 더 작은 트레이닝 세트들로 분리하는 것이고, 여기서 트레이닝 세트 각각 내의 잔차들은 서로 매우 상관되는 비디오 시퀀스들 또는 이미지들로부터 추출된다. 일례가 도 4에 예시되어 있고, 여기서 3개의 별개의 트레이닝 세트들을 생성하기 위해 Rolland Garros, 아이스하키 및 숲으로부터 취해진 시퀀스들의 집합이 취해진다. 변환들의 세트를 생성하기 위해 각각의 트레이닝 세트가 사용된다. 이러한 세트들은 마지막으로 실시간 인코딩에 사용되도록 함께 풀링된다.
실시간 인코딩의 경우, 비디오 시퀀스 내부의 픽처는 다수의 영역들로 분리되며, 여기서 각각의 영역은 상이한 시퀀스들에 대해 학습된 변환들의 하나 초과의 세트들의 풀로부터 변환들의 세트를 사용한다. 각각의 영역 내에서, 통상적인 트리 기반 분리를 통해 획득된 각각의 블록은 그 영역에 대해 선택된 변환들의 세트로부터의 단일 변환을 사용하여 코딩된다.
영역의 풀 내의 모든 변환들의 세트를 테스트함으로써 각각의 영역에 대해 무차별 대입 테스트를 수행하고, 이어서 최소 R-D 비용을 제공하는 세트를 선택할 수 있다. 따라서, 영역 레벨에서, 변환들의 세트들의 풀로부터 변환들의 세트의 선택을 시그널링하기 위해 인덱스가 코딩된다. 예를 들어, 영역 내에서 블록 또는 블록들의 그룹과 같은 보다 로컬 레벨에서, 그 로컬 레벨에서 코딩하기 위해 사용되는 세트 내에서 변환의 선택을 시그널링하기 위해 다른 인덱스가 코딩된다.
예시적인 인코딩 실시예에서, 변환들의 세트들의 풀은 이전 섹션들에서 설명된 방법들을 사용하여 오프라인으로 컴퓨팅되고 비디오 코덱의 인코더 및 디코더 측 둘 모두에서 이용가능하게 된다. 다음 단계들은 인코더에 의해 수행된다.
1) 비디오 픽처는 변환들의 세트들 Pi의 풀과 함께 인코더에 공급되는 영역들로 분리되며, 여기서 i∈[0;N-1]이고, 여기서 N은 풀 내의 변환들의 세트들의 총 수이다.
2) 각각의 영역에 대해,
a. 변환들의 세트 Pi가 변환들의 세트들로부터 선택된다.
b. 영역 내에서 트리 기반 분리를 사용하여 획득된 각각의 블록(또는 블록들의 그룹)에 대해:
i. 변환
Figure pct00014
, 여기서 j∈[0;Ki-1]이고, Ki는 선택된 변환들의 세트 Pi에서의 변환들의 수이고, 앞서 선택된 변환들의 세트 Pi로부터 선택된다.
ii. 각각의 변환 및 블록에 대해:
1. 이미 재구성된 샘플들로부터 예측(인트라 또는 인터)이 수행된다.
2. 잔차 블록은 원래의 블록과 예측된 블록 사이의 픽셀 단위 차이를 컴퓨팅함으로써 획득된다.
3. 잔차 블록은
Figure pct00015
를 사용하여 계수들로 변환된다.
4. 양자화된 계수들을 생성하기 위해 양자화기 Q를 사용하여 계수들이 양자화된다.
5. 양자화된 계수들의 비트 레이트는 (CABAC 또는 콘텍스트 프리 코더와 같은) 가상 엔트로피 코더를 사용하여 추정된다.
6. 이러한 블록에 사용된 변환을 식별하는 인덱스의 비트 레이트가 추정된다.
7. 양자화된 계수들 및 인덱스를 코딩하기 위해 필요한 비트들의 수로서 추정된 레이트 R이 추정된다.
8. 역 양자화 및 역변환은 양자화된 계수들에 적용되어 재구성된 잔차 블록을 생성한다.
9. 재구성된 블록을 생성하기 위해 예측이 추가된다.
10. 왜곡 D는 원래의 블록과 재구성된 블록 사이의 평균 제곱 에러로서 컴퓨팅된다.
11. 비용 Cm = D + λR은 현재 블록을 코딩하기 위해 추정된다.
iii. 변환들의 세트 Pi 내에서 각각의 변환
Figure pct00016
에 대해 단계 (i)를 반복하고 최소 R-D 비용 Cm을 갖는 변환을 선택한다.
c. 각각의 블록(또는 블록들의 그룹) m에 대해 단계 (b)를 반복하고 영역 내의 모든 블록들을 코딩하는 비용 Cm을 합산하여 영역 당 비용 C를 얻는다.
d. 이러한 영역에서 사용된 변환들의 세트 내의 변환들의 세트 Pi를 식별하는 인덱스의 비트 레이트를 추정한다.
e. 변환들의 세트들 내의 변환들의 각각의 세트 Pi에 대해 단계 (2)로부터 반복하고 최소 R-D 비용 C를 갖는 변환들의 세트를 선택한다.
3) 결정된 Pi 및
Figure pct00017
로 영역을 인코딩한다.
디코딩을 위해, 다음 단계들이 수행될 수 있다:
1) 디코딩될 영역에 대해, 변환들 세트들로부터 변환들의 세트 Pi를 식별하는 제1 인덱스를 비트스트림으로부터 획득한다.
2) 상기 영역 내에서, 각각의 블록(또는 블록들의 그룹)에 대해,
a. 양자화된 계수들을 디코딩한다.
b. 앞서 선택된 변환들의 세트에서 변환
Figure pct00018
를 식별하는 제2 인덱스를 디코딩한다.
c. 잔차 블록을 획득하기 위해 상기 양자화된 계수들을 역 양자화 및 역변환한다.
d. 이미 재구성된 영역들로부터 예측 블록 컴퓨팅한다.
e. 재구성된 블록 생성하기 위해 잔차 블록에 예측 블록을 추가한다.
3) 각각의 블록(또는 블록들의 그룹)에 대해 (2)를 반복한다.
4) 각각의 영역에 대해 (1)을 반복한다.
픽처를 인코딩하기 위한 방법과 같은 구현될 수 있는 추가적인 실시예들이 존재하고, 방법은, 적어도 블록들의 제1 세트에 대해, 먼저, 적어도 2개의 변환들의 제2 세트들의 수퍼세트(또는 그룹 또는 풀)로부터 요소를 선택하는 단계를 포함하는 것을 특징으로 한다. 이어서, 제1 세트의 적어도 2개의 서브세트들에 대해, 적어도 2개의 변환들의 선택된 제2 세트로부터 변환을 선택하고, 적어도 2개의 서브세트들 각각에 대해, 선택된 변환을 사용하여 적어도 하나의 블록을 계수들로 변환한다. 마지막으로, 적어도 선택된 요소를 식별하는 인덱스, 선택된 변환들을 식별하는 인덱스들 및 계수들을 적어도 하나의 비트스트림으로 인코딩한다.
추가적인 실시예들은 하기 특성들을 가질 수 있다. 블록은 픽처 블록 또는 잔차 블록일 수 있다. 블록들의 세트, 블록들의 서브세트는 쿼드 트리들 또는 이진 트리들과 같은 트리들을 사용하여 결정된다. 또한, 블록들의 서브세트들은 트리 구조에서 블록들의 세트의 자 블록(children)일 수 있다. 또한, 변환들의 세트로서, 세트는 최대 코딩 유닛(LCU)으로서 또는 동등하게 코딩 트리 유닛(CTU)으로서 정의될 수 있다. 서브세트는 변환 유닛(TU) 또는 코딩 유닛(CU)으로서 또는 트리의 임의의 자 노드로 정의될 수 있다.
일 실시예에서, 변환들의 디폴트 풀이 정의되고 항상 활성화된다. 이어서, 디폴트 풀은 적응적으로 선택될 수 있는 서브-풀들로 보완된다. 통상적으로 픽처, 슬라이스, CTU 또는 CU 레벨에서 선택이 이루어질 수 있다.
이러한 실시예에 대한 단순화된 신택스 디코딩 프로세스는 아래의 흐름도에 예시되어 있다. 디폴트 풀이 정의되고 코딩될 것으로 고려되는 유닛을 코딩하기 위해 체계적으로 사용되며, 유닛은 예를 들어 CTU, CU 또는 슬라이스이다. 프로세스의 시작으로부터, 제1 단계 "보완 풀의 식별"은 코딩될 것으로 고려되는 유닛에 사용될 보완 풀의 인덱스를 식별한다. 이어서, 제2 단계는 디폴트 풀의 변환들 및 선택된 보완 풀의 변환으로 이루어진 변환들의 세트 중에서 사용될 변환의 인덱스를 식별한다. 이는 고려되는 유닛에 적용될 변환에 대한 변환 인덱스를 제공한다. 이러한 단계 후에 변환 선택 프로세스가 종료된다. 이러한 개념은 풀들의 둘 초과의 레벨들로 일반화될 수 있다.
다른 실시예에서, 보완 풀은 고려되는 유닛보다 더 높은 신택스 레벨, 예를 들어, SPS 또는 슬라이스 레벨에서 시그널링된다. 예를 들어, 보완 풀 시그널링은 SPS 레벨에서 이루어지고, 변환 시그널링은 고려되는 유닛 레벨에서 이루어진다.
이러한 개념은 또한 풀들의 둘 초과의 레벨들로 일반화될 수 있다. 일례가 아래에 주어진다. 이전 실시예와 비교하여, 보완 풀들의 세트의 식별의 하나의 추가적인 단계가 변환 선택 프로세스의 제1 단계로서 삽입된다. 이러한 예의 이러한 단계는 SPS 또는 PPS 레벨에서 적용된다. 보완 풀들의 선택된 세트 중에서 보완 풀을 선택하는 제2 단계는 슬라이스 레벨에서 이루어진다. 그리고 디폴트 풀 및 선택된 보완 풀 중에서 변환을 선택하는 제3 단계가 CTU 또는 CU 레벨과 같은 고려되는 유닛 레벨에서 이루어진다.
추가적 실시예에 따르면, 인코딩할 비디오 시퀀스의 각각의 시간 레벨에 대해 변환들의 후보 풀들의 별개의 세트가 고려된다.
추가적 실시예에 따르면, 더 높은 시간 레벨과 연관된 후보 풀들의 세트는 더 낮은 시간 레벨과 연관된 변환들의 후보 풀들의 세트의 절단된 버전이다.
이 개념은 3개의 시간 레벨들에 대한 픽처들을 도시하는 도 7에 예시되어 있으며, 각각의 시간 레벨에 대해 풀들의 세트가 인에이블된다. 이러한 예에서, 시간 레벨 1에 대한 풀들의 세트는 시간 레벨 0에 대한 풀들의 세트의 서브세트이고, 시간 레벨 2에 대한 풀들의 세트는 시간 레벨 1에 대한 풀들의 세트의 서브세트이다.
다른 실시예에서, 풀들 자체는 시간 레벨에 의존적이다. 예를 들어, 풀은 시간 레벨 0에 대해 인에이블된다(Pool0으로 표시). 시간 레벨 1에 대해, 이러한 풀의 서브세트(Pool1로 표시)가 인에이블된다. Pool1에는, Pool0으로부터의 변환들 중 오직 일부만이 포함된다. 시간 레벨 1에 대해, 이러한 풀의 서브세트(Pool2로 표시)가 인에이블된다. Pool2에는, Pool0으로부터의 변환들 중 오직 일부만이 포함된다. Pool2는 Pool1의 서브세트일 수 있다.
종래 기술에 비해 설명된 실시예들의 하나의 이점은 변환들의 단지 하나의 세트를 갖는 종래 기술에 비해 압축에서의 개선이다.
비디오 이미지 내의 블록을 인코딩하기 위한 방법(800)의 일 실시예가 도 8에 도시되어 있다. 방법은 시작 블록(801)에서 시작하고, 변환들의 복수의 세트들로부터 변환들의 세트를 선택하기 위한 블록(810)으로 진행하고, 변환들의 세트는 제1 인덱스와 연관된다. 방법은 블록(810)으로부터, 블록(810)으로부터의 변환들의 선택된 세트를 포함하는 복수의 변환들 중에서 변환을 선택하기 위한 블록(820)으로 진행하고, 선택된 변환은 제2 인덱스와 연관된다. 이어서, 제어는 블록(820)으로부터, 선택된 변환을 사용하여 적어도 비디오 이미지의 영역 내의 블록을 변환 계수들로 변환하기 위한 블록(830)으로 진행한다. 제어는 블록(830)으로부터, 제1 인덱스 및 제2 인덱스와 함께 변환된 계수들을 비트스트림으로 인코딩하기 위한 블록(840)으로 진행한다.
비디오 이미지 내의 블록을 디코딩하기 위한 방법(900)의 일 실시예가 도 9에 도시되어 있다. 방법은 시작 블록(901)에서 시작하고, 제어는 제1 인덱스 및 제2 인덱스를 생성하기 위해 비디오 비트스트림을 디코딩하기 위한 블록(910)으로 진행한다. 제어는 블록(910)으로부터, 비디오 이미지의 영역 내의 블록들을 디코딩하는데 사용될 변환들의 복수의 세트들로부터 제1 인덱스와 연관된 변환들의 세트를 선택하기 위한 블록(920)으로 진행한다. 제어는 블록(920)으로부터, 비디오 이미지의 영역 내의 블록을 디코딩하는데 사용하기 위해, 변환들의 선택된 세트를 포함하는 복수의 변환들 중에서 제2 인덱스와 연관된 변환을 선택하기 위한 블록(930)으로 진행한다. 제어는 블록(930)으로부터, 선택된 변환을 사용하여 적어도 비디오 이미지의 영역 내의 블록의 계수들을 역변환하기 위한 블록(940)으로 진행한다.
비디오 이미지 내의 블록을 인코딩 또는 디코딩하기 위한 장치(1000)의 일 실시예가 도 10에 도시되어 있다. 장치는 프로세서(1010) 및 메모리(1020)를 포함한다. 프로세서(1010)는 인코딩을 위해, 비디오 이미지의 영역 내의 블록들을 인코딩하는데 사용될 변환들의 복수의 세트들 중에서 변환들의 세트를 선택하는 단계 - 선택된 변환들의 세트는 제1 인덱스와 연관됨 -; 블록을 인코딩하는데 사용할 제1 인덱스와 연관된 선택된 변환들의 세트를 포함하는 복수의 변환들 중에서 변환을 선택하는 단계 - 선택된 변환은 제2 인덱스와 연관됨 -; 선택된 변환을 사용하여 비디오 이미지의 영역 내의 적어도 일 블록을 변환된 계수들로 변환하는 단계; 및 제1 인덱스 및 제2 인덱스와 함께 변환된 계수들을 비트스트림으로 인코딩하는 단계인 도 8의 단계들을 수행하도록 구성된다.
프로세서(1010)가 디코딩을 위해 구성될 때, 이는, 제1 인덱스 및 제2 인덱스를 생성하기 위해 비디오 비트스트림을 디코딩하는 단계; 비디오 이미지의 영역 내의 블록들을 디코딩하는데 사용될 변환들의 복수의 세트들 중에서 제1 인덱스와 연관된 변환들의 세트를 선택하는 단계; 비디오 이미지의 영역 내의 블록을 디코딩하는데 사용하기 위해, 제1 인덱스와 연관된, 변환들의 선택된 세트를 포함하는 복수의 변환들 중에서 제2 인덱스와 연관된 변환을 선택하는 단계, 및 선택된 변환을 사용하여 비디오 이미지의 영역 내의 적어도 일 블록의 계수들을 역변환하는 단계인 도 9의 단계들을 수행한다.
도면들에 도시된 다양한 요소들의 기능들은 적절한 소프트웨어와 관련하여 소프트웨어를 실행할 수 있는 하드웨어 뿐만 아니라 전용 하드웨어의 사용을 통해 제공될 수 있다. 프로세서에 의해 제공되는 경우, 기능들은 단일 전용 프로세서, 단일 공유 프로세서, 또는 복수의 개별적인 프로세서들에 의해 제공될 수 있고, 이들 중 일부는 공유될 수 있다. 또한, 용어 "프로세서" 또는 "제어기"의 명시적 사용은 소프트웨어를 실행할 수 있는 하드웨어만을 배타적으로 지칭하는 것으로 해석되어서는 안되며, 제한없이, 디지털 신호 프로세서("DSP") 하드웨어, 소프트웨어를 저장하기 위한 판독 전용 메모리("ROM") 소프트웨어, 랜덤 액세스 메모리("RAM") 및 비휘발성 스토리지를 묵시적으로 포함할 수 있다.
다른 하드웨어(종래 및/또는 주문형)가 또한 포함될 수 있다. 유사하게, 도면들에 도시된 임의의 스위치들은 단지 개념적이다. 이들의 기능은 프로그램 로직의 동작을 통해, 전용 로직을 통해, 프로그램 제어 및 전용 로직의 상호작용을 통해, 또는 심지어는 수동으로 수행될 수 있고, 특정 기술은 문맥으로부터 더 구체적으로 이해되는 바와 같이 구현자에 의해 선택가능하다.
본 설명은 본 원리들을 예시한다. 따라서, 본 기술분야의 통상의 기술자들은 본원에 명시적으로 설명되거나 도시되지는 않았지만, 본 원리들을 구현하고 그 범위 내에 포함되는 다양한 배열들을 고안할 수 있을 것임을 인식할 것이다.
본원에 인용된 모든 예들 및 조건부 언어는, 독자가 본 원리들 및 발명자(들)가 기술을 발전시키는데 기여한 개념들을 이해하는 것을 돕는 교육적 목적을 위한 것이고, 이러한 특별히 인용된 예들 및 조건들을 제한하지 않는 것으로 해석되어야 한다.
또한, 원리들, 양태들 및 본 원리들의 실시예들 뿐만 아니라 이의 특정 예들을 기재한 본 명세서의 모든 설명들은 이의 구조적 및 기능적 균등물들 둘 모두를 포함하도록 의도된다. 추가적으로, 이러한 균등물들은 현재 공지된 균등물들 뿐만 아니라 장래에 개발되는 균등물들, 즉 구조와 무관하게, 동일한 기능을 수행하는 임의의 개발된 요소들 모두를 포함하는 것으로 의도된다.
따라서, 예를 들어, 본 명세서에 제시된 블록도들은 본 원리들을 구현하는 예시적인 회로의 개념도들을 표현함을 본 기술분야의 통상의 기술자들은 인식할 것이다. 유사하게, 임의의 플로우차트들, 흐름도들, 상태 전이도들, 의사 코드 등은 컴퓨터 판독가능 매체에서 실질적으로 표현될 수 있고, 따라서 컴퓨터 또는 프로세서가 명시적으로 도시되든 도시되지 않든 이러한 컴퓨터 또는 프로세서에 의해 실행될 수 있는 다양한 프로세스들을 표현함을 인식할 것이다.
본 명세서의 청구항들에서, 특정 기능을 수행하기 위한 수단으로 표현된 임의의 요소는 예를 들어 a) 그 기능을 수행하는 회로 요소들의 조합 또는 b) 임의의 형태의 소프트웨어를 포함하는 그 기능을 수행하는 임의의 방법을 포함하도록 의도되고, 따라서, 기능을 수행하기 위해 그 소프트웨어를 실행하기 위한 적절한 회로와 결합된 펌웨어, 마이크로코드 등을 포함한다. 이러한 청구항들에 의해 정의된 바와 같은 본 원리들은, 다양한 인용된 수단들에 의해 제공되는 기능들이, 청구항들이 요구하는 방식으로 조합되고 결합된다는 사실에 있다. 따라서, 이러한 기능들을 제공할 수 있는 임의의 수단은 본 명세서에 제시된 것들과 균등하다고 간주된다.
본 원리들의 "일 실시예" 또는 "실시예" 뿐만 아니라 이들의 다른 변화예들에 대한 본 명세서에서의 참조는, 실시예와 관련하여 설명되는 특정한 특징, 구조, 특성 등이 본 원리들의 적어도 하나의 실시예에 포함되는 것을 의미한다. 따라서, 본 명세서 전반에 걸친 다양한 위치들에서 등장하는 구 "일 실시예에서" 또는 "실시예에서" 뿐만 아니라 다른 변화예들은, 반드시 동일한 실시예 전부를 참조할 필요는 없다.
결론적으로, 비디오 인코더들 및 디코더들의 성능을 개선하기 위한 개선된 방법들 및 장치는 비디오 이미지의 영역 내의 블록들을 코딩하는데 사용될 수 있는 변환들의 복수의 세트들 중에서 변환들의 세트를 선택하는 것을 수반한다. 영역 내에서, 변환들의 선택된 세트를 포함하는 복수의 변환들 중에서 특정 변환의 선택은 영역 내의 적어도 하나의 블록을 인코딩 또는 디코딩하기 위해 사용된다. 영역 내에서 사용될 변환들의 세트 및 블록에 대해 선택된 변환을 표현하는 연관된 인덱스들은 비트스트림에서 전송될 수 있다. 대안적인 실시예에서, 변환들의 디폴트 세트는 블록 또는 영역 단위로 변환들의 추가적인 세트의 선택에 의해 보완된다.

Claims (15)

  1. 방법으로서,
    비디오 이미지의 영역 내의 블록들을 인코딩하는데 사용될 변환들의 복수의 세트들 중에서 변환들의 세트를 선택하는 단계 - 상기 선택된 변환들의 세트는 제1 인덱스와 연관됨 -;
    블록을 인코딩하는데 사용할 상기 제1 인덱스와 연관된 상기 선택된 변환들의 세트를 포함하는 복수의 변환들 중에서 변환을 선택하는 단계 - 상기 선택된 변환은 제2 인덱스와 연관됨 -;
    상기 선택된 변환을 사용하여 상기 비디오 이미지의 상기 영역 내의 적어도 일 블록을 변환된 계수들로 변환하는 단계; 및
    상기 제1 인덱스 및 상기 제2 인덱스와 함께 상기 변환된 계수들을 비트스트림으로 인코딩하는 단계
    를 포함하는, 방법.
  2. 방법으로서,
    제1 인덱스 및 제2 인덱스를 생성하기 위해 비디오 비트스트림을 디코딩하는 단계;
    비디오 이미지의 영역 내의 블록들을 디코딩하는데 사용될 변환들의 복수의 세트들 중에서 상기 제1 인덱스와 연관된 변환들의 세트를 선택하는 단계;
    상기 비디오 이미지의 영역 내의 블록을 디코딩하는데 사용하기 위해, 상기 제1 인덱스와 연관된, 상기 변환들의 선택된 세트를 포함하는 복수의 변환들 중에서 상기 제2 인덱스와 연관된 변환을 선택하는 단계; 및
    상기 선택된 변환을 사용하여 상기 비디오 이미지의 상기 영역 내의 적어도 일 블록의 계수들을 역변환하는 단계
    를 포함하는, 방법.
  3. 장치로서,
    메모리, 및
    프로세서
    를 포함하고,
    상기 프로세서는,
    비디오 이미지의 영역 내의 블록들을 인코딩하는데 사용될 변환들의 복수의 세트들 중에서 변환들의 세트를 선택하는 것 - 상기 선택된 변환들의 세트는 제1 인덱스와 연관됨 -;
    블록을 인코딩하는데 사용할 상기 제1 인덱스와 연관된 상기 선택된 변환들의 세트를 포함하는 복수의 변환들 중에서 변환을 선택하는 것 - 상기 선택된 변환은 제2 인덱스와 연관됨 -;
    상기 선택된 변환을 사용하여 상기 비디오 이미지의 상기 영역 내의 적어도 일 블록을 변환된 계수들로 변환하는 것; 및
    상기 제1 인덱스 및 상기 제2 인덱스와 함께 상기 변환된 계수들을 비트스트림으로 인코딩하는 것을 수행하도록 구성되는, 장치.
  4. 장치로서,
    메모리, 및
    프로세서
    를 포함하고,
    상기 프로세서는,
    제1 인덱스 및 제2 인덱스를 생성하기 위해 비디오 비트스트림을 디코딩하는 것;
    비디오 이미지의 영역 내의 블록들을 디코딩하는데 사용될 변환들의 복수의 세트들 중에서 상기 제1 인덱스와 연관된 변환들의 세트를 선택하는 것;
    상기 비디오 이미지의 영역 내의 블록을 디코딩하는데 사용하기 위해, 상기 제1 인덱스와 연관된, 상기 변환들의 선택된 세트를 포함하는 복수의 변환들 중에서 상기 제2 인덱스와 연관된 변환을 선택하는 것; 및
    상기 선택된 변환을 사용하여 상기 비디오 이미지의 상기 영역 내의 적어도 일 블록의 계수들을 역변환하는 것을 수행하도록 구성되는, 장치.
  5. 제1항 또는 제2항의 방법 또는 제3항 또는 제4항의 장치에 있어서,
    상기 제1 인덱스 및 상기 제2 인덱스는 비디오 코딩 계층구조의 상이한 레벨들에서 시그널링되는, 방법 또는 장치.
  6. 제1항 또는 제2항의 방법 또는 제3항 또는 제4항의 장치에 있어서,
    상기 블록을 인코딩하는데 사용할 변환을 선택하기 전에 상기 선택된 변환들의 세트를 변환들의 디폴트 세트에 추가하는 것을 더 포함하는, 방법 또는 장치.
  7. 제5항 또는 제6항에 있어서,
    상기 제1 인덱스가 시그널링되는 비디오 코딩 계층구조의 레벨은 상기 제2 인덱스가 시그널링되는 상기 비디오 코딩 계층구조의 레벨보다 높은, 방법 또는 장치.
  8. 제1항 또는 제2항의 방법 또는 제3항 또는 제4항의 장치에 있어서,
    상기 블록을 인코딩하는데 사용할 변환을 선택하기 전에 상기 선택된 변환들의 세트를 하나 이상의 비디오 코딩 레벨들에서 변환들의 디폴트 세트에 추가하는 것을 더 포함하는, 방법 또는 장치.
  9. 제8항에 있어서,
    특정 비디오 코딩 레벨에서 변환들의 세트 내의 변환들의 양은 상위 비디오 코딩 레벨 내의 변환들의 양보다 적은, 방법 또는 장치.
  10. 제8항에 있어서,
    각각의 비디오 코딩 레벨들에서 변환들의 별개의 세트가 고려되는, 방법 또는 장치.
  11. 제1항 또는 제2항의 방법 또는 제3항 또는 제4항의 장치에 있어서,
    상기 변환들의 복수의 세트들은 오프라인 변환 학습 스킴에 의해 유도되는, 방법 또는 장치.
  12. 제1항 또는 제2항의 방법 또는 제3항 또는 제4항의 장치에 있어서,
    상기 변환들의 복수의 세트들은 정현파 변환 계열들의 체계적 변환들을 포함하는, 방법 또는 장치.
  13. 비일시적 컴퓨터 판독가능 매체로서,
    프로세서를 사용한 재생을 위해, 제1항 및 제5항 내지 제12항 중 어느 한 항의 방법에 따라 또는 제3항 및 제5항 내지 제12항 중 어느 한 항의 장치에 의해 생성되는 데이터 콘텐츠를 포함하는 비일시적 컴퓨터 판독가능 매체.
  14. 신호로서,
    프로세서를 사용한 재생을 위해, 제1항 및 제5항 내지 제12항 중 어느 한 항의 방법에 따라 또는 제3항 및 제5항 내지 제12항 중 어느 한 항의 장치에 의해 생성되는 비디오 데이터를 포함하는 신호.
  15. 컴퓨터 프로그램 제품으로서,
    상기 프로그램이 컴퓨터에 의해 실행될 때, 컴퓨터로 하여금 제2항 및 제5항 내지 제12항 중 어느 한 항의 방법을 수행하게 하는 명령어들을 포함하는 컴퓨터 프로그램 제품.
KR1020207005625A 2017-08-31 2018-08-31 비디오 코딩에서 변환들의 세트의 로컬 선택을 위한 변환들의 풀들 Pending KR20200043399A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP17306121.9 2017-08-31
EP17306121.9A EP3451663A1 (en) 2017-08-31 2017-08-31 Pools of transforms for local selection of a set of transforms in video coding
PCT/US2018/049006 WO2019046671A1 (en) 2017-08-31 2018-08-31 TRANSFORMER GROUPS FOR LOCALLY SELECTING A TRANSFORMER ASSEMBLY IN VIDEO CODING

Publications (1)

Publication Number Publication Date
KR20200043399A true KR20200043399A (ko) 2020-04-27

Family

ID=59846533

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207005625A Pending KR20200043399A (ko) 2017-08-31 2018-08-31 비디오 코딩에서 변환들의 세트의 로컬 선택을 위한 변환들의 풀들

Country Status (6)

Country Link
US (1) US11936863B2 (ko)
EP (2) EP3451663A1 (ko)
KR (1) KR20200043399A (ko)
CN (1) CN111052743B (ko)
BR (1) BR112020003220A2 (ko)
WO (1) WO2019046671A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210154157A (ko) * 2019-04-23 2021-12-20 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 다중 변환 행렬의 선택 및 컨텍스트 모델링

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11683490B2 (en) 2020-09-10 2023-06-20 Tencent America LLC Context adaptive transform set
CN115174908B (zh) * 2022-06-30 2023-09-15 北京百度网讯科技有限公司 视频编码的变换量化方法、装置、设备以及存储介质

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6640015B1 (en) * 1998-06-05 2003-10-28 Interuniversitair Micro-Elektronica Centrum (Imec Vzw) Method and system for multi-level iterative filtering of multi-dimensional data structures
US6795504B1 (en) * 2000-06-21 2004-09-21 Microsoft Corporation Memory efficient 3-D wavelet transform for video coding without boundary effects
EP1461956A1 (en) * 2001-12-20 2004-09-29 Koninklijke Philips Electronics N.V. Video encoding and decoding method and device
US7830963B2 (en) * 2003-07-18 2010-11-09 Microsoft Corporation Decoding jointly coded transform type and subblock pattern information
WO2005051000A1 (en) * 2003-11-21 2005-06-02 Electronics And Telecommunications Research Institute Interframe wavelet coding apparatus and method capable of adjusting computational complexity
KR100597402B1 (ko) * 2003-12-01 2006-07-06 삼성전자주식회사 스케일러블 비디오 코딩 및 디코딩 방법, 이를 위한 장치
US8340177B2 (en) * 2004-07-12 2012-12-25 Microsoft Corporation Embedded base layer codec for 3D sub-band coding
US8548261B2 (en) * 2007-04-11 2013-10-01 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding multi-view image
BR122015015910B1 (pt) 2009-01-27 2022-05-10 Interdigital Vc Holdings, Inc Métodos e aparelhos para seleções de transformada em codificação e decodificação de vídeo
EP2420063B1 (en) * 2009-04-14 2022-07-13 InterDigital Madison Patent Holdings Methods and apparatus for filter parameter determination and selection responsive to variable transforms in sparsity-based de-artifact filtering
US9357221B2 (en) 2009-07-23 2016-05-31 Thomson Licensing Methods and apparatus for adaptive transform selection for video encoding and decoding
US20110090952A1 (en) 2009-10-21 2011-04-21 Cohen Robert A Directional Transforms for Video and Image Coding
US9661338B2 (en) * 2010-07-09 2017-05-23 Qualcomm Incorporated Coding syntax elements for adaptive scans of transform coefficients for video coding
US9787982B2 (en) * 2011-09-12 2017-10-10 Qualcomm Incorporated Non-square transform units and prediction units in video coding
US9325991B2 (en) * 2012-04-11 2016-04-26 Qualcomm Incorporated Motion vector rounding
US9031137B2 (en) * 2012-05-03 2015-05-12 Texas Instruments Incorporated Signaling signed band offset values for sample adaptive offset (SAO) filtering in video coding
US20130294524A1 (en) * 2012-05-04 2013-11-07 Qualcomm Incorporated Transform skipping and lossless coding unification
AU2012232992A1 (en) * 2012-09-28 2014-04-17 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the transform units of a coding unit
US9674530B1 (en) 2013-04-30 2017-06-06 Google Inc. Hybrid transforms in video coding
JP6401290B2 (ja) * 2014-04-01 2018-10-10 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 多層構造化コーディングユニットのデータ隠蔽のための方法および装置
CA2946779C (en) * 2014-05-05 2019-10-01 Mediatek Singapore Pte. Ltd. Method and apparatus for determining residue transform tree representation
US10306229B2 (en) * 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
EP3292690B1 (en) * 2015-06-23 2020-05-06 MediaTek Singapore Pte Ltd. Method and apparatus for transform coefficient coding of non-square blocks
US10694210B2 (en) * 2016-05-28 2020-06-23 Microsoft Technology Licensing, Llc Scalable point cloud compression with transform, and corresponding decompression
US10652575B2 (en) * 2016-09-15 2020-05-12 Qualcomm Incorporated Linear model chroma intra prediction for video coding
US10880564B2 (en) * 2016-10-01 2020-12-29 Qualcomm Incorporated Transform selection for video coding
US10694202B2 (en) * 2016-12-01 2020-06-23 Qualcomm Incorporated Indication of bilateral filter usage in video coding

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210154157A (ko) * 2019-04-23 2021-12-20 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 다중 변환 행렬의 선택 및 컨텍스트 모델링

Also Published As

Publication number Publication date
US20210084300A1 (en) 2021-03-18
EP3677028A1 (en) 2020-07-08
CN111052743A (zh) 2020-04-21
BR112020003220A2 (pt) 2020-10-06
EP3677028B1 (en) 2023-12-13
WO2019046671A1 (en) 2019-03-07
EP3451663A1 (en) 2019-03-06
CN111052743B (zh) 2024-03-12
US11936863B2 (en) 2024-03-19

Similar Documents

Publication Publication Date Title
US11750841B2 (en) Methods and apparatuses for coding transform blocks
US8311348B2 (en) Method and apparatus for encoding and decoding image by using large transformation unit
CN111954894A (zh) 用于视频压缩的基于深度学习的图像分区
EP3104617A1 (en) Method for entropy decoding transform coefficients
KR20110083368A (ko) 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR20110112224A (ko) 부호화 모드에 대한 정보를 부호화, 복호화하는 방법 및 장치
KR20140066239A (ko) 영상 복호화 방법
US11936863B2 (en) Pools of transforms for local selection of a set of transforms in video coding
KR101525015B1 (ko) 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
KR101662741B1 (ko) 영상 복호화 방법
KR101618766B1 (ko) 영상 복호화 방법 및 장치
KR101625632B1 (ko) 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR101598144B1 (ko) 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR101618214B1 (ko) 영상 복호화 방법
KR101720194B1 (ko) 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR101603272B1 (ko) 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR101489222B1 (ko) 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
KR101603269B1 (ko) 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치

Legal Events

Date Code Title Description
PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

A201 Request for examination
P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

N231 Notification of change of applicant
PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

D21 Rejection of application intended

Free format text: ST27 STATUS EVENT CODE: A-1-2-D10-D21-EXM-PE0902 (AS PROVIDED BY THE NATIONAL OFFICE)

PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

T11 Administrative time limit extension requested

Free format text: ST27 STATUS EVENT CODE: U-3-3-T10-T11-OTH-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

P11 Amendment of application requested

Free format text: ST27 STATUS EVENT CODE: A-2-2-P10-P11-NAP-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000