KR20210019454A - 비디오 코딩에서의 조명 보상 - Google Patents

비디오 코딩에서의 조명 보상 Download PDF

Info

Publication number
KR20210019454A
KR20210019454A KR1020207036480A KR20207036480A KR20210019454A KR 20210019454 A KR20210019454 A KR 20210019454A KR 1020207036480 A KR1020207036480 A KR 1020207036480A KR 20207036480 A KR20207036480 A KR 20207036480A KR 20210019454 A KR20210019454 A KR 20210019454A
Authority
KR
South Korea
Prior art keywords
current block
parameter
block
value
flag
Prior art date
Application number
KR1020207036480A
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
Priority claimed from EP18306160.5A external-priority patent/EP3618443A1/en
Application filed by 인터디지털 브이씨 홀딩스 인코포레이티드 filed Critical 인터디지털 브이씨 홀딩스 인코포레이티드
Publication of KR20210019454A publication Critical patent/KR20210019454A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing

Landscapes

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

Abstract

픽처의 현재 블록을 디코딩하는 방법이 개시된다. 먼저, 현재 블록의 파라미터와 값의 비교에 응답하여 현재 블록에 대한 적어도 하나의 조명 보상 파라미터가 디코딩된다. 그 후, 액세스된 모션 보상 기준 블록은 적어도 하나의 조명 보상 파라미터에 응답하여 조명에서 보상된다. 마지막으로, 현재 블록은 조명 및 모션 보상된 기준 블록으로부터 재구성된다.

Description

