KR20210145823A - 비디오 코딩 방법 및 시스템 - Google Patents

비디오 코딩 방법 및 시스템 Download PDF

Info

Publication number
KR20210145823A
KR20210145823A KR1020217036634A KR20217036634A KR20210145823A KR 20210145823 A KR20210145823 A KR 20210145823A KR 1020217036634 A KR1020217036634 A KR 1020217036634A KR 20217036634 A KR20217036634 A KR 20217036634A KR 20210145823 A KR20210145823 A KR 20210145823A
Authority
KR
South Korea
Prior art keywords
reference line
intra prediction
line
lines
adjacent
Prior art date
Application number
KR1020217036634A
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 KR20210145823A publication Critical patent/KR20210145823A/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
    • 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

Landscapes

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

Abstract

비디오 디코딩 방법은 비디오 신호의 복수의 코딩된 프레임을 포함하는 비트스트림을 획득하는 단계; 복수의 코딩된 프레임 각각을 복수의 슈퍼 블록으로 디코딩하고 복수의 슈퍼 블록 각각을 복수의 잔차 블록으로 디코딩하는 단계; 각각의 코딩된 프레임에 포함된 다중 참조 라인 인트라 예측(MRLP) 플래그들 및 참조 샘플들에 기초하여 복수의 잔차 블록 각각에 대한 코딩된 블록(CB)을 복구하는 단계 - 다중 참조 라인들은 상측 참조 라인들 및 좌측 참조 라인들로 분할되고 하나의 상측 참조 라인 및 하나의 좌측 참조 라인은 인트라 예측을 위해 선택됨 - ; 프레임 버퍼에 복수의 잔차 블록 각각에 대한 복구된 CB를 저장함으로써 비디오 신호의 각각의 프레임을 재구성하는 단계; 및 비디오 신호를 복원하기 위해 재구성된 프레임들을 연속적으로 출력하는 단계를 포함한다.

Description

비디오 코딩 방법 및 시스템
관련 출원들에 대한 상호 참조
본 출원은 2020년 10월 22일에 출원된 미국 정규 특허 출원 번호 제17/077,872호에 대한 우선권을 주장하며, 미국 정규 특허 출원은 2020년 1월 23일에 출원된 미국 임시 특허 출원 번호 제62/964,992호에 대한 우선권을 주장하고, 그 둘 다의 내용들은 전체적으로 참조로 포함된다.
기술분야
본 출원은 비디오 코딩 기술들의 분야에 관한 것이고, 구체적으로, 다중 참조 라인 인트라 예측을 이용한 비디오 코딩의 방법 및 시스템에 관한 것이다.
AO미디어 비디오 1(AOMedia Video 1)(AV1)는 인터넷을 통한 비디오 전송들을 위해 디자인된 오픈 비디오 코딩 포맷이다. 그것은 반도체 회사들, 주문형 비디오 제공자들, 비디오 콘텐츠 제작자들, 소프트웨어 개발 회사들 및 웹 브라우저 벤더들을 포함하는 2015년에 설립된 컨소시엄인, 오픈 미디어 연합(Alliance for Open Media)(AOMedia)에 의해 VP9에 대한 후임으로서 개발되었다. VP9의 코드베이스를 기반으로 하여, AV1는 부가 기술들을 통합하며, 그 중 수개는 이들 실험적 포맷들로 개발되었다. AV1 참조 코덱의 제1 버전 0.1.0은 2016년 4월 7일에 공개되었다. 연합은 참조, 소프트웨어 기반 인코더 및 디코더와 함께, 2018년 3월 28일에 AV1 비트스트림 사양의 릴리스를 발표하였다. 2018년 6월 25일에, 사양의 입증된 버전 1.0.0은 릴리스되었다. 2019년 1월 8일에, 사양의 에러터 1을 갖는 입증된 버전 1.0.0이 릴리스되었다. AV1 비트스트림 사양은 참조 비디오 코덱을 포함한다.
ITU-T VCEG(Q6/16) 및 ISO/IEC MPEG(JTC 1/SC 29/WG 11)는 2013(버전 1) 2014(버전 2) 2015(버전 3) 및 2016(버전 4)년에 H.265/HEVC(High Efficiency Video Coding) 표준을 공개하였다. 2015에, 이들 2개의 표준 조직은 HEVC를 능가하는 다음 비디오 코딩 표준을 개발하는 잠재력을 탐구하기 위해 JVET(Joint Video Exploration Team)를 공동으로 형성하였다. 2017년 10월에, 그들은 HEVC를 능가하는 능력을 갖는 비디오 압축에 관한 공통 제안 요청(CfP)을 공표하였다. 2018년 2월 15일까지, 표준 동적 범위(standard dynamic range)(SDR)에 관한 총 22 CfP 응답, 높은 동적 범위(high dynamic range)(HDR)에 관한 12 CfP 응답, 및 360 비디오 카테고리에 관한 12 CfP 응답이 각각 제출되었다. 2018년 4월에, 모든 수신된 CfP 응답들은 122 MPEG / 10번째 JVET 회의에서 평가되었다. 이러한 회의의 결과로서, JVET는 HEVC를 능가하는 차세대 비디오 코딩의 표준화 프로세스를 정식으로 론칭하였다. 새로운 표준은 다용도 비디오 코딩(Versatile Video Coding)(VVC)으로 명명되었고, JVET는 조인트 비디오 전문가 팀으로 재명명되었다.
다중 참조 라인 예측(Multiple reference line prediction)(MRLP)은 비디오 코딩 표준들 둘 다의 비디오 코딩 방식들에 사용된다. MRLP 결과는 라인 버퍼에 저장된다. 라인 버퍼는 이미지/비디오 처리 회로들에 대한 전형적이고 주요한 온-칩 메모리 디자인 아키텍처이다. 라인 버퍼가 통상 매우 큰 온-칩 회로 구역을 점유하므로, 효율적인 아키텍처 디자인을 통해 그것의 하드웨어 비용을 감소시키는 것은 매우 중요하다. MRLP에 대해, 하나보다 많은(예를 들어, 4) 참조 라인은 라인 버퍼 크기가 증가되도록 인트라 예측을 위해 사용될 수 있으며, 이는 많은 온-칩 회로 구역들을 잃게 한다.
개시된 방법들 및 시스템들은 상기 및 다른 문제들에 제시된 하나 이상의 문제를 해결하는 것에 관한 것이다.
본 개시의 일 양태는 비디오 디코딩 방법을 포함한다. 방법은 비디오 신호의 복수의 코딩된 프레임을 포함하는 비트스트림을 획득하는 단계; 복수의 코딩된 프레임 각각을 복수의 슈퍼 블록으로 디코딩하고 복수의 슈퍼 블록 각각을 복수의 잔차 블록으로 디코딩하는 단계; 각각의 코딩된 프레임에 포함된 다중 참조 라인 인트라 예측(MRLP) 플래그들 및 참조 샘플들에 기초하여 복수의 잔차 블록 각각에 대한 코딩된 블록(CB)을 복구하는 단계 - 다중 참조 라인들은 상측 참조 라인들 및 좌측 참조 라인들로 분할되고 하나의 상측 참조 라인 및 하나의 좌측 참조 라인은 인트라 예측을 위해 선택됨 - ; 프레임 버퍼에 복수의 잔차 블록 각각에 대한 복구된 CB를 저장함으로써 비디오 신호의 각각의 프레임을 재구성하는 단계; 및 비디오 신호를 복원하기 위해 재구성된 프레임들을 연속적으로 출력하는 단계를 포함한다.
본 개시의 다른 양태는 비디오 인코딩 방법을 포함한다. 방법은 비디오 입력의 현재 프레임을 획득하는 단계; 내포된 멀티타입 트리 코딩 블록 구조에 따라, 획득된 현재 프레임을 슈퍼 블록들의 시퀀스로 분할하고, 각각의 슈퍼 블록을 복수의 코딩된 블록(CB)으로 분할하는 단계; 각각의 CB에 대한 잔차 블록을 획득하기 위해 다중 참조 라인 인트라 예측(MRLP)을 사용하고 라인 버퍼에 인트라 예측을 위해 선택된 참조 라인들의 MRLP 플래그들 및 참조 샘플들을 저장하는 단계 - 다중 참조 라인들은 상측 참조 라인들 및 좌측 참조 라인들로 분할되고 하나의 상측 참조 라인 및 하나의 좌측 참조는 라인 버퍼의 크기를 최소화하도록 인트라 예측을 위해 선택됨 - ; 및 각각의 CB에 대한 코딩된 잔차 블록을 포함하는 비트스트림을 발생시키기 위해 현재 프레임의 각각의 CB에 대한 잔차 블록을 사용함으로써 현재 프레임을 코딩하는 단계를 포함한다.
본 개시의 다른 양태들은 본 개시의 명세서, 청구항들, 및 도면들을 고려하여 본 기술분야의 통상의 기술자들에 의해 이해될 수 있다.
도 1은 본 개시의 특정 실시예들을 통합하는 동작 환경을 예시한다.
도 2는 본 개시의 실시예들과 일치하는 전자 디바이스를 예시한다.
도 3은 본 개시의 실시예들과 일치하는 컴퓨터 시스템을 예시한다.
도 4는 본 개시의 실시예들과 일치하는 비디오 인코더를 예시한다.
도 5는 본 개시의 실시예들과 일치하는 비디오 디코더를 예시한다.
도 6은 본 개시의 실시예들과 일치하는 예시적 비디오 인코딩 방법을 예시한다.
도 7은 본 개시의 실시예들과 일치하는 예시적 비디오 디코딩 방법을 예시한다.
도 8은 본 개시의 실시예들과 일치하는 4개의 멀티타입 트리 분할 모드를 예시한다.
도 9는 본 개시의 실시예들과 일치하는 예시적 코딩 트리 구조 내의 파티션 분할 정보의 시그널링 메커니즘을 예시한다.
도 10은 본 개시의 실시예들과 일치하는 예시적 코딩 트리 구조를 예시한다.
도 11은 본 개시의 실시예들과 일치하는 다른 예시적 코딩 트리 구조를 예시한다.
도 12는 본 개시의 실시예들과 일치하는 다른 예시적 코딩 트리 구조를 예시한다.
도 13은 본 개시의 실시예들과 일치하는 인트라 예측 모드들의 8 공칭 각도를 예시한다.
도 14는 본 개시의 실시예들과 일치하는 PAETH 모드에 대한 상단, 좌측, 및 상단-좌측 위치들을 예시한다.
도 15는 본 개시의 실시예들과 일치하는 회귀 인트라 필터링 모드들의 예들을 예시한다.
도 16은 본 개시의 실시예들과 일치하는 4 참조 라인의 일 예를 예시한다.
도 17은 본 개시의 실시예들과 일치하는 상측 참조 라인들 및 좌측 참조 라인들의 일 예를 예시한다.
도 18은 본 개시의 실시예들과 일치하는 인트라 예측을 위한 상측 참조 라인 0 및 좌측 참조 라인 0을 선택하는 일 예를 예시한다.
도 19는 본 개시의 실시예들과 일치하는 인트라 예측을 위한 상측 참조 라인 0 및 좌측 참조 라인 1을 선택하는 일 예를 예시한다.
도 20은 본 개시의 실시예들과 일치하는 인트라 예측을 위한 상측 참조 라인 0 및 좌측 참조 라인 2를 선택하는 일 예를 예시한다.
도 21은 본 개시의 실시예들과 일치하는 인트라 예측을 위한 상측 참조 라인 0 및 좌측 참조 라인 3을 선택하는 일 예를 예시한다.
도 22는 본 개시의 실시예들과 일치하는 비인접 상측 참조 라인의 참조 샘플들의 정수 위치들을 인접 상측 참조 라인을 향해 각도 인트라 예측의 방향으로 투영하는 일 예를 예시한다.
이하는 첨부 도면들을 참조하여 본 발명의 실시예들에서 기술적 해결책들을 설명한다. 가능한 모든 경우에, 동일한 참조 번호들은 동일 또는 유사한 부분들을 지칭하기 위해 도면들 도처에 사용될 것이다. 명백하게, 설명된 실시예들은 본 발명의 전부가 아닌 일부 실시예들일 뿐이다. 창의적 노력들 없이 본 발명의 실시예들에 기초하여 본 기술분야의 통상의 기술자에 의해 획득된 다른 실시예들은 본 개시의 보호 범위 내에 있을 것이다. 이러한 개시에 사용된 특정 용어들은 이하에 우선 설명된다.
다용도 비디오 코딩(VVC): VVC는 HEVC(또한 ITU-T H.265로 공지됨)를 계승하기 위해 조인트 비디오 탐구 팀(Joint Video Exploration Team)(JVET)에 의해 개발된 비디오 디코딩 표준이다. VVC는 그러한 표준들의 이전 세대들의 것을 실질적으로 능가하고 넓어진 적용 범위에서의 효과적 사용에 매우 다용도인 압축 능력을 갖는 비디오 코딩 기술을 지정한다. VVC 표준은 본원에 참조로 포함된다.
AO미디어 비디오 1(AV1): AV1은 인터넷을 통한 비디오 전송들을 위해 오픈 미디어 연합(AOMedia)에 의해 개발된 오픈 소스 비디오 코딩 표준이다. AV1 표준은 본원에 참조로 포함된다.
허용된 인트라 예측 모드들(AIPM): 이웃 블록들의 인트라 예측 모드들에 따라 유도된 현재 블록의 인트라 예측에 사용될 수 있는 모드들을 갖는 하나의 모드 세트로서 정의된다.
불허된 인트라 예측 모드들(Disallowed intra prediction modes)(DIPM): 현재 블록의 인트라 예측을 위해 시그널링되지 않거나 사용되지 않고 이웃 블록들의 인트라 예측 모드들에 따라 유도될 수 없는 모드들을 갖는 하나의 모드 세트로서 정의된다.
크로마 프럼 루마(Chroma from Luma)(CfL): CfL은 동일한 코딩 블록의 루마 구성요소의 참조 샘플들에 기초하여 크로마 구성요소에 대한 인트라 예측을 수행하기 위해 광도와 컬러 정보 사이의 상관들을 이용한다.
다중 참조 라인 인트라 예측(MRLP): MRLP는 가장 가까운 참조 라인뿐만 아니라 현재 코딩 블록으로부터 더 멀리 떨어진 다중 참조 라인을 인트라 예측에서 사용한다.
코딩 트리 유닛(Coding tree unit)(CTU): CTU는 HEVC 및 VVC 표준들의 다양한 비디오 코딩 방식들의 기본 처리 유닛이다. 비디오 프레임은 복수의 CTU로 분할되고 각각의 CTU는 효과적 비디오 코딩을 위한 다양한 더 작은 유닛들 또는 블록들로 추가로 분할된다. AV1 표준의 비디오 코딩 방식에서, CTU와 동등한 구조는 슈퍼 블록으로 칭해진다.
맥락 기반 적응 이진 산술 코딩(Context-based Adaptive Binary Arithmetic Coding)(CABAC): CABAC는 다양한 비디오 코딩 표준들에 사용된 엔트로피 코딩의 형태이다.
다용도 비디오 코딩 테스트 모델(Versatile video coding Test Model)(VTM): VTM은 VVC 알고리즘 및 테스트 절차들의 인코더 측 설명을 제공한다.
비욘테가르드 델타 레이트(Bjontegaard delta rate)(BDR 또는 BD-rate): BDR은 비디오 신호들의 동일한 피크 신호 대 잡음 비(peak signal-to-noise ratio)(PSNR)에 대한 비트레이트 변경들을 측정함으로써 코딩 효율을 평가하는 방법이다.
도 1은 본 개시의 특정 실시예들을 통합하는 동작 환경(100)을 도시한다. 도 1에 도시된 바와 같이, 동작 환경(100)은 비디오 기능성들을 갖는 다양한 디바이스들을 포함할 수 있다. 예를 들어, 동작 환경(100)은 단말 디바이스(102), 카메라 디바이스(104), 및 사물 인터넷(internet of things)(IoT) 디바이스(106)를 포함할 수 있다. 다른 타입들의 디바이스들이 또한 포함될 수 있다.
동작 환경(100)은 또한 서버(122), 인간 비전 애플리케이션(124), 머신 비전 애플리케이션(126), 및 다양한 디바이스들을 서버(122)에 연결하는 통신 링크(140)를 포함할 수 있다. 사용자(130)는 다양한 디바이스들 중 하나 이상을 사용하거나, 액세스하거나, 제어할 수 있다.
단말 디바이스(102)는 임의의 사용자 단말, 예컨대 개인 정보 단말기(personal digital assistant)(PDA), 이동 전화, 스마트폰, 통합 메시징 디바이스(integrated messaging device)(IMD), 태블릿 컴퓨터, 노트북 컴퓨터, 데스크톱 컴퓨터, 및 다른 컴퓨팅 디바이스들을 포함할 수 있다. 카메라 디바이스(104)는 임의의 이미지 또는 비디오 캡처링 디바이스들, 예컨대 디지털 카메라, 비디오 카메라, 보안 카메라, 차량 탑재 카메라, 및 스테레오 카메라 등을 포함할 수 있다. IoT 디바이스(106)는 카메라 기능을 갖는 임의의 타입의 IoT 디바이스, 예컨대 디지털 도어벨, 자율 주행 센서, 디지털 음성 보조기기, 스마트 스피커, 스마트 기기, 및 임의의 산업 또는 상업 IoT 시스템들을 포함할 수 있다. 다양한 디바이스들(102, 104, 및 106) 중 어느 것은 이동하고 있는 개인에 의해 소지될 때 고정되거나 이동될 수 있고, 또한 자동차, 트럭, 택시, 버스, 기차, 보트, 비행기, 자전거, 오토바이 또는 임의의 유사한 적절 수송 모드를 포함하는 수송의 일부로서 또는 수송 모드에 위치될 수 있다.
도 2는 다양한 디바이스들(102, 104, 및/또는 106) 중 어느 것을 구현하기 위한 전자 디바이스를 도시한다. 도 2에 도시된 바와 같이, 전자 디바이스(200)는 하드웨어 프로세서(202), 메모리(204), 카드 리더(206), 디스플레이(208), 키보드(210), 라디오 주파수(radio-frequency)(RF) 인터페이스(212), 베이스밴드(214), 안테나(216), 인코더(222), 디코더(224), 카메라(226), 스피커(232), 및 마이크로폰(234) 등을 포함할 수 있다. 도 2에 도시된 구성요소들은 예시적이고, 특정 구성요소들은 생략될 수 있고, 다른 구성요소들은 추가될 수 있다.
프로세서(202)는 전자 디바이스(200)를 제어하기 위해 제공될 수 있다. 프로세서(202)는 데이터를 다른 구성요소들에 송신하고 다른 구성요소들로부터 데이터를 수신하기 위해 하나 이상의 버스 또는 다른 전기적 연결들을 통해 다른 구성요소들에 연결될 수 있다. 프로세서(202)는 하나 이상의 처리 코어, 예를 들어, 4-코어 프로세서 또는 8-코어 프로세서를 포함할 수 있다. 프로세서(202)는 디지털 신호 프로세싱(digital signal processing)(DSP), 필드 프로그램가능 게이트 어레이(field-programmable gate array)(FPGA), 주문형 집적 회로(application specific integrated circuit)(ASIC), 및 프로그램가능 로직 어레이(programmable logic array)(PLA)의 적어도 하나의 하드웨어 형태를 사용함으로써 구현될 수 있다. 프로세서(202)는 또한 메인 프로세서 및 코프로세서를 포함할 수 있다. 메인 프로세서는 중앙 처리 유닛(central processing unit)(CPU)일 수 있고, 코프로세서는 디스플레이 스크린이 디스플레이할 필요가 있는 콘텐츠를 렌더링하고 인출할 책임이 있도록 구성된 그래픽 처리 유닛(graphics processing unit)(GPU)일 수 있다. 일부 실시예들에서, 프로세서(202)는 인공 지능(artificial intelligence)(AI) 프로세서를 추가로 포함할 수 있다. AI 프로세서는 머신 러닝에 관련된 컴퓨팅 동작을 처리하도록 구성된다.
메모리(204)는 하나 이상의 컴퓨터 판독가능 저장 매체, 예컨대 고속 랜덤 액세스 메모리 및 비휘발성 메모리, 예를 들어, 하나 이상의 디스크 저장 디바이스 또는 플래시 저장 디바이스를 포함할 수 있다. 메모리(204)는 이미지 및 오디오 데이터의 형태로 데이터 둘 다를 저장할 수 있고 또한 프로세서(202)에 대한 명령어들을 저장할 수 있다. 카드 리더(206)는 사용자 정보를 제공하고 사용자(130)의 인증 및 인가를 위한 사용자 정보를 제공하는데 적절하기 위한 임의의 타입의 휴대용 카드 인터페이스, 예컨대 스마트 카드 인터페이스, 통신 카드 인터페이스(예를 들어, 근접장 통신(near field communication)(NFC) 카드), 또는 가입자 식별 모듈(subscriber identifier module)(SIM) 카드 또는 다른 카드 인터페이스를 포함할 수 있다.
게다가, 디스플레이(208)는 이미지 또는 비디오를 디스플레이하는데 적합한 임의의 적절한 디스플레이 기술일 수 있다. 예를 들어, 디스플레이(208)는 액정 디스플레이(liquid crystal display)(LCD) 스크린, 유기 발광 다이오드(organic light-emitting diode)(OLED) 스크린 등을 포함할 수 있고, 터치 스크린일 수 있다. 키보드(210)는 사용자(130)에 의해 정보를 입력하기 위해 물리 또는 가상 키보드를 포함할 수 있고, 또한 다른 타입들의 입력/출력 디바이스들을 포함할 수 있다. 스피커(232) 및 마이크로폰(234)은 전자 디바이스(200)에 대한 오디오를 입력하고 출력하기 위해 사용될 수 있다.
RF 인터페이스(212)는 (안테나(216)와 함께) RF 신호들을 수신하고 송신하기 위한 RF 회로를 포함할 수 있다. RF 인터페이스(212)는 전기 신호를 송신을 위한 전자기 신호로 변환하거나 수신된 전자기 신호를 수신을 위한 전기 신호로 변환할 수 있다. RF 인터페이스(212)는 적어도 하나의 무선 통신 프로토콜을 통해 다른 전자 디바이스들과 통신할 수 있다. 무선 통신 프로토콜은 대도시 통신 네트워크, 다양한 세대들의 이동 통신 네트워크들(2G, 3G, 4G, 및 5G), 무선 근거리 네트워크(local area network)(LAN), 및/또는 무선 충실도(wireless fidelity)(WiFi) 네트워크를 포함할 수 있다. 일부 실시예들에서, RF 인터페이스(212)는 또한 근접장 통신(NFC)에 관련된 회로를 포함할 수 있다. 베이스밴드(214)는 RF 인터페이스(212)로 그리고 이로부터 신호들을 처리하기 위한 회로를 포함할 수 있다.
게다가, 카메라(226)는 이미지 또는 비디오를 수집하도록 구성된 임의의 타입의 이미징 또는 비디오 캡처링 디바이스를 포함할 수 있다. 전자 디바이스(200)가 사용자(130)에 의해 소지된 휴대용 디바이스일 때, 카메라(226)는 전방 카메라 및 후방 카메라를 포함할 수 있다. 전방 카메라는 전자 디바이스의 전면 패널 상에 배치될 수 있고, 후방 카메라는 전자 디바이스의 후면 패널 상에 배치된다. 일부 실시예들에서, 적어도 2개의 후방 카메라가 있으며, 각각은 메인 카메라를 심도 카메라와 융합함으로써 배경 블러링 기능을 구현하고, 메인 카메라를 광각 카메라와 융합함으로써 파노라마 촬영 및 가상 현실(virtual reality)(VR) 촬영 기능들 또는 다른 융합 촬영 기능들을 구현하기 위해, 메인 카메라, 심도 카메라, 광각 카메라, 및 망원 카메라 중 어느 하나이다. 일부 실시예들에서, 카메라(226)는 플래시를 추가로 포함할 수 있다.
인코더(222) 및 디코더(224)는 오디오 및/또는 비디오 데이터의 코딩 및 디코딩을 수행하거나 프로세서(202)에 의해 수행된 코딩 및 디코딩을 돕는데 적절한 전자 디바이스의 코덱 회로로 지칭될 수 있다.
도 2에 도시된 바와 같은 전자 디바이스(200)는 무선 통신 시스템의 이동 단말 또는 사용자 장비의 것들과 유사한 구조들을 포함할 수 있다. 그러나, 인코딩 및 디코딩, 또는 비디오 또는 이미지들의 인코딩 또는 디코딩을 필요로 할 수 있는 임의의 전자 디바이스 또는 장치가 포함될 수 있다.
도 1로 돌아가면, 전자 디바이스(200)(즉, 다양한 디바이스들(102, 104, 및/또는 106) 중 임의의 하나 이상)는 다양한 데이터(예를 들어, 오디오 데이터, 환경/동작 데이터, 이미지 데이터, 및/또는 비디오 데이터)를 캡처하거나 수집하고 데이터를 통신 링크(140)를 통해 서버(122)에 송신할 수 있다. 전자 디바이스(200)는 데이터를 서버(122)에 송신하기 전에 데이터를 처리하거나 전처리할 수 있거나, 미처리된 데이터를 서버(122)에 송신할 수 있다.
통신 링크(140)는 임의의 적절한 타입의 통신 네트워크를 포함할 수 있고 무선 휴대 전화 네트워크, 무선 근거리 네트워크(wireless local area network)(WLAN), 블루투스 개인 영역 네트워크, 이더넷 근거리 네트워크, 토큰 링 근거리 네트워크, 광역 네트워크, 및 인터넷을 포함하지만, 이들에 제한되지 않는 유선 또는 무선 네트워크들의 임의의 조합을 포함할 수 있다. 통신 링크(140)는 또한 음성/데이터 통신을 위한 사설 또는 공용 클라우드 컴퓨팅 플랫폼을 포함할 수 있다. 인터넷 또는 다른 타입의 네트워크가 포함될 때, 인터넷에 대한 연결성은 장거리 무선 연결들, 단거리 무선 연결들, 및 전화선들, 케이블선들, 전력선들, 및 유사한 통신 경로들을 포함하는 다양한 유선 연결들을 포함할 수 있다.
서버(122)는 서버 클러스터로 구성되거나 상이한 위치들에 분산되는 임의의 타입의 서버 컴퓨터 시스템 또는 다수의 컴퓨터 시스템을 포함할 수 있다. 서버(122)는 또한 클라우드 컴퓨팅 플랫폼 상의 클라우드 서버를 포함할 수 있다. 도 3은 서버(122)의 특정 양태들을 구현하는 예시적 컴퓨터 시스템을 예시한다.
도 3에 도시된 바와 같이, 컴퓨터 시스템(300)은 프로세서(302), 저장 매체(304), 모니터(306), 통신 모듈(308), 데이터베이스(310), 및 주변장치(312)를 포함할 수 있다. 특정 디바이스들은 생략될 수 있고 다른 디바이스들은 포함될 수 있다.
프로세서(302)는 임의의 적절한 프로세서 또는 프로세서들을 포함할 수 있다. 게다가, 프로세서(302)는 멀티 스레드 또는 병렬 처리를 위한 다수의 코어를 포함할 수 있다. 저장 매체(304)는 메모리 모듈들, 예컨대 판독 전용 메모리(Read-only Memory)(ROM), 랜덤 액세스 메모리(Random Access Memory)(RAM), 플래시 메모리 모듈들, 소거가능 및 재기입가능 메모리, 및 대용량 스토리지들, 예컨대 CD-ROM, U-디스크, 및 하드 디스크 등을 포함할 수 있다. 저장 매체(304)는 프로세서(302)에 의해 실행될 때, 다양한 프로세스들을 구현하기 위한 컴퓨터 프로그램들을 저장할 수 있다.
게다가, 주변장치(312)는 키보드 및 마우스와 같은 I/O 디바이스들을 포함할 수 있다. 통신 모듈(308)은 통신 네트워크를 통해 연결들을 설정하기 위한 네트워크 디바이스들을 포함할 수 있다. 데이터베이스(310)는 특정 데이터를 저장하고 데이터베이스 검색과 같은, 저장된 데이터 상의 특정 동작들을 수행하기 위한 하나 이상의 데이터베이스를 포함할 수 있다.
도 2로 돌아가면, 인코더(222)는 인트라 모드 코딩의 방법을 구현하는 인코더일 수 있다. 이러한 경우에, 전자 디바이스(200)는 또한 인트라 모드 코딩의 방법을 구현하는 것으로 간주될 수 있다. 즉, 인코더(222)는 전자 디바이스(200) 내의 하드웨어 회로로서 구현될 수 있거나, 전자 디바이스(200)에 의해 소프트웨어 프로그램로서 구현되거나, 하드웨어 회로 및 소프트웨어 프로그램의 조합으로서 구현될 수 있다. 도 4는 본 개시의 개시된 실시예들과 일치하는 예시적 비디오 인코더를 예시한다.
도 4에 도시된 바와 같이, 비디오 인코더(400)는 블록 파티션 유닛(410), 감산 유닛(420), 예측 유닛(430), 변환/양자화 유닛(440), 역양자화/역변환 유닛(450), 가산 유닛(460), 인-루프 필터(470), 및 엔트로피 인코더(480)를 포함한다. 입력 비디오는 비디오 인코더(400)로 입력되고, 이에 응답하여, 비디오 인코더(400)는 비트스트림을 출력한다.
입력 비디오는 복수의 픽처 프레임을 포함한다. 각각의 픽처 프레임은 블록 파티션 유닛(410)에 의해 슈퍼 블록들 또는 코딩 트리 유닛들(CTUs)의 시퀀스로 분할된다. 3개의 샘플 어레이를 갖는 픽처 프레임에 대해, 슈퍼 블록 또는 CTU는 크로마 샘플들의 2개의 대응하는 M×M 블록과 함께 루마 샘플들의 N×N 블록으로 구성된다. 블록 파티션 유닛(410)은 다양한 로컬 특성들에 적응하도록 코딩 트리로 나타낸 이진 및 삼진 분할 구조를 사용하여 내포된 멀티타입 트리를 사용함으로써 CTU를 코딩 유닛들(coding units)(CUs)로 추가로 분할한다. 인터 픽처(시간) 또는 인트라 픽처(공간) 예측을 사용하여 픽처 구역을 코딩하는지의 결정은 코딩 트리의 리프 CU 레벨에서 이루어진다. 예측 프로세스는 잔차 블록을 획득하기 위해 리프 CU에 적용되고, 변환은 잔차 블록에 적용될 수 있고, 관련 정보는 CU 기초로 대응하는 디코더에 송신된다. 예측 프로세스를 적용함으로써 잔차 블록을 획득한 후에, 리프 CU는 변환을 갖거나 갖지 않는 잔차 코딩을 위한 다른 트리 구조에 의해 변환 유닛들(transform units)(TUs)로 파티션될 수 있다.
예측 유닛(430)은 인트라 예측, 인터 예측, 및 조합된 인터 및 인트라 예측을 지원한다. 인트라 예측은 또한 인트라 모드 코딩으로 칭해진다. 자연 비디오에서 제시된 임의적 에지 방향들을 캡처하기 위해, 예측 유닛(430)은 평면(표면 피팅) 인트라 예측 모드 및 DC(플랫) 인트라 예측 모드에 더하여 65 방향성(또는 각도) 인트라 예측 모드를 지원한다. 예측 유닛(430)은 모션 벡터들, 참조 픽처 인덱스들 및 참조 픽처 리스트 사용 인덱스를 포함하는 모션 파라미터들, 및 비디오 코딩 특징들에 필요한 부가 정보에 기초하여 인터 예측된 샘플 발생을 추가로 지원한다. 예측 유닛(430)은 또한 스킵 모드에서 코딩된 CU가 하나의 PU와 연관되고 중요한 잔차 계수, 코딩된 모션 벡터 델타 또는 참조 픽처 인덱스를 갖지 않는 변환 스킵 모드를 지원한다. 예측 유닛(430)은 또한 현재 CU에 대한 모션 파라미터들이 공간 및 시간 후보들, 및 부가 스케줄들을 포함하는, 이웃 CU들로부터 획득되는 병합 모드를 지원한다. 병합 모드는 스킵 모드 뿐만 아니라, 임의의 인터 예측된 CU에 적용될 수 있다. 예측 유닛(430)은 또한 모션 파라미터들을 명시적으로 송신함으로써 병합 모드에 대한 대안을 지원하며, 모션 벡터, 각각의 참조 픽처 리스트 및 참조 픽처 리스트 사용 플래그에 대한 대응하는 참조 픽처 인덱스, 및 다른 요구된 정보는 각각의 CU마다 명시적으로 시그널링된다.
감산 유닛(420)은 CU와 PU 사이의 차이(또는 잔차)를 변환/양자화 유닛(440)에 출력한다.
변환/양자화 유닛(440)은 64x64 크기까지 큰 블록 크기 변환들을 지원한다. 고주파 변환 계수들은 64와 동일한 크기를 갖는 변환 블록들에 대해 삭감되어, 저주파 변환 계수들만이 유지된다. 스킵 모드에서 큰 블록을 변환할 때, 변환/양자화 유닛(440)은 임의의 값들을 삭감하지 않고 전체 블록을 사용한다. 변환/양자화 유닛(440)은 또한 코어 변환을 위한 다중 변환 선택(multiple transform selection)(MTS)을 지원한다. MTS를 제어하기 위해, 변환/양자화 유닛(440)은 인트라 및 인터 예측 각각을 위해 시퀀스 파라미터 세트(sequence parameter set)(SPS) 레벨에서 개별 인에이블링 플래그들을 사용한다. MTS가 SPS 레벨에서 인에이블될 때, CU 레벨 플래그는 MTS가 적용되는지의 여부를 표시하기 위해 시그널링된다. 변환/양자화 유닛(440)은 또한 저주파 비분리가능 변환(low-frequency non-separable transform)(LFNST) 및 서브블록 변환(sub-block transform)(SBT)과 같은, VVC 및 AV1 표준들의 비디오 코딩 방식들에 설명된 다른 변환 특징들을 지원한다.
게다가, 변환/양자화 유닛(440)은 최대 63 양자화 파라미터(quantization parameters)(QPs)를 지원한다. 변환/양자화 유닛(440)은 또한 SPS에서 루마 대 크로마 매핑 관계를 시그널링함으로써 플렉시블 루마 대 크로마 QP 매핑을 지원한다. 변환/양자화 유닛(440)은 또한 루마 및 크로마 구성요소들에 대한 델타 QP 값들이 개별적으로 시그널링될 수 있는 CU-레벨 QP 적응을 지원한다. 변환/양자화 유닛(440)은 또한 의존 양자화와 같은, VVC 및 AV1 표준들의 비디오 방식들에 설명된 다른 양자화 특징들을 지원한다.
변환/양자화 유닛(440)은 또한 크로마 잔차들의 조인트 코딩을 지원하며, 이는 TU-레벨 플래그에 의해 표시된다.
맥락 기반 적응 이진 산술 코딩(CABAC)은 엔트로피 코딩 알고리즘으로서 설명될 수 있다. 엔트로피 인코더(480)는 변환/양자화 유닛(440)에 의해 출력된 신택스 요소들을 인코딩하기 위해 CABAC 코딩 엔진을 포함한다. CABAC 코딩 엔진은 골롬-라이스 코딩 알고리즘과 같은 산술 코딩 알고리즘들을 지원한다. 엔트로피 인코더(480)는 변환 블록 및 변환 스킵 블록에 대한 개별 잔차 코딩 구조들을 지원한다. 엔트로피 인코더(480)는 비중복된 계수 그룹들(coefficient groups)(CGs 또는 서브블록들)을 사용함으로써 코딩 블록의 변환 계수들을 코딩하고 각각의 CG는 가변 크기의 코딩 블록의 변환 계수들을 포함한다. 계수 그룹의 크기는 변환 블록 크기에만 기초하여 선택되며, 이는 채널 타입과 독립적이다. CG들의 크기는 1x16, 2x8, 8x2, 2x4, 4x2, 및 16x1을 포함할 수 있다. 각각의 코딩 블록 내부의 CG들 및 각각의 CG 내의 변환 계수들은 미리 정의된 스캐닝 순서들에 따라 코딩된다.
변환 유닛 내의 각각의 코딩 블록은 복수의 서브블록으로 분할되고 각각의 서브블록은 복수의 픽셀로 분할된다. 복수의 서브블록은 4x4 또는 2x2 서브블록들을 포함한다.
산술 코딩 알고리즘에서, 확률 모델은 근거리 이웃 내의 이전에 코딩된 정보에 따라 각각의 신택스 요소를 위해 동적으로 선택된다.
역양자화/역변환 유닛(450)은 변환/양자화 유닛(440)에 의해 수행된 양자화 프로세스 및 변환 프로세스를 반전시키고 출력을 가산 유닛(460)에 공급하여 픽처 프레임을 재구성한다. 가산 유닛(460)은 또한 다른 입력으로서 예측 유닛(430)의 출력을 취한다. 재구성된 픽처는 인-루프 필터(470)에 의해 필터링될 것이다. 인-루프 필터(470)는 블록화제거 필터, 샘플 적용 오프셋(sample adaptive offset)(SAO) 필터, 및 적응 루프 필터(adaptive loop filter)(ALF)를 포함한다, 이들은 이러한 순서로 캐스케이드된다. 인-루프 필터(470)의 출력은 예측 유닛(430)으로 입력된다.
도 5는 본 개시의 실시예들과 일치하는 비디오 디코더를 예시한다. 도 5에 도시된 바와 같이, 비디오 디코더(500)는 엔트로피 디코더(510), 역변환/역양자화 유닛(520), 가산 유닛(530), 예측 유닛(540), 인-루프 필터(550), 및 프레임 버퍼(560)를 포함한다. 도 4에 도시된 비디오 인코더(400)로부터 출력되는 입력 비트스트림은 비디오 디코더(500)로 입력되고 이에 응답하여, 비디오 디코더(500)는 비디오 신호를 출력한다. 입력 비트스트림은 비디오 디코더(500)로 입력되기 전에 통신 네트워크를 통해 송신될 수 있다.
비디오 디코더(500)는 픽처 프레임들을 재구성하기 위해 입력 비트스트림에 비디오 디코딩 프로세스를 수행한다. 비디오 디코딩 프로세스는 비디오 인코더(400)에 의해 수행된 비디오 인코딩 프로세스를 반전시키는 프로세스이다. 구체적으로, 엔트로피 디코더(510)는 엔트로피 인코더(480)에 의해 인코딩된 비트스트림을 디코딩한다. 역변환/역양자화 유닛(520)은 잔차 블록을 복구하기 위해 변환/양자화 유닛(440)에 의해 수행된 변환/양자화 프로세스를 반전시킨다. 가산 유닛(530)은 코딩 블록을 복구하기 위해 예측 유닛(540)에 의해 예측되는 예측된 블록 및 잔차 블록의 합을 계산한다. 인-루프 필터(550)는 복구된 코딩 블록을 평활화한다. 최종적으로, 코딩 블록은 픽처 프레임을 재구성하기 위해 프레임 버퍼(560)로 저장된다.
그 동안에, 예측 유닛(540)은 예측된 블록을 발생시키기 위해 압력들로서 입력 비트스트림 내의 디코딩된 코딩 블록 및 다양한 플래그들을 취한다.
본 개시는 비디오 인코딩 방법을 제공한다. 도 6은 본 개시의 실시예들과 일치하는 예시적 비디오 인코딩 방법의 흐름도를 예시한다. 도 6에 도시된 바와 같이, 비디오 인코딩 방법은 (S610에서) 비디오 입력의 현재 프레임을 획득하는 단계를 포함한다. 현재 프레임은 내포된 멀티타입 트리 코딩 블록 구조에 따라 슈퍼 블록들 또는 코딩 트리 유닛들(CTUs)의 시퀀스로 분할될 수 있으며, 각각의 슈퍼 블록 또는 CTU는 (S620에서) 코딩된 블록들(CBs)로 추가로 분할될 수 있다.
HEVC 및 VVC 표준들 둘 다의 비디오 인코딩 방식들에서, 비디오 프레임들은 CTU들의 시퀀스로 분할된다. HEVC 표준의 비디오 인코딩 방식에서, CTU는 다양한 로컬 특성들에 적응하도록 코딩 트리로서 나타낸 쿼드트리 구조를 사용함으로써 CU들로 분할된다. 인터 픽처(시간) 또는 인트라 픽처(공간) 예측을 사용하여 픽처 구역을 코딩하는지의 결정은 CU 레벨에서 이루어진다. 각각의 CU는 PU 분할 타입에 따라 1개, 2개 또는 4개의 PU로 추가로 분할될 수 있다. 하나의 PU 내에서, 동일한 예측 프로세스가 적용되고, 관련 정보가 PU 기초로 디코더에 송신된다. PU 분할 타입에 기초하여 예측 프로세스를 적용함으로써 잔차 블록을 획득한 후에, CU는 CU에 대한 코딩 트리와 유사한 다른 쿼드트리 구조에 따라 TU들로 파티션될 수 있다. HEVC 구조의 핵심적 특징들 중 하나는 그것이 CU, PU, 및 TU를 포함하는 다수의 파티션 개념을 갖는다는 것이다.
VVC 표준의 비디오 인코딩 방식에서, 이진 및 삼진 분할 세그먼트화 구조를 사용하여 내포된 멀티타입 트리를 갖는 쿼드트리는 다수의 파티션 유닛 타입의 개념들을 대체하며, 즉, 그것은 최대 변환 길이에 대해 너무 큰 크기를 갖는 CU들에 필요한 경우를 제외하고 CU, PU 및 TU 개념들의 분리를 제거하고, CU 파티션 형상들에 더 유연성을 지원한다. 코딩 트리 구조에서, CU는 정사각형 또는 직사각형 형상을 가질 수 있다. CTU는 4차 트리(또한 쿼드트리로 공지됨) 구조에 의해 우선 파티션된다. 그 다음, 4차 트리 리프 노드들은 멀티타입 트리 구조에 의해 추가로 파티션될 수 있다. 도 8에 도시된 바와 같이, 멀티타입 트리 구조에 4개의 분할 타입, 즉 수직 이진 분할(SPLIT_BT_VER), 수평 이진 분할(SPLIT_BT_HOR), 수직 삼진 분할(SPLIT_TT_VER), 및 수평 삼진 분할(SPLIT_TT_HOR)이 있다. 멀티타입 트리 리프 노드들은 CU들로 칭해지고, CU가 최대 변환 길이에 대해 너무 크지 않는 한, 이러한 세그먼트화는 예측을 임의의 추가 파티셔닝 없이 예측 및 변환 처리를 위해 사용된다. 이것은 대부분의 경우들에서, CU, PU 및 TU가 내포된 멀티타입 트리 코딩 블록 구조를 갖는 쿼드트리에서 동일한 블록 크기를 갖는 것을 의미한다. 예외는 최대 지원된 변환 길이가 CU의 컬러 성분의 폭 또는 높이보다 더 작을 때 발생한다.
도 9는 본 개시의 실시예들과 일치하는 예시적 코딩 트리 구조 내의 파티션 분할 정보의 시그널링 메커니즘을 예시한다. CTU는 4차 트리의 루트로서 취급되고 4차 트리 구조에 의해 우선 파티션된다. 그 다음, 각각의 4차 트리 리프 노드는 (그것을 허용하기에 충분히 클 때) 멀티타입 트리 구조에 의해 추가로 파티션된다. 멀티타입 트리 구조에서, 제1 플래그(mtt_split_cu_flag)는 노드가 추가로 파티션되는지를 표시하기 위해 시그널링된다. 노드가 추가로 파티션될 때, 제2 플래그(mtt_split_cu_vertical_flag)는 분할 방향을 표시하기 위해 시그널링되고, 그 다음 제3 플래그(mtt_split_cu_binary_flag)는 분할이 이진 분할 또는 삼진 분할인지를 표시하기 위해 시그널링된다. mtt_split_cu_vertical_flag 및 mtt_split_cu_binary_flag의 값들에 기초하여, CU의 멀티타입 트리 분할 모드(MttSplitMode)는 에러 ! 발견되지 않은 참조 소스에 도시된 바와 같이 유도된다.
Figure pct00001
도 10은 본 개시의 실시예들과 일치하는 예시적 코딩 트리 구조를 예시한다. 도 10에 도시된 바와 같이, CTU는 쿼드트리 및 내포된 멀티타입 트리 코딩 블록 구조를 갖는 다수의 CU로 분할될 수 있으며, 여기서 볼드 블록 에지들은 쿼드트리 파티셔닝을 나타내고 나머지 에지들은 멀티타입 트리 파티셔닝을 나타낸다. 내포된 멀티타입 트리 파티션을 갖는 쿼드트리는 CU들로 구성된 콘텐츠 적응 코딩 트리 구조를 제공한다. CU의 크기는 루마 샘플들의 단위로 CTU만큼 크거나 4×4만큼 작을 수 있다. 4:2:0 크로마 포맷의 경우에 대해, 최대 크로마 CB 크기는 64×64이고 최소 크로마 CB 크기는 2×2이다.
VVC 표준의 비디오 코딩 방식에서, 최대 지원된 루마 변환 크기는 64×64이고 최대 지원된 크로마 변환 크기는 32×32이다. CB의 폭 또는 높이가 최대 변환 폭 또는 높이보더 더 클 때, CB는 그러한 방향으로 변환 크기 제한을 충족시키기 위해 수평 및/또는 수직 방향으로 자동적으로 분할된다.
VVC 표준(예를 들어, VTM7)의 비디오 코딩 방식에서, 코딩 트리 방식은 개별 블록 트리 구조를 갖기 위해 루마 및 크로마에 대한 능력을 지원한다. 현재, P 및 B 슬라이스들에 대해, 하나의 CTU 내의 루마 및 크로마 코딩 트리 블록들(coding tree blocks)(CTBs)은 동일한 코딩 트리 구조를 공유해야 한다. 그러나, I 슬라이스들에 대해, 루마 및 크로마는 개별 블록 트리 구조들을 가질 수 있다. 개별 블록 트리 모드가 적용될 때, 루마 CTB는 하나의 코딩 트리 구조에 의해 CU들로 파티션되고, 크로마 CTB들은 다른 코딩 트리 구조에 의해 크로마 CU들로 파티션된다. 이것은 I 슬라이스 내의 CU가 루마 구성요소의 코딩 블록 또는 2개의 크로마 구성요소의 코딩 블록들로 구성될 수 있고, 비디오가 모노크롬이 아닌 한 P 또는 B 슬라이스 내의 CU가 모든 3개의 컬러 성분의 코딩 블록들로 항상 구성되는 것을 의미한다.
유사하게, VP9 표준의 비디오 코딩 방식들에서, 비디오 프레임들은 CTU들의 시퀀스로 분할된다. 도 11에 도시된 바와 같이, 4-웨이 파티션 트리는 블록 8×8에 대한 일부 부가 제한들로, 64×64 레벨로부터 4×4 레벨에 이르기까지 CTU들을 분할하기 위해 사용된다. R로 지정된 파티션들은 가장 낮은 4×4 레벨에 도달할 때까지 동일한 파티션 트리가 더 낮은 스케일로 반복된다는 점에서 회귀적이라고 언급한다는 점을 주목한다.
유사하게, AV1 표준의 비디오 코딩 방식들에서, 비디오 프레임들은 슈퍼 블록들의 시퀀스로 분할된다. 도 12에 도시된 바와 같이, 파티션 트리는 10-웨이 구조로 확장된다. 동시에, 가장 큰 크기(VP9/AV1 용어에서 슈파블록으로 지칭됨)는 128×128부터 시작하기 위해 증가된다. 이것은 VP9 표준의 비디오 코딩 방식에 존재하지 않는 4:1/1:4 직사각형 파티션들을 포함한다는 점을 주목한다. 직사각형 파티션들 중 아무 것도 추가로 세분화될 수 없다. 코딩 블록 크기에 더하여, 코딩 트리 깊이는 루트 노드로부터 분할 깊이를 표시하기 위해 정의된다. 구체적으로, 루트 노드에 대한 코딩 트리 깊이, 예를 들어 128×128은 0으로 설정되고, 트리 블록이 한 번 추가로 분할된 후에, 코딩 트리 깊이는 1만큼 증가된다.
고정 변환 유닛 크기들을 집행하는 대신에, 루마 코딩 블록들은 최대 2 레벨까지 떨어지는 회귀 파티션에 의해 표현될 수 있는 다수의 크기의 변환 유닛들로 파티션되도록 허용된다. 확장된 코딩 블록 파티션들을 통합하기 위해, 4×4에서 64×64까지의 정사각형, 2:1/1:2, 및 4:1/1:4 변환 크기들이 지원된다. 크로마 블록들에 대해, 가장 크게 가능한 변환 유닛들만이 허용된다.
도 6으로 돌아가면, S630에서, 현재 프레임이 CB의 시퀀스로 파티션된 후에, 다중 참조 라인 인트라 예측(MRLP)은 각각의 CB에 대한 잔차 블록을 획득하기 위해 사용되고 및 인트라 예측을 위해 선택된 참조 라인들의 MRLP 플래그들 및 참조 샘플들은 라인 버퍼에 저장된다.
각각의 블록에 대해, 인트라 예측 모드들은 이웃 블록들의 다중 참조 라인들에 기초하여 유도된다. AV1 표준에 기초하여 비디오 코딩 방식으로 정의된 모든 이용가능 인트라 예측 모드들의 서브세트는 다중 참조 라인들 각각에 대해 결정된다. 모든 이용가능 인트라 예측 모드들의 서브세트는 또한 허용된 인트라 예측 모드(AIPM) 세트로 칭해진다. 다중 참조 라인들 각각은 인덱스 번호에 의해 식별된다. 인덱스 번호는 0 이상인 정수이다.
AV1 표준의 비디오 인코딩 방식에서, 이용가능 인트라 예측 모드들의 수는 62이며, 이는 56 각도 인트라 예측 모드, 5 스무스 모드, 및 하나의 크로마 프럼 루마 모드를 포함한다. 다중 참조 라인들이 인트라 예측에 적용되고 모든 인트라 예측 모드들이 다중 참조 라인들에 대해 포함될 때, 비디오 코딩 복잡성은 상당하다. 다중 참조 라인들은 0과 동일한 인덱스 번호를 갖는 인접 참조 라인 및 0보다 더 큰 인덱스 번호들을 갖는 하나 이상의 비인접 참조 라인을 포함한다. 참조 라인들 각각에 대해 허용된 인트라 예측 모드들의 수는 비디오 인코딩 복잡성을 감소시키기 위해 제한될 필요가 있다.
특정 제한들은 MRLP에 적용될 수 있다. MRLP는 좁은 블록들에 대해 디스에이블될 수 있다. 좁은 블록들은 폭(W), 높이(H), 및 abs(log2W- log2H) > 1을 갖는다. MRLP는 작은 블록들에 대해 디스에이블될 수 있다. 작은 블록들의 크기는 8×8 이하이다. 다른 제한이 또한 적용될 수 있다.
본 개시의 실시예들에서, MRLP는 코딩 효율 및 압축 성능을 개선하기 위해 비디오 인코딩 방법에 사용된다. 코딩 효율 및 압축 성능에 기초하여 다중 참조 라인들 각각에 대해 결정되는 대응하는 인트라 예측 모드들은 다양한 비디오 코딩 표준들의 비디오 코딩 방식들에 정의된 모든 이용가능 인트라 예측 모드들의 서브세트이다. 서브세트는 또한 AIPM 세트로 칭해진다. AIPM 세트에 포함된 인트라 예측 모드들은 도 4에 도시된 비디오 인코더(400)와 같은 비디오 코딩 디바이스에 의해 시그널링된다. AIPM 세트에 포함된 인트라 예측 모드들의 수가 대응하는 비디오 코딩 방식으로 정의된 모든 이용가능 인트라 예측 모드들의 수 미만이기 때문에, 보다 소수의 비트들은 AIPM 세트에 포함된 인트라 예측 모드들을 시그널링하기 위해 요구된다. 게다가, 심볼 레벨은 인트라 예측 모드들에 더하여 인터 예측 모드들에서의 각각의 블록에 대해 예측될 수 있다.
잔차 블록이 획득된 후에, 잔차 블록은 변환되고 양자화된다. 잔차 블록은 현재 CB와 예측된 CB 사이의 차이이다.
AV1 표준의 비디오 인코딩 방식에서의 인트라 예측 모드들은 56 각도(또는 방향성) 인트라 예측 모드, 5 비각도 스무스 인트라 예측 모드, 하나의 크로마 전용 인트라 예측 모드, 및 일부 다른 인트라 예측 모드들을 포함한다. 8개의 방향성(또는 각도) 모드는 45 내지 207 도의 각도들에 대응한다. 방향성 텍스처들에서 더 다양한 공간 리던던시를 이용하기 위해, 방향성 인트라 예측 모드들은 더 미세한 입도를 갖는 각도 세트로 확장된다. 도 13은 본 개시의 실시예들과 일치하는 인트라 예측 모드들의 8 공칭 각도를 예시한다. 도 13에 도시된 바와 같이, 8 방향성 모드의 각도들은 약간 변경되고 공칭 각도들로서 이루어지며, 이들 8 공칭 각도는 또한 공칭 인트라 각도들로 칭해지고 90°, 180°, 45°, 135°, 113°, 157°, 203°, 및 67°에 대응하는 V_PRED, H_PRED, D45_PRED, D135_PRED, D113_PRED, D157_PRED, D203_PRED, 및 D67_PRED로 칭해진다. 각각의 공칭 각도는 7 더 미세한 각도로 확장된다. 따라서, 56 방향성 각도(또한 인트라 각도들 또는 예측 각도들로 공지됨)는 전체로서 정의된다. 각각의 예측 각도는 공칭 인트라 각도 + 각도 델타에 의해 제시되며, 이는 3 도의 스텝 크기를 곱한 -3 ~ 3이다. 포괄적 방식을 통해 방향성 인트라 예측 모드들을 구현하기 위해, 모든 56 방향성 인트라 예측 모드들은 각각의 픽셀을 참조 서브픽셀 위치에 투영하고 2-탭 이중선형 필터에 의해 참조 픽셀을 보간하는 통합된 방향성 예측기로 구현된다.
인트라 예측 모드들은 또한 5 무방향성 스무스 인트라 예측 모드를 포함하며, 이는 DC 모드, PAETH 모드, SMOOTH 모드, SMOOTH_V 모드, 및 SMOOTH_H 모드이다. DC 모드에 대해, 좌측 및 상부 이웃 샘플들의 평균은 예측될 블록의 예측기로서 사용된다. PAETH 모드에 대해, 상단, 좌측 및 상단-좌측 참조 샘플들이 우선 인출되고, 그 다음 (상단 + 좌측 - 상단-좌측)에 가장 가까운 값은 픽셀이 예측되는 예측기로서 설정된다. 도 14는 본 개시의 실시예들과 일치하는 PAETH 모드에 대한 상단, 좌측, 및 상단-좌측 위치들을 예시한다. SMOOTH 모드, SMOOTH_V 모드, 및 SMOOTH_H 모드에 대해, 그들은 수직 또는 수평 방향들의 이차 보간, 또는 양 방향들의 평균을 사용하여 블록을 예측한다.
에지들 상의 참조들과의 감쇠 공간 상관을 캡처하기 위해, FILTER INTRA 모드들은 루마 블록들에 대해 디자인된다. 5개의 필터 인트라 모드가 정의된다. 5개의 필터 인트라 모드 각각은 4x2 패치 내의 픽셀들과 7 인접 이웃 사이의 상관을 반영하는 한 세트의 8개의 7-탭 필터에 의해 표현된다. 다시 말해, 7-탭 필터에 대한 가중 인자들은 위치 의존적이다. 도 15는 본 개시의 실시예들과 일치하는 회귀 인트라 필터링 모드들의 예들을 예시한다. 도 15에 도시된 바와 같이, 8×8 블록은 8 4×2 패치로 분할된다. 이들 패치들은 도 15에서 B0, B1, B2, B3, B4, B5, B6, 및 B7에 의해 표시된다. 각각의 패치에 대해, R0 내지 R7에 의해 표시된 7 인접 이웃은 현재 패치에서 픽셀들을 예측하기 위해 사용된다. 패치 B0에 대해, 모든 인접 이웃들은 이미 재구성되어 있다. 그러나, 다른 패치들에 대해, 모든 인접 이웃들이 재구성되는 것은 아니다. 인접 이웃들의 예측된 값들은 참조들로서 사용된다. 예를 들어, 패치(B7)의 모든 인접 이웃들은 재구성되지 않으므로, 인접 이웃들(즉, B5 및 B6)의 예측 샘플들이 대신에 사용된다.
크로마 프럼 루마(CfL)는 일치하는 재구성된 루마 픽셀들의 선형 함수로서 크로마 픽셀들을 모델링하는 크로마 전용 인트라 예측기이다. CfL 예측은 이하와 같이 표현된다:
Figure pct00002
여기서 LAC는 루마 구성요소의 AC 기여를 나타내고,
Figure pct00003
는 선형 모델의 파라미터를 나타내고, DC는 크로마 구성요소의 DC 기여를 나타낸다. 구체적으로, 재구성된 루마 픽셀들은 크로마 해상도로 서브샘플링되고, 그 다음 평균 값은 AC 기여를 형성하기 위해 차감된다. AC 기여로부터 크로마 AC 구성요소를 근사하기 위해, 스케일링 파라미터들을 계산하기 위해 디코더를 필요로 하는 대신에, CfL은 비트스트림에서의 원래 크로마 픽셀들 및 신호들에 기초하여 파라미터(
Figure pct00004
)를 결정한다. 이러한 접근법은 디코더 복잡성을 감소시키고 더 정확한 예측들을 산출한다. 크로마 구성요소의 DC 기여에 대해서는, 그것은 인트라 DC 모드를 사용하여 계산되며, 이는 대부분의 크로마 콘텐츠에 충분하고 확장된(mature) 빠른 구현들을 갖는다.
MRLP는 인트라 예측을 위한 다중 참조 라인들을 사용하고, 도 4에 도시된 바와 같은 비디오 인코더(400)는 인트라 예측기를 발생시키기 위해 어느 참조 라인이 사용되는지를 결정하고 시그널링한다. 참조 라인의 인덱스 번호는 인트라 예측 모드들에 선행하여 시그널링되고, 비제로 참조 라인의 인덱스 번호가 시그널링되는 경우에 최고 확률 모드(most probable mode)(MPM) 또는 균등물만이 허용된다. 도 16은 본 개시의 실시예들과 일치하는 4 참조 라인의 일 예를 예시한다. 도 16에 도시된 바와 같이, 4 참조 라인의 일 예가 도시되며, 여기서 각각의 참조 라인은 상단-좌측 참조 샘플과 함께, 6개의 세그먼트, 즉, 세그먼트들 A 내지 F로 구성된다. 게다가, 세그먼트들 A 및 F는 세그먼트들 B 및 E로부터의 가장 가까운 샘플들과 각각 패딩된다.
도 16에 도시된 바와 같이, 참조 라인의 인덱스 번호는 참조 라인이 현재 CB로부터 더 멀리 떨어져 있음에 따라 순차적으로 증가한다. 현재 블록에 바로 인접한 참조 라인은 인접 참조 라인으로 칭해지고 0과 동일한 인덱스 번호를 가지며, 이는 도 16에서 참조 라인 0이다. 0보다 더 큰 인덱스 번호를 갖는 참조 라인은 비인접 참조 라인으로 칭해진다.
도 6로 돌아가면, S640에서, 현재 프레임은 각각의 CB에 대한 코딩된 잔차 블록을 포함하는 비트스트림을 발생시키기 위해 현재 프레임의 각각의 CB에 대한 잔차 블록을 사용함으로써 코딩된다. 각각의 CB에 MRLP를 사용함으로써 획득된 잔차 블록은 변환되고 양자화된다. 큰 블록 크기 변환들은 최대 64x64 크기를 포함한다. 고주파 변환 계수들은 64와 동일한 크기를 갖는 변환 블록들에 대해 삭감되어, 저주파 변환 계수들만이 유지된다. 변환 스킵 모드에서 큰 블록을 변환할 때, 전체 블록은 임의의 값들을 삭감하지 않고 사용된다. 게다가, 다중 변환 선택(MTS)은 코어 변환을 위해 지원된다. MTS를 제어하기 위해, 개별 인에이블링 플래그들은 인트라 및 인터 예측 각각을 위해 시퀀스 파라미터 세트(SPS) 레벨에서 사용된다. MTS가 SPS 레벨에서 인에이블될 때, CU 레벨 플래그는 MTS가 적용되는지의 여부를 표시하기 위해 시그널링된다. 저주파 비분리가능 변환(LFNST) 및 서브블록 변환(SBT)과 같은, 다른 변환 특징들이 지원될 수 있다.
게다가, 63 양자화 파라미터(QPs)의 최대는 변환 및 양자화 프로세스에 의해 지원된다. 플렉시블 루마 대 크로마 QP 매핑은 또한 SPS에서 루마 대 크로마 매핑 관계를 시그널링함으로써 지원된다. 루마 및 크로마 구성요소들에 대한 델타 QP 값들이 개별적으로 시그널링될 수 있는 CU-레벨 QP 적응이 또한 지원될 수 있다. 의존 양자화와 같은 다른 양자화 특징들이 또한 지원될 수 있다.
게다가, 변환되고 양자화된 잔차 블록이 엔트로피 코딩된다. 엔트로피 코딩 알고리즘은 맥락 기반 적응 이진 산술 코딩(CABAC)일 수 있다. CABAC 코딩 엔진은 변환 및 양자화 프로세스에 의해 출력된 신택스 요소들을 인코딩하기 위해 사용될 수 있다. CABAC 코딩 엔진은 골롬-라이스 코딩 알고리즘과 같은 산술 코딩 알고리즘들을 지원한다. 개별 잔차 코딩 구조들은 변환 블록 및 변환 스킵 블록에 대해 지원될 수 있다. 코딩 블록의 변환 계수들은 비중복된 계수 그룹들(CGs 또는 서브블록들)을 사용함으로써 코딩될 수 있고 각각의 CG는 가변 크기의 코딩 블록의 변환 계수들을 포함한다. 계수 그룹의 크기는 변환 블록 크기에만 기초하여 선택되며, 이는 채널 타입에 독립적이다. CG들의 크기는 1x16, 2x8, 8x2, 2x4, 4x2, 및 16x1을 포함할 수 있다. 각각의 코딩 블록 내부의 CG들 및 각각의 CG 내의 변환 계수들은 미리 정의된 스캐닝 순서들에 따라 코딩된다.
게다가, 각각의 CB에 대한 엔트로피 코딩된 잔차 블록을 포함하는 비트스트림이 발생된다. 엔트로피 코딩의 결과로서, 각각의 CB에 대한 엔트로피 코딩된 잔차 블록을 포함하는 비트스트림이 발생된다. 비트스트림은 송신되고/되거나 저장될 수 있다. 비디오 디코더는 원래 비디오를 복원하기 위해 본 개시와 일치하는 비디오 인코딩 방법에 대응하는 비디오 디코딩 방법을 수행할 수 있다.
따라서, 본 개시는 비디오 인코딩 방법을 제공한다. 방법은 인트라 예측에서 다중 참조 라인들을 선택하고 다중 참조 라인 인트라 예측을 위해 선택된 참조 라인들의 참조 샘플들의 값들을 결정한다. 선택된 참조 라인들의 참조 샘플들의 값들은 라인 버퍼에 저장된다. 참조 라인 선택 및 참조 샘플 값 결정은 라인 버퍼의 크기를 감소시키기 위해 최적화된다. 따라서, 라인 버퍼에 전용인 온-칩 회로 구역은 하드웨어 비용을 절약하기 위해 감소된다.
본 개시와 일치하는 인코더들 및 디코더들의 실시예들은 처리 회로(예를 들어, 하나 이상의 프로세서 또는 하나 이상의 집적 회로)에 의해 구현될 수 있으며, 이는 비일시적 컴퓨터 판독가능 저장 매체에 저장된 프로그램 명령어들을 실행한다.
도 17은 본 개시의 실시예들과 일치하는 상측 참조 라인들 및 좌측 참조 라인들의 일 예를 예시한다. 도 17에 도시된 바와 같이, 다중 참조 라인들은 상측 참조 라인들 및 좌측 참조 라인들로 추가로 분할된다. 상측 참조 라인들은 백색으로 마킹되고 세그먼트 B, C, 및 D 내의 참조 샘플들은 상측 참조 라인들에 포함된다. 좌측 참조 라인들은 회색으로 마킹되고, 세그먼트 A 내의 참조 샘플들은 좌측 참조 라인들에 포함된다.
슈퍼 블록의 제1 라인이 현재 CB 내부에 위치될 때, 즉, 현재 CB가 슈퍼 블록의 상단 경계에 위치될 때, 인접 상측 참조 라인(또한 상측 참조 라인 0으로 공지됨)의 참조 샘플들은 현재 CB의 인트라 예측을 위해 사용되고 비인접 상측 참조 라인들의 참조 샘플들은 현재 CB의 인트라 예측을 위해 배제된다. 다른 한편, 인접 좌측 참조 라인 및 비인접 좌측 참조 라인들의 참조 샘플들 둘 다는 현재 CB의 인트라 예측을 위해 사용될 수 있다. 참조 라인들의 인덱스 번호들은 슈퍼 블록의 제1 라인이 현재 CB 내부에 위치되는지의 여부에 관계없이 동일한 방식으로 시그널링된다. 게다가, 참조 라인들의 인덱스 번호들을 시그널링하기 위한 맥락은 슈퍼 블록의 제1 라인이 현재 CB 내부에 위치되는지의 여부에 의존한다.
일 실시예에서, 슈퍼 블록의 제1 라인이 현재 CB 내부에 위치될 때, 인접 상측 참조 라인 및 다양한 좌측 참조 라인들의 조합은 현재 CB의 인트라 예측을 위한 다양한 참조 샘플들을 형성할 수 있다. 조합은 인트라 예측을 위해 선택된 참조 라인들의 제2 인덱스 번호들에 의해 시그널링된다. 도 18 내지 도 21은 본 개시의 실시예들과 일치하는 인트라 예측을 위한 상측 참조 라인 0 및 상이한 좌측 참조 라인을 선택하는 예들을 예시한다. 일 예에서, 인접 상측 참조 라인 및 인접 좌측 참조 라인의 조합은 도 18에서 대각선 텍스처드 패턴들로 마킹된다. 다른 예에서, 인접 상측 참조 라인 및 좌측 참조 라인 1의 조합은 도 19에서 대각선 텍스처드 패턴들로 마킹된다. 다른 예에서, 인접 상측 참조 라인 및 좌측 참조 라인 2의 조합은 도 20에서 대각선 텍스처드 패턴들로 마킹된다. 다른 예에서, 인접 상측 참조 라인 및 좌측 참조 라인 3의 조합은 도 21에서 대각선 텍스처드 패턴들로 마킹된다.
참조 샘플들이 상측 참조 라인들 또는 좌측 참조 라인들 중 어느 것에 없을 때, 동일한 참조 샘플 패딩 프로세스는 상측 참조 라인들 및 좌측 참조 라인들 둘 다에 사용된다.
스무스 필터들은 인트라 예측을 위해 선택된 참조 라인들의 참조 샘플들을 필터링하는데 사용된다. 참조 샘플들에 대한 상이한 스무스 필터들은 인트라 예측을 위해 선택된 상이한 참조 라인들에 사용된다. 일 예에서, 인트라 예측을 위해 선택된 좌측 참조 라인이 비인접 좌측 참조 라인일 때, 스무스 필터들은 인트라 예측을 위해 선택된 인접 상측 참조 라인 및 비인접 좌측 참조 둘 다에 대해 디스에이블된다. 다른 예에서, 인트라 예측을 위해 선택된 좌측 참조 라인이 인접 좌측 참조 라인일 때, 스무스 필터들은 인트라 예측을 위해 선택된 인접 좌측 참조에 대해서만 디스에이블된다.
일 실시예에서, 슈퍼 블록의 제1 라인이 현재 CB 내부에 있고 r번째 비인접 참조 라인이 인트라 예측을 위해 사용되고 있는 것을 표시하는 참조 라인 인덱스(r)가 시그널링될 때, 좌측으로부터의 참조 샘플은 정상 MRLP 방식이 행하는 것과 동일한 r번째 열로부터 선택되며, 상단 측면으로부터의 참조 샘플은 하나의 단일 값으로 채워진다.
일 실시예에서, 슈퍼 블록의 제1 라인이 현재 CB 내부에 위치될 때, 제2 인덱스 번호(r)를 갖는 하나의 비인접 상측 참조 라인 및 동일한 제2 인덱스 번호(r)를 갖는 하나의 비인접 좌측 참조 라인은 인트라 예측을 위해 선택된다. 게다가, 제2 인덱스 번호(r)를 갖는 비인접 상측 참조 라인의 참조 샘플들은 단일 값으로 설정된다. 일 예에서, 단일 값은 인접 상측 또는 좌측 참조 라인으로부터 참조 샘플의 값을 선택함으로써 결정된다. 다른 예에서, 단일 값은 1 << (BitDepth -1) 또는 (1<<(BitDepth -1)) - 1을 선택함으로써 결정되며, 여기서 BitDepth는 참조 샘플을 인코딩하는데 사용되는 비트들의 수이다.
일 실시예에서, CTU의 제1 라인이 현재 CB 내부에 위치될 때, 제2 인덱스 번호(r)를 갖는 하나의 비인접 상측 참조 라인 및 동일한 제2 인덱스 번호(r)를 갖는 하나의 비인접 좌측 참조 라인은 인트라 예측을 위해 선택된다. 게다가, 제2 인덱스 번호(r)를 갖는 비인접 상측 참조 라인의 참조 샘플들의 값들은 인접 상측 참조 라인의 참조 샘플들의 위치들을 각도 인트라 예측의 방향으로 제2 인덱스 번호(r)를 갖는 비인접 상측 참조 라인에 투영함으로써 결정된다.
인접 상측 참조 라인의 참조 샘플들의 위치들을 각도 인트라 예측의 방향으로 제2 인덱스 번호(r)를 갖는 비인접 상측 참조 라인에 투영함으로써 제2 인덱스 번호(r)를 갖는 비인접 상측 참조 라인의 참조 샘플들의 값들은 이하의 프로세스들에 의해 결정될 수 있다. 처음에, 평행 라인들은 인접 상측 참조 라인을 향해 각도 인트라 예측의 방향으로 제2 인덱스 번호(r)를 갖는 상측 참조 라인의 참조 샘플들의 정수 위치들로부터 시작하여 인출된다. 도 22에 도시된 바와 같이, 평행 라인들은 인접 상측 참조 라인의 참조 샘플들의 분수 위치들에서 인접 상측 참조 라인과 교차한다. 그 다음, 보간 필터링 프로세스는 제2 인덱스 번호(r)를 갖는 비인접 상측 참조 라인의 참조 샘플들의 값들을 유도하기 위해 인접 상측 참조 라인의 참조 샘플들의 분수 위치들에서 값들에 적용된다. 보간 필터링 프로세스에서 사용되는 보간 필터는 2-탭 필터, 4-탭 필터, 또는 6-탭 필터일 수 있다. 보간 필터는 음의 필터링 계수들을 포함할 수 있다. 대안적으로, 보간 필터는 4-탭 큐빅 필터, 4-탭 이산 코사인 변환 보간 필터(discrete cosine transform interpolation filter)(DCT-IF), 또는 2-탭 바이리니어 필터일 수 있다.
다른 실시예에서, 평행 라인들이 인접 상측 참조 라인의 참조 샘플들의 분수 위치들에서 인접 상측 참조 라인과 교차한 후에, 분수 위치들에 가장 가까운 정수 위치들은 인트라 예측을 위한 인접 상측 참조 라인의 참조 샘플들을 선택하기 위해 사용된다.
본 개시의 다양한 실시예들에서, 비디오 인코딩 방법은 인트라 예측에서 다중 참조 라인들을 선택하고 다중 참조 라인 인트라 예측을 위해 선택된 참조 라인들의 참조 샘플들의 값들을 결정한다. 선택된 참조 라인들의 참조 샘플들의 값들은 라인 버퍼에 저장된다. 참조 라인 선택 및 참조 샘플 값 결정은 라인 버퍼의 크기를 감소시키기 위해 최적화된다. 따라서, 라인 버퍼에 전용인 온-칩 회로 구역은 하드웨어 비용을 절약하기 위해 감소된다.
본 개시는 또한 비디오 디코딩 방법을 제공한다. 도 7은 본 개시의 실시예들과 일치하는 예시적 비디오 디코딩 방법을 예시한다. 도 7에 도시된 바와 같이, 비디오 입력의 복수의 코딩된 프레임을 포함하는 비트스트림은 (S710에서) 획득된다. 비트스트림은 도 6에 도시된 바와 같이 비디오 인코딩 방법을 수행하는 비디오 인코딩 시스템에 의해 발생될 수 있다.
S720에서, 복수의 코딩된 프레임 각각은 복수의 슈퍼 블록으로 디코딩되고 복수의 슈퍼 블록 각각은 복수의 잔차 블록으로 디코딩된다. 비트스트림은 복수의 슈퍼 블록의 경계들 및 복수의 슈퍼 블록 각각에 포함된 복수의 잔차 블록의 경계들을 표시하기 위해 헤더 정보를 포함한다. 복수의 잔차 블록 각각은 엔트로피 코딩될 수 있다. 엔트로피 디코딩 프로세스 후에 역변환 및 역양자화 프로세스는 복수의 잔차 블록 각각을 획득하기 위해 수행될 수 있다. 엔트로피 디코딩 프로세스 및 역변환 및 역양자화 프로세스는 도 6에 도시된 비디오 인코딩 방법의 S640에서 수행된 엔트로피 코딩 프로세스 및 변환 및 양자화 프로세스를 반전시킨다.
S730에서, 복수의 잔차 블록 각각에 대한 코딩 블록은 각각의 코딩된 프레임에 포함된 MRLP 플래그들 및 참조 샘플들에 기초하여 복구된다. 구체적으로, CB는 각각의 코딩된 프레임에 포함된 MRLP 플래그들 및 참조 샘플들에 기초하여 MRLP 프로세스를 반전시킴으로써 대응하는 잔차 블록으로부터 디코딩되며, 이는 도 6에 도시된 비디오 인코딩 방법의 S630에서 결정된다.
그 다음, 복수의 슈퍼 블록 각각 내의 복수의 잔차 블록 각각에 대한 복구된 CB는 (S740에서) 비디오 신호의 각각의 프레임을 재구성하기 위해 프레임 버퍼에 저장된다. 이러한 프로세스는 도 6에 도시된 비디오 인코딩 방법의 S620을 반전시킴으로써 복수의 CB를 슈퍼 블록으로 어셈블리하고 복수의 슈퍼 블록을 비디오 신호의 프레임으로 어셈블리한다.
최종적으로, 어셈블리된 프레임들은 (S750에서) 비디오 신호를 복원하기 위해 연속적으로 출력된다. 이러한 프로세스는 도 6에 도시된 비디오 인코딩 방법의 S610을 반전시킨다.
본 개시의 실시예들에서, 비디오 인코딩 방법 및 대응하는 비디오 디코딩 방법은 인트라 예측에서 다중 참조 라인들을 선택하고 다중 참조 라인 인트라 예측을 위해 선택된 참조 라인들의 참조 샘플들의 값들을 결정한다. 선택된 참조 라인들의 참조 샘플들의 값들은 라인 버퍼에 저장된다. 참조 라인 선택 및 참조 샘플 값 결정은 라인 버퍼의 크기를 감소시키기 위해 최적화된다. 따라서, 라인 버퍼에 전용인 온-칩 회로 구역은 하드웨어 비용을 절약하기 위해 감소된다.
본 개시의 원리들 및 구현들이 명세서에서 특정 실시예들을 사용함으로써 설명되지만, 실시예들의 상술한 설명은 본 개시의 방법 및 방법의 핵심 아이디어를 이해하는데 도움을 주기 위해서만 의도된다. 한편, 본 기술분야의 통상의 기술자는 본 개시의 아이디어에 따라 특정 구현들 및 적용 범위에 대한 수정들을 할 수 있다. 결론으로서, 명세서의 내용은 본 개시에 대한 제한으로서 해석되지 않아야 한다.

Claims (20)

  1. 비디오 디코딩 방법으로서,
    비디오 신호의 복수의 코딩된 프레임을 포함하는 비트스트림을 획득하는 단계;
    상기 복수의 코딩된 프레임 각각을 복수의 슈퍼 블록으로 디코딩하고 상기 복수의 슈퍼 블록 각각을 복수의 잔차 블록으로 디코딩하는 단계;
    각각의 코딩된 프레임에 포함된 다중 참조 라인 인트라 예측(MRLP) 플래그들 및 참조 샘플들에 기초하여 상기 복수의 잔차 블록 각각에 대한 코딩된 블록(CB)을 복구하는 단계 - 다중 참조 라인들은 상측 참조 라인들 및 좌측 참조 라인들로 분할되고 하나의 상측 참조 라인 및 하나의 좌측 참조 라인은 인트라 예측을 위해 선택됨 - ;
    프레임 버퍼에 상기 복수의 잔차 블록 각각에 대한 복구된 CB를 저장함으로써 상기 비디오 신호의 각각의 프레임을 재구성하는 단계; 및
    상기 비디오 신호를 복원하기 위해 상기 재구성된 프레임들을 연속적으로 출력하는 단계
    를 포함하는, 비디오 디코딩 방법.
  2. 제1항에 있어서,
    슈퍼 블록 내의 각각의 라인은 제1 인덱스 번호에 의해 식별되고 상기 제1 인덱스 번호는 상단으로부터 하단으로 순차적으로 증가하고;
    상기 상측 참조 라인들 및 상기 좌측 참조 라인들 각각은 제2 인덱스 번호에 의해 식별되고 상기 제2 인덱스 번호는 현재 CB에서 멀어지는 방향으로 순차적으로 증가하고;
    상기 현재 CB에 바로 인접한 상측 참조 라인은 인접 상측 참조 라인으로 칭해지고 다른 상측 참조 라인들은 비인접 상측 참조 라인들로 칭해지고;
    상기 현재 CB에 바로 인접한 좌측 참조 라인은 상기 인접 좌측 참조 라인으로 칭해지고 다른 좌측 참조 라인들은 비인접 좌측 참조 라인들로 칭해지는, 비디오 디코딩 방법.
  3. 제2항에 있어서, 인트라 예측을 위한 하나의 상측 참조 라인 및 하나의 좌측 참조를 선택하는 단계는,
    상기 슈퍼 블록의 제1 라인이 상기 현재 CB 내부에 위치될 때, 인트라 예측을 위한 인접 상측 참조 라인 및 좌측 참조 라인들 중 하나를 선택하는 단계를 포함하는, 비디오 디코딩 방법.
  4. 제1항에 있어서,
    참조 샘플들이 상기 상측 참조 라인들 또는 상기 좌측 참조 라인들 중 어느 것에 없을 때, 동일한 참조 샘플 패딩 프로세스는 상기 상측 참조 라인들 및 상기 좌측 참조 라인들 둘 다에 사용되는, 비디오 디코딩 방법.
  5. 제2항 내지 제4항 중 어느 한 항에 있어서,
    상기 참조 샘플들에 대한 상이한 스무스 필터들은 인트라 예측을 위해 선택된 상이한 참조 라인들에 사용되는, 비디오 디코딩 방법.
  6. 제5항에 있어서, 상기 스무스 필터들은,
    인트라 예측을 위해 선택된 좌측 참조 라인이 비인접 좌측 참조 라인일 때, 인트라 예측을 위해 선택된 인접 상측 참조 라인 및 비인접 좌측 참조 둘 다에 대한 스무스 필터들을 디스에이블링함으로써 결정되는, 비디오 디코딩 방법.
  7. 제5항에 있어서, 상기 스무스 필터들은,
    인트라 예측을 위해 선택된 좌측 참조 라인이 상기 인접 좌측 참조 라인일 때, 인트라 예측을 위해 선택된 인접 좌측 참조에 대해서만 상기 스무스 필터들을 디스에이블링함으로써 결정되는, 비디오 디코딩 방법.
  8. 제2항에 있어서, 인트라 예측을 위한 하나의 상측 참조 라인 및 하나의 좌측 참조를 선택하는 단계는,
    상기 슈퍼 블록의 제1 라인이 상기 현재 CB 내부에 위치될 때, 인트라 예측을 위해 제2 인덱스 번호(r)를 갖는 하나의 비인접 상측 참조 라인 및 상기 동일한 제2 인덱스 번호(r)를 갖는 하나의 비인접 좌측 참조 라인을 선택하는 단계; 및
    상기 제2 인덱스 번호(r)를 갖는 비인접 상측 참조 라인의 참조 샘플들을 단일 값으로 설정하는 단계를 포함하는, 비디오 디코딩 방법.
  9. 제8항에 있어서, 상기 단일 값은,
    상기 인접 상측 또는 좌측 참조 라인으로부터 참조 샘플의 값을 선택함으로써 결정되는, 비디오 디코딩 방법.
  10. 제8항에 있어서, 상기 단일 값은,
    1 << (BitDepth -1) 또는 (1<<(BitDepth -1)) - 1을 선택함으로써 결정되며, 여기서 BitDepth는 참조 샘플을 인코딩하는데 사용되는 비트들의 수인, 비디오 디코딩 방법.
  11. 제2항에 있어서, 인트라 예측을 위한 하나의 상측 참조 라인 및 하나의 좌측 참조를 선택하는 단계는,
    상기 슈퍼 블록의 제1 라인이 상기 현재 CB 내부에 위치될 때, 인트라 예측을 위해 상기 제2 인덱스 번호(r)를 갖는 하나의 비인접 상측 참조 라인 및 상기 동일한 제2 인덱스 번호(r)를 갖는 하나의 비인접 좌측 참조 라인을 선택하는 단계; 및
    상기 인접 상측 참조 라인의 참조 샘플들의 위치들을 각도 인트라 예측의 방향으로 상기 제2 인덱스 번호(r)를 갖는 비인접 상측 참조 라인에 투영함으로써 상기 제2 인덱스 번호(r)를 갖는 비인접 상측 참조 라인의 참조 샘플들의 값들을 결정하는 단계를 포함하는, 비디오 디코딩 방법.
  12. 제11항에 있어서, 상기 인접 상측 참조 라인의 참조 샘플들의 위치들을 상기 각도 인트라 예측의 방향으로 상기 제2 인덱스 번호(r)를 갖는 비인접 상측 참조 라인에 투영함으로써 상기 제2 인덱스 번호(r)를 갖는 비인접 상측 참조 라인의 참조 샘플들의 값들을 결정하는 단계는,
    상기 제2 인덱스 번호(r)를 갖는 상측 참조 라인의 참조 샘플들의 정수 위치들로부터 시작하는 평행 라인들을 상기 각도 인트라 예측의 방향으로 상기 인접 상측 참조 라인을 향해 인출하고;
    상기 인접 상측 참조 라인의 참조 샘플들의 분수 위치들에서 상기 인접 상측 참조 라인과 교차하고;
    상기 제2 인덱스 번호(r)를 갖는 비인접 상측 참조 라인의 참조 샘플들의 값들을 유도하기 위해 상기 인접 상측 참조 라인의 참조 샘플들의 분수 위치들에서 상기 값들에 보간 필터링 프로세스를 적용함으로써 수행되며,
    상기 보간 필터링 프로세스에 사용되는 보간 필터는 2-탭 필터, 4-탭 필터, 또는 6-탭 필터이고;
    상기 보간 필터는 음의 필터링 계수들을 포함하고;
    상기 보간 필터는 4-탭 큐빅 필터, 4-탭 이산 코사인 변환 보간 필터(DCT-IF), 또는 2-탭 바이리니어 필터인, 비디오 디코딩 방법.
  13. 제11항에 있어서, 상기 인접 상측 참조 라인의 참조 샘플들의 위치들을 상기 각도 인트라 예측의 방향으로 상기 제2 인덱스 번호(r)를 갖는 비인접 상측 참조 라인에 투영함으로써 상기 제2 인덱스 번호(r)를 갖는 비인접 상측 참조 라인의 참조 샘플들의 값들을 결정하는 단계는,
    상기 제2 인덱스 번호(r)를 갖는 상측 참조 라인의 참조 샘플들의 정수 위치들로부터 시작하는 평행 라인들을 상기 각도 인트라 예측의 방향으로 상기 인접 상측 참조 라인을 향해 인출하고;
    상기 인접 상측 참조 라인의 참조 샘플들의 분수 위치들에서 상기 인접 상측 참조 라인과 교차하고;
    상기 제2 인덱스 번호(r)를 갖는 비인접 상측 참조 라인의 참조 샘플들의 값들을 유도하기 위해 상기 인접 상측 참조 라인의 참조 샘플들의 분수 위치들에 가장 가까운 정수 위치들에서 상기 값들에 보간 필터링 프로세스를 적용함으로써 수행되며,
    상기 보간 필터링 프로세스에 사용되는 보간 필터는 2-탭 필터, 4-탭 필터, 또는 6-탭 필터이고;
    상기 보간 필터는 음의 필터링 계수들을 포함하고;
    상기 보간 필터는 4-탭 큐빅 필터, 4-탭 이산 코사인 변환 보간 필터(DCT-IF), 또는 2-탭 바이리니어 필터인, 비디오 디코딩 방법.
  14. 비디오 인코딩 방법으로서,
    비디오 입력의 현재 프레임을 획득하는 단계;
    내포된 멀티타입 트리 코딩 블록 구조에 따라, 상기 획득된 현재 프레임을 슈퍼 블록들의 시퀀스로 분할하고, 각각의 슈퍼 블록을 복수의 코딩된 블록(CB)으로 분할하는 단계;
    각각의 CB에 대한 잔차 블록을 획득하기 위해 다중 참조 라인 인트라 예측(MRLP)을 사용하고 라인 버퍼에 인트라 예측을 위해 선택된 참조 라인들의 MRLP 플래그들 및 참조 샘플들을 저장하는 단계 - 다중 참조 라인들은 상측 참조 라인들 및 좌측 참조 라인들로 분할되고 하나의 상측 참조 라인 및 하나의 좌측 참조는 상기 라인 버퍼의 크기를 최소화하도록 인트라 예측을 위해 선택됨 - ; 및
    각각의 CB에 대한 코딩된 잔차 블록을 포함하는 비트스트림을 발생시키기 위해 상기 현재 프레임의 각각의 CB에 대한 잔차 블록을 사용함으로써 상기 현재 프레임을 코딩하는 단계
    를 포함하는, 비디오 인코딩 방법.
  15. 제14항에 있어서,
    슈퍼 블록 내의 각각의 라인은 제1 인덱스 번호에 의해 식별되고 상기 제1 인덱스 번호는 상단으로부터 하단으로 순차적으로 증가하고;
    상기 상측 참조 라인들 및 상기 좌측 참조 라인들 각각은 제2 인덱스 번호에 의해 식별되고 상기 제2 인덱스 번호는 현재 CB에서 멀어지는 방향으로 순차적으로 증가하고;
    상기 현재 CB에 바로 인접한 상측 참조 라인은 인접 상측 참조 라인으로 칭해지고 다른 상측 참조 라인들은 비인접 상측 참조 라인들로 칭해지고;
    상기 현재 CB에 바로 인접한 좌측 참조 라인은 상기 인접 좌측 참조 라인으로 칭해지고 다른 좌측 참조 라인들은 비인접 좌측 참조 라인들로 칭해지는, 비디오 인코딩 방법.
  16. 제15항에 있어서, 인트라 예측을 위한 하나의 상측 참조 라인 및 하나의 좌측 참조를 선택하는 단계는,
    상기 슈퍼 블록의 제1 라인이 상기 현재 CB 내부에 위치될 때, 인트라 예측을 위한 인접 상측 참조 라인 및 좌측 참조 라인들 중 하나를 선택하는 단계를 포함하는, 비디오 인코딩 방법.
  17. 제15항에 있어서,
    참조 샘플들이 상기 상측 참조 라인들 또는 상기 좌측 참조 라인들 중 어느 것에 없을 때, 동일한 참조 샘플 패딩 프로세스는 상기 상측 참조 라인들 및 상기 좌측 참조 라인들 둘 다에 사용되는, 비디오 인코딩 방법.
  18. 제15항 내지 제17항 중 어느 한 항에 있어서,
    상기 참조 샘플들에 대한 상이한 스무스 필터들은 인트라 예측을 위해 선택된 상이한 참조 라인들에 사용되는, 비디오 인코딩 방법.
  19. 제18항에 있어서, 상기 스무스 필터들은,
    인트라 예측을 위해 선택된 좌측 참조 라인이 비인접 좌측 참조 라인일 때, 인트라 예측을 위해 선택된 인접 상측 참조 라인 및 비인접 좌측 참조 둘 다에 대한 스무스 필터들을 디스에이블링함으로써 결정되는, 비디오 인코딩 방법.
  20. 제18항에 있어서, 상기 스무스 필터들은,
    인트라 예측을 위해 선택된 좌측 참조 라인이 상기 인접 좌측 참조 라인일 때, 인트라 예측을 위해 선택된 인접 좌측 참조에 대해서만 상기 스무스 필터들을 디스에이블링함으로써 결정되는, 비디오 인코딩 방법.
KR1020217036634A 2020-01-23 2021-01-13 비디오 코딩 방법 및 시스템 KR20210145823A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202062964992P 2020-01-23 2020-01-23
US62/964,992 2020-01-23
US17/077,872 2020-10-22
US17/077,872 US11558605B2 (en) 2020-01-23 2020-10-22 Video coding method and system based on multiple reference line intra prediction
PCT/US2021/013330 WO2021150409A1 (en) 2020-01-23 2021-01-13 Video coding method and system

Publications (1)

Publication Number Publication Date
KR20210145823A true KR20210145823A (ko) 2021-12-02

Family

ID=76970409

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217036634A KR20210145823A (ko) 2020-01-23 2021-01-13 비디오 코딩 방법 및 시스템

Country Status (6)

Country Link
US (2) US11558605B2 (ko)
EP (1) EP4094435A4 (ko)
JP (1) JP7250169B2 (ko)
KR (1) KR20210145823A (ko)
CN (1) CN113728632A (ko)
WO (1) WO2021150409A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024022146A1 (en) * 2022-07-27 2024-02-01 Mediatek Inc. Using mulitple reference lines for prediction
WO2024022144A1 (en) * 2022-07-29 2024-02-01 Mediatek Inc. Intra prediction based on multiple reference lines

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9451254B2 (en) 2013-07-19 2016-09-20 Qualcomm Incorporated Disabling intra prediction filtering
CN109076241B (zh) * 2016-05-04 2023-06-23 微软技术许可有限责任公司 利用样本值的非相邻参考线进行帧内图片预测
US10484712B2 (en) 2016-06-08 2019-11-19 Qualcomm Incorporated Implicit coding of reference line index used in intra prediction
EP3972256B1 (en) 2016-06-24 2024-01-03 KT Corporation Adaptive reference sample filtering for intra prediction using distant pixel lines
US10742975B2 (en) * 2017-05-09 2020-08-11 Futurewei Technologies, Inc. Intra-prediction with multiple reference lines
US10432929B2 (en) 2018-02-12 2019-10-01 Tencent America LLC Method and apparatus for multiple line intra prediction in video compression
EP3777169B1 (en) 2018-03-28 2023-05-03 Fg Innovation Company Limited Device and method for decoding video data in multiple reference line prediction
US10419754B1 (en) 2018-04-02 2019-09-17 Tencent America LLC Method and apparatus for video decoding using multiple line intra prediction
US10645381B2 (en) 2018-04-30 2020-05-05 Google Llc Intra-prediction for smooth blocks in image/video
US11159806B2 (en) * 2018-06-28 2021-10-26 Qualcomm Incorporated Position dependent intra prediction combination with multiple reference lines for intra prediction
US20210344929A1 (en) * 2018-08-24 2021-11-04 Samsung Electronics Co., Ltd. Encoding method and apparatus therefor, and decoding method and apparatus therefor
US11729376B2 (en) * 2018-11-27 2023-08-15 Apple Inc. Method for encoding/decoding video signal and apparatus therefor
WO2020130629A1 (ko) * 2018-12-18 2020-06-25 엘지전자 주식회사 다중 참조 라인 인트라 예측에 기반한 영상 코딩 방법 및 그 장치
US11277616B2 (en) * 2019-06-20 2022-03-15 Qualcomm Incorporated DC intra mode prediction in video coding

Also Published As

Publication number Publication date
WO2021150409A1 (en) 2021-07-29
US20210235071A1 (en) 2021-07-29
JP2022531564A (ja) 2022-07-07
JP7250169B2 (ja) 2023-03-31
EP4094435A4 (en) 2023-04-26
CN113728632A (zh) 2021-11-30
US11558605B2 (en) 2023-01-17
EP4094435A1 (en) 2022-11-30
US20230037509A1 (en) 2023-02-09

Similar Documents

Publication Publication Date Title
KR102431537B1 (ko) 루마 및 크로마 성분에 대한 ibc 전용 버퍼 및 디폴트 값 리프레싱을 사용하는 인코더, 디코더 및 대응하는 방법들
KR102148466B1 (ko) 스킵 모드를 이용한 영상 복호화 방법 및 이러한 방법을 사용하는 장치
US20230037509A1 (en) Video coding method and system
EP3881549B1 (en) Method and apparatus of mode- and size-dependent block-level restrictions
WO2019010315A1 (en) BILATERAL FILTER WITHOUT DIVISION
CA3120828A1 (en) An encoder, a decoder and corresponding methods of deblocking filter adaptation
CN113647103A (zh) 用于基于矩阵的帧内预测技术的量化系数的方法和设备
EP3977745A1 (en) Method and apparatus for still picture and video coding
US11553208B2 (en) Method and system of video coding using a subset of available intra prediction modes for multiple reference lines
JP7313470B2 (ja) ビデオデコーディング方法、及びビデオデコーディングシステム
EP3868095A1 (en) Apparatus and method for chrominance quantization parameter derivation
RU2803063C2 (ru) Кодер, декодер и соответствующие способы, которые используются для процесса преобразования
WO2020251418A2 (en) Method and apparatus of slice-level signaling for bi-directional optical flow and decoder side motion vector refinement