KR20210154157A - 다중 변환 행렬의 선택 및 컨텍스트 모델링 - Google Patents

다중 변환 행렬의 선택 및 컨텍스트 모델링 Download PDF

Info

Publication number
KR20210154157A
KR20210154157A KR1020217033198A KR20217033198A KR20210154157A KR 20210154157 A KR20210154157 A KR 20210154157A KR 1020217033198 A KR1020217033198 A KR 1020217033198A KR 20217033198 A KR20217033198 A KR 20217033198A KR 20210154157 A KR20210154157 A KR 20210154157A
Authority
KR
South Korea
Prior art keywords
transform
mode
current video
block
mts
Prior art date
Application number
KR1020217033198A
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 KR20210154157A publication Critical patent/KR20210154157A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

다중 변환 행렬 선택 및 컨텍스트 모델링을 포함하는 디지털 비디오 코딩을 위한 디바이스들, 시스템들, 및 방법들이 설명된다. 비디오 처리를 위한 예시적인 방법은, 비디오의 현재 비디오 블록 및 상기 비디오의 비트스트림 표현 간의 변환(conversion)을 위하여, 다중 변환 선택(multiple transform selection; MTS) 동작에서 변환 타입의 인디케이션이 상기 비트스트림 표현으로부터 배제되는지 여부를 결정하는 단계, 및 상기 변환(conversion)을 수행하는 단계를 포함하고, 상기 인디케이션은, 시퀀스 파라미터 세트, 픽처 파라미터 세트, 타일 그룹 헤더, 슬라이스 헤더, 픽처 헤더, 타일 헤더, 코딩 트리 유닛 로우, 또는 비디오 데이터 유닛에 있고, 상기 MTS 동작은 상기 변환(conversion) 동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위하여 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함한다.

Description

