KR20210153128A - 인터 예측에서의 병합 모드 후보들에 대한 글로벌 모션 - Google Patents

인터 예측에서의 병합 모드 후보들에 대한 글로벌 모션 Download PDF

Info

Publication number
KR20210153128A
KR20210153128A KR1020217038060A KR20217038060A KR20210153128A KR 20210153128 A KR20210153128 A KR 20210153128A KR 1020217038060 A KR1020217038060 A KR 1020217038060A KR 20217038060 A KR20217038060 A KR 20217038060A KR 20210153128 A KR20210153128 A KR 20210153128A
Authority
KR
South Korea
Prior art keywords
motion vector
global motion
motion
bitstream
global
Prior art date
Application number
KR1020217038060A
Other languages
English (en)
Inventor
하리 칼바
보리보제 퍼트
벨리보르 아지치
Original Assignee
오피 솔루션즈, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 오피 솔루션즈, 엘엘씨 filed Critical 오피 솔루션즈, 엘엘씨
Publication of KR20210153128A publication Critical patent/KR20210153128A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/527Global motion vector estimation
    • H04L65/601
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

디코더가 비트스트림을 수신하고; 현재 블록에 대해 그리고 비트스트림을 사용하여, 병합 모드가 인에이블되는 것을 결정하고; 글로벌 모션 벡터를 모션 벡터 후보 리스트에 추가하는 것을 포함하여 병합 후보 리스트를 구성하고; 및 현재 블록의 픽셀 데이터를 재구성하고 모션 벡터 후보 리스트를 사용하도록 구성된 회로를 포함한다. 관련된 장치들, 시스템들, 기술들 및 물품들이 또한 설명된다.

Description

인터 예측에서의 병합 모드 후보들에 대한 글로벌 모션
[관련 출원들에 대한 상호 참조]
본 출원은 2019년 4월 25일자로 출원되고, 발명의 명칭이 "Global Motion for Merge Mode Candidates in Inter Prediction"인 미국 가특허 출원 일련 번호 제62/838,618호 - 참조에 의해 그 전체가 본원에 원용됨 - 의 우선권의 혜택을 주장한다.
본 발명은 일반적으로 비디오 압축 분야에 관한 것이다. 특히, 본 발명은 인터 예측에서의 병합 모드 후보들에 대한 글로벌 모션에 관한 것이다.
비디오 코덱은 디지털 비디오를 압축하거나 압축해제하는 전자 회로 또는 소프트웨어를 포함할 수 있다. 그것은 비압축된 비디오를 압축된 포맷으로 또는 그 반대로 전환할 수 있다. 비디오 압축의 맥락에서, 비디오를 압축하는(및/또는 그것의 일부 기능을 수행하는) 디바이스는 전형적으로 인코더로 칭해질 수 있고, 비디오를 압축해제하는(및/또는 그것의 일부 기능을 수행하는) 디바이스는 디코더로 칭해질 수 있다.
압축된 데이터의 포맷은 표준 비디오 압축 사양을 준수할 수 있다. 압축은 압축된 비디오가 원래의 비디오에 존재하는 일부 정보를 갖지 않는다는 점에서 손실성일 수 있다. 이것의 결과는 압축해제된 비디오가 원래의 비디오를 정확하게 재구성하기에는 불충분한 정보이기 때문에 원래의 압축되지 않은 비디오보다 낮은 품질을 가질 수 있다는 것을 포함할 수 있다.
비디오 품질, 비디오를 표현하기 위해 사용되는 데이터의 양(예를 들어, 비트 레이트에 의해 결정됨), 인코딩 및 디코딩 알고리즘들의 복잡성, 데이터 손실 및 오류에 대한 민감성, 편집의 용이성, 랜덤 액세스, 엔드-투-엔드 지연(예를 들어, 레이턴시), 및 그와 유사한 것 사이에 복잡한 관계들이 존재할 수 있다.
모션 보상은, 카메라 및/또는 비디오 내의 객체들의 모션을 고려함으로써, 이전 및/또는 미래 프레임들과 같은 참조 프레임이 주어지면 비디오 프레임 또는 그것의 일부를 예측하는 접근법을 포함할 수 있다. 이것은 비디오 압축을 위한 비디오 데이터의 인코딩 및 디코딩에서, 예를 들어, MPEG(Motion Picture Experts Group)-2[AVC(advanced video coding) 및 H.264라고도 지칭됨] 표준을 사용하는 인코딩 및 디코딩에서 이용될 수 있다. 모션 보상은 참조 픽처의 현재 픽처로의 변환의 관점에서 픽처를 기술할 수 있다. 참조 픽처는 현재 픽처와 비교할 때 시간상 이전일 수 있고, 현재 픽처와 비교할 때 미래로부터일 수 있다. 이미지들이 이전에 송신된 및/또는 저장된 이미지들로부터 정확하게 합성될 수 있을 때, 압축 효율이 개선될 수 있다.
일 양태에서, 디코더는 비트스트림을 수신하고, 현재 블록에 대해 그리고 비트스트림을 사용하여, 병합 모드가 인에이블되는 것을 결정하고, 병합 후보 리스트를 구성하도록 구성된 회로를 포함하며, 여기서 병합 후보 리스트를 구성하는 것은 글로벌 모션 벡터를 모션 벡터 후보 리스트에 추가하는 것, 및 모션 벡터 후보 리스트를 사용하여 현재 블록의 픽셀 데이터를 재구성하는 것을 추가로 포함한다.
또 다른 양태에서, 방법은 디코더에 의해, 비트스트림을 수신하는 단계, 현재 블록에 대해 그리고 비트스트림을 사용하여, 병합 모드가 인에이블된 것을 결정하는 단계, 병합 후보 리스트를 구성하는 단계 - 병합 후보 리스트를 구성하는 단계는 글로벌 모션 벡터를 모션 벡터 후보 리스트에 추가하는 단계를 추가로 포함함 -, 및 현재 블록의 픽셀 데이터를 재구성하고 모션 벡터 후보 리스트를 사용하는 단계를 포함한다.
본 명세서에 설명된 주제의 하나 이상의 변형의 세부사항들은 아래 첨부 도면들 및 설명에서 제시된다. 본 명세서에 설명된 주제의 다른 특징들 및 장점들이 설명 및 도면들, 그리고 청구항으로부터 명확해질 것이다.
본 발명을 나타내기 위한 목적으로, 도면들은 본 발명의 하나 이상의 실시예의 양태들을 도시한다. 그러나, 본 발명은 도면들에 도시된 정확한 배열(arrangements) 및 수단(instrumentalities)으로만 제한되지는 않음을 이해해야 한다.
도 1은 글로벌 및 로컬 모션이 있는 예시적인 프레임의 모션 벡터들을 나타낸 도면이고;
도 2는 그들의 인덱스 값(0, 1, 또는 2)을 포함하는 글로벌 모션에 활용될 수 있는 3개의 예시적인 모션 모델을 나타내고;
도 3은 현 주제의 일부 예시적인 구현들에 따른 프로세스 흐름도이고;
도 4는 현 주제의 일부 예시적인 구현들에 따른 예시적인 디코더의 시스템 블록도이고;
도 5는 현 주제의 일부 예시적인 구현들에 따른 프로세스 흐름도이고;
도 6은 현 주제의 일부 예시적인 구현에 따른 예시적인 인코더의 시스템 블록도이고; 및
도 7은 본 명세서에 개시된 방법론들 중 임의의 하나 이상 및 그의 임의의 하나 이상의 부분을 구현하기 위해 사용될 수 있는 컴퓨팅 시스템의 블록도이다.
도면들이 반드시 축척을 따라 그려질 필요는 없으며, 가상선, 도식적 표현 및 단편적 뷰로 나타낼 수 있다. 어떤 경우에는, 실시예들의 이해를 위해 반드시 필요한 것은 아니거나 또는 다른 세부사항들을 인지하기 어렵게 만드는 세부사항들은 생략되었을 수 있다. 여러 도면에 있어서 유사한 참조 부호들은 유사한 요소들을 가리킨다.
비디오에서의 글로벌 모션은 전체 프레임에서 발생하는 모션을 지칭한다. 글로벌 모션은 카메라 모션에 의해 야기될 수 있다; 예를 들어, 카메라 패닝(panning) 및 주밍(zooming)은 전형적으로 전체 프레임에 영향을 줄 수 있는 프레임 내의 모션을 생성한다. 비디오의 일부에 존재하는 모션은 로컬 모션이라고 지칭될 수 있다. 로컬 모션은 장면 내의 이동하는 객체들에 의해 야기될 수 있다. 예를 들어, 객체가 장면에서 좌측에서 우측으로 이동한다. 비디오들은 로컬 및 글로벌 모션의 조합을 포함할 수 있다. 현 주제의 일부 구현들은 압축 효율을 향상시키는 데 있어서 글로벌 모션을 디코더에 전달하기 위한 효율적인 접근법들 및 글로벌 모션 벡터들의 사용을 제공할 수 있다.
도 1은 글로벌 및 로컬 모션이 있는 예시적인 프레임(100)의 모션 벡터들을 나타낸 도면이다. 프레임(100)은 정사각형들로 나타낸 다수의 픽셀 블록, 및 화살표들로 나타낸 그들의 연관된 모션 벡터들을 포함할 수 있다. 위쪽 및 좌측을 가리키는 화살표들을 갖는 정사각형들(예를 들어, 픽셀의 블록들)은 글로벌 모션으로 간주될 수 있는 모션을 갖는 블록들을 표시하고, 다른 방향들을 가리키는 화살표들을 갖는 정사각형들(104로 표시됨)은 로컬 모션을 갖는 블록들을 표시할 수 있다. 도 1에 나타낸 예에서, 블록들 중 다수는 동일한 글로벌 모션을 갖는다. 픽처 파라미터 세트(PPS) 및/또는 시퀀스 파라미터 세트(SPS)와 같은, 헤더에서 글로벌 모션을 시그널링하고 시그널링된 글로벌 모션을 사용하는 것은 블록들에 의해 필요한 모션 벡터 정보를 줄일 수 있고, 개선된 예측이라는 결과를 낳을 수 있다. 예시적인 목적을 위해, 이하에서 설명되는 예들이 블록 레벨에서의 글로벌 또는 로컬 모션 벡터들의 결정 및/또는 적용을 언급하고 있지만, 글로벌 모션 벡터들은 다수의 블록으로 이루어진 영역들, 형상을 경계짓는 하나 이상의 선 및/또는 곡선이 각을 이루고 및/또는 곡선을 이룰 수 있는 기하학적 및/또는 지수적 코딩에 의해 정의되는 영역들(이들로 제한되지 않음)과 같은 임의의 기하학적 형태에 의해 경계지어진 영역들, 및/또는 프레임 및/또는 픽처의 전체를 비롯한 프레임 및/또는 픽처의 임의의 영역에 대해 결정 및/또는 적용될 수 있다. 시그널링이 프레임 레벨에서 및/또는 프레임의 헤더 및/또는 파라미터 세트에서 수행되는 것으로 본 명세서에서 설명되지만, 시그널링은 대안적으로 또는 추가적으로 서브-픽처 레벨에서 수행될 수 있으며, 여기서 서브-픽처는 전술한 바와 같이 프레임 및/또는 픽처의 임의의 영역을 포함할 수 있다.
일례로서, 여전히 도 1을 참조하면, 현재의 프레임 내의 블록들 및/또는 픽셀들의 변위를 기술하는 2개의 성분 MVx, MVy를 갖는 모션 벡터(MV)를 사용하여 간단한 병진 모션이 기술될 수 있다. 회전, 주밍, 및 워핑(warping)과 같은 더 복잡한 모션은 아핀 모션 벡터들을 사용하여 기술될 수 있고, 여기서 "아핀 모션 벡터"는, 본 개시내용에서 사용되는 바와 같이, 모션 동안 외형(apparent shape)을 변경하지 않고 비디오에서 뷰를 가로질러 이동하는 객체를 나타내는 픽셀들의 세트와 같은, 비디오 픽처 및/또는 픽처에 표현되는 픽셀들 또는 포인트들의 세트의 균일한 변위를 기술하는 벡터이다. 비디오 인코딩 및/또는 디코딩에 대한 일부 접근법들은 인터 픽처 코딩에서 모션 보상을 위해 4-파라미터 또는 6-파라미터 아핀 모델들을 사용할 수 있다.
또한 도 1을 참조하면 그리고 예로서, 6 파라미터 아핀 모션은 다음과 같이 기술될 수 있다:
x' = ax + by + c
y' = dx + ey + f
4 파라미터 아핀 모션은 다음과 같이 기술될 수 있다:
x' = ax + by + c
y' = -bx + ay + f
여기서, (x,y)와 (x',y')는 제각기 현재 및 참조 픽처들에서의 픽셀 위치들이고; a, b, c, d, e, 및 f는 아핀 모션 모델의 파라미터들이다.
여전히 도 1을 참조하면, 아핀 모션을 기술하기 위해 사용되는 파라미터들이 디코더에 시그널링되어 디코더에서 아핀 모션 보상을 적용할 수 있다. 일부 접근법들에서, 모션 파라미터들은 명시적으로 또는 병진 제어 포인트 모션 벡터들(control point motion vectors, CPMV들)을 시그널링한 다음, 병진 모션 벡터들로부터 아핀 모션 파라미터들을 도출함으로써 시그널링될 수 있다. 4-파라미터 아핀 모션 모델에 대한 아핀 모션 파라미터들을 도출하기 위해 2개의 제어 포인트 모션 벡터(CPMV)가 이용될 수 있고, 6-파라미터 모션 모델에 대한 파라미터들을 획득하기 위해 3개의 제어 포인트 병진 모션 벡터(CPMV)가 활용될 수 있다. 제어 포인트 모션 벡터들을 사용하여 아핀 모션 파라미터들을 시그널링하는 것은 아핀 모션 파라미터들을 시그널링하기 위한 효율적인 모션 벡터 코딩 방법들의 사용을 허용할 수 있다.
일 실시예에서, 여전히 도 1을 참조하면, PPS 및/또는 SPS에서의 sps_affine_enabled_flag는 아핀 모델 기반 모션 보상이 인터 예측을 위해 사용될 수 있는지를 특정할 수 있다. sps_affine_enabled_flag가 0인 경우, 신택스는 어떤 아핀 모델 기반 모션 보상도 CLVS(code later video sequence)에서 사용되지 않도록 제약될 수 있고, inter_affine_flag와 cu_affine_type_flag는 CLVS의 코딩 유닛 신택스에 존재하지 않을 수 있다. 그렇지 않으면(sps_affine_enabled_flag가 1인 경우), 아핀 모델 기반 모션 보상은 CLVS에서 사용될 수 있다.
계속해서 도 1을 참조하면, PPS 및/또는 SPS에서의 sps_affine_type_flag는 6-파라미터 아핀 모델 기반 모션 보상이 인터 예측을 위해 사용될 수 있는지를 특정할 수 있다. sps_affine_type_flag가 0인 경우, 신택스는 어떤 6-파라미터 아핀 모델 기반 모션 보상도 CLVS에서 사용되지 않도록 제약될 수 있고, cu_affine_type_flag는 CLVS의 코딩 유닛 신택스에 존재하지 않을 수 있다. 그렇지 않으면(sps_affine_type_flag가 1인 경우), 6-파라미터 아핀 모델 기반 모션 보상은 CLVS에서 사용될 수 있다. 존재하지 않을 때, sps_affine_type_flag의 값은 0인 것으로 추론될 수 있다.
계속해서 도 1을 참조하면, MV 예측 후보들의 리스트를 취급하는 것은 디코더에서 모션 보상을 활용하는 일부 압축 접근법들에서 수행되는 단계일 수 있다. 일부 접근법들은 공간적 및 시간적 모션 벡터 후보들의 사용을 정의할 수 있다. SPS 또는 PPS와 같은 헤더에서 시그널링되는 글로벌 모션은 비디오에서의 글로벌 모션의 존재를 나타낼 수 있다. 그러한 글로벌 모션은 프레임 내의 대부분의 블록들에 공통인 것으로 예상될 수 있다. 예측 후보로서 글로벌 모션을 사용함으로써 모션 벡터 코딩이 개선되고 비트레이트가 감소될 수 있다. MV 예측 리스트에 추가된 후보 MV는 글로벌 모션을 표현하기 위해 사용되는 모션 모델 및 인터 코딩에서 사용되는 모션 모델에 좌우되어 선택될 수 있다.
여전히 도 1에서, 글로벌 모션의 일부 구현들은 사용된 모션 모델에 좌우되어 하나 이상의 제어 포인트 모션 벡터(CPMV들)로 기술된다. 따라서, 사용되는 모션 모델에 좌우되어, 1개 내지 3개의 제어 포인트 모션 벡터가 이용가능할 수 있고, 예측을 위한 후보들로서 사용될 수 있다. 일부 구현들에서, 모든 이용 가능한 CPMV들은 리스트에 예측 후보들로서 추가될 수 있다. 모든 이용가능한 CPMV들을 추가하는 일반적인 경우는 양호한 모션 벡터 예측을 찾을 가능성을 증가시키고 압축 효율을 향상시킬 수 있다.
[표 1]
Figure pct00001
계속해서 도 1을 참조하면, 모션 벡터(MV) 예측 후보들의 리스트를 생성하는 것은 디코더에서 모션 보상을 수행하는 단계일 수 있다.
여전히 도 1을 참조하면, SPS와 같은 헤더에서 시그널링되는 글로벌 모션은 비디오에서의 글로벌 모션의 존재를 나타낼 수 있다. 이러한 글로벌 모션은 프레임 내의 많은 블록에 존재할 가능성이 있다. 따라서, 주어진 블록은 글로벌 모션과 유사한 모션을 가질 가능성이 있을 수 있다. 예측 후보로서 글로벌 모션을 사용함으로써 모션 벡터 코딩이 개선되고 비트레이트가 감소될 수 있다. 후보 MV는 MV 예측 리스트에 추가될 수 있고 후보 MV는 글로벌 모션을 나타내는 데 이용되는 모션 모델 및 인터 코딩에서 이용되는 모션 모델에 좌우되어 선택될 수 있다.
여전히 도 1을 참조하면, 글로벌 모션은 사용되는 모션 모델에 좌우되어 하나 이상의 제어 포인트 모션 벡터(CPMV들)로 기술될 수 있다. 따라서, 사용되는 모션 모델에 좌우되어, 1개 내지 3개의 제어 포인트 모션 벡터가 이용가능할 수 있고, 예측을 위한 후보들로서 사용될 수 있다. MV 예측 후보들의 리스트는 하나의 CPMV를 예측 후보 리스트에 선택적으로 추가함으로써 감소될 수 있다. 리스트 크기를 감소시키는 것은 계산 복잡도를 감소시키고 압축 효율을 향상시킬 수 있다.
일부 구현들에서, 여전히 도 1을 참조하면, 후보로서 선택된 CPMV는 다음의 표 3에 예시된 바와 같이, 미리 정의된 매핑에 따를 수 있다:
Figure pct00002
계속해서 도 1을 참조하면, 글로벌 모션으로부터의 선택적 예측 후보의 이용은 시퀀스 파라미터 세트의 픽처 파라미터 세트에서 시그널링될 수 있고, 그에 의해 인코딩 및 디코딩 복잡도를 감소시킨다.
여전히 도 1을 참조하면, 블록이 글로벌 모션과 유사한 모션을 가질 가능성이 있기 때문에, 글로벌 모션 벡터를 예측 리스트에 제1 후보로서 추가하는 것은 사용되는 예측 후보들을 시그널링하고 모션 벡터 차이들을 인코딩하는 데 필요한 비트를 감소시킬 수 있다.
계속해서 도 1을 참조하면, 모션 벡터(MV) 예측 후보들의 리스트를 생성하는 것은 디코더에서 모션 보상을 수행하는 단계일 수 있다.
여전히 도 1을 참조하면, SPS와 같은 헤더에서 시그널링되는 글로벌 모션은 비디오에서의 글로벌 모션의 존재를 나타낼 수 있다. 이러한 글로벌 모션은 프레임 내의 많은 블록에 존재할 가능성이 있을 수 있다. 따라서, 주어진 블록은 글로벌 모션과 유사한 모션을 가질 가능성이 있을 수 있다. 예측 후보로서 글로벌 모션을 사용함으로써 모션 벡터 코딩이 개선되고 비트레이트가 감소될 수 있다.
또한 도 1을 참조하면, 예를 들어, MV 예측 리스트에 추가되는 후보 MV는 어느 제어 포인트 모션 벡터(CPMV)가 이웃 블록들(예를 들어, 예측 유닛들(PU들))에서 예측 후보로서 선택되는지에 좌우되어 적응적으로 선택될 수 있다.
예를 들어, 여전히 도 1을 참조하면, 이웃 PU들이 특정 CPMV를 특정 제어 포인트에 대한 예측 MV로서 사용하는 경우, 그 CPMV는 MV 후보 리스트에 추가될 수 있다. 이웃 PU들이 예측 MV로서 하나보다 많은 CPMV를 이용한다면(예를 들어, 좌측 PU들은 CPMV0을 이용하고 상단 PU는 CPMV1을 이용한다면), 예측 후보들로서 이용되는 모든 CPMV들이 리스트에 추가될 수 있다. 이웃 PU들이 CPMV를 사용하지 않는 경우, 어떤 CPMV들도 예측 리스트에 추가되지 않을 수 있다. 일부 구현들에서, 글로벌 모션 정보는 예측 리스트에 제1 후보로서 추가될 수 있다.
도 1을 계속 참조하면, 글로벌 모션으로부터의 적응성 예측 후보의 사용은 픽처 파라미터 세트(PPS) 또는 시퀀스 파라미터 세트(SPS)와 같은 헤더에서 시그널링될 수 있으며, 그에 의해 인코딩 및 디코딩 복잡성을 줄일 수 있다.
여전히 도 1을 참조하면, 블록이 글로벌 모션과 유사한 모션을 가질 가능성이 있기 때문에, 글로벌 모션 벡터를 예측 리스트에 제1 후보로서 추가하는 것은 사용되는 예측 후보들을 시그널링하고 모션 벡터 차이들을 인코딩하는 데 필요한 비트들을 감소시킬 수 있다. 모션 벡터(MV) 예측 후보들의 리스트를 생성하는 것은 디코더에서 모션 보상을 수행하는 단계일 수 있다.
여전히 도 1을 참조하면, PPS 또는 SPS와 같은 헤더에서 시그널링되는 글로벌 모션은 비디오에서의 글로벌 모션의 존재를 나타낼 수 있다. 이러한 글로벌 모션은 프레임 내의 많은 블록에 존재할 가능성이 있다. 따라서, 주어진 블록은 글로벌 모션과 유사한 모션을 가질 가능성이 있을 수 있다. 예측 후보로서 글로벌 모션을 사용함으로써 모션 벡터 코딩이 개선되고 비트레이트가 감소될 수 있다. 또한, 글로벌 모션 모델 및 제어 포인트들을 병합 후보들로서 사용함으로써 인터 코딩이 개선되고 비트레이트가 감소될 수 있다.
일부 구현들에서, 도 1을 더 참조하면, 글로벌 모션이 PPS 또는 SPS와 같은 헤더에서 시그널링될 때, 모션 모델 및 제어 포인트 모션 벡터들(CPMV들)(함께 글로벌 모션 벡터들로 지칭됨)이 병합 후보 리스트에 추가될 수 있다. 글로벌 모션 병합 후보들의 사용은 압축 성능을 개선할 수 있다.
일부 구현들에서, 여전히 도 1을 참조하면, 강한 글로벌 모션은 대부분의 블록들이 글로벌 모션을 갖는 결과를 낳을 가능성이 있을 수 있다. 그러한 경우들에서, 압축 효율은 프레임 내의 주어진 블록(예를 들어, 예측 유닛(PU))에 대한 global_merge_mode의 사용을 시그널링함으로써 개선될 수 있다. global_merge_mode가 시그널링될 때, 블록(예컨대, PU)에서의 모션 보상을 위해 글로벌 모션 파라미터들이 사용될 수 있고, 어떤 병합 후보 리스트도 생성될 수 없다. 이 방법은 또한 디코더에서의 계산 복잡도를 감소시킬 수 있다. 도 2는 그들의 인덱스 값(0, 1 또는 2)을 포함하여, 글로벌 모션에 대해 활용될 수 있는 3개의 예시적인 모션 모델을 나타낸다.
여전히 도 2를 참조하면, PPS들은 시퀀스의 픽처들 사이에서 변할 수 있는 파라미터들을 시그널링하기 위해 사용될 수 있다. 픽처들의 시퀀스에 대해 동일하게 유지되는 파라미터들은 PPS의 크기를 줄이고 비디오 비트레이트를 줄이기 위해 시퀀스 파라미터 세트에서 시그널링될 수 있다. 예시적인 픽처 파라미터 세트(PPS)가 표 2에 나타나 있다:
Figure pct00003
Figure pct00004
Figure pct00005
Figure pct00006
Figure pct00007
글로벌 모션을 시그널링하기 위해 PPS에 추가적인 필드들이 추가될 수 있다. 글로벌 모션의 경우에, 픽처들의 시퀀스에서 글로벌 모션 파라미터들의 존재는 SPS에서 시그널링될 수 있고, PPS는 SPS ID에 의해 SPS를 참조할 수 있다. 디코딩에 대한 일부 접근법들에서의 SPS는 SPS에서의 글로벌 모션 파라미터의 존재를 시그널링하기 위해 필드를 추가하도록 수정될 수 있다. 예를 들어, 1 비트 필드가 SPS에 추가될 수 있다. global_motion_present 비트가 1인 경우, 글로벌 모션 관련 파라미터들이 PPS에서 예상될 수 있다. global_motion_present 비트가 0인 경우, 어떤 글로벌 모션 파라미터 관련 필드들도 PPS에 존재하지 않을 수 있다. 예를 들어, 표 2의 PPS는, 예를 들어, 표 3에 나타낸 바와 같이, global_motion_present 필드를 포함하도록 확장될 수 있다:
Figure pct00008
유사하게, PPS는 예를 들어, 표 4에 나타낸 바와 같이, 프레임에 대한 pps_global_motion_parameters 필드를 포함할 수 있다:
Figure pct00009
보다 상세하게는, PPS는, 예를 들어, 표 5에 나타낸 바와 같이, 제어 포인트 모션 벡터들을 사용하여 글로벌 모션 파라미터들을 특징짓는 필드들을 포함할 수 있다.
Figure pct00010
추가의 비제한적인 예로서, 이하의 표 6은 예시적인 SPS를 표현할 수 있다:
Figure pct00011
Figure pct00012
Figure pct00013
Figure pct00014
Figure pct00015
Figure pct00016
Figure pct00017
Figure pct00018
상기한 바와 같은 SPS 테이블은 표 7에 나타낸 바와 같은 글로벌 모션 존재 표시자를 통합하도록 전술한 바와 같이 확장될 수 있다:
Figure pct00019
추가적인 필드들이 본 개시내용에서 설명된 바와 같은 추가의 표시자들을 반영하기 위해 SPS에 통합될 수 있다.
일 실시예에서, 여전히 도 2를 참조하면, PPS 및/또는 SPS에서의 sps_affine_enabled_flag는 아핀 모델 기반 모션 보상이 인터 예측을 위해 사용될 수 있는지를 특정할 수 있다. sps_affine_enabled_flag가 0인 경우, 신택스는 어떤 아핀 모델 기반 모션 보상도 CLVS(code later video sequence)에서 사용되지 않도록 제약될 수 있고, inter_affine_flag와 cu_affine_type_flag는 CLVS의 코딩 유닛 신택스에 존재하지 않을 수 있다. 그렇지 않으면(sps_affine_enabled_flag가 1인 경우), 아핀 모델 기반 모션 보상은 CLVS에서 사용될 수 있다.
계속해서 도 2를 참조하면, PPS 및/또는 SPS에서의 sps_affine_type_flag는 6-파라미터 아핀 모델 기반 모션 보상이 인터 예측을 위해 사용될 수 있는지를 특정할 수 있다. sps_affine_type_flag가 0인 경우, 신택스는 어떤 6-파라미터 아핀 모델 기반 모션 보상도 CLVS에서 사용되지 않도록 제약될 수 있고, cu_affine_type_flag는 CLVS의 코딩 유닛 신택스에 존재하지 않을 수 있다. 그렇지 않으면(sps_affine_type_flag가 1인 경우), 6-파라미터 아핀 모델 기반 모션 보상은 CLVS에서 사용될 수 있다. 존재하지 않을 때, sps_affine_type_flag의 값은 0인 것으로 추론될 수 있다.
여전히 도 2를 참조하면, 병진 CPMV들이 PPS에서 시그널링될 수 있다. 제어 포인트들은 미리 정의될 수 있다. 예를 들어, 제어 포인트 MV 0은 픽처의 좌측 상단 코너에 대한 것일 수 있고, MV 1은 우측 상단 코너에 대한 것일 수 있고, MV 3은 픽처의 좌측 하단 코너에 대한 것일 수 있다. 표 5는 사용되는 모션 모델에 좌우되어 CPMV 데이터를 시그널링하기 위한 예시적인 접근법을 나타낸 것이다.
예시적인 실시예에서, 그리고 여전히 도 2를 참조하면, 코딩 유닛, 코딩 트리 또는 그와 유사한 것에서 시그널링될 수 있는 어레이 amvr_precision_idx는 모션 벡터 차이의 해상도 AmvrShift를 특정할 수 있으며, 이는 아래에 나타낸 표 8에 나타낸 바와 같이 비제한적인 예로서 정의될 수 있다. 어레이 인덱스들 x0, y0은 픽처의 좌측 상단 루마 샘플에 대한 고려된 코딩 블록의 좌측 상단 루마 샘플의 위치 (x0, y0)를 특정할 수 있고; amvr_precision_idx[ x0 ][ y0 ]이 존재하지 않을 때, 0인 것으로 추론될 수 있다. inter_affine_flag[ x0 ][ y0 ]이 0일 때, 고려된 블록에 대응하는 모션 벡터 차이 값들을 표현하는 변수들 MvdL0[ x0 ][ y0 ][ 0 ], MvdL0[ x0 ][ y0 ][ 1 ], MvdL1[ x0 ][ y0 ][ 0 ], MvdL1[ x0 ][ y0 ][ 1 ]은, 예를 들어, MvdL0[ x0 ][ y0 ][ 0 ] = MvdL0[ x0 ][ y0 ][ 0 ]  << AmvrShift; MvdL0[ x0 ][ y0 ][ 1 ] = MvdL0[ x0 ][ y0 ][ 1 ]  <<  AmvrShift; MvdL1[ x0 ][ y0 ][ 0 ] = MvdL1[ x0 ][ y0 ][ 0 ]  <<  AmvrShift; MvdL1[ x0 ][ y0 ][ 1 ] = MvdL1[ x0 ][ y0 ][ 1 ]  <<  AmvrShift를 사용하여, 이러한 값들을 AmvrShift만큼 시프팅함으로써 수정될 수 있다. inter_affine_flag[ x0 ][ y0 ]이 1일 때, 변수들 MvdCpL0[ x0 ][ y0 ][ 0 ][ 0 ], MvdCpL0[ x0 ][ y0 ][ 0 ][ 1 ], MvdCpL0[ x0 ][ y0 ][ 1 ][ 0 ], MvdCpL0[ x0 ][ y0 ][ 1 ][ 1 ], MvdCpL0[ x0 ][ y0 ][ 2 ][ 0 ] 및 MvdCpL0[ x0 ][ y0 ][ 2 ][ 1 ]은, 예를 들어, 다음과 같은 시프팅을 통해 수정될 수 있다:
MvdCpL0[ x0 ][ y0 ][ 0 ][ 0 ] = MvdCpL0[ x0 ][ y0 ][ 0 ][ 0 ]  <<  AmvrShift; MvdCpL1[ x0 ][ y0 ][ 0 ][ 1 ] = MvdCpL1[ x0 ][ y0 ][ 0 ][ 1 ]  <<  AmvrShift; MvdCpL0[ x0 ][ y0 ][ 1 ][ 0 ] = MvdCpL0[ x0 ][ y0 ][ 1 ][ 0 ]  <<  AmvrShift; MvdCpL1[ x0 ][ y0 ][ 1 ][ 1 ] = MvdCpL1[ x0 ][ y0 ][ 1 ][ 1 ]  <<  AmvrShift; MvdCpL0[ x0 ][ y0 ][ 2 ][ 0 ] = MvdCpL0[ x0 ][ y0 ][ 2 ][ 0 ]  <<  AmvrShift; 및
MvdCpL1[ x0 ][ y0 ][ 2 ][ 1 ] = MvdCpL1[ x0 ][ y0 ][ 2 ][ 1 ]  <<  AmvrShift.
Figure pct00020
도 3은 글로벌 모션 벡터를 모션 벡터 후보 리스트에 추가하는 것을 포함하는 병합 후보 리스트를 구성하는 예시적인 프로세스(300)를 예시하는 프로세스 흐름도이다.
단계(305)에서, 비트스트림이 디코더에 의해 수신된다. 현재 블록은 디코더가 수신하는 비트스트림 내에 포함될 수 있다. 비트스트림은, 예를 들어, 데이터 압축을 사용할 때 디코더에 대한 입력인 비트들의 스트림에서 발견된 데이터를 포함할 수 있다. 비트스트림은 비디오를 디코딩하는 데 필요한 정보를 포함할 수 있다. 수신은 비트스트림으로부터 블록 및 연관된 시그널링 정보를 추출 및/또는 파싱하는 것을 포함할 수 있다. 일부 구현들에서, 현재 블록은 코딩 트리 유닛(CTU), 코딩 유닛(CU), 및/또는 예측 유닛(PU)을 포함할 수 있다. 단계(310)에서, 병합 모드가 인에이블되는 것이 현재 블록에 대해 그리고 비트스트림을 사용하여 결정된다. 단계 315에서, 병합 후보 리스트가 구성된다; 구성하는 단계는 글로벌 모션 벡터를 모션 벡터 후보 리스트에 추가하는 단계를 포함한다. 단계(340)에서, 현재 블록의 픽셀 데이터가 모션 벡터 후보 리스트를 사용하여 재구성될 수 있다.
도 4는 글로벌 모션 벡터를 모션 벡터 후보 리스트에 추가하는 것을 포함하는 병합 후보 리스트를 구성하는 것을 포함하여 비트스트림을 디코딩할 수 있는 예시적인 디코더(400)를 예시하는 시스템 블록도이다. 디코더(400)는 엔트로피 디코더 프로세서(404), 역양자화 및 역변환 프로세서(408), 블록해제 필터(412), 프레임 버퍼(416), 모션 보상 프로세서(420), 및/또는 인트라 예측 프로세서(424)를 포함할 수 있다.
동작에서, 여전히 도 4를 참조하면, 비트 스트림(428)은 디코더(400)에 의해 수신되고, 비트 스트림의 부분들을 양자화된 계수들로 엔트로피 디코딩할 수 있는 엔트로피 디코더 프로세서(404)에 입력될 수 있다. 양자화된 계수들은 역양자화 및 역변환을 수행하여 잔차 신호를 생성할 수 있는 역양자화 및 역변환 프로세서(408)에 제공될 수 있으며, 이 잔차 신호는 처리 모드에 따라 모션 보상 프로세서(420) 또는 인트라 예측 프로세서(424)의 출력에 추가될 수 있다. 모션 보상 프로세서(420) 및 인트라 예측 프로세서(424)의 출력은 이전에 디코딩된 블록에 기초한 블록 예측을 포함할 수 있다. 예측 및 잔차의 합은 블록해제 필터(412)에 의해 처리되고 프레임 버퍼(416)에 저장될 수 있다.
도 5는 압축 효율을 증가시키면서 인코딩 복잡도를 감소시킬 수 있는 현재 주제의 일부 양태들에 따라 글로벌 모션 벡터를 모션 벡터 후보 리스트에 추가하는 것을 포함하는 병합 후보 리스트를 구성하는 것으로 비디오를 인코딩하는 예시적인 프로세스(500)를 예시하는 프로세스 흐름도이다. 단계(505)에서, 비디오 프레임은, 예를 들어, 픽처 프레임을 CTU들 및 CU들로 파티셔닝하는 것을 포함할 수 있는 트리-구조 매크로 블록 파티셔닝 스킴을 사용하여 초기 블록 세그먼트화를 거칠 수 있다. 단계(510)에서, 글로벌 모션이 결정될 수 있다. 단계(515)에서, 블록이 인코딩되어 비트스트림에 포함될 수 있다. 인코딩은 글로벌 모션 벡터를 모션 벡터 후보 리스트에 추가하는 것을 포함하는 병합 후보 리스트를 구성하는 것을 포함할 수 있다. 인코딩은, 예를 들어, 인터 예측 및 인트라 예측 모드들을 이용하는 것을 포함할 수 있다.
도 6은 글로벌 모션 벡터를 모션 벡터 후보 리스트에 추가하는 것을 포함하는 병합 후보 리스트를 구성할 수 있는 예시적인 비디오 인코더(600)를 예시하는 시스템 블록도이다. 예시적인 비디오 인코더(600)는 입력 비디오(604)를 수신하며, 이것은 트리-구조 매크로 블록 파티셔닝 스킴(tree-structured macro block partitioning scheme)(예를 들어, 쿼드 트리 + 이진 트리(quad-tree plus binary tree))과 같은 처리 스킴에 따라 초기에 세그먼트화되거나 분할될 수 있다. 트리-구조 매크로 블록 파티셔닝 스킴의 예는 픽처 프레임을 코딩 트리 유닛들(coding tree units)(CTU)로 지칭되는 큰 블록 요소들로 파티셔닝하는 것을 포함할 수 있다. 일부 구현들에서, 각각의 CTU는 코딩 유닛들(coding units, CU)로 지칭되는 다수의 서브-블록들로 일회 이상 추가로 파티셔닝될 수 있다. 이러한 포셔닝(portioning)의 최종 결과는 예측 유닛들(predictive units)(PU)로 불릴 수 있는 서브-블록들의 그룹을 포함할 수 있다. 변환 유닛들(transform units, TU)도 활용될 수 있다.
여전히 도 6을 참조하면, 예시적인 비디오 인코더(600)는 인트라 예측 프로세서(608), 모션 벡터 후보 리스트에 글로벌 모션 벡터 후보를 추가하는 것을 포함하는 모션 벡터 후보 리스트를 구성할 수 있는, 인터 예측 프로세서라고도 지칭될 수 있는 모션 추정/보상 프로세서(612), 변환/양자화 프로세서(616), 역 양자화/역 변환 프로세서(620), 인 루프 필터(624), 디코딩된 픽처 버퍼(628), 및/또는 엔트로피 코딩 프로세서(632)를 포함할 수 있다. 비트 스트림 파라미터들은 출력 비트 스트림(636)에의 포함을 위해 엔트로피 코딩 프로세서(632)에 입력될 수 있다.
동작에서, 계속해서 도 6을 참조하면, 입력 비디오(604)의 프레임의 각각의 블록에 대해, 인트라 픽처 예측을 통해 또는 모션 추정/보상을 사용하여 블록을 처리할 것인지가 결정될 수 있다. 블록은 인트라 예측 프로세서(608) 또는 모션 추정/보상 프로세서(612)에 제공될 수 있다. 블록이 인트라 예측을 통해 처리되는 경우, 인트라 예측 프로세서(608)는 예측자(predictor)를 출력하기 위한 처리를 수행할 수 있다. 블록이 모션 추정/보상을 통해 처리될 것이라면, 모션 추정/보상 프로세서(612)는, 적용가능하다면, 글로벌 모션 벡터 후보를 모션 벡터 후보 리스트에 추가하는 것을 포함하는 모션 벡터 후보 리스트를 구성하는 것을 포함하는 처리를 수행할 수 있다.
추가로 도 6을 참조하면, 입력 비디오로부터 예측자를 감산함으로써 잔차가 형성될 수 있다. 잔차는 변환/양자화 프로세서(616)에 의해 수신될 수 있으며, 이것은 양자화될 수 있는 계수들을 생성하기 위해 변환 처리(예를 들어, 이산 코사인 변환(discrete cosine transform, DCT))를 수행할 수 있다. 양자화된 계수들 및 임의의 연관된 시그널링 정보는 엔트로피 인코딩 및 출력 비트스트림(636)에의 포함을 위해 엔트로피 코딩 프로세서(632)에 제공될 수 있다. 엔트로피 인코딩 프로세서(632)는 현재 블록의 인코딩과 관련된 시그널링 정보의 인코딩을 지원할 수 있다. 또한, 양자화된 계수들은 역양자화/역변환 프로세서(620)에 제공될 수 있고, 역양자화/역변환 프로세서는 픽셀들을 재생할 수 있고, 이 픽셀들은 예측기와 조합되어 인 루프 필터(624)에 의해 처리될 수 있고, 인 루프 필터의 출력은 모션 벡터 후보 리스트에 글로벌 모션 벡터 후보를 추가하는 것을 포함하여 모션 벡터 후보 리스트를 구성할 수 있는 모션 추정/보상 프로세서(612)에 의한 사용을 위해 디코딩된 화상 버퍼(628)에 저장될 수 있다.
도 6을 계속 참조하면, 몇몇 변형들이 위에서 상세히 설명되었지만, 다른 수정들 또는 추가들이 가능하다. 예를 들어, 일부 구현들에서, 현재 블록들은 임의의 대칭 블록들(8x8, 16x16, 32x32, 64x64, 128x128 등)뿐만 아니라 임의의 비대칭 블록(8x4, 16x8 등)을 포함할 수 있다.
일부 구현들에서, 여전히 도 6을 참조하면, 쿼드트리 + 이진 결정 트리(QTBT)가 구현될 수 있다. QTBT에서, 코딩 트리 유닛 레벨에서, QTBT의 파티션 파라미터들은 임의의 오버헤드를 송신하지 않고서 로컬 특성들에 적응하도록 동적으로 도출될 수 있다. 후속하여, 코딩 유닛 레벨에서, 조인트-분류기 결정 트리 구조가 불필요한 반복들을 제거하고 잘못된 예측의 위험을 제어할 수 있다. 일부 구현들에서, LTR 프레임 블록 갱신 모드가 QTBT의 모든 리프 노드(leaf node)마다에서 이용가능한 추가 옵션으로서 이용가능할 수 있다.
일부 구현들에서, 여전히 도 6을 참조하면, 추가적인 신택스 요소들이 비트스트림의 상이한 계층구조 레벨들에서 시그널링될 수 있다. 예를 들어, 플래그는 SPS(Sequence Parameter Set)에서 코딩된 인에이블 플래그를 포함함으로써 전체 시퀀스에 대해 인에이블될 수 있다. 또한, CTU 플래그는 코딩 트리 유닛(CTU) 레벨에서 코딩될 수 있다.
본 명세서에서 설명되는 양태들 및 실시예들 중 임의의 하나 이상은, 컴퓨터 기술분야의 통상의 기술자들에게 명백한 바와 같이, 본 명세서의 교시들에 따라 프로그래밍된 하나 이상의 머신(예를 들어, 전자 문서를 위한 사용자 컴퓨팅 디바이스, 문서 서버와 같은 하나 이상의 서버 디바이스 등으로서 활용되는 하나 이상의 컴퓨팅 디바이스)에서 실현 및/또는 구현되는 바와 같은 디지털 전자 회로, 집적 회로, 특별히 설계된 주문형 집적 회로(application specific integrated circuit, ASIC)들, 필드 프로그래머블 게이트 어레이(field programmable gate array, FPGA) 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 그것의 조합들을 사용하여 편리하게 구현될 수 있다는 것에 유의한다. 이러한 다양한 양태들 또는 특징들은 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령어들을 수신하고, 이들에 데이터 및 명령어들을 송신하도록 결합되는, 특수 또는 일반 목적일 수 있는, 적어도 하나의 프로그래머블 프로세서를 포함하는 프로그래머블 시스템 상에서 실행가능하고 및/또는 해석가능한 하나 이상의 컴퓨터 프로그램 및/또는 소프트웨어에서의 구현을 포함할 수 있다. 소프트웨어 분야의 통상의 기술자들에게 명백한 바와 같이, 적절한 소프트웨어 코딩은 본 개시내용의 교시들에 기초하여 숙련된 프로그래머들에 의해 쉽게 준비될 수 있다. 소프트웨어 및/또는 소프트웨어 모듈들을 채택하는 위에서 논의된 양태들 및 구현들은 또한 소프트웨어 및/또는 소프트웨어 모듈의 머신 실행가능 명령어들의 구현을 지원하기 위한 적절한 하드웨어를 포함할 수 있다.
이러한 소프트웨어는 머신 판독가능 저장 매체를 채택하는 컴퓨터 프로그램 제품일 수 있다. 머신 판독가능 저장 매체는 머신(예를 들어, 컴퓨팅 디바이스)에 의한 실행을 위한 명령어들의 시퀀스를 저장 및/또는 인코딩할 수 있고 머신으로 하여금 본 명세서에 설명된 방법론들 및/또는 실시예들 중 임의의 하나를 수행하게 야기하는 임의의 매체일 수 있다. 머신 판독가능 저장 매체의 예들은 자기 디스크, 광 디스크(예를 들어, CD, CD-R, DVD, DVD-R 등), 광-자기 디스크, 판독 전용 메모리 "ROM" 디바이스, 랜덤 액세스 메모리 "RAM" 디바이스, 마그네틱 카드, 광학 카드, 솔리드 스테이트 메모리 디바이스, EPROM, EEPROM, 프로그래머블 로직 디바이스(Programmable Logic Device, PLD)들, 및/또는 이들의 임의의 조합들을 포함하지만, 이에 제한되지는 않는다. 본 명세서에 사용된 머신 판독가능 매체는 단일 매체뿐만 아니라, 예를 들어, 컴퓨터 메모리와 결합된 하나 이상의 하드 디스크 드라이브 또는 컴팩트 디스크들의 모음과 같은 물리적으로 분리된 매체의 모음을 포함하도록 의도된다. 본 명세서에서 사용되는 바와 같이, 머신 판독가능 저장 매체는 일시적인 형태들의 신호 송신을 포함하지 않는다.
이러한 소프트웨어는 또한 반송파와 같은 데이터 캐리어 상에서 데이터 신호로서 운반되는 정보(예를 들어, 데이터)를 포함할 수 있다. 예를 들어, 머신 실행가능 정보는 데이터 캐리어에서 구체화되는 데이터-운반 신호로서 포함될 수 있으며, 여기서 신호는 머신(예를 들어, 컴퓨팅 디바이스)에 의한 실행을 위한 명령어의 시퀀스 또는 그 일부, 및 머신으로 하여금 본 명세서에 설명된 방법론들 및/또는 실시예들 중 임의의 하나를 수행하게 야기하는 임의의 관련된 정보(예를 들어, 데이터 구조들 및 데이터)를 인코딩한다.
컴퓨팅 디바이스의 예들은 전자 책 판독 디바이스, 컴퓨터 워크스테이션, 단말기 컴퓨터, 서버 컴퓨터, 핸드헬드 디바이스(예를 들어, 태블릿 컴퓨터, 스마트폰 등), 웹 기기, 네트워크 라우터, 네트워크 스위치, 네트워크 브리지, 해당 머신에 의해 취해질 액션을 지정하는 명령어들의 시퀀스를 실행할 수 있는 임의의 머신, 및 이들의 임의의 조합들을 포함하지만, 이에 제한되지는 않는다. 일 예에서, 컴퓨팅 디바이스는 키오스크를 포함하고/하거나 그에 포함될 수 있다.
도 7은 컴퓨팅 디바이스의 일 실시예의 도식적 표현을, 제어 시스템으로 하여금 본 개시내용의 양태들 및/또는 방법론들 중 임의의 하나 이상을 수행하게 야기하기 위한 명령어들의 세트가 실행될 수 있는 예시적인 형태의 컴퓨터 시스템(700)으로 도시한다. 또한, 다수의 컴퓨팅 디바이스들이 디바이스들 중 하나 이상으로 하여금 본 개시내용의 양태들 및/또는 방법론들 중 임의의 하나 이상을 수행하게 야기하기 위해 특별히 구성된 명령어들의 세트를 구현하는 데 활용될 수 있다는 것이 고려된다. 컴퓨터 시스템(700)은 버스(712)를 통해 서로 그리고 다른 컴포넌트들과 통신하는 프로세서(704) 및 메모리(708)를 포함한다. 버스(712)는 다양한 버스 아키텍처들 중 임의의 것을 사용하는 메모리 버스, 메모리 제어기, 주변기기 버스, 로컬 버스 및 이들의 임의의 조합들을 포함하되, 이에 제한되지는 않는 수개의 타입의 버스 구조들 중 임의의 것을 포함할 수 있다.
메모리(708)는 랜덤 액세스 메모리 컴포넌트, 판독 전용 컴포넌트 및 이들의 임의의 조합들을 포함하되, 이에 제한되지는 않는 다양한 컴포넌트들(예를 들어, 머신 판독가능 매체)을 포함할 수 있다. 일 예에서, 예를 들어, 시동 동안 컴퓨터 시스템(700) 내의 요소들 사이에서 정보를 송신하는 것을 돕는 기본 루틴들을 포함하는 기본 입/출력 시스템(716)(BIOS)이 메모리(708)에 저장될 수 있다. 메모리(708)는 또한 본 개시내용의 양태들 및/또는 방법론들 중 임의의 하나 이상을 구체화하는 명령어들(예를 들어, 소프트웨어)(720)을 포함할 수 있다(예를 들어, 하나 이상의 머신 판독가능 매체 상에 저장할 수 있다). 또 다른 예에서, 메모리(708)는 운영 체제, 하나 이상의 애플리케이션 프로그램, 다른 프로그램 모듈들, 프로그램 데이터, 및 이들의 임의의 조합을 포함하되, 이에 제한되지는 않는 임의의 수의 프로그램 모듈을 추가로 포함할 수 있다.
컴퓨터 시스템(700)은 또한 저장 디바이스(724)를 포함할 수 있다. 저장 디바이스(예를 들어, 저장 디바이스(724))의 예들은 하드 디스크 드라이브, 자기 디스크 드라이브, 광학 매체와 결합된 광 디스크 드라이브, 솔리드 스테이트 메모리 디바이스, 및 이들의 임의의 조합들을 포함하지만, 이에 제한되지는 않는다. 저장 디바이스(724)는 적절한 인터페이스(도시되지 않음)에 의해 버스(712)에 접속될 수 있다. 예시적인 인터페이스들은 SCSI, ATA(advanced technology attachment), 직렬 ATA, USB(universal serial bus), IEEE 1394(FIREWIRE), 및 이들의 임의의 조합들을 포함하지만, 이에 제한되지는 않는다. 일 예에서, 저장 디바이스(724)(또는 그것의 하나 이상의 컴포넌트)는 (예를 들어, 외부 포트 커넥터(도시 생략)를 통해) 컴퓨터 시스템(700)과 이동식으로 인터페이스될 수 있다. 특히, 저장 디바이스(724) 및 연관된 머신 판독가능 매체(728)는 컴퓨터 시스템(700)에 대한 머신 판독가능 명령어들, 데이터 구조들, 프로그램 모듈들 및/또는 다른 데이터의 비휘발성 및/또는 휘발성 저장을 제공할 수 있다. 일 예에서, 소프트웨어(720)는 머신 판독가능 매체(728) 내에 완전히 또는 부분적으로 상주할 수 있다. 또 다른 예에서, 소프트웨어(720)는 프로세서(704) 내에 완전히 또는 부분적으로 상주할 수 있다.
컴퓨터 시스템(700)은 또한 입력 디바이스(732)를 포함할 수 있다. 일 예에서, 컴퓨터 시스템(700)의 사용자는 입력 디바이스(732)를 통해 명령들 및/또는 다른 정보를 컴퓨터 시스템(700)에 입력할 수 있다. 입력 디바이스(732)의 예들은 영숫자 입력 디바이스(예를 들어, 키보드), 포인팅 디바이스, 조이스틱, 게임 패드, 오디오 입력 디바이스(예를 들어, 마이크로폰, 음성 응답 시스템 등), 커서 제어 디바이스(예를 들어, 마우스), 터치 패드, 광학 스캐너, 비디오 캡처 디바이스(예를 들어, 스틸 카메라, 비디오 카메라), 터치 스크린, 및 이들의 임의의 조합들을 포함하지만, 이에 제한되지는 않는다. 입력 디바이스(732)는 직렬 인터페이스, 병렬 인터페이스, 게임 포트, USB 인터페이스, FIREWIRE 인터페이스, 버스(712)에 대한 직접 인터페이스, 및 이들의 임의의 조합들을 포함하되, 이에 제한되지는 않는 다양한 인터페이스들(도시 생략) 중 임의의 것을 통해 버스(712)에 인터페이스될 수 있다. 입력 디바이스(732)는 아래에서 추가로 논의되는 디스플레이(736)의 일부이거나 이와 별개일 수 있는 터치 스크린 인터페이스를 포함할 수 있다. 입력 디바이스(732)는 위에서 설명된 바와 같이 그래픽 인터페이스에서 하나 이상의 그래픽 표현을 선택하기 위한 사용자 선택 디바이스로서 활용될 수 있다.
사용자는 또한 저장 디바이스(724)(예를 들어, 이동식 디스크 드라이브, 플래시 드라이브 등) 및/또는 네트워크 인터페이스 디바이스(740)를 통해 컴퓨터 시스템(700)에 명령들 및/또는 다른 정보를 입력할 수 있다. 네트워크 인터페이스 디바이스(740)와 같은 네트워크 인터페이스 디바이스는 컴퓨터 시스템(700)을 네트워크(744)와 같은 다양한 네트워크들 및 그에 연결된 하나 이상의 원격 디바이스(748) 중 하나 이상에 연결하기 위해 활용될 수 있다. 네트워크 인터페이스 디바이스의 예들은, 네트워크 인터페이스 카드(예컨대, 모바일 네트워크 인터페이스 카드, LAN 카드), 모뎀, 및 이들의 임의의 조합을 포함하지만 이에 제한되지는 않는다. 네트워크의 예들은 광역 네트워크(예를 들어, 인터넷, 기업 네트워크), 근거리 네트워크(예를 들어, 사무실, 건물, 캠퍼스 또는 다른 비교적 작은 지리적 공간과 연관된 네트워크), 전화 네트워크, 전화/음성 공급자와 연관된 데이터 네트워크(예를 들어, 이동 통신 공급자 데이터 및/또는 음성 네트워크), 두 컴퓨팅 디바이스 사이의 직접 연결, 및 이들의 임의의 조합들을 포함하지만, 이에 제한되지는 않는다. 네트워크(744)와 같은 네트워크는 유선 및/또는 무선 통신 모드를 채택할 수 있다. 일반적으로, 임의의 네트워크 토폴로지가 사용될 수 있다. 정보(예를 들어, 데이터, 소프트웨어(720) 등)는 네트워크 인터페이스 디바이스(740)를 통해 컴퓨터 시스템(700)에 및/또는 그로부터 통신될 수 있다.
컴퓨터 시스템(700)은 디스플레이 디바이스(736)와 같은 디스플레이 디바이스에 디스플레이 가능한 이미지를 통신하기 위한 비디오 디스플레이 어댑터(752)를 추가로 포함할 수 있다. 디스플레이 디바이스의 예들은 액정 디스플레이(liquid crystal display, LCD), 음극선관(cathode ray tube, CRT), 플라즈마 디스플레이, 발광 다이오드(light emitting diode, LED) 디스플레이, 및 이들의 임의의 조합들을 포함하지만, 이에 제한되지는 않는다. 디스플레이 어댑터(752) 및 디스플레이 디바이스(736)는 본 개시내용의 양태들의 그래픽 표현들을 제공하기 위해 프로세서(704)와 조합하여 활용될 수 있다. 디스플레이 디바이스 이외에, 컴퓨터 시스템(700)은 오디오 스피커, 프린터, 및 이들의 임의의 조합들을 포함하되, 이에 제한되지는 않는 하나 이상의 다른 주변기기 출력 디바이스를 포함할 수 있다. 이러한 주변기기 출력 디바이스들은 주변기기 인터페이스(756)를 통해 버스(712)에 접속될 수 있다. 주변기기 인터페이스의 예들은 직렬 포트, USB 연결, FIREWIRE 연결, 병렬 연결, 및 이들의 임의의 조합들을 포함하지만, 이에 제한되지는 않는다.
전술한 내용은 본 발명의 예시적인 실시예들에 대한 상세한 설명이었다. 다양한 수정 및 추가가 본 발명의 사상 및 범위로부터 벗어나지 않고 이루어질 수 있다. 위에서 설명된 다양한 실시예의 각각의 특징은 연관된 새로운 실시예들에서 다수의 특징 조합을 제공하기 위해서 적절한 대로 다른 설명된 실시예들의 특징과 조합될 수 있다. 또한, 전술한 내용이 많은 개별적인 실시예를 설명하였지만, 본 명세서에서 설명된 것은 단지 본 발명의 원리의 적용의 예시이다. 또한, 본 명세서의 특정 방법들이 특정 순서로 수행되는 것으로 예시 및/또는 설명될 수 있지만, 본 명세서에 개시된 실시예들을 달성하기 위해 순서는 통상의 기술 내에서 매우 가변적이다. 따라서, 이러한 설명은 단지 예로서 취해지도록 의도되고, 본 발명의 범위를 다르게 제한하지 않는다.
상기 설명 및 청구범위에서, "~중 적어도 하나" 또는 "~중 하나 이상"과 같은 구문 이전에 요소 또는 특징의 접속어 리스트가 등장할 수 있다. 용어 "및/또는"이 2개 이상의 요소 또는 특징의 리스트에서 또한 등장할 수 있다. 이것이 사용되는 맥락에 의해 암시적으로 또는 명시적으로 달리 모순되지 않으면, 이러한 구문은 임의의 열거된 요소 또는 특징을 개별적으로 또는 임의의 기재된 요소 또는 특징을 임의의 다른 기재된 요소 또는 특징과 조합하여 의미하도록 의도된다. 예를 들어, 문구들 "A 및 B 중 적어도 하나"; "A 및 B 중 하나 이상"; 및 "A 및/또는 B"는 각각 "A 단독, B 단독, 또는 A 및 B 함께"를 의미하도록 의도된다. 유사한 해석이 또한 3개 이상의 항목을 포함하는 리스트들을 위해 의도된다. 예를 들어, 문구들 "A, B, 및 C 중 적어도 하나"; "A, B, 및 C 중 하나 이상"; 및 "A, B, 및/또는 C"는 각각 "A 단독, B 단독, C 단독, A와 B 함께, A와 C 함께, B와 C 함께, 또는 A와 B와 C 함께"를 의미하도록 의도된다. 또한, 상기 및 청구항들에서 용어 "~에 기초하여"의 사용은, 기재되지 않은 특징 또는 요소가 또한 허용가능하도록, "~에 적어도 부분적으로 기초하여"를 의미하도록 의도된다.
본 명세서에 기재된 주제는 원하는 구성에 좌우되어 시스템, 장치, 방법, 및/또는 물품에 구체화될 수 있다. 전술한 설명에서 제시된 구현들은 본 명세서에 설명된 주제와 일치하는 모든 구현을 나타내는 것은 아니다. 대신에, 이들은 단지 설명되는 주제와 관련된 양태들과 일관되는 몇몇 예이다. 몇 개의 변형이 위에서 상세히 기재되었지만, 다른 변형 또는 추가가 가능하다. 특히, 추가의 특징 및/또는 변형이 본 명세서에 기재된 것에 더하여 제공될 수 있다. 예를 들어, 위에 설명된 구현들은 개시된 특징들의 다양한 조합들 및 서브조합들 및/또는 위에 개시된 수개의 추가 특징들의 조합들 및 서브조합들에 관한 것일 수 있다. 또한, 첨부된 도면에 묘사되고 및/또는 본 명세서에서 설명된 논리 흐름도는 바람직한 결과를 달성하기 위해 도시된 특정 순서 또는 순차적 순서를 반드시 요구하지는 않는다. 다른 구현이 이하의 청구항의 범위 내에 포함될 수 있다.

