Tìm hiểu các kỹ thuật chuyển động và bù chuyển động trong nén video

16 858 4
Tìm hiểu các kỹ thuật chuyển động và bù chuyển động trong nén video

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜ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 Sử lý liệu đa phương tiện Nhóm 11: Tìm hiểu kỹ thuật ước lượng chuyển động bù chuyển động nén video Giáo viên hướng dẫn : PGS TS Nguyễn Thị Hoàng Lan Sinh viên thực : Nguyễn Hữu Phúc – 20122234 Trần Xuân Giáp – 20121611 Hà Nội 19-05-2016 Mục Lục I Các kỹ thuật ước lượng chuyển động 1.1 Các phương pháp trực tiếp .3 1.2 Phương pháp gián tiếp II Ước lượng chuyển động sử dụng phương pháp bước Bước tiền sử lý Phương pháp tìm kiếm ba bước .6 Giải thuật tìm kiếm bước Đánh giá giải thuật 11 III Thử nghiệm 13 IV Tài liệu tham khảo .16 I Các kỹ thuật ước lượng chuyển động Motion estimation: Đây kỹ thuật nhằm mục đích xác đ ịnh vector chuy ển đ ộng gi ữa marco block, vector chuyển đ ộng s ự sai l ệch v ị trí gi ữa m ột kh ối frame hi ện với khối gần giống frame tham chiếu Kỹ thu ật đ ược s d ụng trình nén giải nén video Có phương pháp sử dụng ướ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 mô hình chuyển động b ề c đ ối t ượng , b ề m ặt , cạnh gây chuyển động t ương đối c ng ười nhìn ( máy ) c ảnh v ật Optical flow bao gồm kỹ thuật từ sử lý hình ảnh 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, đo lường âm stereo chênh l ệch Khái niệm 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ả kích thích th ị giác đ ược cung c ấp b ởi chuyển động động vật Từ người ta có nh ận th ức quan tr ọng c người việc quan sát Các phương pháp luồng quang học cố gắng tính toán chuy ển đ ộng gi ữa hai hình ảnh chụp thời điểm t t+Delta Nhưng phương pháp khác bi ệt chúng sử dụng phép xấp xỉ Taylor tín hiệu hình ảnh, Phương pháp Optical flow thường sử dụng nghiên c ứu v ề không gian chiều, cấu trúc khung cảnh , chuy ển đ ộng D c ng ười đ ối t ượng người quan sát b Block-matching algorithm Block-matching algorithm: cách để xác định vị trí Macroblocks frame video cho mục đích ước l ượng chuy ển đ ộng Điều để giảm độ dư thừa thời gian liệu, tăng độ nén video lên d ựa vào Mb đ ược bi ết đ ến v ới đ ộ sai khác Một thuật toán BMA bao gồm việc phân chua frame c video vào MB so sánh sai khác MB frame M ột vecto đ ược t ạo thành t s ự sai khác đo - vị trí MB ban đầu vị trí MB sau D ựa vào ều ta tính t ất c ả MB cho khung hình - tạo nên ước lượng chuy ển đ ộng cho frame c Phase correlation and frequency domain methods Phase correlation and frequency domain methods: phép bi ến đ ổi d ựa ước tính t ương đối hình ảnh tương tự liệu khác Nó thường đ ược s d ụng image registration biểu di ễn mi ền t ần s ố c d ữ li ệu s d ụng phép biến đổi Fourier nhanh Hình ảnh cho thấy dụng giai đo ạn t ương quan đ ể xác đ ịnh chuy ển động tương đối hình ảnh với nhiễu gauss độc l ập Các hình ảnh đ ược d ịch (30,33) pixel Ứng dụng phương pháp sử dụng để chống nhiễu khuy ết t ật khác điển hình anh sử dụng ý t ế anh v ệ tinh Ph ương pháp mở rộng để xác định độ xoay vòng mở rộng ảnh 1.2 Phương pháp gián tiếp Phương pháp gián tiếp : sử dụng tính năng, ch ẳng h ạn nh phát hi ện góc, tính phù hợp tương ứng khung hình, thường v ới m ột ch ức th ống kê áp dụng khu vực địa phương hay toàn cầu Mục đích c ch ức th ống kê để loại bỏ điểm mà không tương ứng với chuy ển đ ộng th ực t ế Một phương pháp phát góc: sử d ụng h ệ th ống máy tính đ ể giải nén suy luận nội dung ảnh Phát hi ện góc th ường đ ược s d ụng phát chuyển động, ghép ảnh toàn cảnh, theo dõi video, II Ước lượng chuyển động sử dụng phương pháp bước Phương pháp Three step search nh ững ph ương pháp c gi ải thu ật blockmatching phương pháp trực tiếp Phương pháp gi ới thi ệu nh m ột phương pháp dễ triển khai hiệu tốt Bước tiền sử lý Video - hay ảnh động đầu vào qua bước tiền sử lý để có 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 trình nén giải nén liệu RGB: Red Green Blue, sử dụng bit cho giá tr ị YCrCb: Thành phần chói Y ( giới hạn phổ 6.5MHz ) thành ph ần màu Cr, Cb ( giới hạn phổ 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 video quy đinh ng ười thi ết k ế, có th ể l mấu theo 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 l mẫu không đ ổi, nhạy với cá thành phần màu Cr,Cb nên thành ph ần s ẽ đ ược l m ẫu gi ảm xuống theo chiều ngang dọc ( 2) thèo theo chu ẩn quy đ ịnh Trong tương ứng với chuẩn ta có: Trong 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 ngang thành phần Cr, Cb 1/2 liệu ch ỉ 1/4 so v ới ban đ ầu Ta chuẩn màu YCrCb theo 4:2:0 Ảnh chia thành macroblocks với kh ối kích th ước 16*16 ho ặc kh ối 8*8 Các khối chia tiếp thành kh ối 8*8 tr ước ho ặc sau nén tùy theo cài đặt Macroblocks ban đầu kịch thước 16*16, ma tr ận d ữ li ệu cho thành ph ần đ ộ chói Y kích thước 16*16, ma trận liệu cho thành phần màu Cr kích th ước 16*16, ma trận liệu cho thành phần màu Cb kích thước 16*16 Các Macroblocks lưu theo tọa độ tương ứng frame, n ếu trình tiền sử lý macroblocks đ ược l ưu tr ữ sai t ọa đ ộ vi ệc nén gi ải nén không làm Và video sai khác so v ới video g ốc Sử dụng tính toán thay đổi Macroblocks theo t ọa đ ộ c chúng toán Block-matching, thuật toán đòi hỏi ph ải tính vecto chuy ển đ ộng ( vecto chứa thông tin thay đổi MB frame t ương ứng) v ới đ ộ xác đáp ứng khối lượng tính toán tốt Phương pháp tìm kiếm ba bước Để so sánh sai khác Macroblocs ta s d ụng ph ương trình phi ến, trình bày phương pháp MAE ( Mean Absolute Error ) : Macrobloks ta khối 8*8 l m ẫu theo chu ẩn 4:2:0 V ậy ta s ẽ so sánh liệu với: - Thành phần C gồm ma trận 8*8 - Thành phần R gồm ma trận 8*8 Kết phép tính lưu lại để so sánh với Macroblocks khác K ết nhỏ kết sử dụng Ngoài phương trình MAE ra, người ta sử dụng phương trinh phi ến khác để tìm kết phép so sánh, kể đến nh 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 frame gần video thông thường có đ ộ t ương quan cao, nén video thay ta nén tất c ả frame c m ột video ta s ẽ ch ỉ nén video ước lượng frame dựa frame t ại - vecto chuy ển đ ộng Ví d ụ nén video với MPEG, ta nén nhóm frame liên ti ếp g ọi GOP, GOP có frame I nén theo JPEG Còn frame P B s ẽ đ ược ước l ượng chuyển động bù chuyển động I frame: frame nén theo JPEG nén GOP P frame: frame ước lượng chuyển động theo frame I B frame: frame ước lượng chuyển động theo frame I frame P Ước lượng chuyển động sơ đồi nén MPEG Frame P 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 có truy ền vecto chuy ển đ ộng hay không Với mã hóa dự đoán giá trị ma tr ận sai s ố ước l ượng b ằng macroblocks không mã hóa 3 Giải thuật tìm kiếm bước a Vùng tìm kiếm liệu: Là area tốt MB định tham s ố p, v ới p s ố l ượng pixel sides MB tương ướng 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 MB tiềm m ột vi ệc đòi hỏi khả tính toán cao Đầu vào điển hình m ột MB kích th ước 16 pixel search area với p =7 Tuy nhiên việc tìm kiếm đầy đủ vùng tìm ki ếm m ột công vi ệc đòi h ỏi độ tính toán lớn ví dụ đơn giản để tìm ki ếm v ới frame c ỡ 288*352 ta c ần 1G phép cộng 8M phép so sánh Vì vi ệc tìm kiếm đ ầy đ ủ không kh ả thi thực tế Vì tìm kiếm vùng tìm ki ếm ng ười ta ph ải c ố g ắng đ ể k ết tìm tốt với khối lượng tính toán chấp nh ận for i = : mbSize : row-mbSize+1 for j = : 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 < || refBlkVer+mbSize-1 > row || refBlkHor < || refBlkHor+mbSize-1 > col) continue; end costRow = m/stepSize + 2; costCol = n/stepSize + 2; if (costRow == && costCol == 2) continue end costs(costRow, costCol ) = costFuncMAD(imgP(i:i+mbSize-1,j:j+mbSize1), imgI(refBlkVer:refBlkVer+mbSize-1, refBlkHor:refBlkHor+mbSize-1), mbSize); computations = computations + 1; end end Giải thuật bao gồm bước: Đầu tiên ta đặt: (i,j) trung tâm vùng tìm kiếm p kích thước sổ tìm kiếm mbSize kích thước MB Các số thay đổi cách tương ng ười tri ển khai - Bước 1: Xác định kích thước dịch ban đầu, kiểm tra ểm T ọa đ ộ c ểm t ương ứng với tọ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) điểm có sai khác nhỏ ểm + Giảm p= p/2 Cửa sổ tìm kiếm giảm nửa + Đặt lại cửa sổ tìm kiếm (i,j) = (x1,y1) + Kiểm tra đ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ó sai khác nh ỏ nh ất (x2,y2) + Giảm p= p/2 Cửa sổ tìm kiếm giảm nửa + Đặt lại cửa sổ tìm kiếm (i,j) = (x2,y2) + Kiểm tra đ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 bước Kết thu ật toán ểm có giá tr ị to đ ộ (x3,y3) có MSD nhỏ điểm bước Thuật toán bước đảm bảo tìm kết qu ả sau b ước th ực hi ện nên d ễ dàng quản lý mặt thời gian cho người thiết kế Thuật toán cho kết qu ả sau th ời gian chạy bước Giả thiết cửa sổ tìm kiếm có kích th ước p=7 Thay ki ểm tra 255 điểm tìm kiếm đầy đủ giải thuật ba bước ph ải ki ểm tra 25 ểm Thuật toán có chất lương tương đối, đánh giá không nhanh so v ới gi ải thuật cải tiến so với thuật toán bước c ải ti ến Tuy nhiên thu ật toán bước thuật toán dễ cài đặt, triển khai nghiên c ứu Đánh giá giải thuật Tất thuật toán đánh giá gi ải thu ật c Tiêu chu ẩn đánh giá giải thuật thông qua đỉnh nhiễu tín hiệu ( Peak Signal to Noise Ratio – PSNR ) , giá trị cho thấy chất lượng vecto chuy ển đ ộng đ ặc tr ưng c gi ải thu ật block-matching Trong tín hiệu d ữ liệu gốc nhi ễu đ ược đ ưa vecto chuyển động tính toán PSNR định nghĩa: Trong MSE sai khác trung bình bình phương ( Mean Squared Error ) Ngoài số sử dụng cách kiểm tra hi ệu , đ ược s dụng để so sánh tỷ lệ suy giảm PSNR ( D-pgnr ) Tỷ lệ biểu diễn m ức đ ộ phần trăm chênh lệch PSNR giải thuật Block-matching PSNR c tìm kiếm đầy đủ: Bảng so sánh chất lượng thuật toán block-matching tìm ki ếm đ ầy đ ủ ( full search ) Dễ dàng nhận thấy giải thuật block-matching có ch ỉ s ố PSNR t ương đ ối gi ống video đầu vào có sai khác gi ữa frame video ( t ốc đ ộ video chậm) Tuy nhiên với video có s ự thay đổi nhanh gi ải thu ật tìm ki ếm bước ( TSS ) có tỷ lệ PSNR cao tỷ lệ D-psnr cao III Thử nghiệm Dữ liệu đầu vào: a Các file image có định dạng Sun Rasterfile Các file frame c video b Có tổng cộng 33 frame kích thước giống b Thuật toán ước lượng tìm vecto kho ảng cách cho frame b ằng ph ương pháp sử dụng thuật toán bước Trong đó: Macroblocks: có kích thước 16*16, Vùng tìm kiếm: p=7 c Kết thu Các frame sau tiền sử lý để ma tr ận li ệu Frame imgI so sánh với frame imgP để tìm vecto kho ảng cách: Vecto khoảng cách sau tính toán ma tr ận d ữ li ệu 2*550 Giải thích: Kích thước số cột liệu vecto khoảng cách tương ứng v ới số hàng c ột liệu đầu vào: row * col / (sizeMB*sizeMB) V ới kích th ước c d ữ li ệu đ ầu vào ma trận liệu 400*352 nên kích th ước c d ữ li ệu vect kho ảng cách s ẽ 2*550 Đánh giá chất lượng thông số PNSR Như nhận xét thuật toán block-matching cho k ết qu ả PNSR t ương đ ối giống với video có thay đ ổi li ệu gi ữa frame Trong th nghi ệm PNSR tính trung bình xấp x ỉ 27 K ết qu ả t ương đ ối v ới th nghiêm tương đối so bảng khảo sát video phần lý thuyết IV Tài liệu tham khảo Block matching algorithm based on Differential Evolution for motio estimation - Erik Cuevas, Daniel Zaldivar, Marco Perez-Cisneros and Diego Oliva Motion Estimation Techniques - Beatrice Pesquet-Popescu, Marco Cagnazzo, Frederic Dufaux [...]... 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. .. ( TSS ) đều có các tỷ lệ PSNR cao và tỷ lệ D-psnr cao III 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... 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... Kết quả thu được Các frame sau khi tiền sử lý để được các ma tr ận dữ li ệu Frame imgI được so sánh với frame imgP để tìm vecto kho ảng cách: Vecto khoảng cách sau khi tính toán là một ma tr ận d ữ li ệu 2*550 Giải thích: Kích thước số cột dữ liệu của vecto khoảng cách tương ứng v ới số hàng và c ột của dữ liệu đầu vào: row * col / (sizeMB*sizeMB) V ới kích th ước c ủa d ữ li ệu đ ầu vào là ma trận... c ủa d ữ li ệu vect ơ kho ảng cách s ẽ là 2*550 Đánh giá chất lượng bằng thông số PNSR Như nhận xét ở trên các thuật toán block-matching cho k ết qu ả PNSR t ương đ ối giống nhau với các video có sự thay đ ổi dữ li ệu gi ữa các frame ít Trong th ử nghi ệm này PNSR được tính ra trung bình xấp x ỉ 27 K ết qu ả t ương đ ối v ới các th ử nghiêm tương đối so bảng khảo sát video ở phần lý thuyết IV Tài.. .Thuậ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à... 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: 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

Ngày đăng: 08/06/2016, 23:55

Từ khóa liên quan

Mục lục

  • I. Các kỹ thuật ước lượng chuyển động

    • 1.1 Các phương pháp trực tiếp

    • 1.2 Phương pháp gián tiếp

    • II. Ước lượng chuyển động sử dụng phương pháp 3 bước.

      • 1. Bước tiền sử lý

      • 2. Phương pháp tìm kiếm ba bước

      • 3. Giải thuật tìm kiếm 3 bước

      • 4. Đánh giá giải thuật

      • III. Thử nghiệm

      • IV. Tài liệu tham khảo

Tài liệu cùng người dùng

Tài liệu liên quan