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

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

Info

Publication number
KR20210141724A
KR20210141724A KR1020217035153A KR20217035153A KR20210141724A KR 20210141724 A KR20210141724 A KR 20210141724A KR 1020217035153 A KR1020217035153 A KR 1020217035153A KR 20217035153 A KR20217035153 A KR 20217035153A KR 20210141724 A KR20210141724 A KR 20210141724A
Authority
KR
South Korea
Prior art keywords
intra prediction
mode
level
prediction mode
current block
Prior art date
Application number
KR1020217035153A
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 KR20210141724A publication Critical patent/KR20210141724A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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
    • 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/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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

비디오 디코딩 방법은 비디오 신호의 복수의 코딩된 프레임을 포함하는 비트스트림을 획득하는 단계; 복수의 코딩된 프레임 각각을 복수의 CTU로 디코딩하고, 복수의 CTU 각각을 복수의 잔차 블록으로 디코딩하는 단계; 각각의 코딩된 프레임에 포함된 다중 참조 라인 인트라 예측 플래그 및 참조 샘플에 기반하여 복수의 잔차 블록 각각에 대한 코딩 블록을 복원하는 단계 - 모든 사용 가능한 인트라 예측 모드의 서브 세트는 코딩 효율 및 압축 성능에 기반한 인트라 예측에 대해 선택된 다중 참조 라인 각각에 대해 결정되고, 다중 참조 라인 각각은 인덱스 번호에 의해 식별됨 -; 복수의 잔차 블록 각각에 대한 복원된 코딩 블록을 프레임 버퍼에 저장하는 것에 의해, 비디오 신호의 각 프레임을 재구성하는 단계; 및 재구성된 프레임을 연속적으로 출력하여 비디오 신호를 복원하는 단계를 포함한다.

Description

