KR100978465B1 - Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording midium - Google Patents

Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording midium Download PDF

Info

Publication number
KR100978465B1
KR100978465B1 KR1020100024553A KR20100024553A KR100978465B1 KR 100978465 B1 KR100978465 B1 KR 100978465B1 KR 1020100024553 A KR1020100024553 A KR 1020100024553A KR 20100024553 A KR20100024553 A KR 20100024553A KR 100978465 B1 KR100978465 B1 KR 100978465B1
Authority
KR
South Korea
Prior art keywords
motion vector
reference picture
calculated
prediction
encoding
Prior art date
Application number
KR1020100024553A
Other languages
Korean (ko)
Other versions
KR20100045959A (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 KR1020100024553A priority Critical patent/KR100978465B1/en
Publication of KR20100045959A publication Critical patent/KR20100045959A/en
Application granted granted Critical
Publication of KR100978465B1 publication Critical patent/KR100978465B1/en

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/533Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
    • 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/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/567Motion estimation based on rate distortion criteria
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Landscapes

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

Abstract

본 발명은 양-예측(Bi-prediction) 부호화 방법 및 장치, 양-예측(Bi-prediction) 복호화 방법 및 장치 및 기록매체에 관한 것이다. 본 발명에 따르면 영상압축의 양-예측 부호화의 구현상의 복잡도 문제를 해결하고, 움직임이 선형적으로 발생한다는 사실을 이용하여 보다 효율적으로 움직임 벡터를 전송함으로써 부호화 효율을 높일 수 있는 양-예측(Bi-prediction) 부호화 방법 및 장치, 양-예측(Bi-prediction) 복호화 방법 및 장치 및 기록매체가 제공된다.The present invention relates to a bi-prediction coding method and apparatus, a bi-prediction decoding method and apparatus and a recording medium. According to the present invention, it is possible to solve the problem of the implementation of the two-prediction encoding of image compression and to transmit the motion vector more efficiently by using the fact that the motion occurs linearly. -Prediction coding method and apparatus, Bi-prediction decoding method and apparatus and recording medium are provided.

Figure R1020100024553
Figure R1020100024553

Description

양-예측 부호화 방법 및 장치, 양-예측 복호화 방법 및 장치 및 기록매체{BI-PREDICTION CODING METHOD AND APPARATUS, BI-PREDICTION DECODING METHOD AND APPARATUS, AND RECORDING MIDIUM}Bi-PREDICTION CODING METHOD AND APPARATUS, BI-PREDICTION DECODING METHOD AND APPARATUS, AND RECORDING MIDIUM}

본 발명은 양-예측(Bi-prediction) 부호화 방법 및 장치, 양-예측(Bi-prediction) 복호화 방법 및 장치 및 기록매체에 관한 것으로서, 보다 상세하게는 동영상 압축에 있어 시간축 상관도를 줄일 수 있는 양-예측(Bi-prediction) 부호화 방법 및 장치, 양-예측(Bi-prediction) 복호화 방법 및 장치 및 기록매체에 관한 것이다.The present invention relates to a bi-prediction encoding method and apparatus, a bi-prediction decoding method and apparatus, and a recording medium, and more particularly, to reduce time-base correlation in video compression. Bi-prediction coding method and apparatus, Bi-prediction decoding method and apparatus and a recording medium.

영상 압축 국제표준으로 ISO/IEC JTC1에서 정한 MPEG-1, MPEG-2와 MPEG-4 및 ITU-T의 H.26x 표준에 따르면, 현재의 픽쳐(Picture)를 부호화(Coding)함에 있어 과거의 픽쳐(Picture)를 참조하는 P-픽쳐(P-Picture) 부호화 방법과, 과거 및 미래의 픽쳐(Picture) 두 개를 모두 참조하는 B-픽쳐(B-Picture) 부호화 방법을 채용하고 이를 기반으로 움직임 예측 부호화를 수행하도록 하고 있다.According to the MPEG-1, MPEG-2 and MPEG-4 and ITU-T H.26x standards set by ISO / IEC JTC1 as the international standard for image compression, the past picture in coding the current picture. P-Picture coding method referring to (Picture) and B-Picture coding method referring to both past and future pictures are adopted and motion estimation is based on this. Encoding is done.

또한, 움직임 벡터의 부호화 효율을 높이기 위해 현재 블록의 움직임 벡터를 그대로 부호화하는 것이 아니라 이웃한 블록들의 움직임 벡터들과의 연관성이 반영되도록 이웃 블록들의 움직임 벡터들을 이용하여 움직임 벡터의 예측 부호화를 수행하고 있다.In addition, instead of encoding the motion vector of the current block as it is, to enhance the coding efficiency of the motion vector, prediction encoding of the motion vector is performed using the motion vectors of neighboring blocks to reflect the correlation with the motion vectors of neighboring blocks. have.

따라서 부호화 효율을 향상시키려면, 움직임 벡터의 정확도와 이에 따른 예측 에러의 최소화도 중요하지만 이와 함께 움직임 벡터 데이터의 압축 효율 또한 고려되어야 한다.Therefore, in order to improve the coding efficiency, the accuracy of the motion vector and the minimization of the prediction error are important, but the compression efficiency of the motion vector data must be considered.

움직임 예측 에러의 최소화를 위해 양방향 예측 부호화 방법에서는 최적의 포워드 움직임 벡터(Forward motion vector, 이하 동일)와 백워드 움직임 벡터(Backward motion vector, 이하 동일) 쌍을 결정하기 위해 조인트 움직임 탐색(Joint Estimation)을 통하여 매우 정확한 움직임 벡터 쌍을 구함으로서 움직임 벡터의 정확도를 극대화하고 있다. 그러나 이러한 양방향 예측 부호화 방법은 매우 높은 복잡도가 요구되어 그 구현상에 많은 어려움이 있다.In order to minimize the motion prediction error, the bidirectional predictive coding method uses joint motion estimation to determine the optimal forward motion vector and backward motion vector pair. The accuracy of the motion vector is maximized by finding a very accurate motion vector pair through. However, such a bidirectional predictive encoding method requires a very high complexity and has a lot of difficulties in its implementation.

이와 같은 구현상의 어려움을 피하기 위해 일반적으로 양방향 예측 부호화 방법은 포워드 움직임 벡터와 백워드 움직임 벡터의 탐색을 서로 독립적으로 수행한 다음, 상기에서 탐색된 최적의 포워드 움직임 벡터와 최적의 백워드 움직임 벡터를 이용하여, 양방향 예측 부호화를 수행한다.In order to avoid such implementation difficulties, in general, the bidirectional predictive coding method independently searches for a forward motion vector and a backward motion vector, and then searches for the optimal forward motion vector and the optimal backward motion vector. By using the two-way prediction encoding.

그러나 일반적으로 영상의 많은 경우에는 움직임이 선형적으로 발생하는데, 이 경우에도 포워드 움직임 벡터와 백워드 움직임 벡터 두 개를 전송하는 것은, 움직임이 선형적이라는 사실을 충분히 이용하지 않고 포워드 움직임 벡터와 백워드 움직임 벡터 두 개 모두를 전송함으로써 움직임 벡터의 부호화 비트가 많이 발생하여 그만큼 부호화 성능이 저하될 수 있다.In general, however, the motion occurs linearly in many cases of the image. Even in this case, the transmission of the forward motion vector and the backward motion vector does not take full advantage of the fact that the motion is linear. By transmitting both word motion vectors, a large number of encoded bits of the motion vector may be generated, thereby degrading encoding performance.

종래의 영상 압축과 관련된 양방향 예측 부호화를 보다 상세히 설명하면, 종래의 양방향 예측 부호화는 [수학식 1] 및 [수학식 2]를 이용하여 소정의 예측 비용(Cost)값을 계산한 후, 이중 최소의 예측 비용(Cost)을 가지는 포워드 움직임 벡터 및 백워드 움직임 벡터를 양방향 예측 벡터로 선택하고, 이를 이용하여 최적의 양방향 예측 참조블록을 결정하였다.Referring to the bidirectional predictive encoding related to conventional image compression in more detail, the conventional bidirectional predictive encoding uses the following equations (1) and (2) to calculate a predetermined cost value, and then doubles the minimum. A forward motion vector and a backward motion vector having a prediction cost of are selected as the bidirectional prediction vectors, and the optimal bidirectional prediction reference block is determined using the forward motion vectors.

[수학식 1][Equation 1]

Figure 112010017451283-pat00001

Figure 112010017451283-pat00001

[수학식 2][Equation 2]

Figure 112010017451283-pat00002
Figure 112010017451283-pat00002

여기서, [수학식 1]의

Figure 112010017451283-pat00003
는 비용(Cost)함수(Cost function)로 통상적으로 현재 블록과 예측 블록의 차이의 절대치 합(SAD)이나 비트율-왜곡 최적화 방법(Rate-Distortion Optimization) 등으로 결정된다.Where [Equation 1]
Figure 112010017451283-pat00003
Cost is a cost function, which is typically determined by the absolute sum (SAD) of the difference between the current block and the predictive block, or by a rate-distortion optimization method.

또한,

Figure 112010017451283-pat00004
는 현재 부호화할 블록,
Figure 112010017451283-pat00005
는 [수학식 2]와 같이 포워드 참조픽춰 블록과 백워드 참조픽춰 블록의 가중합으로 만든 예측 블록이다. 그리고,
Figure 112010017451283-pat00006
Figure 112010017451283-pat00007
는 각각 포워드 움직임 벡터 및 백워드 움직임 벡터값이고,
Figure 112010017451283-pat00008
Figure 112010017451283-pat00009
는 포워드 탐색 크기와 백워드 탐색 크기이다.Also,
Figure 112010017451283-pat00004
Is the block to be encoded currently,
Figure 112010017451283-pat00005
Is a prediction block made by weighted sum of the forward reference picture block and the backward reference picture block as shown in [Equation 2]. And,
Figure 112010017451283-pat00006
Wow
Figure 112010017451283-pat00007
Are forward motion vector and backward motion vector, respectively,
Figure 112010017451283-pat00008
Wow
Figure 112010017451283-pat00009
Is the forward search size and the backward search size.

[수학식 1]에서

Figure 112010017451283-pat00010
는 양방향 예측 부호화를 위한 최종 예측값이 된다. 여기서 양방향 예측 부호화를 위한 최종적인 포워드 움직임 벡터와 백워드 움직임 벡터를 찾기 위해서는 조인트 추정(Joint Estimation)을 수행하는데, 조인트 추정의 경우 움직임 탐색이
Figure 112010017451283-pat00011
×
Figure 112010017451283-pat00012
번 필요하여 매우 많은 연산량 및 참조픽춰 메모리 접근이 요구되므로, 실제 영상 압축 시스템에서 사용하기에는 현실적 문제가 많다.In Equation 1
Figure 112010017451283-pat00010
Is the final prediction value for bidirectional predictive encoding. In this case, joint estimation is performed to find the final forward motion vector and the backward motion vector for bidirectional predictive encoding.
Figure 112010017451283-pat00011
×
Figure 112010017451283-pat00012
Since it requires twice, and requires a large amount of computation and access to reference picture memory, there are many practical problems to use in an actual image compression system.

이러한 상기 문제점으로 인하여, 일반적으로 양방향 예측 부호화는 [수학식 3]에 나타낸 것처럼 포워드 움직임 벡터와 백워드 움직임 벡터를 독립적으로 탐색한 다음, [수학식 4]와 같이 [수학식 3]에서 찾은 포워드 움직임 벡터와 백워드 움직임 벡터를 이용하여, 양방향 예측을 수행한다.Due to this problem, in general, bidirectional predictive coding independently searches for a forward motion vector and a backward motion vector as shown in Equation 3, and then forwards the result found in Equation 3 as shown in Equation 4. Bidirectional prediction is performed using the motion vector and the backward motion vector.

[수학식 3]&Quot; (3) "

Figure 112010017451283-pat00013

Figure 112010017451283-pat00013

[수학식 4]&Quot; (4) "

Figure 112010017451283-pat00014

Figure 112010017451283-pat00014

[수학식 3]에서

Figure 112010017451283-pat00015
Figure 112010017451283-pat00016
는 각각 포워드 참조픽춰의 움직임 벡터 위치의 블록 및 백워드 참조픽춰의 움직임 벡터 위치의 블록을 의미하고,
Figure 112010017451283-pat00017
Figure 112010017451283-pat00018
는 각각 포워드 참조픽춰에서 찾은 최종적인 움직임 벡터 위치의 블록 및 백워드 참조픽춰에서 찾은 최종적인 움직임 벡터 위치의 블록이다.In [Equation 3]
Figure 112010017451283-pat00015
Wow
Figure 112010017451283-pat00016
Means a block of the motion vector position of the forward reference picture and a block of the motion vector position of the backward reference picture, respectively.
Figure 112010017451283-pat00017
Wow
Figure 112010017451283-pat00018
Are the blocks of the final motion vector positions found in the forward reference picture and the blocks of the final motion vector positions found in the backward reference picture, respectively.

또한, [수학식 4]에서

Figure 112010017451283-pat00019
는 [수학식 3]에서 독립적으로 찾은 최적의 포워드 움직임 벡터와 백워드 움직임 벡터를 이용한 최적의 양방향 움직임 보상 블록을 나타낸다.Also, in [Equation 4]
Figure 112010017451283-pat00019
Denotes an optimal bidirectional motion compensation block using an optimal forward motion vector and a backward motion vector found independently in Equation (3).

그런데, 상기와 같이 독립적으로 양방향 움직임 추정을 수행한 경우 필요한 탐색 횟수는

Figure 112010017451283-pat00020
+
Figure 112010017451283-pat00021
로 매우 낮은 복잡도가 요구되지만 대신 양방향 예측성능이 떨어지며 따라서 움직임 벡터 부호화시 비트 발생량이 많아진다.However, when the bidirectional motion estimation is independently performed as described above, the number of searches required is
Figure 112010017451283-pat00020
+
Figure 112010017451283-pat00021
However, very low complexity is required, but bidirectional prediction performance is lowered, resulting in higher bit generation in motion vector coding.

상기의 문제점을 해결하기 위하여 개발된 종래의 기술은 중국 AVS (Advanced Video System) 표준이 채택하고 있는 양방향 예측에서의 대칭 모드(Symmetric Mode)이다. 대칭 모드 (Symmetric Mode)는 포워드 움직임 벡터만을 전송하고, 백워드 움직임 벡터는 디코더에서 소정의 계산식을 이용하여 산출하여 양방향 예측에 필요한 포워드 움직임 벡터와 백워드 움직임 벡터를 구한 다음 이를 이용하여, 양방향 예측 참조블록을 구한다.The conventional technique developed to solve the above problem is a symmetric mode in bidirectional prediction adopted by the Chinese Advanced Video System (AVS) standard. Symmetric mode transmits only the forward motion vector, and the backward motion vector is calculated by a predetermined equation at the decoder to obtain the forward motion vector and the backward motion vector required for the bidirectional prediction, and then use the bidirectional prediction. Obtain a reference block.

이러한 대칭 모드에서 백워드 움직임 벡터는 포워드 움직임 벡터에 대칭되게 계산하여 사용하기 때문에 결국 포워드 움직임 벡터만을 전송하면 된다. 따라서 움직임 벡터 부호화에 들어가는 비트량을 줄일 수 있다.In this symmetric mode, since the backward motion vector is calculated and used symmetrically with the forward motion vector, only the forward motion vector needs to be transmitted. Therefore, the amount of bits for motion vector coding can be reduced.

포워드 움직임 벡터를 전송하고 이로 부터 벡워드 움직임 벡터를 산출하는 것이 그 반대의 경우보다 유리한 경우에는 상기 종래 기술이 부호화에 필요한 움직임 벡터의 비트량을 감소시키고, 포워드와 백워드의 조인트 움직임 탐색을 효과적으로 구현할 수 있어, 움직임 탐색의 매칭블록을 검색하는 복잡성을 거의 증가시키지 않으면서 양방향 예측방법의 제공이 가능하다.If it is advantageous to transmit the forward motion vector and calculate the backward motion vector therefrom, the prior art reduces the amount of bits of the motion vector required for encoding, and effectively searches for forward and backward joint motion. In this way, it is possible to provide a bidirectional prediction method with little increase in the complexity of searching for a matching block of motion search.

