Ứng dụng công nghệ tính toán đa dụng trên các bộ xử lý đồ họa đa lõi của NVIDIA trong bài toán mã hóa âm thanh chuẩn AAC

68 258 0
Ứng dụng công nghệ tính toán đa dụng trên các bộ xử lý đồ họa đa lõi của NVIDIA trong bài toán mã hóa âm thanh chuẩn AAC

Đ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

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 ỨNG DỤNG CÔNG NGHỆ TÍNH TOÁN ĐA DỤNG TRÊN CÁC BỘ XỬ ĐỒ HỌA ĐA LÕI CỦA NVIDIA TRONG BÀI TOÁN HÓA ÂM THANH CHUẨN AAC Chuyên ngành : Công Nghệ Thông Tin LUẬN VĂN THẠC SĨ KHOA HỌC Chuyên Ngành Công Nghệ Thông Tin NGƯỜI HƯỚNG DẪN KHOA HỌC : TS.Nguyễn Hữu Đức Hà Nội –2011 Ứng dụng công nghệ tính toán đa dụng xử đồ họa đa lõi Nvidia toán hóa âm chuẩn AAC LỜI CAM ĐOAN Tôi Phạm Xuân Toái Sinh viên lớp cao học Công Nghệ Thông Tin Khóa 2009 Đại Học Bách Khao Hà Nội 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- Ứng dụng công nghệ tính toán đa dụng xử đồ họa đa lõi Nvidia toán hóa âm chuẩn AAC LỜ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ính toá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ính Toá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ông Nghệ 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ông Nghệ 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- Ứng dụng công nghệ tính toán đa dụng xử đồ họa đa lõi Nvidia toán hóa âm chuẩn AAC 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 ÂM THANH 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 Âm Thanh Số - 17 1.2.1 Các Chuẩn Âm Thanh 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 ĐA DỤNG TRÊN CÁC BỘ XỬ ĐỒ HỌA ĐA LÕI CỦA NVIDIA - 22 2.1.Bộ Xử Đồ Họa GPU - 22 2.2 Kiến Trúc Tính Toá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- Ứng dụng công nghệ tính toán đa dụng xử đồ họa đa lõi Nvidia toán hóa âm chuẩn AAC 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ính Toá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 HÓA AAC - 38 3.1.Thuật Toán Hóa AAC - 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óa 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 hóa AAC - 48 3.3.Phân Tích Thời Gian Hóa AAC - 51 CHƯƠNG IV CẢI THIỆN HIỆU NĂNG HÓA ACC VỚI CÁC BỘ XỬ ĐỒ HỌA ĐA LÕI NVIDIA - 58 4.1.Thực Hiện Biến Đổi Tuần FFT Trên Cuda - 58 4.2.Tăng Tộc Độ Hóa AAC - 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- Ứng dụng công nghệ tính toán đa dụng xử đồ họa đa lõi Nvidia toán hóa âm chuẩn AAC 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 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ử 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 xử 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ính toán Cuda - 36 Hình 3.1.Mô hình hóa AAC - 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 hóa AAC với file PCM - 48 Hình 3.6 Biểu đồ tỷ lệ thời gian thực hóa AAC - 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- Ứng dụng công nghệ tính toán đa dụng xử đồ họa đa lõi Nvidia toán hóa âm chuẩn AAC 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 hóa với tệp - 53 Bảng 3.2.Kết phân tích thời gian thực hóa với tệp - 54 Bảng 3.3.Kết phân tích thời gian thực hóa với tệp - 55 Bảng 3.4.Kết phân tích thời gian thực hóa với tệp - 55 Bảng 3.5.Kết phân tích thời gian thực 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 hóa file - 65 Bảng 4.3.Thời gian hóa file - 65 Bảng 4.4.Thời gian hóa file - 65 Bảng 4.5.Thời gian hóa file - 66 Bảng 4.6.Thời gian 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- Ứng dụng công nghệ tính toán đa dụng xử đồ họa đa lõi Nvidia toán hóa âm chuẩn AAC 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ẩn hóa âm kĩ thuật số MP3 – MPEG Layer III: Tên chuẩn hóa âm kĩ thuật số CPU –Centre Processing Unit: Bộ xử trung tâm máy tính GPU- Graphic Processing Unit: Bộ xử đồ 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- Ứng dụng công nghệ tính toán đa dụng xử đồ họa đa lõi Nvidia toán hóa âm chuẩn AAC MỞ ĐẦU Sự phát triển công nghệ 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 hóa, giải 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 độ hóa, giải 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ợ hóa/giải mã; giải thuật chương trình hóa giải hệ thống phần cứng Xu hướng cho thấy hệ thống vi xử đa lõi kèm với công nghệ tính toán song song áp dụng vào công nghệ hóa/giải nói chung cho toán 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ựng xử đa lõi (2, 4, lõi) nhiều lõi (hàng chục tới hàng trăm lõi) trở thành xu hướng phát triển để nâng cao sức mạnh tính toán hệ thống Sự đời xử đồ họa (GPU) với hàm trăm xử vô hướng có khả xử song song cao mang lại phương thức để nâng cao tốc độ tính toán Đặc biệt với đời xử đồ họa theo Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội -9- Ứng dụng công nghệ tính toán đa dụng xử đồ họa đa lõi Nvidia toán hóa âm chuẩn AAC kiến trúc Tesla chuyên dụng cho tính toán hiệu cao NVIDIA công cụ lập trình Cuda làm cho việc lập trình tính toán xử đồ họa mạnh mẽ tiện lợi cho ứng dụng đồ họa phi đồ họa Vậy nên GPU lựa chọn để tăng tốc độ tính toán giải toán tính toán hiệu cao Xuất phát từ nhu cầu hóa/giải âm xu tính toán hiệu cao xử đồ 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ử đồ họa NVIDIA để áp dụng cho toán hóa, giải âm chuẩn AAC nhằm tăng tốc độ cho trình hóa/giải 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 hóa chuẩ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 ứng dụng GPU nhằm tăng tốc độ hóa chuẩn âm AAC Qua trình tìm hiểu vấn đề thuyết liên quan, phân tích thực nghiệm, tác giả tìm hiểu 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án 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 hóa AAC giải thuật tuần tự;  đề xuất giải pháp song song hóa phần trình hóa góp phần cải tiến tốc độ 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 - Ứng dụng công nghệ tính toán đa dụng xử đồ họa đa lõi Nvidia toán hóa âm chuẩn AAC 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 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 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ử Thời gian(giây) Tỷ lệ(%) Tính toán phổ 12.82 56.63 FFT tính phổ 12.03 53.18 Tính toá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 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 - Ứng dụng công nghệ tính toán đa dụng xử đồ họa đa lõi Nvidia toán hóa âm chuẩn AAC 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 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ử Thời gian(giây) Tỷ lệ(%) Tính toán phổ 10.50 59.16 FFT tính phổ 10.04 56.54 Tính toá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 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 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 - Ứng dụng công nghệ tính toán đa dụng xử đồ họa đa lõi Nvidia toán hóa âm chuẩn AAC STT Xử Thời gian(giây) Tỷ lệ(%) Tính toán phổ 14.97 56.74 FFT tính phổ 13.88 52.61 Tính toá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 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 hóa với tệp5 Từ bảng số liệu ta nhận thấy trình hóa AAC, tính toán phổ xử chiếm nhiều thời gian thực khoảng từ 52%-63% toàn giai đoạn xử Trong phần lớn thời gian tính toá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 - Ứng dụng công nghệ tính toán đa dụng xử đồ họa đa lõi Nvidia toán hóa âm chuẩn AAC Hình 3.6 Biểu đồ tỷ lệ thời gian thực hóa AAC Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội - 57 - Ứng dụng công nghệ tính toán đa dụng xử đồ họa đa lõi Nvidia toán hóa âm chuẩn AAC CHƯƠNG IV CẢI THIỆN HIỆU NĂNG HÓA ACC VỚI CÁC BỘ XỬ ĐỒ HỌA ĐA LÕI NVIDIA Từ phân tích kết đo đạc chương III, chương trình bày giải pháp ứng dụng xử đồ họa đa lõi Nvidia nhằm cải thiện hiệu hóa AAC 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 độ hóa AAC 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ính toán phổ chiếm 50% thời gian thực toàn trình hóa Vậy nên thử nghiệm thay tất biến đổi FFT tính toá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 - Ứng dụng công nghệ tính toán đa dụng xử đồ họa đa lõi Nvidia toán hóa âm chuẩn AAC Dữ liệu đầu vào liệu hàm biến FFT tính toá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 - Ứng dụng công nghệ tính toán đa dụng xử đồ họa đa lõi Nvidia toán hóa âm chuẩn AAC 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ử 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ính toán phổ biến đổi FFT GPU không mang lại cải thiện thời gian Thời gian tính toá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 hóa toàn trình, sau sử dụng lại suốt trình hóa Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội - 60 - Ứng dụng công nghệ tính toán đa dụng xử đồ họa đa lõi Nvidia toán hóa âm chuẩn AAC 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ính toán phổ biến đổi CudaFFT không cải tiến thời gian thực hóa AAC 4.2.Tăng Tộc Độ Hóa AAC 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án 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ính toán phổ hóa AAC 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ính toá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ử theo lô (batch), tức xử 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 - Ứng dụng công nghệ tính toán đa dụng xử đồ họa đa lõi Nvidia toán hóa âm chuẩn AAC phép xử song song biến đổi FFT hóa AAC Việc thực song song biến đổi FFT không dễ dàng chế chồng (overlapped) biến hóa AAC nói Theo chế chồng hóa AAC 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ô sau: Phạm Xuân Toái – Cao Học CNTT - 2009- Đại Học Bách Khoa Hà Nội - 62 - Ứng dụng công nghệ tính toán đa dụng xử đồ họa đa lõi Nvidia toán hóa âm chuẩn AAC Để thực xử theo lô đoạn chương trình thuật toán hóa AAC 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ính toán phổ song song thuật toán Kết tính toán phổ song song lưu vào đệm Sau lấy mẫu tính toán phổ để tiến hành bước lại thuật toán 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 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ử 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 - Ứng dụng công nghệ tính toán đa dụng xử đồ họa đa lõi Nvidia toán hóa âm chuẩn AAC chương trình ứng dụng thiết lập kích thước xử song song Cụ thể, xử hóa với tệp đầu vào có S mẫu, kích thước mẫu hóa k kích thước lô xử 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 hóa theo thuật toán hóa thông thường 4.3.Kết Quả Thực Nghiệm Giải thuật 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ử 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ử hóa 2048 kích thước cho lo xử 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ử 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 Ứng dụng công nghệ tính toán đa dụng xử đồ họa đa lõi Nvidia toán hóa âm chuẩn AAC Tổng thời gian hóa 14.44 33.58 2.33 Bảng 4.2.Thời gian 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ử 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 hóa 23.52 10.08 2.33 Bảng 4.3.Thời gian 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ử 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 hóa 23.51 10.41 2.26 Bảng 4.4.Thời gian 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ử 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 Ứng dụng công nghệ tính toán đa dụng xử đồ họa đa lõi Nvidia toán hóa âm chuẩn AAC Tổng thời gian hóa 9.83 17.76 1.81 Bảng 4.5.Thời gian 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ử 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 hóa 26.38 13.60 1.94 Bảng 4.6.Thời gian hóa file Kết cho thấy việc ứng dụng công nghệ xử song song vào việc biến đổi FFT tính toán phổi hóa AAC 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 hóa AAC 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 - Ứng dụng công nghệ tính toán đa dụng xử đồ họa đa lõi Nvidia toán hóa âm chuẩn AAC 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 hóa chuẩn âm MPEG-2 AAC Qua phân tích khả thực song song trình hóa ứng dụng khả xử song song GPU để tăng tốc cho trình hóa AAC Luận văn phân tích thời gian thực giai đoạn trình hóa từ đưa giải pháp song song hóa việc tính toán FFT giai đoạn tính toán phổ thiết bị GPU Kết đạt tăng tốc độ tính toán FFT lên 70 lần giúp tăng tốc độ 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ử 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ại khả song song hóa toà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ính toá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 ứng dụng khả tính toán song song GPU để tăng tốc độ giải cho chuẩn âm thà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 - Ứng dụng công nghệ tính toán đa dụng xử đồ họa đa lõi Nvidia toán hóa âm chuẩn AAC 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

Ngày đăng: 27/07/2017, 20:35

Từ khóa liên quan

Mục lục

  • BÌA

  • LỜI CAM ĐOAN.

  • LỜI CẢM ƠN

  • MỤC LỤC

  • MỞ ĐẦU.

  • CHƯƠNG I.

  • CHƯƠNG II.

  • CHƯƠNG III.

  • CHƯƠNG IV.

  • CHƯƠNG V.

  • TÀI LIỆU THAM KHẢO.

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

  • Đang cập nhật ...

Tài liệu liên quan