KR20210152481A - 크로스 컴포넌트 의존성 감소를 위한 방법들 - Google Patents

크로스 컴포넌트 의존성 감소를 위한 방법들 Download PDF

Info

Publication number
KR20210152481A
KR20210152481A KR1020217033141A KR20217033141A KR20210152481A KR 20210152481 A KR20210152481 A KR 20210152481A KR 1020217033141 A KR1020217033141 A KR 1020217033141A KR 20217033141 A KR20217033141 A KR 20217033141A KR 20210152481 A KR20210152481 A KR 20210152481A
Authority
KR
South Korea
Prior art keywords
block
video block
current video
chroma
luma
Prior art date
Application number
KR1020217033141A
Other languages
English (en)
Other versions
KR102660668B1 (ko
Inventor
즈핀 덩
리 장
훙빈 류
카이 장
지정 쉬
Original Assignee
베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드
바이트댄스 아이엔씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드, 바이트댄스 아이엔씨 filed Critical 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드
Publication of KR20210152481A publication Critical patent/KR20210152481A/ko
Application granted granted Critical
Publication of KR102660668B1 publication Critical patent/KR102660668B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/1883Methods 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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

비주얼 미디어 처리를 위한 방법으로서, 비주얼 미디어 데이터의 현재 비디오 블록과 상기 현재 비디오 블록의 비트스트림 표현 간의 변환 동안, 상기 현재 비디오 블록과 연관된 동위치 루마 블록의 왼쪽 상단 샘플을 커버하는 대응하는 루마 블록의 이웃 샘플들에 적어도 부분적으로 기초하여 상기 현재 비디오 블록에 대한 크로스-컴포넌트 선형 모델(CCLM) 및/또는 크로마 잔차 스케일링(CRS) 인자를 계산하는 단계를 포함하고, 상기 대응하는 루마 블록을 식별하기 위해 상기 현재 비디오 블록의 하나 이상의 특성이 이용되는, 방법.

Description

크로스 컴포넌트 의존성 감소를 위한 방법들
관련 출원들에 대한 상호 참조
파리 조약에 따른 적용가능한 특허법 및/또는 규칙들 하에서, 본 출원은 2019년 4월 23일에 출원된 국제 특허 출원 번호 PCT/CN2019/083846에 대한 우선권 및 이익을 적시에 주장하기 위해 출원되었다. 법 하에서 모든 목적을 위해, 위에 언급된 출원의 전체 개시내용은 본 출원의 개시내용의 일부로서 인용에 의해 포함된다.
본 특허 문서는 비디오 코딩 및 디코딩 기법들, 디바이스들 및 시스템들에 관한 것이다.
비디오 압축의 진보에도 불구하고, 디지털 비디오는 여전히 인터넷 및 다른 디지털 통신 네트워크들에서 가장 큰 대역폭 사용을 차지한다. 비디오를 수신 및 디스플레이할 수 있는 연결된 사용자 디바이스의 수가 증가함에 따라, 디지털 비디오 사용에 대한 대역폭 수요가 계속 증가할 것으로 예상된다.
디지털 비디오 코딩/디코딩에 관련된 디바이스들, 시스템들 및 방법들, 및 구체적으로, 비디오 코딩/디코딩에서 크로스-컴포넌트 선형 모델(CCLM) 예측 모드에 대한 단순화된 선형 모델 도출들이 설명된다. 설명된 방법들은 기존의 비디오 코딩 표준들(예를 들어, HEVC(High Efficiency Video Coding)) 및 미래의 비디오 코딩 표준들(예를 들어, VVC(Versatile Video Coding)) 또는 코덱들 둘 다에 적용될 수 있다.
하나의 대표적인 양태에서, 비주얼 미디어 처리를 위한 방법이 개시된다. 이 방법은, 비주얼 미디어 데이터의 현재 비디오 블록과 상기 현재 비디오 블록의 비트스트림 표현 간의 변환 동안, 상기 현재 비디오 블록과 연관된 동위치 루마 블록의 왼쪽 상단 샘플을 커버하는 대응하는 루마 블록의 이웃 샘플들에 적어도 부분적으로 기초하여 상기 현재 비디오 블록에 대한 크로스-컴포넌트 선형 모델(CCLM) 및/또는 크로마 잔차 스케일링(CRS) 인자를 계산하는 단계를 포함하고, 상기 대응하는 루마 블록을 식별하기 위해 상기 현재 비디오 블록의 하나 이상의 특성이 이용된다.
다른 대표적인 양태에서, 비주얼 미디어 처리를 위한 방법이 개시된다. 이 방법은 규칙을 이용하여 비주얼 미디어 데이터의 현재 비디오 블록의 컬러 성분들에 대해 크로마 잔차 스케일링(CRS)을 선택적으로 인에이블 또는 디스에이블하는 결정을 하는 단계 - 상기 규칙은 상기 현재 비디오 블록의 코딩 모드 정보 및/또는 하나 이상의 이웃 비디오 블록의 코딩 모드 정보에 기초함 -; 및 상기 결정에 기초하여, 상기 현재 비디오 블록과 비트스트림 표현 간의 변환을 수행하는 단계를 포함한다.
또 다른 대표적인 양태에서, 비주얼 미디어 처리를 위한 방법이 개시된다. 이 방법은 비주얼 미디어 데이터의 현재 비디오 블록과 연관된 슬라이스 또는 타일 그룹 내의 비디오 블록들과 연관된 적어도 하나의 크로마 블록에 대해 단일 크로마 잔차 스케일링 인자를 이용하는 단계; 상기 현재 비디오 블록과 상기 현재 비디오 블록의 비트스트림 표현 간의 변환을 수행하는 단계를 포함한다.
다른 대표적인 양태에서, 비주얼 미디어 처리를 위한 방법이 개시된다. 이 방법은 비주얼 미디어 데이터의 현재 비디오 블록과 상기 현재 비디오 블록의 비트스트림 표현 간의 변환 동안 크로마 잔차 스케일링 인자를 도출하는 단계; 상기 비주얼 미디어 데이터의 다른 비디오 블록들과 함께 사용하기 위해 상기 크로마 잔차 스케일링 인자를 저장하는 단계; 및 상기 현재 비디오 블록 및 상기 다른 비디오 블록들을 상기 비트스트림 표현으로 변환하기 위해 상기 크로마 잔차 인자를 적용하는 단계를 포함한다.
다른 대표적인 양태에서, 비주얼 미디어 처리를 위한 방법이 개시된다. 이 방법은 비주얼 미디어 데이터의 현재 비디오 블록과 상기 비주얼 미디어 데이터의 비트스트림 표현 간의 변환 동안: 상기 현재 비디오 블록의 크로마 잔차 인자를 계산하는 단계; 상기 비주얼 미디어 데이터의 제2 비디오 블록과 함께 사용하기 위해 상기 크로마 잔차 스케일링 인자를 버퍼에 저장하는 단계; 및 상기 사용 후에, 상기 버퍼로부터 상기 크로마 잔차 스케일링 인자를 제거하는 단계를 포함한다.
또 다른 예시적인 양태에서, 위에 기술된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 인코더 또는 디코더 장치가 개시된다.
다른 예시적인 양태에서, 컴퓨터 판독가능 프로그램 매체가 개시된다. 이 매체는 개시된 방법들 중 하나를 구현하기 위한 프로세서 실행가능 명령어들을 구현하는 코드를 저장한다.
또 다른 대표적인 양태에서, 위에 기술된 방법은 프로세서 실행가능 코드의 형식으로 구현되고 컴퓨터 판독가능 프로그램 매체에 저장된다.
도 1은 HEVC에서의 각도 인트라 예측 모드들의 예를 보여준다.
도 2는 HEVC에 있지 않은 방향 모드들의 예를 보여준다.
도 3은 CCLM 모드와 관련된 예를 보여준다.
도 4는 크로마 스케일링을 갖는 루마 맵핑(luma mapping with chroma scaling) 아키텍처의 예를 보여준다.
도 5는 상이한 컬러 포맷들에서의 루마 블록 및 크로마 블록의 예를 보여준다.
도 6은 동일한 컬러 포맷들에서의 루마 블록 및 크로마 블록의 예를 보여준다.
도 7은 다수의 포맷을 커버하는 동위치 루마 블록의 예를 보여준다.
도 8은 더 큰 루마 블록 내의 루마 블록의 예를 보여준다.
도 9는 더 큰 루마 블록 내의 그리고 바운딩 박스 내의 루마 블록의 예를 보여준다.
도 10은 본 문서에서 설명된 비주얼 미디어 디코딩 또는 비주얼 미디어 인코딩 기법을 구현하기 위한 하드웨어 플랫폼의 예의 블록도이다.
도 11은 개시된 기술에 따른 크로스-컴포넌트 예측을 위한 선형 모델 도출들을 위한 예시적인 방법의 흐름도를 보여준다.
도 12는 개시된 기법들이 구현될 수 있는 예시적인 비디오 처리 시스템의 블록도이다.
도 13은 비주얼 미디어 처리를 위한 예시적인 방법의 흐름도를 보여준다.
도 14는 비주얼 미디어 처리를 위한 예시적인 방법의 흐름도를 보여준다.
도 15는 비주얼 미디어 처리를 위한 예시적인 방법의 흐름도를 보여준다.
도 16은 비주얼 미디어 처리를 위한 예시적인 방법의 흐름도를 보여준다.
도 17은 비주얼 미디어 처리를 위한 예시적인 방법의 흐름도를 보여준다.
2.1 HEVC에 대한 간단한 검토
2.1.1 HEVC/H.265에서의 인트라 예측
인트라 예측은 고려된 컬러 채널에서 이전에 재구성된 샘플들을 이용하여 주어진 TB(변환 블록)에 대한 샘플들을 생성하는 것을 수반한다. 인트라 예측 모드는 루마 및 크로마 채널들에 대해 개별적으로 시그널링되고, 크로마 채널 인트라 예측 모드는 옵션으로 'DM_CHROMA' 모드를 통해 루마 채널 인트라 예측 모드에 의존한다. 인트라 예측 모드는 PB(예측 블록) 레벨에서 시그널링되지만, 인트라 예측 프로세스는 CU에 대한 잔차 쿼드-트리 계층구조에 따라 TB 레벨에서 적용되고, 그에 의해 하나의 TB의 코딩이 CU 내의 다음 TB의 코딩에 영향을 미치는 것을 허용하고, 따라서 참조 값들로서 사용되는 샘플들까지의 거리를 감소시킨다.
HEVC는 35개의 인트라 예측 모드 - DC 모드, 평면 모드 및 33개의 방향, 또는 '각도' 인트라 예측 모드를 포함한다. 33개의 각도 인트라 예측 모드가 도 1에 예시되어 있다.
크로마 컬러 채널들과 연관된 PB들에 대해, 인트라 예측 모드는 평면, DC, 수평, 수직, 'DM_CHROMA' 모드 또는 때때로 대각선 모드 '34'로서 특정된다.
크로마 포맷들 4:2:2 및 4:2:0에 대해, 크로마 PB는 2개 또는 4개의(각각) 루마 PB들과 오버랩할 수 있다는 점에 유의한다; 이 경우 DM_CHROMA에 대한 루마 방향은 이들 루마 PB의 왼쪽 상단으로부터 취해진다.
DM_CHROMA 모드는 루마 컬러 채널 PB의 인트라 예측 모드가 크로마 컬러 채널 PB들에 적용되는 것을 지시한다. 이는 비교적 흔하기 때문에, intra_chroma_pred_mode의 most-probable-mode 코딩 스킴은 이 모드가 선택되는 것을 위하여 바이어싱된다.
2.2 VVC(Versatile Video Coding) 알고리즘 설명
2.2. 1VVC 코딩 아키텍처
HEVC 이후 미래의 비디오 코딩 기술들을 탐구하기 위해, JVET(Joint Video Exploration Team)가 2015년 공동으로 VCEG 및 MPEG에 의해 설립되었다. JVET 회의는 분기마다 한 번 개최되고, 새로운 코딩 표준은 HEVC와 비교하여 50% 비트레이트 감소를 목표로 하고 있다. 새로운 비디오 코딩 표준은 2018년 4월 JVET 회의에서 VVC(Versatile Video Coding)로서 공식적으로 명명되었고, 그때 VVC 테스트 모델(VTM)의 첫 번째 버전이 발표되었다. VVC 표준화에 기여하는 지속적인 노력이 있음에 따라, 새로운 코딩 기법들이 JVET 회의마다 VVC 표준에 채택되고 있다. 그 후 VVC 작업 초안 및 테스트 모델 VTM은 회의 후마다 업데이트된다. VVC 프로젝트는 이제 2020년 7월 회의에서 기술적 완성(FDIS)을 목표로 하고 있다.
대부분의 이전 표준들에서와 같이, VVC는 인터-화상 및 인트라-화상 예측 및 변환 코딩을 엔트로피 코딩과 조합하는 블록 기반 하이브리드 코딩 아키텍처를 갖는다. 화상 파티셔닝 구조는 입력 비디오를 코딩 트리 단위(CTU)들이라고 불리는 블록들로 분할한다. CTU는 네스팅된 멀티-타입 트리 구조를 갖는 쿼드트리를 이용하여 코딩 단위(CU)들로 분열되고, 리프 코딩 단위(CU)가 동일한 예측 모드(예를 들어, 인트라 또는 인터)를 공유하는 영역을 정의한다. 본 문서에서, 용어 '단위(unit)'는 모든 컬러 성분들을 커버하는 이미지의 영역을 정의한다; 용어 '블록'은 특정 컬러 성분(예를 들어, 루마)을 커버하는 영역을 정의하기 위해 사용되고, 4:2:0과 같은 크로마 샘플링 포맷을 고려할 때 공간 위치가 다를 수 있다.
2.2.2 VVC에서의 이중/개별 트리 파티션
루마 성분 및 크로마 성분은 I 슬라이스들에 대해 개별 파티션 트리들을 가질 수 있다. 개별 트리 파티셔닝은 CTU 레벨 대신에 64x64 블록 레벨 아래에 있다. VTM 소프트웨어에서는, 이중-트리 온 및 오프를 제어하는 SPS 플래그가 있다.
2.2.3 VVC에서의 인트라 예측
2.2.3. 167개의 인트라 예측 모드
내추럴 비디오에서 제시되는 임의의 에지 방향들을 캡처하기 위해, VTM4에서의 방향 인트라 모드의 수는 HEVC에서 사용되는 33개로부터 65개로 확장된다. HEVC에 있지 않은 새로운 방향 모드들은 도 2에서 적색 점선 화살표들로서 묘사되고, 평면 및 DC 모드들은 동일하게 유지된다. 이들 더 조밀한 방향 인트라 예측 모드들은 모든 블록 크기들에 대해 그리고 루마 및 크로마 인트라 예측들 둘 다에 대해 적용된다.
2.2.3.2 크로스-컴포넌트 선형 모델 예측(CCLM)
크로스-컴포넌트 중복성을 감소시키기 위해, 크로스-컴포넌트 선형 모델(CCLM) 예측 모드가 VTM4에서 사용되고, 그에 대해 크로마 샘플들은 다음과 같이 선형 모델을 이용하여 동일한 CU의 재구성된 루마 샘플들에 기초하여 예측된다:
Figure pct00001
여기서 predC(i, j)는 CU 내의 예측된 크로마 샘플들을 나타내고, recL(i, j)는 동일한 CU의 다운샘플링된 재구성된 루마 샘플들을 나타낸다. 선형 모델 파라미터들 α 및 β는 다운샘플링된 이웃 루마 샘플들의 세트 내부의 최소 샘플 값 및 최대 샘플 샘플을 갖는 루마 샘플인 2개의 샘플, 및 그들의 대응하는 크로마 샘플들로부터 루마 값들과 크로마 값들 사이의 관계로부터 도출된다. 선형 모델 파라미터들 α 및 β는 다음의 수학식들에 따라 획득된다.
Figure pct00002
여기서 Ya 및 Xa는 최대 루마 샘플 값을 갖는 루마 샘플의 루마 값 및 크로마 값을 나타낸다. 그리고 Xb 및 Yb는 각각 최소 루마 샘플을 갖는 루마 샘플의 루마 값 및 크로마 값을 나타낸다. 도 3은 CCLM 모드에 수반되는 현재 블록의 샘플 및 왼쪽 및 위의 샘플들의 위치의 예를 보여준다.
파라미터 α를 산출하는 나눗셈 연산은 룩업 테이블로 구현된다. 테이블을 저장하기 위해 필요한 메모리를 감소시키기 위해, diff 값(최대 값과 최소 값 간의 차이) 및 파라미터 α는 지수 표기법에 의해 표현된다. 예를 들어, diff는 4-비트 유효 부분 및 지수로 근사화된다. 결과적으로, 1/diff에 대한 테이블은 다음과 같이 가수(significand)의 16개의 값에 대해 16개의 요소로 감소된다:
Figure pct00003
이것은 산출의 복잡성뿐만 아니라 필요한 테이블들을 저장하기 위해 필요한 메모리 크기를 감소시키는 둘 다의 이점을 가질 것이다.
위의 템플릿 및 왼쪽 템플릿이 선형 모델 계수들을 함께 산출하기 위해 사용될 수 있는 것 이외에, 그것들은 LM_A 및 LM_L 모드들이라고 불리는 다른 2개의 LM 모드에서도 대안적으로 사용될 수 있다.
LM_A 모드에서는, 위의 템플릿만이 선형 모델 계수들을 산출하기 위해 사용된다. 더 많은 샘플들을 얻기 위해, 위의 템플릿은 (W+H)로 확장된다. LM_L 모드에서는, 왼쪽 템플릿만이 선형 모델 계수들을 산출하기 위해 사용된다. 더 많은 샘플들을 얻기 위해, 왼쪽 템플릿은 (H+W)로 확장된다.
비-정사각형 블록에 대해, 위의 템플릿은 W+W로 확장되고, 왼쪽 템플릿은 H+H로 확장된다.
4:2:0 비디오 시퀀스들에 대한 크로마 샘플 위치들을 매칭시키기 위해, 수평 및 수직 방향들 둘 다에서 2 대 1 다운샘플링 비율을 달성하기 위해 루마 샘플들에 2가지 타입의 다운샘플링 필터가 적용된다. 다운샘플링 필터의 선택은 SPS 레벨 플래그에 의해 특정된다. 2개의 다운샘플링 필터는 다음과 같고, 이들은 각각 "타입-0" 및 "타입-2" 콘텐츠에 대응한다.
Figure pct00004
상부 참조 라인이 CTU 경계에 있을 때 다운샘플링된 루마 샘플들을 만들기 위해 단 하나의 루마 라인(인트라 예측에서의 일반 라인 버퍼)만이 이용된다는 점에 유의한다.
이러한 파라미터 계산은, 인코더 탐색 동작으로서만 수행되는 것이 아니고, 디코딩 프로세스의 일부로서 수행된다. 그 결과, 디코더에 α 및 β값들을 전달하기 위해 어떤 구문도 사용되지 않는다.
크로마 인트라 모드 코딩에 대해, 크로마 인트라 모드 코딩에 대해 총 8개의 인트라 모드가 허용된다. 해당 모드들은 5개의 전통적인 인트라 모드 및 3개의 크로스-컴포넌트 선형 모델 모드(CCLM, LM_A 및 LM_L)를 포함한다. 크로마 모드 코딩은 대응하는 루마 블록의 인트라 예측 모드에 직접 의존한다. 루마 및 크로마 성분들에 대한 개별 블록 파티셔닝 구조가 I 슬라이스들에서 인에이블되므로, 하나의 크로마 블록은 다수의 루마 블록에 대응할 수 있다. 따라서, 크로마 DM 모드에 대해, 현재 크로마 블록의 중앙 위치를 커버하는 대응하는 루마 블록의 인트라 예측 모드가 직접 상속된다.
2.2.3.2.1 대응하는 수정된 작업 초안(JVET-N0271)
다음의 사양은 JVET-M1001의 수정된 작업 초안 및 JVET-N0271에서의 채택에 기초한다. 채택된 JVET-N0220의 수정들은 볼드체 및 밑줄로 제시되어 있다.
구문 표
Figure pct00005
의미론
sps_cclm_enabled_flag가 0과 동등한 것은 루마 성분으로부터 크로마 성분으로의 크로스-컴포넌트 선형 모델 인트라 예측이 디스에이블되는 것을 특정한다. sps_cclm_enabled_flag가 1과 동등한 것은 루마 성분으로부터 크로마 성분으로의 크로스-컴포넌트 선형 모델 인트라 예측이 인에이블되는 것을 특정한다.
디코딩 프로세스
Figure pct00006
Figure pct00007
Figure pct00008
Figure pct00009
Figure pct00010
Figure pct00011
Figure pct00012
Figure pct00013
Figure pct00014
2.2.3.3 기타 인트라 예측 양태들
VTM4는 HEVC와 상이한 많은 인트라 코딩 툴들을 포함하는데, 예를 들어, bock 트리 구조에 더하여 VVC 테스트 모델 3에 다음의 특징들이 포함되었다.
광각 모드 확장을 갖는 67개의 인트라 모드
블록 크기 및 모드 의존 4 탭 보간 필터
위치 의존 인트라 예측 조합(PDPC)
크로스 컴포넌트 선형 모델 인트라 예측
다중-참조 라인 인트라 예측
인트라 서브-파티션들
2.2.4 VVC에서의 인터 예측
2.2.4.1 조합된 인터 및 인트라 예측(CIIP)
VTM4에서는, CU가 병합 모드로 코딩될 때, 그리고 CU가 적어도 64개의 루마 샘플을 포함하면(즉, CU 폭 곱하기 CU 높이가 64와 동등하거나 그보다 크면), 조합된 인터/인트라 예측(CIIP) 모드가 현재 CU에 적용되는지를 지시하는 추가적인 플래그가 시그널링된다.
CIIP 예측을 형성하기 위해, 먼저 2개의 추가적인 구문 요소로부터 인트라 예측 모드가 도출된다. 최대 4개의 가능한 인트라 예측 모드가 사용될 수 있다: DC, 평면, 수평, 또는 수직. 그 후, 정규 인트라 및 인터 디코딩 프로세스들을 이용하여 인터 예측 및 인트라 예측 신호들이 도출된다. 마지막으로, 인터 및 인트라 예측 신호들의 가중 평균을 수행하여 CIIP 예측을 획득한다.
2.2.4.2 기타 인터 예측 양태들
VTM4는 HEVC와 상이한 많은 인터 코딩 툴들을 포함하는데, 예를 들어, bock 트리 구조에 더하여 VVC 테스트 모델 3에 다음의 특징들이 포함되었다.
Figure pct00015
아핀 모션 인터 예측
Figure pct00016
서브-블록 기반 시간 모션 벡터 예측
Figure pct00017
적응 모션 벡터 해상도
Figure pct00018
시간 모션 예측을 위한 8x8 블록 기반 모션 압축
Figure pct00019
높은 정밀도(1/16 pel) 모션 벡터 저장 및 루마 성분에 대한 8-탭 보간 필터 및 크로마 성분에 대한 4-탭 보간 필터를 이용한 모션 보상
Figure pct00020
삼각형 파티션들
Figure pct00021
조합된 인트라 및 인터 예측
Figure pct00022
MVD와의 병합(MMVD)
Figure pct00023
대칭 MVD 코딩
Figure pct00024
양방향 광학 흐름
Figure pct00025
디코더 측 모션 벡터 리파인먼트
Figure pct00026
양방향 예측 가중 평균
2.2.5 루프 내 필터들
VTM4에는 총 3개의 루프 내 필터가 있다. 디블로킹 필터 및 SAO(HEVC에서의 2개의 루프 필터)이외에, 적응 루프 필터(ALF)가 VTM4에서 적용된다. VTM4에서의 필터링 프로세스의 순서는 디블로킹 필터, SAO 및 ALF이다.
VTM4에서, SAO 및 디블로킹 필터링 프로세스들은 HEVC에서의 것들과 거의 동일하다.
VTM4에서는, 크로마 스케일링을 갖는 루마 맵핑이라고 불리는 새로운 프로세스가 추가되었다(이 프로세스는 이전에 적응 루프 내 리셰이퍼(adaptive in-loop reshaper)라고 알려졌다). 이 새로운 프로세스는 디블로킹 전에 수행된다.
2.2.6 크로마 스케일링을 갖는 루마 맵핑(LMCS, 루프 내 리셰이핑(in-loop reshaping)이라고도 알려짐)
VTM4에서는, 크로마 스케일링을 갖는 루마 맵핑(LMCS)이라고 불리는 코딩 툴이 루프 필터들 전에 새로운 처리 블록으로서 추가된다. LMCS는 2개의 주요 성분을 갖는다: 1) 적응 조각별 선형 모델(adaptive piecewise linear model)들에 기초한 루마 성분의 루프 내 맵핑; 2) 크로마 성분들에 대해, 루마-의존 크로마 잔차 스케일링이 적용된다. 도 4는 디코더의 관점에서의 LMCS 아키텍처를 보여준다. 도 4의 옅은 청색 음영 블록들은 맵핑된 도메인에서 처리가 적용되는 곳을 지시하고; 이들은 역양자화, 역변환, 루마 인트라 예측, 및 루마 잔차와 함께 루마 예측을 가산하는 것을 포함한다. 도 4의 비음영 블록들은 원래의(즉, 비-맵핑된) 도메인에서 처리가 적용되는 곳을 지시하고; 이들은 디블로킹, ALF, 및 SAO와 같은 루프 필터들, 모션 보상 예측, 크로마 인트라 예측, 크로마 잔차와 함께 크로마 예측을 가산하는 것, 및 참조 화상들로서 디코딩된 화상들을 저장하는 것을 포함한다. 도 4에서 옅은 황색 음영 블록들은 루마 신호의 순방향 및 역방향 맵핑 및 루마-의존 크로마 스케일링 프로세스를 포함하는 새로운 LMCS 기능 블록들이다. VVC에서의 대부분의 다른 툴들과 같이, LMCS는 SPS 플래그를 이용하여 시퀀스 레벨에서 인에이블/디스에이블될 수 있다.
2.2.6.1 조각별 선형 모델을 갖는 루마 맵핑
루마 성분의 루프 내 맵핑은 압축 효율을 개선하기 위해 다이내믹 레인지에 걸쳐 코드워드들을 재분배하는 것에 의해 입력 신호의 다이내믹 레인지를 조정한다. 루마 맵핑은 순방향 맵핑 함수(FwdMap) 및 대응하는 역방향 맵핑 함수(InvMap)를 이용한다. FwdMap 함수는 16개의 동등한 조각을 갖는 조각별 선형 모델을 이용하여 시그널링된다. InvMap 함수는 시그널링될 필요가 없고 대신에 FwdMap 함수로부터 도출된다.
루마 맵핑 모델은 타일 그룹 레벨에서 시그널링된다. 존재 플래그(presence flag)가 먼저 시그널링된다. 현재 타일 그룹에 루마 맵핑 모델이 존재하면, 대응하는 조각별 선형 모델 파라미터들이 시그널링된다. 조각별 선형 모델은 입력 신호의 다이내믹 레인지를 16개의 동등한 조각으로 파티셔닝하고, 각각의 조각에 대해, 그것의 선형 맵핑 파라미터들을 해당 조각에 할당된 코드워드의 수를 이용하여 표현한다. 10-비트 입력을 예로 든다. 16개의 조각 각각은 디폴트로 그것에 할당된 64개의 코드워드를 가질 것이다. 시그널링된 코드워드의 수는 스케일링 인자를 산출하고 그에 따라 해당 조각에 대한 맵핑 함수를 조정하기 위해 사용된다. 타일 그룹 레벨에서, 도 4에 묘사된 바와 같은 LMCS 프로세스가 현재 타일 그룹에 적용되는지를 지시하는 다른 LMCS 인에이블 플래그가 시그널링된다.
FwdMap 조각별 선형 모델의 각각의 i 번째 조각(i = 0 ... 15)은 2개의 입력 피벗 포인트 InputPivot[] 및 2개의 출력(맵핑된) 피벗 포인트 MappedPivot[]에 의해 정의된다.
InputPivot[] 및 MappedPivot[]은 다음과 같이 계산된다(10-비트 비디오를 가정하여):
1) OrgCW = 64
2) i = 0:16에 대해, InputPivot[ i ] = i * OrgCW
3) i=0:16에 대해, MappedPivot[i]은 다음과 같이 산출된다:
Figure pct00027
여기서 SignalledCW[ i ]는 i 번째 조각에 대한 시그널링된 코드워드의 수이다.
도 4에 도시된 바와 같이, 인터-코딩된 블록에 대해, 맵핑된 도메인에서 모션 보상 예측이 수행된다. 다시 말해서, 모션-보상된 예측 블록
Figure pct00028
가 DPB에서의 참조 신호들에 기초하여 산출된 후에, 원래 도메인에서의 루마 예측 블록을 맵핑된 도메인에 맵핑하기 위해
Figure pct00029
함수가 적용되는데,
Figure pct00030
이다. 인트라-코딩된 블록에 대해서는, 맵핑된 도메인에서 인트라 예측이 수행되기 때문에
Figure pct00031
함수가 적용되지 않는다. 재구성된 블록
Figure pct00032
이 산출된 후에, 맵핑된 도메인에서의 재구성된 루마 값들을 원래 도메인에서의 재구성된 루마 값들로 다시 변환하기 위해
Figure pct00033
함수가 적용된다
Figure pct00034
.
Figure pct00035
함수는 인트라- 및 인터-코딩된 루마 블록들 둘 다에 적용된다.
루마 맵핑 프로세스(순방향 및/또는 역방향 맵핑)는 룩업 테이블들(LUT)을 이용하여 또는 온-더-플라이(on-the-fly) 계산을 이용하여 구현될 수 있다. LUT가 이용된다면, 타일 그룹 레벨에서의 사용을 위해
Figure pct00036
Figure pct00037
가 미리 산출되어 미리 저장될 수 있고, 순방향 및 역방향 맵핑은 각각
Figure pct00038
Figure pct00039
로서 간단히 구현될 수 있다. 대안적으로, 온-더-플라이 계산이 이용될 수 있다. 순방향 맵핑 함수
Figure pct00040
을 예로 든다. 루마 샘플이 속하는 조각을 알아내기 위해, 샘플 값은 6 비트(16개의 동등한 조각에 대응함)만큼 오른쪽 시프트된다. 그 후, 해당 조각에 대한 선형 모델 파라미터들을 검색하고 온-더-플라이로 적용하여 맵핑된 루마 값을 계산한다. i를 조각 인덱스라고 하고, a1, a2를 각각 InputPivot[i] 및 InputPivot[i+1]라고 하고, b1, b2를 각각 MappedPivot[i] 및 MappedPivot[i+1]라고 하자. FwdMap 함수는 다음과 같이 평가된다:
Figure pct00041
InvMap 함수는, 샘플 값이 속하는 조각을 알아낼 때 간단한 오른쪽 비트 시프트 대신에 조건부 검사들이 적용될 필요가 있다는 점을 제외하고는, 유사한 방식으로 온-더-플라이로 계산될 수 있는데, 그 이유는 맵핑된 도메인에서의 조각들이 동등한 크기가 아니기 때문이다.
2.2.6.2 루마-의존 크로마 잔차 스케일링
크로마 잔차 스케일링은 루마 신호와 그것의 대응하는 크로마 신호들 사이의 상호작용을 보상하도록 설계된다. 크로마 잔차 스케일링이 인에이블되는지 여부도 타일 그룹 레벨에서 시그널링된다. 루마 맵핑이 인에이블되면 그리고 이중 트리 파티션(개별 크로마 트리라고도 알려짐)이 현재 타일 그룹에 적용되지 않으면, 루마-의존 크로마 잔차 스케일링이 인에이블되는지 여부를 지시하는 추가적인 플래그가 시그널링된다. 루마 맵핑이 이용되지 않을 때, 또는 이중 트리 파티션이 현재 타일 그룹에서 이용될 때, 루마-의존 크로마 잔차 스케일링이 디스에이블된다. 또한, 그 면적이 4와 동등하거나 그보다 작은 크로마 블록들에 대해서는 루마-의존 크로마 잔차 스케일링이 항상 디스에이블된다.
크로마 잔차 스케일링은 대응하는 루마 예측 블록의 평균 값에 의존한다(인트라- 및 인터-코딩된 블록 둘 다에 대해).
Figure pct00042
를 루마 예측 블록의 평균으로 나타낸다.
Figure pct00043
의 값은 다음의 단계들에서 계산된다:
1)
Figure pct00044
함수에 기초하여
Figure pct00045
가 속하는 조각별 선형 모델의 인덱스
Figure pct00046
를 구한다.
2)
Figure pct00047
- 여기서 cScaleInv[]은 미리 계산된 16-조각 LUT이다.
현재 블록이 인트라, CIIP, 또는 인트라 블록 카피(IBC, 현재 화상 참조(current picture referencing) 또는 CPR이라고도 알려짐) 모드들로서 코딩되어 있다면,
Figure pct00048
는 인트라-, CIIP- 또는 IBC- 예측된 루마 값들의 평균으로서 계산되고; 그렇지 않으면,
Figure pct00049
는 순방향 맵핑된 인터 예측된 루마 값들(도 4에서
Figure pct00050
)의 평균으로서 계산된다. 샘플 기반으로 수행되는 루마 맵핑과 달리,
Figure pct00051
는 전체 크로마 블록에 대한 상수 값이다.
Figure pct00052
를 이용하여, 크로마 잔차 스케일링은 다음과 같이 적용된다:
Figure pct00053
Figure pct00054
2.2.6.3 JVET-N0220에서의 채택을 갖는 JVET-M1001_v7에서의 대응하는 작업 초안
다음의 사양은 JVET-M1001의 수정된 작업 초안 및 JVET-N0220에서의 채택에 기초한다. 채택된 JVET-N0220에서의 수정은 볼드체 및 밑줄로 제시되어 있다.
구문 표들
Figure pct00055
Figure pct00056
Figure pct00057
의미론
Figure pct00058
Figure pct00059
Figure pct00060
Figure pct00061
3. 기존의 구현들의 단점들
LMCS/CCLM의 현재 설계는 다음의 문제들을 가질 수 있다:
1. LMCS 코딩 툴에서, 크로마 잔차 스케일링 인자는 동위치 루마 예측 블록의 평균 값에 의해 도출되고, 이는 LMCS 크로마 잔차 스케일링에서 크로마 샘플들을 처리하기 위한 레이턴시를 야기한다.
a) 단일/공유 트리의 경우, (a) 이용가능한 전체 루마 블록의 모든 예측 샘플들을 기다리고, (b) (a)에 의해 획득된 모든 루마 예측 샘플들을 평균하는 것에 의해 레이턴시가 야기된다.
b) 이중/개별 트리의 경우, 루마 및 크로마 성분들에 대한 개별 블록 파티셔닝 구조가 I 슬라이스들에서 인에이블되기 때문에 레이턴시가 훨씬 더 나빠진다. 따라서, 하나의 크로마 블록은 다수의 루마 블록에 대응할 수 있고, 하나의 4x4 크로마 블록은 64x64 루마 블록에 대응할 수 있다. 따라서, 최악의 경우는 현재 4x4 크로마 블록의 크로마 잔차 스케일링 인자가 전체 64x64 루마 블록 내의 모든 예측 샘플들이 이용가능할 때까지 기다릴 필요가 있을 수 있다는 것이다. 한 마디로, 이중/개별 트리에서의 레이턴시 문제는 훨씬 더 심각할 것이다.
2. CCLM 코딩 툴에서, 인트라 크로마 예측을 위한 CCLM 모델 계산은 루마 블록 및 크로마 블록 둘 다의 왼쪽 및 위의 참조 샘플들에 의존된다. 그리고 크로마 블록에 대한 CCLM 예측은 동일한 CU의 동위치 루마 재구성된 샘플들에 의존한다. 이것은 이중/개별 트리에서 높은 레이턴시를 야기할 것이다.
Figure pct00062
이중/개별 트리의 경우, 하나의 4x4 크로마 블록은 64x64 루마 블록에 대응할 수 있다. 따라서, 최악의 경우는 현재 크로마 블록에 대한 CCLM 프로세스가 대응하는 전체 64x64 루마 블록이 재구성될 때까지 기다릴 필요가 있을 수 있다는 것이다. 이러한 레이턴시 문제는 이중/개별 트리에서의 LMCS 크로마 스케일링과 유사하다.
4. 예시적인 기법들 및 실시예들
문제들을 다루기 위해, 우리는 루마-의존 크로마 잔차 스케일링, CCLM, 및 상이한 컬러 성분으로부터의 정보에 의존하는 다른 코딩 툴들에서의 크로스-컴포넌트 의존성을 제거/감소/제한하기 위한 수 개의 방법들을 제안한다.
아래에 설명된 상세한 실시예들은 일반적인 개념들을 설명하기 위한 예들로서 간주되어야 한다. 이들 실시예는 좁은 방식으로 해석되어서는 안 된다. 더욱이, 이들 실시예는 임의의 방식으로 조합될 수 있다.
아래에 설명된 불릿들은 LMCS/CCLM을 명시적으로 언급하지만, 방법들은 또한 상이한 컬러 성분으로부터의 정보에 의존하는 다른 코딩 툴들에도 적용가능할 수 있다는 점에 유의한다. 또한, 아래에 언급된 용어 '루마' 및 '크로마'는 RGB 컬러 포맷의 'G 성분' 및 'B/R 성분'과 같은 '제1 컬러 성분' 및 '제2 컬러 성분'으로 각각 대체될 수 있다.
다음의 논의에서, "동위치 샘플/블록"의 정의는 VVC 작업 초안 JVET-M1001에서의 동위치 샘플/블록의 정의와 정렬된다. 더 구체적으로, 4:2:0 컬러 포맷에서, 크로마 블록의 왼쪽 상단 샘플이 위치 ( xTbC, yTbC )에 있다고 가정하면, 동위치 루마 블록 위치 ( xTbY, yTbY )의 왼쪽 상단 샘플은 다음과 같이 도출된다: ( xTbY, yTbY ) = ( xTbC << 1, yTbC << 1 ). 도 5에 예시된 바와 같이, 현재 크로마 블록의 왼쪽 상단 샘플이 크로마 화상에서 (x=16,y=16)에 위치하면, 그것의 동위치 루마 블록의 왼쪽 상단 샘플은, 루마 화상에서의 동위치 루마 블록의 블록 파티션에 관계없이, 루마 화상에서 (x=32,y=32)에 위치한다. 다른 예로, 동일한 컬러 성분에서, 참조 프레임 내의 동위치 블록의 왼쪽 상단 샘플의 위치는 현재 프레임 내의 현재 블록의 왼쪽 상단 샘플의 위치와 동일해야 하고, 도 6에 예시된 바와 같이, 현재 블록의 왼쪽 상단 샘플이 현재 프레임 내의 (x,y)라고 가정하면, 현재 블록의 동위치 블록의 왼쪽 상단 샘플은 참조 프레임 내의 동일한 위치 (x,y)를 갖는다.
다음의 논의에서, "대응하는 블록"은 현재 블록과 상이한 위치를 가질 수 있다. 예를 들어, 현재 블록과 참조 프레임 내의 그것의 대응하는 블록 간에 모션 시프트가 있을 수 있다. 도 6에 예시된 바와 같이, 현재 블록이 현재 프레임 내의 (x,y)에 위치하고 모션 벡터 (mvx, mvy)를 갖는다고 가정하면, 현재 블록의 대응하는 블록은 참조 프레임 내의 (x+mvx,y+mvy)에 위치할 수 있다. 그리고 IBC 코딩된 블록에 대해, 동위치 루마 블록(제로 벡터로 지시됨) 및 대응하는 루마 블록(비-제로-BV로 지시됨)은 현재 프레임의 상이한 곳들에 위치할 수 있다. 다른 예로, 루마 블록의 파티션이 (I 슬라이스들의 이중 트리 파티션에서) 크로마 블록의 파티션과 정렬되지 않을 때, 현재 크로마 블록의 동위치 루마 블록은 동위치 루마 블록의 왼쪽 상단 샘플을 커버하는 오버랩된 루마 코딩 블록의 파티션 크기에 의존하는 더 큰 루마 블록에 속할 수 있다. 도 5에 예시된 바와 같이, 볼드체 직사각형이 블록의 파티션들을 나타내고, 따라서 64x64 루마 블록이 BT에 의해 먼저 분열되고 그 후 64x64 루마 블록의 오른쪽 부분이 TT에 의해 더 분열되고, 그 결과 각각 32x16, 32x32, 32x16과 동등한 크기들의 3개의 루마 블록이 생성되는 것으로 가정한다. 따라서, 현재 크로마 블록의 동위치 루마 블록의 왼쪽 상단 샘플 (x=32, y=32)을 보면, 그것은 TT 파티션의 중앙 32x32 루마 블록에 속한다. 이 경우, 동위치 루마 블록의 왼쪽 상단 샘플을 커버하는 대응하는 루마 블록을 "대응하는 루마 블록"이라고 부른다. 따라서, 이 예에서, 대응하는 루마 블록의 왼쪽 상단 샘플은 (x=32, y=16)에 위치한다.
이하, DMVD(decoder-side motion vector derivation, 디코더 측 모션 벡터 도출)는 BDOF(BIO라고도 알려짐) 또는/및 DMVR(decode-side motion vector refinement, 디코드 측 모션 벡터 리파인먼트) 또는/및 FRUC(프레임 레이트 상향 변환) 또는/및 디코더에서 모션 벡터 또는/및 예측 샘플 값을 리파인하는 다른 방법을 표현하기 위해 사용된다.
CCLM의 모델 계산 및 LMCS의 크로마 스케일링 레이턴시의 제거
1. 인터-코딩된 블록에 대해, 참조 프레임들 내의 현재 블록의 하나 또는 다수의 참조 샘플이 LMCS 모드에서 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있다는 것이 제안된다.
a) 일 예에서, 크로마 잔차 스케일링 인자를 도출하기 위해 참조 루마 샘플들이 직접 사용될 수 있다.
i. 대안적으로, 보간이 먼저 참조 샘플들에 적용될 수 있고 보간된 샘플들은 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있다.
ii. 대안적으로, 상이한 참조 프레임들 내의 참조 샘플들은 크로마 잔차 스케일링 인자 도출을 위해 사용되는 최종 참조 샘플들을 도출하기 위해 이용될 수 있다.
1) 일 예에서, 양방향 예측 코딩된 블록들에 대해, 위의 방법이 적용될 수 있다.
iii. 일 예에서, 참조 샘플들의 강도들은 크로마 잔차 스케일링 인자를 도출하기 위해 사용되기 전에 리셰이핑 도메인으로 변환될 수 있다.
iv. 일 예에서, 참조 샘플들의 선형 조합이 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있다.
1) 예를 들어, 크로마 잔차 스케일링 인자를 도출하기 위해 a×S+b가 사용될 수 있고, 여기서 S는 참조 샘플이고, a 및 b는 파라미터들이다. 일 예에서, a와 b는 로컬 조명 보상(Localized Illuminate Compensation, LIC)에 의해 도출될 수 있다.
b) 일 예에서, 참조 프레임 내의 참조 루마 샘플들의 위치는 현재 블록의 모션 벡터(들)에 의존할 수 있다.
i. 일 예에서, 참조 샘플은, 참조 화상에 있는, 그리고 현재 루마 블록과 동일한 폭 및 높이를 갖는, 참조 루마 블록에 속한다. 참조 화상 내의 참조 루마 샘플의 위치는, 모션 벡터를 추가하는, 현재 화상 내의 그것의 대응하는 루마 샘플의 위치로서 산출될 수 있다.
ii. 일 예에서, 참조 루마 샘플들의 위치는 참조 프레임 내의 대응하는 루마 샘플로 지칭되는, 현재 루마 블록 및 현재 블록의 모션 벡터의 왼쪽 상단(또는 중앙, 또는 오른쪽 하단) 샘플의 위치에 의해 도출될 수 있다.
1) 일 예에서, 참조 프레임 내의 대응하는 루마 샘플을 도출하기 위해 정수 모션 벡터가 사용될 수 있다. 일 예에서, 하나의 블록과 연관된 모션 벡터는 제로를 향해 라운딩되거나, 제로로부터 라운딩되어 정수 모션 벡터를 도출할 수 있다.
2) 대안적으로, 참조 프레임 내의 대응하는 루마 샘플을 도출하기 위해 분수 모션 벡터가 사용될 수 있고, 따라서 분수 참조 샘플들을 도출하기 위해 보간 프로세스가 요구될 수 있다.
iii. 대안적으로, 참조 루마 샘플들의 위치는 현재 루마 블록의 왼쪽 상단(또는 중앙, 또는 오른쪽 하단) 샘플의 위치에 의해 도출될 수 있다.
iv. 대안적으로, 크로마 잔차 스케일링 인자를 산출하기 위해 참조 프레임 내의 일부 사전 정의된 위치들에서의 다수의 대응하는 루마 샘플이 선택될 수 있다.
c) 일 예에서, 다수의 참조 루마 샘플들의 중앙값 또는 평균 값이 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있다.
d) 일 예에서, 사전 정의된 참조 프레임들 내의 참조 루마 샘플들이 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있다.
i. 일 예에서, 사전 정의된 참조 프레임은 참조 화상 리스트 0의 0과 동등한 참조 인덱스를 갖는 것일 수 있다.
ii. 대안적으로, 사전 정의된 참조 프레임에 대한 참조 인덱스 및/또는 참조 화상 리스트는 시퀀스/화상/타일 그룹/슬라이스/타일/CTU 행/비디오 단위 레벨에서 시그널링될 수 있다.
iii. 대안적으로, 다수의 참조 프레임 내의 참조 루마 샘플들이 도출될 수 있고 평균 또는 가중 평균 값들이 크로마 잔차 스케일링 인자를 획득하기 위해 이용될 수 있다.
2. LMCS 모드에서 루마 샘플들로부터 크로마 잔차 스케일링 인자를 도출할지 그리고 어떻게 도출할지는 현재 블록이 양방향 예측을 적용하는지에 의존할 수 있다는 것이 제안된다.
a) 일 예에서, 크로마 잔차 스케일링 인자는 각각의 예측 방향에 대해 개별적으로 도출된다.
3. LMCS 모드에서 루마 샘플들로부터 크로마 잔차 스케일링 인자를 도출할지 그리고 어떻게 도출할지는 현재 블록이 서브-블록 기반 예측을 적용하는지에 의존할 수 있다는 것이 제안된다.
a) 일 예에서, 서브-블록 기반 예측은 아핀 예측이다;
b) 일 예에서, 서브-블록 기반 예측은 대안적인 시간 모션 벡터 예측(Alternative Temporal Motion Vector Prediction, ATMVP)이다.
c) 일 예에서, 크로마 잔차 스케일링 인자는 각각의 서브-블록에 대해 개별적으로 도출된다.
d) 일 예에서, 크로마 잔차 스케일링 인자는 그것이 서브-블록들에 의해 예측되더라도 전체 블록에 대해 도출된다.
i. 일 예에서, 하나의 선택된 서브-블록(예를 들어, 왼쪽 상단 서브-블록)의 모션 벡터는 불릿 1에서 설명된 바와 같은 현재 블록의 참조 샘플들을 식별하기 위해 사용될 수 있다.
4. 크로마 잔차 스케일링 인자를 도출하기 위해 사용되는 루마 예측 값들은 최종 루마 예측 값 대신에 중간 루마 예측 값일 수 있다는 것이 제안된다.
a) 일 예에서, 양방향 광학 흐름(Bi-Directional Optical Flow, BDOF, BIO라고도 알려짐)의 프로세스 전의 루마 예측 값들이 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있다.
b) 일 예에서, 디코더 측 모션 벡터 리파인먼트(Decoder-side Motion Vector Refinement, DMVR)의 프로세스 전의 루마 예측 값들이 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있다.
c) 일 예에서, LIC의 프로세스 전의 루마 예측 값들이 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있다.
d) 일 예에서, JVET-N0236에서 제안된 바와 같은 예측 리파인먼트 광학 흐름(Prediction Refinement Optical Flow, PROF)의 프로세스 전의 루마 예측 값들이 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있다.
5. 중간 모션 벡터들이 참조 샘플들을 식별하기 위해 사용될 수 있다.
a) 일 예에서, BDOF 또는/및 DMVR 또는/및 다른 DMVD 방법들의 프로세스 전의 모션 벡터가 참조 샘플들을 식별하기 위해 사용될 수 있다.
b) 일 예에서, JVET-N0236에서 제안된 바와 같은 예측 리파인먼트 광학 흐름(PROF)의 프로세스 전의 모션 벡터가 참조 샘플들을 식별하기 위해 사용될 수 있다.
6. 위의 방법들은 현재 블록이 인터 모드로 코딩될 때 적용가능할 수 있다.
7. IBC-코딩된 블록에 대해, 현재 프레임의 참조 블록 내의 하나 또는 다수의 참조 샘플이 LMCS 모드에서 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있다는 것이 제안된다. 블록 IBC-코딩될 때, "모션 벡터"라는 용어는 "블록 벡터"라고도 지칭될 수 있고, 여기서 참조 화상은 현재 화상으로서 설정된다.
a) 일 예에서, 참조 샘플은, 현재 화상에 있는, 그리고 현재 블록과 동일한 폭 및 높이를 갖는, 참조 블록에 속한다. 참조 샘플의 위치는 모션 벡터를 추가하는 그것의 대응하는 샘플의 위치로서 산출될 수 있다.
b) 일 예에서, 참조 루마 샘플들의 위치는 모션 벡터를 추가하는 현재 루마 블록의 왼쪽 상단(또는 중앙, 또는 오른쪽 하단) 샘플의 위치에 의해 도출될 수 있다.
c) 대안적으로, 참조 루마 샘플들의 위치는 현재 블록의 블록 벡터를 추가하는 현재 루마 블록의 왼쪽 상단(또는 중앙, 또는 오른쪽 하단) 샘플의 위치에 의해 도출될 수 있다.
d) 대안적으로, 크로마 잔차 스케일링 인자를 산출하기 위해 현재 루마 블록의 참조 영역 내의 일부 사전 정의된 위치들에서의 다수의 대응하는 루마 샘플이 선택될 수 있다.
e) 일 예에서, 크로마 잔차 스케일링 인자를 도출하기 위한 함수로 다수의 대응하는 루마 샘플이 계산될 수 있다.
i. 예를 들어, 다수의 대응하는 루마 샘플들의 중앙값 또는 평균 값이 크로마 잔차 스케일링 인자를 도출하기 위해 계산될 수 있다.
f) 일 예에서, 참조 샘플들의 강도들은 크로마 잔차 스케일링 인자를 도출하기 위해 사용되기 전에 리셰이핑 도메인으로 변환될 수 있다.
i. 대안적으로, 참조 샘플들의 강도들은 크로마 잔차 스케일링 인자를 도출하기 위해 사용되기 전에 원래 도메인으로 변환될 수 있다.
8. 현재 프레임 내의 현재 루마 블록의 식별된 위치 (들)에 위치하는 하나 또는 다수의 예측/재구성된 샘플들이 LMCS 모드에서 현재 크로마 블록에 대한 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있다는 것이 제안된다.
a) 일 예에서, 현재 블록이 인터-코딩되어 있다면, 크로마 잔차 스케일링 인자를 도출하기 위해 현재 루마 블록의 중앙에 위치하는 루마 예측(또는 재구성) 샘플이 선택될 수 있다.
b) 일 예에서, 크로마 잔차 스케일링 인자를 도출하기 위해 첫 번째 MxN 루마 예측(또는 재구성) 샘플들의 평균 값이 선택될 수 있고, 여기서 MxN은 동위치 루마 블록 크기 폭x높이보다 작을 수 있다.
9. CCLM 모델을 산출하기 위해 이용된 절차의 전체 또는 부분은 LMCS 모드에서의 현재 크로마 블록의 크로마 잔차 스케일링 인자 도출을 위해 이용될 수 있다는 것이 제안된다.
a) 일 예에서, CCLM 모델 파라미터 도출 프로세스에서 동위치 루마 블록의 이웃 루마 샘플들의 식별된 위치들에 위치하는 참조 샘플들은 크로마 잔차 스케일링 인자를 도출하기 위해 이용될 수 있다.
i. 일 예에서, 이들 참조 샘플은 직접 사용될 수 있다.
ii. 대안적으로, 다운샘플링이 해당 참조 샘플들에 적용될 수 있고, 다운샘플링된 참조 샘플들이 적용될 수 있다.
b) 일 예에서, CCLM 모델 계산을 위해 선택된 S개의 참조 샘플 중 K개가 LMCS 모드에서 크로마 잔차 스케일링 인자 도출을 위해 사용될 수 있다. 예를 들어, K는 1과 동등하고 S는 4와 동등하다.
c) 일 예에서, CCLM 모드에서 동위치 루마 블록의 참조 샘플들의 평균/최소/최대 값이 LMCS 모드에서 크로마 잔차 스케일링 인자 도출을 위해 사용될 수 있다.
10. 크로마 잔차 스케일링 인자들의 도출을 위한 샘플들을 어떻게 선택할지는 현재 블록의 코딩된 정보에 의존할 수 있다.
a) 코딩된 정보는 QP, 코딩 모드, POC, 인트라-예측 모드, 모션 정보 등을 포함할 수 있다.
b) 일 예에서, IBC 코딩된 또는 비-IBC 코딩된 블록들에 대해, 샘플들을 선택하는 방식은 상이할 수 있다.
c) 일 예에서, 샘플들을 선택하는 방식은 참조 화상들과 현재 화상 사이의 POC 거리와 같은 참조 화상 정보에 기초하여 상이할 수 있다.
11. CCLM의 모델 계산 및/또는 크로마 잔차 스케일링 인자는 동위치 루마 블록의 왼쪽 상단 샘플을 커버하는 대응하는 루마 블록의 이웃 샘플들에 의존할 수 있다는 것이 제안된다. 본 발명에서, "코딩 블록"이란, HEVC 사양에서 또는 VVC 작업 초안에서 특정된 CU/TU/PU와 같은 비디오 코딩 영역을 지칭할 수 있다.
a) "대응하는 루마 코딩 블록"은 동위치 루마 코딩 블록의 왼쪽 상단 위치를 커버하는 코딩 블록으로서 정의될 수 있다.
i. 도 5는 이중 트리 경우의 인트라-코딩된 크로마 블록에 대해, 크로마 성분의 CTU 파티션이 루마 성분의 CTU 파티션과 상이할 수 있는 예를 보여준다. 먼저, 현재 크로마 블록의 동위치 루마 블록의 왼쪽 상단 샘플을 커버하는 "대응하는 루마 코딩 블록"이 검색된다. 그 후 "대응하는 루마 코딩 블록"의 블록 크기 정보를 이용하여, "대응하는 루마 코딩 블록"의 왼쪽 상단 샘플이 도출될 수 있고, 동위치 루마 블록의 왼쪽 상단 샘플을 커버하는 "대응하는 루마 코딩 블록"의 왼쪽 상단 루마 샘플은 (x=32,y=16)에 위치한다.
b) 일 예에서, 동위치 루마 코딩 블록의 왼쪽 상단 샘플을 커버하는 "대응하는 루마 코딩 블록"의 위치를 도출하기 위해 블록 크기/파티션/위치/코디네이션이 요구될 수 있다.
i. 일 예에서, 루마 성분과 같은 특정 컬러 성분의 각각의 블록에 대해 블록 크기, 및/또는 블록 파티션 및/또는 블록 코디네이션이 저장될 수 있다.
ii. 일 예에서, "대응하는 루마 코딩 블록" 및 현재 블록은 항상 동일한 CTU 또는 CTU 행 내부에 있을 수 있고, 따라서 라인 버퍼에 블록 크기/파티션/위치/코디네이션의 저장이 없을 수 있다.
c) 일 예에서, "대응하는 루마 코딩 블록"에 있지 않은 재구성된 샘플들이 CCLM의 모델 계산 및/또는 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있다.
i. 일 예에서, "대응하는 루마 코딩 블록"에 인접한 재구성된 샘플들이 CCLM의 모델 계산 및/또는 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있다.
1) 일 예에서, "대응하는 루마 코딩 블록"의 왼쪽 이웃 열들 및/또는 위의 이웃 행들에 위치한 N개의 샘플이 CCLM의 모델 계산 및/또는 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있고, 여기서 N=1...2W+2H이고, W 및 H는 "대응하는 루마 코딩 블록"의 폭 및 높이이다.
a) "대응하는 루마 코딩 블록"의 왼쪽 상단 샘플이 (xCb, yCb)라고 가정하면, 일 예에서, 위의 이웃 루마 샘플은 (xCb + W/2, yCb - 1), 또는 (xCb -1, yCb - 1)에 위치할 수 있다. 대안적인 예에서, 왼쪽 이웃 루마 샘플은 (xCb+W-1, yCb-1)에 위치할 수 있다.
b) 일 예에서, 이웃 샘플(들)의 위치 (들)는 고정될 수 있고, 및/또는 사전 정의된 검사 순서로 있을 수 있다.
2) 일 예에서, CCLM의 모델 계산 및 크로마 잔차 스케일링 인자를 도출하기 위해 N개의 이웃 샘플 중 1개가 선택될 수 있다. N = 3이고, 3개의 이웃 샘플 (xCb -1, yCb - H -1), (xCb + W/2, yCb - 1), (xCb -1, yCb - 1)의 검사 순서를 가정하면, 검사 리스트 내의 첫 번째 이용가능한 이웃 샘플이 크로마 잔차 스케일링 인자를 도출하기 위해 선택될 수 있다.
3) 일 예에서, "대응하는 루마 코딩 블록"의 왼쪽 이웃 열들 및/또는 위의 이웃 행들에 위치한 N개의 샘플의 중앙값 또는 평균 값이 CCLM의 모델 계산 및/또는 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있고, 여기서 N=1...2W+2H이고, W 및 H는 "대응하는 루마 코딩 블록"의 폭 및 높이이다.
d) 일 예에서, 크로마 잔차 스케일링을 수행할지는 대응하는 루마 블록의 "이용가능한" 이웃 샘플들에 의존할 수 있다.
i. 일 예에서, 이웃 샘플들의 "이용가능성"은 현재 블록/서브-블록의 인코딩 모드 또는/및 이웃 샘플의 인코딩 모드에 의존할 수 있다.
1) 일 예에서, 인터 모드로 코딩된 블록에 대해, 인트라 모드 또는/및 IBC 모드 또는/및 CIIP 모드 또는/및 LIC 모드로 코딩된 이웃 샘플들은 "이용불가능한" 것으로 간주될 수 있다.
2) 일 예에서, 인터 모드로 코딩된 블록에 대해, 이웃 샘플들은 확산 필터 또는/및 쌍방 필터를 이용하거나/하고 아다마르 변환 필터는 "이용불가능한" 것으로 간주될 수 있다.
ii. 일 예에서, 이웃 샘플들의 "이용가능성"은 현재 화상/타일/타일 그룹/VPDU/슬라이스의 폭 및/또는 높이에 의존할 수 있다.
1) 일 예에서, 이웃 블록이 현재 화상 외부에 위치하면, 그것은 "이용불가능한" 것으로 취급된다.
iii. 일 예에서, "이용가능한" 이웃 샘플이 없을 때, 크로마 잔차 스케일링이 허용되지 않을 수 있다.
iv. 일 예에서, "이용가능한" 이웃 샘플의 수가 K보다 작을 때(K >= 1), 크로마 잔차 스케일링이 허용되지 않을 수 있다.
v. 대안적으로, 이용불가능한 이웃 샘플이 디폴트 고정 값, 또는 패딩, 또는 치환에 의해 채워져서, 크로마 잔차 스케일링이 항상 적용될 수 있도록 할 수 있다.
1) 일 예에서, 이웃 샘플이 이용가능하지 않다면, 그것은 1 << ( bitDepth - 1 )에 의해 채워질 수 있고, 여기서 bitDepth는 루마/크로마 성분들의 샘플들의 비트 심도(bit depth)를 특정한다.
2) 대안적으로, 이웃 샘플이 이용가능하지 않으면, 그것은 왼쪽/오른쪽/상단/하단 이웃에 위치한 주위 샘플들로부터 패딩하는 것에 의해 채워질 수 있다.
3) 대안적으로, 이웃 샘플이 이용가능하지 않으면, 그것은 사전 정의된 검사 순서로 첫 번째 이용가능한 인접 샘플로 치환될 수 있다.
4) 대안적으로, 이웃 샘플이 이용가능하지 않으면, 사전 정의된 필터링된/맵핑된 값(예를 들어, 1 << ( bitDepth - 1 )의 필터링된/맵핑된 값)으로 채워질 수 있고, 여기서 bitDepth는 루마/크로마 성분들의 샘플들의 비트 심도를 특정한다).
a) 일 예에서, 필터링/맵핑 프로세스는 LMCS의 순방향 맵핑의 LUT 인덱싱일 수 있다.
e) 일 예에서, 크로마 잔차 스케일링을 수행할지 그리고 어떻게 수행할지는 현재 블록의 코딩 모드 및/또는 이웃 블록들의 코딩 모드들에 의존할 수 있다.
i. "현재 블록"은 현재 크로마 블록을 지칭할 수 있거나, 그것은 동위치 루마 블록, 또는 동위치 크로마 블록의 적어도 하나의 샘플을 커버하는 대응하는 루마 블록을 지칭할 수 있다. "이웃 블록들"(인접 또는 비-인접)은 현재 크로마 블록에 이웃하는 크로마 블록들을 지칭할 수 있거나, 그것들은 현재 루마 블록에 이웃하는 루마 블록들을 지칭할 수 있다.
ii. 일 예에서, 현재 블록의 왼쪽 상단 좌표에 대해 상대적으로 (-1, -1)과 같은 주어진 위치를 커버하는 하나의 루마 이웃 블록의 코딩 모드가 이용될 수 있다.
iii. 일 예에서, 현재 블록의 왼쪽 상단 좌표에 대해 상대적으로 (x, -1)(예를 들어, x는 0.. 블록의 폭 - 1임), 및/또는 현재 블록의 왼쪽 상단 좌표에 대해 상대적으로 (-1, y)(예를 들어, y는 -1... 블록의 높이 - 1임)와 같은 다수의 위치를 커버하는 다수의 이웃 블록의 코딩 모드들이 이용될 수 있다.
iv. 일 예에서, 하나의 이웃 블록의 재구성이, X-코딩되는 것과 같이, 현재 슬라이스/타일 그룹 내의 샘플들에 액세스할 것을 요구하면, 크로마 잔차 스케일링이 디스에이블된다.
1) 예를 들어, 모드 X는 인트라 모드일 수 있다;
2) 예를 들어, 모드 X는 CIIP 모드일 수 있다;
3) 예를 들어, 모드 X는 IBC 모드일 수 있다;
4) 일 예에서, 현재 블록이 인터-코딩되고 CIIP-코딩되지 않고, 대응하는 루마 블록에 이웃하는 이웃 블록이 모드 X로 코딩되면, 크로마 잔차 스케일링이 디스에이블된다.
v. 일 예에서, 하나의 이웃 블록의 재구성이, X-코딩되는 것과 같이, 현재 슬라이스/타일 그룹 내의 샘플들에 액세스할 것을 요구하면, 크로마 잔차 스케일링 인자를 도출하기 위해 디폴트 값이 사용될 수 있다.
1) 예를 들어, 모드 X는 인트라 모드일 수 있다;
2) 예를 들어, 모드 X는 CIIP 모드일 수 있다;
3) 예를 들어, 모드 X는 IBC 모드일 수 있다;
4) 일 예에서, 현재 블록이 인터-코딩되고 CIIP-코딩되지 않고, 대응하는 루마 블록의 이웃 블록이 모드 X로 코딩되면, 크로마 잔차 스케일링 인자를 도출하기 위해 디폴트 값이 사용될 수 있다.
5) 일 예에서, 디폴트 값은 루마/크로마 샘플들의 비트 심도에 의존할 수 있다.
6) 일 예에서, 디폴트 값은 1 << ( bitDepth - 1 )의 필터링된/맵핑된 값으로 설정될 수 있고, 여기서 bitDepth는 루마/크로마 성분들의 샘플들의 비트 심도를 특정한다. 일 예에서, 필터링/맵핑 프로세스는 LMCS의 순방향 맵핑의 LUT 인덱싱일 수 있다.
f) 일 예에서, "대응하는 루마 코딩 블록"에 이웃하는 필터링된/맵핑된 재구성된 샘플들이 CCLM의 모델 계산 및/또는 크로마 잔차 스케일링 인자를 도출하기 위해 사용될 수 있다.
i. 일 예에서, 필터링/맵핑 프로세스는, 인트라 블록에 대한 참조 평활화 필터링, 후치-필터링(post-filtering) 예컨대 쌍방 필터, 아다마르 변환 기반 필터, 리셰이퍼 도메인의 순방향 맵핑 등을 포함할 수 있다.
12. 현재 슬라이스/타일 그룹 내의 크로마 블록들(예컨대 CU들 또는 TU들)의 수들에 대한 크로마 잔차 스케일링 인자를 도출하기 위해 고정 값이 사용될 수 있다는 것이 제안된다.
a) 일 예에서, N개의 크로마 블록에 대한 크로마 잔차 스케일링 인자는 고정 값에 의해 도출될 수 있고, 여기서 N은 1... 현재 슬라이스/타일 그룹 내의 크로마 블록의 총 수이다.
b) 일 예에서, 고정 값을 이용하여 그 값이 속하는 조각별 선형 모델의 인덱스를 구할 수 있고, 그 후 도출된 조각별 인덱스로부터 크로마 잔차 스케일링 인자가 산출될 수 있다. 일 예에서, 고정 값은 루마 샘플들에 대한 내부 비트 심도에 의존할 수 있다.
c) 일 예에서, 크로마 잔차 스케일링 인자를 표현하기 위해 고정 값이 직접 사용될 수 있다.
크로마 잔차 스케일링 및/또는 CCLM이 적용되는지 여부에 대한 제한
13. 크로마 잔차 스케일링 또는 CCLM이 적용되는지 여부는 대응하는 및/또는 동위치 루마 블록의 파티션에 의존할 수 있다는 것이 제안된다.
a) 일 예에서, 크로스-컴포넌트 정보로 툴들을 인에이블할지 디스에이블할지는 동위치 루마(예를 들어, Y 또는 G 성분) 블록 내의 CU/PU/TU들의 수에 의존할 수 있다.
i. 일 예에서, 동위치 루마(예를 들어, Y 또는 G 성분) 블록 내의 CU/PU/TU들의 수가 임계 수를 초과하면, 그러한 툴들이 디스에이블될 수 있다.
ii. 대안적으로, 크로스-컴포넌트 정보로 툴들을 인에이블할지 디스에이블할지는 파티션 트리 심도에 의존할 수 있다.
1) 일 예에서, 동위치 루마 블록 내의 CU들의 최대(또는 최소 또는 평균 또는 다른 변형) 쿼드트리 심도가 임계치를 초과하면, 그러한 툴들이 디스에이블될 수 있다.
2) 일 예에서, 동위치 루마 블록 내의 CU들의 최대(또는 최소 또는 평균 또는 다른 변형) BT 및/또는 TT 심도가 임계치를 초과하면, 그러한 툴들이 디스에이블될 수 있다.
iii. 대안적으로, 더욱이, 크로스-컴포넌트 정보로 툴들을 인에이블할지 디스에이블할지는 크로마 블록의 블록 치수에 의존할 수 있다.
iv. 대안적으로, 더욱이, 크로스-컴포넌트 정보로 툴들을 인에이블할지 디스에이블할지는 동위치 루마가 다수의 VPDU들/사전 정의된 영역 크기들을 크로스하는지에 의존할 수 있다.
v. 위의 논의에서의 임계치들은 고정 수들일 수 있거나, 또는 시그널링될 수 있거나, 또는 표준 프로파일들/레벨들/계층들에 의존할 수 있다.
b) 일 예에서, 현재 크로마 블록의 동위치 루마 블록이 다수의 파티션에 의해 분할되면(예를 들어, 도 7에서), 크로마 잔차 스케일링 및/또는 CCLM이 금지될 수 있다.
i. 대안적으로, 현재 크로마 블록의 동위치 루마 블록이 분열되지 않으면(예를 들어, 하나의 CU/TU/PU 내에서), 크로마 잔차 스케일링 및/또는 CCLM이 적용될 수 있다.
c) 일 예에서, 현재 크로마 블록의 동위치 루마 블록이 M개보다 많은 CU/PU/TU를 포함하면, 크로마 잔차 스케일링 및/또는 CCLM이 금지될 수 있다.
i. 일 예에서, M은 1보다 큰 정수일 수 있다.
ii. 일 예에서, M은 그것이 CCLM인지 크로마 잔차 스케일링 프로세스인지에 의존할 수 있다.
iii. M은 고정 수들일 수 있거나, 또는 시그널링될 수 있거나, 또는 표준 프로파일들/레벨들/계층들에 의존할 수 있다.
d) 동위치 루마 블록 내의 위에 언급된 CU들은 동위치 루마 블록 내의 모든 CU들인 것으로 해석될 수 있다. 대안적으로, 동위치 루마 블록 내의 CU들은, 동위치 루마 블록의 경계를 따르는 CU들과 같은, 동위치 루마 블록 내의 부분 CU들인 것으로 해석될 수 있다.
e) 동위치 루마 블록 내의 위에 언급된 CU들은 서브-CU들 또는 서브-블록들인 것으로 해석될 수 있다.
i. 예를 들어, 서브-CU들 또는 서브-블록들은 ATMVP에서 사용될 수 있다;
ii. 예를 들어, 서브-CU들 또는 서브-블록들은 아핀 예측에서 사용될 수 있다;
iii. 예를 들어, 서브-CU들 또는 서브-블록들은 인트라 서브-파티션들(Intra Sub-Partitions, ISP) 모드에서 사용될 수 있다.
f) 일 예에서, 동위치 루마 블록의 왼쪽 상단 루마 샘플을 커버하는 CU/PU/TU가 사전 정의된 루마 블록 크기보다 크면, 크로마 잔차 스케일링 및/또는 CCLM이 금지될 수 있다.
i. 예가 도 8에 묘사되어 있고, 동위치 루마 블록이 32x32이지만 그것이 64x64와 동등한 크기를 갖는 대응하는 루마 블록 내에 있고, 그러면 사전 정의된 루마 블록 크기가 32x64이면, 이 경우에 크로마 잔차 스케일링 및/또는 CCLM이 금지된다.
ii. 대안적으로, 현재 크로마 블록의 동위치 것이 분열되지 않고, 동위치 루마 블록들의 왼쪽 상단 루마 샘플을 커버하는 대응하는 루마 블록이 사전 정의된 바운딩 박스 내에 완전히 포함되면, 현재 크로마 블록에 대한 크로마 잔차 스케일링 및/또는 CCLM이 적용될 수 있다. 바운딩 박스는, 도 9에 도시된 바와 같이, WxH로 나타내어진, 폭 W 및 높이 H를 갖는 직사각형으로서 정의될 수 있고, 여기서 대응하는 루마 블록은 폭 32 및 높이 64를 갖고, 바운딩 박스는 폭 40 및 높이 70을 갖는다.
1) 일 예에서, 바운딩 박스의 크기 WxH는 CTU 폭 및/또는 높이에 따라, 또는 CU 폭 및/또는 높이에 따라, 또는 임의의 값들에 따라 정의될 수 있다.
g) 일 예에서, 현재 크로마 블록의 동위치 루마 블록이 다수의 파티션에 의해 분할되면, 동위치 루마 블록의 사전 정의된 파티션 내부의 예측 샘플들(또는 재구성된 샘플들)만이 LMCS 모드에서 크로마 잔차 스케일링 인자를 도출하기 위해 사용된다.
i. 일 예에서, 동위치 루마 블록의 첫 번째 파티션 내의 모든 예측 샘플들(또는 재구성된 샘플들)의 평균이 LMCS 모드에서 크로마 잔차 스케일링 인자를 도출하기 위해 사용된다.
ii. 대안적으로, 동위치 루마 블록의 첫 번째 파티션 내의 왼쪽 상단 예측 샘플(또는 재구성된 샘플)이 LMCS 모드에서 크로마 잔차 스케일링 인자를 도출하기 위해 사용된다.
iii. 대안적으로, 동위치 루마 블록의 첫 번째 파티션 내의 중앙 예측 샘플(또는 재구성된 샘플)이 LMCS 모드에서 크로마 잔차 스케일링 인자를 도출하기 위해 사용된다.
h) CCLM 및 LMCS와 같은 크로스-컴포넌트 툴들을 적용할지 그리고 어떻게 적용할지는 동위치 루마 블록의 적어도 하나의 샘플을 커버하는 하나 또는 다수의 루마 CU의 코딩 모드(들)에 의존할 수 있다는 것이 제안된다.
i. 예를 들어, 동위치 루마 블록의 적어도 하나의 샘플을 커버하는 하나 또는 다수의 루마 CU가 아핀 모드로 코딩되어 있다면 크로스-컴포넌트 툴들이 디스에이블된다;
ii. 예를 들어, 동위치 루마 블록의 적어도 하나의 샘플을 커버하는 하나 또는 다수의 루마 CU가 양방향 예측으로 코딩되어 있다면 크로스-컴포넌트 툴들이 디스에이블된다;
iii. 예를 들어, 동위치 루마 블록의 적어도 하나의 샘플을 커버하는 하나 또는 다수의 루마 CU가 BDOF로 코딩되어 있다면 크로스-컴포넌트 툴들이 디스에이블된다;
iv. 예를 들어, 동위치 루마 블록의 적어도 하나의 샘플을 커버하는 하나 또는 다수의 루마 CU가 DMVR로 코딩되어 있다면 크로스-컴포넌트 툴들이 디스에이블된다;
v. 예를 들어, 동위치 루마 블록의 적어도 하나의 샘플을 커버하는 하나 또는 다수의 루마 CU가 JVET-N0217에서 제안된 바와 같은 행렬 아핀 예측 모드로 코딩되어 있다면 크로스-컴포넌트 툴들이 디스에이블된다;
vi. 예를 들어, 동위치 루마 블록의 적어도 하나의 샘플을 커버하는 하나 또는 다수의 루마 CU가 인터 모드로 코딩되어 있다면 크로스-컴포넌트 툴들이 디스에이블된다;
vii. 예를 들어, 동위치 루마 블록의 적어도 하나의 샘플을 커버하는 하나 또는 다수의 루마 CU가 ISP 모드로 코딩되어 있다면 크로스-컴포넌트 툴들이 디스에이블된다;
viii. 일 예에서, "동위치 루마 블록의 적어도 하나의 샘플을 커버하는 하나 또는 다수의 루마 CU"는 대응하는 루마 블록을 참조할 수 있다.
i) CCLM/LMCS가 금지될 때, CCLM/LMCS의 사용의 지시의 시그널링이 스킵될 수 있다.
j) 본 개시내용에서, CCLM은 LM 모드, LM-T 모드, 및 LM-L 모드를 포함하는 CCLM의 임의의 변이 모드들을 지칭할 수 있다.
14. CCLM 및 LMCS와 같은 크로스-컴포넌트 툴들을 적용할지 그리고 어떻게 적용할지가 크로마 블록의 일부에 대해 수행될 수 있다는 것이 제안된다.
a) 일 예에서, 크로마 서브블록 레벨에서 CCLM 및 LMCS와 같은 크로스-컴포넌트 툴들을 적용할지 그리고 어떻게 적용할지.
i. 일 예에서, 크로마 서브블록은 크로마 CU 내의 2x2 또는 4x4 블록으로서 정의된다.
ii. 일 예에서, 크로마 서브블록에 대해, 현재 크로마 CU의 대응하는 루마 코딩 블록이 서브블록의 대응하는 블록의 모든 샘플들을 커버할 때, CCLM이 적용될 수 있다.
iii. 일 예에서, 크로마 서브블록에 대해, 대응하는 블록의 모든 샘플들이 현재 크로마 CU의 대응하는 루마 코딩 블록에 의해 커버되는 것이 아닐 때, CCLM이 적용되지 않는다.
iv. 일 예에서, 서브블록을 크로마 CU로서 취급하는 것으로서 각각의 크로마 서브블록에 대해 CCLM 또는 LMCS의 파라미터들이 도출된다.
v. 일 예에서, 크로마 서브블록에 대해 CCLM 또는 LMCS가 적용될 때, 동위치 블록의 샘플들이 사용될 수 있다.
LMCS 모드에서의 크로마 잔차 스케일링의 적용가능성
15. JVET-M1001에서 특정된 바와 같은 타일 그룹 헤더에 더하여 다른 구문 레벨에서 루마 의존 크로마 잔차 스케일링이 적용될 수 있는지가 시그널링될 수 있다는 것이 제안된다.
a) 예를 들어, 시퀀스 레벨에서(예를 들어, SPS에서), 화상 레벨에서(예를 들어, PPS 또는 화상 헤더에서), 슬라이스 레벨에서(예를 들어, 슬라이스 헤더에서), 타일 레벨에서, CTU 행 레벨에서, CTU 레벨에서, CU 레벨에서 chroma_residual_scale_flag가 시그널링될 수 있다. chroma_residual_scale_flag가 1과 동등한 것은 시그널링된 구문 레벨 아래의 CU들에 대해 크로마 잔차 스케일링이 인에이블되는 것을 특정한다. chroma_residual_scale_flag가 0과 동등한 것은 시그널링된 구문 레벨 아래의 CU들에 대해 크로마 잔차 스케일링이 인에이블되지 않는 것을 특정한다. chroma_residual_scale_flag가 존재하지 않을 때, 그것은 0과 동등한 것으로 추론된다.
b) 일 예에서, 파티션 노드 레벨에서 크로마 잔차 스케일링이 제약된다면. 그러면 파티션 노드에 의해 커버되는 CU들에 대해 chroma_residual_scale_flag가 시그널링되지 않고 0인 것으로 추론될 수 있다. 일 예에서, 파티션 노드는 CTU일 수 있다(CTU는 쿼터너리 트리 파티션(quaternary tree partition)의 루트 노드로서 취급된다).
c) 일 예에서, 32x32보다 작거나 그와 동등한 크로마 블록 크기에 대해 크로마 잔차 스케일링이 제약된다면, 32x32보다 작거나 그와 동등한 크로마 블록 크기에 대해 chroma_residual_scale_flag가 시그널링되지 않고 0인 것으로 추론될 수 있다.
CCLM 모드의 적용가능성
16. JVET-M1001에 특정된 바와 같은 sps 레벨에 더하여 다른 구문 레벨들에서 CCLM 모드가 적용될 수 있는지가 시그널링될 수 있다는 것이 제안된다.
a) 예를 들어, 그것은 화상 레벨에서(예를 들어, PPS 또는 화상 헤더에서), 슬라이스 레벨에서(예를 들어, 슬라이스 헤더에서), 타일 그룹 레벨에서(예를 들어, 타일 그룹 헤더에서), 타일 레벨에서, CTU 행 레벨에서, CTU 레벨에서, CU 레벨에서 시그널링될 수 있다.
b) 일 예에서, CCLM이 적용될 수 없다면 cclm_flag가 시그널링되지 않고 0인 것으로 추론될 수 있다.
i. 일 예에서, 8x8보다 작거나 그와 동등한 크로마 블록 크기에 대해 크로마 잔차 스케일링이 제약된다면, 8x8보다 작거나 그와 동등한 크로마 블록 크기에 대해 cclm_flag가 시그널링되지 않고 0인 것으로 추론될 수 있다.
인트라 모드 및 인터 모드에 대한 크로마 잔차 스케일링 인자 도출의 통합
17. 루마 블록을 인코딩/디코딩한 후에 크로마 잔차 스케일링 인자가 도출될 수 있고 다음의 코딩된 블록들을 위해 저장되고 사용될 수 있다.
a) 일 예에서, 루마 블록에서 루프 필터링 전에(예를 들어, 디블로킹 필터 또는/및 SAO 필터 또는/및 쌍방 필터 또는/및 아다마르 변환 필터 또는/및 ALF 필터에 의해 처리되기 전에) 특정 예측 샘플들 또는/및 중간 예측 샘플들 또는/및 재구성된 샘플들 또는/및 재구성된 샘플들이 크로마 잔차 스케일링 인자의 도출을 위해 사용될 수 있다.
i. 예를 들어, 루마 블록의 하단 행 또는/및 오른쪽 열의 부분 샘플들이 크로마 잔차 스케일링 인자의 도출을 위해 사용될 수 있다.
b) 단일 트리 경우에, 인트라 모드 또는/및 IBC 모드 또는/및 인터 모드로 코딩된 블록을 인코딩할 때, 이웃 블록들의 도출된 크로마 잔차 스케일링 인자가 현재 블록의 스케일링 인자를 도출하기 위해 사용될 수 있다.
i. 일 예에서, 특정 이웃 블록들이 순서대로 검사될 수 있고, 현재 블록에 대해 첫 번째 이용가능한 크로마 잔차 스케일링 인자가 사용될 수 있다.
ii. 일 예에서, 특정 이웃 블록들이 순서대로 검사될 수 있고, 첫 번째 K개의 이용가능한 이웃 크로마 잔차 스케일링 인자에 기초하여 스케일링 인자가 도출될 수 있다.
iii. 일 예에서, 인터 모드 또는/및 CIIP 모드로 코딩된 블록에 대해, 이웃 블록이 인트라 모드 또는/및 IBC 모드 또는/및 CIIP 모드로 코딩되어 있다면, 이웃 블록의 크로마 잔차 스케일링 인자는 "이용불가능한" 것으로 간주될 수 있다.
iv. 일 예에서, 이웃 블록들은 왼쪽(또는 왼쪽 위) -> 위(또는 오른쪽 위)의 순서로 검사될 수 있다.
1) 대안적으로, 이웃 블록들은 위(또는 오른쪽 위) -> 왼쪽(또는 왼쪽 위)의 순서로 검사될 수 있다.
c) 개별 트리 경우에, 크로마 블록을 인코딩할 때, 대응하는 루마 블록이 먼저 식별될 수 있다. 그 후, 그것의(예를 들어, 대응하는 루마 블록) 이웃 블록들의 도출된 크로마 잔차 스케일링 인자가 현재 블록의 스케일링 인자를 도출하기 위해 사용될 수 있다.
i. 일 예에서, 특정 이웃 블록들이 순서대로 검사될 수 있고, 현재 블록에 대해 첫 번째 이용가능한 크로마 잔차 스케일링 인자가 사용될 수 있다.
ii. 일 예에서, 특정 이웃 블록들이 순서대로 검사될 수 있고, 첫 번째 K개의 이용가능한 이웃 크로마 잔차 스케일링 인자에 기초하여 스케일링 인자가 도출될 수 있다.
d) 이웃 블록들은 사전 정의된 순서로 검사될 수 있다.
i. 일 예에서, 이웃 블록들은 왼쪽(또는 왼쪽 위) -> 위(또는 오른쪽 위)의 순서로 검사될 수 있다.
ii. 일 예에서, 이웃 블록들은 위(또는 오른쪽 위) -> 왼쪽(또는 왼쪽 위)의 순서로 검사될 수 있다.
iii. 일 예에서, 이웃 블록들은 왼쪽 아래 -> 왼쪽 -> 오른쪽 위 -> 위 -> 왼쪽 위의 순서로 검사될 수 있다.
iv. 일 예에서, 이웃 블록들은 왼쪽 -> 위 -> 오른쪽 위 -> 왼쪽 아래 -> 왼쪽 위의 순서로 검사될 수 있다.
e) 일 예에서, 크로마 잔차 스케일링을 적용할지는 이웃 블록의 "이용가능성"에 의존할 수 있다.
i. 일 예에서, "이용가능한" 이웃 블록이 없을 때, 크로마 잔차 스케일링이 허용되지 않을 수 있다.
ii. 일 예에서, "이용가능한" 이웃 블록의 수가 K보다 작을 때(K >= 1), 크로마 잔차 스케일링이 허용되지 않을 수 있다.
iii. 대안적으로, "이용가능한" 이웃 블록이 없을 때, 크로마 잔차 스케일링 인자가 디폴트 값에 의해 도출될 수 있다.
1) 일 예에서, 디폴트 값 1<< (BitDepth -1)이 크로마 잔차 스케일링 인자를 도출하기 위해 이용될 수도 있다.
f) 일 예에서, 현재 크로마 블록의 크로마 잔차 스케일링 인자가 저장되고 다음의 코딩된 블록들을 위해 사용될 수 있다.
g) 일 예에서, 크로마 잔차 스케일링 인자들의 저장이 라인 버퍼로부터 제거될 수 있다.
i. 일 예에서, 현재 블록 및 액세스될 이웃(인접 또는 비-인접) 블록이 상이한 영역들에 있을 때, 그것의 크로마 잔차 스케일링 인자가 "이용불가능한" 것으로 간주될 수 있고 현재 블록의 크로마 잔차 스케일링 인자의 도출을 위해 사용되지 않을 수 있다.
1) 영역은 슬라이스, 타일, 타일 그룹, CTU 행, 또는 CTU일 수 있다.
2) 대안적으로, 그러한 경우에 그것의 크로마 잔차 스케일링 인자가 디폴트 값으로 간주될 수 있다.
3) 대안적으로, 그러한 경우에 크로마 잔차 스케일링이 적용될 수 없다.
h) 일 예에서, 현재 크로마 블록의 크로마 잔차 스케일링 인자는 온-더-플라이로 업데이트될 수 있고 다음의 블록들의 스케일링 인자 도출을 위해 이력 테이블에 저장될 수 있다.
i. 이력 테이블은 FIFO(선입 선출) 방식으로 업데이트될 수 있다.
ii. 크로마 블록을 디코딩/인코딩한 후에, 크로마 잔차 스케일링 인자가 도출될 수 있고(예를 들어, 루마 값들에 따라) FIFO 이력 테이블에 저장될 수 있다.
iii. 일 예에서, FIFO 이력 테이블은 많아야 1개의 엔트리를 포함할 수 있다. 이 경우, 최신 디코딩된 블록의 도출된 크로마 잔차 스케일링 인자가 현재 블록에 대해 사용된다.
iv. 일 예에서, 이력 테이블은 화상, 및/또는 슬라이스, 및/또는 타일 그룹, 및/또는 타일, 및/또는 CTU 행 및/또는 CTU를 인코딩/디코딩하기 전에 리프레시된다.
1) 일 예에서, 이력 테이블이 리프레시될 때 디폴트 크로마 잔차 스케일링 인자가 이력 테이블에 넣어질 수 있다.
2) 일 예에서, 이력 테이블은 FIFO 이력 테이블이 리프레시될 때 비도록 설정된다.
5. 실시예들
5.1 실시예 #1
아래의 실시예는 본 문서의 섹션 4에서의 예시적인 실시예들의 항목 11 에서의 방법에 대한 것이다.
새롭게 추가된 부분들은 볼드체, 밑줄, 이탤릭체 폰트로 강조되고, VVC 작업 초안으로부터 삭제된 부분들은 대문자 폰트로 강조된다. 수정들은 최신 VVC 작업 초안(JVET-M1007-v7) 및 JVET-N220-v3에서의 새로운 채택에 기초한다.
Figure pct00063
Figure pct00064
Figure pct00065
5.2 실시예 #2
아래의 실시예는 본 문서의 섹션 4에서의 예시적인 실시예들의 항목 11 에서의 방법에 대한 것이다.
새롭게 추가된 부분들은 볼드체, 밑줄, 이탤릭체 폰트로 강조되고, VVC 작업 초안으로부터 삭제된 부분들은 대문자 폰트로 강조된다. 수정들은 최신 VVC 작업 초안(JVET-M1007-v7) 및 JVET-N220-v3에서의 새로운 채택에 기초한다.
실시예 #2와 #1 간의 차이들은 다음과 같이 열거된다:
- 크로마 잔차 스케일링 인자를 도출하기 위해 다수의 이웃 루마 샘플이 검사된다.
- 이웃 루마 샘플들이 이용가능하지 않을 때, 또는 이웃 루마가 INTRA/CIIP/IBC 모드로 코딩되어 있는 반면 현재가 INTER 모드로 코딩되어 있을 때, #2는 크로마 잔차 스케일링 인자 도출을 위해 디폴트 값을 사용한다.
Figure pct00066
Figure pct00067
Figure pct00068
6. 개시된 기술의 예시적인 구현들
도 10은 비디오 처리 장치(1000)의 블록도이다. 장치(1000)는 본 명세서에서 설명된 방법들 중 하나 이상을 구현하기 위해 사용될 수 있다. 장치(1000)는 스마트폰, 태블릿, 컴퓨터, 사물 인터넷(IoT) 수신기 등에서 구현될 수 있다. 장치(1000)는 하나 이상의 프로세서(1002), 하나 이상의 메모리(1004) 및 비디오 처리 하드웨어(1006)를 포함할 수 있다. 프로세서(들)(1002)는 본 문서에서 설명된 하나 이상의 방법(방법(800) 및 방법(900)을 포함하지만, 이에 제한되지 않음)을 구현하도록 구성될 수 있다. 메모리(메모리들)(1004)는 본 명세서에서 설명된 방법들 및 기법들을 구현하기 위해 사용되는 코드 및 데이터를 저장하기 위해 사용될 수 있다. 비디오 처리 하드웨어(1006)는 본 문서에서 설명된 일부 기법들을 하드웨어 회로로 구현하기 위해 사용될 수 있다.
일부 실시예들에서, 비디오 코딩 방법은 도 10에 관하여 기술된 바와 같은 하드웨어 플랫폼 상에 구현되는 장치를 이용하여 구현될 수 있다.
도 11은 개시된 기술에 따른 크로스-컴포넌트 예측을 위한 선형 모델 도출들을 위한 예시적인 방법(1100)의 흐름도를 보여준다. 이 방법(1100)은, 단계 1110에서, 현재 비디오 블록과 상기 현재 비디오 블록의 비트스트림 표현 간의 변환을 수행하는 것을 포함하고, 상기 변환 동안, 하나 이상의 참조 프레임에 포함된 제1 세트의 컬러 성분 값들로부터 상기 현재 비디오 블록의 제2 세트의 컬러 성분 값들이 도출되고, 상기 제1 세트의 컬러 성분 값들은 비디오 코딩 단계의 선형 모델에서 사용가능하다.
일부 실시예들은 다음의 조항 기반 포맷을 이용하여 설명될 수 있다.
1. 비디오 처리를 위한 방법으로서,
현재 비디오 블록과 상기 현재 비디오 블록의 비트스트림 표현 간의 변환을 수행하는 단계 - 상기 변환 동안, 하나 이상의 참조 프레임에 포함된 제1 세트의 컬러 성분 값들로부터 상기 현재 비디오 블록의 제2 세트의 컬러 성분 값들이 도출되고, 상기 제1 세트의 컬러 성분 값들은 비디오 코딩 단계의 선형 모델에서 사용가능함 - 를 포함하는, 방법.
2. 조항 1의 방법으로서, 상기 제1 세트의 컬러 성분 값들은 상기 비디오 코딩 단계의 선형 모델에서 사용하기 전에 보간된다.
3. 조항 1-2 중 어느 하나 이상의 조항의 방법으로서, 상기 제1 세트의 컬러 성분 값들의 선형 조합이 상기 선형 모델에서 파라미터들로서 사용가능하다.
4. 조항 1의 방법으로서, 상기 하나 이상의 참조 프레임에 포함된 상기 제1 세트의 컬러 성분 값들의 위치들은 상기 현재 비디오 블록의 모션 정보에 적어도 부분적으로 기초하여 선택된다.
5. 조항 4의 방법으로서, 상기 하나 이상의 참조 프레임에서의 루마 성분 값의 위치는 상기 현재 비디오 블록 내의 대응하는 루마 성분 값의 위치 및 상기 현재 비디오 블록의 모션 정보로부터 산출된다.
6. 조항 5의 방법으로서, 상기 대응하는 루마 성분 값의 위치는 상기 현재 비디오 블록 내의 왼쪽 상단 샘플, 중앙 샘플, 또는 오른쪽 하단 샘플이다.
7. 조항 6의 방법으로서, 상기 현재 비디오 블록의 모션 정보는 정수 모션 벡터 또는 분수 모션 벡터에 대응한다.
8. 조항 7의 방법으로서, 상기 분수 모션 벡터는 상기 하나 이상의 참조 프레임에서의 분수 루마 성분 값을 이용하여 도출된다.
9. 조항 7의 방법으로서, 상기 정수 모션 벡터는 제로를 향해 또는 제로로부터 멀어지게 라운딩하는 것에 의해 도출된다.
10. 조항 1의 방법으로서, 상기 하나 이상의 참조 프레임에 포함된 상기 제1 세트의 컬러 성분 값들의 위치들은 사전 정의된 위치들이다.
11. 조항 1-10 중 어느 하나 이상의 조항의 방법으로서, 상기 제1 세트의 컬러 성분 값들의 중앙값 또는 평균이 상기 현재 비디오 블록의 상기 제2 세트의 컬러 성분 값들을 도출하기 위해 사용된다.
12. 조항 1-11 중 어느 하나 이상의 조항의 방법으로서, 상기 하나 이상의 참조 프레임은 사전 정의된 참조 프레임들이다.
13. 조항 12의 방법으로서, 상기 사전 정의된 참조 프레임들은 참조 화상 리스트의 참조 인덱스를 갖는 프레임을 포함한다.
14. 조항 13의 방법으로서, 상기 참조 인덱스는 제로이고 상기 참조 화상 리스트는 제로이다.
15. 조항 13의 방법으로서, 상기 참조 인덱스 및/또는 상기 참조 화상 리스트는 다음: 시퀀스, 화상, 타일, 그룹, 슬라이스, 타일, 코딩 트리 단위 행, 또는 비디오 블록 중 하나 이상과 연관된 상기 비트스트림 표현에서 시그널링된다.
16. 조항 1의 방법으로서, 상기 현재 비디오 블록의 상기 제2 세트의 컬러 성분 값들은 상기 하나 이상의 참조 프레임에 포함된 상기 제1 세트의 컬러 성분 값들의 수학적 평균 또는 가중 평균으로부터 도출된다.
17. 조항 1의 방법으로서, 상기 현재 비디오 블록의 상기 제2 세트의 컬러 성분 값들은, 상기 현재 비디오 블록이 양방향 예측 코딩된 블록인지에 기초하여, 상기 하나 이상의 참조 프레임들에 포함된 상기 제1 세트의 컬러 성분 값들로부터 선택적으로 도출된다.
18. 조항 17의 방법으로서, 상기 현재 비디오 블록의 상기 제2 세트의 컬러 성분 값들은 상기 제1 세트의 컬러 성분 값들의 각각의 예측 방향에 대해 개별적으로 도출된다.
19. 조항 1의 방법으로서, 상기 현재 비디오 블록의 상기 제2 세트의 컬러 성분 값들은, 상기 현재 비디오 블록이 서브-블록 기반 예측과 연관되어 있는지에 기초하여, 상기 하나 이상의 참조 프레임들에 포함된 상기 제1 세트의 컬러 성분 값들로부터 선택적으로 도출된다.
20. 조항 1의 방법으로서, 상기 서브-블록 기반 예측은 아핀 예측 또는 대안적인 시간 모션 벡터 예측(ATMVP)에 대응한다.
21. 조항 19-20 중 어느 하나 이상의 조항의 방법으로서, 상기 현재 비디오 블록의 상기 제2 세트의 컬러 성분 값들은 개별 서브-블록들에 대해 도출된다.
22. 조항 19-21 중 어느 하나 이상의 조항의 방법으로서, 상기 현재 비디오 블록의 상기 제2 세트의 컬러 성분 값들은 상기 서브-블록 기반 예측에 관계없이 상기 현재 비디오 블록 전체에 대해 도출된다.
23. 조항 19-22 중 어느 하나 이상의 조항의 방법으로서, 하나 이상의 참조 프레임에 포함된 상기 제1 세트의 컬러 성분 값들은 상기 현재 비디오 블록의 서브-블록의 모션 벡터에 적어도 부분적으로 기초하여 선택된다.
24. 조항 1-23 중 어느 하나 이상의 조항의 방법으로서, 하나 이상의 참조 프레임에 포함된 상기 제1 세트의 컬러 성분 값들은 중간 컬러 성분 값들이다.
25. 조항 1-24 중 어느 하나 이상의 조항의 방법으로서, 상기 비디오 코딩 단계는 다른 비디오 코딩 단계에 선행한다.
26. 조항 25의 방법으로서, 상기 하나 이상의 참조 프레임에 포함된 상기 제1 세트의 컬러 성분 값들은 상기 현재 비디오 블록 또는 상기 현재 비디오 블록의 서브-블록의 중간 모션 벡터에 적어도 부분적으로 기초하여 선택되고, 상기 중간 모션 벡터는 상기 다른 비디오 코딩 단계 전에 산출된다.
27. 조항 24-26 중 어느 하나 이상의 조항의 방법으로서, 상기 다른 비디오 코딩 단계는 다음의 단계들: 양방향 광학 흐름(BDOF) 단계, 디코더 측 모션 벡터 리파인먼트(DMVR) 단계, 예측 리파인먼트 광학 흐름(PROF) 단계 중 하나 또는 이들의 조합을 포함한다.
28. 조항 1-27 중 어느 하나 이상의 조항의 방법으로서, 상기 하나 이상의 참조 프레임에 포함된 상기 제1 세트의 컬러 성분 값들은 대응하는 루마 블록과 연관된 MxN 루마 성분 값들에 대응한다.
29. 조항 28의 방법으로서, 상기 대응하는 루마 블록은 상기 현재 비디오 블록의 동위치 루마 블록이다.
30. 조항 29의 방법으로서, M과 N의 곱은 상기 현재 비디오 블록의 동위치 루마 블록의 블록 폭과 블록 높이의 곱보다 작다.
31. 조항 27-30 중 어느 하나 이상의 조항의 방법으로서, 상기 하나 이상의 참조 프레임에 포함된 상기 제1 세트의 컬러 성분 값들은 상기 동위치 루마 블록의 이웃 루마 샘플들의 위치들에서 식별된 참조 샘플들의 적어도 일부에 대응한다.
32. 조항 1-31 중 어느 하나 이상의 조항의 방법으로서, 상기 제1 세트의 컬러 성분 값들은 상기 비디오 코딩 단계의 상기 선형 모델에서 사용하기 전에 다운샘플링된다.
33. 조항 1의 방법으로서, 상기 현재 비디오 블록의 상기 제2 세트의 컬러 성분 값들은 상기 현재 비디오 블록의 다음 정보: 양자화 파라미터, 코딩 모드, 또는 화상 순서 카운트(picture order count, POC) 중 하나 이상에 적어도 부분적으로 기초하여 선택된다.
34. 조항 31의 방법으로서, 상기 이웃 루마 샘플들의 위치들은 상기 동위치 루마 블록의 왼쪽 상단 샘플이 커버되도록 하는 것이다.
35. 조항 28의 방법으로서, 상기 하나 이상의 참조 프레임에 포함된 상기 제1 세트의 컬러 성분 값들은 상기 대응하는 루마 블록 외부의 위치들에서 식별된 참조 샘플들의 적어도 일부에 대응한다.
36. 조항 28의 방법으로서, 상기 현재 비디오 블록의 상기 제2 세트의 컬러 성분 값들은, 상기 대응하는 루마 블록의 이웃 샘플들의 이용가능성에 기초하여, 상기 하나 이상의 참조 프레임에 포함된 상기 제1 세트의 컬러 성분 값들로부터 선택적으로 도출된다.
37. 조항 28의 방법으로서, 상기 대응하는 루마 블록의 이웃 샘플들의 이용가능성은: 상기 현재 비디오 블록의 코딩 모드의 사용, 상기 대응하는 루마 블록의 이웃 샘플들의 코딩 모드의 사용, 상기 대응하는 루마 블록의 코딩 모드의 사용, 하나 이상의 이웃 비디오 블록의 코딩 모드의 사용, 상기 대응하는 루마 블록의 이웃 샘플들과 연관된 필터의 타입의 사용, 또는 상기 현재 비디오 블록들 또는 그의 서브-블록들에 대한 상기 대응하는 루마 블록의 이웃 샘플들의 위치 중 하나 이상에 기초한다.
38. 조항 28의 방법으로서,
상기 대응하는 루마 블록의 이웃 샘플들의 이용가능성이 없는 것에 응답하여, 이용불가능한 샘플들을 다른 샘플들로 치환하거나, 채우거나, 패딩하는 것을 추가로 포함한다.
39. 조항 28의 방법으로서,
상기 대응하는 루마 블록에 이웃하는 샘플들에 평활화 필터를 적용하는 것을 추가로 포함한다.
40. 비디오 처리를 위한 방법으로서,
현재 비디오 블록과 상기 현재 비디오 블록의 비트스트림 표현 간의 변환을 수행하는 단계 - 상기 변환 동안, 하나 이상의 참조 프레임에 포함된 제1 세트의 컬러 성분 값들로부터 상기 현재 비디오 블록의 제2 세트의 컬러 성분 값들이 도출되고, 상기 제1 세트의 컬러 성분 값들은 비디오 코딩 단계의 선형 모델에서 사용가능함 -; 및
상기 하나 이상의 참조 프레임에 포함된 상기 제1 세트의 컬러 성분 값들이 상기 현재 비디오 블록의 동위치 루마 블록이라고 결정하는 것에 응답하여, 상기 현재 비디오 블록의 동위치 루마 블록과 연관된 하나 이상의 조건에 기초하여, 상기 현재 비디오 블록의 상기 제2 세트의 컬러 성분 값들의 도출을 선택적으로 인에이블 또는 디스에이블하는 단계를 포함하는, 방법.
41. 조항 40의 방법으로서, 상기 현재 비디오 블록의 동위치 루마 블록과 연관된 상기 하나 이상의 조건은: 상기 동위치 루마 블록의 파티션 크기, 상기 동위치 루마 블록의 코딩 단위의 수가 임계 수를 달성하는 것, 상기 동위치 루마 블록의 왼쪽 상단 루마 샘플이 임계 크기를 달성하는 것, 상기 동위치 루마 블록의 파티션 트리 심도, 대응하는 루마 블록이 상기 동위치 루마 블록의 왼쪽 상단 루마 샘플을 커버하는 것, 상기 동위치 루마 블록 또는 상기 현재 비디오 블록의 치수, 대응하는 루마 블록이 상기 동위치 루마 블록의 왼쪽 상단 루마 샘플을 커버하고 사전 정의된 크기의 바운딩 박스 내에 추가로 포함되는 것을 포함한다.
42. 조항 40의 방법으로서, 상기 도출을 선택적으로 인에이블 또는 디스에이블하는 것을 지시하는 정보가 상기 비트스트림 표현에 포함된다.
43. 조항 28의 방법으로서, 상기 대응하는 루마 블록의 이웃 샘플들의 이용가능성은 사전 정의된 순서에 따라 상기 이웃 샘플들을 검사하는 것과 연관된다.
44. 조항 41의 방법으로서, 상기 동위치 루마 블록 및 상기 현재 비디오 블록은 동일한 코딩 트리 단위 또는 코딩 트리 단위의 동일한 행과 연관된다.
45. 비디오 처리를 위한 방법으로서,
현재 비디오 블록과 상기 현재 비디오 블록의 비트스트림 표현 간의 변환을 수행하는 단계 - 상기 변환 동안, 하나 이상의 참조 프레임에 포함된 제1 세트의 컬러 성분 값들로부터 상기 현재 비디오 블록의 제2 세트의 컬러 성분 값들이 도출되고, 상기 제1 세트의 컬러 성분 값들은 비디오 코딩 단계의 선형 모델에서 사용가능함 -; 및
상기 현재 비디오 블록 또는 상기 현재 비디오 블록의 이웃 비디오 블록들의 하나 이상의 속성이 만족된다고 결정하는 것에 응답하여, 상기 현재 비디오 블록의 상기 제2 세트의 컬러 성분 값들의 도출을 선택적으로 인에이블 또는 디스에이블하는 단계를 포함하는, 방법.
46. 조항 45의 방법으로서, 상기 현재 비디오 블록 또는 상기 현재 비디오 블록의 이웃 비디오 블록들의 하나 이상의 속성은 상기 현재 비디오 블록의 공간 위치에 대한 공간 위치를 커버하는 이웃 루마 블록에 대응한다.
47. 조항 45의 방법으로서, 상기 현재 비디오 블록 또는 상기 현재 비디오 블록의 이웃 비디오 블록들의 하나 이상의 속성은 상기 현재 비디오 블록의 공간 위치에 대한 상기 현재 비디오 블록의 이웃 비디오 블록들의 공간 위치들에 대응한다.
48. 조항 45의 방법으로서,
상기 이웃 비디오 블록들의 재구성들이 상기 현재 비디오 블록의 코딩 모드에 적어도 부분적으로 기초한다고 결정하는 것에 응답하여, 상기 현재 비디오 블록의 상기 제2 세트의 컬러 성분 값들의 도출을 디스에이블하는 단계를 추가로 포함한다.
49. 조항 45의 방법으로서,
상기 현재 비디오 블록이 인터-코딩된 블록이고 조합된 인터 및 인트라 예측-코딩된 블록이 아니고, 상기 현재 비디오 블록의 대응하는 루마 블록에 이웃하는 블록이 인트라-코딩된 블록, 조합된 인터 및 인트라 예측(CIIP) 블록, 또는 인트라 블록 카피(IBC) 코딩된 블록이라고 결정하는 것에 응답하여, 상기 현재 비디오 블록의 상기 제2 세트의 컬러 성분 값들의 도출을 디스에이블하는 단계를 추가로 포함한다.
50. 조항 45의 방법으로서,
상기 현재 비디오 블록이 인터-코딩된 블록이고 조합된 인터 및 인트라 예측-코딩된 블록이 아니고, 상기 현재 비디오 블록의 대응하는 루마 블록에 이웃하는 블록이 인트라-코딩된 블록, 조합된 인터 및 인트라 예측(CIIP) 블록, 또는 인트라 블록 카피(IBC) 코딩된 블록이라고 결정하는 것에 응답하여, 상기 현재 비디오 블록의 상기 제2 세트의 컬러 성분 값들의 도출을 인에이블하는 단계를 추가로 포함하고, 상기 제1 세트의 컬러 성분 값들은 고정 값들이다.
51. 조항 45의 방법으로서, 상기 제1 세트의 컬러 성분 값들은 고정 값들이다.
52. 조항 51의 방법으로서, 상기 고정 값들은 상기 비디오 코딩 단계의 상기 선형 모델의 조각별 인덱스에 대응한다.
53. 조항 1-52 중 어느 하나 이상의 조항의 방법으로서, 상기 이웃 샘플들은 현재 비디오 블록에 인접하거나 비-인접할 수 있다.
54. 조항 1-52 중 어느 하나 이상의 조항의 방법으로서, 상기 이웃 샘플들은 상기 현재 비디오 블록에 이웃하는 크로마 블록들 또는 상기 현재 비디오 블록에 이웃하는 크로마 블록들과 연관될 수 있다.
55. 조항 1-54 중 어느 하나 이상의 조항의 방법으로서, 상기 현재 비디오 블록은 크로마 블록, 상기 동위치 루마 블록, 또는 상기 동위치 크로마 블록의 왼쪽 상단 루마 샘플을 커버하는 상기 대응하는 루마 블록에 대응한다.
56. 조항 1-54 중 어느 하나 이상의 조항의 방법으로서, 상기 현재 비디오 블록의 상기 제2 세트의 컬러 성분 값들은 하나 이상의 다른 비디오 블록과 관련하여 사용하기 위해 저장된다.
57. 조항 1-56 중 어느 하나 이상의 조항의 방법으로서, 상기 선형 모델은 크로스-컴포넌트 선형 모델(CCLM)에 대응하고 상기 비디오 코딩 단계는 크로마 스케일링을 갖는 루마 맵핑(LMCS) 모드에 대응한다.
58. 조항 1-57 중 어느 하나 이상의 조항의 방법으로서, 상기 현재 비디오 블록은 인터-코딩된 블록, 양방향 예측 코딩된 블록, 조합된 인터 및 인트라 예측(CIIP) 블록, 또는 인트라 블록 카피(IBC) 코딩된 블록이다.
59. 조항 1-58 중 어느 하나 이상의 조항의 방법으로서, 상기 현재 비디오 블록의 상기 제2 세트의 컬러 성분 값들은 상기 비트스트림 표현에서 다른 비디오 블록들과 연관된 사용을 위해 저장된다.
60. 조항 59의 방법으로서, 상기 현재 비디오 블록의 상기 제2 세트의 컬러 성분 값들은 상기 다른 비디오 블록들에 포함된 이웃 비디오 블록에 의한 선택적 이용가능성 또는 이용불가능성을 위해 라인 버퍼에 저장되고, 상기 현재 비디오 블록 및 상기 이웃 비디오 블록은 상이한 슬라이스들, 타일들, 타일 그룹들, 코딩 트리 단위들, 또는 코딩 트리 단위들의 행들과 연관된다.
61. 조항 60의 방법으로서, 상기 현재 비디오 블록의 상기 제2 세트의 컬러 성분 값들은 고정 값들이다.
62. 조항 60의 방법으로서, 상기 현재 비디오 블록의 상기 제2 세트의 컬러 성분 값들은 도출이 방지된다.
63. 조항 59의 방법으로서, 상기 현재 비디오 블록의 상기 제2 세트의 컬러 성분 값들의 도출이 방지된다.
64. 조항 59의 방법으로서, 상기 현재 비디오 블록의 상기 제2 세트의 컬러 성분 값들은 상기 다른 비디오 블록들에 포함된 이웃 비디오 블록에 의한 선택적 이용가능성 또는 이용불가능성을 위해 테이블에 저장된다.
65. 조항 64의 방법으로서, 상기 현재 비디오 블록의 상기 제2 세트의 컬러 성분 값들은 동적으로 업데이트된다.
66. 조항 65의 방법으로서, 상기 현재 비디오 블록의 상기 제2 세트의 컬러 성분 값들은 상기 다른 비디오 블록들 내의 이전 비디오 블록과 동일하다.
67. 조항 64의 방법으로서, 상기 현재 비디오 블록의 상기 제2 세트의 컬러 성분 값들은 선입 선출(FIFO) 방식으로 동적으로 업데이트된다.
68. 조항 1-67 중 어느 하나 이상의 조항의 방법으로서, 상기 제1 세트의 컬러 성분 값들은 루마 샘플 값들에 대응하고 상기 제2 세트의 컬러 성분 값들은 크로마 스케일링 인자들에 대응한다.
69. 프로세서 및 명령어들을 갖는 비일시적 메모리를 포함하는 비디오 시스템 내의 장치로서, 상기 명령어들은 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 조항 1 내지 조항 68 중 어느 하나의 조항에서의 방법을 구현하게 한다.
70. 비일시적 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 제품은 조항 1 내지 조항 68 중 어느 하나의 조항에서의 방법을 수행하기 위한 프로그램 코드를 포함한다.
도 12는 본 명세서에 개시된 다양한 기법들이 구현될 수 있는 예시적인 비디오 처리 시스템(1200)을 보여주는 블록도이다. 다양한 구현들은 시스템(1200)의 컴포넌트들의 일부 또는 전부를 포함할 수 있다. 시스템(1200)은 비디오 콘텐츠를 수신하기 위한 입력(1202)을 포함할 수 있다. 비디오 콘텐츠는 원시 또는 압축되지 않은 포맷, 예를 들어, 8 또는 10 비트 다중-성분 픽셀 값들로 수신될 수 있거나, 압축된 또는 인코딩된 포맷일 수 있다. 입력(1202)은 네트워크 인터페이스, 주변 버스 인터페이스, 또는 저장 인터페이스를 나타낼 수 있다. 네트워크 인터페이스의 예들은 이더넷, 수동 광 네트워크(passive optical network, PON) 등과 같은 유선 인터페이스들 및 Wi-Fi 또는 셀룰러 인터페이스들과 같은 무선 인터페이스들을 포함한다.
시스템(1200)은 본 문서에서 설명된 다양한 코딩 또는 인코딩 방법들을 구현할 수 있는 코딩 컴포넌트(1204)를 포함할 수 있다. 코딩 컴포넌트(1204)는 비디오의 평균 비트레이트를 입력(1202)으로부터 코딩 컴포넌트(1204)의 출력으로 감소시켜 비디오의 코딩된 표현을 생성할 수 있다. 따라서 코딩 기법들은 때때로 비디오 압축 또는 비디오 트랜스코딩 기법이라고 불린다. 코딩 컴포넌트(1204)의 출력은, 컴포넌트(1206)로 나타낸 바와 같이, 저장되거나 연결된 통신을 통해 송신될 수 있다. 입력(1202)에서 수신된 비디오의 저장된 또는 통신된 비트스트림(또는 코딩된) 표현은, 디스플레이 인터페이스(1210)에 송신되는 픽셀 값들 또는 디스플레이 가능한 비디오를 생성하기 위해 컴포넌트(1208)에 의해 사용될 수 있다. 비트스트림 표현으로부터 사용자-시청가능 비디오를 생성하는 프로세스는 때때로 비디오 압축해제라고 불린다. 더욱이, 특정 비디오 처리 동작들이 "코딩" 동작들 또는 툴들로 지칭되지만, 코딩 툴들 또는 동작들이 인코더에서 사용되고 코딩의 결과들을 반전시키는 대응하는 디코딩 툴들 또는 동작들이 디코더에 의해 수행될 것임이 이해될 것이다.
주변 버스 인터페이스 또는 디스플레이 인터페이스의 예들은 USB(universal serial bus) 또는 HDMI(high definition multimedia interface) 또는 Displayport 등을 포함할 수 있다. 저장 인터페이스들의 예들은 SATA(serial advanced technology attachment), PCI, IDE 인터페이스 등을 포함한다. 본 문서에서 설명된 기법들은, 디지털 데이터 처리 및/또는 비디오 디스플레이를 수행할 수 있는 모바일 전화, 랩톱, 스마트폰 또는 다른 디바이스와 같은 다양한 전자 디바이스들에서 구현될 수 있다.
도 13은 비주얼 미디어 처리를 위한 예시적인 방법의 흐름도를 보여준다. 이 흐름도의 단계들은 본 문서의 섹션 4에서의 예 11b와 관련하여 논의된다. 단계 1302에서, 프로세스는, 비주얼 미디어 데이터의 현재 비디오 블록과 상기 현재 비디오 블록의 비트스트림 표현 간의 변환 동안, 상기 현재 비디오 블록과 연관된 동위치 루마 블록의 왼쪽 상단 샘플을 커버하는 대응하는 루마 블록의 이웃 샘플들에 적어도 부분적으로 기초하여 상기 현재 비디오 블록에 대한 크로스-컴포넌트 선형 모델(CCLM) 및/또는 크로마 잔차 스케일링(CRS) 인자를 계산하고, 상기 대응하는 루마 블록을 식별하기 위해 상기 현재 비디오 블록의 하나 이상의 특성이 이용된다.
도 14는 비주얼 미디어 처리를 위한 예시적인 방법의 흐름도를 보여준다. 이 흐름도의 단계들은 본 문서의 섹션 4에서의 예 11e와 관련하여 논의된다. 단계 1402에서, 프로세스는 규칙을 이용하여 비주얼 미디어 데이터의 현재 비디오 블록의 컬러 성분들에 대해 크로마 잔차 스케일링(CRS)을 선택적으로 인에이블 또는 디스에이블하는 결정을 하고, 상기 규칙은 상기 현재 비디오 블록의 코딩 모드 정보 및/또는 하나 이상의 이웃 비디오 블록의 코딩 모드 정보에 기초한다. 단계 1404에서, 프로세스는, 상기 결정에 기초하여, 상기 현재 비디오 블록과 비트스트림 표현 간의 변환을 수행한다.
도 15는 비주얼 미디어 처리를 위한 예시적인 방법의 흐름도를 보여준다. 이 흐름도의 단계들은 본 문서의 섹션 4에서의 예 12와 관련하여 논의된다. 단계 1502에서, 프로세스는 비주얼 미디어 데이터의 현재 비디오 블록과 연관된 슬라이스 또는 타일 그룹 내의 비디오 블록들과 연관된 적어도 하나의 크로마 블록에 대해 단일 크로마 잔차 스케일링 인자를 이용한다. 단계 1504에서, 프로세스는 상기 현재 비디오 블록과 상기 현재 비디오 블록의 비트스트림 표현 간의 변환을 수행한다.
도 16은 비주얼 미디어 처리를 위한 예시적인 방법의 흐름도를 보여준다. 이 흐름도의 단계들은 본 문서의 섹션 4에서의 예 17f와 관련하여 논의된다. 단계 1602에서, 프로세스는 비주얼 미디어 데이터의 현재 비디오 블록과 상기 현재 비디오 블록의 비트스트림 표현 간의 변환 동안 크로마 잔차 스케일링 인자를 도출한다. 단계 1604에서, 프로세스는 상기 비주얼 미디어 데이터의 다른 비디오 블록들과 함께 사용하기 위해 상기 크로마 잔차 스케일링 인자를 저장한다. 단계 1606에서, 프로세스는 상기 현재 비디오 블록 및 상기 다른 비디오 블록들을 상기 비트스트림 표현으로 변환하기 위해 상기 크로마 잔차 인자를 적용한다.
도 17은 비주얼 미디어 처리를 위한 예시적인 방법의 흐름도를 보여준다. 이 흐름도의 단계들은 본 문서의 섹션 4에서의 예 17g와 관련하여 논의된다. 단계 1702에서, 비주얼 미디어 데이터의 현재 비디오 블록과 상기 비주얼 미디어 데이터의 비트스트림 표현 간의 변환 동안, 프로세스는 상기 현재 비디오 블록의 크로마 잔차 인자를 계산한다. 단계 1704에서, 프로세스는 상기 비주얼 미디어 데이터의 제2 비디오 블록과 함께 사용하기 위해 상기 크로마 잔차 스케일링 인자를 버퍼에 저장한다. 단계 1706에서, 프로세스는, 상기 사용 후에, 상기 버퍼로부터 상기 크로마 잔차 스케일링 인자를 제거한다.
본 문서에서 논의되는 일부 실시예들은 이제 조항 기반 포맷으로 제시된다.
A1. 비디오 처리를 위한 방법으로서,
비주얼 미디어 데이터의 현재 비디오 블록과 상기 현재 비디오 블록의 비트스트림 표현 간의 변환 동안, 상기 현재 비디오 블록과 연관된 동위치 루마 블록의 왼쪽 상단 샘플을 커버하는 대응하는 루마 블록의 이웃 샘플들에 적어도 부분적으로 기초하여 상기 현재 비디오 블록에 대한 크로스-컴포넌트 선형 모델(CCLM) 및/또는 크로마 잔차 스케일링(CRS) 인자를 계산하는 단계를 포함하고, 상기 대응하는 루마 블록을 식별하기 위해 상기 현재 비디오 블록의 하나 이상의 특성이 이용된다.
A2. 조항 A1의 방법으로서, 상기 현재 비디오 블록의 하나 이상의 특성은: 크기, 파티션 타입, 위치, 또는 코디네이션을 포함한다.
A3. 조항 A1-A2 중 어느 하나 이상의 조항의 방법으로서, 상기 현재 비디오 블록의 하나 이상의 특성은 상기 현재 비디오 블록의 컬러 성분과 연관된다.
A4. 조항 A3의 방법으로서, 상기 현재 비디오 블록의 하나 이상의 특성은 후속 사용을 위해 버퍼에 저장된다.
A5. 조항 A1-A3 중 어느 하나 이상의 조항의 방법으로서, 상기 현재 비디오 블록 및 상기 대응하는 루마 블록은 동일한 코딩 트리 단위(CTU) 또는 동일한 코딩 트리 단위(CTU) 행 내부에 위치한다.
A6. 조항 A5의 방법으로서, 상기 현재 비디오 블록 및 상기 대응하는 루마 블록이 동일한 코딩 트리 단위(CTU) 또는 동일한 코딩 트리 단위(CTU) 행 내부에 위치하면, 상기 현재 비디오 블록의 하나 이상의 특성은 저장되지 않는다.
A7. 조항 A1의 방법으로서, 상기 대응하는 루마 블록의 이웃 샘플들은 하나 이상의 조건이 만족될 때 이용가능하고, 그렇지 않으면 상기 이웃 샘플들은 이용불가능하다.
A8. 조항 A7의 방법으로서, 상기 하나 이상의 조건은: 상기 현재 비디오 블록의 코딩 모드의 사용, 상기 대응하는 루마 블록의 이웃 샘플들의 코딩 모드의 사용, 상기 대응하는 루마 블록의 이웃 샘플들과 연관된 필터의 타입의 사용, 상기 현재 비디오 블록들 또는 그의 서브-블록들에 대한 상기 대응하는 루마 블록의 이웃 샘플들의 위치, 현재 화상/서브화상/타일/타일 그룹/VPDU/슬라이스의 폭, 및/또는 현재 화상/서브화상/타일/타일 그룹/VPDU/슬라이스/코딩 트리 단위(CTU) 행의 높이를 포함한다.
A9. 조항 A7-A8 중 어느 하나 이상의 조항의 방법으로서, 이웃 샘플이 이용불가능하면, 상기 이웃 샘플은 첫 번째 이용가능한 인접 샘플로 치환된다.
A10. 조항 A9의 방법으로서, 상기 첫 번째 이용가능한 인접 샘플은 검사 순서에 따라 식별된다.
A11. 조항 A10의 방법으로서, 상기 검사 순서는 사전 정의된다.
A12. 조항 A10의 방법으로서, 상기 검사 순서는 상기 비트스트림 표현에서 시그널링된다.
A13. 조항 A8-A9 중 어느 하나 이상의 조항의 방법으로서, 이웃 샘플이 이용불가능하면, 상기 이웃 샘플은 미리 결정된 또는 맵핑된 값으로 채워진다.
A14. 조항 A13의 방법으로서, 상기 미리 결정된 또는 맵핑된 값은 1 << ( bitDepth - 1 )로서 표현되고, 여기서 bitDepth는 상기 동위치 루마 블록 내의 샘플들의 비트 심도를 나타낸다.
A15. 조항 A13의 방법으로서, 상기 미리 결정된 또는 맵핑된 값은 룩업 테이블(LUT)에 기초한다.
B1. 비주얼 미디어 처리를 위한 방법으로서,
규칙을 이용하여 비주얼 미디어 데이터의 현재 비디오 블록의 컬러 성분들에 대해 크로마 잔차 스케일링(CRS)을 선택적으로 인에이블 또는 디스에이블하는 결정을 하는 단계 - 상기 규칙은 상기 현재 비디오 블록의 코딩 모드 정보 및/또는 하나 이상의 이웃 비디오 블록의 코딩 모드 정보에 기초함 -; 및
상기 결정에 기초하여, 상기 현재 비디오 블록과 비트스트림 표현 간의 변환을 수행하는 단계를 포함하는, 방법.
B2. 조항 B1의 방법으로서, 상기 현재 비디오 블록은 동위치 비디오 블록이다.
B3. 조항 B1의 방법으로서, 상기 현재 비디오 블록은 현재 크로마 블록이다.
B4. 조항 B1의 방법으로서, 상기 현재 비디오 블록은 동위치 크로마 블록의 적어도 하나의 샘플을 커버하는 대응하는 루마 블록이다.
B5. 조항 B1-B4 중 어느 하나 이상의 조항의 방법으로서, 상기 하나 이상의 이웃 비디오 블록은 인접한 비디오 블록들이다.
B6. 조항 B1-B4 중 어느 하나 이상의 조항의 방법으로서, 상기 하나 이상의 이웃 비디오 블록은 비-인접한 비디오 블록들이다.
B7. 조항 B1-B6 중 어느 하나 이상의 조항의 방법으로서, 상기 하나 이상의 이웃 비디오 블록은 상기 현재 비디오 블록에 대해 다수의 샘플을 커버하는 다수의 이웃 블록이다.
B8. 조항 B1-B6 중 어느 하나 이상의 조항의 방법으로서, 상기 규칙은, 이웃 비디오 블록의 재구성이 상기 현재 비디오 블록과 연관된 슬라이스/타일 그룹 내의 샘플들을 사용한다면, 상기 CRS를 디스에이블하는 것을 특정한다.
B9. 조항 B8의 방법으로서, 상기 규칙은, 상기 이웃 비디오 블록의 코딩 모드 정보가 인트라 모드, 조합된 인터-인트라 예측(CIIP) 모드, 또는 인트라 블록 카피(IBC) 모드 중 하나이면, 상기 CRS를 디스에이블하는 것을 특정한다.
B10. 조항 B8-B9 중 어느 하나 이상의 조항의 방법으로서, 상기 CRS를 적용하기 위해 크로마 잔차 인자의 디폴트 값이 사용된다.
B11. 조항 B10의 방법으로서, 상기 디폴트 값은 1 << ( bitDepth - 1 )로서 표현되고, 여기서 bitDepth는 상기 현재 비디오 블록 내의 루마 또는 크로마 샘플들의 비트 심도를 나타낸다.
B12. 조항 B10의 방법으로서, 상기 디폴트 값은 룩업 테이블(LUT)에 기초한다.
B13. 조항 B10의 방법으로서, 상기 디폴트 값은 사전 정의된다.
C1. 비주얼 미디어 처리를 위한 방법으로서,
비주얼 미디어 데이터의 현재 비디오 블록과 연관된 슬라이스 또는 타일 그룹 내의 비디오 블록들과 연관된 적어도 하나의 크로마 블록에 대해 단일 크로마 잔차 스케일링 인자를 이용하는 단계; 및
상기 현재 비디오 블록과 상기 현재 비디오 블록의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하는, 방법.
C2. 조항 C1의 방법으로서, 상기 적어도 하나의 크로마 블록에 대한 상기 단일 크로마 잔차 스케일링 인자는 고정 값이다.
C3. 조항 C1-C2 중 어느 하나 이상의 조항의 방법으로서, 상기 단일 크로마 잔차 인자는 상기 크로마 잔차 스케일링 인자를 도출하기 위해 사용되는 선형 모델의 인덱스에 기초한다.
C4. 조항 C3의 방법으로서, 상기 선형 모델은 조각별 선형이다.
C5. 조항 C1의 방법으로서, 상기 적어도 하나의 크로마 블록에 대한 상기 단일 크로마 잔차 스케일링 인자는 사전 정의된다.
C6. 조항 C1의 방법으로서, 상기 적어도 하나의 크로마 블록에 대한 상기 단일 크로마 잔차 스케일링 인자는 상기 현재 비디오 블록 내의 루마 또는 크로마 샘플들의 비트 심도에 기초한다.
C7. 조항 C3의 방법으로서, 상기 선형 모델의 인덱스는 상기 현재 비디오 블록 내의 루마 또는 크로마 샘플들의 비트 심도에 기초하여 도출된다.
D1. 비주얼 미디어 처리를 위한 방법으로서,
비주얼 미디어 데이터의 현재 비디오 블록과 상기 현재 비디오 블록의 비트스트림 표현 간의 변환 동안 크로마 잔차 스케일링 인자를 도출하는 단계;
상기 비주얼 미디어 데이터의 다른 비디오 블록들과 함께 사용하기 위해 상기 크로마 잔차 스케일링 인자를 저장하는 단계; 및
상기 현재 비디오 블록 및 상기 다른 비디오 블록들을 상기 비트스트림 표현으로 변환하기 위해 상기 크로마 잔차 인자를 적용하는 단계를 포함하는, 방법.
D2. 조항 D1의 방법으로서, 상기 크로마 잔차 스케일링 인자는 라인 버퍼에 저장된다.
D3. 비주얼 미디어 처리를 위한 방법으로서,
비주얼 미디어 데이터의 현재 비디오 블록과 상기 비주얼 미디어 데이터의 비트스트림 표현 간의 변환 동안:
상기 현재 비디오 블록의 크로마 잔차 인자를 계산하는 단계;
상기 비주얼 미디어 데이터의 제2 비디오 블록과 함께 사용하기 위해 상기 크로마 잔차 스케일링 인자를 버퍼에 저장하는 단계; 및
상기 사용 후에, 상기 버퍼로부터 상기 크로마 잔차 스케일링 인자를 제거하는 단계를 포함하는, 방법.
D4. 조항 D3의 방법으로서, 상기 비주얼 미디어 데이터 내의 상기 현재 비디오 블록과 상기 제2 비디오 블록이 상이한 비디오 영역들에 속하면, 상기 제2 비디오 블록의 크로마 잔차 스케일링 인자는 상기 현재 비디오 블록에 대한 사용을 위해 이용불가능한 것으로 결정된다.
D5. 조항 D4의 방법으로서, 상기 비디오 영역들은: 슬라이스, 타일, 타일 그룹, 가상 파이프라인 데이터 단위(VPDU), 코딩 트리 단위(CTU), 또는 CTU 행 중 하나를 포함한다.
D6. 조항 D4의 방법으로서, 상기 제2 비디오 블록은 상기 현재 비디오 블록의 이웃 비디오 블록이다.
D7. 조항 D6의 방법으로서, 상기 이웃 비디오 블록은 상기 현재 비디오 블록에 인접한다.
D8. 조항 D6의 방법으로서, 상기 이웃 비디오 블록은 상기 현재 비디오 블록에 비-인접한다.
D9. 조항 D1-D8 중 어느 하나 이상의 조항의 방법으로서, 상기 크로마 잔차 스케일링 인자는 상기 변환 동안 동적으로 업데이트된다.
D10. 조항 D9의 방법으로서, 상기 크로마 잔차 스케일링 인자는 테이블에 저장되고, 상기 테이블에 저장된 상기 크로마 잔차 스케일링 인자를 동적으로 업데이트하는 것은 선입 선출(FIFO) 순서에 따른다.
D11. 조항 D10의 방법으로서, 상기 크로마 잔차 스케일링 인자는 크로마 블록을 디코딩/인코딩한 후에 상기 테이블에 저장된다.
D12. 조항 D10의 방법으로서, 시간 순간에, 상기 테이블은 많아야 1개의 엔트리의 상기 크로마 잔차 스케일링 인자를 저장한다.
D13. 조항 D10의 방법으로서, 상기 크로마 잔차 스케일링 인자는 화상, 슬라이스, 타일, 타일 그룹, 가상 파이프라인 데이터 단위(VPDU), CTU, 또는 CTU 행을 디코딩/인코딩하기 전에 상기 테이블에 저장된다.
D14. 조항 D13의 방법으로서, 상기 테이블에 디폴트 크로마 잔차 스케일링 인자를 저장하는 것은 상기 테이블을 리프레시하는 것을 야기한다.
D15. 조항 D14의 방법으로서, 상기 디폴트 크로마 잔차 스케일링 인자는 상기 테이블이 리프레시될 때 널 값이다.
D16. 조항 A1-D15 중 어느 하나 이상의 조항의 방법으로서, 상기 변환은 상기 현재 비디오 블록으로부터 상기 비트스트림 표현을 생성하는 것을 포함한다.
D17. 조항 A1-D15 중 어느 하나 이상의 조항의 방법으로서, 상기 변환은 상기 비트스트림 표현으로부터 상기 현재 비디오 블록의 픽셀 값들을 생성하는 것을 포함한다.
D18. 조항 A1-D15 중 어느 하나 이상의 조항에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 인코더 장치.
D19. 조항 A1-D15 중 어느 하나 이상의 조항에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 디코더 장치.
D20. 코드가 저장되어 있는 컴퓨터 판독가능 매체로서, 상기 코드는 조항 A1-D15 중 어느 하나 이상의 조항에 기재된 방법을 구현하기 위한 프로세서 실행가능 명령어들을 구현하는, 컴퓨터 판독가능 매체.
본 문서에서, "비디오 처리" 또는 "비주얼 미디어 처리"라는 용어는 비디오 인코딩, 비디오 디코딩, 비디오 압축 또는 비디오 압축해제를 지칭할 수 있다. 예를 들어, 비디오의 픽셀 표현으로부터 대응하는 비트스트림 표현으로의 또는 그 반대로의 변환 동안 비디오 압축 알고리즘들이 적용될 수 있다. 현재 비디오 블록의 비트스트림 표현은, 예를 들어, 구문에 의해 정의되는 바와 같이, 비트스트림 내의 상이한 곳들에 확산된 또는 동위치에 있는 비트들에 대응할 수 있다. 예를 들어, 매크로블록은 변환된 그리고 코딩된 오류 잔차 값들의 관점에서 그리고 또한 헤더들 내의 비트들 및 비트스트림 내의 다른 필드들을 이용하여 인코딩될 수 있다. 더욱이, 변환 동안, 디코더는, 위의 솔루션들에서 설명된 바와 같이, 결정에 기초하여, 일부 필드들이 존재하거나 부재할 수 있다는 지식을 가지고 비트스트림을 파싱할 수 있다. 유사하게, 인코더는 특정 구문 필드들이 포함되거나 포함되지 않아야 한다고 결정하고 그에 따라 코딩된 표현으로부터 구문 필드들을 포함시키거나 제외시키는 것에 의해 코딩된 표현을 생성할 수 있다.
전술한 바로부터, 현재 개시된 기술의 특정 실시예들이 예시의 목적들을 위해 본 명세서에 설명되었지만, 본 발명의 범위를 벗어나지 않고 다양한 수정들이 이루어질 수 있다는 것이 이해될 것이다. 따라서, 현재 개시된 기술은 첨부된 청구항들에 의한 것을 제외하고는 제한되지 않는다.
본 특허 문서에서 설명된 주제 및 기능적 동작들의 구현들은 다양한 시스템들, 디지털 전자 회로에서, 또는 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어에서 - 본 명세서에 개시된 구조들 및 그들의 구조적 등가물들을 포함하여 -, 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 설명된 주제의 구현들은 하나 이상의 컴퓨터 프로그램 제품, 즉, 데이터 처리 장치에 의한 실행을 위해, 또는 데이터 처리 장치의 동작을 제어하기 위해 유형의(tangible) 비일시적 컴퓨터 판독가능 매체 상에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터 판독가능 매체는 머신 판독가능 저장 디바이스, 머신 판독가능 저장 기판, 메모리 디바이스, 머신 판독가능 전파 신호에 영향을 주는 물질 조성, 또는 이들 중 하나 이상의 조합일 수 있다. "데이터 처리 유닛" 또는 "데이터 처리 장치"라는 용어는 예로서 프로그램 가능 프로세서, 컴퓨터, 또는 다수의 프로세서 또는 컴퓨터를 포함하는, 데이터를 처리하기 위한 모든 장치, 디바이스, 및 머신을 포함한다. 장치는, 하드웨어에 더하여, 해당 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트, 또는 코드라고도 알려져 있음)은, 컴파일된 또는 해석된 언어들을 포함하는 임의의 형식의 프로그래밍 언어로 작성될 수 있고, 그것은 독립형 프로그램(stand-alone program)으로서, 또는 모듈, 컴포넌트, 서브루틴, 또는 컴퓨팅 환경에서 이용하기에 적합한 다른 유닛으로서 배치되는 것을 포함하여, 임의의 형식으로 배치될 수 있다. 컴퓨터 프로그램은 파일 시스템 내의 파일에 반드시 대응하지는 않는다. 프로그램은 다른 프로그램들 또는 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트)를 보유하는 파일의 일부 내에, 해당 프로그램에 전용되는 단일 파일 내에, 또는 다수의 코디네이션된 파일들(예를 들어, 하나 이상의 모듈, 서브 프로그램들, 또는 코드의 부분들을 저장하는 파일들) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 상에서, 또는 한 장소에 위치하거나 다수의 장소에 걸쳐 분산되어 통신 네트워크에 의해 상호연결되는 다수의 컴퓨터 상에서 실행되도록 배치될 수 있다.
본 명세서에 설명된 프로세스들 및 로직 흐름들은 입력 데이터에 대해 동작하고 출력을 생성하는 것에 의해 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능 프로세서에 의해 수행될 수 있다. 프로세스들 및 로직 흐름들은 또한 특수 목적 로직 회로, 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)에 의해 수행될 수 있고, 장치가 또한 그것들로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서들은, 예로서, 범용 및 특수 목적 마이크로프로세서 둘 다, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은 명령어들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어, 자기, 광자기 디스크들, 또는 광 디스크들을 포함하거나, 또는 이들로부터 데이터를 수신하거나 데이터를 이들에 전송하거나, 또는 이들 둘 다를 수행하도록 동작적으로 결합될 것이다. 그러나, 컴퓨터는 그러한 디바이스들을 가질 필요는 없다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체는, 예로서 반도체 메모리 디바이스들, 예를 들어, EPROM, EEPROM, 및 플래시 메모리 디바이스들을 포함하는, 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 로직 회로에 의해 보완되거나 그에 통합될 수 있다.
본 명세서는, 도면들과 함께, 단지 예시적인 것으로 간주되는 것으로 의도되고, 여기서 예시적이란 예를 의미한다. 본 명세서에서 사용되는, "또는"의 사용은, 컨텍스트가 명확하게 달리 지시하지 않는 한, "및/또는"을 포함하는 것으로 의도된다.
본 특허 문서가 많은 세부 사항들을 포함하고 있지만, 이들이 임의의 발명의 또는 청구될 수 있는 것의 범위에 대한 제한으로서 해석되어서는 안 되고, 오히려 특정 발명들의 특정 실시예들에 특정적일 수 있는 특징들의 설명으로서 해석되어야 한다. 개별 실시예들의 컨텍스트에서 본 특허 문서에서 설명되는 특정 특징들은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예의 컨텍스트에서 설명되는 다양한 특징들은 또한 다수의 실시예에서 개별적으로 또는 임의의 적합한 부분조합으로 구현될 수 있다. 더욱이, 특징들이 특정 조합들로 작용하는 것으로 위에서 설명되고 심지어 처음에는 그와 같이 청구될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징은 일부 경우들에서 조합으로부터 삭제될 수 있고, 청구된 조합은 부분조합 또는 부분조합의 변형에 관한 것일 수 있다.
유사하게, 동작들이 특정 순서로 도면들에 묘사되지만, 이는 바람직한 결과들을 달성하기 위해, 그러한 동작들이 도시된 특정 순서로 또는 순차적인 순서로 수행되거나, 모든 예시된 동작들이 수행되는 것을 요구하는 것으로 이해되어서는 안 된다. 더욱이, 본 특허 문서에서 설명된 실시예들에서의 다양한 시스템 컴포넌트들의 분리는 모든 실시예들에서 그러한 분리를 요구하는 것으로 이해되어서는 안 된다.
몇몇 구현들 및 예들만이 설명되고, 본 특허 문서에서 설명되고 예시된 것에 기초하여 다른 구현들, 향상들 및 변형들이 이루어질 수 있다.

