KR20210132079A - 인트라 예측 모드 파티셔닝 - Google Patents

인트라 예측 모드 파티셔닝 Download PDF

Info

Publication number
KR20210132079A
KR20210132079A KR1020217028918A KR20217028918A KR20210132079A KR 20210132079 A KR20210132079 A KR 20210132079A KR 1020217028918 A KR1020217028918 A KR 1020217028918A KR 20217028918 A KR20217028918 A KR 20217028918A KR 20210132079 A KR20210132079 A KR 20210132079A
Authority
KR
South Korea
Prior art keywords
block
regions
intra prediction
prediction
encoding
Prior art date
Application number
KR1020217028918A
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 KR20210132079A publication Critical patent/KR20210132079A/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

인트라 예측 모드 파티셔닝을 수행하기 위한 방법 및 장치는 비디오 코딩 블록의 복수의 영역에 걸쳐 복수의 인트라 예측 모드를 사용하여 비디오 코딩 블록의 픽셀들을 예측한다. 예측들은 코딩될 블록 위의 적어도 하나의 참조 라인을 이용하는 및/또는 코딩될 블록 좌측의 적어도 하나의 참조 열을 이용하는 참조 어레이들에 기초할 수 있다. 코딩 블록의 상이한 영역들에서 상이한 예측 모드들이 사용된다. 적어도 하나의 실시예에서, 비디오 코딩 블록은 블록의 상이한 영역들에 걸쳐 복수의 인트라 예측 모드를 갖는 것에 더하여 복수의 파티션으로 스플릿된다. 시그널링은 디코더가 코딩 블록 내의 영역들의 수를 결정할 수 있게 한다. 적어도 또 다른 실시예에서, 비디오 코딩 블록의 영역들 내에서 허용가능한 예측 모드들은 하나의 각도 위치만큼 상이하다.

Description

인트라 예측 모드 파티셔닝
본 실시예들 중 적어도 하나는 일반적으로 비디오 인코딩 또는 디코딩을 위한 방법 또는 장치에 관한 것이다.
높은 압축 효율을 달성하기 위해, 이미지 및 비디오 코딩 스킴들은 보통은 공간 및/또는 모션 벡터 예측을 포함하는 예측, 및 비디오 콘텐츠 내의 공간적 및 시간적 중복성을 이용하기 위한 변환들을 채택한다. 일반적으로, 인트라 또는 인터 예측은 인트라 또는 인터 프레임 상관을 활용하기 위해 사용되며, 그러면 종종 예측 오류들 또는 예측 잔차들이라고 표시되는 원래의 이미지와 예측된 이미지 사이의 차이들이 변환되며, 양자화되고, 엔트로피 코딩된다. 비디오를 재구성하기 위해, 압축된 데이터는 엔트로피 코딩, 양자화, 변환, 및 예측에 대응하는 역 프로세스들에 의해 디코딩된다.
종래 기술의 결점들 및 단점들은 인코딩 및 디코딩에서의 인트라 예측 모드 파티셔닝에 관한 본 명세서에 설명된 일반적인 양태들에 의해 해결될 수 있다.
제1 양태에 따르면, 비디오 데이터의 블록을 인코딩하기 위한 방법이 제공된다. 이 방법은, 인트라 예측에 의해 비디오 데이터의 블록의 복수의 영역에서의 픽셀들을 예측하는 단계 - 각자의 영역들은 상이한 인트라 예측 모드들을 사용함 -; 및 상기 예측들을 사용하여 상기 복수의 영역을 인코딩하는 단계를 포함한다.
제2 양태에 따르면, 비디오 데이터의 블록을 인코딩하기 위한 방법이 제공된다. 이 방법은, 인트라 예측에 의해 비디오 데이터의 블록의 복수의 영역에서의 픽셀들을 예측하는 단계 - 각자의 영역들은 상이한 인트라 예측 모드들을 사용함 -; 및 상기 예측들을 사용하여 상기 복수의 영역을 인코딩하는 단계를 포함한다.
또 다른 양태에 따르면 장치가 제공된다. 장치는 프로세서를 포함한다. 프로세서는 전술한 방법들 중 임의의 것을 실행함으로써 비디오의 블록을 인코딩하거나 비트스트림을 디코딩하도록 구성될 수 있다.
적어도 하나의 실시예의 또 다른 일반적인 양태에 따르면, 디바이스가 제공되는데, 이 디바이스는 디코딩 실시예들 중 임의의 것에 따른 장치; 및 (i) 신호를 수신하도록 구성된 안테나- 신호는 비디오 블록을 포함함 -, (ii) 수신된 신호를 비디오 블록을 포함하는 주파수들의 대역으로 제한하도록 구성된 대역 제한기, 또는 (iii) 비디오 블록을 나타내는 출력을 디스플레이하도록 구성된 디스플레이 중 적어도 하나를 포함한다.
적어도 하나의 실시예의 또 다른 일반적인 양태에 따르면, 설명된 인코딩 실시예들 또는 변형들 중 임의의 것에 따라 생성된 데이터 콘텐츠를 포함하는 비일시적 컴퓨터 판독가능 매체가 제공된다.
적어도 하나의 실시예의 또 다른 일반적인 양태에 따르면, 설명된 인코딩 실시예들 또는 변형들 중 임의의 것에 따라 생성된 비디오 데이터를 포함하는 신호가 제공된다.
적어도 하나의 실시예의 또 다른 일반적인 양태에 따르면, 비트스트림은 설명된 인코딩 실시예들 또는 변형들 중 임의의 것에 따라 생성된 데이터 콘텐츠를 포함하도록 포맷팅된다.
적어도 하나의 실시예의 또 다른 일반적인 양태에 따르면, 프로그램이 컴퓨터에 의해 실행될 때, 컴퓨터로 하여금 설명된 디코딩 실시예들 또는 변형들 중 임의의 것을 수행하게 야기하는 명령어들을 포함하는 컴퓨터 프로그램 제품이 제공된다.
이들 및 다른 양태, 일반적 양태들의 특징 및 이점은 첨부 도면과 관련하여 읽혀질 것인, 예시적인 실시예들에 대한 이하의 상세한 설명으로부터 분명해질 것이다.
도 1은 VTM에서의 인트라 예측을 위한 참조 샘플들을 도시한다.
도 2는 VTM에서의 인트라 예측을 위한 다중의 참조 라인을 도시한다.
도 3은 정사각형 타겟 블록에 대한 VTM에서의 인트라 예측 방향들을 도시한다.
도 4는 설명된 일반적인 양태들 하에서의 블록들의 분할의 예를 도시한다.
도 5는 설명된 일반적인 양태들 하에서의 블록들의 분할의 또 다른 예를 도시한다.
도 6은 설명된 일반적인 양태들 하에서의 2개의 부분으로의 대칭적인 수평 및 수직 스플릿들을 도시한다.
도 7은 설명된 일반적인 양태들 하에서의 비대칭적 수평 스플릿들을 도시한다.
도 8은 설명된 일반적인 양태들 하에서의 수직 예측 모드를 갖는 3개 또는 4개의 부분으로의 수평 스플릿의 예들을 도시한다.
도 9는 설명된 일반적인 양태들 하에서의 모드 파티셔닝에서의 인트라 예측의 예를 도시한다.
도 10은 수직 예측 모드들을 갖는 수평 ISP 파티션, 및 수평 예측 모드들을 갖는 수평 ISP 파티션을 갖는 블록의 예들을 도시한다.
도 11은 설명된 일반적인 양태들 하에서의 인코딩 방법의 일 실시예를 도시한다.
도 12는 설명된 일반적인 양태들 하에서의 디코딩 방법의 일 실시예를 도시한다.
도 13은 인트라 예측 모드 확장을 이용한 인코딩 또는 디코딩을 위한 장치의 일 실시예를 도시한다.
도 14는 일반적인 표준 인코딩 스킴을 도시한다.
도 15는 일반적인 표준 디코딩 스킴을 도시한다.
도 16은 설명된 실시예들이 구현될 수 있는 전형적인 프로세서 배열을 도시한다.
본 명세서에 설명된 실시예들은 비디오 압축 분야에 관한 것이며, 비디오 압축과 비디오 인코딩 및 디코딩에 관한 것이다. VTM(VVC(Versatile Video coding) test model)에서, 인트라 예측에서의 임의의 타겟 블록은 67개의 예측 모드 중 하나를 가질 수 있다. HEVC와 같이, 하나는 평면(PLANAR) 모드이고, 하나는 DC 모드이고, 나머지 65개는 방향성 모드들이다. 65개의 방향성 모드는 95개의 방향으로부터 선택되고, 이것은 타겟 블록이 정사각형이면 45도로부터 -135도까지 걸치는 65개의 규칙적인 각도를 포함하고, 블록이 직사각형일 때 잠재적으로 28개의 넓은 각도 방향을 포함한다. VTM은 6개의 예측 모드로 구성되는 MPM(Most Probable Mode) 세트를 이용하여 블록의 예측 모드를 인코딩한다. 예측 모드가 MPM 세트에 속하지 않으면, 그것은 5 또는 6 비트로 절단-이진(truncated-binary) 인코딩된다.
H.264/AVC, HEVC 등과 같은 과거의 비디오 코딩 표준들 및 곧 다가올 VVC(Versatile Video coding) 모두는 코딩 블록에서의 예측 방향이 블록 전체에 걸쳐 동일하게 유지되는 인트라 예측을 채택한다. 기저에 깔린 아이디어는 객체 방향성들이 코딩 블록에 걸쳐 변경되지 않은 채로 유지된다는 것이다. 이는 자연 이미지에서의 객체 방향성들이 변할 수 있으므로 간소한 모델이다. 코딩 블록에 걸쳐 단일 예측 방향을 사용하는 것은 레이트 왜곡(RD) 최적화 후에 더 작은 코딩 블록들을 초래하는데, 이는 더 높은 블록 크기와 덜 정확한 예측 모델 사이의 최상의 트레이드 오프, 및 더 작은 블록들로 파티셔닝을 인코딩하기 위한 더 많은 수의 사이드 정보를 갖는 더 작은 블록 크기를 찾게 한다.
더 나은 아이디어는 동일한 코딩 블록에 걸쳐 다중의 예측 방향을 사용하는 것이며, 여기서 방향들은 주 방향에 가깝고 방향들은 상이한 파티션들에 걸쳐 적용된다. 이는 구조화된 방식으로 코딩 블록 내부에서의 예측 방향의 변경을 허용할 것이므로 방향들이 실세계 이미지에 더 가깝게 매칭되도록 한다. 본 발명은 이 아이디어를 탐구하는 몇가지 방법을 제안하고, 현행의 VVC 코딩 테스트 모델(VTM)의 맥락에서 결과를 제시한다.
인트라 예측은 H.264/AVC, HEVC, 및 VVC와 같은 모든 비디오 압축 표준들에서의 핵심 코딩 도구이다. 기본 아이디어는 이미 디코딩된 인과적 이웃 블록들에 기초하여 픽셀들의 블록을 예측함으로써 이미지 시퀀스의 프레임에서 공간적 상관을 활용하는 것이다. 인코더에서의 예측 잔차가 후속하여 블록 변환에 의해 변환되고, 변환 계수들이 양자화된 다음에 이진 인코딩된다. 디코더에서, 블록은, 이진 디코딩, 탈양자화의 역 프로세스, 및 역 변환으로부터 생기는, 디코딩된 잔차에 예측을 가산함으로써 재구성된다.
예측 목적을 위해, 표준들은 예측 모드들로서 알려진 몇몇 모델들을 정의한다. 예를 들어, HEVC는 35개의 예측 모드를 정의하는데, 여기서 하나는 평면(PLANAR) 모드이고, 하나는 DC 모드이고, 나머지 33개는 각도 모드들이다. 평면(PLANAR) 및 DC 모드들은 느리고 점진적으로 변하는 강도 영역들을 모델링하는 것을 목표로 하는 반면, 각도 모드들은 상이한 객체 방향들을 모델링하는 것을 목표로 한다. 반면에, VVC는 HEVC로부터의 35개의 예측 모드 및 추가적인 32개의 각도 모드를 포함하는 67개의 규칙적 인트라 예측 모드를 정의한다. VVC는 또한 직사각형 코딩 블록들과 함께 사용될 28개의 넓은 각도 모드를 정의한다. 인코더 예측 도구는 레이트 왜곡 성능의 의미에서 최상의 예측 모드를 선택하고, 이것을 모드 코딩 스킴을 사용하여 디코더에 시그널링한다. 디코더 예측 도구는 예측 모드를 디코딩하고 이웃 블록들로부터의 디코딩된 픽셀들을 이용하여 이 모드로 현재 블록을 예측한다.
인트라 예측의 통상의 프로세스는 먼저 이웃 블록들로부터의 디코딩된 샘플들을 이용하여 현재 블록의 좌측에 하나이고 그리고 상단에 다른 하나인 2개의 참조 어레이를 구성하는 것으로 구성된다. 임의의 지향성 모드에 대해, 상단 및/또는 좌측 참조 어레이 상의 참조 샘플들은 현재 블록 내부의 연관된 방향을 따라 반복된다. 여기서, 근본적인 가정은 객체들의 방향성들이 블록 전반에 걸쳐 선형으로 유지되고 강도 값들이 그러한 방향들을 따라 많이 변하지 않는다는 것이다. 이 모델은, 특히 블록 크기들이 작을 때, 잘 동작하는 것으로 보인다. VVC에 의해 허용되는 바와 같이, 블록들이 클 때, 방향성은 점진적으로 변할 수 있다. 여기서 설명되는 일반적인 양태들은 이러한 현상을 모델링하기 위한 간단한 방법을 제시한다. 방법을 제시하기 전에, VVC 테스트 모델 VTM에서의 인트라 예측의 제1 간단한 설명이 주어진다. 더 쉬운 참조를 위해, 용어들 "CU(Coding Unit)" 및 "블록"은 텍스트 전체에 걸쳐 상호 교환 가능하게 사용된다.
VTM에서의 인트라 예측 프로세스는 3개의 단계: (1) 참조 샘플 생성 (2) 인트라 샘플 예측 및 (3) 예측된 샘플들의 후처리로 구성된다. 참조 샘플 생성 프로세스는 VTM에서의 인트라 예측을 위한 참조 샘플들을 도시하는 도 1에 예시되어 있다. 좌표 (x,y)에서의 참조 픽셀 값들은 도면에서 R(x,y)로 표시된다. H 및 W는 제각기 현재 블록의 높이 및 폭을 나타낸다. 크기 HxW의 CU에 대해, 상단 상의 2W개의 디코딩된 샘플의 행은 현재 CU에 대한 이전에 재구성된 상단 및 상단 우측 픽셀들로부터 형성된다. 유사하게, 좌측의 2H 개의 샘플의 열은 재구성된 좌측 및 아래 좌측 픽셀들로부터 형성된다. 상단 좌측 위치에 있는 코너 픽셀은 또한 상단 행과 좌측 열 참조들 사이의 갭을 채우기 위해 사용된다. 대응하는 CU들이 동일한 슬라이스에 있지 않거나, 또는 현재 CU가 프레임 경계에 있기 때문에, 상단 또는 좌측의 샘플들 중 일부가 이용가능하지 않다면, 예를 들어, 누락된 샘플들이 이용가능한 샘플들로부터 시계 방향으로 복사되는 참조 샘플 치환이라 불리는 방법이 수행될 수 있다. 그 후, 현재 CU 크기 및 예측 모드에 좌우되어, 참조 샘플들은 좌측 참조 열에 대해 수직으로 그리고 상단 참조 행에 대해 수평으로 적용되는, 계수들 [1/4, 1/2, 1/4]을 갖는 저역 통과 필터를 사용하여 필터링될 수 있다.
VTM 4.0은 또한 다중 참조 라인(multiple reference lines, MRL)에 의한 인트라 예측을 지원한다. 아이디어는 도 2에 도시된 바와 같이 여러 개의 세트의 참조 라인들에 기초하여 예측을 행한 후에 최상의 레이트 왜곡 성능을 제공하는 참조 라인을 선택하는 것이다. 도 2는 VTM에서의 인트라 예측을 위한 다중의 참조 라인을 도시한다. 참조 라인들은 타겟 블록으로부터의 그들의 거리의 순서로 인덱싱된다. 타겟 블록에 가장 가까운 참조 라인은 여기서 예를 들어, 0으로서 인덱싱된다. 예측을 위해 이 예에서 사용되는 2개의 다른 참조 라인은 1 및 3으로 인덱싱된다. 사용된 참조 라인은 가변 길이 코드로 디코더에 시그널링된다. VTM 4.0에서 사용되는 도 2에서와 같은 3개의 참조 라인에서, 인덱스 0, 1 및 3을 갖는 참조 라인들은 제각기 비트 "0", "10" 및 "11"로 시그널링된다. 게다가, 최상의 예측 모드에 대한 검색의 추가된 복잡도를 제한하기 위해, 참조 라인들 1 및 3은 MPM 리스트에서의 모드들과 동일한 방식으로 도출되지만 평면(PLANAR) 및 DC 모드들을 제외한 단지 6개의 각도 예측 모드로 테스트된다. 참조 라인 2는 VTM 4.0의 MRL에서 사용되지 않으며, 여기서는 예시적인 목적으로만 도시된다는 점에 유의해야 한다.
다음 단계, 즉 인트라 샘플 예측은 참조 샘플들에 기초하여 타겟 CU의 픽셀들을 예측하는 것으로 구성된다. 앞서 언급한 바와 같이, 상이한 종류의 콘텐츠를 효율적으로 예측하기 위하여, VTM은 예측 모델들의 범위를 지원한다. 평면(Planar) 및 DC 예측 모드들은 평활하고 점진적으로 변화하는 영역들을 예측하는데 이용되는 반면, 각도 예측 모드들은 상이한 방향성 구조들을 캡처하는데 이용된다. VTM은 -14 내지 -1 및 2 내지 80으로 인덱싱되는 93개의 방향성 예측 모드를 지원한다. 정사각형 CU에 대해, 예측 모드들 2-66만이 사용된다. 이러한 예측 모드들은 정사각형 타겟 블록에 대한 VTM에서의 인트라 예측 방향들을 나타내는 도 3에 예시된 바와 같이 시계 방향에서 45도 내지 -135도의 상이한 예측 방향들에 대응한다. 숫자들은 대응하는 방향과 연관된 예측 모드 인덱스를 나타낸다. 모드들 2 내지 33은 수평 예측을 나타내고, 모드들 34 내지 66은 수직 예측을 나타낸다.
-14 내지 -1의 인덱스들 및 67 내지 80의 인덱스들을 갖는 모드들은 상이한 형상들의 직사각형 블록들에 대해 사용되는 광각 모드들이다. 모드들 -14 내지 -1은 모드 2를 넘어서(각도 45도를 넘어서) 정의되고, 긴 직사각형 블록들(폭보다 큰 높이를 갖는 블록들)에 대해 사용된다. 유사하게, 모드 67 내지 80은 모드 66을 넘어서(각도 -135도를 넘어서) 정의되고 납작한 직사각형 블록들(높이보다 큰 폭을 갖는 블록들)에 대해 사용된다. 직사각형 블록에 대해 사용되는 광각 모드들의 수는 블록의 종횡비에 의존한다. 임의의 경우에, 임의의 블록에 대해 사용되는 각도 모드들의 총 수는 65개이고 모드들은 항상 방향이 연속적이다. 상이한 블록 형상들에 대해 사용되는 각도 예측 모드들은 표 1에 요약된다.
Figure pct00001
VTM 4.0은 또한 ISP(intra prediction with sub-partitions)를 지원한다. 이 도구는, 표 2에 도시한 바와 같이, 루마 인트라 예측된 블록들을 블록 크기 치수들에 좌우되어 수직으로 또는 수평으로 2개 또는 4개의 서브 파티션으로 분할한다.
Figure pct00002
서브 파티션은 적어도 16개의 픽셀을 가져야만 한다. 따라서, 크기 4x4의 블록은 서브 파티션으로 분할되지 않는 반면, 크기 4x8 및 8x4의 블록들은 2개의 서브 파티션만을 가진다. 모든 다른 크기의 블록들은 4개의 서브 파티션만을 갖는다. 서브 파티션들은 수평 또는 수직일 수 있다. 도 4 및 도 5는 2개의 가능성의 예들을 도시한다. 도 4는 4x8 및 8x4 블록들의 분할의 예들을 도시한다. 도 5는 4x8, 8x4, 및 4x4를 제외한 모든 블록들의 분할의 예를 도시한다. 스플릿의 유형은 0(스플릿 없음), 또는 1(수평 스플릿), 또는 2(수직 스플릿)로서 인코딩된다.
각각의 서브 파티션에서의 예측은 부모 CU의 예측 모드를 사용한다. 서브 파티션들은 이용되는 스플릿 및 인트라 모드에 관계없이 정상적인 증가 순서로 처리된다. VTM 4.0에서, ISP는 제1 참조 라인을 이용하는 블록들에만 적용된다. 그러므로, 블록이 MRL 인덱스 1 또는 3을 갖는다면, ISP 코딩 모드는 0인 것으로 추론될 것이고, 따라서 인코딩되지 않는다.
게다가, 인코딩 복잡도를 감소시키기 위해, ISP 알고리즘은 67개의 예측 모드 중 6개의 별개의 모드로 구성되는, MPM 리스트의 일부인 인트라 모드들만으로 테스트된다. ISP로 테스트되는 임의의 블록에 대해, MPM 리스트는 또한 DC 모드를 배제하고 수평 스플릿에 대한 수평 인트라 모드들 및 수직 스플릿에 대한 수직 인트라 모드들을 우선순위화하도록 수정된다.
인트라 예측에서의 각각의 코딩 블록은 예측 모드와 연관된다. 예측 모드가 각도이면, MRL의 경우에도, 현재 블록에서의 모든 픽셀들이 동일한 방향으로 예측된다. ISP의 경우에, 모든 서브 파티션들은 동일한 예측 모드를 사용한다. 모든 픽셀들에 대해 동일한 방향을 사용하는 것은 직선 에지들, 또는 다른 선형 객체 특징들을 상당히 잘 모델링할 것이다. 곡률과 같은 비선형 특징들을 허용하기 위해, 코딩 블록 상에서의 예측 방향의 변동을 고려하는 것이 의미가 있다.
일반성을 위해, 이하에서는 폭 W 및 높이 H를 갖는 직사각형 블록들을 가정할 것이다. 정사각형 타겟 블록들은 W=H인 특별한 경우들이다. 더 쉬운 이해를 위해, 초기에 어떤 MRL도 어떤 ISP도 가정하지 않는 이론을 제시할 것이다. 후속하여, MRL 및 ISP와 제안된 방법을 조합하는 상이한 방식들을 제시할 상이한 실시예들을 설명할 것이다.
인트라 예측 모드 파티셔닝의 가장 간단한 경우로 시작하기 위해, 2개의 예측 모드를 갖는 코딩 블록의 경우를 고려할 것이다. 일반적인 설정에서, 2개의 모드는 임의적일 수 있지만, 우리의 목표는 방향에 있어서 가까운 모드들만을 고려하는 것이다. 이러한 요건은 객체들의 방향성이, 일정하게 유지되지는 않더라도, 코딩 블록 내부에서 단지 약간만 변경될 수 있다는 가정으로부터 발생한다. 따라서, 예를 들어, V 및 V+1, 또는 V 및 V-1과 같은 2개의 인접한 예측 방향만을 고려할 것이며, 여기서 V는 고려 중인 각도 예측 모드를 나타낸다. 이 간단한 경우를 가정할 것인데, 그 이유는 이것이 최소량의 시그널링을 필요로 할 것이기 때문인데, 그러나 개시된 아이디어들은 단지 2개의 인트라 예측 모드 파티션으로 제한되지 않는다.
둘째, 2개의 예측 모드가 코딩 블록의 2개의 비 중첩 영역에 걸쳐 적용된다고 또한 가정할 것이다. 가장 간단한 방법은, 코딩 블록들이 직사각형 또는 정사각형이기 때문에, 블록을 수평으로 또는 수직으로 2개의 부분으로 스플릿하는 것이다. 스플릿이 임의의 픽셀 위치에서 그리고 임의 수의 스플릿들로 발생할 수 있지만, 우리는 구조화된 스플릿들만을 고려할 것이다. 즉, 중간에서의(동일한 크기의 부분들을 갖는 하나의 스플릿), 또는 치수의 1/4 및 3/4(비대칭 스플릿들)에서의 스플릿들만을 고려할 것이다. 이들은 도 6 및 도 7에 도시되어 있다. 도 6은 2개의 부분으로의 대칭적인 수평 및 수직 스플릿들을 도시한다. 수평 스플릿은 예측 모드 V가 수직인 경우에 적용된다. 예측 모드(V)가 수평인 경우에 수직 스플릿이 적용된다. 수평 스플릿 경우(상단)에서, 상단 부분은 예측 모드 V를 갖고, 하단 부분은 예측 모드 (V-1) 또는 (V+1)을 갖는다. 이는 예측 모드 V를 갖는 하단 부분 및 예측 모드 (V-1) 또는 (V+1)를 갖는 상단 부분으로 반전될 수 있다. 유사한 상황이 수직 스플릿의 경우에 적용된다. 우리는 수직 예측 방향들에 대한 수평 스플릿들 및 수평 예측 방향들에 대한 수직 스플릿들을 적용할 것이지만, 현재의 일반적인 양태들 하에서 다른 스플릿들이 가능하다.
도 7은 비대칭 수평 스플릿들을 도시한다. 한 경우에, 더 작은 부분의 픽셀들은 예측 모드 V를 갖고 더 큰 부분의 픽셀들은 (V-1) 또는 (V+1) 중 어느 하나의 예측 모드를 갖는다(상단 2개의 도면). 또 다른 경우에, 더 큰 부분의 픽셀들은 예측 모드 V를 갖고, 더 작은 부분의 픽셀들은 예측 모드 (V-1) 또는 (V+1)을 갖는다(하단 2개의 도면). 유사한 스플릿들이 예측 모드가 수평일 때 수직 방향으로 이루어질 수 있다.
2개의 예측 모드에 대해, 코딩 블록에서 단지 2개의 비 중첩 부분을 갖는 것이 강제적이지는 않다. 각각의 부분이 사용되는 2개의 예측 모드 중 하나를 가질 수 있는 더 많은 수의 부분들을 가질 수 있다. 도 8은 3개 및 4개의 스플릿을 갖는 경우들을 도시한다. 도 8은 수직 예측 모드를 갖는 3개 또는 4개 부분으로의 수평 스플릿들의 예들을 도시한다. 두 경우 모두에서, 블록에 대해 최대 2개의 예측 모드를 가정한다. 유사한 예들이 예측 모드가 수평일 때 수직 스플릿들에 의해 주어질 수 있다.
모드 파티셔닝을 갖는 예측 프로세스는 코딩 블록의, 상단에 하나 및 좌측의 다른 하나인 동일한 2개의 참조 어레이를 사용한다. 상이한 인트라 예측 모드 영역들에 대해 전체 블록에 대해 참조 샘플들의 동일한 어레이가 사용되는 경우, 현재 블록에서의 모든 픽셀들이 동시에 예측될 수 있다. 이는 상이한 파티션들이 순차적 순서로 처리되는 ISP에서와 다르다. 단일 참조 라인으로, 예측 프로세스가 도 9에 도시된다. 도 9는 모드 파티셔닝에서의 인트라 예측을 도시한다. 제2 부분에서의 타겟 픽셀들은 제1 부분 및 제2 부분 픽셀들 둘 모두의 예측 모드들을 고려하여 예측된다. 제2 부분에서의 타겟 픽셀들은 그들의 예측 모드로 직접 예측되는 것이 아니라, 제1 부분 픽셀들의 예측 모드를 고려하는 것에 의해서도 예측된다는 점에 주목한다. 즉, 제2 부분에서의 타겟 픽셀에 대한 예측자는 제2 부분 및 제1 부분의 예측 모드들 둘 모두에 기초하여 결정될 것이다. 다시 말해서, 제2 부분을 예측할 때, 각각의 픽셀 위치에서 적절한 참조 샘플을 매핑하기 위해 제1 부분 상에서의 예측 방향이 무엇인지를 여전히 고려할 필요가 있다. 현재 예측 방향을 고려하면, 도 9에서 긴 직선 화살표로 묘사된 바와 같이, 참조 어레이의 잘못된 위치를 타겟팅할 것이고, 여기서 정확한 매핑은 더 짧은 화살표로 도시된다. 이 경우는 또한 3개 또는 4개의 부분으로의 스플릿들을 고려하는 경우에 적용된다. 특정 부분에서의 타겟 픽셀들에 대한 예측자들은 고려 중인 부분의 예측 모드와 함께 모든 이전 부분들의 예측 모드들을 사용하여 결정될 것이다.
실제 인코딩 시나리오에서, 모드 파티션들의 수는 유한할 것이다. 인코더는 이용가능한 모든 모드 파티션들의 레이트 왜곡 성능을 검사할 것이고, 이어서 디코더가 인코더에 의해 이용되는 파티셔닝을 알도록 최상의 모드 파티셔닝을 디코더에 시그널링할 것이다. 파티션들의 수가 많을수록, 필요한 시그널링 비트들의 수가 많아진다. 여기서 설명된 바와 같이, 2개의 파티션을 가지는 3개의 후보: (1) 파티션 없음, (2) V가 수직(수평) 모드일 때 예측 모드 (V-1)를 가지는 상단(좌측) 부분 및 예측 모드 V를 가지는 하단(우측) 부분, (3) V가 수직(수평) 모드일 때 예측 모드 (V+1)를 가지는 상단(좌측) 부분 및 예측 모드 V를 가지는 하단(우측) 부분인 경우를 고려하지만, 이들로 제한되지는 않는다. 대안적으로, 모드들이 2개의 부분 사이에 교환되는 동일한 스플릿들을 또한 고려할 수 있다. 3개의 후보는 가변 길이 코드로 코딩될 수 있으며, 여기서 파티셔닝 없음은 0으로 인코딩되는 반면, 나머지 2개의 후보는 제각기 10 및 11로서 인코딩된다.
파티셔닝의 수 및 인코딩 스킴의 선택은 일반화될 수 있고 상기 예에서와 같이 특정될 필요는 없다는 점에 유의해야 한다. 예를 들어, 4개의 예측 후보를 고려할 수 있고, 여기서 제1 예측 후보는 스플릿을 갖지 않고, 나머지 3개의 후보는 예측 모드의 방향에 의존하여 상이한 종류의 3개의 스플릿을 고려한다. 이들 4개의 후보는 단순히 후보당 2 비트만을 필요로 하는 고정 길이 코딩 스킴으로 인코딩될 수 있다.
인트라 예측이 VTM 4.0에서와 같이 다중 참조 라인(multiple reference lines, MRL)을 허용할 때, 제안된 방법은 제1 참조 라인을 사용하는 블록들, 또는 제2 또는 제4 참조 라인들을 사용하는 블록들, 또는 둘 모두에 제한될 수 있다. 다른 스킴들이 설명된 일반적인 양태들 하에서 구상될 수 있다. 처음 2개의 경우에, 모드 파티셔닝의 시그널링은 MRL 인덱스에 의존할 것이고, 따라서 특정 참조 라인을 사용하지 않는 일부 블록들에 대해 송신될 필요가 없다. 마지막 경우에, 시그널링은 MRL 인덱스 값에 관계없이 모든 블록들에 대해 요구될 것이다.
MRL과 마찬가지로, 인트라 예측이 VTM 4.0에서와 같이 ISP를 허용할 때, 제안된 방법은 ISP를 이용하지 않는 블록들(즉, ISP 인덱스=0), 또는 ISP를 이용하는 블록들(ISP 인덱스는 비 제로임), 또는 둘 모두에 제한될 수 있다. 첫 번째 경우에, 블록들이 서브 파티션들로 스플릿되지 않기 때문에, 제안된 방법의 적용은 어떤 수정도 필요로 하지 않는다. 그러나, 제2 경우에, 서브 파티션들을 갖는 제안된 방법의 적용은 미묘할 수 있다. ISP가 (제안된 방법이 사용하는) 예측 모드의 방향성을 고려함이 없이 블록의 수평 및 수직 서브 파티션들 둘 모두를 허용하기 때문에, 상이한 서브 파티션들 상에서의 2개의 모드의 직접 적용은 원하는 대로 동작하지 않을 것이다. ISP에서의 서브 파티션들은 고려 중인 예측 모드의 방향성에 의존하여 1개 또는 2개의 예측 모드를 가질 필요가 있다. 본 명세서에서 설명된 예들에서, 간략화를 위해, 제안된 예측 방법은 ISP를 이용하지 않는 블록들(즉, ISP 인덱스=0인 블록들)에 적용된다고 가정한다. 제2 경우는 설명된 아이디어들의 확장으로서 고려될 수 있다.
이하에서, VVC 테스트 모델 VTM 4.0 코덱을 가정한다. 그러나, 제시된 방법은 매우 일반적이기 때문에, 그것은 인트라 예측을 위해 다중의 방향성 예측 모드를 사용하는 H.264/AVC, HEVC 등과 같은 임의의 이전 표준들의 맥락에서 적용될 수 있다. 모든 실시예들에서, 모드 파티셔닝을 갖는 3개의 예측 방법만을 가정한다: (1) 모든 타겟 픽셀에 대해 동일한 예측 모드 V가 사용되는 스플릿 없음, (2) 한 부분의 예측 모드가 V이고 다른 부분의 예측 모드가 (V-1)인 2개의 파티션, (3) 한 부분의 예측 모드가 V이고 다른 부분의 예측 모드가 (V+1)인 2개의 파티션. 경우 (2) 및 (3)에서, 예측 모드 V를 사용하는 동일한 부분들을 가정한다. 스플릿은 V가 수직 모드일 때 수평이고, V가 수평 모드일 때 수직이다. 파티션들은 대칭 또는 비대칭일 수 있다. 인코더는 아래의 상이한 실시예들에서 지정되는 바와 같은 블록들을 갖는 3개의 예측 방법을 검사하고, 최상의 방법을 선택한다. 최상의 예측 방법은 이진화되고 컨텍스트 인코딩되는 방법에 의존하여, 0, 1, 또는 2와 동일한 인덱스 값으로 시그널링된다.
실시예 1: 이 실시예에서, 제2 또는 제4 참조 라인을 사용하는 블록들만이 제안된 예측 방법으로 취급된다. 따라서, 현재 블록이 0과 동일한 MRL 인덱스를 가지면, 모드 파티셔닝을 위한 인코딩이 없다. MRL 인덱스의 디코딩된 값이 0이면, 디코더는 0의 값을 취할 것이다(모드 파티셔닝을 위한 스플릿 없음). 이 경우, ISP가 MRL 인덱스 0을 갖는 블록들에만 적용되기 때문에 ISP와의 충돌이 없다. MRL 인덱스는 ISP 인덱스 전에 인코딩된다는 점에 유의한다. ISP 인덱스에 이어서 모드 파티셔닝 인덱스를 인코딩하는 것을 제안한다. 따라서 디코더는 먼저 MRL 인덱스를 디코딩하고, 그 다음 MRL 인덱스가 0과 동일한 경우 ISP 인덱스를 디코딩하거나 또는 그렇지 않으면 모드 파티셔닝 인덱스를 디코딩한다.
실시예 2: 이 실시예에서, 제1 참조 라인을 사용하지만 ISP로 스플릿되지 않는 블록들만이 제안된 예측 방법으로 취급된다. 따라서, 현재 블록이 1 또는 3과 동일한 MRL 인덱스를 가지면, 모드 파티셔닝을 위한 인코딩은 없다. MRL 인덱스가 0이지만 ISP 인덱스가 1 또는 2인 경우, 또한 모드 파티셔닝에 대한 인코딩이 없다. 모드 파티셔닝 인덱스는 0과 동일한 MRL 인덱스 및 0과 동일한 ISP 인덱스를 갖는 블록들에 대해서만 인코딩된다. MRL 인덱스의 디코딩된 값이 0이 아니면, 또는 ISP 인덱스의 디코딩된 값이 0이 아니면, 디코더는 0의 값을 취할 것이다(모드 파티셔닝을 위한 스플릿 없음). 이 경우, 모드 파티셔닝을 위해 검사되는 ISP에 의한 블록들의 스플릿이 없기 때문에 ISP와의 충돌도 없다. 이 방법에서, 모드 파티셔닝 인덱스는 MRL 인덱스 및 ISP 인덱스 둘 모두 후에 인코딩되어야만 한다. 따라서, 디코더는 모드 파티셔닝을 위한 인덱스를 디코딩하기 전에 MRL 인덱스 및 ISP 인덱스 둘 모두를 디코딩한다. MRL 인덱스 또는 ISP 인덱스가 0이 아니면, 모드 파티셔닝 인덱스는 0으로 가정될 것이고 디코딩되지 않을 것이다.
실시예 3: 이 실시예에서, 제1 참조 라인을 사용하는 블록들만이 ISP 인덱스의 값에 관계없이 제안된 예측 방법으로 취급된다. ISP 인덱스 값이 0이면, 처리는 실시예 2에서와같이 행해진다. 그렇지 않고, ISP 인덱스 값에 의존하여, 각각의 서브 파티션은 예측 방향 및 서브 파티션의 유형에 의존하여 모드 파티셔닝 없음 또는 2개의 모드 파티션으로 취급된다. 예를 들어, 예측 모드가 수직이고 ISP 파티션들이 수평이면, 서브 파티션들의 예측 모드들은 모드 파티셔닝 인덱스 값에 의존하여 V-1 및 V(또는 V+1 및 V)로부터 선택된다. 유사한 경우가 수평 예측 모드를 갖는 수직 서브 파티션들에 대해 적용된다. 도 10은 이 경우의 일 예를 도시한다. 블록이 ISP에 따라 스플릿되고 예측 방향이 스플릿, 예를 들어, 수평 스플릿 및 수직 모드와 일치하면, ISP 파티션들을 유지하고 도면에서와 같이 제2 블록에 대한 방향을 수정한다(+1 또는 -1).
그렇지만, 방향이, 예를 들어, 수평이고 스플릿이 수평(이하의 하단 도면들)인 경우, 제안된 도구는 예측 방향에 따라 스플릿할 것이고, 결국 하단 우측 도면에서와 같은 서브 파티션들로 될 것이다.
그러나, 서브 파티션들이 수평이고 예측 모드가 수평인 경우, 또는 서브 파티션들이 수직이고 예측 모드가 수직인 경우, 각각의 서브 파티션은 도 10에서와 같이 2개의 예측 모드를 가질 수 있다.
실시예 4: 이 실시예에서, 모든 블록들은 MRL 인덱스 및 ISP 인덱스의 값들에 관계없이 제안된 예측 방법으로 취급된다. 따라서, 각각의 블록에 대해, 디코더는 모드 파티셔닝 인덱스를 디코딩할 것이다.
제안된 방법은 그것을 VTM 4.0 소프트웨어에 통합함으로써 구현되었다. 제안된 예측 방법은 실시예 1에서와 같이 제2 또는 제4 참조 라인을 사용하는 블록들에만 적용되었다. 즉, 0이 아닌 MRL 인덱스를 갖는 블록들만이 모드 파티셔닝을 위해 처리된다. 테스트된 방법의 BD 레이트 성능이 표 3에서 도시된다.
Figure pct00003
본 발명은 동일한 타겟 블록 내부에서 다중의 인트라 예측 모드를 허용함으로써 인트라 예측 효율을 개선하는 것을 목적으로 한다. 아이디어는 타겟 블록들에서 실세계 객체 방향성들을 캡처하는 것이다. 장점은 많은 추가적인 복잡성 없이 더 높은 압축 효율이다.
여기에 설명된 일반적인 양태들을 이용하여 비디오 데이터의 블록을 인코딩하기 위한 방법(1100)의 일 실시예가 도 11에 도시되어 있다. 방법은 시작 블록(1101)에서 시작하고, 제어는 인트라 예측으로 비디오 데이터의 블록의 복수의 영역에서의 픽셀들을 예측하기 위한 기능 블록(1110)으로 진행하며, 여기서 각자의 영역들은 상이한 인트라 예측 모드들을 사용한다. 제어는 이후 블록(1110)으로부터 인트라 예측 모드들로부터의 상기 예측들을 사용하여 상기 복수의 영역을 인코딩하기 위한 블록(1120)으로 진행한다.
여기에 설명된 일반적인 양태들을 이용하여 비디오 데이터의 블록을 인코딩하기 위한 방법(1200)의 일 실시예가 도 12에 도시되어 있다. 방법은 시작 블록(1201)에서 시작하고 제어는 인트라 예측으로 비디오 데이터의 블록의 복수의 영역에서의 픽셀들을 예측하기 위한 기능 블록(1210)으로 진행하며, 여기서 각자의 영역들은 상이한 인트라 예측 모드들을 사용한다. 제어는 이후 블록(1210)으로부터 인트라 예측 모드들로부터의 상기 예측들을 사용하여 상기 복수의 영역을 디코딩하기 위한 블록(1220)으로 진행한다.
도 13은 비디오 데이터의 블록을 인코딩 또는 디코딩하기 위한 장치(1300)의 일 실시예를 도시한다. 장치는 프로세서(1310)를 포함하고, 적어도 하나의 포트를 통해 메모리(1320)에 인터커넥션될 수 있다. 프로세서(1310) 및 메모리(1320) 둘 모두는 또한 외부 연결들에 대한 하나 이상의 부가 인터커넥션을 가질 수 있다.
프로세서(1310)는 확장된 예측 모드를 이용하여 비디오 데이터를 인코딩 또는 디코딩하고, 그리고 확장된 인트라 코딩 모드에서 예측을 이용하여 비디오 데이터의 블록을 인코딩 또는 디코딩하도록 구성된다.
이 출원은 도구, 특징, 실시예, 모델, 접근법 등을 포함하는 다양한 양태를 설명한다. 다수의 이 양태들은 특별한 점을 설명하고, 적어도 개별 특성들을 보여주기 위해, 제한하는 것일 수 있는 방식으로 종종 설명된다. 그러나, 이는 설명의 명료함을 위한 것이고, 그들 양태들의 적용 또는 범위를 제한하지 않는다. 실제로, 추가의 양태들을 제공하기 위해 상이한 양태들 모두가 조합되고 교환될 수 있다. 더구나, 양태들은 마찬가지로 초기의 출원들에서 설명된 양태들과 조합되고 교환될 수 있다.
이 출원에서 설명되고 고려되는 양태들은 많은 상이한 형태들로 구현될 수 있다. 도 14, 도 15, 및 도 16은 일부 실시예들을 제공하지만, 다른 실시예들이 고려되며, 도 14, 도 15, 및 도 16의 논의는 구현들의 범위를 한정하지 않는다. 양태들 중 적어도 하나는 일반적으로 비디오 인코딩 및 디코딩에 관한 것이고 적어도 하나의 다른 양태는 일반적으로 생성되거나 또는 인코딩된 비트스트림을 송신하는 것에 관한 것이다. 이들 및 다른 양태들은 방법, 장치, 설명된 방법들 중 임의의 것에 따라 비디오 데이터를 인코딩 또는 디코딩하기 위한 명령어들을 저장하는 컴퓨터 판독가능 저장 매체, 및/또는 설명된 방법들 중 임의의 것에 따라 생성된 비트스트림을 저장하는 컴퓨터 판독가능 저장 매체로서 구현될 수 있다.
본 출원에서, "재구성된" 및 "디코딩된"이라는 용어들은 상호교환가능하게 사용될 수 있으며, "픽셀" 및 "샘플"이라는 용어들은 상호교환가능하게 사용될 수 있으며, "이미지", "픽처" 및 "프레임"이라는 용어들은 상호교환가능하게 사용될 수 있다. 필수적은 아니지만 통상적으로, 용어 "재구성된"은 인코더 측에서 사용되는 한편, "디코딩된"은 디코더 측에서 사용된다.
다양한 방법들이 본 명세서에서 설명되었고, 방법들 각각은 설명된 방법을 달성하기 위한 하나 이상의 단계 또는 액션을 포함한다. 방법의 적절한 동작을 위해 단계들 또는 액션들의 특정 순서가 요구되지 않으면, 특정 단계들 및/또는 액션들의 순서 및/또는 사용은 수정되거나 조합될 수 있다.
이 출원에서 설명되는 다양한 방법들 및 다른 양태들은 도 14 및 도 15에 도시된 바와 같은 비디오 인코더(100) 및 디코더(200)의 모듈들, 예를 들어, 인트라 예측, 엔트로피 코딩, 및/또는 디코딩 모듈들(160, 360, 145, 330)을 수정하기 위해 사용될 수 있다. 더구나, 본 양태들은 VVC 또는 HEVC로만 제한되지 않고, 예를 들어, 이미 존재하든 또는 장래에 개발되든 간에, 다른 표준들 및 권고안들과, (VVC 및 HEVC를 포함한) 임의의 이러한 표준들 및 권고안들의 확장들에 적용될 수 있다. 달리 표시되지 않거나 또는 기술적으로 배제되지 않는 한, 이 출원에서 설명되는 양태들은 개별적으로 또는 조합하여 사용될 수 있다.
다양한 수치 값들이 본 출원에서 사용된다. 특정 값들은 예시적인 목적들을 위한 것이고 설명되는 양태들은 이러한 특정 값들로만 제한되지는 않는다.
도 14는 인코더(100)를 도시한다. 이 인코더(100)의 변형들이 구상되지만, 인코더(100)는 모든 예상되는 변형들을 설명하지 않고서 명료함을 위해 아래에서 설명된다.
인코딩되기 전에, 비디오 시퀀스는 프리-인코딩 처리(101), 예를 들어, 입력 컬러 픽처에 컬러 변환을 적용하는 것(예를 들어, RGB 4:4:4로부터 YCbCr 4:2:0로의 변환), 또는 (예를 들면 컬러 컴포넌트들 중 하나의 것의 히스토그램 등화를 사용하여) 압축에 더 탄력적인 신호 분포를 얻기 위하여 입력 픽처 컴포넌트들의 리매핑을 수행하는 것을 거칠 수 있다. 메타데이터는 전처리와 연관되고 비트스트림에 첨부될 수 있다.
인코더(100)에서, 픽처는 아래에서 설명되는 바와 같이 인코더 요소들에 의해 인코딩된다. 인코딩될 픽처는 예를 들어, CU들의 유닛들로 파티셔닝되고(102) 처리된다. 각각의 유닛은 예를 들어, 인트라 또는 인터 모드를 사용하여 인코딩된다. 유닛이 인트라 모드에서 인코딩될 때, 이는 인트라 예측(160)을 수행한다. 인터 모드(inter mode)에서는, 모션 추정(motion estimation)(175) 및 보상(compensation)(170)이 수행된다. 인코더는 유닛을 인코딩하기 위해 사용할 인트라 모드 또는 인터 모드 중 어느 하나를 결정(105)하고, 예를 들어, 예측 모드 플래그에 의해 인트라/인터 결정을 표시한다. 예측 잔차들은, 예를 들어, 원래의 이미지 블록에서 예측된 블록을 감산함으로써(110) 계산된다.
예측 잔차들이 이어서 변환되고(125) 양자화된다(130). 양자화된 변환 계수들뿐만 아니라 모션 벡터들(motion vectors) 및 다른 신택스 요소들은, 비트스트림을 출력하도록 엔트로피 코딩(145)된다. 인코더는 변환을 건너 뛰고 비변환된 잔차 신호에 직접적으로 양자화를 적용할 수 있다. 인코더는 변환 및 양자화 둘 모두를 건너 뛸 수 있는데, 즉, 잔차는 변환 또는 양자화 프로세스들의 적용 없이 직접 코딩될 수 있다.
인코더는 추가적 예측들을 위한 참조를 제공하기 위해 인코딩된 블록을 디코딩한다. 예측 잔차들을 디코딩하기 위해, 양자화된 변환 계수들은 탈양자화되고(140) 역변환된다(150). 디코딩된 예측 잔차들 및 예측된 블록을 조합하면(155), 이미지 블록이 재구성된다. 인 루프 필터들(165)은, 예를 들어, 인코딩 아티팩트들을 줄이기 위한 디블로킹(deblocking)/SAO(Sample Adaptive Offset) 필터링을 수행하기 위해 재구성된 픽처에 적용된다. 필터링된 이미지는 참조 픽처 버퍼(180)에 저장된다.
도 15는 비디오 디코더(200)의 블록도를 도시한다. 디코더(200)에서, 비트스트림은 아래에서 설명되는 바와 같이 디코더 요소들에 의해 디코딩된다. 비디오 디코더(200)는 일반적으로 도 14에 설명된 바와 같은 인코딩 패스에 역인 디코딩 패스를 수행한다. 인코더(100)는 또한 비디오 데이터를 인코딩하는 일환으로서 비디오 디코딩을 일반적으로 수행한다.
특히, 디코더의 입력은 비디오 인코더(100)에 의해 생성될 수 있는 비디오 비트스트림을 포함한다. 비트스트림은, 변환 계수들, 모션 벡터들, 및 다른 코딩된 정보를 획득하기 위해 먼저 엔트로피 디코딩된다(230). 픽처 파티션 정보는 픽처가 파티셔닝되는 방법을 표시한다. 따라서 디코더는 디코딩된 픽처 파티셔닝 정보에 따라 픽처를 분할할 수 있다(235). 변환 계수들은 예측 잔차들을 디코딩하기 위해 탈양자화되고(240) 역변환된다(250). 디코딩된 예측 잔차들 및 예측된 블록을 조합하면(255), 이미지 블록이 재구성된다. 예측된 블록은 인트라 예측(260) 또는 모션 보상 예측(즉, 인터 예측)(275)으로부터 획득될 수 있다(270). 인 루프 필터들(265)은 재구성된 이미지에 대해 적용된다. 필터링된 이미지는 참조 픽처 버퍼(280)에 저장된다.
디코딩된 픽처는 포스트-디코딩 처리(285), 예를 들어, 역 컬러 변환(예를 들어, YCbCr 4:2:0부터 RGB 4:4:4로의 변환) 또는 프리-인코딩 처리(101)에서 수행되는 리매핑 프로세스의 역을 수행하는 역 리매핑을 추가로 거칠 수 있다. 포스트-디코딩 처리는 프리-인코딩 처리에서 도출되고 비트스트림에서 시그널링되는 메타데이터를 사용할 수 있다.
도 16은 다양한 양태들 및 실시예들이 구현되는 시스템의 예의 블록도를 예시한다. 시스템(1000)은 아래에서 설명되는 다양한 컴포넌트들을 포함하는 디바이스로서 실시될 수 있고 이 문서에서 설명되는 양태들 중 하나 이상을 수행하도록 구성된다. 그러한 디바이스들의 예들은 개인용 컴퓨터, 랩톱 컴퓨터, 스마트폰, 태블릿 컴퓨터, 디지털 멀티미디어 셋톱 박스, 디지털 텔레비전 수신기, 개인 비디오 기록 시스템, 접속된 가전 기기, 및 서버와 같은 다양한 전자 디바이스들을 포함하지만 이에 한정되지는 않는다. 시스템(1000)의 요소들은, 단독으로 또는 조합하여, 단일 집적 회로(IC), 다중 IC, 및/또는 이산 컴포넌트들로 구현될 수 있다. 예를 들어, 적어도 하나의 실시예에서, 시스템(1000)의 처리 및 인코더/디코더 요소들은 다중 IC 및/또는 이산 컴포넌트들에 걸쳐 분산된다. 다양한 실시예들에서, 시스템(1000)은, 예를 들어, 통신 버스를 통해 또는 전용 입력 및/또는 출력 포트들을 통해 하나 이상의 다른 시스템에, 또는 다른 전자 디바이스들에 통신가능하게 결합된다. 다양한 실시예들에서, 시스템(1000)은 본 문서에서 설명된 양태들 중 하나 이상을 구현하도록 구성된다.
시스템(1000)은, 예를 들어, 본 문서에 설명된 다양한 양태들을 구현하기 위해, 그 안에 로딩된 명령어들을 실행하도록 구성된 적어도 하나의 프로세서(1010)를 포함한다. 프로세서(1010)는 임베디드 메모리, 입력 출력 인터페이스, 및 본 기술분야에 공지된 다양한 다른 회로들을 포함할 수 있다. 시스템(1000)은 적어도 하나의 메모리(1020)(예를 들어, 휘발성 메모리 디바이스, 및/또는 비휘발성 메모리 디바이스)를 포함한다. 시스템(1000)은 EEPROM(Electrically Erasable Programmable Read-Only Memory), ROM(Read-Only Memory), PROM(Programmable Read-Only Memory), RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), 플래시, 자기 디스크 드라이브, 및/또는 광 디스크 드라이브를 포함하지만 이에 한정되지는 않는 비휘발성 메모리 및/또는 휘발성 메모리를 포함할 수 있는 저장 디바이스(1040)를 포함한다. 저장 디바이스(1040)는 비제한적 예들로서, 내부 저장 디바이스, 부착된 저장 디바이스(분리식(detachable) 및 비분리식 저장 디바이스들을 포함함), 및/또는 네트워크 액세스가능한 저장 디바이스를 포함할 수 있다.
시스템(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는 Moving Picture Experts Group를 지칭하고, MPEG-2는 ISO/IEC 13818로도 지칭되고, 13818-1은 H.222로도 알려져 있고, 13818-2는 H.262로도 알려져 있음), HEVC(HEVC는 H.265 및 MPEG-H 파트 2로도 알려져 있는 고효율 비디오 코딩을 지칭함), 또는 VVC(Versatile Video Coding, JVET, Joint Video Experts Team에 의해 개발되고 있는 새로운 표준)와 같은 비디오 코딩 및 디코딩 동작들을 위한 작업 메모리로서 사용된다.
시스템(1000)의 요소들에의 입력은 블록(1130)에 표시된 바와 같이 다양한 입력 디바이스들을 통해 제공될 수 있다. 이러한 입력 디바이스들은 (i) 예를 들어, 브로드캐스터에 의해 공중을 통해 송신된 RF 신호를 수신하는 무선 주파수(RF) 부분, (ii) 컴포넌트(COMP) 입력 단자(또는 COMP 입력 단자들의 세트), (iii) 범용 직렬 버스(USB) 입력 단자, 및/또는 (iv) 고선명 멀티미디어 인터페이스(HDMI) 입력 단자를 포함하지만, 이에 한정되지는 않는다. 도 16에 도시되지 않은 다른 예들은 합성 비디오를 포함한다.
다양한 실시예들에서, 블록(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)의 다양한 요소들이 통합된 하우징 내에서 제공될 수 있다. 통합된 하우징 내에서, 다양한 요소들이 인터커넥션될 수 있고, 적절한 접속 배열, 예를 들어, I2C(Inter-IC) 버스, 배선, 및 인쇄 회로 기판을 포함하여 관련 기술분야에 공지된 바와 같은 내부 버스를 사용하여 그 사이에서 데이터를 송신할 수 있다.
시스템(1000)은 통신 채널(1060)을 통해 다른 디바이스들과의 통신을 가능하게 하는 통신 인터페이스(1050)를 포함한다. 통신 인터페이스(1050)는 통신 채널(1060)을 통해 데이터를 송신하고 수신하도록 구성된 송수신기를 포함할 수 있지만, 이에 한정되는 것은 아니다. 통신 인터페이스(1050)는 모뎀 또는 네트워크 카드를 포함할 수 있지만, 이에 한정되지는 않으며, 통신 채널(1060)은 예를 들어, 유선 및/또는 무선 매체 내에 구현될 수 있다.
다양한 실시예들에서, Wi-Fi 네트워크, 예를 들어, IEEE 802.11(IEEE는 Institute of Electrical and Electronics Engineers를 지칭함)과 같은 무선 네트워크를 사용하여 데이터가 시스템(1000)에 스트리밍되거나 또는 다른 방식으로 제공된다. 이러한 실시예들의 Wi-Fi 신호는 Wi-Fi 통신들을 위해 적응되는 통신 인터페이스(1050) 및 통신 채널(1060)을 통해 수신된다. 이러한 실시예들의 통신 채널(1060)은 스트리밍 애플리케이션들 및 다른 OTT(over-the-top) 통신들을 허용하기 위한 인터넷을 포함하는 외부 네트워크들에 대한 액세스를 제공하는 액세스 포인트 또는 라우터에 통상적으로 접속된다. 다른 실시예들은 입력 블록(1130)의 HDMI 접속을 통해 데이터를 전달하는 셋톱 박스를 사용하여 스트리밍된 데이터를 시스템(1000)에 제공한다. 또 다른 실시예들은 입력 블록(1130)의 RF 접속을 사용하여 스트리밍된 데이터를 시스템(1000)에 제공한다. 위에 언급한 바와 같이, 다양한 실시예들은 비 스트리밍 방식으로 데이터를 제공한다. 추가적으로, 다양한 실시예들은 Wi-Fi 이외의 무선 네트워크들, 예를 들어, 셀룰러 네트워크 또는 블루투스 네트워크를 사용한다.
시스템(1000)은 디스플레이(1100), 스피커들(1110), 및 다른 주변 기기 디바이스들(1120)을 포함하는 다양한 출력 디바이스들에 출력 신호를 제공할 수 있다. 다양한 실시예들의 디스플레이(1100)는, 예를 들어, 터치스크린 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 곡면 디스플레이, 및/또는 폴더블 디스플레이 중 하나 이상을 포함한다. 디스플레이(1100)는 텔레비전, 태블릿, 랩톱, 셀 폰(mobile phone), 또는 다른 디바이스를 위한 것일 수 있다. 디스플레이(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)는 기술적 환경에 적절한 임의의 유형의 것일 수 있고, 비제한적 예들로서 마이크로프로세서들, 범용 컴퓨터들, 특수 목적 컴퓨터들, 및 멀티 코어 아키텍처에 기초한 프로세서들 중 하나 이상을 포함할 수 있다.
다양한 구현들은 디코딩을 수반한다. "디코딩"은, 이 출원에서 사용되는 바와 같이, 디스플레이를 위해 적절한 최종 출력을 산출하기 위해, 예를 들어, 수신된 인코딩된 시퀀스에 대해 수행되는 프로세스들의 전부 또는 일부를 포함할 수 있다. 다양한 실시예들에서, 그러한 프로세스들은 디코더에 의해 통상적으로 수행되는 프로세스들, 예를 들어, 엔트로피 디코딩, 역 양자화, 역 변환, 및 디퍼렌셜 디코딩 중 하나 이상을 포함한다. 다양한 실시예들에서, 그러한 프로세스들은 또한, 또는 대안적으로, 이 출원에서 설명된 다양한 구현들의 디코더에 의해 수행되는 프로세스들을 포함한다.
추가 예들로서, 일 실시예에서, "디코딩"은 엔트로피 디코딩만을 지칭하고, 또 다른 실시예에서, "디코딩"은 디퍼렌셜 디코딩만을 지칭하고, 또 다른 실시예에서, "디코딩"은 엔트로피 디코딩 및 디퍼렌셜 디코딩의 조합을 지칭한다. "디코딩 프로세스"라는 문구가 구체적으로 동작들의 서브세트를 지칭하도록 의도되는지 또는 일반적으로 더 넓은 디코딩 프로세스를 지칭하도록 의도되는지는 특정 설명들의 맥락에 기초하여 명백할 것이며, 본 기술분야의 통상의 기술자에 의해 잘 이해될 것으로 여겨진다.
다양한 구현들은 인코딩을 수반한다. "디코딩"에 관한 상기 논의와 유사한 방식으로, 이 출원에서 사용되는 "인코딩"은 예를 들어 인코딩된 비트스트림을 생성하기 위해 입력 비디오 시퀀스에 대해 수행되는 프로세스들의 전부 또는 일부를 포함할 수 있다. 다양한 실시예들에서, 그러한 프로세스들은 인코더에 의해 통상적으로 수행되는 프로세스들, 예를 들어, 파티셔닝, 디퍼렌셜 인코딩, 변환, 양자화, 및 엔트로피 인코딩 중 하나 이상을 포함한다. 다양한 실시예들에서, 그러한 프로세스들은 또한, 또는 대안적으로, 이 출원에서 설명된 다양한 구현들의 인코더에 의해 수행되는 프로세스들을 포함한다.
추가 예들로서, 일 실시예에서 "인코딩"은 엔트로피 인코딩만을 지칭하고, 또 다른 실시예에서 "인코딩"은 디퍼렌셜 인코딩만을 지칭하며, 또 다른 실시예에서 "인코딩"은 디퍼렌셜 인코딩 및 엔트로피 인코딩의 조합을 지칭한다. "인코딩 프로세스"라는 문구가 구체적으로 동작들의 서브세트를 지칭하도록 의도되는지 또는 일반적으로 더 넓은 인코딩 프로세스를 지칭하도록 의도되는지는 특정 설명들의 맥락에 기초하여 명백할 것이며, 본 기술분야의 통상의 기술자에 의해 잘 이해될 것으로 여겨진다.
본 명세서에서 사용되는 신택스 요소들은 설명적 용어들이라는 점에 유의한다. 이와 같이, 이들은 다른 신택스 요소 명칭들의 사용을 배제하지 않는다.
도면이 흐름도로서 제시될 때, 그것은 또한 대응하는 장치의 블록도를 제공한다는 것이 이해되어야 한다. 유사하게, 도면이 블록도로서 제시될 때, 그것은 또한 대응하는 방법/프로세스의 흐름도를 제공한다는 것이 이해되어야 한다.
다양한 실시예들은 파라메트릭 모델들 또는 레이트 왜곡 최적화를 참조할 수 있다. 특히, 인코딩 프로세스 동안, 계산 복잡도의 제약이 종종 주어지면, 레이트와 왜곡 사이의 균형 또는 절충이 보통은 고려된다. 그것은 RDO(Rate Distortion Optimization) 메트릭을 통해, 또는 LMS(Least Mean Square), MAE(Mean of Absolute Errors), 또는 다른 그러한 측정들을 통해 측정될 수 있다. 레이트 왜곡 최적화는 보통은 레이트 및 왜곡의 가중 합인 레이트 왜곡 함수를 최소화하는 것으로서 공식화된다. 레이트 왜곡 최적화 문제를 해결하기 위한 상이한 접근법들이 있다. 예를 들어, 이 접근법들은, 코딩 및 디코딩 이후에 재구성된 신호의 그 코딩 비용 및 관련 왜곡의 완전한 평가와 함께, 모든 고려된 모드들 또는 코딩 파라미터 값들을 포함하는, 모든 인코딩 옵션들의 광범위한 테스팅에 기초할 수 있다. 인코딩 복잡성을 피하기 위해, 특히 재구성된 것이 아니라 예측 또는 예측 잔차 신호에 기초한 근사화된 왜곡의 계산을 사용하여 더 빠른 접근법들이 또한 사용될 수 있다. 이들 2개의 접근법의 혼합은 또한, 예컨대, 가능한 인코딩 옵션들 중 일부에 대해서만 근사화된 왜곡, 및 다른 인코딩 옵션들에 대한 완전한 왜곡을 사용함으로써 사용될 수 있다. 다른 접근법들은 가능한 인코딩 옵션들의 서브세트만을 평가한다. 보다 일반적으로, 많은 접근법들은 최적화를 수행하기 위해 다양한 기법들 중 임의의 기법을 사용하지만, 최적화가 반드시 코딩 비용 및 관련 왜곡 둘 모두의 완전한 평가인 것은 아니다.
본 명세서에서 설명되는 구현들 및 양태들은, 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호로 구현될 수 있다. 단일 구현 형태의 맥락에서만 논의되더라도(예를 들어, 방법으로서만 논의되더라도), 논의되는 특징들의 구현은 다른 형태들(예를 들어, 장치 또는 프로그램)로 또한 구현될 수 있다. 장치는 예를 들어, 적절한 하드웨어, 소프트웨어, 및 펌웨어로 구현될 수 있다. 방법들은, 예를 들어, 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그래머블 논리 디바이스를 포함하여, 예를 들어 일반적으로 처리 디바이스들을 지칭하는 프로세서로 구현될 수 있다. 프로세서들은 또한 예를 들어, 컴퓨터들, 셀 폰들, 휴대용/개인 정보 단말기들(portable/personal digital assistants, PDA들), 및 최종 사용자들 사이의 정보의 통신을 용이하게 하는 다른 디바이스들과 같은 통신 디바이스들을 포함한다.
"일 실시예" 또는 "실시예" 또는 "일의 구현" 또는 "구현"뿐만 아니라 그의 다른 변형들에 대한 언급은, 실시예와 관련하여 설명된 특정한 특징, 구조, 특성 등이 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 본 출원 전반에 걸친 다양한 위치들에서 등장하는 구문 "일 실시예에서" 또는 "실시예에서" 또는 "일 구현에서" 또는 "구현에서"뿐만 아니라 임의의 다른 변형들의 등장은 반드시 모두 동일한 실시예를 참조하는 것은 아니다.
또한, 본 출원은 다양한 정보 피스들을 "결정"하는 것을 지칭할 수 있다. 정보를 결정하는 것은, 예를 들어, 정보를 추정하는 것, 정보를 계산하는 것, 정보를 예측하는 것, 또는 정보를 메모리로부터 검색하는 것 중 하나 이상을 포함할 수 있다.
또한, 이 출원은 다양한 정보 피스들에 "액세스"하는 것을 지칭할 수 있다. 정보에 액세스하는 것은, 예를 들어, 정보를 수신하는 것, (예를 들어, 메모리로부터) 정보를 검색하는 것, 정보를 저장하는 것, 정보를 이동시키는 것, 정보를 복사하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것 중 하나 이상을 포함할 수 있다.
또한, 이 출원은 다양한 정보 피스들을 "수신"하는 것을 지칭할 수 있다. 수신하는 것은, "액세스하는 것"에서와 같이 광의의 용어로 의도된다. 정보의 수신은 예를 들어, 정보의 액세스 또는 (예로서, 메모리로부터의) 정보의 검색 중 하나 이상을 포함할 수 있다. 또한, "수신"은 통상적으로 예를 들어, 정보의 저장, 정보의 처리, 정보의 송신, 정보의 이동, 정보의 복사, 정보의 소거, 정보의 계산, 정보의 결정, 정보의 예측 또는 정보의 추정과 같은 동작들 동안 하나의 방식 또는 다른 방식으로 수반된다.
예를 들어, "A/B", "A 및/또는 B(A and/or B)" 및 "A 및 B 중 적어도 하나(at least one of A and B)"의 경우들에서, 이하의 "/", "및/또는(and/or)", 및 "~ 중 적어도 하나(at least one of)" 중 임의의 것의 사용은, 처음 열거된 옵션 (A)만을 선택함, 또는 2번째로 열거된 옵션 (B)만을 선택함, 또는 옵션들 둘 모두(A 및 B)를 선택함을 포괄하려는 의도임을 알 것이다. 추가 예로서, "A, B 및/또는 C" 및 "A, B 및 C 중 적어도 하나"의 경우들에서, 이러한 어구는 첫번째로 열거된 옵션 (A)만의 선택, 또는 두번째로 열거된 옵션 (B)만의 선택, 또는 세번째로 열거된 옵션 (C)만의 선택, 또는 첫번째와 두번째로 열거된 옵션들 (A 및 B)만의 선택, 또는 첫번째와 세번째로 열거된 옵션들 (A 및 C)만의 선택, 또는 두번째와 세번째로 열거된 옵션들 (B 및 C)만의 선택, 또는 3개의 옵션 (A 및 B 및 C) 전부의 선택을 포괄하는 것으로 의도된다. 이것은 본 기술분야 및 관련 기술분야의 통상의 기술자에게 명백한 바와 같이 열거된 많은 항목들에 대해 확장될 수 있다.
또한, 본 명세서에 이용된 바와 같이, 단어 "신호"는 다른 것들 중에서도, 대응하는 디코더에게 무언가를 나타내는 것을 지칭한다. 예를 들어, 특정 실시예들에서, 인코더는 복수의 변환, 코딩 모드들 또는 플래그들 중 특정한 하나를 시그널링한다. 이러한 방식으로, 실시예에서, 동일한 변환, 파라미터, 또는 모드가 인코더 측 및 디코더 측 모두에서 사용된다. 따라서, 예를 들어, 인코더는 디코더가 동일한 특정 파라미터를 사용할 수 있도록 디코더에 특정 파라미터를 송신(명시적 시그널링)할 수 있다. 반대로, 디코더가 특정 파라미터뿐만 아니라 다른 것들을 이미 갖는 경우, 단순히 디코더가 특정 파라미터를 알고 선택하는 것을 허용하기 위해 송신 없이(암시적 시그널링) 시그널링이 사용될 수 있다. 임의의 실제 기능들의 송신을 피함으로써, 다양한 실시예들에서 비트 절감이 실현된다. 시그널링은 다양한 방식들로 달성될 수 있다는 것을 알아야 한다. 예를 들어, 다양한 실시예들에서, 하나 이상의 신택스 요소, 플래그 등이 정보를 대응하는 디코더에 시그널링하는데 이용된다. 전술한 것은 단어 "신호"의 동사 형태와 관련되지만, 단어 "신호"는 명사로서 또한 본 명세서에서 사용될 수 있다.
본 기술분야의 통상의 기술자에게 분명할 바와 같이, 구현들은, 예를 들어, 저장 또는 송신될 수 있는 정보를 운반하도록 포맷팅된 다양한 신호들을 산출할 수 있다. 정보는, 예를 들어, 방법을 수행하기 위한 명령어, 또는 설명된 구현들 중 하나에 의해 산출된 데이터를 포함할 수 있다. 예를 들어, 신호가 설명된 실시예의 비트스트림을 운반하기 위해 포맷팅될 수 있다. 이러한 신호는 예를 들어(예를 들어, 스펙트럼의 무선 주파수 부분을 사용하여) 전자기파로서 또는 기저대역 신호로서 포맷팅될 수 있다. 포맷팅은, 예를 들어, 데이터 스트림을 인코딩하는 것과 인코딩된 데이터 스트림으로 캐리어를 변조하는 것을 포함할 수 있다. 신호가 운반하는 정보는, 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 신호는 공지된 것으로서 다양한 상이한 유선 또는 무선 링크를 통해 송신될 수 있다. 그 신호는 프로세서 판독가능 매체 상에 저장될 수 있다.
다양한 청구항 카테고리들 및 유형들에 걸쳐 다수의 실시예를 설명한다. 이러한 실시예들의 특징들은 단독으로 또는 임의의 조합으로 제공될 수 있다. 게다가, 실시예들은 다양한 청구항 카테고리들 및 유형들에 걸쳐, 하기의 특징들, 디바이스들, 또는 양태들 중 하나 이상을, 단독으로 또는 임의의 조합으로 포함할 수 있다:
● 모드 파티셔닝을 갖는 인트라 인코딩 및 디코딩을 수행하는 프로세스 또는 디바이스.
● 다중의 참조 라인을 사용하여 모드 파티셔닝을 갖는 인트라 인코딩 및 디코딩을 수행하는 프로세스 또는 디바이스.
● MPM(Most Probable Mode) 리스트 및 어느 모드들이 사용되는지를 표시하는 가변 길이 코드들을 사용하여 모드 파티셔닝을 갖는 인트라 인코딩 및 디코딩을 수행하는 프로세스 또는 디바이스.
● 블록 경계들에 걸친 예측된 픽셀들의 모드 파티셔닝 및 필터링을 갖는 인트라 인코딩 및 디코딩을 수행하는 프로세스 또는 디바이스.
● 직사각형 블록들에 대한 모드 파티셔닝을 갖는 인트라 인코딩 및 디코딩을 수행하는 프로세스 또는 디바이스.
● 설명된 신택스 요소들, 또는 그의 변형들 중 하나 이상을 포함하는 비트스트림 또는 신호.
● 설명된 실시예들 중 임의의 것에 따라 생성된 정보를 전달하는 신택스를 포함하는 비트스트림 또는 신호.
● 설명된 실시예들 중 임의의 것에 따른 생성 및/또는 송신 및/또는 수신 및/또는 디코딩.
● 설명된 실시예들 중 임의의 것에 따른 방법, 프로세스, 장치, 명령어들을 저장하는 매체, 데이터 또는 신호를 저장하는 매체.
● 디코더가 인코더에 의해 사용되는 것에 대응하는 방식으로 코딩 모드를 결정할 수 있게 하는 신택스 요소들을 시그널링에 삽입한다.
● 설명된 신택스 요소들, 또는 그의 변형들 중 하나 이상을 포함하는 비트스트림 또는 신호를 생성 및/또는 송신 및/또는 수신 및/또는 디코딩하는 것.
● 설명된 실시예들 중 임의의 것에 따른 변환 방법(들)을 수행하는 TV, 셋톱 박스, 셀 폰, 태블릿, 또는 다른 전자 디바이스.
● 설명된 실시예들 중 임의의 것에 따른 변환 방법(들) 결정을 수행하고, 결과 이미지를 (예를 들어, 모니터, 스크린 또는 다른 유형의 디스플레이를 사용하여) 디스플레이하는 TV, 셋톱 박스, 셀 폰, 태블릿, 또는 다른 전자 디바이스.
● 인코딩된 이미지를 포함하는 신호를 수신하기 위한 채널을 선택, 대역 제한, 또는 (예를 들어, 튜너를 사용하여) 튜닝하고, 설명된 실시예들 중 임의의 것에 따른 변환 방법(들)을 수행하는 TV, 셋톱 박스, 셀 폰, 태블릿, 또는 다른 전자 디바이스.
● 인코딩된 이미지를 포함하는 신호를 OTA(over the air)로 (예컨대, 안테나를 사용하여) 수신하고 변환 방법(들)을 수행하는 TV, 셋톱 박스, 셀 폰, 태블릿, 또는 다른 전자 디바이스.

Claims (15)

  1. 비디오 데이터의 블록을 인코딩하기 위한 방법으로서:
    인트라 예측으로 비디오 데이터의 블록의 복수의 영역에서의 픽셀들을 예측하는 단계 - 각자의 영역들은 상이한 인트라 예측 모드들을 이용함 -; 및
    상기 예측들을 사용하여 상기 복수의 영역을 인코딩하는 단계를 포함하는 방법.
  2. 장치로서:
    프로세서를 포함하고, 상기 프로세서는:
    인트라 예측으로 비디오 데이터의 블록의 복수의 영역에서의 픽셀들을 예측하는 것 - 각자의 영역들은 상이한 인트라 예측 모드들을 이용함 -; 및
    상기 예측들을 사용하여 상기 복수의 영역을 인코딩하는 것을 수행하도록 구성되는 장치.
  3. 비디오 데이터의 블록을 디코딩하기 위한 방법으로서,
    인트라 예측으로 비디오 데이터의 블록의 복수의 영역에서의 픽셀들을 예측하는 단계 - 각자의 영역들은 상이한 인트라 예측 모드들을 이용함 -; 및
    상기 예측들을 사용하여 상기 복수의 영역을 디코딩하는 단계를 포함하는 방법.
  4. 장치로서:
    프로세서를 포함하고, 상기 프로세서는:
    인트라 예측으로 비디오 데이터의 블록의 복수의 영역에서의 픽셀들을 예측하는 것 - 각자의 영역들은 상이한 인트라 예측 모드들을 이용함 -; 및
    상기 예측들을 사용하여 상기 복수의 영역을 디코딩하는 것을 수행하도록 구성되는 장치.
  5. 제1항 또는 제3항의 방법, 또는 제2항 또는 제4항의 장치에 있어서, 한 영역의 인트라 예측 모드는 상기 블록의 상이한 영역들의 예측 모드들을 이용하여 결정되는 방법 또는 장치.
  6. 제1항 또는 제3항의 방법, 또는 제2항 또는 제4항의 장치에 있어서, 시그널링은 상기 블록을 포함하는 영역들의 수를 표시하는 방법 또는 장치.
  7. 제1항 또는 제3항의 방법, 또는 제2항 또는 제4항의 장치에 있어서, 예측을 형성하기 위한 참조 어레이들은 상기 블록 위의 적어도 하나의 픽셀들의 라인에서의 픽셀들로부터 또는 상기 블록의 좌측의 적어도 하나의 픽셀들의 열로부터 유래하는 방법 또는 장치.
  8. 제1항 또는 제3항의 방법, 또는 제2항 또는 제4항의 장치에 있어서, 상기 복수의 영역은 중첩하지 않는 방법 또는 장치.
  9. 제1항 또는 제3항의 방법, 또는 제2항 또는 제4항의 장치에 있어서, 상기 블록은 복수의 서브 파티션으로 파티셔닝되는 방법 또는 장치.
  10. 제9항에 있어서,
    서브 파티션들은 상이한 인트라 예측 모드를 가질 수 있는 방법 또는 장치.
  11. 제1항 또는 제3항의 방법, 또는 제2항 또는 제4항의 장치에 있어서, 상기 블록을 포함하는 영역들의 수는 어느 라인들 또는 블록들이 예측을 형성하기 위한 참조 어레이를 포함하는지를 나타내는 신택스를 이용하여 시그널링되는 방법 또는 장치.
  12. 디바이스로서:
    제4항 내지 제11항 중 어느 한 항에 따른 장치; 및
    (i) 비디오 블록을 포함하는 신호를 수신하도록 구성된 안테나, (ii) 상기 수신된 신호를 상기 비디오 블록을 포함하는 주파수들의 대역에 제한하도록 구성된 대역 제한기, 및 (iii) 상기 비디오 블록을 나타내는 출력을 디스플레이하도록 구성된 디스플레이 중 적어도 하나를 포함하는 디바이스.
  13. 프로세서를 사용한 재생을 위해, 제1항 및 제5항 내지 제11항 중 어느 한 항의 방법에 따라 또는 제2항 및 제5항 내지 제11항 중 어느 한 항의 장치에 의해 생성되는 데이터 콘텐츠를 포함하는 비일시적 컴퓨터 판독가능 매체.
  14. 프로세서를 사용한 재생을 위해, 제1항 및 제5항 내지 제11항 중 어느 한 항의 방법에 따라, 또는 제2항 및 제5항 내지 제11항 중 어느 한 항의 장치에 의해 생성되는 비디오 데이터를 포함하는 신호.
  15. 프로그램이 컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금 제1항, 제3항 및 제5항 내지 제11항 중 어느 한 항의 방법을 수행하게 야기하는 명령어들을 포함하는 컴퓨터 프로그램 제품.
KR1020217028918A 2019-03-11 2020-03-10 인트라 예측 모드 파티셔닝 KR20210132079A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP19305287.5A EP3709643A1 (en) 2019-03-11 2019-03-11 Intra prediction mode partitioning
EP19305287.5 2019-03-11
PCT/US2020/021788 WO2020185723A1 (en) 2019-03-11 2020-03-10 Intra prediction mode partitioning

Publications (1)

Publication Number Publication Date
KR20210132079A true KR20210132079A (ko) 2021-11-03

Family

ID=65818484

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217028918A KR20210132079A (ko) 2019-03-11 2020-03-10 인트라 예측 모드 파티셔닝

Country Status (5)

Country Link
US (1) US20220150485A1 (ko)
EP (2) EP3709643A1 (ko)
KR (1) KR20210132079A (ko)
CN (1) CN113545047A (ko)
WO (1) WO2020185723A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11368698B2 (en) 2019-04-16 2022-06-21 Tencent America LLC Method and apparatus for video coding using planar intra prediction mode for intra sub-partition coding mode

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014171713A1 (ko) * 2013-04-15 2014-10-23 인텔렉추얼 디스커버리 주식회사 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
US10382795B2 (en) * 2014-12-10 2019-08-13 Mediatek Singapore Pte. Ltd. Method of video coding using binary tree block partitioning
US10880548B2 (en) * 2016-06-01 2020-12-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding video according to coding order
WO2018097626A1 (ko) * 2016-11-25 2018-05-31 주식회사 케이티 비디오 신호 처리 방법 및 장치
CN112335249A (zh) * 2018-06-25 2021-02-05 金起佰 用于编码/解码图像的方法和装置
JP2022024208A (ja) * 2018-12-07 2022-02-09 シャープ株式会社 動画像復号装置および動画像符号化装置
EP3903484A4 (en) * 2018-12-30 2022-11-02 HFI Innovation Inc. SEPARATE LUMINANCE-CHROMINANCE CODING TREE CODING METHOD AND APPARATUS WITH CONSTRAINTS
EP3912358A4 (en) * 2019-02-07 2022-03-30 Huawei Technologies Co., Ltd. METHOD AND DEVICE FOR SIGNALING INTRAPREDICTION MODE
CN113826390B (zh) * 2019-05-16 2024-03-08 字节跳动有限公司 屏幕内容编解码的帧内块复制
US11190777B2 (en) * 2019-06-30 2021-11-30 Tencent America LLC Method and apparatus for video coding

