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ư : email, 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.
Đinh Quang Khải 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 1 Đinh Quang Khải 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. •Việc chẩn đoá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ã hoá và nén âm thanh. 2 Đinh Quang Khải 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. 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. 3 Đinh Quang Khải 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 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 4 Máy tính Máy tính IP Đinh Quang Khải 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 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] 5 Máy tính Điện thoại I P Gateway PSTN Điện thoại I P Gateway PST N PST N Gateway Điện thoại Đinh Quang Khải Hình I.3 : Mô hình Điện thoại – Điện thoại I.2 YÊ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 yê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 quá 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à 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 hoà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 nguyên 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 yê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ã hoá tiếng nói hoặc nén trên một máy, tiếng 6 Đinh Quang Khải 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 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. 7 Đinh Quang Khải 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 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 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. Ngoài các vấn đề chính ở trên, một số yê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, yê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ộ. 8 Đinh Quang Khải CHƯƠNG II KHẢO SÁT CÁC GIAO THỨC TRUYỀN THÔNG 9 Đinh Quang Khải 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] 10 [...]... 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ã 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 : 23 Đinh Quang... tốc độ truyền của mạng cao nên có thể không cần phải nén tiếng nói trước khi truyền Ngược lại, đối với mạng Internet, hệ thống được kết nối với Internet thông qua các modem chuẩn có tốc độ thấp 14,4 Kbits/s hoặc 28,8Kbits/s thì nhất thiết phải nén tiếng nói trước khi truyền và giải nén trước khi phát Hai phương pháp nén âm thanh thường được dùng nhất để giảm băng thông là GSM và ADPCM.[2] 32 Đinh Quang... 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ẽ... 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 qua bộ lọc thì dãy tín hiệu này sẽ được dùng để kích thích bộ lọc Dạng của bộ nén GMS 06.10 dùng để nén tín hiệu âm thanh bao gồm 2 bộ lọc và một giá trị 27 Đinh Quang Khải kích thước ban đầu Bộ lọc ngắn hạn dự đoán tuyến tính được đặt tại tầng đầu tiên của quá trình nén và tại... 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 định ( 8bits/mẫu, 8 khz, kênh mono) sẽ yêu cầu đường truyền có tốc độ 8000 mẫu/giây * 8 bits/ mẫu = 64 Kbits/giây để truyền dữ liệu qua mạng Do đó, tùy... server Sun RPC NetBIOS session source 13 Đinh Quang Khải 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... vấn đề đáng quan tâm là phương pháp mã hoá 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ã hoá 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 hoá 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ư... 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... đường truyền thực tế trên mỗi mạng mà chọn giải pháp nén hay không nén dữ liệu trước khi truyền dữ liệu âm thanh qua mạng, cũng như chọn tỉ lệ nén là bao nhiêu cho phù hợp (chọn giải thuật nén) Vì nếu dữ liệu được nén thì phải giải nén khi được truyền đến máy nhận, do đó cũng tốn thời gian để nén và giải nén dữ liệu, điều này dẫn đến ảnh hưởng thời gian thực của hệ thống Đối với các mạng cục bộ, thường... 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 15 Đinh Quang Khải 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 : 16 Đinh Quang . 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. Quang Khải Hình I.3 : Mô hình Điện thoại – Điện thoại I.2 YÊ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 yêu cầu xây dựng ứng dụng truyền âm thanh trên mạng LAN. 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