KR20220123666A - 가중-예측 파라미터들의 추정 - Google Patents

가중-예측 파라미터들의 추정 Download PDF

Info

Publication number
KR20220123666A
KR20220123666A KR1020227025583A KR20227025583A KR20220123666A KR 20220123666 A KR20220123666 A KR 20220123666A KR 1020227025583 A KR1020227025583 A KR 1020227025583A KR 20227025583 A KR20227025583 A KR 20227025583A KR 20220123666 A KR20220123666 A KR 20220123666A
Authority
KR
South Korea
Prior art keywords
image
estimate
prediction parameters
weighted prediction
histogram
Prior art date
Application number
KR1020227025583A
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 KR20220123666A publication Critical patent/KR20220123666A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

이미지 블록을 예측하기 위해 사용되도록 의도된 가중 예측 파라미터들을 추정하기 위한 방법이 제공된다.

Description

가중-예측 파라미터들의 추정
하나 이상의 실시예들의 기술 분야 영역은 대체적으로 비디오 압축에 관한 것이다. 특히, 적어도 일부 실시예들은 가중-예측 파라미터(weighted-prediction parameter)들을 추정하는 것에 관한 것이다.
적어도 일부 실시예들은, 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로도 알려진, 고효율 비디오 코딩(High Efficiency Video Coding)을 지칭함)와 같은 기존의 비디오 압축 시스템들에 비해, 또는 VVC(Versatile Video Coding (Draft 7), 2019년 10월, 제네바, 문서 JVET-P2001, B. Bross, J. Chen, S. Liu, Y-K. Wang에 의함)와 같은 미개발 비디오 압축 시스템들에 비해 압축 효율을 개선하는 것에 관한 것이다.
비디오 압축 시스템들은 이미지 시퀀스(sequence of images)의 이미지들에 관한 데이터를 압축 및 인코딩하기 위한 규칙들을 제공한다. 이러한 규칙들은 이미지 데이터를 압축 및 인코딩하여 이미지들 주위에 원래 제공된 뷰잉 카메라(viewing camera)보다 더 적은 데이터를 전송하는 방식을 제공한다. 이어서, 이러한 감소된 볼륨의 데이터는 전송을 위해 더 적은 채널 대역폭을 필요로 한다. 수신기가, 송신기가 압축 및 인코딩을 수행하기 위해 사용했던 규칙들을 알고 있는 경우, 수신기는 전송된 데이터로부터 이미지 시퀀스의 이미지들을 재구성(또는 디코딩)할 수 있다.
비디오 압축 시스템들은 인터 예측 모드 또는 인트라 예측 모드 중 어느 하나 또는 조합된 인터-인트라 예측 모드를 사용하여 이미지 블록을 인코딩한다. 인터 예측 모드의 경우, 모션 추정/보상은 기준 이미지로부터 이미지 블록을 예측하는 데 사용된다. 예측 블록은, 예를 들어, 미리결정된 매칭 에러 기준(matching error criterion)에 따라 미리결정된 검색 윈도우(search window)로 기준 이미지에서 최상의 매칭 이미지 블록을 검색함으로써 획득될 수 있다. 이어서, 매칭된 이미지 블록은 오리지널 이미지 블록을 예측하는 데 사용되는 인터 예측 블록일 수 있고, 예측 잔차 블록이 추가로 프로세싱되고 디코더로 전송된다. 오리지널 이미지 블록에 대한 기준 이미지 블록의 수평 및 수직 방향들에서의 상대적 시프트들은 그룹화되고, 디코더로 또한 전송되는 오리지널 이미지 블록의 모션 벡터로 지칭된다.
인트라 예측 모드의 경우, 이미지 내의 이미지 블록은 공간 예측 방법들을 사용하여 예측된다. 인트라 예측 블록은, 예를 들어, 미리결정된 매칭 에러 기준에 따라 미리결정된 검색 윈도우로 이미지에서 최상의 매칭 이미지 블록을 검색함으로써 획득될 수 있다. 이어서, 매칭된 이미지 블록은 오리지널 이미지 블록을 예측하는 데 사용되는 인트라 예측 블록일 수 있고, 예측 잔차 블록이 추가로 프로세싱되고 디코더로 전송된다.
인트라 및 인터 예측의 주요 목적은 예측 블록과 오리지널 이미지 블록의 차분을 취하는 것으로부터 획득된 예측 잔차 블록이 인코딩 시에 최저 개수의 비트들을 생성하도록 이미지 블록을 예측하는 것이다.
과제들 중 하나는 이미지 블록의 예측을 개선하여 예측 잔차 블록의 동적특성(dynamic)을 감소시키는 것이다.
이는 본 명세서에 기술된 대체적인 태양들에 의해 다루어지는데, 이러한 태양들은 가중 예측 파라미터들을 추정하는 것에 관한 것이다.
제1 태양에 따르면, 가중 예측 파라미터들을 사용하여 이미지 블록을 예측하기 위한 방법이 제공되는데, 상기 가중 예측 파라미터들은, 상기 가중 예측 파라미터들의 제1 추정치를 획득하는 단계; 상기 가중 예측 파라미터들의 제1 추정치 및 기준 이미지의 샘플들로부터 도출된 스케일링된 기준 이미지 히스토그램에 기초하여 상기 가중 예측 파라미터들의 제2 추정치를 획득하는 단계; 및 이미지의 샘플들로부터 도출된 이미지 히스토그램과 기준 이미지의 샘플들로부터 도출된 기준 이미지 히스토그램 사이에 계산된 히스토그램 왜곡, 및 상기 가중 예측 파라미터들의 제2 추정치 및 기준 이미지 히스토그램으로부터 도출된 스케일링된 기준 이미지 히스토그램과 이미지 히스토그램 사이에 계산된 다른 히스토그램 왜곡에 기초하여 이미지 블록들을 예측하기 위한 상기 가중 예측 파라미터들의 제2 추정치의 사용을 가능하게 하는 단계에 의해 추정된다.
하나의 실시예에서, 가중 예측 파라미터들의 제2 추정치를 획득하는 단계는 구성 파라미터에 의존한다.
하나의 실시예에서, 가중 예측 파라미터들의 제2 추정치를 획득하는 단계는 이미지의 컴포넌트에 의존한다.
변형예에서, 상기 가중 예측 파라미터들의 제2 추정치를 획득하는 단계, 및 이미지 블록들을 예측하기 위한 상기 가중 예측 파라미터들의 제2 추정치의 사용을 가능하게 하는 단계는 이미지의 제1 컴포넌트에 대해 수행된다. 본 방법은, 이미지의 제2 컴포넌트에 대해, 가중 파라미터들의 제1 추정치, 및 이미지의 샘플들과 스케일링된 기준 이미지의 샘플들 사이의 차분 절댓값들의 합(sum of absolute differences), 및 이미지의 샘플들과 기준 이미지의 샘플들 사이의 차분 절댓값들의 합에 기초하여 이미지 블록들을 예측하기 위한 가중 예측 파라미터들의 사용을 가능하게 하는 단계를 추가로 포함한다.
변형예에서, 본 방법은 가중 예측 파라미터들의 제1 추정치를 획득하기 전에 이미지 히스토그램을 확산시키는 단계를 추가로 포함한다.
하나의 실시예에서, 이미지 히스토그램을 확산시키는 단계는 이미지의 샘플들의 비트-깊이 및 주어진 비트-깊이에 의존한다.
하나의 실시예에서, 이미지 히스토그램을 확산시키는 단계는 이미지 히스토그램의 피크 주위에서 상기 피크에 대해 이미지의 샘플들을 분포시키는 단계를 포함한다.
하나의 실시예에서, 가중 예측 파라미터들의 제1 추정치는 디폴트 가중 파라미터들로부터 획득되거나, 또는 이미지의 샘플들 및 기준 이미지의 샘플들에 기초하여 획득된다.
다른 태양들에 따르면, 장치, 비일시적 컴퓨터 판독가능 매체 및 컴퓨터 프로그램 제품이 제공된다.
대체적인 태양들의 이들 및 다른 태양들, 특징들 및 이점들은 첨부된 도면들과 관련하여 읽혀질 예시적인 실시예들의 다음의 상세한 설명으로부터 명백해질 것이다.
도면들에서, 여러 실시예들의 예들이 예시되어 있다. 도면들은 다음을 도시한다:
도 1은 다양한 태양들 및 실시예들이 구현되는 인코더의 일례의 블록도를 도시한다.
도 2는 다양한 태양들 및 실시예들이 구현되는 비디오 디코더의 블록도를 도시한다.
도 3은 다양한 태양들 및 실시예들이 구현되는 시스템의 일례의 블록도를 도시한다.
도 4는 적어도 하나의 실시예에 따른, 가중 예측 파라미터들을 추정하기 위한 방법의 흐름도를 도시한다.
도 5는 적어도 하나의 실시예에 따른 단계(420)의 흐름도를 도시한다.
도 6은 8-비트 픽처에서 10-비트 픽처로의 비트-깊이 증가가 히스토그램들에 어떻게 영향을 주는지를 보여주는 전형적인 예를 도시한다.
도 7은 적어도 하나의 실시예에 따른 히스토그램 확산의 일례를 도시한다.
본 출원은 툴들, 특징부들, 실시예들, 모델들, 접근법들 등을 포함한 다양한 태양들을 기술한다. 이들 태양들 중 많은 것은 특이성을 갖고서 기술되며, 적어도, 개별 특성들을 보여주기 위해, 종종, 제한사항으로 들릴 수 있는 방식으로 기술된다. 그러나, 이는 설명에서의 명료성의 목적을 위한 것이며, 이들 태양들의 적용 또는 범주를 제한하지 않는다. 실제로, 상이한 모든 태양들이 조합되고 상호교환되어 추가의 태양들을 제공할 수 있다. 또한, 태양들이 조합될 수 있고, 마찬가지로 이전의 출원에 기술된 태양들과 상호교환될 수 있다.
본 출원에서 기술되고 고려되는 태양들은 많은 상이한 형태들로 구현될 수 있다. 도 1, 도 2 및 도 3은 일부 실시예들을 제공하지만, 다른 실시예들이 고려되고, 도 1, 도 2 및 도 3의 논의는 구현예들의 폭을 제한하지 않는다.
태양들 중 적어도 하나의 태양은 대체적으로, 비디오 인코딩 및 디코딩에 관한 것이다. 이들 및 다른 태양들은 방법, 장치, 전술된 방법 중 임의의 것에 따라 비디오 데이터를 인코딩 또는 디코딩하기 위한 명령어들이 저장된 컴퓨터 판독가능 매체, 또는 프로그램이 컴퓨터에 의해 실행될 때, 컴퓨터로 하여금 전술된 방법 중 임의의 것을 수행하게 하는 명령어들을 포함하는 컴퓨터 프로그램 제품으로서 구현될 수 있다.
본 출원에서, "재구성된" 및 "디코딩된"이라는 용어들은 상호교환가능하게 사용될 수 있고, "픽셀" 및 "샘플"이라는 용어들은 상호교환가능하게 사용될 수 있고, "이미지", "픽처" 및 "프레임"이라는 용어들은 상호교환가능하게 사용될 수 있다. 반드시 그렇지는 않지만, 일반적으로, "재구성된"이라는 용어는 인코더 측에서 사용되는 반면, "디코딩된"은 디코더 측에서 사용된다.
"히스토그램"이라는 용어는 샘플 값들의 히스토그램 또는 누적 히스토그램을 지칭한다.
"히스토그램 왜곡"이라는 용어가 또한 사용된다. 2개의 히스토그램들 H1 및 H2 사이의 히스토그램 왜곡 "HD"는 각각의 빈(bin)에 연관된 H1 및 H2의 히스토그램 값들의 차분 절댓값들의 합, 또는 각각의 빈 "b"에 연관된 H1 및 H2의 히스토그램 값들의 차분 제곱값들의 합(sum of squared differences)에 의해 정의될 수 있다.
Figure pct00001
이미지 컴포넌트에 연관된 히스토그램은, 이 컴포넌트에 대해 이미지 샘플들이 가질 수 있는 N개의 가능한 값들(범위 값들로 알려짐)에 대응하는 N개의 빈들로 구성된다. 예를 들어, 8-비트 이미지는, 0 내지 255 (Y) 사이의 값 또는 -128 내지 127 (U, V) 사이의 값을 갖는, 3개의 컴포넌트(예: Y, U, V)로 이루어진다. 빈 "b"와 연관된 히스토그램 값은, 이 컴포넌트에 대해 "b"와 동일한 값을 갖는 이미지 내의 샘플들의 개수이다. 빈 "b"와 연관된 누적 히스토그램 값은, 이 컴포넌트에 대해 "b"와 동일한 값 또는 더 낮은 값을 갖는 이미지 내의 샘플들의 개수이다.
다양한 방법들이 본 명세서에 기술되고, 방법들 각각은 기술된 방법을 달성하기 위한 하나 이상의 단계들 또는 액션들을 포함한다. 방법의 적절한 동작을 위해 단계들 또는 액션들의 특정 순서가 요구되지 않는 한, 특정 단계들 및/또는 액션들의 순서 및/또는 사용이 수정되거나 조합될 수 있다.
본 출원에서 기술된 다양한 방법들 및 다른 태양들은, 모듈들, 예를 들어, 도 1의 비디오 인코더(100)의 코딩 파라미터를 도출하는 모듈(102)을 수정하는 데 사용될 수 있다. 또한, 본 태양들은 VVC 또는 HEVC와 같은 특정 비디오 압축 시스템들로 제한되지 않으며, 예를 들어, 기존에 존재하든 향후 개발되든, 다른 표준들 및 권고들, 및 임의의 그러한 표준들 및 권고들(VVC 및 HEVC를 포함함)의 확장들에 적용될 수 있다. 달리 나타내지 않거나, 또는 기술적으로 배제되지 않는 한, 본 출원에 기술되는 태양들은 개별적으로 또는 조합하여 사용될 수 있다.
다양한 수치 값들, 예를 들어, 인트라 예측 모드의 수가 본 출원에서 사용된다. 특정 값들은 예시적인 목적들을 위한 것이며, 기술된 태양들은 이들 특정 값들로 제한되지 않는다.
도 1은 인코더(100)의 블록도를 도시한다. 이러한 인코더(100)의 변형들이 고려되지만, 인코더(100)는 모든 예상된 변형들을 기술하지 않고서 명료성의 목적들을 위해 후술된다.
인코딩되기 전에, 비디오 시퀀스는 사전-인코딩 프로세싱(101), 예를 들어, 입력 색상 픽처에 색상 변환을 적용하거나(예컨대, RGB 4:4:4로부터 YCbCr 4:2:0로의 변환), 또는 입력 이미지 컴포넌트들의 리맵핑을 수행하여, (예를 들어, 색상 컴포넌트들 중 하나의 컴포넌트의 히스토그램 등화를 사용하여) 압축에 더 탄력적인 신호 분포를 얻는 것을 거칠 수 있다. 메타데이터는 사전-인코딩 프로세싱(101)과 연관될 수 있고 비트스트림에 부착될 수 있다.
인코더(100)에서, 이미지는 후술되는 바와 같이 인코더 요소들에 의해 인코딩된다. 인코딩될 이미지는, 예를 들어 CU(Coding Unit)들의 단위들로 파티셔닝(102) 및 프로세싱된다. 각각의 단위(전형적으로, 이미지 블록)는, 예를 들어, 인터 예측 모드 또는 인트라 예측 모드 중 어느 하나 또는 조합된 인터-인트라 예측 모드를 사용하여 인코딩된다. 단위가 인트라 예측 모드에서 인코딩될 때, 그것은 인트라 예측(160)을 수행한다. 인터 예측 모드에서, 모션 추정(175) 및 보상(170)이 수행된다. 조합된 인터-인트라 예측 모드에서, 그것은 인트라 예측(160), 및 모션 추정(175) 및 보상(170) 둘 모두를 수행한다. 인코더는 인트라 예측 모드 또는 인터 예측 모드 또는 조합된 인터-인트라 예측 모드 중에서 단위를 인코딩하기 위해 사용할 하나의 모드를 결정(105)하고, 그 결정을, 예를 들어, 예측 모드 플래그에 의해 나타낸다. 예측 잔차들은, 예를 들어, 예측된 단위를 오리지널 단위로부터 감산(110)함으로써 계산된다.
이어서, 예측 잔차들이 변환(125) 및 양자화(130)된다. 양자화된 변환 계수들뿐만 아니라 모션 벡터들 및 다른 신택스 요소들이 엔트로피 코딩(145)되어 비트스트림을 출력한다. 인코더는 변환을 스킵할 수 있고, 변환되지 않은 잔차 신호에 직접적으로 양자화를 적용할 수 있다. 인코더는 변환 및 양자화 둘 모두를 바이패스할 수 있는데, 즉, 예측 잔차는 변환 또는 양자화 프로세스들의 적용 없이 직접적으로 코딩된다.
인코더는 인코딩된 단위를 디코딩하여, 추가 예측들을 위한 기준을 제공한다. 양자화된 변환 계수들은 예측 잔차들을 디코딩하기 위해 역 양자화(140) 및 역 변환(150)된다. 디코딩된 예측 잔차들 및 예측된 단위를 조합(155)하여, 단위가 재구성된다. 인-루프 필터들(165)이, 예를 들어, 인코딩 아티팩트들을 감소시키기 위해 이미지 디-블록킹 또는 SAO(Sample Adaptive Offset) 필터링을 수행하도록, 재구성된 단위에 적용된다. 필터링된 단위는 기준 픽처 버퍼(디코딩된 픽처 버퍼(decoded picture buffer, DPB)로 알려짐)(180)에 저장된다.
도 2는 비디오 디코더(200)의 블록도를 도시한다. 이러한 디코더(200)의 변형들이 고려되지만, 디코더(200)는 모든 예상된 변형들을 기술하지 않고서 명료성의 목적들을 위해 후술된다.
디코더(200)에서, 비트스트림은 후술되는 바와 같이 디코더 요소들에 의해 디코딩된다.
비디오 디코더(200)는 대체적으로, 도 2에 기술된 바와 같이 인코딩 패스에 상반되는(reciprocal) 디코딩 패스를 수행한다. 디코더(200)는 또한, 대체적으로, 비디오 데이터를 인코딩하는 것의 일부로서 비디오 디코딩을 수행한다.
특히, 디코더의 입력은 비디오 인코더(100)에 의해 생성될 수 있는 비디오 비트스트림을 포함한다. 비트스트림은, 변환 계수들, 모션 벡터들, 및 다른 코딩된 정보를 획득하기 위해 제1 엔트로피 디코딩(230)된다. 픽처 파티션 정보는 픽처가 어떻게 파티셔닝되는지를 나타낸다. 따라서, 디코더는 디코딩된 픽처 파티셔닝 정보에 따라 이미지를 분할(235)할 수 있다. 변환 계수들은 예측 잔차들을 디코딩하기 위해 역 양자화(240) 및 역 변환(250)된다. 디코딩된 예측 잔차들 및 예측된 단위를 조합(255)하여, 단위(전형적으로, 이미지 블록)가 재구성된다. 예측된 단위는 인트라 예측(260) 또는 모션-보상된 예측(즉, 인터 예측)(275)으로부터 또는 인트라 예측(260) 및 모션-보상된 예측(즉, 인터 예측)(275) 둘 모두로부터 획득(270)될 수 있다. 인-루프 필터들(265)은 재구성된 단위에 적용된다. 필터링된 단위는 기준 픽처 버퍼(280)에 저장된다.
디코딩된 이미지는 추가로, 사후-디코딩 프로세싱(285), 예를 들어, 역 색상 변환(예컨대, YCbCr 4:2:0으로부터 RGB 4:4:4로의 변환), 또는 사전-인코딩 프로세싱(101)에서 수행되는 리맵핑 프로세스의 역을 수행하는 역 리맵핑을 거칠 수 있다. 사후-디코딩 프로세싱은, 사전-인코딩 프로세싱에서 도출되고 비트스트림에 시그널링되는 메타데이터를 사용할 수 있다.
도 3은 다양한 태양들 및 실시예들이 구현되는 시스템의 일례의 블록도를 도시한다. 시스템(3000)은 하기에 기술되는 다양한 컴포넌트들을 포함하는 디바이스로서 구현될 수 있고, 본 문서에 기술된 태양들 중 하나 이상을 수행하도록 구성된다. 그러한 디바이스들의 예들은, 다양한 전자 디바이스들, 예컨대 개인용 컴퓨터, 랩톱 컴퓨터, 스마트폰, 태블릿 컴퓨터, 디지털 멀티미디어 셋톱박스, 디지털 TV 수신기, 개인 비디오 기록 시스템, 커넥티드 가전, 및 서버를 포함하지만, 이들로 제한되지 않는다. 시스템(3000)의 요소들은 단일 집적 회로(IC), 다수의 IC들, 및/또는 별개의 컴포넌트들에서, 단독으로 또는 조합되어 구현될 수 있다. 예를 들어, 적어도 하나의 실시예에서, 시스템(3000)의 프로세싱 및 인코더/디코더 요소들은 다수의 IC들 및/또는 별개의 컴포넌트들에 걸쳐 분산된다. 다양한 실시예들에서, 시스템(3000)은 예를 들어 통신 버스를 통해 또는 전용 입력 및/또는 출력 포트들을 통해 하나 이상의 다른 시스템들, 또는 다른 전자 디바이스들에 통신가능하게 커플링된다. 다양한 실시예들에서, 시스템(3000)은 본 문서에 기술된 태양들 중 하나 이상을 구현하도록 구성된다.
시스템(3000)은, 예를 들어 본 문서에 기술된 다양한 태양들을 구현하기 위해 내부에 로딩된 명령어들을 실행하도록 구성된 적어도 하나의 프로세서(3010)를 포함한다. 프로세서(3010)는 임베디드 메모리, 입출력 인터페이스, 및 당업계에 알려진 바와 같은 다양한 다른 회로부들을 포함할 수 있다. 시스템(3000)은 적어도 하나의 메모리(3020)(예컨대, 휘발성 메모리 디바이스, 및/또는 비휘발성 메모리 디바이스)를 포함한다. 시스템(3000)은, 전기적으로 소거가능한 프로그래밍가능 판독-전용 메모리(Electrically Erasable Programmable Read-Only Memory, EEPROM), 판독-전용 메모리(Read-Only Memory, ROM), 프로그래밍가능 판독-전용 메모리(Programmable Read-Only Memory, PROM), 랜덤 액세스 메모리(Random Access Memory, RAM), 동적 랜덤 액세스 메모리(Dynamic Random Access Memory, DRAM), 정적 랜덤 액세스 메모리(Static Random Access Memory, SRAM), 플래시, 자기 디스크 드라이브 및/또는 광학 디스크 드라이브를 포함하지만 이에 제한되지 않는 비휘발성 메모리 및/또는 휘발성 메모리를 포함할 수 있는 저장 디바이스(3040)를 포함한다. 저장 디바이스(3040)는, 비제한적인 예들로서, 내부 저장 디바이스, 결합형 저장 디바이스(분리가능한 저장 디바이스 및 분리가능하지 않은 저장 디바이스를 포함함), 및/또는 네트워크 액세스가능한 저장 디바이스를 포함할 수 있다.
시스템(3000)은, 예를 들어, 데이터를 프로세싱하여 인코딩된 비디오 또는 디코딩된 비디오를 제공하도록 구성된 인코더/디코더 모듈(3030)을 포함하고, 인코더/디코더 모듈(3030)은 그 자신의 프로세서 및 메모리를 포함할 수 있다. 인코더/디코더 모듈(3030)은 인코딩 및/또는 디코딩 기능들을 수행하기 위해 디바이스에 포함될 수 있는 모듈(들)을 나타낸다. 알려진 바와 같이, 디바이스는 인코딩 및 디코딩 모듈들 중 하나 또는 둘 모두를 포함할 수 있다. 추가적으로, 인코더/디코더 모듈(3030)은 시스템(3000)의 별개의 요소로서 구현될 수 있거나, 또는 당업자에게 알려진 바와 같은 하드웨어와 소프트웨어의 조합으로서 프로세서(3010) 내에 통합될 수 있다.
본 문서에 기술된 다양한 태양들을 수행하기 위해 프로세서(3010) 또는 인코더/디코더(3030) 상에 로딩될 프로그램 코드는 저장 디바이스(340)에 저장될 수 있고, 후속적으로, 프로세서(3010)에 의한 실행을 위해 메모리(3020) 상에 로딩될 수 있다. 다양한 실시예들에 따르면, 프로세서(3010), 메모리(3020), 저장 디바이스(3040), 및 인코더/디코더 모듈(3030) 중 하나 이상은 본 문서에 기술된 프로세스들의 수행 동안 다양한 항목들 중 하나 이상을 저장할 수 있다. 그러한 저장된 항목들은, 입력 비디오, 디코딩된 비디오 또는 디코딩된 비디오의 부분들, 비트스트림, 매트릭스들, 변수들, 및 방정식들, 공식들, 연산들 및 연산 로직의 프로세싱으로부터의 중간 또는 최종 결과들을 포함할 수 있지만, 이들로 제한되지 않는다.
일부 실시예들에서, 프로세서(3010) 및/또는 인코더/디코더 모듈(3030) 내부의 메모리는 명령어들을 저장하고 인코딩 또는 디코딩 동안 필요한 프로세싱을 위한 작업 메모리를 제공하는 데 사용된다.
그러나, 다른 실시예들에서, 프로세싱 디바이스(예를 들어, 프로세싱 디바이스는 프로세서(3010) 또는 인코더/디코더 모듈(3030) 중 어느 하나일 수 있음) 외부의 메모리가 이들 기능들 중 하나 이상에 사용된다. 외부 메모리는 메모리(3020) 및/또는 저장 디바이스(3040), 예를 들어, 동적 휘발성 메모리 및/또는 비휘발성 플래시 메모리일 수 있다.
일부 실시예들에서, 외부 비휘발성 플래시 메모리는 예를 들어, 텔레비전의 운영 체제를 저장하는 데 사용된다.
적어도 하나의 실시예에서, RAM과 같은 고속 외부 동적 휘발성 메모리는 MPEG-2(MPEG는 Moving Picture Experts Group을 지칭하고, MPEG-2는 또한 ISO/IEC 13818로도 지칭되고, 13818-1은 또한 H.222로도 알려져 있고, 13818-2는 또한 H.262로도 알려져 있음), HEVC(HEVC는 High Efficiency Video Coding을 지칭하고, H.265 및 MPEG-H Part 2로도 알려져 있음), 또는 VVC(Versatile Video Coding, JVET(Joint Video Experts Team)에서 개발 중인 새로운 표준)와 같은 비디오 코딩 및 디코딩 동작들을 위한 작업 메모리로 사용된다.
시스템(3000)의 요소들에 대한 입력은 모듈(3130)에 나타낸 바와 같이 다양한 입력 디바이스들을 통해 제공될 수 있다. 그러한 입력 디바이스들은 (i) 예를 들어 브로드캐스터(broadcaster)에 의해 무선으로(over the air) 송신된 무선 주파수(RF) 신호를 수신하는 무선 주파수(RF) 부분, (ii) 컴포넌트(COMP) 입력 단자(또는 COMP 입력 단자들의 세트), (iii) 범용 직렬 버스(USB) 입력 단자, 및/또는 (iv) 고화질 멀티미디어 인터페이스(High Definition Multimedia Interface, HDMI) 입력 단자를 포함하지만, 이들로 제한되지 않는다. 도 3에 도시되지 않은 다른 예들은 복합 비디오(composite video)를 포함한다.
다양한 실시예들에서, 모듈(3130)의 입력 디바이스들은 당업계에 알려진 바와 같은 각자의 입력 프로세싱 요소들을 연관시켰다. 예를 들어, RF 부분은, (i) 원하는 주파수를 선택하는 것(신호를 선택하는 것, 신호를 주파수들의 대역으로 대역-제한하는 것으로도 지칭됨), (ii) 선택된 신호를 하향변환(downconvert)하는 것, (iii) (예를 들어) 소정 실시예들에서 채널로 지칭될 수 있는 신호 주파수 대역을 선택하기 위해 주파수들의 더 좁은 대역으로 다시 대역-제한하는 것, (iv) 하향변환되고 대역-제한된 신호를 복조하는 것, (v) 에러 정정을 수행하는 것, 및 (vi) 데이터 패킷들의 원하는 스트림을 선택하기 위해 역다중화하는 것에 적합한 요소들과 연관될 수 있다. 다양한 실시예들의 RF 부분은 이들 기능들을 수행하기 위한 하나 이상의 요소들, 예를 들어, 주파수 선택기들, 신호 선택기들, 대역 제한기들, 채널 선택기들, 필터들, 하향변환기들, 복조기들, 에러 정정기들, 및 디멀티플렉서들을 포함한다. RF 부분은, 예를 들어, 수신된 신호를 더 낮은 주파수(예를 들어, 중간 주파수 또는 기저대역 인근(near-baseband) 주파수)로 또는 기저대역으로 하향변환하는 것을 포함한, 다양한 이들 기능들을 수행하는 동조기를 포함할 수 있다.
하나의 셋톱박스 실시예에서, RF 부분 및 그의 연관된 입력 프로세싱 요소는 유선(예를 들어, 케이블) 매체를 통해 송신된 RF 신호를 수신하고, 원하는 주파수 대역에 대해 필터링, 하향변환, 및 다시 필터링함으로써 주파수 선택을 수행한다.
다양한 실시예들은 전술된(및 다른) 요소들의 순서를 재배열하고/하거나, 이들 요소들 중 일부를 제거하고/하거나, 유사한 또는 상이한 기능들을 수행하는 다른 요소들을 추가한다. 요소를 추가하는 것은, 예를 들어, 증폭기들 및 아날로그-디지털 변환기를 삽입하는 것과 같이, 기존 요소들 사이에 요소들을 삽입하는 것을 포함할 수 있다.
다양한 실시예들에서, RF 부분은 안테나를 포함한다.
추가적으로, USB 및/또는 HDMI 단자들은 시스템(3000)을, USB 및/또는 HDMI 접속부들을 통해 다른 전자 디바이스들에 접속시키기 위한 각자의 인터페이스 프로세서들을 포함할 수 있다.
입력 프로세싱의 다양한 태양들, 예를 들어, 리드-솔로몬(Reed-Solomon) 에러 정정은 필요에 따라, 예를 들어, 별개의 입력 프로세싱 IC 내에서 또는 프로세서(3010) 내에서 구현될 수 있다는 것이 이해되어야 한다.
유사하게, USB 또는 HDMI 인터페이스 프로세싱의 태양들은, 필요에 따라, 별개의 인터페이스 IC들 내에서 또는 프로세서(3010) 내에서 구현될 수 있다.
복조, 에러 정정, 및 역다중화된 스트림은, 예를 들어, 출력 디바이스 상에서의 프레젠테이션을 위해 필요에 따라 데이터 스트림을 프로세싱하도록 메모리 및 저장 요소들과 조합하여 동작하는 프로세서(3010), 및 인코더/디코더(3030)를 포함한 다양한 프로세싱 요소들에 제공된다.
시스템(3000)의 다양한 요소들이 통합된 하우징 내에 제공될 수 있다. 통합된 하우징 내에서, 다양한 요소들은 적합한 접속 배열(12²140), 예를 들어, I2C 버스, 배선, 및 인쇄 회로 보드들을 포함하는, 본 기술분야에 알려진 바와 같은 내부 버스를 사용하여 상호접속되고, 그 사이에서 데이터를 송신할 수 있다.
시스템(3000)은 통신 채널(3060)을 통해 다른 디바이스들과의 통신을 가능하게 하는 통신 인터페이스(3050)를 포함한다. 통신 인터페이스(3050)는, 통신 채널(3060)을 통해 데이터를 송신 및 수신하도록 구성된 송수신기를 포함할 수 있지만, 이로 제한되지 않는다. 통신 인터페이스(3050)는 모뎀 또는 네트워크 카드를 포함할 수 있지만, 이들로 제한되지 않으며, 통신 채널(3060)은, 예를 들어, 유선 및/또는 무선 매체 내에서 구현될 수 있다.
데이터는, 다양한 실시예들에서, Wi-Fi 네트워크, 예를 들어 IEEE 802.11(IEEE는 전기 전자 기술자 협회(Institute of Electrical and Electronics Engineers)를 지칭함)과 같은 무선 네트워크를 사용하여, 시스템(3000)에 스트리밍되거나 또는 달리 제공된다. 이들 실시예들의 Wi-Fi 신호는 Wi-Fi 통신을 위해 적응되는 통신 채널(3060) 및 통신 인터페이스(3050)를 통해 수신된다. 이들 실시예들의 통신 채널(3060)은 전형적으로, 스트리밍 애플리케이션들 및 다른 오버더톱(over-the-top) 통신을 허용하기 위한 인터넷을 포함하는 외부 네트워크들에 대한 액세스를 제공하는 액세스 포인트 또는 라우터에 접속된다.
다른 실시예들은 입력 이미지 블록(3130)의 HDMI 접속부를 통해 데이터를 전달하는 셋톱박스를 사용하여, 시스템(3000)에 스트리밍된 데이터를 제공한다. 또 다른 실시예들은 입력 모듈(3130)의 RF 접속부를 사용하여 시스템(3000)에 스트리밍된 데이터를 제공한다.
전술한 바와 같이, 다양한 실시예들은 비-스트리밍 방식으로 데이터를 제공한다.
또한, 다양한 실시예들은 Wi-Fi 이외의 무선 네트워크들, 예를 들어 셀룰러 네트워크 또는 블루투스 네트워크를 사용한다.
시스템(3000)은 디스플레이(3100), 스피커들(3110), 및 다른 주변기기 디바이스들(3120)을 포함하는 다양한 출력 디바이스들에 출력 신호를 제공할 수 있다.
다양한 실시예들의 디스플레이(3100)는, 예를 들어, 터치스크린 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 커브드(curved) 디스플레이, 및/또는 폴더블(foldable) 디스플레이 중 하나 이상을 포함한다. 디스플레이(3100)는 텔레비전, 태블릿, 랩톱, 셀 폰(모바일 폰), 또는 다른 디바이스를 위한 것일 수 있다. 디스플레이(3100)는 또한, (예를 들어, 스마트 폰에서와 같이) 다른 컴포넌트들과 통합될 수 있거나, 별개(예를 들어, 랩톱을 위한 외부 모니터)일 수 있다.
실시예들의 다양한 예들에서, 다른 주변기기 디바이스들(3120)은 독립형 디지털 비디오 디스크(또는 디지털 다기능 디스크)(두 용어들 모두에 대해, DVR), 디스크 플레이어, 스테레오 시스템 및/또는 조명 시스템 중 하나 이상을 포함한다.
다양한 실시예들은 시스템(3000)의 출력에 기초하여 기능을 제공하는 하나 이상의 주변기기 디바이스들(3120)을 사용한다. 예를 들어, 디스크 플레이어는 시스템(3000)의 출력을 재생하는 기능을 수행한다.
다양한 실시예들에서, 제어 신호들은, 사용자 개입으로 또는 사용자 개입 없이 디바이스-대-디바이스 제어를 가능하게 하는 AV.Link, CEC(Consumer Electronics Control), 또는 다른 통신 프로토콜들과 같은 시그널링을 사용하여 시스템(3000)과 디스플레이(3100), 스피커들(3110), 또는 다른 주변기기 디바이스들(3120) 사이에서 통신된다.
출력 디바이스들은 각자의 인터페이스들(3070, 3080, 3090)을 통해 전용 접속부들을 거쳐 시스템(3000)에 통신가능하게 커플링될 수 있다.
대안적으로, 출력 디바이스들은 통신 인터페이스(3050)를 통해 통신 채널(3060)을 사용하여 시스템(3000)에 접속될 수 있다.
디스플레이(3100) 및 스피커들(3110)은 예를 들어, 텔레비전과 같은 전자 디바이스에서 시스템(3000)의 다른 컴포넌트들과 단일 유닛으로 통합될 수 있다.
다양한 실시예들에서, 디스플레이 인터페이스(3070)는, 예를 들어 타이밍 제어기(T Con) 칩과 같은 디스플레이 드라이버를 포함한다.
디스플레이(3100) 및 스피커(3110)는 대안적으로, 예를 들어, 입력(3130)의 RF 부분이 별개의 셋톱박스의 일부인 경우, 다른 컴포넌트들 중 하나 이상과 별개일 수 있다.
디스플레이(3100) 및 스피커들(3110)이 외부 컴포넌트들인 다양한 실시예들에서, 출력 신호는, 예를 들어, HDMI 포트들, USB 포트들, 또는 COMP 출력들을 포함하는 전용 출력 접속부들을 통해 제공될 수 있다.
실시예들은, 프로세서(3010)에 의해 또는 하드웨어에 의해 구현되는 컴퓨터 소프트웨어에 의해, 또는 하드웨어와 소프트웨어의 조합에 의해 수행될 수 있다.
비제한적인 예로서, 실시예들은 하나 이상의 집적 회로들에 의해 구현될 수 있다.
메모리(3020)는 기술적 환경에 적절한 임의의 유형의 것일 수 있고, 비제한적인 예들로서, 광학 메모리 디바이스, 자기 메모리 디바이스, 반도체 기반 메모리 디바이스, 고정 메모리, 및 착탈식 메모리와 같은 임의의 적절한 데이터 저장 기술을 사용하여 구현될 수 있다.
프로세서(3010)는 기술적 환경에 적절한 임의의 유형의 것일 수 있고, 비제한적인 예들로서, 마이크로프로세서, 범용 컴퓨터, 특수 목적 컴퓨터, 및 멀티-코어 아키텍처에 기반한 프로세서 중 하나 이상을 포괄할 수 있다.
인터-예측 모드에서, 이미지 블록 cur은, 이전에 재구성되어(디코딩되어) 디코딩된 픽처 버퍼(DPB)에 저장된 기준 픽처(reference picture)의 기준 블록 ref의 모션 보상된 샘플들로부터 예측될 수 있다. 다음에, 모션 보상된 샘플들(인터-예측 샘플로도 표시됨)은 이어서, 이미지 블록 cur의 샘플들과 기준 블록 ref의 모션 보상된 샘플들 사이의 조명 변화를 보상하기 위해 가중 예측 파라미터들(WP 파라미터들)로 보정될 수 있다.
예를 들어 HEVC 또는 VVC에서 정의된 바와 같은 가중-예측(WP)은 기준 픽처 "i"와 연관된, 단위 그룹(group of units), 예를 들어 블록 그룹(group of blocks)당, 영역당, 슬라이스당 또는 전체 픽처당 가중치들 및 오프셋들(wi; offi)을 정의할 수 있게 한다. 디코딩된 픽처 버퍼(DPB)에서 각각의 블록 그룹(예: 기준 이미지)은 가중-예측 파라미터들과 연관된다. 하기에서, 이미지라는 용어를 사용할 것이지만, 그 용어는 이미지 내의 슬라이스 또는 영역으로 대체될 수 있으며, 여기서 영역은 전형적으로 블록 그룹이다.
이어서, WP는 인터-예측 샘플들에 적용된다.
WP는 단방향 예측 또는 양방향 예측 둘 모두에 적용될 수 있다.
예를 들어, 이미지 블록 cur이 기준 블록 인덱스 refIdx0과 단방향으로 코딩되면, (w0;off0)는 refIdx0과 연관된 가중치 및 오프셋을 지칭할 수 있다. 이어서, 가중된 단방향 예측 샘플들 Pred'0 및 가중된 양방향 예측 샘플들 Pred'01은 다음에 의해 주어질 수 있다:
Pred'0=((w0.Pred0[x]+(1<<(shift-1)))>>shift)+off0 (1)
Pred'01=((w0.Pred0[x]+w1.Pred1[x]+off01)>>(shift+1) (2)
여기서 off01 = (off0 + off1 + 1) << shift이고, 현재 이미지(current image)에서의 위치 x에 위치된, Pred0은 단방향 예측 샘플들이고 Pred01은 양방향 예측 샘플이다.
도 4는 적어도 하나의 실시예에 따른, 가중 예측 파라미터들을 추정하기 위한 방법의 흐름도를 도시한다.
단계(410)에서, WP 파라미터들의 제1 추정치가 획득된다.
단계(410)의 하나의 실시예에서, WP 파라미터들의 제1 추정치는 디폴트 파라미터들로부터 획득되고, 가능하게는 수신 또는 저장된다(가중치는 1과 동일할 수 있고, 오프셋은 0과 동일할 수 있음).
단계(410)의 하나의 실시예에서, WP 파라미터들의 제1 추정치는 이미지 cur의 샘플들 및 기준 이미지 ref의 (가능하게는 공동-위치된) 샘플들에 기초하여 획득된다.
단계(410)의 하나의 실시예에서, WP 파라미터들의 제1 추정치는, 이미지 cur 및 기준 이미지 ref에 대해 각각 계산되는 평균 샘플들 값(DCcur, DCref) 및 평균 표준 편차 또는 차분 절댓값들의 평균(ACcur, ACref)에 기초하여 획득된다.
이어서, WP 파라미터들 가중치(weight) 및 오프셋(offset)은 하기와 같이 도출될 수 있다:
weight = ACcur / ACref
offset = DCcur - weight × DCref
예를 들어, 이미지 "cur"의 컴포넌트 "C"에 대한 평균 샘플 값 DCcur이 다음에 의해 주어진다:
Figure pct00002
여기서 "cur(x)"은, 컴포넌트 "C"에 대한 이미지 "cur" 내의 위치 "x"에서의 샘플 값이다.
예를 들어, 차분 절댓값들의 평균 값 ACcur은 다음에 의해 주어진다:
Figure pct00003
단계(420)에서, WP 파라미터들의 제2 추정치는 WP 파라미터들의 제1 추정치, 현재 이미지 cur의 샘플들 및 기준 이미지 ref의 (가능하게는 공동-위치된) 샘플들로부터 도출된 스케일링된 기준 이미지 히스토그램 H'scaled에 기초한다.
도 5는 적어도 하나의 실시예에 따른 단계(420)의 흐름도를 도시한다.
단계(4201)에서, 이미지 cur의 샘플들의 이미지 히스토그램 Hcur 및 기준 이미지 ref의 (가능하게는 공동-위치된) 샘플들의 기준 이미지 히스토그램 Href가 계산된다.
단계(4202)에서, 현재 WP 파라미터들(weight; offset)은, 예를 들어, 주어진 값을 이전 가중치 및 오프셋 값들에 가산하는 것에 의해, 이전 WP 파라미터 값들로부터 도출된다.
단계(4203)에서, 스케일링된 기준 이미지 히스토그램 Hscaled는, 하기와 같이 기준 이미지 히스토그램 Href 및 현재 WP 파라미터들(weight; offset)로부터 도출된다:
Figure pct00004
이때 i는 Href의 빈이다.
단계(4204)에서, 히스토그램 왜곡 D(Hcur, Hscaled)는 이미지 히스토그램 Hcur과 스케일링된 기준 이미지 히스토그램 Hscaled 사이에 계산된다.
현재 WP 파라미터들은, D(Hcur, Hscaled) < min(이전에 저장된 WP 파라미터들과 연관된 히스토그램 왜곡의 값)인 경우, 저장(선택)된다. 그렇지 않은 경우, 새로운 현재 WP 파라미터들이 단계(4202)에서 고려되고, 단계들(4203 내지 4204(4205))이 반복된다.
도 4로 돌아가서, 단계(430)에서, 히스토그램 왜곡 "HD_noWP"=D(Hcur, Href)는 이미지 히스토그램 Hcur과 기준 이미지 히스토그램 Href 사이에 계산된다. 다른 히스토그램 왜곡 "HD_WP"=D(Hcur, H'scaled)는, 저장된 WP 파라미터들이 사용되는 경우, 단계(4203)로부터 도출된 스케일링된 기준 이미지 히스토그램 H'scaled와 이미지 히스토그램 Hcur 사이에 계산된다.
이어서, D(Hcurr, H'scaled) < D(Hcurr, Href)인 경우, 이미지 블록들을 예측하기 위해 WP 파라미터들의 제2 추정치가 사용된다(인에이블됨)(440). 그렇지 않은 경우(D(Hcurr, H'scaled) >= D(Hcurr, Href)), WP 파라미터들의 제2 추정치는 디스에이블된다(이미지 블록들을 예측하는 데 사용되지 않음)(450).
변형예에서, 정보는 가중 파라미터들의 제1 추정치가 개선(refine)되었는지(단계들(420, 430)에 뒤이은 단계(440 또는 450)) 또는 개선되지 않았는지(단계(460)에 뒤이은 단계(440 또는 450))를 나타낸다.
변형예에서, WP 파라미터들의 제1 추정치가 디폴트 파라미터들로부터 획득되는 경우(가중치가 1과 동일할 수 있고 오프셋이 0과 동일할 수 있음), 단계(410)에 이어서 단계들(단계(420, 430)에 뒤이은 단계(440 또는 450))이 뒤따른다.
변형예에서, 이 정보는 인코더의 구성 파라미터일 수 있다.
변형예에서, 정보는 이미지의 컴포넌트에 관한 것이다. 이어서, 픽처의 컴포넌트에 대해 단계(420 및 430)가 실행될 수 있고 상기 픽처의 다른 컴포넌트에 대해 단계(460)가 실행될 수 있다.
변형예에서, 이미지의 모든 컴포넌트들에 동일한 정보가 사용된다. 이어서, 이러한 컴포넌트들에 대해 단계(420 및 430) 또는 단계(460) 중 어느 하나가 실행될 수 있다.
단계(460)에서, 차분 절댓값들의 합(SAD_WP)이 이미지 cur의 샘플들과 스케일링된 기준 이미지의 (가능하게는 공동-위치된) 샘플들 사이에 계산된다.
Figure pct00005
차분 절댓값의 다른 합(SAD_noWP)이 이미지 cur의 샘플들과 기준 이미지 ref의 (가능하게는 공동-위치된) 샘플들 사이에 계산된다.
Figure pct00006
이어서, SAD_WP<SAD_noWP인 경우, 이미지 블록들을 예측하기 위해 WP 파라미터들의 제1 추정치가 사용된다(인에이블됨)(440). 그렇지 않은 경우(SAD_WP > =SAD_noWP), WP 파라미터들의 제1 추정치는 디스에이블된다(이미지 블록들을 예측하는 데 사용되지 않음)(450).
이미지 블록들을 예측하기 위해 WP 파라미터들의 사용을 인에이블 또는 디스에이블하기 위한 SAD의 사용은, SAD가 이미지 및 기준 이미지 내의 (가능하게는 공동-위치되거나 전역적으로 모션 보상된) 샘플들 사이의 차분을 측정하기 때문에, 비디오 시퀀스가 거의 모션을 포함하지 않는 것으로 가정한다. 그러나, 움직이는 객체들이 있는 시퀀스를 갖는 비디오의 경우, SAD의 유효성은 상당히 감소한다. 이러한 문제는, 이미지 블록들을 예측하기 위해 추정된 WP 파라미터들을 인에이블 또는 디스에이블하는 것에 대한 더 나은 결정들을 취하기 위해 히스토그램 기반 왜곡들을 사용함으로써(단계(430)) 해결될 수 있다.
변형예에서, 본 방법은 예측될 이미지 블록들의 샘플들의 비트-깊이를 증가시키는 단계를 포함할 수 있다. 이어서, 이미지 블록들의 샘플들의 비트-깊이에 비해 증가된 비트 깊이를 갖는 내부 샘플들이 획득되고 저장된다. 이러한 비트-깊이 증가는 샘플 기반 예측 프로세스들에서 수치 정밀도(numerical precision)를 증가시킨다.
예를 들어, 이미지의 8-비트 샘플들은 10-비트 내부 샘플들로 증가될 수 있다.
이미지 히스토그램 및 기준 이미지 히스토그램은 도 6에 도시된 바와 같은 비트-깊이 증가에 의해 크게 영향을 받을 수 있다.
도 6의 상단은 8-비트 픽처에서 10-비트 픽처로의 비트 깊이 증가가 히스토그램들에 어떻게 영향을 주는지를 보여주는 전형적인 예를 도시한다. 상단-좌측 히스토그램은 8-비트 이미지 히스토그램의 일부를 나타내고, 상단-우측은 (2 비트만큼 좌측 시프트된) 10-비트 이미지 히스토그램이다. 비트-깊이 증가가 일부 빈들에 대해 비어있는(empty) 히스토그램 값들을 생성한다는 것을 알 수 있다. 그러나, 손실 코딩 알고리즘들은 동일한 샘플 값들을 정확히 재구성하지 않을 것이고, 재구성된 샘플 값들의 히스토그램은 도 6의 하단에 예시된 바와 같이 매우 다르게 보일 수 있다.
이러한 문제를 해결하기 위해, 변형예에서, 본 방법은, 이미지 cur의 비트-깊이(입력-비트-깊이)가 내부 샘플들의 비트-깊이 또는 재구성된 이미지의 비트-깊이와 같은 다른 주어진 비트-깊이(주어진-비트-깊이)보다 낮은 경우 이미지 히스토그램 Hcur을 확산시키는 단계를 포함한다.
비트-깊이 증가 후, 이미지 cur의 히스토그램은 정규 간격으로 이격된, 비어있는 빈들과 별개인 격리된(isolated) "피크들"로 만들어진다.
예를 들어, 평활화 프로세스는 매 k x (1<<db) 위치들에 위치된 상기 "격리된" 피크 주위에 히스토그램 피크 값들 N(k)을 분포시킴으로써 수행될 수 있으며, 이때 db = given-bit-depth(주어진-비트-깊이) - input-bit-depth(입력-비트-깊이)이다.
값들의 분포(확산)는 도 7-좌측에 도시된 바와 같이 동일하게, 또는 도 7-우측에 도시된 바와 같이 동일하지 않게 이루어질 수 있다.
확산 윈도우 내의 히스토그램 값들의 합은 확산 전에 그리고 후에 N(k)와 동일하게 일정하게 유지된다.
도 7의 예에서, 파선 히스토그램(dashed histogram)은 비트-깊이 증가 후의 이미지 히스토그램이고, 실선(full-line)은 확산 이미지 히스토그램이다. 전형적으로, "내부-비트-깊이(internal-bit-depth)"=10-비트이고 "입력-비트-깊이(input-bit-depth)"= 8-비트인 경우, 확산 윈도우 크기는 (1<<db)=4이다.
동일하지 않은 확산의 경우, 코딩 후에 샘플 에러들의 타당성있는/가능성있는 분포(plausible/probable distribution)를 모방하기 위해, 도 7-우측에 도시된 바와 같이, "격리된" 피크 위치에 중심을 둔 가우시안 가중치들을 사용할 수 있다.
다양한 구현예들이 디코딩을 수반한다. 본 출원에서 사용된 바와 같은 "디코딩"은, 예를 들어, 디스플레이에 적합한 최종 출력을 생성하기 위해 수신된 인코딩된 시퀀스 상에서 수행된 프로세스들의 전부 또는 일부를 포함할 수 있다.
다양한 실시예들에서, 그러한 프로세스들은 전형적으로 디코더에 의해 수행된 프로세스들 중 하나 이상의 프로세스들, 예를 들어, 엔트로피 디코딩, 역 양자화, 역 변환, 및 차동 디코딩을 포함한다.
다양한 실시예들에서, 그러한 프로세스들은 또한, 또는 대안적으로, 본 출원에 기술된 다양한 구현예들의 디코더에 의해 수행되는 프로세스들을 포함하는데, 상기 프로세스들은, 예를 들어, 정보 INF를 수신하는 것; 현재 이미지 블록에 대한 아핀 변환(affine transform)에 기초하여 인터 예측 블록 및 인트라 예측 블록으로부터 조합된 인터-인트라 예측 블록을 도출하는 것; 및 결정된 조합된 인터-인트라 예측을 사용하여 이미지 블록을 디코딩하는 것을 포함한다.
추가적인 예들로서, 하나의 실시예에서 "디코딩"은 엔트로피 디코딩만을 지칭하고, 다른 실시예에서 "디코딩"은 차동 디코딩만을 지칭하고, 또 다른 실시예에서 "디코딩"은 엔트로피 디코딩 및 차동 디코딩의 조합을 지칭한다. "디코딩 프로세스"라는 문구가 구체적으로 동작들의 서브세트를 지칭하도록 의도되는지 또는 대체적으로 더 넓은 디코딩 프로세스를 지칭하도록 의도되는지 여부는 구체적인 설명들의 맥락에 기초하여 명백할 것이고, 당업자에 의해 잘 이해될 것으로 여겨진다.
다양한 구현예들이 인코딩을 수반한다.
"디코딩"에 관한 상기의 논의와 유사한 방식으로, 본 출원에서 사용된 바와 같은 "디코딩"은 인코딩된 비트스트림을 생성하기 위해, 예를 들어, 입력 비디오 시퀀스 상에서 수행된 프로세스들의 전부 또는 일부를 포함할 수 있다.
다양한 실시예들에서, 그러한 프로세스들은 전형적으로 인코더에 의해 수행된 프로세스들 중 하나 이상의 프로세스들, 예를 들어, 파티셔닝, 차동 인코딩, 변환, 양자화, 및 엔트로피 인코딩을 포함한다.
다양한 실시예들에서, 그러한 프로세스들은 또한 또는 대안적으로, 본 출원에서 기술된 다양한 구현예들의 인코더에 의해 수행되는 프로세스들, 예를 들어 현재 이미지 블록을 둘러싸는 콘텍스트에 적용되는 신경망을 사용하여 현재 이미지 블록에 대한 인트라 예측을 결정하는 것; 인트라 예측에 기초하여 현재 이미지 블록을 인코딩하는 것; 및 인코딩된 현재 이미지 블록을 송신하는 것을 포함한다.
추가적인 예들로서, 하나의 실시예에서 "인코딩"은 엔트로피 인코딩만을 지칭하고, 다른 실시예에서 "인코딩"은 차동 인코딩만을 지칭하고, 또 다른 실시예에서 "인코딩"은 차동 인코딩 및 엔트로피 인코딩의 조합을 지칭한다. "인코딩 프로세스"라는 문구가 구체적으로 동작들의 서브세트를 지칭하도록 의도되는지 또는 대체적으로 더 넓은 인코딩 프로세스를 지칭하도록 의도되는지 여부는 구체적인 설명들의 맥락에 기초하여 명백할 것이고, 당업자에 의해 잘 이해될 것으로 여겨진다.
도면이 흐름도로서 제시될 때, 그것은 또한 대응하는 장치의 블록도를 제공한다는 것이 이해되어야 한다. 유사하게, 도면이 블록도로서 제시될 때, 그것은 또한 대응하는 방법/프로세스의 흐름도를 제공한다는 것이 이해되어야 한다.
다양한 실시예들은 레이트 왜곡 최적화(rate distortion optimization)를 참조한다.
특히, 인코딩 프로세스 동안, 계산 복잡성의 제약들이 종종 주어지면, 레이트와 왜곡 사이의 균형 또는 트레이드오프가 보통 고려된다. 레이트 왜곡 최적화는 보통, 레이트 및 왜곡의 가중된 합인 레이트 왜곡 함수를 최소화하는 것으로서 공식화된다. 레이트 왜곡 최적화 문제를 해결하기 위한 상이한 접근법들이 존재한다. 예를 들어, 접근법들은, 코딩 및 디코딩 후에 재구성된 신호의 관련된 왜곡 및 그들의 코딩 비용의 완전한 평가와 함께, 모든 고려되는 모드들 또는 코딩 파라미터 값들을 포함한, 모든
인코딩 옵션들의 광범위한 테스팅에 기초할 수 있다. 인코딩 복잡성을 줄이기 위해, 특히 재구성된 것이 아니라 예측 또는 예측 잔차 신호에 기초한 근사화된 왜곡의 계산을 이용하여 더 빠른 접근법들이 또한 사용될 수 있다. 가능한 인코딩 옵션들 중 일부에 대해서만 근사화된 왜곡을, 그리고 다른 인코딩 옵션들에 대해 완전한 왜곡을 사용하는 것과 같은, 이들 2개의 접근법들의 혼합이 또한 사용될 수 있다. 다른 접근법들은 가능한 인코딩 옵션들의 서브세트만을 평가한다. 보다 대체적으로, 많은 접근법들은 최적화를 수행하기 위해 다양한 기법들 중 임의의 것을 채용하지만, 최적화는 반드시 코딩 비용 및 관련 왜곡 둘 모두의 완전한 평가인 것은 아니다. 그러나, 적어도 하나의 실시예에 따르면, 인코딩에서의 레이트 왜곡 최적화는 제거되는데, 이는 심층 인트라 예측 모드가 인트라 예측을 위한 유일한 이용가능한 모드이기 때문이다.
본 명세서에 기술된 구현예들 및 태양들은, 예를 들어, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림 또는 신호로 구현될 수 있다. 단일 형태의 구현예의 맥락에서만 논의되더라도(예를 들어, 방법으로서만 논의됨), 논의된 특징들의 구현예는 또한 다른 형태들(예를 들어, 장치 또는 프로그램)로 구현될 수 있다.
장치는, 예를 들어, 적절한 하드웨어, 소프트웨어, 및 펌웨어로 구현될 수 있다.
방법들은, 예를 들어, 컴퓨터, 마이크로프로세서, 집적 회로, 또는 프로그래밍가능 로직 디바이스를 포함하는, 대체적으로 프로세싱 디바이스들로 지칭되는, 예를 들어, 프로세서에서 구현될 수 있다.
프로세서들은 또한, 예를 들어, 컴퓨터, 셀룰러폰, 휴대용/개인 디지털 어시스턴트("PDA"), 및 최종 사용자들 사이의 정보의 통신을 용이하게 하는 다른 디바이스와 같은 통신 디바이스들을 포함한다.
"하나의 실시예" 또는 "일 실시예" 또는 "하나의 구현예" 또는 "일 구현예"뿐만 아니라 이들의 다른 변형예들에 대한 참조는, 실시예와 관련되어 기술된 특정 특징, 구조, 특성 등이 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 본 출원 전반에 걸친 다양한 곳에서 나타나는 "하나의 실시예에서" 또는 "일 실시예에서" 또는 "하나의 구현예에서" 또는 "일 구현예에서"라는 문구뿐만 아니라 임의의 다른 변형예들의 출현들은 반드시 모두 동일한 실시예를 참조하는 것은 아니다.
추가적으로, 본 출원은 다양한 정보를 "결정"하는 것을 언급할 수 있다. 정보를 결정하는 것은, 예를 들어, 정보를 추정하는 것, 정보를 계산하는 것, 정보를 예측하는 것, 또는 메모리로부터 정보를 취출하는 것 중 하나 이상을 포함할 수 있다.
또한, 본 출원은 다양한 정보에 "액세스"하는 것을 언급할 수 있다. 정보에 액세스하는 것은, 예를 들어, 정보를 수신하는 것, (예를 들어, 메모리로부터) 정보를 취출하는 것, 정보를 저장하는 것, 정보를 이동시키는 것, 정보를 복사하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것 중 하나 이상을 포함할 수 있다.
추가적으로, 본 출원은 다양한 정보를 "수신"하는 것을 언급할 수 있다. 수신하는 것은 "액세스"하는 것과 같이, 광범위한 용어인 것으로 의도된다. 정보를 수신하는 것은, 예를 들어, 정보에 액세스하는 것, 또는 정보를 (예를 들어, 메모리로부터) 취출하는 것 중 하나 이상을 포함할 수 있다. 또한, "수신"하는 것은 전형적으로, 예를 들어 정보를 저장하는 것, 정보를 프로세싱하는 것, 정보를 송신하는 것, 정보를 이동시키는 것, 정보를 복사하는 것, 정보를 소거하는 것, 정보를 계산하는 것, 정보를 결정하는 것, 정보를 예측하는 것, 또는 정보를 추정하는 것과 같은 동작들 동안, 하나의 방식으로 또는 다른 방식으로 수반된다.
예를 들어, "A/B", "A 및/또는 B" 및 "A 및 B 중 적어도 하나"의 경우에, 하기의 "/", "및/또는", 및 "~ 중 적어도 하나" 중 임의의 것의 사용은 제1 열거된 옵션(A)만의 선택, 또는 제2 열거된 옵션(B)만의 선택, 또는 옵션들(A 및 B) 둘 모두의 선택을 포괄하도록 의도된다는 것이 이해될 것이다. 추가 예로서, "A, B 및/또는 C" 및 "A, B, 및 C 중 적어도 하나"의 경우들에 있어서, 그러한 어구는, 제1 열거된 옵션(A)만의 선택, 또는 제2 열거된 옵션(B)만의 선택, 또는 제3 열거된 옵션(C)만의 선택, 또는 제1 및 제2 열거된 옵션들(A 및 B)만의 선택, 또는 제1 및 제3 열거된 옵션들(A 및 C)만의 선택, 또는 제2 및 제3 열거된 옵션들(B 및 C)만의 선택, 또는 3개의 옵션들(A 및 B 및 C) 모두의 선택을 포괄하도록 의도된다. 이는, 본 기술분야 및 관련 기술분야들의 당업자에게 명백한 바와 같이, 열거된 바와 같은 많은 항목들에 대해 확장될 수 있다.
또한, 본 명세서에 사용된 바와 같이, "신호"라는 단어는, 특히, 대응하는 디코더에 대한 무언가를 나타내는 것을 지칭한다. 예를 들어, 소정 실시예들에서, 인코더는 심층 인트라 예측을 위한 복수의 파라미터들 중 특정 파라미터를 시그널링한다.
이러한 방식으로, 일 실시예에서, 동일한 파라미터가 인코더 측 및 디코더 측 둘 모두에서 사용된다. 따라서, 예를 들어, 인코더는, 디코더가 동일한 특정 파라미터를 사용할 수 있도록 특정 파라미터를 디코더로 송신(명시적 시그널링)할 수 있다. 반대로, 디코더가 이미 특정 파라미터뿐만 아니라 다른 것들을 갖고 있다면, 단순히 디코더가 특정 파라미터를 알고 선택할 수 있게 하기 위해 송신(암시적 시그널링) 없이 시그널링이 사용될 수 있다. 임의의 실제 기능들의 송신을 회피함으로써, 다양한 실시예들에서 비트 절감이 실현된다. 시그널링은 다양한 방식들로 달성될 수 있다는 것이 이해되어야 한다. 예를 들어, 하나 이상의 신택스 요소들, 플래그들 등이 다양한 실시예들에서 대응하는 디코더로 정보를 시그널링하는 데 사용된다. 선행하는 것은 단어 "신호"의 동사 형태와 관련되지만, 단어 "신호"는 또한 명사로서 본 명세서에서 사용될 수 있다.
당업자에게 명백한 바와 같이, 구현예들은, 예를 들어 저장되거나 송신될 수 있는 정보를 전달하도록 포맷화된 다양한 신호들을 생성할 수 있다. 정보는, 예를 들어, 방법을 수행하기 위한 명령어들, 또는 기술된 구현예들 중 하나에 의해 생성된 데이터를 포함할 수 있다. 예를 들어, 신호는 기술된 실시예의 비트스트림을 전달하도록 포맷화될 수 있다. 그러한 신호는, 예를 들어, 전자기파로서(예를 들어, 스펙트럼의 무선 주파수 부분을 사용함) 또는 기저대역 신호로서 포맷화될 수 있다. 포맷화는, 예를 들어, 데이터 스트림을 인코딩하는 것, 및 인코딩된 데이터 스트림으로 캐리어를 변조하는 것을 포함할 수 있다. 신호가 전달하는 정보는, 예를 들어, 아날로그 또는 디지털 정보일 수 있다. 신호는, 알려진 바와 같이, 다양한 상이한 유선 또는 무선 링크들을 통해 송신될 수 있다. 신호는 프로세서 판독가능 매체 상에 저장될 수 있다.
다수의 실시예들을 설명한다. 이들 실시예들의 특징부들은 다양한 청구항 카테고리들 및 유형들에 걸쳐 단독으로 또는 임의의 조합으로 제공될 수 있다.

Claims (15)

  1. 방법으로서, 가중 예측 파라미터(weighted prediction parameter)들을 사용하여 이미지 블록을 예측하는 단계를 포함하고, 상기 가중 예측 파라미터들은,
    상기 가중 예측 파라미터들의 제1 추정치를 획득하는 단계;
    상기 가중 예측 파라미터들의 제1 추정치 및 기준 이미지의 샘플들로부터 도출된 스케일링된 기준 이미지 히스토그램에 기초하여 상기 가중 예측 파라미터들의 제2 추정치를 획득하는 단계; 및
    이미지의 샘플들로부터 도출된 이미지 히스토그램과 상기 기준 이미지의 샘플들로부터 도출된 기준 이미지 히스토그램 사이에 계산된 히스토그램 왜곡, 및 상기 가중 예측 파라미터들의 제2 추정치 및 상기 기준 이미지 히스토그램으로부터 도출된 스케일링된 기준 이미지 히스토그램과 상기 이미지 히스토그램 사이에 계산된 다른 히스토그램 왜곡에 기초하여 상기 이미지 블록들을 예측하기 위한 상기 가중 예측 파라미터들의 제2 추정치의 사용을 가능하게 하는 단계에 의해 추정되는, 방법.
  2. 제1항에 있어서, 상기 가중 예측 파라미터들의 제2 추정치를 획득하는 단계는 구성 파라미터에 의존하는, 방법.
  3. 제1항에 있어서, 상기 가중 예측 파라미터들의 제2 추정치를 획득하는 단계는 상기 이미지의 컴포넌트에 의존하는, 방법.
  4. 제3항에 있어서,
    - 상기 가중 예측 파라미터들의 제2 추정치를 획득하는 단계, 및 상기 이미지 블록들을 예측하기 위한 상기 가중 예측 파라미터들의 제2 추정치의 사용을 가능하게 하는 단계는 상기 이미지의 제1 컴포넌트에 대해 수행되고, 상기 방법은, 상기 이미지의 제2 컴포넌트에 대해,
    - 가중 파라미터들의 제1 추정치, 및 상기 이미지의 샘플들과 스케일링된 기준 이미지의 샘플들 사이의 차분 절댓값들의 합(sum of absolute differences), 및 상기 이미지의 샘플들과 기준 이미지의 샘플들 사이의 차분 절댓값들의 합에 기초하여 상기 이미지 블록들을 예측하기 위한 상기 가중 예측 파라미터들의 사용을 가능하게 하는 단계를 추가로 포함하는, 방법.
  5. 제1항에 있어서, 상기 가중 예측 파라미터들의 제1 추정치를 획득하기 전에 상기 이미지 히스토그램을 확산시키는 단계를 추가로 포함하는, 방법.
  6. 제5항에 있어서, 상기 이미지 히스토그램을 확산시키는 단계는 상기 이미지의 샘플들의 비트-깊이 및 주어진 비트-깊이에 의존하는, 방법.
  7. 제5항에 있어서, 상기 이미지 히스토그램을 확산시키는 단계는 상기 이미지 히스토그램의 피크 주위에서 상기 피크에 대해 상기 이미지의 샘플들을 분포시키는 단계를 포함하는, 방법.
  8. 제1항에 있어서, 상기 가중 예측 파라미터들의 제1 추정치는 디폴트 가중 파라미터들로부터 획득되거나, 또는 상기 이미지의 샘플들 및 기준 이미지의 샘플들에 기초하여 획득되는, 방법.
  9. 장치로서, 가중 예측 파라미터들을 사용하여 이미지 블록을 예측하도록 구성되는 하나 이상의 프로세서들을 포함하고, 상기 가중 예측 파라미터들은,
    상기 가중 예측 파라미터들의 제1 추정치를 획득하는 것;
    상기 가중 예측 파라미터들의 제1 추정치 및 기준 이미지의 샘플들로부터 도출된 스케일링된 기준 이미지 히스토그램에 기초하여 상기 가중 예측 파라미터들의 제2 추정치를 획득하는 것; 및
    이미지의 샘플들로부터 도출된 이미지 히스토그램과 상기 기준 이미지의 샘플들로부터 도출된 기준 이미지 히스토그램 사이에 계산된 히스토그램 왜곡, 및 상기 가중 예측 파라미터들의 제2 추정치 및 상기 기준 이미지 히스토그램으로부터 도출된 스케일링된 기준 이미지 히스토그램과 상기 이미지 히스토그램 사이에 계산된 다른 히스토그램 왜곡에 기초하여 상기 이미지 블록들을 예측하기 위한 상기 가중 예측 파라미터들의 제2 추정치의 사용을 가능하게 하는 것에 의해 추정되는, 장치.
  10. 제9항에 있어서, 상기 가중 예측 파라미터들의 제2 추정치를 획득하는 것은 구성 파라미터에 의존하는, 장치.
  11. 제9항에 있어서, 상기 가중 예측 파라미터들의 제2 추정치를 획득하는 것은 상기 이미지의 컴포넌트에 의존하는, 장치.
  12. 제11항에 있어서,
    - 상기 가중 예측 파라미터들의 제2 추정치를 획득하는 것, 및 상기 이미지 블록들을 예측하기 위한 상기 가중 예측 파라미터들의 상기 제2 추정치의 사용을 가능하게 하는 것은 상기 이미지의 제1 컴포넌트에 대해 수행되고, 상기 하나 이상의 프로세서들은, 상기 이미지의 제2 컴포넌트에 대해,
    - 가중 파라미터들의 제1 추정치, 및 상기 이미지의 샘플들과 스케일링된 기준 이미지의 샘플들 사이의 차분 절댓값들의 합, 및 상기 이미지의 샘플들과 기준 이미지의 샘플들 사이의 차분 절댓값들의 합에 기초하여 상기 이미지 블록들을 예측하기 위한 상기 가중 예측 파라미터들의 사용을 가능하게 하도록 추가로 구성되는, 장치.
  13. 제9항에 있어서, 상기 가중 예측 파라미터들의 제1 추정치를 획득하기 전에 상기 이미지 히스토그램을 확산시키기 위한 수단을 추가로 포함하는, 장치.
  14. 제1항 내지 제8항 중 어느 한 항의 방법에 따라 생성된 데이터 콘텐츠를 포함하는 비일시적 컴퓨터 판독가능 매체.
  15. 프로그램이 컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금 제1항 내지 제8항 중 어느 한 항의 방법을 수행하게 하는 명령어들을 포함하는 컴퓨터 프로그램 제품.
KR1020227025583A 2019-12-26 2020-12-10 가중-예측 파라미터들의 추정 KR20220123666A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP19306775.8 2019-12-26
EP19306775 2019-12-26
PCT/EP2020/085446 WO2021130025A1 (en) 2019-12-26 2020-12-10 Estimating weighted-prediction parameters

Publications (1)

Publication Number Publication Date
KR20220123666A true KR20220123666A (ko) 2022-09-08

Family

ID=69185263

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227025583A KR20220123666A (ko) 2019-12-26 2020-12-10 가중-예측 파라미터들의 추정

Country Status (5)

Country Link
US (1) US20220385917A1 (ko)
EP (1) EP4082204A1 (ko)
KR (1) KR20220123666A (ko)
CN (1) CN115152231A (ko)
WO (1) WO2021130025A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023277603A1 (ko) * 2021-07-02 2023-01-05 현대자동차주식회사 비디오 부호화/복호화 방법 및 장치
WO2023038447A1 (ko) * 2021-09-08 2023-03-16 현대자동차주식회사 비디오 부호화/복호화 방법 및 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8498336B2 (en) * 2006-02-02 2013-07-30 Thomson Licensing Method and apparatus for adaptive weight selection for motion compensated prediction
US9654775B2 (en) * 2014-01-09 2017-05-16 Vixs Systems, Inc. Video encoder with weighted prediction and methods for use therewith

Also Published As

Publication number Publication date
CN115152231A (zh) 2022-10-04
WO2021130025A1 (en) 2021-07-01
EP4082204A1 (en) 2022-11-02
US20220385917A1 (en) 2022-12-01

Similar Documents

Publication Publication Date Title
US20220159277A1 (en) Method and apparatus for video encoding and decoding with subblock based local illumination compensation
AU2019354653B2 (en) Generalized bi-prediction and weighted prediction
US20220385922A1 (en) Method and apparatus using homogeneous syntax with coding tools
US11962753B2 (en) Method and device of video coding using local illumination compensation (LIC) groups
US20230232037A1 (en) Unified process and syntax for generalized prediction in video coding/decoding
KR20210062055A (ko) 양방향 예측을 사용하는 비디오 인코딩 및 디코딩을 위한 방법 및 장치
US20220385917A1 (en) Estimating weighted-prediction parameters
WO2020117781A1 (en) Method and apparatus for video encoding and decoding with adjusting the quantization parameter to block size
US11991389B2 (en) Method and apparatus for video encoding and decoding with optical flow based on boundary smoothed motion compensation
US20240171731A1 (en) Geometric partitions with switchable interpolation filter
EP3668100A1 (en) Method and device for picture encoding and decoding
KR20220123643A (ko) 삼각형 병합 모드에서의 서브-블록 병합 후보들
US20220353517A1 (en) Local illumination compensation flag inheritance
US20230156190A1 (en) Signaling of merge indices for triangle partitions
US20220295057A1 (en) Switchable interpolation filters
KR20240071392A (ko) 이중-예측 가중화를 갖는 dmvr을 위한 방법 및 장치
WO2022101018A1 (en) A method and an apparatus for encoding or decoding a video
CN117501692A (zh) 用于视频编码和解码的模板匹配预测
CN118120228A (zh) 基于模板匹配的用于视频编码和解码的色度预测
EP3861746A1 (en) Block size based motion vector coding in affine mode