Lý thuyết đằng sau mã hóa dự đoán tuyến tính (LPC)


9
  • Lý thuyết đằng sau LPC là gì?
  • Tại sao (đã) một số triển khai nhất định của LPC được cho là có khả năng dung nạp lượng tử hóa hoặc lỗi mã hóa hơn so với các sơ đồ mã hóa giọng nói nén khác?

  • Các phương pháp LPC cũng có thể được sử dụng để làm mịn hoặc "dự đoán" ngắn hạn tương tự như sử dụng các phương pháp lọc Kalman?

  • Trong những điều kiện hoặc ràng buộc nào là việc sử dụng LPC hợp lệ?

"Tại sao LPC được cho là có khả năng chịu lỗi truyền hoặc mã hóa hơn một số chương trình mã hóa giọng nói nén khác?" Ai đã nói thế? Tôi không biết rõ về LPC, nhưng tôi nghĩ nó phải làm với việc giảm sự dư thừa, điều này sẽ có tác dụng ngược lại.
endolith

Câu hỏi này là sai lệch vì nó là tiền đề sai. Hãy đóng và khắc phục điều này.
Dipan Mehta

Có nhiều câu hỏi và cơ sở ở đây. Cái nào bạn nghĩ cần sửa chữa?
hotpaw2

1
Tuyên bố Why are(were) certain implementations of LPC said to be more tolerant of transmission or encoding errors quantization than other compressed voice encoding schemes?là khá sai. Bạn có thể trích dẫn bất kỳ tài liệu tham khảo cụ thể cho biết những gì tốt hơn so với khác?
Dipan Mehta

1
Đó thực sự là câu hỏi của tôi. Tôi đã nghe điều này ở đâu đó, nhưng không biết tại sao điều này có thể đã được nêu.
hotpaw2

Câu trả lời:


14

Đầu tiên, để nói mã hóa dự báo tuyến tính (LPC) là "dung sai hơn cho các lỗi truyền hoặc mã hóa" không hoàn toàn đúng. Hình thức trong đó các hệ số được truyền đi tạo ra sự khác biệt lớn. Ví dụ: nếu các hệ số dự đoán tuyến tính được giải quyết, chúng có thể rất nhạy cảm với lượng tử hóa, giống như các hệ số bộ lọc IIR bậc cao (điều này là do bộ lọc tổng hợp sẽ là IIR, nhưng nhiều hơn về sau). Tuy nhiên, nếu chúng được truyền đi dưới một số hình thức khác, vấn đề này có thể được giảm nhẹ một cách dễ dàng.

Một cách là chuyển các hệ số phản xạ. Nếu bạn giải quyết đệ quy cho bộ lọc dự đoán tuyến tính bậc k, hệ số bậc cao nhất ở mỗi giai đoạn được gọi là hệ số phản xạ. Chúng có thể được sử dụng cùng nhau để mô tả hoàn toàn hệ thống (có thể dễ dàng nhìn thấy từ đệ quy Levinson). Trong thực tế, bạn có thể sử dụng tất cả chúng cùng nhau để tạo thành bộ lọc mạng. Các bộ lọc này thường được sử dụng khi lượng tử hóa là một mối quan tâm, vì chúng mạnh mẽ hơn nhiều đối với số lượng bit thấp. Ngoài ra, nếu cường độ của các hệ số phản xạ này bị giới hạn bởi sự thống nhất, bạn được đảm bảo bộ lọc ổn định BIBO rất quan trọng đối với LPC nơi bộ lọc được sử dụng để tổng hợp tín hiệu của bạn. Có các phương pháp khác như cặp phổ vạch thường được sử dụng, nhưng aren '

Bây giờ, để giải quyết câu hỏi đầu tiên, lý thuyết về LPC xoay quanh mô hình đường hô hấp. Về cơ bản, chúng ta đang mô hình hóa lời nói khi không khí rung động như một đầu vào của một cấu trúc nào đó. Bạn có thể tìm kiếm một số tài nguyên đi sâu vào chi tiết hơn để mô tả mô hình này (chiều dài của ống, cường độ không khí, cấu trúc, v.v.). Các tài nguyên này liên quan trực tiếp đến các cấu trúc này với các bộ lọc IIR đáp ứng với các kích thích khác nhau, ví dụ như tiếng ồn trắng.

Vì vậy, khi chúng tôi giải quyết các hệ số dự đoán tuyến tính, chúng tôi sẽ tìm các hệ số sao cho nếu chúng tôi nhập tín hiệu của chúng tôi (ví dụ như giọng nói) vào bộ lọc FIR được tạo từ các hệ số, chúng tôi sẽ nhận được nhiễu trắng làm đầu ra. Vì vậy, hãy nghĩ về điều đó có nghĩa là gì. Chúng tôi đang nhập rất caotín hiệu tương quan, và xuất ra một chuỗi nhiễu trắng. Vì vậy, trong thực tế, chúng tôi loại bỏ tất cả sự phụ thuộc tuyến tính của tín hiệu đó. Một cách khác để xem xét điều này, là tất cả các thông tin có ý nghĩa được chứa trong các hệ số loại bỏ sự phụ thuộc tuyến tính này. Do đó, chúng ta có thể chuyển các hệ số này (hoặc một số dạng của chúng như trên) và đầu thu có thể tạo lại tín hiệu. Điều này được thực hiện bằng cách đảo ngược bộ lọc FIR dự đoán tuyến tính để tạo bộ lọc IIR và đưa vào nhiễu trắng. Vì vậy, việc nén xuất phát từ việc loại bỏ sự phụ thuộc tuyến tính này và chuyển các hệ số. Đây là lý do tại sao phương pháp Burg đôi khi cũng được gọi là phương pháp entropy tối đa, vì nó nhằm tối đa hóa "tính ngẫu nhiên" hoặc độ trắng của nhiễu đầu ra trong bộ lọc dự đoán tuyến tính. Một cách khác để xem xét điều này,

Để trả lời câu hỏi cuối cùng của bạn, tôi không chắc bạn đang hỏi gì hoàn toàn. LPC, hoặc mã hóa dự đoán tuyến tính có nghĩa là "nén" tín hiệu giả định rằng nó có thể được mô hình hóa một cách hiệu quả như đã thảo luận trước đây. Bạn chắc chắn có thể sử dụng dự đoán tuyến tính để thực hiện "dự đoán ngắn hạn" như bạn đã đề cập. Đây là cơ sở tiềm ẩn đằng sau các phương pháp AR có độ phân giải cao được sử dụng để ước tính mật độ phổ công suất. Trình tự tự tương quan có thể được mở rộng đệ quy từ dạng hữu hạn của nó từ bản ghi dữ liệu giới hạn đến vô hạn như trình tự tự tương quan lý thuyết của trình tự thư giãn. Đây cũng là lý do tại sao các phương pháp ước tính PSD của AR không biểu hiện hiện tượng sidelobe.


1
"lý thuyết về LPC xoay quanh mô hình đường hô hấp" Điều này có luôn đúng không? FLAC sử dụng LPC trên các dạng sóng âm thanh chung, không chỉ giọng nói.
endolith

3
Tôi xin lỗi, ban đầu tôi đã học nó thông qua sự tương tự của các hợp âm của giọng hát như một mô hình vật lý bắt nguồn từ đó. Như tôi đã nói, có những nơi họ đào sâu vào vấn đề này sâu hơn nhiều. Nhưng bạn đã đúng, LPC phù hợp với dạng sóng âm thanh chung. Như tôi đã đề cập, nó hoạt động tốt trên bất kỳ phổ bốc đồng nào. Là một hệ quả, nó hoạt động kém trên các tín hiệu nhiễu trong đó phổ ít xung hơn (điều này là do các tín hiệu nhiễu được mô hình hóa tốt hơn như các quá trình ARMA).
Bryan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.