Phương pháp mã hóa tiếng nói dùng NMF của Xue

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu phương pháp mã hóa tiếng nói dùng kỹ thuật phân rã ma trận không âm (Trang 31 - 37)

5. Ý nghĩa khoa học và thực tiễn

2.3. Phương pháp mã hóa tiếng nói dùng NMF của Xue

Trong mã hóa lời nói WI, một khung lời nói được mô hình hóa bằng bộ lọc dự đoán tuyến tính và tín hiệu dư dạng sóng. Cao độ được ước tính từ tín hiệu dư. Tốc độ lấy mẫu dạng sóng đặc trưng là 400 Hz và 10 CW được trích xuất trên mỗi khung. Sau khi trích xuất CW, CW được đại diện bởi chuỗi Fourier, và sau đó được chuyển đổi thành cường độ và phổ pha bằng cách chuyển đổi tọa độ cực. Vì tai người không nhạy cảm với phổ pha CW, thông tin pha được loại bỏ trong bộ mã hóa và được khôi phục bằng pha cố định trong bộ giải mã. Các thủ tục NMF sau đó được thực hiện trên phổ cường độ CW. Nó mô tả như sau:

𝑉𝑛∗𝑚 ≈ 𝑊𝑛∗𝑟𝐻𝑟∗𝑚 (2.8) Ma trận n*m V đại diện cho phổ cường độ CW, mục tiêu của NMF là ước tính nó là một sản phẩm của hai ma trận không âm 𝑊𝑅𝑛∗𝑟 và 𝐻𝑅𝑟∗𝑚, trong đó W và H được gọi là ma trận cơ sở và mã hóa ma trận tương ứng. Ma trận W đại diện cho các sóng hài giống như xung cục bộ và H được mô tả là trọng số của các vectơ cơ sở.

Trong bài báo này, thứ hạng được chọn là 16. Các vectơ cơ bản của W được xác định trước thông qua các bộ huấn luyện. Sau đó, phổ biên độ CWs chiều cao có thể được biểu thị bằng ma trận mã hóa chiều thấp H sau khi nhân tử ma trận không âm, và điều này sẽ tạo điều kiện cho lượng tử hóa phổ cường độ CW ở tốc độ bit thấp

Thông số lượng tử hóa

Bộ mã hóa lời nói 1kb / s dựa trên NMF-WI được phát triển mà không có bất kỳ thay đổi nào đối với phân tích và tổng hợp tham số. Giảm hơn nữa tốc độ bit đạt được bằng cách loại bỏ khung để dự phòng khung trong các tham số. Trong bộ mã hóa được đề xuất, các tham số của hai khung liên tiếp được nhóm thành một siêu khung và được lượng tử hóa cùng nhau. Có bốn tham số truyền bao gồm tần số phổ dòng (LSF), cường độ, công suất và ma trận mã hóa H. Các sơ đồ lượng tử hóa của chúng được giới thiệu tương ứng như sau.

Lượng tử hóa LSF.

Đối với các bộ mã hóa lời nói dựa trên dự đoán tuyến tính, việc giảm tốc độ bit được liên kết chặt chẽ với lượng tử hóa hiệu quả của các hệ số bộ lọc mã hóa dự báo tuyến tính (LPC). Do các hệ số bộ lọc LPC có dải động rộng và không ổn định trong bộ lọc tổng hợp, nên sẽ sử dụng LSF thay thế. Bài viết này sẽ trình bày các phương pháp lượng tử hóa vectơ phân tách dự đoán giữa các khung và các phương pháp lượng tử hóa vectơ đa giai đoạn dự đoán giữa các khung cho tham số LSF.

Thủ tục dự đoán giữa các khung được mô tả như sau. Đầu tiên, hai khung hình liên tiếp hiện tại được nhóm thành một siêu khung. Thứ hai, vectơ trung bình được trừ khỏi vectơ LSF để có được vectơ LSF không thiên vị hiện tại. Vectơ trung bình LSF nhiệt được xác định trước thông qua các bộ huấn luyện. Vectơ LSF siêu khung hiện tại được mô tả là phương trình (2).

𝜔̅(𝑛) = {𝜔̅1,𝑖(𝑛), 𝜔̅2,𝑖(𝑛)} , 𝑖: 1,2, … … 10 (2.9) Trong đó 𝜔̅1,𝑖(𝑛) là vectơ LSF không thiên vị của khung đầu tiên trong siêu khung hiện tại, 𝜔̅2,𝑖(𝑛) là vectơ LSF không thiên vị của khung thứ hai trong siêu khung hiện tại. Thứ ba, dự đoán giữa các khung được tính như sau:

𝑤̃(𝑛) = {𝛼1,𝑖 ∗ 𝑤̂2,𝑖 (𝑛−1)

𝛼2,𝑖 ∗ 𝑤̂2,𝑖(𝑛−1) i=1,2,…….10; (2.10)

Trong đó 𝑤̂2,𝑖(𝑛−1) đại diện cho vectơ LSF được lượng tử hóa và không thiên vị của khung thứ hai trong khung chắc chắn trước đó. Các hệ số dự đoán α1,i và α2,i có thể được xác định trước bằng cách giảm thiểu lỗi bình phương sau:

𝐸 = ∑ [(𝑟1,𝑖(𝑛))2+ (𝑟2,𝑖(𝑛))2] 𝑁 𝑛=0 = ∑ [(𝜔̅1,𝑖(𝑛) − 𝛼1,𝑖 ∗ 𝑤̂2,𝑖(𝑛−1))2 + (𝜔̅2,𝑖(𝑛) − 𝛼2,𝑖 ∗ 𝑤̂2,𝑖(𝑛−1))2] 𝑁 𝑛=0 (2.11)

Sau đó, có được vectơ LSF dư trong khung siêu hiện tại. Hai sơ đồ được thực hiện trong coder. Đầu tiên là chia lượng tử vector. Có hai giai đoạn, 10 bit cho giai đoạn đầu tiên, trong giai đoạn thứ hai, vectơ LSF 20 chiều ban đầu được chia thành hai vectơ với 10 chiều và 7 bit cho mỗi vectơ. Sơ đồ thứ hai là lượng tử hóa vector ba giai đoạn. Phân bổ 9 bit, 8 bit và 7 bit tương ứng cho mỗi vector giai đoạn.

Bài kiểm tra được thực hiện trên cơ sở dữ liệu lời nói với 66 phút. Hiệu suất lượng tử hóa của các hệ số LSF được đánh giá bằng độ méo phổ trung bình (ASD). Các kết quả trong bảng 1 cho thấy rằng lượng tử hóa vectơ ba giai đoạn dự đoán liên khung thực hiện tốt hơn so với lượng tử hóa vectơ phân chia hai giai đoạn. Cuối cùng, áp dụng phương pháp dự đoán lượng tử vector ba giai đoạn dự đoán trong khung trong bộ mã hóa của.

Bảng 2.1. Hiệu suất của hai sơ đồ lượng tử hóa

Sơ đồ ASD(dB) 0~2dB 2~4dB >4dB Chia hai giai đoạn VQ 1,55 77,7% 21,6% 0,7% Ba giai đoạn VQ 1,47 81,8% 17,9% 0,3%

Vì các sơ đồ ước lượng và lượng tử hóa tốt là rất quan trọng đối với mã hóa giọng nói tốc độ bit rất thấp. Trong việc cố gắng ước tính cao độ bằng phương pháp hàm tương quan chéo đã chuẩn hóa (NCCF) [18]. Khi bài phát biểu không được truyền đạt, xác định rằng giá trị khoảng thời gian cao độ là 80 mẫu. Lượng tử hóa cao độ cần 6 bit cho một siêu khung trong bộ mã hóa này. Vì vậy, lượng tử hóa cao độ với bảng mã cố định 7 bit được tìm thấy là không phù hợp. Sau đó, một phương pháp lượng tử hóa sân khác được mô tả. Trước hết, hai khung cao độ liên tiếp được nhóm lại thành một siêu khung. Sau đó, các giá trị logarit của cao độ được lượng tử hóa. Trong Hình 1, mô tả về dạng sóng lời nói và đường viền cao độ của nó được mô tả. Cao độ ước tính trong bộ mã hóa được hiển thị trong đường liền nét. Đường chấm chấm biểu thị cao độ lượng tử trong bộ giải mã. Đối với mục đích so sánh, dấu vết cao độ trong bộ giải mã gần với dấu vết của bộ mã hóa.

Hình 2.2. Dạng sóng lời nói và đường viền cao độ của nó

Tham chiếu [9] đã chỉ ra rằng lời nói được giải mã chất lượng cao có thể đạt được khi độ phân giải cao không lớn hơn 3 và 5 mẫu đối với loa nữ và nam. Sau đó, một bài kiểm tra đã được thực hiện trên cơ sở dữ liệu giọng nói với 39044 khung. Tỷ lệ độ phân giải cao độ khác nhau được thể hiện trong Bảng 2. 𝛥𝑠𝑎𝑚𝑝𝑙𝑒

nghiệm này cho thấy độ phân giải dưới 3 mẫu chiếm 95,7305%. Và bài kiểm tra nghe chủ quan không chính thức chỉ ra rằng lời nói được xây dựng lại là tốt mà không làm suy giảm chất lượng âm thanh.

Bảng 2.2. Tỷ lệ phân giải cao độ khác nhau

𝛥𝑠𝑎𝑚𝑝𝑙𝑒 Proportion 𝛥𝑠𝑎𝑚𝑝𝑙𝑒 Proportion 0 13,746% <=3 95,7305% 1 22,5079% 2 9,9682% 3 49,5082% 4 1,8415% >3 4,2695% >5 2,428%

Lượng tử hóa điện.

Trong bộ mã hóa NMF-WI, 10 CW được trích xuất trên mỗi khung và công suất được tính một lần cho mỗi CW. Vì vậy, vectơ năng lượng trở thành 20 chiều trong một siêu khung. Để làm cho việc lượng tử hóa hiệu quả hơn, nên giảm số lượng kích thước lúc đầu. Biến đổi K-L và DCT là các phương thức được sử dụng phổ biến nhất. Vì phép biến đổi K-L cần biết trước ma trận hiệp phương sai, và sau đó các giá trị riêng được yêu cầu để tính toán. Nó là quá chuyên sâu tính toán để xử lý trong thời gian thực. DCT là một sơ đồ nén phổ biến khác với cơ sở trực giao và độ nén năng lượng cao. Và DCT có lợi thế về tốc độ tính toán nhanh. Nó thường được coi là phép biến đổi nhỏ gọn gần đúng nhất, vì lỗi lượng tử hóa của DCT gần với phép biến đổi K-L. Cuối cùng, DCT được thực hiện trên vectơ công suất logarit. Biểu thức của DCT được mô tả như sau:

𝑋(𝑘) = √2 𝑁𝑐(𝑘) ∑ 𝑥(𝑛) cos (2𝑛 + 1)𝑘𝜋 2𝑁 𝑁−1 𝑛=0 , 𝑘 = 0,1,2, … … 𝑁 − 1 (2.13) Các hệ số kết quả sau DCT được sắp xếp theo chuỗi giảm và năng lượng chủ yếu tập trung vào các hệ số tần số thấp. Việc lấy các hệ số sắp xếp lại DCT 10 chiều đầu tiên để lượng tử hóa. Sách mã được thiết kế bằng thuật toán LBG. Trong Hình 2.3 dấu vết sức mạnh được mô tả. Kết quả dữ liệu thực nghiệm chứng minh rằng lượng tử hóa các hệ số DCT có thể tạo ra hiệu suất tốt.

Hình 2.3. Dấu vết điện

Mã hóa lượng tử hóa ma trận.

Khi hai ma trận mã hóa liên tiếp tham gia, kích thước trong một siêu khung trở nên rất lớn, được biểu thị bằng 𝐻16×20. Nó cần phải được nén để giảm kích thước ma trận để đạt được tốc độ bit rất thấp để truyền hoặc lưu trữ, trong khi vẫn giữ được thông tin chính. Theo mối tương quan giữa các phần tử trong hàng, trước tiên thay đổi các cột của chúng thành 5-imension bằng DCT và trong bộ giải mã và có thể khôi phục các cột bị loại bỏ trong bộ mã hóa bằng phép biến đổi cosine rời rạc (IDCT) [13]. Và biết rằng các phần tử chiều thấp trong cột của H là các trọng số cho các sóng hài giống như xung tần số thấp, và các phần tử chiều cao là các trọng số cho các phần phổ tần số cao. Theo đặc tính này của ma trận mã hóa, chia ma trận H thành 3 ma trận phụ. Về mặt ma trận 16 × 5 H, ma trận con 5 × 5

đầu tiên, được sử dụng để cân cho các vectơ cơ sở tần số thấp, được gọi là ma trận thấp, trong khi ma trận phụ 5 × 5 thứ hai được gọi là ma trận giữa, và ma trận con 6 × 5 cuối cùng được gọi là ma trận cao. Để nhận thức về thính giác nhạy hơn với tần số thấp, sử dụng sơ đồ lượng tử hóa ma trận (MQ) để định lượng các ma trận phụ này, phân bổ nhiều bit cho ma trận thấp hơn ma trận trung bình hoặc ma trận cao.

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu phương pháp mã hóa tiếng nói dùng kỹ thuật phân rã ma trận không âm (Trang 31 - 37)

Tải bản đầy đủ (PDF)

(59 trang)