KR20210096672A - 교차-컴포넌트 선형 모델 파라미터들의 계산을 위한 견고성을 향상시키기 위한 인코더, 디코더 및 방법들 - Google Patents

교차-컴포넌트 선형 모델 파라미터들의 계산을 위한 견고성을 향상시키기 위한 인코더, 디코더 및 방법들 Download PDF

Info

Publication number
KR20210096672A
KR20210096672A KR1020217021329A KR20217021329A KR20210096672A KR 20210096672 A KR20210096672 A KR 20210096672A KR 1020217021329 A KR1020217021329 A KR 1020217021329A KR 20217021329 A KR20217021329 A KR 20217021329A KR 20210096672 A KR20210096672 A KR 20210096672A
Authority
KR
South Korea
Prior art keywords
luma
samples
current block
pairs
chroma
Prior art date
Application number
KR1020217021329A
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 KR20210096672A publication Critical patent/KR20210096672A/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/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/136Incoming video signal characteristics or properties
    • 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/182Methods 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 a pixel
    • 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/186Methods 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 a colour or a chrominance component
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • 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

Landscapes

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

Abstract

본 발명은 화상(12')의 화상 데이터를 블록-기반 디코딩하기 위한 디코더(20)에 관한 것이며, 그 디코더(20)는, 화상(12')의 현재 블록(80, 82, 84)의 이웃에서 루마 샘플들의 제1 세트 및 루마 샘플들의 제2 세트를 결정하고 - 루마 샘플들의 제1 세트는 루마 샘플들의 제2 세트보다 작은 루마 값들을 가짐 -, 루마-크로마 샘플들의 제1 쌍들(A, A') 및 루마-크로마 샘플들의 제2 쌍들(B, B')을 통해 선형 함수를 갖는 직선(43)을 피팅하며 - 루마-크로마 샘플들의 제1 쌍들(A, A')은 현재 블록(80, 82, 84)의 상기 이웃의 루마 샘플들의 제1 세트 및 제1 대응하는 크로마 샘플들에 기초하여 결정되고, 루마-크로마 샘플들의 제2 쌍들(B, B')은 현재 블록(80, 82, 84)의 상기 이웃의 루마 샘플들의 제2 세트 및 제2 대응하는 크로마 샘플들에 기초하여 결정됨 -, 그리고현재 블록(80, 82, 84)의 루마 샘플들 및 상기 선형 함수를 사용하여 현재 블록(80, 82, 84)의 크로마 샘플들을 예측함으로써, 현재 블록(80, 82, 84)을 디코딩하도록 이루어진다. 본 발명은 추가로, 개개의 인코더(10), 및 인코딩 및 디코딩을 위한 대응하는 방법들에 관한 것이다.

Description

교차-컴포넌트 선형 모델 파라미터들의 계산을 위한 견고성을 향상시키기 위한 인코더, 디코더 및 방법들
본 발명의 실시예들은 블록-기반 디코딩을 위한 디코더 및 화상의 화상 데이터의 블록-기반 인코딩을 위한 인코더에 관한 것이며, 이들 둘 모두는 교차-컴포넌트(cross-component) 선형 모델 파라미터들의 계산을 위한 견고성을 향상시키기 위한 본 발명의 특징들을 포함한다. 추가적인 실시예들은, 상기 본 발명의 특징들을 사용하는 화상의 화상 데이터의 블록-기반 디코딩 및 블록-기반 인코딩을 위한 대응하는 방법들 뿐만 아니라, 컴퓨터 상에서 실행될 때, 블록-기반 인코딩 및 블록-기반 디코딩을 위한 상기 방법들 중 적어도 하나를 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이 저장되어 있는 컴퓨터 판독가능 디지털 저장 매체에 관한 것이다. 일부 실시예들은 라인 피팅 알고리즘(line fitting algorithm)들의 분야, 특히 교차-컴포넌트 선형 모델(CCLM; cross-component linear model) 예측 분야에 있을 수 있다.
교차-컴포넌트 선형 모델(CCLM) 예측은 다수의 신호 채널들(여기에서는, 휘도/루마(luminance/luma) 및 색채/크로마(chromatic/chroma) 화상 평면들)의 코딩에서 통계적 중복성(statistical redundancy)들을 이용하게 허용하는 코딩 툴(coding tool)이다. 통상적으로, CCLM 예측기 파라미터들 α 및 β는 도 8에 예시된 바와 같이, 직선 y = α·x+β에 의해 데이터 포인트들(여기에서는, 루마-크로마 샘플 값들의 쌍들) [x,y]의 최소 평균 제곱(LMS; least mean square) 근사화를 시도하는 선형 회귀 방법들을 통해 유도된다.
이미지 및 비디오 코딩의 경우, 그러한 접근법은 이미 코딩된 루마 샘플 값(들) x로부터 크로마 샘플 값 y를 예측하는 데 사용될 수 있으며, 따라서 많은 입력 시퀀스들에 대해 증가된 코딩 효율을 달성한다([1], [2]). 선형-회귀 기반 라인-피팅 알고리즘들의 계산적 복잡도가 특히 화상 코딩에서 상당히 높으므로, 단순화된 라인 피팅이 최근에 [2](다음에서, JVET-L0191로 또한 지칭 됨)에서 제안되었고, 후속하여 VVC 드래프트 규격 [3]으로 채택되었다.
[2]에 따르면, 모든 이용가능한 루마-크로마 샘플 쌍들로부터 직선을 결정하는 대신, 이러한 제안은 최소 루마 값을 갖는 하나의 데이터 포인트(A)와 최대 루마 값을 갖는 하나의 데이터 포인트(B) 사이의 라인만을 피팅한다. 이는 알고리즘에 의해 요구되는 연산들(특히 곱셈들)의 수를 감소시켜, 국부 루마 최소 및 최대에 대한 탐색을 CCLM 방법의 주요 연산들로서 남겨둔다. 중간 및 큰 CU들에서의 모델 계산보다 더 많은 연산들을 사용하는 실제 CCLM 예측이 단순화에 의해 영향받지 않는다는 것을 유의한다(그 이유는, 그것이 CU 내의 각각의 크로마 샘플에 대해 수행되기 때문임).
JVET-L0191에 따르면, 단순화된 CCLM 계산들은 소스 코드의 약 80개의 라인들을 절약하고, 랜덤-액세스 및 낮은-지연 B 구성들에서 디코딩 런타임을 수 퍼센트만큼 감소시킨다. 유감스럽게도, UHD 콘텐츠(클래스 A)에 대해 최대 약 1%의 색채 코딩 효율에서의 손실들이 또한 보고되는데[2], 이는 통계적 아웃라이어(statistical outlier)들에 대한 단순화된 CCLM 피팅 알고리즘의 증가된 민감도에 기인할 수 있으며: 루마-크로마 포인트들의 나머지 세트에 대한 극값들(최소 A 및 최대 B)에서의 강한 변동들은 LMS-기반 CCLM에서보다 부정확한 라인-피팅들을 초래할 가능성이 훨씬 더 높다. 실제로, 그러한 시나리오는 JVET-L0191로부터 취해진 도 8에 묘사되며, 여기서 실선은 데이터를 매우 양호하게 피팅하지 않고, 즉 A와 B 사이의 거의 모든 나머지 루마-크로마 쌍들은 피팅 라인 아래에 있게 된다.
[1] K. Zhang, J. Chen, L. Zhang, M. Karczewicz, "Enhanced cross-component linear model intra prediction," JVET-D0110, 2016, http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=2806. [2] G. Laroche, J. Taquet, C. Gisquet, P. Onno, "CE3-5.1: Cross-component linear model simplification," JVET-L0191, 2018, http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=4282. [3] B. Bross, J. Chen, S. Liu, "Versatile Video Coding (Draft 2)," JVET-K1001, ver. 6/7, Sep./Oct. 2018. [4] Fraunhofer HHI, "VVCSoftware_VTM," https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM. [5] F. Bossen, J. Boyce, X. Li, V. Seregin, K. Suhring, "JVET common test conditions and software reference configurations for SDR video," JVET-L1010, 2018. [6] G. Bjøntegaard, "Calculation of average PSNR differences between RD-curves," VCEG-M33, 2001.
선형 모델 파라미터들의 계산을 위한 견고성(robustness)을 개선시키는 것이 본 발명의 목적이며, 상기 개선된 계산은 색채 코딩 효율에서의 손실들이 감소되도록 통계적 아웃라이어(statistical outliers)들에 대한 감소된 민감도를 갖는다.
본 발명에 따르면, 이러한 목적은 청구항 제1항에 따른 디코더, 청구항 제8항에 따른 인코더, 청구항 제14항에 따른 디코딩하기 위한 방법, 청구항 제15항에 따른 인코딩하기 위한 방법, 및 청구항 제16항에 따른 컴퓨터 판독가능 저장 매체로 달성된다.
제1 실시예는 화상의 화상 데이터의 블록-기반 디코딩을 위한 디코더에 관한 것이다. 디코더는 선형 함수를 사용하여 현재 블록의 루마 샘플들에 대한 현재 블록의 크로마 샘플들을 예측함으로써 화상의 현재 블록을 디코딩하도록 이루어진다. 상기 선형 함수는 이웃, 예를 들어 이웃한 블록에 기초하여 결정될 수 있다. 특히, 상기 선형 함수는 상기 이웃의 루마-크로마 샘플들의 쌍들에 기초하여 결정될 수 있다. 루마-크로마 샘플들의 그러한 쌍은 루마 샘플 및 대응하는, 예를 들어 코-로케이팅된(co-located) 크로마 샘플을 포함할 수 있다. 더 일반적으로, 상기 쌍은 적어도 하나의 루마 샘플 및 대응하는, 예를 들어 코-로케이팅된 크로마 샘플을 포함할 수 있으며; 이는 다운샘플링된 크로마 표현들에 대한 경우이고, 여기서 오직 하나의 크로마 샘플만이 2개(4:2:2 다운샘플링) 또는 4개(4:2:0 다운샘플링)의 코-로케이팅된 루마 샘플들에 대해 이용가능할 수 있다. 다시 말하면, 크로마-다운샘플링된 입력의 경우 루마-크로마 샘플들의 쌍을 획득하기 위해, 암묵적인(implicit) 중간 루마 다운샘플링이 상기 루마-크로마 샘플들의 쌍을 형성하는 동안 수행될 수 있어서, 결과적인 쌍은 단순화를 위해, 정확히 하나의(암묵적으로 다운샘플링된) 루마 샘플 및 하나의 대응하는, 예를 들어 코-로케이팅된(명시적으로 다운샘플링된) 크로마 샘플을 포함하며; [1]을 참조한다. 이웃에서 루마-크로마 샘플들의 쌍을 획득하기 위해, 디코더는 현재 블록의 상기 이웃에서 루마 샘플들의 제1 세트 및 루마 샘플들의 제2 세트를 결정하도록 이루어진다. 루마 샘플들의 제1 세트 및 루마 샘플들의 제2 세트는 각각, 복수의, 예를 들어 2개 이상의 루마 샘플들을 포함할 수 있다. 루마 샘플들의 제1 세트에 포함된 루마 샘플들은 루마 샘플들의 제2 세트에 포함된 루마 샘플들보다 작은 루마 값들을 포함한다. 다시 말하면, 루마 샘플들의 제1 세트는 복수의 작은 값의 루마 샘플들을 포함할 수 있는 반면, 루마 샘플들의 제2 세트는 복수의 큰 값의 루마 샘플들을 포함할 수 있다. 상기 이웃의 루마 샘플 및 대응하는 크로마 샘플은 상기 이웃 내의 루마-크로마 샘플들의 쌍을 함께 형성할 수 있다. 루마 샘플들의 제1 세트가 복수의 작은 값의 루마 샘플들을 포함할 수 있으므로, 작은 루마 값을 갖는 루마-크로마 샘플들의 대응하는 복수의 쌍들이 이용가능할 수 있으며, 그 쌍들은 또한 루마-크로마 샘플들의 제1 쌍들로 지칭될 수 있다. 차례로, 루마 샘플들의 제2 세트가 복수의 높은 값의 루마 샘플들을 포함할 수 있으므로, 높은 루마 값을 갖는 루마-크로마 샘플들의 대응하는 복수의 쌍들이 이용가능할 수 있으며, 그 쌍들은 또한 루마-크로마 샘플들의 제2 쌍들로 지칭될 수 있다. 다시 말하면, 루마-크로마 샘플들의 복수의 제1 쌍들 및 루마-크로마 샘플들의 복수의 제2 쌍들이 이용가능할 수 있으며, 여기서, 루마-크로마 샘플들의 제1 쌍들은 루마-크로마 샘플들의 제2 쌍들에 의해 포함된 루마 샘플들보다 작은 루마 값들을 갖는 루마 샘플들을 포함한다. 요약하면, 루마-크로마 샘플들의 제1 쌍들은 현재 블록의 상기 이웃의 루마 샘플들의 제1 세트 및 제1 대응하는(예를 들어, 코-로케이팅된) 크로마 샘플들에 기초하여 결정될 수 있고, 루마-크로마 샘플들의 제2 쌍들은 현재 블록의 상기 이웃의 루마 샘플들의 제2 세트 및 제2 대응하는(예를 들어, 코-로케이팅된) 크로마 샘플들에 기초하여 결정될 수 있다. 본 발명의 원리에 따르면, 디코더는 직선 피팅 알고리즘에 따라 루마-크로마 샘플들의 제1 쌍들을 통해(예를 들어, 적어도 2개의 제1 쌍들을 통해) 그리고 루마-크로마 샘플들의 제2 쌍들을 통해(예를 들어, 적어도 2개의 제2 쌍들을 통해) 선형 함수를 갖는 직선을 피팅하도록 이루어진다. 직선 그 자체는 루마-크로마 샘플들의 복수의 제1 및 제2 쌍들을 반드시 터치할 필요는 없다. 보다 일반적인 용어들로 말하자면, 그것은 포인트 클라우드(point cloud)를 통해 라인을 피팅하는 것으로 다소 이해될 수 있으며, 여기서 루마-크로마 샘플들의 제1 및 제2 쌍들은 상기 포인트 클라우드 내의 포인트들을 표현한다. 따라서, 루마-크로마 샘플들의 복수의 쌍들을 통해 직선을 피팅하는 것은 상기 직선의 선형 함수를 계산하는 것과 동의어로 이해될 수 있으며, 여기서 상기 계산은 상기 루마-크로마 샘플들의 제1 쌍들 및 제2 쌍들에 기초한다. 디코더는 현재 블록의 현재 루마 샘플들에 대한 현재 블록 내의 현재 크로마 샘플들의 예측을 위해, 현재 블록의 이웃에서 수집되었던 이러한 선형 함수를 사용하도록 이루어진다. 본 발명의 개념이 선형 함수를 계산하기 위해 루마-크로마 샘플들의 제1 쌍들 중 하나 초과의 쌍 및 루마-크로마 샘플들의 제2 쌍들 중 하나 초과의 쌍을 사용하므로, 본 발명의 원리에 따른 직선 피팅은 통계적 이상치들에 대한 감소된 민감도를 갖는다.
제2 실시예는 데이터 스트림으로의 화상의 화상 데이터의 블록-기반 인코딩을 위한 인코더에 관한 것이며, 인코더는 현재 블록의 이웃에서 루마 샘플들의 제1 세트 및 루마 샘플들의 제2 세트를 결정함으로써 화상의 현재 블록을 인코딩하도록 이루어지고, 루마 샘플들의 제1 세트는 루마 샘플들의 제2 세트보다 작은 루마 값을 갖는다. 인코더는 추가로, 루마-크로마 샘플들의 제1 쌍들 및 루마-크로마 샘플들의 제2 쌍들을 통해 선형 함수를 갖는 직선을 피팅하도록 이루어질 수 있으며, 여기서 루마-크로마 샘플들의 제1 쌍들은 현재 블록의 상기 이웃의 루마 샘플들의 제1 세트 및 제1 대응하는 크로마 샘플들에 기초하여 결정되고, 루마-크로마 샘플들의 제2 쌍들은 현재 블록의 상기 이웃의 루마 샘플들의 제2 세트 및 제2 대응하는 크로마 샘플들에 기초하여 결정된다. 인코더는 추가로, 현재 블록의 루마 샘플들 및 상기 선형 함수를 사용하여 현재 블록의 크로마 샘플들을 예측하도록 이루어질 수 있다. 반복을 피하기 위해, 본 발명의 인코더의 장점들에 관한 위의 디코더의 설명이 참조된다.
제3 실시예는 화상의 화상 데이터의 블록-기반 디코딩을 위한 방법에 관한 것이며, 여기서 화상의 현재 블록을 디코딩하는 단계는 현재 블록의 이웃에서 루마 샘플들의 제1 세트 및 루마 샘플들의 제2 세트를 결정하는 단계를 포함하고, 루마 샘플들의 제1 세트는 루마 샘플들의 제2 세트보다 작은 루마 값들을 갖는다. 방법은, 루마-크로마 샘플들의 제1 쌍들 및 루마-크로마 샘플들의 제2 쌍들을 통해 선형 함수를 갖는 직선을 피팅하는 추가적인 단계를 포함하며, 여기서 루마-크로마 샘플들의 제1 쌍들은 현재 블록의 상기 이웃의 루마 샘플들의 제1 세트 및 제1 대응하는 크로마 샘플들에 기초하여 결정되고, 루마-크로마 샘플들의 제2 쌍들은 현재 블록의 상기 이웃의 루마 샘플들의 제2 세트 및 제2 대응하는 크로마 샘플들에 기초하여 결정된다. 방법은 현재 블록의 루마 샘플들 및 상기 선형 함수를 사용하여 현재 블록의 크로마 샘플들을 예측하는 단계를 더 포함한다. 반복을 피하기 위해, 본 발명의 디코딩하기 위한 방법의 장점들에 관한 위의 디코더의 설명이 참조된다.
제4 실시예는 화상의 화상 데이터의 블록-기반 인코딩을 위한 방법에 관한 것이며, 여기서 화상의 현재 블록을 인코딩하는 단계는 현재 블록의 이웃에서 루마 샘플들의 제1 세트 및 루마 샘플들의 제2 세트를 결정하는 단계를 포함하고, 루마 샘플들의 제1 세트는 루마 샘플들의 제2 세트보다 작은 루마 값을 갖는다. 방법은, 루마-크로마 샘플들의 제1 쌍들 및 루마-크로마 샘플들의 제2 쌍들을 통해 선형 함수를 갖는 직선을 피팅하는 추가적인 단계를 포함하며, 여기서 루마-크로마 샘플들의 제1 쌍들은 현재 블록의 상기 이웃의 루마 샘플들의 제1 세트 및 제1 대응하는 크로마 샘플들에 기초하여 결정되고, 루마-크로마 샘플들의 제2 쌍들은 현재 블록의 상기 이웃의 루마 샘플들의 제2 세트 및 제2 대응하는 크로마 샘플들에 기초하여 결정된다. 방법은 현재 블록의 루마 샘플들 및 상기 선형 함수를 사용하여 현재 블록의 크로마 샘플들을 예측하는 추가적인 단계를 포함한다. 반복을 피하기 위해, 본 발명의 인코딩하기 위한 방법의 장점들에 관한 위의 디코더의 설명이 참조된다.
제5 실시예에 따르면, 컴퓨터 프로그램들이 제공되며, 여기서 컴퓨터 프로그램들 각각은 컴퓨터 또는 신호 프로세서 상에서 실행될 때, 위에서 설명된 방법들 중 하나를 구현하도록 이루어져서, 위에서 설명된 방법들이 컴퓨터 프로그램들 중 하나에 의해 구현되게 한다.
본 발명에 따르면, 이전의 개념들의 CCLM 부정확성을 상당히 상쇄시킬 수 있으므로, 통계적 이상치들에 대한 민감도를 감소시켜 코딩 효율을 개선시킨다.
다음으로, 본 발명의 실시예들이 도면들을 참조하여 더 상세히 설명된다.
도 1은, 본 출원의 실시예들에 따른 인트라 예측(intra prediction) 개념이 구현될 수 있는 인코더에 대한 일 예로서 화상을 예측적으로 코딩하기 위한 장치의 개략적인 블록 다이어그램을 도시한다.
도 2는 본 출원의 실시예들에 따른 인트라 예측 개념이 구현될 수 있는 디코더에 대한 일 예로서, 도 1의 장치에 알맞는, 화상을 예측적으로 디코딩하기 위한 장치의 개략적인 블록 다이어그램을 도시한다.
도 3은 코딩 모드 선택, 변환 선택 및 변환 성능을 위해 세분들을 각각 세팅할 가능성들을 예시하기 위해, 예측 잔여 신호, 예측 신호 및 재구성된 신호 사이의 관계에 대한 일 예를 예시하는 개략도를 도시한다.
도 4는 실시예들에 따른, 직선 피팅을 위해 인코더 및/또는 디코더에 의해 잠재적으로 사용될 수 있는 루마-크로마 샘플들의 복수의 제1 및 제2 쌍들의 일 예를 도시한다.
도 5는 일 실시예에 따른, 직선 피팅을 위해 루마-크로마 샘플들의 정확히 2개의 제1 쌍들 및 루마-크로마 샘플들의 정확히 2개의 제2 쌍들을 사용하는 일 예를 도시한다.
도 6은 일 실시예에 따른, 블록-기반 디코딩을 위한 방법의 개략적인 블록 다이어그램을 도시한다.
도 7은 일 실시예에 따른, 블록-기반 인코딩을 위한 방법의 개략적인 블록 다이어그램을 도시한다.
도 8은 [2]로부터 취해지며, 종래 기술에 따라 루마-크로마 샘플들의 정확히 하나의 제1 쌍 및 루마-크로마 샘플들의 정확히 하나의 제2 쌍을 사용하는 단순화된 교차-컴포넌트 선형 모델(CCLM) 예측 방법을 도시한다.
동일하거나 또는 동등한 엘리먼트들, 또는 동일하거나 또는 동등한 기능을 갖는 엘리먼트들은 다음 설명에서 동일하거나 동등한 참조 번호들에 의해 표기된다.
블록 다이어그램에 의해 묘사되고 상기 블록 다이어그램을 참조하여 설명되는 방법 단계들은 또한, 묘사된 및/또는 설명된 순서와 상이한 순서로 실행될 수 있다. 더욱이, 디바이스의 특정 특징부에 관한 방법 단계들은 상기 디바이스의 상기 특징부로 대체가능할 수 있으며, 그 반대도 가능하다.
도면들의 다음의 설명은, 본 발명의 실시예들이 구축될 수 있는 코딩 프레임워크에 대한 일 예를 형성하기 위해 비디오의 화상들을 코딩하기 위한 블록-기반 예측 코덱의 인코더 및 디코더의 설명의 제시로 시작한다. 개개의 인코더 및 디코더는 도 1 내지 도 3에 관해 설명된다. 이하, 본 발명의 개념의 실시예들의 설명은, 그러한 개념들이 각각 도 1 및 도 2의 인코더 및 디코더에 어떻게 구축될 수 있는지에 관한 설명과 함께 제시되지만, 후속 도 4 및 그 이후의 도면을 이용하여 설명되는 실시예들은 또한, 도 1 및 도 2의 인코더 및 디코더의 기반이 되는 코딩 프레임워크에 따라 동작하지 않는 인코더들 및 디코더들을 형성하는 데 사용될 수 있다.
도 1은 예시적으로 변환-기반 잔여 코딩을 사용하여 화상(12)을 데이터 스트림(14)으로 예측적으로 코딩하기 위한 장치를 도시한다. 장치 또는 인코더는 참조 부호(10)를 사용하여 표시된다. 도 2는 대응하는 디코더(20), 즉 변환-기반 잔여 디코딩을 또한 사용하여 데이터 스트림(14)으로부터 화상(12')을 예측적으로 디코딩하도록 이루어진 장치(20)를 도시하며, 여기서 아포스트로피(apostrophe)는, 예측 잔여 신호의 양자화에 의해 도입된 코딩 손실의 관점들에서, 디코더(20)에 의해 재구성된 바와 같은 화상(12')이 장치(10)에 의해 원래 인코딩된 화상(12)으로부터 벗어난다는 것을 표시하기 위해 사용되었다. 도 1 및 도 2는 변환 기반 예측 잔여 코딩을 예시적으로 사용하지만, 본 출원의 실시예들은 이러한 종류의 예측 잔여 코딩으로 제한되지 않는다. 이는 아래에서 서술될 바와 같이, 도 1 및 도 2에 관해 설명된 다른 세부사항들에 대해서도 마찬가지이다.
인코더(10)는 예측 잔여 신호가 공간-스펙트럼 변환을 겪게 하고, 그에 따라 획득된 예측 잔여 신호를 데이터 스트림(14)으로 인코딩하도록 이루어진다. 마찬가지로, 디코더(20)는 데이터 스트림(14)으로부터의 예측 잔여 신호를 디코딩하고, 그에 따라 획득된 예측 잔여 신호가 스펙트럼-공간 변환을 겪게 하도록 이루어진다.
내부적으로, 인코더(10)는, 원래 신호로부터, 즉 화상(12)으로부터의 예측 신호(26)의 편차를 측정하기 위해 예측 잔여(24)를 생성하는 예측 잔여 신호 형성기(22)를 포함할 수 있다. 예측 잔여 신호 형성기(22)는, 예를 들어 원래 신호로부터, 즉 화상(12)으로부터 예측 신호를 감산하는 감산기일 수 있다. 이어서, 인코더(10)는, 스펙트럼-도메인 예측 잔여 신호(24')를 획득하기 위해 예측 잔여 신호(24)가 공간-스펙트럼 변환을 겪게 하는 변환기(28)를 더 포함하며, 이어서, 그 스펙트럼-도메인 예측 잔여 신호(24')는, 인코더(10)에 의해 또한 포함되는 양자화기(32)에 의한 양자화를 겪는다. 그에 따라 양자화된 예측 잔여 신호(24'')는 비트스트림(14)으로 코딩된다. 이를 위해, 인코더(10)는 선택적으로, 데이터 스트림(14)으로 변환 및 양자화된 바와 같은 예측 잔여 신호를 엔트로피 코딩(entropy code)하는 엔트로피 코더(34)를 포함할 수 있다. 예측 신호(26)는, 데이터 스트림(14)으로 인코딩되고 데이터 스트림(14)으로부터 디코딩가능한 예측 잔여 신호(24'')에 기초하여 인코더(10)의 예측 스테이지(36)에 의해 생성된다. 이를 위해, 예측 스테이지(36)는 내부적으로, 도 1에 도시된 바와 같이, 예측 잔여 신호(24'')를 역양자화하여, 양자화 손실을 제외하고 신호(24')에 대응하는 스펙트럼-도메인 예측 잔여 신호(24''')를 획득하는 역양자화기(38), 뒤이어, 후자의 예측 잔여 신호(24''')가 역변환, 즉 스펙트럼-공간 변환을 겪게 하여, 양자화 손실을 제외하고 원래 예측 잔여 신호(24)에 대응하는 예측 잔여 신호(24'''')를 획득하는 역 변환기(40)를 포함한다. 이어서, 예측 스테이지(36)의 결합기(42)는 예측 신호(26)와 예측 잔여 신호(24'''')를, 예컨대 가산에 의해 재결합하여, 재구성된 신호(46), 즉 원래 신호(12)의 재구성을 획득한다. 재구성된 신호(46)는 신호(12')에 대응할 수 있다. 이어서, 예측 스테이지(36)의 예측 모듈(44)은, 예를 들어 공간 예측, 즉 인트라-화상 예측 및/또는 시간적 예측, 즉 인터-화상(inter-picture) 예측을 사용함으로써 신호(46)에 기초하여 예측 신호(26)를 생성한다.
마찬가지로, 도 2에 도시된 바와 같이, 디코더(20)는 예측 스테이지(36)에 대응하는 컴포넌트들로 내부적으로 이루어지고, 예측 스테이지(36)에 대응하는 방식으로 상호연결될 수 있다. 특히, 디코더(20)의 엔트로피 디코더(50)는 데이터 스트림으로부터의 양자화된 스펙트럼-도메인 예측 잔여 신호(24'')를 엔트로피 디코딩할 수 있으며, 그 때문에, 예측 스테이지(36)의 모듈들에 관해 위에서 설명된 방식으로 상호연결되고 협력하는 역양자화기(52), 역 변환기(54), 결합기(56) 및 예측 모듈(58)은, 도 2에 도시된 바와 같이 결합기(56)의 출력이 재구성된 신호, 즉 화상(12')을 초래하도록 예측 잔여 신호(24'')에 기초하여, 재구성된 신호를 복원한다.
위에서 구체적으로 설명되지 않았지만, 인코더(10)가, 예를 들어 일부 레이트 및 왜곡 관련 기준, 즉 코딩 비용을 최적화하는 방식으로와 같이 일부 최적화 방식에 따라, 예를 들어 예측 모드들, 모션 파라미터들 등을 포함하는 일부 코딩 파라미터들을 세팅할 수 있다는 것이 쉽게 명확하다. 예를 들어, 인코더(10) 및 디코더(20) 및 대응하는 모듈들(44, 58)은 각각, 인트라-코딩 모드들 및 인터-코딩 모드들과 같은 상이한 예측 모드들을 지원할 수 있다. 인코더 및 디코더가 이들 예측 모드 타입들 사이에서 스위칭하는 입도는 화상(12및 12')을 코딩 세그먼트들 또는 코딩 블록들로 각각 세분하는 것에 대응할 수 있다. 이들 코딩 세그먼트들의 유닛들에서, 예를 들어 화상은 인트라-코딩되는 블록들 및 인터-코딩되는 블록들로 세분될 수 있다. 인트라-코딩된 블록들은 아래에서 더 상세히 서술되는 바와 같이, 개개의 블록의 공간적이고 이미 코딩된/디코딩된 이웃에 기초하여 예측된다. 여러 개의 인트라-코딩 모드들이 존재하고, 지향성 또는 각도 인트라-코딩 모드들을 포함하는 개개의 인트라-코딩된 세그먼트에 대해 선택될 수 있으며, 그 모드들에 따라, 개개의 세그먼트는 개개의 지향성 인트라-코딩 모드에 특정한 소정의 방향을 따라 이웃의 샘플 값들을 개개의 인트라-코딩된 세그먼트로 외삽함으로써 채워진다. 예를 들어, 인트라-코딩 모드들은 또한, DC 코딩 모드 - 그 모드에 따라, 개개의 인트라-코딩된 블록에 대한 예측은 개개의 인트라-코딩된 세그먼트 내의 모든 샘플들에 DC 값을 할당함 -, 및/또는 평면형 인트라-코딩 모드 - 그 모드에 따라, 개개의 블록의 예측은 이웃한 샘플들에 기초하여 2차원 선형 함수에 의해 정의된 평면의 구동 틸트(driving tilt) 및 오프셋을 갖는 개개의 인트라-코딩된 블록의 샘플 포지션들에 걸쳐 2차원 선형 함수에 의해 설명되는 샘플 값들의 공간 분포인 것으로 근사화 또는 결정됨 - 와 같은 하나 이상의 추가적인 모드들을 포함할 수 있다. 이와 비교하여, 인터-코딩된 블록들은, 예를 들어 시간적으로 예측될 수 있다. 인터-코딩된 블록들의 경우, 모션 벡터들은 데이터 스트림 내에서 시그널링될 수 있으며, 모션 벡터들은 화상(12)이 속하는 비디오의 이전에 코딩된 화상의 일부의 공간 변위를 표시하고, 그곳에서, 이전에 코딩된/디코딩된 화상은 개개의 인터-코딩된 블록에 대한 예측 신호를 획득하기 위해 샘플링된다. 이는, 데이터 스트림(14)에 의해 포함된 잔여 신호 코딩, 예컨대 양자화된 스펙트럼-도메인 예측 잔여 신호(24'')를 표현하는 엔트로피-코딩된 변환 계수 레벨들에 부가하여, 데이터 스트림(14)에는, 코딩 모드들을 다양한 블록들로 할당하기 위한 코딩 모드 파라미터들, 블록들 중 일부에 대한 예측 파라미터들, 예컨대 인터-코딩된 세그먼트들에 대한 모션 파라미터들, 및 세그먼트들로의 화상(12 및 12') 각각의 세분을 제어 및 시그널링하기 위한 파라미터들과 같은 선택적인 추가적인 파라미터들이 인코딩되어 있을 수 있다는 것을 의미한다. 디코더(20)는 인코더가 했던 것과 동일한 방식으로 화상을 세분하고, 동일한 예측 모드들을 세그먼트들에 할당하며, 동일한 예측을 수행하여 동일한 예측 신호를 초래하기 위해 이들 파라미터들을 사용한다.
도 3은, 한편으로는 재구성된 신호, 즉 재구성된 화상(12')과 다른 한편으로는 데이터 스트림(14)에서 시그널링되는 바와 같은 예측 잔여 신호(24'''') 및 예측 신호(26)의 결합 사이의 관계를 예시한다. 위에서 이미 표기된 바와 같이, 결합은 가산일 수 있다. 예측 신호(26)는, 해칭(hatching)을 사용하여 예시적으로 표시된 인트라-코딩된 블록들 및 해칭되지 않은 것으로 예시적으로 표시된 인터-코딩된 블록들로의 화상 영역의 세분으로서 도 3에 예시된다. 세분은 임의의 세분, 예컨대 정사각형 블록들 또는 비-정사각형 블록들의 행(row)들 및 열(column)들로의 화상 영역의 정규 세분, 또는 트리 루트(tree root) 블록으로부터 다양한 사이즈의 복수의 리프(leaf) 블록들로의 화상(12)의 멀티-트리 세분, 예컨대 쿼드트리(quadtree) 세분 등일 수 있으며, 여기서 이들의 혼합물은 도 3에 예시되고, 여기서 화상 영역은 먼저 트리 루트 블록들의 행들 및 열들로 세분되고, 이어서, 이들은 재귀적 멀티-트리 세분에 따라 하나 이상의 리프 블록들로 추가로 세분된다.
다시, 데이터 스트림(14)에는 인트라-코딩된 블록들(80)에 대해 인트라-코딩 모드가 코딩되어 있을 수 있으며, 이는 여러 개의 지원되는 인트라-코딩 모드들 중 하나를 개개의 인트라-코딩된 블록(80)에 할당한다. 인터-코딩된 블록들(82)의 경우, 데이터 스트림(14)에는 하나 이상의 모션 파라미터들이 코딩되어 있을 수 있다. 일반적으로 말하면, 인터-코딩된 블록들(82)은 시간적으로 코딩되는 것으로 제한되지 않는다. 대안적으로, 인터-코딩된 블록들(82)은, 현재 화상(12) 그 자체, 예컨대 화상(12)이 속하는 비디오의 이전에 코딩된 화상들, 또는 인코더 및 디코더가 각각 스케일러블(scalable) 인코더들 및 디코더들인 경우에는 다른 뷰 또는 계층적으로 하위 계층의 화상을 넘어 이전에 코딩된 부분들로부터 예측된 임의의 블록일 수 있다.
도 3의 예측 잔여 신호(24'''')는 또한, 블록들(84)로의 화상 영역의 세분으로서 예시된다. 이들 블록들은 이들을 코딩 블록들(80 및 82)과 구별하기 위해 변환 블록들로 지칭될 수 있다. 사실상, 도 3은, 인코더(10) 및 디코더(20)가 각각 블록들로의 화상(12) 및 화상(12')의 2개의 상이한 세분들, 즉 각각 코딩 블록들(80 및 82)로의 하나의 세분 및 변환 블록들(84)로의 다른 세분을 사용할 수 있다는 것을 예시한다. 둘 모두의 세분들은 동일할 수 있으며, 즉 각각의 코딩 블록(80 및 82)은 변환 블록(84)을 동시에 형성할 수 있지만, 도 3은, 예를 들어 블록들(80 및 82)의 2개의 블록들 사이의 임의의 경계가 2개의 블록들(84) 사이의 경계를 오버레이하도록 변환 블록들(84)로의 세분이 코딩 블록들(80, 82)로의 세분의 확장을 형성하거나, 또는 대안적으로 말하자면, 각각의 블록(80, 82)이 변환 블록들(84) 중 하나와 일치하거나 변환 블록들(84)의 클러스터와 일치하는 경우를 예시한다. 그러나, 세분들은 또한, 변환 블록들(84)이 블록들(80, 82) 사이의 블록 경계들을 대안적으로 교차할 수 있도록 서로 독립적으로 결정 또는 선택될 수 있다. 따라서, 변환 블록들(84)로의 세분이 관련되는 한, 블록들(80, 82)로의 세분화에 관해 포워드되는 것들과 유사한 진술들이 사실이며, 즉 블록들(84)은 (행들 및 열들로의 배열이 있거나 없는) 블록들로의 화상 영역의 정규 세분의 결과, 화상 영역의 재귀적 멀티-트리 세분의 결과, 또는 이들의 조합 또는 임의의 다른 종류의 블록에이션(blockation)일 수 있다. 여담으로, 블록들(80, 82 및 84)이 정방형, 직사각형 또는 임의의 다른 형상으로 제한되지 않는다는 것을 유의한다.
도 3은 추가로, 예측 신호(26)와 예측 잔여 신호(24'''')의 조합이 재구성된 신호(12')를 직접적으로 초래한다는 것을 예시한다. 그러나, 대안적인 실시예들에 따라 화상(12')을 초래하기 위해 하나 초과의 예측 신호(26)가 예측 잔여 신호(24'''')와 결합될 수 있다는 것을 유의해야 한다.
도 3에서, 변환 블록들(84)은 다음의 의의를 가질 것이다. 변환기(28) 및 역 변환기(54)는 이들의 변환들을 이들 변환 블록들(84)의 유닛들로 수행한다. 예를 들어, 많은 코덱들은 모든 변환 블록들(84)에 대해 일부 종류의 DST 또는 DCT를 사용한다. 일부 코덱들은, 변환 블록들(84) 중 일부에 대해, 예측 잔여 신호가 공간 도메인에서 직접 코딩되도록 변환을 스킵하는 것을 허용한다. 그러나, 아래에서 설명되는 실시예들에 따르면, 인코더(10) 및 디코더(20)는 이들이 여러가지 변환들을 지원하는 그러한 방식으로 이루어진다. 예를 들어, 인코더(10) 및 디코더(20)에 의해 지원되는 변환들은 다음을 포함할 수 있다:
○ DCT-II(또는 DCT-III), 여기서 DCT는 이산 코사인 변환(Discrete Cosine Transform)을 나타낸다.
○ DST-IV, 여기서 DST는 이산 사인 변환(Discrete Sine Transform)을 나타낸다.
○ DCT-IV
○ DST-VII
○ 아이덴티티 변환(IT)
당연히, 변환기(28)가 이들 변환들의 순방향 변환 버전들 모두를 지원할 것인 반면, 디코더(20) 또는 역 변환기(54)는 이들의 대응하는 역방향 또는 역 버전들을 지원할 것이다:
○ 역 DCT-II(또는 역 DCT-III)
○ 역 DST-IV
○ 역 DCT-IV
○ 역 DST-VII
○ 아이덴티티 변환(IT)
후속 설명은 인코더(10) 및 디코더(20)에 의해 어느 변환들이 지원될 수 있는지에 대한 더 많은 세부사항들을 제공한다. 임의의 경우, 지원되는 변환들의 세트가 단지 하나의 변환, 예컨대 하나의 스펙트럼-공간 또는 공간-스펙트럼 변환을 포함할 수 있다는 것을 유의해야 한다.
위에서 이미 서술된 바와 같이, 도 1 내지 도 3은, 아래에서 추가로 설명되는 본 발명의 개념이 본 출원에 따른 인코더들 및 디코더들에 대한 특정 예들을 형성하기 위해 구현될 수 있는 일 예로서 제시되었다. 지금까지, 도 1 및 도 2의 인코더 및 디코더는 각각, 본 명세서의 아래에서 설명되는 인코더들 및 디코더들의 가능한 구현들을 표현할 수 있다. 그러나, 도 1 및 도 2는 단지 예들일 뿐이다. 그러나, 본 출원의 실시예들에 따른 인코더는 아래에서 더 상세히 설명되는 개념을 사용하여 화상(12)의 블록-기반 인코딩을 수행할 수 있으며, 예를 들어, 그 인코더가 비디오 인코더는 아니지만 정지 화상 인코더라는 점에서, 그 인코더가 인터-예측을 지원하지 않는다는 점에서, 또는 블록들(80)로의 세분이 도 3에 예시된 것과 상이한 방식으로 수행된다는 점에서와 같이 도 1의 인코더와 상이할 수 있다. 마찬가지로, 본 출원의 실시예들에 따른 디코더들은 아래에서 추가로 서술되는 코딩 개념을 사용하여 데이터 스트림(14)으로부터의 화상(12')의 블록-기반 디코딩을 수행할 수 있지만, 예를 들어, 그 디코더가 비디오 디코더는 아니지만 정지 화상 디코더라는 점에서, 그 디코더가 인트라-예측을 지원하지 않는다는 점에서, 또는 그 디코더가 도 3에 관해 설명된 것과 상이한 방식으로 화상(12')을 블록들로 세분한다는 점에서, 그리고/또는, 예를 들어 그 디코더가 변환 도메인이 아니라 공간 도메인에서 데이터 스트림(14)으로부터 예측 잔여를 도출한다는 점에서 도 2의 디코더(20)와 상이할 수 있다.
다음으로, 블록-기반 인코딩을 위한 인코더들(10)의 실시예들 및 블록-기반 디코딩을 위한 디코더들(20)의 실시예들이 본 명세서에 설명되는 본 발명의 원리를 어떻게 활용할 수 있는지를 예시적으로 설명하기 위해 일부 예들 및 실시예들이 논의될 것이다. 특히, 본 발명의 원리를 사용하여, 즉 이웃한 블록의 루마-크로마 샘플들에 의해 획득가능한 선형 함수를 사용하여, 현재 블록에서, 이미 코딩된 루마 샘플 값(들)으로부터 크로마 샘플 값을 어떻게 예측할지가 설명될 것이다. 디코더들(20)의 예들이 아래에서 설명될 수 있지만, 동일한 것이 또한 인코더들(10)의 대응하는 예들에 대해 유효하다.
도 4는 현재 블록의 이웃에서 수집되었던 루마-크로마 샘플들의 쌍들의 누적의 산재 플롯(scatter plot)을 도시한다. 상기 이웃은 현재 블록의 바로 부근에 있는 이웃한 블록, 또는 심지어 현재 블록의 더 부근에 있는 이웃한 블록일 수 있으며, 즉 그들 사이에 하나 이상의 블록들이 존재한다.
초기에, 인코더(10) 및/또는 디코더(20)가 위에서 언급된 루마-크로마 샘플들의 쌍들을 어떻게 획득할 수 있는지가 설명될 것이다. 따라서, 인코더(10) 및/또는 디코더(20)는 현재 블록의 상기 이웃의 루마 샘플들의 제1 세트를 결정하고, 상기 이웃의 루마 샘플들의 제2 세트를 결정하도록 이루어질 수 있다. 상기 제1 세트는 상이한 루마 값들을 갖는 복수의, 예를 들어 적어도 2개의 루마 샘플들을 포함할 수 있다. 상기 제2 세트는 또한 상이한 루마 값들을 갖는 복수의, 예를 들어 적어도 2개의 루마 샘플들을 포함할 수 있다. 그러나, 제1 세트에 포함된 루마 샘플들은 이들 개개의 루마 값들에 의해 제2 세트에 포함된 루마 샘플들과 구별될 수 있다. 특히, 제1 세트에 포함된 루마 샘플들은 제2 세트에 포함된 루마 샘플들보다 작은 루마 값들을 가질 수 있다.
하나 이상의 크로마 샘플들은 제1 세트 및 제2 세트의 루마 샘플들과 각각 링크될 수 있다. 따라서, 루마-크로마 샘플들의 개개의 수의 쌍들은 루마 샘플을 대응하는 크로마 샘플과 링크시킴으로써 인코더(10) 및/또는 디코더(20)에 의해 획득가능할 수 있다. 이어서, 루마-크로마 샘플들의 이들 쌍들은 이들 개개의 루마 값에 기초하여 카테고리화될 수 있다.
예를 들어, 루마 샘플들의 제1 세트의 루마 샘플들(즉, 더 작은 루마 값들을 갖는 루마 샘플들)을 포함하는 루마-크로마 샘플들의 쌍들은 루마-크로마 샘플들의 제1 쌍들로서 카테고리화될 수 있다. 차례로, 루마 샘플들의 제2 세트의 루마 샘플들(즉, 더 큰 루마 값들을 갖는 루마 샘플들)을 포함하는 루마-크로마 샘플들의 쌍들은 루마-크로마 샘플들의 제2 쌍들로서 카테고리화될 수 있다.
도 4는, 개략적인 타원(41)에 의해 상징적으로 둘러싸인 루마-크로마 샘플들의 복수의 제1 쌍들 뿐만 아니라 개략적인 타원(42)에서 상징적으로 둘러싸인 루마-크로마 샘플들의 복수의 제2 쌍들을 도시한다. 이러한 비-제한적인 예에서, 루마-크로마 샘플들의 3개의 제1 쌍들(A, A', A'') 및 루마-크로마 샘플들의 3개의 제2 쌍들(B, B', B'')은 다음의 라인-피팅 단계를 위해 인코더(10) 및/또는 디코더(20)에 의해 결정될 수 있다.
다시, 루마-크로마 샘플들의 제1 쌍들(A, A', A'')의 루마 값들은 루마-크로마 샘플들의 제2 쌍들(B, B', B'')의 루마 값들보다 작다. 이는, x-축이 루마-크로마 샘플들의 쌍들의 개개의 루마 값을 표현하는 반면, y-축이 루마-크로마 샘플들의 개개의 쌍의 대응하는 크로마 값을 표현하므로, 묘사된 산재 플롯에서 보여질 수 있다. 따라서, 루마-크로마 샘플들의 각각의 쌍(A, A', A'', B, B', B'')은 루마 샘플 값 및 대응하는 크로마 샘플 값을 포함한다.
인코더(10) 및/또는 디코더(20)는 도 4에 묘사된 산재 플롯을 통해 직선(43)을 피팅하도록 추가로 이루어질 수 있다. 기본적으로, 상기 묘사된 산재 플롯은 포인트 클라우드와 비교가능할 수 있으며, 여기서 루마-크로마 샘플들의 제1 및 제2 쌍들(A, A', A'', B, B', B'') 각각은 상기 포인트 클라우드 내부의 포인트에 대응할 수 있다.
인코더(10) 및/또는 디코더(20)는 루마-크로마 샘플들의 예시적으로 선택된 3개의 제1 쌍들(A, A', A'')을 통해 그리고 루마-크로마 샘플들의 예시적으로 선택된 3개의 제2 쌍들(B, B', B'')을 통해 상기 직선(43)을 피팅할 수 있다. 예를 들어, 인코더(10) 및/또는 디코더(20)는 루마-크로마 샘플들의 3개의 제1 쌍들(A, A', A'') 및 루마-크로마 샘플들의 3개의 제2 쌍들(B, B', B'')을, 상기 포인트 클라우드를 통해 직선(43)을 피팅하기 위한 직선 피팅 알고리즘에 대한 계산 기반으로서 사용할 수 있다.
알 수 있는 바와 같이, 직선(43)은 루마-크로마 샘플들의 제1 및/또는 제2 쌍들(A, A', A'', B, B', B'') 중 하나 이상을 반드시 터치하거나 또는 심지어 그들을 통해 연장될 필요가 없다. 대신에, 루마-크로마 샘플들의 제1 및/또는 제2 쌍들(A, A', A'', B, B', B'')을 통해 직선(43)을 피팅하는 것은, 피팅 알고리즘 자체가 묘사된 바와 같이 직선(43)의 선형 함수를 유발하는 루마-크로마 샘플들의 상기 선택된 수의 제1 및/또는 제2 쌍들(A, A', A'', B, B', B'')에 기초한다는 의미로 다소 이해될 것이다.
도 4에 묘사된 직선(43)은 논의된 직선 피팅 알고리즘을 시각화하기 위해 다소 개략적인 구성으로서 이해되어야 한다. 상기 직선 피팅으로부터 도출될 수 있는 하나의 중요한 정보는 직선(43)의 선형 함수이다. 선형 함수는 다음의 수학식에 의해 주어질 수 있으며:
y=α·x+β
여기서, α는 상기 직선(43)의 기울기를 표현하는 제1 교차-컴포넌트 선형 모델 파라미터이고, β는 상기 직선(43)의 오프셋을 표현하는 제2 교차-컴포넌트 선형 모델 파라미터이다.
본 발명에 따르면, 인코더(10) 및/또는 디코더(20)는 위에서 설명된 바와 같이, 현재 블록의 현재 루마 샘플 x에 대해, 상기 현재 블록의 이웃으로부터 결정되었던 선형 함수에 의해 현재 블록의 대응하는 크로마 샘플 y을 예측하도록 이루어진다.
일 실시예에 따르면, 디코더(20)는 인트라 예측에 의해 그리고/또는 인터 예측에 의해 현재 블록의 루마 샘플들을 재구성하도록 이루어질 수 있다. 또 다른 추가적인 실시예에 따르면, 디코더(20)는 데이터 스트림(14)으로부터 현재 블록에 대한 루마 샘플 잔여들을 디코딩하고, 인트라 예측 및/또는 인터 예측에 의해 현재 블록의 루마 샘플들을 재구성하여, 예측된 루마 샘플들을 획득하고, 루마 샘플 잔여들을 사용하여 상기 예측된 루마 샘플들을 보정하도록 이루어질 수 있다.
따라서, 일 실시예는 현재 블록에 대한 루마 샘플 잔여들을 데이터 스트림(14)으로 인코딩하여, 현재 블록의 루마 샘플들이 예측된 루마 샘플들을 획득하기 위해 인트라 예측 및/또는 인터 예측에 의해 재구성가능하게 하도록 이루어진 개개의 인코더(10)를 제공하며, 여기서 상기 예측된 루마 샘플들은 루마 샘플 잔여들을 사용함으로써 보정가능하다.
위의 예에서, 루마-크로마 샘플들의 3개의 제1 쌍들(A, A', A'') 및 루마-크로마 샘플들의 3개의 제2 쌍들(B, B', B'')은 루마-크로마 샘플들의 적어도 이들 3개의 제1 및 제2 쌍들(A, A', A'', B, B', B'')을 통해 직선(43)을 피팅하기 위한 피팅 알고리즘에 대한 기반으로서 예시적으로 사용되었다. 그러나, 루마-크로마 샘플들의 예시적으로 설명된 3개 초과의 제1 및 제2 쌍들(A, A', A'', B, B', B'')이 본 발명의 원리에서 사용될 수 있다. 부가적으로 또는 대안적으로, 루마-크로마 샘플들의 2개의 제1 및 제2 쌍들(A, A', B, B')만이 본 발명의 원리에서 사용될 수 있다. 그러나, 루마-크로마 샘플들의 적어도 2개의 제1 쌍들(A, A') 및 루마-크로마 샘플들의 적어도 2개의 제2 쌍들(B, B')이 본 발명의 원리에 따라 사용될 것이다.
이는, 루마 크로마 샘플들의 오직 하나의 제1 쌍(A)만이 그리고 루마 크로마 샘플들의 오직 하나의 제2 쌍(B)만이 사용되는 JVET-L0191에 비해 중요한 구별되는 특징이다.
예를 들어, 인코더(10) 및/또는 디코더(20)는 가장 작은 루마 값들을 갖는 이들 2개 이상의 제1 루마-크로마 샘플들(A, A', A'')을 선택하도록 이루어질 수 있다. 따라서, 인코더(10) 및/또는 디코더(20)는 현재 블록의 상기 이웃에서 n>1개의 가장 작은 루마 값들을 발견함으로써 루마 샘플들의 제1 세트를 결정하도록 이루어질 수 있다. 대응하는 크로마 값들과 함께, 가장 작은 루마 값들을 갖는 루마-크로마 샘플들의 이들 n>1개의 제1 쌍들(A, A', A'')은 인코더(10) 및/또는 디코더(20)에 의해 루마-크로마 샘플들의 복수의 제1 쌍들(41) 중에서 선택될 수 있다.
부가적으로 또는 대안적으로, 인코더(10) 및/또는 디코더(20)는 가장 큰 루마 값들을 갖는 이들 2개 이상의 제2 루마-크로마 샘플들(B, B', B'')을 선택하도록 이루어질 수 있다. 따라서, 인코더(10) 및/또는 디코더(20)는 현재 블록의 상기 이웃에서 n>1개의 가장 큰 루마 값들을 발견함으로써 루마 샘플들의 제2 세트를 결정하도록 이루어질 수 있다. 대응하는 크로마 값들과 함께, 가장 작은 루마 값들을 갖는 루마-크로마 샘플들의 이들 n>1개의 제2 쌍들(B, B', B'')은 인코더(10) 및/또는 디코더(20)에 의해 루마-크로마 샘플들의 복수의 제2 쌍들(42) 중에서 선택될 수 있다.
위에서 언급된 바와 같이, 가장 작은 루마 값들을 갖는 루마-크로마 샘플들의 적어도 2개의 그리고 일부 예시적인 실시예들에 따르면, 정확히 2개의 제1 쌍들(A, A')이 루마-크로마 샘플들의 복수의 제1 쌍들(41)로부터 선택될 수 있다. 더욱이, 가장 큰 루마 값들을 갖는 루마-크로마 샘플들의 적어도 2개의 그리고 일부 예시적인 실시예들에 따르면, 정확히 2개의 제2 쌍들(B, B')이 루마-크로마 샘플들의 복수의 제2 쌍들(42)로부터 선택될 수 있다.
그러한 실시예에 따르면, 인코더(10) 및/또는 디코더(20)는 현재 블록의 상기 이웃에서 n=2개의 가장 작은 루마 값들을 발견함으로써 루마 샘플들의 제1 세트를 결정하고, 그리고/또는 현재 블록의 상기 이웃에서 n=2개의 가장 큰 루마 값들을 발견함으로써 루마 샘플들의 제2 세트를 결정하도록 이루어질 수 있다. 대응하는 크로마 값들을 링크시킴으로써, 인코더(10) 및/또는 디코더(20)는 가장 작은 루마 값들을 갖는 루마-크로마 샘플들의 n=2개의 제1 쌍들(A, A') 뿐만 아니라 가장 큰 루마 값들을 갖는 루마-크로마 샘플들의 n=2개의 제2 쌍들(B, B')을 획득할 수 있다.
대응하는 예는 이제, 도 4를 참조하여 이전에 논의된 바와 유사한 포인트 클라우드를 도시하는 도 5를 참조하여 논의될 것이다. 따라서, 도 4에 대한 차이들이 설명될 것이다.
도 5에 도시된 예에서, 가장 작은 루마 값들을 갖는 루마-크로마 샘플들의 이들 2개의 제1 쌍들(A, A') 및 가장 큰 루마 값들을 갖는 루마-크로마 샘플들의 이들 2개의 제2 쌍들(B, B')은 상기 루마-크로마 샘플들의 제1 및 제2 쌍들(A, A', B, B')을 통해 직선(43)을 피팅하기 위해 인코더(10) 및/또는 디코더(20)에 의해 선택된다.
알 수 있는 바와 같이, 제1 임시 직선(temporary straight-line)(51)은, 가장 작은 루마 값을 갖는 루마-크로마 샘플들의 제1 쌍(A) 및 가장 큰 루마 값을 갖는 루마-크로마 샘플들의 제2 쌍(B)을 사용하여 피팅될 수 있다. 제2 임시 직선(52)은, 제2의 가장 작은 루마 값을 갖는 루마-크로마 샘플들의 제1 쌍(A') 및 제2의 가장 큰 루마 값을 갖는 루마-크로마 샘플들의 제2 쌍(B')을 사용하여 피팅될 수 있다.
가장 작은 그리고 제2의 가장 작은 루마 값들을 갖는 루마-크로마 샘플들의 2개의 제1 쌍들(A, A') 사이의 평균(53) 뿐만 아니라 가장 큰 그리고 제2의 가장 큰 루마 값들을 갖는 루마-크로마 샘플들의 2개의 제2 쌍들(B, B') 사이의 평균(54)은 루마-크로마 샘플들의 제1 및 제2 쌍들(A, A', B, B')을 통해 직선(43)을 피팅하기 위해, 즉 선형 함수 y=α·x+β를 도출하기 위해 결정될 수 있다.
따라서, 일 실시예에 따르면, 인코더(10) 및/또는 디코더(20)는 직선(43)을 피팅하여, 상기 직선(43)의 선형 함수를 도출하기 위해 루마-크로마 샘플들의 제1 쌍들(A, A')의 평균(53) 및 루마-크로마 샘플들의 제2 쌍들(B, B')의 평균(54)을 통해 상기 직선(43)이 연장되게 하도록 이루어질 수 있다.
다시 말하면, 도 5에 도시된 바와 같이, 가장 작은 루마 값(A) 및 가장 큰 루마 값(B)을 탐색할 뿐만 아니라(JVET-L0191에서 행해진 바와 같음) 제2의 가장 작은 루마 값(A') 및 제2의 가장 큰 루마 값(B')을 탐색하는 것이 제안된다. 이어서, 직선(43)은 A 및 A'에서의 데이터 포인트들의 평균(53)과 B 및 B'에서의 데이터 포인트들의 평균(54) 사이에서 피팅될 수 있으며, 이는, 종래 기술과 비교하여 더 양호한 데이터-피트를 일반적으로 유발하는 도 5의 직선을 유발한다. A, A' 및 B, B'를 평균하는 것의 2개의 변형들이 복잡도에서 상이하게 특정될 수 있다:
1. 정확한 정수 평균: (A + A' + 1) >> 1, (B + B' + 1) >> 1, 여기서 ">>"는 비트-단위 우측-시프트이다.
2. 부정확한 정수 평균: (A + A') >> 1, (B + B') >> 1, 정확한 변형에 비해 4개의 "+1"을 절약한다.
변형들 둘 모두는 산술 평균의 고정 소수점 정수 실현들을 표현하며; 기하학적 평균과 같은 다른 형태들의 평균이 또한 가능하지만 본 명세서에서는 고려되지 않는다.
도 5에서 명확하게 알 수 있는 바와 같이, 직선(43)은 이전의 제안들의 경우보다 포인트 클라우드로, 즉 루마-크로마 샘플들의 복수의 제1 및 제2 쌍들로 훨씬 더 양호하게 피팅되며, 이는 상부의 제1 임시 직선(51)으로만 표현된다. 인코더(10) 및/또는 디코더(20)가 루마 샘플 잔여들을 인코딩/디코딩할 수 있지만, 이전의 제안들에 따라 상부의 제1 임시 직선(51)으로부터 예측된 예측 잔여(55)는 본 발명의 개념에 따라 피팅되었던 직선(43)으로부터 예측된 예측 잔여(56)보다 상당히 클 수 있다는 것을 알 수 있다. 따라서, 본 명세서에 설명된 본 발명의 개념은 이전의 개념들의 CCLM 부정확성을 상당히 상쇄시킬 수 있다.
Figure pct00001
(가산: addition, 제산:division)
표 1은 이전에 채택된 CCLM 버전들과 비교한, 본 명세서에 설명된 수정된 CCLM 계산에 의해 소비되는 알고리즘 동작들을 요약한다. 2개의 더 극단의 루마 값들(A', B')에 대한 탐색으로 인해, 비교들의 수가 2배가 된다는 것을 알 수 있다. 제안된 2개의 변형들 중 어느 하나에 의해 요구되는 동작들의 수가 VTM 2에서 채택된 초기 CCLM에 대한 것보다 여전히 훨씬 더 낮다는 것을 유의한다[1].
제안된 변경들로 인한 코덱 런타임의 증가들 없이 상당한 코딩 효율 증가들의 존재를 검증하기 위해, 시퀀스들의 SDR-카테고리 공통 테스트 조건들(CTC; Common Test Conditions) 세트에 대한 비온테가르드 델타(BD; Bjøntegaard delta) PSNR 이득들이 측정되었다[5] [6]. 디폴트 구성을 갖는 VTM 소프트웨어 버전 3이 사용된다[4].
Figure pct00002
Figure pct00003
표 2는 위에서 설명된 평균 변형 1(정확한 정수 평균)에 대한 BD-PSNR 결과들을 열거하는 반면, 표 3은 평균 변형 2(부정확한 정수 평균)에 대한 BD-PSNR 값들을 포함한다. 다음을 유의할 수 있다:
● 변형들 둘 모두는 매우 유사한 전체적인 BD-PSNR 성능을 유발하고,
● 크로마 채널들 둘 모두에 대해 일관된 BD-PSNR 이득들에 도달하며,
● 어느 하나의 변형에 대해서도 상당한 런타임 증가들이 관측되지 않는다.
이는, 본 명세서에 설명된 바와 같은 제안들 둘 모두가 CCLM 예측 툴의 알고리즘 복잡도에 대한 대수롭지 않은 영향으로, 원하는 대로 색채 코딩 효율을 대략 0.4%만큼 성공적으로 증가시킨다는 것을 표시한다.
요약하면, L0191에 설명된 단순화된 교차-컴포넌트 선형 모델(CCLM) 예측기에 대한 수정의 2개의 변형들이 본 명세서에 설명된다. 제안된 낮은 복잡도 변화들은 CCLM에서 직선 피팅 알고리즘을 안정화시키며, 따라서 크로마 채널들에서 0.3 내지 0.4%의 BD-PSNR 이득들을 산출한다. 동시에, CCLM 계산의 알고리즘 복잡도는 VTM 2[1]에서 이전에 채택된 CCLM 설계의 알고리즘 복잡도의 단지 절반(또는 큰 CU들의 경우 그 미만)으로 유지된다.
특히, JVET-L0191은 다목적 비디오 코딩(VVC; Versatile Video Coding) 표준에서 교차-컴포넌트 선형 모델(CCLM) 예측기에 대한 단순화된 파라미터 계산을 설명한다. 이러한 단순화에 따르면, CCLM 파라미터들(α 및 β)은, 다수의 루마 및 크로마 샘플들로부터의 이전에 사용된 더 복잡한 선형 회귀와는 대조적으로, 샘플 값들의 최대 및 최소 루마-크로마 쌍 사이의 직선 피팅에 의해 도출될 수 있다. 그 결과, CCLM 툴의 알고리즘 복잡도는 많은 코딩 효율을 잃지 않으면서 감소된다.
본 발명은 2개의 극단 샘플 값들 사이의 단순화된 라인 피팅이 통계적 이상치들에 상당히 취약하다는 증거를 제공하며, 예를 들어 다음과 같은 CCLM 방법에 대한 일부 수정들을 제안한다:
1. (오로지 가장 큰 값만 및 오로지 가장 작은 값만 대신) 가장 큰 2개의 루마 샘플들(B, B')의 평균(54)과 가장 작은 2개의 루마 샘플들(A, A')의 평균(53) 사이의 직선(43)의, 정확한 평균을 이용한 피팅,
2. 가장 큰 2개의 루마 샘플들(B, B')의 평균(54)과 가장 작은 2개의 루마 샘플들(A, A')의 평균(53) 사이의 직선(43)의, 일부 가산들을 절약한 부정확한 평균(제산(division) 전에 1의 오프셋이 없음)을 이용한 피팅.
변형 2는, CCLM 코딩된 CU 당 4개 더 적은 가산들을 요구하면서 변형 1과 동일한 BD-PSNR 이득들을 산출할 수 있다.
그러나, 수정들 둘 모두는 VTM 인코더 및 디코더 복잡도에 대해 무시가능한 영향(인코더 런타임 100%, 디코더 런타임 99 내지 101%)을 미치며, 보고된 바에 따르면, 색채 채널들 각각에서 약 0.3 내지 0.4%의 코딩 효율 이득(모든-인트라 및 랜덤-액세스 둘 모두에 대한 Cb Cr BD-PSNR 이득들)을 제공한다.
도 6은 화상의 화상 데이터의 블록-기반 디코딩을 위한 방법의 일 실시예의 개략적인 블록 다이어그램을 도시하며, 여기서 화상의 현재 블록을 디코딩하는 단계는 적어도 다음의 단계들을 포함한다.
블록(601)에서, 현재 블록의 이웃의 루마 샘플들의 제1 세트 및 루마 샘플들의 제2 세트가 결정되며, 여기서 루마 샘플들의 제1 세트는 루마 샘플들의 제2 세트보다 작은 루마 값들을 갖는다.
블록(602)에서, 선형 함수를 갖는 직선(43)은 루마-크로마 샘플들의 제1 쌍들(A, A') 및 루마-크로마 샘플들의 제2 쌍들(B, B')을 통해 피팅되며, 여기서 루마-크로마 샘플들의 제1 쌍들(A, A')은 현재 블록의 상기 이웃의 루마 샘플들의 제1 세트 및 제1 대응하는 크로마 샘플들에 기초하여 결정되고, 루마-크로마 샘플들의 제2 쌍들(B, B')은 현재 블록의 상기 이웃의 루마 샘플들의 제2 세트 및 제2 대응하는 크로마 샘플들에 기초하여 결정된다.
블록(603)에서, 현재 블록의 크로마 샘플들은 위에서 설명된 바와 같이, 현재 블록의 이웃으로부터 결정되었던 상기 선형 함수 및 현재 블록의 루마 샘플들을 사용하여 예측된다.
도 7은 화상의 화상 데이터의 블록-기반 인코딩을 위한 방법의 일 실시예의 개략적인 블록 다이어그램을 도시하며, 여기서 화상의 현재 블록을 인코딩하는 단계는 적어도 다음의 단계들을 포함한다.
블록(701)에서, 현재 블록의 이웃의 루마 샘플들의 제1 세트 및 루마 샘플들의 제2 세트가 결정되며, 여기서 루마 샘플들의 제1 세트는 루마 샘플들의 제2 세트보다 작은 루마 값들을 갖는다.
블록(702)에서, 선형 함수를 갖는 직선(43)은 루마-크로마 샘플들의 제1 쌍들(A, A') 및 루마-크로마 샘플들의 제2 쌍들(B, B')을 통해 피팅되며, 여기서 루마-크로마 샘플들의 제1 쌍들(A, A')은 현재 블록의 상기 이웃의 루마 샘플들의 제1 세트 및 제1 대응하는 크로마 샘플들에 기초하여 결정되고, 루마-크로마 샘플들의 제2 쌍들(B, B')은 현재 블록의 상기 이웃의 루마 샘플들의 제2 세트 및 제2 대응하는 크로마 샘플들에 기초하여 결정된다.
블록(703)에서, 현재 블록의 크로마 샘플들은 위에서 설명된 바와 같이, 현재 블록의 이웃으로부터 결정되었던 상기 선형 함수 및 현재 블록의 루마 샘플들을 사용하여 예측된다.
논의된 바와 같이, 디코더(20) 및 인코더(10) 둘 모두는 현재 블록(80, 82, 84)의 이웃에서 루마 샘플들의 제1 세트 및 루마 샘플들의 제2 세트를 결정할 수 있다. 상기 이웃은 상기 현재 블록에 바로 인접한 루마 샘플들의 행(들) 또는 열(들), 바람직하게는 (이미지 또는 비디오 압축에서) 샘플들의 상단 이웃 행 또는 샘플들의 좌측 이웃 열일 수 있다. 그러나, 반드시 모든 이용가능한 인접 루마 샘플들이 상기 루마 샘플들의 제1 세트 및 상기 루마 샘플들의 제2 세트를 결정할 시에 고려되어야 하는 것은 아닐 수 있다. 다시 말하면, 이러한 목적을 위해 모든 이용가능한 인접 루마 샘플들의 서브세트를 형성하는 것이 충분할 수 있다. 특히, 본 발명은 단지 4개의 이웃 루마 샘플들만이 고려될 때 적용가능하게 유지되며, 이 경우, 루마 샘플들의 제1 세트는 4개의 고려된 값들 중 n=2개의 더 작은 루마 값들을 포함할 수 있고, 결과적으로 루마 샘플들의 제2 세트는 4개의 고려된 값들 중 n=2개의 더 큰 루마 값들을 포함할 수 있다.
현재 블록의 이웃에서의 이들 4개의 이웃한 루마 샘플들의 선택은 임의적일 수 있지만, 바람직하게, 4개의 이웃한 루마 샘플들은 현재 블록의 공간 상단 및/또는 좌측 경계들을 따라 등거리(또는 거의 등거리) 방식으로 선택될 수 있다. 게다가, 루마 샘플들의 제1 세트 및 루마 샘플들의 제2 세트의 결정을 위한 상기 4개의 이웃한 루마 샘플들의 선택은 샘플들의 상단 이웃 행 및/또는 샘플들의 좌측 이웃 열의 존재에 따라 적응될 수 있다. 더 구체적으로, (예를 들어, 상부 화상 경계에서) 상단 수직 이웃들이 이용가능하지 않으면, 4개의 이웃한 루마 샘플들은 모두 루마 샘플들의 좌측 이웃 열로부터 선택될 수 있지만, (예를 들어, 좌측 화상 경계에서) 좌측 수평 이웃들이 이용가능하지 않으면, 4개의 이웃한 루마 샘플들은 모두 루마 샘플들의 최단 이웃 행으로부터 선택될 수 있다. 그러나, (디폴트 경우와 같이, 예를 들어 압축될 화상의 중심에서) 상단 및 좌측 이웃들 둘 모두가 이용가능하면, 2개의 루마 샘플들이 상단 이웃 샘플 행으로부터 선택될 수 있고, 2개의 추가의 루마 샘플들이 좌측 이웃 샘플 열로부터 선택될 수 있다. 마지막으로, 화상이 다운샘플링된 크로마 포맷(예를 들어, 4:2:0)으로 저장되면, 루마 샘플들의 제1 및 제2 세트가 결정된 (예를 들어, 4개의) 이웃한 루마 샘플들의 선택 이전에 상기 크로마 포맷에 따라, 이웃한 루마 샘플들이 또한 다운샘플링될 수 있다는 것을 유의해야 한다.
현재 블록의 상기 이웃이 일반적으로, 현재 화상(공간적 이웃) 또는 다른 이전에 디코딩되고 재구성된 화상(시간적 이웃)의 이전에 디코딩되고 재구성된 부분, 예를 들어 블록을 표현한다는 것을 유의한다. 그러나, 인코더 측 상에서, 이전에 디코딩되고 재구성된 화상 구역 대신, 원래 입력 화상 구역이 또한, 현재 블록의 상기 이웃에 대한 소스로서 사용될 수 있다는 것이 명확해야 한다. 게다가, 본 발명의 방법이 임의적인 교차-컴포넌트 예측, 예를 들어 RGB 컬러 코딩에서 적색 컴포넌트들로부터의 녹색 또는 청색의 예측에 동일하게 적용가능하다는 것이 당업자들에게 쉽게 명백할 것이다.
게다가, 루마-크로마 샘플들의 제1/제2 쌍들의 상기 세트들이 (적어도 부분적으로) 중첩될 수 있다는 것을 유의해야 한다. 이는 특히, 현재 블록의 디코딩되고 재구성된 루마 이웃이, 모두 동일한 값을 갖는 샘플들로 이루어지는 경우이다. 이어서, 루마-크로마 샘플들의 제1 및 제2 쌍들 둘 모두는 동일한 값들을 유지할 수 있다. 그러나, "자연스러운" 이미지 콘텐츠에 대한 "정상적인" 동작 동안, 이는 드문 경우이다.
일부 양상들이 장치의 맥락에서 설명되었지만, 이들 양상들이 또한 대응하는 방법의 설명을 표현한다는 것은 명확하며, 여기서, 블록 또는 디바이스는 방법 단계 또는 방법 단계의 특징에 대응한다. 유사하게, 방법 단계의 맥락에서 설명된 양상들은 또한, 대응하는 장치의 대응하는 블록 또는 아이템 또는 특징의 설명을 표현한다.
방법 단계들 중 일부 또는 모두는, 예를 들어, 마이크로프로세서, 프로그래밍가능 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 사용함으로써) 실행될 수 있다. 일부 실시예들에서, 가장 중요한 방법 단계들 중 하나 이상은 그러한 장치에 의해 실행될 수 있다.
특정 구현 요건들에 의존하여, 본 발명의 실시예들은 하드웨어로 또는 소프트웨어로 또는 적어도 부분적으로는 하드웨어로 또는 적어도 부분적으로는 소프트웨어로 구현될 수 있다. 구현은, 각각의 방법이 수행되도록 프로그래밍가능한 컴퓨터 시스템과 협력하는(또는 협력할 수 있는), 전자적으로 판독가능한 제어 신호들이 저장된 디지털 저장 매체, 예를 들어, 플로피 디스크, DVD, 블루-레이, CD, ROM, PROM, EPROM, EEPROM 또는 FLASH 메모리를 사용하여 수행될 수 있다. 따라서, 디지털 저장 매체는 컴퓨터 판독가능할 수 있다.
본 발명에 따른 일부 실시예들은, 본 명세서에 설명된 방법들 중 하나가 수행되도록, 프로그래밍가능한 컴퓨터 시스템과 협력할 수 있는, 전자적으로 판독가능한 제어 신호들을 갖는 데이터 캐리어를 포함한다.
일반적으로, 본 발명의 실시예들은 프로그램 코드를 갖는 컴퓨터 프로그램 제품으로서 구현될 수 있으며, 프로그램 코드는, 컴퓨터 프로그램 제품이 컴퓨터 상에서 실행될 때 방법들 중 하나를 수행하기 위해 동작된다. 프로그램 코드는, 예를 들어, 머신 판독가능 캐리어 상에 저장될 수 있다.
다른 실시예들은, 머신 판독가능 캐리어 상에 저장되는, 본 명세서에 설명된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 포함한다.
따라서, 다시 말하면, 본 발명의 방법의 일 실시예는, 컴퓨터 프로그램이 컴퓨터 상에서 실행될 때, 본 명세서에 설명된 방법들 중 하나를 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이다.
따라서, 본 발명의 방법들의 추가적인 실시예는, 본 명세서에 설명된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램(데이터 캐리어 상에 레코딩되어 있음)을 포함하는 데이터 캐리어(또는 디지털 저장 매체, 또는 컴퓨터-판독가능 매체)이다. 데이터 캐리어, 디지털 저장 매체 또는 레코딩된 매체는 통상적으로, 유형이고 그리고/또는 비-일시적이다.
따라서, 본 발명의 방법의 추가적인 실시예는, 본 명세서에 설명된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 표현하는 데이터 스트림 또는 신호들의 시퀀스이다. 데이터 스트림 또는 신호들의 시퀀스는, 예를 들어, 데이터 통신 연결을 통해, 예를 들어, 인터넷을 통해 전달되도록 이루어질 수 있다.
추가적인 실시예는, 본 명세서에 설명된 방법들 중 하나를 수행하도록 이루어지거나 적응되는 프로세싱 수단, 예를 들어, 컴퓨터, 또는 프로그래밍가능 로직 디바이스를 포함한다.
추가적인 실시예는, 본 명세서에 설명된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램이 설치된 컴퓨터를 포함한다.
본 발명에 따른 추가적인 실시예는, 본 명세서에 설명된 방법들 중 하나를 수행하기 위한 컴퓨터 프로그램을 (예를 들어, 전자적으로 또는 광학적으로) 수신기에 전달하도록 이루어진 장치 또는 시스템을 포함한다. 수신기는, 예를 들어, 컴퓨터, 모바일 디바이스, 메모리 디바이스 등일 수 있다. 장치 또는 시스템은, 예를 들어, 컴퓨터 프로그램을 수신기에 전달하기 위한 파일 서버를 포함할 수 있다.
일부 실시예들에서, 프로그래밍가능 로직 디바이스(예를 들어, 필드 프로그래밍가능 게이트 어레이)는, 본 명세서에 설명된 방법들의 기능들 중 일부 또는 모두를 수행하기 위해 사용될 수 있다. 일부 실시예들에서, 필드 프로그래밍가능 게이트 어레이는, 본 명세서에 설명된 방법들 중 하나를 수행하기 위해 마이크로프로세서와 협력할 수 있다. 일반적으로, 방법들은 바람직하게 임의의 하드웨어 장치에 의해 수행된다.
본 명세서에 설명된 장치는, 하드웨어 장치를 사용하여, 또는 컴퓨터를 사용하여, 또는 하드웨어 장치 및 컴퓨터의 조합을 사용하여 구현될 수 있다.
본 명세서에 설명된 방법은, 하드웨어 장치를 사용하여, 또는 컴퓨터를 사용하여, 또는 하드웨어 장치 및 컴퓨터의 조합을 사용하여 수행될 수 있다.
본 개시내용이 예시적인 실시예들을 참조하여 설명되었지만, 이러한 설명은 제한적인 의미로 해석되도록 의도되지 않는다. 예시적인 실시예들의 다양한 수정들 및 조합들 뿐만 아니라, 본 개시내용의 다른 실시예들은 설명을 참조할 시에 당업자들에게 명백할 것이다. 따라서, 첨부된 청구항들이 임의의 그러한 수정들 또는 실시예들을 포함하는 것으로 의도된다.

Claims (17)

  1. 화상(12')의 화상 데이터를 블록-기반 디코딩하기 위한 디코더(20)로서,
    상기 디코더(20)는,
    상기 화상(12')의 현재 블록(80, 82, 84)의 이웃에서 루마 샘플(luma sample)들의 제1 세트 및 루마 샘플들의 제2 세트를 결정하고 - 상기 루마 샘플들의 제1 세트는 상기 루마 샘플들의 제2 세트보다 작은 루마 값들을 가짐 -,
    상기 루마-크로마 샘플(luma-chroma sample)들의 제1 쌍들(A, A') 및 상기 루마-크로마 샘플들의 제2 쌍들(B, B')을 통해 선형 함수를 갖는 직선(43)을 피팅(fit)하며 - 상기 루마-크로마 샘플들의 제1 쌍들(A, A')은 상기 현재 블록(80, 82, 84)의 상기 이웃의 상기 루마 샘플들의 제1 세트 및 제1 대응하는 크로마 샘플들에 기초하여 결정되고, 상기 루마-크로마 샘플들의 제2 쌍들(B, B')은 상기 현재 블록(80, 82, 84)의 상기 이웃의 상기 루마 샘플들의 제2 세트 및 제2 대응하는 크로마 샘플들에 기초하여 결정됨 -, 그리고
    상기 현재 블록(80, 82, 84)의 루마 샘플들 및 상기 선형 함수를 사용하여 상기 현재 블록(80, 82, 84)의 크로마 샘플들을 예측함으로써,
    상기 현재 블록(80, 82, 84)을 디코딩하도록 이루어지는, 블록-기반 디코딩하기 위한 디코더(20).
  2. 제1항에 있어서,
    인트라 예측(intra prediction)에 의해 그리고/또는 인터 예측(inter prediction)에 의해 상기 현재 블록(80, 82, 84)의 루마 샘플들을 재구성하도록 이루어지는, 블록-기반 디코딩하기 위한 디코더(20).
  3. 제1항 또는 제2항에 있어서,
    데이터 스트림(14)으로부터 상기 현재 블록(80, 82, 84)에 대한 루마 샘플 잔여(residual)들을 디코딩하며, 그리고
    예측된 루마 샘플들을 획득하고, 상기 루마 샘플 잔여들을 사용하여 상기 예측된 루마 샘플들을 보정하기 위하여 인트라 예측 및/또는 인터 예측에 의해 상기 현재 블록(80, 82, 84)의 루마 샘플들을 재구성하도록
    이루어지는, 블록-기반 디코딩하기 위한 디코더(20).
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 현재 블록(80, 82, 84)의 상기 이웃에서 n>1개의 가장 작은 루마 값들을 발견함으로써 상기 루마 샘플들의 제1 세트를 결정하고, 그리고/또는
    상기 현재 블록(80, 82, 84)의 상기 이웃에서 n>1개의 가장 큰 루마 값들을 발견함으로써 상기 루마 샘플들의 제2 세트를 결정하도록
    이루어지는, 블록-기반 디코딩하기 위한 디코더(20).
  5. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 현재 블록(80, 82, 84)의 상기 이웃에서 n=2개의 가장 작은 루마 값들을 발견함으로써 상기 루마 샘플들의 제1 세트를 결정하고, 그리고/또는
    상기 현재 블록(80, 82, 84)의 상기 이웃에서 n=2개의 가장 큰 루마 값들을 발견함으로써 상기 루마 샘플들의 제2 세트를 결정하도록
    이루어지는, 블록-기반 디코딩하기 위한 디코더(20).
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 직선(43)을 피팅하여, 상기 직선(43)의 선형 함수를 도출하기 위해 상기 루마-크로마 샘플들의 제1 쌍들(A, A')의 평균(53) 및 상기 루마-크로마 샘플들의 제2 쌍들(B, B')의 평균(54)을 통해 상기 직선(43)이 연장되게 하도록 이루어지는, 블록-기반 디코딩하기 위한 디코더(20).
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 선형 함수는 수학식 y=α·x+β에 의해 주어지며,
    상기 α는 상기 직선(43)의 기울기를 표현하는 제1 교차-컴포넌트 선형 모델 파라미터(cross-component linear model parameter)이고, 상기 β는 상기 직선(43)의 오프셋을 표현하는 제2 교차-컴포넌트 선형 모델 파라미터이고,
    상기 디코더(20)는, 상기 선형 함수를 사용하여, 상기 현재 블록(80, 82, 84)의 하나 이상의 루마 샘플들 x에 대해 상기 현재 블록(80, 82, 84)의 적어도 하나의 대응하는 크로마 샘플 y를 예측하도록 추가로 이루어지는, 블록-기반 디코딩하기 위한 디코더(20).
  8. 화상(12)의 화상 데이터를 데이터 스트림(14)으로 블록-기반 인코딩하기 위한 인코더(10)로서,
    상기 인코더(10)는,
    상기 화상(12)의 현재 블록(80, 82, 84)의 이웃에서 루마 샘플들의 제1 세트 및 루마 샘플들의 제2 세트를 결정하고 - 상기 루마 샘플들의 제1 세트는 상기 루마 샘플들의 제2 세트보다 작은 루마 값들을 가짐 -,
    상기 루마-크로마 샘플들의 제1 쌍들(A, A') 및 상기 루마-크로마 샘플들의 제2 쌍들(B, B')을 통해 선형 함수를 갖는 직선(43)을 피팅하며 - 상기 루마-크로마 샘플들의 제1 쌍들(A, A')은 상기 현재 블록(80, 82, 84)의 상기 이웃의 상기 루마 샘플들의 제1 세트 및 제1 대응하는 크로마 샘플들에 기초하여 결정되고, 상기 루마-크로마 샘플들의 제2 쌍들(B, B')은 상기 현재 블록(80, 82, 84)의 상기 이웃의 상기 루마 샘플들의 제2 세트 및 제2 대응하는 크로마 샘플들에 기초하여 결정됨 -, 그리고
    상기 현재 블록(80, 82, 84)의 루마 샘플들 및 상기 선형 함수를 사용하여 상기 현재 블록(80, 82, 84)의 크로마 샘플들을 예측함으로써,
    상기 현재 블록(80, 82, 84)을 인코딩하도록 이루어지는, 블록-기반 인코딩하기 위한 인코더(10).
  9. 제8항에 있어서,
    상기 현재 블록(80, 82, 84)에 대한 루마 샘플 잔여들을 상기 데이터 스트림(14)으로 인코딩하여, 상기 현재 블록(80, 82, 84)의 루마 샘플들이 예측된 루마 샘플들을 획득하기 위해 인트라 예측 및/또는 인터 예측에 의해 재구성가능하게 하도록 이루어지며,
    상기 예측된 루마 샘플들은 상기 루마 샘플 잔여들을 사용함으로써 보정가능한, 블록-기반 인코딩하기 위한 인코더(10).
  10. 제8항 또는 제9항에 있어서,
    상기 현재 블록(80, 82, 84)의 상기 이웃에서 n>1개의 가장 작은 루마 값들을 발견함으로써 상기 루마 샘플들의 제1 세트를 결정하고, 그리고/또는
    상기 현재 블록(80, 82, 84)의 상기 이웃에서 n>1개의 가장 큰 루마 값들을 발견함으로써 상기 루마 샘플들의 제2 세트를 결정하도록
    이루어지는, 블록-기반 인코딩하기 위한 인코더(10).
  11. 제8항 또는 제9항에 있어서,
    상기 현재 블록(80, 82, 84)의 상기 이웃에서 n=2개의 가장 작은 루마 값들을 발견함으로써 상기 루마 샘플들의 제1 세트를 결정하고, 그리고/또는
    상기 현재 블록(80, 82, 84)의 상기 이웃에서 n=2개의 가장 큰 루마 값들을 발견함으로써 상기 루마 샘플들의 제2 세트를 결정하도록
    이루어지는, 블록-기반 인코딩하기 위한 인코더(10).
  12. 제8항 내지 제11항 중 어느 한 항에 있어서,
    상기 직선(43)을 피팅하여, 상기 직선(43)의 선형 함수를 도출하기 위해 상기 루마-크로마 샘플들의 제1 쌍들(A, A')의 평균(53) 및 상기 루마-크로마 샘플들의 제2 쌍들(B, B')의 평균(54)을 통해 상기 직선(43)이 연장되게 하도록 이루어지는, 블록-기반 인코딩하기 위한 인코더(10).
  13. 제8항 내지 제12항 중 어느 한 항에 있어서,
    상기 선형 함수는 수학식 y=α·x+β에 의해 주어지며,
    상기 α는 상기 직선(43)의 기울기를 표현하는 제1 교차-컴포넌트 선형 모델 파라미터이고, 상기 β는 상기 직선(43)의 오프셋을 표현하는 제2 교차-컴포넌트 선형 모델 파라미터이고,
    상기 인코더(10)는, 상기 선형 함수를 사용하여, 상기 현재 블록(80, 82, 84)의 하나 이상의 루마 샘플들 x에 대해 상기 현재 블록(80, 82, 84)의 적어도 하나의 대응하는 크로마 샘플 y를 예측하도록 추가로 이루어지는, 블록-기반 인코딩하기 위한 인코더(10).
  14. 화상(12')의 화상 데이터를 블록-기반 디코딩하기 위한 방법으로서,
    상기 화상(12')의 현재 블록(80, 82, 84)을 디코딩하는 단계는,
    상기 현재 블록(80, 82, 84)의 이웃에서 루마 샘플들의 제1 세트 및 루마 샘플들의 제2 세트를 결정하는 단계 - 상기 루마 샘플들의 제1 세트는 상기 루마 샘플들의 제2 세트보다 작은 루마 값들을 가짐 -,
    상기 루마-크로마 샘플들의 제1 쌍들(A, A') 및 상기 루마-크로마 샘플들의 제2 쌍들(B, B')을 통해 선형 함수를 갖는 직선(43)을 피팅하는 단계 - 상기 루마-크로마 샘플들의 제1 쌍들(A, A')은 상기 현재 블록(80, 82, 84)의 상기 이웃의 상기 루마 샘플들의 제1 세트 및 제1 대응하는 크로마 샘플들에 기초하여 결정되고, 상기 루마-크로마 샘플들의 제2 쌍들(B, B')은 상기 현재 블록(80, 82, 84)의 상기 이웃의 상기 루마 샘플들의 제2 세트 및 제2 대응하는 크로마 샘플들에 기초하여 결정됨 -, 및
    상기 현재 블록(80, 82, 84)의 루마 샘플들 및 상기 선형 함수를 사용하여 상기 현재 블록의 크로마 샘플들을 예측하는 단계를 포함하는, 블록-기반 디코딩하기 위한 방법.
  15. 화상(12)의 화상 데이터를 블록-기반 인코딩하기 위한 방법으로서,
    상기 화상(12)의 현재 블록(80, 82, 84)을 인코딩하는 단계는,
    상기 현재 블록(80, 82, 84)의 이웃에서 루마 샘플들의 제1 세트 및 루마 샘플들의 제2 세트를 결정하는 단계 - 상기 루마 샘플들의 제1 세트는 상기 루마 샘플들의 제2 세트보다 작은 루마 값들을 가짐 -,
    상기 루마-크로마 샘플들의 제1 쌍들(A, A') 및 상기 루마-크로마 샘플들의 제2 쌍들(B, B')을 통해 선형 함수를 갖는 직선(43)을 피팅하는 단계 - 상기 루마-크로마 샘플들의 제1 쌍들(A, A')은 상기 현재 블록(80, 82, 84)의 상기 이웃의 상기 루마 샘플들의 제1 세트 및 제1 대응하는 크로마 샘플들에 기초하여 결정되고, 상기 루마-크로마 샘플들의 제2 쌍들(B, B')은 상기 현재 블록(80, 82, 84)의 상기 이웃의 상기 루마 샘플들의 제2 세트 및 제2 대응하는 크로마 샘플들에 기초하여 결정됨 -, 및
    상기 현재 블록(80, 82, 84)의 루마 샘플들 및 상기 선형 함수를 사용하여 상기 현재 블록(80, 82, 84)의 크로마 샘플들을 예측하는 단계를 포함하는, 블록-기반 인코딩하기 위한 방법.
  16. 컴퓨터 상에서 실행될 때, 제14항 또는 제15항에 따른 방법을 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램이 저장되어 있는, 컴퓨터 판독가능 디지털 저장 매체.
  17. 제15항에 따른 방법에 의해 획득되는, 데이터 스트림(14).
KR1020217021329A 2018-12-07 2019-12-06 교차-컴포넌트 선형 모델 파라미터들의 계산을 위한 견고성을 향상시키기 위한 인코더, 디코더 및 방법들 KR20210096672A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP18211107.0 2018-12-07
EP18211107 2018-12-07
PCT/EP2019/083999 WO2020115282A1 (en) 2018-12-07 2019-12-06 Encoder, decoder amd methods for enhancing a robustness for calculation of cross-component linear model parameters

Publications (1)

Publication Number Publication Date
KR20210096672A true KR20210096672A (ko) 2021-08-05

Family

ID=64661207

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217021329A KR20210096672A (ko) 2018-12-07 2019-12-06 교차-컴포넌트 선형 모델 파라미터들의 계산을 위한 견고성을 향상시키기 위한 인코더, 디코더 및 방법들

Country Status (9)

Country Link
US (1) US11973961B2 (ko)
EP (1) EP3891976A1 (ko)
JP (2) JP2022514824A (ko)
KR (1) KR20210096672A (ko)
CN (1) CN113396584A (ko)
BR (1) BR112021010886A2 (ko)
MX (1) MX2021006562A (ko)
TW (2) TWI829056B (ko)
WO (1) WO2020115282A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024010430A1 (ko) * 2022-07-07 2024-01-11 주식회사 윌러스표준기술연구소 선형 모델을 이용한 비디오 신호 처리 방법 및 이를 위한 장치

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240029312A1 (en) * 2020-12-04 2024-01-25 Lg Electronics Inc. Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
WO2023039859A1 (zh) * 2021-09-17 2023-03-23 Oppo广东移动通信有限公司 视频编解码方法、设备、系统、及存储介质
WO2023072121A1 (en) * 2021-11-01 2023-05-04 Mediatek Singapore Pte. Ltd. Method and apparatus for prediction based on cross component linear model in video coding system
WO2023087177A1 (en) * 2021-11-17 2023-05-25 Intel Corporation Method and system of video coding with fast low-latency bitstream size control
WO2023097694A1 (zh) * 2021-12-03 2023-06-08 Oppo广东移动通信有限公司 解码方法、编码方法、解码器以及编码器
US20230247215A1 (en) * 2022-01-31 2023-08-03 Tencent America LLC Adaptive parameter selection for cross-component prediction in image and video compression
WO2024007825A1 (en) * 2022-07-07 2024-01-11 Mediatek Inc. Method and apparatus of explicit mode blending in video coding systems

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9288500B2 (en) * 2011-05-12 2016-03-15 Texas Instruments Incorporated Luma-based chroma intra-prediction for video coding
US9693070B2 (en) * 2011-06-24 2017-06-27 Texas Instruments Incorporated Luma-based chroma intra-prediction for video coding
EP2805496B1 (en) * 2012-01-19 2016-12-21 Huawei Technologies Co., Ltd. Reference pixel reduction for intra lm prediction
CN113810691A (zh) * 2015-07-08 2021-12-17 交互数字麦迪逊专利控股公司 用于使用交叉平面滤波的增强色度编码的方法和装置
US10484712B2 (en) * 2016-06-08 2019-11-19 Qualcomm Incorporated Implicit coding of reference line index used in intra prediction
US10652575B2 (en) * 2016-09-15 2020-05-12 Qualcomm Incorporated Linear model chroma intra prediction for video coding
WO2018131838A1 (ko) * 2017-01-11 2018-07-19 엘지전자 주식회사 영상 코딩 시스템에서 인트라 예측에 따른 영상 디코딩 방법 및 장치
US11025903B2 (en) * 2017-01-13 2021-06-01 Qualcomm Incorporated Coding video data using derived chroma mode
US20210067802A1 (en) * 2017-09-26 2021-03-04 Samsung Electronics Co., Ltd. Video decoding method and device using cross-component prediction, and video encoding method and device using cross-component prediction
DK3815377T3 (da) * 2018-07-16 2023-04-03 Huawei Tech Co Ltd Videokoder, videoafkoder og tilsvarende kodnings- og afkodningsfremgangsmåder
US20200025456A1 (en) 2018-07-17 2020-01-23 Haier Us Appliance Solutions, Inc. Rotating heat exchanger with tube coil

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
[1] K. Zhang, J. Chen, L. Zhang, M. Karczewicz, "Enhanced cross-component linear model intra prediction," JVET-D0110, 2016, http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=2806.
[2] G. Laroche, J. Taquet, C. Gisquet, P. Onno, "CE3-5.1: Cross-component linear model simplification," JVET-L0191, 2018, http://phenix.it-sudparis.eu/jvet/doc_end_user/current_document.php?id=4282.
[3] B. Bross, J. Chen, S. Liu, "Versatile Video Coding (Draft 2)," JVET-K1001, ver. 6/7, Sep./Oct. 2018.
[4] Fraunhofer HHI, "VVCSoftware_VTM,"
[5] F. Bossen, J. Boyce, X. Li, V. Seregin, K. Suhring, "JVET common test conditions and software reference configurations for SDR video," JVET-L1010, 2018.
[6] G. Bjøntegaard, "Calculation of average PSNR differences between RD-curves," VCEG-M33, 2001.
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024010430A1 (ko) * 2022-07-07 2024-01-11 주식회사 윌러스표준기술연구소 선형 모델을 이용한 비디오 신호 처리 방법 및 이를 위한 장치

Also Published As

Publication number Publication date
MX2021006562A (es) 2021-08-16
BR112021010886A2 (pt) 2021-08-31
TWI829056B (zh) 2024-01-11
WO2020115282A1 (en) 2020-06-11
TW202044829A (zh) 2020-12-01
EP3891976A1 (en) 2021-10-13
US20210289215A1 (en) 2021-09-16
US11973961B2 (en) 2024-04-30
JP2022514824A (ja) 2022-02-16
TW202243471A (zh) 2022-11-01
TWI754188B (zh) 2022-02-01
CN113396584A (zh) 2021-09-14
JP2023179709A (ja) 2023-12-19

Similar Documents

Publication Publication Date Title
KR20210096672A (ko) 교차-컴포넌트 선형 모델 파라미터들의 계산을 위한 견고성을 향상시키기 위한 인코더, 디코더 및 방법들
JP6719379B2 (ja) オーバーラップエリア内の再構成されたサンプル値のブロックベクトル予測及び推定におけるイノベーション
US10356416B2 (en) Systems and methods of determining illumination compensation status for video coding
CN107710764B (zh) 确定用于视频译码的照明补偿状态的系统及方法
US20190116376A1 (en) Motion vector predictors using affine motion model in video coding
US10477232B2 (en) Search region determination for intra block copy in video coding
KR102258427B1 (ko) 비디오 및 이미지 코딩/디코딩에서의 블록 벡터 예측
JP2019519982A (ja) ビデオコーディングにおける適応ループフィルタ処理における複数のフィルタの混同
KR20210093926A (ko) 비디오 코딩을 위한 삼각형 모션 정보
KR20160110961A (ko) 비대칭 구획을 갖는 인트라 블록 카피 예측 및 인코더측 검색 패턴, 검색 범위 및 구획화 접근법
JP2024059896A (ja) 区分けされたイントラ符号化のコンセプト
JP6271734B2 (ja) サブpuレベル高度残差予測
WO2020260313A1 (en) Decoder, encoder and methods comprising a coding for intra subpartitions
JP2016007055A (ja) 複数のグループに割り当てられた画素を有するブロックをイントラ符号化する方法および装置
EP3777177A1 (en) Apparatus for selecting an intra-prediction mode for padding
CN113906744A (zh) 视频编解码中无损编解码的信令
US20220094925A1 (en) Region based intra block copy
US20230007252A1 (en) Coding Concepts for a Transformed Representation of a Sample Block
WO2023141338A1 (en) Methods and devices for geometric partitioning mode with split modes reordering
KR20210131395A (ko) 인트라 예측 방법 및 장치, 컴퓨터 판독가능 저장 매체

Legal Events

Date Code Title Description
E902 Notification of reason for refusal