KR100595616B1 - 디지털 동영상 트랜스코딩을 위한 움직임 추정 방법 - Google Patents

디지털 동영상 트랜스코딩을 위한 움직임 추정 방법 Download PDF

Info

Publication number
KR100595616B1
KR100595616B1 KR20030083745A KR20030083745A KR100595616B1 KR 100595616 B1 KR100595616 B1 KR 100595616B1 KR 20030083745 A KR20030083745 A KR 20030083745A KR 20030083745 A KR20030083745 A KR 20030083745A KR 100595616 B1 KR100595616 B1 KR 100595616B1
Authority
KR
South Korea
Prior art keywords
sad
less
vector
adjustment vector
motion vector
Prior art date
Application number
KR20030083745A
Other languages
English (en)
Other versions
KR20050049966A (ko
Inventor
서광덕
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR20030083745A priority Critical patent/KR100595616B1/ko
Priority to EP04027707.1A priority patent/EP1534017B1/en
Priority to JP2004339676A priority patent/JP3955297B2/ja
Priority to CNB2004100957122A priority patent/CN100367801C/zh
Priority to US10/998,086 priority patent/US7720155B2/en
Publication of KR20050049966A publication Critical patent/KR20050049966A/ko
Application granted granted Critical
Publication of KR100595616B1 publication Critical patent/KR100595616B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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

Abstract

본 발명은 동영상 트랜스코더의 부호화 시 기본 움직임 벡터(BMV)를 이용한 움직임 벡터를 추정할 경우 불필요한 탐색점의 수를 줄임으로써, 기존의 방법에 비해서 계산 복잡도를 70% 이상 줄일 수 있도록 하는 디지털 동영상 트랜스코딩을 위한 움직임 추정 방법에 관한 것으로, 동영상 트랜스코더의 부호화 시 기본 움직임 벡터(BMV)를 이용한 새로운 움직임 벡터의 추정을 위한 최적의 조정벡터(
Figure 112003044408210-pat00001
)를 구함에 있어서, 기본 움직임 벡터 주변에 지정된 소정 탐색영역의 중심 좌표에서 1픽셀 이내의 위치에 있는 각 점에서의 SAD(
Figure 112003044408210-pat00002
) 값에 의해 움직임 벡터 필드(MV field)의 방향을 구하는 제1단계와; 상기 검출된 움직임 벡터 필드의 방향이 임의의 축(x 또는 y 축)에 위치하는 경우, 그 외측으로 1 픽셀만큼 떨어진 위치에서의 SAD(
Figure 112003044408210-pat00003
) 를 구하고, 이전 위치에서의 SAD(
Figure 112003044408210-pat00004
) 값과의 비교에 의해 작은 값을 갖는 SAD(
Figure 112003044408210-pat00005
) 의 조정벡터(
Figure 112003044408210-pat00006
)를 최적의 조정벡터(
Figure 112003044408210-pat00007
)로 설정하는 제2단계와; 상기 검출된 움직임 벡터 필드의 방향이 임의의 사분면 내에 위치하는 경우, 해당 사분면에서 탐색 영역의 중심 좌표와 가장 가까운 위치에서 구한 SAD(
Figure 112003044408210-pat00008
) 와 나머지 위치에서 구한 SAD(
Figure 112003044408210-pat00009
)를 비교하여, 가장 작은 값을 갖는 SAD(
Figure 112003044408210-pat00010
) 의
Figure 112003044408210-pat00011
를 최적의 조정벡터(
Figure 112003044408210-pat00012
)로 설정하는 제3단계를 포함하여 이루어짐으로써 달성할 수 있다.

Description

디지털 동영상 트랜스코딩을 위한 움직임 추정 방법{MOTION ESTIMATION METHOD FOR DIGITAL VIDEO TRANS-CODING}
도 1은 일반적인 동영상 트랜스코더의 구성을 보인 블록도.
도 2는 본 발명을 적용하기 위한 탐색 패턴을 보인 예시도.
도 3은 본 발명에 따른 기본 움직임 벡터를 이용한 움직임 추정 과정을 보인 순서도.
도 4는 본 발명과 기존의 전역탐색에 의한 방법으로 움직임 추정을 할 경우의 PSNR 실험 결과를 보인 그래프도.
본 발명은 디지털 동영상 트랜스코딩을 위한 움직임 추정 방법에 관한 것으로, 특히 동영상 트랜스코더의 부호화 시 기본 움직임 벡터(BMV)를 이용한 움직임 벡터를 추정할 경우 불필요한 탐색점의 수를 줄임으로써, 기존의 방법에 비해서 계산 복잡도를 70% 이상 줄일 수 있도록 하는 디지털 동영상 트랜스코딩을 위한 움직임 추정 방법에 관한 것이다.
일반적으로, 트랜스 코딩(Trans-coding) 이란 하나의 컨텐츠를 다양한 기기 에서 출력할 수 있도록 하는 기술로서, 동영상 부호화 표준이 점차 다양해지고 동영상을 수신하는 단말기의 LCD 해상도와, 동영상을 전송해야 할 네트웍이 다양해짐에 따라 디지털 동영상을 트랜스코딩 해야 할 필요성이 점차 증대되고 있다.
트랜스코딩의 범주는 크게 세 가지로 분류가 가능하다. 첫째, 특정 동영상 표준에 의해 부호화 된 비트스트림을 다른 동영상 표준으로 바꾸는 것, 둘째, 영상 해상도를 수신 단말의 LCD 해상도에 맞게 변환시키는 것, 셋째, 전송해야 할 네트웍의 대역폭에 맞도록 동영상의 전송 비트율을 변환하는 것 등이다.
도1은 일반적인 동영상 트랜스코더의 구성을 보인 블록도로서, 본 발명은 트랜스코더 내부의 부호화 과정에서 필요한 움직임 추정 부분에 적용되는 기술이다.
비디오 트랜스코딩 시에 가장 중요한 문제 중의 하나가 효과적인 움직임 추정을 통한 최적의 움직임 벡터 설정이다. 일반적으로 동영상 부호화에서 가장 복잡도가 높은 부분이 움직임 추정이며, 트랜스코딩에서도 마찬가지로 움직임 추정은 다른 부분보다 높은 복잡도를 요구한다.
트랜스코딩을 위한 기존의 움직임 추정 방법으로 가장 일반적인 방법은 전역탐색(full search) 방법으로서, 트랜스코더에는 이미 압축된 동영상 비트스트림이 입력되기 때문에, 비트스트림에 포함되어 있는 움직임 벡터들로부터 1차적인 움직임 벡터 정보를 얻을 수 있다.
일반적으로, 상기 1차적인 움직임 벡터 정보를 기본 움직임 벡터(BMV : Base Motion Vector)라고 부르고, 이 BMV 정보를 이용할 경우에는 트랜스코딩 시에 적용될 새로운 움직임 벡터를 추정하기 위해 필요한 탐색 영역의 크기가 BMV 주변의 [- 2, 2] 정도의 윈도우 크기이면 충분하다고 알려져 있다.
즉, 움직임 추정을 위한 탐색 영역의 크기가 매우 좁기 때문에, 전역 탐색을 실시하더라도 계산 복잡도 상으로 큰 문제가 있는 것은 아니다. 도2에 도시된 바와 같이 전역탐색을 실시할 경우, 탐색 영역에 포함되는 픽셀의 개수가 25개이므로 움직임 추정 과정에서 필요한 SAD(sum of absolute difference) 계산 회수는 25회나 된다.
그러나, 저전력 및 모바일(Mobile) 환경과 같은 실제 응용에 있어서, [-2, 2] 영역 내에서 보다 낮은 계산 복잡도로 움직임 추정을 실시하여, 가능한 SAD 계산회수를 낮추는 것이 바람직하다.
따라서, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 창출한 것으로, 동영상 트랜스코더의 부호화 시 기본 움직임 벡터(BMV)를 이용한 움직임 벡터를 추정할 경우 불필요한 탐색점의 수를 줄임으로써, 기존의 방법에 비해서 계산 복잡도를 70% 이상 줄일 수 있도록 하는 디지털 동영상 트랜스코딩을 위한 움직임 추정 방법을 제공함에 그 목적이 있다.
이와 같은 목적을 달성하기 위한 본 발명은, 동영상 트랜스코더의 부호화 시 기본 움직임 벡터(BMV)를 이용한 새로운 움직임 벡터의 추정을 위한 최적의 조정벡터(
Figure 112003044408210-pat00013
)를 구함에 있어서, 기본 움직임 벡터 주변에 지정된 소정 탐색영역의 중심 좌표에서 1픽셀 이내의 위치에 있는 각 점에서의 SAD(
Figure 112003044408210-pat00014
) 값에 의해 움직임 벡터 필 드(MV field)의 방향을 구하는 제1단계와; 상기 검출된 움직임 벡터 필드의 방향이 임의의 축(x 또는 y 축)에 위치하는 경우, 그 외측으로 1 픽셀만큼 떨어진 위치에서의 SAD(
Figure 112003044408210-pat00015
) 를 구하고, 이전 위치에서의 SAD(
Figure 112003044408210-pat00016
) 값과의 비교에 의해 작은 값을 갖는 SAD(
Figure 112003044408210-pat00017
) 의 조정벡터(
Figure 112003044408210-pat00018
)를 최적의 조정벡터(
Figure 112003044408210-pat00019
)로 설정하는 제2단계와; 상기 검출된 움직임 벡터 필드의 방향이 임의의 사분면 내에 위치하는 경우, 해당 사분면에서 탐색 영역의 중심 좌표와 가장 가까운 위치에서 구한 SAD(
Figure 112003044408210-pat00020
) 와 나머지 위치에서 구한 SAD(
Figure 112003044408210-pat00021
)를 비교하여, 가장 작은 값을 갖는 SAD(
Figure 112003044408210-pat00022
) 의
Figure 112003044408210-pat00023
를 최적의 조정벡터(
Figure 112003044408210-pat00024
)로 설정하는 제3단계를 포함하여 이루어진 것을 특징으로 한다.
본 발명에서 사용되는 BMV는 트랜스코더에 입력되는 움직임 벡터를 이용하여 기존의 방법에 의해 구할 수 있는 값이며
Figure 112003044408210-pat00025
로 표시한다.
Figure 112003044408210-pat00026
로부터
Figure 112003044408210-pat00027
만큼 떨어져 있는 곳에서의 SAD는 다음 수학식 (1)에 의해 구해지고 SAD(
Figure 112003044408210-pat00028
) 로 표시된다.
Figure 112003044408210-pat00029
---------------- (1)
여기서,
Figure 112003044408210-pat00030
: k 번째 프레임,
Figure 112003044408210-pat00031
:
Figure 112003044408210-pat00032
의 n 번째 매크로블록(MB) →
Figure 112003044408210-pat00033
=
Figure 112003044408210-pat00034
Figure 112003044408210-pat00035
: 기본 움직임 벡터
p : 이미지의 위치벡터[x,y]^T
Figure 112003044408210-pat00036
: 조정 벡터(adjustment vector)
본 발명에서는 상기 수학식 (1)을 이용하여 탐색영역 [-2, 2]에서 SAD를 최소화시키는 조정벡터
Figure 112003044408210-pat00037
를 간단한 방법으로 발견함으로써, 최적의 조정벡터(
Figure 112003044408210-pat00038
)를 구하게 되며, 이때
Figure 112003044408210-pat00039
은 다음 수학식 (2)에 의해 구할 수 있다.
Figure 112003044408210-pat00040
------------------ (2)
여기서,
Figure 112003044408210-pat00041
: 작은 탐색 영역(예, [-2, 2])
이하, 상기 수학식 (2)에 의한 과정을 최소의 계산량으로 얻을 수 있는 방법을 도3의 순서도를 참조하여 설명한다.
우선, 첫 번째 단계로 상기 수학식 (1)을 이용하여 도2에서
Figure 112003044408210-pat00042
의 중심 위치(①)에서의 각 SAD(SAD(0,0), SAD(0,1), SAD(0,-1), SAD(1,0), SAD(-1,0))를 계산한다.
이중 가장 작은 SAD 값을 갖는 SAD(
Figure 112003044408210-pat00043
) 를 SAD1으로 표시하며, 그 다음으로 작은 값을 갖는 SAD(
Figure 112003044408210-pat00044
) 를 SAD2로 표시한다. 그리고, 상기 SAD1에서 사용된
Figure 112003044408210-pat00045
값을
Figure 112003044408210-pat00046
으로 표시하고 SAD2에서 사용된
Figure 112003044408210-pat00047
값을
Figure 112003044408210-pat00048
로 표시하며, 이때
Figure 112003044408210-pat00049
Figure 112003044408210-pat00050
에 의해 구한다. 만약, 상기
Figure 112003044408210-pat00051
의 (x,y) 성분 중 적어도 하나가 0 이면,
Figure 112003044408210-pat00052
이 움직임 벡터 필드(MV field)의 방향이 되고 두 번째 단계로 이동한다. 그렇지 않다면
Figure 112003044408210-pat00053
가 움직임 벡터 필드(MV field)의 방향이 되고 세 번째 단계로 이동한다.
다음, 두 번째 단계는
Figure 112003044408210-pat00054
보다 탐색 영역의 외곽 쪽으로 1 픽셀만큼 떨어진 위치(②)에서 SAD(
Figure 112003044408210-pat00055
) 를 구한다. 이때의
Figure 112003044408210-pat00056
값은
Figure 112003044408210-pat00057
이다.
Figure 112003044408210-pat00058
값을 이용하여 다음 수학식에 의해 최적의 조정벡터(
Figure 112003044408210-pat00059
)를 얻는다.
If (SAD(
Figure 112003044408210-pat00060
) < SAD(
Figure 112003044408210-pat00061
))
Figure 112003044408210-pat00062
=
Figure 112003044408210-pat00063
; ------------------- (3)
Else
Figure 112003044408210-pat00064
=
Figure 112003044408210-pat00065
; ----------------------------------- (4)
다음, 세 번째 단계로
Figure 112003044408210-pat00066
는 도2에서 각 사분면의 첫 번째 위치(③) 중 하나가 된다. 도2에서
Figure 112003044408210-pat00067
의 위치가 1사분면, 2사분면, 3사분면, 4사분면 중 어디에 위치하느냐에 따라서 다음과 같은 4가지 방법이 적용하여, 해당 사분면의 첫 번째 위치(③)와 나머지 위치(④)에서 SAD값에 의해 최적의 조정벡터(
Figure 112003044408210-pat00068
)를 구하게 된다.
1)
Figure 112003044408210-pat00069
이 1사분면에 위치하는 경우:
If(SAD(
Figure 112003044408210-pat00070
) < SAD(
Figure 112003044408210-pat00071
+ (1, 0))){
If(SAD(
Figure 112003044408210-pat00072
) < SAD(
Figure 112003044408210-pat00073
+ (0, -1))
Figure 112003044408210-pat00074
=
Figure 112003044408210-pat00075
; ---------- (5)
Else{
If(SAD(
Figure 112003044408210-pat00076
+ (0,-1)) < SAD(
Figure 112003044408210-pat00077
+ (1, -1))
Figure 112003044408210-pat00078
=
Figure 112003044408210-pat00079
+ (0,-1); -- (6)
Else
Figure 112003044408210-pat00080
=
Figure 112003044408210-pat00081
+ (1,-1); --------------------- (7)
}
}
Else{
If(SAD(
Figure 112003044408210-pat00082
+ (1,0)) < SAD(
Figure 112003044408210-pat00083
+ (1,-1)))
Figure 112003044408210-pat00084
=
Figure 112003044408210-pat00085
+ (1,0); -- (8)
Else
Figure 112003044408210-pat00086
=
Figure 112003044408210-pat00087
+ (1,-1); ----------------------------------- (9)
}
2)
Figure 112003044408210-pat00088
이 2사분면에 위치하는 경우:
If(SAD(
Figure 112003044408210-pat00089
) < SAD(
Figure 112003044408210-pat00090
+ (-1, 0))){
If(SAD(
Figure 112003044408210-pat00091
) < SAD(
Figure 112003044408210-pat00092
+ (0, -1))
Figure 112003044408210-pat00093
=
Figure 112003044408210-pat00094
; ------------------ (10)
Else{
If(SAD(
Figure 112003044408210-pat00095
+ (0,-1)) < SAD(
Figure 112003044408210-pat00096
+ (-1, -1))
Figure 112003044408210-pat00097
=
Figure 112003044408210-pat00098
+ (0,-1); - (11)
Else
Figure 112003044408210-pat00099
=
Figure 112003044408210-pat00100
+ (-1,-1); ---------------------------- (12)
}
}
Else{
If(SAD(
Figure 112003044408210-pat00101
+ (-1,0)) < SAD(
Figure 112003044408210-pat00102
+ (-1,-1)))
Figure 112003044408210-pat00103
=
Figure 112003044408210-pat00104
+ (-1,0); - (13)
Else
Figure 112003044408210-pat00105
=
Figure 112003044408210-pat00106
+ (-1,-1); ----------------------------------- (14)
}
3)
Figure 112003044408210-pat00107
이 3사분면에 위치하는 경우:
If(SAD(
Figure 112003044408210-pat00108
) < SAD(
Figure 112003044408210-pat00109
+ (-1, 0))){
If(SAD(
Figure 112003044408210-pat00110
) < SAD(
Figure 112003044408210-pat00111
+ (0, 1))
Figure 112003044408210-pat00112
=
Figure 112003044408210-pat00113
; ------------------ (15)
Else{
If(SAD(
Figure 112003044408210-pat00114
+ (0,1)) < SAD(
Figure 112003044408210-pat00115
+ (-1,1))
Figure 112003044408210-pat00116
=
Figure 112003044408210-pat00117
+ (0,1); - (16)
Else
Figure 112003044408210-pat00118
=
Figure 112003044408210-pat00119
+ (-1,1); ---------------------------- (17)
}
}
Else{
If(SAD(
Figure 112003044408210-pat00120
+ (-1,0)) < SAD(
Figure 112003044408210-pat00121
+ (-1,1)))
Figure 112003044408210-pat00122
=
Figure 112003044408210-pat00123
+ (-1,0); - (18)
Else
Figure 112003044408210-pat00124
=
Figure 112003044408210-pat00125
+ (-1,1); ----------------------------------- (19)
}
4)
Figure 112003044408210-pat00126
이 4사분면에 위치하는 경우:
If(SAD(
Figure 112003044408210-pat00127
) < SAD(
Figure 112003044408210-pat00128
+ (1, 0))){
If(SAD(
Figure 112003044408210-pat00129
) < SAD(
Figure 112003044408210-pat00130
+ (0, 1))
Figure 112003044408210-pat00131
=
Figure 112003044408210-pat00132
; ------------------- (20)
Else{
If(SAD(
Figure 112003044408210-pat00133
+ (0,1)) < SAD(
Figure 112003044408210-pat00134
+ (1,1))
Figure 112003044408210-pat00135
=
Figure 112003044408210-pat00136
+ (0,1); - (21)
Else
Figure 112003044408210-pat00137
=
Figure 112003044408210-pat00138
+ (1,1); ------------------------------ (22)
}
}
Else{
If(SAD(
Figure 112003044408210-pat00139
+ (1,0)) < SAD(
Figure 112003044408210-pat00140
+ (1,1)))
Figure 112003044408210-pat00141
=
Figure 112003044408210-pat00142
+ (1,0); ------ (23)
Else
Figure 112003044408210-pat00143
=
Figure 112003044408210-pat00144
+ (1,1); ------------------------------------ (24)
}
이상에서 구한
Figure 112003044408210-pat00145
을 이용하여 n 번째 매크로블록에 할당될 최종 움직임 벡터 Vn 은 다음 수학식 (25)와 같이 얻을 수 있다.
Vn =
Figure 112003044408210-pat00146
+
Figure 112003044408210-pat00147
---------------------------------------------- (25)
상기 본 발명에 의한 계산 복잡도를 종래의 방법과 비교해 보면, 종래의 전역탐색 방법은 도2에 표시된 모든 위치에서 SAD를 계산하여야 하므로 계산 복잡도는 25회의 SAD 계산량에 해당하지만, 본 발명에서는 가장 계산량이 작은 경우가 두 번째 단계에서
Figure 112003044408210-pat00148
값이 도출되는 경우로서, 이 경우에 필요한 계산량은 6회의 SAD 계산량에 해당하여 계산량은 기존의 1/4 정도에 불과하다.
만약, 세 번째 단계로 넘어가게 될 경우에는 5가지 경우로 나뉘어지는데, 먼저 수학식 (5), (7), (8), (9) 와 같은 경우 8회의 SAD 계산이 요구되고, 수학식 (6)과 같은 경우는 9회의 SAD가 요구된다.
그리고, 두 번째 단계에서 움직임 추정이 끝날 확률과 세 번째 단계까지 가서야 움직임 추정이 끝날 확률이 동일하다고 보면, 하나의 매크로 블록에 대한 평균 계산량은 대략 7회의 SAD 계산량에 해당되어, 기존의 전역탐색 방법에서 요구되는 25회의 28%에 해당되는 계산량이 되므로 70% 이상의 계산 복잡도를 줄일 수 있는 효과를 얻게 된다.
도4는 본 발명과 기존의 전역탐색에 의한 방법으로 움직임 추정을 할 경우의 PSNR(Peaking Signal to Noise Ratio) 실험 결과를 보인 그래프도로서, 고 비트율(high bit-rate)의 MPEG-1 영상을 저 비트율(low bit-rate)의 동일한 MPEG-1 영상으로 트랜스코딩 할 때, 본 발명에 의한 움직임 추정을 적용한 경우와 기존의 전역탐색 방법에 의한 움직임 추정을 적용한 경우, 그리고 움직임 추정을 적용하지 않은 경우에 대한 PSNR 실험결과를 보인 것이다. 참고로, 이때 사용된 테스트 영상은 MPEG-1 으로 부호화된 "Football" 50 프레임이며, GOP 크기는 12이며 B-프레임이 존재하지 않는다.
도4를 참조하면, 본 발명에 의한 방법은 기존의 전역탐색 방법보다 계산 복잡도는 70% 정도 감소되었지만, PSNR 성능은 전역탐색 방법에 의한 결과와 거의 비슷함을 확인할 수 있다. 즉, 성능은 기존의 탐색방법과 비슷한 효과를 나타내면서 계산 복잡도는 훨씬 감소되는 것이다.
이상에서 설명한 바와 같이 본 발명 디지털 동영상 트랜스코딩을 위한 움직임 추정 방법은, 동영상 트랜스코더의 부호화 시 기본 움직임 벡터(BMV)를 이용한 움직임 벡터를 추정할 경우 불필요한 탐색점의 수를 줄임으로써, 기존의 방법에 비해서 계산 복잡도를 70% 이상 줄일 수 있도록 하는 효과가 있다.

Claims (9)

  1. 동영상 트랜스코더의 부호화 시 기본 움직임 벡터(BMV)를 이용한 새로운 움직임 벡터의 추정을 위한 최적의 조정벡터(
    Figure 112003044408210-pat00149
    )를 구함에 있어서,
    기본 움직임 벡터 주변에 지정된 소정 탐색영역의 중심 좌표에서 1픽셀 이내의 위치에 있는 각 점에서의 SAD(
    Figure 112003044408210-pat00150
    ) 값에 의해 움직임 벡터 필드(MV field)의 방향을 구하는 제1단계와;
    상기 검출된 움직임 벡터 필드의 방향이 임의의 축(x 또는 y 축)에 위치하는 경우, 그 외측으로 1 픽셀만큼 떨어진 위치에서의 SAD(
    Figure 112003044408210-pat00151
    ) 를 구하고, 이전 위치에서의 SAD(
    Figure 112003044408210-pat00152
    ) 값과의 비교에 의해 작은 값을 갖는 SAD(
    Figure 112003044408210-pat00153
    ) 의 조정벡터(
    Figure 112003044408210-pat00154
    )를 최적의 조정벡터(
    Figure 112003044408210-pat00155
    )로 설정하는 제2단계와;
    상기 검출된 움직임 벡터 필드의 방향이 임의의 사분면 내에 위치하는 경우, 해당 사분면에서 탐색 영역의 중심 좌표와 가장 가까운 위치에서 구한 SAD(
    Figure 112003044408210-pat00156
    ) 와 나머지 위치에서 구한 SAD(
    Figure 112003044408210-pat00157
    )를 비교하여, 가장 작은 값을 갖는 SAD(
    Figure 112003044408210-pat00158
    ) 의
    Figure 112003044408210-pat00159
    를 최적의 조정벡터(
    Figure 112003044408210-pat00160
    )로 설정하는 제3단계를 포함하여 이루어진 것을 특징으로 하는 디지털 동영상 트랜스코딩을 위한 움직임 추정 방법.
  2. 제1항에 있어서, 상기 탐색영역은 기본 움직임 벡터(BMV) 주변의 [-2, 2]의 윈도우 크기로 지정하는 것을 특징으로 하는 디지털 동영상 트랜스코딩을 위한 움 직임 추정 방법.
  3. 제1항에 있어서, 상기 움직임 벡터 필드의 방향은 중심 좌표에서 1픽셀 이내의 위치에 있는 각 점에서의 SAD(
    Figure 112006017946030-pat00161
    ) 값 중, 가장 작은 값을 갖는 SAD(
    Figure 112006017946030-pat00162
    )에 사용된 조정벡터
    Figure 112006017946030-pat00269
    Figure 112006017946030-pat00270
    이라고하고, 그 다음으로 작은 값을 갖는 SAD(
    Figure 112006017946030-pat00163
    )에 사용된 조정벡터
    Figure 112006017946030-pat00164
    Figure 112006017946030-pat00166
    라고할 때, 두 조정벡터(
    Figure 112006017946030-pat00271
    ,
    Figure 112006017946030-pat00272
    )을 합하여
    Figure 112006017946030-pat00167
    를 구하고, 그
    Figure 112006017946030-pat00168
    의 (x,y) 성분 중 적어도 하나가 0 이면, 상기 가장 작은 값을 갖는 SAD(
    Figure 112006017946030-pat00169
    ) 에서 사용된
    Figure 112006017946030-pat00170
    값(
    Figure 112006017946030-pat00171
    )을 움직임 벡터 필드의 방향으로 설정하도록 이루어진 것을 특징으로 하는 디지털 동영상 트랜스코딩을 위한 움직임 추정 방법.
  4. 제3항에 있어서, 상기 조정 벡터(
    Figure 112006017946030-pat00172
    )보다 탐색 영역으로 외곽 쪽으로 1 픽셀만큼 떨어진 위치의 SAD(
    Figure 112006017946030-pat00273
    )를 구하고, 이때의
    Figure 112006017946030-pat00173
    값이 2*
    Figure 112006017946030-pat00174
    이라고 할때, SAD(
    Figure 112006017946030-pat00175
    ) 가 SAD(
    Figure 112006017946030-pat00176
    ) 보다 작은 경우 최적 조정벡터(
    Figure 112006017946030-pat00177
    )는
    Figure 112006017946030-pat00178
    가 되고, SAD(
    Figure 112006017946030-pat00179
    ) 가 SAD(
    Figure 112006017946030-pat00180
    ) 보다 작지 않은 경우 최적 조정벡터(
    Figure 112006017946030-pat00274
    )는
    Figure 112006017946030-pat00181
    이 되는 것을 특징으로 하는 디지털 동영상 트랜스코딩을 위한 움직임 추정 방법.
  5. 제3항에 있어서, 상기
    Figure 112003044408210-pat00182
    (
    Figure 112003044408210-pat00183
    +
    Figure 112003044408210-pat00184
    )의 (x,y) 성분 중 하나도 0 이 없으면, 상기 (x,y) 좌표에 의해 움직임 벡터 필드가 위치하는 사분면을 판단하도록 이루어진 것을 특징으로 하는 디지털 동영상 트랜스코딩을 위한 움직임 추정 방법.
  6. 제5항에 있어서, 상기 움직임 벡터 필드가 위치하는 사분면이 제1 사분면인 경우, SAD(
    Figure 112003044408210-pat00185
    ) 가 SAD(
    Figure 112003044408210-pat00186
    + (1, 0)) 및 SAD(
    Figure 112003044408210-pat00187
    + (0, -1)) 보다 작으면
    Figure 112003044408210-pat00188
    를 최적 조정벡터로 설정하고, SAD(
    Figure 112003044408210-pat00189
    + (0, -1)) 가 SAD(
    Figure 112003044408210-pat00190
    ) 및 SAD(
    Figure 112003044408210-pat00191
    + (1, -1)) 보다 작으면
    Figure 112003044408210-pat00192
    + (0,-1) 를 최적 조정벡터로 설정하고, SAD(
    Figure 112003044408210-pat00193
    + (1, -1))가 SAD(
    Figure 112003044408210-pat00194
    ) 및 SAD(
    Figure 112003044408210-pat00195
    + (0, -1)) 보다 작으면
    Figure 112003044408210-pat00196
    + (1,-1) 를 최적 조정벡터로 설정하고, SAD(
    Figure 112003044408210-pat00197
    + (1,0)) 가 SAD(
    Figure 112003044408210-pat00198
    ) 및 SAD(
    Figure 112003044408210-pat00199
    + (1,-1)) 보다 작으면
    Figure 112003044408210-pat00200
    + (1,0) 를 최적 조정벡터로 설정하고, SAD(
    Figure 112003044408210-pat00201
    + (1,-1)) 가 SAD(
    Figure 112003044408210-pat00202
    ) 및 SAD(
    Figure 112003044408210-pat00203
    + (1,0)) 보다 작으면
    Figure 112003044408210-pat00204
    + (1,-1)를 최적 조정벡터로 설정하도록 이루어진 것을 특징으로 하는 디지털 동영상 트랜스코딩을 위한 움직임 추정 방법.
  7. 제5항에 있어서, 상기 움직임 벡터 필드가 위치하는 사분면이 제2 사분면인 경우, SAD(
    Figure 112003044408210-pat00205
    ) 가 SAD(
    Figure 112003044408210-pat00206
    + (-1, 0)) 및 SAD(
    Figure 112003044408210-pat00207
    + (0, -1)) 보다 작으면
    Figure 112003044408210-pat00208
    를 최적 조정벡터로 설정하고, SAD(
    Figure 112003044408210-pat00209
    + (0, -1)) 가 SAD(
    Figure 112003044408210-pat00210
    ) 및 SAD(
    Figure 112003044408210-pat00211
    + (-1, -1)) 보다 작으면
    Figure 112003044408210-pat00212
    + (0,-1) 을 최적 조정벡터로 설정하고, SAD(
    Figure 112003044408210-pat00213
    + (-1, -1))가 SAD(
    Figure 112003044408210-pat00214
    ) 및 SAD(
    Figure 112003044408210-pat00215
    + (0, -1)) 보다 작으면
    Figure 112003044408210-pat00216
    + (-1,-1) 을 최적 조정벡터로 설정하고, SAD(
    Figure 112003044408210-pat00217
    + (-1,0)) 가 SAD(
    Figure 112003044408210-pat00218
    ) 및 SAD(
    Figure 112003044408210-pat00219
    + (-1,-1)) 보다 작으면
    Figure 112003044408210-pat00220
    + (-1,0) 을 최적 조정벡터로 설정하고, SAD(
    Figure 112003044408210-pat00221
    + (-1,-1)) 가 SAD(
    Figure 112003044408210-pat00222
    ) 및 SAD(
    Figure 112003044408210-pat00223
    + (-1,0)) 보다 작으면
    Figure 112003044408210-pat00224
    + (-1,-1) 을 최적 조정벡터로 설정하도록 이루어진 것을 특징으로 하는 디지털 동영상 트랜스코딩을 위한 움직임 추정 방법.
  8. 제5항에 있어서, 상기 움직임 벡터 필드가 위치하는 사분면이 제3 사분면인 경우, SAD(
    Figure 112003044408210-pat00225
    ) 가 SAD(
    Figure 112003044408210-pat00226
    + (-1, 0)) 및 SAD(
    Figure 112003044408210-pat00227
    + (0, 1)) 보다 작으면
    Figure 112003044408210-pat00228
    를 최적 조정벡터로 설정하고, SAD(
    Figure 112003044408210-pat00229
    + (0,1)) 가 SAD(
    Figure 112003044408210-pat00230
    ) 및 SAD(
    Figure 112003044408210-pat00231
    + (-1,1)) 보다 작으면
    Figure 112003044408210-pat00232
    + (0,1) 을 최적 조정벡터로 설정하고, SAD(
    Figure 112003044408210-pat00233
    + (-1,1))가 SAD(
    Figure 112003044408210-pat00234
    ) 및 SAD(
    Figure 112003044408210-pat00235
    + (0,1)) 보다 작으면
    Figure 112003044408210-pat00236
    + (-1,1) 을 최적 조정벡터로 설정하고, SAD(
    Figure 112003044408210-pat00237
    + (-1,0)) 가 SAD(
    Figure 112003044408210-pat00238
    ) 및 SAD(
    Figure 112003044408210-pat00239
    + (-1,1)) 보다 작으면
    Figure 112003044408210-pat00240
    + (-1,0) 을 최적 조정벡터로 설정하고, SAD(
    Figure 112003044408210-pat00241
    + (-1,1)) 가 SAD(
    Figure 112003044408210-pat00242
    ) 및 SAD(
    Figure 112003044408210-pat00243
    + (-1,0)) 보다 작으면
    Figure 112003044408210-pat00244
    + (-1,1) 을 최적 조정벡터로 설정하도록 이루어진 것을 특징으로 하는 디지털 동영상 트랜스코딩을 위한 움직임 추정 방법.
  9. 제5항에 있어서, 상기 움직임 벡터 필드가 위치하는 사분면이 제4 사분면인 경우, SAD(
    Figure 112003044408210-pat00245
    ) 가 SAD(
    Figure 112003044408210-pat00246
    + (1, 0)) 및 SAD(
    Figure 112003044408210-pat00247
    + (0, 1)) 보다 작으면
    Figure 112003044408210-pat00248
    를 최적 조정벡터로 설정하고, SAD(
    Figure 112003044408210-pat00249
    + (0,1)) 가 SAD(
    Figure 112003044408210-pat00250
    ) 및 SAD(
    Figure 112003044408210-pat00251
    + (1,1)) 보다 작으면
    Figure 112003044408210-pat00252
    + (0,1) 을 최적 조정벡터로 설정하고, SAD(
    Figure 112003044408210-pat00253
    + (1,1))가 SAD(
    Figure 112003044408210-pat00254
    ) 및 SAD(
    Figure 112003044408210-pat00255
    + (0,1)) 보다 작으면
    Figure 112003044408210-pat00256
    + (1,1) 을 최적 조정벡터로 설정하고, SAD(
    Figure 112003044408210-pat00257
    + (1,0)) 가 SAD(
    Figure 112003044408210-pat00258
    ) 및 SAD(
    Figure 112003044408210-pat00259
    + (1,1)) 보다 작으면
    Figure 112003044408210-pat00260
    + (1,0) 을 최적 조정벡터로 설정하고, SAD(
    Figure 112003044408210-pat00261
    + (1,1)) 가 SAD(
    Figure 112003044408210-pat00262
    ) 및 SAD(
    Figure 112003044408210-pat00263
    + (1,0)) 보다 작으면
    Figure 112003044408210-pat00264
    + (1,1) 을 최적 조정벡터로 설정하도록 이루어진 것을 특징으로 하는 디지털 동영상 트랜스코딩을 위한 움직임 추정 방법.
KR20030083745A 2003-11-24 2003-11-24 디지털 동영상 트랜스코딩을 위한 움직임 추정 방법 KR100595616B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR20030083745A KR100595616B1 (ko) 2003-11-24 2003-11-24 디지털 동영상 트랜스코딩을 위한 움직임 추정 방법
EP04027707.1A EP1534017B1 (en) 2003-11-24 2004-11-22 System and method for estimating motion vector for transcoding digital video
JP2004339676A JP3955297B2 (ja) 2003-11-24 2004-11-24 デジタル動画像トランスコーディングのためのモーションベクトル推定方法
CNB2004100957122A CN100367801C (zh) 2003-11-24 2004-11-24 用于估算用于数字视频代码转换的运动矢量的系统和方法
US10/998,086 US7720155B2 (en) 2003-11-24 2004-11-24 System and method for estimating motion vector for transcoding digital video

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20030083745A KR100595616B1 (ko) 2003-11-24 2003-11-24 디지털 동영상 트랜스코딩을 위한 움직임 추정 방법

Publications (2)

Publication Number Publication Date
KR20050049966A KR20050049966A (ko) 2005-05-27
KR100595616B1 true KR100595616B1 (ko) 2006-06-30

Family

ID=34431818

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20030083745A KR100595616B1 (ko) 2003-11-24 2003-11-24 디지털 동영상 트랜스코딩을 위한 움직임 추정 방법

Country Status (5)

Country Link
US (1) US7720155B2 (ko)
EP (1) EP1534017B1 (ko)
JP (1) JP3955297B2 (ko)
KR (1) KR100595616B1 (ko)
CN (1) CN100367801C (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7742525B1 (en) * 2002-07-14 2010-06-22 Apple Inc. Adaptive motion estimation
US7792188B2 (en) 2004-06-27 2010-09-07 Apple Inc. Selecting encoding types and predictive modes for encoding video data
US20070064809A1 (en) * 2005-09-14 2007-03-22 Tsuyoshi Watanabe Coding method for coding moving images
KR100891768B1 (ko) * 2007-05-02 2009-04-07 삼성전자주식회사 모션 벡터 탐색 방법
WO2009045178A1 (en) * 2007-10-05 2009-04-09 Agency For Science, Technology And Research A method of transcoding a data stream and a data transcoder
US8498493B1 (en) 2009-06-02 2013-07-30 Imagination Technologies Limited Directional cross hair search system and method for determining a preferred motion vector
US20110138018A1 (en) * 2009-12-04 2011-06-09 Qualcomm Incorporated Mobile media server
EP2424243B1 (en) * 2010-08-31 2017-04-05 OCT Circuit Technologies International Limited Motion estimation using integral projection
US8495087B2 (en) * 2011-02-22 2013-07-23 International Business Machines Corporation Aggregate contribution of iceberg queries
KR102131903B1 (ko) * 2015-10-21 2020-07-08 삼성전자주식회사 모션 벡터 추정 방법 및 모션 벡터 추정 장치
CN110351571B (zh) * 2019-07-05 2020-09-25 清华大学 基于深度强化学习的直播视频云转码资源分配与调度方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6014181A (en) * 1997-10-13 2000-01-11 Sharp Laboratories Of America, Inc. Adaptive step-size motion estimation based on statistical sum of absolute differences
WO1999029113A1 (en) * 1997-11-27 1999-06-10 British Telecommunications Public Limited Company Transcoding
AU2001283004A1 (en) * 2000-07-24 2002-02-05 Vivcom, Inc. System and method for indexing, searching, identifying, and editing portions of electronic multimedia files
KR20020010171A (ko) 2000-07-27 2002-02-04 오길록 블록 정합 움직임 추정을 위한 적응적 예측 방향성 탐색방법
KR100727910B1 (ko) * 2000-10-11 2007-06-13 삼성전자주식회사 하이브리드형 고속 움직임 추정 방법 및 그 장치
KR100460950B1 (ko) * 2001-12-18 2004-12-09 삼성전자주식회사 트랜스코더 및 트랜스코딩 방법

Also Published As

Publication number Publication date
CN1622630A (zh) 2005-06-01
JP2005160100A (ja) 2005-06-16
EP1534017A2 (en) 2005-05-25
CN100367801C (zh) 2008-02-06
EP1534017B1 (en) 2016-01-20
US7720155B2 (en) 2010-05-18
JP3955297B2 (ja) 2007-08-08
KR20050049966A (ko) 2005-05-27
US20050111555A1 (en) 2005-05-26
EP1534017A3 (en) 2006-10-18

Similar Documents

Publication Publication Date Title
CN101044763B (zh) 编码器辅助式自适应视频帧内插
US6785333B2 (en) Motion vector coding method
US6816617B2 (en) Motion vector searcher and motion vector search method as well as moving picture coding apparatus
MX2007000254A (es) Metodo y aparato para utilizar tecnicas de conversion ascendente de indice de cuadro en codificacion de video que se puede escalar.
JP3855522B2 (ja) 動画変換装置
JPH0870460A (ja) 動き大小に適応する動き補償符号化方法及びその装置
JP2005507587A (ja) 空間的にスケーラブルな圧縮
WO2003067896A1 (en) Image information coding device and method and image information decoding device and method
KR20010083717A (ko) 움직임 추정 방법 및 장치
JP2004166183A (ja) 動画像符号化装置及び方法、動画像符号化方式変換装置及び方法
KR100595616B1 (ko) 디지털 동영상 트랜스코딩을 위한 움직임 추정 방법
KR100460950B1 (ko) 트랜스코더 및 트랜스코딩 방법
US7151799B2 (en) Transcoder for coded video
EP1158806A1 (en) Motion vector coding
JPH10208060A (ja) 物体輪郭線映像信号符号化方法及び装置
KR100393063B1 (ko) 프레임 레이트 변환 기능을 갖는 비디오 디코더 및 그 방법
KR20070081949A (ko) 트랜스코딩 장치 및 방법
Nakajima et al. Motion vector re-estimation for fast video transcoding from MPEG-2 to MPEG-4
KR19990041461A (ko) 부화소 단위의 움직임 추정 방법 및 이를 위한 장치
KR100602148B1 (ko) 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법
Wong et al. Sub-optimal quarter-pixel inter-prediction algorithm (SQIA)
KR100240620B1 (ko) 양방향의 반화소 움직임 추정을 위한 대칭 탐색 윈도우를 형성하는 방법 및 장치
JP2005236584A (ja) 動画像情報変換符号化装置
KR100502138B1 (ko) 이웃하는 움직임 벡터를 이용한 가이디드 탐색방법
JPH07107482A (ja) 符号化制御方式

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 8

FPAY Annual fee payment

Payment date: 20140523

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150522

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160524

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee