KR20040008562A - 모션벡터 연산 방법 - Google Patents

모션벡터 연산 방법 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
English (en)
Inventor
전병문
소윤성
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020020042203A priority Critical patent/KR20040008562A/ko
Publication of KR20040008562A publication Critical patent/KR20040008562A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

본 발명에 따른 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 판단 방법은, 상기 인접한 픽쳐에서 (코딩하려는 B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 가지고 있는 모션벡터의 방향성 정보와, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록이 가지고 있는 모션벡터의 방향성 정보를 참조하여, 상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단하는 점에 그 특징이 있다.
또한, 본 발명에 따른 모션벡터 연산 방법은, 동영상에 대한 디스플레이 순서와 디코딩 순서가 다른 스킴에 있어, 디코딩되는 시간을 기준으로 뒤에 따라 나오는 레퍼런스 픽쳐(서브시퀀트 픽쳐)를 (코딩하고자 하는)B 픽쳐와 시간적 중복성을 갖는 픽쳐로 판단하며, 상기 서브시퀀트 픽쳐와 상기 B 픽쳐 사이의 모션 존재 여부를 검사하여, 모션이 존재하는 경우에는 상기 서브시퀀트 픽쳐의 매크로블록이 가지는 모션벡터를 참조하여 (시간적 중복성을 이용한)다이렉트 모션벡터를 구하며, 모션이 존재하지 않는 경우에는 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모션벡터를 참조하여 (공간적 중복성을 이용한)다이렉트 모션벡터를 구하는 점에 그 특징이 있다.

Description

모션벡터 연산 방법{Calculation method for motion vector}
본 발명은 동영상 코딩 시스템에 관한 것으로서, 특히 차세대 동영상 압축 기술에 정의된 B(Bi-predictive) 픽쳐에서 시간적 중복성(temporal redundancy) 및 공간적 중복성(spatial redundancy) 특징을 이용하여 다이렉트 모드 모션벡터를 추출할 수 있는 모션벡터 연산 방법에 관한 것이다.
알려진 바와 같이, MPEG과 같은 종래의 동영상 압축 기술에서 B 픽쳐 (Bidirectionally predictive-coded picture)는 포워드(forward), 백워드(backward), 양방향(bi-directional), 다이렉트(direct), 그리고 인트라(intra) 모드 등 5 가지 예측모드를 가지고 있다. 여기에서 포워드, 백워드, 양방향 모드는 모드 이름에 방향 정보를 내포하고 있기 때문에 모드 이름을 보고 모션벡터의 방향성을 파악할 수 있다. 그리고, 다이렉트 모드는 인접한 두 픽쳐 사이에 모션 연속성이 일정하게 유지된다는 시간적 중복성(temporal redundancy) 특성을 이용하여 인접 픽쳐에 있는 동일 위치의 매크로블록의 모션으로부터 양방향의 모션벡터 두개를 유도하게 된다. 이러한 다이렉트 모드는 모션정보를 디코더에 전송하지 않기 때문에 비트율을 감소시킬 수 있는 장점이 있다.
한편, 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'로 표현된다.
또한, 최근 H.264 또는 MPEG-4 part 10과 같은 차세대 동영상 압축 기술들은B 픽쳐를 레퍼런스 픽쳐로서 사용할 수 있도록 권장하고 있다. 따라서 코딩하려는 B 픽쳐의 다이렉트 모드는 인접한 B 픽쳐로부터 모션벡터를 유도하는 경우가 발생될 수도 있다.
도 1은 디스플레이 순서와 디코딩 순서가 서로 다른 스킴의 한 예로써, 'B5'가 현재 코딩하고자 하는 픽쳐일 때, 포워드 레퍼런스 픽쳐 버퍼 및 백워드 레퍼런스 픽쳐 버퍼의 컨텐츠 및 각각의 인덱스 번호를 보여주고 있다. 그리고, 도 2는 디스플레이 순서와 디코딩 순서가 서로 같은 스킴의 한 예로써, 포워드 레퍼런스 픽쳐 버퍼 및 백워드 레퍼런스 픽쳐 버퍼의 컨텐츠 및 각각의 인덱스 번호를 보여주고 있다. 이러한 B 픽쳐를 레퍼런스 픽쳐로 사용하는 동영상 코딩 시스템에서는 디스플레이 순서와 디코딩 순서에 의한 스킴에 따라서, 또한 인접한 픽쳐에 있는 동일 위치의 매크로블록 모드에 따라서, 코딩하고자 하는 B 픽쳐의 다이렉트 모드 모션벡터를 다른 방법으로 구해야만 한다.
종래의 B 픽쳐는 주로 디스플레이 순서와 디코딩 순서가 다른 스킴에서 사용되었고, 따라서 서브시퀀트 픽쳐의 동일 위치에 있는 매크로블록의 모션벡터를 이용하여 다이렉트 모드 모션벡터를 구하였다. 그러나, 종래의 방법은 B 픽쳐의 예측 모드가 방향성 정보를 내포하는 간단한 형태의 모드로서 정의되고 있었으며, B 픽쳐가 레퍼런스 픽쳐로 사용되지 않고 오직 P 픽쳐만이 B 픽쳐의 서브시퀀트 픽쳐로서 사용되었기 때문에 두 픽쳐 사이는 항상 모션이 존재한다고 가정할 수 있었다.
한편 상기에서 설명된 바와 같이, 최근의 차세대 영상압축 시스템에서는 B 픽쳐 정의가 확장되어졌고 또한 레퍼런스 픽쳐로서 사용될 수 있기 때문에 종래의다이렉트 모드를 최근의 B 픽쳐에 그대로 적용하기에는 문제점이 있다. 또한, B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 검사하고 그 결과에 따라 적응적으로 다이렉트 모션 벡터를 구하게 되면 높은 코딩 효율을 기대할 수 있게 된다.
본 발명은, 차세대 동영상 압축 기술에 정의된 B(Bi-predictive) 픽쳐에서 시간적 중복성(temporal redundancy) 및 공간적 중복성(spatial redundancy) 특징을 이용한 다이렉트 모드 모션벡터 추출 기법을 제시하여, 다이렉트 모드가 매크로블록의 예측 모드로서 선택될 가능성을 높임으로서 B 픽쳐 코딩 효율(coding efficiency)을 더욱 향상시키도록 하기 위한 모션벡터 연산 방법을 제공함에 그 목적이 있다.
도 1은 일반적인 동영상 코딩 시스템에서, 픽쳐에 대한 디스플레이 순서와 디코딩 순서가 다른 스킴의 예를 나타낸 도면.
도 2는 일반적인 동영상 코딩 시스템에서, 픽쳐에 대한 디스플레이 순서와 디코딩 순서가 동일한 스킴의 예를 나타낸 도면.
도 3은 일반적인 동영상 코딩 시스템에서, 코딩하려는 블록의 주변 매크로블록을 설명하기 위한 도면.
도 4a 내지 도 4i는 일반적인 다이렉트 모드에 있어서, B 픽쳐와 인접한 픽쳐 사이에 발생될 수 있는 각 경우에 대하여 나타낸 도면.
도 5는 본 발명에 따른 모션벡터 연산 방법에 의하여, 서브시퀀트 픽쳐의 매크로블록이 한 개의 포워드 방향 모션벡터를 갖는 경우의 모션벡터 연산을 설명하기 위한 도면.
도 6a 내지 도 6c는 본 발명에 따른 모션벡터 연산 방법에 의하여, 서브시퀀트 픽쳐의 매크로블록이 한 개의 백워드 방향 모션벡터를 갖는 경우의 모션벡터 연산을 설명하기 위한 도면.
도 7은 본 발명에 따른 모션벡터 연산 방법에 의하여, 쌍예측 모드에서 동일 방향의 모션벡터를 구하는 방법을 설명하기 위한 도면.
도 8은 본 발명에 따른 모션벡터 연산 방법에 의하여, 서브시퀀트 픽쳐의 매크로블록이 두 개의 포워드 방향 모션벡터를 갖는 경우의 모션벡터 연산을 설명하기 위한 도면.
도 9a 내지 도 9d는 본 발명에 따른 모션벡터 연산 방법에 의하여, 서브시퀀트 픽쳐의 매크로블록이 인트라 모드인 경우의 모션벡터 연산을 설명하기 위한 도면.
도 10a 및 도 10b는 본 발명에 따른 모션벡터 연산 방법에 의하여, 프리시딩 픽쳐의 매크로블록이 한 개의 포워드 방향 모션벡터를 갖는 경우의 모션벡터 연산을 설명하기 위한 도면.
도 11a 및 도 11b는 본 발명에 따른 모션벡터 연산 방법에 의하여, 프리시딩 픽쳐의 매크로블록이 인트라 모드인 경우의 모션벡터 연산을 설명하기 위한 도면.
상기의 목적을 달성하기 위하여 본 발명에 따른 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 판단 방법은, 상기 인접한 픽쳐에서 (코딩하려는 B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 가지고 있는 모션벡터의 방향성 정보와, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록이 가지고 있는 모션벡터의 방향성 정보를 참조하여, 상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단하는 점에 그 특징이 있다.
여기서 본 발명에 의하면, 상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단함에 있어, 상기 인접한 픽쳐의 (B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 모션벡터를 가지고 있고, 그 모션벡터의 방향이 상기 B 픽쳐 방향으로향하고 있는 경우에는, 상기 B 픽쳐와 인접한 픽쳐 사이에 모션이 존재하는 것으로 판단하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단함에 있어, 상기 인접한 픽쳐의 (B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 모션벡터를 가지고 있고, 그 모션벡터의 방향이 상기 B 픽쳐와 반대 방향으로 향하고 있으며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모션벡터 중에서 적어도 하나의 모션벡터가 상기 인접한 픽쳐 쪽의 방향을 갖는 모션벡터인 경우에는, 상기 B 픽쳐와 인접한 픽쳐 사이에 모션이 존재하는 것으로 판단하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단함에 있어, 상기 인접한 픽쳐의 (B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 모션벡터를 가지고 있고, 그 모션벡터의 방향이 상기 B 픽쳐와 반대 방향으로 향하고 있으며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모든 모션벡터의 방향이 상기 인접한 픽쳐와 반대 방향의 모션벡터인 경우에는, 상기 B 픽쳐와 인접한 픽쳐 사이에 모션이 존재하지 않는 것으로 판단하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단함에 있어, 상기 인접한 픽쳐의 (B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 인트라 모드를 가지고, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모션벡터가 모두 단일 방향을 가리키며, 그 방향이 상기 인접한 픽쳐의 방향인 경우에는, 상기 B 픽쳐와 인접한 픽쳐 사이에 모션이 존재하는 것으로 판단하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단함에 있어, 상기 인접한 픽쳐의 (B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 인트라 모드를 가지고, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모션벡터가 모두 단일 방향을 가리키며, 그 방향이 상기 인접한 픽쳐와 반대 방향인 경우에는, 상기 B 픽쳐와 인접한 픽쳐 사이에 모션이 존재하지 않는 것으로 판단하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단함에 있어, 상기 인접한 픽쳐의 (B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 인트라 모드를 가지고, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모션벡터가 포워드 방향 및 백워드 방향을 모두 갖는 경우에는, 상기 B 픽쳐를 중심으로 양방향 모두 모션이 존재하는 것으로 판단하는 점에 그 특징이 있다.
또한, 상기의 목적을 달성하기 위하여 본 발명에 따른 모션벡터 연산 방법은, 동영상에 대한 디스플레이 순서와 디코딩 순서가 다른 스킴에 있어, 디코딩되는 시간을 기준으로 뒤에 따라 나오는 레퍼런스 픽쳐(서브시퀀트 픽쳐)를 (코딩하고자 하는)B 픽쳐와 시간적 중복성을 갖는 픽쳐로 판단하며, 상기 서브시퀀트 픽쳐와 상기 B 픽쳐 사이의 모션 존재 여부를 검사하여, 모션이 존재하는 경우에는 상기 서브시퀀트 픽쳐의 매크로블록이 가지는 모션벡터를 참조하여 (시간적 중복성을이용한)다이렉트 모션벡터를 구하며, 모션이 존재하지 않는 경우에는 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모션벡터를 참조하여 (공간적 중복성을 이용한)다이렉트 모션벡터를 구하는 점에 그 특징이 있다.
여기서 본 발명에 의하면, 상기 서브시퀀트 픽쳐의 매크로블록이 한 개의 포워드 방향 모션벡터(MV)를 가지는 경우에는, 다음 수학식을 이용하여 다이렉트 모드의 포워드 방향 모션벡터 (MVf)와 백워드 방향 모션벡터(MVb)를 각각 구하는 점에 그 특징이 있다.
MVf = MV ×TRb / TRd
MVb = MV ×(TRb - TRd) / TRd
여기서, TRd는 상기 서브시퀀트 픽쳐와 MV를 구했던 레퍼런스 픽쳐 사이의 시간적 거리를 나타내며, TRb는 상기 B 픽쳐와 상기 레퍼런스 픽쳐 사이의 시간적 거리를 각각 나타낸다.
또한 본 발명에 의하면, 상기 서브시퀀트 픽쳐의 매크로블록이 한 개의 백워드 방향 모션벡터를 가지는 경우에는, 상기 서브시퀀트 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단하고, 모션이 존재하지 않는 것으로 판단되면, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)의 포워드 방향 모션벡터를 참조하여, MVf=MVb=median{MVA, MVB, MVC}를 통하여 다이렉트 모션벡터를 구하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 서브시퀀트 픽쳐와 B 픽쳐 사이의 모션 존재여부를 판단함에 있어, 상기 주변 매크로블록 세 개가 모두 포워드 방향의 모션벡터만을 가지는 경우에는, 모션이 존재하지 않는 것으로 판단되는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 A, B, C 중에서 인트라 모드를 갖는 매크로블록이 있는 경우에는, 그 매크로블록의 포워드 방향 모션벡터는 0으로 설정하여 미디언 연산을 수행하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 A, B, C 중에서 두 개의 포워드 방향 모션벡터를 가지고 있는 매크로블록이 있는 경우에는, 두 개의 포워드 방향 모션벡터 중에서 한 개의 포워드 방향 모션벡터를 선택하여 미디언 연산을 수행하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 A, B, C가 참조하는 포워드 방향의 레퍼런스 픽쳐가 서로 다를 경우에는, 가장 작은 인덱스를 갖는 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 중에서 두 개의 매크로블록이 동일한 레퍼런스 픽쳐를 참조하고 있는 경우에는, 그 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 모두 동일한 레퍼런스 픽쳐를 참조하고 있는 경우에는, 그 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 서브시퀀트 픽쳐의 매크로블록이 한 개의 백워드 방향 모션벡터를 가지는 경우에는, 상기 서브시퀀트 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단하고, 모션이 존재하는 것으로 판단되면, 상기 B 픽쳐와 서브시퀀트 픽쳐의 레퍼런스 픽쳐 사이의 제 1 다이렉트 모션벡터와, 상기 B 픽쳐와 서브시퀀트 픽쳐 사이의 제 2 다이렉트 모션벡터를 구하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 서브시퀀트 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단함에 있어, 상기 주변 매크로블록 중에서 적어도 하나 이상의 매크로블록이 백워드 방향의 모션벡터를 가지고 있는 경우에는, 모션이 존재하는 것으로 판단되는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 서브시퀀트 픽쳐의 매크로블록이 한 개의 백워드 방향 모션벡터를 가지며, 상기 주변 매크로블록이 모두 인트라 모드인 경우에는, 상기 B 픽쳐와 서브시퀀트 픽쳐의 레퍼런스 픽쳐 사이의 제 1 다이렉트 모션벡터와, 상기 B 픽쳐와 서브시퀀트 픽쳐 사이의 제 2 다이렉트 모션벡터를 구하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 서브시퀀트 픽쳐의 매크로블록이 두 개의 포워드 방향 모션벡터를 가지는 경우에는, 한 개의 포워드 방향 모션벡터(MVFW)를 선택하고, 다음 수학식을 이용하여 다이렉트 모드의 포워드 방향 모션벡터(MVf)와 백워드 방향 모션벡터(MVb)를 각각 구하는 점에 그 특징이 있다.
MVf = MVFW ×TRb / TRd
MVb = MVFW ×(TRb - TRd) / TRd
여기서, TRd는 상기 서브시퀀트 픽쳐와 MVFW를 구했던 레퍼런스 픽쳐 사이의 시간적 거리를 나타내며, TRb는 상기 B 픽쳐와 상기 레퍼런스 픽쳐 사이의 시간적 거리를 각각 나타낸다.
또한 본 발명에 의하면, 상기 서브시퀀트 픽쳐의 매크로블록이 두 개의 백워드 방향 모션벡터를 가지는 경우에는, 한 개의 백워드 방향 모션벡터를 선택하여 상기 서브시퀀트 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단하고, 모션이 존재하지 않는 것으로 판단되면, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)의 포워드 방향 모션벡터를 참조하여, MVf=MVb=median{MVA, MVB, MVC}를 통하여 다이렉트 모션벡터를 구하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 서브시퀀트 픽쳐의 매크로블록이 포워드 방향 모션벡터와 백워드 방향 모션벡터를 각각 가지는 경우에는, 두 개의 모션벡터 중에서 포워드 방향 모션벡터(MVFW)를 선택하고, 다음 수학식을 이용하여 다이렉트 모드의 포워드 방향 모션벡터(MVf)와 백워드 방향 모션벡터(MVb)를 각각 구하는 점에 그 특징이 있다.
MVf = MVFW ×TRb / TRd
MVb = MVFW ×(TRb - TRd) / TRd
여기서, TRd는 상기 서브시퀀트 픽쳐와 MVFW를 구했던 레퍼런스 픽쳐 사이의시간적 거리를 나타내며, TRb는 상기 B 픽쳐와 상기 레퍼런스 픽쳐 사이의 시간적 거리를 각각 나타낸다.
또한 본 발명에 의하면, 상기 서브시퀀트 픽쳐의 매크로블록이 인트라 모드이며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)이 모두 포워드 방향의 모션벡터만을 가지고 있는 경우에는, 상기 주변 매크로블록의 포워드 방향 모션벡터를 참조하여, MVf=MVb=median{MVA, MVB, MVC}를 통하여 다이렉트 모션벡터를 구하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 서브시퀀트 픽쳐의 매크로블록이 인트라 모드이며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)이 모두 백워드 방향의 모션벡터만을 가지고 있는 경우에는, 상기 주변 매크로블록의 백워드 방향 모션벡터를 참조하여, MVf=MVb=median{MVA, MVB, MVC}를 통하여 다이렉트 모션벡터를 구하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 서브시퀀트 픽쳐의 매크로블록이 인트라 모드이며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)이 일부는 포워드 방향의 모션벡터를 가지고 있고 일부는 백워드 방향의 모션벡터를 가지고 있는 경우에는, 상기 주변 매크로블록의 포워드 방향 모션벡터를 참조하여 MVf=median{MVA, MVB, MVC}를 통해 포워드 방향 다이렉트 모션벡터를 구하며, 상기 주변 매크로블록의 백워드 방향 모션벡터를 참조하여 MVb=median{MVA, MVB,MVC}를 통해 백워드 방향 다이렉트 모션벡터를 구하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 서브시퀀트 픽쳐의 매크로블록이 인트라 모드이며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)이 모두 인트라 모드인 경우에는, 포워드 방향 다이렉트 모션벡터는 그 값은 0이고 상기 B 픽쳐의 바로 이전 픽쳐를 참조하여 구하며, 백워드 방향 다이렉트 모션벡터는 그 값은 0이고 상기 서브시퀀트 픽쳐를 참조하여 구하는 점에 그 특징이 있다.
또한, 상기의 목적을 달성하기 위하여 본 발명에 따른 모션벡터 연산 방법의 다른 실시 예는, 동영상에 대한 디스플레이 순서와 디코딩 순서가 동일한 스킴에 있어, 디코딩되는 시간을 기준으로 앞에 있는 레퍼런스 픽쳐(프리시딩 픽쳐)를 (코딩하고자 하는)B 픽쳐와 시간적 중복성을 갖는 픽쳐로 판단하며, 상기 프리시딩 픽쳐와 상기 B 픽쳐 사이의 모션 존재 여부를 검사하여, 모션이 존재하는 경우에는 상기 프리시딩 픽쳐의 매크로블록이 가지는 모션벡터를 참조하여 (시간적 중복성을 이용한)다이렉트 모션벡터를 구하며, 모션이 존재하지 않는 경우에는 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모션벡터를 참조하여 (공간적 중복성을 이용한)다이렉트 모션벡터를 구하는 점에 그 특징이 있다.
여기서 본 발명에 의하면, 상기 프리시딩 픽쳐의 매크로블록이 한 개의 포워드 방향 모션벡터를 가지는 경우에는, 상기 프리시딩 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단하고, 모션이 존재하는 것으로 판단되면, 상기 B 픽쳐와 프리시딩픽쳐의 레퍼런스 픽쳐 사이의 제 1 다이렉트 모션벡터와, 상기 B 픽쳐와 프리시딩 픽쳐 사이의 제 2 다이렉트 모션벡터를 구하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 프리시딩 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단함에 있어, 상기 B 픽쳐 내 주변 매크로블록 중 적어도 하나의 매크로블록이 포워드 방향의 모션벡터를 가지고 있는 경우에는, 모션이 존재하는 것으로 판단되는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 프리시딩 픽쳐의 매크로블록이 한 개의 포워드 방향 모션벡터를 가지며, 상기 B 픽쳐 내 주변 매크로블록이 모두 인트라 모드인 경우에는, 상기 B 픽쳐와 프리시딩 픽쳐의 레퍼런스 픽쳐 사이의 제 1 다이렉트 모션벡터와, 상기 B 픽쳐와 프리시딩 픽쳐 사이의 제 2 다이렉트 모션벡터를 구하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 프리시딩 픽쳐의 매크로블록이 두 개의 포워드 방향 모션벡터를 가지는 경우에는, 한 개의 포워드 방향 모션벡터를 선택하여 상기 프리시딩 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단하고, 모션이 존재하는 것으로 판단되면, 상기 B 픽쳐와 프리시딩 픽쳐의 레퍼런스 픽쳐 사이의 제 1 다이렉트 모션벡터와, 상기 B 픽쳐와 프리시딩 픽쳐 사이의 제 2 다이렉트 모션벡터를 구하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 프리시딩 픽쳐의 매크로블록이 인트라 모드인 경우에는, 상기 프리시딩 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단하고, 모션이 존재하는 것으로 판단되면, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)의 포워드 방향 모션벡터를 참조하여, MVf=MVb=median{MVA, MVB, MVC}를 통하여 다이렉트 모션벡터를 구하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 프리시딩 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단함에 있어, 상기 주변 매크로블록 중에서 적어도 하나 이상의 매크로블록이 포워드 방향의 모션벡터를 가지는 경우에는 모션이 존재하는 것으로 판단되는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 중에서 인트라 모드를 갖는 매클로블록이 있는 경우에는, 그 매크로블록의 포워드 방향 모션벡터는 0으로 설정하여 미디언 연산을 수행하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 중에서 두 개의 포워드 방향 모션벡터를 가지고 있는 매크로블록이 있는 경우에는, 두 개의 포워드 방향 모션벡터 중에서 한 개를 선택하여 미디언 연산을 수행하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 A, B, C가 참조하는 포워드 방향의 레퍼런스 픽쳐가 서로 다를 경우에는, 가장 작은 인덱스를 갖는 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 중에서 두 개의 블록이 동일한 레퍼런스 픽쳐를 참조하고 있는 경우에는, 그 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 모두 동일한 레퍼런스 픽쳐를 참조하고 있는 경우에는, 그 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 프리시딩 픽쳐의 매크로블록이 인트라 모드이며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)이 모두 인트라 모드인 경우에는, 제 1 모션벡터는 그 값은 0이고 상기 프리시딩 픽쳐를 참조하여 구하며, 제 2 모션벡터도 그 값은 0이고 상기 프리시딩 픽쳐를 참조하여 구하는 점에 그 특징이 있다.
이와 같은 본 발명에 의하면, 차세대 동영상 압축 기술에 정의된 B(Bi-predictive) 픽쳐에서 시간적 중복성(temporal redundancy) 및 공간적 중복성 (spatial redundancy) 특징을 이용한 다이렉트 모드 모션벡터 추출 기법을 제시하여, 다이렉트 모드가 매크로블록의 예측 모드로서 선택될 가능성을 높임으로서 B 픽쳐 코딩 효율(coding efficiency)을 더욱 향상시킬 수 있는 장점이 있다.
본 발명에서는 동영상에 대하여, 디스플레이 순서와 디코딩 순서가 다른 스킴 및 디스플레이 순서와 디코딩 순서가 동일한 스킴에 따라, 다이렉트 모션벡터를 유도하는데 사용되는 인접 픽쳐가 무엇인지를 정의하고, 효과적으로 모션벡터를 구하는 방법에 대해 각각 구분하여 제시하고자 한다.
또한 본 발명에서는, 확장된 정의를 갖는 B 픽쳐에서 시간적 중복성 및 공간적 중복성 특징을 이용하여 효율적인 다이렉트 모션벡터를 유도하는 방법에 대하여 제시하고자 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시 예를 상세히 설명한다.
도 4는 다이렉트 모드의 모션벡터를 구하고자 할 때 인접한 픽쳐 사이에서 발견될 수 있는 모든 경우를 나타낸 것으로서, 도 4a 내지 도 4f는 동영상에 대하여 디스플레이 순서와 디코딩 순서가 다른 스킴의 경우를 나타낸 것이고, 도 4g 내지 도 4i는 동영상에 대하여 디스플레이 순서와 디코딩 순서가 같은 스킴의 경우를 나타낸 것이다.
그리고, 동영상에 대하여 디스플레이 순서와 디코딩 순서가 다른 스킴의 경우 중에서, 도 4a, 도 4c, 도 4e는 서브시퀀트 픽쳐와 B 픽쳐 사이에 모션이 존재하는 것을 쉽게 알 수 있지만, 도 4b, 도 4d, 도 4f는 서브시퀀트 픽쳐가 B 픽쳐 사이의 모션 정보를 갖고 있지 않으므로 B 픽쳐 매크로블록의 주변 매크로블록이 갖는 모션 특성을 관찰하여 두 픽쳐 사이에 모션이 존재하는지 또는 영상 전환이 발생하였는지를 판단하고, 그에 따라 다이렉트 모션벡터를 유도할 필요가 있다.
또한, 동영상에 대하여 디스플레이 순서와 디코딩 순서가 같은 스킴의 경우에 있어, 도 4g, 도 4h, 도 4i도 프리시딩 픽쳐와 B 픽쳐 사이에 모션 정보가 없으므로 동일한 접근이 필요하다.
이하에서는, 동영상에 대하여 디스플레이 순서와 디코딩 순서에 따른 각 경우에 대하여 상세히 살펴 보기로 한다.
[1] 동영상에 대하여 디스플레이 순서와 디코딩 순서가 다른 스킴
B 픽쳐와 인접한 픽쳐의 동일 위치 매크로블록은 포워드 또는 백워드 모드에 의해 한 개 모션벡터를 갖거나, 쌍예측 모드 또는 다이렉트 모드에 의해 두 개의 모션벡터를 갖거나, 인트라 모드일 수 있다.
본 발명은 인접한 픽쳐에 있는 동일 위치의 매크로블록의 모션벡터 수 및 방향에 따라 다이렉트 모드의 모션벡터를 유도하는 기법을 제안하고, 이 모션벡터들로부터 움직임 보상된 값들을 얻어 평균 또는 보간 연산을 통해 매크로블록 예측 값을 얻도록 한다. 각각의 경우에 대한 다이렉트 모션벡터를 구하는 과정을 자세히 설명하면 다음과 같다.
[1.0] 시간적 중복성 특징을 갖는 인접 픽쳐
이 스킴에서는 이미 디코딩된 시간적으로 뒤에 따라 나오는 레퍼런스 픽쳐 (decoded temporally-following reference picture)를 B 픽쳐와 시간적 중복성을 갖는 픽쳐로 판단하여 실제 다이렉트 모션벡터를 유도하는데 사용하기로 한다. 본 발명에서는 이 레퍼런스 픽쳐를 서브시퀀트 픽쳐(subsequent picture)로 부르기로 한다.
[1.1] 서브시퀀트 픽쳐의 매크로블록이 한 개의 포워드 방향 모션벡터를 갖는 경우
도 4a와 같은 경우로, 서브시퀀트 픽쳐의 매크로블록이 한 개의 포워드 방향 모션벡터를 갖고 있는 경우이다. 이것은 종래의 다이렉트 모드에서 사용되는 방법으로서, 도 5에서 보이는 바와 같이, 서브시퀀트 픽쳐와 'MV'를 구했던 레퍼런스 픽쳐 사이의 시간적 거리 'TRd', 그리고 서브시퀀트 픽쳐의 레퍼런스 픽쳐와 코딩하고자 하는 B 픽쳐 사이의 시간적 거리 'TRb'를 구한 후, 아래 [수학식 1]에 'MV', 'TRd', 'TRb'를 대입하여 다이렉트 모드의 포워드 방향 'MVf'와 백워드 방향 'MVb'를 유도해낸다.
[1.2] 서브시퀀트 픽쳐의 매크로블록이 백워드 방향의 한 개 모션벡터를 갖는 경우
도 4b와 같은 경우로, 서브시퀀트 픽쳐의 매크로블록이 한 개의 백워드 방향 모션벡터를 갖고 있는 경우이다. 도 4b에서 보이는 것처럼, B 픽쳐는 서브시퀀트 픽쳐의 백워드 방향 모션벡터로부터 무조건 다이렉트 모션벡터를 유도할 수 없다. 왜냐하면, 만일 두 픽쳐 사이에 장면 전환이 발생하였다면 B 픽쳐는 서브시퀀트 픽쳐와 다른 영상을 의미하는 것이므로 서브시퀀트 픽쳐의 모션으로부터 다이렉트 모션벡터를 유도해서는 안된다. 따라서 B 픽쳐와 서브시퀀트 픽쳐 사이의 모션 존재 여부를 보고 장면 전환이 발생하였는지를 판단하는 것이 중요한 문제가 된다.
본 발명에서는 서브시퀀트 픽쳐가 B 픽쳐 사이와의 모션 정보를 갖고 있지 않을 때, 코딩하는 매크로블록의 모션은 동일 픽쳐 내 주변 매크로블록의 모션과 유사하다는 공간적 중복성(spatial redundancy) 특성을 이용하여, B 픽쳐 자체의 모션정보를 바탕으로 B 픽쳐와 서브시퀀트 픽쳐 사이의 모션 존재 여부 및 장면전환 여부를 판단한다. 만일 장면전환이 발생하였다면 공간적 중복성을 이용하여 B 픽쳐 내의 주변 매크로블록 모션정보로부터 다이렉트 모션벡터를 유도하고, 그렇지 않으면 시간적 중복성을 이용하여 서브시퀀트 픽쳐의 모션정보를 이용하여 다이렉트 모션벡터를 유도한다. 아래에서 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단하는 알고리즘을 보이고 있다.
[B 픽쳐와 인접한 픽쳐 사이의 모션 존재 검사 알고리즘]
1. 인접한 픽쳐의 동일 위치의 매크로블록이 모션벡터를 갖고 있고, 인접한 픽쳐의 모션벡터 방향이 B 픽쳐 방향으로 향하고 있을 때, 두 픽쳐 사이에는 모션이 존재한다고 판단한다.
2. 인접한 픽쳐의 동일 위치의 매크로블록이 모션벡터를 갖고 있고, 인접한 픽쳐의 모션벡터 방향이 B 픽쳐와 반대 방향으로 향하고 있을 때, B 픽쳐 내 주변 매크로블록을 검사한다.
2-1. 주변 매크로블록의 모션벡터 중 어느 한 개라도 인접한 픽쳐 쪽의 방향을 갖는 모션벡터가 존재한다면, 두 픽쳐 사이에 모션이 존재한다고 판단한다.
2-2. 주변 매크로블록의 모든 모션벡터가 인접한 픽쳐와 반대 방향으로 모션방향을 갖고 있으면, 두 픽쳐 사이에 모션이 존재하지 않는다고 판단한다. 즉, 두 픽쳐 사이에 영상 전환이 발생하였다고 판단한다.
2-3. 주변 매크로블록이 모두 인트라 모드이면, 두 픽쳐 사이의 모션 존재 여부를 판단할 수 없다.
3. 인접한 픽쳐의 동일 위치의 매크로블록이 인트라 모드를 갖으면, B 픽쳐 내 주변 매크로블록을 검사한다.
3-1. 주변 매크로블록의 모션벡터가 모두 단일 방향을 가리키고 그 방향이 인접한 픽쳐 쪽이라면, 두 픽쳐 사이에 모션이 존재한다고 판단한다.
3-2. 주변 매크로블록의 모션벡터가 모두 단일 방향을 가리키고 그 방향이 인접한 픽쳐와 반대 방향이라면, 두 픽쳐 사이에 모션이 존재하지 않는다고 판단한다.
3-3. 주변 매크로블록의 모션벡터가 포워드 및 백워드 방향을 모두 갖고 있으면, B 픽쳐를 중심으로 양방향으로 모두 모션이 존재한다고 판단한다.
3-4. 주변 매크로블록이 모두 인트라 모드이면, 두 픽쳐 사이의 모션 존재 여부를 판단할 수 없다.
우선, B 픽쳐의 공간적 중복성을 특징을 이용하는 방법으로서, 도 3과 같은주변 세 개의 매크로블록의 모션벡터의 방향을 검사한다. 이때 발견될 수 있는 경우의 수는 도 6에서 보여지는 세 가지이다. 즉, 도 6a와 같이 주변 세 개의 매크로블록 모두 포워드 방향의 모션벡터만을 갖을 수 있고, 도 6b처럼 어느 한 매크로블록이 백워드 방향의 모션벡터를 갖을 수 있고, 도 6c처럼 모든 매크로블록이 모두 인트라 모드일 수 있다.
먼저, 도 6a의 경우를 살펴 보도록 한다. 주변 세 개 매크로블록이 모두 포워드 방향의 모션벡터만을 갖고 있으므로, B 픽쳐는 시간적으로 앞에 있는 픽쳐들과 높은 연관성(correlation)을 갖지만 서브시퀀트 픽쳐와는 연관성이 매우 낮다고 볼 수 있다. 좀더 자세히 말하면, 주변 매크로블록의 모션정보를 보고, B 픽쳐와 서브시퀀트 픽쳐사이에 영상 전환이 발생했다고 판단할 수 있다. 따라서 코딩하려는 매크로블록은 서브시퀀트 픽쳐의 백워드 방향 모션정보 대신, 공간적 중복성 특성을 이용하여 주변 매크로블록의 포워드 방향 모션정보로부터 포워드 방향 다이렉트 모션벡터를 유도하기로 한다.
이를 위해 본 발명은 포워드 방향의 다이렉트 모션벡터 'MVf'와 'MVb'를 도 3과 같은 주변 매크로블록에서 예측 모션벡터 'PMV'를 구하는 것과 비슷한 방법으로 구한다. 도 3에서 E는 코딩(또는 디코딩)하고자 하는 매크로블록을 나타내고, A, B, C는 주변 매크로블록들로서 이 블록들이 갖고 있는 모션벡터를 각각 'MVA', 'MVB', 'MVC'라고 가정한다.
[공간적 중복성을 이용한 다이렉트 모션벡터 유도 알고리즘]
1. 주변 매크로블록 A, B, C 중 인트라 모드를 갖는 매크로블록이 있으면, 그 매크로블록의 포워드 방향의 모션벡터와 백워드 방향의 모션벡터를 각각 0으로 설정한다.
2. 각 주변 매크로블록은 현재 구하려는 다이렉트 모션벡터 방향과 일치하는 모션벡터만을 골라 미디어 연산에 포함시키도록 한다.
MVf = MVb = median{MVA, MVB, MVC}
3. 만일 주변 매크로블록 중에서 현재 구하려는 다이렉트 모션벡터 방향과 일치하는 모션벡터를 두 개 가지고 있는 매크로블록이 있다면, 그 매크로블록에서는 한 개만을 선택하여 미디언 연산에 포함시키도록 한다.
여기에서, 종래의 예측 모션벡터 'PMV'와 다른 점은 'MVf(또는 MVb)'가 가리키는 레퍼런스 픽쳐도 함께 예측을 해야 한다는 것이다. 본 발명은 'MVf(또는 MVb)'의 레퍼런스 픽쳐를 다음과 같은 방법으로 구한다.
[레퍼런스 픽쳐 예측 알고리즘]
1. 만일 주변 매크로블록 A, B, C가 참조하는 레퍼런스 픽쳐가 서로 다를 경우, 가장 작은 인덱스를 갖는 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택한다.
2. 만일 주변 매크로블록 중 두 개의 블록이 동일한 레퍼런스 픽쳐를 가리키고 있다면, 그 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택한다.
3. 만일 주변 매크로블록 모두 동일한 레퍼런스 픽쳐를 가리키고 있다면, 그 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택한다.
물론, 포워드 방향 레퍼런스 픽쳐 두 개를 갖는 주변 매크로블록이 존재한다면, 두 개의 레퍼런스 픽쳐 중 한 개만을 선택하여 [레퍼런스 픽쳐 예측 알고리즘]에 적용한다. 결론적으로 'MVf'와 'MVb'는 동일하고 두 다이렉트 모션벡터가 가리키는 레퍼런스 픽쳐는 한 개이므로, 이것은 한 개의 모션벡터에 의해 움직임 보상을 하는 것과 동일한 효과를 얻게 된다.
다음으로 도 6b와 같이 주변 매크로블록 중 어느 한 매크로블록이 백워드 방향의 모션벡터를 갖고 있는 경우를 살펴보자. 이것은 B 픽쳐와 서브시퀀트 픽쳐 사이에 모션이 존재한다는 사실을 알려준다. 그리고 서브시퀀트 픽쳐는 자신의 레퍼런스 픽쳐까지 모션이 있으므로, 모션은 B 픽쳐에서 시작하여 서브시퀀트 픽쳐를 거쳐 서브시퀀트 픽쳐의 레퍼런스 픽쳐까지 존재한다고 가정할 수 있다.
이러한 가정하에 본 발명은 'MVf'는 B 픽쳐와 서브시퀀트 픽쳐의 레퍼런스 픽쳐사이의 백워드 방향의 모션벡터, 'MVb'는 B 픽쳐와 서브시퀀트 픽쳐 사이의 백워드 방향의 모션벡터라고 정의한다. 또한 'TRd'는 모션벡터 'MV'를 구했던 레퍼런스 픽쳐와 서브시퀀트 픽쳐 사이의 시간적 거리, 'TRb'는 서브시퀀트 픽쳐의 레퍼런스 픽쳐와 B 픽쳐 사이의 시간적 거리로 정의한다. 따라서 [수학식 1]에 'MV'와'TRd', 'TRb'를 대입함으로서 B 픽쳐 매크로블록의 백워드 방향의 두개 다이렉트 모션벡터 'MVf'와 'MVb'를 유도할 수 있다. 이때 'MVf'와 'MVb'의 첨자 'f'와 'b'는 방향정보가 아닌 다이렉트 모드의 두 모션벡터를 단지 구분하기 위해 사용하였다.
마지막으로 도 6c처럼 주변 세 개 매크로블록이 모두 인트라 모드일 경우를 살펴보자. 이때는 시간적 중복성과 공간적 중복성 특성을 이용해도 B 픽쳐와 서브시퀀트 픽쳐 사이의 모션 존재성과 장면 전환 여부를 모두 판단할 수 없으므로, 도 6b처럼 간주하여 백워드 방향의 두개 다이렉트 모션벡터 'MVf'와 'MVb'를 유도하도록 한다.
[1.3] 서브시퀀트 픽쳐의 매크로블록이 두개의 포워드 방향 모션벡터를 갖는 경우
도 4c와 같은 경우로, 서브시퀀트 픽쳐의 매크로블록이 쌍예측 모드로서 두 개의 모션벡터 'MVFW(=MV1)'과 'MVBW(=MV2)'가 모두 포워드 방향인 경우를 보여준다. 여기에서 'MVFW'와 'MVBW'의 'FW'와 'BW'는 방향 정보가 아닌 두 모션벡터를 구분하기 위해 사용되었음에 주의해야 한다.
서브시퀀트 픽쳐에서 동일 방향의 모션벡터를 구하는 방법은, 도 7에서 보이는 바와 같이 가까운 거리의 레퍼런스 픽쳐에서 최적의 'MVFW(=MV1)'를 먼저 구하고 먼 거리의 레퍼런스 픽쳐로 'MVFW'를 증가(scaling)시켜 그 값을 중심으로 정확한 'MVBW(=MV2)'를 구하게 된다. 따라서, 'MVBW'는 먼저 구한 'MVFW'의 값에 의해결정되어지는 종속 관계가 있다. 본 발명은 두 개의 모션벡터 'MVFW'와 'MVBW' 중 모션벡터 하나를 선택하여 B 픽쳐 의 다이렉트 모션벡터 'MVf'와 'MVb'를 유도할 것을 제안한다.
도 8에서는 'MVFW'를 선택하여 다이렉트 모션벡터를 유도하는 과정을 예로써 보여주고 있다. 이것은 도 5와 같이 한 개의 포워드 모션벡터를 갖고 있는 것과 동일한 경우이므로, 서브섹션 [1.1]에 의해 포워드 다이렉트 모션벡터 'MVf'와 백워드 다이렉트 모션벡터 'MVb'를 유도할 수 있다. 이때 'TRd'와 'TRb'는 모션벡터 'MVFW'를 구했던 레퍼런스 픽쳐와 서브시퀀트 픽쳐 사이의 시간적 거리, 서브시퀀트 픽쳐의 레퍼런스 픽쳐와 B 픽쳐 사이의 시간적 거리를 각각 의미한다.
[1.4] 서브시퀀트 픽쳐의 매크로블록이 두개의 백워드 방향 모션벡터를 갖는 경우
도 4d와 같은 경우로, 서브시퀀트 픽쳐의 매크로블록이 쌍예측 모드를 통해 얻은 두 개의 모션벡터 'MVFW(=MV1)'과 'MVBW(=MV2)'가 모두 백워드 방향인 경우를 보여주고 있다. 쌍예측 모드의 두 개 백워드 방향 모션벡터 'MVFW(=MV1)'과 'MVBW(=MV2)'는 도 7에서와 마찬가지 방법으로 구해지고 'MVBW'는 여전히 먼저 구한 'MVFW'의 값에 의해 결정되어지는 종속 관계가 있다. 또한, 'MVFW'와 'MVBW'를 서브시퀀트 픽쳐의 매크로블록이 다이렉트 모드를 통해 얻은 두 개의 모션벡터 'MVf'과 'MVb'로 생각할 수 있다. 여기에서도 'MVFW'와 'MVBW'의 'FW'와 'BW', 'MVf'와 'MVb'의 'f'와 'b'는 두 모션벡터를 단지 구분하기 위해 사용되었음에 주의해야 한다.
본 발명은 서브섹션 [1.3]과 같이 두 개의 모션벡터 'MVFW(또는 MVf)'와 'MVBW(또는 MVb)' 중 모션벡터 하나를 선택하여 B 픽쳐의 다이렉트 모션벡터 'MVf'와 'MVb'를 유도할 것을 제안한다. 이렇게 하나의 모션벡터가 선택되면 한 개의 백워드 모션벡터를 갖고 있는 도 6과 같은 경우가 되고 따라서 이미 기술한 서브섹션 [1.2]의 방법을 적용하여 다이렉트 모션벡터 'MVf'와 'MVb'를 유도한다.
[1.5] 서브시퀀트 픽쳐의 매크로블록이 포워드 방향 모션벡터와 백워드 방향 모션벡터 두 개를 갖는 경우
도 4e와 같은 경우로, 서브시퀀트 픽쳐의 매크로블록이 쌍예측 모드(또는 다이렉트 모드)에 의해 얻어진 포워드 방향 모션벡터 'MVFW(또는 MVf)'와 백워드 방향 모션벡터 'MVBW(또는 MVb)' 두 개를 갖고 있는 경우이다.
본 발명에서는 시간적 중복성을 이용할 수 있도록 두 개의 모션벡터 중 'MVFW(또는 MVf)'를 선택하여 B 픽쳐의 다이렉트 모션벡터를 유도하기로 한다. 이것은 서브시퀀트 픽쳐 매크로블록이 한 개의 포워드 모션벡터를 갖고 있는 것과 동일하게 간주되므로, 서브섹션 [1.1]과 같은 방법으로 포워드 방향의 다이렉트 모션벡터 'MVf'와 백워드 방향의 모션벡터 'MVb'를 유도한다.
[1.6] 서브시퀀트 픽쳐의 매크로블록이 인트라 모드인 경우
도 4f와 같은 경우로, 서브시퀀트 픽쳐의 매크로블록이 인트라 모드일 때이다. 이 경우에는 서브시퀀트 픽쳐로부터 시간적인 모션정보를 알아낼 수 없으므로 공간적 중복성 특성을 살린 B 픽쳐 내 주변 매크로블록을 검사하여 모션정보를 알아내어야 한다. 가능한 경우의 수는 도 9에 보이는 바와 같이 크게 네 가지로 요약할 수 있다.
우선 도 9a 및 도 9b처럼, 주변 세 개 매크로블록이 인트라 모드를 포함하여 모두 단일 방향의 모션벡터만을 갖고 있으면 B 픽쳐는 한쪽 방향의 픽쳐들과 높은 연관성(correlation)을 갖는 반면 반대쪽 픽쳐와는 연관성이 매우 낮다고 볼 수 있다.
좀더 자세히 말하면, 도 9a는 B 픽쳐와 서브시퀀트 픽쳐사이에 영상 전환이 발생했다고 판단하여, 코딩하려는 매크로블록은 공간적 중복성 특성을 이용하여 주변 매크로블록의 모션정보로부터 포워드 방향의 다이렉트 모션벡터 'MVf(=MVb)'를 유도한다. 그와 반대로, 도 9b는 B 픽쳐와 프리시딩 픽쳐사이에 영상 전환이 발생했다고 판단하여, 코딩하려는 매크로블록은 주변 매크로블록의 모션정보로부터 백워드 방향의 다이렉트 모드 모션벡터 'MVf(=MVb)'를 유도한다.
여기서, 도 9a와 도 9b의 각 방향의 다이렉트 모션벡터는 서브섹션 [1.2]에 소개된 [공간적 중복성을 이용한 다이렉트 모션벡터 유도 알고리즘]을 통해 구하고 레퍼런스 픽쳐는 [레퍼런스 픽쳐 예측 알고리즘]을 적용하여 구한다.
도 9c는 주변 매크로블록 중 일부는 포워드 방향의 모션벡터를, 일부는 백워드 방향의 모션벡터를 갖는 경우를 나타낸 것이다. 주변 매크로블록이 양방향으로 모션벡터를 갖고 있다는 것은 코딩하려는 매크로블록이 어느 방향으로도 모션이 존재할 수 있다는 것을 의미하므로 본 발명은 포워드 방향과 백워드 방향을 갖는 다이렉트 모션벡터를 공간적으로 주변 매크로블록으로부터 구하기로 한다.
이때, 포워드 방향의 모션벡터는 서브섹션 [1.2]의 [공간적 중복성을 이용한 다이렉트 모션벡터 유도 알고리즘], 레퍼런스 픽쳐는 [레퍼런스 픽쳐 예측 알고리즘]을 적용하여 구하고, 백워드 방향에 대해서도 모션벡터와 레퍼런스 픽쳐를 두 알고리즘을 적용하여 구한다.
도 9d는 주변 매크로블록 모두가 인트라 모드일 경우를 보여준다. 이때는 시간적, 공간적으로 B 픽쳐와 프리시딩 픽쳐 또는 서브시퀀트 픽쳐 사이의 모션 존재 여부를 판단할 수 없으므로, 서브시퀀트 픽쳐의 매크로블록이 제로 모션벡터를 가지고 있다고 설정하고 시간적으로 B 픽쳐의 다이렉트 모션벡터 'MVf'와 'MVb'를 구하기로 한다.
따라서, 다이렉트 모션벡터 'MVf'와 'MVb'는 0이 된다. 또한 'MVf'가 참조하는 픽쳐는 B 픽쳐의 바로 이전에 있는 픽쳐를, 그리고 'MVb'는 서브시퀀트 픽쳐를 참조하여 움직임 보상을 하도록 한다. 결과적으로 코딩하려는 B 픽쳐의 매크로블록은 바로 이전 및 바로 이후 픽쳐에 있는 동일 위치의 매크로블록을 평균하여 예측 값을 얻게 된다.
[2] 동영상에 대한 디스플레이 순서와 디코딩 순서가 같은 스킴
동영상 코딩 시스템이 디스플레이 순서와 동일하게 코딩(또는 디코딩)을 수행하는 스킴을 사용하는 경우, 백워드 레퍼런스 픽쳐 버퍼(backward referencepicture buffer)는 코딩하고자 하는 B 픽쳐 이전의 픽쳐들을 컨텐츠로서 갖고 있기 때문에 5 가지 예측 모드 중 백워드 모드는 선택이 안될 가능성이 매우 높다. 그리고, 쌍예측 모드는 오직 포워드/포워드 방향의 모션벡터만을 갖게 된다. 따라서 프리시딩 픽쳐와 B 픽쳐 사이의 모션 연속성을 프리시딩 픽쳐의 모션정보로부터 직접적으로 판단하기 힘들기 때문에, B 픽쳐 내의 공간적 모션정보에 따라 다이렉트 모션벡터를 유도해야 한다.
[2.0] 시간적 중복성 특징을 갖는 인접 픽쳐
이 스킴에서는 시간적으로 뒤에 따라 나오는 픽쳐는 아직 인코딩(또는 디코딩)이 안되었으므로, 이미 디코딩된 시간적으로 앞에 있는 레퍼런스 픽쳐(decoded temporally-preceding reference picture)를 B 픽쳐와 시간적 중복성을 갖는 픽쳐로 판단하여 실제 다이렉트 모션벡터를 유도하는데 사용하기로 한다. 본 발명에서는 이 레퍼런스 픽쳐를 프리시딩 픽쳐라고 부르기로 한다.
[2.1] 프리시딩 픽쳐의 매크로블록이 한 개의 포워드 방향 모션벡터를 갖는 경우
도 4g와 같이 프리시딩 픽쳐에 있는 동일 위치의 매크로블록이 한 개의 포워드 방향 모션벡터를 갖고 있으면, B 픽쳐의 주변 매크로블록의 모션은 도 10a와 도 10b의 두 가지 경우가 존재한다.
도 10a는 주변 매크로블록의 모션벡터를 통해 프리시딩 픽쳐와 B 픽쳐사이에모션이 있음을 보여주고 있다. 이것은 프리시딩 픽쳐의 모션벡터가 프리시딩 픽쳐와 레퍼런스 픽쳐사이에 모션이 있고 이 모션은 B 픽쳐에서 시작하여 프리시딩 픽쳐를 거쳐 프리시딩 픽쳐의 레퍼런스 픽쳐까지 진행되었다고 가정할 수 있다.
이러한 가정하에 본 발명은 'MVf'는 B 픽쳐와 프리시딩 픽쳐의 레퍼런스 픽쳐사이의 모션벡터, 'MVb'는 B 픽쳐와 프리시딩 픽쳐 사이의 모션벡터라고 정의한다. 또한 'TRd'는 모션벡터 'MV'를 구했던 레퍼런스 픽쳐와 프리시딩 픽쳐 사이의 시간적 거리, 'TRb'는 프리시딩 픽쳐의 레퍼런스 픽쳐와 B 픽쳐 사이의 시간적 거리로 정의한다. 따라서, 상기 [수학식 1]에 'MV'와 'TRd', 'TRb'를 대입함으로서 포워드 방향의 다이렉트 모션벡터 'MVf'와 'MVb'를 유도할 수 있다. 이때 'MVf'와 'MVb'의 첨자 'f'와 'b'는 방향정보가 아닌 다이렉트 모드의 두 모션벡터를 단지 구분하기 위해 사용하였다.
그리고, 도 10b는 코딩하고자 하는 B 픽쳐 내 주변 매크로블록(A, B, C)이 모두 인트라 모드인 경우를 보여주고 있다. 따라서, 공간적으로 B 픽쳐의 모션정보를 추출하기는 불가능하고 또한 이미 기술한대로 프리시딩 픽쳐와 B 픽쳐 사이의 시간적인 모션 정보는 알 수 없으므로, 본 발명에서는 이 경우에도 도 10a로 간주하여 포워드 방향의 다이렉트 모션벡터 'MVf'와 'MVb'를 'MV'로부터 유도하도록 한다.
[2.2] 프리시딩 픽쳐의 매크로블록이 두 개의 포워드 방향 모션벡터를 갖는 경우
도 4h와 같이 프리시딩 픽쳐의 매크로블록이 포워드 방향의 두 개의 모션벡터 'MVFW(=MV1)'과 'MVBW(=MV2)'를 갖는 경우를 보여준다. 'MVFW'와 'MVBW'를 프리시딩 픽쳐의 매크로블록 내 이 다이렉트 모드를 통해 얻은 두 개의 모션벡터 'MVf'와 'MVb'라고 생각할 수 있다.
이 경우, 본 발명은 두 개의 모션벡터 'MVFW'와 'MVBW' 중 모션벡터 하나를 선택하여 B 픽쳐의 다이렉트 모션벡터 'MVf'와 'MVb'를 유도할 것을 제안한다. 이것은 상기에서 설명된 서브섹션 [2.1]과 동일한 경우로서 B 픽쳐의 포워드 방향 다이렉트 모션벡터 'MVf'와 'MVb'를 유도할 수 있다.
[2.3] 프리시딩 픽쳐의 매크로블록이 인트라 모드인 경우
도 4i와 같이 프리시딩 픽쳐의 매크로블록이 인트라 모드인 경우에는 B 픽쳐의 주변 매크로블록의 모션은 도 11a와 도11b 두 가지 경우가 존재한다. 도 11a는 주변 매크로블록 중 어느 하나라도 포워드 방향 모션벡터를 갖는 경우로서 이것은 이전 픽쳐들과 B 픽쳐사이에 포워드 방향 모션이 있음을 암시한다. 따라서 포워드 방향의 다이렉트 모션벡터 'MVf(=MVb)'를 서브섹션 [1.2]에 소개된 [공간적 중복성을 이용한 다이렉트 모션벡터 유도 알고리즘]을 통해 구하고, 레퍼런스 픽쳐는 [레퍼런스 픽쳐 예측 알고리즘]을 적용하여 구한다.
도 11b는 주변 매크로블록 모두가 인트라 모드일 경우를 보여준다. 이때는 시간적, 공간적으로 B 픽쳐와 프리시딩 픽쳐 사이의 모션 존재 여부를 판단할 수 없으므로, 프리시딩 픽쳐의 매크로블록이 제로 모션벡터를 가지고 있다고 설정하고시간적으로 B 픽쳐의 다이렉트 모션벡터 'MVf'와 'MVb'를 구한다.
따라서 'MVf'와 'MVb'는 0이 된다. 그리고 'MVf', 'MVb' 모두는 코딩하고자 하는 B 픽쳐의 바로 이전에 있는 레퍼런스 픽쳐, 즉 프리시딩 픽쳐를 참조하여 움직임 보상을 하도록 한다. 결과적으로 동일 위치의 프리시딩 픽쳐의 매크로블록을 단순히 복사하는 것과 동일한 결과가 된다.
이상의 설명에서와 같이 본 발명에 따른 모션벡터의 연산 방법에 의하면, 차세대 동영상 압축 기술에 정의된 B(Bi-predictive) 픽쳐에서 시간적 중복성 (temporal redundancy) 및 공간적 중복성(spatial redundancy) 특징을 이용한 다이렉트 모드 모션벡터 추출 기법을 제시하여, 다이렉트 모드가 매크로블록의 예측 모드로서 선택될 가능성을 높임으로서 B 픽쳐 코딩 효율(coding efficiency)을 더욱 향상시킬 수 있는 장점이 있다.

Claims (41)

  1. B 픽쳐(Bi-predictive picture)와 인접한 픽쳐 사이의 모션 존재 여부를 판단함에 있어,
    상기 인접한 픽쳐에서 (코딩하려는 B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 가지고 있는 모션벡터의 방향성 정보와, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록이 가지고 있는 모션벡터의 방향성 정보를 참조하여, 상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단하는 것을 특징으로 하는 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 판단 방법.
  2. 제 1항에 있어서,
    상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단함에 있어,
    상기 인접한 픽쳐의 (B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 모션벡터를 가지고 있고, 그 모션벡터의 방향이 상기 B 픽쳐 방향으로 향하고 있는 경우에는, 상기 B 픽쳐와 인접한 픽쳐 사이에 모션이 존재하는 것으로 판단하는 것을 특징으로 하는 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 판단 방법.
  3. 제 1항에 있어서,
    상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단함에 있어,
    상기 인접한 픽쳐의 (B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 모션벡터를 가지고 있고, 그 모션벡터의 방향이 상기 B 픽쳐와 반대 방향으로 향하고 있으며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모션벡터 중에서 적어도 하나의 모션벡터가 상기 인접한 픽쳐 쪽의 방향을 갖는 모션벡터인 경우에는, 상기 B 픽쳐와 인접한 픽쳐 사이에 모션이 존재하는 것으로 판단하는 것을 특징으로 하는 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 판단 방법.
  4. 제 1항에 있어서,
    상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단함에 있어,
    상기 인접한 픽쳐의 (B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 모션벡터를 가지고 있고, 그 모션벡터의 방향이 상기 B 픽쳐와 반대 방향으로 향하고 있으며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모든 모션벡터의 방향이 상기 인접한 픽쳐와 반대 방향의 모션벡터인 경우에는, 상기 B 픽쳐와 인접한 픽쳐 사이에 모션이 존재하지 않는 것으로 판단하는 것을 특징으로 하는 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 판단 방법.
  5. 제 1항에 있어서,
    상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단함에 있어,
    상기 인접한 픽쳐의 (B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 인트라 모드를 가지고, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모션벡터가 모두 단일 방향을 가리키며, 그 방향이 상기 인접한 픽쳐의방향인 경우에는, 상기 B 픽쳐와 인접한 픽쳐 사이에 모션이 존재하는 것으로 판단하는 것을 특징으로 하는 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 판단 방법.
  6. 제 1항에 있어서,
    상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단함에 있어,
    상기 인접한 픽쳐의 (B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 인트라 모드를 가지고, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모션벡터가 모두 단일 방향을 가리키며, 그 방향이 상기 인접한 픽쳐와 반대 방향인 경우에는, 상기 B 픽쳐와 인접한 픽쳐 사이에 모션이 존재하지 않는 것으로 판단하는 것을 특징으로 하는 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 판단 방법.
  7. 제 1항에 있어서,
    상기 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 여부를 판단함에 있어,
    상기 인접한 픽쳐의 (B 픽쳐의 매크로블록과)동일 위치의 매크로블록이 인트라 모드를 가지고, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모션벡터가 포워드 방향 및 백워드 방향을 모두 갖는 경우에는, 상기 B 픽쳐를 중심으로 양방향 모두 모션이 존재하는 것으로 판단하는 것을 특징으로 하는 B 픽쳐와 인접한 픽쳐 사이의 모션 존재 판단 방법.
  8. 동영상에 대한 디스플레이 순서와 디코딩 순서가 다른 스킴에 있어,
    디코딩되는 시간을 기준으로 뒤에 따라 나오는 레퍼런스 픽쳐(서브시퀀트 픽쳐)를 (코딩하고자 하는)B 픽쳐와 시간적 중복성을 갖는 픽쳐로 판단하며, 상기 서브시퀀트 픽쳐와 상기 B 픽쳐 사이의 모션 존재 여부를 검사하여, 모션이 존재하는 경우에는 상기 서브시퀀트 픽쳐의 매크로블록이 가지는 모션벡터를 참조하여 (시간적 중복성을 이용한)다이렉트 모션벡터를 구하며, 모션이 존재하지 않는 경우에는 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모션벡터를 참조하여 (공간적 중복성을 이용한)다이렉트 모션벡터를 구하는 것을 특징으로 하는 모션벡터의 연산 방법.
  9. 제 8항에 있어서,
    상기 서브시퀀트 픽쳐의 매크로블록이 한 개의 포워드 방향 모션벡터(MV)를 가지는 경우에는, 다음 수학식을 이용하여 다이렉트 모드의 포워드 방향 모션벡터 (MVf)와 백워드 방향 모션벡터(MVb)를 각각 구하는 것을 특징으로 하는 모션벡터의 연산 방법.
    MVf = MV ×TRb / TRd
    MVb = MV ×(TRb - TRd) / TRd
    여기서, TRd는 상기 서브시퀀트 픽쳐와 MV를 구했던 레퍼런스 픽쳐 사이의 시간적 거리를 나타내며, TRb는 상기 B 픽쳐와 상기 레퍼런스 픽쳐 사이의 시간적 거리를 각각 나타낸다.
  10. 제 8항에 있어서,
    상기 서브시퀀트 픽쳐의 매크로블록이 한 개의 백워드 방향 모션벡터를 가지는 경우에는, 상기 서브시퀀트 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단하고, 모션이 존재하지 않는 것으로 판단되면, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)의 포워드 방향 모션벡터를 참조하여, MVf=MVb=median{MVA, MVB, MVC}를 통하여 다이렉트 모션벡터를 구하는 것을 특징으로 하는 모션벡터의 연산 방법.
  11. 제 10항에 있어서,
    상기 서브시퀀트 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단함에 있어, 상기 주변 매크로블록 세 개가 모두 포워드 방향의 모션벡터만을 가지는 경우에는, 모션이 존재하지 않는 것으로 판단되는 것을 특징으로 하는 모션벡터의 연산 방법.
  12. 제 8항에 있어서,
    상기 서브시퀀트 픽쳐의 매크로블록이 한 개의 백워드 방향 모션벡터를 가지는 경우에는, 상기 서브시퀀트 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단하고, 모션이 존재하는 것으로 판단되면, 상기 B 픽쳐와 서브시퀀트 픽쳐의 레퍼런스 픽쳐 사이의 제 1 다이렉트 모션벡터와, 상기 B 픽쳐와 서브시퀀트 픽쳐 사이의 제 2다이렉트 모션벡터를 구하는 것을 특징으로 하는 모션벡터의 연산 방법.
  13. 제 12항에 있어서,
    상기 서브시퀀트 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단함에 있어, 상기 주변 매크로블록 중에서 적어도 하나 이상의 매크로블록이 백워드 방향의 모션벡터를 가지고 있는 경우에는, 모션이 존재하는 것으로 판단되는 것을 특징으로 하는 모션벡터의 연산 방법.
  14. 제 8항에 있어서,
    상기 서브시퀀트 픽쳐의 매크로블록이 한 개의 백워드 방향 모션벡터를 가지며, 상기 주변 매크로블록이 모두 인트라 모드인 경우에는, 상기 B 픽쳐와 서브시퀀트 픽쳐의 레퍼런스 픽쳐 사이의 제 1 다이렉트 모션벡터와, 상기 B 픽쳐와 서브시퀀트 픽쳐 사이의 제 2 다이렉트 모션벡터를 구하는 것을 특징으로 하는 모션벡터의 연산 방법.
  15. 제 8항에 있어서,
    상기 서브시퀀트 픽쳐의 매크로블록이 두 개의 포워드 방향 모션벡터를 가지는 경우에는, 한 개의 포워드 방향 모션벡터(MVFW)를 선택하고, 다음 수학식을 이용하여 다이렉트 모드의 포워드 방향 모션벡터(MVf)와 백워드 방향 모션벡터(MVb)를 각각 구하는 것을 특징으로 하는 모션벡터의 연산 방법.
    MVf = MVFW ×TRb / TRd
    MVb = MVFW ×(TRb - TRd) / TRd
    여기서, TRd는 상기 서브시퀀트 픽쳐와 MVFW를 구했던 레퍼런스 픽쳐 사이의 시간적 거리를 나타내며, TRb는 상기 B 픽쳐와 상기 레퍼런스 픽쳐 사이의 시간적 거리를 각각 나타낸다.
  16. 제 8항에 있어서,
    상기 서브시퀀트 픽쳐의 매크로블록이 두 개의 백워드 방향 모션벡터를 가지는 경우에는, 한 개의 백워드 방향 모션벡터를 선택하여 상기 서브시퀀트 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단하고, 모션이 존재하지 않는 것으로 판단되면, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)의 포워드 방향 모션벡터를 참조하여, MVf=MVb=median{MVA, MVB, MVC}를 통하여 다이렉트 모션벡터를 구하는 것을 특징으로 하는 모션벡터의 연산 방법.
  17. 제 8항에 있어서,
    상기 서브시퀀트 픽쳐의 매크로블록이 포워드 방향 모션벡터와 백워드 방향 모션벡터를 각각 가지는 경우에는, 두 개의 모션벡터 중에서 포워드 방향 모션벡터(MVFW)를 선택하고, 다음 수학식을 이용하여 다이렉트 모드의 포워드 방향 모션벡터(MVf)와 백워드 방향 모션벡터(MVb)를 각각 구하는 것을 특징으로 하는 모션벡터의 연산 방법.
    MVf = MVFW ×TRb / TRd
    MVb = MVFW ×(TRb - TRd) / TRd
    여기서, TRd는 상기 서브시퀀트 픽쳐와 MVFW를 구했던 레퍼런스 픽쳐 사이의 시간적 거리를 나타내며, TRb는 상기 B 픽쳐와 상기 레퍼런스 픽쳐 사이의 시간적 거리를 각각 나타낸다.
  18. 제 8항에 있어서,
    상기 서브시퀀트 픽쳐의 매크로블록이 인트라 모드이며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)이 모두 포워드 방향의 모션벡터만을 가지고 있는 경우에는, 상기 주변 매크로블록의 포워드 방향 모션벡터를 참조하여, MVf=MVb=median{MVA, MVB, MVC}를 통하여 다이렉트 모션벡터를 구하는 것을 특징으로 하는 모션벡터의 연산 방법.
  19. 제 8항에 있어서,
    상기 서브시퀀트 픽쳐의 매크로블록이 인트라 모드이며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)이 모두 백워드 방향의 모션벡터만을 가지고 있는 경우에는, 상기 주변 매크로블록의 백워드 방향 모션벡터를 참조하여, MVf=MVb=median{MVA, MVB, MVC}를 통하여 다이렉트 모션벡터를 구하는 것을 특징으로 하는 모션벡터의 연산 방법.
  20. 제 8항에 있어서,
    상기 서브시퀀트 픽쳐의 매크로블록이 인트라 모드이며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)이 일부는 포워드 방향의 모션벡터를 가지고 있고 일부는 백워드 방향의 모션벡터를 가지고 있는 경우에는, 상기 주변 매크로블록의 포워드 방향 모션벡터를 참조하여 MVf=median{MVA, MVB, MVC}를 통해 포워드 방향 다이렉트 모션벡터를 구하며, 상기 주변 매크로블록의 백워드 방향 모션벡터를 참조하여 MVb=median{MVA, MVB, MVC}를 통해 백워드 방향 다이렉트 모션벡터를 구하는 것을 특징으로 하는 모션벡터의 연산 방법.
  21. 제 10항 또는 제 16항에 있어서,
    상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 A, B, C 중에서 인트라 모드를 갖는 매크로블록이 있는 경우에는, 그 매크로블록의 포워드 방향 모션벡터는 0으로 설정하여 미디언 연산을 수행하는 것을 특징으로 하는 모션벡터의 연산 방법.
  22. 제 10항, 제 16항 또는 제 18항에 있어서,
    상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 A, B, C 중에서두 개의 포워드 방향 모션벡터를 가지고 있는 매크로블록이 있는 경우에는, 두 개의 포워드 방향 모션벡터 중에서 한 개의 포워드 방향 모션벡터를 선택하여 미디언 연산을 수행하는 것을 특징으로 하는 모션벡터의 연산 방법.
  23. 제 10항, 제 16항 또는 제 18항에 있어서,
    상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 A, B, C가 참조하는 포워드 방향의 레퍼런스 픽쳐가 서로 다를 경우에는, 가장 작은 인덱스를 갖는 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택하는 것을 특징으로 하는 모션벡터의 연산 방법.
  24. 제 19항에 있어서,
    상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 A, B, C 중에서 두 개의 백워드 방향 모션벡터를 가지고 있는 매크로블록이 있는 경우에는, 두 개의 백워드 방향 모션벡터 중에서 한 개의 백워드 방향 모션벡터를 선택하여 미디언 연산을 수행하는 것을 특징으로 하는 모션벡터의 연산 방법.
  25. 제 19항에 있어서,
    상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 A, B, C가 참조하는 백워드 방향의 레퍼런스 픽쳐가 서로 다를 경우에는, 가장 작은 인덱스를 갖는 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택하는 것을 특징으로 하는 모션벡터의 연산 방법.
  26. 제 10항, 제 16항, 제 18항 또는 제 19항에 있어서,
    상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 중에서 두 개의 매크로블록이 동일한 레퍼런스 픽쳐를 참조하고 있는 경우에는, 그 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택하는 것을 특징으로 하는 모션벡터의 연산 방법.
  27. 제 10항, 제 16항, 제 18항 또는 제 19항에 있어서,
    상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 모두 동일한 레퍼런스 픽쳐를 참조하고 있는 경우에는, 그 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택하는 것을 특징으로 하는 모션벡터의 연산 방법.
  28. 제 8항에 있어서,
    상기 서브시퀀트 픽쳐의 매크로블록이 인트라 모드이며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)이 모두 인트라 모드인 경우에는, 포워드 방향 다이렉트 모션벡터는 그 값은 0이고 상기 B 픽쳐의 바로 이전 픽쳐를 참조하여 구하며, 백워드 방향 다이렉트 모션벡터는 그 값은 0이고 상기 서브시퀀트 픽쳐를 참조하여 구하는 것을 특징으로 하는 모션벡터의 연산 방법.
  29. 동영상에 대한 디스플레이 순서와 디코딩 순서가 동일한 스킴에 있어,
    디코딩되는 시간을 기준으로 앞에 있는 레퍼런스 픽쳐(프리시딩 픽쳐)를 (코딩하고자 하는)B 픽쳐와 시간적 중복성을 갖는 픽쳐로 판단하며, 상기 프리시딩 픽쳐와 상기 B 픽쳐 사이의 모션 존재 여부를 검사하여, 모션이 존재하는 경우에는 상기 프리시딩 픽쳐의 매크로블록이 가지는 모션벡터를 참조하여 (시간적 중복성을 이용한)다이렉트 모션벡터를 구하며, 모션이 존재하지 않는 경우에는 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록의 모션벡터를 참조하여 (공간적 중복성을 이용한)다이렉트 모션벡터를 구하는 것을 특징으로 하는 모션벡터의 연산 방법.
  30. 제 29항에 있어서,
    상기 프리시딩 픽쳐의 매크로블록이 한 개의 포워드 방향 모션벡터를 가지는 경우에는, 상기 프리시딩 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단하고, 모션이 존재하는 것으로 판단되면, 상기 B 픽쳐와 프리시딩 픽쳐의 레퍼런스 픽쳐 사이의 제 1 다이렉트 모션벡터와, 상기 B 픽쳐와 프리시딩 픽쳐 사이의 제 2 다이렉트 모션벡터를 구하는 것을 특징으로 하는 모션벡터의 연산 방법.
  31. 제 30항에 있어서,
    상기 프리시딩 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단함에 있어, 상기 B 픽쳐 내 주변 매크로블록 중 적어도 하나의 매크로블록이 포워드 방향의 모션벡터를 가지고 있는 경우에는, 모션이 존재하는 것으로 판단되는 것을 특징으로 하는 모션벡터의 연산 방법.
  32. 제 29항에 있어서,
    상기 프리시딩 픽쳐의 매크로블록이 한 개의 포워드 방향 모션벡터를 가지며, 상기 B 픽쳐 내 주변 매크로블록이 모두 인트라 모드인 경우에는, 상기 B 픽쳐와 프리시딩 픽쳐의 레퍼런스 픽쳐 사이의 제 1 다이렉트 모션벡터와, 상기 B 픽쳐와 프리시딩 픽쳐 사이의 제 2 다이렉트 모션벡터를 구하는 것을 특징으로 하는 모션벡터의 연산 방법.
  33. 제 29항에 있어서,
    상기 프리시딩 픽쳐의 매크로블록이 두 개의 포워드 방향 모션벡터를 가지는 경우에는, 한 개의 포워드 방향 모션벡터를 선택하여 상기 프리시딩 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단하고, 모션이 존재하는 것으로 판단되면, 상기 B 픽쳐와 프리시딩 픽쳐의 레퍼런스 픽쳐 사이의 제 1 다이렉트 모션벡터와, 상기 B 픽쳐와 프리시딩 픽쳐 사이의 제 2 다이렉트 모션벡터를 구하는 것을 특징으로 하는 모션벡터의 연산 방법.
  34. 제 29항에 있어서,
    상기 프리시딩 픽쳐의 매크로블록이 인트라 모드인 경우에는, 상기 프리시딩픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단하고, 모션이 존재하는 것으로 판단되면, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)의 포워드 방향 모션벡터를 참조하여, MVf=MVb=median{MVA, MVB, MVC}를 통하여 다이렉트 모션벡터를 구하는 것을 특징으로 하는 모션벡터의 연산 방법.
  35. 제 34항에 있어서,
    상기 프리시딩 픽쳐와 B 픽쳐 사이의 모션 존재 여부를 판단함에 있어, 상기 주변 매크로블록 중에서 적어도 하나 이상의 매크로블록이 포워드 방향의 모션벡터를 가지는 경우에는 모션이 존재하는 것으로 판단되는 것을 특징으로 하는 모션벡터의 연산 방법.
  36. 제 34항에 있어서,
    상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 중에서 인트라 모드를 갖는 매클로블록이 있는 경우에는, 그 매크로블록의 포워드 방향 모션벡터는 0으로 설정하여 미디언 연산을 수행하는 것을 특징으로 하는 모션벡터의 연산 방법.
  37. 제 34항에 있어서,
    상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 중에서 두 개의포워드 방향 모션벡터를 가지고 있는 매크로블록이 있는 경우에는, 두 개의 포워드 방향 모션벡터 중에서 한 개를 선택하여 미디언 연산을 수행하는 것을 특징으로 하는 모션벡터의 연산 방법.
  38. 제 34항에 있어서,
    상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 A, B, C가 참조하는 포워드 방향의 레퍼런스 픽쳐가 서로 다를 경우에는, 가장 작은 인덱스를 갖는 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택하는 것을 특징으로 하는 모션벡터의 연산 방법.
  39. 제 34항에 있어서,
    상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 중에서 두 개의 블록이 동일한 레퍼런스 픽쳐를 참조하고 있는 경우에는, 그 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택하는 것을 특징으로 하는 모션벡터의 연산 방법.
  40. 제 34항에 있어서,
    상기 미디언 연산을 수행함에 있어, 상기 주변 매크로블록 모두 동일한 레퍼런스 픽쳐를 참조하고 있는 경우에는, 그 레퍼런스 픽쳐를 다이렉트 모션벡터의 레퍼런스 픽쳐로 선택하는 것을 특징으로 하는 모션벡터의 연산 방법.
  41. 제 29항에 있어서,
    상기 프리시딩 픽쳐의 매크로블록이 인트라 모드이며, 상기 B 픽쳐 내 (코딩하려는 B 픽쳐의 매크로블록의)주변 매크로블록(A, B, C)이 모두 인트라 모드인 경우에는, 제 1 모션벡터는 그 값은 0이고 상기 프리시딩 픽쳐를 참조하여 구하며, 제 2 모션벡터도 그 값은 0이고 상기 프리시딩 픽쳐를 참조하여 구하는 것을 특징으로 하는 모션벡터의 연산 방법.
KR1020020042203A 2002-07-18 2002-07-18 모션벡터 연산 방법 KR20040008562A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020042203A KR20040008562A (ko) 2002-07-18 2002-07-18 모션벡터 연산 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020042203A KR20040008562A (ko) 2002-07-18 2002-07-18 모션벡터 연산 방법

Publications (1)

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

Family

ID=37317603

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020042203A KR20040008562A (ko) 2002-07-18 2002-07-18 모션벡터 연산 방법

Country Status (1)

Country Link
KR (1) KR20040008562A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100488043B1 (ko) * 2002-05-03 2005-05-06 엘지전자 주식회사 Mh 픽쳐의 매크로블록 코딩정보 생성 방법
KR100746006B1 (ko) * 2005-07-19 2007-08-06 삼성전자주식회사 계층적 구조에 적합하게 시간적 다이렉트 모드로인코딩하며, 디코딩하는 방법 및 장치
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 (ko) * 1997-03-07 1998-11-25 샤운 엘. 맥클린토크 양방향으로 예측된 비디오 객체면과 같은 디지털비디오 화상의 코딩을 위한 방법 및 장치
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 (ko) * 1997-03-07 1998-11-25 샤운 엘. 맥클린토크 양방향으로 예측된 비디오 객체면과 같은 디지털비디오 화상의 코딩을 위한 방법 및 장치
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 (ko) * 2002-05-03 2005-05-06 엘지전자 주식회사 Mh 픽쳐의 매크로블록 코딩정보 생성 방법
KR100746006B1 (ko) * 2005-07-19 2007-08-06 삼성전자주식회사 계층적 구조에 적합하게 시간적 다이렉트 모드로인코딩하며, 디코딩하는 방법 및 장치
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
KR100508798B1 (ko) 쌍방향 예측 블록 예측 방법
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 (ja) ダイレクトモード動きベクトルの導出方法
Itani et al. Adaptive direct vector derivation for video coding
KR100494829B1 (ko) 모션벡터 결정방법
KR20040008562A (ko) 모션벡터 연산 방법
KR100281924B1 (ko) 비월 주사 방식의 형상 및 화상 정보 부호화 방법 및 부호화기
KR20050049465A (ko) 이미지 예측 방법
KR100293445B1 (ko) 움직임벡터코딩방법
KR100488044B1 (ko) B 픽쳐 예측 시그널을 위한 임플리시트 블록 가중치 선택방법
KR20080085812A (ko) 모션벡터 결정방법
KR20080076872A (ko) 모션벡터 결정방법
KR20050067117A (ko) 모션벡터 결정방법

Legal Events

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