다중 변환 행렬의 선택 및 컨텍스트 모델링
파리 조약(Paris Convention)에 따른 적용가능한 특허 법 및/또는 규칙들 하에서, 본 출원은 2020년 4월 23일에 출원된 국제 특허 출원 제 PCT/CN2019/083844호에 대한 우선권 및 이익을 적시에 주장하도록 이루어진다. 법 하의 모든 목적들에 대하여, 전술된 출원들의 전체 개시들은 참조에 의하여 본 출원의 개시의 일부로서 포함된다.
본 특허 문서는 비디오 코딩 기법들, 디바이스들, 및 시스템들에 관련한다.
비디오 압축(video compression)에서의 진보들(advances)에 불구하고, 디지털 비디오는 여전히 인터넷 및 다른 디지털 통신 네트워크들에서 가장 큰 대역폭 사용을 처리(accounts for)한다. 비디오를 수신하고 표시하는 것이 가능한 연결된 사용자 디바이스들의 개수가 증가함에 따라, 디지털 비디오 사용법에 대한 대역폭 요구가 계속하여 증가할 것이 예상된다.
디지털 비디오 코딩에, 보다 구체적으로, 비디오 코딩을 위한 다중 변환 행렬 선택 및 컨텍스트 모델링에 관련된 디바이스들, 시스템들 및 방법들. 설명된 방법들은, 기존 비디오 코딩 표준들(예를 들어, 고효율 비디오 코딩(High Efficiency Video Coding; HEVC)) 및 미래 비디오 코딩 표준들 모두 또는 비디오 코덱들에 적용될 수 있다.
하나의 대표적인 측면에서, 개시된 기술은 비디오 처리를 위한 방법을 제공하는 데 사용될 수 있다. 본 방법은, 비디오의 현재 비디오 블록 및 상기 비디오의 비트스트림 표현 간의 변환(conversion)을 위하여, 다중 변환 선택(a multiple transform selection; MTS) 동작에서 변환 타입의 인디케이션이 상기 비트스트림 표현으로부터 배제되는지를 결정하는 단계 - 상기 현재 비디오 블록은 인트라 블록 카피(intra block copy; IBC) 모드를 사용하여 코딩됨-, 및 상기 변환(conversion)을 수행하는 단계를 포함하고, 상기 인디케이션은 시퀀스 파라미터 세트(sequence parameter set; SPS), 픽처 파라미터 세트(picture parameter set; PPS), 타일 그룹 헤더, 슬라이스 헤더, 픽처 헤더, 타일 헤더, 코딩 트리 유닛(coding tree unit; CTU) 로우(row), 코딩 유닛, 또는 비디오 데이터 유닛에 있고, 상기 MTS 동작은, 상기 변환(conversion) 동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위한 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함한다.
또 다른 대표적인 측면에서, 개시된 기술은 비디오 처리를 위한 방법을 제공하는 데 사용될 수 있다. 본 방법은, 비디오의 현재 비디오 블록의 코딩 모드에 기초하여 다중 변환 선택(multiple transform selection; MTS) 동작의 선택적인 적용에 관하여 결정(decision)을 하는 단계, 및 상기 결정(decision)에 기초하여, 상기 현재 비디오 및 상기 비디오의 비트스트림 표현 간의 변환(conversion)을 수행하는 단계를 포함하고, 상기 MTS 동작은, 상기 변환(conversion) 동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위한 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함한다.
또 다른 대표적인 측면에서, 개시된 기술은 비디오 처리를 위한 방법을 제공하는 데 사용될 수 있다. 본 방법은, 현재 비디오 블록의 특성에 기초하여, 다중 변환 선택(multiple transform selection; MTS) 동작의 적어도 하나의 인덱스를 코딩하기 위한 컨텍스트 모델을 구성하는 단계, 및 상기 구성에 기초하여, 상기 현재 비디오 블록 및 상기 현재 비디오 블록을 포함하는 비디오의 비트스트림 표현 간의 변환(conversion)을 수행하는 단계를 포함하고, 상기 MTS 동작은, 상기 변환(conversion) 동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위하여 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함한다.
또 다른 대표적인 측면에서, 개시된 기술은 비디오 처리를 위한 방법을 제공하는데 사용될 수 있다. 본 방법은, 현재 비디오 블록 및 상기 현재 비디오 블록을 포함하는 비디오의 비트스트림 표현 간의 변환(conversion) 동안, 상기 변환(conversion)이 다중 변환 선택(multiple transform selection; MTS) 동작을 포함하는지를 결정하는 단계, 및 상기 결정에 기초하여, 개별적으로 상기 MTS 동작의 행렬들의 하나 이상의 수평 인덱스들 및 하나 이상의 수직 인덱스들을 코딩하는 단계를 포함하고, 상기 MTS 동작은 상기 변환(conversion) 동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위하여 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함한다.
또 다른 대표적인 측면에서, 개시된 기술은 비디오 처리를 위한 방법을 제공하는 데 사용될 수 있다. 본 방법은, 비디오의 현재 비디오 블록 및 상기 비디오의 비트스트림 표현 간의 변환(conversion)을 위하여, 인트라 블록 카피(intra block copy; IBC) 모드를 사용하여 코딩된 상기 현재 비디오 블록을 위한 다중 변환 선택(multiple transform selection; MTS) 동작에서 변환 타입의 인디케이션을 구성하는 단계, 및 상기 변환(conversion)을 수행하는 단계를 포함하고, 상기 인디케이션은 시퀀스 파라미터 세트(sequence parameter set; SPS), 픽처 파라미터 세트(picture parameter set; PPS), 타일 그룹 헤더, 슬라이스 헤더, 픽처 헤더, 타일 헤더, 코딩 트리 유닛(coding tree unit; CTU) 로우(row), 또는 비디오 데이터 유닛에 있고, 상기 MTS 동작은, 상기 변환(conversion) 동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위하여 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함한다.
또 다른 대표적인 측면에서, 개시된 기술은 비디오 처리를 위한 방법을 제공하는 데 사용될 수 있다. 본 방법은, 비디오의 현재 비디오 블록 및 상기 비디오의 비트스트림 표현 간의 변환(conversion)을 위하여, 다중 변환 선택(multiple transform selection; MTS) 동작에서 변환 타입의 인디케이션이 상기 현재 비디오 블록에 대한 상기 비트스트림 표현으로부터 배제되는지 여부를 결정하는 단계, 및 상기 변환(conversion)을 수행하는 단계를 포함하고, 상기 인디케이션은 시퀀스 파라미터 세트(sequence parameter set; SPS), 픽처 파라미터 세트(picture parameter set; PPS), 타일 그룹 헤더, 슬라이스 헤더, 픽처 헤더, 타일 헤더, 코딩 트리 유닛(coding tree unit; CTU) 로우(row), 코딩 유닛, 또는 비디오 데이터 유닛에 있고, 상기 결정하는 단계는 논-제로 코딩된 계수의 마지막(last) 위치(position)에 기초하고, 상기 MTS 동작은 상기 변환(conversion) 동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위한 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함한다.
또 다른 대표적인 측면에서, 개시된 기술은 비디오 처리를 위한 방법을 제공하는 데 사용될 수 있다. 본 방법은, 비디오의 현재 비디오 블록 및 상기 비디오의 비트스트림 표현 간의 변환(conversion)을 위하여, 상기 현재 비디오 블록의 크로마 성분에 대한 다중 변환 선택(multiple transform selection; MTS) 동작을 사용하는 것의 인디케이션을 구성하는 단계, 및 상기 변환(conversion)을 수행하는 단계를 포함하고, 상기 구성하는 단계는 상기 현재 비디오 블록의 색상 포맷에 기초하며, 상기 MTS 동작은 상기 변환(conversion)동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위한 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함한다.
또 다른 대표적인 측면에서, 개시된 기술은 비디오 처리를 위한 방법을 제공하는 데 사용될 수 있다. 본 방법은, 비디오의 현재 비디오 블록 및 상기 비디오의 비트스트림 표현 간의 변환(conversion)을 위하여, 서브-블록 변환(sub-block transform; SBT) 동작이 상기 현재 비디오 블록에 대하여 적용되는지를 결정하는 단계, 및 다중 변환 선택(multiple transform selection; MTS) 동작을 사용함으로써 상기 변환(conversion)을 수행하는 단계를 포함하고, 상기 SBT 동작은 위치-의존적 변환 동작을 포함하고, 상기 MTS 동작은 상기 변환(conversion)동안 상기 현재 비디오 블록의 예측 에러들을 변환하기 위하여 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함한다.
또 다른 대표적인 측면에서, 개시된 기술은 비디오 처리를 위한 방법을 제공하는 데 사용될 수 있다. 본 방법은, 비디오의 현재 비디오 블록의 색상 포맷에 기초하여, 상기 현재 비디오 블록의 크로마 성분에 인트라 서브-블록 파티셔닝(intra sub-block partitioning; ISP) 동작의 선택적인 적용에 관하여, 결정(decision)을 하는 단계, 및 상기 결정(decision)에 기초하여 상기 현재 비디오 블록 및 상기 비디오의 비트스트림 표현 간의 변환(conversion)을 수행하는 단계를 포함하고, 상기 ISP 동작은 적어도 미리 결정된 개수의 샘플들을 가지는 서브-파티션들로 블록들을 수직적으로 또는 수평적으로 분할(divide)하는 것을 포함한다.
또 다른 대표적인 측면에서, 위에서-설명된 방법은 프로세서-실행가능한 코드의 형태로 구체화되고, 컴퓨터-판독가능한 프로그램 매체에 저장된다.
또 다른 대표적인 측면에서, 위에서-설명된 방법을 수행하도록 구성되거나 동작가능한 디바이스는 개시된다. 상기 디바이스는 본 방법을 구현하도록 프로그래밍된 프로세서를 포함할 수 있다.
또 다른 대표적인 측면에서, 비디오 디코더 장치는 여기에서 설명된 바에 따른 방법을 구현할 수 있다.
개시된 기술의 위 및 다른 측면들 및 특징들은, 보다 더 상세히 도면들, 설명, 및 청구범위에서 설명된다.
도 1는 JEM에서 이차 변환(secondary transform)의 예시를 나타낸다.
도 2는 제안된 감소된 이차 변환(reduced secondary transform; RST)의 예시를 나타낸다.
도 3는 서브-블록 변환 모드들 SBT-V 및SBT-H의 예시를 나타낸다.
도 4는 4Х8 및 8Х4 블록들의 분할들의 예시를 나타낸다.
도 5는 4Х8, 8Х4 및 4Х4를 제외한 모든 블록들 분할들의 예시를 나타낸다.
도 6는 4x8의 블록을 2개의 독립적으로 디코딩가능한 구역들(areas)로 분할하는 것의 예시를 나타낸다.
도 7는 수직 예측기(predictor)를 갖는 4xN 블록들에 대한 처리량을 최대화하기 위한 픽셀들의 로우들의 처리의 순서의 예시를 나타낸다.
도 8a 내지 도 8i는 비디오 처리를 위한 예시 방법들의 흐름차트들을 나타낸다.
도 9는, 본 문서에서 설명된 시각 매체 디코딩 또는 시각 매체 인코딩 기법을 구현하기 위한 하드웨어 플랫폼의 예시의 블록 다이어그램이다.
도 10는 개시된 기법들이 구현될 수 있는 예시 비디오 처리 시스템의 블록 다이어그램이다.
개시된 기술의 실시예들에서, 압축 성능을 개선하기 위하여 미래 표준들 및 기존 비디오 코딩 표준들(예를 들어, HEVC, H.265)에 적용될 수 있다. 섹션 제목들(Section headings)은 설명의 가독성(readability)을 개선하기 위하여 본 문서에서 사용되고, 임의의 방식으로 논의(discussion) 또는 실시예들(및/또는 구현들)을 해당(respective) 섹션들에만 제한하지 않는다.
2 비디오 코딩 도입부
보다 더 높은 해상도 비디오의 증가하는 수요로 인하여, 비디오 코딩 방법들 및 기법들은 현대(modern) 기술에서 어디에나 있습니다(ubiquitous). 비디오 코덱들은, 전형적으로 디지털 비디오를 압축하거나 압축 해제(decompress)하는 소프트웨어 또는 전자 회로를 포함하고, 보다 더 높은 코딩 효율성을 제공하기 위하여 계속해서(continually) 개선되고 있다. 비디오 코덱은 압축되지 않은 비디오를 압축된 포맷으로, 또는 반대의 방향으로, 변환한다. 비디오 품질, (비트 레이트에 의하여 결정되는) 비디오를 표현하는 데 사용되는 데이터의 양, 인코딩 및 디코딩 알고리즘들의 복잡도, 데이터 손실들 및 에러들에 대한 민감도, 편집(editing)의 용이성(ease), 랜덤 액세스, 및 종단간(end-to-end) 지연(delay)(대기(latency))간의 복잡한 관계들이 있다. 압축된 포맷은 보통, 표준 비디오 압축 사양, 예를 들어, 고효율 비디오 코딩(High Efficiency Video Coding; HEVC) 표준(H.265 또는 MPEG-H 파트 2로도 알려짐), 최종화될 다용도 비디오 부호화(Versatile Video Coding), 또는 다른 현재 및/또는 비디오 코딩 표준들에 따른다(conform).
비디오 코딩 표준들은 잘-알려진 ITU-T 및 ISO/IEC 표준들의 개발(development)을 통해 주로(primarily) 발전(evolve)되었다. ITU-T는 H.261 및 H.263를 생산(produce)하였고, ISO/IEC는 MPEG-1 및 MPEG-4 비주얼(MPEG-1 and MPEG-4 Visual)를 생산하였고, 2개의 조직들(organizations)은 공동으로(jointly) H.262/MPEG-2 비디오 및 H.264/MPEG-4 AVC(H.262/MPEG-2 Video and H.264/MPEG-4 Advanced Video Coding) 및 H.265/HEVC 표준들을 생산하였다. H.262 이후에, 비디오 코딩 표준들은 하이브리드 비디오 코딩 스트럭처에 기초하고, 시간 예측(temporal prediction)과 함께 변환(transform) 코딩이 활용된다. HEVC를 넘어선 미래 비디오 코딩 기술들을 탐색(explore)하기 위하여, JVET(Joint Video Exploration Team)는 2015에 공동으로 VCEG 및 MPEG에 의하여 설립(found)되었다. 그 이후에, 많은 새로운 방법들은 JVET에 의하여 채택(adopt)되었고, JEM(Joint Exploration Model) [2]로 명명된 기준 소프트웨어에 들어갔다(put into). 2018년 4월에, VCEG (Q6/16) 및 ISO/IEC JTC1 SC29/WG11 (MPEG) 간의 JVET(Joint Video Expert Team)은, HEVC에 비해 50% 비트레이트 감소에 타겟팅하는 VVC 표준에서 작업하기 위하여 생성(create)되었다.
2.1 이산 사인파 변환 패밀리들(Discrete Sinusoidal Transform Families)
이산 사인파 변환 패밀리들은, 잘-알려진 이산 푸리에, 코사인, 사인, 및 카루넨-루베(Karhunen-Loeve)(1-차 마코브 컨디션 하에서) 변환들을 포함한다. 모든 멤버들 간에, 코사인 함수들에 기초한 8개의 타입들의 변환들 및 사인 함수들에 기초한 8개의 타입들의 변환들, 다시 말해(namely), 각각 DCT-I, II, ..., VIII, 및 DST-I, II, ..., VIII가 있다. 이산 코사인 및 사인 변환들의 이 변형들은 그것들의 대응하는 대칭-주기적인(symmetric-periodic) 시퀀스들의 다른 대칭(symmetry)으로부터 기원한다. DCT 및 DST의 선택된 타입들의 변환 기저 함수들은, 제안된 방법들에서 활용된 바에 따라, 하기 표 1에서 공식화(formulate)된다.
표 1: N-포인트 입력에 대하여 DCT-II/V/VIII 및 DST-I/VII의 변환 기저 함수들
Figure pct00001
2.2 HEVC/H.265에서 변환 설계
HEVC 표준은, 사이즈 4Х4, 8Х8, 16Х16, 및 32Х32의 코어 변환 행렬들이 블록-기반의 모션-보상된(compensated) 비디오 압축의 컨텍스트에서 2-차원 변환들에 대하여 사용되는 것을 특정한다. 이전의 비디오 코딩 표준들 같이, HEVC는 모든 변환 사이즈들에 대하여 역 이산 코사인 변환(inverse discrete cosine transform; IDCT)과 유사한(resembling) 2-차원 변환들을 특정한다. 다수의 변환 사이즈들은 압축 성능을 개선시킬뿐만 아니라, 구현 복잡도도 증가시킨다.
우리가 아는 바에 따라, 이산 사인 변환 타입 VII(Discrete Sine Transform Type VII; DST-VII)은 예측 방향에 따라 DCT-II 보다 더 좋은 최적 변환을 근사한다. HEVC에서, 4Х4 DST-VII는 루마 인트라 예측 잔차들을 코딩하기 위하여 채택되었다.
표준, 예를 들어, VTM-2 표준에 비한 차이점들은 이중 볼드체 괄호들을 사용하여 표시(demarcate)되고, 예를 들어, ((a))는 "a"가 추가된 것을 표시한다.
7.3.2.3.1 일반 픽처 파라미터 세트 RBSP 구문
Figure pct00002
7.3.2.3.2 픽처 파라미터 세트 범위 확장 구문
Figure pct00003
Figure pct00004
7.3.8.11 잔차 코딩 구문
Figure pct00005
1과 동일한 transform_skip_rotation_enabled_flag 는, 회전(rotationa)이 변환 스킵 동작을 사용하여 코딩된 인트라 4x4 블록들에 대하여 잔차 데이터 블록에 적용되는 것을 특정한다. 0과 동일한 transform_skip_rotation_enabled_flag는, 이 회전이 적용되지 않는 것을 특정한다. transform_skip_rotation_enabled_flag의 값은, 존재하지 않을 때, 0과 동일한 것으로 추론(infer)된다.
1과 동일한 transform_skip_context_enabled_flag 는, 특정한 컨텍스트가 스킵된 변환을 갖는 변환 블록들에 대하여 sig_coeff_flag의 파싱하는 것에 대하여 사용되는 것을 특정한다. 0과 동일한 transform_skip_context_enabled_flag는, 변환 블록들에 대하여 변환 우회(bypass) 또는 변환 스킵의 존재(presence) 또는 부재(absence)가 이 플래그에 대하여 컨텍스트 선택에서 사용되지 않는 것을 특정한다. transform_skip_context_enabled_flag의 값은, 존재하지 않을 때, 0과 동일한 것으로 추론된다.
2.3 VVC 워킹 드래프트 3에서 MTS(MTS in VVC working draft 3)
다중 변환 선택(multiple transform selection; MTS) 기술에서, 대안적인 변환들의 그룹이 미리-정의된다. 인코더는, 다수의 미리 정의된 후보들로부터 변환을 선택하고 비트스트림으로 상기 선택을 명시적으로(explicitly) 시그널링(signal)하도록 권한(empower)이 부여된다. 관찰들(observations)에 의하여, 잔차 통계치(statistics)는 심지어 단일 예측 방향에 대하여도 여전히 상당히 다양한 것이 모티베이트(motivate)된다.
2.3.1 VTM3에서 다중 변환 선택
현재 VVC 디자인에서, MTS는, 64보다 작거나 동일한 너비 및 높이 모두를 갖는 루마(luma) 코딩 유닛들(coding units; CUs)에 적용하고, MTS가 적용하는지 여부는, tu_mts_flag로 명명된, CU 레벨 플레그에 의하여 제어된다. CU 레벨 플래그가 0과 동일할 때, 디폴트 변환, DCT-II는 잔차를 인코딩하기 위하여 CU에서 적용된다. MTS 인에이블된 CU 내에서 루마 코딩 블록의 경우, 2개의 추가적인 플래그들은, 각각 사용될 수평 및 수직 변환을 식별하기 위하여 시그널링된다. 각 플래그는, DST-VII 또는 DCT-VIII가 활용되는지 여부를 지시하기 위하여 1개의 비트로 코딩된다.
DCT-2 변환에 추가하여, DST-7 및 DCT-8는 또한 적용될 수 있다. 수평 또는 수직 변환 중 하나의 경우, 1-비트 플래그는, 디코더 사이드로 전송되고, mts_idx로 명명된다. mts_idx 및 변환 행렬 간의 매핑은 표 2에서 표로 작성된다(tabulate).
표 2: 허용된 변환 행렬의 리스트
Figure pct00006
2.3.2 MTS 구문 요소들
7.3.2.1 시퀀스 파라미터 세트 RBSP 구문
Figure pct00007
Figure pct00008
7.3.4.10 변환 유닛 구문
Figure pct00009
7.3.4.11 잔차 코딩 구문
Figure pct00010
Figure pct00011
2.3.3 MTS 구문 요소들의 시맨틱들
1과 동일한 sps_mts_intra_enabled_flag는, tu_mts_flag가 인트라 코딩 유닛들에 대하여 잔차 코딩 구문에서 존재할 수 있는 것을 특정한다. 0과 동일한 sps_mts_intra_enabled_flag는 tu_mts_flag가 인트라 코딩 유닛들에 대하여 잔차 코딩 구문에서 존재하지 않는 것을 특정한다.
sps_mts_inter_enabled_flag는 tu_mts_flag이 인터 코딩 유닛들에 대하여 잔차 코딩 구문에서 존재할 수 있는 것을 특정한다. 0과 동일한 sps_mts_inter_enabled_flag는, tu_mts_flag가 인터 코딩 유닛들에 대하여 잔차 코딩 구문들에서 존재하지 않는 것을 특정한다.
1과 동일한 tu_mts_flag [ x0 ][ y0 ]는, 다중 변환 선택이 연관된 루마 변환 블록의 잔차 샘플들에 적용되는 것을 특정한다. 0과 동일한 tu_mts_flag [ x0 ][ y0 ]는, 다중 변환 선택이 연관된 루마 변환 블록의 잔차 샘플들에 적용되지 않는 것을 특정한다. 어레이 인덱스들 x0, y0는, 픽처(picture)의 탑-레프트(top-left) 루마 샘플에 비해, 고려된 변환 블록의 탑-레프트 루마 샘플의 로케이션( x0, y0 )을 특정한다.
tu_mts_flag[ x0 ][ y0 ]가 존재하지 않을 때, 이것은 0과 동일한 것으로 추론된다.
mts_idx[ x0 ][ y0 ][ cIdx ]는, 어느 변환 커널들이 현재 변환 블록의 수평 및 수직 방향을 따라 잔차 샘플들에 적용되는지를 특정한다. 어레이 인덱스들 x0, y0은, 픽처의 탑-레프트 루마 샘플에 비해 고려된 변환 블록의 탑-레프트 루마 샘플의 로케이션( x0, y0 )를 특정한다 어레이 인덱스 cIdx는 색상 성분에 대한 인디케이터를 특정한다; 0과 동일하면 루마, 1과 동일하면 Cb, 2와 동일하면 Cr임.
mts_idx[ x0 ][ y0 ][ cIdx ]가 존재하지 않으면, 이것은 -1과 동일한 것으로 추론된다.
표 8-9 - mts_idx[ x ][ y ][ cIdx ]에 따른 trTypeHor 및 trTypeVer의 상세(Specification)
Figure pct00012
2.4 (VCC 워킹 드래프트 4에 따른) MTS를 위한 새로운 진전(progress)
2.4.1 JVET-L0134
인트라 예측 에러 신호의 분포(distribution)는, 블록의 모양과 상관관계를 갖는 것이 드러남에 따라, 상기 변환 블록의 너비 및 높이에 기초하여 다른 방향들에 대하여 다른 변환들을 선택하는 것이 제안된다. 보다 더 정밀하게, 변환 블록의 더 짧은 사이드에 대하여 DST7를, 블록의 더 긴 사이드에 대하여 DCT2를 사용하는 것이 제안된다. 스퀘어 블록들에 대하여, 수평 및 수직 변환들 모두에 대하여 DCT2를 사용하는 것이 제안된다.
표 3: VTM-2에 대한 차이점들을 갖는 제안된 변환 유도(derivation) 및 시그널링 표는, 볼드체 이중 괄호들을 사용하여 표시(demarcate)된다.
Figure pct00013
2.4.2 JVET-M0464
MTS 플래그를 먼저 파싱하는 것 대신에, 그 이후에 MTS 인덱스에 대하여 2 개의 빈들(bins)로 코딩하는 고정된(fixed) 길이로 이어지는 변환 스킵(transform skip; TS) 플래그는, 새로운 공동(joint) 구문 요소 tu_mts_idx는 절단(truncate)된 단항(unary) 이진화(binarization)를 사용한다. 제1 빈은 TS를 지시하고, 제2 빈은 MTS 플래그 및 모든 다음의 MTS 인덱스들을 지시한다. 완전한 시맨틱들 및 이진화는 다음의 표에서 나타난다:
Figure pct00014
컨텍스트 모델들의 개수는 변화하지 않고, tu_mts_idx의 각 빈에 대한 컨텍스트 인덱스 증분(increment) ctxInc의 할당(assignment)은 다음과 같다:
Figure pct00015
2.4.3 JVET-M0303에서 암시적(Implicit) MTS
인트라 예측 에러 신호의 분포(distribution)가 블록의 모양과 상관관계가 있는 것으로 드러남에 따라, 상기 변환 블록의 너비 및 높이에 기초하여 다른 방향들에 대한 다른 변환들을 선택하는 것이 제안된다. 보다 더 정밀하게, 변환 블록의 더 짧은 사이드에 대하여 DST7을, 및 블록의 더 긴 사이드에 대하여 DCT2를 사용하는 것이 제안된다. 스퀘어 블록들에 대하여, MTS가 시퀀스 및 DST7에 대하여 인에이블될 때, MTS가 시퀀스에 대하여 디스에이블되면, 수평 및 수직 변환들 모두에 대하여 DCT2를 사용하는 것이 제안된다. 모양 적응성은, 공간적인(spatial) 예측 모드들로 예측되는 인트라 블록들에 대하여만 사용된다.
2.4.4 최신 VCC 워킹 드래프트에서 구문, 시맨틱들 및 디코딩 프로세스
2.4.4.1 구문 설계
7.3.2.1 시퀀스 파라미터 세트 RBSP 구문
Figure pct00016
7.3.6.10 Transform unit syntax 변환 유닛 구문
Figure pct00017
Figure pct00018
2.4.4.2 시맨틱들
1과 동일한 sps_mts_enabled_flag는, sps_explicit_mts_intra_enabled_flag이 시퀀스 파라미터 세트 RBSP 구문에서 존재하는 것 및 sps_explicit_mts_inter_enabled_flag가 시퀀스 파라미터 세트 RBSP 구문에 존재하는 것을 특정한다. 0과 동일한 sps_mts_enabled_flag는, sps_explicit_mts_intra_enabled_flag가 시퀀스 파라미터 세트 RBSP 구문에 존재하지 않는 것 및 sps_explicit_mts_inter_enabled_flag가 시퀀스 파라미터 세트 RBSP 구문에 존재하지 않는 것을 특정한다.
1과 동일한 sps_explicit_mts_intra_enabled_flag는, tu_mts_idx가 인트라 코딩 유닛들에 대한 변환 유닛 구문에 존재할 수 있는 것을 특정한다. 0과 동일한 sps_explicit_mts_intra_enabled_flag는, tu_mts_idx가 인트라 코딩 유닛들에 대하여 변환 유닛 구문에서 존재하지 않는 것을 특정한다. sps_explicit_mts_intra_enabled_flag의 값이, 존재하지 않을 때, 0과 동일한 것으로 추론된다.
1과 동일한 sps_explicit_mts_inter_enabled_flag는, tu_mts_idx가 인터 코딩 유닛들에 대하여 변환 유닛 구문에서 존재할 수 있는 것을 특정한다. 0과 동일한 sps_explicit_mts_inter_enabled_flag는, tu_mts_idx가 인터 코딩 유닛들에 대하여 변환 유닛 구문에서 존재하지 않는 것을 특정한다. sps_explicit_mts_inter_enabled_flag의 값은, 존재하지 않을 때, 0과 동일한 것으로 추론된다.
2.4.4.3 디코딩 프로세스
암시적 MTS를 인에이블하는지 여부는 다음의 규칙에 따라 결정된다:
변수 implicitMtsEnabled는 다음과 같이 도출된다:
- sps_mts_enabled_flag이 1과 동일하고 다음의 컨디션들 중 하나가 참(true)이면, implicitMtsEnabled이 1과 동일하게 설정된다:
- IntraSubPartitionsSplitType가 ISP_NO_SPLIT와 동일하지 않다
- cu_sbt_flag는 1과 동일하고 Max( nTbW, nTbH )는 32보다 작거나 동일하다
- sps_explicit_mts_intra_enabled_flag 및 sps_explicit_mts_inter_enabled_flag는 모두 0과 동일하고, CuPredMode[ xTbY ][ yTbY ]는 MODE_INTRA와 동일하다
- 그렇지 않으면, implicitMtsEnabled는 0과 동일하게 설정된다.
수평 변환 커널을 특정하는 변수 trTypeHor 및 수직 변환 커널을 특정하는 변수 trTypeVer는, 다음과 같이 도출된다:
- cIdx이 0보다 크면, trTypeHor 및 trTypeVer는 0과 동일하게 설정된다.
- 그렇지 않으면, implicitMtsEnabled이 1과 동일하면, 다음을 적용한다:
- IntraSubPartitionsSplitType이 ISP_NO_SPLIT과 동일하지 않으면, trTypeHor 및 trTypeVer는 intraPredMode에 따라 표 8-15에서 특정된다.
- 그렇지 않으면, cu_sbt_flag이 1과 동일하면, trTypeHor 및 trTypeVer는 cu_sbt_horizontal_flag 및 cu_sbt_pos_flag에 따라 표 8-14에서 특정된다.
- 그렇지 않으면(sps_explicit_mts_intra_enabled_flag 및 sps_explicit_mts_inter_enabled_flag이 0과 동일함), trTypeHor 및 trTypeVer이 다음과 같이 도출된다:
trTypeHor = ( nTbW >= 4 && nTbW <= 16 && nTbW <= nTbH ) ? 1 : 0 (8-1030)
trTypeVer = ( nTbH >= 4 && nTbH <= 16 && nTbH <= nTbW ) ? 1 : 0 (8-1031)
- 그렇지 않으면, trTypeHor 및 trTypeVer는 tu_mts_idx[ xTbY ][ yTbY ]에 따라 표 8-13에서 특정된다.
표 8-13 - tu_mts_idx[ x ][ y ]에 따른 trTypeHor 및 trTypeVer의 상세
Figure pct00019
2.4.5 감소된 이차 변환
JEM에서, 이차 변환은 순방향 일차 변환 및 양자화 간에(인코더에서) 및 역-양자화(de-quantization) 및 역(inverse) 일차 변환간에(디코더에서) 적용된다. 도 1에서 나타난 바와 같이, 4x4 (또는 8x8) 이차 변환은 블록 사이즈에 의존하여 수행된다. 예를 들어, 4x4 이차 변환은 작은 블록들(예를 들어, min(너비, 높이) < 8)에 대하여 적용되고, 8x8 이차 변환은, 8x8 블록 마다 보다 더 큰 블록들(예를 들어, min(너비, 높이) > 4)에 대하여 적용된다.
이차 변환에 대하여, 비-분리 변환들이 적용되므로, 이것은 비-분리 이차 변환(Non-Separable Secondary Transform; NSST)으로도 명명된다. 총 35개의 변환 세트들이 있고, 변환 세트 마다 3개의 비-분리 변환 행렬들(커널들, 16x16 행렬을 갖는 각각의 커널)이 사용된다.
감소된 이차 변환(Reduced Secondary Transform; RST)은 JVET-K0099에서 도입되었고, 4개의 변환 세트들(35개의 변환 세트들 대신에) 매핑은, 인트라 예측 방향에 따른 JVET-L0133으로 도입되었다. 이 기여(contribution)에서, 16x48 및 16x16 행렬들은 각각 8x8 및 4x4 블록들에 대하여 이용된다. 표기적인 편의성을 위하여, 16x48 변환은 RST8x8로 표시되고, 16x16 변환은 RST4x4로 표시된다. 이러한 방법은 VVC에 의하여 최근에 채택되었다.
이차 순방향 및 역 변환들은 일차 변환들의 프로세스 단계로부터 분리된 프로세스 단계이다.
인코더의 경우, 일차 순방향 변환은 먼저 수행되고, 그 이후에 이차 순방향 변환 및 양자화, 및 CABAC 비트 인코딩으로 이어진다. 디코더의 경우, CABAC 비트 디코딩 및 역 양자화, 그 이후에 이차 역 변환이 먼저 수행되고, 그 이후에 일차 역 변환으로 이어진다.
RST는 인트라 코딩된 TU들에만 적용된다.
2.5 VVC 워킹 드래프트 5에서 MTS
최신 VVC 워킹 드래프트에서, 시맨틱들 및 구문 표들은 정렬되지 않는다(misaligned).
7.3.2.3 시퀀스 파라미터 세트 RBSP 구문
Figure pct00020
Figure pct00021
Figure pct00022
Figure pct00023
7.3.7.10 Transform unit syntax 변환 유닛 구문
Figure pct00024
Figure pct00025
1과 동일한 sps_explicit_mts_intra_enabled_flag는, tu_mts_idx이 인트라 코딩 유닛들에 대하여 변환 유닛 구문에서 존재할 수 있는 것을 특정한다. 0과 동일한 sps_explicit_mts_intra_enabled_flag는, tu_mts_idx이 인트라 코딩 유닛들에 대하여 변환 유닛 구문에서 존재하지 않는 것을 특정한다. sps_explicit_mts_intra_enabled_flag의 값은, 존재하지 않을 때, 0과 동일한 것으로 추론된다.
1과 동일한 sps_explicit_mts_inter_enabled_flag는, tu_mts_idx가 인터 코딩 유닛들에 대하여 변환 유닛 구문에서 존재할 수 있는 것을 특정한다. 0과 동일한 sps_explicit_mts_inter_enabled_flag는, tu_mts_idx가 인터 코딩 유닛들에 대하여 변환 유닛 구문에서 존재하지 않는 것을 특정한다. sps_explicit_mts_inter_enabled_flag의 값은, 존재하지 않을 때, 0과 동일한 것으로 추론된다.
0과 동일한 pred_mode_flag 는, 현재 코딩 유닛이 인터 예측 모드로 코딩되는 것을 특정한다. 1과 동일한 pred_mode_flag는, 현재 코딩 유닛이 인트라 예측 모드로 코딩되는 것을 특정한다. 변수 CuPredMode[ x ][ y ]는 x = x0..x0 + cbWidth - 1 및 y = y0..y0 + cbHeight - 1에 대하여 다음에 따라 도출된다:
- pred_mode_flag이 0과 동일하면, CuPredMode[ x ][ y ]가 MODE_INTER와 동일하게 설정된다.
- 그렇지 않으면(pred_mode_flag가 1과 동일함), CuPredMode[ x ][ y ]는 MODE_INTRA와 동일하게 설정된다.
pred_mode_flag가 존재하지 않을 때, 이것은 각각 I 슬라이스를 디코딩할 때 1과 동일한 것으로, P 또는 B 슬라이스를 디코딩할 때 0과 동일한 것으로 추론된다.
1과 동일한 pred_mode_ibc_flag 는, 현재 코딩 유닛이 IBC 예측 모드로 코딩되는 것을 특정한다. 0과 동일한 pred_mode_ibc_flag는, 현재 코딩 유닛이 IBC 예측 모드로 코딩되지 않는 것을 특정한다.
pred_mode_ibc_flag가 존재하지 않을 때, 이것은 각각 I 슬라이스를 디코딩할 때 sps_ibc_enabled_flag의 값과 동일한 것으로, P 또는 B 슬라이스를 디코딩할 때 0으로, 추론된다.
pred_mode_ibc_flag이 1과 동일할 때, 변수 CuPredMode[ x ][ y ]는 x = x0..x0 + cbWidth - 1 및 y = y0..y0 + cbHeight - 1인 경우 MODE_IBC와 동일하도록 설정된다.
2.6 서브-블록 변환
1과 동일한 cu_cbf를 갖는 인터-예측된 CU에 대하여, cu_sbt_flag는, 전체 잔차 블록 또는 잔차 블록의 서브-파트가 디코딩되는지 여부를 지시하기 위하여 시그널링될 수 있다. 전자의 경우에서, 인터 MTS 정보는 CU의 변환 타입을 결정하기 위하여 더 파싱된다. 후자의 경우에서, 잔차 블록의 파트는 추론된 적응적 변환으로 코딩되고, 잔차 블록의 다른 파트는 제로잉 아웃된다. SBT는 결합된 인터-인트라 모드에 적용되지 않는다.
서브-블록 변환에서, 위치-의존적 변환은 SBT-V 및 SBT-H에서 루마 변환 블록들에 적용된다(크로마 TB는 항상 DCT-2를 사용함). SBT-H 및 SBT-V의 2개의 위치들은, 다른 코어 변환들과 연관된다. 보다 더 구체적으로, 각 SBT 위치에 대한 수평 및 수직 변환들은 도 3에서 특정된다. 예를 들어, SBT-V 위치 0에 대한 수평 및 수직 변환들은, 각각 DCT-8 및 DCT-7이다. 잔차 TU의 하나의 사이드가 32보다 클 때, 대응하는 변환은 DCT-2로 설정된다. 그러므로, 서브-블록 변환은 TU 타일링, cbf, 및 잔차 블록의 수평 및 수직 변환들을 공동으로 특정하고, 블록의 주요 잔차가 블록의 하나의 사이드에 있는 경우들에 대하여 구문 단축키(shortcut)로 고려될 수 있다.
2.7 아핀 선형 가중 인트라 예측(Affine linear weighted intra prediction; ALWIP 또는 행렬 기반 인트라 예측)
아핀 선형 가중 인트라 예측(Affine linear weighted intra prediction; ALWIP, 행렬 기반 인트라 예측(Matrix based intra prediction; MIP)으로도 알려짐)는 JVET-N0217에서 제안된다.
JVET-N0217에서, 2개의 테스트들이 수행(conduct)된다. 테스트 1에서, ALWIP는 8K 바이트들의 메모리 제한으로, 샘플 마다 최대 4개의 곱셈들로 설계된다. 테스트 2는 테스트 1와 유사하지만, 메모리 요구사항 및 모델 아키텍처의 측면에서 설계를 더 단순화한다.
○ 모든 블록 모양들에 대하여 오프셋 벡터들 및 행렬들의 단일 세트.
○ 모든 블록 모양들에 대하여 19까지 모드들의 개수의 감소.
○ 5760 10-비트 값들, 다시 말해 7.20 킬로바이트까지 메모리 요구사항들의 감소.
○ 예측된 샘플들의 선형 보간은, 제1 테스트에서와 같은 반복적인 보간을 대체하는 방향마다 단일 단계에서 수행(carry out)된다.
2.8 인트라 서브블록 파티셔닝(Intra subblock partitioning; ISP)
JVET-M0102에서, ISP는 제안되고, 표 4에서 나타난 바와 같이, 블록 사이즈 차원들에 따라 2개 또는 4개의 서브-파티션들로 수직적으로 또는 수평적으로 루마 인트라-예측된 블록들을 분할한다. 도 4 및 도 5는 2개의 확률들의 예시들을 나타낸다. 모든 서브-파티션들은 적어도 16개의 샘플들을 가지는 것의 컨디션을 충족(fulfill)한다.
표 4: 블록 사이즈에 따른 서브-파티션들의 개수
Figure pct00026
이 서브-파티션들 각각에 대하여, 잔차 신호는, 인코더에 의하여 발송된 계수들을 엔트로피 디코딩하고 그 이후에 인버트 양자화 및 그것들을 변환함으로써 생성된다. 그 이후에, 서브-파티션은 인트라 예측되고, 최종적으로 대응하는 재구성된 샘플들은 예측 신호에 잔차 신호를 추가함으로써 획득된다. 그러므로, 각 서브-파티션의 재구성된 값들은, 다음 것의 예측을 생성하기 위하여 사용가능할 것이고, 프로세스를 반복할 것이다. 모든 서브-파티션들은 같은 인트라 모드를 공유한다.
활용된 스플릿(split) 및 인트라 모드에 기초하여, 정상 및 반전된 순서로 참조되는 처리 순서들의 2개의 다른 클래스들이 사용된다. 정상 순서에서, 처리될 제1 서브-파티션은 CU의 탑-레프트 샘플을 포함하는 것이고 그 이후에 아래쪽(수평 스플릿) 또는 오른쪽으로(수직 스플릿) 계속한다. 결과적으로, 서브-파티션들 예측 신호들을 생성하는 데 사용되는 기준 샘플들은, 라인들의 왼쪽 및 위쪽 사이드들에서만 위치된다. 한 편으로는, 반전된 처리 순서는 CU의 바텀-레프트 샘플을 포함하는 서브-파티션에서 시작하여 위쪽으로 계속하거나, CU의 탑-라이트 샘플을 포함하는 서브-파티션에서 시작하여 왼쪽으로 계속한다.
2.9 블록 차동 펄스-코드 변조 코딩(Block differential pulse-code modulation coding; BDPCM)
BDPCM는 JVET-M0057에서 제안된다. 현재 픽셀의 예측에 대해 레프트(A) 픽셀을 사용하는 수평적인 예측기의 모양으로 인해, 블록을 처리하는 것의 가장 처리량-효율적인 방식은 병렬로 하나의 컬럼의 모든 픽셀들을 처리하고, 순차적으로 이 컬럼들을 처리하는 것이다. 현재 픽셀의 예측에 대해 탑(B) 픽셀을 사용하는 수직적인 예측기의 모양으로 인해, 블록을 처리하는 것의 가장 처리량-효율적인 방식은 병렬로 하나의 라인의 모든 픽셀들을 처리하고, 순차적으로 이 라인들을 처리하는 것이다. 처리량을 증가시키기 위하여, 우리는 다음의 프로세스를 도입한다: 이 블록에서 선택(choose)된 예측기가 수직적일 때 너비 4의 블록은 수평적인 프론티어를 갖는 2개의 절반들로 분할되고, 이 블록에서 선택(choose)된 예측기가 수평적일 때, 높이 4의 블록은 수직적인 프론티어를 갖는 2개의 절반들로 분할된다.
블록이 분할될 때, 하나의 구역(area)로부터의 샘플들은 예측을 산출하기 위하여 또 다른 구역으로부터 픽셀들을 사용하도록 허용되지 않는다: 이 상황이 발생하면, 예측 픽셀이 예측 방향에서 기준 픽셀에 의하여 대체된다. 이는 수직적으로 예측된 4x8 블록에서 현재 픽셀 X의 다른 위치들에 대하여 도 6에 나타난다.
도 7에서 나타난 바와 같이, 이러한 특성 때문에, 2개의 사이클들에서 4x4 블록 및 4개의 사이클들에서 4x8 또는 8x4블록 등을 처리하는 것이, 이제 가능하게 되었다.
2.10 양자화된 잔차 도메인 BDPCM
JVET-N0413에서, 양자화된 잔차 도메인 BDPCM(RBDPCM으로 이후에 표시됨)이 제안된다. 인트라 예측은, 인트라 예측과 유사한 예측 방향(수평적인 또는 수직적인 예측)에서 복사하는 샘플에 의하여 전체 블록에서 행해진다. 잔차는 양자화되고, 양자화된 잔차 및 그것의 예측기(수평적인 또는 수직적인) 양자화된 값 간의 델타는 코딩된다.
사이즈 M(로우들) Х N(컬럼들)의 블록의 경우,
Figure pct00027
은 위쪽 또는 레프트 블록 경계 샘플들로부터의 필터링되지 않은 샘플들을 사용하여 수직적으로(탑 이웃 라인을 예측된 블록의 각 라인으로 복사) 또는 수평적으로(레프트 이웃 픽셀 값을 예측된 블록에 걸쳐 라인마다 복사) 인트라 예측을 수행한 후의 예측 잔차이다.
Figure pct00028
는 잔차
Figure pct00029
의 양자화된 버전을 표시하고, 여기서, 잔차는 기존 블록 및 예측된 블록 값들 간의 차이이다. 그 이후에, 블록 DPCM는 양자화된 잔차 샘플들에 적용되고, 원소들
Figure pct00030
을 갖는 수정된 MХN 어레이
Figure pct00031
을 초래한다. 수직적인 BDPCM이 시그널링될 때:
Figure pct00032
이다.
수평 예측의 경우, 유사한 규칙들이 적용되고, 잔차 양자화된 샘플들은 다음에 의하여 획득된다:
Figure pct00033
잔차 양자화된 샘플들
Figure pct00034
는 디코더로 발송된다.
디코더 사이드에서, 위의 계산들은
Figure pct00035
를 생산하기 위하여 반전된다. 수직적인 예측의 경우,
Figure pct00036
수평적인 경우,
Figure pct00037
.
역(inverse) 양자화된 잔차들
Figure pct00038
은 재구성된 샘플 값들을 생산하기 위하여 인트라 블록 예측 값들에 추가된다.
이 설계의 이점들중 하나는, 예측기를 단순히 추가하면 계수들이 파싱됨에 따라 계수가 파싱되는 동안 즉석에서(on the fly) 인버트 DPCM이 행해질 수 있거나, 파싱 이후에 수행될 수 있는 것이다.
변환(transform) 스킵은 양자화된 잔차 도메인 BDPCM에서 항상 사용된다.
3 기존 구현들의 문제점들(Drawbacks)
VVC의 현재 설계에서, 3개의 다른 합병(merge) 리스트는 하드웨어 구현 비용을 증가시키는 다른 절차들로 활용된다.
(1) MTS는 4:4:4 또는 다른 색상 포맷들이 인에이블되는 것과 같은 색상이 풍부한(rich) 시퀀스들에 대하여 서브-옵티말(sub-optimal)일 수 있는 루마 블록에만 적용될 수 있다.
(2) MTS는 인트라, 인터, 및 IBC 모두에 대하여 지원된다. 그리고, IBC MTS의 제어는 MTS가 인터 코딩된 블록들에 대하여 인에이블되는지 여부의 컨디셔널 체크 아래에 있다. IBC는, 개별적으로 IBC MTS의 사용(usage)을 제어하는 것에 보다 더 좋을 수 있는 제3 모드로 정의되기 때문이다.
(3) 코딩 MTS 인덱스에 대한 컨텍스트는 CU 깊이에 의존적이다. 그러나, 변환 인덱스 및 코딩된 모드 간의 일부 상관관계가 있다. 이러한 상관관계를 사용하는 것은 추가적인 코딩 게인들을 가져올 수 있다.
(4) IBC는 인터 모드로 취급(treat)될 때, MTS 인덱스를 시그널링하기 위하여 컨디션 체크에 이슈가 없다. 그러나, IBC가 이제, 인트라 및 인터 모드에 병렬로 새로운 모드로 취급되고, 컨디셔널 체크 및 시맨틱들은 이제 이슈들을 가진다.
4 컨텍스트 모델링 및 다중 변환 행렬 선택을 위한 예시 방법들
현재 개시된 기술의 실시예들은, 보다 더 높은 코딩 효율성들을 갖는 비디오 코딩을 제공함으로써, 기존 구현들의 문제점들을 극복한다. 컨텍스트 모델링 및 다중 변환 행렬 선택을 위한 방법들은, 개시된 기술에 기초하여, 기존 및 미래 비디오 코딩 표준들 모두를 향상(enhance)시킬 수 있고, 다양한 구현들에 대하여 설명된 다음의 예시들에서 상술(elucidate)된다. 아래에서 제공되는 개시된 기술의 예시들은, 일반 컨셉들을 설명하고, 제한으로서 해석되는 것을 의미하는 것이 아니다. 예시에서, 반대로 명시적으로 지시되지 않는 한, 이 예시들에서 설명된 다양한 특징들은 결합될 수 있다.
1. 암시적 MTS(예를 들어, 변환 인덱스가 명시적으로 시그널링되지 않는 변환 행렬 선택)을 적용할지 여부 및/또는 적용하는 방법은, 블록이 모드 X로 코딩되고/되거나 코딩된 잔차 정보인지 여부에 의존할 수 있다.
a. 하나의 예시에서, 모드 X는 IBC 모드일 수 있다.
b. 하나의 예시에서, 하나의 블록이 IBC 모드로 코딩되는 경우, 암시적 MTS는 자동적으로 인에이블될 수 있다.
c. 하나의 예시에서 IBC 코딩된 블록들에 대하여 변환 행렬의 선택이 인트라 코딩된 블록들에 대한 것과 같을 수 있다.
i. 하나의 예시에서, 스퀘어 블록들의 경우, DCT-2는 적용된다.
ii. 하나의 예시에서, 논-스퀘어 블록들의 경우, DST-7는 더 짧은 사이드에 적용되고, DCT-2는 더 긴 사이드에 적용된다.
d. 하나의 예시에서, 변환 행렬의 선택은, 블록이 인트라 또는 IBC로 코딩되는지 여부와 같은 코딩된 모드의 정보에 의존할 수 있다.
i. 하나의 예시에서, IBC-코딩된 스퀘어 블록들의 경우, DST-7는 적용된다.
ii. 하나의 예시에서, IBC-코딩된 논-스퀘어 블록들의 경우, 변환 스킵은 더 짧은 사이드에 적용될 수 있다.
iii. 하나의 예시에서, IBC-코딩된 논-스퀘어 블록들의 경우, 변환 스킵 또는 DST-7가 더 긴 사이드에 적용될 수 있다.
e. 다른 예시들에서, 모드 X는 이차 변환일 수 있다.
f. 다른 예시들에서, 모드 X는 BDPCM 모드 또는/및 DPCM 모드 또는/및 RBDPCM 모드 또는/및 ALWIP 모드일 수 있다.
g. 다른 예시들에서, 모드 X는 임의의 특정한 앵귤러 인트라-예측 모드들(DC, 평면, 수직, 수평 등과 같은)일 수 있다.
2. 허용된 변환들의 세트들은, 블록이 모드 X로 코딩되는지 여부에 따라 결정될 수 있다.
a. 하나의 예시에서, 모드 X는 IBC 모드일 수 있다.
b. 하나의 예시에서, 모드 X는 결합된 인트라 및 인터 예측 모드(combined intra and inter prediction mode; CIIP)일 수 있다.
c. 하나의 예시에서, IBC 코딩된 블록들에 대하여 허용된 변환 행렬의 세트는 인트라 코딩된 블록들에 대한 것들과 같을 수 있다.
d. 대안적으로, IBC 코딩된 블록들에 대하여 허용된 변환 행렬의 다른 세트들은, IBC 코딩된 블록들, 변환 스킵, DCT-2, DCT-8, DST-7이 허용될 수 있는 것과 같이, 인트라 코딩된 블록들에 대한 것들과 같을 수 있다.
e. 다른 예시들에서, 모드 X는 BDPCM 모드 또는/및 DPCM 모드 또는/및 RBDPCM 모드 또는/및 ALWIP 모드일 수 있다.
f. 다른 예시들에서, 모드 X는 임의의 특정한 앵귤러 인트라-예측 모드들(DC, 평면, 수직, 수평 등과 같은)일 수 있다.
g. 다른 예시들에서, 모드 X는 이차 변환일 수 있다.
3. MTS 인덱스를 코딩하기 위한 컨텍스트 모델링이 코딩된 모드 정보에 의존할 수 있는 것이 제안된다.
a. 코딩된 모드 정보는 다음을 포함할 수 있다: 인트라 또는 논-인트라.
i. 대안적으로, 코딩된 모드 정보는 다음을 포함할 수 있다: 인트라 또는 인터 또는 IBC.
ii. 대안적으로, 코딩된 모드 정보는 다음을 포함할 수 있다: 인터 또는 논-인터.
b. 대안적으로, MTS 인덱스를 코딩하기 위한 컨텍스트 모델링은 블록 모양 정보에 의존할 수 있다.
i. 하나의 예시에서, 블록 모양 정보는 다음을 포함할 수 있다: 블록이 스퀘어 또는 논-스퀘어인지 여부;
ii. 하나의 예시에서, 블록 모양 정보는 다음을 포함할 수 있다: 너비가 높이보다 크지 않은 지 여부;
iii. 하나의 예시에서, 블록 모양 정보는 다음을 포함할 수 있다: 너비가 높이보다 작지 않은 지 여부;
iv. 하나의 예시에서, 블록 모양 정보는 다음을 포함할 수 있다: 너비 및 높이의 비율;
4. 개별적으로 수평 및 수직 변환 행렬 인덱스들을 코딩하는 것이 제안된다.
a. 하나의 예시에서, 변환 스킵 플래그는 개별적으로 코딩되지 않는다. 대신에, 이것은 수평 및 수직 변환 행렬 인덱스들 중 하나로서 취급된다.
i. 하나의 예시에서, 변환 스킵은 하나의 방향(수평 또는 수직과 같은)으로만 적용될 수 있다.
b. 수직 변환 행렬 인덱스의 컨텍스트 모델링은 수평 변환 행렬 인덱스에 의존할 수 있다. 대안적으로 수평 변환 행렬 인덱스의 컨텍스트 모델링은 수직 변환 행렬 인덱스에 의존할 수 있다.
c. 하나의 예시에서, 하나의 플래그는, 수평 및 수직 변환 행렬이 같은지 여부를 지시하기 위하여 첫번째로 코딩될 수 있다.
5. IBC 코딩된 블록들에 대하여 MTS의 사용(usage)의 인디케이션은, 시퀀스/픽처/타일 그룹/슬라이스/CTU 로우/임의의 비디오 데이터 유닛-레벨로 시그널링될 수 있다.
a. 하나의 예시에서, IBC 코딩된 블록들에 대하여 MTS를 인에이블하는지 여부(예를 들어, 하나의 플래그)는 SPS/PPS/슬라이스 헤더/픽처 헤더 /타일 그룹 헤더/타일 헤더 등으로 시그널링될 수 있다.
i. 대안적으로, 더욱이, 예를 들어, 플래그는 예를 들어, 명시적 MTS 및 IBC가 SPS/PPS/슬라이스 헤더/픽처 헤더 등으로 인에이블되는지 여부에 기초하여, 컨디셔널하게 코딩될 수 있다.
b. 대안적으로, IBC 코딩된 블록들에 대하여 MTS를 인에이블하는지 여부(예를 들어, 하나의 플래그)는, 인터 코딩된 블록들에 대하여 MTS를 인에이블하는지 여부로부터 도출될 수 있다.
i. 이 경우에서, 오직 하나의 SPS 플래그만이 IBC 및 인터 MTS 모두를 제어하기 위하여 시그널링될 수 있다.
c. 하나의 예시에서, IBC 코딩된 블록들에 대하여 MTS는 항상 인정되지 않을 수 있다(always disallowed).
d. 하나의 예시에서, MTS를 적용하는지 여부 및/또는 적용하는 방법은 논-제로 코딩된 계수들의 개수에 의존할 수 있다.
e. 하나의 예시에서, MTS를 적용하는지 여부 및/또는 적용하는 방법은 논-제로 코딩된 계수들의 절댓값의 합(sum)에 의존할 수 있다.
f. 하나의 예시에서, MTS를 적용하는지 여부 및/또는 적용하는 방법은 논-제로 계수의 마지막 위치에 의존할 수 있다.
6. 크로마 성분에 대하여 MTS를 적용하는지 여부 및/또는 적용하는 방법은 색상 포맷에 의존할 수 있다.
a. 하나의 예시에서, 색상 서브샘플링 포맷이 4:4:4일 때, 크로마 성분들(또는 B/R 색상 성분들과 같은 의존적 성분들)에 대한 MTS 인에이블될 수 있다.
b. 하나의 예시에서, 크로마 성분에 대한 MTS가 인에이블될 때, 색상 성분들의 2개의 대응하는 블록들은 같은 변환 행렬들을 적용하도록 강요(force)될 수 있다.
i. 선택된 변환 행렬들의 인디케이션들은 하나의 색상 성분으로 하나의 블록에 대하여 시그널링될 수 있고, 또 다른 색상 성분에서 다른 블록은 같은 행렬들을 따른다.
ii. 크로마 성분들에 적용된 변환 행렬들은, 대응하는 루마 블록 또는 주요 성분(G 색상 성분과 같은)에 사용되는 것으로부터 도출될 수 있다.
c. 하나의 예시에서, 크로마 성분에 대한 MTS가 인에이블될 때, 색상 성분들의 2개의 대응하는 블록들은 다른 변환 행렬들을 사용할 수 있다.
i. 2개의 블록들에 대하여 선택된 변환 행렬들의 인디케이션들은 개별적으로 시그널링될 수 있다.
1. 대안적으로, 더욱이, 2-컬러 성분들 간에 변환 행렬 인덱스들의 예측적인 코딩은 적용될 수 있다.
2. 대안적으로, 더욱이, 하나의 색상 성분 및 루마/주요 성분 간에 변환 행렬 인덱스들의 예측적인 코딩은 적용될 수 있다.
3. 대안적으로, 1-색상 성분 및/또는 루마/메인 성분의 변환 행렬은 또 다른 색상 성분의 인덱스를 코딩하는 것의 컨텍스트 모델링을 위하여 활용될 수 있다.
d. 크로마 성분에 대한 MTS 인덱스를 시그널링하는지 여부는, 색상 포맷 및/또는 분리된 평면 코딩이 인에이블링되는지 또는 아닌지에 의존할 수 있다.
i. 하나의 예시에서, 그것이 4:0:0이고/이거나 분리된 평면 코딩이 인에이블되면, 크로마 성분들에 대하여 MTS 인덱스를 시그널링하는 것이 필요 없다.
7. 암시적 MTS에 적용되는 위의 방법들은 또한, 즉석으로(on-the-fly) 변환 행렬들을 또한 도출하는 SBT에 적용가능할 수 있다.
8. 크로마 성분에 대하여 ISP를 적용하는지 여부 및/또는 적용하는 방법은, 색상 포맷에 의존할 수 있다.
a. 하나의 예시에서, 색상 서브샘플링 포맷이 4:4:4일 때, 크로마 성분들(또는 B/R 색상 성분들과 같은 의존적인 성분들)에 대한 ISP는 인에이블될 수 있다. 대안적으로, 더욱이, 색상 서브샘플링 포맷이 4:4:4가 아닐 때, 크로마 성분들(또는 B/R 색상 성분들과 같은 의존적인 성분들)에 대한 ISP는 디스에이블될 수 있다.
b. ISP가 크로마 성분들에 대하여 인에이블될 때, 크로마 블록에 대한 ISP의 사용(usage)의 인디케이션들 및/또는 다른 관련된 정보(ISP 파티션들과 같은)가 코딩될 수 있다.
i. 하나의 예시에서, 이것은 블록 차원에 따라 컨디셔널하게 코딩될 수 있다.
ii. 하나의 예시에서, 이것은, 크로스-성분 선형 모델 예측 방법이 적용되는지 여부와 같은 인트라 예측 방법에 따라 컨디셔널하게 코딩될 수 있다.
iii. 하나의 예시에서, 이것은, 공동 크로마 잔차 코딩이 적용되는지 여부와 같은 인트라 예측 방법에 따라 컨디셔널하게 코딩될 수 있다.
iv. 하나의 예시에서, 이것은, 인트라 예측 방향에 따라 컨디셔널하게 코딩될 수 있다.
v. 하나의 예시에서, 이것은, DM이 사용되는지(예를 들어, 인트라 예측 모드가 루마 성분으로부터 도출됨) 여부에 따라 컨디셔널하게 코딩될 수 있다.
c. ISP가 크로마 성분들에 대하여 인에이블될 때, 크로마 블록에 대하여 ISP의 사용(usage)의 인디케이션들 및/또는 다른 관련된 정보(ISP 파티션들과 같은)는 즉석으로 도출될 수 있다.
i. 하나의 예시에서, 그것들은, 이웃하는 크로마 블록들의 재구성된 샘플들/코딩된 정보에 따라 도출될 수 있다.
ii. 하나의 예시에서, 그것들은, 함께 위치된(collocated) 루마 블록 내에서 하나 또는 다수의 선택적인 블록들에 따라 도출될 수 있다.
iii. 하나의 예시에서, 그것들은 함께 위치된 루마 블록의 이웃하는 정보에 따라 도출될 수 있다.
위에서 설명된 예시들은, 아래에서 설명될 비디오 디코더 또는 비디오 인코더에서 구현될 수 있는 방법들, 예를 들어, 방법들(810, 820, 830, 840, 850, 860, 870, 880 및 890)의 문맥에 포함될 수 있다.
도 8a는 비디오 처리를 위한 예시적인 방법의 흐름차트를 나타낸다. 방법(810)는, 단계(812)에서, 비디오의 현재 비디오 블록 및 상기 비디오의 비트스트림 표현 간의 변환(conversion)을 위하여, 다중 변환 선택(a multiple transform selection; MTS) 동작에서 변환 타입의 인디케이션이 상기 비트스트림 표현으로부터 배제되는지를 결정하는 단계를 포함하고, 상기 현재 비디오 블록은 인트라 블록 카피(intra block copy; IBC) 모드를 사용하여 코딩된다.
방법(810)는, 단계(814)에서, 상기 변환(conversion)을 수행하는 단계를 포함한다. 일부 실시예들에서, 상기 인디케이션은, 시퀀스 파라미터 세트(sequence parameter set; SPS), 픽처 파라미터 세트(picture parameter set; PPS), 타일 그룹 헤더, 슬라이스 헤더, 픽처 헤더, 타일 헤더, 코딩 트리 유닛(coding tree unit; CTU) 로우, 코딩 유닛, 또는 비디오 데이터 유닛에 있고, MTS 동작은 상기 변환(conversion) 동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위하여 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함한다.
도 8b는 비디오 처리를 위한 예시적인 방법의 흐름차트를 나타낸다. 방법(820)는, 단계(822)에서, 비디오의 현재 비디오 블록의 코딩 모드에 기초하여, 다중 변환 선택(multiple transform selection; MTS) 동작의 선택적인 적용에 관하여 결정(decision)을 하는 단계를 포함한다.
방법(820)은, 단계(824)에서, 상기 결정(decision)에 기초하여, 상기 현재 비디오 블록 및 상기 비디오의 비트스트림 표현 간의 변환(conversion)을 수행하는 단계를 포함한다. 일부 실시예들에서, MTS 동작은 상기 변환(conversion) 동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위하여 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함한다.
도 8c는 비디오 처리를 위한 예시적인 방법의 흐름차트를 나타낸다. 방법(830)은, 단계(832)에서, 현재 비디오 블록의 특성에 기초하여, 다중 변환 선택(multiple transform selection; MTS) 동작의 적어도 하나의 인덱스를 코딩하기 위한 컨텍스트 모델을 구성하는 단계를 포함한다.
방법(830)은, 단계(834)에서, 상기 구성에 기초하여, 상기 현재 비디오 블록 및 상기 현재 비디오 블록을 포함하는 비디오의 비트스트림 표현 간의 변환(conversion)을 수행하는 단계를 포함한다. 일부 실시예들에서, 상기 MTS 동작은, 상기 변환(conversion) 동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위하여 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함한다.
도 8d는 비디오 처리를 위한 예시적인 방법의 흐름차트를 나타낸다. 방법(840)은, 단계(842)에서, 현재 비디오 블록 및 상기 현재 비디오 블록을 포함하는 비디오의 비트스트림 표현 간의 변환(conversion) 동안, 상기 변환(conversion)이 다중 변환 선택(multiple transform selection; MTS) 동작을 포함하는지를 결정하는 단계를 포함한다.
방법(840)에서, 단계(844)에서, 상기 결정에 기초하여, 개별적으로 상기 MTS 동작의 행렬들의 하나 이상의 수평 인덱스들 및 하나 이상의 수직 인덱스들을 코딩하는 단계를 포함한다. 일부 실시예들에서, 상기 MTS 동작은 상기 변환(conversion) 동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위한 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함한다.
도 8e는 비디오 처리를 위한 예시적인 방법의 흐름차트를 나타낸다. 방법(850)은, 단계(852)에서, 비디오의 현재 비디오 블록 및 상기 비디오의 비트스트림 표현 간의 변환(conversion)을 위하여, 인트라 블록 카피(intra block copy; IBC) 모드를 사용하여 코딩된 상기 현재 비디오 블록에 대하여 다중 변환 선택(multiple transform selection; MTS) 동작에서 변환 타입의 인디케이션을 구성하는 단계를 포함한다.
방법(850)은, 단계(854)에서, 상기 변환(conversion)을 수행하는 단계를 포함한다. 일부 실시예들에서, 상기 인디케이션은, 시퀀스 파라미터 세트(sequence parameter set; SPS), 픽처 파라미터 세트(picture parameter set; PPS), 타일 그룹 헤더, 슬라이스 헤더, 픽처 헤더, 타일 헤더, 코딩 트리 유닛(coding tree unit; CTU) 로우, 또는 비디오 데이터 유닛에 있고, 상기 MTS 동작은, 상기 변환(conversion) 동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위한 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함한다.
도 8f는 비디오 처리를 위한 예시적인 방법의 흐름차트를 나타낸다. 방법(860)은, 단계(862)에서, 비디오의 현재 비디오 블록 및 상기 비디오의 비트스트림 표현 간의 변환(conversion)을 위하여, 다중 변환 선택(multiple transform selection; MTS) 동작에서 변환 타입의 인디케이션이 상기 현재 비디오 블록에 대하여 상기 비트스트림 표현으로부터 배제되는지 여부를 결정하는 단계를 포함한다.
방법(860)는, 단계(864)에서, 상기 변환(conversion)을 수행하는 단계를 포함한다. 일부 실시예들에서, 상기 인디케이션은, 시퀀스 파라미터 세트(sequence parameter set; SPS), 픽처 파라미터 세트(picture parameter set; PPS), 타일 그룹 헤더, 슬라이스 헤더, 픽처 헤더, 타일 헤더, 코딩 트리 유닛(coding tree unit; CTU) 로우, 코딩 유닛, 또는 비디오 데이터 유닛에 있고, 상기 결정하는 단계는, 논-제로 코딩된 계수의 마지막 위치에 기초하며, 상기 MTS 동작은 상기 변환(conversion) 동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위하여 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함한다.
도 8g는 비디오 처리를 위한 예시적인 방법의 흐름차트를 나타낸다. 방법(870)는, 단계(872)에서, 비디오의 현재 비디오 블록 및 상기 비디오의 비트스트림 표현 간의 변환(conversion)을 위하여, 상기 현재 비디오 블록의 크로마 성분에 대하여 다중 변환 선택(multiple transform selection; MTS) 동작을 사용하는 것의 인디케이션을 구성하는 단계를 포함한다.
방법(870)은, 단계(874)에서, 상기 변환(conversion)을 수행하는 단계를 포함한다. 일부 실시예들에서, 상기 구성하는 단계는 상기 현재 비디오 블록의 색상 포맷에 기초하고, 상기 MTS 동작은 상기 변환(conversion) 동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위한 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함한다.
도 8h는, 비디오 처리를 위한 예시적인 방법의 흐름차트이다. 방법(880)은, 단계(882)에서, 비디오의 현재 비디오 블록 및 상기 비디오의 비트스트림 표현 간의 변환(conversion)을 위하여, 서브-블록 변환(sub-block transform; SBT) 동작이 상기 현재 비디오 블록에 대하여 적용되는지 여부를 결정하는 단계를 포함한다.
방법(880)은, 단계(884)에서, 다중 변환 선택(multiple transform selection; MTS) 동작에 의하여 상기 변환(conversion)을 수행하는 단계를 포함한다. 일부 실시예들에서, SBT 동작은 위치-의존적 변환 동작을 포함하고, 상기 MTS 동작은 상기 변환(conversion) 동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위하여 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함한다.
도 8i는 비디오 처리를 위한 예시적인 방법의 흐름차트이다. 방법(890)은, 단계(892)에서, 비디오의 현재 비디오 블록의 색상 포맷에 기초하여, 상기 현재 비디오 블록의 크로마 성분에 인트라 서브-블록 파티셔닝(intra sub-block partitioning; ISP) 동작의 선택적인 적용에 관하여, 결정(decision)을 하는 단계를 포함한다.
방법(890)는, 단계(894)에서, 상기 결정(decision)에 기초하여, 상기 현재 비디오 블록 및 상기 비디오의 비트스트림 표현 간의 변환(conversion)을 수행하는 단계를 포함한다. 일부 실시예들에서, 상기 ISP 동작은, 적어도 미리 결정된 개수의 샘플들을 가지는 서브-파티션들로 수직적으로 또는 수평적으로 블록들을 분할하는 것을 포함한다.
5 개시된 기술의 예시 구현들
도 9는 비디오 처리 장치(900)의 블록 다이어그램이다. 장치(900)는 여기에서 설명된 방법들 중 하나 이상을 구현하는 데 사용될 수 있다. 장치(900)는 스마트폰, 태블릿, 컴퓨터, 사물 인터넷(Internet of Things; IoT) 리시버(receiver), 등에서 구현(embody)될 수 있다. 장치(900)는 하나 이상의 프로세서들(902), 하나 이상의 메모리들(904) 및 비디오 처리 하드웨어(906)를 포함할 수 있다. 프로세서(들)(902)는 본 문서에서 설명된 하나 이상의 방법들(방법들(800, 810, 820, 830 및 840)을 포함하지만, 이에 제한되지 않음)을 구현하도록 구성될 수 있다. 메모리(메모리들)(904)는 여기에서 설명된 기법들 및 방법들을 구현하기 위해 사용된 코드 및 데이터를 저장하기 위해 사용될 수 있다. 비디오 처리 하드웨어(906)는, 본 문서에서 설명된 일부 기법들을, 하드웨어 회로에서, 구현하는데 사용될 수 있다.
일부 실시예들에서, 비디오 코딩 방법들은, 도 9에 관하여 설명된 바에 따라, 하드웨어 플랫폼에서 구현되는 장치를 사용하여 구현될 수 있다.
개시된 기술의 일부 실시예들은, 비디오 처리 도구 또는 모드를 인에이블하기 위하여 결정(decision) 또는 결정(determination)를 하는 것을 포함한다. 예시에서, 비디오 처리 도구 또는 모드가 인에이블될 때, 인코더는 비디오의 블록의 처리에서 모드 또는 도구를 구현하거나 사용할 것이지만, 도구 또는 모드의 사용(usage)에 기초하여 결과 비트스트림을 필수적으로 수정해야 하는 것은 아닐 것이다. 다시 말해, 비디오의 블록으로부터 비디오의 비트스트림 표현으로의 변환(conversion)은, 결정(decision) 또는 결정(determination)에 기초하여 그것이 인에이블할 때 비디오 처리 도구 또는 모드를 사용할 것이다. 또 다른 예시에서, 비디오 처리 도구 또는 모드가 인에이블할 때, 디코더는, 비트스트림이 비디오 처리 도구 또는 모드에 기초하여 수정되었다는 지식과 함께, 비트스트림을 처리할 것이다. 다시 말해, 비디오의 비트스트림 표현으로부터 비디오의 블록으로의 변환(conversion)은, 결정(decision) 또는 결정(determination)에 기초하여 인에이블되었던 비디오 처리 도구 또는 모드를 사용하여 수행될 것이다.
개시된 기술의 일부 실시예들은, 비디오 처리 도구 또는 모드를 디스에이블하기 위하여 결정(decision) 또는 결정(determination)을 하는 것을 포함한다. 예시에서, 비디오 처리 도구 또는 모드가 디스에이블할 때, 인코더는 비디오의 비트스트림 표현으로의 비디오의 블록의 변환(conversion)에서 도구 또는 모드를 사용하지 않을 것이다. 또 다른 예시에서, 비디오 처리 도구 또는 모드가 디스에이블될 때, 디코더는, 비트스트림이 결정(decision) 또는 결정(determination)에 기초하여 인에이블되었던 비디오 처리 도구 또는 모드를 사용하여 수정되지 않았다는 것인 지식과 함께 비트스트림을 처리할 것이다.
도 10는, 여기에서 개시된 다양한 기법들이 구현될 수 있는 예시 비디오 처리 시스템(1000)을 나타내는 블록 다이어그램이다. 다양한 구현들은 시스템(1000)의 구성요소들의 모두 또는 일부를 포함할 수 있다. 시스템(1000)은 비디오 콘텐츠를 수신하기 위해 입력(1002)를 포함할 수 있다. 비디오 콘텐츠는 원시(raw) 또는 압축되지 않은(uncompressed) 포맷으로, 예를 들어, 8 또는 10 비트 다수의-성분 픽셀 값들로, 수신될 수 있거나, 또는 압축되거나 인코딩된 포맷으로 수신될 수 있다. 입력(1002)는 네트워크 인터페이스, 주변 버스 인터페이스, 또는 저장소 인터페이스를 표현할 수 있다. 네트워크 인터페이스의 예시들은, 이더넷, 수동 광 통신망(passive optical network; PON) 등과 같은 유선 인터페이스들 및 Wi-Fi 또는 셀룰러 인터페이스들과 같은 무선 인터페이스들을 포함한다.
시스템(1000)는 본 문서에서 설명된 다양한 코딩 또는 인코딩 방법들을 구현할 수 있는 코딩 구성요소(1004)를 포함할 수 있다. 코딩 구성요소(1004)는 비디오의 코딩된 표현을 생산하기 위하여 코딩 구성요소(1004)의 입력(1002)으로부터 출력으로 비디오의 평균 비트레이트를 감소시킬 수 있다. 그러므로, 때때로, 코딩 기법들은 비디오 압축 또는 트랜스코딩 기법들로 불린다. 코딩 구성요소(1004)의 출력은, 구성요소(1006)에 의하여 표현된 바와 같이, 연결된 통신을 통해 전송되거나 저장될 수 있다. 입력(1002)에서 수신된 비디오의 저장되거나 통신된 비트스트림(또는 코딩된) 표현은 디스플레이 인터페이스(1010)로 발송된 디스플레이가능한 비디오 또는 픽셀 값들을 생성하기 위해 구성요소(1008)에 의하여 사용될 수 있다. 비트스트림 표현으로부터 사용자가-시청가능한(user-viewable) 비디오를 생성하는 것의 프로세스는, 가끔(sometimes) 비디오 압축 해제로 불린다. 더욱이, 특정 비디오 처리 동작들은 "코딩" 동작들 또는 도구들로 참조되는 동안, 코딩 도구들 또는 동작들이 인코더에서 사용되고, 코딩의 결과들을 반전시키는 대응하는 디코딩 도구들 또는 동작들이 디코더에 의하여 수행될 것이 이해될 것이다.
주변 버스 인터페이스 또는 디스플레이 인터페이스의 예시들은, USB(universal serial bus) 또는 HDMI(high definition multimedia interface) 또는 디스플레이포트(Displayport), 등을 포함할 수 있다. 저장소 인터페이스들의 예시들은, SATA(serial advanced technology attachment), PCI, IDE 인터페이스, 및 이와 유사한 것들을 포함한다. 본 문서에서 설명된 기법들은 휴대전화들, 노트북들, 스마트폰들 또는 디지털 데이터 처리 및/또는 비디오 디스플레이를 수행하는 것이 가능한 기타 디바이스들과 같은 다양한 전자 디바이스들에서 구현(embody)될 수 있다.
다음의 실시예들에서, 추가들은 볼드체 이중 중괄호들(curly braces)을 사용하여 예를 들어, {{a}}와 같이 나타나고, "a"가 추가되었다는 것을 지시하고, 삭제들(deletions)은 이중 볼드체 꺽쇠 괄호들(brackets)을 사용하여, 예를 들어, [[b]]와 같이 나타나고, "b"가 삭제되었다는 것을 지시한다.
5.1 실시예 #1
이 섹션은, 인터 코딩된 블록들 및 IBC에 대한 MTS의 분리된 제어에서 예시를 나타낸다.
7.3.2.3 시퀀스 파라미터 세트 RBSP 구문
Figure pct00039
Figure pct00040
대안적으로, 컨디셔널 시그널링이 활용될 수 있다.
Figure pct00041
Figure pct00042
7.3.7.10 Transform unit syntax 변환 유닛 구문
Figure pct00043
Figure pct00044
1과 동일한 sps_explicit_mts_intra_enabled_flag는, tu_mts_idx가 인트라 코딩 유닛들에 대하여 변환 유닛 구문에서 존재할 수 있는 것을 특정한다. 0과 동일한 sps_explicit_mts_intra_enabled_flag는, tu_mts_idx가 인트라 코딩 유닛들에 대하여 변환 유닛 구문에서 존재하지 않는 것을 특정한다. sps_explicit_mts_intra_enabled_flag의 값은, 존재하지 않을 때, 0과 동일한 것으로 추론된다.
1과 동일한 sps_explicit_mts_inter_enabled_flag는, tu_mts_idx가 인터 코딩 유닛들에 대하여 변환 유닛 구문에서 존재할 수 있는 것을 특정한다. 0과 동일한 sps_explicit_mts_inter_enabled_flag는, tu_mts_idx가 인터 코딩 유닛들에 대하여 변환 유닛 구문에서 존재하지 않는 것을 특정한다. sps_explicit_mts_inter_enabled_flag의 값은, 존재하지 않을 때, 0과 동일한 것으로 추론될 수 있다.
{{ 1과 동일한 sps_explicit_mts_ibc_enabled_flag는, tu_mts_idx가 IBC 코딩 유닛들에 대하여 변환 유닛 구문에서 존재할 수 있는 것을 특정한다. 0과 동일한 sps_explicit_mts_ibc_enabled_flag는, tu_mts_idx이 IBC 코딩 유닛들에 대하여 변환 유닛 구문에서 존재하지 않는 것을 특정한다. sps_explicit_mts_ibc_enabled_flag의 값은, 존재하지 않을 때, 0과 동일한 것으로 추론된다. }}
5.2 실시예 #2
이 섹션은 인터 코딩된 블록들 및 IBC에 대한 MTS의 공동 제어에서 예시를 나타낸다.
현재 구문 설계는 변화하지 않고 유지되지만, 그러나, 시맨틱들은 다음과 같이 수정된다:
1과 동일한 sps_explicit_mts_intra_enabled_flag는, tu_mts_idx가 인트라 코딩 유닛들에 대하여 변환 유닛 구문에서 존재할 수 있는 것을 특정한다. 0과 동일한 sps_explicit_mts_intra_enabled_flag는, tu_mts_idx이 인트라 코딩 유닛들에 대하여 변환 유닛 구문에서 존재하지 않는 것을 특정한다. sps_explicit_mts_intra_enabled_flag의 값은, 존재하지 않을 때, 0과 동일한 것으로 추론된다.
1과 동일한 sps_explicit_mts_inter_enabled_flag는, tu_mts_idx이 {{논-인트라}} [[인터]] 코딩 유닛들에 대하여 변환 유닛 구문에서 존재할 수 있는 것을 특정한다. 0과 동일한 sps_explicit_mts_inter_enabled_flag는, tu_mts_idx가 인터 코딩 유닛들에 대하여 변환 유닛 구문에서 존재하지 않는 것을 특정한다. sps_explicit_mts_inter_enabled_flag의 값은, 존재하지 않을 때, 0과 동일한 것으로 추론된다.
대안적으로, 시맨틱들은 다음과 같이 수정될 수 있다:
1과 동일한 sps_explicit_mts_inter_enabled_flag는, tu_mts_idx가 인터 {{및 IBC}}에 대하여 변환 유닛 구문에서 존재할 수 있는 것을 특정할 수 있다. 0과 동일한 sps_explicit_mts_inter_enabled_flag는, tu_mts_idx가 인터 코딩 유닛들에 대하여 변환 유닛 구문에서 존재하지 않는 것을 특정한다. sps_explicit_mts_inter_enabled_flag의 값은, 존재하지 않을 때, 0과 동일한 것으로 추론된다.
일부 실시예들에서, 다음의 기술적인 솔루션들은 구현될 수 있다:
A1. 비디오 처리를 위한 방법에 있어서, 비디오의 현재 비디오 블록 및 상기 비디오의 비트스트림 표현 간의 변환(conversion)을 위하여, 다중 변환 선택(multiple transform selection; MTS) 동작에서 변환 타입의 인디케이션이 상기 비트스트림 표현으로부터 배제되는지를 결정하는 단계- 상기 현재 비디오 블록은 인트라 블록 카피(intra block copy; IBC) 모드를 사용하여 코딩됨 -; 및 상기 변환(conversion)을 수행하는 단계를 포함하고, 상기 인디케이션은 시퀀스 파라미터 세트(sequence parameter set; SPS), 픽처 파라미터 세트(picture parameter set; PPS), 타일 그룹 헤더, 슬라이스 헤더, 픽처 헤더, 타일 헤더, 코딩 트리 유닛(coding tree unit; CTU) 로우, 코딩 유닛, 또는 비디오 데이터 유닛에 있으며, 상기 MTS 동작은 상기 변환(conversion) 동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위한 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함하는, 방법.
A2. 비디오 처리를 위한 방법에 있어서, 비디오의 현재 비디오 블록의 코딩 모드에 기초하여, 다중 변환 선택(multiple transform selection; MTS) 동작의 선택적인 적용에 관하여, 결정(decision)을 하는 단계; 및 상기 결정(decision)에 기초하여, 상기 현재 비디오 블록 및 상기 비디오의 비트스트림 표현 간의 변환(conversion)을 수행하는 단계를 포함하고, 상기 MTS 동작은 상기 변환(conversion) 동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위한 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함하는, 방법.
A3. 솔루션 A2에 있어서, 상기 MTS 동작은 암시적(implicit) MTS 동작이고, 상기 MTS 동작의 변환 인덱스는 상기 비트스트림 표현으로부터 배제되는, 방법.
A4. 솔루션 A2 또는 솔루션 A3에 있어서, 상기 코딩 모드는, 인트라 블록 카피(intra block copy; IBC) 모드인, 방법.
A5. 솔루션 A2 또는 솔루션 A3에 있어서, 상기 MTS 동작은 상기 코딩 모드가 인트라 모드 또는 인트라 블록 카피 모드인 경우, 동일하게(identically) 적용되는, 방법.
A6. 솔루션 A5에 있어서, 상기 현재 비디오 블록은 스퀘어 블록이고, 이산 코사인 변환 타입 II(Discrete Cosine Transform Type II; DCT-II)은 적용되는, 방법.
A7. 솔루션 A5에 있어서, 상기 현재 비디오 블록은 논-스퀘어 블록이고, 이산 코사인 변환 타입 II(Discrete Cosine Transform Type II; DCT-II)는 상기 현재 비디오 블록의 더 긴 사이드에 적용되며, DCT-VII는 상기 현재 비디오 블록의 더 짧은 사이드에 적용되는, 방법.
A8. 솔루션 A2 또는 솔루션 A3에 있어서, 상기 코딩 모드는 인트라 블록 카피(IBC) 모드이고, 상기 현재 비디오 블록은 스퀘어 블록이며, 이산 코사인 변환 타입 VII(Discrete Cosine Transform Type VII; DCT-VII)이 적용되는, 방법.
A9. 솔루션 A2 또는 솔루션 A3에 있어서, 상기 코딩 모드는 인트라 블록 카피(intra block copy; IBC) 모드이고, 상기 현재 비디오 블록은 논-스퀘어 블록이며, 변환 스킵은 상기 현재 비디오 블록의 더 짧은 사이드에 적용되는, 방법.
A10. 솔루션 A2 또는 솔루션 A3에 있어서, 상기 코딩 모드는, 블록 차동 펄스 코드 변조(block differential pulse code modulation; BDPCM) 모드, DPCM 모드, 잔차 BDPCM(residual BDPCM; RBDPCM) 모드 또는 아핀 선형 가중 인트라 예측(affine linear weighted intra prediction; ALWIP) 모드인, 방법.
A11. 솔루션 A2 또는 솔루션 A3에 있어서, 상기 코딩 모드는 앵귤러 인트라-예측 모드인, 방법.
A12. 솔루션 A2에 있어서, 상기 비트스트림 표현은 허용된 변환들의 세트의 인디케이션을 포함하고, 상기 인디케이션은 상기 현재 비디오 블록의 상기 코딩 모드에 기초하여 결정되는, 방법.
A13. 솔루션 A12에 있어서, 상기 코딩 모드는 인트라 블록 카피(intra block copy; IBC) 모드인, 방법.
A14. 솔루션 A12에 있어서, 상기 코딩 모드는 결합된 인트라 및 인터 예측(combined intra and inter prediction; CIIP) 모드인, 방법.
A15. 솔루션 A12에 있어서, 상기 코딩 모드는 블록 차동 펄스 코드 변조(block differential pulse code modulation; BDPCM) 모드, DPCM 모드, 잔차 BDPCM(residual BDPCM; RBDPCM) 모드 또는 아핀 선형 가중 인트라 예측(affine linear weighted intra prediction; ALWIP) 모드인, 방법.
A16. 솔루션 A12에 있어서, 상기 코딩 모드는 앵귤러 인트라-예측 모드인, 방법.
A17. 비디오 처리를 위한 방법에 있어서, 현재 비디오 블록의 특성에 기초하여, 다중 변환 선택(multiple transform selection; MTS) 동작의 적어도 하나의 인덱스를 코딩하기 위한 컨텍스트 모델을 구성하는 단계; 및 상기 구성에 기초하여, 상기 현재 비디오 블록 및 상기 현재 비디오 블록을 포함하는 비디오의 비트스트림 표현 간의 변환(conversion)을 수행하는 단계를 포함하고, 상기 MTS 동작은 상기 변환(conversion) 동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위한 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함하는, 방법.
A18. 솔루션 A17에 있어서, 상기 특성은 상기 현재 비디오 블록의 코딩 모드를 포함하는, 방법.
A19. 솔루션 A18에 있어서, 상기 코딩 모드는 인트라 코딩 모드 또는 인터 코딩 모드 또는 인터 블록 카피(inter block copy; IBC)를 포함하는, 방법.
A20. 솔루션 A18에 있어서, 상기 코딩 모드는, 인터 코딩 모드 또는 논-인터 코딩 모드를 포함하는, 방법.
A21. 솔루션 A17에 있어서, 상기 특성은 상기 현재 비디오 블록과 연관된 모양 정보를 포함하는, 방법.
A22. 솔루션 A21에 있어서, 상기 모양 정보는 상기 현재 비디오 블록이 스퀘어 또는 논-스퀘어인 것을 포함하는, 방법.
A23. 솔루션 A21에 있어서, 상기 모양 정보는 상기 현재 비디오 블록의 너비가 상기 현재 비디오 블록의 높이보다 작은 것을 포함하는, 방법.
A24. 솔루션 A21에 있어서, 상기 모양 정보는 상기 현재 비디오 블록의 너비가 상기 현재 비디오 블록의 높이보다 큰 것을 포함하는, 방법.
A25. 솔루션 A21에 있어서, 상기 모양 정보는 상기 현재 비디오 블록의 높이에 대한 상기 현재 비디오 블록의 너비의 비율을 포함하는, 방법.
A26. 비디오 처리를 위한 방법에 있어서, 현재 비디오 블록 및 상기 현재 비디오 블록을 포함하는 비디오의 비트스트림 표현 간의 변환(conversion) 동안, 상기 변환(conversion)이 다중 변환 선택(multiple transform selection; MTS) 동작을 포함하는지를 결정하는 단계; 및 상기 결정에 기초하여, 개별적으로 상기 MTS 동작의 행렬들의 하나 이상의 수평 인덱스들 및 하나 이상의 수직 인덱스들를 코딩하는 단계를 포함하고, 상기 MTS 동작은 상기 변환(conversion) 동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위한 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함하는, 방법.
A27. 솔루션 A26에 있어서, 상기 하나 이상의 수평 인덱스들 및/또는 상기 하나 이상의 수직 인덱스들은 변환 스킵 동작을 포함하는, 방법.
A28. 솔루션 A26에 있어서, 상기 하나 이상의 수평 인덱스들에 대한 컨텍스트 모델은 상기 하나 이상의 수직 인덱스들에 기초하는, 방법.
A29. 솔루션 A26에 있어서, 상기 하나 이상의 수직 인덱스들에 대한 컨텍스트 모델은, 상기 하나 이상의 수평 인덱스들에 기초하는, 방법.
A30. 비디오 처리를 위한 방법에 있어서, 비디오의 현재 비디오 블록 및 상기 비디오의 비트스트림 표현 간의 변환(conversion)을 위하여, 인트라 블록 카피(intra block copy; IBC) 모드를 사용하여 코딩된 상기 현재 비디오 블록에 대하여 다중 변환 선택(multiple transform selection; MTS) 동작에서 변환 타입의 인디케이션을 구성하는 단계; 및 상기 변환(conversion)을 수행하는 단계를 포함하고, 상기 인디케이션은 시퀀스 파라미터 세트(sequence parameter set; SPS), 픽처 파라미터 세트(picture parameter set; PPS), 타일 그룹 헤더, 슬라이스 헤더, 픽처 헤더, 타일 헤더, 코딩 트리 유닛(coding tree unit; CTU) 로우, 또는 비디오 데이터 유닛에 있고, 상기 MTS 동작은 상기 변환(conversion) 동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위한 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함하는, 방법.
A31. 솔루션 A30에 있어서, 상기 인디케이션은 상기 MTS 동작 및 상기 IBC 모드가 상기 SPS, 상기 PPS, 상기 타일 그룹 헤더, 상기 슬라이스 헤더, 상기 픽처 헤더, 상기 타일 헤더, 상기 CTU 로우, 또는 상기 비디오 데이터 유닛으로 명시적으로 코딩되는지 여부에 기초하여 상기 비트스트림 표현으로 컨디셔널하게 코딩되는, 방법.
A32. 솔루션 A30에 있어서, 상기 인디케이션은, 상기 MTS 동작이 인터 코딩된 비디오 블록들에 대하여 인에이블되는지 여부에 기초하여 상기 비트스트림 표현으로 컨디셔널하게 코딩되는, 방법.
A33. 솔루션 A30에 있어서, 상기 SPS는 상기 인디케이션을 포함하고, 상기 인디케이션은 인터 코딩된 비디오 블록들에 대하여 상기 MTS 동작을 사용하는 것을 더 구성하는, 방법.
A34. 솔루션 A30에 있어서, 상기 인디케이션은 논-제로 코딩된 계수들의 개수에 기초하는, 방법.
A35. 솔루션 A30에 있어서, 상기 인디케이션은 논-제로 코딩된 계수들의 절댓값들의 합에 기초하는, 방법.
A36. 솔루션 A1 내지 솔루션 A35 중 어느 한 솔루션에 있어서, 상기 변환(conversion)은 상기 비트스트림 표현으로부터 상기 현재 비디오 블록을 생성하는, 방법.
A37. 솔루션 A1 내지 솔루션 A35 중 어느 한 솔루션에 있어서, 상기 변환(conversion)은 상기 현재 비디오 블록으로부터 상기 비트스트림 표현을 생성하는, 방법.
A38. 프로세서에 의하여 실행되면 솔루션 A1 내지 솔루션 A37 중 어느 한 솔루션에서의 상기 방법을 구현하도록 상기 프로세서를 유발하는 명령어들을 갖는 비-일시적인 메모리 및 상기 프로세서를 포함하는 비디오 시스템에서의 장치.
A39. 솔루션 A1 내지 솔루션 A37 중 어느 한 솔루션에서의 상기 방법을 수행(carry out)하기 위한 프로그램 코드를 포함하는, 비-일시적인 컴퓨터 판독가능한 매체에 저장된 컴퓨터 프로그램 제품.
일부 실시예들에서, 다음의 기술적인 솔루션들은 구현될 수 있다:
B1. 비디오 처리를 위한 방법에 있어서, 비디오의 현재 비디오 블록 및 상기 비디오의 비트스트림 표현 간의 변환(conversion)을 위하여, 다중 변환 선택(multiple transform selection; MTS) 동작에서 변환 타입의 인디케이션이 상기 현재 비디오 블록에 대하여 상기 비트스트림 표현으로부터 배제되는지 여부를 결정하는 단계; 및 상기 변환(conversion)을 수행하는 단계를 포함하고, 상기 인디케이션은 시퀀스 파라미터 세트(sequence parameter set; SPS), 픽처 파라미터 세트(picture parameter set; PPS), 타일 그룹 헤더, 슬라이스 헤더, 픽처 헤더, 타일 헤더, 코딩 트리 유닛(coding tree unit; CTU) 로우, 코딩 유닛, 또는 비디오 데이터 유닛에 있고, 상기 결정하는 단계는 논-제로 코딩된 계수의 마지막 위치에 기초하며, 상기 MTS 동작은 상기 변환(conversion) 동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위한 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함하는, 방법.
B2. 비디오 처리를 위한 방법에 있어서, 비디오의 현재 비디오 블록 및 상기 비디오의 비트스트림 표현 간의 변환(conversion)을 위하여, 상기 현재 비디오 블록의 크로마 성분에 대하여 다중 변환 선택(multiple transform selection; MTS) 동작을 사용하는 것의 인디케이션을 구성하는 단계; 및 상기 변환(conversion)을 수행하는 단계를 포함하고, 상기 구성하는 단계는 상기 현재 비디오 블록의 색상 포맷에 기초하며, 상기 MTS 동작은 상기 변환(conversion) 동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위한 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함하는, 방법.
B3. 솔루션 B2에 있어서, 상기 색상 포맷이 4:4:4라는 결정 시(upon a determination) 상기 MTS 동작이 상기 크로마 성분에 적용되는, 방법.
B4. 솔루션 B2에 있어서, 상기 MTS 동작은 상기 크로마 성분에 적용되고, 색상 성분의 2개의 블록들은 동일한(identical) 변환 행렬들을 사용하는, 방법.
B5. 솔루션 B2에 있어서, 상기 MTS 동작은 상기 크로마 성분에 적용되고, 색상 성분의 2개의 블록들은 다른 변환 행렬들을 사용하는, 방법.
B6. 솔루션 B2에 있어서, 상기 비트스트림 표현으로 상기 인디케이션의 포함(inclusion)은 분리 평면 코딩의 사용(usage) 또는 상기 색상 포맷에 기초하는, 방법.
B7. 비디오 처리를 위한 방법에 있어서, 비디오의 현재 비디오 블록 및 상기 비디오의 비트스트림 표현 간의 변환(conversion)을 위하여, 서브-블록 변환(sub-block transform; SBT) 동작이 상기 현재 비디오 블록에 대하여 적용되는지를 결정하는 단계; 및 다중 변환 선택(multiple transform selection; MTS) 동작을 사용함으로써 상기 변환(conversion)을 수행하는 단계를 포함하고, 상기 SBT 동작은 위치-의존적 변환 동작을 포함하며, 상기 MTS 동작은 상기 변환(conversion) 동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위한 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함하는, 방법.
B8. 솔루션 B7에 있어서, 상기 코딩 모드는 인트라 블록 카피(intra block copy; IBC) 모드인, 방법.
B9. 솔루션 B7에 있어서, 상기 SBT 동작은 상기 코딩 모드가 인트라 블록 카피 모드 또는 인트라 모드인 경우, 동일하게(identically) 적용되는, 방법.
B10. 솔루션 B7에 있어서, 상기 코딩 모드는 블록 차동 펄스 코드 변조(block differential pulse code modulation; BDPCM) 모드, DPCM 모드, 잔차 BDPCM(residual BDPCM; RBDPCM) 모드 또는 아핀 선형 가중 인트라 예측(affine linear weighted intra prediction; ALWIP) 모드인, 방법.
B11. 솔루션 B7에 있어서, 상기 코딩 모드는 앵귤러 인트라-예측 모드인, 방법.
B12. 비디오 처리를 위한 방법에 있어서, 비디오의 현재 비디오 블록의 색상 포맷에 기초하여, 상기 현재 비디오 블록의 크로마 성분에 인트라 서브-블록 파티셔닝(intra sub-block partitioning; ISP) 동작의 선택적인 적용에 관하여, 결정(decision)을 하는 단계; 및 상기 결정(decision)에 기초하여, 상기 현재 비디오 블록 및 상기 비디오의 비트스트림 표현 간의 변환(conversion)을 수행하는 단계를 포함하고, 상기 ISP 동작은 적어도 미리 결정된 개수의 샘플들을 가지는 서브-파티션들로 블록들을 수직적으로 또는 수평적으로 분할하는 것을 포함하는, 방법.
B13. 솔루션 B12에 있어서, 상기 ISP 동작은 상기 크로마 성분에 적용되고, 상기 색상 포맷은 4:4:4인, 방법.
B14. 솔루션 B12에 있어서, 상기 ISP 동작은 상기 크로마 성분에 적용되고, 상기 ISP 동작의 구성은 (i) 상기 현재 비디오 블록의 너비 또는 높이, (ii) 크로스-성분 선형 모델(cross-component linear model; CCLM) 예측 방법이 상기 현재 비디오 블록에 적용되는지 여부, (iii) 공동 크로마 잔차 코딩이 상기 현재 비디오 블록에 적용되는지 여부, (iv) 인트라 예측 방향, 또는 (v) 인트라 예측 모드가 상기 현재 비디오 블록의 루마 성분으로부터 도출되는지 여부 중 하나 이상에 기초하는, 방법.
B15. 솔루션 B12에 있어서, 상기 ISP 동작은 상기 크로마 성분에 적용되고, 상기 ISP 동작의 구성은 하나 이상의 이웃하는 블록들의 크로마 성분들의 코딩된 정보 또는 재구성된 샘플들에 기초하는, 방법.
B16. 솔루션 B11 내지 솔루션 B15 중 어느 한 솔루션에 있어서, 상기 변환(conversion)은 상기 비트스트림 표현으로부터 상기 현재 비디오 블록을 생성하는, 방법.
B17. 솔루션 B11 내지 솔루션 B15 중 어느 한 솔루션에 있어서, 상기 변환(conversion)은 상기 현재 비디오 블록으로부터 상기 비트스트림 표현을 생성하는, 방법.
B18. 프로세서에 의하여 실행되면 솔루션 B1 내지 솔루션 B17 중 어느 한 솔루션에서의 상기 방법을 구현하도록 상기 프로세서를 유발하는 명령어들을 갖는 비-일시적인 메모리 및 상기 프로세서를 포함하는 비디오 시스템에서의 장치.
B19. 솔루션 B1 내지 솔루션 B17 중 어느 한 솔루션에서의 상기 방법을 수행(carry out)하기 위한 프로그램 코드를 포함하는, 비-일시적인 컴퓨터 판독가능한 미디어에 저장된 컴퓨터 프로그램 제품.
일부 실시예들에서, 다음의 기술적인 솔루션들이 구현될 수 있다:
C1. 비디오 처리를 위한 방법에 있어서, 현재 비디오 블록의 코딩 모드에 기초하여, 다중 변환 선택(multiple transform selection; MTS) 동작의 선택적인 적용에 관하여, 결정(decision)을 만드는 단계; 및 상기 결정(decision)에 기초하여, 상기 현재 비디오 블록 및 상기 현재 비디오 블록을 포함하는 비디오의 비트스트림 표현 간의 변환(conversion)을 수행하는 단계를 포함하고, 상기 MTS 동작은 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함하는, 방법.
C2. 솔루션 C1에 있어서, 상기 MTS 동작은 상기 MTS 동작에서 변환들의 하나 이상의 인덱스들의 암시적 시그널링을 포함하는, 방법.
C3. 솔루션 C2에 있어서, 상기 코딩 모드는 인트라 블록 카피(intra block copy; IBC) 모드인, 방법.
C4. 솔루션 C2에 있어서, 상기 MTS 동작은 상기 코딩 모드가 인트라 블록 카피 모드 또는 인트라 모드인 경우, 동일하게(identically) 적용되는, 방법.
C5. 솔루션 C4에 있어서, 상기 현재 비디오 블록은 스퀘어 블록이고, 이산 코사인 변환 타입 II(Discrete Cosine Transform Type II; DCT-II)은 적용되는, 방법.
C6. 솔루션 C4에 있어서, 상기 현재 비디오 블록은 논-스퀘어 블록이고, 이산 코사인 변환 타입 II(Discrete Cosine Transform Type II; DCT-II)는 상기 현재 비디오 블록의 더 긴 사이드에 적용되며, DCT-VII는 상기 현재 비디오 블록의 더 짧은 사이드에 적용되는, 방법.
C7. 솔루션 C2에 있어서, 상기 코딩 모드는 인트라 블록 카피(intra block copy; IBC) 모드이고, 상기 현재 비디오 블록은 스퀘어 블록이며, 이산 코사인 변환 타입 VII(Discrete Cosine Transform Type VII; DCT-VII)는 적용되는, 방법.
C8. 솔루션 C2에 있어서, 상기 코딩 모드는 인트라 블록 카피(intra block copy; IBC) 모드이고, 상기 현재 비디오 블록은 논-스퀘어 블록이며, 변환 스킵은 상기 현재 비디오 블록의 더 짧은 사이드에 적용되는, 방법.
C9. 솔루션 C2에 있어서, 상기 코딩 모드는, 블록 차동 펄스 코드 변조(block differential pulse code modulation; BDPCM) 모드, DPCM 모드, 잔차 BDPCM(residual BDPCM; RBDPCM) 모드 또는 아핀 선형 가중 인트라 예측(affine linear weighted intra prediction; ALWIP) 모드인, 방법.
C10. 솔루션 C2에 있어서, 상기 코딩 코드는 앵귤러 인트라-예측 모드인, 방법.
C11. 솔루션 C1에 있어서, 상기 MTS 동작은 상기 현재 비디오 블록의 상기 코딩 모드에 기초하여 결정되는 허용된 변환들의 세트를 포함하는, 방법.
C12. 솔루션 C11에 있어서, 상기 코딩 모드는 인트라 블록 카피(intra block copy; IBC) 모드인, 방법.
C13. 솔루션 C11에 있어서, 상기 코딩 모드는 결합된 인트라 및 인터 예측(combined intra and inter prediction; CIIP) 모드인, 방법.
C14. 솔루션 C11에 있어서, 상기 코딩 모드는 블록 차동 펄스 코드 변조(block differential pulse code modulation; BDPCM) 모드, DPCM 모드, 잔차 BDPCM(residual BDPCM; RBDPCM) 모드 또는 아핀 선형 가중 인트라 예측(affine linear weighted intra prediction; ALWIP) 모드인, 방법.
C15. 솔루션 C11에 있어서, 상기 코딩 모드는 앵귤러 인트라-예측 모드인, 방법.
C16. 비디오 처리를 위한 방법에 있어서, 현재 비디오 블록의 특성에 기초하여, 다중 변환 선택(multiple transform selection; MTS) 동작의 인덱스를 코딩하기 위한 컨텍스트 모델을 구성하는 단계; 및 상기 구성에 기초하여, 상기 현재 비디오 블록 및 상기 현재 비디오 블록을 포함하는 비디오의 비트스트림 표현 간의 변환(conversion)을 수행하는 단계를 포함하고, 상기 MTS 동작은 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함하는, 방법.
C17. 솔루션 C16에 있어서, 상기 특성은 상기 현재 비디오 블록의 코딩된 모드 정보를 포함하는, 방법.
C18. 솔루션 C17에 있어서, 상기 코딩된 모드 정보는 인트라 또는 인터 또는 인터 블록 카피(inter block copy; IBC)를 포함하는, 방법.
C19. 솔루션 C17에 있어서, 상기 코딩된 모드 정보는 인터 또는 논-인터를 포함하는, 방법.
C20. 솔루션 C16에 있어서, 상기 특성은 상기 현재 비디오 블록의 모양 정보를 포함하는, 방법.
C21. 솔루션 C20에 있어서, 상기 모양 정보는 상기 현재 비디오 블록이 스퀘어 또는 논-스퀘어인지 여부를 포함하는, 방법.
C22. 솔루션 C20에 있어서, 상기 모양 정보가 상기 현재 비디오 블록의 너비가 상기 현재 비디오 블록의 높이보다 작은지 여부를 포함하는, 방법.
C23. 솔루션 C20에 있어서, 상기 모양 정보는, 상기 현재 비디오 블록의 너비가 상기 현재 비디오 블록의 높이보다 큰지 여부를 포함하는, 방법.
C24. 솔루션 C20에 있어서, 상기 모양 정보는, 상기 현재 비디오 블록의 높이에 대한 상기 현재 비디오 블록의 너비의 비율을 포함하는, 방법.
C25. 비디오 처리를 위한 방법에 있어서, 현재 비디오 블록 및 상기 현재 비디오 블록을 포함하는 비디오의 비트스트림 표현 간의 변환(conversion) 동안, 상기 변환(conversion)이 다중 변환 선택(multiple transform selection; MTS) 동작을 포함하는지를 결정하는 단계; 및 개별적으로 상기 MTS 동작의 행렬들의 하나 이상의 수평 인덱스들 및 하나 이상의 수직 인덱스들을 코딩하는 단계를 포함하고, 상기 MTS 동작은 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함하는, 방법.
C26. 솔루션 C25에 있어서, 상기 하나 이상의 수평 인덱스들 또는 상기 하나 이상의 수직 인덱스들은 변환 스킵 플래그를 포함하는, 방법.
C27. 솔루션 C25에 있어서, 상기 하나 이상의 수평 인덱스들에 대한 컨텍스트 모델은 상기 하나 이상의 수직 인덱스들에 기초하는, 방법.
C28. 솔루션 C25에 있어서, 상기 하나 이상의 수직 인덱스들에 대한 컨텍스트 모델은 상기 하나 이상의 수평 인덱스들에 기초하는, 방법.
C29. 솔루션 C1에 있어서, 상기 코딩 모드는 인트라 블록 카피(intra block copy; IBC) 모드이고, 상기 결정(decision)은 시퀀스 파라미터 세트(sequence parameter set; SPS), 픽처 파라미터 세트(picture parameter set; PPS), 타일 그룹 헤더, 슬라이스 헤더, 픽처 헤더, 타일 헤더, 코딩 트리 유닛(coding tree unit; CTU) 로우, 또는 비디오 데이터 유닛으로 시그널링에 기초하는, 방법.
C30. 솔루션 C1에 있어서, 상기 코딩 모드는 인트라 블록 카피(intra block copy; IBC) 모드이고, 상기 결정(decision)은 논-제로 코딩된 계수들의 개수에 기초하는, 방법.
C31. 솔루션 C1에 있어서, 상기 코딩 모드는 인트라 블록 카피(intra block copy; IBC) 모드이고, 상기 결정(decision)은 논-제로 코딩된 계수들의 절댓값의 합에 기초하는, 방법.
C32. 솔루션 C1에 있어서, 상기 코딩 모드는, 인트라 블록 카피(intra block copy; IBC) 모드이고, 상기 결정(decision)은 논-제로 코딩된 계수의 마지막 위치에 기초하는, 방법.
C33. 솔루션 C1에 있어서, 상기 MTS 동작의 상기 선택적인 적용은 상기 현재 비디오 블록의 크로마 성분에 선택적인 적용을 포함하고, 상기 결정(decision)은 상기 현재 비디오 블록의 색상 포맷에 기초하는, 방법.
C34. 솔루션 C33에 있어서, 상기 MTS 동작은 상기 크로마 성분에 적용되고, 상기 색상 포맷은 4:4:4인, 방법.
C35. 솔루션 C33에 있어서, 상기 MTS 동작은 상기 크로마 성분에 적용되고, 색상 성분의 2개의 블록들은 동일한(identical) 변환 행렬들을 사용하는, 방법.
C36. 솔루션 C33에 있어서, 상기 MTS 동작은 상기 크로마 성분에 적용되고, 색상 성분의 2개의 블록들은 다른 변환 행렬들을 사용하는, 방법.
C37. 솔루션 C33에 있어서, 상기 현재 비디오 블록의 상기 색상 포맷에 기초하여, 상기 크로마 성분에 대하여 상기 MTS 동작의 인덱스를 시그널링하는 것에 관하여, 결정(decision)을 하는 단계를 더 포함하는, 방법.
C38. 비디오 처리를 위한 방법에 있어서, 현재 비디오 블록의 코딩 모드에 기초하여, 서브-블록 변환(sub-block transform; SBT) 동작의 선택적인 적용에 관하여, 결정(decision)을 하는 단계; 및 상기 결정(decision)에 기초하여, 상기 현재 비디오 블록 및 상기 현재 비디오 블록을 포함하는 비디오의 비트스트림 표현 간의 변환(conversion)을 수행하는 단계를 포함하고, 상기 SBT 동작은 상기 현재 비디오 블록과 연관된 루마 변환 블록들에서 위치-의존적 변환을 사용하는 것을 포함하는, 방법.
C39. 솔루션 C38에 있어서, 상기 코딩 모드는 인트라 블록 카피(intra block copy; IBC) 모드인, 방법.
C40. 솔루션 C38에 있어서, 상기 SBT 동작은 상기 코딩 모드가 인트라 블록 카피 모드 또는 인트라 모드인 경우, 동일하게(identically) 적용되는, 방법.
C41. 솔루션 C38에 있어서, 상기 코딩 모드는 블록 차동 펄스 코드 변조(block differential pulse code modulation; BDPCM) 모드, DPCM 모드, 잔차 BDPCM(residual BDPCM; RBDPCM) 모드 또는 아핀 선형 가중 인트라 예측(affine linear weighted intra prediction; ALWIP) 모드인, 방법.
C42. 솔루션 C38에 있어서, 상기 코딩 모드는 앵귤러 인트라-예측 모드인, 방법.
C43. 비디오 처리를 위한 방법에 있어서, 현재 비디오 블록의 색상 포맷에 기초하여, 상기 현재 비디오 블록의 크로마 성분에 인트라 서브-블록 파티셔닝(intra sub-block partitioning; ISP) 동작의 선택적인 적용에 관하여, 결정(decision)을 하는 단계; 및 상기 결정(decision)에 기초하여, 상기 현재 비디오 블록 및 상기 현재 비디오 블록을 포함하는 비디오의 비트스트림 표현 간의 변환(conversion)을 수행하는 단계를 포함하고, 상기 ISP 동작은 적어도 미리 결정된 개수의 샘플들을 가지는 서브-파티션들로 블록들을 수직적으로 또는 수평적으로 분할하는 것을 포함하는, 방법.
C44. 솔루션 C43에 있어서, 상기 ISP 동작은 상기 크로마 성분에 적용되고, 상기 색상 포맷은 4:4:4인, 방법.
C45. 솔루션 C43에 있어서, 상기 ISP 동작은 상기 크로마 성분에 적용되고, 상기 ISP 동작의 구성은 (i) 상기 현재 비디오 블록의 너비 또는 높이, (ii) 크로스-성분 선형 모델(cross-component linear model; CCLM) 예측 방법이 상기 현재 비디오 블록에 적용되는지 여부, (iii) 공동 크로마 잔차 코딩이 상기 현재 비디오 블록에 적용되는지 여부, (iv) 인트라 예측 방향, 또는 (v) 인트라 예측 모드가 상기 현재 비디오 블록의 루마 성분으로부터 도출되는지 여부 중 하나 이상에 기초하는, 방법.
C46. 솔루션 C43에 있어서, 상기 ISP 동작은 상기 크로마 성분에 적용되고, 상기 ISP 동작의 구성은 하나 이상의 이웃하는 불록들의 크로마 성분들의 코딩된 정보 또는 재구성된 샘플들에 기초하는, 방법.
C47. 프로세서에 의하여 실행되면 솔루션 C1 내지 솔루션 C46 중 어느 한 솔루션에서의 상기 방법을 구현하도록 상기 프로세서를 유발하는 명령어들을 갖는 비-일시적인 메모리 및 상기 프로세서를 포함하는 비디오 시스템에서의 장치.
C48. 솔루션 C1 내지 솔루션 C46 중 어느 한 솔루션에서의 상기 방법을 수행(carry out)하기 위한 프로그램 코드를 포함하는, 비-일시적인 컴퓨터 판독가능한 미디어에 저장된 컴퓨터 프로그램 제품.
이상으로부터, 여기에서 개시된 기술의 특정한 실시예들이 예시의 목적들을 위하여 여기에서 설명되었지만, 다양한 수정들이 발명의 범위를 벗어나지 않고 이루어질 수 있는 것이 이해될 것이다. 이에 따라, 여기에서 개시된 기술은 첨부된 청구범위에 의한 경우를 제외하고 제한되지 않는다.
본 특허 문서에서 설명된 기능적인 동작들 및 대상 주제(subject matter)의 구현들은, 본 명세서에서 개시된 스트럭처들 및 그것들의 스트럭처적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어로, 또는 다양한 시스템들, 디지털 전자 회로로, 또는 그것들의 하나 이상의 조합들로 구현될 수 있다. 본 명세서에서 설명된 대상 주제의 구현들은, 하나 이상의 컴퓨터 프로그램 제품들, 예를 들어, 데이터 처리 장치의 동작을 제어하기 위하여, 또는 데이터 처리 장치에 의한 실행에 대하여, 유형(tangible)이고 비-일시적인 컴퓨터 판독가능한 매체에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈들로, 구현될 수 있다. 컴퓨터 판독가능한 매체는 기계-판독가능한 저장소 디바이스, 기계-판독가능한 저장소 기판, 메모리 디바이스, 기계-판독가능한 전파된 신호에 영향을 미치는 물질의 조성 또는 그것들의 하나 이상의 조합일 수 있다. 용어 "데이터 처리 유닛" 또는 "데이터 처리 장치"는, 예시의 방식으로, 프로그래밍가능한 프로세서, 컴퓨터 또는 다중 프로세서 또는 컴퓨터를 포함하는 데이터를 처리하기 위한 모든 장치들, 디바이스들 및 기계들을 포함(encompass)한다. 이 장치는, 하드웨어에 추가하여, 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성(create)하는 코드, 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제 또는 그것들의 하나 이상의 조합을 구성(constitute)하는 코드를 포함할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 또는 코드라고도 함)은 컴파일되거나 해석(interpret)된 언어들을 포함하는 프로그래밍 언어의 임의의 형태로 작성될 수 있고, 자립형 프로그램(stand-alone program) 또는 컴퓨팅 환경에서 사용하기에 적합한 모듈, 컴포넌트, 서브루틴 또는 다른 유닛을 포함하는 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 필수적으로 대응하는 것은 아니다. 프로그램은, 문제의 프로그램의 전용 단일 파일 또는 다수의 조정된(coordinated) 파일들(예를 들어, 하나 이상의 모듈들, 서브 프로그램들 또는 코드의 일부들을 저장하는 파일들)에, 다른 프로그램들 또는 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트들)를 홀딩하는 파일의 일부에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터, 또는 하나의 사이트에 위치하거나 다수의 사이트들에 걸쳐 분산되고 통신 네트워크에 의해 상호연결된 다수의 컴퓨터들에서 실행되도록 배포될 수 있다.
본 명세서에서 설명된 프로세스들 및 논리 흐름들은, 입력 데이터에서 동작하고 출력을 생성함으로써 기능들을 수행하기 위하여 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그래밍가능한 프로세서들에 의하여 수행될 수 있다. 프로세스들 및 로직 흐름들은 또한, 특수 목적 논리 회로에 의하여 예를 들어 FPGA(필드 프로그래밍 가능한 게이트 어레이) 또는 ASIC(응용 프로그램 별 집적 회로)에 의하여 수행될 수 있고, 장치는 특수 목적 논리 회로로 예를 들어 FPGA 또는 ASIC로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서들은, 예시의 방식으로, 일반 및 특수 목적 마이크로프로세서들, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들이 포함된다. 일반적으로 프로세서는 읽기 전용 메모리 또는 랜덤 액세스 메모리 또는 모두에서 명령어들과 데이터를 수신할 것이다. 컴퓨터의 필수적인 요소들은 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들 및 명령어들을 수행하기 위한 프로세서이다. 일반적으로 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대량 저장소 디바이스들을, 예를 들어, 마그네틱, 마그네토 광학 디스크들 또는 광학 디스크들을 더 포함하고, 데이터를 이것들로부터 수신하거나 이것들로 전송하기 위해 또는 수신 및 전송 모두를 위해 작동적으로 커플링될 것이다. 그러나 컴퓨터에 이러한 디바이스들을 가지는 것이 필요하지 않다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하는 데 적합한 컴퓨터 판독가능한 매체들은, 예시의 방식으로, 반도체 메모리 디바이스들, 예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스들을 포함하는 모든 형태의 비-휘발성 메모리, 미디어 및 메모리 디바이스들을 포함한다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보충되거나, 특수 목적 논리 회로에 통합될 수 있다.
본 명세서는, 도면들과 함께, 예시적인 것만으로 고려되는 것이고 여기서 예시적인의 의미는 예시를 의미하는 것이 의도된다. 여기에서 사용된 바에 따라, "또는"의 사용은 문맥이 명백하게 달리 지시하지 않는 한, "및/또는"을 포함하는 것이 의도된다.
본 특허 문서에는 많은 세부사항들이 포함되어 있지만, 이는 임의의 발명 또는 청구될 수 있는 것의 범위에 대한 제한으로 해석되지 않아야 하며, 오히려 특정한 발명들의 특정한 실시예로 특정할 수 있는 특징에 대한 설명들일 수 있다. 분리된 실시예들의 맥락에서 본 특허 문서에서 설명된 특정 특징들은 단일 실시예에서 조합하여 또한 구현될 수 있다. 반대로, 단일 실시예의 문맥에서 설명되는 다양한 특징들은 또한, 다수의 실시예들에서 개별적으로 또는 임의의 적합한 서브조합으로 구현될 수 있다. 더욱이, 특징들은 특정 조합들에서 작용하는 것으로 위에서 설명될 수 있고 심지어 이렇게 처음에는 청구됨에도 불구하고, 청구된 조합으로부터의 하나 이상의 특징은, 일부 경우들에서 조합으로부터 삭제(excise)될 수 있고, 청구된 조합은 서브조합 또는 서브 조합의 변형으로 향할 수 있다.
유사하게, 동작들은 특정한 순서로 도면들에서 도시되는 반면에, 바람직한 결과를 달성하기 위하여, 이러한 동작들이 나타난 특정 순서 또는 순차적인 순서로 수행되어야 하거나 모든 도시된 동작들이 수행되어야 하는 것이 요구되는 것으로 이해되지 않아야 한다. 더욱이, 본 특허 문서에 설명된 실시예들에서 다양한 시스템 구성요소들의 분리는, 모든 실시예들에서 이러한 분리를 요구하는 것으로 이해되지 않아야 한다.
몇 가지 구현들 및 예시들만 설명되고, 다른 구현들, 개선들 및 변형들은 본 특허 문서에 설명되고 도시된 것에 기초하여 이루어질 수 있다.

Claims (39)

  1. 비디오 처리를 위한 방법에 있어서,
    비디오의 현재 비디오 블록 및 상기 비디오의 비트스트림 표현 간의 변환(conversion)을 위하여, 다중 변환 선택(multiple transform selection; MTS) 동작에서 변환(transform) 타입의 인디케이션(indication)이 상기 비트스트림 표현으로부터 배제(exclude)되는지를 결정하는 단계- 상기 현재 비디오 블록은 인트라 블록 카피(intra block copy; IBC) 모드를 사용하여 코딩됨 -; 및
    상기 변환(conversion)을 수행하는 단계
    를 포함하고,
    상기 인디케이션은, 시퀀스 파라미터 세트(sequence parameter set; SPS), 픽처 파라미터 세트(picture parameter set; PPS), 타일 그룹 헤더(tile group header), 슬라이스 헤더(slice header), 픽처 헤더(picture header), 타일 헤더(tile header), 코딩 트리 유닛(coding tree unit; CTU) 로우(row), 코딩 유닛(coding unit), 또는 비디오 데이터 유닛(video data unit)에 있고,
    상기 MTS 동작은, 상기 변환(conversion) 동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위하여 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함하는,
    방법.
  2. 비디오 처리를 위한 방법에 있어서,
    다중 변환 선택(multiple transform selection; MTS) 동작의 선택적인(selective) 적용(application)에 관하여, 비디오의 현재 비디오 블록의 코딩 모드에 기초하여, 결정(decision)을 하는(make) 단계; 및
    상기 결정에 기초하여, 상기 현재 비디오 블록 및 상기 비디오의 비트스트림 표현 간의 변환(conversion)을 수행하는 단계
    를 포함하고,
    상기 MTS 동작은, 상기 변환(conversion) 동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위하여 복수의 미리 정의된(predefined) 변환 후보들(candidates)로부터 변환을 사용하는 것을 포함하는,
    방법.
  3. 제2항에 있어서,
    상기 MTS 동작은 암시적(implicit) MTS 동작이고,
    상기 MTS 동작의 변환 인덱스는 상기 비트스트림 표현으로부터 배제(exclude)되는,
    방법.
  4. 제2항 또는 제3항에 있어서,
    상기 코딩 모드는 인트라 블록 카피(intra block copy; IBC) 모드인,
    방법.
  5. 제2항 또는 제3항에 있어서,
    상기 MTS 동작은, 상기 코딩 모드가 인트라 블록 카피 모드 또는 인트라 모드인 경우, 동일하게(identically) 적용되는,
    방법.
  6. 제5항에 있어서,
    상기 현재 비디오 블록은 스퀘어(square) 블록이고,
    이산 코사인 변환 타입 II(Discrete Cosine Transform Type II; DCT-II)가 적용되는,
    방법.
  7. 제5항에 있어서,
    상기 현재 비디오 블록은 논-스퀘어(non-square) 블록이고,
    이산 코사인 변환 타입 II(Discrete Cosine Transform Type II; DCT-II)는 상기 현재 비디오 블록의 더 긴 사이드(longer side)에 적용되며,
    DCT-VII는 상기 현재 비디오 블록의 더 짧은 사이드(shorter side)에 적용되는,
    방법.
  8. 제2항 또는 제3항에 있어서,
    상기 코딩 모드는 인트라 블록(IBC) 카피 모드이고,
    상기 현재 비디오 블록은 스퀘어 블록이며,
    이산 코사인 변환 타입 VII(Discrete Cosine Transform Type VII; DCT-VII)이 적용되는,
    방법.
  9. 제2항 또는 제3항에 있어서,
    상기 코딩 모드는 인트라 블록 카피(intra block copy; IBC) 모드이고,
    상기 현재 비디오 블록은 논-스퀘어 블록이며,
    변환 스킵(skip)은 상기 현재 비디오 블록의 더 짧은 사이드(shorter side)에 적용되는,
    방법.
  10. 제2항 또는 제3항에 있어서,
    상기 코딩 모드는 블록 차동 펄스 코드 변조(block differential pulse code modulation; BDPCM) 모드, DPCM 모드, 잔차 BDPCM(residual BDPCM; RBDPCM) 모드 또는 아핀 선형 가중 인트라 예측(affine linear weighted intra prediction; ALWIP) 모드인,
    방법.
  11. 제2항 또는 제3항에 있어서,
    상기 코딩 모드는 앵귤러(angular) 인트라-예측 모드인,
    방법.
  12. 제2항에 있어서,
    상기 비트스트림 표현은 허용된 변환들의 세트의 인디케이션을 포함하고,
    상기 인디케이션은 상기 현재 비디오 블록의 상기 코딩 모드에 기초하여 결정되는,
    방법.
  13. 제12항에 있어서,
    상기 코딩 모드는 인트라 블록 카피(intra block copy; IBC) 모드인,
    방법.
  14. 제12항에 있어서,
    상기 코딩 모드는 결합된 인트라 및 인터 예측(combined intra and inter prediction; CIIP) 모드인
    방법.
  15. 제12항에 있어서,
    상기 코딩 모드는 블록 차동 펄스 코드 변조(block differential pulse code modulation; BDPCM) 모드, DPCM 모드, 잔차 BDPCM(residual BDPCM; RBDPCM) 모드 또는 아핀 선형 가중 인트라 예측(affine linear weighted intra prediction; ALWIP) 모드인,
    방법.
  16. 제12항에 있어서,
    상기 코딩 모드는 앵귤러 인트라-예측 모드인,
    방법.
  17. 비디오 처리를 위한 방법에 있어서,
    현재 비디오 블록의 특성에 기초하여, 다중 변환 선택(multiple transform selection; MTS) 동작의 적어도 하나의 인덱스를 코딩하기 위한 컨텍스트 모델을 구성하는 단계; 및
    상기 구성에 기초하여(based on the configuring), 상기 현재 비디오 블록 및 상기 현재 비디오 블록을 포함하는 비디오의 비트스트림 표현 간의 변환(conversion)을 수행하는 단계
    를 포함하고,
    상기 MTS 동작은, 상기 변환(conversion)동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위한 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함하는,
    방법.
  18. 제17항에 있어서,
    상기 특성은 상기 현재 비디오 블록의 코딩 모드를 포함하는,
    방법.
  19. 제18항에 있어서,
    상기 코딩 모드는 인트라 코딩 모드 또는 인터 코딩 모드 또는 인터 블록 카피(inter block copy; IBC)를 포함하는,
    방법.
  20. 제18항에 있어서,
    상기 코딩 모드는 인터 코딩 모드 또는 논-인터 코딩 모드를 포함하는,
    방법.
  21. 제17항에 있어서,
    상기 특성은 상기 현재 비디오 블록과 연관된 모양(shape) 정보를 포함하는,
    방법.
  22. 제21항에 있어서,
    상기 모양 정보는, 상기 현재 비디오 블록이 스퀘어 또는 논-스퀘어인 것을 포함하는,
    방법.
  23. 제21항에 있어서,
    상기 모양 정보는, 상기 현재 비디오 블록의 너비(width)가 상기 현재 비디오 블록의 높이보다 작은 것을 포함하는,
    방법.
  24. 제21항에 있어서,
    상기 모양 정보는, 상기 현재 비디오 블록의 너비가 상기 현재 비디오 블록의 높이보다 큰 것을 포함하는,
    방법.
  25. 제21항에 있어서,
    상기 모양 정보는, 상기 현재 비디오 블록의 높이에 대한 상기 현재 비디오 블록의 너비의 비율(ratio)을 포함하는,
    방법.
  26. 비디오 처리를 위한 방법에 있어서,
    현재 비디오 블록 및 상기 현재 비디오 블록을 포함하는 비디오의 비트스트림 표현 간의 변환(conversion) 동안, 상기 변환(conversion)이 다중 변환 선택(multiple transform selection; MTS) 동작을 포함하는지를 결정하는 단계; 및
    상기 결정에 기초하여(based on the determining), 개별적으로(separately) 상기 MTS 동작의 행렬들의 하나 이상의 수평 인덱스들 및 하나 이상의 수직 인덱스들을 코딩하는 단계
    를 포함하고,
    상기 MTS 동작은, 상기 변환(conversion) 동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위한 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함하는,
    방법.
  27. 제26항에 있어서,
    상기 하나 이상의 수평 인덱스들 및/또는 상기 하나 이상의 수직 인덱스들은, 변환 스킵 동작을 포함하는,
    방법.
  28. 제26항에 있어서,
    상기 하나 이상의 수평 인덱스들에 대한 컨텍스트(context) 모델은 상기 하나 이상의 수직 인덱스들에 기초하는,
    방법.
  29. 제26항에 있어서,
    상기 하나 이상의 수직 인덱스들에 대한 컨텍스트 모델은 상기 하나 이상의 수평 인덱스들에 기초하는,
    방법.
  30. 비디오 처리를 위한 방법에 있어서,
    비디오의 현재 비디오 블록 및 상기 비디오의 비트스트림 표현 간의 변환(conversion)을 위하여, 인트라 블록 카피(intra block copy; IBC) 모드를 사용하여 코딩된 상기 현재 비디오 블록에 대한 다중 변환 선택(multiple transform selection; MTS) 동작에서 변환 타입의 인디케이션을 구성하는 단계; 및
    상기 변환(conversion)을 수행하는 단계
    를 포함하고,
    상기 인디케이션은 시퀀스 파라미터 세트(sequence parameter set; SPS), 픽처 파라미터 세트(picture parameter set; PPS), 타일 그룹 헤더, 슬라이스 헤더, 픽처 헤더, 타일 헤더, 코딩 트리 유닛(coding tree unit; CTU) 로우, 또는 비디오 데이터 유닛에 있고,
    상기 MTS 동작은 상기 변환(conversion)동안 상기 현재 비디오 블록의 예측 에러를 변환하기 위한 복수의 미리 정의된 변환 후보들로부터 변환을 사용하는 것을 포함하는,
    방법.
  31. 제30항에 있어서,
    상기 인디케이션은, 상기 MTS 동작 및 상기 IBC 모드가 상기 SPS, 상기 PPS, 상기 타일 그룹 헤더, 상기 슬라이스 헤더, 상기 픽처 헤더, 상기 타일 헤더, 상기 CTU 로우, 또는 상기 비디오 데이터 유닛으로 명시적으로(explicitly) 코딩되는지 여부에 기초하여, 상기 비트스트림 표현으로 컨디셔널하게(conditionally) 코딩되는,
    방법.
  32. 제30항에 있어서,
    상기 인디케이션은, 상기 MTS 동작이 인터 코딩된 비디오 블록들에 대하여 인에이블되는지 여부에 기초하여, 상기 비트스트림 표현으로 컨디셔널하게 코딩되는
    방법.
  33. 제30항에 있어서,
    상기 SPS는 상기 인디케이션을 포함하고,
    상기 인디케이션은 인터 코딩된 비디오 블록들에 대한 상기 MTS 동작을 사용하여 더 구성하는,
    방법.
  34. 제30항에 있어서,
    상기 인디케이션은 논-제로 코딩된 계수들의 수에 기초하는,
    방법.
  35. 제30항에 있어서,
    상기 인디케이션은 논-제로 코딩된 계수들의 절댓값(absolute values)들의 합(sum)에 기초하는,
    방법.
  36. 제1항 내지 제35항 중 어느 한 항에 있어서,
    상기 변환(conversion)은 상기 비트스트림 표현으로부터 상기 현재 비디오 블록을 생성하는,
    방법.
  37. 제1항 내지 제35항 중 어느 한 항에 있어서,
    상기 변환(conversion)은 상기 현재 비디오 블록으로부터 상기 비트스트림 표현을 생성하는,
    방법.
  38. 프로세서에 의하여 실행되면 제1항 내지 제37항 중 어느 한 항의 상기 방법을 구현하도록 프로세서를 유발하는 명령어들을 갖는 비-일시적인 메모리 및 상기 프로세서를 포함하는 비디오 시스템에서의 장치.
  39. 비-일시적인 컴퓨터 판독가능한 매체에 저장된, 제1항 내지 제37항 중 어느 한 항의 상기 방법을 수행(carry out)하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램 제품.

KR1020217033198A 2019-04-23 2020-04-23 다중 변환 행렬의 선택 및 컨텍스트 모델링 KR20210154157A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2019083844 2019-04-23
CNPCT/CN2019/083844 2019-04-23
PCT/CN2020/086354 WO2020216282A1 (en) 2019-04-23 2020-04-23 Context modeling and selection of multiple transform matrix

Publications (1)

Publication Number Publication Date
KR20210154157A true KR20210154157A (ko) 2021-12-20

Family

ID=72940829

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217033198A KR20210154157A (ko) 2019-04-23 2020-04-23 다중 변환 행렬의 선택 및 컨텍스트 모델링

Country Status (6)

Country Link
US (1) US11930176B2 (ko)
EP (1) EP3939282A4 (ko)
JP (2) JP7277608B2 (ko)
KR (1) KR20210154157A (ko)
CN (3) CN116896634A (ko)
WO (2) WO2020216282A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023191404A1 (ko) * 2022-03-27 2023-10-05 엘지전자 주식회사 적응적 mts에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체
WO2024080766A1 (ko) * 2022-10-12 2024-04-18 엘지전자 주식회사 비분리 변환에 기반한 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG11202113262WA (en) * 2019-05-31 2021-12-30 Interdigital Vc Holdings Inc Transform selection for implicit multiple transform selection
US20230007290A1 (en) * 2019-11-26 2023-01-05 Electronics And Telecommunications Research Institute Image encoding/decoding method and apparatus, and recording medium storing bitstream
CN115633172A (zh) * 2020-12-06 2023-01-20 浙江大华技术股份有限公司 基于ibc模式编码方法、电子设备及存储介质
WO2022197139A1 (ko) * 2021-03-19 2022-09-22 현대자동차주식회사 크로마 블록의 인트라 서브블록 예측을 이용하는 비디오 코딩방법 및 장치
WO2024020117A1 (en) * 2022-07-19 2024-01-25 Google Llc Dependent context model for transform types
WO2024050099A1 (en) * 2022-09-02 2024-03-07 Beijing Dajia Internet Information Technology Co., Ltd. Methods and devices for intra block copy

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012516626A (ja) * 2009-01-27 2012-07-19 トムソン ライセンシング ビデオ符号化およびビデオ復号における変換の選択のための方法および装置
US9215470B2 (en) 2010-07-09 2015-12-15 Qualcomm Incorporated Signaling selected directional transform for video coding
US9219915B1 (en) * 2013-01-17 2015-12-22 Google Inc. Selection of transform size in video coding
US11323747B2 (en) * 2013-06-05 2022-05-03 Qualcomm Incorporated Residual differential pulse code modulation (DPCM) extensions and harmonization with transform skip, rotation, and scans
AU2013228045A1 (en) * 2013-09-13 2015-04-02 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding video data
GB2519070A (en) * 2013-10-01 2015-04-15 Sony Corp Data encoding and decoding
US9906813B2 (en) * 2013-10-08 2018-02-27 Hfi Innovation Inc. Method of view synthesis prediction in 3D video coding
EP3090543A4 (en) 2013-12-30 2017-08-02 QUALCOMM Incorporated Simplification of delta dc residual coding in 3d video coding
WO2015100522A1 (en) 2013-12-30 2015-07-09 Mediatek Singapore Pte. Ltd. Methods for inter-component residual prediction
CN103780910A (zh) * 2014-01-21 2014-05-07 华为技术有限公司 视频编码中的块分割方式和最佳预测模式确定方法及相关装置
US11070810B2 (en) * 2014-03-14 2021-07-20 Qualcomm Incorporated Modifying bit depths in color-space transform coding
CN105359531B (zh) * 2014-03-17 2019-08-06 微软技术许可有限责任公司 用于针对屏幕内容编码的编码器侧判定的方法和系统
TW201626798A (zh) 2014-10-06 2016-07-16 Vid Scale Inc 用於螢幕內容編碼之改良調色編碼
GB2531004A (en) * 2014-10-06 2016-04-13 Canon Kk Residual colour transform signalled at sequence level for specific coding modes
WO2016081939A1 (en) * 2014-11-21 2016-05-26 Vid Scale, Inc. One-dimensional transform modes and coefficient scan order
US10306229B2 (en) * 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
WO2017041271A1 (en) 2015-09-10 2017-03-16 Mediatek Singapore Pte. Ltd. Efficient context modeling for coding a block of data
US10440399B2 (en) 2015-11-13 2019-10-08 Qualcomm Incorporated Coding sign information of video data
CN107231566B (zh) * 2016-03-25 2020-12-18 阿里巴巴集团控股有限公司 一种视频转码方法、装置和系统
ES2739668B1 (es) * 2016-03-28 2021-12-03 Kt Corp Metodo y aparato para procesar senales de video
US20170374369A1 (en) * 2016-06-24 2017-12-28 Mediatek Inc. Methods and Apparatuses of Decoder Side Intra Mode Derivation
US10972733B2 (en) * 2016-07-15 2021-04-06 Qualcomm Incorporated Look-up table for enhanced multiple transform
US10880564B2 (en) * 2016-10-01 2020-12-29 Qualcomm Incorporated Transform selection for video coding
CA3041856A1 (en) 2016-12-28 2018-07-05 Sony Corporation Image processing apparatus and method for curbing deterioration in coding efficiency
WO2018143496A1 (ko) * 2017-02-03 2018-08-09 엘지전자(주) 예측 모드를 유도하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치
KR20180092774A (ko) * 2017-02-10 2018-08-20 삼성전자주식회사 샘플 적응적 오프셋 처리를 수행하는 영상 처리 장치 및 영상 처리 방법
US11405645B2 (en) * 2017-02-28 2022-08-02 Google Llc Transform kernel selection and entropy coding
CA3055804C (en) * 2017-03-10 2022-10-18 Mediatek, Inc. Method and apparatus of implicit intra coding tool settings with intra directional prediction modes for video coding
US10855997B2 (en) * 2017-04-14 2020-12-01 Mediatek Inc. Secondary transform kernel size selection
US10750181B2 (en) * 2017-05-11 2020-08-18 Mediatek Inc. Method and apparatus of adaptive multiple transforms for video coding
WO2019074291A1 (ko) * 2017-10-11 2019-04-18 엘지전자 주식회사 분리 변환 기반 영상 코딩 방법 및 그 장치
US11284112B2 (en) * 2018-12-06 2022-03-22 Tencent America LLC Method and apparatus for a primary transform using an 8-bit transform core

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023191404A1 (ko) * 2022-03-27 2023-10-05 엘지전자 주식회사 적응적 mts에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체
WO2024080766A1 (ko) * 2022-10-12 2024-04-18 엘지전자 주식회사 비분리 변환에 기반한 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체

Also Published As

Publication number Publication date
CN113728641B (zh) 2023-09-15
US11930176B2 (en) 2024-03-12
JP2023103327A (ja) 2023-07-26
CN116896634A (zh) 2023-10-17
WO2020216282A1 (en) 2020-10-29
WO2020216288A1 (en) 2020-10-29
CN113711597A (zh) 2021-11-26
US20220295061A1 (en) 2022-09-15
EP3939282A4 (en) 2022-11-16
JP2022531553A (ja) 2022-07-07
EP3939282A1 (en) 2022-01-19
CN113728641A (zh) 2021-11-30
CN113711597B (zh) 2022-11-25
JP7277608B2 (ja) 2023-05-19

Similar Documents

Publication Publication Date Title
JP7269373B2 (ja) ビデオ処理方法、装置、記憶媒体及び記憶方法
WO2020216282A1 (en) Context modeling and selection of multiple transform matrix
JP7277616B2 (ja) ビデオ・データを処理する方法、装置及び記憶媒体
WO2020228663A1 (en) Interactions among multiple intra coding methods
JP7372449B2 (ja) スキップしたブロックを変換するための残差コーディング
JP2024010156A (ja) イントラコーディングにおけるサブパーティショニング
WO2020228693A1 (en) Coding of multiple intra prediction methods
JP7514359B2 (ja) ビデオ・データ処理方法、装置、記憶媒体及び記憶方法

Legal Events

Date Code Title Description
A201 Request for examination