Tải bản đầy đủ (.doc) (120 trang)

Đồ án xây dựng thử nghiệm một hệ thống cho phép trao đổi thông tin bằng tiếng nói thoại, tương tác điểm – điểm trên mạng LAN

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 (536.6 KB, 120 trang )

Trang 1
LỜI NĨI ĐẦU
Trong những năm gần đây, mạng máy tính ngày càng trở nên phổ biến.
Việc liên kết các máy tính trên mơi trường mạng cũng như liên kết các mạng lại
với nhau đem lại cho chúng ta nhiều lợi ích trong cơng việc cũng như trong
việc học tập nghiên cứu, giải trí. Chúng ta có thể sử dụng các tài ngun sẵn có
được chia xẻ như file server, printer, máy fax, mơi trường mạng còn là một
mơi trường thơng tin nhanh chóng và tiện lợi nhờ vào các cơ chế truyền thơng
trên mạng như : e-mail, www
Bên cạnh đó, tốc độ phát triển của máy tính PC cũng rất nhanh chóng.
Các kỹ thuật hiện đại đã giúp tạo ra các máy PC với tốc độ tính tốn nhanh
hơn, bộ nhớ lớn hơn và khả năng xử lý của nó cũng ngày càng đa dạng hơn
trong khi giá thành ngày càng rẻ hơn. Một trong những khả năng ưu việt của
máy PC hiện nay là hỗ trợ multimedia. Các máy PC ngày nay giao tiếp với con
người khơng chỉ bằng text mà còn kết hợp tất cả các phương tiện khác như
tiếng nói, hình ảnh.
Việc đưa kỹ thuật multimedia vào các ứng dụng truyền thơng trên mạng
giúp chúng ta tạo ra nhiều ứng dụng phong phú hơn. Chẳng hạn hộp thư điện
tử ngày nay có thể khơng chỉ là văn bản mà còn bao gồm tiếng nói, hình ảnh.
Các trang web trở nên sinh động hơn hẳn khi kèm theo kỹ thuật multimedia.
Bên cạnh đó, chúng ta có thể thiết kế các ứng dụng tiện ích như Video
conference, voice mail
Thơng qua chương trình này, người sử dụng có thể trao đổi thơng tin với
nhau bằng tiếng nói. Chương trình này đã được hiện thực rất nhiều trong các
lĩnh vực thơng tin như điện thoại, viễn thơng, máy tính . . . Tuy nhiên nó chưa
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
Trang 2
được áp dụng và phát triển rọng rãi như trên các lĩnh vực thơng tin khác do sự
hạn chế của thiết bị. Ngày nay, khi cơng nghệ thơng tin đã phát triển thì việc
hiện thực chương trình này là hồn tồn có thể. Ứng dụng trong nhiều lĩnh vực
khác nhau như :


 •Việc dạy học từ xa.
 •Việc chẩn đốn, chữa bệnh từ xa.
 •Hội thảo, thảo luận theo nhóm.
 •Cơng cụ trao đổi thơng tin bằng hình ảnh và âm thanh.
Mục tiêu của đồ án tốt nghiệp là tìm hiểu các mơ hình và cơng nghệ truyền
âm thanh trên mạng máy tính, trên cơ sở đó xây dựng ứng dụng truyền thơng
âm thanh thoại trên mạng cục bộ. Đồ án sẽ xây dựng thử nghiệm một hệ thống
cho phép trao đổi thơng tin bằng tiếng nói thoại, tương tác điểm – điểm trên
mạng LAN. Đồ án được trình bày gồm 5 chương với bố cục như sau :
Chương I : Tìm hiểu các mơ hình điện thoại qua mạng, Từ đó đưa ra mơ hình
sẽ thực thi trong đồ án này.
Chương II: Giới thiệu chung về các giao thức truyền thơng trên mạng Internet
và vào khảo sát cụ thể các giao thức này.
Chương III : Giới thiệu các chuẩn mã hố và nén âm thanh.
Chương IV : Tìm hiều mơi trường lập trình SDK Windows và ứng dụng trên
mạng.
Chương V : Thiết kế chương trình truyền tiếng nói qua mạng LAN thơng qua sự
trợ giúp của cơng cụ SDK. Đánh giá và các kết quả thử nghiệm.
Phần kết luận : Nêu những kết quả của đề tài và hướng nghiên cứu hướng phát
triển tiếp theo.
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
Trang 3
Việc nghiên cứu lý thuyết một cách hệ thống và xây dựng chương trình
phần mềm đòi hỏi phải đầu tư nhiều thời gian. Với thời gian có hạn cho nên bài
luận văn này của em khơng tránh khỏi những thiếu sót, em rất mong được sự
chỉ dẫn thêm của thầy cơ và các bạn.
Nhân đây, em xin chân thành cám ơn đến PGS - TS Nguyễn Thị Hồng
Lan, người trực tiếp hướng dẫn em hồn thành cuốn luận văn này. Em xin chân
thành cám ơn các thầy cơ trong khoa Cơng nghệ thơng tin Trường ĐH Bách
Khoa HN, Trường ĐH Thủy Sản và tồn thể các bạn đã giúp đỡ em hồn thành

cuốn luận văn này.
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
Trang 4
CHƯƠNG I
TÌM HIỂU MƠ HÌNH ĐIỆN THOẠI QUA MẠNG
I.1 CÁC MƠ HÌNH ĐIỆN THOẠI
I.1.1 MÁY TÍNH ĐẾN MÁY TÍNH
Trong mơ hình này cả hai th bao đều sử dụng máy tính được nối vào
mạng IP như một thiết bị đầu cuối. Tiếng nói được mã hố sau đó là nén và q
trình nhận dữ liệu hồn tốn giống nhưng với quy trình ngược lại là giải nén,
giải mã bằng phần mềm. Trong mơ hình này đòi hỏi cả hai th bao cần phải có
soundcard, microphone, loa và phần mềm giống nhau.[1]
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
Trang 5

Hình I.1 : Mơ hình PC - PC
I.1.2 MÁY TÍNH ĐẾN ĐIỆN THOẠI HOẶC ĐIỆN THOẠI ĐẾN MÁY TÍNH
Trong mơ hình này, một th bao sử dụng máy tính nối mạng với mạng
còn th bao kia sử dụng điện thoại trong mạng PSTN/ISDN/GSM/TDM. Sử
dụng một gateway để chuyển tiếng nói trên mạng IP thành tiếng nói trên mạng
PSTN và trao đổi thơng tin giữa hai mạng trên. Như vậy, ở đây máy tính phải
đầy đủ các thiết bị như Soundcard, loa, microphone và phần mềm thơng qua
server của mạng IP để có thể kết nối với mạng PSTN thơng qua Geteway.
Hình I.2 : Mơ hình Máy tính – Điện thoại
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
Máy tính Máy tính

IP
Máy tính i n Đ ệ
tho iạ

I
P
Gateway
PSTN
Trang 6
I.1.3 ĐIỆN THOẠI ĐẾN ĐIỆN THOẠI
Trong mơ hình này, cả hai th bao đều sử dụng điện thoại bình thường
và mạng IP được sử dụng trong trường hợp cuộc gọi đường dài. Gateway được
sử dụng ở cả hai đầu để chuyển đổi dữ liệu giữa các mạng với nhau.[1]

Hình I.3 : Mơ hình Điện thoại – Điện thoại
I.2 U CẦU ỨNG DỤNG TRUYỀN ÂM THANH TRÊN MẠNG LAN
Trong phần này sẽ phân tích các u cầu xây dựng ứng dụng truyền âm
thanh trên mạng LAN : Từ ba mơ hình trên em nhận thấy mơ hình 2 và 3 đòi hỏi
q trình nghiên cứu và thiết bị phức tạp, đòi hỏi phải đầu tư cơng nghệ mới có
thể thực hiện được. Nên trong đồ án này chỉ có thể thức hiện theo mơ hình 1 là
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
i n tho iĐ ệ ạ
I
P
Gateway
PST
N
PST
N
Gateway
i n tho iĐ ệ ạ
Trang 7
PC – PC, nó đơn giản hơn và khơng cần đầu tư thiết bị mới, có thể tận dụng các
thiết bị có sẵn và điều quan trọng có thể thử nghiệm hồn chỉnh trong phạm vi

đồ án.
Vấn đề đặt ra là với một hệ thống mạng LAN, WAN cùng với tài ngun
sẵn có của nó xây dựng một chương trình truyền tiếng nói với thời gian thực
cho phép từ máy này sang máy khác (point to point) với một số các u cầu
thích hợp giống như việc xử lý và truyền tiếng nói trong thơng tin liên lạc (điện
thoại hữu tuyến). Chương trình sử dụng giao thức TCP/IP là một giao thức phổ
biến và tin cậy hiện nay để kết nối và truyền tiếng nói. Do sử dụng giao thức
TCP là giao thức có liên kết nên dẫn đến độ trễ rất lớn nhưng với ứng dụng
trong mạng LAN thì vẫn có thể chấp nhận được. Ngay khi tiếng nói được thu và
có thể qua một số các xử lý như mã hố tiếng nói hoặc nén trên một máy, tiếng
nói được truyền tới máy cần kết nối và qua các xử lý ngược so với lúc thu như
giải nén và giải mã để được phát ra loa. Chương trình cho phép kết nối hai máy
và tạo một mơ hình điện thoại trên máy tính như điện thoại hữu tuyến thơng
thường. Bất kỳ máy nào trong mạng cũng có thể ở chế độ chờ hay chế độ chạy
nền (background) gọi máy là P-SERVER; máy ở chế độ gọi (active) gọi là P-
CLIENT. Như vậy một máy trong mạng có thể là P-SERVER hoặc P-CLIENT.
Trên mơi trường mạng, khi chúng ta muốn nói chuyện một người trên một máy
nào đó, chúng ta sẽ tiến hành việc gọi liên kết. Việc gọi liên kết được tiến hành
bằng việc xác định địa chỉ IP của máy mà chúng ta cần liên kết. Sau đó chúng ta
sẽ chờ việc xác lập liên kết. Ở máy được gọi sẽ có thơng báo cho người sử dụng
biết rằng có một người khác muốn nói chuyện. Tùy theo người đó quyết định có
chấp nhận hay khơng. Nếu chấp nhận thì liên kết sẽ được xác lập và hai bên sẽ
có thể tiến hành trao đổi thơng tin với nhau.
Trong q trình trao đổi thơng tin, các máy sẽ truyền tiếng nói của người
sử dụng đồng thời nhận dữ liệu âm thanh của máy liên kết. Khi nói chuyện
xong, liên kết sẽ bị hủy bỏ và chương trình kết thúc. Nếu máy được gọi khơng
có người trả lời thì sau thời gian chờ vượt q giới hạn thì liên kết cũng sẽ bị
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
Trang 8
huỷ bỏ. Vì dữ liệu truyền nhận trong chương trình là dữ liệu dạng liên tục của

âm thanh cho nên có các u cầu đặt ra như sau: Bảo đảm tính mạch lạc của dữ
liệu. Tiếng nói trong q trình thơng tin phải rõ ràng, liền lạc, khơng bị ngắt
qng.
Các u cầu trên đặt ra các nhiệm vụ mà chúng ta phải giải quyết trong
việc xây dựng chương trình. Đối với dữ liệu là âm thanh, chúng ta phải xem xét
các thơng số trong q trình lấy mẫu ở đầu vào. Các thơng số đặc trưng như :
tần số lấy mẫu, số bit biểu diễn cho một điểm lấy mẫu, kênh lấy mẫu được sử
dụng 1 kênh (mono) hay hai kênh (stereo). Do đó chúng ta phải tổ chức kích
thước buffer âm thanh sao cho phù hợp với việc truyền nhận đạt tốc độ cao. Một
vấn đề khác được đặt ra với dữ liệu âm thanh là việc nhận và phát ở đầu ra,
chúng ta phải quan tâm đến việc xử lý và loại bỏ các tín hiệu nhiễu giúp cho âm
thanh được rõ ràng, trung thực. Do việc truyền nhận dữ liệu là trên mơi trường
mạng nên chúng ta phải quan tâm đến tốc độ, lưu lượng trao đổi dữ liệu, thời
gian truyền nhận để đưa ra cách giải quyết cho phù hợp. Ngồi các vấn đề chính
ở trên, một số u cầu khác đặt ra cho ứng dụng như : cơ chế tạo lập liên kết,
việc chọn lựa các dạng format dữ liệu, định các thơng số thời gian. Tất cả các
nhiệm vụ thực thi đều phải được thực hiện thơng qua giao diện dễ dàng cho
người sử dụng.[3]
Trường hợp mở rộng hệ thống cho mạng Internet cần một kết nối giữa
server mạng với tổng đài mạng PABX, u cầu này đòi hỏi phức tạp hơn và cần
có các trang thiết bị để thử nghiệm. Bởi vậy trong đồ án này em chỉ nghiên cứu
cách thức truyền tiếng nói trên mạng nội bộ.
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
Trang 9
CHƯƠNG II
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
Trang 10
KHẢO SÁT CÁC GIAO THỨC TRUYỀN THƠNG

II.1 KHÁI NIỆM CƠ BẢN GIAO THỨC TCP/IP

Trong hệ thống mạng Internet, mỗi máy có một tên và một địa chỉ IP
(Internet Protocol). Tên hay địa chỉ IP đều xác định duy nhất một máy trong hệ
thống mạng Internet. Giữa tên máy và địa chỉ IP đều có thể chuyển đổi thơng
qua các hàm. Địa chỉ IP đều được biểu diễn bằng một số 32 bits. Mỗi giao diện
mạng trong một nút nếu có hỗ trợ một ngăn xếp IP đều được gán một địa chỉ IP.
Địa chỉ IP gồm 2 phần : chỉ số mạng(netid) và chỉ số của máy chủ (hostid).
Những bits quan trọng nhất được dùng để xác định số lượng bits dùng cho netid
và hostid. Có 5 lớp địa chỉ được xác định là A,B,C,D và E. Trong đó, lớp A,B,C
chứa địa chỉ có thể gián được. Lớp D dành riêng cho kỹ thuật Multicasting và
được sử dụng trong các giao thức đặc biệt để truyền thơng điệp đến một nhóm
nút được chọn lọc. Lớp E dành riêng cho những ứng dụng trong tương lai.[5]
Hình II.1 Các lớp đại chỉ IP
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
Trang 11
Hình II.2 TCI/IP và mơ hình OSI
Netid nhận dạng cho từng mạng riêng biệt. Các kiểu lớp địa chỉ IP cho
thấy số lượng mạng và số lượng nút của mỗi lớp khác nhau. Bảng dưới cho thấy
số lượng mạng và số lượng nút có thể của mỗi lớp địa chỉ :
Lớp địa chỉ Số lượng mạng Số lượng nút
A 127 16.777.241
B 16.383 65.534
C 2.097.151 254
Mạng lớp A dùng cho mạng diện rộng. Trường netid có 7 bits nên có thể
có 127 mạng. Mạng lớp B là mạng có kích thước trung bình và thích hợp cho
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
Trang 12
các tổ chức có quy mơ lớp và vừa. Mạng lớp C dùng trong cơ quan nhỏ, trong
đó mỗi mạng chỉ có khơng hơn 254 nút.
Con số 32 bits biểu thị 4 chữ số thập phân tương ứng giá trị 4 byte tạo
thành địa chỉ IP. Những số thập phân cách nhau bởi dấu chấm (.). Một ví dụ về

tên máy và địa chỉ IP của máy :
Hostname : viethung
IP Address : 192.168.0.55
II.1.1 KHÁI NIỆM SOCKET
Socket là một đơn vị cấu trúc truyền thơng 2 chiều. Chúng có thể đọc hay
ghi lên nó. Tuy nhiên mỗi socket là một thành phần của một mối nào đó giữa
các máy trên mạng máy tính và các thao tác đọc ghi chính là các thao tác trao
đổi dữ liệu giữa các ứng dụng trên nhiều máy khác nhau. Socket là điểm kết nối
cuối cùng cho phép những ứng dụng gắn vào mạng. Khái niệm socket được
cung cấp bởi một thư viện chứa tất cả các hàm u cầu cho bất kỳ chương trình
mạng nào. Khi một ứng dụng u cầu các dịch vụ mạng, nó gọi q trình tự tập
hợp các thư viện để quản lý hoạt động mạng. Hai loại socket có sẵn stream và
datagram.[5]
Những socket stream dùng cho TCP (Transmission Control Protocol),
những socket datagram dùng UDP (User Datagram Protocol).


Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
Máy A
Máy B
Port M i n i Portố ố
TCI/IP Interface
Trang 13
Hình II.3 Các socket và port trong mối nối TCP/IP
Số hiệu cổng Mơ tả
0 Reserved
2 Management Entry
5 Remote Job Entry
7 Echo
9 Discard

11 Systat
13 Daytime
15 Netstat
17 Quoted(quote of the day)
20 FTP data
21 FTP control
23 Telnet
25 SMTP
37 Time
42 Host name server
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
Trang 14
49 Login host protocol
53 Domain name server
80 World wide web HTTP
102 ISO-TSAP
103 x.4000
104 X.4000 sending server
111 Sun RPC
139 NetBIOS session source
160-223 Reserved
Ghi chú :
Trị số của cổng trong các ứng dụng :
- Các ứng dụng chuẩn : 0 – 999
- Các ứng dụng khơng chuẩn : 1000 – 64000
II.1.2 GIAO THỨC IP
Internet protocol (IP) là một dạng giao thức truyền tin được thiết kế cho
mạng chuyển mạng gói. Vai trò của IP tương đương với vai trò của tầng mạng
trong mơ hình OSI. Giao thức IP đảm nhiệm việc chuyển những gói mạch dữ
liệu (datagram) từ địa chỉ nguồn đến địa chỉ đích. Địa chỉ IP có địa chỉ cố định

(4 byte) dùng để xác định duy nhất các trạm làm việc đang tham gia vào việc
truyền, nhận dữ liệu. Trong trường hợp mạng truyền tin chỉ có thể truyền những
gói dữ liệu có kích thức nhỏ, giao thức IP cũng đảm nhiệm chức năng chia nhỏ
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
Trang 15
các gói dữ liệu có kích thước lớn trước khi truyền và gộp chúng lại chúng sau
khi nhận được.[5]
Giao thức IP được thiết kế với chức năng chuyển 1 gói các bit, gọi là
internet datagram từ địa chỉ nguồn đến địa chỉ đích. Đây là một giao thức theo
kiểu khơng liên kết, nghĩa là khơng có giai đoạn thiết lập liên kết trước khi
truyền dữ liệu, nó cũng khơng có các cơ chế bảo đảm thơng tin tới đích an tồn,
khơng có cơ chế điều khiển luồng dữ liệu. Trên thực tế việc thơng báo về lỗi
đường truyền có thể được thực hiện nhờ một giao thức khác có tên
ICMP( Internet Control Message Protocol).
Địa chỉ IP như đã nói ở trên, là một chuỗi bit có độ dài 4 byte, được phân
chia làm 5 lớp và các bit đầu tiên được dùng làm định danh lớp địa chỉ.
II.2 GIAO THỨC TCP
Giao thức TCP là giao thức dùng cho tầng ngay trên tầng IP. Đối với mơ
hình OSI, ta có thể thấy tầng TCP có vai trò tương ứng với các tầng giao vận và
tầng phiên .
Khác với IP, TCP là giao thức có liên kết (connection oriented), nghĩa là
nhất thiết phải có giai đoạn thiết lập liên kết giữ các cặp thực thể TCP trước khi
chúng có trao đổi dữ liệu với nhau. Giao thức TCP cung cấp một khả năng
truyền dữ liệu một cách an tồn giữa các thực thể trên mạng. Nó cung cấp các
chức năng nhằm kiểm tra tính chính xác của dữ liệu khi gửi đến và gửi lại dữ
liệu khi có lỗi xảy ra.[5]
Đơn vị dữ liệu cơ bản của TCP gọi là segment. Trong segment có một
cặp tham số là số hiệu cổng của trạm nguồn và số hiệu cổng của trạm đích. Mỗi
một tiến trình ứng dụng tại một trạm sẽ truy cập các dịch vụ TCP thơng qua một
cổng. Một cổng như vậy kết hợp với một địa chỉ IP sẽ tạo thành một socket duy

Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
Trang 16
nhất trong mạng. Dịch vụ TCP được cung cấp nhờ liên kết logic giữa một cặp
socket, mỗi socket có thể tham gia liên kết với nhiều socket ở xa khác nhau.
Trước khi truyền dữ liệu chúng thiết lập liên kết và khi khơng có nhu cầu truyền
dữ liệu nữa thì liên kết sẽ được giải phòng.
Mỗi ứng dụng TCP gồm hai phần là client và server.
Lưu đồ sau minh họa các bước cần thiết để các ứng dụng client và server giao
tiếp với nhau :
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
Trang 17
Hình II.4 Tạo kết nối giữa client và server theo giao thức TCP
II.2.1 CÁCH THỨC CÀI ĐẶT ỨNG DỤNG TCP SERVER
Ứng dụng TCP server làm việc theo qui trình sau:
Gọi hàm socket để tạo một socket.
Gọi hàm bind để kết buộc socket với một port, đối với mỗi giao thức ứng
dụng chuẩn thì sẽ có một hằng số được định nghĩa sẵn trong winsock cho port
của giao thức đó.
Gọi hàm listen để chờ đến khi có một client nối vào port.
Khi có một client nối vào thì hàm listen trả điều khiển về, ứng dụng
server gọi hàm accept để xác nhận mối nối của client.
Gọi các hàm gửi hay nhận dữ liệu để trao đổi thơng tin với client, ví dụ
send, recv.
Sau khi đã hồn tất q trình trao đổi dữ liệu, ứng dụng server gọi hàm
closesocket để đóng socket đã tạo.
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
Trang 18

Hình II.5 Sơ đồ giao tiếp giữa server với client
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ

Trang 19
II.2.2 CÁCH THỨC CÀI ĐẶT ỨNG DỤNG CLIENT TCP
Ứng dụng client TCP làm việc theo qui trình sau :
- Gọi hàm socket để tạo một socket .
- Gọi hàm connect để nối vào server.
- Gọi hàm gửi hay nhận dữ liệu để trao đổi thơng tin với server, ví dụ
như hàm send, recv.
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
Trang 20
- Sau khi đã hồn tất q trình trao đổi dữ liệu, ứng dụng client gọi hàm
closesocket để đóng socket đã tạo.
Hình II.6 Sơ đồ giao tiếp của client với server
Ghi chú:
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
Trang 21
Các bước trên cơ bản là giống nhau cho các ứng dụng client và server viết
trên Windows NT và UNIX. Tuy nhiên, với ứng dụng viết trên UNIX thì khơng
cần gọi các hàm WSAStartup, WSACleanup để khởi tạo thư viện quản lý socket
và đóng bộ phận này. Lý do, với UNIX thì bộ phận quản lý socket đã được hệ
điều hành nạp sẵn.
II.3 GIAO THỨC UDP
Giao thức UDP cung cấp khả năng broadcast trên hệ thống mạng
TCP/IP . Chúng ta cũng cần cài đặt ứng dụng client và server. Ứng dụng client
có nhiệm vụ gửi thơng báo đến tất cả các instance của ứng dụng server đang
chạy trên hệ thống mạng.[5]
II.3.1 CÁCH CÀI ĐẶT ỨNG DỤNG SERVER UDP
Ứng dụng server UDP được cài đặt đơn giản hơn ứng dụng TCP. Chúng
ta cần các bước chính sau đây :
- Gọi hàm socket để tạo một socket .
- Gọi hàm bind để kết buộc socket với một port, đối với mỗi giao thức

ứng dụng chuẩn thì sẽ có một hằng số được định nghĩa sẵn trong
winsock cho port của giao thức đó.
- Gọi các hàm gửi hay nhận dữ liệu để trao đổi thơng tin với client, ví
như hàm sendto, recvfrom.
- Sau khi đã hồn tất q trình trao đổi dữ liệu, ứng dụng server gọi hàm
closesocket để đóng socket đã tạo.
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
Trang 22
II.3.2 CÁCH CÀI ĐẶT ỨNG DỤNG CLIENT UDP
Ứng dụng client UDP thực hiện các bước sau :
- Gọi hàm socket để tạo một socket.
- Gọi hàm setsockopt để làm cho socket có khả năng broadcoast .
- Gọi các hàm gửi hay nhận dữ liệu để trao đổi thơng tin với server, ví
dụ hàm sendto, recvfrom.
- Sau khi đã hồn tất q trình trao đổi dữ liệu, ứng dụng client gọi hàm
closesocket để đóng socket đã tạo.
Ghi chú:
Ngồi các bước trên, các ứng dụng viết trên Windows NT (kể cả client và
server) phải gọi hàm WSAStartup để khởi tạo thư viện liên kết động Windows
Socket DLL và hàm WSACleanup để đóng thư viện này. Tuy nhiên, đối với
ứng dụng viết trên UNIX thì bộ phận quản lý socket đã được hệ điều hành nạp
sẵn và do đó khơng cần gọi các hàm như WSAStartup, WSACleanup của
Windows NT.
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
Trang 23
CHƯƠNG III
PHƯƠNG PHÁP MÃ HỐ VÀ NÉN ÂM THANH
III.1 CÁC PHƯƠNG PHÁP MÃ HỐ
III.1.1 GIỚI THIỆU CHUNG
Trong hệ thống xử lý âm thanh, âm thanh được mã hố PCM. Các mã hố

này cho phép khơi phục một cách tương đối trung thực tín hiệu âm thanh trong
dải tần nghe được. Tuy nhiên trong một ứng dụng đặc biệt như truyền dữ liệu
âm thanh trên mạng, âm thanh được truyền với tốc độ thấp hơn nhiều. Từ đó
xuất hiện một số kỹ thuật mã hố và nén tín hiệu âm thanh như ADPCM, LPC,
GSM….
Các loại phần mềm và phần cứng thực hiện mã hố và nén âm thanh sang
các loại dữ liệu số thường được gọi là codec(Coder-Decoder). Có thể phân loại
các phương pháp mã hố âm thanh thành 3 loại :
Mã hố dạng sóng(waveform codec) : Giữ ngun hình dạng ngun thuỷ
của sóng âm. Phương pháp mã hố này đòi hỏi tốc độ dữ liệu rất cao nhưng lại
cho chất lượng âm thanh rất tốt. Ưu điểm của bộ mã hố này là độ phức tạp, giá
thành thiết kế, độ trễ và cơng suất tiêu thụ thấp. Bộ mã hố sóng đơn giản nhất
là điều biên xung mã (PCM)…Tuy nhiên nhược điểm của bộ mã hố là khơng
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
Trang 24
tạo được âm thanh chất lượng cao tại tốc độ dưới 16 kbps, bộ mã nguồn khắc
phục được nhược điểm này.[4]
Mã hố nguồn (Source codec) : Cho phép đạt được tốc độ truyền dữ liệu
thấp, có thể thực hiện tại tốc độ bit > 2kbps, nhưng chất lượng âm thanh khơng
cao.
Mã hố hỗn hợp (hybrid codec) : Sử dụng cả hai phương pháp trên để tạo
ra tín hiệu âm thanh có chất lượng tốt ở tốc độ dữ liệu trung bình.

Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
R t t tấ ố
T tố
Trung
bình
Ch t l ng ti ng ấ ượ ế
nói

Mã hố
h n h pỗ ợ
Mã hố d ng sóngạ
Mã hố d đốn ự
tuy n tính LPCế
T c đố ộ 2 4 8 16 32 64
Trang 25
Hình III.1 Biểu đồ so sánh các phương pháp mã hố
Mã hố dạng sóng
Đòi hỏi tốc độ bit rất cao nhưng tạo ra chất lượng âm thanh hồn hảo và
thời gian xử lý rất ít, bởi vì phương pháp này chỉ đơn giản lấy mẫu tín hiệu ở tốc
độ nào đó và lượng tử hố từng mẫu dùng lượng tử hố tuyến tính. Cách tiếp
cận này gọi là điều biến xung mã(PCM). Am thanh mã hố theo phương pháp
PCM, lấy mẫu tốc độ 8KHz, lượng tử 8bit/mẫu, cho tốc độ bit ra là 64 kbps.
Phương pháp điều biên xung mã vi phân (DPCM) dự đốn giá trị hiện tại
dựa vào các giá trị trước của các mẫu q khứ, chỉ lưu trữ giá trị sai số lượng tử.
Giá trị sai số này sẽ nhỏ hơn giá trị thực của mẫu, do đó cho phép lưu trữ giảm
đi một phần.
Một cải tiến của DPCM là điều biến xung mã vi phân thích
nghi(ADPCM). Bộ tiến đốn và lượng tử hố trong phương pháp này có khả
năng thích nghi với tín hiệu cần mã hố. ADPCM hoạt động tốc độ 32 kbps cho
chất lượng tương đối với PCM 64 kbps.
Mã hố dự đốn tuyến tính LPC
Một vấn đề đáng quan tâm là phương pháp mã hố dạng sóng là khi lấy
mẫu tín hiệu tương đương sẽ cho ra dòng dữ liệu khá lớn. Các phương pháp mã
hố nguồn đi theo một cách tiếp cận khác, người ta phải qua tâm đến việc âm
thanh được tạo ra như thế nào, nếu có thể mơ hình hố cách tạo ra âm thanh thì
khơng phải truyền đi các mẫu của tín hiệu âm thanh mà chỉ cần gửi đi cách thức
tạo ra âm đó trên đến bộ mã. Như vậy theo phương pháp này thay vì mã hố và
truyền trực tiếp âm thanh thì người ta chỉ mã hố các tham số tạo ra âm thanh

tại nơi nhận, từ các tham số này bộ tổng hợp tiếng nói sẽ tổng hợp nên tiếng nói
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ

×