KR100255756B1 - Method for coding motion vector - Google Patents

Method for coding motion vector Download PDF

Info

Publication number
KR100255756B1
KR100255756B1 KR1019970051988A KR19970051988A KR100255756B1 KR 100255756 B1 KR100255756 B1 KR 100255756B1 KR 1019970051988 A KR1019970051988 A KR 1019970051988A KR 19970051988 A KR19970051988 A KR 19970051988A KR 100255756 B1 KR100255756 B1 KR 100255756B1
Authority
KR
South Korea
Prior art keywords
motion vector
candidate
value
motion vectors
vector
Prior art date
Application number
KR1019970051988A
Other languages
Korean (ko)
Other versions
KR19990031322A (en
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 KR1019970051988A priority Critical patent/KR100255756B1/en
Publication of KR19990031322A publication Critical patent/KR19990031322A/en
Application granted granted Critical
Publication of KR100255756B1 publication Critical patent/KR100255756B1/en

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

PURPOSE: A motion vector encoding method is provided to prevent the deterioration of encoding efficiency of a motion vector by performing a dispersion considering that two are similar among prediction candidate data applied. CONSTITUTION: 3 estimation candidate data and a median filter apply a median vector of 3 estimation candidate data(201). The smallest motion vector(MVPs) and the largest motion vector(MVPb) are respectively detected from the 3 estimation candidate data on the basis of the median vector(202). An absolute value(A) of a difference between the median vector and the smallest motion vector is calculated(203). An absolute value(B) of a difference between the largest motion vector and the median vector is calculated(204). An is added to B, therefore C is calculated(205). A selection signal generation unit compares C with a determined threshold(206). A motion vector encoder processes a motion vector encoding according as the degree of dispersion is excessive(207). A motion vector encoding is processed according as it is judged that the degree of dispersion is not excessive(208).

Description

움직임벡터 부호화방법{METHOD FOR CODING MOTION VECTOR}Motion vector coding method {METHOD FOR CODING MOTION VECTOR}

본 발명은 움직임벡터를 부호화하는 방법에 관한 것으로서, 특히, 후보 블록들의 움직임벡터의 분산(Variance)정도에 따라 예측치(Predictor)를 결정하여 현재 인가된 움직임벡터에 대한 부호화를 수행하는데 있어서 효율적인 분산계산으로 압축효율을 향상시키기 위한 움직임벡터 부호화방법에 관한 것이다.The present invention relates to a method of encoding a motion vector. In particular, the present invention relates to a method for encoding a motion vector and determining a predictor according to a degree of variance of motion vectors of candidate blocks. The present invention relates to a motion vector encoding method for improving compression efficiency.

통상적으로 알려진 디지탈 텔레비젼 시스템에 있어서 영상 프레임신호의 영상 라인 신호는 화소값이라 불리는 일련의 디지탈 데이터를 포함하므로 각 영상신호를 규정하기 위해서 상당한 양의 디지탈 데이터가 필요하다. 이에 반해 일반적으로 이용되는 전송채널의 주파수대역폭은 제한되어 있으므로, 많은 양의 데이터를 전송하는 것이 불가능하다. 따라서 주파수대역폭이 제한된 전송채널을 통해 많은 양의 데이타를 전송하기 위하여, 다양한 데이터 압축기술이 제안되었다. 현재 제안되어 있는 압축기법중에는 확률적 부호화기법과 함께 시간적, 공간적 압축기법을 사용하는 이른바 혼합 부호화기법이 효율적이라고 알려져 있다.In a conventionally known digital television system, a video line signal of a video frame signal includes a series of digital data called pixel values, and therefore a considerable amount of digital data is required to define each video signal. On the other hand, since the bandwidth of a commonly used transmission channel is limited, it is impossible to transmit a large amount of data. Therefore, various data compression techniques have been proposed to transmit a large amount of data through a transmission channel having a limited bandwidth. Among the currently proposed compressor methods, a so-called mixed coding method using a temporal and spatial compression method together with a stochastic coding method is known to be efficient.

대부분의 혼합 부호화기법은 움직임보상 DPCM(Differential Pulse Code Modulation), 2차원 DCT(Discrete Cosine Transform), DCT계수의 양자화 그리고 VLC(Variable Length Coding)를 이용한다. 움직임보상 DPCM은 현재 프레임과 이전 프레임 사이의 물체의 움직임을 추정하여 물체의 움직임에 따라 현재 프레임을 예측하고, 현재 프레임과 그 예측치간의 차이를 나타내는 차분신호를 생성한다.Most hybrid coding techniques use motion-compensated differential pulse code modulation (DPCM), two-dimensional discrete cosine transform (DCT), quantization of DCT coefficients, and variable length coding (VLC). The motion compensation DPCM estimates the motion of the object between the current frame and the previous frame, predicts the current frame according to the motion of the object, and generates a differential signal representing the difference between the current frame and the prediction value.

특히, 움직임보상 DPCM에서는 현재와 이전 프레임 사이의 움직임 추정에 기초하여 이전 프레임 데이터로부터 현재 프레임데이타가 예측된다. 이와 같이 예측된 프레임데이타의 움직임 추정결과는 현재와 이전 프레임간의 화소의 변위를 나타내는 2차원 움직임벡터로 기술된다. 즉, 수평 및 수직방향 성분으로 표현된 움직임벡터로 기술된다.In particular, in motion compensation DPCM, current frame data is predicted from previous frame data based on motion estimation between the current and previous frames. The motion estimation result of the predicted frame data is described as a two-dimensional motion vector representing the displacement of the pixel between the current and previous frames. That is, it is described as a motion vector expressed in horizontal and vertical components.

도 1은 이러한 움직임벡터를 부호화하기 위한 기존 장치의 블록도로서, 인접한 후보블록들의 움직임벡터중 미디언(Median) 벡터를 예측치(Predictor)로하여 서치 블록의 움직임벡터와 차분부호화(DPCM)를 하는 방식과 예측치 후보데이타중 현재 인가된 움직임벡터와 가장 근접한 값을 갖는 움직임벡터를 예측치로 하여 서치블록의 움직임벡터와 차분부호화를 하는 방식을 현재 인가되는 예측 후보데이타들의 분산정도에 따라 선택적으로 운영하도록 구현된 장치이다.FIG. 1 is a block diagram of an existing apparatus for encoding such a motion vector. The median vector of neighboring candidate blocks is used as a predictor to perform DPCM with motion vectors of a search block. The method of performing differential coding with the motion vector of the search block by using the motion vector having the closest value to the currently applied motion vector among the method and the predicted candidate data selectively according to the variance of the currently applied predictive candidate data. Implemented device.

즉, 도 1에 도시된 장치는 현재 인가된 움직임벡터를 부호화하기 위하여, 분산계산부(110)는 인가되는 예측치 후보데이타에 대한 분산정도를 계산한다. 이 때 인가되는 예측치 후보데이타는 현재 인가된 움직임벡터의 서치 블록에 인접한 후보블록중 설정된 모델에 적합한 후보 블록들의 움직임벡터들이다. 예를 들어 설정된 모델이 MPEG-4 Verification Model인 경우에는 부호화하고자 하는 서치블록을 중심으로 왼쪽(Left), 위쪽(Top), 오른쪽 위(Top Right)에 위치한 블록이 적합한 후보블록이 된다. 이러한 후보블록들에 대한 분산정도가 구해지면, 선택신호 생성부(120)로 전송한다.That is, in order to encode the currently applied motion vector, the apparatus shown in FIG. 1 calculates the degree of variance of the predicted candidate data to be applied. The candidate candidate data applied at this time are motion vectors of candidate blocks suitable for a model set among candidate blocks adjacent to the search block of the currently applied motion vector. For example, if the set model is an MPEG-4 Verification Model, blocks located on the left, top, and top right centers of the search block to be encoded are suitable candidate blocks. When the dispersion degree of these candidate blocks is obtained, the signal is transmitted to the selection signal generator 120.

선택신호 생성부(120)는 소정의 문턱값과 분산계산부(110)로부터 전송된 분산정도값을 비교하여 분산정도값이 소정의 문턱값 미만인 경우에는 미디언 필터(100)를 통해 출력된 미디언 벡터가 스위치(140)를 통해 해당 예측치로 전송되도록 하는선택신호를 생성한다. 이에 따라 차분부호화부(150)는 인가된 미디언 벡터와 현재 움직임벡터간의 차분부호화를 수행한다. 이 때, 멀티플렉서(160)를 통해 출력되는 부호화된 움직임벡터는 차분부호화부(150)로부터 전송된 데이터로만 이루어진다.The selection signal generator 120 compares the predetermined threshold value with the dispersion degree value transmitted from the dispersion calculator 110, and when the dispersion degree value is less than the predetermined threshold value, the MIDI outputted through the median filter 100. A selection signal is generated to allow the frozen vector to be transmitted to the corresponding prediction through the switch 140. Accordingly, the differential encoding unit 150 performs differential encoding between the applied median vector and the current motion vector. In this case, the encoded motion vector output through the multiplexer 160 is composed only of data transmitted from the differential encoder 150.

그러나 선택신호 생성부(120)에서 소정의 문턱값과 분산계산부(110)로부터 전송된 분산정도값을 비교한 결과, 분산정도값이 소정의 문턱값 이상인 경우에는 최적 예측치 결정부(130)로부터 출력되는 최적의 예측치가 스위치(140)를 통해 차분부호화부(150)로 전송되도록 한다. 여기서 최적의 예측치는 인가되는 예측치 후보데이타중 현재 인가되는 움직임벡터와 가장 근접한 값을 갖는 움직임벡터이다.However, as a result of comparing the predetermined threshold value and the dispersion degree value transmitted from the dispersion calculator 110 by the selection signal generator 120, when the dispersion degree value is greater than or equal to the predetermined threshold value, the optimal predictor value determination unit 130 is determined. The optimum predicted value is output to the differential encoder 150 through the switch 140. The optimal predicted value is a motion vector having a value closest to the currently applied motion vector among the predicted candidate candidate data.

차분 부호화부(150)는 인가된 최적의 예측치와 현재의 움직임벡터간에 차분부호화를 수행하여 멀티플렉서(160)로 전송한다. 이 때 멀티플렉서(160)는 스위치(180)를 통해 인가되는 부가 비트가 차분부호화부(150)로부터 전송된 움직임벡터에 포함되어 전송되도록 다중화처리를 한다. 여기서 부가비트는 헤더코드 발생부(170)로부터 발생되는 헤더코드로서, 각 방향별로 1 내지 2비트가 발생된다. 즉, 미디언 필터(100)로부터 출력된 미디언 벡터와 최적 예측치 결정부(130)로부터 출력된 최적 예측치간의 크기를 비교하여 같은 값을 갖는 경우에는 '0', 미디언 벡터보다 최적의 예측치가 작은 경우에는 '10', 미디언 벡터보다 최적의 예측치가 큰 경우에는 '11'에 해당되는 비트가 발생된다. 이와 같이 발생되는 비트는 상술한 바와 같이 수평 및 수직방향별로 각각 발생된다. 이는 움직임벡터가 수평 및 수직방향 성분의 값으로 이루어지기 때문이다.The difference encoder 150 transmits the differential encoder 150 to the multiplexer 160 by performing differential encoding between the applied optimal predicted value and the current motion vector. In this case, the multiplexer 160 performs a multiplexing process so that an additional bit applied through the switch 180 is included in the motion vector transmitted from the differential encoder 150. Here, the additional bit is a header code generated from the header code generator 170, and 1 to 2 bits are generated in each direction. That is, when the magnitudes between the median vector output from the median filter 100 and the optimal prediction value output from the optimal predictor determiner 130 have the same value, '0', the optimal predicted value is greater than the median vector. If it is small, a bit corresponding to '10' is generated. If the optimal prediction value is larger than the median vector, a bit corresponding to '11' is generated. As described above, the generated bits are generated for each of the horizontal and vertical directions as described above. This is because the motion vector consists of the values of the horizontal and vertical components.

이와 같이 현재 발생된 움직임벡터에 대한 부호화를 처리할 때, 인가되는 예측치 후보데이타들중 2개의 움직임벡터의 값이 유사한 값을 갖는 경우에, 현재 인가되는 움직임벡터의 값도 유사한 값을 갖는 움직임벡터에 가까울 확률이 높다. 그리고 현재 인가되는 움직임벡터의 값이 상술한 유사한 값들과 가까울 경우에는, 최적 예측치 결정부(130)에서 출력되는 예측치와 미디언 필터(100)에서 출력되는 미디언 벡터가 동일할 가능성도 높다. 이와 같이 최적 예측기 결정부(130)에서 출력되는 예측치와 미디언 필터(100)로부터 출력되는 미디언 벡터가 동일할 경우에는 미디언 필터(100)에서 출력되는 미디언 벡터가 차분부호화부(150)로 전송되도록 선택신호 생성부(120)로부터 선택신호가 생성되어야 한다.As described above, when the encoding of the currently generated motion vector is performed, when the values of two motion vectors among the predicted candidate candidate data have similar values, the motion vectors currently having similar values also have similar values. Is likely to be close to. When the value of the currently applied motion vector is close to the above-described similar values, the predicted value output from the optimum predictor determiner 130 and the median vector output from the median filter 100 may be the same. As such, when the predicted value output from the optimal predictor determiner 130 and the median vector output from the median filter 100 are the same, the median vector output from the median filter 100 is differentially coded. The selection signal must be generated from the selection signal generation unit 120 to be transmitted to.

그러나 유사한 값들과 유사하지 않은 값간의 차이가 큰 경우에, 예를 들어 인가되는 예측치 후보데이타가 0, 0.5, 7과 같이 유사한 값들(0과 0.5)과 유사하지 않은 값(7)의 차이가 심한 경우에 종래기술의 분산계산방식에 의하면 분산정도가 심한 결과를 얻게 된다. 즉, 종래기술의 분산계산은 하기 수학식 1과 같이 중간 값(MVPm)과 가장 작은 값(MVPs)간의 차의 제곱근을 구하여 실제 차보다 크게 하고, 가장 큰 값(MVPb)과 중간 값(MVPm)간의 차도 마찬가지로 제곱근을 구하여 실제 차보다 크게 하여 후보 데이터들간의 분산정도를 계산하도록 되어 있다.However, when the difference between similar and dissimilar values is large, the difference between similar values (0 and 0.5) and dissimilar values (7) is severe, for example, the predicted candidate data applied is 0, 0.5, 7. In this case, according to the prior art dispersion calculation method, the dispersion degree is severely obtained. That is, the dispersion calculation of the prior art obtains the square root of the difference between the median value (MVPm) and the smallest value (MVPs), as shown in Equation 1, to be larger than the actual difference, the largest value (MVPb) and the median value (MVPm) Similarly, the square root of the difference is calculated to be larger than the actual difference to calculate the degree of variance between candidate data.

S(Pseudo Variance) = (MVPm-MVPs)2+(MVPb-MVPm)2 S (Pseudo Variance) = (MVPm-MVPs) 2 + (MVPb-MVPm) 2

이로 인하여 후보데이타들중 한 후보데이타가 전혀 근접되지 않은 값을 갖는 경우에는 후보데이타들간의 분산정도가 심한 것으로 간주된 선택신호가 생성되게 된다.As a result, when one of the candidate data has a value that is not close at all, a selection signal in which the degree of dispersion between the candidate data is considered to be severe is generated.

즉, 상술한 예와 같이 에측치 후보데이타가 0, 0.5, 7로 인가되는 경우에, 분산결과값 S는 (0.5-0)2+(7-0.5)2의 연산에 의해 42.5와 같은 큰 값이 구해지게 된다. 따라서 선택신호 생성부(120)에서 생성되는 선택신호에 의해 최적 예측치 결정부(130)에서 출력되는 예측치가 차분부호화부(150)로 전송되고, 헤더코드 발생부(170)로부터 발생되는 헤더코드가 멀티플렉서(160)로 전송되어 멀티플렉서(150)로부터 출력되는 부호화된 움직임벡터는 차분부호화된 움직임벡터에 헤더코드가 부가된 형태를 갖는다. 이 때 부가되는 헤더코드가 0인 경우에는, 현재 인가된 움직임벡터가 미디언 벡터에 가까운 움직임벡터값을 갖고 있었음을 의미한다.In other words, when the predicted candidate data is applied as 0, 0.5, or 7, as in the above-described example, the variance result S is a large value such as 42.5 by the operation of (0.5-0) 2 + (7-0.5) 2 . This will be saved. Therefore, the predicted value output from the optimal predictor determiner 130 is transmitted to the differential encoder 150 by the selection signal generated by the selector signal generator 120, and the header code generated from the header code generator 170 is The encoded motion vector transmitted to the multiplexer 160 and output from the multiplexer 150 has a form in which a header code is added to the differentially encoded motion vector. If the added header code is 0, this means that the currently applied motion vector had a motion vector value close to the median vector.

이와 같이 헤더코드가 부가된 경우에는 불필요한 1비트의 헤더코드가 부가된 것이고, 이러한 현상이 각 방향성분에 대해 모두 발생한 경우에는 2비트의 불필요한 비트가 부가된 움직임벡터를 전송하게 되므로, 움직임벡터의 부호화효율을 저하시킨 결과가 된다.When the header code is added in this way, an unnecessary 1-bit header code is added. When this phenomenon occurs for each direction component, a motion vector to which 2 bits of unnecessary bits are added is transmitted. This results in a decrease in the coding efficiency.

본 발명은 상술한 결점을 개선하기 위하여 안출한 것으로서, 인가된 예측치 후보데이타중 2개가 유사한 경우를 고려한 분산계산으로 움직임벡터의 부호화효율이 저하되는 것을 방지하기 위한 움직임벡터 부호화방법을 제공하는데 그 목적이 있다.An object of the present invention is to provide a motion vector encoding method for preventing the coding efficiency of a motion vector from being degraded by variance calculation considering two cases in which the candidate candidate data are similar. There is this.

상기 목적을 달성하기 위하여 본 발명에 따른 움직임벡터 부호화방법은, 다수의 후보 움직임벡터들의 분산정도에 따라 상기 다수의 후보 움직임벡터의 중간값으로 이루어진 제 1 움직임벡터 예측자(MVPm)와 상기 다수의 후보 움직임벡터중 현재 인가된 움직임벡터에 가장 근접한 값을 갖는 제 2 움직임벡터 예측자중에서 선택된 하나의 제 1 또는 제 2 움직임 벡터 예측자를 상기 현재 인가된 움직임벡터와 차분펄스코드변조하여 상기 현재 인가된 움직임벡터에 대한 부호화를 수행하는 것으로, 본 방법은, 상기 다수의 후보 움직임벡터가 인가되면, 상기 다수의 후보 움직임벡터가 모두 유사한 값을 갖지 않는 경우에만 상기 다수의 후보 움직임벡터들의 분산정도가 심한 것으로 판단하는 분산정도 판단단계; 상기 분산정도 판단단계에서 상기 다수의 후보 움직임벡터들에 대한 분산정도가 심한 것으로 판단되면, 상기 제 2 움직임벡터 예측자와 상기 현재 인가된 움직임벡터가 차분펄스코드변조되는 방식으로 상기 현재 인가된 움직임벡터에 대한 부호화를 수행하는 제 1 부호화 단계; 상기 분산정도 판단단계에서 상기 다수의 후보 움직임벡터들에 대한 분산정도가 심하지 않은 것으로 판단되면, 상기 제 1 움직임벡터 예측자와 상기 현재 인가된 움직임벡터가 차분펄스코드변조되는 방식으로 상기 현재 인가된 움직임벡터에 대한 부호화를 수행하는 제 2 부호화 단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, a motion vector encoding method according to the present invention includes a first motion vector predictor (MVPm) consisting of a median value of the plurality of candidate motion vectors and the plurality of motion vectors according to a dispersion degree of a plurality of candidate motion vectors. The first or second motion vector predictor selected from among the second motion vector predictors having a value closest to the currently applied motion vector among candidate motion vectors is modulated with the currently applied motion vector by differential pulse code modulation. In the method of encoding a motion vector, when the plurality of candidate motion vectors are applied, the dispersion of the plurality of candidate motion vectors is severe only when the plurality of candidate motion vectors do not all have similar values. A dispersion degree determination step of judging; If it is determined that the dispersion degree of the plurality of candidate motion vectors is severe in the dispersion degree determination step, the currently applied motion is performed in such a manner that the second motion vector predictor and the currently applied motion vector are differential pulse code-modulated. A first encoding step of performing encoding on the vector; If it is determined in the step of determining the dispersion degree that the dispersion degree for the plurality of candidate motion vectors is not severe, the first applied motion vector predictor and the currently applied motion vector are differentially pulse-coded. And a second encoding step of encoding the motion vector.

도 1은 종래 기술의 움직임벡터 부호화장치의 개략적인 블록도,1 is a schematic block diagram of a motion vector encoding apparatus of the prior art;

도 2는 본 발명에 따른 움직임벡터 부호화방법에 대한 흐름도.2 is a flowchart illustrating a motion vector encoding method according to the present invention.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

100 : 미디언 필터 110 : 분산계산부100: median filter 110: dispersion calculation unit

120 : 선택신호 생성부 130 : 최적 예측치 결정부120: selection signal generator 130: optimal prediction value determiner

140 : 스위치 150 : 차분부호화부140: switch 150: differential encoding unit

160 : 헤더코드 발생부 170 : 멀티플렉서160: header code generator 170: multiplexer

140, 180 : 스위치140, 180: switch

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세하게 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명에 따른 움직임벡터 부호화방법에 대한 흐름도이다. 도 1을 참조하여 도 2에 대한 동작을 상세하면 다음과 같다.2 is a flowchart illustrating a motion vector encoding method according to the present invention. The operation of FIG. 2 will be described in detail with reference to FIG. 1.

우선, 본 발명의 바람직한 실시예에서는 인가되는 예측치 후보데이타를 현재 서치 블록에 인접한 3개 후보 블록의 움직임벡터로 설정한다. 그리고 인가되는 움직임벡터들은 각각 수평 및 수직방향성분의 값(x, y)으로 이루어지나 설명의 편의를 위하여 이하에서는 한방향 성분을 중심으로 설명한다.First, in a preferred embodiment of the present invention, the predicted candidate data applied is set as motion vectors of three candidate blocks adjacent to the current search block. In addition, the applied motion vectors are composed of horizontal and vertical component values (x, y), respectively, but for convenience of description, the following description will be made based on one-directional components.

이러한 3개의 후보블록에 대한 움직임벡터가 예측치 후보데이타로 인가되면, 종래기술과 마찬가지로 분산계산부(110), 미디언 필터(100), 최적 예측치 결정부(130)로 각각 전송된다.When the motion vectors of the three candidate blocks are applied as the predictive candidate data, the motion vectors of the three candidate blocks are transmitted to the variance calculator 110, the median filter 100, and the optimal predictive value determiner 130 as in the prior art.

분산계산부(110)는 도 2에 도시된 바와 같이 운영된다.Dispersion calculation unit 110 is operated as shown in FIG.

즉, 제 201 단계에서 3개의 예측치 후보데이타와 미디언 필터(100)로부터 3개의 예측치 후보데이타에 대한 미디언 벡터가 인가되면, 제 202 단계로 진행되어 3개의 예측치 후보데이타에서 미디언 벡터를 기준으로 가장 작은 움직임벡터인 MVPs와 가장 큰 움직임벡터인 MVPb를 각각 검출한다. 예를 들어 현재 인가된 3개의 예측치 후보데이타가 0, 0.5, 7인 경우에 미디언 필터(100)로부터 전송되는 미디언 벡터 MVPm은 0.5가 되므로, 제 202 단계에서 추출되는 MVPs는 0이 되고, MVPb는 7이 된다. 이러한 검출은 미디언 벡터를 기준으로 인가된 3개의 후보데이타의 크기를 비교하여 이루어진다.That is, when the median vector for the three predictive candidate data is applied from the three predictive candidate data and the median filter 100 in step 201, the process proceeds to step 202 to refer to the median vector in the three predictive candidate data. As a result, the smallest motion vector MVPs and the largest motion vector MVPb are respectively detected. For example, when three candidate candidate data currently applied are 0, 0.5, and 7, the median vector MVPm transmitted from the median filter 100 becomes 0.5, and thus MVPs extracted in step 202 becomes 0. MVPb becomes seven. This detection is performed by comparing the magnitude of three candidate data applied based on the median vector.

이와 같이 MVPs와 MVPb가 검출되면, 제 203 단계로 진행되어 미디언 벡터(MVPm)와 가장 작은 움직임벡터(MVPs)간의 차의 절대치(A)를 하기 수학식 2와 같이 구한다.When MVPs and MVPb are detected as described above, the flow proceeds to step 203 to obtain an absolute value A of the difference between the median vector MVPm and the smallest motion vector MVPs as shown in Equation 2 below.

A = | MVPm - MVPs |A = | MVPm-MVPs |

그 다음 제 204 단계로 진행되어 가장 큰 움직임벡터(MVPb)와 미디언 벡터(MVPm)간의 차의 절대치(B)를 하기 수학식 3과 같이 구한다.In operation 204, the absolute value B of the difference between the largest motion vector MVPb and the median vector MVPm is obtained as shown in Equation 3 below.

B = | MVPb - MVPm |B = | MVPb-MVPm |

그리고 제 205 단계로 진행되어 구해진 A와 B를 가산하여 C값을 얻는다. 즉, 상술한 예와 같이 MVPm이 0.5이고, MVPs가 0이고, MVPb가 7일 때, 본 발명에 따라 얻어지는 분산계산 결과값 C는 |0.5-0|+|7-0.5|연산에 의해 7이 된다. 이는 종래의 42.5에 비해 상당히 작은 값이다. 이와 같이 얻어진 분산계산 결과값(C)은 선택신호 생성부(120)로 전송된다.Proceeding to step 205, the obtained A and B are added to obtain a C value. That is, as in the above example, when MVPm is 0.5, MVPs is 0, and MVPb is 7, the dispersion calculation result C obtained in accordance with the present invention is 7 by | 0.5-0 | + | 7-0.5 | do. This is a considerably smaller value than the conventional 42.5. The dispersion calculation result value C thus obtained is transmitted to the selection signal generator 120.

선택신호 생성부(120)는 본 발명과 같이 변형된 분산계산에 의해 얻어지는 분산계산 결과값이 기존에 비해 상당히 작은 값이 구해지므로, 분산정도가 심한 지 여부를 판별하기 위해 이용되는 소정의 문턱치를 기존에 비해 작게 설정한다. 즉, 소정의 문턱치는 인가되는 3개의 예측치가 모두 유사하지 않은 경우에만 분산도가 심한 것으로 판별될 수 있도록 설정된다.Since the selection signal generation unit 120 obtains a significantly smaller value than the conventional dispersion calculation result obtained by the modified dispersion calculation as in the present invention, a predetermined threshold value used to determine whether the dispersion degree is severe or not is determined. Set smaller than before. That is, the predetermined threshold is set so that the variance can be determined only when all three predicted values that are applied are not similar.

따라서 제 206 단계에서 선택신호 생성부(120)는 분산계산부(110)로부터 전송된 분산계산 결과값(C)과 소정의 문턱치를 비교하고, 비교한 결과, 분산계산 결과값(C)이 소정의 문턱치보다 큰 경우에는 분산정도가 심한 것으로 판별하여 제 207 단계로 진행된다.Accordingly, in operation 206, the selection signal generator 120 compares the dispersion calculation result value C transmitted from the dispersion calculation unit 110 with a predetermined threshold, and as a result of the comparison, the dispersion calculation result value C is predetermined. If it is larger than the threshold, it is determined that the degree of dispersion is severe and the flow proceeds to step 207.

제 207 단계에서, 도 1에 도시된 움직임벡터 부호화장치는 분산정도가 심한 경우에 대한 움직임벡터 부호화처리를 수행한다. 즉, 선택신호 생성부(120)는 최적 예측치 결정부(130)로부터 출력된 예측치가 차분부호화부(150)로 전송되도록 스위치(140)를 제어함과 동시에 헤더코드 발생부(170)로부터 출력된 소정의 헤더코드가 멀티플렉서(160)로 전송되도록 스위치(180)를 제어하는 선택신호를 생성한다. 이에 따라 차분 부호화부(150)는 인가되는 최적의 예측치와 현재 인가되는 움직임벡터간의 차분 부호화를 수행하여 멀티플렉서(160)로 전송하고, 멀티플렉서(160)는 차분부호화부(150)로부터 전송된 데이터와 스위치(180)를 통해 전송된 소정의 비트의 헤더코드를 다중화하여 부호화된 움직임벡터 데이터로 출력한다. 이와 같은 부호화처리가 완료되면 리턴된다.In operation 207, the motion vector encoding apparatus shown in FIG. 1 performs a motion vector encoding process for a case where the degree of dispersion is severe. That is, the selection signal generation unit 120 controls the switch 140 so that the prediction value output from the optimum prediction value determination unit 130 is transmitted to the differential encoding unit 150 and is output from the header code generation unit 170. A selection signal for controlling the switch 180 is generated so that a predetermined header code is transmitted to the multiplexer 160. Accordingly, the difference encoder 150 performs differential encoding between the optimal predicted value applied and the currently applied motion vector, and transmits the difference to the multiplexer 160. The multiplexer 160 is connected to the data transmitted from the differential encoder 150. The header code of a predetermined bit transmitted through the switch 180 is multiplexed and output as encoded motion vector data. It returns when this encoding process is completed.

한편, 제 206 단계의 비교결과, 분산계산 결과값(C)이 소정의 문턱치보다 크지 않은 경우에는 분산정도가 심하지 않은 경우이므로 제 208 단계로 진행되어 현재 인가된 움직임벡터에 대한 부호화처리를 수행한다. 즉, 선택신호 생성부(120)는 미디언 필터(100)로부터 출력된 미디언 벡터가 차분부호화부(150)로 전송되도록 스위치(140)를 제어함과 동시에 헤더코드 발생부(170)로부터 발생되는 소정의 헤더코드는 멀티플렉서(160)로 전송되지 않도록 스위치(180)를 제어하는 선택신호를 생성한다. 이에 따라 차분부호화부(150)는 인가되는 미디언 벡터와 현재 인가되는 움직임벡터간의 차분부호화를 수행하여 멀티플렉서(160)로 전송하고, 멀티플렉서(160)는 차분부호화부(150)로부터 전송된 데이터만 부호화된 움직임벡터 데이터로 출력한다. 이와 같은 부호화처리가 완료되면 리턴된다.On the other hand, when the comparison result of step 206, the dispersion calculation result value (C) is not greater than the predetermined threshold value, since the degree of dispersion is not severe, the process proceeds to step 208 to perform the encoding process for the currently applied motion vector. . That is, the selection signal generator 120 controls the switch 140 so that the median vector output from the median filter 100 is transmitted to the differential encoder 150 and is generated from the header code generator 170. The predetermined header code generates a selection signal for controlling the switch 180 such that the predetermined header code is not transmitted to the multiplexer 160. Accordingly, the differential encoding unit 150 performs differential encoding between the applied median vector and the currently applied motion vector to the multiplexer 160, and the multiplexer 160 only transmits the data transmitted from the differential encoding unit 150. Output as encoded motion vector data. It returns when this encoding process is completed.

상술한 예와 같이 분산결과값이 7인 경우에는 제 206 단계에서 제 208 단계로 진행되어 분산정도가 심하지 않은 것으로 판정됨에 따른 움직임벡터의 부호화처리가 이루어지도록 한다. 그리고 상술한 과정은 움직임벡터의 각 방향성분별로 각각 수행된다.If the dispersion result value is 7, as in the above-described example, the process proceeds from step 206 to step 208 so that the encoding process of the motion vector is performed according to the determination that the dispersion degree is not severe. The above process is performed for each direction component of the motion vector.

이상에서 설명한 바와 같이 본 발명은 움직임벡터를 부호화하는데 있어서, 선택된 후보 블록의 움직임벡터가 모두 유사한 값을 갖지 않는 경우에만 분산정도가 심한 것으로 판단할 수 있도록 분산계산을 수행함으로써, 선택된 후보블록의 움직임벡터가 2개 이상 유사한 값을 갖는 경우에 별도의 부가 비트가 추가되지 않아 상대적으로 움직임벡터의 부호화효율을 향상시키는 효과가 있다.As described above, the present invention encodes a motion vector by performing variance calculation to determine that the degree of variance is severe only when the motion vectors of the selected candidate blocks do not all have similar values. If the vectors have two or more similar values, no additional bits are added, thereby improving the coding efficiency of the motion vector.

Claims (3)

다수의 후보 움직임벡터들의 분산정도에 따라 상기 다수의 후보 움직임벡터의 중간값으로 이루어진 제 1 움직임벡터 예측자(MVPm)와 상기 다수의 후보 움직임벡터중 현재 인가된 움직임벡터에 가장 근접한 값을 갖는 제 2 움직임벡터 예측자중에서 선택된 하나의 제 1 또는 제 2 움직임 벡터 예측자를 상기 현재 인가된 움직임벡터와 차분펄스코드변조하여 상기 현재 인가된 움직임벡터에 대한 부호화를 수행하는 방법에 있어서,A first motion vector predictor (MVPm) consisting of intermediate values of the plurality of candidate motion vectors and a value having a value closest to a currently applied motion vector among the plurality of candidate motion vectors according to a dispersion degree of the plurality of candidate motion vectors. A method of performing encoding on the currently applied motion vector by differentially modulating a first or second motion vector predictor selected from two motion vector predictors with the currently applied motion vector, 상기 다수의 후보 움직임벡터가 인가되면, 상기 다수의 후보 움직임벡터가 모두 유사한 값을 갖지 않는 경우에만 상기 다수의 후보 움직임벡터들의 분산정도가 심한 것으로 판단하는 분산정도 판단단계;A dispersion degree determining step of determining that the dispersion degree of the plurality of candidate motion vectors is severe only when the plurality of candidate motion vectors do not all have similar values when the plurality of candidate motion vectors are applied; 상기 분산정도 판단단계에서 상기 다수의 후보 움직임벡터들에 대한 분산정도가 심한 것으로 판단되면, 상기 제 2 움직임벡터 예측자와 상기 현재 인가된 움직임벡터가 차분펄스코드변조되는 방식으로 상기 현재 인가된 움직임벡터에 대한 부호화를 수행하는 제 1 부호화 단계;If it is determined that the dispersion degree of the plurality of candidate motion vectors is severe in the dispersion degree determination step, the currently applied motion is performed in such a manner that the second motion vector predictor and the currently applied motion vector are differential pulse code-modulated. A first encoding step of performing encoding on the vector; 상기 분산정도 판단단계에서 상기 다수의 후보 움직임벡터들에 대한 분산정도가 심하지 않은 것으로 판단되면, 상기 제 1 움직임벡터 예측자와 상기 현재 인가된 움직임벡터가 차분펄스코드변조되는 방식으로 상기 현재 인가된 움직임벡터에 대한 부호화를 수행하는 제 2 부호화 단계를 포함하는 것을 특징으로 하는 움직임벡터 부호화방법.If it is determined in the step of determining the dispersion degree that the dispersion degree for the plurality of candidate motion vectors is not severe, the first applied motion vector predictor and the currently applied motion vector are differentially pulse-coded. And a second encoding step of encoding the motion vector. 제 1 항에 있어서, 상기 분산정도 판단 단계는:The method of claim 1, wherein the determining of dispersion degree comprises: 상기 제 1 움직임벡터 예측자(MVPm)를 기준으로 상기 다수의 후보 움직임벡터중 가장 작은 값을 갖는 후보 움직임벡터(MVPs)와 가장 큰 값을 갖는 후보 움직임벡터(MVPb)를 검출하는 후보움직임벡터 검출단계;Candidate motion vector detection for detecting candidate motion vectors (MVPs) having the smallest value and candidate motion vectors (MVPb) having the largest value among the plurality of candidate motion vectors based on the first motion vector predictor (MVPm). step; 상기 제 1 움직임벡터 예측자(MVPm)와 상기 후보움직임벡터 검출단계에서 검출된 가장 작은 값을 갖는 후보벡터(MVPs)간의 차의 절대치(A)와 상기 가장 큰 값을 갖는 후보벡터(MVPb)와 상기 제 1 움직임벡터 예측자간의 차의 절대치(B)간의 합을 상기 다수의 후보 움직임벡터들에 대한 분산계산 결과값(C)으로 획득하는 분산계산 결과값 획득 단계;The absolute value A of the difference between the first motion vector predictor (MVPm) and the candidate vector (MVPs) having the smallest value detected in the candidate motion vector detection step, and the candidate vector (MVPb) having the largest value; A variance calculation result obtaining step of obtaining a sum of absolute values (B) of differences between the first motion vector predictors as a variance calculation result value (C) for the plurality of candidate motion vectors; 상기 획득된 분산계산 결과값(C)과 소정의 문턱값을 비교하여 상기 분산정도가 심한지 여부를 판별하는 분산정도 판별 단계를 포함하는 것을 특징으로 하는 움직임벡터 부호화방법.And a dispersion degree determining step of comparing the obtained dispersion calculation result value (C) with a predetermined threshold value to determine whether the dispersion degree is severe. 제 2 항에 있어서, 상기 문턱값은 상기 다수의 후보 움직임벡터가 모두 유사한 값을 갖지 않을 경우에 상기 다수의 후보 움직임벡터들의 분산정도가 심한 것으로 판단되도록 설정된 것을 특징으로 하는 움직임벡터 부호화방법.3. The motion vector encoding method of claim 2, wherein the threshold is set to determine that the variance of the plurality of candidate motion vectors is severe when the plurality of candidate motion vectors do not all have similar values.
KR1019970051988A 1997-10-10 1997-10-10 Method for coding motion vector KR100255756B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970051988A KR100255756B1 (en) 1997-10-10 1997-10-10 Method for coding motion vector

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970051988A KR100255756B1 (en) 1997-10-10 1997-10-10 Method for coding motion vector

Publications (2)

Publication Number Publication Date
KR19990031322A KR19990031322A (en) 1999-05-06
KR100255756B1 true KR100255756B1 (en) 2000-05-01

Family

ID=19522491

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970051988A KR100255756B1 (en) 1997-10-10 1997-10-10 Method for coding motion vector

Country Status (1)

Country Link
KR (1) KR100255756B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090094595A (en) * 2008-03-03 2009-09-08 삼성전자주식회사 Method and appratus for encoding images using motion prediction by multiple reference, and method and apparatus for decoding images using motion prediction by multiple reference
WO2012157826A1 (en) * 2011-05-19 2012-11-22 엘지전자 주식회사 Method for removing vectors with similar ranges from a candidate prediction mode list and apparatus using such method

Also Published As

Publication number Publication date
KR19990031322A (en) 1999-05-06

Similar Documents

Publication Publication Date Title
EP0874526B1 (en) Motion compensation encoding apparatus and motion compensation encoding method for high-efficiency encoding of video information through selective use of previously derived motion vectors in place of motion vectors derived from motion estimation
US8259805B2 (en) Method and apparatus for generating coded picture data and for decoding coded picture data
KR100252342B1 (en) Motion vector coding method and apparatus
KR100955396B1 (en) Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording midium
US20070201556A1 (en) Motion vector encoding device and decoding device
KR20000015558A (en) An image coding device using a space correlativity and a method thereof
JPH10191394A (en) Multi-view-point image coder
KR100238893B1 (en) Motion vector coding method and apparatus
KR19980017213A (en) Image Decoding System with Compensation Function for Degraded Image
KR100255756B1 (en) Method for coding motion vector
KR100243865B1 (en) Motion Vector
KR100238073B1 (en) Method and apparatus for encoding selectively
KR20010019704A (en) Macroblock-based object-oriented coding method of image sequence having a stationary background
KR100220582B1 (en) Image encoder having adaptive coding
JP3872076B2 (en) Motion compensation device
KR100238892B1 (en) Method for coding motion vector and apparatus
KR0181033B1 (en) Apparatus for selectively encoding error signals
JP2003116141A (en) Moving picture prediction encoding method and its decoding method, and apparatus for the same
KR100295328B1 (en) Image Encoding and Decoding Method through Prediction of Residual Signal Between Blocks
KR20050003029A (en) Very low bit rate image coding apparatus and method
KR0174959B1 (en) Motion picture encoder for very low speed transmission
KR100200226B1 (en) Image processing apparatus for very low-speed transmission
KR0159974B1 (en) Discrete cosine transform method and apparatus for image encoder
KR100200225B1 (en) Image processing system for very low-speed transmission
KR100196873B1 (en) Method for controlling search motion vector in image encoder

Legal Events

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

Payment date: 20110201

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee