KR20080064011A - 인접 파티션의 크기를 고려한 움직임 벡터 예측 방법,장치, 인코더, 디코더 및 복호화 방법 - Google Patents

인접 파티션의 크기를 고려한 움직임 벡터 예측 방법,장치, 인코더, 디코더 및 복호화 방법 Download PDF

Info

Publication number
KR20080064011A
KR20080064011A KR1020070000711A KR20070000711A KR20080064011A KR 20080064011 A KR20080064011 A KR 20080064011A KR 1020070000711 A KR1020070000711 A KR 1020070000711A KR 20070000711 A KR20070000711 A KR 20070000711A KR 20080064011 A KR20080064011 A KR 20080064011A
Authority
KR
South Korea
Prior art keywords
partition
current block
motion vector
pixels
size
Prior art date
Application number
KR1020070000711A
Other languages
English (en)
Other versions
KR101364532B1 (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 KR1020070000711A priority Critical patent/KR101364532B1/ko
Priority to US11/783,773 priority patent/US8155196B2/en
Priority to PCT/KR2007/004627 priority patent/WO2008082058A1/en
Publication of KR20080064011A publication Critical patent/KR20080064011A/ko
Priority to US13/412,555 priority patent/US8699576B2/en
Application granted granted Critical
Publication of KR101364532B1 publication Critical patent/KR101364532B1/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/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/57Motion estimation characterised by a search window with variable size or shape
    • 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
    • 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/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

본 발명은 본 발명은 비디오 코딩에 관한 것으로, 인접 파티션의 크기를 고려한 움직임 벡터 예측 방법, 장치, 인코더, 디코더 및 복호화 방법에 관한 것이다. 본 발명에 따른 움직임 벡터 추정 방법은 현재 블록의 좌측에 인접한 제1 파티션의 크기와 현재 블록의 상부에 인접한 제2 파티션의 크기를 비교하고, 비교 결과 제1 파티션의 크기 및 제2 파티션의 크기가 다를 경우 크기가 더 큰 파티션의 움직임 벡터를 상기 현재 블록의 움직임 벡터로 추정하는 것을 특징으로 한다. 이에 의해, 디코더로 전송되는 정보량을 줄일 수 있다.

Description

인접 파티션의 크기를 고려한 움직임 벡터 예측 방법, 장치, 인코더, 디코더 및 복호화 방법{Method of estimating motion vector considering the size of neighboring partition, apparatus, encoder, decoder and decoding method}
도 1은 종래 기술에 의해 현재 블록의 움직임 벡터를 추정하기 위한 인접 파티션을 도시하고 있다.
도 2는 본 발명의 일 실시예에 따른 인접 파티션들의 크기를 이용하여 움직임 벡터를 추정하는 방법의 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 움직임 예측에 사용되는 인접 파티션들을 도시하고 있다.
도 4는 본 발명의 일 실시예에 따라 인접 파티션들의 크기를 이용하여 움직임 벡터를 추정하기 위한 장치의 구성도이다.
도 5는 본 발명의 일 실시예에 따른 움직임 벡터를 추정하기 위한 장치를 포함한 인코더의 구성도이다.
도 6은 본 발명의 일 실시예에 따른 디코더의 구성도이다.
도 7은 본 발명의 일 실시예에 따른 복호화 방법의 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
400 : 움직임 벡터 추정 장치
401 : 파티션 크기 비교부
402 : 움직임 벡터 추정부
500 : 인코더
600 : 디코더
607 : 움직임 벡터 추정부
본 발명은 비디오 코딩에 관한 것으로, 인접 파티션의 크기를 고려한 움직임 벡터 예측 방법, 장치, 인코더, 디코더 및 복호화 방법에 관한 것이다.
인터-프레임 및 인트라-프레임 예측들은 2가지 주된 비디오 부호화 기술들이다. 인트라-프레임 예측은 단일 프레임내에서 인접한 픽셀들의 그레이 레벨들 간의 강한 상관도(correlation)에 기초한 비디오 부호화 기술이다. 인터-프레임 예측은 비디오 시퀀스에 있어서 연속하는 프레임들 간에 유사성(similiarities)에 기초한 비디오 부호화 기술이다. 움직이는 화면에서 급격한 변화가 없는 한 움직임 화면의 많은 부분들은 연속하는 프레임들 간에 거의 변화하지 않는다. 특히, 움직임 벡터 예측은 인터-프레임 예측에서 사용되는 비디오 부호화 기술 중 하나이다. 움직임 벡터 예측은 움직임 예측에 의해 계산된 움직임 벡터들을 차등 부호화(differentially encoding)함으로써 이미지를 처리하기 위한 기술이다. 일반적으로 어느 블록의 움직임 벡터는 인접 파티션의 움직임 벡터와 밀접한 상관 관계를 가진다. 그렇기 때문에 인접 파티션으로부터 현재 블록을 예측하고 그 차분 벡터만을 부호화함으로써, 부호화해야 할 비트량을 줄일 수 있다.
도 1은 종래 기술에 의해 움직임 예측에 사용되는 인접 파티션들의 예시이다.
도 1은 현재 매크로 블록(E)과 인접한 파티션들(A, B, C)의 형상이 같은 경우로, 움직임 벡터의 예측 부호화는 좌측(A), 상단(B), 우측 상단(C)의 블록들의 움직임 벡터(Motion Vector: MV)를 사용해서 수평 성분과 수직 성분의 중앙값(median value)을 사용한다. 스킵 매크로블록 모드인 경우는 위와 같다.
H.264에서의 직접 모드 예측은 비디오 시퀀스내에서 높은 공간적 상관도(special correlation)가 존재한다는 가정에 기초한다. 즉, 공간적으로 인접한 블록들의 움직임 벡터들은 그들이 동일한 객체에 속할 때 특히 높은 상관도를 가질 수 있다. MPEG-4에서는 매크로블록의 정보를 전혀 보내지 않고 공간적으로 같은 위치에 있는(움직임 벡터가 0에 해당) 픽셀을 그대로 부호화 영상으로 사용하는 스킵 매크로블록이라는 모드를 사용하고 있다. H.264에서도 "스킵 매크로블록"이라는 모드가 있지만, "움직임 벡터 0"을 의미하지 않고, 움직임 벡터 프리딕터(Motion Vector Predictor)를 사용해서 움직임 보상을 수행한 예측 신호를 사용한다는 점이 MPEG-4와 다른 점이다. 즉, 화면 전체가 한 방향으로 움직이고 있는 영상에서는 인접 파티션을 사용해서 움직임 벡터를 비교적 정확하게 예측할 수 있기 때문에 "움직임 벡터 0"을 사용하는 MPEG-4에 비해 부호화 효율이 향상된다. 따라서, 스킵 매크로블록 모드는 주로 배경(background)에 대해 선택된다. 공간 직접 모드(Special Direct Mode)의 경우도 스킵 매크로블록 모드와 유사하게 적용된다.
이와 같은 H.264에 의하면, 인접 파티션(블록 A 또는 블록 B)의 움직임 벡터가 0인 경우는 현재 블록(E)의 움직임 벡터를 0으로 하는데, 그 이유는 현재 블록은 인접 파티션의 움직임과 유사하다고 가정하기 때문이다. 그러나, 현재 블록과 인접 파티션이 동일한 오브젝트(예컨대, 배경)에 속한 경우는 별론, 현재 블록과 인접 파티션이 서로 다른 오브젝트에 속한 경우에는 이와 같은 가정은 맞지 않다는 문제점이 있다.
본 발명은 상기와 같은 문제점들을 해결하기 위하여 창출된 것으로, 현재 블록에 인접한 특정 파티션(A 또는 B)의 움직임 벡터가 0인 경우 현재 블록의 움직임 벡터를 0으로 하는 H.264의 가정을 배제하기 위한 방법 및 장치를 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위하여 본 발명에 따른 움직임 벡터 예측 방법은 현재 블록에 인접한 파티션들의 움직임 벡터들을 사용하여 상기 현재 블록의 움직임 벡터를 추정하는 방법에 있어서, (a) 상기 현재 블록의 좌측에 인접한 제1 파티션의 크기와 상기 현재 블록의 상부에 인접한 제2 파티션의 크기를 비교하는 단계; 및 (b) 상기 비교 결과 상기 제1 파티션의 크기 및 상기 제2 파티션의 크기가 다를 경우 크기가 더 큰 파티션의 움직임 벡터를 상기 현재 블록의 움직임 벡터로 추정하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 제2 실시예에 따르면, 상기 방법을 실행하기 위한 프로그램이 기록된 컴퓨터로 독출 가능한 기록매체가 제공된다.
본 발명의 제3 실시예에 따르면, 움직임 벡터 추정 장치가 제공되는데, 상기 장치는 현재 블록에 인접한 파티션들의 움직임 벡터들을 사용하여 상기 현재 블록의 움직임 벡터를 추정하는 장치에 있어서, 상기 현재 블록의 좌측에 인접한 제1 파티션의 크기와 상기 현재 블록의 상부에 인접한 제2 파티션의 크기를 비교하는 파티션 크기 비교부; 및 상기 비교 결과 상기 제1 파티션 및 상기 제2 파티션 중 크기가 다를 경우 크기가 더 큰 파티션의 움직임 벡터를 상기 현재 블록의 움직임 벡터로 추정하는 움직임 벡터 추정부를 포함하는 것을 특징으로 한다.
본 발명의 제4 실시예에 따르면, 비디오 인코더가 제공되는데, 상기 인코더는 현재 블록의 좌측에 인접한 제1 파티션의 크기와 상기 현재 블록의 상부에 인접한 제2 파티션의 크기를 비교하고, 상기 비교 결과 상기 제1 파티션의 크기 및 상기 제2 파티션의 크기가 다를 경우 크기가 더 큰 파티션의 움직임 벡터를 상기 현재 블록의 움직임 벡터로 추정하는 움직임 벡터 추정 장치; 및 상기 현재 블록에 대한 모드 정보를 엔트로피 부호화하는 엔트로피 부호화부를 포함하는 것을 특징으로 한다.
본 발명의 제5 실시예에 따르면, 비디오 디코더가 제공되는데, 상기 디코더는 부호화된 비트 스트림으로부터 잔차 블록 및 현재 블록에 대한 모드 정보를 엔트로피 복호화하는 엔트로피 복호화부; 상기 복호화된 모드 정보에 기초하여 상기 현재 블록의 좌측에 인접한 제1 파티션 및 상기 현재 블록의 상부에 인접한 제2 파 티션의 크기를 비교하고, 상기 비교 결과 상기 제1 파티션 및 상기 제2 파티션 중 크기가 더 큰 파티션의 움직임 벡터를 상기 현재 블록의 움직임 벡터로 추정하는 움직임 벡터 추정부; 및 상기 추정된 움직임 벡터를 이용하여 상기 복호화된 잔차 블록으로부터 현재 블록을 복원하는 매크로블록 복원부를 포함하는 것을 특징으로 한다.
본 발명의 제6 실시예에 따르면, 복호화 방법이 제공되는데, 상기 방법은 (a) 부호화된 비트 스트림으로부터 잔차 블록 및 현재 블록에 대한 모드 정보를 엔트로피 복호화하는 단계; (b) 상기 복호화된 모드 정보에 기초하여 상기 현재 블록의 좌측에 인접한 제1 파티션 및 상기 현재 블록의 상부에 인접한 제2 파티션의 크기를 비교하는 단계; (c) 상기 비교 결과 상기 제1 파티션 및 상기 제2 파티션 중 크기가 더 큰 파티션의 움직임 벡터를 상기 현재 블록의 움직임 벡터로 추정하는 단계; 및 (d) 상기 추정된 움직임 벡터를 이용하여 상기 복호화된 잔차 블록으로부터 현재 블록을 복원하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 제7 실시예에 따르면, 상기 방법을 실행하기 위한 프로그램이 기록된 컴퓨터로 독출 가능한 기록매체가 제공된다.
바람직하게는, 상기 제1 파티션은 상기 현재 블록의 좌측에 인접한 파티션들 중 가장 위쪽에 위치하며, 상기 제2 파티션은 상기 현재 블록의 상부에 인접한 파티션들 중 가장 좌측에 위치한 파티션인 것을 특징으로 한다.
바람직하게는, 상기 현재 블록은 16× 16 픽셀들로 이루어지며, 상기 제1 파티션 또는 상기 제2 파티션은 서로 다른 크기를 가지며, 16× 16 픽셀들, 16× 8 픽셀들, 8× 16 픽셀들, 8× 4 픽셀들, 8× 4 픽셀들, 4× 4 픽셀들 중 어느 하나로 이루어지는 것을 특징으로 한다.
이하, 첨부한 도면을 참조하면서 본 발명에 따른 인접 파티션의 크기를 고려한 움직임 벡터 예측 방법, 장치, 인코더, 디코더 및 복호화 방법의 바람직한 실시예를 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호로 표기되었음에 유의하여야 한다. 또한, 하기의 설명에서는 구체적인 회로의 구성소자 등과 같은 많은 특정사항들이 도시되어 있는데, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정사항들 없이도 본 발명이 실시될 수 있음은 이 기술분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
도 2는 본 발명의 일 실시예에 따른 인접 파티션의 크기를 이용하여 움직임 벡터를 추정하는 방법의 흐름도이다.
도 2를 참조하면, 단계 200에서 현재 블록의 좌측에 인접한 제1 파티션의 크기와 현재 블록의 상부에 인접한 제2 파티션의 크기를 비교한다.
바람직하게는, 제1 파티션은 현재 블록의 좌측에 인접한 파티션들 중 가장 위쪽에 위치하며, 제2 파티션은 현재 블록의 상부에 인접한 파티션들 중 가장 좌측에 위치한 파티션인 것을 특징으로 한다. 또한, 바람직하게는 현재 블록(E)의 크기 는 16×16 픽셀들로 이루어진 매크로블록이다. 또한, 제1 파티션과 제2 파티션은 서로 다른 크기를 가지며, 16× 16 픽셀들, 16× 8 픽셀들, 8× 16 픽셀들, 8× 4 픽셀들, 8× 4 픽셀들, 4× 4 픽셀들 중 어느 하나로 이루어진다.
단계 201에서는, 제1 파티션과 제2 파티션의 크기가 다른 경우 크기가 더 큰 파티션의 움직임 벡터를 현재 블록(E)의 움직임 벡터로 추정한다.
바람직하게는, 현재 블록에 대한 모드 정보가 추가로 전송되며, 현재 블록에 대한 모드 정보는 현재 블록이 스킵 매크로블록임을 나타내는 정보를 말한다. 스킵 매크로블록 모드인 경우에는 현재 블록의 움직임 정보는 전송될 필요가 없다. 따라서, 디코더로 전송되는 정보량을 줄일 수 있다. 한편, 스킵 매크로블록 모드인 경우 디코더는 인코더에서와 동일하게 현재 블록의 인접 파티션의 크기를 서로 비교하여 더 큰 파티션의 움직임 벡터를 현재 블록의 움직임 벡터로 사용할 수 있다.
한편, 도 3은 본 발명의 일 실시예에 따른 움직임 예측에 사용되는 인접 파티션들을 도시하고 있다. 종래 기술에 의하면, 현재 블록(E)의 추정된 움직임 벡터는 블록 A(301a), 블록 B(301b), 블록 C(301c)의 움직임 벡터들의 중간값으로 하며, 특히 블록 A의 움직임 벡터 또는 블록 B의 움직임 벡터가 0인 경우 현재 블록(E)의 움직임 벡터는 0으로 추정된다. 하지만, 본 발명에 의할 경우 파티션 A의 크기 또는 파티션 B의 크기가 다른 경우 현재 블록(E)의 추정된 움직임 벡터는 파티션 A 또는 파티션 B 중 크기가 더 큰 파티션 A(300)의 움직임 벡터가 된다는 점을 도시하고 있다.
도 4는 본 발명의 일 실시예에 따라 인접 파티션들의 크기를 이용하여 움직 임 벡터를 추정하기 위한 장치(400)의 구성도로, 파티션 크기 비교부(401) 및 움직임 벡터 추정부(402)를 포함하여 이루어진다.
도 4를 참조하면, 파티션 크기 비교부(401)는 현재 블록의 좌측에 인접한 파티션들 중 가장 위쪽에 위치한 제1 파티션의 크기와 현재 블록의 상부에 인접한 파티션들 가장 좌측에 위치한 제2 파티션의 크기를 비교한다. 비교 결과는 움직임 벡터 추정부(402)로 출력된다.
움직임 벡터 추정부(402)는 파티션 크기 비교부(401)로부터 수신된 비교 결과에 따라 더 큰 파티션의 움직임 벡터를 현재 블록(E)의 움직임 벡터로 추정한다.
도 5는 본 발명의 일 실시예에 따른 움직임 벡터를 추정하기 위한 장치(400)를 포함한 인코더(500)의 구성도이다.
도 5를 참조하면, 가산부(501)는 외부에서 입력된 현재 프레임의 영상 데이터와 움직임 보상부(509)로부터 수신된 움직임 보상된 영상 데이터의 차이를 계산해서 주파수 변환부(502)로 전달한다. 현재 매크로블록이 인터-모드 코딩에 의해 부호화되는 매크로블록인 경우 가산부(501)는 외부에서 입력된 영상 데이터와 움직임 보상된 영상 데이터의 차이를 주파수 변환부(502)로 출력한다. 이하에서 영상 데이터는 블록 단위의 데이터를 의미한다.
주파수 변환부(502)는 가산부(501)로부터 수신된 영상 데이터에 이산 여현 변환을 적용하여 공간 영역의 값들을 주파수 영역의 값들로 변환하고, 변환된 주파수 영역의 값들을 양자화부(503)로 출력한다.
양자화부(503)는 주파수 변환부(502)로부터 수신된 주파수 영역의 값들을 양 자화하고, 양자화된 주파수 영역의 값들을 엔트로피 부호화부(504)로 출력한다.
엔트로피 부호화부(504)는 양자화부(503)로부터 수신된 양자화된 주파수 영역의 값들 및 움직임 벡터 추정 장치(400)로부터 수신된 현재 블록의 모드 정보를 엔트로피 부호화하여 부호화된 비트 스트림을 생성한다.
역양자화부(505), 역주파수 변환부(506), 프레임 저장부(507), 움직임 추정부(508), 움직임 보상부(509), 움직임 벡터 추정 장치(400)는 움직임 보상을 수행하기 위한 집합이다.
역양자화부(505)는 양자화부(503)로부터 수신된 주파수 영역의 값들에 대해 역양자화를 수행하고, 역양자화된 주파수 영역의 값들을 역주파수 변환부(506)로 출력한다.
역주파수 변환부(506)는 역양자화부(505)로부터 수신된 역양자화된 주파수 영역의 값들을 공간 영역의 값들로 변환하여 가산부(506a)로 전달한다.
가산부(506a)는 움직임 보상부(509)로부터 수신된 영상 데이터에 역주파수 변환부(506)에서 출력된 영상 데이터를 가산하여 움직임 보상을 위해 참조되는 영상 데이터를 생성한다. 생성된 영상 데이터는 프레임 저장부(507)에 저장된다.
프레임 저장부(507)는 가산부(506a)로부터 수신된 참조 프레임의 영상 데이터를 저장한다.
움직임 추정부(508)는 외부에서 입력된 현재 프레임의 영상 데이터 및 프레임 저장부(507)에 저장된 영상 데이터간에 움직임 예측을 수행함으로써, 움직임 벡터들을 생성한다. 움직임 추정부(508)에서 생성된 움직임 벡터들은 움직임 보상 부(509)로 전송된다.
움직임 보상부(509)는 움직임 추정부(508)에서 계산된 움직임 벡터들을 사용해서 프레임 저장부(507)에 저장된 영상 데이터에 대해 움직임 보상을 수행하고, 움직임 보상된 영상 데이터를 생성한다. 움직임 보상된 영상 데이터는 가산부(501) 및 가산부(506a)로 전달된다.
움직임 벡터 추정 장치(400)는 도 4에 도시된 바와 같이 파티션 크기 비교부(401) 및 움직임 벡터 추정부(402)를 포함하여 이루어진다.
파티션 크기 비교부(401)는 현재 블록의 좌측에 인접한 파티션들 중 가장 위쪽에 위치한 제1 파티션의 크기와 현재 블록의 상부에 인접한 파티션들 가장 좌측에 위치한 제2 파티션의 크기를 비교한다. 비교 결과는 움직임 벡터 추정부(402)로 출력된다.
움직임 벡터 추정부(402)는 파티션 크기 비교부(401)로부터 수신된 비교 결과에 따라 더 큰 파티션의 움직임 벡터를 현재 블록(E)의 움직임 벡터로 추정한다.
한편, 움직임 벡터 추정 장치(400)는 현재 블록에 대한 모드 정보를 엔트로피 부호화부(504)로 전달한다. 현재 블록에 대한 모드가 스킵 매크로블록 모드인 경우에는 현재 블록의 움직임 정보는 전송될 필요가 없으며, 디코더에서는 인코더에서와 동일하게 현재 블록의 인접 파티션의 크기를 서로 비교하여 더 큰 파티션의 움직임 벡터를 현재 블록의 움직임 벡터로 사용할 수 있다.
도 6은 본 발명의 일 실시예에 따른 디코더(600)의 구성도로, 엔트로피 복호화부(601), 역양자화부(602), 역주파수 변환부(603), 프레임 저장부(604), 움직임 보상부(605), 가산부(606), 움직임 벡터 추정부(607)를 포함하여 이루어진다. 매크로블록 복원부는 역양자화부(602), 역주파수 변환부(603), 프레임 저장부(604), 움직임 보상부(605) 및 가산부(606)를 포함하여 이루어진다.
도 6을 참조하면, 엔트로피 복호화부(601)는 부호화된 비트 스트림을 엔트로피 복호화하고, 엔트로피 복호화된 비트 스트림을 역양자화부(603) 및 움직임 벡터 추정부(607)로 전달한다. 특히, 인터-모드 코딩의 경우 엔트로피 복호화부(601)는 현재 블록의 모드 정보 및 엔트로피 복호화된 영상 데이터를 추출하고, 추출된 영상 데이터는 역양자화부(602)로, 추출된 모드 정보는 움직임 벡터 추정부(607)로 출력한다.
역양자화부(602)는 엔트로피 복호화부(602)로부터 엔트로피 복호화된 영상 데이터를 역양자화하고, 역양자화된 영상 데이터를 역주파수 변환부(603)로 출력한다.
역주파수 변환부(603)는 역양자화부에서 수신된 역양자화된 영상 데이터를 공간 영역의 값들로 변환하고, 변환된 공간 영역의 값들을 가산부(606)로 출력한다.
가산부(606)는 역주파수 변환부(603)에서 수신된 역양자화된 영상 데이터에 움직임 보상부(605)에서 수신된 움직임 보상된 영상 데이터를 가산하여 복원된 영상 데이터를 생성한다.
프레임 저장부(604)는 가산부(606)에서 출력된 프레임의 영상 데이터를 저장한다.
움직임 벡터 추정부(607)는 엔트로피 복호화부(601)에 의해 추출된 모드 정보에 기초하여 현재 블록의 움직임 벡터를 추정한다. 추정된 움직임 벡터들은 움직임 보상부(605)로 출력된다. 즉, 모드 정보가 스킵 매크로블록 모드를 나타내는 경우 프레임 저장부(604)를 참조하여 현재 블록의 좌측 상부에 인접한 파티션 또는 현재 블록의 상부 좌측에 인접한 파티션의 크기를 비교하며, 비교 결과 현재 블록의 좌측 상부에 인접한 파티션 및 현재 블록의 상부 좌측에 인접한 파티션 중 더 큰 파티션의 움직임 벡터를 상기 현재 블록의 움직임 벡터로 추정한다.
움직임 보상부(605)는 프레임 저장부(604)에 저장된 참조 프레임의 영상 데이터에 움직임 벡터 추정부(607)로부터 수신된 움직임 벡터를 적용해서 움직임 보상을 수행한다. 움직임 보상된 영상 데이터는 가산부(606)로 출력된다.
도 7은 본 발명의 일 실시예에 따른 복호화 방법의 흐름도이다.
도 7을 참조하면, 단계 701에서는 부호화된 비트 스트림으로부터 잔차 블록 및 현재 블록에 대한 모드 정보를 엔트로피 복호화한다.
단계 702에서는 모드 정보에 기초하여 현재 블록의 움직임 벡터를 추정한다.
보다 구체적으로 살펴보면, 모드 정보에 기초하여 현재 블록의 좌측 상부에 인접한 파티션 또는 현재 블록의 상부 좌측에 인접한 파티션의 크기를 비교한다. 이후, 비교 결과에 따라 현재 블록의 좌측 상부에 인접한 파티션 및 현재 블록의 상부 좌측에 인접한 파티션 중 더 큰 파티션의 움직임 벡터를 상기 현재 블록의 움직임 벡터로 추정한다.
단계 703에서는 단계 702에서 추정된 움직임 벡터를 복호화된 잔차 블록에 적용하여 현재 블록을 복원한다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상 본 발명의 바람직한 실시예에 대해 상세히 기술하였지만, 본 발명이 속하는 기술분야에 있어서 통상의 지식을 가진 사람이라면, 첨부된 청구범위에 정의된 본 발명의 정신 및 범위를 벗어나지 않으면서 본 발명을 여러 가지로 변형 또는 변경하여 실시할 수 있음을 알 수 있을 것이다. 따라서 본 발명의 앞으로의 실시예들의 변경은 본 발명의 기술을 벗어날 수 없을 것이다.
상술한 바와 같이, 현재 블록에 인접한 특정 파티션(A 또는 B)의 움직임 벡터가 0인 경우 현재 블록의 움직임 벡터를 0으로 하는 H.264의 가정을 배제하여, 현재 블록의 움직임 벡터를 추정함으로써 디코더로 전송되는 정보량을 줄일 수 있다.

Claims (24)

  1. 현재 블록에 인접한 파티션들의 움직임 벡터들을 사용하여 상기 현재 블록의 움직임 벡터를 추정하는 방법에 있어서,
    (a) 상기 현재 블록의 좌측에 인접한 제1 파티션의 크기와 상기 현재 블록의 상부에 인접한 제2 파티션의 크기를 비교하는 단계; 및
    (b) 상기 비교 결과, 상기 제1 파티션의 크기 및 상기 제2 파티션의 크기가 다를 경우 크기가 더 큰 파티션의 움직임 벡터를 상기 현재 블록의 움직임 벡터로 추정하는 단계를 포함하는 것을 특징으로 하는 움직임 벡터 추정 방법.
  2. 제1항에 있어서,
    상기 제1 파티션은 상기 현재 블록의 좌측에 인접한 파티션들 중 가장 위쪽에 위치하며, 상기 제2 파티션은 상기 현재 블록의 상부에 인접한 파티션들 중 가장 좌측에 위치한 파티션인 것을 특징으로 하는 움직임 벡터 추정 방법.
  3. 제1항에 있어서, 상기 현재 블록은
    16× 16 픽셀들로 이루어지는 것을 특징으로 하는 움직임 벡터 추정 방법.
  4. 제1항에 있어서, 상기 제1 파티션 또는 상기 제2 파티션은
    서로 다른 크기를 가지며, 16× 16 픽셀들, 16× 8 픽셀들, 8× 16 픽셀들, 8× 4 픽셀들, 8× 4 픽셀들, 4× 4 픽셀들 중 어느 하나로 이루어지는 것을 특징으로 하는 움직임 벡터 추정 방법.
  5. 제1항에 있어서, 상기 움직임 벡터 추정 방법은
    상기 현재 블록에 대한 모드 정보를 전송하는 단계를 더 포함하는 것을 특징으로 하는 움직임 벡터 추정 방법.
  6. 제1항 내지 제5항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록된 컴퓨터로 독출 가능한 기록매체.
  7. 현재 블록에 인접한 파티션들의 움직임 벡터들을 사용하여 상기 현재 블록의 움직임 벡터를 추정하는 장치에 있어서,
    상기 현재 블록의 좌측에 인접한 제1 파티션의 크기와 상기 현재 블록의 상부에 인접한 제2 파티션의 크기를 비교하는 파티션 크기 비교부; 및
    상기 비교 결과 상기 제1 파티션 및 상기 제2 파티션 중 크기가 다를 경우 크기가 더 큰 파티션의 움직임 벡터를 상기 현재 블록의 움직임 벡터로 추정하는 움직임 벡터 추정부를 포함하는 것을 특징으로 하는 움직임 벡터 추정 장치.
  8. 제7항에 있어서,
    상기 제1 파티션은 상기 현재 블록의 좌측에 인접한 파티션들 중 가장 위쪽 에 위치하며, 상기 제2 파티션은 상기 현재 블록의 상부에 인접한 파티션들 중 가장 좌측에 위치한 파티션인 것을 특징으로 하는 움직임 벡터 추정 장치.
  9. 제7항에 있어서, 상기 현재 블록은
    16× 16 픽셀들로 이루어지는 것을 특징으로 하는 움직임 벡터 추정 장치.
  10. 제7항에 있어서, 상기 제1 파티션 또는 상기 제2 파티션은
    서로 다른 크기를 가지며, 16× 16 픽셀들, 16× 8 픽셀들, 8× 16 픽셀들, 8× 4 픽셀들, 8× 4 픽셀들, 4× 4 픽셀들 중 어느 하나로 이루어지는 것을 특징으로 하는 움직임 벡터 추정 장치.
  11. 제7항에 있어서, 상기 움직임 벡터 추정부는
    상기 현재 블록에 대한 모드 정보를 전송하는 것을 특징으로 하는 움직임 벡터 추정 장치.
  12. 비디오 인코더에 있어서,
    현재 블록의 좌측에 인접한 제1 파티션의 크기와 상기 현재 블록의 상부에 인접한 제2 파티션의 크기를 비교하고, 상기 비교 결과 상기 제1 파티션의 크기 및 상기 제2 파티션의 크기가 다를 경우 크기가 더 큰 파티션의 움직임 벡터를 상기 현재 블록의 움직임 벡터로 추정하는 움직임 벡터 추정 장치; 및
    상기 현재 블록에 대한 모드 정보를 엔트로피 부호화하는 엔트로피 부호화부를 포함하는 것을 특징으로 하는 인코더.
  13. 제12항에 있어서,
    상기 제1 파티션은 상기 현재 블록의 좌측에 인접한 파티션들 중 가장 위쪽에 위치하며, 상기 제2 파티션은 상기 현재 블록의 상부에 인접한 파티션들 중 가장 좌측에 위치한 파티션인 것을 특징으로 하는 인코더.
  14. 제12항에 있어서, 상기 현재 블록은
    16× 16 픽셀들로 이루어지는 것을 특징으로 하는 인코더.
  15. 제12항에 있어서, 상기 제1 파티션 또는 상기 제2 파티션은
    서로 다른 크기를 가지며, 16× 16 픽셀들, 16× 8 픽셀들, 8× 16 픽셀들, 8× 4 픽셀들, 8× 4 픽셀들, 4× 4 픽셀들 중 어느 하나로 이루어지는 것을 특징으로 하는 인코더.
  16. 비디오 디코더에 있어서,
    부호화된 비트 스트림으로부터 잔차 블록 및 현재 블록에 대한 모드 정보를 엔트로피 복호화하는 엔트로피 복호화부;
    상기 복호화된 모드 정보에 기초하여 상기 현재 블록의 좌측에 인접한 제1 파티션 및 상기 현재 블록의 상부에 인접한 제2 파티션의 크기를 비교하고, 상기 비교 결과 상기 제1 파티션 및 상기 제2 파티션 중 크기가 더 큰 파티션의 움직임 벡터를 상기 현재 블록의 움직임 벡터로 추정하는 움직임 벡터 추정부; 및
    상기 추정된 움직임 벡터를 이용하여 상기 복호화된 잔차 블록으로부터 현재 블록을 복원하는 매크로블록 복원부를 포함하는 것을 특징으로 하는 디코더.
  17. 제16항에 있어서,
    상기 제1 파티션은 상기 현재 블록의 좌측에 인접한 파티션들 중 가장 위쪽에 위치하며, 상기 제2 파티션은 상기 현재 블록의 상부에 인접한 파티션들 중 가장 좌측에 위치한 파티션인 것을 특징으로 하는 디코더.
  18. 제16항에 있어서, 상기 현재 블록은
    16× 16 픽셀들로 이루어지는 것을 특징으로 하는 디코더.
  19. 제16항에 있어서, 상기 제1 파티션 또는 상기 제2 파티션은
    서로 다른 크기를 가지며, 16× 16 픽셀들, 16× 8 픽셀들, 8× 16 픽셀들, 8× 4 픽셀들, 8× 4 픽셀들, 4× 4 픽셀들 중 어느 하나로 이루어지는 것을 특징으로 하는 디코더.
  20. 복호화 방법에 있어서,
    (a) 부호화된 비트 스트림으로부터 잔차 블록 및 현재 블록에 대한 모드 정보를 엔트로피 복호화하는 단계;
    (b) 상기 복호화된 모드 정보에 기초하여 상기 현재 블록의 좌측에 인접한 제1 파티션 및 상기 현재 블록의 상부에 인접한 제2 파티션의 크기를 비교하는 단계;
    (c) 상기 비교 결과 상기 제1 파티션 및 상기 제2 파티션 중 크기가 더 큰 파티션의 움직임 벡터를 상기 현재 블록의 움직임 벡터로 추정하는 단계; 및
    (d) 상기 추정된 움직임 벡터를 이용하여 상기 복호화된 잔차 블록으로부터 현재 블록을 복원하는 단계를 포함하는 것을 특징으로 하는 복호화 방법.
  21. 제20항에 있어서,
    상기 제1 파티션은 상기 현재 블록의 좌측에 인접한 파티션들 중 가장 위쪽에 위치하며, 상기 제2 파티션은 상기 현재 블록의 상부에 인접한 파티션들 중 가장 좌측에 위치한 파티션인 것을 특징으로 하는 복호화 방법.
  22. 제20항에 있어서, 상기 현재 블록은
    16× 16 픽셀들로 이루어지는 것을 특징으로 하는 복호화 방법.
  23. 제20항에 있어서, 상기 제1 파티션 또는 상기 제2 파티션은
    서로 다른 크기를 가지며, 16× 16 픽셀들, 16× 8 픽셀들, 8× 16 픽셀들, 8× 4 픽셀들, 8× 4 픽셀들, 4× 4 픽셀들 중 어느 하나로 이루어지는 것을 특징으로 하는 복호화 방법.
  24. 제20항 내지 제23항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록된 컴퓨터로 독출 가능한 기록매체.
KR1020070000711A 2007-01-03 2007-01-03 인접 파티션의 크기를 고려한 움직임 벡터 예측 방법,장치, 인코더, 디코더 및 복호화 방법 KR101364532B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020070000711A KR101364532B1 (ko) 2007-01-03 2007-01-03 인접 파티션의 크기를 고려한 움직임 벡터 예측 방법,장치, 인코더, 디코더 및 복호화 방법
US11/783,773 US8155196B2 (en) 2007-01-03 2007-04-12 Method of and apparatus for estimating motion vector based on sizes of neighboring partitions, encoder, decoding, and decoding method
PCT/KR2007/004627 WO2008082058A1 (en) 2007-01-03 2007-09-21 Method of and apparatus for estimating motion vector based on sizes of neighboring partitions, encoder, decoder, and decoding method
US13/412,555 US8699576B2 (en) 2007-01-03 2012-03-05 Method of and apparatus for estimating motion vector based on sizes of neighboring partitions, encoder, decoding, and decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070000711A KR101364532B1 (ko) 2007-01-03 2007-01-03 인접 파티션의 크기를 고려한 움직임 벡터 예측 방법,장치, 인코더, 디코더 및 복호화 방법

Publications (2)

Publication Number Publication Date
KR20080064011A true KR20080064011A (ko) 2008-07-08
KR101364532B1 KR101364532B1 (ko) 2014-02-18

Family

ID=39583955

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070000711A KR101364532B1 (ko) 2007-01-03 2007-01-03 인접 파티션의 크기를 고려한 움직임 벡터 예측 방법,장치, 인코더, 디코더 및 복호화 방법

Country Status (3)

Country Link
US (2) US8155196B2 (ko)
KR (1) KR101364532B1 (ko)
WO (1) WO2008082058A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101377527B1 (ko) * 2008-10-14 2014-03-25 에스케이 텔레콤주식회사 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
US8644389B2 (en) * 2009-05-15 2014-02-04 Texas Instruments Incorporated Real-time video image processing
CN104270636B (zh) 2009-05-29 2018-11-09 三菱电机株式会社 图像编码装置以及图像编码方法
US9635382B2 (en) * 2011-01-07 2017-04-25 Texas Instruments Incorporated Method, system and computer program product for determining a motion vector
US9699456B2 (en) 2011-07-20 2017-07-04 Qualcomm Incorporated Buffering prediction data in video coding
JP2013055587A (ja) * 2011-09-06 2013-03-21 Sony Corp 画像処理装置、画像処理方法、および画像処理システム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594504A (en) 1994-07-06 1997-01-14 Lucent Technologies Inc. Predictive video coding using a motion vector updating routine
KR19990005283A (ko) 1997-06-30 1999-01-25 배순훈 웨이브렛 변환 영역에서의 계층적 움직임 추정 방법
EP1061747A1 (en) 1999-05-25 2000-12-20 Deutsche Thomson-Brandt Gmbh Method and apparatus for block motion estimation
US7233622B2 (en) * 2003-08-12 2007-06-19 Lsi Corporation Reduced complexity efficient binarization method and/or circuit for motion vector residuals
CA2574556A1 (en) * 2004-07-20 2006-02-02 Qualcomm Incorporated Method and apparatus for motion vector processing
DE102004059993B4 (de) * 2004-10-15 2006-08-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen einer codierten Videosequenz unter Verwendung einer Zwischen-Schicht-Bewegungsdaten-Prädiktion sowie Computerprogramm und computerlesbares Medium

Also Published As

Publication number Publication date
US20120163468A1 (en) 2012-06-28
US8699576B2 (en) 2014-04-15
US8155196B2 (en) 2012-04-10
WO2008082058A1 (en) 2008-07-10
KR101364532B1 (ko) 2014-02-18
US20080159394A1 (en) 2008-07-03

Similar Documents

Publication Publication Date Title
KR101356735B1 (ko) 전역 움직임 벡터를 사용해서 움직임 벡터를 추정하기 위한방법, 장치, 인코더, 디코더 및 복호화 방법
US8873633B2 (en) Method and apparatus for video encoding and decoding
JP5373626B2 (ja) 複数の動きベクトル・プレディクタを使用して動きベクトルを推定する方法、装置、エンコーダ、デコーダ及びデコーディング方法
JP5061179B2 (ja) 照明変化補償動き予測符号化および復号化方法とその装置
KR100694137B1 (ko) 동영상 부호화 장치, 동영상 복호화 장치, 및 그 방법과,이를 구현하기 위한 프로그램이 기록된 기록 매체
JP2004336369A (ja) 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
KR20090095012A (ko) 연속적인 움직임 추정을 이용한 영상 부호화, 복호화 방법및 장치
KR20080050114A (ko) 조도 보상 방법 및 그 장치와 이를 이용한 동영상 부호화 방법 및 그 장치
KR20090095317A (ko) 영상 부호화 및 복호화 방법 및 장치
KR101364532B1 (ko) 인접 파티션의 크기를 고려한 움직임 벡터 예측 방법,장치, 인코더, 디코더 및 복호화 방법
KR20160087206A (ko) 영상 트랜스코더 및 트랜스코딩 방법
KR20160087209A (ko) 영상 트랜스코더 및 트랜스코딩 방법
Tonoli et al. Video coding with motion estimation at the decoder
KR20120008271A (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
LAPS Lapse due to unpaid annual fee