비디오 코딩 방법 및 시스템
본 출원은, 2019년 11월 27일에 출원된 미국 가출원 번호 제62/941,342호에 대한 우선권을 주장하는, 2020년 10월 23일에 출원된 미국 특허 출원 번호 제17/079,417호에 대한 우선권을 주장하는 바이며, 상기 문헌의 내용은 그 전체로서 원용에 의해 본 명세서에 포함된다.
본 출원은 비디오 코딩 기술 분야, 특히 다중 참조 라인 인트라 예측을 사용한 비디오 코딩 방법 및 시스템에 관한 것이다.
AV1(AOMedia Video 1)은 인터넷을 통한 비디오 전송을 위해 설계된 개방형 비디오 코딩 형식이다. 반도체 회사, 주문형 비디오 제공업체, 비디오 콘텐츠 제작자, 소프트웨어 개발 회사 및 웹 브라우저 공급업체를 포함하는, 2015년에 설립된 컨소시엄인 AOMedia(Alliance for Open Media)에 대해 얼라이언스(Alliance)에 의해 VP9의 후속 제품으로 개발되었다. VP9의 코드베이스에 기반하여 하여, AV1은 추가 기술을 통합하며 그 중 몇 가지는 이러한 실험 형식으로 개발되었다. AV1 참조 코덱의 첫 번째 버전 0.1.0은 2016년 4월 7일에 게시되었다. Alliance는 2018년 3월 28일 참조 소프트웨어 기반 인코더 및 디코더와 함께 AV1 비트스트림 사양의 출시를 발표했다. 2018년 6월 25일에 사양의 검증된 버전 1.0.0이 릴리스되었다(released). 2019년 1월 8일에 사양의 Errata 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년에, 이 두 표준 조직은 HEVC를 넘어서는 차세대 비디오 코딩 표준 개발 가능성을 모색하기 위해 JVET(Joint Video Exploration Team)를 공동으로 구성했다. 2017년 10월에, HEVC(CfP)를 넘어서는 기능을 갖춘 비디오 압축에 대한 공동 제안을 발표했다. 2018년 2월 15일까지 SDR(standard dynamic range)에 대한 총 22개의 CfP 응답, HDR(high dynamic range)에 대한 12개의 CfP 응답 및 360개의 비디오 카테고리에 대한 12개의 CfP 응답이 각각 제출되었다. 2018년 4월에, 수신된 모든 CfP 응답은 122 MPEG/10차 JVET 회의에서 평가되었다. 이 회의의 결과, JVET는 HEVC를 넘어서는 차세대 비디오 코딩의 표준화 프로세스를 공식적으로 시작했다. 신규 표준의 이름은 VVC(Versatile Video Coding)로 명명되고, JVET는 Joint Video Expert Team으로 이름이 변경되었다.
AV1 표준에 기반한 비디오 코딩 방식에서, 사용 가능한(available) 인트라 예측 모드의 수는 56개의 각도(angular)(또는 지향성(directional)) 인트라 예측 모드, 5개의 평활(smooth) 모드 및 1개의 루마로부터의 크로마 모드(chroma from luma mode)를 포함하는 62개이다. 본 개시의 설명에서 각도(또는 지향성) 인트라 예측 모드는 각도(또는 지향성) 모드라고도 한다. 다중 참조 라인이 인트라 예측에 적용되고 다중 참조 라인에 대해 모든 인트라 예측 모드가 포함될 때, 비디오 코딩 복잡도는 상당하다. 다중 참조 라인은 인덱스 번호가 0(zero)인 제로 참조 라인과 인덱스 번호가 0보다 큰 하나 이상의 비제로(non-zero) 참조 라인을 포함한다. 비제로 참조 라인 각각에 대해 허용되는 인트라 예측 모드의 수를 제한하는 것이 바람직하다. VVC 표준에 기반한 비디오 코딩 방식에서, 인트라 예측 모드는 AIPM(allowed intra prediction mode) 세트에 MPM(Most Probable Modes)을 포함하도록 결정된다. 그러나, AV1은 유사한 MPM(Most Probable Modes)을 정의하지 않고, VVC 표준에 기반한 비디오 코딩 방식의 다중 참조 라인 인트라 예측은 AV1 표준에 기반한 비디오 코딩 방식에 직접 적용될 수 없다.
개시된 방법 및 시스템은 위에 제시된 하나 이상의 문제 및 다른 문제를 해결하기 위한 것이다.
본 개시의 일 측면은 비디오 디코딩 방법을 포함한다. 상기 방법은 비디오 신호의 복수의 코딩된 프레임을 포함하는 비트스트림을 획득하는 단계; 상기 복수의 코딩된 프레임 각각을 복수의 코딩 트리 유닛(coding tree unit, CTU)으로 디코딩하고, 상기 복수의 CTU 각각을 복수의 잔차 블록으로 디코딩하는 단계; 각각의 코딩된 프레임에 포함된 다중 참조 라인 인트라 예측(multiple reference line intra prediction, MRLP) 플래그 및 참조 샘플에 기반하여, 상기 복수의 잔차 블록 각각에 대한 코딩 블록을 복원하는 단계 - 허용된 인트라 예측 모드 세트(allowed intra prediction mode set, AIPM)로도 알려진 모든 사용 가능한 인트라 예측 모드의 서브 세트는, 코딩 효율 및 압축 성능에 기반하여 인트라 예측을 위해 선택된 상기 다중 참조 라인 각각에 대해 결정되고, 상기 다중 참조 라인 각각은 0보다 크거나 같은 정수인 인덱스 번호에 의해 식별됨 -; 상기 복수의 잔차 블록 각각에 대한 상기 복원된 코딩 블록을 프레임 버퍼에 저장하는 것에 의해 상기 비디오 신호의 각 프레임을 재구성하는 단계; 및 상기 재구성된 프레임을 연속적으로 출력하여 비디오 신호를 복원하는 단계를 포함한다.
본 개시의 다른 측면은 비디오 인코딩 방법을 포함한다. 상기 방법은, 비디오 입력의 현재 프레임을 획득하는 단계; 상기 획득된 현재 프레임을 복수의 블록으로 파티셔닝하는 단계; 다중 참조 라인 인트라 예측을 통합하는 것에 의해 각각의 파티셔닝된 블록에 대한 심볼 레벨을 예측하는 단계 - 인트라 예측 모드는 이웃 블록의 다중 참조 라인에 기반하여 도출되고, 허용된 인트라 예측 모드 세트(allowed intra prediction mode set, AIPM)로도 알려진 모든 사용 가능한 인트라 예측 모드의 서브 세트가 코딩 효율 및 압축 성능에 기반하여 상기 다중 참조 라인 각각에 대해 결정되고, 그리고 상기 다중 참조 라인 각각은 0보다 크거나 같은 정수인 인덱스 번호로 식별됨 -; 현재 심볼 레벨에서 상기 예측된 심볼 레벨을 감산하는 것에 의해 잔차 심볼 레벨을 변환 및 양자화하는 단계; 상기 변환 및 양자화된 잔차 심볼 레벨을 엔트로피 코딩하는 단계; 및 상기 엔트로피 코딩된 잔차 심볼 레벨을 포함하는 비트스트림을 생성하는 단계를 포함한다.
본 개시의 다른 측면은 본 개시의 설명, 청구범위 및 도면에 비추어 당업자에 의해 이해될 수 있다.
도 1은 본 개시의 특정 실시예를 통합하는 운영 환경을 도시한다.
도 2는 본 개시의 실시예에 따른 전자 디바이스를 도시한다.
도 3은 본 개시의 실시예에 따른 컴퓨터 시스템을 도시한다.
도 4는 본 개시의 실시예에 따른 비디오 인코더를 예시한다.
도 5는 본 개시의 실시예에 따른 예시적인 비디오 코딩 방법을 도시한다.
도 6은 AV1 표준에 기반한 비디오 코딩 방식에서 인트라 예측 모드의 8개의 공칭 각도(nominal angle)를 도시한다.
도 7은 본 개시의 실시예에 따른 PAETH 모드에 대한 상단 위치, 좌측 위치 및 좌측 상단 위치를 도시한다.
도 8은 본 개시의 실시예에 따른 재귀적 인트라 필터링 모드의 예를 도시한다.
도 9는 본 개시의 실시예에 따른 4개의 참조 라인의 예를 도시한다.
도 10은 본 개시의 실시예에 따른 S1에 포함된 인트라 예측 모드를 결정하는 흐름도를 도시한다.
도 11은 본 개시의 실시예에 따른 예시적인 비디오 디코딩 방법을 도시한다.
다음은 첨부된 도면을 참조하여 본 발명의 실시예에서의 기술적 솔루션을 설명한다. 가능하면 도면 전체에 걸쳐 동일한 참조 번호를 사용하여 동일하거나 유사한 부분을 언급할 것이다. 명백하게, 설명된 실시예는 단지 일부일 뿐이고 본 발명의 모든 실시예는 아니다. 본 발명의 실시예에 기반하여 당업자가 독창적인 노력 없이 획득한 다른 실시예는 본 발명의 보호 범위에 속할 것이다. 본 개시에서 사용된 특정 용어는 다음에서 먼저 설명된다.
VVC(Versatile Video Coding): VVC는 HEVC(ITU-T H.265라고도 함)를 계승하기 위해 JVET(Joint Video Exploration Team)에서 개발한 비디오 디코딩 표준이다. VVC는 이러한 표준의 이전 세대를 훨씬 능가하는 압축 기능을 가진 비디오 코딩 기술을 지정하고, 광범위한 애플리케이션에서 효과적으로 사용하기 위해 매우 다재 다능하다. VVC 표준은 여기에 참조로 포함된다.
AV1(AOMedia Video 1): AV1은 인터넷을 통한 비디오 전송을 위해 AOMedia(Alliance for Open Media)에서 개발한 오픈 소스 비디오 코딩 표준이다. AV1 표준은 여기에 참조로 포함된다.
AIPM(Allowed Intra Prediction Mode): 이웃 블록의 인트라 예측 모드에 따라 도출된 현재 블록의 인트라 예측에 사용될 수 있는 하나의 모드 세트로 정의된다.
DIPM(Disallowed Intra Prediction Mode): 현재 블록의 인트라 예측을 위해 시그널링되거나 사용될 수 없으며, 이웃 블록의 인트라 예측 모드에 따라 도출되는 모드를 가진 하나의 모드 세트로 정의된다.
CABAC(Context-based Adaptive Binary Arithmetic Coding): CABAC는 다양한 비디오 코딩 표준에서 사용되는 엔트로피 코딩의 한 형태이다.
VTM(Versatile video coding Test Model): VTM은 VVC 알고리즘 및 테스트 절차에 대한 인코더 측 설명을 제공한다.
BDR 또는 BD-rate(Bjontegaard delta rate): BDR은 비디오 신호의 동일한 PSNR(peak signal-to-noise ratio)에 대한 비트 레이트 변화를 측정하여 코딩 효율성을 평가하는 방법이다.
도 1은 본 개시의 특정 실시예를 통합하는 운영 환경(operating environment)(100)을 도시한다. 도 1에 도시된 바와 같이, 운영 환경(100)은 비디오 기능을 갖는 다양한 디바이스를 포함할 수 있다. 예를 들어, 운용 환경(100)은 단말 디바이스(102), 카메라 디바이스(104), 사물 인터넷(internet of things, IoT) 디바이스(106)를 포함할 수 있다. 다른 유형의 디바이스도 포함될 수 있다.
운영 환경(100)은 또한 서버(122), 휴먼 비전(human vision) 애플리케이션(124), 머신(machine) 비전 애플리케이션(126), 및 다양한 디바이스들을 서버(122)에 연결하는 통신 링크(140)를 포함할 수 있다. 사용자(130)는 다양한 디바이스 중 하나 이상을 사용, 액세스 또는 제어할 수 있다.
단말 디바이스(102)는 PDA(Personal Digital Assistant), 모바일폰, 스마트폰, 통합 메시징 디바이스(integrated messaging device, IMD), 태블릿 컴퓨터, 노트북 컴퓨터, 데스크톱 컴퓨터 및 다른 컴퓨팅 디바이스 등과 같은 임의의 사용자 단말을 포함할 수 있다. 카메라 디바이스(104)는 디지털 카메라, 비디오 카메라, 보안 카메라, 차량 온보드(vehicle on-board) 카메라 및 스테레오 카메라 등과 같은 임의의 이미지 또는 비디오 캡처 디바이스를 포함할 수 있다. IoT 디바이스(106)는 디지털 초인종, 자율 주행 센서, 디지털 음성 비서, 스마트 스피커, 스마트 기기, 및 임의의 산업용 또는 상업용 IoT 시스템과 같은 카메라 기능을 갖는 임의의 유형의 IoT 디바이스를 포함할 수 있다. 다양한 디바이스(102, 104, 106) 중 임의의 것은 고정되거나 또는 움직이는 개인이 휴대할 때 이동할 수 있으며, 자동차, 트럭, 택시, 버스, 기차, 보트, 비행기, 자전거, 오토바이 또는 이와 유사한 적절한 운송(transport) 수단을 포함하는 운송 모드에서 또는 일부로서 위치될 수 있다.
도 2는 다양한 디바이스(102, 104, 및/또는 106) 중 임의의 것을 구현하기 위한 전자 디바이스를 도시한다. 도 2에 도시된 바와 같이, 전자 디바이스(200)는 하드웨어 프로세서(202), 메모리(204), 카드 리더기(reader)(206), 디스플레이(208), 키보드(210), 무선 주파수(radio-frequency, RF) 인터페이스(212), 베이스밴드(214), 안테나(216), 인코더(222), 디코더(224), 카메라(226), 스피커(232), 마이크로폰(234) 등을 포함한다. 도 2에 도시된 구성요소는 예시적인 것으로, 일부 구성요소는 생략될 수 있고, 다른 구성요소가 추가될 수 있다.
프로세서(202)는 전자 디바이스(200)를 제어하기 위해 제공될 수 있다. 프로세서(202)는 하나 이상의 버스 또는 다른 전기적 연결을 통해 다른 구성요소에 연결되어, 다른 구성요소에 데이터를 송신하고 다른 구성요소로부터 데이터를 수신할 수 있다. 프로세서(202)는 하나 이상의 처리 코어, 예를 들어, 4-코어 프로세서 또는 8-코어 프로세서를 포함할 수 있다. 프로세서(202)는 DSP(Digital Signal Processing), FPGA(Field Programmable Gate Array), ASIC(Application Specific Integrated Circuit), PLA(Programmable Logic Array) 중 적어도 하나의 하드웨어 형태를 이용하여 구현될 수 있다. 프로세서(202)는 또한 메인 프로세서 및 보조프로세서(coprocessor)를 포함할 수 있다. 메인 프로세서는 중앙 처리 유닛(central processing unit, CPU)일 수 있고, 보조프로세서는 디스플레이 화면이 디스플레이해야 하는 콘텐츠를 렌더링하고 그리는 역할을 하도록 구성된 그래픽 처리 유닛(graphics processing unit, GPU)일 수 있다. 일부 실시예에서, 프로세서(202)는 인공 지능(artificial intelligence, AI) 프로세서를 더 포함할 수 있다. AI 프로세서는 기계 학습과 관련된 컴퓨팅 작동을 처리하도록 구성된다.
메모리(204)는 고속 랜덤 액세스 메모리 및 비휘발성 메모리, 예를 들어, 하나 이상의 디스크 저장 디바이스 또는 플래시 저장 디바이스와 같은 하나 이상의 컴퓨터가 판독 가능한 저장 매체를 포함할 수 있다. 메모리(204)는 이미지 및 오디오 데이터의 형태로 데이터를 모두 저장할 수 있고 프로세서(202)에 대한 명령도 저장할 수 있다. 카드 리더기(206)는 스마트 카드 인터페이스, 통신 카드 인터페이스(예를 들어, 근거리 통신(near field communication, NFC) 카드), 또는 가입자 식별 모듈(subscriber identifier module, SIM) 카드 또는 사용자 정보를 제공하고 사용자(130)의 인증 및 권한 부여를 위한 인증 정보를 제공하기에 적합한 다른 카드와 같은 임의 유형의 휴대용 카드 인터페이스를 포함할 수 있다.
또한, 디스플레이(208)는 이미지 또는 비디오를 디스플레이하기에 적합한 임의의 적합한 디스플레이 기술일 수 있다. 예를 들어, 디스플레이(208)는 LCD(Liquid Crystal Display) 화면, OLED(Organic Light Emitting Diode) 화면 등을 포함할 수 있으며, 터치 스크린일 수 있다. 키보드(210)는 사용자(130)가 정보를 입력하기 위한 물리적 또는 가상의 키보드를 포함할 수 있으며, 다른 종류의 입출력 디바이스를 포함할 수도 있다. 스피커(232) 및 마이크로폰(234)은 전자 디바이스(200)에 대한 오디오를 입력 및 출력하는데 사용될 수 있다.
RF 인터페이스(212)(안테나(216)와 함께)는 RF 신호를 수신 및 전송하기 위한 RF 회로를 포함할 수 있다. RF 인터페이스(212)는 전송을 위해 전기 신호를 전자기 신호로 변환하거나 수신을 위해 수신된 전자기 신호를 전기 신호로 변환할 수 있다. RF 인터페이스(212)는 적어도 하나의 무선 통신 프로토콜을 통해 다른 전자 디바이스와 통신할 수 있다. 무선 통신 프로토콜은 수도권 네트워크, 다양한 세대의 이동 통신 네트워크(2G, 3G, 4G, 5G), 무선 LAN(Local Area Network) 및/또는 Wi-Fi(Wireless Fidelity) 네트워크를 포함할 수 있다. 일부 실시예에서, RF 인터페이스(212)는 또한 NFC(Near Field Communication)와 관련된 회로를 포함할 수 있다. 베이스밴드(214)는 RF 인터페이스(212)로 및 RF 인터페이스(212)로부터의 신호를 처리하기 위한 회로를 포함할 수 있다.
또한, 카메라(226)는 이미지 또는 비디오를 수집하도록 구성된 임의의 유형의 이미징(imaging) 또는 비디오 캡처링 디바이스를 포함할 수 있다. 전자 디바이스(200)가 사용자(130)가 휴대하는 휴대용 디바이스일 때, 카메라(226)는 전방(front-facing) 카메라 및 후방(rear-facing) 카메라를 포함할 수 있다. 전방 카메라는 전자 디바이스의 전면 패널(front panel)에 배치되고, 후방 카메라는 전자 디바이스의 후면(rear surface)에 배치될 수 있다. 일부 실시예에서, 적어도 2개의 전방 카메라가 있으며, 각각은 메인 카메라, 피사계 심도(depth-of-field) 카메라, 광각 카메라 및 망원 카메라 중 어느 하나이고, 메인 카메라와 피사계 심도 카메라를 융합하여 배경 흐림 기능(background blurring function)을 구현하고, 메인 카메라와 광각 카메라를 융합하여 파노라마 촬영(panoramic shooting)과 가상현실(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)는 다중 스레드(multi-thread) 또는 병렬 처리를 위한 다중 코어를 포함할 수 있다. 저장 매체(304)는 ROM(Read-only Memory), RAM(Random Access Memory), 플래시 메모리 모듈, 소거 및 재기록 가능한 메모리와 같은 메모리 모듈, 및 CD-ROM, U-디스크 및 하드 디스크와 같은 대용량 저장 디바이스를 포함할 수 있다. 저장 매체(304)는 프로세서(302)에 의해 실행될 때 다양한 프로세스를 구현하기 위한 컴퓨터 프로그램을 저장할 수 있다.
또한, 주변기기(312)는 키보드, 마우스 등의 I/O 디바이스를 포함할 수 있다. 통신 모듈(308)은 통신 네트워크를 통해 연결을 구축하기 위한 네트워크 디바이스를 포함할 수 있다. 데이터베이스(310)는 특정 데이터를 저장하고 데이터베이스 검색과 같은 저장된 데이터에 대한 특정 동작을 수행하기 위한 하나 이상의 데이터베이스를 포함할 수 있다.
도 2로 돌아가서, 인코더(222)는 인트라 모드 코딩 방식을 구현하는 인코더일 수 있다. 이 경우, 전자 디바이스(200)도 인트라 모드 코딩 방식을 구현하는 것을 고려할 수 있다. 즉, 인코더(222)는 전자 디바이스(200)에서 하드웨어 회로로 구현되거나, 전자 디바이스(200)에 의해 소프트웨어 프로그램으로 구현되거나, 하드웨어 회로와 소프트웨어 프로그램의 조합으로 구현될 수 있다. 도 4는 본 개시의 개시된 실시예에 따른 예시적인 비디오 인코더를 도시한다.
도 4에 도시된 바와 같이, 비디오 인코더(400)는 블록 파티션(partition) 유닛(410), 감산(subtraction) 유닛(420), 예측 유닛(430), 변환/양자화 유닛(440), 역양자화/역변환(inverse quantization/inverse transform) 유닛(450), 가산(addition) 유닛(460), 인루프(in-loop) 필터(470) 및 엔트로피 인코더(480)를 포함한다. 입력 비디오가 인코더(400)에 입력되고, 이에 응답하여 인코더(400)는 비트스트림을 출력한다.
입력 비디오는 복수의 화상 프레임을 포함한다. 각 화상 프레임은 블록 파티션 유닛(410)에 의해 CTU(Coding Tree Unit)의 시퀀스로 나뉜다(divides). 3개의 샘플 어레이가 있는 화상 프레임의 경우, CTU는 크로마(chroma) 샘플의 2개의 대응 N×N 블록과 함께 루마(luma) 샘플의 N×N 블록으로 구성된다. 블록 파티션 유닛(410)은 다양한 로컬 특성에 적응하기 위해 코딩 트리로 표시된 4차 트리 구조(quaternary-tree structure)를 사용하여 CTU를 코딩 유닛(coding unit, CU)으로 더 분할한다(split). 인터 화상(시간) 또는 인트라 화상(공간) 예측을 사용하여 화상 영역을 코딩할지 여부는 리프(leaf) CU 레벨에서 결정된다. 각 리프 CU는 PU 분할(splitting) 유형에 따라 1개, 2개 또는 4개의 예측 유닛(prediction unit, PU)으로 더 분할될 수 있다. 하나의 PU 내에서, 동일한 예측 프로세스가 적용되고 관련 정보는 PU 단위로 비디오 디코더로 전송된다. PU 분할 유형에 기반한 예측 프로세스를 적용하여 잔차(residual) 블록을 획득한 후, 리프 CU는 CU에 대한 코딩 트리와 유사한 다른 4차 트리 구조에 따라 변환 유닛(transform unit, TU)으로 파티셔닝될 수 있다.
예측 유닛(430)은 인트라 예측, 인터 예측, 그리고 조합된 인터 및 인트라 예측을 지원한다. 인트라 예측은 인트라 모드 코딩이라고도 한다. 자연 비디오에 나타난 임의의 에지(edge) 방향을 캡처하기 위해, 예측 유닛(430)은 평면(표면 피팅(surface fitting)) 인트라 예측 모드 및 DC(플랫(flat)) 인트라 예측 모드 외에 65개의 지향성(또는 각도) 인트라 예측 모드를 지원한다. 예측 유닛(430)은 추가로, 모션 벡터, 참조 화상 인덱스 및 참조 화상 리스트 사용 인덱스, 그리고 비디오 코딩 특징에 필요한 추가 정보를 포함하는 모션 파라미터에 기반하여 인터 예측된 샘플 생성을 지원한다. 예측 유닛(430)은 또한 변환 스킵(skip) 모드에서 또는 변환 스킵으로 코딩된 CU가 하나의 PU와 연관되고, 유의미한 잔차 계수, 코딩된 모션 벡터 델타 또는 참조 화상 인덱스가 없는 변환 스킵 모드를 지원한다. 예측 유닛(430)은 또한 현재 CU에 대한 모션 파라미터가 공간적 및 시간적 후보 및 추가 스케줄을 포함하는 이웃 CU로부터 획득되는 병합(merge) 모드를 지원한다. 병합 모드는 변환 스킵 모드뿐만 아니라 인터 예측된 임의의 CU에 적용될 수 있다. 예측 유닛(430)은 또한 모션 파라미터를 명시적으로 전송하는 것에 의해 병합 모드에 대한 대안을 지원하며, 여기서 모션 벡터, 각 참조 화상 리스트 및 참조 화상 리스트 사용 플래그에 대한 대응하는 참조 화상 인덱스, 그리고 기타 필요한 정보가 각 CU에 대해 명시적으로 시그널링된다.
감산 유닛(420)은 CU와 PU의 차이(또는 잔차)를 변환/양자화 유닛(440)으로 출력한다.
변환/양자화 유닛(440)은 최대 64×64 크기의 큰 블록 크기 변환을 지원한다. 고주파수 변환 계수는 크기가 64와 같은 변환 블록에 대해 0으로 처리되므로(zeroed out), 저주파 계수만 유지된다. 변환 스킵 모드에서 큰 블록을 변환할 때, 변환/양자화 유닛(440)은 어떤 값도 0으로 처리하지 않고 전체 블록을 사용한다. 변환/양자화 유닛(440)은 또한 코어 변환을 위해 다중 변환 선택(multiple transform selection, MTS)을 지원한다. MTS를 제어하기 위해, 변환/양자화 유닛(440)은 인트라 및 인터 예측을 위해 각각 시퀀스 파라미터 세트(sequence parameter set, SPS) 레벨에서 별도의 활성화 플래그(enabling flag)를 사용한다. MTS가 SPS 레벨에서 활성화될(enabled) 때 MTS가 적용되는지를 지시하기 위해 CU 레벨 플래그가 시그널링된다. 변환/양자화 유닛(440)은 또한 저주파수 비분리형 변환(low-frequency non-separable transform, LFNST) 및 서브블록 변환(sub-block transform, SBT)과 같은 VVC 및 AV1 초안 표준에 설명된 다른 변환 기능을 지원한다.
또한, 변환/양자화 유닛(440)은 최대 63개의 양자화 파라미터(quantization parameter, QP)를 지원한다. 변환/양자화 유닛(440)은 또한 SPS에서 루마-크로마 매핑(luma-to-chroma QP mapping) 관계를 시그널링하는 것에 의해 유연한 루마-크로마 QP 매핑을 지원한다. 변환/양자화 유닛(440)은 또한 루마 컴포넌트 및 크로마 컴포넌트에 대한 델타 QP 값이 별도로 시그널링될 수 있는 CU-레벨 QP 적응(CU-level QP adaption)을 지원한다. 변환/양자화 유닛(440)은 또한 종속 양자화와 같은 VVC 및 AV1 표준에 설명된 다른 양자화 기능을 지원한다.
변환/양자화 유닛(440)은 또한 TU-레벨 플래그에 의해 지시되는 크로마 잔차의 조인트 코딩(joint coding)을 지원한다.
컨텍스트 기반 적응 이진 산술 코딩(Context-based Adaptive Binary Arithmetic Coding, CABAC)이 엔트로피 코딩 알고리즘으로 설명될 수 있다. 엔트로피 인코더(480)는 변환/양자화 유닛(440)에 의해 출력되는 신택스 엘리먼트를 인코딩하기 위해 CABAC 코딩 엔진을 포함한다. CABAC 코딩 엔진은 Golomb-Rice 코딩 알고리즘과 같은 산술 코딩 알고리즘을 지원한다. 엔트로피 인코더(480)는 변환 블록 및 변환 스킵 블록에 대한 별도의 잔차 코딩 구조를 지원한다. 엔트로피 인코더(480)는 비중첩 계수 그룹(CG 또는 서브 블록)을 사용하여 코딩 블록의 변환 계수를 코딩하고, 각 CG는 가변 크기의 코딩 블록의 변환 계수를 포함한다. 계수 그룹의 크기는 채널 유형과 무관한 변환 블록 크기만에 기반하여 선택된다. CG의 크기는 1×16, 2×8, 8×2, 2×4, 4×2 및 16×1을 포함할 수 있다. 각 코딩 블록 내부의 CG 및 각 CG 내의 변환 계수는 미리 정의된 스캐닝 순서에 따라 코딩된다.
변환 단위의 각 코딩 블록은 복수의 서브 블록으로 분할되고, 각 서브 블록은 복수의 픽셀로 분할된다. 복수의 서브 블록은 4×4 또는 2×2 서브 블록을 포함한다.
산술 코딩 알고리즘에서, 확률 모델은 신택스 엘리먼트의 절대 레벨(absolute level) 또는 로컬 이웃에서 신택스 엘리먼트의 부분적으로 재구성된 절대 레벨에 따라 각 신택스 엘리먼트에 대해 동적으로 선택된다.
역양자화/역변환 유닛(450)은 변환/양자화 유닛(440)에 의해 수행된 양자화 프로세스 및 변환 프로세스를 반대로 하고(reverse) 출력을 가산 유닛(460)에 공급하여 화상 프레임을 재구성한다. 가산 유닛(460)은 또한 예측 유닛(430)의 출력을 다른 입력으로 취한다. 재구성된 화상은 인루프 필터(470)에 의해 필터링될 것이다. 인루프 필터(470)는 디블록킹 필터, 샘플 적응 오프셋(sample adaptive offset, SAO) 필터, 적응 루프 필터(adaptive loop filter, ALF)를 포함하며, 이들은 이 순서대로 캐스케이드된다(cascaded). 인루프 필터(470)의 출력은 예측 유닛(430)에 입력된다.
본 개시는 비디오 코딩 방법을 제공한다. 도 5는 본 개시의 실시예에 따른 예시적인 비디오 코딩 방법의 흐름도를 도시한다. 도 5에 도시된 바와 같이, 비디오 코딩 방법은 비디오 입력의 현재 프레임을 획득하는 단계(S510를 포함한다. 현재 프레임을 획득한 후, 현재 비디오 프레임은 파티션 트리 구조에 따라 복수의 블록으로 나뉠 수 있다.
S520에서, 획득된 현재 프레임은 복수의 블록으로 파티셔닝된다. 현재 비디오 프레임은 다양한 정사각형 파티션과 직사각형 파티션으로 나눌 수 있다. 정사각형 파티션은 더 작은 파티션으로 더 나뉠 수 있다. 그러나 직사각형 파티션은 더 이상 나눌 수 없다.
S530에서, 현재 프레임이 복수의 블록으로 파티셔닝된 후, 다중 참조 라인 인트라 예측을 통합하는 것에 의해, 각각의 파티셔닝된 블록에 대해 심볼 레벨을 예측한다. 각 블록에 대해, 인트라 예측 모드는 이웃 블록의 다중 참조 라인에 기반하여 도출된다. AV1 표준에 기반한 비디오 코딩 방식에서 정의된 모든 사용 가능한 인트라 예측 모드의 서브 세트는 다중 참조 라인 각각에 대해 결정된다. 사용 가능한 모든 인트라 예측 모드의 서브 세트를 허용된 인트라 예측 모드(allowed intra prediction mode, AIPM) 세트라고도 한다. 다중 참조 라인 각각은 인덱스 번호로 식별된다. 인덱스 번호는 0보다 크거나 같은 정수이다.
AV1 표준에 기반한 비디오 코딩 방식에서, 사용 가능한 인트라 예측 모드의 수는 62개이며, 여기에는 56개의 각도 인트라 예측 모드, 5개의 평활 모드 및 1개의 루마로부터의 크로마 모드가 포함된다. 다중 참조 라인이 인트라 예측에 적용되고 다중 참조 라인에 대해 모든 인트라 예측 모드가 포함될 때, 비디오 코딩 복잡도는 상당하다. 다중 참조 라인은 인덱스 번호가 0과 같은 제로(zero) 참조 라인과 인덱스 번호가 0보다 큰 하나 이상의 비제로 참조 라인을 포함한다. 비디오 코딩 복잡도를 줄이기 위해 각 참조 라인에 허용되는 인트라 예측 모드의 수는 제한될 필요가 있다.
다중 참조 라인 인트라 예측에는 특정 제한 사항이 적용될 수 있다. 다중 참조 라인 인트라 예측은 좁은(narrow) 블록에 대해 비활성화될 수 있다. 좁은 블록은 너비 W, 높이 H, abs(log2W- log2H) > 1을 갖는다. 다중 참조 라인 인트라 예측은 작은 블록에 대해 비활성화될 수 있다. 작은 블록의 크기는 8×8 이하이다. 다중 참조 라인 인트라 예측은 현재 코딩 트리 유닛(coding tree unit, CTU) 라인 외부의 확장된 참조 샘플을 사용하는 것을 방지하기 위해, CTU 내부의 첫 번째 블록 라인에 대해 비활성화될 수 있다. 다른 제한 사항도 적용될 수 있다.
본 개시는 코딩 효율 및 압축 성능을 개선하기 위해 다중 참조 라인 인트라 예측으로 비디오 코딩하는 방법을 제공한다. 코딩 효율 및 압축 성능에 기반하여 다중 참조 라인 각각에 대해 결정된 대응하는 인트라 예측 모드는 AV1 표준에 기반한 비디오 코딩 방식에서 정의된 모든 사용 가능한 인트라 예측 모드의 서브 세트이다. 서브 세트는 AIPM 세트라고도 한다. AIPM 세트에 포함된 인트라 예측 모드는 도 4에 도시된 비디오 인코더(400)와 같은 비디오 코딩 디바이스에 의해 시그널링된다. AIPM 세트에 포함된 인트라 예측 모드의 수는 대응하는 비디오 코딩 방식에서 정의된 모든 사용 가능한 인트라 예측 모드의 수보다 적기 때문에, AIPM 세트에 포함된 인트라 예측 모드를 시그널링하는 데 필요한 비트 수가 더 적다. 추가로, 인트라 예측 모드 외에 인터 예측 모드에서도 블록 별로 심볼 레벨을 예측할 수 있다.
심볼 레벨이 예측된 후, 잔차 심볼 레벨이 변환되고 양자화된다. 잔차 심볼 레벨은 현재 심볼 레벨과 예측된 심볼 레벨의 차이이다.
AV1 표준에 기반한 비디오 코딩 방식의 인트라 예측 모드는 56개의 각도(또는 지향성) 인트라 예측 모드, 5개의 비각도 평활 인트라 예측 모드, 1개의 크로마 전용 인트라 예측 모드(chroma only intra prediction mode) 및 일부 다른 인트라 예측 모드를 포함한다. 8개의 지향성(또는 각도) 모드는 45도에서 207도 사이의 각도에 대응한다. 지향성 텍스처(directional textures)에서 더 다양한 공간 중복성을 활용하기 위해, 지향성 인트라 예측 모드가 더 세밀한(finer) 그래뉼래러티(granularity)로 설정된 각도로 확장된다. 8개의 지향성 모드의 각도는 약간 변경되어 공칭 각도(nominal angle)로 만들어지며 이 8개의 공칭 각도는 공칭 인트라 각도라고도 하며, 도 6에 도시된 바와 같이, 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탭 쌍선형 필터(2-tap bilinear filter)로 참조 픽셀을 보간하는 통합 지향성예측자(unified directional predictor)로 구현된다.
또한, 인트라 예측 모드는 DC 모드, PAETH 모드, SMOOTH 모드, SMOOTH_V 모드 및 SMOOTH_H 모드인 5개의 비지향성 평활 인트라 예측 모드를 포함한다. DC 모드의 경우, 좌측 및 위쪽 이웃 샘플의 평균이 예측될 블록의 예측자로 사용된다. PAETH 모드의 경우, 상단 참조 샘플, 좌측 참조 샘플 및 좌측 상단 참조 샘플이 먼저 페치(fetch)되고, 그다음 (상단+좌측 - 상단-좌측)에 가장 가까운 값을 예측될 픽셀의 예측자로 설정한다. 도 7은 현재 블록에서 하나의 픽셀에 대한 상단 샘플, 좌측 샘플 및 좌측 상단 샘플의 위치들을 도시한다. SMOOTH 모드, SMOOTH_V 모드 및 SMOOTH_H 모드의 경우, 수직 또는 수평 방향의 2차 보간법(quadratic interpolation) 또는 양방향 평균을 사용하여 블록을 예측한다.
에지(edge) 상의 참조와 함께 감쇠하는 공간 상관 관계(correlation)를 캡처하기 위해, FILTER INTRA 모드는 루마 블록에 대해 설계되었다. 5개의 필터 인트라 모드가 정의된다. 5개의 필터 인트라 모드 각각은 4×2 패치(patch)의 픽셀과 7개의 인접 이웃 간의 상관 관계를 반영하는 8개의 7-탭 필터 세트로 표현된다. 다시 말해서, 7-탭 필터의 가중치는 위치에 따라 다르다. 예를 들어, 8×8 블록을 취하면, 도 8에 도시된 바와 같이 8개의 4×2 패치로 분할된다. 이들 패치는 도 8에서 B0, B1, B2, B3, B4, B5, B6 및 B7로 지시된다. 각 패치에 대해, R0 ~ R7로 지시된 7개의 인접 이웃을 사용하여 현재 패치의 픽셀을 예측한다. 패치 B0의 경우, 모든 인접 이웃이 이미 재구성된다. 그러나 다른 패치의 경우, 모든 인접 이웃이 재구성되지 않는다. 인접 이웃의 예측값은 참조로 사용된다. 예를 들어, 패치 B7의 모든 인접 이웃은 재구성되지 않으므로 인접 이웃(즉, B5 및 B6)의 예측 샘플이 대신 사용된다.
CfL(Chroma from Luma)은 크로마 픽셀을 일치 재구성된 루마 픽셀(coincident reconstructed luma pixel)의 선형 함수로 모델링하는 크로마 전용 인트라 예측자이다. CfL 예측은 다음:
Figure pct00001
과 같이 표현되며, 여기서
Figure pct00002
은 루마 컴포넌트의 AC 기여도(contribution)를 표시하고, α은 선형 모델의 파라미터를 표시하며,
Figure pct00003
는 크로마 컴포넌트의 DC 기여도를 표시한다. 구체적으로, 재구성된 루마 픽셀은 크로마 해상도로 서브샘플링된 다음 평균값을 감산하여 AC 기여도를 형성한다. AC 기여도에서 크로마 AC 컴포넌트를 근사화하기 위해, 디코더가 스케일링 파라미터를 계산하도록 요구하는 대신, CfL은 원래의 크로마 픽셀에 기반하여 파라미터 α를 결정하고 비트스트림에서 이를 시그널링한다. 이 접근 방식은 디코더 복잡성을 줄이고 더 정확일 예측을 생성한다. 크로마 컴포넌트의 DC 기여도는 대부분의 크로마 콘텐츠에 충분하고 성숙한 빠른 구현을 갖는 인트라 DC 모드를 사용하여 계산된다.
다중 참조 라인 인트라 예측은 인트라 예측을 위해 다중 참조 라인을 사용하며, 도 4에 도시된 바와 같이 비디오 인코더(400)는 인트라 예측자를 생성하기 위해 어떤 다중 참조 라인이 사용되는 지를 결정하고 시그널링한다. 참조 라인의 인덱스 번호는 인트라 예측 모드 이전에 시그널링되며, 비제로 참조 라인의 인덱스 번호가 시그널링되는 경우에 MPM(Most Probable Modes) 또는 이와 동등한 모드만이 허용된다. 도 9에 도시된 바와 같이, 4개의 참조 라인의 예가 도시되어 있으며, 여기서 각 참조 라인은 좌측 상단 기준 샘플과 함께 6개의 세그먼트, 즉, 세그먼트 A 내지 세그먼트 F로 구성된다. 또한, 세그먼트 A와 세그먼트 F는 각각 세그먼트 B와 세그먼트 E에서 가장 가까운 샘플로 패딩된다(padded).
도 9에 도시된 바와 같이, 참조 라인이 현재 블록에서 멀어질수록 참조 라인의 인덱스 번호가 순차적으로 증가한다. 현재 블록에 바로 인접한 참조 라인을 제로 참조 라인이라고 하며, 인덱스 번호가 0과 같은 도 9의 참조 라인 0이다. 제로 참조 라인에 대응하는 AIPM 세트가 S2로 표시된다. 인덱스 번호가 0보다 큰 참조 라인을 비제로 참조 라인이라고 한다. 임의의 비제로 참조 라인에 대응하는 AIPM 세트는 S1으로 표시된다. S2는 S1의 적어도 모든 인트라 예측 모드를 포함한다. S1은 S2의 서브 세트이다.
도 5로 돌아가서, S540에서, 현재 심볼 레벨에서 예측 심볼 레벨을 감산한 잔차 심볼 레벨을 변환 및 양자화한다. 큰 블록 크기 변환은 최대 64×64 크기를 포함한다. 고주파수 변환 계수는 크기가 64와 같은 크기를 가지는 변환 블록에 대해 0으로 처리되므로, 저주파 계수만 유지된다. 변환 스킵 모드에서 큰 블록을 변환할 때, 값을 0으로 만들지 않고 전체 블록이 사용된다. 또한, 코어 변환에 대해 MTS(multiple transform selection)가 지원된다. MTS를 제어하기 위해, 인트라 및 인터 예측을 위해 각각 SPS(sequence parameter set) 레벨에서 별도의 활성화 플래그가 사용된다. MTS가 SPS 레벨에서 활성화될 때, MTS가 적용되는지를 지시하기 위해 CU 레벨 플래그가 시그널링된다. 저주파수 비분리형 변환(low-frequency non-separable transform, LFNST) 및 서브블록 변환(sub-block transform, SBT)과 같은 다른 변환 기능이 지원될 수 있다.
또한, 최대 63개의 양자화 파라미터(QP)가 변환 및 양자화 프로세스에서 지원된다. 유연한 루마-크로마 QP 매핑은 또한 SPS에서 루마-크로마 매핑 관계를 시그널링하는 것에 의해 지원된다. 루마 컴포넌트 및 크로마 컴포넌트에 대한 델타 QP 값이 별도로 시그널링될 수 있는 CU 레벨 QP 적응도 지원될 수 있다. 종속 양자화와 같은 다른 양자화 기능도 지원될 수 있다.
도 5로 돌아가서, S550에서, 변환 및 양자화된 잔차 심볼 레벨을 엔트로피 코딩한다. 엔트로피 코딩 알고리즘은 CABAC(Context-based Adaptive Binary Arithmetic Coding)일 수 있다. CABAC 코딩 엔진은 변환 및 양자화 프로세스에 의해 출력된 신택스 엘리먼트를 인코딩하는 데 사용될 수 있다. CABAC 코딩 엔진은 Golomb-Rice 코딩 알고리즘과 같은 산술 코딩 알고리즘을 지원한다. 변환 블록 및 변환 스킵 블록에 대해 별도의 잔차 코딩 구조가 지원될 수 있다. 코딩 블록의 변환 계수는 비중첩 계수 그룹(CG 또는 서브 블록)을 사용하여 코딩될 수 있으며, 각 CG는 가변 크기의 코딩 블록의 변환 계수를 포함한다. 계수 그룹의 크기는 채널 유형과 무관한 변환 블록 크기만에 기반하여 선택된다. CG의 크기는 1×16, 2×8, 8×2, 2×4, 4×2 및 16×1을 포함할 수 있다. 각 코딩 블록 내부의 CG 및 각 CG 내의 변환 계수는 미리 정의된 스캐닝 순서에 따라 코딩된다.
도 5에 도시된 바와 같이, S560에서, 엔트로피 코딩된 잔차 심볼 레벨을 포함하는 비트스트림을 생성한다. 엔트로피 코딩의 결과, 엔트로피 코딩된 잔차 심볼 레벨을 포함하는 비트스트림이 생성된다. 비트스트림은 전송 및/또는 저장될 수 있다. 디코더는 본 개시에 따른 비디오 인코딩 방법에 대응하는 비디오 디코딩 방법을 수행하여 원래의 비디오를 복원할 수 있다.
따라서, 본 개시는 비디오 코딩 방법을 제공한다. 상기 방법은 인트라 예측에 다중 참조 라인을 포함하고 다중 참조 라인에 대한 인트라 예측 모드의 총 수가 제한되도록 각 참조 라인에 대해 설정된 AIPM을 결정한다. 다중 참조 라인에 대한 인트라 예측 모드의 총 수를 줄임으로써, 시그널링 플래그 및 인트라 예측 모드의 인덱스 번호를 코딩하는 데 필요한 비트 수가 줄어들어 비디오 코딩 방식의 코딩 효율 및 압축 성능이 향상된다.
본 개시에 따른 인코더 및 디코더의 실시예는 컴퓨터가 판독가능한 비일시적 저장 매체에 저장된 프로그램 명령을 실행하는 처리 회로(예를 들어, 하나 이상의 프로세서 또는 하나 이상의 집적 회로)에 의해 구현될 수 있다.
도 10은 본 개시의 실시예에 따른 S1에 포함된 인트라 예측 모드를 결정하는 흐름도를 도시한다. 일 실시예에서, 도 10에 도시된 바와 같이, S1010에서, 현재 블록의 크기 및 이웃 블록의 인트라 예측 모드에 관계없이 공칭 각도를 갖는 각도 인트라 예측 모드가 S1에 포함된다. S1은 현재 블록의 크기 또는 이웃 블록의 인트라 예측 모드에 관계없이 8개의 공칭 각도의 각도 인트라 예측 모드를 포함하며, 여기서 8개의 공칭 각도는 45°, 67°, 90°, 113°, 135°, 157°, 180° 및 203°이다.
S1020에서, 현재 블록의 크기 및 이웃 블록의 인트라 예측 모드에 관계없이 SMOOTH_V 모드 또는 SMOOTH_H 모드가 S1에 포함된다. SMOOTH_V 모드와 SMOOTH_H 모드는 각각 수직 방향 또는 수평 방향의 2차 보간법을 이용한 인트라 예측 모드이다.
현재 블록의 높이가 현재 블록의 너비보다 크거나 같을 때, SMOOTH_V 모드가 S1에 포함된다. 현재 블록의 너비가 현재 블록의 높이보다 클 때, SMOOTH_H 모드가 S1에 포함된다.
다르게는, 현재 블록의 너비가 현재 블록의 높이보다 크거나 같을 때, SMOOTH_V 모드가 S1에 포함된다. 현재 블록의 높이가 현재 블록의 너비보다 클 때, SMOOTH_H 모드가 S1에 포함된다.
S1030에서, SMOOTH_V 모드 또는 SMOOTH_H 모드 이외의 비각도 인트라 예측 모드가 S1에서 제외된다. 가능성이 낮은 인트라 예측 모드를 제외함으로써, S1에 포함되는 인트라 예측 모드의 수를 제한하여 코딩 효율 및 압축 성능을 향상시킨다.
일 실시예에서, S1 및 S2에 포함된 인트라 예측 모드는 S2를 제1 레벨 및 제2 레벨로 분할하고, S2의 제1 레벨에 2L개의 인트라 예측 모드를 그리고 S2의 제2 레벨에 2M개의 인트라 예측 모드를 포함시키며 - L 및 M은 1보다 큰 정수임 -, 그리고 S1에 S2의 제1 레벨에서의 각도 인트라 예측 모드를 포함시키는 것에 의해 결정된다. 따라서, S1 및 S2에 포함된 인트라 예측 모드는 효율적으로 코딩될 수 있다.
유사하게, 다른 실시예에서, S1 및 S2에 포함된 인트라 예측 모드는, S2를 제1 레벨, 제2 레벨 및 제3 레벨로 분할하고, S2의 제1 레벨에 2L개의 인트라 예측 모드를, S2의 제2 레벨에 2M개의 인트라 예측 모드를 그리고 S2의 제3 레벨에 2N개의 예측 모드를 포함시키고 - L, M, N은 1보다 큰 정수임 -, S1에 S2의 제1 레벨 및 제2 레벨에서의 각도 인트라 예측 모드를 포함시키는 것에 의해 결정된다. 따라서, S1 및 S2에 포함된 인트라 예측 모드는 효율적으로 코딩될 수 있다.
일부 실시예에서, 본 개시에 따른 비디오 코딩 방법은 이웃 블록의 인트라 예측 모드 중 하나가 각도 인트라 예측 모드일 때, S1에 적어도 하나의 비공칭 각도(non-nominal angle)의 각도 인트라 예측 모드를 더 포함할 수 있다.
제로 참조 라인은 비제로 참조 라인보다 현재 블록에 더 가깝기 때문에, 다중 참조 라인 인트라 예측에서 S2는 S1보다 더 실질적인 영향을 미친다. 따라서, S1은 S2의 서브 세트이다. 그러나, S2에 포함된 가장 가능성 있는 인트라 예측 모드가 S1에도 포함된다. 일 예에서, S2의 모든 각도 인트라 예측 모드는 S1에도 포함될 수 있다. 한편, 본 개시는 S1 및 S2가 정확히 동일한 것을 방지하지 않는다.
다른 예에서, 각도 인트라 예측 모드는 비각도 인트라 예측 모드보다 더 가능성 있는 인트라 예측 모드로서 고려된다. S2의 모든 각도 인트라 예측 모드는 S1에도 포함되지만 S2의 모든 비각도 인트라 예측 모드는 S1에서 제외된다. 다르게는, 더 많은 각도 인트라 예측 모드가 S2보다 S1에 포함될 수 있다.
또한, S1에 포함되는 인트라 예측 모드의 수는 대응하는 참조 라인의 이웃 블록의 인트라 예측 모드에 따라 달라질 수 있다. S1 및 S2에 포함된 인트라 예측 모드는 N개의 이웃 블록으로부터 도출된다. N개의 이웃 블록 중 M개의 이웃 블록이 특정 인트라 예측 모드를 포함할 때, S1에 포함된 인트라 예측 모드의 수는 감소될 수 있다. 이 경우, M과 N은 양의 정수이고 M은 N보다 작거나 같다. 특정 인트라 예측 모드는 DC 모드, 재귀 모드(recursive mode), PAETH 모드, SMOOTH 모드, SMOOTH_H 모드 및 SMOOTH_V 모드와 같은 비각도 인트라 예측 모드를 포함하며, 이는 일부 이전 실시예에서 이미 설명되었다. 일 예에서 M = 2 및 N = 2이다. S1에 포함된 인트라 예측 모드의 수는 0으로 감소된다. 이 경우, 대응하는 참조 라인의 이웃 블록은 현재 블록에 대한 인트라 예측 모드를 도출하는 것으로부터 제외되며, 대응하는 참조 라인의 인덱스 번호는 비디오 코딩 프로세스에서 시그널링되지 않는다.
다른 예에서, S1에 포함된 인트라 예측 모드의 수는 이웃 블록의 인트라 예측 모드와 대응하는 참조 라인의 인덱스의 수에 모두 의존할 수 있다. 참조 라인의 인덱스 번호는 현재 블록에 대한 인접 블록의 근접성(proximity)을 반영한다. S1에 포함된 인트라 예측 모드를 결정할 때 대응하는 참조 라인의 인덱스 번호를 포함하는 것은 근접성 정보를 고려한다. 예를 들어, 인덱스 번호가 적을수록 S1에 포함된 인트라 예측 모드의 수가 많아진다.
다른 예에서, 크로마 컴포넌트의 경우, 비제로 참조 라인의 모든 이웃 블록이 각각 적어도 하나의 각도 인트라 예측 모드를 포함할 때에만, 대응하는 비제로 참조 라인이 인트라 예측 모드를 도출하기 위한 다중 참조 라인 인트라 예측 프로세스에 포함될 수 있다.
다른 예에서, 크로마 컴포넌트의 경우, 비제로 참조 라인의 모든 이웃 블록이 각각 동일한 각도 인트라 예측 모드를 포함할 때에만, 대응하는 비제로 참조 라인이 인트라 예측 모드를 도출하기 위한 다중 참조 라인 인트라 예측 프로세스에 포함될 수 있다.
본 개시의 실시예에서, 비디오 코딩 방법은 AV1 표준에 기반한 비디오 코딩 방식에서 다중 참조 라인 인트라 예측을 지원한다. 각 참조 라인에 포함되는 인트라 예측 모드의 수는 코딩 효율 및 압축 성능을 향상시키기 위해 제한된다.
본 개시는 또한 비디오 디코딩 방법을 제공한다. 도 11은 본 개시의 실시예들에 따른 예시적인 비디오 디코딩 방법을 도시한다. 도 11에 도시된 바와 같이, 비디오 입력의 복수의 코딩된 프레임을 포함하는 비트스트림을 획득한다(S1110). 비트스트림은 도 5에 도시된 바와 같은 비디오 인코딩 방법을 수행하는 비디오 인코딩 시스템에 의해 생성될 수 있다.
S1120에서, 복수의 코딩된 프레임 각각은 복수의 CTU로 디코딩되고, 복수의 CTU 각각은 복수의 잔차 블록으로 디코딩된다. 비트스트림은 복수의 CTU의 경계 및 복수의 CTU 각각에 포함된 복수의 잔차 블록의 경계를 나타내는 헤더 정보를 포함한다. 복수의 잔차 블록 각각은 엔트로피 코딩될 수 있다. 엔트로피 디코딩 프로세스에 이어 역변환 및 역양자화 프로세스가 수행되어 복수의 잔차 블록 각각을 획득할 수 있다. 엔트로피 디코딩 프로세스, 역변환 및 역양자화 프로세스는 도 5에 도시된 비디오 인코딩 방법의 S540 및 S550에서 수행된 엔트로피 코딩 프로세스와 변환 및 양자화 프로세스를 반대로 한다.
S1130에서, 복수의 잔차 블록 각각에 대한 코딩 블록은 각 코딩된 프레임에 포함된 MRLP 플래그 및 참조 샘플에 기반하여 복원된다. 구체적으로, 인코딩 블록은 도 5에 도시된 비디오 인코딩 방법의 S530에서 결정된 각 인코딩 프레임에 포함된 MRLP 플래그 및 참조 샘플에 기반하여 MRLP 프로세스를 반대로 하는 것에 의해, 대응하는 잔차 블록으로부터 디코딩된다.
그다음, 복수의 CTU 각각에서 복수의 잔차 블록 각각에 대한 복원된 코딩 블록을 프레임 버퍼에 저장하여 비디오 신호의 각 프레임을 재구성한다(S1140). 이 프로세스는 도 5에 도시된 비디오 인코딩 방법의 S520을 반대로 하는 것에 의해, 복수의 코딩 블록을 CTU로 조립하고(assemble), 복수의 CTU를 비디오 신호의 프레임으로 조립한다.
마지막으로, 조립된 프레임을 연속적으로 출력하여 비디오 신호를 복원한다(S1150). 이 프로세스는 도 5에 도시된 비디오 인코딩 방법의 S510을 반대로 한다.
본 개시의 실시예에서, 비디오 코딩 방법은 AV1 표준에 기반한 비디오 코딩 방식에서 다중 참조 라인 인트라 예측을 지원한다. 각 참조 라인에 포함되는 인트라 예측 모드의 수는 코딩 효율 및 압축 성능을 향상시키기 위해 제한된다.
본 개시의 원리 및 구현이 명세서에서 특정 실시예를 사용하여 설명되지만, 실시예에 대한 전술한 설명은 단지 본 개시의 방법 및 방법의 핵심 아이디어를 이해하는 것을 돕기 위한 것이다. 한편, 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자는 본 개시의 사상에 따라 구체적인 실시예 및 적용 범위를 변경할 수 있다. 결론적으로, 본 명세서의 내용이 본 개시를 제한하는 것으로 해석되어서는 안 된다.

Claims (20)

  1. 비디오 디코딩 방법으로서,
    비디오 신호의 복수의 코딩된 프레임을 포함하는 비트스트림을 획득하는 단계;
    상기 복수의 코딩된 프레임 각각을 복수의 코딩 트리 유닛(coding tree unit, CTU)으로 디코딩하고, 상기 복수의 CTU 각각을 복수의 잔차 블록으로 디코딩하는 단계;
    각각의 코딩된 프레임에 포함된 다중 참조 라인 인트라 예측(multiple reference line intra prediction, MRLP) 플래그 및 참조 샘플에 기반하여, 상기 복수의 잔차 블록 각각에 대한 코딩 블록을 복원하는 단계 - 허용된 인트라 예측 모드 세트(allowed intra prediction mode set, AIPM)로도 알려진 모든 사용 가능한 인트라 예측 모드의 서브 세트는, 코딩 효율 및 압축 성능에 기반하여 인트라 예측을 위해 선택된 상기 다중 참조 라인 각각에 대해 결정되고, 상기 다중 참조 라인 각각은 0보다 크거나 같은 정수인 인덱스 번호에 의해 식별됨 -;
    상기 복수의 잔차 블록 각각에 대한 상기 복원된 코딩 블록을 프레임 버퍼에 저장하는 것에 의해 상기 비디오 신호의 각 프레임을 재구성하는 단계; 및
    상기 재구성된 프레임을 연속적으로 출력하여 상기 비디오 신호를 복원하는 단계
    를 포함하는 비디오 디코딩 방법.
  2. 제1항에 있어서,
    상기 참조 라인이 현재 블록에서 멀어질수록 상기 참조 라인의 인덱스 번호가 순차적으로 증가하고;
    상기 현재 블록에 바로 인접한 참조 라인은 제로(zero) 참조 라인이라고 명명되면서 0과 같은 인덱스 번호를 가지며, 대응하는 AIPM 세트가 S2로 표시되며;
    상기 인덱스 번호가 0보다 큰 참조 라인이 비제로(non-zero) 참조 라인이라고 명명되며, 대응하는 AIPM 세트가 S1으로 표시되고; 그리고
    S1은 S2의 서브 세트인, 비디오 디코딩 방법.
  3. 제2항에 있어서,
    상기 S1에 포함된 인트라 예측 모드는,
    상기 현재 블록의 크기 및 이웃 블록의 인트라 예측 모드에 관계없이 공칭 각도(nominal angle)를 갖는 각도 인트라 예측 모드(angular intra prediction mode)를 포함시키는 단계;
    상기 현재 블록의 크기 및 상기 이웃 블록의 인트라 예측 모드에 관계없이 SMOOTH_V 모드 또는 SMOOTH_H 모드를 포함시키는 단계; 및
    상기 SMOOTH_V 모드 또는 상기 SMOOTH_H 모드 이외의 임의의 비각도(non-angular) 인트라 예측 모드를 제외시키는 단계
    에 의해 결정되며,
    상기 공칭 각도는 45°, 67°, 90°, 113°, 135°, 157°, 180° 및 203°이고, 상기 SMOOTH_V 모드 및 상기 SMOOTH_H 모드는 각각 수직 방향 또는 수평 방향에서 2차 보간법(quadratic interpolation)을 이용한 인트라 예측 모드인, 비디오 디코딩 방법.
  4. 제3항에 있어서,
    상기 현재 블록의 높이가 상기 현재 블록의 너비보다 크거나 같을 때 상기 SMOOTH_V 모드가 S1에 포함되고; 그리고
    상기 현재 블록의 너비가 상기 현재 블록의 높이보다 클 때 상기 SMOOTH_H 모드가 S1에 포함되는, 비디오 디코딩 방법.
  5. 제3항에 있어서,
    상기 현재 블록의 너비가 상기 현재 블록의 높이보다 크거나 같을 때 상기 SMOOTH_V 모드가 S1에 포함되고; 그리고
    상기 현재 블록의 높이가 상기 현재 블록의 너비보다 클 때 상기 SMOOTH_H 모드가 S1에 포함되는, 비디오 디코딩 방법.
  6. 제2항 내지 제5항 중 어느 한 항에 있어서,
    상기 S1 및 S2에 포함된 인트라 예측 모드는,
    S2를 제1 레벨과 제2 레벨로 분할하는 단계;
    S2의 제1 레벨에 2L개의 인트라 예측 모드를 그리고 S2의 제2 레벨에 2M개의 인트라 예측 모드를 포함시키는 단계 - L 및 M은 1보다 큰 정수임 -; 및
    S1에 S2의 제1 레벨에서의 상기 각도 인트라 예측 모드를 포함시키는 단계
    에 의해 결정되는, 비디오 디코딩 방법.
  7. 제2항 내지 제5항 중 어느 한 항에 있어서,
    상기 S1 및 S2에 포함된 인트라 예측 모드는
    S2를 제1 레벨, 제2 레벨 및 제3 레벨로 분할하는 단계;
    S2의 제1 레벨에 2L개의 인트라 예측 모드를, S2의 제2 레벨에 2M개의 인트라 예측 모드를, 그리고 S2의 제3 레벨에 2N개의 예측 모드를 포함시키는 단계 - L, M, N은 1보다 큰 정수임 -; 및
    S1에 S2의 제1 레벨 및 제2 레벨에서의 상기 각도 인트라 예측 모드를 포함시키는 단계
    에 의해 결정되는, 비디오 디코딩 방법.
  8. 제2항 내지 제5항 중 어느 한 항에 있어서,
    상기 S1에 포함된 인트라 예측 모드는
    상기 이웃 블록의 인트라 예측 모드 중 하나가 각도 인트라 예측 모드일 때, 적어도 하나의 비공칭 각도의 각도 인트라 예측 모드를 포함시키는 단계
    에 의해 결정되는, 비디오 디코딩 방법.
  9. 제2항 내지 제5항 중 어느 한 항에 있어서,
    상기 S1 및 S2에 포함된 인트라 예측 모드는,
    S1에 S2의 모든 상기 각도 인트라 예측 모드를 포함시키는 단계
    에 의해 결정되는, 비디오 디코딩 방법.
  10. 제2항 내지 제5항 중 어느 한 항에 있어서,
    상기 S1 및 S2에 포함된 인트라 예측 모드는,
    S1에 S2의 모든 상기 인트라 예측 모드를 포함시키는 단계
    에 의해 결정되는, 비디오 디코딩 방법.
  11. 제2항 내지 제5항 중 어느 한 항에 있어서,
    상기 S1 및 S2에 포함된 인트라 예측 모드는
    S1에 S2의 모든 상기 각도 인트라 예측 모드를 포함시키는 단계; 및
    S1에서 S2의 모든 상기 비각도 인트라 예측 모드를 제외시키는 단계
    에 의해 결정되는, 비디오 디코딩 방법.
  12. 제2항 내지 제5항 중 어느 한 항에 있어서,
    상기 S1 및 S2에 포함된 인트라 예측 모드는,
    S2보다 S1에 더 많은 각도 인트라 예측 모드를 포함시키는 단계
    에 의해 결정되는, 비디오 디코딩 방법.
  13. 비디오 인코딩 방법으로서,
    비디오 입력의 현재 프레임을 획득하는 단계;
    상기 획득된 현재 프레임을 복수의 블록으로 파티셔닝하는 단계;
    다중 참조 라인 인트라 예측을 통합하는 것에 의해 각각의 파티셔닝된 블록에 대한 심볼 레벨을 예측하는 단계 - 인트라 예측 모드는 이웃 블록의 다중 참조 라인에 기반하여 도출되고, 허용된 인트라 예측 모드 세트(allowed intra prediction mode set, AIPM)로도 알려진 모든 사용 가능한 인트라 예측 모드의 서브 세트가 코딩 효율 및 압축 성능에 기반하여 상기 다중 참조 라인 각각에 대해 결정되고, 그리고 상기 다중 참조 라인 각각은 0보다 크거나 같은 정수인 인덱스 번호에 의해 식별됨 -;
    현재 심볼 레벨로부터 상기 예측된 심볼 레벨을 감산하는 것에 의해 잔차 심볼 레벨을 변환 및 양자화하는 단계;
    상기 변환 및 양자화된 잔차 심볼 레벨을 엔트로피 코딩하는 단계; 및
    상기 엔트로피 코딩된 잔차 심볼 레벨을 포함하는 비트스트림을 생성하는 단계
    를 포함하는 비디오 인코딩 방법.
  14. 제13항에 있어서,
    상기 참조 라인이 현재 블록에서 멀어질수록 상기 참조 라인의 인덱스 번호가 순차적으로 증가하고;
    상기 현재 블록에 바로 인접한 참조 라인은 제로 참조 라인이라고 명명되면서 0과 같은 인덱스 번호를 가지며, 대응하는 AIPM 세트가 S2로 표시되며;
    상기 인덱스 번호가 0보다 큰 참조 라인이 비제로 참조 라인이라고 명명되며, 대응하는 AIPM 세트가 S1으로 표시되고; 그리고
    S1은 S2의 서브 세트인, 비디오 인코딩 방법.
  15. 제14항에 있어서,
    상기 S1에 포함된 인트라 예측 모드는,
    상기 현재 블록의 크기 및 이웃 블록의 인트라 예측 모드에 관계없이 공칭 각도를 갖는 각도 인트라 예측 모드를 포함시키는 단계; 및
    상기 현재 블록의 크기 및 상기 이웃 블록의 인트라 예측 모드에 관계없이 SMOOTH_V 모드 또는 SMOOTH_H 모드를 포함시키는 단계
    에 의해 결정되며,
    상기 공칭 각도는 45°, 67°, 90°, 113°, 135°, 157°, 180° 및 203°이고, 상기 SMOOTH_V 모드 및 상기 SMOOTH_H 모드는 각각 수직 방향 또는 수평 방향에서 2차 보간법을 이용한 인트라 예측 모드인, 비디오 인코딩 방법.
  16. 제15항에 있어서,
    상기 현재 블록의 높이가 상기 현재 블록의 너비보다 크거나 같을 때 상기 SMOOTH_V 모드가 S1에 포함되고; 그리고
    상기 현재 블록의 너비가 상기 현재 블록의 높이보다 클 때 상기 SMOOTH_H 모드가 S1에 포함되는, 비디오 인코딩 방법.
  17. 제15항에 있어서,
    상기 현재 블록의 너비가 상기 현재 블록의 높이보다 크거나 같을 때 상기 SMOOTH_V 모드가 S1에 포함되고; 그리고
    상기 현재 블록의 높이가 상기 현재 블록의 너비보다 클 때 상기 SMOOTH_H 모드가 S1에 포함되는, 비디오 인코딩 방법.
  18. 제14항 내지 제17항 중 어느 한 항에 있어서,
    상기 S1 및 S2에 포함된 인트라 예측 모드는,
    S2를 제1 레벨과 제2 레벨로 분할하는 단계;
    S2의 제1 레벨에 2L개의 인트라 예측 모드를 그리고 S2의 제2 레벨에 2M개의 인트라 예측 모드를 포함시키는 단계 - L 및 M은 1보다 큰 정수임 -; 및
    S1에 S2의 제1 레벨에서의 상기 각도 인트라 예측 모드를 포함시키는 단계
    에 의해 결정되는, 비디오 인코딩 방법.
  19. 제14항 내지 제17항 중 어느 한 항에 있어서,
    상기 S1 및 S2에 포함된 인트라 예측 모드는
    S2를 제1 레벨, 제2 레벨 및 제3 레벨로 분할하는 단계;
    S2의 제1 레벨에 2L개의 인트라 예측 모드를, S2의 제2 레벨에 2M개의 인트라 예측 모드를, 그리고 S2의 제3 레벨에 2N개의 예측 모드를 포함시키는 단계 - L, M, N은 1보다 큰 정수임 -; 및
    S1에 S2의 제1 레벨 및 제2 레벨에서의 상기 각도 인트라 예측 모드를 포함시키는 단계
    에 의해 결정되는, 비디오 인코딩 방법.
  20. 제14항 내지 제17항 중 어느 한 항에 있어서,
    상기 S1에 포함된 인트라 예측 모드는
    상기 이웃 블록의 인트라 예측 모드 중 하나가 각도 인트라 예측 모드일 때, 적어도 하나의 비공칭 각도의 각도 인트라 예측 모드를 포함시키는 단계
    에 의해 결정되는, 비디오 인코딩 방법.
KR1020217035153A 2019-11-27 2020-11-26 비디오 코딩 방법 및 시스템 KR20210141724A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962941342P 2019-11-27 2019-11-27
US62/941,342 2019-11-27
US17/079,417 2020-10-23
US17/079,417 US11553208B2 (en) 2019-11-27 2020-10-23 Method and system of video coding using a subset of available intra prediction modes for multiple reference lines
PCT/US2020/062446 WO2021108733A1 (en) 2019-11-27 2020-11-26 Method and system of video coding

Publications (1)

Publication Number Publication Date
KR20210141724A true KR20210141724A (ko) 2021-11-23

Family

ID=75975275

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217035153A KR20210141724A (ko) 2019-11-27 2020-11-26 비디오 코딩 방법 및 시스템

Country Status (6)

Country Link
US (2) US11553208B2 (ko)
EP (1) EP4066489A4 (ko)
JP (1) JP7250163B2 (ko)
KR (1) KR20210141724A (ko)
CN (2) CN118317079A (ko)
WO (1) WO2021108733A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12120335B2 (en) 2021-08-24 2024-10-15 Tencent America LLC Hardware friendly design for intra mode coding

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2947878B1 (en) 2010-04-23 2017-02-15 M&K Holdings Inc. Apparatus for encoding an image
KR20130049526A (ko) * 2011-11-04 2013-05-14 오수미 복원 블록 생성 방법
US11032550B2 (en) * 2016-02-25 2021-06-08 Mediatek Inc. Method and apparatus of video coding
EP3442232A4 (en) 2016-04-06 2019-12-04 KT Corporation METHOD AND APPARATUS FOR PROCESSING VIDEO SIGNAL
US10484712B2 (en) 2016-06-08 2019-11-19 Qualcomm Incorporated Implicit coding of reference line index used in intra prediction
CN109804632A (zh) 2016-10-14 2019-05-24 索尼公司 图像处理装置和图像处理方法
US10666937B2 (en) 2016-12-21 2020-05-26 Qualcomm Incorporated Low-complexity sign prediction for video coding
CA3055804C (en) * 2017-03-10 2022-10-18 Mediatek, Inc. Method and apparatus of implicit intra coding tool settings with intra directional prediction modes for video coding
WO2019047883A1 (en) 2017-09-08 2019-03-14 Fg Innovation Ip Company Limited DEVICE AND METHOD FOR ENCODING VIDEO DATA BASED ON MULTIPLE REFERENCE LINES
US10484695B2 (en) * 2017-10-23 2019-11-19 Google Llc Refined entropy coding for level maps
US10432929B2 (en) 2018-02-12 2019-10-01 Tencent America LLC Method and apparatus for multiple line intra prediction in video compression
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
KR102479494B1 (ko) * 2018-06-11 2022-12-20 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
WO2020002641A1 (en) * 2018-06-29 2020-01-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Extended reference intra-picture prediction
US11128872B2 (en) * 2018-07-16 2021-09-21 Qualcomm Incorporated Position dependent intra prediction combination with wide angle intra prediction
EP3874745A1 (en) * 2018-10-31 2021-09-08 InterDigital VC Holdings, Inc. Multi-reference line intra prediction and most probable mode
CN113170116B (zh) * 2018-11-22 2024-08-16 北京字节跳动网络技术有限公司 为帧内模式视频处理使用参考行

Also Published As

Publication number Publication date
WO2021108733A1 (en) 2021-06-03
JP7250163B2 (ja) 2023-03-31
WO2021108733A8 (en) 2022-06-02
EP4066489A1 (en) 2022-10-05
CN118317079A (zh) 2024-07-09
US20210160539A1 (en) 2021-05-27
US20230089932A1 (en) 2023-03-23
CN113785565B (zh) 2024-04-26
CN113785565A (zh) 2021-12-10
EP4066489A4 (en) 2023-01-11
US11553208B2 (en) 2023-01-10
JP2022531759A (ja) 2022-07-11

Similar Documents

Publication Publication Date Title
KR102431537B1 (ko) 루마 및 크로마 성분에 대한 ibc 전용 버퍼 및 디폴트 값 리프레싱을 사용하는 인코더, 디코더 및 대응하는 방법들
KR102148466B1 (ko) 스킵 모드를 이용한 영상 복호화 방법 및 이러한 방법을 사용하는 장치
US11930211B2 (en) Method and system for intra mode coding
EP3881549B1 (en) Method and apparatus of mode- and size-dependent block-level restrictions
US20230037509A1 (en) Video coding method and system
US11902517B2 (en) Method and system for adaptive cross-component filtering
US20230089932A1 (en) Method and system of video coding using a subset of available intra prediction modes for multiple reference lines
CN112887727A (zh) 视频编解码方法和电子设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal