Phase correlation and frequency domain methods... Trong đó MSE là sai khác trung bình bình phương Mean Squared Error... Các file image có đ nh d ng Sun Rasterfile.
Trang 1TR ƯỜ NG Đ I H C BÁCH KHOA HÀ N I Ạ Ọ Ộ
VI N CÔNG NGH THÔNG TIN VÀ TRUY N THÔNG Ệ Ệ Ề
──────── * ───────
BÁO CÁO
Nhóm 11: Tìm hi u các k thu t ể ỹ ậ ướ ượ c l ng chuy n đ ng ể ộ
và bù chuy n đ ng trong nén video ể ộ
Giáo viên hướng d nẫ : PGS TS Nguy n Th Hoàng Lan ễ ị
Sinh viên th c hi nự ệ : Nguy n H u Phúc – 20122234 ễ ữ
Tr n Xuân Giáp – 20121611 ầ
Hà N i 19-05-2016 ộ
Trang 2M c L c ụ ụ
I Các k thu t ỹ ậ ướ ượ c l ng chuy n đ ng ể ộ 3 1.1 Các ph ươ ng pháp tr c ti p ự ế 3 1.2 Ph ươ ng pháp gián ti p ế 4
II Ướ ượ c l ng chuy n đ ng s d ng ph ể ộ ử ụ ươ ng pháp 3 b ướ 5 c.
1 B ướ c ti n s lý ề ử 5
2 Ph ươ ng pháp tìm ki m ba b ế ướ 6 c
3 Gi i thu t tìm ki m 3 b ả ậ ế ướ 9 c
4 Đánh giá gi i thu t ả ậ 11 III Th nghi m ử ệ 13
IV Tài li u tham kh o ệ ả 16
Trang 3I Các k thu t ỹ ậ ướ ượ c l ng chuy n đ ng ể ộ
Motion estimation: Đây là k thu t nh m m c đích xác đ nh vector chuy n đ ng gi aỹ ậ ằ ụ ị ể ộ ữ các marco block, vector chuy n đ ng là s sai l ch v trí gi a m t kh i frame hi nể ộ ự ệ ị ữ ộ ố ở ệ
t i v i m t kh i g n gi ng nh t frame tham chi u K thu t này đạ ớ ộ ố ầ ố ấ ở ế ỹ ậ ược s d ngử ụ trong quá trình nén và gi i nén video.ả
Có 2 phương pháp đượ ử ục s d ng trong ướ ược l ng chuy n đ ng:ệ ộ
- Phương pháp tr c ti p:ự ế
+ Optical flow
+ Block-matching algorithms
+ Pixel recursive algorithms
+ Phase correlation and frequency domain methods
- Phương pháp gián ti pế
1.1 Các ph ươ ng pháp tr c ti p ự ế
a Optical flow:
Optical flow là mô hình chuy n đ ng c a b ngoài c a các đ i tể ộ ủ ề ủ ố ượng , các b m t ,ề ặ các c nh gây ra b i s chuy n đ ng tạ ở ự ể ộ ương đ i c a ngố ủ ười nhìn ( máy ) và c nh v t.ả ậ Optical flow bao g m các k thu t t s lý hình nh và phát hi n chuy n đ ng, phânồ ỹ ậ ừ ử ả ệ ể ộ khúc đ i tố ượng, thông tin th i gian, t p trung tính toán m r ng, đ sáng, chuy nờ ậ ở ộ ộ ể
đ ng b i thộ ồ ường mã hóa, và đo lường âm thanh stereo chênh l ch.ệ
Khái ni m v optical flow ( lu ng quang) đệ ề ồ ược gi i thi u b i nhà khoa h c ngớ ệ ở ọ ười Mỹ James J.Gibson vào năm 1940 đ mô t các kích thích th giác để ả ị ược cung c p b i cácấ ở
s chuy n đ ng c a đ ng v t T đó ngự ể ộ ủ ộ ậ ừ ười ta có nh n th c quan tr ng c a conậ ứ ọ ủ
người trong vi c quan sát ệ
Các phương pháp v lu ng quang h c c g ng tính toán chuy n đ ng gi a hai hìnhề ồ ọ ố ắ ể ộ ữ
nh đ c ch p các th i đi m t và t+Delta Nh ng ph ng pháp này khác bi t vì
chúng s d ng phép x p x Taylor c a các tín hi u hình nh,ử ụ ấ ỉ ủ ệ ả
Phương pháp Optical flow thường được s d ng nghiên c u v các không gian 3ử ụ ứ ề chi u, c u trúc c a khung c nh , cũng nh chuy n đ ng 3 D c a ngề ấ ủ ả ư ể ộ ủ ười và đ i tố ượng
và người quan sát nó
b Block-matching algorithm
Block-matching algorithm: là m t cách đ xác đ nh v trí các Macroblocks trong frame ộ ể ị ị
c a video cho các m c đích ủ ụ ướ ượ c l ng chuy n đ ng ể ộ Đi u này đ gi m đ d th aề ể ả ộ ư ừ
v th i gian và d li u, tăng đ nén video lên d a vào các Mb đề ờ ữ ệ ộ ự ược bi t đ n v i đế ế ớ ộ sai khác ít nh t.ấ
M t thu t toán BMA bao g m vi c phân chua các frame c a video vào các MB và soộ ậ ồ ệ ủ sánh s sai khác c a MB trong các frame M t vecto đự ủ ộ ượ ạc t o thành t s sai khác đoừ ự
- gi a v trí c a MB ban đ u và v trí c a MB sau đó D a vào đi u này ta tính t t cữ ị ủ ầ ị ủ ự ề ấ ả các MB cho m t khung hình - t o nên m t ộ ạ ộ ướ ược l ng chuy n đ ng cho frame.ể ộ
c Phase correlation and frequency domain methods
Trang 4Phase correlation and frequency domain methods: là phép bi n đ i d a ế ổ ự ước tính tương
đ i gi a 2 hình nh tố ữ ả ương t ho c 2 b d li u khác nhau Nó thự ặ ộ ữ ệ ường đượ ử ục s d ng trong image registration và được bi u di n trên mi n t n s c a d li u s d ngể ễ ề ầ ố ủ ữ ệ ử ụ phép bi n đ i Fourier nhanh ế ổ
Hình nh dả ưới đây cho th y s d ng các giai đo n tấ ự ụ ạ ương quan đ xác đ nh chuy nể ị ể
đ ng tộ ương đ i c a 2 hình nh v i nhi u gauss đ c l p Các hình nh đố ủ ả ớ ễ ộ ậ ả ược d chị
b ng (30,33) pixel.ằ
ng d ng c a ph ng pháp này đ c s d ng đ ch ng nhi u và các khuy t t t
khác đi n hình c a anh s d ng trong ý t và anh v tinh Phể ủ ử ụ ế ệ ương pháp này còn có
th m r ng đ xác đ nh đ xoay vòng và m r ng ra c a các nh.ể ở ộ ể ị ộ ở ộ ủ ả
1.2 Ph ươ ng pháp gián ti p ế
Phương pháp gián ti p : s d ng các tính năng, ch ng h n nh phát hi n góc, và cácế ử ụ ẳ ạ ư ệ tính năng phù h p tợ ương ng gi a các khung hình, thứ ữ ường là v i m t ch c năng th ngớ ộ ứ ố
kê áp d ng trên m t khu v c đ a phụ ộ ự ị ương hay toàn c u M c đích c a ch c năng th ngầ ụ ủ ứ ố
kê là đ lo i b đi m mà không tể ạ ỏ ể ương ng v i các chuy n đ ng th c t ứ ớ ể ộ ự ế
M t trong nh ng phộ ữ ương pháp là phát hi n góc: s d ng các h th ng máy tính đệ ử ụ ệ ố ể
gi i nén và suy lu n n i dung c a nh Phát hi n góc thả ậ ộ ủ ả ệ ường đượ ử ục s d ng trong phát
hi n chuy n đ ng, ghép nh toàn c nh, theo dõi video, ệ ể ộ ả ả
Trang 5II Ướ ượ c l ng chuy n đ ng s d ng ph ể ộ ử ụ ươ ng pháp 3
Phương pháp Three step search là m t trong nh ng phộ ữ ương pháp c a gi i thu t block-ủ ả ậ matching c a phủ ương pháp tr c ti p Phự ế ương pháp này được gi i thi u nh là m tớ ệ ư ộ
phương pháp d tri n khai và hi u qu h n t t.ễ ể ệ ả ơ ố
1 B ướ c ti n s lý ề ử
Video - hay nh đ ng đ u vào qua bả ộ ầ ước ti n s lý đ có d li u đ u Video ban đ uề ử ể ữ ệ ầ ầ
s d ng h màu RGB qua bử ụ ệ ước ti n s lý đ chuy n sang h màu YUV ph c v choề ử ể ể ệ ụ ụ quá trình nén và gi i nén d li u.ả ữ ệ
RGB: Red Green Blue, s d ng 8 bit cho m i giá tr ử ụ ỗ ị
YCrCb: Thành ph n chói Y ( gi i h n ph là 6.5MHz ) và thành ph n màu Cr, Cbầ ớ ạ ổ ầ ( gi i h n ph là 2MHz).ớ ạ ổ
Quá trình chuy n đ i t h màu RGB sang h màu YcrCb:ể ổ ừ ệ ệ
Y = 0.257R + 0.504G +0.098B + 16
Cr = 0.439R -0.368G – 0.071B + 128
Cb = -0.148R -0.291G + 0.439B +128
C u trúc l y m u c a m i video s đấ ấ ẫ ủ ỗ ẽ ược quy đinh b i ngở ười thi t k , có th l yế ế ể ấ
m u theo các chu n 4:2:2 ,4:2:0, 4:1:1ấ ẩ
Do m t ngắ ười nh y v i đ chói, nên thành ph n Y đạ ớ ộ ầ ượ ấc l y m u không đ i, và kémẫ ổ
nh y v i cá thành ph n màu Cr,Cb nên các thành ph n này s đạ ớ ầ ầ ẽ ượ ấc l y m u gi mẫ ả
xu ng theo các chi u ngang ho c d c ( ho c c 2) thèo theo các chu n quy đ nh.ố ề ặ ọ ặ ả ẩ ị Trong đó tương ng v i m i chu n ta có:ứ ớ ỗ ẩ
Trang 6Trong trường h p l y m u theo chu n 4:2:0 gi m thích thợ ấ ẫ ẩ ả ước m u theo chi u d c vàẫ ề ọ ngang c a thành ph n Cr, Cb đi ch còn 1/2 d li u ch còn 1/4 so v i ban đ u Taủ ầ ỉ ữ ệ ỉ ớ ầ
được chu n màu YCrCb theo 4:2:0.ẩ
nh đ c chia thành các macroblocks v i các kh i kích th c là 16*16 ho c các kh i
8*8 Các kh i này có th đố ể ược chia ti p thành các kh i 8*8 trế ố ước ho c sau khi nén tùyặ theo cài đ t.ặ
Macroblocks ban đ u k ch thầ ị ước 16*16, 4 ma tr n d li u cho thành ph n đ chói Yậ ữ ệ ầ ộ kích thước 16*16, 1 ma tr n d li u cho thành ph n màu Cr kích thậ ữ ệ ầ ước 16*16, 1 ma
tr n d li u cho thành ph n màu Cb kích thậ ữ ệ ầ ước 16*16
Các Macroblocks s đẽ ượ ưc l u theo t a đ c a nó tọ ộ ủ ương ng trong frame, n u trongứ ế quá trình ti n s lý các macroblocks đề ử ượ ưc l u tr sai t a đ vi c nén và gi i nén cóữ ọ ộ ệ ả
th không làm để ược Và video cũng sai khác so v i video g c ớ ố
S d ng tính toán s thay đ i c a các Macroblocks theo t a đ c a chúng chính là bàiử ụ ự ổ ủ ọ ộ ủ toán c a Block-matching, thu t toán đòi h i ph i tính đủ ậ ỏ ả ược các vecto chuy n đ ngể ộ ( vecto ch a thông tin thay đ i c a các MB trong các frame tứ ổ ủ ương ng) v i đ chínhứ ớ ộ xác đáp ng đứ ược và m t kh i lộ ố ượng tính toán t t.ố
2 Ph ươ ng pháp tìm ki m ba b ế ướ c
Đ so sánh s sai khác c a các Macroblocs ta s d ng các phể ự ủ ử ụ ương trình phi tuy n,ế
dưới đây chúng tôi trình bày phương pháp MAE ( Mean Absolute Error ) :
Trang 7Macrobloks c a ta là các kh i 8*8 thì và đủ ố ượ ấc l y m u theo chu n 4:2:0 V y ta s soẫ ẩ ậ ẽ sánh b d li u v i:ộ ữ ệ ớ
- Thành ph n C g m 6 ma tr n 8*8ầ ồ ậ
- Thành ph n R g m 6 ma tr n 8*8ầ ồ ậ
K t qu c a phép tính này s đế ả ủ ẽ ượ ư ạ ểc l u l i đ so sánh v i các Macroblocks khác K tớ ế
qu nh nh t trong các k t qu s đả ỏ ấ ế ả ẽ ượ ử ục s d ng
Ngoài phương trình MAE ra, người ta có th s d ng các phể ử ụ ương trinh phi tuy n khácế
đ tìm ra k t qu c a phép so sánh, có th k đ n nh là phể ế ả ủ ể ể ế ư ương pháp sai s trungố bình tuy t đ i SAD/MAD, sai khác trung bình bình phệ ố ương MSE
c l ng chuy n đ ng Matching block v i MPEG
Ý tưởng là các frame g n nhau trong m t video thông thầ ộ ường s có đ tẽ ộ ương quan cao, trong nén video thay vì ta nén t t c các frame c a m t video ta s ch nén 1 videoấ ả ủ ộ ẽ ỉ
và ướ ược l ng frame ti p theo d a trên frame hi n t i - các vecto chuy n đ ng Ví dế ự ệ ạ ể ộ ụ khi nén video v i MPEG, ta s nén m t nhóm các frame liên ti p g i là 1 GOP, trongớ ẽ ộ ế ọ GOP ch có frame I đỉ ược nén theo JPEG Còn các frame P và B s đẽ ượ ướ ược c l ng chuy n đ ng và bù chuy n đ ng.ể ộ ể ộ
Trang 8I frame: frame được nén theo JPEG và được nén đ u tiên trong GOPầ
P frame: frame đượ ướ ược c l ng chuy n đ ng theo frame Iể ộ
B frame: frame đượ ướ ược c l ng chuy n đ ng theo frame I và frame P.ể ộ
c l ng chuy n đ ng trong s đ i nén MPEG
Frame P được mã hóa d đoán t Frame I: frame tham chi u s đự ừ ế ẽ ượ ử ục s d ng đ ể ước
lượng đánh giá chuy n đ ng, v i mã hóa d đoán thì có truy n vecto chuy n đ ngể ộ ớ ự ề ể ộ hay không V i mã hóa d đoán n u m i giá tr trong ma tr n sai s ớ ự ế ọ ị ậ ố ướ ược l ng b ng 0ằ thì c macroblocks không đả ược mã hóa
Trang 93 Gi i thu t tìm ki m 3 b ả ậ ế ướ c
a Vùng tìm ki m c a d li u:ế ủ ữ ệ
Là area t t nh t đ cho MB nó đố ấ ể ược quy t đ nh b i tham s p, v i p là s lế ị ở ố ớ ố ượng pixel trên 4 sides c a MB tủ ương ướng trong frame trước đó Các thông s tìm ki m đoố ế
lường chuy n đ ng Vi c tìm ki m đ y đ t t các các MB ti m năng là m t vi c đòiể ộ ệ ế ầ ủ ấ ề ộ ệ
h i kh năng tính toán cao Đ u vào đi n hình c a m t MB kích thỏ ả ầ ể ủ ộ ước 16 pixel và search area v i p =7.ớ
Tuy nhiên vi c tìm ki m đ y đ trong vùng tìm ki m cũng là m t công vi c đòi h iệ ế ầ ủ ế ộ ệ ỏ
đ tính toán r t l n m t ví d đ n gi n là đ tìm ki m v i 1 frame c 288*352 ta c nộ ấ ớ ộ ụ ơ ả ể ế ớ ỡ ầ 1G phép c ng và 8M phép so sánh Vì v y vi c tìm ki m đ y đ không kh thi trongộ ậ ệ ế ầ ủ ả
th c t Vì v y khi tìm ki m trong vùng tìm ki m ngự ế ậ ế ế ười ta cũng ph i c g ng đ k tả ố ắ ể ế
qu tìm đả ược là t t nh t v i m t kh i lố ấ ớ ộ ố ượng tính toán ch p nh n đấ ậ ược
for i = 1 : mbSize : row-mbSize+1
for j = 1 : mbSize : col-mbSize+1
x = j;
y = i;
costs(2,2) = costFuncMAD(imgP(i:i+mbSize-1,j:j+mbSize-1),
imgI(i:i+mbSize-1,j:j+mbSize-1),mbSize);
computations = computations + 1;
stepSize = stepMax;
while(stepSize >= 1)
for m = -stepSize : stepSize : stepSize
for n = -stepSize : stepSize : stepSize
refBlkVer = y + m; % row/Vert co-ordinate for ref block
refBlkHor = x + n; % col/Horizontal co-ordinate
if ( refBlkVer < 1 || refBlkVer+mbSize-1 > row
|| refBlkHor < 1 || refBlkHor+mbSize-1 > col)
continue;
end
costRow = m/stepSize + 2;
costCol = n/stepSize + 2;
if (costRow == 2 && costCol == 2)
continue
end
costs(costRow, costCol ) = costFuncMAD(imgP(i:i+mbSize-1,j:j+mbSize-1),
imgI(refBlkVer:refBlkVer+mbSize-1, refBlkHor:refBlkHor+mbSize-1), mbSize);
computations = computations + 1;
end
end
Trang 10
Gi i thu t bao g m 3 bả ậ ồ ước:
Đ u tiên ta đ t: (i,j) là trung tâm c a vùng tìm ki m.ầ ặ ủ ế
p là kích thướ ủ ổc c a s tìm ki mế mbSize là kích thướ ủc c a MB
Các ch s này có th thay đ i m t cách tỉ ố ể ổ ộ ương đ i v i ngố ớ ười tri n khaiể
- Bước 1:
Xác đ nh kích thị ước d ch ban đ u, ki m tra 9 đi m T a đ c a 9 đi m này tị ầ ể ể ọ ộ ủ ể ương
ng v i t a đ c a MB ban đ u là: (i +- mbSize*p,j ); ( i, j +-mbSize*p); (i,j) ;
( i + mbSize*p, j +-mbSize*p) ; ( j -mbSize*p , j +-mbSize*p) Trong đó:
- Bước 2: Đi m (x1,y1) là đi m có s sai khác nh nh t trong 9 đi m.ể ể ự ỏ ấ ể
+ Gi m p= p/2 C a s tìm ki m gi m 1 n a ả ử ổ ế ả ử
+ Đ t l i c a s tìm ki m (i,j) = (x1,y1) ặ ạ ử ổ ế
+ Ki m tra 8 đi m: (i +- mbSize*p,j ); ( i, j +-mbSize*p) ;ể ể
( i + mbSize*p, j +-mbSize*p) ; ( j -mbSize*p , j +-mbSize*p)
Bước 3: L p l i bặ ạ ước 2, xác đ nh đi m có s sai khác nh nh t là (x2,y2)ị ể ự ỏ ấ
+ Gi m p= p/2 C a s tìm ki m gi m 1 n aả ử ổ ế ả ử
+ Đ t l i c a s tìm ki m (i,j) = (x2,y2)ặ ạ ử ổ ế
+ Ki m tra 8 đi m: ể ể (i +- mbSize*p,j ); ( i, j +-mbSize*p) ;
( i + mbSize*p, j +-mbSize*p) ; ( j -mbSize*p , j +-mbSize*p)
Thu t toán k t thúc sau 3 bậ ế ước K t qu c a thu t toán là đi m có giá tr to đ làế ả ủ ậ ể ị ạ ộ (x3,y3) có MSD nh nh t trong 8 đi m bỏ ấ ể ở ước 3
Trang 11Thu t toán 3 bậ ước luôn đ m b o tìm ra k t qu sau 3 bả ả ế ả ước th c hi n nên d dàngự ệ ễ
qu n lý v m t th i gian cho ngả ề ặ ờ ười thi t k Thu t toán luôn cho k t qu sau th iế ế ậ ế ả ờ gian ch y 3 bạ ước Gi thi t c a s tìm ki m có kích thả ế ử ổ ế ước p=7 Thay vì ki m tra 255ể
đi m nh tìm ki m đ y đ thì gi i thu t ba bể ư ế ầ ủ ả ậ ước ch ph i ki m tra 25 đi m.ỉ ả ể ể
Thu t toán có ch t lậ ấ ương tương đ i, và đố ược đánh giá là không nhanh so v i các gi iớ ả thu t c i ti n ho c so v i chính thu t toán 3 bậ ả ế ặ ớ ậ ước c i ti n Tuy nhiên thu t toán 3ả ế ậ
bước v n là m t thu t toán d cài đ t, tri n khai và nghiên c u.ẫ ộ ậ ễ ặ ể ứ
4 Đánh giá gi i thu t ả ậ
T t c các thu t toán đ u đấ ả ậ ề ược đánh giá v gi i thu t c a nó Tiêu chu n đánh giáề ả ậ ủ ẩ
gi i thu t thông qua đ nh c a nhi u tín hi u ( Peak Signal to Noise Ratio – PSNR ) ,ả ậ ỉ ủ ễ ệ giá tr này cho th y ch t lị ấ ấ ượng c a vecto chuy n đ ng đ c tr ng c a các gi i thu tủ ể ộ ặ ư ủ ả ậ block-matching Trong đó tín hi u là các d li u g c còn nhi u đệ ữ ệ ố ễ ược đ a ra là cácư vecto chuy n đ ng tính toán PSNR để ộ ược đ nh nghĩa:ị
Trang 12
Trong đó MSE là sai khác trung bình bình phương ( Mean Squared Error ) Ngoài ra
m t ch s n a cũng độ ỉ ố ữ ược s d ng nh m t cách ki m tra hi u năng , nó đử ụ ư ộ ể ệ ược sử
d ng đ so sánh t l suy gi m PSNR ( D-pgnr ) T l này đụ ể ỷ ệ ả ỷ ệ ược bi u di n m c để ễ ở ứ ộ
ph n trăm chênh l ch PSNR c a m t gi i thu t Block-matching và PSNR c a tìmầ ệ ủ ộ ả ậ ủ
ki m đ y đ :ế ầ ủ
B ng so sánh ch t lả ấ ượng c a các thu t toán block-matching và tìm ki m đ y đ ( fullủ ậ ế ầ ủ search )
D dàng nh n th y là các gi i thu t block-matching có ch s PSNR tễ ậ ấ ả ậ ỉ ố ương đ i gi ngố ố nhau khi các video đ u vào là các có ít s sai khác gi a các frame trong video ( t c đầ ự ữ ố ộ video ch m) Tuy nhiên v i các video có s thay đ i nhanh thì gi i thu t tìm ki m 3ậ ớ ự ổ ả ậ ế
bước ( TSS ) đ u có các t l PSNR cao và t l D-psnr cao ề ỷ ệ ỷ ệ
Trang 13III Th nghi m ử ệ
1 D li u đ u vào:ữ ệ ầ
a Các file image có đ nh d ng Sun Rasterfile Các file này là các frame c aị ạ ủ
1 video
b Có t ng c ng 33 frame và kích thổ ộ ướ ủc c a m i gi ng nhauỗ ố
b Thu t toán s ậ ẽ ướ ược l ng tìm vecto kho ng cách cho các frame b ng phả ằ ương pháp
s d ng thu t toán 3 bử ụ ậ ước Trong đó:
Macroblocks: có kích thước 16*16,
Vùng tìm ki m: p=7 ế
c K t qu thu đế ả ược
Các frame sau khi ti n s lý đ đề ử ể ược các ma tr n d li u.ậ ữ ệ