KR20040007140A - 움직임 벡터 부호화 방법, 복호화 방법 및 그 장치 - Google Patents

움직임 벡터 부호화 방법, 복호화 방법 및 그 장치 Download PDF

Info

Publication number
KR20040007140A
KR20040007140A KR1020020041798A KR20020041798A KR20040007140A KR 20040007140 A KR20040007140 A KR 20040007140A KR 1020020041798 A KR1020020041798 A KR 1020020041798A KR 20020041798 A KR20020041798 A KR 20020041798A KR 20040007140 A KR20040007140 A KR 20040007140A
Authority
KR
South Korea
Prior art keywords
motion vector
block
mvf
mvb
neighboring
Prior art date
Application number
KR1020020041798A
Other languages
English (en)
Other versions
KR100774296B1 (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 KR20020041798A priority Critical patent/KR100774296B1/ko
Priority to DE2003615565 priority patent/DE60315565T2/de
Priority to EP20030254444 priority patent/EP1389017B1/en
Priority to JP2003275687A priority patent/JP3863510B2/ja
Priority to US10/619,615 priority patent/US7257263B2/en
Priority to CNB031580114A priority patent/CN1229999C/zh
Publication of KR20040007140A publication Critical patent/KR20040007140A/ko
Priority to US11/773,217 priority patent/US7483579B2/en
Priority to US11/773,164 priority patent/US7486831B2/en
Priority to US11/773,297 priority patent/US7447370B2/en
Priority to US11/773,218 priority patent/US7447371B2/en
Application granted granted Critical
Publication of KR100774296B1 publication Critical patent/KR100774296B1/ko

Links

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
    • 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
    • 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
    • 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

Abstract

움직임 벡터 부호화 방법, 복호화 방법, 및 그 장치가 개시된다.
본 발명에 따라 움직임 벡터를 부호화하는 방법은 (a) 현재 블록에 이웃하는 복수개의 이웃 블록들 중 상기 현재 블록의 움직임 벡터와 상이한 타입의 움직임 벡터를 가진 이웃 블록에 대해 상기 현재 블록의 움직임 벡터와 동일한 타입의 움직임 벡터를 예측하여 예측 움직임 벡터를 구하는 단계; (b) 구해진 예측 움직임 벡터를 포함하여 상기 이웃 블록들의 움직임 벡터들 중 상기 현재 블록의 움직임 벡터와 동일한 타입의 움직임 벡터들에 대한 대표값을 산출하는 단계; (c) 산출된 대표값과 상기 현재 블록의 움직임 벡터와의 오차값을 산출하는 단계; 및 (d) 산출된 오차값을 부호화하는 단계를 포함하는 것을 특징으로 한다. 이에 의해, 서로 다른 타입의 움직임 벡터를 갖는 블록들로 구성된 픽처에 대해서도 보다 효율적으로 움직임 벡터를 부호화할 수 있다.

Description

움직임 벡터 부호화 방법, 복호화 방법 및 그 장치{Method and apparatus for encoding and decoding motion vectors}
본 발명은 움직임 벡터의 부호화 및 복호화에 관한 것으로, 보다 상세하게는 복수개의 픽처를 참조하여 산출된 움직임 벡터를 부호화하는 방법, 복호화하는 및 그 장치에 관한 것이다.
MPEG-1 또는 MPEG-2 부호화 표준에 따르면, 현재의 픽처를 부호화함에 있어 과거의 픽처를 참조하는 P-픽춰 부호화 방법과 과거와 미래의 픽처 두 개를 모두 참조하는 B-픽춰 부호화 방법을 채용하고 이를 기반으로 움직임 보상을 수행한다. 또한, 부호화 효율을 높이기 위해 현재 블록의 움직임 벡터를 그대로 부호화하는 것이 아니라 이웃한 블록들 간의 움직임 벡터들 간의 연관성이 반영되도록 이웃 블록들의 움직임 벡터들을 이용하여 예측 부호화를 수행하고 있다.
예측 부호화에 사용되는 이웃 블록들의 움직임 벡터는 현재 블록의 그것과 동일한 참조 픽처를 사용하지 않게 되는 경우가 발생할 수 있다. 이와 같은 경우가 발생하면 종래에는 참조 픽처가 같지 않은 이웃 블록의 움직임 벡터를 예측 부호화 과정에서 제외시키는 방식으로 대처해왔다. 다른 참조 픽처를 기반으로 얻어진 움직임 벡터가 예측 부호화에 참여하게 되면 부호화 효율이 떨어질 수 있기 때문이다. 하지만, 다른 참조 픽처를 갖는 이웃 블록의 움직임 벡터를 예측 부호화 과정에서 제외시키면 이웃하는 블록들의 움직임 벡터의 연관성을 반영하는 정도가 낮아지고 따라서 움직임 벡터의 부호화 효율이 그만큼 저하될 수 있다. 참조 픽처가 서로 다른 경우가 빈번한 블록들로 구성된 픽처의 경우에는 더욱 그러하다.
따라서 본 발명의 목적은 참조 픽처가 서로 상이한 움직임 벡터 간에 대해서도 보다 효율적인 예측 부호화를 수행할 수 있는 움직임 벡터 부호화 방법, 그 복호화 방법 및 그 장치를 제공하는 것이다.
본 발명의 다른 목적은 참조 픽처가 서로 상이한 움직임 벡터들 중 적어도 일부를 재조정하여 부호화 효율을 높이는 움직임 벡터 부호화 방법, 그 복호화 방법 및 그 장치를 제공하는 것이다.
도 1은 본 발명의 바람직한 실시예에 따른 움직임 벡터 부호화 장치의 블록도,
도 2는 본 발명의 바람직한 실시예에 따라, 도 1의 움직임 벡터 부호화 장치를 포함한 영상 데이터 부호화 장치의 블록도,
도 3은 입력 영상의 일 예,
도 4는 본 발명의 바람직한 실시예에 따른 움직임 벡터 복호화 장치의 블록도,
도 5는 본 발명의 바람직한 실시예에 따라, 도 10의 움직임 벡터 복호화 장치를 포함한 영상 데이터 복호화 장치의 블록도,
도 6은 본 발명의 바람직한 실시예에 따른 다중 참조(Multiple reference) 방식을 설명하기 위한 참고도,
도 7은 본 발명의 바람직한 실시예에 따른 움직임 보상의 단위가 되는 움직임보상 블록들을 보여주는 참고도,
도 8은 본 발명의 바람직한 실시예에 따라 예측 움직임 벡터를 구하는 경우를 설명하기 위한 참고도,
도 9는 예측 움직임 벡터를 구하는 방식의 일 예,
도 10은 예측 움직임 벡터를 구하는 방식의 다른 예,
도 11은 직사각형 움직임보상 블록에 대한 예측 벡터를 구하는 방식을 설명하기 위한 참고도이다.
상기 목적은, 본 발명에 따라, 움직임 벡터를 부호화하는 방법에 있어서, (a) 현재 블록에 이웃하는 복수개의 이웃 블록들 중 상기 현재 블록의 움직임 벡터와 상이한 타입의 움직임 벡터를 가진 이웃 블록에 대해 상기 현재 블록의 움직임 벡터와 동일한 타입의 움직임 벡터를 예측하여 예측 움직임 벡터를 구하는 단계; (b) 구해진 예측 움직임 벡터를 포함하여 상기 이웃 블록들의 움직임 벡터들 중 상기 현재 블록의 움직임 벡터와 동일한 타입의 움직임 벡터들에 대한 대표값을 산출하는 단계; (c) 산출된 대표값과 상기 현재 블록의 움직임 벡터와의 오차값을 산출하는 단계; 및 (d) 산출된 오차값을 부호화하는 단계를 포함하는 것을 특징으로 하는 방법에 의해서도 달성된다.
한편, 본 발명의 다른 분야에 따르면, 움직임 벡터를 부호화하는 장치에 있어서, 현재 블록에 이웃하는 복수개의 이웃 불록들 중 상기 현재 블록의 움직임 벡터와 상이한 타입의 움직임 벡터들을 가진 이웃 블록에 대해 상기 현재 블록의 움직임 벡터와 동일한 타입의 움직임 벡터를 예측하여 예측 움직임 벡터를 구한 다음, 구해진 예측 움직임 벡터를 포함하여 상기 이웃 블록들의 움직임 벡터들 중 상기 현재 블록의 움직임 벡터와 동일한 타입의 움직임 벡터들에 대한 대표값을 산출하고, 산출된 대표값과 상기 현재 블록의 움직임 벡터와의 오차값을 산출하는 움직임 벡터 예측기; 및 산출된 오차값을 부호화하는 움직임 벡터 부호화기를 포함하는 것을 특징으로 하는 장치에 의해서도 달성된다.
상기 현재 블록의 움직임 벡터가 포워드 움직임 벡터 MVf이고 상기 이웃 블록의 움직임 벡터는 백워드 움직임 벡터 MVb일 때, 상기 움직임 벡터 예측기는 상기 예측 움직임 벡터인 포워드 움직임 벡터 MVf(예측)를 다음 식에 의해 산출하는 것이 바람직하다.
MVf(예측) = {상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 거리/(상기 이웃 블록이 참조한 미래 픽처와 상기 과거 픽처의 거리 - 상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 거리)}*MVb
상기 현재 블록의 움직임 벡터가 백워드 움직임 벡터 MVb이고 상기 이웃 블록의 움직임 벡터는 포워드 움직임 벡터 MVf일 때, 상기 움직임 벡터 예측기는 상기 예측 움직임 벡터인 백워드 움직임 벡터 MVb(예측)를 다음 식에 의해 산출하는 것이 바람직하다.
MVb(예측) = {(상기 이웃 블록이 참조한 미래 픽처와 상기 과거 픽처의 거리 - 상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 거리)/상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 거리}*MVf
상기 움직임 벡터 예측기는 다음 식에 의해 산출된 대표값인 예측값 PMV_X을 구하는 것이 바람직하다.
PVM_X = median(MVf_A, MVf_B, MVf_C) 또는 median(MVb_A, MVb_B, MVb_C)
여기서, MVf_A, MVf_B, MVf_C, MVb_A, MVb_B, 및 MVb_C은 상기 이웃 블록들의 움직임 벡터의 성분들로서, MVf_A는 좌측 블록의 포워드 움직임 벡터를, MVf_B는 상측 블록의 포워드 움직임 벡터를, MVf_C는 우상측 블록의 포워드 움직임 벡터를, MVb_A는 좌측 블록의 백워드 움직임 벡터를. MVb_B는 상측 블록의 백워드 움직임 벡터를, MVb_C는 우상측 블록의 백워드 움직임 벡터를 의미한다. 상기 예측 움직임 벡터는 이들 중 어느 하나일 수 있다.
한편, 본 발명의 다른 분야에 따르면, 상기 목적은 움직임 벡터를 복호화하는 방법에 있어서, (a) 현재 블록에 이웃하는 복수개의 이웃 블록들 중 상기 현재 블록과 상이한 타입의 움직임 벡터를 가진 이웃 블록에 대해 상기 현재 블록의 움직임 벡터와 동일한 타입의 움직임 벡터를 예측하여 예측 움직임 벡터를 구하는 단계; (b) 구해진 예측 움직임 벡터를 포함하여 상기 이웃 블록들의 움직임 벡터들 중 상기 현재 블록과 동일한 타입의 움직임 벡터들에 대한 대표값을 산출하는 단계; 및 (c) 산출된 대표값과 복호화된 오차값을 더하여 상기 현재 블록의 움직임 벡터를 산출하는 단계를 포함하는 것을 특징으로 하는 방법에 의해서도 달성된다.
상기 현재 블록의 움직임 벡터가 포워드 움직임 벡터 MVf이고 상기 이웃 블록의 움직임 벡터는 백워드 움직임 벡터 MVb일 때, 상기 예측 움직임 벡터인 포워드 움직임 벡터 MVf(예측)는 다음 식에 의해 산출되는 것이 바람직하다.
MVf(예측) = {상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 시간차/(상기 이웃 블록이 참조한 미래 픽처와 상기 과거 픽처의 시간차 - 상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 시간차)}*MVb
상기 현재 블록의 움직임 벡터가 백워드 움직임 벡터 MVb이고 상기 이웃 블록의 움직임 벡터는 포워드 움직임 벡터 MVf일 때, 상기 예측 움직임 벡터인 백워드 움직임 벡터 MVb(예측)는 다음 식에 의해 산출되는 것이 바람직하다.
MVb(예측) = {(상기 이웃 블록이 참조한 미래 픽처와 상기 과거 픽처의 시간차 - 상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 시간차)/상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 시간차}*MVf
상기 현재 블록의 움직임 벡터가 포워드 움직임 벡터 MVf이고 상기 이웃 블록의 움직임 벡터는 백워드 움직임 벡터 MVb일 때, 상기 예측 움직임 벡터인 포워드 움직임 벡터 MVf(예측)는 다음 식에 의해 산출되는 것이 바람직하다.
MVf(예측) = {상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 거리/(상기 이웃 블록이 참조한 미래 픽처와 상기 과거 픽처의 거리 - 상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 거리)}*MVb
상기 현재 블록의 움직임 벡터가 백워드 움직임 벡터 MVb이고 상기 이웃 블록의 움직임 벡터는 포워드 움직임 벡터 MVf일 때, 상기 예측 움직임 벡터인 백워드 움직임 벡터 MVb(예측)는 다음 식에 의해 산출되는 것이 바람직하다.
MVb(예측) = {(상기 이웃 블록이 참조한 미래 픽처와 상기 과거 픽처의 거리 - 상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 거리)/상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 거리}*MVf
상기 (b)단계는 다음 식에 의해 산출된 대표값인, 복호화를 위한 예측값 PMV_X을 구하는 단계임이 바람직하다.
PVM_X = median(MVf_A, MVf_B, MVf_C) 또는 median(MVb_A, MVb_B, MVb_C)
여기서, MVf_A, MVf_B, MVf_C, MVb_A, MVb_B, 및 MVb_C은 상기 이웃 블록들의 움직임 벡터의 성분들로서, MVf_A는 좌측 블록의 포워드 움직임 벡터를, MVf_B는 상측 블록의 포워드 움직임 벡터를, MVf_C는 우상측 블록의 포워드 움직임 벡터를, MVb_A는 좌측 블록의 백워드 움직임 벡터를. MVb_B는 상측 블록의 백워드 움직임 벡터를, MVb_C는 우상측 블록의 백워드 움직임 벡터를 의미한다. 상기 예측 움직임 벡터는 이들 중 어느 하나일 수 있다.
한편, 본 발명의 다른 분야에 따르면, 상기 목적은 움직임 벡터를 복호화하는 장치에 있어서, 오차값을 복호화해내는 움직임 벡터 복호화기; 및 현재 블록에 이웃하는 복수개의 이웃 불록들 중 상기 현재 블록과 상이한 타입의 움직임 벡터들을 가진 이웃 블록에 대해 상기 현재 블록과 동일한 타입의 움직임 벡터를 예측하여 예측 움직임 벡터를 구한 다음, 구해진 예측 움직임 벡터를 포함하여 상기 이웃블록들의 움직임 벡터들 중 상기 현재 블록의 움직임 벡터와 동일한 타입의 움직임 벡터들에 대한 대표값을 산출하고, 산출된 대표값과 상기 오차값을 더하여 상기 현재 블록의 움직임 벡터를 산출하는 움직임 벡터 예측 보상기를 포함하는 것을 특징으로 하는 장치에 의해서도 달성된다.
상기 현재 블록의 움직임 벡터가 포워드 움직임 벡터 MVf이고 상기 이웃 블록의 움직임 벡터는 백워드 움직임 벡터 MVb일 때, 상기 움직임 벡터 예측 보상기는 상기 예측 움직임 벡터인 포워드 움직임 벡터 MVf(예측)를 다음 식에 의해 산출하는 것이 바람직하다.
MVf(예측) = {상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 시간차/(상기 이웃 블록이 참조한 미래 픽처와 상기 과거 픽처의 시간차 - 상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 시간차)}*MVb
상기 현재 블록의 움직임 벡터가 백워드 움직임 벡터 MVb이고 상기 이웃 블록의 움직임 벡터는 포워드 움직임 벡터 MVf일 때, 상기 움직임 벡터 예측 보상기는 상기 예측 움직임 벡터인 백워드 움직임 벡터 MVb(예측)를 다음 식에 의해 산출하는 것이 바람직하다.
MVb(예측) = {(상기 이웃 블록이 참조한 미래 픽처와 상기 과거 픽처의 시간차 - 상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 시간차)/상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 시간차}*MVf
상기 현재 블록의 움직임 벡터가 포워드 움직임 벡터 MVf이고 상기 이웃 블록의 움직임 벡터는 백워드 움직임 벡터 MVb일 때, 상기 움직임 벡터 예측 보상기는 상기 예측 움직임 벡터인 포워드 움직임 벡터 MVf(예측)를 다음 식에 의해 산출하는 것이 바람직하다.
MVf(예측) = {상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 거리/(상기 이웃 블록이 참조한 미래 픽처와 상기 과거 픽처의 거리 - 상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 거리)}*MVb
상기 현재 블록의 움직임 벡터가 백워드 움직임 벡터 MVb이고 상기 이웃 블록의 움직임 벡터는 포워드 움직임 벡터 MVf일 때, 상기 움직임 벡터 예측 보상기는 상기 예측 움직임 벡터인 백워드 움직임 벡터 MVb(예측)를 다음 식에 의해 산출하는 것이 바람직하다.
MVb(예측) = {(상기 이웃 블록이 참조한 미래 픽처와 상기 과거 픽처의 거리 - 상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 거리)/상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 거리}*MVf
한편, 상기 목적은 전술한 부호화 방법 또는 복호화 방법을 수행하기 위한 프로그램 코드가 기록된 컴퓨터 판독가능한 정보저장매체에 의해서도 달성된다.
이하 첨부한 도면을 참조하여 본 발명의 바람직한 실시예에 대해 상세히 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 움직임 벡터 부호화 장치의 블록도이다.
도 1을 참조하면, 부호화 장치(70)는 움직임 벡터를 부호화하는 장치로서, 움직임 벡터 예측기(701) 및 움직임 벡터 부호화기(702)를 구비한다. 복수개의 블록들에 대한 움직임 벡터들이 입력되면, 움직임 벡터 예측기(701)는 현재 블록에 이웃하는 복수개의 이웃 불록들 중 상기 현재 블록의 움직임 벡터와 상이한 타입의 움직임 벡터들만을 가진 이웃 블록에 대해 상기 현재 블록의 움직임 벡터와 동일한 타입의 움직임 벡터를 예측하여 예측 움직임 벡터를 구한 다음, 구해진 예측 움직임 벡터를 포함하여 상기 이웃 블록들의 움직임 벡터들 중 상기 현재 블록의 움직임 벡터와 동일한 타입의 움직임 벡터들에 대한 대표값을 산출하고, 산출된 대표값과 상기 현재 블록의 움직임 벡터와의 오차값을 산출한다. 움직임 벡터 부호화기(702)는 움직임 벡터 예측기(701)로부터 출력된 오차값을 부호화한다. 본 실시예에서 움직임 벡터 부호화기(702)는 오차값으로서 차분값을 부호화한다.
도 2는 본 발명의 바람직한 실시예에 따라, 도 1의 움직임 벡터 부호화 장치를 포함한 영상 데이터 부호화 장치의 블럭도이다.
도 2를 참조하면, 영상 데이터 부호화 장치는 다중 참조(Multiple reference) 방식을 채용한 부호화 장치로서, 부호화 제어부(100), 제1 소스 부호화부(200), 제2 소스 부호화부(700)를 구비한다. 또한, 소스 복호화부(300), 메모리부(400), 움직임 보상부(500), 및 움직임 예측부(600)를 구비한다.
입력되는 영상 데이터는 도 3에서와 같이 시간축을 따라 카메라로부터 입력되는 프레임들 또는 프레임을 소정 크기로 분할하여 얻어진 블록들로 구성된다. 프레임은 순차 주사 방식에 의해 얻어진 순차 주사 프레임, 비월 주사 방식에 의해 얻어진 필드 또는 비월 주사 프레임을 포함한다. 따라서, 이하 설명하는 영상 데이터는 순차 주사 프레임, 비월 주사 프레임, 필드, 블록 구조의 픽처를 의미한다.
영상 데이터가 입력되면 부호화 제어부(100)는 입력되는 영상의 특성 또는 사용자가 원하는 소정 동작 목적에 따라, 입력 영상에 대해 움직임 보상을 수행할지 여부에 따른 코딩-타입(인트라 코딩/인터 코딩)을 결정하여 대응하는 제어 신호를 제1 스위치(S1)로 출력한다. 움직임 보상을 수행할 경우에는 이전 또는 이후에 입력된 영상 데이터가 필요하므로 제1 스위치(S1)는 닫히게 되고 움직임 보상을 수행하지 않을 경우에는 이전 또는 이후에 입력된 영상 데이터가 필요하지 않으므로 제1 스위치(S1)는 열리게 된다. 제1 스위치(S1)가 닫히면 입력 영상과 이전 또는 이후 영상으로부터 얻어진 차 영상 데이터가 제1 소스 부호화부(200)로 입력되고 제1 스위치(S1)가 열리면 입력 영상만이 제1 소스 부호화부(200)로 입력된다.
제1 소스 부호화부(200)는 입력된 영상 데이터를 변환(transform) 부호화하여 얻어진 변환 계수값들을 소정 양자화 스텝에 따라 양자화하여 양자화된 변환 계수값들로 구성된 2차원 데이터인 N×M 데이터를 얻는다. 사용되는 변환의 예로는 DCT(Discrete Cosine Transform)을 들 수 있다. 양자화는 미리 결정된 양자화 스텝에 따라 수행된다.
한편, 제1 소스 부호화부(200)로 입력되어 부호화된 영상 데이터는 이후 또는 이전에 입력된 영상 데이터의 움직임 보상을 위한 참조 데이터로 사용될 수 있으므로 소스 복호화부(300)에 의해 제1 소스 부호화부(200)의 역과정인 역양자화와 역변환 부호화를 거친 후 메모리(400)에 저장된다. 또한, 소스 복호화부(200)로부터 출력된 데이터가 차 영상 데이터이면 부호화 제어부(100)는 제2 스위치(S2)를 닫아서 소스 복호화부(300)로부터 출력된 차 영상 데이터가 움직임 보상부(500)의출력과 더해진 다음 메모리(400)에 저장되도록 한다.
움직임 예측(motion estimation)부(600)는 입력된 영상 데이터와 메모리(400)에 저장된 데이터를 비교하여, 현재 입력된 데이터와 가장 유사한 데이터를 찾은 다음, 입력된 영상 데이터와 비교하여 움직임 벡터 MV(Motion Vector)를 출력한다. 움직임 벡터는 적어도 하나의 픽처를 참조하여 구해진다. 즉, 복수개의 과거 및/또는 미래의 픽처를 참조하여 산출될 수 있다. 움직임 벡터가 메모리(400)로 전달되면 메모리(400)는 해당 데이터를 움직임 보상부(motion compensation)(500)로 출력하며, 움직임 보상부(500)는 입력받은 데이터를 기초로 현재 부호화하는 영상 데이터에 해당하는 보상치를 만들어 출력한다.
제2 소스 부호화부(700)는 제1 소스 부호화부(200)로부터 출력되는 양자화된 변환 부호화계수들과 움직임 예측부(600)로부터 출력된 움직임 벡터에 관한 정보를 입력받으며, 부호화 제어부(100)에서 제공되는 코딩 타입 정보, 양자화 스텝 정보, 등 기타 복호화에 필요한 정보들을 입력받아 부호화하여 최종적으로 얻어진 비트스트림을 출력한다.
본 발명에 따른 움직임 벡터의 부호화 장치(70)는 제2 소스 부호화부(700)에 구비된다. 따라서, 본 발명에 따른 움직임 벡터 부호화 방법은 제2 소스 부호화부(700)에 의해 수행된다. 제2 소스 부호화부(700)는 MPEG-4 부호화 표준, H.263 부호화 표준에서와 마찬가지로, 움직임 벡터들 간의 연관성을 반영하여 부호화 효율을 높이기 위해 현재 블록의 움직임 벡터를 그대로 부호화하는 것이 아니라 이웃 블록들의 움직임 벡터들을 이용하여 예측 부호화를 수행한다.
도 4는 본 발명의 바람직한 실시예에 따른 움직임벡터 복호화 장치의 블록도이다.
도 4를 참조하면, 복호화 장치는 본 발명에 따라 움직임벡터를 복호화하는 장치로서, 움직임벡터 복호화기(131) 및 움직임벡터 예측 보상기(132)를 구비한다. 움직임벡터 복호화기(131)는 입력된 부호화된 움직임벡터 오차값을 복호화하여 오차값을 복원한다. 이렇게 복원된 오차값으로부터 원래의 움직임벡터를 얻기 위해서는 오차값 계산에 사용된 예측치를 구한 후 이를 오차값에 더해주어야 최종적으로 원래의 움직임벡터를 알아낼 수 있다. 이를 위해 움직임 벡터 예측 보상기(132)는 복수개의 블록들에 대한 움직임 벡터들을 입력받아 현재 블록에 이웃하는 복수개의 이웃 블록들 중 상기 현재 블록의 움직임 벡터와 상이한 타입의 움직임 벡터들만을 가진 이웃 블록에 대해 상기 현재 블록의 움직임 벡터와 동일한 타입의 움직임 벡터를 예측하여 예측 움직임 벡터를 구한 다음, 구해진 예측 움직임 벡터를 포함하여 상기 이웃 블록들의 움직임 벡터들 중 상기 현재 블록의 움직임 벡터와 동일한 타입의 움직임 벡터들에 대한 대표값을 산출하고, 산출된 대표값을 상기 움직임 벡터 복호화기(131)에 의해 복원된 오차값에 더하여 현재 블록의 움직임 벡터를 산출한다.
본 발명에 따른 움직임 벡터 복호화 방법은 본 발명에 따른 움직임 벡터 복호화 장치(130)에 의해 수행된다. 움직임 벡터 복호화 장치(130)는 MPEG-4 부호화 표준, H.263 부호화 표준에서와 마찬가지로, 움직임 벡터들 간의 연관성을 반영하여 복호화 효율을 높이기 위해 현재 블록의 움직임 벡터를 그대로 복호화하는 것이아니라 이웃 블록들의 움직임 벡터들을 이용하여 예측 복호화를 수행한다.
도 5는 도 4의 움직임 벡터 복호화 장치(130)가 구비된 영상 데이터 복호화 장치의 블록도이다.
도 5를 참조하면, 복호화 장치는 비트스트림을 디먹싱하는 디먹싱부(110), 제2 소스 복호화부(710), 제1 소스 복호화부(210)을 구비한다. 또한, 코딩 타입 정보를 복호화하는 코딩 타입 정보 복호화부(120) 및 본 발명에 따른 움직임벡터 복호화를 수행하는 움직임 벡터 복호화부(130)를 구비한다.
비트스트림은 디먹싱부(110)에 의해 엔트로피 부호화된 양자화된 변환 부호화계수들, 움직임 벡터 정보, 코딩 타입 정보 등으로 디먹싱된다. 제2 소스 복호화부(710)는 부호화된 변환 부호화계수들을 엔트로피 복호화하여 양자화된 변환 부호화계수들을 출력한다. 제1 소스 복호화부(210)는 양자화된 변환 부호화계수들을 소스 복호화한다. 즉, 도 1의 제1 소스 부호화부(200)의 역과정을 수행한다. 예를 들어, 제1 소스 부호화부(200)가 DCT를 수행하였다면 제1 소스 복호화부(210)는 IDCT(Inverse Discrete Cosine Transform)를 수행한다. 이에, 영상 데이터가 복원된다. 복원된 영상 데이터는 움직임 보상을 위해 메모리부(410)에 저장된다.
한편, 코딩 타입 정보 복호화부(120)는 코딩 타입을 알아내어 움직임 보상이 필요한 인터 타입일 경우 제3 스위치(S30)를 닫아 제1 소스 복호화부(210)로부터 출력된 데이터에 움직임 보상부(510)로부터 출력된 움직임 보상값을 더해지도록 하여 복원된 영상 데이터가 얻어지도록 해준다. 움직임 벡터 복호화부(130)는 움직임 벡터 정보로부터 얻은 움직임 벡터가 가리키는 위치를 알려주고, 움직임보상부(510)는 움직임 벡터가 가리키는 참조 영상 데이터로부터 움직임 보상값을 생성하여 출력한다. 움직임 벡터 복호화부(130)의 상세한 동작은 도 10을 참조하여 설명한 것과 동일하므로 반복되는 설명은 생략한다.
도 6은 본 발명의 바람직한 실시예에 따른 다중 참조(Multiple reference) 방식을 설명하기 위한 참고도이다.
도 6을 참조하면, I 픽처는 다른 픽처를 참조하지 않고 얻어지는 인트라(intra) 픽처를 가리키고, B 픽처는 두 개의 서로 다른 픽처를 참조하여 얻어지는 양방향(bi-predictive) 픽처를 가리킨다. P 픽처는 I 픽처만을 참조하여 얻어지는 예측(predictive) 픽처를 가리킨다. 화살표는 복호화시 필요한 픽처들, 즉 종속관계를 보여준다. B2 픽처는 I0 픽처와 P4 픽처에 종속되고, B1 픽처는 I0 픽처, P4 픽처, B2 픽처에 종속된다. B3 픽처는 I0 픽처, P4 픽처, B1 픽처, 및 B2 픽처에 종속된다. 따라서, 디스플레이 순서는 I0, B1, B2, B3, P4.. 순서이지만 전송 순서는 I0, P4, B2, B1, B3...가 된다. 이처럼, 도 1의 부호화 장치에 따르면 복수개의 픽처를 참조하여 생성되는 B 픽처가 존재한다. 다시 말해, 본 발명의 부호화 방법 및 복호화 방법에서의 움직임 벡터는 포워드 예측 방식, 백워드 예측 방식, 양방향(bi-directional) 예측 방식, 및 다이렉트(direct) 예측 방식 중 양방향 예측 방식을 포함한 적어도 하나의 방식으로 산출된다. 양방향 예측 방식에 있어서 두 개의 참조 픽처는 모두 과거 픽처 또는 모두 미래 픽처일수 있다.
도 7은 본 발명의 바람직한 실시예에 따른 움직임 보상의 단위가 되는 움직임보상 블록들을 보여주는 참고도이다.
도 7을 참조하면, 픽처는 복수개의 움직임보상 블록들로 구성된다. 움직임보상 블록은 본 실시예에 따른 16×16 매크로 블록(MB)은 물론, 매크로 블록을 수평 방향으로 이분할하여 얻어진 16×8 블록, 매크로 블록을 수직 방향으로 이분할하여 얻어진 8×16 블록, 매크로 블록을 수평 및 수직 방향으로 각각 이분할하여 얻어진 8×8 블록, 이를 다시 수평 또는 수직 방향으로 이분할하여 얻어진 8×4 블록 또는 4×8 블록, 수평 및 수직 방향으로 각각 이분할하여 얻어진 4×4 블록을 포함한다.
본 발명에 따른 움직임 벡터 부호화 방법은 현재 블록의 움직임 벡터 MV_X의, 이웃 블록들의 대표값, 본 실시예에서는 중간값(median)에 대한 오차값을 부호화하는 차분 부호화 방식(Differential Pulse Coded Modulation)에 따른다. 즉, 현재 블록 X에 대한 이웃 블록들인 좌측 블록 A, 상측 블록 B, 우상측 블록 C의 움직임 벡터를 각각 MV_A, MV_B, MV_C라고 하면 차분 벡터 부호화를 위한 예측값인 예측 벡터 PVM_X와 이를 이용한 차분값인 차분 벡터 MVD_X는 다음 수학식 1에 의해 계산된다. 계산은 벡터의 성분값(x 성분 및 y 성분)에 대해 각각 독립적으로 수행된다. 한편, 좌측 블록 A는 현재 블록 X에 속하는 첫 번째 행의 맨좌측 픽셀의 좌측으로 인접한 픽셀이 속하는 블록을 가리키고, 상측 블록 C는 현재 블록 X에 속하는 첫 번째 행의 맨좌측 픽셀의 상측으로 인접한 픽셀이 속하는 블록을 가리키며, 우상측 블록 C는 현재 블록 X에 속하는 첫 번째 행의 맨우측 픽셀의 상측으로 인접한 픽셀의 우측으로 인접한 픽셀이 속하는 블록을 가리킨다.
PMV_X = median(MV_A, MV_B, MV_C)
MVD_X = MV_X - PMV_X
본 발명에 따른 움직임 벡터 복호화 방법은 현재 블록의 이웃 블록들의 대표값, 본 실시예에서는 중간값(median)과, 복호화하여 얻은 오차값 MVD_X을 더하여 현재 블록의 움직임 벡터 MV_X를 구하는 복호화 방식에 따른다. 즉, 현재 블록 X에 대한 이웃 블록들인 좌측 블록 A, 상측 블록 B, 우상측 블록 C의 움직임 벡터를 각각 MV_A, MV_B, MV_C라고 하면 복호화를 위한 예측값인 예측 벡터 PVM_X와, 여기에 복호화된 오차값 MVD_X을 더해서 얻어지는 움직임 벡터 MV_X는 다음 수학식 2에 의해 계산된다. 계산은 벡터의 성분값(x 성분 및 y 성분)에 대해 각각 독립적으로 수행된다.
PMV_X = median(MV_A, MV_B, MV_C)
MV_X = MVD_X + PMV_X
전술한 부호화 방법 및 복호화 방법에 따라 예측 움직임 벡터를 구함에 있어 예외 경우를 처리하는 로직은 다음과 같다.
첫째, 이웃 블록들 A, B, C, D 중 특정 블록이 픽처(또는 슬라이스)의 밖에 위치하는 경우는 다음과 같이 처리한다. 슬라이스는 시작 코드를 갖는 일련의 데이터 열의 최소 단위로 임의의 길이를 가지며 매크로 블록으로 구성된다. 슬라이스는 여러 픽처에 걸쳐 존재하지 않고 하나의 픽처 내부에 존재한다.
① 블록 A와 D가 모두 픽처(또는 슬라이스)의 밖에 위치하는 경우에는MV_A=MV_D=0으로 하고 블록 A와 D는 현재 블록 X와 다른 참조 픽처를 갖는 것으로 간주한다.
② 블록 B, C, D 모두 픽처(또는 슬라이스)의 밖에 위치하는 경우에는 MV_B= MV_C=MV_A로 하고 중간값을 취할 경우에 반드시 MV_A이 현재 블록 X의 예측 벡터 PMV_X가 되도록 한다.
③ 블록 C가 픽처(또는 슬라이스)의 밖에 위치하는 경우에는 블록 D로 대체한다. 블록 D는 현재 블록 X의 좌상측 블록으로서 현재 블록 X에 속하는 첫 번째 행의 맨좌측 픽셀의 상측으로 인접한 픽셀이 속하는 블록을 가리킨다.
둘째, 이웃 블록들이 인트라 부호화된 경우, 즉 이웃 블록 A, B, C, D 가운데 인트라로 부호화된 블록이 있으면 그 블록의 움직임 벡터를 0으로 하고 다른 참조 픽처를 갖는 것으로 간주한다.
셋째, 이웃 블록이 현재 블록과 다른 참조 픽처를 갖는 경우에는 본 발명에서 제안하는 방식에 따라 「예측 움직임 벡터」를 구한 다음 구해진 「예측 움직임 벡터」를 중간값을 구하는데 사용한다. 다시 말해, 예측 부호화에 참여하는 현재 블록과 이웃 블록이 서로 다른 타입의 움직임 벡터를 갖고 있으면, 본 발명에서 제안하는 방식에 따라 동일한 타입의 예측 움직임 벡터를 구한 다음 이를 수학식 1 및 수학식 2의 예측 벡터를 구하는 식에 대입하여 중간값을 구한다.
도 8은 본 발명의 바람직한 실시예에 따라 예측 움직임 벡터를 구하는 경우를 설명하기 위한 참고도이다.
도 8을 참조하면, 현재 블록 X는 포워드 움직임 벡터 MVf_X를 가지고 있고,이웃 블록 A, D는 현재 블록 X와 동일한 타입의 포워드 움직임 벡터 MVf_A 및 MVf_D를 가지고 있다. 그러나, 이웃 블록 B는 현재 블록 X와 상이한 타입의 백워드 움직임 벡터 MVb_B를 가지며, 이웃 블록 C는 포워드 움직임 벡터 MVf_C 및 백워드 움직임 벡터 MVb_C을 모두 가지고 있다.
전술한 수학식 1 및 수학식 2에 따른 중간값은 동일한 타입의 움직임 벡터들에 대해서 구해야 한다. 그 이유는 현재 블록과 다른 움직임 벡터가 부호화 및 복호화에 참여하게 되면 부호화 및 복호화 효율이 떨어질 수 있기 때문이다. 그런데, 이웃 블록 B는 동일한 타입의 움직임 벡터를 가지고 있지 않으므로 먼저 이웃 블록 B의 예측 움직임 벡터를 구해야 한다. 다시 말해, 현재 블록 X와 동일한 타입의 포워드 움직임 벡터를 예측해야 한다.
도 9는 예측 움직임 벡터를 구하는 방식의 일 예를 보여준다.
도 9를 참조하면, 이웃 블록에 대한 예측 움직임 벡터로서 포워드 움직임 벡터 MVf(예측) 또는 백워드 움직임 벡터 MVb(예측)은 다음 식에 의해 예측될 수 있다.
MVb(예측) = {(Distance_B - Distance_A)/Distance_B}*MVf
MVf(예측) = {Distance_B/(Distance_B - Distance_A)}*MVb
여기서, Distance_A는 대응 이웃 블록이 속하는 현재 픽처가 참조한 참조 픽처 1 및 참조 픽처 2와의 픽처 거리(picture_distance)이고, Distance_B는 대응 이웃 블록이 속하는 현재 픽처와 참조 픽처 1과의 픽처 거리(picture_distance)이다.본 예에서 참조 픽처 1은 현재 픽처에 대한 과거 픽처이고 참조 픽처 2는 미래 픽처이다.
도 10은 예측 움직임 벡터를 구하는 방식의 다른 예를 보여준다.
도 10을 참조하면, 이웃 블록에 대한 예측 움직임 벡터로서 포워드 움직임 벡터 MVf(예측) 또는 백워드 움직임 벡터 MVb(예측)은 다음 식에 의해 예측될 수 있다.
MVb(예측) = {(TR_B - TR_A)/TR_B}*MVf
MVf(예측) = {TR_B/(TR_B - TR_A)}*MVb
여기서, TR_A는 대응 이웃 블록이 속하는 현재 픽처가 참조한 과거 픽처 및 미래 픽처와의 시간차이고, TR_B는 대응 이웃 블록이 속하는 현재 픽처와 과거 픽처와의 시간차이다. 시간차는 픽처 간의 디스플레이의 상대적인 시간 순서를 알기위한 카운터값 TR(Temporal Reference)으로부터 구해낼 수 있다.
한편, 본 발명에 따른 움직임 벡터 부호화 방법은 B(Bi-predictive) 픽처에 대해 그 특징을 가지므로 B 픽처에 대해 보다 상세히 설명하면 다음과 같다.
B 픽처는 반드시 시간적으로 과거 픽처와 미래 픽처를 가지고 움직임 보상을 수행해야 한다는 제약을 갖지 않는다. 이에 따라 B 픽처에 속하는 현재 블록의 움직임 벡터는 시간이나 방향에 독립적이다. 다시 말해, B 픽처는 복수개의 픽처들을 참조하여 얻어진 것이므로, 현재 블록과 이웃 블록이 서로 다른 타입의 움직임 벡터를 가질 가능성이 높다. 그럼에도 불구하고, B 픽처에 속하는 현재 블록의 움직임 벡터는 본 발명에 따른 움직임 벡터 부호화 방법 및 복호화 방법에 의해, 이웃 블록들의 움직임 벡터들의 타입에 관계없이 부호화 및 복호화가 가능하다.
B 픽처는 4 종류의 움직임 보상 모드를 가지므로 4 종류의 움직임 벡터가 존재한다. 포워드 움직임 벡터 Forward MV(MVf), 백워드 움직임 벡터 Backward MV(MVb), 양방향 움직임 벡터 Bi-predictive MV(MVf, MVb), 다이렉트 움직임 벡터 Direct MV가 그것이다. 다이렉트 움직임 벡터인 경우에는 움직임 벡터 정보를 수신단에 전송하지 않으므로 부호화 및 복호화할 필요가 없지만, 나머지 움직임 벡터들은 P 픽처와 마찬가지로, 이웃 블록의 움직임 벡터들로부터 얻어진 예측 벡터 PMV를 사용하여 부호화하거나 복호화한다.
전술한 바와 같이, B 픽처에 속하는 현재 블록의 움직임 벡터는 시간이나 방향에 독립적이므로 포워드, 백워드가 반드시 특정 시간이나 방향으로 구분됨을 의미하지는 않는다. 양방향 또한 반드시 특정 시간이나 방향을 구분하여 특정 시점을 기준으로 과거와 미래를 포함해야하거나 특정 지점을 기준으로 양방향이 반드시 포함되어야 하는 것은 아니다.
예측 벡터 PMV를 구함에 있어 MVf와 MVb는 각각 이웃 블록과 동일한 타입의 움직임 벡터들을 이용한다. 즉, MVf는 예측 벡터를 구함에 있어 이웃의 MVf들만을 이용하고 MVb는 주변의 MVb들만을 이용한다. 단, 양방향 움직임 벡터는 두가지 모두를 가지고 있으므로 각각 필요한 움직임 벡터를 사용한다. 따라서, B 픽처의 움직임 벡터를 부호화하거나 복호화함에 있어 예측 벡터 PMV를 설정할 때, 이웃의 움직임 벡터의 타입이 상이한 경우 동일한 타입의 움직임 벡터는 도 9 및 10을 참조하여 설명한 방법으로 예측할 수 있다.
도 7를 다시 참조하여, MVf_X = (1,2),MVf_A = (4,4), MVb_B = (-1,-1), MVf_C = (0,3), MVb_C = (-1,-2)라고 할 때, 종래 기술에 따르면 MVb_B = (-1,-1)는 현재 블록의 움직임 벡터와 타입이 상이하므로 중간값을 구하는데 있어 배제되고 대신 (0,0)이 대입된다. 따라서, 중간값은 (0, 3)이 되고 차분값 DMV_X는 (1, -1)이 된다. 그러나, 본 발명에 따르면, MVb_B = (-1,-1) 대신 예측된 (1, 1)이 중간값을 구하는데 사용된다. 따라서 중간값은 (1,1)이 되고 차분값 DMV_X는 (0,1)이 된다.
한편, 움직임보상 블록은 전술한 바와 같이 직사각형 형태를 가질 수 있다. 직사각형의 움직임 보상 블록의 경우에는 움직임 벡터의 예측 방향을 알 수가 있기 때문에 상기 서술한 주변 세 블록의 움직임 벡터들의 중간값을 예측 벡터로 사용하는 대신 다른 방식으로 예측한 예측 벡터를 사용한다.
도 11은 직사각형 움직임보상 블록에 대한 예측 벡터를 구하는 방식을 설명하기 위한 참고도이다.
도 11을 참조하면, 움직임보상 블록이 8×16인 경우 블록 ①의 예측 벡터로는 이웃 블록 중 좌측 블록의 움직임 벡터가 사용되고 블록 ②의 예측 벡터로는 이웃 블록 중 우상측 블록의 움직임 벡터가 사용된다.
움직임보상 블록이 16×8인 경우 블록 ③의 예측 벡터로는 이웃 블록 중 상측 블록의 움직임 벡터가 사용되고 블록 ④의 예측 벡터로는 이웃 블록 중 좌측 블록의 움직임 벡터가 사용된다.
움직임보상 블록이 8×4인 경우 블록 ⑤의 예측 벡터는 각각 이전 블록의 중간값이 그대로 사용되어 구해지고 블록 ⑥의 예측 벡터로는 각각 이웃 블록 중 좌측 블록의 움직임 벡터가 사용된다.
움직임보상 블록이 4×8인 경우 블록 ⑦의 예측 벡터는 각각 이전 블록의 중간값이 그대로 사용되어 구해지고 블록 ⑧의 예측 벡터로는 각각 이웃 블록 중 상측 블록의 움직임 벡터가 사용된다.
다만, 예측 벡터로 설정된 움직임 벡터의 참조 픽처가 현재 블록의 참조 픽처와 다른 경우에는 기존 중간값을 사용한다. 다른 예외의 경우들은 상기 서술한 중간값 예측에서와 동일하게 처리한다.
전술한 움직임 벡터 부호화 방법 및 복호화 방법은 컴퓨터 프로그램으로 작성 가능하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable medium)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 움직임 벡터 부호화 방법 및 복호화 방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체, 및 캐리어 웨이브 매체를 포함한다.
전술한 바와 같이, 본 발명에 따르면 움직임 벡터를 부호화하고 복호화함에 있어, 현재 블록의 움직임 벡터와 타입이 다른 움직임 벡터를 갖는 이웃 블록에 대해 동일한 타입의 움직임 벡터를 예측하여 이를 토대로 중간값을 구하고 구해진 중간값에 기초하여 얻어진 차분값을 부호화하며, 복호화된 차분값에 현재 블록과 다른 타입의 움직임 벡터를 갖는 이웃 블록에 대해 동일한 타입의 움직임 벡터를 예측하여 이를 토대로 구해진 중간값을 더하여 현재 블록의 움직임 벡터를 구하므로, 부호화 효율 및 복호화 효율이 증대된다.
즉, 현재 블록의 움직임 벡터를 부호화하거나 복호화함에 있어 이웃 블록의 그것들의 대표값(중간값)을 토대로한다는 것은 이웃하는 블록들의 움직임은 유사하다는 전제를 기초로 한다. 이에 본 발명의 움직임 벡터 부호화 방법 및 복호화 방법에 따르면, 종래 타입이 다른 움직임 벡터의 경우 대표값(중간값) 산출에서 배제됨으로써 이웃 블록들의 움직임이 제대로 반영되지 못하는 문제점을 개선하여, 이웃 블록이 다른 움직임 벡터를 갖는 경우라도 동일한 타입의 예측 움직임 벡터를 구하여 이를 대표값(중간값)을 구하는데 반영시킴으로써 부호화 및 복호화 효율이 보다 향상된다.

Claims (29)

  1. 움직임 벡터를 부호화하는 방법에 있어서,
    (a) 현재 블록에 이웃하는 복수개의 이웃 블록들 중 상기 현재 블록의 움직임 벡터와 상이한 타입의 움직임 벡터를 가진 이웃 블록에 대해 상기 현재 블록의 움직임 벡터와 동일한 타입의 움직임 벡터를 예측하여 예측 움직임 벡터를 구하는 단계;
    (b) 구해진 예측 움직임 벡터를 포함하여 상기 이웃 블록들의 움직임 벡터들중 상기 현재 블록의 움직임 벡터와 동일한 타입의 움직임 벡터들에 대한 대표값을 산출하는 단계;
    (c) 산출된 대표값과 상기 현재 블록의 움직임 벡터와의 오차값을 산출하는 단계; 및
    (d) 산출된 오차값을 부호화하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 이웃하는 복수개의 블록들은 상기 현재 블록의 좌측 블록, 상측 블록, 및 우상측 블록임을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 좌측 블록은 상기 현재 블록에 속하는 첫 번째 행의 맨좌측 픽셀의 좌측으로 인접한 픽셀이 속하는 블록을 가리키고, 상기 상측 블록은 상기 맨좌측 픽셀의 상측으로 인접한 픽셀이 속하는 블록을 가리키며, 상기 우상측 블록은 상기 현재 블록에 속하는 첫 번째 행의 맨우측 픽셀의 상측으로 인접한 픽셀의 우측으로 인접한 픽셀이 속하는 블록을 가리키는 것을 특징으로 하는 방법.
  4. 움직임 벡터를 부호화하는 장치에 있어서,
    현재 블록에 이웃하는 복수개의 이웃 불록들 중 상기 현재 블록의 움직임 벡터와 상이한 타입의 움직임 벡터들을 가진 이웃 블록에 대해 상기 현재 블록의 움직임 벡터와 동일한 타입의 움직임 벡터를 예측하여 예측 움직임 벡터를 구한 다음, 구해진 예측 움직임 벡터를 포함하여 상기 이웃 블록들의 움직임 벡터들 중 상기 현재 블록의 움직임 벡터와 동일한 타입의 움직임 벡터들에 대한 대표값을 산출하고, 산출된 대표값과 상기 현재 블록의 움직임 벡터와의 오차값을 산출하는 움직임 벡터 예측기; 및
    산출된 오차값을 부호화하는 움직임 벡터 부호화기를 포함하는 것을 특징으로 하는 장치.
  5. 제4항에 있어서,
    상기 현재 블록의 움직임 벡터가 포워드 움직임 벡터 MVf이고 상기 이웃 블록의 움직임 벡터는 백워드 움직임 벡터 MVb일 때,
    상기 움직임 벡터 예측기는 상기 예측 움직임 벡터인 포워드 움직임 벡터 MVf(예측)를 다음 식에 의해 산출하는 것을 특징으로 하는 장치.
    MVf(예측) = {상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 거리/(상기 이웃 블록이 참조한 미래 픽처와 상기 과거 픽처의 거리 - 상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 거리)}*MVb
  6. 제4항에 있어서,
    상기 현재 블록의 움직임 벡터가 백워드 움직임 벡터 MVb이고 상기 이웃 블록의 움직임 벡터는 포워드 움직임 벡터 MVf일 때,
    상기 움직임 벡터 예측기는 상기 예측 움직임 벡터인 백워드 움직임 벡터 MVb(예측)를 다음 식에 의해 산출하는 것을 특징으로 하는 장치.
    MVb(예측) = {(상기 이웃 블록이 참조한 미래 픽처와 상기 과거 픽처의 거리 - 상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 거리)/상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 거리}*MVf
  7. 제4항에 있어서,
    상기 움직임 벡터 예측기는 다음 식에 의해 산출된 대표값인 예측값 PMV_X을 구하는 것을 특징으로 하는 장치.
    PVM_X = median(MVf_A, MVf_B, MVf_C) 또는 median(MVb_A, MVb_B, MVb_C)
    여기서, MVf_A, MVf_B, MVf_C, MVb_A, MVb_B, 및 MVb_C은 상기 이웃 블록들의 움직임 벡터의 성분들로서, MVf_A는 좌측 블록의 포워드 움직임 벡터를, MVf_B는 상측 블록의 포워드 움직임 벡터를, MVf_C는 우상측 블록의 포워드 움직임 벡터를, MVb_A는 좌측 블록의 백워드 움직임 벡터를. MVb_B는 상측 블록의 백워드 움직임 벡터를, MVb_C는 우상측 블록의 백워드 움직임 벡터를 의미한다. 상기 예측 움직임 벡터는 이들 중 어느 하나일 수 있다.
  8. 제7항에 있어서,
    상기 움직임 벡터 예측기는
    상기 오차값으로서 상기 산출된 대표값과 상기 현재 블록의 움직임 벡터와의차분값을 산출하는 것을 특징으로 하는 장치.
  9. 제8항에 있어서,
    상기 움직임 벡터 부호화기는 상기 차분값을 부호화하는 것을 특징으로 하는 장치.
  10. 움직임 벡터를 복호화하는 방법에 있어서,
    (a) 현재 블록에 이웃하는 복수개의 이웃 블록들 중 상기 현재 블록과 상이한 타입의 움직임 벡터를 가진 이웃 블록에 대해 상기 현재 블록의 움직임 벡터와 동일한 타입의 움직임 벡터를 예측하여 예측 움직임 벡터를 구하는 단계;
    (b) 구해진 예측 움직임 벡터를 포함하여 상기 이웃 블록들의 움직임 벡터들 중 상기 현재 블록과 동일한 타입의 움직임 벡터들에 대한 대표값을 산출하는 단계; 및
    (c) 산출된 대표값과 복호화된 오차값을 더하여 상기 현재 블록의 움직임 벡터를 산출하는 단계를 포함하는 것을 특징으로 하는 방법.
  11. 제10항에 있어서,
    상기 이웃하는 복수개의 블록들은 상기 현재 블록의 좌측 블록, 상측 블록, 및 우상측 블록임을 특징으로 하는 방법.
  12. 제11항에 있어서,
    상기 좌측 블록은 상기 현재 블록에 속하는 첫 번째 행의 맨좌측 픽셀의 좌측으로 인접한 픽셀이 속하는 블록을 가리키고, 상기 상측 블록은 상기 맨좌측 픽셀의 상측으로 인접한 픽셀이 속하는 블록을 가리키며, 상기 우상측 블록은 상기 현재 블록에 속하는 첫 번째 행의 맨우측 픽셀의 상측으로 인접한 픽셀의 우측으로 인접한 픽셀이 속하는 블록을 가리키는 것을 특징으로 하는 방법.
  13. 제10항에 있어서,
    상기 대표값은 중간값(median)임을 특징으로 하는 방법.
  14. 제10항에 있어서,
    상기 현재 블록의 움직임 벡터가 포워드 움직임 벡터 MVf이고 상기 이웃 블록의 움직임 벡터는 백워드 움직임 벡터 MVb일 때,
    상기 예측 움직임 벡터인 포워드 움직임 벡터 MVf(예측)는 다음 식에 의해 산출되는 것을 특징으로 하는 방법.
    MVf(예측) = {상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 시간차/(상기 이웃 블록이 참조한 미래 픽처와 상기 과거 픽처의 시간차 - 상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 시간차)}*MVb
  15. 제10항에 있어서,
    상기 현재 블록의 움직임 벡터가 백워드 움직임 벡터 MVb이고 상기 이웃 블록의 움직임 벡터는 포워드 움직임 벡터 MVf일 때,
    상기 예측 움직임 벡터인 백워드 움직임 벡터 MVb(예측)는 다음 식에 의해 산출되는 것을 특징으로 하는 방법.
    MVb(예측) = {(상기 이웃 블록이 참조한 미래 픽처와 상기 과거 픽처의 시간차 - 상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 시간차)/상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 시간차}*MVf
  16. 제10항에 있어서,
    상기 현재 블록의 움직임 벡터가 포워드 움직임 벡터 MVf이고 상기 이웃 블록의 움직임 벡터는 백워드 움직임 벡터 MVb일 때,
    상기 예측 움직임 벡터인 포워드 움직임 벡터 MVf(예측)는 다음 식에 의해 산출되는 것을 특징으로 하는 방법.
    MVf(예측) = {상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 거리/(상기 이웃 블록이 참조한 미래 픽처와 상기 과거 픽처의 거리 - 상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 거리)}*MVb
  17. 제10항에 있어서,
    상기 현재 블록의 움직임 벡터가 백워드 움직임 벡터 MVb이고 상기 이웃 블록의 움직임 벡터는 포워드 움직임 벡터 MVf일 때,
    상기 예측 움직임 벡터인 백워드 움직임 벡터 MVb(예측)는 다음 식에 의해 산출되는 것을 특징으로 하는 방법.
    MVb(예측) = {(상기 이웃 블록이 참조한 미래 픽처와 상기 과거 픽처의 거리 - 상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 거리)/상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 거리}*MVf
  18. 제10항에 있어서,
    상기 (b)단계는 다음 식에 의해 산출된 대표값인, 복호화를 위한 예측값 PMV_X을 구하는 단계임을 특징으로 하는 방법.
    PVM_X = median(MVf_A, MVf_B, MVf_C) 또는 median(MVb_A, MVb_B, MVb_C)
    여기서, MVf_A, MVf_B, MVf_C, MVb_A, MVb_B, 및 MVb_C은 상기 이웃 블록들의 움직임 벡터의 성분들로서, MVf_A는 좌측 블록의 포워드 움직임 벡터를, MVf_B는 상측 블록의 포워드 움직임 벡터를, MVf_C는 우상측 블록의 포워드 움직임 벡터를, MVb_A는 좌측 블록의 백워드 움직임 벡터를. MVb_B는 상측 블록의 백워드 움직임 벡터를, MVb_C는 우상측 블록의 백워드 움직임 벡터를 의미한다. 상기 예측 움직임 벡터는 이들 중 어느 하나일 수 있다.
  19. 제10항에 있어서,
    상기 (c)단계는
    상기 산출된 대표값과 복호화된 상기 현재 블록의 차분값을 더하는 단계임을특징으로 하는 방법.
  20. 움직임 벡터를 부호화하는 장치에 있어서,
    오차값을 복호화해내는 움직임 벡터 복호화기; 및
    현재 블록에 이웃하는 복수개의 이웃 불록들 중 상기 현재 블록과 상이한 타입의 움직임 벡터들을 가진 이웃 블록에 대해 상기 현재 블록과 동일한 타입의 움직임 벡터를 예측하여 예측 움직임 벡터를 구한 다음, 구해진 예측 움직임 벡터를 포함하여 상기 이웃 블록들의 움직임 벡터들 중 상기 현재 블록의 움직임 벡터와 동일한 타입의 움직임 벡터들에 대한 대표값을 산출하고, 산출된 대표값과 상기 오차값을 더하여 상기 현재 블록의 움직임 벡터를 산출하는 움직임 벡터 예측 보상기를 포함하는 것을 특징으로 하는 장치.
  21. 제20항에 있어서,
    상기 이웃하는 복수개의 블록들은 상기 현재 블록의 좌측 블록, 상측 블록, 우상측 블록임을 특징으로 하는 장치.
  22. 제21항에 있어서,
    상기 좌측 블록은 상기 현재 블록에 속하는 맨좌측 픽셀의 좌측으로 인접한 픽셀이 속하는 블록을 가리키고, 상기 상측 블록은 상기 맨좌측 픽셀의 상측으로 인접한 픽셀이 속하는 블록을 가리키며, 상기 우상측 블록은 상기 현재 블록에 속하는 맨우측 픽셀의 상측으로 인접한 픽셀의 우측으로 인접한 픽셀이 속하는 블록을 가리키는 것을 특징으로 하는 장치.
  23. 제20항에 있어서,
    상기 대표값은 중간값(median)임을 특징으로 하는 장치.
  24. 제20항 내지 제23항 중 어느 한 항에 있어서,
    상기 현재 블록의 움직임 벡터가 포워드 움직임 벡터 MVf이고 상기 이웃 블록의 움직임 벡터는 백워드 움직임 벡터 MVb일 때,
    상기 움직임 벡터 예측 보상기는 상기 예측 움직임 벡터인 포워드 움직임 벡터 MVf(예측)를 다음 식에 의해 산출하는 것을 특징으로 하는 장치.
    MVf(예측) = {상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 시간차/(상기 이웃 블록이 참조한 미래 픽처와 상기 과거 픽처의 시간차 - 상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 시간차)}*MVb
  25. 제20항 내지 제23항 중 어느 한 항에 있어서,
    상기 현재 블록의 움직임 벡터가 백워드 움직임 벡터 MVb이고 상기 이웃 블록의 움직임 벡터는 포워드 움직임 벡터 MVf일 때,
    상기 움직임 벡터 예측 보상기는 상기 예측 움직임 벡터인 백워드 움직임 벡터 MVb(예측)를 다음 식에 의해 산출하는 것을 특징으로 하는 장치.
    MVb(예측) = {(상기 이웃 블록이 참조한 미래 픽처와 상기 과거 픽처의 시간차 - 상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 시간차)/상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 시간차}*MVf
  26. 제20항 내지 제23항 중 어느 한 항에 있어서,
    상기 현재 블록의 움직임 벡터가 포워드 움직임 벡터 MVf이고 상기 이웃 블록의 움직임 벡터는 백워드 움직임 벡터 MVb일 때,
    상기 움직임 벡터 예측 보상기는 상기 예측 움직임 벡터인 포워드 움직임 벡터 MVf(예측)를 다음 식에 의해 산출하는 것을 특징으로 하는 장치.
    MVf(예측) = {상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 거리/(상기 이웃 블록이 참조한 미래 픽처와 상기 과거 픽처의 거리 - 상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 거리)}*MVb
  27. 제20항 내지 제23항 중 어느 한 항에 있어서,
    상기 현재 블록의 움직임 벡터가 백워드 움직임 벡터 MVb이고 상기 이웃 블록의 움직임 벡터는 포워드 움직임 벡터 MVf일 때,
    상기 움직임 벡터 예측 보상기는 상기 예측 움직임 벡터인 백워드 움직임 벡터 MVb(예측)를 다음 식에 의해 산출하는 것을 특징으로 하는 장치.
    MVb(예측) = {(상기 이웃 블록이 참조한 미래 픽처와 상기 과거 픽처의 거리 - 상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 거리)/상기 이웃 블록이 속하는 현재 픽처와 참조한 과거 픽처의 거리}*MVf
  28. 제20항 내지 제23항 중 어느 한 항에 있어서,
    상기 움직임 벡터 예측 보상기는 다음 식에 의해 산출된 대표값인 예측값 PMV_X을 구하는 것을 특징으로 하는 장치.
    PVM_X = median(MVf_A, MVf_B, MVf_C) 또는 median(MVb_A, MVb_B, MVb_C)
    여기서, MVf_A, MVf_B, MVf_C, MVb_A, MVb_B, 및 MVb_C은 상기 이웃 블록들의 움직임 벡터의 성분들로서, MVf_A는 좌측 블록의 포워드 움직임 벡터를, MVf_B는 상측 블록의 포워드 움직임 벡터를, MVf_C는 우상측 블록의 포워드 움직임 벡터를, MVb_A는 좌측 블록의 백워드 움직임 벡터를. MVb_B는 상측 블록의 백워드 움직임 벡터를, MVb_C는 우상측 블록의 백워드 움직임 벡터를 의미한다. 상기 예측 움직임 벡터는 이들 중 어느 하나일 수 있다.
  29. 제1항 내지 제3항, 제10항 내지 제19항 중 어느 한 항의 방법을 수행하기 위한 프로그램 코드가 기록된 컴퓨터 판독가능한 정보저장매체.
KR20020041798A 2002-07-16 2002-07-16 움직임 벡터 부호화 방법, 복호화 방법 및 그 장치 KR100774296B1 (ko)

Priority Applications (10)

Application Number Priority Date Filing Date Title
KR20020041798A KR100774296B1 (ko) 2002-07-16 2002-07-16 움직임 벡터 부호화 방법, 복호화 방법 및 그 장치
EP20030254444 EP1389017B1 (en) 2002-07-16 2003-07-15 Method and apparatus for encoding and decoding motion vectors
DE2003615565 DE60315565T2 (de) 2002-07-16 2003-07-15 Verfahren und Vorrichtung zur Codierung und Decodierung von Bewegungsvektoren
US10/619,615 US7257263B2 (en) 2002-07-16 2003-07-16 Method and apparatus for encoding and decoding motion vectors
JP2003275687A JP3863510B2 (ja) 2002-07-16 2003-07-16 動きベクトル符号化/復号化方法及びその装置
CNB031580114A CN1229999C (zh) 2002-07-16 2003-07-16 用于编码和解码运动矢量的方法和装置
US11/773,217 US7483579B2 (en) 2002-07-16 2007-07-03 Method and apparatus for encoding and decoding motion vectors
US11/773,164 US7486831B2 (en) 2002-07-16 2007-07-03 Method and apparatus for encoding and decoding motion vectors
US11/773,297 US7447370B2 (en) 2002-07-16 2007-07-03 Method and apparatus for encoding and decoding motion vectors
US11/773,218 US7447371B2 (en) 2002-07-16 2007-07-03 Method and apparatus for encoding and decoding motion vectors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20020041798A KR100774296B1 (ko) 2002-07-16 2002-07-16 움직임 벡터 부호화 방법, 복호화 방법 및 그 장치

Related Child Applications (4)

Application Number Title Priority Date Filing Date
KR1020070075876A Division KR100774297B1 (ko) 2007-07-27 2007-07-27 움직임 벡터 복호화 방법 및 그 장치
KR1020070075878A Division KR100774299B1 (ko) 2007-07-27 2007-07-27 움직임 벡터 복호화 방법 및 그 장치
KR1020070075879A Division KR100774300B1 (ko) 2007-07-27 2007-07-27 움직임 벡터 복호화 방법 및 그 장치
KR1020070075877A Division KR100774298B1 (ko) 2007-07-27 2007-07-27 움직임 벡터 복호화 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20040007140A true KR20040007140A (ko) 2004-01-24
KR100774296B1 KR100774296B1 (ko) 2007-11-08

Family

ID=30439317

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20020041798A KR100774296B1 (ko) 2002-07-16 2002-07-16 움직임 벡터 부호화 방법, 복호화 방법 및 그 장치

Country Status (6)

Country Link
US (5) US7257263B2 (ko)
EP (1) EP1389017B1 (ko)
JP (1) JP3863510B2 (ko)
KR (1) KR100774296B1 (ko)
CN (1) CN1229999C (ko)
DE (1) DE60315565T2 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100802207B1 (ko) * 2006-07-18 2008-02-11 연세대학교 산학협력단 동영상의 움직임 추정을 위한 움직임 예측방법 및 움직임추정 부호화기
WO2012005194A1 (ja) * 2010-07-09 2012-01-12 ソニー株式会社 画像処理装置および方法
US8355438B2 (en) 2006-10-30 2013-01-15 Nippon Telegraph And Telephone Corporation Predicted reference information generating method, video encoding and decoding methods, apparatuses therefor, programs therefor, and storage media which store the programs
KR101255230B1 (ko) * 2012-06-25 2013-04-16 세종대학교산학협력단 다시점 영상에서 적응적 움직임 벡터 예측 장치 및 방법
KR101390194B1 (ko) * 2013-07-08 2014-04-30 삼성전자주식회사 움직임 추정을 이용한 영상의 부호화, 복호화 방법 및 장치

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4114859B2 (ja) 2002-01-09 2008-07-09 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
KR100774296B1 (ko) * 2002-07-16 2007-11-08 삼성전자주식회사 움직임 벡터 부호화 방법, 복호화 방법 및 그 장치
US20040141555A1 (en) * 2003-01-16 2004-07-22 Rault Patrick M. Method of motion vector prediction and system thereof
KR100846780B1 (ko) * 2003-11-10 2008-07-16 삼성전자주식회사 움직임 벡터 추정 방법 및 장치
KR101104828B1 (ko) * 2004-12-09 2012-01-16 삼성전자주식회사 움직임 벡터 연산 장치 및 그 방법
CN100473168C (zh) * 2005-06-21 2009-03-25 中国科学院计算技术研究所 视频编码的运动矢量空间预测方法
US8559515B2 (en) 2005-09-21 2013-10-15 Samsung Electronics Co., Ltd. Apparatus and method for encoding and decoding multi-view video
CN101072356B (zh) * 2006-05-12 2011-02-09 中国科学院计算技术研究所 一种运动矢量预测方法
WO2008056934A1 (en) * 2006-11-07 2008-05-15 Samsung Electronics Co., Ltd. Method of and apparatus for video encoding and decoding based on motion estimation
KR101383540B1 (ko) * 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
US8665942B2 (en) * 2007-01-23 2014-03-04 Sharp Laboratories Of America, Inc. Methods and systems for inter-layer image prediction signaling
US8233536B2 (en) * 2007-01-23 2012-07-31 Sharp Laboratories Of America, Inc. Methods and systems for multiplication-free inter-layer image prediction
US8503524B2 (en) * 2007-01-23 2013-08-06 Sharp Laboratories Of America, Inc. Methods and systems for inter-layer image prediction
KR101365574B1 (ko) * 2007-01-29 2014-02-20 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
KR101366242B1 (ko) * 2007-03-29 2014-02-20 삼성전자주식회사 움직임 모델 파라메터의 부호화, 복호화 방법 및 움직임모델 파라메터를 이용한 영상의 부호화, 복호화 방법 및장치
JP5422168B2 (ja) 2008-09-29 2014-02-19 株式会社日立製作所 動画像符号化方法および動画像復号化方法
US20100090391A1 (en) * 2008-10-10 2010-04-15 Xerox Corporation Nip release system
KR101279573B1 (ko) * 2008-10-31 2013-06-27 에스케이텔레콤 주식회사 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
US9060176B2 (en) * 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
TWI566586B (zh) * 2009-10-20 2017-01-11 湯姆生特許公司 一序列形象的現時區塊之寫碼方法和重建方法
KR101522850B1 (ko) * 2010-01-14 2015-05-26 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치
US20130003843A1 (en) * 2010-03-12 2013-01-03 Mediatek Singapore Pte. Ltd. Motion Prediction Method
JP5368631B2 (ja) * 2010-04-08 2013-12-18 株式会社東芝 画像符号化方法、装置、及びプログラム
CN101873497B (zh) * 2010-05-26 2012-02-29 杭州海康威视软件有限公司 宏块信息存储方法及装置
JP2012094959A (ja) * 2010-10-25 2012-05-17 Sony Corp 画像処理装置と画像処理方法およびプログラム
US9532066B2 (en) 2011-01-21 2016-12-27 Qualcomm Incorporated Motion vector prediction
KR101484171B1 (ko) * 2011-01-21 2015-01-23 에스케이 텔레콤주식회사 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
US8792549B2 (en) 2011-02-28 2014-07-29 Sony Corporation Decoder-derived geometric transformations for motion compensated inter prediction
US9288501B2 (en) * 2011-03-08 2016-03-15 Qualcomm Incorporated Motion vector predictors (MVPs) for bi-predictive inter mode in video coding
WO2012128540A2 (ko) 2011-03-21 2012-09-27 엘지전자 주식회사 움직임 벡터 예측자 선택 방법 및 이를 이용하는 장치
CN102737383B (zh) * 2011-03-31 2014-12-17 富士通株式会社 视频中的摄像机运动分析方法及装置
HUE056547T2 (hu) * 2011-06-28 2022-02-28 Lg Electronics Inc Eljárás mozgásvektor-prediktor levezetésére
BR112014012187A2 (pt) * 2011-11-21 2017-05-30 Motorola Mobility Llc determinação implícita e determinação implícita e explícita combinadas de imagem colocalizada para predição temporal
US10021417B2 (en) 2012-06-19 2018-07-10 Lg Electronics Inc. Method and device for processing video signal
JP6260534B2 (ja) 2012-09-03 2018-01-17 ソニー株式会社 画像処理装置および方法
JP5571229B2 (ja) * 2013-06-03 2014-08-13 株式会社東芝 画像符号化方法及び画像復号化方法
CN103338372A (zh) * 2013-06-15 2013-10-02 浙江大学 一种视频处理方法及装置
JP5571262B2 (ja) * 2014-01-23 2014-08-13 株式会社東芝 画像符号化方法及び画像復号化方法
JP2014131293A (ja) * 2014-01-23 2014-07-10 Toshiba Corp 画像符号化方法及び画像復号化方法
JP5509398B1 (ja) * 2014-01-23 2014-06-04 株式会社東芝 画像符号化方法及び画像復号化方法
JP2014131295A (ja) * 2014-01-23 2014-07-10 Toshiba Corp 画像符号化方法及び画像復号化方法
JP2017505324A (ja) 2014-02-07 2017-02-16 ゴジョ・インダストリーズ・インコーポレイテッド 胞子及び他の生物に対する効力を有する組成物及び方法
JP5659314B1 (ja) * 2014-10-01 2015-01-28 株式会社東芝 画像符号化方法及び画像復号化方法
JP2015053729A (ja) * 2014-11-17 2015-03-19 株式会社東芝 画像符号化方法及び画像復号化方法
JP6196341B2 (ja) * 2016-02-17 2017-09-13 株式会社東芝 画像符号化方法及び画像復号化方法
JP6271694B2 (ja) * 2016-12-16 2018-01-31 株式会社東芝 画像符号化方法及び画像復号化方法
JP6370977B2 (ja) * 2017-08-31 2018-08-08 株式会社東芝 画像符号化方法及び画像復号化方法
JP6367452B2 (ja) * 2017-11-13 2018-08-01 株式会社東芝 画像符号化方法及び画像復号化方法
CN110662033B (zh) * 2018-06-28 2021-11-23 杭州海康威视数字技术股份有限公司 一种解码、编码方法及其设备
JP6609004B2 (ja) * 2018-07-02 2019-11-20 株式会社東芝 画像符号化方法及び画像復号化方法
WO2020089822A1 (en) 2018-10-31 2020-05-07 Beijing Bytedance Network Technology Co., Ltd. Overlapped block motion compensation with derived motion information from neighbors
CN113366831B (zh) * 2019-01-13 2024-04-05 北京字节跳动网络技术有限公司 重叠块运动补偿和其他工具之间的协调
CN112468812B (zh) 2019-03-11 2022-07-01 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
JP6961781B2 (ja) * 2019-10-21 2021-11-05 株式会社東芝 画像符号化方法及び画像復号化方法
JP6795666B2 (ja) * 2019-10-21 2020-12-02 株式会社東芝 画像符号化方法及び画像復号化方法
JP7242811B2 (ja) 2019-10-21 2023-03-20 株式会社東芝 画像符号化方法及び画像復号化方法
JP6980889B2 (ja) * 2019-10-21 2021-12-15 株式会社東芝 画像符号化方法及び画像復号化方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07123406A (ja) * 1993-10-22 1995-05-12 Canon Inc 動きベクトル検出装置
US6023298A (en) * 1996-03-22 2000-02-08 Daewoo Electronics Co., Ltd Video signal encoding system using a current frame prediction apparatus
KR100229803B1 (ko) * 1996-11-15 1999-11-15 전주범 움직임 벡터 검출 방법 및 장치
US5825930A (en) * 1997-03-05 1998-10-20 Samsung Electronics Co., Ltd. Motion estimating method
JP3957915B2 (ja) * 1999-03-08 2007-08-15 パイオニア株式会社 フェード検出装置及び情報符号化装置
KR100364789B1 (ko) * 2000-02-28 2002-12-16 엘지전자 주식회사 움직임 추정 방법 및 장치
KR100774296B1 (ko) * 2002-07-16 2007-11-08 삼성전자주식회사 움직임 벡터 부호화 방법, 복호화 방법 및 그 장치
US6925123B2 (en) * 2002-08-06 2005-08-02 Motorola, Inc. Method and apparatus for performing high quality fast predictive motion search

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100802207B1 (ko) * 2006-07-18 2008-02-11 연세대학교 산학협력단 동영상의 움직임 추정을 위한 움직임 예측방법 및 움직임추정 부호화기
US8355438B2 (en) 2006-10-30 2013-01-15 Nippon Telegraph And Telephone Corporation Predicted reference information generating method, video encoding and decoding methods, apparatuses therefor, programs therefor, and storage media which store the programs
US8675735B2 (en) 2006-10-30 2014-03-18 Nippon Telegraph And Telephone Corporation Predicted reference information generating method, video encoding and decoding methods, apparatuses therefor, programs therefor, and storage media which store the programs
WO2012005194A1 (ja) * 2010-07-09 2012-01-12 ソニー株式会社 画像処理装置および方法
KR101255230B1 (ko) * 2012-06-25 2013-04-16 세종대학교산학협력단 다시점 영상에서 적응적 움직임 벡터 예측 장치 및 방법
KR101390194B1 (ko) * 2013-07-08 2014-04-30 삼성전자주식회사 움직임 추정을 이용한 영상의 부호화, 복호화 방법 및 장치

Also Published As

Publication number Publication date
US7257263B2 (en) 2007-08-14
EP1389017B1 (en) 2007-08-15
EP1389017A2 (en) 2004-02-11
EP1389017A3 (en) 2005-08-03
CN1497981A (zh) 2004-05-19
JP3863510B2 (ja) 2006-12-27
US20070286506A1 (en) 2007-12-13
US7447370B2 (en) 2008-11-04
US20040013309A1 (en) 2004-01-22
US7447371B2 (en) 2008-11-04
JP2004056823A (ja) 2004-02-19
CN1229999C (zh) 2005-11-30
US7486831B2 (en) 2009-02-03
DE60315565D1 (de) 2007-09-27
DE60315565T2 (de) 2008-05-15
US20080013843A1 (en) 2008-01-17
US7483579B2 (en) 2009-01-27
US20080013631A1 (en) 2008-01-17
KR100774296B1 (ko) 2007-11-08
US20070286505A1 (en) 2007-12-13

Similar Documents

Publication Publication Date Title
KR100774296B1 (ko) 움직임 벡터 부호화 방법, 복호화 방법 및 그 장치
KR100856411B1 (ko) 조도 보상 방법 및 그 장치와 그 방법을 기록한 컴퓨터로 읽을 수 있는 기록매체
JP4752631B2 (ja) 画像符号化装置、及び画像符号化方法
JP3977716B2 (ja) 動画像符号化/復号化方法及び装置
KR101393824B1 (ko) 저 복잡성 움직임 벡터 도출을 위한 시스템 및 방법
KR101420957B1 (ko) 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법 및 화상 복호 방법
KR20130021388A (ko) 시간 움직임 벡터 예측 방법 및 장치
KR20130095295A (ko) 공간 움직임 벡터 예측 방법 및 장치
JP3866624B2 (ja) 動画像符号化方法,動画像復号方法,動画像符号化装置および動画像復号装置
KR100510136B1 (ko) 참조 픽처 결정 방법, 그 움직임 보상 방법 및 그 장치
US20060153298A1 (en) Predictive encoding of motion vectors including a flag notifying the presence of coded residual motion vector data
KR100774297B1 (ko) 움직임 벡터 복호화 방법 및 그 장치
KR100774300B1 (ko) 움직임 벡터 복호화 방법 및 그 장치
KR100774299B1 (ko) 움직임 벡터 복호화 방법 및 그 장치
KR100774298B1 (ko) 움직임 벡터 복호화 방법 및 그 장치
JPWO2011099242A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
JP2006304350A (ja) 動画像復号化方法及び装置
JP2003116141A (ja) 動画像予測符号化方法とその復号化方法、及びそれらの装置
JP2007221202A (ja) 動画像符号化装置及び動画像符号化プログラム
KR100293445B1 (ko) 움직임벡터코딩방법
JP2005012838A (ja) 画像符号化装置および方法

Legal Events

Date Code Title Description
A201 Request for examination
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121030

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131030

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141030

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151029

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee