Tải bản đầy đủ (.ppt) (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 (104.6 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
ÁNTỐT
TỐTNGHIỆP
NGHIỆP

XÂY
XÂYDỰNG
DỰNG ỨNG
ỨNG DỤNG
DỤNGTRUYỀN
TRUYỀNTHÔNG
THÔNG
ÂM
ÂMTHANH
THANHTRÊN
TRÊN MẠNG
MẠNG CỤC
CỤC BỘ
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Ã HỐ 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
Máy tính
tính

IP
IP

Máy
Máy tính
tính

➲ Máy tính đến điện thoại (PC to phone)

Máy
Máy tính
tính


IP
IP

Gateway
Gateway

PSDN
PSDN

Điện
Điện thoại
thoại


➲ Điện thoại đến điện thoại (phone to phone)

Điện
Điện thoại
thoại

Điện
Điện thoại
thoại

PSDN
PSDN

PSDN
PSDN


Gateway
Gateway

Gateway
Gateway

IP
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 tồ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 tồ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
MáyA
A

Máy
Máy BB

Socket

Port

Port
TCP/IP Interface


Kiến trúc mạng TCP/IP

Application
Application
Presentation
Presentation
Session
Session
Transport
Transport


Telnet
Telnet

FTP
FTP

SMTP
SMTP

TCP
TCP

DSN
DSN

UDP
UDP

Network
Network
Data
Data link
link

Internet
Internet&
& ICMP
ICMP


Physical
Physical

Ethenet
Ethenet Token
Token bus
bus Token
Token ring
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
TCP/IP

Telnet
DSN
...


PHƯƠNG PHÁP MÃ HỐ VÀ NÉN ÂM THANH

Mã hố 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ử hố các mẫu đó
➲ Các phương pháp PCM, DPCM, ADPCM
Mã hố nguồn (Source codec)
➲ Mã hố 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ãhố
hố
hỗn
hỗnhợp
hợp



Mãhố
hố
dạng
dạngsóng
sóng

Rất tốt
Tốt


Mãhố
hốdự
dựđốn
đốn
tuyến
tuyếntính
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
Socket
Yêu
Yêucầu
cầu
truyền
truyềndữ
dữliệu
liệu

Socket
Socket

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
Yêucầu
cầu
nhận
nhậndữ
dữliệu
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
Modulxử
xửlý

âm
âmthanh
thanh

Micro

Loa

Thu
Thutiếng
tiếngnói
nói

Phát
Pháttiếng

tiếngnói
nói

Modul
Modulmã
mãhố
hố
(giải
(giảimã)
mã)


Mãhố
hố

Giải
Giảimã


Modul
Modul
truyền
truyềnnhận
nhận

Truyền
Truyền

Nhận
Nhận


Mạng
Mạng
máy
máy
tình
tình


Lưu đồ mơ đun thu âm thanh (Capture)
Mở
Mởsoundcard
soundcardchuẩn
chuẩnbịbịghi
ghi
Ghi
Ghitín
tínhiệu
hiệm
âmthanh
thanhvừa
vừa
lấy
lấymẫu
mẫuvào
vàobộ
bộđệm
đệmghi
ghi
Chưa đầy

Bộ
Bộđệm
đệmghi
ghi
đã
đãđầy
đầychưa
chưa??
Đầy
Kích
Kíchhoạt
hoạt
modul
modulmã
mãhố
hố


Lưu đồ mơ đun trình diễn âm thanh (Player)
Mở
Mởsoundcard
soundcardchuẩn
chuẩnbịbịphát
phát

Khơng


Códữ
dữliệu

liệu
trong
trongbộ
bộđệm
đệm
phát
phátkhơng
khơng??

Chuyển
Chuyểndữ
dữliệu
liệutừ
từ
bộ
bộđệm
đệmrarasoundcard
soundcard

Loa


Lưu đồ mơ đun mã hố âm thanh
Bắt
Bắtđầu
đầu
Khơng

Códữ
dữliệu

liệu
trong
trongbộ
bộđệm
đệm
ghi
ghikhơng
khơng??

Lấy
Lấymột
mộtkhung
khungtiếng
tiếngnói
nóitừ
từbộ
bộđệm
đệmghi
ghi


Mãhố
hốtheo
theophương
phươngpháp
phápPCM
PCM
Chép
Chéptiếng
tiếngnói

nóiđã
đãmã
mãhố
hốvào
vàobộ
bộđệm
đệmtruyền
truyền


Mơđun
đuntruyền
truyền


Lưu đồ mơ đun giải mã âm thanh
Bắt
Bắtđầu
đầu

Khơng


Códữ
dữliệu
liệu
trong
trongbộ
bộđệm
đệm

nhận
nhậnkhơng?
khơng?


Lấy
Lấymột
mộtkhung
khungtiếng
tiếngnói
nóitừ
từbộ
bộđệm
đệmnhận
nhận

Giải
Giảimã
mãtheo
theophương
phươngpháp
phápPCM
PCM
Chép
Chéptiếng
tiếngnói
nóiđã
đãgiải
giảimã
mãvào

vàobộ
bộđệm
đệmphát
phát


Mơđun
đunphát
phát


Lưu đồ mơ đun truyền / nhận âm thanh
Bắt
Bắtđầu
đầu

Khơng


Códữ
dữliệu
liệu
trong
trongbộ
bộđệm
đệm
truyền
truyền//nhận
nhận
khơng?

khơng?

Lấy
Lấymột
mộtkhung
khungtiếng
tiếngnói
nói
từ
từbộ
bộđệm
đệmnhận
nhận//truyền
truyền

Nhận
Nhận//truyền
truyềntheo
theogiao
giaothức
thứcTCP
TCP

Mơđun
đungiải
giảimã
mã//mã
mãhố
hố



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ế



×