그러나, 백워드 움직임 벡터를 전송하고 이로부터 포워드 움직임 벡터를 산출하는 것이 그 반대의 경우보다 유리한 경우도 있을 수 있는데, 이런 경우에도 상기의 종래기술은 포워드 움직임 벡터를 전송하고, 이로부터 백워드 움직임 벡터를 산출할 수밖에 없어 비효율성을 감수하여야 한다.However, in some cases it may be more advantageous to transmit a backward motion vector and calculate a forward motion vector therefrom, in which case the prior art also transmits a forward motion vector from which backward motion is derived. Since we have no choice but to calculate the vector, we have to accept inefficiency.

또한, 상기의 종래기술에 따른 양방향 대칭모드 부호화 방법에 따르면, 현재블록을 움직임 예측할 때 사용하는 참조블록의 하나는 포워드 참조픽춰에서, 그리고 다른 하나는 백워드 참조픽춰에서 가져오는데, 포워드 참조픽춰는 현재블록이 속한 현재픽춰보다 시간적으로 전이고, 백워드 참조픽춰는 시간적으로 후인 경우에만 적용되고 있다. 그러나, 현재블록을 움직임 예측할 때, 영상의 성질에 따라 포워드나 백워드 두 참조픽춰 모두가 현재블록이 속한 현재픽춰보다 시간적으로 앞서거나 시간적으로 뒤인 경우가 움직임 예측에 더욱 유리한 경우도 많다. 이런 경우에도 상기 종래기술에 따른 움직임 예측에서는 반듯이 시간적으로 각각 전,후로 위치된 참조픽춰만을 적용하게 됨으로써 압축효율의 저하를 감수하여야 하는 문제점이 있다.In addition, according to the bidirectional symmetric mode coding method according to the prior art, one of the reference blocks used for motion prediction of the current block is taken from the forward reference picture and the other from the backward reference picture. The time reference is before the current picture to which the current block belongs, and the backward reference picture is applied only when it is later in time. However, when the current block is motion predicted, it is often more advantageous for motion prediction that both the forward and backward reference pictures are temporally or later than the current picture to which the current block belongs, depending on the nature of the image. Even in this case, the motion prediction according to the prior art has a problem in that the compression efficiency is reduced by applying only reference pictures positioned before and after each time.

따라서 본 발명의 첫 번째 목적은 영상압축의 양-예측(Bi-prediction) 부호화의 구현상의 복잡도 문제를 해결하고, 움직임이 선형적으로 발생한다는 사실을 이용하여 보다 효율적으로 움직임 벡터를 전송함으로써 부호화 효율을 높이고, 동영상의 압축과 관련된 종래의 양방향 예측 부호화 방법 중 하나인 대칭 모드(Symmetric mode) 부호화 방법이 포워드 움직임 벡터(Forward motion vector)만을 전송함에 따라 발생하는 부호화 성능 저하 문제를 개선하며, 움직임 벡터 부호화에 소요되는 비트량을 감소시키면서 실제 양-예측(Bi-prediction) 부호화를 수행할 때 조인트 추정이 용이하도록하여 보다 효율적인 부호화를 수행할 수 있는 양-예측(Bi-prediction) 부호화 방법 및 장치를 제공하는데 있다.Therefore, the first object of the present invention is to solve the complexity problem of the implementation of the bi-prediction coding of image compression and to transmit the motion vector more efficiently by using the fact that the motion occurs linearly. Improves the encoding performance degradation problem caused by transmitting only the forward motion vector by the symmetric mode coding method, which is one of the conventional bidirectional predictive coding methods related to the compression of the video. Bi-prediction encoding method and apparatus that can perform more efficient encoding by facilitating joint estimation when performing actual bi-prediction encoding while reducing the amount of bits required for encoding. To provide.

또한, 본 발명의 두 번째 목적은 상기와 같은 양-예측(Bi-prediction) 부호화 방법 및 장치에 따라 부호화된 데이터를 복호화하는데 있어 보다 효율적인 복호화의 수행이 가능한 양-예측(Bi-prediction) 복호화 방법 및 장치를 제공하는데 있다.In addition, a second object of the present invention is a bi-prediction decoding method capable of more efficient decoding in decoding data encoded according to the above-described bi-prediction encoding method and apparatus. And to provide an apparatus.

상기 첫 번째 목적은 복수개의 참조픽춰를 사용하는 양-예측(Bi-prediction) 부호화 방법에 있어서, (a) 부호화될 현재블록에 대한 제1 참조픽춰로부터 제1 선택 움직임 벡터를 선택하는 단계와; (b) 상기 제1 선택 움직임 벡터에 기초하여 제2 참조픽춰에 대한 제1 산출 움직임 벡터를 산출하는 단계와; (c) 상기 제1 선택 움직임 벡터, 상기 제1 산출 움직임 벡터, 상기 제1 선택 움직임 벡터에 대응하는 제1 선택 움직임 예측블록 및 상기 제1 산출 움직임 벡터에 대응하는 제2 산출 움직임 예측블록에 기초하여 제1 예측 부호화 비용을 산출하는 단계와; (d) 상기 (a) 단계, 상기 (b) 단계 및 상기 (c) 단계를 반복 수행하여 기 설정된 기준을 만족하는 제1 대표 선택 움직임 벡터와 제1 대표 산출 움직임 벡터와 상기 제1 대표 선택 움직임 벡터 및 상기 제1 대표 산출 움직임 벡터에 따른 제1 대표 예측 부호화 비용을 선정하는 단계와; (e) 상기 제2 참조픽춰로부터 제2 선택 움직임 벡터를 선택하는 단계와; (f) 상기 제2 선택 움직임 벡터에 기초하여 상기 제1 참조픽춰에 대한 제2 산출 움직임 벡터를 산출하는 단계와; (g) 상기 제2 선택 움직임 벡터, 상기 제2 산출 움직임 벡터, 상기 제2 선택 움직임 벡터에 대응하는 제2 선택 움직임 예측블록 및 상기 제2 산출 움직임 벡터에 대응하는 제2 산출 움직임 예측블록에 기초하여 제2 예측 부호화 비용을 산출하는 단계와; (h) 상기 (e) 단계, 상기 (f) 단계 및 상기 (g) 단계를 반복 수행하여 기 설정된 기준을 만족하는 제2 대표 선택 움직임 벡터와 제2 대표 산출 움직임 벡터와 상기 제2 대표 선택 움직임 벡터 및 상기 제2 대표 산출 움직임 벡터에 따른 제2 대표 예측 부호화 비용을 선정하는 단계와; (i) 상기 제1 대표 예측 부호화 비용이 상기 제2 대표 예측 부호화 비용보다 작은 경우 상기 제1 대표 선택 움직임 벡터를 부호화 대상 움직임 벡터로 상기 제1 대표 산출 움직임 벡터를 비부호화 대상 움직임 벡터로 선정하고, 상기 제2 대표 예측 부호화 비용이 상기 제1 대표 예측 부호화 비용보다 작은 경우 상기 제2 대표 선택 움직임 벡터를 상기 부호화 대상 움직임 벡터로 상기 제2 대표 산출 움직임 벡터를 상기 비부호화 대상 움직임 벡터로 선정하는 단계와; (j) 상기 부호화 대상 움직임 벡터를 부호화하는 단계를 포함하는 것을 특징으로 하는 양-예측(Bi-prediction) 부호화 방법에 의해서 달성된다.The first object is a bi-prediction encoding method using a plurality of reference pictures, comprising: (a) selecting a first selection motion vector from a first reference picture for a current block to be encoded; (b) calculating a first calculated motion vector for a second reference picture based on the first selected motion vector; (c) based on the first selection motion vector, the first calculation motion vector, a first selection motion prediction block corresponding to the first selection motion vector, and a second calculation motion prediction block corresponding to the first calculation motion vector. Calculating a first predictive encoding cost; (d) Repeating steps (a), (b) and (c), the first representative selection motion vector, the first representative calculation motion vector, and the first representative selection motion satisfying a predetermined criterion Selecting a first representative prediction coding cost according to a vector and the first representative calculation motion vector; (e) selecting a second selection motion vector from the second reference picture; (f) calculating a second calculated motion vector for the first reference picture based on the second selected motion vector; (g) based on the second selected motion vector, the second calculated motion vector, a second selected motion prediction block corresponding to the second selected motion vector, and a second calculated motion prediction block corresponding to the second calculated motion vector. Calculating a second predictive encoding cost; (h) repeating steps (e), (f), and (g) to perform a second representative selection motion vector, a second representative calculation motion vector, and the second representative selection motion that satisfy a predetermined criterion; Selecting a second representative prediction coding cost according to a vector and the second representative calculating motion vector; (i) if the first representative prediction coding cost is less than the second representative prediction coding cost, the first representative selection motion vector is selected as the encoding target motion vector, and the first representative calculation motion vector is selected as the uncoding target motion vector. And when the second representative prediction coding cost is less than the first representative prediction coding cost, selecting the second representative selection motion vector as the encoding target motion vector and the second representative calculating motion vector as the uncoding target motion vector. Steps; (j) encoding the motion vector to be encoded is achieved by a bi-prediction encoding method.

여기서, 상기 (j) 단계는 부호화가 상기 양-예측(Bi-prediction) 부호화 방법에 의해 부호화된 양-예측(Bi-prediction) 부호화 모드임을 전달하기 위한 양-예측(Bi-prediction) 부호화 모드 정보를 부호화하는 단계를 포함할 수 있다.Here, the step (j) is bi-prediction encoding mode information for transmitting that the encoding is a bi-prediction encoding mode encoded by the bi-prediction encoding method. It may include the step of encoding.

그리고, 상기 (b) 단계에서 상기 제1 산출 움직임 벡터는 상기 현재블록이 속한 현재픽춰와 상기 제1 참조픽춰 및 상기 제2 참조픽춰 간의 상대적인 시간 상의 거리와 상기 제1 선택 움직임 벡터의 곱에 의해 산출되고; 상기 (f) 단계에서 상기 제2 산출 움직임 벡터는 상기 현재픽춰와 상기 제1 참조픽춰 및 상기 제2 참조픽춰 간의 상대적인 시간 상의 거리와 상기 제2 선택 움직임 벡터의 곱에 의해 산출될 수 있다.In the step (b), the first calculated motion vector is obtained by multiplying a relative time distance between the current picture to which the current block belongs, the first reference picture and the second reference picture, and the first selected motion vector. Calculated; In the step (f), the second calculated motion vector may be calculated by multiplying the relative time distance between the current picture, the first reference picture and the second reference picture by the second selected motion vector.

여기서, 상기 제1 참조픽춰 및 상기 제2 참조픽춰가 상기 현재픽춰를 중심으로 시간상으로 전후에 각각 위치하는 경우, 상기 (b) 단계 및 상기 (f) 단계에서 상기 제1 산출 움직임 벡터 및 상기 제2 산출 움직임 벡터는 각각 수학식

Figure 112010017451283-pat00022
(여기서, mvcal는 상기 제1 산출 움직임 벡터 또는 상기 제2 산출 움직임 벡터이고, mvsel는 상기 제1 선택 움직임 벡터 또는 상기 제2 선택 움직임 벡터이고, TDB는 상기 제1 참조픽춰와 상기 제2 참조픽춰 중 상기 제1 선택 움직임 벡터 또는 상기 제2 선택 움직임 벡터가 선택된 어느 하나와 상기 현재픽춰 간의 시간상의 거리이고, TDC는 상기 제1 참조픽춰 및 상기 제2 참조픽춰 중 상기 제1 산출 움직임 벡터 또는 상기 제2 산출 움직임 벡터가 산출된 어느 하나와 상기 현재픽춰 간의 시간상의 거리이다)에 의해 산출될 수 있다.Here, when the first reference picture and the second reference picture are located before and after each other in time with respect to the current picture, the first calculated motion vector and the first step in steps (b) and (f), respectively. 2 output motion vectors, respectively,
Figure 112010017451283-pat00022
Where mv cal is the first calculated motion vector or the second calculated motion vector, mv sel is the first selected motion vector or the second selected motion vector, and TD B is the first reference picture and the first motion vector. 2 is a temporal distance between any one of the first selected motion vector or the second selected motion vector among the reference pictures and the current picture, and TD C is the first calculation of the first reference picture and the second reference picture; Motion distance or the second calculated motion vector is a distance in time between the calculated one and the current picture).

또한, 상기 제1 참조픽춰 및 상기 제2 참조픽춰가 상기 현재픽춰로부터 시간상으로 전 또는 후에 함께 위치하는 경우, 상기 (b) 단계 및 상기 (f) 단계에서 상기 제1 산출 움직임 벡터 및 상기 제2 산출 움직임 벡터는 각각 수학식

Figure 112010017451283-pat00023
(여기서, mvcal는 상기 제1 산출 움직임 벡터 또는 상기 제2 산출 움직임 벡터이고, mvsel는 상기 제1 선택 움직임 벡터 또는 상기 제2 선택 움직임 벡터이고, TDB는 상기 제1 참조픽춰와 상기 제2 참조픽춰 중 상기 제1 선택 움직임 벡터 또는 상기 제2 선택 움직임 벡터가 선택된 어느 하나와 상기 현재픽춰 간의 시간상의 거리이고, TDC는 상기 제1 참조픽춰 및 상기 제2 참조픽춰 중 상기 제1 산출 움직임 벡터 또는 상기 제2 산출 움직임 벡터가 산출된 어느 하나와 상기 현재픽춰 간의 시간상의 거리이다)에 의해 산출될 수 있다.Further, when the first reference picture and the second reference picture are located together before or after in time from the current picture, the first calculated motion vector and the second in the steps (b) and (f). The output motion vectors are each
Figure 112010017451283-pat00023
Where mv cal is the first calculated motion vector or the second calculated motion vector, mv sel is the first selected motion vector or the second selected motion vector, and TD B is the first reference picture and the first motion vector. 2 is a temporal distance between any one of the first selected motion vector or the second selected motion vector among the reference pictures and the current picture, and TD C is the first calculation of the first reference picture and the second reference picture; Motion distance or the second calculated motion vector is a distance in time between the calculated one and the current picture).

