1. Trang chủ
  2. » Công Nghệ Thông Tin

CÁC PP MÃ HÓA VÀ NÉN ÂM THANH THEO CHUẨN MPEG, DEMO NÉN ÂM THANH BẰNG THƯ VIỆN LAME PROJECT

59 980 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 59
Dung lượng 649,32 KB

Nội dung

Trân trọng cám ơn bạn đã đọc tài liệu. Để được hỗ trợ về demo chương trình xin liên hệ gmail: hoangnga.tiu@gmail.com

BẢNG PHÂN CÔNG CÔNG VIỆC Tên công việc Tìm kiếm tài liệu tham khảo Trình bày báo cáo Đánh giá, chỉnh sửa báo cáo Tạo slide thuyết trình Thuyết trình Những vấn đề tổng quan đề tài, nghiên cứu liên quan Tập tin dạng sóng Wave File Các phương pháp hóa nén âm Phương pháp hóa nén âm theo chuẩn MPEG Xây dựng module nén, hóa âm Thành viên tham gia Tất thành viên MỤC LỤC DANH MỤC CÁC HÌNH ẢNH MỞ ĐẦU Việc ứng dụng Công nghệ thông tin triển khai tất lĩnh vực đời sống người giới nói chung Việt Nam nói riêng Mặc dù có phát triển vượt trội công nghệ phần cứng, dung lượng đĩa cứng tăng lên cách đáng kể với phát triển ạt ngành công nghệ phần cứng đáp ứng đòi hỏi yêu cầu thực tiễn đặt ra, có vấn đề không gian lưu trữ thời gian xử lý liệu Chính nhà nghiên cứu phần mềm ý đến việc phát triển phần mềm để hỗ trợ phần cứng Họ tạo chương trình phần mềm hỗ trợ tích cực phần cứng, từ đời phần mềm nén âm thanh, hình ảnh, nén video, tách âm từ file video để tạo dạng âm thanh, hình ảnh, video mindi, mpeg, mp3, mp4… file ảnh dạng gif, jpeg…với dung lượng lưu trữ vô nhỏ chất lượng có giảm đôi chút không đáng kể so với đạt để truyền tải, truy cập nhanh Từ năm 1988, Tổ chức ISO/MPEG đảm trách việc nghiên cứu chuẩn hóa tiêu chuẩn nén, hóa âm hình ảnh cho phương tiện lưu trữ số bao gồm CD-ROM, DAT, đĩa quang từ MO ổ cứng máy tính Từ đó, chuẩn MPEG sử dụng rộng rãi việc hóa âm hình ảnh Mặc dù MPEG chuẩn nén, hóa dành cho âm hình ảnh, phần trình bày nhóm sinh viên nằm khuôn khổ âm để giúp người hiểu thêm chi tiết phương pháp nén hóa âm theo chuẩn MPEG, vấn đề liên quan tới hình ảnh không đề cập tới Việc tìm hiểu đề tài hội để nhóm sinh viên hiểu sâu phương pháp nén, hóa nói chung phương pháp nén âm theo chuẩn MPEG nói riêng, đồng thời nâng cao kiến thức, kỹ lập trình hướng đối tượng Như đề cập đến trên, mục tiêu đề tài để tìm hiểu phương pháp nén hóa âm theo chuẩn MPEG, định dạng âm chưa nén Wave từ dựa số nguồn thư viện hỗ trợ Lame Project nén âm có sẵn ngôn ngữ lập trình C# để xây dựng module nén hóa định dạng âm Wave sang định dạng âm MP3 Đối tượng nghiên cứu đề tài định dạng âm Wave, phương pháp nén hóa âm theo chuẩn MPEG, thư viện hỗ trợ Lame Project nén âm ngôn ngữ lập trình C# Phạm vi nghiên cứu phương pháp nén hóa âm thanh, định dạng âm Wave, ngôn ngữ lập trình C#, thư viện hỗ trợ Lame Project nén âm để áp dụng vào xây dựng module nén hóa âm ứng dụng lưu trữ âm trường Đại học Kỹ thuật - Hậu cần CAND, phục vụ cho nhiệm vụ học tập, tìm hiểu học phần Truyền thông đa phương tiện Đề tài sử dụng kết hợp nhiều phương pháp nghiên cứu khác Trong đó, phương pháp nghiên cứu tài liệu phương pháp chủ đạo đề tài Đối với phương pháp này, nhóm sinh viên tiến hành sưu tầm, tham khảo, phân tích nghiên cứu tài liệu có liên quan đến đề tài như: giáo trình, sách giáo khoa, sách chuyên khảo, báo cáo, công trình nghiên cứu chuẩn MPEG Tài liệu thu thập từ nhiều nguồn khác (Ví dụ: Các tạp chí khoa học, báo cáo nghiên cứu đăng tạp chí, sở liệu medline, CD, luận văn thạc sĩ, luận án tiến sĩ, internet…) Ngoài có số phương pháp bổ trợ khác như: Phương pháp thực nghiệm, phương pháp chuyên gia (đặt vấn đề thắc mắc với chuyên gia, người có chuyên môn để giải đáp) Tài liệu gồm chương: Chương 1: Tổng quan vấn đề nghiên cứu Chương đưa tổng quan tình hình nghiên cứu liên quan nước Giới thiệu khái quát âm số hai chuẩn âm số chuẩn PCM chuẩn MP3 Đồng thời nêu lên vấn đề MPEG Đây nội dung tạo nên sở lý thuyết cho đề tài phương pháp nén hóa âm theo chuẩn MPEG Chương 2: Tập tin dạng sóng Wave File Chương giới thiệu định dạng âm Wave, cấu trúc Wave file, cách đọc file Wave Đây sở để xây dựng chương trình đọc liệu Wave máy tính Chương giúp người đọc hiểu tổng quát cấu trúc tập tin Wave file Chương 3: Chuẩn nén, hóa âm MPEG Chương trình bày số khái niệm chuyển đổi âm số, nêu lên số phương pháp nén, hóa âm Cuối đưa nội dung phương pháp nén hóa âm theo chuẩn MPEG Những thông tin, kiến thức nêu chương mang ý nghĩa quan trọng trình xây dựng module nén hóa âm đề tài Chương 4: Xây dựng module nén hóa âm Chương giới thiệu thư viện hỗ trợ LAME Project nén hóa âm Đồng thời giới số câu lệnh phục vụ nén hóa âm sử dụng module Cuối cùng, chương trình bày cụ thể cách hoạt động module xây dựng Chương Tổng quan vấn đề nghiên cứu 1.1 Tổng quan tình hình nghiên cứu phương pháp nén, hóa âm theo chuẩn MPEG 1.1.1 Một số nghiên cứu nước Trên giới, hoạt động nghiên cứu phương pháp nén, hóa âm diễn sớm ngày phát triển Đặc biệt, phương pháp nén, hóa âm theo chuẩn MPEG phổ biến quan tâm Hội nghị MPEG diễn vào tháng năm 1988 Ottawa, Canada Tính đến cuối năm 2005, MPEG lên tới 350 thành viên tham gia hội nghi từ lĩnh vực công nghiệp, trường đại học viên nghiên cứu khác Điều cho thấy tầm quan trọng ý nghĩa thực tiễn chuẩn MPEG việc nén hóa âm Dưới số công trình, sản phẩm vấn đề này: “A Tutorial on MPEG/Audio Compression” Davis Pan, IEEE Multimedia, 1995 Hướng dẫn bao gồm lý thuyết đằng sau nén âm MPEG, khai thác tính chất cảm nhận hệ thống thính giác người, đồng thời bao gồm vấn đề mô hình âm tâm lý phương pháp để sử dụng thuật toán nén liệu âm “LAME Project” - phần mềm nguồn mở sử dụng để hóa, nén âm sang định dạng mát thông tin MP3 LAME bắt đầu phát triển vào khoảng năm 1998 Mike Cheng, dự án nhanh chóng trở thành dự án nhóm Mike cuối rời lãnh đạo bắt đầu làm việc tooLAME, hóa MP2 Mark Taylor trở thành nhà lãnh đạo bắt đầu theo đuổi chất lượng, thêm vào tốc độ tốt Ông coi người khởi xướng dự án LAME hình thức Ông phát triển phiên 3.0 có tính gpsycho (một mô hình âm - tâm lý ông phát triển) Vào đầu năm 2003 Mark rời lãnh đạo dự án, kể từ dự án dẫn dắt qua hợp hợp tác nhà phát triển Ngày nay, LAME coi hóa MP3 tốt bitrate trung bình - cao VBR, chủ yếu nhờ vào nỗ lực nhà phát triển mô hình cấp giấy phép nguồn mở cho phép dự án chạm tới nguồn lực kỹ thuật từ khắp nơi giới Việc cải tiến chất lượng tốc độ diễn ra, giúp cho LAME - hóa MP3 không ngừng phát triển Trong tìm hiểu, nhóm dựa kết công trình để xây dựng module nén hóa âm 1.1.2 Một số nghiên cứu nước Ở nước ta nay, hóa âm có bước phát triển đáng kể, có nhiều đề tài, công trình nghiên cứu vấn đề Từ ứng dụng vào thực tiễn đời sống, tiêu biểu ứng dụng phát truyền hình, phát truyền hình số mặt đất, thiết kế CD chạy âm thanh, trình chiếu video, truyền hình cáp, vệ tinh số vệ tinh DTH, lưu trữ âm nhạc, truyền tải qua internet,… Dưới số đề tài vậy: “Nghiên cứu ứng dụng công nghệ phát số Việt Nam” năm 2005 Đài tiếng nói Việt Nam Đề tài nhằm phục vụ công việc trọng tâm chiến lược phát triển khoa học công nghệ Đài Tiếng nói Việt Nam: nghiên cứu tiêu chuẩn DAB để nhanh chóng chọn lựa ứng dụng phát số Việt Nam bước mua thiết bị phát, thiết bị đường truyền, máy thu số để tiến hành thử nghiệm Trong đề tài đưa vấn đề hóa âm thanh, chuẩn MPEG sử dụng phát số “Nghiên cứu kỹ thuật nén tín hiệu audio truyền hình số” Luận văn Thạc sĩ kỹ thuật Huỳnh Trọng Nguyên Luận văn tìm hiểu tổng quan kỹ thuật nén âm thanh, nghiên cứu kỹ thuật nén âm MPEG AAC, đánh giá hiệu kỹ thuật nén âm MPEG AAC làm kiến thức cho nghiên cứu tiếp kỹ thuật hoá âm chuẩn khác MPEG-4, đáp ứng nhu cầu cần thiết công việc lựa chọn công nghệ Luận văn góp phần vào việc hỗ trợ cho việc sử dụng công nghệ truyền tải liệu truyền hình số, phát triển sử dụng chương trình nén âm “Mã hóa nén tín hiệu âm ứng dụng phát số” Luận văn Thạc sĩ - Trần Thị Minh Huệ Trong luận văn này, tác giả trình bày kiến thức sở âm từ đặc điểm sóng âm đến tín hiệu âm tương tự chuyển đổi sang tín hiệu âm số, tìm hiểu giải thuật nén âm định dạng âm thực tế, nghiên cứu hóa, nén tín hiệu âm Đề tài nhằm nghiên cứu ứng dụng phát số hóa dải với tổ hợp hệ số phân chia nhỏ mô kết Như nghiên cứu nước đề cập đưa phương pháp nén hóa âm thanh, bên cạnh ứng dụng quan trọng lĩnh vực đời sống Từ nghiên cứu đó, nhóm sinh viên sử dụng kiến thức làm tảng, sở lý thuyết cho đề tài nhóm Tiếp nối hoạt động nghiên cứu trên, phục vụ nhiệm vụ học tập học phần Truyền thông đa phương tiện, nhóm tiến hành tìm hiểu phương pháp nén hóa âm theo chuẩn MPEG, định dạng âm Wave, từ kết hợp với thư viện hỗ trợ Lame Project nén âm ngôn ngữ lập trình C# để xây dựng module nén, hóa định dạng âm Wave sang định dạng âm MP3 1.2 Tổng quan âm số Tín hiệu giới thực tín hiệu analog: ánh sáng, âm Trong trình xử lý, tín hiệu thực chuyển đổi tín hiệu số digital cách dùng mạch gọi ADC (Analog-to-Digital Converter) trước chúng sử dụng thiết bị số Khi cần lại tín hiệu analog, chuyển đổi ngược lại mạch DAC (Digital-to-Analog Converter) Nhưng phải lại lựa chọn âm số digital? Có nhiều lý để dùng tín hiệu digital thay cho analog, nhiễu lý Vì tín hiệu analog giá trị nào, nhiễu biểu thị phần tín hiệu gốc Ví dụ ta nghe máy đĩa phono, đường ghi analog kim chạy đường ghi không phân biệt tín hiệu âm nhạc với nhiễu lẫn vào bụi đất vết nứt đĩa Trái lại, hệ thống digital hiểu hai số, số số Bất kỳ khác với hai số bị gạt Đó lý ta không nghe âm lạ nghe audio CD, cho dù sử dụng hàng ngàn lần trước Một lợi ích khác hệ thống digital hẳn analog khả nén liệu 1.2.1 Chuẩn âm PCM “Điều biến xung” (PCM) - Pulse Code Modulation - tạm dịch: điều biến nhịp tức việc sử dụng “nhịp đập” cao thấp khác liên tục 10 Bộ hóa lớp III sử dụng vòng lặp phân bố nhiễu Theo cách này, lượng tử hóa thay đổi theo thứ tự, lượng tử hóa có tính toán phân bố cho băng phụ 3.3.5 Các thông số dùng MPEG Chuẩn MPEG cho phép ta chọn lựa thông số cho việc nén âm tốt phù hợp với ứng dụng ta sử dụng Lược đồ hóa cho loại tổng quát Các thông số chọn lựa hóa MPEG bao gồm: Mode, sample rate, bitrate layer Mode: Chuẩn MPEG có chế độ: - Mono - Dual channel - Stereo - Intensity Stereo (còn gọi Joint Stereo) Chế độ Mono rõ ràng dùng cho âm kênh Để chọn chế độ cho ứng dụng kênh, ta phải xác định đâu tín hiệu trái đâu tín hiệu phải để chia chúng thành files khác nhau, nhằm sau ta làm việc độc lập kênh trái phải Lúc ta chọn chế độ Mono Nếu kênh không cần hoạt động độc lập, ta chọn Stereo, Dual hay Intensity Stereo để tạo file Chế độ Stereo hay kênh Dual hoàn toàn đồng chúng sinh file cho tín hiệu stereo Tuy nhiên bit thị nhận dạng xem file chế độ dùng cho áp dụng Chế độ Intensity Stereo xem xét dư thừa kênh trái phải nhằm tối ưu Chất lượng chủ quan Intensity Stereo thay đổi theo hình ảnh stereo tín hiệu hóa Tuy nhiên đặc biệt thích hợp cho tốc độ truyền bit thấp Sample rate (tần số mẫu): Cho biết số lần tín hiệu âm đo lấy mẫu giây Một số tần số mẫu: 45 - 32kHz, 44.1kHzvà 48kHz MPEG1 (Tiêu chuẩn ISO/IEC 11172-3) - 16kHz, 22.05kHz 24kHz MPEG2 (Tiêu chuẩn ISO/IEC 13818-3) Khi chọn lựa tần số mẫu cần xem xét vấn đề: - Tần số mẫu lớn chất lượng âm cao (độ dài frame nhỏ hơn) - Băng thông tín hiệu giới hạn mức 15 kHz lấy mẫu tốc độ 32 kHz kHz tốc độ 16 kHz - Tần số mẫu (kHz) tốc độ âm hóa bitrate (kbps) chọn độc lập - Tần số mẫu 44.1 kHz hay 22.05 kHz không thiết thực cho việc chọn lọc độ dài frame (byte) thay đổi - Những file lấy mẫu tần số khác khó khăn hòa trộn - Nếu không bắt buộc, Digigram yêu cầu lấy mẫu 48kHz 44.1kHz cho phát hay ứng dụng multimedia Nếu ta phải sử dụng tốc độ bit thấp cho truyền có hiệu quả, tốc độ 24 kHz thích hợp Bitrate: Mỗi Layer mode (chế độ) có nhiều cách chọn lựa tốc độ bit (bitrate) Việc chọn tốc độ bit tùy thuộc trước tiên vào chất lượng âm yêu cầu Băng thông tín hiệu hẹp tốc độ bit thấp, khiến cho không thực tế số ứng dụng Tốc độ bit đo theo kilobits/sec (kbps) Khi chọn lựa tốc độ bit cần xem xét vấn đề: - Tại 128 kbps kênh (hay 256 kbps stereo), chất lượng âm CD đạt với Layer I hay Layer II - Tại 192 kbps kênh, chất lượng âm hoàn toàn suốt - Tốc độ 128 kbps/kênh dùng phổ biến phát Nó tương ứng với tỉ số nén 1:6 tốc độ lấy mẫu 48 kHz 46 - Tốc độ thấp 128 kbps/kênh dùng ứng dụng yêu cầu tỉ số nén lớn giới hạn băng thông truyền hay thiết bị lưu trữ Một số tốc độ bit cung cấp chuẩn âm MPEG: - MPEG 1: 32 kHz, 44.1 kHz 48 kHz + Layer I: 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448 kbps Những tốc độ chế độ Mono hay stereo + Layer II: 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384 kbps Các bitrate 32, 48, 56, 80 kbps chế độ Mono; 64, 96, 112, 128, 160, 192 kbps hai chế độ Mono Stereo; 224, 256, 320, 384 kbps chế độ Stereo + Layer III: Tốc độ bit thay đổi từ 32 đến 448 kbps; chế độ hóa thay đổi, bao gồm: Mono, Dual Mono, Stereo Joint Stereo - MPEG 2: 16 kHz, 22.05 kHz 24 kHz + Layer I: 32, 48, 56, 64, 80, 96, 112, 128, 144, 160, 176, 192, 224, 256 kbps Những tốc độ chế độ Mono hay stereo + Layer II: 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160 kbps Những tốc độ chế độ Mono hay stereo Các chuẩn nén bitrate: - CBR (Constant Bitrate): Chuẩn chất lượng âm CBR quy định Bitrate file Audio số số trình Encoder Playback, đoạn âm "ít" dùng tần số (nên dư thừa), đoạn âm "nhiều" dùng tần số (nên thiếu) Chuẩn thích hợp cho streaming Audio, nơi thiết bị âm hết Bitrate cố định, độ dài hát biết trước, nên tính trước dung lượng file = tần số x độ dài - VBR (Variable Bitrate): Tự điều phối bitrate ứng với khoảng âm 47 trình Encoder, khoảng âm có mức phức tạp cao nâng cao bitrate so với khoảng âm bình thường, khoảng âm đơn giản bị giảm bitrate theo tỉ lệ tương ứng VBR cho chất lượng tốt với kích thước file nhỏ CBR nhờ cấp phát bitrate "thông minh" Tất định dạng "lossless" hoá theo VBR Nhiều máy nghe nhạc đời có hỗ trợ VBR máy nghe nhạc đời cũ không "hiểu" play VBR (90xSH support VBR) Khi Encoder kết thúc, file có bitrate trung bình, WMA, ACC, MP3, Ogg Vorbis hỗ trợ chuẩn âm - ABR (Average Bitrate): Gần giống định dạng VBR kích thước file biết trước nhờ điều chỉnh mức thay đổi quanh giá trị bitrate trung bình ấn định trước 3.3.6 Sơ đồ hóa MPEG Hình 3.11: Sơ đồ hóa MPEG Chuỗi Audio vào qua lọc (filter bank), lọc chia chuỗi vào thành nhiều băng tần số (subband) Chuỗi audio vào truyền liên tiếp qua mô hình âm - tâm lý (psychoacoustic) để xác định tỷ lệ lượng tín hiệu so với ngưỡng chắn băng Khối bit/noise allocation sử dụng tỷ lệ tín hiệu ngưỡng nghe để định phân chia toàn số bit cho việc lượng tử hóa tín hiệu băng cho giảm tối đa khả nghe tạp âm Khối cuối lấy mẫu băng lượng tử hóa định dạng cho liệu thông tin phụ (ancillary data) thành dòng bit 48 hóa 49 Chương Xây dựng module nén, hóa âm 4.1 Giới thiệu LAME Project Qua trình tìm hiểu, nhóm xây dựng demo hóa, nén âm từ định dạng PCM sang định dạng định dạng âm MP3, ngôn ngữ lập trình C# kết hợp thư viện nén hỗ trợ cho LAME Project LAME Project công cụ hóa MPEG Audio Layer III (MP3) chất lượng cao theo giấy phép LGPL LAME coi hóa MP3 tốt bitrate trung bình - cao VBR, chủ yếu nhờ vào nỗ lực nhà phát triển mô hình nén có cấp giấy phép nguồn mở cho phép dự án tiếp cận tới nguồn lực kỹ thuật khắp nơi giới Việc cải tiến chất lượng tốc độ tiếp tục diễn ra, giúp cho LAME - hóa MP3 không ngừng phát triển LAME dạng nguồn Phiên LAME 3.99, nguồn phiên LAME download SourceForge LAME công cụ giáo dục sử dụng cho việc học hóa MP3 Mục tiêu dự án LAME sử dụng nguồn mở để cải thiện âm tâm lý, tiếng ồn tốc độ MP3 LAME phân phối dạng nguồn đòi hỏi khả sử dụng trình biên dịch C Trong phạm vi nghiên cứu, nhóm thông qua thư viện nén Yeti Lame Wrapper để sử dụng LAME Project Thư viện xây dựng dựa LAME Project, bao gồm đối tượng, phương thức cài đặt sẵn phục vụ cho việc xây dựng phần mềm nén, hóa âm sang định dạng MP3 dễ dàng 4.2 Định dạng liệu vào, module 4.2.1 Dữ liệu vào - Định dạng âm thanh: Chỉ hỗ trợ định dạng PCM - Chế độ: Mono, stereo - Số bit mẫu (BitsPerSample): Chỉ hỗ trợ 16 bits mẫu - Tần số lấy mẫu: 16000, 22050, 24000, 32000, 44100, 48000 Hz 50 4.2.2 Dữ liệu - Định dạng âm thanh: MP3 - Chuẩn nén: + Với tần số mẫu 16000, 22050, 24000 Hz chuẩn nén lựa chọn MPEG2 + Với tần số mẫu 32000, 44100, 48000 Hz chuẩn nén lựa chọn MPEG1 - Bitrate: + 8, 16, 24, 144 kbps cho phép MPEG2; + 192, 224, 256, 320 kbps cho phép MPEG1; + 32, 40, 48, 56, 64, 80, 96, 112, 128, 160 cho phép MPEG1 MPEG2 4.3 Giới thiệu số câu lệnh sử dụng 4.3.1 Khởi tạo đối tượng có kiểu WaveStream Câu lệnh: WaveStream InStream = new WaveStream("SomeFile.wav"); Câu lệnh có tác dụng khởi tạo đối tượng InStream kiểu WaveStream hàm tạo để đọc liệu âm không nén từ file WAV Tham số hàm tạo địa file âm Wave cần nén WaveStream lớp định nghĩa thư viện yeti.mmedia để biểu diễn liệu âm Wave 4.3.2 Khởi tạo đối tượng có kiểu MP3Writer Câu lệnh: Mp3Writer writer = new Mp3Writer(new FileStream("SomeFile.mp3", FileMode.Create), InStr.Format); Câu lệnh có tác dụng khởi tạo đối tượng writer có kiểu Mp3Writer hàm tạo Tham số luồng (stream) nơi để viết kết sau nén sang MP3 Tham số thứ hai WaveFormat định dạng liệu đầu vào Luồng liệu đầu vào đọc đến hết tất liệu ghi vào máy để chuyển đổi sang định dạng MP3 lưu kết vào luồng liệu 51 Mp3Writer định nghĩa thư viện yeti.mp3, lớp bao gồm phương thức để chuyển đổi liệu âm định dạng PCM sang định dạng MP3 lưu lại kết 4.3.3 Khởi tạo vùng đệm Câu lệnh: byte[] buff = new byte[writer.OptimalBufferSize]; Khởi tạo đối tượng buff có kiểu byte với kích thước trả câu lệnh writer.OptimalBufferSize OptimalBufferSize kích thước tối ưu đệm sử dụng để có hiệu suất tốt 4.3.4 Đọc ghi liệu Câu lệnh: while ( (read = InStream.Read(buff, 0, buff.Length)) > ) { writer.Write(buff, 0, read); } Câu lệnh (read = InStream.Read(buff, 0, buff.Length)) > 0) sử dụng để kiểm tra luồng liệu vào Instream đọc hết chưa trả biến read số lượng byte cần xử lý Nếu chưa thực lệnh Write(buff,0,read); lệnh gửi đến nén mảng byte để tiến hành nén Tham số buff vùng đệm input, tham số vị trí bắt đầu, read số bytes để xử lý 4.4 Module nén, hóa âm 4.4.1 Giao diện Hình 4.1: Giao diện 52 Giao diện chương trình đơn giản, số lượng nút ít, dễ hiểu, ngôn ngữ sử dụng tiếng Việt thuận lợi cho người sử dụng Trong giao diện chương trình bao gồm thành phần sau đây: - Nút “Chọn” để nhập liệu từ tệp Sau chọn, đường link tệp liệu nhập vào hiển thị hộp thoại bên trái - Nút “Thay đổi” để thay đổi tên vị trí lưu tệp mặc định Sau lựa chọn, đường dẫn tên tệp liệu hiển thị hộp thoại bên trái - Nút “Cài đặt” để xem định dạng tệp liệu vào cài đặt định dạng tệp liệu (lựa chọn bitrare) - Nút “Mã hóa” dùng để bắt đầu hóa tập tin 4.4.2 Nhập tệp liệu đầu vào Dữ liệu đầu vào phải có định dạng nêu mục 4.2.1 Để bắt đầu nhập liệu, ta nhấn nút “Chọn”, hộp thoại để lựa chọn tệp Hình 4.2: Giao diện chọn tệp liệu đầu vào Sau chọn ấn nút “Open”, giao diện cập nhật đường dẫn 53 tệp âm cần hóa đường dẫn mặc định tệp âm sau hóa Đường dẫn mặc định đặt thư mục với âm gốc, tên mặc định đặt trùng tên gốc với đuôi mp3 Hình 4.3: Giao diện sau nhập tệp 4.4.3 Thay đổi tên đường dẫn tệp liệu Nhấn nút “Thay đổi” giao diện để lựa chọn thay đổi tên đường dẫn tệp liệu sau hóa, hộp thoại để thực thao tác Hình 4.4: Giao diện đổi tên, đường dẫn cho tệp liệu Sau lựa chọn thay đổi, ấn nút “Save” để lưu, đường dẫn tên tệp cập nhật hội thoại “MP3 file” 54 Hình 4.5: Giao diện sau thay đổi tên, đường dẫn 4.4.4 Cài đặt định dạng hóa Giao diện hiển thị định dạng liệu vào, bao gồm Sample rate, Audio mode, Bits per sample Đây thông số tệp liệu vào nên người sử dụng thay đổi thông số Hình 4.6: Giao diện xem định dạng liệu vào Giao diện cài đặt định dạng liệu ra, gồm MPEG Version bitrate MPEG Version MPEG1 MPEG2 tương ứng với liệu liệu đầu vào, bitrate lựa chọn tương ứng với chuẩn MPEG 55 Hình 4.7: Giao diện cài đặt thông số liệu Sau lựa chọn bitrate, nhấn nút “Lưu” để lưu cấu hình thoát khỏi hội thoại cài đặt, nút “Áp dụng” để tạm thời cập nhật cấu hình, nhấn “Hủy bỏ” để thoát khỏi hội thoại cài đặt không lưu cấu hình thay đổi 4.4.5 hóa Khi muốn hóa tệp âm thanh, ta nhấn nút “Mã hóa” Trong trường hợp ta chưa chọn tệp liệu vào, chương trình đưa cảnh báo cần chọn tệp liệu vào Hình 4.8: Giao diện cảnh báo chưa chọn tệp liệu Trường hợp tệp liệu đầu vào không định dạng quy định 56 Hình 4.9 Giao diện cảnh báo định dạng không phù hợp Trường hợp hóa thành công, chương trình báo “Hoàn thành” Hình 4.10 Giao diện sau nén hoàn thành Trường hợp đường dẫn ghi tệp liệu tồn tại, chương trình xác nhận người dùng có muốn ghi đè lên hay không Hình 4.11 Giao diện xác nhận ghi đè tệp 57 KẾT LUẬN HƯỚNG PHÁT TRIỂN Sau gần tháng thực hiện, đề tài “Tìm hiểu phương pháp nén hóa âm theo chuẩn MPEG” sinh viên nhóm - lớp D3B hoàn thành tiến độ, đảm bảo yêu cầu đề Đề tài thực nội dung sau: - Giới thiệu định dạng âm Wave, cấu trúc Wave File, cách đọc File Wave, sở để xây dựng chương trình đọc liệu Wave máy tính - Trình bày chuẩn hóa, nén MPEG, lý thuyết âm số, số giải thuật nén khác có liên quan, trình bày sơ đồ hóa MPEG - Xây dựng thành công module nén hóa âm theo chuẩn MPEG Cụ thể module nén, hóa âm định dạng âm Wave sang định dạng âm MP3 Trong trình thực hiện, nhóm sinh viên có nhiều cố gắng hạn chế kỹ thời gian thực nên đề tài không tránh khỏi thiếu sót Một số hạn chế cần phải khắc phục như: - Module nén, hóa âm dựa chuẩn nén bitrate CBR nghĩa bitrate cố định để hóa toàn file Điều không hiệu đoạn âm thời gian im lặng nhiều - Module chưa xây dựng chế kiểm tra lỗi CRC (Cyclic Redundancy Check) trình nén hóa âm Vì vậy, sau nén kết thu có sai khác không mong muốn so với âm gốc Hướng phát triển đề tài tiếp tục hoàn thiện module khắc phục hạn chế nói để phù hợp với yêu cầu thực tế Tiếp tục tìm hiểu chuẩn hóa, nén MPEG cao 58 TÀI LIỆU THAM KHẢO Tiếng Anh: [1] IBM Corporation, Microsoft Corporation, 1991, Programming Interface and Data Specifications 1.0” “Multimedia [2] Davis Pan, 1995, “A Tutorial on MPEG/Audio Compression”, IEEE Multimedia Journal [3] Ken C.Pohlmann, 2000, “Principles of Digital Audio”, McGraw Hill [4] Prifysgol Caerdydd, “Compression: Audio Compression (MPEG and others)” [5] John G.Proakis - Dimitris G.Manolakis, Prentice Hall, “Digital Signal Processing” Tiếng Việt: [6] Quách Ngọc Tuấn, 1997, “Xử lý tín hiệu số”, Nhà xuất Giáo dục [7] Hoàng Lê Uyên Thục, Phạm Văn Tuấn, 2010, Tạp chí khoa học công nghệ “Tổng quan kỹ thuật nén audio chất lượng cao MP3 AAC dùng thiết bị số nay”, ĐH Đà Nẵng [8] Lê Nhật Thăng, 2010, Bài giảng “Xử lý âm hình ảnh”, Học viện cộng nghệ bưu viễn thông [9] Trần Việt Cường, 2011, “Tiêu chuẩn MP3 - Định dạng âm nén MP3”, Cục Ứng dụng công nghệ thông tin [10] Trần Thị Minh Huệ, 2012, Luận văn thạc sĩ “Mã hóa nén tín hiệu âm ứng dụng phát số”, Đại học Công nghệ Website: [11] http://lame.sourceforge.net 59 ... trình xây dựng module nén mã hóa âm đề tài Chương 4: Xây dựng module nén mã hóa âm Chương giới thiệu thư viện hỗ trợ LAME Project nén mã hóa âm Đồng thời giới số câu lệnh phục vụ nén mã hóa âm sử... pháp nén mã hóa âm theo chuẩn MPEG, định dạng âm chưa nén Wave từ dựa số mã nguồn thư viện hỗ trợ Lame Project nén âm có sẵn ngôn ngữ lập trình C# để xây dựng module nén mã hóa định dạng âm Wave... pháp nén mã hóa âm theo chuẩn MPEG, định dạng âm Wave, từ kết hợp với thư viện hỗ trợ Lame Project nén âm ngôn ngữ lập trình C# để xây dựng module nén, mã hóa định dạng âm Wave sang định dạng âm

Ngày đăng: 02/04/2017, 10:34

TỪ KHÓA LIÊN QUAN

w