TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NÔI
TRƯỜNG ĐẠI HỌC THUỶ SẢN
KHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN TỐT NGHIỆP
XÂY DỰNG ỨNG DỤNG TRUYỀN THÔNG
ÂM THANH TRÊN MẠNG CỤC BỘ
Giáo viên hướng dẫn:
PGS.TS Nguyễn Thị Hoàng Lan
Sinh viên thực hiện:
Trần Việt Hùng
NỘI DUNG BÁO CÁO
CÁC MÔ HÌNH ĐIỆN THOẠI QUA MẠNG.
KHẢO SÁT CÁC GIAO THỨC TRUYỀN THÔNG.
PHƯƠNG PHÁP MÃ HOÁ VÀ NÉN ÂM THANH.
TÌM HIỂU HỖ TRỢ CỦA SDK WINDOWS TRONG
VIỆC XỬ LÝ VÀ TRUYỀN NHẬN ÂM THANH.
PHÂN TÍCH THIẾT KẾ VÀ CÀI ĐẶT THỬ NGHIỆM
ỨNG DỤNG TRUYỀN ÂM THANH TRÊN MẠNG.
CÁC MÔ HÌNH ĐIỆN THOẠI QUA MẠNG
Máy tính đến máy tính (PC to PC)
Máy tính
IP
Máy tính
Máy tính đến điện thoại (PC to phone)
Máy tính
IP
Gateway
PSDN
Điện thoại
Điện thoại đến điện thoại (phone to phone)
Điện thoại
Điện thoại
PSDN
PSDN
Gateway
Gateway
IP
KHẢO SÁT CÁC GIAO THỨC
TRUYỀN THÔNG TRÊN MẠNG IP
Giao thức IP ( Internet Protocol)
Là giao thức không liên kết
Dùng cho mạng chuyển mạch gói
Phân đoạn và hợp nhất các khối dữ liệu
Cung cấp khả năng kết nối các mạng con thành liên mạng
để truyền dữ liệu
Giao thức TCP ( Transmision Control Protocol)
Là giao thức có liên kết
Cung cấp khả năng truyền dữ liệu an toàn
Kiểm tra tính chính xác của dữ liệu gửi đi và gửi lại khi
có lỗi xảy ra
Giao thức UDP (User Datagram Protocol)
Là giao thức không liên kết
Truyền dữ liệu không an toàn
Thích hợp cho ứng dụng đòi hỏi dữ liệu được truyền
rộng rãi
Khái niêm Socket
Đơn vị cấu trúc 2 chiều
Có thể đọc hay ghi lên socket
Hai loại socket là stream và datagram
Máy A
Máy B
Socket
Port
Port
TCP/IP Interface
Kiến trúc mạng TCP/IP
Application
Telnet
FTP
Presentation
Session
SMTP
TCP
DSN
UDP
Transport
Network
Internet & ICMP
Data link
Physical
Ethenet Token bus Token ring
So sánh mô hình OSI và mô hình TCP/IP
Chức năng và đặc điểm của TCP/IP
Số lượng nút mạng rất lớn
Chạy trên mọi hệ điều hành
Không phụ thuộc vào phần cứng
Cung cấp một loạt các dịch vụ
FTP
E mail
TCP/IP
Telnet
DSN
...
PHƯƠNG PHÁP MÃ HOÁ VÀ NÉN ÂM THANH
Mã hoá dạng sóng (Waveform codec)
Đòi hỏi tốc độ dữ liệu rất cao
Chất lượng âm thanh tốt
Phương pháp này chỉ dựa trên lấy mẫu tín hiệu và
lượng tử hoá các mẫu đó
Các phương pháp PCM, DPCM, ADPCM
Mã hoá nguồn (Source codec)
Mã hoá các tham số tạo tiếng nói, tổng hợp
tiếng nói tại nhận
Chất lượng tiếng nói không trung thực
Độ phức tạp cao
Phương pháp LPC
Mã hoá hỗn hợp (Hybrid codec)
Sử dụng kết hợp 2 phương pháp trên để tạo ra tín hiệu
âm thanh có chất lượng tốt ở mức độ tốc độ dữ liệu trung bình
Mô hình máy phát âm (Tương tự LPC)
Xây dựng từ điển
Chuẩn GSM gồm 160 mẫu, lấy tại 8kHz, chu kỳ 20ms
Chất lượng tiếng nói
Mã hoá hỗn
hợp
Mã hoá dạng
sóng
Rất tốt
Tốt
Mã hoá dự đoán
tuyến tính
Trung bình
2
4
8
16
32
64
Tốc độ
TÌM HIỂU HỖ TRỢ CỦA WINDOWS SDK
TRONG XỬ LÝ VÀ TRUYỀN NHẬN ÂM THANH
Môi trường SDK
Môi trường lập trình đa phương tiện dưới môi trường
Windows
Cung cấp các lớp dẫn xuất phục vụ cho việc xử lý và
truyền âm thanh qua mạng
Một số lớp tiêu biểu
CAsyncSocket cung cấp các đối tượng và các hàm
giúp ứng dụng giao tiếp bằng socket
Csocket là lớp dẫn xuất từ CAsyncSocket dùng xử
lý và truyền nhận dữ liệu âm thanh
Carchive chỉ dùng trong quá trình truyền nhận dữ liệu
bằng giao thức TCP/IP
Các hàm cấp thấp
AuxGetNumDevs : Truy xuất số lượng các thiết bị
AuxGetDevCaps : Truy xuất khả năng của thiết bị xuất
WaveInStart : Bắt đầu thu dữ liệu
WaveInStop : Kết thúc việc thu dữ liệu
WaveInPrepareHeader : Chuẩn bị khối dữ liệu nhập vào
WaveOutPrepareHeader : Chuẩn bị khối dữ liệu xuất ra
Accept : Xác nhận mối nối của client
Bind : Kết buộc Socket với cổng
Connect : Nối client với server
Inet_ntoa : Đổi thành địa chỉ dạng chuỗi
Send : Gửi dữ liệu qua socket
...
Mô hình liên kết và trao đổi dữ liệu
Dùng giao thức TCP/IP
Trao đổi dữ liệu thông qua socket
Dùng 1 socket đảm nhận việc truyền và nhận dữ liệu
Socket
Yêu cầu
truyền dữ liệu
Socket
Socket
Cơ chế gọi và lắng nghe liên kết
Lắng nghe ở một cổng quy ước trước
Liên kết được xác lập -> trao đổi dữ liệu
Yêu cầu
nhận dữ liệu
THIẾT KẾ ỨNG DỤNG TRUYỀN
ÂM THANH TRÊN MẠNG LAN
Thiết kế mô hình
Chương trình được thiết kế theo mô hình PC- PC
gọi tên là CPhone
Cấu hình hệ thống
Trong mạng gồm 1 server và các client
Micro, loa, vỉ mạch âm thanh cho mỗi PC
Giao thức liên lạc TCP/IP
Một chương trình truyền thông âm thanh giữa 2 máy
Các bước trong quá trình truyền thống âm thanh
Âm thanh anolog từ micro được chuyển thành digital tại
vỉ mạch âm thanh (PCM, 8kHz, 8 bits/mẫu)
Các mẫu được sao chép vào bộ đệm thành các khối cĩ độ
lớn nhất định
Dùng các thuật PCM để nén các khối đĩ
Thêm vào khối các thơng tin khác
Gửi khối dữ liệu sau khi đĩng gĩi qua socket
Gĩi tin được truyền qua mạng vật lý đến đầu kia
Loại bỏ các thơng tin thêm vào, giải nén các khối dữ liệu,
ghi khối dữ liệu âm thanh được giải mã vào bộ đệm
Chép các mẫu trên bộ đệm vào vỉ mạch âm thanh
Vỉ mạch âm thanh chuyển đổi các mẫu đĩ thanh âm thanh
Ưùng dụng gồm 3 mô đun chính
Mô đun xử lý âm thanh : Thu bắt và trình diễn
Mô đun mã hoá / giải mã âm thanh : PCM
Mô đun truyền / nhận âm thanh
Modul xử lý
âm thanh
Micro
Loa
Thu tiếng nói
Modul mã hoá
(giải mã)
Mã hoá
Modul
truyền nhận
Truyền
Mạng
máy
tình
Phát tiếng nói
Giải mã
Nhận
Lưu đồ mô đun thu âm thanh (Capture)
Mở soundcard chuẩn bị ghi
Ghi tín hiệu âm thanh vừa
lấy mẫu vào bộ đệm ghi
Chưa đầy
Bộ đệm ghi
đã đầy chưa ?
Đầy
Kích hoạt
modul mã hoá
Lưu đồ mô đun trình diễn âm thanh (Player)
Mở soundcard chuẩn bị phát
Không
Có dữ liệu
trong bộ đệm
phát không ?
Có
Chuyển dữ liệu từ
bộ đệm ra soundcard
Loa
Lưu đồ mô đun mã hoá âm thanh
Bắt đầu
Không
Có dữ liệu
trong bộ đệm
ghi không ?
Có
Lấy một khung tiếng nói từ bộ đệm ghi
Mã hoá theo phương pháp PCM
Chép tiếng nói đã mã hoá vào bộ đệm truyền
Mô đun truyền
Lưu đồ mô đun giải mã âm thanh
Bắt đầu
Không
Có dữ liệu
trong bộ đệm
nhận không?
Có
Lấy một khung tiếng nói từ bộ đệm nhận
Giải mã theo phương pháp PCM
Chép tiếng nói đã giải mã vào bộ đệm phát
Mô đun phát
Lưu đồ mô đun truyền / nhận âm thanh
Bắt đầu
Không
Có dữ liệu
trong bộ đệm
truyền / nhận
không?
Có
Lấy một khung tiếng nói
từ bộ đệm nhận / truyền
Nhận / truyền theo giao thức TCP
Mô đun giải mã / mã hoá
KẾT LUẬN
Các kết quả đạt được
Về lý thuyết
Tìm hiểu các mô hình điện thoại qua mạng
Các phương pháp mã hoá nén âm thanh
Kiến trúc TCP/IP
Trợ giúp của môi trường SDK cho lập trình mạng
Về thực nghiệm
Xây dựng chương trình liên kết hai máy trong môi
trường mạng cục bộ và có thể trao đổi dữ liệu âm thanh
Nhận xét đánh giá kết quả
Chất lượng tiếng nói có thể chấp nhận được trong phạm
vi mạng LAN
Có thể phát triển ứng dụng để sử dụng cho các bài toán
trong thực tế