KR20200125760A - 픽처 예측 방법 및 픽처 예측 장치 - Google Patents

픽처 예측 방법 및 픽처 예측 장치 Download PDF

Info

Publication number
KR20200125760A
KR20200125760A KR1020207031100A KR20207031100A KR20200125760A KR 20200125760 A KR20200125760 A KR 20200125760A KR 1020207031100 A KR1020207031100 A KR 1020207031100A KR 20207031100 A KR20207031100 A KR 20207031100A KR 20200125760 A KR20200125760 A KR 20200125760A
Authority
KR
South Korea
Prior art keywords
pixel
pixel unit
precision
unit
units
Prior art date
Application number
KR1020207031100A
Other languages
English (en)
Other versions
KR102390695B1 (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 KR1020227013389A priority Critical patent/KR102549824B1/ko
Publication of KR20200125760A publication Critical patent/KR20200125760A/ko
Application granted granted Critical
Publication of KR102390695B1 publication Critical patent/KR102390695B1/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • 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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/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/182Methods 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 pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • 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
    • 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
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/537Motion estimation other than block-based
    • 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/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • 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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/635Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by filter definition or implementation details
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

픽처 예측 방법은: 현재 픽처 블록 내의 W개의 제어 포인트들의 움직임 벡터들을 결정하는 단계; 움직임 모델 및 W개의 제어 포인트들의 움직임 벡터들을 사용하여 현재 픽처 블록의 P개의 픽셀 단위들의 움직임 벡터들을 획득하는 단계 - 결정된 움직임 벡터들의 정밀도는 픽셀 정밀도의 1/n이고, 획득되는, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터의 정밀도는 픽셀 정밀도의 1/N이며, P개의 픽셀 단위들은 현재 픽처 블록의 픽셀 단위들의 일부 또는 전부이고, N은 n보다 큼 -; 및 P개의 픽셀 단위들의 각각의 픽셀 단위의 예측된 픽셀 값을 획득하기 위해, Q의 위상을 갖는 보간 필터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행하는 단계 - Q는 n보다 큼 - 를 포함한다.

Description

픽처 예측 방법 및 픽처 예측 장치{PICTURE PREDICTION METHOD AND PICTURE PREDICTION APPARATUS}
본 발명은 비디오 인코딩 및 비디오 디코딩 분야에, 그리고 구체적으로는, 픽처 예측 방법 및 관련 디바이스에 관한 것이다.
광전 수집 기술의 발전 및 HD(high-definition) 디지털 비디오에 대한 증가하는 요구사항에 따라, 비디오 데이터 볼륨(video data volume)이 점점 커지고 있다. 제한된 이기종 전송 대역폭 및 다양한 비디오 애플리케이션들은 비디오 코딩 효율에 보다 높은 요구사항을 부과한다. 이 경우에, 필요에 따라 고효율 비디오 코딩(High Efficiency Video Coding)(HEVC) 표준이 제정되기 시작하고 있다.
비디오 코딩 압축의 기본 원리는 중복성을 가능한 한 많이 제거하기 위해 공간 영역, 시간 영역, 및 코드워드 간의 상관을 사용하는 것이다. 현재, 통상의 방식은 예측(인트라 프레임 예측(intra-frame prediction) 및 인터 프레임 예측(inter-frame prediction)을 포함함), 변환, 양자화, 및 엔트로피 코딩과 같은 단계들에 의해 비디오 코딩 압축을 구현하기 위해 블록 기반 하이브리드 비디오 코딩 프레임워크를 사용하는 것이다. 이 코딩 프레임워크는 강력하고, 블록 기반 하이브리드 비디오 코딩 프레임워크는 HEVC에도 사용된다.
다양한 비디오 인코딩/디코딩 방식들에서, 움직임 추정/움직임 보상은 인코딩/디코딩 성능에 영향을 미치는 핵심 기술이다. 많은 기존의 비디오 인코딩/디코딩 방식들에서, 객체의 움직임이 평행이동 움직임 모델의 요구사항을 충족시키고, 객체 전체의 다양한 부분들이 동일한 움직임을 갖는다고 일반적으로 가정된다. 기존의 움직임 추정/움직임 보상 알고리즘은 기본적으로 평행이동 움직임 모델(translational motion model)에 기초한 블록 기반 움직임 보상 알고리즘이다. 기존의 인터 프레임 예측은, 주로, 평행이동 움직임 모델에 기초한 블록 기반 움직임 보상(motion compensation) 예측이다. 비평행이동 움직임들을 위해 설계된 일부 비평행이동 움직임 모델들(예를 들어, 아핀 움직임 모델)이 점차적으로 부상하고 있다.
아핀 움직임 모델에 기초한 예측 메커니즘에서, 현재 픽처 블록의 저 정밀도의 예측된 픽셀 값을 획득하기 위해, 현재 픽처 블록 내의 2개의 제어 포인트들의 저 정밀도의 움직임 벡터들 및 아핀 움직임 모델이 종래 기술에서 픽셀 값 예측을 수행하기 위해 사용될 수 있다. 픽셀 값 예측의 프로세스 동안, 보간 필터링 연산을 수행하기 위해 보간 필터가 사용될 필요가 있다. 현재 픽처 블록의 획득된 예측된 픽셀 값의 정밀도는 2개의 제어 포인트들의 움직임 벡터들의 정밀도와 동일하다. 현재 픽처 블록의 보다 높은 정밀도의 예측된 픽셀 값이 획득될 필요가 있는 경우, 현재 픽처 블록의 획득된 보다 낮은 정밀도의 예측된 픽셀 값에 대해 2차 보간 필터링을 수행하기 위해 이중선형 보간 필터가 추가로 요구된다.
종래 기술에서, 2개의 제어 포인트들의 보다 낮은 정밀도의 움직임 벡터들 및 아핀 움직임 모델이 현재 픽처 블록의 보다 높은 정밀도의 예측된 픽셀 값을 획득하는 데 사용되는 경우, 적어도 2개의 보간 필터링 연산들이 수행될 필요가 있다(각각의 보간 필터링 연산을 위해 비교적 많은 양의 중간 캐시들 및 메모리 연산들이 요구된다). 그 결과, 픽처 예측 프로세스 전체 동안 비교적 많은 양의 중간 캐시들 및 메모리 연산들이 요구될 수 있고, 계산 복잡도가 비교적 높아지게 된다.
본 발명의 실시예들은, 픽처 예측 프로세스 동안 보간 필터링을 위해 요구되는 중간 캐시들 및 메모리 연산들의 양을 감소시키고 픽처 예측 프로세스 동안 계산 복잡도를 감소시키기 위해, 픽처 예측 방법 및 관련 디바이스를 제공한다.
본 발명의 실시예들의 제1 양태는 픽처 예측 방법을 제공하고, 본 방법은:
현재 픽처 블록 내의 W개의 제어 포인트들의 움직임 벡터들을 결정하는 단계;
움직임 모델 및 W개의 제어 포인트들의 움직임 벡터들을 사용하여 현재 픽처 블록의 P개의 픽셀 단위들의 움직임 벡터들을, 계산에 의해, 획득하는 단계 - W개의 제어 포인트들의 결정된 움직임 벡터들의 정밀도는 픽셀 정밀도의 1/n이고, 계산에 의해 획득되는, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터의 정밀도는 픽셀 정밀도의 1/N이며, P개의 픽셀 단위들은 현재 픽처 블록의 픽셀 단위들의 일부 또는 전부이고, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터는 대응하는 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위를 결정하는 데 사용되며, W, n, 및 N은 1보다 큰 정수들이고, N은 n보다 크며, P는 양의 정수임 -; 및
P개의 픽셀 단위들의 각각의 픽셀 단위의 예측된 픽셀 값을 획득하기 위해, Q의 위상을 갖는 보간 필터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행하는 단계 - Q는 n보다 큰 정수임 - 를 포함한다.
제1 양태를 참조하여, 제1 양태의 제1 실시가능 구현에서, N의 값은 미리 설정된 고정값이고, Q는 N보다 작거나 같다.
제1 양태 또는 제1 양태의 제1 실시가능 구현을 참조하여, 제1 양태의 제2 실시가능 구현에서, W개의 제어 포인트들의 움직임 벡터들 중 하나의 움직임 벡터의 수평 성분 또는 수직 성분이 N을 사용하여 움직임 모델에서 N배 증폭되거나, W개의 제어 포인트들 중 임의의 2개의 제어 포인트들의 움직임 벡터들 간의 성분 차이가 N을 사용하여 움직임 모델에서 N배 증폭된다.
제1 양태, 제1 양태의 제1 실시가능 구현, 또는 제1 양태의 제2 실시가능 구현을 참조하여, 제1 양태의 제3 실시가능 구현에서, Q의 위상을 갖는 보간 필터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행하는 단계는:
P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의 위상을, 계산에 의해, 획득하는 단계; 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 보간 필터를, 각각의 픽셀 단위의 위상에 기초하여, 결정하는 단계 - 보간 필터에 의해 사용되는 필터 계수는 위상에 대응함 -; 및 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 결정된 보간 필터를 사용하여 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행하는 단계를 포함한다.
제1 양태의 제3 실시가능 구현을 참조하여, 제1 양태의 제4 실시가능 구현에서, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의 위상을, 계산에 의해, 획득하는 단계는: P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 하기의 수식에 따라 P개의 픽셀 단위들의 각각의 픽셀 단위의 위상을, 계산에 의해, 획득하는 단계를 포함하고:
Figure pat00001
또는
Figure pat00002
Figure pat00003
또는
Figure pat00004
여기서 N이 2의 정수 거듭제곱(integral power)일 때 M = log2N이고, X'은 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 수평 위상을 나타내고, Y'은 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 수직 위상을 나타내며, vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타낸다.
제1 양태의 제3 실시가능 구현 또는 제1 양태의 제4 실시가능 구현을 참조하여, 제1 양태의 제5 실시가능 구현에서, 위상은 수평 위상 및 수직 위상을 포함하고; 픽셀 단위에 대응하는 Q의 위상을 갖는 보간 필터를, 각각의 픽셀 단위의 위상에 기초하여, 결정하는 단계는: 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 수평 보간 필터를, 각각의 픽셀 단위의 수평 위상에 기초하여, 결정하는 단계; 및 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 수직 보간 필터를, 각각의 픽셀 단위의 수직 위상에 기초하여, 결정하는 단계를 포함하고, 여기서 수평 보간 필터에 의해 사용되는 필터 계수는 수평 위상에 대응하고, 수직 보간 필터에 의해 사용되는 필터 계수는 수직 위상에 대응한다.
제1 양태의 제5 실시가능 구현을 참조하여, 제1 양태의 제6 실시가능 구현에서, 픽셀 단위에 대응하는 Q의 위상을 갖는 결정된 보간 필터를 사용하여 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행하는 단계는:
수평 보간 필터링 결과를 획득하기 위해, 픽셀 단위 i에 대응하는 Q의 위상을 갖는 결정된 수평 보간 필터를 사용하여 픽셀 단위 i의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 수평 보간 필터링을 수행하는 단계; 및 픽셀 단위 i의 예측된 픽셀 값을 획득하기 위해, 픽셀 단위 i에 대응하는 Q의 위상을 갖는 결정된 수직 보간 필터를 사용하여 수평 보간 필터링 결과에 대해 수직 보간 필터링을 수행하는 단계 - 픽셀 단위 i는 P개의 픽셀 단위들 중 임의의 픽셀 단위임 -; 또는
수직 보간 필터링 결과를 획득하기 위해, 픽셀 단위 j에 대응하는 Q의 위상을 갖는 결정된 수직 보간 필터를 사용하여 픽셀 단위 j의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 수직 보간 필터링을 수행하는 단계; 및 픽셀 단위 j의 예측된 픽셀 값을 획득하기 위해, 픽셀 단위 j에 대응하는 Q의 위상을 갖는 결정된 수평 보간 필터를 사용하여 수직 보간 필터링 결과에 대해 수평 보간 필터링을 수행하는 단계 - 픽셀 단위 j는 P개의 픽셀 단위들 중 임의의 픽셀 단위임 - 를 포함한다.
제1 양태, 또는 제1 양태의 제1 내지 제6 실시가능 구현들 중 임의의 것을 참조하여, 제1 양태의 제7 실시가능 구현에서, 움직임 모델은 평행이동 움직임 모델, 아핀 움직임 모델, 회전 움직임 모델, 포물선 움직임 모델, 전단 움직임 모델, 줌잉 움직임 모델, 원근 움직임 모델, 또는 이중선형 움직임 모델이다.
제1 양태, 또는 제1 양태의 제1 내지 제7 실시가능 구현들 중 임의의 것을 참조하여, 제1 양태의 제8 실시가능 구현에서, 움직임 모델은 W가 2일 때 하기와 같이 표현되고:
Figure pat00005
또는
Figure pat00006
여기서 L은 상기 현재 픽처 블록의 폭 또는 높이를 나타내고, (v0x, v0y) 및 (v1x, v1y)는 2개의 제어 포인트들의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 을 나타내며, vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타낸다.
제1 양태, 또는 제1 양태의 제1 내지 제7 실시가능 구현들 중 임의의 것을 참조하여, 제1 양태의 제9 실시가능 구현에서, 움직임 모델은 W가 3일 때 하기와 같이 표현되고:
Figure pat00007
또는
Figure pat00008
여기서 vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타내며, (v0x, v0y), (v1x, v1y), 및 (v2x, v2y)는 3개의 제어 포인트들의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 을 나타내며, w는 현재 픽처 블록의 폭을 나타내고, h는 현재 픽처 블록의 높이를 나타낸다.
제1 양태, 또는 제1 양태의 제1 내지 제9 실시가능 구현들 중 임의의 것을 참조하여, 제1 양태의 제10 실시가능 구현에서, W개의 제어 포인트들의 움직임 벡터들은 현재 픽처 블록을 둘러싸는 인코딩된 픽처 블록 또는 디코딩된 픽처 블록의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 에 기초하여 예측된다.
제1 양태, 또는 제1 양태의 제1 내지 제10 실시가능 구현들 중 임의의 것을 참조하여, 제1 양태의 제11 실시가능 구현에서, 픽처 예측 방법은 비디오 인코딩 프로세스에 적용되거나 비디오 디코딩 프로세스에 적용된다.
본 발명의 실시예들의 제2 양태는 픽처 예측 장치를 제공하고, 본 픽처 예측 장치는:
현재 픽처 블록 내의 W개의 제어 포인트들의 움직임 벡터들을 결정하도록 구성된 제1 결정 유닛;
움직임 모델 및 W개의 제어 포인트들의 움직임 벡터들을 사용하여 현재 픽처 블록의 P개의 픽셀 단위들의 움직임 벡터들을, 계산에 의해, 획득하도록 구성된 계산 유닛 - W개의 제어 포인트들의 결정된 움직임 벡터들의 정밀도는 픽셀 정밀도의 1/n이고, 계산에 의해 획득되는, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터의 정밀도는 픽셀 정밀도의 1/N이며, P개의 픽셀 단위들은 현재 픽처 블록의 픽셀 단위들의 일부 또는 전부이고, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터는 대응하는 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위를 결정하는 데 사용되며, W, n, 및 N은 1보다 큰 정수들이고, N은 n보다 크며, P는 양의 정수임 -; 및
P개의 픽셀 단위들의 각각의 픽셀 단위의 예측된 픽셀 값을 획득하기 위해, Q의 위상을 갖는 보간 필터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행하도록 - Q는 n보다 큰 정수임 - 구성된 보간 필터링 유닛을 포함한다.
제2 양태를 참조하여, 제2 양태의 제1 실시가능 구현에서, N의 값은 미리 설정된 고정값이고, Q는 N보다 작거나 같다.
제2 양태 또는 제2 양태의 제1 실시가능 구현을 참조하여, 제2 양태의 제2 실시가능 구현에서, W개의 제어 포인트들의 움직임 벡터들 중 하나의 움직임 벡터의 수평 성분 또는 수직 성분이 N을 사용하여 움직임 모델에서 N배 증폭되거나, W개의 제어 포인트들 중 임의의 2개의 제어 포인트들의 움직임 벡터들 간의 성분 차이가 N을 사용하여 움직임 모델에서 N배 증폭된다.
제2 양태, 제2 양태의 제1 실시가능 구현, 또는 제2 양태의 제2 실시가능 구현을 참조하여, 제2 양태의 제3 실시가능 구현에서, 보간 필터링 유닛은 구체적으로는: P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의 위상을, 계산에 의해, 획득하고; 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 보간 필터를, 각각의 픽셀 단위의 위상에 기초하여, 결정하며 - 보간 필터에 의해 사용되는 필터 계수는 위상에 대응함 -; 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 결정된 보간 필터를 사용하여 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행하도록 구성된다.
제2 양태의 제3 실시가능 구현을 참조하여, 제2 양태의 제4 실시가능 구현에서, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의 위상을, 계산에 의해, 획득하는 것의 양태에서, 보간 필터링 유닛은 구체적으로는: P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 하기의 수식에 따라 P개의 픽셀 단위들의 각각의 픽셀 단위의 위상을, 계산에 의해, 획득하도록 구성되며:
Figure pat00009
또는
Figure pat00010
Figure pat00011
또는
Figure pat00012
여기서 N이 2의 정수 거듭제곱일 때 M = log2N이고, X'은 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 수평 위상을 나타내고, Y'은 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 수직 위상을 나타내며, vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타낸다.
제2 양태의 제3 실시가능 구현 또는 제2 양태의 제4 실시가능 구현을 참조하여, 제2 양태의 제5 실시가능 구현에서, 위상은 수평 위상 및 수직 위상을 포함하고; 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 보간 필터를, 각각의 픽셀 단위의 위상에 기초하여, 결정하는 것의 양태에서, 보간 필터링 유닛은 구체적으로는: 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 수평 보간 필터를, 각각의 픽셀 단위의 수평 위상에 기초하여, 결정하고; 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 수직 보간 필터를, 각각의 픽셀 단위의 수직 위상에 기초하여, 결정하도록 구성되며, 여기서 수평 보간 필터에 의해 사용되는 필터 계수는 수평 위상에 대응하고, 수직 보간 필터에 의해 사용되는 필터 계수는 수직 위상에 대응한다.
제2 양태의 제5 실시가능 구현을 참조하여, 제2 양태의 제6 실시가능 구현에서, 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 결정된 보간 필터를 사용하여 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행하는 것의 양태에서, 보간 필터링 유닛은 구체적으로는: 수평 보간 필터링 결과를 획득하기 위해, 픽셀 단위 i에 대응하는 Q의 위상을 갖는 결정된 수평 보간 필터를 사용하여 픽셀 단위 i의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 수평 보간 필터링을 수행하고; 픽셀 단위 i의 예측된 픽셀 값을 획득하기 위해, 픽셀 단위 i에 대응하는 Q의 위상을 갖는 결정된 수직 보간 필터를 사용하여 수평 보간 필터링 결과에 대해 수직 보간 필터링을 수행하도록 - 픽셀 단위 i는 P개의 픽셀 단위들 중 임의의 픽셀 단위임 - 구성되고; 또는 보간 필터링 유닛은 구체적으로는: 수직 보간 필터링 결과를 획득하기 위해, 픽셀 단위 j에 대응하는 Q의 위상을 갖는 결정된 수직 보간 필터를 사용하여 픽셀 단위 j의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 수직 보간 필터링을 수행하고; 픽셀 단위 j의 예측된 픽셀 값을 획득하기 위해, 픽셀 단위 j에 대응하는 Q의 위상을 갖는 결정된 수평 보간 필터를 사용하여 수직 보간 필터링 결과에 대해 수평 보간 필터링을 수행하도록 - 픽셀 단위 j는 P개의 픽셀 단위들 중 임의의 픽셀 단위임 - 구성된다.
제2 양태, 또는 제2 양태의 제1 내지 제6 실시가능 구현들 중 임의의 것을 참조하여, 제2 양태의 제7 실시가능 구현에서, 움직임 모델은 평행이동 움직임 모델, 아핀 움직임 모델, 회전 움직임 모델, 줌잉 움직임 모델, 포물선 움직임 모델, 전단 움직임 모델, 원근 움직임 모델, 또는 이중선형 움직임 모델이다.
제2 양태, 또는 제2 양태의 제1 내지 제7 실시가능 구현들 중 임의의 것을 참조하여, 제2 양태의 제8 실시가능 구현에서, 움직임 모델은 W가 2일 때 하기와 같이 표현되고:
Figure pat00013
또는
Figure pat00014
여기서 L은 상기 현재 픽처 블록의 폭 또는 높이를 나타내고, (v0x, v0y) 및 (v1x, v1y)는 2개의 제어 포인트들의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 을 나타내며, vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타낸다.
제2 양태, 또는 제2 양태의 제1 내지 제7 실시가능 구현들 중 임의의 것을 참조하여, 제2 양태의 제9 실시가능 구현에서, 움직임 모델은 W가 3일 때 하기와 같이 표현되고:
Figure pat00015
또는
Figure pat00016
여기서 vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타내며, (v0x, v0y), (v1x, v1y), 및 (v2x, v2y)는 3개의 제어 포인트들의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 을 나타내며, w는 현재 픽처 블록의 폭을 나타내고, h는 현재 픽처 블록의 높이를 나타낸다.
제2 양태, 또는 제2 양태의 제1 내지 제9 실시가능 구현들 중 임의의 것을 참조하여, 제2 양태의 제10 실시가능 구현에서, W개의 제어 포인트들의 움직임 벡터들은 현재 픽처 블록을 둘러싸는 인코딩된 픽처 블록 또는 디코딩된 픽처 블록의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 에 기초하여 예측된다.
제2 양태, 또는 제2 양태의 제1 내지 제10 실시가능 구현들 중 임의의 것을 참조하여, 제2 양태의 제11 실시가능 구현에서, 픽처 예측 장치는 비디오 인코딩 장치에 적용되거나 픽처 예측 장치는 비디오 디코딩 장치에 적용된다.
본 발명의 일 실시예는, 프로세서 및 메모리를 포함하는, 픽처 예측 장치를 추가로 제공한다. 픽처 예측 장치는, 예를 들어, 네트워크 인터페이스를 추가로 포함할 수 있다. 메모리는 명령어를 저장하도록 구성되고, 프로세서는 명령어를 실행하도록 구성되며, 네트워크 인터페이스는, 프로세서의 제어 하에서, 다른 디바이스와 통신하도록 구성된다.
예를 들어, 프로세서는: 현재 픽처 블록 내의 W개의 제어 포인트들의 움직임 벡터들을 결정하고; 움직임 모델 및 W개의 제어 포인트들의 움직임 벡터들을 사용하여 현재 픽처 블록의 P개의 픽셀 단위들의 움직임 벡터들을, 계산에 의해, 획득하며 - W개의 제어 포인트들의 결정된 움직임 벡터들의 정밀도는 픽셀 정밀도의 1/n이고, 계산에 의해 획득되는, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터의 정밀도는 픽셀 정밀도의 1/N이며, P개의 픽셀 단위들은 현재 픽처 블록의 픽셀 단위들의 일부 또는 전부이고, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터는 대응하는 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위를 결정하는 데 사용되며, W, n, 및 N은 1보다 큰 정수들이고, N은 n보다 크며, P는 양의 정수임 -; P개의 픽셀 단위들의 각각의 픽셀 단위의 예측된 픽셀 값을 획득하기 위해, Q의 위상을 갖는 보간 필터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행하도록 - Q는 n보다 큰 정수임 - 구성된다.
그에 부가하여, 본 발명의 일 실시예는 컴퓨터 판독가능 저장 매체를 추가로 제공한다. 컴퓨터 판독가능 저장 매체는 픽처 예측을 위한 프로그램 코드를 저장한다. 프로그램 코드는 픽처 예측 방법을 실행하기 위한 명령어를 포함한다.
본 발명의 실시예들에서 제공되는 픽처 예측 방법에서, 현재 픽처 블록의 각각의 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 가 움직임 모델 및 W개의 제어 포인트들의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n이고, N은 n보다 큼 - 을 사용하여 계산에 의해 획득된다는 것을 알 수 있다. 환언하면, 계산에 의해 획득되는, 현재 픽처 블록의 각각의 픽셀 단위의 움직임 벡터의 정밀도는 W개의 제어 포인트들의 결정된 움직임 벡터들의 정밀도보다 더 높다. 보다 높은 정밀도의 움직임 벡터가 먼저 획득된다. 따라서, 현재 픽처 블록의 각각의 픽셀 단위의 보다 높은 정밀도의 움직임 벡터는 현재 픽처 블록의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위를 결정하는 데 사용되며, 현재 픽처 블록의 각각의 픽셀 단위의 예측된 픽셀 값을 획득하기 위해, Q(Q는 n보다 큼)의 위상을 갖는 보간 필터를 사용하여 현재 픽처 블록의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링이 수행된다. 픽처 예측 프로세스 동안 보간 필터링을 위해 요구되는 중간 캐시들 및 메모리 연산들의 양을 감소시키고 픽처 예측 프로세스 동안 계산 복잡도를 감소시키기 위해, 전술한 방식이 현재 픽처 블록의 보다 높은 정밀도의 예측된 픽셀 값을, 예측에 의해, 획득하기 위해 요구되는 보간 필터링의 횟수를 줄이는 데 도움이 된다는 것을 알 수 있다(예를 들어, 보다 낮은 정밀도의 보간 필터링을 수행함으로써 보다 낮은 정밀도의 예측된 픽셀 값을 획득하기 위한 중간 프로세스가 요구되지 않을 수 있다).
본 발명의 실시예들에서의 기술적 해결책들을 보다 명확하게 기술하기 위해, 이하에서는 실시예들을 기술하는 데 요구되는 첨부 도면들을 간략히 기술한다. 이하의 설명에서의 첨부 도면들이 본 발명의 일부 실시예들만을 도시하고, 통상의 기술자가 창조적 노력 없이 이 첨부 도면들로부터 다른 도면들을 여전히 획득할 수 있다는 것은 분명하다.
도 1a 및 도 1b는 본 발명의 일 실시예에 따른 픽처 블록의 몇 가지 유형의 분할의 개략도;
도 2a는 본 발명의 일 실시예에 따른 픽처 예측 방법의 개략 플로차트;
도 2b는 본 발명의 일 실시예에 따른 제어 포인트들의 움직임 벡터들의 예측의 개략도;
도 3a는 본 발명의 일 실시예에 따른 다른 픽처 예측 방법의 개략 플로차트;
도 3b는 본 발명의 일 실시예에 따른 정수-픽셀 위치 및 서브-픽셀 위치의 개략도;
도 4는 본 발명의 일 실시예에 따른 다른 픽처 예측 방법의 개략 플로차트;
도 5는 본 발명의 일 실시예에 따른 픽처 예측 장치의 개략도;
도 6은 본 발명의 일 실시예에 따른 다른 픽처 예측 장치의 개략도.
본 발명의 실시예들은, 픽처 예측 프로세스 동안 보간 필터링을 위해 요구되는 중간 캐시들 및 메모리 연산들의 양을 감소시키고 픽처 예측 프로세스 동안 계산 복잡도를 감소시키기 위해, 픽처 예측 방법 및 관련 디바이스를 제공한다.
본 발명의 명세서, 청구항들, 및 첨부 도면들에서, 용어들 "제1", "제2", "제3" 등은 상이한 객체들을 구별하려고 의도되어 있으며, 특정의 순서를 표시하지 않는다. 그에 부가하여, 용어들 "포함하는(including)", "포함하는(comprising)", 또는 이들의 임의의 다른 변형은 비배타적 포함(non-exclusive inclusion)을 포괄하려고 의도되어 있다. 예를 들어, 일련의 단계들 또는 유닛들을 포함하는 프로세스, 방법, 시스템, 제품, 또는 디바이스는 열거된 단계들 또는 유닛들로 제한되지 않고, 열거되지 않은 단계 또는 유닛을 임의로 추가로 포함하거나, 프로세스, 방법, 제품, 또는 디바이스의 다른 내재된 단계 또는 유닛을 임의로 추가로 포함한다.
이하에서는 먼저 본 발명의 실시예들에 관련될 수 있는 일부 개념들을 간략히 설명한다.
대부분의 코딩 프레임워크들에서, 비디오 시퀀스는 일련의 픽처들을 포함하고, 픽처는 슬라이스들로 추가로 분할되며, 슬라이스는 블록들로 추가로 분할된다. 비디오 코딩은 블록의 단위에 기초하고, 코딩 처리는 픽처의 좌측 상부 코너의 위치에서 수행되기 시작하고, 이어서 좌에서 우로 그리고 위에서 아래로 라인 단위로 수행되기 시작할 수 있다. 일부 새로운 비디오 코딩 표준들에서, 블록의 개념이 추가로 확장된다. H.264 표준에서, 매크로블록(macroblock)(MB)이 기술되고, MB는 예측 코딩을 위해 사용될 수 있는 다수의 예측 파티션들로 추가로 분할될 수 있다. HEVC 표준에서, 코딩 단위(coding unit)(CU), 예측 단위(prediction unit)(PU), 변환 단위(transform unit)(TU) 등의 기본 개념들이 사용된다. 다수의 유형의 단위들이 기능 구분에 의해 획득되고, 새로운 트리 기반 구조를 사용하여 기술된다. 예를 들어, CU는 쿼드 트리(quad tree)에 따라 보다 작은 CU들로 분할될 수 있고, 보다 작은 CU는 쿼드 트리 구조를 형성하기 위해 추가로 계속하여 분할될 수 있다. PU와 TU의 트리 구조들은 CU의 트리 구조와 유사하다. CU, PU, 및 TU 모두는 본질적으로 블록의 개념에 속한다. 매크로블록(MB) 또는 코딩 블록과 유사하게, CU는 코딩 픽처를 분할 및 인코딩하기 위한 기본 단위이다. PU는 예측 코딩을 위한 기본 단위이고, 예측 파티션에 대응할 수 있다. 분할 방식에 따라, CU는 다수의 PU들로 추가로 분할된다. TU는 예측된 잔차를 변환하기 위한 기본 단위이고, 변환 블록에 대응할 수 있다. 고효율 비디오 코딩(high efficiency video coding, 줄여서 HEVC라고 함) 표준에서, CU, PU, 및 TU는 일괄하여 코딩 트리 블록(coding tree block, 줄여서 CTB라고 함) 등이라고 지칭될 수 있다.
HEVC 표준에서, 코딩 단위는 4개의 레벨의 크기: 64 x 64, 32 x 32, 16 x 16, 및 8 x 8을 포함할 수 있다. 각각의 레벨의 코딩 단위는 인트라 프레임 예측 및 인터 프레임 예측에 따라 상이한 크기들의 예측 단위들로 분할될 수 있다. 예를 들어, 도 1a 및 도 1b에 도시된 바와 같이, 도 1a는 인트라 프레임 예측에 대응하는 예측 단위 분할 방식을 도시하고 있고, 도 1b는 인터 프레임 예측에 대응하는 몇 개의 예측 단위 분할 방식들을 도시하고 있다.
비디오 코딩 기술의 발전 및 진화 과정 동안, 비디오 코딩의 전문가들은 코딩 효율을 개선시키기 위해 인접한 인코딩된/디코딩된 블록들 간의 시공간 상관성을 이용하기 위한 다양한 방법들을 알아내었다. H.264/고급 비디오 코딩(advanced video coding, 줄여서 AVC라고 함) 표준에서, 스킵 모드(skip mode)와 직접 모드(direct mode)는 코딩 효율을 개선시키기 위한 효과적인 수단으로 된다. 낮은 비트 레이트의 경우에, 2개의 코딩 모드들을 사용하는 블록들의 양이 코딩 시퀀스 전체에서 절반 초과의 블록들을 차지한다. 스킵 모드가 사용될 때, 현재 픽처 블록의 움직임 벡터는, 비트스트림에서 스킵 모드 태그가 전송되기만 하면, 주변 움직임 벡터를 사용하여 도출에 의해 획득될 수 있고, 움직임 벡터에 따라 참조 블록의 값이 현재 픽처 블록의 재구성 값으로서 직접 사용된다. 대안적으로, 직접 모드가 사용될 때, 인코더는 주변 움직임 벡터를 사용하여 현재 픽처 블록의 움직임 벡터를, 도출에 의해, 획득하고, 움직임 벡터에 따라 참조 블록의 값을 현재 픽처 블록의 예측된 값으로서 직접 사용하며, 예측된 값을 사용하여 인코더측에서 현재 픽처 블록에 대해 예측 코딩을 수행할 수 있다. 현재, 비디오 코딩 성능을 추가로 향상시키기 위해, 최신의 고효율 비디오 코딩(high efficiency video coding, 줄여서 HEVC라고 함) 표준에서 일부 새로운 코딩 수단들이 사용된다. 병합 코딩 모드 및 고급 움직임 벡터 예측(advanced motion vector prediction)(AMVP) 모드가 2개의 중요한 인터 프레임 예측 수단들이다. 병합 코딩 모드에서, 현재 코딩 블록을 둘러싸는 코딩된 블록의 움직임 정보(움직임 벡터(motion vector)(MV), 예측 방향, 참조 프레임 인덱스 등을 포함함)는 후보 움직임 정보의 세트를 형성하는 데 사용된다. 가장 높은 코딩 효율을 갖는 후보 움직임 정보가, 비교에 의해, 현재 코딩 블록의 움직임 정보로서 선택될 수 있다. 현재 코딩 블록의, 참조 프레임에서 발견된, 예측된 값을 사용하여 현재 코딩 블록에 대해 예측 코딩이 수행된다. 그에 부가하여, 움직임 정보가 선택되는 특정 주변 코딩된 블록을 인덱싱하는 인덱스 값이 비트스트림에 기입될 수 있다. 고급 움직임 벡터 예측 모드가 사용될 때, 주변 코딩된 블록의 움직임 벡터가 현재 코딩 블록의 움직임 벡터의 예측된 값으로서 사용되고, 현재 코딩 블록의 움직임 벡터를 예측하기 위해 가장 높은 코딩 효율을 갖는 움직임 벡터가 선택될 수 있고, 특정 주변 움직임 벡터의 선택을 표시하는 인덱스 값이 비디오 비트스트림에 기입될 수 있다.
이하에서는 본 발명의 실시예들의 기술적 해결책들을 계속하여 설명한다.
이하에서는 먼저 본 발명의 실시예들에서 제공되는 픽처 예측 방법을 설명한다. 본 발명의 실시예들에서 제공되는 픽처 예측 방법은 비디오 인코딩 장치 또는 비디오 디코딩 장치에 의해 실행된다. 비디오 인코딩 장치 또는 비디오 디코딩 장치는 비디오를 출력 또는 저장할 필요가 있는 임의의 장치, 예를 들어, 노트북 컴퓨터, 태블릿 컴퓨터, 개인용 컴퓨터, 휴대폰, 비디오 서버, 또는 다른 디바이스일 수 있다.
본 발명에서 제공되는 픽처 예측 방법의 일 실시예에서, 픽처 예측 방법은: 현재 픽처 블록 내의 W개의 제어 포인트들의 움직임 벡터들을 결정하는 단계; 움직임 모델 및 W개의 제어 포인트들의 움직임 벡터들을 사용하여 현재 픽처 블록의 P개의 픽셀 단위들의 움직임 벡터들을, 계산에 의해, 획득하는 단계 - W개의 제어 포인트들의 결정된 움직임 벡터들의 정밀도는 픽셀 정밀도의 1/n이고, 계산에 의해 획득되는, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터의 정밀도는 픽셀 정밀도의 1/N이며, P개의 픽셀 단위들은 현재 픽처 블록의 픽셀 단위들의 일부 또는 전부이고, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터는 대응하는 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위를 결정하는 데 사용되며, W, n, 및 N은 1보다 큰 정수들이고, N은 n보다 크며, P는 양의 정수임 -; 및 P개의 픽셀 단위들의 각각의 픽셀 단위의 예측된 픽셀 값을 획득하기 위해, Q의 위상을 갖는 보간 필터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행하는 단계 - Q는 n보다 큰 정수임 - 를 포함한다.
도 2a를 참조하면, 도 2a는 본 발명의 일 실시예에 따른 픽처 예측 방법의 개략 플로차트이다. 도 2a에 도시된 일 예에서, 본 발명의 이 실시예에서 제공되는 픽처 예측 방법은 하기의 단계들을 포함할 수 있다.
201. 현재 픽처 블록 내의 W개의 제어 포인트들의 움직임 벡터들을 결정한다.
202. 움직임 모델 및 W개의 제어 포인트들의 움직임 벡터들을 사용하여 현재 픽처 블록의 P개의 픽셀 단위들의 움직임 벡터들을, 계산에 의해, 획득한다.
P개의 픽셀 단위들은 현재 픽처 블록의 픽셀 단위들의 일부 또는 전부이다.
P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터는 대응하는 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위를 결정하는 데 사용된다. 따라서, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터는 대응하는 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위를 결정하는 데 사용될 수 있다.
W개의 제어 포인트들의 결정된 움직임 벡터들의 정밀도는 픽셀 정밀도의 1/n이다.
계산에 의해 획득되는, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터의 정밀도는 픽셀 정밀도의 1/N이다.
W, n, 및 N은 1보다 큰 정수들이다.
N은 n보다 크다. P는 양의 정수이다.
N이 n보다 크기 때문에, 계산에 의해 획득되는, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터의 정밀도는 W개의 제어 포인트들의 결정된 움직임 벡터들의 정밀도보다 더 높다. 즉, 현재 픽처 블록의 P개의 픽셀 단위들의 보다 높은 정밀도의 움직임 벡터들이 획득된다.
본 발명의 일부 실시가능 구현들에서, W개의 제어 포인트들의 움직임 벡터들은 현재 픽처 블록을 둘러싸는 인코딩된 픽처 블록 또는 디코딩된 픽처 블록의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 에 기초하여 예측된다.
도 2b에 도시된 일 예에서, W개의 제어 포인트들은 제어 포인트(LT), 제어 포인트(RT), 및 제어 포인트(LB)를 포함한다. 제어 포인트(LT)의 움직임 벡터는 픽처 블록들(A, B, 및 C)의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 에 기초하여 예측될 수 있다. 제어 포인트(RT)의 움직임 벡터는 픽처 블록들(D 및 E)의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 에 기초하여 예측될 수 있다. 제어 포인트(LB)의 움직임 벡터는 픽처 블록들(F 및 G)의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 에 기초하여 예측될 수 있다.
본 발명의 일부 실시가능 구현들에서, W개의 제어 포인트들의 움직임 벡터들이 예측된 값들에 기초할 때, 예측된 값들의 정밀도가 또한 픽셀 정밀도의 1/n이고, 제어 포인트들의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 과 대응하는 예측된 값들 사이의 차분들이 비트스트림에 기입될 수 있다.
본 발명의 일부 실시가능 구현들에서, 움직임 모델은, 예를 들어, 평행이동 움직임 모델, 아핀 움직임 모델, 회전 움직임 모델, 포물선 움직임 모델, 전단 움직임 모델, 줌잉 움직임 모델, 원근 움직임 모델, 또는 이중선형 움직임 모델일 수 있다.
203. P개의 픽셀 단위들의 각각의 픽셀 단위의 예측된 픽셀 값을 획득하기 위해, Q의 위상을 갖는 보간 필터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행한다.
Q는 n보다 큰 정수이다.
본 발명의 일부 실시가능 구현들에서, N의 값은 미리 설정된 고정값일 수 있고, Q는 N보다 작거나 같을 수 있다. N의 값이 미리 설정된 고정값일 수 있을 때, 이는 현재 픽처 블록의 P개의 픽셀 단위들의, 움직임 모델 및 W개의 제어 포인트들의 움직임 벡터들을 사용하여 계산에 의해 획득되는, 움직임 벡터들의 정밀도가 현재 픽처 블록의 크기에 불필요하게 관련되어 있다는 것을 나타낸다. 환언하면, 예를 들어, 이 실시예의 해결책에 기초하여, 보다 낮은 정밀도의 보간 필터링을 수행하는 것에 의해 보다 낮은 정밀도의 예측된 픽셀 값을 획득하기 위한 중간 프로세스 없이, 미리 설정된 고정 정밀도를 갖는 예측된 픽셀 값이 획득될 수 있다.
예를 들어, W는 2, 3, 4, 5, 6, 8, 또는 다른 값일 수 있다.
예를 들어, P는 1, 2, 3, 4, 5, 6, 8, 10, 15, 16, 21, 32, 64, 또는 다른 값일 수 있다.
예를 들어, Q는 128, 9, 18, 24, 256, 8, 10, 15, 16, 21, 32, 64, 또는 다른 값일 수 있다.
예를 들어, N은 128, 9, 18, 24, 256, 8, 10, 15, 16, 21, 32, 64, 또는 다른 값일 수 있다.
예를 들어, n은 8, 2, 4, 또는 다른 값일 수 있다.
본 발명의 일부 실시가능 구현들에서, N은 2의 정수 거듭제곱일 수 있거나, 분명하게도 N은 다른 양의 정수일 수 있다.
본 발명의 실시예들에서의 픽셀 단위는 하나 이상의 픽셀들을 포함할 수 있다. 예를 들어, 픽셀 단위는 2 x 2 픽셀 블록, 2 x 1 픽셀 블록, 2 x 1 픽셀 블록, 4 x 4 픽셀 블록, 또는 4 x 2 픽셀 블록일 수 있다.
본 발명의 실시예들에서의 제어 포인트는 하나 이상의 픽셀들을 포함할 수 있다. 예를 들어, 제어 포인트는 2 x 2 픽셀 블록, 2 x 1 픽셀 블록, 2 x 1 픽셀 블록, 4 x 4 픽셀 블록, 또는 4 x 2 픽셀 블록일 수 있다.
전술한 바로부터, 이 실시예에서 제공되는 픽처 예측 방법에서, 현재 픽처 블록의 각각의 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 가 움직임 모델 및 W개의 제어 포인트들의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n이고, N은 n보다 큼 - 을 사용하여 계산에 의해 획득된다는 것을 알 수 있다. 환언하면, 계산에 의해 획득되는, 현재 픽처 블록의 각각의 픽셀 단위의 움직임 벡터의 정밀도는 W개의 제어 포인트들의 결정된 움직임 벡터들의 정밀도보다 더 높다. 보다 높은 정밀도의 움직임 벡터가 먼저 획득된다. 따라서, 현재 픽처 블록의 각각의 픽셀 단위의 보다 높은 정밀도의 움직임 벡터는 현재 픽처 블록의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위를 결정하는 데 사용되며, 현재 픽처 블록의 각각의 픽셀 단위의 예측된 픽셀 값을 획득하기 위해, Q(Q는 n보다 큼)의 위상을 갖는 보간 필터를 사용하여 현재 픽처 블록의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링이 수행된다. 픽처 예측 프로세스 동안 보간 필터링을 위해 요구되는 중간 캐시들 및 메모리 연산들의 양을 감소시키고 픽처 예측 프로세스 동안 계산 복잡도를 감소시키기 위해, 전술한 방식이 현재 픽처 블록의 보다 높은 정밀도의 예측된 픽셀 값을, 예측에 의해, 획득하기 위해 요구되는 보간 필터링의 양을 줄이는 데 도움이 된다는 것을 알 수 있다(예를 들어, 보다 낮은 정밀도의 보간 필터링을 수행함으로써 보다 낮은 정밀도의 예측된 픽셀 값을 획득하기 위한 중간 프로세스가 요구되지 않을 수 있다).
본 발명의 일부 실시가능 구현들에서, W개의 제어 포인트들의 움직임 벡터들 중 하나의 움직임 벡터의 수평 성분 또는 수직 성분이 N을 사용하여 움직임 모델에서 N배 증폭되거나, W개의 제어 포인트들 중 임의의 2개의 제어 포인트들의 움직임 벡터들 간의 성분 차이가 N을 사용하여 움직임 모델에서 N배 증폭된다.
예를 들어, 본 발명의 일부 실시가능 구현들에서, 움직임 모델은 W가 2일 때 하기와 같이 표현될 수 있고:
Figure pat00017
또는
Figure pat00018
여기서 L은 상기 현재 픽처 블록의 폭 또는 높이를 나타내고, (v0x, v0y) 및 (v1x, v1y)는 2개의 제어 포인트들의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 을 나타내며, vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타낸다.
다른 예로서, 본 발명의 일부 실시가능 구현들에서, 움직임 모델은 W가 3일 때 하기와 같이 표현될 수 있고:
Figure pat00019
또는
Figure pat00020
여기서 vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타내며, (v0x, v0y), (v1x, v1y), 및 (v2x, v2y)는 3개의 제어 포인트들의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 을 나타내고, w는 현재 픽처 블록의 폭을 나타내며, h는 현재 픽처 블록의 높이를 나타낸다.
전술한 예들은 아핀 움직임 모델을 사용하여 설명된다. 평행이동 움직임 모델, 회전 움직임 모델, 전단 움직임 모델, 줌잉 움직임 모델, 원근 움직임 모델, 포물선 움직임 모델, 이중선형 움직임 모델 등이 사용될 때, 전술한 예들이 참조될 수 있다. 상세들이 여기서 또다시 기술되지 않는다.
예를 들어, 움직임 모델의 일반적인 표현 형태는 다음과 같을 수 있고:
Figure pat00021
여기서 제어 포인트의 움직임 벡터 (vix, viy)의 정밀도는 픽셀 정밀도의 1/n이고, 효과와 비트 오버헤드의 균형을 맞추기 위해, n의 값은 4로 설정될 수 있으며; N은 필터의 미리 설정된 위상을 나타낼 수 있고; (x, y)는 픽처 블록 내의 임의의 픽셀 단위의 좌표 값들을 나타내고;
vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타낸다.
임의로, 본 발명의 일부 실시가능 구현들에서, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위를 결정하는 단계는: P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의 정수-픽셀 위치를, 계산에 의해, 획득하는 단계; 및 P개의 픽셀 단위들의 각각의 픽셀 단위의 정수-픽셀 위치에 대응하는 참조 픽셀 단위에 대한 참조 픽처를, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여, 탐색하는 단계 - P개의 픽셀 단위들의 각각의 픽셀 단위의 정수-픽셀 위치에 대응하는, 참조 픽처에서 발견되는 참조 픽셀 단위는 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 참조 픽셀 단위임 - 를 포함할 수 있다.
구체적으로는, 예를 들어, 픽셀 단위 i의 정수-픽셀 위치는 P개의 픽셀 단위들 중 픽셀 단위 i의 움직임 벡터를 사용하여 계산에 의해 획득될 수 있고, 픽셀 단위 i의 정수-픽셀 위치에 대응하는 참조 픽셀 단위가 있는지, 픽셀 단위 i의 움직임 벡터를 사용하여, 참조 픽처가 탐색될 수 있으며, 여기서 픽셀 단위 i의 정수-픽셀 위치에 대응하는, 참조 픽처에서 발견되는 참조 픽셀 단위는 픽셀 단위 i의, 참조 픽처에서의, 참조 픽셀 단위이다. 픽셀 단위 i는 P개의 픽셀 단위들 중 임의의 픽셀 단위일 수 있다. 예를 들어, P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위는 픽셀 단위 i의, 참조 픽처에서의, 참조 픽셀 단위를 결정하는 방식과 유사한 방식에 따라 결정될 수 있다.
본 발명의 일부 실시가능 구현들에서, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의 정수-픽셀 위치를, 계산에 의해, 획득하는 단계는:
P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 하기의 수식에 따라 P개의 픽셀 단위들의 각각의 픽셀 단위의 정수-픽셀 위치를, 계산에 의해, 획득하는 단계를 포함하고:
Figure pat00022
또는
Figure pat00023
Figure pat00024
또는
Figure pat00025
여기서 N이 2의 정수 거듭제곱일 때 M = log2N이고, (xInt, yInt)는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 정수-픽셀 위치 좌표들을 나타내고, vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타낸다.
본 발명의 일부 실시가능 구현들에서, Q의 위상을 갖는 보간 필터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행하는 단계는:
P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의 위상을, 계산에 의해, 획득하는 단계; 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 보간 필터를, 각각의 픽셀 단위의 위상에 기초하여, 결정하는 단계 - 보간 필터에 의해 사용되는 필터 계수는 위상에 대응함 -; 및 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 결정된 보간 필터를 사용하여 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행하는 단계를 포함한다.
구체적으로는, 예를 들어, 픽셀 단위 i의 위상은 P개의 픽셀 단위들 중 픽셀 단위 i의 움직임 벡터를 사용하여 계산에 의해 획득될 수 있고; 픽셀 단위 i에 대응하는 Q의 위상을 갖는 보간 필터가 픽셀 단위 i의 위상에 기초하여 결정될 수 있으며 - 보간 필터에 의해 사용되는 필터 계수는 위상에 대응함 -; 픽셀 단위 i에 대응하는 Q의 위상을 갖는 결정된 보간 필터를 사용하여 픽셀 단위 i의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링이 수행될 수 있다. 픽셀 단위 i는 P개의 픽셀 단위들 중 임의의 픽셀 단위일 수 있다. 예를 들어, 픽셀 단위 i에 대해 보간 필터링을 수행하는 것과 유사한 방식에 따라 P개의 픽셀 단위들의 각각의 픽셀 단위에 대해 보간 필터링이 수행될 수 있다.
본 발명의 일부 실시가능 구현들에서, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의 위상을, 계산에 의해, 획득하는 단계는: P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 하기의 수식에 따라 P개의 픽셀 단위들의 각각의 픽셀 단위의 위상을, 계산에 의해, 획득하는 단계를 포함하고:
Figure pat00026
또는
Figure pat00027
Figure pat00028
또는
Figure pat00029
여기서 N이 2의 정수 거듭제곱일 때 M = log2N이고, X'은 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 수평 위상을 나타내고, Y'은 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 수직 위상을 나타내며, vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타낸다.
임의로, 본 발명의 일부 실시가능 구현들에서, 위상은 수평 위상 및 수직 위상을 포함하고; 픽셀 단위에 대응하는 Q의 위상을 갖는 보간 필터를, 각각의 픽셀 단위의 위상에 기초하여, 결정하는 단계는: 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 수평 보간 필터를, 각각의 픽셀 단위의 수평 위상에 기초하여, 결정하는 단계; 및 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 수직 보간 필터를, 각각의 픽셀 단위의 수직 위상에 기초하여, 결정하는 단계를 포함하고, 여기서 수평 보간 필터에 의해 사용되는 필터 계수는 수평 위상에 대응하고, 수직 보간 필터에 의해 사용되는 필터 계수는 수직 위상에 대응한다.
구체적으로는, 예를 들어, 픽셀 단위 i에 대응하는 Q의 위상을 갖는 수평 보간 필터가 픽셀 단위 i의 수평 위상에 기초하여 결정될 수 있고, 픽셀 단위 i에 대응하는 Q의 위상을 갖는 수직 보간 필터가 픽셀 단위 i의 수직 위상에 기초하여 결정될 수 있으며, 여기서 수평 보간 필터에 의해 사용되는 필터 계수는 픽셀 단위 i의 수평 위상에 대응하고, 수직 보간 필터에 의해 사용되는 필터 계수는 픽셀 단위 i의 수직 위상에 대응한다. 픽셀 단위 i는 P개의 픽셀 단위들 중 임의의 픽셀 단위일 수 있다. 예를 들어, P개의 픽셀 단위들의 각각의 픽셀 단위에 대응하는 Q의 위상을 갖는 보간 필터는 픽셀 단위 i에 대응하는 Q의 위상을 갖는 보간 필터를 결정하는 방식과 유사한 방식에 따라 결정될 수 있다.
임의로, 본 발명의 일부 실시가능 구현들에서, 픽셀 단위에 대응하는 Q의 위상을 갖는 결정된 보간 필터를 사용하여 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행하는 단계는:
수평 보간 필터링 결과를 획득하기 위해, 픽셀 단위 i에 대응하는 Q의 위상을 갖는 결정된 수평 보간 필터를 사용하여 픽셀 단위 i의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 수평 보간 필터링을 수행하는 단계; 및 픽셀 단위 i의 예측된 픽셀 값을 획득하기 위해, 픽셀 단위 i에 대응하는 Q의 위상을 갖는 결정된 수직 보간 필터를 사용하여 수평 보간 필터링 결과에 대해 수직 보간 필터링을 수행하는 단계 - 픽셀 단위 i는 P개의 픽셀 단위들 중 임의의 픽셀 단위임 -; 또는
수직 보간 필터링 결과를 획득하기 위해, 픽셀 단위 j에 대응하는 Q의 위상을 갖는 결정된 수직 보간 필터를 사용하여 픽셀 단위 j의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 수직 보간 필터링을 수행하는 단계; 및 픽셀 단위 j의 예측된 픽셀 값을 획득하기 위해, 픽셀 단위 j에 대응하는 Q의 위상을 갖는 결정된 수평 보간 필터를 사용하여 수직 보간 필터링 결과에 대해 수평 보간 필터링을 수행하는 단계 - 픽셀 단위 j는 P개의 픽셀 단위들 중 임의의 픽셀 단위임 - 를 포함한다.
그에 부가하여, 픽셀 단위가 하나의 위상만을 갖는 경우(즉, 수평 위상 또는 수직 위상만을 갖는 경우), 픽셀 단위의 예측된 픽셀 값을 획득하기 위해, 픽셀 단위의 참조 픽셀 단위의 픽셀에 대해 보간 필터링이 한 번만 수행되면 된다.
임의로, 본 발명의 일부 실시가능 구현들에서, 현재 픽처 블록 내의 W개의 제어 포인트들의 움직임 벡터들을 결정하는 단계는:
현재 픽처 블록 내의 W개의 제어 포인트들을 결정하고, W개의 제어 포인트들의 각각의 제어 포인트에 대응하는 후보 움직임 정보 단위 세트를 결정하는 단계 - 각각의 제어 포인트에 대응하는 후보 움직임 정보 단위 세트는 적어도 하나의 후보 움직임 정보 단위를 포함함 -;
W개의 움직임 정보 단위들을 포함하는 병합 움직임 정보 단위 세트(combined motion information unit set) e를 결정하는 단계 - 병합 움직임 정보 단위 세트 e 내의 각각의 움직임 정보 단위는 W개의 제어 포인트들의 각각의 제어 포인트에 대응하는 후보 움직임 정보 단위 세트 내의 적어도 일부 움직임 정보 단위들 중에서 선택되고, 병합 움직임 정보 단위 세트 e 내의 각각의 병합 움직임 정보 단위는 움직임 벡터를 포함함 -; 및
W개의 제어 포인트들의 움직임 벡터들을 획득하기 위해 병합 움직임 정보 단위 세트 e 내의 W개의 움직임 벡터들에 대해 예측 또는 움직임 추정을 수행하는 단계, 또는 병합 움직임 정보 단위 세트 e에 포함된 W개의 움직임 벡터들을 W개의 제어 포인트들의 움직임 벡터들로서 사용하는 단계를 포함한다.
본 발명의 일부 실시가능 구현들에서, 후보 움직임 정보 단위 세트 내의 각각의 움직임 벡터의 정밀도는 픽셀 정밀도의 1/n일 수 있다.
픽처 예측 방법이 비디오 인코딩 프로세스에 적용될 수 있거나, 픽처 예측 방법이 비디오 디코딩 프로세스에 적용될 수 있다.
본 발명의 실시예들의 기술적 해결책들을 더 잘 이해하기 위해, 이하에서는 예들을 사용하여 인코더측 및 디코더측의 관점들로부터의 설명을 제공한다.
이하에서는 먼저 인코더측의 관점으로부터의 해결책을 설명한다.
도 3a를 참조하면, 도 3a는 본 발명의 다른 실시예에 따른 다른 픽처 예측 방법의 개략 플로차트이다. 도 3a에 도시된 일 예에서, 본 발명의 다른 실시예에서 제공되는 다른 픽처 예측 방법은 하기의 단계들을 포함할 수 있다.
301. 비디오 인코딩 장치는 현재 픽처 블록 내의 W개의 제어 포인트들을 결정한다.
302. 비디오 인코딩 장치는 W개의 제어 포인트들의 움직임 벡터들을 결정한다.
비디오 인코딩 장치에 의해, W개의 제어 포인트들의 움직임 벡터들을 결정하는 단계는: W개의 제어 포인트들의 각각의 제어 포인트에 대응하는 후보 움직임 정보 단위 세트를 결정하는 단계 - 각각의 제어 포인트 세트에 대응하는 후보 움직임 정보 단위는 적어도 하나의 후보 움직임 정보 단위를 포함함 -; W개의 움직임 정보 단위들을 포함하는 병합 움직임 정보 단위 세트 e를 결정하는 단계 - 병합 움직임 정보 단위 세트 e 내의 각각의 움직임 정보 단위는 W개의 제어 포인트들의 각각의 제어 포인트에 대응하는 후보 움직임 정보 단위 세트 내의 적어도 일부 움직임 정보 단위들 중에서 선택되고, 병합 움직임 정보 단위 세트 e 내의 각각의 병합 움직임 정보 단위는 움직임 벡터를 포함함 -; 및 W개의 제어 포인트들의 움직임 벡터들을 획득하기 위해 병합 움직임 정보 단위 세트 e 내의 W개의 움직임 벡터들에 대해 예측 또는 움직임 추정을 수행하는 단계, 또는 병합 움직임 정보 단위 세트 e에 포함된 W개의 움직임 벡터들을 W개의 제어 포인트들의 움직임 벡터들로서 사용하는 단계를 포함할 수 있다.
본 발명의 일부 실시가능 구현들에서, 후보 움직임 정보 단위 세트 내의 각각의 움직임 벡터의 정밀도는 픽셀 정밀도의 1/n일 수 있다.
303. 비디오 인코딩 장치는 움직임 모델 및 W개의 제어 포인트들의 움직임 벡터들을 사용하여 현재 픽처 블록의 P개의 픽셀 단위들의 움직임 벡터들을, 계산에 의해, 획득한다.
P는 양의 정수이고, W 및 N은 1보다 큰 정수들이다.
P개의 픽셀 단위들은 현재 픽처 블록의 픽셀 단위들의 일부 또는 전부이다.
P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터는 대응하는 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위를 결정하는 데 사용된다. 따라서, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터는 대응하는 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위를 결정하는 데 사용될 수 있다.
W개의 제어 포인트들의 결정된 움직임 벡터들의 정밀도는 픽셀 정밀도의 1/n이다.
계산에 의해 획득되는, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터의 정밀도는 픽셀 정밀도의 1/N이다.
W, n, 및 N은 1보다 큰 정수들이다.
N은 n보다 크다. P는 양의 정수이다.
N이 n보다 크기 때문에, 계산에 의해 획득되는, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터의 정밀도는 W개의 제어 포인트들의 결정된 움직임 벡터들의 정밀도보다 더 높다. 즉, 현재 픽처 블록의 P개의 픽셀 단위들의 보다 높은 정밀도의 움직임 벡터들이 획득된다.
본 발명의 일부 실시가능 구현들에서, W개의 제어 포인트들의 움직임 벡터들은 현재 픽처 블록을 둘러싸는 인코딩된 픽처 블록 또는 디코딩된 픽처 블록의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 에 기초하여 예측된다.
본 발명의 일부 실시가능 구현들에서, W개의 제어 포인트들의 움직임 벡터들이 예측된 값들에 기초할 때, 예측된 값들의 정밀도가 또한 픽셀 정밀도의 1/n이고, 제어 포인트들의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 과 대응하는 예측된 값들 사이의 차분들이 비트스트림에 기입될 수 있다. 그에 대응하여, W개의 제어 포인트들의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 은 디코더측에서 W개의 움직임 벡터들과 예측된 움직임 벡터 간의 예측된 차분을 사용하여 그리고 현재 픽처 블록을 둘러싸는 디코딩된 픽처 블록의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 를 사용하여, 예측에 의해, 획득될 수 있고, 여기서 예측된 차분은 비트스트림으로부터 획득된다.
본 발명의 일부 실시가능 구현들에서, 움직임 모델은, 예를 들어, 평행이동 움직임 모델, 아핀 움직임 모델, 회전 움직임 모델, 포물선 움직임 모델, 전단 움직임 모델, 줌잉 움직임 모델, 원근 움직임 모델, 또는 이중선형 움직임 모델일 수 있다.
예를 들어, 본 발명의 일부 실시가능 구현들에서, 움직임 모델은 W가 2일 때 하기와 같이 표현될 수 있고:
Figure pat00030
또는
Figure pat00031
여기서 L은 상기 현재 픽처 블록의 폭 또는 높이를 나타내고, (v0x, v0y) 및 (v1x, v1y)는 2개의 제어 포인트들의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 을 나타내며, vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타낸다.
다른 예로서, 본 발명의 일부 실시가능 구현들에서, 움직임 모델은 W가 3일 때 하기와 같이 표현될 수 있고:
Figure pat00032
또는
Figure pat00033
여기서 vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타내며, (v0x, v0y), (v1x, v1y), 및 (v2x, v2y)는 3개의 제어 포인트들의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 을 나타내고, w는 현재 픽처 블록의 폭을 나타내며, h는 현재 픽처 블록의 높이를 나타낸다.
전술한 예들은 아핀 움직임 모델을 사용하여 설명된다. 평행이동 움직임 모델, 회전 움직임 모델, 전단 움직임 모델, 줌잉 움직임 모델, 원근 움직임 모델, 포물선 움직임 모델, 이중선형 움직임 모델 등이 사용될 때, 전술한 예들이 참조될 수 있다. 상세들이 여기서 또다시 기술되지 않는다.
304. 비디오 인코딩 장치는 P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위를 결정한다.
임의로, 본 발명의 일부 실시가능 구현들에서, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위를 결정하는 단계는: P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의 정수-픽셀 위치를, 계산에 의해, 획득하는 단계; 및 P개의 픽셀 단위들의 각각의 픽셀 단위의 정수-픽셀 위치에 대응하는 참조 픽셀 단위에 대한 참조 픽처를, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여, 탐색하는 단계 - P개의 픽셀 단위들의 각각의 픽셀 단위의 정수-픽셀 위치에 대응하는, 참조 픽처에서 발견되는 참조 픽셀 단위는 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 참조 픽셀 단위임 - 를 포함할 수 있다.
구체적으로는, 예를 들어, 픽셀 단위 i의 정수-픽셀 위치는 P개의 픽셀 단위들 중 픽셀 단위 i의 움직임 벡터를 사용하여 계산에 의해 획득될 수 있고, 픽셀 단위 i의 정수-픽셀 위치에 대응하는 참조 픽셀 단위가 있는지, 픽셀 단위 i의 움직임 벡터를 사용하여, 참조 픽처가 탐색될 수 있으며, 여기서 픽셀 단위 i의 정수-픽셀 위치에 대응하는, 참조 픽처에서 발견되는 참조 픽셀 단위는 픽셀 단위 i의, 참조 픽처에서의, 참조 픽셀 단위이다. 픽셀 단위 i는 P개의 픽셀 단위들 중 임의의 픽셀 단위일 수 있다. 예를 들어, P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위는 픽셀 단위 i의, 참조 픽처에서의, 참조 픽셀 단위를 결정하는 방식과 유사한 방식에 따라 결정될 수 있다.
본 발명의 일부 실시가능 구현들에서, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의 정수-픽셀 위치를, 계산에 의해, 획득하는 단계는:
P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 하기의 수식에 따라 P개의 픽셀 단위들의 각각의 픽셀 단위의 정수-픽셀 위치를, 계산에 의해, 획득하는 단계를 포함하고:
Figure pat00034
또는
Figure pat00035
Figure pat00036
또는
Figure pat00037
여기서 N이 2의 정수 거듭제곱일 때 M = log2N이고, (xInt, yInt)는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 정수-픽셀 위치 좌표들을 나타내며, vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타낸다.
예를 들어, 도 3b를 참조하면, 도 3b에서의 정사각형 박스들은 현재 위치에 인접한 정수-픽셀 위치들에 있는 픽셀들을 나타내고, 삼각형들은 서브-픽셀들을 나타낸다.
305. 비디오 인코딩 장치는, P개의 픽셀 단위들의 각각의 픽셀 단위의 예측된 픽셀 값을 획득하기 위해, Q의 위상을 갖는 보간 필터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행한다.
Q는 n보다 큰 정수이다.
본 발명의 일부 실시가능 구현들에서, N의 값은 미리 설정된 고정값일 수 있고, Q는 N보다 크거나 같을 수 있다. N의 값이 미리 설정된 고정값일 수 있을 때, 이는 현재 픽처 블록의 P개의 픽셀 단위들의, 움직임 모델 및 W개의 제어 포인트들의 움직임 벡터들을 사용하여 계산에 의해 획득되는, 움직임 벡터들의 정밀도가 현재 픽처 블록의 크기에 불필요하게 관련되어 있다는 것을 나타낸다. 환언하면, 예를 들어, 이 실시예의 해결책에 기초하여, 보다 낮은 정밀도의 보간 필터링을 수행하는 것에 의해 보다 낮은 정밀도의 예측된 픽셀 값을 획득하기 위한 중간 프로세스 없이, 미리 설정된 고정 정밀도를 갖는 예측된 픽셀 값이 획득될 수 있다.
예를 들어, W는 2, 3, 4, 5, 6, 8, 또는 다른 값일 수 있다.
예를 들어, P는 1, 2, 3, 4, 5, 6, 8, 10, 15, 16, 21, 32, 64, 또는 다른 값일 수 있다.
예를 들어, Q는 128, 9, 18, 24, 256, 8, 10, 15, 16, 21, 32, 64, 또는 다른 값일 수 있다.
예를 들어, N은 128, 9, 18, 24, 256, 8, 10, 15, 16, 21, 32, 64, 또는 다른 값일 수 있다.
예를 들어, n은 8, 2, 4, 또는 다른 값일 수 있다.
본 발명의 일부 실시가능 구현들에서, N은 2의 정수 거듭제곱일 수 있거나, 분명하게도 N은 다른 양의 정수일 수 있다.
본 발명의 일부 실시가능 구현들에서, Q의 위상을 갖는 보간 필터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행하는 단계는:
P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의 위상을, 계산에 의해, 획득하는 단계; 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 보간 필터를, 각각의 픽셀 단위의 위상에 기초하여, 결정하는 단계 - 보간 필터에 의해 사용되는 필터 계수는 위상에 대응함 -; 및 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 결정된 보간 필터를 사용하여 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행하는 단계를 포함한다.
구체적으로는, 예를 들어, 픽셀 단위 i의 위상은 P개의 픽셀 단위들 중 픽셀 단위 i의 움직임 벡터를 사용하여 계산에 의해 획득될 수 있고; 픽셀 단위 i에 대응하는 Q의 위상을 갖는 보간 필터가 픽셀 단위 i의 위상에 기초하여 결정될 수 있으며 - 보간 필터에 의해 사용되는 필터 계수는 위상에 대응함 -; 픽셀 단위 i에 대응하는 Q의 위상을 갖는 결정된 보간 필터를 사용하여 픽셀 단위 i의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링이 수행될 수 있다. 픽셀 단위 i는 P개의 픽셀 단위들 중 임의의 픽셀 단위일 수 있다. 예를 들어, 픽셀 단위 i에 대해 보간 필터링을 수행하는 것과 유사한 방식에 따라 P개의 픽셀 단위들의 각각의 픽셀 단위에 대해 보간 필터링이 수행될 수 있다.
본 발명의 일부 실시가능 구현들에서, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의 위상을, 계산에 의해, 획득하는 단계는: P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 하기의 수식에 따라 P개의 픽셀 단위들의 각각의 픽셀 단위의 위상을, 계산에 의해, 획득하는 단계를 포함하고:
Figure pat00038
또는
Figure pat00039
Figure pat00040
또는
Figure pat00041
여기서 N이 2의 정수 거듭제곱일 때 M = log2N이고, X'은 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 수평 위상을 나타내고, Y'은 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 수직 위상을 나타내며, vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타낸다.
임의로, 본 발명의 일부 실시가능 구현들에서, 위상은 수평 위상 및 수직 위상을 포함하고; 픽셀 단위에 대응하는 Q의 위상을 갖는 보간 필터를, 각각의 픽셀 단위의 위상에 기초하여, 결정하는 단계는: 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 수평 보간 필터를, 각각의 픽셀 단위의 수평 위상에 기초하여, 결정하는 단계; 및 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 수직 보간 필터를, 각각의 픽셀 단위의 수직 위상에 기초하여, 결정하는 단계를 포함하고, 여기서 수평 보간 필터에 의해 사용되는 필터 계수는 수평 위상에 대응하고, 수직 보간 필터에 의해 사용되는 필터 계수는 수직 위상에 대응한다.
구체적으로는, 예를 들어, 픽셀 단위 i에 대응하는 Q의 위상을 갖는 수평 보간 필터가 픽셀 단위 i의 수평 위상에 기초하여 결정될 수 있고, 픽셀 단위 i에 대응하는 Q의 위상을 갖는 수직 보간 필터가 픽셀 단위 i의 수직 위상에 기초하여 결정될 수 있으며, 여기서 수평 보간 필터에 의해 사용되는 필터 계수는 픽셀 단위 i의 수평 위상에 대응하고, 수직 보간 필터에 의해 사용되는 필터 계수는 픽셀 단위 i의 수직 위상에 대응한다. 픽셀 단위 i는 P개의 픽셀 단위들 중 임의의 픽셀 단위일 수 있다. 예를 들어, P개의 픽셀 단위들의 각각의 픽셀 단위에 대응하는 Q의 위상을 갖는 보간 필터는 픽셀 단위 i에 대응하는 Q의 위상을 갖는 보간 필터를 결정하는 방식과 유사한 방식에 따라 결정될 수 있다.
임의로, 본 발명의 일부 실시가능 구현들에서, 픽셀 단위에 대응하는 Q의 위상을 갖는 결정된 보간 필터를 사용하여 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행하는 단계는:
수평 보간 필터링 결과를 획득하기 위해, 픽셀 단위 i에 대응하는 Q의 위상을 갖는 결정된 수평 보간 필터를 사용하여 픽셀 단위 i의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 수평 보간 필터링을 수행하는 단계; 및 픽셀 단위 i의 예측된 픽셀 값을 획득하기 위해, 픽셀 단위 i에 대응하는 Q의 위상을 갖는 결정된 수직 보간 필터를 사용하여 수평 보간 필터링 결과에 대해 수직 보간 필터링을 수행하는 단계 - 픽셀 단위 i는 P개의 픽셀 단위들 중 임의의 픽셀 단위임 -; 또는
수직 보간 필터링 결과를 획득하기 위해, 픽셀 단위 j에 대응하는 Q의 위상을 갖는 결정된 수직 보간 필터를 사용하여 픽셀 단위 j의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 수직 보간 필터링을 수행하는 단계; 및 픽셀 단위 j의 예측된 픽셀 값을 획득하기 위해, 픽셀 단위 j에 대응하는 Q의 위상을 갖는 결정된 수평 보간 필터를 사용하여 수직 보간 필터링 결과에 대해 수평 보간 필터링을 수행하는 단계 - 픽셀 단위 j는 P개의 픽셀 단위들 중 임의의 픽셀 단위임 - 를 포함한다.
그에 부가하여, 픽셀 단위가 하나의 위상만을 갖는 경우(즉, 수평 위상 또는 수직 위상만을 갖는 경우), 픽셀 단위의 예측된 픽셀 값을 획득하기 위해, 픽셀 단위의 참조 픽셀 단위의 픽셀에 대해 보간 필터링이 한 번만 수행되면 된다.
306. 비디오 인코딩 장치는 P개의 픽셀 단위들의 원래의 픽셀 값들 및 현재 픽처 블록의 P개의 픽셀 단위들의 예측된 픽셀 값들을 사용하여 현재 픽처블록의 예측된 잔차를 획득할 수 있고, 비디오 인코딩 장치는 현재 픽처 블록의 예측된 잔차를 비디오 비트스트림에 기입할 수 있다.
전술한 바로부터, 이 실시예의 해결책에서, 비디오 인코딩 장치가 현재 픽처 블록의 각각의 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 를 움직임 모델 및 W개의 제어 포인트들의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n이고, N은 n보다 큼 - 을 사용하여, 계산에 의해, 획득한다는 것을 알 수 있다. 환언하면, 계산에 의해 획득되는, 현재 픽처 블록의 각각의 픽셀 단위의 움직임 벡터의 정밀도는 W개의 제어 포인트들의 결정된 움직임 벡터들의 정밀도보다 더 높다. 보다 높은 정밀도의 움직임 벡터가 먼저 획득된다. 따라서, 현재 픽처 블록의 각각의 픽셀 단위의 보다 높은 정밀도의 움직임 벡터는 현재 픽처 블록의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위를 결정하는 데 사용되며, 현재 픽처 블록의 각각의 픽셀 단위의 예측된 픽셀 값을 획득하기 위해, Q(Q는 n보다 큼)의 위상을 갖는 보간 필터를 사용하여 현재 픽처 블록의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링이 수행된다. 픽처 예측 프로세스 동안 보간 필터링을 위해 요구되는 중간 캐시들 및 메모리 연산들의 양을 감소시키고 픽처 예측 프로세스 동안 계산 복잡도를 감소시키기 위해, 전술한 방식이 현재 픽처 블록의 보다 높은 정밀도의 예측된 픽셀 값을, 예측에 의해, 획득하기 위해 요구되는 보간 필터링의 횟수를 줄이는 데 도움이 된다는 것을 알 수 있다(예를 들어, 보다 낮은 정밀도의 보간 필터링을 수행함으로써 보다 낮은 정밀도의 예측된 픽셀 값을 획득하기 위한 중간 프로세스가 요구되지 않을 수 있다).
이하에서는 디코더측의 관점으로부터의 해결책을 설명한다.
도 4를 참조하면, 도 4는 본 발명의 다른 실시예에 따른 다른 픽처 예측 방법의 개략 플로차트이다. 도 4에 도시된 일 예에서, 본 발명의 다른 실시예에서 제공되는 다른 픽처 예측 방법은 하기의 단계들을 포함할 수 있다.
401. 비디오 디코딩 장치는 현재 픽처 블록 내의 W개의 제어 포인트들을 결정한다.
402. 비디오 디코딩 장치는 W개의 제어 포인트들의 움직임 벡터들을 결정한다.
비디오 디코딩 장치에 의해, W개의 제어 포인트들의 움직임 벡터들을 결정하는 단계는: W개의 제어 포인트들의 각각의 제어 포인트에 대응하는 후보 움직임 정보 단위 세트를 결정하는 단계 - 각각의 제어 포인트에 대응하는 후보 움직임 정보 단위 세트는 적어도 하나의 후보 움직임 정보 단위를 포함함 -; W개의 움직임 정보 단위들을 포함하는 병합 움직임 정보 단위 세트 e를 결정하는 단계 - 병합 움직임 정보 단위 세트 e 내의 각각의 움직임 정보 단위는 W개의 제어 포인트들의 각각의 제어 포인트에 대응하는 후보 움직임 정보 단위 세트 내의 적어도 일부 움직임 정보 단위들 중에서 선택되고, 병합 움직임 정보 단위 세트 e 내의 각각의 병합 움직임 정보 단위는 움직임 벡터를 포함함 -; 및 W개의 제어 포인트들의 움직임 벡터들을 획득하기 위해 병합 움직임 정보 단위 세트 e 내의 W개의 움직임 벡터들에 대해 예측 또는 움직임 추정을 수행하는 단계, 또는 병합 움직임 정보 단위 세트 e에 포함된 W개의 움직임 벡터들을 W개의 제어 포인트들의 움직임 벡터들로서 사용하는 단계를 포함할 수 있다.
본 발명의 일부 실시가능 구현들에서, 후보 움직임 정보 단위 세트 내의 각각의 움직임 벡터의 정밀도는 픽셀 정밀도의 1/n일 수 있다.
403. 비디오 디코딩 장치는 움직임 모델 및 W개의 제어 포인트들의 움직임 벡터들을 사용하여 현재 픽처 블록의 P개의 픽셀 단위들의 움직임 벡터들을, 계산에 의해, 획득한다.
P는 양의 정수이고, W 및 N은 1보다 큰 정수들이다.
P개의 픽셀 단위들은 현재 픽처 블록의 픽셀 단위들의 일부 또는 전부이다.
P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터는 대응하는 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위를 결정하는 데 사용된다. 따라서, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터는 대응하는 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위를 결정하는 데 사용될 수 있다.
W개의 제어 포인트들의 결정된 움직임 벡터들의 정밀도는 픽셀 정밀도의 1/n이다.
계산에 의해 획득되는, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터의 정밀도는 픽셀 정밀도의 1/N이다.
W, n, 및 N은 1보다 큰 정수들이다.
N은 n보다 크다. P는 양의 정수이다.
N이 n보다 크기 때문에, 계산에 의해 획득되는, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터의 정밀도는 W개의 제어 포인트들의 결정된 움직임 벡터들의 정밀도보다 더 높다. 즉, 현재 픽처 블록의 P개의 픽셀 단위들의 보다 높은 정밀도의 움직임 벡터들이 획득된다.
본 발명의 일부 실시가능 구현들에서, W개의 제어 포인트들의 움직임 벡터들은 현재 픽처 블록을 둘러싸는 인코딩된 픽처 블록 또는 디코딩된 픽처 블록의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 에 기초하여 예측되고, 여기서 n은 양의 정수이고, n은 N보다 작다.
본 발명의 일부 실시가능 구현들에서, W개의 제어 포인트들의 움직임 벡터들이 예측된 값들에 기초할 때, 예측된 값들의 정밀도가 또한 픽셀 정밀도의 1/n이고, 제어 포인트들의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 과 대응하는 예측된 값들 사이의 차분들이 비트스트림에 기입될 수 있다.
본 발명의 일부 실시가능 구현들에서, 움직임 모델은, 예를 들어, 평행이동 움직임 모델, 아핀 움직임 모델, 회전 움직임 모델, 포물선 움직임 모델, 전단 움직임 모델, 줌잉 움직임 모델, 원근 움직임 모델, 또는 이중선형 움직임 모델일 수 있다.
예를 들어, 본 발명의 일부 실시가능 구현들에서, 움직임 모델은 W가 2일 때 하기와 같이 표현될 수 있고:
Figure pat00042
또는
Figure pat00043
여기서 L은 상기 현재 픽처 블록의 폭 또는 높이를 나타내고, (v0x, v0y) 및 (v1x, v1y)는 2개의 제어 포인트들의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 을 나타내며, vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타낸다.
다른 예로서, 본 발명의 일부 실시가능 구현들에서, 움직임 모델은 W가 3일 때 하기와 같이 표현될 수 있고:
Figure pat00044
또는
Figure pat00045
여기서 vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타내며, (v0x, v0y), (v1x, v1y), 및 (v2x, v2y)는 3개의 제어 포인트들의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 을 나타내고, w는 현재 픽처 블록의 폭을 나타내며, h는 현재 픽처 블록의 높이를 나타낸다.
전술한 예들은 아핀 움직임 모델을 사용하여 설명된다. 평행이동 움직임 모델, 회전 움직임 모델, 전단 움직임 모델, 줌잉 움직임 모델, 원근 움직임 모델, 포물선 움직임 모델, 이중선형 움직임 모델 등이 사용될 때, 전술한 예들이 참조될 수 있다. 상세들이 여기서 또다시 기술되지 않는다.
404. 비디오 디코딩 장치는 P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위를 결정한다.
임의로, 본 발명의 일부 실시가능 구현들에서, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위를 결정하는 단계는: P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의 정수-픽셀 위치를, 계산에 의해, 획득하는 단계; 및 P개의 픽셀 단위들의 각각의 픽셀 단위의 정수-픽셀 위치에 대응하는 참조 픽셀 단위에 대한 참조 픽처를, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여, 탐색하는 단계 - P개의 픽셀 단위들의 각각의 픽셀 단위의 정수-픽셀 위치에 대응하는, 참조 픽처에서 발견되는 참조 픽셀 단위는 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 참조 픽셀 단위임 - 를 포함할 수 있다.
구체적으로는, 예를 들어, 픽셀 단위 i의 정수-픽셀 위치는 P개의 픽셀 단위들 중 픽셀 단위 i의 움직임 벡터를 사용하여 계산에 의해 획득될 수 있고, 픽셀 단위 i의 정수-픽셀 위치에 대응하는 참조 픽셀 단위가 있는지, 픽셀 단위 i의 움직임 벡터를 사용하여, 참조 픽처가 탐색될 수 있으며, 여기서 픽셀 단위 i의 정수-픽셀 위치에 대응하는, 참조 픽처에서 발견되는 참조 픽셀 단위는 픽셀 단위 i의, 참조 픽처에서의, 참조 픽셀 단위이다. 픽셀 단위 i는 P개의 픽셀 단위들 중 임의의 픽셀 단위일 수 있다. 예를 들어, P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위는 픽셀 단위 i의, 참조 픽처에서의, 참조 픽셀 단위를 결정하는 방식과 유사한 방식에 따라 결정될 수 있다.
본 발명의 일부 실시가능 구현들에서, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의 정수-픽셀 위치를, 계산에 의해, 획득하는 단계는:
P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 하기의 수식에 따라 P개의 픽셀 단위들의 각각의 픽셀 단위의 정수-픽셀 위치를, 계산에 의해, 획득하는 단계를 포함하고:
Figure pat00046
또는
Figure pat00047
Figure pat00048
또는
Figure pat00049
여기서 N이 2의 정수 거듭제곱일 때 M = log2N이고, (xInt, yInt)는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 정수-픽셀 위치 좌표들을 나타내며, vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타낸다.
405. 비디오 디코딩 장치는, P개의 픽셀 단위들의 각각의 픽셀 단위의 예측된 픽셀 값을 획득하기 위해, Q의 위상을 갖는 보간 필터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행한다.
Q는 n보다 큰 정수이다.
본 발명의 일부 실시가능 구현들에서, N의 값은 미리 설정된 고정값일 수 있고, Q는 N보다 크거나 같을 수 있다. N의 값이 미리 설정된 고정값일 수 있을 때, 이는 현재 픽처 블록의 P개의 픽셀 단위들의, 움직임 모델 및 W개의 제어 포인트들의 움직임 벡터들을 사용하여 계산에 의해 획득되는, 움직임 벡터들의 정밀도가 현재 픽처 블록의 크기에 불필요하게 관련되어 있다는 것을 나타낸다. 환언하면, 예를 들어, 이 실시예의 해결책에 기초하여, 보다 낮은 정밀도의 보간 필터링을 수행하는 것에 의해 보다 낮은 정밀도의 예측된 픽셀 값을 획득하기 위한 중간 프로세스 없이, 미리 설정된 고정 정밀도를 갖는 예측된 픽셀 값이 획득될 수 있다.
예를 들어, W는 2, 3, 4, 5, 6, 8, 또는 다른 값일 수 있다.
예를 들어, P는 1, 2, 3, 4, 5, 6, 8, 10, 15, 16, 21, 32, 64, 또는 다른 값일 수 있다.
예를 들어, Q는 128, 9, 18, 24, 256, 8, 10, 15, 16, 21, 32, 64, 또는 다른 값일 수 있다.
예를 들어, N은 128, 9, 18, 24, 256, 8, 10, 15, 16, 21, 32, 64, 또는 다른 값일 수 있다.
예를 들어, n은 8, 2, 4, 또는 다른 값일 수 있다.
본 발명의 일부 실시가능 구현들에서, N은 2의 정수 거듭제곱일 수 있거나, 분명하게도 N은 다른 양의 정수일 수 있다.
본 발명의 일부 실시가능 구현들에서, Q의 위상을 갖는 보간 필터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행하는 단계는:
P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의 위상을, 계산에 의해, 획득하는 단계; 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 보간 필터를, 각각의 픽셀 단위의 위상에 기초하여, 결정하는 단계 - 보간 필터에 의해 사용되는 필터 계수는 위상에 대응함 -; 및 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 결정된 보간 필터를 사용하여 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행하는 단계를 포함한다.
구체적으로는, 예를 들어, 픽셀 단위 i의 위상은 P개의 픽셀 단위들 중 픽셀 단위 i의 움직임 벡터를 사용하여 계산에 의해 획득될 수 있고; 픽셀 단위 i에 대응하는 Q의 위상을 갖는 보간 필터가 픽셀 단위 i의 위상에 기초하여 결정될 수 있으며 - 보간 필터에 의해 사용되는 필터 계수는 위상에 대응함 -; 픽셀 단위 i에 대응하는 Q의 위상을 갖는 결정된 보간 필터를 사용하여 픽셀 단위 i의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링이 수행될 수 있다. 픽셀 단위 i는 P개의 픽셀 단위들 중 임의의 픽셀 단위일 수 있다. 예를 들어, 픽셀 단위 i에 대해 보간 필터링을 수행하는 것과 유사한 방식에 따라 P개의 픽셀 단위들의 각각의 픽셀 단위에 대해 보간 필터링이 수행될 수 있다.
본 발명의 일부 실시가능 구현들에서, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의 위상을, 계산에 의해, 획득하는 단계는: P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 하기의 수식에 따라 P개의 픽셀 단위들의 각각의 픽셀 단위의 위상을, 계산에 의해, 획득하는 단계를 포함하고:
Figure pat00050
또는
Figure pat00051
Figure pat00052
또는
Figure pat00053
여기서 N이 2의 정수 거듭제곱일 때 M = log2N이고, X'은 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 수평 위상을 나타내고, Y'은 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 수직 위상을 나타내며, vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타낸다.
임의로, 본 발명의 일부 실시가능 구현들에서, 위상은 수평 위상 및 수직 위상을 포함하고; 픽셀 단위에 대응하는 Q의 위상을 갖는 보간 필터를, 각각의 픽셀 단위의 위상에 기초하여, 결정하는 단계는: 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 수평 보간 필터를, 각각의 픽셀 단위의 수평 위상에 기초하여, 결정하는 단계; 및 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 수직 보간 필터를, 각각의 픽셀 단위의 수직 위상에 기초하여, 결정하는 단계를 포함하고, 여기서 수평 보간 필터에 의해 사용되는 필터 계수는 수평 위상에 대응하고, 수직 보간 필터에 의해 사용되는 필터 계수는 수직 위상에 대응한다.
구체적으로는, 예를 들어, 픽셀 단위 i에 대응하는 Q의 위상을 갖는 수평 보간 필터가 픽셀 단위 i의 수평 위상에 기초하여 결정될 수 있고, 픽셀 단위 i에 대응하는 Q의 위상을 갖는 수직 보간 필터가 픽셀 단위 i의 수직 위상에 기초하여 결정될 수 있으며, 여기서 수평 보간 필터에 의해 사용되는 필터 계수는 픽셀 단위 i의 수평 위상에 대응하고, 수직 보간 필터에 의해 사용되는 필터 계수는 픽셀 단위 i의 수직 위상에 대응한다. 픽셀 단위 i는 P개의 픽셀 단위들 중 임의의 픽셀 단위일 수 있다. 예를 들어, P개의 픽셀 단위들의 각각의 픽셀 단위에 대응하는 Q의 위상을 갖는 보간 필터는 픽셀 단위 i에 대응하는 Q의 위상을 갖는 보간 필터를 결정하는 방식과 유사한 방식에 따라 결정될 수 있다.
임의로, 본 발명의 일부 실시가능 구현들에서, 픽셀 단위에 대응하는 Q의 위상을 갖는 결정된 보간 필터를 사용하여 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행하는 단계는:
수평 보간 필터링 결과를 획득하기 위해, 픽셀 단위 i에 대응하는 Q의 위상을 갖는 결정된 수평 보간 필터를 사용하여 픽셀 단위 i의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 수평 보간 필터링을 수행하는 단계; 및 픽셀 단위 i의 예측된 픽셀 값을 획득하기 위해, 픽셀 단위 i에 대응하는 Q의 위상을 갖는 결정된 수직 보간 필터를 사용하여 수평 보간 필터링 결과에 대해 수직 보간 필터링을 수행하는 단계 - 픽셀 단위 i는 P개의 픽셀 단위들 중 임의의 픽셀 단위임 -; 또는
수직 보간 필터링 결과를 획득하기 위해, 픽셀 단위 j에 대응하는 Q의 위상을 갖는 결정된 수직 보간 필터를 사용하여 픽셀 단위 j의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 수직 보간 필터링을 수행하는 단계; 및 픽셀 단위 j의 예측된 픽셀 값을 획득하기 위해, 픽셀 단위 j에 대응하는 Q의 위상을 갖는 결정된 수평 보간 필터를 사용하여 수직 보간 필터링 결과에 대해 수평 보간 필터링을 수행하는 단계 - 픽셀 단위 j는 P개의 픽셀 단위들 중 임의의 픽셀 단위임 - 를 포함한다.
그에 부가하여, 픽셀 단위가 하나의 위상만을 갖는 경우(즉, 수평 위상 또는 수직 위상만을 갖는 경우), 픽셀 단위의 예측된 픽셀 값을 획득하기 위해, 픽셀 단위의 참조 픽셀 단위의 픽셀에 대해 보간 필터링이 한 번만 수행되면 된다.
406. 비디오 디코딩 장치는 현재 픽처 블록의 예측된 픽셀 값 및 현재 픽처 블록의, 비디오 비트스트림 중의, 예측된 잔차를 사용하여 현재 픽처 블록을 재구성한다.
전술한 바로부터, 이 실시예의 해결책에서, 비디오 디코딩 장치가 현재 픽처 블록의 각각의 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 를 움직임 모델 및 W개의 제어 포인트들의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n이고, N은 n보다 큼 - 을 사용하여, 계산에 의해, 획득한다는 것을 알 수 있다. 환언하면, 계산에 의해 획득되는, 현재 픽처 블록의 각각의 픽셀 단위의 움직임 벡터의 정밀도는 W개의 제어 포인트들의 결정된 움직임 벡터들의 정밀도보다 더 높다. 보다 높은 정밀도의 움직임 벡터가 먼저 획득된다. 따라서, 현재 픽처 블록의 각각의 픽셀 단위의 보다 높은 정밀도의 움직임 벡터는 현재 픽처 블록의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위를 결정하는 데 사용되며, 현재 픽처 블록의 각각의 픽셀 단위의 예측된 픽셀 값을 획득하기 위해, Q(Q는 n보다 큼)의 위상을 갖는 보간 필터를 사용하여 현재 픽처 블록의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링이 수행된다. 픽처 예측 프로세스 동안 보간 필터링을 위해 요구되는 중간 캐시들 및 메모리 연산들의 양을 감소시키고 픽처 예측 프로세스 동안 계산 복잡도를 감소시키기 위해, 전술한 방식이 현재 픽처 블록의 보다 높은 정밀도의 예측된 픽셀 값을, 예측에 의해, 획득하기 위해 요구되는 보간 필터링의 횟수를 줄이는 데 도움이 된다는 것을 알 수 있다(예를 들어, 보다 낮은 정밀도의 보간 필터링을 수행함으로써 보다 낮은 정밀도의 예측된 픽셀 값을 획득하기 위한 중간 프로세스가 요구되지 않을 수 있다).
이하에서는 전술한 실시예들에서 W개의 움직임 정보 단위들을 포함하는 병합 움직임 정보 단위 세트 e를 결정하는 일부 실시가능 특정 구현들을, 예들을 사용하여, 설명한다.
W개의 움직임 정보 단위들을 포함하는 병합 움직임 정보 단위 세트 e를 결정하는 단계는: A개의 후보 병합 움직임 정보 단위 세트들로부터, W개의 움직임 정보 단위들을 포함하는 병합 움직임 정보 단위 세트 e를 결정하는 단계를 포함할 수 있고, 여기서 A개의 후보 병합 움직임 정보 단위 세트들 각각에 포함된 각각의 움직임 정보 단위는 W개의 제어 포인트들의 각각의 제어 포인트에 대응하는 후보 움직임 정보 단위 세트 내의, 제약 조건에 부합하는, 적어도 일부 움직임 정보 단위들로부터 선택되고, A는 양의 정수이며, A개의 후보 병합 움직임 정보 단위 세트들은 서로 상이하고, A개의 후보 병합 움직임 정보 단위 세트들 각각은 W개의 움직임 정보 단위들을 포함한다.
임의로, 본 발명의 일부 실시가능 구현들에서, A개의 후보 병합 움직임 정보 단위 세트들은 제1 조건, 제2 조건, 제3 조건, 제4 조건, 또는 제5 조건 중 적어도 하나를 충족시킨다.
제1 조건은: 현재 픽처 블록의, A개의 후보 병합 움직임 정보 단위 세트들 중 임의의 것 내의 움직임 정보 단위에 의해 표시되는, 움직임 방식은 비평행이동 움직임이라는 것을 포함한다.
제2 조건은: A개의 후보 병합 움직임 정보 단위 세트들 중 임의의 것 내의 2개의 움직임 정보 단위들에 대응하는 예측 방향들이 동일하다는 것을 포함한다.
제3 조건은: A개의 후보 병합 움직임 정보 단위 세트들 중 임의의 것 내의 2개의 움직임 정보 단위들에 대응하는 참조 프레임 인덱스들이 동일하다는 것을 포함한다.
제4 조건은: A개의 후보 병합 움직임 정보 단위 세트들 중의 임의의 것 내의 2개의 움직임 정보 단위들의 움직임 벡터들의 수평 성분들 간의 차분의 절댓값이 수평 성분 문턱값보다 작거나 같다는 것, 또는 제어 포인트 Z의 움직임 벡터와 A개의 후보 병합 움직임 정보 단위 세트들 중의 임의의 것 내의 하나의 움직임 정보 단위의 움직임 벡터의 수평 성분들 간의 차분의 절댓값이 수평 성분 문턱값보다 작거나 같다는 것을 포함하고, 여기서 현재 픽처 블록의 제어 포인트 Z는 W개의 제어 포인트들 중 임의의 제어 포인트와 상이하다.
제5 조건은: A개의 후보 병합 움직임 정보 단위 세트들 중의 임의의 것 내의 2개의 움직임 정보 단위들의 움직임 벡터들의 수직 성분들 간의 차분의 절댓값이 수직 성분 문턱값보다 작거나 같다는 것, 또는 제어 포인트 Z의 움직임 벡터와 A개의 후보 병합 움직임 정보 단위 세트들 중의 하나 내의 임의의 움직임 정보 단위의 움직임 벡터의 수직 성분들 간의 차분의 절댓값이 수직 성분 문턱값보다 작거나 같다는 것을 포함하고, 여기서 현재 픽처 블록의 제어 포인트 Z는 W개의 제어 포인트들 중 임의의 제어 포인트와 상이하다.
임의로, 본 발명의 일부 실시가능 구현들에서, 비디오 인코딩/디코딩 장치에 의해 A개의 후보 병합 움직임 정보 단위 세트들로부터, W개의 움직임 정보 단위들을 포함하는 병합 움직임 정보 단위 세트 e를 결정하는 단계는: A개의 후보 병합 움직임 정보 단위 세트들로부터, 왜곡 또는 레이트 왜곡 비용에 기초하여, W개의 움직임 벡터들을 포함하는 병합 움직임 정보 단위 세트 e를 결정하는 단계를 포함할 수 있다.
임의로, 병합 움직임 정보 단위 세트 e에 대응하는 레이트 왜곡 비용은 A개의 후보 병합 움직임 정보 단위 세트들 중의, 병합 움직임 정보 단위 세트 e를 제외한, 임의의 병합 움직임 정보 단위 세트에 대응하는 레이트 왜곡 비용보다 작거나 같다.
임의로, 병합 움직임 정보 단위 세트 e에 대응하는 왜곡은 A개의 후보 병합 움직임 정보 단위 세트들 중의, 병합 움직임 정보 단위 세트 e를 제외한, 임의의 병합 움직임 정보 단위 세트에 대응하는 왜곡보다 작거나 같다.
A개의 후보 병합 움직임 정보 단위 세트들 중의 후보 병합 움직임 정보 단위 세트(예를 들어, A개의 후보 병합 움직임 정보 단위 세트들 중의 병합 움직임 정보 단위 세트 e)에 대응하는 레이트 왜곡 비용은, 예를 들어, 후보 병합 움직임 정보 단위 세트(예를 들어, 병합 움직임 정보 단위 세트 e)를 사용하여 픽처 블록에 대해 수행된 픽셀 값 예측에 의해 획득된 픽처 블록(예를 들어, 현재 픽처 블록)의 예측된 픽셀 값에 대응하는 레이트 왜곡 비용일 수 있다.
A개의 후보 병합 움직임 정보 단위 세트들 중의 후보 병합 움직임 정보 단위 세트(예를 들어, A개의 후보 병합 움직임 정보 단위 세트들 중의 병합 움직임 정보 단위 세트 e)에 대응하는 왜곡은, 예를 들어, 픽처 블록(예를 들어, 현재 픽처 블록)의 원래의 픽셀 값과 후보 병합 움직임 정보 단위 세트(예를 들어, 병합 움직임 정보 단위 세트 e)를 사용하여 픽처 블록에 대해 수행된 픽셀 값 예측에 의해 획득된 픽처 블록의 예측된 픽셀 값 사이의 왜곡(즉, 픽처 블록의 원래의 픽셀 값과 예측된 픽셀 값 사이의 왜곡)일 수 있다.
본 발명의 일부 실시가능 구현들에서, 픽처 블록(예를 들어, 현재 픽처 블록)의 원래의 픽셀 값과 후보 병합 움직임 정보 단위 세트(예를 들어, 병합 움직임 정보 단위 세트 e)를 사용하여 픽처 블록에 대해 수행된 픽셀 값 예측에 의해 획득된 픽처 블록의 예측된 픽셀 값 사이의 왜곡은 구체적으로는, 예를 들어, 픽처 블록(예를 들어, 현재 픽처 블록)의 원래의 픽셀 값과 후보 병합 움직임 정보 단위 세트(예를 들어, 병합 움직임 정보 단위 세트 e)를 사용하여 픽처 블록에 대해 수행된 픽셀 값 예측에 의해 획득된 픽처 블록의 예측된 픽셀 값 사이의 왜곡을 측정할 수 있는, 차분 제곱 합(SSD), 차분 절댓값 합(SAD), 차분 합, 또는 다른 왜곡 파라미터 값일 수 있다.
이하에서는, 예들을 사용하여, 현재 픽처 블록 내의 W개의 제어 포인트들을 결정하는 일부 가능한 방식들을 설명한다.
임의로, 본 발명의 일부 실시가능 구현들에서, W개의 제어 포인트들은 현재 픽처 블록 내의 좌측 상부 제어 포인트, 우측 상부 제어 포인트, 좌측 하부 제어 포인트, 및 중앙 제어 포인트(a1)의 W개의 제어 포인트들을 포함한다.
현재 픽처 블록 내의 좌측 상부 제어 포인트는 현재 픽처 블록의 좌측 상부 정점 또는, 현재 픽처 블록의 좌측 상부 정점을 포함하는, 현재 픽처 블록 내의 픽셀 블록이다. 현재 픽처 블록 내의 좌측 하부 제어 포인트는 현재 픽처 블록의 좌측 하부 정점 또는, 현재 픽처 블록의 좌측 하부 정점을 포함하는, 현재 픽처 블록 내의 픽셀 블록이다. 현재 픽처 블록 내의 우측 상부 제어 포인트는 현재 픽처 블록의 우측 상부 정점 또는, 현재 픽처 블록의 우측 상부 정점을 포함하는, 현재 픽처 블록 내의 픽셀 블록이다. 현재 픽처 블록의 중앙 제어 포인트(a1)는 현재 픽처 블록의 중앙 픽셀 또는, 현재 픽처 블록의 중앙 픽셀을 포함하는, 현재 픽처 블록 내의 픽셀 블록이다.
임의로, 본 발명의 일부 실시가능 구현들에서, 현재 픽처 블록 내의 좌측 상부 제어 포인트에 대응하는 후보 움직임 정보 단위 세트는 x1개의 픽셀 단위들의 움직임 정보 단위를 포함한다. x1개의 픽셀 단위들은 현재 픽처 블록 내의 좌측 상부 제어 포인트에 공간적으로 인접한 적어도 하나의 픽셀 단위(예를 들어, 도 2b에서의 픽처 블록들(A, B 및 C)) 및/또는 현재 픽처 블록 내의 좌측 상부 제어 포인트에 시간적으로 인접한 적어도 하나의 픽셀 단위를 포함하고, 여기서 x1은 양의 정수이다.
예를 들어, x1개의 픽셀 단위들은 하기의 것들: 현재 픽처 블록이 속하는 비디오 프레임에 시간적으로 인접하고, 현재 픽처 블록 내의 좌측 상부 제어 포인트의 위치와 동일한 위치를 갖는 비디오 프레임 내의 픽셀 단위; 현재 픽처 블록에 공간적으로 인접하고 현재 픽처 블록의 좌측에 있는 픽셀 단위; 현재 픽처 블록에 공간적으로 인접하고 현재 픽처 블록의 좌측 상부에 있는 픽셀 단위; 또는 현재 픽처 블록에 공간적으로 인접하고 현재 픽처 블록의 상부 측면에 있는 픽셀 단위 중 적어도 하나를 포함할 수 있다.
임의로, 본 발명의 일부 실시가능 구현들에서, 현재 픽처 블록 내의 우측 상부 제어 포인트에 대응하는 후보 움직임 정보 단위 세트는 x2개의 픽셀 단위들의 움직임 정보 단위를 포함한다. x2개의 픽셀 단위들은 현재 픽처 블록 내의 우측 상부 제어 포인트에 공간적으로 인접한 적어도 하나의 픽셀 단위(예를 들어, 도 2b에서의 픽처 블록들(E 및 D)) 및/또는 현재 픽처 블록 내의 우측 상부 제어 포인트에 시간적으로 인접한 적어도 하나의 픽셀 단위를 포함하고, 여기서 x2는 양의 정수이다.
예를 들어, x2개의 픽셀 단위들은 하기의 것들: 현재 픽처 블록이 속하는 비디오 프레임에 시간적으로 인접하고, 현재 픽처 블록 내의 우측 상부 제어 포인트의 위치와 동일한 위치를 갖는 비디오 프레임 내의 픽셀 단위; 현재 픽처 블록에 공간적으로 인접하고 현재 픽처 블록의 우측에 있는 픽셀 단위; 현재 픽처 블록에 공간적으로 인접하고 현재 픽처 블록의 우측 상부에 있는 픽셀 단위; 또는 현재 픽처 블록에 공간적으로 인접하고 현재 픽처 블록의 상부 측면에 있는 픽셀 단위 중 적어도 하나를 포함할 수 있다.
임의로, 본 발명의 일부 실시가능 구현들에서,
현재 픽처 블록 내의 좌측 하부 제어 포인트에 대응하는 후보 움직임 정보 단위 세트는 x3개의 픽셀 단위들의 움직임 정보 단위를 포함한다. x3개의 픽셀 단위들은 현재 픽처 블록 내의 좌측 하부 제어 포인트에 공간적으로 인접한 적어도 하나의 픽셀 단위 및/또는 현재 픽처 블록 내의 좌측 하부 제어 포인트에 시간적으로 인접한 적어도 하나의 픽셀 단위를 포함하고, 여기서 x3은 양의 정수이다.
예를 들어, x3개의 픽셀 단위들은 하기의 것들: 현재 픽처 블록이 속하는 비디오 프레임에 시간적으로 인접하고, 현재 픽처 블록 내의 좌측 하부 제어 포인트의 위치와 동일한 위치를 갖는 비디오 프레임 내의 픽셀 단위; 현재 픽처 블록에 공간적으로 인접하고 현재 픽처 블록의 좌측에 있는 픽셀 단위; 현재 픽처 블록에 공간적으로 인접하고 현재 픽처 블록의 좌측 하부에 있는 픽셀 단위; 또는 현재 픽처 블록에 공간적으로 인접하고 현재 픽처 블록의 하부 측면에 있는 픽셀 단위 중 적어도 하나를 포함할 수 있다.
임의로, 본 발명의 일부 실시가능 구현들에서, 현재 픽처 블록 내의 중앙 제어 포인트(a1)에 대응하는 후보 움직임 정보 단위 세트는 x5개의 픽셀 단위들의 움직임 정보 단위를 포함한다. x5개의 픽셀 단위들 중 하나는 픽셀 단위(a2)이다.
현재 픽처 블록이 속하는 비디오 프레임 내의 중앙 제어 포인트(a1)의 위치는 현재 픽처 블록이 속하는 비디오 프레임에 인접한 비디오 프레임 내의 픽셀 단위(a2)의 위치와 동일하며, 여기서 x5는 양의 정수이다.
하기의 표들은 픽셀 단위의 위상과 필터 계수 간의 대응관계를 열거한 것이다.
표 1은 256의 이득 스케일 인자(gain scale factor)를 갖는 64-위상 보간 필터(64-phase interpolation filter)의 필터 계수와 픽셀 단위의 위상 간의 대응관계를 열거하고 있다.
표 2는 64의 이득 스케일 인자를 갖는 64-위상 보간 필터의 필터 계수와 픽셀 단위의 위상 간의 대응관계를 열거하고 있다.
Figure pat00054
Figure pat00055
Figure pat00056
Figure pat00057
Figure pat00058
Figure pat00059
예를 들어, 픽셀 단위의 수평 위상이 x = 12일 때, 256의 이득 스케일 인자를 갖는 64-위상 보간 필터가 사용되면, 수평 보간 필터링 결과(S)는 다음과 같이 표현될 수 있다:
Figure pat00060
픽셀 단위의 예측된 픽셀 값은 수평 보간 필터링 결과(S)를 사용하여 획득될 수 있고, 여기서, offset은 임의의 정수일 수 있다.
하기에서는 본 발명의 실시예들의 해결책들의 기술적 효과들을 제시하기 위해 일부 테스트 데이터를 사용한다.
표 3 및 표 4는 종래의 해결책과 본 발명의 실시예들의 해결책들 간의 일부 테스트 성능의 대조를 제공한다. 표 3은 종래의 해결책의 테스트 성능을 열거하고 있으며, 표 4는 본 발명의 일부 실시예들의 해결책들의 테스트 성능을 열거하고 있다.
Figure pat00061
Figure pat00062
전술한 2개의 테이블들 간의 대조로부터, 본 발명의 실시예들의 기술적 해결책들이 종래 기술에 비해 인코딩 및 디코딩 성능에서 큰 개선을 갖는다는 것을 알 수 있다.
이하에서는 전술한 해결책들을 구현하도록 구성된 관련 장치를 추가로 제공한다.
도 5를 참조하면, 본 발명의 일 실시예는, 제1 결정 유닛(510), 계산 유닛(520), 및 보간 필터링 유닛(540)을 포함할 수 있는, 픽처 예측 장치(500)를 제공한다.
제1 결정 유닛(510)은 현재 픽처 블록 내의 W개의 제어 포인트들의 움직임 벡터들을 결정하도록 구성된다.
계산 유닛(520)은 움직임 모델 및 W개의 제어 포인트들의 움직임 벡터들을 사용하여 현재 픽처 블록의 P개의 픽셀 단위들의 움직임 벡터들을, 계산에 의해, 획득하도록 구성되고, 여기서 W개의 제어 포인트들의 결정된 움직임 벡터들의 정밀도는 픽셀 정밀도의 1/n이고, 계산에 의해 획득되는, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터의 정밀도는 픽셀 정밀도의 1/N이며, P개의 픽셀 단위들은 현재 픽처 블록의 픽셀 단위들의 일부 또는 전부이다.
P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터는 대응하는 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위를 결정하는 데 사용된다. W, n, 및 N은 1보다 큰 정수들이다. N은 n보다 크다. P는 양의 정수이다.
보간 필터링 유닛(540)은, P개의 픽셀 단위들의 각각의 픽셀 단위의 예측된 픽셀 값을 획득하기 위해, Q의 위상을 갖는 보간 필터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행하도록 구성된다.
픽처 예측 장치(500)는 P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위를 결정하도록 구성된 제2 결정 유닛(530)을 추가로 포함할 수 있다.
임의로, 본 발명의 일부 실시가능 구현들에서, N의 값은 미리 설정된 고정값이고, Q는 N보다 작거나 같다.
임의로, 본 발명의 일부 실시가능 구현들에서, W개의 제어 포인트들의 움직임 벡터들 중 하나의 움직임 벡터의 수평 성분 또는 수직 성분이 N을 사용하여 움직임 모델에서 N배 증폭되거나, W개의 제어 포인트들 중 임의의 2개의 제어 포인트들의 움직임 벡터들 간의 성분 차이가 N을 사용하여 움직임 모델에서 N배 증폭된다.
임의로, 본 발명의 일부 실시가능 구현들에서,
제2 결정 유닛(530)은 구체적으로는: P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의 정수-픽셀 위치를, 계산에 의해, 획득하고; P개의 픽셀 단위들의 각각의 픽셀 단위의 정수-픽셀 위치에 대응하는 참조 픽셀 단위에 대한 참조 픽처를, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여, 탐색하도록 - P개의 픽셀 단위들의 각각의 픽셀 단위의 정수-픽셀 위치에 대응하는, 참조 픽처에서 발견되는 참조 픽셀 단위는 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 참조 픽셀 단위임 - 구성된다.
임의로, 본 발명의 일부 실시가능 구현들에서, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의 정수-픽셀 위치를, 계산에 의해, 획득하는 것의 양태에서, 제2 결정 유닛(530)은 구체적으로는:
P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 하기의 수식에 따라 P개의 픽셀 단위들의 각각의 픽셀 단위의 정수-픽셀 위치를, 계산에 의해, 획득하도록 구성되고:
Figure pat00063
또는
Figure pat00064
Figure pat00065
또는
Figure pat00066
여기서 N이 2의 정수 거듭제곱일 때 M = log2N이고, (xInt, yInt)는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 정수-픽셀 위치 좌표들을 나타내며, vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타낸다.
임의로, 본 발명의 일부 실시가능 구현들에서,
보간 필터링 유닛은 구체적으로는: P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의 위상을, 계산에 의해, 획득하고; 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 보간 필터를, 각각의 픽셀 단위의 위상에 기초하여, 결정하며 - 보간 필터에 의해 사용되는 필터 계수는 위상에 대응함 -; 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 결정된 보간 필터를 사용하여 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행하도록 구성된다.
임의로, 본 발명의 일부 실시가능 구현들에서, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의 위상을, 계산에 의해, 획득하는 것의 양태에서, 보간 필터링 유닛은 구체적으로는: P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 하기의 수식에 따라 P개의 픽셀 단위들의 각각의 픽셀 단위의 위상을, 계산에 의해, 획득하도록 구성되며:
Figure pat00067
또는
Figure pat00068
Figure pat00069
또는
Figure pat00070
여기서 N이 2의 정수 거듭제곱일 때 M = log2N이고, X'은 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 수평 위상을 나타내고, Y'은 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 수직 위상을 나타내며, vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타낸다.
임의로, 본 발명의 일부 실시가능 구현들에서, 위상은 수평 위상 및 수직 위상을 포함하고;
대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 보간 필터를, 각각의 픽셀 단위의 위상에 기초하여, 결정하는 것의 양태에서, 보간 필터링 유닛은 구체적으로는: 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 수평 보간 필터를, 각각의 픽셀 단위의 수평 위상에 기초하여, 결정하고; 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 수직 보간 필터를, 각각의 픽셀 단위의 수직 위상에 기초하여, 결정하도록 구성되며, 여기서 수평 보간 필터에 의해 사용되는 필터 계수는 수평 위상에 대응하고, 수직 보간 필터에 의해 사용되는 필터 계수는 수직 위상에 대응한다.
임의로, 본 발명의 일부 실시가능 구현들에서, 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 결정된 보간 필터를 사용하여 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행하는 것의 양태에서, 보간 필터링 유닛은 구체적으로는:
수평 보간 필터링 결과를 획득하기 위해, 픽셀 단위 i에 대응하는 Q의 위상을 갖는 결정된 수평 보간 필터를 사용하여 픽셀 단위 i의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 수평 보간 필터링을 수행하고; 픽셀 단위 i의 예측된 픽셀 값을 획득하기 위해, 픽셀 단위 i에 대응하는 Q의 위상을 갖는 결정된 수직 보간 필터를 사용하여 수평 보간 필터링 결과에 대해 수직 보간 필터링을 수행하도록 - 픽셀 단위 i는 P개의 픽셀 단위들 중 임의의 픽셀 단위임 -; 또는
수직 보간 필터링 결과를 획득하기 위해, 픽셀 단위 j에 대응하는 Q의 위상을 갖는 결정된 수직 보간 필터를 사용하여 픽셀 단위 j의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 수직 보간 필터링을 수행하고; 픽셀 단위 j의 예측된 픽셀 값을 획득하기 위해, 픽셀 단위 j에 대응하는 Q의 위상을 갖는 결정된 수평 보간 필터를 사용하여 수직 보간 필터링 결과에 대해 수평 보간 필터링을 수행하도록 - 픽셀 단위 j는 P개의 픽셀 단위들 중 임의의 픽셀 단위임 - 구성된다.
임의로, 본 발명의 일부 실시가능 구현들에서, 움직임 모델은 평행이동 움직임 모델, 아핀 움직임 모델, 회전 움직임 모델, 줌잉 움직임 모델, 포물선 움직임 모델, 전단 움직임 모델, 원근 움직임 모델, 또는 이중선형 움직임 모델이다.
임의로, 본 발명의 일부 실시가능 구현들에서,
움직임 모델은 W가 2일 때 하기와 같이 표현되고:
Figure pat00071
또는
Figure pat00072
여기서 L은 상기 현재 픽처 블록의 폭 또는 높이를 나타내고, (v0x, v0y) 및 (v1x, v1y)는 2개의 제어 포인트들의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 을 나타내며, vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타낸다.
임의로, 본 발명의 일부 실시가능 구현들에서,
움직임 모델은 W가 3일 때 하기와 같이 표현되고:
Figure pat00073
또는
Figure pat00074
여기서 vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타내며, (v0x, v0y), (v1x, v1y), 및 (v2x, v2y)는 3개의 제어 포인트들의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 을 나타내고, w는 현재 픽처 블록의 폭을 나타내며, h는 현재 픽처 블록의 높이를 나타낸다.
임의로, 본 발명의 일부 실시가능 구현들에서, W개의 제어 포인트들의 움직임 벡터들은 현재 픽처 블록을 둘러싸는 인코딩된 픽처 블록 또는 디코딩된 픽처 블록의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 에 기초하여 예측된다.
임의로, 본 발명의 일부 실시가능 구현들에서, 픽처 예측 장치(500)가 비디오 인코딩 장치에 적용되거나, 픽처 예측 장치(500)가 비디오 디코딩 장치에 적용된다.
이 실시예에서의 픽처 예측 장치(500)의 기능 모듈들의 기능들이 구체적으로는 전술한 방법 실시예들에서의 방법들에 따라 구현될 수 있다는 것이 이해될 수 있다. 픽처 예측 장치(500)의 특정 구현 프로세스에 대해서는, 전술한 방법 실시예들에서의 관련 설명들이 참조될 수 있다. 상세들이 여기서 또다시 기술되지 않는다. 픽처 예측 장치(500)는 비디오를 출력 또는 재생할 필요가 있는 임의의 장치, 예를 들어, 노트북 컴퓨터, 태블릿 컴퓨터, 개인용 컴퓨터, 휴대폰, 또는 다른 디바이스일 수 있다.
이 실시예에서, 픽처 예측 장치(500)가 현재 픽처 블록의 각각의 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 를 움직임 모델 및 W개의 제어 포인트들의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n이고, N은 n보다 큼 - 을 사용하여, 계산에 의해, 획득한다는 것을 알 수 있다. 환언하면, 계산에 의해 획득되는, 현재 픽처 블록의 각각의 픽셀 단위의 움직임 벡터의 정밀도는 W개의 제어 포인트들의 결정된 움직임 벡터들의 정밀도보다 더 높다. 보다 높은 정밀도의 움직임 벡터가 먼저 획득된다. 따라서, 현재 픽처 블록의 각각의 픽셀 단위의 보다 높은 정밀도의 움직임 벡터는 현재 픽처 블록의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위를 결정하는 데 사용되며, 현재 픽처 블록의 각각의 픽셀 단위의 예측된 픽셀 값을 획득하기 위해, Q(Q는 n보다 큼)의 위상을 갖는 보간 필터를 사용하여 현재 픽처 블록의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링이 수행된다. 픽처 예측 프로세스 동안 보간 필터링을 위해 요구되는 중간 캐시들 및 메모리 연산들의 양을 감소시키고 픽처 예측 프로세스 동안 계산 복잡도를 감소시키기 위해, 전술한 방식이 현재 픽처 블록의 보다 높은 정밀도의 예측된 픽셀 값을, 예측에 의해, 획득하기 위해 요구되는 보간 필터링의 횟수를 줄이는 데 도움이 된다는 것을 알 수 있다(예를 들어, 보다 낮은 정밀도의 보간 필터링을 수행함으로써 보다 낮은 정밀도의 예측된 픽셀 값을 획득하기 위한 중간 프로세스가 요구되지 않을 수 있다).
도 6을 참조하면, 도 6은 본 발명의 다른 실시예에 따른 픽처 예측 장치(600)의 구조 블록도이다. 픽처 예측 장치(600)는 적어도 하나의 프로세서(601), 메모리(605), 및 적어도 하나의 통신 버스(602)를 포함할 수 있다. 통신 버스(602)는 컴포넌트들 사이의 연결 및 통신을 구현하도록 구성된다.
픽처 예측 장치(600)는 적어도 하나의 네트워크 인터페이스(604) 및/또는 사용자 인터페이스(603)를 임의로 포함할 수 있다. 사용자 인터페이스(603)는 디스플레이(예를 들어, 홀로그래픽 촬상 디바이스, 음극선관, 또는 프로젝터), 포인팅 디바이스(예를 들어, 마우스, 트랙볼, 터치 패널, 또는 터치스크린), 카메라, 및/또는 사운드 픽업 장치(sound pickup apparatus) 등을 포함할 수 있다.
메모리(605)는 판독 전용 메모리 및 랜덤 액세스 메모리를 포함하고, 명령어 및 데이터를 프로세서(601)에 제공할 수 있다. 메모리(605)의 일부는 비휘발성 랜덤 액세스 메모리를 추가로 포함할 수 있다.
일부 구현들에서, 메모리(605)는 하기의 요소들: 실행가능 모듈 또는 데이터 구조, 그들의 서브세트들, 또는 그들의 확장 세트(extended set)들을 포함하고; 메모리(605)는:
다양한 기본 서비스들을 구현하고 하드웨어 기반 태스크들을 핸들링하도록 구성된, 다양한 시스템 프로그램들을 포함하는, 운영 체제(6051); 및
다양한 애플리케이션 서비스들을 구현하도록 구성된, 다양한 애플리케이션 프로그램들을 포함하는, 애플리케이션 프로그램 모듈(6052)을 포함한다.
본 발명의 이 실시예에서, 메모리(605)에 저장된 프로그램 또는 명령어를 호출하는 것에 의해, 프로세서(601)는 현재 픽처 블록 내의 W개의 제어 포인트들의 움직임 벡터들을 결정하고; 움직임 모델 및 W개의 제어 포인트들의 움직임 벡터들을 사용하여 현재 픽처 블록의 P개의 픽셀 단위들의 움직임 벡터들을, 계산에 의해, 획득하며 - W개의 제어 포인트들의 결정된 움직임 벡터들의 정밀도는 픽셀 정밀도의 1/n이고, 계산에 의해 획득되는, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터의 정밀도는 픽셀 정밀도의 1/N이며, P개의 픽셀 단위들은 현재 픽처 블록의 픽셀 단위들의 일부 또는 전부이고, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터는 대응하는 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위를 결정하는 데 사용되며, W, n, 및 N은 1보다 큰 정수들이고, N은 n보다 크며, P는 양의 정수임 -; P개의 픽셀 단위들의 각각의 픽셀 단위의 예측된 픽셀 값을 획득하기 위해, Q의 위상을 갖는 보간 필터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행하도록 - Q는 n보다 큰 정수임 - 구성된다.
임의로, 본 발명의 일부 실시가능 구현들에서, N의 값은 미리 설정된 고정값이고, Q는 N보다 작거나 같다.
임의로, 본 발명의 일부 실시가능 구현들에서, W개의 제어 포인트들의 움직임 벡터들 중 하나의 움직임 벡터의 수평 성분 또는 수직 성분이 N을 사용하여 움직임 모델에서 N배 증폭되거나, W개의 제어 포인트들 중 임의의 2개의 제어 포인트들의 움직임 벡터들 간의 성분 차이가 N을 사용하여 움직임 모델에서 N배 증폭된다.
임의로, 본 발명의 일부 실시가능 구현들에서, 프로세서에 의해, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위를 결정하는 단계는:
P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의 정수-픽셀 위치를, 계산에 의해, 획득하는 단계; 및 P개의 픽셀 단위들의 각각의 픽셀 단위의 정수-픽셀 위치에 대응하는 참조 픽셀 단위에 대한 참조 픽처를, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여, 탐색하는 단계 - P개의 픽셀 단위들의 각각의 픽셀 단위의 정수-픽셀 위치에 대응하는, 참조 픽처에서 발견되는 참조 픽셀 단위는 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 참조 픽셀 단위임 - 를 포함한다.
임의로, 본 발명의 일부 실시가능 구현들에서, 프로세서에 의해, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의 정수-픽셀 위치를, 계산에 의해, 획득하는 단계는:
P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 하기의 수식에 따라 P개의 픽셀 단위들의 각각의 픽셀 단위의 정수-픽셀 위치를, 계산에 의해, 획득하는 단계를 포함하고:
Figure pat00075
또는
Figure pat00076
Figure pat00077
또는
Figure pat00078
여기서 N이 2의 정수 거듭제곱일 때 M = log2N이고, (xInt, yInt)는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 정수-픽셀 위치 좌표들을 나타내며, vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타낸다.
임의로, 본 발명의 일부 실시가능 구현들에서, 프로세서에 의해, Q의 위상을 갖는 보간 필터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의, 참조 픽처에서의, 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행하는 단계는:
P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의 위상을, 계산에 의해, 획득하는 단계; 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 보간 필터를, 각각의 픽셀 단위의 위상에 기초하여, 결정하는 단계 - 보간 필터에 의해 사용되는 필터 계수는 위상에 대응함 -; 및 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 결정된 보간 필터를 사용하여 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행하는 단계를 포함한다.
임의로, 본 발명의 일부 실시가능 구현들에서, 프로세서에 의해, P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 P개의 픽셀 단위들의 각각의 픽셀 단위의 위상을, 계산에 의해, 획득하는 단계는: P개의 픽셀 단위들의 각각의 픽셀 단위의 움직임 벡터를 사용하여 하기의 수식에 따라 P개의 픽셀 단위들의 각각의 픽셀 단위의 위상을, 계산에 의해, 획득하는 단계를 포함하고:
Figure pat00079
또는
Figure pat00080
Figure pat00081
또는
Figure pat00082
여기서 N이 2의 정수 거듭제곱일 때 M = log2N이고, X'은 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 수평 위상을 나타내고, Y'은 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 수직 위상을 나타내며, vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타낸다.
임의로, 본 발명의 일부 실시가능 구현들에서, 위상은 수평 위상 및 수직 위상을 포함하고; 프로세서에 의해, 픽셀 단위에 대응하는 Q의 위상을 갖는 보간 필터를, 각각의 픽셀 단위의 위상에 기초하여, 결정하는 단계는: 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 수평 보간 필터를, 각각의 픽셀 단위의 수평 위상에 기초하여, 결정하는 단계; 및 대응하는 픽셀 단위에 대응하는 Q의 위상을 갖는 수직 보간 필터를, 각각의 픽셀 단위의 수직 위상에 기초하여, 결정하는 단계를 포함하고, 여기서 수평 보간 필터에 의해 사용되는 필터 계수는 수평 위상에 대응하고, 수직 보간 필터에 의해 사용되는 필터 계수는 수직 위상에 대응한다.
임의로, 본 발명의 일부 실시가능 구현들에서, 프로세서에 의해, 픽셀 단위에 대응하는 Q의 위상을 갖는 결정된 보간 필터를 사용하여 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링을 수행하는 단계는:
수평 보간 필터링 결과를 획득하기 위해, 픽셀 단위 i에 대응하는 Q의 위상을 갖는 결정된 수평 보간 필터를 사용하여 픽셀 단위 i의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 수평 보간 필터링을 수행하는 단계; 및 픽셀 단위 i의 예측된 픽셀 값을 획득하기 위해, 픽셀 단위 i에 대응하는 Q의 위상을 갖는 결정된 수직 보간 필터를 사용하여 수평 보간 필터링 결과에 대해 수직 보간 필터링을 수행하는 단계 - 픽셀 단위 i는 P개의 픽셀 단위들 중 임의의 픽셀 단위임 -; 또는
수직 보간 필터링 결과를 획득하기 위해, 픽셀 단위 j에 대응하는 Q의 위상을 갖는 결정된 수직 보간 필터를 사용하여 픽셀 단위 j의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 수직 보간 필터링을 수행하는 단계; 및 픽셀 단위 j의 예측된 픽셀 값을 획득하기 위해, 픽셀 단위 j에 대응하는 Q의 위상을 갖는 결정된 수평 보간 필터를 사용하여 수직 보간 필터링 결과에 대해 수평 보간 필터링을 수행하는 단계 - 픽셀 단위 j는 P개의 픽셀 단위들 중 임의의 픽셀 단위임 - 를 포함한다.
임의로, 본 발명의 일부 실시가능 구현들에서, 움직임 모델은 평행이동 움직임 모델, 아핀 움직임 모델, 회전 움직임 모델, 포물선 움직임 모델, 전단 움직임 모델, 줌잉 움직임 모델, 원근 움직임 모델, 또는 이중선형 움직임 모델이다.
임의로, 본 발명의 일부 실시가능 구현들에서,
움직임 모델은 W가 2일 때 하기와 같이 표현되고:
Figure pat00083
또는
Figure pat00084
여기서 L은 상기 현재 픽처 블록의 폭 또는 높이를 나타내고, (v0x, v0y) 및 (v1x, v1y)는 2개의 제어 포인트들의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 을 나타내며, vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타낸다.
임의로, 본 발명의 일부 실시가능 구현들에서,
움직임 모델은 W가 3일 때 하기와 같이 표현되고:
Figure pat00085
또는
Figure pat00086
여기서 vNx는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수평 성분을 나타내고, vNy는 현재 픽처 블록 내의 (x, y)의 좌표들을 갖는 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 의 수직 성분을 나타내며, (v0x, v0y), (v1x, v1y), 및 (v2x, v2y)는 3개의 제어 포인트들의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 을 나타내고, w는 현재 픽처 블록의 폭을 나타내며, h는 현재 픽처 블록의 높이를 나타낸다.
임의로, 본 발명의 일부 실시가능 구현들에서, W개의 제어 포인트들의 움직임 벡터들은 현재 픽처 블록을 둘러싸는 인코딩된 픽처 블록 또는 디코딩된 픽처 블록의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/n임 - 에 기초하여 예측된다.
임의로, 본 발명의 일부 실시가능 구현들에서, N의 값은 미리 설정된 고정값이다.
임의로, 본 발명의 일부 실시가능 구현들에서, 픽처 예측 장치(600)는 비디오 인코딩 장치에 적용되거나, 픽처 예측 장치(600)는 비디오 디코딩 장치에 적용된다.
이 실시예에서의 픽처 예측 장치(600)의 기능 모듈들의 기능들이 구체적으로는 전술한 방법 실시예들에서의 방법들에 따라 구현될 수 있다는 것이 이해될 수 있다. 픽처 예측 장치(600)의 특정 구현 프로세스에 대해서는, 전술한 방법 실시예들에서의 관련 설명들이 참조될 수 있다. 상세들이 여기서 또다시 기술되지 않는다. 픽처 예측 장치(600)는 비디오를 출력 또는 재생할 필요가 있는 임의의 장치, 예를 들어, 노트북 컴퓨터, 태블릿 컴퓨터, 개인용 컴퓨터, 휴대폰, 또는 다른 디바이스일 수 있다.
이 실시예에서 제공되는 픽처 예측 방법에서, 픽처 예측 장치(600)가 현재 픽처 블록의 각각의 픽셀 단위의 움직임 벡터 - 그의 정밀도는 픽셀 정밀도의 1/N임 - 를 움직임 모델 및 W개의 제어 포인트들의 움직임 벡터들 - 그의 정밀도는 픽셀 정밀도의 1/n이고, N은 n보다 큼 - 을 사용하여, 계산에 의해, 획득한다는 것을 알 수 있다. 환언하면, 계산에 의해 획득되는, 현재 픽처 블록의 각각의 픽셀 단위의 움직임 벡터의 정밀도는 W개의 제어 포인트들의 결정된 움직임 벡터들의 정밀도보다 더 높다. 보다 높은 정밀도의 움직임 벡터가 먼저 획득된다. 따라서, 현재 픽처 블록의 각각의 픽셀 단위의 보다 높은 정밀도의 움직임 벡터는 현재 픽처 블록의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위를 결정하는 데 사용되며, 현재 픽처 블록의 각각의 픽셀 단위의 예측된 픽셀 값을 획득하기 위해, Q(Q는 n보다 큼)의 위상을 갖는 보간 필터를 사용하여 현재 픽처 블록의 각각의 픽셀 단위의, 참조 픽처에서의, 대응하는 참조 픽셀 단위의 픽셀에 대해 보간 필터링이 수행된다. 픽처 예측 프로세스 동안 보간 필터링을 위해 요구되는 중간 캐시들 및 메모리 연산들의 양을 감소시키고 픽처 예측 프로세스 동안 계산 복잡도를 감소시키기 위해, 전술한 방식이 현재 픽처 블록의 보다 높은 정밀도의 예측된 픽셀 값을, 예측에 의해, 획득하기 위해 요구되는 보간 필터링의 횟수를 줄이는 데 도움이 된다는 것을 알 수 있다(예를 들어, 보다 낮은 정밀도의 보간 필터링을 수행함으로써 보다 낮은 정밀도의 예측된 픽셀 값을 획득하기 위한 중간 프로세스가 요구되지 않을 수 있다).
전술한 실시예들에서, 각각의 실시예의 설명은 각자의 주안점들을 가진다. 일 실시예에서 상세히 기술되지 않은 부분에 대해서는, 다른 실시예들에서의 관련 설명들이 참조될 수 있다.
본 출원에서 제공되는 몇몇 실시예들에서, 개시된 장치가 다른 방식들로 구현될 수 있다는 것을 잘 알 것이다. 예를 들어, 설명된 장치 실시예들은 예들에 불과하다. 예를 들어, 유닛 구분은 논리적 기능 구분에 불과하고, 실제 구현에서는 다른 구분일 수 있다. 예를 들어, 복수의 유닛들 또는 컴포넌트들이 다른 시스템에 결합 또는 통합될 수 있거나, 일부 특징들이 무시될 수 있거나 수행되지 않을 수 있다. 그에 부가하여, 표시되거나 논의된 상호 결합들 또는 직접 결합들 또는 통신 연결들이 어떤 인터페이스들을 사용하여 구현될 수 있다. 장치들 또는 유닛들 사이의 간접 결합들 또는 통신 연결들이 전자적 또는 다른 형태들로 구현될 수 있다.
개별적인 부분들로서 기술된 유닛들이 물리적으로 분리되어 있을 수 있거나 그렇지 않을 수 있고, 유닛들로서 표시된 부분들이 물리적 유닛들일 수 있거나 그렇지 않을 수 있거나, 하나의 위치에 위치될 수 있거나, 복수의 네트워크 유닛들에 분산될 수 있다. 유닛들 중 일부 또는 전부가 실시예들의 해결책들의 목적들을 달성하기 위해 실제의 요구사항들에 따라 선택될 수 있다.
그에 부가하여, 본 발명의 실시예들에서의 기능 유닛들이 하나의 처리 유닛에 통합될 수 있거나, 유닛들 각각이 물리적으로 단독으로 존재할 수 있거나, 적어도 2개의 유닛들이 하나의 유닛으로 통합될 수 있다. 통합된 유닛이 하드웨어의 형태로 구현될 수 있거나, 소프트웨어 기능 유닛의 형태로 구현될 수 있다.
통합된 유닛이 소프트웨어 기능 유닛의 형태로 구현되고 독립 제품으로서 판매되거나 사용될 때, 통합된 유닛이 컴퓨터 판독가능 저장 매체에 저장될 수 있다. 이러한 이해에 기초하여, 본 발명의 기술적 해결책들이 본질적으로, 또는 종래 기술에 기여하는 부분이, 또는 기술적 해결책들의 전부 또는 일부가 소프트웨어 제품의 형태로 구현될 수 있다. 컴퓨터 소프트웨어 제품은 저장 매체에 저장되고, 본 발명의 실시예들에 기술된 방법들의 단계들의 전부 또는 일부를 수행하라고 컴퓨터 디바이스(개인용 컴퓨터, 서버, 네트워크 디바이스 등일 수 있음)에 지시하기 위한 몇 개의 명령어들을 포함한다. 전술한 저장 매체는 USB 플래시 드라이브, 판독 전용 메모리(Read-Only Memory, ROM), 랜덤 액세스 메모리(Random Access Memory, RAM), 이동식 하드 디스크, 자기 디스크, 또는 광학 디스크와 같은, 프로그램 코드를 저장할 수 있는 임의의 매체를 포함한다.
전술한 실시예들은 본 발명의 기술적 해결책들을 기술하려는 것에 불과하고, 본 발명을 제한하려는 것이 아니다. 비록 본 발명이 전술한 실시예들을 참조하여 상세히 기술되지만, 통상의 기술자라면, 본 발명의 실시예들의 기술적 해결책들의 범주를 벗어남이 없이, 여전히 전술한 실시예들에 기술된 기술적 해결책들에 대해 수정들을 할 수 있거나 그의 일부 기술적 특징들에 대해 등가의 대체들을 행할 수 있다는 것을 잘 알 것이다.

Claims (1)

  1. 픽처 예측 방법.
KR1020207031100A 2015-07-03 2016-06-29 픽처 예측 방법 및 픽처 예측 장치 KR102390695B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227013389A KR102549824B1 (ko) 2015-07-03 2016-06-29 픽처 예측 방법 및 픽처 예측 장치

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201510391765.7A CN106331722B (zh) 2015-07-03 2015-07-03 图像预测方法和相关设备
CN201510391765.7 2015-07-03
KR1020207002729A KR102173475B1 (ko) 2015-07-03 2016-06-29 픽처 예측 방법 및 픽처 예측 장치
PCT/CN2016/087750 WO2017005128A1 (zh) 2015-07-03 2016-06-29 图像预测方法和相关设备

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020207002729A Division KR102173475B1 (ko) 2015-07-03 2016-06-29 픽처 예측 방법 및 픽처 예측 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227013389A Division KR102549824B1 (ko) 2015-07-03 2016-06-29 픽처 예측 방법 및 픽처 예측 장치

Publications (2)

Publication Number Publication Date
KR20200125760A true KR20200125760A (ko) 2020-11-04
KR102390695B1 KR102390695B1 (ko) 2022-04-26

Family

ID=57684872

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020207002729A KR102173475B1 (ko) 2015-07-03 2016-06-29 픽처 예측 방법 및 픽처 예측 장치
KR1020227013389A KR102549824B1 (ko) 2015-07-03 2016-06-29 픽처 예측 방법 및 픽처 예측 장치
KR1020187001663A KR102073638B1 (ko) 2015-07-03 2016-06-29 픽처 예측 방법 및 픽처 예측 장치
KR1020207031100A KR102390695B1 (ko) 2015-07-03 2016-06-29 픽처 예측 방법 및 픽처 예측 장치

Family Applications Before (3)

Application Number Title Priority Date Filing Date
KR1020207002729A KR102173475B1 (ko) 2015-07-03 2016-06-29 픽처 예측 방법 및 픽처 예측 장치
KR1020227013389A KR102549824B1 (ko) 2015-07-03 2016-06-29 픽처 예측 방법 및 픽처 예측 장치
KR1020187001663A KR102073638B1 (ko) 2015-07-03 2016-06-29 픽처 예측 방법 및 픽처 예측 장치

Country Status (12)

Country Link
US (4) US10560714B2 (ko)
EP (2) EP3306934B1 (ko)
JP (6) JP6776276B2 (ko)
KR (4) KR102173475B1 (ko)
CN (2) CN106331722B (ko)
AU (1) AU2016290017B2 (ko)
MX (3) MX2018000067A (ko)
MY (1) MY191714A (ko)
RU (2) RU2699258C2 (ko)
SG (1) SG11201710800QA (ko)
WO (1) WO2017005128A1 (ko)
ZA (1) ZA201800017B (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106331722B (zh) 2015-07-03 2019-04-26 华为技术有限公司 图像预测方法和相关设备
CN109274974B (zh) 2015-09-29 2022-02-11 华为技术有限公司 图像预测的方法及装置
CN109565602A (zh) 2016-08-15 2019-04-02 诺基亚技术有限公司 视频编码和解码
US20190364284A1 (en) * 2017-01-16 2019-11-28 Industry Academy Cooperation Foundation Of Sejong University Image encoding/decoding method and device
CN109729352B (zh) * 2017-10-27 2020-07-21 华为技术有限公司 确定仿射编码块的运动矢量的方法和装置
KR102357142B1 (ko) 2017-11-07 2022-02-08 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 코딩을 위한 인터 예측 장치 및 방법을 위한 보간 필터
CN109756737B (zh) * 2017-11-07 2020-11-17 华为技术有限公司 图像预测方法和装置
US11889100B2 (en) * 2017-11-14 2024-01-30 Qualcomm Incorporated Affine motion vector prediction in video coding
CN118042153A (zh) * 2018-01-25 2024-05-14 三星电子株式会社 使用基于子块的运动补偿进行视频信号处理的方法和装置
CN110166778A (zh) * 2018-02-12 2019-08-23 华为技术有限公司 视频解码方法、视频解码器以及电子设备
WO2019194506A1 (ko) * 2018-04-01 2019-10-10 엘지전자 주식회사 어파인 인터 예측에 기반한 영상 코딩 방법 및 그 장치
WO2019244719A1 (en) * 2018-06-18 2019-12-26 Sharp Kabushiki Kaisha Systems and methods for performing affine motion compensation prediction for coding of video data
WO2019244051A1 (en) * 2018-06-19 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Selected mvd precision without mvp truncation
KR20230165377A (ko) * 2018-07-02 2023-12-05 엘지전자 주식회사 어파인 예측을 이용하여 비디오 신호를 처리하기 위한 방법 및 장치
CN115842912A (zh) 2018-08-04 2023-03-24 抖音视界有限公司 不同解码器侧运动矢量推导模式之间的交互
CN110868602B (zh) * 2018-08-27 2024-04-12 华为技术有限公司 视频编码器、视频解码器及相应方法
CN110876065A (zh) * 2018-08-29 2020-03-10 华为技术有限公司 候选运动信息列表的构建方法、帧间预测方法及装置
WO2020043000A1 (zh) 2018-08-28 2020-03-05 华为技术有限公司 候选运动信息列表的构建方法、帧间预测方法及装置
CN110933427B (zh) * 2018-09-19 2023-05-12 北京字节跳动网络技术有限公司 仿射模式编码的模式相关自适应运动矢量分辨率
CN111010569B (zh) 2018-10-06 2023-02-28 北京字节跳动网络技术有限公司 Bio中的时间梯度计算的改善
CN111294601A (zh) * 2018-12-07 2020-06-16 华为技术有限公司 视频图像解码、编码方法及装置
EP3895429A4 (en) 2019-01-31 2022-08-10 Beijing Bytedance Network Technology Co., Ltd. CONTEXT FOR CODE AN ADAPTIVE MOTION VECTOR RESOLUTION IN AFFINE MODE
EP3700210A1 (en) 2019-02-21 2020-08-26 Ateme Method and apparatus for image encoding
KR102600746B1 (ko) * 2019-04-01 2023-11-09 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 히스토리 기반 움직임 벡터 예측을 위한 보간 필터 사용
BR112022002480A2 (pt) 2019-08-20 2022-04-26 Beijing Bytedance Network Tech Co Ltd Método para processamento de vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador armazenado em uma mídia legível por computador não transitória
CN111260693B (zh) * 2020-01-20 2023-07-28 北京中科晶上科技股份有限公司 一种高空抛物的检测方法

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5614952A (en) * 1994-10-11 1997-03-25 Hitachi America, Ltd. Digital video decoder for decoding digital high definition and/or digital standard definition television signals
JP2798035B2 (ja) * 1996-01-17 1998-09-17 日本電気株式会社 適応動きベクトル補間による動き補償フレーム間予測方法
KR100215451B1 (ko) 1996-05-29 1999-08-16 윤종용 임의형태 물체를 포함한 동화상의 부호화 및 복호화시스템
JP4253881B2 (ja) * 1998-07-17 2009-04-15 ソニー株式会社 撮像装置
US6968008B1 (en) 1999-07-27 2005-11-22 Sharp Laboratories Of America, Inc. Methods for motion estimation with adaptive motion accuracy
SG149694A1 (en) 2002-01-14 2009-02-27 Nokia Corp Coding dynamic filters
US8175159B2 (en) * 2002-01-24 2012-05-08 Hitachi, Ltd. Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus
JP4102973B2 (ja) 2002-04-24 2008-06-18 日本電気株式会社 動画像の符号化方法および復号化方法、これを用いた装置とプログラム
US7317839B2 (en) * 2003-09-07 2008-01-08 Microsoft Corporation Chroma motion vector derivation for interlaced forward-predicted fields
US7953152B1 (en) * 2004-06-28 2011-05-31 Google Inc. Video compression and encoding method
JP3934151B2 (ja) 2005-06-22 2007-06-20 松下電器産業株式会社 画像生成装置および画像生成方法
CN100496130C (zh) * 2006-01-26 2009-06-03 深圳艾科创新微电子有限公司 视频快速运动估计方法
JP4380638B2 (ja) * 2006-01-31 2009-12-09 トヨタ自動車株式会社 色再現方法
JP4877090B2 (ja) 2007-06-18 2012-02-15 ソニー株式会社 画像処理装置、画像処理方法、及びプログラム
US8514939B2 (en) * 2007-10-31 2013-08-20 Broadcom Corporation Method and system for motion compensated picture rate up-conversion of digital video using picture boundary processing
CN101540902B (zh) * 2008-03-20 2011-02-02 华为技术有限公司 运动矢量的缩放方法和装置、编解码方法和系统
FR2933565A1 (fr) * 2008-07-01 2010-01-08 France Telecom Procede et dispositif de codage d'une sequence d'images mettant en oeuvre une prediction temporelle, signal, support de donnees, procede et dispositif de decodage, et produit programme d'ordinateur correspondants
US8374444B2 (en) * 2008-08-06 2013-02-12 Sony Corporation Method and apparatus for providing higher resolution images in an embedded device
CN101902632B (zh) * 2009-05-25 2013-03-20 华为技术有限公司 像素插值滤波方法及装置,解码方法及系统
JP5234368B2 (ja) 2009-09-30 2013-07-10 ソニー株式会社 画像処理装置および方法
US8411750B2 (en) * 2009-10-30 2013-04-02 Qualcomm Incorporated Global motion parameter estimation using block-based motion vectors
MX353107B (es) 2010-04-09 2017-12-19 Mitsubishi Electric Corp Dispositivo codificador de imagen en movimiento y dispositivo decodificador de imagen en movimiento.
CN103039075B (zh) * 2010-05-21 2015-11-25 Jvc建伍株式会社 图像编码装置、图像编码方法、以及图像解码装置、图像解码方法
JP5686018B2 (ja) * 2010-05-21 2015-03-18 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法および画像符号化プログラム
CN102316317B (zh) 2010-07-10 2013-04-24 华为技术有限公司 一种生成图像预测值的方法和装置
US9241160B2 (en) * 2010-07-21 2016-01-19 Dolby Laboratories Licensing Corporation Reference processing using advanced motion models for video coding
US8736767B2 (en) * 2010-09-29 2014-05-27 Sharp Laboratories Of America, Inc. Efficient motion vector field estimation
US10327008B2 (en) 2010-10-13 2019-06-18 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
JP2012104945A (ja) 2010-11-08 2012-05-31 Sony Corp 画像処理装置と画像処理方法およびプログラム
US8761245B2 (en) * 2010-12-21 2014-06-24 Intel Corporation Content adaptive motion compensation filtering for high efficiency video coding
EP2824926B1 (en) 2011-06-24 2021-04-14 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, image decoding method
WO2013057782A1 (ja) 2011-10-17 2013-04-25 株式会社東芝 符号化方法及び復号方法
WO2013076929A1 (ja) * 2011-11-24 2013-05-30 日本電気株式会社 映像符号化装置、映像符号化方法及びプログラム
US9762904B2 (en) 2011-12-22 2017-09-12 Qualcomm Incorporated Performing motion vector prediction for video coding
US20130329806A1 (en) * 2012-06-08 2013-12-12 Qualcomm Incorporated Bi-layer texture prediction for video coding
SG11201501400QA (en) 2012-09-26 2015-04-29 Panasonic Ip Corp America Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
US9959631B2 (en) * 2014-02-21 2018-05-01 Samsung Electronics Co., Ltd. Tomography apparatus and method for reconstructing tomography image thereof
CN104219520B (zh) * 2014-09-10 2018-11-20 华为技术有限公司 确定图像补偿模式的方法和装置
CN107734335B (zh) * 2014-09-30 2020-11-06 华为技术有限公司 图像预测方法及相关装置
CN104363451B (zh) 2014-10-27 2019-01-25 华为技术有限公司 图像预测方法及相关装置
CN107809642B (zh) 2015-02-16 2020-06-16 华为技术有限公司 用于视频图像编码和解码的方法、编码设备和解码设备
KR101775556B1 (ko) * 2015-04-06 2017-09-06 삼성전자주식회사 단층 촬영 장치 및 그에 따른 단층 영상 처리 방법
CN106331722B (zh) 2015-07-03 2019-04-26 华为技术有限公司 图像预测方法和相关设备
WO2017118409A1 (en) * 2016-01-07 2017-07-13 Mediatek Inc. Method and apparatus for affine merge mode prediction for video coding system
SG11201806865YA (en) * 2016-03-15 2018-09-27 Mediatek Inc Method and apparatus of video coding with affine motion compensation
US20190191171A1 (en) * 2016-05-13 2019-06-20 Sharp Kabushiki Kaisha Prediction image generation device, video decoding device, and video coding device
US10448010B2 (en) * 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
US10681370B2 (en) * 2016-12-29 2020-06-09 Qualcomm Incorporated Motion vector generation for affine motion model for video coding
US20190335170A1 (en) * 2017-01-03 2019-10-31 Lg Electronics Inc. Method and apparatus for processing video signal by means of affine prediction
US10873744B2 (en) * 2017-01-03 2020-12-22 Lg Electronics Inc. Method and device for processing video signal by means of affine prediction
US20190364284A1 (en) * 2017-01-16 2019-11-28 Industry Academy Cooperation Foundation Of Sejong University Image encoding/decoding method and device
US10701390B2 (en) * 2017-03-14 2020-06-30 Qualcomm Incorporated Affine motion information derivation
US10805630B2 (en) * 2017-04-28 2020-10-13 Qualcomm Incorporated Gradient based matching for motion search and derivation
US20190116376A1 (en) * 2017-10-12 2019-04-18 Qualcomm Incorporated Motion vector predictors using affine motion model in video coding
US11889100B2 (en) * 2017-11-14 2024-01-30 Qualcomm Incorporated Affine motion vector prediction in video coding
US10757417B2 (en) * 2018-01-20 2020-08-25 Qualcomm Incorporated Affine motion compensation in video coding
US10652571B2 (en) * 2018-01-25 2020-05-12 Qualcomm Incorporated Advanced motion vector prediction speedups for video coding
US10944984B2 (en) * 2018-08-28 2021-03-09 Qualcomm Incorporated Affine motion prediction
US20200120335A1 (en) * 2018-10-12 2020-04-16 Qualcomm Incorporated Affine candidate derivation for video coding
JP7189069B2 (ja) 2019-04-05 2022-12-13 レンゴー株式会社 蓋体およびこれを備えた包装箱

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Han Huang et al., "Control-Point Representation and Differential Coding Affine-Motion Compensation", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, 2013.03.27. *

Also Published As

Publication number Publication date
US20220116647A1 (en) 2022-04-14
KR20200013266A (ko) 2020-02-06
JP2023164435A (ja) 2023-11-10
JP7335315B2 (ja) 2023-08-29
US11240529B2 (en) 2022-02-01
EP4373087A2 (en) 2024-05-22
EP3306934B1 (en) 2024-03-06
JP7004782B2 (ja) 2022-01-21
CN107710761B (zh) 2020-02-14
AU2016290017A1 (en) 2018-01-25
CN107710761A (zh) 2018-02-16
AU2016290017B2 (en) 2019-07-11
JP7335314B2 (ja) 2023-08-29
JP2022044613A (ja) 2022-03-17
US20210058641A1 (en) 2021-02-25
MY191714A (en) 2022-07-09
MX2023000807A (es) 2023-02-27
KR102390695B1 (ko) 2022-04-26
RU2699258C2 (ru) 2019-09-04
KR102173475B1 (ko) 2020-11-03
CN106331722A (zh) 2017-01-11
EP4373087A3 (en) 2024-05-29
RU2018143851A3 (ko) 2019-07-17
KR102549824B1 (ko) 2023-06-30
JP2018524918A (ja) 2018-08-30
US11831902B2 (en) 2023-11-28
JP6776276B2 (ja) 2020-10-28
KR20220057639A (ko) 2022-05-09
US10560714B2 (en) 2020-02-11
JP2021022936A (ja) 2021-02-18
CN106331722B (zh) 2019-04-26
EP3306934A4 (en) 2018-05-23
US20180139468A1 (en) 2018-05-17
SG11201710800QA (en) 2018-01-30
MX2021003800A (es) 2023-02-01
KR20180019688A (ko) 2018-02-26
KR102073638B1 (ko) 2020-02-05
JP2023164434A (ja) 2023-11-10
ZA201800017B (en) 2019-08-28
RU2675092C1 (ru) 2018-12-14
MX2018000067A (es) 2018-03-16
US10771809B2 (en) 2020-09-08
BR112018000085A2 (pt) 2018-08-28
RU2018143851A (ru) 2019-02-21
US20200145689A1 (en) 2020-05-07
JP2022044612A (ja) 2022-03-17
EP3306934A1 (en) 2018-04-11
WO2017005128A1 (zh) 2017-01-12

Similar Documents

Publication Publication Date Title
KR102173475B1 (ko) 픽처 예측 방법 및 픽처 예측 장치
KR102013771B1 (ko) 이미지 예측 방법 및 관련 장치
KR102160564B1 (ko) 픽쳐 예측 방법 및 관련 장치
CN110557631B (zh) 图像预测方法和相关设备
KR102005007B1 (ko) 픽쳐 예측 방법 및 관련 장치
US20240187638A1 (en) Picture prediction method and picture prediction apparatus
CN116800984A (zh) 编解码方法和装置
CN116800985A (zh) 编解码方法和装置

Legal Events

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