KR20210016615A - 인트라 예측 방법 및 장치 - Google Patents

인트라 예측 방법 및 장치 Download PDF

Info

Publication number
KR20210016615A
KR20210016615A KR1020217000324A KR20217000324A KR20210016615A KR 20210016615 A KR20210016615 A KR 20210016615A KR 1020217000324 A KR1020217000324 A KR 1020217000324A KR 20217000324 A KR20217000324 A KR 20217000324A KR 20210016615 A KR20210016615 A KR 20210016615A
Authority
KR
South Korea
Prior art keywords
block
intra prediction
video
mode
prediction
Prior art date
Application number
KR1020217000324A
Other languages
English (en)
Other versions
KR102571856B1 (ko
Inventor
알렉세이 콘스탄티노비치 필립포브
바실리 알렉시비치 루피츠스키
지안리 첸
Original Assignee
후아웨이 테크놀러지 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 후아웨이 테크놀러지 컴퍼니 리미티드 filed Critical 후아웨이 테크놀러지 컴퍼니 리미티드
Priority to KR1020237028717A priority Critical patent/KR20230127376A/ko
Publication of KR20210016615A publication Critical patent/KR20210016615A/ko
Application granted granted Critical
Publication of KR102571856B1 publication Critical patent/KR102571856B1/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/103Selection of coding mode or of prediction mode
    • 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/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/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/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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • 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

Landscapes

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

Abstract

블록의 인트라 예측 방법으로서, 해당 방법은 블록의 인트라 예측 모드를 취득하는 단계와, 블록의 인트라 예측 모드가 광각 모드(wide-angle) 모드일 경우 필터링된 참조 샘플들에 기초하여 블록의 예측된 샘플들을 취득하는 단계를 포함한다.

Description

인트라 예측 방법 및 장치
[관련 출원에 대한 상호 참조]
본원은, 본 명세서에 참조로 포함되는, "Method and Apparatus for Prediction"이라는 명칭으로 2018년 11월 14일자로 출원된 미국 가출원 제62/767,496호의 이익을 주장한다.
[기술분야]
본 개시물은 이미지 및/또는 비디오 코딩 및 디코딩 기술 분야에 관한 것으로, 특히, 인트라/인터 예측을 위한 방법 및 장치에 관한 것이다.
디지털 비디오는 DVD-디스크의 도입 이래 폭넓게 사용되고 있다. 비디오는 전송 전에 인코딩되고 전송 매체를 사용해서 전송된다. 시청자는 비디오를 수신하고 시청 장치를 사용해서 비디오를 디코딩 및 디스플레이한다. 예를 들어, 더 높은 해상도, 색 심도 및 프레임 레이트 때문에, 수년간 비디오의 품질이 향상되었다. 이는 오늘날 인터넷 및 모바일 통신 네트워크를 통해 일반적으로 전송되는 더 큰 데이터 스트림으로 이어졌다.
그러나, 고해상도 비디오는 통상적으로 정보가 더 많기 때문에 더 많은 대역폭을 필요로 한다. 대역폭 요건을 감소시키기 위해, 비디오의 압축을 수반하는 비디오 코딩 표준이 도입되었다. 비디오가 인코딩되면, 대역폭 요건(또는 스토리지의 경우에는 상응하는 메모리 요건)이 감소된다. 종종 이러한 감소는 품질을 희생한다. 따라서, 비디오 코딩 표준은 대역폭 요건과 품질 사이에서 균형을 찾으려고 한다.
고효율 비디오 코딩(High Efficiency Video Coding)(HEVC)은 당업자에게 잘 알려져 있는 비디오 코딩 표준의 일례이다. HEVC에서는, 코딩 단위(CU)를 예측 단위(PU)들 또는 변환 단위(TU)들로 분할한다. 다용도 비디오 코딩(Versatile Video Coding)(VVC) 차세대 표준은 JVET(Joint Video Exploration Team)로 알려진 파트너십에서 함께 연구하는 ITU-T VCEG(Video Coding Experts Group) 및 ISO/IEC MPEG(Moving Picture Experts Group) 표준화 기구의 최신의 협력 비디오 프로젝트이다. VVC를 ITU-T H.266/차세대 비디오 코딩(Next Generation Video Coding)(NGVC) 표준이라고 할 수도 있다. VVC에서는, 최대 변환 길이에 대하여 크기가 너무 큰 CU에 대하여 필요한 경우를 제외하면, 다수의 파티션(partition) 타입의 개념이 배제될 수 있으며, 즉, CU, PU 및 TU 개념의 분리가 배제될 수 있고, CU 파티션 형상에 대하여 더 많은 유연성을 지원한다.
이들 코딩 단위(CU)(블록이라고도 함)의 처리는 그 크기, 공간 위치 및 인코더에 의해 특정된 코딩 모드에 의존한다. 코딩 모드는 예측의 타입에 따라 2 개의 그룹, 즉 인트라 예측 모드 및 인터 예측 모드로 분류될 수 있다. 인트라 예측 모드는 복원되는 블록의 샘플들에 대한 예측 값들을 계산하기 위해, 동일한 영상(프레임 또는 이미지라고도 함)의 샘플들을 사용해서 참조 샘플들을 생성한다. 인트라 예측을 공간 예측이라고도 한다. 인터 예측 모드는 시간 예측을 위해 설계되었으며, 이전 또는 다음 영상의 참조 샘플들을 사용해서 현재 영상의 블록의 샘플들을 예측한다.
ITU-T VCEG (Q6/16) 및 ISO/IEC MPEG (JTC 1/SC 29/WG 11)은, 현재의 HEVC 표준(화면 콘텐츠 코딩 및 고 명암비 코딩에 대한 그 현재의 확장 및 단기 확장을 포함)을 현저하게 초과하는 압축 능력을 갖는 미래 비디오 코딩 기술의 표준화에 대한 잠재적인 필요성을 연구하고 있다. 해당 그룹들은 이 분야의 전문가가 제안한 압축 기술 설계를 평가하기 위해 JVET(Joint Video Exploration Team)로 알려진 공동의 협업 노력으로 이 연구 활동에 협력하고 있다.
VTM(Versatile Test Model) 표준은 35 개의 인트라 모드를 사용하는 반면, BMS(Benchmark Set)는 67 개의 인트라 모드를 사용한다.
인트라 예측 스킴은 복잡한 것으로 여겨진다.
인트라 예측 장치 및 방법이 개시된다.
제1 양태에 따르면, 본 개시물은 비디오의 현재의 영상에서 현재의 이미지 블록의 인트라 예측 방법과 관련되며, 해당 방법은, 블록의 인트라 예측 모드를 취득하는 단계와, 블록의 인트라 예측 모드가 광각(wide-angle) 모드일 경우 필터링된 참조 샘플들에 기초하여 블록의 예측된 샘플들을 취득하는 단계를 포함한다.
제1 양태에 따른 방법의 가능한 구현 형태에 있어서, 블록의 인트라 예측 모드는 정수 구배 광각 모드이다. 정수 구배 광각 모드는 -14, -12, -10, -6, 72, 76, 78, 80 중 적어도 하나이다.
제1 양태는 예측된 블록의 시각적 품질을 향상시키는 데 사용되는 방향성 예측 및 추가적인 예측 신호의 출력을 조합하여 참조 샘플 처리를 통합하는 것을 목표로 한다. 이 통합의 결과는 참조 샘플들이 한 번만 처리되는 것이고, 이 처리의 결과는 방향성 인트라 예측 프로세스 및 추가적인 예측을 생성하는 것 모두에 의해 재사용된다. 예를 들어, 필터링된 참조 샘플들이 광각 모드에 사용되기 때문에, 필터링된 참조 샘플 버퍼가 하나만 필요하다.
인트라 예측 방법을 구현하기 위해 하기의 단계들이 수행될 수 있다.
단계 1: 참조 샘플들, 인트라 예측 모드(intraPredMode) 및/또는 블록 치수(폭 및 높이)에 기초하여 참조 샘플 필터링을 수행하는 단계.
단계 2: intraPredAngle에 따라 처리된 참조 샘플들(필터링된 또는 필터링되지 않은 참조 샘플들)(단계 1의 결과)에 기초하여 방향성 인트라 예측을 수행하는 단계.
단계 3: 단계 2에서 취득된 결과를, PDPC 또는 단순화된 PDPC(Simplified PDPC)일 수 있는 예측 조합으로 업데이트- 단계 3에서 사용되는 입력 참조 샘플들은 정수 구배 광각 모드에 대하여 단계 1에서 취득되어 단계 2에서 사용되는 참조 샘플들(예컨대, 하기의 표 X 및 Y에서 특정된 바와 같은 -14, -12, -10, -6, 72, 76, 78, 80)과 동일함 -하는 단계.
선택적으로, predModeIntra에 기초하여, 필터링된 또는 필터링되지 않은 참조 샘플 버퍼가 사용되어야 하는지의 여부를 판정한다. 이는 하기의 표 5에 열거된 필터들 중 하나를 적용함으로써 수행될 수 있다. VVC에서는, 인덱스가 0 및 1인 필터들이 사용된다.
참조 샘플들은 predMode가 2, 34 또는 66일 경우 및 nTbS>2일 경우에 필터링된다(표 5에서의 필터 인덱스 "1"이 사용됨).
전술한 방법의 대안적인 실시형태는 이 단계에서 인트라 예측 모드(predModeIntra)를 대신하여 각도 파라미터(intraPredAngle로 더 표시됨)를 사용하는 것이다. 이 경우, 참조 샘플들은 intraPredAngle의 값이 32의 배수이고 nTbS>2일 경우에 필터링된다(표 5의 필터 인덱스 "1"이 사용됨).
본 발명의 제1 양태에 따른 방법은 본 발명의 제2 양태에 따른 장치에 의해 수행될 수 있다. 예를 들어, 장치는 취득 유닛 및 광각 예측 유닛을 포함할 수 있다. 취득 유닛은 블록의 인트라 예측 모드를 취득하도록 구성되고; 광각 예측 유닛은 블록의 인트라 예측 모드가 광각 모드일 경우 필터링된 참조 샘플들에 기초하여 블록의 예측된 샘플들을 취득하도록 구성된다.
본 발명의 제2 양태에 따른 장치의 추가적인 특징 및 구현 형태는 본 발명의 제1 양태에 따른 방법의 특징 및 구현 형태에 대응한다.
제2 양태에 따른 장치의 장점은 제1 양태에 따른 방법의 상응하는 구현 형태에 대한 장점과 동일하다.
제3 양태에 따르면, 본 발명은 프로세서 및 메모리를 포함하는 비디오 스트림을 디코딩하기 위한 장치와 관련된다. 메모리는 프로세서로 하여금 제1 양태에 따른 방법을 수행하게 하는 명령어를 저장하고 있다.
제4 양태에 따르면, 본 발명은 프로세서 및 메모리를 포함하는 비디오 스트림을 인코딩하기 위한 장치와 관련된다. 메모리는 프로세서로 하여금 제1 양태에 따른 방법을 수행하게 하는 명령어를 저장하고 있다.
제5 양태에 따르면, 실행시에, 하나 이상의 프로세서가 비디오 데이터를 코딩하도록 구성되게 하는 명령어를 저장한 컴퓨터-판독 가능 저장 매체가 제안된다. 명령어는 하나 이상의 프로세서로 하여금 제1 양태 또는 제1 양태의 임의의 가능한 실시형태에 따른 방법을 수행하게 한다.
제6 양태에 따르면, 본 발명은 컴퓨터에서 실행될 때 제1 양태 또는 제1 양태의 임의의 가능한 실시형태에 따른 방법을 수행하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램과 관련된다.
하나 이상의 실시형태의 세부내용은 하기의 첨부 도면 및 발명의 상세한 설명에서 제시된다. 다른 특징, 목적, 및 장점은 발명의 상세한 설명, 도면, 및 청구범위로부터 명백해질 것이다.
아래에서는, 실시형태들을 첨부 도면을 참조하여 더 상세하게 설명한다.
도 1은 본 발명의 실시형태들을 구현하도록 구성되는 비디오 코딩 시스템의 실시예를 도시하는 블록도이다.
도 2는 본 발명의 실시형태들을 구현하도록 구성되는 비디오 인코더의 실시예를 도시하는 블록도이다.
도 3은 본 발명의 실시형태들을 구현하도록 구성되는 비디오 디코더의 예시적인 구조를 도시하는 블록도이다.
도 4a는 제안된 67 개의 인트라 예측 모드를 예시하는 개략도를 도시한다.
도 4b는, 파선 방향이 비-정사각형 블록에만 적용되는 광각 모드와 연관되는, 제안된 93 개의 인트라 예측 모드를 예시하는 개략도를 도시한다.
도 5 내지 도 11은 보간 필터들의 상이한 실시예들을 도시한다.
도 12는 인터 예측 및 인트라 예측에서 4-탭 보간 필터를 재사용하는 실시예를 도시한다.
도 13은 제안된 용례의 예시적인 구현예를 예시한다.
도 14는 LUT 계수들을 재사용하는 것에 기초하는 제안된 용례의 예시적인 구현예를 예시한다.
도 15는 보간 필터 선택의 실시예를 예시한다.
도 16은 QTBT의 실시예를 예시한다.
도 17은 직사각형 블록들의 배향의 실시예를 예시한다.
도 18은 변 길이 종속 참조 필터 선택의 실시예를 도시한다.
도 19는 보간 필터 선택 프로세스 동안 인트라 예측 모드를 임계 처리하기 위한 대안적인 방향의 실시예를 도시한다.
도 20은 사용되는 참조 샘플들이 어느 변에 속하는지에 따른 상이한 보간 필터들의 사용을 도시한다.
도 21은 하나의 4x4 블록 내부의 (0, 0) 및 (1, 0) 위치에 대한 DC 모드 PDPC 가중치들을 도시한다.
도 22는 대각선 및 인접 각도 인트라 모드들에 대한 PDPC 확장에 의해 사용되는 샘플들의 정의를 도시한다.
도 23은 단순화된 PDPC의 예시적인 구현예를 도시한다.
도 24는 예시적인 통합 구현예를 도시한다.
도 25는 비디오의 현재의 영상에서의 현재의 이미지 블록의 인트라 예측을 위한 예시적인 장치 구조를 도시하는 블록도이다.
도 26은 다양한 실시형태들을 구현하는 데 사용될 수 있는 장치(1500)의 블록도이다.
도 27은 콘텐츠 전송 서비스를 제공하는 예시적인 콘텐츠 공급 시스템 구조를 도시하는 블록도이다.
도 28은 단말 디바이스의 실시예의 구조를 도시하는 블록도이다.
약어 & 용어의 정의
JEM 협력 연구 모델(Joint Exploration Model)(미래 비디오 코딩 연구를 위한 소프트웨어 코드베이스)
JVET 협력 비디오 전문가 팀(Joint Video Experts Team)
LUT 룩업 테이블(Look-Up Table)
PDPC 위치-종속 예측 결합(Position-Dependent Prediction Combination)
QT 쿼드트리(QuadTree)
QTBT 쿼드트리 및 이진 트리(QuadTree plus Binary Tree)
RDO 레이트-왜곡 양자화(Rate-distortion Optimization)
ROM 리드 온리 메모리(Read-Only Memory)
VTM VVC 테스트 모델(VVC Test Model)
VVC 다용도 비디오 코딩(Versatile Video Coding), JVET에 의해 개발된 표준화 프로젝트.
CTU/CTB - 코딩 트리 단위(Coding Tree Unit)/코딩 트리 블록(Coding Tree Block)
CU/CB - 코딩 단위(Coding Unit)/코딩 블록(Coding Block)
PU/PB - 예측 단위(Prediction Unit)/예측 블록(Prediction Block)
TU/TB - 변환 단위(Transform Unit)/변환 블록(Transform Block)
HEVC - 고효율 비디오 코딩(High Efficiency Video Coding)
H.264/AVC 및 HEVC와 같은 비디오 코딩 스킴은 성공적인 블록-기반 하이브리드 비디오 코딩 원리에 따라 설계된다. 이 원리를 사용해서, 영상이 먼저 블록들로 파티셔닝되고 나서, 각각의 블록이 인트라 영상 또는 인터 영상 예측을 사용해서 예측된다.
H.261 이후의 몇몇 비디오 코딩 표준은 "손실 하이브리드 비디오 코덱(lossy hybrid video codecs)"의 그룹에 속한다(즉, 변환 도메인에서 양자화를 적용하기 위해 샘플 도메인에서의 공간 및 시간 예측과 2D 변환 코딩을 결합함). 비디오 시퀀스의 각각의 영상은 일반적으로 비-중첩 블록들의 세트로 파티셔닝되고 코딩은 일반적으로 블록 레벨에서 수행된다. 다시 말해, 인코더에서는, 비디오가 일반적으로, 블록(영상 블록) 레벨에서, 예컨대, 공간(인트라 영상) 예측 및 시간(인터 영상) 예측을 사용하여 예측 블록을 생성하고, 현재의 블록(현재 처리된/처리될 블록)으로부터 예측 블록을 빼서 잔차 블록을 취득하고, 잔차 블록을 변환하고 잔차 블록을 변환 도메인에서 양자화하여 전송될 데이터의 양을 줄임(압축)으로써, 처리, 즉 인코딩되는 반면, 디코더에서는, 현재의 블록을 표현하도록 복원하기 위해 인코더와 비교하여 반대의 처리가 인코딩 또는 압축된 블록에 부분적으로 적용된다. 더욱이, 인코더는 디코더 처리 루프를 복제하여, 둘 모두가 후속 블록들을 처리, 즉 코딩하기 위한 동일한 예측(예컨대, 인트라 예측 및 인터 예측) 및/또는 복원을 생성하게 된다.
본 명서세에서 사용되는 용어 "블록(block)"은 영상 또는 프레임의 부분일 수 있다. 설명의 편의상, 본 발명의 실시형태들은 본 명세서에서 ITU-T VCEG(Video Coding Experts Group) 및 ISO/IEC MPEG(Motion Picture Experts Group)의 JCT-VC(Joint Collaboration Team on Video Coding)에 의해 개발된 고효율 비디오 코딩(High-Efficiency Video Coding)(HEVC) 또는 다용도 비디오 코딩(Versatile video coding)(VVC)의 참조 소프트웨어에 관하여 설명된다. 당업자라면, 본 발명의 실시형태들이 HEVC 또는 VVC로 제한되지 않는다는 것을 이해할 것이다. CU, PU, 및 TU를 참조할 수 있다. HEVC에서, CTU는 코딩 트리로서 표시되는 쿼드-트리 구조를 사용해서 CU들로 분할된다. 인터 영상(시간) 또는 인트라 영상(공간) 예측을 사용해서 영상 영역을 코딩할지에 대한 판정은 CU 레벨에서 이루어진다. 각각의 CU는 PU 분할 타입에 따라 1 개, 2 개 또는 4 개의 PU로 더 분할될 수 있다. 하나의 PU 내부에서는, 동일한 예측 프로세스가 적용되고, 관련 정보가 PU 기반으로 디코더에 전송된다. PU 분할 타입에 기초하여 예측 프로세스를 적용함으로써 잔차 블록을 취득한 후에, CU는 CU에 대한 코딩 트리와 유사한 다른 쿼드트리 구조에 따라 변환 단위(TU)들로 파티셔닝될 수 있다. 최신의 비디오 압축 기술의 개발에 있어서, 쿼드-트리 및 이진 트리(QTBT) 파티셔닝이 코딩 블록을 파티셔닝하는 데 사용된다. QTBT 블록 구조에 있어서, CU는 정사각형 또는 직사각형 형상을 가질 수 있다. 예를 들어, 코딩 트리 단위(CTU)가 먼저 쿼드트리 구조로 파티셔닝된다. 쿼드트리 리프 노드들은 이진 트리 구조로 더 파티셔닝된다. 이진 트리 리프 노드들을 코딩 단위(CU)라고 하며, 이러한 세그먼트화는 어떠한 추가적인 파티셔닝 없이 예측 및 변환 처리에 사용된다. 이는, CU, PU 및 TU가 QTBT 코딩 블록 구조에서 동일한 블록 크기를 갖는다는 것을 의미한다. 동시에, 다중 파티션, 예를 들어, 트리플 트리 파티션도 QTBT 블록 구조와 함께 사용되도록 제안되었다.
ITU-T VCEG (Q6/16) 및 ISO/IEC MPEG (JTC 1/SC 29/WG 11)은, 현재의 HEVC 표준(화면 콘텐츠 코딩 및 고 명암비 코딩에 대한 그 현재의 확장 및 단기 확장을 포함)을 현저하게 초과하는 압축 능력을 갖는 미래 비디오 코딩 기술의 표준화에 대한 잠재적인 필요성을 연구하고 있다. 해당 그룹들은 이 분야의 전문가가 제안한 압축 기술 설계를 평가하기 위해 JVET(Joint Video Exploration Team)로 알려진 공동의 협업 노력으로 이 연구 활동에 협력하고 있다.
VTM(Versatile Test Model)은 35 개의 인트라 모드를 사용하는 반면, BMS(Benchmark Set)는 67 개의 인트라 모드를 사용한다. 인트라 예측은 정해진 프레임만이 포함될 수 있는 경우에 압축 효율을 증가시키기 위해 많은 비디오 코딩 프레임워크에서 사용되는 메커니즘이다.
도 1은 본원(본 개시물)의 기술을 이용할 수 있는 예시적인 코딩 시스템(10), 예컨대, 비디오 코딩 시스템(10)을 예시하는 개념적인 또는 개략적인 블록도이다. 비디오 코딩 시스템(10)의 인코더(20)(예컨대, 비디오 인코더(20)) 및 디코더(30)(예컨대, 비디오 디코더(30))는 본원에서 설명되는 다양한 실시예에 따른 기술을 수행하도록 구성될 수 있는 디바이스들의 실시예를 나타낸다. 도 1에 도시된 바와 같이, 코딩 시스템(10)은 인코딩된 데이터(13)를 디코딩하기 위해, 인코딩된 데이터(13), 예컨대, 인코딩된 영상(13)을, 예컨대 수신지 디바이스(14)에 제공하도록 구성되는 소스 디바이스(12)를 포함한다.
소스 디바이스(12)는 인코더(20)를 포함하고, 추가적으로, 즉, 선택적으로, 영상 소스(16), 전처리 유닛(18), 예컨대, 영상 전처리 유닛(18), 및 통신 인터페이스 또는 통신 유닛(22)을 포함할 수 있다.
영상 소스(16)는, 예를 들어 현실 세계 영상을 캡처하기 위한 임의의 종류의 영상 캡처 디바이스, 및/또는 컴퓨터 애니메이션 영상을 생성하기 위한 임의의 종류의 영상 또는 코멘트(스크린 콘텐츠 코딩의 경우, 스크린 상의 일부 텍스트도 인코딩될 영상 또는 이미지의 일부로 간주됨) 생성 디바이스, 예를 들어 컴퓨터-그래픽 프로세서, 또는 현실 세계 영상, 컴퓨터 애니메이션 영상(예컨대, 스크린 콘텐츠, 가상 현실(VR) 영상) 및/또는 이들의 임의의 조합(예컨대, 증강 현실(AR) 영상)을 취득 및/또는 제공하기 위한 임의의 종류의 디바이스일 수 있거나 이를 포함할 수 있다.
(디지털) 영상은 강도 값이 있는 샘플들의 2차원 어레이 또는 매트릭스이거나 또는 이것으로 간주될 수 있다. 어레이 내의 샘플을 픽셀(영상 요소의 단축 형태) 또는 펠(pel)이라고 할 수도 있다. 어레이 또는 영상의 수평 및 수직 방향(또는 축선)의 샘플의 수는 영상의 크기 및/또는 해상도를 정의한다. 컬러의 표현을 위해, 일반적으로 3 가지 컬리 성분이 사용되고, 즉, 영상은 3 개의 샘플 어레이로 표현될 수 있거나 또는 이를 포함할 수 있다. RGB 포맷 또는 컬러 공간에서, 영상은 상응하는 적색, 녹색 및 청색 샘플 어레이를 포함한다. 그러나, 비디오 코딩에서, 각각의 픽셀은 일반적으로 Y로 표시되는 휘도 성분(때때로 L이 대신 사용되기도 함)과 Cb 및 Cr로 표시되는 2 개의 색차 성분을 포함하는 휘도/색차 포맷 또는 컬러 공간, 예컨대, YCbCr로 표현된다. 휘도(또는 간단히 루마) 성분 Y는 밝기 또는 그레이 레벨 강도(예컨대, 그레이-스케일 영상에서와 유사함)를 표현하지만, 2 개의 색차(또는 간단히 크로마) 성분 Cb 및 Cr은 색도 또는 컬러 정보 성분을 표현한다. 따라서, YCbCr 포맷의 영상은 휘도 샘플 값(Y)으로 이루어진 휘도 샘플 어레이, 및 색차 값(Cb 및 Cr)으로 이루어진 2 개의 색차 샘플 어레이를 포함한다. RGB 포맷의 영상은 YCbCr 포맷으로 전환 또는 변환될 수 있으며, 그 반대 또한 마찬가지이고, 해당 프로세스는 컬러 변환 또는 전환으로도 알려져 있다. 영상이 흑백이면, 영상은 단지 휘도 샘플 어레이만을 포함할 수 있다.
영상 소스(16)(예컨대, 비디오 소스(16))는, 예를 들어, 영상을 캡처하기 위한 카메라, 사전에 캡처 또는 생성된 영상을 포함 또는 저장하는 메모리, 예컨대, 영상 메모리, 및/또는 영상을 취득 또는 수신하기 위한 (내부 또는 외부의) 임의의 종류의 인터페이스일 수 있다. 카메라는, 예를 들어, 소스 디바이스에 통합되는 로컬 또는 통합 카메라일 수 있으며, 메모리는, 예컨대, 소스 디바이스에 통합되는 로컬 또는 통합 메모리일 수 있다. 인터페이스는, 예를 들어, 외부 비디오 소스, 예를 들어, 카메라, 외부 메모리, 또는 외부 영상 생성 디바이스, 예를 들어, 외부 컴퓨터 그래픽 프로세서, 컴퓨터 또는 서버와 같은 외부 영상 캡처 디바이스로부터 영상을 수신하기 위한 외부 인터페이스일 수 있다. 인터페이스는 임의의 독점적인 또는 표준화된 인터페이스 프로토콜에 따른, 예컨대, 유선 또는 무선 인터페이스, 광학 인터페이스 등의 임의의 종류의 인터페이스일 수 있다. 영상 데이터(17)를 취득하기 위한 인터페이스는 통신 인터페이스(22)와 동일한 인터페이스 또는 그 일부일 수 있다.
전처리 유닛(18) 및 전처리 유닛(18)에 의해 수행되는 처리와 구별하여, 영상 또는 영상 데이터(17)(예컨대, 비디오 데이터(17))를 원시 영상 또는 원시 영상 데이터(17)라고 할 수도 있다.
전처리 유닛(18)은 (원시) 영상 데이터(17)를 수신하고 영상 데이터(17)에 전처리를 수행하여 전처리된 영상(19) 또는 전처리된 영상 데이터(19)를 취득하도록 구성된다. 전처리 유닛(18)에 의해 수행되는 전처리는, 예컨대, 트리밍, 컬러 포맷 전환(예컨대, RGB로부터 YCbCr로), 컬러 보정, 또는 노이즈 제거를 포함할 수 있다. 전처리 유닛(18)은 선택적인 컴포넌트일 수 있음을 이해할 수 있다.
인코더(20)(예컨대, 비디오 인코더(20))는 전처리된 영상 데이터(19)를 수신하고 인코딩된 영상 데이터(21)를 제공하도록 구성된다(더 상세한 내용은, 예컨대 도 2에 기초하여 후술됨).
소스 디바이스(12)의 통신 인터페이스(22)는 인코딩된 영상 데이터(21)를 수신하고 저장 또는 직접 복원을 위해 다른 디바이스, 예컨대, 수신지 디바이스(14) 또는 임의의 다른 디바이스에 전송하거나, 또는 제각기 인코딩된 데이터(13)를 저장하기 전에 및/또는 인코딩된 데이터(13)를 디코딩 또는 저장을 위해 다른 디바이스, 예컨대, 수신지 디바이스(14) 또는 임의의 다른 디바이스에 전송하기 전에 인코딩된 영상 데이터(21)를 처리하도록 구성될 수 있다.
수신지 디바이스(14)는 디코더(30)(예컨대, 비디오 디코더(30))를 포함하고, 추가적으로, 즉 선택적으로, 통신 인터페이스 또는 통신 유닛(28), 후처리 유닛(32) 및 디스플레이 디바이스(34)를 포함할 수 있다.
수신지 디바이스(14)의 통신 인터페이스(28)는 인코딩된 영상 데이터(21) 또는 인코딩된 데이터(13)를, 예컨대, 소스 디바이스(12)로부터 또는 임의의 다른 소스, 예컨대, 저장 장치, 예컨대, 인코딩된 영상 데이터 저장 장치로부터 직접 수신하도록 구성된다.
통신 인터페이스(22) 및 통신 인터페이스(28)는 소스 디바이스(12)와 수신지 디바이스(14) 사이의 직접 통신 링크, 예컨대, 직접 유선 또는 무선 연결부를 통해, 또는 임의의 종류의 네트워크, 예컨대, 유선 또는 무선 네트워크 또는 그 임의의 조합, 또는 임의의 종류의 비공개 및 공개 네트워크, 또는 그 임의의 종류의 조합을 통해, 인코딩된 영상 데이터(21) 또는 인코딩된 데이터(13)를 전송 및 수신하도록 구성될 수 있다.
통신 인터페이스(22)는, 예컨대, 인코딩된 영상 데이터(21)를 통신 링크 또는 통신 네트워크를 통한 전송을 위해 적절한 포맷, 예컨대, 패킷으로 패키징하도록 구성될 수 있다.
통신 인터페이스(22)의 상대를 형성하는 통신 인터페이스(28)는, 예컨대, 인코딩된 데이터(13)를 디패키징하여 인코딩된 영상 데이터(21)를 취득하도록 구성될 수 있다.
통신 인터페이스(22) 및 통신 인터페이스(28) 모두는 소스 디바이스(12)로부터 수신지 디바이스(14)로 향하는 도 1의 인코딩된 영상 데이터(13)에 대하여 화살표로 표시된 바와 같은 단방향 통신 인터페이스로, 또는 양방향 통신 인터페이스로 구성될 수 있고, 예컨대 메시지를 송신 및 수신하여, 예컨대, 연결을 설정하고, 통신 링크 및/또는 데이터 전송, 예컨대, 인코딩된 영상 데이터 전송과 관련된 임의의 다른 정보를 확인 및 교환하도록 구성될 수 있다.
디코더(30)는 인코딩된 영상 데이터(21)를 수신하고 디코딩된 영상 데이터(31) 또는 디코딩된 영상(31)을 제공하도록 구성된다(더 상세한 내용은, 예컨대, 도 3에 기초하여 후술됨).
수신지 디바이스(14)의 후처리기(32)는 디코딩된 영상 데이터(31)(복원된 영상 데이터라고도 함), 예컨대, 디코딩된 영상(31)을 후처리해서 후처리된 영상 데이터(33), 예컨대, 후처리된 영상(33)을 취득하도록 구성된다. 후처리 유닛(32)에 의해 수행되는 후처리는, 예컨대, 디스플레이 디바이스(34)에 의한 디스플레이를 위해, 예컨대, 디코딩된 영상 데이터(31)를 준비하기 위한, 예컨대, 컬러 포맷 전환(예컨대, YCbCr로부터 RGB로), 컬러 보정, 트리밍, 또는 재-샘플링, 또는 임의의 다른 처리를 포함할 수 있다.
수신지 디바이스(14)의 디스플레이 디바이스(34)는 영상을, 예컨대 사용자 또는 시청자에게 디스플레이하기 위한 후처리된 영상 데이터(33)를 수신하도록 구성된다. 디스플레이 디바이스(34)는 복원된 영상을 표현하기 위한 임의의 종류의 디스플레이, 예컨대, 통합형 또는 외부 디스플레이 또는 모니터일 수 있거나 또는 이를 포함할 수 있다. 디스플레이는, 예컨대, 액정 디스플레이(LCD), 유기 발광 다이오드(OLED) 디스플레이, 플라스마 디스플레이, 프로젝터, 마이크로 LED 디스플레이, 실리콘 액정 표시 장치(LCoS), 디지털 광 프로세서(DLP) 또는 임의의 종류의 다른 디스플레이를 포함할 수 있다.
도 1이 소스 디바이스(12) 및 수신지 디바이스(14)를 별개의 디바이스로서 묘사하지만, 디바이스의 실시형태들은 두 디바이스 또는 두 기능, 즉 소스 디바이스(12) 또는 상응하는 기능 및 수신지 디바이스(14) 또는 상응하는 기능을 포함할 수도 있다. 이러한 실시형태들에 있어서, 소스 디바이스(12) 또는 상응하는 기능 및 수신지 디바이스(14) 또는 상응하는 기능은 동일한 하드웨어 및/또는 소프트웨어를 사용해서 또는 별개의 하드웨어 및/또는 소프트웨어 또는 그 임의의 조합에 의해 구현될 수 있다.
상세한 설명에 기초하여 당업자에게 명백한 바와 같이, 상이한 유닛들의 기능들 또는 도 1에 도시된 바와 같은 소스 디바이스(12) 및/또는 수신지 디바이스(14) 내의 기능들의 존재 및 (정확한) 분할은 실제 디바이스 및 용례에 따라 달라질 수 있다.
인코더(20)(예컨대, 비디오 인코더(20)) 및 디코더(30)(예컨대, 비디오 디코더(30)) 각각은 하나 이상의 마이크로프로세서, 디지털 신호 처리기(DSP), 주문형 집적 회로(ASIC), 필드-프로그램 가능 게이트 어레이(FPGA), 이산 로직, 하드웨어, 또는 이들의 임의의 조합과 같은 다양한 적절한 회로의 어느 하나로서 구현될 수 있다. 기술이 부분적으로 소프트웨어로 구현되면, 디바이스는 소프트웨어에 대한 명령어를 적절한 비-일시적인 컴퓨터-판독 가능 저장 매체에 저장할 수 있고, 하나 이상의 프로세서를 사용해서 하드웨어에서 명령어를 실행하여 본 개시물의 기술을 수행할 수 있다. 전술한 것들(하드웨어, 소프트웨어, 하드웨어와 소프트웨어의 조합 등을 포함) 중 어느 하나는 하나 이상의 프로세서로 간주될 수 있다. 비디오 인코더(20) 및 비디오 디코더(30) 각각은 하나 이상의 인코더 또는 디코더에 포함될 수 있으며, 그 중 어느 하나는 각각의 디바이스에서 결합형 인코더/디코더(CODEC)의 일부로서 통합될 수 있다.
도 2는 본원의 기술을 구현하도록 구성된 예시적인 비디오 인코더(20)의 개략적/개념적 블록도를 도시한다. 도 2의 실시예에 있어서, 비디오 인코더(20)는 잔차 계산 유닛(204), 변환 처리 유닛(206), 양자화 유닛(208), 역양자화 유닛(210), 및 역변환 처리 유닛(212), 복원 유닛(214), 버퍼(216), 루프 필터 유닛(220), 디코딩된 영상 버퍼(DPB)(230), 예측 처리 유닛(260) 및 엔트로피 인코딩 유닛(270)을 포함한다. 예측 처리 유닛(260)은 인터 예측 유닛(244), 인트라 예측 유닛(254) 및 모드 선택 유닛(262)을 포함할 수 있다. 인터 예측 유닛(244)은 모션 추정 유닛 및 모션 보상 유닛(도시되지 않음)을 포함할 수 있다. 도 2에 도시된 바와 같은 비디오 인코더(20)를 하이브리드 비디오 인코더 또는 하이브리드 비디오 코덱에 따른 비디오 인코더라고 할 수도 있다.
예를 들어, 잔차 계산 유닛(204), 변환 처리 유닛(206), 양자화 유닛(208), 예측 처리 유닛(260) 및 엔트로피 인코딩 유닛(270)은 인코더(20)의 순방향 신호 경로를 형성하는 반면, 예를 들어, 역양자화 유닛(210), 역변환 처리 유닛(212), 복원 유닛(214), 버퍼(216), 루프 필터(220), 디코딩된 영상 버퍼(DPB)(230), 예측 처리 유닛(260)은 인코더의 역방향 신호 경로를 형성하고, 인코더의 역방향 신호 경로는 디코더의 신호 경로에 대응한다(도 3의 디코더(30) 참조).
인코더(20)는, 예컨대, 입력(202)에 의해, 영상(201) 또는 영상(201)의 블록(203), 예컨대, 비디오 또는 비디오 시퀀스를 형성하는 일련의 영상들의 영상을 수신하도록 구성된다. 영상 블록(203)을 현재의 영상 블록 또는 코딩될 영상 블록이라고 할 수도 있으며, 영상(201)을 현재의 영상 또는 코딩될 영상(특히, 현재의 영상을 다른 영상들, 예컨대, 동일한 비디오 시퀀스, 즉, 현재의 영상을 또한 포함하는 비디오 시퀀스의 사전에 인코딩된 및/또는 디코딩된 영상들과 구별하기 위한 비디오 코딩으로 코딩될 영상)이라고 할 수도 있다.
블록 예측 처리 유닛(260)이라고도 하는 예측 처리 유닛(260)은, 블록(203)(현재의 영상(201)의 현재의 블록(203))과, 버퍼(216)로부터의 복원된 영상 데이터, 예컨대, 동일한(현재의) 영상의 참조 샘플들 및/또는 디코딩된 영상 버퍼(230)로부터의 하나 또는 복수의 사전에 디코딩된 영상으로부터의 참조 영상 데이터(231)를 수신 또는 취득하고, 이러한 데이터를 예측을 위해 처리하도록, 즉, 인터 예측된 블록(245) 또는 인트라 예측된 블록(255)일 수 있는 예측 블록(265)을 제공하도록 구성된다.
모드 선택 유닛(262)은 잔차 블록(205)의 계산을 위해 또한 복원된 블록(215)의 복원을 위해 예측 모드(예컨대, 인트라 또는 인터 예측 모드) 및/또는 예측 블록(265)으로서 사용될 상응하는 예측 블록(245 또는 255)을 선택하도록 구성될 수 있다.
모드 선택 유닛(262)의 실시형태들은, 최선의 매칭 또는 다시 말하면 최소 잔차(최소 잔차는 전송 또는 저장에 대한 더 양호한 압축을 의미함), 또는 최소 시그널링 오버헤드(최소 시그널링 오버헤드는 전송 또는 저장에 대한 더 양호한 압축을 의미함)를 제공하거나, 또는 둘 다를 고려하거나 균형을 유지한 예측 모드(예컨대, 예측 처리 유닛(260)에 의해 지원되는 것들로부터의 모드)를 선택하도록 구성될 수 있다. 모드 선택 유닛(262)은 레이트 왜곡 최적화(RDO)에 기초하여 예측 모드를 결정하도록, 즉, 최소 레이트 왜곡 최적화를 제공하는 예측 모드 또는 연관 레이트 왜곡이 적어도 예측 모드 선택 기준을 준수하는 예측 모드를 선택하도록 구성될 수 있다.
인트라 예측 유닛(254)은 인트라 예측 파라미터, 예컨대, 선택된 인트라 예측 모드에 기초하여, 인트라 예측 블록(255)을 결정하도록 더 구성된다. 어쨌든, 블록에 대하여 인트라 예측 모드를 선택한 후에, 인트라 예측 유닛(254)은 또한, 인트라 예측 파라미터, 즉, 블록에 대하여 선택된 인트라 예측 모드를 가리키는 정보를 엔트로피 인코딩 유닛(270)에 제공하도록 구성된다. 일 실시예에 있어서, 인트라 예측 유닛(254)은 후술되는 인트라 예측 기술들의 임의의 조합을 수행하도록 구성될 수 있다.
도 3은 본원의 기술을 구현하도록 구성된 예시적인 비디오 디코더(30)이다. 비디오 디코더(30)는, 예컨대, 인코더(20)에 의해 인코딩되는 인코딩된 영상 데이터(예컨대, 인코딩된 비트스트림)(21)를 수신하여 디코딩된 영상(331)을 취득하도록 구성된다. 디코딩 프로세스 동안, 비디오 디코더(30)는 비디오 데이터, 예컨대, 비디오 인코더(20)로부터 인코딩된 비디오 슬라이스의 영상 블록들 및 연관된 신택스 요소들을 나타내는 인코딩된 비디오 비트스트림을 수신한다.
도 3의 실시예에 있어서, 디코더(30)는 엔트로피 디코딩 유닛(304), 역양자화 유닛(310), 역변환 처리 유닛(312), 복원 유닛(314)(예컨대, 합산기(314)), 버퍼(316), 루프 필터(320), 디코딩된 영상 버퍼(330) 및 예측 처리 유닛(360)을 포함한다. 예측 처리 유닛(360)은 인터 예측 유닛(344), 인트라 예측 유닛(354) 및 모드 선택 유닛(362)을 포함할 수 있다. 비디오 디코더(30)는, 일부 실시예들에 있어서, 일반적으로 도 2의 비디오 인코더(20)에 대하여 설명된 인코딩 단계에 대하여 상호적인 디코딩 단계를 수행할 수 있다.
엔트로피 디코딩 유닛(304)은 인코딩된 영상 데이터(21)에 대하여 엔트로피 디코딩을 수행하여, 예컨대, 양자화된 계수(309) 및/또는 디코딩된 코딩 파라미터(도 3에는 도시되지 않음), 예컨대, (디코딩된) 임의의 또는 모든 인터 예측 파라미터, 인트라 예측 파라미터, 루프 필터 파라미터 및/또는 다른 신택스 요소를 취득하도록 구성된다. 엔트로피 디코딩 유닛(304)은 인터 예측 파라미터, 인트라 예측 파라미터 및/또는 다른 신택스 요소를 예측 처리 유닛(360)에 전달하도록 더 구성된다. 비디오 디코더(30)는 비디오 슬라이스 레벨 및/또는 비디오 블록 레벨에서 신택스 요소를 수신할 수 있다.
역양자화 유닛(310)은 기능 면에서 역양자화 유닛(210)과 동일할 수 있으며, 역변환 처리 유닛(312)은 기능 면에서 역변환 처리 유닛(212)과 동일할 수 있고, 복원 유닛(314)은 기능 면에서 복원 유닛(214)과 동일할 수 있으며, 버퍼(316)는 기능 면에서 버퍼(216)와 동일할 수 있고, 루프 필터(320)는 기능 면에서 루프 필터(220)와 동일할 수 있으며, 디코딩된 영상 버퍼(330)는 기능 면에서 디코딩된 영상 버퍼(230)와 동일할 수 있다.
예측 처리 유닛(360)은 인터 예측 유닛(344) 및 인트라 예측 유닛(354)을 포함할 수 있고, 인터 예측 유닛(344)은 기능 면에서 인터 예측 유닛(244)과 유사할 수 있으며, 인트라 예측 유닛(354)은 기능 면에서 인트라 예측 유닛(254)과 유사할 수 있다. 예측 처리 유닛(360)은 일반적으로 블록 예측을 수행하거나 및/또는 인코딩된 데이터(21)로부터 예측 블록(365)을 취득하고, 예측 관련 파라미터 및/또는 선택된 예측 모드에 관한 정보를, 예컨대, 엔트로피 디코딩 유닛(304)으로부터 (명시적 또는 암시적으로) 수신 또는 취득하도록 구성된다.
비디오 슬라이스가 인트라 코딩된 (I) 슬라이스로서 코딩될 때, 예측 처리 유닛(360)의 인트라 예측 유닛(354)은 시그널링된 인트라 예측 모드 및 현재의 프레임 또는 영상의 사전에 디코딩된 블록들로부터의 데이터에 기초하여 현재의 비디오 슬라이스의 영상 블록에 대하여 예측 블록(365)을 생성하도록 구성된다. 비디오 프레임이 인터 코딩된(즉, B 또는 P) 슬라이스로서 코딩될 때, 예측 처리 유닛(360)의 인터 예측 유닛(344)(예컨대, 모션 보상 유닛)은 모션 벡터 및 엔트로피 디코딩 유닛(304)으로부터 수신된 다른 신택스 요소에 기초하여 현재의 비디오 슬라이스의 비디오 블록에 대하여 예측 블록(365)을 생성하도록 구성된다. 인터 예측의 경우, 예측 블록은 참조 영상 목록들 중 하나의 목록 내의 참조 영상들 중 하나로부터 생성될 수 있다. 비디오 디코더(30)는 DPB(330)에 저장된 참조 영상들에 기초하여 디폴트 구성 기술을 사용해서 참조 프레임 목록, 즉 List 0 및 List 1을 구성할 수 있다.
예측 처리 유닛(360)은 모션 벡터 및 다른 신택스 요소를 파싱함으로써 현재의 비디오 슬라이스의 비디오 블록에 대한 예측 정보를 결정하도록 구성되고, 예측 정보를 사용하여 디코딩되는 현재의 비디오 블록에 대한 예측 블록들을 생성한다. 예를 들어, 예측 처리 유닛(360)은 수신된 신택스 요소들 중 일부를 사용하여, 비디오 슬라이스의 비디오 블록들을 코딩하는 데 사용되는 예측 모드(예컨대, 인트라 예측 또는 인터 예측), 인터 예측 슬라이스 타입(예컨대, B 슬라이스, P 슬라이스, 또는 GPB 슬라이스), 슬라이스에 대한 참조 영상 목록들 중 하나 이상에 대한 구성 정보, 슬라이스의 각각의 인터 인코딩된 비디오 블록에 대한 모션 벡터, 슬라이스의 각각의 인터 코딩된 비디오 블록에 대한 인터 예측 상태, 및 현재의 비디오 슬라이스에서 비디오 블록들을 디코딩하기 위한 다른 정보를 결정한다.
역양자화 유닛(310)은 역양자화, 즉, 비트스트림에서 제공되며 엔트로피 디코딩 유닛(304)에 의해 디코딩되는 양자화된 변환 계수를 역양자화하도록 구성된다. 역양자화 프로세스는 비디오 슬라이스 내의 각각의 비디오 블록에 대하여 비디오 인코더(20)에 의해 계산된 양자화 파라미터의 사용을 포함하여, 양자화의 정도 및, 유사하게, 적용되어야 하는 역양자화의 정도를 결정할 수 있다.
역변환 처리 유닛(312)은, 픽셀 도메인에서 잔차 블록을 생성하기 위해, 역변환, 예컨대, 역 DCT, 역정수 변환, 또는 개념적으로 유사한 역변환 프로세스를 변환 계수에 적용하도록 구성된다.
복원 유닛(314)(예컨대, 합산기(314))은, 예컨대, 복원된 잔차 블록(313)의 샘플 값들과 예측 블록(365)의 샘플 값들을 가산함으로써, 역변환 블록(313)(즉, 복원된 잔차 블록(313))을 예측 블록(365)에 가산하여 샘플 도메인에서 복원된 블록(315)을 취득하도록 구성된다.
루프 필터 유닛(320)(코딩 루프에 있거나 또는 코딩 루프 이후에 있음)은, 예컨대, 픽셀 전이를 평활화하거나, 내지는 비디오 품질을 향상시키기 위해, 복원된 블록(315)을 필터링하여 필터링된 블록(321)을 취득하도록 구성된다. 일 실시예에 있어서, 루프 필터 유닛(320)은 후술되는 필터링 기술들의 임의의 조합을 수행하도록 구성될 수 있다. 루프 필터 유닛(320)은 블록 해제 필터, 샘플-적응형 오프셋(SAO) 필터 또는 그 밖의 필터들, 예컨대, 양방향 필터 또는 적응형 루프 필터(ALF) 또는 선명화(sharpening) 또는 평활화 필터 또는 협업 필터와 같은 하나 이상의 루프 필터를 나타내기 위한 것이다. 도 3에서는 루프 필터 유닛(320)이 루프 필터인 것으로 도시되지만, 다른 구성들에 있어서는, 루프 필터 유닛(320)이 포스트 루프 필터로서 구현될 수 있다.
이어서, 정해진 프레임 또는 영상에서 디코딩된 비디오 블록(321)은 후속 모션 보상에 사용되는 참조 영상을 저장하는 디코딩된 영상 버퍼(330)에 저장된다.
디코더(30)는 사용자에게 제시 또는 보이도록, 예컨대, 출력(332)을 통해 디코딩된 영상(331)을 출력하도록 구성된다.
비디오 디코더(30)의 다른 변형은 압축된 비트스트림을 디코딩하는 데 사용될 수 있다. 예를 들어, 디코더(30)는 루프 필터링 유닛(320) 없이 출력 비디오 스트림을 생성할 수 있다. 예를 들어, 비-변환 기반 디코더(30)는 특정 블록 또는 프레임에 대한 역변환 처리 유닛(312) 없이 잔차 신호를 직접 역양자화할 수 있다. 다른 구현예에 있어서, 비디오 디코더(30)는 단일의 유닛으로 결합된 역양자화 유닛(310) 및 역변환 처리 유닛(312)을 가질 수 있다.
도 4a 및 도 4b에 도시된 바와 같이, 최신 버전의 JEM은 비스듬한 인트라 예측 방향에 대응하는 몇몇 모드를 갖는다. 이들 모드 중 어느 하나에 대하여, 블록 내의 샘플들을 예측하기 위해, 블록 변 내의 상응하는 위치가 분수이면, 이웃 참조 샘플들의 세트의 보간이 수행되어야 한다. HEVC 및 VVC는 2 개의 인접 참조 샘플 사이에서 선형 보간을 사용한다. JEM은 보다 복잡한 4-탭 보간 필터를 사용한다. 필터 계수는 폭 또는 높이 값에 따라 가우시안 또는 큐빅 필터 계수로 되도록 선택된다. 폭을 사용할지 또는 높이를 사용할지에 대한 판정은 메인 참조 변 선택에 관한 판정과 일치되고, 인트라 예측 모드가 대각선 모드보다 크거가 같을 경우, 참조 샘플들의 상변이 메인 참조 변이 되도록 선택되고 폭 값은 사용되는 보간 필터를 결정하도록 선택된다. 그렇지 않으면, 블록의 좌변으로부터 메인 변 참조가 선택되고 높이가 필터 선택 프로세스를 제어한다. 구체적으로, 선택된 변의 길이가 8 개의 샘플보다 작거나 같으면, 큐빅 보간 4 탭이 적용된다. 그렇지 않으면, 보간 필터는 4-탭 가우시안 보간 필터이다.
도 4a는 예컨대, VVC에 대하여 제안된 바와 같은 67 개의 인트라 예측 모드의 실시예를 도시하고, 67 개의 인트라 예측 모드 중 복수의 인트라 예측 모드는, 평면 모드(planar mode)(인덱스 0), dc 모드(dc mode)(인덱스 1), 및 인덱스 2 내지 66을 가진 각도 모드(angular mode)를 포함하고, 도 4a에서 좌하단의 각도 모드는 인덱스 2를 나타내고, 인덱스의 숫자는 인덱스 66이 도 4a의 가장 우상단의 각도 모드로 될 때까지 증분된다. 도 4b에 도시된 바와 같이, 최신 버전의 VVC는 광각 모드(파선으로 도시됨)를 포함하여, 비스듬한 인트라 예측 방향들에 대응하는 몇 개의 모드를 갖는다. 이들 모드 중 어느 하나에 대하여, 블록 내의 샘플들을 예측하기 위해, 블록 변 내의 상응하는 위치가 분수이면, 이웃 참조 샘플들의 세트의 보간이 수행되어야 한다.
JEM에서 사용되는 특정한 필터 계수는 표 1에 주어진다. 예측된 샘플은 다음과 같은 서브픽셀 오프셋 및 필터 타입에 따라, 표 1로부터 선택되는 계수로 컨볼루션함으로써 계산된다.
Figure pct00001
이 식에서, ">>"는 비트단위의 우향 시프트 동작을 나타낸다.
큐빅 필터가 선택되면, 예측된 샘플은 시퀀스 파라미터 세트(SPS)에서 정의된, 또는 선택된 성분의 비트 깊이로부터 도출된 허용값 범위로 더 고정된다.
[표 1]
Figure pct00002
Figure pct00003
모션 보상 프로세스도 참조 블록의 픽셀들의 변위가 분수일 때 샘플 값들을 예측하기 위해 필터링을 이용한다. JEM에서, 8-탭 필터링은 휘도 성분에 대하여 사용되고 4-탭 길이 필터링은 색차 성분에 대하여 사용된다. 모션 보간 필터는 먼저 수평으로 적용되고, 수평 필터링의 출력은 수직으로 더 필터링된다. 4-탭 색차 필터의 계수들은 표 2에 주어진다.
[표 2]
Figure pct00004
Figure pct00005
최신 비디오 코딩 해법은 인트라 예측 및 인터 예측에서 상이한 보간 필터를 사용한다. 특히, 도 5 내지 도 11은 보간 필터의 상이한 실시예들을 도시한다. 예를 들어, 도 5는 JEM에서 사용되는 보간 필터를 도시하고; 도 6은 Core Experiment CE3-3.1.3 (JVET-K1023)에 대하여 제안된 보간 필터를 도시한다.픽셀 값들을 보간하기 위해 크로마 모션 보상 서브-펠 필터의 하드웨어 모듈 및 룩업 테이블은 참조 샘플들 사이의 분수 위치에 있을 경우 인트라 예측자 내에서 재사용될 수 있다. 인터 예측 및 인트라 예측 모두에 대하여 동일한 하드웨어가 사용되게 하려는 것이기 때문에, 필터 계수들의 정밀도는 일관되어야 하며, 즉, 인트라 참조 샘플 보간에 대한 필터 계수들을 나타내기 위한 비트 수는 모션 서브-펠 모션 보상 보간 필터링의 계수 정밀도와 정렬되어야 한다.
도 12는 제안된 발명의 실시형태를 예시한다. 파선으로 표시된 "크로마에 대한 6-비트 계수를 가진 4-탭 보간 필터"(또한, "통합 인트라/인터 필터"라고 함)는 두 프로세스, 즉 인트라 및 인터 예측된 샘플들의 보간에 사용될 수 있다.
이 설계를 이용하는 특정 실시형태는 도 13에 도시된다. 이 구현예에 있어서, 필터링 모듈은 모션 보상에서 색차 샘플들의 예측과, 인트라 예측의 수행시에 휘도 및 색차 샘플들을 예측하는 것 모두에 관여되는 별개의 유닛으로서 구현되고 있다. 이 구현예에 있어서, 하드웨어 필터링 부분은 인트라 예측 프로세스 및 인터 예측 프로세스 모두에서 사용되고 있다.
다른 실시형태는 필터 계수들의 LUT들만이 재사용될 때의 구현예를 도시한다(도 14 참조). 이 구현예에 있어서, 하드웨어 필터링 모듈들은 ROM에 저장된 LUT들로부터 계수들을 로딩한다. 인트라 예측 프로세스에 도시된 스위치는 인트라 예측 프로세스에 대하여 선택된 메인 변의 길이에 따라, 사용되는 필터 타입을 결정한다.
제안된 용례의 실질적인 실시형태는 하기의 계수들을 사용할 수 있다(표 3a 및 표 3b 참조).
[표 3a]
Figure pct00006
Figure pct00007
[표 3b]
Figure pct00008
Figure pct00009
인트라 예측된 샘플은 다음과 같은 서브픽셀 오프셋 및 필터 타입에 따라, 표 3a 또는 표 3b로부터 선택되는 계수로 컨볼루션함으로써 계산된다.
Figure pct00010
이 식에서, ">>"는 비트단위의 우향 시프트 동작을 나타낸다.
"통합 인트라/인터 필터"가 선택되면, 예측된 샘플은 SPS에서 정의된, 또는 선택된 성분의 비트 깊이로부터 도출된 허용값 범위로 더 고정된다.
인트라 참조 샘플 보간 및 서브-펠 모션 보상 보간의 경우, 하드웨어 모듈을 재사용하고 필요한 메모리의 전체 크기를 줄이기 위해 동일한 필터가 사용될 수 있다.
재사용된 필터에 더하여 인트라 참조 샘플 보간에 사용되는 필터 계수들의 정밀도는 전술한 재사용된 필터의 계수들의 정밀도와 정렬되어야 한다.
모션 보상에서의 루마 처리는 반드시 8-탭 필터링을 사용하는 것이 아니라 4-탭 필터링에서 동작할 수도 있다. 이 경우에는, 4-탭 필터가 통합되게 선택될 수 있다.
실시형태들은 보간을 수반할 수 있는 인트라 예측 프로세스의 상이한 부분들에 적용될 수 있다. 특히, 메인 참조 샘플들을 확장할 때, 변 참조 샘플들은 통합 보간 필터를 사용해서 필터링될 수도 있다(상세하게는, JVET-K0211을 참조함).
인트라 블록 복사 동작도 역시 제안된 발명을 사용할 수 있는 보간 단계를 수반한다(인트라 블록 복사 설명을 위한 [Xiaozhong Xu, Shan Liu, Tzu-Der Chuang, Yu-Wen Huang, Shawmin Lei, Krishnakanth Rapaka, Chao Pang, Vadim Seregin, Ye-Kui Wang, Marta Karczewicz: Intra Block Copy in HEVC Screen Content Coding Extensions. IEEE J. Emerg. Sel. Topics Circuits Syst. 6(4): 409-419 (2016)]을 참조한다).
인트라 예측을 위한 애스펙트비 종속 필터링 방법이 개시되며, 해당 방법은, 블록의 애스펙트비에 따라 예측될 블록에 대한 보간 필터를 선택하는 단계를 포함한다.
실시예에 있어서, 보간 필터를 선택하는 단계는 예측될 블록의 인트라 예측 모드를 임계 처리하기 위한 방향에 의존한다.
실시예에 있어서, 방향은 예측될 블록의 메인 대각선의 각도에 대응한다.
실시예에 있어서, 방향의 각도는 다음과 같이 계산된다.
Figure pct00011
,
여기서, W, H는 제각기 예측될 블록의 폭 및 높이이다.
실시예에 있어서, 애스펙트비 RA = log2(W) - log2(H)이고, 여기서, W, H는 제각기 예측될 블록의 폭 및 높이이다.
실시예에 있어서, 예측될 블록의 메인 대각선의 각도는 애스펙트비에 기초하여 결정된다.
실시예에 있어서, 블록의 인트라 예측 모드의 임계치는 예측될 블록의 메인 대각선의 각도에 기초하여 결정된다.
실시예에 있어서, 보간 필터를 선택하는 단계는 사용되는 참조 샘플들이 어느 변에 속하는지에 의존한다.
실시예에 있어서, 인트라 방향에 대응하는 각도를 갖는 직선은 블록을 2 개의 영역으로 나눈다.
실시예에 있어서, 서로 다른 영역에 속하는 참조 샘플들은 상이한 보간 필터들을 사용해서 예측된다.
실시예에 있어서, 필터는 큐빅 보간 필터 또는 가우스 보간 필터를 포함한다.
본원의 일 구현 형태에 있어서, 프레임은 영상과 동일하다.
본원의 일 구현 형태에 있어서, VER_IDX에 대응하는 값은 50이고; HOR_IDX에 대응하는 값은 18이고; VDIA_IDX에 대응하는 값은 66이고, 이 값은 각도 모드에 대응하는 값들 중에서 최대값일 수 있고; 인트라 모드 2에 대응하는 값 2는 각도 모드에 대응하는 값들 중에서 최소값일 수 있고; DIA_IDX에 대응하는 값은 34이다.
본 개시물은 인트라 모드 시그널링 스킴의 개량을 목표로 할 수 있다. 본 개시물에서는, 비디오 디코딩 방법 및 비디오 디코더가 제안된다.
본원의 다른 양태에 있어서, 처리 회로를 포함하는 디코더가 개시되고, 이는 상기 디코딩 방법을 수행하도록 구성된다.
본원의 다른 양태에 있어서, 컴퓨터 프로그램 제품이 개시되고, 이는 상기 디코딩 방법을 수행하기 위한 프로그램 코드를 포함한다.
본원의 다른 양태에 있어서, 비디오 데이터를 디코딩하기 위한 디코더가 개시되고, 디코더는, 하나 이상의 프로세서; 및 프로세서에 결합되며 프로세서에 의한 실행을 위한 프로그래밍을 저장하는 비-일시적인 컴퓨터-판독 가능 저장 매체를 포함하고, 프로그래밍은, 프로세서에 의한 실행시에, 상기 디코딩 방법을 수행하도록 디코더를 구성한다.
처리 회로는 하드웨어로, 또는 하드웨어와 소프트웨어의 조합으로, 예를 들어, 소프트웨어 프로그램 가능 프로세서 등에 의해 구현될 수 있다.
H.264/AVC 및 HEVC는 인트라 예측 프로세스에서 사용되기 전에 로우-패스 필터가 참조 샘플들에 적용될 수 있음을 명시한다. 참조 샘플 필터를 사용할지의 여부에 대한 판정은 인트라 예측 모드 및 블록 크기에 의해 결정된다. 이 메커니즘을 모드 종속 인트라 평활화(Mode Dependent Intra Smoothing)(MDIS)라고 할 수 있다. MDIS와 관련된 복수의 방법도 존재한다. 예를 들어, 적응형 참조 샘플 평활화(Adaptive Reference Sample Smoothing)(ARSS) 방법은 예측 샘플들이 필터링되는지의 여부를 명시적으로(즉, 플래그가 비트스트림에 포함됨) 또는 암시적으로(즉, 예를 들어, 시그널링 오버헤드를 줄이기 위해 데이터 은닉을 사용해서 플래그가 비트스트림에 포함되는 것을 방지함) 시그널링할 수 있다. 이 경우, 인코더는 모든 잠재적인 인트라 예측 모드에 대하여 레이트-왜곡(RD)을 테스트함으로써 평활화에 대해 결정할 수 있다.
도 4a 및 도 4b에 도시된 바와 같이, 최신 버전의 JEM(JEM-7.2)은 비스듬한 인트라 예측 방향에 대응하는 몇몇 모드를 갖는다. 이들 모드 중 어느 하나에 대하여, 블록 내의 샘플들을 예측하기 위해, 블록 변 내의 상응하는 위치가 분수이면, 이웃 참조 샘플들의 세트의 보간이 수행되어야 한다. HEVC 및 VVC는 2 개의 인접 참조 샘플 사이에서 선형 보간을 사용한다. JEM은 보다 복잡한 4-탭 보간 필터를 사용한다. 필터 계수는 폭 또는 높이 값에 따라 가우시안 또는 큐빅 필터 계수로 되도록 선택된다. 폭을 사용할지 또는 높이를 사용할지에 대한 판정은 메인 참조 변 선택에 관한 판정과 일치되고, 인트라 예측 모드가 대각선 모드보다 크거가 같을 경우, 참조 샘플들의 상변이 메인 참조 변이 되도록 선택되고 폭 값은 사용되는 보간 필터를 결정하도록 선택된다. 그렇지 않으면, 블록의 좌변으로부터 메인 변 참조가 선택되고 높이가 필터 선택 프로세스를 제어한다. 구체적으로, 선택된 변의 길이가 8 개의 샘플보다 작거나 같으면, 큐빅 보간 4 탭이 적용된다. 그렇지 않으면, 보간 필터는 4-탭 가우시안 보간 필터이다.
32×4 블록의 경우 대각선 모드(45°로 표시됨)보다 작은 모드 및 큰 모드에 대한 보간 필터 선택의 실시예를 도 15에 도시한다.
VVC에서는, QTBT로서 알려진 쿼드-트리 및 이진 트리 모두에 기초하는 파티셔닝 메커니즘이 사용된다. 도 16에 묘사된 바와 같이, QTBT 파티셔닝은 정사각형 블록 뿐만 아니라 직사각형 블록도 제공할 수 있다. 물론, HEVC/H.265 표준에서 사용되는 종래의 쿼드-트리 기반 파티셔닝과 비교하면, QTBT 파티셔닝의 대가로서 인코더 측에서 약간의 시그널링 오버헤드가 있고 계산 복잡성이 증가된다. 그럼에도 불구하고, QTBT 기반의 파티셔닝은 세그먼트화 특성이 더 양호하고, 그에 따라, 종래의 쿼드-트리 기반의 파티셔닝보다 훨씬 높은 코딩 효율을 보여준다.
그러나, 그 현재 상태에 있어서의 VVC는 참조 샘플들의 두 변(좌변 및 상변)에 동일한 필터를 적용한다. 블록이 수직하게 배향되든 수평하게 배향되든 상관없이, 참조 샘플 필터는 두 참조 샘플 변들에 대하여 동일할 것이다.
본 문헌에서, "수직하게 배향된 블록"("블록의 수직 배향") 및 "수평하게 배향된 블록"("블록의 수평 배향")이라는 용어는 QTBT 프레임워크에 의해 생성되는 직사각형 블록들에 적용된다. 이들 용어는 도 17에 도시된 것과 동일한 의미를 갖는다.
본 개시물은 블록의 배향을 고려하기 위해 상이한 참조 샘플 필터들을 선택하는 메커니즘을 제안한다. 구체적으로, 예측될 블록의 상이한 변들에 위치된 참조 샘플에 상이한 참조 샘플 필터들이 적용되도록, 블록의 폭 및 높이가 독립적으로 확인된다.
선행 기술의 관점에서는, 보간 필터 선택이 메인 참조 변 선택에 대한 판정과 일치된다는 것을 설명했다. 이들 판정은 모두 현재 대각선(45 도) 방향을 갖는 인트라 예측 모드의 비교에 의존한다.
그러나, 이 설계는 세장형 블록들에 대하여 심각한 결함이 있다는 점에 주목할 수 있다. 도 18로부터, 모드 비교 기준을 사용해서 짧은 변이 메인 참조로서 선택되더라도, 대부분의 예측된 픽셀들은 여전히 긴 변의 참조 샘플들로부터 도출될 것임을 확인할 수 있다(파선 영역으로 도시됨).
본 개시물은 보간 필터 선택 프로세스 동안 인트라 예측 모드를 임계 처리하기 위해 대체 방향을 사용할 것을 제안한다. 구체적으로, 방향은 예측될 블록의 메인 대각선의 각도에 대응한다. 예를 들어, 32×4 크기 및 4×32 크기의 블록들의 경우, 참조 샘플 필터를 결정하는 데 사용되는 임계치 모드(mT)는 도 19에 도시된 바와 같이 정의된다.
임계치 인트라 예측 각도의 구체적인 값은 다음 식을 사용해서 계산될 수 있다.
Figure pct00012
여기서, W 및 H는 제각기 블록의 폭 및 높이이다.
본 개시물의 다른 실시형태는 사용되는 참조 샘플들이 어느 변에 속하는지에 따라 상이한 보간 필터들을 사용하는 것이다. 이 결정의 실시예는 도 20에 도시된다.
인트라 방향(m)에 대응하는 각도를 갖는 직선은 예측된 블록을 2 개의 영역으로 나눈다. 서로 다른 영역에 속하는 샘플들은 상이한 보간 필터들을 사용해서 예측된다.
(BMS1.0에서 정의되는 인트라 예측 모드 세트에 대한) mT의 예시적인 값들 및 상응하는 각도들은 표 4에 주어진다. 각도(α)는 도 19 및 도 20에 도시된 바와 같이 주어진다.
[표 4]
Figure pct00013
기존의 기술 및 해법과 비교하면, 본 개시물은 상이한 보간 필터들을 사용해서 예측된 블록 내의 샘플들을 사용하고, 샘플을 예측하는 데 사용된 보간 필터는 블록 형상, 배향이 수평인지 또는 수직인지, 및 인트라 예측 모드 각도에 따라 선택된다.본 개시물은 참조 샘플 필터링 단계에서 적용될 수 있다. 특히, 보간 필터 선택 프로세스에 대하여 전술한 규칙과 유사한 규칙을 사용해서 참조 샘플 평활화 필터를 결정하는 것이 가능하다.
보간 필터링 외에, 인트라 예측자 내의 샘플들을 예측하기 직전에 참조 샘플 필터링이 참조 샘플들에 적용될 수도 있다. 참조 샘플 필터링 이후에 취득되는 필터링된 참조 샘플들은 인트라 예측 모드의 선택된 방향에 따라 인트라 예측자 내의 상응하는 샘플들에 복사하기 위해 또는 추가적인 보간 필터링을 위해 사용될 수 있다. 하기의 필터들은 이렇게 참조 샘플들에 적용될 수 있다.
[표 5]
Figure pct00014
방향성 예측의 결과는 다음을 포함하여, 상이한 수단에 의해 취득되는 예측의 결과와 결합될 수 있다.● 경계 평활화,
● PDPC 및 단순화된 PDPC
경계 평활화 및 PDPC의 경우, 예측된 블록의 몇 개의 제1 열들 또는 몇 개의 제1 행들이 이웃 샘플들로부터 생성되는 추가적인 예측 신호와 결합된다.
단순화된 PDPC의 특정 구현예는 인트라 예측 모드에 따라 상이하게 수행될 수 있다.
평면, DC, HOR/VER 인트라 예측 모드들(도 4a 및 도 4b에서는 제각기 0, 1, 18, 50으로 표시됨)의 경우, 다음 단계들이 수행된다.
(x, y)에 위치된 예측 샘플 P(x,y)가 다음과 같이 계산된다.
Figure pct00015
여기서, Rx ,-1, R- 1,y는 현재의 샘플 (x, y)의 상부 및 좌측에 위치된 참조 샘플들을 나타내고, R-1,-1은 현재의 블록의 좌상단 코너에 위치된 참조 샘플을 나타낸다. DC 모드 가중치는 다음과 같이 계산된다.
Figure pct00016
여기서
Figure pct00017
평면 모드의 경우에는, wTL = 0이고, 반면에, 수평 모드의 경우에는 wTL = wT이며 수직 모드의 경우에는 wTL = wL이다. 하나의 4×4 블록 내부의 (0, 0) 및 (1, 0) 위치에 대한 DC 모드 PDPC 가중치 (wL, wT, wTL)이 도시된다.
대각선 모드(도 4a 및 도 4b에서 2 및 66으로 표시됨) 및 인접 모드(도 4a 또는 도 4b에서 58보다 작지 않고 10보다 크지 않은 방향성 모드들) 처리가 후술하는 바와 같이 수행된다.
도 22(a)는 우상향 대각선 모드로의 PDPC의 확장에 대한 참조 샘플들 Rx ,-1, R-1,y 및 R-1,-1의 정의를 예시한다. 예측 샘플 pred(x', y')는 예측 블록 내의 (x', y')에 위치된다. 참조 샘플 Rx ,-1의 좌표 x는 x = x' + y' + 1로 주어지고, 참조 샘플 R- 1,y의 좌표 y는 유사하게 y = x' + y' + 1로 주어진다.
우상향 대각선 모드의 PDPC 가중치는 다음과 같다.
Figure pct00018
유사하게 도 22(b)는 좌하향 대각선 모드로의 PDPC의 확장에 대한 Rx ,-1, R- 1,y 및 R-1,-1의 정의를 예시한다. 참조 샘플 Rx ,-1의 좌표 x는 x = x' + y' + 1로 주어지고, 참조 샘플 R- 1,y의 좌표 y는 y = x' + y' + 1로 주어진다. 우상향 대각선 모드에 대한 PDPC 가중치는, wT = 16 >> ((y'<<1) >> shift), wL = 16 >> ((x'<<1) >> shift), wTL = 0이다. 인접하는 우상향 대각선 모드의 사례는 도 22(c)에 예시된다. 인접하는 우상향 대각선 모드의 PDPC 가중치는, wT = 32 >> ((y'<<1) >> shift), wL = 0, wTL = 0이다. 유사하게, 인접하는 좌하향 대각선 모드의 사례는 도 22(d)에 예시된다. 인접하는 좌하향 대각선 모드에 대한 PDPC 가중치는, wL = 32 >> ((x'<<1) >> shift), wT =0, wTL = 0이다. 마지막 두 가지 사례에 대한 참조 샘플 좌표는 각도 모드 인트라 예측에 이미 사용된 표들을 사용해서 계산된다. 참조 샘플들의 선형 보간은 분수 참조 샘플 좌표가 계산될 경우에 사용된다.
그러나, 방향성 인트라 예측을 위한 입력 프로세스로서 사용되는 이웃하는 샘플들의 처리(예컨대, 필터링)는 PDPC 또는 단순화된 PDPC의 입력에 전달된 것들과는 다를 수 있다. 예를 들어, 방향성 인트라 예측은 필터링된 참조 샘플들을 사용할 수 있지만, PDPC 또는 단순화된 PDPC는 필터링되지 않은 참조 샘플들을 사용한다. 특히, 방향성 인트라 예측 모드가 정수-샘플 서브픽셀 오프셋을 갖는 광각 모드일 경우(표 X에 주어지며 더 설명되는 intraPredAngle), 참조 샘플들이 필터링될 수 있으며, 반면에 PDPC는 필터링되지 않은 참조 샘플들을 사용한다.
단순화된 PDPC의 경우에는, 현재의 구현예가 도 23에 도시된다.
도 23에서, 파선 상자는 다음 중 하나를 특정한다.
● 단순화된 PDPC 프로세스;
● PDPC 프로세스(예컨대, JEM에서 특정된 바와 같음);
● 경계 평활화(예컨대, HEVC에서 특정됨).
인트라 예측의 결과들을 업데이트하기 위해 선형 결합을 사용하는 다른 방법들
이들 모든 사례들에 있어서, 이 프로세스는 업데이트 단계, 즉, 인트라 예측의 출력들의 선형 결합 및 추가적인 부분 생성 단계들을 포함한다.
특정 구현예에 있어서, "참조 샘플 필터링 #1" 및 인트라 예측의 단계는 서브픽셀 보간 필터 계수를 참조 샘플 필터의 계수로 컨볼루션함으로써 병합될 수 있다. 그러나, 비-분수 변위를 갖는 인트라 예측 모드의 경우(intraPredAngle이 32의 배수일 경우), 이 경우의 필터링 동작이 도 23에 도시된 바와 같이 각각의 예측된 샘플마다 수행될 것이지만 각각의 참조 샘플마다 수행되는 것은 아니기 때문에, 이 병합은 중복적이다.
도 23으로부터, 특정되는 intraPredMode에 따라 참조 샘플들이 상이하게 필터링될 수 있다는 점에 주목할 수 있다. 예를 들어, 참조 샘플들에 적용되는 필터에 대한 판정은 표 X에 따라 취해질 수 있다. 표 X는 다음과 같은 명시적 의미를 사용한다,
― "S"는 판정이 블록 크기에 의존한다는 것을 의미한다. 이 크기 의존성은 다음과 같이 수행된다. 즉, (log2(nTbW) + Log2(nTbH)) >> 1와 같게 설정된 블록 크기 파라미터 nTbS가 소정의 임계치(TS)와 비교된다. nTbS>TS일 경우, "1"의 값에 대하여 더 설명되는 바와 같이 동일한 처리가 적용된다. 그렇지 않으면, nTbS≤TS일 경우, "0"의 값에 대하여 더 설명되는 바와 같이 동일한 처리가 적용된다. 여기서, nTbW 및 nTbH는 제각기 예측된 블록의 폭 및 높이를 나타내고, ">>"는 우향 시프트 동작을 나타낸다. TS의 값은, 예컨대, 2로 설정되거나, 인트라 예측 모드에 따라 정의되도록 설정될 수 있다(예컨대, HEVC에 대한 MDIS의 경우에 행해지는 바와 같음);
― "1"은 처리가 활성화됨을 의미한다. 참조 샘플 필터링의 경우, "1"의 값은 참조 샘플들이 [1 2 1] 필터에 의해 처리됨을 의미한다;
― "0"은 처리가 비활성화됨을 의미한다. 참조 샘플 필터링의 경우, "1"의 값은 참조 샘플들이 [1] 필터에 의해 처리됨, 즉, 참조 샘플들에 필터링이 적용되지 않음을 의미한다.
[표 X]
Figure pct00019
본 발명의 실시형태들은 예측된 블록의 시각적 품질을 향상시키는 데 사용되는 방향성 예측 및 추가적인 예측 신호의 출력을 조합하여 참조 샘플 처리를 통합하는 것을 목표로 한다. 이 통합의 결과는 참조 샘플들이 한 번만 처리되는 것이고, 이 처리의 결과는 방향성 인트라 예측 프로세스 및 추가적인 예측을 생성하는 것 모두에 의해 재사용된다(도 24 참조).도 24에 도시된 사례에 있어서는, 단 한 번의 참조 샘플 필터링 단계가 필요하다는 점에 주목할 수 있다. 따라서, 표 Y에 따라 필터링 판정이 수행된다.
[표 Y]
Figure pct00020
단순화된 PDPC의 경우의 추가적인 부분은 VVC 설명서에 특정된 바와 같이 수행될 수 있다. 다음과 같은 명시적 의미가 더 사용된다.
Figure pct00021
은 역 각도의 값임
Figure pct00022
Floor(x)는 x보다 작거나 같은 최대 정수임,
Log2(x)는 밑을 2로 하는 x의 로그함수임.
intraPredAngle은 표 X 또는 표 Y에서 특정되는 각도 파라미터임,
A = C ? B : D는 터너리 할당 동작이고, 여기서 조건 C가 참일 경우, A가 B와 같게 설정됨. 그렇지 않으면, 조건 C가 거짓일 경우, A가 D와 같게 설정됨.
INTRA_PLANAR는 평면 인트라 예측 모드 ()임,
INTRA_DC는 DC 인트라 예측 모드임,
INTRA_ANGULARXX는 방향성 인트라 예측 모드들 중 하나이고, 여기서 XX는 그 번호 및 도 4b에 도시된 상응하는 방향을 나타냄.
상기의 명시적 의미가 주어지면, 단순화된 PDPC의 단계들은 다음과 같이 정의될 수 있다.
이 프로세스에 대한 입력들은 다음과 같다.
― 인트라 예측 모드 predModeIntra,
― 변환 블록 폭을 특정하는 변수 nTbW,
― 변환 블록 높이를 특정하는 변수 nTbH,
― 참조 샘플 폭을 특정하는 변수 refW,
― 참조 샘플 높이를 특정하는 변수 refH,
― 예측된 샘플들 predSamples[x][y], 여기서 x = 0..nTbW - 1, y = 0..nTbH - 1임,
― 이웃하는 샘플들 p[x][y], 여기서 x = -1, y = 1..refH - 1 및 x = 0..refW - 1, y = -1임,
― 현재의 블록의 컬러 성분을 특정하는 변수 cIdx.
이 프로세스의 출력은 수정된 예측된 샘플 predSamples[x][y]이고, 여기서 x = 0..nTbW - 1, y = 0..nTbH - 1이다.
cIdx의 값에 따라, 함수 clip1Cmp가 다음과 같이 설정된다.
― cIdx가 0이면, clip1Cmp는 Clip1Y와 같게 설정된다.
― 그렇지 않으면, clip1Cmp는 Clip1C와 같게 설정된다.
변수 nScale은 ((Log2(nTbW) + Log2(nTbH) - 2) >> 2)로 설정된다.
참조 샘플 어레이 mainRef[x] 및 sideRef[y]는 다음과 같이 도출되고, 여기서 x = 0..refW - 1 및 y = 0..refH - 1이다.
Figure pct00023
변수 refL[x][y], refT[x][y], wT[y], wL[x] 및 wTL[x][y]는 다음과 같이 도출되고, 여기서 x = 0..nTbW - 1, y =0..nTbH - 1이다.
― predModeIntra가 INTRA_PLANAR, INTRA_DC, INTRA_ANGULAR18, 또는 INTRA_ANGULAR50이면, 다음이 적용된다.
Figure pct00024
Figure pct00025
Figure pct00026
― 그렇지 않으면, predModeIntra가 INTRA_ANGULAR2 또는 INTRA_ANGULAR66이면, 다음이 적용된다.
Figure pct00027
― 그렇지 않으면, predModeIntra가 INTRA_ANGULAR10보다 작거나 같으면, 다음과 같은 순서의 단계들이 적용된다.
1. 변수 dXPos[y], dXFrac[y], dXInt[y] 및 dX[x][y]는 invAngle을 사용해서 다음과 같이 도출된다.
Figure pct00028
2. 변수 refL[x][y], refT[x][y], wT[y], wL[x] 및 wTL[x][y]는 다음과 같이 도출된다.
Figure pct00029
Figure pct00030
Figure pct00031
Figure pct00032
Figure pct00033
― 그렇지 않으면, predModeIntra가 INTRA_ANGULAR58보다 크거나 같으면(도 4b 참조), 다음과 같은 순서의 단계들이 적용된다.
1. 변수 dYPos[x], dYFrac[x], dYInt[x] 및 dY[x][y]는 intraPredMode에 따라 아래에서 특정되는 바와 같이 invAngle을 사용해서 다음과 같이 도출된다.
Figure pct00034
2. 변수 refL[x][y], refT[x][y], wT[y], wL[x] 및 wTL[x][y]는 다음과 같이 도출된다.
Figure pct00035
― 그렇지 않으면, refL[x][y], refT[x][y], wT[y], wL[x] 및 wTL[x][y]는 모두 0과 같게 설정된다.
수정된 예측된 샘플 predSamples[x][y]의 값은 다음과 같이 도출되고, 여기서 x = 0..nTbW - 1, y =0..nTbH - 1이다.
Figure pct00036
상기 식 1(Eq. 1)의 할당에 있어서는, 단순화된 PDPC가 선형 보간을 대신하여 최근접-이웃 보간을 사용할 수 있다.
Figure pct00037
유사하게, 식 2(Eq. 2)의 할당도 역시 최근접-이웃 보간을 사용할 수 있다.
Figure pct00038
따라서, 인코더 측 및 디코더 측 모두에서, 제안된 방법은 입력 데이터로서 다음을 사용한다.
● 방향성 인트라 예측 모드(도 4a 및 도 4b에 도시된 predModeIntra로서 더 표시됨)
● (log2(nTbW) + Log2(nTbH)) >> 1과 같게 설정된 블록 크기 파라미터 nTbS, 여기서 nTbW 및 nTbH는 제각기 예측된 블록의 폭 및 높이를 나타내고, ">>"는 우향 시프트 동작을 나타냄.
인트라 예측 방법을 구현하기 위해 하기의 단계들이 수행될 수 있다.
단계 1: 참조 샘플들, 인트라 예측 모드(intraPredMode) 및/또는 블록 치수(폭 및 높이)에 기초하여 참조 샘플 필터링을 수행하는 단계.
단계 2: intraPredAngle에 따라 처리된 참조 샘플들(필터링된 또는 필터링되지 않은 참조 샘플들)(단계 1의 결과)에 기초하여 방향성 인트라 예측을 수행하는 단계.
단계 3: 단계 2에서 취득된 결과를 다음과 같을 수 있는 예측 결합으로 업데이트하는 단계
● PDPC;
● 단순화된 PDPC
여기서, 단계 3에서 사용된 입력 참조 샘플들은 정수 구배 광각 모드에 대하여 단계 1에서 취득되어 단계 2에서 사용되는 동일한 참조 샘플들임(예컨대, 표 6 및 표 7에서 특정된 바와 같은 -14, -12, -10, -6, 72, 76, 78, 80).
참조 샘플 필터링은, predModeIntra에 기초하여, 필터링된 또는 필터링되지 않은 참조 샘플 버퍼가 사용되어야 하는지의 여부를 판정하는 것을 포함할 수 있다. 이는 표 5에 열거된 필터들 중 하나를 적용함으로써 수행될 수 있다. VVC에서는, 인덱스가 0 및 1인 필터들이 사용된다. 예를 들어, 참조 샘플들은 predMode가 2, 34 또는 66일 경우 및 nTbS>2일 경우에 필터링된다(표 5에서의 필터 인덱스 "1"이 사용됨).
전술한 방법의 대안적인 실시형태는 이 단계에서 인트라 예측 모드(predModeIntra)(IntraPredMode라고도 표기됨)를 대신하여 각도 파라미터(intraPredAngle로 더 표시됨)를 사용하는 것이다. 이 경우, 참조 샘플들은 intraPredAngle의 값이 32의 배수이고 nTbS>2일 경우에 필터링된다(표 5의 필터 인덱스 "1"이 사용됨).
제안된 방법의 이용을 가능하게 하는 VVC 설명서의 수정판은 단순화된 PDPC를 설명하는 섹션에서 "이웃하는 샘플들 p[x][y]"를 "참조 샘플들 p[x][y]"로 치환하는 것을 포함할 수 있다.
각도 파라미터 intraPredAngle은 5-비트와 같은 분수 부분의 길이를 갖는 고정점 표현에서 예측된 샘플들의 2 개의 인접하는 행들 사이의 서브픽셀 오프셋을 나타낸다. 이 파라미터는 인트라 예측 모드(predModeIntra)로부터 도출될 수 있다. predModeIntra로부터의 intraPredAngle의 예시적인 도출은, 예컨대, 도 8에 도시된 바와 같이, LUT로 정의될 수 있다.
[표 8]
Figure pct00039
예를 들면, 설명된 방법과 관련된 개시내용은 방법을 수행하도록 구성되는 상응하는 디바이스 또는 시스템에 대해서 유효할 수 있고, 그 반대의 경우도 마찬가지임을 이해한다. 예를 들어, 특정한 방법 단계가 설명될 경우, 상응하는 디바이스는 설명된 방법 단계를 수행하기 위한 유닛이 도면에서 명시적으로 설명 또는 예시되지 않더라도 이 유닛을 포함할 수 있다. 또한, 본 명세서에서 설명되는 다양한 예시적인 양태들의 특징들은, 구체적으로 달리 주지하지 않는 한, 서로 결합될 수 있음을 이해한다.
비디오 코딩은 일반적으로 비디오 또는 비디오 시퀀스를 형성하는 일련의 영상의 처리를 의미한다. 영상, 이미지 또는 프레임이라는 용어는 본원에서 뿐만 아니라 비디오 코딩 분야에서 동의어로 사용될 수 있거나/사용된다. 각 영상은 일반적으로 비-중첩 블록 세트로 파티셔닝된다. 영상의 인코딩/디코딩은 일반적으로 블록 레벨에서 수행되고, 여기서, 예컨대, 인터 프레임 예측 및 인트라 프레임 예측은, 예측 블록을 생성하고, 현재의 블록(현재 처리된/처리될 블록)으로부터 예측 블록을 빼서 잔차 블록을 취득하고, 잔차 블록을 더 변환하고 양자화하여 전송될 데이터의 양을 줄이는(압축) 데 사용되는 반면, 디코더 측에서는, 블록을 표현하도록 복원하기 위해 반대의 처리가 인코딩/압축된 블록에 적용된다.
본원은 하기의 실시형태들을 더 제공한다.
실시형태 1. 인트라 예측 방법으로서, 방법은,
참조 샘플들을 처리하는 단계와,
인트라 예측에 따라 제안된 참조 샘플들에 기초하여 방향성 인트라 예측을 수행하는 단계와,
제안된 참조 샘플들에 기초하여 추가적인 예측을 수행하는 단계를 포함한다.
실시형태 2. 실시형태 1의 방법으로서, 참조 샘플들을 처리하는 단계는 참조 샘플 필터링 또는 서브픽셀 보간 필터링을 포함한다.
실시형태 3. 실시형태 1의 방법으로서, 방향성 인트라 예측 모드는 하기의 그룹들 중 적어도 하나의 그룹에 속한다.
A. 수직 모드 또는 수평 모드의 그룹,
B. 45 도의 배수인 각도들을 나타내는 대각선 모드들의 그룹,
C. 나머지 방향성 모드들의 그룹.
실시형태 4. 실시형태 3의 방법으로서, 방향성 인트라 예측 모드가 그룹 A에 속하는 것으로 분류될 경우, 필터를 참조 샘플들에 적용하지 않고 인트라 예측자를 생성한다.
실시형태 5. 실시형태 3의 방법으로서, 방향성 모드가 그룹 B에 속하는 경우, 참조 샘플 필터를 참조 샘플들에 적용하여 필터링된 값들을 선택된 방향에 따라 인트라 예측자에 복사한다(보간 필터는 적용되지 않음).
실시형태 6. 실시예 3의 방법으로서, 방향성 모드가 그룹 C에 속하는 것으로 분류될 경우, 인트라 참조 샘플 보간 필터를 참조 샘플들에 적용하여, 선택된 방향에 따라 참조 샘플들 사이의 분수 또는 정수 위치에 속하는 예측된 샘플을 생성한다(참조 샘플 필터링은 수행되지 않음).
실시형태 7. 실시형태 1 내지 실시형태 6 중 어느 하나의 실시형태의 방법으로서, 참조 샘플 필터링의 수행은 참조 샘플들, 인트라 예측 모드(IntraPredMode), 또는 블록 크기 파라미터 중 적어도 하나에 기초한다.
실시형태 8. 실시형태 7의 방법으로서, 처리된 참조 샘플들은 필터링된 참조 샘플들 또는 필터링되지 않은 참조 샘플들을 포함한다.
실시형태 9. 실시형태 7의 방법으로서, 방법은,
predModeIntra에 기초하여 필터링된 또는 필터링되지 않은 참조 샘플 버퍼가 사용되는지의 여부를 판정하는 단계를 더 포함한다.
실시형태 10. 실시형태 9의 방법으로서, 인덱스가 0 또는 1인 필터가 사용된다.
실시형태 11. 실시형태 9의 방법으로서, 참조 샘플들은 predMode가 2, 34 또는 66일 경우 및 nTbS>2일 경우에 필터링된다(표 5에서의 필터 인덱스 "1"이 사용됨).
실시형태 12. 실시형태 7의 방법으로서, 방법은,
블록 크기 파라미터에 기초하여 필터링된 또는 필터링되지 않은 참조 샘플 버퍼가 사용되는지의 여부를 판정- 블록 크기 파라미터는 각도 파라미터(intraPredAngle)임 -하는 단계를 더 포함한다.
실시형태 13. 실시형태 12의 방법으로서, 참조 샘플들은 intraPredAngle의 값이 32의 배수이고 nTbS>2일 경우에 필터링된다(표 5의 필터 인덱스 "1"이 사용됨).
실시형태 14. 실시형태 1 내지 실시형태 13 중 어느 하나의 실시형태의 방법으로서, 추가적인 예측은 위치-종속 예측 결합(Position-Dependent Prediction Combination)(PDPC) 또는 단순화된 PDPC이다.
실시형태 15. 실시형태 1 내지 실시형태 14 중 어느 하나의 실시형태의 방법으로서, 인트라 예측 및 추가적인 예측은 병렬로 수행된다.
실시형태 16. 실시형태 1 내지 실시형태 15 중 어느 하나의 실시형태의 방법으로서, 방향성 인트라 예측은 정수 구배 광각 모드(예컨대, 표 X 및 표 Y에서 특정된 바와 같은 -14, -12, -10, -6, 72, 76, 78, 80)를 포함한다.
디코더 또는 인코더는 상기 방법들을 수행하도록 구성되는 처리 회로를 포함한다.
본 개시물에 있어서, 상기 방법들을 수행하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램 제품이 개시된다.
본 개시물에 있어서, 비디오 데이터를 디코딩하기 위한 디코더가 개시되고, 디코더는, 하나 이상의 프로세서; 및 프로세서에 결합되며 프로세서에 의한 실행을 위한 프로그래밍을 저장하는 비-일시적인 컴퓨터-판독 가능 저장 매체를 포함하고, 프로그래밍은, 프로세서에 의한 실행시에, 상기 방법들을 수행하도록 디코더를 구성한다.
도 25는 비디오의 현재의 영상에서의 현재의 이미지 블록의 인트라 예측을 위한 장치(2500)의 예시적인 구조를 도시하는 블록도이다. 실시예에 있어서, 장치(2500)는 도 2에서의 인트라 예측 유닛(254)에 대응하는 것일 수 있다. 다른 실시예에 있어서, 장치(2500)는 도 3에서의 인트라 예측 유닛(354)에 대응하는 것일 수 있다. 장치(2500)는 상기 방법들을 수행하도록 구성되고, 블록의 인트라 예측 모드를 취득하도록 구성되는 취득 유닛(2502); 및 블록의 인트라 예측 모드가 광각 모드일 경우 필터링된 참조 샘플들에 기초하여 블록의 예측된 샘플들을 취득하도록 구성되는 광각 예측 유닛(2504)을 포함할 수 있다.
장치(2500)는 블록의 인트라 예측 모드가 광각 모드인지의 여부를 판정하도록 구성되는 판정 유닛(도 25에는 도시되지 않음)을 더 포함할 수 있다.
도 26은 다양한 실시형태들을 구현하는 데 사용될 수 있는 장치(1500)의 블록도이다. 장치(1500)는 도 1에 도시된 바와 같은 소스 디바이스(12), 또는 도 2에 도시된 바와 같은 비디오 인코더(20), 또는 도 1에 도시된 바와 같은 수신지 디바이스(14), 또는 도 3에 도시된 바와 같은 비디오 디코더(30)일 수 있다. 부가적으로, 장치(1500)는 설명된 요소들 중 하나 이상을 호스팅할 수 있다. 일부 실시형태들에 있어서, 장치(1500)는 스피커, 마이크로폰, 마우스, 터치스크린, 키패드, 키보드, 프린터, 디스플레이 등과 같은 하나 이상의 입력/출력 디바이스를 갖춘다. 장치(1500)는 버스에 연결되는 하나 이상의 중앙 처리 장치(CPU)(1510), 메모리(1520), 대용량 스토리지(1530), 비디오 어댑터(1540), 및 I/O 인터페이스(1560)를 포함할 수 있다. 버스는 메모리 버스 또는 메모리 컨트롤러, 주변 장치 버스, 비디오 버스 등을 포함하는 임의의 타입의 몇 가지 버스 아키텍처 중 하나 이상이다.
CPU(1510)는 임의의 타입의 전자 데이터 프로세서를 가질 수 있다. 메모리(1520)는 정적 랜덤 액세스 메모리(SRAM), 동적 랜덤 액세스 메모리(DRAM), 동기식 DRAM(SDRAM), 리드-온리 메모리(ROM), 이들의 조합 등과 같은 임의의 타입의 시스템 메모리일 수 있거나, 또는 이를 가질 수 있다. 실시형태에 있어서, 메모리(1520)는 컴퓨터 시동시에 사용하기 위한 ROM, 및 프로그램을 실행하는 동안 사용하기 위해 프로그램 및 데이터 저장 장치를 위한 DRAM을 포함할 수 있다. 실시형태들에 있어서, 메모리(1520)는 비일시적 메모리이다. 대용량 스토리지(1530)는 데이터, 프로그램, 및 그 밖의 정보를 저장하고 버스를 통해 해당 데이터, 프로그램, 및 그 밖의 정보에 액세스할 수 있게 하는 임의의 타입의 저장 장치를 포함한다. 대용량 스토리지(1530)는, 예를 들어, 솔리드 스테이트 드라이브, 하드 디스크 드라이브, 자기 디스크 드라이브, 광 디스크 드라이브 등을 하나 이상 포함할 수 있다.
비디오 어댑터(1540) 및 I/O 인터페이스(1560)는 외부 입력 및 출력 디바이스를 장치(1500)에 결합하기 위해 인터페이스를 제공한다. 예를 들어, 장치(1500)는 클라이언트들에 대한 SQL 커맨드 인터페이스를 제공할 수 있다. 예시된 바와 같이, 입력 및 출력 디바이스의 실시예들은 비디오 어댑터(1540)에 결합되는 디스플레이(1590) 및 I/O 인터페이스(1560)에 결합되는 마우스/키보드/프린터(1570)의 임의의 조합을 포함한다. 다른 디바이스들은 장치(1500)에 결합될 수 있으며, 추가적인 또는 보다 적은 인터페이스 카드가 이용될 수 있다. 예를 들어, 프린터에 직렬 인터페이스를 제공하기 위해 직렬 인터페이스 카드(도시되지 않음)가 사용될 수 있다.
장치(1500)는 또한 이더넷 케이블 등과 같은 유선 링크, 및/또는 액세스 노드 또는 하나 이상의 네트워크(1580)에 대한 무선 링크를 포함하는 하나 이상의 네트워크 인터페이스(1550)를 포함한다. 네트워크 인터페이스(1550)는 장치(1500)가 네트워크(1580)를 통해 원격 유닛과 통신할 수 있게 한다. 예를 들어, 네트워크 인터페이스(1550)는 데이터베이스에 대한 통신을 제공할 수 있다. 실시형태에 있어서, 장치(1500)는, 다른 처리 유닛들, 인터넷, 원격 스토리지 설비 등과 같은 원격 디바이스와의 데이터 처리 및 통신을 위해 로컬-에어리어 네트워크 또는 와이드-에어리어 네트워크에 결합된다.
아래에서는, 전술한 실시형태들에서 도시된 바와 같은 인코딩 방법 및 디코딩 방법과, 이를 이용하는 시스템의 용례를 설명한다.
도 27은 콘텐츠 배포 서비스를 실현하기 위한 콘텐츠 공급 시스템(3100)을 도시하는 블록도이다. 이 콘텐츠 공급 시스템(3100)은 캡처 디바이스(3102) 및 단말 디바이스(3106)를 포함하고, 디스플레이(3126)를 선택적으로 포함한다. 캡처 디바이스(3102)는 통신 링크(3104)를 통해 단말 디바이스(3106)와 통신한다. 통신 링크는 전술한 통신 채널(13)을 포함할 수 있다. 통신 링크(3104)는 WIFI, 이더넷, 케이블, 무선(3G/4G/5G), USB, 또는 이들의 임의의 조합 등을 포함하지만, 이것으로 제한되는 것은 아니다.
캡처 디바이스(3102)는 데이터를 생성하고, 상기 실시형태들에 도시된 바와 같은 인코딩 방법에 의해 데이터를 인코딩할 수 있다. 대안으로서, 캡처 디바이스(3102)는 데이터를 스트리밍 서버(도면에는 도시되지 않음)에 분배할 수 있으며, 서버는 데이터를 인코딩하고 인코딩된 데이터를 단말 디바이스(3106)에 전송한다. 캡처 디바이스(3102)는 카메라, 스마트 폰 또는 패드, 컴퓨터 또는 랩톱, 비디오 컨퍼런스 시스템, PDA, 차량 탑재형 디바이스, 또는 이들의 임의의 조합 등을 포함하지만, 이것으로 제한되는 것은 아니다. 예를 들어, 캡처 디바이스(3102)는 전술한 바와 같은 소스 디바이스(12)를 포함할 수 있다. 데이터가 비디오를 포함할 경우, 캡처 디바이스(3102)에 포함되는 비디오 인코더(20)가 실제로 비디오 인코딩 처리를 수행할 수 있다. 데이터가 오디오(즉, 음성)를 포함할 경우, 캡처 디바이스(3102)에 포함되는 오디오 인코더가 실제로 오디오 인코딩 처리를 수행할 수 있다. 일부 실제 시나리오들의 경우, 캡처 디바이스(3102)는 인코딩된 비디오 및 오디오 데이터를 함께 다중화하여 분배한다. 그 밖의 실제 시나리오들의 경우, 예를 들어 비디오 컨퍼런스 시스템에 있어서는, 인코딩된 오디오 데이터 및 인코딩된 비디오 데이터가 다중화되지 않는다. 캡처 디바이스(3102)는 인코딩된 오디오 데이터 및 인코딩된 비디오 데이터를 단말 디바이스(3106)에 별개로 분배한다.
콘텐츠 공급 시스템(3100)에 있어서는, 단말 디바이스(3106)가 인코딩된 데이터를 수신 및 재생한다. 단말 디바이스(3106)는 전술한 인코딩된 데이터를 디코딩할 수 있는, 스마트 폰 또는 패드(3108), 컴퓨터 또는 랩톱(3110), 네트워크 비디오 녹화기(NVR)/디지털 비디오 녹화기(DVR)(3112), TV(3114), 셋톱 박스(STB)(3116), 비디오 컨퍼런스 시스템(3118), 비디오 감시 시스템(3120), 개인용 정보 단말기(PDA)(3122), 차량 탑재형 디바이스(3124), 또는 이들의 임의의 조합과 같이, 데이터 수신 및 복원 능력이 있는 디바이스일 수 있다. 예를 들어, 단말 디바이스(3106)는 전술한 바와 같은 수신지 디바이스(14)를 포함할 수 있다. 인코딩된 데이터가 비디오를 포함할 경우, 단말 디바이스에 포함되는 비디오 인코더(30)는 비디오 디코딩을 우선적으로 수행한다. 인코딩된 데이터가 오디오를 포함할 경우, 단말 디바이스에 포함되는 오디오 디코더는 오디오 디코딩 처리를 우선적으로 수행한다.
디스플레이가 있는 단말 디바이스, 예를 들어, 스마트 폰 또는 패드(3108), 컴퓨터 또는 랩톱(3110), 네트워크 비디오 녹화기(NVR)/디지털 비디오 녹화기(DVR)(3112), TV(3114), 개인용 정보 단말기(PDA)(3122), 또는 차량 탑재형 디바이스(3124)의 경우, 단말 디바이스는 디코딩된 데이터를 그 디스플레이에 공급할 수 있다. 디스플레이가 없는 단말 디바이스, 예를 들어, 셋톱 박스(STB)(3116), 비디오 컨퍼런스 시스템(3118), 또는 비디오 감시 시스템(3120)의 경우, 외부 디스플레이(3126)가 연결되어 디코딩된 데이터를 수신 및 표시한다.
이 시스템의 각각의 디바이스가 인코딩 또는 디코딩을 수행할 경우, 전술한 실시형태들에 도시된 바와 같은 영상 인코딩 디바이스 또는 영상 디코딩 디바이스가 사용될 수 있다.
도 28은 단말 디바이스(3106)의 실시예의 구조를 도시하는 도면이다. 단말 디바이스(3106)가 캡처 디바이스(3102)로부터 스트림을 수신한 후에, 프로토콜 속행 유닛(3202)은 스트림의 전송 프로토콜을 분석한다. 프로토콜은 실시간 스트리밍 프로토콜(Real Time Streaming Protocol)(RTSP), 하이퍼 텍스트 전송 프로토콜(Hyper Text Transfer Protocol)(HTTP), HTTP 라이브 스트리밍 프로토콜(HLS), MPEG-DASH, 실시간 전송 프로토콜(Real-time Transport protocol)(RTP), 실시간 메시징 프로토콜(Real Time Messaging Protocol)(RTMP), 또는 이들의 임의의 조합 등을 포함하지만, 이것으로 제한되는 것은 아니다.
프로토콜 속행 유닛(3202)이 스트림을 처리하고 나서, 스트림 파일이 생성된다. 해당 파일은 역다중화 유닛(3204)에 출력된다. 역다중화 유닛(3204)은 다중화된 데이터를 인코딩된 오디오 데이터 및 인코딩된 비디오 데이터로 분리할 수 있다. 전술한 바와 같이, 일부 실제 시나리오들의 경우, 예를 들어 비디오 컨퍼런스 시스템에 있어서는, 인코딩된 오디오 데이터 및 인코딩된 비디오 데이터가 다중화되지 않는다. 이 상황에서는, 인코딩된 데이터가 역다중화 유닛(3204)을 거치지 않고 비디오 디코더(3206) 및 오디오 디코더(3208)로 전송된다.
역다중화 처리를 통해, 비디오 기본 스트림(ES), 오디오 ES, 및 선택적으로 서브타이틀(subtitle)이 생성된다. 전술한 실시형태들에서 설명된 바와 같은 비디오 디코더(30)를 포함하는 비디오 디코더(3206)는 전술한 실시형태들에서 도시된 바와 같은 디코딩 방법에 의해 비디오 ES를 디코딩하여 비디오 프레임을 생성하고, 이 데이터를 동기 유닛(3212)에 공급한다. 오디오 디코더(3208)는 오디오 ES를 디코딩하여 오디오 프레임을 생성하고, 이 데이터를 동기 유닛(3212)에 공급한다. 대안으로서, 비디오 프레임은 동기 유닛(3212)에 공급되기 전에 버퍼(도 28에는 도시되지 않음)에 저장될 수 있다. 유사하게, 오디오 프레임은 동기 유닛(3212)에 공급되기 전에 버퍼(도 28에는 도시되지 않음)에 저장될 수 있다.
동기 유닛(3212)은 비디오 프레임과 오디오 프레임을 동기시키고, 비디오/오디오를 비디오/오디오 디스플레이(3214)에 공급한다. 예를 들어, 동기 유닛(3212)은 비디오 및 오디오 정보의 제시를 동기시킨다. 정보는 코딩된 오디오 및 시각 데이터의 제시에 관한 타임 스탬프 및 데이터 스트림 자체의 전달에 관한 타임 스탬프를 사용해서 신택스에 코딩될 수 있다.
서브타이틀이 스트림에 포함되면, 서브타이틀 디코더(3210)가 서브타이틀을 디코딩하고, 이를 비디오 프레임 및 오디오 프레임과 동기시키고, 비디오/오디오/서브타이틀을 비디오/오디오/서브타이틀 디스플레이(3216)에 공급한다.
본 발명은 전술한 시스템으로 제한되지 않으며, 전술한 실시형태들에 있어서의 영상 인코딩 디바이스 또는 영상 디코딩 디바이스는 다른 시스템, 예를 들어, 차량 시스템에 통합될 수 있다.
본 개시물에서 설명되는 청구 대상 및 동작들의 구현예들은 디지털 전자 회로로, 또는 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어로 구현될 수 있으며, 본 개시물에 개시된 구조들 및 그 구조 등가물들, 또는 이들의 하나 이상의 조합을 포함한다. 본 개시물에서 설명되는 청구 대상의 구현예들은 데이터 처리 장치에 의한 실행을 위해, 또는 그 동작을 제어하기 위해 컴퓨터 저장 매체에 인코딩된 하나 이상의 컴퓨터 프로그램, 즉, 컴퓨터 프로그램 명령어들의 하나 이상의 모듈로서 구현될 수 있다. 대안으로서 또는 추가적으로, 프로그램 명령어는 인위적으로 생성된 전파되는 신호, 예를 들어, 데이터 처리 장치에 의한 실행을 위해 적절한 수신기 장치에 송신하기 위해 정보를 인코딩하도록 생성된 기계-생성 전기, 광학, 또는 전자기 신호에 인코딩될 수 있다. 컴퓨터 저장 매체, 예를 들어, 컴퓨터-판독 가능 매체는, 컴퓨터-판독 가능 저장 장치, 컴퓨터-판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 디바이스, 또는 이들 중 하나 이상의 조합일 수 있거나, 또는 이에 포함될 수 있다. 또한, 컴퓨터 저장 매체가 전파되는 신호는 아니지만, 컴퓨터 저장 매체는 인위적으로 생성된 전파되는 신호에 인코딩되는 컴퓨터 프로그램 명령어의 소스 또는 수신지일 수 있다. 컴퓨터 저장 매체는 하나 이상의 별도의 물리적 및/또는 비-일시적인 컴포넌트 또는 매체(예를 들어, 다수의 CD, 디스크, 또는 그 밖의 저장 장치)일 수도 있거나, 또는 이에 포함될 수 있다.
일부 구현예들에 있어서, 본 개시물에서 설명되는 동작들은 클라우드 컴퓨팅 네트워크에서의 서버에서 제공되는 호스팅된 서비스로서 구현될 수 있다. 예를 들어, 컴퓨터-판독 가능 저장 매체는 논리적으로 그룹화될 수 있고 클라우드 컴퓨팅 네트워크 내에서 액세스 가능하다. 클라우드 컴퓨팅 네트워크 내의 서버는 클라우드 기반 서비스를 제공하기 위한 클라우드 컴퓨팅 플랫폼을 포함할 수 있다. "클라우드", "클라우드 컴퓨팅", 및 "클라우드 기반"이라는 용어는 본 개시물의 범위로부터 일탈함이 없이 적절히 상호 교환 가능하게 사용될 수 있다. 클라우드 기반 서비스는 클라이언트 컴퓨터에서 로컬로 실행되는 애플리케이션을 향상, 보충, 또는 대체하기 위해 서버에 의해 제공되며 네트워크를 통해 클라이언트 플랫폼에 전달되는 호스팅된 서비스일 수 있다. 회로는 소프트웨어 업그레이드, 애플리케이션, 및 그 밖의 리소스를 빠르게 수신하기 위해 클라우드 기반 서비스를 이용할 수 있으며, 그렇지 않으면 리소스가 회로에 전달될 수 있기 전까지 너무 긴 기간이 필요해진다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트, 또는 코드라고도 알려져 있음)은 컴파일러형 또는 해석형 언어, 선언형 또는 절차형 언어를 포함하여 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 자립형 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴, 객체, 또는 컴퓨팅 환경에서 사용하기에 적합한 그 밖의 유닛으로서 포함하여 임의의 형태로 배치될 수 있다. 컴퓨터 프로그램은 파일 시스템 내의 파일에 대응할 수 있지만, 필수적인 것은 아니다. 프로그램은, 다른 프로그램 또는 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트)를 유지하는 파일의 일부에 저장되거나, 해당 프로그램에 전용인 단일의 파일에 저장되거나, 또는 다수의 조정된 파일(예를 들어, 하나 이상의 모듈, 서브프로그램, 또는 코드 부분을 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 단일의 컴퓨터에서 실행되도록 배치되거나, 또는 한 장소에 배치되거나 또는 다수의 장소에 걸쳐 분산되어 통신 네트워크에 의해 상호 연결되는 다수의 컴퓨터에서 실행되도록 배치될 수 있다.
본 개시물에서 설명되는 프로세스 및 논리 흐름은 입력 데이터에 대하여 동작하고 출력을 생성함으로써 동작을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능 프로세서에 의해 수행될 수 있다. 프로세스 및 논리 흐름은, 특수 목적 논리 회로, 예를 들어, FPGA(필드 프로그램 가능 게이트 어레이) 또는 ASIC(주문형 집적 회로)에 의해 수행될 수도 있고, 장치가 이것으로 구현될 수도 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는, 예로서, 범용 및 특수 목적 마이크로프로세서, 및 임의의 종류의 디지털 컴퓨터의 어느 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 리드 온리 메모리로부터 또는 랜덤 액세스 메모리로부터 또는 이들 둘 모두로부터 명령어 및 데이터를 수신하게 된다. 컴퓨터의 필수 요소는 명령어에 따라 동작을 수행하기 위한 프로세서와, 명령어 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한, 데이터를 저장하기 위한 하나 이상의 대용량 스토리지 디바이스, 예를 들어, 자기 디스크, 광자기 디스크, 또는 광 디스크를 포함하거나, 또는 이 대용량 스토리지 디바이스에 대하여 데이터를 수신하거나 또는 데이터를 전송하거나, 또는 이 둘 모두를 위해 동작 가능하게 결합된다. 그러나, 컴퓨터는 이러한 디바이스를 가질 필요가 없다. 또한, 컴퓨터는 다른 디바이스, 예를 들어, 몇 가지만 예를 들자면, 휴대폰, 개인용 정보 단말기(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, 글로벌 위치확인 시스템(Global Positioning System)(GPS) 수신기, 또는 휴대용 스토리지 디바이스(예를 들어, 범용 직렬 버스(USB) 플래시 드라이브)에 내장될 수 있다. 컴퓨터 프로그램 명령어 및 데이터를 저장하기에 적합한 디바이스는, 반도체 메모리 디바이스, 예를 들어, EPROM, EEPROM, 및 플래시 메모리 디바이스; 자기 디스크, 예를 들어, 내부 하드 디스크 또는 착탈식 디스크; 광자기 디스크; 및 CDROM 및 DVD-ROM 디스크를 예로서 포함하여, 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보완되거나, 또는 특수 목적 논리 회로에 포함될 수 있다.
본 개시물이 많은 특정한 구현 상세를 포함하지만, 이들은 임의의 구현 범위 또는 청구될 수 있는 범위에 대한 제한으로서 해석되지 않아야 하며, 특정 구현예들의 특정한 구현에 대한 특정한 특징의 설명으로서 해석되어야 한다. 별도의 구현예들의 맥락에서 본 개시물에서 설명된 특정한 특징들은 단일의 구현예에서 조합으로 구현될 수도 있다. 반대로, 단일의 구현예의 맥락에서 설명된 다양한 특징들은 다수의 구현예들에서 별도로 또는 임의의 적절한 하위 조합으로 구현될 수도 있다. 또한, 특징들이 특정 조합들로 작용하는 것으로 위에서 설명될 수 있고 심지어 처음에 그렇게 청구될 수도 있지만, 청구된 조합으로부터의 하나 이상의 특징은 경우에 따라 해당 조합으로부터 삭제될 수 있고, 청구된 조합은 하위 조합으로 또는 하위 조합의 변형으로 될 수 있다.
유사하게, 도면에서 동작들이 특정한 순서로 묘사되지만, 이는 이러한 동작들이 도시된 특정 순서로 또는 순차적인 순서로 수행되는 것을 필요로 하거나 또는 예시된 모든 동작들이 수행되어 원하는 결과를 달성하는 것을 필요로 한다고 이해되지 않아야 한다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수 있다. 또한, 전술한 구현예들에서 다양한 시스템 컴포넌트들의 분리는 모든 구현예에서 그러한 분리를 필요로 하는 것으로 이해되지 않아야 하고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일의 소프트웨어 제품에서 함께 통합될 수 있거나, 다수의 소프트웨어 제품으로 패키징될 수 있다.
따라서, 청구 대상의 특정 구현예들이 설명되었다. 다른 구현예들은 하기의 청구항들의 범위에 속한다. 경우에 따라, 청구항들에서 언급되는 동작들은 상이한 순서로 수행될 수 있으며 여전히 원하는 결과를 달성할 수 있다. 또한, 첨부 도면에서 묘사된 프로세스들은 원하는 결과를 달성하기 위해, 도시된 특정 순서 또는 순차적인 순서를 반드시 필요로 하는 것은 아니다. 특정 구현예들에서는, 멀티태스킹 및 병렬 처리가 유리할 수 있다.
본 개시물에서는 몇몇 실시형태가 제공되었지만, 개시된 시스템 및 방법은 본 개시물의 정신 또는 범위로부터 일탈함이 없이 다수의 다른 특정한 형태로 구체화될 수 있음을 이해해야 한다. 본 발명의 실시예들은 예시적이고 비제한적인 것으로 간주되어야 하고, 본 발명은 본 명세서에서 제공된 세부 내용으로 제한되지 않는다. 예를 들어, 다양한 요소들 또는 컴포넌트들이 다른 시스템에 결합 또는 통합될 수 있거나, 또는 특정한 특징들이 생략될 수 있거나, 또는 구현되지 않을 수 있다.
또한, 다양한 실시형태들에서 별개의 또는 독립된 것으로 설명 및 예시된 기술, 시스템, 서브시스템, 및 방법은 본 개시물의 범위로부터 일탈함이 없이 다른 시스템, 모듈, 기술, 또는 방법과 결합 또는 통합될 수 있다. 서로 결합된 또는 직접 결합된 또는 통신하는 것으로 도시 또는 논의된 다른 아이템들은 전기적으로, 기계적으로, 또는 다른 방식으로 일부 인터페이스, 디바이스, 또는 중간 컴포넌트를 통해 간접적으로 결합되거나 또는 통신할 수 있다. 다른 변경, 치환, 및 개조의 실시예들은 당업자에 의해 확인될 수 있으며 본 명세서에 개시된 정신 및 범위로부터 일탈함이 없이 이루어질 수 있다.

Claims (17)

  1. 블록의 인트라 예측 방법으로서,
    상기 블록의 인트라 예측 모드를 취득하는 단계와,
    상기 블록의 인트라 예측 모드가 광각 모드(wide-angle) 모드일 경우 필터링된 참조 샘플들에 기초하여 상기 블록의 예측된 샘플들을 취득하는 단계를 포함하는,
    방법.
  2. 제1항에 있어서,
    상기 블록에 대한 인트라 예측 모드는 정수 구배 광각 모드인,
    방법.
  3. 제2항에 있어서,
    상기 정수 구배 광각 모드는 -14, -12, -10, -6, 72, 76, 78, 80 중 적어도 하나인,
    방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 참조 샘플을 필터링하기 위한 필터는 계수 [1, 2, 1]/4에 의해 정의되는,
    방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 블록의 인트라 예측 모드가 광각 모드인지의 여부에 기초하여, 필터링된 또는 필터링되지 않은 참조 샘플 버퍼가 사용되는지의 여부를 판정하는 단계를 더 포함하는,
    방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 블록의 인트라 예측 모드가 광각 모드인지의 여부에 기초하여 필터링된 또는 필터링되지 않은 참조 샘플들, 및 상기 참조 샘플들로부터 취득된 상기 블록의 상기 예측된 샘플들에 대하여 위치-종속 예측 결합(Position-Dependent Prediction Combination)(PDPC)이 수행되는,
    방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 블록의 인트라 예측 모드가 광각 모드인지의 여부를 판정하는 단계를 더 포함하는,
    방법.
  8. 블록의 인트라 예측 장치로서,
    상기 블록의 인트라 예측 모드를 취득하도록 구성되는 취득 유닛과,
    상기 블록의 인트라 예측 모드가 광각 모드일 경우 필터링된 참조 샘플들에 기초하여 상기 블록의 예측된 샘플들을 취득하도록 구성되는 광각 예측 유닛을 포함하는,
    장치.
  9. 제8항에 있어서,
    상기 블록에 대한 인트라 예측 모드는 정수 구배 광각 모드인,
    장치.
  10. 제9항에 있어서,
    상기 정수 구배 광각 모드는 -14, -12, -10, -6, 72, 76, 78, 80 중 적어도 하나인,
    장치.
  11. 제8항 내지 제10항 중 어느 한 항에 있어서,
    상기 참조 샘플을 필터링하기 위한 필터는 계수 [1, 2, 1]/4에 의해 정의되는,
    장치.
  12. 제8항 내지 제11항 중 어느 한 항에 있어서,
    상기 장치는 상기 블록의 인트라 예측 모드가 광각 모드인지의 여부를 판정하도록 구성되는 판정 유닛을 더 포함하는,
    장치.
  13. 제12항에 있어서,
    상기 판정 유닛은 상기 블록의 인트라 예측 모드가 광각 모드인지의 여부에 기초하여 필터링된 또는 필터링되지 않은 참조 샘플 버퍼가 사용되는지의 여부를 판정하도록 더 구성되는,
    장치.
  14. 제8항 내지 제13항 중 어느 한 항에 있어서,
    상기 블록의 인트라 예측 모드가 광각 모드인지의 여부에 기초하여 필터링된 또는 필터링되지 않은 참조 샘플들, 및 상기 참조 샘플들로부터 취득된 상기 블록의 예측된 샘플들에 대하여 위치-종속 예측 결합(Position-Dependent Prediction Combination)(PDPC)이 수행되는,
    장치.
  15. 제1항 내지 제7항 중 어느 한 항에 기재된 방법을 수행하기 위한 처리 회로를 포함하는, 인코더.
  16. 제1항 내지 제7항 중 어느 한 항에 기재된 방법을 수행하기 위한 처리 회로를 포함하는, 디코더.
  17. 제1항 내지 제7항 중 어느 한 항에 기재된 방법을 수행하기 위한 프로그램 코드를 포함하는, 컴퓨터 프로그램 제품.
KR1020217000324A 2018-11-14 2019-11-14 인트라 예측 방법 및 장치 KR102571856B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020237028717A KR20230127376A (ko) 2018-11-14 2019-11-14 인트라 예측 방법 및 장치

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862767496P 2018-11-14 2018-11-14
US62/767,496 2018-11-14
PCT/RU2019/050214 WO2020101545A1 (en) 2018-11-14 2019-11-14 Method and apparatus for intra prediction

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020237028717A Division KR20230127376A (ko) 2018-11-14 2019-11-14 인트라 예측 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20210016615A true KR20210016615A (ko) 2021-02-16
KR102571856B1 KR102571856B1 (ko) 2023-08-28

Family

ID=70731882

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020237028717A KR20230127376A (ko) 2018-11-14 2019-11-14 인트라 예측 방법 및 장치
KR1020217000324A KR102571856B1 (ko) 2018-11-14 2019-11-14 인트라 예측 방법 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020237028717A KR20230127376A (ko) 2018-11-14 2019-11-14 인트라 예측 방법 및 장치

Country Status (12)

Country Link
US (2) US11689729B2 (ko)
EP (1) EP3864847A4 (ko)
JP (2) JP7177242B2 (ko)
KR (2) KR20230127376A (ko)
CN (1) CN112997497A (ko)
AU (1) AU2019381145B2 (ko)
BR (1) BR112020025155A2 (ko)
CA (1) CA3119645A1 (ko)
CL (1) CL2021001265A1 (ko)
MX (1) MX2021001514A (ko)
NZ (1) NZ776204A (ko)
WO (1) WO2020101545A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220224938A1 (en) * 2021-01-08 2022-07-14 Offinno, LLC Intra Prediction Signaling

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8619857B2 (en) * 2010-04-09 2013-12-31 Sharp Laboratories Of America, Inc. Methods and systems for intra prediction
US9451254B2 (en) * 2013-07-19 2016-09-20 Qualcomm Incorporated Disabling intra prediction filtering
US10362314B2 (en) * 2015-11-27 2019-07-23 Mediatek Inc. Apparatus and method for video coding by intra-prediction
FI20175006A1 (en) * 2017-01-03 2019-02-15 Nokia Technologies Oy Video and image coding using wide-angle intra-prediction
US10917660B2 (en) 2017-01-13 2021-02-09 Vid Scale, Inc. Prediction approaches for intra planar coding
CN110809886B (zh) * 2017-06-21 2023-09-15 Lg 电子株式会社 在图像编译系统中根据帧内预测用于解码图像的方法和设备
EP3496401A1 (en) * 2017-12-05 2019-06-12 Thomson Licensing Method and apparatus for video encoding and decoding based on block shape
US11128872B2 (en) * 2018-07-16 2021-09-21 Qualcomm Incorporated Position dependent intra prediction combination with wide angle intra prediction
US10834393B2 (en) * 2018-09-10 2020-11-10 Tencent America LLC Intra interpolation filter for multi-line intra prediction
US11303885B2 (en) * 2018-10-25 2022-04-12 Qualcomm Incorporated Wide-angle intra prediction smoothing and interpolation

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Alexey Filippov, "CE3-related: Reference sample processing for wide-angle intra-prediction", K0059, version 2, 2018.7.9.공개.* *
Jianle Chen, "Algorithm Description of Joint Exploration Test Model 1", JVET-A1001, 2016.2.24. 공개.* *

Also Published As

Publication number Publication date
JP2021533618A (ja) 2021-12-02
KR20230127376A (ko) 2023-08-31
AU2019381145A1 (en) 2021-06-10
KR102571856B1 (ko) 2023-08-28
JP7177242B2 (ja) 2022-11-22
US20210127122A1 (en) 2021-04-29
CL2021001265A1 (es) 2021-10-22
EP3864847A1 (en) 2021-08-18
BR112020025155A2 (pt) 2021-05-18
AU2019381145B2 (en) 2022-11-17
CA3119645A1 (en) 2020-05-22
JP2023022071A (ja) 2023-02-14
EP3864847A4 (en) 2021-12-15
MX2021001514A (es) 2021-04-13
US11689729B2 (en) 2023-06-27
CN112997497A (zh) 2021-06-18
AU2023200908A1 (en) 2023-03-16
NZ776204A (en) 2023-02-24
WO2020101545A1 (en) 2020-05-22
US20230421776A1 (en) 2023-12-28

Similar Documents

Publication Publication Date Title
JP7375125B2 (ja) ルーマおよびクロマ成分についてibc専用バッファおよびデフォルト値リフレッシュを使用するエンコーダ、デコーダおよび対応する方法
JP7343573B2 (ja) 逆量子化のための装置及び方法
US20200389644A1 (en) Method and Apparatus for Intra Prediction in Video Coding
AU2023202684B2 (en) Method and apparatus for intra prediction
JP7457010B2 (ja) マージモードのためのエンコーダ、デコーダ、および対応する方法
KR102525179B1 (ko) 파티션 제한 요소들 간의 관계
KR20210018470A (ko) 디블로킹 필터의 경계 강도를 도출하는 인코더, 디코더 및 대응 방법
JP2023169242A (ja) 予測のための方法及び装置
KR20210139446A (ko) 인트라 스무딩을 위한 방법 및 장치
KR20210088697A (ko) 인코더, 디코더 및 대응하는 디블록킹 필터 적응의 방법
US20230421776A1 (en) Method and apparatus for video intra prediction
KR102543792B1 (ko) 이웃 블록에 기초한 인트라 예측 모드 도출
CA3119645C (en) Method and apparatus for intra prediction
AU2023200908B2 (en) Method and apparatus for intra prediction

Legal Events

Date Code Title Description
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
A107 Divisional application of patent
GRNT Written decision to grant