Claims (30)

  1. 디코더로서:
    비트스트림을 수신하고;
    현재 블록에 대해 그리고 상기 비트스트림을 사용하여, 병합 모드가 인에이블되는 것을 결정하고;
    병합 후보 리스트를 구성하고 - 상기 병합 후보 리스트를 구성하는 것은 글로벌 모션 벡터를 모션 벡터 후보 리스트에 추가하는 것을 추가로 포함함 -; 및
    상기 모션 벡터 후보 리스트를 사용하여 상기 현재 블록의 픽셀 데이터를 재구성하도록 구성된 회로를 포함하는 디코더.
  2. 제1항에 있어서,
    상기 글로벌 모션 벡터는 미리 정의된 글로벌 모션 모델 타입을 포함하는 디코더.
  3. 제1항에 있어서,
    상기 글로벌 모션 벡터는 제어 포인트 모션 벡터를 포함하는 디코더.
  4. 제3항에 있어서,
    상기 제어 포인트 모션 벡터는 병진 모션 벡터인 디코더.
  5. 제3항에 있어서,
    상기 제어 포인트 모션 벡터는 4 파라미터 아핀 모션 모델의 벡터인 디코더.
  6. 제3항에 있어서,
    상기 제어 포인트 모션 벡터는 6 파라미터 아핀 모션 모델의 벡터인 디코더.
  7. 제1항에 있어서,
    상기 비트스트림을 수신하고 상기 비트스트림을 양자화된 계수들로 디코딩하도록 구성된 엔트로피 디코더 프로세서;
    역 이산 코사인을 수행하는 것을 포함하여 상기 양자화된 계수들을 처리하도록 구성된 역 양자화 및 역 변환 프로세서;
    블록해제 필터(deblocking filter);
    프레임 버퍼; 및
    인트라 예측 프로세서를 추가로 포함하는 디코더.
  8. 제1항에 있어서,
    상기 현재 블록은 쿼드트리 + 이진 결정 트리의 일부를 형성하는 디코더.
  9. 제1항에 있어서,
    상기 현재 블록은 코딩 트리 유닛인 디코더.
  10. 제1항에 있어서,
    상기 현재 블록은 코딩 유닛인 디코더.
  11. 제1항에 있어서,
    상기 현재 블록은 예측 유닛인 디코더.
  12. 제1항에 있어서,
    상기 글로벌 모션 벡터의 글로벌 모션 모델은 병진 모션을 포함하는 디코더.
  13. 제1항에 있어서,
    상기 글로벌 모션 벡터의 글로벌 모션 모델은 아핀 모션을 포함하는 디코더.
  14. 제9항에 있어서,
    상기 글로벌 모션 모델은 상기 비트스트림의 헤더에 의해 특징지어지고, 상기 헤더는 픽처 파라미터 세트를 포함하는 디코더.
  15. 제9항에 있어서, 상기 글로벌 모션 모델은 상기 비트스트림의 헤더에 의해 특징지어지고, 상기 헤더는 시퀀스 파라미터 세트를 포함하는 디코더.
  16. 방법으로서:
    디코더에 의해, 비트스트림을 수신하는 단계;
    현재 블록에 대해 그리고 상기 비트스트림을 사용하여, 병합 모드가 인에이블되는 것을 결정하는 단계;
    병합 후보 리스트를 구성하는 단계 - 상기 병합 후보 리스트를 구성하는 단계는 글로벌 모션 벡터를 상기 모션 벡터 후보 리스트에 추가하는 단계를 추가로 포함함 -; 및
    상기 현재 블록의 픽셀 데이터를 재구성하고 상기 모션 벡터 후보 리스트를 사용하는 단계를 포함하는 방법.
  17. 제16항에 있어서,
    상기 글로벌 모션 벡터는 미리 정의된 글로벌 모션 모델 타입을 포함하는 방법.
  18. 제16항에 있어서,
    상기 글로벌 모션 벡터는 제어 포인트 모션 벡터를 포함하는 방법.
  19. 제18항에 있어서,
    상기 제어 포인트 모션 벡터는 병진 모션 벡터인 방법.
  20. 제18항에 있어서,
    상기 제어 포인트 모션 벡터는 4 파라미터 아핀 모션 모델의 벡터인 방법.
  21. 제18항에 있어서,
    상기 제어 포인트 모션 벡터는 6 파라미터 아핀 모션 모델의 벡터인 방법.
  22. 제16항에 있어서,
    상기 디코더는:
    상기 비트스트림을 수신하고 상기 비트스트림을 양자화된 계수들로 디코딩하도록 구성된 엔트로피 디코더 프로세서;
    역 이산 코사인을 수행하는 것을 포함하여 상기 양자화된 계수들을 처리하도록 구성된 역 양자화 및 역 변환 프로세서;
    블록해제 필터(deblocking filter);
    프레임 버퍼; 및
    인트라 예측 프로세서를 추가로 포함하는 방법.
  23. 제16항에 있어서,
    상기 현재 블록은 쿼드트리 + 이진 결정 트리의 일부를 형성하는 방법.
  24. 제16항에 있어서,
    상기 현재 블록은 코딩 트리 유닛인 방법.
  25. 제16항에 있어서,
    상기 현재 블록은 코딩 유닛인 방법.
  26. 제16항에 있어서,
    상기 현재 블록은 예측 유닛인 방법.
  27. 제16항에 있어서,
    상기 글로벌 모션 벡터의 글로벌 모션 모델은 병진 모션을 포함하는 방법.
  28. 제16항에 있어서,
    상기 글로벌 모션 벡터의 글로벌 모션 모델은 아핀 모션을 포함하는 방법.
  29. 제28항에 있어서,
    상기 글로벌 모션 모델은 상기 비트스트림의 헤더에 의해 특징지어지고, 상기 헤더는 픽처 파라미터 세트를 포함하는 방법.
  30. 제28항에 있어서,
    상기 글로벌 모션 모델은 상기 비트스트림의 헤더에 의해 특징지어지고, 상기 헤더는 시퀀스 파라미터 세트를 포함하는 방법.
