KR20040008562A - Calculation method for motion vector - Google Patents

Calculation method for motion vector Download PDF

Info

Publication number
KR20040008562A
KR20040008562A KR1020020042203A KR20020042203A KR20040008562A KR 20040008562 A KR20040008562 A KR 20040008562A KR 1020020042203 A KR1020020042203 A KR 1020020042203A KR 20020042203 A KR20020042203 A KR 20020042203A KR 20040008562 A KR20040008562 A KR 20040008562A
Authority
KR
South Korea
Prior art keywords
picture
motion vector
motion
macroblock
direct
Prior art date
Application number
KR1020020042203A
Other languages
Korean (ko)
Inventor
전병문
소윤성
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020020042203A priority Critical patent/KR20040008562A/en
Publication of KR20040008562A publication Critical patent/KR20040008562A/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/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Landscapes

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

Abstract

PURPOSE: A motion vector extracting method is provided to extract a direct mode motion vector using temporal redundancy and spatial redundancy characteristics from a B-picture. CONSTITUTION: In a scheme in which a display order and a decoding order of moving pictures are different from each other, a sub-sequent picture is judged as a picture having temporal redundancy with a B-picture to be coded. It is checked whether or not a motion exists between the sub-sequent picture and the B-picture. When the motion exists, a direct motion vector is obtained with reference to a motion vector of the macro-block of the sub-sequent picture. When there is no motion between the sub-sequent picture and the B-picture, the direct motion vector is obtained with reference to a motion vector of macro-blocks surrounding the macro-block of the B-picture.

Description

모션벡터 연산 방법{Calculation method for motion vector}Calculation method for motion vector

본 발명은 동영상 코딩 시스템에 관한 것으로서, 특히 차세대 동영상 압축 기술에 정의된 B(Bi-predictive) 픽쳐에서 시간적 중복성(temporal redundancy) 및 공간적 중복성(spatial redundancy) 특징을 이용하여 다이렉트 모드 모션벡터를 추출할 수 있는 모션벡터 연산 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a video coding system. In particular, a direct mode motion vector can be extracted using temporal redundancy and spatial redundancy features in a B-predictive picture defined in the next generation video compression technology. It relates to a motion vector calculation method that can be.

알려진 바와 같이, MPEG과 같은 종래의 동영상 압축 기술에서 B 픽쳐 (Bidirectionally predictive-coded picture)는 포워드(forward), 백워드(backward), 양방향(bi-directional), 다이렉트(direct), 그리고 인트라(intra) 모드 등 5 가지 예측모드를 가지고 있다. 여기에서 포워드, 백워드, 양방향 모드는 모드 이름에 방향 정보를 내포하고 있기 때문에 모드 이름을 보고 모션벡터의 방향성을 파악할 수 있다. 그리고, 다이렉트 모드는 인접한 두 픽쳐 사이에 모션 연속성이 일정하게 유지된다는 시간적 중복성(temporal redundancy) 특성을 이용하여 인접 픽쳐에 있는 동일 위치의 매크로블록의 모션으로부터 양방향의 모션벡터 두개를 유도하게 된다. 이러한 다이렉트 모드는 모션정보를 디코더에 전송하지 않기 때문에 비트율을 감소시킬 수 있는 장점이 있다.As is known, in conventional video compression techniques such as MPEG, Bidirectionally predictive-coded picture is forward, backward, bi-directional, direct, and intra. There are 5 prediction modes, including) mode. 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. The direct mode derives two bidirectional motion vectors from the motion of the macroblock at the same position in the adjacent picture by using the temporal redundancy characteristic that the motion continuity between the 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 픽쳐는 종래에 비해 모드 정의가 확장된 포워드(forward), 백워드(backward), 쌍예측(bi-predictive), 다이렉트(direct), 그리고 인트라(intra) 모드 등 5 가지 예측모드를 가지고 있다. 포워드 모드는 'ref_idx_fwd' 인덱스가 가리키는 포워드 레퍼런스 픽쳐로부터 구한 한 개 모션벡터를 가지고 있고, 백워드 모드는 'ref_idx_bwd' 인덱스가 가리키는 백워드 레퍼런스 픽쳐로부터 구한 한 개 모션벡터를 가지고 있다. 이때, 포워드 모드나 백워드 모드는 반드시 모드 이름이 방향성을 의미하지는 않는다. 쌍예측 모드는 포워드/백워드 외에 포워드/포워드, 백워드/백워드 등 다른 방향 및 동일 방향으로부터 예측이 허용되고, 각 레퍼런스 픽쳐는 방향과 관계없이 'ref_idx_fwd', 'ref_idx_bwd' 인덱스를 사용하고 각 모션벡터도 방향과 관계없이 'MVFW', 'MVBW'로 표현된다.On the other hand, B pictures in next-generation video compression technology such as H.264 or MPEG-4 part 10 have forward, backward, bi-predictive, and direct mode definitions extended from the conventional ones. It has five prediction modes: direct and intra mode. The forward mode has one motion vector obtained from the forward reference picture indicated by the 'ref_idx_fwd' index, and the forward mode has one motion vector obtained from the backward reference picture indicated by the 'ref_idx_bwd' index. In this case, the forward mode or the backward mode does not necessarily mean directionality. In bi-prediction mode, prediction is allowed from other directions and the same direction, such as forward / forward, backward / backward, in addition to forward / backward. Motion vectors are also expressed as 'MVFW', 'MVBW' regardless of direction.

또한, 최근 H.264 또는 MPEG-4 part 10과 같은 차세대 동영상 압축 기술들은B 픽쳐를 레퍼런스 픽쳐로서 사용할 수 있도록 권장하고 있다. 따라서 코딩하려는 B 픽쳐의 다이렉트 모드는 인접한 B 픽쳐로부터 모션벡터를 유도하는 경우가 발생될 수도 있다.In addition, recent video compression technologies such as H.264 or MPEG-4 part 10 recommend that B pictures be used as reference pictures. Therefore, a direct mode of a B picture to be coded may occur when a motion vector is derived from an adjacent B picture.

도 1은 디스플레이 순서와 디코딩 순서가 서로 다른 스킴의 한 예로써, 'B5'가 현재 코딩하고자 하는 픽쳐일 때, 포워드 레퍼런스 픽쳐 버퍼 및 백워드 레퍼런스 픽쳐 버퍼의 컨텐츠 및 각각의 인덱스 번호를 보여주고 있다. 그리고, 도 2는 디스플레이 순서와 디코딩 순서가 서로 같은 스킴의 한 예로써, 포워드 레퍼런스 픽쳐 버퍼 및 백워드 레퍼런스 픽쳐 버퍼의 컨텐츠 및 각각의 인덱스 번호를 보여주고 있다. 이러한 B 픽쳐를 레퍼런스 픽쳐로 사용하는 동영상 코딩 시스템에서는 디스플레이 순서와 디코딩 순서에 의한 스킴에 따라서, 또한 인접한 픽쳐에 있는 동일 위치의 매크로블록 모드에 따라서, 코딩하고자 하는 B 픽쳐의 다이렉트 모드 모션벡터를 다른 방법으로 구해야만 한다.FIG. 1 is an example of a scheme in which a display order and a decoding order are different from each other. FIG. 1 illustrates the contents of a forward reference picture buffer and a backward reference picture buffer and respective index numbers when 'B5' is a current picture to be coded. . 2 shows an example of a scheme in which the display order and the decoding order are the same, and show the contents of the forward reference picture buffer and the backward reference picture buffer and respective index numbers. In a video coding system using such a B picture as a reference picture, the direct mode motion vector of the B picture to be coded is different depending on the scheme according to the display order and decoding order, and according to the macroblock mode at the same position in the adjacent picture. Must be obtained in a way.

종래의 B 픽쳐는 주로 디스플레이 순서와 디코딩 순서가 다른 스킴에서 사용되었고, 따라서 서브시퀀트 픽쳐의 동일 위치에 있는 매크로블록의 모션벡터를 이용하여 다이렉트 모드 모션벡터를 구하였다. 그러나, 종래의 방법은 B 픽쳐의 예측 모드가 방향성 정보를 내포하는 간단한 형태의 모드로서 정의되고 있었으며, B 픽쳐가 레퍼런스 픽쳐로 사용되지 않고 오직 P 픽쳐만이 B 픽쳐의 서브시퀀트 픽쳐로서 사용되었기 때문에 두 픽쳐 사이는 항상 모션이 존재한다고 가정할 수 있었다.Conventional B pictures are mainly used in schemes in which display order and decoding order are different, and thus direct mode motion vectors are obtained using motion vectors of macroblocks located at the same positions of subsequence pictures. However, the conventional method was defined as a simple mode in which the prediction mode of the B picture contains directional information, and the B picture is not used as the reference picture, and only the P picture is used as the subsequence picture of the B picture. Because of this, we could assume that there is always motion between the two pictures.

한편 상기에서 설명된 바와 같이, 최근의 차세대 영상압축 시스템에서는 B 픽쳐 정의가 확장되어졌고 또한 레퍼런스 픽쳐로서 사용될 수 있기 때문에 종래의다이렉트 모드를 최근의 B 픽쳐에 그대로 적용하기에는 문제점이 있다. 또한, B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 검사하고 그 결과에 따라 적응적으로 다이렉트 모션 벡터를 구하게 되면 높은 코딩 효율을 기대할 수 있게 된다.On the other hand, as described above, in the recent next generation image compression system, since the B picture definition is extended and can be used as a reference picture, there is a problem in applying the conventional direct mode to the recent B picture as it is. In addition, if the presence of motion between the B picture and the adjacent picture is examined and the direct motion vector is adaptively determined according to the result, high coding efficiency can be expected.

본 발명은, 차세대 동영상 압축 기술에 정의된 B(Bi-predictive) 픽쳐에서 시간적 중복성(temporal redundancy) 및 공간적 중복성(spatial redundancy) 특징을 이용한 다이렉트 모드 모션벡터 추출 기법을 제시하여, 다이렉트 모드가 매크로블록의 예측 모드로서 선택될 가능성을 높임으로서 B 픽쳐 코딩 효율(coding efficiency)을 더욱 향상시키도록 하기 위한 모션벡터 연산 방법을 제공함에 그 목적이 있다.The present invention provides a direct mode motion vector extraction technique using temporal redundancy and spatial redundancy features in a B-predictive (B) picture defined in the next generation video compression technology. It is an object of the present invention to provide a motion vector calculation method for further improving the B picture coding efficiency by increasing the possibility of being selected as a prediction mode of.

도 1은 일반적인 동영상 코딩 시스템에서, 픽쳐에 대한 디스플레이 순서와 디코딩 순서가 다른 스킴의 예를 나타낸 도면.1 is a diagram illustrating an example of a scheme in which a display order and a decoding order of pictures are different in a general video coding system.

도 2는 일반적인 동영상 코딩 시스템에서, 픽쳐에 대한 디스플레이 순서와 디코딩 순서가 동일한 스킴의 예를 나타낸 도면.2 is a diagram illustrating an example of a scheme in which a display order and a decoding order for a picture are the same in a general video coding system.

도 3은 일반적인 동영상 코딩 시스템에서, 코딩하려는 블록의 주변 매크로블록을 설명하기 위한 도면.3 is a diagram for explaining a neighboring macroblock of a block to be coded in a general video coding system.

도 4a 내지 도 4i는 일반적인 다이렉트 모드에 있어서, B 픽쳐와 인접한 픽쳐 사이에 발생될 수 있는 각 경우에 대하여 나타낸 도면.4A-4I illustrate each case that may occur between a B picture and an adjacent picture in a general direct mode.

도 5는 본 발명에 따른 모션벡터 연산 방법에 의하여, 서브시퀀트 픽쳐의 매크로블록이 한 개의 포워드 방향 모션벡터를 갖는 경우의 모션벡터 연산을 설명하기 위한 도면.FIG. 5 is a diagram for explaining motion vector calculation when a macroblock of a subsequence picture has one forward direction motion vector by the motion vector calculation method according to the present invention; FIG.

도 6a 내지 도 6c는 본 발명에 따른 모션벡터 연산 방법에 의하여, 서브시퀀트 픽쳐의 매크로블록이 한 개의 백워드 방향 모션벡터를 갖는 경우의 모션벡터 연산을 설명하기 위한 도면.6A to 6C are diagrams for explaining motion vector calculation when a macroblock of a subsequence picture has one backward direction motion vector by the motion vector calculation method according to the present invention.

도 7은 본 발명에 따른 모션벡터 연산 방법에 의하여, 쌍예측 모드에서 동일 방향의 모션벡터를 구하는 방법을 설명하기 위한 도면.7 is a view for explaining a method of obtaining a motion vector in the same direction in a bi-prediction mode by the method of calculating a motion vector according to the present invention.

도 8은 본 발명에 따른 모션벡터 연산 방법에 의하여, 서브시퀀트 픽쳐의 매크로블록이 두 개의 포워드 방향 모션벡터를 갖는 경우의 모션벡터 연산을 설명하기 위한 도면.8 is a diagram for explaining motion vector calculation when a macroblock of a subsequence picture has two forward direction motion vectors by a motion vector calculation method according to the present invention;

도 9a 내지 도 9d는 본 발명에 따른 모션벡터 연산 방법에 의하여, 서브시퀀트 픽쳐의 매크로블록이 인트라 모드인 경우의 모션벡터 연산을 설명하기 위한 도면.9A to 9D are diagrams for explaining motion vector calculation when a macroblock of a subsequence picture is in an intra mode by the motion vector calculation method according to the present invention.

도 10a 및 도 10b는 본 발명에 따른 모션벡터 연산 방법에 의하여, 프리시딩 픽쳐의 매크로블록이 한 개의 포워드 방향 모션벡터를 갖는 경우의 모션벡터 연산을 설명하기 위한 도면.10A and 10B are views for explaining motion vector calculation when a macroblock of a preseeding picture has one forward direction motion vector by the motion vector calculation method according to the present invention.

도 11a 및 도 11b는 본 발명에 따른 모션벡터 연산 방법에 의하여, 프리시딩 픽쳐의 매크로블록이 인트라 모드인 경우의 모션벡터 연산을 설명하기 위한 도면.11A and 11B are diagrams for explaining motion vector calculation when a macroblock of a preseeding picture is in an intra mode by the motion vector calculation method according to the present invention.

상기의 목적을 달성하기 위하여 본 발명에 따른 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 판단 방법은, 상기 인접한 픽쳐에서 (코딩하려는 B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 가지고 있는 모션벡터의 방향성 정보와, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록이 가지고 있는 모션벡터의 방향성 정보를 참조하여, 상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단하는 점에 그 특징이 있다.In order to achieve the above object, according to the present invention, there is provided a method for determining a motion existence between a B picture and an adjacent picture according to the present invention. Determining whether a motion exists between the B picture and an adjacent picture by referring to the information and the directional information of the motion vector of the surrounding macroblock (of the macroblock of the B picture to be coded) in the B picture. There is this.

여기서 본 발명에 의하면, 상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단함에 있어, 상기 인접한 픽쳐의 (B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 모션벡터를 가지고 있고, 그 모션벡터의 방향이 상기 B 픽쳐 방향으로향하고 있는 경우에는, 상기 B 픽쳐와 인접한 픽쳐 사이에 모션이 존재하는 것으로 판단하는 점에 그 특징이 있다.According to the present invention, in determining whether there is motion between the B picture and the adjacent picture, the macroblock of the same position (with the macroblock of the B picture) of the adjacent picture has a motion vector, and When the direction is directed to the B picture direction, it is characterized in that it is determined that motion exists between the B picture and the adjacent picture.

또한 본 발명에 의하면, 상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단함에 있어, 상기 인접한 픽쳐의 (B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 모션벡터를 가지고 있고, 그 모션벡터의 방향이 상기 B 픽쳐와 반대 방향으로 향하고 있으며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모션벡터 중에서 적어도 하나의 모션벡터가 상기 인접한 픽쳐 쪽의 방향을 갖는 모션벡터인 경우에는, 상기 B 픽쳐와 인접한 픽쳐 사이에 모션이 존재하는 것으로 판단하는 점에 그 특징이 있다.In addition, according to the present invention, in determining whether there is motion between the B picture and the adjacent picture, the macroblock of the same position (with the macroblock of the B picture) of the adjacent picture has a motion vector, Direction is opposite to the B picture, and at least one of the motion vectors of the neighboring macroblock (in the macroblock of the B picture to be coded) in the B picture is a motion vector having a direction toward the adjacent picture. In this case, there is a feature in that it is determined that motion exists between the B picture and an adjacent picture.

또한 본 발명에 의하면, 상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단함에 있어, 상기 인접한 픽쳐의 (B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 모션벡터를 가지고 있고, 그 모션벡터의 방향이 상기 B 픽쳐와 반대 방향으로 향하고 있으며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모든 모션벡터의 방향이 상기 인접한 픽쳐와 반대 방향의 모션벡터인 경우에는, 상기 B 픽쳐와 인접한 픽쳐 사이에 모션이 존재하지 않는 것으로 판단하는 점에 그 특징이 있다.In addition, according to the present invention, in determining whether there is motion between the B picture and the adjacent picture, the macroblock of the same position (with the macroblock of the B picture) of the adjacent picture has a motion vector, If the direction is opposite to the B picture, and the direction of all motion vectors of the surrounding macroblock (in the macroblock of the B picture to be coded) in the B picture is a motion vector in the opposite direction to the adjacent picture, The feature is that it determines that there is no motion between the B picture and the adjacent picture.

또한 본 발명에 의하면, 상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단함에 있어, 상기 인접한 픽쳐의 (B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 인트라 모드를 가지고, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모션벡터가 모두 단일 방향을 가리키며, 그 방향이 상기 인접한 픽쳐의 방향인 경우에는, 상기 B 픽쳐와 인접한 픽쳐 사이에 모션이 존재하는 것으로 판단하는 점에 그 특징이 있다.Further, according to the present invention, in determining whether there is motion between the B picture and the adjacent picture, the macroblock of the same position (with the macroblock of the B picture) of the adjacent picture has an intra mode, If the motion vectors of the surrounding macroblocks (of the macroblock of the B picture to be coded) all point to a single direction and the direction is the direction of the adjacent picture, it is determined that motion exists between the B picture and the adjacent picture. Has its features.

또한 본 발명에 의하면, 상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단함에 있어, 상기 인접한 픽쳐의 (B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 인트라 모드를 가지고, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모션벡터가 모두 단일 방향을 가리키며, 그 방향이 상기 인접한 픽쳐와 반대 방향인 경우에는, 상기 B 픽쳐와 인접한 픽쳐 사이에 모션이 존재하지 않는 것으로 판단하는 점에 그 특징이 있다.Further, according to the present invention, in determining whether there is motion between the B picture and the adjacent picture, the macroblock of the same position (with the macroblock of the B picture) of the adjacent picture has an intra mode, If the motion vectors of the neighboring macroblocks (of the macroblock of the B picture to be coded) all point to a single direction and the direction is opposite to the adjacent picture, it is determined that there is no motion between the B picture and the adjacent picture. There is a characteristic in that.

또한 본 발명에 의하면, 상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단함에 있어, 상기 인접한 픽쳐의 (B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 인트라 모드를 가지고, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모션벡터가 포워드 방향 및 백워드 방향을 모두 갖는 경우에는, 상기 B 픽쳐를 중심으로 양방향 모두 모션이 존재하는 것으로 판단하는 점에 그 특징이 있다.Further, according to the present invention, in determining whether there is motion between the B picture and the adjacent picture, the macroblock of the same position (with the macroblock of the B picture) of the adjacent picture has an intra mode, When the motion vector of the surrounding macroblock (of the macroblock of the B picture to be coded) has both a forward direction and a backward direction, it is characterized in that it is determined that motion exists in both directions about the B picture.

또한, 상기의 목적을 달성하기 위하여 본 발명에 따른 모션벡터 연산 방법은, 동영상에 대한 디스플레이 순서와 디코딩 순서가 다른 스킴에 있어, 디코딩되는 시간을 기준으로 뒤에 따라 나오는 레퍼런스 픽쳐(서브시퀀트 픽쳐)를 (코딩하고자 하는)B 픽쳐와 시간적 중복성을 갖는 픽쳐로 판단하며, 상기 서브시퀀트 픽쳐와 상기 B 픽쳐 사이의 모션 존재 여부를 검사하여, 모션이 존재하는 경우에는 상기 서브시퀀트 픽쳐의 매크로블록이 가지는 모션벡터를 참조하여 (시간적 중복성을이용한)다이렉트 모션벡터를 구하며, 모션이 존재하지 않는 경우에는 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모션벡터를 참조하여 (공간적 중복성을 이용한)다이렉트 모션벡터를 구하는 점에 그 특징이 있다.In addition, in order to achieve the above object, the motion vector calculation method according to the present invention includes a reference picture (subsequence picture) that follows later on the basis of the decoding time in a scheme in which the display order and the decoding order of a moving picture are different. Is determined to be a picture having temporal redundancy with a B picture to be coded, and a macroblock of the subsequence picture is checked if motion exists between the subsequence picture and the B picture. This branch obtains a direct motion vector (using temporal redundancy) by referring to the motion vector, and if there is no motion, the motion vector of the surrounding macroblock (of the macroblock of the B picture to be coded) in the B picture is referred to ( The distinction lies in finding a direct motion vector (using spatial redundancy).

여기서 본 발명에 의하면, 상기 서브시퀀트 픽쳐의 매크로블록이 한 개의 포워드 방향 모션벡터(MV)를 가지는 경우에는, 다음 수학식을 이용하여 다이렉트 모드의 포워드 방향 모션벡터 (MVf)와 백워드 방향 모션벡터(MVb)를 각각 구하는 점에 그 특징이 있다.According to the present invention, when the macroblock of the subsequence picture has one forward direction motion vector (MV), the forward direction motion vector (MVf) and the backward direction motion in the direct mode are expressed using the following equation. There is a feature in that each vector MVb is obtained.

MVf = MV ×TRb / TRdMVf = MV × TRb / TRd

MVb = MV ×(TRb - TRd) / TRdMVb = MV × (TRb-TRd) / TRd

여기서, TRd는 상기 서브시퀀트 픽쳐와 MV를 구했던 레퍼런스 픽쳐 사이의 시간적 거리를 나타내며, TRb는 상기 B 픽쳐와 상기 레퍼런스 픽쳐 사이의 시간적 거리를 각각 나타낸다.Here, TRd represents the temporal distance between the subsequence picture and the reference picture for which MV is obtained, and TRb represents the temporal distance between the B picture and the reference picture, respectively.

또한 본 발명에 의하면, 상기 서브시퀀트 픽쳐의 매크로블록이 한 개의 백워드 방향 모션벡터를 가지는 경우에는, 상기 서브시퀀트 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단하고, 모션이 존재하지 않는 것으로 판단되면, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)의 포워드 방향 모션벡터를 참조하여, MVf=MVb=median{MVA, MVB, MVC}를 통하여 다이렉트 모션벡터를 구하는 점에 그 특징이 있다.According to the present invention, when the macroblock of the subsequence picture has one backward direction motion vector, it is determined whether there is motion between the subsequence picture and the B picture, and there is no motion. If determined, MVf = MVb = median {MV A , MV B , MV C with reference to the forward direction motion vector of the surrounding macroblocks A, B, and C (of the macroblock of the B picture to be coded) in the B picture. } Is characterized by finding the direct motion vector through.

또한 본 발명에 의하면, 상기 서브시퀀트 픽쳐와 B 픽쳐 사이의 모션 존재여부를 판단함에 있어, 상기 주변 매크로블록 세 개가 모두 포워드 방향의 모션벡터만을 가지는 경우에는, 모션이 존재하지 않는 것으로 판단되는 점에 그 특징이 있다.According to the present invention, in determining whether there is motion between the subsequence picture and B picture, when all three neighboring macroblocks have only a motion vector in a forward direction, it is determined that there is no motion. Has its features.

또한 본 발명에 의하면, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 A, B, C 중에서 인트라 모드를 갖는 매크로블록이 있는 경우에는, 그 매크로블록의 포워드 방향 모션벡터는 0으로 설정하여 미디언 연산을 수행하는 점에 그 특징이 있다.According to the present invention, in performing the median operation, if there is a macroblock having an intra mode among the neighboring macroblocks A, B, and C, the forward direction motion vector of the macroblock is set to 0 so that the midi Its characteristics are that it performs uncomputation.

또한 본 발명에 의하면, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 A, B, C 중에서 두 개의 포워드 방향 모션벡터를 가지고 있는 매크로블록이 있는 경우에는, 두 개의 포워드 방향 모션벡터 중에서 한 개의 포워드 방향 모션벡터를 선택하여 미디언 연산을 수행하는 점에 그 특징이 있다.According to the present invention, when performing the median operation, if there is a macroblock having two forward direction motion vectors among the neighboring macroblocks A, B, and C, one of the two forward direction motion vectors is determined. The feature is that the median operation is performed by selecting the forward direction motion vector.

또한 본 발명에 의하면, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 A, B, C가 참조하는 포워드 방향의 레퍼런스 픽쳐가 서로 다를 경우에는, 가장 작은 인덱스를 갖는 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택하는 점에 그 특징이 있다.Further, according to the present invention, when performing the median operation, when the reference pictures in the forward direction referred to by the neighboring macroblocks A, B, and C are different from each other, the reference picture having the smallest index is determined as the direct motion vector. The feature is that it is selected as a reference picture.

또한 본 발명에 의하면, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 중에서 두 개의 매크로블록이 동일한 레퍼런스 픽쳐를 참조하고 있는 경우에는, 그 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택하는 점에 그 특징이 있다.According to the present invention, in performing the median operation, when two macroblocks among the neighboring macroblocks refer to the same reference picture, the reference picture is selected as a reference picture of a direct motion vector. It has its features.

또한 본 발명에 의하면, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 모두 동일한 레퍼런스 픽쳐를 참조하고 있는 경우에는, 그 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택하는 점에 그 특징이 있다.According to the present invention, when the median operation is performed, when the neighboring macroblocks all refer to the same reference picture, the feature is that the reference picture is selected as a reference picture of a direct motion vector.

또한 본 발명에 의하면, 상기 서브시퀀트 픽쳐의 매크로블록이 한 개의 백워드 방향 모션벡터를 가지는 경우에는, 상기 서브시퀀트 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단하고, 모션이 존재하는 것으로 판단되면, 상기 B 픽쳐와 서브시퀀트 픽쳐의 레퍼런스 픽쳐 사이의 제 1 다이렉트 모션벡터와, 상기 B 픽쳐와 서브시퀀트 픽쳐 사이의 제 2 다이렉트 모션벡터를 구하는 점에 그 특징이 있다.According to the present invention, when the macroblock of the subsequence picture has one backward direction motion vector, it is determined whether there is motion between the subsequence picture and the B picture, and it is determined that the motion exists. The first direct motion vector between the B picture and the reference picture of the subsequence picture and the second direct motion vector between the B picture and the subsequence picture are obtained.

또한 본 발명에 의하면, 상기 서브시퀀트 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단함에 있어, 상기 주변 매크로블록 중에서 적어도 하나 이상의 매크로블록이 백워드 방향의 모션벡터를 가지고 있는 경우에는, 모션이 존재하는 것으로 판단되는 점에 그 특징이 있다.Further, according to the present invention, in determining whether there is motion between the subsequence picture and B picture, when at least one macroblock among the neighboring macroblocks has a motion vector in a backward direction, motion exists. It is characterized by the fact that it is judged.

또한 본 발명에 의하면, 상기 서브시퀀트 픽쳐의 매크로블록이 한 개의 백워드 방향 모션벡터를 가지며, 상기 주변 매크로블록이 모두 인트라 모드인 경우에는, 상기 B 픽쳐와 서브시퀀트 픽쳐의 레퍼런스 픽쳐 사이의 제 1 다이렉트 모션벡터와, 상기 B 픽쳐와 서브시퀀트 픽쳐 사이의 제 2 다이렉트 모션벡터를 구하는 점에 그 특징이 있다.According to the present invention, when the macroblock of the subsequence picture has one backward direction motion vector, and the neighboring macroblocks are all in the intra mode, between the B picture and the reference picture of the subsequence picture. The feature is that a first direct motion vector and a second direct motion vector between the B picture and the subsequence picture are obtained.

또한 본 발명에 의하면, 상기 서브시퀀트 픽쳐의 매크로블록이 두 개의 포워드 방향 모션벡터를 가지는 경우에는, 한 개의 포워드 방향 모션벡터(MVFW)를 선택하고, 다음 수학식을 이용하여 다이렉트 모드의 포워드 방향 모션벡터(MVf)와 백워드 방향 모션벡터(MVb)를 각각 구하는 점에 그 특징이 있다.According to the present invention, when the macroblock of the subsequence picture has two forward direction motion vectors, one forward direction motion vector (MVFW) is selected, and the forward direction of the direct mode is obtained using the following equation. The characteristic is that the motion vectors MVf and the backward direction motion vectors MVb are obtained respectively.

MVf = MVFW ×TRb / TRdMVf = MVFW × TRb / TRd

MVb = MVFW ×(TRb - TRd) / TRdMVb = MVFW × (TRb-TRd) / TRd

여기서, TRd는 상기 서브시퀀트 픽쳐와 MVFW를 구했던 레퍼런스 픽쳐 사이의 시간적 거리를 나타내며, TRb는 상기 B 픽쳐와 상기 레퍼런스 픽쳐 사이의 시간적 거리를 각각 나타낸다.Here, TRd represents the temporal distance between the subsequence picture and the reference picture from which the MVFW is obtained, and TRb represents the temporal distance between the B picture and the reference picture, respectively.

또한 본 발명에 의하면, 상기 서브시퀀트 픽쳐의 매크로블록이 두 개의 백워드 방향 모션벡터를 가지는 경우에는, 한 개의 백워드 방향 모션벡터를 선택하여 상기 서브시퀀트 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단하고, 모션이 존재하지 않는 것으로 판단되면, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)의 포워드 방향 모션벡터를 참조하여, MVf=MVb=median{MVA, MVB, MVC}를 통하여 다이렉트 모션벡터를 구하는 점에 그 특징이 있다.According to the present invention, if the macroblock of the subsequence picture has two backward direction motion vectors, whether there is motion between the subsequence picture and the B picture by selecting one backward direction motion vector. If it is determined that the motion does not exist, MVf = MVb = MVf = MVb = with reference to a forward direction motion vector of the surrounding macroblocks A, B, and C (of the macroblock of the B picture to be coded) in the B picture. The characteristic is that the direct motion vector is obtained through median {MV A , MV B , MV C }.

또한 본 발명에 의하면, 상기 서브시퀀트 픽쳐의 매크로블록이 포워드 방향 모션벡터와 백워드 방향 모션벡터를 각각 가지는 경우에는, 두 개의 모션벡터 중에서 포워드 방향 모션벡터(MVFW)를 선택하고, 다음 수학식을 이용하여 다이렉트 모드의 포워드 방향 모션벡터(MVf)와 백워드 방향 모션벡터(MVb)를 각각 구하는 점에 그 특징이 있다.According to the present invention, when the macroblock of the subsequence picture has a forward direction motion vector and a backward direction motion vector, a forward direction motion vector (MVFW) is selected from two motion vectors, and The characteristic of the present invention is that the forward direction motion vector MVf and the backward direction motion vector MVb of the direct mode are obtained, respectively.

MVf = MVFW ×TRb / TRdMVf = MVFW × TRb / TRd

MVb = MVFW ×(TRb - TRd) / TRdMVb = MVFW × (TRb-TRd) / TRd

여기서, TRd는 상기 서브시퀀트 픽쳐와 MVFW를 구했던 레퍼런스 픽쳐 사이의시간적 거리를 나타내며, TRb는 상기 B 픽쳐와 상기 레퍼런스 픽쳐 사이의 시간적 거리를 각각 나타낸다.Here, TRd represents the temporal distance between the subsequence picture and the reference picture from which the MVFW is obtained, and TRb represents the temporal distance between the B picture and the reference picture, respectively.

또한 본 발명에 의하면, 상기 서브시퀀트 픽쳐의 매크로블록이 인트라 모드이며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)이 모두 포워드 방향의 모션벡터만을 가지고 있는 경우에는, 상기 주변 매크로블록의 포워드 방향 모션벡터를 참조하여, MVf=MVb=median{MVA, MVB, MVC}를 통하여 다이렉트 모션벡터를 구하는 점에 그 특징이 있다.According to the present invention, the macroblock of the subsequence picture is an intra mode, and all the macroblocks (A, B, and C) in the B picture (of the macroblock of the B picture to be coded) are forward in the motion vector. In case of having only, the direct motion vector is obtained through MVf = MVb = median {MV A , MV B , MV C } with reference to the forward direction motion vector of the neighboring macroblock.

또한 본 발명에 의하면, 상기 서브시퀀트 픽쳐의 매크로블록이 인트라 모드이며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)이 모두 백워드 방향의 모션벡터만을 가지고 있는 경우에는, 상기 주변 매크로블록의 백워드 방향 모션벡터를 참조하여, MVf=MVb=median{MVA, MVB, MVC}를 통하여 다이렉트 모션벡터를 구하는 점에 그 특징이 있다.Further, according to the present invention, the macroblock of the subsequence picture is an intra mode, and all of the macroblocks A, B, and C (in the macroblock of the B picture to be coded) in the B picture are backward-motion. In the case where only the vector has a vector, the direct motion vector is obtained through MVf = MVb = median {MV A , MV B , MV C } with reference to the backward direction motion vector of the neighboring macroblock.

또한 본 발명에 의하면, 상기 서브시퀀트 픽쳐의 매크로블록이 인트라 모드이며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)이 일부는 포워드 방향의 모션벡터를 가지고 있고 일부는 백워드 방향의 모션벡터를 가지고 있는 경우에는, 상기 주변 매크로블록의 포워드 방향 모션벡터를 참조하여 MVf=median{MVA, MVB, MVC}를 통해 포워드 방향 다이렉트 모션벡터를 구하며, 상기 주변 매크로블록의 백워드 방향 모션벡터를 참조하여 MVb=median{MVA, MVB,MVC}를 통해 백워드 방향 다이렉트 모션벡터를 구하는 점에 그 특징이 있다.In addition, according to the present invention, the macroblock of the subsequence picture is an intra mode, and a portion of the macroblocks A, B, and C (in the macroblock of the B picture to be coded) in the B picture is partially forward motion. In case of having a vector and a part of the motion vector in the backward direction, the forward direction direct motion vector through MVf = median {MV A , MV B , MV C } with reference to the forward direction motion vector of the neighboring macroblock. It is characterized by obtaining a backward direction direct motion vector through MVb = median {MV A , MV B , MV C } with reference to the backward direction motion vector of the neighboring macroblock.

또한 본 발명에 의하면, 상기 서브시퀀트 픽쳐의 매크로블록이 인트라 모드이며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)이 모두 인트라 모드인 경우에는, 포워드 방향 다이렉트 모션벡터는 그 값은 0이고 상기 B 픽쳐의 바로 이전 픽쳐를 참조하여 구하며, 백워드 방향 다이렉트 모션벡터는 그 값은 0이고 상기 서브시퀀트 픽쳐를 참조하여 구하는 점에 그 특징이 있다.According to the present invention, when the macroblock of the subsequence picture is an intra mode, and all the macroblocks A, B, and C (in the macroblock of the B picture to be coded) in the B picture are all in intra mode, The forward directional direct motion vector has a value of 0 and is obtained by referring to the previous picture of the B picture, and the backward directional direct motion vector has a value of 0 and is obtained by referring to the subsequence picture. have.

또한, 상기의 목적을 달성하기 위하여 본 발명에 따른 모션벡터 연산 방법의 다른 실시 예는, 동영상에 대한 디스플레이 순서와 디코딩 순서가 동일한 스킴에 있어, 디코딩되는 시간을 기준으로 앞에 있는 레퍼런스 픽쳐(프리시딩 픽쳐)를 (코딩하고자 하는)B 픽쳐와 시간적 중복성을 갖는 픽쳐로 판단하며, 상기 프리시딩 픽쳐와 상기 B 픽쳐 사이의 모션 존재 여부를 검사하여, 모션이 존재하는 경우에는 상기 프리시딩 픽쳐의 매크로블록이 가지는 모션벡터를 참조하여 (시간적 중복성을 이용한)다이렉트 모션벡터를 구하며, 모션이 존재하지 않는 경우에는 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모션벡터를 참조하여 (공간적 중복성을 이용한)다이렉트 모션벡터를 구하는 점에 그 특징이 있다.In addition, another embodiment of the motion vector calculation method according to the present invention to achieve the above object, in the same display order and decoding order for the video, the preceding reference picture (precision) based on the time to be decoded And a picture having a temporal redundancy with the B picture (to be coded), and checking whether there is motion between the preseeding picture and the B picture, and if there is motion, the preseeding picture. Obtains a direct motion vector (using temporal redundancy) by referring to the motion vector of the macroblock of. If the motion does not exist, the motion vector of the surrounding macroblock (of the macroblock of the B picture to be coded) in the B picture is obtained. This feature is characterized by obtaining a direct motion vector (using spatial redundancy).

여기서 본 발명에 의하면, 상기 프리시딩 픽쳐의 매크로블록이 한 개의 포워드 방향 모션벡터를 가지는 경우에는, 상기 프리시딩 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단하고, 모션이 존재하는 것으로 판단되면, 상기 B 픽쳐와 프리시딩픽쳐의 레퍼런스 픽쳐 사이의 제 1 다이렉트 모션벡터와, 상기 B 픽쳐와 프리시딩 픽쳐 사이의 제 2 다이렉트 모션벡터를 구하는 점에 그 특징이 있다.According to the present invention, when the macroblock of the preseeding picture has one forward direction motion vector, it is determined whether there is motion between the preseeding picture and the B picture, and when it is determined that the motion exists. The first direct motion vector between the B picture and the reference picture of the preseeding picture and the second direct motion vector between the B picture and the preseeding picture are obtained.

또한 본 발명에 의하면, 상기 프리시딩 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단함에 있어, 상기 B 픽쳐 내 주변 매크로블록 중 적어도 하나의 매크로블록이 포워드 방향의 모션벡터를 가지고 있는 경우에는, 모션이 존재하는 것으로 판단되는 점에 그 특징이 있다.In addition, according to the present invention, in determining whether there is motion between the preseeding picture and the B picture, when at least one macroblock of neighboring macroblocks in the B picture has a motion vector in the forward direction, There is a characteristic in that it is judged to exist.

또한 본 발명에 의하면, 상기 프리시딩 픽쳐의 매크로블록이 한 개의 포워드 방향 모션벡터를 가지며, 상기 B 픽쳐 내 주변 매크로블록이 모두 인트라 모드인 경우에는, 상기 B 픽쳐와 프리시딩 픽쳐의 레퍼런스 픽쳐 사이의 제 1 다이렉트 모션벡터와, 상기 B 픽쳐와 프리시딩 픽쳐 사이의 제 2 다이렉트 모션벡터를 구하는 점에 그 특징이 있다.According to the present invention, when the macroblock of the preseeding picture has one forward direction motion vector, and all of the neighboring macroblocks in the B picture are in the intra mode, the reference picture of the B picture and the preseeding picture is used. This feature is characterized in that a first direct motion vector between and a second direct motion vector between the B picture and the seeding picture are obtained.

또한 본 발명에 의하면, 상기 프리시딩 픽쳐의 매크로블록이 두 개의 포워드 방향 모션벡터를 가지는 경우에는, 한 개의 포워드 방향 모션벡터를 선택하여 상기 프리시딩 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단하고, 모션이 존재하는 것으로 판단되면, 상기 B 픽쳐와 프리시딩 픽쳐의 레퍼런스 픽쳐 사이의 제 1 다이렉트 모션벡터와, 상기 B 픽쳐와 프리시딩 픽쳐 사이의 제 2 다이렉트 모션벡터를 구하는 점에 그 특징이 있다.According to the present invention, when the macroblock of the preseeding picture has two forward direction motion vectors, one forward direction motion vector is selected to determine whether there is motion between the preseeding picture and the B picture. If it is determined that the motion exists, the first direct motion vector between the B picture and the reference picture of the preseeding picture and the second direct motion vector between the B picture and the preseeding picture are obtained. There is a characteristic.

또한 본 발명에 의하면, 상기 프리시딩 픽쳐의 매크로블록이 인트라 모드인 경우에는, 상기 프리시딩 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단하고, 모션이 존재하는 것으로 판단되면, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)의 포워드 방향 모션벡터를 참조하여, MVf=MVb=median{MVA, MVB, MVC}를 통하여 다이렉트 모션벡터를 구하는 점에 그 특징이 있다.According to the present invention, when the macroblock of the preseeding picture is an intra mode, it is determined whether there is a motion between the preseeding picture and the B picture, and if it is determined that the motion exists, within the B picture. With reference to the forward directional motion vector of the surrounding macroblocks (A, B, C) (of the macroblock of the B picture to be coded), the direct motion vector is obtained by MVf = MVb = median {MV A , MV B , MV C }. There is a characteristic in finding it.

또한 본 발명에 의하면, 상기 프리시딩 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단함에 있어, 상기 주변 매크로블록 중에서 적어도 하나 이상의 매크로블록이 포워드 방향의 모션벡터를 가지는 경우에는 모션이 존재하는 것으로 판단되는 점에 그 특징이 있다.In addition, according to the present invention, in determining whether there is motion between the preseeding picture and the B picture, it is determined that the motion exists when at least one macroblock among the neighboring macroblocks has a motion vector in a forward direction. It is characterized by the point.

또한 본 발명에 의하면, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 중에서 인트라 모드를 갖는 매클로블록이 있는 경우에는, 그 매크로블록의 포워드 방향 모션벡터는 0으로 설정하여 미디언 연산을 수행하는 점에 그 특징이 있다.According to the present invention, when performing the median operation, if there is a macroblock having an intra mode among the neighboring macroblocks, the forward direction motion vector of the macroblock is set to 0 to perform the median operation. There is a characteristic in that.

또한 본 발명에 의하면, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 중에서 두 개의 포워드 방향 모션벡터를 가지고 있는 매크로블록이 있는 경우에는, 두 개의 포워드 방향 모션벡터 중에서 한 개를 선택하여 미디언 연산을 수행하는 점에 그 특징이 있다.In addition, according to the present invention, in performing the median operation, when there is a macroblock having two forward direction motion vectors among the neighboring macroblocks, one of the two forward direction motion vectors is selected and the median is selected. Its characteristics are that it performs calculations.

또한 본 발명에 의하면, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 A, B, C가 참조하는 포워드 방향의 레퍼런스 픽쳐가 서로 다를 경우에는, 가장 작은 인덱스를 갖는 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택하는 점에 그 특징이 있다.Further, according to the present invention, when performing the median operation, when the reference pictures in the forward direction referred to by the neighboring macroblocks A, B, and C are different from each other, the reference picture having the smallest index is determined as the direct motion vector. The feature is that it is selected as a reference picture.

또한 본 발명에 의하면, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 중에서 두 개의 블록이 동일한 레퍼런스 픽쳐를 참조하고 있는 경우에는, 그 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택하는 점에 그 특징이 있다.According to the present invention, in performing the median operation, when two blocks among the neighboring macroblocks refer to the same reference picture, the reference picture is selected as the reference picture of the direct motion vector. There is a characteristic.

또한 본 발명에 의하면, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 모두 동일한 레퍼런스 픽쳐를 참조하고 있는 경우에는, 그 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택하는 점에 그 특징이 있다.According to the present invention, when the median operation is performed, when the neighboring macroblocks all refer to the same reference picture, the feature is that the reference picture is selected as a reference picture of a direct motion vector.

또한 본 발명에 의하면, 상기 프리시딩 픽쳐의 매크로블록이 인트라 모드이며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)이 모두 인트라 모드인 경우에는, 제 1 모션벡터는 그 값은 0이고 상기 프리시딩 픽쳐를 참조하여 구하며, 제 2 모션벡터도 그 값은 0이고 상기 프리시딩 픽쳐를 참조하여 구하는 점에 그 특징이 있다.Further, according to the present invention, when the macroblock of the preseeding picture is an intra mode, and all the macroblocks A, B, and C (in the macroblock of the B picture to be coded) in the B picture are all in an intra mode, The first motion vector has a value of 0 and is obtained by referring to the preseeding picture, and the second motion vector has a value of 0 and is obtained by referring to the preseeding picture.

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

본 발명에서는 동영상에 대하여, 디스플레이 순서와 디코딩 순서가 다른 스킴 및 디스플레이 순서와 디코딩 순서가 동일한 스킴에 따라, 다이렉트 모션벡터를 유도하는데 사용되는 인접 픽쳐가 무엇인지를 정의하고, 효과적으로 모션벡터를 구하는 방법에 대해 각각 구분하여 제시하고자 한다.According to the present invention, a method of defining a motion picture and a neighboring picture used to derive a direct motion vector according to a scheme having a different display order and decoding order and a same display order and decoding order, and effectively obtaining a motion vector for a video. I will present each of them separately.

또한 본 발명에서는, 확장된 정의를 갖는 B 픽쳐에서 시간적 중복성 및 공간적 중복성 특징을 이용하여 효율적인 다이렉트 모션벡터를 유도하는 방법에 대하여 제시하고자 한다.In addition, the present invention proposes a method for deriving an efficient direct motion vector using temporal redundancy and spatial redundancy features in a B picture having an extended definition.

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

도 4는 다이렉트 모드의 모션벡터를 구하고자 할 때 인접한 픽쳐 사이에서 발견될 수 있는 모든 경우를 나타낸 것으로서, 도 4a 내지 도 4f는 동영상에 대하여 디스플레이 순서와 디코딩 순서가 다른 스킴의 경우를 나타낸 것이고, 도 4g 내지 도 4i는 동영상에 대하여 디스플레이 순서와 디코딩 순서가 같은 스킴의 경우를 나타낸 것이다.4 illustrates all cases that may be found between adjacent pictures when a motion vector of a direct mode is to be obtained. FIGS. 4A to 4F illustrate a case in which a display order and a decoding order differ for a video. 4G to 4I illustrate a case in which a display order and a decoding order are the same for a video.

그리고, 동영상에 대하여 디스플레이 순서와 디코딩 순서가 다른 스킴의 경우 중에서, 도 4a, 도 4c, 도 4e는 서브시퀀트 픽쳐와 B 픽쳐 사이에 모션이 존재하는 것을 쉽게 알 수 있지만, 도 4b, 도 4d, 도 4f는 서브시퀀트 픽쳐가 B 픽쳐 사이의 모션 정보를 갖고 있지 않으므로 B 픽쳐 매크로블록의 주변 매크로블록이 갖는 모션 특성을 관찰하여 두 픽쳐 사이에 모션이 존재하는지 또는 영상 전환이 발생하였는지를 판단하고, 그에 따라 다이렉트 모션벡터를 유도할 필요가 있다.4A, 4C, and 4E show that motion is present between the subsequence picture and the B picture, in the case of a scheme in which the display order and the decoding order are different with respect to the video. 4F illustrates that the subsequence picture does not have motion information between the B pictures, the motion characteristics of the neighboring macroblocks of the B picture macroblocks are observed to determine whether there is motion or image transition between the two pictures. Therefore, it is necessary to derive the direct motion vector accordingly.

또한, 동영상에 대하여 디스플레이 순서와 디코딩 순서가 같은 스킴의 경우에 있어, 도 4g, 도 4h, 도 4i도 프리시딩 픽쳐와 B 픽쳐 사이에 모션 정보가 없으므로 동일한 접근이 필요하다.In addition, in the case of a scheme in which the display order and the decoding order are the same for a moving picture, the same access is required in FIGS. 4G, 4H, and 4I, since there is no motion information between the pre-seeding picture and the B picture.

이하에서는, 동영상에 대하여 디스플레이 순서와 디코딩 순서에 따른 각 경우에 대하여 상세히 살펴 보기로 한다.Hereinafter, each case according to the display order and the decoding order for the video will be described in detail.

[1] 동영상에 대하여 디스플레이 순서와 디코딩 순서가 다른 스킴[1] Scheme with Different Display Order and Decoding Order for Movies

B 픽쳐와 인접한 픽쳐의 동일 위치 매크로블록은 포워드 또는 백워드 모드에 의해 한 개 모션벡터를 갖거나, 쌍예측 모드 또는 다이렉트 모드에 의해 두 개의 모션벡터를 갖거나, 인트라 모드일 수 있다.A co-located macroblock of a picture adjacent to a B picture may have one motion vector by forward or backward mode, two motion vectors by bi-prediction mode or direct mode, or may be intra mode.

본 발명은 인접한 픽쳐에 있는 동일 위치의 매크로블록의 모션벡터 수 및 방향에 따라 다이렉트 모드의 모션벡터를 유도하는 기법을 제안하고, 이 모션벡터들로부터 움직임 보상된 값들을 얻어 평균 또는 보간 연산을 통해 매크로블록 예측 값을 얻도록 한다. 각각의 경우에 대한 다이렉트 모션벡터를 구하는 과정을 자세히 설명하면 다음과 같다.The present invention proposes a technique of deriving a motion vector in direct mode according to the number and direction of motion vectors of macroblocks in the same position in adjacent pictures, and obtains motion compensated values from these motion vectors through an average or interpolation operation. Get the macroblock prediction value. The process of obtaining the direct motion vector for each case is described in detail as follows.

[1.0] 시간적 중복성 특징을 갖는 인접 픽쳐[1.0] Adjacent Pictures with Temporal Redundancy

이 스킴에서는 이미 디코딩된 시간적으로 뒤에 따라 나오는 레퍼런스 픽쳐 (decoded temporally-following reference picture)를 B 픽쳐와 시간적 중복성을 갖는 픽쳐로 판단하여 실제 다이렉트 모션벡터를 유도하는데 사용하기로 한다. 본 발명에서는 이 레퍼런스 픽쳐를 서브시퀀트 픽쳐(subsequent picture)로 부르기로 한다.In this scheme, a decoded temporally-following reference picture that is already decoded temporally is determined to be a picture having temporal redundancy with a B picture and used to derive an actual direct motion vector. In the present invention, this reference picture is referred to as a subsequence picture.

[1.1] 서브시퀀트 픽쳐의 매크로블록이 한 개의 포워드 방향 모션벡터를 갖는 경우[1.1] When a macroblock of a subsequence picture has one forward direction motion vector

도 4a와 같은 경우로, 서브시퀀트 픽쳐의 매크로블록이 한 개의 포워드 방향 모션벡터를 갖고 있는 경우이다. 이것은 종래의 다이렉트 모드에서 사용되는 방법으로서, 도 5에서 보이는 바와 같이, 서브시퀀트 픽쳐와 'MV'를 구했던 레퍼런스 픽쳐 사이의 시간적 거리 'TRd', 그리고 서브시퀀트 픽쳐의 레퍼런스 픽쳐와 코딩하고자 하는 B 픽쳐 사이의 시간적 거리 'TRb'를 구한 후, 아래 [수학식 1]에 'MV', 'TRd', 'TRb'를 대입하여 다이렉트 모드의 포워드 방향 'MVf'와 백워드 방향 'MVb'를 유도해낸다.In the case of FIG. 4A, the macroblock of the subsequence picture has one forward direction motion vector. This is a method used in the conventional direct mode. As shown in FIG. 5, the temporal distance 'TRd' between the subsequence picture and the reference picture from which the 'MV' is obtained, and the reference picture of the subsequence picture After obtaining the temporal distance 'TRb' between B pictures, substitute 'MV', 'TRd', and 'TRb' in [Equation 1] below to obtain the forward direction 'MVf' and backward direction 'MVb'. Induce.

[1.2] 서브시퀀트 픽쳐의 매크로블록이 백워드 방향의 한 개 모션벡터를 갖는 경우[1.2] When a macroblock of a subsequence picture has one motion vector in the backward direction

도 4b와 같은 경우로, 서브시퀀트 픽쳐의 매크로블록이 한 개의 백워드 방향 모션벡터를 갖고 있는 경우이다. 도 4b에서 보이는 것처럼, B 픽쳐는 서브시퀀트 픽쳐의 백워드 방향 모션벡터로부터 무조건 다이렉트 모션벡터를 유도할 수 없다. 왜냐하면, 만일 두 픽쳐 사이에 장면 전환이 발생하였다면 B 픽쳐는 서브시퀀트 픽쳐와 다른 영상을 의미하는 것이므로 서브시퀀트 픽쳐의 모션으로부터 다이렉트 모션벡터를 유도해서는 안된다. 따라서 B 픽쳐와 서브시퀀트 픽쳐 사이의 모션 존재 여부를 보고 장면 전환이 발생하였는지를 판단하는 것이 중요한 문제가 된다.In the case of FIG. 4B, the macroblock of the subsequence picture has one backward direction motion vector. As shown in FIG. 4B, the B picture cannot unconditionally derive a direct motion vector from the backward direction motion vector of the subsequence picture. Because, if a scene transition occurs between two pictures, the B picture means a different picture from the subsequence picture, and thus a direct motion vector should not be derived from the motion of the subsequence picture. Therefore, it is important to determine whether a scene change occurs based on the presence of motion between the B picture and the subsequence picture.

본 발명에서는 서브시퀀트 픽쳐가 B 픽쳐 사이와의 모션 정보를 갖고 있지 않을 때, 코딩하는 매크로블록의 모션은 동일 픽쳐 내 주변 매크로블록의 모션과 유사하다는 공간적 중복성(spatial redundancy) 특성을 이용하여, B 픽쳐 자체의 모션정보를 바탕으로 B 픽쳐와 서브시퀀트 픽쳐 사이의 모션 존재 여부 및 장면전환 여부를 판단한다. 만일 장면전환이 발생하였다면 공간적 중복성을 이용하여 B 픽쳐 내의 주변 매크로블록 모션정보로부터 다이렉트 모션벡터를 유도하고, 그렇지 않으면 시간적 중복성을 이용하여 서브시퀀트 픽쳐의 모션정보를 이용하여 다이렉트 모션벡터를 유도한다. 아래에서 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단하는 알고리즘을 보이고 있다.In the present invention, when a subsequence picture does not have motion information between B pictures, by using a spatial redundancy characteristic that the motion of the macroblock to be coded is similar to the motion of neighboring macroblocks in the same picture, Based on the motion information of the B picture itself, it is determined whether the motion exists between the B picture and the subsequence picture and whether the scene is changed. If a scene change occurs, a direct motion vector is derived from the neighboring macroblock motion information in the B picture using spatial redundancy; otherwise, a direct motion vector is derived using the motion information of the subsequence picture using temporal redundancy. . An algorithm for determining the existence of motion between a B picture and an adjacent picture is shown below.

[B 픽쳐와 인접한 픽쳐 사이의 모션 존재 검사 알고리즘][Motion Presence Checking Algorithm between B Picture and Adjacent Picture]

1. 인접한 픽쳐의 동일 위치의 매크로블록이 모션벡터를 갖고 있고, 인접한 픽쳐의 모션벡터 방향이 B 픽쳐 방향으로 향하고 있을 때, 두 픽쳐 사이에는 모션이 존재한다고 판단한다.1. When macroblocks at the same position of adjacent pictures have a motion vector, and the motion vector direction of the adjacent picture is directed toward the B picture direction, it is determined that there is motion between the two pictures.

2. 인접한 픽쳐의 동일 위치의 매크로블록이 모션벡터를 갖고 있고, 인접한 픽쳐의 모션벡터 방향이 B 픽쳐와 반대 방향으로 향하고 있을 때, B 픽쳐 내 주변 매크로블록을 검사한다.2. When the macroblock at the same position of the adjacent picture has a motion vector, and the motion vector direction of the adjacent picture is directed in the opposite direction to the B picture, the surrounding macroblock in the B picture is examined.

2-1. 주변 매크로블록의 모션벡터 중 어느 한 개라도 인접한 픽쳐 쪽의 방향을 갖는 모션벡터가 존재한다면, 두 픽쳐 사이에 모션이 존재한다고 판단한다.2-1. If any one of the motion vectors of the neighboring macroblocks has a direction toward the adjacent picture, it is determined that there is motion between the two pictures.

2-2. 주변 매크로블록의 모든 모션벡터가 인접한 픽쳐와 반대 방향으로 모션방향을 갖고 있으면, 두 픽쳐 사이에 모션이 존재하지 않는다고 판단한다. 즉, 두 픽쳐 사이에 영상 전환이 발생하였다고 판단한다.2-2. If all the motion vectors of the neighboring macroblocks have the motion direction in the opposite direction to the adjacent picture, it is determined that there is no motion between the two pictures. That is, it is determined that an image change occurs between two pictures.

2-3. 주변 매크로블록이 모두 인트라 모드이면, 두 픽쳐 사이의 모션 존재 여부를 판단할 수 없다.2-3. If all of the neighboring macroblocks are the intra mode, it may not be determined whether there is motion between the two pictures.

3. 인접한 픽쳐의 동일 위치의 매크로블록이 인트라 모드를 갖으면, B 픽쳐 내 주변 매크로블록을 검사한다.3. If the macroblock at the same position of the adjacent picture has an intra mode, the surrounding macroblock in the B picture is examined.

3-1. 주변 매크로블록의 모션벡터가 모두 단일 방향을 가리키고 그 방향이 인접한 픽쳐 쪽이라면, 두 픽쳐 사이에 모션이 존재한다고 판단한다.3-1. If the motion vectors of the neighboring macroblocks all point to a single direction and the direction is toward an adjacent picture, it is determined that motion exists between the two pictures.

3-2. 주변 매크로블록의 모션벡터가 모두 단일 방향을 가리키고 그 방향이 인접한 픽쳐와 반대 방향이라면, 두 픽쳐 사이에 모션이 존재하지 않는다고 판단한다.3-2. If the motion vectors of the neighboring macroblocks all point to a single direction and the direction is opposite to the adjacent picture, it is determined that there is no motion between the two pictures.

3-3. 주변 매크로블록의 모션벡터가 포워드 및 백워드 방향을 모두 갖고 있으면, B 픽쳐를 중심으로 양방향으로 모두 모션이 존재한다고 판단한다.3-3. If the motion vectors of the neighboring macroblocks have both forward and backward directions, it is determined that motion exists in both directions about the B picture.

3-4. 주변 매크로블록이 모두 인트라 모드이면, 두 픽쳐 사이의 모션 존재 여부를 판단할 수 없다.3-4. If all of the neighboring macroblocks are the intra mode, it may not be determined whether there is motion between the two pictures.

우선, B 픽쳐의 공간적 중복성을 특징을 이용하는 방법으로서, 도 3과 같은주변 세 개의 매크로블록의 모션벡터의 방향을 검사한다. 이때 발견될 수 있는 경우의 수는 도 6에서 보여지는 세 가지이다. 즉, 도 6a와 같이 주변 세 개의 매크로블록 모두 포워드 방향의 모션벡터만을 갖을 수 있고, 도 6b처럼 어느 한 매크로블록이 백워드 방향의 모션벡터를 갖을 수 있고, 도 6c처럼 모든 매크로블록이 모두 인트라 모드일 수 있다.First, as a method of using the spatial redundancy feature of the B picture, the direction of the motion vectors of the three neighboring macroblocks as shown in FIG. 3 is examined. The number of cases that can be found at this time is three shown in FIG. That is, as shown in FIG. 6A, all three neighboring macroblocks may have only a motion vector in a forward direction. As shown in FIG. 6B, any one macroblock may have a motion vector in a backward direction. As shown in FIG. 6C, all macroblocks are all intra. May be a mode.

먼저, 도 6a의 경우를 살펴 보도록 한다. 주변 세 개 매크로블록이 모두 포워드 방향의 모션벡터만을 갖고 있으므로, B 픽쳐는 시간적으로 앞에 있는 픽쳐들과 높은 연관성(correlation)을 갖지만 서브시퀀트 픽쳐와는 연관성이 매우 낮다고 볼 수 있다. 좀더 자세히 말하면, 주변 매크로블록의 모션정보를 보고, B 픽쳐와 서브시퀀트 픽쳐사이에 영상 전환이 발생했다고 판단할 수 있다. 따라서 코딩하려는 매크로블록은 서브시퀀트 픽쳐의 백워드 방향 모션정보 대신, 공간적 중복성 특성을 이용하여 주변 매크로블록의 포워드 방향 모션정보로부터 포워드 방향 다이렉트 모션벡터를 유도하기로 한다.First, the case of FIG. 6A will be described. Since all three macroblocks have only motion vectors in the forward direction, the B picture has a high correlation with the pictures in front of the temporal picture, but is very low in relation to the subsequence pictures. In more detail, it may be determined that the image change occurs between the B picture and the subsequence picture by looking at the motion information of the neighboring macroblock. Therefore, the macroblock to be coded derives the forward direction direct motion vector from the forward direction motion information of the neighboring macroblocks using spatial redundancy instead of the backward direction motion information of the subsequence picture.

이를 위해 본 발명은 포워드 방향의 다이렉트 모션벡터 'MVf'와 'MVb'를 도 3과 같은 주변 매크로블록에서 예측 모션벡터 'PMV'를 구하는 것과 비슷한 방법으로 구한다. 도 3에서 E는 코딩(또는 디코딩)하고자 하는 매크로블록을 나타내고, A, B, C는 주변 매크로블록들로서 이 블록들이 갖고 있는 모션벡터를 각각 'MVA', 'MVB', 'MVC'라고 가정한다.To this end, the present invention obtains the direct motion vectors 'MVf' and 'MVb' in the forward direction in a similar manner to obtaining the predicted motion vector 'PMV' in the surrounding macroblock as shown in FIG. 3. In FIG. 3, E denotes a macroblock to be coded (or decoded), and A, B, and C represent neighboring macroblocks, and the motion vectors of the blocks are 'MV A ', 'MV B ', and 'MV C ', respectively. Assume that

[공간적 중복성을 이용한 다이렉트 모션벡터 유도 알고리즘][Direct Motion Vector Derivation Algorithm Using Spatial Redundancy]

1. 주변 매크로블록 A, B, C 중 인트라 모드를 갖는 매크로블록이 있으면, 그 매크로블록의 포워드 방향의 모션벡터와 백워드 방향의 모션벡터를 각각 0으로 설정한다.1. If there is a macroblock having an intra mode among the neighboring macroblocks A, B, and C, the forward motion vector and backward motion vector of the macroblock are set to 0, respectively.

2. 각 주변 매크로블록은 현재 구하려는 다이렉트 모션벡터 방향과 일치하는 모션벡터만을 골라 미디어 연산에 포함시키도록 한다.2. Each neighboring macroblock selects only motion vectors that match the direction of the direct motion vector to be obtained and includes them in the media operation.

MVf = MVb = median{MVA, MVB, MVC}MVf = MVb = median {MV A , MV B , MV C }

3. 만일 주변 매크로블록 중에서 현재 구하려는 다이렉트 모션벡터 방향과 일치하는 모션벡터를 두 개 가지고 있는 매크로블록이 있다면, 그 매크로블록에서는 한 개만을 선택하여 미디언 연산에 포함시키도록 한다.3. If there are two macroblocks in the surrounding macroblocks that have two motion vectors that match the current direction of the direct motion vector to be obtained, select only one of the macroblocks to be included in the median operation.

여기에서, 종래의 예측 모션벡터 'PMV'와 다른 점은 'MVf(또는 MVb)'가 가리키는 레퍼런스 픽쳐도 함께 예측을 해야 한다는 것이다. 본 발명은 'MVf(또는 MVb)'의 레퍼런스 픽쳐를 다음과 같은 방법으로 구한다.Here, the difference from the conventional predicted motion vector 'PMV' is that the reference picture indicated by 'MVf (or MVb)' must also be predicted. The present invention obtains a reference picture of 'MVf (or MVb)' as follows.

[레퍼런스 픽쳐 예측 알고리즘][Reference picture prediction algorithm]

1. 만일 주변 매크로블록 A, B, C가 참조하는 레퍼런스 픽쳐가 서로 다를 경우, 가장 작은 인덱스를 갖는 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택한다.1. If the reference pictures referenced by the neighboring macroblocks A, B, and C are different from each other, the reference picture having the smallest index is selected as the reference picture of the direct motion vector.

2. 만일 주변 매크로블록 중 두 개의 블록이 동일한 레퍼런스 픽쳐를 가리키고 있다면, 그 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택한다.2. If two of the neighboring macroblocks point to the same reference picture, select that reference picture as the reference picture of the direct motion vector.

3. 만일 주변 매크로블록 모두 동일한 레퍼런스 픽쳐를 가리키고 있다면, 그 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택한다.3. If all of the surrounding macroblocks point to the same reference picture, select that reference picture as the reference picture of the direct motion vector.

물론, 포워드 방향 레퍼런스 픽쳐 두 개를 갖는 주변 매크로블록이 존재한다면, 두 개의 레퍼런스 픽쳐 중 한 개만을 선택하여 [레퍼런스 픽쳐 예측 알고리즘]에 적용한다. 결론적으로 'MVf'와 'MVb'는 동일하고 두 다이렉트 모션벡터가 가리키는 레퍼런스 픽쳐는 한 개이므로, 이것은 한 개의 모션벡터에 의해 움직임 보상을 하는 것과 동일한 효과를 얻게 된다.Of course, if there are neighboring macroblocks having two forward direction reference pictures, only one of the two reference pictures is selected and applied to the reference picture prediction algorithm. In conclusion, since 'MVf' and 'MVb' are the same and the two reference motion vectors point to one reference picture, this has the same effect as motion compensation by one motion vector.

다음으로 도 6b와 같이 주변 매크로블록 중 어느 한 매크로블록이 백워드 방향의 모션벡터를 갖고 있는 경우를 살펴보자. 이것은 B 픽쳐와 서브시퀀트 픽쳐 사이에 모션이 존재한다는 사실을 알려준다. 그리고 서브시퀀트 픽쳐는 자신의 레퍼런스 픽쳐까지 모션이 있으므로, 모션은 B 픽쳐에서 시작하여 서브시퀀트 픽쳐를 거쳐 서브시퀀트 픽쳐의 레퍼런스 픽쳐까지 존재한다고 가정할 수 있다.Next, as illustrated in FIG. 6B, one of the neighboring macroblocks has a motion vector in the backward direction. This indicates that there is motion between the B picture and the subsequence picture. Since the subsequence picture has motion up to its own reference picture, it can be assumed that the motion exists from the B picture to the reference picture of the subsequence picture through the subsequence picture.