비디오 코딩에서의 조명 보상
본 실시예들은 일반적으로 비디오 인코딩 또는 디코딩을 위한 방법 및 장치에 관한 것으로, 보다 특히, 블록 기반 조명 보상(IC)을 사용한 비디오 인코딩 또는 디코딩을 위한 방법 및 장치에 관한 것이다.
높은 압축 효율을 달성하기 위해, 이미지 및 비디오 코딩 스킴들은 비디오 콘텐츠에서의 공간적 및 시간적 리던던시(spatial and temporal redundancy)를 레버리지(leverage)하기 위해 보통 예측 및 변환을 이용한다. 일반적으로, 인트라 또는 인터 예측은 인트라 또는 인터 프레임 상관을 활용하기 위해 사용되며, 그 다음 종종 예측 에러들 또는 예측 잔차들로 표시되는, 원래의 이미지 블록과 예측된 이미지 블록 사이의 차이들은 변환되고, 양자화되고, 엔트로피 코딩된다. 인코딩 동안, 원래의 이미지 블록은 통상 가능하게는 쿼드 트리 파티셔닝을 사용하여 서브 블록들로 파티셔닝/분할된다. 비디오를 재구성하기 위해, 압축된 데이터는 예측, 변환, 양자화 및 엔트로피 코딩에 대응하는 역 프로세스들에 의해 디코딩된다.
일반적인 양태에 따르면, 픽처의 현재 블록을 디코딩하는 방법이 개시된다. 방법은 다음을 포함한다:
모션 보상된 기준 블록에 액세스하는 단계;
현재 블록의 파라미터와 값의 비교에 응답하여 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 디코딩하는 단계;
적어도 하나의 조명 보상 파라미터에 응답하여 모션 보상 기준 블록의 조명을 보상하는 단계; 및
조명 및 모션 보상된 기준 블록으로부터 현재 블록을 재구성하는 단계.
다른 일반적인 양태에 따르면, 다음을 수행하도록 구성된 하나 이상의 프로세서를 포함하는 장치가 개시된다:
모션 보상된 기준 블록에 액세스하는 것;
현재 블록의 파라미터와 값의 비교에 응답하여 픽처의 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 디코딩하는 것;
적어도 하나의 조명 보상 파라미터에 응답하여 모션 보상 기준 블록의 조명을 보상하는 것; 및
조명 및 모션 보상된 기준 블록으로부터 현재 블록을 재구성하는 것.
다른 일반적인 양태에 따르면, 다음을 포함하는 장치가 개시된다:
모션 보상된 기준 블록에 액세스하는 수단;
현재 블록의 파라미터와 값의 비교에 응답하여 픽처의 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 디코딩하는 수단;
적어도 하나의 조명 보상 파라미터에 응답하여 모션 보상 기준 블록의 조명을 보상하는 수단; 및
조명 및 모션 보상된 기준 블록으로부터 현재 블록을 재구성하는 수단.
다른 일반적인 양태에 따르면, 픽처의 현재 블록을 인코딩하는 방법이 개시된다. 방법은 다음을 포함한다:
모션 보상된 기준 블록에 액세스하는 단계;
현재 블록의 파라미터와 값의 비교에 응답하여 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 인코딩하는 단계;
적어도 하나의 조명 보상 파라미터에 응답하여 모션 보상 기준 블록의 조명을 보상하는 단계; 및
조명 및 모션 보상된 기준 블록으로부터 현재 블록을 인코딩하는 단계.
다른 일반적인 양태에 따르면, 다음을 수행하도록 구성된 하나 이상의 프로세서를 포함하는 장치가 개시된다:
모션 보상된 기준 블록에 액세스하는 것;
현재 블록의 파라미터와 값의 비교에 응답하여 픽처의 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 인코딩하는 것;
적어도 하나의 조명 보상 파라미터에 응답하여 모션 보상 기준 블록의 조명을 보상하는 것; 및
조명 및 모션 보상된 기준 블록으로부터 현재 블록을 인코딩하는 것.
다른 일반적인 양태에 따르면, 다음을 포함하는 장치가 개시된다:
모션 보상된 기준 블록에 액세스하는 수단;
현재 블록의 파라미터와 값의 비교에 응답하여 픽처의 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 인코딩하는 수단;
적어도 하나의 조명 보상 파라미터에 응답하여 모션 보상 기준 블록의 조명을 보상하는 수단; 및
조명 및 모션 보상된 기준 블록으로부터 현재 블록을 인코딩하는 수단.
본 실시예들의 하나 이상은 위에서 설명된 방법들 중 임의의 것의 적어도 일부에 따른 비디오 데이터를 인코딩 또는 디코딩하기 위한 명령어들을 저장하는 컴퓨터 판독가능 저장 매체를 또한 제공한다. 하나 이상의 실시예는 또한 전술한 인코딩 방법들에 따라 생성된 비트스트림을 저장하는 컴퓨터 판독가능 저장 매체를 제공한다. 하나 이상의 실시예는 또한 전술한 인코딩 방법들에 따라 생성된 비트스트림을 송신 또는 수신하는 방법 및 장치를 제공한다. 하나 이상의 실시예는 또한 전술한 방법들 중 임의의 것의 적어도 일부를 수행하기 위한 명령어들을 포함하는 컴퓨터 프로그램 제품을 제공한다.
도 1은 기준 픽처들에서의 L-형상들을 현재 블록의 L-형상과 비교하는 것에 의한 조명 보상 파라미터 도출을 도시한다;
도 2는 재구성된 이웃 샘플 세트(L-shape-cur)를 이러한 이웃 샘플들을 재구성하기 위해 사용되는 예측 샘플들과 비교하는 것에 의한 조명 보상 파라미터 도출을 도시한다;
도 3은 기준 픽처들의 L-형상들을 비교하는 것에 의한 양방향 예측의 경우의 조명 보상 파라미터 도출을 도시한다;
도 4a는 하나의 실시예의 디코딩 방법의 흐름도를 도시한다;
도 4b는 하나의 실시예에 따른 인코딩 방법의 흐름도를 도시한다;
도 5a 및 도 5b는 상이한 실시예들에 따른 디코딩 방법의 일부의 흐름도들을 도시한다;
도 6a는 계층적 픽처 깊이를 도시하는 그림 예이다;
도 6b는 코딩 트리 깊이를 도시하는 그림 예이다;
도 7은 하나의 실시예에 따른 코딩 모드 결정 및 인코딩을 위한 방법의 흐름도를 도시한다;
도 8은 비디오 인코더의 실시예의 블록도를 도시한다;
도 9는 비디오 디코더의 실시예의 블록도를 도시한다; 및
도 10은 본 실시예들의 양태들이 구현될 수 있는 시스템의 블록도를 도시한다.
인터 모드에서, IC는 공간적 또는 시간적 로컬 조명 변화를 고려함으로써 모션 보상(Motion Compensation)(MC)을 통해 획득되는 블록 예측 샘플들을 정정하는 것을 허용한다.
IC 파라미터들은 재구성된 이웃 샘플들을 사용하여 또는 양방향 예측을 위해 2개의 기준 블록의 샘플들을 사용하여 추정될 수 있다. 전통적으로, 현재 코딩 유닛(CU)이 IC를 사용하는지 여부를 표시하기 위해 비트스트림에서 CU마다 플래그가 인코딩된다. 이 플래그는 예를 들어, 병합 모드의 이웃 CU(들)로부터 추론될 수 있다.
적어도 하나의 실시예는 시퀀스, 픽처 또는 슬라이스 헤더에서 시그널링된 일부 조건들에 따라 이 플래그를 인코딩하지 않을 것을 제안한다.
인터 모드에서, IC는 공간적 또는 시간적 로컬 조명 변화를 고려함으로써 모션 보상(Motion Compensation)(MC)을 통해 획득되는 블록 예측 샘플들을 정정하는 것을 허용한다. 일반적으로, IC는 간단한 선형 모델(수학식(1))을 사용하여 MC 기준 샘플들 xi를 수정하고, 여기서, (ai, shi, bi)는 현재 블록과 연관된 기준-i 블록(i=0 또는 1은 전형적으로 단방향 또는 양방향 예측을 가능하게 하는 코덱에 대한 것임)에 대한 IC 파라미터들이다:
Figure pct00001
아래에 개시되는 3개의 방법과 같은 IC 파라미터들을 도출하기 위해 몇몇 방법들이 사용될 수 있다.
제1 방법에서, IC 파라미터들은 도 1에 도시된 바와 같이 재구성된 이웃 샘플 세트 S(L-shape-cur)를 기준-i 블록(i=0 또는 1)의 대응하는 이웃 샘플 세트(L-shape-ref-i)와 비교하는 것에 의해 추정될 수 있다. IC 파라미터들은 IC 파라미터들로 정정된 L-shape-ref-i 내의 샘플들과 L-shape-cur 내의 샘플들 사이의 차이(최소 제곱법)를 최소화함으로써 획득된다(수학식(2)). 전형적으로, 파라미터들 a 및 b는 인코더에서 (및 디코더에서) L-형상들 상에 최소 제곱 최소화를 해결함으로써 도출된다:
Figure pct00002
시프트 (sh)의 값은 (a)의 원하는 수치 정밀도로 결정되는데, 그 이유는 (a, b)가 정수이기 때문이다.
제2 방법에서, IC 파라미터들은 재구성된 이웃 샘플들의 세트 S(L-shape-cur)를 이러한 이웃 샘플들을 재구성하기 위해 사용되는 예측 샘플들과 비교하는 것에 의해 추정될 수 있다. 몇몇 IC 파라미터들은 CU 재구성 프로세스 동안 계산되고, IC가 적용되는 경우 이웃 CU들에 의해 나중에 사용될 맵에 저장된다(도 2). 다수의 이웃이 이용가능할 수 있기 때문에, 인터 이웃들만을 고려하고 예측을 위해 현재 CU와 동일한 기준 프레임들을 사용하는 이웃에 더 높은 우선순위를 부여하기 위해 프루닝(pruning)이 수행된다.
제3 방법에서, 양방향 예측의 경우에 IC 파라미터들의 도출은 재구성된 샘플 이웃들 대신에 2개의 모션 보상된 블록 ref-0 및 ref-1의 샘플들 (x0, x1)에 기초할 수 있다. 이것은 두 단계로 행해질 수 있다. 먼저, ref-1(time-1/poc-1)과 ref-0(time-0/poc-0) 사이의 조명 변화의 IC 시간 모델이 결정된다. Poc는 "픽처 순서 카운트(Picture Order Count)"를 나타낸다. 이것은, 예를 들어, 사용된 샘플 세트 S가 L-shape-ref0 및 L-shape-cur가 아니라 전체 블록 ref-1 및 블록 ref-0이라는 점을 제외하고는, 방법 1에서와 같이 ref-1과 ref-0 사이의 IC 파라미터들(a, b)을 계산함으로써 행해질 수 있다. 다음으로, 블록 ref-0과 현재 블록 사이의 조사를 보상하는 IC 파라미터들 (a0, b0), 및 블록 ref-1과 현재 블록 사이의 조사를 보상하는 IC 파라미터들 (a1,b1)은 둘 다 이 IC 시간적 모델(도 3)로부터 도출된다.
제4 방법에서, 양방향 예측의 경우에 IC 파라미터들의 도출은 고전 RDO(rate-distortion optimization)를 사용하여 이루어지며, (a)에 대한 가능한 값들은 가중치들 및 오프셋들의 미리 결정된 표로부터 선택된다. 가중치의 인덱스(GBi)는 CU 레벨에서 인코딩된다. 변형예에서, 오프셋 (b)는 항상 제로이다. (a) 및 (sh)에 대한 미리 결정된 값들의 예가 표 1에 주어진다. 이 기법은 "일반화된 양방향 예측(generalized bi-prediction)"(GBP)으로도 알려져 있고, IC_Enable_Flag 및 IC_flag는 GBP_Enable_Flag 및 GBP_flag이다.
Figure pct00003
표 1: (a)에 대한 미리 결정된 값들의 예
적어도 하나의 실시예는 IC가 인에이블될 때 코딩 비용 증가를 제한한다. 이것은 플래그, 예를 들어, IC_Enable_Flag에 의해 시퀀스 및/또는 픽처/슬라이스 헤더에서 표시될 수 있다. IC가 인에이블될 때(IC_Enable_Flag가 참이거나 1과 동일함), IC 플래그(예를 들어, IC_flag)가 CU당 비트스트림에서 인코딩되어 IC가 현재 CU에 적용되는지 여부를 표시한다. 예로서, IC_flag가 참과 동일하거나 1과 동일한 경우, IC는 현재 CU에 적용된다. 그렇지 않으면(IC_flag가 거짓과 동일하거나 0과 동일하면), IC는 현재 CU에 적용되지 않는다. 이것은 결과적으로 코딩 비용을 증가시킨다.
적어도 하나의 실시예는 시퀀스에서의 조명 변화가, 예를 들어, 플래시들로 인해, 단지 몇몇 픽처들로 제한되는 경우에 코딩 비용 증가를 제한한다. 실제로, IC는 이러한 픽처들이 재구성 프로세스에서 기준들로서 사용될 때 효율적일 수 있지만, 픽처들에 조명 변화가 없다면 덜 효율적일 수 있다(또는 효율적이지 않을 수 있다).
IC 플래그의 코딩 비용을 감소시키기 위해, 1비트(또는 플래그)가 시퀀스 또는 슬라이스 헤더에서 IC가 현재 슬라이스 또는 현재 픽처에 대해 인에이블되는지를 시그널링할 수 있다. 그러나, 현재 픽처가 여러 기준 픽처들을 사용하고 이러한 기준 픽처들 중 하나만이 현재 픽처에 비해 조명 변화를 갖는다면, IC 플래그의 코딩은 역효과를 낳는다. 실제로, IC 플래그는 현재 픽처에 비해 조명 변화가 없는 다른 기준 픽처들을 사용하여 단방향으로 예측되는 CU에 대해 코딩될 필요가 있다. 이 후자의 경우, 코딩된 IC 플래그는 거의 항상 거짓이기 때문에 코딩 비용은 불필요하게 증가한다. 반대로, 슬라이스 헤더가 IC가 디스에이블됨을 나타내는 경우, 이는 조명 변화가 있는 기준 픽처를 사용하는 CU에 대한 코딩 효율을 감소시킬 것이다.
IC 플래그의 존재에 대한 일부 조건들이 추가될 수 있다. 예를 들어, IC 플래그는 병합(Merge) 모드의 경우에는 코딩되지 않지만 이웃 CU로부터 상속된다. 이러한 조건들은 또한 현재 CU의 크기 및 이웃들에 의해 사용되는 코딩 모드에 의존할 수 있다. 이러한 조건들은 전체 시퀀스 및 모든 슬라이스들에 대해 적용될 수 있다.
적어도 하나의 제1 실시예는 시퀀스, 픽처 또는 슬라이스 헤더에서 일부 조건들을 비트스트림 내의 CU 레벨에서의 IC 플래그의 존재에 시그널링하는 것을 제안한다. 조건들은 슬라이스(예를 들어, 슬라이스 헤더)마다, 픽처(예를 들어, 픽처 헤더)마다, 픽처 그룹(예를 들어, 픽처 파라미터 세트 - PPS)마다 또는 시퀀스(예를 들어, 시퀀스 헤더 또는 시퀀스 파라미터 세트 - SPS)마다 변할 수 있다.
적어도 하나의 제2 실시예에서, 조건들은 인터-예측에 사용되는 기준 픽처들과 관련될 수 있다. 적어도 하나의 제2 실시예에서, IC 플래그의 존재 및/또는 적용은 컴포넌트(예를 들어, 루마에만 인에이블되고, 크로마에 대해 디스에이블되는 IC), 기준 인덱스(들) 값들, CU 크기, CU 깊이(코딩 트리 깊이라고도 명명됨), 픽처 계층적 깊이 또는, 시간적 id로서 또한 알려진 픽처 시간적 표시자(예를 들어, HEVC에서 "nuh_temporal_id_plus1")와 같은, 다른 CU 파라미터에 의존하고 있다. 계층적 픽처 깊이 D의 픽처의 코딩 유닛은 모드 "인터"로 코딩되고, 그의 예측은 DR < D만을 갖는 계층적 픽처 깊이 DR을 갖는 재구성된 픽처들로부터의 기준 샘플들로 구축될 수 있다. 예를 들어, 계층적 픽처 깊이는 픽처의 시간적 id일 수 있다.
제1 및 제2 실시예들은 개별적으로 조합되거나 적용될 수 있다. 제1 실시예 없이 제2 실시예를 적용하는 것은 비트스트림에서(예를 들어, 시퀀스, 픽처 또는 슬라이스 헤더에서) 암시적으로 또는 명시적으로 시그널링될 수 있다.
도 4a는 하나의 실시예의 디코딩 방법의 흐름도를 도시한다.
이 방법은 단계 S40에서 시작한다. 디코딩 장치, 즉, 도 9에 도시된 것은 모션 보상된 기준 블록에 액세스한다(S42). 디코딩 장치는 디코딩될 현재 블록에 대한 적어도 하나의 조명 보상 파라미터, 예를 들어, IC_Flag를 비트스트림으로부터 디코딩한다(S44). 적어도 하나의 조명 보상 파라미터는 하나 이상의 조건에 따라 디코딩된다. 몇몇 실시예들은 도 5a, 도 5b, 도 6a 및 도 6b와 관련하여 개시된다.
실시예에서, 적어도 하나의 조명 보상 파라미터는 상기 현재 블록의 파라미터, 예를 들어, CU의 크기와 값의 비교에 응답하여 디코딩된다. 실시예에서, 적어도 하나의 조명 보상 파라미터는 상기 현재 블록의 파라미터가 조건, 예를 들어, 그것이 주어진 값보다 높거나, 동일하거나, 낮은 것을 검증하는 경우에만 디코딩된다.
모션 보상 기준 블록은 가능하게는 적어도 하나의 조명 보상 파라미터에 응답하여 조명에서 보상된다(S46). 하나의 실시예에서, IC_Flag가 참인 경우, 모션 보상 기준 블록은 조명에서 보상된다. 그렇지 않으면(IC_Flag가 거짓), 모션 보상 기준 블록은 조명에서 보상되지 않는다.
현재 블록은 가능하게는 조명에서 또한 보상된 모션 보상된 기준 블록으로부터 재구성된다(S48). 이를 위해, 잔차 블록이 비트스트림으로부터 디코딩되고 (역 양자화 및 역 변환 후에) 모션 및 조명 보상된 블록에 추가된다.
방법은 S50에서 종료된다.
도 4b는 하나의 실시예에 따른 인코딩 방법의 흐름도를 도시한다.
이 방법은 단계 S52에서 시작한다. 인코딩 장치, 즉 도 8에 도시된 것은 모션 보상된 기준 블록에 액세스한다(S54).
인코딩 장치는 인코딩될 현재 블록에 대한 적어도 하나의 조명 보상 파라미터, 예를 들어, IC_Flag를 비트스트림에서 인코딩한다(S56). 적어도 하나의 조명 보상 파라미터는 하나 이상의 조건에 따라 인코딩된다. 몇몇 실시예들은 도 5a, 도 5b, 도 6a 및 도 6b와 관련하여 개시된다.
실시예에서, 적어도 하나의 조명 보상 파라미터는 상기 현재 블록의 파라미터, 예를 들어, CU의 크기와 값의 비교에 응답하여 인코딩된다. 실시예에서, 적어도 하나의 조명 보상 파라미터는 상기 현재 블록의 파라미터, 예를 들어, CU의 크기가 조건, 예를 들어, CU 크기가 주어진 값보다 더 높거나, 동일하거나, 더 낮은 것을 검증하는 경우에만 인코딩된다.
모션 보상 기준 블록은 가능하게는 적어도 하나의 조명 보상 파라미터에 응답하여 조명에서 보상된다(S58). 하나의 실시예에서, IC_Flag가 참인 경우, 모션 보상 기준 블록은 조명에서 보상된다. 그렇지 않으면(IC_Flag가 거짓), 모션 보상 기준 블록은 조명에서 보상되지 않는다.
현재 블록은 가능하게는 조명에서 또한 보상된 모션 보상된 기준 블록으로부터 인코딩된다(S60). 이 목적을 위해, 잔차 블록은 현재 블록으로부터 모션 및 조명 보상된 블록을 감산함으로써 획득된다. 잔차 블록은 비트스트림에서 엔트로피 코딩되기 전에 양자화되고 변환된다.
방법은 S62에서 종료된다.
인코더 측 및 디코더 측 둘 다에 적용되는 하나의 실시예에서, 조건은 인터 예측에 사용되는 기준 픽처들과 관련된다. 슬라이스 헤더(도 5a의 600)에서, 플래그 세트는 인에이블된 IC(IC 플래그는 참으로 설정됨)로 코딩된 CU에 사용될 수 있는 기준 인덱스들(ref_idx)의 세트를 표시한다. 현재 CU에 대해 모드가 디코딩된다(610).
예를 들어, 현재 슬라이스가 list-0(L0)에서 2개의 기준 픽처를 갖고 list-1(L1)에서 2개의 기준 픽처를 갖는 경우, 각각의 기준에 대해 하나씩 슬라이스 헤더에서 4개의 플래그(flag_Li_Rj)가 코딩된다(표 2 참조):
표 2: 4개의 플래그 "flag_Li_Rj"가 코딩된 예.
Figure pct00004
- "flag_Li_Rj=1"은, 리스트 Li에 대해 ref_idx=Rj를 사용하는 인터 모드에서의 적어도 하나의 CU가 1과 동일한 코딩된 IC_flag를 갖는다는 것을 표시한다. 리스트 Li에 대해 ref_idx=Rj일 때, IC_flag는 코딩된다(650,660).
- "flag_Li_Rj=0"은 1과 동일한 IC_flag 코딩된 값을 갖는 리스트 Li에 대해 ref_idx=Rj를 사용하는, 인터 모드에서의 CU가 없음을 표시한다. 결과적으로, 하나의 CU가 리스트 Li에 대해 ref_idx=Rj를 사용하는 경우(630), IC_flag는 코딩되지 않는데, 즉 비트스트림에 존재하지 않으며(640), IC_flag의 값은 제로인 것으로 추론된다(도 5a의 660 참조).
변형예에서, 플래그 "flag_Li_Rj"가 코딩되지 않는다. 이 경우, 기준 픽처 인덱스(L0 또는 L1)가 리스트의 첫 번째, 즉 ref_idx=0인 경우에만, IC_flag가 비트스트림에 존재한다.
방법은 슬라이스 내의 CU들에 대해 루프한다.
변형예에서, "flag_Li_Rj"의 값들은, 병합 및/또는 스킵 모드들에서 제외하고, 인터 모드에서 코딩된 모든 CU를 컨디셔닝한다(620). 예를 들어, CU가 병합 모드에서 코딩되고 리스트 Li에 대해 ref_idx=Rj이고 flag_Li_Rj=0인 경우, IC_flag는 여전히 코딩된다.
또 다른 변형예에서, "flag_Li_Rj"의 값들은 단지 양방향 예측에서 코딩된 모든 CU를 컨디셔닝한다. 변형예에서, 슬라이스 헤더에서 코딩되는 4개의 플래그(flag_Ri_Rj)는 ref_idx 값들의 조합에 대응한다(표 3 참조):
표 3: 4개의 플래그 "flag_Ri_Rj"가 코딩된 예.
Figure pct00005
- "flag_Ri_Rj=1"은, 리스트 0에 대하여 ref_idx=Ri 및 리스트 1에 대하여 ref_idx=Rj를 사용하는 인터 모드에서의 적어도 하나의 CU가 1과 동일한 코딩된 IC_flag를 갖는다는 것을 나타낸다. 리스트 0에 대해 ref_idx=Ri이고 리스트 1에 대해 ref_idx=Rj일 때, IC_flag가 코딩된다(650,660).
- "flag_Ri_Rj=0"은 리스트 0에 대해 ref_idx=Ri 및 리스트 1에 대해 ref_idx=Rj를 사용하고 코딩된 IC_flag가 1과 동일한 인터 모드에 CU가 없음을 표시한다. 결과적으로, 하나의 CU가 리스트 0에 대해 ref_idx=Ri를 갖고 리스트 1에 대해 ref_idx=Rj를 갖는다면(630), IC_flag는 코딩되지 않고(640), IC_flag의 값은 제로인 것으로 추론된다(도 5a의 660 참조).
이 실시예는 ref_idx[0] 및 ref_idx[1]이 JVET 기준 소프트웨어(JEM)에서와 같이 IC_flag 전에 코딩될 때 적용된다.
변형예에서, ref_idx[0] 및 ref_idx[1] 중 적어도 하나가 논-제로이면 IC_flag는 항상 제로이다. 이 경우, IC_flag가 ref_idx[0] 및 ref_idx[1] 이전에 파싱되고, IC_flag가 참이면, ref_idx[0] 및 ref_idx[1]은 코딩되지 않고 둘 다 제로인 것으로 추론된다.
다른 변형예에서, 신택스 요소들 ref_idx[0] 및 ref_idx[1]이 먼저 코딩되지만, ref_idx[0] 및 ref_idx[1] 중 적어도 하나가 논-제로일 경우, IC_flag는 코딩되지 않고 제로와 동일한 것으로 추론될 수 있다.
다른 실시예에서, 조건은 CU 크기와 관련된다. 슬라이스 또는 픽처(예를 들어, PPS) 헤더에서, 최소(또는 최대) CU 크기(예를 들어, 폭, 높이, 폭 및 높이, 폭/CTU 크기, log2(폭) 등...)를 나타내는 하나 또는 수 개의 값들이 코딩되고, CU 파라미터들의 파싱 동안 IC_flag가 현재 CU에 대해 존재하는지 여부를 결정하는 데 추가로 사용된다(도 5b 참조). 도 5b에서, 도 5a의 모듈들과 동일한 모듈은 동일한 참조 번호들로 식별된다.
예를 들어, 조건이 CUsize=16이면, IC_flag는, CU 크기가 CUsize보다 우수한(또는 열등한) 경우에만, 비트스트림에서 코딩된다, 즉 비트스트림에서 존재한다(635). 그렇지 않으면, IC_flag는 제로와 동일한 것으로 추론된다. CU의 폭 및/또는 CU의 높이가 CUsize보다 클 때, CU 크기는 CUsize보다 큰 것으로 간주된다. 변형예에서, 블록의 CU 크기는 MIN(cuWidth, cuHeight) 또는 MAX(cuWidth, cuHeight)와 동일할 수 있다. CUsize는 SPS, PPS 또는 슬라이스 헤더에서 코딩될 수 있다.
실제로, IC의 이익은 더 큰 크기의 CU들에 대해 더 높다. 비트들은 작은 크기의 CU들에 대해 IC_flag를 코딩하지 않음으로써 절약된다. 추가적으로, 계층적 코딩(도 6a)의 경우에, 하위 계층(계층적 픽처 깊이 또는 시간적 id의 높은 값)의 B 슬라이스들은 일반적으로 상위 계층(계층적 픽처 깊이 또는 시간적 id의 낮은 값)의 슬라이스들과 비교하여 매우 적은 비트들로 코딩된다. 예를 들어, 도 6a에서, 픽처 3의 B 슬라이스들은 일반적으로 픽처 4의 B 슬라이스들보다 적은 비트들로 코딩된다. 따라서, 예를 들어 CU에 대한 IC_flag의 존재를 CU가 속하는 슬라이스의 픽처 계층적 깊이로 컨디셔닝함으로써 또는 CU 크기에 대한 조건을 픽처 계층적 깊이에 적응시킴으로써 코딩 효율이 개선될 수 있다.
이 목적을 위해, 하나의 실시예에서, IC_flag는 픽처 계층 깊이가 정의된 값보다 낮은 픽처들에 속하는 CU에 대한 비트스트림에 존재한다(즉, 코딩되고 디코딩된다). 이 정의된 값은 비트스트림에서, 예를 들어, SPS(sequence header) 또는 PPS(picture header)에서 코딩될 수 있다.
변형예에서, 픽처의 계층적 깊이(도 6a)가 값(예를 들어, 정의된 임계값)보다 작을 때, IC는 이 픽처에 속하는 현재 슬라이스에서 인에이블되고(예를 들어, IC_Enable_Flag가 참임) IC 플래그는 CU 레벨에 존재한다.
다른 변형예에서, 픽처의 계층적 깊이(도 6a)가 값(예를 들어, 정의된 임계값)보다 큰 경우, IC는 이 픽처에 속하는 현재 슬라이스에서 인에이블되고(예를 들어, IC_Enable_Flag가 참임), IC_flag는, CU 크기가 CUsize보다 큰 경우 CU 레벨에서 비트스트림에 존재한다.
다른 변형예에서, IC_Enable_Flag가 참일 때, "CUsize"의 값은 계층적 픽처 깊이 s3의 함수이다(예를 들어, s3<3이면 CUsize=16이고 s3>=3이면 CUsize=32임). 픽처의 계층적 깊이(도 6a)가 값 T(예를 들어, 정의된 임계값)보다 더 클 때(또는 더 작을 때), IC는 이 픽처에 속하는 현재 슬라이스에서 인에이블되고(예를 들어, 참으로 추론된 IC_Enable_Flag), IC_flag는 CU 크기가 CUsize(T)보다 큰 경우에 CU 레벨에서 비트스트림에 존재한다. 예로서, CUsize(T)는 T의 증가 함수이다. T의 값은 SPS 또는 PPS에서 코딩될 수 있다.
다른 실시예에서, 현재 CU가 값 S보다 큰 코딩 트리 깊이를 가질 경우, IC 플래그는 코딩되지 않지만 제로로 추론된다. S는 SPS, PPS 또는 슬라이스 헤더에서 코딩될 수 있다. 코딩 트리 깊이(CU 깊이라고도 함)는 도 6b에 도시된 바와 같이 그것이 속하는 코딩 트리 내의 코딩 유닛의 깊이를 지칭한다.
이하에서는, 현재 CU 리프에 도달될 때까지 분할의 수를 "CU 깊이"라고 한다.
도 5a, 도 5b, 도 6a 및 도 6b와 관련하여 개시된 모든 실시예들은 인코딩 및 디코딩 측 둘다에 적용된다.
인코더 측에서 적용되는 다른 실시예에서, 조건 파라미터들의 결정이 도 7에 도시된다. 전통적으로, 인코더 프로세스는 2개의 주요 스테이지로 분할될 수 있다:
1) 모든 CU들에 대한 코딩 모드들의 결정(710, 720 참조):
각각의 코딩 모드는 코딩 비용을 계산함으로써 평가된다(710). 통상적으로, 코딩 비용은 예컨대, 라그랑주(Lagrangian)와 같이 CU를 코딩하기 위해 사용되는 비트들의 수 및 왜곡의 함수이다. 코딩 비용이 더 낮은 코딩 모드(715)가 마지막으로 선택되고(720) 다음으로 현재 CU를 인코딩하기 위해 사용될 것이다(760).
2) 비트스트림들의 엔트로피 코딩 및 구축(750, 760, 780 참조):
조건 파라미터들은 (745)에서 업데이트되고 비트-스트림들에서 인코딩된다(750). 각각의 CU에 대해, (720)에서 선택된 코딩 모드를 포함하는 코딩 파라미터들은 비트스트림에서 코딩된다(760). 조건 파라미터들이 IC_flag가 존재함을 표시하는 경우, IC_flag의 값이 코딩된다(780).
이 2개의 스테이지는 순차적으로(슬라이스/픽처에서의 모든 CU들에 대해 스테이지 1 및 슬라이스/픽처에서의 모든 CU들에 대해 다음 스테이지 2) 구현되거나 또는 함께 네스팅될 수 있다(스테이지 1 및 스테이지 2가 각각의 CU에 대해 네스팅됨). (네스팅되거나 또는 네스팅되지 않는) 모든 경우들에서 이전 슬라이스들/픽처들의 통계가 누적되고 현재 슬라이스/픽처에 대해 이용가능하게 된다. 먼저 (700), 조건 파라미터들은 디폴트 값들로 리셋되고, 즉 IC_flag 코딩 조건들에 대한 제한이 없다. 예를 들어, 이것은 표 2 또는 표 3에서의 모든 플래그들을 1과 동일하게 설정하는 것에 대응한다.
제1 스테이지(코딩 모드들의 결정)에서, 조건 파라미터들의 통계가 수집된다. 예를 들어, 양방향 예측에서, IC_flag가 1과 동일하고 ref_idx[L0] 및 ref_idx[L1] 둘 다가 제로와 동일한 CU들의 수가 카운트된다(count_00)(표 4 참조).
표 4: 양방향 예측 기준 인덱스들이 카운팅되는 예(통계).
Figure pct00006
이 스테이지에서, 조건 플래그들이 디폴트로 리셋되었기 때문에, IC_flag는 인터 모드에서 코딩된 CU에 대해 항상 존재한다(730). 변형예에서, IC_flag는 항상 존재하고, 단계 (730)은 병합 및 스킵 경우들을 제외하고 인터 모드에서 코딩된 CU에 대해 항상 참이다.
다음으로, 조건 플래그는 수집된 통계(740)에 의존하는 값들로 설정된다(745). 예를 들어, count_ij가 제로이면 flag_Ri_Rj의 값은 제로로 설정되고, count_ij가 > 0이면 1로 설정된다.
제2 스테이지(비트스트림 코딩)에서, 각각의 CU에 대해, 조건 플래그들이 IC_flag가 존재함을 표시하는 경우(770) IC_flag가 코딩되고, 그렇지 않은 경우, 제로로 추론된다(코딩되지 않음). 예를 들어, ref_idx[L0]=0이고 ref_idx[L1]=0이고 flag_R0_R0=0이면, IC_flag는 코딩되지 않는다. ref_idx[L0]=0이고 ref_idx[L1]=0이고 flag_R0_R0=1이면, IC_flag가 코딩된다.
후속 슬라이스들에 대해, 이전 슬라이스(PS) 또는 이전 픽처에 대해 수집된 통계들은 스테이지 1에서 "IC 플래그"의 존재를 도출하기 위해 사용될 수 있다(735). 유리하게는, 현재의 슬라이스 계층적 깊이(또는 시간적 id)보다 낮은 계층적 깊이(또는 시간적 id)를 갖는 이전의 슬라이스들에 가장 근접한(현재의 슬라이스의 "poc"와 "poc" 값의 가장 작은 차이) PS를 선택할 수 있다.
PS에서 인에이블된 IC를 갖는 CU들 또는 샘플들의 수가 임계값보다 낮으면, 스테이지 1에서 현재 슬라이스에 대해 IC 플래그가 디스에이블된다. 변형예에서, PS에서 IC를 인에이블링하는 것 대 PS에서 IC를 디스에이블하는 것의 추정된 BD-레이트 이득이 임계값보다 낮으면, IC 플래그는 스테이지 1에서 현재 슬라이스에 대해 디스에이블된다.
이러한 문서는 도구들, 특징들, 실시예들, 모델들, 접근법들 등을 포함하는, 다양한 양태들을 설명한다. 다수의 이 양태들은 특별한 점을 설명하고, 적어도 개별 특성들을 보여주기 위해, 제한하는 것일 수 있는 방식으로 종종 설명된다. 그러나, 이는 설명의 명료함을 위한 것이고, 그들 양태들의 적용 또는 범위를 제한하지 않는다. 실제로, 추가의 양태들을 제공하기 위해 상이한 양태들 모두가 결합되고 교환될 수 있다. 더구나, 양태들은 이전의 출원들에서 설명된 양태들과 결합되고 교환될 수 있다.
이 문서에서 설명되고 구상되는 양태들은 많은 상이한 형태들로 구현될 수 있다. 도 8, 도 9 및 도 10은 일부 실시예들을 아래에 제공하지만, 다른 실시예들이 구상되고 도 8, 도 9 및 도 10의 논의는 구현들의 범위를 제한하지 않는다. 양태들 중 적어도 하나는 대체로 비디오 인코딩 및 디코딩에 관한 것이고 적어도 하나의 다른 양태는 대체로 생성되거나 또는 인코딩된 비트스트림을 송신하는 것에 관한 것이다. 이들 및 다른 양태들은 방법, 장치, 설명된 방법들 중 임의의 것에 따른 비디오 데이터를 인코딩 또는 디코딩하기 위한 명령어들을 저장하는 컴퓨터 판독가능 저장 매체, 및/또는 설명된 방법들 중 임의의 것에 따라 생성된 비트스트림을 저장하는 컴퓨터 판독가능 저장 매체로서 구현될 수 있다.
본 출원에서, "재구성된" 및 "디코딩된"이란 용어들은 교환적으로 사용될 수 있으며, "픽셀" 및 "샘플"이란 용어들은 교환적으로 사용될 수 있으며, "이미지", "픽처" 및 "프레임"이란 용어들은 교환적으로 사용될 수 있다. 필수적은 아니지만 통상적으로, 용어 "재구성된"은 인코더 측에서 사용되는 한편, "디코딩된"은 디코더 측에서 사용된다.
다양한 방법들이 본 명세서에서 설명되었고, 방법들 각각은 설명된 방법을 달성하기 위한 하나 이상의 단계 또는 동작들을 포함한다. 방법의 적절한 동작을 위해 단계들 또는 동작들의 특정 순서가 요구되지 않으면, 특정 단계들 및/또는 동작들의 순서 및/또는 사용은 수정되거나 결합될 수 있다.
본 문서에서 설명되는 다양한 방법들 및 다른 양태들은 도 8 및 도 9에 도시된 바와 같이 비디오 인코더(100) 및 디코더(200)의 모듈들, 예를 들어, 조명 보상 모듈들(190, 290), 엔트로피 코딩, 및/또는 디코딩 모듈들(230, 145)을 수정하기 위해 사용될 수 있다. 더구나, 현재의 양태들은 VVC 또는 HEVC로 제한되지 않고, 예를 들어, 미리 존재하든 또는 장래에 개발되든 간에, 다른 표준들 및 권고들과, (VVC 및 HEVC를 포함한) 임의의 이러한 표준들 및 권고들의 확장들에 적용될 수 있다. 달리 표시되거나, 또는 기술적으로 배제되지 않는 한, 이 문서에서 설명되는 양태들은 개별적으로 또는 조합하여 사용될 수 있다.
다양한 수치 값들이 본 문서에서 사용된다. 특정 값들은 예시적인 목적들을 위한 것이고 설명되는 양태들은 이러한 특정 값들로 제한되지는 않는다.
도 8은 인코더(100)를 도시한다. 이 인코더(100)의 변형들이 구상되지만, 모든 예상되는 변동들을 설명하지 않고 인코더(100)는 명료함을 위해 아래에서 설명된다.
인코딩되기 전에, 비디오 시퀀스는 프리 인코딩 처리(101), 예를 들어, 입력 컬러 픽처에 컬러 변환을 적용하는 것(예를 들어, RGB 4:4:4로부터 YCbCr 4:2:0로의 변환), 또는 (예를 들면 컬러 컴포넌트들 중 하나의 컬러 컴포넌트의 히스토그램 등화를 사용하여) 압축에 더 탄력적인 신호 분산을 얻기 위하여 입력 픽처 컴포넌트들의 리매핑을 수행하는 것을 겪을 수 있다. 메타데이터는 전-처리(pre-processing)에 연관되고, 비트스트림에 부착된다.
인코더(100)에서, 픽처는 아래에서 설명되는 바와 같이 인코더 요소들에 의해 인코딩된다. 인코딩될 픽처는 예를 들어, CU 유닛으로 파티셔닝되고(102) 처리된다. 각각의 유닛은 예를 들어, 인트라 또는 인터 모드를 사용하여 인코딩된다. 유닛이 인트라 모드에서 인코딩될 때, 이는 인트라 예측(160)을 수행한다. 인터 모드에서, 모션 추정(175) 및 모션 보상(170) 및 조명 보상(190)이 수행된다. 인코더는 유닛을 인코딩하기 위해 사용할 인트라 모드 또는 인터 모드 중 하나를 결정(105)하고, 예를 들어, 예측 모드 플래그에 의해 인트라/인터 결정을 표시한다. 예측 잔차들은, 예를 들어, 원래의 이미지 블록에서 예측된 블록을 감산함으로써(110) 계산된다.
예측 잔차들이 이어서 변환되고(125) 양자화된다(130). 양자화된 변환 계수들뿐만 아니라 모션 벡터들 및 다른 신택스 요소들은 비트스트림을 출력하도록 엔트로피 코딩된다(145). 더 구체적으로, 모듈(145)은 도 7에서 상세히 설명된다. 인코더는 변환을 건너 뛰고 비변환된 잔차 신호에 직접 양자화를 적용할 수 있다. 인코더는 변환 및 양자화 둘 다를 건너 뛸 수 있으며, 즉, 잔차는 변환 또는 양자화 프로세스들의 적용 없이 직접 코딩될 수 있다.
인코더는 추가적 예측들을 위한 기준을 제공하기 위해 인코딩된 블록을 디코딩한다. 예측 잔차들을 디코딩하기 위해, 양자화된 변환 계수들은 역 양자화되고(140) 역 변환된다(150). 디코딩된 예측 잔차들 및 예측된 블록을 결합하면(155), 이미지 블록이 재구성된다. 인-루프 필터들(165)은, 예를 들어, 인코딩 아티팩트들을 줄이기 위한 블록화제거(deblocking)/SAO(Sample Adaptive Offset) 필터링을 수행하기 위해 재구성된 픽처에 적용된다. 필터링된 이미지는 기준 픽처 버퍼(180)에 저장된다.
도 9는 비디오 디코더(200)의 블록도를 도시한다. 디코더(200)에서, 비트스트림은 아래에서 설명되는 바와 같이 디코더 요소들에 의해 디코딩된다. 비디오 디코더(200)는 도 8에 설명된 바와 같은 인코딩 과정에 역인 디코딩 과정을 일반적으로 수행한다. 인코더(100)는 비디오 데이터를 인코딩하는 부분으로서 비디오 디코딩을 또한 일반적으로 수행한다.
특히, 디코더의 입력은 비디오 인코더(100)에 의해 생성될 수 있는 비디오 비트스트림을 포함한다. 비트스트림은, 변환 계수들, 모션 벡터들 및 다른 코딩된 정보를 획득하기 위해 먼저 엔트로피 디코딩된다(230). 더 구체적으로, 모듈(230)의 일부는 도 5a에서 상세히 설명된다.
픽처 파티션 정보는 픽처가 파티셔닝되는 방법을 표시한다. 디코더는 그러므로 디코딩된 픽처 파티셔닝 정보에 따라 픽처를 분할할 수 있다(235). 예측 잔차들을 디코딩하기 위해, 변환 계수들은 역 양자화되고(240) 역 변환된다(250). 디코딩된 예측 잔차들 및 예측된 블록을 조합하면(255), 이미지 블록이 재구성된다. 예측된 블록은 인트라 예측(260) 또는 모션 및 조명 보상된 예측(즉, 인터 예측)(275, 290)으로부터 획득될 수 있다(270). 조명 보상 모듈(190)(인코더) 및 조명 보상 모듈(290)(디코더)은 동일하다는 점에 유의한다. 인-루프 필터들(265)은 재구성된 이미지에 대해 적용된다. 필터링된 이미지는 기준 픽처 버퍼(280)에 저장된다.
디코딩된 픽처는 포스트 디코딩 처리(285), 예를 들어, 역 컬러 변환(예를 들어, YCbCr 4:2:0부터 RGB 4:4:4로의 변환) 또는 프리 인코딩 처리(101)에서 수행되는 리매핑 프로세스의 역을 수행하는 역 리매핑을 추가로 겪을 수 있다. 포스트 디코딩 처리는 프리 인코딩 처리에서 도출되고 비트스트림에서 시그널링되는 메타데이터를 사용할 수 있다.
도 10은 다양한 양태들 및 실시예들이 구현되는 시스템의 예의 블록도를 도시한다. 시스템(1000)은 아래에서 설명되는 다양한 컴포넌트들을 포함하는 디바이스로서 실시될 수 있고 이 문서에서 설명되는 양태들의 하나 이상을 수행하도록 구성된다. 그러한 디바이스들의 예는 개인용 컴퓨터들, 랩톱 컴퓨터들, 스마트폰들, 태블릿 컴퓨터들, 디지털 멀티미디어 셋톱 박스들, 디지털 텔레비전 수신기들, 개인 비디오 기록 시스템들, 접속된 가전 기기들, 및 서버들과 같은 다양한 전자 디바이스들을 포함하지만 이에 한정되지는 않는다. 시스템(1000)의 요소들은, 단독으로 또는 조합하여, 단일 집적 회로, 다중의 IC, 및/또는 개별 컴포넌트들로 구현될 수 있다. 예를 들어, 적어도 하나의 실시예에서, 시스템(1000)의 처리 및 인코더/디코더 요소들은 다중의 IC 및/또는 개별 컴포넌트들에 걸쳐 분산된다. 다양한 실시예들에서, 시스템(1000)은, 예를 들어, 통신 버스를 통해 또는 전용 입력 및/또는 출력 포트들을 통해 다른 유사한 시스템들, 또는 다른 전자 디바이스들에 통신가능하게 결합된다. 다양한 실시예들에서, 시스템(1000)은 본 문서에서 설명된 양태들 중 하나 이상을 구현하도록 구성된다.
시스템(1000)은, 예를 들어, 본 문서에 설명된 다양한 양태들을 구현하기 위해, 그 안에 로딩된 명령어들을 실행하도록 구성된 적어도 하나의 프로세서(1010)를 포함한다. 프로세서(1010)는 내장된 메모리, 입력 출력 인터페이스, 및 본 기술분야에 공지된 다양한 다른 회로들을 포함할 수 있다. 시스템(1000)은 적어도 하나의 메모리(1020)(예를 들어, 휘발성 메모리 디바이스 및/또는 비휘발성 메모리 디바이스)를 포함한다. 시스템(1000)은 EEPROM, ROM, PROM, RAM, DRAM, SRAM, 플래시, 자기 디스크 드라이브, 및/또는 광학 디스크 드라이브를 포함하지만 이에 한정되지 않는 비휘발성 메모리 및/또는 휘발성 메모리를 포함할 수 있는 저장 디바이스(1040)를 포함한다. 저장 디바이스(1040)는 비제한적인 예들로서, 내부 저장 디바이스, 부착된 저장 디바이스, 및/또는 네트워크 액세스가능 저장 디바이스를 포함할 수 있다.
시스템(1000)은, 예를 들어, 인코딩된 비디오 또는 디코딩된 비디오를 제공하기 위해 데이터를 처리하도록 구성된 인코더/디코더 모듈(1030)을 포함하고, 인코더/디코더 모듈(1030)은 그 자신의 프로세서 및 메모리를 포함할 수 있다. 인코더/디코더 모듈(1030)은 인코딩 및/또는 디코딩 기능들을 수행하기 위해 디바이스에 포함될 수 있는 모듈(들)을 나타낸다. 알려진 바와 같이, 디바이스는 인코딩 및 디코딩 모듈들 중 하나 또는 둘 다를 포함할 수 있다. 또한, 인코더/디코더 모듈(1030)은 시스템(1000)의 별도 요소로서 구현될 수 있거나, 또는 본 기술분야의 통상의 기술자에게 공지된 바와 같이 하드웨어 및 소프트웨어의 조합으로서 프로세서(1010) 내에 통합될 수 있다.
본 문서에 설명된 다양한 양태들을 수행하기 위해 프로세서(1010) 또는 인코더/디코더(1030) 상에 로딩될 프로그램 코드는 저장 디바이스(1040)에 저장될 수 있고, 후속하여 프로세서(1010)에 의한 실행을 위해 메모리(1020) 상에 로딩될 수 있다. 다양한 실시예들에 따르면, 프로세서(1010), 메모리(1020), 저장 디바이스(1040), 및 인코더/디코더 모듈(1030) 중 하나 이상은 본 문서에 설명된 프로세스들의 수행 동안 다양한 아이템들 중 하나 이상을 저장할 수 있다. 이러한 저장된 아이템들은 입력 비디오, 디코딩된 비디오 또는 디코딩된 비디오의 부분들, 비트스트림, 행렬들, 변수들, 및 수학식들, 공식들, 동작들 및 동작 논리의 처리로부터의 중간 또는 최종 결과들을 포함할 수 있지만, 이에 한정되지는 않는다.
몇몇 실시예들에서, 프로세서(1010) 및/또는 인코더/디코더 모듈(1030)의 내부에 있는 메모리는 명령어들을 저장하고 및 인코딩 또는 디코딩 동안 필요한 처리를 위한 작업 메모리를 제공하기 위해 사용된다. 그러나, 다른 실시예들에서, 처리 디바이스 외부의 메모리(예를 들어, 처리 디바이스는 프로세서(1010) 또는 인코더/디코더 모듈(1030) 중 하나일 수 있음)가 이러한 기능들 중 하나 이상을 위해 사용된다. 외부 메모리는 메모리(1020) 및/또는 저장 디바이스(1040), 예를 들어, 동적 휘발성 메모리 및/또는 비휘발성 플래시 메모리일 수 있다. 몇몇 실시예들에서, 외부 비휘발성 플래시 메모리는 텔레비전의 운영 체제를 저장하기 위해 사용된다. 적어도 하나의 실시예에서, RAM과 같은 고속 외부 동적 휘발성 메모리는 MPEG-2, HEVC, 또는 VVC(Versatile Video Coding)와 같은 비디오 코딩 및 디코딩 동작들을 위한 작업 메모리로서 사용된다.
시스템(1000)의 요소들에의 입력은 블록(1130)에 표시된 바와 같이 다양한 입력 디바이스들을 통해 제공될 수 있다. 이러한 입력 디바이스들은 (i) 예를 들어, 브로드캐스터에 의해 OTA(over the air)로 송신되는 RF 신호를 수신하는 RF 부분, (ii) 복합 입력 단자, (iii) USB 입력 단자, 및/또는 (iv) HDMI 입력 단자를 포함하지만, 이에 제한되지는 않는다.
다양한 실시예들에서, 블록(1130)의 입력 디바이스들은 본 기술분야에 공지된 바와 같은 연관된 제각기 입력 처리 요소들을 갖는다. 예를 들어, RF 부분은 (i) 원하는 주파수를 선택하는 것(또한 신호를 선택하는 것, 또는 주파수들의 대역으로 신호를 대역 제한하는 것으로 지칭됨), (ii) 선택된 신호를 하향 변환하는 것, (iii) 주파수들의 더 좁은 대역으로 다시 대역 제한하여 특정 실시예들에서 채널로 지칭될 수 있는(예를 들어) 신호 주파수 대역을 선택하는 것, (iv) 하향 변환된 및 대역 제한된 신호를 복조하는 것, (v) 에러 정정을 수행하는 것, 및 (vi) 원하는 데이터 패킷들의 스트림을 선택하기 위해 역 다중화하는 것에 필요한 요소들과 연관될 수 있다. 다양한 실시예들의 RF 부분은 이러한 기능들을 수행하기 위한 하나 이상의 요소, 예를 들어, 주파수 선택기들, 신호 선택기들, 대역 제한기들, 채널 선택기들, 필터들, 다운컨버터들, 복조기들, 에러 정정기들, 및 디멀티플렉서들을 포함한다. RF 부분은, 예를 들어, 수신된 신호를 더 낮은 주파수(예를 들어, 중간 주파수 또는 근 기저대역 주파수)로 또는 기저대역으로 하향 변환하는 것을 포함하여, 다양한 이러한 기능들을 수행하는 튜너를 포함할 수 있다. 하나의 셋톱 박스 실시예에서, RF 부분 및 그것의 연관된 입력 처리 요소는 유선(예를 들어, 케이블) 매체를 통해 송신되는 RF 신호를 수신하고, 필터링, 하향 변환, 및 원하는 주파수 대역으로의 다시 필터링에 의해 주파수 선택을 수행한다. 다양한 실시예들은 전술한 (및 다른) 요소들의 순서를 재배열하고, 이 요소들의 일부를 제거하고, 및/또는 유사하거나 상이한 기능들을 수행하는 다른 요소들을 추가한다. 요소들을 추가하는 것은, 예를 들어, 증폭기들과 아날로그-투-디지털 변환기를 삽입하는 것과 같이 기존 요소들 사이 내에 요소들을 삽입하는 것을 포함할 수 있다. 다양한 실시예들에서, RF 부분은 안테나를 포함한다.
또한, USB 및/또는 HDMI 단말들은 USB 및/또는 HDMI 접속들을 통해 다른 전자 디바이스들에 시스템(1000)을 접속하기 위한 제각기 인터페이스 프로세서들을 포함할 수 있다. 입력 처리의 다양한 양태들, 예를 들어, 리드-솔로몬(Reed-Solomon) 에러 정정이, 예를 들어, 별도의 입력 처리 IC 내에서 또는 필요에 따라 프로세서(1010) 내에서 구현될 수 있다는 것을 이해해야 한다. 유사하게, USB 또는 HDMI 인터페이스 처리의 양태들은 필요에 따라 별도의 인터페이스 IC들 내에서 또는 프로세서(1010) 내에서 구현될 수 있다. 복조된, 에러 정정된, 및 역 다중화된 스트림은, 예를 들어, 프로세서(1010), 및 출력 디바이스 상의 프리젠테이션을 위해 필요한 대로 데이터 스트림을 처리하기 위해 메모리 및 저장 요소들과 조합하여 동작하는 인코더/디코더(1030)를 포함하는 다양한 처리 요소들에 제공된다.
시스템(1000)의 다양한 요소들은 통합된 하우징 내에 제공될 수 있고, 통합된 하우징 내에서, 다양한 요소들은 적절한 접속 배열(1140), 예를 들어, I2C 버스, 배선, 및 인쇄 회로 기판들을 포함하는 본 기술분야에 알려진 바와 같은 내부 버스를 사용하여 상호접속되고 그들 사이에 데이터를 송신할 수 있다.
시스템(1000)은 통신 채널(1060)을 통해 다른 디바이스들과의 통신을 가능하게 하는 통신 인터페이스(1050)를 포함한다. 통신 인터페이스(1050)는 통신 채널(1060)을 통해 데이터를 송신하고 수신하도록 구성된 송수신기를 포함할 수 있지만, 이에 한정되는 것은 아니다. 통신 인터페이스(1050)는 모뎀 또는 네트워크 카드를 포함할 수 있지만, 이에 한정되지는 않고, 통신 채널(1060)은 예를 들어, 유선 및/또는 무선 매체 내에서 구현될 수 있다.
데이터는, 다양한 실시예들에서, IEEE 802.11과 같은 Wi-Fi 네트워크를 사용하여 시스템(1000)에 스트리밍된다. 이러한 실시예들의 Wi-Fi 신호는 Wi-Fi 통신들을 위해 적응되는 통신 인터페이스(1050) 및 통신 채널(1060)을 통해 수신된다. 이러한 실시예들의 통신 채널(1060)은 스트리밍 애플리케이션들 및 다른 OTT(over-the-top) 통신들을 허용하기 위한 인터넷을 포함하는 외부 네트워크들에 대한 액세스를 제공하는 액세스 포인트 또는 라우터에 전형적으로 접속된다. 다른 실시예들은 입력 블록(1130)의 HDMI 접속을 통해 데이터를 전달하는 셋톱 박스를 사용하여 스트리밍된 데이터를 시스템(1000)에 제공한다. 또 다른 실시예들은 입력 블록(1130)의 RF 접속을 사용하여 스트리밍된 데이터를 시스템(1000)에 제공한다.
시스템(1000)은 디스플레이(1100), 스피커들(1110), 및 다른 주변 기기들(1120)을 포함하는 다양한 출력 디바이스들에 출력 신호를 제공할 수 있다. 다른 주변 기기들(1120)은, 실시예들의 다양한 예들에서, 독립형 DVR, 디스크 플레이어, 스테레오 시스템, 조명 시스템, 및 시스템(1000)의 출력에 기초하는 기능을 제공하는 다른 디바이스들 중 하나 이상을 포함한다. 다양한 실시예들에서, 제어 신호들은 AV.Link, CEC, 또는 사용자 개입을 사용하거나 사용하지 않고 디바이스-투-디바이스 제어를 가능하게 하는 다른 통신 프로토콜들과 같은 시그널링을 사용하여 시스템(1000)과 디스플레이(1100), 스피커들(1110), 또는 다른 주변 기기들(1120) 사이에서 통신된다. 출력 디바이스들은 각각의 인터페이스들(1070, 1080, 및 1090)을 통한 전용 접속들을 통해 시스템(1000)에 통신가능하게 결합될 수 있다. 대안적으로, 출력 디바이스들은 통신 인터페이스(1050)를 통해 통신 채널(1060)을 사용하여 시스템(1000)에 접속될 수 있다. 디스플레이(1100) 및 스피커들(1110)은, 예를 들어, 텔레비전과 같은 전자 디바이스에서 시스템(1000)의 다른 컴포넌트들과 함께 단일 유닛에 통합될 수 있다. 다양한 실시예들에서, 디스플레이 인터페이스(1070)는, 예를 들어, 타이밍 제어기(T Con) 칩과 같은 디스플레이 드라이버를 포함한다.
디스플레이(1100) 및 스피커(1110)는 대안적으로, 예를 들어, 입력(1130)의 RF 부분이 별도의 셋톱 박스의 일부인 경우, 다른 컴포넌트들 중 하나 이상으로부터 분리될 수 있다. 디스플레이(1100) 및 스피커들(1110)이 외부 컴포넌트들인 다양한 실시예들에서, 출력 신호는 예를 들어, HDMI 포트들, USB 포트들, 또는 COMP 출력들을 포함하는 전용 출력 접속들을 통해 제공될 수 있다.
실시예들은 프로세서(1010)에 의해 구현되는 컴퓨터 소프트웨어에 의해 또는 하드웨어에 의해, 또는 하드웨어 및 소프트웨어의 조합에 의해 수행될 수 있다. 비제한적인 예로서, 실시예들은 하나 이상의 집적 회로에 의해 구현될 수 있다. 메모리(1020)는 기술적 환경에 적절한 임의의 타입일 수 있고 비제한적 예들로서, 광학적 메모리 디바이스들, 자기 메모리 디바이스들, 반도체 기반 메모리 디바이스들, 고정식 메모리, 및 이동식 메모리와 같은 임의의 적절한 데이터 저장 기술을 사용하여 구현될 수 있다. 프로세서(1010)는 기술적 환경에 적절한 임의의 타입으로 될 수 있고, 비제한적 예들로서 마이크로프로세서들, 범용 컴퓨터들, 특수 목적 컴퓨터들, 및 멀티 코어 아키텍처에 기초한 프로세서들 중 하나 이상을 포함할 수 있다.
다양한 구현들은 디코딩을 수반한다. 본 출원에서 사용되는 "디코딩"은 디스플레이에 적합한 최종 출력을 생성하기 위해, 예를 들어, 수신된 인코딩된 시퀀스에 대해 수행되는 프로세스들의 전부 또는 일부를 포함할 수 있다. 다양한 실시예들에서, 그러한 프로세스들은 디코더에 의해 통상적으로 수행되는 프로세스들, 예를 들어, 엔트로피 디코딩, 역 양자화, 역 변환, 및 차동 디코딩 중 하나 이상을 포함한다. 다양한 실시예들에서, 이러한 프로세스들은 또한, 또는 대안적으로, 본 출원에서 설명된 다양한 구현들의 디코더에 의해 수행되는 프로세스들, 예를 들어, 조건에 따라 현재 블록에 조명 보상이 적용되는지를 표시하는 플래그를 디코딩하는 것, 플래그의 값에 따라 조명 보상을 적용하는 것을 포함한다.
추가 예들로서, 하나의 실시예에서, "디코딩"은 엔트로피 디코딩만을 지칭하고, 다른 실시예에서, "디코딩"은 차동 디코딩만을 지칭하고, 다른 실시예에서, "디코딩"은 엔트로피 디코딩 및 차동 디코딩의 조합을 지칭한다. "디코딩 프로세스"라는 문구가 구체적으로 동작들의 서브세트를 지칭하도록 의도되거나 일반적으로 더 넓은 디코딩 프로세스를 지칭하도록 의도되는지는 특정 설명들의 맥락에 기초하여 명백할 것이며, 본 기술분야의 통상의 기술자에 의해 잘 이해될 것으로 여겨진다.
다양한 구현들은 인코딩을 수반한다. "디코딩"에 관한 논의와 유사한 방식으로, 본 출원에서 사용되는 바와 같은 "인코딩"은 인코딩된 비트스트림을 생성하기 위해, 예를 들어, 입력 비디오 시퀀스에 대해 수행되는 프로세스들의 전부 또는 일부를 포함할 수 있다. 다양한 실시예들에서, 그러한 프로세스들은 인코더에 의해 통상적으로 수행되는 프로세스들, 예를 들어, 파티셔닝, 차동 인코딩, 변환, 양자화, 및 엔트로피 인코딩 중 하나 이상을 포함한다. 다양한 실시예들에서, 이러한 프로세스들은 또한, 또는 대안적으로, 본 출원에서 설명된 다양한 구현들의 인코더에 의해 수행되는 프로세스들, 예를 들어, 조건에 따라 현재 블록에 조명 보상이 적용되는지를 표시하는 플래그를 인코딩하는 것, 플래그의 값에 따라 조명 보상을 적용하는 것을 포함한다.
추가의 예들로서, 하나의 실시예에서 "인코딩"은 엔트로피 인코딩만을 지칭하고, 다른 실시예에서 "인코딩"은 차동 인코딩만을 지칭하며, 다른 실시예에서 "인코딩"은 차동 인코딩 및 엔트로피 인코딩의 조합을 지칭한다. "인코딩 프로세스"라는 문구가 구체적으로 동작들의 서브세트를 지칭하도록 의도되거나 일반적으로 더 넓은 인코딩 프로세스를 지칭하도록 의도되는지는 특정 설명들의 문맥에 기초하여 분명할 것이고, 본 기술분야의 통상의 기술자들에 의해 잘 이해될 것으로 여겨진다.
본 명세서에서 사용되는 신택스 요소들, 예를 들어, IC_flag, ref_idx[], flag_Li_Rj는 설명적 용어들이라는 점을 유의한다. 이와 같이, 이들은 다른 신택스 요소 명칭들의 사용을 배제하지 않는다.
도면이 흐름도로서 제시될 때, 그것은 또한 대응하는 장치의 블록도를 제공한다는 것이 이해되어야 한다. 유사하게, 도면이 블록도로서 제시될 때, 그것은 대응하는 방법/프로세스의 흐름도를 또한 제공한다는 것이 이해되어야 한다.
다양한 실시예들은 레이트 왜곡 최적화를 언급한다. 특히, 인코딩 프로세스 동안, 계산 복잡도의 제약들이 종종 주어지면, 레이트와 왜곡 사이의 균형 또는 트레이드-오프가 일반적으로 고려된다. 레이트 왜곡 최적화는 일반적으로 레이트와 왜곡의 가중 합인 레이트 왜곡 함수를 최소화하는 것으로 공식화된다. 레이트 왜곡 최적화 문제를 해결하기 위한 상이한 접근법들이 있다. 예를 들어, 이 접근법들은, 코딩 및 디코딩 이후에 재구성된 신호의 그 코딩 비용 및 관련 왜곡의 완전한 평가와 함께, 모든 고려된 모드들 또는 코딩 파라미터 값들을 포함하는, 모든 인코딩 옵션들의 광범위한 테스팅에 기초할 수 있다. 인코딩 복잡성을 피하기 위해, 특히 재구성된 것이 아니라 예측 또는 예측 잔차 신호에 기초한 근사화된 왜곡의 계산을 사용하여 더 빠른 접근법들이 또한 사용될 수 있다. 이들 2개의 접근법의 혼합은 또한, 예컨대, 가능한 인코딩 옵션들 중 일부에 대해서만 근사화된 왜곡, 및 다른 인코딩 옵션들에 대한 완전한 왜곡을 사용함으로써 사용될 수 있다. 다른 접근법들은 가능한 인코딩 옵션들의 서브세트만을 평가한다. 보다 일반적으로, 많은 접근법들은 최적화를 수행하기 위해 다양한 기법들 중 임의의 기법을 사용하지만, 최적화가 반드시 코딩 비용 및 관련 왜곡 둘 다의 완전한 평가인 것은 아니다.
본 개시에서 설명되는 구현들 및 양태들은, 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호로 구현될 수 있다. 단일 구현 형태의 맥락에서만 논의되더라도(예를 들어, 방법으로서만 논의되더라도), 논의되는 특징들의 구현은 다른 형태들(예를 들어, 장치 또는 프로그램)로 또한 구현될 수 있다. 장치는 예를 들어, 적절한 하드웨어, 소프트웨어 및 펌웨어로 구현될 수 있다. 방법들은, 예를 들어, 일반적으로 처리 디바이스들을 지칭하는, 예를 들어, 컴퓨터, 마이크로프로세서, 집적회로, 또는 프로그램가능 논리 디바이스를 포함하는 프로세서로 구현될 수 있다. 프로세서들은 또한 예를 들어, 컴퓨터들, 휴대 전화들, 휴대용/개인 정보 단말기들(portable/personal digital assistants)("PDAs"), 및 최종 사용자들 사이의 정보의 통신을 용이하게 하는 다른 디바이스들과 같은, 통신 디바이스들을 포함한다.
"하나의 실시예" 또는 "실시예" 또는 "하나의 구현" 또는 "구현" 뿐만 아니라 그의 다른 변형들에 대한 언급은, 실시예와 관련하여 설명된 특정한 특징, 구조, 특성 등이 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 이 문서의 전체에 걸쳐 다양한 곳들에서 나타나는 "하나의 실시예에서" 또는 "실시예에서" 또는 "하나의 구현에서" 또는 "구현에서"란 문구, 뿐만 아니라 임의의 다른 변형들의 출현들은 반드시 모두가 동일한 실시예를 말하는 것은 아니다.
추가적으로, 이 문서는 다양한 정보 피스들을 "결정하는 것"을 언급할 수 있다. 정보를 결정하는 것은, 예를 들어, 정보를 추정하는 것, 정보를 계산하는 것, 정보를 예측하는 것, 또는 정보를 메모리로부터 검색하는 것 중 하나 이상을 포함할 수 있다.
게다가, 이 문서는 다양한 정보 피스들에 "액세스하는 것"을 언급할 수 있다. 정보에 액세스하는 것은, 예를 들어, 정보를 수신하는 것, (예를 들어, 메모리로부터) 정보를 검색하는 것, 정보를 저장하는 것, 정보를 이동시키는 것, 정보를 복사하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것 중 하나 이상을 포함할 수 있다.
추가적으로, 이 문서는 다양한 정보 피스들을 "수신하는 것"을 언급할 수 있다. 수신하는 것은, "액세스하는 것"에서와 같이 광의의 용어가 되도록 의도된다. 정보를 수신하는 것은, 예를 들어, 정보에 액세스하는 것, 또는 정보를(예를 들어, 메모리로부터) 검색하는 것 중 하나 이상을 포함할 수 있다. 또한, "수신하는 것"은 통상적으로 예를 들어, 정보를 저장하는 것, 정보를 처리하는 것, 정보를 송신하는 것, 정보를 이동시키는 것, 정보를 복사하는 것, 정보를 소거하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것과 같은 동작들 동안 하나의 방식 또는 다른 방식으로 수반된다.
예를 들어, "A/B", "A 및/또는 B(A and/or B)" 및 "A 및 B 중 적어도 하나(at least one of A and B)"의 경우들에서, 이하의 "/", "및/또는(and/or)", 및 "~ 중 적어도 하나(at least one of)" 중 임의의 것의 사용은, 처음 열거된 옵션(A)만을 선택함, 또는 두 번째로 열거된 옵션(B)만을 선택함, 또는 옵션들 둘 다(A 및 B)를 선택함을 망라하려는 의도임을 알 것이다. 추가 예로서, "A, B 및/또는 C" 및 "A, B 및 C 중 적어도 하나"의 경우들에서, 이러한 문구는 첫 번째로 열거된 옵션(A)만의 선택, 또는 두 번째로 열거된 옵션(B)만의 선택, 또는 세 번째로 열거된 옵션(C)만의 선택, 또는 첫 번째와 두 번째로 열거된 옵션들(A 및 B)만의 선택, 또는 첫 번째와 세 번째로 열거된 옵션들(A 및 C)만의 선택, 또는 두 번째와 세 번째로 열거된 옵션들(B 및 C)만의 선택, 또는 3개의 옵션(A 및 B 및 C) 전부의 선택을 포함하는 것으로 의도된다. 이것은 본 기술분야 및 관련 기술분야의 통상의 기술자에게 명백한 바와 같이 열거된 많은 항목들에 대해 확장될 수 있다.
또한, 여기에 사용된 바와 같이, 단어 "신호"는 다른 것들 중에서, 대응하는 디코더에게 무언가를 표시하는 것을 지칭한다. 예를 들어, 특정 실시예들에서, 인코더는 조건에 따라 현재 블록에 조명 보상이 적용되는지를 표시하는 플래그, 또는 조명 보상이 인에이블되는지를 표시하는 플래그 중 특정한 하나를 시그널링한다. 이러한 방식으로, 실시예에서, 인코더 측 및 디코더 측 둘 다에서 동일한 파라미터가 사용된다. 따라서, 예를 들어, 인코더는 디코더가 동일한 특정 파라미터를 사용할 수 있도록 디코더에 특정 파라미터를 송신(명시적 시그널링)할 수 있다. 반대로, 디코더가 다른 것들뿐만 아니라 이미 특정 파라미터를 갖는 경우, 단순히 디코더가 특정 파라미터를 알고 선택하는 것을 허용하기 위해 송신(암시적 시그널링) 없이 시그널링이 사용될 수 있다. 임의의 실제 기능들의 송신을 회피함으로써, 다양한 실시예들에서 비트 절약이 실현된다. 시그널링은 다양한 방식들로 달성될 수 있다는 것을 알아야 한다. 예를 들어, 하나 이상의 신택스 요소, 플래그들 및 기타 등등은 다양한 실시예들에서 대응하는 디코더에 정보를 시그널링하기 위해 사용된다는 점을 알아야 한다. 전술한 것은 단어 "신호"의 동사 형태와 관련되지만, 단어 "신호"는 명사로서 여기에 사용될 수도 있다.
본 기술분야의 통상의 기술자에게 분명할 바와 같이, 구현들은, 예를 들어, 저장 또는 송신될 수 있는 정보를 반송하도록 포맷팅된 다양한 신호들을 생성할 수 있다. 정보는, 예를 들어, 방법을 수행하기 위한 명령어들, 또는 설명된 구현들 중 하나에 의해 생성된 데이터를 포함할 수 있다. 예를 들어, 신호가 설명된 실시예의 비트스트림을 반송하기 위해 포맷팅될 수 있다. 이러한 신호는, 예를 들어, 전자기 파로서 (예를 들어, 스펙트럼의 무선 주파수 부분을 사용함) 또는 기저대역 신호로서 포맷팅될 수 있다. 포맷팅은, 예를 들어, 데이터 스트림을 인코딩하는 것과 인코딩된 데이터 스트림으로 캐리어를 변조하는 것을 포함할 수 있다. 신호가 반송하는 정보는, 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 신호는 공지된 것과 같이 각종의 상이한 유선 또는 무선 링크를 통해 송신될 수 있다. 그 신호는 프로세서 판독가능 매체 상에 저장될 수 있다.
다수의 실시예가 설명되었다. 이 실시예들은, 적어도, 다양한 상이한 청구항 카테고리들 및 타입들에 걸쳐, 모든 조합들을 포함하는 다음의 일반화된 발명들 및 청구항들을 제공한다:
· 디코더 및/또는 인코더에서 적용된 조명 보상 프로세스를 수정함.
· 조명 보상 프로세스는 선형 함수( "a.P + b" 또는 "a.P" )에 기초한 예측 "P"의 가중을 의미하며, IC 파라미터는 (a;b) 또는 (a)임.
· 조명 보상 프로세스는 블록 파라미터와 디코더 및/또는 인코더 내의 값의 비교에 따라 현재 블록에 적용됨.
· 값은 픽처 단위로 변함.
· 값은 비트스트림, 예를 들어, PPS, SPS, 슬라이스로부터 디코딩됨.
· 블록 파라미터는 블록 컴포넌트, 기준 픽처 인덱스, 블록 깊이, 계층적 픽처 깊이 중 적어도 하나임.
· 현재 블록의 파라미터가 주어진 조건을 검증하는 경우에만 현재 블록에 대해 조명 보상이 적용되는지를 표시하는 플래그를 디코딩(각각 인코딩)함.
· 논의된 실시예들 중 임의의 것에 따른 비교에 따라 현재 블록에 조명 보상이 적용되는지를 표시하는 플래그를 디코딩(각각 인코딩)함.
· 컴포넌트에 따라 현재 블록에 조명 보상을 적용하는 것, 예를 들어, 조명 보상은 루마 컴포넌트에만 적용됨.
· 현재 블록 깊이가 값 미만인 경우에 현재 블록에 조명 보상이 적용되는지를 표시하는 플래그를 디코딩함.
· 계층적 픽처 깊이가 값을 초과하는 경우에 현재 블록에 조명 보상이 적용되는지를 표시하는 플래그를 디코딩함.
· 논의된 실시예들 중 임의의 것에 따라, 디코더가 블록에 조명 보상이 적용되는지를 결정할 수 있게 하는 신택스 요소들을 시그널링에 삽입함.
· 설명된 신택스 요소들, 또는 그의 변형들 중 하나 이상을 포함하는 비트스트림 또는 신호.
· 디코더가 인코더에 의해 사용되는 것에 대응하는 방식으로 조명 보상을 적응시킬 수 있게 하는 시그널링 신택스 요소들에 삽입함
· 설명된 신택스 요소들, 또는 그의 변형들 중 하나 이상을 포함하는 비트스트림 또는 신호를 생성 및/또는 송신 및/또는 수신 및/또는 디코딩함.
· 설명되는 실시예들 중 임의의 것에 따른 조명 보상을 수행하는 TV, 셋톱 박스, 휴대 전화, 태블릿, 또는 다른 전자 디바이스.
· 설명되는 실시예들 중 임의의 것에 따른 조명 보상을 수행하고, (예를 들어, 모니터, 스크린, 또는 다른 타입의 디스플레이를 사용하여) 결과적인 이미지를 디스플레이하는 TV, 셋톱 박스, 휴대 전화, 태블릿, 또는 다른 전자 디바이스.
· 인코딩된 이미지를 포함하는 신호를 수신하기 위해 (예를 들어, 튜너를 사용하여) 채널을 튜닝하고, 설명되는 실시예들 중 임의의 것에 따른 조명 보상을 수행하는 TV, 셋톱 박스, 휴대 전화, 태블릿, 또는 다른 전자 디바이스.
· 인코딩된 이미지를 포함하는 무선을 통한(over the air) 신호를 (예를 들어, 안테나를 사용하여) 수신하고, 설명된 실시예들 중 임의의 것에 따른 조명 보상을 수행하는 TV, 셋톱 박스, 셀 폰, 태블릿, 또는 다른 전자 디바이스.
픽처의 현재 블록을 디코딩하는 방법이 개시되고, 이 방법은 다음을 포함한다:
모션 보상된 기준 블록에 액세스하는 단계;
상기 현재 블록의 파라미터와 값의 비교에 응답하여 상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 디코딩하는 단계;
상기 적어도 하나의 조명 보상 파라미터에 응답하여 상기 모션 보상 기준 블록의 조명을 보상하는 단계; 및
상기 조명 및 모션 보상된 기준 블록으로부터 상기 현재 블록을 재구성하는 단계.
하나 이상의 프로세서를 포함하는 장치가 개시되고, 하나 이상의 프로세서는:
모션 보상된 기준 블록에 액세스하는 것;
상기 현재 블록의 파라미터와 값의 비교에 응답하여 픽처의 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 디코딩하는 것;
상기 적어도 하나의 조명 보상 파라미터에 응답하여 상기 모션 보상 기준 블록의 조명을 보상하는 것; 및
상기 조명 및 모션 보상된 기준 블록으로부터 상기 현재 블록을 재구성하는 것을 수행하도록 구성된다.
실시예에서, 적어도 하나의 조명 보상 파라미터는 상기 현재 블록에 대해 조명 보상이 적용되는지를 표시하는 플래그이다.
실시예에서, 값은 시퀀스 헤더, 픽처 헤더 또는 슬라이스 헤더로부터 디코딩된다.
실시예에서, 블록 파라미터는 블록 컴포넌트들, 기준 픽처 인덱스, 블록 깊이 및 계층적 픽처 깊이 중 적어도 하나이다.
실시예에서, 상기 현재 블록의 파라미터와 값의 비교에 응답하여 상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 디코딩하는 것은, 상기 현재 블록의 기준 픽처 인덱스가 제1 값과 동일한 경우에만 상기 현재 블록에 조명 보상이 적용되는지를 표시하는 플래그를 디코딩하는 것을 포함한다.
실시예에서, 상기 현재 블록의 파라미터와 값의 비교에 응답하여 상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 디코딩하는 것은, 상기 현재 블록의 크기가 제2 값을 초과하는 경우에만 상기 현재 블록에 조명 보상이 적용되는지를 표시하는 플래그를 디코딩하는 것을 포함한다.
실시예에서, 상기 현재 블록의 파라미터와 값의 비교에 응답하여 상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 디코딩하는 것은, 현재 블록 깊이가 제3 값 미만인 경우에만 상기 현재 블록에 조명 보상이 적용되는지를 표시하는 플래그를 디코딩하는 것을 포함한다.
실시예에서, 상기 현재 블록의 파라미터와 값의 비교에 응답하여 상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 디코딩하는 것은, 계층적 픽처 깊이가 제4 값 미만인 경우에만 상기 현재 블록에 조명 보상이 적용되는지를 표시하는 플래그를 디코딩하는 것을 포함한다.
실시예에서, 조명 보상 파라미터는 현재 블록의 컴포넌트들의 서브세트에 대해서만 디코딩된다.
픽처의 현재 블록을 인코딩하는 방법이 개시되고, 이 방법은 다음을 포함한다:
모션 보상된 기준 블록에 액세스하는 단계;
상기 현재 블록의 파라미터와 값의 비교에 응답하여 상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 인코딩하는 단계;
상기 적어도 하나의 조명 보상 파라미터에 응답하여 상기 모션 보상 기준 블록에 기초하여 예측의 조명을 보상하는 단계; 및
상기 조명 및 모션 보상된 기준 블록으로부터 상기 현재 블록을 인코딩하는 단계.
하나 이상의 프로세서를 포함하는 장치가 개시되고, 하나 이상의 프로세서는:
모션 보상된 기준 블록에 액세스하는 것;
상기 현재 블록의 파라미터와 값의 비교에 응답하여 픽처의 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 인코딩하는 것;
상기 적어도 하나의 조명 보상 파라미터에 응답하여 상기 모션 보상 기준 블록에 기초하여 예측의 조명을 보상하는 것; 및
상기 조명 및 모션 보상된 기준 블록으로부터 상기 현재 블록을 인코딩하는 것을 수행하도록 구성된다.
실시예에서, 적어도 하나의 조명 보상 파라미터는 상기 현재 블록에 대해 조명 보상이 적용되는지를 표시하는 플래그이다.
실시예에서, 값은 시퀀스 헤더, 픽처 헤더 또는 슬라이스 헤더에서 인코딩된다.
실시예에서, 블록 파라미터는 블록 컴포넌트들, 기준 픽처 인덱스, 블록 깊이 및 계층적 픽처 깊이 중 적어도 하나이다.
실시예에서, 상기 현재 블록의 파라미터와 값의 비교에 응답하여 상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 인코딩하는 것은, 상기 현재 블록의 기준 픽처 인덱스가 제1 값과 동일한 경우에만 상기 현재 블록에 조명 보상이 적용되는지를 표시하는 플래그를 인코딩하는 것을 포함한다.
실시예에서, 상기 현재 블록의 파라미터와 값의 비교에 응답하여 상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 인코딩하는 것은, 상기 현재 블록의 크기가 제2 값을 초과하는 경우에만 상기 현재 블록에 조명 보상이 적용되는지를 표시하는 플래그를 인코딩하는 것을 포함한다.
실시예에서, 상기 현재 블록의 파라미터와 값의 비교에 응답하여 상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 인코딩하는 것은, 현재 블록 깊이가 제3 값 미만인 경우에만 상기 현재 블록에 조명 보상이 적용되는지를 표시하는 플래그를 인코딩하는 것을 포함한다.
실시예에서, 상기 현재 블록의 파라미터와 값의 비교에 응답하여 상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 인코딩하는 것은, 계층적 픽처 깊이가 제4 값 미만인 경우에만 상기 현재 블록에 조명 보상이 적용되는지를 표시하는 플래그를 인코딩하는 것을 포함한다.
실시예에서, 조명 보상 파라미터는 현재 블록의 컴포넌트들의 서브세트에 대해서만 인코딩된다.
다양한 다른 일반화된, 뿐만 아니라 특정화된 발명들 및 청구항들이 본 개시의 전체에 걸쳐 또한 지원되고 구상된다.

Claims (20)

  1. 픽처의 현재 블록을 디코딩하는 방법으로서,
    모션 보상된 기준 블록에 액세스하는 단계;
    상기 현재 블록의 파라미터와 값의 비교에 응답하여 상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 디코딩하는 단계;
    상기 적어도 하나의 조명 보상 파라미터에 응답하여 상기 모션 보상 기준 블록의 조명을 보상하는 단계; 및
    상기 조명 및 모션 보상된 기준 블록으로부터 상기 현재 블록을 재구성하는 단계를 포함하는 방법.
  2. 장치로서,
    하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는:
    모션 보상된 기준 블록에 액세스하는 것;
    픽처의 현재 블록의 파라미터와 값의 비교에 응답하여 상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 디코딩하는 것;
    상기 적어도 하나의 조명 보상 파라미터에 응답하여 상기 모션 보상 기준 블록의 조명을 보상하는 것; 및
    상기 조명 및 모션 보상된 기준 블록으로부터 상기 현재 블록을 재구성하는 것을 수행하도록 구성되는 장치.
  3. 제1항의 방법 또는 제2항의 장치에 있어서,
    상기 적어도 하나의 조명 보상 파라미터는 상기 현재 블록에 대해 조명 보상이 적용되는지를 표시하는 플래그인 방법 또는 장치.
  4. 제1항 또는 제3항의 방법 또는 제2항 또는 제3항의 장치에 있어서,
    상기 값은 시퀀스 헤더, 픽처 헤더 또는 슬라이스 헤더로부터 디코딩되는 방법 또는 장치.
  5. 제1항 또는 제3항 또는 제4항 중 어느 한 항의 방법 또는 제2항 내지 제4항 중 어느 한 항의 장치에 있어서,
    상기 블록 파라미터는 블록 컴포넌트들, 기준 픽처 인덱스, 블록 깊이 및 계층적 픽처 깊이 중 적어도 하나인 방법 또는 장치.
  6. 제1항 또는 제3항 내지 제5항 중 어느 한 항의 방법 또는 제2항 내지 제5항 중 어느 한 항의 장치에 있어서,
    상기 현재 블록의 파라미터와 값의 비교에 응답하여 상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 디코딩하는 것은, 상기 현재 블록의 기준 픽처 인덱스가 제1 값과 동일한 경우에만 상기 현재 블록에 조명 보상이 적용되는지를 표시하는 플래그를 디코딩하는 것을 포함하는 방법 또는 장치.
  7. 제1항 또는 제3항 내지 제6항 중 어느 한 항의 방법 또는 제2항 내지 제6항 중 어느 한 항의 장치에 있어서,
    상기 현재 블록의 파라미터와 값의 비교에 응답하여 상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 디코딩하는 것은, 상기 현재 블록의 크기가 제2 값을 초과하는 경우에만 상기 현재 블록에 조명 보상이 적용되는지를 표시하는 플래그를 디코딩하는 것을 포함하는 방법 또는 장치.
  8. 제1항 또는 제3항 내지 제7항 중 어느 한 항의 방법 또는 제2항 내지 제7항 중 어느 한 항의 장치에 있어서,
    상기 현재 블록의 파라미터와 값의 비교에 응답하여 상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 디코딩하는 것은, 현재 블록 깊이가 제3 값 미만인 경우에만 상기 현재 블록에 조명 보상이 적용되는지를 표시하는 플래그를 디코딩하는 것을 포함하는 방법 또는 장치.
  9. 제1항 또는 제3항 내지 제7항 중 어느 한 항의 방법 또는 제2항 내지 제7항 중 어느 한 항의 장치에 있어서,
    상기 현재 블록의 파라미터와 값의 비교에 응답하여 상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 디코딩하는 것은, 계층적 픽처 깊이가 제4 값 미만인 경우에만 상기 현재 블록에 조명 보상이 적용되는지를 표시하는 플래그를 디코딩하는 것을 포함하는 방법 또는 장치.
  10. 제1항 또는 제3항 내지 제9항 중 어느 한 항의 방법 또는 제2항 내지 제9항 중 어느 한 항의 장치에 있어서,
    조명 보상 파라미터는 상기 현재 블록의 상기 컴포넌트들의 서브세트에 대해서만 디코딩되는 방법 또는 장치.
  11. 픽처의 현재 블록을 인코딩하는 방법으로서,
    모션 보상된 기준 블록에 액세스하는 단계;
    상기 현재 블록의 파라미터와 값의 비교에 응답하여 상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 인코딩하는 단계;
    상기 적어도 하나의 조명 보상 파라미터에 응답하여 상기 모션 보상 기준 블록에 기초하여 예측의 조명을 보상하는 단계; 및
    상기 조명 및 모션 보상된 기준 블록으로부터 상기 현재 블록을 인코딩하는 단계를 포함하는 방법.
  12. 장치로서,
    하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는:
    모션 보상된 기준 블록에 액세스하는 것;
    픽처의 현재 블록의 파라미터와 값의 비교에 응답하여 상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 인코딩하는 것;
    상기 적어도 하나의 조명 보상 파라미터에 응답하여 상기 모션 보상 기준 블록에 기초하여 예측의 조명을 보상하는 것; 및
    상기 조명 및 모션 보상된 기준 블록으로부터 상기 현재 블록을 인코딩하는 것을 수행하도록 구성되는 장치.
  13. 제11항의 방법 또는 제12항의 장치에 있어서,
    상기 적어도 하나의 조명 보상 파라미터는 상기 현재 블록에 대해 조명 보상이 적용되는지를 표시하는 플래그인 방법 또는 장치.
  14. 제11항 또는 제13항의 방법 또는 제12항 또는 제13항의 장치에 있어서,
    상기 값은 시퀀스 헤더, 픽처 헤더 또는 슬라이스 헤더에서 인코딩되는 방법 또는 장치.
  15. 제11항 또는 제13항 또는 제14항의 방법 또는 제12항 내지 제14항 중 어느 한 항의 장치에 있어서,
    상기 블록 파라미터는 블록 컴포넌트들, 기준 픽처 인덱스, 블록 깊이 및 계층적 픽처 깊이 중 적어도 하나인 방법 또는 장치.
  16. 제11항 또는 제13항 내지 제15항 중 어느 한 항의 방법 또는 제12항 내지 제15항 중 어느 한 항의 장치에 있어서,
    상기 현재 블록의 파라미터와 값의 비교에 응답하여 상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 인코딩하는 것은, 상기 현재 블록의 기준 픽처 인덱스가 제1 값과 동일한 경우에만 상기 현재 블록에 조명 보상이 적용되는지를 표시하는 플래그를 인코딩하는 것을 포함하는 방법 또는 장치.
  17. 제11항 또는 제13항 내지 제16항 중 어느 한 항의 방법 또는 제12항 내지 제16항 중 어느 한 항의 장치에 있어서,
    상기 현재 블록의 파라미터와 값의 비교에 응답하여 상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 인코딩하는 것은, 상기 현재 블록의 크기가 제2 값을 초과하는 경우에만 상기 현재 블록에 조명 보상이 적용되는지를 표시하는 플래그를 인코딩하는 것을 포함하는 방법 또는 장치.
  18. 제11항 또는 제13항 내지 제17항 중 어느 한 항의 방법 또는 제12항 내지 제17항 중 어느 한 항의 장치에 있어서,
    상기 현재 블록의 파라미터와 값의 비교에 응답하여 상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 인코딩하는 것은, 현재 블록 깊이가 제3 값 미만인 경우에만 상기 현재 블록에 조명 보상이 적용되는지를 표시하는 플래그를 인코딩하는 것을 포함하는 방법 또는 장치.
  19. 제11항 또는 제13항 내지 제17항 중 어느 한 항의 방법 또는 제12항 내지 제17항 중 어느 한 항의 장치에 있어서,
    상기 현재 블록의 파라미터와 값의 비교에 응답하여 상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 인코딩하는 것은, 계층적 픽처 깊이가 제4 값 미만인 경우에만 상기 현재 블록에 조명 보상이 적용되는지를 표시하는 플래그를 인코딩하는 것을 포함하는 방법 또는 장치.
  20. 제11항 또는 제13항 내지 제19항 중 어느 한 항의 방법 또는 제12항 내지 제19항 중 어느 한 항의 장치에 있어서,
    조명 보상 파라미터는 상기 현재 블록의 상기 컴포넌트들의 서브세트에 대해서만 인코딩되는 방법 또는 장치.
KR1020207036480A 2018-06-18 2019-05-28 비디오 코딩에서의 조명 보상 KR20210019454A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP18305750.4 2018-06-18
EP18305750 2018-06-18
EP18306160.5A EP3618443A1 (en) 2018-09-03 2018-09-03 Illumination compensation in video coding
EP18306160.5 2018-09-03
PCT/US2019/034146 WO2019245712A1 (en) 2018-06-18 2019-05-28 Illumination compensation in video coding

Publications (1)

Publication Number Publication Date
KR20210019454A true KR20210019454A (ko) 2021-02-22

Family

ID=66821518

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207036480A KR20210019454A (ko) 2018-06-18 2019-05-28 비디오 코딩에서의 조명 보상

Country Status (5)

Country Link
US (1) US20210266582A1 (ko)
EP (1) EP3808088A1 (ko)
KR (1) KR20210019454A (ko)
CN (1) CN112385226A (ko)
WO (1) WO2019245712A1 (ko)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130243085A1 (en) * 2012-03-15 2013-09-19 Samsung Electronics Co., Ltd. Method of multi-view video coding and decoding based on local illumination and contrast compensation of reference frames without extra bitrate overhead
EP2983359A4 (en) * 2013-04-05 2016-08-24 Samsung Electronics Co Ltd INTERLAY VIDEO CODING METHOD AND DEVICE, AND INTERLAYER VIDEO DECODING METHOD AND DEVICE FOR COMPENSATING THE LUMINUM DIFFERENCE
US10321142B2 (en) * 2013-07-15 2019-06-11 Samsung Electronics Co., Ltd. Method and apparatus for video encoding for adaptive illumination compensation, method and apparatus for video decoding for adaptive illumination compensation
US9860529B2 (en) * 2013-07-16 2018-01-02 Qualcomm Incorporated Processing illumination compensation for video coding
CN108632629B9 (zh) * 2014-03-19 2021-06-15 株式会社Kt 针对多视图视频信号生成合并候选列表的方法及解码装置
US10887597B2 (en) * 2015-06-09 2021-01-05 Qualcomm Incorporated Systems and methods of determining illumination compensation parameters for video coding
EP3313072B1 (en) * 2015-06-16 2021-04-07 LG Electronics Inc. Method for predicting block on basis of illumination compensation in image coding system
US10951912B2 (en) * 2016-10-05 2021-03-16 Qualcomm Incorporated Systems and methods for adaptive selection of weights for video coding
KR20180074000A (ko) * 2016-12-23 2018-07-03 삼성전자주식회사 비디오 디코딩 방법, 이를 수행하는 비디오 디코더, 비디오 인코딩 방법, 및 이를 수행하는 비디오 인코더

Also Published As

Publication number Publication date
EP3808088A1 (en) 2021-04-21
CN112385226A (zh) 2021-02-19
WO2019245712A1 (en) 2019-12-26
US20210266582A1 (en) 2021-08-26

Similar Documents

Publication Publication Date Title
CN112889287A (zh) 广义双向预测和加权预测
CN114208178A (zh) 用于视频编码和解码的二次变换
US20220385922A1 (en) Method and apparatus using homogeneous syntax with coding tools
KR20210020915A (ko) 이미지 블록들의 비대칭 이진 파티셔닝에 기초한 비디오 인코딩 및 디코딩을 위한 방법 및 장치
US20210400276A1 (en) Quantization for video encoding and decoding
JP2023543985A (ja) 多用途ビデオコーディングのためのテンプレートマッチング予測
KR20210058938A (ko) 픽처 인코딩 및 디코딩을 위한 방법 및 디바이스
WO2020006338A1 (en) Method and apparatus for video encoding and decoding based on adaptive coefficient group
CN112189341A (zh) 用于视频编码和解码的量化参数预测
KR20220123666A (ko) 가중-예측 파라미터들의 추정
US11611765B2 (en) Refinement mode processing in video encoding and decoding
KR20210058846A (ko) 인트라 변환 코딩 및 광각 인트라 예측의 조화
EP3687172A1 (en) Multiple transforms selection signalling
JP2024513873A (ja) 切り替え可能な補間フィルタを用いる幾何学的分割
WO2022069331A1 (en) Karhunen loeve transform for video coding
JP2023516940A (ja) ローカルクロマ量子化パラメータ制御のための高レベルの制約フラグ
US20220038704A1 (en) Method and apparatus for determining chroma quantization parameters when using separate coding trees for luma and chroma
WO2021122416A1 (en) Subblock merge candidates in triangle merge mode
CN114450951A (zh) 视频编码和解码中的运动向量预测
KR20210019454A (ko) 비디오 코딩에서의 조명 보상
EP3618443A1 (en) Illumination compensation in video coding
EP3706419A1 (en) Multi-model local illumination compensation for video encoding or decoding
EP4014490A1 (en) Quantization matrix prediction for video encoding and decoding
WO2021001215A1 (en) Chroma format dependent quantization matrices for video encoding and decoding
CN118140481A (zh) 利用isp模式对基于模版的帧内模式推导(timd)进行扩展