또한, 상기 첫 번째 목적은 복수개의 참조픽춰를 사용하여 예측 부호화하는 양-예측(Bi-prediction) 부호화 장치에 있어서, 복수의 제1 참조픽춰로부터 부호화될 현재블록에 기초하여 기 설정된 움직임 탐색범위 내의 상기 각 제1 참조픽춰에 대응하는 제1 선택 움직임 벡터를 선택하는 제1 움직임 벡터 선택부와; 상기 각 제1 선택 움직임 벡터와 상기 각 제1 선택 움직임 벡터에 대응하는 제2 참조픽춰에 기초하여 상기 각 제1 선택 움직임 벡터에 대응하는 제1 산출 움직임 벡터를 산출하는 제1 움직임 벡터 산출부와; 상기 제1 선택 움직임 벡터, 상기 제1 산출 움직임 벡터, 상기 제1 선택 움직임 벡터에 대응하는 제1 선택 움직임 예측블록 및 상기 제1 산출 움직임 벡터에 대응하는 제1 산출 움직임 예측블록에 기초하여 상기 각 제1 선택 움직임 벡터에 각각 대응하는 제1 예측 부호화 비용을 산출하는 제1 부호화 비용 산출부와; 상기 각 제1 선택 움직임 벡터에 대응하여 산출된 상기 복수의 제1 예측 부호화 비용을 비교하여 기 설정된 조건을 만족하는 제1 대표 예측 부호화 비용을 선정하는 제1 부호화 비용 선정부와; 상기 각 제2 참조픽춰로부터 상기 각 제2 참조픽춰에 대응하는 제2 선택 움직임 벡터를 선택하는 제2 움직임 벡터 선택부와; 상기 각 제2 선택 움직임 벡터와 상기 각 제2 선택 움직임 벡터에 대응하는 상기 제1 참조픽춰에 기초하여 상기 각 제2 선택 움직임 벡터에 대응하는 제2 산출 움직임 벡터를 산출하는 제2 움직임 벡터 산출부와; 상기 제2 선택 움직임 벡터, 상기 제2 산출 움직임 벡터, 상기 제2 선택 움직임 벡터에 대응하는 제2 선택 움직임 예측블록 및 상기 제2 산출 움직임 벡터에 대응하는 제2 산출 움직임 예측블록에 기초하여 상기 각 제2 선택 움직임 벡터에 각각 대응하는 제2 예측 부호화 비용을 산출하는 제2 부호화 비용 산출부와; 상기 각 제2 선택 움직임 벡터에 대응하여 산출된 상기 복수의 제2 예측 부호화 비용을 비교하여 기 설정된 조건을 만족하는 제2 대표 예측 부호화 비용을 선정하는 제2 부호화 비용 선정부와; 상기 제1 대표 예측 부호화 비용이 상기 제2 대표 예측 부호화 비용보다 작은 경우 상기 제1 선택 움직임 벡터 중 상기 제1 대표 예측 부호화 비용에 대응하는 어느 하나를 부호화 대상 움직임 벡터로 선정하고, 상기 제2 대표 예측 부호화 비용이 상기 제1 대표 예측 부호화 비용보다 작은 경우 상기 제2 선택 움직임 벡터 중 상기 제2 대표 예측 부호화 비용에 대응하는 어느 하나를 부호화 대상 움직임 벡터로 선정하는 움직임 벡터 선정부와; 상기 부호화 대상 움직임 벡터를 부호화하는 움직임 벡터 부호화부를 포함하는 것을 특징으로 하는 양-예측(Bi-prediction) 부호화 장치에 의해서도 달성될 수 있다.In addition, the first object of the present invention is a bi-prediction encoding apparatus that predictively encodes a plurality of reference pictures, wherein the first object is within a predetermined motion search range based on a current block to be encoded from the plurality of first reference pictures. A first motion vector selector which selects a first selected motion vector corresponding to each of the first reference pictures; A first motion vector calculator configured to calculate a first calculated motion vector corresponding to the first selected motion vector based on the first selected motion vector and a second reference picture corresponding to the first selected motion vector; ; The angle based on the first selection motion vector, the first calculation motion vector, a first selection motion prediction block corresponding to the first selection motion vector, and a first calculation motion prediction block corresponding to the first calculation motion vector. A first encoding cost calculator for calculating a first prediction encoding cost respectively corresponding to the first selected motion vector; A first encoding cost selecting unit configured to compare the plurality of first predictive encoding costs calculated corresponding to each of the first selected motion vectors, and select a first representative prediction encoding cost that satisfies a preset condition; A second motion vector selector which selects a second selection motion vector corresponding to each second reference picture from each second reference picture; A second motion vector calculator configured to calculate a second calculated motion vector corresponding to the second selected motion vector based on the second selected motion vector and the first reference picture corresponding to the second selected motion vector; Wow; The angle based on the second selection motion vector, the second calculation motion vector, the second selection motion prediction block corresponding to the second selection motion vector, and the second calculation motion prediction block corresponding to the second calculation motion vector. A second encoding cost calculator for calculating second predictive encoding costs respectively corresponding to the second selected motion vector; A second encoding cost selecting unit configured to compare the plurality of second prediction encoding costs calculated corresponding to the second selection motion vectors, and select a second representative prediction encoding cost that satisfies a preset condition; When the first representative prediction coding cost is smaller than the second representative prediction coding cost, any one of the first selected motion vectors corresponding to the first representative prediction coding cost is selected as an encoding target motion vector, and the second representative A motion vector selecting unit that selects one of the second selected motion vectors corresponding to the second representative prediction coding cost as an encoding target motion vector when a prediction coding cost is smaller than the first representative prediction coding cost; It may also be achieved by a bi-prediction encoding apparatus comprising a motion vector encoder for encoding the motion vector to be encoded.

한편, 상기 두 번째 목적은 복수개의 참조픽춰를 사용하여 양-예측(Bi-prediction) 부호화된 데이터를 복호화하는 양-예측(Bi-prediction) 복호화 방법에 있어서, (a) 상기 부호화된 데이터를 분석하여 복호화될 현재블록이 양-예측(Bi-prediction) 부호화 모드인지 여부를 판단하는 단계와; (b) 상기 현재블록이 상기 양-예측(Bi-prediction) 부호화 모드인 것으로 판단된 경우, 상기 부호화된 데이터를 복호화하여 복호화 대상 움직임 벡터를 복원하는 단계와; (c) 상기 복원된 복호화 대상 움직임 벡터와, 상기 현재블록이 속한 현재픽춰와 상기 복호화 대상 움직임 벡터에 대응하는 제1 복호화 참조픽춰 간의 시간상의 거리와, 상기 현재픽춰와 제2 복호화 참조픽춰 간의 시간상의 거리에 기초하여 상기 제2 참조픽춰에 대응하는 비복호화 대상 움직임 벡터를 산출하는 단계와; (d) 상기 복원된 복호화 대상 움직임 벡터 및 상기 산출된 비복호화 대상 움직임 벡터에 기초하여 상기 현재블록에 대한 예측블록을 생성하고, 생성된 상기 예측블록에 기초하여 현재블록을 복원하는 단계를 포함하는 것을 특징으로 하는 양-예측(Bi-prediction) 복호화 방법에 의해서 달성된다.On the other hand, the second object is a bi-prediction decoding method for decoding a bi-prediction coded data using a plurality of reference pictures, (a) analyzing the encoded data Determining whether the current block to be decoded is in a bi-prediction encoding mode; (b) if it is determined that the current block is in the bi-prediction encoding mode, reconstructing a decoding target motion vector by decoding the encoded data; (c) a temporal distance between the reconstructed decoding object motion vector, the current picture to which the current block belongs, and a first decoding reference picture corresponding to the decoding object motion vector, and a time view between the current picture and the second decoding reference picture. Calculating an undecoded target motion vector corresponding to the second reference picture based on a distance of a; (d) generating a prediction block for the current block based on the reconstructed decoding object motion vector and the calculated decoded object motion vector, and reconstructing the current block based on the generated prediction block. It is achieved by a Bi-prediction decoding method characterized in that.

여기서, 상기 (c) 단계에서 상기 비복호화 대상 움직임 벡터는 상기 현재픽춰와 상기 제1 참조픽춰 및 상기 제2 참조픽춰 간의 상대적인 시간 상의 거리와, 상기 복호화 대상 움직임 벡터의 곱에 의해 산출될 수 있다.Here, in step (c), the decoded object motion vector may be calculated by a product of a relative time distance between the current picture, the first reference picture and the second reference picture, and the product of the decoding object motion vector. .

그리고, 상기 제1 참조픽춰 및 상기 제2 참조픽춰가 상기 현재픽춰를 중심으로 시간상으로 전후에 각각 위치하는 경우, 상기 (c) 단계에서 상기 비복호화 대상 움직임 벡터는 수학식

Figure 112010017451283-pat00024
(여기서, mvcal는 상기 비복호화 대상 움직임 벡터이고, mvsel는 상기 복호화 대상 움직임 벡터이고, TDB는 상기 제1 참조픽춰와 상기 현재픽춰 간의 시간상의 거리이고, TDC는 상기 제2 참조픽춰와 상기 현재픽춰 간의 시간상의 거리이다)에 의해 산출될 수 있다.When the first reference picture and the second reference picture are positioned before and after each other in time with respect to the current picture, in step (c), the undecoded target motion vector is expressed by the following equation.
Figure 112010017451283-pat00024
Where mv cal is the undecoded object motion vector, mv sel is the decoding object motion vector, TD B is the distance in time between the first reference picture and the current picture, and TD C is the second reference picture. And a distance in time between the current picture and the current picture).

여기서, 상기 제1 참조픽춰 및 상기 제2 참조픽춰가 상기 현재픽춰로부터 시간상으로 전 또는 후에 함께 위치하는 경우, 상기 (c) 단계에서 상기 비복호화 대상 움직임 벡터는 수학식

Figure 112010017451283-pat00025
(여기서, mvcal는 상기 비복호화 대상 움직임 벡터이고, mvsel는 상기 복호화 대상 움직임 벡터이고, TDB는 상기 제1 참조픽춰와 상기 현재픽춰 간의 시간상의 거리이고, TDC는 상기 제2 참조픽춰와 상기 현재픽춰 간의 시간상의 거리이다)에 의해 산출될 수 있다.Here, when the first reference picture and the second reference picture are located together before or after in time from the current picture, in step (c), the undecoded target motion vector is expressed by the following equation.
Figure 112010017451283-pat00025
Where mv cal is the undecoded object motion vector, mv sel is the decoding object motion vector, TD B is the distance in time between the first reference picture and the current picture, and TD C is the second reference picture. And a distance in time between the current picture and the current picture).

또한, 상기 두 번째 목적은 복수개의 참조픽춰를 사용하여 양-예측(Bi-prediction) 부호화된 데이터를 복호화하는 양-예측(Bi-prediction) 복호화 장치에 있어서, 상기 부호화된 데이터를 엔트로피 복호화하는 엔트로피 복호화부와; 상기 복호화된 데이터를 분석하여 복호화될 현재블록이 양-예측(Bi-prediction) 부호화 모드에 의해 부호화되었는지 여부를 판단하는 복호화 제어부와; 상기 복호화 제어부에 의해 상기 양-예측(Bi-prediction) 부호화 모드로 판단된 경우, 상기 복호화된 데이터에서 복호화 대상 움직임 벡터를 복원하는 복호화 대상 움직임 벡터 복원부와; 상기 복원된 복호화 대상 움직임 벡터와, 상기 현재블록이 속한 현재픽춰와 상기 복호화 대상 움직임 벡터에 대응하는 제1 참조픽춰 간의 시간상의 거리와, 상기 현재픽춰와 제2 참조픽춰 간의 시간상의 거리에 기초하여 상기 제2 참조픽춰에 대응하는 비복호화 대상 움직임 벡터를 산출하는 비복호화 대상 움직임 벡터 산출부와; 상기 복원된 복호화 대상 움직임 벡터 및 상기 산출된 비복호화 대상 움직임 벡터에 기초하여 적어도 하나의 예측블록을 생성하는 움직임 보상부와; 상기 복호화된 데이터 및 상기 예측블록에 기초하여 상기 현재블록을 복원하는 현재블록 복원부를 포함하는 것을 특징으로 하는 양-예측(Bi-prediction) 복호화 장치에 의해서도 달성될 수 있다.
In addition, the second object of the present invention is a bi-prediction decoding apparatus that decodes bi-prediction coded data using a plurality of reference pictures, the entropy of entropy decoding the coded data. A decoder; A decoding controller which analyzes the decoded data to determine whether a current block to be decoded is encoded by a bi-prediction encoding mode; A decoding object motion vector reconstructing unit which reconstructs a decoding object motion vector from the decoded data when it is determined by the decoding control unit as the bi-prediction encoding mode; Based on the reconstructed decoding object motion vector, the temporal distance between the current picture to which the current block belongs and the first reference picture corresponding to the decoding object motion vector, and the distance in time between the current picture and the second reference picture. An undecoded target motion vector calculator for calculating an undecoded target motion vector corresponding to the second reference picture; A motion compensator for generating at least one prediction block based on the reconstructed decoding target motion vector and the calculated undecoded target motion vector; It may also be achieved by a bi-prediction decoding apparatus comprising a current block reconstruction unit for reconstructing the current block based on the decoded data and the prediction block.

본 발명에 따르면, 현재블록에 대한 부호화 대상 움직임 벡터 및 비부호화 대상 움직임 벡터를 선정하는데 있어서 제1 참조픽춰에서 선택된 제1 선택 움직임 벡터를 기준으로 제2 참조픽춰에 대한 제1 산출 움직임 벡터를 산출하고, 제2 참조픽춰에서 선택된 제2 선택 움직임 벡터를 기준으로 제1 참조픽춰에 대한 제2 산출 움직임 벡터를 산출하여 부호화 효율이 좋을 것을 선택하여 부호화하므로, 전송하는 움직임 벡터의 부호화 효율을 더욱 증대할 수 있고, 예측에러의 부호화 효율을 높일 수 있다.According to the present invention, the first calculated motion vector for the second reference picture is calculated on the basis of the first selected motion vector selected from the first reference picture in selecting the encoding target motion vector and the uncoding target motion vector for the current block. In addition, the second calculated motion vector for the first reference picture is calculated based on the second selected motion vector selected from the second reference picture, the encoding efficiency is selected and encoded, and the encoding efficiency of the transmitted motion vector is further increased. This can improve the coding efficiency of prediction errors.

또한, 동영상의 압축과 관련된 종래의 양방향 예측 부호화 방법 중 하나인 대칭 모드(Symmetric mode) 부호화 방법이 포워드 움직임 벡터(Forward motion vector)만을 전송함에 따라 발생하는 부호화 성능 저하 문제가 개선되며, 움직임 벡터 부호화에 소요되는 비트량을 감소시키면서 실제 양-예측(Bi-prediction) 부호화를 수행할 때 조인트 추정이 용이하도록 하여 보다 효율적인 부호화를 수행할 수 있다.In addition, a problem of deterioration in encoding performance caused by transmitting only a forward motion vector by a symmetric mode encoding method, which is one of the conventional bidirectional predictive encoding methods related to video compression, is improved. It is possible to perform more efficient encoding by facilitating joint estimation when performing actual bi-prediction coding while reducing the amount of bits required.

도 1 및 도 2는 본 발명에 따른 양-예측(Bi-prediction) 부호화 방법을 설명하기 위한 도면이고,
도 3 내지 도 5는 본 발명에 따른 양-예측(Bi-prediction) 부호화 방법에서 현재픽춰와 제1 참조픽춰 및 제2 참조픽춰들 간의 시간상의 관계의 예들을 도시한 도면이고,
도 6은 본 발명에 따른 양-예측(Bi-prediction) 부호화 장치의 구성을 도시한 도면이고,
도 7은 도 6의 양-예측(Bi-prediction) 부호화 장치의 움직임 예측부의 구성의 일 예를 도시한 도면이고,
도 8은 본 발명에 따른 양-예측(Bi-prediction) 복호화 방법을 설명하기 위한 도면이고,
도 9는 본 발명에 따른 양-예측(Bi-prediction) 복호화 장치의 구성을 도시한 도면이고,
도 10은 도 9의 양-예측(Bi-prediction) 복호화 장치의 움직임 벡터 복호화부의 구성의 일 예를 도시한 도면이다.
1 and 2 are diagrams for explaining a bi-prediction encoding method according to the present invention;
3 to 5 illustrate examples of a temporal relationship between a current picture, a first reference picture, and a second reference picture in a bi-prediction encoding method according to the present invention;
6 is a diagram illustrating a configuration of a bi-prediction encoding apparatus according to the present invention.
FIG. 7 is a diagram illustrating an example of a configuration of a motion prediction unit of the bi-prediction encoding apparatus of FIG. 6.
8 is a diagram for explaining a bi-prediction decoding method according to the present invention;
9 is a diagram illustrating a configuration of a bi-prediction decoding apparatus according to the present invention.
FIG. 10 is a diagram illustrating an example of a configuration of a motion vector decoder of the bi-prediction decoding apparatus of FIG. 9.

이하에서는 첨부된 도면들을 참조하여 본 발명을 보다 상세하게 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail the present invention.

도 1 및 도 2는 본 발명에 따른 양-예측(Bi-prediction) 부호화 방법에 대한 흐름도이다. 도 1 및 도 2를 참조하여 설명하면, 먼저 부호화 대상이 되는 N×M 블록(이하, '현재블록'이라 함)이 입력되면(S10), 현재블록이 속한 현재픽춰에 기초하여 제1 참조픽춰 및 제2 참조픽춰가 결정된다. 여기서, 블록의 크기가 N×M 이라 한 것은 N이 M과 서로 같거나 틀린 경우를 포함할 수 있다.1 and 2 are flowcharts of a bi-prediction encoding method according to the present invention. Referring to FIGS. 1 and 2, when an N × M block (hereinafter, referred to as a “current block”) to be encoded is input (S10), the first reference picture is based on the current picture to which the current block belongs. And a second reference picture are determined. Herein, the size of the block N × M may include a case in which N is the same as or different from M.

그런 다음, 제1 참조픽춰로부터 기 설정된 움직임 탐색범위 내에서 움직임 벡터(이하, '제1 선택 움직임 벡터'라 함)가 선택된다(S11). 그리고, 제1 선택 움직임 벡터에 기초하여 제1 참조픽춰에 대응하는 제2 참조픽춰에 대한 움직임 벡터(이하, '제1 산출 움직임 벡터'라 함)가 산출된다(S12). 여기서, 제1 참조픽춰로부터 선택된 제1 선택 움직임 벡터는 후술할 과정에서 부호화 대상 움직임 벡터로 선정되는 경우 실제 부호화되어 전송되는 움직임 벡터이고, 제1 산출 움직임 벡터는 전송된 부호화 대상 움직임 벡터에 기초하여 복호화 과정에서 산출될 움직임 벡터로, 부호화 과정에서는 부호화되지 않는 움직임 벡터, 즉 전송되지 않는 움직임 벡터가 된다.Then, a motion vector (hereinafter, referred to as a 'first selected motion vector') is selected within a preset motion search range from the first reference picture (S11). Then, a motion vector (hereinafter, referred to as a 'first calculated motion vector') for a second reference picture corresponding to the first reference picture is calculated based on the first selected motion vector (S12). Here, the first selection motion vector selected from the first reference picture is a motion vector that is actually encoded and transmitted when it is selected as an encoding target motion vector in a later-described process, and the first calculated motion vector is based on the transmitted encoding target motion vector. In the decryption process As a motion vector to be calculated, a motion vector that is not encoded in the encoding process, that is, a motion vector that is not transmitted.

그런 다음, 제1 선택 움직임 벡터에 대한 제1 선택 움직임 예측블록이 생성되고, 제1 산출 움직임 벡터에 대한 제1 산출 움직임 예측블록이 생성된다(S13). 그리고, 제1 선택 움직임 벡터, 제1 산출 움직임 벡터, 제1 선택 움직임 예측블록 및 제1 산출 움직임 예측블록에 기초하여 예측 부호화 비용(이하, '제1 예측 부호화 비용'이라 함)이 산출된다(S14).Then, a first selected motion prediction block for the first selected motion vector is generated, and a first calculated motion prediction block for the first calculated motion vector is generated (S13). A predictive coding cost (hereinafter, referred to as a 'first predictive coding cost') is calculated based on the first selected motion vector, the first calculated motion vector, the first selected motion prediction block, and the first calculated motion prediction block. S14).

그런 다음, 선택된 제1 참조픽춰 및 제2 참조픽춰들에 대하여 S11 단계에서 S14 단계를 반복 수행하여 복수의 제1 예측 부호화 비용을 산출한다. 그리고, 제1 참조픽춰 및 제2 참조픽춰들에 대한 제1 예측 부호화 비용의 산출이 종료되면(S15), 산출된 복수의 제1 예측 부호화 비용 중 기 설정된 기준을 만족하는 제1 예측 부호화 비용을 선정한다. 여기서, 제1 예측 부호화 비용의 선정 기준은 부호화 비용이 가장 적은 어느 하나가 선정되도록 마련되는 것을 일 예로 한다.Thereafter, steps S14 to S14 are repeatedly performed on the selected first reference picture and the second reference pictures to calculate a plurality of first prediction encoding costs. When the calculation of the first predictive encoding cost for the first reference picture and the second reference pictures is finished (S15), the first predictive encoding cost that satisfies a predetermined criterion among the plurality of calculated first predictive encoding costs is determined. Select. Here, as an example, the selection criterion of the first prediction encoding cost is provided so that any one having the lowest encoding cost is selected.

그리고, 선정된 제1 예측 부호화 비용, 선정된 제1 예측 부호화 비용의 산출에 사용된 제1 선택 움직임 벡터 및 제1 산출 움직임 벡터를 각각 제1 대표 예측 부호화 비용, 제1 대표 선택 움직임 벡터 및 제1 대표 산출 움직임 벡터로 선정한다(S16).The first selected prediction vector, the first selected motion vector and the first calculated motion vector used for calculating the selected first prediction encoding cost, the first representative prediction coding cost, the first representative selection motion vector, and One representative motion vector is selected (S16).

한편, 상기와 같은 과정에 대응하여, 제2 참조픽춰에서 움직임 벡터(이하, '제2 선택 움직임 벡터'라 함)를 선택하고(S17), 선택된 제2 선택 움직임 벡터에 기초하여 제1 참조픽춰에 대한 움직임 벡터(이하, '제2 산출 움직임 벡터'라 함)를 산출한다(S18).Meanwhile, in response to the above process, a motion vector (hereinafter referred to as a 'second selection motion vector') is selected from the second reference picture (S17), and the first reference picture is based on the selected second selection motion vector. A motion vector (hereinafter, referred to as a 'second calculated motion vector') is calculated (S18).

그런 다음, 제2 선택 움직임 벡터에 대한 제2 선택 움직임 예측블록가 생성되고, 제2 산출 움직임 벡터에 대한 제2 산출 움직임 예측블록이 생성된다(S19). 그리고, 제2 선택 움직임 벡터, 제2 산출 움직임 벡터, 제2 선택 움직임 예측블록 및 제2 산출 움직임 예측블록에 기초하여 예측 부호화 비용(이하, '제2 예측 부호화 비용'이라 함)이 산출된다(S20).Then, a second selective motion prediction block for the second selective motion vector is generated, and a second calculated motion prediction block for the second calculated motion vector is generated (S19). A prediction encoding cost (hereinafter, referred to as a second prediction encoding cost) is calculated based on the second selection motion vector, the second calculation motion vector, the second selection motion prediction block, and the second calculation motion prediction block ( S20).

그리고, 제1 참조픽춰 및 제2 참조픽춰들에 대하여 S17 단계에서 S20 단계를 반복 수행하여 복수의 제2 예측 부호화 비용을 산출한다. 그런 다음, 제2 예측 부호화 비용의 산출이 종료되면(S21), 산출된 복수의 제2 예측 부호화 비용 중 기 설정된 기준을 만족하는 제2 예측 부호화 비용을 선정한다. 여기서, 제2 예측 부호화 비용의 선정 기준은 부호화 비용이 가장 적은 어느 하나가 선정되도록 마련되는 것을 일 예로 한다.In addition, a plurality of second prediction encoding costs are calculated by repeating steps S20 through S20 for the first reference picture and the second reference pictures. Then, when the calculation of the second predictive encoding cost is finished (S21), a second predictive encoding cost is selected among the calculated plurality of second predictive encoding costs that satisfy a predetermined criterion. Here, as an example, the selection criterion of the second prediction encoding cost is provided so that any one having the lowest encoding cost is selected.

그리고, 선정된 제2 예측 부호화 비용, 선정된 제2 예측 부호화 비용의 산출에 사용된 제2 선택 움직임 벡터 및 제2 산출 움직임 벡터를 각각 제2 대표 예측 부호화 비용, 제2 대표 선택 움직임 벡터 및 제2 대표 산출 움직임 벡터로 선정한다(S22).The second selected prediction vector, the second selected motion vector and the second calculated motion vector used for calculating the selected second prediction encoding cost, the second representative prediction motion vector, and the second representative selection motion vector, respectively. 2 is selected as the representative output motion vector (S22).

상기와 같은 과정을 통해, 제1 대표 예측 부호화 비용 및 제2 대표 예측 부호화 비용이 선정되면, 제1 대표 예측 부호화 비용과 제2 대표 예측 부호화 비용을 비교하여(S23) 제1 대표 예측 부호화 비용이 제2 대표 예측 부호화 비용보다 작은 경우 제1 대표 선택 움직임 벡터를 부호화 대상 움직임 벡터로 선정하고 제1 대표 산출 움직임 벡터를 비부호화 대상 움직임 벡터로 선정한다(S25).When the first representative prediction encoding cost and the second representative prediction encoding cost are selected through the above process, the first representative prediction encoding cost is compared by comparing the first representative prediction encoding cost and the second representative prediction encoding cost (S23). If it is less than the second representative prediction coding cost, the first representative selection motion vector is selected as the encoding target motion vector, and the first representative calculating motion vector is selected as the uncoding target motion vector (S25).

반면, 제2 대표 예측 부호화 비용이 제1 대표 예측 부호화 비용보다 작은 경우 제2 대표 선택 움직임 벡터를 부호화 대상 움직임 벡터로 선정하고 제2 대표 산출 움직임 벡터를 비부호화 대상 움직임 벡터로 선정한다(S24).On the other hand, when the second representative prediction coding cost is smaller than the first representative prediction coding cost, the second representative selection motion vector is selected as the encoding target motion vector and the second representative calculating motion vector is selected as the uncoding target motion vector (S24). .

상기와 같은 과정을 통해 부호화 대상 움직임 벡터 및 비부호화 대상 움직임 벡터의 선정이 완료되면, 선정된 부호화 대상 움직임 벡터 및 비부호화 대상 움직임 벡터를 이용하여 현재블록에 대한 예측블록이 생성된다. 그리고, 현재블록과 예측블록 간의 편차인 잉여블록이 생성된다(S26).When selection of the encoding target motion vector and the uncoding target motion vector is completed through the above process, a prediction block for the current block is generated using the selected encoding target motion vector and the uncoding target motion vector. In addition, an excess block that is a deviation between the current block and the prediction block is generated (S26).

그런 다음, 부호화 대상 움직임 벡터와 잉여블록을 부호화한다(S27). 이 때 부호화 과정에서는 상술한 부호화 방법, 즉 본 발명에 따른 양-예측(Bi-prediction) 부호화 방법에 의해 영상이 부호화된 것임을 알리는 정보를 갖는 양-예측(Bi-prediction) 부호화 모드 정보가 함께 부호화되어 전송될 수 있다. 이를 통해 복호화 과정에서, 전송되는 부호화 대상 움직임 벡터를 이용하여 전송되지 않는 비부호화 대상 움직임 벡터를 산출하게 된다.Then, the encoding target motion vector and the excess block are encoded (S27). At this time, in the encoding process, the bi-prediction encoding mode information having information indicating that the image is encoded by the above-described encoding method, that is, the bi-prediction encoding method according to the present invention is encoded together. Can be sent. As a result, in the decoding process, an uncoded target motion vector that is not transmitted is calculated using the transmitted target encoding motion vector.

상기의 과정에서, 제1 참조픽춰 및 제2 참조픽춰는 각각 상호 대응하도록 결정될 수 있다. 제1 선택 움직임 벡터에 의해 산출되는 제1 산출 움직임 벡터가 속한 제2 참조픽춰에서 제2 선택 움직임 벡터가 선택되는 경우, 해당 제2 참조픽춰에서 선택된 제2 선택 움직임 벡터를 이용하여 제2 산출 움직임 벡터를 산출할 때 사용되는 제1 참조픽춰는 상기의 제1 선택 움직임 벡터가 속한 제1 참조픽춰가 될 수 있다.In the above process, the first reference picture and the second reference picture may be determined to correspond to each other. When the second selection motion vector is selected from the second reference picture to which the first calculation motion vector belonged by the first selection motion vector belongs, the second calculation motion is performed using the second selection motion vector selected from the second reference picture. The first reference picture used when calculating the vector may be a first reference picture to which the first selection motion vector belongs.

이하에서는 도 3 내지 도 5를 참조하여 본 발명에 따른 양-예측(Bi-prediction) 부호화 방법에서 제1 산출 움직임 벡터 및 제2 산출 움직임 벡터를 산출하는 방법에 대해 상세히 설명한다.Hereinafter, a method of calculating a first calculated motion vector and a second calculated motion vector in a bi-prediction encoding method according to the present invention will be described in detail with reference to FIGS. 3 to 5.

본 발명에 따른 제1 산출 움직임 벡터는 현재블록이 속한 현재픽춰와 제1 참조픽춰 및 제2 참조픽춰 간의 상대적인 시간 상의 거리와 제1 선택 움직임 벡터의 곱에 의해 산출된다. 동일하게, 제2 산출 움직임 벡터는 현재블록이 속한 현재픽춰와 제1 참조픽춰 및 제2 참조픽춰 간의 상대적인 시간 상의 거리와 제2 선택 움직임 벡터의 곱에 의해 산출된다. 이하에서는 제1 선택 움직임 벡터와 제1 산출 움직임 벡터를 기준으로 하여 설명한다.The first calculated motion vector according to the present invention is calculated by multiplying a first temporal motion vector by a relative time distance between the current picture to which the current block belongs, the first reference picture, and the second reference picture. Similarly, the second calculated motion vector is calculated by multiplying the second temporal motion vector by a relative time distance between the current picture to which the current block belongs, the first reference picture and the second reference picture. Hereinafter, a description will be given with reference to the first selection motion vector and the first calculation motion vector.

도 3의 (a) 및 (b)는 제1 참조픽춰 및 제2 참조픽춰가 현재픽춰를 중심으로 시간상으로 전후에 각각 위치하는 경우로, (a)는 제1 참조픽춰가 현재픽춰의 시간상으로 전에, 제2 참조픽춰가 현재픽춰의 시간상으로 후에 각각 위치하는 경우를 도시한 것이고, (b)는 그 반대의 경우를 도시한 것이다.3 (a) and 3 (b) show a case in which the first reference picture and the second reference picture are positioned before and after each other in time with respect to the current picture, and (a) shows that the first reference picture is in time with respect to the current picture. Previously, the second reference picture is shown in the case where each is later in time of the current picture, and (b) shows the opposite case.

도 3에 도시된 바와 같이 제1 참조픽춰 및 제2 참조픽춰가 현재픽춰를 중심으로 시간상으로 전후에 각각 위치하는 경우, 제1 산출 움직임 벡터는 아래의 [수학식 5]을 통해 산출된다.
As shown in FIG. 3, when the first reference picture and the second reference picture are positioned before and after each time in the center of the current picture, the first calculated motion vector is calculated through Equation 5 below.

[수학식 5][Equation 5]

Figure 112010017451283-pat00026
Figure 112010017451283-pat00026

여기서, mvcal는 제1 산출 움직임 벡터이고, mvsel는 제1 선택 움직임 벡터이고, TDB는 제1 참조픽춰와 현재픽춰 간의 시간상의 거리이고, TDC는 제2 참조픽춰와 현재픽춰 간의 시간상의 거리이다.Where mv cal is the first calculated motion vector, mv sel is the first selected motion vector, TD B is the distance in time between the first reference picture and the current picture, and TD C is the time in time between the second reference picture and the current picture. Is the distance.

그리고, TDC는 아래의 [수학식 6]와 같이 표현될 수 있다.In addition, TD C may be expressed as Equation 6 below.

[수학식 6]&Quot; (6) "

Figure 112010017451283-pat00027
Figure 112010017451283-pat00027

여기서, TDD는, 도 3에 도시된 바와 같이, 제1 참조픽춰와 제2 참조픽춰 간의 시간상의 거리이고, TDB는 현재픽춰와 제1 참조픽춰 간의 시간상의 거리이다.Here, TD D is a distance in time between the first reference picture and the second reference picture, and TD B is a distance in time between the current picture and the first reference picture.

한편, 도 4의 (a) 및 (b)는 제1 참조픽춰 및 제2 참조픽춰 모두가 현재픽춰로부터 시간상으로 전에 함께 위치하는 경우로, (a)는 제1 참조픽춰가 제2 참조픽춰로부터 시간상으로 후에 위치하는 경우를 도시한 것이고, (b)는 제2 참조픽춰가 제1 참조픽춰로부터 시간상을 후에 위치하는 경우를 도시한 것이다.4A and 4B show a case in which both the first reference picture and the second reference picture are co-located in time with respect to the current picture, and (a) shows that the first reference picture is from the second reference picture. It shows the case where it is located later in time, and (b) shows the case where the second reference picture is located later in time from the first reference picture.

도 4에 도시된 바와 같이 제1 참조픽춰 및 제2 참조픽춰 모두가 현재픽춰로부터 시간상으로 전에 위치하는 경우, 제1 산출 움직임 벡터는 아래의 [수학식 7]을 통해 산출된다.
As shown in FIG. 4, when both the first reference picture and the second reference picture are located in time before the current picture, the first calculated motion vector is calculated through Equation 7 below.

[수학식 7][Equation 7]

Figure 112010017451283-pat00028
Figure 112010017451283-pat00028

여기서, mvcal는 제1 산출 움직임 벡터이고, mvsel는 제1 선택 움직임 벡터이고, TDB는 제1 참조픽춰와 현재픽춰 간의 시간상의 거리이고, TDC는 제2 참조픽춰와 현재픽춰 간의 시간상의 거리이다.Where mv cal is the first calculated motion vector, mv sel is the first selected motion vector, TD B is the distance in time between the first reference picture and the current picture, and TD C is the time in time between the second reference picture and the current picture. Is the distance.

그리고, [수학식 7]의 TDC를 제1 참조픽춰와 제2 참조픽춰 간의 시간상의 거리인 TDD와, 현재픽춰와 제1 참조픽춰 간의 시간상의 거리인 TDB를 이용하여 표현하면, 도 4의 (a)의 경우에는 [수학식 8], 도 4의 (b)의 경우에는 [수학식 9]와 같이 나타낼 수 있다.
When TD C of Equation 7 is expressed using TD D which is the distance in time between the first reference picture and the second reference picture, and TD B which is the distance in time between the current picture and the first reference picture, FIG. In the case of 4 (a), it can be expressed as [Equation 8], and in the case of FIG. 4 (b) as [Equation 9].

[수학식 8][Equation 8]

Figure 112010017451283-pat00029

Figure 112010017451283-pat00029

[수학식 9][Equation 9]

Figure 112010017451283-pat00030
Figure 112010017451283-pat00030

한편, 도 5의 (a) 및 (b)는 제1 참조픽춰 및 제2 참조픽춰 모두가 현재픽춰로부터 시간상으로 후에 함께 위치하는 경우로, (a)는 제1 참조픽춰가 제2 참조픽춰로부터 시간상으로 전에 위치하는 경우를 도시한 것이고, (b)는 제2 참조픽춰가 제1 참조픽춰로부터 시간상을 전에 위치하는 경우를 도시한 것이다.5 (a) and 5 (b) show a case in which both the first reference picture and the second reference picture are located together later in time from the current picture, and (a) shows that the first reference picture is from the second reference picture. The case where it is located before in time is shown, (b) shows the case where the 2nd reference picture is located before on time from a 1st reference picture.

도 5에 도시된 바와 같이 제1 참조픽춰 및 제2 참조픽춰 모두가 현재픽춰로부터 시간상으로 전에 위치하는 경우에도 제1 산출 움직임 벡터는 상기의 [수학식 7]을 통해 산출된다.As shown in FIG. 5, even when both the first reference picture and the second reference picture are positioned before in time from the current picture, the first calculated motion vector is calculated through Equation 7 above.

그리고, [수학식 7]의 TDC를 제1 참조픽춰와 제2 참조픽춰 간의 시간상의 거리인 TDD와, 현재픽춰와 제1 참조픽춰 간의 시간상의 거리인 TDB를 이용하여 표현하면, 도 5의 (a)의 경우에는 [수학식 8], 도 5의 (b)의 경우에는 [수학식 9]와 같이 나타낼 수 있다.When TD C of Equation 7 is expressed using TD D which is the distance in time between the first reference picture and the second reference picture, and TD B which is the distance in time between the current picture and the first reference picture, FIG. In the case of 5 (a), it can be expressed as [Equation 8], and in the case of FIG. 5 (b) as [Equation 9].

여기서, [수학식 5] 내지 [수학식 9]를 제2 산출 움직임 벡터를 산출하는 경우에 적용하게 되면, 제1 참조픽춰 및 제2 참조픽춰가 바뀌게 된다. 즉, [수학식 5] 내지 [수학식 9]에서의 제1 참조픽춰는 움직임 벡터가 선택되는 참조픽춰이고 제2 참조픽춰는 움직임 벡터가 산출되는 참조픽춰이다. 따라서, 제2 산출 움직임 벡터의 산출에서는 제2 참조픽춰에서 움직임 벡터가 선택되고 제1 참조픽춰에서 움직임 벡터가 산출되는 바, 제2 산출 움직임 벡터의 산출에서는 [수학식 5] 내지 [수학식 9]에서 제1 참조픽춰 및 제2 참조픽춰가 바뀌게 된다.Here, when [Equation 5] to [Equation 9] is applied to the second calculation motion vector, the first reference picture and the second reference picture are changed. That is, the first reference picture in Equations 5 to 9 is a reference picture from which a motion vector is selected, and the second reference picture is a reference picture from which a motion vector is calculated. Therefore, in the calculation of the second calculated motion vector, the motion vector is selected in the second reference picture and the motion vector is calculated in the first reference picture. In the calculation of the second calculated motion vector, Equations 5 to 9 ], The first reference picture and the second reference picture are replaced.

이하에서는, 도 6 및 도 7을 참조하여 본 발명에 따른 양-예측(Bi-prediction) 부호화 장치에 대해 상세히 설명한다.Hereinafter, a bi-prediction encoding apparatus according to the present invention will be described in detail with reference to FIGS. 6 and 7.

도 6을 참조하여 설명하면, 본 발명에 따른 양-예측(Bi-prediction) 부호화 장치는 영상 입력부(10), 움직임 예측부(16), 움직임 보상부(17), 움직임 벡터 부호화부(18), 잉여데이터 부호화부(12), 잉여데이터 복호화부(13), 엔트로피 부호화부(14), 다중화부(19) 및 부호화 제어부(11)를 포함할 수 있다.Referring to FIG. 6, the bi-prediction encoding apparatus according to the present invention includes an image input unit 10, a motion predictor 16, a motion compensator 17, and a motion vector encoder 18. The redundant data encoder 12, the redundant data decoder 13, the entropy encoder 14, the multiplexer 19, and the encoding controller 11 may be included.

영상 입력부(10)로는 부호화 대상이 되는 영상으로 압축되지 않은 디지털 영상이 입력된다. 여기서, 영상 입력부(10)로 입력되는 영상 데이터는 소정 크기로 분할된 블록으로 구성된다. 영상 입력부(10)를 통해 입력된 영상 데이터는 움직임 보상부(17)로부터 출력되는 예측블록, 즉 보상치와 감산부를 통해 감산되어 잉여데이터 부호화부(12)로 출력된다.The video input unit 10 receives a digital image which is not compressed into an image to be encoded. Here, the image data input to the image input unit 10 is composed of blocks divided into predetermined sizes. The image data input through the image input unit 10 is subtracted through the prediction block output from the motion compensator 17, that is, the compensation value and the subtractor, and output to the surplus data encoder 12.

부호화 제어부(11)는 영상 입력부(10)를 통해 영상 데이터가 입력되면, 입력되는 영상 데이터에 대해 움직임 보상을 수행할지 여부에 따른 코딩 타입, 예를 들어 인트라 코딩 및 인터 코딩을 결정하여 대응하는 제어 동작을 수행한다.When the image data is input through the image input unit 10, the encoding controller 11 determines a coding type according to whether to perform motion compensation on the input image data, for example, intra coding and inter coding, and controls correspondingly. Perform the action.

잉여데이터 부호화부(12)는 감산부로부터 출력되는 영상 데이터, 즉 잉여블록을 변환 부호화하여 얻어진 변환 계수값들을 기 설정된 양자화 과정에 따라 양자화하고, 양자화된 변환 계수값들로 구성된 2차원 데이터인 N×M 데이터를 생성한다. 여기서, 잉여데이터 부호화부(12)에서 적용되는 변환 방식의 예로는 이산 코사인 변환(DCT : Discrete Cosine Transform) 방식이 적용될 수 있다.The redundant data encoder 12 quantizes the image data output from the subtractor, that is, transform coefficient values obtained by transform encoding the excess block according to a predetermined quantization process, and N, which is two-dimensional data composed of quantized transform coefficient values. XM Generate data. In this case, a discrete cosine transform (DCT) method may be used as an example of a transformation method applied by the redundant data encoder 12.

도 6을 참조하여 설명하면, 본 발명에 따른 양-예측(Bi-prediction) 부호화 장치는 영상 입력부(10), 움직임 예측부(16), 움직임 보상부(17), 움직임 벡터 부호화부(18), 잉여데이터 부호화부(12), 잉여데이터 복호화부(13), 엔트로피 부호화부(14), 다중화부(19) 및 부호화 제어부(11)를 포함할 수 있다.Referring to FIG. 6, the bi-prediction encoding apparatus according to the present invention includes an image input unit 10, a motion predictor 16, a motion compensator 17, and a motion vector encoder 18. The redundant data encoder 12, the redundant data decoder 13, the entropy encoder 14, the multiplexer 19, and the encoding controller 11 may be included.

영상 입력부(10)로는 부호화 대상이 되는 영상으로 압축되지 않은 디지털 영상이 입력된다. 여기서, 영상 입력부(10)로 입력되는 영상 데이터는 소정 크기로 분할된 블록으로 구성된다. 영상 입력부(10)를 통해 입력된 영상 데이터는 움직임 보상부(17)로부터 출력되는 예측블록, 즉 보상치와 감산부를 통해 감산되어 잉여데이터 부호화부(12)로 출력된다.The video input unit 10 receives a digital image which is not compressed into an image to be encoded. Here, the image data input to the image input unit 10 is composed of blocks divided into predetermined sizes. The image data input through the image input unit 10 is subtracted through the prediction block output from the motion compensator 17, that is, the compensation value and the subtractor, and output to the surplus data encoder 12.

부호화 제어부(11)는 영상 입력부(10)를 통해 영상 데이터가 입력되면, 입력되는 영상 데이터에 대해 움직임 보상을 수행할지 여부에 따른 코딩 타입, 예를 들어 인트라 코딩 및 인터 코딩을 결정하여 대응하는 제어 동작을 수행한다.When the image data is input through the image input unit 10, the encoding controller 11 determines a coding type according to whether to perform motion compensation on the input image data, for example, intra coding and inter coding, and controls correspondingly. Perform the action.

잉여데이터 부호화부(12)는 감산부로부터 출력되는 영상 데이터, 즉 잉여블록을 변환 부호화하여 얻어진 변환 계수값들을 기 설정된 양자화 과정에 따라 양자화하고, 양자화된 변환 계수값들로 구성된 2차원 데이터인 도 6을 참조하여 설명하면, 본 발명에 따른 양-예측(Bi-prediction) 부호화 장치는 영상 입력부(10), 움직임 예측부(16), 움직임 보상부(17), 움직임 벡터 부호화부(18), 잉여데이터 부호화부(12), 잉여데이터 복호화부(13), 엔트로피 부호화부(14), 다중화부(19) 및 부호화 제어부(11)를 포함할 수 있다.The surplus data encoder 12 quantizes image data output from the subtractor, that is, transform coefficient values obtained by transform encoding the excess block according to a predetermined quantization process, and is two-dimensional data composed of quantized transform coefficient values. Referring to FIG. 6, the bi-prediction encoding apparatus according to the present invention includes an image input unit 10, a motion predictor 16, a motion compensator 17, a motion vector encoder 18, The redundant data encoder 12, the redundant data decoder 13, the entropy encoder 14, the multiplexer 19, and the encoding controller 11 may be included.

영상 입력부(10)로는 부호화 대상이 되는 영상으로 압축되지 않은 디지털 영상이 입력된다. 여기서, 영상 입력부(10)로 입력되는 영상 데이터는 소정 크기로 분할된 블록으로 구성된다. 영상 입력부(10)를 통해 입력된 영상 데이터는 움직임 보상부(17)로부터 출력되는 예측블록, 즉 보상치와 감산부를 통해 감산되어 잉여데이터 부호화부(12)로 출력된다.The video input unit 10 receives a digital image which is not compressed into an image to be encoded. Here, the image data input to the image input unit 10 is composed of blocks divided into predetermined sizes. The image data input through the image input unit 10 is subtracted through the prediction block output from the motion compensator 17, that is, the compensation value and the subtractor, and output to the surplus data encoder 12.

부호화 제어부(11)는 영상 입력부(10)를 통해 영상 데이터가 입력되면, 입력되는 영상 데이터에 대해 움직임 보상을 수행할지 여부에 따른 코딩 타입, 예를 들어 인트라 코딩 및 인터 코딩을 결정하여 대응하는 제어 동작을 수행한다.When the image data is input through the image input unit 10, the encoding controller 11 determines a coding type according to whether to perform motion compensation on the input image data, for example, intra coding and inter coding, and controls correspondingly. Perform the action.

잉여데이터 부호화부(12)는 감산부로부터 출력되는 영상 데이터, 즉 잉여블록을 변환 부호화하여 얻어진 변환 계수값들을 기 설정된 양자화 과정에 따라 양자화하고, 양자화된 변환 계수값들로 구성된 2차원 데이터인 N×M 데이터를 생성한다. 여기서, 잉여데이터 부호화부(12)에서 적용되는 변환 방식의 예로는 이산 코사인 변환(DCT : Discrete Cosine Transform) 방식이 적용될 수 있다.The redundant data encoder 12 quantizes the image data output from the subtractor, that is, transform coefficient values obtained by transform encoding the excess block according to a predetermined quantization process, and N, which is two-dimensional data composed of quantized transform coefficient values. XM Generate data. In this case, a discrete cosine transform (DCT) method may be used as an example of a transformation method applied by the redundant data encoder 12.

잉여데이터 부호화부(12)로 입력되어 부호화된 영상 데이터는 이후 또는 이전에 입력된 영상 데이터에 대한 움직임 보상을 위한 참조픽춰로 사용될 수 있으므로 잉여데이터 복호화부(13)를 통해 잉여데이터 부호화부(12)의 역과정인 역 양자화 및 역변환 부호화를 거치게 된다. 그리고, 잉여데이터 복호화부(13)로부터 출력되는 영상 데이터는 메모리부(15)에 저장되는데, 잉여데이터 복호화부(13)로부터 출력되는 영상 데이터가 차분 영상 데이터인 경우 움직임 보상부(17)의 출력 데이터 즉, 예측블록과 더해진 다음 메모리부(15)에 저장된다.Since the image data input and encoded by the redundant data encoder 12 may be used as a reference picture for motion compensation for image data input after or before, the redundant data encoder 12 may be used through the redundant data decoder 13. Inverse quantization and inverse transform encoding are performed. The image data output from the redundant data decoding unit 13 is stored in the memory unit 15. When the image data output from the redundant data decoding unit 13 is differential image data, the output of the motion compensation unit 17 is output. The data, i.e., added to the prediction block, is then stored in the memory unit 15.

한편, 움직임 예측부(16)는 복수의 참조픽춰, 즉 상술한 제1 참조픽춰 및 제2 참조픽춰들을 이용하여 움직임을 예측한다. 움직임 예측부(16)는 상술한 양-예측(Bi-prediction) 부호화 방법을 통해 부호화 대상 움직임 벡터 및 비부호화 대상 움직임 벡터를 선정하고, 움직임 보상부(17)는 부호화 대상 움직임 벡터 및 비부호화 대상 움직임 벡터를 이용하여 현재블록에 대한 예측블록, 즉 보상치를 산출한다.Meanwhile, the motion predictor 16 predicts motion using a plurality of reference pictures, that is, the first reference picture and the second reference pictures. The motion predictor 16 selects a motion vector to be encoded and a motion vector to be uncoded through the aforementioned bi-prediction encoding method, and the motion compensator 17 encodes a motion vector to be encoded and an uncoded object. A prediction block, that is, a compensation value, for the current block is calculated using the motion vector.

도 7은 본 발명에 따른 움직임 예측부(16)의 구성을 도시한 도면이다. 도 7을 참조하여 설명하면, 제1 움직임 벡터 선택부(110a)는 부호화될 현재블록에 기초하여 제1 참조픽춰들로부터 기 설정된 움직임 탐색범위 내에서 제1 참조픽춰에 각각 대응하는 제1 선택 움직임 벡터를 선택한다.7 is a diagram showing the configuration of the motion predictor 16 according to the present invention. Referring to FIG. 7, the first motion vector selector 110a may respectively select a first selected motion corresponding to the first reference picture within a preset motion search range from the first reference pictures based on the current block to be encoded. Select the vector.

제1 움직임 벡터 산출부(111a)는 제1 움직임 벡터 선택부(110a)에 의해 선택된 제1 선택 움직임 벡터를 이용하여 제2 참조픽춰에 대응하는 제1 산출 움직임 벡터를 산출한다. 여기서, 제1 산출 움직임 벡터를 산출하는 과정은 상술한 [수학식 5] 내지 [수학식 9]가 사용될 수 있으며, 그 상세한 설명은 생략한다.The first motion vector calculator 111a calculates a first calculated motion vector corresponding to the second reference picture by using the first selected motion vector selected by the first motion vector selector 110a. Here, the above-described Equation 5 to Equation 9 may be used for calculating the first calculated motion vector, and a detailed description thereof will be omitted.

제2 움직임 벡터 선택부(110b)는 참조픽춰 추출부에 의해 추출된 제2 참조픽춰들로부터 제2 참조픽춰에 각각 대응하는 제2 선택 움직임 벡터를 선택한다. 그리고, 제2 움직임 벡터 산출부(111b)는 제2 움직임 벡터 선택부(110b)에 의해 선택된 제2 움직임 벡터를 이용하여 제1 참조픽춰에 대응하는 제2 산출 움직임 벡터를 산출한다. 여기서, 제2 산출 움직임 벡터의 산출과정은 상술한 [수학식 5] 내지 [수학식 9]가 사용될 수 있으며, 그 상세한 설명은 생략한다.The second motion vector selector 110b selects a second selection motion vector corresponding to the second reference picture, respectively, from the second reference pictures extracted by the reference picture extractor. The second motion vector calculator 111b calculates a second calculated motion vector corresponding to the first reference picture by using the second motion vector selected by the second motion vector selector 110b. Here, the above-described equations (5) to (9) may be used as the calculation process of the second calculated motion vector, and a detailed description thereof will be omitted.

제1 움직임 예측블록 생성부(112a)는 제1 선택 움직임 벡터 및 제1 산출 움직임 벡터에 기초하여, 제1 선택 움직임 벡터에 대응하는 제1 선택 움직임 예측블록과 제1 산출 움직임 벡터에 대응하는 제1 산출 움직임 예측블록을 생성한다.The first motion prediction block generation unit 112a may include a first selection motion prediction block corresponding to the first selection motion vector and a first calculation motion vector based on the first selection motion vector and the first calculation motion vector. 1 Generate a calculated motion prediction block.

그리고, 제1 부호화 비용 산출부(113a)는 제1 선택 움직임 벡터, 제1 산출 움직임 벡터, 제1 선택 움직임 예측블록 및 제1 산출 움직임 예측블록을 이용하여 제1 예측 부호화 비용을 산출한다. 여기서, 제1 예측 부호화 비용은 복수의 제1 참조픽춰로부터 각각 선택된 제1 선택 부호화 비용 각각에 대해 산출된다.The first encoding cost calculator 113a calculates a first prediction encoding cost by using the first selected motion vector, the first calculated motion vector, the first selected motion prediction block, and the first calculated motion prediction block. Here, the first prediction encoding cost is calculated for each of the first selective encoding costs respectively selected from the plurality of first reference pictures.

여기서, 제1 부호화 비용 선정부(114a)는 제1 부호화 비용 산출부(113a)에 의해 산출된 제1 예측 부호화 비용들 중 기 설정된 조건을 만족하는 어느 하나를 선정하는데, 본 발명에서는 제1 예측 부호화 비용이 가장 적은 어느 하나가 선택되는 것을 일 예로 한다.Here, the first encoding cost selecting unit 114a selects any one of the first predictive encoding costs calculated by the first encoding cost calculating unit 113a that satisfies a preset condition. As an example, one having the least encoding cost is selected.

그리고, 제1 부호화 비용 선정부(114a)는 선정된 제1 예측 부호화 비용, 선정된 제1 예측 부호화 비용에 대한 제1 선택 움직임 벡터 및 제1 산출 움직임 벡터를 제1 대표 예측 부호화 비용, 제1 대표 선택 움직임 벡터 및 제1 대표 산출 움직임 벡터로 선정하게 된다.In addition, the first encoding cost selecting unit 114a may determine the selected first predictive encoding cost, the first selected motion vector for the selected first predictive encoding cost, and the first calculated motion vector as the first representative predictive encoding cost, and the first. A representative selection motion vector and a first representative output motion vector are selected.

동일한 방법으로, 제2 움직임 예측블록 생성부(112b)는 제2 선택 움직임 벡터 및 제2 산출 움직임 벡터에 기초하여, 제2 선택 움직임 벡터에 대응하는 제2 선택 움직임 예측블록과 제2 산출 움직임 벡터에 대응하는 제2 산출 움직임 예측블록을 생성한다.In the same manner, the second motion prediction block generator 112b may generate a second selected motion prediction block and a second calculated motion vector corresponding to the second selected motion vector based on the second selected motion vector and the second calculated motion vector. Generate a second calculated motion prediction block corresponding to.

그리고, 제2 부호화 비용 산출부(113b)는 각각의 제2 선택 움직임 벡터, 제2 산출 움직임 벡터, 제2 선택 움직임 예측블록 및 제2 산출 움직임 예측블록을 이용하여 복수의 제2 예측 부호화 비용을 산출한다.The second encoding cost calculator 113b uses the second selected motion vector, the second calculated motion vector, the second selected motion prediction block, and the second calculated motion prediction block to calculate a plurality of second prediction encoding costs. Calculate.

여기서, 제2 부호화 비용 선정부(114b)는 제2 부호화 비용 산출부(113b)에 의해 산출된 제2 예측 부호화 비용들 중 기 설정된 조건을 만족하는 어느 하나를 선정하는데, 본 발명에서는 제2 예측 부호화 비용이 가장 적은 어느 하나가 선택되는 것을 일 예로 한다.Here, the second encoding cost selecting unit 114b selects any one of the second predictive encoding costs calculated by the second encoding cost calculating unit 113b that satisfies a preset condition. As an example, one having the least encoding cost is selected.

그리고, 제2 부호화 비용 선정부(114b)는 선정된 제2 예측 부호화 비용, 선정된 제2 예측 부호화 비용에 대한 제2 선택 움직임 벡터 및 제2 산출 움직임 벡터를 제2 대표 예측 부호화 비용, 제2 대표 선택 움직임 벡터 및 제2 대표 산출 움직임 벡터로 선정하게 된다.In addition, the second encoding cost selecting unit 114b converts the selected second prediction encoding cost, the second selected motion vector for the selected second prediction encoding cost, and the second calculated motion vector into the second representative prediction encoding cost, and the second. The representative selection motion vector and the second representative output motion vector are selected.

제1 대표 부호화 비용 선정부 및 제2 대표 부호화 비용 선정부에 의해 선정된 제1 대표 예측 부호화 비용 및 제2 대표 예측 부호화 비용은 움직임 벡터 선정부(115)에 의해 비교된다. 그리고, 움직임 벡터 선정부(115)는 제1 대표 예측 부호화 비용이 제2 대표 예측 부호화 비용보다 작은 경우 제1 대표 선택 움직임 벡터를 부호와 대상 움직임 벡터로 선정하고 제1 대표 산출 움직임 벡터를 비부호화 대상 움직임 벡터로 선정한다.The first representative prediction encoding cost and the second representative prediction encoding cost selected by the first representative encoding cost selecting unit and the second representative encoding cost selecting unit are compared by the motion vector selecting unit 115. If the first representative prediction coding cost is less than the second representative prediction coding cost, the motion vector selecting unit 115 selects the first representative selection motion vector as a code and a target motion vector and decodes the first representative calculation motion vector. Selected as the target motion vector.

반면, 움직임 벡터 선정부(115)는 제2 대표 예측 부호화 비용이 제1 대표 예측 부호화 비용보다 작은 경우 제2 대표 선택 움직임 벡터를 부호화 대상 움직임 벡터로 선정하고 제2 대표 산출 움직임 벡터를 비부호화 대상 움직임 벡터로 선정한다.On the other hand, when the second representative prediction coding cost is less than the first representative prediction coding cost, the motion vector selecting unit 115 selects the second representative selection motion vector as the encoding target motion vector and selects the second representative calculating motion vector for the uncoding object. Select by motion vector.

상기와 같은 과정을 통해 선정된 부호화 대상 움직임 벡터 및 비부호화 대상 움직임 벡터를 이용하여 움직임 보상부(17)는 움직임 보상을 수행하여 예측블록을 감산기로 출력하게 된다. 여기서, 움직임 보상부(17)는 부호화 대상 움직임 벡터 및 비부호화 대상 움직임 벡터에 기초하여 현재블록에 대한 예측블록을 결정하여 출력한다.The motion compensator 17 performs motion compensation and outputs the prediction block to the subtractor by using the motion vector to be encoded and the motion vector to be uncoded through the above process. Here, the motion compensator 17 determines and outputs a prediction block for the current block based on the encoding target motion vector and the uncoding target motion vector.

한편, 움직임 벡터 부호화부(18)는 움직임 예측부(16)에 의해 선정된 부호화 대상 움직임 벡터를 부호화하여 출력한다. 여기서, 움직임 벡터 부호화부(18)는 부호화된 움직임 벡터가 양-예측(Bi-prediction) 부호화 방법에 의해 부호화된 것임을 전달하기 위한 양-예측(Bi-prediction) 부호화 모드 정보를 함께 부호화할 수 있다.On the other hand, the motion vector encoder 18 encodes and outputs the encoding target motion vector selected by the motion predictor 16. Here, the motion vector encoder 18 may encode bi-prediction encoding mode information for transmitting that the encoded motion vector is encoded by a bi-prediction encoding method. .

그리고, 움직임 벡터 부호화부(18)에 의해 부호화된 데이터는 엔트로피 부호화부(14)에 의해 부호화된 영상 데이터와 함께 다중화부(19)에 입력되어 압축된 비트스트림 형태로 생성되어 전송된다.The data encoded by the motion vector encoder 18 is input to the multiplexer 19 together with the image data encoded by the entropy encoder 14, and is generated and transmitted in the form of a compressed bitstream.

이하에서는, 도 8을 참조하여 본 발명에 따른 양-예측(Bi-prediction) 복호화 방법에 대해 상세히 설명한다.Hereinafter, a bi-prediction decoding method according to the present invention will be described in detail with reference to FIG. 8.

먼저, 부호화된 데이터인 압축된 비트스트림이 입력되면(S30), 입력되는 비트스트림에 대해 엔트로피 복호화가 수행된다(S31). 그럼 다음, 엔트로피 복호화된 데이터를 분석하여 복호화될 현재블록이 양-예측(Bi-prediction) 부호화 모드인지 여부를 판단한다(S32). 여기서, 양-예측(Bi-prediction) 부호화 모드인지 여부의 판단은 상술한 양-예측(Bi-prediction) 부호화 방법을 통해 부호화되는 과정에서 부호화된 양-예측(Bi-prediction) 부호화 모드 정보의 존재 여부를 통해 확인할 수 있다.First, when a compressed bitstream that is encoded data is input (S30), entropy decoding is performed on the input bitstream (S31). Next, the entropy decoded data is analyzed to determine whether the current block to be decoded is in the bi-prediction encoding mode (S32). Here, the determination of whether the mode is a bi-prediction encoding mode is the existence of the bi-prediction encoding mode information encoded in the process of encoding through the above-described bi-prediction encoding method. You can check whether or not.

여기서, 양-예측(Bi-prediction) 부호화 모드인 것으로 판단된 경우, 엔트로피 복호화된 데이터 중 복호화 대상 움직임 벡터를 복원한다(S33). 여기서, 복호화 대상 움직임 벡터는 상술한 양-예측(Bi-prediction) 부호화 방법을 통해 부호화된 부호화 대상 움직임 벡터이다.Here, when it is determined in the bi-prediction encoding mode, the decoding target motion vector is recovered from the entropy decoded data (S33). Here, the decoding target motion vector is an encoding target motion vector encoded by the above-described bi-prediction encoding method.

그런 다음, 복호화 대상이 되는 현재블록이 속한 현재픽춰와 복호화 대상 움직임 벡터에 대응하는 참조픽춰(이하, '제1 복호화 참조픽춰'라 함) 간의 시간 상의 거리, 현재픽춰와 다른 참조픽춰(이하, '제2 복호화 참조픽춰'라 함) 간의 시간 상의 거리, 및 복원된 복호화 대상 움직임 벡터를 이용하여 제2 복호화 참조픽춰에 대한 비복호화 대상 움직임 벡터를 산출한다(S34).Then, the distance in time between the current picture to which the current block to be decoded belongs and the reference picture corresponding to the motion vector to be decoded (hereinafter, referred to as a 'first decoded reference picture'), a reference picture different from the current picture (hereinafter, A non-decoded target motion vector for the second decoded reference picture is calculated using a time distance between the second decoded reference picture and the reconstructed decoded motion vector (S34).

여기서, 비복호화 대상 움직임 벡터의 산출은 상술한 양-예측(Bi-prediction) 부호화 방법에서 제1 선택 움직임 벡터(또는 제2 선택 움직임 벡터)를 이용하여 제1 산출 움직임 벡터(또는 제2 산출 움직임 벡터)를 산출하는 방법, 즉 [수학식 5] 내지 [수학식 9]를 이용하여 산출된다.Here, the calculation of the decoded target motion vector is performed by using the first selected motion vector (or the second selected motion vector) in the above-described bi-prediction encoding method. Vector), that is, using [Equation 5] to [Equation 9].

여기서, 양-예측(Bi-prediction) 복호화 방법에서의 복호화 움직임 벡터, 제1 복호화 참조픽춰 및 제2 복호화 참조픽춰는 각각 양-예측(Bi-prediction) 부호화 방법에서의 제1 선택 움직임 벡터, 제1 선택 움직임 벡터가 선택되는 제1 참조픽춰, 산출되는 제1 산출 움직임 벡터에 대응하는 제2 참조픽춰에 각각 대응하여 [수학식 5] 내지 [수학식 9]에 적용됨으로써, 비복호화 움직임 벡터가 산출된다.Here, the decoded motion vector, the first decoded reference picture and the second decoded reference picture in the bi-prediction decoding method are respectively the first selected motion vector and the first decoded method in the bi-prediction coding method. 1 is applied to [Equation 5] to [Equation 9] corresponding to the first reference picture from which the selection motion vector is selected and the second reference picture corresponding to the calculated first calculation motion vector, thereby decoded motion vectors. Is calculated.

상기와 같이, 비복호화 움직임 벡터가 산출되면, 복호화 움직임 벡터 및 비복호화 움직임 벡터를 이용하여 예측블록이 생성된다(S35). 여기서, 예측블록은 제1 복호화 참조픽춰 및 제2 복호화 참조픽춰 각각에 대응하여 한 쌍의 예측블록이 생성될 수 있다.As described above, when the decoded motion vector is calculated, a prediction block is generated using the decoded motion vector and the decoded motion vector (S35). Here, in the prediction block, a pair of prediction blocks may be generated corresponding to each of the first decoded reference picture and the second decoded reference picture.

그리고, 예측블록이 생성되면, 부호화된 데이터가 엔트로피 복호화 과정 및 잉여 데이터 복호화 과정을 거쳐 현재블록에 대한 잉여블록이 생성되고, 잉여블록 및 예측블록이 합산되어 현재블록의 복원영상이 생성된다(S36).When the prediction block is generated, the encoded data is subjected to an entropy decoding process and a redundant data decoding process to generate a surplus block for the current block, and the surplus block and the prediction block are summed to generate a reconstructed image of the current block (S36). ).

한편, S32 단계에서 입력되는 데이터가 양-예측(Bi-prediction) 부호화 모드가 아닌 경우, 기 설정된 복호화 과정, 예컨대, 기 공지된 복호화 방법을 통해 복호화가 수행된다(S37).On the other hand, when the data input in step S32 is not the bi-prediction encoding mode, decoding is performed through a predetermined decoding process, for example, a known decoding method (S37).

