Tải bản đầy đủ (.pdf) (22 trang)

Đồ á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ộ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (411.63 KB, 22 trang )

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

Transport
Network

DSN


UDP

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

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


Loa
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 ?


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 ?

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?


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?

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ế



×