KR20220024643A - 위치 의존적 인트라 예측 조합을 이용한 픽처 인코딩 및 디코딩을 위한 방법 및 디바이스 - Google Patents

위치 의존적 인트라 예측 조합을 이용한 픽처 인코딩 및 디코딩을 위한 방법 및 디바이스 Download PDF

Info

Publication number
KR20220024643A
KR20220024643A KR1020227001620A KR20227001620A KR20220024643A KR 20220024643 A KR20220024643 A KR 20220024643A KR 1020227001620 A KR1020227001620 A KR 1020227001620A KR 20227001620 A KR20227001620 A KR 20227001620A KR 20220024643 A KR20220024643 A KR 20220024643A
Authority
KR
South Korea
Prior art keywords
value
sample
block
mode
intra prediction
Prior art date
Application number
KR1020227001620A
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 KR20220024643A publication Critical patent/KR20220024643A/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/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/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/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/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/117Filters, e.g. for pre-processing or post-processing
    • 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/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

비디오 코딩 시스템이 좌측 또는 상단 참조 샘플의 값과 샘플에 대한 획득된 예측된 값 사이의 가중에 기초하여 예측된 샘플이 수정되는 위치 의존적 인트라 예측 조합을 사용한 후처리 스테이지를 포함하고, 여기서 좌측 또는 상단 참조 샘플은 인트라 예측 각도에 기초하여 결정된다. 이는 동일한 압축 성능을 유지하면서 더 나은 컴퓨팅 효율을 제공한다. 이러한 후처리 스테이지에 기초한 인코딩 방법, 디코딩 방법, 인코딩 장치 및 디코딩 장치가 제안된다.

Description

위치 의존적 인트라 예측 조합을 이용한 픽처 인코딩 및 디코딩을 위한 방법 및 디바이스
본 실시예들 중 적어도 하나는 일반적으로 비디오 코딩 시스템에 관한 것으로, 특히 위치 의존적 인트라 예측 조합을 위한 후처리 스테이지에 관한 것이다.
높은 압축 효율을 달성하기 위해, 이미지 및 비디오 코딩 방식들은 보통은 비디오 콘텐츠에서의 공간적 및 시간적 중복성을 활용하기 위한 예측 및 변환을 채택한다. 일반적으로, 인트라 또는 인터 프레임 상관을 활용하기 위해 인트라 또는 인터 예측이 사용되고, 예측 에러들 또는 예측 잔차들로 종종 표시되는 원래의 이미지 블록과 예측된 이미지 블록 사이의 차이들이 변환, 양자화, 및 엔트로피 코딩된다. 인코딩 동안, 원래의 이미지 블록은 보통 가능하게는 예를 들어 쿼드-트리 파티셔닝(quad-tree partitioning)을 사용하여 서브-블록들로 파티셔닝/스플릿된다. 비디오를 재구성하기 위해, 압축된 데이터는 예측, 변환, 양자화 및 엔트로피 코딩에 대응하는 역 프로세스들에 의해 디코딩된다.
비디오 코딩 시스템은 좌측 또는 상단 참조 샘플의 값과 샘플에 대한 획득된 예측된 값 사이의 가중에 기초하여 예측된 샘플이 수정되는 위치 의존적 인트라 예측 조합을 위한 후처리 스테이지를 포함하고, 여기서 좌측 또는 상단 참조 샘플은 인트라 예측 각도에 기초하여 결정된다. 이는 동일한 압축 성능을 유지하면서 더 나은 컴퓨팅 효율을 제공한다. 이러한 후처리 스테이지에 기초한 인코딩 방법, 디코딩 방법, 인코딩 장치 및 디코딩 장치가 제안된다.
적어도 하나의 실시예의 제1 양태에 따르면, 이미지의 블록의 샘플의 값을 결정하기 위한 방법 - 값은 인트라 예측 각도를 나타내는 값에 따라 인트라 예측됨 - 이 샘플에 대한 예측된 값을 획득하는 단계, 및 인트라 예측 각도가 기준과 매칭될 때, 좌측 또는 상단 참조 샘플의 값과 샘플에 대한 획득된 예측된 값 사이의 가중에 기초하여 샘플의 값을 결정하는 단계를 포함하고, 여기서 좌측 또는 상단 참조 샘플은 인트라 예측 각도에 기초하여 결정된다.
적어도 하나의 실시예의 제2 양태에 따르면, 비디오 인코딩 방법이 비디오의 블록의 각각의 샘플에 대해, 샘플에 대한 인트라 예측을 수행하는 단계, 제1 양태에 따라 샘플의 값을 수정하는 단계, 및 블록을 인코딩하는 단계를 포함한다.
적어도 하나의 실시예의 제3 양태에 따르면, 비디오 디코딩 방법이 비디오의 블록의 각각의 샘플에 대해, 샘플에 대한 인트라 예측을 수행하고 제1 양태에 따라 샘플의 값을 수정하는 단계를 포함한다.
적어도 하나의 실시예의 제4 양태에 따르면, 비디오 인코딩 장치가 비디오의 블록의 각각의 샘플에 대해, 샘플에 대한 인트라 예측을 수행하고, 제1 양태에 따라 샘플의 값을 수정하고, 블록을 인코딩하도록 구성된 인코더를 포함한다.
적어도 하나의 실시예의 제5 양태에 따르면, 비디오 디코딩 장치가 비디오의 블록의 각각의 샘플에 대해, 샘플에 대한 인트라 예측을 수행하고, 제1 양태에 따라 샘플의 값을 수정하도록 구성된 디코더를 포함한다.
본 실시예들 중 하나 이상이 또한 전술한 방법들 중 임의의 것의 적어도 일부에 따라 비디오 데이터를 인코딩 또는 디코딩하기 위한 명령어들이 저장된 비일시적 컴퓨터 판독가능 저장 매체를 제공한다. 하나 이상의 실시예는 또한 전술한 방법들 중 임의의 것의 적어도 일부를 수행하기 위한 명령어들을 포함하는 컴퓨터 프로그램 제품을 제공한다.
도 1a는 실시예에 따른 비디오 인코더의 블록도를 도시한다.
도 1b는 실시예에 따른 비디오 디코더의 블록도를 도시한다.
도 2는 다양한 양태들 및 실시예들이 구현되는 시스템의 예의 블록도를 도시한다.
도 3a 및 도 3b는 각도 인트라 예측에 관련된 표기법을 도시한다.
도 4는 하단-좌측 모드(모드 66)에 대한 위치 의존적 인트라 예측 조합(Position Dependent intra Prediction Combination)을 도시한다.
도 5a 및 도 5b는 제각기 모드 66 및 모드 2에 인접한 각도 모드들을 도시한다.
도 6은 방향의 투영과 참조 픽셀들 사이에 미스매치가 존재하는 PDPC에 대한 각도 모드의 예를 도시한다.
도 7은 VTM 5.0의 예시적인 구현에 따른 대각선(모드 2 및 66) 및 인접 대각선 모드들에 대한 PDPC 프로세스의 예시적인 흐름도를 도시한다.
도 8은 좌측 참조 샘플들에 대한 타깃 픽셀들이 이용가능하지 않은 수직 대각선 모드 66에 대한 PDPC의 예를 도시한다.
도 9는 수정된 PDPC 프로세스의 제1 실시예에 따른 예시적인 흐름도를 도시한다.
도 10은 수정된 PDPC 프로세스의 제2 실시예에 따른 예시적인 흐름도를 도시한다.
도 11은 제1 실시예의 구현의 결과를 도시한다.
도 12는 제2 실시예의 구현의 결과를 도시한다.
도 13은 본 개시내용에서 설명된 다양한 실시예에 따른 예시적인 흐름도를 도시한다.
다양한 실시예는 이미지의 블록의 샘플의 예측된 값에 대한 후처리 방법에 관한 것이고, 값은 인트라 예측 각도에 따라 예측되고, 여기서 샘플의 값은 예측 후에 수정되어 좌측 참조 샘플의 값과 샘플에 대한 획득된 예측된 값 사이의 차이의 가중에 기초하여 결정되도록 하고, 좌측 참조 샘플은 인트라 예측 각도에 기초하여 결정된다. 이러한 후처리 방법에 기초한 인코딩 방법, 디코딩 방법, 인코딩 장치, 디코딩 장치가 제안된다.
또한, 본 양태들은 VVC(Versatile Video Coding)의 특정한 초안들에 또는 HEVC(High Efficiency Video Coding) 사양들에 관련된 원리들을 설명하지만, VVC 또는 HEVC로만 제한되지 않고, 예를 들어, 기존의 것이든 장래에 개발되든지 간에 다른 표준들 및 권고안들, 및 임의의 이러한 표준들 및 권고안들(VVC 및 HEVC를 포함함)의 확장들에 적용될 수 있다. 달리 표시되지 않거나 또는 기술적으로 배제되지 않는 한, 본 출원에서 설명되는 양태들은 개별적으로 또는 조합하여 사용될 수 있다.
도 1a는 비디오 인코더(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(Sample Adaptive Offset), ALF(Adaptive Loop-Filter) 필터링을 수행하기 위해 재구성된 픽처에 적용된다. 필터링된 이미지는 참조 픽처 버퍼(180)에 저장된다.
도 1b는 비디오 디코더(200)의 블록도를 도시한다. 디코더(200)에서, 비트스트림은 아래에서 설명되는 바와 같이 디코더 요소들에 의해 디코딩된다. 비디오 디코더(200)는 일반적으로 도 18에 기술된 바와 같이 인코딩 패스(encoding pass)에 역인 디코딩 패스를 수행한다. 또한, 인코더(100)는 일반적으로 비디오 데이터를 인코딩하는 것의 일부로서 비디오 디코딩을 수행한다. 특히, 디코더의 입력은 비디오 인코더(100)에 의해 생성될 수 있는 비디오 비트스트림을 포함한다. 비트스트림은, 변환 계수들, 모션 벡터들, 및 다른 코딩된 정보를 획득하기 위해 먼저 엔트로피 디코딩된다(230). 픽처 파티션 정보는 픽처가 어떻게 파티셔닝되는지를 나타낸다. 따라서 디코더는 디코딩된 픽처 파티셔닝 정보에 따라 픽처를 분할할 수 있다(235). 예측 잔차들을 디코딩하기 위해, 변환 계수들이 탈양자화되고(240) 역변환된다(250). 디코딩된 예측 잔차들 및 예측된 블록을 조합하면(255), 이미지 블록이 재구성된다. 예측된 블록은 인트라 예측(260) 또는 모션 보상된 예측(즉, 인터 예측)(275)으로부터 획득될 수 있다(270). 인-루프 필터들(265)이 재구성된 이미지에 적용된다. 필터링된 이미지는 참조 픽처 버퍼(280)에 저장된다.
디코딩된 픽처는 포스트-디코딩 처리(285), 예를 들어, 역 컬러 변환(예를 들어, YCbCr 4:2:0으로부터 RGB 4:4:4로의 변환) 또는 프리-인코딩 처리(101)에서 수행되는 리매핑 프로세스의 역을 수행하는 역 리매핑을 추가로 거칠 수 있다. 포스트-디코딩 처리는 프리-인코딩 처리에서 도출되고 비트스트림에서 시그널링되는 메타데이터를 이용할 수 있다.
도 2는 다양한 양태들 및 실시예들이 구현되는 시스템의 예의 블록도를 도시한다. 시스템(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) 입력 단자를 포함하지만, 이에 한정되지는 않는다. 도 18에 도시되지 않은 다른 예들은 합성 비디오를 포함한다.
다양한 실시예들에서, 블록(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) 버스, 배선, 및 인쇄 회로 기판을 포함하여 관련 기술분야에 공지된 바와 같은 적절한 접속 배열(1140)을 이용하여 그 사이에서 데이터를 송신할 수 있다.
시스템(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)은 스트리밍 애플리케이션들 및 다른 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)는 기술적인 환경에 적합한 임의의 유형의 것일 수 있고, 비제한적 예들로서 마이크로프로세서들, 범용 컴퓨터들, 특수 목적 컴퓨터들 및 멀티-코어 아키텍처에 기초한 프로세서들 중 하나 이상을 포함할 수 있다.
VVC(Versatile Video Coding)에서, 인트라 예측은 올-인트라 프레임들(All-Intra Frames)뿐만 아니라 인터 프레임들 내의 인트라 블록들에서 적용되며, 여기서 CU(coding unit)이라고 불리는 타깃 블록은 동일한 프레임 내의 인과적 이웃 블록들, 즉, 상단 및 상단-우측 상의 블록들, 좌측 및 좌측-하단 상의 블록들, 및 상단-좌측 블록으로부터 공간적으로 예측된다. 이러한 블록들 내의 디코딩된 픽셀 값들에 기초하여, 인코더는 타깃 블록에 대한 상이한 예측들을 구성하고 최상의 RD(rate-distortion) 성능을 이끌어내는 것을 선택한다. 하나의 PLANAR 모드(모드 0으로서 인덱싱됨), 하나의 DC 모드(모드 1로서 인덱싱됨) 및 65개의 각도 모드를 포함하는 67개의 예측 모드에 대해 예측들이 테스트된다. 각도 모드들은 모드 2로부터 모드 66까지의 정규 각도 예측 모드들만을 포함하거나, 또는 직사각형 블록들에 대해 45도로부터 -135까지의 정규 각도 범위를 넘어서 정의되는 광각 모드들을 또한 포함할 수 있다.
예측 모드에 좌우되어, 예측된 샘플들은 PDPC(Position Dependent intra Prediction Combination)와 같은 후처리 스테이지를 추가로 거칠 수 있다. PDPC는 타깃 블록에 대한 예측을 개선하기 위해 특정 예측 모드들에 대한 블록 경계에서의 불연속성을 평활화하는 것을 목표로 한다. DC 및 PLANAR 예측 모드들뿐만 아니라, 엄격하게 수직(모드 50), 엄격하게 수평(모드 18), 대각선 모드들 2 및 VDIA_IDX(모드 66), 및 모든 다른 양의 각도 모드들(광각 모드들을 포함함)과 같은 몇몇 각도 예측 모드들이 인접한 참조 어레이 상의 참조 샘플들과 훨씬 상이한, 타깃 블록의 일측에서의 예측 값들을 낳을 수 있다. 어떠한 종류의 후-필터링도 없으면, 후속 잔차 신호는 특히 더 높은 QP 값들에서 블로킹 아티팩트들을 발생시킬 것이다. PDPC의 목적은 타깃 블록 경계에서의 세기 변화가 다소 점진적이도록 적절한 방식으로 타깃 블록 경계에서의 예측을 평활화함으로써 이러한 블로킹 아티팩트들을 방지하는 것이다. 그러나, PDPC는 이것을 상당한 복잡도로 달성한다. 예측된 샘플들은, 곱셈들 및 클리핑을 수반하는 가중 평균으로서 상단 및 좌측 참조 어레이들로부터의 참조 샘플들과 조합된다.
인트라 예측될 주어진 타깃 블록에 대해, 인코더, 또는 디코더는 먼저 2개의 참조 어레이(하나는 상단에 있고 다른 하나는 좌측에 있음)를 구성한다. 참조 샘플들은 상단, 상단 우측, 좌측, 좌측 하단 및 상단 좌측 디코딩된 블록들에서의 디코딩된 샘플들로부터 취해진다. 대응하는 CU들이 동일한 슬라이스에 있지 않거나, 현재 CU가 프레임 경계에 있는 것 등으로 인해, 상단 또는 좌측 상의 샘플들 중 일부가 이용가능하지 않은 경우, 참조 샘플 치환이라 불리는 방법이 수행되고, 여기서 누락된 샘플들은 이용가능한 샘플들로부터 시계 방향으로 복사된다. 그 후, 현재 CU 크기 및 예측 모드에 좌우되어, 참조 샘플들은 특정된 필터를 사용하여 필터링된다.
일반성을 위해, 폭 W 픽셀들 및 높이 H 픽셀들을 갖는 직사각형 타깃 블록을 가정할 것이다. 상단 및 좌측 상의 참조 어레이들을 제각기 refMain 및 refSide로서 나타낼 것이다. 어레이 refMain은 2*W+1개의 픽셀을 가지며, 이들은 refMain[0] 내지 refMain[2W]로서 인덱싱되며, 여기서 refMain[0]은 상단-좌측 참조 픽셀에 대응한다. 유사하게, 어레이 refSide는 2*H+1개의 픽셀을 가지며, 이들은 refSide[0] 내지 refSide[2H]로서 인덱싱되며, 여기서 refSide[0]은 다시 상단-좌측 참조 픽셀에 대응한다. 각각의 변이 N개의 픽셀을 갖는 정사각형 블록의 특별한 경우에 대해, 참조 어레이들 둘 다는 2N+1개의 픽셀을 가질 것이다. 수평 예측 모드들(즉, 대각선 모드 DIA_IDX 또는 모드 34보다 작은 인덱스들을 갖는 모드들)은 상단 및 좌측 참조 어레이들(또한, 타깃 블록의 높이 및 폭)을 스와핑함으로써 구현될 수 있다. 이는 엄격하게 수직(수평) 방향에 관한 수직(수평) 모드들의 대칭으로 인해 가능하다. 이 문서 전체에 걸쳐, 수평 예측 모드들에 대해, refMain 및 refSide는 그들이 스와핑된 후에 상단 및 좌측 참조 어레이들을 표시한다고 가정할 것이다. 더욱이, PDPC는 (PLANAR 및 DC 모드들의 비-각도 경우들, 및 엄격하게 수직 및 엄격하게 수평 모드들을 제외하고) 일부 양의 수직 및 양의 수평 방향들에만 적용되기 때문에, 본 논의를 본 개시내용에서 양의 예측 방향들로만 제한할 것이다.
임의의 타깃 픽셀에 대해, refMain 상의 참조 샘플은 그 예측자로서 지칭될 것이다. 주어진 각도 예측 모드에 대해, refMain 상의 예측자 샘플들은 타깃 PU 내부의 대응하는 방향을 따라 복사된다. 일부 예측자 샘플들은 정수 위치들을 가질 수 있고, 이 경우에 이들은 대응하는 참조 샘플들과 매칭된다; 다른 예측자들의 위치는 그들 위치들이 2개의 참조 샘플 사이에 속할 것임을 나타내는 소수부(fractional part)들을 가질 것이다. 후자의 경우에, 예측자 샘플들은 LUMA 성분에 대해 4-탭 큐빅 또는 4-탭 가우시안 필터를 사용하여 보간되고, CHROMA 성분에 대해 선형적으로 보간된다.
모드 2는 45도 각도에서 좌하로부터 우상으로의 예측 방향에 대응하는 반면, 모드 66(모드 VDIA_IDX라고도 불림)은 반대 방향에 대응한다. 이 모드들 둘 다에 대해, 현재 블록 내의 모든 타깃 픽셀들은 refMain 상의 정수 위치들에서 그들의 예측자들을 갖는다. 즉, 각각의 예측하는 샘플은 45도 각도로 인해 고유 참조 샘플과 항상 일치한다. 각각의 타깃 픽셀에 대해, PDPC는 예측 방향을 따라 각각의 참조 어레이 상에 하나씩 2개의 참조 픽셀을 찾고, 그 후 그들의 값들을 예측 값과 조합한다.
도 3a 및 도 3b는 각도 인트라 예측에 관련된 표기법을 도시한다. 도 3a는 모드 번호매기기를 도시하는 한편, 도 3b는 대응하는 intraPredAngle 값들을 도시한다.
도 4는 하단-좌측 모드(모드 66)에 대한 위치 의존적 인트라 예측 조합(Position Dependent intra Prediction Combination)을 도시한다. 상단 참조 샘플 및 좌측 참조 샘플들은 대각선으로 반대 방향들 상에 위치된다. 좌측 참조 샘플들이 이용가능하지 않은 타깃 픽셀들은 PDPC에 의해 취급되지 않는다. 그것은 모드 66에 대한 2개의 참조 픽셀을 도시한다. 상단 및 좌측 참조가 타깃 블록의 높이 및 폭과 함께 스와핑된 것으로 가정하면, 모드 2에 대해 동일한 도면이 획득될 수 있다.
모드 66에 대해 먼저, 타깃 픽셀 P가 좌표 (x,y)를 갖는 것으로 가정하며, 여기서 0≤x<W 및 0≤y<H이다. PDPC는 예측 방향을 확장함으로써 refMain 및 refSide 상의 참조 픽셀들을 찾는다. Ptop 및 Pleft가 타깃 픽셀 P에 대응하는 상단 및 좌측 참조 픽셀들의 값들을 표기한다고 하자. 그러면:
Figure pct00001
여기서 c=1+x+y. Ppred(x,y)가 예측된 값을 표기하는 경우, 픽셀 P에서의 최종 예측된 값은 다음과 같이 획득된다.
Figure pct00002
여기서 가중치들 wT 및 wL은 다음과 같이 계산된다:
Figure pct00003
스케일은 다음과 같이 사전 계산된다
Figure pct00004
타깃 픽셀에 대해, refSide 상의 제2 참조 샘플이 그 길이를 넘어 위치되는 경우, 그 픽셀은 이용가능하지 않은 것으로 간주된다. 이 경우, 타깃 픽셀은 상기 수정을 겪지 않고, 픽셀의 제1 예측된 값은 변경되지 않은 채로 유지된다. 도 3은 PDPC를 겪지 않는 타깃 블록의 하단-우측의 회색 픽셀들을 도시한다.
모드 2에 대해, PDPC 프로세스는, 일단 상단 및 좌측 참조 어레이들이 타깃 블록의 높이 및 폭과 함께 스와핑되었다면 모드 66에 대한 것과 정확히 동일하다.
도 5a는 모드 66에 인접한 각도 모드들을 도시하고, 도 5b는 모드 2에 인접한 각도 모드들을 도시한다. 실제로, 모드들 2 및 66에 인접한 각도 모드들은 또한 PDPC로부터 이익을 얻을 수 있다. 상세하게는, PDPC에 대해 모드 2 및 모드 66 각각에 인접한 8개의 정규 모드가 고려된다. 게다가, PDPC에 대해 모든 광각 모드들이 또한 고려된다. 따라서, 도 4에 도시된 바와 같이, W=2*H인 예시적인 납작한 직사각형 블록에 대해, 모드들 58 내지 65뿐만 아니라 광각 모드들 67 내지 72는 PDPC를 겪는다. 유사하게, 도 5에 도시된 H=2*W인 예시적인 키 큰 직사각형 블록에 대해, 모드들 3 내지 10뿐만 아니라 광각 모드들 -1 내지 -6이 PDPC를 겪는다. 타깃 블록에 대해, 적용가능한 광각 모드들의 수는 그의 종횡비, 즉 폭 대 높이의 비의 함수이다. 일부 구현들에서, 타깃 블록의 형상에 관계없이, 모든 그것의 유효한 광각 모드들이 PDPC에 대해 고려될 수 있다. 이는 요구되는 참조 픽셀들이 이용가능하기 때문에 극단 각도 모드들 72 및 -6이 제각기 유효한 도 4 및 도 5에 도시된 상황에서의 경우이다. W=2H 또는 H=2W인 직사각형 블록에 대해, 광각 모드들의 수는 6이다.
도 6은 방향의 투영과 참조 픽셀들 사이에 미스매치가 존재하는 PDPC에 대한 각도 모드의 예를 도시한다. 실제로, 모드 68의 이 예에서, 가장 가까운 참조 픽셀이 선택되어야 하도록, 좌측 참조 픽셀은 정수 샘플 위치와 일치하지 않는다. 더 정확하게는, 교차점의 가장 가까운 이웃이 좌측 참조 픽셀로서 선택된다.
VVC에서, 참조 픽셀의 인덱스는 다음과 같이 계산된다:
Figure pct00005
가 타깃 픽셀 위치로부터의 제1 참조 샘플의 수평 변위를 나타낸다고 하자:
Figure pct00006
여기서 A는 예측 모드 인덱스에 의존하는 각도 파라미터 intraPredAngle이고, 이것은 아래의 표 1에 나타낸 바와 같이 VVC에 의해 특정된다. 양의 예측 방향들은 양의 A 값들을 갖고, 음의 예측 방향들은 음의 A 값들을 갖는다.
Figure pct00007
는 소수부를 가질 수 있다.
표 1은 수직 방향들에 대한 VVC에서의 예시적인 모드 인덱스의 각도 파라미터 A에의 매핑을 나타낸다. 수평 방향들에 대한 매핑은 수직 및 수평 인덱스들을 스와핑함으로써 추론될 수 있다.
Figure pct00008
좌측 참조 픽셀을 도출하기 위해, 유사한 프로세스가 적용된다. invAngle이 PDPC에 대해 고려되는 예측 모드에 대응하는 역 각도 파라미터를 나타낸다고 하자. invAngle 값들은 모드 파라미터에 의존하고 intraPredAngle로부터 추론될 수 있다. 표 2는 수직 방향에 대한 VVC에서의 예시적인 모드 인덱스의 역 각도 파라미터에의 예시적인 매핑을 나타낸다. 수평 방향들에 대한 매핑은 수직 및 수평 인덱스들을 스와핑함으로써 추론될 수 있다.
Figure pct00009
Figure pct00010
가 좌표 (x,y)에서의 타깃 픽셀 P에 대응하는 좌측 참조 픽셀의 값을 나타낸다고 하자.
Figure pct00011
는 다음과 같이 획득된다:
Figure pct00012
상기에서, deltaPos는 (1/64)의 해상도에서 참조 픽셀 refSide[1+y]로부터의
Figure pct00013
의 거리를 나타낸다. deltaInt는 1의 해상도에서 deltaPos의 정수 부분이고, deltaFrac는 해상도(1/64)에서 나머지 소수부를 나타낸다(등가적으로, deltaPos=(deltaInt << 6)+ deltaFrac). deltaFrac가 32보다 작을 때,
Figure pct00014
는 더 작은 정수 이웃 refSide[deltay]이고; deltaFrac가 32보다 크거나 같을 때,
Figure pct00015
는 더 큰 정수 이웃 refSide[deltay+1]이다.
Figure pct00016
Figure pct00017
가 초기 예측된 값을 나타내는 경우, 픽셀 P에서의 최종 예측된 값은 다음과 같이 획득된다:
Figure pct00018
여기서 가중치 wL은
Figure pct00019
로서 계산되고 스케일은
Figure pct00020
로서 미리 계산된다.
타깃 픽셀에 대해, refSide 상의 좌측 참조 샘플이 그 길이를 넘어 위치하면, 그 픽셀은 이용가능하지 않은 것으로 간주된다. 이 경우, 타깃 픽셀은 상기 수정을 겪지 않고, 픽셀의 제1 예측된 값은 변경되지 않은 채로 유지된다. 다시 말해서, 이 경우에는 어떤 PDPC 후처리도 적용되지 않는다.
PDPC를 겪는 모드 2 주위의 수평 예측 모드들의 경우, 일단 상단 및 좌측 참조 어레이들이 타깃 블록의 높이 및 폭과 함께 스와핑되었다면 프로세스는 유사하다.
여기서 wL이 x의 음이 아닌 감소 함수라는 것에 유의해야 한다.
Figure pct00021
에 대해 wL=0이면,
Figure pct00022
에 대해 wL=0이다. 수학식 2로부터, wL=0이면, 좌측 참조 픽셀은 가중된 합에 영향을 미치지 않는다는 것을 관찰하였다. 이 경우, 고려된 타깃 픽셀에 대한 어떤 PDPC 동작도 필요하지 않다. wL의 상기 속성 때문에, 블록의 동일한 행 상의 나머지 타깃 픽셀들에 대해 PDPC를 적용할 필요가 또한 없다. 따라서, 현재 PDPC 도구는 wL이 0이 되자마자 행에서 PDPC 동작을 종료한다.
Figure pct00023
도 7은 VTM 5.0의 예시적인 구현에 따른 대각선(모드 2 및 66) 및 인접 대각선 모드들에 대한 PDPC 프로세스의 예시적인 흐름도를 도시한다. 흐름도는 PLANAR, DC, 엄격하게 수직, 및 엄격하게 수평 인트라 예측 모드들에 대한 PDPC를 포함하지 않는다. 모드가 수평일 때(즉, 모드 인덱스<34이지만, 0 또는 1과 동일하지 않을 때) VTM 5.0은 참조 어레이들 refMain과 refSide를 스와핑하므로, 모드 인덱스가 2 또는 그의 인접한 모드들 중 임의의 것과 동일할 때, refMain은 좌측 상의 참조 어레이를 나타내고 refSide는 현재 CU의 상단 상의 참조 어레이를 나타낸다. 따라서, 이러한 경우들에서, 파라미터들 wL, wT,
Figure pct00024
등은 실제로 파라미터들 wT, wL,
Figure pct00025
등에 제각기 대응한다. 프로세스는 다중의 테스트(단계들(710, 730)) 및 계산들 각각에서 요구되는 다중의 곱셈(단계들(743 및 753))을 포함한다. 이 프로세스에서, 먼저, intraPredAngle가 12 이하일 때, 단계(710)의 분기 "아니오"에서, 인트라 예측이 종료되고 어떤 PDPC 후처리도 적용되지 않는다. intraPredAngle가 32와 동일할 때, 단계(730)의 분기 "예"에서, wT 및 wL이 단계(741)에서 계산되고, Ptop 및 Pleft가 단계(742)에서 획득되고 그 후 PDPC 후처리가 단계(743)에서 적용된다. 프로세스는 단계(744)에서 모든 행들이 처리될 때까지 다음 픽셀에 대해 반복된다. intraPredAngle가 32와 동일하지 않을 때, 단계(730)의 분기 "아니오"에서, wL이 단계(751)에서 계산되고, Pleft가 단계(752)에서 획득되고 그 후 PDPC 후처리가 단계(753)에서 적용된다. 프로세스는 단계(754)에서 모든 행들이 처리될 때까지 다음 픽셀에 대해 반복된다.
이후에 설명되는 실시예들은 전술한 내용을 염두에 두고 설계되었다.
도 1a의 인코더(100), 도 1b의 디코더(200) 및 도 2의 시스템(1000)이 이하에서 설명되는 실시예들 중 적어도 하나를 구현하도록 적응된다.
적어도 하나의 실시예에서, 비디오 코딩 또는 디코딩은 동일한 압축 성능을 유지하면서 더 나은 컴퓨팅 효율을 제공하기 위해 계산이 단순화되는 위치 의존적 인트라 예측 조합에 대한 후처리 스테이지를 포함한다.
제1 단순화
도 3을 참조하면, 임의의 타깃 픽셀에 대한 예측된 값이 그 픽셀에 대한 상단 참조 픽셀과 동일하다. 즉,
Figure pct00026
Figure pct00027
과 동일하다. 수학식 1에서
Figure pct00028
의 값을 치환하면, 다음이 얻어진다:
Figure pct00029
항 wT*Ppred(x,y)의 소거 시에, 상기 표현식은 다음과 같이 단순화된다:
[수학식 3]
Figure pct00030
여기서 wL=16 >> min(31,((x << 1) >> scale));
이 표현은 가중치들 wL의 값을 제외하고는 수학식 2와 동일하다. 알 수 있는 바와 같이, wT도, 또는 항
Figure pct00031
도, 결과적으로 항
Figure pct00032
도 계산할 필요가 없다. 이러한 단순화 때문에, 모드 2 및 모드 66에 대한 PDPC의 경우를 다른 각도 모드들에 대한 PDPC의 경우와 병합하는 것이 가능하다. 이 경우:
Figure pct00033
Figure pct00034
predMode가 각도 파라미터 intraPredAngle이 32와 동일한 경우에만 2 또는 66과 동일하기 때문에, wL에 대한 상기 표현은 다음과 같이 고쳐 말해질 수 있다:
Figure pct00035
또한, 모드 2 또는 66에 대한 좌측 참조 샘플의 위치는 2개의 경우가 병합되더라도 변하지 않는다는 점에 유의한다. 모드 2 및 66에 대한 invAngle의 값은,
Figure pct00036
이므로 256과 동일할 수 있다. 이 값을 사용하여 다음을 얻는다
Figure pct00037
알 수 있는 바와 같이, 이것은 이전과 같이 모드 2 및 66의 경우에 계산된 것과 동일한 값이다. 따라서, 상기 병합은 종래의 구현과 동일한 결과를 가져오지만, 보다 적은 연산이 수행될 것을 필요로 하고 따라서 계산 요구사항에 관해 보다 효율적인 수학식에 기초한다.
사실상, 항 deltaFrac는 실제로 어떠한 목적도 서빙하지 않는다. 초기 PDPC 제안에서, deltaFrac는 좌측 참조 샘플의 위치가 deltaFrac의 값에 기초하여 선형으로 보간되었기 때문에 포함되었다. 추가 제안에서, 선형 보간은 가장 가까운 이웃으로 대체되었다. 그러나, 이를 위해, deltaFrac 항의 계산은 다음 실시예에서 보여지는 바와 같이 상당히 중복적이다.
제2 단순화
위에서 계산된 바와 같은 deltay 항은 좌측 참조 샘플이 점유할 수 있는 것 사이의 인접 정수 쌍의 더 작은 값을 초래한다. deltaFrac의 값은 제각기 deltaFrac<32인지 또는 deltaFrac>=32인지에 좌우되어 refSide[deltay] 또는 refSide[deltay+1]로의 좌측 참조 픽셀의 매핑을 결정한다. 이 프로세스는 좌측 참조 픽셀의 가용성에 대한 체크에 대한 반향(repercussion)을 갖는다. 앞서 언급된 바와 같이, PDPC는 좌측 참조 픽셀이 좌측 참조 어레이의 길이를 넘어 위치하는 그러한 타깃 픽셀들에 적용되지 않는다. 이 경우, 좌측 참조 픽셀이 이용가능하지 않고, 초기 예측된 값이 수정되지 않는 것으로 간주된다.
도 8은 좌측 참조 샘플들에 대한 타깃 픽셀들이 이용가능하지 않은 수직 대각선 모드 66에 대한 PDPC의 예를 도시한다.
좌측 참조 어레이 refSide의 길이가 2H + 1이고 첫 번째 샘플이 인덱스 0(refSide[0])에 있고, 마지막 샘플이 인덱스 2H(refSide[2H])에 있다는 것을 상기하면, PDPC에 의해, deltay가 deltay > (2*H - 1)인지가 체크되어 좌측 샘플이 이용가능하지 않은지를 결정한다. 이 공식화는 (deltaFrac가 널(null)이 아닌 경우) 좌측 픽셀이 보간될 수 있게 한다. 보간하기 위해, refSide[deltay] 및 refSide[deltay+1] 쌍이 필요하다. 여기서, 보간 대신에 가장 가까운 이웃이 사용되기 때문에, 그 후 도구는 deltaFrac의 값에 좌우되어 쌍의 하나의 픽셀에 대해 결정한다. 그러나, 모드 2 및 모드 66에 대한 PDPC의 경우에, 좌측 참조 샘플이 정수 위치 (refSide[c+1]=refSide[2+x+y])에 위치하기 때문에, 도구는 좌측 참조 샘플이 이용 가능하지 않은지를 결정하기 위해 c >= 2*H에 대해 체크한다. 이는 일부 모호성을 도입한다.
앞서 살펴본 바와 같이, 좌측 참조 샘플의 도출은 거리 deltaPos를 계산하는 것을 수반한다: deltaPos=((1+x)invAngle + 2) >> 2;
우측의 항은 아무것도 아니고 재귀적 합이다. 따라서, deltaPos는 x에 의한 곱셈을 제거하기 위해 다음과 같이 계산될 수 있다:
Figure pct00038
적어도 하나의 실시예에서, 다음과 같이 프로세스를 수정하는 것을 제안한다.
Figure pct00039
위의 단순화에서, 이하의 3개 단계를 하나로 병합했다는 점에 유의한다:
Figure pct00040
2 대신에 128로 invAngleSum을 초기화하였고, 그에 따라 비트 시프팅 연산(invAngleSum >> 8)이 반올림 때문에 가장 가까운 정수를 야기한다. 이는 파라미터 deltaFrac를 계산하는 것을 회피한다. 그 결과, 좌측 참조 픽셀이 이용가능하지 않은지를 알기 위해 deltay > 2 * H인지를 체크하기만 하면 된다. 이는 PDPC가 모드 2 또는 모드 66에 대해 적용될 때의 체크와 동일하다.
이 단순화의 부차적인 효과는 refSide에서의 마지막 참조 픽셀, 즉 refSide[2H]의 더 나은 사용이다. 참조 샘플의 실제 위치가 2H와 2H+1 사이에 있고, refSide[2H]에 더 가까운 경우, 상기 프로세스는 위치를 2H에 매핑할 것이고, 픽셀 refSide[2H]를
Figure pct00041
로서 사용할 것이다. 종래의 PDPC 구현에서, 이 경우는 단순히 deltay > 2H로서 스킵될 수 있고, 결과적으로 현재 픽셀의 초기 예측된 값은 변경되지 않은 채로 유지될 것이다. 이 특별한 경우를 제외하고, 제안된 단순화는 VTM 5.0과 동일한 타깃 픽셀들에 대한 예측된 값들을 야기할 것이다.
Figure pct00042
따라서, 수학식 3은 가중된 합이 클리핑(clipping)을 요구하지 않는다는 관찰로 인해 단순화될 수 있다:
Figure pct00043
이 수학식은 다음과 같이 더 단순화될 수 있다.
Figure pct00044
이러한 단순화는 2의 거듭제곱일 필요가 없는, (64-wL)에 의한 곱셈을 회피한다. 알 수 있는 바와 같이, wL은 음이 아닌 값들만을 갖는다. wL > 0인 경우, 이것은 또한 2의 거듭제곱이다. 따라서, 상기 수학식에서의 유일한 곱셈은 수학식 4에 예시된 바와 같이 비트 시프트로 수행될 수 있다.
적어도 하나의 실시예에서, 비디오 코딩 또는 디코딩은 예측 계산이 다음의 수학식 4를 사용하는 PDPC를 사용하는 후처리 스테이지를 포함한다:
[수학식 4]
Figure pct00045
본 기술분야의 통상의 기술자는 상기 단순화 제안이 반복 루프를 갖는 VTM 5.0 코드 및 곱셈을 피하기 위한 루프 외부의 invAngleSum의 초기화에 대응한다는 것을 알 것이다. 동일한 것이 동등하게 다음과 같이 작성될 수 있다:
Figure pct00046
refSide 참조 어레이가 상단 좌측 픽셀에서, 즉, 재구성된 샘플들의 좌표 (-1,-1)에서 그 0번째 좌표를 갖는다는 점에 유의한다. 이것이 다른 경우에 좌표 (-1, 0)에서 초기화되는 경우, 상기 수학식들은 다음과 같이 수정될 것이다:
Figure pct00047
따라서, 상기 좌표 조정에 의해, 수직 모드 66 및 모드 66의 인접 모드들에 대한 제안된 PDPC 단순화는 다음과 같다:
Figure pct00048
유사하게, 수평 예측 모드 2 및 모드 2에 인접한 모드들에 대해, 제안된 PDPC 수정은 다음과 같다:
Figure pct00049
여기서, refMain은 타깃 블록의 상단의 참조 어레이를 나타내고,
Figure pct00050
은 예측 방향의 확장과의 교차에 의해 획득된 그 상의 참조 픽셀을 나타낸다.
Figure pct00051
도 9는 VTM 5.0에 기초한 예시적인 구현에 따른, 수정된 PDPC 프로세스의 제1 실시예에 따른 예시적인 흐름도를 도시한다. 이 수정된 프로세스에서, 비디오 코딩 또는 디코딩은, 제1 단순화로서 예시되고 위에서 설명된 바와 같이, 2개의 상이한 예측 계산이 병합되고 픽처의 블록의 적어도 하나의 픽셀이 그것의 예측 값 및 각도 방향에 따라 가중화된 인접 블록에서의 참조 값에 따라 재구성되는 각도 모드에서 PDPC를 사용하는 후처리 스테이지를 포함한다. 도 7의 우측 분기에서와 같이, refSide는 예측 모드가 수평일 때 현재 CU의 상단의 참조 어레이를 나타낸다. 따라서, 모드 인덱스가 2 또는 그 인접 모드들 중 임의의 것과 동일할 때, 파라미터들 wL, wLMax,
Figure pct00052
등은 실제로 파라미터들 wT, wTMax,
Figure pct00053
등에 제각기 대응한다.
이 실시예에서, 후처리는, 각도 파라미터 intraPredAngle이 12보다 클 때(따라서 표 1 및 도 3a 및 도 3b에 도시된 바와 같이, 58 이상 또는 10 이하의 모드 인덱스에 대응함), 단계(910)의 분기 "예"에서, 픽셀에 대해, 단계(951)에서 가중 값 wL을 계산하고, 단계(952)에서 예측 방향을 좌측 참조 어레이로 확장함으로써 좌측 참조 픽셀을 획득하고, 단계(953)에서 수학식 3에 따라 예측된 픽셀에 대해 후처리된 값을 계산하는 것을 포함한다:
Figure pct00054
다시 말해서, 예측된 픽셀은 각도 예측 모드의 각도에 기초하여 블록의 좌측에서의 열로부터 선택된 참조 픽셀과 그 예측된 값 사이의 가중치에 기초하여 수정된다.
단계(201)에서 행해진 테스트는 intraPredAngle 값 대신에 모드 인덱스 값에 대해 행해질 수 있지만, 이 경우에 예측 각도가 값들의 범위 내에 있는지를 체크하기 위해 2개 이상의 비교가 필요할 것이고, 여기서 범위는 수직 모드들의 세트 또는 수평 모드들의 세트에 대응할 수 있다는 것을 유의한다. 이 실시예에서, intraPredAngle이 10 및 58의 모드 인덱스들에 대응하는, 12의 고정된 값에 관하여 테스트되기는 하지만, 비교의 다른 값들이 사용될 수 있고 이 제1 실시예의 원리와 양립가능할 수 있다. 예를 들어, 또 다른 실시예에서, intraPredAngle은 18 및 50의 모드 인덱스들에 대응하는 0의 고정 값에 관하여 테스트된다. 또 다른 실시예에서, intraPredAngle는 10과 18 사이 및 50과 58 사이의 모드 인덱스들에 대응하는 0 내지 12의 범위 내의 고정 값에 관하여 테스트된다.
도 10은 VTM 5.0에 기초한 예시적인 구현에 따른, 수정된 PDPC 프로세스의 제2 실시예에 따른 예시적인 흐름도를 도시한다. 이 제2 실시예에서, 비디오 코딩 또는 디코딩은, 도 9에 예시되고 제2 단순화로서 앞서 설명된 바와 같이, 2개의 상이한 예측 계산이 병합되고 픽처의 블록의 적어도 하나의 픽셀이 그 예측 값 및 각도 방향에 따라 가중된 인접 블록에서의 참조 값에 따라 재구성되는 각도 모드에서 PDPC를 사용하는 후처리 스테이지를 포함한다. 도 9에서와 같이, refSide는 예측 모드가 수평일 때 현재 CU의 상단의 참조 어레이를 나타낸다. 따라서, 모드 인덱스가 2 또는 그 인접 모드들 중 임의의 것과 동일할 때, 파라미터들 wL, wLMax,
Figure pct00055
등은 실제로 파라미터들 wT, wTMax,
Figure pct00056
등에 제각기 대응한다.
이 실시예에서, 후처리는, 각도 파라미터 intraPredAngle가 미리 결정된 값(예를 들어, 12)보다 클 때, 픽셀에 대해, 단계(1003)에서 가중 값 wL을 계산하고, 단계(1004)에서 예측 방향을 좌측 참조 어레이로 확장함으로써 좌측 참조 픽셀을 획득하고, 단계(1005)에서 수학식 4에 따라 예측된 픽셀에 대한 후처리된 값을 계산하는 것을 포함한다:
Figure pct00057
다시 말해서, 예측된 픽셀은 각도 예측 모드의 각도에 기초하여 픽셀을 포함하는 블록의 좌측에서의 열로부터 선택된 참조 픽셀과 그 예측된 값 사이의 가중에 기초하여 수정된다.
종래의 PDPC는 다중의 체크 및 몇몇 곱셈을 사용하는 반면, 제2 실시예는 컴퓨팅 요구사항들의 관점에서 곱셈 연산보다 훨씬 더 효율적인 단일 체크 및 시프트, 덧셈 및 뺄셈 연산들만을 사용한다.
이 실시예에서, intraPredAngle이 12의 고정 값에 관하여 테스트되기는 하지만, 다른 비교 값들이 사용될 수 있고 이 제1 실시예의 원리와 양립될 수 있다.
제3 실시예
제3 실시예는 제1 또는 제2 실시예에 기초하며, 여기서 (x,y)에 있는 타깃 픽셀에 대한 좌측 참조 샘플은 항상 refSide[c+1]이고, intraPredAngle의 값에 관계없이 c=1+x+y이다.
제4 실시예
제4 실시예는 전술한 실시예들 중 하나에 기초하고, 여기서 좌측 참조 샘플의 위치가 refSide의 길이를 넘어서 있고, 행 상의 현재 타깃 픽셀에서 PDPC를 종료하는 대신에 마지막 참조 샘플 refSide[2H]를 이용한다.
제5 실시예
제5 실시예는 전술한 실시예들 중 하나에 기초하며, 여기서 모든 양의 수직 및 수평 방향들은 PLANAR(모드 0), DC(모드 1), 엄격히 수직(모드 50) 및 엄격히 수평(모드 18)의 4개의 고정 모드 외에 PDPC에 자격이 있는 모드들이다.
제6 실시예
제6 실시예는 전술한 실시예들 중 하나에 기초하는데, 여기서 가중치들 wL을 도출하기 위한 임의의 다른 음이 아닌 감소 함수가 사용된다. 예로서, 가중치들은 예측 방향에 기초하여 다음과 같이 도출될 수 있다:
Figure pct00058
제7 실시예
제7 실시예는 전술한 실시예들 중 하나에 기초하는데, 여기서 자격있는 모드들에 대한 PDPC를 갖거나 갖지 않는 RD 성능이 체크된다. PDPC의 사용은 CU 레벨에서 1-비트 PDPC 플래그로서 디코더에 시그널링된다. 플래그는 컨텍스트 인코딩될 수 있는데, 여기서 컨텍스트는 고정된 값일 수 있거나, 또는 이웃, 예측 방향 등으로부터 추론될 수 있다.
제8 실시예
제8 실시예는 전술한 실시예들 중 하나에 기초하는데, 여기서 PDPC가 슬라이스 내의 모든 CU에 대해 수행되고 이러한 PDPC의 적용은 슬라이스 헤더 내의 1 비트 플래그를 이용하여 디코더에 시그널링된다.
제9 실시예
제9 실시예는 전술한 실시예들 중 하나에 기초하는데, 여기서, PDPC는 슬라이스 내의 모든 CU에 대해 수행되고, 이러한 PDPC의 적용은 PPS(Picture Parameter Set) 헤더 내의 1 비트 플래그를 이용하여 디코더에 시그널링된다.
제10 실시예
제10 실시예는 전술한 실시예들 중 하나에 기초하는데, 여기서 PDPC가 시퀀스의 임의의 프레임에서 수행되고 이러한 PDPC의 적용은 SPS(Sequence Parameter Set) 헤더 내의 1 비트 플래그를 사용하여 디코더에 시그널링된다.
결과
실험들은 모든 요구된 테스트 조건들을 갖는 올-인트라(All-INTRA)(AI) 구성에서 VTM 5.0 코덱으로 수행되었다.
도 11은 제1 실시예의 구현의 결과를 도시하고, 도 12는 제2 실시예의 구현의 결과를 도시한다. 이들 도면은 VTM 5.0 앵커의 것과 비교하여 제안된 단순화들의 BD-레이트 성능들을 도시한다. 이러한 표들에서, 라인들은 원래의 비디오 콘텐츠의 샘플에 대응하는 인코딩될 또는 디코딩될 콘텐츠의 상이한 클래스들을 나타낸다. 제1 열은 이러한 클래스들을 열거한다. Y, U, V로 제각기 명명된 열 2, 3, 및 4는 VTM 5.0 코덱과 원래 비디오의 Y, U, V 성분들 각자에 대한 제안된 실시예 사이의 크기 면에서의 차이를 도시한다. 따라서, 이러한 열들은 VTM 5.0에 비해 압축 효율의 차이를 나타낸다. EncT 및 DecT로 제각기 명명된 열 5 및 6은 VTM 5.0 인코딩 및 디코딩 시간들에 관한 각자의 인코딩 및 디코딩 시간의 차이를 나타낸다. 인코딩 및 디코딩에 필요한 시간을 비교하는 것은 VTM 5.0 구현과 비교하여 제안된 실시예의 압축 효율을 나타낸다. 도 11은 인코딩 및 디코딩 시간에 관한 전반적인 개선들을 나타낸다. 도 12는 인코딩 및 디코딩 시간은 물론이고 인코딩 크기에 관한 전반적인 개선을 나타낸다.
도 13은 본 개시내용에서 설명된 다양한 실시예에 따른 예시적인 흐름도를 도시한다. 이 흐름도는 PDPC 후처리가 일어날 수 있고 샘플들의 블록의 샘플들에 대해 반복할 때 활성화된다. 먼저, 단계(1301)에서, 예측 각도를 나타내는 정보가 테스트되고, 그것이 기준과 매칭되는지가 결정된다. 이 각도는 인트라 예측을 수행하고 따라서 현재 샘플을 생성하기 위해 사용된 각도에 대응한다. 이 테스트는 각도 값에 기초하여, 인트라 예측 모드에 대해, intraPredAngle 파라미터들의 값 또는 예측 각도를 나타내는 임의의 값에 대해 행해질 수 있다. 각도가 정확하지 않을 때, 분기(1302)에서, 어떠한 PDPC 후처리도 수행되지 않을 것이고 예측된 샘플은 수정되지 않을 것이다.
적어도 하나의 실시예에서, 각도는 intraPredAngle 파라미터가 12 이상일 때 정확한 것으로 간주된다. 변형 실시예에서, 각도는 인트라 예측 모드가 -6 내지 10 또는 58 내지 72의 범위에 있을 때 정확한 것으로 간주된다. 본 기술분야의 통상의 기술자는 이러한 2개의 상이한 매칭 기준이 각도 인트라 예측의 동일한 각도 범위에 대응한다는 것을 알 것이다.
각도가 정확한 것으로 간주될 때, 가중은 단계(1303)에서 계산된다. 이러한 가중은 정정의 양을 따라서 결과적 샘플의 값을 샘플의 예측된 값과 참조 샘플 사이에서 균형화하는 것을 허용할 것이다.
단계(1305)에서, 참조 샘플이 획득된다. 적어도 하나의 실시예에서, 참조 샘플은, 각도 인트라 예측 방향을 블록의 좌측에서의 열로 확장하고 좌측 참조 어레이로부터 블록의 좌측에서의 열과 각도 인트라 예측 방향 사이의 교차에 가장 가까운 샘플을 선택함으로써, 블록의 좌측에서의 열의 샘플들의 값들을 포함하는 좌측 참조 어레이로부터 획득된다. 이 어레이에 대한 인덱스는 명칭 deltay 하에서 앞서 언급한 바와 같이 간단한 방식으로 계산될 수 있다.
단계(1307)에서, 샘플 값이 획득되고 계산된 파라미터들에 따라 결정된다. 전술한 수학식 3 및 4는 샘플 값을 계산하기 위한 상이한 공식들을 제공한다. 이러한 수학식들, 특히 수학식 4는 적어도 종래의 기법들보다 더 적은 계산을 요구하는 이점을 갖는다. 이에 대한 하나의 이유는, 샘플에 대한 예측 값을 결정하기 위해 상단 참조 어레이로부터의 참조 샘플이 이미 고려되었기 때문에, 어떤 상단 참조 어레이로부터의 참조 샘플도 고려되지 않는다는 것이다. 적어도 또 다른 이유는 소수부가 더 이상 고려되지 않고, 따라서 추가적인 계산 단순화를 허용한다는 것이다. 또 다른 이유는 하나의 추가적인 각도 테스트가 무시되기 때문이다. 단계(1307)에 따른 샘플 값의 결정은 또한 이전에 예측된 샘플의 정정, 수정, 또는 후처리로서 이해될 수 있다.
단계(1301)의 동작들은 각각의 블록에 대해 한번 실행될 수 있다. 그러나, 도 13의 단계들(1303) 내지 (1307)의 동작들은 블록의 각각의 샘플에 대해 실행될 필요가 있는데, 그 이유는 수반된 파라미터들이 샘플의 위치 및/또는 값에 의존하기 때문이다. 일단 블록의 모든 샘플이 처리되었다면, 블록은 처리될 수 있는데, 예를 들어, 인코딩될 수 있다.
이 출원은 도구, 특징, 실시예, 모델, 접근법 등을 포함하는 다양한 양태를 설명한다. 이러한 양태들 중 다수는 특정성으로 설명되고, 적어도 개별적인 특성들을 보여주기 위해, 종종 제한하는 것처럼 들리는 방식으로 설명된다. 그러나, 이것은 설명에서의 명료성을 위한 것이며, 그러한 양태들의 적용 또는 범위를 제한하지는 않는다. 실제로, 상이한 양태들 모두가 추가 양태들을 제공하기 위해 조합되고 교환될 수 있다. 더욱이, 양태들은 또한 더 이른 출원들에서 설명된 양태들과 조합되고 교환될 수 있다.
본 출원에서 설명되고 고려되는 양태들은 많은 상이한 형태들로 구현될 수 있다. 도 1a, 도 1b 및 도 2는 일부 실시예들을 제공하지만, 다른 실시예들이 고려되며, 이러한 도면들의 논의는 구현들의 범위를 제한하지 않는다. 양태들 중 적어도 하나는 일반적으로 비디오 인코딩 및 디코딩에 관한 것이고, 적어도 하나의 다른 양태는 일반적으로 생성되거나 인코딩된 비트스트림을 송신하는 것에 관한 것이다. 이들 및 다른 양태들은 방법, 장치, 설명된 방법들 중 임의의 방법에 따라 비디오 데이터를 인코딩 또는 디코딩하기 위한 명령어들이 저장되어 있는 컴퓨터 판독가능 저장 매체, 및/또는 설명된 방법들 중 임의의 방법에 따라 생성되는 비트스트림이 저장되어 있는 컴퓨터 판독가능 저장 매체로서 구현될 수 있다.
다양한 방법들이 본 명세서에서 설명되었고, 방법들 각각은 설명된 방법을 달성하기 위한 하나 이상의 단계 또는 액션을 포함한다. 방법의 적절한 동작을 위해 단계들 또는 액션들의 특정 순서가 요구되지 않으면, 특정 단계들 및/또는 액션들의 순서 및/또는 사용은 수정되거나 조합될 수 있다.
본 출원에서 설명되는 다양한 방법들 및 다른 양태들은 도 1a 및 도 1b에 도시된 바와 같이 비디오 인코더(100) 및 디코더(200)의 모듈들, 예를 들어, 모션 보상 및 모션 추정 모듈들(170, 175, 275)을 수정하기 위해 사용될 수 있다. 더욱이, 본 양태들은 VVC 또는 HEVC에 제한되지 않고, 예를 들어, 기존의 것이든지 또는 향후 개발되든지 간에, 다른 표준들 및 권고안들, 그리고 임의의 이러한 표준들 및 권고안들(VVC 및 HEVC를 포함함)의 확장들에 대해 적용될 수 있다. 달리 표시되지 않거나 또는 기술적으로 배제되지 않는 한, 본 출원에서 설명되는 양태들은 개별적으로 또는 조합하여 사용될 수 있다.
다양한 수치 값들이 본 출원에서 사용된다. 특정 값들은 예시적인 목적을 위한 것이고, 설명된 양태들은 이러한 특정 값들로만 제한되지는 않는다.
다양한 구현들은 디코딩을 수반한다. 본 출원에서 사용되는 "디코딩"은 디스플레이를 위해 적합한 최종 출력을 생성하기 위해, 예를 들어, 수신된 인코딩된 시퀀스에 대해 수행되는 프로세스들의 전부 또는 일부를 포함할 수 있다. 다양한 실시예에서, 이러한 프로세스들은 디코더에 의해 통상적으로 수행되는 프로세스들 중 하나 이상을 포함한다. 다양한 실시예에서, 그러한 프로세스들은 또한 또는 대안적으로, 본 출원에서 설명된 다양한 구현들의 디코더에 의해 수행되는 프로세스들을 포함한다.
추가 예들로서, 일 실시예에서, "디코딩"은 엔트로피 디코딩만을 지칭하고, 또 다른 실시예에서, "디코딩"은 디퍼렌셜 디코딩만을 지칭하고, 또 다른 실시예에서, "디코딩"은 엔트로피 디코딩 및 디퍼렌셜 디코딩의 조합을 지칭한다. "디코딩 프로세스"라는 문구가 구체적으로 동작들의 서브세트를 지칭하거나 일반적으로 더 넓은 디코딩 프로세스를 지칭하도록 의도되는지는 특정 설명들의 맥락에 기초하여 명백할 것이며, 본 기술분야의 통상의 기술자에 의해 잘 이해될 것으로 생각된다.
다양한 구현들은 인코딩을 수반한다. "디코딩"에 관한 상기 논의와 유사한 방식으로, 본 출원에서 사용되는 바와 같은 "인코딩"은 인코딩된 비트스트림을 생성하기 위해, 예를 들어, 입력 비디오 시퀀스에 대해 수행되는 프로세스들의 전부 또는 일부를 포함할 수 있다. 다양한 실시예에서, 이러한 프로세스들은 인코더에 의해 통상적으로 수행되는 프로세스들 중 하나 이상을 포함한다. 다양한 실시예에서, 그러한 프로세스들은 또한 또는 대안적으로, 본 출원에서 설명된 다양한 구현들의 인코더에 의해 수행되는 프로세스들을 포함한다.
추가 예로서, 일 실시예에서 "인코딩"은 엔트로피 인코딩만을 지칭하고, 또 다른 실시예에서 "인코딩"은 디퍼렌셜 인코딩만을 말하며, 또 다른 실시예에서 "인코딩"은 디퍼렌셜 인코딩 및 엔트로피 인코딩의 조합을 지칭한다. "인코딩 프로세스"라는 문구가 구체적으로 동작들의 서브세트를 지칭하거나 일반적으로 더 넓은 디코딩 프로세스를 지칭하도록 의도되는지는 특정 설명들의 맥락에 기초하여 명백할 것이며, 본 기술분야의 통상의 기술자에 의해 잘 이해될 것으로 생각된다.
본 명세서에서 사용되는 신택스 요소들은 설명적 용어들이라는 점에 유의한다. 따라서, 이들은 다른 신택스 요소 명칭들의 사용을 배제하지 않는다.
도면이 흐름도로서 제시될 때, 이는 또한 대응하는 장치의 블록도를 제공한다는 것을 이해해야 한다. 유사하게, 도면이 블록도로서 제시될 때, 이는 대응하는 방법/프로세스의 흐름도를 또한 제공한다는 것을 이해해야 한다.
다양한 실시예들은 레이트 왜곡 최적화를 언급한다. 특히, 인코딩 프로세스 동안, 계산 복잡도의 제약이 종종 주어지면, 레이트와 왜곡 사이의 균형 또는 절충이 보통은 고려된다. 레이트 왜곡 최적화는 보통은 레이트와 왜곡의 가중 합인 레이트 왜곡 함수를 최소화하는 것으로 공식화된다. 레이트 왜곡 최적화 문제를 해결하기 위한 상이한 접근법이 있다. 예를 들어, 이 접근법들은, 코딩 및 디코딩 이후의 재구성된 신호의 코딩 비용 및 관련 왜곡의 완전한 평가와 함께, 모든 고려된 모드들 또는 코딩 파라미터 값들을 비롯한, 모든 인코딩 옵션들의 광범위한 테스팅에 기초할 수 있다. 인코딩 복잡도를 줄이기 위해, 특히 재구성된 것이 아니라 예측 또는 예측 잔차 신호에 기초한 근사화된 왜곡의 계산으로 더 빠른 접근법이 또한 사용될 수 있다. 이들 두 가지 접근법의 혼합은 또한, 예를 들어, 가능한 인코딩 옵션들 중 일부에 대해서만 근사화된 왜곡을, 및 다른 인코딩 옵션들에 대한 완전한 왜곡을 사용함으로써 사용될 수 있다. 다른 접근법들은 가능한 인코딩 옵션들의 서브세트만을 평가한다. 보다 일반적으로, 많은 접근법들은 최적화를 수행하기 위해 다양한 기법들 중 임의의 기법을 이용하지만, 최적화가 코딩 비용 및 관련 왜곡 둘 다의 완전한 평가일 필요는 없다.
이 출원은 도구, 특징, 실시예, 모델, 접근법 등을 포함하는 다양한 양태를 설명한다. 이러한 양태들 중 다수는 특정성으로 설명되고, 적어도 개별적인 특성들을 보여주기 위해, 종종 제한하는 것처럼 들리는 방식으로 설명된다. 그러나, 이것은 설명에서의 명료성을 위한 것이며, 그러한 양태들의 적용 또는 범위를 제한하지는 않는다. 실제로, 상이한 양태들 모두가 추가 양태들을 제공하기 위해 조합되고 교환될 수 있다. 더욱이, 양태들은 또한 더 이른 출원들에서 설명된 양태들과 조합되고 교환될 수 있다.
본 명세서에 설명된 구현들 및 양태들은 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호로 구현될 수 있다. 비록 단지 단일 형태의 구현의 맥락에서만 논의될지라도(예컨대, 단지 방법으로서만 논의될지라도), 논의된 특징들의 구현은 다른 형식들(예컨대, 장치 또는 프로그램)로 또한 구현될 수 있다. 장치는 예를 들어, 적절한 하드웨어, 소프트웨어, 및 펌웨어로 구현될 수 있다. 방법들은, 예를 들어, 일반적으로 처리 디바이스들을 지칭하고, 예컨대, 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그래머블 로직 디바이스를 포함하는 프로세서로 구현될 수 있다. 프로세서들은 또한, 예를 들어, 컴퓨터들, 태블릿들, 스마트폰들, 셀 폰들(cell phones), PDA(portable/personal digital assistant)들, 및 최종 사용자들 간의 정보의 통신을 용이하게 하는 다른 디바이스들과 같은 통신 디바이스들을 포함한다.
"일 실시예" 또는 "실시예" 또는 "일 구현" 또는 "구현" 뿐만 아니라 그의 다른 변형들에 대한 참조는 실시예와 관련하여 설명된 특정한 특징, 구조, 특성 등이 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 본 출원 전반에 걸친 다양한 위치들에서 등장하는 구문 "일 실시예에서" 또는 "실시예에서" 또는 "일 구현에서" 또는 "구현에서" 뿐만 아니라 임의의 다른 변형들의 등장은 반드시 모두 동일한 실시예를 참조하는 것은 아니다.
또한, 본 출원은 다양한 정보 피스들을 "결정"하는 것을 지칭할 수 있다. 정보를 결정하는 것은 예를 들어, 정보를 추정하는 것, 정보를 계산하는 것, 정보를 예측하는 것, 또는 메모리로부터의 정보를 검색하는 것 중 하나 이상을 포함할 수 있다.
또한, 본 출원은 정보의 다양한 피스들에 "액세스"하는 것을 지칭할 수 있다. 정보의 액세스는 예를 들어, 정보의 수신, (예를 들어, 메모리로부터의) 정보의 검색, 정보의 저장, 정보의 이동, 정보의 복사, 정보의 계산, 정보의 결정, 정보의 예측, 또는 정보의 추정 중 하나 이상을 포함할 수 있다.
또한, 본 출원은 다양한 정보 피스들을 "수신"하는 것을 지칭할 수 있다. 수신하는 것은, "액세스하는 것"에서와 같이 광의의 용어로 의도된다. 정보의 수신은 예를 들어, 정보의 액세스 또는 (예로서, 메모리로부터의) 정보의 검색 중 하나 이상을 포함할 수 있다. 또한, "수신하는 것"은 통상적으로 예를 들어, 정보의 저장, 정보의 처리, 정보의 송신, 정보의 이동, 정보의 복사, 정보의 소거, 정보의 계산, 정보의 결정, 정보의 예측, 또는 정보의 추정과 같은 동작들 동안 하나의 방식 또는 또 다른 방식으로 수반된다.
본 출원에서, 용어 "재구성된" 및 "디코딩된"은 상호교환가능하게 사용될 수 있고, 용어 "픽셀" 및 "샘플"은 상호교환가능하게 사용될 수 있고, 용어 "이미지", "픽처", "프레임", "슬라이스", 및 "타일"은 상호교환가능하게 사용될 수 있다. 필수적은 아니지만 보통은, 용어 "재구성된"은 인코더 측에서 사용되는 한편, "디코딩된"은 디코더 측에서 사용된다.
예를 들어, "A/ B", "A 및/또는 B" 및 "A 및 B 중 적어도 하나"의 경우들에서, "/", "및/또는 ", 및 "~ 중 적어도 하나" 중 임의의 것의 이용은 첫번째로 열거된 옵션 (A)만의 선택, 또는 두번째로 열거된 옵션 (B)만의 선택, 또는 양쪽 옵션 (A 및 B)의 선택을 포함하고자 의도된다는 것을 알아야 한다. 추가의 예로서, "A, B, 및/또는 C" 및 "A, B, 및 C 중 적어도 하나"의 경우들에서, 이러한 문구는 첫 번째로 열거된 옵션 (A)만의 선택, 또는 두 번째로 열거된 옵션 (B)만의 선택, 또는 세 번째로 열거된 옵션 (C)만의 선택, 또는 첫 번째 및 두 번째로 열거된 옵션들 (A 및 B)만의 선택, 또는 첫 번째 및 세 번째로 열거된 옵션들 (A 및 C)만의 선택, 또는 두 번째 및 세 번째로 열거된 옵션들 (B 및 C) 만의 선택, 또는 세 가지 옵션 모두 (A 및 B 및 C)의 선택을 포함하는 것으로 의도된다. 이는, 본 기술분야 및 관련 기술분야의 통상의 기술자에게 명백한 바와 같이, 항목들이 많이 열거되는 만큼 확장될 수 있다.
또한, 본 명세서에서 사용되는 바와 같이, 단어 "신호"는 무엇보다도, 무언가를 대응하는 디코더에 나타내는 것을 지칭한다. 예를 들어, 특정 실시예에서 인코더는 조명 보상 파라미터 중 특정한 하나를 시그널링한다. 이러한 방식으로, 일 실시예에서, 인코더 측 및 디코더 측 둘 다에서 동일한 파라미터가 사용된다. 따라서, 예를 들어, 인코더는 디코더가 동일한 특정 파라미터를 사용할 수 있도록 디코더에 특정 파라미터를 송신(명시적 시그널링)할 수 있다. 반대로, 디코더가 이미 특정 파라미터뿐만 아니라 다른 것들을 갖는 경우, 단순히 디코더가 특정 파라미터를 알고 선택하는 것을 허용하기 위해 송신 없이 시그널링이 사용될 수 있다(암시적 시그널링). 임의의 실제 기능들의 송신을 회피함으로써, 다양한 실시예들에서 비트 절약이 실현된다. 시그널링이 다양한 방식으로 달성될 수 있다는 것을 알 것이다. 예를 들어, 다양한 실시예들에서, 하나 이상의 신택스 요소, 플래그 등이 정보를 대응하는 디코더에 시그널링하는데 이용된다. 전술한 것은 단어 "신호"의 동사 형태와 관련되지만, 단어 "신호"는 또한 본 명세서에서 명사로서 이용될 수 있다.
본 기술분야의 통상의 기술자에게 명백한 바와 같이, 구현들은 예컨대 저장되거나 또는 송신될 수 있는 정보를 운반하도록 포맷팅된 다양한 신호들을 생성할 수 있다. 정보는, 예를 들어, 방법을 수행하기 위한 명령어, 또는 설명된 구현들 중 하나에 의해 생성된 데이터를 포함할 수 있다. 예를 들어, 신호는 설명된 실시예의 비트스트림을 운반하도록 포맷팅될 수 있다. 이러한 신호는 예컨대(예컨대, 스펙트럼의 무선 주파수 부분을 사용하여) 전자기파로서 또는 기저대역 신호로서 포맷팅될 수 있다. 포맷팅은, 예를 들어, 데이터 스트림을 인코딩하고 인코딩된 데이터 스트림으로 캐리어를 변조하는 것을 포함할 수 있다. 신호가 운반하는 정보는, 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 신호는 공지된 것으로서 각종의 상이한 유선 또는 무선 링크를 통해 송신될 수 있다. 신호는 프로세서 판독가능 매체상에 저장될 수 있다.
제1 양태의 제1 변형에서, 각도 기준은 인트라 예측 각도가 제1 값 이하 또는 제2 값 이상일 때 매칭되는 것으로 간주되며, 제1 값은 제2 값보다 작다. 제1 변형의 변형에서, 제1 값은 10이고 제2 값은 58이다.
제1 양태의 제2 변형에서, 각도 기준은 인트라 예측 각도를 나타내는 intraPredAngle 값이 값 이상일 때 매칭되는 것으로 간주된다. 제1 변형의 변형에서, 각도 기준은 인트라 예측 각도를 나타내는 intraPredAngle 값이 12 이상일 때 매칭되는 것으로 간주된다.
제1 양태의 추가 변형에서, 수직 각도 방향에 대해, 좌측 참조 샘플이 블록의 좌측에 있는 열의 샘플들의 값들을 포함하는 좌측 참조 어레이로부터 결정되고, 좌측 참조 샘플은 수직 각도 인트라 예측 방향을 블록의 좌측에 있는 열로 확장하고 수직 각도 인트라 예측 방향과 블록의 좌측에 있는 열 사이의 교차에 가장 가까운 샘플을 좌측 참조 어레이로부터 선택함으로써 결정되고, 수평 각도 방향에 대해, 상단 참조 샘플이 블록의 상단에 있는 행의 샘플들의 값들을 포함하는 상단 참조 어레이로부터 결정되고, 상단 참조 샘플은 수평 각도 인트라 예측 방향을 블록의 상단에 있는 행으로 확장하고 수평 각도 인트라 예측 방향과 블록의 상단에 있는 행 사이의 교차에 가장 가까운 샘플을 상단 참조 어레이로부터 선택함으로써 결정된다.
제1 양태의 추가 변형에서, 샘플 P(x,y)의 값은 수직 방향에 대해서는
Figure pct00059
에 따라 그리고 수평 방향에 대해서는
Figure pct00060
에 따라 결정되고, 여기서
Figure pct00061
는 샘플에 대한 획득된 예측된 값이고,
Figure pct00062
또는
Figure pct00063
은 좌측 또는 상단 참조 샘플의 값이며, wL 또는 wT는 가중이다.
제1 양태의 추가 변형에서, 수직 각도 방향에 대해, 좌측 참조 샘플의 값
Figure pct00064
은:
Figure pct00065
에 의해 결정되는데, 여기서 refSide는 블록의 좌측에 있는 열의 샘플들의 값들의 어레이이고, deltay = y + (((1+x)*invAngle + 128) >> 8)이고, 수평 각도 방향에 대해, 상단 참조 샘플의 값
Figure pct00066
은:
Figure pct00067
에 의해 결정되는데, 여기서 refMain은 블록의 상단에 있는 행의 샘플들의 값들의 어레이이고, deltax = x + (((1+y)*invAngle + 128)>> 8)이고, invAngle는 예측 각도에 대응하는 각도 파라미터의 역이다.
제1 양태의 추가 변형에서, 가중은 다음에 따라 결정된다:
wL = wLmax >> min(31,((x << 1) >> scale)) 여기서 intraPredAngle가 32와 동일할 때 wLmax=16 또는 그렇지 않으면 wLmax=32이고, wT = wTmax >> min(31,((y << 1) >> scale)) 여기서 intraPredAngle가 32와 동일할 때 wTmax=16 또는 그렇지 않으면 wTmax=32이고, scale은 ((log2(W) - 2 + log2(H) - 2 + 2) >> 2)와 동일하다.

Claims (17)

  1. 이미지의 블록의 샘플의 값을 결정하기 위한 방법으로서:
    상기 샘플에 대한 예측된 값을 획득하는 단계 - 상기 값은 인트라 예측 각도를 나타내는 값에 따라 인트라 예측됨 -; 및
    상기 인트라 예측 각도가 기준과 매칭될 때(1301), 수직 각도 모드에 대한 좌측 참조 샘플 또는 수평 각도 모드에 대한 상단 참조 샘플의 값과, 상기 샘플에 대한 획득된 예측된 값 사이의 가중(1303)에 기초하여 상기 샘플의 값을 결정하는 단계(1307) - 상기 좌측 또는 상단 참조 샘플은 상기 인트라 예측 각도에 기초하여 결정됨(1305) - 를 포함하는 방법.
  2. 제1항에 있어서,
    상기 각도 기준은 상기 인트라 예측 각도를 나타내는 intraPredAngle 값이 매칭될 값 이상일 때 매칭되는 것으로 간주되는 방법.
  3. 제2항에 있어서,
    상기 매칭될 값은 12인 방법.
  4. 제2항에 있어서,
    상기 매칭될 값은 0인 방법.
  5. 제1항에 있어서,
    상기 각도 기준은 상기 인트라 예측 각도를 나타내는 모드 값이 수평 각도 모드에 대한 제1 모드 값 이하이거나 또는 수직 각도 모드에 대한 제2 모드 값 이상일 때 매칭되는 것으로 간주되고, 상기 제1 값은 상기 제2 값보다 작고 상기 모드 값은 0 또는 1과 상이하고,
    34 이상의 모드 값은 수직 모드를 나타내고 34보다 작은 모드 값보다 작은 것은 수평 모드를 나타내는 방법.
  6. 제5항에 있어서,
    상기 제1 값은 10이고 상기 제2 값은 58인 방법.
  7. 제6항에 있어서,
    상기 제1 값은 18이고 상기 제2 값은 50인 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    수직 각도 방향에 대해, 상기 좌측 참조 샘플은 상기 블록의 좌측에 있는 열의 샘플들의 값들을 포함하는 좌측 참조 어레이로부터 결정되고, 상기 좌측 참조 샘플은 상기 수직 각도 인트라 예측 방향을 상기 블록의 좌측에 있는 열로 확장하고 상기 수직 각도 인트라 예측 방향과 상기 블록의 좌측에 있는 열 사이의 교차에 가장 가까운 샘플을 상기 좌측 참조 어레이로부터 선택함으로써 결정되고,
    및 수평 각도 방향에 대해, 상기 상단 참조 샘플은 상기 블록의 상단에 있는 행의 샘플들의 값들을 포함하는 상단 참조 어레이로부터 결정되고, 상기 상단 참조 샘플은 상기 수평 각도 인트라 예측 방향을 상기 블록의 상단에 있는 행으로 확장하고 상기 수평 각도 인트라 예측 방향과 상기 블록의 상단에 있는 행 사이의 교차에 가장 가까운 샘플을 상기 상단 참조 어레이로부터 선택함으로써 결정되는 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 샘플의 값 P(x,y)은:
    수직 방향에 대해:
    Figure pct00068
    에 따라 결정되고,
    수평 방향에 대해:
    Figure pct00069
    에 따라 결정되고,
    Figure pct00070
    는 상기 샘플에 대한 획득된 예측된 값이고,
    Figure pct00071
    또는
    Figure pct00072
    은 좌측 또는 상단 참조 샘플의 값이고, wL 또는 wT는 가중인 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    수직 방향에 대해, 상기 좌측 참조 샘플의 값
    Figure pct00073
    은:
    Figure pct00074
    에 의해 결정되고, refSide는 상기 블록의 좌측에 있는 열의 샘플들의 값들의 어레이이고, deltay = y + (((1+x) * invAngle + 128) >> 8)이고,
    수평 방향에 대해, 상단 참조 샘플의 값
    Figure pct00075
    은:
    Figure pct00076
    에 의해 결정되고, refMain은 상기 블록의 상단에 있는 행의 샘플들의 값들의 어레이이고, deltax = x + (((1+y) * invAngle + 128) >> 8)이고,
    invAngle는 상기 예측 각도에 대응하는 각도 파라미터의 역인 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 가중은:
    수직 방향에 대해: wL = wLmax >> min(31, ((x << 1) >> scale ))에 따라 결정되고, intraPredAngle이 32와 동일할 때 wLmax = 16이고, 또는 그렇지 않은 경우 wLmax = 32이고,
    수평 방향에 대해: wT=wTmax >> min(31,((y << 1) >> scale))에 따라 결정되고, intraPredAngle가 32와 동일할 때 wTmax=16이고 또는 그렇지 않은 경우 wTmax=32이고,
    scale은 ((log2(W) - 2 + log2(H) -2 + 2) >> 2)와 동일한 방법.
  12. 비디오의 블록을 인코딩하기 위한 방법으로서, 비디오의 블록에 대하여:
    상기 비디오의 블록의 각각의 샘플에 대해:
    상기 샘플에 대한 인트라 예측을 수행하는 단계,
    제1항 내지 제11항 중 어느 한 항의 방법에 따라 상기 샘플의 값을 수정하는 단계, 및
    상기 블록을 인코딩하는 단계를 포함하는 방법.
  13. 비디오의 블록을 디코딩하기 위한 방법으로서,
    비디오의 블록에 대하여:
    상기 비디오의 블록의 각각의 샘플에 대해:
    상기 샘플에 대한 인트라 예측을 수행하는 단계, 및
    제1항 내지 제11항 중 어느 한 항의 방법에 따라 상기 샘플의 값을 수정하는 단계를 포함하는 방법.
  14. 픽처 데이터를 인코딩하기 위한 인코더(1030)를 포함하는 장치(1000)로서, 상기 인코더는, 비디오의 블록에 대해:
    상기 비디오의 블록의 각각의 샘플에 대해:
    상기 샘플에 대한 인트라 예측을 수행하고,
    제1항 내지 제11항 중 어느 한 항의 방법에 따라 상기 샘플의 값을 수정하고, 및
    상기 블록을 인코딩하도록 구성된 장치.
  15. 픽처 데이터를 디코딩하기 위한 디코더(1030)를 포함하는 장치(1000)로서, 상기 디코더는, 비디오의 블록에 대해:
    상기 비디오의 블록의 각각의 샘플에 대해:
    상기 샘플에 대한 인트라 예측을 수행하고, 및
    제1항 내지 제11항 중 어느 한 항의 방법에 따라 상기 샘플의 값을 수정하도록 구성된 장치.
  16. 프로세서에 의해 실행될 때 제1항 내지 제13항 중 적어도 한 항에 따른 방법의 단계들을 구현하기 위한 프로그램 코드 명령어들을 포함하는 비일시적 컴퓨터 판독가능 매체.
  17. 프로세서에 의해 실행될 때 제1항 내지 제13항 중 적어도 한 항에 따른 방법의 단계들을 구현하기 위한 프로그램 코드 명령어들을 포함하는 컴퓨터 프로그램.
KR1020227001620A 2019-06-20 2020-06-15 위치 의존적 인트라 예측 조합을 이용한 픽처 인코딩 및 디코딩을 위한 방법 및 디바이스 KR20220024643A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP19305798.1 2019-06-20
EP19305798 2019-06-20
PCT/EP2020/066522 WO2020254264A1 (en) 2019-06-20 2020-06-15 Method and device for picture encoding and decoding using position dependent intra prediction combination

Publications (1)

Publication Number Publication Date
KR20220024643A true KR20220024643A (ko) 2022-03-03

Family

ID=67437685

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227001620A KR20220024643A (ko) 2019-06-20 2020-06-15 위치 의존적 인트라 예측 조합을 이용한 픽처 인코딩 및 디코딩을 위한 방법 및 디바이스

Country Status (8)

Country Link
US (2) US11991361B2 (ko)
EP (1) EP3987780A1 (ko)
JP (1) JP2022537173A (ko)
KR (1) KR20220024643A (ko)
CN (1) CN114600450A (ko)
IL (1) IL289036A (ko)
TW (1) TW202106008A (ko)
WO (1) WO2020254264A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021045655A2 (en) * 2019-12-31 2021-03-11 Huawei Technologies Co., Ltd. Method and apparatus for intra prediction

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10506228B2 (en) * 2016-10-04 2019-12-10 Qualcomm Incorporated Variable number of intra modes for video coding
EP3410722A1 (en) * 2017-05-31 2018-12-05 Thomson Licensing Method and apparatus for low-complexity bi-directional intra prediction in video encoding and decoding
US11611757B2 (en) * 2018-04-02 2023-03-21 Qualcomm Incorproated Position dependent intra prediction combination extended with angular modes
US11159806B2 (en) * 2018-06-28 2021-10-26 Qualcomm Incorporated Position dependent intra prediction combination with multiple reference lines for intra prediction
US11128872B2 (en) * 2018-07-16 2021-09-21 Qualcomm Incorporated Position dependent intra prediction combination with wide angle intra prediction
US10652537B1 (en) * 2018-11-21 2020-05-12 Alibaba Group Holding Limited Coding unit size adaptive palette mode for video compression system
CN112889281B (zh) * 2018-11-26 2022-11-18 华为技术有限公司 对图像中的块进行帧内预测的方法、设备和存储介质
US10778972B1 (en) * 2019-02-27 2020-09-15 Google Llc Adaptive filter intra prediction modes in image/video compression

