KR102636267B1 - 변형 행렬 선택의 계수에 따른 코딩 - Google Patents

변형 행렬 선택의 계수에 따른 코딩 Download PDF

Info

Publication number
KR102636267B1
KR102636267B1 KR1020217001749A KR20217001749A KR102636267B1 KR 102636267 B1 KR102636267 B1 KR 102636267B1 KR 1020217001749 A KR1020217001749 A KR 1020217001749A KR 20217001749 A KR20217001749 A KR 20217001749A KR 102636267 B1 KR102636267 B1 KR 102636267B1
Authority
KR
South Korea
Prior art keywords
transformation
video block
delete delete
current video
block
Prior art date
Application number
KR1020217001749A
Other languages
English (en)
Other versions
KR20210045387A (ko
Inventor
리 창
홍빈 리우
카이 창
유에 왕
Original Assignee
베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드
바이트댄스 아이엔씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드, 바이트댄스 아이엔씨 filed Critical 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드
Publication of KR20210045387A publication Critical patent/KR20210045387A/ko
Application granted granted Critical
Publication of KR102636267B1 publication Critical patent/KR102636267B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods 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 picture, frame or field
    • 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/174Methods 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
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/186Methods 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 colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/439Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using cascaded computational arrangements for performing a single operation, e.g. filtering
    • 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/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Analogue/Digital Conversion (AREA)
  • Image Processing (AREA)

Abstract

비디오 처리 방법은 현재 비디오 블록의 코딩 된 표현에서 현재 비디오 블록으로의 변환을 위해, 현재 비디오 블록의 0이 아닌 마지막 계수의 위치를 확인하는 단계 - 위치는 현재 비디오 블록의 왼쪽 상단 위치로 상대적임 -; 및 위치에 기초하여, 코딩 된 표현에서 변형 정보를 시그널링 하는 신택스 요소를 파싱 할지 여부의 결정을 수행하는 단계를 포함한다.

Description

변형 행렬 선택의 계수에 따른 코딩
이 특허 문서는 비디오 인코딩 및 디코딩 기술, 장치 및 시스템에 관한 것이다.
파리 협약에 따르는 관련 특허법 및/또는 규칙에 따라, 본 출원은 2018년 8월 16일에 출원된 국제 특허 출원 번호 PCT/CN2018/100795의 우선권과 혜택을 적시에 주장하기 위해 만들었다. 미국 법률에 따르는 모든 목적을 위해, 국제 특허 출원 번호 PCT/CN2018/100795의 전체 개시는 본 출원의 개시의 일부로서 참고로 포함된다.
비디오 압축의 진보에도 불구하고, 디지털 비디오는 여전히 인터넷 및 기타 디지털 통신 네트워크에서 가장 큰 대역폭 사용을 차지한다. 영상을 수신하고 표시할 수 있는 연결된 사용자 장치의 수가 증가함에 따라, 디지털 비디오 사용에 대한 대역폭 수요는 계속해서 증가할 것으로 예상된다.
디지털 비디오 코딩 및 디코딩과 관련된 장치, 시스템 및 방법, 특히 비디오 코딩 된 작업에서 다중 변형 선택(multiple transform selection)(MTS)이 설명된다. 설명된 방법은 기존 비디오 코딩 표준(video coding standard)(예를 들어, 고효율 비디오 코딩(High Efficiency Video Coding)(HEVC)) 및 향후 비디오 코딩 표준(예를 들어, 다용도 비디오 코딩(VVC)(Versatile Video Coding)) 또는 코덱 모두에 적용될 수 있다.
일 예시적인 측면에서, 비디오 처리(video processing) 방법이 개시된다. 이 방법은 코딩 된 표현(coded representation)을 비디오 블록으로의 변환(conversion)을 위한 제1 변형(first transform)의 적용 가능성에 대한 제1 결정(first determination)을 위해 비디오의 코딩 된 표현에서 제1 필드(first field)를 파싱 하는 단계, 제1 결정에 기초하여 제1 변형을 선택적으로 사용함으로써 변환을 수행하는 단계를 포함한다. 변환을 위해, 제1 변형은 비디오 블록의 역 양자화된 잔여 계수 값(residual coefficient value)의 결과에 적용된다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 방법은 비디오의 현재 비디오 블록(current video block)과 비디오의 코딩 된 표현 간의 변환을 위해, 현재 비디오 블록에 사용되는 코딩 모드가 특정 유형인지 판단을 수행하는 단계; 코딩 모드가 특정 유형의 결과이므로, 현재 비디오 블록을 처리하기 위한 제1 변형 또는 제2 변형(second transform)의 적용 가능성을 나타내는 필드가 코딩 된 표현에 없다는 결정을 수행하는 단계; 필드가 없을 때 코딩 된 표현을 파싱 하는 단계 및 결정으로 인해 현재 비디오 블록의 역 양자화 된 잔여 계수를 변형하기 위해 제1 변형 또는 제2 변형의 사용을 비활성화함으로써 현재 비디오 블록을 생성하는 단계를 포함한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 방법은 비디오 블록의 코딩 된 표현과 이웃 비디오 블록(neighboring video block)으로부터 비디오 블록 사이의 변환을 위해 제1 변형(first transform)에 대한 변형 정보(transform information)를 물려받는 단계, 여기서 변환을 위해, 제1 변형은 비디오 블록의 역 양자화된 잔여 계수 값의 결과에 적용되고; 및 제1 물려받음(first inheriting)에 기초하여 제1 변형을 선택적으로 사용하여 변환을 수행하는 단계를 포함한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 방법은 현재 비디오 블록의 코딩 조건에 기초하여, 코딩 된 표현의 현재 비디오 블록으로의 변환에 사용되는 제1 변형이 기본 변형(default transform)임을 결정하는 단계, 여기서 변환을 위해, 제1 변형은 현재 비디오 블록의 역 양자화된 잔여 계수 값의 결과에 적용되고; 및 제1 결정에 기초하여 제1 변형을 선택적으로 사용함으로써 변환을 수행하는 단계를 포함한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 방법은 비디오의 다중 비디오 블록(multiple video block)의 코딩 된 표현을 포함하는 비트 스트림을 파싱 하는 단계, 현재 비디오 블록에 대해, 비트 스트림은 이웃 블록의 변형 정보가 현재 비디오 블록에 대한 변형 정보로 물려받는지 여부에 대한 제1 표시자를 포함하고, 및 제1 표시자를 파싱 함으로써 획득된 변형 정보에 기초하여, 코딩 된 표현을 디코딩하여 현재 비디오 블록을 생성하는 단계를 포함하고, 여기서 변환을 위해, 변형 정보에 의해 식별된 변형은 현재 비디오 블록의 역 양자화된 잔여 계수 값(residual coefficient value)의 결과에 적용된다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 방법은 비디오 블록으로의 코딩 된 표현의 변환을 위한 제1 변형의 적용 가능성의 제1 결정을 위해 비디오의 코딩 된 표현에서 제1 필드를 포함하는 단계, 여기서, 변환을 위해, 제1 변형은 비디오 블록의 역 양자화된 잔여 계수 값의 결과에 적용되고, 및 비디오 블록을 인코딩함으로써 코딩 된 표현을 생성하는 단계를 포함한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 방법은 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 간의 변환에 대해, 현재 비디오 블록에 사용되는 코딩 모드가 특정 유형이라는 결정을 수행하는 단계; 코딩 모드가 특정 유형의 결과이므로, 현재 비디오 블록을 처리하기 위한 제1 변형 또는 제2 변형의 적용 가능성을 나타내는 필드가 코딩 된 표현에 포함되지 않는다는 결정을 수행하는 단계; 및 필드를 포함하지 않고 코딩 된 표현을 생성하는 단계를 포함하고, 여기서 현재 비디오 블록은 결정으로 인해 현재 비디오 블록의 역 양자화 된 잔여 계수를 변형하기 위해 제1 변형 및/또는 제2 변형의 사용을 비활성화함으로써 디코딩 가능하다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 방법은 비디오 블록의 코딩 된 표현과 비디오 블록 사이의 변환을 위한 제1 변형에 대한 변형 정보가 이웃 비디오 블록으로부터 물려받아야 한다고 결정하는 단계, 여기서, 변환을 위해, 제1 변형은 비디오 블록의 역 양자화 된 잔여 계수 값의 결과에 적용되고; 및 결정에 기초하여 코딩 된 표현을 생성하는 단계를 포함한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 방법은 현재 비디오 블록의 코딩 조건에 기초하여, 코딩 된 표현의 현재 비디오 블록으로의 변환을 위해 사용되는 제1 변형이 기본 변형이라고 결정하는 단계, 여기서, 변환을 위해, 제1 변형은 현재 비디오 블록의 역 양자화 된 잔여 계수 값의 결과에 적용되고; 및 제1 결정에 기초하여 현재 비디오 블록의 코딩 된 표현을 생성하는 단계를 포함한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 방법은 비디오의 다중 비디오 블록의 코딩 된 표현을 포함하는 비트 스트림에, 현재 비디오 블록에 대해, 이웃 블록의 변형 정보가 현재 비디오 블록에 대한 변형 정보로서 물려받는지 여부에 대한 제1 표시자를 포함하도록 결정하는 단계; 및 변형 정보에 기초하여, 현재 비디오 블록의 코딩 된 표현을 생성하는 단계를 포함하고, 여기서, 디코딩하는 동안, 변형 정보에 의해 식별된 변형은 현재 비디오 블록의 역 양자화 된 잔여 계수 값의 결과에 적용된다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 방법은 병합 모드(merge mode)를 사용하여 코딩 된 현재 비디오 블록에 대해 비디오의 다중 비디오 블록의 코딩 된 표현, 변형으로서, 기본 변형을 사용하기 위한 제1 표시(first indication) 및 코딩 된 표현에 포함된 변형을 식별하는 인덱스를 사용하기 위한 제2 표시를 나타내는 1 비트 필드(one-bit field)를 포함하는 비트 스트림을 포함하도록 결정하는 단계; 및 변형이 1 비트 필드에 의해 식별되는 코딩 된 표현을 생성하는 단계를 포함한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 방법은 현재 비디오 블록의 코딩 된 표현에서 현재 비디오 블록으로의 변환을 위해, 현재 비디오 블록의 0이 아닌 마지막 계수의 위치를 확인하는 단계 - 위치는 현재 비디오 블록의 왼쪽 상단 위치로 상대적임 -; 및 위치에 기초하여, 코딩 된 표현에서 변형 정보를 시그널링 하는 신택스 요소(syntax element)를 파싱 할지 여부의 결정을 수행하는 단계를 포함한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 방법은 현재 비디오 블록의 코딩 된 표현에서 현재 비디오 블록으로의 변환을 위해, 현재 비디오 블록의 0이 아닌 마지막 계수의 위치를 확인하는 단계 -위치는 현재 비디오 블록의 왼쪽 상단 위치로 상대적임 -; 위치 및 조건을 충족하는 적어도 하나의 다른 코딩 기준으로 인해, 변형 정보를 시그널링 하는 신택스 요소가 존재하고 코딩 된 표현에 포함된다는 것을 결정하는 단계; 및 코딩 된 표현에서 신택스 요소에 의해 식별된 변형 정보를 사용하여 변환을 수행하는 단계를 포함한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 방법은 현재 비디오 블록의 코딩 된 표현에서 현재 비디오 블록으로의 변환을 위해, 현재 비디오 블록의 0이 아닌 마지막 계수의 위치를 확인하는 단계 -위치는 현재 비디오 블록의 왼쪽 상단 위치로 상대적임 -; 조건을 충족하지 못하는 위치 및/또는 적어도 하나의 다른 코딩 기준으로 인해, 변형 정보를 시그널링 하는 신택스 요소가 코딩 된 표현에 포함되는 것으로부터 스킵 된다는 것을 결정하는 단계; 및 코딩 된 표현에서 명시적으로 식별되지 않은 기본 변형을 사용하여 변환을 수행하는 단계를 포함한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 방법은 현재 비디오 블록을 현재 비디오 블록의 코딩 된 표현으로의 변환을 위해, 현재 비디오 블록의 0이 아닌 마지막 계수의 위치를 확인하는 단계 - 위치는 현재 비디오 블록의 왼쪽 상단 위치로 상대적임 -; 및 위치에 기초하여, 코딩 된 표현에서 변형 정보를 시그널링 하는 신택스 요소를 코딩 할지 여부를 결정하는 단계를 포함한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 방법은 현재 비디오 블록을 현재 비디오 블록의 코딩 된 표현으로의 변환을 위해, 현재 비디오 블록의 0이 아닌 마지막 계수의 위치를 확인하는 단계 - 위치는 현재 비디오 블록의 왼쪽 상단 위치로 상대적임 -; 및 위치 및 조건을 충족하는 적어도 하나의 다른 코딩 기준으로 인해, 변형 정보를 시그널링 하는 신택스 요소가 코딩 된 표현에 포함된다는 것을 결정하는 단계; 및 코딩 된 표현에서 변형 정보를 식별하는 신택스 요소를 포함함으로써 변환을 수행하는 단계를 포함한다.
다른 예시적인 측면에서, 비디오 처리 방법이 개시된다. 방법은 현재 비디오 블록의 코딩 된 표현에서 현재 비디오 블록으로의 변환을 위해, 현재 비디오 블록의 0이 아닌 마지막 계수의 위치를 확인하는 단계 - 위치는 현재 비디오 블록의 왼쪽 상단 위치로 상대적임 -; 위치 및/또는 조건을 충족하는 적어도 하나의 다른 코딩 기준으로 인해, 변형 정보를 시그널링 하는 신택스 요소가 코딩 된 표현에 포함되는 것으로부터 스킵 된다는 것을 결정하는 단계; 및 신택스 요소를 스킵 하여 코딩 된 표현을 생성하는 단계 - 따라서 기본 변형의 사용을 암시적으로 시그널링 함 - 를 포함한다.
또 다른 대표적인 측면에서, 전술한 방법은 프로세서 실행 코드의 형태로 구현되어 컴퓨터 판독 가능 프로그램 매체에 저장된다.
또 다른 대표적인 측면에서, 전술한 방법을 수행하도록 구성되거나 동작할 수 있는 장치가 개시된다. 장치는 이 방법을 구현하도록 프로그래밍 된 프로세서를 포함할 수 있다.
또 다른 대표적인 측면에서, 비디오 디코더 장치는 여기에 설명된 방법을 구현할 수 있다.
개시된 기술의 위의 및 다른 측면 및 특징은 도면, 설명 및 청구 범위에서 보다 상세히 설명된다.
도 1은 병합 후보 목록을 구성하는 예를 도시한다.
도 2는 공간 후보의 위치의 예를 도시한다.
도 3은 공간 병합 후보의 중복 확인를 받는 후보 쌍의 예를 도시한다.
도 4a 및 도 4b는 현재 블록의 크기 및 형태에 따른 제2 예측 유닛(PU)의 위치의 예를 도시한다.
도 5는 시간 병합 후보에 대한 모션 벡터 스케일링의 예를 도시한다.
도 6은 시간 병합 후보에 대한 후보 위치의 예를 도시한다.
도 7은 결합된 이중 예측 병합 후보를 생성하는 예를 도시한다.
도 8은 모션 벡터 예측 후보를 구성하는 예를 나타낸다.
도 9는 공간 모션 벡터 후보에 대한 모션 벡터 스케일링의 예를 도시한다.
도 10은 코딩 유닛(CU)에 대한 대안적인 시간 모션 벡터 예측(ATMVP) 알고리즘을 사용하는 모션 예측의 예를 도시한다.
도 11은 공간 시간 모션 벡터 예측(STMVP) 알고리즘에 의해 사용되는 서브 블록 및 이웃 블록을 갖는 코딩 유닛(CU)의 예를 도시한다.
도 12a 및 12b는 비디오 처리 방법의 예에 대한 흐름도를 도시한다.
도 13a 및 13b는 비디오 처리 방법의 예에 대한 흐름도를 도시한다.
도 14a 및 14b는 비디오 처리 방법의 예에 대한 흐름도를 도시한다.
도 15a 및 15b는 비디오 처리 방법의 예에 대한 흐름도를 도시한다.
도 16a 및 16b는 비디오 처리 방법의 예에 대한 흐름도를 도시한다.
도 17a 및 17b는 비디오 처리 방법의 예에 대한 흐름도를 도시한다.
도 18a 및 18b는 비디오 처리 방법의 예에 대한 흐름도를 도시한다.
도 19a 및 19b는 비디오 처리 방법의 예에 대한 흐름도를 도시한다.
도 20a 및 20b는 비디오 처리 방법의 예에 대한 흐름도를 도시한다.
도 21a 및 21b는 각각 고속 알고리즘 없이 및 사용하여 적응형 다중 코어 변형(AMT, 다중 변형 선택(MTS)이라고도 함)을 사용하는 CU 인코딩 프로세스에 대한 예시적인 흐름도를 도시한다.
도 22는 기븐스 회전의 그래픽 표현의 예를 도시한다.
도 23은 16 개 요소에 대한 하이퍼큐브 기븐스 변형(HyGT)(Hypercube-Givens Transform)의 "나비" 모양의 흐름도의 예를 도시한다.
도 24는 R 라운드의 HyGT 및 선택적 순열 패스로 구성된 완전 분리 불가능한 2차 변형(secondary transform)의 예를 도시한다.
도 25는 현재 개시된 기술에 따른 비디오 코딩을 위한 예시적인 방법의 흐름도를 도시한다.
도 26은 현재 개시된 기술에 따른 비디오 코딩을 위한 다른 예시적인 방법의 흐름도를 도시한다.
도 27은 현재 개시된 기술에 따른 비디오 코딩을 위한 또 다른 예시적인 방법의 흐름도를 도시한다.
도 28은 현재 개시된 기술에 따른 비디오 코딩을 위한 또 다른 예시적인 방법의 흐름도를 도시한다.
도 29는 현재 개시된 기술에 따른 비디오 코딩을 위한 또 다른 예시적인 방법의 흐름도를 도시한다.
도 30은 본 문서에 기술된 시각 미디어 디코딩 또는 시각 미디어 인코딩 기술을 구현하기 위한 하드웨어 플랫폼의 예의 블록도이다.
도 31은 세트를 변형하기 위한 인트라 예측 모드 사이의 예시적인 매핑을 도시한다.
도 32는 개시된 기술이 구현될 수 있는 예시적인 비디오 처리 시스템의 블록도이다.
고해상도 비디오에 대한 수요가 증가함에 따라, 비디오 코딩 방법과 기술은 현대 기술에서 어디에나 있다. 비디오 코덱은 일반적으로 디지털 비디오를 압축 또는 압축 해제하는 전자 회로 또는 소프트웨어를 포함하며 더 높은 코딩 효율성을 제공하기 위해 지속적으로 개선되고 있다. 비디오 코덱은 압축되지 않은 비디오를 압축된 형식으로 또는 그 반대로 변형한다. 비디오 품질, 비디오를 나타내는 데 사용되는 데이터 양(비트 전송률(bit rate)에 따라 결정), 인코딩 및 디코딩 알고리즘의 복잡성, 데이터 손실 및 오류에 대한 민감도, 편집 용이성, 임의 액세스 및 종단 간 지연(대기 시간) 사이에 복잡한 관계가 있다. 압축 형식은 일반적으로 고효율 비디오 코딩(High Efficiency Video Coding)(HEVC) 표준(H.265 또는 MPEG-H Part 2라고도 함), 다용도 비디오 코딩(Versatile Video Coding)(VVC) 표준 또는 다른 현재 및/또는 미래의 비디오 코딩 표준과 같은 표준 비디오 압축 사양을 준수한다.
개시된 기술의 실시예는 압축 성능을 개선하기 위해 기존 비디오 코딩 표준(예를 들어, HEVC, H.265) 및 미래 표준에 적용될 수 있다. 섹션 표제는 설명의 가독성을 향상시키기 위해 본 문서에서 사용되며, 논의 또는 실시예(및/또는 구현)를 각각의 섹션으로 만 제한하지 않는다.
1. HEVC/H.265에서의 해석 예측의 예
비디오 코딩 표준은 수년에 걸쳐 크게 개선되었으며 이제 부분적으로 높은 코딩 효율성과 더 높은 해상도 지원을 제공한다. HEVC 및 H.265와 같은 최근 표준은 시간적 예측과 변형 코딩이 사용되는 하이브리드 비디오 코딩 구조를 기반으로 한다.
1.1 예측 모드의 예
각 인터 예측 PU(예측 유닛(prediction unit))에는 하나 또는 두 개의 참조 픽처 목록(reference picture list)에 대한 모션 파라미터가 있다. 일부 실시예에서, 모션 파라미터는 모션 벡터(motion vector)와 참조 픽처 인덱스(reference picture index)를 포함한다. 다른 구체 예에서, 두 참조 픽처 목록 중 하나의 사용은 inter_pred_idc를 사용하여 시그널링 될 수도 있다. 또 다른 실시예에서, 모션 벡터는 예측기(predictor)에 대한 델타로서 명시적으로 코딩 될 수 있다.
코딩 유닛(coding unit)(CU) 스킵 모드(skip mode)로 코딩 될 때, 하나의 PU가 CU와 연관되고 유의한 잔여 계수(significant residual coefficient), 코딩 된 모션 벡터 델타 또는 참조 픽처 인덱스가 없다. 병합 모드가 지정되어 현재 PU에 대한 모션 파라미터가 공간 및 시간 후보를 포함하여 이웃 PU로부터 획득된다. 병합 모드는 스킵 모드()뿐만 아니라 인터 예측 PU에 적용할 수 있다. 병합 모드의 대안은 모션 파라미터의 명시적 전송이며, 여기서 모션 벡터, 각 참조 픽처 목록에 대한 해당 참조 픽처 인덱스 및 참조 픽처 목록 사용은 각 PU별로 명시적으로 시그널링 된다.
시그널링이 두 개의 참조 픽처 목록 중 하나가 사용됨을 나타낼 때, PU는 한 샘플 블록에서 생성된다. 이를 '단일 예측(uni-prediction)'이라고 한다. 단일 예측은 P 슬라이스와 B 슬라이스 모두에 사용할 수 있다.
시그널링이 두 참조 픽처 목록이 모두 사용됨을 나타내면 PU는 두 개의 샘플 블록에서 생성된다. 이를 '이중 예측(bi-prediction)'이라고 한다. 이중 예측은 B 슬라이스에만 사용할 수 있다.
1.1.1 병합 모드를 위한 후보 구성의 실시예
병합 모드를 사용하여 PU를 예측하면 병합 후보 목록의 항목을 가리키는 인덱스가 비트 스트림에서 파싱 되어 모션 정보를 검색하는 데 사용된다. 이 목록의 구성은 다음 단계 순서에 따라 요약할 수 있다:
단계 1: 초기 후보 유도(Initial candidates derivation)
단계 1.1: 공간 후보 유도(Spatial candidates derivation)
단계 1.2: 공간 후보에 대한 중복 확인(Redundancy check for spatial candidate)
단계 1.3: 시간 후보 유도(Temporal candidates derivation)
단계 2: 추가 후보 삽입(Additional candidates insertion)
단계 2.1: 이중 예측 후보 생성(Creation of bi-predictive candidate)
단계 2.2: 제로 모션 후보 삽입(Insertion of zero motion candidate)
도 1은 위에서 요약 한 일련의 단계를 기반으로 병합 후보 목록을 구성하는 예를 보여준다. 공간 병합 후보 유도의 경우, 5 개의 서로 다른 위치에 있는 후보 중에서 최대 4 개의 병합 후보가 선택된다. 시간 병합 후보 유도의 경우, 두 후보 중 최대 하나의 병합 후보가 선택된다. 디코더에서 각 PU에 대해 일정한 수의 후보가 가정되기 때문에, 추가 후보는 후보 수가 슬라이스 헤더에서 시그널링 되는 최대 병합 후보 수(MaxNumMergeCand)에 도달하지 않을 때 생성된다. 후보의 수가 일정하기 때문에 최적 병합 후보의 인덱스는 절단된 단항 이진화(unary binarization)(TU)를 사용하여 인코딩 된다. CU의 크기가 8과 같으면, 현재 CU의 모든 PU는 2N Х 2N 예측 유닛의 병합 후보 목록과 동일한 단일 병합 후보 목록을 공유한다.
1.1.2 공간 병합 후보 구성(Constructing spatial merge candidate)
공간 병합 후보의 유도에서, 도 2에 도시된 위치에 위치한 후보들 중에서 최대 4 개의 병합 후보가 선택된다. 유도 순서는 A1, B1, B0, A0 및 B2이다. 위치 B2는 위치 A1, B1, B0, A0의 PU를 사용할 수 없거나(예를 들어, 다른 슬라이스 또는 타일에 속하기 때문에) 인트라 코딩 된 경우에만 고려된다. 위치 A1의 후보가 추가된 후, 나머지 후보의 추가는 동일한 모션 정보를 가진 후보가 목록에서 제외되도록 하는 중복 확인의 대상이 되므로 코딩 효율성이 향상된다.
계산 복잡성을 줄이기 위해 언급된 중복 확인에서 가능한 모든 후보 쌍이 고려되는 것은 아니다. 대신, 도 3에서 화살표로 연결된 쌍만 고려되고 중복 확인에 사용되는 해당 후보가 동일한 모션 정보를 갖지 않는 경우에만 후보가 목록에 추가된다. 중복 모션 정보의 또 다른 소스는 2Nx2N과 다른 파티션과 연관된 "제2 PU"이다. 예를 들어, 도 4a 및 4b는 각각 N Х 2N 및 2N Х N의 경우에 대한 제2 PU를 도시한다. 현재 PU가 N Х 2N으로 분할되면 A1 위치의 후보는 목록 구성에 고려되지 않는다. 일부 실시예에서, 이 후보를 추가하는 것은 동일한 모션 정보를 갖는 2 개의 예측 유닛으로 이어질 수 있으며, 이는 코딩 유닛에서 단지 하나의 PU를 갖는 것에 중복된다. 마찬가지로 현재 PU가 2N Х N으로 분할될 때 위치 B1은 고려되지 않는다.
1.1.3 시간 병합 후보 구성(Constructing temporal merge candidate)
이 단계에서는 하나의 후보 만 목록에 추가된다. 특히, 이 시간 병합 후보의 유도에서, 스케일링 된 모션 벡터는 주어진 참조 픽처 목록 내에서 현재 픽처와 가장 작은 POC 차이를 갖는 픽처에 속하는 공동 위치 PU를 기반으로 유도된다. 공존 PU의 유도에 사용될 참조 픽처 목록은 슬라이스 헤더에서 명시적으로 시그널링 된다.
도 5는 POC 거리를 이용하여 동일 위치에 있는 PU의 모션 벡터로부터 스케일링 된 시간 병합 후보(점선)에 대한 스케일링 된 모션 벡터의 유도의 예를 도시하고, tb 및 td, 여기서 tb는 현재 픽처의 참조 픽처와 현재 픽처 간의 POC 차이로 정의되고 td는 공존 위치 픽처(co-located picture)의 참조 픽처와 공존 위치 픽처 간의 POC 차이로 정의된다. 시간 병합 후보의 참조 픽처 인덱스는 0으로 설정된다. B 슬라이스의 경우, 하나는 참조 픽처 목록 0 용이고 다른 하나는 참조 픽처 목록 1 용인 2 개의 모션 벡터를 획득하고 결합하여 이중 예측 병합 후보를 만든다.
참조 프레임(reference frame)에 속하는 공존 위치 PU(Y)에서, 시간 후보에 대한 위치는 도 6에 도시된 바와 같이 후보 C0 및 C1 사이에서 선택된다. 위치 C0의 PU를 사용할 수 없거나 인트라 코딩 되거나 현재 CTU 외부에 있는 경우 위치 C1이 사용된다. 그렇지 않으면, 위치 C0이 시간 병합 후보의 유도에 사용된다.
1.1.4 추가 유형의 병합 후보 구성
시공간 병합 후보(spatio-temporal merge candidate) 외에도, 병합 후보에는 결합된 이중예측 병합 후보와 제로 병합 후보의 두 가지 추가 유형이 있다. 결합된 이중 예측 병합 후보는 시공간 병합 후보를 사용하여 생성된다. 결합된 이중 예측 병합 후보는 B 슬라이스에만 사용된다. 결합된 이중 예측 후보는 초기 후보의 제1 참조 픽처 목록 모션 파라미터와 다른 제2 참조 픽처 목록 모션 파라미터를 결합함으로써 생성된다. 이 두 튜플(tuple)이 다른 모션 가설을 제공하면 새로운 이중 예측 후보를 형성한다.
도 7은 이 프로세스의 예를 도시하고, 여기서 원래 목록의 두 후보(왼쪽 710), 이는 mvL0 및 refIdxL0 또는 mvL1 및 refIdxL1을 가지고, 이들은 최종 목록(오른쪽의 720)에 추가된 결합된 이중 예측 병합 후보를 만드는데 사용된다.
제로 모션 후보(Zero motion candidate)가 삽입되어 병합 후보 목록의 나머지 항목을 채우므로 MaxNumMergeCand 용량에 도달한다. 이러한 후보는 0에서 시작하여 새로운 제로 모션 후보가 목록에 추가될 때마다 증가하는 제로 공간 변위(zero spatial displacement)와 참조 픽처 인덱스를 갖는다. 이러한 후보가 사용하는 참조 프레임의 수는 각각 단일 및 이중 예측에 대해 1 개와 2 개이다. 일부 실시예에서, 이러한 후보들에 대해 중복 확인이 수행되지 않는다.
1.1.5 병렬 처리를 위한 모션 추정 영역의 예(Examples of motion estimation regions for parallel processing)
인코딩 프로세스의 속도를 높이려면, 모션 추정(motion estimation)은 병렬로 수행되어 주어진 영역 내의 모든 예측 유닛(prediction unit)에 대한 모션 벡터가 동시에 유도된다. 하나의 예측 유닛이 연관된 모션 추정이 완료될 때까지 인접한 PU로부터 모션 파라미터를 유도할 수 없기 때문에 공간적 이웃으로부터 병합 후보의 유도는 병렬 처리를 방해할 수 있다. 코딩 효율성과 처리 대기 시간 간의 균형을 완화하려면, 모션 추정 영역(motion estimation region)(MER)이 정의될 수 있다. MER의 크기는 "log2_parallel_merge_level_minus2" 신택스 요소를 사용하여 PPS(picture parameter set)에서 시그널링 될 수 있다. MER가 정의되면, 동일한 지역에 속하는 병합 후보는 사용할 수 없는 것으로 표시되므로 목록 구성에서 고려되지 않는다.
1.2 진보된 모션 벡터 예측(advanced motion vector prediction)(AMVP)의 실시예
AMVP 코딩 모드는 모션 파라미터의 명시적 전송에 사용되는 인접 PU와 모션 벡터의 시공간적 상관 관계를 활용한다. 왼쪽, 일시적으로 인접한 PU 위치 위의 가용성을 먼저 확인하고 중복 후보를 제거하고 제로 벡터를 추가하여 후보 목록이 일정한 길이가 되도록 모션 벡터 후보 목록을 구성한다. 그러면, 인코더는 후보 목록에서 최상의 예측기를 선택하고 선택한 후보를 나타내는 해당 인덱스를 전송할 수 있다. 마찬가지로 병합 인덱스 시그널링을 사용하면 최상의 모션 벡터 후보의 인덱스가 절단된 단항(truncated unary)을 사용하여 인코딩 된다. 이 경우 인코딩 될 최대 값은 2이다(도 8 참조). 다음 섹션에서는 모션 벡터 예측 후보의 유도 과정에 대해 자세히 설명한다.
1.2.1 모션 벡터 예측 후보 구성의 예
도 8은 모션 벡터 예측 후보에 대한 유도 과정을 요약한 것으로 refidx를 입력으로 하여 각 참조 픽처 목록에 대해 구현될 수 있다.
모션 벡터 예측에서, 두 가지 유형의 모션 벡터 후보가 고려된다: 공간 모션 벡터 후보(spatial motion vector candidate)와 시간 모션 벡터 후보(temporal motion vector candidate). 공간 모션 벡터 후보 유도의 경우, 두 개의 모션 벡터 후보는 도 2에 이전에 도시된 바와 같이 5 개의 상이한 위치에 위치한 각 PU의 모션 벡터에 기초하여 결국 유도된다.
시간 모션 벡터 후보 유도를 위해, 하나의 모션 벡터 후보가 두 개의 서로 다른 공존 위치를 기반으로 유도된 두 후보 중에서 선택된다. 시공간 후보(spatio-temporal candidate)의 제1 목록이 생성된 후 목록에서 복제된 모션 벡터 후보가 제거된다. 후보 수가 2 이상이면, 연관 참조 픽처 목록 내의 참조 픽처 인덱스가 1보다 큰 모션 벡터 후보는 목록에서 제거된다. 시공간적 모션 벡터 후보의 수가 2 개 미만이면, 추가 제로 모션 벡터 후보가 목록에 추가된다.
1.2.2 공간 모션 벡터 후보 구성(Constructing spatial motion vector candidate)
공간 모션 벡터 후보의 유도에서, 5 개의 잠재적 후보 중에서 최대 2 개의 후보가 고려되는데, 이는 앞서 도 2에 도시된 위치에 위치한 PU로부터 유도되며, 그 위치는 모션 병합의 위치와 동일하다. 현재 PU의 왼 측면에 대한 유도 순서는 A0, A1 및 스케일링 된 A0, 스케일링 된 A1로 정의된다. 현재 PU의 위 측면에 대한 유도 순서는 B0, B1, B2, 스케일링 된 B0, 스케일링 된 B1, 스케일링 된 B2로 정의된다. 따라서 각 측면에 대해 모션 벡터 후보로 사용할 수 있는 4 개의 경우가 있으며, 공간 스케일링을 사용할 필요가 없는 2 개의 경우와 공간 스케일링이 사용되는 2 개의 경우가 있다. 4 가지 다른 경우는 다음과 같이 요약된다.
- 공간 스케일링 없음
(1) 동일한 참조 픽처 목록, 및 동일한 참조 픽처 인덱스(동일한 POC)
(2) 상이한 참조 픽처 목록이지만, 동일한 참조 픽처(동일한 POC)
-공간 스케일링
(3) 동일한 참조 픽처 목록이지만, 상이한 참조 픽처(상이한 POC)
(4) 상이한 참조 픽처 목록, 및 상이한 참조 픽처(상이한 POC)
공간적 스케일링이 없는 경우를 먼저 확인한 다음 공간적 스케일링을 허용하는 경우를 확인한다. 공간 스케일링은 참조 픽처 목록에 관계없이 주변 PU의 참조 픽처와 현재 PU의 참조 픽처 사이의 POC가 다를 때 고려된다. 왼쪽 후보의 모든 PU를 사용할 수 없거나 인트라 코딩 된 경우, 위의 모션 벡터에 대한 스케일링은 왼쪽 및 위쪽 MV 후보의 병렬 유도를 돕기 위해 허용된다. 그렇지 않으면, 위쪽 모션 벡터에 대해 공간 스케일링이 허용되지 않는다.
도 9의 예에서 볼 수 있듯이, 공간적 스케일링의 경우, 이웃 PU의 모션 벡터는 시간적 스케일링과 유사한 방식으로 스케일링 된다. 한 가지 차이점은 현재 PU의 참조 화상 목록과 인덱스가 입력으로 제공된다는 것이다. 실제 스케일링 프로세스는 시간 스케일링 프로세스와 동일한다.
1.2.3 시간 모션 벡터 후보 구성
참조 픽처 인덱스 유도와는 별도로, 시간 병합 후보의 유도를 위한 모든 과정은 공간 모션 벡터 후보의 유도를 위한 과정과 동일하다(도 6의 예에 도시된 바와 같이). 일부 실시예에서, 참조 픽처 인덱스는 디코더로 시그널링 된다.
2. 공동 탐색 모델(Joint Exploration Model)(JEM)의 인터 예측 방법(inter prediction method)의 예
일부 실시예에서, 미래 비디오 코딩 기술은 공동 탐색 모델(Joint Exploration Model)(JEM)로 알려진 참조 소프트웨어를 사용하여 탐색된다. JEM에서, 서브 블록(sub-block) 기반 예측은 아핀 예측(affine prediction), 대체 시간 모션 벡터 예측(alternative temporal motion vector prediction)(ATMVP), 공간 시간 모션 벡터 예측(spatial-temporal motion vector prediction)(STMVP), 양방향 광학 흐름(bi-directional optical flow)(BIO), 프레임 속도 업 변환(Frame-Rate Up Conversion)(FRUC), 로컬 적응형 모션 벡터 해상도(Locally Adaptive Motion Vector Resolution)(LAMVR), 중첩 블록 모션 보상(Overlapped Block Motion Compensation)(OBMC), 로컬 조명 보상(Local Illumination Compensation)(LIC) 및 디코더 측 모션 벡터 개선(Decoder-side Motion Vector Refinement)(DMVR)와 같은 여러 코딩 도구에서 채택된다..
2.1 서브 CU 기반 모션 벡터 예측의 예
쿼드 트리(quadtree)와 이진 트리(binary tree)(QTBT)가 있는 JEM에서, 각 CU는 각 예측 방향에 대해 최대 하나의 모션 파라미터 세트를 가질 수 있다. 일부 실시예에서, 인코더에서는 큰 CU를 서브 CU로 분할하고 큰 CU의 모든 서브 CU에 대한 모션 정보를 유도하여 두 개의 서브 CU 레벨 모션 벡터 예측 방법을 고려한다. 대안적인 시간 모션 벡터 예측(ATMVP) 방법을 사용하면 각 CU가 배치된 참조 픽처에서 현재 CU보다 작은 여러 블록에서 여러 세트의 모션 정보를 가져올 수 있다. 공간 시간 모션 벡터 예측(STMVP) 방법에서 서브 CU의 모션 벡터는 시간 모션 벡터 예측기와 공간 이웃 모션 벡터(spatial neighbouring motion vector)를 사용하여 재귀적으로 유도된다. 일부 실시예에서, 그리고 서브 CU 모션 예측을 위한 보다 정확한 모션 필드를 보존하기 위해, 참조 프레임에 대한 모션 압축이 비활성화 될 수 있다.
2.1.1 대체 시간 모션 벡터 예측(ATMVP)의 예
ATMVP 방법에서는 현재 CU보다 작은 블록에서 여러 세트의 모션 정보(모션 벡터 및 참조 인덱스 포함)를 가져와서 시간 모션 벡터 예측(TMVP) 방법을 수정한다.
도 10은 현재 픽처(1000)에서 CU에 대한 ATMVP 모션 예측 프로세스의 예를 나타낸다. ATMVP 방법은 CU(1002) 내의 서브 CU(1001)의 모션 벡터를 두 단계로 예측한다. 제1 단계는 시간 벡터로 참조 픽처(1050)에서 대응하는 블록(1051)을 식별하는 것이다. 참조 픽처(1050)는 모션 소스 픽처라고도 불린다. 제2 단계는 현재 CU(1002)를 서브 CU(1001)로 분할하고 각 서브 CU에 대응하는 블록에서 각 서브 CU의 참조 인덱스뿐만 아니라 모션 벡터를 얻는 것이다.
제1 단계에서, 참조 픽처(1050) 및 대응 블록은 현재 CU(1002)의 공간 이웃 블록들의 모션 정보에 의해 결정된다. 이웃 블록의 반복적인 스캐닝 프로세스를 피하기 위해, 현재 CU 1000의 병합 후보 목록에서 제1 병합 후보가 사용된다. 사용 가능한 제1 모션 벡터 및 연관된 참조 인덱스는 시간 벡터 및 모션 소스 픽처에 대한 인덱스로 설정된다. 이렇게 하면 TMVP에 비해 해당 블록을 보다 정확하게 식별할 수 있으며, 여기서 대응하는 블록(때때로 배치된 블록이라고도 함)은 현재 CU에 대해 항상 오른쪽 하단 또는 중앙 위치에 있다.
제2 단계에서, 서브 CU(1051)의 대응하는 블록은 현재 CU의 좌표에 시간 벡터를 더함으로써, 모션 소스 픽처(1050)의 시간 벡터에 의해 식별된다. 각 서브 CU에 대해, 해당 블록(중앙 샘플을 덮는 가장 작은 모션 그리드)의 모션 정보는 서브 CU에 대해 모션 정보를 유도하기 위해 사용된다. 해당 NxN 블록의 모션 정보를 확인한 후, HEVC의 TMVP와 동일한 방식으로, 이는 현재 서브 CU의 참조 인덱스 및 모션 벡터로 변형되고, 모션 스케일링 및 기타 절차가 적용된다. 예를 들면, 디코더는 저 지연 조건(예를 들면, 현재 픽처의 모든 참조 픽처의 POC가 현재 픽처의 POC보다 작은 경우)이 충족되었는지 및 각각의 서브 CU에 대해 모션 벡터 MVy(예를 들면, X는 0 또는 1과 같고 Y는 1-X와 같음)를 예측하기 위해 모션 벡터 MVx(예를 들면, 참조 픽처 목록 X에 해당하는 모션 벡터)를 사용할 수 있는지 확인한다.
2.1.2 공간-시간 모션 벡터 예측(STMVP)의 예
STMVP 방법에서 서브 CU의 모션 벡터는 래스터 스캔 순서에 따라 반복적으로 유도된다. 도 11은 4 개의 서브 블록 및 이웃 블록을 갖는 하나의 CU의 예를 도시한다. 4 개의 4 Х 4 서브 CU A(1101), B(1102), C(1103) 및 D(1104)를 포함하는 8 Х 8 CU 1100을 고려하라. 현재 프레임에서 인접한 4 Х 4 블록은 a(1111), b(1112), c(1113) 및 d(1114)로 레이블이 지정된다.
서브 CU A에 대한 모션 유도는 두 개의 공간 이웃을 식별하는 것으로 시작된다. 제1 이웃은 서브 CU A 1101 위의 N Х N 블록이다(블록 c (1113)). 이 블록 c(1113)를 사용할 수 없거나 인트라 코딩 된 경우 서브 CU A(1101) 위의 다른 N Х N 블록이 확인된다(블록 c (1113)에서 시작하여 왼쪽에서 오른쪽으로). 제2 이웃은 서브 CU A(1101)의 왼쪽에 있는 블록이다(블록 b (1112)). 블록 b(1112)를 사용할 수 없거나 인트라 코딩 된 경우 서브 CU A(1101)의 왼쪽에 있는 다른 블록이 확인된다(위에서 아래로, 블록 b(1112)에서 시작). 각 목록에 대한 이웃 블록에서 얻은 모션 정보는 주어진 목록에 대한 제1 참조 프레임으로 스케일링 된다. 다음으로, 서브 블록 A(1101)의 시간 모션 벡터 예측기(TMVP)는 HEVC에 명시된 것과 동일한 TMVP 유도 절차에 따라 유도된다. 블록 D(1104)에서 배치된 블록의 모션 정보는 그에 따라 페치되고 스케일링 된다. 마지막으로, 모션 정보를 검색하고 스케일링 한 후 사용 가능한 모든 모션 벡터는 각 참조 목록에 대해 개별적으로 평균화 된다. 평균 모션 벡터는 현재 서브 CU의 모션 벡터로 할당된다.
2.1.3 서브 CU 모션 예측 모드 시그널링의 예
일부 실시예에서, 서브 CU 모드는 추가 병합 후보로 활성화되며 모드에 시그널링 하는 데 필요한 추가 신택스 요소가 없다. ATMVP 모드와 STMVP 모드를 나타내는 두 개의 추가 병합 후보가 각 CU의 병합 후보 목록에 추가된다. 다른 구체 예에서, 시퀀스 파라미터 세트가 ATMVP 및 STMVP가 사용 가능함을 표시하는 경우 최대 7 개의 병합 후보를 사용할 수 있다. 추가 병합 후보의 인코딩 논리는 HM의 병합 후보와 동일한다. 즉, P 또는 B 슬라이스의 각 CU에 대해 두 개의 추가 병합 후보에 대해 두 번 더 RD 확인이 필요할 수 있다. 예를 들어, JEM과 같은 일부 실시예에서, 병합 인덱스의 모든 빈은 컨텍스트 기반 적응형 이진 산술 코딩(Context-based Adaptive Binary Arithmetic Coding)(CABAC)에 의해 컨텍스트 코딩 된다. 다른 실시예, 예를 들어 HEVC에서, 제1 빈만이 컨텍스트 코딩 되고 나머지 빈은 컨텍스트 바이 패스 코딩 된다.
2.2 적응 형 모션 벡터 차이 해상도의 예
일부 실시예에서, 모션 벡터 차이(MVD)(모션 벡터와 PU의 예측된 모션 벡터 사이)는 use_integer_mv_flag가 슬라이스 헤더에서 0과 같을 때 1/4 루마(luma) 샘플 유닛으로 시그널링 된다. JEM에서, 로컬 적응형 모션 벡터 해상도(Local adaptive motion vector resolution)(LAMVR)가 도입되었다. JEM에서, MVD는 1/4 루마 샘플, 정수 루마 샘플 또는 4 개의 루마 샘플 유닛으로 코딩 될 수 있다. MVD 해상도는 코딩 유닛(CU) 레벨에서 제어되며 MVD 해상도 플래그(resolution flag)는 0이 아닌 MVD 구성 요소가 하나 이상 있는 각 CU에 대해 조건부로 시그널링 된다.
0이 아닌 MVD 구성 요소가 하나 이상 있는 CU의 경우 CU에서 1/4 루마 샘플 MV 정밀도가 사용되는지 여부를 나타내는 제1 플래그가 시그널링 된다. 제1 플래그(1과 같음)가 1/4 루마 샘플 MV 정밀도가 사용되지 않음을 나타내면 정수 루마 샘플 MV 정밀도 또는 4 루마 샘플 MV 정밀도가 사용되는지 여부를 나타내는 또 다른 플래그가 시그널링 된다.
CU의 제1 MVD 해상도 플래그가 0이거나 CU에 대해 코딩 되지 않은 경우(CU의 모든 MVD가 0임을 의미) CU에 1/4 루마 샘플 MV 해상도가 사용된다. CU가 정수 루마 샘플 MV 정밀도 또는 4 루마 샘플 MV 정밀도를 사용하는 경우, CU에 대한 AMVP 후보 목록의 MVP는 해당 정밀도로 반올림 된다.
인코더에서, CU 레벨 RD 확인은 CU에 사용할 MVD 해상도를 결정하는 데 사용된다. 즉, CU 레벨 RD 확인은 각 MVD 해상도에 대해 세 번 수행된다. 인코더 속도를 높이기 위해 다음 인코딩 체계가 JEM에 적용된다.
- 정상 쿼터 루마 샘플 MVD 해상도를 가진 CU의 RD 확인시 현재 CU의 모션 정보(정수 루마 샘플 정확도)가 저장된다. 저장된 모션 정보(반올림 후)는 정수 루마 샘플 및 4 루마 샘플 MVD 해상도를 사용하는 동일한 CU에 대한 RD 확인 중에 더 작은 범위 모션 벡터 개선을 위한 시작점으로 사용되어, 시간이 많이 걸리는 모션 추정 프로세스가 세 번 중복되지 않도록 한다.
- 4 루마 샘플 MVD 해상도를 가진 CU의 RD 확인이 조건부로 호출된다. CU의 경우 RD 비용이 정수 루마 샘플 MVD 해상도가 1/4 루마 샘플 MVD 해상도보다 훨씬 클 때, CU에 대한 4 루마 샘플 MVD 해상도의 RD 확인를 스킵 한다.
2.3 더 높은 모션 벡터 저장 정확도의 예
HEVC에서, 모션 벡터 정확도는 1/4 픽셀이다(4:2:0 비디오의 경우 1/4 루마 샘플 및 1/8 크로마 샘플(chroma sample)). JEM에서, 내부 모션 벡터 저장소(internal motion vector storage) 및 병합 후보의 정확도가 1/16 픽셀로 증가한다. 더 높은 모션 벡터 정확도(1/16 픽셀)는 스킵/병합 모드로 코딩 된 CU의 모션 보상 인터 예측에 사용된다. 일반 AMVP 모드로 코딩 된 CU의 경우 정수 픽셀 또는 1/4 픽셀 모션이 사용된다.
HEVC 모션 보상 보간 필터와 동일한 필터 길이 및 정규화 계수를 갖는 SHVC 업 샘플링 보간 필터(upsampling interpolation filter)는 추가 분수 픽셀 위치에 대한 모션 보상 보간 필터로 사용된다. 크로마 구성 요소 모션 벡터 정확도는 JEM에서 1/32 샘플이고, 분수 위치(fractional position)에 의한 1/32의 추가 보간 필터는 분수 위치에 의해 인접한 두 1/16 필터의 평균을 사용하여 유도된다.
3. JEM에서 변형 설계(transform design)의 예
JEM에는 두 가지 다른 종류의 변형이 있다; 하나는 1차 변형(primary transform)으로 취급되는 적응형 다중 코어 변형(adaptive multiple core transform)(AMT, 다중 변형 선택(Multiple Transform Selection)(MTS)이라고도 함)이라고 하며, 및 다른 하나는 분리 불가능한 2차 변형(저주파 분리 불가능한 변형(Low Frequency Non-Separable Transform)으로도 알려진 NSST)이라고 한다.
3.1 적응형 다중 코어 변형(adaptive multiple core transform)(AMT)의 예
HEVC에 사용된 (이산 코사인 변형(Discrete Cosine Transform)) DCT-II 및 4 Х 4 (이산 사인 변형(Discrete sine transform)) DST-VII에 추가하여, 적응형 다중(코어) 변형(AMT) 방식은 인터 및 인트라 코딩 된 블록 모두에 대한 잔여 코딩에 사용된다. HEVC의 현재 변형 외에 DCT/DST 제품군에서 선택한 여러 변형을 사용한다. 새로 도입된 변형 행렬은 DST-VII, DCT-VIII, DST-I 및 DCT-V이다. 표 1은 선택된 DST/DCT의 기본 기능을 보여준다.
N 포인트 입력을 위한 DCT-II/V/VIII 및 DST-I/VII의 기본 함수 변형
변형 유형(Transform Type) 기본 함수(Basis function) T i (j), i, j=0, 1,…, N1
DCT-II
여기서,
DCT-V
여기서,
DCT-VIII
DST-I
DST-VII
변형 행렬(transform matrix)의 직교성을 유지하기 위해, 변형 행렬은 HEVC의 변형 행렬보다 더 정확하게 양자화 된다. 수평 및 수직 변형 후 변형된 계수의 중간 값을 16 비트 범위 내에서 유지하려면, 모든 계수는 현재 HEVC 변형에서 사용되는 오른쪽 시프트와 비교하여 2 비트 더 오른쪽 시프트 된다.
AMT는 너비와 높이가 64보다 작거나 같은 CU에 적용되며 AMT가 적용되는지 여부는 CU 레벨 플래그에 의해 제어된다. CU 레벨 플래그(CU level flag)(즉, AMT 플래그)가 0이면 CU에 DCT-II를 적용하여 잔여물(residue)을 인코딩 한다. AMT 지원 CU 내의 루마 코딩 블록의 경우, 사용할 수평 및 수직 변형을 식별하기 위해 두 개의 추가 플래그(예를 들어, AMT 인덱스)가 시그널링 된다. HEVC에서와 같이 블록의 잔여(residual)는 JEM에서 변형 스킵 모드로 코딩 될 수 있다. 신택스 코딩(syntax coding)의 중복을 방지하려면, 변현 스킵 플래그(transform skip flag)는 CU 레벨 AMT 플래그가 0이 아닐 때 시그널링 하지 않는다.
인트라 잔여물 코딩(intra residue coding)의 경우, 상이한 인트라 예측 모드의 잔여물 통계(residual statistic)가 다르기 때문에, 모드에 따른(mode-dependent) 변형 후보 선택 프로세스가 사용된다. 표 2에 나타낸 바와 같이 3 개의 변형 서브 세트가 정의되었고, 변형 서브 세트는 표 3에 명시된 바와 같이 인트라 예측 모드를 기반으로 선택된다.
3 개의 사전 정의된 변형 후보 세트
변형 세트 변형 후보(Transform Candidates)
0 DST-VII, DCT-VIII
1 DST-VII, DST-I
2 DST-VII, DCT-VIII
서브 집합 개념을 사용하면, 변형 서브 세트는 먼저 CU 레벨 AMT 플래그가 1 인 CU의 인트라 예측 모드를 사용하여 표 2를 기반으로 식별된다. 그 후 수평 및 수직 변형 각각에 대해, 표 3에 따라, 식별된 변형 서브 세트에서 2 개의 변형 후보 중 하나는 플래그로 명시적으로 시그널링 된 것에 기초하여 선택된다.
각 인트라 예측 모드에 대해 선택된(H) 수평 및(V) 수직 변형 세트
인트라 모드(Intra Mode) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
수직(V) 2 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0
수평(H) 2 1 0 1 0 1 0 1 0 1 0 1 0 1 2 2 2 2
인트라 모드 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
수직(V) 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0
수평(H) 2 2 2 2 2 1 0 1 0 1 0 1 0 1 0 1 0
인트라 모드 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
수직(V) 1 0 1 0 1 0 1 0 1 0 1 2 2 2 2 2 2 2
수평(H) 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0
인트라 모드 53 54 55 56 57 58 59 60 61 62 63 64 65 66
수직(V) 2 2 1 0 1 0 1 0 1 0 1 0 1 0
수평(H) 0 0 1 0 1 0 1 0 1 0 1 0 1 0
그러나, 인터 예측 잔여의 경우, DST-VII 및 DCT-VIII로 구성된 하나의 변형 세트 만 모든 인터 모드와 수평 및 수직 변형 모두에 사용된다.
완전 탐색(brute-force search)이 사용될 때 총 5 개(DCT-II 및 4 개의 다중 변형 후보) 서로 다른 변형 후보를 각 잔여 블록에 대한 속도 왜곡 비용으로 평가해야 하기 때문에, AMT의 복잡성은 인코더 측에서 상대적으로 높을 것이다. 인코더에서 이러한 복잡성 문제를 완화하기 위해, JEM에서 알고리즘 가속화를 위해 여러 최적화 방법이 설계되었다.
인코더에서 각 CU 레벨 코딩 모드에 대해 2 패스 코딩(two-pass coding)이 적용된다. 도 21a에 도시된 바와 같이, 제1 패스(first pass)는 CU에 DCT-II 만 적용하는 R-D 비용을 확인하고(CU 레벨 플래그는 0) 제2 패스는 CU에 대해 다중 변형을 적용하는 R-D 비용을 추가로 확인한다(CU 레벨 플래그는 1). 또한, CU 레벨 코딩 모드는 실제로 적용되는 문제에서 상대적으로 일관된 것으로 관찰된다. 따라서, CU에 대한 다중 변형 통과를 확인할 때, DCT-II 만 적용하는 통계가 수집되고 제2 다중 변형 패스에서 불필요한 R-D 계산을 스킵 하는 데 사용된다. 도 21b에 도시된 바와 같이, AMT CU 레벨 플래그 0이 있는 특정 CU 코딩 모드의 R-D 비용이 특정 임계 값의 최소 R-D 비용을 초과할 때, 도 21b에 강조된 조건에 의해 표시된 바와 같이, 제2 패스, 즉 AMT CU 레벨 플래그 1을 사용하여 현재 CU 코딩 모드로 CU를 인코딩하는 것은 스킵 된다.
3.2 모드에 따른 비 분리형 2차 변형(NSST)
JEM에서, 모드에 따른 비 분리형 2차 변형(mode-dependent non-separable secondary transform)(MDNSST)은 순방향 코어 변형과 양자화(인코더에서) 사이 및 역 양자화와 역 코어 변형(디코더에서) 사이에 적용된다. 복잡성을 낮추기 위해, MDNSST는 1차 변형 후 저주파 계수에만 적용된다. 변형 계수 블록(transform coefficients block)의 너비(W)와 높이(H)가 모두 8보다 크거나 같으면, 그런 다음 8 Х 8 분리 불가능한 2차 변형이 변형 계수 블록의 왼쪽 상단 8 Х 8 영역에 적용된다. 그렇지 않으면, 변형 계수 블록의 W 또는 H가 4와 같으면, 4 x 4 분리 불가능한 2차 변형이 적용되고 4 x 4 분리 불가능 변형이 변형 계수 블록의 왼쪽 상단 최소(8, W) x 최소(8, H) 영역에서 수행된다. 위의 변형 선택 규칙은 루마 및 크로마 구성 요소 모두에 적용된다.
분리 불가능한 변형의 행렬 곱셈 구현은 4 Х 4 입력 블록을 예로 사용하여 다음과 같이 설명된다. 분리 불가능한 변형을 적용하려면 4 Х 4 입력 블록 X
는 벡터 로 표현된다:
=
분리 불가능한 변형은 로 계산된다. 여기서 은 변형 계수 벡터를 나타내고 T는 16 Х 16 변형 행렬이다. 16 Х 1 계수 벡터 F 는 해당 블록에 대한 스캔 순서(수평, 수직 또는 대각선)를 사용하여 4 Х 4 블록으로 다시 구성된다. 더 작은 인덱스를 가진 계수는 4 Х 4 계수 블록에 더 작은 스캐닝 인덱스와 함께 위치된다. JEM에서는 분리 불가능한 변형의 복잡성을 줄이기 위해 행렬 곱셈 대신 나비 구현(butterfly implementation)을 갖는 하이퍼큐브-기븐스 변형(Hypercube-Givens Transform)(HyGT)이 사용된다.
3.2.1 모드에 따른 변형 코어 선택(Mode-dependent transform core selection)
4 Х 4 및 8 Х 8 블록 크기 모두에 대해 완전히 35 Х 3 분리 불가능한 2차 변형이 있고, 여기서 35는 인트라 예측 모드(intra prediction mode)에 의해 지정된 변형 세트의 수이고, 및 세트로 표시되고 3은 각 인트라 예측 모드에 대한 NSST 후보의 수이다. 인트라 예측 모드에서 변형 세트로의 매핑은 도 31에 도시된 표 4에 정의되어 있다. 루마/크로마 변형 계수에 적용되는 변형 세트는 표 4에 따라 해당 루마/크로마 인트라 예측 모드에 의해 지정된다. 34(대각선 예측 방향)보다 큰 인트라 예측 모드의 경우, 변형 계수 블록은 인코더/디코더에서 2차 변형 전/후에 전치된다.
각 변형 세트에 대해, 선택된 분리 불가능한 2차 변형 후보는 명시적으로 시그널링 된 CU 레벨 MDNSST 인덱스에 의해 추가로 지정된다. 인덱스는 변형 계수와 절단 단항 이진화(truncated unary binarization)가 사용된 후 인트라 CU 당 한 번씩 비트 스트림으로 시그널링 된다. 절단 값(truncated value)은 평면 또는 DC 모드의 경우 2이고 각도 인트라 예측 모드의 경우 3이다. 이 MDNSST 인덱스는 CU에 0이 아닌 계수가 둘 이상 있는 경우에만 시그널링 된다. 시그널링 되지 않는 경우 기본값은 0이다. 이 신택스 요소의 값이 0이면 현재 CU에 2차 변형이 적용되지 않음을 나타내고, 값 1 ~ 3은 적용해야 하는 세트의 2차 변형을 나타낸다.
JEM에서, MDNSST는 변형 스킵 모드로 코딩 된 블록에는 적용되지 않는다. MDNSST 인덱스가 CU에 대해 시그널링 되고 0이 아닌 경우, MDNSST는 CU에서 변형 스킵 모드로 코딩 된 구성 요소의 블록에는 사용되지 않는다. 모든 구성 요소의 블록이 있는 CU가 변형 스킵 모드로 코딩 되거나 비 변형 스킵 모드 CB의 0이 아닌 계수의 수가 2 미만인 경우, MDNSST 인덱스는 CU에 대해 시그널링 되지 않는다.
JEM에서, MDNSST는 또한 인트라 예측이 생성될 때 모드에 따른 참조 샘플 인트라 스무딩(mode dependent reference samples intra smoothing)(MDIS)이 적용되는 방식에 영향을 준다. MDIS는 MDNSST 인덱스가 0 일 때 블록에 대해 비활성화 된다(즉, 참조 샘플 스무딩 없음). MDNSST 인덱스가 0이 아닐 때 블록에 HEVC 스타일 MDIS가 적용된다. 이 규칙은 PDPC 프로세스가 적용되는 평면 모드를 제외한 모든 인트라 예측 모드에 적용된다. JEM에서, HEVC에서 32 Х 32 인트라 블록 크기에 적용되는 강력한 인트라 스무딩이 비활성화 된다.
인코더 측에서, CU 레벨 RD 확인은 CU에 대한 NSST 인덱스를 선택하는 데 사용된다. 즉, 인트라 코딩 된 CU의 경우 NSST 인덱스 값을 루프 인덱스로 사용하여 CU 레벨 RD 확인을 4 회 반복한다. 인코더 속도를 가속화하기 위해 다음과 같은 빠른 방법이 사용된다.
- 루프의 조기 정지가 적용된다. 더 작은 값을 가진 NSST 인덱스에 대해 현재 CU에 0이 아닌 변형된 계수가 없으면 더 큰 값을 가진 NSST 인덱스에 대한 RD 확인을 스킵 한다.
●- 참조 소프트웨어의 각 NSST 인덱스에 대한 인트라 모드 결정은 대략적인 모드 결정(rough mode decision)(RMD) 스테이지와 RDO 스테이지로 구성된다. RMD 스테이지에서, 67 개의 인트라 예측 모드 중 3 개는 SATD 비용에 따라 선택된다. 이 프로세스는 네 번이 아니라 두 번 적용된다(0과 같은 NSST 인덱스에 대해 한 번 및 0이 아닌 NSST 인덱스에 대해 한 번). 0이 아닌 모든 NSST 인덱스의 경우, 인트라 예측 모드에 대한 서로 다른 NSST 인덱스의 SATD 비용은 동일해야 한다. 따라서, RMD 프로세스는 0이 아닌 모든 NSST 인덱스에 대해 한 번만(NSST 인덱스 = 1로) 적용하면 되고 그 결과는 0이 아닌 다른 NSST 인덱스에 다시 사용된다.
3.2.2 HyGT 기반의 분리 불가능한 변형
하이퍼큐브-기븐스 변형(HyGT)(Hypercube-Givens Transform)은 분리 불가능한 2차 변형의 계산에 사용된다. 이 직교 변형의 기본 요소는 다음과 같이 정의된 요소가 있는 직교 행렬 G(m, n,
Figure 112021006951222-pct00014
)로 정의되는 기븐스 회전이다.
이러한 변형은 도 22에 도시된 바와 같이 그래픽으로 표현될 수 있다.
HyGT는 하이퍼큐브 배열(Hypercube arrangement)에서 기븐스 회전 세트를 결합하여 구현된다. 도 23은 16 개 요소(4 Х 4 비 분리형 변형)에 대한 HyGT의 "나비" 모양 흐름도를 보여준다. N이 2의 거듭 제곱이라고 가정하면, HyGT 라운드는 log2(N) 패스의 시퀀스로 정의되며, 각 패스에서 벡터 m 및 n의 인덱스는 각 방향에서 순차적으로 차원이 log2(N) 인 하이퍼큐브의 에지로 정의된다.
좋은 압축을 얻으려면 하나 이상의 HyGT 라운드가 사용된다. 도 24에 도시된 바와 같이, 완전 분리 불가능한 2차 변형은 R 라운드 HyGT로 구성되며, 분산에 따라 변형 계수를 분류하기 위해 선택적 순열 패스(permutation pass)를 포함할 수 있다. JEM에서, 2 라운드 HyGT는 4 Х 4 2차 변형에 적용되고 4 라운드 HyGT는 8 Х 8 2차 변형에 적용된다.
4. VVC 테스트 모델(VTM)에서 AMT의 예
VTM 버전 2.0을 포함한 일부 실시예에서, AMT의 단순화된 버전은 다음과 같은 특징을 포함할 수 있다:
● 각각 SPS 플래그에 의해 제어되는 인트라 및 인터 모두에 대해 활성화된 AMT
● 64 길이 DST-VII 및 DCT-VIII 없음(두 차원이 32보다 클 때 전송되는 AMT 신택스 없음)
● 128 길이 DCT-II 없음
● DCT-II, DST-VII 및 DCT-VIII 만
● 모든 변형은 10 비트 계수를 가져야
● 0이 아닌 계수의 수가 2보다 클 때 조건화됨
○ 양방향에서 DCT2에 대한 플래그; 그렇지 않다면
Figure 112021006951222-pct00016
수평 플래그는 DST-VII 대 DCT-VIII
수직 플래그는 DST-VII 대 DCT-VIII
5. 기존 구현의 단점 예
하나의 기존 AMT 구현에서, 인터 AMT는 171 % 인코딩 시간으로 추가 ~ 1 % 이득을 제공할 수 있다. 다른 구현에서, AMT 병합 전용(merge-only)(병합 모드에 AMT 만 활성화)은 150 % 인코딩 시간으로 ~ 0.5 % 이득을 제공할 수 있고 및 AMT AMVP 전용(AMVP 모드에 대해 AMT 만 활성화)은 110 % 인코딩 시간으로 ~ 0.5 % 이득을 제공할 수 있다. 이러한 구현은 AMT 병합 전용의 복잡성과 코딩 성능 간의 균형이 향후 비디오 코딩 요구 사항을 충족하지 못할 수 있음을 나타낸다.
6. 변형 행렬 선택을 위한 암시 코딩(implicit coding) 방법의 예
현재 개시된 기술의 실시예는 기존 구현의 결점을 극복함으로써, 더 높은 코딩 효율을 갖지만 더 낮은 계산 복잡성을 갖는 비디오 코딩을 제공한다. 개시된 기술에 기초한 변형 행렬 선택을 위한 암시 코딩은 기존 및 미래의 비디오 코딩 표준 모두를 향상시킬 수 있으며, 다양한 구현에 대해 설명되는 다음의 예에서 설명된다. 아래에 제공된 개시된 기술의 예는 일반적인 개념을 설명하며 제한하는 것으로 해석되지 않는다. 예를 들어, MTS는 JEM 또는 VVC의 다중 변형 선택 설계에 국한되지 않고 블록을 인코딩/디코딩 하기 위해 변형 세트를 선택할 수 있는 다른 코딩 기술을 참조할 수 있다. 예를 들어, NSST는 JEM 또는 VVC에서 분리 불가능한 2차 변형의 설계에 국한되지 않고 1차 변형을 적용한 후 블록을 인코딩/디코딩 하기 위해 2차 변형 세트를 선택할 수 있는 다른 코딩 기술을 참조할 수 있다. 예를 들어, 반대로 명시적으로 지시되지 않는 한, 이러한 예에서 설명된 다양한 특징은 결합될 수 있다.
예 1. 하나의 예에서, MTS(또는 NSST)의 사용을 나타내기 위해, 하나 이상의 플래그가 픽처 파라미터 세트/슬라이스 헤더/픽처 헤더 등에서 시그널링 될 수 있다.
(a) 일 예에서, 특정 코딩 된 모드에 대한 플래그는 MTS(또는 NSST)가 이 모드에 대해 활성화되는지 여부를 나타내기 위해 시그널링 될 수 있다.
(b) 일 예에서, MTS(또는 NSST)가 인트라 코딩 된 블록에 대해 활성화되는지 여부를 나타내기 위해 하나의 플래그가 시그널링 될 수 있다.
(c) 일 예에서, MTS(또는 NSST)가 인터 코딩 된 블록에 대해 활성화되는지 여부를 나타내기 위해 하나의 플래그가 시그널링 될 수 있다.
(d) 일 예에서, (아핀 인터 모드를 포함하거나 제외할 수 있는) AMVP 코딩 된 블록에 대해 MTS(또는 NSST)가 활성화되는지 여부를 나타내기 위해 하나의 플래그가 시그널링 될 수 있다.
(e) 일 예에서, MTS(또는 NSST)가 병합 코딩 된 블록(아핀 병합 모드를 포함하거나 제외할 수 있음)에 대해 활성화되는지 여부를 표시하기 위해 하나의 플래그가 시그널링 될 수 있다.
(f) 일 예에서, 아핀 모드 또는 ATMVP 모드와 같은 서브 블록 기반 예측에 대해 MTS(또는 NSST)가 활성화되는지 여부를 나타내기 위해 하나의 플래그가 시그널링 될 수 있다.
예 2. 한 예에서 MTS(또는 NSST)는 시그널링 되지 않고 특정 모드에 대해 항상 비활성화 될 수 있다.
(a) 일 예에서, MTS는 AMVP 코딩 된 블록(아핀 인터 모드를 포함하거나 제외할 수 있음)에 대해 비활성화 된다.
(b) 일 예에서, MTS는 아핀 모드 또는 ATMVP 모드와 같은 서브 블록 기반 예측에 대해 비활성화 된다.
예 3. 일 예에서, NSST 또는 MTS를 활성화/비활성화 되는 것은 CU/CTU/CTB/슬라이스 헤더/픽처 헤더의 그룹에서 시그널링 될 수 있다.
[00164]
예 4. 일 예에서, 변형 행렬 정보는 현재 블록의 이웃 블록으로부터 물려받을 수 있다.
(a) 일 예에서, 이웃 블록은 인접한 공간 이웃 블록, 인접하지 않은 이웃 블록 또는 시간 이웃 블록으로 정의될 수 있다.
(b) 일 예에서, 변형 행렬 정보는 1차 변형이 비 DCT-II 변형 플래그(예를 들어, AMT CU 플래그) 및/또는 1차 행렬 인덱스를 포함할 수 있다.
(c) 일 예에서, 변형 행렬 정보는 2차 변형 행렬 인덱스를 포함할 수 있다.
(d) 일 예에서, 변형 행렬 정보는 모션 정보와 함께 저장될 수 있다. 일례로, 각 픽처가 연속 픽처에 의해 참조되기 위해서는, 변형 행렬 정보가 저장될 필요가 있다.
(e) 일 예에서, 또한, 병합/AMVP 후보들 간의 가지치기(pruning)는 연관된 변형 행렬 정보가 동일한 지 여부에 더 의존할 수 있다. 두 후보의 변형 행렬 정보가 상이할 경우, 두 후보 모두 최종 후보 목록에 추가될 수 있다.
(f) 일 예에서, N 개의 병합/AMVP 후보 만이 이웃 블록으로부터 변형 행렬 정보를 물려받는 반면, 다른 병합/AMVP 후보는 기본 변형을 사용하며, 여기서 N은 양의 정수이다.
(g) 일 예에서, 블록이 스킵 모드로 코딩 된 경우에도, 변형 정보는 모션 정보가 물려받게 된 이웃으로부터 물려받게 될 수도 있다.
(h) 일 예에서, 이러한 방법은 병합 모드 및/또는 AMVP 모드 및/또는 서브 블록 기반 코딩 모드에 적용될 수 있다.
(i) 또는, 이웃 블록의 변형 행렬 정보를 현재 블록의 변형 행렬 정보에 대한 예측으로 사용할 수 있다.
예 5. 일 예에서, 기본 변형은 특정 모드/특정 유형의 AMVP/병합/아핀 모션 후보 또는 CU/PU/TU 내에서 0이 아닌 계수의 특정 수에 할당될 수 있다.
(a) 결합된 이중 병합 후보(combined-bi merge candidate)의 경우, 기본 변형이 시그널링 없이 사용될 수 있다.
(b) 제로 병합 후보의 경우, 시그널링 없이 기본 변형이 사용될 수 있다.
(c) 시간 블록(예를 들어, TMVP, ATMVP, STMVP)으로부터의 모션 정보를 포함하는 병합 후보의 경우, 기본 변형이 시그널링 되지 않고 사용될 수 있다.
(d) 서브 블록 병합 후보(sub-block merge candidate)(예를 들어, ATMVP, STMVP, 평면 모션 모드)의 경우, 기본 변형이 시그널링 되지 않고 사용될 수 있다.
(e) 블록이 모두 0 계수로 코딩 될 때(즉, 0이 아닌 계수의 수가 0과 동일), 기본 변형 인덱스가 블록에 할당된다.
(f) 대안적으로, 블록이 모두 0 계수로 코딩 되고(즉, 0이 아닌 계수의 수가 0이 됨) 블록이 AMVP 모드로 코딩 될 때, 블록에 대해 기본 변형 인덱스가 할당된다.
(g) 아핀 모드 또는 ATMVP 모드와 같은 서브 블록 기반 예측의 경우, 기본 변형이 시그널링 되지 않고 사용될 수 있다.
예 6. 한 예에서, 블록 내에서 0이 아닌 계수의 수를 카운트하는 대신, 0이 아닌 마지막 계수의 위치(예를 들어, 순방향 스캔 순서(forward scanning order))는 AMT CU 플래그를 스킵 하는지 또는 하지 않는지 여부를 결정하기 위해 확인된다. 블록의 왼쪽 상단 위치에 상대적인 좌표(LastX, LastY)로 위치를 나타낸다. 왼쪽 상단 위치의 좌표는(0, 0)으로 정의된다.
(a) LastX <= Th0 및 LastY <= Th1 인 경우, AMT CU 플래그는 시그널링 되지 않는다.
(b) LastX <= Th0 또는 LastY <= Th1 인 경우, AMT CU 플래그는 시그널링 되지 않는다.
(c) 변수 Th0 및/또는 Th1은 SPS, PPS, 슬라이스 헤더, 픽처 헤더, CU 그룹, CTU, CTB 등에서 미리 정의되거나 시그널링 될 수 있다.
(d) 변수 Th0 및/또는 Th1은 블록 모양 또는 크기에 더 의존할 수 있다.
(e) Th0 및 Th1은 양자화 파라미터(QP)에 의존할 수 있다.
(f) Th0 및 Th1은 코딩 모드에 따라 달라질 수 있다.
(g) Th0 = Th1
(h) W = H 인 경우 Th0 = Th1; W > H 인 경우 TH0> Th1, W < H 인 경우 TH <TH1, 여기서 W와 H는 각각 현재 블록의 너비와 높이이다.
(i) Th0 및 Th1은 모두 1 또는 0으로 설정된다.
(j) 유사하게, 방법은 NSST 인덱스 시그널링에도 적용될 수 있으며, 일부 경우에는 NSST 인덱스 시그널링이 스킵 된다.
예 7. 일 예에서, 변형 행렬 정보(예를 들어, AMT CU 플래그 및/또는 AMT 인덱스)의 시그널링은 다음에 의해 수정될 수 있다.
(a) 모션 정보를 물려받게 된 이웃 블록으로부터 변형 인덱스가 물려받게 되는지 여부를 나타내는 하나의 플래그가 먼저 시그널링 된다. 물려받게 되지 않으면, AMT CU 플래그 및/또는 AMT 인덱스가 추가로 시그널링 될 수 있다.
(b) AMT CU 플래그는 병합 모드에 대해 먼저 시그널링 될 수 있다. CU 플래그가 0으로 설정되면 기본 변형이 사용된다. 그렇지 않으면(CU 플래그가 1 인 경우) AMT 인덱스가 물려받을 수 있다.
예 8. 일 예에서, 변형 정보는 모션 벡터 및/또는 모션 벡터 차이, 및/또는 참조 픽처 및 현재 픽처의 픽처-순서-카운트(picture-order-count)(POC) 거리에 의존할 수 있다.
(a) 일 예에서, 변형 정보는 abs(MVx) + abs(MVy), 또는(MVx) *(MVx) +(MVy) *(MVy)에 의존할 수 있다.
(b) 일 예에서, 변형 정보는 abs(MVDx) + abs(MVDy) 또는(MVDx) *(MVDx) +(MVDy) *(MVDy)에 의존할 수 있다.
위에서 설명된 예는 비디오 디코더에서 구현될 수 있는 방법(2500, 2600, 2700, 2800 및 2900)과 같은 아래 설명된 방법의 컨텍스트에서 통합될 수 있다.
도 25는 비디오 코딩을 위한 예시적인 방법의 흐름도를 도시한다. 방법(2500)은, 단계 2510에서, 비디오 데이터의 현재 블록의 비트 스트림 표현을 수신하는 단계를 포함한다.
방법(2500)은, 단계 2520에서, 비트 스트림 표현에 기초하여 시그널링 정보를 유도하는 단계를 포함한다.
방법(2500)은, 단계 2530에서, 시그널링 정보에 기초하여 적어도 하나의 변형 행렬을 활성화하는 단계를 포함한다. 일부 실시예에서, 적어도 하나의 변형 행렬을 활성화하는 단계는 현재 블록의 코딩 된 모드를 나타내는 플래그를 기반으로 한다. 다른 구체 예에서, 하나 이상의 변형 행렬을 활성화하는 단계는 인트라 코딩 되는 현재 블록을 기반으로 한다. 또 다른 실시예에서, 적어도 하나의 변형 행렬을 활성화하는 단계는 인터 코딩 되는 현재 블록을 기반으로 한다. 또 다른 실시예에서, 적어도 하나의 변형 행렬을 활성화하는 단계는 현재 블록이 진보된 모션 벡터 예측(advanced motion vector prediction)(AMVP) 코딩 블록임을 기반으로 한다.
방법(2500)은, 단계 2540에서, 활성화된 경우 적어도 하나의 변형 행렬을 사용하여 현재 블록을 생성하기 위해 비트 스트림 표현을 처리하는 단계를 포함한다.
일부 실시예에서, 현재 블록을 생성하는 단계는 현재 블록의 압축 해제 또는 비 압축 버전을 생성하는 단계를 포함한다. 다른 실시예에서, 현재 블록을 생성하는 단계는 블록을 재구성하는 단계를 포함한다.
일부 실시예에서, 적어도 하나의 변형 행렬을 활성화하는 단계는 현재 블록의 코딩 된 모드를 나타내는 플래그를 기반으로 한다.
일부 실시예에서, 적어도 하나의 변형 행렬을 활성화하는 단계는 인트라 코딩 되는 현재 블록을 기반으로 한다.
일부 실시예에서, 적어도 하나의 변형 행렬을 활성화하는 단계는 인터 코딩 되는 현재 블록을 기반으로 한다.
일부 실시예에서, 적어도 하나의 변형 행렬을 활성화하는 단계는 현재 블록이 진보된 모션 벡터 예측(advanced motion vector prediction)(AMVP) 코딩 된 블록 인 것을 기반으로 한다.
도 26은 비디오 코딩을 위한 다른 예시적인 방법의 흐름도를 도시한다. 이 예는 도 25에 도시되고 위에서 설명된 것과 유사한 일부 기능 및/또는 단계를 포함한다. 이러한 기능 및/또는 구성 요소 중 적어도 일부는 이 섹션에서 별도로 설명하지 않을 수 있다. 방법(2600)은 단계 2610에서 비디오 데이터의 현재 블록의 비트 스트림 표현을 수신하는 단계를 포함한다.
방법(2600)은 단계 2620에서, 이웃 블록의 변형 행렬 정보에 기초하여 현재 블록의 변형 행렬 정보를 선택하는 단계를 포함한다. 일부 실시예에서, 이웃 블록은 인접 공간 이웃 블록, 인접하지 않은 이웃 블록 또는 시간 이웃 블록이다.
방법(2600)은, 단계 2630에서, 현재 블록을 생성하기 위해 현재 블록의 변형 행렬 정보를 사용하여 비트 스트림 표현을 처리하는 단계를 포함한다.
일부 실시예에서, 변형 행렬 정보는 비 이산 코사인 변형(non-discrete Cosine transform)(DCT) -II 플래그 또는 1차 행렬 인덱스(primary matrix index)를 포함한다. 다른 구체 예에서, 변형 행렬 정보는 2차 변형 행렬 인덱스를 포함한다.
일부 실시예에서, 이웃 블록의 변형 행렬 정보는 현재 블록의 변형 행렬 정보에 대한 예측기(predictor)로 사용될 수 있다.
일부 실시예에서, 병합 후보목록에서 2 개의 병합 후보를 가지치기 하는 단계는 2 개의 병합 후보의 변형 행렬 정보에 기초할 수 있다.
도 27은 비디오 코딩을 위한 또 다른 예시적인 방법의 흐름도를 도시한다. 이 예는 도 25 및 26에 도시되고 위에서 설명된 것과 유사한 일부 기능 및/또는 단계를 포함한다. 이러한 기능 및/또는 구성 요소 중 적어도 일부는 이 섹션에서 별도로 설명하지 않을 수 있다. 방법(2700)은 단계 2710에서 비디오 데이터의 현재 블록의 비트 스트림 표현을 수신하는 단계를 포함한다. 일부 실시예에서, 현재 블록은 모두 0 계수로 코딩 된다.
방법(2700)은 단계 2720에서 비트 스트림 표현에 기초하여 시그널링 정보를 유도하는 단계를 포함한다.
방법(2700)은 단계 2730에서 기본 변형 행렬을 선택하는 단계를 포함하며, 여기서 선택의 표시는 시그널링 정보에 부재한다.
방법(2700)은 단계 2740에서, 현재 블록을 생성하기 위해 기본 변형 행렬을 사용하여 비트 스트림 표현을 처리하는 단계를 포함한다. 일부 실시예에서, 처리는 결합된 이중 병합 후보 또는 제로 후보에 기초한다.
도 28은 비디오 코딩을 위한 또 다른 예시적인 방법의 흐름도를 도시한다. 이 예는 도 25 27에 도시되고 위에서 설명된 것과 유사한 일부 기능 및/또는 단계를 포함한다. 이러한 기능 및/또는 구성 요소 중 적어도 일부는 이 섹션에서 별도로 설명하지 않을 수 있다.
방법(2800)은, 단계 2810에서, 비디오 데이터의 현재 블록의 비트 스트림 표현을 수신하는 단계를 포함한다.
방법(2800)은, 단계 2820에서, 비트 스트림 표현에 기초하여 시그널링 정보를 유도하는 단계를 포함한다.
방법(2800)은, 단계 2830에서, 계수 블록의 0이 아닌 마지막 계수의 위치에 기초하여, 시그널링 정보가 변형 행렬 정보에 대응하는 인덱스를 포함하는지 여부를 결정하는 단계를 포함하고, 여기서 계수 블록은 현재 블록과 연관되어 있다.
일부 실시예에서, 계수 블록에서 0이 아닌 마지막 계수의 위치는(Xlast, Ylast)이고, 여기서 Xlast ≤ τ1(제1 임계 값) 및 Ylast ≤ τ2(제2 임계 값)이고, 여기서 시그널링 정보가 인덱스를 포함하지 않는다. 예를 들어, 제1 임계 값 또는 제2 임계 값은 시퀀스 파라미터 세트(Sequence Parameter Set)(SPS), 픽처 파라미터 세트(Picture Parameter Set)(PPS), 슬라이스 헤더(slice header), 픽처 헤더(picture header), 코딩 트리 유닛(coding tree unit)(CTU), 코딩 유닛(coding unit)(CU) 또는 코딩 트리 블록(coding tree block)(CTB)에서 시그널링 된다. 또 다른 예에서, 제1 임계 값 또는 제2 임계 값은 현재 블록의 차원을 기반으로 한다. 또 다른 예에서, 제1 임계치 또는 제2 임계치는 현재 블록의 코딩 모드에 기초한다. 또 다른 예에서, 제1 임계치 또는 제2 임계치는 양자화 파라미터(QP)에 기초한다.
방법(2800)은, 단계 2840에서, 현재 블록을 생성하기 위해 변형 행렬 정보를 사용하여 비트 스트림 표현을 처리하는 단계를 포함한다. 일부 실시예에서, 처리는 시그널링 정보가 인덱스를 구성하지 않을 때 기본 변형 행렬을 사용한다.
도 29는 비디오 코딩을 위한 또 다른 예시적인 방법의 흐름도를 도시한다. 이 예는 도 25 28에 도시되고 위에서 설명된 것과 유사한 일부 특징 및/또는 단계를 포함한다. 이러한 기능 및/또는 구성 요소 중 적어도 일부는 이 섹션에서 별도로 설명하지 않을 수 있다. 방법(2900)은, 단계 2910에서, 비디오 데이터의 현재 블록의 비트 스트림 표현을 수신하는 단계를 포함한다.
방법(2900)은, 단계 2920에서, 비디오 데이터의 현재 블록에 대응하는 모션 정보 또는 픽처-순서-카운트(picture-order-count)(POC) 거리에 기초하여 변형 행렬을 선택하는 단계를 포함한다.
방법(2900)은, 단계 2930에서, 현재 블록을 생성하기 위해 변형 행렬을 사용하여 비트 스트림 표현을 처리하는 단계를 포함한다.
일부 실시예에서, POC 거리는 현재 블록과 연관된 참조 칙처에 해당한다. 다른 구체 예에서, 모션 정보는 모션 벡터 또는 모션 벡터 차이를 포함한다.
다음의 기술 솔루션 목록은 일부 실시예에서 바람직한 구현일 수 있다.
1. 비디오 처리 방법에서(예를 들어, 도 12a에 도시된 방법(1200)): 코딩 된 표현을 비디오 블록으로의 변환을 위한 제1 변형의 적용 가능성에 대한 제1 결정을 위해 비디오의 코딩 된 표현에서 제1 필드를 파싱 하는 단계(1202)를 포함한다. 변환을 위해, 제1 변형은 비디오 블록의 역 양자화된 잔여 계수 값의 결과에 적용된다. 방법(1200)은 제1 결정에 기초하여 제1 변형을 선택적으로 사용함으로써 변환을 수행하는 단계(1204)를 더 포함한다.
2. 솔루션 1의 방법에서, 변환을 위한 제2 변형의 적용 가능성에 대한 제2 결정을 위해 비디오의 코딩 된 표현에서 제2 필드를 파싱 하는 단계를 더 포함하고, 변환을 위해 제2 변형은 제1 변형과 함께 연속적으로 적용되고, 및 변환을 수행하는 단계는 제2 결정에 기초하여 제2 변형을 선택적으로 사용하는 단계를 더 포함한다.
3. 솔루션 2의 방법에서, 제1 변형은 역 양자화 된 잔여 계수 값을 제1 변형된 표현으로 변형하는 데 사용되고, 제2 변형은 제1 변형된 표현의 적어도 일부를 제2 변형된 표현으로 변형하는 데 사용된다.
4. 솔루션 3의 방법에서, 제1 변형은 적응형 다중 코어 변형(AMT)이다.
5. 솔루션 3 또는 4의 방법에서, 제2 변형은 2차 변형이다.
6. 솔루션 1 내지 3 중 어느 하나의 방법에서, 제1 필드는 코딩 된 표현의 픽처 파라미터 세트 레벨의 플래그에 대응한다.
7. 솔루션 1 내지 3 중 어느 하나의 방법에서, 제1 필드는 코딩 된 표현의 슬라이스 헤더 레벨의 플래그에 대응한다.
8. 솔루션 1 내지 3 중 어느 하나의 방법에서, 제1 필드는 코딩 된 표현의 픽처 레벨의 플래그에 대응한다.
9. 솔루션 1 내지 3 및 6 내지 8 중 어느 하나의 방법에서, 제1 결정 또는 제2 결정은 또한 코딩 된 표현에서 비디오 블록을 표현하기 위해 사용되는 코딩 모드에 기초한다.
10. 솔루션 1 내지 3 중 어느 하나의 방법에서, 제1 필드는 비디오 영역 레벨에서 코딩 된 표현에 포함되고, 비디오 영역은 적어도 비디오 블록을 포함하고 및 제1 필드는 변환을 위해 제1 변형이 비디오 블록의 코딩 모드가 특정 코딩 모드라는 것을 성공적으로 결정하는 단계에 적용될 것임을 나타낸다.
11. 솔루션 10의 방법에서, 특정 코딩 모드는 인트라 코딩 모드이다.
12. 솔루션 10의 방법에서, 특정 코딩 모드는 인터 코딩 모드이다.
[00241]
13. 솔루션 10의 방법에서, 특정 코딩 모드는 진보된 모션 벡터 예측 코딩 모드이다.
14. 솔루션 10의 방법에서, 특정 코딩 모드는 아핀 코딩을 포함하는 병합 코딩 모드이다.
15. 솔루션 10의 방법에서, 특정 코딩 모드는 아핀 코딩을 배제하는 병합 코딩 모드이다.
16. 솔루션 10의 방법에서, 특정 코딩 모드는 서브 블록 기반 코딩 모드이다.
17. 솔루션 1 내지 16 중 어느 하나의 방법에서, 필드는 코딩 유닛 그룹 레벨 또는 코딩 트리 유닛 레벨 또는 코딩 트리 블록 레벨 또는 슬라이스 헤더 레벨 또는 픽처 헤더 레벨에 있다.
18. 솔루션 6 내지 17 중 어느 하나의 방법에서, 제1 변형은 적응형 다중 코어 변형(AMT)이다.
19. 솔루션 6 내지 17 중 어느 하나의 방법에서, 제2 변형은 2차 변형이다.
20. 비디오 처리 방법(예를 들어, 도 13a에 도시된 방법 1300)에서, 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 사이의 변환을 위해, 현재 비디오 블록에 사용되는 코딩 모드가 특정 유형이라는 결정을 수행하는 단계(1302); 코딩 모드가 특정 유형의 결과이므로, 현재 비디오 블록을 처리하기 위한 제1 변형 또는 제2 변형의 적용 가능성을 나타내는 필드가 코딩 된 표현에 없다는 결정을 수행하는 단계(1304); 필드가 없을 때 코딩 된 표현을 파싱 하는 단계(1306); 및 결정으로 인해 현재 비디오 블록의 역 양자화된 잔여 계수를 변형하기 위해 제1 변형 또는 제2 변형의 사용을 비활성화함으로써 현재 비디오 블록을 생성하는 단계(1308)를 포함한다.
21. 솔루션 20의 방법에서, 특정 유형은 진보된 모션 벡터 예측 코딩 모드를 포함한다.
22. 솔루션 20의 방법에서, 특정 유형은 서브 블록 기반 예측 모드를 포함한다.
23. 솔루션 22의 방법에서, 서브 블록 기반 예측 모드는 대안적인 시간 모션 벡터 예측 모드를 포함한다.
24. 솔루션 20 내지 23 중 어느 하나에서, 제1 변형은 적응형 다중 코어 변형(AMT)을 포함한다.
25. 솔루션 20 내지 23 중 어느 하나에서, 제1 변형은 2차 변형을 포함하는 방법.
이전 섹션에서는 위 솔루션의 추가 기능(예를 들어, 항목 1 및 3)을 제공한다.
26. 비디오 처리 방법(예를 들어, 도 14a에 도시된 방법(1400))은: 비디오 블록의 코딩 된 표현과 이웃 비디오 블록으로부터의 비디오 블록 사이의 변환을 위한 제1 변형에 대한 변형 정보를 물려받는 단계(1402), 변환을 위해, 제1 변형은 비디오 블록의 역 양자화된 잔여 계수 값의 결과에 적용되고; 및 제1 물려받음에 기초하여 제1 변형을 선택적으로 사용함으로써 변환을 수행하는 단계(1404)를 포함한다.
27. 솔루션 26의 방법에서, 이웃 블록은 공간적으로 인접한 블록 인 방법.
28. 솔루션 26의 방법에서, 이웃 블록은 비디오 블록을 포함하는 비디오 픽처에서 공간적으로 인접하지 않은 블록이다.
29. 솔루션 26의 방법에서, 이웃 블록은 일시적으로 이웃 블록이다.
30. 솔루션 26-29 중 어느 하나의 방법에서, 제1 변형에 관한 변형 정보는 제1 변형이 이산 코사인 변형인지 여부에 대한 제1 표시 또는 제1 변형의 1차 행렬 인덱스의 제2 표시를 포함한다.
31. 솔루션 26 내지 30 중 어느 하나의 방법에서, 역 양자화된 잔여 계수 값의 결과는 역 양자화 된 잔여 계수 값에 다른 변형을 적용함으로써 계산된다.
32. 솔루션 31의 방법에서, 제1 변형에 대한 변형 정보는 다른 변형을 식별하는 인덱스를 더 포함한다.
[00262]
33. 솔루션 26 내지 30 중 어느 하나의 방법에서, 제1 변형은 역 양자화된 잔여 계수 값의 변형된 표현의 적어도 일부를 변형하는 데 사용된다.
34. 솔루션 26 내지 33 중 어느 하나의 방법에서, 물려받는 단계는 이웃 비디오 블록에 대한 모션 정보와 함께 저장된 변형 정보를 물려받는 단계를 포함한다.
35. 솔루션 31의 방법에서, 제1 변형에 대한 변형 정보는 비디오 픽처 레벨에서 저장된다.
36. 솔루션 15의 방법에서, 제1 변형에 대한 변형 정보는 픽처가 참조 픽처이기 때문에 픽처 레벨에서 저장된다.
[00266]
37. 솔루션 26 내지 36 중 어느 하나의 방법에서, 변환은 가지치기 되는 후보들과 연관된 제1 변형에 대한 변형 정보에 의존하는 가지치기 연산(pruning operation)을 사용하여 후보 목록을 생성하는 단계를 포함한다.
38. 솔루션 26 내지 37 중 어느 하나의 방법에서, 물려받는 단계는 이웃 비디오 블록으로부터 제1 N 개의 후보들 중 하나를 물려받는 비디오 블록으로 인해 수행된다.
39. 솔루션 38의 방법에서, 제1 N 개의 후보 중 하나가 병합 후보를 포함한다.
40. 솔루션 39의 방법에서, 제1 N 개의 후보 중 하나가 진보된 모션 벡터 예측 후보를 포함한다.
[00270]
41. 솔루션 26 내지 37 중 어느 하나의 방법에서, 제1 비디오 블록이 스킵 된 블록으로서 코딩 되는 것을 결정하는 단계를 더 포함하고 및 제1 변형에 대한 변형 정보를 물려받는 단계는 모션 정보를 물려받은 이웃 비디오 블록으로부터 제1 변형에 대한 변형 정보를 물려받는 단계를 포함한다.
42. 솔루션 26 내지 41 중 어느 하나의 방법에서, 제1 비디오 블록은 병합 모드를 사용하여 디코딩 된다.
43. 솔루션 26 내지 33 중 어느 하나의 방법에서, 제1 비디오 블록은 진보된 모션 벡터 예측 모드를 사용하여 디코딩 된다.
44. 솔루션 26 내지 43 중 어느 하나의 방법에서, 물려받는 단계는 이웃 비디오 블록에 대한 변형 정보에 기초하여 현재 비디오 블록에 대한 제1 변형에 대한 변형 정보를 예측적으로 결정하는 단계를 포함한다.
이전 섹션은 위 솔루션의 추가 기능을 제공한다(예를 들어, 항목 4).
45. 비디오 처리 방법(예를 들어, 도 15a에 도시된 방법(1500))에서, 현재 비디오 블록의 코딩 조건에 기초하여, 코딩 된 표현의 현재 비디오 블록으로의 변환에 사용되는 제1 변형이 기본 변형임을 결정하는 단계(1502), 변환을 위해, 제1 변형은 현재 비디오 블록의 역 양자화된 잔여 계수 값의 결과에 적용되고; 및 제1 결정에 기초하여 제1 변형을 선택적으로 사용함으로써 변환을 수행하는 단계(1504)를 포함한다.
46. 솔루션 45의 방법에서, 현재 비디오 블록의 코딩 조건은 제1 비디오 블록의 코딩 모드를 포함한다.
47. 솔루션 45의 방법에서, 코딩 조건이 현재 비디오 블록과 연관된 코딩 유닛 또는 예측 유닛 또는 변형 유닛에 코딩 된 0이 아닌 계수의 카운트를 포함한다.
48. 솔루션 45 내지 46 중 어느 하나의 방법에서, 코딩 조건은 현재 비디오 블록에 대한 결합된 병합 후보의 사용을 포함하고, 및 기본 변형은 코딩 된 표현에서 어떠한 시그널링 없이 사용된다.
49. 솔루션 45 내지 46 중 어느 하나의 방법에서, 코딩 조건은 현재 비디오 블록에 대한 제로 병합 후보의 사용을 포함하고, 및 기본 변형은 코딩 된 표현에서 어떠한 시그널링 없이 사용된다.
50. 솔루션 45 내지 46 중 어느 하나의 방법에서, 코딩 조건은 현재 비디오 블록의 일시적으로 이웃하는 블록의 모션 정보를 사용하는 단계를 포함하고, 및 기본 변형은 코딩 된 표현에서 어떠한 시그널링 없이 사용된다.
51. 솔루션 50의 방법에서, 일시적으로 이웃하는 블록이 시간 모션 벡터 예측에 사용된다.
52. 솔루션 50의 방법에서, 일시적으로 이웃하는 블록이 대안적인 시간 모션 벡터 예측을 위해 사용된다.
53. 솔루션 50의 방법에서, 일시적으로 이웃하는 블록이 공간 시간 모션 벡터 예측에 사용된다.
54. 솔루션 45 내지 46 중 어느 하나의 방법에서, 코딩 조건은 현재 비디오 블록의 변환을 위해 서브 블록 병합 후보를 사용하는 단계를 포함한다.
55. 솔루션 54의 방법에서, 서브 블록 병합 후보는 진보된 시간 모션 벡터 예측기(advanced temporal motion vector predictor)를 포함한다.
56. 솔루션 54의 방법에서, 서브 블록 병합 후보가 공간 시간 모션 벡터 예측기를 포함한다.
57. 솔루션 54의 방법에서, 서브 블록 병합 후보가 평면 모션 모드 예측기(planar motion mode predictor)를 포함한다.
58. 솔루션 54의 방법에서, 코딩 조건이 모든 0 계수로 코딩 된 현재 비디오 블록에 대응하고, 결정하는 단계는 기본 변형 인덱스가 변환에 사용된다는 것을 결정하는 단계를 포함한다.
59. 솔루션 45 내지 46 중 어느 하나의 방법에서, 코딩 조건은 현재 비디오 블록에 대한 서브 블록 기반 예측을 사용하는 단계를 포함하고 및 변형 정보는 코딩 된 표현에서 시그널링 되지 않고 결정된다.
60. 솔루션 59의 방법에서, 서브 블록 기반 예측은 아핀 예측을 포함하고, 및 변형 정보는 코딩 된 표현에서 시그널링 없이 결정된다.
61. 솔루션 59의 방법에서, 서브 블록 기반 예측은 진보된 시간 모션 벡터 예측을 포함하고, 및 변형 정보는 코딩 된 표현에서 시그널링 없이 결정된다.
62. 솔루션 45의 방법에서, 코딩 조건은 현재 비디오 블록에 대한 모션 벡터 값의 함수가 포함한다.
63. 솔루션 62의 방법에서, 모션 벡터 값의 함수는 abs(MVx) + abs(MVy) 또는(MVx) *(MVx) +(MVy) *(MVy)를 포함하고, MVx와 MVy는 모션 벡터 값이고 abs()는 절대 값 함수를 나타낸다.
64. 솔루션 45의 방법에서, 코딩 조건은 현재 비디오 블록에 대한 모션 벡터 차이 값의 함수를 포함한다.
65. 솔루션 64의 방법에서, 모션 벡터 차이 값의 함수는 abs(MVDx) + abs(MVDy) 또는(MVDx) *(MVDx) +(MVDy) *(MVDy)를 포함하고, 여기서 MVDx 및 MVDy는 모션 벡터 차이 값이고 및 abs()는 절대 값 함수를 나타낸다.
이전 섹션은 위 솔루션의 추가 기능을 제공한다(예를 들어, 항목 5 및 8).
66. 비디오 처리 방법(예를 들어, 도 16a에 도시된 방법(1600))에서, 비디오의 다중 비디오 블록의 코딩 된 표현을 포함하는 비트 스트림을 파싱 하는 단계(1602), 비트 스트림은 현재 비디오 블록에 대해, 이웃 블록의 변형 정보가 현재 비디오 블록 및 디코딩(1604)에 대한 변형 정보로 물려받는지 여부에 대한 제1 표시자를 포함하고, 및 제1 표시자를 파싱 하여 얻은 변형 정보에 기초하여, 현재 비디오 블록을 생성하기 위해 코딩 된 표현을 디코딩 하는 단계(1604)를 포함하고, 변환을 위해, 변형 정보에 의해 식별된 변형은 현재 비디오 블록의 역 양자화된 잔여 계수 값의 결과에 적용된다.
67. 솔루션 66의 방법에서,
제1 표시자가 변형 정보가 이웃 블록으로부터 물려받지 않음을 나타내는 것으로 인해, 변환을 위해 사용된 변형 정보를 식별하는 제2 표시자를 파싱 하는 단계를 포함한다.
68. 솔루션 66의 방법에서, 변형은 적응형 다중 코어 변형(AMT)을 포함한다.
69. 솔루션 66 또는 67의 방법에서, 제2 표시자는 비트 스트림의 코딩 유닛 레벨에서 플래그를 포함한다.
70. 솔루션 66 또는 67의 방법에서, 제2 표시자는 변형에 대한 인덱스를 포함한다.
71. 비디오 처리 방법(예를 들어, 도 17a에 도시된 방법(1700))에서, 비디오의 다중 비디오 블록의 코딩 된 표현을 포함하는 비트 스트림을 파싱 하는 단계(1702), 여기서 비트 스트림은, 병합 모드를 사용하여 코딩 된 현재 비디오 블록에 대해, 변형으로서 기본 변형을 사용하기 위한 제1 표시 및 코딩 된 표현에 포함된 이웃 블록으로부터 변형 정보를 물려받기 위한 제2 표시를 나타내는 1 비트 필드를 포함하고, 및 1 비트 필드에 기초하여 변형을 식별하는 단계(1704); 및 코딩 된 표현과 현재 비디오 블록 사이의 변환을 수행하는 단계(1706)를 포함하고, 변환을 위해, 변형은 현재 비디오 블록의 역 양자화된 잔여 계수 값의 결과에 적용된다.
72. 솔루션 71의 방법에서, 제1 표시는 1 비트 필드로서 "0" 비트를 포함하고 제2 표시는 1 비트 필드로서 "1" 비트를 포함한다.
73. 솔루션 71의 방법에서, 제1 표시는 1 비트 필드로서 "1" 비트를 포함하고 제2 표시는 1 비트 필드로서 "0" 비트를 포함한다.
74. 솔루션 71 내지 73 중 어느 하나의 방법에서, 변형은 적응형 다중 코어 변형(AMT)을 포함한다.
75. 솔루션 66 내지 74 중 어느 하나의 방법에서, 이웃 블록은 현재 비디오 블록에 인접한다.
76. 솔루션 66 내지 74 중 어느 하나의 방법에서, 이웃 블록이 현재 비디오 블록에 인접하지 않는다.
이전 섹션은 위 솔루션의 추가 기능을 제공한다(예를 들어, 항목 7).
77. 비디오 처리 방법(예를 들어, 도 12b에 도시된 방법(1250))에서, 코딩 된 표현의 비디오 블록으로의 변환을 위한 제1 변형의 적용 가능성의 제1 결정을 위한 비디오의 코딩 된 표현의 제1 필드를 포함하는 단계(1252), 변환을 위해, 제1 변형은 비디오 블록의 역 양자화된 잔여 계수 값의 결과에 적용되고; 및 비디오 블록을 인코딩 함으로써 코딩 된 표현을 생성하는 단계(1254)를 포함한다.
78. 솔루션 77의 방법에서, 변환을 위한 제2 변형의 적용 가능성에 대한 제2 결정을 위해 비디오의 코딩 된 표현에서 제2 필드를 포함하는 단계, 여기서 변환을 위해 제2 변형은 제1 변형과 함께 연속적으로 적용되고, 및 변환을 수행하는 단계는 제2 결정에 기초하여 제2 변형을 선택적으로 사용하는 단계를 더 포함한다.
79. 솔루션 78의 방법에서, 제1 변형은 역 양자화된 잔여 계수 값을 제1 변형된 표현으로 변형하는 데 사용되고 제2 변형은 제1 변형된 표현의 적어도 일부를 제2 변형된 표현으로 변형하는 데 사용된다.
80. 솔루션 79의 방법에서, 제1 변형은 적응형 다중 코어 변형(AMT)이다.
81. 솔루션 79 또는 80의 방법에서, 제2 변형은 2차 변형이다.
82. 솔루션 77 내지 79 중 어느 하나의 방법에서, 제1 필드는 코딩 된 표현에서 픽처 파라미터 세트 레벨의 플래그에 대응한다.
83. 솔루션 77 내지 79 중 어느 하나의 방법에서, 제1 필드는 코딩 된 표현에서 슬라이스 헤더 수준의 플래그에 해당한다.
84. 솔루션 77 내지 79 중 어느 하나의 방법에서, 제1 필드는 코딩 된 표현에서 픽처 레벨의 플래그에 대응한다.
85. 솔루션 77 내지 79 및 82 내지 84 중 어느 하나의 방법에서, 제1 결정 또는 제2 결정은 또한 코딩 된 표현에서 비디오 블록을 표현하기 위해 사용되는 코딩 모드에 기초한다.
86. 솔루션 솔루션 77 내지 79 중 어느 하나의 방법에서, 제1 필드는 비디오 영역 수준에서 코딩 된 표현에 포함되고, 여기서 비디오 영역은 적어도 비디오 블록을 포함하고, 및 제1 필드는 비디오 블록의 코딩 모드가 특정 코딩 모드라는 것을 성공적으로 결정한 경우 변환을 위해 제1 변형이 적용될 것임을 나타낸다.
87. 솔루션 86의 방법에서, 특정 코딩 모드는 인트라 코딩 모드이다.
88. 솔루션 86의 방법에서, 특정 코딩 모드는 인터 코딩 모드이다.
89. 솔루션 86의 방법에서, 특정 코딩 모드는 진보딘 모션 벡터 예측 코딩 모드이다.
90. 솔루션 86의 방법에서, 특정 코딩 모드는 아핀 코딩을 포함하는 병합 코딩 모드이다.
91. 솔루션 86의 방법에서, 특정 코딩 모드는 아핀 코딩을 제외한 병합 코딩 모드이다.
92. 솔루션 86의 방법에서, 특정 코딩 모드는 서브 블록 기반 코딩 모드이다.
93. 솔루션 77 내지 92 중 어느 하나의 방법에서, 필드는 코딩 유닛 그룹 레벨 또는 코딩 트리 유닛 레벨 또는 코딩 트리 블록 레벨 또는 슬라이스 헤더 레벨 또는 픽처 헤더 레벨에 있다.
94. 솔루션 82 내지 93 중 어느 하나의 방법에서, 제1 변형은 적응형 다중 코어 변형(AMT)이다.
95. 솔루션 82 내지 93 중 어느 하나의 방법에서, 제2 변형은 2차 변형이다.
이전 섹션은 위 솔루션의 추가 기능(예를 들어, 항목 1 및 3)을 제공한다.
96. 비디오 처리 방법(예를 들어, 도 13b에 도시된 방법(1350))은: 비디오의 현재 비디오 블록과 비디오의 코딩 된 표현 간의 변환에 대해, 현재 비디오 블록에 사용되는 코딩 모드가 특정 유형이라는 결정을 수행하는 단계(1352); 코딩 모드가 특정 유형의 결과이므로, 현재 비디오 블록을 처리하기 위한 제1 변형 또는 제2 변형의 적용 가능성을 나타내는 필드가 코딩 된 표현에 포함되지 않는다는 결정을 수행하는 단계(1354); 및 필드를 포함하지 않고 코딩 된 표현을 생성하는 단계(1356)를 포함하고, 여기서 현재 비디오 블록은 결정으로 인해 현재 비디오 블록의 역 양자화 된 잔여 계수를 변형하기 위해 제1 변형 및/또는 제2 변형의 사용을 비활성화함으로써 디코딩 가능하다.
97. 솔루션 96의 방법에서, 특정 유형에는 진보된 모션 벡터 예측 코딩 모드가 포함된다.
98. 솔루션 96의 방법에서, 특정 유형은 서브 블록 기반 예측 모드를 포함한다.
99. 솔루션 98의 방법에서, 서브 블록 기반 예측 모드는 대안적인 시간 모션 벡터 예측 모드를 포함한다.
100. 솔루션 96 내지 99 중 어느 하나의 방법에서, 제1 변형에는 적응형 다중 코어 변형(AMT)이 포함된다.
101. 솔루션 96 내지 99 중 어느 하나의 방법에서, 제1 변형에는 2차 변형이 포함된다.
이전 섹션은 위 솔루션의 추가 기능을 제공한다(예를 들어, 항목 2).
비디오 처리 방법(예를 들어, 도 14b에 도시된 방법(1450))에서,
비디오 블록의 코딩 된 표현과 비디오 블록 사이의 변환을 위한 제1 변형에 대한 변형 정보가 이웃 비디오 블록으로부터 물려받게 될 것이라고 결정하는 단계(1452), 여기서, 변환을 위해, 제1 변형은 비디오 블록의 역 양자화된 잔여 계수 값의 결과에 적용되고; 및 결정에 기초하여 코딩 된 표현을 생성하는 단계(1454)를 포함한다.
103. 솔루션 102의 방법에서, 이웃 블록은 공간적으로 인접한 블록이다.
104. 솔루션 102의 방법에서, 이웃 블록은 비디오 블록을 포함하는 비디오 픽처에서 공간적으로 인접하지 않은 블록이다.
105. 솔루션 102의 방법에서, 이웃 블록은 일시적으로 인접하는 블록이다.
106. 솔루션 102 내지 105 중 어느 하나의 방법에서, 제1 변형에 관한 변형 정보는 제1 변형이 이산 코사인 변형인지 여부에 대한 제1 표시 또는 제1 변형의 1차 행렬 인덱스의 제2 표시를 포함한다.
107. 솔루션 102 내지 106 중 어느 하나의 방법에서, 역 양자화된 잔여 계수 값의 결과는 역 양자화된 잔여 계수 값에 다른 변형을 적용하여 계산된다.
108. 솔루션 107의 방법에서, 제1 변형에 관한 변형 정보는 다른 변형을 식별하는 인덱스를 더 포함한다.
109. 솔루션 102 내지 106 중 어느 하나의 방법에서, 제1 변형은 역 양자화된 잔여 계수 값의 변형된 표현의 적어도 일부를 변형하는 데 사용된다.
110. 솔루션 102 내지 109 중 어느 하나의 방법에서, 물려받는 단계는 이웃 비디오 블록에 대한 모션 정보와 함께 저장된 변형 정보를 물려받는 단계를 포함한다.
111. 솔루션 110의 방법에서, 제1 변형에 대한 변형 정보는 비디오 픽처 레벨에서 저장된다.
112. 솔루션 111의 방법에서, 제1 변형에 대한 변형 정보는 픽처가 참조 픽처이기 때문에 픽처 레벨에서 저장된다.
113. 솔루션 102 내지 112 중 어느 하나의 방법에서, 변환은 가지치기 되는 후보와 연관된 제1 변형에 대한 변형 정보에 의존하는 가지치기 연산을 사용하여 후보 목록을 생성하는 단계를 포함한다.
114. 솔루션 102 내지 113 중 어느 하나의 방법에서, 물려받는 단계는 이웃하는 비디오 블록으로부터 처음 N 개의 후보 중 하나를 물려받는 비디오 블록으로 인해 수행된다.
115. 솔루션 114의 방법에서, 처음 N 개의 후보 중 하나는 병합 후보를 포함한다.
116. 솔루션 114의 방법에서, 처음 N 개의 후보 중 하나는 진보된 모션 벡터 예측 후보를 포함한다.
117. 솔루션 102 내지 113 중 어느 하나의 방법에서, 제1 비디오 블록이 스킵 블록으로 코딩 되어야 한다고 결정하는 단계를 더 포함하고 및 제1 변형에 대한 변형 정보를 물려받는 단계는 모션 정보를 물려받은 이웃 비디오 블록으로부터 제1 변형에 대한 변형 정보를 물려받는 단계를 포함한다.
118. 솔루션 1 내지 117 중 어느 하나의 방법에서, 제1 비디오 블록은 병합 모드를 사용하여 인코딩 된다.
119. 솔루션 102 내지 108 중 어느 하나의 방법에서, 제1 비디오 블록은 진보된 모션 벡터 예측 모드를 사용하여 인코딩 된다.
120. 솔루션 102 내지 119 중 어느 하나의 방법에서, 물려받는 단계는 이웃 비디오 블록에 대한 변형 정보에 기초하여 현재 비디오 블록에 대한 제1 변형에 대한 변형 정보를 예측적으로 결정하는 단계를 포함한다.
이전 섹션은 위 솔루션의 추가 기능을 제공한다(예를 들어, 항목 4).
121. 비디오 처리 방법(예를 들어, 도 15b에 도시된 방법(1550))에서, 현재 비디오 블록의 코딩 조건에 기초하여, 코딩 된 표현의 현재 비디오 블록으로의 변환에 사용되는 제1 변형이 기본 변형임을 결정하는 단계(1552), 변환을 위해, 제1 변형은 현재 비디오 블록의 역 양자화된 잔여 계수 값의 결과에 적용되고; 및 제1 결정에 기초하여 현재 비디오 블록의 코딩 된 표현을 생성하는 단계(1554)를 포함한다.
122. 솔루션 121의 방법에서, 현재 비디오 블록의 코딩 조건은 제1 비디오 블록의 코딩 모드를 포함한다.
123. 솔루션 121의 방법에서, 코딩 조건은 현재 비디오 블록과 연관된 코딩 유닛 또는 예측 유닛 또는 변형 유닛에서 코딩 된 0이 아닌 계수의 카운트를 포함한다.
124. 솔루션 121 내지 122 중 어느 하나의 방법에서, 코딩 조건은 현재 비디오 블록에 대한 결합된 병합 후보(combined merge candidate)의 사용을 포함하고, 및 여기서 기본 변형은 코딩 된 표현에서 어떤 시그널링 없이 사용되어야 한다.
125. 솔루션 121 내지 122 중 어느 하나의 방법에서, 코딩 조건은 현재 비디오 블록에 대한 제로 병합 후보의 사용을 포함하고, 및 여기서 기본 변형은 코딩 된 표현에서 암시적으로 시그널링 된다.
126. 솔루션 121 내지 122 중 어느 하나의 방법에서, 코딩 조건은 현재 비디오 블록의 일시적으로 이웃하는 블록의 모션 정보를 사용하는 단계를 포함하고, 및 여기서 기본 변형은 코딩 된 표현에서 암시적으로 시그널링 된다.
127. 솔루션 126의 방법에서, 일시적으로 이웃하는 블록은 시간 모션 벡터 예측에 사용된다.
128. 솔루션 126의 방법에서, 일시적으로 이웃하는 블록은 대체 시간 모션 벡터 예측에 사용된다.
129. 솔루션 126의 방법에서, 일시적으로 이웃하는 블록은 공간 시간 모션 벡터 예측에 사용된다.
130. 솔루션 121 내지 122 중 어느 하나의 방법에서, 코딩 조건은 현재 비디오 블록의 변환을 위해 서브 블록 병합 후보를 사용하는 단계를 포함한다.
131. 솔루션 130의 방법에서, 서브 블록 병합 후보는 진보된 시간 모션 벡터 예측기를 포함한다.
132. 솔루션 130의 방법에서, 서브 블록 병합 후보는 공간 시간 모션 벡터 예측기를 포함한다.
133. 솔루션 130의 방법에서, 서브 블록 병합 후보는 평면 모션 모드 예측기를 포함한다.
134. 솔루션 121의 방법에서, 코딩 조건이 모든 0 계수로 코딩 된 현재 비디오 블록에 대응하고, 결정하는 단계는 기본 변형 인덱스가 변환에 사용될 것이라는 결정하는 단계를 포함한다.
135. 솔루션 121 내지 122 중 어느 하나의 방법에서, 코딩 조건은 현재 비디오 블록에 대한 서브 블록 기반 예측을 사용하는 단계를 포함하고, 여기서 변형 정보는 코딩 된 표현에서 암시적으로 시그널링 된다.
136. 솔루션 135의 방법에서, 서브 블록 기반 예측은 아핀 예측을 포함하고, 및 여기서 변형 정보는 코딩 된 표현에서 암시적으로 시그널링 된다.
137. 솔루션 135의 방법에서, 서브 블록 기반 예측은 진보된 시간 모션 벡터 예측을 포함하고, 및 여기서 변형 정보는 코딩 된 표현에서 암시적으로 시그널링 된다.
138. 솔루션 121의 방법에서, 코딩 조건에는 현재 비디오 블록에 대한 모션 벡터 값의 함수가 포함된다.
139. 솔루션 138의 방법에서, 모션 벡터 값의 함수는 abs(MVx) + abs(MVy) 또는(MVx) *(MVx) +(MVy) *(MVy)를 포함하고, 여기서 MVx 및 MVy는 모션 벡터 값이고 abs()는 절대 값 함수를 나타낸다.
140. 솔루션 121의 방법에서, 코딩 조건은 현재 비디오 블록에 대한 모션 벡터 차이 값의 함수가 포함한다.
141. 솔루션 140의 방법에서, 모션 벡터 차이 값의 함수는 abs(MVDx) + abs(MVDy) 또는(MVDx) *(MVDx) +(MVDy) *(MVDy)를 포함하고, 여기서 MVDx와 MVDy는 모션 벡터 차이 값이고 abs()는 절대 값 함수를 나타낸다.
이전 섹션에서는 위 솔루션의 추가 기능을 제공한다(예를 들어, 항목 5 및 8).
142. 비디오 처리 방법(예를 들어, 도 16b에 도시된 방법(1650))에서, 현재 비디오 블록에 대해, 인접 블록의 변형 정보가 현재 비디오 블록에 대한 변형 정보로 물려받게 되는지 여부에 대한 제1 표시자, 비디오의 다중 비디오 블록의 코딩 된 표현을 포함하는 비트 스트림에 포함되도록 결정하는 단계(1652); 및 변형 정보에 기초하여 현재 비디오 블록의 코딩 된 표현을 생성하는 단계(1654)를 포함하고, 여기서, 디코딩 동안, 변형 정보에 의해 식별된 변형은 현재 비디오 블록의 역 양자화된 잔여 계수 값의 결과에 적용된다.
143. 솔루션 142의 방법에서, 제1 표시자가 없는 경우 또는 코딩 된 표현과 현재 비디오 블록 사이의 변환을 위해 사용된 변형 정보를 식별하는 제2 표시자를 더 포함하는 단계를 더 포함한다.
144. 솔루션 142의 방법에서, 변형은 적응형 다중 코어 변형(AMT)을 포함한다.
145. 솔루션 142 내지 143 중 어느 하나의 방법에서, 제2 표시자는 비트 스트림의 코딩 유닛 레벨에서 플래그를 포함한다.
146. 솔루션 142 내지 143 중 어느 하나의 방법에서, 제2 표시자는 변형에 대한 인덱스를 포함한다.
147. 비디오 처리 방법(예를 들어, 도 17b에 도시된 방법(1750))에서, 병합 모드를 사용하여 코딩 된 현재 비디오 블록에 대해, 비디오의 다중 비디오 블록의 코딩 된 표현, 변형으로서, 기본 변형을 사용하기 위한 제1 표시 및 코딩 된 표현에 포함된 변형을 식별하는 인덱스를 사용하기 위한 제2 표시를 나타내는 1 비트 필드를 포함하는 비트 스트림을 포함하도록 결정하는 단계(1752); 및 변형이 1 비트 필드에 의해 식별되는 코딩 된 표현을 생성하는 단계(1754)를 포함한다.
148. 솔루션 147의 방법에서, 제1 표시는 1 비트 필드로서 "0" 비트를 포함하고 및 제2 표시는 1 비트 필드로서 "1" 비트를 포함한다.
149. 솔루션 147의 방법에서, 제1 표시는 1 비트 필드로서 "1" 비트를 포함하고 및 제2 표시는 1 비트 필드로서 "0" 비트를 포함한다.
150. 솔루션 147 내지 149 중 어느 하나의 방법에서, 변형은 적응형 다중 코어 변형(AMT)을 포함한다.
151. 솔루션 1 내지 150 중 어느 하나의 방법에서, 변형에는 순방향 변형 또는 역방향 변형 중 하나 이상이 포함된다.
이전 섹션은 위 솔루션의 추가 기능을 제공한다(예를 들어, 항목 7).
152. 솔루션 1 내지 151 중 하나 이상에 설명된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 인코더 장치.
153. 실행시 프로세서로 하여금 솔루션 1 내지 151 중 하나 이상에 설명된 방법을 구현하게 하는 코드가 저장된 컴퓨터 프로그램 제품.
154. 본 문서에 설명된 방법, 장치 또는 시스템.
다음 항목은 디코딩, 인코딩 또는 트랜스 코딩 측면에서 구현될 수 있는 솔루션의 추가 예를 나열한다.
[00394]
1. 비디오 처리 방법(예를 들어, 도 18a에 도시된 방법(1800))에서, 현재 비디오 블록의 코딩 된 표현에서 현재 비디오 블록으로의 변환을 위해, 현재 비디오 블록의 0이 아닌 마지막 계수의 위치를 확인하는 단계(1802) - 위치는 현재 비디오 블록의 왼쪽 상단 위치로 상대적임 -; 및 위치에 기초하여, 코딩 된 표현에서 변형 정보를 시그널링 하는 신택스 요소를 파싱 할지 여부의 결정을 수행하는 단계(1804)를 포함한다.
2. 제1 항목에서, 결정에 따라 코딩 된 표현을 파싱 하여 변환을 수행하는 단계를 더 포함한다.
3. 비디오 처리 방법에서(예를 들어, 도 19a에 도시된 방법(1900)), 현재 비디오 블록의 코딩 된 표현에서 현재 비디오 블록으로의 변환을 위해, 현재 비디오 블록의 0이 아닌 마지막 계수의 위치를 확인하는 단계(1902) - 위치는 현재 비디오 블록의 왼쪽 상단 위치로 상대적임 -; 위치 및 조건을 충족하는 적어도 하나의 다른 코딩 기준으로 인해, 변형 정보를 시그널링 하는 신택스 요소가 존재하고 코딩 된 표현에 포함된다는 것을 결정하는 단계(1904); 및 코딩 된 표현에서 신택스 요소에 의해 식별된 변형 정보를 사용하여 변환을 수행하는 단계(1906)를 포함한다.
4. 비디오 처리 방법에서(예를 들어, 도 20a에 도시된 방법(2000)), 현재 비디오 블록의 코딩 된 표현에서 현재 비디오 블록으로의 변환을 위해, 현재 비디오 블록의 0이 아닌 마지막 계수의 위치를 확인하는 단계(2002) - 위치는 현재 비디오 블록의 왼쪽 상단 위치로 상대적임 -; 조건을 충족하지 못하는 위치 및/또는 적어도 하나의 다른 코딩 기준으로 인해, 변형 정보를 시그널링 하는 신택스 요소가 코딩 된 표현에 포함되는 것으로부터 스킵 된다는 것을 결정하는 단계(2004); 및 코딩 된 표현에서 명시적으로 식별되지 않은 기본 변형을 사용하여 변환을 수행하는 단계(2006)를 포함한다.
5. 제2항목 내지 제4항목 중 어느 한 항목에서, 변환은 현재 비디오 블록의 역 양자화 된 잔여 계수 값의 결과에 신택스 요소에 따른 변형을 적용하는 단계를 포함한다.
6. 제1항목에서, 위치는 좌표(LastX, LastY)로 표현되고, 코딩 된 표현은 LastX <= Th0 및 LastY <= Th1로 인해 변형 정보를 시그널링 하는 신택스 요소가 없으며, 여기서 Th0 및 Th1은 숫자이다.
7. 제1항목에서, 코딩 된 표현은 LastX <= Th0 또는 LastY <= Th1로 인해 변형 정보를 시그널링 하는 신택스 요소가 없으며, 여기서 Th0 및 Th1은 숫자이다.
8. 제6항목 또는 제7항목에서, Th0 및 Th1은 사전 정의되어 있고 및 코딩 된 표현에서 시그널링 되지 않는다.
9. 제6항목 또는 제7항목에서, Th0 및 Th1은 코딩 된 표현에서 시그널링 된다.
10. 제6항목에서, Th0 및 Th1은 시퀀스 파라미터 세트 레벨 또는 픽처 파라미터 세트 레벨 또는 슬라이스 헤더 레벨 또는 픽처 헤더 레벨 또는 코딩 유닛 레벨의 그룹 또는 코딩 트리 유닛 레벨 또는 코딩 트리 블록 레벨에서 시그널링 된다.
11. 제6항목 또는 제7항목에서, Th0 및 Th1은 현재 비디오 블록의 모양이나 크기에 따른다.
12. 제6항목 또는 제7항목에서, Th0 및 Th1은 현재 비디오 블록에 사용되는 양자화 파라미터에 따른다.
13. 제6항목 또는 제7항목에서, Th0 및 Th1은 현재 비디오 블록에 사용되는 코딩 모드에 따른다.
14. 제6항목 내지 제13항목 중 어느 한 항목에서, Th0 및 Th1이 동일하다.
15. 제13항목에서, Th0 = Th1 = 1 이다.
16. 제13항목에서, Th0 = Th1 = 0 이다.
17. 제6항목 또는 제7항목에서, Th0과 Th1은 현재 비디오 블록이 정사각형 블록이면 동일한 것으로 결정되고, 현재 비디오 블록의 너비가 현재 비디오 블록의 높이보다 크고 Th0이 Th1보다 작은 경우 Th0 > Th1인 것으로 결정된다.
18. 제1항목 내지 제16항목 중 어느 한 항목에서, 변형 정보는 2차 변형을 나타낸다.
19. 제1항목 내지 제16항목 중 어느 한 항목에서, 변형 정보는 분리 불가능한 2차 변형을 나타낸다.
20. 제1항목 내지 제16항목 중 어느 한 항목에서, 변형 정보가 코딩 된 표현으로 시그널링 되지 않고, 및 변환이 2차 변형을 사용하지 않고 변환을 수행하는 단계를 포함한다.
21. 제1항목 내지 제17항목 중 어느 한 항목에서, 변형 정보는 1차 변형 정보를 나타낸다.
22. 제6항목 내지 제19항목 중 어느 한 항목에서, LastX <= Th0 및 LastY <= Th1로 인해, 코딩 된 표현은 변환을 위해 이산 코사인 변형(DCT-II)의 애플리케이션을 시그널링 하는 신택스 요소가 없다.
23. 제6항목 내지 제19항목 중 어느 한 항목에서, LastX <= Th0 또는 LastY <= Th1로 인해, 코딩 된 표현은 변환을 위해 이산 코사인 변형(DCT-II)의 애플리케이션을 시그널링 하는 신택스 요소가 없다.
24. 제18항목 내지 제20항목 중 어느 한 항목에서, 변환은, 1차 변형 정보가 시그널링 되지 않는 경우, 현재 비디오 블록의 역 양자화 된 계수에 이산 코사인 변형(DCT-II)을 적용하는 단계를 포함한다.
25. 비디오 처리 방법에서(예를 들어, 도 18b에 도시된 방법(1850)), 현재 비디오 블록을 현재 비디오 블록의 코딩 된 표현으로의 변환을 위해, 현재 비디오 블록의 0이 아닌 마지막 계수의 위치를 확인하는 단계(1852) - 위치는 현재 비디오 블록의 왼쪽 상단 위치로 상대적임 -; 및 위치에 기초하여, 코딩 된 표현에서 변형 정보를 시그널링 하는 신택스 요소를 코딩 할지 여부를 결정하는 단계(1854)를 포함한다.
26. 비디오 처리 방법에서(예를 들어, 도 19b에 도시된 방법(1950)), 현재 비디오 블록을 현재 비디오 블록의 코딩 된 표현으로의 변환을 위해, 현재 비디오 블록의 0이 아닌 마지막 계수의 위치를 확인하는 단계(1952) - 위치는 현재 비디오 블록의 왼쪽 상단 위치로 상대적임 -; 및 위치 및 조건을 충족하는 적어도 하나의 다른 코딩 기준으로 인해, 변형 정보를 시그널링 하는 신택스 요소가 코딩 된 표현에 포함된다는 것을 결정하는 단계(1954); 및 코딩 된 표현에서 변형 정보를 식별하는 신택스 요소를 포함함으로써 변환을 수행하는 단계(1956)를 포함한다.
27. 비디오 처리 방법에서(예를 들어, 도 18b에 도시된 방법(1850)), 현재 비디오 블록의 코딩 된 표현에서 현재 비디오 블록으로의 변환을 위해, 현재 비디오 블록의 0이 아닌 마지막 계수의 위치를 확인하는 단계(2052) - 위치는 현재 비디오 블록의 왼쪽 상단 위치로 상대적임 -; 위치 및/또는 조건을 충족하는 적어도 하나의 다른 코딩 기준으로 인해, 변형 정보를 시그널링 하는 신택스 요소가 코딩 된 표현에 포함되는 것으로부터 스킵 된다는 것을 결정하는 단계(2054); 및 신택스 요소를 스킵 하여 코딩 된 표현을 생성하는 단계(2056) - 그에 따라 기본 변형의 사용을 암시적으로 시그널링 함 - 를 포함한다.
28. 제25항목 내지 제27항목 중 어느 한 항목에서, 변형 정보에 의해 표시된 변형은 변환을 위해 결과적으로 변형된 잔여 계수 값을 양자화 하기 전에 잔여 계수 값에 적용된다.
29. 제25항목에서, 위치는 좌표(LastX, LastY)로 표현되고, 코딩 된 표현은 LastX <= Th0 및 LastY <= Th1로 인해 변형 정보를 시그널링 하는 신택스 요소가 없으며, 여기서 Th0 및 Th1은 숫자이다.
30. 제25항목에서, 코딩 된 표현은 LastX <= Th0 또는 LastY <= Th1로 인해 변형 정보를 시그널링 하는 신택스 요소가 없으며, 여기서 Th0 및 Th1은 숫자이다.
31. 제29항목 또는 제30항목에서, Th0 및 Th1은 사전 정의되어 있으며 코딩 된 표현으로 시그널링 되지 않는다.
32. 제29항목 또는 제30항목에서, Th0 및 Th1은 코딩 된 표현에서 시그널링 된다.
33. 제32항목에서, Th0 및 Th1은 시퀀스 파라미터 세트 레벨 또는 픽처 파라미터 세트 레벨 또는 슬라이스 헤더 레벨 또는 픽처 헤더 레벨 또는 코딩 유닛 레벨의 그룹 또는 코딩 트리 유닛 레벨 또는 코딩 트리 블록 레벨에서 시그널링 된다.
34. 제29항목 또는 제30항목에서, Th0 및 Th1은 현재 비디오 블록의 모양이나 크기에 따른다.
35. 제29항목 또는 제30항목에서, Th0 및 Th1은 현재 비디오 블록에 사용되는 양자화 파라미터에 따른다.
36. 제29항목 또는 제30항목에서, Th0 및 Th1은 현재 비디오 블록에 사용되는 코딩 모드에 따른다.
37. 제29항목 내지 제36항목 중 어느 한 항목에서, Th0 및 Th1이 동일하다.
38. 제37항목에서, Th0 = Th1 = 1 이다.
39. 제37항목에서, Th0 = Th1 = 0 이다.
40. 제29항목 또는 제30항목에서, Th0과 Th1은 현재 비디오 블록이 정사각형 블록이면 동일한 것으로 결정되고, 현재 비디오 블록의 너비가 현재 비디오 블록의 높이보다 크고 Th0이 Th1보다 작은 경우 Th0> Th1인 것으로 결정된다.
41. 제25항목 내지 제40항목 중 어느 한 항목에서, 변형 정보는 2차 변형을 나타낸다.
42. 제25항목 내지 제40항목 중 어느 한 항목에서, 변형 정보는 분리 가능한 2차 변형을 나타낸다.
43. 제25항목 내지 제40항목 중 어느 한 항목에서, 변형 정보는 분리 불가능한 2차 변형을 나타낸다.
44. 제25항목 내지 제43항목 중 어느 한 항목에서, 변형 정보가 코딩 된 표현으로 시그널링 되지 않고, 및 변환이 2차 변형을 사용하지 않고 변환을 수행하는 단계를 포함한다.
45. 제25항목 내지 제44항목 중 어느 한 항목에서, 변형 정보는 1차 변형 정보를 나타낸다.
46. 제1항목 내지 제45항목 중 어느 한 항목에서, 현재 비디오 블록의 0이 아닌 마지막 계수의 위치는 현재 비디오 블록의 계수의 순방향 스캐닝 순서에 있다. 순방향 스캐닝 순서는, 예를 들어, VVC 사양에 정의된 대로 될 수 있다.
47. 제1항목 내지 제46항목 중 어느 한 항목에서, 변형은: 순방향 변형 또는 역방향 변형 중 적어도 하나를 포함한다.
이전 색션은 위 솔루션(예를 들어, 아이템 6)의 추가적인 특징을 제공한다.
48. 제1항목 내지 제47항목 중 어느 한 항목에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 인코더 장치이다.
49. 제1항목 내지 제48항목 중 어느 한 항목에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 디코더 장치이다.
50. 코드 저장된 컴퓨터 프로그램 제품에 있어서, 프로세서로 하여금 코드를, 실행 중에, 제1항목 내지 제47항목 중 어느 한 항에 기재된 방법을 구현하는 컴퓨터 프로그램이다.
51. 본 문서에 기술된 방법, 장치 및 시스템.
7. 개시된 기술의 구현 예
도 30은 비디오 처리 장치(video processing apparatus)(3000)의 블록도이다. 장치(3000)는 여기에 설명된 방법 중 하나 이상을 구현하는 데 사용될 수 있다. 장치(3000)는 스마트 폰, 태블릿, 컴퓨터, 사물 인터넷(IoT) 수신기 등으로 구현될 수 있다. 장치(3000)는 하나 이상의 프로세서(3002), 하나 이상의 메모리(3004) 및 비디오 처리 하드웨어(3006)를 포함할 수 있다. 프로세서(들)(3002)는 본 문서에 설명된 하나 이상의 방법(여기에 설명된 다양한 방법을 포함하지만 이에 제한되지 않음)을 구현하도록 구성될 수 있다. 메모리(메모리)(3004)는 여기에 설명된 방법 및 기술을 구현하는 데 사용되는 데이터 및 코드를 저장하는 데 사용될 수 있다. 비디오 처리 하드웨어(3006)는 본 문서에 설명된 일부 기술을 하드웨어 회로에서 구현하는 데 사용될 수 있다.
일부 실시예에서, 비디오 코딩 방법은 도 30과 관련하여 설명된 하드웨어 플랫폼에서 구현되는 장치를 사용하여 구현될 수 있다.
도 32는 본 명세서에 개시된 다양한 기술이 구현될 수 있는 예시적인 비디오 처리 시스템(3200)을 보여주는 블록도이다. 다양한 구현은 3200 시스템의 구성 요소의 일부 또는 전부를 포함할 수 있다. 시스템(3200)은 비디오 콘텐츠를 수신하기위한 입력(3202)을 포함할 수 있다. 비디오 콘텐츠는 원시 또는 압축되지 않은 형식, 예를 들어 8 비트 또는 10 비트 다중 구성 요소 픽셀 값으로 수신될 수 있거나 압축 또는 인코딩 된 형식일 수 있다. 입력(3202)은 네트워크 인터페이스, 주변 버스 인터페이스 또는 저장소 인터페이스를 나타낼 수 있다. 네트워크 인터페이스의 예로는 이더넷, 수동 광 네트워크(PON) 등과 같은 유선 인터페이스 및 Wi-Fi 또는 셀룰러 인터페이스와 같은 무선 인터페이스가 있다.
시스템(3200)은 본 문서에 설명된 다양한 코딩 또는 인코딩 방법을 구현할 수 있는 코딩 구성 요소(coding component)(3204)를 포함할 수 있다. 코딩 구성 요소(3204)는 비디오의 코딩 된 표현을 생성하기 위해 입력(3202)으로부터 코딩 구성 요소(3204)의 출력으로 비디오의 평균 비트 속도를 감소시킬 수 있다. 따라서 코딩 기술은 비디오 압축 또는 비디오 트랜스 코딩 기술이라고도 한다. 코딩 구성 요소(3204)의 출력은 구성 요소(3206)에 의해 표현된 바와 같이 저장되거나 연결된 통신을 통해 전송될 수 있다. 입력(3202)에서 수신된 비디오의 저장되거나 전달된 비트 스트림(또는 코딩 된) 표현은 디스플레이 인터페이스(display interface)(3210)로 전송되는 픽셀 값 또는 디스플레이 가능한 비디오를 생성하기 위해 구성 요소(3208)에 의해 사용될 수 있다. 비트 스트림 표현에서 사용자가 볼 수 있는 비디오를 생성하는 프로세스를 비디오 압축 해제라고 한다. 또한 특정 비디오 처리 작업을 "코딩" 작업 또는 도구라고 한다. 코딩 도구(coding tool) 또는 작업은 인코더에서 사용되고, 코딩의 결과를 역전시키는 대응하는 디코딩 도구 또는 동작은 디코더에 의해 수행될 것임을 알 것이다.
주변 장치 버스 인터페이스 또는 디스플레이 인터페이스의 예로는 범용 직렬 버스(USB), 고화질 멀티미디어 인터페이스(HDMI) 또는 디스플레이 포트 등이 있다. 저장소 인터페이스의 예로는 SATA(직렬 고급 기술 연결), PCI, IDE 인터페이스 등이 있다. 본 문서에 설명된 기술은 디지털 데이터 처리 및/또는 비디오 디스플레이를 수행할 수 있는 휴대 전화, 랩톱, 스마트 폰 또는 기타 장치와 같은 다양한 전자 장치에 구현될 수 있다.
앞서 말한 것에서, 현재 개시된 기술의 특정 실시예가 예시의 목적으로 여기에 설명되었지만, 본 발명의 범위를 벗어나지 않고 다양한 수정이 이루어질 수 있다는 것을 이해할 것이다. 따라서, 현재 개시된 기술은 첨부된 청구 범위를 제외하고는 제한되지 않는다.
주제의 구현, 모듈 및 기능적 동작은, 이 특허 문서에 공개된 구조 및 구조적 등가물을 포함하거나 이들 중 하나 이상의 조합을 포함하는, 다양한 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있다. 이 상세한 설명에서 기재된 주제의 구현은 하나 이상의 컴퓨터 프로그램 제품, 즉, 데이터 처리 장치에 의해 실행되거나 데이터 처리 장치의 동작을 제어하기 위해 유형의 및 비 일시적 컴퓨터 판독 가능 매체 상에 인코딩 된 컴퓨터 프로그램 명령의 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터 판독 가능 매체는 기계 판독 가능 저장 장치, 기계 판독 가능 저장 기판, 메모리 장치, 기계 판독 가능 전파 신호에 영향을 미치는 물질의 구성, 또는 이들의 하나 이상의 조합일 수 있다. 용어 "데이터 처리 유닛(data processing unit)" 또는 "데이터 처리 장치(data processing apparatus)"는 데이터 처리를 위한 모든 장치, 장치 및 기계를 포함하며, 예를 들어 프로그램 가능한 프로세서, 컴퓨터 또는 다중 프로세서 또는 컴퓨터를 포함한다. 장치는 하드웨어에 추가하여 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 응용 프로그램, 스크립트 또는 코드라고도 함)은 컴파일 되거나 해석된 언어를 포함하여 모든 형태의 프로그래밍 언어로 작성될 수 있고, 독립 실행형 프로그램이나 모듈, 구성 요소, 서브 루틴 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 장치를 포함하여 모든 형태로 배치될 수 있다. 컴퓨터 프로그램이 반드시 파일 시스템의 파일에 해당하는 것은 아니다. 프로그램은 다른 프로그램이나 데이터(예를 들어, 마크 업 언어 문서에 저장된 하나 이상의 스크립트)를 보유하는 파일의 일부, 해당 프로그램 전용 단일 파일 또는 여러 개의 조정된 파일(예를 들어, 하나 이상의 모듈, 서브 프로그램 또는 코드 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 한 사이트에 위치하거나 여러 사이트에 분산되고 통신 네트워크로 상호 연결된 여러 컴퓨터에서 실행되도록 배치될 수 있다.
이 상세한 설명에 설명된 프로세스 및 논리 흐름은 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍 가능 프로세서에서 입력 데이터를 조작하고 출력을 생성하여 기능을 수행할 수 있다. 프로세스 및 로직 흐름은 또한 FPGA(필드 프로그래밍 가능 게이트 어레이) 또는 ASIC(애플리케이션 특정 집적 회로(application specific integrated circuit))와 같은 특수 목적의 로직 회로로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는, 예를 들어 범용 및 특수 목적의 마이크로 프로세서와 모든 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로 프로세서는 읽기 전용 메모리 나 랜덤 액세스 메모리 또는 둘 다에서 명령과 데이터를 수신한다. 컴퓨터의 필수 요소는 명령을 수행하기 위한 프로세서와 명령과 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치, 예를 들어, 마그네틱, 마그네토 광 디스크 또는 광 디스크, 로부터 데이터를 수신하거나 데이터를 전송하거나 둘 모두를 포함하거나 작동 가능하게 결합된다. 그러나 컴퓨터에는 이러한 장치가 필요하지 않는다. 컴퓨터 프로그램 명령 및 데이터를 저장하는 데 적합한 컴퓨터 판독 가능 매체에는 모든 형태의 비 휘발성 메모리, 매체 및 메모리 장치, 예를 들어, EPROM, EEPROM 및 플래시 메모리 장치와 같은 반도체 메모리 장치를 포함한다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
도면과 함께 명세서는 단지 예시적인 것으로 간주되는 것으로 의도되며, 여기서 예시는 예를 의미한다. 본 명세서에서 사용된 바와 같이, 단수 형태 "하나(a)", "한(an)" 및 "그(the)"는 문맥이 달리 명백하게 나타내지 않는 한 복수 형태도 포함하도록 의도된다. 추가로, "또는"의 사용은 문맥이 달리 명시하지 않는 한 "및/또는"을 포함하도록 의도된다.
이 특허 문서에는 많은 세부 사항이 포함되어 있지만, 이들은 임의의 발명의 범위 또는 청구될 수 있는 것에 대한 제한으로 해석되어서는 안되며, 오히려 특정 발명의 특정 실시예에 특정할 수 있는 특징의 설명으로 해석되어야 한다. 개별 실시예의 맥락에서 본 특허 문서에 설명된 특정 특징은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예의 맥락에서 설명된 다양한 특징은 또한 다중 실시예에서 개별적으로 또는 임의의 적절한 서브 조합으로 구현될 수 있다. 더욱이, 특징이 특정 조합으로 작용하는 것으로 위에서 설명될 수 있고 심지어 처음에 그렇게 주장될 수도 있지만, 청구된 조합으로부터의 하나 이상의 특징은 일부 경우에 조합으로부터 배제될 수 있고, 청구된 조합은 서브 조합 또는 서브 조합의 변형으로 향할 수 있다.
마찬가지로 작업은 특정 순서로 도면에 표시되지만, 이는 바람직한 결과를 달성하기 위해 그러한 동작이 도시된 특정 순서 또는 순차적인 순서로 수행되거나 모든 예시된 동작이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 또한, 이 특허 문서에 설명된 실시예에서 다양한 시스템 구성 요소의 분리는 모든 실시예에서 그러한 분리를 요구하는 것으로 이해되어서는 안된다.
단지 몇 가지 구현 및 예가 설명되고 다른 구현, 향상 및 변형이 이 특허 문서에 설명되고 예시된 것에 기초하여 이루어질 수 있다.

Claims (51)

  1. 비디오 데이터를 처리하는 방법에 있어서,
    비디오의 현재 비디오 블록과 상기 비디오의 비트 스트림 사이의 변환을 위해, 상기 현재 비디오 블록의 0이 아닌 마지막 계수의 위치를 확인하는 단계 - 상기 위치는 상기 현재 비디오 블록의 왼쪽 상단 위치에 상대적임 -, 및
    상기 위치에 기초하여, 다중 변형 선택 (MTS) 변형을 위한 변형 정보를 식별하는 신택스 요소가 상기 비트 스트림에 포함되는지 여부의 결정을 수행하는 단계
    를 포함하고,
    상기 위치는,
    좌표(LastX, LastY)로 표현되고,
    상기 신택스 요소는,
    LastX<=Th1 및 LastY<=Th2로 인해 상기 비트 스트림에 포함되지 않고 스킵 되고,
    Th1 및 Th2는,
    숫자인
    방법.
  2. 제1항에 있어서,
    상기 결정을 수행하는 단계는,
    상기 위치가 제1 조건을 충족시키지 못하기 때문에, 상기 신택스 요소가 상기 비트 스트림에 포함되는 것으로부터 스킵 되는 것을 결정하는 단계
    를 포함하고, 및
    상기 방법은,
    상기 MTS 변형을 사용하지 않고, 상기 변환을 수행하는 단계
    를 더 포함하는
    방법.
  3. 제2항에 있어서,
    상기 비트 스트림에서 명시적으로 식별되지 않은 기본 변형을 사용하여 상기 변환을 수행하는 단계
    를 더 포함하는
    방법.
  4. 제3항에 있어서,
    상기 기본 변형은,
    이산 코사인 변형 II (DCT-II) 인
    방법.
  5. 제1항에 있어서,
    Th1 및 Th2는,
    미리 정의되어 있고,
    상기 비트 스트림에서 시그널링 되지 않는
    방법.
  6. 제1항에 있어서,
    Th1 및 Th2는,
    동일한
    방법.
  7. 제1항에 있어서,
    Th1 및 Th2는,
    0 인
    방법.
  8. 제1항에 있어서,
    상기 결정을 수행하는 단계는,
    상기 현재 비디오 블록에 사용되는 코딩 모드가 특정 유형이기 때문에, 상기 신택스 요소가 상기 비트 스트림에 포함되는 것으로부터 스킵 되는 것을 결정하는 단계
    를 포함하고; 및
    상기 방법은,
    상기 MTS 변형을 사용하지 않고, 상기 변환을 수행하는 단계
    를 더 포함하는
    방법.
  9. 제1항에 있어서,
    상기 현재 비디오 블록의 0이 아닌 상기 마지막 계수의 상기 위치는,
    상기 현재 비디오 블록의 계수의 순방향 스캔 순서에 있는
    방법.
  10. 제1항에 있어서,
    상기 변형은,
    순방향 변형 또는 역방향 변형 중 적어도 하나를 포함하는
    방법.
  11. 제1항에 있어서,
    상기 결정을 수행하는 단계는,
    상기 위치 및 제2 조건을 충족시키는 적어도 하나의 다른 코딩 기준으로 인해, 상기 신택스 요소가 상기 비트 스트림에 포함된다는 것을 결정하는 단계
    를 포함하고; 및
    상기 방법은,
    상기 비트 스트림의 상기 신택스 요소에 의해 식별된 상기 변형 정보를 사용하여 상기 변환을 수행하는 단계
    를 더 포함하는
    방법.
  12. 제11항에 있어서,
    상기 변환은,
    상기 현재 비디오 블록의 역 양자화된 잔여 계수 값의 결과에 상기 신택스 요소에 따른 상기 MTS 변형을 적용하는 것
    을 포함하는
    방법.
  13. 제11항에 있어서,
    상기 변형 정보는,
    기본 변형을 나타내는
    방법.
  14. 제1항에 있어서,
    상기 결정에 따라 상기 현재 비디오 블록을 상기 비트 스트림으로 디코딩 함으로써 상기 변환을 수행하는 단계
    를 더 포함하는
    방법.
  15. 제1항에 있어서,
    상기 결정에 따라 상기 현재 비디오 블록을 상기 비트 스트림으로 인코딩 함으로써 상기 변환을 수행하는 단계
    를 더 포함하는
    방법.
  16. 프로세서 및 명령들이 있는 비일시적 메모리를 포함하는 비디오 데이터 처리를 위한 장치에 있어서,
    상기 명령들은,
    상기 프로세서에 의해 실행될 때,
    상기 프로세서로 하여금,
    상기 비디오의 현재 비디오 블록과 상기 비디오의 비트 스트림 사이의 변환을 위해, 상기 현재 비디오 블록의 0이 아닌 마지막 계수의 위치를 확인하고 - 상기 위치는 상기 현재 비디오 블록의 왼쪽 상단 위치로 상대적임 -; 및
    상기 위치에 기초하여, 다중 변형 선택 (MTS) 변형을 위한 변환 정보를 식별하는 신택스 요소가 상기 비트 스트림에 포함되는지 여부의 결정을 수행하도록 하고,
    상기 위치는,
    좌표(LastX, LastY)로 표현되고,
    상기 신택스 요소는,
    LastX<=Th1 및 LastY<=Th2로 인해 상기 비트 스트림에 포함되지 않고 스킵 되고,
    Th1 및 Th2는,
    숫자인
    장치.
  17. 명령들을 저장하는 비일시적 컴퓨터 판독가능 저장 매체에 있어서,
    상기 명령들은,
    프로세서로 하여금,
    비디오의 현재 비디오 블록과 상기 비디오의 비트 스트림 사이의 변환을 위해, 상기 현재 비디오 블록의 0이 아닌 마지막 계수의 위치를 확인하고 - 상기 위치는 상기 현재 비디오 블록의 왼쪽 상단 위치로 상대적임 -; 및
    상기 위치에 기초하여, 다중 변형 선택 (MTS) 변형을 위한 변환 정보를 식별하는 신택스 요소가 상기 비트 스트림에 포함되는지 여부의 결정을 수행하도록 하고,
    상기 위치는,
    좌표(LastX, LastY)로 표현되고,
    상기 신택스 요소는,
    LastX<=Th1 및 LastY<=Th2로 인해 상기 비트 스트림에 포함되지 않고 스킵 되고,
    Th1 및 Th2는,
    숫자인
    비일시적 컴퓨터 판독가능 저장 매체.
  18. 비디오 처리 장치에서 수행되는 방법에 의해 생성된 비트 스트림을 저장하는 비일시적 컴퓨터 판독가능 기록 매체에 있어서,
    상기 방법은,
    현재 비디오 블록의 마지막 0이 아닌 계수의 위치를 확인하는 단계 - 상기 위치는 상기 현재 비디오 블록의 왼쪽 상단 위치로 상대적임 -;
    상기 위치에 기초하여, 다중 변형 선택 (MTS) 변형을 위한 변형 정보를 식별하는 신택스 요소가 상기 비트 스트림에 포함되는지 여부의 결정을 수행하는 단계, 및
    상기 결정에 기초하여 상기 비트 스트림을 생성하는 단계
    를 포함하고,
    상기 위치는,
    좌표(LastX, LastY)로 표현되고,
    상기 신택스 요소는,
    LastX<=Th1 및 LastY<=Th2로 인해 상기 비트 스트림에 포함되지 않고 스킵 되고,
    Th1 및 Th2는,
    숫자인
    비일시적 컴퓨터 판독 가능 기록 매체.
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
KR1020217001749A 2018-08-16 2019-08-16 변형 행렬 선택의 계수에 따른 코딩 KR102636267B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2018100795 2018-08-16
CNPCT/CN2018/100795 2018-08-16
PCT/IB2019/056948 WO2020035829A1 (en) 2018-08-16 2019-08-16 Coefficient dependent coding of transform matrix selection

Publications (2)

Publication Number Publication Date
KR20210045387A KR20210045387A (ko) 2021-04-26
KR102636267B1 true KR102636267B1 (ko) 2024-02-14

Family

ID=68109388

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217001749A KR102636267B1 (ko) 2018-08-16 2019-08-16 변형 행렬 선택의 계수에 따른 코딩

Country Status (7)

Country Link
US (3) US11082693B2 (ko)
EP (1) EP3815363A1 (ko)
JP (2) JP7313427B2 (ko)
KR (1) KR102636267B1 (ko)
CN (2) CN110839159A (ko)
TW (2) TWI814889B (ko)
WO (2) WO2020035829A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI814889B (zh) 2018-08-16 2023-09-11 大陸商北京字節跳動網絡技術有限公司 變換矩陣選擇的係數相關的編解碼
CN109788286B (zh) * 2019-02-01 2021-06-18 北京大学深圳研究生院 一种编码、解码变换方法、系统、设备及计算机可读介质
EP4329309A3 (en) 2019-05-10 2024-03-27 Beijing Bytedance Network Technology Co., Ltd. Selection of secondary transform matrices for video processing
KR20220016844A (ko) 2019-06-07 2022-02-10 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 비트스트림들에서 감축된 2차 변환의 조건부 시그널링
EP4376415A2 (en) * 2019-06-19 2024-05-29 LG Electronics Inc. Coding of information about transform kernel set
WO2021023151A1 (en) 2019-08-03 2021-02-11 Beijing Bytedance Network Technology Co., Ltd. Position based mode derivation in reduced secondary transforms for video
CN114223208B (zh) 2019-08-17 2023-12-29 北京字节跳动网络技术有限公司 为视频中的缩减二次变换的边信息的上下文建模
AU2019275553B2 (en) * 2019-12-03 2022-10-06 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a coding tree unit
JP7400115B2 (ja) 2020-02-24 2023-12-18 バイトダンス インコーポレイテッド サブピクチャとタイル行シグナリングとの間のインタラクション
KR20220143857A (ko) 2020-03-03 2022-10-25 바이트댄스 아이엔씨 비디오 코딩에서의 저 주파수 비-분리가능 변환 시그널링
CN111355955B (zh) * 2020-03-06 2022-07-29 中南大学 基于预选层的多变换核快速跳过方法
CN111541896B (zh) * 2020-04-27 2022-03-29 中南大学 一种基于vvc的帧内预测模式的优化方法及系统
US11310529B2 (en) * 2020-05-27 2022-04-19 Tencent America LLC Mode-dependent joint component transform
WO2022159115A1 (en) * 2021-01-25 2022-07-28 Google Llc Chroma transform type determination
WO2023060911A1 (en) * 2021-10-15 2023-04-20 Beijing Bytedance Network Technology Co., Ltd. Method, device, and medium for video processing

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045560B (zh) 2009-10-23 2013-08-07 华为技术有限公司 一种视频编解码方法及设备
US20120189052A1 (en) * 2011-01-24 2012-07-26 Qualcomm Incorporated Signaling quantization parameter changes for coded units in high efficiency video coding (hevc)
JP2011254536A (ja) * 2011-08-15 2011-12-15 Mitsubishi Electric Corp 動画像復号方法
US10390046B2 (en) 2011-11-07 2019-08-20 Qualcomm Incorporated Coding significant coefficient information in transform skip mode
US10306229B2 (en) 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
US10334248B2 (en) * 2015-05-29 2019-06-25 Qualcomm Incorporated Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design
US10560718B2 (en) 2016-05-13 2020-02-11 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding
CN113411578B (zh) * 2016-05-13 2024-04-12 夏普株式会社 图像解码装置及其方法、图像编码装置及其方法
US10972733B2 (en) * 2016-07-15 2021-04-06 Qualcomm Incorporated Look-up table for enhanced multiple transform
EP3522533A4 (en) * 2016-09-30 2019-09-11 Sony Corporation IMAGE PROCESSING APPARATUS AND METHOD
US11095893B2 (en) 2016-10-12 2021-08-17 Qualcomm Incorporated Primary transform and secondary transform in video coding
US20210243475A1 (en) * 2016-12-28 2021-08-05 Sony Corporation Image processing apparatus and method
US10554974B2 (en) * 2017-01-13 2020-02-04 Mediatek Inc. Method and apparatus enabling adaptive multiple transform for chroma transport blocks using control flags
WO2018143670A1 (ko) * 2017-01-31 2018-08-09 세종대학교 산학협력단 영상의 부호화/복호화 방법 및 장치
US11665367B2 (en) 2018-03-30 2023-05-30 Sony Corporation Image processing apparatus and method
CN112166613B (zh) 2018-04-01 2022-10-21 Lg电子株式会社 使用缩减二次变换来处理视频信号的方法和装置
PL3806476T3 (pl) * 2018-06-03 2023-09-11 Lg Electronics Inc. Sposób i urządzenie do przetwarzania sygnału video za pomocą transformacji zredukowanej
TWI814889B (zh) 2018-08-16 2023-09-11 大陸商北京字節跳動網絡技術有限公司 變換矩陣選擇的係數相關的編解碼

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Yongbing Lin, et al. Simplified multiple-core transform for intra residual coding, Joint Video exploration Team(JVET), JVET-k0126-r2, 2018-07-14, pp. 1-5

Also Published As

Publication number Publication date
KR20210045387A (ko) 2021-04-26
TW202034698A (zh) 2020-09-16
JP2023104947A (ja) 2023-07-28
EP3815363A1 (en) 2021-05-05
US20210076038A1 (en) 2021-03-11
US20210076043A1 (en) 2021-03-11
TWI814889B (zh) 2023-09-11
WO2020035827A1 (en) 2020-02-20
US11558612B2 (en) 2023-01-17
CN110839158B (zh) 2023-03-10
CN110839158A (zh) 2020-02-25
TWI816858B (zh) 2023-10-01
CN110839159A (zh) 2020-02-25
WO2020035829A1 (en) 2020-02-20
JP7313427B2 (ja) 2023-07-24
US20210329242A1 (en) 2021-10-21
US11082693B2 (en) 2021-08-03
JP2021536169A (ja) 2021-12-23
TW202021351A (zh) 2020-06-01
JP7481538B2 (ja) 2024-05-10

Similar Documents

Publication Publication Date Title
KR102636267B1 (ko) 변형 행렬 선택의 계수에 따른 코딩
US20210266562A1 (en) Blending method for inter prediction with geometry partition
CN113261290B (zh) 基于修改历史的运动预测
CN113261293B (zh) 用于帧内块复制的基于历史的运动候选列表构建
EP2699001B1 (en) A method and a system for video signal encoding and decoding with motion estimation
WO2020044196A1 (en) Combined history-based motion vector predictor and multi-motion model decoding
JP7288084B2 (ja) 変換スキップモードにおける信号通知
TWI822838B (zh) 使用空間鄰居的重疊塊運動補償
US11558608B2 (en) On split prediction
CN115104309A (zh) 对merge模式的改进
JPWO2020035829A5 (ko)
TWI840400B (zh) 基於多運動模型的視頻編碼和解碼
WO2024000768A1 (zh) 视频编、解码方法及装置、码流、解码器、编码器、存储介质

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant