KR100494831B1 - Method of determining motion vector - Google Patents

Method of determining motion vector Download PDF

Info

Publication number
KR100494831B1
KR100494831B1 KR10-2005-0027769A KR20050027769A KR100494831B1 KR 100494831 B1 KR100494831 B1 KR 100494831B1 KR 20050027769 A KR20050027769 A KR 20050027769A KR 100494831 B1 KR100494831 B1 KR 100494831B1
Authority
KR
South Korea
Prior art keywords
list
picture
motion vector
direct mode
frame
Prior art date
Application number
KR10-2005-0027769A
Other languages
Korean (ko)
Other versions
KR20050042274A (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 엘지전자 주식회사
Publication of KR20050042274A publication Critical patent/KR20050042274A/en
Application granted granted Critical
Publication of KR100494831B1 publication Critical patent/KR100494831B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61NELECTROTHERAPY; MAGNETOTHERAPY; RADIATION THERAPY; ULTRASOUND THERAPY
    • A61N5/00Radiation therapy
    • A61N5/06Radiation therapy using light
    • A61N2005/0658Radiation therapy using light characterised by the wavelength of light used
    • A61N2005/0659Radiation therapy using light characterised by the wavelength of light used infrared
    • A61N2005/066Radiation therapy using light characterised by the wavelength of light used infrared far infrared

Abstract

본 발명에 따른 B 픽쳐의 다이렉트 모드 모션벡터 연산 방법은, 동영상 코딩 시스템에서 B(bi-predictive) 픽쳐의 다이렉트 모드 모션벡터를 추출함에 있어, B 픽쳐의 다이렉트 모드의 list 1 레퍼런스 픽쳐(list 1 reference picture for direct mode)가 상기 B 픽쳐 보다 시간적으로 앞 또는 뒤에 위치하는 경우에, 상기 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록(co-located block )이 가지고 있는, 모션벡터의 모드(list 0 및/또는 list 1)와 관계없이 결정된 모션벡터를 스케일링하여, list 0 모션벡터(MVF)와 list 1 모션벡터(MVB)를 유도하여 B 픽쳐의 다이렉트 모드 모션벡터를 연산한다.In the direct mode motion vector calculation method of a B picture according to the present invention, in extracting a direct mode motion vector of a B (bi-predictive) picture in a video coding system, a list 1 reference picture of a direct mode of a B picture (list 1 reference) When the picture for direct mode is located before or after the B picture in time, the mode of the motion vector, which is contained in the co-located block in the list 1 reference picture of the direct mode. The direct motion vector of the B picture is calculated by deriving the list 0 motion vector MV F and the list 1 motion vector MV B by scaling the determined motion vector regardless of 0 and / or list 1).

또한, 본 발명에 따른 B 픽쳐의 다이렉트 모드 모션벡터 연산 방법은, list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록이 갖는 모션벡터가 가리키는 레퍼런스 픽쳐를 다이렉트 모드의 list 0 레퍼런스 픽쳐(list 0 reference picture for direct mode)로 결정하여 상기 B 픽쳐의 다이렉트 모드의 모션벡터를 연산하는 것을 특징으로 한다.In addition, the direct mode motion vector calculation method of the B picture according to the present invention includes a list 0 reference picture in direct mode that the reference picture indicated by the motion vector of the block having the same position in the list 1 reference picture. mode) to calculate the motion vector of the direct mode of the B picture.

Description

모션벡터 결정방법{METHOD OF DETERMINING MOTION VECTOR}METHOD OF DETERMINING MOTION VECTOR}

본 발명은 동영상 코딩 방법에 관한 것으로서, 특히 차세대 동영상 압축 기술에 정의된 B(Bi-predictive) 픽쳐에서의 모션벡터 결정 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a video coding method, and more particularly, to a method of determining a motion vector in a bi-predictive (B) picture defined in a next generation video compression technique.

종래 B 픽쳐는 포워드(forward), 백워드(backward), 양방향(bi-directional ), 다이렉트(direct), 그리고 인트라(intra) 모드 등 5 가지 예측모드를 가지고 있다. 여기에서 포워드, 백워드, 양방향 모드는 모드 이름에 방향 정보를 내포하고 있기 때문에 모드 이름을 보고 모션벡터의 방향성을 파악할 수 있다. 그리고, 특히 다이렉트 모드는 인접한 두 픽쳐 사이에 모션 연속성이 일정하게 유지된다는 시간적 중복성(temporal redundancy) 특성을 이용하여 인접 픽쳐에 있는 동일 위치의 블록이 갖는 모션으로부터 양방향의 모션벡터 두개를 유도하게 된다. 이러한 다이렉트 모드는 모션정보를 디코더에 전송하지 않기 때문에 비트율을 감소시킬 수 있는 장점이 있다. Conventional B pictures have five prediction modes, such as forward, backward, bi-directional, direct, and intra modes. Here, the forward, backward, and bidirectional modes contain direction information in the mode name, so that the direction of the motion vector can be determined by looking at the mode name. In particular, the direct mode derives two bidirectional motion vectors from a motion of a block in the same position in a neighboring picture by using a temporal redundancy characteristic that motion continuity between two adjacent pictures is kept constant. Since the direct mode does not transmit motion information to the decoder, there is an advantage that the bit rate can be reduced.

한편, H.264 또는 MPEG-4 part 10과 같은 차세대 동영상 압축 기술에서의 B 픽쳐는 B 픽쳐가 레퍼런스 픽쳐로서 사용되는 것을 허용하기 때문에 B 픽쳐는 레퍼런스 픽쳐 버퍼에 저장될 수 있는 특징이 있다. 또한, B 픽쳐의 예측 모드로서 list 0, list 1, 쌍예측(bi-predictive), 다이렉트(direct), 그리고 인트라(intra) 모드 등을 가지고 있다. On the other hand, the B picture in a next-generation video compression technology such as H.264 or MPEG-4 part 10 allows the B picture to be used as a reference picture, so that the B picture may be stored in a reference picture buffer. In addition, the prediction mode of the B picture includes list 0, list 1, bi-predictive, direct, and intra modes.

여기서, List 0 모드는 종래의 포워드 모드와 비슷한 모드로서, 모션정보인 레퍼런스 픽쳐 인덱스와 모션벡터 차는 각각 'ref_idx_fwdl0'와 'mvd_l0' 에 표시된다. List 1 모드도 종래 백워드 모드와 비슷하고 모션정보는 각각 ref_idx_l1과 mvd_l1 에 표시된다. 쌍예측 모드는 두 개의 레퍼런스 픽쳐를 갖게 되고 두 레퍼런스 픽쳐의 위치는 B 픽쳐에 비해 모두 시간적으로 앞에 위치하거나 모두 뒤에 위치할 수도 있고, 또는 B 픽쳐를 중심으로 앞뒤로 존재할 수도 있다. 이때 두 레퍼런스 픽쳐 인덱스와 모션벡터 차는 각각 ref_idx_l0, ref_idx_l1, mvd_l0, mvd_l1에 표시되고, 각 레퍼런스 픽쳐는 시간적 위치 정보인 POC(picture order count) 라는 데이터를 갖고 있다. Here, the List 0 mode is a mode similar to the conventional forward mode, in which the reference picture index and the motion vector difference, which are motion information, are displayed in 'ref_idx_fwdl0' and 'mvd_l0', respectively. List 1 mode is similar to the conventional backward mode, and motion information is displayed in ref_idx_l1 and mvd_l1, respectively. The bi-prediction mode has two reference pictures, and the positions of the two reference pictures may be both ahead of time or behind each of the B pictures, or may exist back and forth around the B picture. At this time, the difference between the two reference picture indexes and the motion vector is indicated in ref_idx_l0, ref_idx_l1, mvd_l0, and mvd_l1, and each reference picture has data called POC (picture order count), which is temporal position information.

그리고, 다이렉트 모드는 모션벡터를 유도하기 위해 공간적 기법과 시간적 기법 중 한가지 기법을 선택하여 모션벡터를 구한다. 공간적 기법은 코딩하고자 하는 매크로블록의 주변 블록들로부터 list 0 및 list 1의 레퍼런스 픽쳐 인덱스와 모션벡터를 유도해내는 기법이다. 한편, 시간적 기법은 종래 B 픽쳐에서 사용되는 방법으로써 다이렉트 모드의 list 1 레퍼런스 픽쳐(list 1 reference picture for direct mode)에 있는 동일 위치의 블록이 갖고 있는 list 0 모션 벡터를 스케일링하여 list 0 모션벡터(MVF)와 list 1 모션벡터 (MVB)를 유도한다. 여기서 다이렉트 모드의 list 1 레퍼런스 픽쳐는 list 1 예측을 위한 인덱스가 0인 픽쳐이고, 다이렉트 모드의 list 0 레퍼런스 픽쳐는 list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록이 갖는 list 0 레퍼런스 픽쳐를 사용한다.The direct mode selects one of a spatial technique and a temporal technique to derive the motion vector. The spatial technique is a technique of deriving the reference picture index and the motion vector of list 0 and list 1 from the neighboring blocks of the macroblock to be coded. On the other hand, the temporal technique is a method used in the conventional B picture, and scales the list 0 motion vector of a block having the same position in the list 1 reference picture for direct mode in direct mode. MV F ) and list 1 motion vector (MV B ) are derived. Here, the list 1 reference picture in the direct mode is a picture having an index of 0 for list 1 prediction, and the list 0 reference picture in the direct mode uses a list 0 reference picture of a block having the same position in the list 1 reference picture.

도 1은 사용 가능한 list 0와 list 1 레퍼런스 픽쳐 수(또는 short-term buffer 크기)가 6일 때, IBBBP 패턴에서의 각 B 픽쳐에 대한 list 0 예측을 위한 디폴트 인덱스, list 1 예측을 위한 디폴트 인덱스 및 다이렉트 모드의 list 1 레퍼런스 픽쳐를 각각 보여주고 있다. 여기에서 list 0 예측을 위한 디폴트 인덱스와 list 1 예측을 위한 디폴트 인덱스는 디코딩 순서와 관계없이 이미 디코딩된 레퍼런스 픽쳐의 output 순서, 즉 POC 값에 의해 인덱싱이 이루어진다. 도 1에서는 모든 B 픽쳐가 시간적으로 뒤에 따라나오는 P 픽쳐를 다이렉트 모드의 list 1 레퍼런스 픽쳐로써 사용하고 있다. 1 shows a default index for list 0 prediction and a default index for list 1 prediction for each B picture in an IBBBP pattern when the number of available list 0 and list 1 reference pictures (or short-term buffer size) is 6 And list 1 reference pictures in direct mode, respectively. Here, the default index for list 0 prediction and the default index for list 1 prediction are indexed by the output order, that is, the POC value, of the decoded reference picture regardless of the decoding order. In Fig. 1, a P picture followed by all B pictures in time is used as a list 1 reference picture in direct mode.

한편, 도 2는 오직 B 픽쳐만을 사용하는 IBBB 패턴에서의 각 B 픽쳐에 대한 list 0 예측을 위한 디폴트 인덱스, list 1 예측을 위한 디폴트 인덱스 및 다이렉트 모드의 list 1 레퍼런스 픽쳐를 각각 보여준다. 도 2의 (a)는 코딩하는 B 픽쳐가 B8 일 때, list 1의 인덱스 0를 갖는 시간적으로 앞에 위치하는 B5가 다이렉트 모드의 list 1 레퍼런스 픽쳐가 되고, (b)에서 처럼 다음 디코딩 순서인 B7에 대한 다이렉트 모드의 list 1 레퍼런스 픽쳐는 시간적으로 뒤에 위치한 B8이 된다. 마지막으로 (c)와 같이 다음 디코딩 순서인 B9에 대한 다이렉트 모드의 list 1 레퍼런스 픽쳐는 시간적으로 앞에 위치한 B7이 된다.Meanwhile, FIG. 2 shows a default index for list 0 prediction, a default index for list 1 prediction, and a list 1 reference picture in direct mode for each B picture in an IBBB pattern using only B pictures, respectively. 2 (a) shows that when the B picture to be coded is B8, the temporally preceding B5 having index 0 of list 1 becomes the list 1 reference picture in direct mode, and as shown in (b), the next decoding order is B7. The list 1 reference picture in direct mode for is B8 located later in time. Finally, as shown in (c), the list 1 reference picture of the direct mode for the next decoding order B9 becomes B7 located temporally.

결론적으로, 도 1과 도 2를 통하여 살펴본 바에 의하면, 다이렉트 모드의 list 1 레퍼런스 픽쳐는 코딩하려는 B 픽쳐보다 시간적으로 뒤에 위치한 P 또는 B 픽쳐가 될 수도 있으며, 또한 시간적으로 앞에 위치한 B 픽쳐가 될 수 있다. 1 and 2, the list 1 reference picture in the direct mode may be a P or B picture located later in time than the B picture to be coded, or may be a B picture located in front of the time. have.

도 3은 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 뒤에 위치할 경우에 동일 위치의 블록(co-located block)이 가질 수 있는 모드를 보여주고 있다. 이때, list 1 레퍼런스 픽쳐는 P 픽쳐 또는 B 픽쳐가 될 수 있으므로 list 1 레퍼런스 픽쳐의 동일 위치에 있는 블록은 한 개 또는 두 개의 모션벡터를 갖거나 인트라 모드를 갖게된다. H.264 또는 MPEG-4 part 10과 같은 차세대 동영상 압축기술은 슬라이스 레벨에서 레퍼런스 픽쳐 인덱스를 리오더링(reordering)하는 것이 허용되므로 list 1 예측을 위한 인덱스 0을 B 픽쳐 바로 뒤에 있는 픽쳐에 할당할 수 있다. 즉, list 1 레퍼런스 픽쳐는 B 픽쳐 바로 뒤에 존재할 수 있으므로 동일 위치의 블록이 갖는 모션벡터는 앞 또는 뒤 방향을 향할 수 있다.FIG. 3 illustrates a mode that a co-located block may have when the list 1 reference picture of the direct mode is located later in time than the B picture. In this case, since the list 1 reference picture may be a P picture or a B picture, a block at the same position of the list 1 reference picture may have one or two motion vectors or have an intra mode. Next-generation video compression techniques, such as H.264 or MPEG-4 part 10, allow reordering the reference picture index at the slice level so that index 0 for list 1 prediction can be assigned to the picture immediately after the B picture. have. That is, since the list 1 reference picture may exist immediately after the B picture, the motion vector of the block having the same position may be directed forward or backward.

그리고, 도 4는 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 앞에 위치할 경우에 동일 위치의 블록이 가질 수 있는 모드를 보여주고 있다. 앞에서와 같이 동일 위치의 블록은 한 개 또는 두 개의 모션벡터를 갖거나 인트라 모드를 갖는다. 이때 list 1 레퍼런스 픽쳐와 B 픽쳐 사이에 다른 레퍼런스 픽쳐가 존재할 수 있으므로 모션벡터 방향은 시간적으로 앞과 뒤를 향할 수 있다.4 illustrates a mode that a block having the same position may have when the list 1 reference picture of the direct mode is located ahead of the B picture in time. As before, a block of the same position has one or two motion vectors or has an intra mode. In this case, since another reference picture may exist between the list 1 reference picture and the B picture, the direction of the motion vector may be forward and backward in time.

도 3 및 도 4에 나타낸 바와 같이, 다이렉트 모드의 list 1 레퍼런스 픽쳐는 다양한 예측 모드를 가질 수 있으므로, 이와 같은 다양한 경우가 고려된 다이렉트 모드의 모션벡터 연산 방법이 모색되어야 할 필요성이 발생된다. As shown in FIG. 3 and FIG. 4, since the list 1 reference picture of the direct mode may have various prediction modes, there is a need to search for a motion vector calculation method of the direct mode in consideration of such various cases.

본 발명은, 차세대 동영상 압축 기술에 정의된 B(Bi-predictive) 픽쳐에서 다이렉트 모드 모션벡터 추출 기법을 제시하여, 다이렉트 모드가 매크로블록의 예측 모드로서 선택될 가능성을 높임으로서 B 픽쳐 코딩 효율(coding efficiency)을 향상시킬 수 있는 B 픽쳐의 다이렉트 모드 모션벡터 결정 방법을 제공함에 그 목적이 있다.The present invention proposes a direct mode motion vector extraction technique in B (Bi-predictive) pictures defined in the next-generation video compression technology, thereby increasing the likelihood that the direct mode is selected as the prediction mode of the macroblock. An object of the present invention is to provide a method for determining a direct mode motion vector of a B picture that can improve efficiency.

상기의 목적을 달성하기 위하여 본 발명에 따른 B 픽쳐의 다이렉트 모드 모션벡터 연산 방법은, list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록이 list 0, list 1 모션벡터를 가지고 있으면 다이렉트 모드의 모션벡터를 유도하기 위해 사용될 모션벡터는 두 가지 방법에 의해 list 0 또는 list 1 모션벡터를 선택하는 점에 그 특징이 있다. In order to achieve the above object, the direct mode motion vector calculation method of the B picture according to the present invention derives the motion vector of the direct mode when the block having the same position in the list 1 reference picture has the list 0 and list 1 motion vectors. The motion vector to be used is characterized by selecting list 0 or list 1 motion vectors by two methods.

여기서 본 발명에 의하면, list 0, list 1 모션벡터 중 동일 위치의 블록이 존재하는 list 1 레퍼런스 픽쳐에서 시간적 거리가 가까운 모션벡터를 다이렉트 모드의 모션벡터를 유도하는 모션벡터로서 선택하고 만일 두 모션벡터가 동일 레퍼런스를 가리키면 list 0 모션벡터를 다이렉트 모드의 모션벡터를 유도하는 모션벡터로서 선택하는 방법이 있고, 다른 방법은 시간적 거리와 관계없이 무조건 list 0 모션벡터를 다이렉트 모드의 모션벡터를 유도하는 모션벡터로서 선택하는 점에 그 특징이 있다. According to the present invention, a motion vector having a close temporal distance from a list 1 reference picture having a block having the same position among list 0 and list 1 motion vectors is selected as a motion vector for inducing a motion vector in a direct mode. If is pointing to the same reference, there is a method of selecting list 0 motion vector as a motion vector for inducing a direct motion vector, and another method is to unconditionally derive a list 0 motion vector for direct motion vector regardless of temporal distance. The feature is that it is selected as a vector.

또한 본 발명에 의하면, 다이렉트 모드의 모션벡터는 동일위치의 블록이 갖는 list 0 모션벡터로부터 유도된다는 종래 기법을 list 1 레퍼런스 픽쳐의 동일 위치에 있는 블록이 오직 list 1 모션벡터만을 갖고 있는 경우에 적용할 경우, 동일 위치의 블록의 list 0 모션벡터는 0 이므로 다이렉트 모드의 모션벡터는 모두 0이 되는 문제를 발견하고 이것을 해결하기 위해, 본 발명은 동일위치의 블록이 갖는 모드 종류와 관계없이 그 블록이 갖고 있는 모션벡터를 이용하여 다이렉트 모드의 모션벡터를 유도하는 점에 그 특징이 있다.In addition, according to the present invention, the conventional technique that the motion vector of the direct mode is derived from the list 0 motion vector of the block in the same position is applied to the case where the block at the same position of the list 1 reference picture has only the list 1 motion vector. In this case, the list 0 motion vector of the block in the same position is 0, so that the motion vectors in the direct mode are all 0. In order to solve this problem, the present invention is directed to the block regardless of the mode type of the block in the same position. The feature is that a motion vector in direct mode is derived using this motion vector.

여기서 본 발명은, list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록이 오직 list 1 모션벡터만을 갖고 있는 경우에 다이렉트 모션벡터를 구할 수 있는 방법을 제시한다. 첫번째 방법은 다이렉트 모드 모션벡터 계산에 사용될 모션벡터 값을 0 으로 하고, 다이렉트 모드의 list 0 레퍼런스 픽쳐(list 0 reference picture for direct mode)는 시간적으로 B 픽쳐 바로 이전 위치에 존재하는 디코딩된 픽쳐라고 정의하는 것을 특징으로 한다. 두번째 방법은 다이렉트 모드 모션벡터 계산에 사용될 모션벡터 값은 동일위치의 블록이 갖고 있는 list 1 모션벡터를 그대로 이용하고, 대신 다이렉트 모드의 list 0 레퍼런스 픽쳐는 시간적으로 B 픽쳐 바로 이전 위치에 존재하는 디코딩된 픽쳐라고 정의하는 점에 그 특징이 있다. 세번째 방법은 다이렉트 모드 모션벡터 계산에 사용될 모션벡터 값은 동일위치의 블록이 갖고 있는 list 1 모션벡터를 그대로 이용하고, list 1 모션벡터가 가리키고 있는 레퍼런스 픽쳐를 다이렉트 모드의 list 0 레퍼런스 픽쳐로 결정하는 것을 특징으로 한다.Herein, the present invention provides a method for obtaining a direct motion vector when a block having the same position in the list 1 reference picture has only the list 1 motion vector. In the first method, the motion vector value to be used for calculating the direct mode motion vector is 0, and the list 0 reference picture for direct mode of the direct mode is defined as a decoded picture existing at the position immediately before the B picture in time. Characterized in that. In the second method, the motion vector value used for the direct mode motion vector calculation uses the list 1 motion vector of the same block as it is, and instead, the list 0 reference picture in the direct mode is decoded in the position immediately before the B picture in time. Its characteristics are that it is defined as a completed picture. In the third method, the motion vector value used for the direct mode motion vector calculation is to use the list 1 motion vector of the block in the same position as it is, and determine the reference picture pointed to by the list 1 motion vector as the list 0 reference picture in the direct mode. It is characterized by.

또한 본 발명에 의하면, 종래 기법대로 다이렉트 모드의 list 1 레퍼런스 픽쳐를 list 1 예측에 사용되는 인덱스가 0 인 픽쳐로서 정의할 경우, B 픽쳐와 인덱스 0인 픽쳐 사이에 다른 픽쳐가 디코딩될 때 인덱스 0인 픽쳐의 모션정보 및 레퍼런스 픽쳐 정보가 유지되어야 하므로 추가적인 메모리 사용이 필수적이지만 본 발명에서는 다이렉트 모드의 list 1 레퍼런스 픽쳐를 가장 최근에 디코딩된 픽쳐로서 정의함으로써 추가적인 메모리 사용이 절약될 수 있는 특징이 있다.Also, according to the present invention, when the list 1 reference picture in the direct mode is defined as a picture having an index of 0 used in the list 1 prediction according to the conventional technique, an index 0 when another picture is decoded between the B picture and the picture having the index 0 is decoded. Although additional memory usage is essential because the motion information and reference picture information of the in-picture must be maintained, the present invention has a feature that additional memory usage can be saved by defining list 1 reference picture in direct mode as the most recently decoded picture. .

또한 본 발명에 의하면, 동영상 코딩 시스템에서 B(bi-predictive) 픽쳐의 다이렉트 모드 모션벡터를 추출함에 있어, B 픽쳐의 다이렉트 모드의 list 1 레퍼런스 픽쳐가 상기 B 픽쳐 보다 시간적으로 앞에 위치하는 경우에, 상기 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록(co-located macroblock)이 가지고 있는 모션벡터를 스케일링하여, list 0 모션벡터(MVF)와 list 1 모션벡터 (MVB)를 유도하여 B 픽쳐의 다이렉트 모드 모션벡터를 연산하는 점에 그 특징이 있다.According to the present invention, when extracting a direct mode motion vector of a B (bi-predictive) picture in a video coding system, when the list 1 reference picture of the direct mode of the B picture is located ahead of the B picture in time, By scaling the motion vectors of the co-located macroblocks in the direct mode list 1 reference picture, the list 0 motion vector (MV F ) and the list 1 motion vector (MV B ) are derived. The characteristic is that the direct mode motion vector of the picture is calculated.

여기서 본 발명에 의하면, 상기 B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 프레임(frame) 모드이며, 상기 B 픽쳐의 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 앞에 존재할 경우, 상기 B 픽쳐의 다이렉트 모드의 모션벡터 MVF, MVB는 다음식으로부터 산출되는 점에 그 특징이 있다.According to the present invention, the macroblock of the B picture and the macroblock at the same position of the list 1 reference picture are both in frame mode, and the list 0 reference picture in the direct mode of the B picture is smaller than the list 1 reference picture. When present in front of time, the motion vectors MV F and MV B in the direct mode of the B picture are characterized in that they are calculated from the following equation.

MVF = TDB x MV / TDD MV F = TD B x MV / TD D

MVB = (TDB - TDD) x MV / TDD MV B = (TD B -TD D ) x MV / TD D

또는 or

Z = TDB x 256 / TDD MVF = (Z x MV + 128) >> 8Z = TD B x 256 / TD D MV F = (Z x MV + 128) >> 8

W = Z - 256 MVB = (W x MV + 128) >> 8W = Z-256 MV B = (W x MV + 128) >> 8

여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이며, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이고, MV는 상기 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Where TD B is the temporal distance between the current B frame and the list 0 reference frame, TD D is the temporal distance between the list 1 reference list and the list 0 reference frame, and MV is the same as in the list 1 reference picture in the direct mode. The motion vector of the block of position.

*또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 프레임 모드이며, 상기 B 픽쳐의 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 뒤에 존재할 경우, 상기 B 픽쳐의 다이렉트 모드의 모션벡터 MVF, MVB는 다음식으로부터 산출되는 점에 그 특징이 있다.In addition, according to the present invention, both the macroblock of the B picture and the macroblock at the same position of the list 1 reference picture are all in frame mode, and the list 0 reference picture in the direct mode of the B picture is more temporally than the list 1 reference picture. When present later, the motion vectors MV F and MV B in the direct mode of the B picture are characterized in that they are calculated from the following equation.

MVF = - TDB x MV / TDD MV F =-TD B x MV / TD D

MVB = - (TDB + TDD) x MV / TDD MV B =-(TD B + TD D ) x MV / TD D

또는 or

Z = - TDB x 256 / TDD MVF = (Z x MV + 128) >> 8Z =-TD B x 256 / TD D MV F = (Z x MV + 128) >> 8

W = Z - 256 MVB = (W x MV + 128) >> 8W = Z-256 MV B = (W x MV + 128) >> 8

여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이며, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이고, MV는 상기 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Where TD B is the temporal distance between the current B frame and the list 0 reference frame, TD D is the temporal distance between the list 1 reference list and the list 0 reference frame, and MV is the same as in the list 1 reference picture in the direct mode. The motion vector of the block of position.

또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 피일드(field) 모드이며, 상기 B 픽쳐의 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 앞에 존재할 경우, 상기 B 프레임의 각 피일드 i에 대한 다이렉트 모드의 모션벡터 MVF,i, MVB,i는 다음식으로부터 산출되는 점에 그 특징이 있다.According to the present invention, the macroblock of the B picture and the macroblock at the same position of the list 1 reference picture are both in the field mode, and the list 0 reference picture in the direct mode of the B picture is the list 1 reference picture. When present earlier in time, the motion vectors MV F, i and MV B, i in the direct mode for each of the frames i of the B frame are characterized in that they are calculated from the following equation.

MVF,i = TDB,i x MVi / TDD,i MV F, i = TD B, i x MV i / TD D, i

MVB,i = (TDB,i - TDD,i) x MVi / TDD,i MV B, i = (TD B, i -TD D, i ) x MV i / TD D, i

또는 or

Z = TDB,i x 256 / TDD,i MVF,i = (Z x MVi + 128) >> 8Z = TD B, i x 256 / TD D, i MV F, i = (Z x MV i + 128) >> 8

W = Z - 256 MVB,i = (W x MVi + 128) >> 8W = Z-256 MV B, i = (W x MV i + 128) >> 8

여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이며, TDD,i 는 list 1 레퍼런스 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이고, MVi는 상기 다이렉트 모드의 list 1 레퍼런스 피일드에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Here, TD B, i is the temporal distance between the current B feed and the list 0 reference feed, TD D, i is the temporal distance between the list 1 reference list and the list 0 reference feed, and MV i is the direct The motion vector of the same block in the mode's list 1 reference field.

또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 피일드(field) 모드이며, 상기 B 픽쳐의 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 뒤에 존재할 경우, 상기 B 프레임의 각 피일드 i에 대한 다이렉트 모드의 모션벡터 MVF,i, MVB,i는 다음식으로부터 산출되는 점에 그 특징이 있다.According to the present invention, the macroblock of the B picture and the macroblock at the same position of the list 1 reference picture are both in the field mode, and the list 0 reference picture in the direct mode of the B picture is the list 1 reference picture. When present later in time, the motion vectors MV F, i and MV B, i in the direct mode for each of the frames i of the B frame are characterized in that they are calculated from the following equation.

MVF,i = - TDB,i x MVi / TDD,i MV F, i =-TD B, i x MV i / TD D, i

MVB,i = - (TDB,i + TDD,i) x MVi / TDD,i MV B, i =-(TD B, i + TD D, i ) x MV i / TD D, i

또는 or

Z = -TDB,i x 256 / TDD,i MVF,i = (Z x MVi + 128) >> 8Z = -TD B, i x 256 / TD D, i MV F, i = (Z x MV i + 128) >> 8

W = Z - 256 MVB,i = (W x MVi + 128) >>8W = Z-256 MV B, i = (W x MV i + 128) >> 8

여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이며, TDD,i 는 list 1 레퍼런스 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이고, MVi는 상기 다이렉트 모드의 list 1 레퍼런스 피일드에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Here, TD B, i is the temporal distance between the current B feed and the list 0 reference feed, TD D, i is the temporal distance between the list 1 reference list and the list 0 reference feed, and MV i is the direct The motion vector of the same block in the mode's list 1 reference field.

또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록이 피일드 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 프레임 모드이며, 상기 B 픽쳐의 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 앞에 존재할 경우, 상기 B 프레임의 각 피일드 i에 대한 다이렉트 모드의 모션벡터 MVF,i, MVB,i는 다음식으로부터 산출되는 점에 그 특징이 있다.Further, according to the present invention, the macroblock of the B picture is in the shield mode and the macroblock at the same position of the list 1 reference picture is the frame mode, and the list 0 reference picture in the direct mode of the B picture is less than the list 1 reference picture. When present in time, the motion vectors MV F, i and MV B, i in the direct mode for each of the frames i of the B frame are characterized in that they are calculated from the following equation.

MVF,i = TDB,i x MV / TDD MV F, i = TD B, i x MV / TD D

MVB,i = (TDB,i - TDD) x MV / TDD MV B, i = (TD B, i -TD D ) x MV / TD D

또는 or

Z = TDB,i x 256 / TDD MVF,i = (Z x MV + 128) >> 8Z = TD B, i x 256 / TD D MV F, i = (Z x MV + 128) >> 8

W = Z - 256 MVB,i = (W x MV + 128) >> 8W = Z-256 MV B, i = (W x MV + 128) >> 8

여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이며, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이고, MV는 상기 다이렉트 모드의 list 1 레퍼런스 프레임에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Here, TD B, i is the temporal distance between the current B feed and the list 0 reference feed, TD D is the temporal distance between the list 1 reference list and the list 0 reference frame, and MV is the list 1 reference of the direct mode. This is the motion vector of the same block in the frame.

또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록이 피일드 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 프레임 모드이며, 상기 B 픽쳐의 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 뒤에 존재할 경우, 상기 B 프레임의 각 피일드 i에 대한 다이렉트 모드의 모션벡터 MVF,i, MVB,i는 다음식으로부터 산출되는 점에 그 특징이 있다.Further, according to the present invention, the macroblock of the B picture is in the shield mode and the macroblock at the same position of the list 1 reference picture is the frame mode, and the list 0 reference picture in the direct mode of the B picture is less than the list 1 reference picture. When present later in time, the motion vectors MV F, i and MV B, i in the direct mode for each of the frames i of the B frame are characterized in that they are calculated from the following equation.

MVF,i = - TDB,i x MV / TDD MV F, i =-TD B, i x MV / TD D

MVB,i = - (TDB,i + TDD) x MV / TDD MV B, i =-(TD B, i + TD D ) x MV / TD D

또는 or

Z = - TDB,i x 256 / TDD MVF,i = (Z x MV + 128) >> 8Z =-TD B, i x 256 / TD D MV F, i = (Z x MV + 128) >> 8

W = Z - 256 MVB,i = (W x MV + 128) >> 8W = Z-256 MV B, i = (W x MV + 128) >> 8

여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이며, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이고, MV는 상기 다이렉트 모드의 list 1 레퍼런스 프레임에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Here, TD B, i is the temporal distance between the current B feed and the list 0 reference feed, TD D is the temporal distance between the list 1 reference list and the list 0 reference frame, and MV is the list 1 reference of the direct mode. This is the motion vector of the same block in the frame.

또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록이 프레임 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 피일드 모드이며, 상기 B 픽쳐의 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 앞에 존재할 경우, 상기 B 프레임의 다이렉트 모드의 모션벡터 MVF, MVB는 다음식으로부터 산출되는 점에 그 특징이 있다. 여기서 list 1 레퍼런스 프레임의 피일드 1에 있는 동일 위치의 블록이 갖는 모션정보가 다이렉트 모드의 모션벡터를 구하는데 사용된다.According to the present invention, the macroblock of the B picture is a frame mode and the macroblock at the same position of the list 1 reference picture is a shield mode, and the list 0 reference picture of the direct mode of the B picture is less than the list 1 reference picture. When present in front of time, the motion vectors MV F and MV B in the direct mode of the B frame are characterized in that they are calculated from the following equation. Here, the motion information of the block of the same position in the feed 1 of the list 1 reference frame is used to obtain the motion vector of the direct mode.

MVF = TDB x MV1 / TDD,1 MV F = TD B x MV 1 / TD D, 1

MVB = (TDB - TDD,1) x MV1/ TDD,1 MV B = (TD B -TD D, 1 ) x MV 1 / TD D, 1

또는 or

Z = TDB x 256 / TDD,1 MVF = (Z x MV1 + 128) >> 8Z = TD B x 256 / TD D, 1 MV F = (Z x MV 1 + 128) >> 8

W = Z - 256 MVB = (W x MV1 + 128) >> 8W = Z-256 MV B = (W x MV 1 + 128) >> 8

여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이며, TDD,1는 list 1 레퍼런스 프레임의 피일드 1과 list 0 레퍼런스 피일드 사이의 시간적 거리이고, MV1는 상기 list 1 레퍼런스 프레임의 피일드 1에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Here, TD B is a temporal distance between a current B frame and a list 0 reference frame, TD D, 1 is a temporal distance between a feed 1 of the list 1 reference frame and a list 0 reference feed, and MV 1 is the list 1. This is the motion vector of the same position block in feed 1 of the reference frame.

또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록이 프레임 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 피일드 모드이며, 상기 B 픽쳐의 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 뒤에 존재할 경우, 상기 B 프레임의 다이렉트 모드의 모션벡터 MVF, MVB는 다음식으로부터 산출되는 점에 그 특징이 있다. 여기서 list 1 레퍼런스 프레임의 피일드 1에 있는 동일 위치의 블록이 갖는 모션정보가 다이렉트 모드의 모션벡터를 구하는데 사용된다.According to the present invention, the macroblock of the B picture is a frame mode and the macroblock at the same position of the list 1 reference picture is a shield mode, and the list 0 reference picture of the direct mode of the B picture is less than the list 1 reference picture. When present later in time, the motion vectors MV F and MV B in the direct mode of the B frame are calculated from the following equation. Here, the motion information of the block of the same position in the feed 1 of the list 1 reference frame is used to obtain the motion vector of the direct mode.

MVF = - TDB x MV1 / TDD,1 MV F =-TD B x MV 1 / TD D, 1

MVB = - (TDB + TDD,1) x MV1/ TDD,1 MV B =-(TD B + TD D, 1 ) x MV 1 / TD D, 1

또는 or

Z = - TDB x 256 / TDD,1 MVF = (Z x MV1 + 128) >> 8Z =-TD B x 256 / TD D, 1 MV F = (Z x MV 1 + 128) >> 8

W = Z - 256 MVB = (W x MV1 + 128) >> 8W = Z-256 MV B = (W x MV 1 + 128) >> 8

여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이며, TDD,1는 list 1 레퍼런스 프레임의 피일드 1과 list 0 레퍼런스 피일드 사이의 시간적 거리이고, MV1는 상기 list 1 레퍼런스 프레임의 피일드 1에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Here, TD B is a temporal distance between a current B frame and a list 0 reference frame, TD D, 1 is a temporal distance between a feed 1 of the list 1 reference frame and a list 0 reference feed, and MV 1 is the list 1. This is the motion vector of the same position block in feed 1 of the reference frame.

또한 본 발명에 의하면, 상기 B 픽쳐의 다이렉트 모드의 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 두 개의 모션벡터를 가질 경우에는 하나의 모션벡터(list 0 또는 list 1 모션벡터)를 선택하고, 이 선택된 모션벡터로부터 B 픽쳐의 다이렉트 모드의 모션벡터를 유도하는 점에 그 특징이 있다.According to the present invention, when the macroblock at the same position of the list 1 reference picture in the direct mode of the B picture has two motion vectors, one motion vector (list 0) is used. Or list 1 motion vector) and derives the motion vector of the direct mode of the B picture from the selected motion vector.

또한, 상기의 목적을 달성하기 위하여 본 발명에 따른 B 픽쳐의 다이렉트 모드 모션벡터 연산 방법의 다른 실시 예는,In addition, in order to achieve the above object, another embodiment of the direct mode motion vector calculation method of the B picture according to the present invention,

동영상 코딩 시스템에서 B(bi-predictive) 픽쳐의 다이렉트 모드 모션벡터를 추출함에 있어, B 픽쳐의 다이렉트 모드의 list 0 레퍼런스 픽쳐와 list 1 레퍼런스 픽쳐가 모두 상기 B 픽쳐보다 시간적으로 뒤에 존재할 경우에, 상기 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록(co-located block)이 가지고 있는 모션벡터를 스케일링하여, list 0 모션벡터(MVF)와 list 1 모션벡터(MVB)를 유도하여 B 픽쳐의 다이렉트 모드 모션벡터를 연산하는 점에 그 특징이 있다.In extracting the direct mode motion vector of the B (bi-predictive) picture in the video coding system, when both the list 0 reference picture and the list 1 reference picture of the direct mode of the B picture are present in time later than the B picture, Scales the motion vectors of the co-located blocks in the list 1 reference picture in direct mode, derives the list 0 motion vector (MV F ) and the list 1 motion vector (MV B ) Its characteristic is that it computes the direct mode motion vector of.

여기서 본 발명에 의하면, 상기 B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 프레임 모드이며, 상기 B 픽쳐의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐에 비해 시간적으로 뒤에 존재하는 경우, 상기 B 픽쳐의 다이렉트 모드의 모션벡터 MVF, MVB는 다음식으로부터 산출되는 점에 그 특징이 있다.According to the present invention, the macroblock of the B picture and the macroblock at the same position of the list 1 reference picture are both in the frame mode, and the list 0 reference picture of the B picture is present later in time than the list 1 reference picture. In this case, the motion vectors MV F and MV B in the direct mode of the B picture are calculated from the following equation.

MVF = TDB x MV / TDD MV F = TD B x MV / TD D

MVB = (TDB - TDD) x MV / TDD MV B = (TD B -TD D ) x MV / TD D

또는 or

Z = TDB x 256 / TDD MVF = (Z x MV + 128) >> 8Z = TD B x 256 / TD D MV F = (Z x MV + 128) >> 8

W = Z - 256 MVB = (W x MV + 128) >> 8W = Z-256 MV B = (W x MV + 128) >> 8

여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이며, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이고, MV는 상기 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Where TD B is the temporal distance between the current B frame and the list 0 reference frame, TD D is the temporal distance between the list 1 reference list and the list 0 reference frame, and MV is the same as in the list 1 reference picture in the direct mode. The motion vector of the block of position.

또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 프레임 모드이며, 상기 B 픽쳐의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐에 비해 시간적으로 앞에 존재하는 경우, 상기 B 픽쳐의 다이렉트 모드의 모션벡터 MVF, MVB는 다음식으로부터 산출되는 점에 그 특징이 있다.In addition, according to the present invention, both the macroblock of the B picture and the macroblock at the same position of the list 1 reference picture are all in frame mode, and the list 0 reference picture of the B picture is present in time compared to the list 1 reference picture. In this case, the motion vectors MV F and MV B in the direct mode of the B picture are calculated from the following equation.

MVF = - TDB x MV / TDD MV F =-TD B x MV / TD D

MVB = - (TDB + TDD) x MV / TDD MV B =-(TD B + TD D ) x MV / TD D

또는 or

Z = - TDB x 256 / TDD MVF = (Z x MV + 128) >> 8Z =-TD B x 256 / TD D MV F = (Z x MV + 128) >> 8

W = Z - 256 MVB = (W x MV + 128) >> 8W = Z-256 MV B = (W x MV + 128) >> 8

여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이며, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이고, MV는 상기 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Where TD B is the temporal distance between the current B frame and the list 0 reference frame, TD D is the temporal distance between the list 1 reference list and the list 0 reference frame, and MV is the same as in the list 1 reference picture in the direct mode. The motion vector of the block of position.

또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 피일드(field) 모드이며, 상기 B 픽쳐의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐에 비해 시간적으로 뒤에 존재하는 경우, 상기 B 프레임의 각 피일드 i에 대한 다이렉트 모드의 모션벡터 MVF,i, MVB,i는 다음식으로부터 산출되는 점에 그 특징이 있다.According to the present invention, both the macroblock of the B picture and the macroblock at the same position of the list 1 reference picture are all in the field mode, and the list 0 reference picture of the B picture is temporally compared to the list 1 reference picture. In this case, the motion vectors MV F, i and MV B, i in the direct mode for each of the frames i of the B frame are calculated from the following equation.

MVF,i = TDB,i x MVi / TDD,i MV F, i = TD B, i x MV i / TD D, i

MVB,i = (TDB,i - TDD,i) x MVi / TDD,i MV B, i = (TD B, i -TD D, i ) x MV i / TD D, i

또는 or

Z = TDB,i x 256 / TDD,i MVF,i = (Z x MVi + 128) >> 8Z = TD B, i x 256 / TD D, i MV F, i = (Z x MV i + 128) >> 8

W = Z - 256 MVB,i = (W x MVi + 128) >> 8W = Z-256 MV B, i = (W x MV i + 128) >> 8

여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이며, TDD,i 는 list 1 레퍼런스 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이고, MVi는 상기 다이렉트 모드의 list 1 레퍼런스 피일드에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Here, TD B, i is the temporal distance between the current B feed and the list 0 reference feed, TD D, i is the temporal distance between the list 1 reference list and the list 0 reference feed, and MV i is the direct The motion vector of the same block in the mode's list 1 reference field.

또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 피일드(field) 모드이며, 상기 B 픽쳐의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐에 비해 시간적으로 앞에 존재하는 경우, 상기 B 프레임의 각 피일드 i에 대한 다이렉트 모드의 모션벡터 MVF,i, MVB,i는 다음식으로부터 산출되는 점에 그 특징이 있다.According to the present invention, both the macroblock of the B picture and the macroblock at the same position of the list 1 reference picture are all in the field mode, and the list 0 reference picture of the B picture is temporally compared to the list 1 reference picture. In this case, the motion vectors MV F, i and MV B, i in the direct mode for each of the frames i of the B frame are calculated from the following equation.

MVF,i = - TDB,i x MVi / TDD,i MV F, i =-TD B, i x MV i / TD D, i

MVB,i = - (TDB,i + TDD,i) x MVi / TDD,i MV B, i =-(TD B, i + TD D, i ) x MV i / TD D, i

또는 or

Z = -TDB,i x 256 / TDD,i MVF,i = (Z x MVi + 128) >> 8Z = -TD B, i x 256 / TD D, i MV F, i = (Z x MV i + 128) >> 8

W = Z - 256 MVB,i = (W x MVi + 128) >>8W = Z-256 MV B, i = (W x MV i + 128) >> 8

여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이며, TDD,i 는 list 1 레퍼런스 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이고, MVi는 상기 다이렉트 모드의 list 1 레퍼런스 피일드에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Here, TD B, i is the temporal distance between the current B feed and the list 0 reference feed, TD D, i is the temporal distance between the list 1 reference list and the list 0 reference feed, and MV i is the direct The motion vector of the same block in the mode's list 1 reference field.

또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록이 피일드 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 프레임 모드이며, 상기 B 픽쳐의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐에 비해 시간적으로 뒤에 존재하는 경우, 상기 B 프레임의 각 피일드 i에 대한 다이렉트 모드의 모션벡터 MVF,i, MVB,i는 다음식으로부터 산출되는 점에 그 특징이 있다.Further, according to the present invention, the macroblock of the B picture is in the shield mode, the macroblock at the same position of the list 1 reference picture is in the frame mode, and the list 0 reference picture of the B picture is temporally compared to the list 1 reference picture. When present later, the motion vectors MV F, i and MV B, i in the direct mode for each of the frames i of the B frame are characterized in that they are calculated from the following equation.

MVF,i = TDB,i x MV / TDD MV F, i = TD B, i x MV / TD D

MVB,i = (TDB,i - TDD) x MV / TDD MV B, i = (TD B, i -TD D ) x MV / TD D

또는 or

Z = TDB,i x 256 / TDD MVF,i = (Z x MV + 128) >> 8Z = TD B, i x 256 / TD D MV F, i = (Z x MV + 128) >> 8

W = Z - 256 MVB,i = (W x MV + 128) >> 8W = Z-256 MV B, i = (W x MV + 128) >> 8

여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이며, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이고, MV는 상기 다이렉트 모드의 list 1 레퍼런스 프레임에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Here, TD B, i is the temporal distance between the current B feed and the list 0 reference feed, TD D is the temporal distance between the list 1 reference list and the list 0 reference frame, and MV is the list 1 reference of the direct mode. This is the motion vector of the same block in the frame.

또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록이 피일드 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 프레임 모드이며, 상기 B 픽쳐의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐에 비해 시간적으로 앞에 존재하는 경우, 상기 B 프레임의 각 피일드 i에 대한 다이렉트 모드의 모션벡터 MVF,i, MVB,i는 다음식으로부터 산출되는 점에 그 특징이 있다.Further, according to the present invention, the macroblock of the B picture is in the shield mode, the macroblock at the same position of the list 1 reference picture is in the frame mode, and the list 0 reference picture of the B picture is temporally compared to the list 1 reference picture. When present before, the motion vectors MV F, i and MV B, i in the direct mode for each of the frames i of the B frame are characterized in that they are calculated from the following equation.

MVF,i = - TDB,i x MV / TDD MV F, i =-TD B, i x MV / TD D

MVB,i = - (TDB,i + TDD) x MV / TDD MV B, i =-(TD B, i + TD D ) x MV / TD D

또는 or

Z = - TDB,i x 256 / TDD MVF,i = (Z x MV + 128) >> 8Z =-TD B, i x 256 / TD D MV F, i = (Z x MV + 128) >> 8

W = Z - 256 MVB,i = (W x MV + 128) >> 8W = Z-256 MV B, i = (W x MV + 128) >> 8

여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이며, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이고, MV는 상기 다이렉트 모드의 list 1 레퍼런스 프레임에 있는 동일 위치의 매크로블록이 가지고 있는 모션벡터이다.Here, TD B, i is the temporal distance between the current B feed and the list 0 reference feed, TD D is the temporal distance between the list 1 reference list and the list 0 reference frame, and MV is the list 1 reference of the direct mode. This is the motion vector of the macroblock at the same position in the frame.

또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록이 프레임 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 피일드 모드이며, 상기 B 픽쳐의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐에 비해 시간적으로 뒤에 존재하는 경우, 상기 B 프레임의 다이렉트 모드의 모션벡터 MVF, MVB는 다음식으로부터 산출되는 점에 그 특징이 있다. 여기서 list 1 레퍼런스 프레임의 피일드 0에 있는 동일 위치의 블록이 갖는 모션정보가 다이렉트 모드의 모션벡터를 구하는데 사용된다.According to the present invention, the macroblock of the B picture is a frame mode, the macroblock at the same position of the list 1 reference picture is a shield mode, and the list 0 reference picture of the B picture is temporally compared to the list 1 reference picture. When present later, the motion vectors MV F and MV B in the direct mode of the B frame are calculated from the following equation. Here, the motion information of the same block located in the 0 of the list 1 reference frame is used to obtain the motion vector of the direct mode.

MVF = TDB x MV0 / TDD,1 MV F = TD B x MV 0 / TD D, 1

MVB = (TDB - TDD,0) x MV0/ TDD,0 MV B = (TD B -TD D, 0 ) x MV 0 / TD D, 0

또는 or

Z = TDB x 256 / TDD,0 MVF = (Z x MV0 + 128) >> 8Z = TD B x 256 / TD D, 0 MV F = (Z x MV 0 + 128) >> 8

W = Z - 256 MVB = (W x MV0 + 128) >> 8W = Z-256 MV B = (W x MV 0 + 128) >> 8

여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이며, TDD,1는 list 1 레퍼런스 프레임의 피일드 0과 list 0 레퍼런스 피일드 사이의 시간적 거리이고, MV0는 상기 다이렉트 모드를 위한 list 1 레퍼런스 프레임의 피일드 0에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Here, TD B is the temporal distance between the current B frame and the list 0 reference frame, TD D, 1 is the temporal distance between the 0 and list 0 reference frames of the list 1 reference frame, and MV 0 is the direct mode. This is the motion vector of the block at the same position in feed 0 of the list 1 reference frame.

또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록이 프레임 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 피일드 모드이며, 상기 B 픽쳐의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐에 비해 시간적으로 앞에 존재하는 경우, 상기 B 프레임의 다이렉트 모드의 모션벡터 MVF, MVB는 다음식으로부터 산출되는 점에 그 특징이 있다. 여기서 list 1 레퍼런스 프레임의 피일드 0에 있는 동일 위치의 블록이 갖는 모션정보가 다이렉트 모드의 모션벡터를 구하는데 사용된다.According to the present invention, the macroblock of the B picture is a frame mode, the macroblock at the same position of the list 1 reference picture is a shield mode, and the list 0 reference picture of the B picture is temporally compared to the list 1 reference picture. When present before, the motion vectors MV F and MV B in the direct mode of the B frame are characterized in that they are calculated from the following equation. Here, the motion information of the same block located in the 0 of the list 1 reference frame is used to obtain the motion vector of the direct mode.

MVF = - TDB x MV0 / TDD,0 MV F =-TD B x MV 0 / TD D, 0

MVB = - (TDB + TDD,0) x MV0/ TDD,0 MV B =-(TD B + TD D, 0 ) x MV 0 / TD D, 0

또는 or

Z = - TDB x 256 / TDD,0 MVF = (Z x MV0 + 128) >> 8Z =-TD B x 256 / TD D, 0 MV F = (Z x MV 0 + 128) >> 8

W = Z - 256 MVB = (W x MV0 + 128) >> 8W = Z-256 MV B = (W x MV 0 + 128) >> 8

여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이며, TDD,1는 list 1 레퍼런스 프레임의 피일드 0과 list 0 레퍼런스 피일드 사이의 시간적 거리이고, MV0는 상기 다이렉트 모드 list 1 레퍼런스 프레임의 피일드 0에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Here, TD B is the temporal distance between the current B frame and the list 0 reference frame, TD D, 1 is the temporal distance between the 0 and list 0 reference frames of the list 1 reference frame, and MV 0 is the direct mode. list 1 This is the motion vector of the same position block in feed 0 of the reference frame.

또한 본 발명에 의하면, 상기 B 픽쳐의 다이렉트 모드의 list 1 레퍼런스 픽쳐의 동일 위치에 있는 블록이 두 개의 모션벡터를 가질 경우에는 하나의 모션벡터(MV1 또는 MV2)를 선택하고, 이 선택된 모션벡터로부터 B 픽쳐의 다이렉트 모드의 모션벡터를 유도하는 점에 그 특징이 있다.According to the present invention, when a block at the same position of the list 1 reference picture in the direct mode of the B picture has two motion vectors, one motion vector MV 1 or MV 2 is selected, and the selected motion is selected. Its characteristic is that it derives the direct motion vector of the B picture from the vector.

또한, 상기의 목적을 달성하기 위하여 본 발명에 따른 B 픽쳐의 다이렉트 모드 모션벡터 연산 방법의 또 다른 실시 예는,In addition, to achieve the above object another embodiment of a direct mode motion vector calculation method of a B picture according to the present invention,

동영상 코딩 시스템에서 B(bi-predictive) 픽쳐의 다이렉트 모드 모션벡터를 추출함에 있어, 다이렉트 모드 모션벡터를 구하는데 사용하는 수식을 단순화하기 위해 픽쳐 사이의 시간적 거리를 부호가 있는 값으로 표현함으로써 B 픽쳐의 다이렉트 모드의 list 0 레퍼런스 픽쳐와 list 1 레퍼런스 픽쳐의 위치에 관계없이 상기 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록(co-located block)이 가지고 있는 모션벡터를 스케일링하여, list 0 모션벡터 (MVF)와 list 1 모션벡터(MVB)를 유도하여 B 픽쳐의 다이렉트 모드 모션벡터를 연산하는 점에 그 특징이 있다.In extracting the direct mode motion vector of a B (bi-predictive) picture in a video coding system, the B picture is represented by representing the temporal distance between the pictures as a signed value to simplify the equation used to obtain the direct mode motion vector. Regardless of the position of the list 0 reference picture and the list 1 reference picture in direct mode, the motion vector contained in the co-located block of the same position in the list 1 reference picture in the direct mode is scaled. The characteristic is that the direct mode motion vector of the B picture is calculated by deriving the vector MV F and the list 1 motion vector MV B.

여기서 본 발명에 의하면, 상기 B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 프레임 모드일 경우, 상기 B 픽쳐의 다이렉트 모드의 모션벡터 MVF, MVB는 다음식으로부터 산출되는 점에 그 특징이 있다.According to the present invention, when the macroblock of the B picture and the macroblock at the same position of the list 1 reference picture are both in the frame mode, the motion vectors MV F and MV B in the direct mode of the B picture are calculated from the following equation. It is characterized by the point.

MVF = TDB x MV / TDD MV F = TD B x MV / TD D

MVB = (TDB - TDD) x MV / TDD MV B = (TD B -TD D ) x MV / TD D

또는 or

Z = TDB x 256 / TDD MVF = (Z x MV + 128) >> 8Z = TD B x 256 / TD D MV F = (Z x MV + 128) >> 8

W = Z - 256 MVB = (W x MV + 128) >> 8W = Z-256 MV B = (W x MV + 128) >> 8

여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리로써 B 프레임으로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 프레임으로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, TDD는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리로써 list 1 레퍼런스 프레임으로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 프레임으로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, MV는 상기 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Here, TD B is the temporal distance between the current B frame and the list 0 reference frame. The temporal distance calculated from the B frame is represented by a positive sign, and the temporal distance calculated from the list 0 reference frame is represented by a negative sign. TD D is the temporal distance between the list 1 reference frame and the list 0 reference frame. The temporal distance calculated from the list 1 reference frame is indicated by a positive sign and the temporal distance calculated from the list 0 reference frame is negative. The MV is a motion vector of a block of the same position in the list 1 reference picture of the direct mode.

또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 피일드(field) 모드일 경우, 상기 B 프레임의 각 피일드 i에 대한 다이렉트 모드의 모션벡터 MVF,i, MVB,i는 다음식으로부터 산출되는 점에 그 특징이 있다.According to the present invention, when the macroblocks of the B picture and the macroblocks at the same position of the list 1 reference picture are both in the field mode, the motion vector in the direct mode for each feed i of the B frame is in the field mode. MV F, i and MV B, i are characterized by being calculated from the following equation.

MVF,i = TDB,i x MVi / TDD,i MV F, i = TD B, i x MV i / TD D, i

MVB,i = (TDB,i - TDD,i) x MVi / TDD,i MV B, i = (TD B, i -TD D, i ) x MV i / TD D, i

또는 or

Z = TDB,i x 256 / TDD,i MVF,i = (Z x MVi + 128) >> 8Z = TD B, i x 256 / TD D, i MV F, i = (Z x MV i + 128) >> 8

W = Z - 256 MVB,i = (W x MVi + 128) >> 8W = Z-256 MV B, i = (W x MV i + 128) >> 8

여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리로써 B 피일드로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 피일드로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, TDD,i는 list 1 레퍼런스 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리로써 list 1 레퍼런스 피일드로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 피일드로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, MVi는 상기 다이렉트 모드의 list 1 레퍼런스 피일드에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Where TD B, i is the temporal distance between the current B and list 0 reference feeds. The time distance calculated from the B feeds is represented by a positive sign and the time distance calculated from the list 0 reference feed is negative. TD D, i is the temporal distance between list 1 reference list and list 0 reference feed, and the time distance calculated from list 1 reference feed is represented by a positive sign and list The temporal distance calculated from the zero reference period is represented by a negative sign, and MV i is a motion vector of the same position block in the list 1 reference shield of the direct mode.

또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록이 피일드 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 프레임 모드일 경우, 상기 B 프레임의 각 피일드 i에 대한 다이렉트 모드의 모션벡터 MVF,i, MVB,i는 다음식으로부터 산출되는 점에 그 특징이 있다.Further, according to the present invention, when the macroblock of the B picture is in the shield mode and the macroblock at the same position of the list 1 reference picture is in the frame mode, the motion vector MV in the direct mode for each of the feeds i of the B frame is provided. F, i , MV B, i are characterized by being calculated from the following equation.

MVF,i = TDB,i x MV / TDD MV F, i = TD B, i x MV / TD D

MVB,i = (TDB,i - TDD) x MV / TDD MV B, i = (TD B, i -TD D ) x MV / TD D

또는 or

Z = TDB,i x 256 / TDD MVF,i = (Z x MV + 128) >> 8Z = TD B, i x 256 / TD D MV F, i = (Z x MV + 128) >> 8

W = Z - 256 MVB,i = (W x MV + 128) >> 8W = Z-256 MV B, i = (W x MV + 128) >> 8

여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리로써 B 피일드로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 피일드로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, TDD는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리로써 list 1 레퍼런스 프레임으로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 프레임으로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, MV는 상기 다이렉트 모드의 list 1 레퍼런스 프레임에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Where TD B, i is the temporal distance between the current B and list 0 reference feeds. The time distance calculated from the B feeds is represented by a positive sign and the time distance calculated from the list 0 reference feed is negative. TD D is the temporal distance between the list 1 reference frame and the list 0 reference frame. The temporal distance calculated from the list 1 reference frame is represented by a positive sign and is calculated from the list 0 reference frame. The temporal distance is indicated by a negative sign, and MV is a motion vector of a block in the same position in the list 1 reference frame of the direct mode.

또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록이 프레임 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 피일드 모드이며, list 1 레퍼런스 픽쳐가 상기 B 픽쳐보다 시간적으로 뒤에 존재하는 경우, 상기 B 프레임의 다이렉트 모드의 모션벡터 MVF, MVB는 list 1 레퍼런스 프레임의 피일드 0 에 있는 동일 위치의 매크로블록의 모션정보가 다이렉트 모드의 모션벡터를 구하는데 사용되는 다음식으로부터 산출되는 점에 그 특징이 있다.Also, according to the present invention, when the macroblock of the B picture is a frame mode and the macroblock at the same position of the list 1 reference picture is a shield mode, and the list 1 reference picture is present later in time than the B picture, The motion vectors MV F and MV B in the direct mode of frame B are calculated from the following equation used to obtain the motion vector of the direct mode in the macroblock at the same position in feed 0 of the list 1 reference frame. It has its features.

MVF = TDB x MV0 / TDD,0 MV F = TD B x MV 0 / TD D, 0

MVB = (TDB - TDD,0) x MV0/ TDD,0 MV B = (TD B -TD D, 0 ) x MV 0 / TD D, 0

또는or

Z = TDB x 256 / TDD,0 MVF = (Z x MV0 + 128) >> 8Z = TD B x 256 / TD D, 0 MV F = (Z x MV 0 + 128) >> 8

W = Z - 256 MVB = (W x MV0 + 128) >> 8W = Z-256 MV B = (W x MV 0 + 128) >> 8

여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리로써 B 프레임으로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 프레임으로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, TDD,0는 list 1 레퍼런스 프레임의 피일드 0과 list 0 레퍼런스 피일드 사이의 시간적 거리로써 list 1 레퍼런스 프레임의 피일드 0으로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 피일드로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, MV0는 상기 다이렉트 모드의 list 1 레퍼런스 프레임의 피일드 0에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Here, TD B is the temporal distance between the current B frame and the list 0 reference frame. The temporal distance calculated from the B frame is represented by a positive sign, and the temporal distance calculated from the list 0 reference frame is represented by a negative sign. TD D, 0 is the temporal distance between list 0 and list 0 reference frames of the list 1 reference frame, and the calculated time distance from feed 0 of the list 1 reference frame is represented by a positive sign and The temporal distance calculated from the zero reference period is represented by a negative sign, and MV 0 is a motion vector of a block at the same position in the zero of the list 1 reference frame in the direct mode.

또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록이 프레임 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 피일드 모드이며, list 1 레퍼런스 픽쳐가 상기 B 픽쳐보다 시간적으로 앞에 존재하는 경우, 상기 B 프레임의 다이렉트 모드의 모션벡터 MVF, MVB는 list 1 레퍼런스 프레임의 피일드 1 에 있는 동일 위치의 블록의 모션정보가 다이렉트 모드의 모션벡터를 구하는데 사용되는 다음식으로부터 산출되는 점에 그 특징이 있다.According to the present invention, when the macroblock of the B picture is the frame mode and the macroblock at the same position of the list 1 reference picture is the shield mode, and the list 1 reference picture is present in time before the B picture, The motion vectors MV F and MV B in the direct mode of frame B are obtained from the point that the motion information of the block at the same position in feed 1 of the list 1 reference frame is calculated from the following equation used to obtain the motion vector of the direct mode. There is a characteristic.

MVF =TDB x MV1 / TDD,1 MV F = TD B x MV 1 / TD D, 1

MVB = (TDB -TDD,1) x MV1 / TDD,1 MV B = (TD B -TD D, 1 ) x MV 1 / TD D, 1

또는or

Z = TDB x 256 / TDD,1 MVF = (Z x MV1 + 128) >> 8Z = TD B x 256 / TD D, 1 MV F = (Z x MV 1 + 128) >> 8

W = Z - 256 MVB = (W x MV1 + 128) >> 8W = Z-256 MV B = (W x MV 1 + 128) >> 8

여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리로써 B 프레임으로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 프레임으로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, TDD,1는 list 1 레퍼런스 프레임의 피일드 1과 list 0 레퍼런스 피일드 사이의 시간적 거리로써 list 1 레퍼런스 프레임의 피일드 1로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 피일드로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, MV1는 상기 다이렉트 모드의 list 1 레퍼런스 프레임의 피일드 1에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Here, TD B is the temporal distance between the current B frame and the list 0 reference frame. The temporal distance calculated from the B frame is represented by a positive sign, and the temporal distance calculated from the list 0 reference frame is represented by a negative sign. TD D, 1 is the temporal distance between feed 1 of the list 1 reference frame and the list 0 reference feed, and the calculated time distance from feed 1 of the list 1 reference frame is represented by a positive sign and The temporal distance calculated from the zero reference period is represented by a negative sign, and MV 1 is a motion vector of the same position block in the first position of the list 1 reference frame of the direct mode.

또한, 상기의 목적을 달성하기 위하여 본 발명에 따른 B 픽쳐의 다이렉트 모드 모션벡터 연산 방법의 또 다른 실시 예는,In addition, to achieve the above object another embodiment of a direct mode motion vector calculation method of a B picture according to the present invention,

동영상 코딩 시스템에서 B(bi-predictive) 픽쳐의 다이렉트 모드 모션벡터를 추출함에 있어, B 픽쳐의 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 매크로블록(co-located macroblock)이 인트라 모드인 경우에는, 공간적 중복성 (spatial redundancy)을 이용하여, 상기 B 픽쳐의 코딩하려는 매크로블록의 주변 블록으로부터 list 0, list 1 레퍼런스 픽쳐와 각 list에 대한 모션벡터를 예측, 산출하고 B 픽쳐의 다이렉트 모드 모션벡터를 연산하는 점에 그 특징이 있다.In extracting the direct mode motion vector of a B (bi-predictive) picture in a video coding system, when the co-located macroblock in the list 1 reference picture of the B mode direct mode is intra mode. Using spatial redundancy, predict and calculate a list 0, list 1 reference picture and a motion vector for each list from neighboring blocks of the macroblock to be coded for the B picture, and calculate a direct mode motion vector of the B picture. Its characteristics are that it operates.

여기서 본 발명에 의하면, 상기 list 1 레퍼런스 픽쳐를 선택함에 있어, 상기 코딩하려는 매크로블록의 주변 매크로블록 A, B, C가 참조하는 레퍼런스 픽쳐가 서로 다를 경우에는, 가장 작은 인덱스를 갖는 레퍼런스 픽쳐를 list 1 레퍼런스 픽쳐로 선택하는 점에 그 특징이 있다.According to the present invention, in selecting the list 1 reference picture, when reference pictures referenced by neighboring macroblocks A, B, and C of the macroblock to be coded are different from each other, the reference picture having the smallest index is listed. 1 The feature is that it is selected as a reference picture.

또한 본 발명에 의하면, 상기 list 1 레퍼런스 픽쳐를 선택함에 있어, 상기 코딩하려는 매크로블록의 주변 매크로블록 중 두 개 이상의 매크로블록이 참조하는 레퍼런스 픽쳐가 동일한 인덱스를 가지고 있으면, 그 인덱스를 갖는 레퍼런스 픽쳐를 list 1 레퍼런스 픽쳐로 선택하는 점에 그 특징이 있다.According to the present invention, in selecting the list 1 reference picture, if a reference picture referred to by two or more macroblocks among neighboring macroblocks of the macroblock to be coded has the same index, the reference picture having the index is selected. The feature is that you select it as a list 1 reference picture.

또한 본 발명에 의하면, 상기 각 list에 대한 모션벡터를 예측함에 있어, 주변 매크로블록 A, B, C 중 인트라 모드를 갖는 매크로블록이 있으면, 그 매크로블록의 list 0와 list 1의 모션벡터를 각각 0으로 설정하고, 상기 각 list 레퍼런스 픽쳐의 시간적 위치와 동일한 방향을 갖는 모션벡터를 주변 매크로블록으로부터 선택하고 미디언 연산을 통해 각 list의 모션벡터를 구하거나, 만일 주변 매크로블록이 동일한 방향의 모션벡터를 두 개 가지고 있으면 그 매크로블록에서 한 개만을 선택하여 미디언 연산에 포함하여 각 list의 모션벡터를 구하는 것에 그 특징이 있다. According to the present invention, in predicting the motion vectors for the respective lists, if there are macroblocks having intra modes among the neighboring macroblocks A, B, and C, the motion vectors of list 0 and list 1 of the macroblocks are respectively determined. If set to 0, the motion vector having the same direction as the temporal position of each list reference picture is selected from the neighboring macroblocks and the motion vector of each list is obtained through median operation, or if the neighboring macroblocks are the motions of the same direction If you have two vectors, you can select only one from the macroblock and include them in the median operation to find the motion vectors of each list.

또한 본 발명에 의하면, 상기 각 list에 대한 유효한 레퍼런스 픽쳐 인덱스를 모두 유도해낼 수 없다면, list 0, list 1의 레퍼런스 픽쳐 인덱스는 각각 0이 되고 각 list에 대한 모션벡터는 0으로 설정하는 것에 그 특징이 있다. According to the present invention, if all valid reference picture indices for each list cannot be derived, the reference picture indices of list 0 and list 1 become 0, and the motion vector for each list is set to 0. There is this.

이와 같은 본 발명에 의하면, 차세대 동영상 압축 기술에 정의된 B(Bi-predictive) 픽쳐에서 다이렉트 모드 모션벡터 추출 기법을 제시하여, 다이렉트 모드가 매크로블록의 예측 모드로서 선택될 가능성을 높임으로서 B 픽쳐 코딩 효율(coding efficiency)을 향상시킬 수 있는 장점이 있다.According to the present invention, by presenting a direct mode motion vector extraction technique in the B (Bi-predictive) picture defined in the next generation video compression technology, B picture coding by increasing the likelihood that the direct mode is selected as the prediction mode of the macroblock. There is an advantage to improve the coding (coding efficiency).

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

본 발명은 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 매크로블록이 인트라 모드일 때 다이렉트 모션벡터를 유도하는 방법과, list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 뒤에 위치하는 경우, 그리고 B 픽쳐보다 시간적으로 앞에 위치하는 경우에 대해 다이렉트 모션벡터를 구하는 방법, 그리고 다이렉트 모드 모션벡터를 구하는데 사용하는 수식을 단순화하기 위해 픽쳐 사이의 시간적 거리를 부호가 있는 값으로 표현함으로써 다이렉트 모드를 위한 list 0, list 1 레퍼런스 픽쳐 위치에 관계없이 다이렉트 모드 모션벡터를 구하는 방법에 대해 각각 구분하여 제시한다. 이때 픽쳐 레벨(picture level) 에서 프레임(frame) 모드와 피일드(field) 모드가 스위칭 되어지므로 B 픽쳐와 list 1 레퍼런스 픽쳐는 프레임 구조 또는 피일드 구조로 코딩될 수 있다. 따라서 B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐에 있는 동일 위치의 매크로블록은 4 가지 경우의 프레임/피일드 코딩 조합을 갖게 된다. The present invention provides a method of deriving a direct motion vector when a macroblock of the same position in the list 1 reference picture in the direct mode is intra mode, when the list 1 reference picture is located later in time than the B picture, and than the B picture. List 0, for direct mode, by expressing the temporal distance between pictures as a signed value to simplify the method of obtaining the direct motion vector for the case where it is located temporally, and the equation used to obtain the direct mode motion vector. list 1 A method for obtaining a direct mode motion vector regardless of the reference picture position is presented separately. In this case, since the frame mode and the field mode are switched at the picture level, the B picture and the list 1 reference picture may be coded in a frame structure or a feed structure. Therefore, the macroblock of the B picture and the macroblock at the same position in the list 1 reference picture have four cases of frame / feed coding combinations.

[1] list 1 레퍼런스 픽쳐에 있는 동일위치의 매크로블록이 인트라 모드를 갖는 경우 [1] When the macroblock at the same position in the list 1 reference picture has intra mode

도 3의 (f) 및 도 4의 (f)에 나타낸 바와 같이, 다이렉트 모드의 list 1 레퍼런스 픽쳐(list 1 reference picture for direct mode)에 있는 동일 위치의 매크로블록은 레퍼런스 픽쳐의 시간적 위치에 관계없이 인트라 모드를 가질 수 있다. 이러한 모드를 갖는 매크로블록은 모션정보를 갖고 있지 않으므로, 종래 기법에서는 단순히 다이렉트 모션벡터를 0으로 놓고 list 0 레퍼런스 픽쳐는 가장 최근에 디코딩된 픽쳐로 정의하였다. 하지만 종래 기법은 높은 코딩 효율을 보장할 수 없으므로 본 발명에서는 B 픽쳐의 코딩하려는 매크로블록의 주변 블록으로부터 list 0, list 1 레퍼런스 픽쳐와 각 list에 대한 모션벡터를 공간적 중복성(spatial redundancy)을 이용하여 예측, 산출한다. As shown in FIGS. 3F and 4F, macroblocks in the same position in the list 1 reference picture for direct mode in the direct mode are independent of the temporal position of the reference picture. It may have an intra mode. Since the macroblock having this mode does not have motion information, the conventional technique simply sets the direct motion vector to 0 and defines the list 0 reference picture as the most recently decoded picture. However, since the conventional techniques cannot guarantee high coding efficiency, the present invention uses spatial redundancy to list the list 0 and list 1 reference pictures and the motion vectors for each list from the neighboring blocks of the macroblock to be coded B picture. Predict and calculate.

각 list에 대한 레퍼런스 픽쳐 인덱스는 다음과 같은 방법으로 구한다. 도 5는 일반적인 공간적 중복성을 고려하여, 주변 블록 A, B, C의 모션벡터를 이용하여 블록 E의 예측 모션벡터를 연산하는 것을 설명하기 위한 도면이다.The reference picture index for each list is obtained by the following method. FIG. 5 is a diagram for explaining calculation of a predicted motion vector of block E using motion vectors of neighboring blocks A, B, and C in consideration of general spatial redundancy.

-- 만일, 주변 매크로블록 A, B, C의 레퍼런스 픽쳐 인덱스가 서로 다를 경우에는, 그 중에서 가장 작은 레퍼런스 픽쳐 인덱스가 다이렉트 모드의 레퍼런스 픽쳐 인덱스로 결정된다. If the reference picture indices of neighboring macroblocks A, B, and C are different from each other, the smallest reference picture index among them is determined as the reference picture index of the direct mode.

-- 만일, 주변 매크로블록 중 두 개의 블록이 동일한 레퍼런스 픽쳐 인덱스를 가지고 있으면, 그 인덱스가 다이렉트 모드의 레퍼런스 픽쳐 인덱스로 결정된다. -If two of the neighboring macroblocks have the same reference picture index, the index is determined as the reference picture index of the direct mode.

-- 만일, 주변 매크로블록 모두 같은 레퍼런스 픽쳐 인덱스를 가지고 있으면, 그 인덱스가 다이렉트 모드의 레퍼런스 픽쳐 인덱스로 결정된다. If all of the neighboring macroblocks have the same reference picture index, the index is determined as the reference picture index of the direct mode.

또한, 각 list에 대한 모션벡터는 다음과 같은 모션벡터 예측을 통해 구한다. 이때 주변 매크로블록 A, B, C 중 인트라 모드를 갖는 매크로블록이 있으면, 그 매크로블록의 list 0와 list 1의 모션벡터를 각각 0으로 설정한다. In addition, the motion vector for each list is obtained through the following motion vector prediction. At this time, if there is a macroblock having an intra mode among the neighboring macroblocks A, B, and C, the motion vectors of list 0 and list 1 of the macroblock are set to 0, respectively.

-- 위에서 구한 각 list의 레퍼런스 픽쳐의 시간적 위치와 동일한 방향을 갖는 모션벡터를 주변 매크로블록으로부터 선택하고 미디언 연산을 통해 각 list의 모션벡터를 구한다. -Motion vectors with the same direction as the temporal position of the reference picture of each list obtained above are selected from the surrounding macroblocks, and the motion vectors of each list are obtained through median operation.

-- 만일, 주변 매크로블록이 동일한 방향의 모션벡터를 두 개 가지고 있으면, 그 매크로블록에서는 한 개만을 선택하여 미디언 연산에 포함시키도록 한다.If a neighboring macroblock has two motion vectors in the same direction, select only one of the macroblocks to be included in the median operation.

한편, 만일 주변 블록으로부터 list 0, list 1에 대한 유효한 레퍼런스 픽쳐 인덱스를 모두 유도해낼 수 없다면, list 0, list 1의 레퍼런스 픽쳐 인덱스는 각각 0이 되고 각 list에 대한 모션벡터는 0으로 설정한다.On the other hand, if all valid reference picture indices of list 0 and list 1 cannot be derived from neighboring blocks, reference picture indices of list 0 and list 1 become 0, respectively, and the motion vector for each list is set to 0.

[2] 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 뒤에 위치하는 경우 [2] The list 1 reference picture in direct mode is later in time than the B picture

Case 1: B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 프레임 모드일 때 Case 1: When the macroblock of the B picture and the macroblock at the same position of the list 1 reference picture are both in frame mode

도 3의 (a)~(f)에서 알 수 있듯이, list 1 레퍼런스 픽쳐의 동일 위치에 있는 블록은 한 개의 모션벡터를 갖거나 두 개의 모션벡터를 가질 수 있다. 본 발명에서는 동일 위치의 블록이 두 개의 모션벡터를 가질 경우에는 하나의 모션벡터(L0 MV 또는 L1 MV)를 선택하고, 이 선택된 모션벡터로부터 다이렉트 모드의 모션벡터를 유도하기로 한다(이하에서는 L0 MV(list 0 모션벡터)가 선택된 경우를 기준으로 설명하기로 한다). As shown in (a) to (f) of FIG. 3, a block at the same position of the list 1 reference picture may have one motion vector or two motion vectors. In the present invention, when a block having the same position has two motion vectors, one motion vector (L0 MV or L1 MV) is selected, and a motion vector of direct mode is derived from the selected motion vector (hereinafter, L0). A description will be given based on the case where MV (list 0 motion vector) is selected).

따라서 도 3의 (a)(c)는 도 6의 (a)와 같게 되며, 도 3의 (b)(d)(e)는 도 6의 (c), 도 3의 (g)(h)는 도 6의 (b)와 같이 단순화되어 표시될 수 있게 된다. Therefore, FIG. 3A and FIG. 3C are the same as FIG. 6A, and FIG. 3B and FIG. 3E are FIG. 6C and 3G, respectively. May be simplified and displayed as shown in FIG.

만일 다이렉트 모드의 list 0 레퍼런스 픽쳐와 list 1 레퍼런스 픽쳐가 B 픽쳐를 중심으로 시간적으로 앞, 뒤에 존재할 경우(도 6의 (a)), 또는 다이렉트 모드의 list 0, list 1 레퍼런스 픽쳐 모두 B 픽쳐보다 시간적으로 뒤에 존재하면서 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 뒤에 존재할 경우(도 6의 (b))에 다이렉트 모드의 모션벡터 MVF , MVB 는 다음과 같이 계산되어진다.If the list 0 reference picture and the list 1 reference picture in the direct mode exist in front of or behind the B picture in time (FIG. 6A), or in the list 0 and list 1 reference pictures in the direct mode than the B picture. When the list 0 reference picture exists later than the list 1 reference picture while being present in time (FIG. 6B), the motion vectors MV F and MV B in the direct mode are calculated as follows.

MVF = TDB x MV / TDD MV F = TD B x MV / TD D

MVB = (TDB - TDD) x MV / TDD MV B = (TD B -TD D ) x MV / TD D

여기서, TDB 는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리를 나타내고, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리를 각각 나타낸다.Where TD B Denotes the temporal distance between the current B frame and the list 0 reference frame, and TD D Denotes the temporal distance between the list 1 reference frame and the list 0 reference frame, respectively.

그리고 윗 식은 다음과 같이 표현될 수도 있는데, 이는 실제 연산 수행시의 편리성을 위하여 비트 오퍼레이션(bit operation)을 적용하는 경우를 나타낸 것이다.In addition, the above expression may be expressed as follows, which represents a case in which a bit operation is applied for convenience in performing an actual operation.

Z = TDB x 256 / TDD MVF = (Z x MV + 128) >> 8Z = TD B x 256 / TD D MV F = (Z x MV + 128) >> 8

W = Z - 256 MVB = (W x MV + 128) >> 8W = Z-256 MV B = (W x MV + 128) >> 8

만일, 다이렉트 모드의 list 0, list 1 레퍼런스 픽쳐 모두 B 픽쳐보다 시간적으로 뒤에 존재하면서 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 앞에 존재할 경우(도 6의 (c))에 다이렉트 모드의 모션벡터 MVF, MVB 는 다음과 같이 계산되어진다.If both list 0 and list 1 reference pictures in the direct mode exist later in time than the B picture, and the list 0 reference picture exists before the list 1 reference picture ((c) of FIG. 6), the motion vector MV F in the direct mode , MV B is calculated as

MVF = - TDB x MV / TDD MV F =-TD B x MV / TD D

MVB = - (TDB + TDD) x MV / TDD MV B =-(TD B + TD D ) x MV / TD D

또는 다음과 같은 식으로 표현될 수도 있다.Or it may be represented by the following equation.

Z = - TDB x 256 / TDD MVF = (Z x MV + 128) >> 8Z =-TD B x 256 / TD D MV F = (Z x MV + 128) >> 8

W = Z - 256 MVB = (W x MV + 128) >> 8W = Z-256 MV B = (W x MV + 128) >> 8

Case 2: B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 피일드 모드일 때 Case 2: When both the macroblock of the B picture and the macroblock at the same position of the list 1 reference picture are both in feed mode

도 7에서는 B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 피일드 모드인 경우를 보여준다. B 픽쳐의 매크로블록의 각 블록에서의 모션벡터는 동일 패러티(parity) 의 list 1 레퍼런스 피일드에 있는 동일 위치의 list 0 모션벡터로부터 유도되어진다. FIG. 7 illustrates a case in which both the macroblocks of the B picture and the macroblocks at the same position of the list 1 reference picture are all in the shield mode. The motion vector in each block of the macroblock of the B picture is derived from the list 0 motion vector at the same position in the list 1 reference feed of the same parity.

만일 다이렉트 모드의 list 0, list 1 레퍼런스 픽쳐가 B 픽쳐를 중심으로 시간적으로 앞, 뒤에 존재하는 경우(도 7의 (a)), 또는 다이렉트 모드의 list 0, list 1 레퍼런스 픽쳐 모두 B 픽쳐보다 시간적으로 뒤에 존재하면서 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 뒤에 존재할 경우(도 7의 (b))에는 B 프레임의 각 피일드 i(i=0은 첫번째 피일드, i=1은 두번째 피일드를 의미)에 대한 다이렉트 모드의 list 0, list 1 모션벡터 MVF,i , MVB,i 는 다음과 같이 계산되어진다.If the list 0 and list 1 reference pictures in the direct mode exist in front of and behind the B picture in time (FIG. 7 (a)), or the list 0 and list 1 reference pictures in the direct mode are more temporal than the B pictures. If the list 0 reference picture is later than the list 1 reference picture (Fig. 7 (b)), each of the frames i in frame B (i = 0 is the first and i = 1 is the second) Direct motion list 0, list 1 motion vectors MV F, i and MV B, i are calculated as follows.

MVF,i = TDB,i x MVi / TDD,i MV F, i = TD B, i x MV i / TD D, i

MVB,i = (TDB,i - TDD,i) x MVi / TDD,i MV B, i = (TD B, i -TD D, i ) x MV i / TD D, i

여기서, MVi 는 list 1 레퍼런스 프레임의 i 에 있는 동일 위치의 블록이 갖는 list 0 모션벡터, TDB,i 는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리, TDD,i 는 list 1 레퍼런스 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리를 각각 의미한다. 윗 식은 다음과 같이 표현될 수 있다.Where MV i is the list 0 motion vector of the same block in i of the list 1 reference frame, TD B, i is the temporal distance between the current B and list 0 reference fields, and TD D, i is Means the temporal distance between the 1st reference list and the 0 list feed. The above expression can be expressed as

Z = TDB,i x 256 / TDD,i MVF,i = (Z x MVi + 128) >> 8Z = TD B, i x 256 / TD D, i MV F, i = (Z x MV i + 128) >> 8

W = Z - 256 MVB,i = (W x MVi + 128) >> 8W = Z-256 MV B, i = (W x MV i + 128) >> 8

만일 list 1 레퍼런스 프레임의 피일드 i에 있는 동일 위치의 블록이 B 픽쳐보다 시간적으로 뒤에 존재하는 프레임의 피일드를 가리키는 모션벡터를 가짐으로써, 다이렉트 모드의 list 0, list 1 레퍼런스 픽쳐 모두 B 픽쳐보다 시간적으로 뒤에 존재하면서 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 앞에 존재할 경우(도 7의 (c) 및 (d)), 다이렉트 모드의 list 0, list 1 모션벡터 MVF,i, MVB,i 는 다음과 같이 계산되어진다.If a block at the same position in the frame i of the list 1 reference frame has a motion vector that points to the shield of the frame that is later in time than the B picture, both the list 0 and list 1 reference pictures in direct mode are less than the B picture. When the list 0 reference picture is present in front of the list 1 reference picture (FIG. 7 (c) and (d)), the list 0 and list 1 motion vectors MV F, i and MV B, i are in the direct mode. Is calculated as

MVF,i = - TDB,i x MVi / TDD,i MV F, i =-TD B, i x MV i / TD D, i

MVB,i = - (TDB,i + TDD,i) x MVi / TDD,i MV B, i =-(TD B, i + TD D, i ) x MV i / TD D, i

또는 다음과 같은 식으로 표현될 수도 있다.Or it may be represented by the following equation.

Z = -TDB,i x 256 / TDD,i MVF,i = (Z x MVi + 128) >> 8Z = -TD B, i x 256 / TD D, i MV F, i = (Z x MV i + 128) >> 8

W = Z - 256 MVB,i = (W x MVi + 128) >> 8W = Z-256 MV B, i = (W x MV i + 128) >> 8

Case 3: B 픽쳐의 매크로블록이 피일드 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 프레임 모드일 때 Case 3: When the macroblock of the B picture is in shield mode and the macroblock at the same position of the list 1 reference picture is in frame mode

도 8은 B 픽쳐의 매크로블록이 피일드 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 프레임 모드인 경우를 보여준다. 여기서 현재 매크로블록의 수직 좌표가 ycurrent 이고 list 1 레퍼런스 픽쳐의 동일위치의 매크로블록 수직 좌표를 yco-located라 하면, 두 좌표 사이에는 yco-located=2 x ycurrent 관계가 성립된다. 그리고 list 0, list 1 레퍼런스 피일드는 각각의 list 0, list1 레퍼런스 프레임의 동일 패러티에 존재하게 된다.FIG. 8 illustrates a case in which a macroblock of a B picture is in a shield mode and a macroblock in the same position of the list 1 reference picture is in a frame mode. Here, if the vertical coordinate of the current macroblock is y current and the macroblock vertical coordinate of the same position of the list 1 reference picture is y co-located , a y co-located = 2 xy current relationship is established between the two coordinates. The list 0 and list 1 reference feeds exist in the same parity of the list 0 and list1 reference frames.

만일 다이렉트 모드의 list 0, list 1 레퍼런스 픽쳐가 B 픽쳐를 중심으로 시간적으로 앞, 뒤에 존재하는 경우(도 8의 (a)), 또는 다이렉트 모드의 list 0, list 1 레퍼런스 픽쳐 모두 B 픽쳐보다 시간적으로 뒤에 존재하면서 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 뒤에 존재할 경우(도 8의 (b)), B 프레임의 각 피일드 i에 대한 다이렉트 모드의 list 0, list 1 모션벡터 MVF,i, MVB,i는 다음과 같이 계산되어진다.If the list 0 and list 1 reference pictures in the direct mode exist in front of and behind the B picture temporally (Fig. 8 (a)), or the list 0 and list 1 reference pictures in the direct mode are more temporal than the B pictures. If the list 0 reference picture is later than the list 1 reference picture (Fig. 8 (b)), the list 0, list 1 motion vector MV F, i , MV B, i is calculated as

MVF,i =TDB,i x MV / TDD MV F, i = TD B, i x MV / TD D

MVB,i = (TDB,i -TDD) x MV / TDD MV B, i = (TD B, i -TD D ) x MV / TD D

윗 식은 다음과 같이 표현될 수 있다. The above expression can be expressed as

Z = TDB,i x 256 / TDD MVF,i = (Z x MV + 128) >> 8Z = TD B, i x 256 / TD D MV F, i = (Z x MV + 128) >> 8

W = Z - 256 MVB,i = (W x MV + 128) >> 8W = Z-256 MV B, i = (W x MV + 128) >> 8

만일 list 1 레퍼런스 프레임에 있는 동일 위치의 블록이 B 픽쳐보다 시간적으로 뒤에 존재하는 프레임을 가리키는 모션벡터를 가짐으로써, 다이렉트 모드의 list 0, list 1 레퍼런스 픽쳐 모두 B 픽쳐보다 시간적으로 뒤에 존재하며서 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 앞에 존재할 경우(도 8의 (c)), B 프레임의 각 피일드 i에 대한 다이렉트 모드의 list 0, list 1 모션벡터 MVF,i, MVB,i는 다음과 같이 계산되어진다.If the same block in the list 1 reference frame has a motion vector that points to a frame that is later in time than the B picture, both list 0 and list 1 reference pictures in direct mode are later in time than the B picture. When the reference picture is present before the list 1 reference picture (Fig. 8 (c)), list 0, list 1 motion vectors MV F, i and MV B, i in the direct mode for each of the frames i of the B frame are Is calculated as

MVF,i = -TDB,i x MV / TDD MV F, i = -TD B, i x MV / TD D

MVB,i = - (TDB,i +TDD) x MV / TDD MV B, i =-(TD B, i + TD D ) x MV / TD D

또는 다음과 같은 식으로 표현될 수도 있다.Or it may be represented by the following equation.

Z = - TDB,i x 256 / TDD MVF,i = (Z x MV + 128) >> 8Z =-TD B, i x 256 / TD D MV F, i = (Z x MV + 128) >> 8

W = Z - 256 MVB,i = (W x MV + 128) >> 8W = Z-256 MV B, i = (W x MV + 128) >> 8

여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이며, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이고, MV는 상기 다이렉트 모드의 list 1 레퍼런스 프레임에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Here, TD B, i is the temporal distance between the current B feed and the list 0 reference feed, TD D is the temporal distance between the list 1 reference list and the list 0 reference frame, and MV is the list 1 reference of the direct mode. This is the motion vector of the same block in the frame.

Case 4: B 픽쳐의 매크로블록이 프레임 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 피일드 모드일 때 Case 4: When the macroblock of the B picture is in frame mode and the macroblock at the same position of the list 1 reference picture is in the feed mode

도 9는 B 픽쳐의 매크로블록이 프레임 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 피일드 모드인 경우를 보여준다. 여기서 현재 매크로블록의 수직 좌표가 ycurrent 이고 list 1 레퍼런스 픽쳐의 동일 위치의 매크로블록 수직 좌표를 yco-located라 하면, 두 좌표 사이에는 yco-located= ycurrent / 2 관계가 성립된다. 그리고 list 1 레퍼런스 프레임의 피일드 0가 피일드 1 보다 B 픽쳐에 시간적 거리가 가까우므로 피일드 0에 있는 동일 위치의 블록의 모션정보가 다이렉트 모드의 모션벡터를 구하는데 사용된다.FIG. 9 shows a case in which a macroblock of a B picture is a frame mode and a macroblock at the same position of a list 1 reference picture is a shield mode. Here, if the vertical coordinate of the current macroblock is y current and the macroblock vertical coordinate of the same position of the list 1 reference picture is y co-located , a y co-located = y current / 2 relationship is established between the two coordinates. Since the 0 of the list 1 reference frame has a closer temporal distance to the B picture than the 1 of the frame, the motion information of the block at the same position in the 0 is used to obtain the motion vector of the direct mode.

만일 다이렉트 모드의 list 0, list 1 레퍼런스 픽쳐가 B 픽쳐를 중심으로 시간적으로 앞, 뒤에 존재하는 경우(도 9의 (a)) 또는 다이렉트 모드의 list 0, list 1 레퍼런스 픽쳐 모두 B 픽쳐보다 시간적으로 뒤에 존재하면서 list 0 레퍼런스 픽쳐가 list 1 픽쳐보다 뒤에 존재할 경우(도 9의 (b)), B 프레임의 다이렉트 모드의 list 0, list 1 모션벡터 MVF, MVB는 다음과 같이 계산되어진다.If the list 0 and list 1 reference pictures in the direct mode exist in front of and behind the B picture temporally (Fig. 9 (a)), or the list 0 and list 1 reference pictures in the direct mode in time than the B picture. If the list 0 reference picture exists later than the list 1 picture (FIG. 9B), the list 0, list 1 motion vectors MV F and MV B in the direct mode of the B frame are calculated as follows.

MVF = TDB x MV0 / TDD,0 MV F = TD B x MV 0 / TD D, 0

MVB = (TDB -TDD,0) x MV0 / TDD,0 MV B = (TD B -TD D, 0 ) x MV 0 / TD D, 0

*윗 식은 다음과 같이 표현될 수 있다. * The above expression can be expressed as

Z = TDB x 256 / TDD,0 MVF = (Z x MV0 + 128) >> 8Z = TD B x 256 / TD D, 0 MV F = (Z x MV 0 + 128) >> 8

W = Z - 256 MVB = (W x MV0 + 128) >> 8W = Z-256 MV B = (W x MV 0 + 128) >> 8

만일 list 1 레퍼런스 프레임의 피일드 0 에 있는 동일 위치의 블록이 B 픽쳐보다 시간적으로 뒤에 존재하는 프레임의 피일드를 가리키는 모션벡터를 가짐으로써, 다이렉트 모드의 list 0, list 1 레퍼런스 픽쳐 모두 B 픽쳐보다 시간적으로 뒤에 존재하면서 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 앞에 존재할 경우(도 9의 (c)), 다이렉트 모드의 list 0, list 1 모션벡터 MVF, MVB 는 다음과 같이 계산되어진다.If a block at the same position in feed 0 of the list 1 reference frame has a motion vector that points to the feed of a frame that is later in time than the B picture, then both list 0 and list 1 reference pictures in direct mode are less than the B picture. When the list 0 reference picture is present before the list 1 reference picture while being present later in time (FIG. 9C), the list 0, list 1 motion vectors MV F and MV B in the direct mode are calculated as follows.

MVF = - TDB x MV0 / TDD,0 MV F =-TD B x MV 0 / TD D, 0

MVB = - (TDB +TDD,0) x MV0 / TDD,0 MV B =-(TD B + TD D, 0 ) x MV 0 / TD D, 0

또는 다음과 같은 식으로 표현될 수도 있다.Or it may be represented by the following equation.

Z = - TDB x 256 / TDD,0 MVF = (Z x MV0 + 128) >> 8Z =-TD B x 256 / TD D, 0 MV F = (Z x MV 0 + 128) >> 8

W = Z - 256 MVB = (W x MV0 + 128) >> 8W = Z-256 MV B = (W x MV 0 + 128) >> 8

여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이며, TDD,1는 list 1 레퍼런스 프레임의 피일드 0과 list 0 레퍼런스 피일드 사이의 시간적 거리이고, MV0는 상기 다이렉트 모드의 list 1 레퍼런스 피일드 0에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Here, TD B is the temporal distance between the current B frame and the list 0 reference frame, TD D, 1 is the temporal distance between the 0 and list 0 reference frames of the list 1 reference frame, and MV 0 is the direct mode. This is the motion vector of the block at the same position in list 1 reference feed at.

[3] 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 앞에 위치하는 경우 [3] The list 1 reference picture in direct mode is temporally ahead of the B picture

이 경우에는 list 0, list 1 레퍼런스 픽쳐 모두 B 픽쳐보다 항상 시간적으로 앞에 위치하고 있다. In this case, both the list 0 and list 1 reference pictures are always in front of the B picture in time.

Case 1: B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 프레임 모드일 때 Case 1: When the macroblock of the B picture and the macroblock at the same position of the list 1 reference picture are both in frame mode

도 4에 나타낸 바와 같이, list 1 레퍼런스 픽쳐의 동일 위치에 있는 블록은 한 개의 모션벡터를 갖거나 두 개의 모션벡터를 가질 수 있다. 본 발명에서는 동일 위치의 블록이 두 개의 모션벡터를 가질 경우에는 하나의 모션벡터 (L0 MV 또는 L1 MV)를 선택하고, 이 선택된 모션벡터로부터 다이렉트 모드의 모션벡터를 유도하기로 한다(이하에서는 L0 MV(list 0 모션벡터)이 선택된 경우를 기준으로 설명하기로 한다).As shown in FIG. 4, a block at the same position of the list 1 reference picture may have one motion vector or two motion vectors. In the present invention, when a block having the same position has two motion vectors, one motion vector (L0 MV) Alternatively, L1 MV) is selected, and a motion vector of direct mode is derived from the selected motion vector (hereinafter, description will be made based on the case where L0 MV (list 0 motion vector) is selected).

따라서 도 4의 (a)(c)(e)(g)(h)는 도 10의 (a)와 같게 되며, 도 4의 (b)(d)는 도 10의 (b)와 같이 단순화 되어 표시될 수 있게 된다. Therefore, FIG. 4 (a) (c) (e) (g) (h) becomes the same as FIG. 10 (a), and FIG. 4 (b) (d) is simplified as shown in FIG. 10 (b). It can be displayed.

만일 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 앞에 존재할 경우, 다이렉트 모드의 모션벡터 MVF , MVB 는 다음과 같이 계산되어진다(도 10의 (a)).If the list 0 reference picture in the direct mode exists before the list 1 reference picture in time, the motion vectors MV F and MV B in the direct mode are calculated as follows (Fig. 10 (a)).

MVF = TDB x MV / TDD MV F = TD B x MV / TD D

MVB = (TDB - TDD) x MV / TDD MV B = (TD B -TD D ) x MV / TD D

여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이며, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이고, MV는 상기 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Where TD B is the temporal distance between the current B frame and the list 0 reference frame, TD D is the temporal distance between the list 1 reference list and the list 0 reference frame, and MV is the same as in the list 1 reference picture in the direct mode. The motion vector of the block of position.

그리고 윗 식은 다음과 같이 표현될 수 있다. And the above expression can be expressed as

Z = TDB x 256 / TDD MVF = (Z x MV + 128) >> 8Z = TD B x 256 / TD D MV F = (Z x MV + 128) >> 8

W = Z - 256 MVB = (W x MV + 128) >> 8W = Z-256 MV B = (W x MV + 128) >> 8

만일 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 뒤에 존재할 경우, 다이렉트 모드의 모션벡터 MVF, MVB 는 다음과 같이 계산되어진다(도 10의 (b)).If the list 0 reference picture in the direct mode exists later in time than the list 1 reference picture, the motion vectors MV F and MV B in the direct mode are calculated as follows (Fig. 10 (b)).

MVF = - TDB x MV / TDD MV F =-TD B x MV / TD D

MVB = - (TDB + TDD) x MV / TDD MV B =-(TD B + TD D ) x MV / TD D

또는 다음과 같은 식으로 표현될 수도 있다.Or it may be represented by the following equation.

Z = - TDB x 256 / TDD MVF = (Z x MV + 128) >> 8Z =-TD B x 256 / TD D MV F = (Z x MV + 128) >> 8

W = Z - 256 MVB = (W x MV + 128) >> 8W = Z-256 MV B = (W x MV + 128) >> 8

여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이며, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이고, MV는 상기 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Where TD B is the temporal distance between the current B frame and the list 0 reference frame, TD D is the temporal distance between the list 1 reference list and the list 0 reference frame, and MV is the same as in the list 1 reference picture in the direct mode. The motion vector of the block of position.

Case 2: B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 피일드 모드일 때 Case 2: When both the macroblock of the B picture and the macroblock at the same position of the list 1 reference picture are both in feed mode

만일 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 앞에 존재할 경우, B 프레임의 각 피일드 i에 대한 다이렉트 모드의 list 0, list 1 모션벡터 MVF,i, MVB,i는 다음과 같이 계산되어진다(도 11의 (a) 및 (b)).If the list 0 reference picture in direct mode exists temporally before the list 1 reference picture, then the list 0, list 1 motion vectors MV F, i and MV B, i It is calculated as follows (FIGS. 11A and 11B).

MVF,i = TDB,i x MVi / TDD,i MV F, i = TD B, i x MV i / TD D, i

MVB,i = (TDB,i - TDD,i) x MVi / TDD,i MV B, i = (TD B, i -TD D, i ) x MV i / TD D, i

윗 식은 다음과 같이 표현될 수 있다. The above expression can be expressed as

Z = TDB,i x 256 / TDD,i MVF,i = (Z x MVi + 128) >> 8Z = TD B, i x 256 / TD D, i MV F, i = (Z x MV i + 128) >> 8

W = Z - 256 MVB,i = (W x MVi + 128) >> 8W = Z-256 MV B, i = (W x MV i + 128) >> 8

여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이며, TDD,i 는 list 1 레퍼런스 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이고, MVi는 상기 다이렉트 모드의 list 1 레퍼런스 피일드에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Here, TD B, i is the temporal distance between the current B feed and the list 0 reference feed, TD D, i is the temporal distance between the list 1 reference list and the list 0 reference feed, and MV i is the direct The motion vector of the same block in the mode's list 1 reference field.

만일 list 1 레퍼런스 프레임의 피일드 i에 있는 동일 위치의 블록이 시간적으로 뒤에 존재하는 프레임의 피일드를 가리키는 모션벡터를 가짐으로써, 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 뒤에 존재할 경우 다이렉트 모드의 list 0, list 1 모션벡터 MVF,i, MVB,i는 다음과 같이 계산되어진다(도 11의 (c) 및 (d)).If a block at the same position in the frame i of the list 1 reference frame has a motion vector that points to the feed of the frame that is later in time, the list 0 reference picture in direct mode exists later in time than the list 1 reference picture. In the case of direct mode, list 0 and list 1 motion vectors MV F, i and MV B, i are calculated as follows ((c) and (d) of FIG. 11).

MVF,i = -TDB,i x MVi / TDD,i MV F, i = -TD B, i x MV i / TD D, i

MVB,i = - (TDB,i +TDD,i) x MVi / TDD,i MV B, i =-(TD B, i + TD D, i ) x MV i / TD D, i

또는 다음과 같은 식으로 표현될 수도 있다.Or it may be represented by the following equation.

Z = - TDB,i x 256 / TDD,i MVF,i = (Z x MVi + 128) >> 8Z =-TD B, i x 256 / TD D, i MV F, i = (Z x MV i + 128) >> 8

W = Z - 256 MVB,i = (W x MVi + 128) >> 8W = Z-256 MV B, i = (W x MV i + 128) >> 8

여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이며, TDD,i 는 list 1 레퍼런스 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이고, MVi는 상기 다이렉트 모드의 list 1 레퍼런스 피일드에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Here, TD B, i is the temporal distance between the current B feed and the list 0 reference feed, TD D, i is the temporal distance between the list 1 reference list and the list 0 reference feed, and MV i is the direct The motion vector of the same block in the mode's list 1 reference field.

Case 3: B 픽쳐의 매크로블록이 피일드 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 프레임 모드일 때 Case 3: When the macroblock of the B picture is in shield mode and the macroblock at the same position of the list 1 reference picture is in frame mode

만일 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 앞에 존재할 경우, B 프레임의 각 피일드 i에 대한 다이렉트 모드의 list 0, list 1 모션벡터 MVF,i, MVB,i는 다음과 같이 계산되어진다(도 12의 (a)).If the list 0 reference picture in direct mode exists temporally before the list 1 reference picture, then the list 0, list 1 motion vectors MV F, i and MV B, i It is calculated as follows (Fig. 12 (a)).

MVF,i = TDB,i x MV / TDD MV F, i = TD B, i x MV / TD D

MVB,i = (TDB,i - TDD) x MV / TDD MV B, i = (TD B, i -TD D ) x MV / TD D

윗 식은 다음과 같이 표현될 수 있다. The above expression can be expressed as

Z = TDB,i x 256 / TDD MVF,i = (Z x MV + 128) >> 8Z = TD B, i x 256 / TD D MV F, i = (Z x MV + 128) >> 8

W = Z - 256 MVB,i = (W x MV + 128) >> 8W = Z-256 MV B, i = (W x MV + 128) >> 8

여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이며, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이고, MV는 상기 다이렉트 모드의 list 1 레퍼런스 프레임에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Here, TD B, i is the temporal distance between the current B feed and the list 0 reference feed, TD D is the temporal distance between the list 1 reference list and the list 0 reference frame, and MV is the list 1 reference of the direct mode. This is the motion vector of the same block in the frame.

만일 list 1 레퍼런스 프레임에 있는 동일 위치의 블록이 시간적으로 뒤에 존재하는 프레임을 가리키는 모션벡터를 가짐으로써, 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 뒤에 존재할 경우, B 프레임의 각 피일드 i에 대한 다이렉트 모드의 list 0, list 1 모션벡터 MVF,i, MVB,i는 다음과 같이 계산되어진다(도 12의 (b)).If a block in the same position in the list 1 reference frame has a motion vector pointing to a frame that is later in time, if each list 0 reference picture in direct mode is later in time than the list 1 reference picture, each picture in frame B List 0 and list 1 motion vectors MV F, i and MV B, i of the direct mode for the yield i are calculated as follows (Fig. 12 (b)).

MVF,i = - TDB,i x MV / TDD MV F, i =-TD B, i x MV / TD D

MVB,i = - (TDB,i + TDD) x MV / TDD MV B, i =-(TD B, i + TD D ) x MV / TD D

또는 다음과 같은 식으로 표현될 수도 있다.Or it may be represented by the following equation.

Z = - TDB,i x 256 / TDD MVF,i = (Z x MV + 128) >> 8Z =-TD B, i x 256 / TD D MV F, i = (Z x MV + 128) >> 8

W = Z - 256 MVB,i = (W x MV + 128) >> 8W = Z-256 MV B, i = (W x MV + 128) >> 8

여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이며, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이고, MV는 상기 다이렉트 모드의 list 1 레퍼런스 프레임에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Here, TD B, i is the temporal distance between the current B feed and the list 0 reference feed, TD D is the temporal distance between the list 1 reference list and the list 0 reference frame, and MV is the list 1 reference of the direct mode. This is the motion vector of the same block in the frame.

Case 4: B 픽쳐의 매크로블록이 프레임 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 피일드 모드일 때 Case 4: When the macroblock of the B picture is in frame mode and the macroblock at the same position of the list 1 reference picture is in the feed mode

list 1 레퍼런스 프레임의 피일드 1(f1)이 피일드 0(f0) 보다 B 픽쳐에 시간적 거리가 가까우므로 피일드 1(f1)에 있는 동일 위치의 블록의 모션정보가 다이렉트 모드의 모션벡터를 구하는데 사용된다.Since the distance 1 is closer to the B picture than the field 1 (f1) of the list 1 reference frame, the motion information of the block at the same position in the field 1 (f1) determines the motion vector of the direct mode. It is used to

만일 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 앞에 존재할 경우, B 프레임의 각 피일드 i에 대한 다이렉트 모드의 list 0, list 1 모션벡터 MVF, MVB 는 다음과 같이 계산되어진다(도 13의 (a)).If the list 0 reference picture in direct mode exists temporally before the list 1 reference picture, the list 0, list 1 motion vectors MV F and MV B in direct mode for each frame i of frame B are calculated as follows. (FIG. 13A).

MVF =TDB x MV1 / TDD,1 MV F = TD B x MV 1 / TD D, 1

MVB = (TDB -TDD,1) x MV1 / TDD,1 MV B = (TD B -TD D, 1 ) x MV 1 / TD D, 1

윗 식은 다음과 같이 표현될 수 있다. The above expression can be expressed as

Z = TDB x 256 / TDD,1 MVF = (Z x MV1 + 128) >> 8Z = TD B x 256 / TD D, 1 MV F = (Z x MV 1 + 128) >> 8

W = Z - 256 MVB = (W x MV1 + 128) >> 8W = Z-256 MV B = (W x MV 1 + 128) >> 8

여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이며, TDD,1는 list 1 레퍼런스 프레임의 피일드 1과 list 0 레퍼런스 피일드 사이의 시간적 거리이고, MV1는 상기 다이렉트 모드의 list 1 레퍼런스 프레임의 피일드 1에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Here, TD B is a temporal distance between a current B frame and a list 0 reference frame, TD D, 1 is a temporal distance between a feed 1 and a list 0 reference feed of a list 1 reference frame, and MV 1 is the direct mode. This is the motion vector of the block at the same position in feed 1 of the list 1 reference frame.

만일 list 1 레퍼런스 프레임의 피일드 1(f1)에 있는 동일 위치의 블록이 시간적으로 뒤에 존재하는 프레임의 피일드를 가리키는 모션벡터를 가짐으로써, 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 뒤에 존재할 경우 다이렉트 모드의 list 0, list 1 모션벡터 MVF, MVB는 다음과 같이 계산되어진다(도 13의 (b)).If a block at the same position in feed 1 (f1) of the list 1 reference frame has a motion vector that points to the feed of a frame that is later in time, the list 0 reference picture in direct mode is temporal than the list 1 reference picture. If it exists later, list 0, list 1 motion vectors MV F and MV B in direct mode are calculated as follows (Fig. 13 (b)).

MVF = - TDB x MV1 / TDD,1 MV F =-TD B x MV 1 / TD D, 1

MVB = - (TDB + TDD,1) x MV1 / TDD,1 MV B =-(TD B + TD D, 1 ) x MV 1 / TD D, 1

또는 다음과 같은 식으로 표현될 수도 있다.Or it may be represented by the following equation.

Z = -TDB x 256 / TDD,1 MVF = (Z x MV1 + 128) >> 8Z = -TD B x 256 / TD D, 1 MV F = (Z x MV 1 + 128) >> 8

W = Z - 256 MVB = (W x MV1 + 128) >> 8W = Z-256 MV B = (W x MV 1 + 128) >> 8

여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이며, TDD,1는 list 1 레퍼런스 프레임의 피일드 1과 list 0 레퍼런스 피일드 사이의 시간적 거리이고, MV1는 상기 다이렉트 모드의 list 1 레퍼런스 프레임의 피일드 1에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Here, TD B is a temporal distance between a current B frame and a list 0 reference frame, TD D, 1 is a temporal distance between a feed 1 and a list 0 reference feed of a list 1 reference frame, and MV 1 is the direct mode. This is the motion vector of the block at the same position in feed 1 of the list 1 reference frame.

[4] 픽쳐 사이의 시간적 거리를 부호가 있는 값으로 표현하여 다이렉트 모드 모션벡터를 연산하는 경우 [4] calculating a direct mode motion vector by expressing a temporal distance between pictures as a signed value

상기 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 앞에 위치하거나 또는 뒤에 위치하는 경우에, 각 case에 대해 두 가지 종류의 수식이 존재하게 되므로 이를 단순화하기 위한 방법으로써 픽쳐 사이의 시간적 거리를 부호가 있는 값으로 표현하면 다음과 같이 단순화되어 표현될 수 있게 된다. When the list 1 reference picture of the direct mode is located ahead of or behind the B picture in time, two kinds of equations exist for each case. If the value is expressed as, it can be simplified as follows.

Case 1: B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 프레임 모드일 때 Case 1: When the macroblock of the B picture and the macroblock at the same position of the list 1 reference picture are both in frame mode

B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 프레임 모드일 경우, 상기 B 픽쳐의 다이렉트 모드의 모션벡터 MVF, MVB는 다음식으로부터 구할 수 있다.When the macroblocks of the B picture and the macroblocks at the same position of the list 1 reference picture are both in the frame mode, the motion vectors MV F and MV B in the direct mode of the B picture can be obtained from the following equation.

MVF = TDB x MV / TDD MV F = TD B x MV / TD D

MVB = (TDB - TDD) x MV / TDD MV B = (TD B -TD D ) x MV / TD D

또는 or

Z = TDB x 256 / TDD MVF = (Z x MV + 128) >> 8Z = TD B x 256 / TD D MV F = (Z x MV + 128) >> 8

W = Z - 256 MVB = (W x MV + 128) >> 8W = Z-256 MV B = (W x MV + 128) >> 8

여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리로써 B 프레임으로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 프레임으로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, TDD는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리로써 list 1 레퍼런스 프레임으로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 프레임으로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, MV는 상기 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Here, TD B is the temporal distance between the current B frame and the list 0 reference frame. The temporal distance calculated from the B frame is represented by a positive sign, and the temporal distance calculated from the list 0 reference frame is represented by a negative sign. TD D is the temporal distance between the list 1 reference frame and the list 0 reference frame. The temporal distance calculated from the list 1 reference frame is indicated by a positive sign and the temporal distance calculated from the list 0 reference frame is negative. The MV is a motion vector of a block of the same position in the list 1 reference picture of the direct mode.

Case 2: B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 피일드 모드일 때 Case 2: When both the macroblock of the B picture and the macroblock at the same position of the list 1 reference picture are both in feed mode

B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 피일드(field) 모드일 경우, 상기 B 프레임의 각 피일드 i에 대한 다이렉트 모드의 모션벡터 MVF,i, MVB,i는 다음식으로부터 구할 수 있다.When the macroblocks of the B picture and the macroblocks at the same position of the list 1 reference picture are both in the field mode, the motion vectors MV F, i and MV B in the direct mode for each field i of the B frame. , i can be obtained from the following equation.

MVF,i = TDB,i x MVi / TDD,i MV F, i = TD B, i x MV i / TD D, i

MVB,i = (TDB,i - TDD,i) x MVi / TDD,i MV B, i = (TD B, i -TD D, i ) x MV i / TD D, i

또는 or

Z = TDB,i x 256 / TDD,i MVF,i = (Z x MVi + 128) >> 8Z = TD B, i x 256 / TD D, i MV F, i = (Z x MV i + 128) >> 8

W = Z - 256 MVB,i = (W x MVi + 128) >> 8W = Z-256 MV B, i = (W x MV i + 128) >> 8

여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리로써 B 피일드로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 피일드로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, TDD,i는 list 1 레퍼런스 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리로써 list 1 레퍼런스 피일드로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 피일드로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, MVi는 상기 다이렉트 모드의 list 1 레퍼런스 피일드에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Where TD B, i is the temporal distance between the current B and list 0 reference feeds. The time distance calculated from the B feeds is represented by a positive sign and the time distance calculated from the list 0 reference feed is negative. TD D, i is the temporal distance between list 1 reference list and list 0 reference feed, and the time distance calculated from list 1 reference feed is represented by a positive sign and list The temporal distance calculated from the zero reference period is represented by a negative sign, and MV i is a motion vector of the same position block in the list 1 reference shield of the direct mode.

Case 3: B 픽쳐의 매크로블록이 피일드 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 프레임 모드일 때 Case 3: When the macroblock of the B picture is in shield mode and the macroblock at the same position of the list 1 reference picture is in frame mode

B 픽쳐의 매크로블록이 피일드 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 프레임 모드일 경우, 상기 B 프레임의 각 피일드 i에 대한 다이렉트 모드의 모션벡터 MVF,i, MVB,i는 다음식으로부터 구할 수 있다.When the macroblock of the B picture is in the shield mode and the macroblock at the same position of the list 1 reference picture is in the frame mode, the motion vectors MV F, i , MV B, i can be obtained from the following equation.

MVF,i = TDB,i x MV / TDD MV F, i = TD B, i x MV / TD D

MVB,i = (TDB,i - TDD) x MV / TDD MV B, i = (TD B, i -TD D ) x MV / TD D

또는 or

Z = TDB,i x 256 / TDD MVF,i = (Z x MV + 128) >> 8Z = TD B, i x 256 / TD D MV F, i = (Z x MV + 128) >> 8

W = Z - 256 MVB,i = (W x MV + 128) >> 8W = Z-256 MV B, i = (W x MV + 128) >> 8

여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리로써 B 피일드로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 피일드로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, TDD는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리로써 list 1 레퍼런스 프레임으로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 프레임으로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, MV는 상기 다이렉트 모드의 list 1 레퍼런스 프레임에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Where TD B, i is the temporal distance between the current B and list 0 reference feeds. The time distance calculated from the B feeds is represented by a positive sign and the time distance calculated from the list 0 reference feed is negative. TD D is the temporal distance between the list 1 reference frame and the list 0 reference frame. The temporal distance calculated from the list 1 reference frame is represented by a positive sign and is calculated from the list 0 reference frame. The temporal distance is indicated by a negative sign, and MV is a motion vector of a block in the same position in the list 1 reference frame of the direct mode.

Case 4: B 픽쳐의 매크로블록이 프레임 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 피일드 모드일 때 Case 4: When the macroblock of the B picture is in frame mode and the macroblock at the same position of the list 1 reference picture is in the feed mode

B 픽쳐의 매크로블록이 프레임 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 피일드 모드이며, list 1 레퍼런스 픽쳐가 상기 B 픽쳐보다 시간적으로 뒤에 존재하는 경우, list 1 레퍼런스 프레임의 피일드 0가 피일드 1 보다 B 픽쳐에 시간적 거리가 가까우므로 피일드 0에 있는 동일 위치의 블록의 모션정보가 다이렉트 모드의 모션벡터를 구하는데 사용된다. 따라서 상기 B 프레임의 다이렉트 모드의 모션벡터 MVF, MVB는 list 1 레퍼런스 프레임의 피일드 0 에 있는 동일 위치의 블록의 모션정보가 다이렉트 모드의 모션벡터를 구하는데 사용되는 다음식으로부터 구할 수 있다.If the macroblock of the B picture is in frame mode and the macroblock at the same position of the list 1 reference picture is in the shield mode, and the list 1 reference picture is later in time than the B picture, the 0 of the list 1 reference frame Since the temporal distance is closer to the B picture than the FID 1, the motion information of the block of the same position in FID 0 is used to obtain the motion vector of the direct mode. Therefore, the motion vectors MV F and MV B in the direct mode of the B frame can be obtained from the following equation in which the motion information of the block at the same position in the feed 0 of the list 1 reference frame is used to obtain the motion vector in the direct mode. .

MVF = TDB x MV0 / TDD,0 MV F = TD B x MV 0 / TD D, 0

MVB = (TDB - TDD,0) x MV0/ TDD,0 MV B = (TD B -TD D, 0 ) x MV 0 / TD D, 0

또는or

Z = TDB x 256 / TDD,0 MVF = (Z x MV0 + 128) >> 8Z = TD B x 256 / TD D, 0 MV F = (Z x MV 0 + 128) >> 8

W = Z - 256 MVB = (W x MV0 + 128) >> 8W = Z-256 MV B = (W x MV 0 + 128) >> 8

여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리로써 B 프레임으로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 프레임으로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, TDD,0는 list 1 레퍼런스 프레임의 피일드 0과 list 0 레퍼런스 피일드 사이의 시간적 거리로써 list 1 레퍼런스 프레임의 피일드 0으로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고, list 0 레퍼런스 피일드로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, MV0는 상기 다이렉트 모드의 list 1 레퍼런스 프레임의 피일드 0에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Here, TD B is the temporal distance between the current B frame and the list 0 reference frame. The temporal distance calculated from the B frame is represented by a positive sign, and the temporal distance calculated from the list 0 reference frame is represented by a negative sign. TD D, 0 is the temporal distance between feed 0 of the list 1 reference frame and the list 0 reference feed, and the calculated time distance from the feed 0 of the list 1 reference frame is represented by a positive sign. The temporal distance calculated from the list 0 reference period is represented by a negative sign, and MV 0 is a motion vector of a block at the same position in the field 0 of the list 1 reference frame in the direct mode.

만일, list 1 레퍼런스 픽쳐가 상기 B 픽쳐보다 시간적으로 앞에 존재하는 경우, list 1 레퍼런스 프레임의 피일드 1이 피일드 0 보다 B 픽쳐에 시간적 거리가 가까우므로 피일드 1에 있는 동일 위치의 블록의 모션정보가 다이렉트 모드의 모션벡터를 구하는데 사용된다. 따라서 상기 B 프레임의 다이렉트 모드의 모션벡터 MVF, MVB는 list 1 레퍼런스 프레임의 피일드 1 에 있는 동일 위치의 블록의 모션정보가 다이렉트 모드의 모션벡터를 구하는데 사용되는 다음식으로부터 구할 수 있다.If the list 1 reference picture is present in front of the B picture in time, the motion of the block of the same position in the first location is because the distance 1 of the list 1 reference frame is closer to the B picture than the time 0. The information is used to find the motion vector of the direct mode. Accordingly, the motion vectors MV F and MV B in the direct mode of the B frame can be obtained from the following equation in which the motion information of the block at the same position in the feed 1 of the list 1 reference frame is used to obtain the motion vector in the direct mode. .

MVF =TDB x MV1 / TDD,1 MV F = TD B x MV 1 / TD D, 1

MVB = (TDB -TDD,1) x MV1 / TDD,1 MV B = (TD B -TD D, 1 ) x MV 1 / TD D, 1

또는or

Z = TDB x 256 / TDD,1 MVF = (Z x MV1 + 128) >> 8Z = TD B x 256 / TD D, 1 MV F = (Z x MV 1 + 128) >> 8

W = Z - 256 MVB = (W x MV1 + 128) >> 8W = Z-256 MV B = (W x MV 1 + 128) >> 8

여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리로써 B 프레임으로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 프레임으로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, TDD,1는 list 1 레퍼런스 프레임의 피일드 1과 list 0 레퍼런스 피일드 사이의 시간적 거리로써 list 1 레퍼런스 프레임의 피일드 1로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 피일드로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, MV1는 상기 다이렉트 모드의 list 1 레퍼런스 프레임의 피일드 1에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.Here, TD B is the temporal distance between the current B frame and the list 0 reference frame. The temporal distance calculated from the B frame is represented by a positive sign, and the temporal distance calculated from the list 0 reference frame is represented by a negative sign. TD D, 1 is the temporal distance between feed 1 of the list 1 reference frame and the list 0 reference feed, and the calculated time distance from feed 1 of the list 1 reference frame is represented by a positive sign and The temporal distance calculated from the zero reference period is represented by a negative sign, and MV 1 is a motion vector of the same position block in the first position of the list 1 reference frame of the direct mode.

이상의 설명에서와 같이 본 발명에 따른 B 픽쳐의 다이렉트 모드 모션벡터 연산 방법에 의하면, 차세대 동영상 압축 기술에 정의된 B(Bi-predictive) 픽쳐에서 다이렉트 모드 모션벡터 추출 기법을 제시하여, 다이렉트 모드가 매크로블록의 예측 모드로서 선택될 가능성을 높임으로서 B 픽쳐 코딩 효율(coding efficiency)을 향상시킬 수 있는 장점이 있다.As described above, according to the method of calculating a direct mode motion vector of a B picture according to the present invention, a direct mode motion vector extraction technique is proposed in a B (Bi-predictive) picture defined in a next-generation video compression technique, and the direct mode is a macro. There is an advantage in that the B picture coding efficiency can be improved by increasing the probability of being selected as the prediction mode of the block.

도 1은 일반적인 IBBBP 패턴에서의 다이렉트 모드의 list 1 레퍼런스 픽쳐(list 1 reference picture for direct mode)를 설명하기 위한 도면.1 is a view for explaining a list 1 reference picture (list 1 reference picture for direct mode) of the direct mode in a general IBBBP pattern.

도 2는 일반적인 IBBB 패턴에서의 다이렉트 모드의 list 1 레퍼런스 픽쳐를 설명하기 위한 도면.2 is a view for explaining a list 1 reference picture in direct mode in a general IBBB pattern.

도 3은 일반적인 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 뒤에 위치하는 경우를 나타낸 도면(L0 MV:list 0 모션벡터, L1 MV:list 1 모션벡터).3 is a diagram illustrating a case where a list 1 reference picture in a general direct mode is located later in time than a B picture (L0 MV: list 0 motion vector and L1 MV: list 1 motion vector).

도 4는 일반적인 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 앞에 위치하는 경우를 나타낸 도면(L0 MV:list 0 모션벡터, L1 MV:list 1 모션벡터).FIG. 4 is a diagram illustrating a case where a list 1 reference picture in a general direct mode is located in front of a B picture in time (L0 MV: list 0 motion vector and L1 MV: list 1 motion vector). FIG.

도 5는 일반적인 공간적 중복성을 고려하여, 주변 블록 A, B, C의 모션벡터를 이용하여 블록 E의 예측 모션벡터를 연산하는 것을 설명하기 위한 도면.FIG. 5 is a diagram for explaining calculation of a predictive motion vector of block E using motion vectors of neighboring blocks A, B, and C in consideration of general spatial redundancy. FIG.

도 6은 일반적인 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 뒤에 위치할 때, B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 프레임 모드인 경우를 나타낸 도면.FIG. 6 is a diagram illustrating a case in which both macroblocks of a B picture and macroblocks at the same position of the list 1 reference picture are in frame mode when the list 1 reference picture of the general direct mode is located later in time than the B picture. FIG.

도 7은 일반적인 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 뒤에 위치할 때, B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 피일드 모드인 경우를 나타낸 도면.FIG. 7 is a diagram illustrating a case in which both macroblocks of a B picture and macroblocks at the same position of the list 1 reference picture are in a closed mode when the list 1 reference picture in the general direct mode is located later in time than the B picture. FIG.

도 8은 일반적인 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 뒤에 위치할 때, B 픽쳐의 매크로블록이 피일드 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 프레임 모드인 경우를 나타낸 도면.FIG. 8 illustrates a case in which a macroblock of a B picture is a shield mode and a macroblock in the same position of the list 1 reference picture is a frame mode when the list 1 reference picture of the general direct mode is located later in time than the B picture. drawing.

도 9는 일반적인 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 뒤에 위치할 때, B 픽쳐의 매크로블록이 프레임 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 피일드 모드인 경우를 나타낸 도면.FIG. 9 illustrates a case in which a macroblock of a B picture is a frame mode and a macroblock at the same position of the list 1 reference picture is a feed mode when the list 1 reference picture in the general direct mode is located later in time than the B picture. drawing.

도 10은 일반적인 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 앞에 위치할 때, B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 프레임 모드인 경우를 나타낸 도면.FIG. 10 is a diagram illustrating a case in which both macroblocks of a B picture and macroblocks at the same position of the list 1 reference picture are both in frame mode when the list 1 reference picture in the general direct mode is temporally positioned before the B picture. FIG.

도 11은 일반적인 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 앞에 위치할 때, B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 피일드 모드인 경우를 나타낸 도면.FIG. 11 is a diagram illustrating a case in which both macroblocks of a B picture and macroblocks at the same position of the list 1 reference picture are in a fail mode when a list 1 reference picture in a general direct mode is located ahead of time in a B picture. FIG.

도 12는 일반적인 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 앞에 위치할 때, B 픽쳐의 매크로블록이 피일드 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 프레임 모드인 경우를 나타낸 도면.12 illustrates a case in which a macroblock of a B picture is a shield mode and a macroblock at the same position of the list 1 reference picture is a frame mode when the list 1 reference picture of the general direct mode is located in front of the B picture temporally. drawing.

도 13은 일반적인 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 앞에 위치할 때, B 픽쳐의 매크로블록이 프레임 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 피일드 모드인 경우를 나타낸 도면.FIG. 13 illustrates a case in which a macroblock of a B picture is a frame mode and a macroblock at the same position of the list 1 reference picture is a feed mode when a list 1 reference picture in a general direct mode is located in front of a B picture temporally. drawing.

Claims (12)

쌍예측(bi-predictive) 이미지 블록의 모션 벡터들을 유도하기 위한 모션 벡터를 결정하는 방법으로서,A method of determining a motion vector for deriving motion vectors of a bi-predictive image block, 쌍예측 이미지 블록에 대하여 동일 위치에 있는 이미지 블록(co-located block)이 list 1 모션 벡터를 포함하는지 여부에 관계없이, 상기 동일 위치에 있는 이미지 블록의 list 0 모션 벡터를 상기 쌍예측 이미지 블록의 모션 벡터들을 유도하기 위한 모션 벡터로서 선택하는 단계를 포함하는 것을 특징으로 하는 모션벡터 결정 방법.Regardless of whether a co-located block co-located with respect to a bi-predicted image block includes a list 1 motion vector, the list 0 motion vector of the co-located image block Selecting as a motion vector for deriving the motion vectors. 제 1 항에 있어서, The method of claim 1, 상기 동일 위치에 있는 이미지 블록은 list 1 레퍼런스 픽쳐와 관련되는 것을 특징으로 하는 모션벡터 결정 방법.And said at least one image block is associated with a list 1 reference picture. 제 2 항에 있어서, The method of claim 2, 상기 선택된 list 0 모션 벡터가 가리키는 레퍼런스 픽쳐를 list 0 레퍼런스 픽쳐로서 결정하는 단계를 추가로 포함하는 것을 특징으로 하는 모션벡터 결정 방법.And determining the reference picture indicated by the selected list 0 motion vector as a list 0 reference picture. 제 3 항에 있어서, The method of claim 3, wherein 상기 쌍예측 이미지 블록에 대한 상기 모션 벡터들을 상기 선택된 list 0 모션 벡터로부터 유도하는 단계를 추가로 포함하는 것을 특징으로 하는 모션벡터 결정 방법.Deriving the motion vectors for the bi-predictive image block from the selected list 0 motion vector. 제 1 항에 있어서, The method of claim 1, 상기 선택된 list 0 모션 벡터가 가리키는 레퍼런스 픽쳐를 list 0 레퍼런스 픽쳐로서 결정하는 단계를 추가로 포함하는 것을 특징으로 하는 모션벡터 결정 방법.And determining the reference picture indicated by the selected list 0 motion vector as a list 0 reference picture. 제 1 항에 있어서,The method of claim 1, 상기 선택된 list 0 모션 벡터를 포함하는 상기 동일 위치에 있는 이미지 블록의 레퍼런스 정보로부터 list 0 레퍼런스 픽쳐를 결정하는 단계를 추가로 포함하는 것을 특징으로 하는 모션벡터 결정 방법.And determining a list 0 reference picture from reference information of the image block at the same location including the selected list 0 motion vector. 제 1 항에 있어서, The method of claim 1, 상기 선택된 list 0 모션 벡터를 포함하는 상기 동일 위치에 있는 이미지 블록이 참조하는 레퍼런스 픽쳐를 list 0 레퍼런스 픽쳐로서 결정하는 단계를 추가로 포함하는 것을 특징으로 하는 모션벡터 결정 방법.And determining, as a list 0 reference picture, a reference picture referenced by the image block at the same location including the selected list 0 motion vector. 제 1 항에 있어서, The method of claim 1, 상기 선택된 list 0 모션 벡터로부터 상기 쌍예측 이미지 블록에 대한 상기 모션 벡터들을 유도하는 단계를 추가로 포함하는 것을 특징으로 하는 모션벡터 결정 방법.And deriving the motion vectors for the bipredicted image block from the selected list 0 motion vector. 제 1 항에 있어서, The method of claim 1, 상기 선택 단계는 다이렉트 모드에서의 디코더 동작으로 수행되는 것을 특징으로 하는 모션벡터 결정 방법.And wherein said selecting step is performed by a decoder operation in direct mode. 제 1 항에 있어서,The method of claim 1, 상기 동일 위치에 있는 이미지 블록은 list 1과 list 0 모션 벡터를 포함하는 것을 특징으로 하는 모션벡터 결정 방법.And the image block in the same position includes list 1 and list 0 motion vectors. 제 1 항에 있어서,The method of claim 1, 상기 동일 위치에 있는 이미지 블록은 둘 이상의 예측 모드를 갖는 것을 특징으로 하는 모션벡터 결정 방법.And said at least one image block has two or more prediction modes. 쌍예측(bi-predictive) 이미지 블록의 모션 벡터들을 유도하기 위한 모션 벡터를 결정하는 방법으로서,A method of determining a motion vector for deriving motion vectors of a bi-predictive image block, 쌍예측 이미지 블록에 대하여 동일 위치에 있는 이미지 블록(co-located block)이 list 0 모션 벡터를 포함하기만 하면, 상기 동일 위치에 있는 이미지 블록의 list 1 모션 벡터를 무시하고 상기 list 0 모션 벡터를 상기 쌍예측 이미지 블록의 모션 벡터들을 유도하기 위한 모션 벡터로서 선택하는 단계를 포함하는 것을 특징으로 하는 모션벡터 결정방법.If a co-located block in the same position with respect to the bi-predictive image block contains a list 0 motion vector, the list 0 motion vector of the image block in the same position is ignored and the list 0 motion vector is ignored. Selecting as a motion vector for deriving the motion vectors of the bi-prediction image block.
KR10-2005-0027769A 2002-10-04 2005-04-01 Method of determining motion vector KR100494831B1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20020060742 2002-10-04
KR1020020060742 2002-10-04
KR1020020061243 2002-10-08
KR20020061243 2002-10-08

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0071226A Division KR100506864B1 (en) 2002-10-04 2002-11-15 Method of determining motion vector

Publications (2)

Publication Number Publication Date
KR20050042274A KR20050042274A (en) 2005-05-06
KR100494831B1 true KR100494831B1 (en) 2005-06-17

Family

ID=37061115

Family Applications (3)

Application Number Title Priority Date Filing Date
KR10-2005-0027770A KR100494828B1 (en) 2002-10-04 2005-04-01 Method of determining motion vector
KR10-2005-0027771A KR100494829B1 (en) 2002-10-04 2005-04-01 Method of determining motion vector
KR10-2005-0027769A KR100494831B1 (en) 2002-10-04 2005-04-01 Method of determining motion vector

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR10-2005-0027770A KR100494828B1 (en) 2002-10-04 2005-04-01 Method of determining motion vector
KR10-2005-0027771A KR100494829B1 (en) 2002-10-04 2005-04-01 Method of determining motion vector

Country Status (2)

Country Link
KR (3) KR100494828B1 (en)
RU (2) RU2321966C2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8526499B2 (en) 2007-06-15 2013-09-03 Sungkyunkwan University Foundation For Corporate Collaboration Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording medium
KR101442608B1 (en) * 2008-02-05 2014-09-25 삼성전자주식회사 Method and apparatus for encoding/decoding image efficiently
KR101377660B1 (en) 2008-09-30 2014-03-26 에스케이텔레콤 주식회사 Motion Vector Encoding/Decoding Method and Apparatus Using Multiple Motion Vector Estimation and Video Encoding/Decoding Method and Apparatus Using Same
KR101348613B1 (en) 2009-12-23 2014-01-10 한국전자통신연구원 Apparatus and method for image incoding/decoding
KR100978465B1 (en) * 2010-03-19 2010-08-26 성균관대학교산학협력단 Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording midium
CN107465922B (en) 2011-11-08 2020-10-09 株式会社Kt Method for decoding video signal by using decoding device

Also Published As

Publication number Publication date
KR100494828B1 (en) 2005-06-17
RU2005107560A (en) 2006-08-27
KR20050042275A (en) 2005-05-06
KR20050042274A (en) 2005-05-06
KR100494829B1 (en) 2005-06-13
RU2005107561A (en) 2006-08-27
KR20050042276A (en) 2005-05-06
RU2287908C1 (en) 2006-11-20
RU2321966C2 (en) 2008-04-10

Similar Documents

Publication Publication Date Title
KR100506864B1 (en) Method of determining motion vector
KR100985268B1 (en) Method of determining motion vector
KR100494831B1 (en) Method of determining motion vector
KR100985263B1 (en) Method of determining motion vector
KR100890511B1 (en) Method of determining motion vector
KR100883025B1 (en) Method of determining motion vector
KR100985353B1 (en) Method of determining motion vector
KR100890510B1 (en) Method of determining motion vector
KR100985379B1 (en) Method of determining motion vector
KR100991618B1 (en) Method of determining motion vector
KR100890512B1 (en) Method of determining motion vector
KR100864790B1 (en) Method of determining motion vector
KR100985340B1 (en) Method of determining motion vector
KR100890507B1 (en) Method of determining motion vector
KR100890506B1 (en) Method of determining motion vector
KR100890509B1 (en) Method of determining motion vector
KR100991624B1 (en) Method of determining motion vector
KR100890514B1 (en) Method of determining motion vector
KR100890516B1 (en) Method of determining motion vector
KR100991568B1 (en) Method of determining motion vector
KR100890505B1 (en) Method of determining motion vector
KR100890508B1 (en) Method of determining motion vector
KR100890504B1 (en) Method of determining motion vector
KR100907173B1 (en) Method of determining motion vector
KR100890513B1 (en) Method of determining motion vector

Legal Events

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

Payment date: 20130514

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140523

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150522

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20160524

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20170512

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20180514

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20190514

Year of fee payment: 15