KR101356735B1 - 전역 움직임 벡터를 사용해서 움직임 벡터를 추정하기 위한방법, 장치, 인코더, 디코더 및 복호화 방법 - Google Patents

전역 움직임 벡터를 사용해서 움직임 벡터를 추정하기 위한방법, 장치, 인코더, 디코더 및 복호화 방법 Download PDF

Info

Publication number
KR101356735B1
KR101356735B1 KR1020070000708A KR20070000708A KR101356735B1 KR 101356735 B1 KR101356735 B1 KR 101356735B1 KR 1020070000708 A KR1020070000708 A KR 1020070000708A KR 20070000708 A KR20070000708 A KR 20070000708A KR 101356735 B1 KR101356735 B1 KR 101356735B1
Authority
KR
South Korea
Prior art keywords
motion vector
current block
motion
partitions
global
Prior art date
Application number
KR1020070000708A
Other languages
English (en)
Other versions
KR20080064009A (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 KR1020070000708A priority Critical patent/KR101356735B1/ko
Priority to CN2007800492201A priority patent/CN101573983B/zh
Priority to PCT/KR2007/006613 priority patent/WO2008082102A1/en
Priority to EP07851581.4A priority patent/EP2103140A4/en
Priority to JP2009544783A priority patent/JP5620109B2/ja
Priority to US11/964,820 priority patent/US8306120B2/en
Publication of KR20080064009A publication Critical patent/KR20080064009A/ko
Application granted granted Critical
Publication of KR101356735B1 publication Critical patent/KR101356735B1/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/567Motion estimation based on rate distortion criteria
    • 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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
    • 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/527Global motion vector estimation

Abstract

본 발명은 비디오 코딩에 관한 것으로, 전역 움직임 벡터를 사용해서 움직임 벡터를 추정하기 위한 방법, 장치, 인코더, 디코더 및 복호화 방법에 관한 것이다. 본 발명에 따른 움직임 벡터 추정 방법은 현재 블록에 대한 전역 움직임 벡터를 추정하고, 현재 블록의 움직임 벡터와 인접 파티션의 움직임 벡터간의 제1 움직임 벡터 차이 및 현재 블록의 움직임 벡터와 추정된 전역 움직임 벡터간의 제2 움직임 벡터 차이를 계산하고, 제1 움직임 벡터 차이 및 상기 제2 움직임 벡터 차이로부터 최소의 RD 코스트를 가지는 움직임 벡터를 현재 블록의 움직임 벡터로 추정하는 것을 특징으로 한다. 이에 의해, 디코더로 전송되는 정보량을 줄일 수 있다.

Description

전역 움직임 벡터를 사용해서 움직임 벡터를 추정하기 위한 방법, 장치, 인코더, 디코더 및 복호화 방법{Mothod of estimating motion vector using global motion vector, apparatus, encoder, decoder and decoding method}
도 1은 종래 기술에 의해 현재 블록의 움직임 벡터를 추정하기 위한 인접 파티션들을 도시하고 있다.
도 2은 본 발명의 일 실시예에 따른 움직임 벡터를 추정하기 위한 방법의 흐름도이다.
도 3는 본 발명의 일 실시예에 따른 움직임 벡터를 추정하기 위한 장치의 구성도이다.
도 4는 본 발명의 일 실시예에 따른 움직임 벡터를 추정하기 위한 장치를 포함한 인코더의 구성도이다.
도 5은 본 발명의 일 실시예에 따른 디코더의 구성도이다.
도 6은 본 발명의 일 실시예에 따른 복호화 방법의 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
300 : 움직임 벡터 추정 장치
301 : 전역 움직임 추정부
302 : MVD 계산부
303 : 움직임 벡터 추정부
400 : 인코더
500 : 디코더
본 발명은 비디오 코딩에 관한 것으로, 전역 움직임 벡터를 사용해서 움직임 벡터를 추정하기 위한 방법, 장치, 인코더, 디코더 및 복호화 방법에 관한 것이다.
인터-프레임 및 인트라-프레임 예측들은 2가지 주된 비디오 부호화 기술들이다. 인트라-프레임 예측은 단일 프레임내에서 인접한 픽셀들의 그레이 레벨들 간의 강한 상관도(correlation)에 기초한 비디오 부호화 기술이다. 인터-프레임 예측은 비디오 시퀀스에 있어서 연속하는 프레임들 간에 유사성(similiarities)에 기초한 비디오 부호화 기술이다. 움직이는 화면에서 급격한 변화가 없는 한 움직임 화면의 많은 부분들은 연속하는 프레임들 간에 거의 변화하지 않는다. 특히, 움직임 벡터 예측은 인터-프레임 예측에서 사용되는 비디오 부호화 기술 중 하나이다. 움직임 벡터 예측은 움직임 예측에 의해 계산된 움직임 벡터들을 차등 부호화(differentially encoding)함으로써 이미지를 처리하기 위한 기술이다. 일반적으로 어느 블록의 움직임 벡터는 인접 파티션의 움직임 벡터와 밀접한 상관 관계를 가진다. 그렇기 때문에 인접 파티션으로부터 현재 블록을 예측하고 그 차분 벡터만을 부호화함으로써, 부호화해야 할 비트량을 줄일 수 있다.
도 1은 종래 기술에 의해 움직임 예측에 사용되는 인접 파티션들의 예시이다.
도 1의 (a)는 현재 매크로 블록(E)과 인접 파티션들(A, B, C)의 형상이 같은 경우로, 움직임 벡터의 예측 부호화는 좌측(A), 상단(B), 우측 상단(C)의 블록들의 움직임 벡터(Motion Vector, MV)를 사용해서 수평 성분과 수직 성분의 중앙값(median value)을 사용한다.
도 1의 (b)는 현재 매크로 블록(E)과 인접 파티션들(A, B, C)의 형상이 다른 경우로, 다음과 같은 방법에 의해 현재 블록(E)의 움직임 벡터를 예측한다.
(1) 부호화하려는 블록(E)의 좌측에 있는 인접 파티션이 여러 블록으로 나뉘어져 있는 경우 그 중 가장 상단에 위치한 블록(A)를 예측에 사용한다. 또한, 부호화하려는 블록(E)의 상단에 있는 인접 파티션이 여러 개로 나뉘어져 있는 경우 그 중 가장 좌측에 위치한 블록(B)를 예측에 사용한다. 이후 움직임 벡터의 예측 부호화를 위해 좌측(A), 상단(B), 우측 상단(C)의 블록들의 움직임 벡터(Motion Vector: MV)를 사용해서 수평 성분과 수직 성분의 중앙값(median value)을 사용한다.
(2) 다만 예외적으로, 부호화하려는 매크로 블록(E)이 정사각형이 아닐 경우(16×8 픽셀 또는 8×16), 중앙값을 사용하지 않고 움직임 보상 블록 크기에 따라 다음과 같이 움직임 벡터를 예측한다.
(ⅰ) 부호화하려는 블록이 16×8 픽셀인 경우 상단 블록은 블록 B를, 하단 블록은 블록 A를 예측에 사용한다.
(ⅱ) 부호화하려는 블록이 8×16 픽셀인 경우 좌측 블록은 블록 A를, 우측 블록은 블록 C를 예측에 사용한다.
(3) 스킵 매크로블록 모드인 경우는 위의 (1)과 같다.
상술한 바와 같이, 현재 블록의 추정된 움직임 벡터(움직임 벡터 프리딕터라고도 한다)는 인접 파티션들의 움직임 벡터들의 중간값으로 정의된다. 따라서 인접 파티션과 현재 블록의 움직임이 다른 경우 현재 블록의 실제 움직임 벡터보다 MVD 값이 더 큰 경우가 생길 수 있다. 따라서, 부호화해야 할 비트량이 오히려 늘어날 수 있다.
본 발명은 상기와 같은 문제점들을 해결하기 위하여 창출된 것으로, 인접 파티션의 움직임 벡터 외에 전역 움직임 벡터를 사용해서 움직임 벡터를 추정하기 위한 방법, 장치, 인코더, 디코더 및 복호화 방법을 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위하여 본 발명에 따른 움직임 벡터 추정 방법은 인접 파티션의 움직임 벡터를 사용해서 현재 블록의 움직임 벡터를 추정하기 위한 방법에 있어서, (a) 상기 현재 블록에 대한 전역 움직임 벡터를 추정하는 단계; (b) 상기 현재 블록의 움직임 벡터와 상기 인접 파티션의 움직임 벡터간의 제1 움직임 벡터 차이 및 상기 현재 블록의 움직임 벡터와 상기 추정된 전역 움직임 벡터간의 제2 움직임 벡터 차이를 계산하는 단계; 및 (c) 상기 제1 움직임 벡터 차이 및 상기 제2 움직임 벡터 차이로부터 최소의 RD 코스트를 가지는 움직임 벡터를 상기 현재 블록의 움직임 벡터로 추정하는 단계를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 (a) 단계에서 전역 움직임 벡터가 복수 개인 경우 각 전역 움직임 벡터와 상기 현재 블록의 움직임 벡터간의 움직임 벡터 차이로부터 최소의 RD 코스트를 가지는 움직임 벡터를 상기 전역 움직임 벡터로 추정하는 것을 특징으로 한다.
바람직하게는, 상기 (a) 단계는 현재 프레임을 일정한 크기의 파티션들로 분할하고, 상기 분할된 파티션들 각각에 대하여 움직임 벡터들을 구하는 단계; 및 상기 파티션들 각각에 대해 구해진 움직임 벡터들의 중간값을 상기 전역 움직임 벡터로 추정하는 단계를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 (a) 단계는 현재 프레임을 일정한 크기의 파티션들로 분할하고, 상기 분할된 파티션들 각각에 대하여 움직임 벡터들을 구하는 단계; 및 상기 파티션들 각각에 대해 구해진 움직임 벡터들 중 빈도가 가장 높은 움직임 벡터를 상기 전역 움직임 벡터로 추정하는 단계를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 인접 파티션의 움직임 벡터는 상기 현재 블록에 인접한 파티션들 중 어느 하나의 움직임 벡터, 상기 현재 블록에 인접한 파티션들의 움직임 벡터들의 중간값 또는 상기 현재 블록에 대한 시간적 움직임 벡터 중 어느 하나인 것을 특징으로 한다.
바람직하게는, 상기 움직임 벡터 추정 방법은 상기 현재 블록과 관련된 움직임 정보를 전송하는 단계를 더 포함하는 것을 특징으로 한다.
본 발명의 제2 실시예에 따르면, 상기 방법을 실행하기 위한 프로그램이 기 록된 컴퓨터로 독출 가능한 기록매체가 제공된다.
본 발명의 제3 실시예에 따르면, 움직임 벡터 추정 장치가 제공되는데, 상기 장치는 인접 파티션의 움직임 벡터를 사용해서 현재 블록의 움직임 벡터를 추정하기 위한 장치에 있어서, (a) 상기 현재 블록에 대한 전역 움직임 벡터를 추정하는 전역 움직임 추정부; (b) 상기 현재 블록의 움직임 벡터와 상기 인접 파티션의 움직임 벡터간의 제1 움직임 벡터 차이 및 상기 현재 블록의 움직임 벡터와 상기 추정된 전역 움직임 벡터간의 제2 움직임 벡터 차이를 계산하는 MVD 계산부; 및 (c) 상기 제1 움직임 벡터 차이 및 상기 제2 움직임 벡터 차이로부터 최소의 RD 코스트를 가지는 움직임 벡터를 상기 현재 블록의 움직임 벡터로 추정하는 움직임 벡터 추정부를 포함하는 것을 특징으로 한다.
본 발명의 제4 실시예에 따르면, 비디오 인코더가 제공되는데, 상기 인코더는 현재 블록 및 상기 현재 블록에 인접한 인접 파티션 각각의 움직임 벡터를 생성하는 움직임 추정부; 상기 현재 블록에 대한 전역 움직임 벡터를 추정하고, 상기 생성된 현재 블록의 움직임 벡터와 상기 생성된 인접 파티션의 움직임 벡터간의 제1 움직임 벡터 차이 및 상기 생성된 현재 블록의 움직임 벡터와 상기 추정된 전역 움직임 벡터간의 제2 움직임 벡터 차이를 계산하고, 상기 제1 움직임 벡터 차이 또는 상기 제2 움직임 벡터 차이로부터 최소의 RD 코스트를 가지는 움직임 벡터를 상기 현재 블록의 움직임 벡터로 추정하며, 상기 생성된 현재 블록의 움직임 벡터 및 상기 현재 블록의 추정된 움직임 벡터로부터 움직임 정보를 생성하는 움직임 벡터 추정 장치; 및 상기 움직임 정보를 엔트로피 부호화하는 엔트로피 부호화부를 포함 하는 것을 특징으로 한다.
본 발명의 제5 실시예에 따르면, 비디오 디코더가 제공되는데, 상기 디코더는 비트 스트림으로부터 움직임 정보를 엔트로피 복호화하는 엔트로피 복호화부; 상기 복호화된 움직임 정보로부터 현재 블록에 대한 움직임 벡터를 재생하는 움직임 벡터 추정부; 및 상기 재생된 움직임 벡터를 이용하여 현재 블록을 복원하는 매크로블록 복원부를 포함하며, 상기 움직임 정보는 적어도 상기 현재 블록의 움직임 벡터와 상기 현재 블록의 추정된 움직임 벡터간의 움직임 벡터 차이 및 상기 현재 블록의 추정된 움직임 벡터에 대한 정보로, 상기 현재 블록의 추정된 움직임 벡터는 상기 현재 블록에 인접한 인접 파티션의 움직임 벡터 또는 전역 움직임 벡터 중 어느 하나인 것을 특징으로 한다.
본 발명의 제6 실시예에 따르면, 복호화 방법이 제공되는데, 상기 방법은 (a) 비트 스트림으로부터 움직임 정보를 엔트로피 복호화하는 단계; (b) 상기 복호화된 움직임 정보로부터 현재 블록에 대한 움직임 벡터를 재생하는 단계; 및 (c) 상기 재생된 움직임 벡터를 이용하여 현재 블록을 복원하는 매크로블록 복원부를 포함하며, 상기 움직임 정보는 적어도 상기 현재 블록의 움직임 벡터와 상기 현재 블록의 추정된 움직임 벡터간의 움직임 벡터 차이 및 상기 현재 블록의 추정된 움직임 벡터에 대한 정보로, 상기 현재 블록의 추정된 움직임 벡터는 상기 현재 블록에 인접한 인접 파티션의 움직임 벡터 또는 전역 움직임 벡터 중 어느 하나인 것을 특징으로 한다.
본 발명의 제7 실시예에 따르면, 상기 방법을 실행하기 위한 프로그램이 기 록된 컴퓨터로 독출 가능한 기록매체가 제공된다.
이하, 첨부한 도면을 참조하면서 본 발명에 따른 전역 움직임 벡터를 사용해서 움직임 벡터를 추정하기 위한 방법, 장치, 인코더, 디코더 및 복호화 방법의 바람직한 실시예를 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호로 표기되었음에 유의하여야 한다. 또한, 하기의 설명에서는 구체적인 회로의 구성소자 등과 같은 많은 특정사항들이 도시되어 있는데, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정사항들 없이도 본 발명이 실시될 수 있음은 이 기술분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
도 2은 본 발명의 일 실시예에 따른 움직임 벡터를 추정하기 위한 방법의 흐름도이다. 도 2를 참조하면, 단계 200에서는 참조 프레임의 영상 데이터 및 현재 프레임의 영상 데이터로부터 현재 블록에 대한 전역 움직임 벡터를 추정한다. 바람직하게는 참조 프레임은 시간적으로 현재 프레임의 이전 프레임이거나 또는 이후 프레임이다.
전역 움직임 벡터를 추정하기 위한 한가지 방법으로 본 발명에 의하면 (ⅰ) 현재 프레임을 일정한 크기의 파티션들로 분할하고, 분할된 파티션들 각각에 대해 움직임 벡터를 구한다. 이후 파티션들 각각에 대해 구해진 움직임 벡터들의 중간 값(median value)을 전역 움직임 벡터로 추정한다.
전역 움직임 벡터를 구하는 다른 실시예로 (ⅱ) 현재 프레임을 일정한 크기의 파티션들로 분할하고, 분할된 파티션들 각각에 대해 움직임 벡터를 구한다. 이후 파티션들 각각에 대해 구해진 움직임 벡터들 중 빈도가 가장 높은 움직임 벡터를 전역 움직임 벡터로 추정한다.
전역 움직임 벡터를 구하는 또 다른 실시예로, 다양한 움직임 모델들(motion models)을 선정하여 이용할 수 있다. 이러한 움직임 모델들의 예로 translation 모델, Affine 모델, Projective 모델 등이 있다. translation 모델의 경우 2개의 파라미터들, Affine 모델의 경우는 6개의 파라미터들, Projective 모델의 경우는 8개의 파라미터들이 전역 움직임 벡터를 생성하기 위한 전역 움직임 정보로서 사용될 수 있다. 이러한 움직임 모델들은 하나의 예시에 지나지 않으며, 상술한 바와 같은 전역 움직임 벡터들을 추정하는 과정은 본 발명의 이해를 돕기 위한 예시에 불과할 뿐, 본 발명은 이에 제한되지 않으며, 이미 공지된 기존의 방법들이 사용될 수 있음은 당해 분야의 숙련자들에게는 당연할 것이다.
한편, 전역 움직임 벡터들이 복수 개인 경우에는 최소의 RD 코스트를 가지는 움직임 벡터를 전역 움직임 벡터로 추정할 수 있다. 코스트의 계산은 율-왜곡 코스트(Rate-Distortion Cost, RDcost), SAD(sum of absolute value), SATD(sum of absolute transformed difference), SSD(sum of squared difference), MAD(mean of absolute difference), 라그란지 함수(Laglange function) 등을 이용할 수 있다. 일예로 율-왜곡 코스트(RDcost)에 대하여 보다 상세하게 설명하면 다음과 같다. 율(Rate, R)은 비트율을 의미하는 것으로 하나의 매크로 블록을 부호화하는데 사용되는 비트수를 나타낸다. 즉 율(Rate)은, 인터 프리딕션 또는 인트라 프리딕션이 수행된 후의 잔차신호(residual)가 부호화되어 얻어진 비트수와, 움직임 벡터 정보가 부호화되어 얻어진 비트수를 모두 더한값이다. 왜곡(Distortion, D)은 부호화가 수행된 영상을 복호화하였을 때의 원래 매크로 블록과 복호화된 매크로 블록과의 차이이다.
한편, 단계 201에서는 인접 파티션의 움직임 벡터에 대해 MVD 값(제1 MVD)을 계산하는 한편, 단계 200에서 추정된 전역 움직임 벡터에 대하여 MVD(제2 MVD)를 계산한다. 바람직하게는, 인접 파티션의 움직임 벡터는 도 1에서 도시된 바와 같이 현재 블록에 인접한 파티션들(A, B, C) 중 어느 하나의 움직임 벡터, 현재 블록에 인접한 파티션들(A, B, C) 각각의 움직임 벡터들의 중간값, 또는 현재 블록에 대한 시간적 움직임 벡터(temporal motion vector) 중 어느 하나일 수 있다.
단계 202에서는 단계 201에서 계산한 MVD 값들로부터 최소의 RD 코스트를 가지는 움직임 벡터를 현재 블록의 움직임 벡터로 추정한다. 바람직하게는, 현재 블록의 추정된 움직임 벡터, 즉 움직임 벡터 프리딕터(Motion Vector Predictor: MVp)는 MVD 값에 따라 단계 200에서 구한 전역 움직임 벡터, 현재 블록에 인접한 파티션들(A, B, C) 중 어느 하나의 움직임 벡터, 현재 블록에 인접한 파티션들(A, B, C) 각각의 움직임 벡터들의 중간값, 또는 현재 블록에 대한 시간적 움직임 벡터(temporal motion vector) 중 어느 하나일 수 있다.
바람직하게는 현재 매크로블록과 관련된 움직임 정보는 부호화되어 디코더로 전송된다. 움직임 정보는 현재 블록의 움직임 벡터로부터 현재 블록의 추정된 움직임 벡터를 뺀 움직임 벡터 차이(Motion Vection Difference: MVD), 한 프레임당 하나의 전역 움직임 벡터 및 현재 블록의 추정된 움직임 벡터에 대한 정보(즉, 인접 파티션의 움직임 벡터 또는 전역 움직임 벡터를 나타내는 1비트의 플래그)를 포함한다.
도 3은 본 발명의 일 실시예에 따른 움직임 벡터를 추정하기 위한 장치(300)의 구성도로, 전역 움직임 추정부(301), MVD 계산부(302) 및 움직임 벡터 추정부(303)를 포함하여 이루어진다.
도 3를 참조하면, 전역 움직임 추정부(301)는 참조 프레임의 영상 데이터 및 현재 프레임의 영상 데이터로부터 전역 움직임 벡터를 추정한다. 바람직하게는 참조 프레임은 시간적으로 현재 프레임의 이전 프레임이거나 또는 이후 프레임이다. 전역 움직임 벡터를 추정하기 위한 방법은 이미 상술한 바와 같다.
MVD 계산부(302)는 인접 파티션의 움직임 벡터에 대해 MVD 값(제1 MVD)을 계산하는 한편, 단계 200에서 추정된 전역 움직임 벡터에 대하여 MVD(제2 MVD)를 계산한다.
움직임 벡터 추정부(303)는 MVD 계산부(302)에서 계산한 MVD 값들로부터 최소의 RD 코스트를 가지는 움직임 벡터를 현재 블록의 움직임 벡터로 추정한다.
도 4는 본 발명의 일 실시예에 따른 움직임 벡터를 추정하기 위한 장치(300)를 포함한 인코더(400)의 구성도이다.
도 4를 참조하면, 가산부(401)는 외부에서 입력된 현재 프레임의 영상 데이 터와 움직임 보상부(409)로부터 수신된 움직임 보상된 영상 데이터의 차이를 계산해서 주파수 변환부(402)로 전달한다. 영상 데이터는 블록 단위의 영상 데이터를 의미한다. 현재 매크로블록이 인터-모드 코딩에 의해 부호화되는 매크로블록인 경우 가산부(401)는 외부에서 입력된 영상 데이터와 움직임 보상된 영상 데이터의 차이를 주파수 변환부(402)로 출력한다.
주파수 변환부(402)는 가산부(401)로부터 수신된 영상 데이터에 이산 여현 변환을 적용하여 공간 영역의 값들을 주파수 영역의 값들로 변환하고, 변환된 주파수 영역의 값들을 양자화부(403)로 출력한다.
양자화부(403)는 주파수 변환부(402)로부터 수신된 주파수 영역의 값들을 양자화하고, 양자화된 주파수 영역의 값들을 엔트로피 부호화부(404)로 출력한다.
엔트로피 부호화부(404)는 양자화부(403)로부터 수신된 양자화된 주파수 영역의 값들 및 움직임 벡터 추정 장치(300)로부터 수신된 움직임 정보를 엔트로피 부호화하여 비트 스트림을 생성한다. 움직임 정보는 현재 블록의 움직임 벡터로부터 현재 블록의 추정된 움직임 벡터를 뺀 움직임 벡터 차이(Motion Vection Difference: MVD), 한 프레임당 하나의 전역 움직임 벡터 및 현재 블록의 추정된 움직임 벡터에 대한 정보(즉, 인접 파티션의 움직임 벡터 또는 전역 움직임 벡터를 나타내는 1비트의 플래그)를 포함한다.
역양자화부(405), 역주파수 변환부(406), 프레임 저장부(407), 움직임 추정부(408), 움직임 보상부(409), 움직임 벡터 추정 장치(300)는 움직임 보상을 수행하기 위한 기능부들이다.
역양자화부(405)는 양자화부(403)로부터 수신된 양자화된 주파수 영역의 값들에 대해 역 양자화를 수행하고, 역양자화된 주파수 영역의 값들을 역주파수 변환부(406)로 출력한다.
역주파수 변환부(406)는 역양자화부(405)로부터 역양자화된 주파수 영역의 값들을 공간 영역의 값들로 변환하여 가산부(406a)로 전달한다.
가산부(406a)는 움직임 보상부(409)로부터 수신된 영상 데이터에 역주파수 변환부(406)로부터 수신된 공간 영역의 값들을 가산하여 움직임 보상을 위해 참조되는 영상 데이터를 생성한다. 생성된 참조 프레임의 영상 데이터는 프레임 저장부(407)에 저장된다.
프레임 저장부(407)는 가산부(406a)로부터 수신된 영상 데이터를 저장한다.
움직임 추정부(408)는 외부에서 입력된 현재 프레임의 영상 데이터 및 프레임 저장부(407)에 저장된 영상 데이터간에 움직임 예측을 수행함으로써, 움직임 벡터들을 계산한다. 움직임 추정부(408)에서 계산된 움직임 벡터들은 움직임 보상부(409) 및 움직임 벡터 추정 장치(300)로 전송된다.
움직임 보상부(409)는 움직임 추정부(408)에서 계산된 움직임 벡터들을 사용해서 프레임 저장부(407)에 저장된 참조 프레임에 대해 움직임 보상을 수행하고, 움직임 보상된 영상 데이터를 생성한다. 움직임 보상된 영상 데이터는 가산부(401) 및 가산부(406a)로 전달된다.
움직임 벡터 추정 장치(300)는 도 3에 도시된 바와 같이 전역 움직임 추정부(301), MVD 계산부(302), 움직임 벡터 추정부(303)를 포함하여 이루어지며, 구체 적인 설명은 도 2 및 도 3에서 이미 설명된 바와 같다.
도 5은 본 발명의 일 실시예에 따른 디코더(500)의 구성도로, 엔트로피 복호화부(501), 역양자화부(502), 역주파수 변환부(503), 프레임 저장부(504), 움직임 보상부(505), 가산부(506), 움직임 벡터 추정부(507)를 포함하여 이루어진다. 한편, 역양자화부(502), 역주파수 변환부(503), 프레임 저장부(504) 및 움직임 보상부(505), 가산부(506)는 매크로블록 복원부를 구성한다.
도 5를 참조하면, 엔트로피 복호화부(501)는 인코더로부터 수신된 비트 스트림을 엔트로피 복호화하고, 엔트로피 복호화된 비트 스트림을 역양자화부(502) 및 움직임 벡터 추정부(507)로 전달한다. 특히, 인터-모드 코딩의 경우 엔트로피 복호화부(501)는 현재 블록과 관련된 움직임 정보 및 잔차 블록을 추출하고, 추출된 잔차 블록은 역 양자화부(502)로, 추출된 움직임 정보는 움직임 벡터 추정부(507)로 출력한다.
한편, 움직임 정보는 현재 블록의 움직임 벡터로부터 현재 블록의 추정된 움직임 벡터를 뺀 움직임 벡터 차이(Motion Vection Difference: MVD), 한 프레임당 하나의 전역 움직임 벡터 및 현재 블록의 추정된 움직임 벡터에 대한 정보(즉, 인접 파티션의 움직임 벡터 또는 전역 움직임 벡터를 나타내는 1비트의 플래그)를 포함한다. 현재 블록의 추정된 움직임 벡터는 인접 파티션의 움직임 벡터 또는 전역 움직임 벡터 중 하나이다. 또한, 인접 파티션의 움직임 벡터는 현재 블록에 인접한 파티션들 중 어느 하나의 움직임 벡터, 현재 블록에 인접한 파티션들의 움직임 벡터들의 중간값 또는 현재 블록에 대한 시간적 움직임 벡터(temporal motion vector) 중 어느 하나이다.
역양자화부(502)는 엔트로피 복호화부(501)로부터 엔트로피 복호화된 잔차 블록을 역 양자화하고, 역 양자화된 잔차 블록을 역주파수 변환부(503)로 출력한다.
역 주파수 변환부(503)는 역양자화부에서 수신된 역양자화된 잔차 블록을 공간 영역의 값들로 변환하고, 변환된 공간 영역의 값들을 가산부(506)로 출력한다.
가산부(506)는 역주파수 변환부(503)로부터 수신된 역 양자화된 잔차 블록에 움직임 보상부(505)에서 수신된 움직임 보상된 예측 블록을 가산하여 현재 블록을 복원한다.
프레임 저장부(504)는 가산부(506)에서 출력된 현재 블록을 저장한다.
움직임 벡터 추정부(507)는 엔트로피 복호화부(501)에 의해 추출된 움직임 정보를 가지고 움직임 벡터 예측을 수행해서 움직임 벡터들을 재생한다. 재생된 움직임 벡터들은 움직임 보상부(505)로 출력된다.
움직임 보상부(505)는 프레임 저장부(504)에 저장된 참조 프레임의 영상 데이터에 움직임 벡터 추정부(507)로부터 수신된 움직임 벡터들을 적용해서 움직임 보상을 수행한다. 움직임 보상된 영상 데이터는 가산부(506)로 출력된다.
도 6은 본 발명의 일 실시예에 따른 복호화 방법의 흐름도이다.
도 6을 참조하면, 단계 600에서 부호화된 비트 스트림을 수신하며, 비트 스트림은 현재 블록과 관련된 움직임 정보 및 잔차 블록을 포함한다.
단계 601에서, 수신된 비트 스트림을 엔트로피 복호화한다. 인터-모드 코딩 의 경우 현재 블록과 관련된 움직임 정보 및 영상 데이터, 즉 잔차 블록이 복호화된다. 또한, 도 5에서 기술된 바와 같이, 잔차 블록은 역양자화 및 역주파수 변환 과정을 거친다.
단계 602에서, 복호화된 움직임 정보로부터 움직임 벡터를 재생한다.
단계 603에서는 재생된 움직임 벡터를 참조 블록에 적용하여 움직임 보상된 예측 블록을 생성하고, 생성된 예측 블록과 잔차 블록을 가산하여 현재 블록을 복원한다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상 본 발명의 바람직한 실시예에 대해 상세히 기술하였지만, 본 발명이 속하는 기술분야에 있어서 통상의 지식을 가진 사람이라면, 첨부된 청구범위에 정의된 본 발명의 정신 및 범위를 벗어나지 않으면서 본 발명을 여러 가지로 변형 또는 변경하여 실시할 수 있음을 알 수 있을 것이다. 따라서 본 발명의 앞으로의 실시예들의 변경은 본 발명의 기술을 벗어날 수 없을 것이다.
상술한 바와 같이, 전역 움직임 벡터를 현재 블록의 움직임 벡터 프리딕터의 하나로 사용함으로써, 디코더로 전송되는 정보량을 줄일 수 있다. 또한, 움직임 추정은 같은 움직임 비트량이 주어지는 경우, 더 나은 프리딕터를 찾아올 수 있는 기회를 줄 수 있다. 따라서, 움직임 예측 단계에도 영향을 미치며, PSNR의 관점에서도 이득을 가진다. 또한 본 발명에 의하면, 현재 블록과 인접 파티션의 움직임이 다른 경우에 더욱 정확하게 현재 블록의 움직임을 추정할 수 있다.

Claims (24)

  1. 인접 파티션의 움직임 벡터를 사용해서 현재 블록의 움직임 벡터를 추정하기 위한 방법에 있어서,
    (a) 상기 현재 블록에 대한 전역 움직임 벡터를 추정하는 단계;
    (b) 상기 현재 블록의 움직임 벡터와 상기 인접 파티션의 움직임 벡터간의 제1 움직임 벡터 차이 및 상기 현재 블록의 움직임 벡터와 상기 추정된 전역 움직임 벡터간의 제2 움직임 벡터 차이를 계산하는 단계; 및
    (c) 상기 제1 움직임 벡터 차이 및 상기 제2 움직임 벡터 차이로부터 최소의 RD 코스트를 가지는 움직임 벡터를 상기 현재 블록의 움직임 벡터로 추정하는 단계를 포함하는 것을 특징으로 하는 움직임 벡터 추정 방법.
  2. 제1항에 있어서, 상기 (a) 단계에서
    전역 움직임 벡터가 복수 개인 경우 각 전역 움직임 벡터와 상기 현재 블록의 움직임 벡터간의 움직임 벡터 차이로부터 최소의 RD 코스트를 가지는 움직임 벡터를 상기 전역 움직임 벡터로 추정하는 것을 특징으로 하는 움직임 벡터 추정 방법.
  3. 제1항에 있어서, 상기 (a) 단계는
    현재 프레임을 일정한 크기의 파티션들로 분할하고, 상기 분할된 파티션들 각각에 대하여 움직임 벡터들을 구하는 단계; 및
    상기 파티션들 각각에 대해 구해진 움직임 벡터들의 중간값을 상기 전역 움직임 벡터로 추정하는 단계를 포함하는 것을 특징으로 하는 움직임 벡터 추정 방법.
  4. 제1항에 있어서, 상기 (a) 단계는
    현재 프레임을 일정한 크기의 파티션들로 분할하고, 상기 분할된 파티션들 각각에 대하여 움직임 벡터들을 구하는 단계; 및
    상기 파티션들 각각에 대해 구해진 움직임 벡터들 중 빈도가 가장 높은 움직임 벡터를 상기 전역 움직임 벡터로 추정하는 단계를 포함하는 것을 특징으로 하는 움직임 벡터 추정 방법.
  5. 제1항에 있어서, 상기 인접 파티션의 움직임 벡터는
    상기 현재 블록에 인접한 파티션들 중 어느 하나의 움직임 벡터, 상기 현재 블록에 인접한 파티션들의 움직임 벡터들의 중간값 또는 상기 현재 블록에 대한 시간적 움직임 벡터 중 어느 하나인 것을 특징으로 하는 움직임 벡터 추정 방법.
  6. 제1항에 있어서, 상기 움직임 벡터 추정 방법은
    상기 현재 블록과 관련된 움직임 정보를 전송하는 단계를 더 포함하는 것을 특징으로 하는 움직임 벡터 추정 방법.
  7. 제1항 내지 제6항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록된 컴퓨터로 독출 가능한 기록매체.
  8. 인접 파티션의 움직임 벡터를 사용해서 현재 블록의 움직임 벡터를 추정하기 위한 장치에 있어서,
    (a) 상기 현재 블록에 대한 전역 움직임 벡터를 추정하는 전역 움직임 추정부;
    (b) 상기 현재 블록의 움직임 벡터와 상기 인접 파티션의 움직임 벡터간의 제1 움직임 벡터 차이 및 상기 현재 블록의 움직임 벡터와 상기 추정된 전역 움직임 벡터간의 제2 움직임 벡터 차이를 계산하는 MVD 계산부; 및
    (c) 상기 제1 움직임 벡터 차이 및 상기 제2 움직임 벡터 차이로부터 최소의 RD 코스트를 가지는 움직임 벡터를 상기 현재 블록의 움직임 벡터로 추정하는 움직임 벡터 추정부를 포함하는 것을 특징으로 하는 움직임 벡터 추정 장치.
  9. 제8항에 있어서, 상기 전역 움직임 추정부는
    전역 움직임 벡터가 복수 개인 경우 각 전역 움직임 벡터와 상기 현재 블록의 움직임 벡터간의 움직임 벡터 차이로부터 최소의 RD 코스트를 가지는 움직임 벡터를 상기 전역 움직임 벡터로 추정하는 것을 특징으로 하는 움직임 벡터 추정 장치.
  10. 제8항에 있어서, 상기 전역 움직임 추정부는
    현재 프레임을 일정한 크기의 파티션들로 분할하고 상기 분할된 파티션들 각각에 대하여 움직임 벡터들을 구하는 한편 상기 파티션들 각각에 대해 구해진 움직임 벡터들의 중간값을 상기 전역 움직임 벡터로 추정하는 것을 특징으로 하는 움직임 벡터 추정 장치.
  11. 제8항에 있어서, 상기 전역 움직임 추정부는
    현재 프레임을 일정한 크기의 파티션들로 분할하고 상기 분할된 파티션들 각각에 대하여 움직임 벡터들을 구하는 한편, 상기 파티션들 각각에 대해 구해진 움직임 벡터들 중 빈도가 가장 높은 움직임 벡터를 상기 전역 움직임 벡터로 추정하는 것을 특징으로 하는 움직임 벡터 추정 장치.
  12. 제8항에 있어서, 상기 인접 파티션의 움직임 벡터는
    상기 현재 블록에 인접한 파티션들 중 어느 하나의 움직임 벡터, 상기 현재 블록에 인접한 파티션들의 움직임 벡터들의 중간값 또는 상기 현재 블록에 대한 시간적 움직임 벡터 중 어느 하나인 것을 특징으로 하는 움직임 벡터 추정 장치.
  13. 제8항에 있어서, 상기 움직임 벡터 추정부는
    상기 현재 블록과 관련된 움직임 정보를 전송하는 것을 특징으로 하는 움직 임 벡터 추정 장치.
  14. 비디오 인코더에 있어서,
    현재 블록 및 상기 현재 블록에 인접한 인접 파티션 각각의 움직임 벡터를 생성하는 움직임 추정부;
    상기 현재 블록에 대한 전역 움직임 벡터를 추정하고, 상기 생성된 현재 블록의 움직임 벡터와 상기 생성된 인접 파티션의 움직임 벡터간의 제1 움직임 벡터 차이 및 상기 생성된 현재 블록의 움직임 벡터와 상기 추정된 전역 움직임 벡터간의 제2 움직임 벡터 차이를 계산하고, 상기 제1 움직임 벡터 차이 또는 상기 제2 움직임 벡터 차이로부터 최소의 RD 코스트를 가지는 움직임 벡터를 상기 현재 블록의 움직임 벡터로 추정하며, 상기 생성된 현재 블록의 움직임 벡터 및 상기 현재 블록의 추정된 움직임 벡터로부터 움직임 정보를 생성하는 움직임 벡터 추정 장치; 및
    상기 움직임 정보를 엔트로피 부호화하는 엔트로피 부호화부를 포함하는 것을 특징으로 하는 인코더.
  15. 제14항에 있어서, 상기 움직임 정보는
    적어도 상기 현재 블록의 움직임 벡터와 상기 현재 블록의 추정된 움직임 벡터간의 움직임 벡터 차이 및 상기 현재 블록의 추정된 움직임 벡터에 대한 정보를 포함하는 것을 특징으로 하는 인코더.
  16. 제14항에 있어서, 상기 움직임 벡터 추정 장치는
    전역 움직임 벡터가 복수 개인 경우 각 전역 움직임 벡터와 상기 현재 블록의 움직임 벡터간의 움직임 벡터 차이로부터 최소의 RD 코스트를 가지는 움직임 벡터를 상기 전역 움직임 벡터로 추정하는 것을 특징으로 하는 인코더.
  17. 제14항에 있어서, 상기 움직임 벡터 추정 장치는
    현재 프레임을 일정한 크기의 파티션들로 분할하고 상기 분할된 파티션들 각각에 대하여 움직임 벡터들을 구하는 한편 상기 파티션들 각각에 대해 구해진 움직임 벡터들의 중간값을 상기 전역 움직임 벡터로 추정하는 것을 특징으로 하는 인코더.
  18. 제14항에 있어서, 상기 움직임 벡터 추정 장치는
    현재 프레임을 일정한 크기의 파티션들로 분할하고 상기 분할된 파티션들 각각에 대하여 움직임 벡터들을 구하는 한편, 상기 파티션들 각각에 대해 구해진 움직임 벡터들 중 빈도가 가장 높은 움직임 벡터를 상기 전역 움직임 벡터로 추정하는 것을 특징으로 하는 인코더.
  19. 제14항에 있어서, 상기 인접 파티션의 움직임 벡터는
    상기 현재 블록에 인접한 파티션들 중 어느 하나의 움직임 벡터, 상기 현재 블록에 인접한 파티션들의 움직임 벡터들의 중간값 또는 상기 현재 블록에 대한 시간적 움직임 벡터 중 어느 하나인 것을 특징으로 하는 인코더.
  20. 비디오 디코더에 있어서,
    비트 스트림으로부터 움직임 정보를 엔트로피 복호화하는 엔트로피 복호화부;
    상기 복호화된 움직임 정보로부터 현재 블록에 대한 움직임 벡터를 재생하는 움직임 벡터 추정부; 및
    상기 재생된 움직임 벡터를 이용하여 현재 블록을 복원하는 매크로블록 복원부를 포함하며, 상기 움직임 정보는
    적어도 상기 현재 블록의 움직임 벡터와 상기 현재 블록의 추정된 움직임 벡터간의 움직임 벡터 차이 및 상기 현재 블록의 추정된 움직임 벡터에 대한 정보로, 상기 현재 블록의 추정된 움직임 벡터는 상기 현재 블록에 인접한 인접 파티션의 움직임 벡터 또는 전역 움직임 벡터 중 어느 하나인 것을 특징으로 하는 디코더.
  21. 제20항에 있어서, 상기 현재 블록에 인접한 인접 파티션의 움직임 벡터는
    상기 현재 블록에 인접한 파티션들 중 어느 하나의 움직임 벡터, 상기 현재 블록에 인접한 파티션들의 움직임 벡터들의 중간값 또는 상기 현재 블록에 대한 시간적 움직임 벡터 중 어느 하나인 것을 특징으로 하는 디코더.
  22. 복호화 방법에 있어서,
    (a) 비트 스트림으로부터 움직임 정보를 엔트로피 복호화하는 단계;
    (b) 상기 복호화된 움직임 정보로부터 현재 블록에 대한 움직임 벡터를 재생하는 단계; 및
    (c) 상기 재생된 움직임 벡터를 이용하여 현재 블록을 복원하는 매크로블록 복원부를 포함하며,
    상기 움직임 정보는
    적어도 상기 현재 블록의 움직임 벡터와 상기 현재 블록의 추정된 움직임 벡터간의 움직임 벡터 차이 및 상기 현재 블록의 추정된 움직임 벡터에 대한 정보로, 상기 현재 블록의 추정된 움직임 벡터는 상기 현재 블록에 인접한 인접 파티션의 움직임 벡터 또는 전역 움직임 벡터 중 어느 하나인 것을 특징으로 하는 복호화 방법.
  23. 제22항에 있어서, 상기 현재 블록에 인접한 인접 파티션의 움직임 벡터는
    상기 현재 블록에 인접한 파티션들 중 어느 하나의 움직임 벡터, 상기 현재 블록에 인접한 파티션들의 움직임 벡터들의 중간값 또는 상기 현재 블록에 대한 시간적 움직임 벡터 중 어느 하나인 것을 특징으로 하는 복호화 방법.
  24. 제22항 내지 제23항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록된 컴퓨터로 독출 가능한 기록매체.
KR1020070000708A 2007-01-03 2007-01-03 전역 움직임 벡터를 사용해서 움직임 벡터를 추정하기 위한방법, 장치, 인코더, 디코더 및 복호화 방법 KR101356735B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020070000708A KR101356735B1 (ko) 2007-01-03 2007-01-03 전역 움직임 벡터를 사용해서 움직임 벡터를 추정하기 위한방법, 장치, 인코더, 디코더 및 복호화 방법
CN2007800492201A CN101573983B (zh) 2007-01-03 2007-12-18 使用全局运动矢量预测运动矢量的方法和设备、编码器、解码器及解码方法
PCT/KR2007/006613 WO2008082102A1 (en) 2007-01-03 2007-12-18 Method and apparatus for predicting motion vector using global motion vector, encoder, decoder, and decoding method
EP07851581.4A EP2103140A4 (en) 2007-01-03 2007-12-18 Method and apparatus for predicting motion vector using global motion vector, encoder, decoder, and decoding method
JP2009544783A JP5620109B2 (ja) 2007-01-03 2007-12-18 動きベクトル推定方法、動きベクトル推定装置、ビデオエンコーダ、ビデオデコーダ及びデコーディング方法
US11/964,820 US8306120B2 (en) 2007-01-03 2007-12-27 Method and apparatus for predicting motion vector using global motion vector, encoder, decoder, and decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070000708A KR101356735B1 (ko) 2007-01-03 2007-01-03 전역 움직임 벡터를 사용해서 움직임 벡터를 추정하기 위한방법, 장치, 인코더, 디코더 및 복호화 방법

Publications (2)

Publication Number Publication Date
KR20080064009A KR20080064009A (ko) 2008-07-08
KR101356735B1 true KR101356735B1 (ko) 2014-02-03

Family

ID=39583958

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070000708A KR101356735B1 (ko) 2007-01-03 2007-01-03 전역 움직임 벡터를 사용해서 움직임 벡터를 추정하기 위한방법, 장치, 인코더, 디코더 및 복호화 방법

Country Status (6)

Country Link
US (1) US8306120B2 (ko)
EP (1) EP2103140A4 (ko)
JP (1) JP5620109B2 (ko)
KR (1) KR101356735B1 (ko)
CN (1) CN101573983B (ko)
WO (1) WO2008082102A1 (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8913660B2 (en) * 2005-04-14 2014-12-16 Fastvdo, Llc Device and method for fast block-matching motion estimation in video encoders
JP5050158B2 (ja) * 2008-06-02 2012-10-17 株式会社メガチップス トランスコーダ
US8619856B2 (en) 2008-10-03 2013-12-31 Qualcomm Incorporated Video coding with large macroblocks
US8503527B2 (en) 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
US8917769B2 (en) 2009-07-03 2014-12-23 Intel Corporation Methods and systems to estimate motion based on reconstructed reference frames at a video decoder
US9654792B2 (en) 2009-07-03 2017-05-16 Intel Corporation Methods and systems for motion vector derivation at a video decoder
US8411750B2 (en) * 2009-10-30 2013-04-02 Qualcomm Incorporated Global motion parameter estimation using block-based motion vectors
US9781446B2 (en) 2009-12-10 2017-10-03 Thomson Licensing Dtv Method for coding and method for decoding a block of an image and corresponding coding and decoding devices
KR101768207B1 (ko) * 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
JP5913283B2 (ja) * 2010-04-22 2016-04-27 聯發科技股▲ふん▼有限公司Mediatek Inc. 動き予測方法
WO2011146451A1 (en) * 2010-05-20 2011-11-24 Thomson Licensing Methods and apparatus for adaptive motion vector candidate ordering for video encoding and decoding
US9300970B2 (en) * 2010-07-09 2016-03-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding motion vector
CN102377992B (zh) * 2010-08-06 2014-06-04 华为技术有限公司 运动矢量的预测值的获取方法和装置
CN102447894B (zh) * 2010-09-30 2013-11-06 华为技术有限公司 视频图像编码方法、解码方法和装置
US20120082228A1 (en) 2010-10-01 2012-04-05 Yeping Su Nested entropy encoding
US10104391B2 (en) 2010-10-01 2018-10-16 Dolby International Ab System for nested entropy encoding
US9509995B2 (en) 2010-12-21 2016-11-29 Intel Corporation System and method for enhanced DMVD processing
JP2012147331A (ja) * 2011-01-13 2012-08-02 Sony Corp 画像処理装置および方法
GB2487777B (en) * 2011-02-04 2015-01-07 Canon Kk Method and device for motion estimation in a sequence of images
JP5716438B2 (ja) * 2011-02-08 2015-05-13 株式会社Jvcケンウッド 画像復号装置、画像復号方法および画像復号プログラム
JP5716437B2 (ja) * 2011-02-08 2015-05-13 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法および画像符号化プログラム
KR101961889B1 (ko) 2011-02-09 2019-03-25 엘지전자 주식회사 움직임 정보 저장 방법 및 이를 이용한 시간적 움직임 벡터 예측자 유도 방법
JP5729817B2 (ja) 2011-06-29 2015-06-03 日本電信電話株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム及び動画像復号プログラム
CN103108178B (zh) * 2011-11-11 2016-03-30 华为技术有限公司 视频图像编解码的方法及装置
KR102121558B1 (ko) * 2013-03-15 2020-06-10 삼성전자주식회사 비디오 이미지의 안정화 방법, 후처리 장치 및 이를 포함하는 비디오 디코더
JP6614472B2 (ja) 2013-09-30 2019-12-04 サン パテント トラスト 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
CN108702512B (zh) * 2017-10-31 2020-11-24 深圳市大疆创新科技有限公司 运动估计方法和装置
WO2020000444A1 (zh) * 2018-06-29 2020-01-02 深圳市大疆创新科技有限公司 运动矢量确定方法、设备及机器可读存储介质
EP3850845A1 (en) * 2018-09-14 2021-07-21 Koninklijke KPN N.V. Video coding based on global motion compensated motion vectors
WO2020053383A1 (en) * 2018-09-14 2020-03-19 Koninklijke Kpn N.V. Video coding based on global motion compensated motion vector predictors
WO2020219940A1 (en) * 2019-04-25 2020-10-29 Op Solutions, Llc Global motion for merge mode candidates in inter prediction
EP3833028B1 (en) * 2019-12-03 2022-02-09 Axis AB Method and system for calculating a cost of encoding a motion vector
CN112215409B (zh) * 2020-09-24 2024-01-30 交控科技股份有限公司 一种轨道交通站点客流预测方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06113283A (ja) * 1992-09-30 1994-04-22 Matsushita Electric Ind Co Ltd 動き補償符号化装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0813146B2 (ja) * 1989-06-09 1996-02-07 松下電器産業株式会社 動きベクトル検出装置
US5473379A (en) 1993-11-04 1995-12-05 At&T Corp. Method and apparatus for improving motion compensation in digital video coding
DE69524235T2 (de) * 1994-09-02 2002-07-18 Sarnoff Corp Verfahren und vorrichtung zur global-zu-lokal-block-bewegungsschätzung
US7206346B2 (en) * 1997-06-25 2007-04-17 Nippon Telegraph And Telephone Corporation Motion vector predictive encoding method, motion vector decoding method, predictive encoding apparatus and decoding apparatus, and storage media storing motion vector predictive encoding and decoding programs
US7551673B1 (en) 1999-05-13 2009-06-23 Stmicroelectronics Asia Pacific Pte Ltd. Adaptive motion estimator
US7050500B2 (en) * 2001-08-23 2006-05-23 Sharp Laboratories Of America, Inc. Method and apparatus for motion vector coding with global motion parameters
EP1430724B1 (en) * 2001-09-12 2008-08-06 Nxp B.V. Motion estimation and/or compensation
US20030123738A1 (en) * 2001-11-30 2003-07-03 Per Frojdh Global motion compensation for video pictures
US7321626B2 (en) * 2002-03-08 2008-01-22 Sharp Laboratories Of America, Inc. System and method for predictive motion estimation using a global motion predictor
JP4130783B2 (ja) * 2002-04-23 2008-08-06 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
US7154952B2 (en) * 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
US20040258147A1 (en) * 2003-06-23 2004-12-23 Tsu-Chang Lee Memory and array processor structure for multiple-dimensional signal processing
CN1271571C (zh) * 2003-06-27 2006-08-23 中国科学院计算技术研究所 用于视频编码的预测图像生成方法
CN1839632A (zh) * 2003-08-22 2006-09-27 皇家飞利浦电子股份有限公司 用于速率-失真-复杂度优化的视频编码的运动矢量联合时空指向尺度预测和编码
US7675573B2 (en) 2005-02-18 2010-03-09 Genesis Microchip Inc. Global motion adaptive system with motion values correction with respect to luminance level
FR2896118A1 (fr) * 2006-01-12 2007-07-13 France Telecom Codage et decodage adaptatifs
US7672377B2 (en) * 2006-04-21 2010-03-02 Dilithium Holdings, Inc. Method and system for video encoding and transcoding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06113283A (ja) * 1992-09-30 1994-04-22 Matsushita Electric Ind Co Ltd 動き補償符号化装置

Also Published As

Publication number Publication date
EP2103140A1 (en) 2009-09-23
US8306120B2 (en) 2012-11-06
JP2010515398A (ja) 2010-05-06
US20080159400A1 (en) 2008-07-03
JP5620109B2 (ja) 2014-11-05
CN101573983A (zh) 2009-11-04
WO2008082102A1 (en) 2008-07-10
CN101573983B (zh) 2012-05-30
EP2103140A4 (en) 2017-04-05
KR20080064009A (ko) 2008-07-08

Similar Documents

Publication Publication Date Title
KR101356735B1 (ko) 전역 움직임 벡터를 사용해서 움직임 벡터를 추정하기 위한방법, 장치, 인코더, 디코더 및 복호화 방법
KR101383540B1 (ko) 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
US8873633B2 (en) Method and apparatus for video encoding and decoding
US8948243B2 (en) Image encoding device, image decoding device, image encoding method, and image decoding method
KR101364532B1 (ko) 인접 파티션의 크기를 고려한 움직임 벡터 예측 방법,장치, 인코더, 디코더 및 복호화 방법

Legal Events

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

Payment date: 20161228

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181227

Year of fee payment: 6