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 - Pdf 33

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 nguyên 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 toá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
đượ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à hoàn toà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.
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
 •Việc chẩn đoán, chữa bệnh từ xa.

Trong mô hình này cả hai thuê 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ã hoá sau đó là nén và quá
trình nhận dữ liệu hoàn toá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 thuê bao cần phải có
soundcard, microphone, loa và phần mềm giống nhau.[1]

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 thuê bao sử dụng máy tính nối mạng với mạng
còn thuê 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.
Đề 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
Hình I.2 : Mô hình Máy tính – Điện thoại
I.1.3 ĐIỆN THOẠI ĐẾN ĐIỆN THOẠI
Trong mô hình này, cả hai thuê 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]


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 quá 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 quá giới hạn thì liên kết cũng sẽ bị
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 yê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 quá trình thông tin phải rõ ràng, liền lạc, không bị ngắt
quãng.
Các yê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
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
các thông số trong quá 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

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
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
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
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 yêu cầu cho bất kỳ chương trình
mạng nào. Khi một ứng dụng yêu cầu các dịch vụ mạng, nó gọi quá 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). Hình II.3 Các socket và port trong mối nối TCP/IP

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ỏ
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 toà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
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
đườ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

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ộ

Hình II.5 Sơ đồ giao tiếp giữa server với client
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 .
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
- 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.
- Sau khi đã hoàn tất quá 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ộ
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 .

â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ã hoá 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ã hoá 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ã hoá âm thanh thành 3 loại :
Mã hoá dạng sóng(waveform codec) : Giữ nguyên hình dạng nguyên thuỷ
của sóng âm. Phương pháp mã hoá 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ã hoá 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ã hoá 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ã hoá là không
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ã hoá 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ã hoá 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ã hoá
hỗn hợp
Mã hoá dạng sóng
Mã hoá dự đoán
tuyến tính LPC

thực .
Mã hoá hỗn hợp
Để giải quyết vấn đề của phương pháp mã hoá dạng sóng và của phương
pháp mã hoá dự đoán, một nhóm các phương pháp mã hoá sử dụng phương
pháp AbS (Analysis by Synthesis) để tạo ra mô hình máy phát âm phức tạp hơn.
Trong khi Vocoder sử dụng bộ lọc tuyến tính kích thích bởi chuỗi xung tuần
hào hay chuồi nhiễu trắng để tạo ra âm hữu thanh hay vô thanh, AbS sử dụng
một dãy các trạng thái được lưu trữ trong codebook. Khi xem xét một khung âm
thanh, AbS kiểm tra khung đó với rất nhiều tín hiệu kích thước rồi sẽ chọn tín
hiệu nào đưa ra kết quả gần đúng nhất với âm thanh ban đầu. Bộ giải mã chỉ cần
biết chỉ số của xung kích thước đó, sau đó tra codebook rồi tái tạo lại âm thanh.
Một số các tham số khác nhau như năng lượng của sự kích thích và giá trị chu
kỳ cũng cần đến khi giải mã. Các phương pháp mã đi theo cách này đòi hỏi quá
trình tính toán phức tạp, có thể tất cả các mục trong từ điển đều phải thử để đưa
ra giá trị tốt nhất.
Hệ thống thông tin toàn cầu GMS : GSM là mộ chuẩn điện thoại được
Viện Tiêu Chuẩn Viễn Thông Châu Au ETSI để ra. Đầu vào của bộ nén GMS
06.10 bao gồm các khung 160 mẫu các tín giệu PCM tuyến tính lấy mẫu tại tần
số 8 kHz. Chu kỳ mỗi khung là 20 ms, đây là khoảng thời gian rất ngắn và trong
khoảng thời gian này cho phép được coi tín hiệu âm thanh ổn định. Độ trễ
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
truyền dẫn thông tin được tính bằng tổng thời gian xử lý và kích thước khung
của thuật toán.
Bộ mã hoá thực hiện việc nén một khung tín hiệu đầu vào 160 mẫu (20
ms) vào một khung 260 bit. Như vậy một giây nó sẽ thực hiện nén được 13.13
3
bit ( tương đương với 1625 byte). Do vậy để nén một megabyte tín hiệu chỉ cần
một thời gian chưa đầy 10 phút.[4]
Trung tâm của quá trình xử lý tín hiệu là bộ lọc. Đầu ra của bộ lọc phụ
thuộc rất nhiều vào giá trị đầu vào đơn của nó. Khi có một dãy các giá trị đưa

hiện một cách hoàn toàn chính xác, chúng ta tập trung vào việc xác định các lỗi
lượng tử xuất hiện trong bước b.
Cho bước lượng tử (kí hiêu :

). Nếu số lượng các mức lượng tử rất lớn,
người ta giả sử rằng sai số lượng tử có phân bố đồng nhất như sau :∆
=
1
)(Ep
, -
22

<≤

E
(1)
Điều này sẽ không đúng nếu tín hiệu là bão hoà bộ lượng tư. Ví du như
biểu diễn hình 1, đầu ra của bộ lượng tử có thể bão hoà tại 5 với tần số đầu và
vượt qua số lượng và mỗi lượng tử trong trường hợp này sẽ là một hàm tăng
tuyến tính.[4]
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ
Hình III.2 a.Đặc tuyến lượng tử hoá; b.Đặc tuyết sai số lượng tử; c.VD
lượng tử đều
Nếu như ta cho rằng bộ lượng tử không bị bão hoà. Theo công thức (1)
thì giá trị bình phương trung bình của sai số lượng tử là :



các bước lượng tử (số các mức đầu ra).

B
rms
X 2/8
=∆
(4)
Từ (3) và (4) ta có :

2,76log10)(
10
−==
BSNRdBSNR
(5)
Công thức trên miêu tả rất tốt về PCM với các điều kiện sau :
1.Hệ thống hoạt động với kênh sạch(không nhiễu), chỉ giới hạn về sai số
lượng tử( và không gây ra lỗi các từ mã khi kênh có nhiễu).
2.Tín hiệu đầu vào đủ phức tạp để loại trừ cấu trúc thời gian hiển nhiên
trong dạng tín hiệu lỗi, như vậy biểu diễn tĩnh của lỗi trong 1 được thể hiện đầy
đủ.
3.Lượng tử hoá đủ mịn(B>6) để ngăn chặn những thành phẩm liên quan
đến tín hiệu trong dạng tín hiệu lỗi, sai số có thể được đo trong biểu thức công
suất nhiễu hay là biến sai số 2.
4.Bộ lượng tử được sắp với thanh biên độ từ (-4Xrms;+4Xrms)
như vậy trong lượng tử đều, cứ thêm 1 bit thì được lợi 6 dB và để có chất
lượng thích hợp thì B >11 do đó thông lượng tương đối lớn.
III.2 CÁC PHƯƠNG PHÁP NÉN TIẾNG NÓI
III.2.1 GIỚI THIỆU CHUNG
Y tưởng nén tiếng nói là để giảm kích thước nhằm giúp ít tốn băng thông
truyền qua mạng. Dòng dữ liệu tiếng nói được giải nén ở tốc độ lấy mẫu mặc

nén 1 Mb có thể lưu tiếng nói gần 10 phút.[2]
Một dòng dữ liệu tiếng nói giải nén 16 bits/mẫu ở 8Khz yêu cầu băng
thông tốc độ 128 Kbits/s, trong khi đó băng thông để truyền qua mạng nếu dùng
giải thuật nén GSM , tiếng nói 16 bits/mẫu chỉ cần:
( 264 bits * 8.000 mẫu/giây)/160 mẫu = 13,2 Kbits/giây
Cho tỉ lệ nén 128/13,2 = 9,7 tương đương 10 :1.
Đề tài : Xây dựng ứng dụng truyền thông âm thanh trên mạng cục bộ


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status