KR20220035108A - 행렬 기반 인트라 예측을 이용한 비디오 인코딩 및 디코딩을 위한 방법 및 장치 - Google Patents

행렬 기반 인트라 예측을 이용한 비디오 인코딩 및 디코딩을 위한 방법 및 장치 Download PDF

Info

Publication number
KR20220035108A
KR20220035108A KR1020227000721A KR20227000721A KR20220035108A KR 20220035108 A KR20220035108 A KR 20220035108A KR 1020227000721 A KR1020227000721 A KR 1020227000721A KR 20227000721 A KR20227000721 A KR 20227000721A KR 20220035108 A KR20220035108 A KR 20220035108A
Authority
KR
South Korea
Prior art keywords
matrix
block
prediction
video
weight matrices
Prior art date
Application number
KR1020227000721A
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 KR20220035108A publication Critical patent/KR20220035108A/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/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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

다양한 구현예가 기술되고, 특히 행렬 기반 인트라 예측이라고도 하는 선형 가중화된 인트라 예측에 기반한 비디오 인코딩 및 디코딩을 위한 구현예가 제시된다. 따라서, 선형 가중화된 인트라 예측에서 인코딩 또는 디코딩되는 블록의 경우, 사이즈가 감소된 적어도 2개의 선택된 가중치 행렬과 이웃하는 참조 샘플의 세트 간의 적어도 2개의 행렬-벡터 곱으로부터 인트라 예측된 샘플을 획득하는 것을 포함한다. 유리하게는, 그러한 구성은 데이터를 저장하기 위한 메모리의 양을 감소시키고, 인트라 예측 샘플 계산의 복잡도를 감소시키는 것을 가능하게 한다.

Description