이러한 가정하에 본 발명은 'MVf'는 B 픽쳐와 서브시퀀트 픽쳐의 레퍼런스 픽쳐사이의 백워드 방향의 모션벡터, 'MVb'는 B 픽쳐와 서브시퀀트 픽쳐 사이의 백워드 방향의 모션벡터라고 정의한다. 또한 'TRd'는 모션벡터 'MV'를 구했던 레퍼런스 픽쳐와 서브시퀀트 픽쳐 사이의 시간적 거리, 'TRb'는 서브시퀀트 픽쳐의 레퍼런스 픽쳐와 B 픽쳐 사이의 시간적 거리로 정의한다. 따라서 [수학식 1]에 'MV'와'TRd', 'TRb'를 대입함으로서 B 픽쳐 매크로블록의 백워드 방향의 두개 다이렉트 모션벡터 'MVf'와 'MVb'를 유도할 수 있다. 이때 'MVf'와 'MVb'의 첨자 'f'와 'b'는 방향정보가 아닌 다이렉트 모드의 두 모션벡터를 단지 구분하기 위해 사용하였다.Under this assumption, the present invention defines 'MVf' as the motion vector in the backward direction between the B picture and the reference picture of the subsequence picture, and 'MVb' is the motion vector in the backward direction between the B picture and the subsequence picture. do. Also, 'TRd' is defined as the temporal distance between the reference picture and the subsequence picture from which the motion vector 'MV' is obtained, and 'TRb' is defined as the temporal distance between the reference picture and the B picture of the subsequence picture. Therefore, by substituting 'MV', 'TRd' and 'TRb' in Equation 1, two direct motion vectors 'MVf' and 'MVb' in the backward direction of the B picture macroblock can be derived. At this time, the subscripts 'f' and 'b' of 'MVf' and 'MVb' are used only to distinguish two motion vectors of the direct mode, not the direction information.

마지막으로 도 6c처럼 주변 세 개 매크로블록이 모두 인트라 모드일 경우를 살펴보자. 이때는 시간적 중복성과 공간적 중복성 특성을 이용해도 B 픽쳐와 서브시퀀트 픽쳐 사이의 모션 존재성과 장면 전환 여부를 모두 판단할 수 없으므로, 도 6b처럼 간주하여 백워드 방향의 두개 다이렉트 모션벡터 'MVf'와 'MVb'를 유도하도록 한다.Finally, as shown in FIG. 6C, the three neighboring macroblocks are in intra mode. In this case, even though temporal redundancy and spatial redundancy are not used, both the motion existence between the B picture and the subsequence picture and whether the scene is changed can be determined. Therefore, the two direct motion vectors' MVf 'and' To induce MVb '.

[1.3] 서브시퀀트 픽쳐의 매크로블록이 두개의 포워드 방향 모션벡터를 갖는 경우[1.3] When a macroblock of a subsequence picture has two forward direction motion vectors

도 4c와 같은 경우로, 서브시퀀트 픽쳐의 매크로블록이 쌍예측 모드로서 두 개의 모션벡터 'MVFW(=MV1)'과 'MVBW(=MV2)'가 모두 포워드 방향인 경우를 보여준다. 여기에서 'MVFW'와 'MVBW'의 'FW'와 'BW'는 방향 정보가 아닌 두 모션벡터를 구분하기 위해 사용되었음에 주의해야 한다.As shown in FIG. 4C, a macroblock of a subsequence picture is a pair prediction mode, in which two motion vectors 'MVFW (= MV1)' and 'MVBW (= MV2)' are both forward directions. Note that 'FW' and 'BW' in 'MVFW' and 'MVBW' are used to distinguish two motion vectors, not direction information.

서브시퀀트 픽쳐에서 동일 방향의 모션벡터를 구하는 방법은, 도 7에서 보이는 바와 같이 가까운 거리의 레퍼런스 픽쳐에서 최적의 'MVFW(=MV1)'를 먼저 구하고 먼 거리의 레퍼런스 픽쳐로 'MVFW'를 증가(scaling)시켜 그 값을 중심으로 정확한 'MVBW(=MV2)'를 구하게 된다. 따라서, 'MVBW'는 먼저 구한 'MVFW'의 값에 의해결정되어지는 종속 관계가 있다. 본 발명은 두 개의 모션벡터 'MVFW'와 'MVBW' 중 모션벡터 하나를 선택하여 B 픽쳐 의 다이렉트 모션벡터 'MVf'와 'MVb'를 유도할 것을 제안한다.In order to obtain motion vectors in the same direction in a subsequence picture, as shown in FIG. 7, an optimum 'MVFW (= MV1)' is first obtained from a short distance reference picture and the 'MVFW' is increased with a long distance reference picture. (scaling) to get the exact 'MVBW (= MV2)' around that value. Therefore, 'MVBW' has a dependency relationship that is determined by the value of 'MVFW' obtained first. The present invention proposes to derive the direct motion vectors 'MVf' and 'MVb' of the B picture by selecting one of two motion vectors 'MVFW' and 'MVBW'.

도 8에서는 'MVFW'를 선택하여 다이렉트 모션벡터를 유도하는 과정을 예로써 보여주고 있다. 이것은 도 5와 같이 한 개의 포워드 모션벡터를 갖고 있는 것과 동일한 경우이므로, 서브섹션 [1.1]에 의해 포워드 다이렉트 모션벡터 'MVf'와 백워드 다이렉트 모션벡터 'MVb'를 유도할 수 있다. 이때 'TRd'와 'TRb'는 모션벡터 'MVFW'를 구했던 레퍼런스 픽쳐와 서브시퀀트 픽쳐 사이의 시간적 거리, 서브시퀀트 픽쳐의 레퍼런스 픽쳐와 B 픽쳐 사이의 시간적 거리를 각각 의미한다.8 illustrates an example of deriving a direct motion vector by selecting 'MVFW'. Since this is the same as having one forward motion vector as shown in FIG. 5, the forward direct motion vector 'MVf' and the backward direct motion vector 'MVb' can be derived by subsection [1.1]. In this case, 'TRd' and 'TRb' denote temporal distances between the reference picture and the subsequence picture from which the motion vector 'MVFW' is obtained, and the temporal distances between the reference picture and the B picture of the subsequence picture, respectively.

[1.4] 서브시퀀트 픽쳐의 매크로블록이 두개의 백워드 방향 모션벡터를 갖는 경우[1.4] When a macroblock of a subsequence picture has two backward motion vectors

도 4d와 같은 경우로, 서브시퀀트 픽쳐의 매크로블록이 쌍예측 모드를 통해 얻은 두 개의 모션벡터 'MVFW(=MV1)'과 'MVBW(=MV2)'가 모두 백워드 방향인 경우를 보여주고 있다. 쌍예측 모드의 두 개 백워드 방향 모션벡터 'MVFW(=MV1)'과 'MVBW(=MV2)'는 도 7에서와 마찬가지 방법으로 구해지고 'MVBW'는 여전히 먼저 구한 'MVFW'의 값에 의해 결정되어지는 종속 관계가 있다. 또한, 'MVFW'와 'MVBW'를 서브시퀀트 픽쳐의 매크로블록이 다이렉트 모드를 통해 얻은 두 개의 모션벡터 'MVf'과 'MVb'로 생각할 수 있다. 여기에서도 'MVFW'와 'MVBW'의 'FW'와 'BW', 'MVf'와 'MVb'의 'f'와 'b'는 두 모션벡터를 단지 구분하기 위해 사용되었음에 주의해야 한다.As shown in FIG. 4D, the two motion vectors 'MVFW (= MV1)' and 'MVBW (= MV2)' obtained through the macro prediction mode of the subsequence picture are both in the backward direction. have. The two backward directional motion vectors 'MVFW (= MV1)' and 'MVBW (= MV2)' in the bi-prediction mode are obtained in the same manner as in FIG. 7 and 'MVBW' is still obtained by the value of 'MVFW' obtained first. There is a dependency that is determined. Also, 'MVFW' and 'MVBW' can be thought of as two motion vectors 'MVf' and 'MVb' obtained by the macroblock of the subsequence picture through the direct mode. Again, note that 'FW' and 'BW' in 'MVFW' and 'MVBW', 'f' and 'b' in 'MVf' and 'MVb' are used only to distinguish the two motion vectors.

본 발명은 서브섹션 [1.3]과 같이 두 개의 모션벡터 'MVFW(또는 MVf)'와 'MVBW(또는 MVb)' 중 모션벡터 하나를 선택하여 B 픽쳐의 다이렉트 모션벡터 'MVf'와 'MVb'를 유도할 것을 제안한다. 이렇게 하나의 모션벡터가 선택되면 한 개의 백워드 모션벡터를 갖고 있는 도 6과 같은 경우가 되고 따라서 이미 기술한 서브섹션 [1.2]의 방법을 적용하여 다이렉트 모션벡터 'MVf'와 'MVb'를 유도한다.The invention is as described in subsection [1.3]. It is proposed to derive the direct motion vectors 'MVf' and 'MVb' of the B picture by selecting one of the two motion vectors 'MVFW (or MVf)' and 'MVBW (or MVb)'. When one motion vector is selected as shown in FIG. 6 having one backward motion vector, the direct motion vectors 'MVf' and 'MVb' are derived by applying the method of subsection [1.2]. do.

[1.5] 서브시퀀트 픽쳐의 매크로블록이 포워드 방향 모션벡터와 백워드 방향 모션벡터 두 개를 갖는 경우[1.5] When a macroblock of a subsequence picture has two forward direction motion vectors and two backward direction motion vectors

도 4e와 같은 경우로, 서브시퀀트 픽쳐의 매크로블록이 쌍예측 모드(또는 다이렉트 모드)에 의해 얻어진 포워드 방향 모션벡터 'MVFW(또는 MVf)'와 백워드 방향 모션벡터 'MVBW(또는 MVb)' 두 개를 갖고 있는 경우이다.In the case of FIG. 4E, the forward direction motion vector 'MVFW (or MVf)' and the backward direction motion vector 'MVBW (or MVb)', in which the macroblock of the subsequence picture is obtained by the bi-prediction mode (or the direct mode), are used. If you have two.

본 발명에서는 시간적 중복성을 이용할 수 있도록 두 개의 모션벡터 중 'MVFW(또는 MVf)'를 선택하여 B 픽쳐의 다이렉트 모션벡터를 유도하기로 한다. 이것은 서브시퀀트 픽쳐 매크로블록이 한 개의 포워드 모션벡터를 갖고 있는 것과 동일하게 간주되므로, 서브섹션 [1.1]과 같은 방법으로 포워드 방향의 다이렉트 모션벡터 'MVf'와 백워드 방향의 모션벡터 'MVb'를 유도한다.In the present invention, the direct motion vector of the B picture is derived by selecting 'MVFW (or MVf)' from two motion vectors to use temporal redundancy. Since this is regarded as the same as the subsequence picture macroblock having one forward motion vector, the direct motion vector 'MVf' in the forward direction and the motion vector 'MVb' in the backward direction are the same as in the subsection [1.1]. Induce.

[1.6] 서브시퀀트 픽쳐의 매크로블록이 인트라 모드인 경우[1.6] When the macroblock of the subsequence picture is in intra mode

도 4f와 같은 경우로, 서브시퀀트 픽쳐의 매크로블록이 인트라 모드일 때이다. 이 경우에는 서브시퀀트 픽쳐로부터 시간적인 모션정보를 알아낼 수 없으므로 공간적 중복성 특성을 살린 B 픽쳐 내 주변 매크로블록을 검사하여 모션정보를 알아내어야 한다. 가능한 경우의 수는 도 9에 보이는 바와 같이 크게 네 가지로 요약할 수 있다.4F, the macroblock of the subsequence picture is in the intra mode. In this case, since the temporal motion information cannot be found from the subsequence picture, the motion information must be found by examining the neighboring macroblocks in the B picture utilizing spatial redundancy. The number of possible cases can be summarized into four largely as shown in FIG.

우선 도 9a 및 도 9b처럼, 주변 세 개 매크로블록이 인트라 모드를 포함하여 모두 단일 방향의 모션벡터만을 갖고 있으면 B 픽쳐는 한쪽 방향의 픽쳐들과 높은 연관성(correlation)을 갖는 반면 반대쪽 픽쳐와는 연관성이 매우 낮다고 볼 수 있다.First, as shown in Figs. 9A and 9B, if three neighboring macroblocks have only a single direction of motion vectors including the intra mode, the B picture has a high correlation with the pictures in one direction, but with the opposite picture. This is very low.

좀더 자세히 말하면, 도 9a는 B 픽쳐와 서브시퀀트 픽쳐사이에 영상 전환이 발생했다고 판단하여, 코딩하려는 매크로블록은 공간적 중복성 특성을 이용하여 주변 매크로블록의 모션정보로부터 포워드 방향의 다이렉트 모션벡터 'MVf(=MVb)'를 유도한다. 그와 반대로, 도 9b는 B 픽쳐와 프리시딩 픽쳐사이에 영상 전환이 발생했다고 판단하여, 코딩하려는 매크로블록은 주변 매크로블록의 모션정보로부터 백워드 방향의 다이렉트 모드 모션벡터 'MVf(=MVb)'를 유도한다.More specifically, FIG. 9A determines that an image transition has occurred between a B picture and a subsequence picture, so that the macroblock to be coded is a direct motion vector 'MVf in the forward direction from the motion information of neighboring macroblocks using spatial redundancy characteristics. (= MVb) '. On the contrary, in FIG. 9B, it is determined that an image change has occurred between the B picture and the preseeding picture, and the macroblock to be coded is a direct mode motion vector 'MVf (= MVb) in the backward direction from the motion information of the neighboring macroblock. 'Induces.

여기서, 도 9a와 도 9b의 각 방향의 다이렉트 모션벡터는 서브섹션 [1.2]에 소개된 [공간적 중복성을 이용한 다이렉트 모션벡터 유도 알고리즘]을 통해 구하고 레퍼런스 픽쳐는 [레퍼런스 픽쳐 예측 알고리즘]을 적용하여 구한다.Here, the direct motion vectors in each direction of FIGS. 9A and 9B are obtained through the [direct motion vector derivation algorithm using spatial redundancy] introduced in the subsection [1.2], and the reference picture is obtained by applying the reference picture prediction algorithm. .

도 9c는 주변 매크로블록 중 일부는 포워드 방향의 모션벡터를, 일부는 백워드 방향의 모션벡터를 갖는 경우를 나타낸 것이다. 주변 매크로블록이 양방향으로 모션벡터를 갖고 있다는 것은 코딩하려는 매크로블록이 어느 방향으로도 모션이 존재할 수 있다는 것을 의미하므로 본 발명은 포워드 방향과 백워드 방향을 갖는 다이렉트 모션벡터를 공간적으로 주변 매크로블록으로부터 구하기로 한다.FIG. 9C illustrates a case in which some of the neighboring macroblocks have a motion vector in the forward direction and some have a motion vector in the backward direction. Since the neighboring macroblock has motion vectors in both directions, it means that the macroblock to be coded may have motion in any direction, and thus, the present invention spatially directs direct motion vectors having forward and backward directions from the neighboring macroblocks. I'll get it.

이때, 포워드 방향의 모션벡터는 서브섹션 [1.2]의 [공간적 중복성을 이용한 다이렉트 모션벡터 유도 알고리즘], 레퍼런스 픽쳐는 [레퍼런스 픽쳐 예측 알고리즘]을 적용하여 구하고, 백워드 방향에 대해서도 모션벡터와 레퍼런스 픽쳐를 두 알고리즘을 적용하여 구한다.At this time, the motion vector in the forward direction is obtained by applying the [direct motion vector derivation algorithm using spatial redundancy] in the subsection [1.2] and the reference picture is applied by the [reference picture prediction algorithm], and the motion vector and the reference picture are also in the backward direction. Is obtained by applying two algorithms.

도 9d는 주변 매크로블록 모두가 인트라 모드일 경우를 보여준다. 이때는 시간적, 공간적으로 B 픽쳐와 프리시딩 픽쳐 또는 서브시퀀트 픽쳐 사이의 모션 존재 여부를 판단할 수 없으므로, 서브시퀀트 픽쳐의 매크로블록이 제로 모션벡터를 가지고 있다고 설정하고 시간적으로 B 픽쳐의 다이렉트 모션벡터 'MVf'와 'MVb'를 구하기로 한다.9D shows the case where all of the neighboring macroblocks are in the intra mode. In this case, it is not possible to determine whether motion exists between B picture and pre-sequence picture or subsequence picture temporally and spatially. Therefore, it is assumed that macroblock of subsequence picture has zero motion vector and direct B picture temporally. The motion vectors 'MVf' and 'MVb' are determined.

따라서, 다이렉트 모션벡터 'MVf'와 'MVb'는 0이 된다. 또한 'MVf'가 참조하는 픽쳐는 B 픽쳐의 바로 이전에 있는 픽쳐를, 그리고 'MVb'는 서브시퀀트 픽쳐를 참조하여 움직임 보상을 하도록 한다. 결과적으로 코딩하려는 B 픽쳐의 매크로블록은 바로 이전 및 바로 이후 픽쳐에 있는 동일 위치의 매크로블록을 평균하여 예측 값을 얻게 된다.Therefore, the direct motion vectors 'MVf' and 'MVb' become zero. Also, a picture referred to by 'MVf' refers to a picture immediately before a B picture, and 'MVb' refers to a subsequence picture to compensate for motion. As a result, the macroblock of the B picture to be coded obtains a prediction value by averaging the macroblocks of the same position in the picture immediately before and after the picture.

[2] 동영상에 대한 디스플레이 순서와 디코딩 순서가 같은 스킴[2] Scheme with same display order and decoding order for video

동영상 코딩 시스템이 디스플레이 순서와 동일하게 코딩(또는 디코딩)을 수행하는 스킴을 사용하는 경우, 백워드 레퍼런스 픽쳐 버퍼(backward referencepicture buffer)는 코딩하고자 하는 B 픽쳐 이전의 픽쳐들을 컨텐츠로서 갖고 있기 때문에 5 가지 예측 모드 중 백워드 모드는 선택이 안될 가능성이 매우 높다. 그리고, 쌍예측 모드는 오직 포워드/포워드 방향의 모션벡터만을 갖게 된다. 따라서 프리시딩 픽쳐와 B 픽쳐 사이의 모션 연속성을 프리시딩 픽쳐의 모션정보로부터 직접적으로 판단하기 힘들기 때문에, B 픽쳐 내의 공간적 모션정보에 따라 다이렉트 모션벡터를 유도해야 한다.If the video coding system uses a scheme that performs coding (or decoding) in the same order as the display order, the backward reference picture buffer has five pictures since the content before the B picture to be coded is used as the content. Of the prediction modes, the backward mode is very unlikely to be selected. And, the bi-prediction mode has only motion vectors in the forward / forward direction. Therefore, since it is difficult to directly determine the motion continuity between the preseeding picture and the B picture from the motion information of the preseeding picture, a direct motion vector must be derived according to the spatial motion information in the B picture.

[2.0] 시간적 중복성 특징을 갖는 인접 픽쳐[2.0] Adjacent Pictures with Temporal Redundancy

이 스킴에서는 시간적으로 뒤에 따라 나오는 픽쳐는 아직 인코딩(또는 디코딩)이 안되었으므로, 이미 디코딩된 시간적으로 앞에 있는 레퍼런스 픽쳐(decoded temporally-preceding reference picture)를 B 픽쳐와 시간적 중복성을 갖는 픽쳐로 판단하여 실제 다이렉트 모션벡터를 유도하는데 사용하기로 한다. 본 발명에서는 이 레퍼런스 픽쳐를 프리시딩 픽쳐라고 부르기로 한다.In this scheme, the following picture has not yet been encoded (or decoded). Therefore, the decoded temporally-preceding reference picture is regarded as a picture having temporal overlap with the B picture. We will use it to derive a direct motion vector. In the present invention, this reference picture is referred to as a preseeding picture.

[2.1] 프리시딩 픽쳐의 매크로블록이 한 개의 포워드 방향 모션벡터를 갖는 경우[2.1] When the macroblock of the preseeding picture has one forward direction motion vector

도 4g와 같이 프리시딩 픽쳐에 있는 동일 위치의 매크로블록이 한 개의 포워드 방향 모션벡터를 갖고 있으면, B 픽쳐의 주변 매크로블록의 모션은 도 10a와 도 10b의 두 가지 경우가 존재한다.If macroblocks of the same position in the pre-seeding picture have one forward direction motion vector as shown in FIG. 4G, there are two cases of the motion of the neighboring macroblocks of the B picture in FIGS. 10A and 10B.

도 10a는 주변 매크로블록의 모션벡터를 통해 프리시딩 픽쳐와 B 픽쳐사이에모션이 있음을 보여주고 있다. 이것은 프리시딩 픽쳐의 모션벡터가 프리시딩 픽쳐와 레퍼런스 픽쳐사이에 모션이 있고 이 모션은 B 픽쳐에서 시작하여 프리시딩 픽쳐를 거쳐 프리시딩 픽쳐의 레퍼런스 픽쳐까지 진행되었다고 가정할 수 있다.FIG. 10A shows that there is a motion between the preseeding picture and the B picture through the motion vector of the neighboring macroblock. It can be assumed that the motion vector of the preseeding picture has motion between the preseeding picture and the reference picture, and the motion has started from the B picture and progressed through the preseeding picture to the reference picture of the preseeding picture.

이러한 가정하에 본 발명은 'MVf'는 B 픽쳐와 프리시딩 픽쳐의 레퍼런스 픽쳐사이의 모션벡터, 'MVb'는 B 픽쳐와 프리시딩 픽쳐 사이의 모션벡터라고 정의한다. 또한 'TRd'는 모션벡터 'MV'를 구했던 레퍼런스 픽쳐와 프리시딩 픽쳐 사이의 시간적 거리, 'TRb'는 프리시딩 픽쳐의 레퍼런스 픽쳐와 B 픽쳐 사이의 시간적 거리로 정의한다. 따라서, 상기 [수학식 1]에 'MV'와 'TRd', 'TRb'를 대입함으로서 포워드 방향의 다이렉트 모션벡터 'MVf'와 'MVb'를 유도할 수 있다. 이때 'MVf'와 'MVb'의 첨자 'f'와 'b'는 방향정보가 아닌 다이렉트 모드의 두 모션벡터를 단지 구분하기 위해 사용하였다.Under this assumption, the present invention defines 'MVf' as a motion vector between a B picture and a reference picture of a preseeding picture, and 'MVb' is a motion vector between a B picture and a preseeding picture. In addition, 'TRd' is defined as the temporal distance between the reference picture and the preseeding picture from which the motion vector 'MV' is obtained, and 'TRb' is defined as the temporal distance between the reference picture and the B picture of the preseeding picture. Therefore, direct motion vectors 'MVf' and 'MVb' in the forward direction can be derived by substituting 'MV', 'TRd', and 'TRb' in Equation 1 above. At this time, the subscripts 'f' and 'b' of 'MVf' and 'MVb' are used only to distinguish two motion vectors of the direct mode, not the direction information.

그리고, 도 10b는 코딩하고자 하는 B 픽쳐 내 주변 매크로블록(A, B, C)이 모두 인트라 모드인 경우를 보여주고 있다. 따라서, 공간적으로 B 픽쳐의 모션정보를 추출하기는 불가능하고 또한 이미 기술한대로 프리시딩 픽쳐와 B 픽쳐 사이의 시간적인 모션 정보는 알 수 없으므로, 본 발명에서는 이 경우에도 도 10a로 간주하여 포워드 방향의 다이렉트 모션벡터 'MVf'와 'MVb'를 'MV'로부터 유도하도록 한다.10B illustrates a case in which all of the neighboring macroblocks A, B, and C in the B picture to be coded are in intra mode. Therefore, it is impossible to extract the motion information of the B picture spatially, and as described above, the temporal motion information between the preseeding picture and the B picture is not known. Direct motion vectors of 'MVf' and 'MVb' are derived from 'MV'.

[2.2] 프리시딩 픽쳐의 매크로블록이 두 개의 포워드 방향 모션벡터를 갖는 경우[2.2] When a macroblock of a preseeding picture has two forward direction motion vectors

도 4h와 같이 프리시딩 픽쳐의 매크로블록이 포워드 방향의 두 개의 모션벡터 'MVFW(=MV1)'과 'MVBW(=MV2)'를 갖는 경우를 보여준다. 'MVFW'와 'MVBW'를 프리시딩 픽쳐의 매크로블록 내 이 다이렉트 모드를 통해 얻은 두 개의 모션벡터 'MVf'와 'MVb'라고 생각할 수 있다.As shown in FIG. 4H, the macroblock of the pre-seeding picture has two motion vectors 'MVFW (= MV1)' and 'MVBW (= MV2)' in the forward direction. We can think of 'MVFW' and 'MVBW' as two motion vectors 'MVf' and 'MVb' obtained through this direct mode in the macroblock of the preseeding picture.

이 경우, 본 발명은 두 개의 모션벡터 'MVFW'와 'MVBW' 중 모션벡터 하나를 선택하여 B 픽쳐의 다이렉트 모션벡터 'MVf'와 'MVb'를 유도할 것을 제안한다. 이것은 상기에서 설명된 서브섹션 [2.1]과 동일한 경우로서 B 픽쳐의 포워드 방향 다이렉트 모션벡터 'MVf'와 'MVb'를 유도할 수 있다.In this case, the present invention proposes to derive the direct motion vectors 'MVf' and 'MVb' of the B picture by selecting one of the two motion vectors 'MVFW' and 'MVBW'. This is the same case as the subsection [2.1] described above and can lead to the forward direction direct motion vectors 'MVf' and 'MVb' of the B picture.

[2.3] 프리시딩 픽쳐의 매크로블록이 인트라 모드인 경우[2.3] When the macroblock of the preseeding picture is in intra mode

도 4i와 같이 프리시딩 픽쳐의 매크로블록이 인트라 모드인 경우에는 B 픽쳐의 주변 매크로블록의 모션은 도 11a와 도11b 두 가지 경우가 존재한다. 도 11a는 주변 매크로블록 중 어느 하나라도 포워드 방향 모션벡터를 갖는 경우로서 이것은 이전 픽쳐들과 B 픽쳐사이에 포워드 방향 모션이 있음을 암시한다. 따라서 포워드 방향의 다이렉트 모션벡터 'MVf(=MVb)'를 서브섹션 [1.2]에 소개된 [공간적 중복성을 이용한 다이렉트 모션벡터 유도 알고리즘]을 통해 구하고, 레퍼런스 픽쳐는 [레퍼런스 픽쳐 예측 알고리즘]을 적용하여 구한다.As shown in FIG. 4I, when the macroblock of the preseeding picture is in the intra mode, the motion of the neighboring macroblock of the B picture exists in two cases of FIGS. 11A and 11B. 11A shows a case in which any one of the surrounding macroblocks has a forward direction motion vector, which implies that there is a forward direction motion between the previous pictures and the B picture. Therefore, the direct motion vector 'MVf (= MVb)' in the forward direction is obtained through [Direct Motion Vector Derivation Algorithm using Spatial Redundancy] introduced in Subsection [1.2], and the reference picture is applied by [Reference Picture Prediction Algorithm]. Obtain

도 11b는 주변 매크로블록 모두가 인트라 모드일 경우를 보여준다. 이때는 시간적, 공간적으로 B 픽쳐와 프리시딩 픽쳐 사이의 모션 존재 여부를 판단할 수 없으므로, 프리시딩 픽쳐의 매크로블록이 제로 모션벡터를 가지고 있다고 설정하고시간적으로 B 픽쳐의 다이렉트 모션벡터 'MVf'와 'MVb'를 구한다.11B shows a case where all of the neighboring macroblocks are in the intra mode. In this case, it is impossible to determine whether there is motion between B picture and pre-seeding picture temporally and spatially. Therefore, macroblock of pre-seeding picture has zero motion vector, and the direct motion vector 'MVf' of B picture is temporally. And MVb.

따라서 'MVf'와 'MVb'는 0이 된다. 그리고 'MVf', 'MVb' 모두는 코딩하고자 하는 B 픽쳐의 바로 이전에 있는 레퍼런스 픽쳐, 즉 프리시딩 픽쳐를 참조하여 움직임 보상을 하도록 한다. 결과적으로 동일 위치의 프리시딩 픽쳐의 매크로블록을 단순히 복사하는 것과 동일한 결과가 된다.Thus, 'MVf' and 'MVb' are zero. In addition, both 'MVf' and 'MVb' perform motion compensation with reference to a reference picture immediately before the B picture to be coded, that is, the seeding picture. As a result, the same result is obtained by simply copying macroblocks of the same seeding picture.

이상의 설명에서와 같이 본 발명에 따른 모션벡터의 연산 방법에 의하면, 차세대 동영상 압축 기술에 정의된 B(Bi-predictive) 픽쳐에서 시간적 중복성 (temporal redundancy) 및 공간적 중복성(spatial redundancy) 특징을 이용한 다이렉트 모드 모션벡터 추출 기법을 제시하여, 다이렉트 모드가 매크로블록의 예측 모드로서 선택될 가능성을 높임으로서 B 픽쳐 코딩 효율(coding efficiency)을 더욱 향상시킬 수 있는 장점이 있다.As described above, according to the method of calculating a motion vector according to the present invention, a direct mode using temporal redundancy and spatial redundancy features in a B (predictive) picture defined in a next-generation video compression technique is described. By presenting a motion vector extraction technique, it is possible to further improve the B picture coding efficiency by increasing the possibility that the direct mode is selected as the prediction mode of the macroblock.

Claims (41)

B 픽쳐(Bi-predictive picture)와 인접한 픽쳐 사이의 모션 존재 여부를 판단함에 있어,In determining whether there is motion between a B-predictive picture and an adjacent picture, 상기 인접한 픽쳐에서 (코딩하려는 B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 가지고 있는 모션벡터의 방향성 정보와, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록이 가지고 있는 모션벡터의 방향성 정보를 참조하여, 상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단하는 것을 특징으로 하는 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 판단 방법.The directional information of a motion vector of a macroblock at the same position (with a macroblock of a B picture to be coded) in the adjacent picture and a motion of a neighboring macroblock (of a macroblock of a B picture to be coded) in the B picture And determining the presence of motion between the B picture and the adjacent picture by referring to the directional information of the vector. 제 1항에 있어서,The method of claim 1, 상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단함에 있어,In determining whether there is motion between the B picture and an adjacent picture, 상기 인접한 픽쳐의 (B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 모션벡터를 가지고 있고, 그 모션벡터의 방향이 상기 B 픽쳐 방향으로 향하고 있는 경우에는, 상기 B 픽쳐와 인접한 픽쳐 사이에 모션이 존재하는 것으로 판단하는 것을 특징으로 하는 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 판단 방법.If a macroblock of the same position (with a macroblock of B picture) of the adjacent picture has a motion vector, and the direction of the motion vector is toward the B picture direction, the motion is between the B picture and the adjacent picture. A motion existence determination method between a B picture and an adjacent picture, characterized in that it is determined to exist. 제 1항에 있어서,The method of claim 1, 상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단함에 있어,In determining whether there is motion between the B picture and an adjacent picture, 상기 인접한 픽쳐의 (B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 모션벡터를 가지고 있고, 그 모션벡터의 방향이 상기 B 픽쳐와 반대 방향으로 향하고 있으며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모션벡터 중에서 적어도 하나의 모션벡터가 상기 인접한 픽쳐 쪽의 방향을 갖는 모션벡터인 경우에는, 상기 B 픽쳐와 인접한 픽쳐 사이에 모션이 존재하는 것으로 판단하는 것을 특징으로 하는 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 판단 방법.The macroblock at the same position (with the macroblock of the B picture) of the adjacent picture has a motion vector, and the direction of the motion vector is directed in the opposite direction to the B picture, and within the B picture (of the B picture to be coded) If at least one of the motion vectors of the neighboring macroblock is a motion vector having a direction toward the adjacent picture, it is determined that there is motion between the B picture and the adjacent picture. A method for determining the presence of motion between a B picture and an adjacent picture. 제 1항에 있어서,The method of claim 1, 상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단함에 있어,In determining whether there is motion between the B picture and an adjacent picture, 상기 인접한 픽쳐의 (B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 모션벡터를 가지고 있고, 그 모션벡터의 방향이 상기 B 픽쳐와 반대 방향으로 향하고 있으며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모든 모션벡터의 방향이 상기 인접한 픽쳐와 반대 방향의 모션벡터인 경우에는, 상기 B 픽쳐와 인접한 픽쳐 사이에 모션이 존재하지 않는 것으로 판단하는 것을 특징으로 하는 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 판단 방법.The macroblock at the same position (with the macroblock of the B picture) of the adjacent picture has a motion vector, and the direction of the motion vector is directed in the opposite direction to the B picture, and within the B picture (of the B picture to be coded) When the direction of all motion vectors of the neighboring macroblocks is a motion vector opposite to the adjacent picture, it is determined that there is no motion between the B picture and the adjacent picture. Method for determining the existence of motion between adjacent pictures. 제 1항에 있어서,The method of claim 1, 상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단함에 있어,In determining whether there is motion between the B picture and an adjacent picture, 상기 인접한 픽쳐의 (B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 인트라 모드를 가지고, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모션벡터가 모두 단일 방향을 가리키며, 그 방향이 상기 인접한 픽쳐의방향인 경우에는, 상기 B 픽쳐와 인접한 픽쳐 사이에 모션이 존재하는 것으로 판단하는 것을 특징으로 하는 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 판단 방법.Macroblocks of the same position (with macroblocks of B pictures) of the adjacent pictures have an intra mode, and motion vectors of neighboring macroblocks (of macroblocks of B pictures to be coded) in the B picture all point in a single direction, And determining that motion exists between the B picture and the adjacent picture when the direction is the direction of the adjacent picture. 제 1항에 있어서,The method of claim 1, 상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단함에 있어,In determining whether there is motion between the B picture and an adjacent picture, 상기 인접한 픽쳐의 (B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 인트라 모드를 가지고, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모션벡터가 모두 단일 방향을 가리키며, 그 방향이 상기 인접한 픽쳐와 반대 방향인 경우에는, 상기 B 픽쳐와 인접한 픽쳐 사이에 모션이 존재하지 않는 것으로 판단하는 것을 특징으로 하는 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 판단 방법.Macroblocks of the same position (with macroblocks of B pictures) of the adjacent pictures have an intra mode, and motion vectors of neighboring macroblocks (of macroblocks of B pictures to be coded) in the B picture all point in a single direction, And determining that there is no motion between the B picture and the adjacent picture when the direction is opposite to the adjacent picture. 제 1항에 있어서,The method of claim 1, 상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단함에 있어,In determining whether there is motion between the B picture and an adjacent picture, 상기 인접한 픽쳐의 (B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 인트라 모드를 가지고, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모션벡터가 포워드 방향 및 백워드 방향을 모두 갖는 경우에는, 상기 B 픽쳐를 중심으로 양방향 모두 모션이 존재하는 것으로 판단하는 것을 특징으로 하는 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 판단 방법.The macroblock of the same position (with the macroblock of the B picture) of the adjacent picture has an intra mode, and the motion vector of the surrounding macroblock (of the macroblock of the B picture to be coded) in the B picture is forward and backward directions. In case of having both, the motion presence determination method between the B picture and the adjacent picture, characterized in that it is determined that the motion in both directions around the B picture. 동영상에 대한 디스플레이 순서와 디코딩 순서가 다른 스킴에 있어,In a scheme where the display order and decoding order for a video are different, 디코딩되는 시간을 기준으로 뒤에 따라 나오는 레퍼런스 픽쳐(서브시퀀트 픽쳐)를 (코딩하고자 하는)B 픽쳐와 시간적 중복성을 갖는 픽쳐로 판단하며, 상기 서브시퀀트 픽쳐와 상기 B 픽쳐 사이의 모션 존재 여부를 검사하여, 모션이 존재하는 경우에는 상기 서브시퀀트 픽쳐의 매크로블록이 가지는 모션벡터를 참조하여 (시간적 중복성을 이용한)다이렉트 모션벡터를 구하며, 모션이 존재하지 않는 경우에는 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모션벡터를 참조하여 (공간적 중복성을 이용한)다이렉트 모션벡터를 구하는 것을 특징으로 하는 모션벡터의 연산 방법.Based on the time to be decoded, the following reference picture (subsequence picture) is determined as a picture having temporal redundancy with a B picture (to be coded), and whether there is motion between the subsequence picture and the B picture. If a motion exists, a direct motion vector (using temporal redundancy) is obtained by referring to a motion vector of a macroblock of the subsequence picture, and if there is no motion, A method of calculating a motion vector, characterized by obtaining a direct motion vector (using spatial redundancy) by referring to a motion vector of a neighboring macroblock) of a macroblock of a B picture. 제 8항에 있어서,The method of claim 8, 상기 서브시퀀트 픽쳐의 매크로블록이 한 개의 포워드 방향 모션벡터(MV)를 가지는 경우에는, 다음 수학식을 이용하여 다이렉트 모드의 포워드 방향 모션벡터 (MVf)와 백워드 방향 모션벡터(MVb)를 각각 구하는 것을 특징으로 하는 모션벡터의 연산 방법.When the macroblock of the subsequence picture has one forward direction motion vector (MV), the forward direction motion vector (MVf) and the backward direction motion vector (MVb) in the direct mode are respectively expressed by the following equation. Calculating a motion vector. MVf = MV ×TRb / TRdMVf = MV × TRb / TRd MVb = MV ×(TRb - TRd) / TRdMVb = MV × (TRb-TRd) / TRd 여기서, TRd는 상기 서브시퀀트 픽쳐와 MV를 구했던 레퍼런스 픽쳐 사이의 시간적 거리를 나타내며, TRb는 상기 B 픽쳐와 상기 레퍼런스 픽쳐 사이의 시간적 거리를 각각 나타낸다.Here, TRd represents the temporal distance between the subsequence picture and the reference picture for which MV is obtained, and TRb represents the temporal distance between the B picture and the reference picture, respectively. 제 8항에 있어서,The method of claim 8, 상기 서브시퀀트 픽쳐의 매크로블록이 한 개의 백워드 방향 모션벡터를 가지는 경우에는, 상기 서브시퀀트 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단하고, 모션이 존재하지 않는 것으로 판단되면, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)의 포워드 방향 모션벡터를 참조하여, MVf=MVb=median{MVA, MVB, MVC}를 통하여 다이렉트 모션벡터를 구하는 것을 특징으로 하는 모션벡터의 연산 방법.When the macroblock of the subsequence picture has one backward direction motion vector, it is determined whether there is motion between the subsequence picture and the B picture, and when it is determined that there is no motion, the B picture With reference to the forward directional motion vector of the neighboring macroblocks (A, B, C) (of the macroblock of the B picture to be coded), the direct motion vector is determined by MVf = MVb = median {MV A , MV B , MV C } Method of calculating a motion vector, characterized in that to obtain a. 제 10항에 있어서,The method of claim 10, 상기 서브시퀀트 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단함에 있어, 상기 주변 매크로블록 세 개가 모두 포워드 방향의 모션벡터만을 가지는 경우에는, 모션이 존재하지 않는 것으로 판단되는 것을 특징으로 하는 모션벡터의 연산 방법.In determining whether there is motion between the subsequence picture and B picture, when all three neighboring macroblocks have only a motion vector in a forward direction, it is determined that the motion does not exist. Operation method. 제 8항에 있어서,The method of claim 8, 상기 서브시퀀트 픽쳐의 매크로블록이 한 개의 백워드 방향 모션벡터를 가지는 경우에는, 상기 서브시퀀트 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단하고, 모션이 존재하는 것으로 판단되면, 상기 B 픽쳐와 서브시퀀트 픽쳐의 레퍼런스 픽쳐 사이의 제 1 다이렉트 모션벡터와, 상기 B 픽쳐와 서브시퀀트 픽쳐 사이의 제 2다이렉트 모션벡터를 구하는 것을 특징으로 하는 모션벡터의 연산 방법.When the macroblock of the subsequence picture has one backward direction motion vector, it is determined whether there is motion between the subsequence picture and the B picture. And calculating a first direct motion vector between the reference pictures of the subsequence picture and a second direct motion vector between the B picture and the subsequence picture. 제 12항에 있어서,The method of claim 12, 상기 서브시퀀트 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단함에 있어, 상기 주변 매크로블록 중에서 적어도 하나 이상의 매크로블록이 백워드 방향의 모션벡터를 가지고 있는 경우에는, 모션이 존재하는 것으로 판단되는 것을 특징으로 하는 모션벡터의 연산 방법.In determining whether motion exists between the subsequence picture and the B picture, when at least one macroblock among the neighboring macroblocks has a motion vector in a backward direction, it is determined that motion exists. Method of calculating the motion vector. 제 8항에 있어서,The method of claim 8, 상기 서브시퀀트 픽쳐의 매크로블록이 한 개의 백워드 방향 모션벡터를 가지며, 상기 주변 매크로블록이 모두 인트라 모드인 경우에는, 상기 B 픽쳐와 서브시퀀트 픽쳐의 레퍼런스 픽쳐 사이의 제 1 다이렉트 모션벡터와, 상기 B 픽쳐와 서브시퀀트 픽쳐 사이의 제 2 다이렉트 모션벡터를 구하는 것을 특징으로 하는 모션벡터의 연산 방법.If the macroblock of the subsequence picture has one backward direction motion vector, and the neighboring macroblocks are all in the intra mode, the first direct motion vector between the B picture and the reference picture of the subsequence picture and And obtaining a second direct motion vector between the B picture and the subsequence picture. 제 8항에 있어서,The method of claim 8, 상기 서브시퀀트 픽쳐의 매크로블록이 두 개의 포워드 방향 모션벡터를 가지는 경우에는, 한 개의 포워드 방향 모션벡터(MVFW)를 선택하고, 다음 수학식을 이용하여 다이렉트 모드의 포워드 방향 모션벡터(MVf)와 백워드 방향 모션벡터(MVb)를 각각 구하는 것을 특징으로 하는 모션벡터의 연산 방법.When the macroblock of the subsequence picture has two forward direction motion vectors, one forward direction motion vector MVFW is selected, and the forward direction motion vector MVf of the direct mode is expressed using the following equation. A method of calculating a motion vector, characterized by obtaining a backward direction motion vector (MVb). MVf = MVFW ×TRb / TRdMVf = MVFW × TRb / TRd MVb = MVFW ×(TRb - TRd) / TRdMVb = MVFW × (TRb-TRd) / TRd 여기서, TRd는 상기 서브시퀀트 픽쳐와 MVFW를 구했던 레퍼런스 픽쳐 사이의 시간적 거리를 나타내며, TRb는 상기 B 픽쳐와 상기 레퍼런스 픽쳐 사이의 시간적 거리를 각각 나타낸다.Here, TRd represents the temporal distance between the subsequence picture and the reference picture from which the MVFW is obtained, and TRb represents the temporal distance between the B picture and the reference picture, respectively. 제 8항에 있어서,The method of claim 8, 상기 서브시퀀트 픽쳐의 매크로블록이 두 개의 백워드 방향 모션벡터를 가지는 경우에는, 한 개의 백워드 방향 모션벡터를 선택하여 상기 서브시퀀트 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단하고, 모션이 존재하지 않는 것으로 판단되면, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)의 포워드 방향 모션벡터를 참조하여, MVf=MVb=median{MVA, MVB, MVC}를 통하여 다이렉트 모션벡터를 구하는 것을 특징으로 하는 모션벡터의 연산 방법.If the macroblock of the subsequence picture has two backward directional motion vectors, one backward directional motion vector is selected to determine whether there is motion between the subsequence picture and the B picture, and the motion is If it is determined not to be present, MVf = MVb = median {MV A , MV with reference to the forward direction motion vector of the surrounding macroblocks A, B, and C (of the macroblock of the B picture to be coded) in the B picture. B , MV C } to obtain a direct motion vector, the method of calculating a motion vector. 제 8항에 있어서,The method of claim 8, 상기 서브시퀀트 픽쳐의 매크로블록이 포워드 방향 모션벡터와 백워드 방향 모션벡터를 각각 가지는 경우에는, 두 개의 모션벡터 중에서 포워드 방향 모션벡터(MVFW)를 선택하고, 다음 수학식을 이용하여 다이렉트 모드의 포워드 방향 모션벡터(MVf)와 백워드 방향 모션벡터(MVb)를 각각 구하는 것을 특징으로 하는 모션벡터의 연산 방법.When the macroblock of the subsequence picture has a forward direction motion vector and a backward direction motion vector, the forward direction motion vector (MVFW) is selected from the two motion vectors, and the following equation is used to determine the direct mode. And a forward direction motion vector (MVf) and a backward direction motion vector (MVb), respectively. MVf = MVFW ×TRb / TRdMVf = MVFW × TRb / TRd MVb = MVFW ×(TRb - TRd) / TRdMVb = MVFW × (TRb-TRd) / TRd 여기서, TRd는 상기 서브시퀀트 픽쳐와 MVFW를 구했던 레퍼런스 픽쳐 사이의 시간적 거리를 나타내며, TRb는 상기 B 픽쳐와 상기 레퍼런스 픽쳐 사이의 시간적 거리를 각각 나타낸다.Here, TRd represents the temporal distance between the subsequence picture and the reference picture from which the MVFW is obtained, and TRb represents the temporal distance between the B picture and the reference picture, respectively. 제 8항에 있어서,The method of claim 8, 상기 서브시퀀트 픽쳐의 매크로블록이 인트라 모드이며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)이 모두 포워드 방향의 모션벡터만을 가지고 있는 경우에는, 상기 주변 매크로블록의 포워드 방향 모션벡터를 참조하여, MVf=MVb=median{MVA, MVB, MVC}를 통하여 다이렉트 모션벡터를 구하는 것을 특징으로 하는 모션벡터의 연산 방법.If the macroblock of the subsequence picture is an intra mode, and all of the surrounding macroblocks A, B, and C (of the macroblock of the B picture to be coded) in the B picture have only a motion vector in a forward direction, A method of calculating a motion vector, wherein a direct motion vector is obtained through MVf = MVb = median {MV A , MV B , MV C } with reference to the forward direction motion vector of the neighboring macroblock. 제 8항에 있어서,The method of claim 8, 상기 서브시퀀트 픽쳐의 매크로블록이 인트라 모드이며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)이 모두 백워드 방향의 모션벡터만을 가지고 있는 경우에는, 상기 주변 매크로블록의 백워드 방향 모션벡터를 참조하여, MVf=MVb=median{MVA, MVB, MVC}를 통하여 다이렉트 모션벡터를 구하는 것을 특징으로 하는 모션벡터의 연산 방법.If the macroblock of the subsequence picture is an intra mode and all of the surrounding macroblocks (A, B, C) in the B picture (of the macroblock of the B picture to be coded) have only a motion vector in the backward direction, And a direct motion vector obtained by MVf = MVb = median {MV A , MV B , MV C } with reference to backward motion vectors of the neighboring macroblocks. 제 8항에 있어서,The method of claim 8, 상기 서브시퀀트 픽쳐의 매크로블록이 인트라 모드이며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)이 일부는 포워드 방향의 모션벡터를 가지고 있고 일부는 백워드 방향의 모션벡터를 가지고 있는 경우에는, 상기 주변 매크로블록의 포워드 방향 모션벡터를 참조하여 MVf=median{MVA, MVB, MVC}를 통해 포워드 방향 다이렉트 모션벡터를 구하며, 상기 주변 매크로블록의 백워드 방향 모션벡터를 참조하여 MVb=median{MVA, MVB, MVC}를 통해 백워드 방향 다이렉트 모션벡터를 구하는 것을 특징으로 하는 모션벡터의 연산 방법.The macroblock of the subsequence picture is an intra mode, and the macroblocks A, B, and C (of the macroblock of the B picture to be coded) in the B picture have some motion vectors in the forward direction and some In case of having a backward motion vector, a forward direction direct motion vector is obtained through MVf = median {MV A , MV B , MV C } with reference to the forward direction motion vector of the peripheral macroblock, and the peripheral macro A method of calculating a motion vector, wherein the backward direction direct motion vector is obtained by referring to the backward motion vector of the block through MVb = median {MV A , MV B , MV C }. 제 10항 또는 제 16항에 있어서,The method according to claim 10 or 16, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 A, B, C 중에서 인트라 모드를 갖는 매크로블록이 있는 경우에는, 그 매크로블록의 포워드 방향 모션벡터는 0으로 설정하여 미디언 연산을 수행하는 것을 특징으로 하는 모션벡터의 연산 방법.In performing the median operation, when there is a macroblock having an intra mode among the neighboring macroblocks A, B, and C, the forward direction motion vector of the macroblock is set to 0 to perform the median operation. A motion vector calculation method. 제 10항, 제 16항 또는 제 18항에 있어서,The method according to claim 10, 16 or 18, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 A, B, C 중에서두 개의 포워드 방향 모션벡터를 가지고 있는 매크로블록이 있는 경우에는, 두 개의 포워드 방향 모션벡터 중에서 한 개의 포워드 방향 모션벡터를 선택하여 미디언 연산을 수행하는 것을 특징으로 하는 모션벡터의 연산 방법.In performing the median operation, if there is a macroblock having two forward direction motion vectors among the neighboring macroblocks A, B, and C, one forward direction motion vector is selected from the two forward direction motion vectors. Performing a median operation. 제 10항, 제 16항 또는 제 18항에 있어서,The method according to claim 10, 16 or 18, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 A, B, C가 참조하는 포워드 방향의 레퍼런스 픽쳐가 서로 다를 경우에는, 가장 작은 인덱스를 갖는 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택하는 것을 특징으로 하는 모션벡터의 연산 방법.In performing the median operation, when the reference pictures in the forward direction referenced by the neighboring macroblocks A, B, and C are different from each other, selecting a reference picture having the smallest index as a reference picture of the direct motion vector. A motion vector calculation method. 제 19항에 있어서,The method of claim 19, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 A, B, C 중에서 두 개의 백워드 방향 모션벡터를 가지고 있는 매크로블록이 있는 경우에는, 두 개의 백워드 방향 모션벡터 중에서 한 개의 백워드 방향 모션벡터를 선택하여 미디언 연산을 수행하는 것을 특징으로 하는 모션벡터의 연산 방법.In performing the median operation, if there is a macroblock having two backward motion vectors among the neighboring macroblocks A, B, and C, one backward motion among two backward motion vectors is performed. A method of calculating a motion vector, comprising selecting a vector and performing a median operation. 제 19항에 있어서,The method of claim 19, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 A, B, C가 참조하는 백워드 방향의 레퍼런스 픽쳐가 서로 다를 경우에는, 가장 작은 인덱스를 갖는 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택하는 것을 특징으로 하는 모션벡터의 연산 방법.In performing the median operation, when reference pictures in the backward direction referred to by the neighboring macroblocks A, B, and C are different from each other, a reference picture having the smallest index is selected as a reference picture of a direct motion vector. Method of calculating a motion vector, characterized in that. 제 10항, 제 16항, 제 18항 또는 제 19항에 있어서,The method according to claim 10, 16, 18 or 19, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 중에서 두 개의 매크로블록이 동일한 레퍼런스 픽쳐를 참조하고 있는 경우에는, 그 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택하는 것을 특징으로 하는 모션벡터의 연산 방법.In performing the median operation, when two macroblocks among the neighboring macroblocks refer to the same reference picture, the motion picture is selected as the reference picture of the direct motion vector. Way. 제 10항, 제 16항, 제 18항 또는 제 19항에 있어서,The method according to claim 10, 16, 18 or 19, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 모두 동일한 레퍼런스 픽쳐를 참조하고 있는 경우에는, 그 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택하는 것을 특징으로 하는 모션벡터의 연산 방법.In performing the median operation, when all of the neighboring macroblocks refer to the same reference picture, the reference picture is selected as a reference picture of a direct motion vector. 제 8항에 있어서,The method of claim 8, 상기 서브시퀀트 픽쳐의 매크로블록이 인트라 모드이며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)이 모두 인트라 모드인 경우에는, 포워드 방향 다이렉트 모션벡터는 그 값은 0이고 상기 B 픽쳐의 바로 이전 픽쳐를 참조하여 구하며, 백워드 방향 다이렉트 모션벡터는 그 값은 0이고 상기 서브시퀀트 픽쳐를 참조하여 구하는 것을 특징으로 하는 모션벡터의 연산 방법.If the macroblock of the subsequence picture is an intra mode, and all the macroblocks A, B, and C (in the macroblock of the B picture to be coded) in the B picture are all in an intra mode, a forward direction direct motion vector. The value is 0 and is obtained by referring to the previous picture of the B picture, and the backward direction direct motion vector is 0 and is obtained by referring to the subsequence picture. 동영상에 대한 디스플레이 순서와 디코딩 순서가 동일한 스킴에 있어,For the same display order and decoding order for a video, 디코딩되는 시간을 기준으로 앞에 있는 레퍼런스 픽쳐(프리시딩 픽쳐)를 (코딩하고자 하는)B 픽쳐와 시간적 중복성을 갖는 픽쳐로 판단하며, 상기 프리시딩 픽쳐와 상기 B 픽쳐 사이의 모션 존재 여부를 검사하여, 모션이 존재하는 경우에는 상기 프리시딩 픽쳐의 매크로블록이 가지는 모션벡터를 참조하여 (시간적 중복성을 이용한)다이렉트 모션벡터를 구하며, 모션이 존재하지 않는 경우에는 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모션벡터를 참조하여 (공간적 중복성을 이용한)다이렉트 모션벡터를 구하는 것을 특징으로 하는 모션벡터의 연산 방법.Based on the time to be decoded, the preceding reference picture (preceding picture) is determined as a picture having temporal redundancy with the B picture (to be coded), and the presence of motion between the preseeding picture and the B picture is checked. If a motion is present, a direct motion vector (using temporal redundancy) is obtained by referring to a motion vector of the macroblock of the preseeding picture, and if there is no motion, a B within the B picture (B to be coded) is obtained. A method of calculating a motion vector, characterized by obtaining a direct motion vector (using spatial redundancy) by referring to a motion vector of a macroblock) of a picture. 제 29항에 있어서,The method of claim 29, 상기 프리시딩 픽쳐의 매크로블록이 한 개의 포워드 방향 모션벡터를 가지는 경우에는, 상기 프리시딩 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단하고, 모션이 존재하는 것으로 판단되면, 상기 B 픽쳐와 프리시딩 픽쳐의 레퍼런스 픽쳐 사이의 제 1 다이렉트 모션벡터와, 상기 B 픽쳐와 프리시딩 픽쳐 사이의 제 2 다이렉트 모션벡터를 구하는 것을 특징으로 하는 모션벡터의 연산 방법.When the macroblock of the preseeding picture has one forward direction motion vector, it is determined whether there is motion between the preseeding picture and the B picture, and when it is determined that the motion exists, the B picture and the prefreeze are determined. And a second direct motion vector between the reference picture of the seeding picture and a second direct motion vector between the B picture and the seeding picture. 제 30항에 있어서,The method of claim 30, 상기 프리시딩 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단함에 있어, 상기 B 픽쳐 내 주변 매크로블록 중 적어도 하나의 매크로블록이 포워드 방향의 모션벡터를 가지고 있는 경우에는, 모션이 존재하는 것으로 판단되는 것을 특징으로 하는 모션벡터의 연산 방법.In determining whether there is motion between the pre-seeding picture and the B picture, when at least one macroblock of neighboring macroblocks in the B picture has a motion vector in a forward direction, it is determined that the motion exists. Method of calculating a motion vector, characterized in that. 제 29항에 있어서,The method of claim 29, 상기 프리시딩 픽쳐의 매크로블록이 한 개의 포워드 방향 모션벡터를 가지며, 상기 B 픽쳐 내 주변 매크로블록이 모두 인트라 모드인 경우에는, 상기 B 픽쳐와 프리시딩 픽쳐의 레퍼런스 픽쳐 사이의 제 1 다이렉트 모션벡터와, 상기 B 픽쳐와 프리시딩 픽쳐 사이의 제 2 다이렉트 모션벡터를 구하는 것을 특징으로 하는 모션벡터의 연산 방법.When the macroblock of the preseeding picture has one forward direction motion vector and all of the neighboring macroblocks in the B picture are in the intra mode, a first direct motion between the B picture and the reference picture of the preseeding picture is performed. And a second direct motion vector between the vector and the B picture and the seeding picture. 제 29항에 있어서,The method of claim 29, 상기 프리시딩 픽쳐의 매크로블록이 두 개의 포워드 방향 모션벡터를 가지는 경우에는, 한 개의 포워드 방향 모션벡터를 선택하여 상기 프리시딩 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단하고, 모션이 존재하는 것으로 판단되면, 상기 B 픽쳐와 프리시딩 픽쳐의 레퍼런스 픽쳐 사이의 제 1 다이렉트 모션벡터와, 상기 B 픽쳐와 프리시딩 픽쳐 사이의 제 2 다이렉트 모션벡터를 구하는 것을 특징으로 하는 모션벡터의 연산 방법.When the macroblock of the preseeding picture has two forward direction motion vectors, one forward direction motion vector is selected to determine whether there is motion between the preseeding picture and the B picture, and the motion is present. If it is determined that the first direct motion vector between the B picture and the reference picture of the pre-seeding picture and the second direct motion vector between the B picture and the pre-seeding picture are obtained. . 제 29항에 있어서,The method of claim 29, 상기 프리시딩 픽쳐의 매크로블록이 인트라 모드인 경우에는, 상기 프리시딩픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단하고, 모션이 존재하는 것으로 판단되면, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)의 포워드 방향 모션벡터를 참조하여, MVf=MVb=median{MVA, MVB, MVC}를 통하여 다이렉트 모션벡터를 구하는 것을 특징으로 하는 모션벡터의 연산 방법.When the macroblock of the preseeding picture is an intra mode, it is determined whether there is motion between the preseeding picture and the B picture, and when it is determined that there is motion, the B picture within the B picture (the B picture to be coded) A motion characterized in that a direct motion vector is obtained through MVf = MVb = median {MV A , MV B , MV C } with reference to the forward direction motion vector of the surrounding macroblocks (A, B, C) of the macroblock. How to Operate Vectors. 제 34항에 있어서,The method of claim 34, 상기 프리시딩 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단함에 있어, 상기 주변 매크로블록 중에서 적어도 하나 이상의 매크로블록이 포워드 방향의 모션벡터를 가지는 경우에는 모션이 존재하는 것으로 판단되는 것을 특징으로 하는 모션벡터의 연산 방법.In determining whether there is motion between the preseeding picture and the B picture, when at least one macroblock among the neighboring macroblocks has a motion vector in a forward direction, the motion is determined to exist. How to Operate Vectors. 제 34항에 있어서,The method of claim 34, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 중에서 인트라 모드를 갖는 매클로블록이 있는 경우에는, 그 매크로블록의 포워드 방향 모션벡터는 0으로 설정하여 미디언 연산을 수행하는 것을 특징으로 하는 모션벡터의 연산 방법.In performing the median operation, if there is a macroblock having an intra mode among the neighboring macroblocks, the forward direction motion vector of the macroblock is set to 0 to perform the median operation. How to Operate Vectors. 제 34항에 있어서,The method of claim 34, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 중에서 두 개의포워드 방향 모션벡터를 가지고 있는 매크로블록이 있는 경우에는, 두 개의 포워드 방향 모션벡터 중에서 한 개를 선택하여 미디언 연산을 수행하는 것을 특징으로 하는 모션벡터의 연산 방법.In performing the median operation, when there is a macroblock having two forward direction motion vectors among the neighboring macroblocks, the median operation is performed by selecting one of the two forward direction motion vectors. Method of calculating the motion vector. 제 34항에 있어서,The method of claim 34, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 A, B, C가 참조하는 포워드 방향의 레퍼런스 픽쳐가 서로 다를 경우에는, 가장 작은 인덱스를 갖는 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택하는 것을 특징으로 하는 모션벡터의 연산 방법.In performing the median operation, when the reference pictures in the forward direction referenced by the neighboring macroblocks A, B, and C are different from each other, selecting a reference picture having the smallest index as a reference picture of the direct motion vector. A motion vector calculation method. 제 34항에 있어서,The method of claim 34, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 중에서 두 개의 블록이 동일한 레퍼런스 픽쳐를 참조하고 있는 경우에는, 그 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택하는 것을 특징으로 하는 모션벡터의 연산 방법.In performing the median operation, when two blocks among the neighboring macroblocks refer to the same reference picture, the reference picture is selected as the reference picture of the direct motion vector. . 제 34항에 있어서,The method of claim 34, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 모두 동일한 레퍼런스 픽쳐를 참조하고 있는 경우에는, 그 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택하는 것을 특징으로 하는 모션벡터의 연산 방법.In performing the median operation, when all of the neighboring macroblocks refer to the same reference picture, the reference picture is selected as a reference picture of a direct motion vector. 제 29항에 있어서,The method of claim 29, 상기 프리시딩 픽쳐의 매크로블록이 인트라 모드이며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)이 모두 인트라 모드인 경우에는, 제 1 모션벡터는 그 값은 0이고 상기 프리시딩 픽쳐를 참조하여 구하며, 제 2 모션벡터도 그 값은 0이고 상기 프리시딩 픽쳐를 참조하여 구하는 것을 특징으로 하는 모션벡터의 연산 방법.When the macroblocks of the pre-seeding picture are intra mode, and all the macroblocks A, B, and C (in the macroblock of the B picture to be coded) in the B picture are all in the intra mode, the first motion vector is The value is 0 and is obtained by referring to the preseeding picture, and the second motion vector is also obtained by referring to the preseeding picture.
KR1020020042203A 2002-07-18 2002-07-18 Calculation method for motion vector KR20040008562A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020042203A KR20040008562A (en) 2002-07-18 2002-07-18 Calculation method for motion vector

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020042203A KR20040008562A (en) 2002-07-18 2002-07-18 Calculation method for motion vector

Publications (1)

Publication Number Publication Date
KR20040008562A true KR20040008562A (en) 2004-01-31

Family

ID=37317603

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020042203A KR20040008562A (en) 2002-07-18 2002-07-18 Calculation method for motion vector

Country Status (1)

Country Link
KR (1) KR20040008562A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100488043B1 (en) * 2002-05-03 2005-05-06 엘지전자 주식회사 Generating method of macroblock coding information in MH pictures
KR100746006B1 (en) * 2005-07-19 2007-08-06 삼성전자주식회사 Method and apparatus for encoding and decoding in temporal direct mode hierarchical B structure adaptive
US10063876B2 (en) 2011-06-24 2018-08-28 Hfi Innovation Inc. Method and apparatus for removing redundancy in motion vector predictors

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980080014A (en) * 1997-03-07 1998-11-25 샤운 엘. 맥클린토크 Method and apparatus for coding a digital video picture such as bi-directionally predicted video object plane
WO2000067486A1 (en) * 1999-04-30 2000-11-09 Koninklijke Philips Electronics N.V. Video encoding method with selection of b-frame encoding mode
WO2001033864A1 (en) * 1999-10-29 2001-05-10 Koninklijke Philips Electronics N.V. Video encoding-method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980080014A (en) * 1997-03-07 1998-11-25 샤운 엘. 맥클린토크 Method and apparatus for coding a digital video picture such as bi-directionally predicted video object plane
WO2000067486A1 (en) * 1999-04-30 2000-11-09 Koninklijke Philips Electronics N.V. Video encoding method with selection of b-frame encoding mode
WO2001033864A1 (en) * 1999-10-29 2001-05-10 Koninklijke Philips Electronics N.V. Video encoding-method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Paper (2002. 05.) *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100488043B1 (en) * 2002-05-03 2005-05-06 엘지전자 주식회사 Generating method of macroblock coding information in MH pictures
KR100746006B1 (en) * 2005-07-19 2007-08-06 삼성전자주식회사 Method and apparatus for encoding and decoding in temporal direct mode hierarchical B structure adaptive
US8265156B2 (en) 2005-07-19 2012-09-11 Samsung Electronics Co., Ltd. Video encoding/decoding method and apparatus in temporal direct mode in hierarchical structure
US10063876B2 (en) 2011-06-24 2018-08-28 Hfi Innovation Inc. Method and apparatus for removing redundancy in motion vector predictors
US10097850B2 (en) 2011-06-24 2018-10-09 Hfi Innovation Inc. Method and apparatus for removing redundancy in motion vector predictors

Similar Documents

Publication Publication Date Title
US9961364B2 (en) Method and apparatus of temporal motion vector prediction
EP1672931B1 (en) Calculation method for predicted motion vector
US9602833B2 (en) Method and apparatus for deriving temporal motion vector prediction
EP2643970B1 (en) Method and apparatus of spatial motion vector prediction
AU2003204477B2 (en) Encoding and decoding video data
US8755437B2 (en) Method and apparatus for derivation of spatial motion vector candidate and motion vector prediction candidate
JP4625132B2 (en) Derivation method of direct mode motion vector
MXPA06003925A (en) Direct mode derivation process for error concealment.
Itani et al. Adaptive direct vector derivation for video coding
KR100494829B1 (en) Method of determining motion vector
KR20040008562A (en) Calculation method for motion vector
KR100281924B1 (en) Interlaced Schematic and Image Information Coding Method and Encoder
KR20050049465A (en) Method for predicting image
KR100293445B1 (en) Method for coding motion vector
KR100488044B1 (en) Implicit block weighting selection for prediction signal in B pictures
KR20080085812A (en) Method of determining motion vector
KR20080076872A (en) Method of determining motion vector
KR20050067117A (en) Method of determining motion vector

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application