Also Published As

Publication number Publication date
US20240244215A1 (en) 2024-07-18
JP2022537173A (ja) 2022-08-24
TW202106008A (zh) 2021-02-01
US11991361B2 (en) 2024-05-21
IL289036A (en) 2022-02-01
US20220303541A1 (en) 2022-09-22
WO2020254264A1 (en) 2020-12-24
CN114600450A (zh) 2022-06-07
EP3987780A1 (en) 2022-04-27

Similar Documents

Publication Publication Date Title
CN113016180B (zh) 用于视频编码和解码的虚拟管线
US20220078405A1 (en) Simplifications of coding modes based on neighboring samples dependent parametric models
JP2023543985A (ja) 多用途ビデオコーディングのためのテンプレートマッチング予測
KR20220047725A (ko) 암시적 다중 변환 선택을 위한 변환 선택
KR20210066823A (ko) 광각 인트라 예측을 위한 방향들
US20240244215A1 (en) Method and device for picture encoding and decoding using position dependent intra prediction combination
KR20210058846A (ko) 인트라 변환 코딩 및 광각 인트라 예측의 조화
CN112806011A (zh) 改进的虚拟时间仿射候选
US12101472B2 (en) Intra prediction mode partitioning
CN112335240B (zh) 使用可变权重的多参考帧内预测
US20240171731A1 (en) Geometric partitions with switchable interpolation filter
CN113170153B (zh) 基于二元树初始化当前图片参考块矢量
EP4078953A1 (en) Subblock merge candidates in triangle merge mode
KR20220052991A (ko) 스위칭가능한 보간 필터들
WO2024208650A1 (en) Intra geometric partition mode with template matching
EP3861746A1 (en) Block size based motion vector coding in affine mode
KR20210096116A (ko) 픽처 인코딩 및 디코딩을 위한 방법 및 디바이스