4. Cấu trúc luận văn
2.1. Giới thiệu chung
Như trong chương 1 đã giới thiệu tiến trình của hệ thống VoIP bao gồm: Quá trình thu nhận tín hiệu nén tín hiệu truyền tín hiệu nhận tín hiệu giải nén tái tạo lại âm thanh. Tuy nhiên để tăng tính bảo mật cho hệ thống VoIP việc thêm vào tiến trình làm việc của VoIP quá trình mã hóa và giải mã là cần thiết.
Trong chương này, tôi tập chung nghiên cứu một số phương pháp mã hóa, các thuật toán mã hóa, các phương pháp nén thoại và kỹ thuật nén trong VoIP nhằm tìm kiếm để đưa ra một giải pháp phù hợp cho việc bảo mật tín hiệu thoại trên nền IP.
Như ta đã biết để tiếng nói có thể truyền đi từ phía phát sang phía nhận thì tiếng nói phải được chuyển đổi từ dạng âm thanh sang dạng số một cách có hiệu quả và sau đó có thể điều chế để tái tạo lại tiếng nói gần giống như tiếng nói gốc. Trong VoIP, bộ codec có chức năng thực hiện nhiệm vụ này.
Codec Packetization Output
Queuin g Sender Uplink tranmissi on Backbon Tranmisso n Downlink Tranmission Output Queuin g Codec Jiter buffer Receive r Network
Ta có thể thấy rằng Codec xuất hiện ở cả phía Sender (với vai trò là coder) và xuất hiện ở phía Receiver (với vai trò là Decoder). Mức độ ảnh hưởng của chúng đến chất lượng tiếng nói là rất lớn, vì thế để chất lượng thoại có thể đạt được chất lượng tốt thì phải có bộ codec tốt.
Để đánh giá một bộ Codec là tốt hay xấu, người ta dựa vào những tiêu chuẩn sau: - Chất lƣợng: chất lượng điểu chế phải được đảm bảo, nếu chất lượng không tốt
sẽ làm cho tiếng nói thu được bị méo đi, do đó sẽ làm giảm chất lượng chung của hệ thống.
- Tốc độ điều chế: Điều chế và giải điều chế là một công đoạn trong toàn bộ cuộc thoại, nếu tốc độ của chúng càng tốt sẽ giúp giảm độ trễ chung của cả quá trình truyền điều này đảm bảo được yêu cầu về tính thời gian thực.
- Tỉ lệ nén: Người dùng luôn mong muốn dữ liệu gửi đi càng được nén nhiều càng tốt vì nó có thể tiết kiệm được đường truyền.
- Độ phức tạp của thuật toán: Thuật toán Codec càng phức tạp đòi hỏi càng nhiều tài nguyên như CPU, bộ nhớ, nếu phức tạp quá sẽ gây khó khăn nhiều hơn.
Quá trình điều chế tiếng nói
Bản thân tiếng nói là một dạng tín hiệu tương tự, để có thể truyền đi hoặc đưa qua khối xử lý, chúng phải được chuyển sang dạng số. Để biến đổi tiếng nói từ dạng âm thanh sang dạng số cần:
- Lấy mẫu (rời rạc hóa về thời gian): ước lượng các tín hiệu tương tự tại những thời điểm khác nhau, ghi lại các thuộc tính vật lý của tín hiệu như là điện áp thành một số và tạo thành các chuỗi số. Việc lấy mẫu tín hiệu tương tự tuân theo quy định lấy mẫu: Fs >= 2Fmax. Trong đó: Fs là tần số lấy mẫu và Fmax là tần số cực đại của tín hiệu. Đối với tiếng nói, dải tần số quan trọng nằm trong khoảng từ 40Hz đến 3400Hz, vì thế ta có thể lấy mẫu với Fs = 8kHz. Trước khi láy mẫu trực tiếp tín hiệu tương tự, người ta cho nó đi qua một bộ lọc thông thấp với tần số cắt là Fc, bộ lọc này có tác dụng loại bỏ đi các thành phần tần số cao hơn tần số cắt. Điều này không làm ảnh hưởng đến chất lượng tiếng nói vì phần lớn năng lượng tiếng nói tập chung ở miền tần số thấp. Sở dĩ phải cho qua bộ lọc thông thấp như vậy vì nhờ đó sẽ tránh được hiện trượng trùm phổ khi ta lấy mẫu với Fs >= 2 Fmax. Giá trị lúc này là giá trị tức thời tại thời điểm lấy mẫu.
- Lượng tử hóa (lượng tử hóa về biên độ): Sau khi rời rạc hóa về mặt biên dộ và tín hiệu tương tự, chúng ta thu được các giá trị biên độ tức thời của tín hiệu. lượng tử hóa được hiểu là cách biểu diễn một mẫu tín hiệu bằng giá trị N bit. Ta tìm cách rời rạc hóa miền giá trị của nó bẳng cách dùng N bit nhị phân ta có 2N giá trị khác nhau. Các giá trị tức thì của biên độ sẽ được làm tròn tới giá trị gần
nhất trong miền 2N giá trị rời rạc. Sai số của miền hàm tròn được gọi là sai số lượng tử.
Trong quá trình số hóa, sóng âm tương tự sẽ được lấy mẫu tại một tốc độ cố định. Lượng tử hóa xảy ra ở mỗi mẫu (Sample) khi biên độ của tín hiệu tại thời điểm đó được đo đạc và đại diện bằng những giá trị lượng tử gần nó nhất. Kết quả của quá trình này được gọi là âm thanh dạng số.
Sau khi số hóa, tín hiệu âm thanh được biểu diễn dưới dạng chuỗi bit. Các tín hiệu âm thanh được lấy mẫu ở tỷ lệ 8000 mẫu/giây, mỗi mẫu bao gồm 8 bit điều này tương ứng với một tỷ lệ không nén là 64kb/s. Truyền các tín hiệu số qua mạng đòi hỏi băng thông rộng 64kb/s, các kỹ thuật nén âm thanh được sử dụng để giảm yêu cầu đó. Có một sự tương ứng giữa số các bit được sử dụng trong các kỹ thuật nén và chất lượng tín hiệu âm thanh được tái tạo lại từ các bit này. Hầu hết, chất lượng âm thanh càng tốt thì tỉ lệ bit càng cao. Ta có thể thấy được một số thuận lợi của các kỹ thuật nén âm thanh ở tỷ lệ thấp: - Các tín hiệu âm thanh số được nén đòi hỏi ít không gian lưu trữ trên một thiết bị
vật lý hơn là các tín hiệu không nén
- Một kênh truyền thông có thể xử lý nhiều hơn các tín hiệu thoại. Ví dụ với tối đa 24 kênh thoại với mỗi kênh 64kb/s. Nếu tỷ lệ bit giảm xuống 9.6kb/s thì ta sẽ có 160 kênh
- Các tín hiệu số được nén có thể xáo trộn hoặc không xáo trộn một cách có hiệu quả, điều này làm cho các tín hiệu số được nén là lựa chọn hợp lý cho an toàn truyền thông.