KR102461279B1 - 움직임 벡터 정보를 위한 부호화/복호화 방법 및 장치 - Google Patents

움직임 벡터 정보를 위한 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
KR102461279B1
KR102461279B1 KR1020217024781A KR20217024781A KR102461279B1 KR 102461279 B1 KR102461279 B1 KR 102461279B1 KR 1020217024781 A KR1020217024781 A KR 1020217024781A KR 20217024781 A KR20217024781 A KR 20217024781A KR 102461279 B1 KR102461279 B1 KR 102461279B1
Authority
KR
South Korea
Prior art keywords
motion vector
prediction
information
list
motion
Prior art date
Application number
KR1020217024781A
Other languages
English (en)
Other versions
KR20210100216A (ko
Inventor
판 왕
샤오 오우양
표인지
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020227036881A priority Critical patent/KR20220145431A/ko
Publication of KR20210100216A publication Critical patent/KR20210100216A/ko
Application granted granted Critical
Publication of KR102461279B1 publication Critical patent/KR102461279B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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

Abstract

본 발명은 움직임 벡터 정보를 부호화하는 방법을 제공한다. 방법은: 움직임 벡터 해상도(MVR) 리스트의 움직임 벡터 해상도들과 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들의 상응 관계에 기초하여, 현재 블록에 대하여, 움직임 벡터 예측들과 움직임 벡터 해상도들의 하나 이상의 조합들을 결정하는 단계; 결정된 하나 이상의 조합들로부터 현재 블록에 대한 움직임 벡터 해상도 및 움직임 벡터 예측의 조합을 결정하는 단계; 현재 블록에 대해, 움직임 벡터 예측과 현재 블록의 움직임 벡터 정보에 기초하여, 예측 벡터 차이를 결정하는 단계; 및 적어도 움직임 벡터 해상도 및 움직임 벡터 예측을 나타내는 최종 움직임 벡터 해상도 정보 및 예측 벡터 차이를 나타내는 움직임 벡터 차이 정보를 비트스트림에 부호화하는 단계를 포함한다.

Description

움직임 벡터 정보를 위한 부호화/복호화 방법 및 장치
본 발명은 비디오 부호화/복호화 기술 분야에 관한 것으로, 보다 구체적으로 움직임 벡터 해상도들과 움직임 벡터 예측들 간의 상응 방법, 부호화/복호화 방법, 및 상기 상응 방법에 기반한 움직임 벡터 정보 장치에 관한 것이다.
자연적인 비디오에서 이미지들 간에는 높은 유사성이 존재한다. 그러므로 비디오 압축 시 이미지들 간의 정보 중복을 제거하기 위해 인터 예측이 보통 수행된다. 인터 예측은 이른바 이미 부호화된 이미지를 이용해 부호화할 현재 이미지를 예측하고, 예측 오류를 복호화기에 전달하는 것을 말한다. 현재 이미지의 내용을 직접 전달하는 것과 비교해, 예측 오류의 정보량은 훨씬 적고, 따라서 압축의 목적이 달성된다. 실제 인터 예측에서 부호화기는 각각의 현재 블록에 가능한 많이 매칭되는 참조 블록을 이전에 부호화된 참조 픽쳐들에서 찾아서 예측 오류를 최소화해야 한다. 현재 블록과 참조 블록의 위치 차이를 움직임 벡터라고 하고, 움직임 벡터 정보가 또한 비트스트림으로 전달되어 복호화기가 현재 블록에 대한 참조 블록을 알 수 있도록 해야 한다.
그러므로, 인터 예측 기법은 비트스트림으로 전송되는 픽셀 정보는 감소시키나, 전송되어야 하는 새로운 정보의 증가를 야기한다. 예측 기법의 발달과 함께 예측 오류는 점차 작아지고 있으며, 따라서 비트스트림 내 움직임 벡터 정보의 비율이 점차 커지고 있다. 따라서 움직임 벡터 정보 또한 압축되어야 할 필요가 있다. 종래의 방법은 움직임 벡터를 예측하고 움직임 벡터 예측과 움직임 벡터의 차이를 비트스트림에 기록하는 것이다. 상기 차이를 움직임 벡터 차이라고 한다. 움직임 벡터 차이의 크기는 원래의 움직임 벡터의 크기보다 훨씬 작다. 이러한 방식으로 움직임 벡터 정보가 압축된다.
현재 블록의 움직임 벡터는 예측 가능하다. 움직임 벡터를 예측하는 방법은 움직임 벡터들 간의 공간적 상관관계를 이용해, 몇몇 개의 주변 블록들의 움직임 벡터들에 대한 조건적 판단과 연산으로부터 고유의 움직임 벡터 예측을 도출하는 것이다. 이러한 방법을 고유 움직임 벡터 예측 기법이라고 한다. 비디오 부호화 분야 전문가들은 또한 진보한 움직임 벡터 예측 기법을 제안해왔다. 상기 기법은 공간적 및 시간적 움직임 벡터들의 상관 관계를 활용하여 공간적 후보 리스트와 시간적 후보 리스트를 각각 구축하고 상기 후보 리스트들로부터 최적의 움직임 벡터 예측을 선택하는 것이다. 공간적 후보 리스트는 현재 블록의 주변 블록의 움직임 벡터 또는 상기 움직임 벡터의 스케일 값을 필요로 하고, 시간적 후보 리스트는 부호화된 이미지 내 상응하는 참조 블록에 인접한 블록의 움직임 벡터의 스케일 값을 필요로 한다. 부호화기는 상기 공간적 및 시간적 후보 리스트들로부터 최적의 움직임 벡터 예측을 선택하고 상기 최적의 움직임 벡터 예측의 인덱스를 비트스트림에 기록한다.
최근 히스토리 기반 움직임 벡터 예측 기법, 줄여서 HMVP기법이 대두되었다. 상기 기법은 일정 길이의 움직임 벡터 리스트를 구축하고 유지한다. 움직임 벡터 리스트는 FIFO(first in first out) 큐 또는 제한된 (반복없음이 보장되는) FIFO 큐이다. 부호화기는 또한 최적의 움직임 벡터 예측의 인덱스를 비트스트림에 기록한다. 히스토리 기반 움직임 벡터 예측 기법에 따르면, 움직임 벡터 예측 후보의 개수가 증가되고, 이를 통해 부호화 성능이 향상될 수 있다.
인터 예측 효율성의 향상과 관련하여, 현재 블록과 더욱 매치되는 참조 블록을 획득하기 위하여, 현재 코덱은 서브-픽셀 인터 예측을 사용한다. 즉, 참조 이미지의 참조 블록의 위치가 반드시 풀 픽셀이 아니고 서브-픽셀일 수 있다. 서브-픽셀 참조 블록을 지원하기 위해서는 움직임 벡터 해상도 또한 서브-픽셀 해상도이어야 하고, 따라서 움직임 벡터 차이가 서브-픽셀 해상도에 상응해야 한다. 그러므로 한편으로 서브-픽셀 위치의 참조 블록의 사용은 인터 예측의 효율성을 향상시키고 예측 오류를 감소시키나, 다른 한편으로, 서브-픽셀 해상도에 상응하는 움직임 벡터 차이의 사용은 움직임 벡터 정보를 비트스트림으로 전송하는 데 필요한 비트 수를 증가시킨다.
이러한 모순의 균형을 위해서 비디오 부호화 분야의 전문가들은 적응적 움직임 벡터 해상도(AMVR) 기술을 제안했다. 이른바 AMVR 기술에 따르면, 비트스트림으로 전송된 움직임 벡터 차이와 실제 부호화/복호화에 사용되는 움직임 벡터 해상도가 비 고정화되고, 서로 다른 이미지 블록들이 각기 다른 움직임 벡터 해상도를 채용할 수 있다. 따라서 큰 움직임 벡터 차이들이 낮은 픽셀 해상도를 통해서 표현될 수 있고, 이를 통해 전송 비트 수를 감소할 수 있다.
AMVR 기술의 실행 방법은 다음과 같다. 부호화기가 현재 블록 상태에 따라 움직임 벡터 해상도를 선택하고, 그 후, 사용된 해상도의 인덱스를 비트스트림에 전송한다.
이런 방식으로, 움직임 벡터 예측의 인덱스와 움직임 벡터 해상도의 인덱스가 비트스트림에 기록되어야 한다. 일부 전문가들은 공간적 및 시간적 특정 위치의 움직임 벡터 해상도와 움직임 벡터 예측 간의 상응 방법을 제안했다. 이 방법은 공간적 및 시간적 움직임 벡터 예측 기법에 의해 제한되는 AMVR 기술이라 칭한다. 예를 들어, 현재 블록의 제1 움직임 벡터 해상도는 이미지 블록의 좌측 인접 블록으로부터 획득된 움직임 벡터 예측에 상응한다. 이는 비트스트림으로의 움직임 벡터 예측의 인덱스 전송을 감소시키고, 이를 통해 부호화 효율이 향상된다.
국제 비디오 코딩 최신 표준인 VVC 및 국내 비디오 코딩 최신 표준인 AVS3 은 인터 스킵 모드 코딩 및 인터 디렉트 모드 코딩에서 HMVP 기반 기법들을 사용한다. 이 기법은 인터 스킵 모드 및 인터 디렉트 모드의 경우에 후보 움직임 정보 리스트를 확장시킨다. 즉, 부호화기가 사용했던 움직임 정보(이른바 히스토리 기반 움직임 정보)가 후보 움직임 정보 리스트에 부가되고, 부호화기는 예측을 위한 움직임 정보를 더 많이 획득할 수 있다. 한편, VVC 또는 AVS3표준에서, 후보 움직임 정보 리스트로 확장된 움직임 정보는, 후보 움직임 정보 리스트의 어떤 움직임 정보가 인트라 스킵 모드 또는 인트라 디렉트 모드에 적용되었는지를 인덱스를 통해서 판단할 수 있도록, 인덱스에 의해 식별되어야 한다.
비록 AMVP(advanced motion vector prediction) 및 히스토리 기반 움직임 정보 예측(history-based motion information prediction)에서 복수 개의 움직임 벡터 예측 후보들이 제공되지만 움직임 벡터 예측의 인덱스를 비트스트림 내에서 전송하는 것이 필요하다. 공간적 및 시간적 움직임 벡터 예측 기법에 의해 제한된 AMVR 기술은 움직임 벡터 예측의 인덱스를 비트스트림 내에서 전송하는 것을 제거하지만, 시간적 및 공간적으로 인접한 블록들의 움직임 벡터 예측만 채택하는 것에 의한 한계가 존재한다.
다른 한편, VVC 또는 AVS3표준에서는 후보 움직임 정보 리스트의 움직임 정보 인덱스의 부호화 효율이 높지 않고, 이는 주로 움직임 정보 인덱스의 이진화에 반영되어 있다. 상기 기존 표준들은 단항의 코드를 절단하는 이진화 방법을 채택하고 있다. HMVP 부호화 기술을 적용하면, 상기 후보 움직임 정보 리스트의 움직임 정보의 양이 증가할수록, 상기 움직임 정보 인덱스의 확률 분포는 더 이상 움직임 정보 인덱스의 증가와 함께 감소하는 확률 분포에 상응하지 않게 된다. 따라서 새로운 이진화 방법이 필요하다.
종래 기술의 전술한 문제들을 해결하기 위하여 본 출원의 제1 측면에 따르면, 본 출원은 움직임 벡터 해상도(MVR) 리스트의 움직임 벡터 해상도들과 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들의 상응 관계에 기초하여, 현재 블록에 대하여, 움직임 벡터 예측들과 움직임 벡터 해상도들의 하나 이상의 조합들을 결정하는 단계; 상기 결정된 하나 이상의 조합들로부터 상기 현재 블록에 대한 움직임 벡터 해상도 및 움직임 벡터 예측의 조합을 결정하는 단계; 상기 현재 블록의 움직임 벡터 예측과 움직임 벡터 정보에 기초하여, 상기 현재 블록에 대하여, 예측 벡터 차이를 결정하는 단계; 및 적어도 상기 움직임 벡터 해상도 및 상기 움직임 벡터 예측을 나타내는 최종 움직임 벡터 해상도 정보 및 상기 예측 벡터 차이를 나타내는 움직임 벡터 차이 정보를 비트스트림에 부호화하는 단계를 포함하는, 움직임 벡터 정보의 부호화 방법이 제공된다.
상기 제1 측면에 따르면, 상기 MVR 리스트의 적어도 하나의 움직임 벡터 해상도는 고유 움직임 벡터 예측 방법을 통해 획득되는 고유 움직임 벡터 예측에 대응되고, 상기 MVR 리스트의 나머지 움직임 벡터 해상도들은 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들에 대응된다.
상기 제1 측면에 따르면, 상기 MVR 리스트의 상기 움직임 벡터 해상도들의 일부는 공간적 및 시간적 움직임 벡터 예측 방법에 제한된 적응적 움직임 벡터 해상도(AMVR)에 의해 획득된 공간적 후보 리스트 및 시간적 후보 리스트의 움직임 벡터 예측들에 대응되고, 상기 MVR 리스트의 상기 움직임 벡터 해상도들의 나머지 일부는 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들에 대응된다.
상기 제1 측면에 따르면, 상기 움직임 벡터 해상도들 및 상기 움직임 벡터 예측들 간의 상응 순서는, 상기 움직임 벡터 해상도들이 대응되는 순서가 상기 움직임 벡터 예측들이 대응되는 순서와 동일한 연속적인 상응 순서 및 상기 움직임 벡터 해상도들이 대응되는 순서가 상기 움직임 벡터 예측들이 대응되는 순서와 반대되는 역 상응 순서 중 하나에 해당한다.
상기 제1 측면에 따르면, 상기 움직임 벡터 해상도들의 개수가 상기 움직임 벡터 예측들의 개수보다 크면, 상응 작업이 수행되지 않는 상기 움직임 벡터 해상도들의 일부는, 상기 상응 작업이 모든 움직임 벡터 해상도들을 위해 수행될때까지, 상기 움직임 벡터 예측들에 다시 어느 특정한 순서로 대응되고, 이때, 상기 특정한 순서는 상기 움직임 벡터 예측들에 대응되는 상기 움직임 벡터 해상도들의 일부를 위한 상기 상응 작업이 수행되는 상기 연속적인 상응 순서 또는 상기 역 상응 순서와 같다.
상기 제1 측면에 따르면, 상기 움직임 벡터 해상도들의 개수가 상기 움직임 벡터 예측들의 개수보다 크면, 상기 상응 작업이 수행되지 않는 상기 움직임 벡터 해상도들의 상기 일부는 상기 움직임 벡터 예측들의 어느 특정한 하나에 대응된다.
상기 제1 측면에 따르면, 상기 움직임 벡터 해상도들의 개수가 상기 움직임 벡터 예측들의 개수보다 크면, 상기 상응 작업이 수행되지 않는 상기 움직임 벡터 해상도들의 상기 일부는 상기 움직임 벡터 예측들의 어느 것에도 대응되지 않는다.
상기 제1 측면에 따르면, 상기 움직임 벡터 해상도들의 제1 움직임 벡터 해상도 및 마지막 움직임 벡터 해상도 중 하나는 상기 고유 움직임 벡터 예측에 대응되고, 나머지 움직임 벡터 해상도들은 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들에 상응하는 순서로 대응되고, 상기 상응 순서는, 상기 움직임 벡터 해상도들이 대응되는 순서가 상기 움직임 벡터 예측들이 대응되는 순서와 동일한 연속적인 상응 순서 및 상기 움직임 벡터 해상도들이 대응되는 순서가 상기 움직임 벡터 예측들이 대응되는 순서와 반대되는 역 상응 순서 중 하나에 해당한다.
상기 제1 측면에 따르면, 상기 나머지 움직임 벡터 해상도들의 개수가 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들의 개수보다 크면, 상응 작업이 수행되지 않는 상기 움직임 벡터 해상도들의 일부가 상기 고유 움직임 벡터 예측에 대응된다.
상기 제1 측면에 따르면, 상기 나머지 움직임 벡터 해상도들의 개수가 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들의 개수보다 크면, 상기 상응 작업이 수행되지 않는 상기 움직임 벡터 해상도들의 상기 일부는, 상기 상응 작업이 모든 움직임 벡터 해상도들을 위해 수행될때까지, 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들에 다시 어느 특정한 순서로 대응되고, 이때, 상기 특정한 순서는 상기 움직임 벡터 예측들에 대응되는 상기 움직임 벡터 해상도들의 일부를 위한 상기 상응 작업이 수행되는 상기 연속적인 상응 순서 또는 상기 역 상응 순서와 같다.
상기 제1 측면에 따르면, 상기 나머지 움직임 벡터 해상도들의 개수가 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들의 개수보다 크면, 상기 상응 작업이 수행되지 않는 상기 움직임 벡터 해상도들의 상기 일부는 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들의 어느 특정한 하나에 대응된다.
상기 제1 측면에 따르면, 상기 나머지 움직임 벡터 해상도들의 개수가 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들의 개수보다 크면, 상기 상응 작업이 수행되지 않는 상기 움직임 벡터 해상도들의 상기 일부는 상기 움직임 벡터 예측들 중 어느 것에도 대응되지 않는다.
상기 제1 측면에 따르면, 상기 움직임 벡터 해상도들의 제1 부분은 상기 공간적 후보 리스트 및 상기 시간적 후보 리스트의 상기 움직임 벡터 예측들에 대응되고, 상기 움직임 벡터 해상도들의 상기 제1 부분을 제외한 제2 부분은 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들에 대응된다.
상기 제1 측면에 따르면, 상기 움직임 벡터 해상도들의 상기 제2 부분의 움직임 벡터 해상도들과 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들 간의 상응 순서는 상기 움직임 벡터 해상도들이 대응되는 순서가 상기 움직임 벡터 예측들이 대응되는 순서와 동일한 연속적인 상응 순서 또는 상기 움직임 벡터 해상도들이 대응되는 순서가 상기 움직임 벡터 예측들이 대응되는 순서와 반대되는 역 상응 순서 중 하나에 해당한다.
상기 제1 측면에 따르면, 상기 제2 부분의 움직임 벡터 해상도들의 개수가 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들의 개수보다 크면, 상응 작업이 수행되지 않는 상기 제2 부분의 움직임 벡터 해상도들의 일부는, 상기 상응 작업이 모든 움직임 벡터 해상도들을 위해 수행될 때까지, 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들에 다시 어느 특정한 순서로 대응되고, 이때, 상기 특정한 순서는 상기 움직임 벡터 예측들에 대응되는 상기 제2 부분의 움직임 벡터 해상도들의 일부를 위한 상기 상응 작업이 수행되는 상기 연속적인 상응 순서 또는 상기 역 상응 순서와 같다.
상기 제1 측면에 따르면, 상기 제2 부분의 움직임 벡터 해상도들의 개수가 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들의 개수보다 크면, 상기 상응 작업이 수행되지 않는 상기 제2 부분의 움직임 벡터 해상도들의 상기 일부는 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들의 어느 특정한 하나에 대응된다.
상기 제1 측면에 따르면, 상기 제2 부분의 움직임 벡터 해상도들의 개수가 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들의 개수보다 크면, 상기 상응 작업이 수행되지 않는 상기 제2 부분의 움직임 벡터 해상도들의 상기 일부는 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들 중 어느 것에도 대응되지 않는다.
상기 제1 측면에 따르면, 현재 움직임 벡터 예측이 상응 작업이 수행되는 상기 움직임 벡터 예측들 중 일부에서 발생했던 경우, 상기 현재 움직임 벡터 예측은 생략되고, 현재 움직임 벡터 해상도는 하나의 제약을 갖는 상기 움직임 벡터 예측들 중 하나에 대응되고, 이때, 상기 제약은 상기 움직임 벡터 예측들 중 상기 하나의 제약을 갖는 움직임 벡터 예측은 상응 작업이 수행되는 상기 움직임 벡터 예측들 중 일부에서는 발생하지 않았음을 의미한다.
상기 제1 측면에 따르면, 상기 제약을 갖는 움직임 벡터 예측이 존재하지 않는 경우, 상기 상응 작업이 수행되지 않는 상기 움직임 벡터 해상도들의 일부는 상기 움직임 벡터 예측들 중 어느 특정한 하나에 대응된다.
상기 제1 측면에 따르면, 상기 방법은 예측 방향을 결정하고, 상기 예측 방향에 기반하여 참조 프레임을 결정하는 단계를 더 포함한다.
상기 제1 측면에 따르면, 상기 예측 방향을 결정하는 단계는 상기 움직임 벡터 예측의 상기 예측 방향이 오직 제1 참조 프레임 리스트만 참조하는 제1 방향, 오직 제2 참조 프레임 리스트만 참조하는 제2 방향, 또는 상기 제1, 2 참조 프레임 리스트들을 참조하는 제3 방향 중 하나에 해당하는 경우, 상기 예측 방향을 참조되는 방향으로 결정하는 단계를 포함한다.
상기 제1 측면에 따르면, 상기 예측 방향을 결정하는 단계는 상기 움직임 벡터 예측의 상기 예측 방향이 오직 제1 참조 프레임 리스트만 참조하는 상기 제1 방향 또는 오직 제2 참조 프레임 리스트만 참조하는 상기 제2 방향에 해당하는 경우, 상기 예측 방향을 참조되는 방향으로 결정하고, 상기 움직임 벡터 예측의 상기 예측 방향이 상기 제1, 2 참조 프레임 리스트를 참조하는 상기 제3 방향에 해당하는 경우, 상기 예측 방향을 상기 제1 방향, 상기 제2 방향, 및 상기 제3 방향으로 결정하는 단계를 포함한다.
상기 제1 측면에 따르면, 상기 예측 방향을 결정하는 단계는 상기 참조 프레임을 상기 결정된 예측 방향의 움직임 벡터 예측에 대응되는 참조 프레임으로 결정하는 단계를 포함한다.
상기 제1 측면에 따르면, 상기 움직임 벡터 해상도 및 움직임 벡터 예측의 조합을 결정하고, 결정된 움직임 벡터 예측에 기초하여 예측 벡터 차이를 결정하는 단계는: 상이한 움직임 해상도들, 상이한 예측 방향들, 및 상이한 참조 프레임들에서, 움직임 탐색 방법을 사용하여, 최적의 움직임 벡터들을 결정하고, 움직임 벡터 차이를 계산하고; 그 후, 상기 상이한 해상도들, 상이한 예측 방향들, 및 상이한 참조 프레임들에서의 상기 최적의 움직임 벡터들을 사용하여 현재 블록을 부호화하는 데 드는 부호화 비용들을 비교하여, 상기 움직임 벡터 해상도 및 움직임 벡터 예측의 상기 조합, 상기 예측 방향, 상기 참조 프레임, 및 상기 움직임 벡터 해상도에서의 상기 움직임 벡터 차이를 결정하는 단계를 포함한다.
상기 제1 측면에 따르면, 상기 움직임 벡터 해상도에 대응되는 상기 움직임 벡터 예측의 예측 방향과 상관 없이, 예측 방향 정보가 비트스트림으로 부호화되지 않고, 상기 예측 방향은 상기 움직임 벡터 해상도에 대응되는 상기 움직임 벡터 예측의 예측 방향과 동일하게 간주된다.
상기 제1 측면에 따르면, 상기 움직임 벡터 예측의 상기 예측 방향이 오직 제1 참조 프레임 리스트만을 참조하는 제1 방향 또는 오직 제2 참조 프레임 리스트만을 참조하는 제2 방향인 경우, 상기 예측 방향 정보는 비트스트림으로 부호화되지 않고, 상기 예측 방향은 상기 움직임 벡터 해상도에 대응되는 상기 움직임 벡터 예측의 상기 예측 방향과 동일하게 간주되고, 상기 움직임 벡터 예측의 상기 예측 방향이 상기 제1,2 참조 프레임 리스트들을 참조하는 제3 방향인 경우, 상기 예측 방향 정보는 상기 결정된 움직임 벡터 해상도 정보 및 움직임 벡터 차이 정보와 함께 비트스트림에 부호화된다.
상기 제1 측면에 따르면, 참조 프레임에 상관없이, 참조 프레임 정보는 비트스트림으로 부호화되지 않고, 상기 움직임 벡터 해상도에 대응되는 상기 움직임 벡터 예측의 참조 프레임으로 간주된다.
상기 제1 측면에 따르면, 상기 예측 방향이 오직 상기 제1 참조 프레임 리스트만을 참조하는 상기 제1 방향 또는 오직 상기 제2 참조 프레임 리스트만을 참조하는 상기 제2 방향인 경우, 상기 참조 프레임 정보는 비트스트림으로 부호화되지 않고, 상기 참조 프레임은 상기 움직임 벡터 해상도에 대응되는 상기 움직임 벡터 예측의 상기 참조 프레임으로 결정되고, 상기 예측 방향이 상기 제1,2 참조 프레임 리스트들을 참조하는 상기 제3 방향인 경우, 상기 참조 프레임 정보는 비트스트림으로 부호화된다.
상기 제1 측면에 따르면, 상기 방법은 움직임 벡터 예측 모드를 결정하고 상기 움직임 벡터 예측 모드를 비트스트림에 부호화하는 단계를 더 포함한다.
상기 제1 측면에 따르면, 상기 움직임 벡터 예측 모드를 결정하는 단계는: 상기 움직임 벡터 해상도들이 적어도 부분적으로 상기 움직임 벡터 예측들에 대응되는 상기 상응 관계가 사용되지 않는 제1 모드에서 상기 현재 블록의 제1 부호화 비용을 도출하는 단계; 상기 움직임 벡터 해상도들이 적어도 부분적으로 상기 움직임 벡터 예측들에 대응되는 상기 상응 관계가 사용되는 제2 모드에서 상기 현재 블록의 제2 부호화 비용을 도출하는 단계; 및 상기 제1 부호화 비용과 상기 제2 부호화 비용을 비교하고 더 작은 부호화 비용을 가지는 모드를 상기 움직임 벡터 예측 모드로 결정하는 단계를 포함한다.
상기 제1 측면에 따르면, 상기 방법은 상기 움직임 벡터 예측 모드가 제1 모드인 경우, 움직임 벡터 예측 정보를 비트스트림으로 부호화하고, 상기 움직임 벡터 예측 모드가 제2 모드인 경우, 상기 움직임 벡터 예측 정보를 비트스트림으로 부호화하지 않는 단계를 더 포함한다.
본 출원의 제2 측면에 따르면, 상기 제1 측면에 따른 상기 방법을 수행하는 , 움직임 벡터 정보를 부호화하는 장치가 제공된다.
본 출원의 제3 측면에 따르면, 비트스트림으로부터 현재 블록을 위한 움직임 벡터 해상도 정보 및 움직임 벡터 차이 정보를 획득하는 단계; 움직임 벡터 해상도(MVR) 리스트의 움직임 벡터 해상도들 및 히스토리 기반 움직임 벡터 예측 리스트 간의 상응 관계에 기초하여, 상기 움직임 벡터 해상도 정보에 따라 움직임 벡터 예측 및 움직임 벡터 해상도를 결정하는 단계; 상기 움직임 벡터 차이 정보 및 상기 움직임 벡터 해상도에 기초하여 움직임 벡터 차이를 결정하는 단계; 및 상기 움직임 벡터 예측 및 상기 움직임 벡터 예측에 기초하여 움직임 벡터 정보를 결정하는 단계를 포함하는, 움직임 벡터 정보를 복호화하는 방법이 제공된다.
상기 제3 측면에 따르면, 상기 MVR 리스트의 적어도 하나의 움직임 벡터 해상도는 고유 움직임 벡터 예측 방법을 통해 획득되는 고유 움직임 벡터 예측에 대응되고, 상기 MVR 리스트의 나머지 움직임 벡터 해상도들은 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들에 대응된다.
상기 제3 측면에 따르면, 상기 MVR 리스트의 상기 움직임 벡터 해상도들의 일부는 공간적 및 시간적 움직임 벡터 예측 방법에 제한된 적응적 움직임 벡터 해상도(AMVR)에 의해 획득된 공간적 후보 리스트 및 시간적 후보 리스트의 움직임 벡터 예측들에 대응되고, 상기 MVR 리스트의 상기 움직임 벡터 해상도들의 나머지 일부는 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들에 대응된다.
상기 제3 측면에 따르면, 상기 움직임 벡터 해상도들 및 상기 움직임 벡터 예측들 간의 상응 순서는 상기 움직임 벡터 해상도들이 대응되는 순서가 상기 움직임 벡터 예측들이 대응되는 순서와 동일한 연속적인 상응 순서 및 상기 움직임 벡터 해상도들이 대응되는 순서가 상기 움직임 벡터 예측들이 대응되는 순서와 반대되는 역 상응 순서 중 하나에 해당한다.
상기 제3 측면에 따르면, 상기 움직임 벡터 해상도들의 개수가 상기 움직임 벡터 예측들의 개수보다 크면, 상응 작업이 수행되지 않는 상기 움직임 벡터 해상도들의 일부는, 상기 상응 작업이 모든 움직임 벡터 해상도들을 위해 수행될때까지, 상기 움직임 벡터 예측들에 다시 어느 특정한 순서로 대응되고, 이때, 상기 특정한 순서는 상기 움직임 벡터 예측들에 대응되는 상기 움직임 벡터 해상도들의 일부를 위한 상기 상응 작업이 수행되는 상기 연속적인 상응 순서 또는 상기 역 상응 순서와 같다.
상기 제3 측면에 따르면, 상기 움직임 벡터 해상도들의 개수가 상기 움직임 벡터 예측들의 개수보다 크면, 상기 상응 작업이 수행되지 않는 상기 움직임 벡터 해상도들의 상기 일부는 상기 움직임 벡터 예측들의 어느 특정한 하나에 대응된다.
상기 제3 측면에 따르면, 상기 움직임 벡터 해상도들의 개수가 상기 움직임 벡터 예측들의 개수보다 크면, 상기 상응 작업이 수행되지 않는 상기 움직임 벡터 해상도들의 상기 일부는 상기 움직임 벡터 예측들의 어느 것에도 대응되지 않는다.
상기 제3 측면에 따르면, 상기 움직임 벡터 해상도들의 제1 움직임 벡터 해상도 및 마지막 움직임 벡터 해상도 중 하나는 상기 고유 움직임 벡터 예측에 대응되고, 나머지 움직임 벡터 해상도들은 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들에 상응하는 순서로 대응되고, 상기 상응 순서는, 상기 움직임 벡터 해상도들이 대응되는 순서가 상기 움직임 벡터 예측들이 대응되는 순서와 동일한 연속적인 상응 순서 및 상기 움직임 벡터 해상도들이 대응되는 순서가 상기 움직임 벡터 예측들이 대응되는 순서와 반대되는 역 상응 순서 중 하나에 해당한다.
상기 제3 측면에 따르면, 상기 나머지 움직임 벡터 해상도들의 개수가 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들의 개수보다 크면, 상응 작업이 수행되지 않는 상기 움직임 벡터 해상도들의 일부가 상기 고유 움직임 벡터 예측에 대응된다.
상기 제3 측면에 따르면, 상기 나머지 움직임 벡터 해상도들의 개수가 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들의 개수보다 크면, 상기 상응 작업이 수행되지 않는 상기 움직임 벡터 해상도들의 상기 일부는, 상기 상응 작업이 모든 움직임 벡터 해상도들을 위해 수행될때까지, 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들에 다시 어느 특정한 순서로 대응되고, 이때, 상기 특정한 순서는 상기 움직임 벡터 예측들에 대응되는 상기 움직임 벡터 해상도들의 일부를 위한 상기 상응 작업이 수행되는 상기 연속적인 상응 순서 또는 상기 역 상응 순서와 같다.
상기 제3 측면에 따르면, 상기 나머지 움직임 벡터 해상도들의 개수가 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들의 개수보다 크면, 상기 상응 작업이 수행되지 않는 상기 움직임 벡터 해상도들의 상기 일부는 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들의 어느 특정한 하나에 대응된다.
상기 제3 측면에 따르면, 상기 나머지 움직임 벡터 해상도들의 개수가 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들의 개수보다 크면, 상기 상응 작업이 수행되지 않는 상기 움직임 벡터 해상도들의 상기 일부는 상기 움직임 벡터 예측들 중 어느 것에도 대응되지 않는다.
상기 제3 측면에 따르면, 상기 움직임 벡터 해상도들의 제1 부분은 상기 공간적 후보 리스트 및 상기 시간적 후보 리스트의 상기 움직임 벡터 예측들에 대응되고, 상기 움직임 벡터 해상도들의 상기 제1 부분을 제외한 제2 부분은 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들에 대응된다.
상기 제3 측면에 따르면, 상기 움직임 벡터 해상도들의 상기 제1 부분의 움직임 벡터 해상도들과 상기 공간적 후보 리스트 및 상기 시간적 후보 리스트의 상기 움직임 벡터 예측들 간의 상응 순서는 연속적인 상응 순서 또는 역 상응 순서 중 하나에 해당하고, 상기 움직임 벡터 해상도들의 상기 제2 부분의 움직임 벡터 해상도들과 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들 간의 상응 순서는 상기 연속적인 상응 순서 또는 상기 역 상응 순서 중 하나에 해당하고, 이 때, 상기 연속적인 상응 순서는 상기 움직임 벡터 해상도들이 대응되는 순서가 상기 움직임 벡터 예측들이 대응되는 순서와 동일한 순서이고, 상기 역 상응 순서는 상기 움직임 벡터 해상도들이 대응되는 순서가 상기 움직임 벡터 예측들이 대응되는 순서와 반대되는 순서이다.
상기 제3 측면에 따르면, 상기 제2 부분의 움직임 벡터 해상도들의 개수가 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들의 개수보다 크면, 상응 작업이 수행되지 않는 상기 제2 부분의 움직임 벡터 해상도들의 일부는, 상기 상응 작업이 모든 움직임 벡터 해상도들을 위해 수행될 때까지, 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들에 다시 어느 특정한 순서로 대응되고, 이때, 상기 특정한 순서는 상기 움직임 벡터 예측들에 대응되는 상기 제2 부분의 움직임 벡터 해상도들의 일부를 위한 상기 상응 작업이 수행되는 상기 연속적인 상응 순서 또는 상기 역 상응 순서와 같다.
상기 제3 측면에 따르면, 상기 제2 부분의 움직임 벡터 해상도들의 개수가 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들의 개수보다 크면, 상기 상응 작업이 수행되지 않는 상기 제2 부분의 움직임 벡터 해상도들의 상기 일부는 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들의 어느 특정한 하나에 대응된다.
상기 제3 측면에 따르면, 상기 제2 부분의 움직임 벡터 해상도들의 개수가 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들의 개수보다 크면, 상기 상응 작업이 수행되지 않는 상기 제2 부분의 움직임 벡터 해상도들의 상기 일부는 상기 히스토리 기반 움직임 벡터 예측 리스트의 상기 움직임 벡터 예측들 중 어느 것에도 대응되지 않는다.
상기 제3 측면에 따르면, 현재 움직임 벡터 예측이 상응 작업이 수행되는 상기 움직임 벡터 예측들 중 일부에서 발생했던 경우, 상기 현재 움직임 벡터 예측은 생략되고, 현재 움직임 벡터 해상도는 하나의 제약을 갖는 상기 움직임 벡터 예측들 중 하나에 대응되고, 이때, 상기 제약은 상기 움직임 벡터 예측들 중 상기 하나의 제약을 갖는 움직임 벡터 예측은 상응 작업이 수행되는 상기 움직임 벡터 예측들 중 일부에서는 발생하지 않았음을 의미한다.
상기 제3 측면에 따르면, 상기 제약을 갖는 움직임 벡터 예측이 존재하지 않는 경우, 상기 상응 작업이 수행되지 않는 상기 움직임 벡터 해상도들의 일부는 상기 움직임 벡터 예측들 중 어느 특정한 하나에 대응된다.
상기 제3 측면에 따르면, 상기 방법은 예측 방향 정보 및 참조 프레임 정보를 결정하는 단계; 및 상기 움직임 벡터 해상도 정보, 상기 움직임 벡터 차이 정보, 상기 움직임 벡터 예측, 상기 예측 방향 정보, 및 상기 참조 프레임 정보에 기반하여 상기 움직임 벡터 정보를 복호화하는 단계를 더 포함한다.
상기 제3 측면에 따르면, 상기 예측 방향 정보를 결정하는 단계는 상기 예측 방향을 상기 움직임 벡터 해상도에 대응되는 상기 움직임 벡터 예측의 예측 방향과 동일하게 결정하는 단계를 포함한다.
상기 제3 측면에 따르면, 상기 예측 방향 정보를 결정하는 단계는: 상기 움직임 벡터 해상도에 대응되는 상기 움직임 벡터 예측의 상기 예측 방향이 오직 제1 참조 프레임 리스트만을 참조하는 제1 방향 또는 오직 제2 참조 프레임 리스트만을 참조하는 제2 방향인 경우, 상기 예측 방향을 상기 움직임 벡터 해상도에 대응되는 상기 움직임 벡터 예측의 상기 예측 방향과 동일하게 결정하고, 상기 움직임 벡터 해상도에 대응되는 상기 움직임 벡터 예측의 상기 예측 방향이 상기 제1 참조 프레임 리스트 및 상기 제2 참조 프레임 리스트를 참조하는 제3 방향인 경우, 비트스트림으로부터 상기 예측 방향 정보를 획득하고, 상기 예측 방향 정보에 따라 상기 예측 방향을 결정하는 단계를 포함한다.
상기 제3 측면에 따르면, 상기 참조 프레임 정보를 결정하는 단계는 상기 참조 프레임을 상기 움직임 벡터 해상도에 대응되는 상기 움직임 벡터 예측의 참조 프레임과 동일하게 결정하는 단계를 포함한다.
상기 제3 측면에 따르면, 상기 참조 프레임 정보를 결정하는 단계는: 상기 움직임 벡터 해상도에 대응되는 상기 움직임 벡터 예측의 상기 예측 방향이 오직 상기 제1 참조 프레임 리스트만을 참조하는 상기 제1 방향 또는 오직 상기 제2 참조 프레임 리스트만을 참조하는 상기 제2 방향인 경우, 상기 참조 프레임을 상기 움직임 벡터 해상도에 대응되는 상기 움직임 벡터 예측의 상기 참조 프레임과 동일하게 결정하고, 상기 움직임 벡터 해상도에 대응되는 상기 움직임 벡터 예측의 상기 예측 방향이 상기 제1 참조 프레임 리스트 및 상기 제2 참조 프레임 리스트를 참조하는 상기 제3 방향인 경우, 비트스트림으로부터 상기 참조 프레임 정보를 획득하고, 상기 참조 프레임 정보에 따라 상기 참조 프레임을 결정하는 단계를 포함한다.
상기 제3 측면에 따르면, 상기 방법은 움직임 벡터 예측 모드가 상기 상응 관계가 사용되지 않는 제1 모드이고 규정되는 움직임 벡터 예측이 고유하지 않은 경우, 비트스트림으로부터 움직임 벡터 예측 정보를 획득하는 단계를 더 포함한다.
본 출원의 제4 측면에 따르면, 상기 제3 측면에 따른 상기 방법을 수행하는, 움직임 벡터 정보를 복호화하는 장치가 제공된다.
본 출원의 제5 측면에 따르면, 후보 움직임 정보 리스트들을 복수의 카테고리들로 분류하는 단계; 제1 이진화 방법을 사용하여 각 카테고리의 인덱스를 이진화하고, 제2 이진화 방법을 사용하여 현재 움직임 정보가 분류된 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 인덱스를 이진화하는 단계; 및 상기 제1, 2 이진화 방법들에 의해 도출된 이진화 정보를 비트스트림에 기록하는 단계를 포함하는, 움직임 벡터 정보의 이진화 방법이 제공된다.
상기 제5 측면에 따르면, 상기 후보 움직임 정보 리스트들의 상기 카테고리들의 개수는 2 이상이고, 상기 제1 이진화 방법과 상기 제2 이진화 방법은 동일한 방법이다.
상기 제5 측면에 따르면, 상기 후보 움직임 정보 리스트들의 상기 카테고리들의 개수는 2 이상이고, 상기 제1 이진화 방법과 상기 제2 이진화 방법은 서로 다른 방법이다.
본 출원의 제6 측면에 따르면, 비트스트림으로부터, 후보 움직임 정보 리스트의 카테고리의 인덱스의 이진화 정보 및 현재 움직임 정보가 분류된 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 인덱스의 이진화 정보를 획득하는 단계; 상기 카테고리의 상기 인덱스 및 상기 현재 움직임 정보가 분류된 상기 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 상기 인덱스의 상기 획득된 이진화 정보를 파싱하는 단계; 부호화기 측에서 후보 움직임 정보 리스트들을 분류하는 분류 방법과 동일한 분류 방법에 따라, 후보 움직임 정보 리스트들을 복수 개의 카테고리들로 분류하는 단계; 상기 파싱된, 카테고리의 인덱스, 상기 파싱된, 상기 현재 움직임 정보가 분류된 상기 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 인덱스, 및 상기 분류된 카테고리들에 따라 움직임 정보를 결정하는 단계; 및, 상기 움직임 정보에 기반하여 복호화를 수행하는 단계를 포함하는, 움직임 벡터 정보를 결정하는 방법이 제공된다.
상기 제6 측면에 따르면, 상기 카테고리의 상기 인덱스 및 상기 현재 움직임 정보가 분류된 상기 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 상기 인덱스의 상기 획득된 이진화 정보를 파싱하는 단계는: 상기 제1 이진화 방법의 역 이진화 방법을 비트스트림 내의 상기 카테고리의 상기 인덱스의 상기 이진화 정보에 적용함으로써 상기 카테고리의 상기 인덱스를 획득하는 단계; 및 상기 제2 이진화 방법의 역 이진화 방법을 비트스트림 내의 상기 현재 움직임 정보가 분류된 상기 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 상기 인덱스의 상기 이진화 정보에 적용하여, 상기 현재 움직임 정보가 분류된 상기 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 상기 인덱스를 획득하는 단계를 포함한다.
상기 제6 측면에 따르면, 상기 파싱된, 카테고리의 인덱스, 상기 파싱된, 상기 현재 움직임 정보가 분류된 상기 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 인덱스, 및 상기 분류된 카테고리들에 따라 상기 움직임 정보를 결정하는 단계는 상기 카테고리의 상기 인덱스를 사용하여, 상기 현재 움직임 정보가 어떤 카테고리에 분류되었는지 결정하고, 상기 결정된 카테고리에서, 상기 현재 움직임 정보가 분류된 상기 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 상기 인덱스를 이용하여 상기 움직임 정보를 찾아내는 단계를 포함한다.
본 출원의 제7 측면에 따르면, 후보 움직임 정보 리스트들을 복수 개의 카테고리들로 분류하도록 구성된 분류화부; 상기 각 카테고리의 인덱스를 제1 이진화 방법을 사용하여 이진화하고, 현재 움직임 정보가 분류된 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 인덱스를 제2 이진화 방법을 사용하여 이진화하도록 구성된 이진화부; 및 상기 제1, 2 이진화 방법들에 따라 도출된 이진화 정보를 비트스트림에 기록하도록 구성된 이진화 정보 기록부를 포함하는 부호화기가 제공된다.
상기 제7 측면에 따르면, 상기 후보 움직임 정보 리스트들의 상기 카테고리들의 개수는 2 이상이고, 상기 제1 이진화 방법과 상기 제2 이진화 방법은 같은 방법이다.
상기 제7 측면에 따르면, 상기 후보 움직임 정보 리스트들의 상기 카테고리들의 개수는 2 이상이고, 상기 제1 이진화 방법과 상기 제2 이진화 방법은 서로 다른 방법이다.
본 출원의 제8 측면에 따르면, 비트스트림으로부터, 후보 움직임 정보 리스트의 카테고리의 인덱스의 이진화 정보 및 현재 움직임 정보가 분류된 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 인덱스의 이진화 정보를 획득하도록 구성된 획득부; 상기 카테고리의 상기 인덱스 및 상기 현재 움직임 정보가 분류된 상기 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 상기 인덱스의 상기 획득된 이진화 정보를 파싱하도록 구성된 파싱부; 부호화기 측에서 후보 움직임 정보 리스트들을 분류하는 분류 방법과 동일한 분류 방법에 따라, 후보 움직임 정보 리스트들을 복수 개의 카테고리들로 분류하도록 구성된 분류화부; 상기 파싱된, 카테고리의 인덱스, 상기 파싱된, 상기 현재 움직임 정보가 분류된 상기 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 인덱스, 및 상기 분류된 카테고리들에 따라 움직임 정보를 결정하도록 구성된 결정부를 포함하는, 복호화기가 제공된다.
상기 제8 측면에 따르면, 상기 파싱 부는 상기 제1 이진화 방법의 역 이진화 방법을 비트스트림 내의 상기 카테고리의 상기 인덱스의 상기 이진화 정보에 적용함으로써 상기 카테고리의 상기 인덱스를 획득하고, 상기 제2 이진화 방법의 역 이진화 방법을 비트스트림 내의 상기 현재 움직임 정보가 분류된 상기 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 상기 인덱스의 상기 이진화 정보에 적용하여, 상기 현재 움직임 정보가 분류된 상기 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 상기 인덱스를 획득하도록 더 구성된다.
상기 제8 측면에 따르면, 상기 결정 부는 상기 카테고리의 상기 인덱스를 사용하여, 상기 현재 움직임 정보가 어떤 카테고리에 분류되었는지 결정하고, 상기 결정된 카테고리에서, 상기 현재 움직임 정보가 분류된 상기 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 상기 인덱스를 이용하여 움직임 정보를 찾아내도록 더 구성된다.
본 발명은 AMVR 기술의 움직임 벡터 해상도 및 움직임 벡터 예측의 대응성에 기반한, 히스토리 기반 움직임 벡터 예측 기법을 제시한다. 상기 히스토리 기반 움직임 벡터 예측은 움직임 벡터 예측 표현이 야기하는 오버헤드를 제거할 뿐만 아니라, 시간적 및 공간적으로 인접한 블록에 대해서만 수행되는 움직임 벡터 예측에 비하여, 후보 개수를 증가시킴으로써, 움직임 벡터 차이 값을 효과적으로 감소시키고, 부호화 성능을 향상시킨다.
또한, VVC 또는 AVS3표준이 HMVP 부호화 기술을 도입함으로써, 움직임 정보 인덱스 확률의 분포가 단항의 코드를 절단하는 이진화 방식에 더 이상 적합하지 않게 된다. 따라서 본 발명은 움직임 정보 인덱스에 대한 이진화 방법을 제안한다. 첫째로, 후보 움직임 정보 리스트의 움직임 벡터 카테고리들에 따라, 후보 움직임 정보 리스트의 움직임 벡터들이 카테고리의 인덱스로 표시되는 복수 개의 카테고리들로 분류된다. 그 후 상기 카테고리 인덱스가 이진화되고, 큰 카테고리의 상기 움직임 정보 인덱스가 이진화된다. 이를 통해 이진화 및 부호화 효율이 효과적으로 향상되고, 이로써 비디오 부호화 압축 효율이 향상될 수 있다.
도 1a 및 도 1b는 본 발명의 일 실시예에 따라 AMVR 기술의 움직임 벡터 해상도들과 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들 간의 상응관계를 예시적으로 도시한다.
도 2a 내지 2d는 본 발명의 일 실시예에 따라 AMVR 기술의 움직임 벡터 해상도들과, 고유 움직임 벡터 예측 기법에 의해 획득되는 고유 움직임 벡터 예측 및 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들 간의 상응관계를 예시적으로 도시한다.
도 3a 및 3b는 본 발명의 일 실시예에 따라 AMVR 기술의 움직임 벡터 해상도들과 공간적 후보 리스트, 시간적 후보 리스트, 및 히스토리 기반 움직임 벡터 예측 리스트에서의 움직임 벡터 예측들 간의 상응관계를 예시적으로 도시한다.
도 4는 제1 실시예에 따른 움직임 벡터 정보의 부호화에 관한 순서도(400)이다.
도 5는 제2 실시예에 따른 움직임 벡터 정보의 부호화에 관한 순서도(500)이다.
도 6은 제1 실시예에 따른 움직임 벡터 정보의 복호화에 관한 순서도(600)이다.
도 7은 제2 실시예에 따른 움직임 벡터 정보의 복호화에 관한 순서도(700)이다.
도 8은 인터 스킵 모드 또는 인터 디렉트 모드에서 부호화기 측면의 움직임 정보 인덱스의 이진화 방법에 관한 개략적인 순서도이다.
도 9는 복호화기 측면의 이진화 정보에 기반한 움직임 정보 획득 방법에 관한 개략적인 순서도이다.
도 10은 인터 스킵 모드 또는 인터 디렉트 모드에서 움직임 정보의 인덱스를 이진화하는 장치를 개략적으로 도시한다.
도 11은 인터 스킵 모드 또는 인터 디렉트 모드에서 움직임 정보 인덱스의 이진화 정보에 기반하여 움직임 정보를 획득하는 장치를 개략적으로 도시한다.
본 발명의 구체적인 실시예들이 이하 자세하게 설명된다. 실시예들은 설명적인 목적을 위해 기술될 뿐 발명을 한정하는 것이 아니다. 다음의 설명에서, 다양한 구체적인 사항들은 발명의 온전한 이해를 위해서 제공된다. 그러나 본 발명의 실행을 위해 반드시 상기의 구체적인 사항들을 채택할 필요는 없음이 당업자들에게 명확하게 이해될 것이다. 다른 경우에서는 공지의 회로, 물질, 방법들은 발명의 요지를 흐리지 않기 위해 구체적인 설명이 생략되었다.
명세서 전반에 걸쳐 "일 실시예," "실시예들," "일 예," 또는 "예들"은 실시예 또는 예시와 연관하여 기술된 특정한 특징, 구조, 또는 특성이 본 발명의 적어도 하나의 실시예에 포함되어 있음을 의미한다. 명세서 전반에 등장하는 "일 실시예에서," "상기 실시예에서," "일 예에서," "상기 예에서"와 같은 표현들은 동일한 실시예 또는 예를 의미하는 것이 아니다. 나아가, 상기 특정한 특징, 구조, 또는 특성은 적어도 일 실시예 또는 일 예에서 적합한 어떠한 조합 방식 및/또는 어떠한 하위 조합 방식으로 조합될 수 있다. 또한, 통상의 기술자는 첨부된 도면은 예시를 위해 제공되었을 뿐, 반드시 규모를 한정하지 않음을 이해할 것이다. 어떤 구성요소가 다른 구성요소에 "결합" 또는 "연결"된다고 할 때, 상기 구성요소는 타 구성요소에 직접적으로 결합 또는 연결될 수도 있고, 다른 부재가 개재될 수도 있다. 반대로, 어떤 구성요소가 다른 구성요소에 "직접적으로 결합" 또는 "직접적으로 연결"된다고 기재될 때, 개재되는 요소가 존재하지 않는다. 동일한 부재번호는 동일한 구성요소를 지시한다. 본 명세서에 사용된 "및/또는"이라는 용어는 통합된 구성 목록의 적어도 하나를 포함하는 모든 조합방식을 포함한다.
I. 움직임 벡터 해상도와 움직임 벡터 예측 간의 상응관계
본 발명에 따르면, 종래 기술의 움직임 벡터 예측의 문제를 해결하기 위해서, AMVR 기술의 움직임 벡터 해상도와 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측 간의 상응관계를 형성한다. 이를 통해 움직임 벡터 예측을 표현하기 위해 야기되는 오버헤드가 제거되고, 시간적 및 공간적으로 인접한 블록들만을 사용한 움직임 벡터 예측과 비교해, 후보 개수를 증가시킬 수 있다. 이로써 움직임 벡터 차이 값을 효과적으로 줄이고, 부호화 성능을 향상시킬 수 있다.
AMVR 기술(이하 움직임 벡터 해상도로 지칭함)의 움직임 벡터 해상도들과 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들 간의 상응관계는 다양할 수 있다. 움직임 벡터 해상도들은 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측에만 상응할 뿐 아니라, 다른 움직임 벡터 예측들을 채택함으로써 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들을 통해 형성되는 움직임 벡터 예측들 및 상기 채택된 다른 움직임 벡터 예측들 전체에 상응할 수 있다. 다양한 상응관계들이 첨부한 도면들을 참조하여 이하에서 예시적으로 설명될 것이다.
움직임 벡터 해상도들은 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들에만 대응된다.
도 1a 및 도 1b는 본 발명의 일 실시예에 따라 움직임 벡터 해상도들이 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들에만 상응되는 경우를 도시한다. 우선, 움직임 벡터 해상도들 및 미리 설정된 움직임 벡터 해상도들은 보통 부호화기/복호화기에 의해 규정되거나 부호화/복호화 표준들에 의해 특정되고, 한가지 가능한 규정 방식은 1/16 픽셀, 1/8 픽셀, 1/4 픽셀, 1/2 픽셀, 풀 픽셀(full-pixel), 2 픽셀, 4 픽셀, 8 픽셀, 16 픽셀, 또는 다른 2의 거듭제곱의 픽셀 해상도이다.
이 경우, 제1 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 마지막 움직임 벡터 예측에 대응될 수 있고, 제2 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 끝에서 두 번째 움직임 벡터 예측에 대응되는 식으로 움직임 벡터 해상도와 움직임 벡터 예측이 대응될 수 있다. 그러나 움직임 벡터 해상도들 및 움직임 벡터 예측들 간의 이와 같은 상응 방법은 단순히 예시와 설명을 목적으로 한 예일 뿐 이라는 점이 통상의 기술자에게 자명할 것이다.
또는, 제1 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제1 움직임 벡터 예측에 대응되고, 제2 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제2 움직임 벡터 예측에 대응되는 식으로 움직임 벡터 해상도와 움직임 벡터 예측이 대응될 수 있다.
또는, 움직임 벡터 해상도들은 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들에 위에 기술된 대응 방식과 다른 대응 방식으로 대응될 수 있다.
설명의 편의를 위해, 본 예에서는 움직임 벡터 해상도들의 개수가 N이라고 가정하면, 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들의 개수는 M일 수 있다.
도 1a는 M이 N이상일 때, 움직임 벡터 해상도들과 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들 간의 상응 관계에 대한 예시적인 다이어그램이다. 도시된 바와 같이, 제1 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제 M번째 움직임 벡터 예측에 대응되고, 제2 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 M-1번째 움직임 벡터 예측에 대응되고, […] 제N 번째 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제 M-N+1번째 움직임 벡터 예측에 대응된다. 이 경우, 각 움직임 벡터 해상도를 위해, 히스토리 기반 움직임 벡터 예측 리스트에 상응되는 움직임 벡터 예측이 존재한다.
도 1b는 M이 N보다 작을 때, 움직임 벡터 해상도들 및 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들 간의 상응관계에 대한 예시적인 다이어그램이다. 도시된 바와 같이, 제1 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제M번째 움직임 벡터 예측에 대응되고, 제2 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제 M-1번째 움직임 벡터 예측에 대응되고, […], 제M 번째 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제1 움직임 벡터 예측에 대응된다.
이 경우, 제 M+1번째 움직임 벡터 해상도 내지 제N 번째 움직임 벡터 해상도를 위해, 하기의 설정 중 하나가 채택될 수 있다.
(1) 제1 설정: 제 M+1번째 내지 제 N번째 움직임 벡터 해상도들은 모두 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들 중 어느 하나에 대응된다. 예를 들어, 제M+1번째 내지 제N 번째 움직임 벡터 해상도들은 모두 히스토리 기반 움직임 벡터 예측 리스트의 제M 번째 움직임 벡터 예측에 대응된다.
(2) 제2 설정: 제M+1 번째 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제M 번째 움직임 벡터 예측에 대응되고, 제M+2 번째 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제M-1 번째 움직임 벡터 예측에 대응되고, 이런 식으로 대응된다. 2M이 N보다 같거나 클 때, 각각의 움직임 벡터 해상도를 위해 히스토리 기반 움직임 벡터 예측 리스트에 상응하는 움직임 벡터 예측이 존재한다. 2M이 N보다 작을 때, 제2M+1 번째 내지 제N 번째 움직임 벡터 해상도를 위한 대응 방식은 제M+1 번째 내지 제2M 번째 움직임 벡터 해상도들을 위한 대응방식과 같고, 이 같은 방식으로 모든 움직임 벡터 해상도들이 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들에 대응된다.
(3) 제3 설정: 제 M+1 번째 내지 제N 번째 움직임 벡터 해상도들은 움직임 벡터 예측들 중 어느 것에도 대응되지 않는다.
상기한 대응 방식의 어떤 것과 관련해서도, 현재 움직임 벡터 예측이 이미 대응되었던 움직임 벡터 예측에서 발생하는 경우, 현재 움직임 벡터 예측이 생략되고 현재 움직임 벡터 해상도는 다음 후보 움직임 벡터 예측에 대응되는 제약이 존재하고, 이 같은 제약이 전술한 상응되는 순서에도 적용된다. 예를 들어, 제2 움직임 벡터 해상도가 히스토리 기반 움직임 벡터 예측 리스트의 제M-1 번째 움직임 벡터 예측에 대응하는 경우, 상기 제M-1 번째 움직임 벡터 예측은 제M 번째 움직임 벡터 예측과 완전히 동일하다는 것을 알 수 있고, 이 경우, 상기 제M-1 번째 움직임 벡터 예측은 생략되고, 상기 제2 움직임 벡터 해상도는 제M-2 번째 움직임 벡터 예측에 대응된다. 만약 상기 제M-2 번째 움직임 벡터 예측 또한 상기 제M 번째 움직임 벡터 예측과 완전히 동일하다면, 차후의 대응 작업이 상기 제M 번째 움직임 벡터 예측과 동일하지 않은 움직임 벡터 예측이 찾아질 때까지 계속된다.
만약 히스토리 기반 움직임 벡터 예측 리스트의 제약에 걸리는 후보 움직임 벡터 예측이 존재하지 않는다면, 나머지 비대응 움직임 벡터 해상도들은 모두 히스토리 기반 움직임 벡터 예측 리스트의 어느 한 움직임 벡터 예측에 대응될 수 있다. 예를 들어, 제2 내지 제N 번째 움직임 벡터 해상도들은 모두 제M 번째 움직임 벡터 예측에 대응될 수 있다.
움직임 벡터 해상도들은 고유 움직임 벡터 예측 기법에 의해 획득된 고유 움직임 벡터 예측 및 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들에 대응된다.
도 2a 내지 도 2d는 본 발명의 일 실시예에 따라 움직임 벡터 해상도들이 고유 움직임 벡터 예측 기법에 의해 획득되는 고유 움직임 벡터 예측과 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들에 대응되는 경우를 도시한다. 우선, 움직임 벡터 해상도들 및 이전에 설정된 움직임 벡터 해상도들은 보통 부호화기/복호화기에 의해 규정되거나 부호화/복호화 표준들에 의해 특정되고, 한가지 가능한 규정 방식은 1/16 픽셀, 1/8 픽셀, 1/4 픽셀, 1/2 픽셀, 풀 픽셀, 2 픽셀, 4 픽셀, 8 픽셀, 16 픽셀, 또는 다른 2의 거듭제곱 픽셀 해상도이다.
이 경우, 제1 움직임 벡터 해상도는 고유 움직임 벡터 예측에 대응되고, 제2 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 마지막 움직임 벡터 예측에 대응되고, 제3 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 끝에서 두 번째 움직임 벡터 예측에 대응되며, 이러한 방식으로 모든 움직임 벡터 해상도들에, 대응되는 모션 벡터 예측들이 존재한다. 그러나 움직임 벡터 해상도들 및 움직임 벡터 예측들 간의 이와 같은 상응 방법은 단순히 예시와 설명을 목적으로 한 예일 뿐 이라는 점이 통상의 기술자에게 자명할 것이다.
또는, 마지막 움직임 벡터 해상도는 고유 움직임 벡터 예측에 대응될 수 있다.
또는, 제1 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제1 움직임 벡터 예측에 대응되고, 제2 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제2 움직임 벡터 예측에 대응되는 식으로 움직임 벡터 해상도와 움직임 벡터 예측이 대응될 수 있다.
또는, 움직임 벡터 해상도들은 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들에 위에 기술된 대응 방식과 다른 대응 방식으로 대응될 수 있다.
설명의 편의를 위해, 본 예에서는 움직임 벡터 해상도들의 개수가 N이라고 가정하면, 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들의 개수는 M일 수 있다.
도 2a 및 2b는 제1 움직임 벡터 해상도가 고유 움직임 벡터 예측에 대응되는 경우의 상응 관계 다이어그램이다.
도 2a는 M+1이 N이상일 때, 움직임 벡터 해상도들이 고유 움직임 벡터 예측 기법에 의해 획득되는 고유 움직임 벡터 예측 및 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들에 대응하는 경우의 상응 관계에 대한 예시적인 다이어그램이다.도시된 바와 같이, 제1 움직임 벡터 해상도는 고유 움직임 벡터 예측에 대응되고, 제2 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제 M번째 움직임 벡터 예측에 대응되고, 제3 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제M-1번째 움직임 벡터 예측에 대응되고, […] 제N 번째 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제 M-N+2번째 움직임 벡터 예측에 대응될 수 있다. 이 경우, 각 움직임 벡터 해상도를 위해, 히스토리 기반 움직임 벡터 예측 리스트에 상응되는 움직임 벡터 예측이 존재한다.
도 2b는 M+1이 N보다 작을 때, 움직임 벡터 해상도들이 고유 움직임 벡터 예측 기법에 의해 획득되는 고유 움직임 벡터 예측 및 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들에 대응되는 경우의 상응관계에 대한 예시적인 다이어그램이다. 도시된 바와 같이, 제1 움직임 벡터 해상도는 고유 움직임 벡터 예측에 대응되고, 제2 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제M번째 움직임 벡터 예측에 대응되고, 제3 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제 M-1번째 움직임 벡터 예측에 대응되고, […], 제M +1번째 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제1 움직임 벡터 예측에 대응될 수 있다.
이 경우, 제 M+2번째 내지 제N 번째 움직임 벡터 해상도들을 위해, 하기의 설정 중 하나가 채택될 수 있다.
(1) 제1 설정: 제 M+2번째 내지 제 N번째 움직임 벡터 해상도들은 모두 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들 중 어느 하나에 대응된다. 예를 들어, 제M+2번째 내지 제N 번째 움직임 벡터 해상도들은 모두 히스토리 기반 움직임 벡터 예측 리스트의 제M 번째 움직임 벡터 예측에 대응된다.
(2) 제2 설정: 제 M+2번째 내지 제 N번째 움직임 벡터 해상도들은 모두 고유 움직임 벡터 예측에 대응된다.
(3) 제3 설정: 제M+2 번째 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제M 번째 움직임 벡터 예측에 대응되고, 제M+3 번째 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제M-1 번째 움직임 벡터 예측에 대응되고, 이런 식으로 대응된다. 2M+1이 N보다 같거나 클 때, 각각의 움직임 벡터 해상도를 위해 히스토리 기반 움직임 벡터 예측 리스트에 상응하는 움직임 벡터 예측이 존재한다. 2M+1이 N보다 작을 때, 제2M+2 번째 내지 제N 번째 움직임 벡터 해상도를 위한 대응 방식은 제M+2 번째 내지 제2M+1 번째 움직임 벡터 해상도들을 위한 대응방식과 같고, 이 같은 방식으로 모든 움직임 벡터 해상도들이 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들에 대응된다.
(4) 제4 설정: 제 M+2 번째 내지 제N 번째 움직임 벡터 해상도들은 움직임 벡터 예측들 중 어느 것에도 대응되지 않는다.
상기한 대응 방식의 어떤 것과 관련해서도, 현재 움직임 벡터 예측이 이미 대응되었던 움직임 벡터 예측에서 발생하는 경우, 현재 움직임 벡터 예측이 생략되고 현재 움직임 벡터 해상도는 다음 후보 움직임 벡터 예측에 대응되는 제약이 존재하고, 이 같은 제약이 전술한 상응되는 순서에도 적용된다. 예를 들어, 제3 움직임 벡터 해상도가 히스토리 기반 움직임 벡터 예측 리스트의 제M-1 번째 움직임 벡터 예측에 대응하는 경우, 상기 제M-1 번째 움직임 벡터 예측은 제M 번째 움직임 벡터 예측과 완전히 동일하다는 것을 알 수 있고, 이 경우, 상기 제M-1 번째 움직임 벡터 예측은 생략되고, 상기 제3 움직임 벡터 해상도는 제M-2 번째 움직임 벡터 예측에 대응된다. 만약 상기 제M-2 번째 움직임 벡터 예측 또한 상기 제M 번째 움직임 벡터 예측과 완전히 동일하다면, 차후의 대응 작업이 상기 제M 번째 움직임 벡터 예측과 동일하지 않은 모션 벡터 예측이 찾아질 때까지 계속된다.
만약 히스토리 기반 움직임 벡터 예측 리스트의 제약에 걸리는 후보 움직임 벡터 예측이 존재하지 않는다면, 나머지 비대응 움직임 벡터 해상도들은 모두 히스토리 기반 움직임 벡터 예측 리스트의 어느 한 움직임 벡터 예측에 대응될 수 있다. 예를 들어, 제3 내지 제N 번째 움직임 벡터 해상도들은 모두 제M 번째 움직임 벡터 예측에 대응될 수 있다.
또는 만약 히스토리 기반 움직임 벡터 예측 리스트의 제약에 걸리는 후보 움직임 벡터 예측이 존재하지 않는다면, 나머지 비대응 움직임 벡터 해상도들은 모두 고유 움직임 벡터 예측에 대응될 수 있다.
도 2c 및 도 2d는 마지막 움직임 벡터 해상도가 고유 움직임 벡터 예측에 대응되는 경우의 상응 관계 다이어그램이다.
도 2c는 M+1이 N이상일 때, 움직임 벡터 해상도들이 고유 움직임 벡터 예측 기법에 의해 획득되는 고유 움직임 벡터 예측 및 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들에 대응하는 경우의 상응 관계에 대한 예시적인 다이어그램이다. 도시된 바와 같이, 마지막 움직임 벡터 해상도는 고유 움직임 벡터 예측에 대응되고, 제1 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제 M번째 움직임 벡터 예측에 대응되고, 제2 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제M-1번째 움직임 벡터 예측에 대응되는 식으로 움직임 벡터 해상도와 움직임 벡터 예측이 대응될 수 있다. 이 경우, 각 움직임 벡터 해상도를 위해, 히스토리 기반 움직임 벡터 예측 리스트에 상응되는 움직임 벡터 예측이 존재한다.
도 2d는 M+1이 N미만일 때, 움직임 벡터 해상도들이 고유 움직임 벡터 예측 기법에 의해 획득되는 고유 움직임 벡터 예측 및 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들에 대응하는 경우의 상응 관계에 대한 예시적인 다이어그램이다. 도시된 바와 같이, 마지막 움직임 벡터 해상도는 고유 움직임 벡터 예측에 대응되고, 제1 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제 M번째 움직임 벡터 예측에 대응되고, 제2 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제M-1번째 움직임 벡터 예측에 대응되고, […], 제M 번째 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제1 움직임 벡터 예측에 대응될 수 있다.
이 경우, 제 M+1번째 내지 제N-1 번째 움직임 벡터 해상도들을 위해, 하기의 설정 중 하나가 채택될 수 있다.
(1) 제1 설정: 제 M+1번째 내지 제 N-1번째 움직임 벡터 해상도들은 모두 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들 중 어느 하나에 대응된다. 예를 들어, 제M+1번째 내지 제N-1 번째 움직임 벡터 해상도들은 모두 히스토리 기반 움직임 벡터 예측 리스트의 제M 번째 움직임 벡터 예측에 대응될 수 있다.
(2) 제2 설정: 제 M+1번째 내지 제 N-1번째 움직임 벡터 해상도들은 모두 고유 움직임 벡터 예측에 대응된다.
(3) 제3 설정: 제M+1 번째 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제M 번째 움직임 벡터 예측에 대응되고, 제M+2 번째 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제M-1 번째 움직임 벡터 예측에 대응되고, 이런 식으로 대응된다. 2M+1이 N보다 같거나 클 때, 각각의 움직임 벡터 해상도를 위해 히스토리 기반 움직임 벡터 예측 리스트에 상응하는 움직임 벡터 예측이 존재한다. 2M+1이 N보다 작을 때, 제2M+2 번째 내지 제N-1 번째 움직임 벡터 해상도를 위한 대응 방식은 제M+1 번째 내지 제2M+1 번째 움직임 벡터 해상도들을 위한 대응방식과 같고, 이 같은 방식으로 모든 움직임 벡터 해상도들이 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들에 대응된다.
(4) 제4 설정: 제 M+1 번째 내지 제N 번째 움직임 벡터 해상도들은 움직임 벡터 예측들 중 어느 것에도 대응되지 않는다.
상기한 대응 방식의 어떤 것과 관련해서도, 현재 움직임 벡터 예측이 이미 대응되었던 움직임 벡터 예측에서 발생하는 경우, 현재 움직임 벡터 예측이 생략되고 현재 움직임 벡터 해상도는 다음 후보 움직임 벡터 예측에 대응되는 제약이 존재하고, 이 같은 제약이 전술한 상응되는 순서에도 적용된다. 예를 들어, 제2 움직임 벡터 해상도가 히스토리 기반 움직임 벡터 예측 리스트의 제M-1 번째 움직임 벡터 예측에 대응하는 경우, 상기 제M-1 번째 움직임 벡터 예측은 제M 번째 움직임 벡터 예측과 완전히 동일하다는 것을 알 수 있고, 이 경우, 상기 제M-1 번째 움직임 벡터 예측은 생략되고, 상기 제2 움직임 벡터 해상도는 제M-2 번째 움직임 벡터 예측에 대응된다. 만약 상기 제M-2 번째 움직임 벡터 예측 또한 상기 제M 번째 움직임 벡터 예측과 완전히 동일하다면, 차후의 대응 작업이 상기 제M 번째 움직임 벡터 예측과 동일하지 않은 모션 벡터 예측이 찾아질 때까지 계속된다.
만약 히스토리 기반 움직임 벡터 예측 리스트의 제약에 걸리는 후보 움직임 벡터 예측이 존재하지 않는다면, 나머지 비대응 움직임 벡터 해상도들은 모두 히스토리 기반 움직임 벡터 예측 리스트의 어느 한 움직임 벡터 예측에 대응될 수 있다. 예를 들어, 제2 내지 제N-1 번째 움직임 벡터 해상도들은 모두 제M 번째 움직임 벡터 예측에 대응될 수 있다.
또는 만약 히스토리 기반 움직임 벡터 예측 리스트의 제약에 걸리는 후보 움직임 벡터 예측이 존재하지 않는다면, 나머지 비대응 움직임 벡터 해상도들은 모두 고유 움직임 벡터 예측에 대응될 수 있다.
움직임 벡터 해상도들은 공간적 후보 리스트, 시간적 후보 리스트, 및 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들에 대응된다.
도 3a 및 도 3b는 본 발명의 일 실시예에 따라 움직임 벡터 해상도들이 공간적 후보 리스트, 시간적 후보 리스트, 및 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들에 대응되는 경우를 도시한다. 우선, 움직임 벡터 해상도들 및 이전에 설정된 움직임 벡터 해상도들은 보통 부호화기/복호화기에 의해 규정되거나 부호화/복호화 표준들에 의해 특정되고, 한가지 가능한 규정 방식은 1/16 픽셀, 1/8 픽셀, 1/4 픽셀, 1/2 픽셀, 풀 픽셀, 2 픽셀, 4 픽셀, 8 픽셀, 16 픽셀, 또는 다른 2의 거듭제곱 픽셀 해상도이다.
이 경우, 제1 절반 움직임 벡터 해상도들은 공간적 후보 리스트 및 시간적 후보 리스트의 움직임 벡터 예측들에 대응되고, 구체적인 상응 방법은 본 발명에 있어 한정되지 않는다. 또한, 공간적 후보 리스트 및 시간적 후보 리스트의 움직임 벡터 예측들에 대응되지 않는 제2 절반 움직임 벡터 해상도들은 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들에 대응된다. 상기 제1 절반 움직임 벡터 해상도들의 개수는 상기 공간적 후보 리스트 및 상기 시간적 후보 리스트의 상기 움직임 벡터 예측들의 개수와 같거나 다를 수 있다. 예를 들어, 도 3a 및 3b에 나타난 바와 같이, 움직임 벡터 해상도들의 개수는 N이고, 상기 공간적 후보 리스트 및 시간적 후보 리스트에서 상기 움직임 벡터 해상도들에 대응되는 움직임 벡터 예측들의 개수는 K(K<N)이고, 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들의 개수는 M이다. 이 경우, 제1 내지 제K 번째 움직임 벡터 해상도들은 공간적 후보 리스트 및 시간적 후보 리스트의 K개 움직임 벡터 예측들에 대응되고, 제 K+1 번째 내지 N 번째 움직임 벡터 해상도들은 히스토리 기반 움직임 벡터 예측 리스트의 M 개 움직임 벡터 예측들에 대응된다.
제1 내지 제K 번째 움직임 벡터 해상도들이 상기 공간적 후보 리스트 및 상기 시간적 후보 리스트의 K개 움직임 벡터 예측들에 대응하는 방법은 본 발명에 의해 한정되지 않는다.
제 K+1번째 내지 제N 번째 움직임 벡터 해상도들이 히스토리 기반 움직임 벡터 예측 리스트의 M개 움직임 벡터 예측들에 대응하는 방식과 관련해, 상기 제K+1 번째 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제M 번째 움직임 벡터 예측에 대응될 수 있고, 제 K+2 번째 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제 M-1 번째 움직임 벡터 예측에 대응될 수 있고, 이런 식으로 움직임 벡터 해상도와 움직임 벡터 예측이 대응될 수 있다.
N-K가 M보다 작거나 같을 때, 제N 번째 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 M+1+K-N 움직임 벡터 예측에 대응되고, 이 경우, N개 움직임 벡터 해상도들은 모두 상응하는 움직임 벡터 예측들을 갖는다(도 3a 참조). N-K가 M보다 클 때, 제 K+M 번째 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제1 움직임 벡터 예측에 대응되고, 제 K+M+1 번째 내지 제 N 번째 움직임 벡터 해상도들의 경우에는 다음의 설정들 중 하나가 채택될 수 있다.
(1) 제1 설정: 제 K+M+1번째 내지 제 N번째 움직임 벡터 해상도들은 모두 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들 중 어느 하나에 대응된다. 예를 들어, 제K+M+1번째 내지 제N 번째 움직임 벡터 해상도들은 모두 히스토리 기반 움직임 벡터 예측 리스트의 제M 번째 움직임 벡터 예측에 대응된다.
(2) 제2 설정: 제K+M+1 번째 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제M 번째 움직임 벡터 예측에 대응되고, 제K+M+2 번째 움직임 벡터 해상도는 히스토리 기반 움직임 벡터 예측 리스트의 제M-1 번째 움직임 벡터 예측에 대응되고, 이런 식으로 모든 움직임 벡터 해상도들이 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들에 대응된다.
(3) 제3 설정: 제 K+M+1 번째 내지 제N 번째 움직임 벡터 해상도들은 움직임 벡터 예측들 중 어느 것에도 대응되지 않는다.
상기한 대응 방식의 어떤 것과 관련해서도, 현재 움직임 벡터 예측이 이미 대응되었던 움직임 벡터 예측에서 발생하는 경우, 현재 움직임 벡터 예측이 생략되고 현재 움직임 벡터 해상도는 다음 후보 움직임 벡터 예측에 대응되는 제약이 존재하고, 이 같은 제약이 전술한 상응되는 순서에도 적용된다. 예를 들어, 제K+2 번째 움직임 벡터 해상도가 히스토리 기반 움직임 벡터 예측 리스트의 제M-1 번째 움직임 벡터 예측에 대응하는 경우, 상기 제M-1 번째 움직임 벡터 예측은 제M 번째 움직임 벡터 예측과 완전히 동일하다는 것을 알 수 있고, 이 경우, 상기 제M-1 번째 움직임 벡터 예측은 생략되고, 상기 제K+2 번째 움직임 벡터 해상도는 제M-2 번째 움직임 벡터 예측에 대응된다. 만약 상기 제M-2 번째 움직임 벡터 예측 또한 상기 제M 번째 움직임 벡터 예측과 완전히 동일하다면, 차후의 대응 작업이 상기 제M 번째 움직임 벡터 예측과 동일하지 않은 모션 벡터 예측이 찾아질 때까지 계속된다.
만약 히스토리 기반 움직임 벡터 예측 리스트의 제약에 걸리는 후보 움직임 벡터 예측이 존재하지 않는다면, 나머지 비대응 움직임 벡터 해상도들은 모두 히스토리 기반 움직임 벡터 예측 리스트의 어느 한 움직임 벡터 예측에 대응될 수 있다. 예를 들어, 제K+2 번째 내지 제N 번째 움직임 벡터 해상도들은 모두 제M 번째 움직임 벡터 예측에 대응될 수 있다.
움직임 벡터 해상도들과 움직임 벡터 예측들 간의 이와 같은 대응 관계는 단순히 설명의 편의를 목적으로 한 예일 뿐 이라는 점을 참고해야 한다. 다른 움직임 벡터 예측들이 채택되어서, 히스토리 기반 움직임 벡터 예측 리스트의 움직임 벡터 예측들과 합해질 수 있으며, 상기 통합된 전체 움직임 벡터 예측들이 움직임 벡터 해상도들과 대응될 수 있다.
II. 움직임 벡터 정보의 부호화 방법
움직임 벡터 정보의 부호화 방법의 제1 실시예
본 출원은 움직임 벡터 해상도들과 움직임 벡터 예측들 간의 상기 대응 방식들에 따라 비디오 부호화 및 복호화에서 움직임 벡터 정보를 부호화하는 방법을 제공한다.
도 4는 제1 실시예에 따른, 전술한 움직임 벡터 해상도들과 움직임 벡터 예측들 간의 상응 방법에 기반하여 움직임 벡터 정보를 부호화하는 방법에 대한 순서도(400)이다.
단계 401에서 움직임 벡터 해상도, 움직임 벡터 예측, 및 움직임 벡터 차이가 결정된다.
상기 움직임 벡터 해상도, 움직임 벡터 예측, 움직임 벡터 차이를 결정하기 위한 방법의 일 예에 따르면, 부호화기가 모든 후보 움직임 벡터 해상도들을 횡단하고, 전술한 움직임 벡터 해상도들 및 움직임 벡터 예측들 간의 상응 방법에 근거하여, 각 움직임 벡터 해상도를 위한 대응하는 움직임 벡터 예측을 찾아낼 수 있다.
그 후, 상기 결정된 움직임 벡터 해상도의 최적의 움직임 벡터 값이, 예를 들어 움직임 탐색 방법에 의해 결정될 수 있고, 상기 움직임 벡터 차이가 상기 결정된 움직임 벡터 해상도의 최적의 움직임 벡터 값 및 상기 결정된 움직임 벡터 해상도에 상응하는 상기 움직임 벡터 예측을 기반으로 계산된다. 이 경우, 복수의 움직임 벡터 해상도들에는 복수의 움직임 벡터 차이들이 존재한다. 그 후, 상이한 움직임 벡터 해상도들의 최적의 움직임 벡터 값들을 이용하여 현재 블록을 부호화하는 데 드는 부호화 비용을 비교하여, 최적의 움직임 벡터 해상도와 움직임 벡터 예측의 조합과, 최적의 움직임 벡터 해상도의 움직임 벡터 차이를 결정한다.
상기 움직임 벡터 해상도, 움직임 벡터 예측, 및 움직임 벡터 차이를 결정하는 방법의 다른 예에 따르면, 부호화기가 모든 후보 움직임 벡터 값들을 횡단하고, 각 움직임 벡터 값에 대해서, 상기 최적의 움직임 벡터 해상도와 움직임 벡터 예측의 조합을 결정한 후, 각각의 최적의 움직임 벡터 해상도들의 움직임 벡터 값들을 이용하여 현재 블록을 부호화하는 데 드는 부호화 비용을 비교하여, 상기 최적의 움직임 벡터 해상도와 움직임 벡터 예측의 조합과, 상기 최적의 움직임 벡터 해상도의 상기 움직임 벡터 차이를 결정할 수 있다.
특히, 단계 401의 후보 움직임 벡터 해상도들은 보통 부호화기/복호화기에 의해 규정되거나 부호화/복호화 표준들에 의해 특정되고, 상기 후보 움직임 벡터 해상도들은 1/16 픽셀, 1/8 픽셀, 1/4 픽셀, 1/2 픽셀, 풀 픽셀, 2 픽셀, 4 픽셀, 8 픽셀, 16 픽셀, 또는 다른 2의 거듭제곱 픽셀 중 적어도 하나의 해상도로 규정될 수 있다.
단계 402에서, 상기 결정된 최적의 움직임 벡터 해상도에 관한 정보 및 상기 해상도에서 상기 움직임 벡터 차이에 관한 정보가 비트스트림에 기록된다.
상기 최적의 움직임 벡터 해상도 정보는 예를 들어 인덱스의 형태로 상기 비트스트림에 기록될 수 있고, 상기 해상도에서 상기 움직임 벡터 차이 정보는 기존의 움직임 벡터 차이 부호화 방식 중 어떠한 것을 이용해서도 비트스트림에 기록될 수 있다.
선택적으로, 필요에 따라 예측 방향 정보 또한 비트스트림에 기록될 수 있다. 하기의 방법들 중 하나가 상기 예측 방향을 결정하기 위해 채용될 수 있다.
(1) 움직임 벡터 예측의 예측 방향이 제1 참조 프레임 리스트 만을 참조하는지, 제2 참조 프레임 리스트 만을 참조하는지, 또는 상기 두 개의 참조 프레임 리스트들을 참조하는지 여부와 상관 없이, 부호화기는 이 세 방향을 시도할 수 있다. 즉, 예측 방향들의 선택적 범위는 상기 세 방향을 포함할 수 있다.
(2) 만약 움직임 벡터 예측의 예측 방향이 오직 제1 참조 프레임 리스트, 또는 오직 제2 참조 프레임 리스트, 또는 상기 두 개의 참조 프레임 리스트들 중 하나 만을 참조하는 경우, 부호화기는 상기 참조하는 방향만 시도할 수 있다.
(3) 만약 움직임 벡터 예측의 예측 방향이 오직 제1 참조 프레임 리스트 또는 오직 제2 참조 프레임 리스트를 참조하는 경우, 부호화기는 상기 방향만 시도할 수 있다.
(4) 만약 움직임 벡터 예측의 예측 방향이 상기 두 참조 프레임 리스트들을 참조하는 경우, 부호화기는 상기 세 방향들을 시도할 수 있다.
통상의 기술자는 상기 예측 방향을 결정하기 위한 방법들이 다만 예시와 설명을 목적으로 제시된 예일 뿐이며, 기존의 공지된 모든 결정 방법들과 미래에 개발될 방법들이 채택될 수 있음을 이해할 것이다.
선택적으로, 필요에 따라 참조 프레임 정보 또한 비트스트림에 기록될 수 있다. 참조 프레임 결정을 위해 하기의 방법들 중 하나가 채택될 수 있다.
(1) 부호화기는 현재 예측 방향에서 참조 프레임 리스트의 모든 참조 프레임들을 횡단할 수 있다. 참조 프레임 하 움직임 벡터 예측의 예측 값은 상기 움직임 벡터 예측의 상기 값을 스케일링 함으로써 획득되고, 스케일링 하는 방법은 본 발명에 의해 한정되지 않는다.
(2) 부호화기는 움직임 벡터 예측의 상기 결정된 예측 방향에 상응하는 참조 프레임만을 시도한다.
통상의 기술자는 상기 참조 프레임의 결정 방법들이 오직 예시와 설명의 목적으로 제시된 예일 뿐 임과 기존의 공지된 모든 결정 방법들 또는 미래에 개발될 방법들이 채택될 수 있음을 이해할 것이다.
예측 방향 정보와 관련하여, 상기 예측 방향 정보를 전송할지 여부는 보통 부호화기/복호화기에 의해 규정되거나 부호화/복호화 표준에 의해 특정된다.
일 예에 따르면, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 예측 방향과 상관 없이 상기 예측 방향 정보를 비트스트림으로 전송하도록 특정될 수 있다.
일 예에 따르면, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 예측 방향과 상관 없이 상기 예측 방향 정보가 비트스트림으로 전송되지 않고, 상기 예측 방향은 기본 값으로, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 예측 방향과 동일하게 간주될 것을 특정할 수 있다.
일 예에 따르면, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 예측 방향이 오직 제1 참조 프레임 리스트 또는 오직 제2 참조 프레임 리스트만을 참조하는 경우, 상기 예측 방향 정보는 비트스트림으로 전송되지 않고, 상기 예측 방향은 기본 값으로, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 예측 방향과 동일하게 간주될 것을 특정할 수 있다. 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 예측 방향이 상기 두 개의 참조 프레임 리스트들을 참조하는 경우, 상기 예측 방향 정보는 비트스트림에 전송되어야 한다.
상기 예측 방향 정보가 상기 비트스트림에 전송되어야 한다고 결정되는 경우, 상기 예측 방향 정보는 예측 방향 정보를 부호화하는 기존의 방법 중 어느 것을 사용해서도 비트스트림으로 부호화될 수 있다.
참조 프레임 정보와 관련하여, 상기 참조 프레임 정보를 전송할지 여부는 보통 부호화기/복호화기에 의해 규정되거나 부호화/복호화 표준에 의해서 특정된다.
일 예에 따르면, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 참조 프레임과 상관 없이 상기 참조 프레임 정보가 비트스트림으로 전송될 것이 특정될 수 있다.
일 예에 따르면, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 참조 프레임과 상관 없이 상기 참조 프레임 정보는 비트스트림으로 전송되지 않고, 상기 참조 프레임은 기본 값으로, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 참조 프레임과 동일하게 간주될 것을 특정할 수 있다.
일 예에 따르면, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 예측 방향이 오직 제1 참조 프레임 리스트 또는 오직 제2 참조 프레임 리스트만을 참조하는 경우, 상기 참조 프레임 정보는 비트스트림으로 전송되지 않고, 상기 참조 프레임은 기본 값으로, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 참조 프레임과 동일하게 간주될 것을 특정할 수 있다. 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 예측 방향이 상기 두 개의 참조 프레임 리스트들을 참조하는 경우, 상기 참조 프레임 정보는 비트스트림에 전송되어야 한다.
상기 참조 프레임 정보가 상기 비트스트림에 전송될 것이 결정되는 경우, 상기 참조 프레임 정보는 참조 프레임 정보를 부호화하는 기존의 방법 중 어느 것을 사용해서도 부호화될 수 있다.
움직임 벡터 정보를 부호화하는 방법의 제2 실시예
도 5는 제2 실시예에 따른 움직임 벡터 정보의 부호화 방법에 대한 순서도(500)이다.
단계 501에서 움직임 벡터 예측 모드, 움직임 벡터 해상도, 움직임 벡터 예측, 및 움직임 벡터 차이가 결정된다.
두 종류의 움직임 벡터 예측 모드가 있다. 하나는 움직임 벡터 예측들과 움직임 벡터 해상도들 간의 상응 관계를 사용하지 않는 것이고, 다른 하나는 상기 움직임 벡터 예측들과 상기 움직임 벡터 해상도들 간의 상기 상응 관계를 사용하는 것이다.
움직임 벡터 예측 모드를 결정하는 방법은 다음과 같다. 부호화기가 움직임 벡터 예측들과 움직임 벡터 해상도들 간의 상응 관계가 사용되지 않는 모드에서의 현재 블록의 부호화 비용을 획득할 것을 시도하고, 부호화기는 또한 상기 움직임 벡터 예측들과 상기 움직임 벡터 해상도들 간의 상기 상응 관계를 사용하는 모드에서의 현재 블록의 부호화 비용을 획득할 것을 시도한다. 부호화기는 상기 두 모드에서의 상기 부호화 비용을 비교하고, 더 작은 부호화 비용에 해당하는 모드를 최적의 움직임 벡터 예측 모드로 선택한다.
움직임 벡터 예측들과 움직임 벡터 해상도들 간의 상응 관계를 사용하지 않는 모드에서는 움직임 벡터 해상도, 움직임 벡터 예측, 및 움직임 벡터 차이를 결정하기 위해 기존의 어떤 방법도 채용될 수 있다.
움직임 벡터 예측들과 움직임 벡터 해상도들 간의 상응 관계를 사용하는 모드에서 움직임 벡터 해상도, 움직임 벡터 예측, 및 움직임 벡터 차이를 결정하기 위해 채용할 수 있는 방법 중 하나는 다음과 같다. 부호화기가 모든 후보 움직임 벡터 해상도들을 횡단하고, 전술한 움직임 벡터 해상도들 및 움직임 벡터 예측들 간의 대응 방법에 따라, 각 움직임 벡터 해상도를 위한 대응하는 움직임 벡터 예측을 찾아낸다. 해당 해상도에서 최적의 움직임 벡터는 움직임 탐색 방법에 의해 결정되고, 상기 움직임 벡터 차이가 계산되고, 그 후, 서로 다른 해상도에서 최적의 움직임 벡터들을 사용하여 현재 블록을 부호화하는 데 드는 부호화 비용들을 비교하여, 상기 최적의 움직임 벡터 해상도와 움직임 벡터 예측의 조합 및 해당 해상도에서의 상기 움직임 벡터 차이를 결정한다.
또 다른 채용 가능한 방법은 이와 같다. 부호화기가 모든 후보 움직임 벡터 값들을 횡단하고, 각 움직임 벡터 값에 대하여 최적의 움직임 벡터 해상도와 움직임 벡터 예측의 조합을 결정하고, 그 후 각각의 최적의 움직임 벡터 해상도를 사용하여 현재 블록을 부호화하는 데 드는 부호화 비용을 비교하여 상기 최적의 움직임 벡터 해상도와 움직임 벡터 예측의 조합 및 해당 해상도에서의 상기 움직임 벡터 차이를 결정한다.
특히, 단계 501의 후보 움직임 벡터 해상도들은 보통 부호화기/복호화기에 의해 규정되거나 부호화/복호화 표준들에 의해 특정되고, 상기 후보 움직임 벡터 해상도들은 1/16 픽셀, 1/8 픽셀, 1/4 픽셀, 1/2 픽셀, 풀 픽셀, 2 픽셀, 4 픽셀, 8 픽셀, 16 픽셀, 또는 다른 2의 거듭제곱 픽셀 중 적어도 하나의 해상도로 규정될 수 있다.
단계 502에서, 상기 결정된 움직임 벡터 예측 모드, 움직임 벡터 해상도 정보, 움직임 벡터 예측(필요한 경우), 및 최적의 움직임 벡터 차이 정보가 비트스트림에 기록된다.
상기 움직임 벡터 예측 모드 정보는 1 비트의 플래그 정보 형식으로 상기 비트스트림에 기록될 수 있다.
한 가지 가능한 방식은 상기 움직임 벡터 예측 모드가 상기 움직임 벡터 예측들과 상기 움직임 벡터 해상도들 간의 상기 상응 관계를 사용하지 않는 모드인 경우, 플래그 정보를 "0"으로 설정하는 것이다.
다른 한 가지 가능한 방식은 상기 움직임 벡터 예측 모드가 상기 움직임 벡터 예측들과 상기 움직임 벡터 해상도들 간의 상기 상응 관계를 사용하지 않는 모드인 경우, 플래그 정보를 "1"로 설정하고, 그렇지 않은 경우, "0"으로 설정하는 것이다.
상기 움직임 벡터 해상도 정보는 인덱스의 형태로 상기 비트스트림에 기록될 수 있고, 상기 최적의 움직임 벡터 차이 정보는 기존의 어떤 움직임 벡터 차이 부호화 방식을 사용해서도 비트스트림에 기록될 수 있다. 만약 움직임 벡터 예측 모드가 상기 움직임 벡터 예측들 및 상기 움직임 벡터 해상도들 간의 상기 상응 관계를 사용하지 않는 모드이고, 부호화기/복호화기에 의해 규정되는 상기 움직임 벡터 예측이 고유하지 않은 경우, 상기 움직임 벡터 예측 정보는 비트스트림으로 전송되어야 하고, 상기 움직임 벡터 예측 정보는 움직임 벡터 예측을 부호화하는 기존의 어떤 방법을 사용해서도 비트스트림에 기록될 수 있다.
선택적으로, 필요에 따라 예측 방향 정보 또한 비트스트림에 기록될 수 있다. 하기의 방법들 중 하나가 상기 움직임 벡터 예측들 및 상기 움직임 벡터 해상도들 간의 상기 상응 관계를 사용하는 모드에서 상기 예측 방향을 결정하기 위해 채용될 수 있다.
(1) 움직임 벡터 예측의 예측 방향이 제1 참조 프레임 리스트 만을 참조하는지, 제2 참조 프레임 리스트 만을 참조하는지, 또는 상기 두 개의 참조 프레임 리스트들을 참조하는지 여부와 상관 없이, 부호화기는 이 세 방향을 시도할 수 있다. 즉, 예측 방향들의 선택적 범위는 상기 세 방향을 포함할 수 있다.
(2) 만약 움직임 벡터 예측의 예측 방향이 오직 제1 참조 프레임 리스트, 또는 오직 제2 참조 프레임 리스트, 또는 상기 두 개의 참조 프레임 리스트들 중 하나 만을 참조하는 경우, 부호화기는 상기 참조하는 방향만 시도할 수 있다.
(3) 만약 움직임 벡터 예측의 예측 방향이 오직 제1 참조 프레임 리스트 또는 오직 제2 참조 프레임 리스트를 참조하는 경우, 부호화기는 상기 방향만 시도할 수 있다.
(4) 만약 움직임 벡터 예측의 예측 방향이 상기 두 참조 프레임 리스트들을 참조하는 경우, 부호화기는 상기 세 방향들을 시도할 수 있다.
통상의 기술자는 상기 예측 방향을 결정하기 위한 방법들이 다만 예시와 설명을 목적으로 제시된 예일 뿐이며, 기존의 공지된 모든 결정 방법들과 미래에 개발될 방법들이 채택될 수 있음을 이해할 것이다.
상기 움직임 벡터 예측들 및 상기 움직임 벡터 해상도들 간의 상기 상응 관계가 사용되지 않는 모드에서의 예측 방향을 결정하기 위한 상기 방법은 본 발명의 사상을 흐리지 않기 위해 다시 기재하지 않는다.
선택적으로, 필요에 따라 참조 프레임 정보 또한 비트스트림에 기록될 수 있다. 상기 움직임 벡터 예측들 및 상기 움직임 벡터 해상도들 간의 상기 상응 관계가 사용되는 모드에서 참조 프레임 결정을 위해 하기의 방법들 중 하나가 채택될 수 있다.
(1) 부호화기는 현재 예측 방향에서 참조 프레임 리스트의 모든 참조 프레임들을 횡단할 수 있다. 참조 프레임 하 움직임 벡터 예측의 예측 값은 상기 움직임 벡터 예측의 상기 값을 스케일링 함으로써 획득되고, 스케일링 하는 방법은 본 발명에 의해 한정되지 않는다.
(2) 부호화기는 움직임 벡터 예측의 상기 결정된 예측 방향에 상응하는 참조 프레임만을 시도한다.
통상의 기술자는 상기 참조 프레임의 결정 방법들이 오직 예시와 설명의 목적으로 제시된 예일 뿐 임과 기존의 공지된 모든 결정 방법들 또는 미래에 개발될 방법들이 채택될 수 있음을 이해할 것이다.
상기 움직임 벡터 예측들 및 상기 움직임 벡터 해상도들 간의 상기 상응 관계가 사용되지 않는 모드에서의 참조 프레임을 결정하기 위한 상기 방법은 본 발명의 사상을 흐리지 않기 위해 다시 기재하지 않는다.
상기 움직임 벡터 예측들 및 상기 움직임 벡터 해상도들 간의 상기 상응 관계가 사용되는 모드에서의 예측 방향 정보와 관련하여, 상기 예측 방향 정보를 전송할지 여부는 보통 부호화기/복호화기에 의해 규정되거나 부호화/복호화 표준에 의해 특정된다.
일 예에 따르면, 상기 움직임 벡터 예측들 및 상기 움직임 벡터 해상도들 간의 상기 상응 관계가 사용되는 모드에서, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 예측 방향과 상관 없이 상기 예측 방향 정보는 비트스트림으로 전송되도록 특정될 수 있다.
일 예에 따르면, 상기 움직임 벡터 예측들 및 상기 움직임 벡터 해상도들 간의 상기 상응 관계가 사용되는 모드에서, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 예측 방향과 상관 없이 상기 예측 방향 정보는 비트스트림으로 전송되지 않고, 상기 예측 방향은 기본 값으로서, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 예측 방향과 동일하게 간주되는 것으로 규정될 수 있다.
일 예에 따르면, 상기 움직임 벡터 예측들 및 상기 움직임 벡터 해상도들 간의 상기 상응 관계가 사용되는 모드에서, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 예측 방향이 오직 제1 참조 프레임 리스트 또는 오직 제2 참조 프레임 리스트만을 참조하는 경우, 상기 예측 방향 정보는 비트스트림으로 전송되지 않고, 상기 예측 방향은 기본 값으로, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 예측 방향과 동일하게 간주될 것을 특정할 수 있다. 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 예측 방향이 상기 두 개의 참조 프레임 리스트들을 참조하는 경우, 상기 예측 방향 정보는 비트스트림에 전송되어야 한다.
상기 예측 방향 정보가 상기 비트스트림에 전송되어야 한다고 결정되는 경우, 상기 예측 방향 정보는 예측 방향 정보를 부호화하는 기존의 방법 중 어느 것을 사용해서도 비트스트림으로 부호화될 수 있다.
상기 움직임 벡터 예측들 및 상기 움직임 벡터 해상도들 간의 상기 상응 관계가 사용되는 모드에서, 참조 프레임 정보와 관련하여, 상기 참조 프레임 정보를 전송할지 여부는 보통 부호화기/복호화기에 의해 규정되거나 부호화/복호화 표준에 의해서 특정될 수 있다.
일 예에 따르면, 상기 움직임 벡터 예측들 및 상기 움직임 벡터 해상도들 간의 상기 상응 관계가 사용되는 모드에서, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 참조 프레임과 상관 없이 상기 참조 프레임 정보는 비트스트림으로 전송될 것이 특정될 수 있다.
일 예에 따르면, 상기 움직임 벡터 예측들 및 상기 움직임 벡터 해상도들 간의 상기 상응 관계가 사용되는 모드에서, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 참조 프레임과 상관 없이 상기 참조 프레임 정보는 비트스트림으로 전송되지 않고, 상기 참조 프레임은 기본 값으로, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 참조 프레임과 동일하게 간주될 것을 특정할 수 있다.
일 예에 따르면, 상기 움직임 벡터 예측들 및 상기 움직임 벡터 해상도들 간의 상기 상응 관계가 사용되는 모드에서, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 예측 방향이 오직 제1 참조 프레임 리스트 또는 오직 제2 참조 프레임 리스트만을 참조하는 경우, 상기 참조 프레임 정보는 비트스트림으로 전송되지 않고, 상기 참조 프레임은 기본 값으로, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 참조 프레임과 동일하게 간주될 것을 특정할 수 있다. 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 예측 방향이 상기 두 개의 참조 프레임 리스트들을 참조하는 경우, 상기 참조 프레임 정보는 비트스트림에 전송되어야 한다.
상기 참조 프레임 정보가 상기 비트스트림에 전송될 것이 결정되는 경우, 상기 참조 프레임 정보는 참조 프레임 정보를 부호화하는 기존의 방법 중 어느 것을 사용해서도 부호화될 수 있다.
III. 움직임 벡터 정보의 복호화 방법
움직임 벡터 정보의 복호화 방법의 제1 실시예
본 출원에 제시된, 상기 움직임 벡터 해상도들 및 상기 움직임 벡터 예측들 간의 대응 방법에 기반한 전술한 움직임 벡터 정보의 부호화 방법에 대응하여, 본 출원은 움직임 벡터 정보의 복호화 방법을 제안한다. 도 6은 제1 실시예에 따른, 전술한 움직임 벡터 해상도들과 움직임 벡터 예측들 간의 대응 방법에 기반하여 움직임 벡터 정보를 복호화하는 방법에 대한 순서도(600)이다.
단계 601: 비트스트림이 움직임 벡터 해상도 정보 및 움직임 벡터 차이 정보를 위해 파싱되고, 움직임 벡터 예측 및 움직임 벡터 해상도에서의 움직임 벡터 차이가 결정된다.
구체적으로, 상기 움직임 벡터 해상도 정보를 위한 가능한 파싱 방법 중 하나는 상기 움직임 벡터 해상도의 인덱스를 위한 파싱을 수행하여상기 움직임 벡터 해상도를 결정하는 것이다.
구체적으로, 상기 움직임 벡터 예측을 결정하는 방법은 상기 결정된 움직임 벡터 해상도 및 상기 움직임 벡터 해상도들 및 상기 움직임 벡터 예측들 간의 상기 대응 방법에 따라 움직임 벡터 예측을 결정하는 단계를 포함한다.
상기 움직임 벡터 차이 정보를 위한 파싱 방법은 움직임 벡터 차이를 위한 기존의 어떤 파싱 방법과도 같을 수 있다.
선택적으로, 전술한 부호화 방법에 대한 설명에 따라, 상기 비트스트림은 또한 예측 방향 정보 및/또는 참조 프레임 정보(필요한 경우)를 위해 파싱될 수 있다.
상기 예측 방향 정보를 위한 파싱 여부는 보통 부호화기/복호화기에 의해 규정되거나 부호화/복호화 표준들에 의해 특정된다.
일 예에 따르면, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 예측 방향에 상관 없이 상기 예측 방향 정보를 위한 파싱이 수행되도록 특정될 수 있다.
일 예에 따르면, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 예측 방향에 상관 없이, 상기 예측 방향 정보를 위한 파싱은 수행되지 않고, 상기 예측 방향은 기본 값으로, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 예측 방향과 동일하게 설정될 것을 특정할 수 있다.
일 예에 따르면, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 예측 방향이 오직 제1 참조 프레임 리스트 또는 오직 제2 참조 프레임 리스트만을 참조하는 경우, 상기 예측 방향 정보를 위한 파싱은 수행되지 않고, 상기 예측 방향은 기본 값으로, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 예측 방향과 동일하게 설정될 것을 특정할 수 있다. 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 예측 방향이 상기 두 개의 참조 프레임 리스트들을 참조하는 경우, 상기 예측 방향 정보를 위한 파싱이 수행된다.
상기 예측 방향 정보를 위한 파싱 방법은 상기 예측 방향 정보를 위한 기존의 어떤 파싱 방법과도 같을 수 있다.
상기 참조 프레임 정보를 위한 파싱 수행 여부는 보통 부호화기/복호화기에 의해 규정되고, 부호화/복호화 표준들에 의해 특정된다.
일 예에 따르면, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 참조 프레임과 상관 없이 상기 참조 프레임 정보를 위한 파싱이 수행되도록 특정될 수 있다.
일 예에 따르면, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 참조 프레임과 상관 없이, 상기 참조 프레임 정보를 위한 파싱이 수행되지 않고, 상기 참조 프레임은 기본 값으로, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 참조 프레임과 동일하게 설정될 것을 특정할 수 있다.
일 예에 따르면, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 예측 방향이 오직 제1 참조 프레임 리스트 또는 오직 제2 참조 프레임 리스트만을 참조하는 경우, 상기 참조 프레임 정보를 위한 파싱이 수행되지 않고, 상기 참조 프레임은 기본 값으로, 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 참조 프레임과 동일하게 설정될 것을 특정할 수 있다. 움직임 벡터 해상도에 대응되는 움직임 벡터 예측의 예측 방향이 상기 두 개의 참조 프레임 리스트들을 참조하는 경우, 상기 참조 프레임 정보를 위한 파싱이 수행된다.
상기 참조 프레임 정보를 위한 파싱 방법은 상기 참조 프레임 정보를 위한 기존의 어떤 파싱 방법과도 같을 수 있다.
단계 602: 움직임 벡터는 상기 결정된 움직임 벡터 해상도, 움직임 벡터 예측, 및 해당 움직임 벡터 해상도에서의 움직임 벡터 차이로부터 도출된다.
선택적으로, 상기 예측 방향 및 상기 참조 프레임을 위한 파싱("결정" 또는 "부호화"로 혼용 기재할 수 있음)이 수행되는 경우, 상기 움직임 벡터 예측의 예측 값은 상기 움직임 벡터 예측의 예측 방향, 현재 블록의 참조 프레임 및 예측 방향, 및 상기 참조 프레임에 따라 스케일링 될 수 있고, 스케일링 방법은 본 발명에 의해 한정되지 않는다.
현재 움직임 벡터 해상도에서의 움직임 벡터 차이를 스케일링하여 참조 움직임 벡터 해상도에서의 움직임 벡터 차이를 획득한다.
상기 움직임 벡터는 상기 움직임 벡터 예측의 예측 값 또는 상기 예측 값을 위한 스케일링된 값 및 상기 참조 움직임 벡터 해상도에서의 상기 움직임 벡터 차이로부터 도출된다.
상기 움직임 벡터가 도출된 후, 참조 프레임의 참조 블록이 상기 움직임 벡터에 따라 획득되고, 차후 복호화 작업이 수행된다. 이상의 구체적인 획득 방법은 본 발명에 의해 한정되지 않는다.
움직임 벡터 정보의 복호화 방법의 제2 실시예
본 출원은 움직임 벡터 정보의 또 하나의 복호화 방법을 제안한다. 도 7은 제2 실시예에 따른 움직임 벡터 정보의 복호화 방법의 개략적인 순서도(700)이다. 무엇보다도, 순서도(700)에 예시적으로 도시된 제2 실시예에 따른 상기 복호화 방법은 도 5에 도시된 부호화 방법에 대응되는 것으로 간주될 수 있다.
단계 701: 비트스트림이 움직임 벡터 예측 모드 정보, 움직임 벡터 해상도 정보, 움직임 벡터 예측 정보(필요한 경우), 및 움직임 벡터 차이 정보를 위해 파싱되고, 움직임 벡터 해상도, 움직임 벡터 예측, 및 움직임 벡터 해상도에서의 움직임 벡터 차이가 결정된다.
상기 움직임 벡터 예측 모드 정보를 위한 가능한 파싱 방법 중 하나는, 움직임 벡터 예측 모드의 플래그 정보가 "0"인 경우, 상기 움직임 벡터 예측 모드는 움직임 벡터 예측들과 움직임 벡터 해상도들 간의 상응 관계가 사용되지 않는 모드인 방법이다. 그렇지 않고, 움직임 벡터 예측 모드의 플래그 정보가 "1"인 경우, 상기 움직임 벡터 예측 모드는 움직임 벡터 예측들과 움직임 벡터 해상도들 간의 상응 관계가 사용되는 모드인 방법이다.
상기 움직임 벡터 예측 모드 정보를 위한 가능한 또 다른 파싱 방법은, 움직임 벡터 예측 모드의 플래그 정보가 "1"인 경우, 상기 움직임 벡터 예측 모드는 움직임 벡터 예측들과 움직임 벡터 해상도들 간의 상응 관계가 사용되지 않는 모드인 방법이다. 그렇지 않고, 움직임 벡터 예측 모드의 플래그 정보가 "0"인 경우, 상기 움직임 벡터 예측 모드는 움직임 벡터 예측들과 움직임 벡터 해상도들 간의 상응 관계가 사용되는 모드인 방법이다.
상기 움직임 벡터 해상도 정보를 위한 가능한 파싱 방법 중 하나는 움직임 벡터 해상도의 인덱스를 위한 파싱을 수행함으로써 상기 움직임 벡터 해상도를 결정하는 것이다.
움직임 벡터 예측 모드가 움직임 벡터 예측들 및 움직임 벡터 해상도들 간의 상응 관계를 사용하는 모드인 경우, 상기 움직임 벡터 예측은 결정된 움직임 벡터 해상도 및 상기 움직임 벡터 해상도들 및 상기 움직임 벡터 예측들 간의 상기 대응 방식에 따라 결정된다. 만약 움직임 벡터 예측 모드가 움직임 벡터 예측들 및 움직임 벡터 해상도들 간의 상응 관계를 사용하지 않는 모드인 경우, 부호화기/복호화기에 의해 규정된 상기 움직임 벡터 예측은 고유하지 않고, 상기 움직임 벡터 예측 정보를 위한 파싱이 수행된다. 움직임 벡터 예측 정보를 위한 파싱 방법은 움직임 벡터 예측을 위한 기존의 어떤 파싱 방법도 사용할 수 있고, 특정한 파싱 방법은 본 발명에 의해 한정되지 않는다.
상기 움직임 벡터 차이 정보를 위한 파싱 방법은 움직임 벡터 차이를 위한 기존의 어떤 파싱 방법과도 동일할 수 있다.
선택적으로, 예측 방향 정보와 참조 프레임 정보가 부호화기 측에 기록된 경우, 상기 예측 방향 정보와 상기 참조 프레임 정보를 위한 파싱은 복호화기측에서 수행될 수 있다.
상기 예측 방향 정보 및 상기 참조 프레임 정보에 관하여, 움직임 벡터 예측 모드가 움직임 벡터 예측들 및 움직임 벡터 해상도들 간의 상응 관계를 사용하지 않는 모드인 경우, 상기 예측 방향 정보 및 상기 참조 프레임 정보를 위한 파싱의 수행 여부 및 파싱 방법은 단계 601에 기재된 내용을 참조할 수 있다. 만약 움직임 벡터 예측 모드가 움직임 벡터 예측들 및 움직임 벡터 해상도들 간의 상응 관계를 사용하지 않는 모드인 경우, 상기 예측 방향 정보 및 상기 참조 프레임 정보를 위한 파싱은 본 발명에 의해 한정되지 않는다.
단계 702: 움직임 벡터는 상기 결정된 움직임 벡터 해상도, 상기 결정된 움직임 벡터 해상도에서의 움직임 벡터 차이, 및 움직임 벡터 예측으로부터 도출된다.
상기 결정된 움직임 벡터 해상도, 상기 결정된 움직임 벡터 해상도에서의 움직임 벡터 차이, 및 움직임 벡터 예측에 따라 상기 움직임 벡터를 도출하는 구체적인 방법은 단계 602의 기재를 참조할 수 있다.
단계 703: 상기 움직임 벡터가 도출된 후, 상기 움직임 벡터에 따라 참조 블록이 획득되고, 차후의 복호화 작업이 수행된다. 구체적인 획득 방법은 본 발명에 의해 한정되지 않는다.
IV. 움직임 정보 인덱스의 이진화
종래 기술의 움직임 정보 인덱스를 이진화 하는 기술의 전술한 문제들을 해결하기 위해, 본 출원은 움직임 정보 인덱스의 새로운 이진화 방법을 제안한다. 설명과 기재의 편의를 위해, 아래 도 8 및 도 9를 참고하여 기재된다. 도 8은 부호화기 측의 인터 스킵 모드 또는 인터 디렉트 모드에서 움직임 정보의 인덱스를 이진화하는 방법에 관한 개략적인 순서도(800)이다. 도 9는 상기 인터 스킵 모드 또는 인터 디렉트 모드에서 움직임 정보의 인덱스를 이진화 하는 방법에 기초하여 도출된 이진화 정보를 복호화함으로써, 복호화기가 움직임 정보를 획득하는 방법의 개략적인 순서도(900)이다.
단계 801에서, 후보 움직임 정보 리스트들은 복수의 카테고리들로 분류된다.
구체적으로, 후보 움직임 정보 리스트들이 히스토리 기반 움직임 벡터 예측 리스트, 공간적 후보 리스트, 및 시간적 후보 리스트를 포함하는 경우, 한 가지 가능한 실행 방법은, 현재 블록의 주변 블록들의 시간적 및 공간적 움직임 정보를 인덱스가 "0"으로 표시되는 하나의 카테고리로 분류하고, 히스토리 기반 움직임 정보를 인덱스가 "1"로 표시되는 또 하나의 다른 카테고리로 분류하는 것이다.
실행 가능한 하나의 방법은 히스토리 기반 움직임 정보를 인덱스가 "0"으로 표시되는 하나의 카테고리로 분류하고, 현재 블록의 주변 블록들의 시간적 및 공간적 움직임 정보를 인덱스가 "1"로 표시되는 또 하나의 다른 카테고리로 분류하는 것이다.
단계 802: 상기 카테고리의 인덱스 및 현재 움직임 정보가 분류된 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 인덱스가 이진화된다.
구체적으로, 실행 가능한 한 가지 방법은 상기 카테고리의 인덱스는 고정된 길이로 부호화되고, 즉, 카테고리의 인덱스 "0"은 이진화 "0"에 대응되고, 카테고리의 인덱스 "1"은 이진화 "1"에 대응되고, 현재 움직임 정보가 분류된 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 인덱스는 단 항의 코드를 절단함으로써 이진화된다.
통상의 기술자는 카테고리의 인덱스 이진화 방법 및 현재 움직임 정보가 분류된 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 인덱스 이진화 방법이 서로 같은 방법이거나 서로 다른 방법들일 수 있음을 이해할 것이다.
상기 카테고리의 인덱스 이진화 방법 및 현재 움직임 정보가 분류된 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 인덱스 이진화 방법은 이곳에 기재된 것에 한하지 않고, 기존의 어떤 방법들 및 향후 개발될 이진화 방법이 사용될 수 있다.
단계 803: 상기 카테고리의 인덱스 이진화 정보 및 현재 움직임 정보가 분류된 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 인덱스의 이진화 정보는 비트스트림으로 기록된다.
도9는 인터 스킵 모드 또는 인터 디렉트 모드에서 움직임 정보의 인덱스를 이진화 하는 방법에 기초하여 도출된 이진화 정보를 복호화함으로써, 복호화기측에서 움직임 정보를 획득하는 방법에 관한 개략적인 순서도(900)이다.
단계 901: 복호화기는 상기 카테고리의 인덱스 및 현재 움직임 정보가 분류된 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 인덱스를 위한 비트스트림을 파싱한다.
특히, 실행 가능한 하나의 방법은, 고정된 길이 부호화의 역 이진화 방법을 비트스트림의 카테고리의 인덱스의 이진화 정보에 적용하여 상기 카테고리의 상기 인덱스를 획득하고, 단항의 코드를 절단하는 방식을 사용하는 역 이진화 방법을 현재 움직임 정보가 분류된 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 인덱스의 이진화 정보에 적용하여, 상기 현재 움직임 정보가 분류된 상기 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 상기 인덱스를 획득하는 것이다.
통상의 기술자는 상기 비트스트림의 상기 카테고리의 상기 인덱스의 상기 이진화 정보와, 상기 비트스트림의 상기 현재 움직임 정보가 분류된 상기 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 상기 인덱스의 상기 이진화 정보를 역 이진화하는 방법들은 같은 방법이거나 다른 방법들일 수 있음을 이해할 것이다.
역 이진화 방법은 이곳에 기재된 것에 제한되지 않는다. 기존의 어떤 방법들 또는 미래에 개발될 역 이진화 방법이 사용될 수 있다.
단계 902: 상기 후보 움직임 정보 리스트들은 복수의 카테고리들로 분류된다.
구체적으로, 실행 가능한 방법 중 하나는 후보 움직임 정보 리스트들을 부호화기 측과 같은 분류 방법에 따라 분류하는 것이다. 이로써, 획득될 수 있는 분류화 카테고리들은 부호화기측에서 획득되는 분류화 카테고리들과 동일하다.
구체적으로, 현재 블록의 주변 블록들의 시간적 및 공간적 움직임 정보를 위한 스케일링 정보는 인덱스가 "0"으로 표시되는 하나의 카테고리로 분류되고, 히스토리 기반 움직임 정보는 인덱스가 "1"로 표시되는 또 하나의 다른 카테고리로 분류된다.
실행 가능한 하나의 방법은 히스토리 움직임 정보를 인덱스가 "0"으로 표시되는 하나의 카테고리로 분류하고, 현재 블록의 주변 블록들의 시간적 및 공간적 움직임 정보를 인덱스가 "1"로 표시되는 또 하나의 다른 카테고리로 분류하는 것이다.
단계 903: 움직임 정보는 파싱이 수행되는 카테고리의 인덱스 및 현재 움직임 정보가 분류된 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 인덱스에 기반하여 결정된다.
구체적으로, 실행 가능한 하나의 방법은, 카테고리의 인덱스를 사용하여, 현재 움직임 정보가 어떤 카테고리로 분류되는지 결정하고, 상기 결정된 카테고리에서, 현재 움직임 정보가 분류된 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 인덱스를 사용하여, 상기 움직임 정보를 찾아내는 것이다.
부호화기/복호화기 측에서 이진화 정보를 처리하는 전술한 방법들에 대응하여, 본 출원은 또한 상기 방법들을 수행하는 장치들을 제안하고, 이하 도 10 및 11을 참조하여 이를 설명한다.
도 10은 인터 스킵 모드 또는 인터 디렉트 모드에서 움직임 정보의 인덱스를 이진화하는 장치(1000)를 개략적으로 도시한다.
상기 장치(1000)는 분류화부(1001), 이진화부(1002), 및 이진화 정보 기록부(1003)를 포함할 수 있다.
상기 분류화부(1001)는 후보 움직임 벡터 리스트들을 복수의 상이한 카테고리들로 분류하도록 구성될 수 있다.
예시적으로, 상기 후보 움직임 정보 리스트들이 히스토리 기반 움직임 정보 예측 리스트, 공간적 후보 리스트, 및 시간적 후보 리스트를 포함하는 경우, 실행 가능한 하나의 방법은 현재 블록의 주변 블록들의 시간적 및 공간적 움직임 정보를 하나의 인덱스가 "0"으로 표시되는 하나의 카테고리로 분류하고, 히스토리 기반 움직임 정보를 인덱스가 "1"로 표시되는 또 하나의 다른 카테고리로 분류하는 것이다.
실행 가능한 하나의 방법은 히스토리 기반 움직임 정보를 인덱스가 "0"으로 표시되는 하나의 카테고리로 분류하고, 현재 블록의 주변 블록들의 시간적 및 공간적 움직임 정보를 인덱스가 "1"로 표시되는 또 하나의 다른 카테고리로 분류하는 것이다.
상기 이진화부(1002)는 상기 후보 움직임 정보 리스트들을 분류하는 상기 분류화부(1001)에 의해 획득된 상기 복수의 카테고리들 각각의 인덱스 및 현재 움직임 정보가 분류된 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 인덱스를 이진화하도록 구성될 수 있다.
예시적으로, 실행 가능한 하나의 방법은 상기 카테고리의 인덱스는 고정된 길이로 부호화되고, 즉, 카테고리의 인덱스 "0"은 이진화 "0"에 대응되고, 카테고리의 인덱스 "1"은 이진화 "1"에 대응되고, 현재 움직임 정보가 분류된 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 인덱스는 단항의 코드를 절단함으로써 이진화된다.
상기 이진화 정보 기록부(1003)는 상기 이진화부(1002)에 의해 획득된 이진화 결과를 비트스트림에 기록하도록 구성될 수 있다.
구체적으로, 상기 이진화 정보 기록부(1003)는 후보 움직임 정보 리스트들의 복수의 카테고리들 각각의 인덱스 및 현재 움직임 정보가 분류된 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 인덱스의 이진화 결과를 비트스트림에 기록할 수 있다.
도11은 인터 스킵 모드 또는 인터 디렉트 모드에서 움직임 정보의 인덱스의 이진화 정보에 기초하여 움직임 정보를 획득하는 장치(1100)를 개략적으로 도시한다.
상기 장치(1100)는 파싱부(1101), 분류화부(1102), 및 결정부(1103)를 포함할 수 있다.
상기 파싱부(1101)는 카테고리의 인덱스 및 현재 움직임 정보가 분류된 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 인덱스를 위한 비트스트림을 파싱하도록 구성될 수 있다.
구체적으로, 실행 가능한 하나의 방법은 고정된 길이의 부호화의 역 이진화 방법을 비트스트림 내의 카테고리의 인덱스의 이진화 정보에 적용함으로써 상기 카테고리의 상기 인덱스를 획득하고, 단항의 코드를 절단하는 방식을 사용하는 역 이진화 방법을 현재 움직임 정보가 분류된 후보 움직임 정보 리스트 카테고리의 현재 움직임 정보의 인덱스의 이진화 정보에 적용하여, 상기 현재 움직임 정보가 분류된 상기 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 상기 인덱스를 획득하는 것이다.
상기 분류화부(1102)는 후보 움직임 벡터 리스트들을 복수의 상이한 카테고리들로 분류하도록 구성될 수 있다.
구체적으로, 실행 가능한 하나의 방법은 현재 블록의 주변 블록들의 시간적 및 공간적 움직임 정보를 위한 스케일 정보를 인덱스 값이 "0"으로 표시되는 하나의 카테고리로 분류하고, 히스토리 기반 움직임 정보를 인덱스가 "1"로 표시되는 또 하나의 카테고리로 분류하는 것이다.
실행 가능한 하나의 방법은 히스토리 기반 움직임 정보를 인덱스가 "0"으로 표시되는 하나의 카테고리로 분류하고, 현재 블록의 주변 블록들의 시간적 및 공간적 움직임 정보를 인덱스가 "1"로 표시되는 또 하나의 카테고리로 분류하는 것이다.
상기 결정부(1103)는 상기 파싱이 수행되는 카테고리 인덱스 및 현재 움직임 정보가 분류된 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 인덱스에 기초하여 상기 움직임 정보를 결정하도록 구성될 수 있다.
구체적으로, 실행 가능한 하나의 방법은 카테고리의 인덱스를 사용하여, 현재 움직임 정보가 어떤 카테고리로 분류되는지 결정하고, 상기 결정된 카테고리에서, 현재 움직임 정보가 분류된 후보 움직임 정보 리스트 카테고리의 상기 현재 움직임 정보의 인덱스를 사용하여, 상기 움직임 정보를 찾아내는 것이다.
전술한 모듈들 및 유닛들 각각은 소프트웨어, 하드웨어, 펌웨어, 또는 이의 조합으로 실행될 수 있다. 예를 들어, 컴퓨터로 판독 가능한 매체에 저장된 명령어들 세트를 포함하는 컴퓨터 프로그램에 의해 실행될 수 있다. 상기 명령어들 세트는 상기의 동작을 실행하는 코드이다. 상기 컴퓨터로 판독 가능한 매체는 컴퓨터 저장 매체 및 컴퓨터 프로그램의 한 위치에서의 다른 위치로의 전송을 지원하는 모든 매체를 포함하는 통신 매체를 포함한다. 상기 저장 매체는 컴퓨터로 접근 가능한 모든 가용한 매체를 뜻한다. 이러한 컴퓨터로 판독 가능한 매체의 예로서, RAM, ROM, EEPROM, CD-ROM, 또는 기타 광학 광학적 디스크 저장매체, 디스크 저장매체, 또는 다른 자기 저장 장치가 포함되거나, 또는 원하는 프로그램 코드를 명령어 또는 데이터 구조의 형태로 전송하거나 저장하고, 컴퓨터에 의해 접근 가능한 기타 매체가 포함되나, 그 예는 이에 제한되지 않는다. 또한, 모든 연결이 컴퓨터로 판독 가능한 매체로 지칭될 수 있다. 예를 들어, 동축 케이블, 섬유 광학 케이블, 트위스티드 페어, 디지털 가입자 라인(DSL), 또는 무선 기술들(예를 들어, 적외선, 라디오, 및 마이크로파)이 소프트웨어를 웹사이트, 서버, 또는 기타 원격 소스로 전송하는 데 사용된다면, 상기 매체의 정의는 동축 케이블, 광학 섬유 케이블, 트위스티드 페어(twisted pairs), DSL, 또는 무선 기술들(예, 적외선, 라디오, 및 마이크로파)를 포함할 수 있다.본 명세서에 기재된 디스크(disk, disc)는 컴팩트 디스크(CD), 레이저 디스크, 광학 디스크, DVD, 플로피 디스크, 블루레이 디스크 등을 포함하고, 디스크(disc)들이 레이저를 통행 광학적으로 데이터를 재생하는데 반해 디스크(disk)들은 자기적으로 데이터를 재생한다. 따라서 일정 측면에서 상기 컴퓨터로 판독 가능한 매체는 영구적 컴퓨터 판독 매체(예, 실재적 매체)를 포함할 수 있다.또한 일정 측면에서, 상기 컴퓨터로 판독 가능한 매체는 일시적 컴퓨터 판독 매체(예, 신호)를 포함할 수 있다.상기한 측면의 조합이 상기 컴퓨터로 판독 가능한 매체의 범위에 포함되어야 한다.
구체적인 실시예들이 앞서 자세히 기재되었으나 상기 기술된 내용은 예시적인 것일 뿐이다. 따라서 전술한 측면들 중 많은 특징이, 구체적으로 다르게 언급되지 않는 한, 핵심적이거나 핵심적인 요소로 볼 수 없다. 전술한 예시적인 실행 방법에 더해, 본 발명의 이점을 소유한 통상의 기술자는 다양한 변형 실시예와 동등한 실행 방법을 첨부한 청구항에 의해 정의되는 본 발명의 범위와 사상에 어긋나지 않는 범위에서 실행할 수 있을 것이다. 본 발명의 범위는 광범위하게 해석되어야 하며, 이에는 변형 예와 동등한 구조가 포함된다.

Claims (15)

  1. 움직임 벡터 정보를 부호화하는 방법에 있어서,
    복수의 움직임 벡터 해상도들 중 n번째 움직임 벡터 해상도를 현재 블록을 위해 선택하는 단계, 상기 n은 정수;
    히스토리 기반 움직임 벡터 예측 리스트에 포함된 m개의 움직임 벡터 예측들 중 상기 n 번째 움직임 벡터 해상도에 대응하는 움직임 벡터 예측을 획득하는 단계, 상기 m은 정수;
    상기 획득한 움직임 벡터 예측과 상기 현재 블록의 움직임 벡터에 기초하여 움직임 벡터 차이를 결정하는 단계;
    상기 n번째 움직임 벡터 해상도에 기반하여 상기 움직임 벡터 차이를 스케일링하는 단계;
    상기 n번째 움직임 벡터 해상도를 가리키는 인덱스 및 상기 스케일링된 움직임 벡터 차이를 나타내는 정보를 포함하는 비트스트림을 생성하는 단계를 포함하되,
    상기 n 번째 움직임 벡터 해상도에 대응하는 움직임 벡터 예측을 획득하는 단계는,
    상기 m이 상기 n 이상이면, 상기 m 개의 움직임 벡터 예측들 중 m-n+1번째 움직임 벡터 예측을 획득하는 단계; 및
    상기 m이 상기 n보다 작으면, 상기 m 개의 움직임 벡터 예측들 중 m번째 움직임 벡터 예측을 획득하는 단계를 포함하는, 움직임 벡터 정보를 부호화하는 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 움직임 벡터 정보를 복호화하는 방법에 있어서,
    비트스트림으로부터 복수의 움직임 벡터 해상도들 중 현재 블록을 위한 n번째 움직임 벡터 해상도를 가리키는 인덱스, 및 움직임 벡터 차이를 획득하는 단계, 상기 n은 정수;
    히스토리 기반 움직임 벡터 예측 리스트에 포함된 m개의 움직임 벡터 예측들 중 상기 n 번째 움직임 벡터 해상도에 대응하는 움직임 벡터 예측을 획득하는 단계, 상기 m은 정수;
    상기 n번째 움직임 벡터 해상도를 가리키는 인덱스에 기반하여 상기 움직임 벡터 차이를 스케일링하는 단계;
    상기 스케일링된 움직임 벡터 차이 및 상기 획득한 움직임 벡터 예측에 기초하여 상기 현재 블록의 움직임 벡터를 결정하는 단계를 포함하되,
    상기 n 번째 움직임 벡터 해상도에 대응하는 움직임 벡터 예측을 획득하는 단계는,
    상기 m이 상기 n 이상이면, 상기 m 개의 움직임 벡터 예측들 중 m-n+1번째 움직임 벡터 예측을 획득하는 단계; 및
    상기 m이 상기 n보다 작으면, 상기 m 개의 움직임 벡터 예측들 중 m번째 움직임 벡터 예측을 획득하는 단계를 포함하는, 움직임 벡터 정보를 복호화하는 방법.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
KR1020217024781A 2019-01-04 2020-01-03 움직임 벡터 정보를 위한 부호화/복호화 방법 및 장치 KR102461279B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227036881A KR20220145431A (ko) 2019-01-04 2020-01-03 움직임 벡터 정보를 위한 부호화/복호화 방법 및 장치

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910011266.9 2019-01-04
CN201910011266.9A CN111416982A (zh) 2019-01-04 2019-01-04 对运动矢量信息进行编/解码的方法及装置
PCT/KR2020/000090 WO2020141922A1 (en) 2019-01-04 2020-01-03 Encoding/decoding method and apparatus for motion vector information

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227036881A Division KR20220145431A (ko) 2019-01-04 2020-01-03 움직임 벡터 정보를 위한 부호화/복호화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20210100216A KR20210100216A (ko) 2021-08-13
KR102461279B1 true KR102461279B1 (ko) 2022-10-31

Family

ID=71406631

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227036881A KR20220145431A (ko) 2019-01-04 2020-01-03 움직임 벡터 정보를 위한 부호화/복호화 방법 및 장치
KR1020217024781A KR102461279B1 (ko) 2019-01-04 2020-01-03 움직임 벡터 정보를 위한 부호화/복호화 방법 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020227036881A KR20220145431A (ko) 2019-01-04 2020-01-03 움직임 벡터 정보를 위한 부호화/복호화 방법 및 장치

Country Status (5)

Country Link
US (1) US20220103826A1 (ko)
EP (1) EP3906690A4 (ko)
KR (2) KR20220145431A (ko)
CN (1) CN111416982A (ko)
WO (1) WO2020141922A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111818342B (zh) * 2020-08-28 2020-12-11 浙江大华技术股份有限公司 帧间预测方法及预测装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4401783B2 (ja) * 2002-01-24 2010-01-20 株式会社日立製作所 動画像の符号化方法
JP4401341B2 (ja) * 2005-09-27 2010-01-20 三洋電機株式会社 符号化方法
KR101418104B1 (ko) * 2010-03-08 2014-07-16 에스케이 텔레콤주식회사 움직임 벡터 해상도 조합을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101479130B1 (ko) * 2010-10-18 2015-01-07 에스케이 텔레콤주식회사 차분 움직임벡터 부호화/복호화 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
KR101377528B1 (ko) * 2011-01-15 2014-03-27 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 방법 및 장치
WO2012096551A2 (ko) * 2011-01-15 2012-07-19 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 방법 및 장치
US10531116B2 (en) * 2014-01-09 2020-01-07 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
GB2524476B (en) * 2014-03-14 2016-04-27 Canon Kk Method, device and computer program for optimizing transmission of motion vector related information when transmitting a video stream
CN107113442B (zh) * 2014-10-31 2020-08-07 三星电子株式会社 用于对运动矢量进行编码/解码的方法和装置
US20160337662A1 (en) * 2015-05-11 2016-11-17 Qualcomm Incorporated Storage and signaling resolutions of motion vectors
CN107277506B (zh) * 2017-08-15 2019-12-03 中南大学 基于自适应运动矢量精度的运动矢量精度选择方法及装置
CN116708812A (zh) * 2018-12-06 2023-09-05 Lg电子株式会社 基于帧间预测处理和编码视频信号的方法和数据发送方法

Also Published As

Publication number Publication date
KR20210100216A (ko) 2021-08-13
EP3906690A4 (en) 2022-10-19
EP3906690A1 (en) 2021-11-10
KR20220145431A (ko) 2022-10-28
CN111416982A (zh) 2020-07-14
US20220103826A1 (en) 2022-03-31
WO2020141922A1 (en) 2020-07-09

Similar Documents

Publication Publication Date Title
US20210274195A1 (en) Method for encoding/decoding image and device using same
US11700398B2 (en) Method and apparatus for entropy-encoding and entropy-decoding video signal
KR101904949B1 (ko) 향상된 인트라 예측 모드 시그날링
KR20220044923A (ko) 인트라 예측 모드 부호화/복호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체
US7304590B2 (en) Arithmetic decoding apparatus and method
CN107770524B (zh) 一种视频编解码处理方法及装置
JP6495835B2 (ja) 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、映像符号化プログラム及び映像復号プログラム
KR102076782B1 (ko) 적중률이 높은 mpm을 통한 영상의 부호화 방법 및 장치, 그리고 복호화 방법 및 장치
JP5409909B2 (ja) ビットストリームを復号する方法
US11736707B2 (en) Method and apparatus for processing video signal using affine prediction
US11190807B2 (en) Syntax prediction using reconstructed samples
US9838709B2 (en) Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programs thereof
JP2013543285A (ja) ネスト型エントロピー符号化
US20240107058A1 (en) Methods and apparatuses for encoding and decoding motion vector difference using sequence mmvd information
US20120320985A1 (en) Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programs thereof
KR20170069917A (ko) 인트라 스킵 모드의 예측 방법을 나타내는 정보의 부호화 방법 및 장치, 복호화 방법 및 장치
US11558613B2 (en) Method and apparatus for selecting transform selection in an encoder and decoder
KR102461279B1 (ko) 움직임 벡터 정보를 위한 부호화/복호화 방법 및 장치
KR20130004181A (ko) 스킵 모드를 이용한 모션 정보 부호화 방법 및 장치, 그 복호화 방법 및 장치
KR102099626B1 (ko) 부호화 장치 및 방법
KR101500300B1 (ko) 부호화기와 복호화기 사이에 상호작용이 가능한 선택적 저전력 비디오 코덱 장치, 이를 이용한 부호화 및 복호화 방법
KR101979379B1 (ko) 영상의 부호화 방법 및 장치, 및 영상의 복호화 방법 및 장치
US10750168B2 (en) Image encoding and decoding method, encoding and decoding device and corresponding computer programs
KR20210036822A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
JP5272966B2 (ja) 予測符号化装置、予測符号化方法及び予測符号化プログラム

Legal Events

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