KR20210058938A - 픽처 인코딩 및 디코딩을 위한 방법 및 디바이스 - Google Patents
픽처 인코딩 및 디코딩을 위한 방법 및 디바이스 Download PDFInfo
- Publication number
- KR20210058938A KR20210058938A KR1020217011334A KR20217011334A KR20210058938A KR 20210058938 A KR20210058938 A KR 20210058938A KR 1020217011334 A KR1020217011334 A KR 1020217011334A KR 20217011334 A KR20217011334 A KR 20217011334A KR 20210058938 A KR20210058938 A KR 20210058938A
- Authority
- KR
- South Korea
- Prior art keywords
- group
- lic
- block
- current
- illumination compensation
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
디코딩 방법이 제시된다. 먼저, 픽처의 현재 블록에 대해 조명 보상 파라미터가 결정된다. 조명 보상 파라미터는 하나 이상의 조명 보상 파라미터로부터 또는 적어도 하나의 공간적 이웃 블록이 현재 로컬 조명 보상 그룹이라 불리는, 현재 블록과 동일한 로컬 조명 보상 그룹에 속하는 경우에만 상기 적어도 하나의 공간적 이웃 블록의 하나 이상의 재구성된 샘플로부터 결정된다. 마지막으로, 현재 블록은 결정된 조명 보상 파라미터를 이용하여 재구성된다.
Description
본 실시예들 중 적어도 하나는 일반적으로 픽처 인코딩 및 디코딩을 위한 방법 및 디바이스에 관한 것으로, 특히, 로컬 조명 보상(local illumination compensation)을 이용한 픽처 인코딩 및 디코딩을 위한 방법 및 디바이스에 관한 것이다.
높은 압축 효율을 달성하기 위해, 이미지 및 비디오 코딩 방식들은 보통은 비디오 콘텐츠에서의 공간적 및 시간적 중복성을 활용하기 위한 예측 및 변환을 채택한다. 일반적으로, 인트라 또는 인터 프레임 상관을 활용하기 위해 인트라 또는 인터 예측이 사용되고, 예측 에러들 또는 예측 잔차들로 종종 표시되는 원래의 이미지 블록과 예측된 이미지 블록 사이의 차이들이 변환, 양자화, 및 엔트로피 코딩된다. 인코딩 동안, 원래의 이미지 블록은 보통 쿼드-트리 파티셔닝(quad-tree partitioning)을 사용하여 서브-블록들로 파티셔닝/스플릿된다. 비디오를 재구성하기 위해, 압축된 데이터는 예측, 변환, 양자화 및 엔트로피 코딩에 대응하는 역 프로세스들에 의해 디코딩된다.
본 실시예들 중 하나 이상은 조명 보상을 이용하여 픽처를 인코딩/디코딩하기 위한 방법을 제공한다.
적어도 하나의 실시예의 일반적인 양태에 따르면, 다음을 포함하는 디코딩 방법이 제시된다:
- 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 결정하는 단계; 및
- 상기 결정된 조명 보상 파라미터를 이용하여 상기 현재 블록을 재구성하는 단계;
여기서, 현재 블록에 대한 적어도 하나의 조명 보상 파라미터는 하나 이상의 조명 보상 파라미터로부터 또는 적어도 하나의 공간적 이웃 블록이 현재 로컬 조명 보상 그룹이라 불리는, 현재 블록과 동일한 로컬 조명 보상 그룹에 속하는 경우에만 상기 적어도 하나의 공간적 이웃 블록의 하나 이상의 재구성된 샘플로부터 결정된다.
적어도 하나의 실시예의 또 다른 일반적인 양태에 따르면, 다음을 구현하도록 구성된 하나 이상의 프로세서를 포함하는 디코딩 장치가 제시된다:
- 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 결정하고; 및
- 상기 결정된 조명 보상 파라미터를 이용하여 상기 현재 블록을 재구성하고;
여기서, 현재 블록에 대한 적어도 하나의 조명 보상 파라미터는 하나 이상의 조명 보상 파라미터로부터 또는 적어도 하나의 공간적 이웃 블록이 현재 로컬 조명 보상 그룹이라 불리는, 현재 블록과 동일한 로컬 조명 보상 그룹에 속하는 경우에만 상기 적어도 하나의 공간적 이웃 블록의 하나 이상의 재구성된 샘플로부터 결정된다.
적어도 하나의 실시예의 또 다른 일반적인 양태에 따르면, 다음을 포함하는 인코딩 방법이 제시된다:
- 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 결정하는 단계; 및
- 상기 결정된 조명 보상 파라미터를 이용하여 상기 현재 블록을 재구성하는 단계;
여기서, 현재 블록에 대한 적어도 하나의 조명 보상 파라미터는 하나 이상의 조명 보상 파라미터로부터 또는 적어도 하나의 공간적 이웃 블록이 현재 로컬 조명 보상 그룹이라 불리는, 현재 블록과 동일한 로컬 조명 보상 그룹에 속하는 경우에만 상기 적어도 하나의 공간적 이웃 블록의 하나 이상의 재구성된 샘플로부터 결정된다.
적어도 하나의 실시예의 또 다른 일반적인 양태에 따르면, 다음을 구현하도록 구성된 하나 이상의 프로세서를 포함하는 인코딩 장치가 제시된다:
- 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 결정하고; 및
- 상기 결정된 조명 보상 파라미터를 이용하여 상기 현재 블록을 인코딩하고;
여기서, 현재 블록에 대한 적어도 하나의 조명 보상 파라미터는 하나 이상의 조명 보상 파라미터로부터 또는 적어도 하나의 공간적 이웃 블록이 현재 로컬 조명 보상 그룹이라 불리는, 현재 블록과 동일한 로컬 조명 보상 그룹에 속하는 경우에만 상기 적어도 하나의 공간적 이웃 블록의 하나 이상의 재구성된 샘플로부터 결정된다.
적어도 하나의 실시예의 또 다른 일반적인 양태에 따르면, 비트스트림은 전술된 인코딩 방법들에 따라 생성된 신호를 포함하도록 포맷팅된다.
본 실시예들 중 하나 이상은 또한 전술한 방법들 중 임의의 것의 적어도 일부에 따라 비디오 데이터를 인코딩 또는 디코딩하기 위한 명령어들이 저장된 컴퓨터 판독가능 저장 매체를 제공한다. 하나 이상의 실시예는 또한 전술한 인코딩 방법들에 따라 생성된 비트스트림이 저장된 컴퓨터 판독가능 저장 매체를 제공한다. 하나 이상의 실시예는 또한 전술한 인코딩 방법들에 따라 생성된 비트스트림을 송신 또는 수신하기 위한 방법 및 장치를 제공한다. 하나 이상의 실시예는 또한 전술한 방법들 중 임의의 것의 적어도 일부를 수행하기 위한 명령어들을 포함하는 컴퓨터 프로그램 제품을 제공한다.
도 1은 더 작은 유닛들로 파티셔닝된 코딩 트리 유닛(Coding Tree Unit, CTU)을 묘사한다.
도 2는 "JEM-LIC"의 경우에 이웃하는 재구성된 샘플들 및 대응하는 병치된 참조 샘플들로부터의 현재 블록에 대한 로컬 조명 보상(local illumination compensation, LIC) 파라미터 도출의 원리를 도시한다.
도 3은 "VVC-LIC"의 경우의 LIC 파라미터 계산 프로세스를 도시한다.
도 4는 위에 저장된 LIC 파라미터들로부터의 "VVC-LIC"의 경우에 LIC 파라미터 도출을 좌측에 도시하고, 4x4 해상도로 프레임 레벨에 저장된 수직(어두운 회색) 및 수평(밝은 회색) LIC 파라미터들을 우측에 도시한다.
도 5는 "VVC-LIC"의 경우에 크기 128x128의 CTU 및 32x2의 저장된 LIC 파라미터들을 도시한다.
도 6은 현재 코딩 유닛(Coding Unit, CU) 및 그의 좌측 및 그 위의 이웃 CU들을 묘사한다.
도 7은 CU들로 파티셔닝된 CTU들을 묘사하고, "VVC-LIC"의 경우에 이들 중 일부에 대한 LIC 파라미터들의 비가용성의 원리 또는 "JEM-LIC"의 경우에 이웃하는 재구성된 샘플들의 비가용성의 원리를 도시한다.
도 8은 일 실시예에 따른, "VVC-LIC"의 경우에 CU를 디코딩하는 방법의 흐름도를 묘사한다.
도 9는 CU들로 파티셔닝된 CTU들을 묘사하고, "VVC-LIC" 또는 "JEM-LIC"의 경우에 다양한 실시예들에 따른 LIC 파라미터 액세스 제한의 원리를 도시한다.
도 10 및 도 11은 CU들로 파티셔닝된 CTU들을 묘사하고, 다양한 실시예들에 따른 LIC-그룹의 원리를 도시한다.
도 12a 및 도 12b는 다양한 실시예들에 따른 디코딩 방법의 흐름도들을 묘사한다.
도 13은 현재 CU 및 그의 이웃 CU들을 묘사하며 일 실시예에 따른 LIC 파라미터 도출의 원리를 도시한다.
도 14는 실시예에 따른 비디오 인코더의 블록도를 도시한다.
도 15는 실시예에 따른 비디오 디코더의 블록도를 도시한다.
도 16은 다양한 양태 및 실시예가 구현되는 시스템의 한 예의 블록도를 도시한다.
도 2는 "JEM-LIC"의 경우에 이웃하는 재구성된 샘플들 및 대응하는 병치된 참조 샘플들로부터의 현재 블록에 대한 로컬 조명 보상(local illumination compensation, LIC) 파라미터 도출의 원리를 도시한다.
도 3은 "VVC-LIC"의 경우의 LIC 파라미터 계산 프로세스를 도시한다.
도 4는 위에 저장된 LIC 파라미터들로부터의 "VVC-LIC"의 경우에 LIC 파라미터 도출을 좌측에 도시하고, 4x4 해상도로 프레임 레벨에 저장된 수직(어두운 회색) 및 수평(밝은 회색) LIC 파라미터들을 우측에 도시한다.
도 5는 "VVC-LIC"의 경우에 크기 128x128의 CTU 및 32x2의 저장된 LIC 파라미터들을 도시한다.
도 6은 현재 코딩 유닛(Coding Unit, CU) 및 그의 좌측 및 그 위의 이웃 CU들을 묘사한다.
도 7은 CU들로 파티셔닝된 CTU들을 묘사하고, "VVC-LIC"의 경우에 이들 중 일부에 대한 LIC 파라미터들의 비가용성의 원리 또는 "JEM-LIC"의 경우에 이웃하는 재구성된 샘플들의 비가용성의 원리를 도시한다.
도 8은 일 실시예에 따른, "VVC-LIC"의 경우에 CU를 디코딩하는 방법의 흐름도를 묘사한다.
도 9는 CU들로 파티셔닝된 CTU들을 묘사하고, "VVC-LIC" 또는 "JEM-LIC"의 경우에 다양한 실시예들에 따른 LIC 파라미터 액세스 제한의 원리를 도시한다.
도 10 및 도 11은 CU들로 파티셔닝된 CTU들을 묘사하고, 다양한 실시예들에 따른 LIC-그룹의 원리를 도시한다.
도 12a 및 도 12b는 다양한 실시예들에 따른 디코딩 방법의 흐름도들을 묘사한다.
도 13은 현재 CU 및 그의 이웃 CU들을 묘사하며 일 실시예에 따른 LIC 파라미터 도출의 원리를 도시한다.
도 14는 실시예에 따른 비디오 인코더의 블록도를 도시한다.
도 15는 실시예에 따른 비디오 디코더의 블록도를 도시한다.
도 16은 다양한 양태 및 실시예가 구현되는 시스템의 한 예의 블록도를 도시한다.
HEVC 코딩에서, 픽처는 전형적으로 64x64, 128x128, 또는 256x256의 구성가능한 크기를 갖는 정사각형 형상의 CTU들로 파티셔닝된다. CTU는 동일한 크기의 4개의 정사각형 코딩 유닛(CU)으로, 즉 도 1에 묘사된 바와 같이 폭 및 높이에 있어서 부모 블록 크기의 절반 크기로 파티셔닝되는 쿼드-트리의 루트이다. 쿼드-트리는 부모 노드가 4개의 자식 노드로 스플릿될 수 있는 트리이고, 자식 노드들 각각은 4개의 자식 노드로의 또 다른 스플릿에 대한 부모 노드가 될 수 있다. HEVC에서, 코딩 블록(coding Block, CB)은 하나 이상의 예측 블록(Prediction Block, PB)으로 파티셔닝되고, 변환 블록(Transform Block, TB)들로의 쿼드트리 파티셔닝의 루트를 형성한다. 코딩 블록, 예측 블록 및 변환 블록에 대응하여, 코딩 유닛(CU)은 예측 유닛들(PU들) 및 변환 유닛들(TU들)의 트리-구조화된 세트를 포함하고, PU는 모든 컬러 성분들에 대한 예측 정보를 포함하고, TU는 각각의 컬러 성분에 대한 잔차 코딩 신택스 구조를 포함한다. 루마 성분의 CB, PB 및 TB의 크기는 대응하는 CU, PU 및 TU에 적용된다.
보다 최근의 인코딩 시스템들에서, CTU는 코딩 유닛(CU)들로 파티셔닝되는 코딩 트리의 루트이다. 코딩 트리는 부모 노드(보통은 CU에 대응함)가 자식 노드들로 (예를 들어, 2, 3 또는 4개의 자식 노드로) 스플릿될 수 있는 트리이고, 자식 노드들 각각은 자식 노드들로의 또 다른 스플릿에 대한 부모 노드가 될 수 있다. 쿼드-트리 스플릿 모드에 더하여, 가능한 스플릿 모드들의 총 수를 증가시키는 새로운 스플릿 모드들(이진 트리 대칭 스플릿 모드들, 이진 트리 비대칭 스플릿 모드들 및 트리플 트리 스플릿 모드들)이 또한 정의된다. 코딩 트리는 고유 루트 노드, 예를 들어, CTU를 갖는다. 코딩 트리의 리프(leaf)는 트리의 종단 노드이다. 코딩 트리의 각각의 노드는 서브-CU들 또는 더 일반적으로는 서브-블록들로 또한 명명되는 더 작은 CU들로 더 스플릿될 수 있는 CU를 나타낸다. 일단 CTU의 CU들로의 파티셔닝이 결정되면, 코딩 트리의 리프들에 대응하는 CU들이 인코딩된다. CTU의 CU들로의 파티셔닝 및 (코딩 트리의 리프에 대응하는) 각각의 CU를 인코딩하기 위해 사용되는 코딩 파라미터들은 레이트 왜곡 최적화 절차를 통해 인코더 측에서 결정될 수 있다. CB의 PB들 및 TB들로의 파티셔닝은 없는데, 즉, CU는 단일 PU 및 단일 TU로 만들어진다.
이미지는 슬라이스들 또는 타일들로 파티셔닝될 수 있다. 각각의 슬라이스 또는 타일은 CU들의 그룹이고 및/또는 분수 CU들을 포함할 수 있다.
본 출원에서, "블록" 또는 "픽처 블록(picture block)"이라는 용어는 CTU, CU, PU, TU, CB, PB 및 TB 중 임의의 것을 지칭하기 위해 사용될 수 있다. 그에 부가하여, "블록" 또는 "픽처 블록"이라는 용어는 H.264/AVC에서 또는 다른 비디오 코딩 표준들에서 지정된 바와 같은 매크로블록, 파티션 및 서브-블록을 지칭하기 위해 사용될 수 있고, 보다 일반적으로는 수많은 크기의 샘플들의 어레이를 지칭하기 위해 사용될 수 있다.
본 출원에서, 용어 "재구성된" 및 "디코딩된"은 상호교환가능하게 사용될 수 있고, 용어 "픽셀" 및 "샘플"은 상호교환가능하게 사용될 수 있고, 용어 "이미지", "픽처", "프레임", "슬라이스", 또는 "타일"은 상호교환가능하게 사용될 수 있다. 필수적은 아니지만 보통은, 용어 "재구성된"은 인코더 측에서 사용되는 한편, "디코딩된"은 디코더 측에서 사용된다.
CU를 코딩하기 위해, 예측 블록은 이웃하는 재구성된 샘플들로부터(인트라 예측) 또는 디코딩된 픽처 버퍼(Decoded Pictures Buffer, DPB)에 저장된 이전에 재구성된 픽처들로부터(인터 예측) 구축된다. 다음으로, 원래 샘플들과 PU 샘플들 간의 차이로서 계산된 잔차 샘플들이 변환되고 양자화된다. 인터-예측에서, 비디오의 연속적인 픽처들 사이에 존재하는 중복성을 활용하기 위해 모션 보상된 시간 예측이 채택된다. 그렇게 하기 위해, 모션 벡터 및 LIST_0의 어느 참조 픽처를 이용할지를 나타내는 참조 인덱스 0(refIdx0)이 PU와 연관된다. 가능하게는, 몇 개의 PU가 함께 조합되어 하나의 최종 PU를 형성할 수 있다(예를 들어, 양방향 예측, 일반화된 양방향 예측 또는 다중-가설 예측).
JVET(Joint Video Exploration Team) 그룹에 의해 개발된 JEM(Joint Exploration Model)에서, LIC(Local Illumination Compensation)를 포함하는, 디코더 측에서 결정된 연관된 파라미터들을 갖는 추가적인 시간 예측 도구들이 도입되었다. 기본적으로, LIC의 목적은 예측된 블록과 모션 보상된 시간 예측을 통해 채택되는 그 참조 블록 사이에서 발생할 수 있는 조명 변화를 보상하는 것이다.
LIC의 사용은 인터로 코딩된 각각의 코딩 유닛(CU)과 연관된 플래그(LIC 플래그)를 통해 CU 레벨에서 통상적으로 시그널링된다. 이 도구에 따르면, 디코더는 예측될 현재 블록의 좌측에 및/또는 상단에 국소화된 일부 재구성된 픽처 샘플들, 및 모션 보상된 블록의 좌측에 및/또는 상단에 국소화된 참조 픽처 샘플들에 기초하여 일부 예측 파라미터들을 계산한다(도 2). JEM에서, 주어진 블록에 대한 LIC의 사용은, LIC 플래그로 불리는, 이 블록과 연관된 플래그에 의존한다. 이 문서 전체에 걸쳐, 이 기법은 "JEM-LIC"로서 지칭된다.
LIC 파라미터들(가중치=a, 오프셋=b)은 다음과 같이 정의된 로컬 왜곡을 최소화함으로써 결정된다:
여기서:
rec_cur(r)은 이웃하는 재구성된 샘플이다
rec_ref(s)는 참조 샘플이다
Vcur은 현재 CU에 대한 재구성된 샘플 이웃이다.
Vref는 PU를 구축하기 위해 사용되는 참조 샘플들에 대한 재구성된 샘플 이웃이다.
일단 LIC 파라미터들이 현재 CU에 대해 인코더 또는 디코더에 의해 획득되면, 현재 CU의 예측 pred(current_block)는 다음과 같이 결정된다(단방향 예측 경우):
[수학식 1]
여기서 current_block은 예측할 현재 블록이고, pred(current_block)은 현재 블록의 예측이며, ref_block은 현재 블록의 시간 예측에 사용되는 참조 블록이다.
이러한 기본적인 접근법의 한 가지 단점은 인코더/디코더가 이미 재구성된 상단 및 좌측 이웃 블록들의 재구성된 샘플들에 액세스하는 것을 필요하게 만든다는 것이다. 이 양태는 바람직하지 않은데, 주로 모션 보상 프로세스에서 일부 레이턴시를 도입하고, 메모리 대역폭(도 2에 묘사된 바와 같은 추가적인 참조 및 재구성된 이웃 샘플들에 대한 액세스)을 증가시키고, 일부 기존의 디코더 파이프라인 아키텍처들을 잠재적으로 파괴하기 때문이다.
이러한 문제들에 대처하기 위해, LIC 파라미터들은 이러한 추가적인 샘플들에 액세스하는 것을 회피하는 방식으로 계산될 수 있다. 그렇게 하기 위해, LIC 파라미터들은 현재 CU의 하부 에지 및 우측 에지에서의 각각의 CU 재구성 후에 계산되고 저장되며, 따라서 이들은 LIC 보상을 수행하기 위해 후속 CU들에 의해 재사용될 수 있다(도 3). 이 문서 전체에 걸쳐, 이 기법은 "VVC-LIC"로서 지칭된다.
그러나, 이러한 마지막 접근법의 하나의 주요 단점은, 이것이 전체 슬라이스 또는 픽처에 대해, 각각의 CU 재구성 이후에 LIC 파라미터들을 저장한다는 것이며, 이는 디코딩 프로세스에서 증가된 메모리 소비(도 4) 및 증가된 처리량을 초래한다. 도 4의 좌측에서, 현재 CU에 대한 LIC 파라미터들은 상기 저장된 LIC 파라미터들로부터 결정된다. 도 4의 우측에서, 수직(어두운 회색) 및 수평(밝은 회색) LIC 파라미터들은 프레임 레벨에서 4x4 해상도로 저장된다.
"VVC-LIC"의 경우, 모든 CTU를 디코딩하기 위해 사용되는 공통 LIC 버퍼에 LIC 파라미터들을 저장함으로써 메모리 요구가 감소될 수 있다. LIC 버퍼는, 도 5에 묘사된 바와 같이 CTU의 높이와 동일한 크기의 하나의 단일 열 및 CTU의 폭과 동일한 크기의 하나의 단일 행을 포함한다. 각각의 CU의 처리의 끝에서, 각각의 컬러 성분 및 각각의 참조 리스트에 대해, LIC 파라미터들은 하단 및 우측 경계들에서 계산된다. 그 후, 그들은 (현재 CU의 우측 또는 아래의) 후속 CU들에 의해 가능하게는 액세스될 수 있도록 공통 LIC 버퍼에 저장된다. CU 예측 스테이지에서, LIC 파라미터들은 공통 LIC 버퍼에서 액세스된다. 도 5에 묘사된 바와 같이, 행 버퍼는 이웃하는 상부 CU들과 함께 계산된 LIC 파라미터들을 포함하고, 열 버퍼는 이웃하는 좌측 CU들과 함께 계산된 LIC 파라미터들을 포함한다.
최소 CTU 크기가 4x4인 경우, 3개의 컬러 성분(도 5) 및 2개의 참조 리스트에 대해, 모든 LIC 파라미터는 상단 LIC 파라미터들에 대한 크기 (CTU-width/4)의 하나의 LIC 버퍼에, 및 좌측 LIC 파라미터들에 대한 크기 (CTU-height/4)의 하나의 LIC 버퍼에 저장된다.
PU 재구성에서 사용할 LIC 파라미터들의 결정
인터 단방향 모드에서, PU는 DPB(Decoded Picture Buffer)에 저장된 이전에 재구성된 참조 픽처에서의 샘플들의 블록을 모션 보상함으로써 구축된다. DPB는 참조 픽처들(L0 및 L1)의 2개의 리스트를 포함하고, 각각의 참조 픽처는 인덱스 (refIdx)와 연관된다. 양방향 예측에서, 2개의 예측 블록은 2개의 참조 인덱스(refIdx0, refIdx1)를 사용하여 L0 및 L1의 2개의 참조 픽처로부터 구축된다. LIC가 현재 CU에 대해 인에이블될 때, LIC 파라미터들은 "VVC-LIC"의 경우에 공통 행(또는 제각기 열) LIC 버퍼에 저장되는 하나의 상단(또는 하나의 좌측) 재구성된 CU로부터 계산된 LIC 파라미터들로부터 복사된다. LIC 파라미터들은 "JEM-LIC"의 경우에 재구성된 상단 및 좌측 샘플들로부터 결정된다.
"VVC-LIC"의 경우, 상단 및 좌측 LIC 파라미터들 둘 모두가 이용가능하지만 상이할 수 있기 때문에, 단일 LIC 모델을 획득하기 위해 프루닝(pruning)이 수행된다. 인트라 코딩된 CU 이웃들은 프루닝 프로세스에서 폐기된다. 다음으로, 사소한 모델(trivial model)[가중치=1 및 오프셋=0]을 갖는 이웃들은 프루닝 프로세스에서 폐기된다. 모델이 남아있지 않으면, 사소한 모델이 사용된다. 모델(들)이 여전히 남아 있는 경우, 현재 CU와 동일한 참조 인덱스를 갖는 이웃들은 더 높은 우선순위를 부여받는다. 다수의 이웃이 동일한 참조 인덱스를 갖는 경우, 우측-상단(또는 좌측-하단) 이웃은 좌측-상단(또는 하단-상단) 이웃과 비교하여 더 높은 우선순위를 부여받는다(도 6).
변형예에서, 그 MV가 현재 CU의 MV에 가장 가까운 이웃에게는 더 높은 우선순위가 주어진다. 도 6에서, 상부 및 좌측 이웃들은, 만약 있다면 현재 PU와 동일한 참조 인덱스를 가진 이웃을 찾기 위해서 우측-상단에서 좌측-상단으로 및 좌측-하단에서 좌측-상단으로 스캐닝된다.
동일한 프루닝 원리가 "JEM-LIC"에 적용될 수 있다. 그 경우, LIC 파라미터들을 계산하는데 이용된 재구성된 샘플들은 더 높은 우선 순위가 주어진 CU에 대응하는 것들이다.
"VVC-LIC"의 경우, 하나의 CTU를 재구성하기 전에, 상단 LIC 파라미터들을 저장하는 LIC 버퍼는 디폴트로 리셋되어, 현재 CTU의 상단의 CU들에 대해 LIC가 디스에이블되도록 한다. CTU들의 하나의 행을 재구성하기 시작할 때, 좌측 LIC 파라미터들을 저장하는 LIC 버퍼는 디폴트로 리셋되어, CTU가 하나의 행에서의 제1 CTU인 경우에만 LIC가 디스에이블되도록 한다(도 7). 도 7에서, 상부 LIC 파라미터들은 CTU의 상단에 위치된 CU들에 대해 이용가능하지 않다. 게다가, 아래의 CTU에 대해, 상부 LIC 파라미터들에 대한 액세스가 허용되지 않기 때문에, LIC 파라미터들은 CTU의 하단에 있는 CU들에 대해 계산되지 않는다(도 7).
"VVC-LIC" 및 "JEM-LIC" 방법들은 인터 CU의 디코딩에 있어서 종속성을 도입한다. 실제로, LIC-flag=참인 경우, 현재 CU는 그 자신의 디코딩이 시작되기 전에 좌측 및 상부 CU들이 디코딩되기를 기다릴 필요가 있다. 또한, "VVC-LIC" 방법은, 우측 또는 하단 CU가 LIC를 이용하지 않더라도, 각각의 CU 재구성(하단 및 우측 에지들) 후에 LIC 파라미터들을 계산함으로써 계산량을 증가시킨다. 마지막으로, LIC-flag는 또한 코딩하는데 비용이 많이 든다.
적어도 하나의 실시예는 LIC 프로세스에서 일부 제한들을 추가함으로써 인터로 CU를 디코딩함에 있어서 LIC에 의해 도입된 파이프라인 종속성을 감소시키는 것을 제안한다.
적어도 하나의 실시예는 코딩 효율성을 개선하고 디코딩 프로세스의 속도를 높이기 위한 시그널링을 추가할 것을 제안한다.
실시예-1
도 8은 특정한 비제한적인 실시예에 따라 "VVC-LIC"의 경우에 현재 CU를 디코딩하기 위한 방법의 흐름도를 나타낸다. 먼저, 현재 CU와 연관된 신택스 요소들이 비트스트림으로부터 파싱되고(310), CU 파라미터들이 디코딩된다(320). 이는 비트스트림에서 명시적으로 코딩된 CU 파라미터들(예를 들어: IC-flag) 및 다른 신택스 요소들로부터 추론된 다른 CU 파라미터들(예를 들어, 병합 모드에서, IC-flag는 현재 CU가 그로부터 상속하는 이웃하는 CU의 IC-flag로부터 추론됨)의 디코딩을 포함한다. 다음으로, 예측 PU(모션 보상)가 구축된다(321). IC-flag=참인 경우, "VVC-LIC"의 경우에 LIC 파라미터들은 LIC 버퍼(322)로부터 결정되고, 조명 보상은 예측(PU)에 적용되는데, 즉 현재 CU는 그 재구성을 위해 상기 결정된 조명 보상 파라미터를 이용한다. 다음으로, CU는 예측 PU에 잔차들을 더함으로써 재구성된다(325).
다음 단계들(330-390)은 후속 CU들에 의해 가능하게는 사용되는 LIC 파라미터들의 계산 및 저장을 다룬다. 현재 CU가 현재 CTU의 하단에 위치하면(330), 수평 LIC 파라미터들이 디폴트들로 설정되고(340), 그렇지 않으면 수평 LIC 파라미터들은 현재 CU의 하단에 위치된 현재 CU의 재구성된 샘플들로 계산된다(350). 그후 이들은 수평 LIC 버퍼에 저장된다(360). 현재 CU가 현재 CTU의 우측에 위치되면(370), 수직 LIC 파라미터들은 디폴트들로 설정되고(340), 그렇지 않으면 수직 LIC 파라미터들은 현재 CU의 우측에 위치된 현재 CU의 재구성된 샘플들에 의해 계산되고(380), 이들은 수직 LIC 버퍼에 저장된다(390).
이 실시예는 또한 VVC-LIC에 특정적인 단계들(330 내지 390)을 제외하고는 "JEM-LIC"에 적용된다. VVC-LIC의 경우, 단계(322)에서 현재 CU에 대한 LIC 파라미터들은 LIC 버퍼로부터 도출된다. JEM-LIC의 경우, 단계(322)에서 현재 CU에 대한 LIC 파라미터들은 이웃하는 재구성된 샘플들로부터 도출된다.
실시예-2
적어도 하나의 실시예는 LIC 모드가 인에이블되어(LIC 플래그=참) 인터 모드에서 코딩된 CU를 디코딩할 때 도입된 비디오 파이프라인 의존성을 제한하기 위한 추가적인 조건들을 제안한다.
어느 한 CTU에서의 인터 모드에서 코딩된 CU들의 디코딩을 또 다른 CTU 내에서의 CU들의 디코딩과 독립적으로 만들기 위해, 다른 CU로부터 계산된 LIC 파라미터들의 상속(inheritance)은 현재의 것과 동일한 CTU 내에 있도록 제약된다. 다시 말해서, 어느 한 CU는, 이 CU가 현재 CU와 동일한 CTU에 있는 경우에만 또 다른 CU로부터 LIC 파라미터들을 상속할 수 있다.
실제로, "VVC-LIC"의 경우에, 이는 현재 CTU(370, 380)의 디코딩 시작에서 수직 버퍼(도 5의 어두운 회색 버퍼 참조)의 LIC 파라미터들을 디폴트 LIC 값들(340)(가중치=1, 오프셋=0)로 채움으로써 구현될 수 있다. 이는 또한 CTU에서의 상단-좌측 CU에 대한 LIC를 디스에이블함으로써 구현될 수 있다. "JEM-LIC"의 경우, 이는 수학식 1에서 현재 CTU 외부의 재구성된 샘플들의 사용을 디스에이블함으로써 구현될 수 있다. 도 9는 다양한 실시예들에 대응하는 LIC 파라미터 상속("VVC-LIC" 경우) 또는 재구성된 샘플 액세스("JEM-LIC" 경우) 제한들을 묘사한다. 도 9의 상단-우측에서, LIC 파라미터 액세스 또는 재구성된 샘플 액세스는 현재 CTU에 제한된다. 도 9의 상단-좌측 및 하단 상에서, 하나의 이미지 행에서의 제1 CU들을 제외하고, LIC 파라미터 액세스 또는 재구성된 샘플 액세스는 좌측에서 허용되지만, 상단 LIC 파라미터들 또는 상단 재구성된 샘플들에 대한 액세스는 도 9의 상단-좌측에서의 현재 CTU에 제한된다.
실시예-3
적어도 하나의 실시예에서, LIC 파라미터들이 동일한 LIC-그룹만에서의 CU로부터 상속되거나 계산될 수 있는 LIC-그룹들을 정의한다. 그렇게 함으로써, 어느 한 LIC-그룹에서의 인터 모드에서 코딩된 일부 CU들의 디코딩을 또 다른 LIC-그룹에서의 다른 CU들의 디코딩과 독립적으로 만든다. 이는 개별 스레드들에 의해 인터 모드에서 상이한 CU들을 디코딩하는 것을 허용한다. LIC-그룹이 CTU일 때, 실시예-3은 실시예-2와 동일하다(도 9의 상단-우측). LIC-그룹 크기는 하드웨어가 한꺼번에(all-in-one) 처리할 수 있는 최대 샘플 크기인 VPU(Video Processing Unit) 또는 VDPU(Video Data Processing Unit) 또는 HU(Hardware Unit)에 의해 결정될 수 있다.
변형예에서, LIC-그룹 또는 VPU는 시퀀스 헤더(예를 들어, SPS, SPS는 시퀀스 파라미터 세트를 나타냄) 또는 픽처/슬라이스 헤더(예를 들어, PPS, PPS는 픽처 파라미터 세트를 나타냄)에서 비트스트림에서 코딩된다.
예로서, CTU의 크기가 128x128일 때, "LIC-그룹들"의 크기는 64x64 또는 128x128 또는 256x128 또는 256x256일 수 있다. 따라서, LIC-그룹은 CTU일 수 있고, CTU보다 작거나 CTU보다 클 수 있다.
변형예에서, LIC-플래그는 코딩되지 않고, LIC-그룹에서의 상단-좌측 CU에 대하여 거짓으로 추론된다. 달리 말하면, 현재 블록이 동일한 로컬 조명 보상 그룹에서의 상단-좌측 위치에 위치하지 않는 경우, 현재 블록을 재구성하는 것이 결정된 조명 보상 파라미터를 이용하는지를 나타내는 플래그가 디코딩된다.
또 다른 변형예에서, LIC-플래그는 코딩되지 않고, 모든 상단 이웃들 또는 좌측 이웃들이 인트라 모드에서 코딩되는 LIC-그룹에서의 CU들에 대해 거짓으로 추론된다. 달리 말하면, 현재 블록의 위에 위치하거나 또는 그 좌측에 위치한 적어도 하나의 블록이 인터 모드에서 코딩되는 경우, 상기 현재 블록을 재구성하는 것이 상기 결정된 조명 보상 파라미터를 사용하는지를 나타내는 플래그가 디코딩된다.
실시예-4
도 12a는 일 실시예에 따른 디코딩 방법의 흐름도를 묘사한다. 보다 정확하게는, 도 12a는 CU들의 그룹인 LIC-그룹에 속하는 CU들에 대해 LIC-group-flag-enabled의 디코딩을 도시한다. 이 예에서, LIC-그룹은 하나의 CTU에 대응한다. 또 다른 LIC-그룹을 정의한다. LIC-그룹에서의 적어도 하나의 CU가 컴퓨팅 예측을 위해 LIC를 이용하는지를 나타내는 플래그(LIC-group-flag-enabled)를 디코딩한다(315). 이것은 "JEM-LIC" 또는 "VVC-LIC"와 함께 사용될 수 있다.
다음으로, 예측 PU(모션 보상)가 구축된다(321). IC-flag=참 및 LIC-group-flag-enabled인 경우, LIC 파라미터들은 LIC 버퍼(322)로부터 결정되고 조명 보상은 예측(PU)에 적용된다. 다음으로, CU는 예측 PU에 잔차들을 더함으로써 재구성된다(325).
이러한 플래그를 정의하는 것은 코딩 효율성을 개선하는데, 그 이유는 LIC-group-flag-enabled가 거짓인 경우에:
a) LIC-플래그가 LIC-그룹 내부의 CU들에 대해 디코딩되지 않지만 거짓으로 추론된다(320).
b) 이는 LIC가 LIC-group-2 내부의 CU들에 대해 PU에 적용되지 않기 때문에 디코더를 가속화한다(322).
c) "VVC-LIC"의 경우, 이는, 이들이 LIC-그룹(327)의 우측 또는 하단인 경우를 제외하고는(도 10), LIC 파라미터들이 LIC-그룹 내부의 CU들에 대해 계산되지 않기 때문에, 또한 디코더를 가속화하기(335) 때문이다.
이 실시예는 다른 실시예들 1 내지 3과 독립적이지만, 이것은 실시예들 1 내지 3과 조합될 수 있다. 제1 경우에, "LIC-group-flag-enabled"가 코딩되어 적용된다: IC-flag=참을 갖는 CU에 대해, 실시예들 1 내지 3에서와 같이 LIC 파라미터들의 도출에 대한 어떤 제한도 없다. 제2 경우에, "LIC-group-flag-enabled"가 코딩되어 적용된다: IC-flag=참을 갖는 CU에 대해, LIC 파라미터들의 도출에 대한 제약은 실시예 1 내지 실시예 3에서와 동일하다.
도 10에서, LIC-group-flag-enabled가 거짓인 "VVC-LIC"의 경우에, LIC 파라미터들은, LIC-group 내부의 CU들(백색 CU들)에 대해, 이들이 LIC-group에 대해 우측 또는 하단인 경우를 제외하고는(회색 CU들) 계산되지 않는다. 여기서, 하나의 그룹은 하나의 CTU에 대응한다.
변형예에서, "VVC-LIC"의 경우에, 플래그(LIC-group-flag-enabled)는 LIC-group의 CU들을 재구성한 후에 LIC 파라미터들이 계산되고 저장되어야 하는지를 표시한다.
실시예-5
도 12b에 도시된 실시예 4의 변형예에서, LIC-group-flag-enabled의 시맨틱이 변경된다. 이는, LIC-flag가 LIC-group에서 명시적으로 코딩될 때(318)("병합 모드"에 의해 상속되지 않을 때) 적어도 하나의 CU가 참인 LIC-flag 값을 갖는지를 나타낸다. 이 경우, 다른 CU들로부터 LIC-flag의 값을 상속하고("병합 모드": 317 merge-flag= 참) 또한 LIC-flag가 그에 대해 코딩되지 않은 CU들은 LIC-group-flag-enabled에 의해 고려되지 않는다. 예를 들어, 하나의 LIC-group에서 LIC-group-flag-enabled=거짓 및 하나의 이웃 CU로부터 LIC-flag=참을 상속하는 하나의 CU를 가질 수 있다(도 11). LIC-group-flag-enabled=참은 LIC-flag의 값이 그에 대해 명시적으로 코딩되고(병합에 의해 상속되지 않고) LIC-flag가 그에 대해 참인, LIC-group에서의 적어도 하나의 CU가 있다는 것을 나타낸다(도 11의 상단-좌측 CTU). LIC-group-flag-enabled=거짓은 LIC-flag의 값이 그에 대해 명시적으로 코딩되는(병합에 의해 상속되지 않는) LIC-group에서의 모든 CU가 거짓인 LIC-flag를 갖지만, 이것은 이들이 LIC-flag의 값을 상속할 때(병합 모드)(도 11에서 상단 우측 CTU) LIC-flag가 참인 CU를 가질 수 있다는 것을 나타낸다.
실시예-6
변형예에서, "LIC-group-flag-enabled"은 인터 모드에서 코딩되는 CU들의 그룹에서의 제1 CU로 코딩된다. 그러한 방식으로, 모든 CU가 인트라로 코딩되면, 플래그 "LIC-group-flag-enabled"는 코딩되지 않고 거짓으로 추론된다.
또 다른 변형예에서, "LIC-group-flag-enabled"은 병합 모드가 아니라 인터로 코딩되는 그룹에서의 제1 CU로 코딩된다. 그러한 방식으로, 모든 CU가 인트라로 코딩되면, 플래그 "LIC-group-flag-enabled"는 코딩되지 않고 거짓으로 추론된다.
변형예에서, "LIC-group-flag-enabled"의 값은 인터-병합 모드에서 CU에 대한 "LIC-flag"의 값을 수정하지 않는다. 인터-병합 모드에서의 CU는 그것이 다른 코딩 파라미터들을 상속받은 재구성된 CU의 LIC-flag로부터 LIC-flag의 값을 추론한다.
변형예에서, "LIC-group-flag-enabled"의 값이 거짓이면, "LIC-flag"의 값은 (인터에서 및 인터-병합 모드에서) 모든 CU에 대해 거짓으로 추론된다. 이 경우, 인터-병합 모드에서의 CU는 LIC-flag의 값을 거짓인 것으로 추론한다.
실시예-7
실시예 4의 변형예에서, 최소 CU 크기 "minCUsize"를 정의하고, LIC-group-flag-enabled는 LIC-group에서 "minCUsize"보다 열등한 크기의 적어도 하나의 CU가 컴퓨팅 예측을 위해 LIC를 이용하는지를 나타낸다. 그러한 방식으로, LIC-group-flag-enabled가 거짓이면, LIC-flag는 "minCUsize"보다 열등한 크기를 갖는 CU들에 대해 코딩되지 않는다.
변형예에서, LIC-group-flag-enabled는 LIC-group 그룹에서의 "minCUsize"보다 우수한 크기의 적어도 하나의 CU가 컴퓨팅 예측을 위해 LIC를 이용하는지를 나타낸다. 이러한 방식으로, LIC-group-flag-enabled가 거짓이면, LIC-flag는 "minCUsize"보다 우수한 크기를 갖는 CU들에 대해 코딩되지 않는다.
유리하게는, 값 "minCUsize"는 예를 들어, SPS, PPS 또는 슬라이스 헤더에서 비트스트림에서 코딩된다. "minCUsize"의 예는 통상적으로 4x4 또는 8x8일 수 있다.
실시예-8
실시예들 1, 2, 3, 4, 5, 6, 7은 또한, "JEM-LIC"에 대한 CU 재구성 이후 LIC 파라미터들이 계산되지 않는다는 점을 제외하고는, "JEM-LIC" 및 "VVC-LIC" 기술들의 경우에 적용 및 조합될 수 있다. "VVC-LIC"에 대한 상단-수평 LIC 버퍼 또는 좌측-수직 LIC 버퍼에서의 LIC 파라미터들의 액세스에 대한 제한들은, 제각기, "JEM-LIC"에 대한 현재 CU의 위에 또는 좌측에 위치한 재구성 샘플들의 액세스에 대한 제한들에 대응한다.
실시예-9
"VVC-LIC" 또는 "JEM-LIC"의 경우에, 이웃 CU들로부터 LIC 파라미터들(또는 제각기 재구성된 샘플들)을 선택하는 프로세스에서(도 6), 동일한 참조 인덱스를 갖는 CU들과 연관된 LIC 파라미터들(또는 각각 재구성된 샘플들)의 리스트를 구축하고, "VVC-LIC"의 경우에 현재 CU에 대해 사용할 LIC 파라미터들은 이들 LIC 파라미터의 평균이다. "VVC-LIC" 변형예에서, 평균은 가중치들이 이웃하는 CU 폭(상부 CU들) 또는 이웃하는 CU 높이(좌측 CU들)에 비례하는 가중 평균이다. 변형예에서, 가중치들은 가중치들 w1 및 w7에 대해 도 13에 묘사된 바와 같이 현재 CU를 갖는 공통 프론티어(frontier)의 길이에 비례한다.
변형예에서, MV가 현재 CU의 현재 MV에 가장 가까운 이웃의 LIC 파라미터들(또는 제각기 재구성된 샘플들)이 현재 CU에 대해 (제각기 LIC 파라미터들을 계산하기 위해) 이용된다.
다양한 실시예들은 또 다른 LIC-group 내부의 CU들의 디코딩과는 독립적으로, 하나의 LIC-group, 예를 들어, 하나의 CTU에서 인터 모드에서 코딩된 CU들의 디코딩을 행한다. 다른 CU("VVC-LIC") 또는 LIC 파라미터를 도출하는데 이용되는 재구성된 샘플들의 세트("JEM-LIC")로부터 계산된 LIC 파라미터들의 상속은 현재의 것과 동일한 LIC-group 내부에 있도록 제약된다. 다시 말해서, 하나의 CU는, 이 CU가 현재 CU와 동일한 LIC-group에 있는 경우에만, LIC 파라미터들을 상속할 수 있거나 또 다른 CU로부터의 재구성된 샘플들을 이용할 수 있다.
이 출원은 도구, 특징, 실시예, 모델, 접근법 등을 포함하는 다양한 양태를 설명한다. 이러한 양태들 중 다수는 특정성으로 설명되고, 적어도 개별적인 특성들을 보여주기 위해, 종종 제한하는 것처럼 들리는 방식으로 설명된다. 그러나, 이것은 설명에서의 명료성을 위한 것이며, 그러한 양태들의 적용 또는 범위를 제한하지는 않는다. 실제로, 상이한 양태들 모두가 추가 양태들을 제공하기 위해 조합되고 교환될 수 있다. 더욱이, 양태들은 또한 더 이른 출원들에서 설명된 양태들과 조합되고 교환될 수 있다.
본 출원에서 설명되고 고려되는 양태들은 많은 상이한 형태들로 구현될 수 있다. 이하의 도 14, 도 15 및 도 16은 일부 실시예들을 제공하지만, 다른 실시예들이 고려되고, 도 14, 도 15 및 도 16의 논의는 구현들의 범위를 제한하지 않는다. 양태들 중 적어도 하나는 일반적으로 비디오 인코딩 및 디코딩에 관한 것이고, 적어도 하나의 다른 양태는 일반적으로 생성되거나 인코딩된 비트스트림을 송신하는 것에 관한 것이다. 이들 및 다른 양태들은 방법, 장치, 설명된 방법들 중 임의의 방법에 따라 비디오 데이터를 인코딩 또는 디코딩하기 위한 명령어들이 저장되어 있는 컴퓨터 판독가능 저장 매체, 및/또는 설명된 방법들 중 임의의 방법에 따라 생성되는 비트스트림이 저장되어 있는 컴퓨터 판독가능 저장 매체로서 구현될 수 있다.
다양한 방법들이 본 명세서에서 설명되었고, 방법들 각각은 설명된 방법을 달성하기 위한 하나 이상의 단계 또는 액션을 포함한다. 방법의 적절한 동작을 위해 단계들 또는 액션들의 특정 순서가 요구되지 않으면, 특정 단계들 및/또는 액션들의 순서 및/또는 사용은 수정되거나 조합될 수 있다.
본 출원에서 설명되는 다양한 방법들 및 다른 양태들은 도 14 및 도 15에 도시된 바와 같이 비디오 인코더(100) 및 디코더(200)의 모듈들, 예를 들어, 모션 보상 및 모션 추정 모듈들(170, 175, 275)을 수정하기 위해 사용될 수 있다. 일부 실시예들에서, 엔트로피 코딩 및/ 또는 디코딩 모듈들(145, 230)이 또한 수정된다. 더욱이, 본 양태들은 VVC 또는 HEVC에 제한되지 않고, 예를 들어, 기존의 것이든지 또는 향후 개발되든지 간에, 다른 표준들 및 권고안들, 그리고 임의의 이러한 표준들 및 권고안들(VVC 및 HEVC를 포함함)의 확장들에 대해 적용될 수 있다. 달리 표시되지 않거나 또는 기술적으로 배제되지 않는 한, 본 출원에서 설명되는 양태들은 개별적으로 또는 조합하여 사용될 수 있다.
본 출원에서 다양한 수치 값들, 예를 들어, "LIC-groups"의 크기 및 "minCUsize"가 사용된다. 특정 값들은 예시적인 목적을 위한 것이고, 설명된 양태들은 이러한 특정 값들로만 제한되지는 않는다.
도 14는 인코더(100)를 예시한다. 이 인코더(100)의 변형예들이 고려되지만, 인코더(100)는 모든 예상되는 변형예들을 설명하지 않고서 명료성 목적을 위해 이하에서 설명된다.
인코딩되기 전에, 비디오 시퀀스는 프리-인코딩 처리(101)를 거치는데, 예를 들어, 입력 컬러 픽처에 컬러 변환을 적용하거나(예를 들어, RGB 4:4:4로부터 YCbCr 4:2:0으로의 변환), 또는 (예를 들어, 컬러 컴포넌트들 중 하나의 것의 히스토그램 등화를 이용하여) 압축에 더 탄력적인 신호 분포를 획득하기 위해 입력 픽처 컴포넌트들의 리매핑을 수행할 수 있다. 메타데이터는 전처리와 연관되고, 비트스트림에 부착될 수 있다.
인코더(100)에서, 픽처는 아래에서 설명되는 바와 같이 인코더 요소들에 의해 인코딩된다. 인코딩될 픽처는 파티셔닝되고(102), 예를 들어, CU들의 유닛들로 처리된다. 각각의 유닛은 예를 들어, 인트라 또는 인터 모드를 이용하여 인코딩된다. 유닛이 인트라 모드에서 인코딩될 때, 이것은 인트라 예측(160)을 수행한다. 인터 모드에서는, 모션 추정(175) 및 보상(170)이 수행된다. 인코더는 유닛을 인코딩하기 위해 인트라 모드 또는 인터 모드 중 어느 것을 사용할지를 결정하고(105), 예를 들어, 예측 모드 플래그에 의해 인트라/인터 결정을 표시한다. 예측 잔차들은, 예를 들어, 원래의 이미지 블록으로부터 예측된 블록을 감산(110)함으로써 계산된다.
예측 잔차들이 이어서 변환되고(125) 양자화된다(130). 양자화된 변환 계수들뿐만 아니라 모션 벡터들 및 다른 신택스 요소들은 비트스트림을 출력하도록 엔트로피 코딩된다(145). 인코더는 변환을 스킵하고 양자화를 비변환된 잔차 신호에 직접 적용할 수 있다. 인코더는 변환 및 양자화 둘 모두를 바이패스할 수 있는데, 즉 잔차는 변환 또는 양자화 프로세스들의 적용 없이 직접적으로 코딩된다.
인코더는 추가적 예측들을 위한 참조를 제공하기 위해 인코딩된 블록을 디코딩한다. 예측 잔차들을 디코딩하기 위해, 양자화된 변환 계수들이 양자화 해제되고(140) 역변환된다(150). 디코딩된 예측 잔차들 및 예측된 블록을 조합하면(155), 이미지 블록이 재구성된다. 예측은 몇몇 예측들(예를 들어, 양방향 예측, 일반화된 양방향 예측 또는 다중-가설 예측)의 가중된 조합으로서 구축될 수 있다. 인 루프 필터들(165)이 재구성된 픽처에 적용되어, 예를 들어, 인코딩 아티팩트들을 감소시키도록 디블로킹/SAO(Sample Adaptive Offset) 필터링을 수행한다. 필터링된 이미지는 참조 픽처 버퍼(180)에 저장된다.
도 15는 비디오 디코더(200)의 블록도를 예시한다. 디코더(200)에서, 비트스트림은 아래에서 설명되는 바와 같이 디코더 요소들에 의해 디코딩된다. 비디오 디코더(200)는 일반적으로 도 14에서 설명된 바와 같은 인코딩 패스에 역인 디코딩 패스를 수행한다. 또한, 인코더(100)는 일반적으로 비디오 데이터를 인코딩하는 것의 일부로서 비디오 디코딩을 수행한다.
특히, 디코더의 입력은 비디오 인코더(100)에 의해 생성될 수 있는 비디오 비트스트림을 포함한다. 비트스트림은, 변환 계수들, 모션 벡터들, 및 다른 코딩된 정보를 획득하기 위해 먼저 엔트로피 디코딩된다(230). 픽처 파티션 정보는 픽처가 어떻게 파티셔닝되는지를 표시한다. 따라서 디코더는 디코딩된 픽처 파티셔닝 정보에 따라 픽처를 분할할 수 있다(235). 예측 잔차들을 디코딩하기 위해, 변환 계수들이 양자화 해제되고(240) 역변환된다(250). 디코딩된 예측 잔차들 및 예측된 블록을 조합하면(255), 이미지 블록이 재구성된다. 예측된 블록은 인트라 예측(260) 또는 모션 보상된 예측(즉, 인터 예측)(275)으로부터 획득될 수 있다(270). 인 루프 필터들(265)이 재구성된 이미지에 적용된다. 필터링된 이미지는 참조 픽처 버퍼(280)에 저장된다.
디코딩된 픽처는 포스트-디코딩 처리(285), 예를 들어, 역 컬러 변환(예를 들어, YCbCr 4:2:0으로부터 RGB 4:4:4로의 변환) 또는 프리-인코딩 처리(101)에서 수행되는 리매핑 프로세스의 역을 수행하는 역 리매핑을 추가로 거칠 수 있다. 포스트-디코딩 처리는 프리-인코딩 처리에서 도출되고 비트스트림에서 시그널링되는 메타데이터를 이용할 수 있다.
도 16은 다양한 양태 및 실시예가 구현되는 시스템의 한 예의 블록도를 도시한다. 시스템(1000)은 이하에 설명되는 다양한 컴포넌트들을 포함하는 디바이스로서 구현될 수 있고, 본 문서에 설명된 양태들 중 하나 이상을 수행하도록 구성된다. 그러한 디바이스들의 예는 개인용 컴퓨터, 랩톱 컴퓨터, 스마트폰, 태블릿 컴퓨터, 디지털 멀티미디어 셋톱 박스, 디지털 텔레비전 수신기, 개인 비디오 기록 시스템, 접속된 가전 기기, 및 서버와 같은 다양한 전자 디바이스들을 포함하지만 이에 한정되지는 않는다. 시스템(1000)의 요소들은, 단독으로 또는 조합하여, 단일 집적 회로, 다중 IC, 및/또는 이산 컴포넌트들로 구현될 수 있다. 예를 들어, 적어도 하나의 실시예에서, 시스템(1000)의 처리 및 인코더/디코더 요소들은 다중 IC 및/또는 이산 컴포넌트들에 걸쳐 분산된다. 다양한 실시예들에서, 시스템(1000)은, 예를 들어, 통신 버스를 통해 또는 전용 입력 및/또는 출력 포트들을 통해 다른 유사한 시스템들에, 또는 다른 전자 디바이스들에 통신가능하게 결합된다. 다양한 실시예들에서, 시스템(1000)은 본 문서에서 설명된 양태들 중 하나 이상을 구현하도록 구성된다.
시스템(1000)은, 예를 들어, 본 문서에 설명된 다양한 양태들을 구현하기 위해, 그 가운데 로딩된 명령어들을 실행하도록 구성된 적어도 하나의 프로세서(1010)를 포함한다. 프로세서(1010)는 임베디드 메모리, 입력 출력 인터페이스, 및 본 기술분야에 공지된 다양한 다른 회로들을 포함할 수 있다. 시스템(1000)은 적어도 하나의 메모리(1020)(예를 들어, 휘발성 메모리 디바이스 및/또는 비휘발성 메모리 디바이스)를 포함한다. 시스템(1000)은 EEPROM(Electrically Erasable Programmable Read-Only Memory), ROM(Read-Only Memory), PROM(Programmable Read-Only Memory), RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), 플래시, 자기 디스크 드라이브, 및/또는 광 디스크 드라이브를 포함하지만 이에 한정되지는 않는 비휘발성 메모리 및/또는 휘발성 메모리를 포함할 수 있는 저장 디바이스(1040)를 포함한다. 저장 디바이스(1040)는 비제한적 예들로서, 내부 저장 디바이스, 부착된 저장 디바이스(디태처블(detachable) 및 비-디태처블 저장 디바이스들을 포함함), 및/또는 네트워크 액세스가능한 저장 디바이스를 포함할 수 있다.
시스템(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(MPEG는 Moving Picture Experts Group을 지칭하고, MPEG-2는 ISO/IEC 13818로도 지칭되고, 13818-1은 H.222로도 알려져 있고, 13818-2는 H.262로도 알려져 있음), HEVC(HEVC는 H.265 및 MPEG-H 파트 2로도 알려져 있는 고효율 비디오 코딩을 지칭함), 또는 VVC(Versatile Video Coding, JVET, Joint Video Experts Team에 의해 개발되고 있는 새로운 표준)와 같은 비디오 코딩 및 디코딩 동작들을 위한 작업 메모리로서 사용된다.
시스템(1000)의 요소들에의 입력은 블록(1130)에 나타낸 바와 같이 다양한 입력 디바이스들을 통해 제공될 수 있다. 이러한 입력 디바이스들은 (i) 예를 들어, 브로드캐스터에 의해 공중을 통해 송신된 RF 신호를 수신하는 무선 주파수(RF) 부분, (ii) 컴포넌트(COMP) 입력 단자(또는 COMP 입력 단자들의 세트), (iii) 범용 직렬 버스(USB) 입력 단자, 및/또는 (iv) 고선명 멀티미디어 인터페이스(HDMI) 입력 단자를 포함하지만, 이에 한정되지는 않는다. 도 10에 도시되지 않은 다른 예들은 합성 비디오를 포함한다.
다양한 실시예들에서, 블록(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)의 다양한 요소들이 통합된 하우징 내에 제공될 수 있다. 통합된 하우징 내에서, 다양한 요소들이 상호접속될 수 있고, 예를 들어, I2C(Inter-IC) 버스, 배선, 및 인쇄 회로 기판을 포함하여 관련 기술분야에 공지된 바와 같은 적절한 접속 배열을 이용하여 그 사이에서 데이터를 송신할 수 있다.
시스템(1000)은 통신 채널(1060)을 통해 다른 디바이스들과의 통신을 가능하게 하는 통신 인터페이스(1050)를 포함한다. 통신 인터페이스(1050)는 통신 채널(1060)을 통해 데이터를 송신하고 수신하도록 구성된 송수신기를 포함할 수 있지만, 이에 제한되는 것은 아니다. 통신 인터페이스(1050)는 모뎀 또는 네트워크 카드를 포함할 수 있지만, 이에 제한되지는 않고, 통신 채널(1060)은 예를 들어, 유선 및/또는 무선 매체 내에서 구현될 수 있다.
다양한 실시예들에서, Wi-Fi 네트워크, 예를 들어, IEEE 802.11(IEEE는 Institute of Electrical and Electronics Engineers를 지칭함)과 같은 무선 네트워크를 사용하여 데이터가 스트리밍되거나 또는 다른 방식으로 시스템(1000)에 제공된다. 이러한 실시예들의 Wi-Fi 신호는 예를 들어, Wi-Fi 통신을 위해 적응되는 통신 채널(1060) 및 통신 인터페이스(1050)를 통해 수신된다. 이러한 실시예들의 통신 채널(1060)은 스트리밍 애플리케이션들 및 다른 OTT(over-the-top) 통신들을 허용하기 위한 인터넷을 포함하는 외부 네트워크들에 대한 액세스를 제공하는 액세스 포인트 또는 라우터에 통상적으로 접속된다. 다른 실시예들은 입력 블록(1130)의 HDMI 접속을 통해 데이터를 전달하는 셋톱 박스를 이용하여 스트리밍된 데이터를 시스템(1000)에 제공한다. 또 다른 실시예는 입력 블록(1130)의 RF 접속을 이용하여 스트리밍된 데이터를 시스템(1000)에 제공한다. 위에 언급한 바와 같이, 다양한 실시예는 비-스트리밍 방식으로 데이터를 제공한다. 추가적으로, 다양한 실시예는 Wi-Fi 이외의 무선 네트워크들, 예를 들어, 셀룰러 네트워크 또는 블루투스 네트워크를 사용한다.
시스템(1000)은 디스플레이(1100), 스피커들(1110), 및 다른 주변기기 디바이스들(1120)을 포함하는 다양한 출력 디바이스들에 출력 신호를 제공할 수 있다. 다양한 실시예들의 디스플레이(1100)는, 예를 들어, 터치스크린 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 곡면 디스플레이, 및/ 또는 폴더블 디스플레이 중 하나 이상을 포함한다. 디스플레이(1100)는 텔레비전, 태블릿, 랩톱, 휴대폰(mobile phone), 또는 다른 디바이스를 위한 것일 수 있다. 디스플레이(1100)는 (예를 들어, 스마트폰에서와 같이) 다른 컴포넌트들과 통합되거나, 별개일 수 있다(예를 들어, 랩톱에 대한 외부 모니터). 다른 주변기기 디바이스들(1120)은, 실시예들의 다양한 예들에서, 독립형 디지털 비디오 디스크(또는 디지털 다기능 디스크)(DVR, 양자 모두에 대해), 디스크 플레이어, 스테레오 시스템, 및/또는 조명 시스템 중 하나 이상을 포함한다. 다양한 실시예들은 시스템(1000)의 출력에 기초하여 기능을 제공하는 하나 이상의 주변기기 디바이스(1120)를 사용한다. 예를 들어, 디스크 플레이어는 시스템(1000)의 출력을 재생하는 기능을 수행한다.
다양한 실시예에서, 제어 신호들은 AV.Link, CEC(Consumer Electronics Control), 또는 사용자 개입을 이용하거나 이용하지 않고 디바이스-투-디바이스 제어를 가능하게 하는 다른 통신 프로토콜들과 같은 시그널링을 이용하여 시스템(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)는 기술적인 환경에 적합한 임의의 유형의 것일 수 있고, 비제한적 예들로서 마이크로프로세서들, 범용 컴퓨터들, 특수 목적 컴퓨터들 및 멀티-코어 아키텍처에 기초한 프로세서들 중 하나 이상을 포함할 수 있다.
다양한 구현들은 디코딩을 수반한다. 본 출원에서 사용되는 "디코딩"은 디스플레이를 위해 적합한 최종 출력을 생성하기 위해, 예를 들어, 수신된 인코딩된 시퀀스에 대해 수행되는 프로세스들의 전부 또는 일부를 포함할 수 있다. 다양한 실시예들에서, 그러한 프로세스들은 디코더에 의해 전형적으로 수행되는 프로세스들, 예를 들어, 엔트로피 디코딩, 역 양자화, 역 변환, 및 디퍼렌셜 디코딩 중 하나 이상을 포함한다. 다양한 실시예들에서, 그러한 프로세스들은 또한, 또는 대안적으로, 본 출원에서 설명된 다양한 구현들의 디코더에 의해 수행되는 프로세스들, 예를 들어, 모션 보상을 포함한다.
추가 예들로서, 일 실시예에서, "디코딩"은 엔트로피 디코딩만을 지칭하고, 또 다른 실시예에서, "디코딩"은 디퍼렌셜 디코딩만을 지칭하고, 또 다른 실시예에서, "디코딩"은 엔트로피 디코딩 및 디퍼렌셜 디코딩의 조합을 지칭한다. "디코딩 프로세스"라는 문구가 구체적으로 동작들의 서브세트를 지칭하거나 일반적으로 더 넓은 디코딩 프로세스를 지칭하도록 의도되는지는 특정 설명들의 맥락에 기초하여 명백할 것이며, 본 기술분야의 통상의 기술자에 의해 잘 이해될 것으로 생각된다.
다양한 구현들은 인코딩을 수반한다. "디코딩"에 관한 상기 논의와 유사한 방식으로, 본 출원에서 사용되는 바와 같은 "인코딩"은 인코딩된 비트스트림을 생성하기 위해, 예를 들어, 입력 비디오 시퀀스에 대해 수행되는 프로세스들의 전부 또는 일부를 포함할 수 있다. 다양한 실시예들에서, 그러한 프로세스들은 인코더에 의해 전형적으로 수행되는 프로세스들, 예를 들어, 파티셔닝, 디퍼렌셜 인코딩, 변환, 양자화, 및 엔트로피 인코딩 중 하나 이상을 포함한다. 다양한 실시예들에서, 그러한 프로세스들은 또한, 또는 대안적으로, 본 출원에서 설명된 다양한 구현들의 인코더에 의해 수행되는 프로세스들, 예를 들어, 모션 보상을 포함한다.
추가 예로서, 일 실시예에서 "인코딩"은 엔트로피 인코딩만을 지칭하고, 또 다른 실시예에서 "인코딩"은 디퍼렌셜 인코딩만을 말하며, 또 다른 실시예에서 "인코딩"은 디퍼렌셜 인코딩 및 엔트로피 인코딩의 조합을 지칭한다. "인코딩 프로세스"라는 문구가 구체적으로 동작들의 서브세트를 지칭하거나 일반적으로 더 넓은 인코딩 프로세스를 지칭하도록 의도되는지는 특정 설명들의 맥락에 기초하여 명백할 것이며, 본 기술분야의 통상의 기술자에 의해 잘 이해될 것으로 생각된다.
본 명세서에서 사용되는 신택스 요소들, 예를 들어, LIC-Flag는 설명적 용어들이라는 점에 유의한다. 따라서, 이들은 다른 신택스 요소 명칭들의 사용을 배제하지 않는다.
도면이 흐름도로서 제시될 때, 이는 또한 대응하는 장치의 블록도를 제공한다는 것을 이해해야 한다. 유사하게, 도면이 블록도로서 제시될 때, 이는 대응하는 방법/프로세스의 흐름도를 또한 제공한다는 것을 이해해야 한다.
다양한 실시예들은 레이트 왜곡 최적화를 언급한다. 특히, 인코딩 프로세스 동안, 계산 복잡도의 제약이 종종 주어지면, 레이트와 왜곡 사이의 균형 또는 절충이 보통은 고려된다. 레이트 왜곡 최적화는 보통은 레이트와 왜곡의 가중 합인 레이트 왜곡 함수를 최소화하는 것으로 공식화된다. 레이트 왜곡 최적화 문제를 해결하기 위한 상이한 접근법이 있다. 예를 들어, 이 접근법들은, 코딩 및 디코딩 이후의 재구성된 신호의 코딩 비용 및 관련 왜곡의 완전한 평가와 함께, 모든 고려된 모드들 또는 코딩 파라미터 값들을 비롯한, 모든 인코딩 옵션들의 광범위한 테스팅에 기초할 수 있다. 인코딩 복잡도를 줄이기 위해, 특히 재구성된 것이 아니라 예측 또는 예측 잔차 신호에 기초한 근사화된 왜곡의 계산으로 더 빠른 접근법이 또한 사용될 수 있다. 이들 두 가지 접근법의 혼합은 또한, 예를 들어, 가능한 인코딩 옵션들 중 일부에 대해서만 근사화된 왜곡을, 및 다른 인코딩 옵션들에 대한 완전한 왜곡을 사용함으로써 사용될 수 있다. 다른 접근법들은 가능한 인코딩 옵션들의 서브세트만을 평가한다. 보다 일반적으로, 많은 접근법들은 최적화를 수행하기 위해 다양한 기법들 중 임의의 기법을 이용하지만, 최적화가 코딩 비용 및 관련 왜곡 둘 다의 완전한 평가일 필요는 없다.
본 명세서에 설명된 구현들 및 양태들은 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호로 구현될 수 있다. 비록 단지 단일 형태의 구현의 맥락에서만 논의될지라도(예컨대, 단지 방법으로서만 논의될지라도), 논의된 특징들의 구현은 다른 형식들(예컨대, 장치 또는 프로그램)로 또한 구현될 수 있다. 장치는 예를 들어, 적절한 하드웨어, 소프트웨어, 및 펌웨어로 구현될 수 있다. 방법들은, 예를 들어, 일반적으로 처리 디바이스들을 지칭하고, 예컨대, 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그래머블 논리 디바이스를 포함하는 프로세서로 구현될 수 있다. 프로세서들은 또한, 예를 들어, 컴퓨터들, 셀 폰들(cell phones), PDA(portable/personal digital assistant)들, 및 최종 사용자들 간의 정보의 통신을 용이하게 하는 다른 디바이스들과 같은 통신 디바이스들을 포함한다.
"일 실시예" 또는 "실시예" 또는 "일 구현" 또는 "구현" 뿐만 아니라 그의 다른 변형들에 대한 참조는 실시예와 관련하여 설명된 특정한 특징, 구조, 특성 등이 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 본 출원 전반에 걸친 다양한 위치들에서 등장하는 구문 "일 실시예에서" 또는 "실시예에서" 또는 "일 구현에서" 또는 "구현에서" 뿐만 아니라 임의의 다른 변형들의 등장은 반드시 모두 동일한 실시예를 참조하는 것은 아니다.
또한, 본 출원은 다양한 정보 피스들을 "결정"하는 것을 지칭할 수 있다. 정보를 결정하는 것은 예를 들어, 정보를 추정하는 것, 정보를 계산하는 것, 정보를 예측하는 것, 또는 메모리로부터의 정보를 검색하는 것 중 하나 이상을 포함할 수 있다. "결정" 및 "도출"은 서로 바꾸어 사용될 수 있다.
또한, 본 출원은 정보의 다양한 피스들에 "액세스" 하는 것을 지칭할 수 있다. 정보의 액세스는 예를 들어, 정보의 수신, (예를 들어, 메모리로부터의) 정보의 검색, 정보의 저장, 정보의 이동, 정보의 복사, 정보의 계산, 정보의 결정, 정보의 예측, 또는 정보의 추정 중 하나 이상을 포함할 수 있다.
또한, 본 출원은 다양한 정보 피스들을 "수신"하는 것을 지칭할 수 있다. 수신하는 것은, "액세스하는 것"에서와 같이 광의의 용어로 의도된다. 정보의 수신은 예를 들어, 정보의 액세스 또는 (예로서, 메모리로부터의) 정보의 검색 중 하나 이상을 포함할 수 있다. 또한, "수신하는 것"은 통상적으로 예를 들어, 정보의 저장, 정보의 처리, 정보의 송신, 정보의 이동, 정보의 복사, 정보의 소거, 정보의 계산, 정보의 결정, 정보의 예측, 또는 정보의 추정과 같은 동작들 동안 하나의 방식 또는 또 다른 방식으로 수반된다.
예를 들어, "A/ B", "A 및/또는 B" 및 "A 및 B 중 적어도 하나"의 경우들에서, "/", "및/또는 ", 및 "~ 중 적어도 하나" 중 임의의 것의 이용은 첫번째로 열거된 옵션 (A)만의 선택, 또는 두번째로 열거된 옵션 (B)만의 선택, 또는 양쪽 옵션 (A 및 B)의 선택을 포함하고자 의도된다는 것을 알아야 한다. 추가의 예로서, "A, B, 및/또는 C" 및 "A, B, 및 C 중 적어도 하나"의 경우들에서, 이러한 문구는 첫 번째로 열거된 옵션 (A)만의 선택, 또는 두 번째로 열거된 옵션 (B)만의 선택, 또는 세 번째로 열거된 옵션 (C)만의 선택, 또는 첫 번째 및 두 번째로 열거된 옵션들 (A 및 B)만의 선택, 또는 첫 번째 및 세 번째로 열거된 옵션들 (A 및 C)만의 선택, 또는 두 번째 및 세 번째로 열거된 옵션들 (B 및 C) 만의 선택, 또는 세 가지 옵션 모두 (A 및 B 및 C)의 선택을 포함하는 것으로 의도된다. 이는, 본 기술분야 및 관련 기술분야의 통상의 기술자에게 명백한 바와 같이, 항목들이 많이 열거되는 만큼 확장될 수 있다.
또한, 본 명세서에서 사용되는 바와 같이, 단어 "신호"는 무엇보다도, 무언가를 대응하는 디코더에 나타내는 것을 지칭한다. 예를 들어, 특정 실시예에서, 인코더는 LIC에 대한 복수의 파라미터 중 특정한 하나(예를 들어, LIC-Flag)를 시그널링한다. 이러한 방식으로, 일 실시예에서, 인코더 측 및 디코더 측 둘 다에서 동일한 파라미터가 사용된다. 따라서, 예를 들어, 인코더는 디코더가 동일한 특정 파라미터를 사용할 수 있도록 디코더에 특정 파라미터를 송신(명시적 시그널링)할 수 있다. 반대로, 디코더가 이미 특정 파라미터뿐만 아니라 다른 것들을 갖는 경우, 단순히 디코더가 특정 파라미터를 알고 선택하는 것을 허용하기 위해 송신 없이 시그널링이 사용될 수 있다(암시적 시그널링). 임의의 실제 기능들의 송신을 회피함으로써, 다양한 실시예들에서 비트 절약이 실현된다. 시그널링이 다양한 방식으로 달성될 수 있다는 것을 알 것이다. 예를 들어, 다양한 실시예들에서, 하나 이상의 신택스 요소, 플래그 등이 정보를 대응하는 디코더에 시그널링하는데 이용된다. 전술한 것은 단어 "신호"의 동사 형태와 관련되지만, 단어 "신호"는 또한 본 명세서에서 명사로서 이용될 수 있다.
본 기술분야의 통상의 기술자에게 명백한 바와 같이, 구현들은 예컨대 저장되거나 또는 송신될 수 있는 정보를 운반하도록 포맷팅된 다양한 신호들을 생성할 수 있다. 정보는, 예를 들어, 방법을 수행하기 위한 명령어, 또는 설명된 구현들 중 하나에 의해 생성된 데이터를 포함할 수 있다. 예를 들어, 신호는 설명된 실시예의 비트스트림을 운반하도록 포맷팅될 수 있다. 이러한 신호는 예컨대(예컨대, 스펙트럼의 무선 주파수 부분을 사용하여) 전자기파로서 또는 기저대역 신호로서 포맷팅될 수 있다. 포맷팅은, 예를 들어, 데이터 스트림을 인코딩하고 인코딩된 데이터 스트림으로 캐리어를 변조하는 것을 포함할 수 있다. 신호가 운반하는 정보는, 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 신호는 공지된 것으로서 각종의 상이한 유선 또는 무선 링크를 통해 송신될 수 있다. 신호는 프로세서 판독가능 매체상에 저장될 수 있다.
우리는 다수의 실시예를 설명한다. 이러한 실시예들의 특징들은 단독으로 또는 임의의 조합으로 제공될 수 있다. 게다가, 실시예들은 다양한 청구항 카테고리들 및 유형들에 걸쳐, 하기의 특징들, 디바이스들, 또는 양태들 중 하나 이상을, 단독으로 또는 임의의 조합으로 포함할 수 있다:
● 또 다른 블록에 대해 결정된 하나 이상의 조명 보상 파라미터로부터 또는 또 다른 블록에 대한 재구성된 샘플들로부터, 예를 들어, 이웃하는 블록으로부터 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 결정한다.
● 또 다른 블록의 조명 보상 파라미터들은 버퍼에 저장된다;
● 블록은 코딩 유닛(CU)이다;
● 현재 CU에 대한 적어도 하나의 조명 보상 파라미터를 결정하는 것은 동일한 코딩 트리 유닛(CTU)에서의 또 다른 CU로부터만 발생할 수 있다;
● 현재 CU에 대한 적어도 하나의 조명 보상 파라미터는 CU들의 동일한 그룹에 속하는 또 다른 CU로부터만 발생할 수 있다고 결정한다;
● 조명 보상 파라미터들은 로컬 조명 보상(LIC) 파라미터들이다;
● 그룹에서의 적어도 하나의 CU가 컴퓨팅 예측을 위해 조명 보상을 이용하는지를 나타내는, CU들의 그룹에 대한 플래그, 예를 들어, LIC-group-flag-enabled를 인코딩하는 것(제각기 디코딩하는 것);
● 또 다른 플래그, 예를 들어, LIC-flag가 그룹에서의 적어도 하나의 CU에 대해 코딩되는 경우에 참인지를 표시하는 CU들의 그룹에 대한 플래그를 인코딩(제각기 디코딩)한다 - 또 다른 플래그는 CU에 대해 조명 보상이 이러한 CU를 예측하기 위해 사용되는지를 표시함 -;
● 플래그는 인터 모드에서 코딩되는 CU들의 그룹의 제1 CU로 코딩(제각기 디코딩)된다.
● 플래그는 인터 모드에서 코딩되고 병합 모드에서 코딩되지 않는 CU들의 그룹의 제1 CU로 코딩(제각기 디코딩)된다.
● 그룹에서의 값보다 작은 (제각기 큰) 크기의 적어도 하나의 CU가 컴퓨팅 예측을 위해 조명 보상을 이용하는지를 나타내는 CU들의 그룹에 대한 플래그를 인코딩 (제각기) 디코딩한다;
● 값은 SPS, PPS 또는 슬라이스 헤더에서 코딩된다;
● 현재 블록에 대한 조명 보상 파라미터들은 현재 블록과 동일한 참조 인덱스를 갖는 적어도 하나의 또 다른 블록에 대해 결정된 조명 보상 파라미터들로부터 결정된다;
● 현재 블록에 대한 조명 보상 파라미터들은 현재 블록과 동일한 참조 인덱스를 갖는 적어도 하나의 또 다른 블록에 대해 재구성된 샘플들로부터 결정된다;
● 현재 블록에 대한 조명 보상 파라미터들은 현재 블록과 동일한 참조 인덱스를 갖는 복수의 또 다른 블록에 대해 결정된 조명 보상 파라미터들의 평균으로서 결정된다;
● 설명된 신택스 요소들, 플래그들, 또는 그 변형들 중 하나 이상을 포함하는 비트스트림 또는 신호.
● 시그널링 신택스 요소들에, 인코더에 의해 이용되는 것에 대응하는 방식으로 디코더가 조명 보상을 이용하여 블록 예측을 적응시킬 수 있게 하는 플래그들을 삽입한다.
● 설명된 신택스 요소들, 플래그들, 또는 이것의 변형들 중 하나 이상을 포함하는 비트스트림 또는 신호를 생성 및/또는 송신 및/또는 수신 및/또는 디코딩한다.
● 설명된 실시예들 중 임의의 것에 따라 조명 보상을 수행하는 TV, 셋톱 박스, 휴대폰, 태블릿, 또는 다른 전자 디바이스.
● 설명된 실시예들 중 임의의 것에 따라 조명 보상을 수행하고 (예를 들어, 모니터, 스크린, 또는 다른 유형의 디스플레이를 사용하여) 결과 이미지를 디스플레이하는 TV, 셋톱 박스, 휴대폰, 태블릿, 또는 다른 전자 디바이스.
● 인코딩된 이미지를 포함하는 신호를 수신하기 위해 채널을 (예를 들어, 튜너를 사용하여) 튜닝하고, 설명된 실시예들 중 임의의 것에 따라 조명 보상을 수행하는 TV, 셋톱 박스, 휴대폰, 태블릿, 또는 다른 전자 디바이스.
● 인코딩된 이미지를 포함하는 공중을 통한 신호를 (예를 들어, 안테나를 사용하여) 수신하고, 설명된 실시예들 중 임의의 것에 따라 조명 보상을 수행하는 TV, 셋톱 박스, 휴대폰, 태블릿, 또는 다른 전자 디바이스.
적어도 하나의 실시예의 일반적인 양태에 따르면, 다음을 포함하는 디코딩 방법이 제시된다:
- 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 결정하는 단계; 및
- 상기 결정된 조명 보상 파라미터를 이용하여 상기 현재 블록을 재구성하는 단계;
여기서, 현재 블록에 대한 적어도 하나의 조명 보상 파라미터는 하나 이상의 조명 보상 파라미터로부터 또는 적어도 하나의 공간적 이웃 블록이 현재 로컬 조명 보상 그룹이라 불리는, 현재 블록과 동일한 로컬 조명 보상 그룹에 속하는 경우에만 상기 적어도 하나의 공간적 이웃 블록의 하나 이상의 재구성된 샘플로부터 결정된다.
적어도 하나의 실시예의 일반적인 양태에 따르면, 다음을 구현하도록 구성된 하나 이상의 프로세서를 포함하는 디코딩 장치가 제시된다:
- 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 결정하고; 및
- 상기 결정된 조명 보상 파라미터를 이용하여 상기 현재 블록을 재구성하고;
여기서, 현재 블록에 대한 적어도 하나의 조명 보상 파라미터는 하나 이상의 조명 보상 파라미터로부터 또는 적어도 하나의 공간적 이웃 블록이 현재 로컬 조명 보상 그룹이라 불리는, 현재 블록과 동일한 로컬 조명 보상 그룹에 속하는 경우에만 상기 적어도 하나의 공간적 이웃 블록의 하나 이상의 재구성된 샘플로부터 결정된다.
적어도 하나의 실시예의 일반적인 양태에 따르면, 다음을 포함하는 인코딩 방법이 제시된다:
- 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 결정하는 단계; 및
- 상기 결정된 조명 보상 파라미터를 이용하여 상기 현재 블록을 재구성하는 단계;
여기서, 현재 블록에 대한 적어도 하나의 조명 보상 파라미터는 하나 이상의 조명 보상 파라미터로부터 또는 적어도 하나의 공간적 이웃 블록이 현재 로컬 조명 보상 그룹이라 불리는, 현재 블록과 동일한 로컬 조명 보상 그룹에 속하는 경우에만 상기 적어도 하나의 공간적 이웃 블록의 하나 이상의 재구성된 샘플로부터 결정된다.
적어도 하나의 실시예의 일반적인 양태에 따르면, 다음을 구현하도록 구성된 하나 이상의 프로세서를 포함하는 인코딩 장치가 제시된다:
- 현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 결정하고; 및
상기 결정된 조명 보상 파라미터를 이용하여 상기 현재 블록을 인코딩하고;
여기서, 현재 블록에 대한 적어도 하나의 조명 보상 파라미터는 하나 이상의 조명 보상 파라미터로부터 또는 적어도 하나의 공간적 이웃 블록이 현재 로컬 조명 보상 그룹이라 불리는, 현재 블록과 동일한 로컬 조명 보상 그룹에 속하는 경우에만 상기 적어도 하나의 공간적 이웃 블록의 하나 이상의 재구성된 샘플로부터 결정된다.
적어도 하나의 실시예의 또 다른 일반적인 양태에 따르면, 비트스트림은 전술된 인코딩 방법들에 따라 생성된 신호를 포함하도록 포맷팅된다.
본 실시예들 중 하나 이상은 또한 전술한 인코딩/디코딩 방법들 중 임의의 것의 적어도 일부에 따라 비디오 데이터를 인코딩 또는 디코딩하기 위한 명령어들이 저장된 컴퓨터 판독가능 저장 매체를 제공한다. 하나 이상의 실시예는 또한 전술한 인코딩 방법들에 따라 생성된 비트스트림이 저장된 컴퓨터 판독가능 저장 매체를 제공한다. 하나 이상의 실시예는 또한 전술한 인코딩 방법들에 따라 생성된 비트스트림을 송신 또는 수신하기 위한 방법 및 장치를 제공한다. 하나 이상의 실시예는 또한 전술한 방법들 중 임의의 것의 적어도 일부를 수행하기 위한 명령어들을 포함하는 컴퓨터 프로그램 제품을 제공한다.
실시예에서, 선형 조명 보상 그룹은 코딩 트리 유닛과 더 작거나, 더 크거나, 또는 동일하다.
실시예에서, 현재 블록이 동일한 로컬 조명 보상 그룹에서의 상단-좌측 위치에 위치하지 않는 경우, 상기 현재 블록을 재구성하는 것이 상기 결정된 조명 보상 파라미터를 이용하는지를 나타내는 플래그가 인코딩/디코딩된다.
실시예에서, 현재 블록의 위에 위치하거나 또는 그 좌측에 위치된 적어도 하나의 블록이 인터 모드에서 코딩되는 경우, 상기 현재 블록을 재구성하는 것이 상기 결정된 조명 보상 파라미터를 사용하는지를 나타내는 플래그가 인코딩/디코딩된다.
실시예에서, 현재 로컬 조명 보상 그룹의 적어도 하나의 블록이 예측을 위해 조명 보상을 이용하는지를 나타내는 플래그가 인코딩/디코딩된다.
실시예에서, 현재 로컬 조명 보상 그룹의 블록들을 재구성한 후에 조명 보상 파라미터들이 계산되고 저장되어야 하는지를 나타내는 플래그가 인코딩/디코딩된다.
실시예에서, 현재 로컬 조명 보상 그룹의 적어도 하나의 블록이 또 다른 플래그가 명시적으로 코딩되는 경우에 참인 또 다른 플래그 값을 갖는지를 나타내는 플래그가 인코딩/디코딩되고, 상기 또 다른 플래그는 상기 현재 블록을 재구성하는 것이 상기 결정된 조명 보상 파라미터를 이용하는지를 나타낸다.
실시예에서, 플래그는 현재 로컬 조명 보상 그룹의 제1 블록으로 인코딩/디코딩된다.
실시예에서, 플래그는 병합 모드에서 코딩되지 않은 현재 로컬 조명 보상 그룹의 제1 블록으로 인코딩/디코딩된다.
실시예에서, 그 크기가 값보다 작은 그룹에서의 적어도 하나의 블록이 컴퓨팅 예측을 위해 조명 보상을 이용하는지를 나타내는 플래그가 현재 로컬 조명 그룹에 대해 인코딩/디코딩된다.
실시예에서, 그 크기가 값보다 큰 그룹에서의 적어도 하나의 블록이 컴퓨팅 예측을 위해 조명 보상을 이용하는지를 나타내는 플래그가 현재 로컬 조명 그룹에 대해 인코딩/디코딩된다.
실시예에서, 현재 블록에 대한 적어도 하나의 조명 보상 파라미터는 하나 이상의 조명 보상 파라미터로부터 또는 현재 로컬 조명 보상 그룹에 속하고 현재 블록과 동일한 참조 인덱스를 갖는 적어도 하나의 공간적 이웃 블록의 하나 이상의 재구성된 샘플로부터 결정된다.
실시예에서, 현재 블록에 대한 적어도 하나의 조명 보상 파라미터는 현재 로컬 조명 보상 그룹에 속하고 현재 블록과 동일한 참조 인덱스를 갖는 2개의 공간적 이웃 블록의 조명 보상 파라미터들의 평균으로서 결정된다.
실시예에서, 현재 블록에 대한 적어도 하나의 조명 보상 파라미터는 현재 로컬 조명 보상 그룹에 속하고 현재 블록과 동일한 참조 인덱스를 갖는 적어도 하나의 공간적 이웃 블록의 하나 이상의 재구성된 샘플로부터 결정된다.
Claims (20)
- 디코딩 방법으로서:
현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 결정하는 단계; 및
상기 결정된 조명 보상 파라미터를 이용하여 상기 현재 블록을 재구성하는 단계를 포함하고;
상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터는 하나 이상의 조명 보상 파라미터로부터 또는 적어도 하나의 공간적 이웃 블록이 현재 로컬 조명 보상 그룹이라 불리는, 현재 블록과 동일한 로컬 조명 보상 그룹에 속하는 경우에만 상기 적어도 하나의 공간적 이웃 블록의 하나 이상의 재구성된 샘플로부터 결정되고, 조명 보상 그룹은 블록들의 그룹이고, 로컬 조명 보상 파라미터들은 상기 블록들의 그룹 중 블록들로부터만 상속되거나 계산될 수 있는 디코딩 방법. - 제1항에 있어서,
상기 로컬 조명 보상 그룹은 코딩 트리 유닛과 더 작거나, 더 크거나, 또는 동일한 디코딩 방법. - 제1항 또는 제2항에 있어서,
상기 현재 블록이 상기 동일한 로컬 조명 보상 그룹에서의 상단-좌측 위치에 위치하지 않는 경우, 상기 현재 블록을 재구성하는 것이 상기 결정된 조명 보상 파라미터를 이용하는지를 나타내는 플래그를 디코딩하는 단계를 추가로 포함하는 디코딩 방법. - 제1항 내지 제3항 중 어느 한 항에 있어서,
상기 현재 블록의 위에 위치하거나 좌측에 위치한 적어도 하나의 블록이 인터 모드에서 코딩되는 경우, 상기 현재 블록을 재구성하는 것이 상기 결정된 조명 보상 파라미터를 이용하는지를 나타내는 플래그를 디코딩하는 단계를 추가로 포함하는 디코딩 방법. - 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 현재 로컬 조명 보상 그룹의 적어도 하나의 블록이 예측을 위해 조명 보상을 이용하는지를 나타내는 플래그를 디코딩하는 단계를 추가로 포함하는 디코딩 방법. - 제1항 내지 제5항 중 어느 한 항에 있어서,
상기 현재 로컬 조명 보상 그룹의 블록들을 재구성한 후에 조명 보상 파라미터들이 계산되고 저장될지를 나타내는 플래그를 디코딩하는 단계를 추가로 포함하는 디코딩 방법. - 제1항 내지 제6항 중 어느 한 항에 있어서,
상기 현재 로컬 조명 보상 그룹의 적어도 하나의 블록이 또 다른 플래그가 명시적으로 코딩되는 경우에 참인 상기 또 다른 플래그 값을 갖는지를 나타내는 플래그를 디코딩하는 단계를 추가로 포함하고, 상기 또 다른 플래그는 상기 현재 블록을 재구성하는 것이 상기 결정된 조명 보상 파라미터를 이용하는지를 나타내는 디코딩 방법. - 제1항 내지 제7항 중 어느 한 항에 있어서,
상기 플래그는 상기 현재 로컬 조명 보상 그룹의 제1 블록으로 디코딩되는 디코딩 방법. - 제1항 내지 제8항 중 어느 한 항에 있어서,
상기 플래그는 병합 모드에서 코딩되지 않은 상기 현재 로컬 조명 보상 그룹의 제1 블록으로 디코딩되는 디코딩 방법. - 제1항 내지 제9항 중 어느 한 항에 있어서,
그 크기가 값보다 작은 그룹에서의 적어도 하나의 블록이 컴퓨팅 예측을 위해 조명 보상을 이용하는지를 나타내는 플래그를 상기 현재 로컬 조명 그룹에 대해 디코딩하는 단계를 추가로 포함하는 디코딩 방법. - 제1항 내지 제9항 중 어느 한 항에 있어서,
그 크기가 값보다 작은 그룹에서의 적어도 하나의 블록이 컴퓨팅 예측을 위해 조명 보상을 이용하는지를 나타내는 플래그를 상기 현재 로컬 조명 그룹에 대해 디코딩하는 단계를 추가로 포함하는 디코딩 방법. - 제1항 내지 제11항 중 어느 한 항에 있어서,
상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터는 하나 이상의 조명 보상 파라미터로부터 또는 상기 현재 로컬 조명 보상 그룹에 속하고 상기 현재 블록과 동일한 참조 인덱스를 갖는 적어도 하나의 공간적 이웃 블록의 하나 이상의 재구성된 샘플로부터 결정되는 디코딩 방법. - 제1항 내지 제12항 중 어느 한 항에 있어서,
상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터는 상기 현재 로컬 조명 보상 그룹에 속하고 상기 현재 블록과 동일한 참조 인덱스를 갖는 2개의 공간적 이웃 블록의 조명 보상 파라미터들의 평균으로서 결정되는 디코딩 방법. - 제1항 또는 제2항에 있어서,
상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터는 상기 현재 로컬 조명 보상 그룹에 속하고 상기 현재 블록과 동일한 참조 인덱스를 갖는 적어도 하나의 공간적 이웃 블록의 하나 이상의 재구성된 샘플로부터 결정되는 디코딩 방법. - 하나 이상의 프로세서를 포함하는 디코딩 장치로서,
상기 하나 이상의 프로세서는:
현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 결정하고; 및
상기 결정된 조명 보상 파라미터를 이용하여 상기 현재 블록을 재구성하는 것을 수행하도록 구성되고;
상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터는 하나 이상의 조명 보상 파라미터로부터 또는 적어도 하나의 공간적 이웃 블록이 현재 로컬 조명 보상 그룹이라 불리는, 상기 현재 블록과 동일한 로컬 조명 보상 그룹에 속하는 경우에만 상기 적어도 하나의 공간적 이웃 블록의 하나 이상의 재구성된 샘플로부터 결정되고, 조명 보상 그룹은 블록들의 그룹이고, 로컬 조명 보상 파라미터들은 상기 블록들의 그룹 중 블록들로부터만 상속되거나 계산될 수 있는 디코딩 방법. - 인코딩 방법으로서:
현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 결정하는 단계; 및
상기 결정된 조명 보상 파라미터를 이용하여 상기 현재 블록을 재구성하는 단계를 포함하고;
상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터는 하나 이상의 조명 보상 파라미터로부터 또는 적어도 하나의 공간적 이웃 블록이 현재 로컬 조명 보상 그룹이라 불리는, 상기 현재 블록과 동일한 로컬 조명 보상 그룹에 속하는 경우에만 상기 적어도 하나의 공간적 이웃 블록의 하나 이상의 재구성된 샘플로부터 결정되고, 조명 보상 그룹은 블록들의 그룹이고, 로컬 조명 보상 파라미터들은 상기 블록들의 그룹 중 블록들로부터만 상속되거나 계산될 수 있는 인코딩 방법. - 하나 이상의 프로세서를 포함하는 인코딩 장치로서,
상기 하나 이상의 프로세서는:
현재 블록에 대한 적어도 하나의 조명 보상 파라미터를 결정하고; 및
상기 결정된 조명 보상 파라미터를 이용하여 상기 현재 블록을 인코딩하는 것을 수행하도록 구성되고;
상기 현재 블록에 대한 적어도 하나의 조명 보상 파라미터는 하나 이상의 조명 보상 파라미터로부터 또는 적어도 하나의 공간적 이웃 블록이 현재 로컬 조명 보상 그룹이라 불리는, 상기 현재 블록과 동일한 로컬 조명 보상 그룹에 속하는 경우에만 상기 적어도 하나의 공간적 이웃 블록의 하나 이상의 재구성된 샘플로부터 결정되고, 조명 보상 그룹은 블록들의 그룹이고, 로컬 조명 보상 파라미터들은 상기 블록들의 그룹 중 블록들로부터만 상속되거나 계산될 수 있는 인코딩 장치. - 제16항에 따른 인코딩 방법에 따라 또는 제17항에 따른 인코딩 장치에 의해 생성되는 데이터를 포함하는 신호.
- 제1항 내지 제14항 중 어느 한 항에 따른 디코딩 방법 또는 제16항에 따른 인코딩 방법을 구현하기 위한 프로그램 코드 명령어들을 포함하는 컴퓨터 프로그램.
- 제1항 내지 제14항 중 어느 한 항에 따른 디코딩 방법 또는 제16항에 따른 인코딩 방법을 구현하기 위한 프로그램 코드 명령어들을 저장하는 정보 저장 매체.
Applications Claiming Priority (13)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18306215.7 | 2018-09-19 | ||
EP18306215 | 2018-09-19 | ||
EP18306261 | 2018-09-26 | ||
EP18306261.1 | 2018-09-26 | ||
EP18306328.8 | 2018-10-08 | ||
EP18306328 | 2018-10-08 | ||
EP18306446.8 | 2018-11-05 | ||
EP18306446 | 2018-11-05 | ||
EP18290137.1A EP3668100A1 (en) | 2018-12-10 | 2018-12-10 | Method and device for picture encoding and decoding |
EP18290137.1 | 2018-12-10 | ||
USPCT/US2019/050510 | 2019-09-11 | ||
PCT/US2019/050510 WO2020060808A1 (en) | 2018-09-19 | 2019-09-11 | Local illumination compensation for video encoding and decoding using stored parameters |
PCT/US2019/051917 WO2020061302A1 (en) | 2018-09-19 | 2019-09-19 | Method and device for picture encoding and decoding |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210058938A true KR20210058938A (ko) | 2021-05-24 |
Family
ID=69888848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217011334A KR20210058938A (ko) | 2018-09-19 | 2019-09-19 | 픽처 인코딩 및 디코딩을 위한 방법 및 디바이스 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11962753B2 (ko) |
EP (1) | EP3854098A1 (ko) |
KR (1) | KR20210058938A (ko) |
CN (1) | CN112771874B (ko) |
BR (1) | BR112021004943A2 (ko) |
WO (1) | WO2020061302A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023033617A1 (ko) * | 2021-09-03 | 2023-03-09 | 주식회사 윌러스표준기술연구소 | Lic(local illumination compensation) 모드를 이용한 비디오 신호 처리 방법 및 이를 위한 장치 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12063376B2 (en) * | 2018-09-19 | 2024-08-13 | Interdigital Vc Holdings, Inc. | Local illumination compensation for video encoding and decoding using stored parameters |
WO2020060808A1 (en) * | 2018-09-19 | 2020-03-26 | Interdigital Vc Holdings, Inc. | Local illumination compensation for video encoding and decoding using stored parameters |
US11924409B2 (en) * | 2021-02-21 | 2024-03-05 | Alibaba (China) Co., Ltd. | Systems and methods for inter prediction compensation |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100091845A1 (en) | 2006-03-30 | 2010-04-15 | Byeong Moon Jeon | Method and apparatus for decoding/encoding a video signal |
US9456222B2 (en) * | 2006-10-18 | 2016-09-27 | Thomson Licensing | Local illumination and color compensation without explicit signaling |
KR100856411B1 (ko) * | 2006-12-01 | 2008-09-04 | 삼성전자주식회사 | 조도 보상 방법 및 그 장치와 그 방법을 기록한 컴퓨터로 읽을 수 있는 기록매체 |
US20130194386A1 (en) | 2010-10-12 | 2013-08-01 | Dolby Laboratories Licensing Corporation | Joint Layer Optimization for a Frame-Compatible Video Delivery |
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 |
RU2510944C2 (ru) | 2012-07-03 | 2014-04-10 | Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." | Способ кодирования/декодирования многоракурсной видео последовательности на основе адаптивной локальной коррекции яркости опорных кадров без передачи дополнительных параметров (варианты) |
US10887597B2 (en) * | 2015-06-09 | 2021-01-05 | Qualcomm Incorporated | Systems and methods of determining illumination compensation parameters for video coding |
CN113473122B (zh) * | 2016-07-05 | 2024-08-20 | 株式会社Kt | 对视频进行解码或编码的方法和计算机可读介质 |
US10390015B2 (en) * | 2016-08-26 | 2019-08-20 | Qualcomm Incorporated | Unification of parameters derivation procedures for local illumination compensation and cross-component linear model prediction |
US10798404B2 (en) * | 2016-10-05 | 2020-10-06 | Qualcomm Incorporated | Systems and methods of performing improved local illumination compensation |
KR20180074000A (ko) * | 2016-12-23 | 2018-07-03 | 삼성전자주식회사 | 비디오 디코딩 방법, 이를 수행하는 비디오 디코더, 비디오 인코딩 방법, 및 이를 수행하는 비디오 인코더 |
US11082708B2 (en) * | 2018-01-08 | 2021-08-03 | Qualcomm Incorporated | Multiple-model local illumination compensation |
US11146800B2 (en) * | 2018-09-24 | 2021-10-12 | Tencent America LLC | Low latency local illumination compensation |
WO2020084507A1 (en) * | 2018-10-23 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Harmonized local illumination compensation and modified inter prediction coding |
US11290743B2 (en) * | 2018-12-08 | 2022-03-29 | Qualcomm Incorporated | Interaction of illumination compensation with inter-prediction |
CN113302916B (zh) * | 2019-01-27 | 2024-04-12 | 北京字节跳动网络技术有限公司 | 具有cu级别权重的双向预测的插值 |
US11821080B2 (en) | 2020-03-05 | 2023-11-21 | L'air Liquide Societe Anonyme Pour L'etude Et L'exploitation Des Procedes Georges Claude | Reagents to remove oxygen from metal oxyhalide precursors in thin film deposition processes |
-
2019
- 2019-09-19 WO PCT/US2019/051917 patent/WO2020061302A1/en unknown
- 2019-09-19 BR BR112021004943-6A patent/BR112021004943A2/pt unknown
- 2019-09-19 US US17/277,973 patent/US11962753B2/en active Active
- 2019-09-19 CN CN201980061694.0A patent/CN112771874B/zh active Active
- 2019-09-19 EP EP19774192.9A patent/EP3854098A1/en active Pending
- 2019-09-19 KR KR1020217011334A patent/KR20210058938A/ko unknown
-
2024
- 2024-03-08 US US18/600,358 patent/US20240214557A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023033617A1 (ko) * | 2021-09-03 | 2023-03-09 | 주식회사 윌러스표준기술연구소 | Lic(local illumination compensation) 모드를 이용한 비디오 신호 처리 방법 및 이를 위한 장치 |
Also Published As
Publication number | Publication date |
---|---|
CN112771874B (zh) | 2024-08-27 |
US11962753B2 (en) | 2024-04-16 |
BR112021004943A2 (pt) | 2021-06-01 |
US20240214557A1 (en) | 2024-06-27 |
US20210377517A1 (en) | 2021-12-02 |
EP3854098A1 (en) | 2021-07-28 |
WO2020061302A1 (en) | 2020-03-26 |
CN112771874A (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7569316B2 (ja) | コード化ツールの組み合わせおよび制限の管理 | |
CN112889287B (zh) | 广义双向预测和加权预测 | |
US11962753B2 (en) | Method and device of video coding using local illumination compensation (LIC) groups | |
KR20210087078A (ko) | 블록의 표면에 기초한 비디오 인코딩 또는 디코딩을 위한 양자화 | |
KR20210020915A (ko) | 이미지 블록들의 비대칭 이진 파티셔닝에 기초한 비디오 인코딩 및 디코딩을 위한 방법 및 장치 | |
JP2023500503A (ja) | 符号化及び復号化方法並びに装置 | |
KR20220123666A (ko) | 가중-예측 파라미터들의 추정 | |
EP3668100A1 (en) | Method and device for picture encoding and decoding | |
US20230023837A1 (en) | Subblock merge candidates in triangle merge mode | |
US20220038704A1 (en) | Method and apparatus for determining chroma quantization parameters when using separate coding trees for luma and chroma | |
JP2024513657A (ja) | ビデオエンコード及びデコードのためのテンプレートマッチング予測 | |
KR20210096116A (ko) | 픽처 인코딩 및 디코딩을 위한 방법 및 디바이스 | |
JP2022537222A (ja) | 局所照明補正フラグインヘリタンス | |
CN114073093A (zh) | 三角形分割的合并索引的信令通知 | |
KR20210074388A (ko) | 코딩 유형 또는 코딩 트리 유형의 시그널링을 이용한 비디오 인코딩 및 디코딩을 위한 방법 및 장치 |