KR1020217038060A 2019-04-25 2020-04-24 인터 예측에서의 병합 모드 후보들에 대한 글로벌 모션 KR20210153128A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962838618P 2019-04-25 2019-04-25
US62/838,618 2019-04-25
PCT/US2020/029906 WO2020219940A1 (en) 2019-04-25 2020-04-24 Global motion for merge mode candidates in inter prediction

Publications (1)

Publication Number Publication Date
KR20210153128A true KR20210153128A (ko) 2021-12-16

Family

ID=72941857

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217038060A KR20210153128A (ko) 2019-04-25 2020-04-24 인터 예측에서의 병합 모드 후보들에 대한 글로벌 모션

Country Status (9)

Country Link
US (2) US11792417B2 (ko)
EP (1) EP3959881A4 (ko)
JP (1) JP7428405B2 (ko)
KR (1) KR20210153128A (ko)
CN (1) CN114073083A (ko)
BR (1) BR112021021356A2 (ko)
MX (1) MX2021013073A (ko)
SG (1) SG11202111758WA (ko)
WO (1) WO2020219940A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020247487A1 (en) 2019-06-03 2020-12-10 Op Solutions Merge candidate reorder based on global motion vector cross-reference to related applications
JP7400114B2 (ja) 2020-02-24 2023-12-18 バイトダンス インコーポレイテッド ビデオコーディングでのピクチャレベルスライスインデックスの使用
CN115211044A (zh) * 2020-03-03 2022-10-18 字节跳动有限公司 使用条带头信令通知控制缩放处理
EP4104438A4 (en) * 2020-03-11 2023-08-16 Beijing Bytedance Network Technology Co., Ltd. ADAPTIVE LOOP FILTERING
EP4154537A4 (en) 2020-05-31 2024-02-07 Beijing Bytedance Network Technology Co., Ltd. PALETTE MODE WITH LOCAL DOUBLE TREE MODE TYPE DEFINITION
CN117321994A (zh) * 2021-04-09 2023-12-29 抖音视界有限公司 用于视频处理的方法、设备和介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7684628B2 (en) * 2004-08-12 2010-03-23 Industrial Technology Research Institute System and method for non-iterative global motion estimation
KR101356735B1 (ko) * 2007-01-03 2014-02-03 삼성전자주식회사 전역 움직임 벡터를 사용해서 움직임 벡터를 추정하기 위한방법, 장치, 인코더, 디코더 및 복호화 방법
JP4623111B2 (ja) * 2008-03-13 2011-02-02 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
JP2010011075A (ja) * 2008-06-26 2010-01-14 Toshiba Corp 動画像符号化及び動画像復号化の方法及び装置
JP2012209911A (ja) 2010-12-20 2012-10-25 Sony Corp 画像処理装置および方法
CA2825730C (en) * 2011-02-10 2018-01-16 Panasonic Corporation Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus, and moving picture coding and decoding apparatus
US20150181232A1 (en) * 2012-07-18 2015-06-25 Sony Corporation Image processing device and method
WO2017020807A1 (en) * 2015-07-31 2017-02-09 Versitech Limited Method and system for global motion estimation and compensation
US10404996B1 (en) * 2015-10-13 2019-09-03 Marvell International Ltd. Systems and methods for using multiple frames to adjust local and global motion in an image
WO2017087751A1 (en) * 2015-11-20 2017-05-26 Mediatek Inc. Method and apparatus for global motion compensation in video coding system
WO2017118411A1 (en) * 2016-01-07 2017-07-13 Mediatek Inc. Method and apparatus for affine inter prediction for video coding system
WO2017147765A1 (en) * 2016-03-01 2017-09-08 Mediatek Inc. Methods for affine motion compensation
US10560718B2 (en) * 2016-05-13 2020-02-11 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding
US10390039B2 (en) * 2016-08-31 2019-08-20 Microsoft Technology Licensing, Llc Motion estimation for screen remoting scenarios
KR20180057563A (ko) * 2016-11-22 2018-05-30 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
US10602180B2 (en) * 2017-06-13 2020-03-24 Qualcomm Incorporated Motion vector prediction
WO2020053329A1 (en) * 2018-09-14 2020-03-19 Koninklijke Kpn N.V. Video coding based on global motion compensated motion vectors

Also Published As

Publication number Publication date
SG11202111758WA (en) 2021-11-29
EP3959881A1 (en) 2022-03-02
US20200396475A1 (en) 2020-12-17
BR112021021356A2 (pt) 2022-01-18
JP2022531131A (ja) 2022-07-06
MX2021013073A (es) 2021-11-17
CN114073083A (zh) 2022-02-18
EP3959881A4 (en) 2022-07-20
WO2020219940A1 (en) 2020-10-29
US11792417B2 (en) 2023-10-17
JP7428405B2 (ja) 2024-02-06
US20240080466A1 (en) 2024-03-07

Similar Documents

Publication Publication Date Title
KR20210153128A (ko) 인터 예측에서의 병합 모드 후보들에 대한 글로벌 모션
JP7448975B2 (ja) インタ予測における大域的運動制約運動ベクトル
JP7466960B2 (ja) 大域的運動ベクトルの効率的なコーディング
KR20220016266A (ko) 글로벌 모션 벡터에 기초한 병합 후보 재정렬기
JP7323220B2 (ja) 大域的運動を伴うフレームにおける候補
KR20210118151A (ko) 지수 파티셔닝에서의 인터 예측
JP2023093765A (ja) 大域的運動を伴うフレームにおける選択的運動ベクトル予測候補
JP2023105073A (ja) 大域的運動を伴うフレームにおける適応型運動ベクトル予測候補
KR20220002989A (ko) 픽처 헤더 내의 글로벌 모션 벡터의 시그널링
KR20210118154A (ko) 적응형 개수의 영역들을 갖는 기하학적 파티셔닝에서의 인터 예측
JP2023105074A (ja) 運動ベクトルインタ予測のための大域的運動モデル
KR20210094046A (ko) 명시적 및 암시적 시그널링을 사용한 이용 불가능한 참조 프레임들의 적응형 블록 업데이트
KR20210152567A (ko) 픽처 헤더 내의 글로벌 모션 벡터의 시그널링