KR20170044686A - 픽쳐 예측 방법 및 관련 장치 - Google Patents
픽쳐 예측 방법 및 관련 장치 Download PDFInfo
- Publication number
- KR20170044686A KR20170044686A KR1020177007259A KR20177007259A KR20170044686A KR 20170044686 A KR20170044686 A KR 20170044686A KR 1020177007259 A KR1020177007259 A KR 1020177007259A KR 20177007259 A KR20177007259 A KR 20177007259A KR 20170044686 A KR20170044686 A KR 20170044686A
- Authority
- KR
- South Korea
- Prior art keywords
- picture block
- motion vector
- pixel
- current picture
- block
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
- H04N19/54—Motion estimation other than block-based using feature points or meshes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명의 실시예는 픽쳐 예측 방법 및 관련 장치를 개시한다. 픽쳐 예측 방법은, 현재 픽쳐 블록 내의 K개의 화소 샘플의 움직임 벡터 예측자를 결정하는 단계 - K는 1보다 큰 정수이고, K개의 화소 샘플은 현재 픽쳐 블록 내의 제1 꼭지각 화소 샘플을 포함하며, 제1 꼭지각 화소 샘플의 움직임 벡터 예측자는 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 기초하여 획득되고, 공간적으로 인접한 제1 픽쳐 블록은 제1 꼭지각 화소 샘플과 공간적으로 인접함 -; 및 비-병진 움직임 모델 및 K개의 화소 샘플의 움직임 벡터 예측자에 기초하여 현재 픽쳐 블록에 대해 화소 값 예측을 수행하는 단계를 포함한다. 본 발명의 실시예의 해결수단은 비-병진 움직임 모델에 기반한 픽쳐 예측의 계산 복잡도를 감소시키는 데 도움이 된다.
Description
본 출원은 중국 특허청에 2014년 9월 30일에 출원된 중국 특허출원 제201410526608.8호("PICTURE PREDICTION METHOD AND RELATED APPARATUS")에 대해 우선권을 주장하는 바이며, 그 전체 내용이 원용에 의해 본 명세서에 포함된다.
본 발명은 픽쳐 처리 기술 분야에 관한 것으로, 상세하게는 픽쳐 예측 방법 및 관련 장치에 관한 것이다.
광전 획득 기술(photoelectric acquisition technology)이 발전하고 고화질 디지털 비디오에 대한 수요가 지속적으로 증가함에 따라, 비디오 데이터의 양이 점점 더 커지고 있다. 제한된 이종의 전송 대역폭 및 다양화된 비디오 애플리케이션으로 인해, 비디오 코딩 효율에 대한 요구사항이 지속적으로 강요되고 있다. 이러한 요구사항에 따라 고효율 비디오 코딩(high efficiency video coding, HEVC) 표준을 개발하는 작업이 시작되었다.
비디오 압축 코딩의 기본 원리는 가능한 한 중복(redundancy)을 제거하기 위해 공간 영역, 시간 영역, 및 코드워드 간의 상호 연관관계를 이용하는 것이다. 현재, 블록 기반의 하이브리드 비디오 코딩 프레임워크를 이용하여 예측(프레임 내 예측(intra-frame prediction) 및 프레임 간 예측(inter-frame prediction)을 포함하고 있음), 변환, 양자화, 엔트로피 코딩 등의 단계를 수행함으로써 비디오 압축 코딩을 구현하는 것이 일반적이다. 이러한 코딩 프레임워크는 실행 가능성(viability)이 높고, 따라서 HEVC가 블록 기반의 하이브리드 비디오 코딩 프레임워크를 여전히 사용하고 있다.
다양한 비디오 코딩/디코딩 해결수단에서는, 움직임 추정 또는 움직임 보상이 코딩/디코딩 효율에 영향을 미치는 핵심 기법이다. 다양한 종래의 비디오 코딩/디코딩 해결수단에서는, 객체의 움직임이 병진 움직임(translational motion)을 항상 만족하며, 전체 객체의 모든 부분의 움직임이 동일한 것으로 추정된다. 기본적으로, 모든 종래의 움직임 추정 또는 움직임 보상 알고리즘은 병진 움직임 모델에 기초하여 구축되는 블록 움직임 보상 알고리즘이다. 하지만, 실제 세계에서의 움직임은 다양하며, 스케일 조절 업/다운(scaling up/down), 회전, 또는 포물선 움직임과 같은 불규칙 움직임이 보편적(ubiquitous)이다. 1990년대 이후, 비디오 코딩 전문가들은 불규칙 움직임이 보편적이라는 것을 이해하였고, 비디오 코딩 효율을 개선하기 위해 불규칙 움직임 모델(아핀 움직임 모델, 회전 움직임 모델, 또는 스케일 조절 움직임 모델과 같은 비-병진 움직임 모델)을 도입하기를 희망했다. 하지만, 비-병진 움직임 모델에 기초하여 수행되는 종래의 픽쳐 예측의 계산 복잡도가 일반적으로 상당히 높다.
본 발명의 실시형태는 비-병진 움직임 모델에 기반한 픽쳐 예측의 계산 복잡도를 감소시키기 위한 픽쳐 예측 방법 및 관련 장치를 제공한다.
본 발명의 제1 양태는 픽쳐 예측 방법을 제공한다. 상기 픽쳐 예측 방법은,
현재 픽쳐 블록 내의 K개의 화소 샘플의 움직임 벡터 예측자(motion vector predictor)를 결정하는 단계 - K는 1보다 큰 정수이고, 상기 K개의 화소 샘플은 상기 현재 픽쳐 블록 내의 제1 꼭지각 화소 샘플(vertex angle pixel sample)을 포함하며, 상기 제1 꼭지각 화소 샘플의 움직임 벡터 예측자는 상기 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 기초하여 획득되고, 상기 공간적으로 인접한 제1 픽쳐 블록은 상기 제1 꼭지각 화소 샘플과 공간적으로 인접함 -; 및
비-병진 움직임 모델(non-translational motion model) 및 상기 K개의 화소 샘플의 움직임 벡터 예측자에 기초하여 상기 현재 픽쳐 블록에 대해 화소 값 예측을 수행하는 단계를 포함한다.
제1 양태를 참조하여, 제1 양태의 제1 가능한 구현 방식에서, 상기 K개의 화소 샘플은 상기 현재 픽쳐 블록 내의 좌측 상부 화소 샘플, 또는 우측 상부 화소 샘플, 또는 좌측 하부 화소 샘플 중 적어도 2개의 화소 샘플을 포함하고;
상기 현재 픽쳐 블록 내의 상기 좌측 상부 화소 샘플은 상기 현재 픽쳐 블록의 좌측 상부 꼭지점에 있거나 또는 상기 현재 픽쳐 블록 내에 있으면서 상기 현재 픽쳐 블록의 좌측 상부 꼭지점을 포함하는 화소 블록이고, 상기 현재 픽쳐 블록 내의 상기 좌측 하부 화소 샘플은 상기 현재 픽쳐 블록의 좌측 하부 꼭지점에 있거나 또는 상기 현재 픽쳐 블록 내에 있으면서 상기 현재 픽쳐 블록의 좌측 하부 꼭지점을 포함하는 화소 블록이며, 상기 현재 픽쳐 블록 내의 상기 우측 상부 화소 샘플은 상기 현재 픽쳐 블록의 우측 상부 꼭지점에 있거나 또는 상기 현재 픽쳐 블록 내에 있으면서 상기 현재 픽쳐 블록의 우측 상부 꼭지점을 포함한다.
제1 양태의 제1 가능한 구현 방식을 참조하여, 제1 양태의 제2 가능한 구현 방식에서, 상기 공간적으로 인접한 제1 픽쳐 블록은 픽쳐 블록 X1, 픽쳐 블록 X2, 또는 픽쳐 블록 X3이고;
상기 현재 픽쳐 블록 내의 상기 좌측 상부 화소 샘플의 움직임 벡터 예측자는 상기 픽쳐 블록 X1의 움직임 벡터에 기초하여 획득되고, 상기 픽쳐 블록 X1은 상기 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이며, 상기 픽쳐 블록 X1은 상기 현재 픽쳐 블록 내의 상기 좌측 상부 화소 샘플과 공간적으로 인접하고;
상기 현재 픽쳐 블록 내의 상기 우측 상부 화소 샘플의 움직임 벡터 예측자는 상기 픽쳐 블록 X2의 움직임 벡터에 기초하여 획득되고, 상기 픽쳐 블록 X2는 상기 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이며, 상기 픽쳐 블록 X2는 상기 현재 픽쳐 블록 내의 상기 우측 상부 화소 샘플과 공간적으로 인접하고;
상기 현재 픽쳐 블록 내의 상기 좌측 하부 화소 샘플의 움직임 벡터 예측자는 상기 픽쳐 블록 X3의 움직임 벡터에 기초하여 획득되고, 상기 픽쳐 블록 X3은 상기 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이며, 상기 픽쳐 블록 X3은 상기 현재 픽쳐 블록 내의 상기 좌측 하부 화소 샘플과 공간적으로 인접한다.
제1 양태의 제2 가능한 구현 방식을 참조하여, 제1 양태의 제3 가능한 구현 방식에서,
상기 제1 꼭지각 화소 샘플은 상기 현재 픽쳐 블록 내의 상기 좌측 상부 화소 샘플이고, 상기 공간적으로 인접한 제1 픽쳐 블록은 상기 픽쳐 블록 X1이며, 상기 픽쳐 블록 X1은 상기 현재 픽쳐 블록의 좌측 상부에서 공간적으로 인접한 픽쳐 블록이다.
제1 양태의 제3 가능한 구현 방식을 참조하여, 제1 양태의 제4 가능한 구현 방식에서,
상기 픽쳐 블록 X2는 상기 현재 픽쳐 블록의 위에서 공간적으로 인접한 픽쳐 블록이거나; 또는
상기 픽쳐 블록 X2의 움직임 벡터 절대값과 상기 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값이 상기 픽쳐 블록 X5의 움직임 벡터 절대값과 상기 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값보다 크거나 같고, 상기 픽쳐 블록 X5는 상기 우측 상부 꼭지점과 공간적으로 인접한 상기 현재 픽쳐 블록 중의 픽쳐 블록으로서, 상기 픽쳐 블록 X2를 제외한 공간적으로 인접한 나머지 적어도 일부의 픽쳐 블록 중 하나이다.
제1 양태의 제3 가능한 구현 방식 또는 제1 양태의 제4 가능한 구현 방식을 참조하여, 제1 양태의 제5 가능한 구현 방식에서,
상기 픽쳐 블록 X3은 상기 현재 픽쳐 블록의 좌측에서 공간적으로 인접한 픽쳐 블록이거나; 또는
상기 픽쳐 블록 X3의 움직임 벡터 절대값과 상기 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값이 상기 픽쳐 블록 X6의 움직임 벡터 절대값과 상기 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값보다 크거나 같고, 상기 픽쳐 블록 X6은 상기 좌측 하부 꼭지점과 공간적으로 인접한 상기 현재 픽쳐 블록 중의 픽쳐 블록으로서, 상기 픽쳐 블록 X3을 제외한 공간적으로 인접한 나머지 적어도 일부의 픽쳐 블록 중 하나이다.
제1 양태, 또는 제1 양태의 제1 내지 제5 가능한 구현 방식 중 어느 하나를 참조하여, 제1 양태의 제6 가능한 구현 방식에서, 상기 비-병진 움직임 모델 및 상기 K개의 화소 샘플의 움직임 벡터 예측자에 기초하여 상기 현재 픽쳐 블록에 대해 화소 값 예측을 수행하는 단계는,
상기 K개의 화소 샘플 중 K1개의 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임(reference frame)이 참조 프레임 Y1이 아닌 경우, 상기 K개의 화소 샘플의 움직임 벡터를 획득하기 위해, 상기 K1개의 화소 샘플의 움직임 벡터 예측자를 상기 참조 프레임 Y1로 스케일 조절하고, K2개의 화소 샘플의 움직임 벡터 예측자 및 상기 K개의 화소 샘플의 움직임 벡터 예측자로서, 상기 참조 프레임 Y1로 스케일 조절된 움직임 벡터 예측자를 이용하여 상기 K개의 화소 샘플에 대해 움직임 추정을 수행하며, 상기 비-병진 움직임 모델 및 상기 K개의 화소 샘플의 움직임 벡터를 이용하여 상기 현재 픽쳐 블록에 대해 화소 값 예측을 수행하는 단계를 포함한다. 여기서, 상기 K2개의 화소 샘플은 상기 K개의 화소 샘플 중에서 상기 K1개의 화소 샘플을 제외한 나머지 화소 샘플이고, K1 및 K2는 양의 정수이다.
제1 양태의 제6 가능한 구현 방식을 참조하여, 제1 양태의 제7 가능한 구현 방식에서, 화소 샘플 i는 상기 K개의 화소 샘플 중에서 상기 제1 꼭지각 화소 샘플을 제외한 임의의 화소 샘플이고, 상기 화소 샘플 i의 움직임 벡터 예측자에 대응하는 예측 방향이 상기 제1 꼭지각 화소 샘플의 움직임 벡터 예측자에 대응하는 예측 방향과 다르면 상기 화소 샘플 i의 움직임 벡터 예측자에 대응하는 참조 프레임 인덱스가 0이다.
제1 양태의 제7 가능한 구현 방식을 참조하여, 제1 양태의 제8 가능한 구현 방식에서, 상기 참조 프레임 Y1은 상기 제1 꼭지각 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임이고, 상기 화소 샘플 i의 움직임 벡터 예측자가 상기 참조 프레임 Y1로 스케일 조절된다는 것은, 상기 제1 꼭지각 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임 인덱스와 상기 화소 샘플 i에 대응하는 참조 프레임 인덱스가 서로 다르면 상기 화소 샘플 i의 움직임 벡터 예측자가 상기 참조 프레임 Y1로 스케일 조절된다는 것을 포함한다.
제1 양태의 제6 가능한 구현 방식 또는 제1 양태의 제7 가능한 구현 방식 또는 제1 양태의 제8 가능한 구현 방식을 참조하여, 제1 양태의 제9 가능한 구현 방식에서, 상기 K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K2개의 화소 샘플의 움직임 벡터 예측자 및 상기 K개의 화소 샘플의 움직임 벡터 예측자로서, 상기 참조 프레임 Y1로 스케일 조절된 움직임 벡터 예측자를 이용하여 상기 K개의 화소 샘플에 대해 움직임 추정을 수행하는 것은,
상기 K개의 화소 샘플의 움직임 벡터를 획득하기 위해, 상기 K2개의 화소 샘플의 움직임 벡터 예측자 및 상기 K개의 화소 샘플의 움직임 벡터 예측자로서, 상기 참조 프레임 Y1로 스케일 조절된 움직임 벡터 예측자를 이용함으로써 반복 검색 알고리즘에 기초하여 상기 K개의 화소 샘플에 대해 움직임 추정을 수행하는 것을 포함한다.
제1 양태, 또는 제1 양태의 제1 내지 제9 가능한 구현 방식 중 어느 하나를 참조하여, 제1 양태의 제10 가능한 구현 방식에서, 상기 비-병진 움직임 모델은 아핀 변환 모델(affine transformation model), 또는 포물선 움직임 모델, 또는 회전 움직임 모델, 또는 원근 움직임 모델(perspective motion model), 또는 전단 움직임 모델(shearing motion model), 또는 스케일러블 움직임 모델(scalable motion model) 중 하나이다.
제1 양태, 또는 제1 양태의 제1 내지 제10 가능한 구현 방식 중 어느 하나를 참조하여, 제1 양태의 제11 가능한 구현 방식에서,
상기 픽쳐 예측 방법은 비디오 코딩 프로세스에 적용되거나, 또는 상기 픽쳐 예측 방법은 비디오 디코딩 프로세스에 적용된다.
본 발명의 제1 양태는 픽쳐 예측 장치를 제공한다. 상기 픽쳐 예측 장치는,
현재 픽쳐 블록 내의 K개의 화소 샘플의 움직임 벡터 예측자를 결정하도록 구성된 결정 유닛 - K는 1보다 큰 정수이고, 상기 K개의 화소 샘플은 상기 현재 픽쳐 블록 내의 제1 꼭지각 화소 샘플을 포함하며, 상기 제1 꼭지각 화소 샘플의 움직임 벡터 예측자는 상기 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 기초하여 획득되고, 상기 공간적으로 인접한 제1 픽쳐 블록은 상기 제1 꼭지각 화소 샘플과 공간적으로 인접함 -; 및
비-병진 움직임 모델 및 상기 K개의 화소 샘플의 움직임 벡터 예측자에 기초하여 상기 현재 픽쳐 블록에 대해 화소 값 예측을 수행하도록 구성된 예측 유닛을 포함한다.
제1 양태를 참조하여, 제1 양태의 제1 가능한 구현 방식에서, 상기 K개의 화소 샘플은 상기 현재 픽쳐 블록 내의 좌측 상부 화소 샘플, 또는 우측 상부 화소 샘플, 또는 좌측 하부 화소 샘플 중 적어도 2개의 화소 샘플을 포함하고;
상기 현재 픽쳐 블록 내의 상기 좌측 상부 화소 샘플은 상기 현재 픽쳐 블록의 좌측 상부 꼭지점에 있거나 또는 상기 현재 픽쳐 블록 내에 있으면서 상기 현재 픽쳐 블록의 좌측 상부 꼭지점을 포함하는 화소 블록이고, 상기 현재 픽쳐 블록 내의 상기 좌측 하부 화소 샘플은 상기 현재 픽쳐 블록의 좌측 하부 꼭지점에 있거나 또는 상기 현재 픽쳐 블록 내에 있으면서 상기 현재 픽쳐 블록의 좌측 하부 꼭지점을 포함하는 화소 블록이며, 상기 현재 픽쳐 블록 내의 상기 우측 상부 화소 샘플은 상기 현재 픽쳐 블록의 우측 상부 꼭지점에 있거나 또는 상기 현재 픽쳐 블록 내에 있으면서 상기 현재 픽쳐 블록의 우측 상부 꼭지점을 포함하는 화소 블록이다.
제1 양태의 제1 가능한 구현 방식을 참조하여, 제1 양태의 제2 가능한 구현 방식에서, 상기 공간적으로 인접한 제1 픽쳐 블록은 픽쳐 블록 X1, 픽쳐 블록 X2, 또는 픽쳐 블록 X3이고;
상기 현재 픽쳐 블록 내의 상기 좌측 상부 화소 샘플의 움직임 벡터 예측자는 상기 픽쳐 블록 X1의 움직임 벡터에 기초하여 획득되고, 상기 픽쳐 블록 X1은 상기 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이며, 상기 픽쳐 블록 X1은 상기 현재 픽쳐 블록 내의 상기 좌측 상부 화소 샘플과 공간적으로 인접하고;
상기 현재 픽쳐 블록 내의 상기 우측 상부 화소 샘플의 움직임 벡터 예측자는 상기 픽쳐 블록 X2의 움직임 벡터에 기초하여 획득되고, 상기 픽쳐 블록 X2는 상기 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이며, 상기 픽쳐 블록 X2는 상기 현재 픽쳐 블록 내의 상기 우측 상부 화소 샘플과 공간적으로 인접하고;
상기 현재 픽쳐 블록 내의 상기 좌측 하부 화소 샘플의 움직임 벡터 예측자는 상기 픽쳐 블록 X3의 움직임 벡터에 기초하여 획득되고, 상기 픽쳐 블록 X3은 상기 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이며, 상기 픽쳐 블록 X3은 상기 현재 픽쳐 블록 내의 상기 좌측 하부 화소 샘플과 공간적으로 인접한다.
제1 양태의 제2 가능한 구현 방식을 참조하여, 제1 양태의 제3 가능한 구현 방식에서,
상기 제1 꼭지각 화소 샘플은 상기 현재 픽쳐 블록 내의 상기 좌측 상부 화소 샘플이고, 상기 공간적으로 인접한 제1 픽쳐 블록은 상기 픽쳐 블록 X1이며, 상기 픽쳐 블록 X1은 상기 현재 픽쳐 블록의 좌측 상부에서 공간적으로 인접한 픽쳐 블록이다.
제1 양태의 제3 가능한 구현 방식을 참조하여, 제1 양태의 제4 가능한 구현 방식에서,
상기 픽쳐 블록 X2는 상기 현재 픽쳐 블록의 위에서 공간적으로 인접한 픽쳐 블록이거나; 또는
상기 픽쳐 블록 X2의 움직임 벡터 절대값과 상기 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값이 상기 픽쳐 블록 X5의 움직임 벡터 절대값과 상기 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값보다 크거나 같고, 상기 픽쳐 블록 X5는 상기 우측 상부 꼭지점과 공간적으로 인접한 상기 현재 픽쳐 블록 중의 픽쳐 블록으로서, 상기 픽쳐 블록 X2를 제외한 공간적으로 인접한 나머지 적어도 일부의 픽쳐 블록 중 하나이다.
제1 양태의 제3 가능한 구현 방식 또는 제1 양태의 제4 가능한 구현 방식을 참조하여, 제1 양태의 제5 가능한 구현 방식에서,
상기 픽쳐 블록 X3은 상기 현재 픽쳐 블록의 좌측에서 공간적으로 인접한 픽쳐 블록이거나; 또는
상기 픽쳐 블록 X3의 움직임 벡터 절대값과 상기 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값이 상기 픽쳐 블록 X6의 움직임 벡터 절대값과 상기 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값보다 크거나 같고, 상기 픽쳐 블록 X6은 상기 좌측 하부 꼭지점과 공간적으로 인접한 상기 현재 픽쳐 블록 중의 픽쳐 블록으로서, 상기 픽쳐 블록 X3을 제외한 공간적으로 인접한 나머지 적어도 일부의 픽쳐 블록 중 하나이다.
제1 양태, 또는 제1 양태의 제1 내지 제5 가능한 구현 방식 중 어느 하나를 참조하여, 제1 양태의 제6 가능한 구현 방식에서, 상기 예측 유닛은 구체적으로, 상기 K개의 화소 샘플 중 K1개의 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임이 참조 프레임 Y1이 아닌 경우, 상기 K개의 화소 샘플의 움직임 벡터를 획득하기 위해, 상기 K1개의 화소 샘플의 움직임 벡터 예측자를 상기 참조 프레임 Y1로 스케일 조절하고, K2개의 화소 샘플의 움직임 벡터 예측자 및 상기 K개의 화소 샘플의 움직임 벡터 예측자로서, 상기 참조 프레임 Y1로 스케일 조절된 움직임 벡터 예측자를 이용하여 상기 K개의 화소 샘플에 대해 움직임 추정을 수행하며, 상기 비-병진 움직임 모델 및 상기 K개의 화소 샘플의 움직임 벡터를 이용하여 상기 현재 픽쳐 블록에 대해 화소 값 예측을 수행하도록 구성된다. 여기서, 상기 K2개의 화소 샘플은 상기 K개의 화소 샘플 중에서 상기 K1개의 화소 샘플을 제외한 나머지 화소 샘플이며, K1 및 K2는 양의 정수이다.
제1 양태의 제6 가능한 구현 방식을 참조하여, 제1 양태의 제7 가능한 구현 방식에서, 화소 샘플 i는 상기 K개의 화소 샘플 중에서 상기 제1 꼭지각 화소 샘플을 제외한 임의의 화소 샘플이고, 상기 화소 샘플 i의 움직임 벡터 예측자에 대응하는 예측 방향이 상기 제1 꼭지각 화소 샘플의 움직임 벡터 예측자에 대응하는 예측 방향과 다르면 상기 화소 샘플 i의 움직임 벡터 예측자에 대응하는 참조 프레임 인덱스가 0이다.
제1 양태의 제6 가능한 구현 방식을 참조하여, 제1 양태의 제7 가능한 구현 방식에서, 상기 참조 프레임 Y1은 상기 제1 꼭지각 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임이고, 상기 예측 유닛은 구체적으로, 상기 제1 꼭지각 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임 인덱스와 상기 화소 샘플 i에 대응하는 참조 프레임 인덱스가 서로 다르면 상기 화소 샘플 i의 움직임 벡터 예측자를 상기 참조 프레임 Y1로 스케일링하도록 구성된다.
제1 양태의 제6 가능한 구현 방식 또는 제1 양태의 제7 가능한 구현 방식 또는 제1 양태의 제8 가능한 구현 방식을 참조하여, 제1 양태의 제9 가능한 구현 방식에서, 상기 비-병진 움직임 모델은 아핀 변환 모델, 또는 포물선 움직임 모델, 또는 회전 움직임 모델, 또는 원근 움직임 모델, 또는 전단 움직임 모델, 또는 스케일러블 움직임 모델 중 하나이다.
제1 양태, 또는 제1 양태의 제1 내지 제9 가능한 구현 방식 중 어느 하나를 참조하여, 제1 양태의 제10 가능한 구현 방식에서, 상기 픽쳐 예측 장치는 비디오 코딩 장치에 적용되거나, 또는 상기 픽쳐 예측 장치는 비디오 디코딩 장치에 적용된다.
본 발명의 실시형태의 해결수단에서, 현재 픽쳐 블록에 대해 화소 값 예측이 수행되는 동안 결정되는 K개의 화소 샘플의 움직임 벡터 예측자가 비-병진 움직임 모델에 기초하여 참조된다는 것을 알 수 있을 것이다. 상기 K개의 화소 샘플은 상기 현재 픽쳐 블록 내의 제1 꼭지각 화소 샘플을 포함한다. 상기 K개의 화소 샘플의 움직임 벡터 예측자가 예측을 위해 직접 사용되고, 상기 K개의 화소 샘플 내의 제1 꼭지각 화소 샘플의 움직임 벡터 예측자가 상기 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 기초하여 획득되며, 상기 K개의 화소 샘플의 움직임 벡터 예측자를 위한 단 하나의 선택적인 경우만이 존재한다. 따라서, 종래의 기술에서 사용되는, K개의 화소 샘플의 움직임 벡터 예측자가 상기 K개의 화소 샘플의 다수의 선택적인 움직임 벡터 예측자 세트로부터 대규모 계산에 의하여 선택되는 메커니즘이 포기된다. 이렇게 함으로써, 비트스트림 내의 움직임 정보 예측자의 선택 정보를 전달하는 것을 방지하는 데 도움이 되고, 코딩 효율을 높이는 데 도움이 되며, 또한 비-병진 움직임 모델에 기반하는 픽쳐 예측의 계산 복잡도를 감소시키는 데 도움이 된다.
도 1a는 본 발명의 일 실시형태에 따른 프레임 내 예측에 대응하는 예측 단위 분할 방식의 개략도이다.
도 1b는 본 발명의 일 실시형태에 따른 프레임 간 예측에 대응하는 여러 예측 단위 분할 방식의 개략도이다.
도 1c는 본 발명의 일 실시형태에 따른 픽쳐 예측 방법의 개략적인 흐름도이다.
도 2는 본 발명의 일 실시형태에 따른 현재 픽쳐 블록의 가능한 인접 참조 블록의 개략도이다.
도 3a는 본 발명의 일 실시형태에 따른 다른 픽쳐 예측 방법의 개략적인 흐름도이다.
도 3b는 본 발명의 일 실시형태에 따른 현재 픽쳐 블록의 가능한 인접 참조 블록의 다른 개략도이다.
도 3c는 본 발명의 일 실시형태에 따른 현재 픽쳐 블록의 참조 프레임의 개략도이다.
도 3d는 본 발명의 일 실시형태에 따른 현재 픽쳐 블록의 개략도이다.
도 3e는 본 발명의 일 실시형태에 따른 픽쳐 블록의 아핀 변환의 개략도이다.
도 4a는 본 발명의 일 실시형태에 따른 또 다른 픽쳐 예측 방법의 개략적인 흐름도이다.
도 4b는 본 발명의 일 실시형태에 따른 현재 픽쳐 블록의 인접한 참조 블록의 또 다른 개략도이다.
도 5는 본 발명의 일 실시형태에 따른 또 다른 픽쳐 예측 방법의 개략적인 흐름도이다.
도 6은 본 발명의 일 실시형태에 따른 또 다른 픽쳐 예측 방법의 개략적인 흐름도이다.
도 7은 본 발명의 일 실시형태에 따른 비디오 디코딩 방법의 개략적인 흐름도이다.
도 8은 본 발명의 일 실시형태에 따른 다른 픽쳐 예측 장치의 개략도이다.
도 9는 본 발명의 일 실시형태에 따른 또 다른 픽쳐 예측 장치의 개략도이다.
도 10은 본 발명의 일 실시형태에 따른 또 다른 픽쳐 예측 장치의 개략도이다.
도 1b는 본 발명의 일 실시형태에 따른 프레임 간 예측에 대응하는 여러 예측 단위 분할 방식의 개략도이다.
도 1c는 본 발명의 일 실시형태에 따른 픽쳐 예측 방법의 개략적인 흐름도이다.
도 2는 본 발명의 일 실시형태에 따른 현재 픽쳐 블록의 가능한 인접 참조 블록의 개략도이다.
도 3a는 본 발명의 일 실시형태에 따른 다른 픽쳐 예측 방법의 개략적인 흐름도이다.
도 3b는 본 발명의 일 실시형태에 따른 현재 픽쳐 블록의 가능한 인접 참조 블록의 다른 개략도이다.
도 3c는 본 발명의 일 실시형태에 따른 현재 픽쳐 블록의 참조 프레임의 개략도이다.
도 3d는 본 발명의 일 실시형태에 따른 현재 픽쳐 블록의 개략도이다.
도 3e는 본 발명의 일 실시형태에 따른 픽쳐 블록의 아핀 변환의 개략도이다.
도 4a는 본 발명의 일 실시형태에 따른 또 다른 픽쳐 예측 방법의 개략적인 흐름도이다.
도 4b는 본 발명의 일 실시형태에 따른 현재 픽쳐 블록의 인접한 참조 블록의 또 다른 개략도이다.
도 5는 본 발명의 일 실시형태에 따른 또 다른 픽쳐 예측 방법의 개략적인 흐름도이다.
도 6은 본 발명의 일 실시형태에 따른 또 다른 픽쳐 예측 방법의 개략적인 흐름도이다.
도 7은 본 발명의 일 실시형태에 따른 비디오 디코딩 방법의 개략적인 흐름도이다.
도 8은 본 발명의 일 실시형태에 따른 다른 픽쳐 예측 장치의 개략도이다.
도 9는 본 발명의 일 실시형태에 따른 또 다른 픽쳐 예측 장치의 개략도이다.
도 10은 본 발명의 일 실시형태에 따른 또 다른 픽쳐 예측 장치의 개략도이다.
본 발명의 실시형태는 비-병진 움직임 모델에 기반한 픽쳐 예측의 계산 복잡도를 감소시키기 위한 픽쳐 예측 방법 및 관련 장치를 제공한다.
이하, 당업자가 본 발명의 과제 해결수단을 더 잘 이해할 수 있도록, 본 발명의 실시형태의 첨부 도면을 참조하여 본 발명의 실시형태의 과제 해결수단에 대해 명확하고 완전하게 설명한다. 명백히, 설명되는 실시형태는 본 발명의 실시형태의 일부일 뿐 전부가 아니다. 당업자가 창조적 노력 없이 본 발명의 실시형태에 기초하여 획득하는 모든 다른 실시형태는 본 발명의 보호 범위 내에 있게 된다.
이하, 상세한 설명을 별도로 제공한다.
본 발명의 명세서, 특허 청구 범위, 및 첨부 도면에서, "제1", "제2", "제3", "제4" 등의 용어는 서로 다른 대상을 구별하기 위한 것으로, 특정한 순서를 나타내지는 않는다. 또한, "포함하다", "가지고 있다" 및 이들의 임의의 다른 변형은 비배타적으로 포함하는 것을 포괄하도록 의도된다. 예를 들어, 일련의 단계 또는 유닛을 포함하는 프로세스, 방법, 시스템, 제품, 또는 장치는 열거된 단계 또는 유닛에 제한되지 않고, 열거되지 않은 단계 또는 유닛을 선택적으로 더 포함하거나, 또는 프로세스, 방법, 제품, 또는 장치의 다른 고유한 단계 또는 유닛을 선택적으로 더 포함한다.
이하, 본 발명의 실시형태에 포함될 수 있는 몇몇 개념에 대해 먼저 설명한다.
대부분의 코딩 프레임워크에서는, 비디오 시퀀스가 일련의 픽쳐(picture)를 포함하고, 픽쳐는 슬라이스(slice)로 추가적으로 분할되고, 슬라이스는 블록(block)으로 추가적으로 분할된다. 비디오 코딩은, 블록을 단위로서 이용하여 픽쳐의 좌측 상부 모서리 위치에서 시작해서 좌측에서 우측으로 또한 최상부 행에서 최하부 행까지 코딩 처리를 수행하는 것이다. 일부 새로운 비디오 코딩 표준에서는, 이러한 블록의 개념이 더 확장되었다. H.264 표준에서는 매크로블록(macro block, MB)이 있고, MB는 예측 코딩에 사용될 수 있는 복수의 예측 블록(partition)으로 더 분할될 수 있다. HEVC 표준에서는, 코딩 단위(coding unit, CU), 예측 단위(prediction unit, PU), 및 변환 단위(transform unit, TU)과 같은 기본적인 개념이 사용되고, 복수의 단위가 기능에 따라 분류되며, 설명을 위해 완전히 새로운 트리 기반 구조가 사용된다. 예를 들어, 쿼드트리(quadtree) 구조를 형성하기 위해, CU가 쿼드트리에 따라 더 작은 CU로 분할될 수 있고, 더 작은 CU는 추가적으로 분할될 수 있다. PU 및 TU도 또한 유사한 트리 구조를 가지고 있다. 유닛이 CU, PU, 또는 TU인지 여부에 관계없이, 이러한 유닛은 본질적으로 블록의 개념에 속해 있다. CU는 매크로블록(macroblock, MB) 또는 코딩 블록과 유사하며, 코딩 픽쳐를 분할하고 코딩하기 위한 기본 단위이다. PU는 예측 블록에 대응할 수 있고, 예측 코딩을 위한 기본 단위이다. CU는 분할 모드에 따라 복수의 PU로 추가적으로 분할된다. TU는 변환 블록에 대응할 수 있고, 예측 잔차(prediction residual)를 변환하기 위한 기본 단위이다. 고효율 비디오 코딩(high efficiency video coding, HEVC) 표준에서, CU, PU, 및 TU는 집합적으로 코딩 트리 블록(coding tree block, CTB) 등으로 지칭될 수 있다.
HEVC 표준에서는, 코딩 단위의 크기가 4개의 레벨, 즉 64×64, 32×32, 16×16, 및 8×8을 포함할 수 있다. 코딩 단위는 각각의 레벨에서 프레임 내 예측 및 프레임 간 예측에 따라 서로 다른 크기의 예측 단위로 분할될 수 있다. 예를 들어, 도 1a 및 도 1b에 도시된 바와 같이, 도 1a는 프레임 내 예측에 대응하는 예측 단위 분할 방식의 예를 도시하고 있다. 도 1b는 프레임 간 예측에 대응하는 다수의 예측 단위 분할 방식의 예를 도시하고 있다.
비디오 코딩 기술이 발전하고 진화하는 동안, 비디오 코딩 전문가들은 코딩 효율을 향상시키기 위해 인접한 코딩/디코딩 블록 간의 시간적 및 공간적 상호 연관관계를 이용하는 다양한 방법을 파악해 왔다. H264/AVC(advanced video coding, AVC) 표준에서, 스킵 모드(skip mode) 및 다이렉트 모드(direct mode)는 코딩 효율을 향상시키기 위한 효과적인 툴이 된다. 비트 레이트가 낮은 경우에 사용되는 2가지 코딩 모드의 블록이 전체 코딩 시퀀스의 절반 이상을 차지할 수 있다. 스킵 모드가 사용되는 경우에, 현재 픽쳐 블록의 움직임 벡터가 단지 스킵 모드 플래그를 비트 스트림에 추가함으로써 근처의 움직임 벡터를 이용하여 도출될 수 있고, 참조 블록의 값이 현재 픽쳐 블록의 재구성된 값으로서 움직임 벡터에 따라 직접 복사된다. 또한, 다이렉트 모드가 사용되는 경우에, 인코더가 인접한 움직임 벡터를 이용하여 현재 픽쳐 블록의 움직임 벡터를 도출하고, 현재 픽쳐 블록의 예측자로서의 움직임 벡터에 따라 참조 블록의 값을 직접 복사하며, 인코더에서 예측자를 이용하여 현재 픽쳐 블록에 대해 예측 코딩을 수행할 수 있다. 고효율 비디오 코딩(high efficiency video coding, HEVC) 표준에서, 비디오 코딩 효율을 추가로 향상시키기 위해 일부 새로운 코딩 툴이 도입되었다. 병합 코딩(병합) 모드 및 고급 움직임 벡터 예측(advanced motion vector prediction, AVMP) 모드는 2가지 중요한 프레임 간 예측 툴이다. 병합 코딩(병합) 중에, 후보 움직임 정보 세트가 현재 코딩 블록의 인접한 코딩된 블록의 움직임 정보(예측 방향, 움직임 벡터, 및 참조 프레임 인덱스를 포함)를 이용하여 구성되고, 비교에 의하여 코딩 효율이 가장 높을 수 있는 후보 움직임 정보가 현재 코딩 블록의 움직임 정보로서 선택될 수 있으며, 현재 코딩 블록의 예측자가 참조 프레임에서 발견되고, 예측 코딩이 현재 코딩 블록에 대해 수행되며, 움직임 정보가 선택되는 인접한 코딩된 블록을 나타내는 인덱스 값이 비트스트림에 기입된다. 고급 움직임 벡터 예측(AVMP) 모드가 사용되는 경우, 인접한 코딩된 블록의 움직임 벡터가 현재 코딩 블록의 움직임 벡터 예측자로서 사용되고, 코딩 효율이 가장 높을 수 있게 하는 움직임 벡터가 현재 코딩 블록의 움직임 벡터를 예측하기 위해 선택될 수 있으며, 선택된 인접한 움직임 벡터를 나타내는 인덱스 값이 비디오 비트스트림에 기입될 수 있다.
이하, 본 발명의 실시형태의 과제 해결수단에 대해 추가적으로 설명한다.
다음, 본 발명의 실시형태에서 제공되는 픽쳐 예측 방법에 대해 설명한다. 본 발명의 실시형태에서 제공되는 픽쳐 예측 방법은 비디오 코딩 장치 또는 비디오 디코딩 장치에 의해 실행된다. 비디오 코딩 장치 또는 비디오 디코딩 장치는 비디오를 출력하거나 저장할 필요가 있는 임의의 장치, 예를 들어 랩탑 컴퓨터, 태블릿 컴퓨터, 개인용 컴퓨터, 휴대폰, 또는 비디오 서버일 수 있다.
본 발명에서의 픽쳐 예측 방법의 실시형태에서, 픽쳐 예측 방법은, 현재 픽쳐 블록 내의 K개의 화소 샘플의 움직임 벡터 예측자(motion vector predictor, MVP)를 결정하는 단계 - K는 1보다 큰 정수이고, K개의 화소 샘플은 현재 픽쳐 블록 내의 제1 꼭지각 화소 샘플을 포함하며, 제1 꼭지각 화소 샘플의 움직임 벡터 예측자는 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 기초하여 획득되고, 공간적으로 인접한 제1 픽쳐 블록은 제1 꼭지각 화소 샘플과 공간적으로 인접함 -; 및 비-병진 움직임 모델 및 K개의 화소 샘플의 움직임 벡터 예측자에 기초하여 현재 픽쳐 블록에 대해 화소 값 예측을 수행하는 단계를 포함한다.
도 1c을 참조하면, 도 1c는 본 발명의 일 실시형태에 따른 픽쳐 예측 방법의 개략적인 흐름도이다. 도 1c의 예에 도시된 바와 같이, 본 발명의 본 실시형태에서 제공되는 픽쳐 예측 방법은 다음의 단계를 포함할 수 있다.
101. 현재 픽쳐 블록 내의 K개의 화소 샘플의 움직임 벡터 예측자를 결정한다.
K는 1보다 큰 정수이고, K개의 화소 샘플은 현재 픽쳐 블록 내의 제1 꼭지각 화소 샘플을 포함하며, 제1 꼭지각 화소 샘플의 움직임 벡터 예측자는 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 기초하여 획득된다. 공간적으로 인접한 제1 픽쳐 블록은 제1 꼭지각 화소 샘플과 공간적으로 인접한다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 제1 꼭지각 화소 샘플의 움직임 벡터 예측자가 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 기초하여 획득된다. 구체적으로, 제1 꼭지각 화소 샘플의 움직임 벡터 예측자는 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터와 동일할 수 있거나(즉, 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터가 제1 꼭지각 화소 샘플의 움직임 벡터 예측자로서 사용되거나); 또는 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 대해 사전 결정된 병진 움직임을 수행하여 획득되는 움직임 벡터 예측자가 제1 꼭지각 화소 샘플의 움직임 벡터 예측자로서 사용될 수 있다.
102. 비-병진 움직임 모델 및 K개의 화소 샘플의 움직임 벡터 예측자에 기초하여 현재 픽쳐 블록에 대해 화소 값 예측을 수행한다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 비-병진 움직임 모델은 아핀 변환 모델(affine transformation model), 또는 포물선 움직임 모델, 또는 회전 움직임 모델, 또는 원근 움직임 모델(perspective motion model), 또는 전단 움직임 모델(shearing motion model), 또는 스케일러블 움직임 모델(scalable motion model) 중 하나이다. 또한, 비-병진 움직임 모델도 전술한 특정 예에 한정되지 않는다고 이해할 수 있을 것이다.
본 실시형태의 과제 해결수단에서, 현재 픽쳐 블록에 대해 화소 값 예측이 수행되는 동안, K개의 화소 샘플의 결정되는 움직임 벡터 예측자가 비-병진 움직임 모델에 기초하여 참조된다는 것을 알 수 있을 것이다. K개의 화소 샘플은 현재 픽쳐 블록 내의 제1 꼭지각 화소 샘플을 포함한다. K개의 화소 샘플의 움직임 벡터 예측자가 예측을 위해 직접 사용되고, K개의 화소 샘플 내의 제1 꼭지각 화소 샘플의 움직임 벡터 예측자가 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 기초하여 획득되며, K개의 화소 샘플의 움직임 벡터 예측자를 위한 단 하나의 선택적인 경우만이 존재한다. 따라서, 종래의 기술에서 사용되는, K개의 화소 샘플의 움직임 벡터 예측자가 K개의 화소 샘플의 다수의 선택적인 움직임 벡터 예측자 세트로부터 대규모 계산에 의하여 선택되는 메커니즘이 포기된다. 이렇게 함으로써, 비트스트림 내의 움직임 정보 예측자의 선택 정보를 전달하는 것을 방지하는 데 도움이 되고, 코딩 효율을 높이는 데 도움이 되며, 또한 비-병진 움직임 모델에 기반하는 픽쳐 예측의 계산 복잡도를 감소시키는 데 도움이 된다.
또한, 공간적으로 인접한 제1 픽쳐 블록은 제1 꼭지각 화소 샘플과 공간적으로 인접하며, 현재 픽쳐 블록과 공간적으로 인접한 제1 픽쳐 블록이 사전 결정된다(즉, 현재 픽쳐 블록과 공간적으로 인접한 제1 픽쳐 블록이 미리 협의되거나 설정된다고 간주될 수 있다). 이렇게 함으로써, K개의 화소 샘플의 움직임 벡터 예측자를 빠르게 결정하는 데 도움이 된다. 또한, 픽쳐 블록 간의 공간적 상관관계를 최대한 이용하여 중복(redundancy)을 제거하므로, 코딩 효율을 향상시키는 데 도움이 된다.
K개의 화소 샘플을 선택하는 다양한 방식이 있을 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, K개의 화소 샘플은 현재 픽쳐 블록 내의 좌측 상부 화소 샘플, 우측 상부 화소 샘플, 좌측 하부 화소 샘플, 또는 우측 하부 화소 샘플 중 적어도 2개의 화소 샘플을 포함한다.
화소 샘플이 화소 블록이면, 화소 블록의 크기는 예를 들어, 2×2, 1×2, 4×2, 4×4이거나, 또는 다른 크기이다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 현재 픽쳐 블록 내의 좌측 상부 화소 샘플은 현재 픽쳐 블록의 좌측 상부 꼭지점에 있거나 또는 현재 픽쳐 블록 내에 있으면서 현재 픽쳐 블록의 좌측 상부 꼭지점을 포함하는 화소 블록이다. 현재 픽쳐 블록 내의 좌측 하부 화소 샘플은 현재 픽쳐 블록의 좌측 하부 꼭지점에 있거나 또는 현재 픽쳐 블록 내에 있으면서 현재 픽쳐 블록의 좌측 하부 꼭지점을 포함하는 화소 블록이다. 현재 픽쳐 블록 내의 우측 상부 화소 샘플은 현재 픽쳐 블록의 우측 상부 꼭지점에 있거나 또는 현재 픽쳐 블록 내에 있으면서 현재 픽쳐 블록의 우측 상부 꼭지점을 포함하는 화소 블록이다. 현재 픽쳐 블록 내의 우측 하부 화소 샘플은 현재 픽쳐 블록의 우측 하부 꼭지점에 있거나 또는 현재 픽쳐 블록 내에 있으면서 현재 픽쳐 블록의 우측 하부 꼭지점을 포함하는 화소 블록이다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, K개의 화소 샘플은 현재 픽쳐 블록 내의 중심 화소 샘플을 더 포함할 수 있다. 현재 픽쳐 블록 내의 중심 화소 샘플은 현재 픽쳐 블록 내의 중심 화소이거나 또는 현재 픽쳐 블록 내에 있으면서 현재 픽쳐 블록 내의 중심 화소를 포함하는 화소 블록일 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 공간적으로 인접한 제1 픽쳐 블록은 픽쳐 블록 X1, 픽쳐 블록 X2, 픽쳐 블록 X3, 또는 픽쳐 블록 X4일 수 있다.
현재 픽쳐 블록 내의 좌측 상부 화소 샘플의 움직임 벡터 예측자는 픽쳐 블록 X1의 움직임 벡터에 기초하여 획득될 수 있고, 픽쳐 블록 X1은 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이며, 픽쳐 블록 X1은 현재 픽쳐 블록 내의 좌측 상부 화소 샘플과 공간적으로 인접한다.
현재 픽쳐 블록 내의 우측 상부 화소 샘플의 움직임 벡터 예측자는 픽쳐 블록 X2의 움직임 벡터에 기초하여 획득될 수 있고, 픽쳐 블록 X2는 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이며, 픽쳐 블록 X2는 현재 픽쳐 블록 내의 우측 상부 화소 샘플과 공간적으로 인접한다.
현재 픽쳐 블록 내의 좌측 하부 화소 샘플의 움직임 벡터 예측자는 픽쳐 블록 X3의 움직임 벡터에 기초하여 획득될 수 있고, 픽쳐 블록 X3은 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이며, 픽쳐 블록 X3은 현재 픽쳐 블록 내의 좌측 하부 화소 샘플과 공간적으로 인접한다.
현재 픽쳐 블록 내의 우측 하부 화소 샘플의 움직임 벡터 예측자는 픽쳐 블록 X4의 움직임 벡터에 기초하여 획득될 수 있고, 픽쳐 블록 X4는 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이고, 픽쳐 블록 X4는 현재 픽쳐 블록 내의 우측 하부 화소 샘플 공간적으로 인접한다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 제1 꼭지각 화소 샘플은 현재 픽쳐 블록 내의 좌측 상부 화소 샘플일 수 있고, 공간적으로 인접한 제1 픽쳐 블록은 픽쳐 블록 X1일 수 있다. 픽쳐 블록 X1은 현재 픽쳐 블록의 좌측 상부에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X1은 현재 픽쳐 블록의 좌측에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X1은 현재 픽쳐 블록의 위에서 공간적으로 인접한 픽쳐 블록이다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 픽쳐 블록 X2는 현재 픽쳐 블록의 위에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X2는 현재 픽쳐 블록의 우측 상부에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X2는 현재 픽쳐 블록의 우측에서 공간적으로 인접한 픽쳐 블록이다. 또한 선택적으로, 픽쳐 블록 X2의 움직임 벡터 절대값과 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값이 픽쳐 블록 X5의 움직임 벡터 절대값과 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값보다 크거나 같고, 픽쳐 블록 X5는 우측 상부 꼭지점과 공간적으로 인접한 현재 픽쳐 블록 중의 픽쳐 블록으로서, 픽쳐 블록 X2를 제외한 공간적으로 인접한 나머지 적어도 일부의 픽쳐 블록 중 하나이다. 즉, 픽쳐 블록 X2의 위치가 특정 정책에 기초하여 결정될 수 있거나, 또는 픽쳐 블록 X2의 위치가 직접 합의될 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 픽쳐 블록 X3은 현재 픽쳐 블록의 좌측에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X3은 현재 픽쳐 블록의 좌측 하부에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X3은 현재 픽쳐 블록의 아래에서 공간적으로 인접한 픽쳐 블록이다. 또한 선택적으로, 픽쳐 블록 X3의 움직임 벡터 절대값과 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값이 픽쳐 블록 X6의 움직임 벡터 절대값과 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값보다 크거나 같고, 픽쳐 블록 X6은 좌측 하부 꼭지점과 공간적으로 인접한 현재 픽쳐 블록 중의 픽쳐 블록으로서, 픽쳐 블록 X3을 제외한 공간적으로 인접한 나머지 적어도 일부의 픽쳐 블록 중 하나이다. 즉, 픽쳐 블록 X3의 위치가 특정 정책에 기초하여 결정될 수 있거나, 또는 픽쳐 블록 X3의 위치가 직접 합의될 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 픽쳐 블록 X4는 현재 픽쳐 블록의 우측에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X4는 현재 픽쳐 블록의 우측 하부에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X4는 현재 픽쳐 블록의 아래에서 공간적으로 인접한 픽쳐 블록이다. 또한 선택적으로, 픽쳐 블록 X4의 움직임 벡터 절대값과 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값이 픽쳐 블록 X7의 움직임 벡터 절대값과 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값보다 크거나 같고, 픽쳐 블록 X7은 좌측 하부 꼭지점과 공간적으로 인접한 현재 픽쳐 블록 중의 픽쳐 블록으로서, 픽쳐 블록 X4를 제외한 공간적으로 인접한 나머지 적어도 일부의 픽쳐 블록 중 하나이다.
도 2를 참조하면, 도 2는 픽쳐 블록 X1, 픽쳐 블록 X2, 픽쳐 블록 X3, 및 픽쳐 블록 X4의 몇몇 가능한 위치의 예를 나타낸다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 비-병진 움직임 모델 및 K개의 화소 샘플의 움직임 벡터 예측자에 기초하여, 현재 픽쳐 블록에 대해 화소 값 예측을 수행하는 단계는 구체적으로, K개의 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임이 참조 프레임 Y1이면, K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K개의 화소 샘플의 움직임 벡터 예측자를 이용하여 K개의 화소 샘플에 대해 움직임 추정을 수행하고, 비-병진 움직임 모델 및 K개의 화소 샘플의 움직임 벡터를 이용하여 현재 픽쳐 블록에 대해 화소 값 예측을 수행하는 단계를 포함할 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 비-병진 움직임 모델 및 K개의 화소 샘플의 움직임 벡터 예측자에 기초하여, 현재 픽쳐 블록에 대해 화소 값 예측을 수행하는 단계는 구체적으로, K개의 화소 샘플 중 K1개의 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임(reference frame)이 참조 프레임 Y1이 아닌 경우, K1개의 화소 샘플의 움직임 벡터 예측자를 참조 프레임 Y1로 스케일 조절하고; K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K2개의 화소 샘플의 움직임 벡터 예측자 및 K개의 화소 샘플의 움직임 벡터 예측자로서, 참조 프레임 Y1로 스케일 조절된 움직임 벡터 예측자를 이용하여 K개의 화소 샘플에 대해 움직임 추정을 수행하며; 비-병진 움직임 모델 및 K개의 화소 샘플의 움직임 벡터를 이용하여 현재 픽쳐 블록에 대해 화소 값 예측을 수행하는 단계를 포함할 수 있다. 여기서, K2개의 화소 샘플은 K개의 화소 샘플 중에서 K1개의 화소 샘플을 제외한 나머지 화소 샘플이고, K1 및 K2는 양의 정수이다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 참조 프레임 Y1은 제1 꼭지각 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임일 수 있거나, 또는 참조 프레임 Y1은 K개의 화소 샘플 내의 다른 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임일 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 화소 샘플 i는 K개의 화소 샘플 중에서 제1 꼭지각 화소 샘플을 제외한 임의의 화소 샘플이고, 화소 샘플 i의 움직임 벡터 예측자에 대응하는 예측 방향이 제1 꼭지각 화소 샘플의 움직임 벡터 예측자에 대응하는 예측 방향과 다르면 화소 샘플 i의 움직임 벡터 예측자에 대응하는 참조 프레임 인덱스가 0이다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 화소 샘플 i의 움직임 벡터 예측자가 참조 프레임 Y1로 스케일 조절된다는 것은, 제1 꼭지각 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임 인덱스와 화소 샘플 i에 대응하는 참조 프레임 인덱스가 서로 다르면 화소 샘플 i의 움직임 벡터 예측자가 참조 프레임 Y1로 스케일 조절된다는 것을 포함할 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K2개의 화소 샘플의 움직임 벡터 예측자 및 K개의 화소 샘플의 움직임 벡터 예측자로서, 참조 프레임 Y1로 스케일 조절된 움직임 벡터 예측자를 이용하여 K개의 화소 샘플에 대해 움직임 추정을 수행하는 것은, K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K2개의 화소 샘플의 움직임 벡터 예측자 및 K개의 화소 샘플의 움직임 벡터 예측자로서, 참조 프레임 Y1로 스케일 조절된 움직임 벡터 예측자를 이용함으로써 반복 검색 알고리즘(또는 다른 타입의 움직임 추정 알고리즘)에 기초하여 K개의 화소 샘플에 대해 움직임 추정을 수행하는 것을 포함할 수 있다.
물론, 몇몇 다른 가능한 적용 시나리오에서, K개의 화소 샘플에 대해 움직임 추정을 수행하는 단계가 생략될 수도 있다. 심지어, 정규화(normalization) 단계도 생략될 수 있다. 즉, K개의 화소 샘플 내의 K1개의 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임이 참조 프레임 Y1이 아닌 경우, K1개의 화소 샘플의 움직임 벡터 예측자가 참조 프레임 Y1로 스케일 조절되는 단계가 생략될 수 있다.
본 실시형태에서 제공되는 전술한 픽쳐 예측 방법 중 하나는 비디오 코딩 프로세스 또는 비디오 디코딩 프로세스에 적용될 수 있다는 것을 이해할 수 있을 것이다.
이하, 본 발명의 실시형태에서의 전술한 해결수단을 더 잘 이해하고 구현하기 위해, 더 구체적인 적용 시나리오를 참조하여 추가적으로 설명한다.
도 3a를 참조하면, 도 3a는 본 발명의 다른 실시형태에 따른 다른 픽쳐 예측 방법의 개략적인 흐름도이다. 도 3a의 예에서 도시된 바와 같이, 본 발명의 다른 실시형태에서 제공되는 다른 픽쳐 예측 방법은 다음의 단계를 포함할 수 있다.
301. 현재 픽쳐 블록 내의 K개의 화소 샘플의 움직임 벡터 예측자를 결정한다.
본 실시형태의 예에서, K=3이다.
본 실시형태에서, K개의 화소 샘플은 현재 픽쳐 블록의 좌측 상부 꼭지점, 우측 상부 꼭지점, 및 좌측 하부 꼭지점을 포함한다.
도 3b의 예에 도시된 바와 같이, 현재 픽쳐 블록의 좌측 상부 꼭지점의 움직임 벡터 예측자는 현재 픽쳐 블록의 좌측 상부에서 인접한 픽쳐 블록 A의 움직임 벡터와 같다. 현재 픽쳐 블록의 우측 상부 꼭지점의 움직임 벡터 예측자는 현재 픽쳐 블록의 위에서 인접한 픽쳐 블록 B의 움직임 벡터와 같거나, 또는 현재 픽쳐 블록의 우측 상부 꼭지점의 움직임 벡터 예측자는 현재 픽쳐 블록의 우측 상부에서 인접한 픽쳐 블록의 움직임 벡터 C와 같을 수 있다. 현재 픽쳐 블록의 좌측 하부 꼭지점의 움직임 벡터 예측자는 현재 픽쳐 블록의 좌측 하부에서 인접한 픽쳐 블록의 움직임 벡터 E와 같을 수 있거나, 또는 현재 픽쳐 블록의 좌측 하부 꼭지점의 움직임 벡터 예측자는 현재 픽쳐 블록의 좌측에서 인접한 픽쳐 블록의 움직임 벡터 D와 같을 수 있다.
예를 들어, 우측 상부 꼭지점 및 현재 픽쳐 블록의 좌측 하부 꼭지점의 움직임 벡터 예측자는 다음의 수식에 기초하여 결정될 수 있다:
전술한 수식 (1)에서, 은 현재 픽쳐 블록의 우측 상부 꼭지점의 MV를 나타내고, 는 픽쳐 블록 B의 MV를 나타내며, 는 픽쳐 블록 C의 MV를 나타낸다. 전술한 수식 (2)에서, 는 현재 픽쳐 블록의 우측 상부 꼭지점의 MVP를 나타내고, 는 픽쳐 블록 D의 MV를 나타내며, 는 픽쳐 블록 E의 MV를 나타낸다.
즉, 우측 상부 꼭지점의 MVP의 경우, 블록 A의 움직임 벡터 절대값과 더 큰 차이를 가진 픽쳐 블록이 공간적으로 인접한 픽쳐 블록 B 및 픽쳐 블록 C로부터 선택된다. 좌측 하부 꼭지점의 MVP의 경우, 블록 A의 움직임 벡터 절대값과 더 큰 차이를 가진 픽쳐 블록이 공간적으로 인접한 픽쳐 블록 D 및 픽쳐 블록 E로부터 선택된다.
302. K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K개의 화소 샘플의 움직임 벡터 예측자를 이용하여 K개의 화소 샘플에 대해 움직임 추정을 수행한다.
K개의 화소 샘플 중 K1개의 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임이 참조 프레임 Y1이 아닌 경우, K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K1개의 화소 샘플의 움직임 벡터 예측자를 이용하여 K개의 화소 샘플에 대해 움직임 추정을 수행하는 것은, K1개의 화소 샘플의 움직임 벡터 예측자를 참조 프레임 Y1로 스케일 조절하고(즉, K1개의 화소 샘플의 움직임 벡터 예측자에 대해 정규화 처리를 수행하고); K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K2개의 화소 샘플의 움직임 벡터 예측자 및 K개의 화소 샘플의 움직임 벡터 예측자로서, 참조 프레임 Y1로 스케일 조절된 움직임 벡터 예측자를 이용하여 K개의 화소 샘플에 대해 움직임 추정을 수행하는 것을 포함한다.
K1개의 화소 샘플의 움직임 벡터 예측자에 대해 정규화 처리가 수행되기 전에, 화소 샘플 i의 참조 프레임 인덱스가 먼저 수정될 수 있다. 화소 샘플 i는 K개의 화소 샘플 중에서 현재 픽쳐 블록의 좌측 상부 꼭지점을 제외한 임의의 화소 샘플(예를 들어, 좌측 하부 꼭지점 또는 우측 상부 꼭지점)이다. 화소 샘플 i의 움직임 벡터 예측자에 대응하는 예측 방향이 좌측 상부 꼭지점의 움직임 벡터 예측자에 대응하는 예측 방향과 다르면(예를 들어, 화소 샘플 i의 움직임 벡터 예측자에 대응하는 예측 방향이 포워드 예측이고, 좌측 상부 꼭지점의 움직임 벡터 예측자에 대응하는 예측 방향이 백워드 예측이거나; 또는 화소 샘플 i의 움직임 벡터 예측자에 대응하는 예측 방향이 백워드 예측이고, 좌측 상부 꼭지점의 움직임 벡터 예측자에 대응하는 예측 방향은 포워드 예측이면), 화소 샘플 i의 움직임 벡터 예측자에 대응하는 참조 프레임 인덱스가 0이다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 움직임 벡터 예측자를 참조 프레임으로 스케일 조절하기 위한 방법은 다음과 같을 수 있다: 현재 코딩 프레임 인덱스가 CurPoc이고, 픽쳐 블록 A의 참조 프레임(즉, 좌측 상부 꼭지점의 MVP에 대응하는 참조 프레임)이 목적지 참조 프레임이라고 추정된다. 목적지 참조 프레임 인덱스가 DesPoc이고, 우측 상부 꼭지점의 MVP 또는 좌측 하부 꼭지점에 대응하는 참조 프레임이 소스 참조 프레임이며, 소스 참조 프레임 인덱스는 SrcPoc이고, 우측 상부 꼭지점 또는 좌측 하부 꼭지점에 대응하는 움직임 벡터 예측자가 MVP이며, 우측 상부 꼭지점 또는 좌측 하부 꼭지점의 움직임 벡터 예측자로서, 스케일 조절 이후에 획득되는 움직임 벡터 예측자가 MVS이다. 도 3c에 도시된 바와 같이, MVS가 다음의 수식을 이용하여 계산에 의해 획득될 수 있다:
특히, K개의 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임이 참조 프레임 Y1이면, K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K1개의 화소 샘플의 움직임 벡터 예측자에 대해 정규화 처리가 수행되지 않고(K1개의 화소 샘플의 움직임 벡터 예측자가 정규화된 상태에 있었으므로), K1개의 화소 샘플의 움직임 벡터 예측자를 이용하여 K개의 화소 샘플에 대해 움직임 추정이 직접 수행될 수 있다.
선택적으로, K개의 화소 샘플의 움직임 벡터를 획득하기 위해 K개의 화소 샘플에 대해 움직임 추정이 수행된다는 것은, K개의 화소 샘플의 움직임 벡터를 획득하기 위해 반복 검색 알고리즘에 기초하여 K개의 화소 샘플에 대해 움직임 추정이 수행된다는 것을 포함할 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, K개의 화소 샘플의 움직임 벡터를 획득하기 위해 반복 검색 알고리즘의 각각의 반복에 기초하여 K개의 화소 샘플에 대해 움직임 추정이 수행된다는 것은, 다음의 단계를 포함할 수 있다.
도 3d에 도시된 바와 같이, 현재 픽쳐 블록 X의 크기가 S1×S2이고, 현재 픽쳐 블록 X 내의 각각의 화소 p의 좌표가 (x, y)라고 추정된다.
및 는 방향 x 및 방향 y에서 현재 픽쳐 블록 X 내의 각각의 화소 p의 도함수(derivative)를 각각 나타낸다. 본 실시형태의 예에서, 미분은 소벨(Sobel) 연산자를 이용하여 계산된다. 다른 연산자(예를 들어, 가우시안 연산)이 사용될 수 있다. 수식 (6)과 수식 (7)의 예는 소벨(Sobel) 연산자의 템플릿을 나타낸다.
현재 화소 p의 좌표가 (x, y)라고 가정하면, 수식 (8) 및 수식 (9)의 예는 및 의 계산 공식을 나타낸다. 여기서, pred[x][y]는 현재 픽쳐 블록 X 내에 있고 좌표가 (x, y)인 화소의 예측된 화소 값을 나타낸다.
현재 픽쳐 블록 X의 가장자리 위에 위치하는 화소의 인접한 화소는 존재하지 않을 수도 있고, 및 는 현재 픽쳐 블록 X의 가장자리 위에 위치하는 화소와 인접한 화소의 대응하는 값으로 대체될 수 있다.
현재 화소 p의 좌표가 (x, y)라고 추정된다.
S4. , , , , , 및 가 각각 현재 픽쳐 블록 X의 3개의 꼭지점의 방향 x 및 방향 y로의 움직임 벡터 변화라고 가정하면, 선형 수식 세트 (11)를 풀어서 계산에 의해 , , , , , 및 을 획득한다.
전술한 단계 S1 내지 S4에 기초하여, 이 반복에서 현재 픽쳐 블록 내의 3개의 화소 샘플 각각의 방향 x로의 움직임 벡터 변화 및 화소 샘플 각각의 방향 y로의 움직임 벡터 변화 가 움직임 추정에 의하여 획득될 수 있다.
현재 픽쳐 블록 내의 K개의 화소 샘플의 움직임 벡터가 움직임 추정에 의하여 획득될 수 있도록, 하나 이상의 반복이 전술한 단계 S1 내지 S4 내의 반복적인 방식에 기초하여 수행된다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, K개의 화소 샘플의 움직임 벡터 차(motion vector difference, MVD)를 얻기 위해 움직임 추정과 대응하는 MVP에 의하여 획득되는 K개의 화소 샘플의 움직임 벡터 간에는 차감이 추가적으로 수행될 수 있고, K개의 화소 샘플의 MVD가 비디오 비트스트림에 기입될 수 있다.
또한, 구문 엘리먼트(syntactic element) affine_no_MVD_flag가 화소 샘플에 대응하는 MVD를 비디오 비트스트림에 기입할지 여부를 나타내기 위해 사용될 수 있다. 예를 들어, 전술한 K개의 화소 샘플에 대응하는 MVD가 모두 0이면, affine_no_MVD_flag가 참(true)으로 설정될 수 있고, 어떠한 MVD도 비디오 비트스트림에 기입되지 않거나; 또는 전술한 K개의 화소 샘플에 대응하는 MVD가 모두 0인 것이 아니라면, affine_no_MVD_flag가 거짓(false)로 설정될 수 있고, K개의 화소 샘플에 대응하는 MVD가 비디오 비트스트림에 기입된다.
303. 아핀 변환 모델 및 K개의 화소 샘플의 움직임 벡터에 기초하여, 현재 픽쳐 블록 내의 각각의 화소의 움직임 벡터를 계산한다.
3개의 꼭지점의 좌표 및 움직임 벡터를 아핀 변환 수식 (12)에 대입함으로써, 현재 픽쳐 블록 내의 각각의 화소의 움직임 벡터를 계산할 수 있다. 아핀 변환의 개략도가 도 3e에 도시되어 있다.
좌표가 (x, y)인 화소의 움직임 벡터가 다음과 같이 계산된다:
또한, 현재 픽쳐 블록 내의 각각의 화소의 움직임 정보가 다른 픽쳐 블록에 대한 움직임 벡터 예측을 위해 사용될 수 있기 때문에, 각각의 4×4 블록에 대해서 하나의 움직임 정보가 저장될 수 있고, 각각의 4×4 블록의 움직임 벡터가 좌측 상부 모서리 또는 4×4 블록 내의 임의의 다른 화소 상에 화소의 움직임 정보로서 저장된다.
본 실시형태에서, 아핀 변환 모델이 설명을 위한 비-병진 움직임 모델의 예로서 주로 사용되고, 다른 비-병진 움직임 모델 및 K개의 화소 샘플의 움직임 벡터에 기초하여 현재 픽쳐 블록 내의 각각의 화소의 움직임 벡터를 계산하기 위한 메커니즘도 유사한 원리를 가지고 있지만, 본 실시형태에서 사용되는 공식과는 다른 공식이 이 메커니즘에서 사용될 수 있다는 것을 유의해야 한다. 본 명세서에서는 예를 하나씩 열거하지 않는다.
304. 현재 픽쳐 블록 내의 각각의 화소의 계산된 움직임 벡터에 기초하여, 현재 픽쳐 블록에 대해 화소 값 예측을 수행한다.
또한, 비디오 코딩 중에, 현재 픽쳐 블록의 잔차(residual)가 현재 픽쳐 블록의 원래의 화소 값 및 화소 값 예측에 의하여 획득되는 현재 픽쳐 블록의 예측된 화소 값을 이용하여 획득될 수 있고, 현재 픽쳐 블록의 잔차가 비디오 비트스트림에 기입될 수 있다.
본 실시형태의 과제 해결수단에서, 현재 픽쳐 블록에 대해 화소 값 예측이 수행되는 동안, K개의 화소 샘플의 결정된 움직임 벡터 예측자가 비-병진 움직임 모델에 기초하여 참조된다는 것을 알 수 있을 것이다. K개의 화소 샘플은 현재 픽쳐 블록 내의 제1 꼭지각 화소 샘플을 포함한다. K개의 화소 샘플의 움직임 벡터 예측자가 예측을 위해 직접 사용되고, K개의 화소 샘플 내의 제1 꼭지각 화소 샘플의 움직임 벡터 예측자가 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 기초하여 획득되며, K개의 화소 샘플의 움직임 벡터 예측자를 위한 단 하나의 선택적인 경우만이 존재한다. 따라서, 종래의 기술에서 사용되는, K개의 화소 샘플의 움직임 벡터 예측자가 K개의 화소 샘플의 다수의 선택적인 움직임 벡터 예측자 세트로부터 대규모 계산에 의하여 선택되는 메커니즘이 포기된다. 이렇게 함으로써, 비트스트림 내의 움직임 정보 예측자의 선택 정보를 전달하는 것을 방지하는 데 도움이 되고, 코딩 효율을 높이는 데 도움이 되며, 또한 비-병진 움직임 모델에 기반하는 픽쳐 예측의 계산 복잡도를 감소시키는 데 도움이 된다.
또한, 현재 픽쳐 블록 내의 K개의 화소 샘플의 MVP의 예측 방향이 정규화되고, 참조 프레임 인덱스가 처리되며, K개의 화소 샘플의 MVP의 움직임 벡터가 참조 프레임 인덱스에 따라 스케일 조절되어 동일한 참조 프레임에 매핑된다. 또한, 현재 픽쳐 블록 내의 각각의 화소의 움직임 벡터가, 아핀 변환 공식을 이용하여 K개의 화소 샘플의 최적의 움직임 벡터에 따라 계산될 수 있다. 전술한 해결수단은, 비디오가 비-병진 특징의 컨텐츠, 예를 들어 렌즈 주밍(lens zooming), 물체 변형(object deformation), 또는 이동 물체 회전(moving object rotation)을 포함하는 경우 현재 비디오 코딩 표준에서 프레임 간 예측 정확도가 낮다는 문제를 해결하는 데 도움이 된다. 또한, 종래 기술에서 제안된 아핀 변환 기술이 다중 방향의 예측 및 복수의 참조 프레임 기반의 예측에 거의 적용되지 않는 불리한 점이 극복되며, 이로 인해 일시적인 중복을 제거하기 위해 비디오 시퀀스 간의 임시 상호 연관관계를 충분히 이용하는 데 도움이 됨으로써, 코딩 효율을 향상시킨다.
도 4a를 참조하면, 도 4a는 본 발명의 다른 실시형태에 따른 또 다른 픽쳐 예측 방법의 개략적인 흐름도이다. 도 4a의 예에 도시된 바와 같이, 본 발명의 다른 실시형태에서 제공되는 또 다른 픽쳐 예측 방법은 다음의 단계를 포함할 수 있다.
401. 현재 픽쳐 블록 내의 K개의 화소 샘플의 움직임 벡터 예측자를 결정한다.
본 실시형태의 예에서, K=3이다.
본 실시형태에서, K개의 화소 샘플은 현재 픽쳐 블록의 좌측 상부 꼭지점, 우측 상부 꼭지점, 및 좌측 하부 꼭지점을 포함한다.
도 4b의 예에 도시된 바와 같이, 현재 픽쳐 블록의 좌측 상부 꼭지점의 움직임 벡터 예측자는 현재 픽쳐 블록의 좌측 상부와 인접한 픽쳐 블록 A의 움직임 벡터와 같다. 현재 픽쳐 블록의 우측 상부 꼭지점의 움직임 벡터 예측자는 현재 픽쳐 블록의 위에서 인접한 픽쳐 블록 B의 움직임 벡터와 같다. 현재 픽쳐 블록의 좌측 하부 꼭지점의 움직임 벡터 예측자는 현재 픽쳐 블록의 좌측에서 인접한 픽쳐 블록의 움직임 벡터 D와 같을 수 있다.
402. K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K개의 화소 샘플의 움직임 벡터 예측자를 이용하여 K개의 화소 샘플에 대해 움직임 추정을 수행한다.
K개의 화소 샘플 중 K1개의 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임이 참조 프레임 Y1이 아닌 경우, K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K1개의 화소 샘플의 움직임 벡터 예측자를 이용하여 K개의 화소 샘플에 대해 움직임 추정을 수행하는 것은, K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K1개의 화소 샘플의 움직임 벡터 예측자를 참조 프레임 Y1로 스케일 조절하고(즉, K1개의 화소 샘플의 움직임 벡터 예측자에 대해 정규화 처리를 수행하고); K2개의 화소 샘플의 움직임 벡터 예측자 및 K개의 화소 샘플의 움직임 벡터 예측자로서, 참조 프레임 Y1로 스케일 조절된 움직임 벡터 예측자를 이용하여 K개의 화소 샘플에 대해 움직임 추정을 수행하는 것을 포함한다.
K1개의 화소 샘플의 움직임 벡터 예측자에 대해 정규화 처리가 수행되기 전에, 화소 샘플 i의 참조 프레임 인덱스가 먼저 수정될 수 있다. 화소 샘플 i는 K개의 화소 샘플 중에서 현재 픽쳐 블록의 좌측 상부 꼭지점을 제외한 임의의 화소 샘플(예를 들어, 좌측 하부 꼭지점 또는 우측 상부 꼭지점)이다. 화소 샘플 i의 움직임 벡터 예측자에 대응하는 예측 방향이 좌측 상부 꼭지점의 움직임 벡터 예측자에 대응하는 예측 방향과 다르면(예를 들어, 화소 샘플 i의 움직임 벡터 예측자에 대응하는 예측 방향이 포워드 예측이고, 좌측 상부 꼭지점의 움직임 벡터 예측자에 대응하는 예측 방향이 백워드 예측이거나; 또는 화소 샘플 i의 움직임 벡터 예측자에 대응하는 예측 방향이 백워드 예측이고, 좌측 상부 꼭지점의 움직임 벡터 예측자에 대응하는 예측 방향이 포워드 예측이면), 화소 샘플 i의 움직임 벡터 예측자에 대응하는 참조 프레임 인덱스가 0이다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 움직임 벡터 예측자를 참조 프레임으로 스케일 조절하기 위한 방법은 다음과 같을 수 있다: 현재 코딩 프레임 인덱스가 CurPoc이고, 픽쳐 블록 A의 참조 프레임(즉, 좌측 상부 꼭지점의 MVP에 대응하는 참조 프레임)이 목적지 참조 프레임이라고 추정된다. 목적지 참조 프레임 인덱스가 DesPoc이고, 우측 상부 꼭지점의 MVP 또는 좌측 하부 꼭지점에 대응하는 참조 프레임가 소스 참조 프레임이며, 소스 참조 프레임 인덱스가 SrcPoc이고, 우측 상부 꼭지점 또는 좌측 하부 꼭지점에 대응하는 움직임 벡터 예측자가 MVP이며, 우측 상부 꼭지점 또는 좌측 하부 꼭지점의 움직임 벡터 예측자로서, 스케일 조절 이후에 획득되는 움직임 벡터 예측자가 MVS이다. MVS는 다음의 수식을 이용하여 계산에 의해 획득될 수 있다:
특히, K개의 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임이 참조 프레임 Y1이면, K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K1개의 화소 샘플의 움직임 벡터 예측자에 대해 정규화 처리가 수행되지 않고(K1개의 화소 샘플의 움직임 벡터 예측자가 정규화된 상태에 있었으므로), K1개의 화소 샘플의 움직임 벡터 예측자를 이용하여 K개의 화소 샘플에 대해 움직임 추정이 직접 수행될 수 있다.
선택적으로, K개의 화소 샘플의 움직임 벡터를 획득하기 위해 K개의 화소 샘플에 대해 움직임 추정이 수행된다는 것은, K개의 화소 샘플의 움직임 벡터를 획득하기 위해, 반복 검색 알고리즘에 기초하여 K개의 화소 샘플에 대해 움직임 추정이 수행된다는 것을 포함할 수 있다. 특정 반복 검색 알고리즘의 경우, 전술한 실시형태에서의 관련 설명을 참조하라. 여기서는 세부사항에 대해 다시 설명하지 않는다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, K개의 화소 샘플의 MVD를 획득하기 위해, 움직임 추정 및 대응하는 MVP에 의하여 획득되는 K개의 화소 샘플의 움직임 벡터 사이에는 차감이 추가적으로 수행될 수 있고, K개의 화소 샘플의 MVD가 비디오 비트스트림에 기입될 수 있다.
또한, 구문 엘리먼트 affine_no_MVD_flag가 화소 샘플에 대응하는 MVD를 비디오 비트스트림에 기입할지 여부를 나타내기 위해 사용될 수 있다. 예를 들어, 전술한 K개의 화소 샘플에 대응하는 MVD가 모두 0이면, affine_no_MVD_flag가 참으로 설정될 수 있고, 어떠한 MVD도 비디오 비트스트림에 기입되지 않거나; 또는 전술한 K개의 화소 샘플에 대응하는 MVD가 모두 0인 것이 아니라면, affine_no_MVD_flag가 거짓으로 설정될 수 있고, K개의 화소 샘플에 대응하는 MVD가 비디오 비트스트림에 기입된다.
403. 아핀 변환 모델 및 K개의 화소 샘플의 움직임 벡터에 기초하여, 현재 픽쳐 블록 내의 각각의 화소의 움직임 벡터를 계산한다.
또한, 현재 픽쳐 블록 내의 각각의 화소의 움직임 정보가 다른 픽쳐 블록에 대한 움직임 벡터 예측을 위해 사용될 수 있기 때문에, 각각의 4×4(또는 8×8) 블록에 대해서 하나의 움직임 정보가 저장될 수 있고, 각각의 4×4(또는 8×8) 블록의 움직임 벡터가 좌측 상부 모서리 또는 4×4 블록 내의 임의의 다른 화소 상에 화소의 움직임 정보로서 저장된다.
움직임 정보는 움직임 벡터, 움직임 벡터에 대응하는 예측 방향, 및 움직임 벡터에 대응하는 참조 프레임 인덱스를 포함할 수 있다.
본 실시형태에서, 아핀 변환 모델이 설명을 위한 비-병진 움직임 모델의 예로서 주로 사용되고, 다른 비-병진 움직임 모델 및 K개의 화소 샘플의 움직임 벡터에 기초하여 현재 픽쳐 블록 내의 각각의 화소의 움직임 벡터를 계산하기 위한 메커니즘도 유사한 원리를 가지고 있지만, 본 실시형태에서 사용되는 공식과는 다른 공식이 이 메커니즘에 사용될 수 있다는 것을 유의해야 한다. 본 명세서에서는 예를 하나씩 열거하지 않는다.
404. 현재 픽쳐 블록 내의 각각의 화소의 계산된 움직임 벡터에 기초하여, 현재 픽쳐 블록에 대해 화소 값 예측을 수행한다.
또한, 비디오 코딩 중에, 현재 픽쳐 블록의 잔차가 현재 픽쳐 블록의 원래의 화소 값 및 화소 값 예측에 의하여 획득되는 현재 픽쳐 블록의 예측된 화소 값을 이용하여 획득될 수 있고, 현재 픽쳐 블록의 잔차가 비디오 비트스트림에 기입될 수 있다.
본 실시형태의 과제 해결수단에서, 현재 픽쳐 블록에 대해 화소 값 예측이 수행되는 동안, K개의 화소 샘플의 결정된 움직임 벡터 예측자가 비-병진 움직임 모델에 기초하여 참조된다는 것을 알 수 있을 것이다. K개의 화소 샘플은 현재 픽쳐 블록 내의 제1 꼭지각 화소 샘플을 포함한다. K개의 화소 샘플의 움직임 벡터 예측자가 예측을 위해 직접 사용되고, K개의 화소 샘플 내의 제1 꼭지각 화소 샘플의 움직임 벡터 예측자가 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 기초하여 획득되며, K개의 화소 샘플의 움직임 벡터 예측자를 위한 단 하나의 선택적인 경우만이 존재한다. 따라서, 종래의 기술에서 사용되는, K개의 화소 샘플의 움직임 벡터 예측자가 K개의 화소 샘플의 다수의 선택적인 움직임 벡터 예측자 세트로부터 대규모 계산에 의하여 선택되는 메커니즘이 포기된다. 이렇게 함으로써, 비트스트림 내의 움직임 정보 예측자의 선택 정보를 전달하는 것을 방지하는 데 도움이 되고, 코딩 효율을 높이는 데 도움이 되며, 또한 비-병진 움직임 모델에 기반하는 픽쳐 예측의 계산 복잡도를 감소시키는 데 도움이 된다.
또한, 현재 픽쳐 블록 내의 K개의 화소 샘플의 MVP의 예측 방향이 정규화되고, 참조 프레임 인덱스가 처리되며, K개의 화소 샘플의 MVP의 움직임 벡터가 참조 프레임 인덱스에 따라 스케일 조절되어 동일한 참조 프레임에 매핑된다. 또한, 현재 픽쳐 블록 내의 각각의 화소의 움직임 벡터가, 아핀 변환 공식을 이용하여 K개의 화소 샘플의 최적의 움직임 벡터에 따라 계산될 수 있다. 전술한 해결수단은, 비디오가 비-병진 특징의 컨텐츠, 예를 들어 렌즈 주밍, 물체 변형, 또는 이동 물체 회전을 포함하는 경우 현재 비디오 코딩 표준에서 프레임 간 예측 정확도가 낮다는 문제를 해결하는 데 도움이 된다. 또한, 종래 기술에서 제안된 아핀 변환 기술이 다중 방향의 예측 및 복수의 참조 프레임 기반의 예측에 거의 적용되지 않는 불리한 점이 극복되며, 이로 인해 일시적인 중복을 제거하기 위해 비디오 시퀀스 간의 임시 상호 연관관계를 충분히 이용하는 데 도움이 됨으로써, 코딩 효율을 향상시킨다.
도 5를 참조하면, 도 5는 본 발명의 다른 실시형태에 따른 또 다른 픽쳐 예측 방법의 개략적인 흐름도이다. 도 5의 예에 도시된 바와 같이, 본 발명의 다른 실시형태에서 제공되는 또 다른 픽쳐 예측 방법은 다음의 단계를 포함할 수 있다.
501. 현재 픽쳐 블록 내의 K개의 화소 샘플의 움직임 벡터 예측자를 결정한다.
본 실시형태의 예에서, K=3이다.
본 실시형태에서, K개의 화소 샘플은 현재 픽쳐 블록의 좌측 상부 꼭지점, 우측 상부 꼭지점, 및 좌측 하부 꼭지점을 포함한다.
단계 501에서 현재 픽쳐 블록 내의 K개의 화소 샘플의 움직임 벡터 예측자를 결정하는 구체적인 방식에 대해서는, 전술한 실시형태의 임의의 방식을 참조하라.
502. 전술한 K개의 화소 샘플의 움직임 벡터 예측자를 전술한 K개의 화소 샘플의 움직임 벡터로서 이용하고, 아핀 변환 모델 및 K개의 화소 샘플의 움직임 벡터에 기초하여 현재 픽쳐 블록 내의 각각의 화소의 움직임 벡터를 계산한다.
또한, 현재 픽쳐 블록 내의 각각의 화소의 움직임 정보가 다른 픽쳐 블록에 대한 움직임 벡터 예측을 위해 사용될 수 있기 때문에, 각각의 4×4(또는 8×8) 블록에 대해서 하나의 움직임 정보가 저장될 수 있고, 각각의 4×4(또는 8×8) 블록의 움직임 벡터가 좌측 상부 모서리 또는 4×4 블록 내의 임의의 다른 화소 상에 화소의 움직임 정보로서 저장된다.
움직임 정보는 움직임 벡터, 움직임 벡터에 대응하는 예측 방향, 및 움직임 벡터에 대응하는 참조 프레임 인덱스를 포함할 수 있다.
본 실시형태에서, 아핀 변환 모델이 설명을 위한 비-병진 움직임 모델의 예로서 주로 사용되고, 다른 비-병진 움직임 모델 및 K개의 화소 샘플의 움직임 벡터에 기초하여 현재 픽쳐 블록 내의 각각의 화소의 움직임 벡터를 계산하기 위한 메커니즘도 유사한 원리를 가지고 있지만, 본 실시형태에서 사용되는 공식과는 다른 공식이 이 메커니즘에 사용될 수 있다는 것을 유의해야 한다. 본 명세서에서는 예를 하나씩 열거하지 않는다.
503. 현재 픽쳐 블록 내의 각각의 화소의 계산된 움직임 벡터에 기초하여, 현재 픽쳐 블록에 대해 화소 값 예측을 수행한다.
또한, 비디오 코딩 중에, 현재 픽쳐 블록의 잔차가 현재 픽쳐 블록의 원래의 화소 값 및 화소 값 예측에 의하여 획득되는 현재 픽쳐 블록의 예측된 화소 값을 이용하여 획득될 수 있고, 현재 픽쳐 블록의 잔차가 비디오 비트스트림에 기입될 수 있다.
본 실시형태의 과제 해결수단에서, 현재 픽쳐 블록에 대해 화소 값 예측이 수행되는 동안, K개의 화소 샘플의 결정된 움직임 벡터 예측자가 비-병진 움직임 모델에 기초하여 참조된다는 것을 알 수 있을 것이다. K개의 화소 샘플은 현재 픽쳐 블록 내의 제1 꼭지각 화소 샘플을 포함한다. K개의 화소 샘플의 움직임 벡터 예측자가 예측을 위해 직접 사용되고, K개의 화소 샘플 내의 제1 꼭지각 화소 샘플의 움직임 벡터 예측자가 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 기초하여 획득되며, K개의 화소 샘플의 움직임 벡터 예측자를 위한 단 하나의 선택적인 경우만이 존재한다. 따라서, 종래의 기술에서 사용되는, K개의 화소 샘플의 움직임 벡터 예측자가 K개의 화소 샘플의 다수의 선택적인 움직임 벡터 예측자 세트로부터 대규모 계산에 의하여 선택되는 메커니즘이 포기된다. 이렇게 함으로써, 비트스트림 내의 움직임 정보 예측자의 선택 정보를 전달하는 것을 방지하는 데 도움이 되고, 코딩 효율을 높이는 데 도움이 되며, 또한 비-병진 움직임 모델에 기반하는 픽쳐 예측의 계산 복잡도를 감소시키는 데 도움이 된다.
또한, 현재 픽쳐 블록 내의 K개의 화소 샘플의 MVP의 예측 방향이 정규화되고, 참조 프레임 인덱스가 처리되며, K개의 화소 샘플의 MVP의 움직임 벡터가 참조 프레임 인덱스에 따라 스케일 조절되어 동일한 참조 프레임에 매핑된다. 전술한 해결수단은, 비디오가 비-병진(예를 들어 렌즈 주밍, 물체 변형, 또는 이동 물체 회전) 특징의 컨텐츠를 포함하는 경우 현재 비디오 코딩 표준에서 프레임 간 예측 정확도가 낮다는 문제를 해결하는 데 도움이 된다. 또한, 종래 기술에서 제안된 아핀 변환 기술이 다중 방향의 예측 및 복수의 참조 프레임 기반의 예측에 거의 적용되지 않는 불리한 점이 극복되며, 이로 인해 일시적인 중복을 제거하기 위해 비디오 시퀀스 간의 임시 상호 연관관계를 충분히 이용하는 데 도움이 됨으로써, 코딩 효율을 향상시킨다.
도 6을 참조하면, 도 6은 본 발명의 다른 실시형태에 따른 또 다른 픽쳐 예측 방법의 개략적인 흐름도이다. 도 6의 예에 도시된 바와 같이, 본 발명의 다른 실시형태에서 제공되는 또 다른 픽쳐 예측 방법은 다음의 단계를 포함할 수 있다.
601. 현재 픽쳐 블록 내의 K개의 화소 샘플의 움직임 벡터 예측자를 결정한다.
본 실시형태의 예에서, K=3이다.
본 실시형태에서, K개의 화소 샘플은 현재 픽쳐 블록의 좌측 상부 꼭지점, 우측 상부 꼭지점, 및 좌측 하부 꼭지점을 포함한다.
단계 601에서 현재 픽쳐 블록 내의 K개의 화소 샘플의 움직임 벡터 예측자를 결정하는 구체적인 방식에 대해서는, 전술한 실시형태의 임의의 방식을 참조하라.
602. K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K개의 화소 샘플의 움직임 벡터 예측자를 이용하여 K개의 화소 샘플에 대해 움직임 추정을 수행한다.
K개의 화소 샘플 중 K1개의 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임이 참조 프레임 Y1이 아닌 경우, K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K1개의 화소 샘플의 움직임 벡터 예측자를 이용하여 K개의 화소 샘플에 대해 움직임 추정을 수행하는 것은, K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K1개의 화소 샘플의 움직임 벡터 예측자를 참조 프레임 Y1로 스케일 조절하고(즉, K1개의 화소 샘플의 움직임 벡터 예측자에 대해 정규화 처리를 수행하고); K2개의 화소 샘플의 움직임 벡터 예측자 및 K개의 화소 샘플의 움직임 벡터 예측자로서, 참조 프레임 Y1로 스케일 조절된 움직임 벡터 예측자를 이용하여 K개의 화소 샘플에 대해 움직임 추정을 수행하는 것을 포함한다.
K1개의 화소 샘플의 움직임 벡터 예측자에 대해 정규화 처리가 수행되기 전에, 화소 샘플 i의 참조 프레임 인덱스가 먼저 수정될 수 있다. 화소 샘플 i는 K개의 화소 샘플 중에서 현재 픽쳐 블록의 좌측 상부 꼭지점을 제외한 임의의 화소 샘플(예를 들어, 좌측 하부 꼭지점 또는 우측 상부 꼭지점)이다. 화소 샘플 i의 움직임 벡터 예측자에 대응하는 예측 방향이 좌측 상부 꼭지점의 움직임 벡터 예측자에 대응하는 예측 방향과 다르면(예를 들어, 화소 샘플 i의 움직임 벡터 예측자에 대응하는 예측 방향이 포워드 예측이고, 좌측 상부 꼭지점의 움직임 벡터 예측자에 대응하는 예측 방향이 백워드 예측이거나; 또는 화소 샘플 i의 움직임 벡터 예측자에 대응하는 예측 방향이 백워드 예측이고, 좌측 상부 꼭지점의 움직임 벡터 예측자에 대응하는 예측 방향은 포워드 예측이면), 화소 샘플 i의 움직임 벡터 예측자에 대응하는 참조 프레임 인덱스가 0이다.
특히, K개의 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임이 참조 프레임 Y1이면, K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K1개의 화소 샘플의 움직임 벡터 예측자에 대해 정규화 처리가 수행되지 않고(K1개의 화소 샘플의 움직임 벡터 예측자가 정규화된 상태에 있었으므로), K1개의 화소 샘플의 움직임 벡터 예측자를 이용하여 K개의 화소 샘플에 대해 움직임 추정이 직접 수행될 수 있다.
선택적으로, K개의 화소 샘플의 움직임 벡터를 획득하기 위해 K개의 화소 샘플에 대해 움직임 추정이 수행된다는 것은, K개의 화소 샘플의 움직임 벡터를 획득하기 위해 반복 검색 알고리즘에 기초하여 K개의 화소 샘플에 대해 움직임 추정이 수행된다는 것을 포함할 수 있다. 특정 반복 검색 알고리즘의 경우, 전술한 실시형태에서의 관련 설명을 참조하라. 여기서는 세부사항에 대해 다시 설명하지 않는다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, K개의 화소 샘플의 MVD를 획득하기 위해, 움직임 추정 및 대응하는 MVP에 의하여 획득되는 K개의 화소 샘플의 움직임 벡터 사이에는 차감이 추가적으로 수행될 수 있고, K개의 화소 샘플의 MVD가 비디오 비트스트림에 기입될 수 있다.
또한, 구문 엘리먼트 affine_no_MVD_flag가 화소 샘플에 대응하는 MVD를 비디오 비트스트림에 기입할지 여부를 나타내기 위해 사용될 수 있다. 예를 들어, 전술한 K개의 화소 샘플에 대응하는 MVD가 모두 0이면, affine_no_MVD_flag가 참으로 설정될 수 있고, 어떠한 MVD도 비디오 비트스트림에 기입되지 않거나; 또는 전술한 K개의 화소 샘플에 대응하는 MVD가 모두 0인 것이 아니라면, affine_no_MVD_flag가 거짓으로 설정될 수 있고, K개의 화소 샘플에 대응하는 MVD가 비디오 비트스트림에 기입된다.
603. 아핀 변환 모델 및 K개의 화소 샘플의 움직임 벡터에 기초하여, 현재 픽쳐 블록 내의 각각의 화소의 움직임 벡터를 계산한다.
또한, 현재 픽쳐 블록 내의 각각의 화소의 움직임 정보가 다른 픽쳐 블록에 대한 움직임 벡터 예측을 위해 사용될 수 있기 때문에, 각각의 4×4(또는 8×8) 블록에 대해서 하나의 움직임 정보가 저장될 수 있고, 각각의 4×4(또는 8×8) 블록의 움직임 벡터가 좌측 상부 모서리 또는 4×블록 내의 임의의 다른 화소 상에 화소의 움직임 정보로서 저장된다.
움직임 정보는 움직임 벡터, 움직임 벡터에 대응하는 예측 방향, 및 움직임 벡터에 대응하는 참조 프레임 인덱스를 포함할 수 있다.
본 실시형태에서, 아핀 변환 모델이 설명을 위한 비-병진 움직임 모델의 예로서 주로 사용되고, 다른 비-병진 움직임 모델 및 K개의 화소 샘플의 움직임 벡터에 기초하여 현재 픽쳐 블록 내의 각각의 화소의 움직임 벡터를 계산하기 위한 메커니즘도 유사한 원리를 가지고 있지만, 본 실시형태에서 사용되는 공식과는 다른 공식이 이 메커니즘에 사용될 수 있다는 것을 유의해야 한다. 본 명세서에서는 예를 하나씩 열거하지 않는다.
604. 현재 예측 단위에 대한, 아핀 변환-기반 프레임 간 예측 모드(단계 601 내지 단계 603)를 이용하는 레이트-왜곡 비용을 계산하고, 레이트-왜곡 비용을 HEVC 프레임 간 예측 모드를 이용하는 계산된 레이트-왜곡 비용과 비교한다.
아핀 변환-기반 프레임 간 예측 모드를 이용하는 레이트-왜곡 비용이 HEVC 프레임 간 예측 모드를 이용하는 레이트-왜곡 비용보다 작으면, 현재 픽쳐 블록의 최적 프레임 간 예측 모드는 아핀 변환 기반의 프레임 간 예측 모드로 설정된다. 구체적으로, 현재 픽쳐 블록의 최적 프레임 간 예측 모드가 아핀 변환-기반 프레임 간 예측 모드라는 것을 나타내기 위해, 구문 엘리먼트 affine_MC_flag가 참으로 설정될 수 있다. 아핀 변환-기반 프레임 간 예측 모드를 이용하는 레이트-왜곡 비용이 HEVC 프레임 간 예측 모드를 이용하는 레이트-왜곡 비용보다 작지 않으면, 현재 픽쳐 블록의 최적 프레임 간 예측 모드가 HEVC 프레임 간 예측 모드라는 것을 나타내기 위해, 구문 엘리먼트 affine_MC_flag가 거짓으로 설정된다.
605. 현재 픽쳐 블록 내의 각각의 화소의 계산된 움직임 벡터에 기초하여, 현재 픽쳐 블록에 대해 화소 값 예측을 수행한다.
예를 들어, 루미넌스 컴포넌트(luminance component)의 경우, 화소의 움직임 벡터가 1/4 화소 정밀도이면, 각각의 화소의 예측된 화소 값이 HEVC 보간 필터를 이용하여 획득될 수 있거나; 또는 화소의 움직임 벡터가 1/4 화소 정밀도보다 크면, 화소로부터 가장 짧은 거리에 있는 4개의 1/4개의 화소의 예측된 화소 값이 HEVC 보간 필터를 이용하여 먼저 획득된 다음, 이선형 보간(bilinear interpolation)이 수행되어 예측된 화소 값을 획득한다. 크로미넌스 컴포넌트(chrominance component)의 경우, 예측된 화소 값이 HEVC 보간 필터를 이용하여 획득된다.
또한, 비디오 코딩 중에, 현재 픽쳐 블록의 잔차가 현재 픽쳐 블록의 원래의 화소 값 및 화소 값 예측에 의하여 획득되는 현재 픽쳐 블록의 예측된 화소 값을 이용하여 획득될 수 있고, 현재 픽쳐 블록의 잔차가 비디오 비트스트림에 기입된다. 구체적으로, 현재 예측 단위의 잔차가 병진운동, 양자화, 및 엔트로피 인코딩을 거친 다음, 비디오 비트스트림에 기입된다.
본 실시형태의 과제 해결수단에서, 현재 픽쳐 블록에 대해 화소 값 예측이 수행되는 동안, K개의 화소 샘플의 결정된 움직임 벡터 예측자가 비-병진 움직임 모델에 기초하여 참조된다는 것을 알 수 있을 것이다. K개의 화소 샘플은 현재 픽쳐 블록 내의 제1 꼭지각 화소 샘플을 포함한다. K개의 화소 샘플의 움직임 벡터 예측자가 예측을 위해 직접 사용되고, K개의 화소 샘플 내의 제1 꼭지각 화소 샘플의 움직임 벡터 예측자가 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 기초하여 획득되며, K개의 화소 샘플의 움직임 벡터 예측자를 위한 단 하나의 선택적인 경우만이 존재한다. 따라서, 종래의 기술에서 사용되는, K개의 화소 샘플의 움직임 벡터 예측자가 K개의 화소 샘플의 다수의 선택적인 움직임 벡터 예측자 세트로부터 대규모 계산에 의하여 선택되는 메커니즘이 포기된다. 이렇게 함으로써, 비트스트림 내의 움직임 정보 예측자의 선택 정보를 전달하는 것을 방지하는 데 도움이 되고, 코딩 효율을 높이는 데 도움이 되며, 또한 비-병진 움직임 모델에 기반하는 픽쳐 예측의 계산 복잡도를 감소시키는 데 도움이 된다.
또한, 현재 픽쳐 블록 내의 K개의 화소 샘플의 MVP의 예측 방향이 정규화되고, 참조 프레임 인덱스가 처리되며, K개의 화소 샘플의 MVP의 움직임 벡터가 참조 프레임 인덱스에 따라 스케일 조절되어 동일한 참조 프레임에 매핑된다. 또한, 현재 픽쳐 블록 내의 각각의 화소의 움직임 벡터가, 아핀 변환 공식을 이용하여 K개의 화소 샘플의 최적의 움직임 벡터에 따라 계산될 수 있다. 전술한 해결수단은, 비디오가 비-병진 특징의 컨텐츠, 예를 들어 렌즈 주밍, 물체 변형, 또는 이동 물체 회전을 포함하는 경우 현재 비디오 코딩 표준에서 프레임 간 예측 정확도가 낮다는 문제를 해결하는 데 도움이 된다. 또한, 종래 기술에서 제안된 아핀 변환 기술이 다중 방향의 예측 및 복수의 참조 프레임 기반의 예측에 거의 적용되지 않는 불리한 점이 극복되며, 이로 인해 일시적인 중복을 제거하기 위해 비디오 시퀀스 간의 임시 상호 연관관계를 충분히 이용하는 데 도움이 됨으로써, 코딩 효율을 향상시킨다.
도 7을 참조하면, 도 7은 본 발명의 일 실시형태에 따른 비디오 디코딩 방법의 개략적인 흐름도이다. 도 7의 예에 도시된 바와 같이, 본 발명의 본 실시형태에서 제공되는 비디오 디코딩 방법은 다음의 단계를 포함할 수 있다.
701. 아핀 변환-기반 프레임 간 예측 모드가 현재 픽쳐 블록에 사용되는지 여부를 판정하기 위해, 디코더가 비디오 비트스트림 내의 구문 엘리먼트 affine_MC_flag를 디코딩한다.
702. 아핀 변환-기반 프레임 간 예측 모드가 현재 픽쳐 블록에 사용되면, 디코더가 현재 픽쳐 블록에 사용되는 프레임 간 예측 방향을 결정하기 위해 비디오 비트스트림 내의 구문 엘리먼트 affine_inter_dir_flag를 디코딩한다.
703. 디코더가 구문 엘리먼트 affine_inter_dir_flag에 따라 현재 픽쳐 블록 내의 K개의 화소 샘플의 MVP를 결정한다.
현재 픽쳐 블록 내의 K개의 화소 샘플은 전술한 실시형태 중 하나에서 설명된 현재 픽쳐 블록 내의 K개의 화소 샘플 일 수 있다.
704. 디코더가 현재 픽쳐 블록에 대응하고 있고 비디오 비트스트림 내에 있는 구문 엘리먼트 affine_no_MVD_flag를 디코딩함으로써 현재 픽쳐 블록 내의 K개의 화소 샘플에 대응하는 MVD가 0인지 여부를 결정한다. affine_no_MVD_flag가 참이면, 현재 픽쳐 블록 내의 K개의 화소 샘플에 대응하는 MVD가 모두 0이고, K개의 화소 샘플의 획득된 MVP의 움직임 벡터가 K개의 화소 샘플의 움직임 벡터로서 이용될 수 있다는 것을 나타낸다. affine_no_MVD_flag가 거짓이면, K개의 화소 샘플에 대응하는 MVD가 모두 0인 것은 아니고, K개의 화소 샘플에 대응하는 MVD가 별도의 디코딩에 의하여 획득되며, 각각의 화소 샘플에 대응하는 MVD 및 대응하는 MVP가 화소 샘플의 움직임 벡터를 획득하기 위해 추가된다는 것을 나타낸다.
705. 디코더가 현재 픽쳐 블록의 잔차 계수를 디코딩하고, 현재 픽쳐 블록 내의 잔차 화소를 획득하기 위해 역양자화 및 역변환을 수행한다.
706. 디코더가 아핀 변환 모델 및 K개의 화소 샘플의 움직임 벡터에 기초하여 현재 픽쳐 블록 내의 각각의 화소의 움직임 벡터를 계산하고, 현재 픽쳐 블록의 예측된 화소 값을 획득하기 위해 현재 픽쳐 블록 내의 각각의 화소의 계산된 움직임 벡터에 기초하여 현재 픽쳐 블록에 대해 화소 값 예측을 수행한다.
아핀 변환 모델이 설명을 위한 비-병진 움직임 모델의 예로서 주로 사용되고, 다른 비-병진 움직임 모델 및 K개의 화소 샘플의 움직임 벡터에 기초하여 현재 픽쳐 블록 내의 각각의 화소의 움직임 벡터를 계산하기 위한 메커니즘도 유사한 원리를 가지고 있지만, 본 실시형태에서 사용되는 공식과는 다른 공식이 이 메커니즘에 사용될 수 있다는 것을 유의해야 한다. 본 명세서에서는 예를 하나씩 열거하지 않는다.
707. 디코더가 현재 픽쳐 블록 내의 잔차 화소 및 현재 픽쳐 블록의 예측된 화소 값에 따라 현재 픽쳐 블록을 재구성한다.
또한, 현재 픽쳐 블록 내의 각각의 화소의 움직임 정보가 다른 픽쳐 블록에 대한 움직임 벡터 예측을 위해 사용될 수 있기 때문에, 각각의 4×4(또는 8×8) 블록에 대해서 하나의 움직임 정보가 저장될 수 있고, 각각의 4×4(또는 8×8) 블록의 움직임 벡터가 좌측 상부 모서리 또는 4×4 블록 내의 임의의 다른 화소 상에 화소의 움직임 정보로서 저장된다.
움직임 정보는 움직임 벡터, 움직임 벡터에 대응하는 예측 방향, 및 움직임 벡터에 대응하는 참조 프레임 인덱스를 포함할 수 있다.
본 실시형태의 과제 해결수단에서, 현재 픽쳐 블록에 대해 화소 값 예측이 수행되는 동안, K개의 화소 샘플의 결정된 움직임 벡터 예측자가 비-병진 움직임 모델에 기초하여 참조된다는 것을 알 수 있을 것이다. K개의 화소 샘플은 현재 픽쳐 블록 내의 제1 꼭지각 화소 샘플을 포함한다. K개의 화소 샘플의 움직임 벡터 예측자가 예측을 위해 직접 사용되고, K개의 화소 샘플 내의 제1 꼭지각 화소 샘플의 움직임 벡터 예측자가 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 기초하여 획득되며, K개의 화소 샘플의 움직임 벡터 예측자를 위한 단 하나의 선택적인 경우만이 존재한다. 따라서, 종래의 기술에서 사용되는, K개의 화소 샘플의 움직임 벡터 예측자가 K개의 화소 샘플의 다수의 선택적인 움직임 벡터 예측자 세트로부터 대규모 계산에 의하여 선택되는 메커니즘이 포기된다. 이렇게 함으로써, 비트스트림 내의 움직임 정보 예측자의 선택 정보를 전달하는 것을 방지하는 데 도움이 되고, 코딩 효율을 높이는 데 도움이 되며, 또한 비-병진 움직임 모델에 기반하는 픽쳐 예측의 계산 복잡도를 감소시키는 데 도움이 된다.
또한, 현재 픽쳐 블록 내의 K개의 화소 샘플의 MVP의 예측 방향이 정규화되고, 참조 프레임 인덱스가 처리되며, K개의 화소 샘플의 MVP의 움직임 벡터가 참조 프레임 인덱스에 따라 스케일 조절되어 동일한 참조 프레임에 매핑된다. 또한, 현재 픽쳐 블록 내의 각각의 화소의 움직임 벡터가, 아핀 변환 공식을 이용하여 K개의 화소 샘플의 최적의 움직임 벡터에 따라 계산될 수 있다. 전술한 해결수단은, 비디오가 비-병진 특징의 컨텐츠, 예를 들어 렌즈 주밍, 물체 변형, 또는 이동 물체 회전을 포함하는 경우 현재 비디오 코딩 표준에서 프레임 간 예측 정확도가 낮다는 문제를 해결하는 데 도움이 된다. 또한, 종래 기술에서 제안된 아핀 변환 기술이 다중 방향의 예측 및 복수의 참조 프레임 기반의 예측에 거의 적용되지 않는 불리한 점이 극복되며, 이로 인해 일시적인 중복을 제거하기 위해 비디오 시퀀스 간의 임시 상호 연관관계를 충분히 이용하는 데 도움이 됨으로써, 코딩 효율을 향상시킨다.
최신 비디오 코딩 표준(HEVC)의 인코더 HM11.0 상에서, 본 실시형태에서 제공되는 일부 해결수단에 대해 에뮬레이션 테스트가 수행된다. 예를 들어, 2가지 구성으로 테스트가 수행되는데, 본 발명의 실시형태의 해결수단의 낮은 지연(LDB)과 랜덤 액세스(RA), 및 성능이 HM11.0 해결수단의 성능과 비교된다. 테스트를 위해 아핀 특징이 비교적 명백한 6개의 테스트 시퀀스가 선택된다. 이 테스트 시퀀스가 표 1에 열거되어 있고, 표 2는 에뮬레이션 결과를 보여준다.
(표 1)
(표 2)
성능 카운터 BD-레이트는 QP가 22, 27, 32, 및 37인 4개의 포인트의 결과를 이용하여 계산에 의해 획득될 수 있고, 3개의 컴포넌트 Y, U, 및 V의 피크 신호 대 잡음비(peak signal to noise ratio, PSNR)가 각각 계산된다.
본 발명의 실시형태의 해결수단의 경우, LDB 구성에서는 평균 BD-레이트(Y) 성능이 4.5% 증가하고, RA 구성에서는 평균 BD-레이트(Y) 성능이 5.0% 증가하며 심지어 17.8% 증가한다는 것을 알 수 있을 것이다. 즉, PSNR 품질이 동일한 경우, HM11.0 방법과 비교하여, 본 실시형태에서의 해결수단은 최대 17.8%의 비트 레이트를 감소시킬 수 있다.
이하, 다른 일부 움직이지 않는 모델(non-motion model)에 대해 설명한다.
아핀 변환 모델은 다음의 모델을 만족하는 움직임 모델이다:
여기서, a, b, c, d, e, 및 f는 상수 파라미터이고, (x, y)는 화소의 원래 좌표이며, (,)는 화소에 대해 아핀 변환이 수행된 후에 획득된 좌표이고, Vx는 x-축 방향의 움직임 벡터이고, 표는 y-축 방향의 움직임 벡터이다.
회전 움직임 모델은 다음과 같이 나타낼 수 있다:
원근 움직임 모델은 다음과 같이 나타낼 수 있다.
전단 움직임 모델은 다음과 같이 나타낼 수 있다.
스케일러블 운동 모델은 다음과 같이 나타낼 수 있다.
2차 움직임 모델은 다음과 같이 나타낼 수 있다.
여기서, u 및 v는 원래의 좌표를 나타내고, x 및 y는 병진운동 후 획득된 좌표이며, 나머지는 상수 파라미터이다.
전술한 예는 다양한 움직임 모델 중 일부 가능한 표현 형태의 예일 뿐이고, 물론 다양한 움직임 모델은 다른 형태를 가질 수 있다고 이해할 수 있을 것이다.
다음에서는 전술한 해결수단을 구현하기 위한 관련 장치를 추가로 제공한다.
도 8을 참조하면, 본 발명의 일 실시형태는 픽쳐 예측 장치(800)를 더 제공하며, 픽쳐 예측 장치(800)는 이하를 포함할 수 있다:
현재 픽쳐 블록 내의 K개의 화소 샘플의 움직임 벡터 예측자를 결정하도록 구성된 결정 유닛(810) - K는 1보다 큰 정수이고, K개의 화소 샘플은 현재 픽쳐 블록 내의 제1 꼭지각 화소 샘플을 포함하며, 제1 꼭지각 화소 샘플의 움직임 벡터 예측자는 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터 예측자에 기초하여 획득되고, 공간적으로 인접한 제1 픽쳐 블록은 제1 꼭지각 화소 샘플과 공간적으로 인접함 -; 및
비-병진 움직임 모델 및 K개의 화소 샘플의 움직임 벡터 예측자에 기초하여 현재 픽쳐 블록에 대해 화소 값 예측을 수행하도록 구성된 예측 유닛(820).
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 제1 꼭지각 화소 샘플의 움직임 벡터 예측자가 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 기초하여 획득된다. 구체적으로, 제1 꼭지각 화소 샘플의 움직임 벡터 예측자가 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터와 같을 수 있거나(즉, 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터가 제1 꼭지각 화소 샘플의 움직임 벡터 예측자로서 사용되거나); 또는 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 대해 사전 결정된 병진 움직임을 수행하여 획득되는 움직임 벡터 예측자가 제1 꼭지각 화소 샘플의 움직임 벡터 예측자로서 사용될 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 비-병진 움직임 모델은 아핀 변환 모델, 또는 포물선 움직임 모델, 또는 회전 움직임 모델, 또는 원근 움직임 모델, 또는 전단 움직임 모델, 또는 스케일러블 움직임 모델 중 하나이다. 또한, 비-병진 움직임 모델도 전술한 특정 예에 제한되지 않는다고 이해할 수 있을 것이다.
K개의 화소 샘플을 선택하는 다양한 방식이 있을 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, K개의 화소 샘플은 현재 픽쳐 블록 내의 좌측 상부 화소 샘플, 우측 상부 화소 샘플, 좌측 하부 화소 샘플, 또는 우측 하부 화소 샘플 중 적어도 2개의 화소 샘플을 포함한다.
화소 샘플이 화소 블록이면, 화소 블록의 크기는 예를 들어, 2×2, 1×2, 4×2, 4×4이거나, 또는 다른 크기이다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 현재 픽쳐 블록 내의 좌측 상부 화소 샘플은 현재 픽쳐 블록의 좌측 상부 꼭지점에 있거나 또는 현재 픽쳐 블록 내에 있으면서 현재 픽쳐 블록의 좌측 상부 꼭지점을 포함하는 화소 블록이다. 현재 픽쳐 블록 내의 좌측 하부 화소 샘플은 현재 픽쳐 블록의 좌측 하부 꼭지점에 있거나 또는 현재 픽쳐 블록 내에 있으면서 현재 픽쳐 블록의 좌측 하부 꼭지점을 포함하는 화소 블록이다. 현재 픽쳐 블록 내의 우측 상부 화소 샘플은 현재 픽쳐 블록의 우측 상부 꼭지점에 있거나 또는 현재 픽쳐 블록 내에 있으면서 현재 픽쳐 블록의 우측 상부 꼭지점을 포함하는 화소 블록이다. 현재 픽쳐 블록 내의 우측 하부 화소 샘플은 현재 픽쳐 블록의 우측 하부 꼭지점에 있거나 또는 현재 픽쳐 블록 내에 있으면서 현재 픽쳐 블록의 우측 하부 꼭지점을 포함하는 화소 블록이다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, K개의 화소 샘플은 현재 픽쳐 블록 내의 중심 화소 샘플을 더 포함할 수 있다. 현재 픽쳐 블록 내의 중심 화소 샘플은 현재 픽쳐 블록 내의 중심 화소이거나 또는 현재 픽쳐 블록 내에 있으면서 현재 픽쳐 블록 내의 중심 화소를 포함하는 화소 블록일 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 공간적으로 인접한 제1 픽쳐 블록은 픽쳐 블록 X1, 픽쳐 블록 X2, 픽쳐 블록 X3, 또는 픽쳐 블록 X4일 수 있다.
현재 픽쳐 블록 내의 좌측 상부 화소 샘플의 움직임 벡터 예측자는 픽쳐 블록 X1의 움직임 벡터에 기초하여 획득될 수 있고, 픽쳐 블록 X1은 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이며, 픽쳐 블록 X1은 현재 픽쳐 블록 내의 좌측 상부 화소 샘플과 공간적으로 인접한다.
현재 픽쳐 블록 내의 우측 상부 화소 샘플의 움직임 벡터 예측자는 픽쳐 블록 X2의 움직임 벡터에 기초하여 획득될 수 있고, 픽쳐 블록 X2는 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이며, 픽쳐 블록 X2는 현재 픽쳐 블록 내의 우측 상부 화소 샘플과 공간적으로 인접한다.
현재 픽쳐 블록 내의 좌측 하부 화소 샘플의 움직임 벡터 예측자는 픽쳐 블록 X3의 움직임 벡터에 기초하여 획득될 수 있고, 픽쳐 블록 X3은 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이며, 픽쳐 블록 X3은 현재 픽쳐 블록 내의 좌측 하부 화소 샘플과 공간적으로 인접한다.
현재 픽쳐 블록 내의 우측 하부 화소 샘플의 움직임 벡터 예측자는 픽쳐 블록 X4의 움직임 벡터에 기초하여 획득될 수 있고, 픽쳐 블록 X4는 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이고, 픽쳐 블록 X4는 현재 픽쳐 블록 내의 우측 하부 화소 샘플 공간적으로 인접한다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 제1 꼭지각 화소 샘플은 현재 픽쳐 블록 내의 좌측 상부 화소 샘플일 수 있고, 공간적으로 인접한 제1 픽쳐 블록은 픽쳐 블록 X1일 수 있다. 픽쳐 블록 X1은 현재 픽쳐 블록의 좌측 상부에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X1은 현재 픽쳐 블록의 좌측에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X1은 현재 픽쳐 블록의 위에서 공간적으로 인접한 픽쳐 블록이다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 픽쳐 블록 X2는 현재 픽쳐 블록의 위에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X2는 현재 픽쳐 블록의 우측 상부에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X2는 현재 픽쳐 블록의 우측에서 공간적으로 인접한 픽쳐 블록이다. 또한 선택적으로, 픽쳐 블록 X2의 움직임 벡터 절대값과 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값이 픽쳐 블록 X5의 움직임 벡터 절대값과 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값보다 크거나 같고, 픽쳐 블록 X5는 우측 상부 꼭지점과 공간적으로 인접한 현재 픽쳐 블록 중의 픽쳐 블록으로서, 픽쳐 블록 X2를 제외한 공간적으로 인접한 나머지 적어도 일부의 픽쳐 블록 중 하나이다. 즉, 픽쳐 블록 X2의 위치가 특정 정책에 기초하여 결정될 수 있거나, 또는 픽쳐 블록 X2의 위치가 직접 합의될 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 픽쳐 블록 X3은 현재 픽쳐 블록의 좌측에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X3은 현재 픽쳐 블록의 좌측 하부에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X3은 현재 픽쳐 블록의 아래에서 공간적으로 인접한 픽쳐 블록이다. 또한 선택적으로, 픽쳐 블록 X3의 움직임 벡터 절대값과 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값이 픽쳐 블록 X6의 움직임 벡터 절대값과 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값보다 크거나 같고, 픽쳐 블록 X6은 좌측 하부 꼭지점과 공간적으로 인접한 현재 픽쳐 블록 중의 픽쳐 블록으로서, 픽쳐 블록 X3을 제외한 공간적으로 인접한 나머지 적어도 일부의 픽쳐 블록 중 하나이다. 즉, 픽쳐 블록 X3의 위치가 특정 정책에 기초하여 결정될 수 있거나, 또는 픽쳐 블록 X3의 위치가 직접 합의될 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 픽쳐 블록 X4는 현재 픽쳐 블록의 우측에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X4는 현재 픽쳐 블록의 우측 하부에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X4는 현재 픽쳐 블록의 아래에서 공간적으로 인접한 픽쳐 블록이다. 또한 선택적으로, 픽쳐 블록 X4의 움직임 벡터 절대값과 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값이 픽쳐 블록 X7의 움직임 벡터 절대값과 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값보다 크거나 같고, 픽쳐 블록 X7은 좌측 하부 꼭지점과 공간적으로 인접한 현재 픽쳐 블록 중의 픽쳐 블록으로서, 픽쳐 블록 X4를 제외한 공간적으로 인접한 나머지 적어도 일부의 픽쳐 블록 중 하나이다.
도 2를 참조하면, 도 2는 픽쳐 블록 X1, 픽쳐 블록 X2, 픽쳐 블록 X3, 및 픽쳐 블록 X4의 몇몇 가능한 위치의 예를 도시하고 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 예측 유닛(820)은, K개의 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임이 참조 프레임 Y1이면, K개의 화소 샘플의 움직임 벡터를 획득하기 위해 K개의 화소 샘플의 움직임 벡터 예측자를 이용하여 K개의 화소 샘플에 대해 움직임 추정을 수행하고; 비-병진 움직임 모델 및 K개의 화소 샘플의 움직임 벡터를 이용하여 현재 픽쳐 블록에 대해 화소 값 예측을 수행하도록 구성될 수 있다.
선택적으로, 예측 유닛(820) 구체적으로, K개의 화소 샘플 중 K1개의 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임이 참조 프레임 Y1이 아닌 경우, K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K1개의 화소 샘플의 움직임 벡터 예측자를 참조 프레임 Y1로 스케일 조절하고, K2개의 화소 샘플의 움직임 벡터 예측자 및 K개의 화소 샘플의 움직임 벡터 예측자로서, 참조 프레임 Y1로 스케일 조절된 움직임 벡터 예측자를 이용하여 K개의 화소 샘플에 대해 움직임 추정을 수행하며, 비-병진 움직임 모델 및 K개의 화소 샘플의 움직임 벡터를 이용하여 현재 픽쳐 블록에 대해 화소 값 예측을 수행하도록 구성될 수 있다. 여기서, K2개의 화소 샘플은 K개의 화소 샘플 중에서 K1개의 화소 샘플을 제외한 나머지 화소 샘플이고, K1 및 K2는 양의 정수이다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 참조 프레임 Y1은 제1 꼭지각 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임일 수 있거나, 또는 참조 프레임 Y1은 K개의 화소 샘플 내의 다른 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임일 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 화소 샘플 i는 K개의 화소 샘플 중에서 제1 꼭지각 화소 샘플을 제외한 임의의 화소 샘플이고, 화소 샘플 i의 움직임 벡터 예측자에 대응하는 예측 방향이 제1 꼭지각 화소 샘플의 움직임 벡터 예측자에 대응하는 예측 방향과 다르면 화소 샘플 i의 움직임 벡터 예측자에 대응하는 참조 프레임 인덱스가 0이다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 제1 꼭지각 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임 인덱스와 화소 샘플 i에 대응하는 참조 프레임 인덱스가 서로 다르면, 예측 유닛(820)은 화소 샘플 i의 움직임 벡터 예측자를 참조 프레임 Y1로 스케일 조절할 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K2개의 화소 샘플의 움직임 벡터 예측자 및 K개의 화소 샘플의 움직임 벡터 예측자로서, 참조 프레임 Y1로 스케일 조절된 움직임 벡터 예측자를 이용하여 K개의 화소 샘플에 대해 움직임 추정을 수행하는 것은, K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K2개의 화소 샘플의 움직임 벡터 예측자 및 K개의 화소 샘플의 움직임 벡터 예측자로서, 참조 프레임 Y1로 스케일 조절된 움직임 벡터 예측자를 이용함으로써 반복 검색 알고리즘(또는 다른 타입의 움직임 추정 알고리즘)에 기초하여 K개의 화소 샘플에 대해 움직임 추정을 수행하는 것을 포함할 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K2개의 화소 샘플의 움직임 벡터 예측자 및 K개의 화소 샘플의 움직임 벡터 예측자로서, 참조 프레임 Y1로 스케일 조절된 움직임 벡터 예측자를 이용하여 K개의 화소 샘플에 대해 움직임 추정을 수행하는 것은, K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K2개의 화소 샘플의 움직임 벡터 예측자 및 K개의 화소 샘플의 움직임 벡터 예측자로서, 참조 프레임 Y1로 스케일 조절된 움직임 벡터 예측자를 이용함으로써 반복 검색 알고리즘에 기초하여 K개의 화소 샘플에 대해 움직임 추정을 수행하는 것을 포함한다.
픽쳐 예측 장치(800)는 비디오 코딩 장치에 적용되거나, 또는 픽쳐 예측 장치(800)는 비디오 디코딩 장치에 적용된다.
본 실시형태에서의 픽쳐 예측 장치(800) 내의 모든 기능적인 모듈의 기능이 전술한 방법 실시형태의 방법에 따라 구체적으로 구현될 수 있다는 것이 이해될 수 있을 것이다. 구체적인 구현 프로세스에 대해서는, 전술한 방법 실시형태에서의 관련된 설명을 참조하고, 여기서는 세부사항에 대해 다시 설명하지 않는다. 픽쳐 예측 장치(800)는 비디오를 출력하고 재생할 필요가 있는 임의의 장치, 예를 들어 랩탑 컴퓨터, 태블릿 컴퓨터, 개인용 컴퓨터, 또는 휴대폰일 수 있다.
본 실시형태의 과제 해결수단에서, 현재 픽쳐 블록에 대해 화소 값 예측이 수행되는 동안, K개의 화소 샘플의 결정된 움직임 벡터 예측자가 비-병진 움직임 모델에 기초하여 참조된다는 것을 알 수 있을 것이다. K개의 화소 샘플은 현재 픽쳐 블록 내의 제1 꼭지각 화소 샘플을 포함한다. K개의 화소 샘플의 움직임 벡터 예측자가 예측을 위해 직접 사용되고, K개의 화소 샘플 내의 제1 꼭지각 화소 샘플의 움직임 벡터 예측자가 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 기초하여 획득되며, K개의 화소 샘플의 움직임 벡터 예측자를 위한 단 하나의 선택적인 경우만이 존재한다. 따라서, 종래의 기술에서 사용되는, K개의 화소 샘플의 움직임 벡터 예측자가 K개의 화소 샘플의 다수의 선택적인 움직임 벡터 예측자 세트로부터 대규모 계산에 의하여 선택되는 메커니즘이 포기된다. 이렇게 함으로써, 비트스트림 내의 움직임 정보 예측자의 선택 정보를 전달하는 것을 방지하는 데 도움이 되고, 코딩 효율을 높이는 데 도움이 되며, 또한 비-병진 움직임 모델에 기반하는 픽쳐 예측의 계산 복잡도를 감소시키는 데 도움이 된다.
또한, 공간적으로 인접한 제1 픽쳐 블록은 제1 꼭지각 화소 샘플과 공간적으로 인접하고, 현재 픽쳐 블록과 공간적으로 인접한 제1 픽쳐 블록이 사전 결정된다(즉, 현재 픽쳐 블록과 공간적으로 인접한 제1 픽쳐 블록이 미리 협의되거나 설정된다고 간주될 수 있다). 이렇게 함으로써, K개의 화소 샘플의 움직임 벡터 예측자를 빠르게 결정하는 데 도움이 된다. 또한, 픽쳐 블록 간의 공간적 상관관계를 최대한 이용하여 중복을 제거하므로, 코딩 효율을 향상시키는 데 도움이 된다.
도 9를 참조하면, 도 9는 본 발명의 일 실시형태에 따른 픽쳐 예측 장치(900)의 개략도이다. 픽쳐 예측 장치(900)는 적어도 하나의 버스(901), 버스(901)에 연결된 적어도 하나의 프로세서(902), 및 버스(901)에 연결된 적어도 하나의 메모리(903)를 포함할 수 있다.
프로세서(902)는 버스(901)를 이용하여 메모리(903)에 저장된 코드를 호출함으로써, 현재 픽쳐 블록 내의 K개의 화소 샘플의 움직임 벡터 예측자를 결정하고 - 여기서, K는 1보다 큰 정수이고, K개의 화소 샘플은 현재 픽쳐 블록 내의 제1 꼭지각 화소 샘플을 포함하며, 제1 꼭지각 화소 샘플의 움직임 벡터 예측자는 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 기초하여 획득되고, 공간적으로 인접한 제1 픽쳐 블록은 제1 꼭지각 화소 샘플과 공간적으로 인접함 -; 비-병진 움직임 모델 및 K개의 화소 샘플의 움직임 벡터 예측자에 기초하여 현재 픽쳐 블록에 대해 화소 값 예측을 수행한다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 제1 꼭지각 화소 샘플의 움직임 벡터 예측자가 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 기초하여 획득된다. 구체적으로, 제1 꼭지각 화소 샘플의 움직임 벡터 예측자가 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터와 같을 수 있거나(즉, 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터가 제1 꼭지각 화소 샘플의 움직임 벡터 예측자로서 사용되거나); 또는 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 대해 사전 결정된 병진 움직임을 수행하여 획득되는 움직임 벡터 예측자가 제1 꼭지각 화소 샘플의 움직임 벡터 예측자로서 사용될 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 비-병진 움직임 모델은 아핀 변환 모델, 또는 포물선 움직임 모델, 또는 회전 움직임 모델, 또는 원근 움직임 모델, 또는 전단 움직임 모델, 또는 스케일러블 움직임 모델 중 하나이다. 또한 비-병진 움직임 모델도 전술한 특정 예에 제한되지 않는다고 이해할 수 있을 것이다.
K개의 화소 샘플을 선택하는 다양한 방식이 있을 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, K개의 화소 샘플은 현재 픽쳐 블록 내의 좌측 상부 화소 샘플, 우측 상부 화소 샘플, 좌측 하부 화소 샘플, 또는 우측 하부 화소 샘플 중 적어도 2개의 화소 샘플을 포함한다.
화소 샘플이 화소 블록이면, 화소 블록의 크기는 예를 들어, 2×2, 1×2, 4×2, 4×4이거나, 또는 다른 크기이다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 현재 픽쳐 블록 내의 좌측 상부 화소 샘플은 현재 픽쳐 블록의 좌측 상부 꼭지점에 있거나 또는 현재 픽쳐 블록 내에 있으면서 현재 픽쳐 블록의 좌측 상부 꼭지점을 포함하는 화소 블록이다. 현재 픽쳐 블록 내의 좌측 하부 화소 샘플은 현재 픽쳐 블록의 좌측 하부 꼭지점에 있거나 또는 현재 픽쳐 블록 내에 있으면서 현재 픽쳐 블록의 좌측 하부 꼭지점을 포함하는 화소 블록이다. 현재 픽쳐 블록 내의 우측 상부 화소 샘플은 현재 픽쳐 블록의 우측 상부 꼭지점에 있거나 또는 현재 픽쳐 블록 내에 있으면서 현재 픽쳐 블록의 우측 상부 꼭지점을 포함하는 화소 블록이다. 현재 픽쳐 블록 내의 우측 하부 화소 샘플은 현재 픽쳐 블록의 우측 하부 꼭지점에 있거나 또는 현재 픽쳐 블록 내에 있으면서 현재 픽쳐 블록의 우측 하부 꼭지점을 포함하는 화소 블록이다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, K개의 화소 샘플은 현재 픽쳐 블록 내의 중심 화소 샘플을 더 포함할 수 있다. 현재 픽쳐 블록 내의 중심 화소 샘플은 현재 픽쳐 블록 내의 중심 화소이거나 또는 현재 픽쳐 블록 내에 있으면서 현재 픽쳐 블록 내의 중심 화소를 포함하는 화소 블록일 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 공간적으로 인접한 제1 픽쳐 블록은 픽쳐 블록 X1, 픽쳐 블록 X2, 픽쳐 블록 X3, 또는 픽쳐 블록 X4일 수 있다.
현재 픽쳐 블록 내의 좌측 상부 화소 샘플의 움직임 벡터 예측자는 픽쳐 블록 X1의 움직임 벡터에 기초하여 획득될 수 있고, 픽쳐 블록 X1은 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이며, 픽쳐 블록 X1은 현재 픽쳐 블록 내의 좌측 상부 화소 샘플과 공간적으로 인접한다.
현재 픽쳐 블록 내의 우측 상부 화소 샘플의 움직임 벡터 예측자는 픽쳐 블록 X2의 움직임 벡터에 기초하여 획득될 수 있고, 픽쳐 블록 X2는 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이며, 픽쳐 블록 X2는 현재 픽쳐 블록 내의 우측 상부 화소 샘플과 공간적으로 인접한다.
현재 픽쳐 블록 내의 좌측 하부 화소 샘플의 움직임 벡터 예측자는 픽쳐 블록 X3의 움직임 벡터에 기초하여 획득될 수 있고, 픽쳐 블록 X3은 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이며, 픽쳐 블록 X3은 현재 픽쳐 블록 내의 좌측 하부 화소 샘플과 공간적으로 인접한다.
현재 픽쳐 블록 내의 우측 하부 화소 샘플의 움직임 벡터 예측자는 픽쳐 블록 X4의 움직임 벡터에 기초하여 획득될 수 있고, 픽쳐 블록 X4는 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이고, 픽쳐 블록 X4는 현재 픽쳐 블록 내의 우측 하부 화소 샘플 공간적으로 인접한다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 제1 꼭지각 화소 샘플은 현재 픽쳐 블록 내의 좌측 상부 화소 샘플일 수 있고, 공간적으로 인접한 제1 픽쳐 블록은 픽쳐 블록 X1일 수 있다. 픽쳐 블록 X1은 현재 픽쳐 블록의 좌측 상부에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X1은 현재 픽쳐 블록의 좌측에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X1은 현재 픽쳐 블록의 위에서 공간적으로 인접한 픽쳐 블록이다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 픽쳐 블록 X2는 현재 픽쳐 블록의 위에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X2는 현재 픽쳐 블록의 우측 상부에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X2는 현재 픽쳐 블록의 우측에서 공간적으로 인접한 픽쳐 블록이다. 또한 선택적으로, 픽쳐 블록 X2의 움직임 벡터 절대값과 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값이 픽쳐 블록 X5의 움직임 벡터 절대값과 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값보다 크거나 같고, 픽쳐 블록 X5는 우측 상부 꼭지점과 공간적으로 인접한 현재 픽쳐 블록 중의 픽쳐 블록으로서, 픽쳐 블록 X2를 제외한 공간적으로 인접한 나머지 적어도 일부의 픽쳐 블록 중 하나이다. 즉, 픽쳐 블록 X2의 위치가 특정 정책에 기초하여 결정될 수 있거나, 또는 픽쳐 블록 X2의 위치가 직접 합의될 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 픽쳐 블록 X3은 현재 픽쳐 블록의 좌측에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X3은 현재 픽쳐 블록의 좌측 하부에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X3은 현재 픽쳐 블록의 아래에서 공간적으로 인접한 픽쳐 블록이다. 또한 선택적으로, 픽쳐 블록 X3의 움직임 벡터 절대값과 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값이 픽쳐 블록 X6의 움직임 벡터 절대값과 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값보다 크거나 같고, 픽쳐 블록 X6은 좌측 하부 꼭지점과 공간적으로 인접한 현재 픽쳐 블록 중의 픽쳐 블록으로서, 픽쳐 블록 X3을 제외한 공간적으로 인접한 나머지 적어도 일부의 픽쳐 블록 중 하나이다. 즉, 픽쳐 블록 X3의 위치는 특정 정책에 기초하여 결정될 수 있거나, 또는 픽쳐 블록 X3의 위치는 직접 합의될 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 픽쳐 블록 X4는 현재 픽쳐 블록의 우측에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X4는 현재 픽쳐 블록의 우측 하부에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X4는 현재 픽쳐 블록의 아래에서 공간적으로 인접한 픽쳐 블록이다. 또한 선택적으로, 픽쳐 블록 X4의 움직임 벡터 절대값과 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값이 픽쳐 블록 X7의 움직임 벡터 절대값과 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값보다 크거나 같고, 픽쳐 블록 X7은 좌측 하부 꼭지점과 공간적으로 인접한 현재 픽쳐 블록 중의 픽쳐 블록으로서, 픽쳐 블록 X4를 제외한 공간적으로 인접한 나머지 적어도 일부의 픽쳐 블록 중 하나이다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 프로세서(902)는, K개의 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임이 참조 프레임 Y1이면, K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K개의 화소 샘플의 움직임 벡터 예측자를 이용하여 K개의 화소 샘플에 대해 움직임 추정을 수행하고; 비-병진 움직임 모델 및 K개의 화소 샘플의 움직임 벡터를 이용하여 현재 픽쳐 블록에 대해 화소 값 예측을 수행하도록 구성될 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 프로세서(902)는, K개의 화소 샘플 중 K1개의 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임이 참조 프레임 Y1이 아닌 경우, K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K1개의 화소 샘플의 움직임 벡터 예측자를 참조 프레임 Y1로 스케일 조절하고, K2개의 화소 샘플의 움직임 벡터 예측자 및 K개의 화소 샘플의 움직임 벡터 예측자로서, 참조 프레임 Y1로 스케일 조절된 움직임 벡터 예측자를 이용함으로써 K개의 화소 샘플에 대해 움직임 추정을 수행하며, 비-병진 움직임 모델 및 K개의 화소 샘플의 움직임 벡터를 이용하여 현재 픽쳐 블록에 대해 화소 값 예측을 수행하도록 구성될 수 있다. 여기서, K2개의 화소 샘플은 K개의 화소 샘플 중에서 K1개의 화소 샘플을 제외한 나머지 화소 샘플이고, K1 및 K2는 양의 정수이다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 참조 프레임 Y1은 제1 꼭지각 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임일 수 있거나, 또는 참조 프레임 Y1은 K개의 화소 샘플 내의 다른 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임일 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 화소 샘플 i는 K개의 화소 샘플 중에서 제1 꼭지각 화소 샘플을 제외한 임의의 화소 샘플이고, 화소 샘플 i의 움직임 벡터 예측자에 대응하는 예측 방향이 제1 꼭지각 화소 샘플의 움직임 벡터 예측자에 대응하는 예측 방향과 다르면 화소 샘플 i의 움직임 벡터 예측자에 대응하는 참조 프레임 인덱스가 0이다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 제1 꼭지각 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임 인덱스와 화소 샘플 i에 대응하는 참조 프레임 인덱스가 서로 다르면, 프로세서(902)는 화소 샘플 i의 움직임 벡터 예측자를 참조 프레임 Y1로 스케일 조절하도록 구성될 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 프로세서(902)는, K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K2개의 화소 샘플의 움직임 벡터 예측자 및 K개의 화소 샘플의 움직임 벡터 예측자로서, 참조 프레임 Y1로 스케일 조절된 움직임 벡터 예측자를 이용함으로써 반복 검색 알고리즘(또는 다른 타입의 움직임 추정 알고리즘)에 기초하여 K개의 화소 샘플에 대해 움직임 추정을 수행하도록 구성될 수 있다.
본 실시형태에서의 픽쳐 예측 장치(900) 내의 모든 기능적인 모듈의 기능이 전술한 방법 실시형태의 방법에 따라 구체적으로 구현될 수 있다는 것이 이해될 수 있을 것이다. 구체적인 구현 프로세스에 대해서는, 전술한 방법 실시형태에서의 관련된 설명을 참조하고, 여기서는 세부사항에 대해 다시 설명하지 않는다. 픽쳐 예측 장치(900)는 비디오를 출력하고 재생할 필요가 있는 임의의 장치, 예를 들어 랩탑 컴퓨터, 태블릿 컴퓨터, 개인용 컴퓨터, 또는 휴대폰일 수 있다.
본 실시형태의 과제 해결수단에서, 현재 픽쳐 블록에 대해 화소 값 예측이 수행되는 동안, K개의 화소 샘플의 결정된 움직임 벡터 예측자가 비-병진 움직임 모델에 기초하여 참조된다는 것을 알 수 있을 것이다. K개의 화소 샘플은 현재 픽쳐 블록 내의 제1 꼭지각 화소 샘플을 포함한다. K개의 화소 샘플의 움직임 벡터 예측자가 예측을 위해 직접 사용되고, K개의 화소 샘플 내의 제1 꼭지각 화소 샘플의 움직임 벡터 예측자가 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 기초하여 획득되며, K개의 화소 샘플의 움직임 벡터 예측자를 위한 단 하나의 선택적인 경우만이 존재한다. 따라서, 종래의 기술에서 사용되는, K개의 화소 샘플의 움직임 벡터 예측자가 K개의 화소 샘플의 다수의 선택적인 움직임 벡터 예측자 세트로부터 대규모 계산에 의하여 선택되는 메커니즘이 포기된다. 이렇게 함으로써, 비트스트림 내의 움직임 정보 예측자의 선택 정보를 전달하는 것을 방지하는 데 도움이 되고, 코딩 효율을 높이는 데 도움이 되며, 또한 비-병진 움직임 모델에 기반하는 픽쳐 예측의 계산 복잡도를 감소시키는 데 도움이 된다.
또한, 공간적으로 인접한 제1 픽쳐 블록은 제1 꼭지각 화소 샘플과 공간적으로 인접하고, 현재 픽쳐 블록과 공간적으로 인접한 제1 픽쳐 블록이 사전 결정된다(즉, 현재 픽쳐 블록과 공간적으로 인접한 제1 픽쳐 블록이 미리 협의되거나 설정된다고 간주될 수 있다). 이렇게 함으로써, K개의 화소 샘플의 움직임 벡터 예측자를 빠르게 결정하는 데 도움이 된다. 또한, 픽쳐 블록 간의 공간적 상관관계를 최대한 이용하여 중복을 제거하므로, 코딩 효율을 향상시키는 데 도움이 된다.
도 10을 참조하면, 도 10은 본 발명의 다른 실시형태에 따른 픽쳐 예측 장치(1000)의 구조적인 블록도이다. 픽쳐 예측 장치(1000)는 적어도 하나의 프로세서(1001), 적어도 하나의 네트워크 인터페이스(1004)나 다른 사용자 인터페이스(1003), 메모리(1005), 및 적어도 하나의 통신 버스(1002)를 포함할 수 있다. 통신 버스(1002)는 이러한 컴포넌트 간의 연결 및 통신을 구현하도록 구성된다. 픽쳐 예측 장치(1000)는 디스플레이(예를 들어, 터치 스크린, LCD, 홀로그래픽 이미징(Holographic), CRT, 또는 영사(Projector)), 클릭 장치(예를 들어, 마우스, 트랙볼(trackball), 터치패드, 또는 터치 스크린), 및 카메라 및/또는 픽업 장치 등을 포함하는 사용자 인터페이스(1003)를 선택적으로 포함할 수 있다.
메모리(1005)는 읽기 전용 메모리 및 랜덤 액세스 메모리를 포함할 수 있고, 프로세서(1001)를 위한 명령 및 데이터를 제공한다. 메모리(1005) 중 일부는 비휘발성 램(NVRAM)를 더 포함할 수 있다.
일부 구현 방식에서, 메모리(1005)는 실행 가능한 모듈이나 데이터 구조, 또는 그 서브세트, 또는 그 확장 세트인 다음의 엘리먼트를 저장한다:
다양한 시스템 프로그램을 포함하고, 다양한 기본 서비스 및 프로세스 하드웨어 기반 작업을 구현하기 위해 사용되는 운영 체제(10051); 및
다양한 응용 프로그램을 포함하고, 다양한 응용 서비스를 구현하기 위해 사용되는 응용 프로그램 모듈(10052).
본 발명의 본 실시형태에서, 메모리(1005)에 저장된 프로그램 또는 명령을 호출함으로써, 프로세서(1001)는, 현재 픽쳐 블록 내의 K개의 화소 샘플의 움직임 벡터 예측자를 결정하고 - 여기서, K는 1보다 큰 정수이고, K개의 화소 샘플은 현재 픽쳐 블록 내의 제1 꼭지각 화소 샘플을 포함하며, 제1 꼭지각 화소 샘플의 움직임 벡터 예측자는 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 기초하여 획득되고, 공간적으로 인접한 제1 픽쳐 블록은 제1 꼭지각 화소 샘플과 공간적으로 인접함 -; 비-병진 움직임 모델 및 K개의 화소 샘플의 움직임 벡터 예측자에 기초하여 현재 픽쳐 블록에 대해 화소 값 예측을 수행하도록 구성된다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 제1 꼭지각 화소 샘플의 움직임 벡터 예측자가 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 기초하여 획득된다. 구체적으로, 제1 꼭지각 화소 샘플의 움직임 벡터 예측자가 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터와 같을 수 있거나(즉, 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터가 제1 꼭지각 화소 샘플의 움직임 벡터 예측자로서 사용되거나); 또는 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 대해 사전 결정된 병진 움직임을 수행하여 획득되는 움직임 벡터 예측자가 제1 꼭지각 화소 샘플의 움직임 벡터 예측자로서 사용될 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 비-병진 움직임 모델은 아핀 변환 모델, 또는 포물선 움직임 모델, 또는 회전 움직임 모델, 또는 원근 움직임 모델, 또는 전단 움직임 모델, 또는 스케일러블 움직임 모델 중 하나이다. 비-병진 움직임 모델도 전술한 특정 예에 제한되지 않는다고 이해할 수 있을 것이다.
K개의 화소 샘플을 선택하는 다양한 방식이 있을 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, K개의 화소 샘플은 현재 픽쳐 블록 내의 좌측 상부 화소 샘플, 우측 상부 화소 샘플, 좌측 하부 화소 샘플, 또는 우측 하부 화소 샘플 중 적어도 2개의 화소 샘플을 포함한다.
화소 샘플이 화소 블록이면, 화소 블록의 크기는 예를 들어, 2×2, 1×2, 4×2, 4×4이거나, 또는 다른 크기이다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 현재 픽쳐 블록 내의 좌측 상부 화소 샘플은 현재 픽쳐 블록의 좌측 상부 꼭지점에 있거나 또는 현재 픽쳐 블록 내에 있으면서 현재 픽쳐 블록의 좌측 상부 꼭지점을 포함하는 화소 블록이다. 현재 픽쳐 블록 내의 좌측 하부 화소 샘플은 현재 픽쳐 블록의 좌측 하부 꼭지점에 있거나 또는 현재 픽쳐 블록 내에 있으면서 현재 픽쳐 블록의 좌측 하부 꼭지점을 포함하는 화소 블록이다. 현재 픽쳐 블록 내의 우측 상부 화소 샘플은 현재 픽쳐 블록의 우측 상부 꼭지점에 있거나 또는 현재 픽쳐 블록 내에 있으면서 현재 픽쳐 블록의 우측 상부 꼭지점을 포함하는 화소 블록이다. 현재 픽쳐 블록 내의 우측 하부 화소 샘플은 현재 픽쳐 블록의 우측 하부 꼭지점에 있거나 또는 현재 픽쳐 블록 내에 있으면서 현재 픽쳐 블록의 우측 하부 꼭지점을 포함하는 화소 블록이다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, K개의 화소 샘플은 현재 픽쳐 블록 내의 중심 화소 샘플을 더 포함할 수 있다. 현재 픽쳐 블록 내의 중심 화소 샘플은 현재 픽쳐 블록 내의 중심 화소이거나 또는 현재 픽쳐 블록 내에 있으면서 현재 픽쳐 블록 내의 중심 화소를 포함하는 화소 블록일 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 공간적으로 인접한 제1 픽쳐 블록은 픽쳐 블록 X1, 픽쳐 블록 X2, 픽쳐 블록 X3, 또는 픽쳐 블록 X4일 수 있다.
현재 픽쳐 블록 내의 좌측 상부 화소 샘플의 움직임 벡터 예측자는 픽쳐 블록 X1의 움직임 벡터에 기초하여 획득될 수 있고, 픽쳐 블록 X1은 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이며, 픽쳐 블록 X1은 현재 픽쳐 블록 내의 좌측 상부 화소 샘플과 공간적으로 인접한다.
현재 픽쳐 블록 내의 우측 상부 화소 샘플의 움직임 벡터 예측자는 픽쳐 블록 X2의 움직임 벡터에 기초하여 획득될 수 있고, 픽쳐 블록 X2는 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이며, 픽쳐 블록 X2는 현재 픽쳐 블록 내의 우측 상부 화소 샘플과 공간적으로 인접한다.
현재 픽쳐 블록 내의 좌측 하부 화소 샘플의 움직임 벡터 예측자는 픽쳐 블록 X3의 움직임 벡터에 기초하여 획득될 수 있고, 픽쳐 블록 X3은 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이며, 픽쳐 블록 X3은 현재 픽쳐 블록 내의 좌측 하부 화소 샘플과 공간적으로 인접한다.
현재 픽쳐 블록 내의 우측 하부 화소 샘플의 움직임 벡터 예측자는 픽쳐 블록 X4의 움직임 벡터에 기초하여 획득될 수 있고, 픽쳐 블록 X4는 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이고, 픽쳐 블록 X4는 현재 픽쳐 블록 내의 우측 하부 화소 샘플 공간적으로 인접한다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 제1 꼭지각 화소 샘플은 현재 픽쳐 블록 내의 좌측 상부 화소 샘플일 수 있고, 공간적으로 인접한 제1 픽쳐 블록은 픽쳐 블록 X1일 수 있다. 픽쳐 블록 X1은 현재 픽쳐 블록의 좌측 상부에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X1은 현재 픽쳐 블록의 좌측에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X1은 현재 픽쳐 블록의 위에서 공간적으로 인접한 픽쳐 블록이다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 픽쳐 블록 X2는 현재 픽쳐 블록의 위에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X2는 현재 픽쳐 블록의 우측 상부에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X2는 현재 픽쳐 블록의 우측에서 공간적으로 인접한 픽쳐 블록이다. 또한 선택적으로, 픽쳐 블록 X2의 움직임 벡터 절대값과 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값이 픽쳐 블록 X5의 움직임 벡터 절대값과 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값보다 크거나 같고, 픽쳐 블록 X5는 우측 상부 꼭지점과 공간적으로 인접한 현재 픽쳐 블록 중의 픽쳐 블록으로서, 픽쳐 블록 X2를 제외한 공간적으로 인접한 나머지 적어도 일부의 픽쳐 블록 중 하나이다. 즉, 픽쳐 블록 X2의 위치가 특정 정책에 기초하여 결정될 수 있거나, 또는 픽쳐 블록 X2의 위치가 직접 합의될 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 픽쳐 블록 X3은 현재 픽쳐 블록의 좌측에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X3은 현재 픽쳐 블록의 좌측 하부에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X3은 현재 픽쳐 블록의 아래에서 공간적으로 인접한 픽쳐 블록이다. 또한 선택적으로, 픽쳐 블록 X3의 움직임 벡터 절대값과 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값이 픽쳐 블록 X6의 움직임 벡터 절대값과 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값보다 크거나 같고, 픽쳐 블록 X6은 좌측 하부 꼭지점과 공간적으로 인접한 현재 픽쳐 블록 중의 픽쳐 블록으로서, 픽쳐 블록 X3을 제외한 공간적으로 인접한 나머지 적어도 일부의 픽쳐 블록 중 하나이다. 즉, 픽쳐 블록 X3의 위치는 특정 정책에 기초하여 결정될 수 있거나, 또는 픽쳐 블록 X3의 위치는 직접 합의될 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 픽쳐 블록 X4는 현재 픽쳐 블록의 우측에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X4는 현재 픽쳐 블록의 우측 하부에서 공간적으로 인접한 픽쳐 블록이거나, 또는 픽쳐 블록 X4는 현재 픽쳐 블록의 아래에서 공간적으로 인접한 픽쳐 블록이다. 또한 선택적으로, 픽쳐 블록 X4의 움직임 벡터 절대값과 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값이 픽쳐 블록 X7의 움직임 벡터 절대값과 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값보다 크거나 같고, 픽쳐 블록 X7은 좌측 하부 꼭지점과 공간적으로 인접한 현재 픽쳐 블록 중의 픽쳐 블록으로서, 픽쳐 블록 X4를 제외한 공간적으로 인접한 나머지 적어도 일부의 픽쳐 블록 중 하나이다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 프로세서(1001)는, K개의 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임이 참조 프레임 Y1이면, K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K개의 화소 샘플의 움직임 벡터 예측자를 이용하여 K개의 화소 샘플에 대해 움직임 추정을 수행하고; 비-병진 움직임 모델 및 K개의 화소 샘플의 움직임 벡터를 이용하여 현재 픽쳐 블록에 대해 화소 값 예측을 수행하도록 구성될 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 프로세서(1001)는, K개의 화소 샘플 중 K1개의 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임이 참조 프레임 Y1이 아닌 경우, K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K1개의 화소 샘플의 움직임 벡터 예측자를 참조 프레임 Y1로 스케일 조절하고, K2개의 화소 샘플의 움직임 벡터 예측자 및 K개의 화소 샘플의 움직임 벡터 예측자로서, 참조 프레임 Y1로 스케일 조절된 움직임 벡터 예측자를 이용함으로써 K개의 화소 샘플에 대해 움직임 추정을 수행하며, 비-병진 움직임 모델 및 K개의 화소 샘플의 움직임 벡터를 이용하여 현재 픽쳐 블록에 대해 화소 값 예측을 수행하도록 구성될 수 있다. 여기서, K2개의 화소 샘플은 K개의 화소 샘플 중에서 K1개의 화소 샘플을 제외한 나머지 화소 샘플이고, K1 및 K2는 양의 정수이다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 참조 프레임 Y1은 제1 꼭지각 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임일 수 있거나, 또는 참조 프레임 Y1은 K개의 화소 샘플 내의 다른 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임일 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 화소 샘플 i는 K개의 화소 샘플 중에서 제1 꼭지각 화소 샘플을 제외한 임의의 화소 샘플이고, 화소 샘플 i의 움직임 벡터 예측자에 대응하는 예측 방향이 제1 꼭지각 화소 샘플의 움직임 벡터 예측자에 대응하는 예측 방향과 다르면 화소 샘플 i의 움직임 벡터 예측자에 대응하는 참조 프레임 인덱스가 0이다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 제1 꼭지각 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임 인덱스와 화소 샘플 i에 대응하는 참조 프레임 인덱스가 서로 다르면, 프로세서(1001)는 화소 샘플 i의 움직임 벡터 예측자를 참조 프레임 Y1로 스케일 조절하도록 구성될 수 있다.
선택적으로, 본 발명의 일부 가능한 구현 방식에서, 프로세서(1001)는, K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K2개의 화소 샘플의 움직임 벡터 예측자 및 K개의 화소 샘플의 움직임 벡터 예측자로서, 참조 프레임 Y1로 스케일 조절된 움직임 벡터 예측자를 이용함으로써 반복 검색 알고리즘(또는 다른 타입의 움직임 추정 알고리즘)에 기초하여 K개의 화소 샘플에 대해 움직임 추정을 수행하도록 구성될 수 있다.
본 실시형태에서의 픽쳐 예측 장치(1000) 내의 모든 기능적인 모듈의 기능이 전술한 방법 실시형태에서의 방법에 따라 구체적으로 구현될 수 있다는 것이 이해될 수 있을 것이다. 구체적인 구현 프로세스에 대해서는, 전술한 방법의 실시형태의 관련된 설명을 참조하고, 여기서는 세부사항에 대해 다시 설명하지 않는다. 픽쳐 예측 장치(1000)는 비디오를 출력하고 재생할 필요가 있는 임의의 장치, 예를 들어 랩탑 컴퓨터, 태블릿 컴퓨터, 개인용 컴퓨터, 또는 휴대폰일 수 있다.
본 실시형태의 과제 해결수단에서, 현재 픽쳐 블록에 대해 화소 값 예측이 수행되는 동안, K개의 화소 샘플의 결정된 움직임 벡터 예측자가 비-병진 움직임 모델에 기초하여 참조된다는 것을 알 수 있을 것이다. K개의 화소 샘플은 현재 픽쳐 블록 내의 제1 꼭지각 화소 샘플을 포함한다. K개의 화소 샘플의 움직임 벡터 예측자가 예측을 위해 직접 사용되고, K개의 화소 샘플 내의 제1 꼭지각 화소 샘플의 움직임 벡터 예측자가 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 기초하여 획득되며, K개의 화소 샘플의 움직임 벡터 예측자를 위한 단 하나의 선택적인 경우만이 존재한다. 따라서, 종래의 기술에서 사용되는, K개의 화소 샘플의 움직임 벡터 예측자가 K개의 화소 샘플의 다수의 선택적인 움직임 벡터 예측자 세트로부터 대규모 계산에 의하여 선택되는 메커니즘이 포기된다. 이렇게 함으로써, 비트스트림 내의 움직임 정보 예측자의 선택 정보를 전달하는 것을 방지하는 데 도움이 되고, 코딩 효율을 높이는 데 도움이 되며, 또한 비-병진 움직임 모델에 기반하는 픽쳐 예측의 계산 복잡도를 감소시키는 데 도움이 된다.
또한, 공간적으로 인접한 제1 픽쳐 블록은 제1 꼭지각 화소 샘플과 공간적으로 인접하고, 현재 픽쳐 블록과 공간적으로 인접한 제1 픽쳐 블록이 사전 결정된다(즉, 현재 픽쳐 블록과 공간적으로 인접한 제1 픽쳐 블록이 미리 협의되거나 설정된다고 간주될 수 있다). 이렇게 함으로써, K개의 화소 샘플의 움직임 벡터 예측자를 빠르게 결정하는 데 도움이 된다. 또한, 픽쳐 블록 간의 공간적 상관관계를 최대한 이용하여 중복을 제거하므로, 코딩 효율을 향상시키는 데 도움이 된다.
설명의 편의를 위해 전술한 방법 실시형태는 일련의 동작으로서 표현된다는 것을 유의해야 한다. 하지만, 본 발명에 따르면, 일부 단계가 다른 순서로 수행되거나 또는 동시에 수행될 수 있기 때문에, 본 발명이 전술한 동작 순서에 한정되지 않는다는 것을 당업자는 이해할 것이다. 또한, 명세서에 기재된 모든 실시형태는 실시형태의 예이고, 관련된 동작 및 모듈은 반드시 본 발명에 필수적인 것은 아니라는 것을 당업자는 이해해야 한다.
전술한 실시형태에서, 모든 실시형태는 설명의 중점사항을 가지고 있다. 실시형태에서 자세히 설명되지 않은 부분에 대해서는, 다른 실시형태에서의 관련된 설명을 참조하라.
본 출원에서 제공되는 실시형태에서, 개시된 장치가 다른 방식으로 구현될 수 있다는 것을 이해해야 한다. 예를 들어, 전술한 장치 실시형태는 단지 예일 뿐이다. 예를 들어, 유닛 구분은 단지 논리적 기능 구분일 뿐이고 실제 구현에서는 이와 다르게 구분될 수 있다. 예를 들어, 복수의 유닛 또는 콤포넌트는 다른 시스템으로 결합되거나 통합될 수 있거나, 또는 몇몇 특징은 무시되거나 수행되지 않을 수도 있다. 또한, 표시되거나 서술되는 상호 커플링 또는 직접 커플링 또는 통신 연결은 몇몇 인터페이스를 통해서 구현될 수 있다. 장치들 또는 유닛들 간의 간접적인 커플링 또는 통신 연결은 전자적인 형태 또는 다른 형태로 구현될 수 있다.
별도의 부분으로 설명된 유닛은 물리적으로 분리되거나 또는 분리되지 않을 수 있고, 유닛으로서 표시되는 부분은 물리적 유닛이거나 또는 물리적 유닛이 아닐 수 있으며, 하나의 위치에 놓여 있을 수 있거나, 또는 복수의 네트워크 유닛 상에 분산되어 있을 수 있다. 유닛 중 일부 또는 전부가 실시형태에서 해결수단의 목적을 달성하기 위한 실제 필요에 따라 선택될 수 있다.
또한, 본 발명의 실시형태의 기능 유닛은 하나의 처리 유닛으로 통합될 수 있거나, 또는 각각의 유닛이 물리적으로 단독으로 존재할 수도 있거나, 또는 2개 이상의 유닛이 하나의 유닛으로 통합될 수 있다. 통합 유닛은 하드웨어의 형태로 구현될 수 있고, 또는 소프트웨어 기능 유닛의 형태로 구현될 수도 있다.
전술한 통합 유닛이 구현된 소프트웨어 기능 유닛의 형태로 구현되고 독립적인 제품으로서 판매되거나 사용되는 경우, 통합 유닛은 컴퓨터로 판독 가능한 저장 매체에 저장될 수 있다. 이러한 이해를 바탕으로, 본질적으로 본 발명의 과제 해결수단, 또는 종래 기술에 기여하는 부분, 또는 과제 해결수단 중 전부나 일부가 소프트웨어 제품의 형태로 구현될 수 있다. 이 소프트웨어 제품은 저장 매체 내에 저장되고, 본 발명의 실시형태에서 설명되는 방법의 단계의 전부 또는 일부를 수행하도록 컴퓨터 장치(개인용 컴퓨터, 서버, 또는 네트워크 장치일 수 있음)에 지시하기 위한 명령을 포함한다. 전술한 저장 매체는 프로그램 코드를 저장할 수 있는 임의의 저장 매체, 예를 들어 USB 플래쉬 드라이브, 읽기 전용 메모리, 랜덤 액세스 메모리, 착탈식 하드디스크, 자기 디스크, 또는 광 디스크를 포함한다.
전술한 실시형태는 본 발명의 과제 해결수단을 설명하기 위한 것일 뿐이며, 본 발명을 제한하려고 하는 것이 아니다. 본 발명을 전술한 실시형태를 참조하여 설명하였으나, 당업자라면 본 발명의 실시형태의 과제 해결수단의 사상 및 범위에서 벗어나지 않고도 전술한 실시형태에서 설명된 과제 해결수단에 대해 여전히 변경이 이루어질 수 있거나 또는 과제 해결수단의 일부 기술적인 특징에 대해 등가의 대체가 이루어질 수 있다는 것을 이해해야 한다.
Claims (23)
- 픽쳐 예측 방법(picture prediction method)으로서,
현재 픽쳐 블록 내의 K개의 화소 샘플의 움직임 벡터 예측자(motion vector predictor)를 결정하는 단계 - K는 1보다 큰 정수이고, 상기 K개의 화소 샘플은 상기 현재 픽쳐 블록 내의 제1 꼭지각 화소 샘플(vertex angle pixel sample)을 포함하며, 상기 제1 꼭지각 화소 샘플의 움직임 벡터 예측자는 상기 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 기초하여 획득되고, 상기 공간적으로 인접한 제1 픽쳐 블록은 상기 제1 꼭지각 화소 샘플과 공간적으로 인접함 -; 및
비-병진 움직임 모델(non-translational motion model) 및 상기 K개의 화소 샘플의 움직임 벡터 예측자에 기초하여 상기 현재 픽쳐 블록에 대해 화소 값 예측을 수행하는 단계
를 포함하는 픽쳐 예측 방법. - 제1항에 있어서,
상기 K개의 화소 샘플은 상기 현재 픽쳐 블록 내의 좌측 상부 화소 샘플, 또는 우측 상부 화소 샘플, 또는 좌측 하부 화소 샘플 중 적어도 2개의 화소 샘플을 포함하고;
상기 현재 픽쳐 블록 내의 상기 좌측 상부 화소 샘플은 상기 현재 픽쳐 블록의 좌측 상부 꼭지점에 있거나 또는 상기 현재 픽쳐 블록 내에 있으면서 상기 현재 픽쳐 블록의 좌측 상부 꼭지점을 포함하는 화소 블록이고, 상기 현재 픽쳐 블록 내의 상기 좌측 하부 화소 샘플은 상기 현재 픽쳐 블록의 좌측 하부 꼭지점에 있거나 또는 상기 현재 픽쳐 블록 내에 있으면서 상기 현재 픽쳐 블록의 좌측 하부 꼭지점을 포함하는 화소 블록이며, 상기 현재 픽쳐 블록 내의 상기 우측 상부 화소 샘플은 상기 현재 픽쳐 블록의 우측 상부 꼭지점에 있거나 또는 상기 현재 픽쳐 블록 내에 있으면서 상기 현재 픽쳐 블록의 우측 상부 꼭지점을 포함하는 화소 블록인, 픽쳐 예측 방법. - 제2항에 있어서,
상기 공간적으로 인접한 제1 픽쳐 블록은 픽쳐 블록 X1, 픽쳐 블록 X2, 또는 픽쳐 블록 X3이고;
상기 현재 픽쳐 블록 내의 상기 좌측 상부 화소 샘플의 움직임 벡터 예측자는 상기 픽쳐 블록 X1의 움직임 벡터에 기초하여 획득되고, 상기 픽쳐 블록 X1은 상기 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이며, 상기 픽쳐 블록 X1은 상기 현재 픽쳐 블록 내의 상기 좌측 상부 화소 샘플과 공간적으로 인접하고;
상기 현재 픽쳐 블록 내의 상기 우측 상부 화소 샘플의 움직임 벡터 예측자는 상기 픽쳐 블록 X2의 움직임 벡터에 기초하여 획득되고, 상기 픽쳐 블록 X2는 상기 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이며, 상기 픽쳐 블록 X2는 상기 현재 픽쳐 블록 내의 상기 우측 상부 화소 샘플과 공간적으로 인접하고;
상기 현재 픽쳐 블록 내의 상기 좌측 하부 화소 샘플의 움직임 벡터 예측자는 상기 픽쳐 블록 X3의 움직임 벡터에 기초하여 획득되고, 상기 픽쳐 블록 X3은 상기 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이며, 상기 픽쳐 블록 X3은 상기 현재 픽쳐 블록 내의 상기 좌측 하부 화소 샘플과 공간적으로 인접한, 픽쳐 예측 방법. - 제3항에 있어서,
상기 제1 꼭지각 화소 샘플은 상기 현재 픽쳐 블록 내의 상기 좌측 상부 화소 샘플이고, 상기 공간적으로 인접한 제1 픽쳐 블록은 상기 픽쳐 블록 X1이며, 상기 픽쳐 블록 X1은 상기 현재 픽쳐 블록의 좌측 상부에서 공간적으로 인접한 픽쳐 블록인, 픽쳐 예측 방법. - 제4항에 있어서,
상기 픽쳐 블록 X2는 상기 현재 픽쳐 블록의 위에서 공간적으로 인접한 픽쳐 블록이거나; 또는
상기 픽쳐 블록 X2의 움직임 벡터 절대값과 상기 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값이 상기 픽쳐 블록 X5의 움직임 벡터 절대값과 상기 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값보다 크거나 같고, 상기 픽쳐 블록 X5는 상기 우측 상부 꼭지점과 공간적으로 인접한 상기 현재 픽쳐 블록 중의 픽쳐 블록으로서, 상기 픽쳐 블록 X2를 제외한 공간적으로 인접한 나머지 적어도 일부의 픽쳐 블록 중 하나인, 픽쳐 예측 방법. - 제4항 또는 제5항에 있어서,
상기 픽쳐 블록 X3은 상기 현재 픽쳐 블록의 좌측에서 공간적으로 인접한 픽쳐 블록이거나; 또는
상기 픽쳐 블록 X3의 움직임 벡터 절대값과 상기 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값이 상기 픽쳐 블록 X6의 움직임 벡터 절대값과 상기 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값보다 크거나 같고, 상기 픽쳐 블록 X6은 상기 좌측 하부 꼭지점과 공간적으로 인접한 상기 현재 픽쳐 블록 중의 픽쳐 블록으로서, 상기 픽쳐 블록 X3을 제외한 공간적으로 인접한 나머지 적어도 일부의 픽쳐 블록 중 하나인, 픽쳐 예측 방법. - 제1항 내지 제6항 중 어느 한 항에 있어서,
상기 비-병진 움직임 모델 및 상기 K개의 화소 샘플의 움직임 벡터 예측자에 기초하여 상기 현재 픽쳐 블록에 대해 화소 값 예측을 수행하는 단계는,
상기 K개의 화소 샘플 중 K1개의 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임(reference frame)이 참조 프레임 Y1이 아닌 경우, 상기 K개의 화소 샘플의 움직임 벡터를 획득하기 위해, 상기 K1개의 화소 샘플의 움직임 벡터 예측자를 상기 참조 프레임 Y1로 스케일 조절하고, K2개의 화소 샘플의 움직임 벡터 예측자 및 상기 K개의 화소 샘플의 움직임 벡터 예측자로서, 상기 참조 프레임 Y1로 스케일 조절된 움직임 벡터 예측자를 이용하여 상기 K개의 화소 샘플에 대해 움직임 추정을 수행하며, 상기 비-병진 움직임 모델 및 상기 K개의 화소 샘플의 움직임 벡터를 이용하여 상기 현재 픽쳐 블록에 대해 화소 값 예측을 수행하는 단계를 포함하고, 상기 K2개의 화소 샘플은 상기 K개의 화소 샘플 중에서 상기 K1개의 화소 샘플을 제외한 나머지 화소 샘플이며, K1 및 K2는 양의 정수인, 픽쳐 예측 방법. - 제7항에 있어서,
화소 샘플 i는 상기 K개의 화소 샘플 중에서 상기 제1 꼭지각 화소 샘플을 제외한 임의의 화소 샘플이고, 상기 화소 샘플 i의 움직임 벡터 예측자에 대응하는 예측 방향이 상기 제1 꼭지각 화소 샘플의 움직임 벡터 예측자에 대응하는 예측 방향과 다르면 상기 화소 샘플 i의 움직임 벡터 예측자에 대응하는 참조 프레임 인덱스가 0인, 픽쳐 예측 방법. - 제8항에 있어서,
상기 참조 프레임 Y1은 상기 제1 꼭지각 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임이고,
상기 화소 샘플 i의 움직임 벡터 예측자가 상기 참조 프레임 Y1로 스케일 조절된다는 것은, 상기 제1 꼭지각 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임 인덱스와 상기 화소 샘플 i에 대응하는 참조 프레임 인덱스가 서로 다르면 상기 화소 샘플 i의 움직임 벡터 예측자가 상기 참조 프레임 Y1로 스케일 조절된다는 것을 포함하는, 픽쳐 예측 방법. - 제7항 내지 제9항 중 어느 한 항에 있어서,
상기 K개의 화소 샘플의 움직임 벡터를 획득하기 위해, K2개의 화소 샘플의 움직임 벡터 예측자 및 상기 K개의 화소 샘플의 움직임 벡터 예측자로서, 상기 참조 프레임 Y1로 스케일 조절된 움직임 벡터 예측자를 이용하여 상기 K개의 화소 샘플에 대해 움직임 추정을 수행하는 것은,
상기 K개의 화소 샘플의 움직임 벡터를 획득하기 위해, 상기 K2개의 화소 샘플의 움직임 벡터 예측자 및 상기 K개의 화소 샘플의 움직임 벡터 예측자로서, 상기 참조 프레임 Y1로 스케일 조절된 움직임 벡터 예측자를 이용함으로써 반복 검색 알고리즘에 기초하여 상기 K개의 화소 샘플에 대해 움직임 추정을 수행하는 것
을 포함하는, 픽쳐 예측 방법. - 제1항 내지 제10항 중 어느 한 항에 있어서,
상기 비-병진 움직임 모델은 아핀 변환 모델(affine transformation model), 또는 포물선 움직임 모델, 또는 회전 움직임 모델, 또는 원근 움직임 모델(perspective motion model), 또는 전단 움직임 모델(shearing motion model), 또는 스케일러블 움직임 모델(scalable motion model) 중 하나인, 픽쳐 예측 방법. - 제1항 내지 제11항 중 어느 한 항에 있어서,
상기 픽쳐 예측 방법은 비디오 코딩 프로세스에 적용되거나, 또는 상기 픽쳐 예측 방법은 비디오 디코딩 프로세스에 적용되는, 픽쳐 예측 방법. - 픽쳐 예측 장치로서,
현재 픽쳐 블록 내의 K개의 화소 샘플의 움직임 벡터 예측자를 결정하도록 구성된 결정 유닛 - K는 1보다 큰 정수이고, 상기 K개의 화소 샘플은 상기 현재 픽쳐 블록 내의 제1 꼭지각 화소 샘플을 포함하며, 상기 제1 꼭지각 화소 샘플의 움직임 벡터 예측자는 상기 현재 픽쳐 블록과 공간적으로 인접한 사전 설정된 제1 픽쳐 블록의 움직임 벡터에 기초하여 획득되고, 상기 공간적으로 인접한 제1 픽쳐 블록은 상기 제1 꼭지각 화소 샘플과 공간적으로 인접함 -; 및
비-병진 움직임 모델 및 상기 K개의 화소 샘플의 움직임 벡터 예측자에 기초하여 상기 현재 픽쳐 블록에 대해 화소 값 예측을 수행하도록 구성된 예측 유닛
을 포함하는 픽쳐 예측 장치. - 제13항에 있어서,
상기 K개의 화소 샘플은 상기 현재 픽쳐 블록 내의 좌측 상부 화소 샘플, 또는 우측 상부 화소 샘플, 또는 좌측 하부 화소 샘플 중 적어도 2개의 화소 샘플을 포함하고;
상기 현재 픽쳐 블록 내의 상기 좌측 상부 화소 샘플은 상기 현재 픽쳐 블록의 좌측 상부 꼭지점에 있거나 또는 상기 현재 픽쳐 블록 내에 있으면서 상기 현재 픽쳐 블록의 좌측 상부 꼭지점을 포함하는 화소 블록이고, 상기 현재 픽쳐 블록 내의 상기 좌측 하부 화소 샘플은 상기 현재 픽쳐 블록의 좌측 하부 꼭지점에 있거나 또는 상기 현재 픽쳐 블록 내에 있으면서 상기 현재 픽쳐 블록의 좌측 하부 꼭지점을 포함하는 화소 블록이며, 상기 현재 픽쳐 블록 내의 상기 우측 상부 화소 샘플은 상기 현재 픽쳐 블록의 우측 상부 꼭지점에 있거나 또는 상기 현재 픽쳐 블록 내에 있으면서 상기 현재 픽쳐 블록의 우측 상부 꼭지점을 포함하는 화소 블록인, 픽쳐 예측 장치. - 제14항에 있어서,
상기 공간적으로 인접한 제1 픽쳐 블록은 픽쳐 블록 X1, 픽쳐 블록 X2, 또는 픽쳐 블록 X3이고;
상기 현재 픽쳐 블록 내의 상기 좌측 상부 화소 샘플의 움직임 벡터 예측자는 상기 픽쳐 블록 X1의 움직임 벡터에 기초하여 획득되고, 상기 픽쳐 블록 X1은 상기 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이며, 상기 픽쳐 블록 X1은 상기 현재 픽쳐 블록 내의 상기 좌측 상부 화소 샘플과 공간적으로 인접하고;
상기 현재 픽쳐 블록 내의 상기 우측 상부 화소 샘플의 움직임 벡터 예측자는 상기 픽쳐 블록 X2의 움직임 벡터에 기초하여 획득되고, 상기 픽쳐 블록 X2는 상기 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이며, 상기 픽쳐 블록 X2는 상기 현재 픽쳐 블록 내의 상기 우측 상부 화소 샘플과 공간적으로 인접하고;
상기 현재 픽쳐 블록 내의 상기 좌측 하부 화소 샘플의 움직임 벡터 예측자는 상기 픽쳐 블록 X3의 움직임 벡터에 기초하여 획득되고, 상기 픽쳐 블록 X3은 상기 현재 픽쳐 블록과 공간적으로 인접한 픽쳐 블록이며, 상기 픽쳐 블록 X3은 상기 현재 픽쳐 블록 내의 상기 좌측 하부 화소 샘플과 공간적으로 인접한, 픽쳐 예측 장치. - 제15항에 있어서,
상기 제1 꼭지각 화소 샘플은 상기 현재 픽쳐 블록 내의 상기 좌측 상부 화소 샘플이고, 상기 공간적으로 인접한 제1 픽쳐 블록은 상기 픽쳐 블록 X1이며, 상기 픽쳐 블록 X1은 상기 현재 픽쳐 블록의 좌측 상부에서 공간적으로 인접한 픽쳐 블록인, 픽쳐 예측 장치. - 제16항에 있어서,
상기 픽쳐 블록 X2는 상기 현재 픽쳐 블록의 위에서 공간적으로 인접한 픽쳐 블록이거나; 또는
상기 픽쳐 블록 X2의 움직임 벡터 절대값과 상기 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값이 상기 픽쳐 블록 X5의 움직임 벡터 절대값과 상기 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값보다 크거나 같고, 상기 픽쳐 블록 X5는 상기 우측 상부 꼭지점과 공간적으로 인접한 상기 현재 픽쳐 블록 중의 픽쳐 블록으로서, 상기 픽쳐 블록 X2를 제외한 공간적으로 인접한 나머지 적어도 일부의 픽쳐 블록 중 하나인, 픽쳐 예측 장치. - 제16항 또는 제17항에 있어서,
상기 픽쳐 블록 X3은 상기 현재 픽쳐 블록의 좌측에서 공간적으로 인접한 픽쳐 블록이거나; 또는
상기 픽쳐 블록 X3의 움직임 벡터 절대값과 상기 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값이 상기 픽쳐 블록 X6의 움직임 벡터 절대값과 상기 픽쳐 블록 X1의 움직임 벡터 절대값 간의 차이의 절대값보다 크거나 같고, 상기 픽쳐 블록 X6은 상기 좌측 하부 꼭지점과 공간적으로 인접한 상기 현재 픽쳐 블록 중의 픽쳐 블록으로서, 상기 픽쳐 블록 X3을 제외한 공간적으로 인접한 나머지 적어도 일부의 픽쳐 블록 중 하나인, 픽쳐 예측 장치. - 제13항 내지 제18항 중 어느 한 항에 있어서,
상기 예측 유닛은 구체적으로, 상기 K개의 화소 샘플 중 K1개의 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임이 참조 프레임 Y1이 아닌 경우, 상기 K개의 화소 샘플의 움직임 벡터를 획득하기 위해, 상기 K1개의 화소 샘플의 움직임 벡터 예측자를 상기 참조 프레임 Y1로 스케일 조절하고, K2개의 화소 샘플의 움직임 벡터 예측자 및 상기 K개의 화소 샘플의 움직임 벡터 예측자로서, 상기 참조 프레임 Y1로 스케일 조절된 움직임 벡터 예측자를 이용하여 상기 K개의 화소 샘플에 대해 움직임 추정을 수행하며, 상기 비-병진 움직임 모델 및 상기 K개의 화소 샘플의 움직임 벡터를 이용하여 상기 현재 픽쳐 블록에 대해 화소 값 예측을 수행하도록 구성되고, 상기 K2개의 화소 샘플은 상기 K개의 화소 샘플 중에서 상기 K1개의 화소 샘플을 제외한 나머지 화소 샘플이며, K1 및 K2는 양의 정수인, 픽쳐 예측 장치. - 제19항에 있어서,
화소 샘플 i는 상기 K개의 화소 샘플 중에서 상기 제1 꼭지각 화소 샘플을 제외한 임의의 화소 샘플이고, 상기 화소 샘플 i의 움직임 벡터 예측자에 대응하는 예측 방향이 상기 제1 꼭지각 화소 샘플의 움직임 벡터 예측자에 대응하는 예측 방향과 다르면 상기 화소 샘플 i의 움직임 벡터 예측자에 대응하는 참조 프레임 인덱스가 0인, 픽쳐 예측 장치. - 제20항에 있어서,
상기 참조 프레임 Y1은 상기 제1 꼭지각 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임이고,
상기 예측 유닛은 구체적으로, 상기 제1 꼭지각 화소 샘플의 움직임 벡터 예측자에 대응하는 참조 프레임 인덱스와 상기 화소 샘플 i에 대응하는 참조 프레임 인덱스가 서로 다르면 상기 화소 샘플 i의 움직임 벡터 예측자를 상기 참조 프레임 Y1로 스케일링하도록 구성되는, 픽쳐 예측 장치. - 제13항 내지 제21항 중 어느 한 항에 있어서,
상기 비-병진 움직임 모델은 아핀 변환 모델, 또는 포물선 움직임 모델, 또는 회전 움직임 모델, 또는 원근 움직임 모델, 또는 전단 움직임 모델, 또는 스케일러블 움직임 모델 중 하나인, 픽쳐 예측 장치. - 제13항 내지 제22항 중 어느 한 항에 있어서,
상기 픽쳐 예측 장치는 비디오 코딩 장치에 적용되거나, 또는 상기 픽쳐 예측 장치는 비디오 디코딩 장치에 적용되는, 픽쳐 예측 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410526608.8A CN104539966B (zh) | 2014-09-30 | 2014-09-30 | 图像预测方法及相关装置 |
CN201410526608.8 | 2014-09-30 | ||
PCT/CN2015/076659 WO2016050051A1 (zh) | 2014-09-30 | 2015-04-15 | 图像预测方法及相关装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197003118A Division KR102060184B1 (ko) | 2014-09-30 | 2015-04-15 | 픽쳐 예측 방법 및 관련 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170044686A true KR20170044686A (ko) | 2017-04-25 |
KR101945894B1 KR101945894B1 (ko) | 2019-02-08 |
Family
ID=52855412
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177007259A KR101945894B1 (ko) | 2014-09-30 | 2015-04-15 | 픽쳐 예측 방법 및 관련 장치 |
KR1020197037916A KR102160564B1 (ko) | 2014-09-30 | 2015-04-15 | 픽쳐 예측 방법 및 관련 장치 |
KR1020197003118A KR102060184B1 (ko) | 2014-09-30 | 2015-04-15 | 픽쳐 예측 방법 및 관련 장치 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197037916A KR102160564B1 (ko) | 2014-09-30 | 2015-04-15 | 픽쳐 예측 방법 및 관련 장치 |
KR1020197003118A KR102060184B1 (ko) | 2014-09-30 | 2015-04-15 | 픽쳐 예측 방법 및 관련 장치 |
Country Status (7)
Country | Link |
---|---|
US (2) | US10827194B2 (ko) |
EP (3) | EP3836546A1 (ko) |
JP (3) | JP6546277B2 (ko) |
KR (3) | KR101945894B1 (ko) |
CN (4) | CN112087630B (ko) |
BR (2) | BR112017006018B1 (ko) |
WO (1) | WO2016050051A1 (ko) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3122322A1 (en) | 2015-03-10 | 2016-09-15 | Huawei Technologies Co., Ltd. | Picture processing using an affine motion model and a motion vector 2-tuple |
CN106303543B (zh) | 2015-05-15 | 2018-10-30 | 华为技术有限公司 | 视频图像编码和解码的方法、编码设备和解码设备 |
CN106331722B (zh) | 2015-07-03 | 2019-04-26 | 华为技术有限公司 | 图像预测方法和相关设备 |
EP3334157B1 (en) * | 2015-08-04 | 2020-09-02 | LG Electronics Inc. | Inter prediction method and device in video coding system |
CN108965869B (zh) * | 2015-08-29 | 2023-09-12 | 华为技术有限公司 | 图像预测的方法及设备 |
CN109274974B (zh) * | 2015-09-29 | 2022-02-11 | 华为技术有限公司 | 图像预测的方法及装置 |
US20190028731A1 (en) * | 2016-01-07 | 2019-01-24 | Mediatek Inc. | Method and apparatus for affine inter prediction for video coding system |
CN107027040B9 (zh) * | 2016-01-29 | 2020-08-28 | 华为技术有限公司 | 一种去除块效应的滤波方法及装置 |
CN111526360A (zh) | 2016-02-06 | 2020-08-11 | 华为技术有限公司 | 图像编解码方法及装置 |
EP3422719A4 (en) * | 2016-02-25 | 2019-10-09 | KT Corporation | METHOD AND DEVICE FOR PROCESSING VIDEO SIGNAL |
WO2017156705A1 (en) * | 2016-03-15 | 2017-09-21 | Mediatek Inc. | Affine prediction for video coding |
CN113612994B (zh) | 2016-03-15 | 2023-10-27 | 寰发股份有限公司 | 具有仿射运动补偿的视频编解码的方法 |
EP3432578A4 (en) | 2016-03-24 | 2019-11-20 | LG Electronics Inc. | METHOD AND APPARATUS FOR INTER-PREDICTION IN A VIDEO CODING SYSTEM |
US10958931B2 (en) * | 2016-05-11 | 2021-03-23 | Lg Electronics Inc. | Inter prediction method and apparatus in video coding system |
US10560712B2 (en) | 2016-05-16 | 2020-02-11 | Qualcomm Incorporated | Affine motion prediction for video coding |
WO2017201678A1 (zh) * | 2016-05-24 | 2017-11-30 | 华为技术有限公司 | 图像预测方法和相关设备 |
US10631002B2 (en) | 2016-09-30 | 2020-04-21 | Qualcomm Incorporated | Frame rate up-conversion coding mode |
CN108271023B (zh) * | 2017-01-04 | 2021-11-19 | 华为技术有限公司 | 图像预测方法和相关设备 |
US10701390B2 (en) * | 2017-03-14 | 2020-06-30 | Qualcomm Incorporated | Affine motion information derivation |
CN107071496B (zh) * | 2017-05-14 | 2020-01-17 | 北京工业大学 | 一种h.265/hevc帧间编码单元深度快速选择方法 |
CN109391814B (zh) | 2017-08-11 | 2023-06-06 | 华为技术有限公司 | 视频图像编码和解码的方法、装置及设备 |
CN107454429B (zh) * | 2017-08-21 | 2019-12-24 | 武汉兴图新科电子股份有限公司 | 基于运动向量外推和图像梯度加权的视频错误隐藏方法 |
CN109587479B (zh) * | 2017-09-29 | 2023-11-10 | 华为技术有限公司 | 视频图像的帧间预测方法、装置及编解码器 |
US11877001B2 (en) * | 2017-10-10 | 2024-01-16 | Qualcomm Incorporated | Affine prediction in video coding |
CN112055205B (zh) * | 2017-12-12 | 2021-08-03 | 华为技术有限公司 | 视频数据的帧间预测方法和装置、视频编解码器、存储介质 |
US20190208211A1 (en) * | 2018-01-04 | 2019-07-04 | Qualcomm Incorporated | Generated affine motion vectors |
WO2019191867A1 (zh) * | 2018-04-02 | 2019-10-10 | 华为技术有限公司 | 一种视频编解码方法和装置 |
CN110876282B (zh) | 2018-07-02 | 2022-10-18 | 华为技术有限公司 | 运动矢量预测方法以及相关装置 |
WO2020007093A1 (zh) * | 2018-07-02 | 2020-01-09 | 华为技术有限公司 | 一种图像预测方法及装置 |
CN108960160B (zh) * | 2018-07-10 | 2021-03-09 | 深圳地平线机器人科技有限公司 | 基于非结构化预测模型来预测结构化状态量的方法和装置 |
KR102639425B1 (ko) | 2018-07-11 | 2024-02-21 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 비디오 인코더, 비디오 디코더, 및 대응하는 방법 |
WO2020024275A1 (zh) * | 2018-08-03 | 2020-02-06 | 华为技术有限公司 | 一种帧间预测的方法及装置 |
CN110971899B (zh) * | 2018-10-01 | 2021-06-01 | 华为技术有限公司 | 一种确定运动信息的方法、帧间预测方法及装置 |
JP7189234B2 (ja) * | 2018-12-21 | 2022-12-13 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置及び復号装置 |
CN109672886B (zh) * | 2019-01-11 | 2023-07-04 | 京东方科技集团股份有限公司 | 一种图像帧预测方法、装置及头显设备 |
EP3942823A4 (en) * | 2019-03-18 | 2023-04-05 | Tencent America LLC | VIDEO CODING METHOD AND APPARATUS |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5923786A (en) * | 1995-07-17 | 1999-07-13 | Sony Corporation | Method and device for encoding and decoding moving images |
US5652616A (en) * | 1996-08-06 | 1997-07-29 | General Instrument Corporation Of Delaware | Optimal disparity estimation for stereoscopic video coding |
US7206346B2 (en) * | 1997-06-25 | 2007-04-17 | Nippon Telegraph And Telephone Corporation | Motion vector predictive encoding method, motion vector decoding method, predictive encoding apparatus and decoding apparatus, and storage media storing motion vector predictive encoding and decoding programs |
US7016539B1 (en) * | 1998-07-13 | 2006-03-21 | Cognex Corporation | Method for fast, robust, multi-dimensional pattern recognition |
CN1194544C (zh) * | 2003-04-25 | 2005-03-23 | 北京工业大学 | 基于时空域相关性运动矢量预测的视频编码方法 |
JP2010524383A (ja) * | 2007-04-09 | 2010-07-15 | エルジー エレクトロニクス インコーポレイティド | ビデオ信号処理方法及び装置 |
CN101350920A (zh) * | 2007-07-17 | 2009-01-21 | 北京华辰广正科技发展有限公司 | 一种面向全景视频的全局运动估计方法 |
CN101198064A (zh) * | 2007-12-10 | 2008-06-11 | 武汉大学 | 一种分辨率分层技术中的运动矢量预测方法 |
CN101340583B (zh) * | 2008-08-08 | 2010-07-28 | 浙江大学 | 基于h.264编码域的移动对象检测装置 |
WO2010093430A1 (en) * | 2009-02-11 | 2010-08-19 | Packetvideo Corp. | System and method for frame interpolation for a compressed video bitstream |
US8363721B2 (en) * | 2009-03-26 | 2013-01-29 | Cisco Technology, Inc. | Reference picture prediction for video coding |
CN101771878B (zh) * | 2010-01-14 | 2011-05-25 | 广西大学 | 面向全景视频编码的自适应选择全局运动估计方法 |
EP2559243B1 (en) * | 2010-04-13 | 2014-08-27 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | A video decoder and a video encoder using motion-compensated prediction |
KR101626688B1 (ko) * | 2010-04-13 | 2016-06-01 | 지이 비디오 컴프레션, 엘엘씨 | 샘플 영역 병합 |
JP5686018B2 (ja) * | 2010-05-21 | 2015-03-18 | 株式会社Jvcケンウッド | 画像符号化装置、画像符号化方法および画像符号化プログラム |
CN103039075B (zh) * | 2010-05-21 | 2015-11-25 | Jvc建伍株式会社 | 图像编码装置、图像编码方法、以及图像解码装置、图像解码方法 |
US9467689B2 (en) * | 2010-07-08 | 2016-10-11 | Dolby Laboratories Licensing Corporation | Systems and methods for multi-layered image and video delivery using reference processing signals |
CN106878725B (zh) * | 2010-10-08 | 2020-03-17 | Ge视频压缩有限责任公司 | 编码器和编码方法与解码器和解码方法 |
JP5716437B2 (ja) | 2011-02-08 | 2015-05-13 | 株式会社Jvcケンウッド | 画像符号化装置、画像符号化方法および画像符号化プログラム |
ES2770437T3 (es) * | 2011-03-21 | 2020-07-01 | Lg Electronics Inc | Método para seleccionar un predictor de vector de movimiento y un dispositivo que lo utiliza |
US20130170553A1 (en) * | 2012-01-04 | 2013-07-04 | Qualcomm Incorporated | Coding motion vector difference |
CN103475883B (zh) * | 2013-09-26 | 2016-07-06 | 北京航空航天大学 | 一种基于运动区域划分的hevc运动估计提前终止方法 |
JP6614472B2 (ja) * | 2013-09-30 | 2019-12-04 | サン パテント トラスト | 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置 |
US10531116B2 (en) * | 2014-01-09 | 2020-01-07 | Qualcomm Incorporated | Adaptive motion vector resolution signaling for video coding |
CN103905826A (zh) * | 2014-04-10 | 2014-07-02 | 北京工业大学 | 一种自适应全局运动估计方法 |
-
2014
- 2014-09-30 CN CN202010800185.XA patent/CN112087630B/zh active Active
- 2014-09-30 CN CN201711022009.2A patent/CN107734335B/zh active Active
- 2014-09-30 CN CN202010800184.5A patent/CN112087629B/zh active Active
- 2014-09-30 CN CN201410526608.8A patent/CN104539966B/zh active Active
-
2015
- 2015-04-15 KR KR1020177007259A patent/KR101945894B1/ko active IP Right Grant
- 2015-04-15 JP JP2017518250A patent/JP6546277B2/ja active Active
- 2015-04-15 WO PCT/CN2015/076659 patent/WO2016050051A1/zh active Application Filing
- 2015-04-15 EP EP20195878.2A patent/EP3836546A1/en active Pending
- 2015-04-15 BR BR112017006018-3A patent/BR112017006018B1/pt active IP Right Grant
- 2015-04-15 KR KR1020197037916A patent/KR102160564B1/ko active IP Right Grant
- 2015-04-15 BR BR122020019754-4A patent/BR122020019754B1/pt active IP Right Grant
- 2015-04-15 KR KR1020197003118A patent/KR102060184B1/ko active IP Right Grant
- 2015-04-15 EP EP15846328.1A patent/EP3197165B1/en active Active
- 2015-04-15 EP EP20195877.4A patent/EP3836547A1/en active Pending
-
2017
- 2017-03-16 US US15/461,274 patent/US10827194B2/en active Active
-
2019
- 2019-06-20 JP JP2019114759A patent/JP7123863B2/ja active Active
-
2020
- 2020-09-18 US US17/025,901 patent/US20210006818A1/en not_active Abandoned
-
2021
- 2021-07-26 JP JP2021121469A patent/JP7252282B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP6546277B2 (ja) | 2019-07-17 |
JP7252282B2 (ja) | 2023-04-04 |
CN112087629B (zh) | 2021-08-20 |
JP7123863B2 (ja) | 2022-08-23 |
KR20190143496A (ko) | 2019-12-30 |
EP3836547A1 (en) | 2021-06-16 |
EP3197165A4 (en) | 2017-08-02 |
EP3197165A1 (en) | 2017-07-26 |
KR20190014590A (ko) | 2019-02-12 |
WO2016050051A1 (zh) | 2016-04-07 |
JP2021182752A (ja) | 2021-11-25 |
US20210006818A1 (en) | 2021-01-07 |
JP2017535162A (ja) | 2017-11-24 |
CN112087630B (zh) | 2022-04-08 |
CN104539966B (zh) | 2017-12-22 |
BR122020019754B1 (pt) | 2023-12-12 |
BR112017006018B1 (pt) | 2023-12-19 |
CN107734335A (zh) | 2018-02-23 |
JP2019198092A (ja) | 2019-11-14 |
CN112087630A (zh) | 2020-12-15 |
US10827194B2 (en) | 2020-11-03 |
KR102160564B1 (ko) | 2020-09-28 |
BR112017006018A2 (pt) | 2018-06-26 |
CN104539966A (zh) | 2015-04-22 |
KR101945894B1 (ko) | 2019-02-08 |
CN107734335B (zh) | 2020-11-06 |
US20170188041A1 (en) | 2017-06-29 |
KR102060184B1 (ko) | 2019-12-27 |
EP3836546A1 (en) | 2021-06-16 |
CN112087629A (zh) | 2020-12-15 |
EP3197165B1 (en) | 2020-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101945894B1 (ko) | 픽쳐 예측 방법 및 관련 장치 | |
JP7335315B2 (ja) | 画像予測方法および関連装置 | |
KR102013771B1 (ko) | 이미지 예측 방법 및 관련 장치 | |
KR102005007B1 (ko) | 픽쳐 예측 방법 및 관련 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |