KR100244291B1 - 동영상 움직임 벡터 코딩 방법 - Google Patents
동영상 움직임 벡터 코딩 방법 Download PDFInfo
- Publication number
- KR100244291B1 KR100244291B1 KR1019970036230A KR19970036230A KR100244291B1 KR 100244291 B1 KR100244291 B1 KR 100244291B1 KR 1019970036230 A KR1019970036230 A KR 1019970036230A KR 19970036230 A KR19970036230 A KR 19970036230A KR 100244291 B1 KR100244291 B1 KR 100244291B1
- Authority
- KR
- South Korea
- Prior art keywords
- motion vector
- value
- prediction
- block
- bound
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/57—Motion estimation characterised by a search window with variable size or shape
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
본 발명은 MPEG-4에 대응하는 움직임 벡터 코딩에서 전체 비트율을 줄이는데 적당하도록한 동영상 움직임 벡터 코딩 방법에 관한 것으로,매크로 블록에 대한 탐색 모드가 8×8모드로 선택되면 해당 매크로 블록을 구성하는 4개의 8×8블록에서 첫 번째 블록의 움직임 벡터 예측 후보를 탐색하는 단계와,해당 8×8블록의 제 1,2,3 움직임 벡터 예측 후보의 탐색이 완료면 순차적으로 블록2,블록3,블록4들의 각각의 제 1,2,3 움직임 벡터 예측 후보를 탐색하는 단계와,첫 번째 8×8 블록의 움직임 벡터 중간 예측값(MVMedianPrediction)이 움직임 벡터 바운드내에 있는지를 비교하여 바운드내에 있다면 움직임 벡터 중간 예측값을 해당 8×8블록을 부호화하기 위한 예측값으로 결정하는 단계와,상기 판단 단계에서 움직임 벡터 중간 예측값이 바운드내에 있지않다면 선택적으로 제 1,2,3 움직임 벡터 예측 후보중에서 바운드내에 있는 예측 후보의 벡터값 또는 움직임 벡터 중간 예측값을 해당 8×8블록을 부호화하기 위한 예측값(PMV)으로 결정하는 단계와,움직임 벡터 중간 예측값이 바운드내에 있는지 없는지를 판단하여 예측값을 결정하는 단계를 해당 매크로 블록의 전체 8×8블록에 대하여 반복하는 단계를 포함하여 이루어진다.
Description
본 발명은 MPEG-4에 대응하는 움직임 벡터 코딩에 관한 것으로, 특히 동영상의 부호화 과정에서 전체 비트율을 줄이는데 적당하도록한 동영상 움직임 벡터 코딩 방법에 관한 것이다.
현재, 표준화 작업이 진행되고 있는 MPEG(Moving Picture Expert Group)-4의 개략적인 추진 내용은 다음과 같다.
MPEG-4는 지금까지 적용되어진 MPEG-1,MPEG-2의 기능과는 전혀 다른 기능을 추구하는 것으로 통신,컴퓨터,방송 등의 기술 영역이 무너져 멀티화되고 있는 현재의 추세에 대응하기 위한 것이다.
즉, 독립적으로 기술 혁신을 이루어온 각각의 기술 영역을 모두 포괄할 수 있는 융합 기술 영역의 기능 실현과 그 응용 분야의 개척을 목표로 한다.
MPEG-4가 추구하는 방향은 초저비트율에서 AV 부호화를 가능케하는 기술 그리고 지금까지와는 전혀 다른 새로운 기능의 실현 등의 두가지로 크게 나눌 수 있다.
초저비트율에서 AV 부호화를 가능하게 하기 위한 방법으로 시도되고 있는 것으로는 첫째, MPEG-1,2에서 사용되어진 DCT변환 기술을 사용하지 않는 전혀 새로운 부호화 기술 예를들면, 블록 경계에서의 일그러짐이 적고 부호화 효율이 높은 Wavelet부호화 방식 등을 들 수 있다.
그리고 둘째, MPEG-1,2에서의 부호화가 매크로 블록 단위의 움직임 보상을 한것과는 달리 블록 기반이 아닌 다른 방식으로 움직임 보상을 하는 것을 들 수 있다.
셋째, 경계내 부호화(Contour Coding)와 객체 지향 부호화(Object Oriented Coding)방식을 포함하는 영역 기반 부호화(Region Based Coding)를 들 수 있다.
넷째, 1/1000 이상의 압축률을 실현할 수 있는 프랙탈(Fractal) 부호화 방식을 들 수 있다.
그리고 MPEG-4에서 지금까지 충분히 실현되지 못하고 있는 기능을 구현하기 위하여 추진하는 새로운 기능으로는 다음의 여덟가지를 들 수 있다.
부호화 효율의 개선,내용에 맞추는 스케일러빌리티,내용 조작과 비트열 편집,에러 내성의 개선,멀티미디어 데이터베이스의 액세스,복수의 동기 데이터 부호화,자연 데이터와 합성 데이터의 하이브리드 부호화,초저비트율에서의 랜덤 액세스성의 개선 등 이다.
이하, 첨부된 도면을 참고하여 종래 기술의 움직임 벡터 코딩 방법에 관하여 설명하면 다음과 같다.
도 1은 일반적인 8×8 모드에서의 움직임 벡터 추정 제한 범위를 나타낸 매트릭스이고, 도 2a내지 도 2d는 8×8 모드에서의 움직임 벡터 예측의 후보를 나타낸 구성도이다. 그리고 도 3은 움직임 벡터의 중간값 예측에서 제한 범위를 넘는 경우의 예를 나타낸 구성도이다.
현재 표준화가 진행중인 MPEG-4에서 정수단위의 픽셀 움직임 추정(Integer pixel motion Estimation)시에 수행되는 8×8 블록별 서치 동작은 16×16 움직임 벡터를 중심으로 ±2 픽셀의 서치 윈도우내에서 수행되도록 하고 있다.
그러므로 특정의 매크로 블록이 8×8 모드로 선택되었을 때 매크로 블록내의 4개의 블록에 대한 각 움직임 벡터는 일정한 바운드(bound)내에 모두 들어오게 된다.
도 1에 나타낸 매트릭스가 8×8 모드로 선택된 매크로 블록의 4개의 블록 움직임 벡터가 가리킬 수 있는 바운드를 보여준다.
이러한 4개의 움직임 벡터들의 바운드는 움직임 벡터(Motion vector)의 코딩 효율을 올리는데 크게 기여한다.
바운드내에 있는 4개의 각 블록에 해당하는 움직임 벡터의 구성들은 인접한 3개의 후보 움직임 벡터의 중간값(Median value)을 예측치로 하여 차성분(MVDx,MVDy)이 부호화된다.
이를 식으로 표현하면
px= Median(MV1x,MV2x,MV3x)
Py= Median(MV1y,MV2y,MV3y)이고, MVDx = MVx- Px, MVDy = MVy- Py이다.
도 1에서 움직임 벡터 추정의 제한 범위를 나타내었으나 이는 다음의 사항을 이유로 하여 완변하게 MPEG-4의 VM(Verification Model)을 지원하지 못한다.
도 2에서와 같이, 8×8 모드 매크로 블록에서의 움직임 벡터 예측 후보를 보면 중간값 예측치로 사용되는 움직임 벡터값이 8×8 모드에서의 움직임 벡터 제한 범위를 넘게되는 경우는 블록1을 제외하면 블록2에 해당하는 MVD2뿐이다.
도 2는 MPEG-4에서 움직임 벡터의 추정을 위한 알고리듬에 따라 8×8 모드에서의 움직임 벡터의 후보를 나타낸 것이다.
이 경우에 세 개의 움직임 벡터 예측 후보중 단하나만의 8×8 모드로 선택된 매크로 블록내에 속해 있으므로 중간값으로 구해진 예측치로부터 얻어지는 MVD2의 절대치는 제한 범위 5.0을 넘을 수 있다.
움직임 벡터 제한 범위를 넘게되는 경우 즉,중간값으로 인한 예측치가 제한 범위 밖에 있는 경우가 발생하는데, 블록2의 MV를 MVCurrentBlock(해당 블록의 움직임 벡터)로,블록2의 MV1을 MVInsideMBPrediction(바운드내의 움직임 벡터 예측값)로,블록2의 중간값 예측치 Median(MV1,MV2,MV3)를 MVMedianPrediction로 정의하였을 경우 도 3에서와 같이, MVMedianPrediction가 제한 범위를 넘어 바로 인접한 점에 놓인 경우를 보인다.
바운드내에 있는 4개의 각 블록에 해당하는 움직임 벡터의 구성들은 인접한 3개의 후보 움직임 벡터의 중간값(Median value)을 예측치로 하여 차성분(MVDx,MVDy)(MVD:Motion Vector Differential)을 부호화하는 종래 기술의 동영상 움직임 벡터 코딩 방법에서는 움직임 벡터 제한 범위를 넘게되는 경우 즉,중간값으로 인한 예측치가 제한 범위 밖에 있는 경우가 발생하여 비트량의 손실을 가져오는 문제점이 있다.
본 발명은 상기와 같은 종래 기술의 동영상 움직임 벡터 코딩 방법의 문제를 해결하기위하여 안출한 것으로,동영상의 부호화 과정에서 전체 비트율을 줄이는데 적당하도록한 동영상 움직임 벡터 코딩 방법을 제공하는데 그 목적이 있다.
도 1은 일반적인 8×8 모드에서의 움직임 벡터 추정 제한 범위를 나타낸 매트릭스
도 2a내지 도 2d는 8×8 모드에서의 움직임 벡터 예측의 후보를 나타낸 구성도
도 3은 움직임 벡터의 중간값 예측에서 제한 범위를 넘는 경우의 예를 나타낸 구성도
도 4는 본 발명에 따른 움직임 벡터 코딩 과정을 나타낸 플로우차트
도 5a내지 도 5d는 본 발명에 따른 움직임 벡터 코딩에 의한 비트율 변화를 나타낸 결과 테이블
동영상의 부호화 과정에서 전체 비트율을 줄이는데 적당하도록한 본 발명의 동영상 움직임 벡터 코딩 방법은 매크로 블록에 대한 탐색 모드가 8×8모드로 선택되면 해당 매크로 블록을 구성하는 4개의 8×8블록에서 첫 번째 블록의 움직임 벡터 예측 후보를 탐색하는 단계와,해당 8×8블록의 제 1,2,3 움직임 벡터 예측 후보의 탐색이 완료면 순차적으로 블록2,블록3,블록4들의 각각의 제 1,2,3 움직임 벡터 예측 후보를 탐색하는 단계와,첫 번째 8×8 블록의 움직임 벡터 중간 예측값(MVMedianPrediction)이 움직임 벡터 바운드내에 있는지를 비교하여 바운드내에 있다면 움직임 벡터 중간 예측값을 해당 8×8블록을 부호화하기 위한 예측값으로 결정하는 단계와,상기 판단 단계에서 움직임 벡터 중간 예측값이 바운드내에 있지않다면 선택적으로 제 1,2,3 움직임 벡터 예측 후보중에서 바운드내에 있는 예측 후보의 벡터값 또는 움직임 벡터 중간 예측값을 해당 8×8블록을 부호화하기 위한 예측값(PMV)으로 결정하는 단계와,움직임 벡터 중간 예측값이 바운드내에 있는지 없는지를 판단하여 예측값을 결정하는 단계를 해당 매크로 블록의 전체 8×8블록에 대하여 반복하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
이하, 첨부된 도면을 참고하여 본 발명의 동영상 움직임 벡터 코딩 방법에 관하여 상세히 설명하면 다음과 같다.
도 4는 본 발명에 따른 움직임 벡터 코딩 과정을 나타낸 플로우차트이고, 도 5a내지 도 5d는 본 발명에 따른 움직임 벡터 코딩에 의한 비트율 변화를 나타낸 결과 테이블이다.
움직임 벡터 제한 범위를 넘게되는 경우 즉,중간값으로 인한 예측치가 제한 범위 밖에 있는 경우에서 MVCurrentBlock가 제한 범위 내에서 균일한 확률 분포를 가진다고 가정하고,MVMedianPrediction또는 MVInsideMBPrediction가 예측 대상(Predictor)로 사용되었을 때 발생하는 비트량의 기대치는 다음과 같다.
비트량 기대치(E(R(MVCurrentBlock-MVMedianPrediction))
= (R(0.5)+R(1.0)+R(1.5)+R(2.0)+R(2.5)+R(3.0)+ .... +R(10.5))/21
= (3+4+5+7+3*10+11*11)/21 = 194/21 = 9.238(f_code = 1 일 때),
(2*4+2*5+2*6+2*8+6*9+6*11+12)/21 = 178/21 = 8.476(f_code = 2 일 때),
(4*5+4*6+4*7+4*9+5*10)/21 = 154/21 = 7.333(f_code = 3일 때)
비트량 기대치E(R(MVCurrentBlock- MVInsideMBPrediction))
= (R(0)+2*(R(0.5)+R(1.0)+R(1.5)+ .... +R(5.0)))/21
= (1+2*(3+4+5+7+3*8+3*10))/21 = 147/21 =7(f_code = 1일 때),
(1+2*(2*4+2*5+2*6+2*8+2*9))/21 = 129/21 =6.143(f_code = 2일 때),
(1+2*(4*5+4*6+2*7))/21 = 117/21 = 5.571(f_code = 3일 때)
이다.
여기서, R(MVD)는 MVD에 대해 발생되는 비트량을 나타낸다.
확률적으로 볼 때 MVMedianPrediction가 움직임 벡터 바운드를 넘어서게 되면 모든 f_코드에 대해서 각 컴포넌트(Component)당 대략 2비트 정도의 비트량이 증가하는 것을 알 수 있다.
본 발명은 이와 같이 MVMedianPrediction가 움직임 벡터 바운드를 넘어서는 경우 발생하는 비트량 증가를 막기 위한 것으로, 중간값 예측 대상(Median Predictor)으로 사용되는 MVMedianPrediction가 규정하는 바운드를 벗어날 경우에는 선택적으로MVInsideMBPrediction를 예측값으로 사용하는 것이다.
즉, 블록2(규정하는 바운드를 벗어난 경우)에 대한 움직임 벡터 예측값(Motion Vector Prediction:PMV) 선택 부분을 다음과 같이 변경하는 것이다.
PMV = Median(MV1,MV2,MV3)
if(ABS(PMV - MV1) 〉 THR)PMV = MV1
여기서, THR은 8×8 모드에서 실제 움직임 벡터 제한범위를 나타낸다. THR의 최대치는 5.0이다. 그리고 상기 움직임 예측 후보가 규정하는 바운드를 벗어나는 경우는 현재의 MFEG-4에서 두 번째 8×8 블록(도 2b)일 경우가 많다. 그러므로 본 발명의 실시예에서는 블록 2의 경우에만 상기와 같은 THR과 비교하는 알고리듬에 적용한다.
이와 같은 원리를 이용한 본 발명의 동영상 움직임 벡터 코딩 방법에 관하여 도 4를 참고하여 설명하면 다음과 같다.
도 4는 본 발명의 움직임 벡터 코딩의 실시예를 나타낸 플로우 차트이다.
먼저, 움직임 벡터 코딩을 위한 매크로 블록에 대한 탐색 모드를 8×8모드로 선택한다.(401S)
이어, 해당 매크로 블록을 구성하는 4개의 8×8블록에서 첫 번째 블록(블록 1)의 움직임 벡터 예측 후보를 탐색한다.(402S)
해당 8×8블록의 제 1,2,3 움직임 벡터 예측 후보의 탐색이 끝났는가를 판단하고(403S) 블록 1의 움직임 벡터 예측 후보의 탐색이 끝났다면 순차적으로 블록2,블록3,블록4들의 각각의 제 1,2,3 움직임 벡터 예측 후보(MV1)(MV2)(MV3)의 탐색을 한다.(404S)
이어, 첫 번째 8×8 블록의 움직임 벡터 중간 예측값(MVMedianPrediction)이 움직임 벡터 바운드내에 있는지를 비교한다.(405S)
상기 405S에서의 비교에서 움직임 벡터 중간 예측값이 바운드내에 있는가를 판단하여(406S) 바운드내에 있다면 움직임 벡터 중간 예측값을 해당 8×8블록을 부호화하기 위한 예측값으로 결정한다.(407S)
상기 판단 단계에서 움직임 벡터 중간 예측값이 바운드내에 있지않다면 움직임 벡터 중간값 - 바운드내에 있는 예측후보의 벡터값의 절대치를 설정된 드레시홀드값(THR)과 비교한다.(408S)
비교 결과 설정된 THR이 크다면 제 1,2,3 움직임 벡터 예측 후보중에서 바운드내에 있는 예측 후보의 벡터값을 해당 8×8블록을 부호화하기 위한 예측값으로 결정한다.(409S)
비교 결과 설정된 THR이 작다면 움직임 벡터 중간 예측값을 해당 8×8블록을 부호화하기 위한 예측값으로 결정한다.(407S)
상기와 같은 움직임 벡터 중간 예측값이 바운드내에 있는지 없는지를 판단하고 설정된 THR과 비교하여 예측값을 결정하는 단계를 해당 매크로 블록의 전체 8×8블록에 대하여 반복한다.(410S)
이와 같이 예측값이 결정되면 전체 움직임 벡터에서의 예측값 차성분이 코딩된다.
이와 같은 본 발명의 동영상 움직임 벡터 코딩 방법은 8×8 모드로 선택되는 경우 MVMedianPrediction가 움직임 벡터 바운드를 넘어서는 경우 발생하는 비트량 증가를 막기 위한 것으로, 중간값 예측 대상(Median Predictor)으로 사용되는 MVMedianPrediction가 규정하는 THR을 벗어날 경우에는 MVInsideMBPrediction를 예측값으로 사용하여 부호화시에 비트량의 증가를 억제하는 것이다.
이와 같은 본 발명의 움직임 벡터 코딩 기술을 이용한 실시예에 관하여 설명하면 다음과 같다.
본 발명에 따른 움직임 벡터 코딩 기술을 이용하여 실제 움직임 벡터 코딩을하였을때의 비트량을 나타낸 것으로 그 실시 조건은 다음과 같다.
첫째, 양자화 파라미터(Quantization parameter:QP)는 각 시퀀스에 대해 한값으로 고정되고,스킵된 매크로 블록의 움직임 벡터는 계산량에 포함하지 않는다.
둘째, 확장 예측 모드로 시퀀스 리솔루션 포맷은 QCIF(Quarter Common Intermediate Format)(176×144), 프레임율은 10Hz(300프레임)이다.
셋째, f_code=1(MV탐색 영역:-16.0 ∼ +15.5) 그리고 부호화 기법은 No shape coding(rectangular)으로 한다.
도 5a와 도 5b의 테이블은 본 발명의 예측값 결정에 따라 바운드를 벗어나는 움직임 예측값을 갖는 블록(MVD2)을 부호화했을 경우의 결과를 나타낸 것이고(도 5a는 QP=10,도 5b는 QP=20), 도 5c와 도 5d는 전체 움직임 벡터를 부호화 하였을 경우의 결과를 나타낸 것이다(도 5c는 QP=10,도 5d는 QP=20).
그 결과를 보면, MFEG-4 비디오 VM 5.0보다 효율적으로 움직임 벡터의 코딩이 이루어지는 것(비트량 증가 억제)을 알 수 있다. 이는 움직임 벡터의 코딩의 효율성을 높여 VM 6.0에 적용할 수 있음을 보여주는 것이다.
중간값 예측 대상(Median Predictor)으로 사용되는 MVMedianPrediction가 규정하는 바운드를 벗어날 경우에는 선택적으로 MVInsideMBPrediction를 예측값으로 사용하여 움직임 벡터 코딩시에 비트량을 증가를 막아 보다 효율적인 코딩이 이루어지게 하는 효과가 있다.
Claims (6)
- 매크로 블록에 대한 탐색 모드가 8×8모드로 선택되면 해당 매크로 블록을 구성하는 4개의 8×8블록에서 첫 번째 블록의 움직임 벡터 예측 후보를 탐색하는 단계와,해당 8×8블록의 제 1,2,3 움직임 벡터 예측 후보(MV1)(MV2)(MV3)의 탐색이 완료면 순차적으로 블록2,블록3,블록4들의 각각의 제 1,2,3 움직임 벡터 예측 후보를 탐색하는 단계와,첫 번째 8×8 블록의 움직임 벡터 중간 예측값(MVMedianPrediction)이 움직임 벡터 바운드내에 있는지를 비교하여 바운드내에 있다면 움직임 벡터 중간 예측값을 해당 8×8블록을 부호화하기 위한 예측값으로 결정하는 단계와,상기 판단 단계에서 움직임 벡터 중간 예측값이 바운드내에 있지않다면 선택적으로 제 1,2,3 움직임 벡터 예측 후보중에서 바운드내에 있는 예측 후보의 벡터값 또는 움직임 벡터 중간 예측값을 해당 8×8블록을 부호화하기 위한 예측값(PMV)으로 결정하는 단계와,움직임 벡터 중간 예측값이 바운드내에 있는지 없는지를 판단하여 예측값을 결정하는 단계를 해당 매크로 블록의 전체 8×8블록에 대하여 반복하는 단계를 포함하여 이루어지는 것을 특징으로 하는 동영상 움직임 벡터 코딩 방법.
- 제 1 항에 있어서, 움직임 벡터 중간 예측값이 바운드내에 있지않다면 움직임 벡터 예측값(PMV)의 결정은 움직임 벡터 중간값 - 바운드내에 있는 예측후보의 벡터값의 절대치를 설정된 드레시홀드값(THR)과 비교하여 THR이 작다면 제 1,2,3 움직임 벡터 예측 후보중에서 바운드내에 있는 예측 후보의 벡터값을 해당 8×8블록을 부호화하기 위한 예측값으로 결정하는 것을 특징으로 하는 동영상 움직임 벡터 코딩 방법.
- 제 2 항에 있어서, 움직임 벡터 제한 범위(THR)의 최대치는 5.0인 것을 특징으로 하는 동영상 움직임 벡터 코딩 방법.
- 제 1 항에 있어서, 움직임 벡터 중간 예측값이 바운드내에 있지않다면 움직임 벡터 예측값(PMV)의 결정은 움직임 벡터 중간값 - 바운드내에 있는 예측후보의 벡터값의 절대치를 설정된 드레시홀드값(THR)과 비교하여 THR이 크다면 움직임 벡터 중간 예측값을 해당 8×8블록을 부호화하기 위한 예측값으로 결정하는 것을 특징으로 하는 동영상 벡터 코딩 방법.
- 제 4 항에 있어서, 움직임 벡터 제한 범위(THR)의 최대치는 5.0인 것을 특징으로 하는 동영상 움직임 벡터 코딩 방법.
- 제 1 항에 있어서, 움직임 벡터 중간값 - 바운드내에 있는 예측후보의 벡터값의 절대치를 설정된 드레시홀드값(THR)과 비교하여 THR이 작은 경우는 MPEG-4의 움직임 벡터 예측 후보 탐색 알고리듬에 따라 해당 매크로 블록에서 두 번째로 탐색되는 8×8블록(Block 2)인 것을 특징으로 하는 동영상 움직임 벡터 코딩 방법.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970036230A KR100244291B1 (ko) | 1997-07-30 | 1997-07-30 | 동영상 움직임 벡터 코딩 방법 |
DE1997134882 DE19734882C2 (de) | 1997-07-30 | 1997-08-12 | Verfahren zum Kodieren von Bewegungsvektoren bei Filmaufnahmen |
JP23327897A JP2920208B2 (ja) | 1997-07-30 | 1997-08-15 | 動画像の動きベクトルの符号化方法 |
US09/065,575 US6289049B1 (en) | 1997-07-30 | 1998-04-24 | Method for coding motion vector in moving picture |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970036230A KR100244291B1 (ko) | 1997-07-30 | 1997-07-30 | 동영상 움직임 벡터 코딩 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990012726A KR19990012726A (ko) | 1999-02-25 |
KR100244291B1 true KR100244291B1 (ko) | 2000-02-01 |
Family
ID=19516313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970036230A KR100244291B1 (ko) | 1997-07-30 | 1997-07-30 | 동영상 움직임 벡터 코딩 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6289049B1 (ko) |
JP (1) | JP2920208B2 (ko) |
KR (1) | KR100244291B1 (ko) |
DE (1) | DE19734882C2 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010050706A2 (ko) * | 2008-10-31 | 2010-05-06 | 에스케이텔레콤 주식회사 | 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
Families Citing this family (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100249223B1 (ko) * | 1997-09-12 | 2000-03-15 | 구자홍 | 엠팩(mpeg)-4의움직임벡터코딩방법 |
US6983018B1 (en) * | 1998-11-30 | 2006-01-03 | Microsoft Corporation | Efficient motion vector coding for video compression |
US6680940B1 (en) * | 1999-05-19 | 2004-01-20 | 3Com Corporation | System for transporting ethernet frames over very high speed digital subscriber lines |
EP1134981A1 (en) * | 2000-03-17 | 2001-09-19 | STMicroelectronics S.r.l. | Automatic setting of optimal search window dimensions for motion estimation |
US6909749B2 (en) * | 2002-07-15 | 2005-06-21 | Pts Corporation | Hierarchical segment-based motion vector encoding and decoding |
KR100865034B1 (ko) | 2002-07-18 | 2008-10-23 | 엘지전자 주식회사 | 모션 벡터 예측 방법 |
GB0228281D0 (en) * | 2002-12-04 | 2003-01-08 | Imec Inter Uni Micro Electr | Coding of motion vectors produced by wavelet-domain motion estimation |
JP4217876B2 (ja) * | 2002-12-20 | 2009-02-04 | 財団法人生産技術研究奨励会 | 画像における移動物体の追跡方法及び装置 |
WO2004079916A2 (en) | 2003-03-03 | 2004-09-16 | Mobilygen Corporation | Array arrangement for memory words and combination of video prediction data for an effective memory access |
US8824553B2 (en) * | 2003-05-12 | 2014-09-02 | Google Inc. | Video compression method |
US20050013498A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Coding of motion vector information |
US8064520B2 (en) | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
US7567617B2 (en) | 2003-09-07 | 2009-07-28 | Microsoft Corporation | Predicting motion vectors for fields of forward-predicted interlaced video frames |
US7724827B2 (en) | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
KR100636785B1 (ko) * | 2005-05-31 | 2006-10-20 | 삼성전자주식회사 | 다시점 입체 영상 시스템 및 이에 적용되는 압축 및 복원방법 |
KR101217627B1 (ko) * | 2006-02-02 | 2013-01-02 | 삼성전자주식회사 | 블록 기반의 움직임 추정 방법 및 장치 |
US8358693B2 (en) | 2006-07-14 | 2013-01-22 | Microsoft Corporation | Encoding visual data with computation scheduling and allocation |
US8311102B2 (en) * | 2006-07-26 | 2012-11-13 | Microsoft Corporation | Bitstream switching in multiple bit-rate video streaming environments |
US8340193B2 (en) * | 2006-08-04 | 2012-12-25 | Microsoft Corporation | Wyner-Ziv and wavelet video coding |
US7388521B2 (en) * | 2006-10-02 | 2008-06-17 | Microsoft Corporation | Request bits estimation for a Wyner-Ziv codec |
US8340192B2 (en) * | 2007-05-25 | 2012-12-25 | Microsoft Corporation | Wyner-Ziv coding with multiple side information |
US8385404B2 (en) | 2008-09-11 | 2013-02-26 | Google Inc. | System and method for video encoding using constructed reference frame |
US8325796B2 (en) | 2008-09-11 | 2012-12-04 | Google Inc. | System and method for video coding using adaptive segmentation |
US8326075B2 (en) | 2008-09-11 | 2012-12-04 | Google Inc. | System and method for video encoding using adaptive loop filter |
SI3448031T1 (sl) * | 2009-06-18 | 2021-03-31 | Kabushiki Kaisha Toshiba | Naprava za video dekodiranje in postopek za video dekodiranje |
US9628794B2 (en) * | 2009-06-18 | 2017-04-18 | Kabushiki Kaisha Toshiba | Video encoding apparatus and a video decoding apparatus |
US9532059B2 (en) | 2010-10-05 | 2016-12-27 | Google Technology Holdings LLC | Method and apparatus for spatial scalability for video coding |
US8611415B1 (en) | 2010-11-15 | 2013-12-17 | Google Inc. | System and method for coding using improved motion estimation |
US8891626B1 (en) | 2011-04-05 | 2014-11-18 | Google Inc. | Center of motion for encoding motion fields |
US8693547B2 (en) | 2011-04-06 | 2014-04-08 | Google Inc. | Apparatus and method for coding using motion vector segmentation |
US8781004B1 (en) | 2011-04-07 | 2014-07-15 | Google Inc. | System and method for encoding video using variable loop filter |
US8780971B1 (en) | 2011-04-07 | 2014-07-15 | Google, Inc. | System and method of encoding using selectable loop filters |
US8780996B2 (en) | 2011-04-07 | 2014-07-15 | Google, Inc. | System and method for encoding and decoding video data |
US8638854B1 (en) | 2011-04-07 | 2014-01-28 | Google Inc. | Apparatus and method for creating an alternate reference frame for video compression using maximal differences |
US9154799B2 (en) | 2011-04-07 | 2015-10-06 | Google Inc. | Encoding and decoding motion via image segmentation |
US8804819B1 (en) | 2011-04-19 | 2014-08-12 | Google Inc. | Method and apparatus for encoding video using data frequency |
US8705620B1 (en) | 2011-04-28 | 2014-04-22 | Google Inc. | Method and apparatus for encoding anchor frame by encoding features using layers |
US9749638B1 (en) | 2011-04-28 | 2017-08-29 | Google Inc. | Method and apparatus for encoding video with dynamic quality improvement |
US8989256B2 (en) | 2011-05-25 | 2015-03-24 | Google Inc. | Method and apparatus for using segmentation-based coding of prediction information |
EP2727357A1 (en) | 2011-07-01 | 2014-05-07 | Motorola Mobility LLC | Motion vector prediction design simplification |
US8885706B2 (en) | 2011-09-16 | 2014-11-11 | Google Inc. | Apparatus and methodology for a video codec system with noise reduction capability |
WO2013067440A1 (en) | 2011-11-04 | 2013-05-10 | General Instrument Corporation | Motion vector scaling for non-uniform motion vector grid |
US9247257B1 (en) | 2011-11-30 | 2016-01-26 | Google Inc. | Segmentation based entropy encoding and decoding |
US9014265B1 (en) | 2011-12-29 | 2015-04-21 | Google Inc. | Video coding using edge detection and block partitioning for intra prediction |
US8908767B1 (en) | 2012-02-09 | 2014-12-09 | Google Inc. | Temporal motion vector prediction |
US9262670B2 (en) | 2012-02-10 | 2016-02-16 | Google Inc. | Adaptive region of interest |
US9094681B1 (en) | 2012-02-28 | 2015-07-28 | Google Inc. | Adaptive segmentation |
US9131073B1 (en) | 2012-03-02 | 2015-09-08 | Google Inc. | Motion estimation aided noise reduction |
WO2013162980A2 (en) | 2012-04-23 | 2013-10-31 | Google Inc. | Managing multi-reference picture buffers for video data coding |
US9609341B1 (en) | 2012-04-23 | 2017-03-28 | Google Inc. | Video data encoding and decoding using reference picture lists |
US9172970B1 (en) | 2012-05-29 | 2015-10-27 | Google Inc. | Inter frame candidate selection for a video encoder |
US9014266B1 (en) | 2012-06-05 | 2015-04-21 | Google Inc. | Decimated sliding windows for multi-reference prediction in video coding |
US11317101B2 (en) | 2012-06-12 | 2022-04-26 | Google Inc. | Inter frame candidate selection for a video encoder |
US9344729B1 (en) | 2012-07-11 | 2016-05-17 | Google Inc. | Selective prediction signal filtering |
US9380298B1 (en) | 2012-08-10 | 2016-06-28 | Google Inc. | Object-based intra-prediction |
US9288484B1 (en) | 2012-08-30 | 2016-03-15 | Google Inc. | Sparse coding dictionary priming |
US9756346B2 (en) | 2012-10-08 | 2017-09-05 | Google Inc. | Edge-selective intra coding |
US9407915B2 (en) | 2012-10-08 | 2016-08-02 | Google Inc. | Lossless video coding with sub-frame level optimal quantization values |
US9369732B2 (en) | 2012-10-08 | 2016-06-14 | Google Inc. | Lossless intra-prediction video coding |
US9485515B2 (en) | 2013-08-23 | 2016-11-01 | Google Inc. | Video coding using reference motion vectors |
US9503746B2 (en) | 2012-10-08 | 2016-11-22 | Google Inc. | Determine reference motion vectors |
US9210432B2 (en) | 2012-10-08 | 2015-12-08 | Google Inc. | Lossless inter-frame video coding |
US9225979B1 (en) | 2013-01-30 | 2015-12-29 | Google Inc. | Remote access encoding |
US9210424B1 (en) | 2013-02-28 | 2015-12-08 | Google Inc. | Adaptive prediction block size in video coding |
US9300906B2 (en) | 2013-03-29 | 2016-03-29 | Google Inc. | Pull frame interpolation |
US9756331B1 (en) | 2013-06-17 | 2017-09-05 | Google Inc. | Advance coded reference prediction |
US9313493B1 (en) | 2013-06-27 | 2016-04-12 | Google Inc. | Advanced motion estimation |
US9392272B1 (en) | 2014-06-02 | 2016-07-12 | Google Inc. | Video coding using adaptive source variance based partitioning |
US9578324B1 (en) | 2014-06-27 | 2017-02-21 | Google Inc. | Video coding using statistical-based spatially differentiated partitioning |
US9286653B2 (en) | 2014-08-06 | 2016-03-15 | Google Inc. | System and method for increasing the bit depth of images |
US9153017B1 (en) | 2014-08-15 | 2015-10-06 | Google Inc. | System and method for optimized chroma subsampling |
US10102613B2 (en) | 2014-09-25 | 2018-10-16 | Google Llc | Frequency-domain denoising |
US9807416B2 (en) | 2015-09-21 | 2017-10-31 | Google Inc. | Low-latency two-pass video coding |
CN109756739B (zh) * | 2017-11-07 | 2022-09-02 | 华为技术有限公司 | 图像预测方法和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4104067C2 (de) * | 1991-02-11 | 1994-08-25 | Telefonbau & Normalzeit Gmbh | Verfahren zur Verbesserung der Qualität von Bewegungsvektoren für digitale Bildübertragung |
US6160849A (en) * | 1992-06-29 | 2000-12-12 | Sony Corporation | Selectable field and frame based predictive video coding |
JPH0730896A (ja) * | 1993-06-25 | 1995-01-31 | Matsushita Electric Ind Co Ltd | 動きベクトル符号化及び復号化方法 |
FR2725577B1 (fr) * | 1994-10-10 | 1996-11-29 | Thomson Consumer Electronics | Procede de codage ou de decodage de vecteurs mouvement et dispositif de codage ou de decodage mettant en oeuvre ledit procede |
EP1274252A3 (en) * | 1995-08-29 | 2005-10-05 | Sharp Kabushiki Kaisha | Video coding device and video decoding device with a motion compensated interframe prediction |
US5896176A (en) * | 1995-10-27 | 1999-04-20 | Texas Instruments Incorporated | Content-based video compression |
US6005980A (en) * | 1997-03-07 | 1999-12-21 | General Instrument Corporation | Motion estimation and compensation of video object planes for interlaced digital video |
-
1997
- 1997-07-30 KR KR1019970036230A patent/KR100244291B1/ko not_active IP Right Cessation
- 1997-08-12 DE DE1997134882 patent/DE19734882C2/de not_active Expired - Fee Related
- 1997-08-15 JP JP23327897A patent/JP2920208B2/ja not_active Expired - Fee Related
-
1998
- 1998-04-24 US US09/065,575 patent/US6289049B1/en not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010050706A2 (ko) * | 2008-10-31 | 2010-05-06 | 에스케이텔레콤 주식회사 | 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
WO2010050706A3 (ko) * | 2008-10-31 | 2010-08-05 | 에스케이텔레콤 주식회사 | 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
US8976863B2 (en) | 2008-10-31 | 2015-03-10 | Sk Telecom Co., Ltd. | Method and apparatus for encoding motion vector, and method and apparatus for encoding/decoding image using same |
US9392300B2 (en) | 2008-10-31 | 2016-07-12 | Sk Telecom Co., Ltd. | Method and apparatus for encoding a motion vector, and method and apparatus for encoding/decoding image using same |
US9781445B2 (en) | 2008-10-31 | 2017-10-03 | Sk Telecom Co., Ltd. | Method and apparatus for encoding a motion vector, and method and apparatus for encoding/decoding image using same |
US9794590B2 (en) | 2008-10-31 | 2017-10-17 | Sk Telecom Co., Ltd. | Method and apparatus for encoding a motion vector, and method and apparatus for encoding/decoding image using same |
US9955182B2 (en) | 2008-10-31 | 2018-04-24 | Sk Telecom Co., Ltd. | Method and apparatus for encoding a motion vector, and method and apparatus for encoding/decoding image using same |
Also Published As
Publication number | Publication date |
---|---|
KR19990012726A (ko) | 1999-02-25 |
US6289049B1 (en) | 2001-09-11 |
DE19734882C2 (de) | 2002-01-24 |
JPH1169357A (ja) | 1999-03-09 |
JP2920208B2 (ja) | 1999-07-19 |
DE19734882A1 (de) | 1999-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100244291B1 (ko) | 동영상 움직임 벡터 코딩 방법 | |
TWI706670B (zh) | 廣義運動向量差解析度 | |
KR100226722B1 (ko) | 동영상 움직임 벡터 추정 방법 | |
KR100681370B1 (ko) | 전방 예측된 인터레이스드 비디오 프레임의 필드에 대한모션 벡터의 예측 | |
CA2702769C (en) | Motion estimation and compensation of video object planes for interlaced digital video | |
US20060268166A1 (en) | Method and apparatus for coding motion and prediction weighting parameters | |
MXPA06002525A (es) | Codificacion y descodificacion para video entrelazado. | |
JPH10304364A (ja) | インターレースされたデジタルビデオ用のイントラ−マクロブロックのdc及びac係数予測 | |
JP2002532026A (ja) | 動き推定とブロックマッチング・パターンの改良 | |
JP7372433B2 (ja) | オプティカルフローを用いた予測リファインメントに関する方法および装置 | |
KR20050045746A (ko) | 계층 구조의 가변 블록 크기를 이용한 움직임 추정 방법및 장치 | |
Ma et al. | An improved adaptive rood pattern search for fast block-matching motion estimation in JVT/H. 26L | |
US20070133689A1 (en) | Low-cost motion estimation apparatus and method thereof | |
CN115002454A (zh) | 关于利用光流的预测细化的方法和装置 | |
Chen et al. | Rate-distortion optimal motion estimation algorithm for video coding | |
US20160127731A1 (en) | Macroblock skip mode judgement method for encoder | |
EP1819173B1 (en) | Motion vector predictive encoding apparatus and decoding apparatus | |
CN114979631A (zh) | 用于利用光流的预测细化、双向光流和解码器侧运动矢量细化的方法和装置 | |
CN117793346A (zh) | 视频编解码中的细化量化步骤 | |
Wei et al. | A fast hierarchical 1/4-pel fractional pixel motion estimation algorithm of H. 264/AVC video coding | |
KR20040110755A (ko) | 예측 모드 선택 방법과 그 장치, 그 방법을 이용한 동영상압축 방법과 그 장치를 포함한 동영상 부호화기 및 상기방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 기록매체 | |
Khan et al. | A variable block size motion estimation algorithm for real-time H. 264 video encoding | |
KR20060109440A (ko) | 전력 최적화 콜로케이팅된 움직임 추정 방법 | |
KR100986992B1 (ko) | H.264 인코딩 시 고속 인터 모드 결정 방법 | |
KR20070061214A (ko) | 저비용 움직임 추정 장치 및 움직임 추정 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20070918 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |