Kỹ thuật mã hóa âm thanh thụ cảm theo tiêu chuẩn MPEG

MỤC LỤC

GIỚI THIỆU VỀ MPEG

GIỚI THIỆU 1. MPEG là gì?

    MPEG, viết tắt của cụm từ ‘ Moving Picture Experts Group’, là 1 nhóm chuyên nghiên cứu phát triển các tiêu chuẩn về hình ảnh số và nén âm thanh theo chuẩn ISO/IEC. Tiêu chuẩn này định nghĩa rằng hình ảnh được phát lại ở tốc độ 30 frames một giây và âm thanh được phát lại ở chất lượng như CD-audio, độ phân giải hình ảnh là 352 x 240. Chuẩn MPEG-1 được dùng điển hình trong các phần mềm huấn luyện bằng máy tính, các game hành động trong máy tính, video chất lượng VHS, Karaoke.

    Nếu đổi cách lưu trữ âm thanh từ 16 bit sang 8 bit chúng ta có thể giảm kích thước lưu trữ đi 1 nửa, tuy nhiên như thế chất lượng âm thanh cũng sẽ giảm đi 1 nửa. Dựa trên nghiên cứu về nhận thức âm thanh của con người, bộ mã hóa sẽ quyết định những thông tin nào là căn bản và những thông tin nào có thể bỏ qua. Nhưng máy thâu âm vẫn ghi lại đầy đủ tất cả tần số của tất cả nhạc cụ, nghĩa là thiết bị thâu âm hoàn toàn không có khả năng thích nghi động như con người.

    CÁC KHÁI NIỆM CƠ BẢN VỀ MPEG 1. Lược đồ mã hóa Perceptual Subband

      Theo cách này, dung lượng của thiết bị ghi âm cần thiết có thể xem như giảm đi mà không làm giảm chất lượng âm thanh. Như vậy, những thông tin lẽ ra phải được lọc bởi não bộ bây giờ không còn cần phải lưu trữ chiếm giữ không gian đĩa nữa. Mỗi tín hiệu “subband” được lượng tử hóa theo cách mà sự lượng tử hóa tiếng ồn được bắt đầu bởi việc mã hóa sẽ không vượt quá đường cong che của subband đó.

      Điều này cho phép bộ mã hóa hoạt động với những mức độ khác nhau về chất lượng và độ phức tạp, và cũng cho phép sự phát triển trong tương lai của bộ mã hóa. Có nghĩa rằng ta không cần phải lưu tâm đến bất kỳ sự khác biệt nào giữa tín hiệu gốc và tín hiệu nén đối với nhạc pop hay nhạc rock’n roll. Để đạt được tỉ số nén này, đối với âm thanh, về cơ bản ta có hai chọn lựa: hoặc giảm số lần lấy mẫu, hoặc giảm số bit để lượng tử hoá.

      MÃ HểA BĂNG PHỤ

      MÃ HOÁ BIẾN ĐỔI

        Thông tin tần số từ khối FFT được sử dụng để liên kết mô hình âm tâm lý để xác định ngưỡng che cho tất cả các tần số. Chúng thường xem xét liệu sự chuyển đổi cửa sổ có cần thiết trong khối biến đổi cosin rời rạc cải tiến (MDCT). Khối ngắn cải thiện độ phân thời gian tốt hơn để dùng cho các tín hiệu chuyển tiếp và làm nhỏ tiếng vang lại.

        Trước mỗi đợt MDCT xuất ra subband, mỗi subband cũ phải nghịch đảo tần số (nhân -1) để dòng phổ xuất hiện theo thứ tự tăng dần. Để duy trì thuộc tính tái tạo lại của MDCT, sự chuyển đổi giữa khối ngắn và khối dài không thể tức thì, vì vậy có cửa sổ chuyển đổi từ dài đến ngắn, từ ngắn đến dài. Trong chế độ khối ngắn, 3 khối ngắn thay thế 1 khối dài mà không kể đến loại cửa sổ áp dụng, số dòng MDCT còn lại không đổi.

        Chế độ hỗn hợp cung cấp độ phân giải tần số tốt hơn cho tần số thấp hơn trong khi duy trì độ phân giải thời gian cao hơn. MDCT biến đổi tín hiệu âm thanh vào miền tần số, sinh ra biệt danh được đưa vào bởi mẫu con trong khối lọc có thể thoát khỏi từng phần (partially cancelled). Ngưỡng che được sử dụng để tính toán có bao nhiêu bit cần thiết trong mỗi băng tới hạn để mã hóa mẫu sao cho nhiễu lượng tử hóa không thể nghe được.

        Mã hoá Huffman là một phần của phép lặp bởi vì nó không có khả năng xác định số bit cần thiết cho việc mã hoá. Mẫu lượng tử hoá là lưu trữ và mã hoá Huffman trong dòng bit dọc theo hệ số tỉ lệ và thông tin (side infomation). Giải thuật mã hoá Huffman dựa trên mô hình cây mã hoá (coding tree) dùng để phân biệt các symbol thông qua code word.

        Thông tin chứa các thông số điều khiển thao tác giải mã như là sự lựa chọn bảng Huffman, chuyển đổi cửa sổ, điều khiển độ lợi (gain control).

        Hình aâm taâm  lyù
        Hình aâm taâm lyù

        GIẢI MÃ MPEG1 LỚP 3

        GIẢI MÃ MP3 (MP3 DECODING)

          Mỗi subband chứa 18 mẫu mà đã được biến đổi đến miền tần số bằng phép biến đổi MDCT. 576 dòng tần số trong một “granule” đượ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 càng gần càng tốt. 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.

          Chiều dài của khung cố định cho tốc độ bit phù hợp ,với độ lệch có thể là một byte để duy trì độ chính xác tốc độ bit.

          AAAAAAAA AAABBCCD EEEEFFGH IIJJKLMM

          Khi bạn muốn đọc thông tin về file MPEG thông thường chỉ đọc về khung đầu tiên, về header và cho rằng những khung khác cũng tương tự. File MPEG có tốc độ bit khác nhau có thể được sử dụng thì gọi là chuyển đổi tốc độ bit (bitrate switching) có nghĩa là 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.

          Sau khi kiểm tra lỗi, có thể tính chiều dài của khung và sử dụng nó nếu cần những thông tin khác về header hay tính CRC của khung. Mỗi khung có thể được tạo ra với tốc độ bit khác nhau và được sử dụng trong tất cả các lớp( giải mã lớp 3 cũng dùng phương pháp này). Cách tính chiều dài khung : trước tiên ta hãy phân biệt kích thước khung và chiều dài khung.

          Chiều dài khung là chiều dài cuả khung khi đã nén xong và được tính trên slot. Chiều dài khung có thể thay đổi thông qua bộ đệm hoặc sự biến đổi tốc độ bit.

          Dữ liệu chính (main data)

            //trước tiên chúng ta kiểm tra xem nút hiện tại là nút lá hay nút trung gian //nếu là nút trung gian thì kiểm tra chiều dài bit tìm kiếm phải nhỏ hơn 8 if( node->value != 256 ). Những cửa sổ ngắn được sắp xếp lại theo thứ tự trong bộ mã hoá để mã hóa Huffman hiệu quả hơn, bởi vì mẫu gần nhau (sample close) trong miền tần số( thấp hoặc cao) có cùng giá trị. • Một chế độ“stereo” cho những kênh “stereo” mà những bit dùng chung nhưng không được sử dụng mã hoá joint_stereo.

            • Một chế độ “joint_stereo” mà có những thuận lợi về mối tương quan giữa những kênh stereo (MS stereo) hoặc không thích hợp đối với những pha khác nhau giữa các kênh (cường độ stereo) hoặc cả hai. Bộ giải mã tái tạo lại kênh trái và phải dựa trên tín hiệu đơn L+R (L‘ i) được chuyển đổi trong kênh trái và sự cân bằng mà được chuyển đổi thay vì dùng hệ số tỉ lệ (isratio sfb ) cho kênh phải. Giảm biệt danh được yêu cầu để loại bỏ hiệu ứng biệt danh của khối lọc đa pha trong bộ mã hoá (không ứng dụng cho granule sử dụng khối ngắn).

            Nó không ảnh hưởng hoàn toàn đến thuộc tính tái cấu trúc (reconstructor) của khối lọc, nhưng cải tiến hệ số nén của bộ mã hoá bằng cách cố gắng chứa năng lượng trong mỗi subband. Không giống như vùng thời gian - tần số thông thường nó được sắp xếp lại cho giảm biệt danh , đầu tiên sắp xếp trong miền tần số và sau đó tiếp tục trong miền thời gian. Bộ mã hoá đã gỡ bỏ điểm này để đảo ngược MDCT để tái cấu trúc mẫu subband trong hệ thống giảm alias cho tái cấu trúc bằng khối lọc tổng hợp.

            IMDCT( Inverse Modified Discrete Cosine Transform)biến đổi vạch phổ (Xk) thành khối lọc đa pha mẫu subband (Si ). Đầứu xuất được lấy cửa sổ phụ thuộc vào kiểu khối (bắt đầu, lượng trung bình, kết thúc), nửa đầu (first haft) được chồng lên nhau, nửa sau được lưu vào khoái. Khối lọc đa pha tổng hợp ( Synthesis Polyphase Filterbank) Khối lọc đa pha tổng hợp biến đổi 32 khối subband của 18 mẫu miền thời gian trong mỗi granule đến 18 khối của 32 mẫu PCM.

            Mẫu tái tạo lại sẽ thu được từ vector W bằng cách phân tích nó thành 16 vector có kích cỡ 32 và tính tổng các vector đó.

            1 . Giải mã Huffman

            GIAO DIỆN VÀ THUYẾT MINH CHƯƠNG TRÌNH

              Thanh này dùng để hiển thị tên bài hát và tên ca sĩ hát bài hát này, bởi vì đây là chương trình nghe nhạc mp3 nên đuôi mặc định là “.mp3”. Nút này có tác dụng thu nhỏ cửa sổ chương trình và hiển thị trên thanh Toolbars. Khi cần phóng to cửa sổ lên chỉ cần nhấp chuột vào phần thu nhỏ treân thanh Toolbars.

              Hiển thị tổng số thời gian mà chương trình phải thực thi, dưới dạng “phút : giaây”.

              8 . Nuùt Pause

              LƯU ĐỒ GIẢI THUẬT VÀ CẤU TRÚC DỮ LIEÄU