Also Published As

Publication number Publication date
CN113545047A (zh) 2021-10-22
EP3709643A1 (en) 2020-09-16
US20220150485A1 (en) 2022-05-12
WO2020185723A1 (en) 2020-09-17
EP3939267A1 (en) 2022-01-19

Similar Documents

Publication Publication Date Title
US20220078405A1 (en) Simplifications of coding modes based on neighboring samples dependent parametric models
EP3706421A1 (en) Method and apparatus for video encoding and decoding based on affine motion compensation
EP3627835A1 (en) Wide angle intra prediction and position dependent intra prediction combination
KR20210066823A (ko) 광각 인트라 예측을 위한 방향들
US20210297668A1 (en) Wide angle intra prediction and position dependent intra prediction combination
KR20210058846A (ko) 인트라 변환 코딩 및 광각 인트라 예측의 조화
EP3641311A1 (en) Encoding and decoding methods and apparatus
CN112335240A (zh) 使用可变权重的多参考帧内预测
US20220150485A1 (en) Intra prediction mode partitioning
US20230023837A1 (en) Subblock merge candidates in triangle merge mode
WO2022214361A1 (en) Geometric partitions with switchable interpolation filter
KR20220035108A (ko) 행렬 기반 인트라 예측을 이용한 비디오 인코딩 및 디코딩을 위한 방법 및 장치
EP4005210A1 (en) Method and apparatus for video encoding and decoding with matrix based intra-prediction
US11985306B2 (en) Method and apparatus for video encoding and decoding with matrix based intra-prediction
RU2815092C2 (ru) Широкоугольное внутрикадровое предсказание с подразделами
US11539951B2 (en) Method and device for picture encoding and decoding
US20220264147A1 (en) Hmvc for affine and sbtmvp motion vector prediction modes
US20230336721A1 (en) Combining abt with vvc sub-block-based coding tools
US20220303541A1 (en) Method and device for picture encoding and decoding using position dependent intra prediction combination
EP3664450A1 (en) Method and device for picture encoding and decoding
CA3232995A1 (en) Improving the angle discretization in decoder side intra mode derivation
EP3861746A1 (en) Block size based motion vector coding in affine mode