1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Thiết kế và thực hiện chương trình đọc file âm thanh định dạng MP3

88 484 3

Đ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 88
Dung lượng 1,21 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Joint Stereo là chế độ mở rộng của stereo, số bít được mã hóa cho mỗi khung được quyết định một cách linh hoạt, để giảm đi những dữ liệu không cần thiết của tập tin.. Hình 2: Mô hình ngư

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

THIẾT KẾ VÀ THỰC HIỆN CHƯƠNG TRÌNH ĐỌC

FILE ÂM THANH ĐỊNH DẠNG MP3

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

-

Họ và tên tác giả luận văn Trần Thị Bích Hằng

TÊN ĐỀ TÀI LUẬN VĂN

THIẾT KẾ VÀ THỰC HIỆN CHƯƠNG TRÌNH ĐỌC FILE ÂM

Trang 3

MỤC LỤC

MỤC LỤC 1

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 3

DANH MỤC CÁC BẢNG 4

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 5

MỞ ĐẦU 6

CHƯƠNG I: ĐỊNH DẠNG NÉN ÂM THANH SỐ MP3 7

I KHÁI QUÁT 7

I.1 Khái niệm về MP3 7

I.2 Lịch sử ra đời MP3 8

II ĐẶC ĐIỂM MP3 9

II.1 Chuẩn nén âm thanh số lớp 3 9

II.2 Chế độ hoạt động 10

II.3 Mã hóa âm thanh dựa trên mô hình cảm nhận âm học của con người 11 II.4 Tốc độ bit và tần số lấy mẫu 16

III CẤU TRÚC TẬP TIN MP3 18

III.1 Cấu trúc tập tin 18

III.2 Cấu trúc khung 19

III.3 Thẻ dữ liệu ID3 36

CHƯƠNG II: MÃ HÓA VÀ GIẢI MÃ MP3 38

I MÃ HÓA MP3 ( MP3 ENCODING) 38

I.1 Khái quát 38

I.2 Quá trình mã hóa MP3 39

II GIẢI MÃ MP3 (MP3 DECODING) 46

II.1 Khái quát 46

II.2 Quá trình giải mã MP3 46

Trang 4

CHƯƠNG III: TRIỂN KHAI THIẾT KẾ PHẦN MỀM GIẢI MÃ MP3 56

I TRÌNH TỰ GIẢI MÃ MP3 56

II SƠ ĐỒ KHỐI BỘ GIẢI MÃ MP3 59

III TRIỂN KHAI 60

III.1 Quá trình giải mã huffman 60

III.2 Cấu trúc dữ liệu 66

III.3 Lưu đồ thuật toán 69

IV KẾT QUẢ VÀ ĐÁNH GIÁ 74

IV.1 Dự kiến đầu vào và đầu ra của quá trình giải mã Huffman 74

IV.2 Giao diện phần mềm 76

IV.3 Kết quả và đánh giá 79

TÀI LIỆU THAM KHẢO 85

KẾT LUẬN VÀ KIẾN NGHỊ 86

Trang 5

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

AC 3 – Advanced Codec 3

CCITT – Consulative Committee for International Telephone and Telegraph

CD – Compact Disc

CRC – Cylic Redundancy Code

DVD – Digital Versatile Disc

FFT – Fast Fourier Transform

GSM – Global System for Mobile communications

IEC – International Electrotechnical Commission

IMDCT – Inverse Modified Discrete Cosine Transform

ISO – International Organization for Standardization

ITU – International Telecommunications Union

KHz – KiloHertz

kbps – Kilo Bits Per Second

MDCT – Modified Discrete Cosine Transform

MPEG – Motion Picture Experts Group

MP3 – MPEG 1 Layer III

MS – Mid Side stereo

PCM – Pulse Code Modulation

SMR – Signal to Masking Ratio

WMA – Windows Media Audio

Trang 6

DANH MỤC CÁC BẢNG

Bảng 1: Độ phức tạp của bộ mã hóa và giải mã đối với các lớp của âm thanh

MPEG……… 10

Bảng 2: Bảng các băng tới hạn 13

Bảng 3: Các trường trong phần tiêu đề 22

Bảng 4: Bảng cấu trúc các bit trong phần thông tin 28

Bảng 5: 21 dải hệ số tỷ lệ chia thành 4 nhóm 29

Bảng 6: Phân vùng của phổ tần số 29

Bảng 7: Phân bố bit thông tin hệ số tỷ lệ 30

Bảng 8: Phân chia giữa các tần số thấp và cao 30

Bảng 9: Loại cửa sổ 31

Bảng 10: Bảng Preemphasis 32

Bảng 11: Kích thước hệ số tỷ lệ scalefactor của bước lượng tử 32

Bảng 12: Bảng mã Hufman cho vùng Count1 33

Bảng 13: Cấu trúc dữ liệu thẻ ID3 36

Bảng 14: Giá trị bit của thẻ dữ liệu ID3 36

Bảng 15: Dự kiến đầu ra của khối đồng bộ 75

Bảng 16: Giá trị các trường thông tin trong phần tiêu đề 81

Bảng 17: Giá trị các trường trong phần thông tin 83

Trang 7

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ

Hình 1: Đường cong che (mặt nạ) âm thanh 14

Hình 2: Mô hình ngưỡng nghe của tai người 15

Hình 3: Tín hiệu âm thanh được mã hóa ở tốc độ bitrate khác nhau 16

Hình 4: Các thành phần cơ bản tập tin MP3 18

Hình 5: Sơ đồ tổng quan cấu trúc các phần trong tập tin MP3 19

Hình 6: Cấu trúc khung theo các line tần số ở chế độ hai kênh 20

Hình 7: Cấu trúc khung 20

Hình 8: Cấu trúc phần thông tin 27

Hình 9: Kỹ thuật dự trữ bit được sử dụng trong việc lưu trữ dữ liệu chính 34

Hình 10: Ngưỡng che âm thanh 38

Hình 11: Sơ đồ khối quá trình mã hóa MP3 39

Hình 12: Sơ đồ khối quá trình giải mã MP3 46

Hình 13: Từ mã đồng bộ của tập tin MP3 47

Hình 14: Phân vùng dữ liệu cho mỗi kênh của MP3 48

Hình 15: Cửa sổ ngắn và cửa sổ dài 50

Hình 16: Quá trình sắp xếp lại 50

Hình 17: Cấu trúc hình bướm giảm hiệu ứng Alias 53

Hình 18: Lược đồ thiết kế IMDCT 54

Hình 19: Khối lọc đa pha tổng hợp 55

Hình 20: Sơ đồ khối trình tự giải mã 56

Hình 21: Lược đồ trình tự giải mã MP3 58

Hình 22: Ngõ ra của bộ giải mã Huffman 60

Hình 23: Phân vùng dữ liệu tập tin MP3 cho một kênh 65

Hình 24: Lược đồ giải mã Huffman 69

Hình 25: Lưu đồ thuật toán khối đồng bộ 71

Trang 8

MỞ ĐẦU

Tập tin MP3 có dung lượng nhỏ, chất lượng tốt, được sử dụng rất rộng rãi trên nhiều lĩnh vực, đặc biệt trên lĩnh vực nghe nhạc Nó có mặt trên các phương tiện truyền thông hiện đại: Internet, viễn thông, phát thanh, truyền hình MP3 thâm nhập,

đi sâu vào đời sống của con người, nó thể hiện bằng các phần cứng và phần mềm nghe định dạng MP3 phổ biến toàn cầu trên các phương tiện kỹ thuật số cá nhân và cho nhiều ứng dụng khác trong thực tế hiện nay

Đề tài đi sâu nghiên cứu tìm hiểu chuẩn nén âm thanh số MP3, các tham số kỹ thuật, các thuật toán giải mã MP3, các vấn đề cốt lõi, để nắm bắt và làm chủ định dạng MP3 Qua các nghiên cứu và hiểu chuẩn MP3, giúp ta hiểu đầy đủ về đặc điểm

và khả năng ứng dụng của MP3 để đưa ra định hướng đúng đắn khi sử dụng MP3 cho các mục đích khác nhau

Đề tài triển khai xây dựng một đoạn chương trình giải mã định dạng MP3 Chương trình này có thể cài đặt trên các máy tính cá nhân, sử dụng nghe nhạc MP3 Hiện nay các phương tiện số cá nhân, hầu hết sử dụng các chương trình nghe MP3 của nước ngoài, ta không làm chủ được phần code chương trình của nó Chương trình giải mã MP3 này không thể như các chương trình phần mềm chuyên nghiệp, nhưng ta làm chủ được phần code, đó là tiền đề để xây dựng và phát triển lên mức cao hơn

Trong quá trình thực hiện và triển khai đề tài, em đã nỗ lực, cố gắng hết sức và nhận được sự giúp đỡ từ nhiều phía thấy cô và bạn bè Em xin gửi lời cảm ơn tới thầy giáo TS Nguyễn Vũ Thắng, người đã tận tâm, đồng hành cùng em trong suốt quá trình làm cho đến khi hoàn thành đề tài Cuối cùng em xin cám ơn tất cả các thầy

cô đã hướng dẫn, dạy em trong hai năm qua, đó chính là nền tảng kiến thức quan trọng hỗ trợ em thực hiện đề tài này Do thời gian có hạn, kiến thức còn hạn chế, đề tài không tránh khỏi những thiếu sót, rất mong sự đóng góp của các thầy cô giáo

Trang 9

CHƯƠNG I: ĐỊNH DẠNG NÉN ÂM THANH SỐ MP3

Chương này đề tài đi vào nghiên cứu chuẩn nén âm thanh số MP3, lịch sử hình thành và phát triển MP3, những đặc tính cơ bản và cấu trúc tập tin MP3 Cung cấp các kiến thức về MP3 làm tiền đề cho nghiên cứu các chương tiếp theo

Ý nghĩa tên MP3

MP3 là cách viết ngắn gọn của MPEG1 lớp 3 (MPEG1 layer 3) MPEG là tên viết tắt của một nhóm chuyên gia hình ảnh động Motion Pictures Expert Group, một gia đình các tiêu chuẩn nén trong lĩnh vực nghe nhìn Tên được đặt chính thức của nhóm này là ISO/IEC JTC1/SC29/WG11 Nhưng chủ yếu được biết đến với biệt danh của nó, Moving Pictures Experts Group, được thành lập bởi các tiêu chuẩn ISO/IEC vào năm 1988 để phát triển các tiêu chuẩn chung (sử dụng trong nhiều ứng dụng khác nhau) đại diện cho mã hoá âm thanh, hình ảnh động

1 là tên gọi cho giai đoạn đầu tiên của quá trình làm việc MPEG

MPEG-1 định nghĩa một tiêu chuẩn cho việc lưu trữ và phục hồi các âm thanh và hình ảnh động trên các thiết bị lưu trữ

Âm thanh MPEG-1 bao gồm ba chế độ hoạt động, được gọi là "lớp": lớp 1, lớp 2

và lớp 3 Các lớp càng cao thì sự phức tạp và hiệu suất ngày càng tăng Lớp 3, với sự phức tạp cao nhất, được thiết kế để cung cấp chất lượng âm thanh cao ở tốc bit thấp

Trang 10

I.2 Lịch sử ra đời MP3

¾ Những mốc thời gian quan trọng trong lịch sử phát triển MP3

- Năm 1987 – Tổ chức Fraunhofer Institut ở Đức bắt đầu nghiên cứu dự án EUREKA mã số EU147, về phát thanh số Digital Audio Broadcasting (DAB)

- Tháng 1 năm 1988 – Nhóm chuyên gia Moving Picture Experts Group (MPEG) được thành lập như là một tiểu ban của Tổ chức tiêu chuẩn quốc tế (ISO)/Uỷ ban

kỹ thuật điện quốc tế hoặc theo tiêu chuẩn (IEC)

- Tháng 4 năm 1989 – Tổ chức Fraunhofer nhận bằng sáng chế của Đức về MP3

- Năm 1992 – Thuật toán mã hóa âm thanh của tổ chức Fraunhofer và Dieter được tích hợp vào MPEG-1

- Năm 1993–Tiêu chuẩn MPEG-1 được công bố

- Năm 1995, MPEG1 lớp-3 đã được chọn như một định dạng âm thanh cho hệ thống phát sóng kỹ thuật số vệ tinh được phát triển bởi thế giới-không gian (World-Space) Đây là bước đầu tiên MPEG1 lớp-3 bước vào thị trường đại chúng Bước thứ hai ngay sau đó, là sự bùng nổ Internet, với các lợi thế của mình MP3 được sử dụng rộng rãi để phân phối âm nhạc Nó đã trở lên rất phổ biến, tăng trưởng theo hàm mũ từ năm 1995

- Ngày 26 tháng 11 năm 1996 - Hoa Kỳ cấp bằng sáng chế MP3 cho tổ chức Fraunhofer

- Tháng 9 năm 1998 – Tổ chức Fraunhofer bắt đầu thực thi quyền bằng sáng chế của họ Tất cả các nhà phát triển của bộ mã hóa MP3 và người giải mã / người dùng bây giờ phải trả một lệ phí bản quyền cho Fraunhofer

- Tháng 2 năm 1999 - Công ty thu âm SubPop lần đầu tiên phân phối các bản nhạc bằng định dạng MP3

- Năm 1999 – Các máy nghe nhạc MP3 cầm tay bắt đầu xuất hiện Cụm từ ".mp3"

đã trở thành thuật ngữ tìm kiếm phổ biến nhất trên Web (theo nghiên cứu và thống kê của trang web http://www.searchterms.com)

Trang 11

- Cho đến nay: các định dạng tập tin âm thanh MP3 đã trở lên rất phổ biến Nó được sử dụng rộng rãi trên Internet, các máy nghe nhạc, các thiết bị cầm tay đa phương tiện…

¾ Những đóng góp của các tổ chức và cá nhân trong sự nghiệp phát triển

Ông Karlheinz Brandenburg

Người dẫn đường trong các nghiên cứu của tổ chức Fraunhofer, được gọi là "cha đẻ của" MP3 Karlheinz Brandenburg là một chuyên gia trong lĩnh vực toán học và điện tử, đã nghiên cứu các phương pháp nén âm thanh từ năm 1977 Trong suốt qua trình từ năm 1977 đến 1997, ông đã có nhiều nghiên cứu và kết quả cống hiến cho lĩnh vực nén âm thanh theo chuẩn MP3: kỹ thuật mã hóa cảm nhận ASPEC, mã hóa cảm nhận âm thanh và cảm nhận

âm học, định nghĩa hệ thống ISO/IEC MPEG lớp-3 Karlheinz Brandenburg đã nhận được nhiều bằng sáng chế trong lĩnh vực nén âm thanh số MP3

II ĐẶC ĐIỂM MP3

MP3 là chuẩn nén âm thanh số Nó được tối ưu hóa về cấu trúc tập tin, các dữ liệu dư thừa bị loại bỏ mà không làm mất thông tin Kích thước tập tin nhỏ gọn, chất lượng âm thanh đáp ứng các nhu cầu sử dụng khác nhau Sau đây là các đặc điểm cơ bản làm nên sự hữu dụng và tính phổ biến của tập tin MP3

II.1 Chuẩn nén âm thanh số lớp 3

MP3 là chuẩn âm thanh nén lớp 3 của MPEG1 Nó mang các đặc điểm cơ bản

Trang 12

lớp 3 Đó là mức độ nén và độ phức tạp cao hơn so với các chuẩn nén âm thanh thuộc lớp 1 và 2 Tín hiệu âm thanh nén ở lớp 3 sử dụng bộ mã hóa Huffman Dưới đây là bảng so sánh độ phức tạp của các bộ giải mã và mã hóa khác nhau đối với các lớp mã hóa âm thanh khác nhau

Những ưu điểm của tín hiệu âm thanh nén thuộc lớp 3 so với lớp 1 và lớp 2:

- Giảm sự chồng phổ: Lớp 3 cung cấp phương pháp xử lý các giá trị MDCT

để loại bỏ sự dư thừa do sự chồng lấp giữa các băng

- Bộ lượng tử hóa lớp 3 nâng các lối vào của nó lên ¾ năng lượng trứơc khi lượng tử hóa để cung cấp tỉ số tín hiệu trên tạp âm (SNR) cao hơn

- Lớp 3 sử dụng mã Huffman để mã hóa các mẫu lượng tử hóa cho việc nén

dữ liệu tốt hơn

- Sử dụng một bộ dữ trữ bit (bit reservoir): Dòng bit lớp 3 phù hợp hơn với

độ dài thay đổi của dữ liệu được nén Cũng giống như lớp 2, khung dữ liệu lớp 3 có 1152 mẫu Lớp 3 không giống lớp 2 ở chỗ dữ liệu mã hóa không nhất thiết phải vừa vặn trong một khung cố định Bộ mã hóa có thể lấy hoặc mượn các bit từ bộ dự trữ bit nếu cần thiết

II.2 Chế độ hoạt động

Âm thanh MP3 làm việc ở cả hai định dạng kênh mono và stereo Kỹ thuật mã hóa âm thanh stereo, được sử dụng để nâng cao chất lượng của một tín hiệu âm thanh lập thể nhờ sự kết hợp mã hóa của kênh trái và phải MP3 cho phép mã hóa kết hợp giữa cường độ tín hiệu và âm thanh stereo Điều này đặc biệt hữu ích đối với tín hiệu

Trang 13

âm thanh ở tốc độ bit thấp, nhưng ngược lại phải chịu nguy cơ thay đổi hình ảnh âm thanh

Chuẩn MPEG có 4 chế độ:

- Single channel (Mono)

- Dual channel (2 mono channels)

- Stereo

- Joint Stereo (Stereo)

Mono là chế độ dùng cho âm thanh 1 kênh Tín hiệu âm thanh được lưu trữ trên một kênh, người nghe chỉ cảm nhận được độ rõ nét và thông tin về âm thanh mà không thể cảm nhận được quang cảnh của âm thanh

Âm thanh stereo, khắc phục được các nhược điểm của âm thanh mono, giúp người nghe cảm nhận được quang cảnh không gian của âm thanh, nâng cao chất lượng âm thanh một cách rõ rệt

Chế độ Dual channel, tập tin âm thanh bao gồm hai kênh mono độc lập Tốc độ bit mỗi kênh bằng một nửa tốc độ bit của cả file Đầu ra các bộ giải mã tập tin âm thanh ở chế độ Dual channel có hai kênh nhưng hoàn toàn độc lập không thể thấy quang cảnh âm thanh như tập tin âm thanh stereo

Joint Stereo là chế độ mở rộng của stereo, số bít được mã hóa cho mỗi khung được quyết định một cách linh hoạt, để giảm đi những dữ liệu không cần thiết của tập tin Joint stereo chia sẻ các bit kênh trái và kênh phải ở tần số cao Điều này làm cải thiện đáng kể việc nén âm thanh stereo suy giảm ít Các tần số thấp được xử lý như âm thanh stereo thông thường

II.3 Mã hóa âm thanh dựa trên mô hình cảm nhận âm học của con người

Các thuật toán mã hoá âm thanh MP3 dựa trên mô hình mã hóa cảm nhận âm học của con người, dựa trên mô hình tiếp nhận âm thanh để tối ưu hiệu qủa quá trình

mã hoá

Mô hình tiếp nhận âm thanh dựa trên các cảm nhận chính là tai người, sự cảm

Trang 14

âm học hay còn gọi là tâm lý âm học là lĩnh vực khoa học nghiên cứu và giải thích

sự cảm nhận âm thanh của tai người đối với sự kích thích của nguồn âm Các phương pháp mã hoá dựa trên cảm nhận âm học đều dựa vào các nguyên lý cơ bản của tâm lý

âm học như: ngưỡng nghe, các băng tới hạn, hiện tượng che Các phương pháp này loại bỏ các thành phần dư thừa không nghe được của tín hiệu âm thanh để giảm kích thước file dữ liệu trong quá trình nén

1 Ngưỡng nghe tuyệt đối

Ngưỡng nghe tuyệt đối là mức năng lượng cần thiết của một âm chuẩn (ở mức

độ cho trước) để có thể nghe được trong một môi trường không có tiếng ồn

2 Các băng tới hạn

Các nghiên cứu thực tế cho thấy tai người có thể cảm nhận được các nguồn âm

có tần số từ 20 Hz đến 20KHz Ngoài ra, tai người còn được coi là bộ phân tích phổ đối với các phổ tần nghe được Tai người được coi là 1 băng lọc (filter bank) gồm nhiều mạch lọc thông dải với các băng thông có độ rộng khác nhau, nó đặc trưng cho khả năng phân giải âm thanh của tai người Các băng này được gọi là băng tới hạn, chúng có độ rộng thay đổi theo tần số từ thấp đến cao Trên thực tế có 25 băng tới hạn được qui ước theo bảng các băng tới hạn dưới đây, mỗi băng có một tần số trung tâm f Độ rộng của mỗi băng có thể được tính xấp xỉ như sau :

bwc (f)=25+75[1+1.4(f/1000)2]0.69 (Hz) Một băng tới hạn có độ rộng là bark (đặt theo tên của nhà khoa học barkhausen) Hàm sau đây cho phép chuyển từ dải tần số sang dải bark:

z(f) = 13arctan(0.00076f) + 3.5arctan[(f/75000)2] (bark)

băng tới

hạn

tần số trung tâm

độ rộng (Hz)

tần số dưới (Hz)

tần số trên (Hz)

Trang 15

3 Hiện tượng che

Tai người có khả năng phân tích tần số theo thời gian, khả năng này tạo ra hiện tượng che đồng thời và hiện tượng che không đồng thời Các hiện tượng này được ứng dụng trong các bộ mã hóa để xác định các thành phần dư thừa cần loại bỏ, không

mã hóa chúng

Hiện tượng che xảy ra khi một hoặc nhiều nguồn âm bị che không nghe được do

sự có mặt của một nguồn âm khác Tín hiệu che các tín hiệu khác được gọi là các thành phần che (masker), các tín hiệu bị che thì gọi là các thành phần bị che (maskee) Độ chênh lệch giữa thành phần che và ngưỡng che (phụ thuộc tần số và mức áp suất âm thanh của thành phần che quyết định) gọi là tỉ số tín hiệu trên ngưỡng che (signal-to-masking ratio) Thông số này rất quan trọng trong phương pháp mã hóa dựa trên mô hình cảm nhận âm học

Trang 16

Hình 1: Đường cong che (mặt nạ) âm thanh

Hiện tượng che đồng thời xảy ra khi nhiều nguồn âm tác động vào tai người Mặc dù phổ tần số âm thanh có thể chứa nhiều hiện tượng che đồng thời phức tạp, nhưng vì mục tiêu xác định các dạng mã hóa, ta chỉ cần quan tâm đến 3 loại che đồng thời : tạp âm che tín hiệu âm thanh, tín hiệu âm thanh che tạp âm, tạp âm che tạp âm

Hiện tượng che không đồng thời: xảy ra khi các âm (hoặc tạp âm) được phát lên gần nhau theo thời gian Hiện tượng tiền che xảy ra khi một âm (hoặc tạp âm) bị che bởi một âm (hoặc tạp âm) xảy ra sau Tương tự, hiện tượng hậu che khi một âm xảy

ra trước che một âm xảy ra sau đó

Một đặc điểm nữa của hệ thống thính giác của con người đó là thời gian cảm nhận âm thanh Tai của con người phải mất một thời gian ngắn để cảm nhận, nên nó trở nên ít nhạy cảm với tần số thấp, thoáng qua

Các nghiên cứu trên (về tâm lý âm học) như: ngưỡng nghe, các băng tới hạn, hiện tượng che đã dẫn đến những hiểu biết quan trọng về cách thức hoạt động của hệ thống thính giác của con người Điều này đã giúp chúng ta nhận ra rằng trong dữ liệu

âm thanh có trong thực tế, rất nhiều dữ liệu mà con người không thể nghe thấy có thể

bỏ đi mà không nhận thấy một sự khác biệt Một số trường hợp chính:

- Nếu tần số nằm ngoài phạm vi 20Hz đến 20KHz

- Nếu có một tiếng động lớn và tiếng động nhỏ cùng lúc

- Nếu có 2 âm thanh tương tự nhau

Trang 17

Con người chỉ có thể nghe thấy âm thanh trong một dải rất cụ thể Bất kỳ tần số dưới 20Hz và trên 20KHz con người không nhận thức được, và do đó có thể loại bỏ được Đối với người trung tuổi, phạm vi tần số có thể nghe thấy thu hẹp hơn, trong khoảng nhận thức được là 20Hz đến 16KHz

Con người nhạy cảm nhất với âm thanh trong khoảng 2KHz đến 4KHz Điều này có nghĩa rằng bất kỳ mất mát dữ liệu ở các tần số này sẽ gây ra một sự xuống cấp chất lượng âm thanh rất rõ ràng

Một tiếng động lớn và nhỏ xảy ra đồng thời , kết quả là con người có xu hướng chỉ nghe thấy tiếng động lớn, điều này có nghĩa là tiếng động nhỏ có thể được bỏ đi

và không làm giảm chất lượng âm thanh

Nếu có 2 âm thanh tần số tương tự nhau con người có xu hướng cảm nhận nó như là một âm thanh Vì vậy một trong những tần số đó có thể được loại bỏ với sự suy giảm chất lượng rất ít

Số lượng lớn các thông tin về khả năng cảm nhận âm học xác định ngưỡng nghe của con người như mô hình toán học

Hình 2: Mô hình ngưỡng nghe của tai người

Tập tin âm thanh MP3 được xây dựng trên bộ mã hóa thụ cảm, dựa trên mô hình cảm nhận âm học của tai người, các dữ liệu âm thanh không cần thiết trên tập tin gốc

bị loại bỏ nhưng không làm mất thông tin Do vậy tập tin MP3 có dung lượng nhỏ

Trang 18

II.4 Tốc độ bit và tần số lấy mẫu

Tốc độ bit (Bitrates) và tần số lấy mẫu (Sampling rates) được chọn khi mã hóa

âm thanh tương tự Nếu chọn tốc độ bit cao hơn thì kích thước tập tin sẽ lớn hơn đồng thời chất lượng của âm thanh cũng sẽ được tốt hơn Người dùng phải đưa ra một quyết định lựa chọn tốc độ bitrate phù hợp, phụ thuộc vào mục đích sử dụng với chất lượng âm thanh tương ứng Tốc độ bit và tần số lấy mẫu và có thể lựa chọn một cách độc lập

1 Tốc độ Bit (Bit-rate)

Tốc độ bit được đo theo đơn vị kilobits/sec(kbps)

Âm thanh MPEG 1 lớp-3, làm việc với các tốc độ bit từ 8 kbit/s lên đến 320 kbit/s Hơn nữa, bộ giải mã lớp-3 hỗ trợ kỹ thuật chuyển đổi tốc độ bit từ khung âm thanh này đến khung âm thanh khác trong cấu trúc tập tin MP3 Kết hợp với kỹ thuật dự trữ bit, cho phép MP3 mã hóa tốc độ bit biến đổi và tốc độ bit cố định ở bất

kỳ giá trị nào trong phạm vi các thiết lập tiêu chuẩn

Việc chọn tốc độ bit tùy thuộc trước tiên vào chất lượng âm thanh yêu cầu Tốc

độ bit càng lớn chất lượng âm thanh MP3 càng cao, dung lượng sẽ tăng Trong một

số trường hợp không đòi hỏi chất lượng âm thanh quá cao (như tiếng nói, tiếng động hiện trường…), sử dụng MP3 ở tốc độ bit thấp vẫn đáp ứng được yêu cầu sử dụng

Hình 3: Tín hiệu âm thanh được mã hóa ở tốc độ bitrate khác nhau

Hình trên cho thấy mã hóa âm thanh với tốc độ bit cao hơn cho ra một tập tin với chất lượng tốt hơn Ở tốc độ bitrate 64kbps tại mỗi bit đại diện cho nhiều dữ liệu hơn

âm thanh, kết quả này làm cho mô hình cảm nhận - âm học được áp dụng khá gay gắt

và nhiều dữ liệu phải xử lý Với tốc độ bitrate 128 kbps có nhiều bit hơn sẵn sàng để lưu trữ các dữ liệu âm thanh, do đó, mô hình cảm nhận - âm học được áp dụng ít gay

Tín hiệu âm

thanh tương tự

Tín hiệu âm thanh

số ở 64 kbps Tín hiệu âm thanh số ở 128 kbps

Trang 19

gắt và tăng sự tinh tế của âm thanh Ở tốc độ bitrate 128kbps càng gần giống đường cong của tín hiệu tương tự hơn so với tốc độ bitrate 64kbps, chất lượng âm thanh MP3 tương đương chất lượng âm thanh trên CD

Tại tốc độ bit 192 kbps trên mỗi kênh, chất lượng âm thanh là hoàn toàn trong suốt

Tốc độ bit 128 kbps / kênh được dùng phổ biến nhất trong phát thanh Tốc độ thấp hơn 128 kbps / kênh được dùng trong các ứng dụng yêu cầu tỉ số nén lớn do giới hạn của băng thông truyền hay thiết bị lưu trữ

Có một cách xem xét khác về tốc độ bitrate Nó có thể mã hóa với tốc độ bit không đổi (Constant Bitrate - CBR) hoặc tốc độ bitrate biến đổi (Variable Bitrate - VBR) Với CBR chỉ định rõ tốc độ bitrate và được sử dụng trong suốt quá trình mã hóa bất kể các đoạn âm thanh phức tạp hay đơn giản Với bộ mã hóa VBR xem xét

sự phức tạp để phân bổ bit phù hợp tới từng đoạn âm thanh tùy vào độ phức tạp ít hay nhiều Điều này có thể dẫn đến một mã hóa tốt hơn cho âm thanh nói chung Với VBR phải xác định cấp độ chất lượng yêu cầu để đáp ứng, và các bộ mã hóa quyết định số lượng các bit cần thiết Một điều được xem như sự cải tiến đối hơn so với CBR, có thể mã hóa nhiều lần các đoạn âm thanh với tốc độ bitrate khác nhau để đạt được chất lượng theo yêu cầu VBR làm ta không thể kiểm soát trực tiếp vào kích thước của tập tin được tạo ra

Trang 20

một số ứng dụng, ví dụ như dòng dữ liệu trên đường truyền kết nối internet thường

sử dụng tần số lấy mẫu thấp hơn để phù hợp với tốc độ chậm

Âm thanh MP3 hoạt động trên một số tần lấy mẫu khác nhau: 32KHz, 44,1 KHz

và 48 KHz Thông thường sử dụng tần số lấy mẫu 44.1KHz

Khi chọn lựa tần số lấy mẫu cần xem xét các vấn đề:

- Tần số lấy mẫu càng lớn thì chất lượng âm thanh càng cao, người nghe càng nghe thuận tai

- Băng thông tín hiệu tăng khi tần số lấy tăng, VD: băng thông tín hiệu 15 KHz khi tần lấy mẫu là 32 KHz và băng thông tín hiệu rộng 8 KHz khi tần lấy mẫu là 16 KHz

- Khi tín hiệu đầu vào theo tiêu chuẩn âm thanh số AES/EBU, thì tần số lấy mẫu cũng bị cố định theo

- Trong phát thanh hay ứng dụng đa phương tiện, nên lấy mẫu ở 48 KHz hoặc 44.1 KHz cho chất lượng tín hiệu âm thanh cao

Chất lượng và dung lượng tập tin MP3 phụ thuộc vào hai tham số cơ bản: tần số lấy mẫu, tốc độ bitrate Việc lựa chọn các tham số này, phụ thuộc vào mục đích và nhu cầu sử dụng Do đó, tập tin MP3 có khả năng lựa chọn linh hoạt (trong phạm vi các tiêu chuẩn cho phép)

III CẤU TRÚC TẬP TIN MP3

III.1 Cấu trúc tập tin

Một tập tin MP3 bao gồm nhiều khung và các thẻ dữ liệu ID3 ở đầu và cuối tập tin Có cấu trúc như sau:

[Thẻ ID3v2] Khung1 Khung2 Khung3 ……… [Thẻ ID3v1]

Hình 4: Các thành phần cơ bản tập tin MP3

Các khung trong tập tin MP3 có kết cấu liên quan đến nhau (thông qua các byte

“dự trữ"), do đó không thể xuất khung ra một cách tùy ý Mỗi khung bao gồm phần tiêu đề và phần khối dữ liệu Phần tiêu đề có các giá trị bit khác nhau, tùy thuộc vào

Trang 21

các tập tin MP3 Tiêu chuẩn ISO/IEC 11.172-3 xác định phạm vi và các giá trị cho từng phần của tiêu đề cùng với các đặc điểm kỹ thuật của nó Phần khối dữ liệu của khung bao gồm các thông tin âm thanh về tần số và biên độ

Thẻ (tag) ID3 chứa các dữ liệu của tập tin MP3, được xử lý trước hoặc sau các khung MP3 Thẻ ID3 cung cấp các thông tin về tiêu đề, tác giả, nhạc sỹ, diễn xuất, thời lượng, album …

Dưới đây là sơ đồ tổng quan về các thành phần trong tập tin MP3

Hình 5: Sơ đồ tổng quan cấu trúc các phần trong tập tin MP3 III.2 Cấu trúc khung

Khung là một khái niệm trung tâm khi giải mã dòng bit MP3 Nó bao gồm 1152 mẫu, được chia thành hai “grannule”, mỗi “grannule” gồm 576 mẫu Mỗi “grannule” được chia làm 32 khối băng con, mỗi băng con có 18 line tần số

[Thẻ ID3v2] Khung1 Khung2 Khung3 ……… [Thẻ ID3v1]

Tag title Artist Album Year Comment "0" Track Genre

Tiêu đề CRC Thông tin Dữ liệu chính Dữ liệu phụ thuộc

Trang 22

Hình 6: Cấu trúc khung theo các line tần số ở chế độ hai kênh

Phổ tần số dao động từ 0 tới Fs/2 Hz Các băng con phân chia phổ tấn số thành

32 phần bằng nhau Mỗi băng con chứa 18 mẫu đã được biến đổi đến miền tần số bằng phép biến đổi MDCT

576 line tần số trong một “grannule” được phân chia vào trong 21 hệ số tỉ lệ được thiết kế để phù hợp tần số băng tới hạn Dải hệ số tỉ lệ được sử dụng chính cho việc lượng tử hóa lại (requantization) của các mẫu

Cấu trúc của khung gồm 5 phần: tiêu đề (header), mã phát hiện lỗi (CRC), thông tin, dữ liệu chính (main data) và dữ liệu phụ thuộc (ancillary data)

Tiêu đề CRC Thông tin Dữ liệu chính Dữ liệu phụ thuộc

Khung

Trang 23

switching), như vậy tốc độ bit chuyển đổi dọc theo nội dung của khung Với cách này tốc độ bit thấp hơn có thể được sử dụng trong khung mà không làm giảm chất lượng âm thanh

Các khung có thể có phần kiểm tra lỗi CRC Nếu nó tồn tại nó nằm ngay sau phần tiêu đề và trước phần thông tin Phần kiểm tra lỗi CRC dài 16 bit Chiều dài của khung được tính toán để xác định các phần tiêu đề khác Nó cũng được sử dụng

để tính toán CRC của khung và so sánh kỹ lưỡng với tập tin âm thanh Đây thực sự

là một phương pháp tốt để kiểm tra các giá trị phần tiêu đề

1 Phần tiêu đề

1.1 Cấu trúc phần tiêu đề

MP3 bao gồm nhiều khung đều chứa phần tiêu đề và phần giá trị dữ liệu Những

dữ liệu này sau đó được tái tạo lại trong bộ giải mã Vào đầu mỗi khung là phần tiêu

đề khung Chứa 32 bit cơ sở dữ liệu tham chiếu tới các khung đến Cơ sở dữ liệu được chia thành các trường đại diện cho thông tin khác nhau về khung, chứa thông tin về lớp, tốc độ bit, tần số mẫu và chế độ stereo… (được thể hiện trong bảng sau):

Trường Bit bắt

đầu

Bit kết thúc Chiều dài

Bit cho biết lớp thực

Trang 24

Bảng 3: Các trường trong phần tiêu đề

1.2 Ý nghĩa và giá trị bit của các trường trong phần tiêu đề

Các bit đồng bộ (Sync Bit) nằm ở đầu của mỗi khung, được sử dụng khi xác định

một khung hợp lệ để bắt đầu phát tập tin MP3 Các bộ giải mã phải kiểm tra giá trị các bit đồng bộ trong hai khung hình liên tục và kiểm tra tính hợp lệ các phần khác của dữ liệu tiêu đề trước khi nó khẳng định đó là một khung hợp lệ trước khi giải mã MP3

Các bit đồng bộ khung gồm 11 bit (thiết lập tất cả các bit):

11111111111

Bit phiên bản MPEG (MPEG version): xác định MPEG thuộc phiên bản nào, các

tham số kỹ thuật của MPEG là các dữ liệu được mã hóa phù hợp tuân theo phiên bản MPEG

2 bit phiên bản âm thanh MPEG, bao gồm các giá trị sau:

00 - MPEG phiên bản 2.5

01 – Dành riêng

10 - MPEG Phiên bản 2 (ISO/IEC 13.818-3)

11 - MPEG Phiên bản 1 (ISO/IEC 11.172-3)

Bit lớp thi hành (Layer implemented) chỉ ra lớp nén nào đã được sử dụng trên

tập tin Bao gồm 2 bit, miêu tả các lớp:

Trang 25

00 – Dành riêng

01 – Lớp III

10 - Lớp II

11 - Lớp I

Các bit bảo vệ (protection bit)cho biết phần kiểm tra lỗi 16 bit CRC được chèn

vào trước các dữ liệu âm thanh không

Bao gồm 1 bit, mang các giá trị:

0 – Được bảo vệ bởi phần kiểm tra lỗi CRC (dài 16 bit sau phần tiêu đề khung)

1 – Không được bảo vệ

Bit chỉ số tốc độ bitrate (bitrate index) được sử dụng để xác định các tốc độ

bitrate mà khung đã được mã hóa

Bao gồm 4 bit, cho biết tốc độ bit sử dụng:

Trang 26

Chú ý: Tất cả các giá trị ở đơn vị kbps

V1 – Phiên bản MPEG 1 L3 - Lớp III

Tần số lấy mẫu (sampling rate) cho biết tần số lấy mẫu nào được sử dụng, bao

gồm 2 bit (đơn vị Hz), với các giá trị như bảng sau:

Bit đệm (padding bit) cho biết liệu khung có đưa vào các bit đệm để tạo ra khung

có số lượng bit chính xác so với tốc độ bitrate Bao gồm 1 bit với các giá trị:

0 - khung không đệm

1 - khung được đệm bằng cách cắm thêm một khe

Các bit đệm được sử dụng để điều chỉnh sao cho phù hợp với tốc độ bitrate chính xác

Các bit riêng (private bit) được sử dụng cho khởi sự một ứng dụng cụ thể

mã hóa trong mono hay stereo, bao gồm 1 bit

Các bit lựa chọn chế độ (Mode selected bit) trong quá trình mã hóa, tập tin MP3

được xác định cụ thể hoạt động ở chế độ kênh nào, ví dụ như nó được mã hóa mono hay stereo Bao gồm 2 bit, mang các giá trị:

Trang 27

10 - Dual channel (mono)

11 - Single channel (Mono)

Các bit chế độ mở rộng (Mode extension bit): bao gồm 2 bit, chỉ sử dụng nếu tập

tin đã được mã hóa ở chế độ join stereo Điều này cho bộ giải mã biết cách xử lý đối với âm thanh join stereo Chế join stereo được sử dụng để liên kết các thông tin làm giảm dung lượng của tập tin Những bit này được xác định tự động bởi một bộ mã hóa trong chế độ Join stereo

Đối với lớp III, hai bit này xác định loại join stereo nào được sử dụng (cường độ

âm thanh stereo hoặc m/s stereo)

Lớp III

Giá trị

Cường độ Stereo (Intensity stereo)

Bit bản quyền (copyright bit): bao gồm 1 bit Nếu giá trị ccủa bit này là không

đổi, thì việc sao chép các tập tin là bất hợp pháp

0 – Âm thanh không được sao chép

1 - Âm thanh được sao chép

Bit gốc (original bit): bao gồm 1 bit, được sử dụng để xác định xem các dữ liệu

âm thanh trên vật liệu gốc không

0 – Sao chép từ bản gốc

1 – Bản gốc

Trang 28

Bit quan trọng (Emphasis bit) có thể được sử dụng nếu nó được đặt trong bản

thu gốc, tuy nhiên hiện nay bít này không thực sự được sử dụng nữa

VD: mỗi tiêu đề dài 32 bit, có 38 khung/giây tương ứng 1.216 bit thông tin tiêu

đề trong một giây Nếu là mã hóa 128kbps tức là có 128.000 bit dữ liệu âm thanh / giây, do đó thông tin phần tiêu đề chỉ chiếm gần 1% kích thước của tập tin Khi mã hóa tốc độ bit biến đổi VBR, các khung khác nhau sẽ được mã hóa với tốc độ bitrate khác nhau, các thông tin tiêu đề là rất cần thiết

2 Phần mã phát hiện lỗi CRC

Phần mã phát hiện lỗi gồm 16 bit (2 byte) Phần mã này chỉ được sử dụng khi các bit bảo vệ trong phần tiêu đề được thiết lập Nó dược sử dụng để đảm bảo rằng không có lỗi truyền dẫn cho phần dữ liệu

3 Phần thông tin

Phần thông tin nằm sau phần tiêu đề và mã phát hiện lỗi CRC Chứa các thông tin cần thiết để giải mã phần dữ liệu chính như : lựa chọn bảng Huffman, hệ số tỉ lệ, các thông số lượng tử hoá lại và sự lựa chọn cửa sổ

Phần thông tin dài 17 byte đối tập tin MP3 làm việc ở chế độ đơn kênh, dài 32 byte đối tập tin MP3 làm việc ở chế độ hai kênh

Trang 29

Thông tin bắt đầu

dữ liệu chính

(Main_data_begin)

Các bit riêng (Private_bits) Scfsi

Thông tin của gr0 Side_Info_gr0

Thông tin của gr1 Side_Info gr1

9 bit 5 bit /3 bit 4 bit / 8 bit 59 bit / 118 bit 59 bit / 118 bit

Hình 8: Cấu trúc phần thông tin

Main data begin: Điểm bắt đầu chứa những dữ liệu chính của khung

SI grannule 0 : thông tin về khung ở vị trí thứ 0

SI grannule 1 : thông tin về khung ở vị trí thứ 1

private bits : do người sử dụng định nghĩa

Scfsi : Thông tin về việc lựa chọn hệ số tỉ lệ

Cấu trúc chi tiết của phần thông tin thể hiện trong bảng sau

Tổng cộng cho các khối thông thường 22 44

Cho các khối bắt đầu, khối dừng, khối ngắn (start, stop, short block)

Trang 30

Hệ số khuếch đại của các khối con (sublock gain) 3*3 3*3 + 3*3

Bảng 4: Bảng cấu trúc các bit trong phần thông tin

3.1 Bắt đầu phần dữ liệu chính (Main_data_begin)

Main_data_begin là một con trỏ 9 bit, cho biết sự bắt đầu của phần thông tin, nó

chỉ đến điểm bắt đầu của khung Số lượng dữ liệu trong dòng dữ liệu cố định không

chứa hết vào phần dữ liệu chính Sinh ra những khoảng không gian trống, chúng

được dùng để chứa dòng dữ liệu biến đổi Đây được gọi là kỹ thuật dự trữ bit

Những khung có không gian lưu trữ nhiều hơn số lượng byte cần lưu trữ, thì có thể

để dành không gian thừa này cho các khung khác, trở thành vùng dự trữ bit Các

khung tiếp theo có thể sử dụng các byte ngoài sẵn có bằng cách trỏ ngược vào vùng

dự trữ bit Vì vậy dữ liệu của một khung hình có thể được tìm thấy trong một số

khung phía trước đó Nó là con trỏ 9 bit nên nó chỉ được không quá 511 byte(29

-1=511)phía trước phần tiêu đề

3.2 Các bit bổ sung (Private_bits)

Private_bits (5 bit, 3bits) được dùng để làm tròn kích thước của phần thông tin

lúc nào cũng đủ 17 byte cho kênh đơn và 32 byte cho kênh kép

3.3 Thông tin các hệ số tỷ lệ (Scfsi)

Scfsi (4bits, 8 bit) cung cấp thông tin lựa chọn hệ số tỷ lệ trong trường hợp hệ số

tỷ lệ được chia sẻ là giống nhau cho cả hai “grannule” Việc chia sẻ hệ số tỷ lệ được

áp dụng cho một nhóm hệ số tỷ lệ 21 dải hệ số tỷ lệ tần số được chia thành 4 nhóm

Trang 31

như thể hiện trong bảng sau Scfsi là một dữ liệu 4 bit, mỗi một bit là một nhóm hệ

số tỷ lệ Một thiết lập bit cho biết hệ số tỷ lệ được chia sẻ cho cả hai “grannule” Như vậy chỉ cần truyền đi một hệ số tỷ lệ cho cả 2 “grannule” Trong trường hợp sử dụng cửa sổ ngắn (block_type = 10) hệ số tỷ lệ được gửi cho từng “grannule”

3.4 Thông tin về “grannule”(Side_infor_grannule)

Kích cỡ phần Side_infor_grannule ở chế độ mono là 59 bit, ở chế độ stereo là

118 bit Trong phần này bao gồm rất nhiều phần nhỏ, cung cấp các thông tin về hệ số

tỷ lệ scalefactor, mã Huffman, được phân tích cụ thể sau đây:

Số bit cho hệ số tỷ lệ - Par2_3_length (12 bit, 24 bit) cho biết số bit trong các hệ

số tỷ lệ trong phần dữ liệu chính và dữ liệu mã Huffman cho từng “grannule”và kênh Phần dữ liệu chính được chia thành hai hoặc bốn phần cho kênh đơn và kênh đôi tương ứng

Xác định giá trị các line tần số - Big_values (9 bit, 18 bit) của 576 đường tần

số của mỗi “grannule”được mã hoá bằng 32 bảng mã Huffman Các tần số bắt đầu từ

số không đến tần số lấy mẫu/2 Về cơ bản nó được phân chia thành ba vùng như thể hiện trong hình sau

| Vùng Big_values | vùng count1 | vùng rzero | 1 -big_values*2 -big_values*2+count1*4 -576

Bảng 6: Phân vùng của phổ tần số Vùng Big_values lại được chia thành ba vùng nhỏ region 0, region 1 và region

2, chứa các cặp giá trị đại diện từ tần số 0 là phần đầu tiên của quang phổ Số lượng

Trang 32

Huffman trong phạm vi từ 0 đến 15 Các giá trị khác lớn hơn đó là các giá trị nguyên không dấu sẽ được thêm tới 15 giá trị đến giá trị mong muốn Số bit giới hạn linbits (giá trị lớn nhất là 13) trong mỗi bảng Huffman được sử dụng để mã hóa các số nguyên không dấu Như vậy giá trị lớn nhất là 2 ^ 13 + 15 = 8207

Vùng count1 đại diện cho các tần số cao hơn so với vùng big_value Nó gấp

bốn lần các giá trị lượng tử bằng -1, 0 và 1

Vùng rzero đại diện các tần số cao nhất với biên độ thấp nhất, bao gồm các cặp

giá trị lượng tử hóa bằng 0

Global_gain (8 bit, 16 bit) cho biết các thông tin kích cỡ bước lượng tử hóa và

các công thức cho lượng tử hóa lại được đưa ra trong khối lượng tử hóa lại

Scalefac_compress (4 bit, 8 bit) quy định rõ số lượng bit phân bổ cho truyền dẫn

hệ số tỷ lệ được xác định bởi các băng tần số thấp (slen1) và băng tần số cao (slen2) như thể hiện trong bảng sau Việc truyền tải slen1 và slen2 tới các dải hệ số tỷ lệ phụ thuộc vào loại khối và khối hỗn hợp như thể hiện trong bảng sau

Thứ tự scalefac_compress 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Bảng 7: Phân bố bit thông tin hệ số tỷ lệ

Bảng 8: Phân chia giữa các tần số thấp và cao

Cờ chuyển cửa sổ - Window_switching_flag (1 bit, 2 bit) cho biết loại khối

được sử dụng Một thiết lập bit chỉ ra các khối khác biệt khối bắt đầu, khối dừng và khối ngắn (Start_block, Stop_block, short_block) được sử dụng Các trường của block_type, mixed_block_flag, bảng lựa chọn Table_select và subblock_gain sẽ

Trang 33

được sử dụng Ngược lại nếu window_switching_flag không được thiết lập, một khối thông thường được sử dụng nơi các trường của bảng lựa chọn, region0 và region1 sẽ được áp dụng

Thông tin bảng mã Huffman - Table_select (15bits, 30 bit) cho biết bảng

Huffman nào được sử dụng khi giải mã các giá trị big_values Có 32 bảng mã Huffman theo tiêu chuẩn kỹ thuật ISO 11173-2 Khi cờ chuyển mạch cửa sổ không được thiết lập, khối thông thường được sử dụng Ở chế độ mono cần 5 * 3 * 1 = 15 bit và ở chế độ stereo cần 5 * 3 * 2 = 30bits Ngược lại khi cờ chuyển mạch cửa sổ được thiết lập, thì một khối khác được sử dụng đó là khối bắt đầu, khối dừng và khối dài (Start_block , Stop_block, long_block) Các bit cần thiết cho âm thanh ở chế độ mono là 5 * 2 * 1 = 10 bit, ở chế độ stereo là 5*2*2 = 20 bit

Biên giới các vùng region0_count (4 bit, 8 bit), region1_count (3 bit, 6 bit)

được sắp xếp với việc phân chia phổ tần số trong các băng tần số Số lượng bit của dòng dữ liệu là ít hơn so với số lượng bit của các dải trong vùng tương ứng Ví dụ nếu region0_count là 8 các dải hệ số tỷ lệ là 3; (8 + 1) / 3 = 3 dải hệ số tỷ lệ Số lượng các cặp trong mỗi vùng có thể được tìm thấy từ số lượng dải sử dụng bảng bắt đầu

Các loại khối - Block_type (2 bit, 4 bit) cho biết các loại cửa sổ được sử dụng

cho “grannule”, cụ thể như trong bảng sau Trường này sẽ chỉ được sử dụng nếu sử dụng các cửa sổ khác với cửa sổ thông thường và cờ windows_swtiching_flag được thiết lập

Cờ xác định khối hỗn hợp - Mixed_blockflag (1 bit, 2 bit) cho biết loại cửa

sổ được sử dụng trong slen1 (thấp hơn) và slen2 (cao hơn) Trường này không sử

Trang 34

mixed_block_flag được thiết lập hai băng con thấp nhất được giải mã bằng một cửa

sổ thông thường và 30 băng con còn lại được giải mã bởi các cửa sổ theo quy định của block_type

Bảng Huffman cho 2 vùng - Table selection for two regions (10 bit, 20bits)

cho biết bảng mã Huffman nào được sử dụng khi giải mã vùng big_values như quy định tại bảng lựa chọn cho khối thông thường Trường này chỉ được sử dụng khi cờ chuyển mạch cửa sổ không được thiết lập Nó cho biết các khối khác biệt được sử dụng Khi nó ở chế độ mono số lượng bit cần thiết sẽ là 5 * 3 * 1 = 15 bit và khi nó ở chế độ stereo số lượng bit cần thiết sẽ là 5*3*2 = 30bits

Hệ số khuếch đại khối nhỏ - Subblock_gain (9bits, 18 bit) chỉ ra được bù

đắp cho 4 nhóm hệ số lượng tử hóa của global_gain cho mỗi khối ngắn 4 nhóm hệ

số tỷ lệ sublock_gain (cửa sổ) trong khối lượng tử hóa của bộ giải mã chia các giá trị của subblock Trường này được sử dụng khi cờ chuyển mạch cửa sổ window_switching_flag được thiết lập và loại khối sử dụng block_type loại 2

Preflag (1 bit, 2 bit) cho biết preemphasis bật hay tắt Một bit được thiết lập

cho biết các giá trị của bảng sau sẽ được đưa vào các hệ số tỷ lệ scalefactor Nếu block_type là loại 2 thì preflag không bao giờ sử dụng

scalefac_scale 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Bảng 10: Bảng Preemphasis

Lượng tử hóa hệ số tỷ lệ - Scalefac_scale (1 bit, 2 bit) cho biết kích cỡ bước

lượng tử đã áp dụng cho hệ số tỷ lệ scale_factor như trong sau

Trang 35

Bảng mã huffman cho vùng count 1 - Count1table_select (1 bit, 2 bit) cho

biết bảng mã Huffman nào theo tiêu chuẩn ISO được sử dụng cho vùng count 1 như trong bảng sau:

Hệ số tỷ lệ được sử dụng trong khối lượng tử hóa lại để giảm tạp âm lượng tử hóa Mỗi dải hệ số tỷ lệ truyền dẫn một hệ số tỷ lệ được Scfsi (chia sẻ) trong phần thông tin cho biết liệu hệ số tỷ lệ được chia sẻ giữa các “grannule”hay không Nếu một khối ngắn được tìm thấy trong “grannule”thứ nhất hoặc thứ hai thì không có sự chia sẻ hệ số tỷ lệ trong “grannule” Phần scalefac_compress cho biết số bit được phân bổ cho từng hệ số tỷ lệ Các dải hệ số tỷ lệ đã sử dụng sẽ phụ thuộc vào độ dài cửa sổ (ngắn hoặc dài) và tần số lấy mẫu

Các bit mã Huffman trong phần dữ liệu chính được mã hóa bằng bảng mã Huffman Như đã đề cập trong phần thông tin, dữ liệu chính của các bit mã Huffman được chia thành ba vùng Dữ liệu trong vùng big_values sử dụng 32 bảng mã Huffman để mã hóa (bảng 0-31) Hcode là đại diện cho các bit mã Huffman X và Y

là các cặp giá trị được mã hóa tương ứng với các bit mã Huffman và hlen cho biết chiều dài của mã x và y Tại vùng con count1 nó được mã hóa bằng cách sử dụng bảng mã Huffman cho bội của 4 A và B

Các bội của 4 v, w, x, y được mã hoá để đại diện cho hcode Tại vùng rzero nó được mã hóa với tất cả các số không

Trang 36

Thứ tự của các bit mã Huffman được sắp xếp theo khối dài hay khối ngắn với tần số lấy mẫu 32KHz, 44.1KHz hoặc 48KHz được xác định rõ trong phần thông tin Chiều dài của hệ số tỉ lệ phụ thuộc vào hệ số tỉ lệ được sử dụng trong bộ lượng

tử hoá mẫu và chiều dài cửa sổ (dài hay ngắn)

Các bit mã hoá Huffman biến đổi theo thời gian trong suốt tiến trình mã hoá Định dạng tốc độ bit biến đổi được sử dụng để giải quyết vấn đề này nhưng tốc độ bit phù hợp thì thường được sử dụng cho một yêu cầu ứng dụng cụ thể

Bộ mã hoá thực hiện trên khối dữ liệu dài 1152 mẫu Khi chiều dài dữ liệu mã hoá nhỏ hơn trung bình số bit cần thiết, bộ mã hoá đưa phần kích thước dư này vào

bộ dự trữ (reservoir) Khi kích thước bộ mã hoá quá lớn vượt quá chiều dài cho phép, sẽ mượn lại những bit dư này từ bộ dự trữ Bộ mã hoá chỉ có thể mượn bit dư

từ khung trước nó, không thể mượn được từ khung sau nó Vì vậy một kỹ thuật dự trữ bit được định nghĩa cho phép sử dụng kho dữ liệu chính trong một khung cho 2 khung liên tiếp nhau:

Hình 9: Kỹ thuật dự trữ bit được sử dụng trong việc lưu trữ dữ liệu chính

Trong ví dụ này khung 1 sử dụng bit từ khung 0 và khung 1 Khung 2 sử dụng bit từ khung1 Khung 3 yêu cầu cao hơn sử dụng bit từ khung1, 2và 3 Cuối cùng khung 4 chỉ sử dụng bit tại khung 4

Tiêu đề

Tiêu đề Khung 3

Tiêu đề Khung 3

Tiêu đề Khung 4

Trang 37

Tham số “main _data_begin” trong phần thông tin cho biết khung này có sử dụng những bit từ khung phía trước hay không Tất cả dữ liệu cho một khung có thể được lưu trữ trong khung trước đó Kích thước lớn nhất của kho dự trữ bit là 511 byte

5 Dữ liệu phụ trợ

Đây là phần dữ liệu phụ, do người dùng tự định nghĩa trong quá trình mã hóa, là phần cuối cùng của khung; sau phần dữ liệu chính và trước phần tiêu đề của khung tiếp theo Phần này là phần tùy chọn, có thể có hoặc không và có độ dài bit không cố định

6 Tính toán độ dài khung

Trước tiên, hãy phân biệt hai vấn đề: kích thước khung và độ dài khung Kích thước khung là số lượng mẫu chứa trong một khung Nó là không đổi và luôn luôn bằng 384 mẫu cho lớp I và 1.152 mẫu cho lớp II và III Chiều dài khung là chiều dài của một khung khi nén, đơn vị đo là bit Nó được tính toán bằng các khe Một khe cắm dài 4 bytes cho lớp I, và dài 1 byte cho lớp II và III Hãy nhớ rằng, chiều dài khung có thể thay đổi do việc đệm thêm các bit hoặc chuyển đổi tốc độ bitrate

Công thức tính chiều dài khung phụ thuộc vào các tham số tốc độ bitrate, tần số lấy mẫu và bộ đệm của phần tiêu đề khung

Chiều dài tập tin MPEG I lớp III sử dụng công thức:

Trong đó:

FrameLengthInBytes: Chiều dài khung (Byte)

Bitrate: Tốc độ bit

SampleRate: Tần số lấy mẫu

Padding: Các bit của bộ đệm

Ví dụ: MPEG1lớp III, tốc độ bitrate = 128.000bps, tần số lấy mẫu SampleRate = 441.000Hz, đệm = 0 Từ công thức trên thay vào ta có kích thước khung (FrameSize)

FrameLengthInBytes = 144 * bitrate / SampleRate + Padding

Trang 38

III.3 Thẻ dữ liệu ID3

1 Khái niệm

ID3 là một thẻ dữ liệu (TAG) được sử dụng để mô tả các thông tin của tập tin

âm thanh MPEG Nó dài 128 bit, nằm ở vị trí đầu hoặc cuối của các tập tin âm thanh phụ thuộc vào phiên bản ID3v1 hay ID3v2

ID3 mang các thông tin về tập tin âm thanh hiện hành Nó bao gồm các thông tin

về các nghệ sĩ, tên bài hát, và năm Hiện nay hầu hết các máy nghe nhạc MP3 có thể đọc được các thẻ dữ liệu mới như ID3v2 cũng như các thẻ ID3v1 Các loại thẻ gần đây như thẻ ID3v2 có thể lưu giữ thông tin nhiều hơn so với các thẻ đời cũ, và chúng nằm tại đầu của các dòng dữ liệu âm thanh Các thẻ ID3v1 có thể nằm ở đầu hoặc cuối của dòng dữ liệu âm thanh

Tag title Artist Album Year Comment "0" Track Genre

3bit 30bit 30bit 30bit 4bit 28bit 1bit 1bit 1bit

Bảng 13: Cấu trúc dữ liệu thẻ ID3

2 Giá trị bit của thẻ dữ liệu ID3

Giá trị các bit của thẻ dữ liệu ID3 được thể hiện trong bảng sau:

Chiều dài (bits)

Vị trí (bits)

Trang 39

Các tham số kỹ thuật cho tất cả các trường trong trường hợp không rõ (chưa xác định) được đệm bằng ký tự null (ASCII 0) Tuy nhiên, không phải tất cả các ứng dụng tuân theo quy định này (ví dụ như WinAmp đệm các trường chưa rõ bằng

<khoảng trắng> , ASCII 32)

Trang 40

CHƯƠNG II: MÃ HÓA VÀ GIẢI MÃ MP3

Trong chương trước, đề tài đã nghiên cứu và tìm hiểu chuẩn nén âm thanh số MP3 Trong chương này, đề tài đi vào phân tích quá trình mã hóa và giải mã tập tin MP3, làm cơ sở cho triển khai phần mềm giải mã MP3 trong chương tiếp theo

I MÃ HÓA MP3 ( MP3 ENCODING)

I.1 Khái quát

Quá trình mã hóa MP3 là quá trình chuyển đổi tín hiệu âm thanh từ định dạng PCM sang dạng tín hiệu âm thanh nén định dạng MP3

Bộ mã hoá âm thanh MP3 là bộ mã hóa thụ cảm phân tích thành phần tần số và biên độ của tín hiệu âm thanh đầu vào và so sánh với mô hình cảm nhận của tai người Các dữ liệu âm thanh đầu vào bao gồm các tần số với biên độ khác nhau Trong đó có những tần số âm thanh tai người cảm nhận được và không cảm nhận được Những tần số nằm ngoài ngưỡng che được giữ lại, còn những tần số nằm trong vùng của ngưỡng che thì bị loại bỏ (như mô hình sau) Bộ mã hóa thụ cảm loại bỏ các thành phần dư thừa không cần thiết (phần tai người không cảm nhận được) vì vậy giảm 1 lượng đáng kể dữ liệu cần mã hoá

Hình 10: Ngưỡng che âm thanh

Do đó sau quá trình mã hóa, tập tin âm thanh MP3 có dung lượng nhỏ hơn nhiều lần so với tập tin âm thanh gốc

Ngưỡng nghe Tín hiệu bị che

Tín hiệu không bị che

Trượt ra ngoài ngưỡng nghe Vùng bị che

Ngày đăng: 22/07/2017, 23:16

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
2. Lagerstrệm (2001), Design and Implementation of an MPEG-1 Layer III Audio Decoder, Master’s Thesis Sách, tạp chí
Tiêu đề: Design and Implementation of an MPEG-1 Layer III Audio Decoder
Tác giả: Lagerstrệm
Năm: 2001
3. M. Dietz, H. Popp, K. Brandenburg and R. Friedrich (1996), Audio Compression for Network Transmission Journal of the AES, Vol. 44, No. 1-2 Sách, tạp chí
Tiêu đề: Audio Compression for Network Transmission Journal of the AES
Tác giả: M. Dietz, H. Popp, K. Brandenburg and R. Friedrich
Năm: 1996
5. Praveen Sripada (2006), MP3 DECODER in Theory and Practice, Blekinge Tekniska Hửgskola Sách, tạp chí
Tiêu đề: MP3 DECODER in Theory and Practice
Tác giả: Praveen Sripada
Năm: 2006
6. Tan Swee Ling (2009), Design a MP3 Player, SIM University. Trang web tham khảo Sách, tạp chí
Tiêu đề: Design a MP3 Player
Tác giả: Tan Swee Ling
Năm: 2009
1. The private life of MP3 frames (http://www.id3.org/MP3Frame). About the structure of MP3's atoms Link
4. Discussion of MP3 patents (http://www.MP3-tech.org/patents.html) Link
5. SomaFM (http://SomaFM.com/contact/). Information for the providers of sound recordings to this Webcaster Link
9. Fraunhofer Institut Integrierte Schaltungen. 1998. MPEG Audio Layer-3. http://www.iis.fraunhofer.de/amm/techinf/layer3/ Link
1. K. Brandenburg, G. Stoll. (1996), A Generic Standard for Coding of High Quality Digital Audio"Collected Papers on Digital Audio Bit-Rate Reduction, AES Khác
4. Miller, P. (1999), An examination of the correlation between perceived sound quality and frequency response of current MPEG audio encoders Khác

HÌNH ẢNH LIÊN QUAN

Bảng 2:  Bảng các băng tới hạn - Thiết kế và thực hiện chương trình đọc file âm thanh định dạng MP3
Bảng 2 Bảng các băng tới hạn (Trang 15)
Hình 2: Mô hình ngưỡng nghe của tai người - Thiết kế và thực hiện chương trình đọc file âm thanh định dạng MP3
Hình 2 Mô hình ngưỡng nghe của tai người (Trang 17)
Hình 6: Cấu trúc khung theo các line tần số ở chế độ hai kênh - Thiết kế và thực hiện chương trình đọc file âm thanh định dạng MP3
Hình 6 Cấu trúc khung theo các line tần số ở chế độ hai kênh (Trang 22)
Bảng 3:  Các trường trong phần tiêu đề - Thiết kế và thực hiện chương trình đọc file âm thanh định dạng MP3
Bảng 3 Các trường trong phần tiêu đề (Trang 24)
Bảng lựa chọn count1 (count1table_select)  1  2 - Thiết kế và thực hiện chương trình đọc file âm thanh định dạng MP3
Bảng l ựa chọn count1 (count1table_select) 1 2 (Trang 30)
Hình 9: Kỹ thuật dự trữ bit được sử dụng trong việc lưu trữ dữ liệu chính - Thiết kế và thực hiện chương trình đọc file âm thanh định dạng MP3
Hình 9 Kỹ thuật dự trữ bit được sử dụng trong việc lưu trữ dữ liệu chính (Trang 36)
Hình 11:  Sơ đồ khối quá trình mã hóa MP3 - Thiết kế và thực hiện chương trình đọc file âm thanh định dạng MP3
Hình 11 Sơ đồ khối quá trình mã hóa MP3 (Trang 41)
Sơ đồ khối - Thiết kế và thực hiện chương trình đọc file âm thanh định dạng MP3
Sơ đồ kh ối (Trang 48)
Hình 14:  Phân vùng dữ liệu cho mỗi kênh của MP3 - Thiết kế và thực hiện chương trình đọc file âm thanh định dạng MP3
Hình 14 Phân vùng dữ liệu cho mỗi kênh của MP3 (Trang 50)
Hình 17:  Cấu trúc hình bướm giảm hiệu ứng Alias - Thiết kế và thực hiện chương trình đọc file âm thanh định dạng MP3
Hình 17 Cấu trúc hình bướm giảm hiệu ứng Alias (Trang 55)
Hình 18:  Lược đồ thiết kế IMDCT - Thiết kế và thực hiện chương trình đọc file âm thanh định dạng MP3
Hình 18 Lược đồ thiết kế IMDCT (Trang 56)
Hình 19:  Khối lọc đa pha tổng hợp - Thiết kế và thực hiện chương trình đọc file âm thanh định dạng MP3
Hình 19 Khối lọc đa pha tổng hợp (Trang 57)
Bảng lựa chọn cho hai vùng  2*5  2*5 + 2*5 - Thiết kế và thực hiện chương trình đọc file âm thanh định dạng MP3
Bảng l ựa chọn cho hai vùng 2*5 2*5 + 2*5 (Trang 66)
Hình 25:   Lưu đồ thuật toán khối đồng bộ - Thiết kế và thực hiện chương trình đọc file âm thanh định dạng MP3
Hình 25 Lưu đồ thuật toán khối đồng bộ (Trang 73)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w