이하에서는 도 9를 참조하여 본 발명에 따른 양-예측(Bi-prediction) 복호화 장치에 대해 상세히 설명한다. 도 9에 도시된 바와 같이, 본 발명에 따른 양-예측(Bi-prediction) 복호화 장치는 엔트로피 복호화부(30), 잉여데이터 복호화부(31), 움직임 벡터 복호화부(35), 움직임 보상부(34), 메모리부(33) 및 복호화 제어부(32)를 포함할 수 있다.Hereinafter, a bi-prediction decoding apparatus according to the present invention will be described in detail with reference to FIG. 9. As illustrated in FIG. 9, the bi-prediction decoding apparatus according to the present invention includes an entropy decoding unit 30, a redundant data decoding unit 31, a motion vector decoding unit 35, and a motion compensation unit ( 34, a memory 33, and a decryption controller 32.

엔트로피 복호화부(30)는 부호화되어 입력되는 데이터를 엔트로피 복호화하여 출력한다. 여기서, 엔트로피 복호화부(30)에는 엔트로피 부호화된 양자화 변환 계수값들, 복호화 대상 움직임 벡터, 움직임 벡터에 대한 정보 등이 엔트로피 복호화되어 출력된다.The entropy decoding unit 30 entropy decodes and outputs coded and input data. Here, the entropy decoding unit 30 entropy-decodes and outputs entropy-coded quantized transform coefficient values, a motion vector to be decoded, information about a motion vector, and the like.

잉여데이터 복호화부(31)는 엔트로피 복호화된 변환 계수값들을 역양자화 및 역변환하여 영상 데이터를 복호화한다.The surplus data decoding unit 31 dequantizes the image data by inverse quantization and inverse transformation of the entropy decoded transform coefficient values.

복호화 제어부(32)는 부호화되어 입력되는 데이터의 부호화 타입을 엔트로피 복호화부(30)에 의해 복호화된 데이터에서 추출한다. 여기서, 부호화되어 입력되는 데이터가 상술한 양-예측(Bi-prediction) 부호화 방법에 의해 부호화된 데이터인 경우에는 양-예측(Bi-prediction) 부호화 과정에서 함께 부호화된 양-예측(Bi-prediction) 부호화 모드 정보가 수신되며, 복호화 제어부(32)는 양-예측(Bi-prediction) 부호화 모드 정보의 수신에 기초하여 해당 데이터가 양-예측(Bi-prediction) 부호화 방법을 통해 부호화된 것임을 인지하게 된다.The decoding control unit 32 extracts the encoding type of the encoded and input data from the data decoded by the entropy decoding unit 30. Here, in the case where the encoded and input data is data encoded by the above-described bi-prediction encoding method, the bi-prediction coded together in the bi-prediction encoding process. The encoding mode information is received, and the decoding control unit 32 recognizes that the corresponding data is encoded through a bi-prediction encoding method based on the reception of the bi-prediction encoding mode information. .

움직임 벡터 복호화부(35)는 복호화 제어부(32)에 의해 양-예측(Bi-prediction) 부호화 모드인 것으로 판단되는 경우, 엔트로피 복호화부(30)에 의해 복호화된 데이터 중 복호화 대상 움직임 벡터를 복원한다. 도 10을 참조하여 설명하면, 움직임 벡터 복호화부(35)는 복호화 대상 움직임 벡터 복원부(130) 및 비복호화 대상 움직임 벡터 산출부(133)를 포함할 수 있다.When the motion vector decoder 35 determines that the decoding control unit 32 is in the bi-prediction encoding mode, the motion vector decoder 35 restores a decoding target motion vector among the data decoded by the entropy decoding unit 30. . Referring to FIG. 10, the motion vector decoder 35 may include a decoding target motion vector reconstructor 130 and an undecoded target motion vector calculator 133.

복호화 대상 움직임 벡터 복원부(130)는 복호화 제어부(32)에 의해 양-예측(Bi-prediction) 부호화 모드인 것으로 판단되는 경우, 엔트로피 복호화부(30)에 의해 복호화된 움직임 벡터가 복호화 대상 움직임 벡터로 인식한다.When the decoding target motion vector reconstruction unit 130 determines that the decoding control unit 32 is in the bi-prediction encoding mode, the motion vector decoded by the entropy decoding unit 30 is the decoding target motion vector. To be recognized.

그리고, 비복호화 대상 움직임 벡터 산출부(133)는 복호화 대상 움직임 벡터와 메모리부(33)에 저장되어 있는 제1 복호화 참조픽춰 및 제2 복호화 참조픽춰 들의 현재픽춰와의 시간상 거리를 이용하여 비복호화 대상 움직임 벡터를 산출한다. 여기서, 비복호화 대상 움직임 벡터의 산출은 상술한 양-예측(Bi-prediction) 복호화 방법에서 설명되었는 바, 그 상세한 설명은 생략한다.The decoded object motion vector calculating unit 133 decodes the decoded object motion vector using a distance in time between the decoded object motion vector and the current picture of the first decoded reference picture and the second decoded reference picture stored in the memory 33. Calculate the target motion vector. Here, since the calculation of the decoded target motion vector has been described in the above-described Bi-prediction decoding method, a detailed description thereof will be omitted.

한편, 움직임 보상부(34)는 움직임 벡터 복호화부(35)로부터 출력되는 복호화 대상 움직임 벡터 및 비복호화 대상 움직임 벡터를 이용하여 예측블록을 생성한다. 여기서, 예측블록은 제1 복호화 참조픽춰 및 제2 복호화 참조픽춰 각각에 대응하여 한 쌍의 예측블록이 생성될 수 있음은 전술한 바와 같다.Meanwhile, the motion compensator 34 generates a prediction block by using the decoding target motion vector and the undecoding target motion vector output from the motion vector decoder 35. As described above, in the prediction block, a pair of prediction blocks may be generated corresponding to each of the first decoded reference picture and the second decoded reference picture.

그리고, 움직임 보상부(34)에 의해 생성된 예측블록은 엔트로피 복호화 과정 및 잉여 데이터 복호화 과정을 거쳐 출력되는 잉여블록과 합산기를 통해 합산되어 현재블록의 복원영상이 생성된다(S36). 또한, 생성된 현재블록의 복원영상은 움직임 보상을 위해 메모리부(33)에 저장된다.The predicted block generated by the motion compensator 34 is added through an excess block and an adder output through an entropy decoding process and an excess data decoding process to generate a reconstructed image of the current block (S36). In addition, the reconstructed image of the generated current block is stored in the memory unit 33 for motion compensation.

이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the preferred embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concepts of the present invention defined in the following claims are also provided. It belongs to the scope of rights.

Claims (11)

양-예측(Bi-prediction) 부호화 방법에 있어서,
(a) 부호화될 현재블록에 대한 제1 참조픽춰로부터 제1 선택 움직임 벡터를 선택하는 단계와;
(b) 상기 제1 선택 움직임 벡터에 기초하여 제2 참조픽춰에 대한 제1 산출 움직임 벡터를 산출하는 단계와;
(c) 상기 제1 선택 움직임 벡터, 상기 제1 산출 움직임 벡터, 상기 제1 선택 움직임 벡터에 대응하는 제1 선택 움직임 예측블록 및 상기 제1 산출 움직임 벡터에 대응하는 제2 산출 움직임 예측블록에 기초하여 제1 예측 부호화 비용을 산출하는 단계와;
(d) 상기 (a) 단계, 상기 (b) 단계 및 상기 (c) 단계를 반복 수행하여 기 설정된 기준을 만족하는 제1 대표 선택 움직임 벡터와 제1 대표 산출 움직임 벡터와 상기 제1 대표 선택 움직임 벡터 및 상기 제1 대표 산출 움직임 벡터에 따른 제1 대표 예측 부호화 비용을 선정하는 단계와;
(e) 상기 제2 참조픽춰로부터 제2 선택 움직임 벡터를 선택하는 단계와;
(f) 상기 제2 선택 움직임 벡터에 기초하여 상기 제1 참조픽춰에 대한 제2 산출 움직임 벡터를 산출하는 단계와;
(g) 상기 제2 선택 움직임 벡터, 상기 제2 산출 움직임 벡터, 상기 제2 선택 움직임 벡터에 대응하는 제2 선택 움직임 예측블록 및 상기 제2 산출 움직임 벡터에 대응하는 제2 산출 움직임 예측블록에 기초하여 제2 예측 부호화 비용을 산출하는 단계와;
(h) 상기 (e) 단계, 상기 (f) 단계 및 상기 (g) 단계를 반복 수행하여 기 설정된 기준을 만족하는 제2 대표 선택 움직임 벡터와 제2 대표 산출 움직임 벡터와 상기 제2 대표 선택 움직임 벡터 및 상기 제2 대표 산출 움직임 벡터에 따른 제2 대표 예측 부호화 비용을 선정하는 단계와;
(i) 상기 제1 대표 예측 부호화 비용이 상기 제2 대표 예측 부호화 비용보다 작은 경우 상기 제1 대표 선택 움직임 벡터를 부호화 대상 움직임 벡터로 상기 제1 대표 산출 움직임 벡터를 비부호화 대상 움직임 벡터로 선정하고, 상기 제2 대표 예측 부호화 비용이 상기 제1 대표 예측 부호화 비용보다 작은 경우 상기 제2 대표 선택 움직임 벡터를 상기 부호화 대상 움직임 벡터로 상기 제2 대표 산출 움직임 벡터를 상기 비부호화 대상 움직임 벡터로 선정하는 단계와;
(j) 상기 부호화 대상 움직임 벡터를 부호화하는 단계를 포함하는 것을 특징으로 하는 양-예측(Bi-prediction) 부호화 방법.
In a bi-prediction coding method,
(a) selecting a first selection motion vector from a first reference picture for the current block to be encoded;
(b) calculating a first calculated motion vector for a second reference picture based on the first selected motion vector;
(c) based on the first selection motion vector, the first calculation motion vector, a first selection motion prediction block corresponding to the first selection motion vector, and a second calculation motion prediction block corresponding to the first calculation motion vector. Calculating a first predictive encoding cost;
(d) Repeating steps (a), (b) and (c), the first representative selection motion vector, the first representative calculation motion vector, and the first representative selection motion satisfying a predetermined criterion Selecting a first representative prediction coding cost according to a vector and the first representative calculation motion vector;
(e) selecting a second selection motion vector from the second reference picture;
(f) calculating a second calculated motion vector for the first reference picture based on the second selected motion vector;
(g) based on the second selected motion vector, the second calculated motion vector, a second selected motion prediction block corresponding to the second selected motion vector, and a second calculated motion prediction block corresponding to the second calculated motion vector. Calculating a second predictive encoding cost;
(h) repeating steps (e), (f), and (g) to perform a second representative selection motion vector, a second representative calculation motion vector, and the second representative selection motion that satisfy a predetermined criterion; Selecting a second representative prediction coding cost according to a vector and the second representative calculating motion vector;
(i) if the first representative prediction coding cost is less than the second representative prediction coding cost, the first representative selection motion vector is selected as the encoding target motion vector, and the first representative calculation motion vector is selected as the uncoding target motion vector. And when the second representative prediction coding cost is less than the first representative prediction coding cost, selecting the second representative selection motion vector as the encoding target motion vector and the second representative calculating motion vector as the uncoding target motion vector. Steps;
(j) encoding the encoding target motion vector, wherein the bi-prediction encoding method is included.
제1항에 있어서,
상기 (j) 단계는 부호화가 상기 양-예측(Bi-prediction) 부호화 방법에 의해 부호화된 양-예측(Bi-prediction) 부호화 모드임을 전달하기 위한 양-예측(Bi-prediction) 부호화 모드 정보를 부호화하는 단계를 포함하는 것을 특징으로 하는 양-예측(Bi-prediction) 부호화 방법.
The method of claim 1,
Step (j) encodes bi-prediction encoding mode information for conveying that encoding is a bi-prediction encoding mode encoded by the bi-prediction encoding method. Bi-prediction encoding method comprising the step of.
제2항에 있어서,
상기 (b) 단계에서 상기 제1 산출 움직임 벡터는 상기 현재블록이 속한 현재픽춰와 상기 제1 참조픽춰 및 상기 제2 참조픽춰 간의 상대적인 시간 상의 거리와 상기 제1 선택 움직임 벡터의 곱에 의해 산출되고;
상기 (f) 단계에서 상기 제2 산출 움직임 벡터는 상기 현재픽춰와 상기 제1 참조픽춰 및 상기 제2 참조픽춰 간의 상대적인 시간 상의 거리와 상기 제2 선택 움직임 벡터의 곱에 의해 산출되는 것을 특징으로 하는 양-예측(Bi-prediction) 부호화 방법.
The method of claim 2,
In the step (b), the first calculated motion vector is calculated by multiplying the relative time distance between the current picture to which the current block belongs, the first reference picture and the second reference picture by the first selected motion vector. ;
In the step (f), the second calculated motion vector is calculated by multiplying the relative time distance between the current picture, the first reference picture and the second reference picture by the second selected motion vector. Bi-prediction coding method.
제3항에 있어서,
상기 제1 참조픽춰 및 상기 제2 참조픽춰가 상기 현재픽춰를 중심으로 시간상으로 전후에 각각 위치하는 경우, 상기 (b) 단계 및 상기 (f) 단계에서 상기 제1 산출 움직임 벡터 및 상기 제2 산출 움직임 벡터는 각각 수학식
Figure 112010017451283-pat00031
(여기서, mvcal는 상기 제1 산출 움직임 벡터 또는 상기 제2 산출 움직임 벡터이고, mvsel는 상기 제1 선택 움직임 벡터 또는 상기 제2 선택 움직임 벡터이고, TDB는 상기 제1 참조픽춰와 상기 제2 참조픽춰 중 상기 제1 선택 움직임 벡터 또는 상기 제2 선택 움직임 벡터가 선택된 어느 하나와 상기 현재픽춰 간의 시간상의 거리이고, TDC는 상기 제1 참조픽춰 및 상기 제2 참조픽춰 중 상기 제1 산출 움직임 벡터 또는 상기 제2 산출 움직임 벡터가 산출된 어느 하나와 상기 현재픽춰 간의 시간상의 거리이다)에 의해 산출되는 것을 특징으로 하는 양-예측(Bi-prediction) 부호화 방법.
The method of claim 3,
When the first reference picture and the second reference picture are located before and after each other in time with respect to the current picture, the first calculated motion vector and the second calculation in steps (b) and (f), respectively. The motion vectors are each equation
Figure 112010017451283-pat00031
Where mv cal is the first calculated motion vector or the second calculated motion vector, mv sel is the first selected motion vector or the second selected motion vector, and TD B is the first reference picture and the first motion vector. 2 is a temporal distance between any one of the first selected motion vector or the second selected motion vector among the reference pictures and the current picture, and TD C is the first calculation of the first reference picture and the second reference picture; Bi-prediction encoding method characterized in that the motion vector or the second calculated motion vector is calculated by any one of the calculated time and the current picture.
제3항에 있어서,
상기 제1 참조픽춰 및 상기 제2 참조픽춰가 상기 현재픽춰로부터 시간상으로 전 또는 후에 함께 위치하는 경우, 상기 (b) 단계 및 상기 (f) 단계에서 상기 제1 산출 움직임 벡터 및 상기 제2 산출 움직임 벡터는 각각 수학식
Figure 112010017451283-pat00032
(여기서, mvcal는 상기 제1 산출 움직임 벡터 또는 상기 제2 산출 움직임 벡터이고, mvsel는 상기 제1 선택 움직임 벡터 또는 상기 제2 선택 움직임 벡터이고, TDB는 상기 제1 참조픽춰와 상기 제2 참조픽춰 중 상기 제1 선택 움직임 벡터 또는 상기 제2 선택 움직임 벡터가 선택된 어느 하나와 상기 현재픽춰 간의 시간상의 거리이고, TDC는 상기 제1 참조픽춰 및 상기 제2 참조픽춰 중 상기 제1 산출 움직임 벡터 또는 상기 제2 산출 움직임 벡터가 산출된 어느 하나와 상기 현재픽춰 간의 시간상의 거리이다)에 의해 산출되는 것을 특징으로 하는 양-예측(Bi-prediction) 부호화 방법.
The method of claim 3,
When the first reference picture and the second reference picture are located together before or after in time from the current picture, the first calculated motion vector and the second calculated motion in steps (b) and (f). Vectors are equations
Figure 112010017451283-pat00032
Where mv cal is the first calculated motion vector or the second calculated motion vector, mv sel is the first selected motion vector or the second selected motion vector, and TD B is the first reference picture and the first motion vector. 2 is a temporal distance between any one of the first selected motion vector or the second selected motion vector among the reference pictures and the current picture, and TD C is the first calculation of the first reference picture and the second reference picture; Bi-prediction encoding method characterized in that the motion vector or the second calculated motion vector is calculated by any one of the calculated time and the current picture.
제1항 내지 제5항 중 어느 한 항에 따른 양-예측(Bi-prediction) 부호화 방법을 수행하기 위한 프로그램 코드가 기록된 컴퓨터가 판단 가능한 기록매체.A computer-readable recording medium having recorded thereon a program code for performing a bi-prediction encoding method according to any one of claims 1 to 5. 양-예측(Bi-prediction) 부호화 장치에 있어서,
복수의 제1 참조픽춰로부터 부호화 될 현재블록에 기초하여 기 설정된 움직임 탐색범위 내의 상기 각 제1 참조픽춰에 대응하는 제1 선택 움직임 벡터를 선택하는 제1 움직임 벡터 선택부와;
상기 각 제1 선택 움직임 벡터와 상기 각 제1 선택 움직임 벡터에 대응하는 제2 참조픽춰에 기초하여 상기 각 제1 선택 움직임 벡터에 대응하는 제1 산출 움직임 벡터를 산출하는 제1 움직임 벡터 산출부와;
상기 제1 선택 움직임 벡터, 상기 제1 산출 움직임 벡터, 상기 제1 선택 움직임 벡터에 대응하는 제1 선택 움직임 예측블록 및 상기 제1 산출 움직임 벡터에 대응하는 제1 산출 움직임 예측블록에 기초하여 상기 각 제1 선택 움직임 벡터에 각각 대응하는 제1 예측 부호화 비용을 산출하는 제1 부호화 비용 산출부와;
상기 각 제1 선택 움직임 벡터에 대응하여 산출된 상기 복수의 제1 예측 부호화 비용을 비교하여 기 설정된 조건을 만족하는 제1 대표 예측 부호화 비용을 선정하는 제1 부호 화 비용 선정부와;
상기 각 제2 참조픽춰로부터 상기 각 제2 참조픽춰에 대응하는 제2 선택 움직임 벡터를 선택하는 제2 움직임 벡터 선택부와;
상기 각 제2 선택 움직임 벡터와 상기 각 제2 선택 움직임 벡터에 대응하는 상기 제1 참조픽춰에 기초하여 상기 각 제2 선택 움직임 벡터에 대응하는 제2 산출 움직임 벡터를 산출하는 제2 움직임 벡터 산출부와;
상기 제2 선택 움직임 벡터, 상기 제2 산출 움직임 벡터, 상기 제2 선택 움직임 벡터에 대응하는 제2 선택 움직임 예측블록 및 상기 제2 산출 움직임 벡터에 대응하는 제2 산출 움직임 예측블록에 기초하여 상기 각 제2 선택 움직임 벡터에 각각 대응하는 제2 예측 부호화 비용을 산출하는 제2 부호화 비용 산출부와;
상기 각 제2 선택 움직임 벡터에 대응하여 산출된 상기 복수의 제2 예측 부호화 비용을 비교하여 기 설정된 조건을 만족하는 제2 대표 예측 부호화 비용을 선정하는 제2 부호화 비용 선정부와;
상기 제1 대표 예측 부호화 비용이 상기 제2 대표 예측 부호화 비용보다 작은 경우 상기 제1 선택 움직임 벡터 중 상기 제1 대표 예측 부호화 비용에 대응하는 어느 하나를 부호화 대상 움직임 벡터로 선정하고, 상기 제2 대표 예측 부호화 비용이 상기 제1 대표 예측 부호화 비용보다 작은 경우 상기 제2 선택 움직임 벡터 중 상기 제2 대표 예측 부호화 비용에 대응하는 어느 하나를 부호화 대상 움직임 벡터로 선정하는 움직임 벡터 선정부와;
상기 부호화 대상 움직임 벡터를 부호화하는 움직임 벡터 부호화부를 포함하는 것을 특징으로 하는 양-예측(Bi-prediction) 부호화 장치.
In a bi-prediction encoding apparatus,
A first motion vector selecting unit selecting a first selected motion vector corresponding to each of the first reference pictures within a preset motion search range based on a current block to be encoded from a plurality of first reference pictures;
A first motion vector calculator configured to calculate a first calculated motion vector corresponding to the first selected motion vector based on the first selected motion vector and a second reference picture corresponding to the first selected motion vector; ;
The angle based on the first selection motion vector, the first calculation motion vector, a first selection motion prediction block corresponding to the first selection motion vector, and a first calculation motion prediction block corresponding to the first calculation motion vector. A first encoding cost calculator for calculating a first prediction encoding cost respectively corresponding to the first selected motion vector;
A first encoding cost selecting unit configured to select a first representative prediction encoding cost that satisfies a predetermined condition by comparing the plurality of first prediction encoding costs calculated corresponding to each of the first selected motion vectors;
A second motion vector selector which selects a second selection motion vector corresponding to each second reference picture from each second reference picture;
A second motion vector calculator configured to calculate a second calculated motion vector corresponding to the second selected motion vector based on the second selected motion vector and the first reference picture corresponding to the second selected motion vector; Wow;
The angle based on the second selection motion vector, the second calculation motion vector, the second selection motion prediction block corresponding to the second selection motion vector, and the second calculation motion prediction block corresponding to the second calculation motion vector. A second encoding cost calculator for calculating second predictive encoding costs respectively corresponding to the second selected motion vector;
A second encoding cost selecting unit configured to compare the plurality of second prediction encoding costs calculated corresponding to the second selection motion vectors, and select a second representative prediction encoding cost that satisfies a preset condition;
When the first representative prediction coding cost is smaller than the second representative prediction coding cost, any one of the first selected motion vectors corresponding to the first representative prediction coding cost is selected as an encoding target motion vector, and the second representative A motion vector selecting unit that selects one of the second selected motion vectors corresponding to the second representative prediction coding cost as an encoding target motion vector when a prediction coding cost is smaller than the first representative prediction coding cost;
And a motion vector encoder for encoding the motion vector to be encoded.
제7항에 있어서,
상기 움직임 벡터 부호화부는,
상기 부호화 대상 움직임 벡터의 부호화가 양-예측(Bi-prediction) 부호화 방법에 의해 부호화된 양-예측(Bi-prediction) 부호화 모드임을 전달하기 위한 양-예측(Bi-prediction) 부호화 모드 정보를 부호화하는 것을 특징으로 하는 양-예측(Bi-prediction) 부호화 장치.
The method of claim 7, wherein
The motion vector encoder,
Encoding bi-prediction encoding mode information for transmitting that the encoding of the encoding target motion vector is a bi-prediction encoding mode encoded by a bi-prediction encoding method. Bi-prediction encoding apparatus, characterized in that.
제8항에 있어서,
상기 제1 움직임 벡터 산출부는 상기 현재블록이 속한 현재픽춰와 상기 제1 참조픽춰 및 상기 제2 참조픽춰 간의 상대적인 시간 상의 거리와 상기 제1 선택 움직임 벡터의 곱에 의해 상기 제 1 산출 움직임 벡터를 산출하고;
상기 제2 움직임 벡터 산출부는 상기 현재블록이 속한 현재픽춰와 상기 제1 참조픽춰 및 상기 제2 참조픽춰 간의 상대적인 시간 상의 거리와 상기 제2 선택 움직임 벡터의 곱에 의해 상기 제2 산출 움직임 벡터를 산출하는 것을 특징으로 하는 양-예측(Bi-prediction) 부호화 장치.
The method of claim 8,
The first motion vector calculator calculates the first calculated motion vector by multiplying a first temporal motion vector by a distance in time between the current picture to which the current block belongs, the first reference picture and the second reference picture. and;
The second motion vector calculator calculates the second calculated motion vector by multiplying the second time-dependent motion vector by a distance in time between the current picture to which the current block belongs, the first reference picture and the second reference picture. Bi-prediction coding apparatus, characterized in that.
제9항에 있어서,
상기 제1 참조픽춰 및 상기 제2 참조픽춰가 상기 현재픽춰를 중심으로 시간상으로 전후에 각각 위치하는 경우, 상기 제1 움직임 벡터 산출부 및 상기 제2 움직임 벡터 산출부는 상기 제1 산출 움직임 벡터 및 상기 제2 산출 움직임 벡터를 각각 수학식
Figure 112010017451283-pat00033
(여기서, mvcal는 상기 제1 산출 움직임 벡터 또는 상기 제2 산출 움직임 벡터이고, mvsel는 상기 제1 선택 움직임 벡터 또는 상기 제2 선택 움직임 벡터이고, TDB는 상기 제1 참조픽춰와 상기 제2 참조픽춰 중 상기 제1 선택 움직임 벡터 또는 상기 제2 선택 움직임 벡터가 선택된 어느 하나와 상기 현재픽춰 간의 시간상의 거리이고, TDC는 상기 제1 참조픽춰 및 상기 제2 참조픽춰 중 상기 제1 산출 움직임 벡터 또는 상기 제2 산출 움직임 벡터가 산출된 어느 하나와 상기 현재픽춰 간의 시간상의 거리이다)에 의해 산출하는 것을 특징으로 하는 양-예측(Bi-prediction) 부호화 장치.
10. The method of claim 9,
When the first reference picture and the second reference picture are located before and after each other in time with respect to the current picture, the first motion vector calculating unit and the second motion vector calculating unit are arranged in the first calculated motion vector and the first picture. The second output motion vector is respectively expressed as
Figure 112010017451283-pat00033
Where mv cal is the first calculated motion vector or the second calculated motion vector, mv sel is the first selected motion vector or the second selected motion vector, and TD B is the first reference picture and the first motion vector. 2 is a temporal distance between any one of the first selected motion vector or the second selected motion vector among the reference pictures and the current picture, and TD C is the first calculation of the first reference picture and the second reference picture; Bi-prediction encoding apparatus, characterized in that it is calculated by the motion vector or the second calculated motion vector is the distance in time between the calculated one and the current picture.
제9항에 있어서,
상기 제1 참조픽춰 및 상기 제2 참조픽춰가 상기 현재픽춰로부터 시간상으로 전 또는 후에 함께 위치하는 경우, 상기 제1 움직임 벡터 산출부 및 상기 제2 움직임 벡터 산출부는 상기 제1 산출 움직임 벡터 및 상기 제2 산출 움직임 벡터를 각각 수학식
Figure 112010017451283-pat00034
(여기서, mvcal는 상기 제1 산출 움직임 벡터 또는 상기 제2 산출 움직임 벡터이고, mvsel는 상기 제1 선택 움직임 벡터 또는 상기 제2 선택 움직임 벡터이고, TDB는 상기 제1 참조픽춰와 상기 제2 참조픽춰 중 상기 제1 선택 움직임 벡터 또는 상기 제2 선택 움직임 벡터가 선택된 어느 하나와 상기 현재픽춰 간의 시간상의 거리이고, TDC는 상기 제1 참조픽춰 및 상기 제2 참조픽춰 중 상기 제1 산출 움직임 벡터 또는 상기 제2 산출 움직임 벡터가 산출된 어느 하나와 상기 현재픽춰 간의 시간상의 거리이다)에 의해 산출하는 것을 특징으로 하는 양-예측(Bi-prediction) 부호화 장치.
10. The method of claim 9,
When the first reference picture and the second reference picture are located together before or after in time from the current picture, the first motion vector calculator and the second motion vector calculator include the first calculated motion vector and the first motion picture. 2 output motion vectors, respectively
Figure 112010017451283-pat00034
Where mv cal is the first calculated motion vector or the second calculated motion vector, mv sel is the first selected motion vector or the second selected motion vector, and TD B is the first reference picture and the first motion vector. 2 is a temporal distance between any one of the first selected motion vector or the second selected motion vector among the reference pictures and the current picture, and TD C is the first calculation of the first reference picture and the second reference picture; Bi-prediction encoding apparatus, characterized in that it is calculated by the motion vector or the second calculated motion vector is the distance in time between the calculated one and the current picture.
KR1020100024553A 2010-03-19 2010-03-19 Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording midium KR100978465B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100024553A KR100978465B1 (en) 2010-03-19 2010-03-19 Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording midium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100024553A KR100978465B1 (en) 2010-03-19 2010-03-19 Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording midium

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020080014672A Division KR100955396B1 (en) 2007-06-15 2008-02-19 Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording midium

Publications (2)

Publication Number Publication Date
KR20100045959A KR20100045959A (en) 2010-05-04
KR100978465B1 true KR100978465B1 (en) 2010-08-26

Family

ID=42273502

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100024553A KR100978465B1 (en) 2010-03-19 2010-03-19 Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording midium

Country Status (1)

Country Link
KR (1) KR100978465B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10687053B2 (en) 2015-11-19 2020-06-16 Electronics And Telecommunications Research Institute Method and apparatus for image encoding/decoding

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019245342A1 (en) * 2018-06-21 2019-12-26 주식회사 케이티 Video signal processing method and device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050042275A (en) * 2002-10-04 2005-05-06 엘지전자 주식회사 Method of determining motion vector
KR20050122496A (en) * 2004-06-24 2005-12-29 삼성전자주식회사 Method for encoding/decoding b-picture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050042275A (en) * 2002-10-04 2005-05-06 엘지전자 주식회사 Method of determining motion vector
KR20050042274A (en) * 2002-10-04 2005-05-06 엘지전자 주식회사 Method of determining motion vector
KR20050122496A (en) * 2004-06-24 2005-12-29 삼성전자주식회사 Method for encoding/decoding b-picture

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10687053B2 (en) 2015-11-19 2020-06-16 Electronics And Telecommunications Research Institute Method and apparatus for image encoding/decoding
US11039128B2 (en) 2015-11-19 2021-06-15 Electronics And Telecommunications Research Institute Method and apparatus for image encoding/decoding
US11683475B2 (en) 2015-11-19 2023-06-20 Electronics And Telecommunications Research Institute Method and apparatus for image encoding/decoding

Also Published As

Publication number Publication date
KR20100045959A (en) 2010-05-04

Similar Documents

Publication Publication Date Title
KR100955396B1 (en) Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording midium
KR101366242B1 (en) Method for encoding and decoding motion model parameter, and method and apparatus for video encoding and decoding using motion model parameter
US10104393B2 (en) Video prediction encoding device, video prediction encoding method, video prediction encoding program, video prediction decoding device, video prediction decoding method, and video prediction decoding program
US9628815B2 (en) Method and apparatus for encoding/decoding the motion vectors of a plurality of reference pictures, and apparatus and method for image encoding/decoding using same
JP5580453B2 (en) Direct mode encoding and decoding apparatus
US8948243B2 (en) Image encoding device, image decoding device, image encoding method, and image decoding method
KR20110062516A (en) Apparatus and method for encoding video, apparatus and method for decoding video and directional intra-prediction method therefor
US20100310184A1 (en) Dual prediction video encoding and decoding method and device
KR20090095012A (en) Method and apparatus for encoding and decoding image using consecutive motion estimation
GB2487200A (en) Video encoding and decoding with improved error resilience
US20090016443A1 (en) Inter mode determination method for video encoding
US20240098251A1 (en) Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording medium
KR100728011B1 (en) Apparatus for encoding and decoding image, and method theroff, and a recording medium storing program to implement the method
KR20080041972A (en) Video encoding and decoding apparatus and method referencing reconstructed blocks of a current frame
KR20120025111A (en) Intra prediction encoding/decoding apparatus and method capable of skipping prediction mode information using the characteristics of reference pixels
US9723307B2 (en) Estimation of motion at the level of the decoder by matching of models
KR100978465B1 (en) Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording midium
JP2006517369A (en) Apparatus for encoding a video data stream
KR20210119388A (en) Video encoding and video decoding
JP2006324888A (en) Dynamic-image coding equipment
KR101285841B1 (en) Motion vector encoder and decoder, and method for encoding and decoding thereof
KR20120035769A (en) Method and apparatus for encoding and decoding motion vector
Zheng Side information exploitation, quality control and low complexity implementation for distributed video coding
WO2016068630A1 (en) Method for encoding, decoding video signal and device therefor
JP2010288096A (en) Moving image encoding method, moving image encoding apparatus, and moving image encoding program

Legal Events

Date Code Title Description
A107 Divisional application of patent
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: 20130530

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140617

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee