Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 68 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
68
Dung lượng
39,86 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI PHẠM XUÂN TOÁI ỨNGDỤNGCÔNGNGHỆTÍNHTOÁNĐADỤNGTRÊNCÁCBỘXỬLÝĐỒHỌAĐALÕICỦANVIDIATRONGBÀITOÁNMÃHÓAÂMTHANHCHUẨNAAC Chuyên ngành : CôngNghệ Thông Tin LUẬN VĂN THẠC SĨ KHOA HỌC Chuyên Ngành CôngNghệ Thông Tin NGƯỜI HƯỚNG DẪN KHOA HỌC : TS.Nguyễn Hữu Đức Hà Nội –2011 ỨngdụngcôngnghệtínhtoánđadụngxửlýđồhọađalõiNvidiatoánmãhóaâmchuẩnAACLỜI CAM ĐOAN Tôi Phạm Xuân Toái Sinh viên lớp cao học CôngNghệ Thông Tin Khóa 2009 Đại Học Bách Khao Hà Nội Mã số Học Viên: CB091354 Tôi cam kết Luận Văn Tốt Nghiệp kết nghiên cứu thân hướng dẫn T.S.Nguyễn Hữu Đức Các kết nêu Luận Văn Tốt Nghiệp trung thực, chép toàn văn công trình khác Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội -2- ỨngdụngcôngnghệtínhtoánđadụngxửlýđồhọađalõiNvidiatoánmãhóaâmchuẩnAACLỜI CẢM ƠN Trước tiên, em xin gửi lời cảm ơn chân thành, sâu sắc tới thầy Nguyễn Hữu Đức, Phó Giám đốc Trung Tâm Tínhtoán Hiệu cao Đại Học Bách Khoa Hà Nội, người trực tiếp hướng dẫn em thực luận văn Trong suốt thời gian thực luận văn, thầy nhiệt tình hướng dẫn, đưa định hướng, lời khuyên quý báu cho luận văn tốt nghiệp em Em xin gửi lời cảm ơn tới anh Lê Đức Tùng, bạn Lê Đức Hùng tập thể cán bộ, sinh viên Trung tâm TínhToán Hiệu cao Đại Học Bach Khoa Hà Nội giúp đỡ, tạo điều kiện cho em suốt trình thực luận văn Tôi gửi lời cảm ơn tới bạn Phạm Nguyễn Quang Anh tập thể lớp Cao học CôngNghệ Thông Tin khóa 2009 Đại Học Bách Khoa Hà Nội có đóng góp, chia sẻ kịp thời thông tin hữu ích suốt trình học tập thực luận văn tốt nghiệp Lời cuối cùng, xin gửi lời cảm ơn tới người thân, gia đình, bạn bè động viên, cổ vũ suối thời gian thực luận văn Hà Nội, ngày tháng năm 2011 Phạm Xuân Toái Lớp Cao Học CôngNghệ Thông Tin 2009 Đại Học Bách Khoa Hà Nội Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội -3- ỨngdụngcôngnghệtínhtoánđadụngxửlýđồhọađalõiNvidiatoánmãhóaâmchuẩnAAC MỤC LỤC DANH MỤC HÌNH VẼ - DANH MỤC CÁC BẢNG BIỂU - DANH MỤC CÁC THUẬT NGỮ - MỞ ĐẦU - CHƯƠNG I ÂMTHANH KĨ THUẬT SỐ - 12 1.1.Âm Thanh Kỹ Thuật Số - 12 1.1.1.PCM - 12 1.1.2.Lấy mẫu (Sampling) - 13 1.1.3 Độ Phân Giải (Resolution) - 13 1.4.Nén - 15 1.2 Định Dạng ChuẩnÂmThanh Số - 17 1.2.1 CácChuẩnÂmThanh Số - 17 1.2.2.Mã hóa - 18 1.2.3.Kiểu Tệp Định Dạng Tệp - 18 1.2.4.Header Siêu liệu - 19 1.3.Chuẩn MPEG-AAC - 19 1.3.1.Tổng quan MPEG-AAC - 19 1.3.2.Mã Hóa Mô Đun - 20 1.3.3.Các Định Dạng Chứa - 21 CHƯƠNG II LẬP TRÌNH ĐADỤNGTRÊNCÁCBỘXỬLÝĐỒHỌAĐALÕICỦANVIDIA - 22 2.1.Bộ XửLýĐồHọa GPU - 22 2.2 Kiến Trúc TínhToán GPU Tesla - 24 Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội -4- ỨngdụngcôngnghệtínhtoánđadụngxửlýđồhọađalõiNvidiatoánmãhóaâmchuẩnAAC 2.3 Mô Hình Lập Trình Song Song CUDA - 28 2.4 Những mặt hạn chế CUDA - 35 2.5 Thiết Lập Môi Trường TínhToán CUDA - 36 2.5.1 Môi trường phần cứng - 36 2.5.2.Bộ công cụ phát triển phần mềm - 37 CHƯƠNG III PHÂN TÍCH GIẢI THUẬT MÃHÓAAAC - 38 3.1.Thuật ToánMãHóaAAC - 38 3.1.1.Mô hình âm - 40 3.1.2.Điều chỉnh khuếch đại (Gain Control) - 43 3.1.3.Filter Bank Block Switching - 43 3.1.4.Bộ Dự Đoán (Prediction) - 44 3.1.5.Định dạng nhiễu thời gian(Temporal Noise Shaping(TNS)) - 45 3.1.6.Mã hóa nối Stereo(Joint Stereo Coding) - 45 3.1.7.Lượng tử hóaMãHóa - 46 3.1.8.Mã hóa không mát thông tin - 47 3.2.Khả Năng Song Song Hóa trình mãhóaAAC - 48 3.3.Phân Tích Thời Gian MãHóaAAC - 51 CHƯƠNG IV CẢI THIỆN HIỆU NĂNG MÃHÓA ACC VỚI CÁCBỘXỬLÝĐỒHỌAĐALÕINVIDIA - 58 4.1.Thực Hiện Biến Đổi Tuần FFT Trên Cuda - 58 4.2.Tăng Tộc ĐộMãHóaAAC - 61 4.3.Kết Quả Thực Nghiệm - 64 CHƯƠNG V KẾT LUẬN VÀ ĐỊNH HƯỚNG - 67 TÀI LIỆU THAM KHẢO - 68 Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội -5- ỨngdụngcôngnghệtínhtoánđadụngxửlýđồhọađalõiNvidiatoánmãhóaâmchuẩnAAC DANH MỤC HÌNH VẼ Hình 1.1 Chuyển đổi tương tự -thành số - 13 Hình 1.2 Tần số lấy mẫu độ phân giải - 15 Hình 1.3 Hình minh họa phương pháp mãhóa MP3 - 16 Hình 1.4.Cấu trúc file âm số - 19 Hình 2.1: GPU dành nhiều transitor để xửlý liệu - 22 Hình 2.2.: Biểu đồ số phép tính dâu chấm động giâyvà băng thông nhớ CPU GPU - 24 Hình 2.3: Kiến trúc Tesla - 25 Hình 2.4 Đối chiếu hai đoạn mãxửlý song song - 30 Hình 2.5: Phân cấp nhớ - 33 Hình 2.6 Mô hình luông song song Cuda - 34 Hình 2.7.Môi trường tínhtoán Cuda - 36 Hình 3.1.Mô hình mãhóaAAC - 39 Hình 3.2.Giản đồ khối mô hình âm - 42 Hình 3.3.Công cụ Điều khiển khuếch đại - 43 Hình 3.4.Sơ đồ Prediction - 45 Hình 3.5.Mô hình mãhóaAAC với file PCM - 48 Hình 3.6 Biểu đồ tỷ lệ thời gian thực mãhóaAAC - 57 Hình 4.1.Mô hình thực AAC Encoder song song - 63 Hình 4.2.Biểu đồ tỉ lệ tăng tốc biến đổi CudaFFT song song - 66 - Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội -6- ỨngdụngcôngnghệtínhtoánđadụngxửlýđồhọađalõiNvidiatoánmãhóaâmchuẩnAAC DANH MỤC CÁC BẢNG BIỂU Bảng 1.1 Các tần số lấy mẫu âm - 14 Bảng 1.2 Một số chuẩnâm phổ biến - 17 Bảng 3.1.Kết phân tích thời gian thực mãhóa với tệp - 53 Bảng 3.2.Kết phân tích thời gian thực mãhóa với tệp - 54 Bảng 3.3.Kết phân tích thời gian thực mãhóa với tệp - 55 Bảng 3.4.Kết phân tích thời gian thực mãhóa với tệp - 55 Bảng 3.5.Kết phân tích thời gian thực mãhóa với tệp5 - 56 Bảng 4.1.Số thời gian tính CudaFFT - 60 Bảng 4.2.Thời gian mãhóa file - 65 Bảng 4.3.Thời gian mãhóa file - 65 Bảng 4.4.Thời gian mãhóa file - 65 Bảng 4.5.Thời gian mãhóa file - 66 Bảng 4.6.Thời gian mãhóa file - 66 - Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội -7- ỨngdụngcôngnghệtínhtoánđadụngxửlýđồhọađalõiNvidiatoánmãhóaâmchuẩnAAC DANH MỤC CÁC THUẬT NGỮ MPEG – Moving Picture Experts Group: tên nhóm phát triển AAC – Advanced Audio Coding: Tên chuẩnmãhóaâm kĩ thuật số MP3 – MPEG Layer III: Tên chuẩnmãhóaâm kĩ thuật số CPU –Centre Processing Unit: Bộxửlý trung tâm máy tính GPU- Graphic Processing Unit: Bộxửlýđồhọa FFT – Fast Fourier Transform: Viết tắt thuật toán biến đổi fourier nhanh MDCT – Modified Discrete Cosine Transform: Viết tắt biến đổi phép biến đổi cô si rời rạc PCM - pulse-code modulation: Định dạng âm kĩ thuật số không nén Bitrate – tỷ lệ bit: số tương ứng với số lượng bit liệu cần để lưu trữ liệu đơn vị thời gian, thường tính kbit/s Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội -8- ỨngdụngcôngnghệtínhtoánđadụngxửlýđồhọađalõiNvidiatoánmãhóaâmchuẩnAAC MỞ ĐẦU Sự phát triển côngnghệ thông tin truyền thông ảnh hưởng ngày sâu sắc đến lĩnh vực, đời sống người Ngày nay, tất liệu từ văn bản, hình ảnh, âm thanh, video số hóa Đặc biệt lĩnh vực âm thanh, có chuyển đổi mạnh mẽ thiết bị, cách thức thưởng thức, cách thức phân phối âm đặc biệt làm âm nhạc Với tiện dụng chất lượng không ngừng cải tiến thiết bị âm kĩ thuật số ngày trở nên phổ biến Cách thực phân phối âm có nhiều thay đổi, đặc biệt lĩnh vực âm nhạc, nghe nhạc trực tuyến thay nhà hát băng đĩa Cùng với chuẩnâm không ngừng cải tiến để có chất lượng tốt hơn, hiệu suất mã hóa, giải mã cao phù hợp với việc nghe trực tuyến Sự đời chuẩnâm MPEG AAC không nằm mục đích Bên cạnh việc cải tiến chất lượng âm việc cải tiến tốc độmã hóa, giải mã vấn đề đáng để quan tâm Hai yếu tố ảnh hưởng tới trình cải tiến là: lực hệ thống phần cứng hỗ trợ mã hóa/giải mã; giải thuật chương trình mãhóa giải mã hệ thống phần cứng Xu hướng cho thấy hệ thống vi xửlýđalõi kèm với côngnghệtínhtoán song song áp dụng vào côngnghệmã hóa/giải mã nói chung cho toánmãhóaâm nói riêng Cùng với phát triển mặt thuật toán, phần mềm lĩnh vực phần cứng có bước phát triển vượt bậc Khi mạch điện tử gần đạt tới tới hạn tốc độ việc xây dựngxửlýđalõi (2, 4, lõi) nhiều lõi (hàng chục tới hàng trăm lõi) trở thànhxu hướng phát triển để nâng cao sức mạnh tínhtoán hệ thống Sự đời xửlýđồhọa (GPU) với hàm trăm xửlý vô hướng có khả xửlý song song cao mang lại phương thức để nâng cao tốc độtínhtoán Đặc biệt với đời xửlýđồhọa theo Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội -9- ỨngdụngcôngnghệtínhtoánđadụngxửlýđồhọađalõiNvidiatoánmãhóaâmchuẩnAAC kiến trúc Tesla chuyên dụng cho tínhtoán hiệu cao NVIDIAcông cụ lập trình Cuda làm cho việc lập trình tínhtoánxửlýđồhọa mạnh mẽ tiện lợi cho ứngdụngđồhọa phi đồhọa Vậy nên GPU lựa chọn để tăng tốc độtínhtoán giải toántínhtoán hiệu cao Xuất phát từ nhu cầu mã hóa/giải mãâmxutínhtoán hiệu cao xửlýđồhọađa lõi, luận văn định hướng đến việc ứngdụngcôngnghệtínhtoánđadụngxửlýđồhọaNVIDIA để áp dụng cho toánmã hóa, giải mãâmchuẩnAAC nhằm tăng tốc độ cho trình mã hóa/giải mã Bằng phương pháp phân tích, thử nghiệm, luận văn vào phân tích khả song song hóa quy trình mãhóachuẩnâm AAC, đo đạc thời gian thực bước quy trình để xác định pha cần song song, từ đưa giải pháp ứngdụng GPU nhằm tăng tốc độmãhóachuẩnâmAAC Qua trình tìm hiểu vấn đề lý thuyết liên quan, phân tích thực nghiệm, tác giả tìm hiểu lý thuyết âm kĩ thuật số, mô hình triến trúc Tesla, kỹ thuật lập trình Cuda, tìm hiểu thuật toánmãhóa AAC, phân tích khả song song thuật toán Đóng góp luận văn : đưa kết phân tích thời gian thực bước trình mãhóaAAC giải thuật tuần tự; đề xuất giải pháp song song hóa phần trình mãhóa góp phần cải tiến tốc độmãhóa lên gấp hai lần (trên hệ thống thử nghiệm) Các phần tiếp đồ án tổ chức sau: Chương I trình bày vấn đề âm kĩ thuật số Chương II trình bày kiến trúc Tesla mô Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội - 10 - ỨngdụngcôngnghệtínhtoánđadụngxửlýđồhọađalõiNvidiatoánmãhóaâmchuẩnAAC MSEncode 0.31 1.33 MSReconstruction 0.08 11.22 Lượng tử hóa 5.88 24.99 10 Tổng thời gian mãhóa 23.52 11 Tổng thời gian thực 25.69 Bảng 3.2.Kết phân tích thời gian thực mãhóa với tệp Với file PCM kênh, tần số lấy mẫu 44.1kHz, kích thước mẫu 16bit, thời gian lấy mẫu phút 12 giây STT XửLý Thời gian(giây) Tỷ lệ(%) Tínhtoán phổ 12.82 56.63 FFT tính phổ 12.03 53.18 Tínhtoán ngưỡng 0.17 0.73 Block Switch 0.01 0.03 FilterBank 2.17 9.59 Prediction 0.59 2.56 MSEncode 0.30 1.30 MSReconstruction 0.08 3.55 Lượng tử hóa 5.59 24.70 10 Tổng thời gian mãhóa 22.646298 Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội - 54 - ỨngdụngcôngnghệtínhtoánđadụngxửlýđồhọađalõiNvidiatoánmãhóaâmchuẩnAAC 11 Tổng thời gian thực 24.834135 Bảng 3.3.Kết phân tích thời gian thực mãhóa với tệp Với file PCM kênh, tần số lấy mẫu 44.1kHz, kích thước mẫu 16bit, thời gian lấy mẫu phút 21 giây STT XửLý Thời gian(giây) Tỷ lệ(%) Tínhtoán phổ 10.50 59.16 FFT tính phổ 10.04 56.54 Tínhtoán ngưỡng 0.18 0.78 Block Switch 0.005 0.029 FilterBank 2.41 13.60 Prediction 0.37 2.10 MSEncode 0.23 1.31 MSReconstruction 0.06 0.33 Lượng tử hóa 4.35 24.49 10 Tổng thời gian mãhóa 17.76 11 Tổng thời gian thực 19.94 Bảng 3.4.Kết phân tích thời gian thực mãhóa với tệp Với file PCM kênh, tần số lấy mẫu 44.1kHz, kích thước mẫu 16bit, thời gian lấy mẫu phút 48 giây Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội - 55 - ỨngdụngcôngnghệtínhtoánđadụngxửlýđồhọađalõiNvidiatoánmãhóaâmchuẩnAAC STT XửLý Thời gian(giây) Tỷ lệ(%) Tínhtoán phổ 14.97 56.74 FFT tính phổ 13.88 52.61 Tínhtoán ngưỡng 0.19 0.72 Block Switch 0.01 0.01 FilterBank 2.69 10.19 Prediction 0.65 2.48 MSEncode 0.34 1.30 MSReconstruction 0.09 0.35 Lượng tử hóa 6.74 25.54 10 Tổng thời gian mãhóa 26.38 11 Tổng thời gian thực 28.75 Bảng 3.5.Kết phân tích thời gian thực mãhóa với tệp5 Từ bảng số liệu ta nhận thấy trình mãhóa AAC, tínhtoán phổ xửlý chiếm nhiều thời gian thực khoảng từ 52%-63% toàn giai đoạn xửlýTrong phần lớn thời gian tínhtoán phổ thời gian dành cho việc thực biến đổi FFT ( 90% thời gian xử lý) Như rút ngắn thời gian thực FFT rút ngắn đáng kể toàn thời gian thực Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội - 56 - ỨngdụngcôngnghệtínhtoánđadụngxửlýđồhọađalõiNvidiatoánmãhóaâmchuẩnAAC Hình 3.6 Biểu đồ tỷ lệ thời gian thực mãhóaAAC Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội - 57 - ỨngdụngcôngnghệtínhtoánđadụngxửlýđồhọađalõiNvidiatoánmãhóaâmchuẩnAAC CHƯƠNG IV CẢI THIỆN HIỆU NĂNG MÃHÓA ACC VỚI CÁCBỘXỬLÝĐỒHỌAĐALÕINVIDIA Từ phân tích kết đo đạc chương III, chương trình bày giải pháp ứngdụngxửlýđồhọađalõiNvidia nhằm cải thiện hiệu mãhóaAAC Phần đầu thực thay biến đổi FFT biến đổi FFT Cuda đo đạc kết đạt phép biến đổi Phần trình bày giải pháp tăng tốc độmãhóaAAC dựa phân tích kết biến đổi FFT Cuda Cuối cùng, trình bày kết thực nghiêm thu 4.1.Thực Hiện Biến Đổi Tuần FFT Trên Cuda Như phân tích chương 3, thời gian thực biến đổi FFT phần tínhtoán phổ chiếm 50% thời gian thực toàn trình mãhóa Vậy nên thử nghiệm thay tất biến đổi FFT tínhtoán phổ hàm biến đổi FFT Cuda Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội - 58 - ỨngdụngcôngnghệtínhtoánđadụngxửlýđồhọađalõiNvidiatoánmãhóaâmchuẩnAAC Dữ liệu đầu vào liệu hàm biến FFT tínhtoán phổi có kích thức 128 Khi thực biến đổi Cuda phải thêm vào bước là: khởi tạo cuffthandle, khởi tạo nhớ GPU, khởi tạo chuyển đổi liệu sang định dạng liệu cufftDoubleComplex, chuyển liệu từ máy chủ CPU sang thiết bị GPU ngược lại, chuyển liệu từ định dạng cufftDoubleComplex sang định dạng ban đầu gọi giải phóng cuffthandle nhớ máy chủ Do để đánh giá Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội - 59 - ỨngdụngcôngnghệtínhtoánđadụngxửlýđồhọađalõiNvidiatoánmãhóaâmchuẩnAAC hiệu thực biến đổi FFT GPU cần phải phân tích cụ thể thời gian bước thực Kết test với biến đổi cudafft Với file PCM kênh, tần số lấy mẫu 44.1kHz, kích thước mẫu 16bit, thời gian lấy mẫu phút 48 giây STT Bước Thực Hiện Thời gian(giây) Tỷ lệ(%) Khởi tạo Cuffthandle 57.18 46.76 Khởi tạo nhớ GPU 1.06 0.87 Khởi tạo nhớ máy chủ 0.37 0.30 Chuyển liệu máy chủ sang thiết bị 2.58 2.11 Biến đổi FFT 6.10 4.99 Chuyển liệu từ GPU máy chủ 18.49 15.12 Giải phóng liệu GPU 35.28 28.85 Tổng thời gian biến đổi FFT 122.29 Bảng 4.1.Số thời gian tính CudaFFT Từ số liệu thu nhận thấy toàn thời gian xửlý cudaFFT thời gian khởi tạo Cuffthandle nhiều thời gian chiến tới 46.76%, đến thời gian khởi giải phóng liệu GPU 28.85%., thứ ba thời gian biến đổi chuyển liệu từ GPU máy 15.12%, thời gian biến đổi cudafft 4.99% Như việc áp dụng thay biến đổi FFT tínhtoán phổ biến đổi FFT GPU không mang lại cải thiện thời gian Thời gian tínhtoán cải thiện cách thực phép khởi tạo Cuffthandle, nhớ GPU lần trước bắt đầu mãhóatoàn trình, sau sử dụng lại suốt trình mãhóa Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội - 60 - ỨngdụngcôngnghệtínhtoánđadụngxửlýđồhọađalõiNvidiatoánmãhóaâmchuẩnAAC giải phóng trước thoát khỏi chương trình Khi đó, thời gian thực CudaFFT thời gian: Khởi tạo nhớ máy chủ,Chuyển liệu máy chủ sang thiết bị, Biến đổi FFT, Chuyển liệu từ GPU máy chủ Ta có tổng thời gian thực lại là: 0.37 + 2.58 + 6.1 + 18.49 = 27.54 > 13.87 thời gian biến đổi FFT thực bình thường (xem bảng trên) Như vậy, việc thay trực tiếp biến đổi FFT tínhtoán phổ biến đổi CudaFFT không cải tiến thời gian thực mãhóaAAC 4.2.Tăng Tộc ĐộMãHóaAAC Theo kết phân tích thời gian thực biến đổi FFT GPU thông qua thư viện cudaFFT có cải thiện thời gian thực biến đổi FFT Cuda thao tác khởi tạo hàm biến đổi CudaFFT, trao đổi liệu máy chủ thiết bị nhiều thời gian nên tổng thể không cải thiện thời gian thực thuật toánmà ngược lại, tồng thời gian thực lớn so với sử dụng biến đổi FFT CPU Nguyên nhân việc thời gian trao đổi liệu CudaFFT thời gian trao đổi liệu máy chủ thiết bị lại chiếm chủ yếu thời gian GPU thiết bị ngoại vi nên tốc độ truyền liệu chậm Thêm vào đó, đặc điểm biến đổi FFT tínhtoán phổ mãhóaAAC lại có kích thức liệu nhỏ thực lặp lặp lại nhiều lần (với tệp thử nghiệm số lần gọi FFT tínhtoán phổ 199008 lần) nên tổng thời gian trao đổi liệu lớn, liệu nhỏ nên thời gian biến đổi FFT cải thiện không đáng kể so với tổng thời gian tro đổi liệu Vậy nên để rút ngắn thời gian biến đổi FFT GPU cần phải giảm số lần trao đổi liệu CPU GPU, điều có nghĩa cần phải gộp nhiều lần biến đổi FFT lại để thực thời điểm Việc thực song song nhiều biến đổi FFT thời điểm thực dễ dàng thư viện CudaFFT có chế cho phép xửlý theo lô (batch), tức xửlý song song lúc nhiều liệu Vậy vấn đề lại làm để thực Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội - 61 - ỨngdụngcôngnghệtínhtoánđadụngxửlýđồhọađalõiNvidiatoánmãhóaâmchuẩnAAC phép xửlý song song biến đổi FFT mãhóaAAC Việc thực song song biến đổi FFT không dễ dàng chế chồng (overlapped) biến mãhóaAAC nói Theo chế chồng mãhóaAAC liệu mẫu tạo cách kết hợp liệu mẫu với phần liệu mẫu trước Do với N tín hiệu mẫu đầu vào tạo sẵn N liệu biến đổi theo chế chồng Thuật toán để để thực biến đổi FFT song song thực đoạn mã mô sau: Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội - 62 - ỨngdụngcôngnghệtínhtoánđadụngxửlýđồhọađalõiNvidiatoánmãhóaâmchuẩnAAC Để thực xửlý theo lô đoạn chương trình thuật toánmãhóaAAC cần phải thay đổi tương ứng Khi đầu vào thuật toán lô nhiều mẫu Tất lô tiến hành biến đổi tínhtoán phổ song song thuật toán Kết tínhtoán phổ song song lưu vào đệm Sau lấy mẫu tínhtoán phổ để tiến hành bước lại thuật toánmãhóa (như hình minh họa 4.1) Hình 4.1.Mô hình thực AAC Encoder song song Đo số lượng mẫu file audio thường lớn nên nên tiến hành song song lúc cho toàn file liệu audio mà phải chia tệp thành phần để biến đổi song song Để tránh việc khởi tạo hàm biến đổi CudaFFT, nhớ GPU nhiều lần chia tệp thành phần cho kích thước lô liệu nằm khả xửlý cho phép hàm CudaFFT hiệu đạt tốt Như với Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội - 63 - ỨngdụngcôngnghệtínhtoánđadụngxửlýđồhọađalõiNvidiatoánmãhóaâmchuẩnAAC chương trình ứngdụng thiết lập kích thước xửlý song song Cụ thể, xửlýmãhóa với tệp đầu vào có S mẫu, kích thước mẫu mãhóa k kích thước lô xửlý song song b, gọi n số kết phép chia số nguyên S n Khi tiến hành thực biến đổi song song cho n b k b k mẫu n lô Phần mẫu lại tiến hành hành mãhóa theo thuật toánmãhóa thông thường 4.3.Kết Quả Thực Nghiệm Giải thuật mãhóa song song vừa trình bày tiến hành cài đặt thử nghiệm với file audio phân tích thời gian để đánh giá so sánh kết thu Môi trường thực hiện: – Bộxửlý Intel Core Quad Q8400 2.66 Ghz – 8GB RAM – Hai card đồhoạ kép NVIDIA GeForce GTX 295 (tổng cộng GPU) – Hệ điều hành Centos OS 5.3 Chương trình thực với kích thước biến đổi FFT 1024 tương ứng với kích thước xửlýmãhóa 2048 kích thước cho lo xửlý song song 1024 Với file PCM kênh, tần số lấy mẫu 44.1kHz, kích thước mẫu 16bit, thời gian lấy mẫu phút 17 giây STT XửLý FFT tính phổ Thời gian Thời gian CPU (Giây) GPU (Giây) 17.47 0.25 Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội - 64 - Tỷ lệ(%) 69.88 ỨngdụngcôngnghệtínhtoánđadụngxửlýđồhọađalõiNvidiatoánmãhóaâmchuẩnAAC Tổng thời gian mãhóa 14.44 33.58 2.33 Bảng 4.2.Thời gian mãhóa file Với file PCM kênh, tần số lấy mẫu 44.1kHz, kích thước mẫu 16bit, thời gian lấy mẫu phút 26 giây STT XửLý Thời gian Thời gian Tỷ lệ(%) CPU (Giây) GPU (Giây) FFT tính phổ 12.44 0.18 69.11 Tổng thời gian mãhóa 23.52 10.08 2.33 Bảng 4.3.Thời gian mãhóa file Với file PCM kênh, tần số lấy mẫu 44.1kHz, kích thước mẫu 16bit, thời gian lấy mẫu phút 12 giây STT XửLý Thời gian Thời gian Tỷ lệ(%) CPU (Giây) GPU (Giây) FFT tính phổ 12.03 0.16 75.19 Tổng thời gian mãhóa 23.51 10.41 2.26 Bảng 4.4.Thời gian mãhóa file Với file PCM kênh, tần số lấy mẫu 44.1kHz, kích thước mẫu 16bit, thời gian lấy mẫu phút 21 giây STT XửLý FFT tính phổ Thời gian Thời gian CPU (Giây) GPU (Giây) 10.04 0.13 Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội - 65 - Tỷ lệ(%) 77.23 ỨngdụngcôngnghệtínhtoánđadụngxửlýđồhọađalõiNvidiatoánmãhóaâmchuẩnAAC Tổng thời gian mãhóa 9.83 17.76 1.81 Bảng 4.5.Thời gian mãhóa file Với file PCM kênh, tần số lấy mẫu 44.1kHz, kích thước mẫu 16bit, thời gian lấy mẫu phút 48 giây STT XửLý Thời gian Thời gian Tỷ lệ(%) CPU (Giây) GPU (Giây) FFT tính phổ 13.88 0.19 73.05 Tổng thời gian mãhóa 26.38 13.60 1.94 Bảng 4.6.Thời gian mãhóa file Kết cho thấy việc ứngdụngcôngnghệxửlý song song vào việc biến đổi FFT tínhtoán phổi mãhóaAAC rút tăng tốc thời gian biến đổi FFT lên từ 68 đến 77 lần, góp phần tăng tốc độ biến mãhóaAAC lên gấp khoảng lần Hình 4.2.Biểu đồ tỉ lệ tăng tốc biến đổi CudaFFT song song Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội - 66 - ỨngdụngcôngnghệtínhtoánđadụngxửlýđồhọađalõiNvidiatoánmãhóaâmchuẩnAAC CHƯƠNG V KẾT LUẬN VÀ ĐỊNH HƯỚNG Luận văn tập trung vào nghiên cứu công cụ lập trình song song Cuda thiết bị đồhọa GPU Nghiên cứu phân tích trình mãhóachuẩnâm MPEG-2 AAC Qua phân tích khả thực song song trình mãhóaứngdụng khả xửlý song song GPU để tăng tốc cho trình mãhóaAAC Luận văn phân tích thời gian thực giai đoạn trình mãhóa từ đưa giải pháp song song hóa việc tínhtoán FFT giai đoạn tínhtoán phổ thiết bị GPU Kết đạt tăng tốc độtínhtoán FFT lên 70 lần giúp tăng tốc độmãhóa file AAC lên gấp lần Tuy nhiên, giải pháp thực số hạn chế phải trả giá cho chi phí nhớ lớn phải tiến hành đệm liệu bước xửlý Kết tăng tốc trình không lớn Trong tương lai, thuật toán tiến hai mặt, thứ nghiên cứu cải tiến thuật toán để song song hóa giai đoạn xửlý lại khả song song hóatoàn trình để sử dụng triệt để khả tính song song thiết bị GPU, giúp cải thiện thời gian tínhtoán Thứ hai tối ưu hóa việc sử dụng tài nguyên nhớ Ngoài ra, nghiên cứu ứngdụng khả tínhtoán song song GPU để tăng tốc độ giải mã cho chuẩnâmthành khác MP3, WMA… Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội - 67 - ỨngdụngcôngnghệtínhtoánđadụngxửlýđồhọađalõiNvidiatoánmãhóaâmchuẩnAAC TÀI LIỆU THAM KHẢO Bruce Fries, Marty Fries (2005), Digital Audio Essentials http://developer.nvidia.com/cuda-toolkit-32-downloads http://en.wikipedia.org/wiki/Advanced_Audio_Coding http://www.audiocoding.com/faac.html https://ccrma.stanford.edu/~bosse/proj/node27.html ISO/IEC 13818-3 (1998), Audio, 2nd ISO/IEC 13818-7 (2004), Advanced Audio Coding (AAC) Karlheinz Brandenburg, Oliver Kunz, Akihiko Sugiyama(2000),MPEG-4 natural audio coding Maria Bosi, Richard E.GoldBerg(2003), Introduction to Digital Audio Coding and Standard 10 Nvidia Corporation (2008) Introducto Cuda 11 Serpil Tokdermir(2006), Digital Compression on GPU 12 T.S Đinh Đức Anh Vũ, Biến Đổi Fourier Nhanh(FFT) 13 udo Zelzer(2008) Digital Audio Signal Processing, 2nd 14 Yuichiro Takamizawa, Toshiyuki Nomura, and Masao Ikekawa(2001), High- quality and processor-efficient implementation of an MPEG-2 AAC encoder Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội - 68 - ... công nghệ tính toán đa dụng xử lý đồ họa đa lõi Nvidia toán mã hóa âm chuẩn AAC CHƯƠNG II LẬP TRÌNH ĐA DỤNG TRÊN CÁC BỘ XỬ LÝ ĐỒ HỌA ĐA LÕI CỦA NVIDIA Chương trình bày vấn đề xử lý đồ họa GPU,... Nội - 20 - Ứng dụng công nghệ tính toán đa dụng xử lý đồ họa đa lõi Nvidia toán mã hóa âm chuẩn AAC Trong phần chuẩn MPEG-4 định nghĩa số công cụ nén ứng dụng số chuẩn mẫu Sau danh sách chuẩn mẫu... cao xử lý đồ họa đa lõi, luận văn định hướng đến việc ứng dụng công nghệ tính toán đa dụng xử lý đồ họa NVIDIA để áp dụng cho toán mã hóa, giải mã âm chuẩn AAC nhằm tăng tốc độ cho trình mã hóa/ giải