행렬 기반 인트라 예측을 이용한 비디오 인코딩 및 디코딩을 위한 방법 및 장치
본 실시예 중 적어도 하나는 일반적으로, 예컨대, 비디오 인코딩 또는 디코딩을 위한 방법 또는 장치에 관한 것으로, 보다 구체적으로는, 적어도 2개의 가중치 행렬과 이웃하는 참조 샘플 세트 사이의 적어도 2개의 행렬-벡터 곱으로부터 블록의 인트라 예측 샘플을 획득하는 것을 포함하는 방법 또는 장치에 관한 것이다.
하나 이상의 구현예의 도메인 기술 분야는 일반적으로 비디오 압축과 관련이 있다. 적어도 일부 실시예는 HEVC(HEVC는 "ITU의 ITU-T H.265 통신 표준화 부문(2014년 10월), series H: 시청각 및 멀티미디어 시스템, 시청각 서비스 인프라-동영상 비디오 코딩, 고효율 비디오 코딩, 권장 사항 ITU-T H.265"에서 기술된 H.265 및 MPEG-H Part 2라고도 하는 고효율 비디오 코딩을 지칭함)와 같은 기존의 비디오 압축 시스템과 비교하여, 또는 VVC(Versatile Video Coding, 이는 JVET(Joint Video Experts Team)에 의해 개발 중인 새로운 표준임)와 같은 개발 중인 비디오 압축 시스템과 비교하여, 압축 효율을 개선하는 것에 관련된 것이다.
높은 압축 효율을 달성하기 위해, 이미지 및 비디오 코딩 방식은 일반적으로 모션 벡터 예측을 포함한 예측을 이용하고, 비디오 콘텐츠의 공간적 및 시간적 중복성을 활용하도록 변환한다. 일반적으로, 인트라(intra) 또는 인터(inter) 예측은 인트라 또는 인터 프레임 상관 관계를 활용하는 데 사용되며, 그런 다음 종종 예측 오차(prediction error) 또는 예측 잔차(prediction residual)로 표시되는 원본 이미지와 예측된 이미지 간의 차이가 변환, 양자화, 및 엔트로피 코딩된다. 비디오를 재구성하기 위해, 압축된 데이터는 엔트로피 코딩, 양자화, 변환, 및 예측에 해당하는 역 프로세스를 통해 디코딩된다.
최근 추가된 고압축 기술에는 참조 샘플의 다운 샘플링과 행렬 곱의 조합을 사용하는 인트라 예측이 포함된다. 이러한 인트라 예측의 단점은 다양한 필터링 프로세스에서 사용되는 가중 파라미터(weighting parameter)를 저장하는 데 필요한 데이터의 양이 많다는 것이다. 따라서, 메모리 효율을 위해 인트라 예측 행렬의 저장을 최적화하고, 복잡도를 위해 디코딩에서 인트라 예측된 샘플의 계산을 최적화하는 것이 바람직하다.
본 발명의 목적은 선행 기술의 단점 중 적어도 하나를 극복하는 데 있다. 이를 위해, 적어도 하나의 실시예의 일반적인 양태에 따르면, 인트라 예측 모드에서 선형 가중화된 예측을 사용하여 비디오의 픽처의 블록을 인코딩하는 것을 포함하는 비디오 인코딩 방법이 제시된다. 특정 특성에 따르면, 인코딩은 가중치 행렬 및 연관된 바이어스 벡터의 세트 중 적어도 2개의 선택된 가중치 행렬 및 연관된 바이어스 백터와 이웃하는 참조 샘플의 세트 간의 적어도 2개의 행렬-벡터 곱으로부터 블록의 인트라 예측된 샘플을 획득하는 것을 포함한다.
유리하게는, 적어도 2개의 선택된 가중치 행렬은 메모리에 저장될 보다 적은 개수의 계수뿐만 아니라 예측될 샘플당 보다 적은 개수의 곱셈을 포함하도록 구성된다. 낮은 추론 복잡도로 인해 디코더가 자주 구현되는 리소스 제한된 디바이스에서 행렬 기반 인트라 예측의 능력이 활성화된다.
적어도 하나의 실시예의 다른 일반적인 양태에 따르면, 비디오의 픽처의 블록을 디코딩하는 것을 포함하는 비디오 디코딩 방법이 제시되고, 이러한 블록은 인트라 예측 모드에서 선형 가중화된 예측을 사용하여 코딩된다. 특정 특성에 따르면, 디코딩은 가중치 행렬 및 연관된 바이어스 벡터의 세트 중 적어도 2개의 선택된 가중치 행렬 및 연관된 바이어스 백터와 이웃하는 참조 샘플의 세트 간의 적어도 2개의 행렬-벡터 곱으로부터 블록의 인트라 예측된 샘플을 획득하는 것을 더 포함한다.
적어도 하나의 실시예의 다른 일반적인 양태에 따르면, 인코딩 방법의 실시예 중 어느 하나를 구현하기 위한 수단을 포함하는 비디오 인코딩 장치가 제시된다.
적어도 하나의 실시예의 다른 일반적인 양태에 따르면, 디코딩 방법의 실시예 중 어느 하나를 구현하기 위한 수단을 포함하는 비디오 디코딩 장치가 제시된다.
적어도 하나의 실시예의 다른 일반적인 양태에 따르면, 하나 이상의 프로세서, 및 적어도 하나의 메모리를 포함하는 비디오 인코딩 장치가 제공된다. 하나 이상의 프로세서는 인코딩 방법의 실시예 중 어느 하나로 구현하도록 구성된다.
적어도 하나의 실시예의 다른 일반적인 양태에 따르면, 하나 이상의 프로세서 및 적어도 하나의 메모리를 포함하는 비디오 디코딩 장치가 제공된다. 하나 이상의 프로세서는 디코딩 방법의 실시예 중 어느 하나로 구현하도록 구성된다.
적어도 하나의 실시예의 다른 일반적인 양태에 따르면, 선형 가중화된 예측을 사용하는 블록의 인코딩 또는 디코딩은 n개의 이웃하는 참조 샘플 x의 세트를 결정하는 것; 선형 가중화된 인트라 예측의 모드 및 블록 형상에 기반하여, 가중치 행렬 및 연관된 바이어스 벡터의 세트 중에서 사이즈가
Figure pct00001
Figure pct00002
인 적어도 2개의 가중치 행렬 G
Figure pct00003
와, 연관된 바이어스 벡터 b를 선택하는 것 - 제1 선택된 가중치 행렬 G 는 사이즈
Figure pct00004
을 가지고, 제2 선택된 가중치 행렬
Figure pct00005
는 사이즈
Figure pct00006
을 가지며, 여기서,
Figure pct00007
은 정수이며, rm보다 작고, rn보다 작음 -; 및 제1 행렬 곱
Figure pct00008
및 제2 행렬 곱
Figure pct00009
로부터 블록의 인트라 예측된 샘플
Figure pct00010
를 획득하고, 연관된 바이어스 벡터 b를 가산하여,
Figure pct00011
를 생성하는 것을 더 포함한다.
적어도 하나의 실시예의 다른 일반적인 양태에 따르면, 제1 및 제2 가중치 행렬은 G
Figure pct00012
는 사이즈가
Figure pct00013
인 가중치 행렬 M 의 낮은 순위 처리로부터 획득되며, 여기서 가중치 행렬 M 의 추정치
Figure pct00014
은 제1 및 제2 가중치 행렬 G
Figure pct00015
의 곱, 즉,
Figure pct00016
이 된다.
적어도 하나의 실시예의 다른 일반적인 양태에 따르면, r은 행렬 곱 복잡도를 감소시키도록 결정된다.
적어도 하나의 실시예의 다른 일반적인 양태에 따르면, r은 가중치 행렬 M 의 특이값 분해(Single Value Decomposition)(SVD)에 응답하여 결정된다.
적어도 하나의 실시예의 다른 일반적인 양태에 따르면, 사이즈가 폭 * 높이인 블록의 경우, 이웃하는 참조 샘플 x의 세트는 사이즈가 폭인 이웃하는 상단 라인과 사이즈가 높이인 이웃하는 좌측 라인으로부터의 모든 재구성된 샘플을 포함한다.
적어도 하나의 실시예의 다른 일반적인 양태에 따르면, 사이즈가 폭 * 높이인 블록의 경우, 이웃하는 참조 샘플 의 세트는 사이즈가 2*폭인 이웃하는 상단 라인과 사이즈가 2*높이인 이웃하는 좌측 라인으로부터의 모든 재구성된 샘플을 포함한다.
적어도 하나의 실시예의 다른 일반적인 양태에 따르면, 가중치 행렬 및 연관된 바이어스 벡터의 세트를 나타내는 적어도 하나의 상위 레벨 신택스 요소는 픽처 파라미터 세트(Picture Parameter Set)(PPS)에서 시그널링되고, 그에 따라 선형 가중화된 예측을 사용하는 프레임 내의 모든 블록은 시그널링된 가중치 행렬 세트를 사용하게 된다. 적어도 하나의 실시예의 다른 일반적인 양태에 따르면, 가중치 행렬 및 연관된 바이어스 벡터의 세트를 나타내는 적어도 하나의 상위 레벨 신택스 요소는 시퀀스 파라미터 세트(Sequence Parameter Set)(SPS)에서 시그널링되고, 그에 따라 선형 가중화된 예측을 사용하는 시퀀스 내의 모든 블록은 시그널링된 가중치 행렬 세트를 사용하게 된다.
적어도 하나의 실시예의 다른 일반적인 양태에 따르면, 행렬의 2개의 행렬-벡터 곱의 비트 깊이는 인트라 예측된 샘플의 비트 깊이에 대해 증가한다.
적어도 하나의 실시예의 다른 일반적인 양태에 따르면, 임의의 전술한 설명의 방법 또는 장치에 따라 생성된 데이터 콘텐츠를 포함하는 비 일시적 컴퓨터 판독 가능 매체가 제시된다.
적어도 하나의 실시예의 다른 일반적인 양태에 따르면, 임의의 전술한 설명의 방법 또는 장치에 따라 생성된 비디오 데이터를 포함하는 신호가 제공된다.
하나 이상의 본 실시예는 또한 위에서 기술된 방법 중 임의의 방법에 따라 비디오 데이터를 인코딩 또는 디코딩하기 위한 인스트럭션을 저장한 컴퓨터 판독 가능 저장 매체를 제공한다. 본 실시예는 또한 전술한 방법에 따라 생성된 비트스트림을 저장한 컴퓨터 판독 가능 저장 매체를 제공한다. 본 실시예는 또한 전술한 방법에 따라 생성된 비트스트림을 전송하기 위한 방법 및 장치를 제공한다. 본 실시예는 또한 기술된 임의의 방법을 수행하기 위한 인스트럭션을 포함하는 컴퓨터 프로그램 제품을 제공한다.
도 1은 이진 및 삼중 트리 분할 모드의 예를 도시한 것이다.
도 2는 다양한 분할 모드, 예컨대, 이진 및 삼중 트리 분할 모드에 따라 코딩 블록(Coding Block)(CB)으로 분할되는 코딩 트리 블록(Coding Tree Block)(CTB)을 도시한 것이다.
도 3은 이웃하는 참조 샘플로부터의 샘플 참조 생성 프로세스를 도시한 것이다.
도 4는 인트라 예측에서 사용되는 다양한 예측 방향을 나타낸 것이다.
도 5a, 도 5b, 도 5c, 및 도 5d는 특정 실시예에 따른 다양한 블록 사이즈에 대한 행렬 인트라 예측(Matrix Intra-Prediction)(MIP)이라고도 하는 아핀 선형 가중화된 인트라 예측(Affine Linear Weighted Intra Prediction)(ALWIP)을 나타낸 것이다.
도 6은 적어도 하나의 실시예의 일반적인 양태에 따른 인트라 예측을 포함하는 예시적인 인코딩 또는 디코딩 방법을 도시한 것이다.
도 7은 실시예의 다양한 양태가 구현될 수 있는 비디오 인코더의 실시예의 블록 다이어그램을 도시한 것이다.
도 8은 실시예의 다양한 양태가 구현될 수 있는 비디오 인코더의 실시예의 블록 다이어그램을 도시한 것이다.
도 9는 실시예의 다양한 양태가 구현될 수 있는 예시적인 장치의 블록 다이어그램을 도시한 것이다.
본 원리의 명확한 이해와 관련된 요소를 도시하면서, 명료함을 위해 전형적인 인코딩 및/또는 디코딩 디바이스에서 발견되는 많은 다른 요소를 제거하기 위해, 도면 및 설명이 단순화되었음을 이해해야 한다. 제1, 제2의 용어가 본원에서 다양한 요소를 기술하기 위해 사용될 수 있지만, 이들 요소는 이들 용어에 의해 제한되어서는 안 된다는 것이 이해될 것이다. 이들 용어는 한 요소를 다른 요소와 구별하기 위해서만 사용된다.
다양한 실시예는 픽처의 인코딩/디코딩과 관련하여 기술된다. 이들 실시예는 슬라이스 또는 타일과 같은 픽처의 일부, 또는 픽처의 전체 시퀀스를 인코딩/디코딩하는 데 적용될 수 있다.
다양한 방법이 위에서 기술되었으며, 각각의 방법은 기술된 방법을 달성하기 위한 하나 이상의 단계 또는 액션을 포함한다. 방법의 적절한 동작을 위해 특정 순서의 단계 또는 액션이 요구되지 않은 한, 특정 단계 및/또는 액션의 순서 및/또는 사용은 수정되거나 결합될 수 있다.
적어도 하나의 실시예는 VVC에서 채택된 행렬 기반 인트라 예측 툴(matrix based intra prediction tool)과 행렬 구조적 분해(matrix structural decomposition)를 효율적으로 결합하여, 이들 행렬의 메모리 풋프린트를 감소시키고 디코더 측에서의 계산을 용이하게 한다. 하나의 비 제한적인 예에 따르면, 행렬 구조적 분해는 가중치 행렬의 낮은 순위 표현 및 낮은 변위 순위 표현과 같은 행렬 분해(matrix factorization)를 포함한다.
섹션 1에서는 행렬 기반 인트라 예측과 관련된 몇 가지 제한 사항이 개시된다.
섹션 2에서는 선형 가중화된 인트라 예측을 사용하여 인코딩 또는 디코딩하기 위한 방법의 여러 실시예가 개시된다.
섹션 3에서는 개시된 방법을 구현하는 일반적인 실시예 및 추가 정보가 개시된다.
1. 인트라 예측: 원리 및 제한 사항
HEVC 코딩에서, 픽처는 일반적으로 64x64의 구성 가능한 사이즈를 가진 정사각형 형상의 CTU로 분할된다. 사이즈는 다른 비디오 코딩 표준에서 128x128 또는 256x256일 수 있다. CTU는 동일한 사이즈, 즉 폭과 높이가 부모 블록 사이즈의 절반인 4개의 정사각형 코딩 단위(Coding Unit)(CU)로 분할되는 쿼드 트리(quad-tree)의 루트이다. 쿼드 트리는 부모 노드(parent node)가 4개의 자식 노드(child node)로 분할될 수 있는 트리이며, 각 자식 노드는 4개의 자식 노드로의 다른 분할을 위한 부모 노드가 될 수 있다. HEVC에서, 코딩 블록(CB)은 하나 이상의 예측 블록(Prediction Block)(PB)으로 분할되고, 변환 블록(Transform Block)(TB)으로 분할되는 쿼드트리의 루트를 형성한다. 코딩 블록, 예측 블록, 및 변환 블록에 해당하는 코딩 단위(CU)는 예측 단위(PU), 및 트리 구조의 변환 단위(TU) 세트를 포함하고, PU는 모든 컬러 성분에 대한 예측 정보를 포함하고, 그리고 TU는 각 컬러 성분에 대한 잔차 코딩 신택스 구조를 포함한다. 루마(luma) 성분의 CB, PB 및 TB의 사이즈는 해당 CU, PU 및 TU에 적용된다.
보다 최근의 인코딩 시스템에서, CTU는 코딩 단위(CU)로 분할되는 코딩 트리의 루트이다. 코딩 트리는 부모 노드(통상적으로 블록에 해당함)가 자식 노드(예컨대, 2, 3 또는 4개의 자식 노드)로 분할될 수 있는 트리이며, 각 자식 노드는 자식 노드로의 다른 분할을 위한 부모 노드가 될 수 있다. 쿼드 트리 분할 모드 외에도, 가능한 분할 모드의 총 수를 증가시키는 새로운 분할 모드(이진 트리 대칭 분할 모드, 이진 트리 비대칭 분할 모드 및 삼중 트리 분할 모드)가 또한 정의된다. 도 1은 이러한 분할 모드의 예를 도시한 것이다. 좌측의 2개의 분할 모드는 블록을 동일한 2개의 서브 블록으로 수직(SPLIT_BT_VER) 또는 수평(SPLIT_BT_HOR)으로 분할하는 기존의 이진 분할 모드이다. 우측의 2개의 분할 모드는 삼중 트리 분할 모드의 예이다. SPLIT_TT_VER 모드는 블록을 각각의 폭 N/4, N/2 및 N/4의 3개의 서브 블록으로 수직으로 분할한다. SPLIT_TT_HOR 모드는 블록을 각각의 높이 N/4, N/2 및 N/4의 3개의 서브 블록으로 수평으로 분할한다. 코딩 트리는 고유한 루트 노드, 예컨대, CTU를 갖는다. 코딩 트리의 리프(leaf)는 트리의 종료 노드이다. 코딩 트리의 각 노드는 블록을 나타내며, 이 블록은 서브 블록 또는 보다 일반적으로 서브 블록이라고 지칭되기도 하는 보다 작은 블록으로 더 분할될 수 있다. CTU를 CU로 분할하는 것이 결정되면, 코딩 트리의 리프에 해당하는 CU가 인코딩된다. CTU를 CU로 분할하는 것과 각 CU(코딩 트리의 리프에 해당함)를 인코딩하는 데 사용되는 코딩 파라미터는 레이트 왜곡 최적화 절차를 통해 인코더 측에서 결정될 수 있다. 도 2는 다양한 분할 모드에 따라 CU로 분할되는 CTU를 도시한 것이다. 보다 정확하게는, 도 2는 중첩된 쿼드 트리(QT), 이진 트리(BT) 및 삼중 트리(TT) 구조와 함께 CU의 코딩 트리를 나타낸 것이다.
본 출원에서, "블록" 또는 "픽처 블록"이라는 용어는 CTU, CU, PU, TU, CB, PB 및 TB 중 어느 하나를 지칭하는 데 사용될 수 있다. 또한, "블록" 또는 "픽처 블록"이라는 용어는 H.264/AVC 또는 다른 비디오 코딩 표준에 지정된 매크로블록, 파티션 및 서브 블록을 지칭하는 데 사용될 수 있으며, 보다 일반적으로는 다양한 사이즈의 샘플 어레이를 지칭하는 데 사용될 수 있다.
본 출원에서, "재구성된" 및 "디코딩된"이라는 용어가 상호 교환가능하게 사용될 수 있고, "픽셀" 및 "샘플"이라는 용어가 상호 교환가능하게 사용될 수 있고, "이미지", "픽처" 및 "프레임"이라는 용어가 상호 교환가능하게 사용될 수 있다. 일반적으로, 그러나 반드시 그런 것은 아니지만, "재구성된"이라는 용어는 인코더 측에서 사용되는 반면 "디코딩된"이라는 용어는 디코더 측에서 사용된다.
비디오 압축에서의 인트라 예측은, 원인이 되는 이웃 블록으로부터, 즉 이미 디코딩된 동일한 프레임의 이웃 블록으로부터의 정보를 사용한 픽셀 블록의 공간적 예측을 지칭한다. 이러한 인트라 예측은 더 나은 시간적 예측이 없을 때마다 인트라(INTRA) 프레임과 인터(INTER) 프레임에서 높은 압축 효율을 허용하기 때문에 강력한 코딩 툴이 된다. 따라서, 인트라 예측은 H.264/AVC, HEVC 등을 포함한 모든 비디오 압축 표준에서 핵심 코딩 툴로 포함되었다.
인트라 예측은 동일한 객체, 배경 또는 영역 등에 속할 수 있는 픽셀들 간의 공간적 상관 관계를 활용한다. 이러한 맥락에서, H.264/AVC, H.265/HEVC 등과 같은 비디오 코딩 표준의 인트라 예측은, 객체 방향의 방향성과 천천히 변화하는 영역 또는 텍스처의 강도를 캡처하도록 설계되었다. 예를 들어, HEVC에서, 인트라 예측은, 하나의 DC 모드, 하나의 평면(PLANAR) 모드, 및 33개의 각도 예측 모드를 포함하는 35개의 예측 모드를 포함한다. 이러한 각도 예측 모드는 객체의 방향 구조를 모델링하도록 설계된 반면 DC 모드 및 평면 모드는 천천히 그리고 점진적인 강도 변화가 있는 영역과 다양한 텍스처가 있는 영역에 대한 예측을 제공한다. 미래 표준 H.266의 설계를 목표로 하는 VTM(Versatile Video Coding Test Model)에서는 특히 큰 블록 사이즈에 유용한 추가 방향을 수용하기 위해 예측 모드의 수가 67개로 증가했다. 방향 예측 모드의 경우, 이웃하는 좌측 및 상단 이웃들로부터 필터링된 픽셀 값은 미리 정의된 방향으로 반복된다. 블록 경계를 따라 예측을 평활화(smooth)하기 위해, 위치 의존성 인트라 예측 조합(Position Dependent Intra Prediction Combination)(PDPC)이 도입되었다. 이러한 PDPC는 추가 참조 샘플을 사용하여 타겟 블록 경계에서 예측을 평활화하는 것을 목표로 한다. 일부 예측 방향의 경우, 일부 참조 샘플을 사용할 수 없으므로, 참조 샘플의 패딩이 사용된다.
HEVC에서, 비디오 시퀀스 프레임의 인코딩은 쿼드 트리(QT) 블록 구조를 기반으로 한다. 프레임은, 레이트 왜곡 기준에 기반하여 다수의 코딩 단위(coding unit)(CU)로의 쿼드 트리 기반 분할을 모두 겪는 정사각형 코딩 트리 단위(coding tree unit)(CTU)로 분할된다. 각 CU에는 예측 툴의 기본 블록인 적어도 하나의 예측 단위(prediction unit)(PU)가 포함된다. 인트라 예측에서, PU는 원인이 되는 이웃 PU, 즉 상단 및 좌측의 PU로부터 공간적으로 예측된다. 이를 위해, HEVC는 예측 모드라고 지칭되는 간단한 공간 모델을 사용한다. 참조 픽셀이라고 지칭되는, 상단 및 좌측 PU의 디코딩된 픽셀 값에 기반하여, 인코더는 타겟 블록에 대해 서로 다른 예측을 구성하고, 최상의 RD 성능을 유도하는 예측을 선택한다. 35개의 정의된 모드 중에서, 하나는 평면 모드(모드 0으로 인덱싱됨)이고, 하나는 DC 모드(모드 1로 인덱싱됨)이고, 나머지 33개(모드 2 내지 34로 인덱싱됨)는 각도 모드이다. 각도 모드는 프레임에서 객체의 방향 구조를 모델링하는 것을 목표로 한다. 따라서, 상단 및 좌측 CU의 디코딩된 픽셀 값은 예측 블록을 채우기 위해 정의된 방향을 따라 단순히 반복된다. 이러한 프로세스는 특정 모드에 대해 상단 및 좌측 참조 경계를 따라 불연속성을 초래할 수 있기 때문에, 이러한 예측 모드에는 해당 경계를 따라 픽셀 값을 평활화하기 위한 후속적인 사후 필터링이 포함된다.
위의 예측 모델은 강도 값이 너무 많이 변경되지 않는 한 매우 잘 작동한다. 그러나, 자연 이미지에서, 객체의 강도 값은 여러 가지 이유로 인해 종종 변경된다. 객체 자체의 컬러 속성으로 인해, 또는 조명, 깊이, 모션 등으로 인해, PU 동안 강도 값은 픽셀 반복을 사용해서는 충분히 모델링될 수 없는 변경을 겪을 수 있다. 이것은 특히 PU 사이즈가 큰 경우에 그러하다. VTM에서는 CTU 사이즈를 최대 128까지 사용하는 것이 제안되었다. 따라서, 강도 변화를 훨씬 더 효율적으로 모델링할 보간과 같은 다른 예측 모델을 고려하는 것이 더 의미가 있다.
HEVC에서의 인트라 예측
HEVC에서의 인트라 예측 프로세스는 3개의 단계: 즉 (1) 참조 샘플 생성 단계, (2) 인트라 샘플 예측 단계, 및 (3) 예측된 샘플의 사후 처리 단계를 포함한다. 참조 샘플 생성 프로세스는 도 3에 도시되어 있다. 사이즈가 NxN인 PU의 경우, 상단의 2N개의 디코딩된 샘플의 행은 이전에 재구성된 상단 및 상단 우측 픽셀로부터 현재 PU까지 형성된다. 유사하게, 좌측의 2N개의 샘플의 열은 재구성된 좌측 및 좌측 아래의 픽셀로부터 형성된다. 상단 좌측 위치의 코너 픽셀은 또한 상단 행과 좌측 열 참조 사이의 갭을 채우는 데에도 사용된다. 예를 들어, 해당 CU가 동일한 슬라이스에 없거나 현재 CU가 프레임 경계에 있기 때문에, 상단 또는 좌측에 있는 샘플 중 일부를 사용할 수 없는 경우, 누락된 샘플이 사용 가능한 샘플로부터 시계 방향으로 복제되는 참조 샘플 대체라고 지칭되는 방법이 수행된다. 그 후, 현재 CU 사이즈 및 예측 모드에 따라, 지정된 필터를 사용하여 참조 샘플을 필터링한다.
다음 단계, 즉, 인트라 샘플 예측은 참조 샘플에 기반하여 타겟 CU의 픽셀을 예측하는 것으로 구성된다. 앞서 언급한 바와 같이, HEVC는 다양한 종류의 콘텐츠를 효율적으로 예측하기 위해 다양한 예측 모델을 지원한다. 평면 및 DC 예측 모드는 부드럽고 점진적으로 변화하는 영역을 예측하는 데 사용되는 반면, 각도 예측 모드는 상이한 방향 구조를 캡처하는 데 사용된다. HEVC는 2 내지 34로 인덱싱되는 33개의 방향 예측 모드를 지원한다. 이들 예측 모드는 도 4에 도시된 바와 같이 상이한 예측 방향에 해당한다.
도 4에 도시된 바와 같이, 정의된 각도 방향으로 인해 샘플 정확도는 1/32이 된다. 즉, 인접한 임의의 2개의 참조 샘플 사이에는 32개의 가능한 방향이 있다. 정의된 방향은 수직 또는 수평으로 구분될 수 있다. 수평 방향의 예측은 좌측 참조 샘플만을 사용하거나 일부의 좌측 참조 샘플 및 일부의 상단 참조 샘플을 사용한다. 유사하게, 수직 방향의 예측은 상단 참조 샘플만을 사용하거나 일부의 상단 참조 샘플 및 일부의 좌측 참조 샘플을 사용한다. 좌측 참조 샘플만을 사용하거나 상단 참조 샘플만을 사용하는 방향은 양의 방향인 것으로 정의된다. 따라서, 좌측 참조 샘플만을 사용하는 H0에서 H+32까지의 수평 양의 방향이 있다. 유사하게, 상단 참조 샘플만을 사용하는 V0에서 V+32까지의 수직 양의 방향이 있다. 다른 수평 및 수직 방향(H-2 내지 H-26 및 V-2 내지 V-32)은 음의 방향인 것으로 정의되며, 이들 방향은 좌측과 상단 모두에서 참조 샘플을 사용한다. 아래 표는 HEVC에 의해 지정된 바와 같이 예측 모드와 각도 파라미터 A 간의 관계를 나타낸 것이다:
각도 파라미터 A에 대한 모드 인덱스의 매핑
수평 방향
모드 인덱스 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
A 32 26 21 17 13 9 5 2 0 -2 -5 -9 -13 -17 -21 -26
수직 방향
모드 인덱스 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
A -32 -26 -21 -17 -13 -9 -5 -2 0 2 5 9 13 17 21 26 32
HEVC 참조 소프트웨어에서, 참조 어레이는 먼저 상단 참조 샘플 및 좌측 참조 샘플을 사용하여 구성된다. 수직 예측의 경우, 참조 어레이는 수평적이고, 수평 예측의 경우, 참조 어레이는 수직적이다. 양의 각도 파라미터 A를 이용한 모드(모드 2 내지 10 및 26 내지 34)의 경우, 참조 어레이는 단순히 방향에 따라 상단 참조 샘플
Figure pct00017
또는 좌측 참조 샘플
Figure pct00018
이다:
수직 예측의 경우,
Figure pct00019
수평 예측의 경우,
Figure pct00020
,
여기서, N은 CU 사이즈이고, P[x][y]는 도 3에 도시된 바와 같이 이웃하는 CU의 재구성된 샘플이다. 샘플 좌표를 타겟 CU의 상단 좌측 픽셀에서 (0,0)으로 초기화하는 것이 일반적이다. 따라서, 상단 참조 샘플의 y 좌표는 -1이고, 좌측 참조 샘플의 x 좌표는 -1이다.
음의 각도 파라미터 A를 이용한 모드(모드 11 내지 25)의 경우, 참조 어레이는 상단 및 좌측 참조 모두로부터의 픽셀을 필요로 한다. 이 경우, 참조 어레이는 0을 넘어 음의 인덱스로 확장될 것이다. 양의 인덱스를 가진 참조 어레이의 샘플 값은 위에서와 같이 수직 또는 수평 예측에 따라 획득된다. 음의 인덱스를 가진 참조 어레이의 샘플 값은 예측 방향에 따라 참조 어레이 상에서 좌측 참조 픽셀(수직 예측의 경우) 또는 상단 참조 픽셀(수평 예측의 경우)을 투영함으로써 획득된다.
일단 참조 어레이가 구성되면, 타겟 CU 내부의 임의의 픽셀 위치
Figure pct00021
에서 예측 샘플 값 Pred[x][y]는 먼저 픽셀 위치
Figure pct00022
를 선택된 방향을 따라 참조 어레이에 투영함으로써 획득되어, 참조 어레이 위치 인덱스 i(정수 인덱스) 및 f(분수 인덱스)를 획득하게 된다. 예측 샘플 값
Figure pct00023
는 그 후, 아래에 나타난 바와 같이 2개의 인접한 참조 샘플 사이를 보간함으로써 (1/32)의 샘플 해상도로 계산된다:
수직 예측의 경우,
Figure pct00024
,
수평 예측의 경우,
Figure pct00025
,
여기서, if는 픽셀 위치에서 투영된 변위의 정수 부분과 분수 부분을 나타낸다.
만약
Figure pct00026
이 투영된 변위를 나타내면,
수평 예측의 경우,
Figure pct00027
이고, 그리고
수직 예측의 경우,
Figure pct00028
이다.
Figure pct00029
, 여기서 >>는 산술 우측 시프트이다.
Figure pct00030
, 여기서 &는 비트 단위의 "and" 연산자이다.
Figure pct00031
인 경우, 즉, 분수 부분이 없는 경우, 예측은 예측 방향의 참조 어레이 샘플과 동일하다.
위의 식에서 관찰할 수 있듯이, 수직 예측은 y 좌표와는 독립적이고, 수평 예측은 x 좌표와는 독립적이다. 이것은, 수직 예측의 경우, 예측 값이 상단의 참조 어레이로부터 예측 방향을 따라 반복된다는 것을 의미한다. 마찬가지로, 수평 예측의 경우, 예측 값이 좌측의 참조 어레이로부터 예측 방향을 따라 반복된다. 따라서, 2개 이상의 픽셀 좌표가 참조 어레이 상에서 동일한 투영 지점을 갖는다면, 동일한 예측 값을 갖는다.
인트라 예측을 위한 VTM 확장(Versatile video coding Test Model)
문헌 ["CE3: 아핀 선형 가중화된 인트라 예측(Affine linear weighted intra prediction)(CE3-4.1, CE3-4.2)”(JVET-N0217, 14차 회의: Geneva, CH, 2019년 3월 19-27일)]에 기술된 인트라 예측을 위해 학습된 행렬을 포함하는 다른 예측 방법이 최근에 H.266/VVC를 위한 참조 모델에 채택되었다. 이 툴은 또한 행렬 기반 인트라 예측(Matrix based Intra Prediction)(MIP) 또는 선형 가중화된 인트라 예측이라고 지칭된다. 가중치의 여러 행렬은 오프라인으로 학습된 후, 원인이 되는 재구성된 샘플을 예측될 현재 블록에 매핑하기 위해 인코더 및 디코더에 적용된다. 행렬 중 하나는 인코더 측에서, 블록의 사이즈 및 형상에 따라 그리고 인코딩되는 블록에 대한 레이트/왜곡 기준이 주어지는 경우 블록을 예측할 때의 그 성능에 따라 선택된다.
거의 모든 기존의 인트라 예측 툴과 마찬가지로, 폭 W 및 높이 H의 직사각형 블록을 예측하기 위해, 아핀 선형 가중화된 인트라 예측(affine linear weighted intra prediction)(ALWIP)은 블록 좌측에 있는 H개의 재구성된 이웃 경계 샘플의 한 라인과 블록 상부의 개의 재구성된 이웃 경계 샘플의 한 라인을 입력으로 취한다. HEVC의 일반 인트라 예측 프로세스와 유사하게, 아핀 선형 가중화된 인트라 예측은 3개의 주요 단계; 즉, (1) 참조 샘플 감소 단계, (2) 인트라 샘플 예측 단계, 및 (3) 누락된 예측 샘플의 보간 단계를 갖는다.
먼저, 이웃 참조 샘플을 그룹화하고 평균화하여,
Figure pct00032
및 8인 경우 4개 값의 벡터와 더 큰 블록의 경우 8개 값의 벡터를 생성하게 된다. 그 후, 이 방법은 신경망의 완전 연결 계층으로서 동작하며, 여기서 입력은 위의 벡터이고, 출력은 샘플 세트를 나타내는 벡터로 구성되고, 샘플 세트는 예측될 블록의 서브 샘플링된 샘플 세트를 나타낸다. 마지막으로, 획득된 샘플을 선형 보간에 의해 서브 샘플링된 세트에 보간함으로써 전체 예측을 생성한다.
행렬과 벡터의 3개의 세트
Figure pct00033
,
Figure pct00034
는 인코더가 선택하는 데 이용 가능하다. 사이즈가
Figure pct00035
인 블록의 경우, 세트
Figure pct00036
는 사이즈가 제각기
Figure pct00037
및 16인, 18개의 행렬과 바이어스 벡터를 포함한다. 사이즈가
Figure pct00038
,
Figure pct00039
,및
Figure pct00040
인 블록의 경우,
Figure pct00041
사이즈가
Figure pct00042
인 10개의 행렬과 사이즈가 16인 바이어스 벡터로 구성된다. 마지막으로, 다른 모든 블록 형상의 경우, 세트
Figure pct00043
는 사이즈가
Figure pct00044
인 6개의 행렬과 사이즈가 64인 6개의 바이어스 벡터로 구성된다.
모드와 블록 형상에 따라, "감소된 경계"에 대해
Figure pct00045
라고 지칭되는 입력 벡터는 다음과 같이 재배열된다:
Figure pct00046
여기서, 상단 및 좌측에서 평균화된 경계 샘플은 도 5a에 도시된 바와 같이, 각각
Figure pct00047
Figure pct00048
로 표시된다.
그런 다음, 예측 블록에 대한 샘플의 출력 감소된 세트
Figure pct00049
는 다음과 같이 생성된다:
Figure pct00050
.
가중치 A의 행렬과 오프셋 벡터 b는 세트
Figure pct00051
,
Figure pct00052
중에서, 모드 및 블록 형상에 따라
Figure pct00053
로서 선택되고, 여기서
Figure pct00054
그리고
Figure pct00055
Figure pct00056
Figure pct00057
의 블록의 경우,
Figure pct00058
에 대해 수행되는 보간 프로세스는, 각각 도 5b 및 도 5c에 도시된다.
보다 큰 블록의 경우, 참조 샘플은 그룹화되고 평균화되어, 입력 벡터는
Figure pct00059
의 블록에 대해, 도 5d에 도시된 바와 같이, 8개 샘플의 길이가 된다.
따라서, 이 방법은 다음에 대응하는 세트
Figure pct00060
,
Figure pct00061
를 저장하는 것과:
- 사이즈가
Figure pct00062
인 18개의 행렬과 사이즈가 16인 18개의 오프셋
- 사이즈가
Figure pct00063
인 10개의 행렬과 사이즈가 16인 10개의 오프셋
- 사이즈가
Figure pct00064
인 6개의 행렬과 사이즈가 64인 6개의 오프셋,
10-비트 값으로 저장할 때 7.92 킬로바이트의 데이터에 해당하는 코딩될 6336개의 계수를 나타내는 것을 필요로 한다.
따라서, 저장된 행렬의 사이즈를 감소시키고, 계산할 예측 샘플당 연산 수를 감소시키는 것이 바람직하다.
2. 선형 가중화된 인트라 예측을 사용하여 인코딩 또는 디코딩하기 위한 적어도 하나의 실시예
적어도 하나의 실시예의 일반적인 양태는 행렬 기반 인트라 예측(MIP)이라고도 하는 아핀 선형 가중화된 인트라 예측(ALWIP)에 필요한 데이터의 양을 감소시키는 것을 목표로 한다. 유리하게는 Intra Pred(
Figure pct00065
)의 VTM 확장의 섹션에서 이미 드러난 다이렉트 행렬 곱셈을 적용하는 대신, 적어도 하나의 실시예는 선택적 선형 보간 전에, 계수를 덜 필요로 하고 인트라 예측된 샘플 세트를 유도하기 위한 곱셈을 덜 포함하는 행렬 구조를 제안하고 있다.
도 6은 적어도 하나의 실시예의 일반적인 양태에 따라 인트라 예측된 샘플을 획득하는 것을 포함하는 인코딩 또는 디코딩 방법의 예를 도시한 것이다.
본 기술 분야의 기술자는 일단 인트라 예측 모드가 알려지면 선형 가중화된 인트라 예측이 인코딩 또는 디코딩에서 동일한 방식으로 적용된다는 것을 이해할 것이다. 따라서, 인코딩 또는 디코딩 방법에 대한 본 원리가 개시된다. 이러한 단계 11에서 가정되는 것은 블록이 선형 가중화된 예측을 사용하여 인트라 예측에서 인코딩 또는 디코딩되고 있다는 것이다. 일반적으로 CU인 블록은 이전 섹션에서 일반적으로 CTU인 픽처의 공간 파티션에 속한다. 인코딩 또는 디코딩 방법(10)은 선형 가중화된 예측을 사용하여 인트라 예측 모드에서 인코딩/디코딩되는 블록의 경우, 가중치 행렬 및 연관된 바이어스 벡터의 세트 중 적어도 2개의 선택된 가중치 행렬 및 연관된 바이어스 벡터와 이웃하는 참조 샘플의 세트 간의 적어도 2개의 행렬 곱으로부터 블록에 대한 인트라 예측된 샘플을 획득하는 단계를 포함한다. 블록에 대한 인트라 예측된 샘플을 획득하기 위한 서브 단계가 이제 자세히 설명된다. 단계 12에서, n개의 이웃하는 참조 샘플의 세트가 결정되며, n은 참조 샘플의 수를 나타내는 정수이다. 유리하게는, 제1 변형례에서 참조 샘플은, 블록 형상에 따라(즉, 블록의 폭과 높이에 따라) 평균화함으로써 "감소된 경계"에 대해 이전에 드러난 바와 같이 획득되고, n은 4 또는 8과 같다. 그러나, 제2 변형례에 따르면, 사이즈가 폭 * 높이인 블록의 경우, 이웃하는 참조 샘플 x의 세트는 사이즈가 폭인 이웃하는 상단 라인과 사이즈가 높이인 이웃하는 좌측 라인으로부터의 모든 재구성된 샘플을 포함한다. 다시 말해서, 입력 샘플의 평균화에 의한 다운 샘플링이 이웃하는 샘플에는 적용되지 않으므로, 현재 VVC 선형 인트라 예측에 비해 참조 샘플의 수가 증가한다. 이것은 본 원리에 따른 행렬의 구조가 예측된 샘플을 획득하기 위한 곱셈을 덜 포함하므로 합리적일 수 있다. 따라서, 대량의 참조 샘플의 복잡도는 보다 작은 개수의 행렬-벡터 곱과 밸런싱된다. 따라서, 제3 변형례에 따르면, 참조 샘플은 기존의 각도 인트라 예측에 대해 정의된 바와 같이, 블록의 길이 또는 폭의 두 배에 상단 좌측 픽셀을 더한 값까지 확장된다. 사이즈가 폭 * 높이인 블록의 경우, 이웃하는 참조 샘플의 세트는 상단 좌측 픽셀외에도, 사이즈가 2*폭인 이웃하는 상단 라인과 사이즈가 2*높이인 이웃하는 좌측 라인으로부터의 모든 재구성된 샘플을 포함한다. 단계 13에서, 적어도 2개의 가중치 행렬이 선택된다. 2개의 행렬의 구조는 이후 낮은 순위 및 낮은 변위 순위 섹션에서 기술된다. 본 원리는 가중화된 인트라 예측에 대해 이전에 설명된 바와 같이, 선형 가중화된 인트라 예측의 모드 및 블록 형상에 기반하여, 가중치 행렬 및 연관된 바이어스 벡터의 세트 중 사이즈가
Figure pct00066
Figure pct00067
인 적어도 2개의 가중치 행렬 G
Figure pct00068
와, 연관된 바이어스 벡터 b를 사용하는 것과 관련된다. 그러나, 본 원리에 따르면, 제1 선택된 가중치 행렬 G
Figure pct00069
의 사이즈를 가지며, 제2 선택된 가중치 행렬
Figure pct00070
Figure pct00071
의 사이즈를 가지며, 여기서,
Figure pct00072
는 정수이고, rm보다 작고, rn보다 작다. n은 임의의 변형례에 따라 이전에 결정된 블록의 이웃하는 참조 샘플의 수이다. m은 선형 가중화된 예측으로부터 획득되는 인트라 예측된 샘플의 감소된 개수이다. 선형 가중화된 예측을 위해 이전에 드러난 바와 같이, 모드 k와 블록 형상은 한 쌍의 행렬( G ,
Figure pct00073
)을 선택하도록 허용된다.이하에 나타난 바와 같이, 제1 및 제2 가중치 행렬 G 및
Figure pct00074
는, 예를 들어, 세트
Figure pct00075
,
Figure pct00076
중 가중치 행렬 M 의 낮은 순위 처리로부터 획득된다. 그러나, 적어도 하나의 실시예는 낮은 순위 분해로 제한되지 않으며, 임의의 행렬 분해는 적어도 하나의 실시예와 호환 가능하다. 계수의 개수 감소를 설명하기 위해, 세트
Figure pct00077
의 행렬
Figure pct00078
는 다음의 제1 예에서 고려된다. 선행 기술에 따르면, 행렬에 대해 64개의 계수가 저장되고, r=2의 적어도 하나의 실시예에 따르면, 16
Figure pct00079
2+2
Figure pct00080
4 = 38개의 계수가 저장된다. 세트
Figure pct00081
의 행렬
Figure pct00082
의 경우, 위의 계산을 사용하면, 순위 r=4에 대해 512개의 계수 대신 288개의 계수만이 필요하다. 결과적으로, 예측된 샘플을 획득하기 위한 연산의 수가 또한 감소된다. 이전에 개시된 행렬 세트 중의 행렬로부터 제1 및 제2 가중치 행렬을 유도하는 이 실시예에서, 가중치 행렬 M의 추정치
Figure pct00083
는 제1 및 제2 가중치 행렬 G
Figure pct00084
의 곱, 즉
Figure pct00085
이 된다. 그러나, 본 원리는 개시된 가중치 행렬 세트의 처리에 의한 행렬의 획득으로 제한되지는 않는다. 대안적인 변형례에 따르면, 사이즈가
Figure pct00086
Figure pct00087
인 한 쌍의 행렬 ( G ,
Figure pct00088
)는 개시된 행렬 M에 대해 딥 러닝 기반 트레이닝으로부터 획득된다. 따라서, G
Figure pct00089
의 형상을 정의하는, 순위 r인 추가 제약 사항은 트레이닝 스테이지를 위한 추가 입력으로서 사용된다. 제1 변형례에 따르면, r은 행렬 곱의 복잡도를 감소시키도록 결정된다. 제1 비 제한적인 예에서, r은 [2; min (n, m)]범위에서 미리 결정된다. 다른 비 제한적인 예에서, r은 개시된 가중치 행렬 세트 중 가중치 행렬 M의 특이값 분해(SVD)에 응답하여 결정된다. 그 후, 단계 14에서, 제1 행렬 곱
Figure pct00090
가 처리되고, 여기서, x는 참조 샘플의 세트이며, 이 참조 샘플 세트는 또한 위에서
Figure pct00091
로 언급된다. 그런 다음, 단계 15에서, 제2 행렬 곱
Figure pct00092
가 처리된다. 곱셈의 처리는 본 기술 분야의 기술자에게 알려진 바와 같이 하드웨어와 소프트웨어의 조합으로서 프로세서(GPU 또는 CPU) 내에 통합된다. 따라서, 대규모 병렬 구현예는 본 원리와 호환 가능하다. 그런 다음, 단계 16에서, 바이어스 벡터가 가산되어
Figure pct00093
를 생성하며, 여기서,
Figure pct00094
는 감소된 인트라 예측된 샘플의 세트이다. 최종 선택적인 단계 17에서, 인트라 예측된 샘플의 개수가 블록의 샘플의 개수보다 적은 경우, 선형 보간은 코딩 또는 디코딩되는 블록의 각 샘플에 대한 선형 가중화된 인트라 예측을 획득하도록 허용된다.
적어도 하나의 실시예에 따르면, 성능과 복잡도 사이의 트레이드오프(tradeoff)가 리밸런싱(re-balanced)될 수 있다. 낮은 순위를 고려하면 저장할 파라미터가 적을 수 있으므로, 비트 깊이가 증가되어, 성능을 향상시킬 수 있으면서 곱셈의 개수를 낮게 유지할 수 있다. 또 다른 변형례에 따르면, 2개의 행렬 곱의 비트 깊이는 인트라 예측된 샘플의 비트 깊이와 관련하여 증가된 다음 (바이어스 벡터를 가산하기 전 또는 후에) 클리핑이 적용된다. 유리하게는, 이러한 처리는 더 높은 정밀도로 이어진다. 또 다른 변형례에 따르면, 저장할 계수의 개수가 감소하기 때문에 2개의 행렬 자체의 계수의 비트 깊이는 증가하게 된다.
다른 실시예에 따르면, 계수의 개수가 감소하므로, 인코딩 또는 디코딩에서 가중치 행렬을 적응시키는 것이 가능하다. 따라서, 디코더가 인코더에서 사용된 것과 동일한 가중치 행렬 프로세스를 적용하도록, 표시는 디코더에 비트스트림으로 전송된다. 적어도 하나의 실시예에 따르면, 행렬은 비트스트림으로 부분적으로 또는 완전히 전송될 수 있다. 비 제한적인 예에서, 가중치 행렬 및 연관된 바이어스 벡터의 세트를 나타내는 적어도 하나의 상위 레벨 신택스 요소는 픽처 파라미터 세트(PPS)에 포함되어, 선형 가중화된 예측을 사용하는 프레임 내의 모든 블록이 시그널링된 가중치 행렬 세트를 사용한다는 것을 나타낸다. 다른 비 제한적인 예에서, 가중치 행렬 및 연관된 바이어스 벡터의 세트를 나타내는 적어도 하나의 상위 레벨 신택스 요소는 시퀀스 파라미터 세트(SPS)에서 시그널링되어, 선형 가중화된 예측을 사용하는 시퀀스 내의 모든 블록이 시그널링된 가중치 행렬 세트를 사용하게 된다.
낮은 순위
제1 실시예에 따르면, 개시된 행렬의 세트
Figure pct00095
,
Figure pct00096
의 원본 구조의 낮은 순위 버전을 이용하여 인트라 예측을 생성하는 데 더 관련이 있는 가중치의 특이값 벡터를 유지함으로써 매핑의 트레이드오프 성능 대 복잡도를 최적화하는 것이 가능하다.
낮은 순위 분해는, 임의의 행렬
Figure pct00097
의 경우 특이값 분해
Figure pct00098
가 존재한다는 것을 언급하는 잘 알려진 특이값 분해(SVD) 방법을 사용하여 획득될 수 있다. U와 V는
Figure pct00099
Figure pct00100
로서 분해될 수 있고, 그리고
Figure pct00101
는 A에 대한 음이 아닌 실수 특이값을 내림차순으로 포함하는 대각 행렬이다. 따라서,
Figure pct00102
Figure pct00103
로서 분해될 수 있다.
Figure pct00104
,
Figure pct00105
, 및
Figure pct00106
는 각각
Figure pct00107
,
Figure pct00108
Figure pct00109
의 사이즈를 갖는다.
r은 선택 파라미터이다. 이러한 rA의 실제 순위와 같을 경우 균등성이 존재하고, 그렇지 않으면, 결과적인 연산자
Figure pct00110
Figure pct00111
의 근사치로 구성된다.
Figure pct00112
을 저장하는 일반적인 방식은 또한
Figure pct00113
로서 기재될 수 있고, 여기서 사이즈가
Figure pct00114
Figure pct00115
G
Figure pct00116
Figure pct00117
의 대각 값의 제곱근과
Figure pct00118
,
Figure pct00119
의 곱셈에 해당한다.
툴이 먼저 8개의 입력 샘플로부터 64개의 샘플의 세트를 생성하는 도 5d에 기술된 사례가 고려된다.
Figure pct00120
개의 계수가 포함된다. 이 경우 사이즈가
Figure pct00121
인 입력 벡터에 적용되는 해당 프로세스는 512개의 곱셈을 필요로 한다. 일반적으로, 사이즈가
Figure pct00122
인 행렬-벡터 곱셈의 복잡도는
Figure pct00123
이다.
순위 4의 근사치를 고려하면, G
Figure pct00124
Figure pct00125
Figure pct00126
의 사이즈를 가지며, 그 결과
Figure pct00127
개의 파라미터를 생성하게 된다. 사이즈가 8인 입력 벡터에 적용되는 해당 프로세스는
Figure pct00128
Figure pct00129
를 각각 계산하기 위해,
Figure pct00130
Figure pct00131
개의 곱셈을 필요로 한다. 따라서, 512개의 곱셈 대신에, 총
Figure pct00132
개의 곱셈이 필요하다. 일반적으로, 순위 r에 대한 곱의 복잡도는
Figure pct00133
로 감소된다.
현재 VVC 가중화된 인트라 예측에서, 입력 및 출력 샘플의 개수는 복잡도 기준을 충족하도록 감소되었다. 이러한 두 개의 감소 모두는, 입력 참조 샘플을 평균화하여 입력 참조 샘플을 다운 샘플링하고, 최종 예측 블록을 생성하도록 보간되는 예측된 샘플의 서브 세트를 계산하기 때문에, 수작업으로 간주될 수 있다. 제안된 구조는 모든 참조 샘플의 사용을 최적화하는 가중치 구조를 트레이닝할 수 있도록 하면서 합리적인 개수의 가중치를 보장하므로, 연산을 감소시킬 수 있다.
또한, 기존 방법과 관련하여, 예측된 픽셀의 범위는 비디오의 픽셀 범위, 예를 들어, 10-비트 출력 비디오의 경우 (0, 1023)에 피팅될 필요가 있다. 이는 가중치와 바이어스 벡터를 정규화하여 보장하거나 출력 신호를 클리핑하여 처리되어야 한다.
낮은 변위 순위
대안적으로, 제2 실시예에 따르면, 가중치의 행렬은 낮은 변위 순위 행렬(Low Displacement Rank matrix)(LDR)에 의해 근사화될 수 있다. LDR 표현은 메모리에 저장하고 로드할 가중치를 덜 포함할 것이고, 일부는 매우 제한된 리소스를 이용하여 디코더에 대한 가중치 행렬의 추론을 수행할 수 있을 것이다.
LDR 행렬의 계산은 문헌 [≪변위 연산자의 반전(Inversion of displacement operators)≫, Pan, Victor Y. et Xinmao Wang, (SIAM Journal on Matrix Analysis and Applications, vol. 24.3, p. 660-677, 2003)]에 기재되어 있다.
행렬
Figure pct00134
이 낮은 순위
Figure pct00135
를 갖는다고 하면, 다음을 의미하며:
Figure pct00136
여기서,
Figure pct00137
제각기 사이즈가
Figure pct00138
,
Figure pct00139
인 정방 행렬이고,
Figure pct00140
Figure pct00141
행렬이고,
Figure pct00142
Figure pct00143
행렬이고, 그리고
Figure pct00144
은 원본 가중치 행렬
Figure pct00145
의 행과 열의 개수이다. 여기서, 변위 r은 선택 파라미터이다. 낮은 순위 근사치의 사례와 관련하여, 작은 r은 압축 및 계산 효율이 높다는 것을 의미한다.
판 빅터 와이(Pan, Victor Y.) 등에 의해 입증되는 것은 위의 식을 사용하게 되면 다음과 같이 표현될 수 있다는 것이며:
Figure pct00146
여기서, r은 선택된 변위 순위 파라미터이고,
Figure pct00147
는 f-순환 행렬(f-circulant matrix)이고,
Figure pct00148
Figure pct00149
는 위의
Figure pct00150
Figure pct00151
r개의 벡터이다. 연산자
Figure pct00152
는 다음과 같이 정의된다:
벡터
Figure pct00153
의 경우,
Figure pct00154
이고, 그리고
Figure pct00155
Figure pct00156
Figure pct00157
의 반사 행렬을 나타내며, 즉 모든 반 대각(anti-diagonal) 엔트리가 다음과 같이 1이며:
Figure pct00158
.
행렬 곱셈은 판 빅터 와이(Pan, Victor Y.) 등에 의해 입증되는 바와 같이, 선택된 연산자의 구조로 인해, 고속 푸리에 변환 연산에 의해 대체될 수 있기 때문에, LDR 근사치를 사용하는 것은 대형 행렬을 처리할 때 특히 유리하다.
이것은 현재 툴을 보다 큰 대형 초기 행렬로 확장할 때 유용할 수 있다.
3. 추가 실시예 및 정보
본 출원은 툴, 특징, 실시예, 모델, 접근 방식 등을 포함한 다양한 양태를 기술한다. 이러한 양태 중 많은 부분이 구체적으로 설명되어 있으며, 적어도 개개의 특성을 보여주기 위해, 제한적인 것으로 보일 수도 있는 방식으로 설명되는 경우도 종종 있다. 그러나, 이는 설명을 명확하게 하기 위한 것이며, 이러한 양태의 적용 또는 범위를 제한하지는 않는다. 실제로, 다양한 모든 양태가 추가 양태를 제공하도록 결합되고 상호 교환될 수 있다. 또한, 이들 양태는 또한 이전 출원에서 기술된 양태와 결합되고 상호 교환될 수 있다.
본 출원에서 기술되고 고려되는 양태는 다양한 형태로 구현될 수 있다. 아래의 도 7, 도 8, 및 도 9는 일부 실시예를 제공하지만, 다른 실시예가 고려되고, 도 7, 도 8, 및 도 9의 논의는 구현예의 범위를 제한하지는 않는다. 이들 양태 중 적어도 하나는 일반적으로 비디오 인코딩 및 디코딩에 관한 것이고, 적어도 하나의 다른 양태는 일반적으로 생성되거나 인코딩된 비트스트림을 전송하는 것에 관한 것이다. 이들 및 다른 양태는 방법, 장치, 기술된 방법 중 임의의 방법에 따라 비디오 데이터를 인코딩 또는 디코딩하기 위한 인스트럭션을 저장한 컴퓨터 판독 가능 저장 매체, 및/또는 기술된 방법 중 임의의 방법에 따라 생성된 비트스트림을 저장한 컴퓨터 판독 가능 저장 매체로서 구현될 수 있다.
본 출원에서, "재구성된" 및 "디코딩된"이라는 용어가 상호 교환가능하게 사용될 수 있고, "픽셀" 및 "샘플"이라는 용어가 상호 교환가능하게 사용될 수 있고, "이미지", "픽처" 및 "프레임"이라는 용어가 상호 교환가능하게 사용될 수 있다. 일반적으로, 그러나 반드시 그런 것은 아니지만, "재구성된"이라는 용어는 인코더 측에서 사용되는 반면 "디코딩된"이라는 용어는 디코더 측에서 사용된다.
본원에서는 다양한 방법이 기술되고, 각각의 방법은 기술된 방법을 달성하기 위한 하나 이상의 단계 또는 액션을 포함한다. 방법의 적절한 동작을 위해 특정 순서의 단계 또는 액션이 요구되지 않는 한, 특정 단계 및/또는 액션의 순서 및/또는 사용은 수정되거나 결합될 수 있다.
본 출원에서 기술된 다양한 방법 및 다른 양태는 도 7 및 도 8에 도시된 바와 같이 비디오 인코더(100) 및 디코더(200)의 모듈, 예를 들어, 인트라 예측 모듈(160, 260)을 수정하는 데 사용될 수 있다. 또한, 본 양태는 VVC 또는 HEVC에 제한되지 않으며, 예를 들어, 기존에 존재하든 또는 미래에 개발되든 간에, 다른 표준 및 권장 사항, 및 (VVC 및 HEVC를 포함하는) 이러한 표준 및 권장 사항의 확장본에 적용될 수 있다. 달리 명시되지 않거나 기술적으로 배제되지 않는 한, 본 출원에 기술된 양태는 개별적으로 또는 조합적으로 사용될 수 있다.
다양한 수치 값이 본 출원에서, 예로서 사용된다. 특정 값은 예시를 위한 것이며, 기술된 양태는 이러한 특정 값으로 제한되지 않는다.
도 7은 인코더(100)를 도시한 것이다. 이 인코더(100)의 변형이 고려되지만, 인코더(100)는 아래에서 명확성을 위해 모든 예상되는 변형을 기술하지 않고 설명된다.
인코딩되기 전에, 비디오 시퀀스는 사전 인코딩 처리(101), 예를 들어, 입력 컬러 픽처에 컬러 변환(예컨대, RGB 4:4:4에서 YCbCr 4:2:0으로의 변환)을 적용하는 것, 또는 (예를 들어, 컬러 성분 중 하나의 히스토그램 등화를 사용하여) 압축에 더 탄력적인 신호 분포를 얻기 위해 입력 픽처 성분의 리매핑을 수행하는 것을 거칠 수 있다. 메타데이터는 사전 처리와 연관되어, 비트스트림에 첨부될 수 있다.
인코더(100)에서, 픽처는 후술되는 인코더 요소에 의해 인코딩된다. 인코딩될 픽처는 분할되고(102), 예를 들어, CU의 단위로 처리된다. 각 단위는, 예를 들어, 인트라 모드 또는 인터 모드를 사용하여 인코딩된다. 단위가 인트라 모드로 인코딩되는 경우, 인트라 모드는 인트라 예측(160)을 수행한다. 인터 모드에서는, 모션 추정(175) 및 모션 보상(170)이 수행된다. 인코더는 단위를 인코딩하기 위해 인트라 모드 또는 인터 모드 중 어느 모드를 사용할지를 결정하고(105), 그리고, 예를 들어, 예측 모드 플래그에 의해 인트라/인터 결정을 나타낸다. 예측 잔차는, 예를 들어, 원본 이미지 블록에서 예측된 블록을 감산(110)함으로써, 계산된다.
그 후 예측 잔차는 변환되고(125) 양자화된다(130). 모션 벡터 및 다른 신택스 요소뿐만 아니라 양자화된 변환 계수는 엔트로피 코딩되어(145) 비트스트림을 출력하게 된다. 인코더는 변환을 스킵하고, 변환되지 않은 잔차 신호에 대해 직접 양자화를 적용할 수 있다. 인코더는 변환과 양자화를 모두 우회할 수 있고, 즉, 잔차는 변환 또는 양자화 프로세스를 적용하지 않고 직접 코딩된다.
인코더는 인코딩된 블록을 디코딩하여, 추가 예측을 위한 참조를 제공한다. 양자화된 변환 계수는 역양자화되고(140), 그리고 역변환되어(150), 예측 잔차를 디코딩하게 된다. 디코딩된 예측 잔차와 예측된 블록을 결합하게 되면(155), 이미지 블록이 재구성된다. 인루프 필터(165)는 재구성된 픽처에 적용되어, 인코딩 아티팩트를 감소시키기 위한, 예를 들어, 디블록킹/샘플 적응성 오프셋(SAO) 필터링을 수행하게 된다. 필터링된 이미지는 참조 픽처 버퍼(180)에 저장된다.
도 8은 비디오 디코더(200)의 블록 다이어그램을 도시한 것이다. 디코더(200)에서, 비트스트림은 아래에서 기술되는 디코더 요소에 의해 디코딩된다. 비디오 디코더(200)는 일반적으로 도 7에 기술된 바와 같은 인코딩 패스의 역인 디코딩 패스를 수행한다. 인코더(100)는 또한 일반적으로 비디오 데이터를 인코딩하는 부분으로서 비디오 디코딩을 수행한다.
특히, 디코더의 입력은 비디오 인코더(100)에 의해 생성될 수 있는 비디오 비트스트림을 포함한다. 비트스트림은 먼저 엔트로피 디코딩되어(230), 변환 계수, 모션 벡터, 및 다른 코딩된 정보를 획득하게 된다. 픽처 분할 정보는 픽처가 분할되는 방식을 나타낸다. 따라서, 디코더는 디코딩된 픽처 분할 정보에 따라 픽처를 분할할 수 있다(235). 변환 계수는 역양자화되고(240) 역변환되어(250), 예측 잔차를 디코딩하게 된다. 디코딩된 예측 잔차와 예측된 블록을 결합하게 되면(255), 이미지 블록이 재구성된다. 예측된 블록은 인트라 예측(260) 또는 모션 보상된 예측(즉, 인터 예측)(275)으로부터 획득(270)될 수 있다. 인루프 필터(265)는 재구성된 이미지에 적용된다. 필터링된 이미지는 참조 픽처 버퍼(280)에 저장된다.
디코딩된 픽처는 추가로 사후 디코딩 처리(285), 예를 들어, 역 컬러 변환(예컨대, YCbCr 4:2:0에서 RGB 4:4:4로의 변환), 또는 사전 인코딩 처리(101)에서 수행되는 리매핑 프로세스의 역을 수행하는 역 리매핑을 거칠 수 있다. 사후 디코딩 처리는, 사전 인코딩 처리에서 유도되고 비트스트림에서 시그널링된 메타데이터를 사용할 수 있다.
도 9는 다양한 양태 및 실시예가 구현되는 일 예의 시스템의 블록 다이어그램을 도시한 것이다. 시스템(1000)은 아래에서 기술되는 다양한 컴포넌트를 포함하는 디바이스로서 구현될 수 있고, 본 문서에 기술된 하나 이상의 양태를 수행하도록 구성된다. 이러한 디바이스의 예는 퍼스널 컴퓨터, 랩톱 컴퓨터, 스마트폰, 태블릿 컴퓨터, 디지털 멀티미디어 셋톱 박스, 디지털 텔레비전 수신기, 퍼스널 비디오 레코딩 시스템, 커넥티드 가전 제품, 및 서버와 같은 다양한 전자 디바이스를 포함하지만 이에 제한되지는 않는다. 시스템(1000)의 요소들은 단독으로 또는 조합적으로, 단일 집적 회로(IC), 다수의 IC, 및/또는 개별 컴포넌트들 내에 구현될 수 있다. 예를 들어, 적어도 하나의 실시예에서, 시스템(1000)의 처리 및 인코더/디코더 요소들은 다수의 IC 및/또는 개별 컴포넌트들에 걸쳐 분산되어 있다. 다양한 실시예에서, 시스템(1000)은, 예를 들어, 통신 버스를 통해 또는 전용 입력 및/또는 출력 포트를 통해, 하나 이상의 다른 시스템, 또는 다른 전자 디바이스에 통신가능하게 연결된다. 다양한 실시예에서, 시스템(1000)은 본 문서에 기술된 하나 이상의 양태를 구현하도록 구성된다.
시스템(1000)은, 예를 들어, 본 문서에 기술된 다양한 양태를 구현하기 위해 본원에 로딩된 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서(1010)를 포함한다. 프로세서(1010)는 내장 메모리, 입력 출력 인터페이스, 및 본 기술 분야에서 알려진 다양한 다른 회로부를 포함할 수 있다. 시스템(1000)은 적어도 하나의 메모리(1020)(예컨대, 휘발성 메모리 디바이스, 및/또는 비 휘발성 메모리 디바이스)를 포함한다. 시스템(1000)은, 전기적으로 소거 가능한 프로그래머블 판독 전용 메모리(Electrically Erasable Programmable Read-Only Memory)(EEPROM), 판독 전용 메모리(Read-Only Memory)(ROM), 프로그래머블 판독 전용 메모리(Programmable Read-Only Memory)(PROM), 랜덤 액세스 메모리(Random Access Memory)(RAM), 동적 랜덤 액세스 메모리(Dynamic Random Access Memory)(DRAM), 정적 랜덤 액세스 메모리(Static Random Access Memory)(SRAM), 플래시(flash), 자기 디스크 드라이브(magnetic disk drive), 및/또는 광학 디스크 드라이브(optical disk drive)를 포함하지만 이에 제한되지는 않는 비 휘발성 메모리 및/또는 휘발성 메모리를 포함할 수 있는 저장 디바이스(1040)를 포함한다. 저장 디바이스(1040)는 비 제한적인 예로서, 내부 저장 디바이스, 부착된 저장 디바이스(분리형 및 비 분리형 저장 디바이스를 포함), 및/또는 네트워크 액세스가능한 저장 디바이스를 포함할 수 있다.
시스템(1000)은, 예를 들어, 인코딩된 비디오 또는 디코딩된 비디오를 제공하기 위해 데이터를 처리하도록 구성된 인코더/디코더 모듈(1030)을 포함하고, 인코더/디코더 모듈(1030)은 자체 프로세서 및 메모리를 포함할 수 있다. 인코더/디코더 모듈(1030)은 인코딩 및/또는 디코딩 기능을 수행하기 위해 디바이스 내에 포함될 수 있는 모듈(들)을 나타낸다. 알려진 바와 같이, 디바이스는 인코딩 모듈과 디코딩 모듈 중 하나 또는 둘 다를 포함할 수 있다. 추가적으로, 인코더/디코더 모듈(1030)은 시스템(1000)의 개별 요소로서 구현될 수 있거나, 본 기술 분야의 기술자에게 알려진 바와 같이 하드웨어와 소프트웨어의 조합으로서 프로세서(1010) 내에 통합될 수 있다.
본 문서에 기술된 다양한 양태를 수행하기 위해 프로세서(1010) 또는 인코더/디코더(1030)에 로딩될 프로그램 코드는 저장 디바이스(1040)에 저장되고 이어서 프로세서(1010)에 의한 실행을 위해 메모리(1020)에 로딩될 수 있다. 다양한 실시예에 따르면, 프로세서(1010), 메모리(1020), 저장 디바이스(1040), 및 인코더/디코더 모듈(1030) 중 하나 이상은 본 문서에 기술된 프로세스의 수행 동안 하나 이상의 다양한 항목을 저장할 수 있다. 이러한 저장된 항목은 입력 비디오, 디코딩된 비디오 또는 디코딩된 비디오의 일부, 비트스트림, 행렬, 변수, 및 수학식, 공식, 연산, 및 연산 로직의 처리로부터의 중간 또는 최종 결과를 포함할 수 있지만 이에 제한되지는 않는다.
일부 실시예에서, 프로세서(1010) 및/또는 인코더/디코더 모듈(1030) 내부의 메모리는, 인스트럭션을 저장하고, 인코딩 또는 디코딩 동안 필요한 처리를 위한 작업 메모리를 제공하는 데 사용된다. 그러나, 다른 실시예에서, 프로세싱 디바이스 외부의 메모리(예를 들어, 프로세싱 디바이스는 프로세서(1010) 또는 인코더/디코더 모듈(1030)일 수 있음)가 이들 기능 중 하나 이상을 위해 사용된다. 외부 메모리는 메모리(1020) 및/또는 저장 디바이스(1040)일 수 있으며, 예를 들어, 동적 휘발성 메모리 및/또는 비 휘발성 플래시 메모리일 수 있다. 여러 실시예에서, 외부 비 휘발성 플래시 메모리는, 예를 들어, 텔레비전의 운영 체제를 저장하는 데 사용된다. 적어도 하나의 실시예에서, RAM과 같은 외부의 고속 동적 휘발성 메모리는, 예를 들어, MPEG-2(MPEG는 동영상 전문가 그룹을 지칭하며, MPEG-2는 또한 ISO/IEC 13818을 지칭하며, 그리고 13818-1은 또한 H.222로서 알려져 있고, 13818-2는 H.262로서 알려지기도 함), HEVC(HEVC는 H.265 및 MPEG-H Part 2로 알려지기도 한, 고효율 비디오 코딩을 지칭함), 또는 VVC(다용도 비디오 코딩(Versatile Video Coding)으로서, 조인트 비디오 전문가 팀(Joint Video Experts Team)(JVET)에 의해 개발 중인 새로운 표준임)와 같은 비디오 코딩 및 디코딩 동작을 위한 작업 메모리로서 사용된다.
시스템(1000)의 요소에 대한 입력은 블록(1130)에 표시된 바와 같이 다양한 입력 디바이스를 통해 제공될 수 있다. 이러한 입력 디바이스는 (i) 예를 들어, 방송국에 의해 무선으로 전송된 RF 신호를 수신하는 무선 주파수(RF) 부분, (ii) 컴포넌트(COMP) 입력 단자(또는 COMP 입력 단자 세트), (iii) USB(Universal Serial Bus) 입력 단자, 및/또는 (iv) 고선명 멀티미디어 인터페이스(High Definition Multimedia Interface)(HDMI) 입력 단자를 포함하지만, 이에 제한되지는 않는다. 도 9에 도시되지 않은 다른 예는 복합 비디오(composite video)를 포함한다.
다양한 실시예에서, 블록(1130)의 입력 디바이스는 본 기술 분야에서 알려진 바와 같이 연관된 제각기의 입력 처리 요소를 갖는다. 예를 들어, RF 부분은 (i) 원하는 주파수를 선택하는 것(신호를 선택하거나 또는 주파수 대역으로 신호를 대역 제한하는 것으로 지칭되기도 함), (ii) 선택된 신호를 하향 변환하는 것, (iii) (예를 들어) 특정 실시예에서 채널로 지칭될 수 있는 신호 주파수 대역을 선택하기 위해 더 좁은 주파수 대역으로 다시 대역 제한하는 것, (iv) 하향 변환되고 대역 제한된 신호를 복조하는 것, (v) 오류 정정을 수행하는 것, 및 (vi) 원하는 데이터 패킷 스트림을 선택하기 위해 역다중화하는 것에 적합한 요소와 연관될 수 있다. 다양한 실시예의 RF 부분은 이러한 기능을 수행하기 위한 하나 이상의 요소, 예를 들어, 주파수 선택기, 신호 선택기, 대역 제한기, 채널 선택기, 필터, 다운컨버터, 복조기, 오류 정정기, 및 역다중화기를 포함한다. RF 부분은, 예를 들어, 수신된 신호를 더 낮은 주파수(예를 들어, 중간 주파수 또는 기저대역에 가까운 주파수)로 또는 기저대역으로 하향 변환하는 것을 포함하여, 이러한 다양한 기능을 수행하는 튜너를 포함할 수 있다. 하나의 셋톱 박스 실시예에서, RF 부분과 그 관련 입력 처리 요소는 유선(예를 들어, 케이블) 매체를 통해 전송된 RF 신호를 수신하고, 원하는 주파수 대역으로 다시 필터링, 하향 변환, 및 필터링하여 주파수 선택을 수행한다. 다양한 실시예는 전술한(및 다른) 요소들의 순서를 재배열하고, 이들 요소 중 일부를 제거하고, 및/또는 유사하거나 상이한 기능을 수행하는 다른 요소를 추가한다. 요소를 추가하는 것은, 예를 들어, 증폭기 및 아날로그-디지털 변환기의 삽입과 같이, 기존 요소들 사이에 요소를 삽입하는 것을 포함할 수 있다. 다양한 실시예에서, RF 부분은 안테나를 포함한다.
추가적으로, USB 및/또는 HDMI 단자는 USB 및/또는 HDMI 연결을 통해 시스템(1000)을 다른 전자 디바이스에 연결하기 위한 제각기의 인터페이스 프로세서를 포함할 수 있다. 입력 처리의 다양한 양태, 예를 들어, 리드-솔로몬(Reed-Solomon) 오류 정정은, 예를 들어, 필요에 따라 별도의 입력 처리 IC 내에서 또는 프로세서(1010) 내에서 구현될 수 있다는 것을 이해해야 한다. 유사하게, USB 또는 HDMI 인터페이스 처리의 양태는 별도의 인터페이스 IC 내에서 또는 필요에 따라 프로세서(1010) 내에서 구현될 수 있다. 복조된, 오류 정정된, 그리고 역다중화된 스트림은, 예를 들어, 프로세서(1010), 및 메모리 및 저장 요소와 조합하여 동작하는 인코더/디코더(1030)를 포함하는 다양한 처리 요소에 제공되어, 출력 디바이스 상의 프리젠테이션에 필요한 데이터스트림을 처리하게 된다.
시스템(1000)의 다양한 요소는 통합된 하우징 내에 제공될 수 있다. 통합 하우징 내에서, 다양한 요소가 상호 연결될 수 있고, 적절한 연결 배열체, 예를 들어, Inter-IC (I2C) 버스, 배선, 및 인쇄 회로 보드를 포함하는 본 기술 분야에서 알려진 내부 버스를 사용하여, 그들 요소 간에 데이터를 전송할 수 있다.
시스템(1000)은 통신 채널(1060)을 통해 다른 디바이스와의 통신을 가능하게 하는 통신 인터페이스(1050)를 포함한다. 통신 인터페이스(1050)는 통신 채널(1060)을 통해 데이터를 송신 및 수신하도록 구성된 트랜시버를 포함할 수 있지만, 이에 제한되지는 않는다. 통신 인터페이스(1050)는 모뎀 또는 네트워크 카드를 포함할 수 있지만 이에 제한되지는 않으며, 통신 채널(1060)은, 예를 들어, 유선 및/또는 무선 매체 내에서 구현될 수 있다.
데이터는, 다양한 실시예에서, Wi-Fi 네트워크, 예를 들어, IEEE 802.11(IEEE는 Institute of Electrical and Electronics Engineers를 지칭함)과 같은 무선 네트워크를 사용하여 시스템(1000)에 스트리밍되거나 제공된다. 이들 실시예의 Wi-Fi 신호는 Wi-Fi 통신에 적응되는 통신 채널(1060) 및 통신 인터페이스(1050)를 통해 수신된다. 이들 실시예의 통신 채널(1060)은 일반적으로 스트리밍 애플리케이션 및 다른 오버더톱 통신(over-the-top communication)을 가능하게 하기 위해 인터넷을 포함하는 외부 네트워크에 대한 액세스를 제공하는 액세스 포인트 또는 라우터에 연결된다. 다른 실시예는 입력 블록(1130)의 HDMI 연결을 통해 데이터를 전달하는 셋톱 박스를 사용하여 시스템(1000)에 스트리밍된 데이터를 제공한다. 또 다른 실시예는 입력 블록(1130)의 RF 연결을 사용하여 스트리밍된 데이터를 시스템(1000)에 제공한다. 위에서 표시된 바와 같이, 다양한 실시예는 비 스트리밍 방식으로 데이터를 제공한다. 추가적으로, 다양한 실시예는 Wi-Fi 이외의 무선 네트워크, 예를 들어, 셀룰러 네트워크 또는 블루투스 네트워크를 사용한다.
시스템(1000)은 디스플레이(1100), 스피커(1110), 및 다른 주변장치(1120)를 포함하는 다양한 출력 디바이스에 출력 신호를 제공할 수 있다. 다양한 실시예의 디스플레이(1100)는, 예를 들어, 터치스크린 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 곡면 디스플레이, 및/또는 폴더블 디스플레이 중 하나 이상을 포함한다. 디스플레이(1100)는 텔레비전, 태블릿, 랩톱, 셀폰(모바일폰), 또는 다른 디바이스를 위한 것일 수 있다. 디스플레이(1100)는 또한 (예를 들어, 스마트폰에서와 같이) 다른 컴포넌트와 통합될 수 있거나, 분리된 것(예를 들어, 랩톱 용의 외부 모니터)일 수 있다. 다른 주변장치(1120)는, 다양한 예시적인 실시예에서, 독립형 디지털 비디오 디스크(또는 디지털 다용도 디스크)(두 용어 모두에 대해 DVR), 디스크 플레이어, 스테레오 시스템, 및/또는 조명 시스템 중 하나 이상을 포함한다. 다양한 실시예는 시스템(1000)의 출력에 기반하여 기능을 제공하는 하나 이상의 주변장치(1120)를 사용한다. 예를 들어, 디스크 플레이어는 시스템(1000)의 출력을 재생하는 기능을 수행한다.
다양한 실시예에서, 제어 신호는 AV.Link, CEC(Consumer Electronics Control), 또는 사용자의 개입 여부에 관계 없이 디바이스 대 디바이스 제어를 가능하게 하는 다른 통신 프로토콜과 같은 시그널링을 사용하여, 시스템(1000)과 디스플레이(1100), 스피커(1110), 또는 다른 주변장치(1120) 사이에서 통신된다. 출력 디바이스는 제각기의 인터페이스(1070, 1080, 및 1090)를 통한 전용 연결을 통해 시스템(1000)에 통신가능하게 연결될 수 있다. 대안적으로, 출력 디바이스는 통신 인터페이스(1050)를 통해 통신 채널(1060)을 사용하여 시스템(1000)에 연결될 수 있다. 디스플레이(1100) 및 스피커(1110)는, 예를 들어, 텔레비전과 같은 전자 디바이스에서 시스템(1000)의 다른 컴포넌트와 단일 유닛으로 통합될 수 있다. 다양한 실시예에서, 디스플레이 인터페이스(1070)는, 예를 들어, 타이밍 컨트롤러(T Con) 칩과 같은 디스플레이 드라이버를 포함한다.
디스플레이(1100) 및 스피커(1110)는 대안적으로, 예를 들어, 입력(1130)의 RF 부분이 별도의 셋톱 박스의 일부인 경우, 하나 이상의 다른 컴포넌트와 분리될 수 있다. 디스플레이(1100) 및 스피커(1110)가 외부 컴포넌트인 다양한 실시예에서, 출력 신호는, 예를 들어, HDMI 포트, USB 포트, 또는 COMP 출력을 포함하는 전용 출력 연결을 통해 제공될 수 있다.
실시예는 프로세서(1010)에 의해 구현된 컴퓨터 소프트웨어에 의해, 또는 하드웨어에 의해, 또는 하드웨어와 소프트웨어의 조합에 의해 수행될 수 있다. 비 제한적인 예로서, 실시예는 하나 이상의 집적 회로에 의해 구현될 수 있다. 메모리(1020)는 기술적 환경에 적절한 임의의 타입일 수 있고, 비 제한적인 예로서, 광학 메모리 디바이스, 자기 메모리 디바이스, 반도체 기반 메모리 디바이스, 고정 메모리, 및 착탈식 메모리와 같은 임의의 적절한 데이터 저장 기술을 사용하여 구현될 수 있다. 프로세서(1010)는 기술 환경에 적절한 임의의 타입일 수 있고, 비 제한적인 예로서, 마이크로프로세서, 범용 컴퓨터, 특수 목적 컴퓨터, 및 멀티 코어 아키텍처 기반 프로세서 중 하나 이상을 포함할 수 있다.
다양한 구현예는 디코딩을 포함한다. 본 출원에서 사용되는 "디코딩"은 디스플레이에 적합한 최종 출력을 생성하기 위해, 예를 들어, 수신된 인코딩된 시퀀스에 대해 수행되는 프로세스의 전부 또는 일부를 포함할 수 있다. 다양한 실시예에서, 이러한 프로세스는 디코더에 의해 전형적으로 수행되는 하나 이상의 프로세스, 예를 들어, 엔트로피 디코딩, 역양자화, 역변환, 및 차동 디코딩(differential decoding)을 포함한다. 다양한 실시예에서, 이러한 프로세스는 또한, 또는 대안적으로, 본 출원에서 기술된 다양한 구현예의 디코더에 의해 수행되는 프로세스, 예를 들어, 메모리 풋프린트 감소를 위해 사이즈가 감소된 적어도 2개의 행렬 곱을 사용하는 행렬 기반 인트라 예측을 포함한다.
추가 예로서, 일 실시예에서 "디코딩"은 엔트로피 디코딩만을 지칭하고, 다른 실시예에서 "디코딩"은 차동 디코딩만을 지칭하고, 그리고 다른 실시예에서 "디코딩"은 엔트로피 디코딩과 차동 디코딩의 조합을 지칭한다. "디코딩 프로세스"라는 문구가 동작의 서브 세트를 구체적으로 지칭하려는 것인지 또는 일반적으로 더 넓은 디코딩 프로세스를 지칭하려는 것인지는 특정 설명의 맥락에 기반하여 명확할 것이고, 본 기술 분야의 기술자에 의해 잘 이해될 것으로 믿어진다.
다양한 구현예는 인코딩을 포함한다. "디코딩"에 대한 위의 논의와 유사한 방식으로, 본 출원에서 사용되는 "인코딩"은, 예를 들어, 인코딩된 비트스트림을 생성하기 위해 입력 비디오 시퀀스에 대해 수행되는 프로세스의 전부 또는 일부를 포함할 수 있다. 다양한 실시예에서, 이러한 프로세스는 인코더에 의해 전형적으로 수행되는 하나 이상의 프로세스, 예를 들어, 분할, 차동 인코딩, 변환, 양자화, 및 엔트로피 인코딩을 포함한다. 다양한 실시예에서, 이러한 프로세스는 또한, 또는 대안적으로, 본 출원에서 기술된 다양한 구현예의 인코더에 의해 수행되는 프로세스, 예를 들어, 사이즈가 감소된 적어도 2개의 행렬 곱을 사용하는 행렬 기반 인트라 예측을 포함한다.
추가 예로서, 일 실시예에서 "인코딩"은 엔트로피 인코딩만을 지칭하고, 다른 실시예에서 "인코딩"은 차동 인코딩만을 지칭하고, 그리고 다른 실시예에서 "인코딩"은 차동 인코딩과 엔트로피 인코딩의 조합을 지칭한다. “인코딩 프로세스"라는 문구가 동작의 서브 세트를 구체적으로 지칭하려는 것인지 또는 일반적으로 더 넓은 인코딩 프로세스를 지칭하려는 것인지는 특정 설명의 맥락에 기반하여 명확할 것이고, 본 기술 분야의 기술자에 의해 잘 이해될 것으로 믿어진다.
주목할 것은 본원에 사용된 신택스 요소가 설명적인 용어라는 것이다. 따라서, 이들 요소는 다른 신택스 요소 이름의 사용을 배제하지는 않는다.
도면이 플로우 다이어그램으로서 제시되는 경우, 그것은 또한 해당 장치의 블록 다이어그램을 제공한다는 것을 이해해야 한다. 유사하게, 도면이 블록 다이어그램으로서 제시되는 경우, 그것은 또한 해당 방법/프로세스의 플로우 다이어그램을 제공한다는 것을 이해해야 한다.
본원에 기술된 구현예 및 양태는, 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호로 구현될 수 있다. (예를 들어, 방법으로서만 논의되는) 단일 형태의 구현예의 맥락에서만 논의되더라도, 논의된 특징의 구현예는 또한 다른 형태(예를 들어, 장치 또는 프로그램)로 구현될 수 있다. 장치는, 예를 들어, 적절한 하드웨어, 소프트웨어, 및 펌웨어로 구현될 수 있다. 방법은, 예를 들어, 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그래머블 로직 디바이스를 포함하는 일반적으로 처리 디바이스를 지칭하는 프로세서로 구현될 수 있다. 프로세서는 또한, 예를 들어, 컴퓨터, 셀폰, 휴대용/퍼스널 디지털 단말기(portable/personal digital assistant)("PDA"), 및 최종 사용자들 간의 정보의 통신을 가능하게 하는 다른 디바이스와 같은 통신 디바이스를 포함한다.
“일 실시예", "실시예", "일 구현예", 또는 "구현예"뿐만 아니라, 이들의 다른 변형에 대한 언급은 그러한 실시예와 관련하여 기술된 특정 특징, 구조, 특성 등이 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, "일 실시예에서" 또는 "실시예에서" 또는 "일 구현예에서" 또는 "구현예에서"라는 문구의 출현뿐만 아니라 본 출원 전반에 걸쳐 다양한 위치에 나타나는 임의의 다른 변형이 모두 반드시 동일한 실시예를 지칭하는 것은 아니다.
추가적으로, 본 출원은 다양한 정보 피스(pieces of information)를 "결정하는 것"을 참조할 수 있다. 정보를 결정하는 것은, 예를 들어, 메모리로부터 정보를 추정하는 것, 정보를 계산하는 것, 정보를 예측하는 것, 또는 정보를 검색하는 것 중 하나 이상을 포함할 수 있다.
또한, 본 출원은 다양한 정보 피스에 "액세스하는 것"을 참조할 수 있다. 정보에 액세스하는 것은, 예를 들어, 정보를 수신하는 것, 정보를 (예를 들어, 메모리로부터) 검색하는 것, 정보를 저장하는 것, 정보를 이동시키는 것, 정보를 복사하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것 중 적어도 하나를 포함할 수 있다.
추가적으로, 본 출원은 다양한 정보 피스를 "수신하는 것"을 참조할 수 있다. 수신하는 것은 "액세스하는 것"과 마찬가지로 광범위한 용어이다. 정보를 수신하는 것은, 예를 들어, 정보에 액세스하는 것, 또는 (예를 들어, 메모리로부터) 정보를 검색하는 것 중 하나 이상을 포함할 수 있다. 또한, "수신하는 것"은 일반적으로, 예를 들어, 정보를 저장하는 것, 정보를 처리하는 것, 정보를 송신하는 것, 정보를 이동시키는 것, 정보를 복사하는 것, 정보를 삭제하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것과 같은 동작 동안, 어떤 방식으로든 관련된다.
예를 들어, "A/B", "A 및/또는 B", 및 "A 및 B 중 적어도 하나"의 경우, "/", "및/또는", 및 "적어도 하나" 중 임의의 사용이 제1 나열된 옵션 (A)만 선택하거나, 또는 제2 나열된 옵션 (B)만 선택하거나, 또는 두 개 모두의 옵션 (A 및 B)을 선택하는 것을 포함하기 위한 것임을 이해해야 한다. 추가 예로서, "A, B, 및/또는 C" 및 "A, B, 및 C 중 적어도 하나"의 경우, 이러한 문구는 제1 나열된 옵션 (A)만을 선택하거나, 또는 제2 나열된 옵션(B)만을 선택하거나, 또는 제3 나열된 옵션(C)만을 선택하거나, 또는 제1 및 제2 나열된 옵션 (A 및 B)만을 선택하거나, 또는 제1 및 제3 나열된 옵션 (A 및 C)만을 선택하거나, 또는 제2 및 제3 나열된 옵션 (B 및 C)만을 선택하거나, 또는 세 개 모두의 옵션 (A 및 B 및 C)을 선택하는 것을 포함하기 위한 것이다. 이것은, 본 기술 분야 및 관련 기술 분야의 통상의 기술자에게 자명한 바와 같이, 나열된 많은 항목에 대해 확장될 수 있다.
또한, 본원에서 사용되는 바와 같이, "신호(signal)"라는 단어는 무엇보다도 해당 디코더에 무엇인가를 표시하는 것임을 지칭한다. 예를 들어, 특정 실시예에서 인코더는 행렬 기반 인트라 예측을 위해 복수의 파라미터 중 특정 파라미터를 시그널링한다. 이러한 방식으로, 일 실시예에서 인코더 측과 디코더 측 모두에서 동일한 파라미터가 사용된다. 따라서, 예를 들어, 인코더는 특정 파라미터를 디코더에 전송(명시적 시그널링)하여, 디코더가 동일한 특정 파라미터를 사용할 수 있도록 할 수 있다. 반대로, 디코더가 이미 특정 파라미터와 다른 파라미터를 가지고 있는 경우, 단순히 디코더가 특정 파라미터를 알고 선택하도록 하기 위해 전송 없이 시그널링(암시적 시그널링)을 사용할 수 있다. 임의의 실제 기능의 전송을 방지함으로써 다양한 실시예에서 비트 절감이 실현된다. 시그널링은 다양한 방식으로 달성될 수 있음을 이해해야 한다. 예를 들어, 하나 이상의 신택스 요소, 플래그 등은 다양한 실시예에서 해당 디코더에 정보를 시그널링하는 데 사용된다. 앞선 것은 "신호(signal)"라는 단어의 동사 형태와 관련이 있지만, "신호(signal)"라는 단어는 본원에서 명사로도 사용될 수 있다.
본 기술 분야의 통상의 기술자에게 명백한 바와 같이, 구현예는, 예를 들어, 저장 또는 전송될 수 있는 정보를 운반하도록 포매팅된 다양한 신호를 생성할 수 있다. 정보는, 예를 들어, 방법을 수행하기 위한 인스트럭션, 또는 기술된 구현예 중 하나에 의해 생성된 데이터를 포함할 수 있다. 예를 들어, 신호는 기술된 실시예의 비트스트림을 운반하도록 포매팅될 수 있다. 이러한 신호는, 예를 들어, (예를 들어, 스펙트럼의 무선 주파수 부분을 사용하는) 전자기파로서, 또는 기저대역 신호로서, 포매팅될 수 있다. 포매팅(formatting)은, 예를 들어, 데이터 스트림을 인코딩하는 것과 인코딩된 데이터 스트림으로 캐리어를 변조하는 것을 포함할 수 있다. 신호가 운반하는 정보는, 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 알려진 바와 같이, 신호는 다양한 상이한 유선 또는 무선 링크를 통해 전송될 수 있다. 신호는 프로세서 판독 가능 매체 상에 저장될 수 있다.
다수의 실시예가 기술된다. 이들 실시예의 특징은 다양한 청구항 범주 및 타입에 걸쳐, 단독으로 또는 임의의 조합으로 제공될 수 있다. 또한, 실시예는 다양한 청구항 범주 및 타입에 걸쳐, 단독으로 또는 임의의 조합으로 다음의 특징, 디바이스, 또는 양태 중 하나 이상을 포함할 수 있다:
ㆍ비디오의 픽처의 블록의 인코딩/디코딩을 수정하는 것 ― 상기 블록은 가중치 행렬을 저장하는 데 사용되는 메모리를 감소시키기 위해 인트라 예측 모드에서 선형 가중화된 예측을 사용하여 코딩/디코딩됨 ―;
ㆍ가중치 행렬 및 연관된 바이어스 벡터의 세트 중 적어도 2개의 선택된 가중치 행렬 및 연관된 바이어스 벡터와 이웃하는 참조 샘플의 세트 간의 적어도 2개의 행렬 곱으로부터 블록의 인트라 예측된 샘플을 획득하는 것;
ㆍ선형 가중화된 인트라 예측의 모드 및 블록 형상에 기반하여, 가중치 행렬 및 연관된 바이어스 벡터의 세트 중에서 사이즈가
Figure pct00159
Figure pct00160
인 적어도 2개의 가중치 행렬 G
Figure pct00161
, 연관된 바이어스 벡터 b를 선택하는 것 ― 제1 선택된 가중치 행렬 G 는 사이즈
Figure pct00162
을 가지고, 제2 선택된 가중치 행렬
Figure pct00163
는 사이즈
Figure pct00164
을 가지며, 여기서,
Figure pct00165
은 정수이고, rm보다 작고, rn보다 작음 ―;
ㆍ제1 행렬 곱
Figure pct00166
, 및 제2 행렬 곱
Figure pct00167
로부터 블록의 인트라 예측된 샘플
Figure pct00168
를 획득하고, 연관된 바이어스 벡터 b를 가산하여,
Figure pct00169
를 생성하는 것 ― 여기서 xn개의 이웃하는 참조 샘플의 세트임 ―;
ㆍ제1 및 제2 가중치 행렬 G
Figure pct00170
는 사이즈가
Figure pct00171
인 가중치 행렬 M의 낮은 순위 처리로부터 획득되고, 상기 가중치 행렬 M의 추정치
Figure pct00172
은 제1 및 제2 가중치 행렬 G
Figure pct00173
의 곱, 즉
Figure pct00174
이 되는 것;
ㆍ순위 r은 행렬 곱 복잡도를 감소시키도록 결정되는 것;
ㆍ순위 r은 가중치 행렬 M의 특이값 분해에 응답하여 결정되는 것;
ㆍ사이즈가 폭 * 높이인 블록의 경우, 이웃하는 참조 샘플 x의 세트는 사이즈가 폭인 이웃하는 상단 라인과 사이즈가 높이인 이웃하는 좌측 라인으로부터의 모든 재구성된 샘플을 포함하여, 참조 샘플의 다운 샘플링을 회피하는 것;
ㆍ사이즈가 폭 * 높이인 블록의 경우, 이웃하는 참조 샘플 x의 세트는 기존의 인트라 예측과 관련하여 사이즈가 2*폭인 이웃하는 상단 라인과 사이즈가 2*높이인 이웃하는 좌측 라인으로부터의 모든 재구성된 샘플을 포함하는 것;
ㆍ행렬 기반 인트라 예측에 사용되는 개시된 구조의 행렬을 저장하는 것;
ㆍ저장된 구조의 행렬로부터 인코딩 또는 디코딩할 블록의 인트라 예측된 샘플을 유도하는 것;
ㆍ인트라 예측된 샘플의 비트 깊이에 대해 2개의 행렬 곱의 비트 깊이를 증가시키는 것;
ㆍ인트라 예측된 샘플의 비트 깊이에 대해 행렬의 비트 깊이를 증가시키는 것;
ㆍ디코더 및/또는 인코더에서 행렬 기반 인트라 예측 방법에 사용되는 구조의 가중치 행렬의 처리를 인에이블 또는 디스에이블하는 것;
ㆍ시그널링 시에, 디코더가 디코더 및/또는 인코더에서 행렬 기반 인트라 예측 방법에 사용되는 가능한 가중치 행렬을 식별할 수 있게 하는 신택스 요소를 삽입하는 것;
ㆍ시그널링 시에, 가중치 행렬 및 연관된 바이어스 벡터의 세트를 나타내는 적어도 하나의 상위 레벨 신택스 요소를 픽처 파라미터 세트(PPS)에 삽입하여, 선형 가중화된 예측을 사용하는 프레임 내의 모든 블록이 시그널링된 가중치 행렬 세트를 사용하게 하는 것;
ㆍ시그널링 시에, 가중치 행렬 및 연관된 바이어스 벡터의 세트를 나타내는 적어도 하나의 상위 레벨 신택스 요소를 시퀀스 파라미터 세트(SPS)에 삽입하여, 선형 가중화된 예측을 사용하는 시퀀스 내의 모든 블록이 시그널링된 가중치 행렬 세트를 사용하게 하는 것;
ㆍ비트스트림 또는 신호가 기술된 신택스 요소 또는 그 변형 중 하나 이상을 포함하는 것.
ㆍ비트스트림 또는 신호가 기술된 실시예 중 임의의 것에 따라 생성된 정보를 전달하는 신택스를 포함하는 것.
ㆍ시그널링 시에, 디코더가 인코더에 의해 사용되는 것에 해당하는 방식으로 행렬 기반 인트라 예측을 적용할 수 있게 하는 신택스 요소를 삽입하는 것.
ㆍ기술된 신택스 요소 또는 이들의 변형 중 하나 이상을 포함하는 비트스트림 또는 신호를 생성 및/또는 전송 및/또는 수신 및/또는 디코딩하는 것.
ㆍ기술된 실시예 중 임의의 것에 따라 생성 및/또는 전송 및/또는 수신 및/또는 디코딩하는 것.
ㆍ기술된 실시예 중 임의의 것에 따른 방법, 프로세스, 장치, 인스트럭션 저장 매체, 데이터 저장 매체, 또는 신호.
ㆍ기술된 실시예 중 임의의 것에 따른 행렬 기반 인트라 예측을 수행하는 TV, 셋톱 박스, 셀폰, 태블릿, 또는 다른 전자 디바이스.
ㆍ기술된 실시예 중 임의의 것에 따른 행렬 기반 인트라 예측을 수행하고, (예컨대, 모니터, 스크린, 또는 다른 타입의 디스플레이를 사용하여) 최종 이미지를 표시하는 TV, 셋톱 박스, 셀폰, 태블릿, 또는 다른 전자 디바이스.
ㆍ인코딩된 이미지를 포함하는 신호를 수신하는 채널을 (예컨대, 튜너를 사용하여) 선택하고, 기술된 실시예 중 임의의 것에 따른 행렬 기반 인트라 예측을 수행하는 TV, 셋톱 박스, 셀폰, 태블릿, 또는 다른 전자 디바이스.
ㆍ인코딩된 이미지를 포함하는 신호를 무선을 통해 (예컨대, 안테나를 사용하여) 수신하고, 기술된 실시예 중 임의의 것에 따른 행렬 기반 인트라 예측을 수행하는 TV, 셋톱 박스, 셀폰, 태블릿, 또는 다른 전자 디바이스.

Claims (15)

  1. 비디오 인코딩을 위한 방법에 있어서,
    인트라 예측 모드에서 선형 가중화된 예측을 사용하여 비디오의 픽처의 블록을 인코딩하는 단계를 포함하고,
    상기 인코딩하는 단계는 가중치 행렬 및 연관된 바이어스 벡터의 세트 중 적어도 2개의 선택된 가중치 행렬 및 연관된 바이어스 백터와 이웃하는 참조 샘플의 세트 간의 적어도 2개의 행렬-벡터 곱으로부터 상기 블록의 인트라 예측된 샘플을 획득하는 단계를 포함하는 것인, 비디오 인코딩을 위한 방법.
  2. 비디오 디코딩을 위한 방법에 있어서,
    비디오의 픽처의 블록을 디코딩하는 단계 ― 상기 블록은 인트라 예측 모드에서 선형 가중화된 예측을 사용하여 코딩됨 ―를 포함하고,
    상기 디코딩하는 단계는 가중치 행렬 및 연관된 바이어스 벡터의 세트 중 적어도 2개의 선택된 가중치 행렬 및 연관된 바이어스 백터와 이웃하는 참조 샘플의 세트 간의 적어도 2개의 행렬-벡터 곱으로부터 상기 블록의 인트라 예측된 샘플을 획득하는 단계를 포함하는 것인, 비디오 디코딩을 위한 방법.
  3. 하나 이상의 프로세서, 및 적어도 하나의 메모리를 포함하는, 비디오 인코딩을 위한 장치에 있어서,
    상기 하나 이상의 프로세서는 인트라 예측 모드에서 선형 가중화된 예측을 사용하여 비디오의 픽처의 블록을 인코딩하도록 구성되고,
    상기 블록의 인트라 예측된 샘플은 가중치 행렬 및 연관된 바이어스 벡터의 세트 중 적어도 2개의 선택된 가중치 행렬 및 연관된 바이어스 벡터와 이웃하는 참조 샘플의 세트 간의 적어도 2개의 행렬-벡터 곱으로부터 획득되는 것인, 비디오 인코딩을 위한 장치.
  4. 하나 이상의 프로세서, 및 적어도 하나의 메모리를 포함하는, 비디오 디코딩을 위한 장치에 있어서,
    상기 하나 이상의 프로세서는 비디오의 픽처의 블록을 디코딩하도록 구성되며, 상기 블록은 인트라 예측 모드에서 선형 가중화된 예측을 사용하여 코딩되고,
    상기 블록의 인트라 예측된 샘플은 가중치 행렬 및 연관된 바이어스 벡터의 세트 중 적어도 2개의 선택된 가중치 행렬 및 연관된 바이어스 벡터와 이웃하는 참조 샘플의 세트 간의 적어도 2개의 행렬-벡터 곱으로부터 획득되는 것인, 비디오 디코딩을 위한 장치.
  5. 제1항 또는 제2항 또는 제3항 또는 제4항에 있어서,
    상기 선형 가중화된 예측을 사용하여 블록을 인코딩 또는 디코딩하는 것은:
    - n개의 이웃하는 참조 샘플 x의 세트를 결정하고;
    - 선형 가중화된 인트라 예측의 모드 및 블록 형상에 기반하여, 가중치 행렬 및 연관된 바이어스 벡터의 세트 중에서 사이즈가
    Figure pct00175
    Figure pct00176
    인 적어도 2개의 가중치 행렬 G
    Figure pct00177
    와, 연관된 바이어스 벡터 b를 선택하고 ― 제1 선택된 가중치 행렬 G 는 사이즈
    Figure pct00178
    을 가지고, 제2 선택된 가중치 행렬
    Figure pct00179
    는 사이즈
    Figure pct00180
    을 가지며, 여기서,
    Figure pct00181
    은 정수이고, rm보다 작고, rn보다 작음 ―;
    제1 행렬 곱
    Figure pct00182
    , 및 제2 행렬 곱
    Figure pct00183
    로부터 상기 블록의 인트라 예측된 샘플
    Figure pct00184
    를 획득하고, 연관된 바이어스 벡터 b를 가산하여,
    Figure pct00185
    를 생성하는 것
    을 포함하는 것인, 방법 또는 장치.
  6. 제5항에 있어서,
    상기 제1 및 제2 가중치 행렬 G
    Figure pct00186
    는 사이즈가
    Figure pct00187
    인 가중치 행렬 M의 낮은 순위 처리로부터 획득되고, 상기 가중치 행렬 M의 추정치
    Figure pct00188
    은 상기 제1 및 제2 가중치 행렬 G
    Figure pct00189
    의 곱, 즉,
    Figure pct00190
    인 것인, 방법 또는 장치.
  7. 제6항에 있어서,
    r은 행렬 곱 복잡도를 감소시키도록 결정되는 것인, 방법 또는 장치.
  8. 제6항에 있어서,
    r은 상기 가중치 행렬 M 의 특이값 분해(SVD; Single Value Decomposition)에 응답하여 결정되는 것인, 방법 또는 장치.
  9. 제1항, 제2항, 제5항 내지 제8항 중 어느 한 항에 있어서,
    사이즈가 폭 * 높이인 블록의 경우, 상기 이웃하는 참조 샘플 x의 세트는 사이즈가 폭인 이웃하는 상단 라인으로부터의 그리고 사이즈가 높이인 이웃하는 좌측 라인으로부터의 모든 재구성된 샘플을 포함하는 것인, 방법 또는 장치.
  10. 제1항, 제2항, 제5항 내지 제8항 중 어느 한 항에 있어서,
    사이즈가 폭 * 높이인 블록의 경우, 상기 이웃하는 참조 샘플 x의 세트는 사이즈가 2*폭인 이웃하는 상단 라인으로부터의 그리고 사이즈가 2*높이인 이웃하는 좌측 라인으로부터의 모든 재구성된 샘플을 포함하는 것인, 방법 또는 장치.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 가중치 행렬 및 연관된 바이어스 벡터의 세트를 나타내는 적어도 하나의 상위 레벨 신택스 요소는 픽처 파라미터 세트(PPS; Picture Parameter Set)에서 시그널링되며, 그에 따라 선형 가중화된 예측을 사용하는 프레임 내의 모든 블록이 시그널링된 가중치 행렬 세트를 사용하게 되는 것인, 방법 또는 장치.
  12. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 가중치 행렬 및 연관된 바이어스 벡터의 세트를 나타내는 적어도 하나의 상위 레벨 신택스 요소는 시퀀스 파라미터 세트(SPS; Sequence Parameter Set)에서 시그널링되며, 그에 따라 선형 가중화된 예측을 사용하는 시퀀스 내의 모든 블록이 시그널링된 가중치 행렬 세트를 사용하게 되는 것인, 방법 또는 장치.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서,
    상기 2개의 행렬-벡터 곱의 비트 깊이는 인트라 예측된 샘플의 비트 깊이에 대해 증가하는 것인, 방법 또는 장치.
  14. 제1항, 제2항 또는 제5항 내지 제13항 중 어느 한 항에 따라 비디오 데이터를 인코딩 또는 디코딩하기 위한 인스트럭션을 포함하는 컴퓨터 프로그램 제품.
  15. 제1항, 제2항 또는 제5항 내지 제13항 중 어느 한 항에 따라 비디오 데이터를 인코딩 또는 디코딩하기 위한 인스트럭션을 저장한 비 일시적 컴퓨터 판독 가능 저장 매체.
KR1020227000721A 2019-07-22 2020-07-01 행렬 기반 인트라 예측을 이용한 비디오 인코딩 및 디코딩을 위한 방법 및 장치 KR20220035108A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP19305969.8 2019-07-22
EP19305969 2019-07-22
PCT/US2020/040471 WO2021015935A1 (en) 2019-07-22 2020-07-01 Method and apparatus for video encoding and decoding with matrix based intra-prediction

Publications (1)

Publication Number Publication Date
KR20220035108A true KR20220035108A (ko) 2022-03-21

Family

ID=67551307

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227000721A KR20220035108A (ko) 2019-07-22 2020-07-01 행렬 기반 인트라 예측을 이용한 비디오 인코딩 및 디코딩을 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US20220256161A1 (ko)
EP (1) EP4005211A1 (ko)
KR (1) KR20220035108A (ko)
CN (1) CN114145021A (ko)
BR (1) BR112021026574A2 (ko)
WO (1) WO2021015935A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2588406B (en) * 2019-10-22 2022-12-07 British Broadcasting Corp Video encoding and video decoding

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9800884B2 (en) * 2013-03-15 2017-10-24 Qualcomm Incorporated Device and method for scalable coding of video information
US10425648B2 (en) * 2015-09-29 2019-09-24 Qualcomm Incorporated Video intra-prediction using position-dependent prediction combination for video coding
WO2018219925A1 (en) * 2017-05-31 2018-12-06 Interdigital Vc Holdings, Inc. Method and apparatus for signalling bi-directional intra prediction in video encoding and decoding
EP3484151A1 (en) * 2017-11-13 2019-05-15 Thomson Licensing Method and apparatus for generating quantization matrices in video encoding and decoding
CN108988988B (zh) * 2018-06-29 2020-05-19 华中科技大学 一种基于准循环矩阵两级查找表的rcm编码器和编码方法

Also Published As

Publication number Publication date
WO2021015935A1 (en) 2021-01-28
US20220256161A1 (en) 2022-08-11
EP4005211A1 (en) 2022-06-01
CN114145021A (zh) 2022-03-04
BR112021026574A2 (pt) 2022-02-15

Similar Documents

Publication Publication Date Title
JP7299221B2 (ja) 隣接サンプルに応じた線形モデルに基づく映像符号化及び復号のための方法と装置
EP3932063A1 (en) Method and device for picture encoding and decoding
KR20210134034A (ko) 서브블록 기반 로컬 조명 보상을 이용한 비디오 인코딩 및 디코딩 방법 및 장치
US11985306B2 (en) Method and apparatus for video encoding and decoding with matrix based intra-prediction
US20220078405A1 (en) Simplifications of coding modes based on neighboring samples dependent parametric models
CN112956192A (zh) 多参考行帧内预测和最可能的模式
EP3884671A2 (en) Method and device for picture encoding and decoding
KR20210068451A (ko) 일반화된 양방향 예측 및 가중 예측
CN117597933A (zh) 空间局部光照补偿
KR20210066823A (ko) 광각 인트라 예측을 위한 방향들
CN112771874A (zh) 用于画面编码和解码的方法和设备
KR20210028652A (ko) 광각 인트라 예측 및 위치 의존적 인트라 예측 조합
WO2020086248A1 (en) Method and device for picture encoding and decoding
KR20210132079A (ko) 인트라 예측 모드 파티셔닝
EP3641311A1 (en) Encoding and decoding methods and apparatus
KR20220035108A (ko) 행렬 기반 인트라 예측을 이용한 비디오 인코딩 및 디코딩을 위한 방법 및 장치
KR20220123643A (ko) 삼각형 병합 모드에서의 서브-블록 병합 후보들
JP2022537173A (ja) 位置依存イントラ予測コンビネーションを用いたピクチャ符号化及び復号の方法及びデバイス
KR20210124241A (ko) 조명 보상을 이용한 픽처 인코딩 및 디코딩을 위한 방법 및 디바이스
US20240155148A1 (en) Motion flow coding for deep learning based yuv video compression
JP2024510433A (ja) ビデオ圧縮のための時間的構造ベースの条件付き畳み込みニューラルネットワーク
WO2020072397A1 (en) Block size based motion vector coding in affine mode