2.5 Mã hóa dự đoán tuyến tính phân tích bởi tổng hợp
2.5.3 Dự đoán tuyến tính kích thích mã CELP
Cơ chế kích thích đa xung trình bày trong hai phần trên chỉ phù hợp với tốc
độ mã trung bình, để đạt đ−ợc chất l−ợng cao ở tốc độ bit thấp hơn thì các chuỗi kích thích cần được biểu diễn một cách có hiệu quả hơn. Alta đã đưa ra ý tưởng này bằng cách sử dụng mã hoá không đồng thời (quyết định có trễ) và chuỗi kích thích Gaussian liên hợp với dự đoán tuyến tính phân tích bởi tổng hợp và trọng số đánh giá. Một sách mã đ−ợc dùng để kích thích đã cho phép chất l−ợng tiếng nói mã hoá
có thể so sánh được với mã hoá dạng sóng tốc độ trung bình, đây cũng là ý tưởng cầu nối giữa bộ mã hoá tiếng nói Vocoder và mã hoá dạng sóng. Sơ đồ phân tích bởi tổng hợp CELP đ−ợc trên Hình 2.34.
Hình 2.34 Phân tích bởi tổng hợp theo CELP
Sách mã đ−ợc sử dụng trong Hình 2.34 gồm 1024 véctơ, mỗi véctơ t−ơng ứng với 40 mẫu (5ms). Hệ số độ lợi và véctơ kích thích đ−ợc lọc bởi bộ lọc tổng hợp ngắn hạn và dài hạn. Véctơ “tối −u” đ−ợc lựa chọn cần đảm bảo sai số MSE là cực tiểu. Một nh−ợc điểm của thuật toán CELP là yêu cầu một l−ợng tính toán lớn để tìm kiếm trong sách mã (thực tế là cần bộ xử lý 20 MIPS với sách mã 40 kbyte).
Vấn đề này đ−ợc giải quyết theo một số cách nh− xây dựng cấu trúc sách mã thuận tiện cho tìm kiếm, thuật toán tìm kiếm nhanh.
Bộ mã hoá CELP cho chất l−ợng tốt ở 8 kb/s và bộ mã hoá 4 kb/s đã đ−ợc chấp nhận thành chuẩn bán tốc cho điện thoại di động Bắc Mĩ. Có nhiều nỗ lực khác
tập trung vào việc phân bố số bit động cho kích thích và các tham số LP mã hoá
nhằm giảm tốc độ mã. Một hướng khác dựa trên cấu trúc ngữ âm, phân chia các
đoạn xử lý thành hữu thanh, vô thanh và trung gian rồi chia nhỏ nữa ở mỗi loại. Bộ mã hoá kích thích véctơ phân đoạn ngữ âm PS-VXC nh− vậy làm việc ở tốc độ 3,6 kb/s cho chất l−ợng t−ơng đ−ơng bộ mã hoá CELP cổ điển 4,8 kb/s. Nhìn chung các bộ mã hoá CELP cho chất l−ợng tiếng nói tốt ở cả tốc độ thấp và một số thuật toán dựa trên CELP đã đ−ợc công nhận thành chuẩn quốc gia và quốc tế.
2.5.3.1 ChuÈn FS 1016 CELP
Thuật toán CELP 4,8 kb/s đ−ợc Bộ Quốc phòng Mỹ chấp nhận cho hệ thống thông tin thoại bảo mật thế hệ ba và trở thành chuẩn FS1016 CELP. Sơ đồ tổng hợp của thuật toán đ−ợc cho trên Hình 2.35.
Hình 2.35 Tổng hợp CELP cho chuẩn FS 1016
Tiếng nói đ−ợc lấy mẫu ở tần số 8 kHz và chia khung 30ms, mỗi khung đ−ợc chia thành các khung con 7,5ms. Chuỗi kích thích CELP đ−ợc tạo thành bởi tổng hai véctơ thành phần cho bởi sách mã thích nghi và thống kê với độ lợi tương ứng ga, gs. Véctơ kích thích đ−ợc lựa chọn sau mỗi khung con nhằm tối thiểu hoá sai số. Sách mã đ−ợc tìm kiếm tuần tự bắt đầu từ sách mã thích nghi (gồm các véctơ vừa dùng để kích thích), còn độ trễ LTP đ−ợc tìm trong tập 128 giá trị nguyên và 128 không nguyên. Độ phức tạp tính toán −ớc khoảng 16 MIPS, giá trị DRT và MOS t−ơng ứng là 91,5 và 3,2.
2.5.3.2 Dự đoán tuyến tính kích thích tổng véc tơ
Thuật toán dự đoán tuyến tính kích thích tổng vectơ VSELP do Gerson và Jasink đề xuất đã đ−ợc dùng trong thông tin di động (gồm cả tế bào số). Thuật toán VSELP 8 kb/s cũng đ−ợc dùng cho hệ thống thông tin di động tế bào số Bắc Mĩ.
Thuật toán đã sử dụng sách mã có cấu trúc riêng biệt nhằm làm giảm mức độ phức tạp tính toán và tăng c−ờng khả năng chống nhiễu kênh. Kích thích VSELP đ−ợc tổng hợp từ ba vectơ trong ba sách mã là sách mã thích nghi pitch và hai sách mã
thống kê có cấu trúc riêng nh− trên Hình 2.36.
Hình 2.36 Tổng hợp VSELP
Tiếng nói đ−ợc lấy mẫu ở tần số 8 kHz, rồi đ−ợc đ−a tới bộ lọc thông cao Chebyshev bậc bốn. Khung xử lý trong thuật toán VELP có độ dài 20ms và đ−ợc chia thành 4 khung con 5ms. Thuật toán dùng bộ lọc tổng hợp ngắn hạn bậc m−ời và các hệ số phản xạ đ−ợc mã hoá theo khung với phân bố bit nh− sau:
{6/5/5/4/4/3/3/3/3/2}, các tham số LPC ở mỗi khung con nhận đ−ợc bằng nội suy tuyến tính. Các tham số kích thích đ−ợc cập nhật sau mỗi 5m và đ−ợc mã hoá bằng l−ợng tử véctơ. Sách mã đ−ợc tìm kiếm tuần tự và lựa chọn véctơ theo sai số MSE có trọng số đ−ợc tối thiểu hoá. Sách mã thích nghi (dự đoán dài hạn) đ−ợc tìm kiếm tr−ớc trên hai sách mã còn lại, với cấu trúc mã Gray chống nhiễu kênh, rất thuận lợi cho việc tìm kiếm đệ quy.
Thuật toán VSELP 8 kb/s có độ phức tạp cao, yêu cầu xử lý gần 20 MIPS và MOS
đạt đ−ợc trong khoảng 3,45 ữ 3,9. Bộ mã hoá VSELP 6,7 kb/s đã đ−ợc chấp nhận thành chuẩn thông tin di động tế bào số Nhật Bản.
2.5.3.3 M∙ hoá 16 kb/s CELP độ trễ thấp
Một vấn đề lớn trong các phương pháp nén tiếng nói dùng mã hoá quyết định có trễ là thời gian xử lý. Thông th−ờng, thời gian xử lý của bộ mã hoá t−ơng ứng với thời gian của 2 ữ 4 khung dữ liệu (ch−a bao gồm mã hoá kênh). Vì vậy, với thuật toán CELP bình thường, khung dữ liệu 20ms thì độ trễ khoảng 60ms. CCITT đã
nghiên cứu và đ−a ra trong khuyến nghị G. một thuật toán làm việc ở tốc độ dữ liệu 16 kb/s có độ trễ thấp để áp dụng cho thông tin toàn cầu. Thuật toán đã đạt đ−ợc yêu cầu trên nhờ hai điểm chủ yếu là: dùng bộ dự đoán thích nghi ng−ợc và véctơ kích thích ngắn (ứng với 5 mẫu). Cấu trúc bộ mã hoá và giải mã LD-CELP (khuyến nghị G.728) đ ợc cho trên Hình 2.37. −
Hình 2.37 Mã hoá và giải mã LD-CELP G.728
Kích th−ớc khung dữ liệu tiếng nói là trong LD-CELP là 2,5 ms và chia thành 4 khung con. Các tham số của bộ dự đoán (bậc p = 50) đ−ợc cập nhật sau mỗi khung, xung kích thích đ−ợc chọn theo giá trị l−ợng tử véctơ trong sách mã.
Thuật toán LD-CELP có độ trễ một chiều nhỏ hơn 2ms, có khả năng truyền thông tin báo hiệu nh− DTMF với chất l−ợng tiếng nói đạt MOS trong khoảng 3,93
ữ 4,1. Bộ mã hoá đã đ−ợc thực thi trên chip AT&T DSP32C với yêu cầu về khả năng tính toán và bộ nhớ t−ơng ứng là 10,6 MIPS và 12,4 kbyte cho mã hoá và 8,06 MIPS và 13,8 kbyte cho giải mã.