Claims (55)

  1. 비주얼 미디어 처리를 위한 방법으로서,
    비주얼 미디어 데이터의 현재 비디오 블록과 상기 현재 비디오 블록의 비트스트림 표현 간의 변환 동안, 상기 현재 비디오 블록과 연관된 동위치 루마 블록의 왼쪽 상단 샘플을 커버하는 대응하는 루마 블록의 이웃 샘플들에 적어도 부분적으로 기초하여 상기 현재 비디오 블록에 대한 크로스-컴포넌트 선형 모델(CCLM) 및/또는 크로마 잔차 스케일링(CRS) 인자를 계산하는 단계를 포함하고, 상기 대응하는 루마 블록을 식별하기 위해 상기 현재 비디오 블록의 하나 이상의 특성이 이용되는, 방법.
  2. 제1항에 있어서,
    상기 현재 비디오 블록의 하나 이상의 특성은: 크기, 파티션 타입, 위치, 또는 코디네이션을 포함하는, 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 현재 비디오 블록의 하나 이상의 특성은 상기 현재 비디오 블록의 컬러 성분과 연관되는, 방법.
  4. 제3항에 있어서,
    상기 현재 비디오 블록의 하나 이상의 특성은 후속 사용을 위해 버퍼에 저장되는, 방법.
  5. 제1항 내지 제3항 중 어느 하나 이상의 항에 있어서,
    상기 현재 비디오 블록 및 상기 대응하는 루마 블록은 동일한 코딩 트리 단위(CTU) 또는 동일한 코딩 트리 단위(CTU) 행 내부에 위치하는, 방법.
  6. 제5항에 있어서,
    상기 현재 비디오 블록 및 상기 대응하는 루마 블록이 동일한 코딩 트리 단위(CTU) 또는 동일한 코딩 트리 단위(CTU) 행 내부에 위치하면, 상기 현재 비디오 블록의 하나 이상의 특성은 저장되지 않는, 방법.
  7. 제1항에 있어서,
    상기 대응하는 루마 블록의 이웃 샘플들은 하나 이상의 조건이 만족될 때 이용가능하고, 그렇지 않으면 상기 이웃 샘플들은 이용불가능한, 방법.
  8. 제7항에 있어서,
    상기 하나 이상의 조건은: 상기 현재 비디오 블록의 코딩 모드의 사용, 상기 대응하는 루마 블록의 이웃 샘플들의 코딩 모드의 사용, 상기 대응하는 루마 블록의 이웃 샘플들과 연관된 필터의 타입의 사용, 상기 현재 비디오 블록들 또는 그의 서브-블록들에 대한 상기 대응하는 루마 블록의 이웃 샘플들의 위치, 현재 화상/서브화상/타일/타일 그룹/VPDU/슬라이스의 폭, 및/또는 현재 화상/서브화상/타일/타일 그룹/VPDU/슬라이스/코딩 트리 단위(CTU) 행의 높이를 포함하는, 방법.
  9. 제7항 또는 제8항에 있어서,
    이웃 샘플이 이용불가능하면, 상기 이웃 샘플은 첫 번째 이용가능한 인접 샘플로 치환되는, 방법.
  10. 제9항에 있어서,
    상기 첫 번째 이용가능한 인접 샘플은 검사 순서에 따라 식별되는, 방법.
  11. 제10항에 있어서,
    상기 검사 순서는 사전 정의되는, 방법.
  12. 제10항에 있어서,
    상기 검사 순서는 상기 비트스트림 표현에서 시그널링되는, 방법.
  13. 제8항 또는 제9항에 있어서,
    이웃 샘플이 이용불가능하면, 상기 이웃 샘플은 미리 결정된 또는 맵핑된 값으로 채워지는, 방법.
  14. 제13항에 있어서,
    상기 미리 결정된 또는 맵핑된 값은 1 << ( bitDepth - 1 )로서 표현되고, 여기서 bitDepth는 상기 동위치 루마 블록 내의 샘플들의 비트 심도를 나타내는, 방법.
  15. 제13항에 있어서,
    상기 미리 결정된 또는 맵핑된 값은 룩업 테이블(LUT)에 기초하는, 방법.
  16. 비주얼 미디어 처리를 위한 방법으로서,

    규칙을 이용하여 비주얼 미디어 데이터의 현재 비디오 블록의 컬러 성분들에 대해 크로마 잔차 스케일링(CRS)을 선택적으로 인에이블 또는 디스에이블하는 결정을 하는 단계 - 상기 규칙은 상기 현재 비디오 블록의 코딩 모드 정보 및/또는 하나 이상의 이웃 비디오 블록의 코딩 모드 정보에 기초함 -; 및
    상기 결정에 기초하여, 상기 현재 비디오 블록과 비트스트림 표현 간의 변환을 수행하는 단계를 포함하는, 방법.
  17. 제16항에 있어서,
    상기 현재 비디오 블록은 동위치 비디오 블록인, 방법.
  18. 제16항에 있어서,
    상기 현재 비디오 블록은 현재 크로마 블록인, 방법.
  19. 제16항에 있어서,
    상기 현재 비디오 블록은 동위치 크로마 블록의 적어도 하나의 샘플을 커버하는 대응하는 루마 블록인, 방법.
  20. 제16항 내지 제19항 중 어느 하나 이상의 항에 있어서,
    상기 하나 이상의 이웃 비디오 블록은 인접한 비디오 블록들인, 방법.
  21. 제16항 내지 제19항 중 어느 하나 이상의 항에 있어서,
    상기 하나 이상의 이웃 비디오 블록은 비-인접한 비디오 블록들인, 방법.
  22. 제16항 내지 제21항 중 어느 하나 이상의 항에 있어서,
    상기 하나 이상의 이웃 비디오 블록은 상기 현재 비디오 블록에 대해 다수의 샘플을 커버하는 다수의 이웃 블록인, 방법.
  23. 제16항 내지 제21항 중 어느 하나 이상의 항에 있어서,
    상기 규칙은, 이웃 비디오 블록의 재구성이 상기 현재 비디오 블록과 연관된 슬라이스/타일 그룹 내의 샘플들을 사용한다면, 상기 CRS를 디스에이블하는 것을 특정하는, 방법.
  24. 제23항에 있어서,
    상기 규칙은, 상기 이웃 비디오 블록의 코딩 모드 정보가 인트라 모드, 조합된 인터-인트라 예측(CIIP) 모드, 또는 인트라 블록 카피(IBC) 모드 중 하나이면, 상기 CRS를 디스에이블하는 것을 특정하는, 방법.
  25. 제23항 또는 제24항에 있어서,
    상기 CRS를 적용하기 위해 크로마 잔차 인자의 디폴트 값이 사용되는, 방법.
  26. 제25항에 있어서,
    상기 디폴트 값은 1 << ( bitDepth - 1 )로서 표현되고, 여기서 bitDepth는 상기 현재 비디오 블록 내의 루마 또는 크로마 샘플들의 비트 심도를 나타내는, 방법.
  27. 제25항에 있어서,
    상기 디폴트 값은 룩업 테이블(LUT)에 기초하는, 방법.
  28. 제25항에 있어서,
    상기 디폴트 값은 사전 정의되는, 방법.
  29. 비주얼 미디어 처리를 위한 방법으로서,
    비주얼 미디어 데이터의 현재 비디오 블록과 연관된 슬라이스 또는 타일 그룹 내의 비디오 블록들과 연관된 적어도 하나의 크로마 블록에 대해 단일 크로마 잔차 스케일링 인자를 이용하는 단계; 및
    상기 현재 비디오 블록과 상기 현재 비디오 블록의 비트스트림 표현 간의 변환을 수행하는 단계를 포함하는, 방법.
  30. 제29항에 있어서,
    상기 적어도 하나의 크로마 블록에 대한 상기 단일 크로마 잔차 스케일링 인자는 고정 값인, 방법.
  31. 제29항 또는 제30항에 있어서,
    상기 단일 크로마 잔차 인자는 상기 크로마 잔차 스케일링 인자를 도출하기 위해 사용되는 선형 모델의 인덱스에 기초하는, 방법.
  32. 제31항에 있어서,
    상기 선형 모델은 조각별 선형인, 방법.
  33. 제29항에 있어서,
    상기 적어도 하나의 크로마 블록에 대한 상기 단일 크로마 잔차 스케일링 인자는 사전 정의되는, 방법.
  34. 제29항에 있어서,
    상기 적어도 하나의 크로마 블록에 대한 상기 단일 크로마 잔차 스케일링 인자는 상기 현재 비디오 블록 내의 루마 또는 크로마 샘플들의 비트 심도에 기초하는, 방법.
  35. 제31항에 있어서,
    상기 선형 모델의 인덱스는 상기 현재 비디오 블록 내의 루마 또는 크로마 샘플들의 비트 심도에 기초하여 도출되는, 방법.
  36. 비주얼 미디어 처리를 위한 방법으로서,
    비주얼 미디어 데이터의 현재 비디오 블록과 상기 현재 비디오 블록의 비트스트림 표현 간의 변환 동안 크로마 잔차 스케일링 인자를 도출하는 단계;
    상기 비주얼 미디어 데이터의 다른 비디오 블록들과 함께 사용하기 위해 상기 크로마 잔차 스케일링 인자를 저장하는 단계; 및
    상기 현재 비디오 블록 및 상기 다른 비디오 블록들을 상기 비트스트림 표현으로 변환하기 위해 상기 크로마 잔차 인자를 적용하는 단계를 포함하는, 방법.
  37. 제36항에 있어서,
    상기 크로마 잔차 스케일링 인자는 라인 버퍼에 저장되는, 방법.
  38. 비주얼 미디어 처리를 위한 방법으로서,
    비주얼 미디어 데이터의 현재 비디오 블록과 상기 비주얼 미디어 데이터의 비트스트림 표현 간의 변환 동안:
    상기 현재 비디오 블록의 크로마 잔차 인자를 계산하는 단계;
    상기 비주얼 미디어 데이터의 제2 비디오 블록과 함께 사용하기 위해 상기 크로마 잔차 스케일링 인자를 버퍼에 저장하는 단계; 및
    상기 사용 후에, 상기 버퍼로부터 상기 크로마 잔차 스케일링 인자를 제거하는 단계를 포함하는, 방법.
  39. 제38항에 있어서,
    상기 비주얼 미디어 데이터 내의 상기 현재 비디오 블록과 상기 제2 비디오 블록이 상이한 비디오 영역들에 속하면, 상기 제2 비디오 블록의 크로마 잔차 스케일링 인자는 상기 현재 비디오 블록에 대한 사용을 위해 이용불가능한 것으로 결정되는, 방법.
  40. 제39항에 있어서,
    상기 비디오 영역들은: 슬라이스, 타일, 타일 그룹, 가상 파이프라인 데이터 단위(VPDU), 코딩 트리 단위(CTU), 또는 CTU 행 중 하나를 포함하는, 방법.
  41. 제39항에 있어서,
    상기 제2 비디오 블록은 상기 현재 비디오 블록의 이웃 비디오 블록인, 방법.
  42. 제41항에 있어서,
    상기 이웃 비디오 블록은 상기 현재 비디오 블록에 인접하는, 방법.
  43. 제41항에 있어서,
    상기 이웃 비디오 블록은 상기 현재 비디오 블록에 비-인접하는, 방법.
  44. 제36항 내지 제43항 중 어느 하나 이상의 항에 있어서,
    상기 크로마 잔차 스케일링 인자는 상기 변환 동안 동적으로 업데이트되는, 방법.
  45. 제44항에 있어서,
    상기 크로마 잔차 스케일링 인자는 테이블에 저장되고, 상기 테이블에 저장된 상기 크로마 잔차 스케일링 인자를 동적으로 업데이트하는 것은 선입 선출(FIFO) 순서에 따르는, 방법.
  46. 제45항에 있어서,
    상기 크로마 잔차 스케일링 인자는 크로마 블록을 디코딩/인코딩한 후에 상기 테이블에 저장되는, 방법.
  47. 제45항에 있어서,
    시간 순간에, 상기 테이블은 많아야 1개의 엔트리의 상기 크로마 잔차 스케일링 인자를 저장하는, 방법.
  48. 제45항에 있어서,
    상기 크로마 잔차 스케일링 인자는 화상, 슬라이스, 타일, 타일 그룹, 가상 파이프라인 데이터 단위(VPDU), CTU, 또는 CTU 행을 디코딩/인코딩하기 전에 상기 테이블에 저장되는, 방법.
  49. 제48항에 있어서,
    상기 테이블에 디폴트 크로마 잔차 스케일링 인자를 저장하는 것은 상기 테이블을 리프레시하는 것을 야기하는, 방법.
  50. 제49항에 있어서,
    상기 디폴트 크로마 잔차 스케일링 인자는 상기 테이블이 리프레시될 때 널 값인, 방법.
  51. 제1항 내지 제50항 중 어느 하나 이상의 항에 있어서,
    상기 변환은 상기 현재 비디오 블록으로부터 상기 비트스트림 표현을 생성하는 것을 포함하는, 방법.
  52. 제1항 내지 제50항 중 어느 하나 이상의 항에 있어서,
    상기 변환은 상기 비트스트림 표현으로부터 상기 현재 비디오 블록의 픽셀 값들을 생성하는 것을 포함하는, 방법.
  53. 제1항 내지 제50항 중 어느 하나 이상의 항에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 인코더 장치.
  54. 제1항 내지 제50항 중 어느 하나 이상의 항에 기재된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 디코더 장치.
  55. 코드가 저장되어 있는 컴퓨터 판독가능 매체로서, 상기 코드는 제1항 내지 제50항 중 어느 하나 이상의 항에 기재된 방법을 구현하기 위한 프로세서 실행가능 명령어들을 구현하는, 컴퓨터 판독가능 매체.
KR1020217033141A 2019-04-23 2020-04-22 크로스 컴포넌트 의존성 감소를 위한 방법들 KR102660668B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2019/083846 2019-04-23
CN2019083846 2019-04-23
PCT/CN2020/086111 WO2020216246A1 (en) 2019-04-23 2020-04-22 Methods for cross component dependency reduction

Publications (2)

Publication Number Publication Date
KR20210152481A true KR20210152481A (ko) 2021-12-15
KR102660668B1 KR102660668B1 (ko) 2024-04-26

Family

ID=72940745

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217033141A KR102660668B1 (ko) 2019-04-23 2020-04-22 크로스 컴포넌트 의존성 감소를 위한 방법들

Country Status (12)

Country Link
US (3) US11659164B1 (ko)
EP (1) EP3935855A4 (ko)
JP (2) JP7317991B2 (ko)
KR (1) KR102660668B1 (ko)
CN (2) CN113711610B (ko)
AU (1) AU2020263199B2 (ko)
BR (1) BR112021019675A2 (ko)
CA (1) CA3135973A1 (ko)
MX (1) MX2021012674A (ko)
SG (1) SG11202110999PA (ko)
WO (1) WO2020216246A1 (ko)
ZA (1) ZA202107453B (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210135502A (ko) 2019-03-08 2021-11-15 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 처리에서 변형 정보의 시그널링
BR112021019675A2 (pt) 2019-04-23 2021-12-07 Beijing Bytedance Network Tech Co Ltd Método para processamento de mídia visual, aparelho codificador de vídeo, aparelho decodificador de vídeo, e, mídia legível por computador
KR20210142008A (ko) * 2019-06-17 2021-11-23 엘지전자 주식회사 루마 맵핑 및 크로마 스케일링 기반 비디오 또는 영상 코딩
CN113994697A (zh) 2019-06-22 2022-01-28 北京字节跳动网络技术有限公司 色度残差缩放的语法元素
CN114097232A (zh) * 2019-06-25 2022-02-25 交互数字Vc控股法国有限公司 用于译码/解码图片数据的方法和装置
JP7460748B2 (ja) 2019-07-07 2024-04-02 北京字節跳動網絡技術有限公司 クロマ残差スケーリングのシグナリング
WO2021100450A1 (ja) * 2019-11-21 2021-05-27 日本放送協会 イントラ予測装置、画像符号化装置、画像復号装置、及びプログラム
WO2022114768A1 (ko) * 2020-11-24 2022-06-02 현대자동차주식회사 성분 간 참조를 이용하는 잔차신호 생성방법과 장치
WO2024007165A1 (zh) * 2022-07-05 2024-01-11 Oppo广东移动通信有限公司 编解码方法、装置、编码设备、解码设备以及存储介质
WO2024104086A1 (en) * 2022-11-18 2024-05-23 Mediatek Inc. Method and apparatus of inheriting shared cross-component linear model with history table in video coding system

Family Cites Families (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2051524A1 (en) 2007-10-15 2009-04-22 Panasonic Corporation Image enhancement considering the prediction error
US9571856B2 (en) 2008-08-25 2017-02-14 Microsoft Technology Licensing, Llc Conversion operations in scalable video encoding and decoding
US9100661B2 (en) 2010-04-05 2015-08-04 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by using dynamic-range transformation, and method and apparatus for decoding video by using dynamic-range transformation
KR20140010192A (ko) 2010-04-09 2014-01-23 미쓰비시덴키 가부시키가이샤 화상 부호화 장치
RS56473B1 (sr) 2010-09-30 2018-01-31 Samsung Electronics Co Ltd Postupak za interpolaciju slika pomoću filtera za interpolaciju i uglačavanje
WO2012090504A1 (en) 2010-12-28 2012-07-05 Panasonic Corporation Methods and apparatuses for coding and decoding video stream
US9565428B2 (en) 2011-06-20 2017-02-07 Mediatek Singapore Pte. Ltd. Method and apparatus of chroma intra prediction with reduced line memory
KR20130058524A (ko) 2011-11-25 2013-06-04 오수미 색차 인트라 예측 블록 생성 방법
JP5375938B2 (ja) 2011-12-14 2013-12-25 ソニー株式会社 復号装置及び方法
CN103227917B (zh) 2012-01-31 2016-12-14 华为技术有限公司 解码方法和装置
CN104471940B (zh) 2012-04-16 2017-12-15 联发科技(新加坡)私人有限公司 色度帧内预测方法及装置
GB2501535A (en) 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
CN115052159A (zh) 2012-07-02 2022-09-13 韩国电子通信研究院 视频编码/解码方法和非暂时性计算机可读记录介质
US9516309B2 (en) 2012-07-09 2016-12-06 Qualcomm Incorporated Adaptive difference domain spatial and temporal reference reconstruction and smoothing
US9350899B2 (en) 2012-09-14 2016-05-24 Qualcomm Incorporated Methods and device for efficient resampling and resizing of digital images
AU2012232992A1 (en) 2012-09-28 2014-04-17 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the transform units of a coding unit
US9503733B2 (en) 2013-04-10 2016-11-22 ARRIS Enterprises, LLC Re-sampling with phase offset adjustment for luma and chroma to signal adaptive filters in scalable video coding
EP2843949B1 (en) 2013-06-28 2020-04-29 Velos Media International Limited Methods and devices for emulating low-fidelity coding in a high-fidelity coder
US9648330B2 (en) 2013-07-15 2017-05-09 Qualcomm Incorporated Inter-color component residual prediction
JP6212212B2 (ja) 2013-10-11 2017-10-11 ヴィド スケール インコーポレイテッド Hevc拡張のための高レベル構文
US9648332B2 (en) 2013-10-28 2017-05-09 Qualcomm Incorporated Adaptive inter-color component residual prediction
US10397607B2 (en) 2013-11-01 2019-08-27 Qualcomm Incorporated Color residual prediction for video coding
WO2015100522A1 (en) 2013-12-30 2015-07-09 Mediatek Singapore Pte. Ltd. Methods for inter-component residual prediction
US9930348B2 (en) 2014-03-14 2018-03-27 Qualcomm Incorporated Coefficient level coding in a video coding process
US10142642B2 (en) 2014-06-04 2018-11-27 Qualcomm Incorporated Block adaptive color-space conversion coding
US20150373343A1 (en) 2014-06-20 2015-12-24 Qualcomm Incorporated Representation format update in multi-layer codecs
US10200700B2 (en) 2014-06-20 2019-02-05 Qualcomm Incorporated Cross-component prediction in video coding
WO2016040865A1 (en) 2014-09-12 2016-03-17 Vid Scale, Inc. Inter-component de-correlation for video coding
EP3198874A4 (en) * 2014-10-28 2018-04-04 MediaTek Singapore Pte Ltd. Method of guided cross-component prediction for video coding
US9998742B2 (en) 2015-01-27 2018-06-12 Qualcomm Incorporated Adaptive cross component residual prediction
EP3259920A1 (en) 2015-02-19 2017-12-27 Magic Pony Technology Limited Visual processing using temporal and spatial interpolation
GB201603144D0 (en) 2016-02-23 2016-04-06 Magic Pony Technology Ltd Training end-to-end video processes
JP6383116B2 (ja) 2015-04-06 2018-08-29 ドルビー ラボラトリーズ ライセンシング コーポレイション ハイダイナミックレンジ映像符号化における、ループ内ブロックベース画像再構成
US20180167615A1 (en) 2015-06-07 2018-06-14 Sharp Kabushiki Kaisha Systems and methods for optimizing video coding based on a luminance transfer function or video color component values
TWI764870B (zh) * 2015-07-28 2022-05-21 法商內數位麥德遜專利控股有限公司 視訊訊號處理裝置及方法
US10652588B2 (en) 2015-09-21 2020-05-12 Vid Scale, Inc. Inverse reshaping for high dynamic range video coding
US20170105014A1 (en) 2015-10-08 2017-04-13 Qualcomm Incorporated Luma-driven chroma scaling for high dynamic range and wide color gamut contents
JP2017538381A (ja) 2015-10-09 2017-12-21 テレフオンアクチーボラゲット エルエム エリクソン(パブル) ビデオ符号化における成分間予測
US20170150156A1 (en) 2015-11-25 2017-05-25 Qualcomm Incorporated Illumination compensation with non-square predictive blocks in video coding
GB2548358A (en) 2016-03-15 2017-09-20 Nokia Technologies Oy A method, an apparatus and a computer program product for coding a 360-degree panoramic images and video
WO2017165494A2 (en) 2016-03-23 2017-09-28 Dolby Laboratories Licensing Corporation Encoding and decoding reversible production-quality single-layer video signals
CN109417620B (zh) 2016-03-25 2021-04-27 松下知识产权经营株式会社 用于使用信号依赖型自适应量化将运动图像编码及解码的方法及装置
EP3459248A1 (en) 2016-05-19 2019-03-27 Dolby Laboratories Licensing Corporation Chroma reshaping for high dynamic range images
US10645403B2 (en) 2016-05-19 2020-05-05 Dolby Laboratories Licensing Corporation Chroma reshaping for high dynamic range images
WO2017206803A1 (en) 2016-05-28 2017-12-07 Mediatek Inc. Method and apparatus of current picture referencing for video coding
US10484712B2 (en) 2016-06-08 2019-11-19 Qualcomm Incorporated Implicit coding of reference line index used in intra prediction
CN113411576B (zh) 2016-07-22 2024-01-12 夏普株式会社 使用自适应分量缩放对视频数据进行编码的系统和方法
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
US10419757B2 (en) * 2016-08-31 2019-09-17 Qualcomm Incorporated Cross-component filter
EP3510772B1 (en) 2016-09-09 2020-12-09 Dolby Laboratories Licensing Corporation Coding of high dynamic range video using segment-based reshaping
JP2018056685A (ja) 2016-09-27 2018-04-05 株式会社ドワンゴ 画像符号化装置、画像符号化方法、及び画像符号化プログラム、並びに、画像復号装置、画像復号方法、及び画像復号プログラム
JP7356347B2 (ja) 2016-10-04 2023-10-04 エルエックス セミコン カンパニー, リミティド 画像復号方法、画像符号化方法、及び記録媒体
US10477240B2 (en) 2016-12-19 2019-11-12 Qualcomm Incorporated Linear model prediction mode with sample accessing for video coding
US10873746B2 (en) 2016-12-21 2020-12-22 Sharp Kabushiki Kaisha Intra prediction image generation device using cross-component liner model, image decoding apparatus, and image coding apparatus using same
US20180199062A1 (en) 2017-01-11 2018-07-12 Qualcomm Incorporated Intra prediction techniques for video coding
US11025903B2 (en) 2017-01-13 2021-06-01 Qualcomm Incorporated Coding video data using derived chroma mode
US10694181B2 (en) 2017-01-27 2020-06-23 Qualcomm Incorporated Bilateral filters in video coding with reduced complexity
EP3386198A1 (en) * 2017-04-07 2018-10-10 Thomson Licensing Method and device for predictive picture encoding and decoding
WO2018236031A1 (ko) 2017-06-21 2018-12-27 엘지전자(주) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
CN116095314A (zh) 2017-06-29 2023-05-09 杜比实验室特许公司 整合的图像整形和视频编码
US20190116376A1 (en) 2017-10-12 2019-04-18 Qualcomm Incorporated Motion vector predictors using affine motion model in video coding
KR102457485B1 (ko) 2018-02-14 2022-10-24 돌비 레버러토리즈 라이쎈싱 코오포레이션 레이트 왜곡 최적화를 이용한 비디오 코딩에서의 이미지 재성형
US11190790B2 (en) 2018-04-01 2021-11-30 Lg Electronics Inc. Parallel processing method for color component of video signal, and device therefor
CN109005408B (zh) 2018-08-01 2020-05-29 北京奇艺世纪科技有限公司 一种帧内预测方法、装置及电子设备
TWI814890B (zh) 2018-08-17 2023-09-11 大陸商北京字節跳動網絡技術有限公司 簡化的跨分量預測
CN117478883A (zh) 2018-09-12 2024-01-30 北京字节跳动网络技术有限公司 交叉分量线性模型中的尺寸相关的下采样
WO2020084512A1 (en) 2018-10-23 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Affine motion information derivation from neighboring block
JP7231727B2 (ja) 2018-11-05 2023-03-01 北京字節跳動網絡技術有限公司 精緻化を伴うインター予測のための補間
KR20210087928A (ko) 2018-11-06 2021-07-13 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 인트라 예측을 위한 파라미터 유도의 복잡성 감소
KR20230170146A (ko) 2018-12-07 2023-12-18 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 컨텍스트 기반 인트라 예측
US20220086428A1 (en) 2018-12-31 2022-03-17 Electronics And Telecommunications Research Institute Image encoding/decoding method and apparatus, and recording medium storing bitstream
WO2020156526A1 (en) 2019-02-01 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Interactions between in-loop reshaping and inter coding tools
EP3903482A4 (en) 2019-02-22 2022-06-01 Beijing Bytedance Network Technology Co., Ltd. SELECTING ADJACENT SAMPLES FOR INTRA PREDICTION
SG11202109131PA (en) 2019-02-22 2021-09-29 Huawei Tech Co Ltd Method and apparatus for affine based inter prediction of chroma subblocks
CA3128769C (en) 2019-02-24 2023-01-24 Beijing Bytedance Network Technology Co., Ltd. Parameter derivation for intra prediction
EP3703366A1 (en) 2019-02-28 2020-09-02 InterDigital VC Holdings, Inc. Method and device for picture encoding and decoding
WO2020176459A1 (en) 2019-02-28 2020-09-03 Interdigital Vc Holdings, Inc. Method and device for picture encoding and decoding
CN117560509A (zh) 2019-03-04 2024-02-13 北京字节跳动网络技术有限公司 视频处理中滤波信息的两级信令
US11516512B2 (en) 2019-03-04 2022-11-29 Alibaba Group Holding Limited Method and system for processing video content
US20200288126A1 (en) 2019-03-08 2020-09-10 Qualcomm Incorporated Reshaping filter average calculation for video coding
US20200288159A1 (en) 2019-03-08 2020-09-10 Qualcomm Incorporated Combined residual coding in video coding
KR20210135502A (ko) 2019-03-08 2021-11-15 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 처리에서 변형 정보의 시그널링
CN113574889B (zh) 2019-03-14 2024-01-12 北京字节跳动网络技术有限公司 环路整形信息的信令和语法
CN116886931A (zh) 2019-03-25 2023-10-13 寰发股份有限公司 用于视频编解码的量化矩阵计算和表示的方法和装置
US20220217405A1 (en) 2019-04-03 2022-07-07 Lg Electronics Inc. Video or image coding for modifying reconstructed picture
CN113692741B (zh) 2019-04-18 2022-12-13 北京字节跳动网络技术有限公司 跨分量模式中的参数推导
CN113711591B (zh) 2019-04-20 2023-10-27 北京字节跳动网络技术有限公司 用于色度残差的联合编解码的语法元素的信令
BR112021019675A2 (pt) 2019-04-23 2021-12-07 Beijing Bytedance Network Tech Co Ltd Método para processamento de mídia visual, aparelho codificador de vídeo, aparelho decodificador de vídeo, e, mídia legível por computador
CN111866510A (zh) 2019-04-30 2020-10-30 华为技术有限公司 视频序列的帧内预测方法及装置
KR102641796B1 (ko) 2019-05-08 2024-03-04 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 교차-성분 코딩의 적용가능성에 대한 조건들
WO2020231139A1 (ko) 2019-05-16 2020-11-19 엘지전자 주식회사 루마 맵핑 및 크로마 스케일링 기반 비디오 또는 영상 코딩
US11388406B2 (en) 2019-05-20 2022-07-12 Dolby Laboratories Licensing Corporation Piece-wise-linear mapping for in-loop reshaping in image coding
JP2021002780A (ja) 2019-06-21 2021-01-07 シャープ株式会社 動画像復号装置および動画像符号化装置
CN113994697A (zh) 2019-06-22 2022-01-28 北京字节跳动网络技术有限公司 色度残差缩放的语法元素
JP7460748B2 (ja) 2019-07-07 2024-04-02 北京字節跳動網絡技術有限公司 クロマ残差スケーリングのシグナリング
EP3981146A4 (en) 2019-07-11 2022-08-03 Beijing Bytedance Network Technology Co., Ltd. BITSTREAM CONFORMITY RESTRICTIONS FOR INTRA-BLOCK COPY IN VIDEO ENCODING
US11601657B2 (en) 2020-04-02 2023-03-07 Qualcomm Incorporated LUMA mapping with chroma scaling (LMCS) in video coding
US11375212B2 (en) 2020-04-18 2022-06-28 Qualcomm Incorporated Flexible chroma processing for dynamic range adjustment
US20210400257A1 (en) 2020-06-18 2021-12-23 Lg Electronics Inc. Image encoding/decoding method and apparatus for signaling high level information for tool control based on colour representation format, and computer-readable recording medium strong bitstream
EP4252418A4 (en) 2020-11-30 2024-05-22 Beijing Dajia Internet Information Tech Co Ltd CHROMACODING IMPROVEMENT WITH ADAPTIVE OFFSET OF CROSS-COMPONENT SAMPLES

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Kui Fan, Li Zhang, Kai Zhang, and Yue Wang, Non-CE6: A unified zero-out range for 4x4 LFNST, oint Video Experts Team (JVET) of ITU-T and ISO/IEC, JVET-P0379-v1, 16th Meeting, 2019.09. *
Mischa Siekmann et al, CE6 - related: Simplification of the Reduced Secondary transform, Joint Video Experts of ITU-T ISO/IEC, JVET-N0555-v3, 14th Meeting: Geneva, CH, 2019.03. *
Moonmo Koo et al., CE6: Reduced Secondary Transform (RST) (test 6.5.1), Joint Video Experts Team (JVET) of ITU-T ISO/IEC , JVET-M0292, 13th Meeting: Marrakech, MA, 2019.01. *
Moonmo Koo, Jaehyun Lim, Mehdi Salehifar, and Seung Hwan Kim, CE6: Reduced Secondary Transform (RST) (CE6-3.1), Joint Video Experts of ITU-T ISO/IEC, JVET-N0193, 14th Meeting: Geneva, CH, 2019.03. *

Also Published As

Publication number Publication date
AU2020263199A1 (en) 2021-11-04
EP3935855A4 (en) 2022-09-21
ZA202107453B (en) 2023-10-25
MX2021012674A (es) 2021-11-12
CN117579841A (zh) 2024-02-20
US20230344990A1 (en) 2023-10-26
JP2022527855A (ja) 2022-06-06
US11750799B2 (en) 2023-09-05
KR102660668B1 (ko) 2024-04-26
SG11202110999PA (en) 2021-11-29
JP2023139107A (ja) 2023-10-03
BR112021019675A2 (pt) 2021-12-07
WO2020216246A1 (en) 2020-10-29
CA3135973A1 (en) 2020-10-29
JP7317991B2 (ja) 2023-07-31
AU2020263199B2 (en) 2023-10-19
US20220279169A1 (en) 2022-09-01
US11659164B1 (en) 2023-05-23
CN113711610B (zh) 2024-04-16
EP3935855A1 (en) 2022-01-12
CN113711610A (zh) 2021-11-26

Similar Documents

Publication Publication Date Title
KR102660668B1 (ko) 크로스 컴포넌트 의존성 감소를 위한 방법들
JP7302009B2 (ja) クロスコンポーネントモードの利用可能性に対する制約
JP7418478B2 (ja) クロマ残差スケーリングのためのシンタックス要素
KR102641796B1 (ko) 교차-성분 코딩의 적용가능성에 대한 조건들
JP7460748B2 (ja) クロマ残差スケーリングのシグナリング
JPWO2020216246A5 (ko)
RU2815434C2 (ru) Способы уменьшения межкомпонентной зависимости
RU2817006C2 (ru) Способ определения параметров в кросс-компонентном режиме

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant