KR20020044694A - 2차원 최소 비트 예측 기반의 움직임 벡터 부호화 방법 - Google Patents

2차원 최소 비트 예측 기반의 움직임 벡터 부호화 방법 Download PDF

Info

Publication number
KR20020044694A
KR20020044694A KR1020000073696A KR20000073696A KR20020044694A KR 20020044694 A KR20020044694 A KR 20020044694A KR 1020000073696 A KR1020000073696 A KR 1020000073696A KR 20000073696 A KR20000073696 A KR 20000073696A KR 20020044694 A KR20020044694 A KR 20020044694A
Authority
KR
South Korea
Prior art keywords
motion vector
dimensional
prediction error
information
error information
Prior art date
Application number
KR1020000073696A
Other languages
English (en)
Other versions
KR100355831B1 (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 KR1020000073696A priority Critical patent/KR100355831B1/ko
Priority to US10/002,183 priority patent/US7023919B2/en
Priority to CNB011396830A priority patent/CN1190082C/zh
Publication of KR20020044694A publication Critical patent/KR20020044694A/ko
Application granted granted Critical
Publication of KR100355831B1 publication Critical patent/KR100355831B1/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
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation

Abstract

본 발명은 동영상 압축 부호화 방법에 관한 것으로서 특히, 최소 비트량 예측 기법을 기반으로 하여, 2차원 최소 비트량 예측 방법으로 움직임 벡터를 부호화하는 방법에 관한 것이다.
본 발명은 현재 부호화할 움직임 벡터(MV)와 그 주변의 이미 전송된 주변 움직임 벡터들 중에서 현재 부호화할 움직임 벡터와의 예측오차 비트량이 최소가 되는 움직임 벡터를 찾고, 이 움직임 벡터와 현재 부호화할 움직임 벡터의 2차원적 예측오차 정보(MVD)를 부호화하고, 상기 주변 움직임 벡터들 중에서 어떤 움직임 벡터를 예측값에 사용했는지를 나타내는 2차원 모드정보(MODE)를 전송하는 방법으로 움직임 벡터를 부호화하고, 상기 모드 정보를 이용해서 상기 2차원 예측오차 부호화 정보를 기반으로 움직임 벡터를 복호화할 수 있도록 한다. 따라서 본 발명에 의하면 움직임 벡터의 부호화 효율을 향상시킨다.

Description

2차원 최소 비트 예측 기반의 움직임 벡터 부호화 방법{MOTION VECTOR CODING METHOD BASED ON 2-DEMENSION LEAST BITS PREDICTION}
본 발명은 2차원적 최소 비트 예측 기법을 이용한 움직임 벡터 부호화 방법에 관한 것으로서 특히, 2차원 최소 비트량 예측 기법을 기반으로 해서 움직임 벡터의 압축 효율을 향상시킬 수 있도록 한 움직임 벡터 부호화 방법에 관한 것이다.
더욱 상세하게는 본 발명은 동영상 압축 부호화 과정에서 현재 부호화할 움직임 벡터와 주변 움직임 벡터들 간의 2차원적 예측오차의 비트 수가 최소가 되는 움직임 벡터를 찾고, 상기 2차원 예측오차 정보(MVD)를 부호화할 때 주변의 움직임 벡터들 중에서 어떤 움직임 벡터가 예측오차 정보(MVD)를 구할 때 사용되었는가를 나타내는 2차원 모드정보(MODE)를 함께 부호화하여 전송함으로써, 동영상 압축 부호화의 효율을 높일 수 있도록 한 2차원 최소 비트 예측 기반의 움직임 벡터 부호화 방법에 관한 것이다.
영상신호의 압축 부호화 기법으로 H.263이나 MPEG4 등에서는 움직임 벡터 부호화를 기반으로 하고 있다.
움직임 벡터의 부호화는 현재 부호화할 움직임 벡터를 주변의 이미 전송된 움직임 벡터들을 참조해서 예측하는 부분과, 이 예측 오차를 부호화하는 부분으로 크게 나뉘어 지며, 영상 압축 부호화의 성능에 가장 큰 영향을 미치는 부분은 이미전송된 주변의 정보들을 이용해서 현재의 움직임 벡터를 얼마나 잘 예측하는가에 의존한다.
도1은 현재 부호화할 움직임 벡터(MV)와 그 주변의 이미 전송된 움직임 벡터(MV1,MV2,MV3)에 대해서 보여주고 있다.
현재 부호화할 움직임 벡터(MV)의 주변에서 좌측과 상측 및 상우측으로 인접한 3개의 움직임 벡터(MV1,MV2,MV3)를 예측에 사용할 후보로 선택한 경우이다.
이와같이 동영상 압축 부호화 기법에서는 현재 부호화할 움직임 벡터(MV)와 주변의 3개의 움직임 벡터(MV1,MV2,MV3)를 이용해서 그 차를 부호화하는 것이 일반적이다. 즉, 주변의 3개의 움직임 벡터(MV1,MV2,MV3)를 이용해서 현재 부호화할 움직임 벡터(MV)를 위한 예측값을 얻어내고, 현재 부호화할 움직임 벡터(MV)와 주변 움직임 벡터들의 예측오차 정보(MVD) 만을 가변 길이 부호화(VLC)해서 전송하는 것이 일반적인 방법이다.
H.263이나 MPEG4에서는 주변의 3개의 움직임 벡터(MV1,MV2,MV3)의 중간값(median)을 예측값으로 이용하는데, 도2에 이 방법을 나타내었다.
예측기(PREDICTOR)(201)는 현재 부호화할 움직임 벡터(MV)의 주변에 있는 3개의 움직임 벡터(MV1,MV2,MV3)에 대해서 x,y 각 방향의 값들 중에서 중간값을 선택해서 x,y 각 요소별로 출력한다.
즉, PMVx=Median(MV1x,MV2x,MV3x), PMVy=Median(MV1y,MV2y,MV3y).
그리고 연산기(202)는 상기 PMVx, PMVy 값과 현재 부호화할 움직임 벡터(MV)의 차(MVD)를 구하여 x,y 각 요소별로 디코더(Decoder/복호화기)에 보내준다.
즉, MVDx=MVx-PMVx, MVDy=MVy-PMVy.
한편, 상기한 중간값 예측 기법과는 달리 최소 비트량 예측 기법을 이용한 움직임 벡터 부호화 방법도 제안되고 있는데, 이 방법은 현재 부호화할 움직임 벡터와 주변의 움직임 벡터들 간의 차이가 가장 적은 비트 수를 발생시키는 주변 움직임 벡터를 선택하여 최소 비트 예측오차(MVD)를 부호화하고, 또 이 때 어떤 움직임 벡터가 예측에 사용되었는지를 알려주는 모드정보(MODE)를 보내주는 방법이다.
도3은 1차원 최소 비트량 예측 기법을 기반으로 하는 움직임 벡터 부호화시의 비트 스트림(bit-stream) 구조를 보여준다. 도3에 나타낸 바와같이 1차원 최소 비트량 예측 기반의 움직임 벡터 부호화는 2차원상에서 x 요소(component)에 대한 예측오차(MVDxmbp)와 x모드정보(MODEx), y 성분에 대한 예측오차(MVDymbp)와 y모드정보(MODEy)로 각각 이루어지고 있다.
도4는 1차원 최소 비트량 예측 기법을 기반으로 하는 움직임 벡터 부호화 과정을 보여준다.
도4의 (a)는 부호화 과정이고, (b)는 복호화 과정이다. 도4에 나타낸 바와같이, 현재 부호화할 움직임 벡터(MV)에 대해서, 주변의 3개의 움직임 벡터(MV1,MV2,MV3)를 고려하며, 각각의 움직임 벡터값이 다음과 같다고 가정한다.
MV=1, MV1=0, MV2=3, MV3=4.5
이 경우에 최소 비트량을 가지는 예측오차(MVDmbp)는 움직임 벡터 MV1=0을 예측값으로 사용했을 경우 얻어지고, 그 값은 +1.0 이다.
그런데 도3에 도시한 바와같이 비트 스트림 구조상 예측오차(MVDmbp)가 먼저 전송되므로 복호화기 입장에서 본다면 주어진 예측오차(MVDmbp) 정보만으로 현재 블록의 움직임 벡터 후보(MVC)를 찾아낼 수 있다.
따라서, 상기 예측오차 정보(MVDmbp) 및 움직임 벡터(MV1,MV2,MV3) 정보만으로 복호화기 입장에서 얻어진 움직임 벡터 후보들이 각각 MVC1,MVC2,MVC3 이다. 그러나 여기서 움직임 베터 후보(MVC2)는 실제 후보가 되지는 못한다. 그 이유는 만약 움직임 벡터 후보(MVC2)가 실제로 전송하고자 했던 움직임 벡터였다면 최소 비트량 예측이라는 부호화 조건에 의해서 그 예측오차(MVDmbp)는 +1.0이 아니라 움직임 벡터(MV3)를 예측값으로 해서 -0.5가 전송되어 왔을 것이기 때문이다.
따라서, 복호화기 입장에서 실제로 가능한 후보는 MVC1,MVC3 뿐이고, 모드정보(MODE)는 이 경우 MVC1,MVC3 중에서 어느 것이 실제 예측에 사용한 움직임 벡터인지를 알려주는 1비트만 필요하게 된다.
이와같이 중간값 예측 기법이나, 최소 비트량 예측 기법을 이용해서 예측오차 정보와 함께 모드정보를 전송해 주는 방법으로 부호화를 수행할 때, 두 방법 모두 움직임 벡터의 x,y 각 요소에 대해서 각각 독립적인 부호화를 수행하고 있다.
앞에서 설명한 바와같이 H.263이나 MPEG4 처럼 중간값 예측을 기반으로 하는 움직임 벡터 부호화 방법이나, 최소 비트량 예측 기법을 기반으로 하는 움직임 벡터 부호화 방법 모두 움직임 벡터의 x,y 각 요소를 독립적으로 처리하고 있으므로 실시간 압축 부호화 처리에 장애가 될 수 있고, 전송되는 데이터의 양도 증가할 우려가 높다.
특히, 최소 비트량 예측에 기반을 둔 부호화의 경우에는 예측오차 정보(MVD 정보) 뿐만 아니라 모드정보(MODE)도 x,y 각 요소에 대해서 존재하고 있는데, 예측오차 정보(MVD)는 최소 비트량 예측으로 적은 비트 수를 차지하지만, 이에 비해서 모드정보(MODE)의 부담은 상대적으로 커지게 된다.
본 발명은 최소 비트량 예측 기법을 기반으로 하여 동영상을 압축 부호화함에 있어서, 현재 부호화할 움직임 벡터와 그 주변의 움직임 벡터를 비교하여 2차원적 예측오차가 최소 비트량이 되는 움직임 벡터를 선택하고, 2차원적 최소 비트량으로 얻어진 예측오차 정보 및 어떤 움직임 벡터를 선택하였는가를 나타내는 2차원 모드정보를 부호화하는 방법으로 동영상 압축 부호화를 수행함으로써, 최소 비트량 예측 기반의 동영상 압축 부호화 성능을 향상시킬 수 있도록 한 움직임 벡터 부호화 방법을 제안한다.
또한 본 발명은 최소 비트량 예측 기법을 기반으로 하여 동영상을 압축 부호화함에 있어서, 최소 비트량 예측 기법으로 인해 발생된 예측오차 정보가 중간값 예측으로 인해 얻어진 예측오차 정보에 비해서 2차원 상에서 원점(0,0)을 중심으로 집중되는 분포특성을 갖는다는 점을 이용해서, 예측오차 정보에 대해서도 위와같은 경우에 가중치를 주고 또 2차원적인 방법으로 부호화를 수행함으로써, 최소 비트량 예측 기반의 동영상 압축 부호화의 성능을 향상시킬 수 있도록 한 움직임 벡터 부호화 방법을 제안한다.
도1은 현재 부호화할 움직임 벡터와 참조할 주변 움직임 벡터를 나타낸 도면
도2는 H.263 움직임 벡터 부호화 방법을 설명하기 위한 도면
도3은 1차원 최소 비트량 예측 기법 기반의 움직임 벡터 부호화를 위한 비트 스트림의 구조를 나타낸 도면
도4는 1차원 최소 비트량 예측 기법 기반의 움직임 벡터 부호화 과정을 나타낸 도면
도5는 본 발명에 따른 2차원 최소 비트량 예측 기법 기반의 움직임 벡터 부호화를 위한 비트 스트림의 구조를 나타낸 도면
도6은 본 발명에 따른 2차원 최소 비트량 예측 기법 기반의 움직임 벡터 부호화 과정을 나타낸 도면
도7은 본 발명에 따른 2차원 최소 비트량 예측 기법 기반의 움직임 벡터 부호화 과정에서 모드정보의 부호화 방법을 설명하기 위한 도면
도8은 본 발명에서 움직임 벡터 예측오차 정보(MVD)의 2차원 부호화의 예를 나타낸 도면
도9는 본 발명을 확장하여 1차원 최소 비트량 예측 기법 기반의 비트 스트림구조를 2차원 최소 비트 예측 기반의 비트 스트림 구조로 변화시킨 경우를 나타낸 도면
본 발명의 움직임 벡터 부호화 방법은, 현재 부호화할 움직임 벡터와 그 주변의 n(n ≥1)개의 움직임 벡터와의 2차원 예측 오차 정보를 구하는 단계, 상기 2차원 예측오차 정보 중에서 최소 비트량의 예측오차값 및 그 최소 비트량의 예측오차 정보에서 참조된 움직임 벡터를 지시하는 모드정보를 구하는 단계, 상기 2차원 예측오차 정보 및 2차원 모드정보를 부호화하는 단계; 로 이루어진 것을 특징으로 하는 2차원 최소 비트 예측 기반의 움직임 벡터 부호화 방법이다.
또한 본 발명의 움직임 벡터 부호화 방법은, 상기 2차원 예측오차 정보 및 2차원 모드정보가 각각의 x,y 두 요소를 하나의 코드워드로 표현하여 이루어지는 것을 특징으로 한다.
또한 본 발명의 움직임 벡터 부호화 방법은, 상기 2차원 예측오차 정보가 x 요소에 대한 1차원 예측오차 정보 및 y 요소에 대한 1차원 예측오차 정보의 연속된 비트 스트림 구조로 이루어지고, 상기 2차원 모드정보가 x 요소에 대한 1차원 모드정보와 y 요소에 대한 1차원 모드정보의 연속된 비트 스트림 구조로 이루어지는 것을 특징으로 한다.
또한 본 발명의 움직임 벡터 부호화 방법은, 상기 2차원 예측오차 정보 및 2차원 모드정보가 각각의 x,y 두 요소를 하나의 코드워드(code word/부호어)로 표현하여 구해진 2차원 예측오차 정보 및 2차원 모드정보의 비트 스트림 구조로 이루어지는 것을 특징으로 한다.
또한 본 발명의 움직임 벡터 부호화 방법은, 상기 현재 부호화할 움직임 벡터 주변의 n개의 움직임 벡터들과 상기 최소 비트량 기반 2차원 예측오차 정보만으로 복호화기에서 얻어낼 수 있는 후보 움직임 벡터를 정의하는 단계와, 상기 후보 움직임 벡터들 중에서 실제 유효한 움직임 벡터 후보를 선택하는 단계와, 상기 선택된 유효한 움직임 벡터 후보에 비트 수 및 코드를 할당하여 해당 2차원 모드정보를 부호화하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.
또한 본 발명의 움직임 벡터 부호화 방법은, 상기 현재 부호화할 움직임 벡터에 대해서 고려되는 주변의 움직임 벡터가 3개일 때, 실제 유효한 후보 움직임 벡터가 하나일 경우는 코드할당을 하지 않고, 두개일 경우에는 1비트의 코드를 할당하고, 3개일 경우에는 어느 하나에 대해서 1비트 코드를 할당하고 나머지 2개에 대해서는 2비트의 코드를 할당하여 모드정보를 부호화하는 것을 특징으로 한다.
또한 본 발명의 움직임 벡터 부호화 방법은, 최소 비트량 예측 기반의 움직임 벡터의 예측오차 정보가 2차원 상에서 원점(0,0)에 집중 분포된다는 특성에 따라, 예측오차 정보가 (0,0)인 경우 가중치를 주어 부호화하는 것을 특징으로 한다.
또한 본 발명의 움직임 벡터 부호화 방법은, 상기 예측오차 정보가 (0,0)인 경우 1비트 정보를 할당하여 부호화하고, 예측오차 정보의 x 또는 y 요소 모두가 '0'이 아닌 경우는 2비트의 헤더 정보에 이어서 예측오차 정보를 할당하여 부호화하고, 예측오차 정보의 x 또는 y 요소 중에서 어느 하나의 요소가 '0'인 경우 3비트의 헤더 정보에 이어서 '0'이 아닌 나머지 요소에 대한 예측오차 정보를 할당하여 부호화하는 것을 특징으로 한다.
또한 본 발명의 움직임 벡터 부호화 방법은, 상기 헤더 정보는 x, y 중에서어떤 요소가 '0'인지를 나타내는 정보를 포함하는 것을 특징으로 한다.
상기한 바와같이 이루어진 본 발명의 움직임 벡터 부호화 방법을 첨부된 도면을 참조하여 실시예로서 설명한다.
도5는 본 발명에 따른 움직임 벡터 부호화를 위한 비트 스트림의 구조를 나타내며, 2차원 최소 비트량 예측 기법에 기반을 두고 움직임 벡터를 압축 부호화하였을 경우의 2차원 예측오차 정보(MVDxymbp) 및 모드정보(MODExy)를 보여주고 있다.
도5에 나타낸 바와 같이, 예측오차 정보(MVDxymbp)는 2차원적 최소 비트량 예측으로 얻어진 x,y 두 요소를 모두 고려한 움직임 벡터의 예측 오차정보(MVDxy)가 되며, 여기서 2차원 예측오차 정보(MVDxymbp)는 2차원적인 가변 길이 부호(VLC)가 될 수도 있고, 각 요소(x,y)에 대해서 가변 길이 부호화를 수행하는 것일 수도 있으며, 2차원 가변 길이 부호화(VLC)와 1차원 가변 길이 부호화(VLC)가 혼합된 형태일 수도 있다. 그리고 상기 2차원 예측오차 정보(MVDxymbp)와 마찬가지로 모드정보(MODExy)도 따라서 2차원 모드정보이다.
도6은 본 발명에 따른 움직임 벡터 부호화 과정을 설명하기 위한 도면으로서, 부호화할 움직임 벡터(MV)와 주변의 참조할 3개의 움직임 벡터(MV1,MV2,MV3)를 예를 들어 나타내었다. 여기서 MV=(6,2), MV1=(3,1), MV2=(2,3), MV3=(4,5) 라고 가정하였다.
위와같은 가정 아래 2차원 최소 비트량 예측 기반의 움직임 벡터 부호화 과정을 설명한다.
먼저, 현재 부호화할 움직임 벡터(MV)에 대해서 주변의 3개의 움직임 벡터(MV1,MV2,MV3)를 각각 예측값으로 사용했을 때 발생하는 예측오차(MVD)를 구하는데, MV1(3,1)을 예측값으로 사용했을 때 MVDxy=(+3,+1)이고, MV2(2,3)를 예측값으로 사용했을 때 MVDxy=(+4,-1)이고, MV3(4,5)을 예측값으로 사용했을 때 MVDxy=(+2,-3)이 된다. 그러므로 비트량이 MVD의 절대적인 크기에 비례한다고 가정하면 상기 각각의 MVDxy 중에서 비트량이 가장 작은 경우는 MV1(3,1)을 예측값으로 사용했을 경우이고, 이 경우에 최소 비트량의 예측오차 정보(MVDxymbp)=(+3,+1)이고 이 값이 먼저 전송된다. 그리고 최소 비트량의 예측오차 정보(MVDxymbp)에 대해서 MV1이 예측값으로 사용되었다는 것을 모드정보(MODExy)를 이용해서 전송해 준다.
모드정보(MODE)의 전송을 위해서는 1비트나 2비트의 정보를 보내주면 되지만, 본 발명에서는 2차원 모드정보(MODExy)의 정보량을 더욱 줄이기 위해서 다음과 같은 방법을 사용한다.
먼저, 부호화기는 2차원 예측오차 정보(MVDxymbp)를 보낸 후 복호화기의 입장에서 MV1,MV2,MV3,MVDxymbp정보만으로 얻을 수 있는 후보 움직임 벡터(MVCi)를 정의한다. 후보 움직임 벡터(MVCi)는 MVi를 예측값으로 사용했다고 가정했을 경우에 이미 전송된 2차원 예측오차 정보(MVDxymbp)를 이용해서 얻어지는 움직임 벡터 부호값이다.
즉, MVC1은 MV1을 예측값으로 사용했다고 가정한 경우이고, MVC2는 MV2를 예측값으로 사용했다고 가정한 경우이고, MVC3은 MV3을 예측값으로 사용했다고 가정한 경우의 이미 전송된 2차원 예측오차 정보(MVDxymbp)를 이용해서 얻어낸 움직임 벡터 후보값이다.
이와같이 해서 MVC1,MVC2,MVC3가 주어졌지만 이 중에서 MVC2는 실제로는 진정한 후보가 되지 못한다. 왜냐하면 MVC2가 원하는 움직임 벡터였다면 전송된 2차원 예측오차 정보(MVDxymbp)는 (+3,+1)이 아니라 MV3를 예측값으로 해서 구한 (+1,-1)이 전송되었어야 하기 때문이다. 따라서, 실제로 유효한 움직임 벡터 후보는 MVC1,MVC2,MVC3 중에서 MVC1,MVC3만 남게되고, 이 것은 단지 1비트의 모드정보(MODE)만으로 실제 움직임 벡터가 어떤 것인지를 분별할 수 있도록 해준다.
이와같이 2차원적인 최소 비트량 예측을 기반으로 하는 움직임 벡터의 부호화 방법은 종래의 1차원적인 최소 비트량 예측 기반의 움직임 벡터 부호화 방법에 비하여 예측오차 정보(MVDxy)의 양은 x,y 두가지 요소를 모두 고려하기 때문에 다소 늘어날 수 있지만, 모드정보(MODExy)의 정보량은 이 보다 훨씬 줄어들게 된다.
또한 x,y 각 요소에 대해서 독립적인 부호화를 수행하는 경우보다 간단하고 빠른 시간의 압축 부호화를 가능하게 한다.
즉, 2차원 상에서 가장 가까운 거리에 있는 움직임 벡터값이 x,y로 분리된 좌표상에서도 가장 가까운 거리에 놓일 가능성이 매우 크기 때문에, 2차원적인 최소 비트량 예측을 기반으로 하는 경우가 종래의 1차원적인 최소 비트량 예측을 기반으로 하는 경우 보다 효과적이라고 할 수 있다.
도7은 유효한 MVC의 수에 따른 모드정보의 비트 할당에 대해서 보여준다.
도7은 하나의 실시예이며, 여기서 유효한 MVC가 3개인 경우 1비트 코드를 3개의 MVC 중에서 어디에 할당할 것인가는 보다 다양하게 선택될 수 있을 것이다.
도7을 살펴보면, 유효한 MVCi의 수가 하나일 경우에는 이 것만이 유일(unique)하기 때문에 코드할당이 필요하지 않다. 유효한 MVCi의 수가 두개일 경우에는 1비트의 코드('0' 또는 '1')를 할당하여 부호화할 수 있다. 유효한 MVCi의 수사 세개일 경우에는 그 중에서 어느 하나(여기서는 MVC1)에 1비티의 코드('0')를 할당하였고, 나머지(여기서는 MVC2,MVC3)에는 각각 2비트의 코드(각각 '10','11')를 할당하였다.
한편, 도8은 본 발명에서 움직임 벡터의 예측오차 정보(MVD)를 2차원적으로 부호화하는 방법을 예시하고 있다.
이 방법은 영상의 크기가 매우 작고 움직임 또한 매우 적은 동영상의 경우 대부분의 움직임 벡터가 2차원 좌표상에서 원점(0,0)을 중심으로 집중하여 분포하고, 또 예측오차 정보(MVDxy)도 (0,0)에 집중적으로 분포할 것이라는 특징에 기반을 두고 있다. 특히, 최소 비트량 예측을 기반으로 하는 경우 MVD가 (0,0)으로 집중되는 현상이 더욱 심화된다는 특징에 기반을 두고 있다.
따라서 본 발명에서는 위와같은 특징을 이용해서 예측오차 정보(MVD)를 2차원적으로 부호화한다. 즉, 도8에 의하는 바와같이 (0,0)에 가중치를 둔 부호화 방식이다.
도8은 (0,0)에 가중치를 둔 일종의 2차원 가변 길이 부호화(VLC)와 1차원 가변 길이 부호화의 혼합 형태인데, 특히 최소 비트량 예측에서는 예측오차 정보(MVD)가 (0,0)을 가질 확률이 매우 높아지기 때문에 이 방법이 더욱 효과적인 것을 보여준다.
도8에 의하면 MVD를 2차원 부호화함에 있어서, 예측오차 정보(MVDxy)가 (0,0)이면 1비트만 부호화하여 전송하고, MVDx와 MVDy가 모두 '0'이 아니면 2비트의 헤더(header) 정보("00")에 이어서 그 값(MVDx, MVDy)을 부호화하여 전송한다. 이 때 전송하는 값은 이미 (0,0)이 아니라는 정보를 갖고 있으므로 H.263의 MVD 테이블 보다 훨씬 효과적으로 만들어진다.
그리고 MVDx만 '0'인 경우에는 3비트의 헤더 정보("011")에 이어서 그 '0'이 아닌 값(MVDy)을 부호화하여 보내주고, MVDy만 '0'인 경우에는 3비트의 헤더 정보("010")에 이어서 그 '0'이 아닌 값(MVDx)을 부호화하여 전송한다.
그리고, 도8에 나타낸 바와같이 3비트의 헤더 정보는 어떤 요소가 '0'인지를 나타내는 정보를 포함하고 있는 것을 알 수 있고, 이러한 2차원 부호화 방법은 움직임 벡터 MV1,MV2,MV3의 상태를 이용해서 적응적으로 수행하게 할 수도 있다.
도9는 본 발명을 확장한 개념을 보이고 있다.
도9에서는 2차원적인 예측오차 정보(MVD)의 부호화 방식을 1차원적인 최소 비트량 예측을 기반으로 구성된 예측오차 정보(MVD)를 부호화하는데도 사용할 수 있음을 보여주고 있다.
도9를 살펴보면, 예측오차 정보(MVD)가 x,y 각 요소에 해당하는 MVDxmbp와 MVDymbp를 순차적으로 이어서 이루어지고, 여기에 따른 모드정보(MODE) 또한 x,y 각 요소에 해당하는 MODEx와 MODEy를 순차적으로 이어서 이루어지고 있는 것을 보여준다.
따라서 MVD 정보와 MODE 정보 모두를 앞에서 설명한 방법으로 2차원 부호화할 수 있게 된다.
본 발명은 동영상 압축 부호화에 있어서, 2차원 최소 비트량 예측을 기반으로 해서 예측오차 정보(MVD)와, 주변의 어떤 움직임 벡터가 예측에 사용되었는지를 나타낸 모드정보(MODE)의 2차원적 부호화를 수행하였다.
따라서 본 발명에 의하면 x,y 각 요소에 대해서 움직임 벡터 정보들을 각각 독립적으로 부호화하는 경우보다 성능과 압축 부호화 효율에서 좋은 효과를 가질 수 있고, 특히 저 전송율 동영상 전송에서 중요한 움직임 벡터의 부호화 효율을 향상시킨다.

Claims (9)

  1. 현재 부호화할 움직임 벡터와 그 주변의 n(n ≥1)개의 움직임 벡터와의 2차원 예측 오차 정보를 구하는 단계, 상기 2차원 예측오차 정보 중에서 최소 비트량의 예측오차값 및 그 최소 비트량의 예측오차 정보에서 참조된 움직임 벡터를 지시하는 모드정보를 구하는 단계, 상기 2차원 예측오차 정보 및 2차원 모드정보를 부호화하는 단계; 로 이루어진 것을 특징으로 하는 움직임 벡터 부호화 방법.
  2. 제 1 항에 있어서, 상기 2차원 예측오차 정보 및 2차원 모드정보가 각각의 x,y 두 요소를 하나의 코드워드로 표현하여 이루어지는 것을 특징으로 하는 움직임 벡터 부호화 방법.
  3. 제 1 항에 있어서, 상기 2차원 예측오차 정보가 x 요소에 대한 1차원 예측오차 정보 및 y 요소에 대한 1차원 예측오차 정보의 연속된 비트 스트림 구조로 이루어지고, 상기 2차원 모드정보가 x 요소에 대한 1차원 모드정보와 y 요소에 대한 1차원 모드정보의 연속된 비트 스트림 구조로 이루어지는 것을 특징으로 하는 움직임 벡터 부호화 방법.
  4. 제 1 항에 있어서, 상기 2차원 예측오차 정보 및 2차원 모드정보가 각각의 x,y 두 요소를 하나의 코드워드로 표현하여 구해진 2차원 예측오차 정보 및 2차원모드정보의 비트 스트림 구조로 이루어지는 것을 특징으로 하는 움직임 벡터 부호화 방법.
  5. 제 1 항에 있어서, 상기 현재 부호화할 움직임 벡터 주변의 n개의 움직임 벡터들과 상기 최소 비트량 기반 2차원 예측오차 정보만으로 복호화기에서 얻어낼 수 있는 후보 움직임 벡터를 정의하는 단계와, 상기 후보 움직임 벡터들 중에서 실제 유효한 움직임 벡터 후보를 선택하는 단계와, 상기 선택된 유효한 움직임 벡터 후보에 비트 수 및 코드를 할당하여 해당 2차원 모드정보를 부호화하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 움직임 벡터 부호화 방법.
  6. 제 4 항에 있어서, 상기 현재 부호화할 움직임 벡터에 대해서 고려되는 주변의 움직임 벡터가 3개일 때, 실제 유효한 후보 움직임 벡터가 하나일 경우는 코드할당을 하지 않고, 두개일 경우에는 1비트의 코드를 할당하고, 3개일 경우에는 어느 하나에 대해서 1비트 코드를 할당하고 나머지 2개에 대해서는 2비트의 코드를 할당하여 모드정보를 부호화하는 것을 특징으로 하는 움직임 벡터 부호화 방법.
  7. 제 1 항에 있어서, 최소 비트량 예측 기반의 움직임 벡터의 예측오차 정보가 2차원 상에서 (0,0)으로 집중 분포된다는 특성에 따라, 예측오차 정보가 (0,0)인 경우 가중치를 주어 부호화하는 것을 특징으로 하는 움직임 벡터 부호화 방법.
  8. 제 7 항에 있어서, 상기 예측오차 정보가 (0,0)인 경우 1비트 정보를 할당하여 부호화하고, 예측오차 정보의 x 또는 y 요소 모두가 '0'이 아닌 경우는 2비트의 헤더 정보에 이어서 예측오차 정보를 할당하여 부호화하고, 예측오차 정보의 x 또는 y 요소 중에서 어느 하나의 요소가 '0'인 경우 3비트의 헤더 정보에 이어서 '0'이 아닌 나머지 요소에 대한 예측오차 정보를 할당하여 부호화하는 것을 특징으로 하는 움직임 벡터 부호화 방법.
  9. 제 8 항에 있어서, 상기 헤더 정보는 x, y 중에서 어떤 요소가 '0'인지를 나타내는 정보를 포함하는 것을 특징으로 하는 움직임 벡터 부호화 방법.
KR1020000073696A 2000-12-06 2000-12-06 2차원 최소 비트 예측 기반의 움직임 벡터 부호화 방법 KR100355831B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020000073696A KR100355831B1 (ko) 2000-12-06 2000-12-06 2차원 최소 비트 예측 기반의 움직임 벡터 부호화 방법
US10/002,183 US7023919B2 (en) 2000-12-06 2001-12-05 Method for coding motion vector using 2-dimensional minimum bitrate predicting technique
CNB011396830A CN1190082C (zh) 2000-12-06 2001-12-06 用二维最小比特率预估技术编码移动矢量的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000073696A KR100355831B1 (ko) 2000-12-06 2000-12-06 2차원 최소 비트 예측 기반의 움직임 벡터 부호화 방법

Publications (2)

Publication Number Publication Date
KR20020044694A true KR20020044694A (ko) 2002-06-19
KR100355831B1 KR100355831B1 (ko) 2002-10-19

Family

ID=19702730

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000073696A KR100355831B1 (ko) 2000-12-06 2000-12-06 2차원 최소 비트 예측 기반의 움직임 벡터 부호화 방법

Country Status (3)

Country Link
US (1) US7023919B2 (ko)
KR (1) KR100355831B1 (ko)
CN (1) CN1190082C (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7760952B2 (en) 2003-09-09 2010-07-20 Lg Electronics Inc. Method for setting motion vector of digital video
KR101285841B1 (ko) * 2011-11-14 2013-07-12 경상대학교산학협력단 움직임 벡터 부호화 장치 및 복호화 장치, 그리고 그것의 부호화 및 복호화 방법

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6983018B1 (en) * 1998-11-30 2006-01-03 Microsoft Corporation Efficient motion vector coding for video compression
US7499495B2 (en) * 2003-07-18 2009-03-03 Microsoft Corporation Extended range motion vectors
US20050013498A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US7567617B2 (en) * 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US7317839B2 (en) * 2003-09-07 2008-01-08 Microsoft Corporation Chroma motion vector derivation for interlaced forward-predicted fields
US8064520B2 (en) * 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7599438B2 (en) * 2003-09-07 2009-10-06 Microsoft Corporation Motion vector block pattern coding and decoding
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7253374B2 (en) * 2003-09-15 2007-08-07 General Motors Corporation Sheet-to-tube welded structure and method
KR100606140B1 (ko) 2004-11-09 2006-08-01 (주)씨앤에스 테크놀로지 적응적 모드 결정에 의한 움직임 예측방법
FR2906669A1 (fr) * 2006-10-03 2008-04-04 France Telecom Codage et decodage par competition predictifs et adaptatifs.
US8249371B2 (en) * 2007-02-23 2012-08-21 International Business Machines Corporation Selective predictor and selective predictive encoding for two-dimensional geometry compression
US9628794B2 (en) 2009-06-18 2017-04-18 Kabushiki Kaisha Toshiba Video encoding apparatus and a video decoding apparatus
CN101860754B (zh) * 2009-12-16 2013-11-13 香港应用科技研究院有限公司 运动矢量编码和解码的方法和装置
KR101768207B1 (ko) 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
JP6523494B2 (ja) * 2010-01-19 2019-06-05 サムスン エレクトロニクス カンパニー リミテッド 縮小された予測動きベクトルの候補に基づいて、動きベクトルを符号化/復号化する方法及び装置
CN107241604B (zh) 2010-04-01 2020-11-03 索尼公司 图像处理设备和方法
JP6862522B2 (ja) 2019-10-18 2021-04-21 株式会社東芝 動画像符号化装置及び動画像復号化装置

Family Cites Families (5)

* 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
US6690833B1 (en) * 1997-07-14 2004-02-10 Sarnoff Corporation Apparatus and method for macroblock based rate control in a coding system
KR100249223B1 (ko) * 1997-09-12 2000-03-15 구자홍 엠팩(mpeg)-4의움직임벡터코딩방법
JP3888597B2 (ja) * 1998-06-24 2007-03-07 日本ビクター株式会社 動き補償符号化装置、及び動き補償符号化復号化方法
US6735249B1 (en) * 1999-08-11 2004-05-11 Nokia Corporation Apparatus, and associated method, for forming a compressed motion vector field utilizing predictive motion coding

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7760952B2 (en) 2003-09-09 2010-07-20 Lg Electronics Inc. Method for setting motion vector of digital video
KR101285841B1 (ko) * 2011-11-14 2013-07-12 경상대학교산학협력단 움직임 벡터 부호화 장치 및 복호화 장치, 그리고 그것의 부호화 및 복호화 방법

Also Published As

Publication number Publication date
US20020075957A1 (en) 2002-06-20
KR100355831B1 (ko) 2002-10-19
CN1190082C (zh) 2005-02-16
CN1358026A (zh) 2002-07-10
US7023919B2 (en) 2006-04-04

Similar Documents

Publication Publication Date Title
KR100355831B1 (ko) 2차원 최소 비트 예측 기반의 움직임 벡터 부호화 방법
US11178421B2 (en) Method and apparatus for encoding/decoding images using adaptive motion vector resolution
US9351008B2 (en) Encoding / decoding method and apparatus using a tree structure
US6983018B1 (en) Efficient motion vector coding for video compression
Kim et al. An efficient motion vector coding scheme based on minimum bitrate prediction
KR100867995B1 (ko) 동영상 데이터 인코딩/디코딩 방법 및 그 장치
US6043846A (en) Prediction apparatus and method for improving coding efficiency in scalable video coding
KR100249223B1 (ko) 엠팩(mpeg)-4의움직임벡터코딩방법
WO2011034148A1 (ja) 符号化装置、復号装置、動画像符号化装置、動画像復号装置、および符号化データ
JP2013507794A (ja) ビットストリームを復号する方法
US20220053206A1 (en) Video signal processing method and apparatus using adaptive motion vector resolution
US5933105A (en) Context-based arithmetic encoding/decoding method and apparatus
CN104717512A (zh) 一种前向双假设编码图像块的编解码方法和装置
US10757441B2 (en) Encoding device, decoding device, and program
KR101238012B1 (ko) 예측 움직임 벡터 부호화 방법 및 이를 수행하는 부호화 장치
JP2019537344A (ja) 画像パラメータをコーディング及びデコーディングする方法、画像パラメータをコーディング及びデコーディングする装置、並びに、これらに対応するコンピュータプログラム
Ozkan et al. Coding of stereoscopic images
CN105519120A (zh) 3d以及多视图视频编码中子pu语法信令以及亮度补偿的方法
KR100613106B1 (ko) 나무구조벡터양자화(tsvq)에 기반하는 부호화를 위한 인덱스할당방법
Tredwell et al. Improved motion description coding using the list mapping motion description (LMMD)
JPH08317385A (ja) 画像符号化装置および復号化装置
KR100216600B1 (ko) 영상 신호 벡터 양자화기를 위한 다중 부호어 전송 방법
Lai et al. Coding of image sequences using variable size block matching and vector quantization with gray-level segmentation and background memory
US20150215633A1 (en) Image-data binary arithmetic decoding device and image decoding device
Al-Khafaji Adaptive Selective Predictive For Image Data Compression

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: 20120827

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20130823

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20140822

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20150824

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee