KR100494829B1 - 모션벡터 결정방법 - Google Patents

모션벡터 결정방법 Download PDF

Info

Publication number
KR100494829B1
KR100494829B1 KR10-2005-0027771A KR20050027771A KR100494829B1 KR 100494829 B1 KR100494829 B1 KR 100494829B1 KR 20050027771 A KR20050027771 A KR 20050027771A KR 100494829 B1 KR100494829 B1 KR 100494829B1
Authority
KR
South Korea
Prior art keywords
list
picture
motion vector
direct mode
frame
Prior art date
Application number
KR10-2005-0027771A
Other languages
English (en)
Other versions
KR20050042276A (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 엘지전자 주식회사
Publication of KR20050042276A publication Critical patent/KR20050042276A/ko
Application granted granted Critical
Publication of KR100494829B1 publication Critical patent/KR100494829B1/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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61NELECTROTHERAPY; MAGNETOTHERAPY; RADIATION THERAPY; ULTRASOUND THERAPY
    • A61N5/00Radiation therapy
    • A61N5/06Radiation therapy using light
    • A61N2005/0658Radiation therapy using light characterised by the wavelength of light used
    • A61N2005/0659Radiation therapy using light characterised by the wavelength of light used infrared
    • A61N2005/066Radiation therapy using light characterised by the wavelength of light used infrared far infrared

Landscapes

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

Abstract

본 발명에 따른 B 픽쳐의 다이렉트 모드 모션벡터 연산 방법은, 동영상 코딩 시스템에서 B(bi-predictive) 픽쳐의 다이렉트 모드 모션벡터를 추출함에 있어, B 픽쳐의 다이렉트 모드의 list 1 레퍼런스 픽쳐(list 1 reference picture for direct mode)가 상기 B 픽쳐 보다 시간적으로 앞 또는 뒤에 위치하는 경우에, 상기 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록(co-located block )이 가지고 있는, 모션벡터의 모드(list 0 및/또는 list 1)와 관계없이 결정된 모션벡터를 스케일링하여, list 0 모션벡터(MVF)와 list 1 모션벡터(MVB)를 유도하여 B 픽쳐의 다이렉트 모드 모션벡터를 연산한다.
또한, 본 발명에 따른 B 픽쳐의 다이렉트 모드 모션벡터 연산 방법은, list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록이 갖는 모션벡터가 가리키는 레퍼런스 픽쳐를 다이렉트 모드의 list 0 레퍼런스 픽쳐(list 0 reference picture for direct mode)로 결정하여 상기 B 픽쳐의 다이렉트 모드의 모션벡터를 연산하는 것을 특징으로 한다.

Description

모션벡터 결정방법{METHOD OF DETERMINING MOTION VECTOR}
본 발명은 동영상 코딩 방법에 관한 것으로서, 특히 차세대 동영상 압축 기술에 정의된 B(Bi-predictive) 픽쳐에서의 모션벡터 결정 방법에 관한 것이다.
종래 B 픽쳐는 포워드(forward), 백워드(backward), 양방향(bi-directional ), 다이렉트(direct), 그리고 인트라(intra) 모드 등 5 가지 예측모드를 가지고 있다. 여기에서 포워드, 백워드, 양방향 모드는 모드 이름에 방향 정보를 내포하고 있기 때문에 모드 이름을 보고 모션벡터의 방향성을 파악할 수 있다. 그리고, 특히 다이렉트 모드는 인접한 두 픽쳐 사이에 모션 연속성이 일정하게 유지된다는 시간적 중복성(temporal redundancy) 특성을 이용하여 인접 픽쳐에 있는 동일 위치의 블록이 갖는 모션으로부터 양방향의 모션벡터 두개를 유도하게 된다. 이러한 다이렉트 모드는 모션정보를 디코더에 전송하지 않기 때문에 비트율을 감소시킬 수 있는 장점이 있다.
한편, H.264 또는 MPEG-4 part 10과 같은 차세대 동영상 압축 기술에서의 B 픽쳐는 B 픽쳐가 레퍼런스 픽쳐로서 사용되는 것을 허용하기 때문에 B 픽쳐는 레퍼런스 픽쳐 버퍼에 저장될 수 있는 특징이 있다. 또한, B 픽쳐의 예측 모드로서 list 0, list 1, 쌍예측(bi-predictive), 다이렉트(direct), 그리고 인트라(intra) 모드 등을 가지고 있다.
여기서, List 0 모드는 종래의 포워드 모드와 비슷한 모드로서, 모션정보인 레퍼런스 픽쳐 인덱스와 모션벡터 차는 각각 'ref_idx_fwdl0'와 'mvd_l0' 에 표시된다. List 1 모드도 종래 백워드 모드와 비슷하고 모션정보는 각각 ref_idx_l1과 mvd_l1 에 표시된다. 쌍예측 모드는 두 개의 레퍼런스 픽쳐를 갖게 되고 두 레퍼런스 픽쳐의 위치는 B 픽쳐에 비해 모두 시간적으로 앞에 위치하거나 모두 뒤에 위치할 수도 있고, 또는 B 픽쳐를 중심으로 앞뒤로 존재할 수도 있다. 이때 두 레퍼런스 픽쳐 인덱스와 모션벡터 차는 각각 ref_idx_l0, ref_idx_l1, mvd_l0, mvd_l1에 표시되고, 각 레퍼런스 픽쳐는 시간적 위치 정보인 POC(picture order count) 라는 데이터를 갖고 있다.
그리고, 다이렉트 모드는 모션벡터를 유도하기 위해 공간적 기법과 시간적 기법 중 한가지 기법을 선택하여 모션벡터를 구한다. 공간적 기법은 코딩하고자 하는 매크로블록의 주변 블록들로부터 list 0 및 list 1의 레퍼런스 픽쳐 인덱스와 모션벡터를 유도해내는 기법이다. 한편, 시간적 기법은 종래 B 픽쳐에서 사용되는 방법으로써 다이렉트 모드의 list 1 레퍼런스 픽쳐(list 1 reference picture for direct mode)에 있는 동일 위치의 블록이 갖고 있는 list 0 모션 벡터를 스케일링하여 list 0 모션벡터(MVF)와 list 1 모션벡터 (MVB)를 유도한다. 여기서 다이렉트 모드의 list 1 레퍼런스 픽쳐는 list 1 예측을 위한 인덱스가 0인 픽쳐이고, 다이렉트 모드의 list 0 레퍼런스 픽쳐는 list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록이 갖는 list 0 레퍼런스 픽쳐를 사용한다.
도 1은 사용 가능한 list 0와 list 1 레퍼런스 픽쳐 수(또는 short-term buffer 크기)가 6일 때, IBBBP 패턴에서의 각 B 픽쳐에 대한 list 0 예측을 위한 디폴트 인덱스, list 1 예측을 위한 디폴트 인덱스 및 다이렉트 모드의 list 1 레퍼런스 픽쳐를 각각 보여주고 있다. 여기에서 list 0 예측을 위한 디폴트 인덱스와 list 1 예측을 위한 디폴트 인덱스는 디코딩 순서와 관계없이 이미 디코딩된 레퍼런스 픽쳐의 output 순서, 즉 POC 값에 의해 인덱싱이 이루어진다. 도 1에서는 모든 B 픽쳐가 시간적으로 뒤에 따라나오는 P 픽쳐를 다이렉트 모드의 list 1 레퍼런스 픽쳐로써 사용하고 있다.
한편, 도 2는 오직 B 픽쳐만을 사용하는 IBBB 패턴에서의 각 B 픽쳐에 대한 list 0 예측을 위한 디폴트 인덱스, list 1 예측을 위한 디폴트 인덱스 및 다이렉트 모드의 list 1 레퍼런스 픽쳐를 각각 보여준다. 도 2의 (a)는 코딩하는 B 픽쳐가 B8 일 때, list 1의 인덱스 0를 갖는 시간적으로 앞에 위치하는 B5가 다이렉트 모드의 list 1 레퍼런스 픽쳐가 되고, (b)에서 처럼 다음 디코딩 순서인 B7에 대한 다이렉트 모드의 list 1 레퍼런스 픽쳐는 시간적으로 뒤에 위치한 B8이 된다. 마지막으로 (c)와 같이 다음 디코딩 순서인 B9에 대한 다이렉트 모드의 list 1 레퍼런스 픽쳐는 시간적으로 앞에 위치한 B7이 된다.
결론적으로, 도 1과 도 2를 통하여 살펴본 바에 의하면, 다이렉트 모드의 list 1 레퍼런스 픽쳐는 코딩하려는 B 픽쳐보다 시간적으로 뒤에 위치한 P 또는 B 픽쳐가 될 수도 있으며, 또한 시간적으로 앞에 위치한 B 픽쳐가 될 수 있다.
도 3은 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 뒤에 위치할 경우에 동일 위치의 블록(co-located block)이 가질 수 있는 모드를 보여주고 있다. 이때, list 1 레퍼런스 픽쳐는 P 픽쳐 또는 B 픽쳐가 될 수 있으므로 list 1 레퍼런스 픽쳐의 동일 위치에 있는 블록은 한 개 또는 두 개의 모션벡터를 갖거나 인트라 모드를 갖게된다. H.264 또는 MPEG-4 part 10과 같은 차세대 동영상 압축기술은 슬라이스 레벨에서 레퍼런스 픽쳐 인덱스를 리오더링(reordering)하는 것이 허용되므로 list 1 예측을 위한 인덱스 0을 B 픽쳐 바로 뒤에 있는 픽쳐에 할당할 수 있다. 즉, list 1 레퍼런스 픽쳐는 B 픽쳐 바로 뒤에 존재할 수 있으므로 동일 위치의 블록이 갖는 모션벡터는 앞 또는 뒤 방향을 향할 수 있다.
그리고, 도 4는 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 앞에 위치할 경우에 동일 위치의 블록이 가질 수 있는 모드를 보여주고 있다. 앞에서와 같이 동일 위치의 블록은 한 개 또는 두 개의 모션벡터를 갖거나 인트라 모드를 갖는다. 이때 list 1 레퍼런스 픽쳐와 B 픽쳐 사이에 다른 레퍼런스 픽쳐가 존재할 수 있으므로 모션벡터 방향은 시간적으로 앞과 뒤를 향할 수 있다.
도 3 및 도 4에 나타낸 바와 같이, 다이렉트 모드의 list 1 레퍼런스 픽쳐는 다양한 예측 모드를 가질 수 있으므로, 이와 같은 다양한 경우가 고려된 다이렉트 모드의 모션벡터 연산 방법이 모색되어야 할 필요성이 발생된다.
본 발명은, 차세대 동영상 압축 기술에 정의된 B(Bi-predictive) 픽쳐에서 다이렉트 모드 모션벡터 추출 기법을 제시하여, 다이렉트 모드가 매크로블록의 예측 모드로서 선택될 가능성을 높임으로서 B 픽쳐 코딩 효율(coding efficiency)을 향상시킬 수 있는 B 픽쳐의 다이렉트 모드 모션벡터 결정 방법을 제공함에 그 목적이 있다.
상기의 목적을 달성하기 위하여 본 발명에 따른 B 픽쳐의 다이렉트 모드 모션벡터 연산 방법은, list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록이 list 0, list 1 모션벡터를 가지고 있으면 다이렉트 모드의 모션벡터를 유도하기 위해 사용될 모션벡터는 두 가지 방법에 의해 list 0 또는 list 1 모션벡터를 선택하는 점에 그 특징이 있다.
여기서 본 발명에 의하면, list 0, list 1 모션벡터 중 동일 위치의 블록이 존재하는 list 1 레퍼런스 픽쳐에서 시간적 거리가 가까운 모션벡터를 다이렉트 모드의 모션벡터를 유도하는 모션벡터로서 선택하고 만일 두 모션벡터가 동일 레퍼런스를 가리키면 list 0 모션벡터를 다이렉트 모드의 모션벡터를 유도하는 모션벡터로서 선택하는 방법이 있고, 다른 방법은 시간적 거리와 관계없이 무조건 list 0 모션벡터를 다이렉트 모드의 모션벡터를 유도하는 모션벡터로서 선택하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 다이렉트 모드의 모션벡터는 동일위치의 블록이 갖는 list 0 모션벡터로부터 유도된다는 종래 기법을 list 1 레퍼런스 픽쳐의 동일 위치에 있는 블록이 오직 list 1 모션벡터만을 갖고 있는 경우에 적용할 경우, 동일 위치의 블록의 list 0 모션벡터는 0 이므로 다이렉트 모드의 모션벡터는 모두 0이 되는 문제를 발견하고 이것을 해결하기 위해, 본 발명은 동일위치의 블록이 갖는 모드 종류와 관계없이 그 블록이 갖고 있는 모션벡터를 이용하여 다이렉트 모드의 모션벡터를 유도하는 점에 그 특징이 있다.
여기서 본 발명은, list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록이 오직 list 1 모션벡터만을 갖고 있는 경우에 다이렉트 모션벡터를 구할 수 있는 방법을 제시한다. 첫번째 방법은 다이렉트 모드 모션벡터 계산에 사용될 모션벡터 값을 0 으로 하고, 다이렉트 모드의 list 0 레퍼런스 픽쳐(list 0 reference picture for direct mode)는 시간적으로 B 픽쳐 바로 이전 위치에 존재하는 디코딩된 픽쳐라고 정의하는 것을 특징으로 한다. 두번째 방법은 다이렉트 모드 모션벡터 계산에 사용될 모션벡터 값은 동일위치의 블록이 갖고 있는 list 1 모션벡터를 그대로 이용하고, 대신 다이렉트 모드의 list 0 레퍼런스 픽쳐는 시간적으로 B 픽쳐 바로 이전 위치에 존재하는 디코딩된 픽쳐라고 정의하는 점에 그 특징이 있다. 세번째 방법은 다이렉트 모드 모션벡터 계산에 사용될 모션벡터 값은 동일위치의 블록이 갖고 있는 list 1 모션벡터를 그대로 이용하고, list 1 모션벡터가 가리키고 있는 레퍼런스 픽쳐를 다이렉트 모드의 list 0 레퍼런스 픽쳐로 결정하는 것을 특징으로 한다.
또한 본 발명에 의하면, 종래 기법대로 다이렉트 모드의 list 1 레퍼런스 픽쳐를 list 1 예측에 사용되는 인덱스가 0 인 픽쳐로서 정의할 경우, B 픽쳐와 인덱스 0인 픽쳐 사이에 다른 픽쳐가 디코딩될 때 인덱스 0인 픽쳐의 모션정보 및 레퍼런스 픽쳐 정보가 유지되어야 하므로 추가적인 메모리 사용이 필수적이지만 본 발명에서는 다이렉트 모드의 list 1 레퍼런스 픽쳐를 가장 최근에 디코딩된 픽쳐로서 정의함으로써 추가적인 메모리 사용이 절약될 수 있는 특징이 있다.
또한 본 발명에 의하면, 동영상 코딩 시스템에서 B(bi-predictive) 픽쳐의 다이렉트 모드 모션벡터를 추출함에 있어, B 픽쳐의 다이렉트 모드의 list 1 레퍼런스 픽쳐가 상기 B 픽쳐 보다 시간적으로 앞에 위치하는 경우에, 상기 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록(co-located macroblock)이 가지고 있는 모션벡터를 스케일링하여, list 0 모션벡터(MVF)와 list 1 모션벡터 (MVB)를 유도하여 B 픽쳐의 다이렉트 모드 모션벡터를 연산하는 점에 그 특징이 있다.
여기서 본 발명에 의하면, 상기 B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 프레임(frame) 모드이며, 상기 B 픽쳐의 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 앞에 존재할 경우, 상기 B 픽쳐의 다이렉트 모드의 모션벡터 MVF, MVB는 다음식으로부터 산출되는 점에 그 특징이 있다.
MVF = TDB x MV / TDD
MVB = (TDB - TDD) x MV / TDD
또는
Z = TDB x 256 / TDD MVF = (Z x MV + 128) >> 8
W = Z - 256 MVB = (W x MV + 128) >> 8
여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이며, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이고, MV는 상기 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
*또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 프레임 모드이며, 상기 B 픽쳐의 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 뒤에 존재할 경우, 상기 B 픽쳐의 다이렉트 모드의 모션벡터 MVF, MVB는 다음식으로부터 산출되는 점에 그 특징이 있다.
MVF = - TDB x MV / TDD
MVB = - (TDB + TDD) x MV / TDD
또는
Z = - TDB x 256 / TDD MVF = (Z x MV + 128) >> 8
W = Z - 256 MVB = (W x MV + 128) >> 8
여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이며, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이고, MV는 상기 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 피일드(field) 모드이며, 상기 B 픽쳐의 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 앞에 존재할 경우, 상기 B 프레임의 각 피일드 i에 대한 다이렉트 모드의 모션벡터 MVF,i, MVB,i는 다음식으로부터 산출되는 점에 그 특징이 있다.
MVF,i = TDB,i x MVi / TDD,i
MVB,i = (TDB,i - TDD,i) x MVi / TDD,i
또는
Z = TDB,i x 256 / TDD,i MVF,i = (Z x MVi + 128) >> 8
W = Z - 256 MVB,i = (W x MVi + 128) >> 8
여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이며, TDD,i 는 list 1 레퍼런스 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이고, MVi는 상기 다이렉트 모드의 list 1 레퍼런스 피일드에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 피일드(field) 모드이며, 상기 B 픽쳐의 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 뒤에 존재할 경우, 상기 B 프레임의 각 피일드 i에 대한 다이렉트 모드의 모션벡터 MVF,i, MVB,i는 다음식으로부터 산출되는 점에 그 특징이 있다.
MVF,i = - TDB,i x MVi / TDD,i
MVB,i = - (TDB,i + TDD,i) x MVi / TDD,i
또는
Z = -TDB,i x 256 / TDD,i MVF,i = (Z x MVi + 128) >> 8
W = Z - 256 MVB,i = (W x MVi + 128) >>8
여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이며, TDD,i 는 list 1 레퍼런스 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이고, MVi는 상기 다이렉트 모드의 list 1 레퍼런스 피일드에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록이 피일드 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 프레임 모드이며, 상기 B 픽쳐의 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 앞에 존재할 경우, 상기 B 프레임의 각 피일드 i에 대한 다이렉트 모드의 모션벡터 MVF,i, MVB,i는 다음식으로부터 산출되는 점에 그 특징이 있다.
MVF,i = TDB,i x MV / TDD
MVB,i = (TDB,i - TDD) x MV / TDD
또는
Z = TDB,i x 256 / TDD MVF,i = (Z x MV + 128) >> 8
W = Z - 256 MVB,i = (W x MV + 128) >> 8
여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이며, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이고, MV는 상기 다이렉트 모드의 list 1 레퍼런스 프레임에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록이 피일드 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 프레임 모드이며, 상기 B 픽쳐의 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 뒤에 존재할 경우, 상기 B 프레임의 각 피일드 i에 대한 다이렉트 모드의 모션벡터 MVF,i, MVB,i는 다음식으로부터 산출되는 점에 그 특징이 있다.
MVF,i = - TDB,i x MV / TDD
MVB,i = - (TDB,i + TDD) x MV / TDD
또는
Z = - TDB,i x 256 / TDD MVF,i = (Z x MV + 128) >> 8
W = Z - 256 MVB,i = (W x MV + 128) >> 8
여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이며, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이고, MV는 상기 다이렉트 모드의 list 1 레퍼런스 프레임에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록이 프레임 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 피일드 모드이며, 상기 B 픽쳐의 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 앞에 존재할 경우, 상기 B 프레임의 다이렉트 모드의 모션벡터 MVF, MVB는 다음식으로부터 산출되는 점에 그 특징이 있다. 여기서 list 1 레퍼런스 프레임의 피일드 1에 있는 동일 위치의 블록이 갖는 모션정보가 다이렉트 모드의 모션벡터를 구하는데 사용된다.
MVF = TDB x MV1 / TDD,1
MVB = (TDB - TDD,1) x MV1/ TDD,1
또는
Z = TDB x 256 / TDD,1 MVF = (Z x MV1 + 128) >> 8
W = Z - 256 MVB = (W x MV1 + 128) >> 8
여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이며, TDD,1는 list 1 레퍼런스 프레임의 피일드 1과 list 0 레퍼런스 피일드 사이의 시간적 거리이고, MV1는 상기 list 1 레퍼런스 프레임의 피일드 1에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록이 프레임 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 피일드 모드이며, 상기 B 픽쳐의 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 뒤에 존재할 경우, 상기 B 프레임의 다이렉트 모드의 모션벡터 MVF, MVB는 다음식으로부터 산출되는 점에 그 특징이 있다. 여기서 list 1 레퍼런스 프레임의 피일드 1에 있는 동일 위치의 블록이 갖는 모션정보가 다이렉트 모드의 모션벡터를 구하는데 사용된다.
MVF = - TDB x MV1 / TDD,1
MVB = - (TDB + TDD,1) x MV1/ TDD,1
또는
Z = - TDB x 256 / TDD,1 MVF = (Z x MV1 + 128) >> 8
W = Z - 256 MVB = (W x MV1 + 128) >> 8
여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이며, TDD,1는 list 1 레퍼런스 프레임의 피일드 1과 list 0 레퍼런스 피일드 사이의 시간적 거리이고, MV1는 상기 list 1 레퍼런스 프레임의 피일드 1에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
또한 본 발명에 의하면, 상기 B 픽쳐의 다이렉트 모드의 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 두 개의 모션벡터를 가질 경우에는 하나의 모션벡터(list 0 또는 list 1 모션벡터)를 선택하고, 이 선택된 모션벡터로부터 B 픽쳐의 다이렉트 모드의 모션벡터를 유도하는 점에 그 특징이 있다.
또한, 상기의 목적을 달성하기 위하여 본 발명에 따른 B 픽쳐의 다이렉트 모드 모션벡터 연산 방법의 다른 실시 예는,
동영상 코딩 시스템에서 B(bi-predictive) 픽쳐의 다이렉트 모드 모션벡터를 추출함에 있어, B 픽쳐의 다이렉트 모드의 list 0 레퍼런스 픽쳐와 list 1 레퍼런스 픽쳐가 모두 상기 B 픽쳐보다 시간적으로 뒤에 존재할 경우에, 상기 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록(co-located block)이 가지고 있는 모션벡터를 스케일링하여, list 0 모션벡터(MVF)와 list 1 모션벡터(MVB)를 유도하여 B 픽쳐의 다이렉트 모드 모션벡터를 연산하는 점에 그 특징이 있다.
여기서 본 발명에 의하면, 상기 B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 프레임 모드이며, 상기 B 픽쳐의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐에 비해 시간적으로 뒤에 존재하는 경우, 상기 B 픽쳐의 다이렉트 모드의 모션벡터 MVF, MVB는 다음식으로부터 산출되는 점에 그 특징이 있다.
MVF = TDB x MV / TDD
MVB = (TDB - TDD) x MV / TDD
또는
Z = TDB x 256 / TDD MVF = (Z x MV + 128) >> 8
W = Z - 256 MVB = (W x MV + 128) >> 8
여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이며, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이고, MV는 상기 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 프레임 모드이며, 상기 B 픽쳐의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐에 비해 시간적으로 앞에 존재하는 경우, 상기 B 픽쳐의 다이렉트 모드의 모션벡터 MVF, MVB는 다음식으로부터 산출되는 점에 그 특징이 있다.
MVF = - TDB x MV / TDD
MVB = - (TDB + TDD) x MV / TDD
또는
Z = - TDB x 256 / TDD MVF = (Z x MV + 128) >> 8
W = Z - 256 MVB = (W x MV + 128) >> 8
여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이며, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이고, MV는 상기 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 피일드(field) 모드이며, 상기 B 픽쳐의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐에 비해 시간적으로 뒤에 존재하는 경우, 상기 B 프레임의 각 피일드 i에 대한 다이렉트 모드의 모션벡터 MVF,i, MVB,i는 다음식으로부터 산출되는 점에 그 특징이 있다.
MVF,i = TDB,i x MVi / TDD,i
MVB,i = (TDB,i - TDD,i) x MVi / TDD,i
또는
Z = TDB,i x 256 / TDD,i MVF,i = (Z x MVi + 128) >> 8
W = Z - 256 MVB,i = (W x MVi + 128) >> 8
여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이며, TDD,i 는 list 1 레퍼런스 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이고, MVi는 상기 다이렉트 모드의 list 1 레퍼런스 피일드에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 피일드(field) 모드이며, 상기 B 픽쳐의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐에 비해 시간적으로 앞에 존재하는 경우, 상기 B 프레임의 각 피일드 i에 대한 다이렉트 모드의 모션벡터 MVF,i, MVB,i는 다음식으로부터 산출되는 점에 그 특징이 있다.
MVF,i = - TDB,i x MVi / TDD,i
MVB,i = - (TDB,i + TDD,i) x MVi / TDD,i
또는
Z = -TDB,i x 256 / TDD,i MVF,i = (Z x MVi + 128) >> 8
W = Z - 256 MVB,i = (W x MVi + 128) >>8
여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이며, TDD,i 는 list 1 레퍼런스 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이고, MVi는 상기 다이렉트 모드의 list 1 레퍼런스 피일드에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록이 피일드 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 프레임 모드이며, 상기 B 픽쳐의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐에 비해 시간적으로 뒤에 존재하는 경우, 상기 B 프레임의 각 피일드 i에 대한 다이렉트 모드의 모션벡터 MVF,i, MVB,i는 다음식으로부터 산출되는 점에 그 특징이 있다.
MVF,i = TDB,i x MV / TDD
MVB,i = (TDB,i - TDD) x MV / TDD
또는
Z = TDB,i x 256 / TDD MVF,i = (Z x MV + 128) >> 8
W = Z - 256 MVB,i = (W x MV + 128) >> 8
여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이며, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이고, MV는 상기 다이렉트 모드의 list 1 레퍼런스 프레임에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록이 피일드 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 프레임 모드이며, 상기 B 픽쳐의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐에 비해 시간적으로 앞에 존재하는 경우, 상기 B 프레임의 각 피일드 i에 대한 다이렉트 모드의 모션벡터 MVF,i, MVB,i는 다음식으로부터 산출되는 점에 그 특징이 있다.
MVF,i = - TDB,i x MV / TDD
MVB,i = - (TDB,i + TDD) x MV / TDD
또는
Z = - TDB,i x 256 / TDD MVF,i = (Z x MV + 128) >> 8
W = Z - 256 MVB,i = (W x MV + 128) >> 8
여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이며, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이고, MV는 상기 다이렉트 모드의 list 1 레퍼런스 프레임에 있는 동일 위치의 매크로블록이 가지고 있는 모션벡터이다.
또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록이 프레임 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 피일드 모드이며, 상기 B 픽쳐의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐에 비해 시간적으로 뒤에 존재하는 경우, 상기 B 프레임의 다이렉트 모드의 모션벡터 MVF, MVB는 다음식으로부터 산출되는 점에 그 특징이 있다. 여기서 list 1 레퍼런스 프레임의 피일드 0에 있는 동일 위치의 블록이 갖는 모션정보가 다이렉트 모드의 모션벡터를 구하는데 사용된다.
MVF = TDB x MV0 / TDD,1
MVB = (TDB - TDD,0) x MV0/ TDD,0
또는
Z = TDB x 256 / TDD,0 MVF = (Z x MV0 + 128) >> 8
W = Z - 256 MVB = (W x MV0 + 128) >> 8
여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이며, TDD,1는 list 1 레퍼런스 프레임의 피일드 0과 list 0 레퍼런스 피일드 사이의 시간적 거리이고, MV0는 상기 다이렉트 모드를 위한 list 1 레퍼런스 프레임의 피일드 0에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록이 프레임 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 피일드 모드이며, 상기 B 픽쳐의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐에 비해 시간적으로 앞에 존재하는 경우, 상기 B 프레임의 다이렉트 모드의 모션벡터 MVF, MVB는 다음식으로부터 산출되는 점에 그 특징이 있다. 여기서 list 1 레퍼런스 프레임의 피일드 0에 있는 동일 위치의 블록이 갖는 모션정보가 다이렉트 모드의 모션벡터를 구하는데 사용된다.
MVF = - TDB x MV0 / TDD,0
MVB = - (TDB + TDD,0) x MV0/ TDD,0
또는
Z = - TDB x 256 / TDD,0 MVF = (Z x MV0 + 128) >> 8
W = Z - 256 MVB = (W x MV0 + 128) >> 8
여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이며, TDD,1는 list 1 레퍼런스 프레임의 피일드 0과 list 0 레퍼런스 피일드 사이의 시간적 거리이고, MV0는 상기 다이렉트 모드 list 1 레퍼런스 프레임의 피일드 0에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
또한 본 발명에 의하면, 상기 B 픽쳐의 다이렉트 모드의 list 1 레퍼런스 픽쳐의 동일 위치에 있는 블록이 두 개의 모션벡터를 가질 경우에는 하나의 모션벡터(MV1 또는 MV2)를 선택하고, 이 선택된 모션벡터로부터 B 픽쳐의 다이렉트 모드의 모션벡터를 유도하는 점에 그 특징이 있다.
또한, 상기의 목적을 달성하기 위하여 본 발명에 따른 B 픽쳐의 다이렉트 모드 모션벡터 연산 방법의 또 다른 실시 예는,
동영상 코딩 시스템에서 B(bi-predictive) 픽쳐의 다이렉트 모드 모션벡터를 추출함에 있어, 다이렉트 모드 모션벡터를 구하는데 사용하는 수식을 단순화하기 위해 픽쳐 사이의 시간적 거리를 부호가 있는 값으로 표현함으로써 B 픽쳐의 다이렉트 모드의 list 0 레퍼런스 픽쳐와 list 1 레퍼런스 픽쳐의 위치에 관계없이 상기 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록(co-located block)이 가지고 있는 모션벡터를 스케일링하여, list 0 모션벡터 (MVF)와 list 1 모션벡터(MVB)를 유도하여 B 픽쳐의 다이렉트 모드 모션벡터를 연산하는 점에 그 특징이 있다.
여기서 본 발명에 의하면, 상기 B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 프레임 모드일 경우, 상기 B 픽쳐의 다이렉트 모드의 모션벡터 MVF, MVB는 다음식으로부터 산출되는 점에 그 특징이 있다.
MVF = TDB x MV / TDD
MVB = (TDB - TDD) x MV / TDD
또는
Z = TDB x 256 / TDD MVF = (Z x MV + 128) >> 8
W = Z - 256 MVB = (W x MV + 128) >> 8
여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리로써 B 프레임으로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 프레임으로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, TDD는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리로써 list 1 레퍼런스 프레임으로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 프레임으로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, MV는 상기 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 피일드(field) 모드일 경우, 상기 B 프레임의 각 피일드 i에 대한 다이렉트 모드의 모션벡터 MVF,i, MVB,i는 다음식으로부터 산출되는 점에 그 특징이 있다.
MVF,i = TDB,i x MVi / TDD,i
MVB,i = (TDB,i - TDD,i) x MVi / TDD,i
또는
Z = TDB,i x 256 / TDD,i MVF,i = (Z x MVi + 128) >> 8
W = Z - 256 MVB,i = (W x MVi + 128) >> 8
여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리로써 B 피일드로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 피일드로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, TDD,i는 list 1 레퍼런스 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리로써 list 1 레퍼런스 피일드로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 피일드로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, MVi는 상기 다이렉트 모드의 list 1 레퍼런스 피일드에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록이 피일드 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 프레임 모드일 경우, 상기 B 프레임의 각 피일드 i에 대한 다이렉트 모드의 모션벡터 MVF,i, MVB,i는 다음식으로부터 산출되는 점에 그 특징이 있다.
MVF,i = TDB,i x MV / TDD
MVB,i = (TDB,i - TDD) x MV / TDD
또는
Z = TDB,i x 256 / TDD MVF,i = (Z x MV + 128) >> 8
W = Z - 256 MVB,i = (W x MV + 128) >> 8
여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리로써 B 피일드로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 피일드로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, TDD는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리로써 list 1 레퍼런스 프레임으로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 프레임으로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, MV는 상기 다이렉트 모드의 list 1 레퍼런스 프레임에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록이 프레임 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 피일드 모드이며, list 1 레퍼런스 픽쳐가 상기 B 픽쳐보다 시간적으로 뒤에 존재하는 경우, 상기 B 프레임의 다이렉트 모드의 모션벡터 MVF, MVB는 list 1 레퍼런스 프레임의 피일드 0 에 있는 동일 위치의 매크로블록의 모션정보가 다이렉트 모드의 모션벡터를 구하는데 사용되는 다음식으로부터 산출되는 점에 그 특징이 있다.
MVF = TDB x MV0 / TDD,0
MVB = (TDB - TDD,0) x MV0/ TDD,0
또는
Z = TDB x 256 / TDD,0 MVF = (Z x MV0 + 128) >> 8
W = Z - 256 MVB = (W x MV0 + 128) >> 8
여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리로써 B 프레임으로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 프레임으로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, TDD,0는 list 1 레퍼런스 프레임의 피일드 0과 list 0 레퍼런스 피일드 사이의 시간적 거리로써 list 1 레퍼런스 프레임의 피일드 0으로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 피일드로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, MV0는 상기 다이렉트 모드의 list 1 레퍼런스 프레임의 피일드 0에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
또한 본 발명에 의하면, 상기 B 픽쳐의 매크로블록이 프레임 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 피일드 모드이며, list 1 레퍼런스 픽쳐가 상기 B 픽쳐보다 시간적으로 앞에 존재하는 경우, 상기 B 프레임의 다이렉트 모드의 모션벡터 MVF, MVB는 list 1 레퍼런스 프레임의 피일드 1 에 있는 동일 위치의 블록의 모션정보가 다이렉트 모드의 모션벡터를 구하는데 사용되는 다음식으로부터 산출되는 점에 그 특징이 있다.
MVF =TDB x MV1 / TDD,1
MVB = (TDB -TDD,1) x MV1 / TDD,1
또는
Z = TDB x 256 / TDD,1 MVF = (Z x MV1 + 128) >> 8
W = Z - 256 MVB = (W x MV1 + 128) >> 8
여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리로써 B 프레임으로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 프레임으로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, TDD,1는 list 1 레퍼런스 프레임의 피일드 1과 list 0 레퍼런스 피일드 사이의 시간적 거리로써 list 1 레퍼런스 프레임의 피일드 1로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 피일드로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, MV1는 상기 다이렉트 모드의 list 1 레퍼런스 프레임의 피일드 1에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
또한, 상기의 목적을 달성하기 위하여 본 발명에 따른 B 픽쳐의 다이렉트 모드 모션벡터 연산 방법의 또 다른 실시 예는,
동영상 코딩 시스템에서 B(bi-predictive) 픽쳐의 다이렉트 모드 모션벡터를 추출함에 있어, B 픽쳐의 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 매크로블록(co-located macroblock)이 인트라 모드인 경우에는, 공간적 중복성 (spatial redundancy)을 이용하여, 상기 B 픽쳐의 코딩하려는 매크로블록의 주변 블록으로부터 list 0, list 1 레퍼런스 픽쳐와 각 list에 대한 모션벡터를 예측, 산출하고 B 픽쳐의 다이렉트 모드 모션벡터를 연산하는 점에 그 특징이 있다.
여기서 본 발명에 의하면, 상기 list 1 레퍼런스 픽쳐를 선택함에 있어, 상기 코딩하려는 매크로블록의 주변 매크로블록 A, B, C가 참조하는 레퍼런스 픽쳐가 서로 다를 경우에는, 가장 작은 인덱스를 갖는 레퍼런스 픽쳐를 list 1 레퍼런스 픽쳐로 선택하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 list 1 레퍼런스 픽쳐를 선택함에 있어, 상기 코딩하려는 매크로블록의 주변 매크로블록 중 두 개 이상의 매크로블록이 참조하는 레퍼런스 픽쳐가 동일한 인덱스를 가지고 있으면, 그 인덱스를 갖는 레퍼런스 픽쳐를 list 1 레퍼런스 픽쳐로 선택하는 점에 그 특징이 있다.
또한 본 발명에 의하면, 상기 각 list에 대한 모션벡터를 예측함에 있어, 주변 매크로블록 A, B, C 중 인트라 모드를 갖는 매크로블록이 있으면, 그 매크로블록의 list 0와 list 1의 모션벡터를 각각 0으로 설정하고, 상기 각 list 레퍼런스 픽쳐의 시간적 위치와 동일한 방향을 갖는 모션벡터를 주변 매크로블록으로부터 선택하고 미디언 연산을 통해 각 list의 모션벡터를 구하거나, 만일 주변 매크로블록이 동일한 방향의 모션벡터를 두 개 가지고 있으면 그 매크로블록에서 한 개만을 선택하여 미디언 연산에 포함하여 각 list의 모션벡터를 구하는 것에 그 특징이 있다.
또한 본 발명에 의하면, 상기 각 list에 대한 유효한 레퍼런스 픽쳐 인덱스를 모두 유도해낼 수 없다면, list 0, list 1의 레퍼런스 픽쳐 인덱스는 각각 0이 되고 각 list에 대한 모션벡터는 0으로 설정하는 것에 그 특징이 있다.
이와 같은 본 발명에 의하면, 차세대 동영상 압축 기술에 정의된 B(Bi-predictive) 픽쳐에서 다이렉트 모드 모션벡터 추출 기법을 제시하여, 다이렉트 모드가 매크로블록의 예측 모드로서 선택될 가능성을 높임으로서 B 픽쳐 코딩 효율(coding efficiency)을 향상시킬 수 있는 장점이 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시 예를 상세히 설명한다.
본 발명은 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 매크로블록이 인트라 모드일 때 다이렉트 모션벡터를 유도하는 방법과, list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 뒤에 위치하는 경우, 그리고 B 픽쳐보다 시간적으로 앞에 위치하는 경우에 대해 다이렉트 모션벡터를 구하는 방법, 그리고 다이렉트 모드 모션벡터를 구하는데 사용하는 수식을 단순화하기 위해 픽쳐 사이의 시간적 거리를 부호가 있는 값으로 표현함으로써 다이렉트 모드를 위한 list 0, list 1 레퍼런스 픽쳐 위치에 관계없이 다이렉트 모드 모션벡터를 구하는 방법에 대해 각각 구분하여 제시한다. 이때 픽쳐 레벨(picture level) 에서 프레임(frame) 모드와 피일드(field) 모드가 스위칭 되어지므로 B 픽쳐와 list 1 레퍼런스 픽쳐는 프레임 구조 또는 피일드 구조로 코딩될 수 있다. 따라서 B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐에 있는 동일 위치의 매크로블록은 4 가지 경우의 프레임/피일드 코딩 조합을 갖게 된다.
[1] list 1 레퍼런스 픽쳐에 있는 동일위치의 매크로블록이 인트라 모드를 갖는 경우
도 3의 (f) 및 도 4의 (f)에 나타낸 바와 같이, 다이렉트 모드의 list 1 레퍼런스 픽쳐(list 1 reference picture for direct mode)에 있는 동일 위치의 매크로블록은 레퍼런스 픽쳐의 시간적 위치에 관계없이 인트라 모드를 가질 수 있다. 이러한 모드를 갖는 매크로블록은 모션정보를 갖고 있지 않으므로, 종래 기법에서는 단순히 다이렉트 모션벡터를 0으로 놓고 list 0 레퍼런스 픽쳐는 가장 최근에 디코딩된 픽쳐로 정의하였다. 하지만 종래 기법은 높은 코딩 효율을 보장할 수 없으므로 본 발명에서는 B 픽쳐의 코딩하려는 매크로블록의 주변 블록으로부터 list 0, list 1 레퍼런스 픽쳐와 각 list에 대한 모션벡터를 공간적 중복성(spatial redundancy)을 이용하여 예측, 산출한다.
각 list에 대한 레퍼런스 픽쳐 인덱스는 다음과 같은 방법으로 구한다. 도 5는 일반적인 공간적 중복성을 고려하여, 주변 블록 A, B, C의 모션벡터를 이용하여 블록 E의 예측 모션벡터를 연산하는 것을 설명하기 위한 도면이다.
-- 만일, 주변 매크로블록 A, B, C의 레퍼런스 픽쳐 인덱스가 서로 다를 경우에는, 그 중에서 가장 작은 레퍼런스 픽쳐 인덱스가 다이렉트 모드의 레퍼런스 픽쳐 인덱스로 결정된다.
-- 만일, 주변 매크로블록 중 두 개의 블록이 동일한 레퍼런스 픽쳐 인덱스를 가지고 있으면, 그 인덱스가 다이렉트 모드의 레퍼런스 픽쳐 인덱스로 결정된다.
-- 만일, 주변 매크로블록 모두 같은 레퍼런스 픽쳐 인덱스를 가지고 있으면, 그 인덱스가 다이렉트 모드의 레퍼런스 픽쳐 인덱스로 결정된다.
또한, 각 list에 대한 모션벡터는 다음과 같은 모션벡터 예측을 통해 구한다. 이때 주변 매크로블록 A, B, C 중 인트라 모드를 갖는 매크로블록이 있으면, 그 매크로블록의 list 0와 list 1의 모션벡터를 각각 0으로 설정한다.
-- 위에서 구한 각 list의 레퍼런스 픽쳐의 시간적 위치와 동일한 방향을 갖는 모션벡터를 주변 매크로블록으로부터 선택하고 미디언 연산을 통해 각 list의 모션벡터를 구한다.
-- 만일, 주변 매크로블록이 동일한 방향의 모션벡터를 두 개 가지고 있으면, 그 매크로블록에서는 한 개만을 선택하여 미디언 연산에 포함시키도록 한다.
한편, 만일 주변 블록으로부터 list 0, list 1에 대한 유효한 레퍼런스 픽쳐 인덱스를 모두 유도해낼 수 없다면, list 0, list 1의 레퍼런스 픽쳐 인덱스는 각각 0이 되고 각 list에 대한 모션벡터는 0으로 설정한다.
[2] 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 뒤에 위치하는 경우
Case 1: B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 프레임 모드일 때
도 3의 (a)~(f)에서 알 수 있듯이, list 1 레퍼런스 픽쳐의 동일 위치에 있는 블록은 한 개의 모션벡터를 갖거나 두 개의 모션벡터를 가질 수 있다. 본 발명에서는 동일 위치의 블록이 두 개의 모션벡터를 가질 경우에는 하나의 모션벡터(L0 MV 또는 L1 MV)를 선택하고, 이 선택된 모션벡터로부터 다이렉트 모드의 모션벡터를 유도하기로 한다(이하에서는 L0 MV(list 0 모션벡터)가 선택된 경우를 기준으로 설명하기로 한다).
따라서 도 3의 (a)(c)는 도 6의 (a)와 같게 되며, 도 3의 (b)(d)(e)는 도 6의 (c), 도 3의 (g)(h)는 도 6의 (b)와 같이 단순화되어 표시될 수 있게 된다.
만일 다이렉트 모드의 list 0 레퍼런스 픽쳐와 list 1 레퍼런스 픽쳐가 B 픽쳐를 중심으로 시간적으로 앞, 뒤에 존재할 경우(도 6의 (a)), 또는 다이렉트 모드의 list 0, list 1 레퍼런스 픽쳐 모두 B 픽쳐보다 시간적으로 뒤에 존재하면서 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 뒤에 존재할 경우(도 6의 (b))에 다이렉트 모드의 모션벡터 MVF , MVB 는 다음과 같이 계산되어진다.
MVF = TDB x MV / TDD
MVB = (TDB - TDD) x MV / TDD
여기서, TDB 는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리를 나타내고, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리를 각각 나타낸다.
그리고 윗 식은 다음과 같이 표현될 수도 있는데, 이는 실제 연산 수행시의 편리성을 위하여 비트 오퍼레이션(bit operation)을 적용하는 경우를 나타낸 것이다.
Z = TDB x 256 / TDD MVF = (Z x MV + 128) >> 8
W = Z - 256 MVB = (W x MV + 128) >> 8
만일, 다이렉트 모드의 list 0, list 1 레퍼런스 픽쳐 모두 B 픽쳐보다 시간적으로 뒤에 존재하면서 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 앞에 존재할 경우(도 6의 (c))에 다이렉트 모드의 모션벡터 MVF, MVB 는 다음과 같이 계산되어진다.
MVF = - TDB x MV / TDD
MVB = - (TDB + TDD) x MV / TDD
또는 다음과 같은 식으로 표현될 수도 있다.
Z = - TDB x 256 / TDD MVF = (Z x MV + 128) >> 8
W = Z - 256 MVB = (W x MV + 128) >> 8
Case 2: B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 피일드 모드일 때
도 7에서는 B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 피일드 모드인 경우를 보여준다. B 픽쳐의 매크로블록의 각 블록에서의 모션벡터는 동일 패러티(parity) 의 list 1 레퍼런스 피일드에 있는 동일 위치의 list 0 모션벡터로부터 유도되어진다.
만일 다이렉트 모드의 list 0, list 1 레퍼런스 픽쳐가 B 픽쳐를 중심으로 시간적으로 앞, 뒤에 존재하는 경우(도 7의 (a)), 또는 다이렉트 모드의 list 0, list 1 레퍼런스 픽쳐 모두 B 픽쳐보다 시간적으로 뒤에 존재하면서 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 뒤에 존재할 경우(도 7의 (b))에는 B 프레임의 각 피일드 i(i=0은 첫번째 피일드, i=1은 두번째 피일드를 의미)에 대한 다이렉트 모드의 list 0, list 1 모션벡터 MVF,i , MVB,i 는 다음과 같이 계산되어진다.
MVF,i = TDB,i x MVi / TDD,i
MVB,i = (TDB,i - TDD,i) x MVi / TDD,i
여기서, MVi 는 list 1 레퍼런스 프레임의 i 에 있는 동일 위치의 블록이 갖는 list 0 모션벡터, TDB,i 는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리, TDD,i 는 list 1 레퍼런스 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리를 각각 의미한다. 윗 식은 다음과 같이 표현될 수 있다.
Z = TDB,i x 256 / TDD,i MVF,i = (Z x MVi + 128) >> 8
W = Z - 256 MVB,i = (W x MVi + 128) >> 8
만일 list 1 레퍼런스 프레임의 피일드 i에 있는 동일 위치의 블록이 B 픽쳐보다 시간적으로 뒤에 존재하는 프레임의 피일드를 가리키는 모션벡터를 가짐으로써, 다이렉트 모드의 list 0, list 1 레퍼런스 픽쳐 모두 B 픽쳐보다 시간적으로 뒤에 존재하면서 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 앞에 존재할 경우(도 7의 (c) 및 (d)), 다이렉트 모드의 list 0, list 1 모션벡터 MVF,i, MVB,i 는 다음과 같이 계산되어진다.
MVF,i = - TDB,i x MVi / TDD,i
MVB,i = - (TDB,i + TDD,i) x MVi / TDD,i
또는 다음과 같은 식으로 표현될 수도 있다.
Z = -TDB,i x 256 / TDD,i MVF,i = (Z x MVi + 128) >> 8
W = Z - 256 MVB,i = (W x MVi + 128) >> 8
Case 3: B 픽쳐의 매크로블록이 피일드 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 프레임 모드일 때
도 8은 B 픽쳐의 매크로블록이 피일드 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 프레임 모드인 경우를 보여준다. 여기서 현재 매크로블록의 수직 좌표가 ycurrent 이고 list 1 레퍼런스 픽쳐의 동일위치의 매크로블록 수직 좌표를 yco-located라 하면, 두 좌표 사이에는 yco-located=2 x ycurrent 관계가 성립된다. 그리고 list 0, list 1 레퍼런스 피일드는 각각의 list 0, list1 레퍼런스 프레임의 동일 패러티에 존재하게 된다.
만일 다이렉트 모드의 list 0, list 1 레퍼런스 픽쳐가 B 픽쳐를 중심으로 시간적으로 앞, 뒤에 존재하는 경우(도 8의 (a)), 또는 다이렉트 모드의 list 0, list 1 레퍼런스 픽쳐 모두 B 픽쳐보다 시간적으로 뒤에 존재하면서 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 뒤에 존재할 경우(도 8의 (b)), B 프레임의 각 피일드 i에 대한 다이렉트 모드의 list 0, list 1 모션벡터 MVF,i, MVB,i는 다음과 같이 계산되어진다.
MVF,i =TDB,i x MV / TDD
MVB,i = (TDB,i -TDD) x MV / TDD
윗 식은 다음과 같이 표현될 수 있다.
Z = TDB,i x 256 / TDD MVF,i = (Z x MV + 128) >> 8
W = Z - 256 MVB,i = (W x MV + 128) >> 8
만일 list 1 레퍼런스 프레임에 있는 동일 위치의 블록이 B 픽쳐보다 시간적으로 뒤에 존재하는 프레임을 가리키는 모션벡터를 가짐으로써, 다이렉트 모드의 list 0, list 1 레퍼런스 픽쳐 모두 B 픽쳐보다 시간적으로 뒤에 존재하며서 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 앞에 존재할 경우(도 8의 (c)), B 프레임의 각 피일드 i에 대한 다이렉트 모드의 list 0, list 1 모션벡터 MVF,i, MVB,i는 다음과 같이 계산되어진다.
MVF,i = -TDB,i x MV / TDD
MVB,i = - (TDB,i +TDD) x MV / TDD
또는 다음과 같은 식으로 표현될 수도 있다.
Z = - TDB,i x 256 / TDD MVF,i = (Z x MV + 128) >> 8
W = Z - 256 MVB,i = (W x MV + 128) >> 8
여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이며, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이고, MV는 상기 다이렉트 모드의 list 1 레퍼런스 프레임에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
Case 4: B 픽쳐의 매크로블록이 프레임 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 피일드 모드일 때
도 9는 B 픽쳐의 매크로블록이 프레임 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 피일드 모드인 경우를 보여준다. 여기서 현재 매크로블록의 수직 좌표가 ycurrent 이고 list 1 레퍼런스 픽쳐의 동일 위치의 매크로블록 수직 좌표를 yco-located라 하면, 두 좌표 사이에는 yco-located= ycurrent / 2 관계가 성립된다. 그리고 list 1 레퍼런스 프레임의 피일드 0가 피일드 1 보다 B 픽쳐에 시간적 거리가 가까우므로 피일드 0에 있는 동일 위치의 블록의 모션정보가 다이렉트 모드의 모션벡터를 구하는데 사용된다.
만일 다이렉트 모드의 list 0, list 1 레퍼런스 픽쳐가 B 픽쳐를 중심으로 시간적으로 앞, 뒤에 존재하는 경우(도 9의 (a)) 또는 다이렉트 모드의 list 0, list 1 레퍼런스 픽쳐 모두 B 픽쳐보다 시간적으로 뒤에 존재하면서 list 0 레퍼런스 픽쳐가 list 1 픽쳐보다 뒤에 존재할 경우(도 9의 (b)), B 프레임의 다이렉트 모드의 list 0, list 1 모션벡터 MVF, MVB는 다음과 같이 계산되어진다.
MVF = TDB x MV0 / TDD,0
MVB = (TDB -TDD,0) x MV0 / TDD,0
*윗 식은 다음과 같이 표현될 수 있다.
Z = TDB x 256 / TDD,0 MVF = (Z x MV0 + 128) >> 8
W = Z - 256 MVB = (W x MV0 + 128) >> 8
만일 list 1 레퍼런스 프레임의 피일드 0 에 있는 동일 위치의 블록이 B 픽쳐보다 시간적으로 뒤에 존재하는 프레임의 피일드를 가리키는 모션벡터를 가짐으로써, 다이렉트 모드의 list 0, list 1 레퍼런스 픽쳐 모두 B 픽쳐보다 시간적으로 뒤에 존재하면서 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 앞에 존재할 경우(도 9의 (c)), 다이렉트 모드의 list 0, list 1 모션벡터 MVF, MVB 는 다음과 같이 계산되어진다.
MVF = - TDB x MV0 / TDD,0
MVB = - (TDB +TDD,0) x MV0 / TDD,0
또는 다음과 같은 식으로 표현될 수도 있다.
Z = - TDB x 256 / TDD,0 MVF = (Z x MV0 + 128) >> 8
W = Z - 256 MVB = (W x MV0 + 128) >> 8
여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이며, TDD,1는 list 1 레퍼런스 프레임의 피일드 0과 list 0 레퍼런스 피일드 사이의 시간적 거리이고, MV0는 상기 다이렉트 모드의 list 1 레퍼런스 피일드 0에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
[3] 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 앞에 위치하는 경우
이 경우에는 list 0, list 1 레퍼런스 픽쳐 모두 B 픽쳐보다 항상 시간적으로 앞에 위치하고 있다.
Case 1: B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 프레임 모드일 때
도 4에 나타낸 바와 같이, list 1 레퍼런스 픽쳐의 동일 위치에 있는 블록은 한 개의 모션벡터를 갖거나 두 개의 모션벡터를 가질 수 있다. 본 발명에서는 동일 위치의 블록이 두 개의 모션벡터를 가질 경우에는 하나의 모션벡터 (L0 MV 또는 L1 MV)를 선택하고, 이 선택된 모션벡터로부터 다이렉트 모드의 모션벡터를 유도하기로 한다(이하에서는 L0 MV(list 0 모션벡터)이 선택된 경우를 기준으로 설명하기로 한다).
따라서 도 4의 (a)(c)(e)(g)(h)는 도 10의 (a)와 같게 되며, 도 4의 (b)(d)는 도 10의 (b)와 같이 단순화 되어 표시될 수 있게 된다.
만일 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 앞에 존재할 경우, 다이렉트 모드의 모션벡터 MVF , MVB 는 다음과 같이 계산되어진다(도 10의 (a)).
MVF = TDB x MV / TDD
MVB = (TDB - TDD) x MV / TDD
여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이며, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이고, MV는 상기 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
그리고 윗 식은 다음과 같이 표현될 수 있다.
Z = TDB x 256 / TDD MVF = (Z x MV + 128) >> 8
W = Z - 256 MVB = (W x MV + 128) >> 8
만일 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 뒤에 존재할 경우, 다이렉트 모드의 모션벡터 MVF, MVB 는 다음과 같이 계산되어진다(도 10의 (b)).
MVF = - TDB x MV / TDD
MVB = - (TDB + TDD) x MV / TDD
또는 다음과 같은 식으로 표현될 수도 있다.
Z = - TDB x 256 / TDD MVF = (Z x MV + 128) >> 8
W = Z - 256 MVB = (W x MV + 128) >> 8
여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이며, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이고, MV는 상기 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
Case 2: B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 피일드 모드일 때
만일 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 앞에 존재할 경우, B 프레임의 각 피일드 i에 대한 다이렉트 모드의 list 0, list 1 모션벡터 MVF,i, MVB,i는 다음과 같이 계산되어진다(도 11의 (a) 및 (b)).
MVF,i = TDB,i x MVi / TDD,i
MVB,i = (TDB,i - TDD,i) x MVi / TDD,i
윗 식은 다음과 같이 표현될 수 있다.
Z = TDB,i x 256 / TDD,i MVF,i = (Z x MVi + 128) >> 8
W = Z - 256 MVB,i = (W x MVi + 128) >> 8
여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이며, TDD,i 는 list 1 레퍼런스 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이고, MVi는 상기 다이렉트 모드의 list 1 레퍼런스 피일드에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
만일 list 1 레퍼런스 프레임의 피일드 i에 있는 동일 위치의 블록이 시간적으로 뒤에 존재하는 프레임의 피일드를 가리키는 모션벡터를 가짐으로써, 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 뒤에 존재할 경우 다이렉트 모드의 list 0, list 1 모션벡터 MVF,i, MVB,i는 다음과 같이 계산되어진다(도 11의 (c) 및 (d)).
MVF,i = -TDB,i x MVi / TDD,i
MVB,i = - (TDB,i +TDD,i) x MVi / TDD,i
또는 다음과 같은 식으로 표현될 수도 있다.
Z = - TDB,i x 256 / TDD,i MVF,i = (Z x MVi + 128) >> 8
W = Z - 256 MVB,i = (W x MVi + 128) >> 8
여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이며, TDD,i 는 list 1 레퍼런스 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이고, MVi는 상기 다이렉트 모드의 list 1 레퍼런스 피일드에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
Case 3: B 픽쳐의 매크로블록이 피일드 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 프레임 모드일 때
만일 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 앞에 존재할 경우, B 프레임의 각 피일드 i에 대한 다이렉트 모드의 list 0, list 1 모션벡터 MVF,i, MVB,i는 다음과 같이 계산되어진다(도 12의 (a)).
MVF,i = TDB,i x MV / TDD
MVB,i = (TDB,i - TDD) x MV / TDD
윗 식은 다음과 같이 표현될 수 있다.
Z = TDB,i x 256 / TDD MVF,i = (Z x MV + 128) >> 8
W = Z - 256 MVB,i = (W x MV + 128) >> 8
여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이며, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이고, MV는 상기 다이렉트 모드의 list 1 레퍼런스 프레임에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
만일 list 1 레퍼런스 프레임에 있는 동일 위치의 블록이 시간적으로 뒤에 존재하는 프레임을 가리키는 모션벡터를 가짐으로써, 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 뒤에 존재할 경우, B 프레임의 각 피일드 i에 대한 다이렉트 모드의 list 0, list 1 모션벡터 MVF,i, MVB,i는 다음과 같이 계산되어진다(도 12의 (b)).
MVF,i = - TDB,i x MV / TDD
MVB,i = - (TDB,i + TDD) x MV / TDD
또는 다음과 같은 식으로 표현될 수도 있다.
Z = - TDB,i x 256 / TDD MVF,i = (Z x MV + 128) >> 8
W = Z - 256 MVB,i = (W x MV + 128) >> 8
여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리이며, TDD 는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이고, MV는 상기 다이렉트 모드의 list 1 레퍼런스 프레임에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
Case 4: B 픽쳐의 매크로블록이 프레임 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 피일드 모드일 때
list 1 레퍼런스 프레임의 피일드 1(f1)이 피일드 0(f0) 보다 B 픽쳐에 시간적 거리가 가까우므로 피일드 1(f1)에 있는 동일 위치의 블록의 모션정보가 다이렉트 모드의 모션벡터를 구하는데 사용된다.
만일 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 앞에 존재할 경우, B 프레임의 각 피일드 i에 대한 다이렉트 모드의 list 0, list 1 모션벡터 MVF, MVB 는 다음과 같이 계산되어진다(도 13의 (a)).
MVF =TDB x MV1 / TDD,1
MVB = (TDB -TDD,1) x MV1 / TDD,1
윗 식은 다음과 같이 표현될 수 있다.
Z = TDB x 256 / TDD,1 MVF = (Z x MV1 + 128) >> 8
W = Z - 256 MVB = (W x MV1 + 128) >> 8
여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이며, TDD,1는 list 1 레퍼런스 프레임의 피일드 1과 list 0 레퍼런스 피일드 사이의 시간적 거리이고, MV1는 상기 다이렉트 모드의 list 1 레퍼런스 프레임의 피일드 1에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
만일 list 1 레퍼런스 프레임의 피일드 1(f1)에 있는 동일 위치의 블록이 시간적으로 뒤에 존재하는 프레임의 피일드를 가리키는 모션벡터를 가짐으로써, 다이렉트 모드의 list 0 레퍼런스 픽쳐가 list 1 레퍼런스 픽쳐보다 시간적으로 뒤에 존재할 경우 다이렉트 모드의 list 0, list 1 모션벡터 MVF, MVB는 다음과 같이 계산되어진다(도 13의 (b)).
MVF = - TDB x MV1 / TDD,1
MVB = - (TDB + TDD,1) x MV1 / TDD,1
또는 다음과 같은 식으로 표현될 수도 있다.
Z = -TDB x 256 / TDD,1 MVF = (Z x MV1 + 128) >> 8
W = Z - 256 MVB = (W x MV1 + 128) >> 8
여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리이며, TDD,1는 list 1 레퍼런스 프레임의 피일드 1과 list 0 레퍼런스 피일드 사이의 시간적 거리이고, MV1는 상기 다이렉트 모드의 list 1 레퍼런스 프레임의 피일드 1에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
[4] 픽쳐 사이의 시간적 거리를 부호가 있는 값으로 표현하여 다이렉트 모드 모션벡터를 연산하는 경우
상기 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 앞에 위치하거나 또는 뒤에 위치하는 경우에, 각 case에 대해 두 가지 종류의 수식이 존재하게 되므로 이를 단순화하기 위한 방법으로써 픽쳐 사이의 시간적 거리를 부호가 있는 값으로 표현하면 다음과 같이 단순화되어 표현될 수 있게 된다.
Case 1: B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 프레임 모드일 때
B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 프레임 모드일 경우, 상기 B 픽쳐의 다이렉트 모드의 모션벡터 MVF, MVB는 다음식으로부터 구할 수 있다.
MVF = TDB x MV / TDD
MVB = (TDB - TDD) x MV / TDD
또는
Z = TDB x 256 / TDD MVF = (Z x MV + 128) >> 8
W = Z - 256 MVB = (W x MV + 128) >> 8
여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리로써 B 프레임으로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 프레임으로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, TDD는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리로써 list 1 레퍼런스 프레임으로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 프레임으로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, MV는 상기 다이렉트 모드의 list 1 레퍼런스 픽쳐에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
Case 2: B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 피일드 모드일 때
B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 피일드(field) 모드일 경우, 상기 B 프레임의 각 피일드 i에 대한 다이렉트 모드의 모션벡터 MVF,i, MVB,i는 다음식으로부터 구할 수 있다.
MVF,i = TDB,i x MVi / TDD,i
MVB,i = (TDB,i - TDD,i) x MVi / TDD,i
또는
Z = TDB,i x 256 / TDD,i MVF,i = (Z x MVi + 128) >> 8
W = Z - 256 MVB,i = (W x MVi + 128) >> 8
여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리로써 B 피일드로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 피일드로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, TDD,i는 list 1 레퍼런스 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리로써 list 1 레퍼런스 피일드로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 피일드로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, MVi는 상기 다이렉트 모드의 list 1 레퍼런스 피일드에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
Case 3: B 픽쳐의 매크로블록이 피일드 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 프레임 모드일 때
B 픽쳐의 매크로블록이 피일드 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 프레임 모드일 경우, 상기 B 프레임의 각 피일드 i에 대한 다이렉트 모드의 모션벡터 MVF,i, MVB,i는 다음식으로부터 구할 수 있다.
MVF,i = TDB,i x MV / TDD
MVB,i = (TDB,i - TDD) x MV / TDD
또는
Z = TDB,i x 256 / TDD MVF,i = (Z x MV + 128) >> 8
W = Z - 256 MVB,i = (W x MV + 128) >> 8
여기서, TDB,i는 현재 B 피일드와 list 0 레퍼런스 피일드 사이의 시간적 거리로써 B 피일드로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 피일드로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, TDD는 list 1 레퍼런스 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리로써 list 1 레퍼런스 프레임으로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 프레임으로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, MV는 상기 다이렉트 모드의 list 1 레퍼런스 프레임에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
Case 4: B 픽쳐의 매크로블록이 프레임 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 피일드 모드일 때
B 픽쳐의 매크로블록이 프레임 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 피일드 모드이며, list 1 레퍼런스 픽쳐가 상기 B 픽쳐보다 시간적으로 뒤에 존재하는 경우, list 1 레퍼런스 프레임의 피일드 0가 피일드 1 보다 B 픽쳐에 시간적 거리가 가까우므로 피일드 0에 있는 동일 위치의 블록의 모션정보가 다이렉트 모드의 모션벡터를 구하는데 사용된다. 따라서 상기 B 프레임의 다이렉트 모드의 모션벡터 MVF, MVB는 list 1 레퍼런스 프레임의 피일드 0 에 있는 동일 위치의 블록의 모션정보가 다이렉트 모드의 모션벡터를 구하는데 사용되는 다음식으로부터 구할 수 있다.
MVF = TDB x MV0 / TDD,0
MVB = (TDB - TDD,0) x MV0/ TDD,0
또는
Z = TDB x 256 / TDD,0 MVF = (Z x MV0 + 128) >> 8
W = Z - 256 MVB = (W x MV0 + 128) >> 8
여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리로써 B 프레임으로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 프레임으로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, TDD,0는 list 1 레퍼런스 프레임의 피일드 0과 list 0 레퍼런스 피일드 사이의 시간적 거리로써 list 1 레퍼런스 프레임의 피일드 0으로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고, list 0 레퍼런스 피일드로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, MV0는 상기 다이렉트 모드의 list 1 레퍼런스 프레임의 피일드 0에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
만일, list 1 레퍼런스 픽쳐가 상기 B 픽쳐보다 시간적으로 앞에 존재하는 경우, list 1 레퍼런스 프레임의 피일드 1이 피일드 0 보다 B 픽쳐에 시간적 거리가 가까우므로 피일드 1에 있는 동일 위치의 블록의 모션정보가 다이렉트 모드의 모션벡터를 구하는데 사용된다. 따라서 상기 B 프레임의 다이렉트 모드의 모션벡터 MVF, MVB는 list 1 레퍼런스 프레임의 피일드 1 에 있는 동일 위치의 블록의 모션정보가 다이렉트 모드의 모션벡터를 구하는데 사용되는 다음식으로부터 구할 수 있다.
MVF =TDB x MV1 / TDD,1
MVB = (TDB -TDD,1) x MV1 / TDD,1
또는
Z = TDB x 256 / TDD,1 MVF = (Z x MV1 + 128) >> 8
W = Z - 256 MVB = (W x MV1 + 128) >> 8
여기서, TDB는 현재 B 프레임과 list 0 레퍼런스 프레임 사이의 시간적 거리로써 B 프레임으로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 프레임으로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, TDD,1는 list 1 레퍼런스 프레임의 피일드 1과 list 0 레퍼런스 피일드 사이의 시간적 거리로써 list 1 레퍼런스 프레임의 피일드 1로부터 계산된 시간적 거리는 양(+)의 부호로 표시되고 list 0 레퍼런스 피일드로부터 계산된 시간적 거리는 음(-)의 부호로 표시되며, MV1는 상기 다이렉트 모드의 list 1 레퍼런스 프레임의 피일드 1에 있는 동일 위치의 블록이 가지고 있는 모션벡터이다.
이상의 설명에서와 같이 본 발명에 따른 B 픽쳐의 다이렉트 모드 모션벡터 연산 방법에 의하면, 차세대 동영상 압축 기술에 정의된 B(Bi-predictive) 픽쳐에서 다이렉트 모드 모션벡터 추출 기법을 제시하여, 다이렉트 모드가 매크로블록의 예측 모드로서 선택될 가능성을 높임으로서 B 픽쳐 코딩 효율(coding efficiency)을 향상시킬 수 있는 장점이 있다.
도 1은 일반적인 IBBBP 패턴에서의 다이렉트 모드의 list 1 레퍼런스 픽쳐(list 1 reference picture for direct mode)를 설명하기 위한 도면.
도 2는 일반적인 IBBB 패턴에서의 다이렉트 모드의 list 1 레퍼런스 픽쳐를 설명하기 위한 도면.
도 3은 일반적인 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 뒤에 위치하는 경우를 나타낸 도면(L0 MV:list 0 모션벡터, L1 MV:list 1 모션벡터).
도 4는 일반적인 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 앞에 위치하는 경우를 나타낸 도면(L0 MV:list 0 모션벡터, L1 MV:list 1 모션벡터).
도 5는 일반적인 공간적 중복성을 고려하여, 주변 블록 A, B, C의 모션벡터를 이용하여 블록 E의 예측 모션벡터를 연산하는 것을 설명하기 위한 도면.
도 6은 일반적인 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 뒤에 위치할 때, B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 프레임 모드인 경우를 나타낸 도면.
도 7은 일반적인 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 뒤에 위치할 때, B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 피일드 모드인 경우를 나타낸 도면.
도 8은 일반적인 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 뒤에 위치할 때, B 픽쳐의 매크로블록이 피일드 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 프레임 모드인 경우를 나타낸 도면.
도 9는 일반적인 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 뒤에 위치할 때, B 픽쳐의 매크로블록이 프레임 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 피일드 모드인 경우를 나타낸 도면.
도 10은 일반적인 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 앞에 위치할 때, B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 프레임 모드인 경우를 나타낸 도면.
도 11은 일반적인 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 앞에 위치할 때, B 픽쳐의 매크로블록과 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 모두 피일드 모드인 경우를 나타낸 도면.
도 12는 일반적인 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 앞에 위치할 때, B 픽쳐의 매크로블록이 피일드 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 프레임 모드인 경우를 나타낸 도면.
도 13은 일반적인 다이렉트 모드의 list 1 레퍼런스 픽쳐가 B 픽쳐보다 시간적으로 앞에 위치할 때, B 픽쳐의 매크로블록이 프레임 모드이고 list 1 레퍼런스 픽쳐의 동일 위치에 있는 매크로블록이 피일드 모드인 경우를 나타낸 도면.

Claims (9)

  1. 쌍예측(bi-predictive) 이미지 블록의 모션 벡터들을 유도하기 위한 모션 벡터를 결정하는 방법으로서,
    쌍예측 이미지 블록에 대하여 동일 위치에 있는 블록(co-located block)이 list 1과 list 0 모션 벡터를 모두 가질 때, 상기 동일 위치에 있는 이미지 블록의 list 0 모션 벡터를 상기 쌍예측 이미지 블록의 모션 벡터들을 유도하기 위한 모션 벡터로서 선택하는 단계를 포함하는 것을 특징으로 하는 모션벡터 결정 방법.
  2. 제 1 항에 있어서,
    상기 동일 위치에 있는 이미지 블록은 list 1 레퍼런스 픽쳐와 관련되는 것을 특징으로 하는 모션벡터 결정 방법.
  3. 제 2 항에 있어서,
    상기 선택된 list 0 모션 벡터가 가리키는 레퍼런스 픽쳐를 list 0 레퍼런스 픽쳐로서 결정하는 단계를 추가로 포함하는 것을 특징으로 하는 모션벡터 결정 방법.
  4. 제 3 항에 있어서,
    상기 쌍예측 이미지 블록에 대한 상기 모션 벡터들을 상기 선택된 list 0 모션 벡터로부터 유도하는 단계를 추가로 포함하는 것을 특징으로 하는 모션벡터 결정 방법.
  5. 제 1 항에 있어서,
    상기 선택된 list 0 모션 벡터가 가리키는 레퍼런스 픽쳐를 list 0 레퍼런스 픽쳐로서 결정하는 단계를 추가로 포함하는 것을 특징으로 하는 모션벡터 결정 방법.
  6. 제 1 항에 있어서,
    상기 선택된 list 0 모션 벡터를 포함하는 상기 동일 위치에 있는 이미지 블록의 레퍼런스 정보로부터 list 0 레퍼런스 픽쳐를 결정하는 단계를 추가로 포함하는 것을 특징으로 하는 모션벡터 결정 방법.
  7. 제 1 항에 있어서,
    상기 선택된 list 0 모션 벡터를 포함하는 상기 동일 위치에 있는 이미지 블록이 참조하는 레퍼런스 픽쳐를 list 0 레퍼런스 픽쳐로서 결정하는 단계를 추가로 포함하는 것을 특징으로 하는 모션벡터 결정 방법.
  8. 제 1 항에 있어서,
    상기 선택된 list 0 모션 벡터로부터 상기 쌍예측 이미지 블록에 대한 상기 모션 벡터들을 유도하는 단계를 추가로 포함하는 것을 특징으로 하는 모션벡터 결정 방법.
  9. 제 1 항에 있어서,
    상기 선택 단계는 다이렉트 모드에서의 디코더 동작으로 수행되는 것을 특징으로 하는 모션벡터 결정 방법.
KR10-2005-0027771A 2002-10-04 2005-04-01 모션벡터 결정방법 KR100494829B1 (ko)

Applications Claiming Priority (4)

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

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0071226A Division KR100506864B1 (ko) 2002-10-04 2002-11-15 모션벡터 결정방법

Publications (2)

Publication Number Publication Date
KR20050042276A KR20050042276A (ko) 2005-05-06
KR100494829B1 true KR100494829B1 (ko) 2005-06-13

Family

ID=37061115

Family Applications (3)

Application Number Title Priority Date Filing Date
KR10-2005-0027770A KR100494828B1 (ko) 2002-10-04 2005-04-01 모션벡터 결정방법
KR10-2005-0027771A KR100494829B1 (ko) 2002-10-04 2005-04-01 모션벡터 결정방법
KR10-2005-0027769A KR100494831B1 (ko) 2002-10-04 2005-04-01 모션벡터 결정방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR10-2005-0027770A KR100494828B1 (ko) 2002-10-04 2005-04-01 모션벡터 결정방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR10-2005-0027769A KR100494831B1 (ko) 2002-10-04 2005-04-01 모션벡터 결정방법

Country Status (2)

Country Link
KR (3) KR100494828B1 (ko)
RU (2) RU2287908C1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101424223B1 (ko) 2009-12-23 2014-07-30 한국전자통신연구원 영상의 부호화/복호화 장치 및 그 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8526499B2 (en) 2007-06-15 2013-09-03 Sungkyunkwan University Foundation For Corporate Collaboration Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording medium
KR101442608B1 (ko) * 2008-02-05 2014-09-25 삼성전자주식회사 영상을 효율적으로 부호화/복호화하는 방법 및 장치
KR101377660B1 (ko) 2008-09-30 2014-03-26 에스케이텔레콤 주식회사 복수 개의 움직임 벡터 추정을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR100978465B1 (ko) * 2010-03-19 2010-08-26 성균관대학교산학협력단 양-예측 부호화 방법 및 장치, 양-예측 복호화 방법 및 장치 및 기록매체
MX355319B (es) 2011-11-08 2018-04-16 Kt Corp Método y aparato para exploración de coeficientes con base en el modo de división de la unidad de predicción.

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101424223B1 (ko) 2009-12-23 2014-07-30 한국전자통신연구원 영상의 부호화/복호화 장치 및 그 방법
KR101424222B1 (ko) 2009-12-23 2014-07-30 한국전자통신연구원 영상의 부호화/복호화 장치 및 그 방법
KR101424221B1 (ko) 2009-12-23 2014-07-30 한국전자통신연구원 영상의 부호화/복호화 장치 및 그 방법
US8953686B2 (en) 2009-12-23 2015-02-10 Electronics And Telecommunications Research Institute Image encoding/decoding apparatus and method
US9363528B2 (en) 2009-12-23 2016-06-07 Electronics And Telecommunications Research Institute Image encoding/decoding apparatus and method
US9602832B2 (en) 2009-12-23 2017-03-21 Electronics And Telecommunications Research Institute Image encoding/decoding apparatus and method
US10212448B2 (en) 2009-12-23 2019-02-19 Electronics And Telecommunications Research Institute Image encoding/decoding apparatus and method
US10484706B2 (en) 2009-12-23 2019-11-19 Electronics And Telecommunications Research Institute Image encoding/decoding apparatus and method
US10798409B2 (en) 2009-12-23 2020-10-06 Electronics And Telecommunications Research Institute Image encoding/decoding apparatus and method
US10958933B2 (en) 2009-12-23 2021-03-23 Electronics And Telecommunications Research Institute Image encoding/decoding apparatus and method
US10965953B2 (en) 2009-12-23 2021-03-30 Electronics And Telecommunications Research Institute Image encoding/decoding apparatus and method
US10965952B2 (en) 2009-12-23 2021-03-30 Electronics And Telecommunications Research Institute Image encoding/decoding apparatus and method

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100506864B1 (ko) 모션벡터 결정방법
KR100985268B1 (ko) 모션벡터 결정방법
KR100494829B1 (ko) 모션벡터 결정방법
KR100985263B1 (ko) 모션벡터 결정방법
KR100890511B1 (ko) 모션벡터 결정방법
KR100883025B1 (ko) 모션벡터 결정방법
KR100985353B1 (ko) 모션벡터 결정방법
KR100890510B1 (ko) 모션벡터 결정방법
KR100985379B1 (ko) 모션벡터 결정방법
KR100991618B1 (ko) 모션벡터 결정방법
KR100890512B1 (ko) 모션벡터 결정방법
KR100864790B1 (ko) 모션벡터 결정방법
KR100985340B1 (ko) 모션벡터 결정방법
KR100890507B1 (ko) 모션벡터 결정방법
KR100890506B1 (ko) 모션벡터 결정방법
KR100890509B1 (ko) 모션벡터 결정방법
KR100991624B1 (ko) 모션벡터 결정방법
KR100890514B1 (ko) 모션벡터 결정방법
KR100890516B1 (ko) 모션벡터 결정방법
KR100991568B1 (ko) 모션벡터 결정방법
KR100890505B1 (ko) 모션벡터 결정방법
KR100890508B1 (ko) 모션벡터 결정방법
KR100890504B1 (ko) 모션벡터 결정방법
KR100907173B1 (ko) 모션벡터 결정방법
KR100890513B1 (ko) 모션벡터 결정방법

Legal Events

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

Payment date: 20130514

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140523

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150522

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20160524

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20170512

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20180514

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20190514

Year of fee payment: 15