KR20210018862A - 동화상 부호화 장치, 동화상 복호 장치, 동화상 부호화 방법 및 동화상 복호 방법 - Google Patents

동화상 부호화 장치, 동화상 복호 장치, 동화상 부호화 방법 및 동화상 복호 방법 Download PDF

Info

Publication number
KR20210018862A
KR20210018862A KR1020207037739A KR20207037739A KR20210018862A KR 20210018862 A KR20210018862 A KR 20210018862A KR 1020207037739 A KR1020207037739 A KR 1020207037739A KR 20207037739 A KR20207037739 A KR 20207037739A KR 20210018862 A KR20210018862 A KR 20210018862A
Authority
KR
South Korea
Prior art keywords
weight
determining
index
block
prediction
Prior art date
Application number
KR1020207037739A
Other languages
English (en)
Other versions
KR102582887B1 (ko
Inventor
해리 칼바
보리보제 푸르트
Original Assignee
미쓰비시덴키 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 미쓰비시덴키 가부시키가이샤 filed Critical 미쓰비시덴키 가부시키가이샤
Priority to KR1020237032329A priority Critical patent/KR20230143620A/ko
Publication of KR20210018862A publication Critical patent/KR20210018862A/ko
Application granted granted Critical
Publication of KR102582887B1 publication Critical patent/KR102582887B1/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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • 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

Abstract

방법은 비트 스트림을 수신하는 것과, 현재의 블록에 대하여 적응적 가중치를 갖는 쌍방향 예측 모드가 유효하게 되어 있는지 여부를 판정하는 것과, 적어도 하나의 가중치를 결정하는 것과, 상기 현재의 블록의 화상 데이터를 재구성하는 것과, 적어도 2개의 참조 블록의 가중된 조합을 사용하는 것을 포함한다. 관련되는 장치, 시스템, 기술 및 제품이 또한 기술된다.

Description

적응적 가중치를 갖는 쌍방향 예측
관련 출원에 대한 상호 참조
이 출원은 2018년 7월 6일에 출원된 미국 가 특허 출원 No. 62/694,524와 2018년 7월 6일에 출원된 미국 가 특허 출원 No. 62/694,540에 대한 우선권을 주장하고, 각각의 전체의 내용은 여기에 참조에 의해 명시적으로 포함된다.
본 명세서에서 설명되는 주제는 복호와 부호화를 포함하는 동화상 압축에 관한 것이다.
동화상 코덱은 디지털 동화상을 압축 혹은 전개하는 전자 회로 혹은 소프트웨어를 포함할 수 있다. 이들은 압축되지 않은 동화상을 압축된 포맷으로 변환하거나 그 반대의 변환을 할 수 있다. 동화상 압축의 맥락에서는, 동화상을 압축하는(또한/또는 그 일부의 기능을 수행하는) 디바이스는 일반적으로 인코더라고 불릴 수 있고, 동화상을 전개하는(또한/또는 그 일부의 기능을 수행하는) 디바이스는 디코더라고 불릴 수 있다.
압축된 데이터의 포맷은 표준규격의 동화상 압축 사양에 따를 수 있다. 압축은 압축된 동화상이 원래의 동화상에 존재하는 몇몇의 정보를 결여한다고 하는 점에서 비가역적일 수 있다. 이 결과 복호된 동화상은 원래의 압축되지 않은 동화상보다 낮은 품질을 가질 수 있고, 이것은 원래의 동화상을 정확하게 재구성하기 위한 충분한 정보가 없기 때문이다.
동화상의 품질, (예컨대, 비트 레이트에 의해 결정되는) 동화상을 표현하기 위해 사용되는 데이터의 양, 부호화 및 복호 알고리즘의 복잡함, 데이터의 로스 및 에러에 대한 민감함, 편집의 용이함, 랜덤 액세스, 엔드 투 엔드(end-to-end) 지연(예컨대, 레이턴시) 등의 사이에는 복잡한 관계가 있을 수 있다.
일 측면에 있어서는, 방법은 비트 스트림을 수신하는 것, 현재의 블록에 대하여 적응적 가중치를 갖는 쌍방향 예측 모드가 유효한지 여부를 판정하는 것, 적어도 하나의 가중치를 결정하는 것, 현재의 블록의 화소 데이터를 재구성하고 적어도 2개의 참조 블록의 가중된 조합을 사용하는 것을 포함한다.
이하의 하나 이상은 임의의 실현 가능한 조합에 포함될 수 있다. 예컨대, 비트 스트림은 그 블록에 대하여 적응적 가중치를 갖는 쌍방향 예측 모드가 유효한지 여부를 나타내는 파라미터를 포함할 수 있다. 적응적 가중치를 갖는 쌍방향 예측 모드는 비트 스트림 중에서 시그널링될 수 있다. 적어도 하나의 가중치를 결정하는 것은 가중치의 배열에 인덱스를 결정하는 것, 인덱스를 사용하여 가중치의 배열에 액세스하는 것을 포함할 수 있다. 적어도 하나의 가중치를 결정하는 것은 현재의 프레임으로부터 적어도 2개의 참조 블록의 제 1 참조 프레임까지의 제 1 거리를 결정하는 것, 현재의 프레임으로부터 그 적어도 2개의 참조 블록의 제 2 참조 프레임까지의 제 2 거리를 결정하는 것, 제 1 거리 및 제 2 거리에 근거하여 적어도 하나의 가중치를 결정하는 것을 포함할 수 있다. 제 1 거리 및 제 2 거리에 근거하여 적어도 하나의 가중치를 결정하는 것은 w1=α0×(NI)/(NI+NJ), w0=(1-w1)에 따라서 수행될 수 있고, 여기서 w1은 제 1 가중치이고, w2는 제 2 가중치이고, α0은 미리 결정된 값이고, NI는 제 1 거리이고, NJ는 제 2 거리이다. 적어도 하나의 가중치를 결정하는 것은 적어도 가중치의 배열로의 인덱스를 결정하고 인덱스를 사용하여 가중치의 배열에 액세스하는 것에 의해 제 1 가중치를 결정하는 것, 적어도 제 1 가중치를 어느 값으로부터 감산하는 것에 의해 제 2 가중치를 결정하는 것을 포함할 수 있다. 이 배열은 {4, 5, 3, 10, -2}를 포함하는 정수값을 포함할 수 있다.
제 1 가중치를 결정하는 것은 인덱스에 의해 특정되는 배열의 요소에 제 1 가중치 변수 w1을 설정하는 것을 포함할 수 있다. 제 2 가중치를 결정하는 것은 그 값으로부터 제 1 가중치 변수를 감산한 것과 같은 제 2 가중치 변수 w0을 설정하는 것을 포함할 수 있다.
제 1 가중치를 결정하는 것과 제 2 가중치를 결정하는 것은 bcwWLut[k]={4, 5, 3, 10, -2}로 하여 변수 w1을 bcwWLut[bcwIdx]와 같게 설정하는 것, 변수 w0을 (8-w1)과 같게 설정하는 것에 따라서 수행될 수 있고, 여기서 bcwIdx는 인덱스이고, k는 변수이다. 적어도 2개의 참조 블록의 가중된 조합은 pbSamples[x][y]=Clip3(0, (1 << bitDepth)-1, (w0*predSamplesL0[x][y]+w1*predSamplesL1[x][y]+offset3) >> (shift2+3))에 따라서 계산될 수 있고, 여기서 pbSambles[x][y]는 예측 화소값이고, x 및 y는 휘도 위치이고, <<는 2진 숫자에 의한 2의 보수 정수 표현의 산술적 왼쪽 시프트이고, predSamplesL0은 적어도 2개의 참조 블록의 제 1 참조 블록의 화소값의 제 1 배열이고, predSamplesL1은 적어도 2개의 참조 블록의 제 2 참조 블록의 화소값의 제 2 배열이고, offset3은 오프셋 값이고, shift2는 시프트 값이고,
Figure pct00001
이다.
인덱스를 결정하는 것은 병합 모드 동안 인접 블록으로부터의 인덱스를 채용하는 것을 포함할 수 있다. 병합 모드 동안 인접 블록으로부터의 인덱스를 채용하는 것은 공간적 후보와 시간적 후보를 포함하는 병합 후보 리스트를 결정하는 것, 비트 스트림에 포함되는 병합 후보 인덱스를 사용하여, 병합 후보 리스트로부터의 병합 후보를 선택하는 것, 인덱스의 값을 선택된 병합 후보와 관련되는 인덱스의 값으로 설정하는 것을 포함할 수 있다. 이 적어도 2개의 참조 블록은 이전의 프레임으로부터의 예측 샘플의 제 1 블록과 후속의 프레임으로부터의 예측 샘플의 제 2 블록을 포함할 수 있다. 화소 데이터를 재구성하는 것은 비트 스트림에 포함되는 관련된 움직임 벡터를 사용하는 것을 포함할 수 있다. 화소 데이터를 재구성하는 것은 전기회로를 포함하는 디코더에 의해 수행될 수 있고, 여기서의 디코더는 비트 스트림을 수신하고 비트 스트림을 양자화 계수로 복호하도록 구성된 엔트로피 디코더 프로세서와, 역 이산 코사인을 수행하는 것을 포함하는 양자화 계수를 처리하도록 구성된 역 양자화 및 역 변환 프로세서와, 디블로킹 필터와, 프레임 버퍼와, 인트라 예측 프로세서를 더 포함한다. 현재의 블록은 쿼드트리 플러스 이진 결정 트리(quadtree plus binary decision tree)의 일부를 형성할 수 있다. 현재의 블록은 부호화 트리 단위, 부호화 단위, 및/또는 예측 단위일 수 있다.
비 일시적 컴퓨터 프로그램 제품(즉, 물리적으로 구현된 컴퓨터 프로그램 제품)은 또한, 하나 이상의 계산 시스템의 하나 이상의 데이터 프로세서에 의해 실행되었을 때, 적어도 하나의 데이터 프로세서에 본 명세서의 조작을 수행시키는 명령을 저장한다고 기술된다. 마찬가지로, 컴퓨터 시스템도 하나 이상의 데이터 프로세서와 이 하나 이상의 데이터 프로세서에 결합된 메모리를 포함할 수 있다고 기술된다. 메모리는 적어도 하나의 프로세서에 본 명세서에서 설명되는 조작의 하나 이상을 수행시키는 명령을 일시적으로 혹은 영구적으로 저장할 수 있다. 또한, 방법은 하나 이상의 데이터 프로세서에 의해 단일 계산 시스템 내에서 혹은 둘 이상의 계산 시스템에 분산되어 구현될 수 있다. 그러한 계산 시스템은 다수의 계산 시스템 등의 하나 이상의 사이의 직접 연결을 거친, 네트워크(예컨대, 인터넷, 무선 와이드 에리어 네트워크, 로컬 에리어 네트워크, 와이드 에리어 네트워크, 유선 네트워크 등)를 통한 연결을 포함하는 하나 이상의 연결을 거쳐서 연결될 수 있고 데이터 및/또는 커맨드 또는 다른 명령 등을 그 하나 이상의 연결을 거쳐서 교환할 수 있다.
본 명세서에서 설명되는 주제의 하나 이상의 변형의 상세는 첨부된 도면과 이하의 설명에 기재된다. 본 명세서에서 설명되는 주제의 다른 특징과 이점은 설명과 도면으로부터, 또한 청구항으로부터 분명해질 것이다.
도 1은 쌍방향 예측의 예를 나타내는 도면이다.
도 2는 적응적 가중치를 갖는 쌍방향 예측의 예시적 복호 프로세스(200)를 나타내는 프로세스 흐름도이다.
도 3은 현재의 블록에 대한 예시적인 공간적 인접을 나타낸다.
도 4는 적응적 가중치를 갖는 쌍방향 예측을 수행할 수 있는 예시적 동화상 인코더를 나타내는 시스템 블록도이다.
도 5는 적응적 가중치를 갖는 쌍방향 예측을 사용한 비트 스트림을 복호할 수 있는 예시적 디코더를 나타내는 시스템 블록도이다.
도 6은 현재의 주제의 몇몇의 구현에 따른 참조 픽처 거리 접근법에 근거하는 적응적 가중치를 갖는 예시적 멀티 레벨 예측을 나타내는 블록도이다.
다양한 도면에 있어서의 비슷한 참조 기호는 비슷한 요소를 나타낸다.
몇몇의 구현에 있어서는, 가중된 예측은 적응적 가중치를 사용하여 개선될 수 있다. 예컨대, 참조 픽처의 조합(예컨대, 예측자)은 적응적일 수 있는 가중치를 사용하여 계산될 수 있다. 적응적 가중치에 대한 하나의 접근법은 참조 픽처 거리에 근거한 가중치를 적응적으로 조정하는 것이다. 적응적 가중치에 대한 다른 접근법은 인접 블록에 근거하여 가중치를 적응적으로 조정하는 것이다. 예컨대, 가중치는 현재의 블록의 움직임이 병합 모드에 있어서와 같이 인접 블록과 병합되어야 한다면 인접 블록으로부터 채용될 수 있다. 적응적으로 가중치를 결정하는 것에 의해, 압축 효율과 비트 레이트가 개선될 수 있다.
움직임 보상은 동화상에 있어서의 카메라 및/또는 물체의 움직임을 고려하여 이전 및/또는 미래의 프레임이 주어지면 동화상 프레임 또는 그 일부를 예측하기 위한 접근법을 포함할 수 있다. 동화상 압축을 위한 동화상 데이터의 부호화 및 복호, 예컨대, Motion Picture Experts Group(MPEG)-2(advanced video coding(AVC)이라고도 불린다) 표준 규격을 사용한 부호화 및 복호에 채용될 수 있다. 움직임 보상은 픽처를 참조 픽처의 현재의 픽처로의 변환에 의해 기술할 수 있다. 참조 픽처는 현재의 픽처와 비교했을 때 시간적으로 이전의 것 혹은 미래로부터의 것일 수 있다. 이전에 송신 및/또는 저장된 화상으로부터 정확하게 화상이 합성될 수 있는 경우, 압축 효율이 개선될 수 있다.
블록 분할은 비슷한 움직임의 영역을 찾아내기 위한 동화상 부호화에 있어서의 방법이라고 부를 수 있다. 블록 분할의 일부 형태는 MPEG-2, H.264(AVC 혹은 MPEG-4 Part 10이라고도 불린다) 및 H.265(High Efficiency Video Coding(HEVC)이라고도 불린다)를 포함하는 동화상 코덱 표준 규격에서 볼 수 있다. 예시적인 블록 분할 접근법에 있어서, 동화상 프레임의 겹치지 않는 블록은 비슷한 움직임을 갖는 화소를 포함하는 블록 분할을 찾아내기 위해 직사각형의 서브블록으로 분할될 수 있다. 이 접근법은 블록 분할의 모든 화소가 비슷한 움직임을 갖는 경우에 잘 기능할 수 있다. 블록에서의 화소의 움직임은 이전에 부호화된 프레임에 대하여 결정될 수 있다.
움직임 보상 예측은 MPEG-2, H.264/AVC, 및 H.265/HEVC를 포함하는 일부 동화상 부호화 표준 규격에 있어서 사용된다. 이들 표준 규격에 있어서는, 예측 블록은 참조 프레임으로부터의 화소를 사용하여 형성되고 그러한 화소의 위치는 움직임 벡터를 사용하여 시그널링된다. 쌍방향 예측이 사용될 때, 예측은, 도 1에 나타내는 바와 같이, 전방 및 후방 예측의 두 예측의 평균을 사용하여 형성된다.
도 1은 쌍방향 예측의 예를 나타내는 도면이다. 현재의 블록(Bc)은 후방 예측(Pb)과 전방 예측(Pf)에 근거하여 예측된다. 현재의 블록(Bc)은 Bc=(Pb+Pf)/2로서 형성될 수 있는 평균 예측으로서 취득될 수 있다. 그러나 그러한 쌍방향 예측(예컨대, 두 예측의 평균)을 이용하는 것은 최고의 예측을 제공하지 않을 수도 있다. 몇몇의 구현에 있어서는, 현재의 주제는 전방 예측과 후방 예측의 가중된 평균을 사용하는 것을 포함한다. 몇몇의 구현에 있어서는, 현재의 주제는 압축을 개선하기 위한 개선된 예측 블록과 참조 프레임의 개선된 사용을 제공할 수 있다.
몇몇의 구현에 있어서는, 멀티 레벨 예측은, 주어진 블록 Bc에 대하여, 부호화된 현재의 픽처에 있어서, 두 예측자 Pi 및 Pj를 포함할 수 있고 움직임 예측 프로세스를 사용하여 특정될 수 있다. 예컨대, 예측 Pc=(Pi+Pj)/2는 예측 블록으로서 사용될 수 있다. 가중된 예측은 α={1/4, -1/8}로 하여 Pc=αPi+(1-α)Pj로서 계산될 수 있다. 그러한 가중된 예측이 사용될 때, 가중치는 동화상 비트 스트림에 시그널링될 수 있다. 두 가중치로부터 선택하는 것으로 한정하는 것은 비트 스트림에서의 오버헤드를 삭감하고 비트레이트를 효과적으로 삭감하고 압축을 개선한다.
몇몇의 구현에 있어서는, 적응적 가중치는 참조 픽처 거리에 근거할 수 있다. 그러한 경우에 가중치는 Bc=αPI+βPJ로서 결정될 수 있다. 몇몇의 구현에 있어서는, β=(1-α)이다. 몇몇의 구현에 있어서는, NI 및 NJ는 참조 프레임 I 및 J의 거리를 포함할 수 있다. 인자 α 및 β는 프레임 거리의 함수로서 결정될 수 있다. 예컨대, α=α0×(NI)/(NI+NJ), β=(1-α)이다.
몇몇의 구현에 있어서는, 적응적 가중치는 현재의 블록이 인접 블록으로부터의 움직임 정보를 채용할 때의 인접 블록으로부터 채용될 수 있다. 예컨대, 현재의 블록이 병합 모드에 있고 공간적 또는 시간적 이웃을 특정한다면, 움직임 정보를 채용하는 것에 더하여, 가중치도 채용될 수 있다.
몇몇의 구현에 있어서는, 스케일링 파라미터 α, β는 블록마다 상이할 수 있고 이것은 동화상 비트 스트림에 있어서의 추가적인 오버헤드를 유발한다. 몇몇의 구현에 있어서는, 비트 스트림 오버헤드는 주어진 블록의 모든 서브블록에 대한 동일한 값의 α를 사용하는 것에 의해 삭감될 수 있다. 프레임의 모든 블록이 동일한 값의 α를 사용하고 그러한 값은 픽처 파라미터 세트와 같은 픽처 레벨 헤더에서 한 번만 시그널링된다고 하는 추가의 제약이 마련될 수 있다. 몇몇의 구현에 있어서는, 사용되는 예측 모드는 블록 레벨에서 새로운 가중치를 시그널링하고, 프레임 레벨에서 시그널링된 가중치를 사용하고, 병합 모드에서의 인접 블록으로부터의 가중치를 채용하고, 또한/또는 참조 프레임 거리에 근거하여 가중치를 적응적으로 스케일링하는 것에 의해 시그널링될 수 있다.
도 2는 적응적 가중치를 갖는 쌍방향 예측의 예시적 복호 프로세스(200)를 나타내는 프로세스 흐름도이다.
210에 있어서, 비트 스트림이 수신된다. 비트 스트림을 수신하는 것은 비트 스트림으로부터의 현재의 블록 및 관련되는 시그널링 정보를 추출 및/또는 해석하는 것을 포함할 수 있다.
220에 있어서, 적응적 가중치를 갖는 쌍방향 예측 모드가 현재의 블록에 대하여 유효하게 되는지 여부. 몇몇의 구현에 있어서, 비트 스트림은 적응적 가중치를 갖는 쌍방향 예측 모드가 블록에 대하여 유효하게 되어 있는지 여부를 나타내는 파라미터를 포함할 수 있다. 예컨대, 플래그(예컨대, sps_bcw_enabled_flag)는 부호화 단위(CU) 가중치를 갖는 쌍방향 예측이 인터 예측에 사용될 수 있는지 여부를 지정할 수 있다. sps_bcw_enabled_flag가 0과 같으면, CU 가중치를 갖는 쌍방향 예측이 부호화 동화상 시퀀스(CVS)에는 사용되지 않도록, 또한 bcw_idx가 CVS의 부호화 단위 신택스에는 존재하지 않도록 신택스가 제약될 수 있다. 그 외의 경우(예컨대, sps_bcw_enabled_flag가 1과 같은 경우), CVS에 있어서 CU 가중치를 갖는 쌍방향 예측이 사용될 수 있다.
230에서는, 적어도 하나의 가중치가 결정될 수 있다. 몇몇의 구현에 있어서는, 적어도 하나의 가중치를 결정하는 것은 가중치의 배열에 인덱스를 결정하는 것, 인덱스를 사용하여 가중치의 배열에 액세스하는 것을 포함할 수 있다. 인덱스는 블록 사이에서 상이할 수 있고, 비트 스트림에 명시적으로 시그널링되거나 또는 추정될 수 있다.
예컨대, 인덱스 배열 bcw_idx[x0][y0]은 비트 스트림에 포함될 수 있고 CU 가중치를 갖는 쌍방향 예측의 가중치 인덱스를 특정할 수 있다. 배열 인덱스 x0, y0은 픽처의 왼쪽 위의 휘도 샘플에 대하여 현재의 블록의 왼쪽 위 휘도 샘플의 위치(x0, y0)를 특정한다. bcw_idx[x0][y0]이 없는 경우, 0과 같다고 추정될 수 있다.
몇몇의 구현에 있어서는, 가중치의 배열은 정수값을 포함할 수 있고, 예컨대, 가중치의 배열은 {4, 5, 3, 10, -2}일 수 있다. 제 1 가중치를 결정하는 것은 제 1 가중치 변수 w1을 인덱스에 의해 지정되는 배열의 요소로 설정하는 것을 포함할 수 있고 제 2 가중치를 결정하는 것은 제 2 가중치 변수 w0을 어느 값으로부터 제 1 가중치 변수 w1을 감산한 것과 같은 것으로 설정하는 것을 포함할 수 있다. 예컨대, 제 1 가중치를 결정하는 것과 제 2 가중치를 결정하는 것은 bcwWLut[k]={4, 5, 3, 10, -2}로 하여 변수 w1을 bcwWLut[bcwIdx]와 같게 설정하는 것, 변수 w0을 (8-w1)과 같게 설정하는 것에 따라 수행될 수 있다.
인덱스를 결정하는 것은 병합 모드 동안 인접 블록으로부터의 인덱스를 채용하는 것을 포함할 수 있다. 예컨대, 병합 모드에 있어서, 현재의 블록에 대한 움직임 정보는 이웃으로부터 채용된다. 도 3은 현재의 블록에 대하여 예시적인 공간적 이웃(A0, A1, B0, B1, B2)을 나타낸다(A0, A1, B0, B1, B2의 각각은 인접하는 공간적 블록의 위치를 나타낸다).
병합 모드 동안 인접 블록으로부터의 인덱스를 채용하는 것은 공간적 후보와 시간적 후보를 포함하는 병합 후보 리스트를 결정하는 것, 비트스트림에 포함되는 병합 후보 인덱스를 사용하여, 병합 후보 리스트로부터의 병합 후보를 선택하는 것, 인덱스의 값을 선택된 병합 후보에 관련된 인덱스의 값으로 설정하는 것을 포함할 수 있다.
도 2를 다시 참조하면, 240에 있어서, 현재의 블록의 화소 데이터는 적어도 두 참조 블록의 가중된 조합을 사용하여 재구성될 수 있다. 적어도 두 참조 블록은 이전의 프레임으로부터의 예측 샘플의 제 1 블록과 미래의 프레임으로부터의 예측 샘플의 제 2 블록을 포함할 수 있다.
재구성하는 것은 예측을 결정하는 것과 예측과 잔여를 합성하는 것을 포함할 수 있다. 예컨대, 몇몇의 구현에 있어서는, 예측 샘플 값은 이하와 같이 결정될 수 있다.
pbSamples[x][y]=Clip3(0, (1 << bitDepth)-1, (w0*predSamplesL0[x][y]+w1*predSamplesL1[x][y]+offset3) >> (shift2+3))
여기서, pbSambles[x][y]는 예측 화소값, x 및 y는 휘도 위치이고,
Figure pct00002
이다.
<<는 2진 숫자에 의한 2의 보수 정수 표현의 산술적 왼쪽 시프트이고, predSamplesL0은 적어도 2개의 참조 블록의 제 1 참조 블록의 화소값의 제 1 배열이고, predSamplesL1은 적어도 2개의 참조 블록의 제 2 참조 블록의 화소값의 제 2 배열이고, offset3은 오프셋 값이고, shift2는 시프트 값이다.
도 4는 적응적 가중치를 갖는 쌍방향 예측을 수행할 수 있는 예시적 동화상 인코더(400)를 나타내는 시스템 블록도이다. 예시적 동화상 인코더(400)는 트리 구조 매크로 블록 분할 스킴(예컨대, 쿼드트리 플러스 이진 트리)과 같은 처리 스킴에 따라서 초기적으로 세그먼트화되거나 분할될 수 있는 입력 동화상(405)을 수신한다. 트리 구조 매크로 블록 분할 스킴의 예는 픽처 프레임을 부호화 트리 단위(CTU)라고 불리는 큰 블록 요소로 분할하는 것을 포함할 수 있다. 몇몇의 구현에 있어서는, 각 CTU는 부호화 단위(CU)라고 불리는 몇몇의 서브블록으로 1회 이상 더 분할될 수 있다. 이 분할의 최종적 결과는 예측 단위(PU)라고 불릴 수 있는 서브블록의 그룹을 포함할 수 있다. 변환 단위(TU)도 활용될 수 있다.
예시적 동화상 인코더(400)는 인트라 예측 프로세서(415), 적응적 가중치를 갖는 쌍방향 예측을 서포트할 수 있는 움직임 예측/보상 프로세서(420)(인터 예측 프로세서라고도 불린다), 변환/양자화 프로세서(425), 역 양자화/역 변환 프로세서(430), 인루프 필터(435), 복호 픽처 버퍼(440), 및 엔트로피 부호화 프로세서(445)를 포함한다. 몇몇의 구현에 있어서는, 움직임 예측/보상 프로세서(420)는 적응적 가중치를 갖는 쌍방향 예측을 수행할 수 있다. 적응적 가중치를 갖는 쌍방향 예측 모드를 시그널링하는 비트 스트림 파라미터 및 관련된 파라미터는 출력 비트 스트림(450)에 포함시키기 위해 엔트로피 부호화 프로세서(445)에 입력될 수 있다.
동작에 있어서는, 입력 동화상(405)의 프레임의 각 블록에 대하여, 블록을 인트라 픽처 예측으로 처리하는지 움직임 예측/보상을 이용하는지가 결정될 수 있다. 블록은 인트라 예측 프로세서(410) 또는 움직임 예측/보상 프로세서(420)에 주어질 수 있다. 블록이 인트라 예측에 의해 처리되는 경우는, 인트라 예측 프로세서(410)는 예측자를 출력하는 처리를 수행할 수 있다. 블록이 움직임 예측/보상에 의해 처리되는 경우는, 움직임 예측/보상 프로세서(420)는 예측자를 출력하기 위한 적응적 가중치를 갖는 쌍방향 예측의 사용을 포함하는 처리를 수행할 수 있다.
잔여는 입력 동화상으로부터 예측자를 감산하는 것에 의해 형성될 수 있다. 잔여는 양자화될 수 있는 계수를 생성하기 위한 변환 처리(예컨대, 이산 코사인 변환(DCT))를 수행할 수 있는 변환/양자화 프로세서(425)에 의해 수신될 수 있다. 양자화 계수 및 임의의 관련된 시그널링 정보는 엔트로피 부호화를 위한 그리고 출력 비트 스트림(450)에 포함시키기 위한 엔트로피 부호화 프로세서(445)에 제공될 수 있다. 엔트로피 부호화 프로세서(445)는 적응적 가중치를 갖는 쌍방향 예측에 관련된 시그널링 정보의 부호화를 서포트할 수 있다. 또한, 양자화 계수는 예측자와 조합될 수 있고 인루프 필터(435)에 의해 처리되는 화소를 재구성할 수 있고, 그 출력이 적응적 가중치를 갖는 쌍방향 예측을 서포트할 수 있는 움직임 예측/보상 프로세서(420)에 의한 사용을 위해 복호 픽처 버퍼(440)에 저장되는 역 양자화/역 변환 프로세서(430)에 제공될 수 있다.
도 5는 적응적 가중치를 갖는 쌍방향 예측을 사용하여 비트 스트림(670)을 복호할 수 있는 예시적 디코더(600)를 나타내는 시스템 블록도이다. 디코더(600)는 엔트로피 디코더 프로세서(610), 역 양자화 및 역 변환 프로세서(620), 디블로킹 필터(630), 프레임 버퍼(640), 움직임 보상 프로세서(650) 및 인트라 예측 프로세서(660)를 포함한다. 몇몇의 구현에 있어서는, 비트 스트림(670)은 적응적 가중치를 갖는 쌍방향 예측을 시그널링하는 파라미터를 포함한다. 움직임 보상 프로세서(650)는 본 명세서에서 설명된 바와 같이 적응적 가중치를 갖는 쌍방향 예측을 사용하여 화소 정보를 재구성할 수 있다.
동작에 있어서는, 비트 스트림(670)은 디코더(600)에 의해 수신될 수 있고 비트 스트림을 양자화 계수로 엔트로피 복호하는 엔트로피 디코더 프로세서(610)에 입력될 수 있다. 양자화 계수는 역 양자화 및 역 변환을 수행하여 처리 모드에 따라서 움직임 보상 프로세서(650) 혹은 인트라 예측 프로세서(660)의 출력에 더하여질 수 있는 잔여 신호를 생성할 수 있는 역 양자화 및 역 변환 프로세서(620)에 공급될 수 있다. 움직임 보상 프로세서(650)와 인트라 예측 프로세서(660)의 출력은 이전에 복호한 블록에 근거한 블록 예측을 포함할 수 있다. 예측과 잔여의 합은 디블로킹 필터(630)에 의해 처리될 수 있고 프레임 버퍼(640)에 저장될 수 있다. 주어진 블록(예컨대, CU 혹은 PU)에 대하여, 비트 스트림(670)이 모드가 적응적 가중치를 갖는 쌍방향 예측인 것을 시그널링하는 경우, 움직임 보상 프로세서(650)는 본 명세서에서 설명되는 적응적 가중치를 갖는 쌍방향 예측 스킴에 근거하여 예측을 구성할 수 있다.
상기에서는 약간의 변형예가 상세하게 설명되었지만, 다른 변형 혹은 추가가 가능하다. 예컨대, 몇몇의 구현에 있어서는, 쿼드트리 플러스 이진 결정 트리(QTBT)가 구현될 수 있다. QTBT에서는, 부호화 트리 단위 레벨에 있어서, QTBT의 분할 파라미터가 동적으로 유도되어 어떤 오버헤드도 송신하는 일 없이 국소적 특성으로 적응적으로 조정된다. 계속해서, 부호화 단위 레벨에 있어서, 결합 분류자 결정 트리 구조는 불필요한 반복을 소거할 수 있고 틀린 예측의 리스크를 제어할 수 있다. 몇몇의 구현에 있어서는, 참조 픽처 거리에 근거하는 적응적 가중치를 갖는 쌍방향 예측은 QTBT의 모든 리프 노드에 있어서 이용 가능한 추가의 옵션으로서 이용 가능할 수 있다.
몇몇의 구현에 있어서는, 가중된 예측은 멀티 레벨 예측을 사용하여 개선될 수 있다. 이 접근법의 몇몇의 예에 있어서는, 2개의 중간 예측자는 다수의(예컨대, 3개, 4개, 혹은 그 이상의) 참조 픽처로부터의 예측을 사용하여 형성될 수 있다. 예컨대, 2개의 중간 예측자 PIJ와 PKL은, 도 6에 나타내는 바와 같이, 참조 픽처 I, J, K, L로부터의 예측을 사용하여 형성될 수 있다. 도 6은 현재의 주제의 몇몇의 구현에 따른 예시적인 적응적 가중치를 갖는 멀티 레벨 예측 접근법을 나타내는 블록도이다. 현재의 블록(Bc)은 2개의 후방 예측(Pi 및 Pk) 및 2개의 전방 예측(Pj 및 Pl)에 근거하여 예측될 수 있다.
두 예측 Pij 및 Pkl은 PIJ=αPI+(1-α)PJ 및 PKL=αPK+(1-α)PL로서 계산될 수 있다.
현재의 블록 Bc에 대한 최종적 예측은 PIJ와 PKL의 가중된 조합을 사용하여 계산될 수 있다. 예컨대, Bc=αPIJ+(1-α)PKL이다.
몇몇의 구현에 있어서는, 스케일링 파라미터 α는 블록마다 상이할 수 있고 동화상 비트스트림에 있어서 추가의 오버헤드로 이어질 수 있다. 몇몇의 구현에 있어서는, 비트스트림 오버헤드는 주어진 블록의 모든 서브블록에 대한 α의 동일한 값을 사용하는 것에 의해 감소될 수 있다. 프레임의 모든 블록이 동일한 값의 α를 사용하고 그러한 값이 픽처 파라미터 세트와 같은 픽처 레벨 헤더에서 한 번만 시그널링된다고 하는 추가의 제약이 가하여질 수 있다. 몇몇의 구현에 있어서는, 사용되는 예측 모드는 새로운 가중치를 블록 레벨에서 시그널링하고, 프레임 레벨에서 시그널링된 가중치를 사용하고, 병합 모드에 인접 블록으로부터의 가중치를 채용하고, 또한/또는 참조 프레임 거리에 근거하여 가중치를 적응적으로 스케일링하는 것에 의해 시그널링될 수 있다.
몇몇의 구현에 있어서는, 멀티 레벨 쌍방향 예측은 인코더 및/또는 디코더, 예컨대, 도 4의 인코더 및 도 5의 디코더에서 구현될 수 있다. 예컨대, 디코더는 비트 스트림을 수신하고, 멀티 레벨 쌍방향 예측 모드가 유효하게 되어 있는지 결정하고, 적어도 두 중간 예측을 결정하고, 블록의 화소 데이터를 재구성하고 적어도 두 중간 예측의 가중된 조합을 사용할 수 있다.
몇몇의 구현에 있어서는, 추가의 신택스 요소가 비트 스트림과 상이한 계층 레벨에서 시그널링될 수 있다.
현재의 주제는 둘 이상의 제어점이 활용되는 어파인(affine) 제어점 움직임 벡터 병합 후보에 적용할 수 있다. 가중치는 제어점의 각각에 대하여 결정될 수 있다(예컨대, 3개의 제어점).
본 명세서에서 설명되는 주제는 많은 기술적 이점을 제공한다. 예컨대, 현재의 주제의 몇몇의 구현은 압축 효율 및 정밀도를 증가시키는 적응적 가중치를 갖는 쌍방향 예측을 제공할 수 있다.
본 명세서에서 설명되는 주제의 하나 이상의 측면 혹은 특징은 디지털 전자 회로, 집적 회로, 특별하게 설계된 ASIC(application specific integrated circuit), FPGA(field programmable gate array) 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 그들의 조합으로 실현될 수 있다. 이들 다양한 측면 혹은 특징은, 전용 목적 또는 범용 목적의 것일 수 있고, 데이터 및 명령을 송수신하기 위해 저장 시스템, 적어도 하나의 입력 장치 및 적어도 하나의 출력 장치에 결합되는, 적어도 하나의 프로그램 가능한 프로세서를 포함하는 프로그램 가능한 시스템에서 실행 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있다. 프로그램 가능한 시스템 혹은 계산 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로로부터 떨어져 있고 전형적으로는 통신 네트워크를 통해서 상호 작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다.
프로그램, 소프트웨어, 소프트웨어 애플리케이션, 애플리케이션, 컴포넌트, 혹은, 코드라고도 불릴 수 있는 이들 컴퓨터 프로그램은 프로그램 가능한 프로세서를 위한 머신 명령을 포함하고, 고급 처리 언어, 오브젝트 지향 프로그램 언어, 기능 프로그램 언어, 논리 프로그램 언어, 및/또는 어셈블리/머신 언어로 구현될 수 있다. 본 명세서에서 사용되는 바와 같이, 용어 "머신 판독 가능 매체"는, 예컨대 머신 판독 가능 신호로서 머신 명령을 수신하는 머신 판독 가능 매체를 포함하는, 프로그램 가능한 프로세서에 머신 명령 및/또는 데이터를 공급하기 위해 사용되는, 자기 디스크, 광 디스크, 메모리, 및 PLD(Programmable Logic Device)와 같은, 임의의 컴퓨터 프로그램 제품, 장치 및/또는 디바이스를 가리킨다. 용어 "머신 판독 가능 신호"는 프로그램 가능한 프로세서에 머신 명령 및/또는 데이터를 제공하기 위해 사용되는 임의의 신호를 가리킨다. 머신 판독 가능 매체는, 예컨대 비 일시적 고체 메모리 혹은 자기 하드 드라이브 혹은 임의의 동등한 저장 매체와 같이, 그러한 머신 명령을 비 일시적으로 저장할 수 있다. 머신 판독 가능 매체는, 예컨대 프로세서 캐시 혹은 하나 이상의 물리 프로세서 코어와 관련된 다른 랜덤 액세스 메모리와 같이, 일시적인 방법으로서 선택적으로 또는 추가적으로 그러한 머신 명령을 저장할 수 있다.
유저와의 상호 작용을 제공하기 위해, 본 명세서에서 설명된 주제의 하나 이상의 측면 혹은 특징은, 예컨대 유저에게 정보를 표시하기 위한 음극선관(CRT) 혹은 액정 디스플레이(LCD) 혹은 발광 다이오드(LED) 모니터와 같은 표시 디바이스, 키보드, 예컨대 유저가 컴퓨터에 입력을 공급할 수 있는 마우스나 트랙볼과 같은 포인팅 디바이스를 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스도 유저와의 상호 작용을 제공하기 위해 사용될 수 있다. 예컨대, 유저에게 공급되는 피드백은, 예컨대 시각적 피드백, 음성적 피드백, 혹은 촉각적 피드백과 같은 감각 피드백의 임의의 형태일 수 있고, 유저로부터의 입력은 음향, 발성, 혹은 촉각 입력을 포함하는 임의의 형태로 수신되더라도 좋다. 다른 생각할 수 있는 입력 장치는 터치 스크린이나 1점 혹은 다점 저항 혹은 용량 트랙패드와 같은 다른 터치 감응 디바이스, 음성 인식 하드웨어 및 소프트웨어, 광 스캐너, 광 포인터, 디지털 화상 촬영 장치 및 관련되는 해석 소프트웨어 등을 포함한다.
상기 설명과 청구항에 있어서는, "적어도 하나" 혹은 "하나 이상의"와 같은 구절은 요소 혹은 특징의 접속적 리스트가 다음에 올 수 있다. 용어 "및/또는"도 둘 이상의 요소 혹은 특징의 리스트에서 올 수 있다. 사용되고 있는 문맥에 의해 암시적으로 혹은 명시적으로 모순되지 않는 한, 그러한 구절은 열거된 요소 혹은 특징의 임의의 것을 개별적으로 의미하도록 혹은 다른 인용된 요소 혹은 특징의 임의의 것과 조합하여 인용된 요소 혹은 특징의 임의의 것을 의미하도록 의도되어 있다. 예컨대, 구절 "A와 B의 적어도 하나", "A와 B의 하나 이상", "A 및/또는 B"는 각각 "A만, B만, 혹은 A와 B 함께"를 의미하도록 의도되어 있다. 비슷한 해석이 3개 이상의 항목을 포함하는 리스트에 대해서도 의도되어 있다. 예컨대, 구절 "A, B 및 C의 적어도 하나", "A, B, 및 C의 하나 이상", "A, B, 및/또는 C"는 각각 "A만, B만, C만, A와 B 함께, A와 C 함께, B와 C 함께, 혹은 A와 B와 C 함께"를 의미하도록 의도되어 있다. 또한, 상기 및 청구항에 있어서의 용어 "근거하여"의 사용은, 인용되고 있지 않은 특징 혹은 요소도 허용되도록, "적어도 부분적으로 근거하여"를 의미하도록 의도되어 있다.
본 명세서에서 설명된 주제는 바람직한 구성에 의해 시스템, 장치, 방법, 및/또는 제품으로 구현될 수 있다. 전술한 설명에서 기재된 구현은 본 명세서에서 설명된 주제와 정합한 모든 구현을 대표하지는 않는다. 대신에, 이들은 설명된 주제에 관련된 측면과 정합한 몇몇의 예에 불과하다. 상기에서는 약간의 변형이 상세하게 설명되었지만, 다른 변형 혹은 추가가 가능하다. 특히, 추가의 특징 및/또는 변형이 여기에 설명된 것에 추가하여 제공될 수 있다. 예컨대, 상기에서 설명된 구현은 개시된 특징의 다양한 조합 및 서브콤비네이션 및/또는 상기에서 개시된 몇몇의 추가의 특징의 조합 및 서브콤비네이션을 대상으로 할 수 있다. 또한, 첨부된 도면에 묘사되고 또한/또는 본 명세서에서 설명된 논리 흐름은, 바람직한 결과를 달성하기 위해, 나타낸 특정한 순번, 혹은 순차적인 순번을 반드시 요구하지는 않는다. 다른 구현은 이하의 청구항의 범위 내에 있더라도 좋다.

Claims (20)

  1. 비트 스트림을 수신하는 것과,
    현재의 블록에 대하여 적응적 가중치를 갖는 쌍방향 예측 모드가 유효하게 되어 있는지 여부를 판정하는 것과,
    적어도 하나의 가중치를 결정하는 것과,
    상기 현재의 블록의 화소 데이터를 재구성하고 적어도 2개의 참조 블록의 가중된 조합을 사용하는 것
    을 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 비트 스트림은 상기 적응적 가중치를 갖는 쌍방향 예측 모드가 상기 블록에 대하여 유효하게 되어 있는지 여부를 나타내는 파라미터를 포함하는 방법.
  3. 제 1 항에 있어서,
    상기 적응적 가중치를 갖는 쌍방향 예측 모드는 상기 비트 스트림에 시그널링되는 방법.
  4. 제 1 항에 있어서,
    적어도 하나의 가중치를 결정하는 것은 가중치의 배열로의 인덱스를 결정하는 것과, 상기 인덱스를 사용하여 상기 가중치의 배열에 액세스하는 것을 포함하는 방법.
  5. 제 1 항에 있어서,
    적어도 하나의 가중치를 결정하는 것은,
    현재의 프레임으로부터 상기 적어도 2개의 참조 블록의 제 1 참조 프레임까지의 제 1 거리를 결정하는 것과,
    상기 현재의 프레임으로부터 상기 적어도 2개의 참조 블록의 제 2 참조 프레임까지의 제 2 거리를 결정하는 것과,
    상기 제 1 거리와 상기 제 2 거리에 근거하여 상기 적어도 하나의 가중치를 결정하는 것
    을 포함하는
    방법.
  6. 제 5 항에 있어서,
    상기 제 1 거리와 상기 제 2 거리에 근거하여 상기 적어도 하나의 가중치를 결정하는 것은,
    w1=α0×(NI)/(NI+NJ),
    w0=(1-w1)
    에 따라서 수행되고,
    여기서, w1은 제 1 가중치이고, w2는 제 2 가중치이고, α0은 미리 결정된 값이고, NI는 상기 제 1 거리이고, NJ는 상기 제 2 거리인
    방법.
  7. 제 1 항에 있어서,
    적어도 하나의 가중치를 결정하는 것은,
    적어도 가중치의 배열로의 인덱스를 결정하고 상기 인덱스를 사용하여 상기 가중치의 배열에 액세스하는 것에 의해 제 1 가중치를 결정하는 것과,
    적어도 어느 값으로부터 상기 제 1 가중치를 감산하는 것에 의해 제 2 가중치를 결정하는 것
    을 포함하는
    방법.
  8. 제 7 항에 있어서,
    상기 배열은 {4, 5, 3, 10, -2}를 포함하는 정수값을 포함하는 방법.
  9. 제 7 항에 있어서,
    상기 제 1 가중치를 결정하는 것은 상기 인덱스에 의해 지정되는 상기 배열의 요소에 제 1 가중치 변수 w1을 설정하는 것을 포함하고,
    상기 제 2 가중치를 결정하는 것은 상기 어느 값으로부터 상기 제 1 가중치 변수를 뺀 값과 같게 제 2 가중치 변수 w0을 설정하는 것을 포함하는
    방법.
  10. 제 9 항에 있어서,
    상기 제 1 가중치를 결정하는 것과 상기 제 2 가중치를 결정하는 것은,
    bcwWLut[k]={4, 5, 3, 10, -2}로 하여 변수 w1을 bcwWLut[bcwIdx]와 같게 설정하는 것과,
    변수 w0을 (8-w1)과 같게 설정하는 것
    에 따라 수행되고,
    여기서, bcwIdx는 상기 인덱스이고, k는 변수인
    방법.
  11. 제 10 항에 있어서,
    상기 적어도 2개의 참조 블록의 가중된 조합은 pbSamples[x][y]=Clip3(0, (1 << bitDepth)-1, (w0*predSamplesL0[x][y]+w1*predSamplesL1[x][y]+offset3) >> (shift2+3))에 따라 계산되고,
    여기서, pbSambles[x][y]는 예측 화소값이고, x와 y는 휘도 위치이고,
    <<는 2진 숫자에 의한 2의 보수 정수 표현의 산술적 왼쪽 시프트이고,
    predSamplesL0은 상기 적어도 2개의 참조 블록의 제 1 참조 블록의 화소값의 제 1 배열이고,
    predSamplesL1은 상기 적어도 2개의 참조 블록의 제 2 참조 블록의 화소값의 제 2 배열이고,
    Figure pct00003

    이고,
    offset3은 오프셋 값이고,
    shift2는 시프트 값인
    방법.
  12. 제 7 항에 있어서,
    상기 인덱스를 결정하는 것은 병합 모드 동안 인접 블록으로부터의 상기 인덱스를 채용하는 것을 포함하는 방법.
  13. 제 12 항에 있어서,
    병합 모드 동안 상기 인접 블록으로부터의 상기 인덱스를 채용하는 것은 공간적 후보와 시간적 후보를 포함하는 병합 후보 리스트를 결정하는 것과, 상기 비트 스트림에 포함되는 병합 후보 인덱스를 사용하여, 상기 병합 후보 리스트로부터의 병합 후보를 선택하는 것과, 상기 인덱스의 값을 상기 선택된 병합 후보에 관련된 인덱스의 값으로 설정하는 것을 포함하는 방법.
  14. 제 1 항에 있어서,
    상기 적어도 2개의 참조 블록은 이전의 프레임으로부터의 예측 샘플의 제 1 블록과 후속의 프레임으로부터의 예측 샘플의 제 2 블록을 포함하는 방법.
  15. 제 1 항에 있어서,
    화소 데이터를 재구성하는 것은 상기 비트 스트림에 포함되는 관련되는 움직임 벡터를 사용하는 것을 포함하는 방법.
  16. 제 1 항에 있어서,
    상기 화소 데이터를 재구성하는 것은 회로를 포함하는 디코더에 의해 수행되고, 상기 디코더는,
    상기 비트 스트림를 수신하고 상기 비트 스트림을 양자화된 계수로 복호하도록 구성된 엔트로피 디코더 프로세서와,
    역 이산 코사인을 수행하는 것을 포함하는 상기 양자화된 계수를 처리하도록 구성된 역 양자화 및 역 변환 프로세서와,
    디블로킹 필터와,
    프레임 버퍼와,
    인트라 예측 프로세서
    를 더 구비하는
    방법.
  17. 제 1 항에 있어서,
    상기 현재의 블록은 쿼드트리 플러스 이진 결정 트리(quadtree plus binary decision tree)의 일부를 형성하는 방법.
  18. 제 1 항에 있어서,
    상기 현재의 블록은 부호화 트리 단위, 부호화 단위, 혹은 예측 단위인 방법.
  19. 청구항 1 내지 청구항 18 중 어느 한 항에 기재된 방법으로 이루어지는 조작을 수행하도록 구성된 회로를 구비하는 디코더.
  20. 적어도 하나의 데이터 프로세서와, 상기 적어도 하나의 데이터 프로세서에 의해 실행되었을 때, 청구항 1 내지 청구항 18 중 어느 한 항에 기재된 방법을 구현하는 명령을 저장하는 메모리를 구비하는 시스템.
KR1020207037739A 2018-07-06 2019-07-02 동화상 부호화 장치, 동화상 복호 장치, 동화상 부호화 방법 및 동화상 복호 방법 KR102582887B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020237032329A KR20230143620A (ko) 2018-07-06 2019-07-02 동화상 복호 방법, 동화상 복호 장치, 동화상 부호화 방법 및 동화상 부호화 장치

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862694524P 2018-07-06 2018-07-06
US201862694540P 2018-07-06 2018-07-06
US62/694,524 2018-07-06
US62/694,540 2018-07-06
PCT/US2019/040311 WO2020010089A1 (en) 2018-07-06 2019-07-02 Bi-prediction with adaptive weights

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020237032329A Division KR20230143620A (ko) 2018-07-06 2019-07-02 동화상 복호 방법, 동화상 복호 장치, 동화상 부호화 방법 및 동화상 부호화 장치

Publications (2)

Publication Number Publication Date
KR20210018862A true KR20210018862A (ko) 2021-02-18
KR102582887B1 KR102582887B1 (ko) 2023-09-25

Family

ID=69060914

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020207037739A KR102582887B1 (ko) 2018-07-06 2019-07-02 동화상 부호화 장치, 동화상 복호 장치, 동화상 부호화 방법 및 동화상 복호 방법
KR1020237032329A KR20230143620A (ko) 2018-07-06 2019-07-02 동화상 복호 방법, 동화상 복호 장치, 동화상 부호화 방법 및 동화상 부호화 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020237032329A KR20230143620A (ko) 2018-07-06 2019-07-02 동화상 복호 방법, 동화상 복호 장치, 동화상 부호화 방법 및 동화상 부호화 장치

Country Status (9)

Country Link
US (1) US20210185352A1 (ko)
EP (1) EP3818711A4 (ko)
JP (1) JP2021526762A (ko)
KR (2) KR102582887B1 (ko)
CN (1) CN112369028A (ko)
BR (1) BR112020026743A2 (ko)
CA (1) CA3102615A1 (ko)
MX (1) MX2021000192A (ko)
WO (1) WO2020010089A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111741297B (zh) * 2020-06-12 2024-02-20 浙江大华技术股份有限公司 帧间预测方法、视频编码方法及其相关装置
CN117941352A (zh) * 2021-08-16 2024-04-26 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070177674A1 (en) * 2006-01-12 2007-08-02 Lg Electronics Inc. Processing multiview video
WO2017197146A1 (en) * 2016-05-13 2017-11-16 Vid Scale, Inc. Systems and methods for generalized multi-hypothesis prediction for video coding
KR20180008445A (ko) * 2015-06-10 2018-01-24 삼성전자주식회사 적응적 가중치 예측을 위한 신택스 시그널링을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7903742B2 (en) * 2002-07-15 2011-03-08 Thomson Licensing Adaptive weighting of reference pictures in video decoding
CN1312927C (zh) * 2002-07-15 2007-04-25 株式会社日立制作所 动态图像编码方法及解码方法
CN1225127C (zh) * 2003-09-12 2005-10-26 中国科学院计算技术研究所 一种用于视频编码的编码端/解码端双向预测方法
AU2008259744B2 (en) * 2008-12-18 2012-02-09 Canon Kabushiki Kaisha Iterative DVC decoder based on adaptively weighting of motion side information
US9503720B2 (en) * 2012-03-16 2016-11-22 Qualcomm Incorporated Motion vector coding and bi-prediction in HEVC and its extensions
US9800857B2 (en) * 2013-03-08 2017-10-24 Qualcomm Incorporated Inter-view residual prediction in multi-view or 3-dimensional video coding
US9491460B2 (en) * 2013-03-29 2016-11-08 Qualcomm Incorporated Bandwidth reduction for video coding prediction
US10887597B2 (en) * 2015-06-09 2021-01-05 Qualcomm Incorporated Systems and methods of determining illumination compensation parameters for video coding
US10462457B2 (en) * 2016-01-29 2019-10-29 Google Llc Dynamic reference motion vector coding mode
US10567793B2 (en) * 2016-06-06 2020-02-18 Google Llc Adaptive overlapped block prediction in variable block size video coding
WO2018008905A1 (ko) * 2016-07-05 2018-01-11 주식회사 케이티 비디오 신호 처리 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070177674A1 (en) * 2006-01-12 2007-08-02 Lg Electronics Inc. Processing multiview video
KR20180008445A (ko) * 2015-06-10 2018-01-24 삼성전자주식회사 적응적 가중치 예측을 위한 신택스 시그널링을 이용하여 영상을 부호화 또는 복호화하는 방법 및 장치
WO2017197146A1 (en) * 2016-05-13 2017-11-16 Vid Scale, Inc. Systems and methods for generalized multi-hypothesis prediction for video coding

Also Published As

Publication number Publication date
WO2020010089A1 (en) 2020-01-09
CA3102615A1 (en) 2020-01-09
JP2021526762A (ja) 2021-10-07
MX2021000192A (es) 2021-05-31
EP3818711A1 (en) 2021-05-12
BR112020026743A2 (pt) 2021-03-30
US20210185352A1 (en) 2021-06-17
KR20230143620A (ko) 2023-10-12
KR102582887B1 (ko) 2023-09-25
EP3818711A4 (en) 2022-04-20
CN112369028A (zh) 2021-02-12

Similar Documents

Publication Publication Date Title
JP7368554B2 (ja) Dmvrのためのブロックサイズ制限
CN113287307B (zh) 视频解码的方法和装置、计算机设备及介质
US11695967B2 (en) Block level geometric partitioning
KR102310752B1 (ko) 슬라이스 레벨 인트라 블록 카피 및 기타 비디오 코딩 개선
CN112291571B (zh) 视频解码方法及装置以及计算机设备和存储介质
JP2019525679A (ja) クロス成分フィルタ
JP2022508074A (ja) スキップ及びマージモードのためのマルチ仮説のシグナリング及び動きベクトル差分によるマージの距離オフセットテーブルのシグナリングのための方法及び装置
KR20200116524A (ko) 비디오 코딩을 위한 방법 및 장치
CN113557728A (zh) 视频编解码方法和装置
US20210218977A1 (en) Methods and systems of exponential partitioning
CN112913232A (zh) 对合并候选列表创建的复杂度约束
JP2017513329A (ja) 非自然ビデオデータの動き推定のための方法
KR102582887B1 (ko) 동화상 부호화 장치, 동화상 복호 장치, 동화상 부호화 방법 및 동화상 복호 방법
JP2023521609A (ja) ビデオコーディングのための方法、コンピュータプログラム及び装置
RU2814971C2 (ru) Видеокодер, видеодекодер, способ кодирования видео, способ декодирования видео
RU2771669C1 (ru) Видеокодер, видеодекодер, способ кодирования видео, способ декодирования видео
JP2017073598A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
US20210400289A1 (en) Methods and systems for constructing merge candidate list including adding a non- adjacent diagonal spatial merge candidate
RU2788631C2 (ru) Способы и системы экспоненциального разбиения
US20230171405A1 (en) Scene transition detection based encoding methods for bcw
US20230328226A1 (en) Symmetric affine mode
US20230291908A1 (en) Affine estimation in pre-analysis of encoder
JP2023527657A (ja) Cuレベル重みをシグナリングしない双予測
KR20230154272A (ko) 아핀 모션과의 쌍방 정합
JP2023528179A (ja) ニューラル画像圧縮におけるコンテンツ適応型オンライン訓練のための方法、装置およびコンピュータプログラム

Legal Events

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