KR20210134034A - 서브블록 기반 로컬 조명 보상을 이용한 비디오 인코딩 및 디코딩 방법 및 장치 - Google Patents

서브블록 기반 로컬 조명 보상을 이용한 비디오 인코딩 및 디코딩 방법 및 장치 Download PDF

Info

Publication number
KR20210134034A
KR20210134034A KR1020217032494A KR20217032494A KR20210134034A KR 20210134034 A KR20210134034 A KR 20210134034A KR 1020217032494 A KR1020217032494 A KR 1020217032494A KR 20217032494 A KR20217032494 A KR 20217032494A KR 20210134034 A KR20210134034 A KR 20210134034A
Authority
KR
South Korea
Prior art keywords
block
linear model
model parameter
determining
subblock
Prior art date
Application number
KR1020217032494A
Other languages
English (en)
Inventor
파브리스 어반
탕이 푸아리에
필립페 보데스
Original Assignee
인터디지털 브이씨 홀딩스 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터디지털 브이씨 홀딩스 인코포레이티드 filed Critical 인터디지털 브이씨 홀딩스 인코포레이티드
Publication of KR20210134034A publication Critical patent/KR20210134034A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

상이한 구현들이 설명되며, 특히 이웃하는 샘플에 응답하는 선형 모델에 기초한 비디오 인코딩 및 디코딩을 위한 구현들이 제시된다. 따라서, 픽처에서 인코딩 또는 디코딩되는 블록에 대해, 블록의 현재 서브블록에 대해 개선된 선형 모델 파라미터가 결정되고 블록 인코딩을 위해, 로컬 조명 보상은 개선된 선형 모델을 기초로 현재 서브블록에 대한 선형 모델을 이용한다. 제1 실시예에서, 재구성된 샘플의 수 N은 서브블록에 대한 이용 가능한 데이터와 함께 증가한다. 제2 실시예에서, 부분 선형 모델 파라미터는 서브블록에 대해 결정되고 개선된 선형 모델 파라미터는 부분 선형 모델 파라미터의 가중 합으로부터 유도된다. 제3 실시예에서, 서브블록은 독립적으로 LIC 처리된다.

Description

서브블록 기반 로컬 조명 보상을 이용한 비디오 인코딩 및 디코딩 방법 및 장치
본 실시예 중 적어도 하나는 일반적으로 예를 들어, 비디오 인코딩 또는 디코딩을 위한 방법 또는 장치에 관한 것이고, 보다 구체적으로, 인코딩 또는 디코딩되는 블록에 대한 이웃하는 샘플들에 기초한 로컬 조명 보상을 위한 선형 모델 파라미터를 결정하기 위한 방법 또는 장치에 관한 것이며; 블록은 모션 보상을 위해 병렬로 처리되는 서브블록으로 분할된다.
하나 이상의 구현의 도메인 기술 분야는 일반적으로 비디오 압축과 관련되어 있다. 적어도 일부 실시예들은 HEVC (HEVC는 고효율 비디오 코딩을 지칭하며, "ITU-T H.265 Telecommunication standardization sector of ITU (10/2014), series H: audiovisual and multimedia systems, infrastructure of audiovisual services - coding of moving video, High efficiency video coding, Recommendation ITU-T H.265"에서 설명된 H.265와 MPEG-H Part 2로도 알려져 있음)와 같은 기존 비디오 압축 시스템들 또는 VVC (다용도 비디오 코딩; Versatile Video Coding, JVET; Joint Video Experts Team에서 개발된 새로운 표준임)와 같은 개발 중인 비디오 압축 시스템들과 비교하여 압축 효율성을 개선시키는 것과 관련이 있다.
높은 압축 효율성을 달성하기 위해, 이미지 및 비디오 코딩 방식은 일반적으로 모션 벡터 예측을 포함한 예측을 사용하고 비디오 콘텐츠의 공간적 및 시간적 리던던시(redundancy)를 활용하기 위한 변환을 사용한다. 일반적으로, 인트라(intra) 또는 인터(inter) 예측은 인트라 또는 인터 프레임 상관관계를 활용하는 데 사용되며, 그런 다음 종종 예측 에러 또는 예측 잔차로 표시되는 원래 이미지와 예측된 이미지 간의 차이가 변환되고, 양자화되고 및 엔트로피 코딩된다. 비디오를 재구성하기 위해 압축된 데이터는 엔트로피 코딩, 양자화, 변환 및 예측에 대응하는 역 프로세스들에 의해 디코딩된다.
고압축 기술의 최근 추가는 처리 중인 블록의 주변에 응답하는 선형 모델링을 기초로 하는 예측 모델을 포함한다. 특히, 디코딩 프로세스에서, 처리되는 블록의 공간적 주변에 위치한 샘플에 기초하여 일부 예측 파라미터들이 계산된다. 이러한 공간적 주변은 이미 재구성된 픽처 샘플 및 참조 픽처의 대응하는 샘플을 포함한다. 공간적 주변을 기초로 결정된 예측 파라미터를 사용하는 이러한 예측 모델은 로컬 조명 보상 (LIC; Local Illumination Compensation)에서 구현된다. 또한, 고압축 기술의 다른 접근 방식들은 아핀 모션 보상 (Affine Motion Compensation), 서브블록기반 시간 벡터 예측 (sbTMVP; Subblock-based Temporal Vector Prediction), 양방향 광학 흐름 (BDOF; Bi-directional optical flow), 디코더측 모션 벡터 개선 (DMVR; Decoder-Side Motion Vector Refinement)과 같은 모션 보상을 위한 새로운 도구들을 포함한다. 이러한 도구들 중 일부는 여러 개의 연속 작업에서 복수의 서브블록들에서 블록의 처리를 요구한다. 도구들은 디코딩 프로세스에서 순차적으로 적용된다. 실시간 디코딩 제약에 대처하기 위해, 디코딩 프로세스는 블록과 서브블록이 병렬로 처리되도록 파이프라인된다. 이 파이프라인 디코딩 프로세스는 LIC에서 이용되는 블록의 공간적 주변내의 샘플의 가용성과 관련된 문제를 제기한다. 따라서 로컬 조명 보상을 위한 디코딩 파이프라인을 최적화하는 것이 바람직하다.
<요약>
본 발명의 목적은 선행 기술의 단점들중 적어도 하나를 극복하는 것이다. 이러한 목적에서, 적어도 하나의 실시예의 다른 일반적인 양상에 따르면, 비디오 인코딩을 위한 방법이 제시되며, 픽처에서 인코딩되는 블록에 대해, 공간적으로 이웃하는 재구성된 샘플 및 대응하는 참조 샘플에 기초하여 로컬 조명 보상을 위한 선형 모델 파라미터를 결정하는 단계; 및 결정된 선형 모델 파라미터에 기초한 로컬 조명 보상을 이용하여 블록을 인코딩하는 단계를 포함한다. 블록에 대한 선형 모델 파라미터를 결정하는 단계는 블록의 현재 서브블록에 대한 개선된 선형 모델 파라미터를 결정하는 단계를 더 포함하고 로컬 조명 보상은 블록을 인코딩하기 위해 개선된 선형 모델 파라미터에 기초하여 현재 서브블록에 대한 선형 모델을 이용한다.
적어도 하나의 실시예의 다른 일반적인 양상에 따르면, 비디오 디코딩 방법이 제시되며, 픽처에서 디코딩되는 블록에 대해, 공간적으로 이웃하는 재구성된 샘플 및 대응하는 참조 샘플에 기초하여 로컬 조명 보상을 위한 선형 모델 파라미터를 결정하는 단계; 및 결정된 선형 모델 파라미터에 기초한 로컬 조명 보상을 이용하여 블록을 디코딩하는 단계를 포함한다. 블록에 대한 선형 모델 파라미터를 결정하는 단계는 블록의 현재 서브블록에 대한 개선된 선형 모델 파라미터를 결정하는 단계를 더 포함하고 로컬 조명 보상은 블록을 디코딩하기 위해 개선된 선형 모델 파라미터에 기초하여 현재 서브블록에 대한 선형 모델을 이용한다.
적어도 하나의 실시예의 다른 일반적인 양상에 따르면, 인코딩 방법의 실시예들 중 임의의 하나를 구현하기 위한 수단을 포함하는 비디오 인코딩을 위한 장치가 제시된다.
적어도 하나의 실시예의 다른 일반적인 양상에 따르면, 디코딩 방법의 실시예들 중 임의의 하나를 구현하기 위한 수단을 포함하는 비디오 디코딩을 위한 장치가 제시된다.
적어도 하나의 실시예의 다른 일반적인 양상에 따르면, 하나 이상의 프로세서, 및 적어도 하나의 메모리를 포함하는 비디오 인코딩을 위한 장치가 제공된다. 하나 이상의 프로세서는 인코딩 방법의 실시예 중 어느 하나를 구현하도록 구성된다.
적어도 하나의 실시예의 다른 일반적인 양상에 따르면, 하나 이상의 프로세서, 및 적어도 하나의 메모리를 포함하는 비디오 디코딩을 위한 장치가 제공된다. 하나 이상의 프로세서는 디코딩 방법의 실시예 중 어느 하나를 구현하도록 구성된다.
적어도 하나의 실시예의 다른 일반적인 양상에 따르면, 현재 서브블록에 대한 개선된 선형 모델 파라미터를 결정하는 단계는, 현재 서브블록의 공간적으로 이웃하는 재구성된 샘플 및 대응하는 참조 샘플에 액세스하는 단계; 및 이전에 액세스된 공간적으로 이웃하는 재구성된 샘플 및 블록에 대한 대응하는 참조 샘플에 기초하여 개선된 선형 모델 파라미터를 결정하는 단계를 포함한다. 유리하게, 이웃하는 샘플에 대한 데이터는 그들이 이용 가능해지고 서브블록에 의해 LIC가 수행될 때 이용된다.
이 실시예의 변형에 따르면, 현재 서브블록에 대한 개선된 선형 모델 파라미터를 결정하는 단계는 이전에 액세스된 모든 공간적으로 이웃하는 재구성된 샘플 및 블록에 대한 대응하는 참조 샘플에 기초하여 개선된 선형 모델 파라미터를 결정하는 단계를 포함한다.
이 실시예의 다른 변형에 따르면, 블록에 대한 선형 모델 파라미터를 결정하는 단계는 래스터 스캔(raster-scan) 순서로 반복적으로 블록의 서브블록에 대한 개선된 선형 모델 파라미터를 결정하는 단계를 포함한다.
이 실시예의 다른 변형에 따르면, 현재 서브블록에 대한 개선된 선형 모델 파라미터를 결정하는 단계는 이전에 액세스된 공간적으로 이웃하는 재구성된 샘플 및 현재 서브블록의 샘플에 가장 가까운 대응하는 참조 샘플에 기초하여 개선된 선형 모델 파라미터를 결정하는 단계를 포함한다.
이 실시예의 다른 변형에 따르면, 현재 서브블록의 액세스된 공간적으로 이웃하는 재구성된 샘플 및 대응하는 참조 샘플은 이전에 액세스된 공간적으로 이웃하는 재구성된 샘플 및 블록에 대한 대응하는 참조 샘플의 버퍼에 저장되고; 개선된 선형 모델 파라미터를 결정하는 것은 저장된 샘플을 기초로한다.
이 실시예의 다른 변형에 따르면, 현재 서브블록의 액세스된 공간적으로 이웃하는 재구성된 샘플 및 대응하는 참조 샘플 로부터의 부분 합은 처리되고 블록에 대한 부분 합의 버퍼에 저장되며; 개선된 선형 모델 파라미터를 결정하는 것은 저장된 부분합을 기초로한다.
적어도 하나의 실시예의 다른 일반적인 양상에 따르면, 현재 서브블록에 대한 개선된 선형 모델 파라미터를 결정하는 것은, 공간적으로 이웃하는 재구성된 샘플 및 현재 서브블록에 대한 대응하는 참조 샘플에 기초하여 부분 선형 모델 파라미터를 결정하는 것과; 서브블록에 대해 이전에 결정된 부분 선형 모델 파라미터의 가중 합으로부터 개선된 선형 모델 파라미터를 결정하는 것을 포함한다.
적어도 하나의 실시예의 다른 일반적인 양상에 따르면, 개선된 선형 모델 파라미터는 블록의 서브블록에 대해 독립적으로 결정된다.
적어도 하나의 실시예의 다른 일반적인 양상에 따르면, 재구성된 샘플 및 대응하는 참조 샘플은 블록 위의 샘플의 행 및 블록의 왼쪽의 샘플의 열을 포함하는 L-형상에 대해 상대적으로 같은 위치에 있고, 같은 위치는 모션 보상 순차 처리로부터 발생하는 블록에 대한 모션 보상 정보에 따라 결정된다.
적어도 하나의 실시예의 다른 일반적인 양상에 따르면, 블록에 대한 모션 보상 정보는 모션 예측기를 포함하고, 블록에 대한 모션 예측기는 각 서브블록에 대해 병렬로 모션 보상 정보로 개선되고; 같은 위치는 블록에 대한 모션 보상 정보 대신에 블록에 대한 모션 예측기에 따라 결정된다.
적어도 하나의 실시예의 다른 일반적인 양상에 따르면, 전술한 설명 중 임의의 방법 또는 장치에 따라 생성된 데이터 콘텐츠를 포함하는 비일시적 컴퓨터 판독가능 매체가 제시된다.
적어도 하나의 실시예의 다른 일반적인 양상에 따르면, 전술한 설명 중 임의의 방법 또는 장치에 따라 생성된 비디오 데이터를 포함하는 신호가 제공된다.
본 실시예들 중 하나 이상은 또한 위에서 설명된 방법들 중 임의의 것에 따라 비디오 데이터를 인코딩 또는 디코딩하기 위한 명령어가 저장된 컴퓨터 판독가능 저장 매체를 제공한다. 본 실시예들은 또한 위에서 설명된 방법에 따라 생성된 비트스트림이 저장된 컴퓨터 판독 가능 저장 매체를 제공한다. 또한, 본 실시예들은 위에서 설명된 방법에 따라 생성된 비트스트림을 전송하는 방법 및 장치를 제공한다. 본 실시예들은 또한 설명된 임의의 방법들을 수행하기 위한 명령어를 포함하는 컴퓨터 프로그램 제품을 제공한다.
도 1은 압축된 HEVC 픽처를 표현하기 위한 코딩 트리 유닛 (CTU; Coding Tree Unit) 및 코딩 트리 (CT; Coding Tree) 개념의 예를 도시한다.
도 2는 종래 기술에서 정사각형 및 직사각형 블록에 대한 모션 벡터로 변환된 대응하는 참조 샘플 및 이웃하는 재구성된 샘플로부터 LIC 파라미터의 유도를 도시한다.
도 3 및 도 4는 양방향 예측의 경우 LIC 파라미터의 유도 및 로컬 조명 보상의 예를 도시한다.
도 5는 직사각형 블록에 대한 L형상 이웃하는 샘플의 서브샘플링의 예를 도시한다.
도 6, 7a, 7b 및 8은 각각 서브블록 기반 모션 보상 예측의 예들을 도시한다: 아핀(affine) 모션 보상 예측, 서브블록 기반 시간 벡터 예측; 디코더측 모션 벡터 개선.
도 9는 종래 기술에 따른 파이프라인 서브블록 기반 모션 보상에서 선형 모델을 이용하는 것을 포함하는 예시적인 인코딩 또는 디코딩 방법을 도시한다.
도 10은 적어도 하나의 실시예의 일반적인 양상에 따른 인코딩 또는 디코딩 방법의 예를 도시한다.
도 11은 적어도 하나의 실시예의 일반적인 양상에 따른 파이프라인 서브블록 기반 모션 보상에서 선형 모델을 이용하는 것을 포함하는 예시적인 인코딩 또는 디코딩 방법을 도시한다.
도 12, 13 및 14는 적어도 하나의 실시예의 일반적인 양상에 따른 현재 서브블록 LIC 선형 모델에 대응하는 참조 샘플들의 다양한 예를 도시한다.
도 15는 적어도 하나의 실시예의 일반적인 양상에 따른 인코딩 또는 디코딩 방법의 예를 도시한다.
도 16은 실시예들의 다양한 양상들이 구현될 수 있는 비디오 인코더의 실시예의 블록도를 도시한다.
도 17은 실시예들의 다양한 양상들이 구현될 수 있는 비디오 인코더의 실시예의 블록도를 도시한다.
도 18은 실시예들의 다양한 양상들이 구현될 수 있는 예시 장치의 블록도를 도시한다.
명료함을 위해 전형적인 인코딩 및/또는 디코딩 디바이스들에서 발견되는 많은 다른 요소들을 제거하면서 본 원리의 명확한 이해와 관련된 요소들을 예시하기 위해 도면 및 설명이 단순화되었음을 이해해야한다. 제1 및 제2라는 용어가 다양한 요소들을 설명하기 위해 본 명세서에서 이용될 수 있지만, 이러한 요소들은 이러한 용어에 의해 제한되어서는 안 된다는 것이 이해될 것이다. 이러한 용어들은 한 요소를 다른 요소와 구별하는 데만 사용된다.
픽처의 인코딩/디코딩과 관련하여 다양한 실시예들이 설명된다. 그것들은 슬라이스 또는 타일과 같은 픽처의 일부 또는 픽처의 전체 시퀀스를 인코딩/디코딩하는 데 적용될 수 있다.
다양한 방법이 위에서 설명되었으며, 방법의 각각은 설명된 방법을 달성하기 위한 하나 이상의 단계 또는 동작을 포함한다. 방법의 적절한 작동을 위해 단계들의 또는 동작들의 특정한 순서가 요구되지 않는 한, 특정한 단계들 및/또는 동작들의 순서 및/또는 이용은 변경되거나 결합될 수 있다.
적어도 일부 실시예들은 파이프라인 아키텍처에서 병렬로 처리되는 서브블록당 LIC 파라미터를 유도하고 적용하는 방법에 관한 것이다.
섹션 1에서는 조명 보상을 위한 선형 모델 파라미터의 유도에 관한 일부 제한 사항들이 개시된다.
섹션 2에서는 파이프라인 프로세스와 호환되는 조명 보상을 위한 선형 모델 파라미터를 유도하기 위한 수정된 방법의 여러 실시예가 개시된다.
섹션 3에서는 추가 정보 및 일반적인 실시예들이 개시된다.
1 LIC에 대한 선형 모델 파라미터 유도에 관한 제한 사항
1.1 LIC 파라미터의 유도 소개
선형 모델을 기초로 하는 로컬 조명 보상 (LIC; Local Illumination Compensation) 도구는 스케일링 계수 a와 오프셋 b를 이용하여, 인코딩되는 중인 픽처와 그것의 참조 픽처 간의 조명 변화를 보상하는 데 이용된다. 이것은 각 인터-모드 코딩된 코딩 유닛(CU)에 대해 적응적으로 활성화 또는 비활성화된다. LIC가 CU에 적용될 때, 현재 CU의 이웃하는 샘플들과 그들의 대응하는 참조 샘플들을 이용하여 파라미터 a 및 b를 유도하기 위해 평균 제곱 오차(MSE) 방법이 사용된다. 보다 구체적으로, 현재 CU(도 2의 현재 blk)의 이웃하는 샘플들과 현재 CU(도 2의 현재 blk)에 대한 모션 정보 MV에 의해 참조 픽처에서 식별된 대응하는 참조 CU(도 2의 참조 blk)의 이웃하는 샘플들이 이용된다. LIC 파라미터는 현재 CU의 이웃하는 샘플들과 선형으로 수정된 대응하는 참조 샘플들 간의 오차를 최소화한다. 예를 들어, LIC 파라미터는 현재 CU(도 2의 오른쪽에 있는 이웃하는 재구성된 샘플들에 대한 액세스)의 상단 및 왼쪽 이웃하는 재구성된 샘플들 rec_cur(r)과 인터 예측(도 2의 왼쪽에 있는 추가 참조 샘플들에 대한 액세스)에 의해 결정된 대응 참조 샘플들의 상단 및 왼쪽 이웃하는 재구성된 샘플들 rec_ref(s)사이의 평균 제곱 오차 차이(MSE)를 최소화하며, s = r+MV, MV는 인터 예측으로부터의 모션 벡터이다:
Figure pct00001
(a,b)의 값은 최소 제곱 최소화(식.2)를 이용하여 얻어진다:
Figure pct00002
현재 CU에 대한 LIC의 활성화 또는 비활성화는 LIC 플래그라고 불리는 현재 CU와 연관된 플래그에 의존한다.
인코더 또는 디코더에 의해 현재 CU에 대한 LIC 파라미터가 얻어지면, 그 후 현재 CU의 예측 pred(current_block)는 다음과 같이 구성된다(단방향 예측 케이스):
Figure pct00003
여기서 current_block은 예측할 현재 블록이고, pred(current_block)는 현재 블록의 예측이며, ref_block은 정규 모션 보상 MV 프로세스로 구축되고 현재 블록의 시간 예측에 이용되는 참조 블록이다.
N의 값, 유도에 이용되는 참조 샘플의 수는 식.2의 합 항들이 허용된 최대 정수 저장 수 값 미만(예를 들어, N < 216)으로 유지되거나 직사각형 블록에 대처하도록 조정된다. 따라서, 참조 샘플은 도 5에 도시된 바와 같이 LIC 파라미터(a,b)를 유도하기 위해 이용되기 전에 (단계H 또는 단계V의 서브샘플링 단계로, 수평 및/또는 수직으로)서브샘플링된다.
이웃하는 재구성된 샘플의 세트와 참조 샘플의 세트(도 3의 그레이 샘플 참조)는 동일한 수 및 동일한 패턴을 갖는다. 다음에서, 우리는 현재 블록의 왼쪽에 위치한 이웃하는 재구성된 세트(또는 참조 샘플의 세트)를 "왼쪽 샘플"로 표시하고 현재 블록의 상단에 위치한 이웃하는 재구성된 세트(또는 참조 샘플의 세트)를 "상단 샘플"이라고 표시한다. "왼쪽 샘플" 과 "상단 샘플" 세트들 중 하나를 "샘플 세트"로 표시한다. 바람직하게는 "샘플 세트"는 블록의 왼쪽 또는 상단 이웃 라인에 속한다. 일반적으로 "L 형상"이라는 용어는, 도 2에서 회색으로 도시된 바와 같이, 현재 블록 위에 있는 행(상단 이웃 라인) 상에 위치한 샘플과 현재 블록의 왼쪽에 있는 열(왼쪽 이웃 라인) 상에 위치한 샘플로 구성된 세트를 나타낸다.
양방향 예측의 경우, 로컬 조명 보상이 두 참조 픽처에 모두 적응된다. 제1 변형(방법-a라고 함)에 따르면, LIC 프로세스는 두 번 적용되며, 첫 번째는 참조 0 예측(LIST-0)에, 두 번째는 참조 1 예측(LIST_1)에 적용된다. 도 3은 제1 변형에 따른 참조 0 예측(LIST-0) 및 참조 1 예측(LIST_1) 각각에 대한 LIC 파라미터들의 유도 및 이들의 적용을 도시한다. 그런 다음 기본 가중치(P = (P0 + P1 + 1)>>1) 또는 양방향 예측 가중 평균(BPWA): P = (g0.P0 + g1.P1 + (1<<(s-1)))>>s)을 이용하여 두 예측들은 평소와 같이 함께 결합된다.
제2 변형(방법-b라고 함)에 따르면 양방향 예측의 경우, 정규 예측이 먼저 결합된 다음 하나의 단일 LIC 프로세스가 적용된다. 도 2는 제2 변형에 따른 LIST-0 및 LIST_1로부터의 결합된 예측을 위한 LIC 파라미터들의 유도 및 그들의 적용을 도시한다.
또 다른 제2 변형(방법-b를 기초로 하는 방법-c라고 함)에 따르면 양방향 예측의 경우 정규 예측이 먼저 결합된 다음 LIC-0 및 LIC-1 파라미터가 에러의 최소화로부터 직접 유도된다:
Figure pct00004
1.2 인터 예측에서 파이프라인 서브블록 처리
VVC의 최신 개발에서는 인터 CU 내에서 일부 예측 프로세스들이 서브블록당 수행되어, CU를 더 작은 예측 유닛으로 더 분할하고, 더 큰 CU 상에서 변환을 계산한다. 이러한 도구는 데이터 종속성 제약을 증가시키는데 왜냐하면 실시간 제약에 대처하기 위해 서브블록들이 병렬로 디코딩되고 따라서 서브블록들의 이웃 픽셀들이 모두 이용 가능한 것은 아니기 때문이다. 예를 들어, 현재 픽처의 이웃 픽셀들은 이용 가능하지 않다. 이들은 인코딩/디코딩 중이다. 참조 픽처의 이웃 픽셀은 이용 가능하지만 참조 블록을 식별하기 위한 모션 벡터는 아직 알려져 있지 않다(DMVR, sbTMVP의 경우). 또한, 일부 구현들에서, 메모리 액세스는 주어진 서브블록의 프로세스 동안에만 이웃 픽셀에 액세스하는 것을 제한하는 병목 현상이다. 이러한 도구들 중 일부는 완전성을 위해 이후에 간략하게 설명된다.
1.2.1 아핀 모션 보상 예측 (4x4 서브블록)
HEVC에서, 병진 모션 모델만이 모션 보상 예측(MCP; Motion Compensation Prediction)을 위해 적용된다. 현실 세계에는 많은 종류의 모션, 예를 들어, 확대/축소, 회전, 원근감 모션 및 기타 불규칙한 모션이 있다. 반면에 VVC의 최신 개발에서는, 블록 기반 아핀 변환 모션 보상 예측이 적용된다. 블록의 아핀 모션 필드는 2개의 제어점(4-파라미터) 또는 3개의 제어점(6-파라미터)의 모션 벡터(CPMV)로 설명된다. 도 6에 도시된 바와 같이, 현재 16x16 블록의 각 4x4 휘도 서브블록마다 서브블록 기반 아핀 변환 예측이 적용된다.
1.2.2 서브블록 기반 시간 모션 벡터 예측(SbTMVP)(8x8 서브블록)
VVC의 최신 개발은 또한 서브블록 기반 시간 모션 벡터 예측(SbTMVP) 방법을 지원한다. HEVC의 시간 모션 벡터 예측(TMVP)과 유사하게, SbTMVP는 현재 픽처의 CU에 대한 모션 벡터 예측 및 병합 모드를 개선하기 위해 병치된 픽처의 모션 필드를 이용한다. SbTMVP는 서브CU 수준에서 모션을 예측한다. 게다가, SbTMVP는 병치된 픽처로부터 시간 모션 정보를 가져오기 전에 모션 시프트를 적용하는데, 여기서 모션 시프트는 현재 CU의 공간적으로 이웃하는 블록들 중 하나로부터의 모션 벡터로부터 획득된다. 도 7a는 SbTMVP에 의해 이용되는 공간적으로 이웃하는 블록 A0, A1, B0, B1을 도시하며 도 7b는 공간적 이웃으로부터 모션 시프트를 적용하고 대응하는 병치된 서브CU들로부터 모션 정보를 스케일링함으로써 서브CU 모션 필드를 유도하는 것을 도시한다. SbTMVP에서 이용되는 서브CU 크기는 8x8로 고정되어 있으며, 아핀 병합 모드에서와 같이 SbTMVP 모드는 너비와 높이가 모두 8 이상인 CU에만 적용가능하다.
1.2.3 양방향 광학 흐름(BDOF)(4x4 서브블록)
VVC의 최신 개발에서는, 4x4 서브블록 수준에서 CU의 양방향 예측을 개선하기 위해 이전에 BIO라고 지칭되던 양방향 광학 흐름 (BDOF; bi-directional optical flow) 도구가 이용된다. BDOF 모드는 물체의 모션이 부드럽다고 가정하는 광학 흐름 개념을 기초로 한다. 각각의 4x4 서브블록에 대해, L0 및 L1 예측 샘플 간의 차이를 최소화함으로써 모션 개선 (
Figure pct00005
)가 계산된다. 그런 다음 4x4 서브블록에서 양방향 예측 샘플을 조정하기 위해 모션 개선이 이용된다.
1.2.4 DMVR (16x16 서브블록)
VVC의 최신 개발에서 디코더측 모션 벡터 개선(DMVR; Decoder-side Motion Vector Refinement)은 양방향 매칭 예측을 이용하여 추가로 개선될 수 있는 초기에 시그널링된 두 개의 모션 벡터들(MV; motion vector)을 갖는 병합 블록에 대한 양방향 예측 기술이다. 양방향 예측 동작에서는 참조 픽처 리스트 L0 및 참조 픽처 리스트 L1에서 초기 MV들 주위에서 개선된 MV가 검색된다. 각 16x16(최대 크기; 만약 블록이 더 작으면, 블록은 하나의 서브블록만 포함함) 서브블록에 대해, 초기 MV 주위의 각 MV 후보를 기초로 하는 2개의 참조 블록들 간의 SAD가 계산된다. SAD가 가장 낮은 MV 후보는 개선된 MV가 되어 양방향 예측 신호를 생성하는 데 이용된다.
1.2.5 파이프라인 서브블록 처리
위에 제시된 바와 같이, 인터 예측을 위한 일부 도구들은 여러 개의 연속적인 동작들로 복수의 서브블록들에서 현재 블록을 처리해야 할 수 있다. 실시간 제약에 대처하기 위해, 복수의 서브블록들이 병렬로 처리되도록 연속적인 동작들이 파이프라인화된다. 도 9는 종래 기술에 따른 파이프라인된 서브블록 모션 보상에서 선형 모델을 이용하는 것을 포함하는 예시적인 인코딩 또는 디코딩 방법을 도시한다. 가상 파이프라인 데이터 유닛(VPDU; Virtual pipeline data units)는 픽처에서 겹치지 않는 유닛으로 정의된다. 하드웨어 디코더에서, 연속적인 VPDU들은 동시에 복수의 파이프라인 스테이지들에서 처리된다. VPDU 크기는 대부분의 파이프라인 스테이지들에서 버퍼 크기에 대략 비례하므로 VPDU 크기를 작게 유지하는 것이 중요하다. VPDU 크기의 일반적인 예는 64x64 루마 샘플이다. VPDU 크기를 64x64 루마 샘플로 유지하기 위해 규범적 파티션 제한(구문 시그널링 수정 포함)이 적용된다. 제1 단계 Calc MV에서, 블록(VPDU 유닛)에 대한 초기 모션 정보(블록에 대한 모션 벡터와 같은)가 결정된다. 인코딩 방법에서, 초기 모션 정보는 모션 추정을 통해 얻어진다. 디코딩 방법에서, 초기 모션 정보는 인코딩된 비트스트림으로부터 얻어진다. 그런 다음 파이프라인화된 동작들에서 각 서브블록에 대해 초기 모션 정보가 개선된다. 예를 들어, 32x32 블록은 16x16 서브블록들로 분할된다. 현재 서브블록에 대한 데이터가 액세스된다. 그런 다음, 예를 들어 단계 DMVR에서 서브블록 처리가 적용되어 현재 서브블록에 대한 개선된 모션 정보가 생성된다. 병렬로(도 9의 제2 라인), 후속 서브블록에 대한 데이터는 현재 서브블록에 대해 이전에 이용된 것과 동일한 하드웨어 리소스(메모리 액세스)를 이용하여 액세스된다. 그런 다음 모션 보상으로부터의 예측은 단계 MC에서 결정된다. 병렬로, 서브블록 처리가 적용되어 (도 9의 제2 라인의) 후속 서브블록에 대한 개선된 모션 정보가 생성된다.
LIC 파라미터의 유도는 서브블록에 대한 참조 샘플을 결정하기 위해 개선된 모션 정보를 이용하기 때문에 파이프라인은 블록에 대한 LIC 파라미터를 계산하는 데 필요한 샘플의 가용성에 제약을 가한다.
따라서, 도 9에 도시된 종래 기술 접근법에 따르면, 후속 서브블록에 대한 데이터의 비가용성으로 인해 LIC 파라미터의 유도가 파이프라인에서 병렬로 처리될 수 없기 때문에, LIC 유도는 블록의 모든 서브블록이 모션 보상된 이후로 연기된다. 블록에 대한 병렬 계산이 손상되고 파이프라인에 지연이 도입된다.
다른 종래 기술 접근법에 따르면, LIC는 모션 보상을 위해 서브블록이 병렬로 처리되는 경우 비활성화된다. 이 접근 방식은 인코딩/디코딩 프로세스의 성능 문제를 제기한다.
따라서, 적어도 하나의 실시예는 블록의 서브블록에 대한 모션 정보가 이용 가능해지면 개선된 LIC 파라미터의 반복적인 유도 및 이용 가능서브블록당 결과적인 선형 모델의 적용을 통해 선형 모델 처리를 개선한다. 이것은 이웃하는 재구성된 샘플들과 대응하는 참조 샘플들의 수를 연속적으로 증가시킴으로써, 서브블록의 이웃하는 샘플들로부터 유도된 부분 LIC 파라미터들로부터 LIC 파라미터들을 유도함으로써, 각 서브블록에 대한 LIC 파라미터를 독릭적으로 유도함으로써 또는 다음의 섹션에서 상세히 설명될 초기 결정으로부터 모션 정보를 이용함으로써 달성될 수 있다.
2 서브블록에 의해 LIC 파라미터를 개선하고 적용하는 단계를 포함하는 방법의 적어도 하나의 실시예
섹션 1에 제시된 제한 사항에 대처하기 위해, 적어도 하나의 실시예의 일반적인 양상은 서브블록에 의해 LIC 파라미터를 개선 및 적용함으로써 파이프라인화된 구현에서 선형 모델의 정확도를 개선하는 것을 목표로 한다.
2.1 서브블록당 LIC 파라미터를 개선 및 적용하는 것을 포함하는 적어도 하나의 실시예의 일반적인 양상.
도 10은 적어도 하나의 실시예의 일반적인 양상에 따른 인코딩 또는 디코딩 방법의 예를 도시한다. 도 10의 방법은 파이프라인화된 병렬 처리로부터 발행된 요구되는 데이터의 가용성에 따른 선형 모델 파라미터 유도에 이용되는 이웃하는 재구성된 샘플 및 대응하는 참조 샘플의 적응을 포함한다.
인코딩 또는 디코딩 방법 (10)은 공간적으로 이웃하는 재구성된 샘플 및 인코딩 또는 디코딩되는 블록의 대응하는 참조 샘플에 기초하여 선형 모델 파라미터를 결정한다. 그런 다음 선형 모델이 인코딩 또는 디코딩 방법에 사용된다. 이러한 선형 모델 파라미터는 예를 들어 식 2 및 3에 정의된 바와 같은 LIC 모델의 스케일링 인자 a 및 오프셋 b를 포함한다. 블록은 도 11에 도시된 바와 같이 파이프라인에서 모션 보상에 의한 인터 예측을 위해 병렬로 처리되는 서브블록으로 분할된다. 비제한적인 예에 따르면, 32x32 블록은 도 12 내지 14에 도시된 바와 같이 4개의 16X16 서브블록으로 분할된다. 서브블록은 처리 순서에 따라 1에서 4까지 정렬된다. 비제한적인 예에 따르면, 처리 순서는 도 12 내지 도 14에 나타낸 바와 같은 래스터 스캔 순서이다. 비제한적인 예에 따르면, 처리 순서는 블록 내의 서브블록의 위치로부터 결정된다. 당연히, 본 원리는 다른 블록 크기, 서브블록 파티션 또는 서브블록의 순서에 대해 쉽게 추론될 수 있을 것이다.
제1 단계(11)에서, 인코딩 또는 디코딩 방법(10)은 현재 블록(도 12의 현재 CU)의 제1 서브블록(도 12의 1)에 대한 선형 모델 파라미터를 결정한다. 서브블록 기반 모션 보상의 결과인 이용 가능한 데이터에 기초하여, 제1 서브블록의 공간적으로 이웃하는 재구성된 샘플과 참조 서브블록(16x16(1)의 참조 블록)의 공간적으로 이웃하는 샘플이 액세스된다. 참조 서브블록은 모션 보상 정보(MV)에 따른 참조 픽처에서 제1 서브블록과 같은 위치에 있는 서브블록이다. 간결함을 위해, 서브블록/블록의 공간적으로 이웃하는 재구성된 샘플 및 참조 서브블록/블록의 공간적으로 이웃하는 샘플은 본 개시에서 서브블록/블록의 이웃하는 샘플로 지칭될 수 있다. 선형 모델 파라미터는 예를 들어 N이 제1 서브블록의 공간적으로 이웃하는 재구성된 샘플의 수인 식 2에 따라 결정된다. 유리하게는, 제1 서브블록에 대한 상단 샘플 및 왼쪽 샘플 모두가 이용 가능하다. 단계 13에서, 제1 서브블록에 대한 LIC 예측을 얻기 위해 식 3에서와 같이 제1 서브블록 LIC 파라미터에 기초한 선형 모델이 참조 서브블록에 적용된다. 그런 다음 예측은 인코딩 또는 디코딩 방법에 이용된다.
제1 서브블록의 처리와 병렬로, 제2 서브블록(도 12의 2)이 처리된다. 단계 12에서, 제2 서브블록에 대한 개선된 선형 모델 파라미터는 제1 및 제2 서브블록의 서브블록 기반 모션 보상으로부터 생성된 새롭게 이용 가능한 데이터에 기초하여 결정된다. 도 12에 도시된 바와 같이, 현재 블록의 오른쪽 상단 샘플은 현재 서브블록 및 대응 참조 서브블록(16x16(2)의 참조 블록)에 대해 액세스 가능하다. 섹션 2.2.1 및 2.2.2의 예와 함께 후자에 자세히 설명된 바와 같이, 공간적으로 이웃하는 재구성된 샘플과 제1 서브블록 또는 제2 서브블록의 대응하는 참조 샘플의 임의의 조합은 제2 서브블록에 대한 개선된 LIC 파라미터를 결정하는 데 이용된다. 그 다음, 단계 13이 제2 서브블록에 대해 반복된다. 그 후 개선된 LIC 파라미터에 기초한 선형 모델은 제2 서브블록에 대한 LIC 예측을 획득하기 위해 식 3에서와 같이 참조 서브블록에 적용된다. 그 다음 LIC 예측은 인코딩 또는 디코딩 방법에 이용된다.
다시, 제1 서브블록 및 제2 서브블록(도 11의 파이프라인의 제3 라인)의 처리와 병렬로, 제3 서브블록(도 12의 3)이 처리된다. 반복되는 단계 12에서, 제3 서브블록에 대한 선형 모델 파라미터는 제1, 제2 및 제3 서브블록의 서브블록 기반 모션 보상으로부터 생성된 새롭게 이용 가능한 데이터에 기초하여 결정된다. 도 12에 도시된 바와 같이, 현재 블록의 왼쪽 하단 샘플은 현재 서브블록 및 대응하는 참조 서브블록(16x16(3)의 참조 블록)에 대해 액세스 가능하다. 4개의 서브블록 파티션의 경우, 제1, 제2와 제3 서브블록 모두에 이웃하는 샘플들은 전체 블록의 이웃하는 샘플을 정의한다. 다시 말하지만, 제1, 제2 및 제3 서브블록의 이웃하는 샘플들의 임의의 조합은 제3 서브블록에 대한 개선된 LIC 파라미터를 결정하는 데 이용된다. 그런 다음, 제3 서브블록에 대해 단계 13이 반복된다: 제3 서브블록에 대한 LIC 예측을 얻기 위해 개선된 LIC 파라미터에 기초한 선형 모델이 식 3에서와 같이 참조 서브블록에 적용된다. LIC 예측은 인코딩 또는 디코딩 방법에 이용된다.
마지막으로, 이전 서브블록들의 처리와 병렬로, 제4 서브블록(도 12의 4)이 처리된다. 반복되는 단계(12)에서, 제4 서브블록에 대한 개선된 선형 모델 파라미터는 이전에 이용 가능한 이웃하는 샘플의 임의의 조합에 기초하여 결정된다. 도 12에 도시된 바와 같이, 이 단계에서 추가적인 이웃하는 샘플은 이용 가능하지 않다. 그 다음, 제4 서브블록에 대해 단계 13이 반복된다: 개선된 LIC 파라미터에 기초한 선형 모델이 제4 서브블록에 대한 LIC 예측을 얻기 위해 제4 서브블록의 참조 서브블록에 적용된다. 그 후 LIC 예측은 인코딩 또는 디코딩 방법에 이용된다.
따라서, 블록에 대한 선형 모델 파라미터는 블록의 현재 서브블록에 대한 개선된 선형 모델 파라미터를 결정하고 현재 서브블록에 대한 개선된 선형 모델 파라미터에 기초하여 현재 서브블록에 대한 조명 보상 예측을 결정함으로써 결정된다. 유리하게는, 적어도 하나의 실시예의 일반적인 양상에 따른 LIC 유도 및 적용은 파이프라인화된 서브블록 기반 모션 보상과 쉽게 호환 가능하다.
도 11은 적어도 하나의 실시예의 일반적인 양상에 따른 파이프라인화된 서브블록 기반 모션 보상에서 선형 모델을 이용하는 것을 포함하는 예시적인 인코딩 또는 디코딩 방법을 도시한다. 도 11에 도시된 바와 같이, LIC(선형 모델 유도 및 선형 모델 적용 포함)는 서브블록당 병렬로 처리된다.
더 자세한 예시적인 실시예들이 이제 설명된다.
2.2 이용 가능한 데이터로 LIC 파라미터를 연속적으로 개선하는 것을 포함하는 적어도 하나의 실시예
이웃하는 샘플 또는 모션 정보는 전체 블록에 대한 LIC 파라미터를 한 번에 계산하는 데 모두 이용 가능하진 않지만 서브블록마다 계산하는 데는 이용 가능하다.
다음 방법에서, LIC 파라미터는 제1 서브블록에 대해 계산되고, 그 후 데이터가 이용가능할 때, 즉, 파이프라인에서 후속 서브블록이 상호 예측을 위해 처리될 때, 후속 서브블록을 위해 대해 개선된다.
제1 실시예에 따르면, 이웃하는 샘플들은 메모리에서 액세스되는 현재 서브블록에 대한 것이고 그들이 이용 가능하게 될 때 블록에 대한 LIC 샘플의 버퍼에 저장된다. 그런 다음 저장된 샘플들은 LIC 파라미터를 계산하기 위해 이용된다. 서브블록 위치를 알고 이용 가능한 이웃하는 샘플을 추론하는 것은 즉각적이다.
LIC 파라미터 a 및 b, 각각 스케일링 인자 및 오프셋은 위에 정의된 식 2를 이용하여 계산되지만, 서브블록 i에 대해 이용 가능한 이웃하는 샘플의 서브세트를 이용한다.
Figure pct00006
2.2.1 래스터-스캔(raster-scan) 순서
제1 실시예의 특정 변형에 따르면, 각 서브블록을 계산할 때 이웃하는 샘플이 이용 가능하고, LIC 파라미터는 모든 이용 가능한 샘플로 계산될 수 있다. 이것은 예를 들어, 서브블록의 제2 행에 대해, 위의 모든 이웃 샘플이 이용 가능하고 도 12에 도시된 바와 같이 제2, 제3 및 제4 서브블록에 대한 개선된 LIC 파라미터를 결정하는 데 이용되는 것을 의미한다. 즉, LIC 파라미터 유도에 이용되는 샘플의 수는 블록의 이용 가능한 이웃 데이터에 따라 연속적으로 증가한다.
2.2.2 부분 모델 버퍼를 이용하는 위치 종속 방법
제1 실시예의 다른 특정 변형에 따르면, 이웃하는 샘플은 위와 같이 각 서브블록을 계산할 때 이용 가능하지만, LIC 파라미터는 오직 가장 가까운 이용 가능한 샘플로만 계산된다. 이것은 예를 들어, 서브블록의 제2 행에 대해, 위의 모든 이웃 샘플이 이용되는 것이 아니라, 도 13에 도시된 바와 같이 바로 위에 있는 샘플들(예를 들어, 왼쪽 하단 서브블록 3에 대한 오른쪽 상단 픽셀 제외)만 이용됨을 의미한다.
2.2.3 부분합이 있는 최소 실시예
제1 실시예의 다른 특정 변형에 따르면, 버퍼에 이웃하는 샘플을 저장하는 대신, 모델에 대한 부분 합 (
Figure pct00007
이 버퍼에 저장된다. 감소된 고정된 수의 값을 저장하면 메모리 공간이 향상되고 부분 합계는 각 서브블록 LIC 프로세스에 대해 다시 계산되지 않는다.
예를 들어 j는 상단 또는 왼쪽 이웃이고, k는 서브블록 인덱스인 경우, 현재 서브블록의 오직 상단 이웃들만 또는 현재 서브블록의 오직 왼쪽 이웃들만과 같은 최소 부분 합이 저장될 수 있다:
Figure pct00008
이 변형에 따르면, 서브블록 너비 또는 서브블록 높이에 대응하는 가장 작은 크기의 부분 합들이 저장된다. 즉, 부분합은 더 이상 분할될 수 없으며 덧셈에 의한 부분합의 모든 조합은 선형 모델 파라미터를 결정하기 위해 가능하다.
대안적으로, 제1 실시예의 다른 특정 변형에 따르면, 이전 부분 합이 이미 집계된 경우 더 적은 부분 합이 저장된다. 예를 들어, 제1 서브블록에 대한 부분 합은 제1 서브블록(왼쪽 상단)에 대해 집계되고 제2 및 제3 서브블록에 재사용될 수 있다. 즉, 이러한 더 적은 부분 합은 분할될 수 있지만, 더 세분성을 유지하는 것은 유용하지 않으므로 그들은 이미 사전 결합되어 있다.
제1 실시예의 또 다른 특정 변형에서, 다른 부분 데이터가 저장된다. 이 변형은 모델이 최소 제곱 최적화로부터 발행되지 않은 경우 특히 유리하다. 저장된 부분 데이터는 상이하며, 그들은 모델에 의존하기 때문이다. 예를 들어 부분 데이터는 다음과 같을 수 있다.
Figure pct00009
2.3 하위 모델을 결합하는 것을 포함하는 적어도 하나의 실시예
제2 실시예에 따르면, LIC 파라미터를 유도하기 위한 이웃하는 샘플 또는 부분 합을 저장하는 대신에, 부분 LIC 파라미터가 유도되고 저장된다(
Figure pct00010
Figure pct00011
).
예를 들어, 제1 서브블록 - 왼쪽 상단(1) -의 파라미터 는 (
Figure pct00012
Figure pct00013
)로 저장된다. 제2 서브블록 - 오른쪽 상단(2) -의 파라미터는 다음과 같이 계산된다(정규 방정식; 시프트로 구현된 정수 나누기).
Figure pct00014
Figure pct00015
Figure pct00016
는 제2 서브블록의 상단 이웃들로부터만 계산된 부분 모델이다. 이것은 2의 거듭제곱이 아닐 수 있는 샘플
Figure pct00017
의 수로 나누는 것을 피하는 이점이 있다.
게다가, 이것은 LIC 파라미터 개선에서 현재 서브블록에 가장 가까운 샘플에 더 많은 가중치를 부여하여 예측 정확도를 향상시킨다.
2.4 개선된 선형 모델이 각 서브블록에 대해 독립적으로 결정되는 적어도 하나의 실시예
제3 실시예에 따르면, 복수의 부분 합 또는 부분 모델을 이용하는 대신에, 도 14에 도시된 바와 같이 현재 서브-블록에 대해 이용 가능한 이웃하는 샘플들만이 현재 서브-블록에 대한 LIC 파라미터를 결정하기 위해 이용된다. 다시 말하지만, 픽셀의 수는 유리하게 직접적으로 2의 거듭제곱이며, 이는 후속 분할을 단순화한다(2의 거듭제곱에 의한 분할은 더 간단한 비트 시프트에 의해 대체됨). 4개의 서브블록 파티션의 경우, 제1 서브블록 LIC 파라미터는 위의 행 이웃하는 샘플들의 왼쪽 샘플들과 왼쪽 열 이웃하는 샘플들의 상단 샘플들로부터 유도된다. 제2 서브블록 LIC 파라미터는 위의 행 이웃하는 샘플들의 오른쪽 샘플들로부터 유도되고, 제3 서브블록 LIC 파라미터는 왼쪽 열 이웃하는 샘플들의 하단 샘플들로부터 유도되며, LIC는 제4 블록에 대해 비활성화된다.
2.5 초기 모션 계산으로부터 모션 정보를 이용하는 것을 포함하는 적어도 하나의 실시예
데이터 의존성 문제를 방지하기 위해, LIC 파라미터는 또한 도 9의 파이프라인화된 프로세스에 도시된 바와 같이 서브블록 개선 프로세스 전에 계산될 수도 있다. 이웃하는 참조 픽셀들을 얻기 위해 실제 모션 벡터(예를 들어, 도 8의 MV0' 및 MV1') 대신 모션 벡터 예측기(예를 들어, DMVR의 경우 도 8의 MV0 및 MV1)가 이용된다. 따라서, LIC 파라미터는 서브블록 처리 이전에 계산될 수 있고, LIC는 도 15 도시된 바와 같이 각 서브블록에 대해 동일한 파라미터로 서브블록마다 적용될 수 있다.
3 추가 실시예 및 정보
본 출원은 도구, 기능, 실시예, 모델, 접근 방식 등을 포함하는 다양한 양상을 설명한다. 이러한 양상들의 대부분은 구체적으로 설명되고 적어도 개별 특성을 보여주기 위해 제한적으로 들릴 수 있는 방식으로 종종 설명된다. 그러나 이는 설명을 명확하게 하기 위한 것이며 이러한 양상들의 적용 또는 범위를 제한하지 않는다. 실제로, 모든 상이한 양상들은 추가적인 양상들을 제공하기 위해 결합될 수 있고 상호 교환될 수 있다. 또한, 양상들은 이전 출원에 설명된 양상들과 결합되고 상호 교환될 수 있다.
본 출원에서 설명되고 고려되는 양상들은 다양한 형태들로 구현될 수 있다. 아래의 도 16, 17 및 18은 일부 실시예들을 제공하지만, 다른 실시예들이 고려되고 도 16, 17 및 18의 논의는 구현의 폭을 제한하지 않는다. 양상들 중 적어도 하나는 일반적으로 비디오 인코딩 및 디코딩에 관한 것이고, 적어도 하나의 다른 양상은 일반적으로 생성되거나 인코딩된 비트스트림을 전송하는 것과 관련된다. 이들 및 다른 양상들은 방법, 장치, 설명된 방법들 중 임의의 방법에 따라 비디오 데이터를 인코딩 또는 디코딩하기 위한 명령어를 저장한 컴퓨터 판독가능 저장 매체, 및/또는 설명된 방법들 중 임의에 따라 생성된 비트스트림이 저장된 컴퓨터 판독가능 저장 매체로서 구현될 수 있다.
본 출원에서, "재구성된" 및 "디코딩된"이라는 용어는 혼용될 수 있고, 용어 "픽셀" 및 "샘플"은 혼용될 수 있으며, 용어 "이미지", "픽처" 및 "프레임"은 혼용될 수 있다. 일반적으로, "재구성된"이라는 용어는 인코더 측에서 이용되는 반면 "디코딩된"은 디코더 측에서 이용되나 반드시 그런 것은 아니다.
다양한 방법들이 본 명세서에서 설명되고, 방법들 각각은 설명된 방법을 달성하기 위한 하나 이상의 단계 또는 동작을 포함한다. 방법의 적절한 작동을 위해 단계들 도는 동작들의 특정 순서가 필요하지 않는 한, 특정 단계들 및/또는 동작들의 순서 및/또는 이용은 수정되거나 결합될 수 있다.
본 출원에 설명된 다양한 방법들 및 다른 양상들은 도 16 및 도 17에 도시된 바와 같은 비디오 인코더(100) 및 디코더(200)의 모듈들, 예를 들어, 모션 보상(170, 275), 모션 추정(175), 엔트로피 코딩, 인트라(160,260) 및/또는 디코딩 모듈(145, 230)을 수정하는 데 이용될 수 있다. 또한, 현재 양상들은 VVC 또는 HEVC에 제한되지 않으며, 예를 들어 기존에 존재하거나 미래에 개발될 여부에 관계없이 다른 표준들 및 권장 사항들에, 및 이러한 임의의 표준들 및 권장 사항들의 확장(VVC 및 HEVC)들에 적용될 수 있다. 달리 명시되지 않거나 기술적으로 배제되지 않는 한, 본 출원에 기재된 양상들은 개별적으로 또는 조합하여 이용될 수 있다.
예를 들어, 본 출원에서는 다양한 수치 값들이 이용된다. 특정 값들은 예시를 위한 목적이며 설명된 양상들은 이러한 특정 값으로 제한되지 않는다.
도 16은 인코더(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)에 저장된다.
도 17은 비디오 디코더(200)의 블록도를 도시한다. 디코더(200)에서, 비트스트림은 아래에서 설명되는 바와 같이 디코더 요소들에 의해 디코딩된다. 비디오 디코더(200)는 일반적으로 도 17에 설명된 바와 같이 인코딩 패스의 반대인 디코딩 패스를 수행한다. 인코더(100)는 또한 일반적으로 비디오 데이터 인코딩의 일부로서 비디오 디코딩을 수행한다.
특히, 디코더의 입력은 비디오 인코더(100)에 의해 생성될 수 있는 비디오 비트스트림을 포함한다. 비트스트림은 먼저 변환 계수, 모션 벡터, 및 기타 코딩된 정보를 획득하기 위해 엔트로피 디코딩된다(230). 픽처 분할 정보는 픽처가 어떻게 분할되는지를 나타낸다. 따라서 디코더는 디코딩된 픽처 분할 정보에 따라 픽처를 분할할 수 있다(235). 변환 계수는 예측 잔차를 디코딩하기 위해 역양자화되고(240) 역변환된다(250). 디코딩된 예측 잔차와 예측된 블록을 결합(255)하여 이미지 블록이 재구성된다. 예측된 블록은 인트라 예측(260) 또는 모션 보상된 예측(즉, 인터 예측)(275)으로부터 획득(270)될 수 있다. 인루프 필터(265)는 재구성된 이미지에 적용된다. 필터링된 이미지는 참조 픽처 버퍼(280)에 저장된다.
디코딩된 픽처는 디코딩 후처리(285), 예를 들어 역 컬러 변환(예를 들어, YCbCr 4:2:0에서 RGB 4:4:4로의 변환) 또는 인코딩 전처리(101)에서 수행된 리맵핑 처리의 역을 수행하는 역 리맵핑을 더 거칠 수 있다. 디코딩 후처리는 인코딩 전처리에서 유도되고 비트스트림에서 시그널링된 메타데이터를 이용할 수 있다.
도 18은 다양한 양상들 및 실시예들이 구현되는 시스템의 예의 블록도를 도시한다. 시스템(1000)은 아래에서 설명되는 다양한 구성요소들을 포함하는 디바이스로서 구현될 수 있고 이 문서에 설명된 양상들 중 하나 이상을 수행하도록 구성된다. 이러한 디바이스들의 예들은 개인용 컴퓨터, 랩톱 컴퓨터, 스마트폰, 태블릿 컴퓨터, 디지털 멀티미디어 셋톱 박스, 디지털 텔레비전 수신기, 개인용 비디오 녹화 시스템, 연결된 가전 제품 및 서버와 같은 다양한 전자 디바이스들을 포함하지만 이에 제한되지는 않는다. 시스템(1000)의 요소들은 단독으로 또는 조합하여 단일 집적 회로(IC), 다중 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)는 비제한적인 예로서, 내부 저장 디바이스, 부착된 저장 디바이스(분리형 및 비분리형 저장 디바이스 포함), 및/또는 네트워크 액세스 가능한 저장 디바이스를 포함할 수 있다.
시스템(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 Part 2라고도 하는 고효율 비디오 코딩을 지칭함) 또는 VVC(다용도 비디오 코딩; Versatile Video Coding, JVET, Joint Video Experts Team에 의해 개발 중인 새로운 표준)와 같은 비디오 코딩 및 디코딩 작업을 위한 작업 메모리로 이용된다.
시스템(1000)의 요소에 대한 입력은 블록(1130)에 표시된 바와 같이 다양한 입력 디바이스들을 통해 제공될 수 있다. 이러한 입력 디바이스들은 (i) 예를 들어 방송사에 의해 공기중으로 전송된 RF 신호를 수신하는 무선 주파수(RF) 부분, (ii) 컴포넌트(COMP) 입력 단자(또는 COMP 입력 단자들의 세트), (iii) 범용 직렬 버스 (USB; Universal Serial Bus) 입력 단자, 및/또는 (iv) 고선명 멀티미디어 인터페이스 (HDMI; High Definition Multimedia Interface) 입력 단자를 포함하지만, 이에 제한되지는 않는다. 도 18에 도시되지 않은 다른 예들은 합성 비디오를 포함한다.
다양한 실시예들에서, 블록(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)의 다양한 요소들은 통합 하우징(housing) 내에 제공될 수 있다. 통합 하우징 내에서, 다양한 요소들은 상호 연결될 수 있고 적합한 연결 배열, 예를 들어 Inter-IC(I2C) 버스, 배선 및 인쇄된 회로 보드를 포함하는 당업계에 공지된 내부 버스,를 이용하여 그들 사이에서 데이터를 전송할 수 있다.
시스템(1000)은 통신 채널(1060)을 통해 다른 디바이스들과의 통신을 가능하게 하는 통신 인터페이스(1050)를 포함한다. 통신 인터페이스(1050)는 통신 채널(1060)을 통해 데이터를 송신 및 수신하도록 구성된 트랜시버를 포함할 수 있지만, 이에 제한되지는 않는다. 통신 인터페이스(1050)는 모뎀 또는 네트워크 카드를 포함할 수 있지만, 이에 제한되지는 않고, 통신 채널(1060)은 예를 들어 유선 및/또는 무선 매체 내에서 구현될 수 있다.
데이터는 다양한 실시예들에서, 예를 들어 IEEE 802.11(IEEE는 Institute of Electrical and Electronics Engineers를지칭함)과 같은 Wi-Fi 네트워크와 같은 무선 네트워크를 이용하여 시스템(1000)에 스트리밍되거나 제공된다. 이들 실시예들의 Wi-Fi 신호는 Wi-Fi 통신에 적합한 통신 채널(1060) 및 통신 인터페이스(1050)를 통해 수신된다. 이러한 실시예들의 통신 채널(1060)은 일반적으로 스트리밍 애플리케이션 및 기타 오버더톱(over-the-top) 통신을 허용하기 위한 인터넷을 포함하는 외부 네트워크에 대한 액세스를 제공하는 액세스 포인트 또는 라우터에 연결된다. 다른 실시예들은 입력 블록(1130)의 HDMI 연결을 통해 데이터를 전달하는 셋톱 박스를 이용하여 스트리밍된 데이터를 시스템(1000)에 제공한다. 또 다른 실시예들은 입력 블록(1130)의 RF 연결을 이용하여 스트리밍된 데이터를 시스템(1000)에 제공한다. 위에서 나타낸 바와 같이, 다양한 실시예들은 비스트리밍 방식으로 데이터를 제공한다. 또한, 다양한 실시예들은 Wi-Fi 이외의 무선 네트워크, 예를 들어 셀룰러 네트워크 또는 블루투스 네트워크를 이용한다.
시스템(1000)은 디스플레이(1100), 스피커(1110), 및 기타 주변 디바이스(1120)를 포함하는 다양한 출력 디바이스들에 출력 신호를 제공할 수 있다. 다양한 실시예들의 디스플레이(1100)는 예를 들어, 터치 스크린 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 곡면 디스플레이, 및/또는 폴더블 디스플레이 중 하나 이상을 포함한다. 디스플레이(1100)는 텔레비전, 태블릿, 랩톱, 휴대폰(모바일폰), 또는 기타 디바이스를 위한 것일 수 있다. 디스플레이(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 플래그는 설명적인 용어이다. 따라서 다른 구문 요소 이름의 사용을 배제하지 않는다.
도면이 흐름도로 제시될 때, 대응 장치의 블록도도 제공한다는 것을 이해해야 한다. 유사하게, 도면이 블록 다이어그램으로 제시될 때 대응 방법/처리의 흐름도도 제공한다는 것을 이해해야 한다.
본 명세서에 설명된 구현들 및 양상들은 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림, 또는 신호로 구현될 수 있다. 심지어 구현의 단일 형태의 맥락에서만 논의되더라도(예를 들어, 방법으로서만 논의됨), 논의된 특징의 구현은 또한 다른 형태(예를 들어, 장치 또는 프로그램)로 구현될 수 있다. 장치는 예를 들어 적절한 하드웨어, 소프트웨어 및 펌웨어로 구현될 수 있다. 방법은 예를 들어 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그램 가능한 논리 디바이스를 포함하는 일반적으로 처리 디바이스를 지칭하는 프로세서에서 구현될 수 있다. 프로세서는 또한 예를 들어 컴퓨터, 휴대폰, 휴대용/개인용 디지털 단말기("PDA"), 및 최종 사용자 간의 정보 통신을 용이하게 하는 기타 디바이스와 같은 통신 디바이스들을 또한 포함한다.
"일 실시예" 또는 "실시예" 또는 "일 구현" 또는 "구현"에 대한 참조는, 이들의 기타 변형들뿐만 아니라, 적어도 하나의 실시예에 포함된 실시예와 관련하여 설명된 특정 특징, 구조, 특성 등이 포함된다는 것을 의미한다. 따라서, "일 실시예에서" 또는 "실시예에서" 또는 "일 구현에서" 또는 "구현에서"라는 문구의 출현뿐만 아니라 본 출원 전반에 걸쳐 다양한 위치에 나타나는 임의의 다른 변형들이 모두 같은 실시예를 필요적으로 지칭하는 것은 아니다.
또한, 본 출원은 다양한 정보를 "결정"하는 것을 언급할 수 있다. 정보를 결정하는 것은 예를 들어 정보 추정, 정보 계산, 정보 예측, 또는 메모리로부터 정보 검색 중 하나 이상을 포함할 수 있다.
또한, 본 출원은 다양한 정보에 "액세스"하는 것을 언급할 수 있다. 정보에 액세스하는 것은 예를 들어 정보 수신, 정보 검색(예를 들어, 메모리로부터), 정보 저장, 정보 이동, 정보 복사, 정보 계산, 정보 결정, 정보 예측 또는 정보 추정 중 하나 이상을 포함할 수 있다.
또한, 본 출원은 다양한 정보를 "수신"하는 것을 의미할 수 있다. 수신은 "액세스"와 마찬가지로 광범위한 용어로 의도된다. 정보를 수신하는 것은, 예를 들어, 정보 액세스, 또는 (예를 들어, 메모리로부터) 정보 검색 중 하나 이상을 포함할 수 있다. 또한, "수신"은 일반적으로 예를 들어 정보 저장, 정보 처리, 정보 전송, 정보 이동, 정보 복사, 정보 지우기, 정보 계산, 정보 결정, 정보 예측, 또는 정보 추정과 같은 동작 동안 어떤 식으로든 수반된다.
다음 "/", "및/또는", 및 "중 적어도 하나"의 임의의 이용은, 예를 들어, "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) 선택하는것을 포괄하도록 의도된다. 이것은 이 기술 및 관련 기술 분야의 통상의 기술자에게 자명한 바와 같이 나열된 많은 항목에 대해 확장될 수 있다.
또한, 본 명세서에서 이용되는 바와 같이, "신호(signal)"라는 단어는, 무엇보다도, 대응하는 디코더에 무엇인가를 나타내는 것을 지칭한다. 예를 들어, 특정 실시예들에서 인코더는 LIC에 대한 영역 기반 파라미터 선택을 위한 복수의 파라미터 중 특정 파라미터를 시그널링한다. 예를 들어, LIC 활성화/비활성화는 영역의 크기에 따라 달라질 수 있다. 이러한 방식으로, 일 실시예에서 동일한 파라미터가 인코더 측과 디코더 측 모두에서 이용된다. 따라서, 예를 들어 인코더는 디코더가 동일한 특정 파라미터를 이용할 수 있도록 특정 파라미터를 디코더에 전송(명시적 시그널링)할 수 있다. 반대로 디코더가 다른것들 뿐만 아니라 이미 특정 파라미터를 가지고 있는 경우, 디코더가 특정 파라미터를 알고 선택하도록 하기 위해 전송 없이(암시적 시그널링) 시그널링이 이용될 수 있다. 임의의 실제 함수들의 전송을 피함으로써, 다양한 실시예들에서 비트 절약이 실현된다. 시그널링은 다양한 방식들로 달성될 수 있음을 이해해야 한다. 예를 들어, 하나 이상의 구문 요소, 플래그 등은 다양한 실시예에서 대응하는 디코더에 정보를 시그널링하는 데 이용된다. 앞의 것은 "신호(signal)"이라는 단어의 동사 형태와 관련이 있지만, "신호(signal)"이라는 단어는 본 명세서에서 명사로도 이용될 수 있다.
당업자에게 명백한 바와 같이, 구현들은 예를 들어 저장 또는 전송될 수 있는 정보를 전달하도록 형식화된(formatted) 다양한 신호를 생성할 수 있다. 정보는 예를 들어 방법을 수행하기 위한 명령어들 또는 설명된 구현들 중 하나에 의해 생성된 데이터를 포함할 수 있다. 예를 들어, 신호는 설명된 실시예의 비트스트림을 전달하도록 형식화될 수 있다. 이러한 신호는 예를 들어 전자기파(예를 들어, 스펙트럼의 무선 주파수 부분 이용) 또는 기저대역 신호로 형식화될 수 있다. 형식화는 예를 들어 데이터 스트림을 인코딩하는 것과 인코딩된 데이터 스트림으로 캐리어를 변조하는 것을 포함할 수 있다. 신호가 전달하는 정보는 예를 들어 아날로그 또는 디지털 정보일 수 있다. 알려진 바와 같이 신호는 다양한 유선 또는 무선 링크를 통해 전송될 수 있다. 신호는 프로세서 판독 가능 매체 상에 저장될 수 있다.
우리는 많은 실시예들을 설명한다. 이러한 실시예들의 특징은 다양한 청구 범주 및 유형에 걸쳐 단독으로 또는 임의의 조합으로 제공될 수 있다. 또한, 실시예들은 다양한 청구 범주 및 유형에 걸쳐 단독으로 또는 임의의 조합으로 다음의 특징, 디바이스 또는 양상 중 하나 이상을 포함할 수 있다:
* 디코더 및/또는 인코더에 적용된 인터 예측 처리에 이용되는 로컬 조명 보상 수정.
* 디코더 및/또는 인코더에 적용된 인터 예측 처리에 이용되는 로컬 조명 보상 파라미터의 유도 수정.
* 로컬 조명 보상에 이용된 샘플을 파이프라인화된 모션 보상 서브블록 아키텍처에 적응시킴.
* 이용 가능한 데이터를 기초로 블록의 현재 서브블록에 대한 개선된 선형 모델 파라미터를 반복적으로 결정.
* 블록에 대해 이전에 액세스된 모든 이웃하는 샘플을 기초로 개선된 선형 모델 파라미터를 결정.
* 블록의 서브블록에 대한 개선된 선형 모델 파라미터를 래스터 스캔(raster-scan) 순서로 반복적으로 결정.
* 현재 서브블록의 샘플에 가장 가까운 이전에 액세스된 이웃하는 샘플을 기초로 개선된 선형 모델 파라미터를 결정.
* 현재 서브블록의 액세스된 이웃하는 샘플을 블록에 대한 버퍼 샘플에 저장.
* 부분 합을 처리하고 저장하며, 부분 합은 현재 서브블록의 이웃하는 샘플로부터 얻어짐.
* 현재 서브블록에 대한 부분 선형 모델 파라미터를 결정하고 서브블록에 대해 이전에 결정된 부분 선형 모델 파라미터의 가중 합에서 개선된 선형 모델 파라미터를 결정.
* 블록의 서브블록에 대해 선형 모델 파라미터를 개별적으로 개선.
* 서브블록에 대한 조명 보상을 블록내에서 그것의 위치에 따라 활성화 또는 비활성화.
* 디코더가 이용할 조명 보상 방법을 식별할 수 있도록 하는 구문 요소들을 시그널링에 삽입.
* 설명된 구문 요소들 또는 이들의 변형 중 하나 이상을 포함하는 비트스트림 또는 신호.
* 설명된 실시예 중 임의의 것에 따라 생성된 정보를 전달하는 구문을 포함하는 비트스트림 또는 신호.
* 인코더에 의해 사용되는 방식에 대응하는 방식으로 디코더가 LIC에 적응할 수 있게 하는 구문 요소들을 시그널링에 삽입.
* 설명된 구문 요소들 또는 이들의 변형 중 하나 이상을 포함하는 비트스트림 또는 신호 생성 및/또는 전송 및/또는 수신 및/또는 디코딩.
* 설명된 실시예들 중 임의의 것에 따른 생성 및/또는 전송 및/또는 수신 및/또는 디코딩.
* 설명된 실시예들 중 임의의 것에 따른 방법, 프로세스, 장치, 명령어 저장 매체, 데이터 저장 매체 또는 신호.
* 설명된 임의의 실시예들에 따라 LIC 파라미터의 적응을 수행하는 TV, 셋톱 박스, 휴대 전화, 태블릿 또는 기타 전자 디바이스.
* 설명된 실시예들 중 임의의 하나에 따라 LIC 파라미터의 적응을 수행하고 결과 이미지를 표시(예를 들어, 모니터, 화면 또는 기타 유형의 디스플레이 이용)하는 TV, 셋톱 박스, 휴대 전화, 태블릿 또는 기타 전자 디바이스.
* 인코딩된 이미지를 포함하는 신호를 수신하기 위해 채널을 선택(예를 들어, 튜너 이용)하고 설명된 실시예들 중 임의의 것에 따라 LIC 파라미터의 적응을 수행하는 TV, 셋톱 박스, 휴대 전화, 태블릿 또는 기타 전자 디바이스.
* 인코딩된 이미지를 포함하는 신호를 공기를 통해 수신(예를 들어, 안테나 이용)하고 설명된 실시예들 중 임의의 것에 따라 LIC 파라미터의 적응을 수행하는 TV, 셋톱 박스, 휴대 전화, 태블릿 또는 기타 전자 디바이스.

Claims (15)

  1. 비디오 인코딩 방법에 있어서:
    픽처에서 인코딩되는 블록에 대해, 공간적으로 이웃하는 재구성된 샘플 및 대응하는 참조 샘플에 기초하여 로컬 조명 보상을 위한 선형 모델 파라미터를 결정하는 단계;
    상기 결정된 선형 모델 파라미터에 기초한 로컬 조명 보상을 이용하여 상기 블록을 인코딩하는 단계를 포함하고;
    상기 블록에 대한 상기 선형 모델 파라미터를 결정하는 단계는 상기 블록의 현재 서브블록에 대한 개선된 선형 모델 파라미터를 결정하는 단계를 포함하고;
    상기 블록을 인코딩하기 위해, 상기 로컬 조명 보상은 상기 개선된 선형 모델 파라미터에 기초하여 상기 현재 서브블록에 대한 선형 모델을 이용하는, 방법.
  2. 비디오 디코딩 방법에 있어서:
    픽처에서 디코딩되는 블록에 대해, 공간적으로 이웃하는 재구성된 샘플 및 대응하는 참조 샘플에 기초하여 로컬 조명 보상을 위한 선형 모델 파라미터를 결정하는 단계;
    상기 결정된 선형 모델 파라미터에 기초한 로컬 조명 보상을 이용하여 상기 블록을 디코딩하는 단계를 포함하고;
    상기 블록에 대한 상기 선형 모델 파라미터를 결정하는 단계는 상기 블록의 현재 서브블록에 대한 개선된 선형 모델 파라미터를 결정하는 단계를 포함하고;
    상기 블록을 디코딩하기 위해, 상기 로컬 조명 보상은 상기 개선된 선형 모델 파라미터에 기초하여 상기 현재 서브블록에 대한 선형 모델을 이용하는, 방법.
  3. 하나 이상의 프로세서 및 적어도 하나의 메모리를 포함하는 비디오 인코딩 장치에 있어서, 상기 하나 이상의 프로세서는:
    픽처에서 인코딩되는 블록에 대해, 공간적으로 이웃하는 재구성된 샘플 및 대응하는 참조 샘플에 기초하여 로컬 조명 보상을 위한 선형 모델 파라미터를 결정하고;
    상기 결정된 선형 모델 파라미터에 기초한 로컬 조명 보상을 이용하여 상기 블록을 인코딩하도록 구성되고;
    상기 블록에 대한 상기 선형 모델 파라미터는 상기 블록의 현재 서브블록에 대한 개선된 선형 모델 파라미터를 결정함으로써 결정되고;
    상기 블록을 인코딩하기 위해, 상기 로컬 조명 보상은 상기 개선된 선형 모델 파라미터에 기초하여 상기 현재 서브블록에 대한 선형 모델을 이용하는, 장치.
  4. 하나 이상의 프로세서 및 적어도 하나의 메모리를 포함하는 비디오 디코딩 장치에 있어서, 상기 하나 이상의 프로세서는:
    픽처에서 디코딩되는 블록에 대해, 공간적으로 이웃하는 재구성된 샘플 및 대응하는 참조 샘플에 기초하여 로컬 조명 보상을 위한 선형 모델 파라미터를 결정하고;
    상기 결정된 선형 모델 파라미터에 기초한 로컬 조명 보상을 이용하여 상기 블록을 디코딩하도록 구성되고;
    상기 블록에 대한 상기 선형 모델 파라미터는 상기 블록의 현재 서브블록에 대한 개선된 선형 모델 파라미터를 결정함으로써 결정되고;
    상기 블록을 디코딩하기 위해, 상기 로컬 조명 보상은 상기 개선된 선형 모델 파라미터에 기초하여 상기 현재 서브블록에 대한 선형 모델을 이용하는, 장치.
  5. 제 1항 또는 제 2항의 방법 또는 제 3항 또는 제 4항의 장치에 있어서, 현재 서브블록에 대한 상기 개선된 선형 모델 파라미터를 결정하는 단계는,
    - 상기 현재 서브블록의 공간적으로 이웃하는 재구성된 샘플 및 대응하는 참조 샘플에 액세스하는 단계;
    - 상기 블록에 대한 이전에 액세스된 공간적으로 이웃하는 재구성된 샘플 및 대응하는 참조 샘플에 기초하여 상기 개선된 선형 모델 파라미터를 결정하는 단계
    를 포함하는, 방법 또는 장치.
  6. 제 5항의 방법 또는 제 5항의 장치에 있어서, 현재 서브블록에 대한 상기 개선된 선형 모델 파라미터를 결정하는 단계는 상기 블록에 대한 이전에 액세스된 모든 공간적으로 이웃하는 재구성된 샘플 및 대응하는 참조 샘플에 기초하여 상기 개선된 선형 모델 파라미터를 결정하는 단계를 포함하는, 방법 또는 장치.
  7. 제 6항의 방법 또는 제 6항의 장치에 있어서, 상기 블록에 대한 상기 선형 모델 파라미터를 결정하는 단계는 래스터 스캔(raster-scan) 순서로 반복적으로 상기 블록의 상기 서브블록에 대한 상기 개선된 선형 모델 파라미터를 결정하는 단계를 포함하는, 방법 또는 장치.
  8. 제 5항의 방법 또는 제 5항의 장치에 있어서, 현재 서브블록에 대한 상기 개선된 선형 모델 파라미터를 결정하는 단계는 이전에 액세스된 공간적으로 이웃하는 재구성된 샘플 및 상기 현재 서브블록의 샘플에 가장 가까운 대응하는 참조 샘플에 기초하여 상기 개선된 선형 모델 파라미터를 결정하는 단계를 포함하는, 방법 또는 장치.
  9. 제5항 내지 제8항 중 어느 한 항의 방법 또는 제5항 내지 제8항 중 어느 한 항의 장치에 있어서, 현재 서브블록에 대한 상기 개선된 선형 모델 파라미터를 결정하는 단계는,
    - 상기 현재 서브블록의 상기 액세스된 공간적으로 이웃하는 재구성된 샘플 및 대응하는 참조 샘플을 상기 블록에 대한 이전에 액세스된 공간적으로 이웃하는 재구성된 샘플 및 대응하는 참조 샘플의 버퍼에 저장하는 단계; 및
    - 저장된 샘플을 기초로 상기 개선된 선형 모델 파라미터를 결정하는 단계
    를 더 포함하는, 방법 또는 장치.
  10. 제 5항의 방법 또는 제 5항의 장치에 있어서, 현재 서브블록에 대한 상기 개선된 선형 모델 파라미터를 결정하는 단계는
    - 상기 현재 서브블록의 상기 액세스된 공간적으로 이웃하는 재구성된 샘플 및 대응하는 참조 샘플로부터 부분 합을 처리하는 단계;
    - 상기 현재 서브블록에 대한 부분합을 상기 블록에 대한 부분합의 버퍼에 저장하는 단계; 및
    - 저장된 부분합을 기초로 상기 개선된 선형 모델 파라미터를 결정하는 단계
    를 포함하는, 방법 또는 장치.
  11. 제 1항 또는 제 2항 중 어느 한 항의 방법 또는 제 3항 또는 제 4항 중 어느 한 항의 장치에 있어서, 현재 서브블록에 대한 상기 개선된 선형 모델 파라미터를 결정하는 단계는,
    - 현재 서브블록에 대한 상기 공간적으로 이웃하는 재구성된 샘플 및 대응하는 참조 샘플에 기초하여 부분 선형 모델 파라미터를 결정하는 단계;
    - 상기 서브블록에 대한 상기 이전에 결정된 부분 선형 모델 파라미터의 가중 합으로부터 개선된 선형 모델 파라미터를 결정하는 단계
    를 포함하는, 방법 또는 장치.
  12. 제 1항 또는 제 2항 중 어느 한 항의 방법 또는 제 3항 또는 제 4항 중 어느 한 항의 장치에 있어서, 상기 개선된 선형 모델 파라미터는 상기 블록의 상기 서브블록에 대해 독립적으로 결정되는, 방법 또는 장치.
  13. 제 12항의 방법 또는 제 12항의 장치에 있어서, 상기 로컬 조명 보상은 상기 블록 내의 서브블록의 위치에 기초하여 비활성화되는, 방법 또는 장치.
  14. 제 1항 또는 제 2항 또는 제 5항 내지 제 8항 중 어느 한 항의 방법 또는 제 3항 또는 제 4항 또는 제 5항 내지 제 8항 중 어느 한 항의 장치에 있어서, 상기 재구성된 샘플 및 대응하는 참조 샘플은 상기 블록 위의 샘플의 행 및 상기 블록의 왼쪽의 샘플의 열을 포함하는 L-형상에 대해 상대적으로 같은 위치에 있고, 상기 같은 위치는 모션 보상 순차 처리로부터 발생하는 상기 블록에 대한 모션 보상 정보에 따라 결정되는 방법 또는 장치.
  15. 제 14항의 방법 또는 제 14항의 장치에 있어서, 상기 블록에 대한 모션 보상 정보는 모션 예측기를 포함하고, 상기 블록에 대한 상기 모션 예측기는 각 서브블록에 대해 병렬로 모션 보상 정보로 개선되고; 상기 같은 위치는 상기 블록에 대한 모션 보상 정보 대신에 상기 블록에 대한 모션 예측기에 따라 결정되는, 방법 또는 장치.
KR1020217032494A 2019-03-12 2020-03-05 서브블록 기반 로컬 조명 보상을 이용한 비디오 인코딩 및 디코딩 방법 및 장치 KR20210134034A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP19305294.1 2019-03-12
EP19305294.1A EP3709648A1 (en) 2019-03-12 2019-03-12 Method and apparatus for video encoding and decoding with subblock based local illumination compensation
PCT/US2020/021129 WO2020185496A1 (en) 2019-03-12 2020-03-05 Method and apparatus for video encoding and decoding with subblock based local illumination compensation

Publications (1)

Publication Number Publication Date
KR20210134034A true KR20210134034A (ko) 2021-11-08

Family

ID=65818490

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217032494A KR20210134034A (ko) 2019-03-12 2020-03-05 서브블록 기반 로컬 조명 보상을 이용한 비디오 인코딩 및 디코딩 방법 및 장치

Country Status (5)

Country Link
US (1) US20220159277A1 (ko)
EP (2) EP3709648A1 (ko)
KR (1) KR20210134034A (ko)
CN (1) CN113557730A (ko)
WO (1) WO2020185496A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111698515B (zh) * 2019-03-14 2023-02-14 华为技术有限公司 帧间预测的方法及相关装置
EP4282156A1 (en) * 2021-01-19 2023-11-29 Google LLC Video coding with guided machine learning restoration
US11924409B2 (en) * 2021-02-21 2024-03-05 Alibaba (China) Co., Ltd. Systems and methods for inter prediction compensation
WO2022242646A1 (en) * 2021-05-17 2022-11-24 Beijing Bytedance Network Technology Co., Ltd. Method, device, and medium for video processing
US20230224474A1 (en) * 2022-01-12 2023-07-13 Tencent America LLC Adjustment based local illumination compensation
US11616970B1 (en) * 2022-01-25 2023-03-28 Mediatek Inc. Motion vector refinement apparatus having motion vector predictor derivation circuit that is allowed to start new task without waiting for motion vector difference computation and associated motion vector refinement method
WO2023198203A1 (en) * 2022-04-14 2023-10-19 FG Innovation Company Limited Method related to illumination compensation and electronic device
WO2023245349A1 (zh) * 2022-06-20 2023-12-28 Oppo广东移动通信有限公司 一种局部光照补偿方法、视频编解码方法、装置和系统
US20240031578A1 (en) * 2022-07-15 2024-01-25 Tencent America LLC Decoder-side motion vector refinement and bi-directional optical flow in subblock-based temporal motion vector prediction (sbtmvp)
WO2024032672A1 (en) * 2022-08-09 2024-02-15 Mediatek Inc. Method and apparatus for video coding

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9307251B2 (en) * 2009-08-19 2016-04-05 Sharp Laboratories Of America, Inc. Methods and systems for determining data-adaptive weights for motion estimation in a video sequence
US9241160B2 (en) * 2010-07-21 2016-01-19 Dolby Laboratories Licensing Corporation Reference processing using advanced motion models for video coding
US9392295B2 (en) * 2011-07-20 2016-07-12 Broadcom Corporation Adaptable media processing architectures
TWI606719B (zh) * 2012-05-31 2017-11-21 Jvc Kenwood Corp Video encoding device, video encoding method, and video encoding program
US10887597B2 (en) * 2015-06-09 2021-01-05 Qualcomm Incorporated Systems and methods of determining illumination compensation parameters for video coding
US10356416B2 (en) * 2015-06-09 2019-07-16 Qualcomm Incorporated Systems and methods of determining illumination compensation status for video coding
US10778989B2 (en) * 2016-02-05 2020-09-15 Blackberry Limited Rolling intra prediction for image and video coding
US11234003B2 (en) * 2016-07-26 2022-01-25 Lg Electronics Inc. Method and apparatus for intra-prediction in image coding system
EP3560202A4 (en) * 2016-12-27 2020-07-29 MediaTek Inc. METHOD AND DEVICE FOR BILATERAL TEMPLATE MV REFINING FOR VIDEO CODING
EP3451665A1 (en) * 2017-09-01 2019-03-06 Thomson Licensing Refinement of internal sub-blocks of a coding unit

Also Published As

Publication number Publication date
EP3709648A1 (en) 2020-09-16
EP3939291A1 (en) 2022-01-19
WO2020185496A1 (en) 2020-09-17
CN113557730A (zh) 2021-10-26
US20220159277A1 (en) 2022-05-19

Similar Documents

Publication Publication Date Title
KR20210134034A (ko) 서브블록 기반 로컬 조명 보상을 이용한 비디오 인코딩 및 디코딩 방법 및 장치
US20220078405A1 (en) Simplifications of coding modes based on neighboring samples dependent parametric models
US20230232037A1 (en) Unified process and syntax for generalized prediction in video coding/decoding
US11962753B2 (en) Method and device of video coding using local illumination compensation (LIC) groups
EP3706421A1 (en) Method and apparatus for video encoding and decoding based on affine motion compensation
KR20210069715A (ko) 비디오 인코딩 및 디코딩의 아핀 모드 시그널링
EP3878178A1 (en) Video encoding or decoding using block extension for overlapped block motion compensation
US20230254507A1 (en) Deep intra predictor generating side information
KR20210062055A (ko) 양방향 예측을 사용하는 비디오 인코딩 및 디코딩을 위한 방법 및 장치
KR20230104895A (ko) 기하학적 파티션을 사용한 인트라 예측
CN117597933A (zh) 空间局部光照补偿
KR20220123666A (ko) 가중-예측 파라미터들의 추정
EP3957073A1 (en) Method and apparatus for video encoding and decoding with optical flow based on boundary smoothed motion compensation
EP3668100A1 (en) Method and device for picture encoding and decoding
EP3641311A1 (en) Encoding and decoding methods and apparatus
US20230023837A1 (en) Subblock merge candidates in triangle merge mode
KR20220035108A (ko) 행렬 기반 인트라 예측을 이용한 비디오 인코딩 및 디코딩을 위한 방법 및 장치
RU2820339C2 (ru) Hmvc для аффинного режима и режима предсказания вектора движения sbtmvp
US20220264147A1 (en) Hmvc for affine and sbtmvp motion vector prediction modes
WO2022028855A1 (en) Combining abt with vvc sub-block-based coding tools
WO2023194104A1 (en) Temporal intra mode prediction
WO2023194103A1 (en) Temporal intra mode derivation
KR20240056576A (ko) 템플릿 매칭에 기초한 비디오 인코딩 및 디코딩을 위한 크로마 예측
CN114270829A (zh) 局部照明补偿标志继承

Legal Events

Date Code Title Description
A201 Request for examination