KR100244291B1 - 동영상 움직임 벡터 코딩 방법 - Google Patents

동영상 움직임 벡터 코딩 방법 Download PDF

Info

Publication number
KR100244291B1
KR100244291B1 KR1019970036230A KR19970036230A KR100244291B1 KR 100244291 B1 KR100244291 B1 KR 100244291B1 KR 1019970036230 A KR1019970036230 A KR 1019970036230A KR 19970036230 A KR19970036230 A KR 19970036230A KR 100244291 B1 KR100244291 B1 KR 100244291B1
Authority
KR
South Korea
Prior art keywords
motion vector
value
prediction
block
bound
Prior art date
Application number
KR1019970036230A
Other languages
English (en)
Other versions
KR19990012726A (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 KR1019970036230A priority Critical patent/KR100244291B1/ko
Priority to DE1997134882 priority patent/DE19734882C2/de
Priority to JP23327897A priority patent/JP2920208B2/ja
Priority to US09/065,575 priority patent/US6289049B1/en
Publication of KR19990012726A publication Critical patent/KR19990012726A/ko
Application granted granted Critical
Publication of KR100244291B1 publication Critical patent/KR100244291B1/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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 MPEG-4에 대응하는 움직임 벡터 코딩에서 전체 비트율을 줄이는데 적당하도록한 동영상 움직임 벡터 코딩 방법에 관한 것으로,매크로 블록에 대한 탐색 모드가 8×8모드로 선택되면 해당 매크로 블록을 구성하는 4개의 8×8블록에서 첫 번째 블록의 움직임 벡터 예측 후보를 탐색하는 단계와,해당 8×8블록의 제 1,2,3 움직임 벡터 예측 후보의 탐색이 완료면 순차적으로 블록2,블록3,블록4들의 각각의 제 1,2,3 움직임 벡터 예측 후보를 탐색하는 단계와,첫 번째 8×8 블록의 움직임 벡터 중간 예측값(MVMedianPrediction)이 움직임 벡터 바운드내에 있는지를 비교하여 바운드내에 있다면 움직임 벡터 중간 예측값을 해당 8×8블록을 부호화하기 위한 예측값으로 결정하는 단계와,상기 판단 단계에서 움직임 벡터 중간 예측값이 바운드내에 있지않다면 선택적으로 제 1,2,3 움직임 벡터 예측 후보중에서 바운드내에 있는 예측 후보의 벡터값 또는 움직임 벡터 중간 예측값을 해당 8×8블록을 부호화하기 위한 예측값(PMV)으로 결정하는 단계와,움직임 벡터 중간 예측값이 바운드내에 있는지 없는지를 판단하여 예측값을 결정하는 단계를 해당 매크로 블록의 전체 8×8블록에 대하여 반복하는 단계를 포함하여 이루어진다.

Description

동영상 움직임 벡터 코딩 방법
본 발명은 MPEG-4에 대응하는 움직임 벡터 코딩에 관한 것으로, 특히 동영상의 부호화 과정에서 전체 비트율을 줄이는데 적당하도록한 동영상 움직임 벡터 코딩 방법에 관한 것이다.
현재, 표준화 작업이 진행되고 있는 MPEG(Moving Picture Expert Group)-4의 개략적인 추진 내용은 다음과 같다.
MPEG-4는 지금까지 적용되어진 MPEG-1,MPEG-2의 기능과는 전혀 다른 기능을 추구하는 것으로 통신,컴퓨터,방송 등의 기술 영역이 무너져 멀티화되고 있는 현재의 추세에 대응하기 위한 것이다.
즉, 독립적으로 기술 혁신을 이루어온 각각의 기술 영역을 모두 포괄할 수 있는 융합 기술 영역의 기능 실현과 그 응용 분야의 개척을 목표로 한다.
MPEG-4가 추구하는 방향은 초저비트율에서 AV 부호화를 가능케하는 기술 그리고 지금까지와는 전혀 다른 새로운 기능의 실현 등의 두가지로 크게 나눌 수 있다.
초저비트율에서 AV 부호화를 가능하게 하기 위한 방법으로 시도되고 있는 것으로는 첫째, MPEG-1,2에서 사용되어진 DCT변환 기술을 사용하지 않는 전혀 새로운 부호화 기술 예를들면, 블록 경계에서의 일그러짐이 적고 부호화 효율이 높은 Wavelet부호화 방식 등을 들 수 있다.
그리고 둘째, MPEG-1,2에서의 부호화가 매크로 블록 단위의 움직임 보상을 한것과는 달리 블록 기반이 아닌 다른 방식으로 움직임 보상을 하는 것을 들 수 있다.
셋째, 경계내 부호화(Contour Coding)와 객체 지향 부호화(Object Oriented Coding)방식을 포함하는 영역 기반 부호화(Region Based Coding)를 들 수 있다.
넷째, 1/1000 이상의 압축률을 실현할 수 있는 프랙탈(Fractal) 부호화 방식을 들 수 있다.
그리고 MPEG-4에서 지금까지 충분히 실현되지 못하고 있는 기능을 구현하기 위하여 추진하는 새로운 기능으로는 다음의 여덟가지를 들 수 있다.
부호화 효율의 개선,내용에 맞추는 스케일러빌리티,내용 조작과 비트열 편집,에러 내성의 개선,멀티미디어 데이터베이스의 액세스,복수의 동기 데이터 부호화,자연 데이터와 합성 데이터의 하이브리드 부호화,초저비트율에서의 랜덤 액세스성의 개선 등 이다.
이하, 첨부된 도면을 참고하여 종래 기술의 움직임 벡터 코딩 방법에 관하여 설명하면 다음과 같다.
도 1은 일반적인 8×8 모드에서의 움직임 벡터 추정 제한 범위를 나타낸 매트릭스이고, 도 2a내지 도 2d는 8×8 모드에서의 움직임 벡터 예측의 후보를 나타낸 구성도이다. 그리고 도 3은 움직임 벡터의 중간값 예측에서 제한 범위를 넘는 경우의 예를 나타낸 구성도이다.
현재 표준화가 진행중인 MPEG-4에서 정수단위의 픽셀 움직임 추정(Integer pixel motion Estimation)시에 수행되는 8×8 블록별 서치 동작은 16×16 움직임 벡터를 중심으로 ±2 픽셀의 서치 윈도우내에서 수행되도록 하고 있다.
그러므로 특정의 매크로 블록이 8×8 모드로 선택되었을 때 매크로 블록내의 4개의 블록에 대한 각 움직임 벡터는 일정한 바운드(bound)내에 모두 들어오게 된다.
도 1에 나타낸 매트릭스가 8×8 모드로 선택된 매크로 블록의 4개의 블록 움직임 벡터가 가리킬 수 있는 바운드를 보여준다.
이러한 4개의 움직임 벡터들의 바운드는 움직임 벡터(Motion vector)의 코딩 효율을 올리는데 크게 기여한다.
바운드내에 있는 4개의 각 블록에 해당하는 움직임 벡터의 구성들은 인접한 3개의 후보 움직임 벡터의 중간값(Median value)을 예측치로 하여 차성분(MVDx,MVDy)이 부호화된다.
이를 식으로 표현하면
px= Median(MV1x,MV2x,MV3x)
Py= Median(MV1y,MV2y,MV3y)이고, MVDx = MVx- Px, MVDy = MVy- Py이다.
도 1에서 움직임 벡터 추정의 제한 범위를 나타내었으나 이는 다음의 사항을 이유로 하여 완변하게 MPEG-4의 VM(Verification Model)을 지원하지 못한다.
도 2에서와 같이, 8×8 모드 매크로 블록에서의 움직임 벡터 예측 후보를 보면 중간값 예측치로 사용되는 움직임 벡터값이 8×8 모드에서의 움직임 벡터 제한 범위를 넘게되는 경우는 블록1을 제외하면 블록2에 해당하는 MVD2뿐이다.
도 2는 MPEG-4에서 움직임 벡터의 추정을 위한 알고리듬에 따라 8×8 모드에서의 움직임 벡터의 후보를 나타낸 것이다.
이 경우에 세 개의 움직임 벡터 예측 후보중 단하나만의 8×8 모드로 선택된 매크로 블록내에 속해 있으므로 중간값으로 구해진 예측치로부터 얻어지는 MVD2의 절대치는 제한 범위 5.0을 넘을 수 있다.
움직임 벡터 제한 범위를 넘게되는 경우 즉,중간값으로 인한 예측치가 제한 범위 밖에 있는 경우가 발생하는데, 블록2의 MV를 MVCurrentBlock(해당 블록의 움직임 벡터)로,블록2의 MV1을 MVInsideMBPrediction(바운드내의 움직임 벡터 예측값)로,블록2의 중간값 예측치 Median(MV1,MV2,MV3)를 MVMedianPrediction로 정의하였을 경우 도 3에서와 같이, MVMedianPrediction가 제한 범위를 넘어 바로 인접한 점에 놓인 경우를 보인다.
바운드내에 있는 4개의 각 블록에 해당하는 움직임 벡터의 구성들은 인접한 3개의 후보 움직임 벡터의 중간값(Median value)을 예측치로 하여 차성분(MVDx,MVDy)(MVD:Motion Vector Differential)을 부호화하는 종래 기술의 동영상 움직임 벡터 코딩 방법에서는 움직임 벡터 제한 범위를 넘게되는 경우 즉,중간값으로 인한 예측치가 제한 범위 밖에 있는 경우가 발생하여 비트량의 손실을 가져오는 문제점이 있다.
본 발명은 상기와 같은 종래 기술의 동영상 움직임 벡터 코딩 방법의 문제를 해결하기위하여 안출한 것으로,동영상의 부호화 과정에서 전체 비트율을 줄이는데 적당하도록한 동영상 움직임 벡터 코딩 방법을 제공하는데 그 목적이 있다.
도 1은 일반적인 8×8 모드에서의 움직임 벡터 추정 제한 범위를 나타낸 매트릭스
도 2a내지 도 2d는 8×8 모드에서의 움직임 벡터 예측의 후보를 나타낸 구성도
도 3은 움직임 벡터의 중간값 예측에서 제한 범위를 넘는 경우의 예를 나타낸 구성도
도 4는 본 발명에 따른 움직임 벡터 코딩 과정을 나타낸 플로우차트
도 5a내지 도 5d는 본 발명에 따른 움직임 벡터 코딩에 의한 비트율 변화를 나타낸 결과 테이블
동영상의 부호화 과정에서 전체 비트율을 줄이는데 적당하도록한 본 발명의 동영상 움직임 벡터 코딩 방법은 매크로 블록에 대한 탐색 모드가 8×8모드로 선택되면 해당 매크로 블록을 구성하는 4개의 8×8블록에서 첫 번째 블록의 움직임 벡터 예측 후보를 탐색하는 단계와,해당 8×8블록의 제 1,2,3 움직임 벡터 예측 후보의 탐색이 완료면 순차적으로 블록2,블록3,블록4들의 각각의 제 1,2,3 움직임 벡터 예측 후보를 탐색하는 단계와,첫 번째 8×8 블록의 움직임 벡터 중간 예측값(MVMedianPrediction)이 움직임 벡터 바운드내에 있는지를 비교하여 바운드내에 있다면 움직임 벡터 중간 예측값을 해당 8×8블록을 부호화하기 위한 예측값으로 결정하는 단계와,상기 판단 단계에서 움직임 벡터 중간 예측값이 바운드내에 있지않다면 선택적으로 제 1,2,3 움직임 벡터 예측 후보중에서 바운드내에 있는 예측 후보의 벡터값 또는 움직임 벡터 중간 예측값을 해당 8×8블록을 부호화하기 위한 예측값(PMV)으로 결정하는 단계와,움직임 벡터 중간 예측값이 바운드내에 있는지 없는지를 판단하여 예측값을 결정하는 단계를 해당 매크로 블록의 전체 8×8블록에 대하여 반복하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
이하, 첨부된 도면을 참고하여 본 발명의 동영상 움직임 벡터 코딩 방법에 관하여 상세히 설명하면 다음과 같다.
도 4는 본 발명에 따른 움직임 벡터 코딩 과정을 나타낸 플로우차트이고, 도 5a내지 도 5d는 본 발명에 따른 움직임 벡터 코딩에 의한 비트율 변화를 나타낸 결과 테이블이다.
움직임 벡터 제한 범위를 넘게되는 경우 즉,중간값으로 인한 예측치가 제한 범위 밖에 있는 경우에서 MVCurrentBlock가 제한 범위 내에서 균일한 확률 분포를 가진다고 가정하고,MVMedianPrediction또는 MVInsideMBPrediction가 예측 대상(Predictor)로 사용되었을 때 발생하는 비트량의 기대치는 다음과 같다.
비트량 기대치(E(R(MVCurrentBlock-MVMedianPrediction))
= (R(0.5)+R(1.0)+R(1.5)+R(2.0)+R(2.5)+R(3.0)+ .... +R(10.5))/21
= (3+4+5+7+3*10+11*11)/21 = 194/21 = 9.238(f_code = 1 일 때),
(2*4+2*5+2*6+2*8+6*9+6*11+12)/21 = 178/21 = 8.476(f_code = 2 일 때),
(4*5+4*6+4*7+4*9+5*10)/21 = 154/21 = 7.333(f_code = 3일 때)
비트량 기대치E(R(MVCurrentBlock- MVInsideMBPrediction))
= (R(0)+2*(R(0.5)+R(1.0)+R(1.5)+ .... +R(5.0)))/21
= (1+2*(3+4+5+7+3*8+3*10))/21 = 147/21 =7(f_code = 1일 때),
(1+2*(2*4+2*5+2*6+2*8+2*9))/21 = 129/21 =6.143(f_code = 2일 때),
(1+2*(4*5+4*6+2*7))/21 = 117/21 = 5.571(f_code = 3일 때)
이다.
여기서, R(MVD)는 MVD에 대해 발생되는 비트량을 나타낸다.
확률적으로 볼 때 MVMedianPrediction가 움직임 벡터 바운드를 넘어서게 되면 모든 f_코드에 대해서 각 컴포넌트(Component)당 대략 2비트 정도의 비트량이 증가하는 것을 알 수 있다.
본 발명은 이와 같이 MVMedianPrediction가 움직임 벡터 바운드를 넘어서는 경우 발생하는 비트량 증가를 막기 위한 것으로, 중간값 예측 대상(Median Predictor)으로 사용되는 MVMedianPrediction가 규정하는 바운드를 벗어날 경우에는 선택적으로MVInsideMBPrediction를 예측값으로 사용하는 것이다.
즉, 블록2(규정하는 바운드를 벗어난 경우)에 대한 움직임 벡터 예측값(Motion Vector Prediction:PMV) 선택 부분을 다음과 같이 변경하는 것이다.
PMV = Median(MV1,MV2,MV3)
if(ABS(PMV - MV1) 〉 THR)PMV = MV1
여기서, THR은 8×8 모드에서 실제 움직임 벡터 제한범위를 나타낸다. THR의 최대치는 5.0이다. 그리고 상기 움직임 예측 후보가 규정하는 바운드를 벗어나는 경우는 현재의 MFEG-4에서 두 번째 8×8 블록(도 2b)일 경우가 많다. 그러므로 본 발명의 실시예에서는 블록 2의 경우에만 상기와 같은 THR과 비교하는 알고리듬에 적용한다.
이와 같은 원리를 이용한 본 발명의 동영상 움직임 벡터 코딩 방법에 관하여 도 4를 참고하여 설명하면 다음과 같다.
도 4는 본 발명의 움직임 벡터 코딩의 실시예를 나타낸 플로우 차트이다.
먼저, 움직임 벡터 코딩을 위한 매크로 블록에 대한 탐색 모드를 8×8모드로 선택한다.(401S)
이어, 해당 매크로 블록을 구성하는 4개의 8×8블록에서 첫 번째 블록(블록 1)의 움직임 벡터 예측 후보를 탐색한다.(402S)
해당 8×8블록의 제 1,2,3 움직임 벡터 예측 후보의 탐색이 끝났는가를 판단하고(403S) 블록 1의 움직임 벡터 예측 후보의 탐색이 끝났다면 순차적으로 블록2,블록3,블록4들의 각각의 제 1,2,3 움직임 벡터 예측 후보(MV1)(MV2)(MV3)의 탐색을 한다.(404S)
이어, 첫 번째 8×8 블록의 움직임 벡터 중간 예측값(MVMedianPrediction)이 움직임 벡터 바운드내에 있는지를 비교한다.(405S)
상기 405S에서의 비교에서 움직임 벡터 중간 예측값이 바운드내에 있는가를 판단하여(406S) 바운드내에 있다면 움직임 벡터 중간 예측값을 해당 8×8블록을 부호화하기 위한 예측값으로 결정한다.(407S)
상기 판단 단계에서 움직임 벡터 중간 예측값이 바운드내에 있지않다면 움직임 벡터 중간값 - 바운드내에 있는 예측후보의 벡터값의 절대치를 설정된 드레시홀드값(THR)과 비교한다.(408S)
비교 결과 설정된 THR이 크다면 제 1,2,3 움직임 벡터 예측 후보중에서 바운드내에 있는 예측 후보의 벡터값을 해당 8×8블록을 부호화하기 위한 예측값으로 결정한다.(409S)
비교 결과 설정된 THR이 작다면 움직임 벡터 중간 예측값을 해당 8×8블록을 부호화하기 위한 예측값으로 결정한다.(407S)
상기와 같은 움직임 벡터 중간 예측값이 바운드내에 있는지 없는지를 판단하고 설정된 THR과 비교하여 예측값을 결정하는 단계를 해당 매크로 블록의 전체 8×8블록에 대하여 반복한다.(410S)
이와 같이 예측값이 결정되면 전체 움직임 벡터에서의 예측값 차성분이 코딩된다.
이와 같은 본 발명의 동영상 움직임 벡터 코딩 방법은 8×8 모드로 선택되는 경우 MVMedianPrediction가 움직임 벡터 바운드를 넘어서는 경우 발생하는 비트량 증가를 막기 위한 것으로, 중간값 예측 대상(Median Predictor)으로 사용되는 MVMedianPrediction가 규정하는 THR을 벗어날 경우에는 MVInsideMBPrediction를 예측값으로 사용하여 부호화시에 비트량의 증가를 억제하는 것이다.
이와 같은 본 발명의 움직임 벡터 코딩 기술을 이용한 실시예에 관하여 설명하면 다음과 같다.
본 발명에 따른 움직임 벡터 코딩 기술을 이용하여 실제 움직임 벡터 코딩을하였을때의 비트량을 나타낸 것으로 그 실시 조건은 다음과 같다.
첫째, 양자화 파라미터(Quantization parameter:QP)는 각 시퀀스에 대해 한값으로 고정되고,스킵된 매크로 블록의 움직임 벡터는 계산량에 포함하지 않는다.
둘째, 확장 예측 모드로 시퀀스 리솔루션 포맷은 QCIF(Quarter Common Intermediate Format)(176×144), 프레임율은 10Hz(300프레임)이다.
셋째, f_code=1(MV탐색 영역:-16.0 ∼ +15.5) 그리고 부호화 기법은 No shape coding(rectangular)으로 한다.
도 5a와 도 5b의 테이블은 본 발명의 예측값 결정에 따라 바운드를 벗어나는 움직임 예측값을 갖는 블록(MVD2)을 부호화했을 경우의 결과를 나타낸 것이고(도 5a는 QP=10,도 5b는 QP=20), 도 5c와 도 5d는 전체 움직임 벡터를 부호화 하였을 경우의 결과를 나타낸 것이다(도 5c는 QP=10,도 5d는 QP=20).
그 결과를 보면, MFEG-4 비디오 VM 5.0보다 효율적으로 움직임 벡터의 코딩이 이루어지는 것(비트량 증가 억제)을 알 수 있다. 이는 움직임 벡터의 코딩의 효율성을 높여 VM 6.0에 적용할 수 있음을 보여주는 것이다.
중간값 예측 대상(Median Predictor)으로 사용되는 MVMedianPrediction가 규정하는 바운드를 벗어날 경우에는 선택적으로 MVInsideMBPrediction를 예측값으로 사용하여 움직임 벡터 코딩시에 비트량을 증가를 막아 보다 효율적인 코딩이 이루어지게 하는 효과가 있다.

Claims (6)

  1. 매크로 블록에 대한 탐색 모드가 8×8모드로 선택되면 해당 매크로 블록을 구성하는 4개의 8×8블록에서 첫 번째 블록의 움직임 벡터 예측 후보를 탐색하는 단계와,
    해당 8×8블록의 제 1,2,3 움직임 벡터 예측 후보(MV1)(MV2)(MV3)의 탐색이 완료면 순차적으로 블록2,블록3,블록4들의 각각의 제 1,2,3 움직임 벡터 예측 후보를 탐색하는 단계와,
    첫 번째 8×8 블록의 움직임 벡터 중간 예측값(MVMedianPrediction)이 움직임 벡터 바운드내에 있는지를 비교하여 바운드내에 있다면 움직임 벡터 중간 예측값을 해당 8×8블록을 부호화하기 위한 예측값으로 결정하는 단계와,
    상기 판단 단계에서 움직임 벡터 중간 예측값이 바운드내에 있지않다면 선택적으로 제 1,2,3 움직임 벡터 예측 후보중에서 바운드내에 있는 예측 후보의 벡터값 또는 움직임 벡터 중간 예측값을 해당 8×8블록을 부호화하기 위한 예측값(PMV)으로 결정하는 단계와,
    움직임 벡터 중간 예측값이 바운드내에 있는지 없는지를 판단하여 예측값을 결정하는 단계를 해당 매크로 블록의 전체 8×8블록에 대하여 반복하는 단계를 포함하여 이루어지는 것을 특징으로 하는 동영상 움직임 벡터 코딩 방법.
  2. 제 1 항에 있어서, 움직임 벡터 중간 예측값이 바운드내에 있지않다면 움직임 벡터 예측값(PMV)의 결정은 움직임 벡터 중간값 - 바운드내에 있는 예측후보의 벡터값의 절대치를 설정된 드레시홀드값(THR)과 비교하여 THR이 작다면 제 1,2,3 움직임 벡터 예측 후보중에서 바운드내에 있는 예측 후보의 벡터값을 해당 8×8블록을 부호화하기 위한 예측값으로 결정하는 것을 특징으로 하는 동영상 움직임 벡터 코딩 방법.
  3. 제 2 항에 있어서, 움직임 벡터 제한 범위(THR)의 최대치는 5.0인 것을 특징으로 하는 동영상 움직임 벡터 코딩 방법.
  4. 제 1 항에 있어서, 움직임 벡터 중간 예측값이 바운드내에 있지않다면 움직임 벡터 예측값(PMV)의 결정은 움직임 벡터 중간값 - 바운드내에 있는 예측후보의 벡터값의 절대치를 설정된 드레시홀드값(THR)과 비교하여 THR이 크다면 움직임 벡터 중간 예측값을 해당 8×8블록을 부호화하기 위한 예측값으로 결정하는 것을 특징으로 하는 동영상 벡터 코딩 방법.
  5. 제 4 항에 있어서, 움직임 벡터 제한 범위(THR)의 최대치는 5.0인 것을 특징으로 하는 동영상 움직임 벡터 코딩 방법.
  6. 제 1 항에 있어서, 움직임 벡터 중간값 - 바운드내에 있는 예측후보의 벡터값의 절대치를 설정된 드레시홀드값(THR)과 비교하여 THR이 작은 경우는 MPEG-4의 움직임 벡터 예측 후보 탐색 알고리듬에 따라 해당 매크로 블록에서 두 번째로 탐색되는 8×8블록(Block 2)인 것을 특징으로 하는 동영상 움직임 벡터 코딩 방법.
KR1019970036230A 1997-07-30 1997-07-30 동영상 움직임 벡터 코딩 방법 KR100244291B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1019970036230A KR100244291B1 (ko) 1997-07-30 1997-07-30 동영상 움직임 벡터 코딩 방법
DE1997134882 DE19734882C2 (de) 1997-07-30 1997-08-12 Verfahren zum Kodieren von Bewegungsvektoren bei Filmaufnahmen
JP23327897A JP2920208B2 (ja) 1997-07-30 1997-08-15 動画像の動きベクトルの符号化方法
US09/065,575 US6289049B1 (en) 1997-07-30 1998-04-24 Method for coding motion vector in moving picture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970036230A KR100244291B1 (ko) 1997-07-30 1997-07-30 동영상 움직임 벡터 코딩 방법

Publications (2)

Publication Number Publication Date
KR19990012726A KR19990012726A (ko) 1999-02-25
KR100244291B1 true KR100244291B1 (ko) 2000-02-01

Family

ID=19516313

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970036230A KR100244291B1 (ko) 1997-07-30 1997-07-30 동영상 움직임 벡터 코딩 방법

Country Status (4)

Country Link
US (1) US6289049B1 (ko)
JP (1) JP2920208B2 (ko)
KR (1) KR100244291B1 (ko)
DE (1) DE19734882C2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010050706A2 (ko) * 2008-10-31 2010-05-06 에스케이텔레콤 주식회사 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100249223B1 (ko) * 1997-09-12 2000-03-15 구자홍 엠팩(mpeg)-4의움직임벡터코딩방법
US6983018B1 (en) * 1998-11-30 2006-01-03 Microsoft Corporation Efficient motion vector coding for video compression
US6680940B1 (en) * 1999-05-19 2004-01-20 3Com Corporation System for transporting ethernet frames over very high speed digital subscriber lines
EP1134981A1 (en) * 2000-03-17 2001-09-19 STMicroelectronics S.r.l. Automatic setting of optimal search window dimensions for motion estimation
US6909749B2 (en) * 2002-07-15 2005-06-21 Pts Corporation Hierarchical segment-based motion vector encoding and decoding
KR100865034B1 (ko) 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
GB0228281D0 (en) * 2002-12-04 2003-01-08 Imec Inter Uni Micro Electr Coding of motion vectors produced by wavelet-domain motion estimation
JP4217876B2 (ja) * 2002-12-20 2009-02-04 財団法人生産技術研究奨励会 画像における移動物体の追跡方法及び装置
WO2004079916A2 (en) 2003-03-03 2004-09-16 Mobilygen Corporation Array arrangement for memory words and combination of video prediction data for an effective memory access
US8824553B2 (en) * 2003-05-12 2014-09-02 Google Inc. Video compression method
US20050013498A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7567617B2 (en) 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
KR100636785B1 (ko) * 2005-05-31 2006-10-20 삼성전자주식회사 다시점 입체 영상 시스템 및 이에 적용되는 압축 및 복원방법
KR101217627B1 (ko) * 2006-02-02 2013-01-02 삼성전자주식회사 블록 기반의 움직임 추정 방법 및 장치
US8358693B2 (en) 2006-07-14 2013-01-22 Microsoft Corporation Encoding visual data with computation scheduling and allocation
US8311102B2 (en) * 2006-07-26 2012-11-13 Microsoft Corporation Bitstream switching in multiple bit-rate video streaming environments
US8340193B2 (en) * 2006-08-04 2012-12-25 Microsoft Corporation Wyner-Ziv and wavelet video coding
US7388521B2 (en) * 2006-10-02 2008-06-17 Microsoft Corporation Request bits estimation for a Wyner-Ziv codec
US8340192B2 (en) * 2007-05-25 2012-12-25 Microsoft Corporation Wyner-Ziv coding with multiple side information
US8385404B2 (en) 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
US8325796B2 (en) 2008-09-11 2012-12-04 Google Inc. System and method for video coding using adaptive segmentation
US8326075B2 (en) 2008-09-11 2012-12-04 Google Inc. System and method for video encoding using adaptive loop filter
SI3448031T1 (sl) * 2009-06-18 2021-03-31 Kabushiki Kaisha Toshiba Naprava za video dekodiranje in postopek za video dekodiranje
US9628794B2 (en) * 2009-06-18 2017-04-18 Kabushiki Kaisha Toshiba Video encoding apparatus and a video decoding apparatus
US9532059B2 (en) 2010-10-05 2016-12-27 Google Technology Holdings LLC Method and apparatus for spatial scalability for video coding
US8611415B1 (en) 2010-11-15 2013-12-17 Google Inc. System and method for coding using improved motion estimation
US8891626B1 (en) 2011-04-05 2014-11-18 Google Inc. Center of motion for encoding motion fields
US8693547B2 (en) 2011-04-06 2014-04-08 Google Inc. Apparatus and method for coding using motion vector segmentation
US8781004B1 (en) 2011-04-07 2014-07-15 Google Inc. System and method for encoding video using variable loop filter
US8780971B1 (en) 2011-04-07 2014-07-15 Google, Inc. System and method of encoding using selectable loop filters
US8780996B2 (en) 2011-04-07 2014-07-15 Google, Inc. System and method for encoding and decoding video data
US8638854B1 (en) 2011-04-07 2014-01-28 Google Inc. Apparatus and method for creating an alternate reference frame for video compression using maximal differences
US9154799B2 (en) 2011-04-07 2015-10-06 Google Inc. Encoding and decoding motion via image segmentation
US8804819B1 (en) 2011-04-19 2014-08-12 Google Inc. Method and apparatus for encoding video using data frequency
US8705620B1 (en) 2011-04-28 2014-04-22 Google Inc. Method and apparatus for encoding anchor frame by encoding features using layers
US9749638B1 (en) 2011-04-28 2017-08-29 Google Inc. Method and apparatus for encoding video with dynamic quality improvement
US8989256B2 (en) 2011-05-25 2015-03-24 Google Inc. Method and apparatus for using segmentation-based coding of prediction information
EP2727357A1 (en) 2011-07-01 2014-05-07 Motorola Mobility LLC Motion vector prediction design simplification
US8885706B2 (en) 2011-09-16 2014-11-11 Google Inc. Apparatus and methodology for a video codec system with noise reduction capability
WO2013067440A1 (en) 2011-11-04 2013-05-10 General Instrument Corporation Motion vector scaling for non-uniform motion vector grid
US9247257B1 (en) 2011-11-30 2016-01-26 Google Inc. Segmentation based entropy encoding and decoding
US9014265B1 (en) 2011-12-29 2015-04-21 Google Inc. Video coding using edge detection and block partitioning for intra prediction
US8908767B1 (en) 2012-02-09 2014-12-09 Google Inc. Temporal motion vector prediction
US9262670B2 (en) 2012-02-10 2016-02-16 Google Inc. Adaptive region of interest
US9094681B1 (en) 2012-02-28 2015-07-28 Google Inc. Adaptive segmentation
US9131073B1 (en) 2012-03-02 2015-09-08 Google Inc. Motion estimation aided noise reduction
WO2013162980A2 (en) 2012-04-23 2013-10-31 Google Inc. Managing multi-reference picture buffers for video data coding
US9609341B1 (en) 2012-04-23 2017-03-28 Google Inc. Video data encoding and decoding using reference picture lists
US9172970B1 (en) 2012-05-29 2015-10-27 Google Inc. Inter frame candidate selection for a video encoder
US9014266B1 (en) 2012-06-05 2015-04-21 Google Inc. Decimated sliding windows for multi-reference prediction in video coding
US11317101B2 (en) 2012-06-12 2022-04-26 Google Inc. Inter frame candidate selection for a video encoder
US9344729B1 (en) 2012-07-11 2016-05-17 Google Inc. Selective prediction signal filtering
US9380298B1 (en) 2012-08-10 2016-06-28 Google Inc. Object-based intra-prediction
US9288484B1 (en) 2012-08-30 2016-03-15 Google Inc. Sparse coding dictionary priming
US9756346B2 (en) 2012-10-08 2017-09-05 Google Inc. Edge-selective intra coding
US9407915B2 (en) 2012-10-08 2016-08-02 Google Inc. Lossless video coding with sub-frame level optimal quantization values
US9369732B2 (en) 2012-10-08 2016-06-14 Google Inc. Lossless intra-prediction video coding
US9485515B2 (en) 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
US9503746B2 (en) 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
US9210432B2 (en) 2012-10-08 2015-12-08 Google Inc. Lossless inter-frame video coding
US9225979B1 (en) 2013-01-30 2015-12-29 Google Inc. Remote access encoding
US9210424B1 (en) 2013-02-28 2015-12-08 Google Inc. Adaptive prediction block size in video coding
US9300906B2 (en) 2013-03-29 2016-03-29 Google Inc. Pull frame interpolation
US9756331B1 (en) 2013-06-17 2017-09-05 Google Inc. Advance coded reference prediction
US9313493B1 (en) 2013-06-27 2016-04-12 Google Inc. Advanced motion estimation
US9392272B1 (en) 2014-06-02 2016-07-12 Google Inc. Video coding using adaptive source variance based partitioning
US9578324B1 (en) 2014-06-27 2017-02-21 Google Inc. Video coding using statistical-based spatially differentiated partitioning
US9286653B2 (en) 2014-08-06 2016-03-15 Google Inc. System and method for increasing the bit depth of images
US9153017B1 (en) 2014-08-15 2015-10-06 Google Inc. System and method for optimized chroma subsampling
US10102613B2 (en) 2014-09-25 2018-10-16 Google Llc Frequency-domain denoising
US9807416B2 (en) 2015-09-21 2017-10-31 Google Inc. Low-latency two-pass video coding
CN109756739B (zh) * 2017-11-07 2022-09-02 华为技术有限公司 图像预测方法和装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4104067C2 (de) * 1991-02-11 1994-08-25 Telefonbau & Normalzeit Gmbh Verfahren zur Verbesserung der Qualität von Bewegungsvektoren für digitale Bildübertragung
US6160849A (en) * 1992-06-29 2000-12-12 Sony Corporation Selectable field and frame based predictive video coding
JPH0730896A (ja) * 1993-06-25 1995-01-31 Matsushita Electric Ind Co Ltd 動きベクトル符号化及び復号化方法
FR2725577B1 (fr) * 1994-10-10 1996-11-29 Thomson Consumer Electronics Procede de codage ou de decodage de vecteurs mouvement et dispositif de codage ou de decodage mettant en oeuvre ledit procede
EP1274252A3 (en) * 1995-08-29 2005-10-05 Sharp Kabushiki Kaisha Video coding device and video decoding device with a motion compensated interframe prediction
US5896176A (en) * 1995-10-27 1999-04-20 Texas Instruments Incorporated Content-based video compression
US6005980A (en) * 1997-03-07 1999-12-21 General Instrument Corporation Motion estimation and compensation of video object planes for interlaced digital video

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010050706A2 (ko) * 2008-10-31 2010-05-06 에스케이텔레콤 주식회사 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
WO2010050706A3 (ko) * 2008-10-31 2010-08-05 에스케이텔레콤 주식회사 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
US8976863B2 (en) 2008-10-31 2015-03-10 Sk Telecom Co., Ltd. Method and apparatus for encoding motion vector, and method and apparatus for encoding/decoding image using same
US9392300B2 (en) 2008-10-31 2016-07-12 Sk Telecom Co., Ltd. Method and apparatus for encoding a motion vector, and method and apparatus for encoding/decoding image using same
US9781445B2 (en) 2008-10-31 2017-10-03 Sk Telecom Co., Ltd. Method and apparatus for encoding a motion vector, and method and apparatus for encoding/decoding image using same
US9794590B2 (en) 2008-10-31 2017-10-17 Sk Telecom Co., Ltd. Method and apparatus for encoding a motion vector, and method and apparatus for encoding/decoding image using same
US9955182B2 (en) 2008-10-31 2018-04-24 Sk Telecom Co., Ltd. Method and apparatus for encoding a motion vector, and method and apparatus for encoding/decoding image using same

Also Published As

Publication number Publication date
KR19990012726A (ko) 1999-02-25
US6289049B1 (en) 2001-09-11
DE19734882C2 (de) 2002-01-24
JPH1169357A (ja) 1999-03-09
JP2920208B2 (ja) 1999-07-19
DE19734882A1 (de) 1999-02-04

Similar Documents

Publication Publication Date Title
KR100244291B1 (ko) 동영상 움직임 벡터 코딩 방법
TWI706670B (zh) 廣義運動向量差解析度
KR100226722B1 (ko) 동영상 움직임 벡터 추정 방법
KR100681370B1 (ko) 전방 예측된 인터레이스드 비디오 프레임의 필드에 대한모션 벡터의 예측
CA2702769C (en) Motion estimation and compensation of video object planes for interlaced digital video
US20060268166A1 (en) Method and apparatus for coding motion and prediction weighting parameters
MXPA06002525A (es) Codificacion y descodificacion para video entrelazado.
JPH10304364A (ja) インターレースされたデジタルビデオ用のイントラ−マクロブロックのdc及びac係数予測
JP2002532026A (ja) 動き推定とブロックマッチング・パターンの改良
JP7372433B2 (ja) オプティカルフローを用いた予測リファインメントに関する方法および装置
KR20050045746A (ko) 계층 구조의 가변 블록 크기를 이용한 움직임 추정 방법및 장치
Ma et al. An improved adaptive rood pattern search for fast block-matching motion estimation in JVT/H. 26L
US20070133689A1 (en) Low-cost motion estimation apparatus and method thereof
CN115002454A (zh) 关于利用光流的预测细化的方法和装置
Chen et al. Rate-distortion optimal motion estimation algorithm for video coding
US20160127731A1 (en) Macroblock skip mode judgement method for encoder
EP1819173B1 (en) Motion vector predictive encoding apparatus and decoding apparatus
CN114979631A (zh) 用于利用光流的预测细化、双向光流和解码器侧运动矢量细化的方法和装置
CN117793346A (zh) 视频编解码中的细化量化步骤
Wei et al. A fast hierarchical 1/4-pel fractional pixel motion estimation algorithm of H. 264/AVC video coding
KR20040110755A (ko) 예측 모드 선택 방법과 그 장치, 그 방법을 이용한 동영상압축 방법과 그 장치를 포함한 동영상 부호화기 및 상기방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 기록매체
Khan et al. A variable block size motion estimation algorithm for real-time H. 264 video encoding
KR20060109440A (ko) 전력 최적화 콜로케이팅된 움직임 추정 방법
KR100986992B1 (ko) H.264 인코딩 시 고속 인터 모드 결정 방법
KR20070061214A (ko) 저비용 움직임 추정 장치 및 움직임 추정 방법

Legal Events

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

Payment date: 20070918

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee